/* Dental palette: calm blue, pale blue, near-white and slate. */
:root{
 --color-canvas:#ffffff;--color-white:#ffffff;--color-surface:#f8faff;
 --color-surface-soft:#e8f1ff;--color-surface-blue:#e8f1ff;--color-ink:#1e293b;--color-muted:#5d6c82;--color-line:#d9e3f1;
 --color-primary:#3e6ab3;--color-primary-hover:#335b9c;--color-primary-pressed:#284c85;--color-primary-dark:#284c85;
 --color-on-primary:#ffffff;--color-dark:#1e293b;--color-on-dark-muted:#c4d4ea;
 --color-mint:#e8f1ff;--color-mint-strong:#e8f1ff;--color-cream:#f8faff;
 --color-accent:#e8f1ff;--color-accent-hover:#e3eefa;--color-accent-pressed:#d1e2fa;--color-accent-ink:#1e293b;
 --color-aqua:#e8f1ff;--color-sun:#f8faff;--color-image-backdrop:#eef3fa;
 --color-success:#3e6ab3;--color-success-surface:#e8f1ff;--color-focus:#3e6ab3;--color-input-border:#7389ab;
 --color-action:#3e6ab3;--color-action-hover:#335b9c;--color-action-pressed:#284c85;--color-on-action:#ffffff;
 --shadow-card:0 6px 20px rgb(30 41 59 / .035);--shadow-modal:0 28px 88px rgb(30 41 59 / .2);--shadow-dropdown:0 14px 40px rgb(30 41 59 / .12);
 --modal-backdrop-color:rgb(30 41 59 / .4);
}


/* Flat clinic surfaces share the neutral tone of the illustrated panels.
   Keep action, foreground, status and image colors independent. */
