/* Dibia Studio 7.1.1 responsive and optional backgrounds. */
main .db-bg-section,footer.footer.db-bg-section{position:relative;isolation:isolate;overflow:hidden}
main .db-bg-section.db-bg-visible{min-height:var(--db-min-height,360px)}
main .db-bg-section > :not(.db-bg-media),footer.footer.db-bg-section > :not(.db-bg-media){position:relative;z-index:1}
main .db-bg-media,footer.footer .db-bg-media{position:absolute;inset:0;z-index:0;pointer-events:none;overflow:hidden}
.db-bg-media[hidden]{display:none!important}
main .db-bg-photo,main .db-bg-video,footer.footer .db-bg-photo,footer.footer .db-bg-video{display:block;position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:var(--db-bg-pos,50% 50%);max-width:none;max-height:none;min-height:0;mask-image:none!important;-webkit-mask-image:none!important;border:0;border-radius:0;opacity:1}
.db-bg-video{opacity:0!important;transition:opacity .45s ease}
.db-bg-playing .db-bg-video{opacity:1!important}
.db-bg-overlay{position:absolute;inset:0;background:var(--db-overlay,transparent)}
/* V7.2.3: the pinned image is the SAME photo element as the non-pinned one.
   JS aligns it to the viewport on scroll. Ancestor overflow clips it to the section.
   Do not use background-attachment: fixed: it can anchor the wrong coordinate
   system, lose the overlay, or render blank inside transformed containers. */
main .db-bg-fixed,footer.footer.db-bg-fixed{background-attachment:scroll!important;background-image:none!important}
main .db-bg-fixed .db-bg-photo,footer.footer.db-bg-fixed .db-bg-photo{visibility:visible!important;object-fit:cover;will-change:transform}
.db-bg-photo[hidden]{display:none!important}
main .db-bg-text-light,footer.footer.db-bg-text-light{color:white}
main .db-bg-text-light :is(h1,h2,h3,h4,p,.lede,.eyebrow,.section-head p,.widget-item,li,strong),footer.footer.db-bg-text-light :is(p,h1,h2,h3,h4,small,strong){color:white}
main .db-bg-text-dark,footer.footer.db-bg-text-dark{color:#102b43}
main .db-bg-text-dark :is(h1,h2,h3,h4,p,.lede,.eyebrow,.section-head p,.widget-item,li,strong),footer.footer.db-bg-text-dark :is(p,h1,h2,h3,h4,small,strong){color:#102b43}
main .db-bg-section.db-bg-visible.widget-section{display:flex;align-items:center}
main .db-bg-section.widget-section > .container{width:min(1200px,calc(100% - 40px))}
main .db-bg-section.db-bg-visible .widget-stack{padding-top:clamp(45px,7vw,95px);padding-bottom:clamp(45px,7vw,95px)}
.db-hide-section-photo{display:none!important}
footer.footer.db-bg-section{background-color:var(--footer-bg,#123a70)}
footer.footer.db-bg-visible{min-height:var(--db-min-height,280px)}
footer.footer.db-bg-section .db-bg-media{width:100%;height:100%}
@media(max-width:1024px){main .db-bg-fixed,footer.footer.db-bg-fixed{background-attachment:scroll!important;background-image:none!important}}
@media(prefers-reduced-motion:reduce){.db-bg-video{display:none!important}}
/* Admin controls */
.db-bg-editor{margin:14px 0 18px;padding:16px;border:1px solid #bfd8ea;border-radius:12px;background:#f5fafd;color:#223f51}
.db-bg-editor summary{cursor:pointer;font-weight:800;color:#165678}
.db-bg-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:16px}
.db-bg-field{display:flex!important;flex-direction:column;gap:5px;font-size:.88rem;font-weight:650;margin:0!important}
.db-bg-checkbox{flex-direction:row-reverse!important;justify-content:flex-end;align-items:center;gap:9px}
.db-bg-checkbox span{flex:1}
.db-bg-field input:not([type=checkbox]),.db-bg-field select{min-width:0;width:100%;box-sizing:border-box}
.db-bg-span{grid-column:1/-1}
.db-bg-visibility{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px;border:1px solid #d7e6ee;border-radius:8px;padding:10px;margin:0}
.db-bg-visibility .db-bg-field{display:flex!important;flex-direction:row;align-items:center;gap:7px}
.db-bg-visibility input{width:auto;accent-color:#15698a}
.db-bg-visibility legend,.db-bg-style legend{font-weight:750}
.db-bg-files>p{font-size:.78rem;color:#516675}
.db-bg-upload-slot{border:1px solid #d9e7ef;padding:12px;border-radius:8px;margin:9px 0;background:white}
.db-bg-image-preview{min-height:38px;margin:8px 0;color:#52677a;font-size:.78rem}
.db-bg-image-preview img{height:92px;width:180px;max-width:100%;object-fit:contain;background:transparent!important;mask-image:none!important;box-shadow:none}
.db-bg-upload-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding-top:8px}
.db-bg-file{display:inline-flex!important;flex-direction:row!important;align-items:center;justify-content:center;font-size:.8rem!important;cursor:pointer;background:#195578;color:white;padding:8px 12px;border-radius:6px}
.db-bg-file input{position:absolute;inline-size:1px;block-size:1px;opacity:0}
.db-bg-style{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;border:1px solid #d7e6ee;border-radius:8px;padding:12px}
.db-bg-video-controls p{font-size:.78rem;color:#4a6074}
.db-bg-actions{display:flex;gap:9px;flex-wrap:wrap;margin-top:12px}
.db-bg-status{min-height:22px;line-height:1.4;font-size:.82rem;margin:10px 0}
.db-bg-status[data-state=error]{color:#a52331;font-weight:750}
.db-bg-status[data-state=success]{color:#126446;font-weight:750}
.db-media-feedback{position:fixed;z-index:9999;right:18px;bottom:20px;max-width:min(460px,90vw);padding:12px 16px;border:1px solid #b9d8cd;background:#edfff3;box-shadow:0 4px 22px #0016;border-radius:9px;color:#174b3d;font-size:.89rem}
.db-media-feedback[data-state=error]{border-color:#f1c5cd;background:#fff4f5;color:#a52331}
#db-footer-background{margin-top:18px;padding-top:12px;border-top:1px solid #d8e5ed}
#db-footer-background>p{font-size:.82rem;color:#506678}
/* Uploaded transparent assets retain transparent backgrounds, without fake tinting, masks or drop shadows. */
.asset-preview:has(img),.asset-preview img,.brand-logo-img,.widget-image,.service-tile img,.hero-visual:has(img),.hero-visual:has(img)::before,.hero-visual:has(img)::after{mask-image:none!important;-webkit-mask-image:none!important}
.asset-preview:has(img){background:transparent!important;border-color:transparent!important;box-shadow:none!important}
.hero-visual:has(img[src^="data:image/"]){background:transparent!important;border-color:transparent!important}
.hero-visual:has(img[src^="data:image/"])::before,.hero-visual:has(img[src^="data:image/"])::after{display:none!important}
@media(max-width:720px){.db-bg-fields,.db-bg-style{grid-template-columns:1fr}.db-bg-visibility{grid-template-columns:repeat(2,minmax(0,1fr))}}
.doctor-tile-photo:has(img[src^="data:image/"]),.service-tile-photo:has(img[src^="data:image/"]),.doctor-profile-layout:has(img[src^="data:image/"]) .doctor-profile-photo{background:transparent!important;box-shadow:none!important}
