/* Anega: una carta fácil de recorrer y contacto a un toque. */
[hidden] { display: none !important; }
:root { scroll-padding-top: 4.7rem; }
.theme-anega [id] { scroll-margin-top: 0; }
.theme-anega #menu-dishes, .theme-anega .menu-empty { scroll-margin-top: 8.5rem; }
body.theme-anega { --muted: #6c594a; --accent: #a34a26; }
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; border: 0; }
.theme-anega .hero { min-height: 0; padding-top: clamp(2.5rem, 5vw, 5rem); padding-bottom: 3.6rem; gap: clamp(2rem, 5vw, 5rem); }
.theme-anega .hero h1 { max-width: 12ch; font-size: clamp(3.3rem, 5.6vw, 5.9rem); }
.hero-essentials { display: grid; gap: .65rem; margin-top: 1.6rem; color: var(--muted); font-size: .82rem; }
.hero-essentials > * { display: flex; gap: .6rem; align-items: center; }
.hero-essentials a { width: fit-content; text-underline-offset: 4px; }
.hero-essentials .icon { width: 1.1rem; height: 1.1rem; color: #a04b24; }
.theme-anega .floating-note { animation: none; }
.theme-anega .hero-visual::after { animation: none; }
.theme-anega .photo-tag { font-size: .7rem; border-radius: .5rem; background: #302119e6; }
.theme-anega .story-section { padding-top: 3.7rem; padding-bottom: 1.5rem; }
.theme-anega .story-section h2 { font-size: clamp(2.3rem, 4vw, 3.5rem); }
.story-food-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 1.2rem; margin-top: 2rem; }
.story-food-grid figure { position: relative; margin: 0; height: 280px; overflow: hidden; border-radius: .7rem; background: var(--soft); }
.story-food-grid img { width: 100%; height: 100%; object-fit: cover; object-position: center 48%; }
.story-food-grid figcaption { position: absolute; bottom: 0; left: 0; right: 0; padding: 2rem 1.3rem 1rem; color: #fffaf1; font: 1.4rem Georgia, serif; background: linear-gradient(transparent, #302119d9); }
.menu-explorer { position: sticky; top: 4.6rem; z-index: 10; padding: 1rem 0 .8rem; margin: 0 0 1.3rem; background: #f4eee3f5; backdrop-filter: blur(16px); border-bottom: 1px solid var(--line); }
.menu-explorer-top { display: flex; align-items: center; gap: 1rem; margin-bottom: .8rem; }
.menu-search { display: flex; align-items: center; gap: .7rem; flex: 1; max-width: 550px; padding: .7rem 1rem; border: 1px solid #bda58f; border-radius: .6rem; background: var(--card); }
.menu-search:focus-within { outline: 2px solid #a44b24; outline-offset: 2px; }
.menu-search .icon { color: #936141; }
.menu-search input { width: 100%; min-width: 0; min-height: 26px; padding: 0; border: 0; outline: 0; background: transparent; color: var(--ink); font: inherit; font-size: .9rem; }
.menu-search input::placeholder { color: #776757; }
.menu-results { font-size: .75rem; color: #6c594a; white-space: nowrap; }
.menu-filters { display: flex; gap: .5rem; overflow-x: auto; padding: 3px 3px 7px; scrollbar-width: thin; scrollbar-color: #baa48e transparent; }
.menu-filters button { flex: none; min-height: 44px; padding: .6rem .9rem; border-radius: 999px; border: 1px solid #cbb59e; background: #fffaf1; color: #4a3020; font: inherit; font-size: .78rem; cursor: pointer; transition: background .18s, color .18s; }
.menu-filters button[aria-pressed="true"] { background: #3b2419; border-color: #3b2419; color: #fffaf1; }
.menu-filters button:hover { border-color: #9a512e; }
.theme-anega .menu-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); align-items: start; gap: 1.2rem; }
.theme-anega .menu-category-card { padding: 1.6rem; border-radius: .8rem; background: #fffaf1; color: #302119; border-color: #d9c6b1; box-shadow: 0 4px 20px #38241905; }
.theme-anega .menu-card h3 { font-size: 1.8rem; margin-top: .65rem; margin-bottom: 1rem; }
.theme-anega .menu-card .menu-number { color: #97512e; }
.theme-anega .menu-card .menu-icon { color: #97512e; border-color: #dac2aa; }
.theme-anega .menu-list { gap: 0; }
.theme-anega .menu-list li { align-items: flex-start; gap: 1.1rem; padding: .75rem 0; border-color: #e6d8c8; font-size: .93rem; color: #302119; }
.theme-anega .menu-list li:last-child { border-bottom: 0; padding-bottom: 0; }
.theme-anega .menu-list li strong { color: #7d391d; font-size: .93rem; font-variant-numeric: tabular-nums; }
.dish-description { display: block; margin-top: .35rem; color: #77604e; font-size: .78rem; line-height: 1.5; max-width: 36ch; }
.theme-anega .menu-card .menu-category-note { color: #6c594a; line-height: 1.65; font-size: .82rem; padding-top: .7rem; }
.menu-empty { padding: 2.5rem 1.5rem; text-align: center; border: 1px dashed #c8a88b; border-radius: .8rem; }
.menu-empty h3 { font: 1.7rem Georgia, serif; margin: 0 0 .6rem; }
.menu-empty p { color: var(--muted); }
.theme-anega .menu-actions { margin-top: 1.3rem !important; }
.theme-anega .fine-note { font-size: .8rem; line-height: 1.6; border-radius: 0 .4rem .4rem 0; }
.visit-faq { padding-top: 0; padding-bottom: 1rem; }
.faq-list { border-top: 1px solid var(--line); }
.faq-list details { border-bottom: 1px solid var(--line); }
.faq-list summary { display: flex; justify-content: space-between; align-items: center; gap: 1rem; padding: 1.3rem 0; list-style: none; font: 1.25rem Georgia, serif; cursor: pointer; }
.faq-list summary::-webkit-details-marker { display: none; }
.faq-list summary::after { content: '+'; display: grid; place-items: center; flex: none; width: 1.7rem; height: 1.7rem; border: 1px solid #c5aa8e; border-radius: 50%; color: #93512e; font: 1.25rem system-ui, sans-serif; }
.faq-list details[open] summary::after { content: '−'; }
.faq-list details > div { padding: 0 2.5rem 1.5rem 0; max-width: 760px; }
.faq-list p { margin: 0 0 .8rem; color: var(--muted); line-height: 1.7; }
.faq-list a { color: #823d21; font-size: .85rem; text-underline-offset: 4px; }
.mobile-actions { display: none; }
.theme-anega .site-nav a[aria-current="location"] { color: #8b4120; }
.dialog-controls { display: flex; justify-content: center; align-items: center; gap: 1rem; padding: .8rem; }
.dialog-controls button { display: grid; place-items: center; width: 44px; height: 44px; color: #fff; background: #ffffff13; border: 1px solid #ffffff55; border-radius: 50%; font: 1.5rem system-ui; cursor: pointer; }
.dialog-counter { color: #fff; font-size: .8rem; }
.photo-dialog { overflow: hidden; }
.photo-dialog img { width: min(85vw, 850px); height: min(68vh, 720px); object-fit: contain; }
.photo-dialog p { padding: .4rem 1rem; text-align: center; }
.photo-dialog .dialog-close { z-index: 2; min-height: 44px; }
body:has(.photo-dialog[open]) { overflow: hidden; }
@media (max-width: 900px) { .menu-explorer { top: 4.6rem; } .theme-anega .photo-tag { flex-direction: column; align-items: flex-start; gap: .2rem; } }
@media (max-width: 700px) {
  .theme-anega { padding-bottom: calc(76px + env(safe-area-inset-bottom)); }
  .theme-anega .brand-name strong { font-size: .82rem; }
  .theme-anega .hero { padding-top: 2.4rem; padding-bottom: 2.5rem; gap: 2rem; }
  .theme-anega .hero h1 { font-size: clamp(3.15rem, 13vw, 4.8rem); max-width: 12ch; }
  .theme-anega .hero-photo { aspect-ratio: 1.12; }
  .theme-anega .hero-photo img { object-position: center 34%; }
  .theme-anega .floating-note { top: 9%; right: -.1rem; max-width: 108px; }
  .theme-anega .hero-essentials { font-size: .78rem; }
  .theme-anega .hero-actions .button { flex: 1; min-height: 48px; padding-inline: .8rem; }
  .theme-anega .story-section { padding-top: 2.8rem; padding-bottom: 0; }
  .story-food-grid { gap: .6rem; margin-top: 1.5rem; }
  .story-food-grid figure { height: 220px; }
  .story-food-grid figcaption { padding: 1.8rem .65rem .8rem; font-size: 1rem; }
  .theme-anega .section { padding-inline: 1.2rem; }
  .menu-explorer { top: 4.1rem; margin-left: -1.2rem; margin-right: -1.2rem; padding: .7rem 1.2rem .3rem; }
  .menu-explorer-top { gap: .5rem; }
  .menu-results { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
  .menu-search input { font-size: 16px; }
  .theme-anega .menu-grid { grid-template-columns: 1fr; gap: .9rem; }
  .theme-anega .menu-category-card { padding: 1.3rem; }
  .theme-anega .menu-list li { font-size: .93rem; }
  .theme-anega .photo-tag { flex-direction: row; align-items: center; }
  .theme-anega .gallery-grid { grid-template-columns: 1fr; }
  .theme-anega .gallery-grid figure, .theme-anega .gallery-grid figure:last-child { aspect-ratio: 1.4; }
  .visit-faq { padding-top: 0 !important; padding-bottom: 0 !important; }
  .faq-list summary { font-size: 1.1rem; min-height: 64px; }
  .theme-anega .visit-section { padding-top: 3rem; }
  .mobile-actions { display: grid; position: fixed; z-index: 25; bottom: 0; left: 0; right: 0; grid-template-columns: 1fr 1fr 1.2fr; gap: .4rem; padding: .6rem .75rem calc(.6rem + env(safe-area-inset-bottom)); border-top: 1px solid #d9c6b1; background: #fffaf1f5; backdrop-filter: blur(14px); box-shadow: 0 -6px 24px #3b241910; }
  .mobile-actions a { display: flex; align-items: center; justify-content: center; gap: .45rem; min-height: 44px; color: #583b28; text-decoration: none; border-radius: .5rem; font-size: .74rem; font-weight: 650; }
  .mobile-actions .mobile-whatsapp { color: #fffaf1; background: #3b2419; }
  .mobile-actions .icon { width: 1rem; height: 1rem; }
  .photo-dialog img { width: 90vw; height: 57vh; }
  .theme-anega .site-footer { padding-bottom: 2rem; }
}
@media (prefers-reduced-motion: reduce) { *, *::before, *::after { scroll-behavior: auto !important; animation: none !important; transition: none !important; } }
