:root {
    --ink: #020711;
    --ink-2: #06111f;
    --ink-3: #0a1c31;
    --panel: rgba(3, 13, 25, .92);
    --panel-soft: rgba(7, 21, 37, .82);
    --gold: #d8a53b;
    --gold-bright: #f0c35a;
    --gold-deep: #8c5d13;
    --cream: #f4ead5;
    --muted: #b7b8ba;
    --line: rgba(218, 164, 56, .48);
    --danger: #c85f54;
    --success: #56a06b;
    --shadow: 0 24px 65px rgba(0, 0, 0, .48);
    --serif: Georgia, "Times New Roman", serif;
    --sans: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

* { box-sizing: border-box; }
html { min-width: 320px; background: var(--ink); color-scheme: dark; }
body { margin: 0; min-height: 100vh; background: var(--ink); color: var(--cream); font-family: var(--sans); line-height: 1.55; }
body::selection { background: var(--gold); color: var(--ink); }
img { display: block; max-width: 100%; }
a { color: inherit; text-decoration: none; }
button, input, select, textarea { font: inherit; }
button, a { -webkit-tap-highlight-color: transparent; }
input, select, textarea {
    width: 100%;
    min-height: 44px;
    padding: .75rem .85rem;
    border: 1px solid rgba(218, 164, 56, .35);
    border-radius: 2px;
    background: rgba(0, 7, 15, .72);
    color: var(--cream);
    outline: none;
}
textarea { resize: vertical; }
input:focus, select:focus, textarea:focus { border-color: var(--gold-bright); box-shadow: 0 0 0 3px rgba(216, 165, 59, .13); }
label { display: grid; gap: .38rem; color: #ddd4c4; font-size: .82rem; letter-spacing: .025em; }
label small { color: var(--muted); font-weight: 400; }
fieldset { min-width: 0; margin: 0; padding: 1.3rem 0 1.45rem; border: 0; border-bottom: 1px solid rgba(216, 165, 59, .2); }
fieldset:first-child { padding-top: 0; }
fieldset:last-child { border-bottom: 0; padding-bottom: 0; }
legend { width: 100%; margin-bottom: 1rem; color: var(--gold-bright); font-family: var(--serif); font-size: 1.08rem; letter-spacing: .045em; text-transform: uppercase; }
legend b { display: inline-grid; place-items: center; width: 31px; height: 31px; margin-right: .55rem; border: 1px solid var(--gold); transform: rotate(45deg); font-family: var(--sans); font-size: .75rem; }
legend b::first-letter { transform: rotate(-45deg); }
code { padding: .15rem .3rem; background: rgba(255,255,255,.07); color: var(--gold-bright); }

.container { width: min(1180px, calc(100% - 40px)); margin-inline: auto; }
.container-wide { width: min(1480px, calc(100% - 48px)); margin-inline: auto; }
.section-dark { position: relative; background: #04101d; }
.panel { border: 1px solid var(--line); background: linear-gradient(145deg, rgba(4, 16, 29, .95), rgba(1, 8, 17, .94)); box-shadow: var(--shadow); }
.eyebrow { margin: 0 0 .45rem; color: var(--gold-bright); font-size: .76rem; font-weight: 700; letter-spacing: .2em; text-transform: uppercase; }
.gold-rule { display: flex; align-items: center; width: min(290px, 70%); margin: 1rem 0 1.2rem; }
.gold-rule::before, .gold-rule::after { content: ""; flex: 1; height: 1px; background: linear-gradient(90deg, transparent, var(--gold)); }
.gold-rule::after { background: linear-gradient(90deg, var(--gold), transparent); }
.gold-rule span { width: 9px; height: 9px; margin: 0 .55rem; border: 1px solid var(--gold-bright); transform: rotate(45deg); }
.button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 46px;
    padding: .75rem 1.45rem;
    border: 1px solid var(--gold);
    border-radius: 2px;
    background: transparent;
    color: var(--cream);
    cursor: pointer;
    font-weight: 750;
    letter-spacing: .08em;
    text-transform: uppercase;
    transition: transform .18s ease, border-color .18s ease, background .18s ease, color .18s ease;
}
.button:hover { transform: translateY(-1px); border-color: var(--gold-bright); }
.button--gold { background: linear-gradient(180deg, #e5b74f, #ad7419); color: #0b0a07; box-shadow: inset 0 1px rgba(255,255,255,.4), 0 12px 25px rgba(0,0,0,.24); }
.button--gold:hover { background: linear-gradient(180deg, #f1cd6e, #c98921); }
.button--outline { background: rgba(3, 11, 20, .38); }
.button--small { min-height: 38px; padding: .55rem .9rem; font-size: .71rem; }
.button--wide { width: 100%; }
.button:disabled, .button.is-disabled { opacity: .5; pointer-events: none; }

/* Brand and header */
.brand-lockup { display: inline-flex; align-items: center; gap: .72rem; color: var(--gold-bright); }
.brand-lockup__mark { width: 43px; height: 43px; flex: 0 0 auto; filter: drop-shadow(0 2px 4px rgba(0,0,0,.45)); }
.brand-lockup__type { display: grid; line-height: 1; }
.brand-lockup__type strong { font-family: var(--serif); font-size: 1.33rem; font-weight: 600; letter-spacing: .025em; text-transform: uppercase; }
.brand-lockup__type small { margin-top: .35rem; font-size: .58rem; letter-spacing: .19em; text-align: center; text-transform: uppercase; }
.site-header { position: sticky; top: 0; z-index: 60; height: 82px; border-bottom: 1px solid rgba(216,165,59,.34); background: rgba(2, 8, 16, .93); backdrop-filter: blur(16px); }
.site-header__inner { display: grid; grid-template-columns: minmax(220px, 1fr) auto minmax(330px, 1fr); align-items: center; width: min(1510px, calc(100% - 46px)); height: 100%; margin-inline: auto; }
.site-brand { justify-self: start; }
.main-nav { display: flex; align-items: center; gap: 2.65rem; }
.main-nav a { position: relative; padding: 1.85rem 0 1.55rem; color: #e7dfd1; font-family: var(--serif); font-size: .79rem; letter-spacing: .12em; text-transform: uppercase; }
.main-nav a::after { content: ""; position: absolute; left: 50%; bottom: 10px; width: 0; height: 1px; background: var(--gold-bright); transform: translateX(-50%); transition: width .2s ease; }
.main-nav a:hover::after, .main-nav a.is-active::after { width: 100%; }
.header-actions { display: flex; align-items: center; justify-content: flex-end; gap: 1rem; }
.header-account { color: #d9d1c3; font-size: .72rem; letter-spacing: .08em; text-transform: uppercase; }
.header-cart { display: inline-flex; align-items: center; gap: .42rem; color: var(--gold-bright); font-size: .73rem; letter-spacing: .08em; text-transform: uppercase; }
.header-cart svg { width: 21px; fill: none; stroke: currentColor; stroke-width: 1.7; }
.header-cart b { display: grid; place-items: center; min-width: 20px; height: 20px; padding: 0 5px; border-radius: 50%; background: var(--gold); color: var(--ink); font-size: .66rem; }
.header-cta { min-height: 40px; padding-inline: 1.15rem; font-size: .69rem; }
.nav-toggle { display: none; width: 42px; height: 42px; border: 1px solid var(--line); background: transparent; color: var(--gold); }
.nav-toggle span { display: block; width: 20px; height: 1px; margin: 5px auto; background: currentColor; }
.site-header--admin { position: relative; }

.flash-stack { position: fixed; top: 96px; right: 22px; z-index: 90; display: grid; gap: .65rem; width: min(410px, calc(100% - 44px)); }
.flash { padding: .95rem 1rem; border: 1px solid var(--line); background: rgba(3,13,25,.98); box-shadow: var(--shadow); }
.flash--success { border-color: rgba(86,160,107,.75); }
.flash--error { border-color: rgba(200,95,84,.8); }

/* Scene backgrounds */
.scene { position: relative; isolation: isolate; background-color: var(--ink); background-repeat: no-repeat; background-position: center; background-size: cover; overflow: hidden; }
.scene::before { content: ""; position: absolute; inset: 0; z-index: -2; background-image: linear-gradient(rgba(3,8,15,.08), rgba(2,7,14,.35)), repeating-linear-gradient(90deg, transparent 0 140px, rgba(255,255,255,.012) 141px); }
.scene__veil { position: absolute; inset: 0; z-index: -1; pointer-events: none; background: radial-gradient(circle at 54% 42%, rgba(27,74,117,.17), transparent 38%), linear-gradient(180deg, rgba(1,5,10,.06), rgba(1,7,14,.48)); }
.scene--home { background-image: url('../img/home-scene.jpg'); }
.scene--history { background-image: url('../img/history-scene.jpg'); }
.scene--collection { background-image: url('../img/collection-scene.jpg'); }
.scene--cart { background-image: url('../img/cart-scene.jpg'); }
.scene--checkout { background-image: url('../img/checkout-scene.jpg'); }
.scene--contact { background-image: url('../img/contact-scene.jpg'); }

/* Home */
.home-hero { min-height: calc(100vh - 82px); }
.home-hero__content { display: grid; grid-template-columns: .88fr 1.12fr; align-items: center; min-height: calc(100vh - 172px); padding: 3rem 0 2rem; }
.home-hero__copy { position: relative; z-index: 2; max-width: 650px; padding-left: clamp(1rem, 5vw, 5.5rem); text-align: center; }
.hero-emblem { width: 92px; margin: 0 auto 1rem; color: var(--gold-bright); }
.home-hero__copy h1 { margin: 0; color: var(--gold-bright); font-family: var(--serif); font-size: clamp(4rem, 7.4vw, 7.9rem); font-weight: 500; letter-spacing: -.035em; line-height: .79; text-transform: uppercase; text-shadow: 0 4px 16px rgba(0,0,0,.52); }
.home-hero__copy .gold-rule { margin-inline: auto; }
.hero-tagline { margin: 0 0 .9rem; font-size: clamp(1rem, 1.35vw, 1.28rem); font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.hero-summary { max-width: 560px; margin: 0 auto; color: #d5d1ca; font-family: var(--serif); font-size: 1.02rem; }
.hero-actions { display: flex; justify-content: center; gap: .9rem; margin-top: 1.5rem; }
.bottle-stage { position: relative; display: grid; place-items: end center; min-height: 650px; }
.bottle-stage img { position: relative; z-index: 2; width: min(540px, 82%); max-height: 710px; object-fit: contain; filter: drop-shadow(0 35px 33px rgba(0,0,0,.58)); }
.bottle-stage--home { transform: translateX(-3%); }
.bottle-stage--home img { width: min(610px, 88%); }
.bottle-halo { position: absolute; inset: 9% 8% 0; background: radial-gradient(circle, rgba(48,117,183,.36), rgba(0,0,0,0) 62%); filter: blur(14px); }
.hero-feature-strip { display: grid; grid-template-columns: repeat(3, 1fr); min-height: 90px; border-top: 1px solid rgba(216,165,59,.36); background: rgba(1,7,13,.88); }
.hero-feature-strip article { display: flex; align-items: center; justify-content: center; gap: 1rem; padding: 1rem 2rem; border-right: 1px solid rgba(216,165,59,.25); }
.hero-feature-strip article:last-child { border-right: 0; }
.hero-feature-strip strong, .hero-feature-strip small { display: block; }
.hero-feature-strip strong { color: var(--cream); letter-spacing: .08em; text-transform: uppercase; }
.hero-feature-strip small { margin-top: .25rem; color: var(--muted); }
.feature-icon { color: var(--gold-bright); font-size: 2rem; }
.home-intro { padding: 5rem 0; border-top: 1px solid rgba(216,165,59,.25); }
.split-intro { display: grid; grid-template-columns: 1fr 1fr; gap: 5rem; align-items: end; }
.split-intro h2 { max-width: 600px; margin: 0; color: var(--gold-bright); font-family: var(--serif); font-size: clamp(2rem, 4vw, 4rem); font-weight: 500; line-height: 1.05; }
.split-intro > p { color: #c7c4be; font-family: var(--serif); font-size: 1.18rem; }

/* History */
.history-hero { min-height: 520px; }
.history-hero__grid { display: grid; grid-template-columns: .98fr 1.12fr .8fr; align-items: end; min-height: 520px; }
.founder-portrait { align-self: stretch; position: relative; overflow: hidden; }
.founder-portrait::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, transparent 65%, rgba(3,10,20,.96)), linear-gradient(0deg, rgba(2,8,15,.68), transparent 42%); }
.founder-portrait img { width: 100%; height: 100%; min-height: 520px; object-fit: cover; object-position: 50% 25%; }
.history-hero__story { align-self: center; position: relative; z-index: 2; padding: 3rem 2rem; text-align: center; }
.history-hero__story h1 { margin: 0; color: var(--gold-bright); font-family: var(--serif); font-size: clamp(2.7rem, 4.8vw, 5.2rem); font-weight: 500; line-height: .98; text-transform: uppercase; }
.history-hero__story .gold-rule { margin-inline: auto; }
.history-hero__story > p:not(.eyebrow) { max-width: 650px; margin-inline: auto; color: #d6d2ca; font-family: var(--serif); }
.founder-signature { margin-top: 1rem; color: var(--gold); font-family: cursive; font-size: 1.75rem; transform: rotate(-4deg); }
.founder-name { display: block; margin-top: .5rem; font-size: .78rem; letter-spacing: .12em; text-transform: uppercase; }
.history-hero__story small { color: var(--muted); font-size: .66rem; letter-spacing: .13em; text-transform: uppercase; }
.history-hero__bottle { min-height: 520px; }
.history-hero__bottle img { width: min(365px, 92%); max-height: 500px; }
.history-summary { border-top: 2px solid rgba(216,165,59,.52); border-bottom: 1px solid rgba(216,165,59,.28); background: #061426; }
.history-summary__grid { display: grid; grid-template-columns: 1fr 1.7fr 1fr 1fr; }
.history-summary article { min-height: 185px; padding: 1.4rem 1.5rem; border-right: 1px solid rgba(216,165,59,.22); }
.history-summary article:last-child { border-right: 0; }
.history-summary h2 { margin: 0 0 .7rem; color: var(--gold-bright); font-family: var(--serif); font-size: 1rem; font-weight: 500; letter-spacing: .07em; text-transform: uppercase; }
.history-summary p { margin: 0; color: #d1cec8; font-family: var(--serif); font-size: .87rem; }
.timeline { position: relative; display: grid; grid-template-columns: repeat(5, 1fr); gap: .4rem; margin-top: 1.5rem; }
.timeline::before { content: ""; position: absolute; top: 27px; left: 4%; right: 4%; height: 1px; background: var(--gold); }
.timeline span { position: relative; z-index: 1; display: grid; gap: .7rem; text-align: center; }
.timeline span::before { content: ""; position: absolute; top: 23px; left: 50%; width: 8px; height: 8px; background: var(--gold); transform: rotate(45deg) translateX(-50%); }
.timeline b { color: var(--gold-bright); font-family: var(--serif); font-size: .78rem; }
.timeline i { margin-top: 1.25rem; color: var(--muted); font-size: .65rem; font-style: normal; }
.values-panel dl { margin: 0; }
.values-panel dl div { display: flex; justify-content: space-between; gap: 1rem; margin: .2rem 0; font-size: .72rem; }
.values-panel dt { color: var(--gold-bright); font-weight: 800; text-transform: uppercase; }
.values-panel dd { margin: 0; color: var(--muted); }
.process-section { padding: 2rem 0 3.4rem; }
.section-heading { display: flex; align-items: center; justify-content: center; gap: 1.4rem; margin-bottom: 1.25rem; }
.section-heading span { width: 80px; height: 1px; background: var(--gold); }
.section-heading h2 { margin: 0; color: var(--gold-bright); font-family: var(--serif); font-size: 1.35rem; letter-spacing: .18em; text-transform: uppercase; }
.process-grid { display: grid; grid-template-columns: repeat(6, 1fr); gap: .75rem; }
.process-card { position: relative; min-height: 225px; border: 1px solid var(--line); background: #07101d var(--process-image) center/cover no-repeat; overflow: hidden; }
.process-card::after { content: ""; position: absolute; inset: 0; background: linear-gradient(0deg, rgba(0,4,9,.95) 3%, rgba(0,4,9,.3) 65%, transparent); }
.process-card > div { position: absolute; z-index: 1; right: 0; bottom: 0; left: 0; padding: .9rem; }
.process-card b { color: var(--gold-bright); font-family: var(--serif); font-size: 1.3rem; }
.process-card h3 { margin: .2rem 0; color: var(--gold-bright); font-family: var(--serif); font-size: .92rem; letter-spacing: .08em; text-transform: uppercase; }
.process-card p { margin: 0; color: #ddd7cc; font-size: .72rem; line-height: 1.35; }

/* Collection */
.collection-page { min-height: calc(100vh - 82px); padding: 2.25rem 0 0; }
.collection-layout { display: grid; grid-template-columns: 220px 1fr; grid-template-rows: auto 1fr; gap: 1.2rem 1.4rem; }
.collection-heading { grid-column: 1 / -1; max-width: 850px; margin-inline: auto; text-align: center; }
.collection-heading h1, .page-heading h1, .checkout-heading h1, .contact-center h1, .auth-card h1, .success-card h1 { margin: 0; color: var(--gold-bright); font-family: var(--serif); font-size: clamp(2.8rem, 5.4vw, 5.5rem); font-weight: 500; line-height: .95; text-transform: uppercase; }
.collection-heading .gold-rule { margin-inline: auto; }
.collection-heading > p:last-child { max-width: 780px; margin: 0 auto 1.1rem; color: #dbd6ce; font-family: var(--serif); font-size: 1rem; }
.collection-rail { align-self: center; display: grid; gap: 0; }
.collection-rail article { display: flex; gap: 1rem; padding: 1rem .3rem 1rem 0; border-bottom: 1px solid rgba(216,165,59,.35); }
.collection-rail article:last-child { border-bottom: 0; }
.collection-rail > article > span { display: grid; place-items: center; flex: 0 0 54px; height: 54px; border: 1px solid var(--gold); border-radius: 50%; color: var(--gold-bright); font-size: 1.5rem; }
.collection-rail strong { display: block; color: var(--gold-bright); font-family: var(--serif); font-size: .79rem; letter-spacing: .08em; text-transform: uppercase; }
.collection-rail p { margin: .3rem 0 0; color: #d2cec7; font-family: var(--serif); font-size: .76rem; }
.product-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1rem; }
.product-card { position: relative; display: flex; flex-direction: column; min-height: 545px; padding: 1rem; border: 1px solid rgba(216,165,59,.65); border-radius: 16px; background: linear-gradient(150deg, rgba(9,27,46,.94), rgba(2,11,21,.94)); box-shadow: 0 22px 50px rgba(0,0,0,.35); text-align: center; overflow: hidden; }
.product-card::before { content: ""; position: absolute; inset: 0; pointer-events: none; background: radial-gradient(circle at 50% 28%, rgba(21,83,139,.22), transparent 42%); }
.product-card__badges { position: relative; z-index: 2; display: flex; justify-content: space-between; }
.product-card__badges span { padding: .28rem .55rem; border: 1px solid rgba(216,165,59,.35); border-radius: 4px; color: var(--gold-bright); font-size: .64rem; font-weight: 800; text-transform: uppercase; }
.product-card__badges span:last-child { border-color: rgba(75,145,80,.6); background: rgba(35,95,44,.4); color: #b9efbd; }
.product-card__badges span.limited { border-color: rgba(216,165,59,.7); background: rgba(113,72,10,.46); color: var(--gold-bright); }
.product-card__image { position: relative; z-index: 1; display: grid; place-items: end center; height: 285px; margin: -.2rem 0 .35rem; }
.product-card__image img { width: auto; height: 100%; object-fit: contain; filter: drop-shadow(0 18px 14px rgba(0,0,0,.5)); }
.product-card h2 { position: relative; z-index: 1; margin: .1rem 0; color: var(--gold-bright); font-family: var(--serif); font-size: 1.06rem; font-weight: 500; text-transform: uppercase; }
.product-subtitle { margin: 0; color: #efe6d5; font-family: var(--serif); font-size: .8rem; }
.product-notes { min-height: 38px; margin: .45rem 0; color: #ccc5ba; font-size: .71rem; }
.product-meta { display: flex; justify-content: center; gap: 1rem; margin-bottom: .8rem; color: var(--muted); font-size: .63rem; letter-spacing: .05em; }
.product-meta span + span { padding-left: 1rem; border-left: 1px solid rgba(216,165,59,.35); }
.product-card__footer { position: relative; z-index: 1; display: flex; align-items: center; justify-content: space-between; gap: .5rem; margin-top: auto; }
.product-card__footer > strong { color: var(--gold-bright); font-family: var(--serif); font-size: 1.35rem; font-weight: 500; }
.collection-assurance { display: grid; grid-template-columns: repeat(4, 1fr); margin-top: 1.2rem; border-top: 1px solid rgba(216,165,59,.34); background: rgba(1,7,14,.86); }
.collection-assurance span { padding: 1rem; border-right: 1px solid rgba(216,165,59,.22); color: var(--gold-bright); text-align: center; font-family: var(--serif); letter-spacing: .08em; text-transform: uppercase; }

/* Cart */
.cart-page { min-height: calc(100vh - 82px); padding: 3.2rem 0 4rem; }
.cart-layout { display: grid; grid-template-columns: minmax(0, 1.9fr) minmax(330px, .78fr); gap: 2rem; align-items: start; }
.page-heading--left { margin-bottom: 1rem; text-align: left; }
.page-heading--left h1 { font-size: clamp(3rem, 5vw, 5rem); }
.page-heading--left .gold-rule { margin-left: 0; }
.page-heading--left p { letter-spacing: .14em; text-transform: uppercase; }
.cart-table { overflow: hidden; }
.cart-table__head, .cart-row { display: grid; grid-template-columns: 2.7fr .65fr .7fr 1fr .8fr 34px; gap: .8rem; align-items: center; }
.cart-table__head { min-height: 52px; padding: 0 1.2rem; border-bottom: 1px solid rgba(216,165,59,.42); color: var(--gold-bright); font-family: var(--serif); font-size: .72rem; letter-spacing: .07em; text-transform: uppercase; }
.cart-row { min-height: 145px; padding: .9rem 1.2rem; border-bottom: 1px solid rgba(216,165,59,.28); }
.cart-row:last-child { border-bottom: 0; }
.cart-product { display: grid; grid-template-columns: 100px 1fr; gap: 1rem; align-items: center; }
.cart-product img { width: 88px; height: 112px; object-fit: contain; }
.cart-product strong, .cart-product small { display: block; }
.cart-product strong { color: var(--gold-bright); font-family: var(--serif); font-size: 1.2rem; font-weight: 500; text-transform: uppercase; }
.cart-product small { margin-top: .2rem; color: var(--muted); font-family: var(--serif); }
.quantity-control { display: grid; grid-template-columns: 34px 40px 34px; align-items: center; width: max-content; border: 1px solid rgba(216,165,59,.48); }
.quantity-control button { height: 38px; border: 0; background: transparent; color: var(--gold-bright); cursor: pointer; }
.quantity-control output { display: grid; place-items: center; height: 38px; border-inline: 1px solid rgba(216,165,59,.28); }
.remove-button { border: 0; background: transparent; color: var(--cream); cursor: pointer; font-size: 1.4rem; }
.cart-under { display: flex; align-items: center; justify-content: space-between; gap: 1rem; margin: 1.1rem 0; }
.promo-box { display: grid; grid-template-columns: auto 170px auto; align-items: center; gap: .7rem; }
.promo-box label { color: var(--cream); font-size: .72rem; letter-spacing: .08em; text-transform: uppercase; }
.promo-box input { min-height: 38px; }
.cart-story-strip { display: grid; grid-template-columns: repeat(3, 1fr); padding: 1.1rem; }
.cart-story-strip article { padding: .2rem 1rem; border-right: 1px solid rgba(216,165,59,.3); }
.cart-story-strip article:last-child { border-right: 0; }
.cart-story-strip strong, .cart-story-strip span { display: block; }
.cart-story-strip strong { color: var(--gold-bright); font-family: var(--serif); text-transform: uppercase; }
.cart-story-strip span { margin-top: .35rem; color: var(--muted); font-size: .75rem; }
.order-summary { position: sticky; top: 105px; padding: 1.7rem; }
.order-summary h2, .checkout-summary h2, .contact-form h2, .contact-details h2, .order-detail-items h2, .order-address h2 { margin: 0; color: var(--gold-bright); font-family: var(--serif); font-size: 1.4rem; font-weight: 500; letter-spacing: .05em; text-transform: uppercase; }
.order-summary dl, .checkout-summary dl, .order-detail-items dl { margin: 1.2rem 0; }
.order-summary dl div, .checkout-summary dl div, .order-detail-items dl div { display: flex; justify-content: space-between; gap: 1rem; padding: .4rem 0; }
.order-summary dt, .checkout-summary dt, .order-detail-items dt { color: #d8d3ca; }
.order-summary dd, .checkout-summary dd, .order-detail-items dd { margin: 0; }
.summary-total { display: flex; align-items: center; justify-content: space-between; gap: 1rem; margin: 1rem 0 1.4rem; padding-top: 1rem; border-top: 1px solid rgba(216,165,59,.38); text-transform: uppercase; }
.summary-total strong, .summary-total dd { color: var(--gold-bright); font-family: var(--serif); font-size: 1.7rem; }
.assurance-grid { display: grid; grid-template-columns: repeat(3, 1fr); margin-top: 1.25rem; }
.assurance-grid span { padding: .75rem .4rem; border-right: 1px solid rgba(216,165,59,.23); color: #c8c1b5; text-align: center; font-size: .61rem; text-transform: uppercase; }
.assurance-grid span:last-child { border-right: 0; }
.delivery-card { display: grid; gap: .15rem; margin-top: 1.3rem; padding: 1rem; border: 1px solid rgba(216,165,59,.35); background: linear-gradient(90deg, rgba(98,55,12,.35), rgba(3,13,23,.1)); }
.delivery-card b { color: var(--gold-bright); font-family: var(--serif); text-transform: uppercase; }
.delivery-card small { color: var(--muted); }
.empty-state { padding: 4rem 2rem; text-align: center; }
.empty-state h2, .empty-state h3 { color: var(--gold-bright); font-family: var(--serif); font-size: 2rem; font-weight: 500; }

/* Checkout */
.checkout-page { min-height: calc(100vh - 82px); padding: 1.1rem 0 3.5rem; }
.checkout-heading { display: grid; grid-template-columns: 1fr 1fr 1fr; align-items: end; margin-bottom: .6rem; }
.checkout-heading > div { text-align: center; }
.checkout-heading h1 { font-size: 3.4rem; }
.checkout-heading p { margin: .3rem 0; color: #d6d0c7; font-size: .78rem; letter-spacing: .08em; text-transform: uppercase; }
.checkout-heading > a { color: var(--gold-bright); font-size: .72rem; letter-spacing: .08em; text-transform: uppercase; }
.checkout-form { display: grid; grid-template-columns: minmax(0, 1.65fr) minmax(340px, .9fr); gap: 1rem; align-items: start; }
.checkout-fields { padding: 1.35rem 1.8rem; }
.field-grid { display: grid; gap: .8rem; }
.field-grid--2 { grid-template-columns: repeat(2, 1fr); }
.field-grid--3 { grid-template-columns: 1fr 1fr .8fr; }
.checkout-fields > fieldset > label:not(.shipping-option):not(.checkbox-row) { margin-top: .8rem; }
.shipping-option { display: grid; grid-template-columns: 20px 1fr auto; align-items: center; gap: .8rem; margin-top: .55rem; padding: .75rem; border: 1px solid rgba(216,165,59,.28); cursor: pointer; }
.shipping-option:has(input:checked) { border-color: var(--gold-bright); background: rgba(117,76,16,.16); }
.shipping-option input, .checkbox-row input { width: auto; min-height: auto; accent-color: var(--gold); }
.shipping-option strong, .shipping-option small { display: block; }
.shipping-option small { color: var(--muted); }
.shipping-option > b { color: var(--gold-bright); font-size: .78rem; }
.checkbox-row { display: flex; align-items: flex-start; gap: .7rem; margin: .8rem 0; cursor: pointer; }
.checkbox-row input { margin-top: .25rem; }
.account-create p { color: var(--muted); font-size: .82rem; }
.account-create a { color: var(--gold-bright); text-decoration: underline; }
.payment-handoff { display: grid; grid-template-columns: 44px 1fr; gap: 1rem; padding: 1rem; border: 1px solid rgba(216,165,59,.33); background: rgba(2,8,15,.45); }
.payment-handoff p { margin: .25rem 0 0; color: var(--muted); font-size: .82rem; }
.lock-icon { display: grid; place-items: center; width: 42px; height: 42px; border: 1px solid var(--gold); color: var(--gold-bright); }
.checkout-summary { position: sticky; top: 95px; padding: 1.35rem 1.55rem; }
.checkout-summary > h2 { text-align: center; }
.checkout-products { margin: 1rem 0; padding-block: .5rem; border-block: 1px solid rgba(216,165,59,.2); }
.checkout-products article { display: grid; grid-template-columns: 70px 1fr auto; gap: .75rem; align-items: center; padding: .5rem 0; }
.checkout-products img { width: 62px; height: 80px; object-fit: contain; }
.checkout-products strong, .checkout-products span { display: block; }
.checkout-products strong { color: #efe6d5; font-family: var(--serif); }
.checkout-products span { color: var(--muted); font-size: .72rem; }
.checkout-products b { color: var(--gold-bright); }
.config-warning { display: grid; gap: .25rem; margin: 1rem 0; padding: .8rem; border: 1px solid rgba(200,95,84,.75); background: rgba(92,24,20,.23); }
.config-warning span { color: #d8c9c4; font-size: .75rem; }
.checkout-trust { display: flex; justify-content: space-between; gap: .6rem; margin-top: 1rem; color: var(--muted); font-size: .65rem; text-transform: uppercase; }

/* Contact */
.contact-page { min-height: calc(100vh - 82px); padding: 2.1rem 0 2.5rem; }
.contact-grid { display: grid; grid-template-columns: .78fr 1.35fr .8fr; gap: 1.2rem; }
.contact-bottle { position: relative; display: grid; place-items: end center; min-height: 570px; }
.contact-bottle::before { content: ""; position: absolute; inset: 0; background: radial-gradient(circle at 50% 40%, rgba(36,100,156,.28), transparent 50%); }
.contact-bottle img { position: relative; width: min(390px, 92%); max-height: 565px; object-fit: contain; filter: drop-shadow(0 22px 22px rgba(0,0,0,.58)); }
.contact-center header { padding: 1.1rem 0; }
.contact-center h1 { font-size: clamp(3rem, 5.5vw, 5.8rem); }
.contact-center header > p:last-child { max-width: 600px; color: #d1ccc3; font-family: var(--serif); }
.contact-form { padding: 1.35rem; }
.contact-form label { margin-top: .7rem; }
.contact-details { padding: 1.25rem 1rem 0 1.5rem; border-left: 1px solid rgba(216,165,59,.25); }
.contact-details dl { margin: 1.1rem 0 1.5rem; }
.contact-details dl div { margin-bottom: 1.15rem; padding-left: .9rem; border-left: 2px solid var(--gold); }
.contact-details dt { color: var(--cream); font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.contact-details dd { margin: .25rem 0 0; color: #c9c4bb; font-family: var(--serif); }
.contact-social { padding-top: 1.1rem; border-top: 1px solid rgba(216,165,59,.25); }
.contact-social h3 { color: var(--gold-bright); font-family: var(--serif); text-transform: uppercase; }
.contact-social div { display: flex; flex-wrap: wrap; gap: .45rem; }
.contact-social a { padding: .4rem .55rem; border: 1px solid rgba(216,165,59,.4); color: var(--gold-bright); font-size: .68rem; }
.map-card { position: relative; display: grid; place-items: center; min-height: 190px; margin-top: 1.3rem; border: 1px solid var(--line); background: radial-gradient(circle at 55% 60%, rgba(22,64,101,.55), transparent 10%), repeating-linear-gradient(25deg, rgba(216,165,59,.06) 0 1px, transparent 1px 30px), #071525; text-align: center; }
.map-card strong { position: absolute; top: 1rem; color: var(--gold-bright); font-family: var(--serif); letter-spacing: .08em; text-transform: uppercase; }
.map-pin { color: var(--gold-bright); font-size: 1.9rem; transform: rotate(45deg); }
.map-card small { color: var(--gold-bright); text-transform: uppercase; }
.cantina-visit { grid-column: 1 / 3; display: grid; grid-template-columns: .9fr 1.3fr; min-height: 210px; overflow: hidden; }
.cantina-visit > div { padding: 1.4rem 1.7rem; }
.cantina-visit h2 { margin: .2rem 0; color: var(--gold-bright); font-family: var(--serif); font-weight: 500; }
.cantina-visit p { color: #cbc5bc; }
.cantina-visit img { width: 100%; height: 100%; object-fit: cover; object-position: 70% 50%; }
.contact-cards { grid-column: 3; display: grid; grid-template-columns: 1fr; border: 1px solid var(--line); }
.contact-cards article { display: grid; align-content: center; padding: 1.1rem; border-bottom: 1px solid rgba(216,165,59,.28); text-align: center; }
.contact-cards article:last-child { border-bottom: 0; }
.contact-cards strong { color: var(--gold-bright); font-family: var(--serif); letter-spacing: .08em; text-transform: uppercase; }
.contact-cards p { margin: .35rem 0; color: var(--muted); font-size: .78rem; }
.contact-cards a { color: var(--gold-bright); font-size: .72rem; text-transform: uppercase; }

/* Auth, account and success */
.auth-page, .success-page { display: grid; place-items: center; min-height: calc(100vh - 82px); padding: 3rem 1rem; }
.auth-card, .success-card { position: relative; width: min(560px, 100%); padding: 2.2rem; text-align: center; }
.auth-brand { margin-bottom: 1.5rem; }
.auth-card h1, .success-card h1 { font-size: 2.8rem; }
.auth-card > p, .success-card > p { color: #d0cbc2; }
.auth-card form { display: grid; gap: .85rem; margin-top: 1.2rem; text-align: left; }
.auth-switch { font-size: .85rem; }
.auth-switch a { color: var(--gold-bright); }
.success-mark { display: grid; place-items: center; width: 74px; height: 74px; margin: 0 auto 1rem; border: 2px solid var(--gold-bright); border-radius: 50%; color: var(--gold-bright); font-size: 2.1rem; }
.success-actions { display: flex; justify-content: center; gap: .75rem; margin-top: 1.3rem; }
.account-page { min-height: calc(100vh - 82px); padding: 3.5rem 0; }
.account-grid { display: grid; grid-template-columns: 290px 1fr; gap: 1.5rem; }
.account-sidebar { align-self: start; padding: 1.5rem; text-align: center; }
.account-avatar { display: grid; place-items: center; width: 76px; height: 76px; margin: 0 auto 1rem; border: 1px solid var(--gold); border-radius: 50%; color: var(--gold-bright); font-family: var(--serif); font-size: 1.7rem; }
.account-sidebar h1 { margin: 0; color: var(--gold-bright); font-family: var(--serif); font-size: 1.45rem; font-weight: 500; }
.account-sidebar > p { color: var(--muted); font-size: .8rem; }
.account-sidebar nav { display: grid; margin: 1.3rem 0; border-top: 1px solid rgba(216,165,59,.25); }
.account-sidebar nav a { padding: .75rem; border-bottom: 1px solid rgba(216,165,59,.2); text-align: left; }
.account-sidebar nav a.is-active, .account-sidebar nav a:hover { color: var(--gold-bright); }
.order-list { display: grid; gap: .75rem; }
.order-card { display: grid; grid-template-columns: 1fr auto 110px; align-items: center; gap: 1rem; padding: 1rem 1.2rem; }
.order-card strong, .order-card span { display: block; }
.order-card > div > strong { color: var(--gold-bright); font-family: var(--serif); }
.order-card > div > span { color: var(--muted); font-size: .76rem; }
.order-card > b { color: var(--gold-bright); text-align: right; }
.status-badge { display: inline-flex; width: max-content; padding: .3rem .55rem; border: 1px solid rgba(216,165,59,.4); border-radius: 999px; color: var(--gold-bright); font-size: .65rem; letter-spacing: .05em; text-transform: uppercase; }
.status-badge--paid, .status-badge--processing, .status-badge--shipped { border-color: rgba(86,160,107,.65); color: #9de2ad; }
.status-badge--cancelled, .status-badge--payment_failed { border-color: rgba(200,95,84,.65); color: #e5a39c; }
.detail-header { display: flex; align-items: end; justify-content: space-between; gap: 1rem; margin-bottom: 1.2rem; }
.detail-header a { color: var(--gold-bright); font-size: .75rem; text-transform: uppercase; }
.detail-header h1 { margin: .35rem 0; color: var(--gold-bright); font-family: var(--serif); font-weight: 500; }
.detail-header p { margin: 0; color: var(--muted); }
.order-detail-grid { display: grid; grid-template-columns: 1.5fr .8fr; gap: 1rem; }
.order-detail-items, .order-address { padding: 1.4rem; }
.order-detail-items article { display: grid; grid-template-columns: 80px 1fr auto; align-items: center; gap: 1rem; padding: .7rem 0; border-bottom: 1px solid rgba(216,165,59,.18); }
.order-detail-items article img { width: 70px; height: 90px; object-fit: contain; }
.order-detail-items article strong, .order-detail-items article span { display: block; }
.order-detail-items article span { color: var(--muted); font-size: .75rem; }
.order-address p { color: #d0cbc2; }
.order-address form { display: grid; gap: .7rem; margin-top: 1rem; padding-top: 1rem; border-top: 1px solid rgba(216,165,59,.22); }

/* Admin */
.page-admin { background: #07111c; }
.admin-page { min-height: calc(100vh - 82px); padding: 2.5rem 0 4rem; }
.admin-heading { display: flex; align-items: end; justify-content: space-between; gap: 1rem; margin-bottom: 1.4rem; }
.admin-heading h1 { margin: 0; color: var(--gold-bright); font-family: var(--serif); font-size: 2.5rem; font-weight: 500; }
.metric-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 1rem; margin-bottom: 1rem; }
.metric-grid article { padding: 1.2rem; border: 1px solid rgba(216,165,59,.3); background: #091827; }
.metric-grid span, .metric-grid strong { display: block; }
.metric-grid span { color: var(--muted); font-size: .7rem; letter-spacing: .08em; text-transform: uppercase; }
.metric-grid strong { margin-top: .35rem; color: var(--gold-bright); font-family: var(--serif); font-size: 2rem; font-weight: 500; }
.admin-table-panel { padding: 1rem; }
.panel-heading { display: flex; align-items: center; justify-content: space-between; padding: .3rem .3rem 1rem; }
.panel-heading h2 { margin: 0; color: var(--gold-bright); font-family: var(--serif); font-weight: 500; }
.panel-heading a { color: var(--gold-bright); font-size: .75rem; text-transform: uppercase; }
.admin-table { min-width: 720px; }
.admin-table__head, .admin-table__row { display: grid; grid-template-columns: 1fr 1.5fr 1fr .9fr .8fr; gap: .8rem; align-items: center; padding: .8rem; }
.admin-table__head { border-bottom: 1px solid rgba(216,165,59,.35); color: var(--gold-bright); font-size: .68rem; letter-spacing: .08em; text-transform: uppercase; }
.admin-table__row { border-bottom: 1px solid rgba(216,165,59,.15); }
.admin-table__row:hover { background: rgba(216,165,59,.05); }
.admin-table__row > span { color: #d0cbc2; font-size: .8rem; }
.admin-table__row > b { color: var(--gold-bright); }
.admin-filter { display: flex; align-items: end; gap: .6rem; }
.admin-filter label { min-width: 190px; }
.users-table .admin-table__row { margin: 0; border: 0; border-bottom: 1px solid rgba(216,165,59,.15); background: none; box-shadow: none; }
.users-table select { min-height: 38px; padding: .45rem; }
.text-button { margin-left: .8rem; border: 0; background: transparent; color: var(--gold-bright); cursor: pointer; }
.admin-product-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 1rem; }
.admin-product { display: grid; gap: .65rem; padding: 1.1rem; }
.admin-product img { width: 100%; height: 180px; object-fit: contain; }
.admin-product h2 { margin: 0; color: var(--gold-bright); font-family: var(--serif); font-size: 1rem; font-weight: 500; text-align: center; }
.message-list { display: grid; gap: .8rem; }
.message-card { padding: 1.2rem; }
.message-card > div { display: flex; justify-content: space-between; gap: 1rem; }
.message-card strong { color: var(--gold-bright); font-family: var(--serif); }
.message-card span, .message-card small { color: var(--muted); font-size: .72rem; }

/* Footer */
.site-footer { border-top: 1px solid rgba(216,165,59,.35); background: #020914; }
.site-footer__main { display: grid; grid-template-columns: 1fr 1fr 1.5fr; align-items: center; gap: 1rem; width: min(1480px, calc(100% - 48px)); min-height: 108px; margin-inline: auto; }
.site-footer__main p { color: var(--gold-bright); font-family: var(--serif); text-align: center; letter-spacing: .08em; text-transform: uppercase; }
.site-footer__main nav { display: flex; justify-content: flex-end; flex-wrap: wrap; gap: 1rem; color: var(--muted); font-size: .66rem; text-transform: uppercase; }
.site-footer__main nav a:hover { color: var(--gold-bright); }
.site-footer__fineprint { padding: .7rem 1rem; border-top: 1px solid rgba(216,165,59,.13); color: #716f6c; text-align: center; font-size: .62rem; }
.brand-lockup--footer .brand-lockup__mark { width: 34px; height: 34px; }
.brand-lockup--footer .brand-lockup__type strong { font-size: 1rem; }

/* Age gate: inline transparent logo, no raster box */
html:not(.age-verified) body { overflow: hidden; }
.age-gate { position: fixed; inset: 0; z-index: 1000; display: grid; place-items: center; padding: 20px; }
.age-gate__backdrop { position: absolute; inset: 0; background: radial-gradient(circle at 50% 35%, rgba(17,56,94,.48), transparent 42%), rgba(0,4,9,.96); backdrop-filter: blur(12px); }
.age-gate__card { position: relative; z-index: 1; width: min(590px, 100%); padding: 2.4rem 2.4rem 2rem; border: 1px solid rgba(216,165,59,.65); background: linear-gradient(145deg, rgba(6,20,36,.98), rgba(1,8,17,.99)); box-shadow: 0 35px 100px rgba(0,0,0,.7); text-align: center; }
.age-gate__card::before, .age-gate__card::after { content: ""; position: absolute; width: 66px; height: 66px; border-color: var(--gold); opacity: .75; }
.age-gate__card::before { top: 10px; left: 10px; border-top: 1px solid; border-left: 1px solid; }
.age-gate__card::after { right: 10px; bottom: 10px; border-right: 1px solid; border-bottom: 1px solid; }
.age-gate__brand { display: flex; justify-content: center; margin-bottom: 1.2rem; }
.brand-lockup--gate .brand-lockup__mark { width: 54px; height: 54px; }
.brand-lockup--gate .brand-lockup__type strong { font-size: 1.7rem; }
.age-gate__seal { display: grid; place-items: center; width: 72px; height: 72px; margin: 0 auto 1rem; border: 1px solid var(--gold); border-radius: 50%; color: var(--gold-bright); font-family: var(--serif); font-size: 1.55rem; }
.age-gate h2 { margin: .2rem 0 .8rem; color: var(--gold-bright); font-family: var(--serif); font-size: 2rem; font-weight: 500; }
.age-gate p:not(.eyebrow) { max-width: 480px; margin: 0 auto; color: #d1ccc3; }
.age-gate__actions { display: flex; justify-content: center; gap: .75rem; margin-top: 1.4rem; }
.age-gate small { display: block; margin-top: 1rem; color: #7f7e7b; }
html.age-verified .age-gate { display: none; }

.toast { position: fixed; right: 22px; bottom: 22px; z-index: 900; max-width: 390px; padding: .9rem 1.1rem; border: 1px solid var(--gold); background: rgba(3,13,25,.98); box-shadow: var(--shadow); opacity: 0; transform: translateY(12px); pointer-events: none; transition: .2s ease; }
.toast.is-visible { opacity: 1; transform: translateY(0); }

@media (max-width: 1240px) {
    .site-header__inner { grid-template-columns: minmax(210px, 1fr) auto minmax(270px, 1fr); }
    .main-nav { gap: 1.45rem; }
    .header-account { display: none; }
    .history-summary__grid { grid-template-columns: 1fr 1.5fr 1fr; }
    .values-panel { grid-column: 1 / -1; min-height: auto !important; }
    .values-panel dl { display: grid; grid-template-columns: repeat(4, 1fr); gap: 1rem; }
    .process-grid { grid-template-columns: repeat(3, 1fr); }
    .product-grid { grid-template-columns: repeat(2, 1fr); }
    .collection-layout { grid-template-columns: 200px 1fr; }
    .admin-product-grid { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 980px) {
    .site-header { height: 72px; }
    .site-header__inner { grid-template-columns: 1fr auto; width: min(100% - 28px, 950px); }
    .brand-lockup__type strong { font-size: 1.05rem; }
    .brand-lockup__mark { width: 36px; height: 36px; }
    .main-nav { position: absolute; top: 72px; right: 0; left: 0; display: none; flex-direction: column; align-items: stretch; gap: 0; padding: .7rem 1.2rem 1.2rem; border-bottom: 1px solid var(--line); background: rgba(2,8,16,.99); }
    .main-nav.is-open { display: flex; }
    .main-nav a { padding: .85rem .2rem; border-bottom: 1px solid rgba(216,165,59,.14); }
    .main-nav a::after { display: none; }
    .nav-toggle { display: inline-block; }
    .header-cta { display: none; }
    .home-hero__content { grid-template-columns: 1fr 1fr; min-height: 690px; }
    .home-hero__copy { padding-left: 0; }
    .home-hero__copy h1 { font-size: clamp(3.4rem, 9vw, 5.7rem); }
    .bottle-stage { min-height: 570px; }
    .hero-feature-strip article { padding: .8rem; }
    .history-hero__grid { grid-template-columns: .9fr 1.1fr; }
    .history-hero__bottle { display: none; }
    .history-summary__grid { grid-template-columns: 1fr 1fr; }
    .timeline-panel { grid-column: span 1; }
    .values-panel { grid-column: span 1; }
    .values-panel dl { grid-template-columns: 1fr; }
    .collection-layout { grid-template-columns: 1fr; }
    .collection-rail { grid-template-columns: repeat(3, 1fr); }
    .collection-rail article { border-right: 1px solid rgba(216,165,59,.3); border-bottom: 0; padding: .8rem; }
    .cart-layout, .checkout-form { grid-template-columns: 1fr; }
    .order-summary, .checkout-summary { position: relative; top: auto; }
    .contact-grid { grid-template-columns: .75fr 1.25fr; }
    .contact-details { grid-column: 1 / -1; display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; border-left: 0; border-top: 1px solid rgba(216,165,59,.25); }
    .cantina-visit { grid-column: 1 / -1; }
    .contact-cards { grid-column: 1 / -1; grid-template-columns: 1fr 1fr; }
    .contact-cards article { border-right: 1px solid rgba(216,165,59,.28); border-bottom: 0; }
    .account-grid { grid-template-columns: 1fr; }
    .account-sidebar { position: static; }
    .order-detail-grid { grid-template-columns: 1fr; }
    .metric-grid { grid-template-columns: repeat(2, 1fr); }
    .site-footer__main { grid-template-columns: 1fr; padding: 1.5rem 0; text-align: center; }
    .site-footer__main nav { justify-content: center; }
    .site-footer__brand { justify-self: center; }
}

@media (max-width: 700px) {
    .container, .container-wide { width: min(100% - 24px, 650px); }
    .header-cart span { display: none; }
    .home-hero { min-height: auto; }
    .home-hero__content { grid-template-columns: 1fr; min-height: auto; padding: 3.5rem 0 0; }
    .home-hero__copy { order: 1; }
    .home-hero__copy h1 { font-size: 4rem; }
    .home-hero__bottle { order: 2; min-height: 430px; transform: none; }
    .home-hero__bottle img { max-height: 430px; }
    .hero-actions { flex-direction: column; }
    .hero-feature-strip { grid-template-columns: 1fr; }
    .hero-feature-strip article { justify-content: flex-start; border-right: 0; border-bottom: 1px solid rgba(216,165,59,.22); padding-left: 2rem; }
    .split-intro { grid-template-columns: 1fr; gap: 1rem; }
    .history-hero__grid { grid-template-columns: 1fr; }
    .founder-portrait { position: absolute; inset: 0; opacity: .34; }
    .founder-portrait::after { background: rgba(2,8,16,.52); }
    .history-hero__story { min-height: 540px; display: grid; align-content: center; }
    .history-summary__grid { grid-template-columns: 1fr; }
    .history-summary article { border-right: 0; border-bottom: 1px solid rgba(216,165,59,.2); }
    .timeline { overflow-x: auto; }
    .process-grid { grid-template-columns: repeat(2, 1fr); }
    .collection-rail { grid-template-columns: 1fr; }
    .collection-rail article { border-right: 0; border-bottom: 1px solid rgba(216,165,59,.25); }
    .product-grid { grid-template-columns: 1fr; }
    .product-card { min-height: 520px; }
    .collection-assurance { grid-template-columns: repeat(2, 1fr); }
    .cart-table__head { display: none; }
    .cart-row { grid-template-columns: 1fr auto; gap: .7rem; }
    .cart-product { grid-column: 1 / -1; }
    .cart-row > span:nth-of-type(1)::before { content: "Size: "; color: var(--muted); }
    .cart-row > span:nth-of-type(2)::before { content: "Price: "; color: var(--muted); }
    .cart-row > strong { justify-self: end; }
    .cart-under { align-items: stretch; flex-direction: column; }
    .promo-box { grid-template-columns: 1fr auto; }
    .promo-box label { grid-column: 1 / -1; }
    .cart-story-strip { grid-template-columns: 1fr; }
    .cart-story-strip article { border-right: 0; border-bottom: 1px solid rgba(216,165,59,.2); }
    .checkout-heading { grid-template-columns: 1fr; gap: .5rem; text-align: center; }
    .checkout-heading > span { display: none; }
    .checkout-fields { padding: 1rem; }
    .field-grid--2, .field-grid--3 { grid-template-columns: 1fr; }
    .contact-grid { grid-template-columns: 1fr; }
    .contact-bottle { min-height: 440px; }
    .contact-center h1 { font-size: 3.5rem; }
    .contact-details { grid-column: 1; grid-template-columns: 1fr; padding-left: 0; }
    .cantina-visit { grid-column: 1; grid-template-columns: 1fr; }
    .cantina-visit img { min-height: 220px; }
    .contact-cards { grid-column: 1; grid-template-columns: 1fr; }
    .contact-cards article { border-right: 0; border-bottom: 1px solid rgba(216,165,59,.2); }
    .order-card { grid-template-columns: 1fr auto; }
    .order-card > b { grid-column: 2; }
    .metric-grid { grid-template-columns: 1fr; }
    .admin-heading { align-items: stretch; flex-direction: column; }
    .admin-table-panel { overflow-x: auto; }
    .admin-product-grid { grid-template-columns: 1fr; }
    .message-card > div { flex-direction: column; }
    .age-gate__card { padding: 1.7rem 1.2rem; }
    .age-gate__actions, .success-actions { flex-direction: column; }
}

@media (max-width: 430px) {
    .site-header__inner { width: calc(100% - 18px); }
    .brand-lockup__type small { display: none; }
    .header-actions { gap: .55rem; }
    .home-hero__copy h1 { font-size: 3.35rem; }
    .home-hero__bottle { min-height: 370px; }
    .home-hero__bottle img { max-height: 370px; }
    .process-grid { grid-template-columns: 1fr; }
    .collection-assurance { grid-template-columns: 1fr; }
    .product-card__footer { align-items: stretch; flex-direction: column; }
    .product-card__footer form, .product-card__footer button { width: 100%; }
    .assurance-grid { grid-template-columns: 1fr; }
    .assurance-grid span { border-right: 0; border-bottom: 1px solid rgba(216,165,59,.2); }
    .checkout-products article { grid-template-columns: 55px 1fr; }
    .checkout-products article b { grid-column: 2; }
    .checkout-trust { flex-direction: column; }
}

@media (prefers-reduced-motion: reduce) {
    *, *::before, *::after { scroll-behavior: auto !important; transition-duration: .001ms !important; animation-duration: .001ms !important; animation-iteration-count: 1 !important; }
}
/* Fidelity corrections after rendered comparison */
@media (min-width: 981px) {
    .history-hero__grid { grid-template-columns: .9fr 1.38fr .72fr; }
    .history-hero__story h1 { font-size: clamp(2.7rem, 4.1vw, 4.35rem); }
}
.product-card { min-height: 610px; }
.product-card__image { flex: 0 0 315px; height: 315px; overflow: hidden; margin-bottom: .7rem; }
.product-card__image img { max-height: 100%; }
.product-card__image img { height: 285px; max-height: 285px; width: auto; }
[hidden] { display: none !important; }
.profile-form { display: grid; gap: 1rem; padding: 1.5rem; }
.status-badge--payment_review { border-color: rgba(216,165,59,.72); color: var(--gold-bright); }

.promo-note { display: grid; gap: .2rem; max-width: 390px; padding: .85rem 1rem; border: 1px solid rgba(216,165,59,.35); background: rgba(4,16,29,.72); }
.promo-note strong { color: var(--gold-bright); font-family: var(--serif); font-weight: 500; text-transform: uppercase; }
.promo-note span { color: var(--muted); font-size: .82rem; }
.message-actions { display: flex; align-items: end; gap: .65rem; margin-top: .8rem; }
.message-actions label { min-width: 170px; }
.message-actions select { margin-top: .35rem; }
@media (max-width: 680px) { .message-actions { align-items: stretch; flex-direction: column; } }

/* ========================================================================== 
   Malo Tiempo v3.0 fidelity pass
   ========================================================================== */

/* Header: keep the full navigation visible at desktop widths. */
.site-header__inner {
    grid-template-columns: minmax(245px, .9fr) minmax(520px, 1.45fr) minmax(315px, .95fr);
    width: min(1580px, calc(100% - 42px));
}
.main-nav { justify-content: center; gap: clamp(1.2rem, 2vw, 2.35rem); }
.main-nav a { white-space: nowrap; }
.header-actions { min-width: 0; }
.header-account { white-space: nowrap; }

/* History overview */
.history-overview {
    position: relative;
    min-height: 555px;
    overflow: hidden;
    border-bottom: 1px solid rgba(216,165,59,.72);
    background:
        radial-gradient(circle at 50% 48%, rgba(15,56,91,.58), transparent 39%),
        linear-gradient(180deg, #06111f 0%, #020711 100%);
}
.history-overview::after {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
    background-image:
        linear-gradient(rgba(216,165,59,.035) 1px, transparent 1px),
        linear-gradient(90deg, rgba(216,165,59,.03) 1px, transparent 1px);
    background-size: 46px 46px;
    opacity: .25;
}
.history-overview__founder,
.history-overview__bottle {
    position: absolute;
    top: 0;
    bottom: 0;
    z-index: 1;
    background-repeat: no-repeat;
    background-size: cover;
}
.history-overview__founder {
    left: 0;
    width: 43%;
    background-image: url('../img/story/history-founder-scene.jpg');
    background-position: center 23%;
    -webkit-mask-image: linear-gradient(90deg, #000 0%, #000 68%, rgba(0,0,0,.78) 82%, transparent 100%);
    mask-image: linear-gradient(90deg, #000 0%, #000 68%, rgba(0,0,0,.78) 82%, transparent 100%);
}
.history-overview__founder::after,
.history-overview__bottle::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, transparent 62%, #020711 100%);
}
.history-overview__bottle {
    right: 0;
    width: 42%;
    background-image: url('../img/story/history-bottle-scene.jpg');
    background-position: center 27%;
    -webkit-mask-image: linear-gradient(270deg, #000 0%, #000 70%, rgba(0,0,0,.74) 84%, transparent 100%);
    mask-image: linear-gradient(270deg, #000 0%, #000 70%, rgba(0,0,0,.74) 84%, transparent 100%);
}
.history-overview__shade {
    position: absolute;
    z-index: 2;
    inset: 0;
    background:
        linear-gradient(90deg, transparent 0 30%, rgba(2,7,17,.82) 43%, rgba(2,7,17,.9) 58%, transparent 74%),
        linear-gradient(180deg, rgba(1,5,11,.05), rgba(1,5,11,.18));
}
.history-overview__story {
    position: relative;
    z-index: 4;
    width: min(640px, 42vw);
    margin-inline: auto;
    padding: 3.1rem 1.2rem 2.25rem;
    text-align: center;
}
.history-overview__story .hero-emblem { width: 58px; margin: 0 auto .45rem; }
.history-overview__story h1 {
    margin: .15rem 0 .8rem;
    color: var(--gold-bright);
    font-family: var(--serif);
    font-size: clamp(3rem, 5vw, 5.15rem);
    font-weight: 500;
    line-height: .9;
    letter-spacing: .025em;
    text-transform: uppercase;
}
.history-overview__story > p:not(.eyebrow):not(.history-founded):not(.history-declaration) {
    max-width: 610px;
    margin: .8rem auto;
    color: #ded8cd;
    font-family: var(--serif);
    font-size: .98rem;
    line-height: 1.7;
}
.history-founded {
    margin: .5rem 0 .75rem;
    color: var(--gold-bright);
    font-family: var(--serif);
    font-size: .75rem;
    letter-spacing: .13em;
    text-transform: uppercase;
}
.history-founded strong { display: block; margin-top: .35rem; font-size: .9rem; }
.history-declaration { color: #efe4cd; font-family: var(--serif); font-style: italic; }
.history-overview__story .founder-signature { margin-top: .4rem; font-size: 1.55rem; }
.history-overview__story small { color: var(--gold); letter-spacing: .16em; text-transform: uppercase; }

.history-chapters { padding: 1.35rem 0 2.2rem; }
.history-chapters .section-heading { margin: .2rem 0 1.1rem; }
.process-grid--linked { gap: .85rem; }
.process-grid--linked .process-card {
    min-height: 300px;
    border-color: rgba(216,165,59,.74);
    border-radius: 4px;
    background-color: #06101d;
    background-image: var(--process-image);
    background-position: center;
    background-size: cover;
    box-shadow: inset 0 0 0 1px rgba(255,221,135,.07), 0 14px 28px rgba(0,0,0,.24);
    transform: translateY(0);
    transition: transform .22s ease, border-color .22s ease, box-shadow .22s ease;
}
.process-grid--linked .process-card::after {
    background: linear-gradient(0deg, rgba(0,4,9,.97) 0%, rgba(0,4,9,.74) 38%, rgba(0,4,9,.08) 78%);
}
.process-grid--linked .process-card:hover,
.process-grid--linked .process-card:focus-visible {
    transform: translateY(-5px);
    border-color: var(--gold-bright);
    box-shadow: inset 0 0 0 1px rgba(255,221,135,.16), 0 22px 42px rgba(0,0,0,.42);
}
.process-grid--linked .process-card > div { padding: 1.05rem; }
.process-grid--linked .process-card b { display: block; }
.process-grid--linked .process-card p { max-width: 88%; }
.process-card__arrow {
    position: absolute;
    right: .85rem;
    bottom: .85rem;
    display: grid;
    place-items: center;
    width: 34px;
    height: 34px;
    border: 1px solid var(--gold);
    border-radius: 50%;
    color: var(--gold-bright);
}
.history-legacy-strip {
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    margin-top: 1.25rem;
    border-block: 1px solid rgba(216,165,59,.27);
    background: rgba(4,14,25,.74);
}
.history-legacy-strip article { padding: .85rem 1rem; border-right: 1px solid rgba(216,165,59,.2); text-align: center; }
.history-legacy-strip article:last-child { border-right: 0; }
.history-legacy-strip strong { display: block; color: var(--gold-bright); font-family: var(--serif); font-size: 1.05rem; }
.history-legacy-strip span { display: block; margin-top: .18rem; color: var(--muted); font-size: .67rem; letter-spacing: .04em; }

/* Individual story chapters */
.chapter-hero {
    position: relative;
    min-height: 610px;
    overflow: hidden;
    border-bottom: 1px solid rgba(216,165,59,.72);
    background: #020812;
}
.chapter-hero__image {
    position: absolute;
    inset: 0;
    background-image: var(--chapter-hero);
    background-position: center right;
    background-size: cover;
    transform: scale(1.01);
}
.chapter-hero__shade {
    position: absolute;
    inset: 0;
    background:
        linear-gradient(90deg, rgba(2,8,18,.98) 0%, rgba(2,8,18,.92) 28%, rgba(2,8,18,.57) 49%, rgba(2,8,18,.08) 76%),
        linear-gradient(180deg, rgba(1,5,11,.1), rgba(1,5,11,.28));
}
.chapter-hero__content {
    position: relative;
    z-index: 2;
    width: min(1580px, calc(100% - 48px));
    padding: 1.25rem 0 3.1rem;
}
.chapter-breadcrumb { display: flex; gap: .65rem; color: #c8b68e; font-size: .68rem; letter-spacing: .12em; text-transform: uppercase; }
.chapter-breadcrumb a { color: var(--gold-bright); }
.chapter-number { margin: 2.2rem 0 .2rem; color: var(--gold-bright); font-family: var(--serif); font-size: 3.1rem; letter-spacing: .12em; }
.chapter-hero h1 {
    max-width: 650px;
    margin: 0;
    color: var(--gold-bright);
    font-family: var(--serif);
    font-size: clamp(3.7rem, 7vw, 7rem);
    font-weight: 500;
    line-height: .9;
    text-transform: uppercase;
}
.chapter-kicker { margin: .9rem 0 0; color: var(--gold-bright)!important; font-size: .9rem!important; font-weight: 700; letter-spacing: .17em; text-transform: uppercase; }
.chapter-hero__content .gold-rule { margin-left: 0; }
.chapter-hero__content > p:not(.chapter-number):not(.chapter-kicker) { max-width: 575px; color: #ddd8cf; font-family: var(--serif); font-size: .98rem; line-height: 1.65; }
.chapter-facts { border-bottom: 1px solid rgba(216,165,59,.28); background: #061426; }
.chapter-facts__grid { display: grid; grid-template-columns: repeat(3, 1fr); }
.chapter-facts article { display: grid; grid-template-columns: 54px 1fr; gap: .9rem; align-items: center; min-height: 104px; padding: 1rem 1.35rem; border-right: 1px solid rgba(216,165,59,.24); }
.chapter-facts article:last-child { border-right: 0; }
.chapter-facts article > span { display: grid; place-items: center; width: 46px; height: 46px; border: 1px solid var(--gold); border-radius: 50%; color: var(--gold-bright); }
.chapter-facts svg { width: 24px; height: 24px; }
.chapter-facts strong { display: block; color: var(--gold-bright); font-family: var(--serif); font-size: .85rem; letter-spacing: .08em; text-transform: uppercase; }
.chapter-facts p { margin: .2rem 0 0; color: var(--muted); font-size: .74rem; }
.chapter-body { padding: 2.2rem 0 3.3rem; }
.chapter-section-grid { display: grid; gap: 1rem; }
.chapter-section-grid--two { grid-template-columns: repeat(2, 1fr); }
.chapter-section-grid--four { grid-template-columns: repeat(4, 1fr); }
.chapter-section-card {
    display: grid;
    min-width: 0;
    border: 1px solid rgba(216,165,59,.48);
    background: linear-gradient(145deg, rgba(8,25,42,.95), rgba(2,10,19,.96));
    overflow: hidden;
}
.chapter-section-card__image { min-height: 270px; overflow: hidden; }
.chapter-section-grid--four .chapter-section-card__image { min-height: 225px; }
.chapter-section-card__image img { width: 100%; height: 100%; object-fit: cover; transition: transform .45s ease; }
.chapter-section-card:hover .chapter-section-card__image img { transform: scale(1.035); }
.chapter-section-card__copy { padding: 1.15rem 1.25rem 1.3rem; }
.chapter-section-card__copy h2 { margin: .15rem 0 .55rem; color: var(--gold-bright); font-family: var(--serif); font-size: 1.4rem; font-weight: 500; text-transform: uppercase; }
.chapter-section-card__copy > p:last-child { margin: 0; color: #d5d0c7; font-family: var(--serif); font-size: .88rem; line-height: 1.6; }
.chapter-quote { max-width: 980px; margin: 2.3rem auto; text-align: center; }
.chapter-quote span { display: block; height: 34px; color: var(--gold); font-family: Georgia, serif; font-size: 4rem; line-height: 1; }
.chapter-quote p { margin: 0; color: var(--gold-bright); font-family: var(--serif); font-size: clamp(1.25rem, 2.2vw, 2rem); font-style: italic; letter-spacing: .04em; }
.chapter-quote cite { display: block; margin-top: .65rem; color: var(--muted); font-size: .68rem; letter-spacing: .16em; text-transform: uppercase; }
.chapter-journey { display: grid; grid-template-columns: 1fr auto 1fr; gap: 1rem; align-items: center; padding-top: 1.4rem; border-top: 1px solid rgba(216,165,59,.28); }
.chapter-journey > :last-child { justify-self: end; }
.chapter-journey__center { display: flex; align-items: center; gap: .6rem; color: var(--gold-bright); font-family: var(--serif); letter-spacing: .12em; text-transform: uppercase; }
.chapter-journey__center svg { width: 34px; height: 34px; }

/* Collection: match the comp structure and never render an empty catalog. */
.collection-page { padding-top: 1.3rem; }
.collection-layout {
    grid-template-columns: 235px minmax(0, 1fr);
    grid-template-rows: auto 1fr;
    gap: 1rem 1.15rem;
}
.collection-heading { grid-column: 2; max-width: none; margin: 0; padding: .2rem 1rem .1rem; text-align: left; }
.collection-heading h1 { font-size: clamp(3.4rem, 5vw, 5.7rem); }
.collection-heading .gold-rule { margin-left: 0; }
.collection-heading .eyebrow { margin: .55rem 0 .25rem; font-size: .82rem; }
.collection-heading > p:last-child { max-width: 850px; margin: 0; font-size: .9rem; }
.collection-rail { grid-row: 1 / 3; align-self: stretch; padding: .7rem 1rem; border: 1px solid rgba(216,165,59,.45); background: rgba(2,9,17,.84); }
.collection-rail article { flex-direction: column; align-items: center; padding: 1.05rem .2rem; text-align: center; }
.collection-rail > article > span { flex-basis: 58px; width: 58px; }
.collection-rail > article > span svg { width: 30px; height: 30px; }
.product-grid { grid-column: 2; }
.product-card { min-height: 530px; border-radius: 4px; }
.product-card__image { height: 270px; }
.collection-assurance { margin-left: 0; }

/* Contact: remove unused white space and use a dedicated visual asset. */
.contact-page { padding: 1.1rem 0 1.8rem; }
.contact-grid--v3 {
    grid-template-columns: minmax(330px, .9fr) minmax(460px, 1.08fr) minmax(285px, .72fr);
    grid-template-areas:
        "visual center details"
        "cards cards details";
    gap: 1rem;
    align-items: stretch;
}
.contact-visual {
    grid-area: visual;
    min-height: 610px;
    border: 1px solid rgba(216,165,59,.5);
    background-image:
        linear-gradient(180deg, rgba(2,8,16,.02), rgba(2,8,16,.16)),
        url('../img/story/contact-bottle-quetzal-agave.jpg');
    background-position: center;
    background-size: cover;
    box-shadow: inset 0 0 70px rgba(1,6,12,.46);
}
.contact-grid--v3 .contact-center { grid-area: center; }
.contact-grid--v3 .contact-details { grid-area: details; }
.contact-center header { padding: .55rem .25rem .7rem; text-align: center; }
.contact-center h1 { font-size: clamp(3.1rem, 4.7vw, 5.1rem); line-height: .88; }
.contact-center header > p:last-child { max-width: 590px; margin: .7rem auto 0; font-size: .9rem; line-height: 1.55; }
.contact-form { padding: 1.05rem 1.2rem; }
.contact-form h2 { margin: 0 0 .8rem; }
.contact-details { padding: 1rem 1.15rem; border-left: 1px solid rgba(216,165,59,.28); background: rgba(3,12,22,.76); }
.contact-details > h2 { margin: 0 0 .8rem; color: var(--gold-bright); font-family: var(--serif); letter-spacing: .12em; text-transform: uppercase; }
.contact-details dl { display: grid; gap: .2rem; }
.contact-details dl div { padding: .75rem 0; border-bottom: 1px solid rgba(216,165,59,.2); }
.contact-details dt { color: var(--gold-bright); font-size: .7rem; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.contact-details dd { margin: .25rem 0 0; color: #d4cec5; font-family: var(--serif); font-size: .82rem; line-height: 1.45; }
.contact-details dd a { color: inherit; }
.contact-social { margin-top: 1rem; }
.contact-social h3 { color: var(--gold-bright); font-family: var(--serif); font-size: .9rem; letter-spacing: .1em; text-transform: uppercase; }
.contact-social > div { display: flex; gap: .55rem; }
.contact-social a { display: grid; place-items: center; width: 37px; height: 37px; border: 1px solid var(--gold); border-radius: 50%; color: var(--gold-bright); font-weight: 700; }
.map-card { min-height: 220px; margin-top: 1.2rem; padding: 1rem; border: 1px solid var(--gold); background: radial-gradient(circle at 55% 70%, rgba(28,79,120,.35), transparent 25%), linear-gradient(145deg,#0a1b2b,#07101c); }
.map-card strong { display: block; color: var(--gold-bright); font-family: var(--serif); letter-spacing: .1em; text-align: center; text-transform: uppercase; }
.map-card .map-pin { display: block; margin: 3.1rem auto .35rem; color: var(--gold-bright); text-align: center; font-size: 1.6rem; }
.map-card small { display: block; margin-bottom: 1.1rem; color: #ddd4c4; text-align: center; }
.map-card .button { display: flex; width: fit-content; margin-inline: auto; }
.contact-cards--v3 { grid-area: cards; display: grid; grid-template-columns: 1.4fr .7fr .7fr; gap: 1rem; }
.contact-card { min-height: 170px; padding: 1.15rem; border: 1px solid rgba(216,165,59,.5); background: linear-gradient(145deg,rgba(8,26,44,.94),rgba(2,10,18,.94)); }
.contact-card--cantina { position: relative; background-image: linear-gradient(90deg,rgba(2,8,16,.95),rgba(2,8,16,.35)), url('../img/cantina-scene.jpg'); background-position: center; background-size: cover; }
.contact-card--cantina > div { max-width: 56%; }
.contact-card strong { display: block; color: var(--gold-bright); font-family: var(--serif); font-size: 1.15rem; text-transform: uppercase; }
.contact-card p { color: #d2ccc2; font-family: var(--serif); font-size: .82rem; line-height: 1.5; }
.contact-card a { color: var(--gold-bright); font-size: .72rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.contact-card__icon { display: block; margin-bottom: .65rem; color: var(--gold-bright); font-size: 1.7rem; }

/* Admin catalog seed control */
.admin-seed-form { display: flex; gap: .65rem; align-items: center; }
.admin-seed-form label { display: flex; gap: .4rem; align-items: center; color: var(--muted); font-size: .75rem; }
.admin-seed-form input { width: auto; min-height: auto; }

@media (min-width: 901px) {
    /* Fully restore the desktop header. The earlier <=980px responsive block
       also affects navigation; without these resets, Android Chrome's
       requested desktop viewport can land in a hybrid stacked state. */
    .site-header {
        height: 82px;
        min-height: 82px;
    }
    .site-header__inner {
        grid-template-columns: minmax(200px, .9fr) minmax(430px, 1.5fr) auto;
        grid-template-rows: 82px;
        width: min(1510px, calc(100% - 30px));
        height: 100%;
        padding: 0;
    }
    .site-brand {
        grid-column: 1;
        grid-row: 1;
    }
    .main-nav {
        position: static;
        top: auto;
        right: auto;
        left: auto;
        grid-column: 2;
        grid-row: 1;
        display: flex !important;
        flex-direction: row;
        align-items: center;
        justify-content: center;
        gap: clamp(.72rem, 1.35vw, 1.55rem);
        width: auto;
        max-height: none;
        margin: 0;
        padding: 0;
        overflow: visible;
        border: 0;
        background: transparent;
        opacity: 1;
        pointer-events: auto;
    }
    .main-nav a {
        display: block;
        min-height: 0;
        padding: 1.85rem 0 1.55rem;
        border: 0;
        color: #e7dfd1;
        font-size: clamp(.61rem, .78vw, .79rem);
        letter-spacing: .1em;
        white-space: nowrap;
    }
    .main-nav a:last-child {
        grid-column: auto;
        border: 0;
    }
    .main-nav a::after {
        display: block;
    }
    .header-actions {
        grid-column: 3;
        grid-row: 1;
    }
    .nav-toggle {
        display: none !important;
    }
}

@media (max-width: 1320px) {
    .site-header__inner { grid-template-columns: minmax(220px,.85fr) minmax(460px,1.35fr) auto; }
    .main-nav { gap: 1.2rem; }
    .header-cta { display: none; }
    .history-overview__story { width: min(600px, 45vw); }
    .process-grid--linked .process-card { min-height: 270px; }
    .contact-grid--v3 { grid-template-columns: minmax(310px,.85fr) minmax(430px,1.1fr) minmax(270px,.72fr); }
}

@media (max-width: 1100px) {
    .history-overview { min-height: 520px; }
    .history-overview__founder { width: 47%; }
    .history-overview__bottle { width: 47%; }
    .history-overview__story { width: min(540px, 50vw); padding-top: 2.5rem; }
    .history-overview__story h1 { font-size: clamp(2.65rem, 5vw, 4.3rem); }
    .process-grid--linked { grid-template-columns: repeat(3, 1fr); }
    .chapter-section-grid--four { grid-template-columns: repeat(2, 1fr); }
    .collection-layout { grid-template-columns: 190px minmax(0,1fr); }
    .product-grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
    .contact-grid--v3 {
        grid-template-columns: minmax(300px,.82fr) minmax(430px,1.18fr);
        grid-template-areas: "visual center" "details details" "cards cards";
    }
    .contact-details { display: grid; grid-template-columns: 1fr 1fr 1fr; gap: 1rem; border: 1px solid rgba(216,165,59,.35); }
    .contact-details > h2 { grid-column: 1/-1; }
    .map-card { margin-top: 0; }
}

@media (max-width: 900px) {
    .site-header__inner { grid-template-columns: 1fr auto; }
    .main-nav { top: 72px; }
    .history-overview { display: grid; min-height: auto; padding-top: 340px; }
    .history-overview__founder { width: 58%; height: 360px; bottom: auto; }
    .history-overview__bottle { width: 58%; height: 360px; bottom: auto; }
    .history-overview__shade { height: 360px; background: linear-gradient(90deg,transparent 0 35%,rgba(2,7,17,.5) 48%,transparent 65%),linear-gradient(180deg,transparent 45%,#020711 100%); }
    .history-overview__story { width: 100%; padding: 1.2rem 1.3rem 2.1rem; }
    .history-overview__story h1 { font-size: clamp(2.8rem, 10vw, 4.8rem); }
    .history-legacy-strip { grid-template-columns: repeat(5, minmax(125px,1fr)); overflow-x: auto; }
    .chapter-hero { min-height: 720px; }
    .chapter-hero__image { background-position: 62% center; }
    .chapter-hero__shade { background: linear-gradient(180deg,rgba(2,8,18,.1) 0%,rgba(2,8,18,.45) 35%,rgba(2,8,18,.98) 64%); }
    .chapter-hero__content { display: flex; flex-direction: column; justify-content: flex-end; min-height: 720px; padding-bottom: 2.2rem; }
    .chapter-hero__content > p:not(.chapter-number):not(.chapter-kicker) { max-width: 100%; }
    .chapter-facts__grid { grid-template-columns: 1fr; }
    .chapter-facts article { border-right: 0; border-bottom: 1px solid rgba(216,165,59,.22); }
    .chapter-facts article:last-child { border-bottom: 0; }
    .collection-layout { grid-template-columns: 1fr; }
    .collection-heading, .collection-rail, .product-grid { grid-column: 1; }
    .collection-rail { grid-row: auto; grid-template-columns: repeat(4,1fr); }
    .collection-rail article { border-right: 1px solid rgba(216,165,59,.22); border-bottom: 0; }
    .collection-rail article:last-child { border-right: 0; }
    .contact-grid--v3 { grid-template-columns: 1fr; grid-template-areas: "visual" "center" "details" "cards"; }
    .contact-visual { min-height: 540px; background-position: center 35%; }
    .contact-details { grid-template-columns: 1fr 1fr; }
    .map-card { grid-column: 1/-1; }
    .contact-cards--v3 { grid-template-columns: 1fr 1fr; }
    .contact-card--cantina { grid-column: 1/-1; }
}

@media (max-width: 700px) {
    .process-grid--linked { grid-template-columns: repeat(2, 1fr); }
    .process-grid--linked .process-card { min-height: 250px; }
    .chapter-section-grid--two,
    .chapter-section-grid--four { grid-template-columns: 1fr; }
    .chapter-section-card { grid-template-columns: 1fr; }
    .chapter-section-card__image,
    .chapter-section-grid--four .chapter-section-card__image { min-height: 245px; }
    .chapter-journey { grid-template-columns: 1fr 1fr; }
    .chapter-journey__center { grid-column: 1/-1; grid-row: 1; justify-self: center; }
    .chapter-journey > :last-child { justify-self: stretch; }
    .chapter-journey .button { justify-content: center; }
    .collection-rail { grid-template-columns: repeat(2,1fr); }
    .collection-rail article { border-bottom: 1px solid rgba(216,165,59,.22); }
    .product-grid { grid-template-columns: 1fr; }
    .contact-details { grid-template-columns: 1fr; }
    .map-card { grid-column: auto; }
    .contact-cards--v3 { grid-template-columns: 1fr; }
    .contact-card--cantina { grid-column: auto; }
    .contact-card--cantina > div { max-width: 78%; }
}

@media (max-width: 520px) {
    .history-overview { padding-top: 295px; }
    .history-overview__founder,
    .history-overview__bottle { height: 315px; width: 65%; }
    .history-overview__story { padding-inline: 1rem; }
    .history-overview__story .hero-emblem { display: none; }
    .process-grid--linked { grid-template-columns: 1fr; }
    .process-grid--linked .process-card { min-height: 290px; }
    .chapter-hero { min-height: 680px; }
    .chapter-hero__content { width: calc(100% - 28px); min-height: 680px; }
    .chapter-number { margin-top: 1.2rem; }
    .chapter-hero h1 { font-size: clamp(3.2rem, 17vw, 5rem); }
    .chapter-journey { grid-template-columns: 1fr; }
    .chapter-journey__center { grid-column: 1; }
    .collection-heading { padding-inline: 0; }
    .collection-heading h1 { font-size: 3.1rem; }
    .contact-visual { min-height: 455px; }
    .contact-center h1 { font-size: 3.2rem; }
}

/* Final history hero alignment after visual validation. */
@media (min-width: 1101px) {
    .history-overview__founder { width: 40%; }
    .history-overview__bottle { width: 39%; }
    .history-overview__story { width: min(660px, 46vw); }
    .history-overview__story h1 { font-size: clamp(3rem, 4.15vw, 4.5rem); line-height: .94; }
    .history-overview__shade {
        background:
            linear-gradient(90deg, transparent 0 29%, rgba(2,7,17,.86) 40%, rgba(2,7,17,.96) 50%, rgba(2,7,17,.86) 61%, transparent 73%),
            linear-gradient(180deg, rgba(1,5,11,.04), rgba(1,5,11,.18));
    }
}
@media (max-width: 700px) {
    .history-legacy-strip { grid-template-columns: repeat(2, 1fr); overflow: visible; }
    .history-legacy-strip article { border-bottom: 1px solid rgba(216,165,59,.2); }
    .history-legacy-strip article:nth-child(2n) { border-right: 0; }
    .history-legacy-strip article:last-child { grid-column: 1 / -1; }
}


/* ========================================================================== 
   Malo Tiempo v3.1 mobile navigation and collection quantity controls
   ========================================================================== */
.product-card__footer {
    display: grid;
    grid-template-columns: auto 1fr;
    align-items: end;
    gap: .55rem .75rem;
}
.product-card__footer > strong { align-self: center; justify-self: start; }
.product-purchase {
    grid-column: 1 / -1;
    display: grid;
    grid-template-columns: 104px minmax(0, 1fr);
    align-items: end;
    gap: .55rem;
    width: 100%;
}
.quantity-picker {
    display: grid;
    grid-template-columns: 30px 44px 30px;
    grid-template-rows: auto 36px;
    align-items: stretch;
}
.quantity-picker label {
    grid-column: 1 / -1;
    margin-bottom: .25rem;
    color: var(--muted);
    font-size: .58rem;
    font-weight: 700;
    letter-spacing: .12em;
    text-align: left;
    text-transform: uppercase;
}
.quantity-picker button,
.quantity-picker input {
    min-width: 0;
    min-height: 36px;
    height: 36px;
    padding: 0;
    border: 1px solid rgba(216,165,59,.52);
    border-radius: 0;
    background: rgba(0,7,15,.84);
    color: var(--cream);
    text-align: center;
}
.quantity-picker button { cursor: pointer; color: var(--gold-bright); font-size: 1rem; }
.quantity-picker button:hover:not(:disabled) { background: rgba(216,165,59,.14); }
.quantity-picker input { border-right: 0; border-left: 0; appearance: textfield; -moz-appearance: textfield; }
.quantity-picker input::-webkit-inner-spin-button,
.quantity-picker input::-webkit-outer-spin-button { margin: 0; appearance: none; }
.quantity-picker button:disabled,
.quantity-picker input:disabled { cursor: not-allowed; opacity: .45; }
.product-purchase .button { min-height: 36px; padding: .55rem .65rem; }

@media (max-width: 900px) {
    .site-header { height: auto; min-height: 64px; background: rgba(2,8,16,.985); backdrop-filter: blur(18px); }
    .site-header__inner {
        grid-template-columns: minmax(0, 1fr) auto;
        grid-template-rows: 64px auto;
        width: 100%;
        height: auto;
        padding: 0 14px;
    }
    .site-brand { grid-column: 1; grid-row: 1; min-width: 0; }
    .header-actions { grid-column: 2; grid-row: 1; min-width: 0; gap: .5rem; }
    .header-account, .header-cta { display: none; }
    .header-cart { flex: 0 0 auto; }
    .nav-toggle {
        position: relative;
        display: inline-grid !important;
        place-items: center;
        flex: 0 0 40px;
        width: 40px;
        height: 40px;
        padding: 0;
        border-color: rgba(216,165,59,.54);
    }
    .nav-toggle span {
        position: absolute;
        left: 9px;
        width: 20px;
        margin: 0;
        transition: transform .2s ease, opacity .2s ease, top .2s ease;
    }
    .nav-toggle span:nth-child(1) { top: 12px; }
    .nav-toggle span:nth-child(2) { top: 19px; }
    .nav-toggle span:nth-child(3) { top: 26px; }
    .nav-toggle[aria-expanded="true"] span:nth-child(1) { top: 19px; transform: rotate(45deg); }
    .nav-toggle[aria-expanded="true"] span:nth-child(2) { opacity: 0; }
    .nav-toggle[aria-expanded="true"] span:nth-child(3) { top: 19px; transform: rotate(-45deg); }
    .main-nav {
        position: static;
        top: auto;
        right: auto;
        left: auto;
        grid-column: 1 / -1;
        grid-row: 2;
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        align-items: stretch;
        gap: 0;
        width: auto;
        max-height: 0;
        margin: 0 -14px;
        padding: 0 14px;
        overflow: hidden;
        border: 0;
        background: #020914;
        opacity: 0;
        pointer-events: none;
        transition: max-height .24s ease, padding .24s ease, opacity .18s ease, border-color .18s ease;
    }
    .main-nav.is-open {
        display: grid;
        max-height: 228px;
        padding-top: .55rem;
        padding-bottom: .7rem;
        border-top: 1px solid rgba(216,165,59,.26);
        border-bottom: 1px solid rgba(216,165,59,.34);
        opacity: 1;
        pointer-events: auto;
    }
    .main-nav a {
        display: flex;
        align-items: center;
        justify-content: center;
        min-height: 48px;
        padding: .65rem .5rem;
        border: 0;
        border-bottom: 1px solid rgba(216,165,59,.14);
        color: #e9e0d0;
        font-size: .71rem;
        letter-spacing: .14em;
        text-align: center;
    }
    .main-nav a:nth-child(odd) { border-right: 1px solid rgba(216,165,59,.14); }
    .main-nav a:last-child { grid-column: 1 / -1; border-right: 0; border-bottom: 0; }
    .main-nav a.is-active { color: var(--gold-bright); }
    .main-nav a::after { display: none; }
}

@media (max-width: 520px) {
    .site-header__inner { padding-inline: 10px; }
    .main-nav { margin-inline: -10px; padding-inline: 10px; }
    .brand-lockup { gap: .5rem; }
    .brand-lockup__mark { width: 31px; height: 31px; }
    .brand-lockup__type strong { font-size: .88rem; }
    .brand-lockup__type small { display: block; margin-top: .22rem; font-size: .43rem; letter-spacing: .13em; }
    .header-cart { gap: .3rem; font-size: .66rem; }
    .header-cart svg { width: 18px; }
    .header-cart b { min-width: 18px; height: 18px; }
    .product-card__footer { grid-template-columns: 1fr; }
    .product-purchase { grid-template-columns: 104px minmax(0, 1fr); }
}

/* ========================================================================== 
   Malo Tiempo v3.2 storefront corrections
   ========================================================================== */
.collection-layout,
.collection-heading,
.collection-rail,
.product-grid { min-width: 0; }
.collection-rail {
    overflow: hidden;
    border-radius: 2px;
}
.collection-rail article {
    min-width: 0;
    min-height: 142px;
    justify-content: center;
    overflow: hidden;
}
.collection-rail article > div { min-width: 0; }
.collection-rail__icon {
    display: grid !important;
    place-items: center;
    flex: 0 0 58px !important;
    width: 58px !important;
    height: 58px !important;
    padding: 10px;
    overflow: hidden;
    border: 1px solid var(--gold);
    border-radius: 50%;
    color: var(--gold-bright);
}
.collection-rail__icon svg {
    display: block;
    width: 100% !important;
    height: 100% !important;
    overflow: visible;
    fill: none;
    stroke: currentColor;
    stroke-width: 2.2;
    stroke-linecap: round;
    stroke-linejoin: round;
}
.collection-rail__icon .collection-feature-mark {
    padding: 2px;
    stroke-width: 7;
}
.collection-rail strong,
.collection-rail p { overflow-wrap: anywhere; }

.contact-grid--v3 .contact-details {
    display: flex;
    flex-direction: column;
    min-width: 0;
    padding: 1.15rem 1.25rem 1.2rem;
}
.contact-details > h2 { padding-inline: .2rem; }
.contact-detail-list {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 0 !important;
    width: 100%;
    margin: 0 !important;
}
.contact-detail-row {
    position: relative;
    display: block !important;
    width: 100%;
    margin: 0 !important;
    padding: .9rem .85rem .9rem 1.15rem !important;
    border: 0 !important;
    border-bottom: 1px solid rgba(216,165,59,.2) !important;
}
.contact-detail-row::before {
    content: "";
    position: absolute;
    top: 1rem;
    bottom: 1rem;
    left: 0;
    width: 2px;
    background: var(--gold);
}
.contact-detail-row dt,
.contact-detail-row dd { padding-left: .15rem; }
.map-card--osm {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    min-height: 292px;
    margin-top: 1.15rem;
    padding: .9rem;
    background: #071525;
}
.map-card--osm strong {
    position: static;
    margin: 0 0 .75rem;
    text-align: left;
}
.map-card__viewport {
    position: relative;
    min-height: 190px;
    overflow: hidden;
    border: 1px solid rgba(216,165,59,.38);
    background: #0a1724;
}
.map-card__viewport iframe {
    display: block;
    width: 100%;
    height: 210px;
    border: 0;
    filter: saturate(.68) sepia(.24) brightness(.72) contrast(1.18);
}
.map-card__viewport::after {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
    box-shadow: inset 0 0 34px rgba(2,8,16,.78);
}
.map-card__label {
    position: absolute;
    right: .55rem;
    bottom: .5rem;
    left: .55rem;
    z-index: 2;
    padding: .45rem .55rem;
    border: 1px solid rgba(216,165,59,.45);
    background: rgba(2,8,16,.88);
    color: var(--gold-bright);
    font-size: .62rem;
    font-weight: 700;
    letter-spacing: .08em;
    text-align: center;
    text-transform: uppercase;
}
.map-card--osm .button { margin-top: .75rem; }
.contact-social {
    margin-top: auto;
    padding: 1.15rem .2rem 0;
    border-top: 1px solid rgba(216,165,59,.25);
}
.contact-social h3 { margin: 0 0 .75rem; }
.contact-social > div { justify-content: flex-start; }

@media (min-width: 901px) and (max-width: 1100px) {
    .contact-grid--v3 .contact-details {
        display: flex;
        grid-template-columns: none;
        gap: 0;
        border: 1px solid rgba(216,165,59,.35);
    }
    .contact-grid--v3 .contact-details > h2 { grid-column: auto; }
    .map-card--osm { margin-top: 1.15rem; }
}

@media (max-width: 900px) {
    .contact-grid--v3 .contact-details { padding: 1rem; }
}

@media (max-width: 700px) {
    .collection-rail article { min-height: 155px; }
    .contact-social > div { justify-content: center; }
    .contact-social h3 { text-align: center; }
}

/* ========================================================================== 
   Malo Tiempo v4.0 destination, reservation, and partner pages
   ========================================================================== */

/* Prevent requested-desktop mobile viewports from turning 100vh sections into
   multi-screen blank wells. Content now controls page height with a desktop cap. */
.home-hero { min-height: 0; }
.home-hero__content { min-height: clamp(620px, 48vw, 760px); }
.collection-page,
.cart-page,
.checkout-page,
.contact-page,
.account-page,
.admin-page { min-height: 0; }
.auth-page,
.success-page { min-height: min(760px, calc(100svh - 82px)); }

/* Primary navigation now carries the Account link and a compact visit label. */
@media (min-width: 901px) {
    .site-header__inner { grid-template-columns: minmax(195px,.78fr) minmax(525px,1.6fr) auto; }
    .main-nav { gap: clamp(.62rem, 1.05vw, 1.25rem); }
    .main-nav a { font-size: clamp(.56rem, .7vw, .74rem); letter-spacing: .085em; }
    .site-header--admin .site-header__inner { grid-template-columns: minmax(190px,.65fr) minmax(760px,2fr) auto; }
    .site-header--admin .main-nav { gap: .72rem; }
    .site-header--admin .main-nav a { font-size: .56rem; }
}

/* Collection left rail: isolate every feature block and keep SVGs inside bounds. */
.collection-rail {
    contain: layout paint;
    align-content: start;
}
.collection-rail article {
    display: grid;
    grid-template-columns: 64px minmax(0, 1fr);
    align-items: center;
    gap: .85rem;
    min-height: 126px;
    padding: 1rem .65rem;
    text-align: left;
}
.collection-rail__icon {
    flex: none !important;
    width: 58px !important;
    height: 58px !important;
    margin: 0;
}
.collection-rail article > div { width: 100%; overflow: hidden; }
.collection-rail strong { line-height: 1.28; }
.collection-rail p { line-height: 1.42; }

/* Contact refinements retained and normalized across desktop/mobile. */
.contact-details { padding: 1.2rem 1.3rem; }
.contact-detail-row { padding-right: 1rem !important; }
.contact-social { order: 4; margin-top: 1.15rem; }
.contact-social > div { justify-content: flex-start; }
.map-card--osm { order: 3; }
.contact-cards--v3 .contact-card a { display: inline-flex; margin-top: .25rem; }

/* Shared experience page framing */
.visit-page,
.reservation-page,
.distributor-page {
    position: relative;
    overflow: hidden;
    border-bottom: 1px solid rgba(216,165,59,.25);
    background:
        radial-gradient(circle at 50% 18%, rgba(24,74,119,.22), transparent 34%),
        linear-gradient(180deg,#020812 0%,#061320 46%,#020812 100%);
}
.visit-page::before,
.reservation-page::before,
.distributor-page::before {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
    opacity: .18;
    background-image: repeating-linear-gradient(90deg,transparent 0 140px,rgba(255,255,255,.025) 141px);
}
.visit-page > *, .reservation-page > *, .distributor-page > * { position: relative; }

/* Plan Your Visit */
.visit-hero {
    position: relative;
    min-height: clamp(310px, 33vw, 520px);
    display: grid;
    align-items: center;
    overflow: hidden;
    border-bottom: 1px solid var(--line);
    background: #07101c url('../img/travel/visit-hero.jpg') center/cover no-repeat;
}
.visit-hero__shade {
    position: absolute;
    inset: 0;
    background:
        linear-gradient(90deg,rgba(1,6,13,.95) 0%,rgba(1,7,14,.7) 42%,rgba(1,7,14,.12) 76%),
        linear-gradient(180deg,rgba(1,6,13,.05),rgba(1,6,13,.72));
}
.visit-hero__copy { z-index: 1; }
.visit-hero h1,
.reservation-hero h1,
.distributor-heading h1 {
    margin: 0;
    color: var(--gold-bright);
    font-family: var(--serif);
    font-size: clamp(3.6rem,7vw,7.2rem);
    font-weight: 500;
    line-height: .9;
    text-transform: uppercase;
    text-shadow: 0 5px 24px rgba(0,0,0,.7);
}
.visit-hero__copy > p:last-child,
.reservation-hero .container-wide > p:last-child,
.distributor-heading > p:last-child {
    margin: 1rem 0 0;
    color: #fff3dc;
    font-size: clamp(1rem,1.7vw,1.55rem);
    font-weight: 700;
    letter-spacing: .12em;
    text-transform: uppercase;
}
.visit-shell { margin-top: -72px; padding-bottom: 3.2rem; }
.travel-search {
    z-index: 3;
    width: min(1080px,100%);
    margin: 0 auto;
    padding: 0 1.45rem 1.5rem;
    border-color: rgba(216,165,59,.76);
    background: linear-gradient(145deg,rgba(5,20,35,.985),rgba(2,10,19,.985));
}
.travel-tabs,
.workspace-tabs {
    display: grid;
    grid-template-columns: repeat(3,1fr);
    margin: 0 -1.45rem 1.35rem;
    border-bottom: 1px solid rgba(216,165,59,.35);
}
.travel-tabs button,
.workspace-tabs button {
    min-height: 64px;
    border: 0;
    border-right: 1px solid rgba(216,165,59,.28);
    background: rgba(3,13,24,.72);
    color: #e8dfd0;
    cursor: pointer;
    font-size: .76rem;
    font-weight: 800;
    letter-spacing: .09em;
    text-transform: uppercase;
}
.travel-tabs button:last-child,
.workspace-tabs button:last-child { border-right: 0; }
.travel-tabs button span { margin-right: .45rem; color: var(--gold-bright); font-size: 1.35rem; }
.travel-tabs button.is-active,
.workspace-tabs button.is-active { background: linear-gradient(180deg,#e4b64d,#a86f18); color: #080805; }
.travel-search__heading { text-align: center; }
.travel-search__heading h2,
.workspace-heading h2,
.reservation-section-heading h2,
.distributor-form legend,
.trip-summary-card h2 {
    margin: .1rem 0 1rem;
    color: var(--gold-bright);
    font-family: var(--serif);
    font-size: clamp(1.55rem,2.5vw,2.35rem);
    font-weight: 500;
    text-transform: uppercase;
}
.travel-trip-type {
    display: grid;
    grid-template-columns: 1fr 2fr;
    max-width: 720px;
    margin: 0 auto 1rem;
    border: 1px solid rgba(216,165,59,.38);
}
.travel-trip-type span { padding: .65rem 1rem; color: var(--muted); font-size: .7rem; letter-spacing: .1em; text-align: center; text-transform: uppercase; }
.travel-trip-type .is-active { background: linear-gradient(180deg,#e4b64d,#a86f18); color: #080805; font-weight: 800; }
.travel-fields {
    display: grid;
    grid-template-columns: 1.15fr 34px 1.15fr repeat(4,minmax(130px,.7fr));
    align-items: end;
    gap: .65rem;
}
.travel-fields label { font-size: .67rem; font-weight: 750; letter-spacing: .08em; text-transform: uppercase; }
.travel-fields input,
.travel-fields select { min-height: 48px; }
.travel-fields input[readonly] { color: var(--gold-bright); }
.travel-swap { display: grid; place-items: center; width: 34px; height: 34px; margin-bottom: 7px; border: 1px solid var(--gold); border-radius: 50%; color: var(--gold-bright); }
.travel-submit { max-width: 720px; margin: 1.1rem auto 0; }
.travel-workspace { margin-top: 2rem; border: 1px solid rgba(216,165,59,.52); background: rgba(2,9,17,.9); box-shadow: var(--shadow); }
.workspace-tabs { grid-template-columns: repeat(4,1fr); margin: 0; }
.workspace-tabs button { min-height: 54px; }
.travel-workspace__grid { display: grid; grid-template-columns: minmax(0,1fr) 300px; }
.travel-workspace__main { min-width: 0; padding: 1.4rem; }
.workspace-panel { display: none; }
.workspace-panel.is-active { display: block; }
.workspace-heading { display: flex; justify-content: space-between; gap: 1rem; align-items: end; padding-bottom: .8rem; border-bottom: 1px solid rgba(216,165,59,.25); }
.workspace-heading h2 { margin-bottom: 0; }
.provider-badge { padding: .35rem .55rem; border: 1px solid rgba(216,165,59,.5); color: var(--gold-bright); font-size: .65rem; letter-spacing: .08em; text-transform: uppercase; }
.provider-badge.is-live { border-color: rgba(86,160,107,.72); color: #9bd6aa; }
.travel-notice { margin: 1rem 0; padding: .75rem 1rem; border-left: 3px solid var(--gold); background: rgba(216,165,59,.08); color: #d6cec2; font-size: .78rem; }
.travel-empty { display: grid; place-items: center; min-height: 360px; padding: 2rem; text-align: center; }
.travel-empty > span { color: var(--gold-bright); font-size: 3rem; }
.travel-empty h3 { margin: .7rem 0 .2rem; color: var(--gold-bright); font-family: var(--serif); font-size: 1.7rem; }
.travel-empty p { max-width: 540px; color: var(--muted); }
.flight-results { display: grid; gap: .9rem; margin-top: 1rem; }
.flight-card {
    display: grid;
    grid-template-columns: 190px minmax(300px,1fr) minmax(175px,.55fr) 155px;
    align-items: center;
    gap: 1rem;
    padding: 1rem;
    border: 1px solid rgba(216,165,59,.34);
    background: linear-gradient(135deg,rgba(8,27,46,.88),rgba(2,10,19,.92));
}
.flight-card__carrier { display: flex; gap: .75rem; align-items: center; }
.flight-card__carrier > span { display: grid; place-items: center; width: 44px; height: 44px; border: 1px solid var(--gold); border-radius: 50%; color: var(--gold-bright); font-family: var(--serif); }
.flight-card__carrier strong,
.flight-card__carrier small { display: block; }
.flight-card__carrier small,
.flight-card__details span,
.flight-card__price small { color: var(--muted); font-size: .68rem; }
.flight-card__route { display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: .7rem; text-align: center; }
.flight-card__route strong { display: block; color: var(--cream); font-size: 1.22rem; }
.flight-card__route small { color: var(--gold-bright); font-weight: 700; }
.flight-line { display: grid; grid-template-columns: auto; place-items: center; color: var(--muted); font-size: .66rem; }
.flight-line i { width: 100%; height: 1px; margin: .3rem 0; background: linear-gradient(90deg,var(--gold),rgba(216,165,59,.15),var(--gold)); }
.flight-line b { color: #d8d1c6; font-weight: 500; }
.flight-card__details { display: grid; gap: .3rem; }
.flight-card__price { display: grid; justify-items: end; gap: .35rem; }
.flight-card__price strong { color: var(--gold-bright); font-family: var(--serif); font-size: 1.45rem; }
.travel-workspace__rail { border-left: 1px solid rgba(216,165,59,.3); background: rgba(5,18,31,.72); }
.rail-preview { position: relative; min-height: 170px; padding: 1rem; border-bottom: 1px solid rgba(216,165,59,.28); overflow: hidden; }
.rail-preview img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; opacity: .42; }
.rail-preview::after { content:""; position:absolute; inset:0; background:linear-gradient(90deg,rgba(2,8,16,.96),rgba(2,8,16,.35)); }
.rail-preview > div,
.rail-preview > p,
.rail-preview > h3,
.rail-preview > button { position: relative; z-index: 1; }
.rail-preview h3 { margin: .25rem 0; color: var(--gold-bright); font-family: var(--serif); font-size: 1.2rem; }
.rail-preview p:not(.eyebrow) { color: #d0c9be; font-size: .75rem; }
.rail-preview button { padding: 0; border: 0; background: transparent; color: var(--gold-bright); cursor: pointer; font-weight: 700; text-transform: uppercase; }
.rail-preview--car { background: linear-gradient(120deg,rgba(2,8,16,.9),rgba(2,8,16,.45)),url('../img/travel/rental-suv.jpg') center/cover; }
.partner-card-grid { display: grid; grid-template-columns: repeat(2,1fr); gap: 1rem; margin-top: 1rem; }
.partner-card-grid--three { grid-template-columns: repeat(3,1fr); }
.partner-card { overflow: hidden; border: 1px solid rgba(216,165,59,.4); background: rgba(5,18,31,.82); }
.partner-card img { width: 100%; aspect-ratio: 16/8.8; object-fit: cover; }
.partner-card > div { display: grid; gap: .5rem; padding: 1rem; }
.partner-card h3 { margin: 0; color: var(--gold-bright); font-family: var(--serif); font-size: 1.25rem; }
.partner-card p { min-height: 48px; margin: 0; color: #cfc8bd; font-size: .78rem; }
.partner-card strong { color: var(--gold-bright); }
.trip-summary-card { max-width: 620px; margin: 2rem auto; padding: 2rem; border: 1px solid var(--line); text-align: center; }
.trip-summary-card svg { width: 65px; color: var(--gold-bright); }
.trip-summary-card dl { display: grid; gap: .7rem; margin: 1rem 0 1.5rem; }
.trip-summary-card dl div { display: flex; justify-content: space-between; gap: 1rem; padding-bottom: .5rem; border-bottom: 1px solid rgba(216,165,59,.2); }
.trip-summary-card dt { color: var(--muted); }
.trip-summary-card dd { margin: 0; color: var(--cream); }
.travel-assurance,
.reservation-assurance { display: grid; grid-template-columns: repeat(3,1fr); margin-top: 1.5rem; border: 1px solid rgba(216,165,59,.35); }
.travel-assurance article,
.reservation-assurance article { display: grid; grid-template-columns: 46px 1fr; column-gap: .65rem; padding: 1rem; border-right: 1px solid rgba(216,165,59,.25); }
.travel-assurance article:last-child,
.reservation-assurance article:last-child { border-right: 0; }
.travel-assurance span,
.reservation-assurance span { grid-row: 1/3; display: grid; place-items: center; width: 42px; height: 42px; border: 1px solid var(--gold); border-radius: 50%; color: var(--gold-bright); }
.travel-assurance strong,
.reservation-assurance strong { color: var(--gold-bright); font-family: var(--serif); text-transform: uppercase; }
.travel-assurance small,
.reservation-assurance small { color: var(--muted); }
.partner-disclosure { margin: 1.25rem auto 0; color: #888783; font-size: .68rem; text-align: center; }

/* Reservations */
.reservation-hero {
    position: relative;
    min-height: clamp(350px,38vw,590px);
    display: grid;
    align-items: center;
    border-bottom: 1px solid var(--line);
    background: #090c0e url('../img/travel/reservation-hero.jpg') center/cover no-repeat;
}
.reservation-hero__shade { position:absolute; inset:0; background:linear-gradient(90deg,rgba(2,6,11,.92),rgba(2,6,11,.25)),linear-gradient(180deg,rgba(2,6,11,.05),rgba(2,6,11,.68)); }
.reservation-hero .container-wide { z-index: 1; }
.reservation-shell { margin-top: -80px; padding-bottom: 3rem; }
.reservation-panel {
    display: grid;
    grid-template-columns: 1.05fr .95fr;
    gap: 1.4rem;
    padding: 1.5rem;
    border-color: rgba(216,165,59,.72);
}
.reservation-calendar-wrap,
.reservation-details { min-width: 0; }
.reservation-section-heading { margin-bottom: .8rem; }
.reservation-calendar { padding: 1rem; border: 1px solid rgba(216,165,59,.36); background: rgba(2,9,17,.72); }
.calendar-head { display: grid; grid-template-columns: 44px 1fr 44px; align-items: center; margin-bottom: .8rem; }
.calendar-head button { width: 38px; height: 38px; border: 1px solid rgba(216,165,59,.35); background: transparent; color: var(--gold-bright); cursor: pointer; font-size: 1.4rem; }
.calendar-head strong { color: var(--cream); font-family: var(--serif); font-size: 1.2rem; text-align: center; text-transform: uppercase; }
.calendar-weekdays,
.calendar-days { display: grid; grid-template-columns: repeat(7,1fr); gap: .35rem; }
.calendar-weekdays { margin-bottom: .35rem; color: var(--muted); font-size: .62rem; text-align: center; text-transform: uppercase; }
.calendar-days button,
.calendar-days span { min-height: 42px; display: grid; place-items: center; border: 1px solid transparent; background: transparent; color: #ddd6ca; }
.calendar-days button { cursor: pointer; }
.calendar-days button:hover:not(:disabled) { border-color: var(--gold); color: var(--gold-bright); }
.calendar-days button.is-selected { background: linear-gradient(180deg,#e4b64d,#a86f18); color: #070705; font-weight: 800; }
.calendar-days button.is-limited::after { content:""; width:4px; height:4px; border-radius:50%; background:var(--gold-bright); }
.calendar-days button:disabled { color: #555a60; cursor: not-allowed; }
.reservation-details { display: grid; align-content: start; gap: .85rem; }
.reservation-guest-fields { grid-column: 1/-1; display: grid; gap: .85rem; padding-top: 1.1rem; border-top: 1px solid rgba(216,165,59,.26); }
.reservation-fineprint { margin: 0; color: var(--muted); font-size: .68rem; text-align: center; }
.reservation-confirmation { display:flex; gap:1rem; align-items:center; margin:0 0 1rem; padding:1rem 1.2rem; }
.reservation-confirmation > span { display:grid; place-items:center; width:52px; height:52px; border:1px solid #68a977; border-radius:50%; color:#9bd6aa; font-size:1.5rem; }
.reservation-confirmation h2 { margin:0; color:var(--gold-bright); font-family:var(--serif); }
.reservation-confirmation p:last-child { margin:.3rem 0 0; color:#d0c9be; }

/* Distributor inquiries */
.distributor-page { background-image:linear-gradient(90deg,rgba(2,8,16,.98) 0%,rgba(2,8,16,.82) 44%,rgba(2,8,16,.45)),url('../img/travel/distributor-hero.jpg'); background-size:cover; background-position:center; }
.distributor-shell { display:grid; grid-template-columns:minmax(260px,.55fr) minmax(600px,1.35fr); grid-template-areas:"heading heading" "intro form" "note note"; gap:1.5rem 2.3rem; padding:3.2rem 0; }
.distributor-heading { grid-area:heading; }
.distributor-heading h1 { font-size:clamp(3.1rem,6vw,6.3rem); }
.distributor-intro { grid-area:intro; align-self:start; padding:1rem 0; }
.distributor-intro > p { max-width:430px; color:#ddd5c7; font-family:var(--serif); font-size:1.05rem; line-height:1.75; }
.distributor-benefits { display:grid; gap:.8rem; margin-top:2rem; }
.distributor-benefits article { display:grid; grid-template-columns:54px 1fr; align-items:center; gap:.8rem; padding:.8rem 0; border-bottom:1px solid rgba(216,165,59,.2); }
.distributor-benefits span { display:grid; place-items:center; width:48px; height:48px; border:1px solid var(--gold); border-radius:50%; color:var(--gold-bright); font-size:1.3rem; }
.distributor-benefits strong,.distributor-benefits small { display:block; }
.distributor-benefits strong { color:var(--gold-bright); font-family:var(--serif); text-transform:uppercase; }
.distributor-benefits small { color:var(--muted); }
.distributor-form { grid-area:form; padding:1.5rem; border-color:rgba(216,165,59,.72); }
.distributor-form fieldset { padding:1.1rem 0 1.35rem; }
.distributor-form legend { margin-bottom:.85rem; font-size:1rem; }
.distributor-form label { margin-top:.7rem; }
.legal-callout { margin:1rem 0; padding:1rem; border:1px solid rgba(216,165,59,.38); background:rgba(216,165,59,.06); }
.legal-callout strong { color:var(--gold-bright); font-family:var(--serif); text-transform:uppercase; }
.legal-callout p { margin:.45rem 0 0; color:#c9c3b9; font-size:.73rem; line-height:1.55; }
.distributor-footer-note { grid-area:note; margin:0; color:#918d86; font-size:.72rem; text-align:center; }

/* Admin additions */
.admin-inline-form { display:grid; grid-template-columns:minmax(110px,.65fr) minmax(160px,1fr) auto; gap:.45rem; align-items:center; }
.admin-inline-form input,.admin-inline-form select { min-height:36px; padding:.45rem .55rem; }
.admin-table-panel h2 { margin:1rem 1rem 0; color:var(--gold-bright); font-family:var(--serif); text-transform:uppercase; }

/* Responsive experience pages */
@media (max-width: 1180px) {
    .travel-fields { grid-template-columns:1fr 34px 1fr repeat(2,1fr); }
    .travel-fields label:nth-of-type(5),.travel-fields label:nth-of-type(6) { grid-column:span 1; }
    .flight-card { grid-template-columns:170px minmax(270px,1fr) 150px; }
    .flight-card__details { grid-column:2; }
    .flight-card__price { grid-column:3; grid-row:1/3; }
    .travel-workspace__grid { grid-template-columns:minmax(0,1fr) 260px; }
    .partner-card-grid--three { grid-template-columns:repeat(2,1fr); }
}

@media (max-width: 900px) {
    .home-hero__content { min-height:620px; }
    .visit-shell,.reservation-shell { margin-top:-35px; }
    .travel-fields { grid-template-columns:1fr 34px 1fr; }
    .travel-fields label:nth-of-type(n+3) { grid-column:span 1; }
    .travel-workspace__grid { grid-template-columns:1fr; }
    .travel-workspace__rail { display:grid; grid-template-columns:repeat(2,1fr); border-left:0; border-top:1px solid rgba(216,165,59,.3); }
    .rail-preview { border-right:1px solid rgba(216,165,59,.25); }
    .reservation-panel { grid-template-columns:1fr; }
    .reservation-guest-fields { grid-column:1; }
    .distributor-shell { grid-template-columns:1fr; grid-template-areas:"heading" "intro" "form" "note"; }
    .distributor-intro > p { max-width:none; }
    .distributor-benefits { grid-template-columns:repeat(3,1fr); }
    .distributor-benefits article { grid-template-columns:1fr; text-align:center; }
    .distributor-benefits span { margin:auto; }
}

@media (max-width: 700px) {
    .home-hero__content { min-height:auto; }
    .home-intro { padding:3.2rem 0; }
    .collection-rail article { grid-template-columns:58px minmax(0,1fr); min-height:118px; text-align:left; }
    .contact-social > div { justify-content:center; }
    .visit-hero,.reservation-hero { min-height:330px; }
    .visit-hero h1,.reservation-hero h1,.distributor-heading h1 { font-size:3.45rem; }
    .visit-shell,.reservation-shell { width:min(100% - 18px,650px); }
    .travel-search { padding:0 .85rem 1rem; }
    .travel-tabs { margin-inline:-.85rem; }
    .travel-tabs button { min-height:56px; font-size:.65rem; }
    .travel-fields { grid-template-columns:1fr; }
    .travel-swap { display:none; }
    .travel-fields label { grid-column:1 !important; }
    .workspace-tabs { grid-template-columns:1fr 1fr; }
    .workspace-tabs button { min-height:48px; }
    .travel-workspace__main { padding:.85rem; }
    .travel-workspace__rail { grid-template-columns:1fr; }
    .flight-card { grid-template-columns:1fr; text-align:left; }
    .flight-card__route { grid-template-columns:auto 1fr auto; }
    .flight-card__details,.flight-card__price { grid-column:1; grid-row:auto; justify-items:start; }
    .partner-card-grid,.partner-card-grid--three { grid-template-columns:1fr; }
    .travel-assurance,.reservation-assurance { grid-template-columns:1fr; }
    .travel-assurance article,.reservation-assurance article { border-right:0; border-bottom:1px solid rgba(216,165,59,.25); }
    .travel-assurance article:last-child,.reservation-assurance article:last-child { border-bottom:0; }
    .reservation-panel { padding:.9rem; }
    .calendar-days button,.calendar-days span { min-height:38px; }
    .distributor-shell { width:min(100% - 20px,650px); padding:2rem 0; }
    .distributor-benefits { grid-template-columns:1fr; }
    .distributor-benefits article { grid-template-columns:54px 1fr; text-align:left; }
    .distributor-benefits span { margin:0; }
    .distributor-form { padding:1rem; }
    .admin-inline-form { grid-template-columns:1fr; }
}

@media (max-width: 430px) {
    .visit-hero h1,.reservation-hero h1,.distributor-heading h1 { font-size:2.8rem; }
    .visit-hero__copy > p:last-child,.reservation-hero .container-wide > p:last-child { font-size:.92rem; }
    .travel-tabs button span { display:block; margin:0 0 .15rem; }
    .workspace-heading { align-items:flex-start; flex-direction:column; }
    .flight-card__route strong { font-size:1rem; }
    .calendar-weekdays { font-size:.52rem; }
    .calendar-days { gap:.18rem; }
    .calendar-days button,.calendar-days span { min-height:34px; font-size:.78rem; }
}
.calendar-error {
    grid-column: 1 / -1;
    margin: .75rem 0;
    padding: 1rem;
    color: #d8d1c6;
    text-align: center;
}


/* ========================================================================== 
   Malo Tiempo v4.0.1 viewport, contact-action, and public concierge fixes
   ========================================================================== */

/* Collection: keep the qualities rail independent from product-row height and
   turn it into a compact horizontal strip on requested-desktop mobile widths. */
.product-grid {
    align-items: start;
    grid-auto-rows: auto;
}
.product-card {
    align-self: start;
    height: auto;
}

@media (min-width: 901px) and (max-width: 1100px) {
    .collection-layout {
        grid-template-columns: minmax(0, 1fr);
        grid-template-rows: auto;
        gap: 1rem;
    }
    .collection-heading,
    .collection-rail,
    .product-grid {
        grid-column: 1;
    }
    .collection-heading {
        padding-inline: 0;
    }
    .collection-rail {
        contain: none;
        align-self: auto;
        display: grid;
        grid-template-columns: repeat(4, minmax(0, 1fr));
        overflow: visible;
        border: 1px solid rgba(216,165,59,.3);
        background: rgba(2,10,18,.74);
    }
    .collection-rail article {
        grid-template-columns: 50px minmax(0, 1fr);
        align-content: center;
        justify-content: initial;
        min-height: 112px;
        padding: .85rem;
        overflow: visible;
        border-right: 1px solid rgba(216,165,59,.22);
        border-bottom: 0;
    }
    .collection-rail article:last-child {
        border-right: 0;
    }
    .collection-rail__icon {
        width: 46px !important;
        height: 46px !important;
        padding: 8px;
    }
    .collection-rail strong {
        font-size: .7rem;
    }
    .collection-rail p {
        margin-top: .2rem;
        font-size: .66rem;
    }
    .product-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        align-items: start;
    }
    .product-card {
        min-height: 590px;
    }
}

@media (max-width: 900px) {
    .collection-rail {
        contain: none;
        align-self: auto;
        overflow: visible;
    }
    .collection-rail article {
        overflow: visible;
    }
    .product-grid {
        align-items: start;
    }
}

@media (max-width: 700px) {
    .collection-rail {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
    .collection-rail article {
        border-right: 1px solid rgba(216,165,59,.22);
        border-bottom: 1px solid rgba(216,165,59,.22);
    }
    .collection-rail article:nth-child(2n) {
        border-right: 0;
    }
    .collection-rail article:nth-last-child(-n+2) {
        border-bottom: 0;
    }
    .product-card {
        min-height: 560px;
    }
}

/* Contact: larger legible social controls and borderless, fully clickable
   destination cards. */
.contact-social > div {
    gap: .7rem;
}
.contact-social a {
    width: 48px !important;
    height: 48px !important;
    padding: 0 !important;
    border-width: 1px;
    text-decoration: none;
}
.contact-social a svg {
    display: block;
    width: 22px;
    height: 22px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.8;
    stroke-linecap: round;
    stroke-linejoin: round;
}
.contact-social a .social-icon-fill {
    fill: currentColor;
    stroke: none;
}
.contact-cards--v3 {
    border: 0 !important;
}
.contact-cards--v3 .contact-card {
    display: grid;
    align-content: center;
    min-width: 0;
    border: 0 !important;
    color: inherit;
    text-align: center;
    text-decoration: none;
    cursor: pointer;
    transition: transform .2s ease, background-color .2s ease, box-shadow .2s ease;
}
.contact-cards--v3 .contact-card:hover,
.contact-cards--v3 .contact-card:focus-visible {
    transform: translateY(-2px);
    background-color: rgba(13,35,57,.98);
    box-shadow: inset 0 0 0 1px rgba(216,165,59,.28), 0 12px 30px rgba(0,0,0,.22);
}
.contact-card--cantina {
    text-align: left !important;
}
.contact-card__cta {
    display: inline-flex;
    margin-top: .25rem;
    color: var(--gold-bright);
    font-size: .72rem;
    font-weight: 700;
    letter-spacing: .08em;
    text-transform: uppercase;
}

@media (max-width: 700px) {
    .contact-social a {
        width: 50px !important;
        height: 50px !important;
    }
    .contact-cards--v3 {
        gap: .75rem;
    }
}
.contact-cards--v3 > .contact-card {
    font-size: inherit;
    text-transform: none;
}
