/* Shared header and footer. */
.admin-site{--msa-frame-bg:#e9eeea;--msa-frame-border:#dce3dc}
:is(.public-site,.admin-site):is(.public-site,.admin-site) .site-header{display: grid; min-height: 82px; position: relative; grid-template-columns: minmax(200px, 1fr) auto auto; padding: 12px clamp(18px, 3vw, 44px); gap: 18px; background: white;}
:is(.public-site,.admin-site):is(.public-site,.admin-site) .site-header nav{gap: 16px; flex-wrap: wrap;}
:is(.public-site,.admin-site):is(.public-site,.admin-site) .site-header nav a{font-size: 13px; min-height: 40px; display: flex; align-items: center;}
:is(.public-site,.admin-site):is(.public-site,.admin-site) .brand{max-width: 265px;}
:is(.public-site,.admin-site):is(.public-site,.admin-site) .brand img{height: 48px; width: 62px;}
:is(.public-site,.admin-site):is(.public-site,.admin-site) .brand strong{font-size: 12px;}
:is(.public-site,.admin-site):is(.public-site,.admin-site) .brand small{font-size: 9px;}
:is(.public-site,.admin-site):is(.public-site,.admin-site) .header-actions{gap: 12px;}
:is(.public-site,.admin-site):is(.public-site,.admin-site) .language-switch a{padding: 8px 5px;}
:is(.public-site,.admin-site):is(.public-site,.admin-site) .menu-toggle{display: none;}
:is(.public-site,.admin-site):is(.public-site,.admin-site) .site-footer{padding: 32px clamp(18px, 3vw, 44px); font-size: 13px;}
@media (min-width: 1001px){:is(.public-site,.admin-site):is(.public-site,.admin-site) .menu-toggle{display: none !important;}}
@media (max-width: 1000px){:is(.public-site,.admin-site):is(.public-site,.admin-site) .site-header{grid-template-columns: minmax(0px, 1fr) auto auto; gap: 12px; min-height: 72px;}
:is(.public-site,.admin-site):is(.public-site,.admin-site) .menu-toggle{display: inline-flex; grid-area: 1 / 2; font-size: 13px; padding: 10px; background: white; color: var(--ink); border: 1px solid rgb(204, 213, 201);}
:is(.public-site,.admin-site):is(.public-site,.admin-site) .site-header #main-nav{display: none; grid-area: 2 / 1 / auto / -1; padding-top: 10px; border-top: 1px solid rgb(220, 226, 217);}
:is(.public-site,.admin-site):is(.public-site,.admin-site) .site-header #main-nav.is-open{display: flex;}
:is(.public-site,.admin-site):is(.public-site,.admin-site) .header-actions{grid-area: 1 / 3;}
:is(.public-site,.admin-site):is(.public-site,.admin-site) .brand small{display: none;}}
@media (max-width: 640px){:is(.public-site,.admin-site):is(.public-site,.admin-site) .site-header{padding: 10px 14px; gap: 8px;}
:is(.public-site,.admin-site):is(.public-site,.admin-site) .brand img{width: 45px; height: 42px;}
:is(.public-site,.admin-site):is(.public-site,.admin-site) .brand span{display: none;}
:is(.public-site,.admin-site):is(.public-site,.admin-site) .header-actions{gap: 6px;}
:is(.public-site,.admin-site):is(.public-site,.admin-site) .language-switch{gap: 1px;}
:is(.public-site,.admin-site):is(.public-site,.admin-site) .language-switch a{font-size: 11px; padding: 9px 4px;}
:is(.public-site,.admin-site):is(.public-site,.admin-site) .site-header #main-nav{gap: 0px; flex-direction: column; align-items: stretch;}
:is(.public-site,.admin-site):is(.public-site,.admin-site) .site-header #main-nav a{padding: 10px; font-size: 15px;}
:is(.public-site,.admin-site):is(.public-site,.admin-site) .site-footer{display: grid; gap: 20px;}}

:is(.public-site,.admin-site):is(.public-site,.admin-site) .site-footer{display: grid; grid-template-columns: 1.3fr 0.7fr 1fr; gap: 60px; padding: 56px max(24px, -640px + 50vw); background: rgb(233, 238, 234); border-top: 1px solid rgb(212, 222, 214); color: rgb(36, 77, 61); align-items: start;}
:is(.public-site,.admin-site):is(.public-site,.admin-site) .site-footer .footer-brand{display: grid; gap: 15px; max-width: 330px;}
:is(.public-site,.admin-site):is(.public-site,.admin-site) .site-footer .footer-brand img{object-fit: contain; display: block;}
:is(.public-site,.admin-site):is(.public-site,.admin-site) .site-footer strong{font: 400 23px / 1.3 Georgia, serif; color: rgb(23, 77, 54);}
:is(.public-site,.admin-site):is(.public-site,.admin-site) .site-footer p{margin: 0px; line-height: 1.8; font-size: 13px; color: rgb(83, 102, 91);}
:is(.public-site,.admin-site):is(.public-site,.admin-site) .site-footer h2{font-size: 11px; text-transform: uppercase; letter-spacing: 0.12em; margin: 0px 0px 20px; color: rgb(23, 77, 54);}
:is(.public-site,.admin-site):is(.public-site,.admin-site) .site-footer a{display: block; width: fit-content; font-size: 13px; color: rgb(54, 87, 71); text-decoration: none; margin: 0px 0px 12px; line-height: 1.6;}
:is(.public-site,.admin-site):is(.public-site,.admin-site) .site-footer a:hover{color: rgb(8, 120, 91); text-decoration: underline; text-underline-offset: 4px;}
:is(.public-site,.admin-site):is(.public-site,.admin-site) .site-footer a:focus-visible{outline: rgb(22, 131, 95) solid 2px; outline-offset: 4px;}
:is(.public-site,.admin-site):is(.public-site,.admin-site) .site-footer address{font-style: normal; font-size: 13px; line-height: 1.8; max-width: 28ch; margin-bottom: 16px;}
@media (max-width: 740px){:is(.public-site,.admin-site):is(.public-site,.admin-site) .site-footer{grid-template-columns: 1fr; gap: 32px; padding: 36px 24px;}
:is(.public-site,.admin-site):is(.public-site,.admin-site) .site-footer h2{margin-bottom: 15px;}}
:is(.public-site,.admin-site):is(.public-site,.admin-site) .site-footer{grid-template-columns: minmax(0px, 1.3fr) minmax(0px, 1fr); gap: 32px 72px;}
:is(.public-site,.admin-site):is(.public-site,.admin-site) .site-footer .footer-brand{grid-area: 1 / 1;}
:is(.public-site,.admin-site):is(.public-site,.admin-site) .site-footer .footer-contact{grid-area: 1 / 2; justify-self: end; min-width: 240px;}
:is(.public-site,.admin-site):is(.public-site,.admin-site) .site-footer .footer-navigation{grid-area: 2 / 1 / auto / -1; display: flex; flex-wrap: wrap; gap: 16px 34px; align-items: center; border-top: 1px solid rgb(205, 217, 208); padding-top: 22px;}
:is(.public-site,.admin-site):is(.public-site,.admin-site) .footer-navigation h2{display: none;}
:is(.public-site,.admin-site):is(.public-site,.admin-site) .site-footer .footer-navigation a{display: inline-block; margin: 0px; padding: 5px 0px; font-size: 13px; text-decoration: underline rgb(156, 173, 159); text-underline-offset: 6px; transition: color 0.2s, text-decoration-color 0.2s;}
:is(.public-site,.admin-site):is(.public-site,.admin-site) .site-footer .footer-navigation a:hover{color: rgb(8, 120, 91); text-decoration-color: rgb(8, 120, 91);}
@media (max-width: 740px){:is(.public-site,.admin-site):is(.public-site,.admin-site) .site-footer{grid-template-columns: minmax(0px, 1fr); gap: 28px;}
:is(.public-site,.admin-site):is(.public-site,.admin-site) .site-footer .footer-brand{grid-row: 1;}
:is(.public-site,.admin-site):is(.public-site,.admin-site) .site-footer .footer-contact{grid-area: 2 / 1; justify-self: start; min-width: 0px;}
:is(.public-site,.admin-site):is(.public-site,.admin-site) .site-footer .footer-navigation{grid-row: 3; gap: 12px 26px;}}
:is(.public-site,.admin-site):is(.public-site,.admin-site) .site-footer .footer-appointments{margin: 0px 0px 14px; font-size: 12px; color: rgb(83, 102, 91);}
:is(.public-site,.admin-site):is(.public-site,.admin-site) .site-footer{padding-top: 28px; padding-bottom: 22px; gap: 20px 56px;}
:is(.public-site,.admin-site):is(.public-site,.admin-site) .site-footer .footer-brand{gap: 10px;}
:is(.public-site,.admin-site):is(.public-site,.admin-site) .site-footer .footer-brand img{width: 42px; height: 39px;}
:is(.public-site,.admin-site):is(.public-site,.admin-site) .site-footer strong{font-size: 20px;}
:is(.public-site,.admin-site):is(.public-site,.admin-site) .site-footer h2{margin-bottom: 12px;}
:is(.public-site,.admin-site):is(.public-site,.admin-site) .site-footer address{line-height: 1.55; margin-bottom: 10px;}
:is(.public-site,.admin-site):is(.public-site,.admin-site) .site-footer a{margin-bottom: 7px; line-height: 1.45;}
:is(.public-site,.admin-site):is(.public-site,.admin-site) .site-footer .footer-appointments{margin-bottom: 9px;}
:is(.public-site,.admin-site):is(.public-site,.admin-site) .site-footer .footer-navigation{padding-top: 14px; gap: 10px 28px;}
@media (max-width: 740px){:is(.public-site,.admin-site):is(.public-site,.admin-site) .site-footer{padding: 26px 24px 20px; gap: 22px;}}
:is(.public-site,.admin-site):is(.public-site,.admin-site) .site-footer .footer-instagram{display: inline-flex; align-items: center; justify-content: center; width: 38px; height: 38px; border: 1px solid rgb(189, 207, 194); border-radius: 50%; margin: 2px 0px 0px; transition: background 0.2s, color 0.2s;}
:is(.public-site,.admin-site):is(.public-site,.admin-site) .site-footer .footer-instagram:hover{background: rgb(23, 77, 54); color: rgb(255, 255, 255);}
:is(.public-site,.admin-site):is(.public-site,.admin-site) .site-footer{background-color: var(--msa-frame-bg); border-color: var(--msa-frame-border);}
:is(.public-site,.admin-site):is(.public-site,.admin-site) .site-footer{grid-template-columns: minmax(0px, 1.25fr) minmax(140px, 0.65fr) minmax(0px, 1fr); gap: 22px 48px;}
:is(.public-site,.admin-site):is(.public-site,.admin-site) .site-footer .footer-navigation{grid-area: 1 / 2; display: flex; flex-direction: column; align-items: flex-start; gap: 9px; border: 0px; padding: 0px;}
:is(.public-site,.admin-site):is(.public-site,.admin-site) .site-footer .footer-navigation h2{display: block; margin: 0px 0px 5px;}
:is(.public-site,.admin-site):is(.public-site,.admin-site) .site-footer .footer-navigation a{padding: 0px; text-decoration: none; line-height: 1.6;}
:is(.public-site,.admin-site):is(.public-site,.admin-site) .site-footer .footer-navigation a:hover{text-decoration: underline; text-underline-offset: 4px;}
:is(.public-site,.admin-site):is(.public-site,.admin-site) .site-footer .footer-contact{grid-area: 1 / 3; justify-self: start; min-width: 0px;}
:is(.public-site,.admin-site):is(.public-site,.admin-site) .site-footer .footer-bottom{grid-column: 1 / -1; display: flex; align-items: center; justify-content: space-between; gap: 20px; border-top: 1px solid rgb(205, 217, 208); padding-top: 14px;}
:is(.public-site,.admin-site):is(.public-site,.admin-site) .footer-bottom small{font-size: 11px; color: rgb(91, 107, 96);}
:is(.public-site,.admin-site):is(.public-site,.admin-site) .site-footer .footer-instagram{margin: 0px; flex-shrink: 0;}
@media (max-width: 740px){:is(.public-site,.admin-site):is(.public-site,.admin-site) .site-footer{grid-template-columns: 1fr 1fr; gap: 26px 20px;}
:is(.public-site,.admin-site):is(.public-site,.admin-site) .site-footer .footer-brand{grid-area: 1 / 1 / auto / -1;}
:is(.public-site,.admin-site):is(.public-site,.admin-site) .site-footer .footer-navigation{grid-area: 2 / 1;}
:is(.public-site,.admin-site):is(.public-site,.admin-site) .site-footer .footer-contact{grid-area: 2 / 2;}
:is(.public-site,.admin-site):is(.public-site,.admin-site) .site-footer .footer-contact a{overflow-wrap: anywhere;}
:is(.public-site,.admin-site):is(.public-site,.admin-site) .site-footer .footer-bottom{grid-row: 3;}}
@media (max-width: 380px){:is(.public-site,.admin-site):is(.public-site,.admin-site) .site-footer{grid-template-columns: 1fr;}
:is(.public-site,.admin-site):is(.public-site,.admin-site) .site-footer .footer-navigation{grid-area: 2 / 1;}
:is(.public-site,.admin-site):is(.public-site,.admin-site) .site-footer .footer-contact{grid-area: 3 / 1;}
:is(.public-site,.admin-site):is(.public-site,.admin-site) .site-footer .footer-bottom{grid-row: 4;}}
:is(.public-site,.admin-site):is(.public-site,.admin-site) .footer-social{display:flex;align-items:center;gap:10px}:is(.public-site,.admin-site):is(.public-site,.admin-site) .site-footer .footer-whatsapp{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;margin:0;border:1px solid #bdcfc2;border-radius:50%;transition:background .2s,color .2s}:is(.public-site,.admin-site):is(.public-site,.admin-site) .site-footer .footer-whatsapp:hover{background:#174d36;color:white}
:is(.public-site,.admin-site) .site-header .header-actions{width:96px;justify-content:flex-end}:is(.public-site,.admin-site) .site-header .language-switch{display:flex;gap:0;justify-content:center}@media(max-width:1000px){:is(.public-site,.admin-site) .site-header .header-actions{width:92px}}
