/* Shared components. Page compositions belong in site.css. */
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:calc(var(--header-height) + 1.5rem)}
body{margin:0;background:var(--color-canvas);color:var(--color-ink);font:400 var(--text-body)/var(--leading-body) var(--font-family);font-optical-sizing:auto;font-synthesis:none;-webkit-font-smoothing:antialiased}
body:has(dialog[open]){overflow:hidden}
img{display:block;max-width:100%;height:auto}
a{color:inherit;text-underline-offset:.25em}
button,input,select,textarea{font:inherit}
button,a{-webkit-tap-highlight-color:transparent}
button{cursor:pointer}
button:disabled{cursor:not-allowed;opacity:.5}
h1,h2,h3,h4,p{margin:0}
h1,h2,h3,h4{font-family:var(--font-display);font-weight:600;letter-spacing:var(--tracking-heading);line-height:var(--leading-heading);text-wrap:balance}
/* Public headings share one wrapping policy despite page-specific title styles. */
:is(main,dialog):not(.cms-admin) :is(h1,h2,h3,h4,h5,h6):not(.hero-concept-title){overflow-wrap:normal!important;word-break:normal!important;hyphens:none!important;text-wrap:balance!important}
:is(main,dialog):not(.cms-admin) :is(h1,h2,h3,h4,h5,h6) :is(a,span,strong,em){overflow-wrap:normal!important;word-break:normal!important;hyphens:none!important}
.site-search-title{overflow-wrap:normal!important;word-break:normal!important;hyphens:none!important;text-wrap:balance!important}
@media(max-width:479px){main:not(.cms-admin) h1:not(.hero-concept-title){font-size:clamp(26px,8vw,34px)!important}}
h1{font-size:var(--text-h1)}
h2{font-size:var(--text-h2)}
h3{font-size:var(--text-h3);letter-spacing:var(--tracking-compact);line-height:1.25}
h4{font-size:var(--text-h4);letter-spacing:var(--tracking-compact);line-height:1.3}
h1 em,h2 em{font-style:normal}
a,button,input,textarea,select,summary{outline-offset:4px}
a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid var(--color-focus)}
[hidden]{display:none!important}
.container{width:min(calc(100% - var(--page-gutter)*2),var(--container-max));margin-inline:auto}
.section{padding-block:var(--section-space)}
.stack{display:grid;gap:var(--space-6)}
.actions{display:flex;flex-wrap:wrap;align-items:center;gap:var(--action-gap)}
.muted{color:var(--color-muted)}
.small{font-size:var(--text-small)}
.lead{font-size:var(--text-lead);line-height:1.55;max-width:56ch}
.eyebrow{display:block;font-size:var(--text-micro);font-weight:600;letter-spacing:.07em;text-transform:uppercase}
.section-head{display:flex;justify-content:space-between;align-items:end;gap:var(--space-8);margin-bottom:var(--section-content-gap)}
.section-head h2{max-width:46rem}
.section-head .eyebrow{margin-bottom:var(--space-4)}
.section-head>p{max-width:25rem}
.icon{display:block;width:1.5rem;height:1.5rem;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;flex:none}
.icon-badge{display:inline-grid;place-items:center;width:3rem;height:3rem;flex:none;border-radius:50%;background:var(--color-mint);color:var(--color-primary)}
.service-symbol{display:inline-grid;place-items:center;width:4rem;height:4rem;flex:none;border-radius:1.25rem;background:var(--color-mint);color:var(--color-primary)}
.service-symbol .icon,.service-symbol-icon{width:2rem;height:2rem;stroke-width:1.6}

/* Variants also have a complete base when used without .btn.
   Native buttons and links share the same appearance and interaction states. */
