:root{--ink:#261c16;--muted:#65564d;--paper:#fffdf8;--cream:#f4eadc;--earth:#6f3f25;--dark:#241913;--rust:#aa4129;--gold:#d7a64d;--green:#2f724d;--line:#dfd0bf;--white:#fff;--shadow:0 18px 50px rgba(45,30,20,.12);--radius:1.25rem;--shell:min(72rem,calc(100% - 2rem));font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink);background:var(--paper);line-height:1.6}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);padding-bottom:4.8rem}img{max-width:100%;display:block}a{color:inherit}button,input,select,textarea{font:inherit}button{cursor:pointer}.shell{width:var(--shell);margin-inline:auto}.skip-link{position:fixed;left:1rem;top:-5rem;z-index:9999;background:#fff;padding:.8rem 1rem}.skip-link:focus{top:1rem}.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.form-honey{position:absolute!important;left:-9999px!important}.demo-banner{background:#111;color:#f9ead3;font-size:.78rem}.demo-banner__inner{display:flex;gap:.8rem;justify-content:space-between;align-items:center;padding:.55rem 0}.demo-banner a{color:var(--gold);font-weight:800;white-space:nowrap}.site-header{position:sticky;top:0;z-index:900;background:rgba(255,253,248,.97);border-bottom:1px solid var(--line);backdrop-filter:blur(12px)}.header-inner{min-height:4.4rem;display:flex;align-items:center;justify-content:space-between;gap:1rem}.brand{display:inline-flex;align-items:center;gap:.7rem;text-decoration:none}.brand__mark{width:2.75rem;height:2.75rem;border-radius:50%;display:grid;place-items:center;background:var(--dark);color:var(--gold);border:2px solid var(--gold);font-family:Georgia,serif;font-weight:900}.brand__copy{display:grid;line-height:1.1}.brand__copy strong{font-family:Georgia,serif;font-size:1.15rem}.brand__copy small{color:var(--muted);font-size:.72rem;margin-top:.25rem}.menu-toggle{border:1px solid var(--line);background:#fff;border-radius:999px;padding:.65rem .9rem;font-weight:800}.main-nav{display:none;position:absolute;top:100%;left:0;right:0;background:var(--paper);border-bottom:1px solid var(--line);padding:.7rem 1rem 1rem;box-shadow:var(--shadow)}.main-nav.is-open{display:grid}.main-nav a{padding:.8rem .6rem;text-decoration:none;font-weight:750;border-radius:.65rem}.main-nav a:hover,.main-nav a.is-active{background:var(--cream);color:var(--rust)}.main-nav .nav-proposal{color:var(--rust)}h1,h2,h3{font-family:Georgia,"Times New Roman",serif;line-height:1.08;margin:0 0 .75rem}h1{font-size:clamp(2.5rem,10vw,5.2rem)}h2{font-size:clamp(2rem,7vw,3.5rem)}h3{font-size:1.25rem}p{margin:.2rem 0 1rem}.lead{font-size:1.12rem}.eyebrow{margin:0 0 .8rem;color:var(--rust);font-size:.76rem;font-weight:900;text-transform:uppercase;letter-spacing:.14em}.eyebrow--light{color:#f2c66f}.section{padding:4.5rem 0}.section--tight{padding:2rem 0}.section--cream{background:var(--cream)}.section-heading{max-width:48rem;margin-bottom:2rem}.section-heading--center{text-align:center;margin-inline:auto}.button-row{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:1.5rem}.btn{min-height:3.25rem;display:inline-flex;align-items:center;justify-content:center;padding:.75rem 1.2rem;border-radius:999px;border:1px solid transparent;text-decoration:none;font-weight:900;line-height:1.2}.btn--primary{background:var(--rust);color:#fff}.btn--light{background:#fff;color:var(--dark)}.btn--ghost{border-color:rgba(255,255,255,.55);color:#fff;background:rgba(20,10,5,.22)}.btn--outline{border-color:var(--earth);color:var(--earth);background:transparent}.btn--whatsapp{background:#167c49;color:#fff}.btn--block{width:100%}.text-link{font-weight:900;color:var(--rust);text-decoration-thickness:2px;text-underline-offset:.25em}.text-link--light{color:#ffd884}.hero{position:relative;min-height:39rem;display:flex;align-items:flex-end;color:#fff;overflow:hidden}.hero__image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.hero__veil{position:absolute;inset:0;background:linear-gradient(180deg,rgba(20,10,5,.2),rgba(24,12,7,.86) 70%,rgba(24,12,7,.98))}.hero__content{position:relative;z-index:1;padding-top:7rem;padding-bottom:4rem;max-width:48rem}.hero__content p:not(.eyebrow){font-size:1.05rem;max-width:42rem}.status-panel{background:var(--dark);color:#fff}.status-panel__grid{display:grid}.status-panel__grid>a,.business-status{padding:1.15rem 0;border-bottom:1px solid rgba(255,255,255,.13);text-decoration:none}.status-panel__grid>a{display:grid}.status-panel__grid span,.business-status small{color:#cdbfb4;font-size:.78rem}.business-status{display:flex;gap:.8rem;align-items:center}.business-status strong{display:block}.status-dot{width:.8rem;height:.8rem;border-radius:50%;background:#b9afa8;box-shadow:0 0 0 .3rem rgba(255,255,255,.07);flex:none}.business-status.is-open .status-dot{background:#43c57e}.business-status.is-open strong{color:#8fe0b0}.business-status.is-closed .status-dot{background:#e26859}.business-status.is-closed strong{color:#ffad9e}.reputation-strip{display:grid;gap:1rem}.award-card{background:var(--dark);color:#fff;padding:1.35rem;border-radius:var(--radius);display:grid}.award-card span,.award-card small{color:#d5c7bc}.award-card strong{font-family:Georgia,serif;font-size:1.65rem;color:var(--gold)}.feature-chips{display:flex;flex-wrap:wrap;gap:.6rem;align-content:center}.feature-chips span{background:#fff;border:1px solid var(--line);border-radius:999px;padding:.55rem .8rem;font-weight:750;font-size:.82rem}.split-intro{display:grid;gap:2rem}.photo-stack{display:grid;grid-template-columns:1fr 1fr;gap:.7rem;min-height:20rem}.photo-stack img{width:100%;height:100%;object-fit:cover;border-radius:var(--radius)}.photo-stack img:first-child{transform:translateY(1.2rem)}.dish-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem}.dish-card{background:#fff;border:1px solid var(--line);border-radius:1rem;overflow:hidden}.dish-card img{width:100%;aspect-ratio:1/1;object-fit:cover}.dish-card div{padding:.9rem}.dish-card h3{font-size:1.05rem}.dish-card p{margin:0;color:var(--rust);font-weight:850}.section-cta{text-align:center;margin-top:2rem}.order-promo{background:var(--rust);color:#fff}.order-promo__grid{display:grid;gap:2rem}.order-promo__steps{display:grid;gap:.75rem}.order-promo__steps>div{display:flex;gap:.85rem;align-items:center;padding:.9rem;border:1px solid rgba(255,255,255,.25);border-radius:1rem}.order-promo__steps span{width:2.2rem;height:2.2rem;border-radius:50%;display:grid;place-items:center;background:var(--gold);color:var(--dark);font-weight:900}.order-promo__steps p{margin:0}.platform-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem}.platform-grid a{padding:1rem;border:1px solid var(--line);border-radius:1rem;text-decoration:none;background:#fff;display:grid}.platform-grid strong{font-size:1.05rem}.platform-grid span{color:var(--muted);font-size:.8rem}.page-hero{padding:5rem 0 3.5rem;background:var(--dark);color:#fff}.page-hero p{max-width:50rem;color:#e3d7cf}.page-hero__grid{display:grid;gap:1.5rem}.page-hero__grid img{border-radius:var(--radius);width:100%;height:16rem;object-fit:cover}.page-hero--orders{background:linear-gradient(135deg,#241913,#6f3f25)}.page-hero--contact{background:linear-gradient(135deg,#241913,#4b2b1d)}.page-hero--proposal{background:linear-gradient(135deg,#241913,#7f301f)}.page-hero--manual{background:linear-gradient(135deg,#241913,#304e3d)}.menu-notice{background:#fff5db;border:1px solid #e2b95f;border-radius:var(--radius);padding:1.2rem}.menu-notice strong{display:block;color:var(--rust);font-size:1.15rem}.menu-notice p{margin:.25rem 0}.menu-notice a{font-weight:900;color:var(--rust)}.category-nav{display:flex;overflow:auto;gap:.5rem;padding-bottom:.8rem;position:sticky;top:4.45rem;background:var(--paper);z-index:40}.category-nav a{white-space:nowrap;padding:.6rem .85rem;border:1px solid var(--line);border-radius:999px;text-decoration:none;background:#fff;font-weight:800;font-size:.82rem}.menu-sections{display:grid;gap:2.5rem}.menu-category{scroll-margin-top:8rem}.menu-category__head{display:flex;gap:1rem;align-items:flex-start;margin-bottom:1rem}.menu-category__head>span{width:2.8rem;height:2.8rem;border-radius:50%;display:grid;place-items:center;background:var(--dark);color:var(--gold);font-weight:900;flex:none}.menu-category__head p{color:var(--muted)}.menu-table{border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;background:#fff}.menu-table__header,.menu-table__row{display:grid;grid-template-columns:minmax(0,1fr) 5.7rem 5.7rem;gap:.4rem;align-items:center}.menu-table__header{padding:.65rem .8rem;background:var(--dark);color:#fff;font-size:.72rem;font-weight:850}.menu-table__header span:not(:first-child){text-align:right}.menu-table__row{padding:.75rem .8rem;border-bottom:1px solid var(--line)}.menu-table__row:last-child{border-bottom:0}.menu-table__row>span{text-align:right;font-weight:850;color:var(--earth)}.menu-table__row small,.menu-table__row em{display:block;color:var(--muted);font-size:.72rem}.menu-table__row em{color:var(--rust);font-style:normal;font-weight:800}.menu-table__row.is-demo{background:#fff8e9}.menu-footnote{margin-top:2rem;padding:1.2rem;background:var(--cream);border-radius:var(--radius)}.confirmation-rule{display:flex;gap:1rem;align-items:flex-start;background:#fff2d4;border:2px solid #dfa949;padding:1.1rem;border-radius:var(--radius)}.confirmation-rule>span{width:2.5rem;height:2.5rem;border-radius:50%;display:grid;place-items:center;background:var(--gold);font-weight:900;flex:none}.confirmation-rule h2{font-size:1.35rem}.order-layout{display:grid;gap:2rem}.order-progress{display:grid;grid-template-columns:repeat(4,1fr);gap:.3rem;margin-bottom:1.2rem}.order-progress span{text-align:center;padding:.55rem .25rem;background:var(--cream);font-size:.7rem;font-weight:850;border-radius:.55rem}.order-progress .is-current{background:var(--rust);color:#fff}.order-categories{display:grid;gap:.8rem}.order-category{border:1px solid var(--line);border-radius:1rem;background:#fff;overflow:hidden}.order-category summary{list-style:none;display:grid;grid-template-columns:2.2rem 1fr auto;gap:.7rem;align-items:center;padding:1rem;cursor:pointer}.order-category summary::-webkit-details-marker{display:none}.order-category summary>span{width:2.2rem;height:2.2rem;border-radius:50%;display:grid;place-items:center;background:var(--dark);color:var(--gold);font-size:.75rem}.order-category summary small{color:var(--muted)}.order-items{border-top:1px solid var(--line)}.order-item{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.8rem;align-items:center;padding:.85rem 1rem;border-bottom:1px solid var(--line)}.order-item:last-child{border-bottom:0}.order-item small{display:block;color:var(--muted);font-size:.75rem}.order-item.is-demo{background:#fff8e9}.qty-control{display:grid;grid-template-columns:2.3rem 2.6rem 2.3rem;border:1px solid var(--line);border-radius:999px;overflow:hidden}.qty-control button{border:0;background:var(--cream);font-weight:900;font-size:1.2rem}.qty-control input{width:100%;text-align:center;border:0;padding:.45rem .1rem;-moz-appearance:textfield}.qty-control input::-webkit-outer-spin-button,.qty-control input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.customer-panel{margin-top:2rem;padding:1.2rem;background:var(--cream);border-radius:var(--radius)}.form-grid{display:grid;gap:1rem}.form-grid label,.static-form>label{display:grid;gap:.35rem;font-weight:800}.form-grid small,.static-form small{font-weight:500;color:var(--muted)}input,select,textarea{width:100%;border:1px solid #cdbdac;border-radius:.75rem;background:#fff;padding:.85rem;color:var(--ink)}textarea{resize:vertical}.acceptance{display:flex!important;grid-template-columns:auto 1fr!important;align-items:flex-start;gap:.7rem!important;margin-top:1rem;font-weight:650!important}.acceptance input{width:1.2rem;height:1.2rem;margin-top:.2rem}.demo-notice,.form-message,.contact-warning,.manual-alert{margin-top:1rem;padding:1rem;border-radius:1rem;background:#fff2d4;border:1px solid #e4bb63}.order-summary{background:var(--dark);color:#fff;border-radius:var(--radius);padding:1.2rem}.order-summary__head h2{font-size:2rem}.summary-line{display:flex;justify-content:space-between;gap:1rem;padding:.6rem 0;border-bottom:1px solid rgba(255,255,255,.15);font-size:.86rem}.summary-line strong{white-space:nowrap}.empty-cart{color:#cfc2b8}.order-total{display:flex;justify-content:space-between;gap:1rem;padding:1rem 0;margin:1rem 0;border-top:2px solid var(--gold);border-bottom:1px solid rgba(255,255,255,.2)}.order-total strong{color:var(--gold);font-size:1.25rem}.small-note{font-size:.75rem;color:#d4c7bd}.order-summary .btn{margin-top:.65rem}.order-mobile-bar{position:fixed;left:1rem;right:1rem;bottom:5.2rem;z-index:800;border:0;border-radius:999px;background:var(--rust);color:#fff;padding:.7rem 1rem;display:flex;align-items:center;justify-content:space-between;box-shadow:0 15px 35px rgba(50,20,10,.35)}.order-mobile-bar span{display:grid;text-align:left}.order-mobile-bar small{opacity:.8}.order-mobile-bar b{background:#fff;color:var(--rust);padding:.55rem .8rem;border-radius:999px}.contact-layout{display:grid;gap:1rem}.contact-card,.hours-card{padding:1.3rem;border:1px solid var(--line);border-radius:var(--radius);background:#fff}.contact-phone{display:block;font-size:2rem;font-family:Georgia,serif;font-weight:900;color:var(--rust);margin:1rem 0}.button-stack{display:grid;gap:.65rem}.business-status--card{color:var(--ink);border:0;padding:.8rem 0}.business-status--card small{color:var(--muted)}.hours-list{margin:1rem 0}.hours-list>div{display:flex;justify-content:space-between;gap:1rem;border-bottom:1px solid var(--line);padding:.65rem 0}.hours-list dd{margin:0;text-align:right;font-weight:800}.review-platforms{display:grid;gap:.8rem}.review-platforms a{display:grid;padding:1.1rem;background:#fff;border:1px solid var(--line);border-radius:1rem;text-decoration:none}.review-platforms span{font-size:.75rem;color:var(--rust);font-weight:900;text-transform:uppercase}.review-platforms strong{font-family:Georgia,serif;font-size:1.25rem}.review-platforms small{color:var(--muted)}.review-platforms b{margin-top:.8rem;color:var(--rust)}.form-contact-grid{display:grid;gap:2rem}.form-card{padding:1.2rem;background:#fff;border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}.static-form{display:grid;gap:1rem}.reasons-grid{display:grid;gap:1rem}.reasons-grid article{padding:1.2rem;border:1px solid var(--line);border-radius:var(--radius);background:#fff}.reasons-grid article>span{display:grid;place-items:center;width:2.4rem;height:2.4rem;border-radius:50%;background:var(--dark);color:var(--gold);font-weight:900;margin-bottom:1rem}.reasons-grid h2{font-size:1.45rem}.proposal-deliverables{display:grid;gap:2rem}.check-list{padding:0;list-style:none;display:grid;gap:.65rem}.check-list li{position:relative;padding-left:1.7rem}.check-list li:before{content:'✓';position:absolute;left:0;color:var(--green);font-weight:900}.proposal-principles{display:grid;gap:.8rem}.proposal-principles>div{background:#fff;padding:1rem;border-radius:1rem;border:1px solid var(--line)}.proposal-principles strong{font-size:1.1rem}.proposal-response{background:var(--dark);color:#fff}.proposal-response__grid{display:grid;gap:2rem}.form-card--dark{color:var(--ink)}fieldset{border:0;padding:0;margin:0}legend{font-weight:900;margin-bottom:.7rem}.choice-grid{display:grid;gap:.7rem}.choice-grid label{display:grid;grid-template-columns:auto 1fr;gap:.7rem;align-items:flex-start;padding:.9rem;border:1px solid var(--line);border-radius:1rem}.choice-grid input{width:1.2rem;height:1.2rem;margin-top:.25rem}.choice-grid span{display:grid}.choice-grid small{color:var(--muted)}.manual-index{display:flex;gap:.5rem;overflow:auto}.manual-index a{white-space:nowrap;padding:.6rem .8rem;border:1px solid var(--line);border-radius:999px;text-decoration:none;font-weight:800;background:#fff}.manual-section{display:grid;gap:2rem}.manual-number{display:grid;place-items:center;width:3rem;height:3rem;border-radius:50%;background:var(--dark);color:var(--gold);font-weight:900;margin-bottom:1rem}.manual-content{max-width:50rem}.step-list{list-style:none;padding:0;display:grid;gap:.8rem}.step-list li{display:grid;padding:1rem;border:1px solid var(--line);border-radius:1rem;background:#fff}.step-list span{color:var(--muted)}.reply-examples,.manual-cards{display:grid;gap:.8rem}.reply-examples article,.manual-cards article{padding:1rem;background:#fff;border:1px solid var(--line);border-radius:1rem}.faq details{border-bottom:1px solid var(--line);padding:1rem 0}.faq summary{font-weight:900;cursor:pointer}.manual-final{background:var(--green);color:#fff}.check-list--light li:before{color:#c9f3db}.mobile-actions{position:fixed;left:0;right:0;bottom:0;z-index:850;display:grid;grid-template-columns:repeat(4,1fr);background:#fff;border-top:1px solid var(--line);padding-bottom:env(safe-area-inset-bottom);box-shadow:0 -12px 30px rgba(45,30,20,.12)}.mobile-actions a{min-height:4.4rem;display:grid;place-items:center;text-decoration:none;color:var(--earth);font-weight:850}.mobile-actions span{font-size:1.3rem;line-height:1}.mobile-actions small{font-size:.68rem}.mobile-actions__order{background:var(--rust)!important;color:#fff!important}.site-footer{background:#17110e;color:#e8ddd4;padding:3.5rem 0 5.5rem}.footer-grid{display:grid;gap:2rem}.site-footer h2{font-family:inherit;font-size:.8rem;text-transform:uppercase;letter-spacing:.1em;color:var(--gold)}.site-footer p{color:#bdaea3}.site-footer a{display:block;margin:.45rem 0;color:#fff}.brand--footer{margin-bottom:1rem}.footer-bottom{margin-top:2rem;padding-top:1.3rem;border-top:1px solid #4a3d36;display:flex;flex-wrap:wrap;justify-content:space-between;gap:1rem;font-size:.8rem}.footer-bottom a{display:inline;color:var(--gold)}
@media(min-width:48rem){body{padding-bottom:0}.menu-toggle{display:none}.main-nav{display:flex;position:static;background:transparent;border:0;padding:0;box-shadow:none;align-items:center;gap:.1rem}.main-nav a{padding:.6rem .72rem}.mobile-actions{display:none}.hero{min-height:44rem}.status-panel__grid{grid-template-columns:1.2fr 1fr 1.2fr}.status-panel__grid>a,.business-status{padding:1.35rem;border-bottom:0}.status-panel__grid>*+*{border-left:1px solid rgba(255,255,255,.13)}.reputation-strip{grid-template-columns:1fr 2fr;align-items:stretch}.split-intro{grid-template-columns:1fr 1fr;align-items:center}.dish-grid{grid-template-columns:repeat(4,1fr)}.platform-grid{grid-template-columns:repeat(3,1fr)}.page-hero__grid{grid-template-columns:1.3fr .7fr;align-items:center}.menu-table__header,.menu-table__row{grid-template-columns:minmax(0,1fr) 8rem 8rem;padding-inline:1.2rem}.order-layout{grid-template-columns:minmax(0,1.7fr) minmax(19rem,.75fr);align-items:start}.order-summary{position:sticky;top:6rem}.order-mobile-bar{display:none}.form-grid{grid-template-columns:repeat(2,1fr)}.form-grid__wide{grid-column:1/-1}.contact-layout{grid-template-columns:1fr 1fr}.review-platforms{grid-template-columns:repeat(3,1fr)}.form-contact-grid{grid-template-columns:.8fr 1.2fr;align-items:start}.reasons-grid{grid-template-columns:repeat(2,1fr)}.proposal-deliverables,.proposal-response__grid{grid-template-columns:1.1fr .9fr;align-items:start}.manual-section{grid-template-columns:18rem 1fr}.reply-examples{grid-template-columns:repeat(3,1fr)}.manual-cards{grid-template-columns:repeat(2,1fr)}.footer-grid{grid-template-columns:1.5fr .75fr .75fr}.site-footer{padding-bottom:3rem}}
@media(min-width:68rem){.order-promo__grid{grid-template-columns:1.2fr .8fr;align-items:center}.reasons-grid{grid-template-columns:repeat(3,1fr)}.menu-sections{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}.menu-category{break-inside:avoid}.menu-category:nth-child(1),.menu-category:nth-child(3){grid-column:span 1}.manual-cards{grid-template-columns:repeat(3,1fr)}}
@media(max-width:27rem){.demo-banner__inner{align-items:flex-start}.demo-banner__inner span{max-width:70%}.menu-table__header,.menu-table__row{grid-template-columns:minmax(0,1fr) 4.6rem 4.6rem;font-size:.82rem}.order-item{grid-template-columns:1fr}.qty-control{justify-self:start}.hero__content{padding-bottom:3rem}.platform-grid{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}}

/* ==========================================================
   O GALO v0.4 — Correcciones responsivas y marcos de imágenes
   ========================================================== */

html,
body {
  width: 100%;
  max-width: 100%;
  overflow-x: clip;
}

main,
section,
.shell,
.split-intro > *,
.page-hero__grid > *,
.order-layout > *,
.contact-layout > *,
.form-contact-grid > * {
  min-width: 0;
}

img {
  width: 100%;
  height: auto;
}

/* Marco reutilizable: todas las fotografías tienen el mismo acabado. */
.media-frame {
  position: relative;
  display: block;
  width: 100%;
  margin: 0;
  overflow: hidden;
  border: 0.4rem solid var(--white);
  border-radius: calc(var(--radius) + 0.2rem);
  background: #eadfce;
  box-shadow: 0 14px 34px rgba(45, 30, 20, 0.16);
  isolation: isolate;
}

.media-frame::after {
  content: "";
  position: absolute;
  inset: 0;
  border: 1px solid rgba(38, 28, 22, 0.12);
  border-radius: inherit;
  pointer-events: none;
}

.media-frame > img {
  display: block;
  width: 100%;
  height: 100%;
  max-width: none;
  object-fit: cover;
  object-position: center;
}

.media-frame.has-missing-media {
  min-height: 12rem;
  display: grid;
  place-items: center;
  background:
    linear-gradient(135deg, rgba(111, 63, 37, 0.08), rgba(170, 65, 41, 0.08)),
    var(--cream);
}

.media-frame.has-missing-media::before {
  content: "Fotografía pendiente";
  padding: 1rem;
  color: var(--muted);
  font-size: 0.85rem;
  font-weight: 800;
  text-align: center;
}

/* Portada: el fondo siempre ocupa exactamente su zona. */
.hero {
  min-height: clamp(34rem, 82svh, 44rem);
}

.hero__image {
  max-width: none;
  object-position: center 48%;
}

/* Galería de interior/terraza: se elimina el desplazamiento que descuadraba. */
.photo-stack {
  display: grid;
  grid-template-columns: 1fr;
  gap: 1rem;
  min-height: 0;
}

.photo-stack img,
.photo-stack img:first-child {
  transform: none;
}

.media-frame--venue {
  aspect-ratio: 16 / 10;
}

/* Tarjetas de platos: misma altura, misma proporción y textos alineados. */
.dish-grid {
  align-items: stretch;
  grid-auto-rows: 1fr;
}

.dish-card {
  display: flex;
  min-width: 0;
  height: 100%;
  flex-direction: column;
  overflow: hidden;
}

.dish-card__media {
  flex: 0 0 auto;
  border: 0;
  border-radius: 0;
  box-shadow: none;
  aspect-ratio: 16 / 10;
}

.dish-card__media::after {
  border-radius: 0;
}

.dish-card__content {
  display: flex;
  min-height: 7.2rem;
  flex: 1 1 auto;
  flex-direction: column;
  justify-content: space-between;
  gap: 0.35rem;
  padding: 1rem;
}

.dish-card__content h3,
.dish-card__content p {
  overflow-wrap: anywhere;
}

/* Imagen de cabecera de Carta: marco fijo y sin deformación. */
.page-hero__media {
  width: 100%;
}

.media-frame--page-hero {
  aspect-ratio: 16 / 10;
}

.page-hero__grid > img,
.page-hero__media > img {
  height: 100%;
  border-radius: 0;
  object-fit: cover;
}

/* Evita desbordamientos en tablas, formularios y botones. */
.menu-table {
  max-width: 100%;
}

.menu-table__row strong,
.menu-table__row small,
.menu-table__row em,
.platform-grid strong,
.platform-grid span,
.contact-card,
.hours-card {
  overflow-wrap: anywhere;
}

input,
select,
textarea,
button,
.btn {
  max-width: 100%;
}

textarea {
  resize: vertical;
}

@media (max-width: 35.99rem) {
  :root {
    --shell: min(100% - 1.2rem, 72rem);
  }

  body {
    padding-bottom: calc(4.8rem + env(safe-area-inset-bottom));
  }

  .section {
    padding-block: 3.25rem;
  }

  h1 {
    font-size: clamp(2.35rem, 12vw, 3.5rem);
    overflow-wrap: anywhere;
  }

  h2 {
    font-size: clamp(1.9rem, 9vw, 2.7rem);
  }

  .hero__content {
    padding-top: 5.5rem;
    padding-bottom: 2.7rem;
  }

  .hero__content p:not(.eyebrow) {
    font-size: 1rem;
  }

  .button-row {
    display: grid;
    grid-template-columns: 1fr;
    width: 100%;
  }

  .button-row .btn,
  .button-row .text-link {
    width: 100%;
  }

  .button-row .text-link {
    padding-block: 0.65rem;
  }

  .dish-grid {
    grid-template-columns: 1fr;
    gap: 1rem;
  }

  .dish-card__media {
    aspect-ratio: 16 / 9;
  }

  .dish-card__content {
    min-height: 0;
  }

  .platform-grid {
    grid-template-columns: 1fr;
  }

  .status-panel__grid > a,
  .business-status {
    padding-inline: 0.2rem;
  }

  .menu-table__header,
  .menu-table__row {
    grid-template-columns: minmax(0, 1fr) 4.8rem 4.8rem;
    gap: 0.3rem;
    padding-inline: 0.65rem;
  }

  .menu-table__header {
    font-size: 0.66rem;
  }

  .menu-table__row {
    font-size: 0.82rem;
  }

  .category-nav {
    margin-inline: -0.6rem;
    padding-inline: 0.6rem;
    scrollbar-width: thin;
  }

  .mobile-actions {
    min-height: calc(4.4rem + env(safe-area-inset-bottom));
  }

  .mobile-actions a {
    min-width: 0;
    padding-inline: 0.15rem;
  }
}

@media (min-width: 36rem) {
  .dish-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (min-width: 48rem) {
  .photo-stack {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    align-items: stretch;
  }

  .media-frame--venue {
    aspect-ratio: 4 / 5;
  }

  .dish-card__media {
    aspect-ratio: 1 / 1;
  }

  .media-frame--page-hero {
    aspect-ratio: 4 / 3;
  }
}

@media (min-width: 68rem) {
  .dish-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
}


/* O Galo v0.5 · reservas de mesa y navegación móvil */
.page-hero--reservations {
  background: linear-gradient(135deg, #241913, #31513f 58%, #6f3f25);
}

.reservation-promo {
  background: var(--green);
  color: var(--white);
}

.reservation-promo__grid,
.reservation-layout {
  display: grid;
  gap: 1.5rem;
}

.reservation-promo__facts {
  display: grid;
  gap: .7rem;
}

.reservation-promo__facts span {
  display: flex;
  align-items: center;
  gap: .8rem;
  padding: .9rem 1rem;
  border: 1px solid rgba(255,255,255,.28);
  border-radius: 1rem;
  background: rgba(0,0,0,.1);
}

.reservation-promo__facts b {
  display: grid;
  place-items: center;
  width: 2.25rem;
  height: 2.25rem;
  flex: 0 0 auto;
  border-radius: 50%;
  background: var(--gold);
  color: var(--dark);
}

.confirmation-rule--reservation {
  background: #edf7f0;
  border-color: #67a982;
}

.confirmation-rule--reservation > span {
  background: var(--green);
  color: var(--white);
}

.reservation-form {
  padding: clamp(1rem, 3vw, 1.7rem);
}

.reservation-fields,
.reservation-extras {
  margin-bottom: 1.5rem;
}

.reservation-preference {
  margin: 0 0 1.5rem;
  padding: 0;
}

.reservation-preference legend {
  font-family: Georgia, "Times New Roman", serif;
  font-size: 1.45rem;
  line-height: 1.2;
}

.small-form-note {
  margin: .25rem 0 .8rem;
  color: var(--muted);
  font-size: .85rem;
}

.preference-grid {
  display: grid;
  gap: .7rem;
}

.preference-card {
  display: grid;
  grid-template-columns: auto 1fr;
  align-items: start;
  gap: .75rem;
  min-height: 5.5rem;
  padding: 1rem;
  border: 1px solid var(--line);
  border-radius: 1rem;
  background: var(--paper);
  cursor: pointer;
}

.preference-card:has(input:checked) {
  border-color: var(--green);
  background: #edf7f0;
  box-shadow: 0 0 0 2px rgba(47,114,77,.12);
}

.preference-card input {
  width: 1.2rem;
  height: 1.2rem;
  margin-top: .2rem;
}

.preference-card span {
  display: grid;
}

.preference-card small {
  color: var(--muted);
  font-weight: 500;
}

.reservation-acceptance {
  padding: 1rem;
  border: 1px solid #67a982;
  border-radius: 1rem;
  background: #edf7f0;
}

.reservation-actions {
  display: grid;
  gap: .7rem;
  margin-top: 1.2rem;
}

.reservation-side {
  display: grid;
  gap: 1rem;
  align-content: start;
}

.reservation-side__card {
  padding: 1.3rem;
  border-radius: var(--radius);
  background: var(--dark);
  color: var(--white);
}

.reservation-side__card h2 {
  font-size: clamp(1.8rem, 7vw, 2.5rem);
}

.reservation-flow {
  display: grid;
  gap: .85rem;
  margin: 1.3rem 0 0;
  padding: 0;
  list-style: none;
}

.reservation-flow li {
  display: grid;
  grid-template-columns: 2.35rem 1fr;
  gap: .75rem;
  align-items: start;
  padding-bottom: .85rem;
  border-bottom: 1px solid rgba(255,255,255,.15);
}

.reservation-flow li:last-child {
  padding-bottom: 0;
  border-bottom: 0;
}

.reservation-flow li > span {
  display: grid;
  place-items: center;
  width: 2.35rem;
  height: 2.35rem;
  border-radius: 50%;
  background: var(--gold);
  color: var(--dark);
  font-weight: 900;
}

.reservation-flow li div {
  display: grid;
}

.reservation-flow small {
  color: #d5c7bc;
}

.reservation-example {
  padding: 1.1rem;
  border: 1px solid #95c6a9;
  border-radius: 1rem;
  background: #edf7f0;
}

.reservation-example strong {
  color: var(--green);
}

.reservation-example p {
  margin: .35rem 0 0;
}

.small-note--dark {
  color: var(--muted);
}

.contact-shortcuts {
  margin: 1rem 0;
}

.mobile-actions {
  grid-template-columns: repeat(5, minmax(0, 1fr));
}

.mobile-actions__reserve {
  background: var(--gold) !important;
  color: var(--dark) !important;
}

.mobile-actions small {
  font-size: .62rem;
}

@media (min-width: 48rem) and (max-width: 63.99rem) {
  .menu-toggle { display: inline-flex; }
  .main-nav {
    display: none;
    position: absolute;
    top: 100%;
    left: 0;
    right: 0;
    padding: .7rem 1rem 1rem;
    border-bottom: 1px solid var(--line);
    background: var(--paper);
    box-shadow: var(--shadow);
  }
  .main-nav.is-open { display: grid; }
}

@media (min-width: 48rem) {
  .reservation-promo__grid {
    grid-template-columns: 1.15fr .85fr;
    align-items: center;
  }
  .preference-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
  .reservation-actions {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .reservation-actions .btn:last-child {
    grid-column: 1 / -1;
  }
}

@media (min-width: 64rem) {
  .reservation-layout {
    grid-template-columns: minmax(0, 1.4fr) minmax(19rem, .6fr);
    align-items: start;
  }
  .reservation-side {
    position: sticky;
    top: 6rem;
  }
  .main-nav a {
    padding-inline: .62rem;
    font-size: .92rem;
  }
}

@media (max-width: 27rem) {
  .mobile-actions small { font-size: .56rem; }
  .mobile-actions a { min-width: 0; }
  .reservation-promo__facts span { align-items: flex-start; }
}

/* =========================================================
   O GALO v0.6 · LOGOTIPO Y SOLETE GUÍA REPSOL 2026
   ========================================================= */

.brand__logo-frame {
  width: 3rem;
  height: 3rem;
  flex: 0 0 3rem;
  display: grid;
  place-items: center;
  overflow: hidden;
  border: 1px solid var(--line);
  border-radius: .75rem;
  background: #fff;
  box-shadow: 0 5px 14px rgba(34, 22, 15, .08);
}

.brand__logo-frame img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.brand--footer .brand__logo-frame {
  border-color: rgba(255,255,255,.22);
}

.recognition-strip-section {
  background:
    radial-gradient(circle at 90% 10%, rgba(225,139,47,.12), transparent 35%),
    var(--paper);
}

.recognition-strip {
  display: grid;
  gap: 1.25rem;
  align-items: center;
  padding: 1.35rem;
  border: 1px solid #d9c39f;
  border-radius: var(--radius);
  background: linear-gradient(135deg, #fffdf7, #fff3da);
  box-shadow: var(--shadow);
}

.recognition-strip__badge,
.recognition-hero-mark {
  display: grid;
  place-items: center;
  text-align: center;
  border: 1px solid #d4a94d;
  background: #241913;
  color: #fff;
}

.recognition-strip__badge {
  width: 7.5rem;
  min-height: 7.5rem;
  border-radius: 50%;
  justify-self: start;
}

.recognition-strip__badge span,
.recognition-hero-mark span {
  color: #f2c66f;
  font-size: .78rem;
  font-weight: 900;
  letter-spacing: .12em;
  text-transform: uppercase;
}

.recognition-strip__badge strong,
.recognition-hero-mark strong {
  font-family: Georgia, "Times New Roman", serif;
  line-height: 1;
  color: #fff;
}

.recognition-strip__badge strong {
  font-size: 2rem;
}

.recognition-strip__copy h2 {
  font-size: clamp(1.65rem, 5vw, 2.65rem);
}

.recognition-strip__copy p:last-child {
  margin-bottom: 0;
  color: var(--muted);
}

.recognition-strip__actions {
  display: grid;
  gap: .8rem;
  align-items: center;
}

.page-hero--recognition {
  background:
    radial-gradient(circle at 85% 15%, rgba(225,139,47,.33), transparent 28%),
    linear-gradient(135deg, #241913, #713e22);
}

.recognition-hero-mark {
  width: min(15rem, 68vw);
  aspect-ratio: 1;
  justify-self: center;
  border-radius: 50%;
  box-shadow: 0 25px 55px rgba(0,0,0,.24);
}

.recognition-hero-mark strong {
  font-size: clamp(3rem, 12vw, 5rem);
}

.recognition-hero-mark small {
  color: #d9cabf;
  font-weight: 800;
}

.recognition-layout {
  display: grid;
  gap: 1.25rem;
}

.recognition-main-card,
.recognition-facts article {
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: #fff;
}

.recognition-main-card {
  padding: clamp(1.3rem, 4vw, 2.2rem);
  box-shadow: var(--shadow);
}

.recognition-main-card p {
  line-height: 1.72;
}

.recognition-facts {
  display: grid;
  gap: .75rem;
}

.recognition-facts article {
  display: grid;
  gap: .3rem;
  padding: 1rem;
}

.recognition-facts span {
  color: var(--muted);
  font-size: .74rem;
  font-weight: 900;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.recognition-facts strong {
  color: var(--earth);
  font-family: Georgia, "Times New Roman", serif;
  font-size: 1.08rem;
}

.recognition-values {
  display: grid;
  gap: .8rem;
}

.recognition-values article {
  padding: 1.15rem;
  border: 1px solid var(--line);
  border-radius: 1rem;
  background: #fff;
}

.recognition-values span {
  display: inline-grid;
  place-items: center;
  width: 2.35rem;
  height: 2.35rem;
  margin-bottom: .8rem;
  border-radius: 50%;
  background: var(--dark);
  color: var(--gold);
  font-weight: 900;
}

.recognition-values h3 {
  margin-bottom: .45rem;
}

.recognition-values p {
  margin: 0;
  color: var(--muted);
}

.recognition-source-note .shell {
  padding: 1.1rem 1.2rem;
  border-left: 5px solid var(--gold);
  border-radius: .85rem;
  background: #fff7e7;
}

.recognition-source-note p {
  margin: .35rem 0 0;
}

.review-platforms__featured {
  border-color: #d7ac53 !important;
  background: linear-gradient(135deg, #fffdf8, #fff2d8) !important;
}

@media (min-width: 48rem) {
  .recognition-strip {
    grid-template-columns: auto minmax(0, 1fr) auto;
    padding: 1.6rem;
  }

  .recognition-strip__actions {
    min-width: 12rem;
    justify-items: start;
  }

  .recognition-layout {
    grid-template-columns: minmax(0, 1.45fr) minmax(17rem, .55fr);
    align-items: start;
  }

  .recognition-values {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
}

@media (max-width: 63.99rem) {
  .brand__copy small {
    display: none;
  }
}

@media (max-width: 31rem) {
  .brand__logo-frame {
    width: 2.7rem;
    height: 2.7rem;
    flex-basis: 2.7rem;
  }

  .brand__copy strong {
    font-size: 1rem;
  }

  .recognition-strip__badge {
    width: 6.4rem;
    min-height: 6.4rem;
  }
}


/* v1.0.3 restauración: idiomas, reseñas, resultados y gestión */
.header-tools{display:flex;align-items:center;gap:.65rem}.language-switcher{display:flex;gap:.25rem;align-items:center}.language-switcher a{padding:.42rem .5rem;border-radius:.55rem;text-decoration:none;font-size:.7rem;font-weight:900;color:var(--muted)}.language-switcher a.is-active,.language-switcher a:hover{background:var(--cream);color:var(--rust)}
.brand__logo-frame{width:3rem;height:3rem;display:grid;place-items:center;overflow:hidden;border-radius:50%;background:#fff;border:2px solid var(--gold)}.brand__logo-frame img{width:100%;height:100%;object-fit:contain}
.dish-text-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem}.dish-text-card{padding:1.1rem;border:1px solid var(--line);border-radius:1rem;background:#fff}.dish-text-card h3{font-size:1.08rem}.dish-text-card strong{color:var(--rust)}
.review-grid{display:grid;gap:1rem}.review-card{padding:1.2rem;border:1px solid var(--line);border-radius:var(--radius);background:#fff}.review-card__platform{display:inline-flex;padding:.35rem .65rem;border-radius:999px;background:var(--cream);color:var(--rust);font-size:.72rem;font-weight:900}.review-card blockquote{margin:1rem 0;font-family:Georgia,serif;font-size:1.2rem}.review-card__actions{display:flex;gap:.6rem;flex-wrap:wrap}
.operation-form{display:grid;gap:1rem}.operation-result{padding:1.2rem;border:1px solid var(--line);border-radius:var(--radius);background:var(--cream)}.operation-result[hidden]{display:none}.operation-result pre{white-space:pre-wrap;overflow-wrap:anywhere;background:#fff;padding:1rem;border-radius:1rem;border:1px solid var(--line)}
.service-banner{display:flex;justify-content:space-between;gap:1rem;padding:1rem 1.2rem;border-radius:var(--radius);background:#e9f5ee;color:#245b3d}.service-banner.status-busy,.service-banner.status-limited{background:#fff3d9;color:#805500}.service-banner.status-paused{background:#fde8e5;color:#922e25}
.management-shell{display:grid;gap:1.2rem}.management-login,.management-panel{padding:1.2rem;border:1px solid var(--line);border-radius:var(--radius);background:#fff}.management-toolbar,.danger-zone{display:flex;align-items:center;gap:.65rem;flex-wrap:wrap}.management-toolbar h2{margin-right:auto}.service-form{display:grid;gap:1rem;padding:1rem;background:var(--cream);border-radius:1rem}.request-list{display:grid;gap:.75rem}.request-card{display:grid;gap:.8rem;padding:1rem;border:1px solid var(--line);border-radius:1rem;background:#fff}.danger-zone{padding:1rem;background:#fff0ed;border:1px solid #efc8c0;border-radius:1rem}.btn--danger{background:#a62c24;color:#fff}.manual code{padding:.15rem .4rem;border-radius:.4rem;background:var(--cream)}
.menu-originals{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.menu-originals img{width:100%;border-radius:var(--radius);box-shadow:var(--shadow)}
@media(min-width:48rem){.review-grid{grid-template-columns:repeat(3,1fr)}.dish-text-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.service-form{grid-template-columns:repeat(2,minmax(0,1fr))}.service-form .wide{grid-column:1/-1}.request-card{grid-template-columns:1fr 13rem auto;align-items:center}}
@media(max-width:47.99rem){.header-tools{margin-left:auto}.language-switcher{position:absolute;top:100%;right:.7rem;background:#fff;padding:.35rem;border:1px solid var(--line);border-radius:.8rem;box-shadow:var(--shadow)}.menu-originals{grid-template-columns:1fr}.dish-text-grid{grid-template-columns:1fr}}
