/* WordPress integration only. The approved visual rules are in foundation/page CSS. */
body.lucrezia-approved { --theme-font-family: Switzer, Arial, sans-serif; --theme-heading-font-family: Switzer, Arial, sans-serif; }
/* The shell supplies its own styled, keyboard-visible skip link. Keep wp_body_open for plugins. */

.lucrezia-approved .contact-address { overflow-wrap: anywhere; }
/* Respect the native admin bar without altering the public viewport composition. */
.admin-bar.lucrezia-approved .hero-stage { height:calc(100svh - 32px); }
@media(max-width:782px) { .admin-bar.lucrezia-approved .hero-stage { height:calc(100svh - 46px); } }


/* Blocksy owns the shell; these tokens make its native controls match the content. */
.lucrezia-approved { --theme-font-family:Switzer,Arial,sans-serif; --theme-heading-font-family:Switzer,Arial,sans-serif; --theme-text-color:var(--ink); --theme-heading-color:var(--ink); --theme-link-initial-color:var(--ink); --theme-link-hover-color:var(--ink); --theme-content-spacing:0; }
.lucrezia-approved #main { padding:0; }
.lucrezia-approved #approved-main { width:100%; }
:where(.lucrezia-approved #approved-main) :is(h1,h2,h3,p) { margin-block:0; }
.lucrezia-approved #approved-main :is(h1,h2,h3) { font-family:Switzer,Arial,sans-serif; font-weight:400; color:var(--ink); }
.lucrezia-approved #approved-main :is(ul,ol) { padding-inline-start:0; }
.lucrezia-approved #approved-main .fit-list { list-style:none; }
.lucrezia-approved #approved-main em { font-family:Switzer,Arial,sans-serif; }
.lucrezia-approved .services-wayfinding { grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr)); }
.lucrezia-approved .service-photo { margin:24px 0 0; }
.lucrezia-approved .service-photo img { width:100%; height:auto; }
.lucrezia-approved .service-price { margin-top:24px!important; }
.lucrezia-approved .clinical-note>p:only-child { grid-column:2; }
.lucrezia-approved .service-section h2 { overflow-wrap:break-word; }
@media(max-width:700px){ .lucrezia-approved .clinical-note>p:only-child { grid-column:1; } }

.lucrezia-approved #header { position:absolute; inset:0 0 auto; z-index:50; --theme-border:none; }
.lucrezia-approved:is(.services-page,.about-page,.contact-page) #header { position:relative; inset:auto; }
.lucrezia-approved:is(.services-page,.contact-page) #header { background:var(--lilac); }
.lucrezia-approved.about-page #header { background:var(--cream); }
.lucrezia-approved #header [data-row] { background:transparent; box-shadow:none; border:0; }
.lucrezia-approved #header .ct-container { width:calc(100% - 2 * var(--gutter)); max-width:none; min-height:110px; }
.lucrezia-approved #header .ct-menu-link { font:400 17px/1.4 Switzer,Arial,sans-serif; text-transform:none; color:var(--ink); }
.lucrezia-approved #header [data-id="logo"] img { max-width:170px; }
.lucrezia-approved #footer { background:var(--cream); --theme-text-color:var(--ink); --theme-link-initial-color:var(--ink); --theme-link-hover-color:var(--ink); }
.lucrezia-approved #footer [data-row] { background:transparent; }
.lucrezia-approved #footer .ct-container { width:calc(100% - 2 * var(--gutter)); max-width:none; }
.admin-bar.lucrezia-approved #header { top:32px; }
@media(max-width:999px){.lucrezia-approved #header .ct-container { min-height:86px; }.lucrezia-approved #header [data-id="logo"] img{max-width:140px}}
@media(max-width:782px){.admin-bar.lucrezia-approved #header{top:46px}}
.admin-bar.lucrezia-approved:is(.services-page,.about-page,.contact-page) #header { top:auto; }
/* Keep active and hovered links readable on Blocksy's dark mobile drawer. */
.lucrezia-approved #offcanvas .mobile-menu { --theme-link-hover-color:var(--lilac); }
/* Retain the approved shell colors explicitly, without resetting plugin controls.
   Zero-specificity context leaves Blocksy's component/hover settings in charge. */
a:where(.lucrezia-approved #header .site-title a, .lucrezia-approved #footer .ct-footer-copyright a),
button:where(.lucrezia-approved #header .ct-header-trigger, .lucrezia-approved #header .ct-header-search) { color: inherit; }