.btn,.btn-primary,.btn-secondary,.btn-accent{
 appearance:none;-webkit-appearance:none;
 display:inline-flex;justify-content:center;align-items:center;gap:var(--space-3);
 min-height:var(--control-height);margin:0;padding:.625rem var(--control-padding-x);
 border:1px solid transparent;border-radius:var(--radius-button);
 background:transparent;color:var(--color-ink);font-family:var(--font-ui);font-size:var(--text-ui);font-weight:600;line-height:1.3;
 text-align:center;text-decoration:none;vertical-align:middle;cursor:pointer;
 transition:background var(--motion-base) var(--ease),color var(--motion-base) var(--ease),transform var(--motion-fast) var(--ease),border-color var(--motion-base) var(--ease),box-shadow var(--motion-base) var(--ease);
}
.btn-primary{background:var(--color-primary);color:var(--color-on-primary)}
.btn-primary:hover{background:var(--color-primary-hover)}
.btn-primary:active{background:var(--color-primary-pressed);transform:translateY(1px);box-shadow:none}
.btn-accent{background:var(--color-mint);color:var(--color-ink)}
.btn-accent:hover{background:var(--color-mint-strong)}
.btn-accent:active{background:var(--color-accent-pressed);transform:translateY(1px)}
.btn-secondary{background:var(--color-white);color:var(--color-ink);border-color:var(--color-ink)}
.btn-secondary:hover{background:var(--color-surface-soft);border-color:var(--color-primary-hover)}
.btn-secondary:active{background:var(--color-mint);transform:translateY(1px)}
.btn-small{min-height:var(--control-height-small);padding:.5rem var(--space-5);font-size:var(--text-small)}
.btn:has(.btn-arrow),.btn-primary:has(.btn-arrow),.btn-secondary:has(.btn-arrow),.btn-accent:has(.btn-arrow){padding-right:var(--control-padding-x)}
.btn-arrow{display:inline-flex;align-items:center;flex:none;width:1.125rem;height:1.125rem;margin-left:.125rem;background:transparent;color:inherit}
.btn-arrow .icon{width:1.125rem;height:1.125rem;transition:transform var(--motion-base) var(--ease)}
.btn-primary .btn-arrow{background:transparent;color:inherit}
.btn-secondary .btn-arrow,.btn-accent .btn-arrow{background:transparent;color:inherit}
.btn:hover .btn-arrow .icon,.btn-primary:hover .btn-arrow .icon,.btn:focus-visible .btn-arrow .icon{transform:translateX(2px)}
.btn-small .btn-arrow{width:1.125rem;height:1.125rem}
.btn>.icon,.text-link>.icon{width:1.125rem;height:1.125rem;transition:transform var(--motion-base) var(--ease)}
.btn:hover>.icon,.text-link:hover>.icon,.text-link:focus-visible>.icon{transform:translateX(2px)}
.btn[aria-busy=true],.btn-primary[aria-busy=true]{min-width:12rem;cursor:wait;opacity:.85}
.btn:disabled,.btn-primary:disabled,.btn-secondary:disabled,.btn-accent:disabled{cursor:not-allowed;box-shadow:none;transform:none}
.icon-button{appearance:none;-webkit-appearance:none;display:inline-grid;place-items:center;flex:none;width:var(--control-height-small);height:var(--control-height-small);margin:0;padding:0;border:1px solid var(--color-line);border-radius:var(--radius-control);background:var(--color-white);color:var(--color-ink);font-size:1.5rem;line-height:1;cursor:pointer;transition:background var(--motion-base) var(--ease),border-color var(--motion-base) var(--ease)}
.icon-button:hover{background:var(--color-mint);border-color:var(--color-input-border)}
.text-link{appearance:none;-webkit-appearance:none;display:inline-flex;align-items:center;gap:var(--space-2);margin:0;padding:0;border:0;border-radius:0;background:transparent;color:var(--color-ink);font-family:var(--font-ui);font-size:var(--text-ui);font-weight:600;line-height:1.5;text-align:left;text-decoration:underline;text-decoration-color:transparent;cursor:pointer;transition:text-decoration-color var(--motion-fast) var(--ease)}
.text-link:hover,.text-link:focus-visible{text-decoration-color:currentColor}
.badge{display:inline-flex;align-items:center;gap:var(--space-2);min-height:2rem;padding:var(--space-1) var(--space-3);border-radius:var(--radius-pill);background:var(--color-mint);color:var(--color-ink);font-size:var(--text-micro);font-weight:550;justify-self:start;align-self:start;width:fit-content}
.badge .icon{width:1rem;height:1rem}
.badge-accent{background:var(--color-cream);color:var(--color-ink)}
.panel{padding:var(--card-padding);border:1px solid var(--color-line);border-radius:var(--radius-card);background:var(--color-white)}
.cards-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--grid-gap)}
.cards-grid>*{min-width:0}