:root{--clinic-flat-surface:#edf2f9}
html:not([data-reading-mode]) body:not(.cms-admin):not([data-rental-page]){
 --color-surface-soft:var(--clinic-flat-surface);--color-surface-blue:var(--clinic-flat-surface);
 --color-mint:var(--clinic-flat-surface);--color-mint-strong:var(--clinic-flat-surface);--color-aqua:var(--clinic-flat-surface);
 --color-accent:var(--clinic-flat-surface);--color-pale:var(--clinic-flat-surface);--color-soft:var(--clinic-flat-surface);
}

/* Calm blue controls use white text; links share the blue accent. */
.btn-primary,body .ref8-interior .data-table.price-table .price-table-action .price-appointment{background:var(--color-action);color:var(--color-on-action)}
.btn-primary:hover,body .ref8-interior .data-table.price-table .price-table-action .price-appointment:hover{background:var(--color-action-hover);color:var(--color-on-action)}
.btn-primary:active,body .ref8-interior .data-table.price-table .price-table-action .price-appointment:active{background:var(--color-action-pressed);color:var(--color-on-action)}
.ref8-hero-photo-tags .ref8-tag-blue,.ref8-pill-blue{background:var(--color-action);color:var(--color-on-action)}
.ref8-service-row[open] .ref8-service-arrow{background:var(--color-action);border-color:var(--color-action);color:var(--color-on-action)}

/* Surface colors that were painted directly by the reference composition. */
.ref8-hero-shop{background-color:var(--color-surface-soft)}
.ref8-pattern::before{border-color:var(--color-mint-strong)}
.ref8-nav-panel{box-shadow:0 16px 30px rgb(30 41 59 / .07)}
.ref8-nav-all:hover,.ref8-nav-all:focus-visible{background:var(--color-mint-strong)}
.ref8-map{background:var(--color-image-backdrop)}
:is(.ref8-doctor-details,.doctor-card-body){background:var(--color-mint-strong)}
.ref8-contact-line>span,.ref8-footer-top>p,.ref8-footer-grid nav>a,.ref8-footer-services>div>a,.ref8-footer-contacts small,.ref8-footer-contacts>div>span,.ref8-footer-legal,.ref8-footer-legal a{color:var(--color-on-dark-muted)}
.ref8-offer-copy>p.ref8-offer-note{color:var(--color-on-dark-muted)}
body .ref8-service-row[open],body .ref8-interior .ref8-service-row.service-card[open]{background:var(--color-surface-soft)}
.ref8-service-arrow{border-color:var(--color-input-border);color:var(--color-muted)}
.interior-about a.about-fact:hover{background:var(--color-mint-strong)}

/* Search, selectors and navigation share the same blue focus treatment. */
body .radent-search-control:focus-within{box-shadow:0 0 0 3px rgb(62 106 179 / .2)}
body .rd-select-wrapper>.rd-select-trigger:hover{border-color:var(--color-input-border)}
body .rd-select-wrapper>.rd-select-trigger:focus-visible{outline-color:rgb(62 106 179 / .3)}
.rd-select-menu{box-shadow:var(--shadow-dropdown);scrollbar-color:var(--color-mint-strong) transparent}
::selection{background:var(--color-mint-strong);color:var(--color-ink)}

@media(max-width:1199px){
 body .ref8-header #site-nav{box-shadow:0 0 0 12px var(--color-surface-soft)}
 .ref8-header .ref8-mobile-phone,.ref8-header .ref8-header-book{background:var(--color-action);color:var(--color-on-action)}
}
@media(max-width:767px){
 .ref8-offer-copy>p{color:var(--color-on-dark-muted)}
}
/* Give page introductions the same breathing room below breadcrumbs. */
body main .breadcrumb,
body .ref8-interior .breadcrumb,
body .ref8-interior .service-heading .breadcrumb,
body .procedure-hero .breadcrumb{margin-bottom:var(--space-16,64px)}
@media(max-width:767px){
 body main .breadcrumb,
 body .ref8-interior .breadcrumb,
 body .ref8-interior .service-heading .breadcrumb,
 body .procedure-hero .breadcrumb{margin-bottom:var(--space-10,40px)}
}
/* The appointment title already names the action. */
#appointment-dialog .dialog-head .eyebrow{display:none}

/* Consent controls share the site's rounded blue treatment and keep native form behavior. */
body .check-label,
body .catalog-dialog .catalog-checkout-consent{cursor:pointer}
body .check-label input[type="checkbox"],
body .catalog-dialog .catalog-checkout-consent > input[type="checkbox"]{
 appearance:none;-webkit-appearance:none;
 display:block;flex:none;width:1.5rem;height:1.5rem;min-height:1.5rem;
 margin:.0625rem 0 0;padding:0;
 border:1.5px solid var(--color-input-border);border-radius:.375rem;
 background-color:var(--color-white);
 background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='m5 12 4 4 10-10' fill='none' stroke='white' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
 background-repeat:no-repeat;background-position:center;background-size:0 0;
 box-shadow:0 1px 2px rgb(30 41 59 / .04);cursor:pointer;
 transition:background-color var(--motion-base) var(--ease),border-color var(--motion-base) var(--ease),background-size var(--motion-base) var(--ease),box-shadow var(--motion-base) var(--ease);
}
body .check-label input[type="checkbox"]:checked,
body .catalog-dialog .catalog-checkout-consent > input[type="checkbox"]:checked{
 background-color:var(--color-primary);border-color:var(--color-primary);background-size:1rem 1rem;
}
@media(hover:hover){
 body .check-label:hover input[type="checkbox"]:not(:disabled,[aria-invalid="true"]),
 body .catalog-dialog .catalog-checkout-consent:hover > input[type="checkbox"]:not(:disabled,[aria-invalid="true"]){border-color:var(--color-primary);box-shadow:0 0 0 3px rgb(62 106 179 / .1)}
}
body .check-label input[type="checkbox"]:focus-visible,
body .catalog-dialog .catalog-checkout-consent > input[type="checkbox"]:focus-visible{outline:2px solid var(--color-focus);outline-offset:3px}
body .check-label input[type="checkbox"][aria-invalid="true"],
body .catalog-dialog .catalog-checkout-consent > input[type="checkbox"][aria-invalid="true"]{border-color:var(--color-error)}
body .check-label input[type="checkbox"]:disabled,
body .catalog-dialog .catalog-checkout-consent > input[type="checkbox"]:disabled{opacity:.5;cursor:not-allowed;box-shadow:none}
@media(prefers-reduced-motion:reduce){
 body .check-label input[type="checkbox"],
 body .catalog-dialog .catalog-checkout-consent > input[type="checkbox"]{transition:none}
}
@media(forced-colors:active){
 body .check-label input[type="checkbox"]:is(:checked,:not(:checked)),
 body .catalog-dialog .catalog-checkout-consent > input[type="checkbox"]:is(:checked,:not(:checked)){
  appearance:auto;-webkit-appearance:auto;background:revert;border:revert;box-shadow:none;
 }
}


/* Public inputs retain their theme border and dimensions. Focus changes its color only,
   including offer/chat CSS loaded later and the accessible reading stylesheet. */
body:not(.cms-admin) :is(:where(input:not([type="hidden"],[type="checkbox"],[type="radio"],[type="range"],[type="file"],[type="button"],[type="submit"],[type="reset"],[type="image"],[role="switch"]),textarea,select:not(.rd-select-native):not([hidden])),.rd-select-trigger,.kv-select-trigger,.ql-picker-label){outline:none!important;outline-offset:0!important;box-shadow:none!important}
body:not(.cms-admin) :is(:where(input:not([type="hidden"],[type="checkbox"],[type="radio"],[type="range"],[type="file"],[type="button"],[type="submit"],[type="reset"],[type="image"],[role="switch"]),textarea,select:not(.rd-select-native):not([hidden])),.rd-select-trigger,.kv-select-trigger,.ql-picker-label):is(:hover,:focus,:focus-visible,[aria-expanded="true"]):where(:not(:disabled)){border-color:var(--pult-blue,var(--color-focus,var(--color-primary,#3e6ab3)))!important;outline:none!important;outline-offset:0!important;box-shadow:none!important}
/* Select triggers reserve the same one-pixel border when closed, open and focused. */
body:not(.cms-admin) :is(.rd-select-trigger,.kv-select-trigger,.ql-picker-label){border-width:1px!important;border-style:solid!important}
body:not(.cms-admin) :is(.radent-search-control,.product-detail-quantity,.kv-rich-host){outline:none!important;outline-offset:0!important;box-shadow:none!important}
body:not(.cms-admin) :is(.radent-search-control,.product-detail-quantity,.kv-rich-host):is(:hover,:focus-within){border-color:var(--pult-blue,var(--color-focus,var(--color-primary,#3e6ab3)))!important}
body:not(.cms-admin) .radent-search-control>.radent-search-input,body:not(.cms-admin) .product-detail-quantity>input,body:not(.cms-admin) .kv-rich-host .ql-editor{border:0!important;outline:none!important;outline-offset:0!important;box-shadow:none!important}
/* A borderless chat composer needs one reserved theme line to make focus visible. */
body:not(.cms-admin) .dental-chat-compose textarea{border-width:1px!important;border-style:solid!important;border-color:var(--color-line,#d9e3f1)}
/* In-page CMS dialogs are admin controls even though their document is the public site. */
body:not(.cms-admin) .kv-cms-dialog :is(:where(input:not([type="hidden"],[type="checkbox"],[type="radio"],[type="range"],[type="file"],[type="button"],[type="submit"],[type="reset"],[type="image"],[role="switch"]),textarea,select:not(.rd-select-native):not([hidden])),.kv-select-trigger,.rd-select-trigger,.ql-picker-label,.kv-rich-host){border-width:1px!important;border-style:solid!important;border-color:var(--color-line,#d9e3f1)!important}
body:not(.cms-admin) .kv-cms-dialog :is(:where(input:not([type="hidden"],[type="checkbox"],[type="radio"],[type="range"],[type="file"],[type="button"],[type="submit"],[type="reset"],[type="image"],[role="switch"]),textarea,select:not(.rd-select-native):not([hidden])),.kv-select-trigger,.rd-select-trigger,.ql-picker-label,.kv-rich-host):is(:hover,:focus,:focus-visible,:focus-within,[aria-expanded="true"]):where(:not(:disabled)){border-color:var(--color-focus,var(--color-primary,#3e6ab3))!important}
body:not(.cms-admin) :is(:where(input:not([type="hidden"],[type="checkbox"],[type="radio"],[type="range"],[type="file"],[type="button"],[type="submit"],[type="reset"],[type="image"],[role="switch"]),textarea,select:not(.rd-select-native):not([hidden])),.rd-select-trigger,.kv-select-trigger,.ql-picker-label):is([aria-invalid="true"],:user-invalid){border-color:var(--color-error,#a72b25)!important}
body:not(.cms-admin) :is(.radent-search-control,.product-detail-quantity,.kv-rich-host):is([aria-invalid="true"],:has([aria-invalid="true"],:user-invalid)){border-color:var(--color-error,#a72b25)!important}
body:not(.cms-admin) .kv-cms-dialog :is(:where(input:not([type="hidden"],[type="checkbox"],[type="radio"],[type="range"],[type="file"],[type="button"],[type="submit"],[type="reset"],[type="image"],[role="switch"]),textarea,select:not(.rd-select-native):not([hidden])),.rd-select-trigger,.kv-select-trigger,.ql-picker-label,.kv-rich-host):is([aria-invalid="true"],:user-invalid,:has([aria-invalid="true"],:user-invalid)){border-color:var(--color-error,#a72b25)!important}
html[data-reading-mode] body:not(.cms-admin) :is(:where(input:not([type="hidden"],[type="checkbox"],[type="radio"],[type="range"],[type="file"],[type="button"],[type="submit"],[type="reset"],[type="image"],[role="switch"]),textarea,select:not(.rd-select-native):not([hidden])),.rd-select-trigger,.kv-select-trigger,.ql-picker-label):is(:focus,:focus-visible):not(:is([aria-invalid="true"],:user-invalid)),html[data-reading-mode] body:not(.cms-admin) :is(.radent-search-control,.product-detail-quantity,.kv-rich-host):focus-within:not(:is([aria-invalid="true"],:has([aria-invalid="true"],:user-invalid))){border-color:var(--reading-fg,var(--color-focus,#3e6ab3))!important}
@media(forced-colors:active){
 body:not(.cms-admin) :is(:where(input:not([type="hidden"],[type="checkbox"],[type="radio"],[type="range"],[type="file"],[type="button"],[type="submit"],[type="reset"],[type="image"],[role="switch"]),textarea,select:not(.rd-select-native):not([hidden])),.rd-select-trigger,.kv-select-trigger,.ql-picker-label):is(:focus,:focus-visible),body:not(.cms-admin) :is(.radent-search-control,.product-detail-quantity,.kv-rich-host):focus-within{border-color:Highlight!important}
}
