:root {--site-header-height:104px;}
html {scroll-padding-top:calc(var(--site-header-height) + 12px);}
.site-header {gap:16px;}
.site-header > .brand {margin-right:auto;min-width:0;}
.header-shortcuts {display:flex;align-items:center;gap:4px;}
.header-shortcuts a {display:inline-flex;align-items:center;min-height:48px;padding:12px;font-size:.9375rem;font-weight:600;text-decoration:none;color:#eee9df;border-radius:8px;}
.header-shortcuts a:hover {color:var(--sun);background:#ffffff0d;}
.site-menu {flex:none;}
.site-menu summary {display:flex;align-items:center;justify-content:center;gap:10px;min-height:48px;min-width:90px;padding:10px 14px;border:1px solid #ffffff66;border-radius:999px;list-style:none;font-size:.9375rem;font-weight:600;cursor:pointer;user-select:none;}
.site-menu summary::-webkit-details-marker {display:none;}
.site-menu summary:hover,.site-menu[open] summary {background:#ff9349;color:#17130f;border-color:#ff9349;}
.menu-symbol {display:flex;flex-direction:column;justify-content:center;gap:5px;width:18px;height:20px;}
.menu-symbol span {display:block;width:18px;height:2px;background:currentColor;transition:transform .2s ease;}
.site-menu[open] .menu-symbol span:first-child {transform:translateY(3.5px) rotate(45deg);}
.site-menu[open] .menu-symbol span:last-child {transform:translateY(-3.5px) rotate(-45deg);}
.section-navigation {position:absolute;top:calc(100% + 8px);right:clamp(16px,5vw,74px);width:min(520px,calc(100vw - 32px));max-height:calc(100dvh - var(--site-header-height) - 24px);overflow:auto;overscroll-behavior:contain;padding:22px;border:1px solid #635344;border-radius:18px;background:#171511;color:#fff9f1;box-shadow:0 18px 50px #0004;}
.section-navigation > p {margin:0 0 14px;padding:0 10px;font-size:.875rem;color:#d8c8b8;line-height:1.5;}
.section-navigation ul {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px 10px;margin:0;padding:0;list-style:none;}
.section-navigation li {min-width:0;}
.section-navigation a {display:flex;align-items:center;min-height:48px;padding:12px 10px;border-radius:8px;color:inherit;font-size:1rem;line-height:1.5;text-decoration:none;overflow-wrap:anywhere;}
.section-navigation a:hover {background:#ffffff12;color:var(--sun);}
.section-navigation a:focus-visible,.site-menu summary:focus-visible,.header-shortcuts a:focus-visible {outline:3px solid var(--sun);outline-offset:3px;}
body:has(.site-menu[open]) .mobile-cta {display:none;}
main section[id],#receta,#tipo-lente,#quote-result,#tratamientos {scroll-margin-top:16px;}
@media (max-width:1279px) {.header-shortcuts {display:none;}.site-header {padding-left:24px;padding-right:24px;}.site-header .header-actions {gap:12px;}}
@media (max-width:660px) {
  :root {--site-header-height:126px;}
  .site-header {display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px 12px;padding:10px max(16px,env(safe-area-inset-right)) 10px max(16px,env(safe-area-inset-left));}
  .site-header > .brand {grid-column:1;grid-row:1;margin:0;gap:8px;}
  .site-header .logo-small {width:42px;height:42px;}
  .site-header .brand-wordmark {font-size:1.125rem;line-height:1.1;}
  .site-header .brand-wordmark > span {display:block;}
  .site-menu {grid-column:2;grid-row:1;}
  .site-menu summary {min-width:88px;min-height:48px;padding:10px 12px;}
  .site-header .header-actions {grid-column:1/-1;grid-row:2;display:flex;flex-direction:row;justify-content:space-between;align-items:center;gap:12px;}
  .site-header .header-actions .contact-direct {min-height:44px;max-width:none;padding:10px 14px;font-size:.9375rem;}
  .cart-toggle {min-height:44px;padding:8px 12px;}
  .cart-toggle-label {display:inline;}
  .section-navigation {right:16px;width:calc(100vw - 32px);padding:16px;padding-bottom:calc(16px + env(safe-area-inset-bottom));}
  .section-navigation ul {grid-template-columns:1fr;}
  .section-navigation a {min-height:48px;}
  .section-navigation > p {margin-bottom:8px;}
}
@media (prefers-reduced-motion:reduce) {.menu-symbol span {transition:none;}}