.field{display:grid;gap:var(--label-gap);font-size:var(--text-ui)}
.field label,.field>span{font-weight:550}
.field input,.field textarea,.field select{width:100%;min-height:var(--control-height);margin:0;padding:.875rem var(--space-4);border:1px solid var(--color-input-border);border-radius:var(--radius-field);background:var(--color-white);color:var(--color-ink);font-size:var(--text-ui);line-height:1.4;transition:border-color var(--motion-fast) var(--ease),background var(--motion-fast) var(--ease),box-shadow var(--motion-fast) var(--ease)}
.field input::placeholder,.field textarea::placeholder{color:var(--color-muted);opacity:1}
.field input:hover,.field textarea:hover,.field select:hover{border-color:var(--color-ink)}
.field input:focus,.field textarea:focus,.field select:focus{border-color:var(--color-primary);background:var(--color-white)}
.field textarea{min-height:7rem;resize:vertical}
.field input:disabled,.field textarea:disabled,.field select:disabled{background:var(--color-surface-soft);opacity:.65;cursor:not-allowed}
.field [aria-invalid=true]{border-color:var(--color-error)}
.field-error{color:var(--color-error);font-size:var(--text-small)}
.field-helper{color:var(--color-muted);font-size:var(--text-small);font-weight:400!important}
.check-label{display:flex;gap:var(--space-3);align-items:flex-start;font-size:var(--text-small);line-height:1.55}
.check-label input{margin:.2rem 0 0;width:1.125rem;height:1.125rem;accent-color:var(--color-primary);flex:none}
.radio-group{display:flex;gap:var(--space-2);flex-wrap:wrap;padding:0;border:0;margin:0}
.radio-group legend{font-size:var(--text-small);font-weight:550;margin-bottom:var(--space-3)}
.radio-group label{position:relative;display:flex;align-items:center;gap:var(--space-2);min-height:2.75rem;padding:var(--space-2) var(--space-3);border:1px solid var(--color-input-border);border-radius:var(--radius-pill);font-size:var(--text-micro);cursor:pointer;transition:background var(--motion-fast) var(--ease),border-color var(--motion-fast) var(--ease)}
.radio-group label:hover{background:var(--color-surface-soft);border-color:var(--color-ink)}
.radio-group label:has(:checked){background:var(--color-mint);border-color:var(--color-primary)}
.radio-group input{accent-color:var(--color-primary)}
.notice{padding:var(--space-4);border:1px solid var(--color-line);background:var(--color-surface-soft);border-radius:var(--radius-control);font-size:var(--text-small)}
.notice-error{background:var(--color-error-surface);border-color:var(--color-error);color:var(--color-error)}
.notice-success{background:var(--color-success-surface);border-color:var(--color-success);color:var(--color-success)}

