/* plg_system_dpfinal 1.0.0 – CSS ONLY for NEW elements added by dpfinal (prefixes .dp-ft = footer v2 SPEC-v2, .dpf- = P07/P12/P13/P16). Overrides no earlier dp* rule. */
.dp-ft{--ft-bg:#FAF8F3;--ft-line:#836338;--ft-sep:#E4D8C3;--ft-tx:#263B35;--ft-tx2:#4F625C;--ft-link:#2A4A3D;--ft-gold:#836338;
 background:var(--ft-bg);border-top:1px solid var(--ft-line);color:var(--ft-tx);font-family:"Noto Sans",sans-serif;font-size:16px;line-height:1.5;-webkit-font-smoothing:antialiased}
.dp-ft *{box-sizing:border-box;font-family:inherit}
.dp-ft p,.dp-ft ul{margin:0;padding:0}
.dp-ft ul{list-style:none}
.dp-ft a{color:var(--ft-link);text-decoration:underline;text-decoration-color:rgba(42,74,61,.45);text-underline-offset:3px}
.dp-ft a:hover{color:var(--ft-gold);text-decoration-color:currentColor}
.dp-ft a:focus-visible{outline:2px solid var(--ft-gold);outline-offset:3px;border-radius:4px}
.dp-ft svg{flex:none;fill:currentColor}
.dp-ft__in{width:100%;max-width:1140px;margin:0 auto;padding:0 15px}
/* rząd główny */
.dp-ft__main{display:grid;grid-template-columns:80px minmax(0,1.55fr) minmax(0,.95fr) auto;column-gap:40px;align-items:start;padding:36px 0 26px}
.dp-ft__brand{display:flex;flex-direction:column;gap:16px}
.dp-ft__logo{display:block;width:80px;height:80px;line-height:0}
.dp-ft__logo img{width:80px;height:80px;display:block}
.dp-ft__blk{display:flex;gap:12px;align-items:flex-start}
.dp-ft__ic{width:20px;height:20px;margin-top:2px;color:var(--ft-gold)}
.dp-ft__addr{font-style:normal;font-size:16px;font-weight:500}
.dp-ft__addr a{color:var(--ft-tx)}
.dp-ft__near{margin-top:2px;font-size:14px;color:var(--ft-tx2)}
.dp-ft__links{display:flex;flex-wrap:wrap;gap:0 18px;margin-top:4px;font-size:15px}
.dp-ft__links a{display:inline-flex;align-items:center;min-height:32px}
.dp-ft__tel{font-size:18px;font-weight:700;letter-spacing:.01em;text-decoration:none!important;color:var(--ft-tx)!important;display:inline-flex;align-items:center;min-height:32px;margin-top:-5px}
.dp-ft__tel:hover{color:var(--ft-gold)!important}
.dp-ft__row{display:flex;gap:8px;align-items:center;font-size:15px;color:var(--ft-tx2);min-height:28px}
.dp-ft__row svg{width:16px;height:16px;color:var(--ft-gold)}
.dp-ft__row a{display:inline-flex;align-items:center;min-height:28px}
.dp-ft__svc a{display:inline-flex;align-items:center;min-height:30px;font-size:15px;font-weight:600;text-decoration:none;color:var(--ft-link)}
.dp-ft__svc a:hover{text-decoration:underline}
.dp-ft__svc li{line-height:1.3}
.dp-ft__soc{display:flex;gap:8px}
.dp-ft__soc a{width:36px;height:36px;border-radius:50%;border:1px solid var(--ft-line);display:inline-flex;align-items:center;justify-content:center;color:var(--ft-link);text-decoration:none;background:#FFFFFF}
.dp-ft__soc a:hover{background:var(--ft-link);color:#FFFFFF}
.dp-ft__soc svg{width:20px;height:20px}
/* rząd dolny */
.dp-ft__bot{display:flex;justify-content:space-between;align-items:center;gap:4px 32px;flex-wrap:wrap;border-top:1px solid var(--ft-sep);padding:10px 0 14px}
.dp-ft__nav{display:flex;flex-wrap:wrap;gap:0 26px}
.dp-ft__nav a{display:inline-flex;align-items:center;min-height:36px;font-size:15px;font-weight:600;text-decoration:none;color:var(--ft-link)}
.dp-ft__nav a:hover{text-decoration:underline}
.dp-ft__legal{display:flex;gap:0 16px;flex-wrap:wrap;align-items:center;font-size:13px;color:var(--ft-tx2)}
.dp-ft__legal a{color:var(--ft-tx2);display:inline-flex;align-items:center;min-height:28px}
.dp-ft__legal span+span::before{content:"·";margin-right:16px;color:var(--ft-tx2)}
/* breakpointy */
@media (min-width:1400px){.dp-ft__in{max-width:1320px}.dp-ft__main{column-gap:56px}}
@media (min-width:992px) and (max-width:1199.98px){.dp-ft__in{max-width:960px}.dp-ft__main{column-gap:24px}}
@media (max-width:991.98px){
 .dp-ft__in{max-width:none;padding:0 43px}
 .dp-ft__main{grid-template-columns:1fr 1fr;row-gap:22px;column-gap:32px;padding:30px 0 22px}
 .dp-ft__brand{grid-column:1/-1;flex-direction:row;justify-content:space-between;align-items:center}
 .dp-ft__soc a{width:44px;height:44px}
 .dp-ft__main{grid-template-areas:"brand brand" "addr tel" "addr svc"}
 .dp-ft__brand{grid-area:brand}.dp-ft__blk--addr{grid-area:addr}.dp-ft__blk--tel{grid-area:tel}.dp-ft__svc{grid-area:svc;padding-left:32px!important}
}
@media (max-width:767.98px){
 .dp-ft__in{padding:0 20px 0 43px}
 .dp-ft__main{grid-template-columns:1fr;grid-template-areas:"brand" "addr" "tel" "svc";row-gap:0;padding:24px 0 12px}
 .dp-ft__logo,.dp-ft__logo img{width:60px;height:60px}
 .dp-ft__blk--addr{margin-top:22px}
 .dp-ft__blk--tel{margin-top:10px}
 .dp-ft__blk{gap:10px}
 .dp-ft__ic{width:18px;height:18px}
 .dp-ft__links{gap:0 12px;font-size:14px}
 .dp-ft__links a{min-height:34px}
 .dp-ft__svc{margin-top:14px;padding-top:8px;border-top:1px dashed var(--ft-sep);padding-left:28px!important}
 .dp-ft__legal span:last-child{flex-basis:100%}
 .dp-ft__legal span:last-child::before{display:none}
 .dp-ft__svc a{min-height:28px}
 .dp-ft__bot{display:block;padding:0 0 12px}
 .dp-ft__nav{gap:0 20px;border-bottom:1px solid var(--ft-sep);margin-bottom:6px}
 .dp-ft__legal{gap:0 12px}
 .dp-ft__legal span+span::before{margin-right:12px}
}
/* ===== P07 – blok cen Neodent w hero /poslugi/implantologia-ta-hirurgia (typografia: tylko 22/17, Noto Sans) ===== */
.dpf-ip{margin-top:24px}
.dpf-ip__card{box-sizing:border-box;max-width:460px;background:#FFFFFF;border:1px solid #836338;border-radius:16px;padding:20px 24px;color:#263B35;font-family:"Noto Sans",sans-serif;text-align:left}
.dpf-ip__card p,.dpf-ip__card li{font-size:22px;line-height:1.45;margin:0}
.dpf-ip__t{font-weight:600}
.dpf-ip__list{list-style:none;margin:10px 0 0!important;padding:0!important;border-top:1px solid #E4D8C3}
.dpf-ip__list li{padding:10px 0;border-bottom:1px solid #E4D8C3}
.dpf-ip__list strong{font-weight:600;white-space:nowrap}
.dpf-ip__old{display:block;color:#4F625C;text-decoration:line-through;text-decoration-thickness:1px}
.dpf-ip__note{margin-top:12px!important;color:#836338;font-weight:600}
.dpf-ip__more{margin-top:6px!important}
.dpf-ip__more a{color:#2A4A3D;text-decoration:underline;text-underline-offset:3px}
.dpf-ip__more a:hover{color:#836338}
.dpf-sr{position:absolute!important;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
@media (min-width:1200px){.dpf-shift30>.sppb-row-container{transform:translateX(-30px)}}
@media (max-width:767.98px){.dpf-ip__card{max-width:none;padding:16px 18px}.dpf-ip__card p,.dpf-ip__card li{font-size:17px}}
/* ===== P12 – nowa sekcja CREAM (klon struktury sekcji P11, nowe id) /poslugi/ortodontia ===== */
.sp-page-builder .page-content #section-id-dpf-orto2{padding:75px 0}
#section-id-dpf-orto2 .sppb-addon-text-block .sppb-addon-title{margin-bottom:30px}
#column-wrap-id-dpf-orto2-m{max-width:41.666667%;flex-basis:41.666667%}
#column-wrap-id-dpf-orto2-t{max-width:58.333333%;flex-basis:58.333333%}
@media (max-width:767.98px){.sp-page-builder .page-content #section-id-dpf-orto2{padding:50px 0}#column-wrap-id-dpf-orto2-m,#column-wrap-id-dpf-orto2-t{max-width:100%;flex-basis:100%}}
/* ===== P13 – sekcja formularza na dole /poslugi/elajneri-smilenow ===== */
.sp-page-builder .page-content #dpf-elaj-form{padding:60px 0}
@media (max-width:767.98px){.sp-page-builder .page-content #dpf-elaj-form{padding:40px 0}}
/* ===== P16 – interaktywna mapa Google /kontakt ===== */
.dpf-map{width:100%;line-height:0}
.dpf-map iframe{display:block;width:100%;height:450px;border:0}
@media (max-width:767.98px){.dpf-map iframe{height:360px}}
/* Q8 (1.0.1): same rule as dphomesubtitle 1.0.3+ on home – staging-only Google Reviews Pro licence error box hidden on every page */
html body .googlereviewspro-widget .grp-message.grp-type-error,html body .googlereviewspro-widget[data-dp-grp-err]{display:none!important}
/* P04 (1.0.2, owner 26.10 17:15–17:25): /nasha-klinika CTA band 22843466 – video = exact 16:9 of the width (object-fit cover in a 16:9 box crops nothing, heads visible), no dark overlay/gradient.
   SPPB padding 125/125 px rewritten to 0 by the filter. ≥768 px: text + button ON the video, lower-left, no card, Regular 400 in heading colour, subtle dark text-shadow only.
   ≤767 px: video 16:9 full width on top, heading + paragraph + button BELOW it on the section background, original mobile colours, sizes 30/17, equal padding 32 px. */
html body section#section-id-22843466-00c9-4b2c-a039-c3b611bc1552.dpf-p04>.sppb-row-overlay{display:none!important}
html body section#section-id-22843466-00c9-4b2c-a039-c3b611bc1552.dpf-p04::before,html body section#section-id-22843466-00c9-4b2c-a039-c3b611bc1552.dpf-p04::after{background:none!important}
html body section#section-id-22843466-00c9-4b2c-a039-c3b611bc1552.dpf-p04{background-image:none!important;filter:none!important}
html body section#section-id-22843466-00c9-4b2c-a039-c3b611bc1552.dpf-p04 .dpctak-video{filter:none!important;opacity:1!important;object-fit:cover!important;object-position:center center!important;width:100%!important}
html body section#section-id-22843466-00c9-4b2c-a039-c3b611bc1552.dpf-p04>.sppb-row-container{position:relative;z-index:2;width:100%}
@media (min-width:768px){
html body section#section-id-22843466-00c9-4b2c-a039-c3b611bc1552.dpf-p04{position:relative!important;overflow:hidden!important;aspect-ratio:16/9!important;height:auto!important;min-height:0!important;max-height:none!important;padding:0 0 40px!important;display:flex!important;flex-direction:column!important;justify-content:flex-end!important;background-color:transparent!important;box-sizing:border-box!important}
html body section#section-id-22843466-00c9-4b2c-a039-c3b611bc1552.dpf-p04 .dpctak-video{position:absolute!important;top:0!important;left:0!important;height:100%!important}
html body section#section-id-22843466-00c9-4b2c-a039-c3b611bc1552.dpf-p04 .sppb-column-addons{max-width:560px}
html body section#section-id-22843466-00c9-4b2c-a039-c3b611bc1552.dpf-p04 .sppb-addon-title{font-weight:400!important;color:var(--dp-gold,#836338)!important;font-size:44px!important;line-height:1.2!important;text-shadow:0 1px 2px rgba(0,0,0,.55),0 0 10px rgba(0,0,0,.3)!important}
html body section#section-id-22843466-00c9-4b2c-a039-c3b611bc1552.dpf-p04 :is(.sppb-addon-text-block,.sppb-addon-text-block p){font-weight:400!important;color:var(--dp-gold,#836338)!important;font-size:22px!important;line-height:1.5!important;text-shadow:0 1px 2px rgba(0,0,0,.55),0 0 8px rgba(0,0,0,.3)!important}
}
@media (max-width:767.98px){
html body section#section-id-22843466-00c9-4b2c-a039-c3b611bc1552.dpf-p04{position:relative!important;aspect-ratio:auto!important;height:auto!important;min-height:0!important;max-height:none!important;display:block!important;overflow:visible!important;padding:0 0 32px!important}
html body section#section-id-22843466-00c9-4b2c-a039-c3b611bc1552.dpf-p04 .dpctak-video{position:relative!important;top:auto!important;left:auto!important;display:block!important;height:auto!important;aspect-ratio:16/9!important;width:100vw!important;max-width:100vw!important;margin:0 0 32px calc(50% - 50vw)!important}
html body section#section-id-22843466-00c9-4b2c-a039-c3b611bc1552.dpf-p04 .sppb-addon-title{font-size:30px!important;line-height:1.2!important}
html body section#section-id-22843466-00c9-4b2c-a039-c3b611bc1552.dpf-p04 :is(.sppb-addon-text-block,.sppb-addon-text-block p){font-size:17px!important;line-height:1.6!important}
}
/* ===== 1.0.3/1.0.5 POPRAWKI-2 (R01–R12) – scoped ONLY to the 5 pages via body[data-dpf-r2] (set by the filter on those routes) ===== */
/* R04 (implant, orto, ditaca, komanda, endo; ≥768 px): text column centred on the media centre axis. Single source of truth on these pages:
   the vertical offsets of dpcolorscheme (--dp-al-dy / --dp-pr-dy / --dp-pr-mdy, JS-computed) are set to 0 here, rows centre both columns. Mobile untouched. */
@media (min-width:768px){
body[data-dpf-r2] .sppb-row:has(>[data-dp-al]){align-items:center!important}
body[data-dpf-r2] .sppb-row:has(>[data-dp-al])>.sppb-row-column{align-self:center!important}
body[data-dpf-r2] [data-dp-al],body[data-dpf-r2] [data-dp-pr],body[data-dpf-r2] [data-dp-prm]{--dp-al-dy:0px!important;--dp-pr-dy:0px!important;--dp-pr-mdy:0px!important}
body[data-dpf-r2] .sppb-row:has(>[data-dp-al])>.sppb-row-column>.sppb-column{height:auto!important;justify-content:center!important}
}
/* R01 implant (1.0.5): heading «Імплантація зубів і хірургічна стоматологія» = own full-width flex item of the image/price row, in the DOM between
   the image column and the text column. D: order 0 + flex-basis 100 % → ONE line above image + price card (margins keep the 1.0.3 positions:
   −16/−10 px = the nested section top padding the heading now sits below). M: same order as the image column (1) and later in the DOM
   → photo → heading → price card, as in 1.0.2. */
body[data-dpf-r2="implant"] .sppb-row>.dpf-r01{flex:0 0 100%;max-width:100%;width:100%;box-sizing:border-box}
body[data-dpf-r2="implant"] .dpf-r01 .sppb-addon-title{text-align:center!important}
@media (min-width:768px){
html:not(#dp2a):not(#dp2b):not(#dp2c):not(#dp2d):not(#dpf1) body.dp-alt116[data-dpf-r2="implant"] .sppb-row.dpf-r01-row:not(#dpa1):not(#dpa2){flex-wrap:wrap!important}
body[data-dpf-r2="implant"] .sppb-row>.dpf-r01{order:0!important;margin:-16px 0 40px;padding:0 10px}
body[data-dpf-r2="implant"] .dpf-r01 .sppb-addon-title{margin:0!important}
}
@media (min-width:768px) and (max-height:900px){body[data-dpf-r2="implant"] .sppb-row>.dpf-r01{margin:-10px 0 34px}}
@media (min-width:1200px){body[data-dpf-r2="implant"] .dpf-r01 .sppb-addon-title{white-space:nowrap}}
@media (max-width:767.98px){html:not(#dp2a):not(#dp2b):not(#dp2c):not(#dp2d):not(#dpf1) body.dp-alt116[data-dpf-r2="implant"] .sppb-row>.dpf-r01:not(#dpa1):not(#dpa2){order:1!important;padding:0 15px;margin-bottom:-48px}}
/* R03 implant: 6 lines without heading tag; name line in the doctor-name style of the team bands (600, heading colour, 44/30 px), paragraphs 400 22/17.
   Specificity raised (21 × :not(#id)) because dpcolorscheme design-v2 styles every text-block <p> with a 20-id selector; same technique, one rule per property. */
html:not(#r1):not(#r2):not(#r3):not(#r4):not(#r5):not(#r6):not(#r7):not(#r8):not(#r9):not(#r10):not(#r11):not(#r12):not(#r13):not(#r14):not(#r15):not(#r16):not(#r17):not(#r18):not(#r19):not(#r20):not(#r21) body[data-dpf-r2="implant"] .dpf-r03 .dpf-r03-name{font-weight:600!important;font-size:44px!important;line-height:1.2!important;color:var(--dp-gold,#836338)!important;margin:0 0 16px!important}
html:not(#r1):not(#r2):not(#r3):not(#r4):not(#r5):not(#r6):not(#r7):not(#r8):not(#r9):not(#r10):not(#r11):not(#r12):not(#r13):not(#r14):not(#r15):not(#r16):not(#r17):not(#r18):not(#r19):not(#r20):not(#r21) body[data-dpf-r2="implant"] .dpf-r03 .dpf-r03-name a{color:inherit!important;text-decoration:none!important;font-weight:inherit!important}
html:not(#r1):not(#r2):not(#r3):not(#r4):not(#r5):not(#r6):not(#r7):not(#r8):not(#r9):not(#r10):not(#r11):not(#r12):not(#r13):not(#r14):not(#r15):not(#r16):not(#r17):not(#r18):not(#r19):not(#r20):not(#r21) body[data-dpf-r2="implant"] .dpf-r03 .dpf-r03-name a:hover{text-decoration:underline!important}
html:not(#r1):not(#r2):not(#r3):not(#r4):not(#r5):not(#r6):not(#r7):not(#r8):not(#r9):not(#r10):not(#r11):not(#r12):not(#r13):not(#r14):not(#r15):not(#r16):not(#r17):not(#r18):not(#r19):not(#r20):not(#r21) body[data-dpf-r2="implant"] .dpf-r03 p:not(.dpf-r03-name){font-weight:400!important;font-size:22px!important;line-height:1.6!important}
@media (max-width:767.98px){html:not(#r1):not(#r2):not(#r3):not(#r4):not(#r5):not(#r6):not(#r7):not(#r8):not(#r9):not(#r10):not(#r11):not(#r12):not(#r13):not(#r14):not(#r15):not(#r16):not(#r17):not(#r18):not(#r19):not(#r20):not(#r21) body[data-dpf-r2="implant"] .dpf-r03 .dpf-r03-name{font-size:30px!important}html:not(#r1):not(#r2):not(#r3):not(#r4):not(#r5):not(#r6):not(#r7):not(#r8):not(#r9):not(#r10):not(#r11):not(#r12):not(#r13):not(#r14):not(#r15):not(#r16):not(#r17):not(#r18):not(#r19):not(#r20):not(#r21) body[data-dpf-r2="implant"] .dpf-r03 p:not(.dpf-r03-name){font-size:17px!important}}
/* R05 orto: 2nd collage now LEFT → text pulled to the same 30 px gap as the 1st collage (fixed value instead of the JS pull for this one section) */
@media (min-width:768px){body[data-dpf-r2="orto"] #section-id-dpf-orto2 [data-dp-al]{--dp-al-pull:24px!important}}
/* R06 orto «Брекети чи прозорі елайнери?» (1.0.5): exactly +20 px vs 1.0.2 on desktop only. The section has padding-top 0 and its row-container
   margin-top 40 px (dp-ela-layout) collapses out of the section (= the 40 px under the 13-year collage, 119 px in total) – 1.0.3 put padding on the
   section, which stopped the collapse (+60 here, −40 above). Now the 20 px go on the row INSIDE the row-container: the collapse stays. M = 1.0.2. */
@media (min-width:768px){body[data-dpf-r2="orto"] #section-id-4d68b0a9-039d-4ca4-ba86-968052f2f85c>.sppb-row-container>.sppb-row{padding-top:20px!important}}
/* R07 ditaca: video + text 30 px closer to the top line (section padding-top 75 → 45 px, desktop) */
@media (min-width:768px){body[data-dpf-r2="ditaca"] #section-id-2e706ac5-b74d-4bcf-b5bb-7fde2844fedd{padding-top:45px!important}}
/* R08 ditaca: 3 text+photo blocks 30 px lower (section padding-top 15 → 45 px) */
body[data-dpf-r2="ditaca"] :is(#section-id-63ea768d-a23e-4b41-83d3-96bd17450b58,#section-id-e30b4311-b8db-45b4-a329-cb8a12bd4266,#section-id-97ed5f86-f217-409a-8c34-a1e5c9716c89){padding-top:45px!important}
/* R09 komanda (≥768): text columns LEFT of the photo (with lines + «Дізнатися більше») 15 px toward the photo */
@media (min-width:768px){body[data-dpf-r2="komanda"] .dp-mt-band .sppb-row:has(>.dp-mt-mR)>.dp-mt-text{position:relative;left:15px}}
/* R10 komanda «Команда стоматологів DentisPro / Познайомтеся…» 20 px off the top line – desktop only (section padding-top 0 → 20 px);
   mobile keeps the SPPB 60 px (1.0.3 overrode it to 20 = −40 px) */
@media (min-width:768px){body[data-dpf-r2="komanda"] #section-id-20821b0b-899c-4ba9-9dcf-f3f94f899f24{padding-top:20px!important}}
/* R11 endo: Shorts in the former portrait slot – 9:16 like the other Shorts.
   1.0.5 desktop: dpyt centres every facade (.dp-yt{margin:0 auto!important;max-width:min(360px,82svh*.5625)!important}) → here the tile fills the
   media column like the neighbouring portraits (left edge = the usual gap to the text, right edge on the margin line). This tile only. M unchanged. */
body[data-dpf-r2="endo"] .dpf-yt[data-dpf="R11"]{aspect-ratio:9/16;max-width:360px;margin:0}
@media (min-width:768px){body[data-dpf-r2="endo"] .dp-mt-media .dp-yt.dpf-yt[data-dpf="R11"]{width:100%!important;max-width:none!important;margin:0!important}}