.prose{max-width:72ch;overflow-wrap:anywhere}
.prose>*+*{margin-top:var(--space-5)}
.prose h2,.prose h3{margin-top:var(--space-10)}
.prose p,.prose li{line-height:var(--leading-prose)}
.prose ul,.prose ol{padding-left:var(--space-6)}
.prose li+li{margin-top:var(--space-2)}
.prose a{text-decoration-color:var(--color-input-border)}
.prose a:hover{text-decoration-color:var(--color-ink)}
.prose img{border-radius:var(--radius-card);max-height:44rem;object-fit:contain}
.prose table,.data-table{width:100%;border-collapse:separate;border-spacing:0;font-size:var(--text-small)}
.table-wrap,.table-scroll{min-width:0;max-width:100%;overflow:auto;border:1px solid var(--color-line);border-radius:var(--radius-table);background:var(--color-white)}
.data-table th,.data-table td,.prose td,.prose th{padding:var(--space-4) var(--space-5);text-align:left;border-bottom:1px solid var(--color-line);vertical-align:top}
.data-table th,.prose th{background:var(--color-surface-soft);font-weight:600}
.data-table tr:last-child td{border-bottom:0}
.data-table td:last-child,.price-amount{font-variant-numeric:tabular-nums}
.price-amount{font-size:1.5rem;font-weight:600;letter-spacing:var(--tracking-heading);line-height:1.2}
.price-unit{font-size:var(--text-small);color:var(--color-muted);font-weight:400}
.price-note{font-size:var(--text-small);color:var(--color-muted);line-height:1.6}
/* One native summary control. Thin chevron, no added circular button. */
.accordion{display:grid;gap:0;border-top:1px solid var(--color-line)}
.accordion details{padding:0;border-bottom:1px solid var(--color-line);background:transparent}
.accordion summary{display:flex;align-items:center;justify-content:space-between;gap:1.5rem;padding:1.25rem 0;cursor:pointer;list-style:none;font-weight:550;line-height:1.5}
.accordion summary::-webkit-details-marker{display:none}
.accordion summary::after{content:'';width:.625rem;height:.625rem;flex:none;margin-right:.375rem;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg);transition:transform var(--motion-base) var(--ease)}
.accordion details[open] summary::after{transform:rotate(225deg)}
.accordion details>div,.accordion details>p{padding:0 2.5rem 1.5rem 0;color:var(--color-muted);font-size:var(--text-body);max-width:72ch;line-height:1.75}
.dialog{padding:var(--space-8);width:min(38rem,calc(100vw - var(--modal-viewport-gap)*2));max-height:calc(100dvh - var(--modal-viewport-gap)*2);border:1px solid var(--color-line);border-radius:var(--radius-panel);background:var(--color-white);color:var(--color-ink);box-shadow:var(--shadow-modal);overflow:auto}
.dialog[open]{animation:panel-in var(--motion-panel) var(--ease-enter)}
.dialog::backdrop{background:var(--modal-backdrop-color)}
.dialog-head{display:flex;justify-content:space-between;align-items:start;gap:var(--space-5);margin-bottom:var(--space-5)}
.dialog h2{font-size:var(--text-h3);line-height:1.25}
.skip-link{position:fixed;top:-10rem;left:1rem;padding:var(--space-3) var(--space-4);z-index:1000;background:var(--color-white);border:1px solid var(--color-line);border-radius:var(--radius-control)}
.skip-link:focus{top:1rem}
.empty-state{grid-column:1/-1;background:var(--color-surface-soft);border:1px dashed var(--color-input-border);padding:var(--space-8);border-radius:var(--radius-card)}
.image-placeholder{display:grid;place-items:center;min-height:12rem;aspect-ratio:4/3;background:var(--color-surface-soft);border-radius:var(--radius-card);color:var(--color-muted);font-size:var(--text-small);padding:var(--space-5);text-align:center}
.image-placeholder .icon{width:3rem;height:3rem;stroke-width:1.2}
.section-tabs{display:flex;gap:var(--space-2);flex-wrap:wrap;padding:var(--space-2);background:var(--color-mint);border-radius:var(--radius-card);margin-block:var(--space-8)}
.section-tabs a{padding:var(--space-2) var(--space-4);border-radius:var(--radius-pill);text-decoration:none;font-size:var(--text-small);font-weight:550;transition:background var(--motion-fast) var(--ease)}
.section-tabs a:hover,.section-tabs a[aria-current]{background:var(--color-white);color:var(--color-primary)}
.filter-chip{appearance:none;-webkit-appearance:none;display:inline-flex;align-items:center;gap:var(--space-2);min-height:2.75rem;margin:0;border:1px solid var(--color-input-border);border-radius:var(--radius-pill);padding:var(--space-2) var(--space-4);background:var(--color-white);color:var(--color-ink);font-size:var(--text-small);font-weight:500;line-height:1.4;text-decoration:none;cursor:pointer;transition:background var(--motion-fast) var(--ease),color var(--motion-fast) var(--ease),border-color var(--motion-fast) var(--ease)}
.filter-chip:hover{background:var(--color-surface-soft);border-color:var(--color-ink)}
.filter-chip[aria-pressed=true],.filter-chip[aria-current],.filter-chip.active{background:var(--color-primary);border-color:var(--color-primary);color:var(--color-on-primary)}
.spinner{width:1rem;height:1rem;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:spin .7s linear infinite}
@keyframes panel-in{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}
@keyframes spin{to{transform:rotate(360deg)}}
@media(max-width:1100px){.cards-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:767px){
 .cards-grid{grid-template-columns:1fr}
 .section-head{align-items:start;flex-direction:column;gap:var(--space-4)}
 .dialog{padding:var(--space-6)}
 .accordion summary{padding-block:1.125rem}
 .section-tabs{gap:var(--space-1)}
 .section-tabs a{padding-inline:var(--space-3)}
 .data-table th,.data-table td{padding:var(--space-3)}
 .table-scroll .data-table,.table-scroll .data-table tbody{display:block;width:100%}
 .table-scroll .data-table thead{display:none}
 .table-scroll .data-table tr{display:grid;grid-template-columns:minmax(0,1fr) auto;border-bottom:1px solid var(--color-line)}
 .table-scroll .data-table tr:last-child{border-bottom:0}
 .table-scroll .data-table th{grid-column:1/-1;background:var(--color-white);font-size:var(--text-body);overflow-wrap:anywhere}
 .table-scroll .data-table th,.table-scroll .data-table td{border:0}
 .table-scroll .data-table td{align-self:center}
 .table-scroll .data-table td:first-of-type{font-size:1.125rem;font-weight:600}
}
@media(prefers-reduced-motion:reduce){
 html{scroll-behavior:auto}
 *,*::before,*::after{animation:none!important;transition:none!important}
 .btn:active,.btn-primary:active,.btn-secondary:active,.btn-accent:active,.btn:hover .icon,.btn-primary:hover .icon,.text-link:hover .icon,.accordion details[open] summary::after{transform:none!important}
 .accordion details[open] summary::after{transform:rotate(225deg)!important}
 .spinner{display:none}
}

/* Known dismiss controls share one 44px target and one code-native 20px X.
   Flex keeps zero-font accessible text from creating a second anonymous grid row.
   Existing DOM names, handlers, dialog focus and positioning remain intact. */
body :is(#appointment-dialog .dialog-head>button[data-close-dialog],#kit-close-dialog,.dental-chat-header>button.dental-chat-icon-button,.dental-chat-invitation>button.dental-chat-invite-close,button.rental-close,button.catalog-dialog-close,.product-lightbox header>button[data-zoom-close],button.clinic-gallery-close,button.site-tools-close,.clinic-header-contacts-head>button[data-header-contacts-close],button.dental-city-close,button[data-mobile-menu-close],.ref8-header:not([data-mobile-clinic-header]) button.menu-toggle[aria-expanded="true"],button[data-reading-close],button.kv-popup-close,button.kv-cms-close,.kv-chrome-head>button.kv-chrome-icon){appearance:none;-webkit-appearance:none;box-sizing:border-box;display:inline-flex;flex-flow:row nowrap;align-items:center;justify-content:center;flex:0 0 44px;width:44px;height:44px;min-width:44px;min-height:44px;max-width:44px;max-height:44px;padding:0;gap:0;border:1px solid var(--color-line,#d8e2f1);border-radius:12px;background:var(--color-white,#fff);color:var(--color-ink,#1e293b);font-size:0;line-height:0;cursor:pointer;box-shadow:none;transition:background-color .15s ease,border-color .15s ease}
body :is(#appointment-dialog .dialog-head>button[data-close-dialog],#kit-close-dialog,.dental-chat-header>button.dental-chat-icon-button,.dental-chat-invitation>button.dental-chat-invite-close,button.rental-close,button.catalog-dialog-close,.product-lightbox header>button[data-zoom-close],button.clinic-gallery-close,button.site-tools-close,.clinic-header-contacts-head>button[data-header-contacts-close],button.dental-city-close,button[data-mobile-menu-close],.ref8-header:not([data-mobile-clinic-header]) button.menu-toggle[aria-expanded="true"],button[data-reading-close],button.kv-popup-close,button.kv-cms-close,.kv-chrome-head>button.kv-chrome-icon)::before{content:'';display:block;flex:none;width:20px;height:20px;pointer-events:none;background:currentColor;-webkit-mask:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%3E%3Cpath%20d%3D%22M6%206l12%2012M18%206%206%2018%22%20stroke%3D%22black%22%20stroke-width%3D%221.8%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%2F%3E%3C%2Fsvg%3E") center/20px 20px no-repeat;mask:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%3E%3Cpath%20d%3D%22M6%206l12%2012M18%206%206%2018%22%20stroke%3D%22black%22%20stroke-width%3D%221.8%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%2F%3E%3C%2Fsvg%3E") center/20px 20px no-repeat}
body :is(#appointment-dialog .dialog-head>button[data-close-dialog],#kit-close-dialog,.dental-chat-header>button.dental-chat-icon-button,.dental-chat-invitation>button.dental-chat-invite-close,button.rental-close,button.catalog-dialog-close,.product-lightbox header>button[data-zoom-close],button.clinic-gallery-close,button.site-tools-close,.clinic-header-contacts-head>button[data-header-contacts-close],button.dental-city-close,button[data-mobile-menu-close],.ref8-header:not([data-mobile-clinic-header]) button.menu-toggle[aria-expanded="true"],button[data-reading-close],button.kv-popup-close,button.kv-cms-close,.kv-chrome-head>button.kv-chrome-icon)::after{content:none}
body :is(#appointment-dialog .dialog-head>button[data-close-dialog],#kit-close-dialog,.dental-chat-header>button.dental-chat-icon-button,.dental-chat-invitation>button.dental-chat-invite-close,button.rental-close,button.catalog-dialog-close,.product-lightbox header>button[data-zoom-close],button.clinic-gallery-close,button.site-tools-close,.clinic-header-contacts-head>button[data-header-contacts-close],button.dental-city-close,button[data-mobile-menu-close],.ref8-header:not([data-mobile-clinic-header]) button.menu-toggle[aria-expanded="true"],button[data-reading-close],button.kv-popup-close,button.kv-cms-close,.kv-chrome-head>button.kv-chrome-icon)>*{display:none!important}
body :is(#appointment-dialog .dialog-head>button[data-close-dialog],#kit-close-dialog,.dental-chat-header>button.dental-chat-icon-button,.dental-chat-invitation>button.dental-chat-invite-close,button.rental-close,button.catalog-dialog-close,.product-lightbox header>button[data-zoom-close],button.clinic-gallery-close,button.site-tools-close,.clinic-header-contacts-head>button[data-header-contacts-close],button.dental-city-close,button[data-mobile-menu-close],.ref8-header:not([data-mobile-clinic-header]) button.menu-toggle[aria-expanded="true"],button[data-reading-close],button.kv-popup-close,button.kv-cms-close,.kv-chrome-head>button.kv-chrome-icon):not(:disabled):hover{background:var(--color-surface-soft,#f3f6fb);border-color:var(--color-input-border,#9dadc6);color:var(--color-ink,#1e293b)}
body :is(#appointment-dialog .dialog-head>button[data-close-dialog],#kit-close-dialog,.dental-chat-header>button.dental-chat-icon-button,.dental-chat-invitation>button.dental-chat-invite-close,button.rental-close,button.catalog-dialog-close,.product-lightbox header>button[data-zoom-close],button.clinic-gallery-close,button.site-tools-close,.clinic-header-contacts-head>button[data-header-contacts-close],button.dental-city-close,button[data-mobile-menu-close],.ref8-header:not([data-mobile-clinic-header]) button.menu-toggle[aria-expanded="true"],button[data-reading-close],button.kv-popup-close,button.kv-cms-close,.kv-chrome-head>button.kv-chrome-icon):focus-visible{outline:3px solid var(--color-focus,#7d9fe0);outline-offset:3px}
body :is(#appointment-dialog .dialog-head>button[data-close-dialog],#kit-close-dialog,.dental-chat-header>button.dental-chat-icon-button,.dental-chat-invitation>button.dental-chat-invite-close,button.rental-close,button.catalog-dialog-close,.product-lightbox header>button[data-zoom-close],button.clinic-gallery-close,button.site-tools-close,.clinic-header-contacts-head>button[data-header-contacts-close],button.dental-city-close,button[data-mobile-menu-close],.ref8-header:not([data-mobile-clinic-header]) button.menu-toggle[aria-expanded="true"],button[data-reading-close],button.kv-popup-close,button.kv-cms-close,.kv-chrome-head>button.kv-chrome-icon):disabled{opacity:.5;cursor:default}
@media(prefers-reduced-motion:reduce){body :is(#appointment-dialog .dialog-head>button[data-close-dialog],#kit-close-dialog,.dental-chat-header>button.dental-chat-icon-button,.dental-chat-invitation>button.dental-chat-invite-close,button.rental-close,button.catalog-dialog-close,.product-lightbox header>button[data-zoom-close],button.clinic-gallery-close,button.site-tools-close,.clinic-header-contacts-head>button[data-header-contacts-close],button.dental-city-close,button[data-mobile-menu-close],.ref8-header:not([data-mobile-clinic-header]) button.menu-toggle[aria-expanded="true"],button[data-reading-close],button.kv-popup-close,button.kv-cms-close,.kv-chrome-head>button.kv-chrome-icon){transition:none}}
@media(forced-colors:active){body :is(#appointment-dialog .dialog-head>button[data-close-dialog],#kit-close-dialog,.dental-chat-header>button.dental-chat-icon-button,.dental-chat-invitation>button.dental-chat-invite-close,button.rental-close,button.catalog-dialog-close,.product-lightbox header>button[data-zoom-close],button.clinic-gallery-close,button.site-tools-close,.clinic-header-contacts-head>button[data-header-contacts-close],button.dental-city-close,button[data-mobile-menu-close],.ref8-header:not([data-mobile-clinic-header]) button.menu-toggle[aria-expanded="true"],button[data-reading-close],button.kv-popup-close,button.kv-cms-close,.kv-chrome-head>button.kv-chrome-icon){background:Canvas;color:ButtonText;border-color:ButtonText}body :is(#appointment-dialog .dialog-head>button[data-close-dialog],#kit-close-dialog,.dental-chat-header>button.dental-chat-icon-button,.dental-chat-invitation>button.dental-chat-invite-close,button.rental-close,button.catalog-dialog-close,.product-lightbox header>button[data-zoom-close],button.clinic-gallery-close,button.site-tools-close,.clinic-header-contacts-head>button[data-header-contacts-close],button.dental-city-close,button[data-mobile-menu-close],.ref8-header:not([data-mobile-clinic-header]) button.menu-toggle[aria-expanded="true"],button[data-reading-close],button.kv-popup-close,button.kv-cms-close,.kv-chrome-head>button.kv-chrome-icon)::before{background:ButtonText;forced-color-adjust:none}body :is(#appointment-dialog .dialog-head>button[data-close-dialog],#kit-close-dialog,.dental-chat-header>button.dental-chat-icon-button,.dental-chat-invitation>button.dental-chat-invite-close,button.rental-close,button.catalog-dialog-close,.product-lightbox header>button[data-zoom-close],button.clinic-gallery-close,button.site-tools-close,.clinic-header-contacts-head>button[data-header-contacts-close],button.dental-city-close,button[data-mobile-menu-close],.ref8-header:not([data-mobile-clinic-header]) button.menu-toggle[aria-expanded="true"],button[data-reading-close],button.kv-popup-close,button.kv-cms-close,.kv-chrome-head>button.kv-chrome-icon):focus-visible{outline-color:Highlight}}
@supports not ((mask-image:linear-gradient(black,black)) or (-webkit-mask-image:linear-gradient(black,black))){body :is(#appointment-dialog .dialog-head>button[data-close-dialog],#kit-close-dialog,.dental-chat-header>button.dental-chat-icon-button,.dental-chat-invitation>button.dental-chat-invite-close,button.rental-close,button.catalog-dialog-close,.product-lightbox header>button[data-zoom-close],button.clinic-gallery-close,button.site-tools-close,.clinic-header-contacts-head>button[data-header-contacts-close],button.dental-city-close,button[data-mobile-menu-close],.ref8-header:not([data-mobile-clinic-header]) button.menu-toggle[aria-expanded="true"],button[data-reading-close],button.kv-popup-close,button.kv-cms-close,.kv-chrome-head>button.kv-chrome-icon)::before{content:'×';background:none;font:400 24px/20px Arial,sans-serif}}
body .dental-chat-invitation>p{margin-right:36px}
html[data-reading-mode] body :is(#appointment-dialog .dialog-head>button[data-close-dialog],#kit-close-dialog,.dental-chat-header>button.dental-chat-icon-button,.dental-chat-invitation>button.dental-chat-invite-close,button.rental-close,button.catalog-dialog-close,.product-lightbox header>button[data-zoom-close],button.clinic-gallery-close,button.site-tools-close,.clinic-header-contacts-head>button[data-header-contacts-close],button.dental-city-close,button[data-mobile-menu-close],.ref8-header:not([data-mobile-clinic-header]) button.menu-toggle[aria-expanded="true"],button[data-reading-close],button.kv-popup-close,button.kv-cms-close,.kv-chrome-head>button.kv-chrome-icon){font-size:0!important;line-height:0!important;letter-spacing:normal!important;word-spacing:normal!important}
