@font-face{font-display:swap;font-family:'Manrope';font-style:normal;font-weight:400 700;src:url('recursos/fuentes/manrope-latin.woff2') format('woff2')}

.tasting-booking-jump{display:none}
.tastings-main [hidden]{display:none!important}

.tastings-page{--tasting-bg:#fff;--tasting-surface:#f7f7f4;--tasting-surface-strong:#efefec;--tasting-ink:#181816;--tasting-copy:#4a4743;--tasting-muted:#76716b;--tasting-accent:#b8785c;--tasting-accent-deep:#8b4d38;--tasting-accent-soft:rgba(184,120,92,.12);--tasting-reserve:#7e2330;--tasting-reserve-hover:#651823;--tasting-line:rgba(24,24,22,.16);background:var(--tasting-bg);color:var(--tasting-ink)}
.tastings-main{background:var(--tasting-bg);padding-top:132px}
.tastings-main h1,.tastings-main h2,.tastings-main h3{animation:none;color:inherit}
.tastings-main button,.tastings-main input{border-radius:8px}
.tastings-kicker{color:var(--tasting-accent-deep);font-size:10px;font-weight:700;letter-spacing:.14em;margin:0 0 14px;text-transform:uppercase}

/* Hero delgado */
.tastings-hero{color:#fff;height:clamp(330px,34vw,440px);overflow:hidden;position:relative}
.tastings-hero>picture{inset:0;position:absolute}
.tastings-hero>picture img{height:100%;object-fit:cover;object-position:center 48%;width:100%}
.tastings-hero-shade{background:linear-gradient(90deg,rgba(0,0,0,.89) 0%,rgba(0,0,0,.62) 41%,rgba(0,0,0,.08) 76%),linear-gradient(0deg,rgba(0,0,0,.27),transparent 48%);inset:0;position:absolute}
.tastings-hero-copy{left:max(5.8vw,48px);max-width:760px;position:absolute;top:50%;transform:translateY(-50%)}
.tastings-hero h1{animation:tastingRise .72s .06s both;color:#fff;font-size:clamp(56px,6vw,86px);font-weight:400;letter-spacing:-.045em;line-height:.94;margin:0}
.tastings-hero-copy>span{animation:tastingRise .66s .16s both;color:rgba(255,255,255,.84);display:block;font-size:15px;line-height:1.6;margin-top:18px;max-width:440px}

/* Próximas catas */
.upcoming-tastings{background:var(--tasting-bg);padding:clamp(64px,7vw,94px) 5.8vw clamp(76px,8vw,110px);scroll-margin-top:132px}
.tastings-section-heading{margin-bottom:clamp(34px,4vw,52px);max-width:620px}
.tastings-section-heading h2{font-size:clamp(39px,4.2vw,58px);font-weight:500;letter-spacing:-.04em;line-height:1;margin:0}
.tastings-section-heading p{color:var(--tasting-copy);font-family:var(--display);font-size:18px;line-height:1.45;margin:16px 0 0;max-width:560px}
.tastings-status{border-bottom:1px solid var(--tasting-line);border-top:1px solid var(--tasting-line);color:var(--tasting-muted);font-size:13px;padding:28px 0}
.tastings-status>p{margin:0 0 22px}
.tastings-status.is-empty,.tastings-status.is-error{padding:54px 0}
.tastings-status.is-empty>p,.tastings-status.is-error>p{color:var(--tasting-copy);font-family:var(--display);font-size:clamp(24px,2.4vw,34px);line-height:1.25;max-width:660px}
.tastings-status.is-error>p{color:var(--tasting-accent-deep)}
.tastings-status[hidden],.tastings-program[hidden],.tastings-skeletons[hidden]{display:none}
.tastings-status-actions{align-items:center;display:flex;gap:16px}
.tastings-status-actions button,.tastings-status-actions a{align-items:center;background:var(--tasting-ink);border:1px solid var(--tasting-ink);border-radius:8px;color:#fff;cursor:pointer;display:inline-flex;font:700 10px var(--sans);justify-content:center;letter-spacing:.11em;min-height:48px;padding:0 22px;text-transform:uppercase;transition:background-color .2s ease,border-color .2s ease,transform .2s ease;white-space:nowrap}
.tastings-status-actions button:hover,.tastings-status-actions button:focus-visible,.tastings-status-actions a:hover,.tastings-status-actions a:focus-visible{background:var(--tasting-accent-deep);border-color:var(--tasting-accent-deep);outline:0}
.tastings-status-actions button:active,.tastings-status-actions a:active{transform:translateY(1px)}
.tastings-skeletons,.tastings-card-grid{display:grid;gap:clamp(18px,2.2vw,32px);grid-template-columns:repeat(3,minmax(0,1fr))}
.tastings-skeletons span{display:grid;gap:0;grid-template-rows:245px 270px}
.tastings-skeletons i{animation:tastingSkeleton 1.4s ease-in-out infinite alternate;background:linear-gradient(105deg,var(--tasting-surface-strong),#f9faf8 48%,var(--tasting-surface-strong));display:block}
.tastings-skeletons i:first-child{border-radius:8px 8px 0 0}.tastings-skeletons i:last-child{border-radius:0 0 8px 8px}

.tasting-card{background:#fff;border:1px solid var(--tasting-line);border-radius:8px;min-width:0;overflow:hidden;position:relative;transition:border-color .24s ease,box-shadow .24s ease,transform .24s ease}
.tasting-card:hover{box-shadow:0 18px 46px rgba(0,0,0,.09);transform:translateY(-4px)}
.tasting-card.is-selected{border-color:var(--tasting-accent);box-shadow:0 0 0 1px var(--tasting-accent)}
.tasting-card:has(.tasting-select:focus-visible){outline:3px solid rgba(184,120,92,.35);outline-offset:4px}
.tasting-card-media{aspect-ratio:16/8.2;background:var(--tasting-surface-strong);overflow:hidden}
.tasting-card-media img{height:100%;object-fit:cover;transition:transform .6s cubic-bezier(.16,1,.3,1);width:100%}
.tasting-card:hover .tasting-card-media img{transform:scale(1.035)}
.tasting-card-body{display:grid;gap:20px;grid-template-columns:60px minmax(0,1fr);min-height:270px;padding:22px 22px 20px}
.tasting-card-date{border-right:1px solid var(--tasting-line);color:var(--tasting-accent-deep);font-family:var(--display);font-size:29px;line-height:.8;padding-right:14px;text-align:center;text-transform:uppercase}
.tasting-card-date span{display:block;font:700 9px var(--sans);letter-spacing:.08em;margin-top:9px}
.tasting-card-copy{display:flex;flex-direction:column;min-width:0}
.tasting-availability{color:var(--tasting-accent-deep);display:block;font-size:9px;font-weight:700;letter-spacing:.09em;margin-bottom:9px;text-transform:uppercase}
.tasting-availability.is-sold{color:var(--tasting-muted)}
.tasting-card-copy h3{font-size:clamp(25px,2.3vw,34px);font-weight:500;letter-spacing:-.035em;line-height:.94;margin:0}
.tasting-card-excerpt{color:var(--tasting-copy);font-family:var(--display);font-size:16px;line-height:1.38;margin:12px 0 15px}
.tasting-card-meta{color:var(--tasting-muted);display:grid;font-size:10px;gap:4px;line-height:1.45;margin-top:auto}
.tasting-card-footer{align-items:end;border-top:1px solid var(--tasting-line);display:flex;gap:12px;justify-content:space-between;margin-top:16px;padding-top:14px}
.tasting-price{color:var(--tasting-muted);display:grid;font-size:9px;gap:2px;letter-spacing:.05em;text-transform:uppercase}
.tasting-price strong{color:var(--tasting-ink);font-size:13px;letter-spacing:0}
.tasting-action{color:var(--tasting-accent-deep);font-size:9px;font-weight:700;letter-spacing:.08em;text-align:right;text-transform:uppercase}
.tasting-select{background:transparent;border:0;cursor:pointer;inset:0;opacity:0;padding:0;position:absolute;width:100%;z-index:1}

/* Producto: fotografía, información y reserva */
.tasting-detail{align-items:stretch;background:var(--tasting-bg);border-top:1px solid var(--tasting-line);display:grid;grid-template-columns:minmax(0,1fr) minmax(360px,30vw);scroll-margin-top:132px;transition:opacity .2s ease,transform .2s ease}
.tasting-detail.is-changing{opacity:.35;transform:translateY(7px)}
.tasting-editorial{display:grid;grid-template-columns:minmax(300px,.86fr) minmax(390px,1.14fr);min-width:0}
.tasting-story-media{border-right:1px solid var(--tasting-line);min-width:0}
.tasting-detail-image{background:var(--tasting-surface-strong);height:min(54vw,660px);min-height:570px;overflow:hidden}
.tasting-detail-image img{height:100%;object-fit:cover;width:100%}
.tasting-wines{padding:34px clamp(24px,3vw,42px) 46px}
.tasting-wines ul{list-style:none;margin:0;padding:0}.tasting-wines li{display:grid;gap:3px;padding:9px 0}
.tasting-wines li strong{font-family:var(--display);font-size:18px;font-weight:500}.tasting-wines li span{color:var(--tasting-muted);font-size:10px}
.tasting-story-copy{padding:clamp(56px,5vw,78px) clamp(32px,4vw,62px) 74px}
.tasting-story-copy>h2{font-size:clamp(45px,4.3vw,64px);font-weight:500;letter-spacing:-.045em;line-height:.9;margin:0}
.tasting-detail-excerpt{color:var(--tasting-copy);font-family:var(--display);font-size:19px;line-height:1.4;margin:20px 0 25px;max-width:470px}
.tasting-meta{border-bottom:1px solid var(--tasting-line);border-top:1px solid var(--tasting-line);display:grid;gap:18px 24px;grid-template-columns:repeat(2,minmax(0,1fr));margin:0;padding:22px 0}
.tasting-meta div{display:grid;gap:3px}.tasting-meta dt{color:var(--tasting-muted);font-size:9px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.tasting-meta dd{font-size:12px;line-height:1.45;margin:0}
.tasting-about,.tasting-includes{margin-top:34px}.tasting-about>p:last-child{color:var(--tasting-copy);font-family:var(--display);font-size:16px;line-height:1.58;margin:0}
.tasting-includes ul{display:grid;gap:8px 20px;grid-template-columns:repeat(2,minmax(0,1fr));list-style:none;margin:0;padding:0}
.tasting-includes li{color:var(--tasting-copy);font-size:11px;line-height:1.45;padding-left:16px;position:relative}.tasting-includes li::before{color:var(--tasting-accent-deep);content:'✓';left:0;position:absolute}
.tasting-host{align-items:center;background:var(--tasting-surface);border-radius:8px;display:grid;gap:16px;grid-template-columns:72px 1fr;margin-top:38px;padding:16px}
.tasting-host img{border-radius:8px;height:72px;object-fit:cover;width:72px}.tasting-host p{color:var(--tasting-accent-deep);font-size:10px;font-weight:700;margin:0 0 4px}.tasting-host h3{font-size:23px;letter-spacing:-.025em;line-height:1;margin:0}.tasting-host strong,.tasting-host span{display:block;font-size:10px;line-height:1.45}.tasting-host strong{margin-top:4px}.tasting-host span{color:var(--tasting-muted);margin-top:4px}

.tasting-booking{background:var(--tasting-surface);border-left:1px solid var(--tasting-line);min-width:0;padding:clamp(46px,4.5vw,68px) clamp(26px,3vw,44px)}
.tasting-booking>div,.tasting-booking>form,.tasting-booking>section{position:sticky;top:156px}
.tasting-booking h2{font-size:clamp(34px,3vw,45px);letter-spacing:-.04em;line-height:.94;margin:0 0 22px}
.booking-summary{border-bottom:1px solid var(--tasting-line);display:grid;gap:6px;padding-bottom:20px}.booking-summary span{color:var(--tasting-copy);font-size:11px;line-height:1.45}
.booking-options{border:0;margin:24px 0 0;padding:0}.booking-options legend{font-size:10px;font-weight:700;letter-spacing:.05em;margin-bottom:8px;text-transform:uppercase}
.booking-option{align-items:center;background:rgba(255,255,255,.56);border:1px solid transparent;border-radius:8px;cursor:pointer;display:grid;gap:11px;grid-template-columns:17px minmax(0,1fr) auto;margin-top:8px;padding:13px;transition:background-color .2s ease,border-color .2s ease,transform .2s ease}
.booking-option:hover{background:#fff}.booking-option:active{transform:translateY(1px)}.booking-option.is-selected{background:#fff;border-color:var(--tasting-accent)}.booking-option.is-disabled{cursor:not-allowed;opacity:.45;transform:none}
.booking-option input{accent-color:var(--tasting-accent-deep);height:15px;margin:0;width:15px}.booking-option-copy strong{display:block;font-family:var(--display);font-size:17px;font-weight:500}.booking-option-copy span{color:var(--tasting-muted);display:block;font-size:10px;margin-top:2px}.booking-option>strong{font-size:10px;white-space:nowrap}
.booking-availability{color:var(--tasting-muted);font-size:11px;margin:16px 0}
.booking-primary,.invitations-form button{align-items:center;border-radius:8px;color:#fff;cursor:pointer;display:flex;font:700 10px var(--sans);justify-content:center;letter-spacing:.12em;min-height:52px;padding:0 20px;text-transform:uppercase;transition:background-color .2s ease,border-color .2s ease,transform .2s ease;white-space:nowrap;width:100%}
.booking-primary{background:var(--tasting-reserve);border:1px solid var(--tasting-reserve)}
.booking-primary:hover,.booking-primary:focus-visible{background:var(--tasting-reserve-hover);border-color:var(--tasting-reserve-hover);outline:0;transform:translateY(-2px)}
.invitations-form button{background:var(--tasting-ink);border:1px solid var(--tasting-ink)}
.invitations-form button:hover,.invitations-form button:focus-visible{background:var(--tasting-accent-deep);border-color:var(--tasting-accent-deep);outline:0}.booking-primary:active,.invitations-form button:active{transform:translateY(1px)}.booking-primary:disabled{cursor:not-allowed;opacity:.48;transform:none}
.booking-mode{color:var(--tasting-muted);font-size:9px;line-height:1.5;margin:12px 0 0;text-align:center}
.booking-back,.booking-secondary{background:transparent;border:0;border-bottom:1px solid var(--tasting-accent);border-radius:0!important;color:var(--tasting-copy);cursor:pointer;font:600 10px var(--sans);padding:0 0 5px}.booking-back{margin-bottom:25px}
.booking-selected-summary{border-bottom:1px solid var(--tasting-line);color:var(--tasting-copy);font-family:var(--display);font-size:18px;line-height:1.35;margin:0 0 20px;padding-bottom:18px}
.booking-fields{display:grid;gap:13px}.booking-fields label,.invitations-form label{display:grid;gap:6px}.booking-fields label>span,.invitations-form label>span{color:var(--tasting-copy);font-size:10px;font-weight:700}
.booking-fields input,.invitations-form input{background:#fff;border:1px solid var(--tasting-line);color:var(--tasting-ink);font:13px var(--sans);min-height:46px;outline:0;padding:0 12px;width:100%}.booking-fields input::placeholder,.invitations-form input::placeholder{color:var(--tasting-muted);opacity:1}.booking-fields input:focus,.invitations-form input:focus{border-color:var(--tasting-accent-deep);box-shadow:0 0 0 3px var(--tasting-accent-soft)}
.booking-consents{display:grid;gap:10px;margin:18px 0}.booking-consents label,.invitations-consent{align-items:start;color:var(--tasting-copy);display:grid!important;font-size:10px;gap:9px!important;grid-template-columns:16px 1fr;line-height:1.5}.booking-consents input,.invitations-consent input{accent-color:var(--tasting-accent-deep);height:15px;margin:1px 0 0;width:15px}.booking-consents a,.invitations-consent a{text-decoration:underline;text-underline-offset:3px}
.booking-message,.invitations-message{background:var(--tasting-accent-soft);border-left:2px solid var(--tasting-accent-deep);color:var(--tasting-copy);font-size:11px;line-height:1.5;margin:0 0 16px;padding:12px 13px}.booking-message.is-success,.invitations-message.is-success{background:rgba(24,24,22,.07);border-left-color:var(--tasting-ink)}
.waitlist-form>p:not(.tastings-kicker){color:var(--tasting-copy);font-family:var(--display);font-size:17px;line-height:1.45;margin:-6px 0 22px}
.booking-success{text-align:center}.booking-success-mark{align-items:center;border:1px solid var(--tasting-accent);border-radius:8px;color:var(--tasting-accent-deep);display:flex;font-family:var(--display);font-size:26px;height:54px;justify-content:center;margin:0 auto 22px;width:54px}.booking-success>p:not(.tastings-kicker){color:var(--tasting-copy);font-family:var(--display);font-size:17px;line-height:1.45}.booking-success>div{background:#fff;border-radius:8px;display:grid;gap:6px;margin:22px 0;padding:15px;text-align:left}.booking-success>div span{color:var(--tasting-muted);font-size:10px}.booking-success>div strong{font-family:var(--display);font-size:24px;font-weight:500}.booking-success dl{border-bottom:1px solid var(--tasting-line);border-top:1px solid var(--tasting-line);margin:0 0 22px;padding:12px 0}.booking-success dl div{display:flex;font-size:11px;justify-content:space-between;padding:4px 0}.booking-success dd{margin:0}.booking-success>a{border-bottom:1px solid var(--tasting-accent);display:inline-flex;font-size:10px;margin-bottom:22px;padding-bottom:5px}.booking-secondary{display:block;margin:0 auto}

.tastings-invitations{align-items:center;background:var(--tasting-surface-strong);border-top:1px solid var(--tasting-line);display:grid;gap:clamp(58px,9vw,130px);grid-template-columns:minmax(0,.85fr) minmax(420px,1.15fr);padding:clamp(70px,7vw,98px) 8vw}
.invitations-copy h2{font-size:clamp(46px,5vw,68px);letter-spacing:-.045em;line-height:.92;margin:0;max-width:520px}.invitations-copy h2 em{color:var(--tasting-accent-deep);display:inline-block;line-height:1.1;padding-bottom:.04em}.invitations-copy>p:last-child{color:var(--tasting-copy);font-family:var(--display);font-size:17px;line-height:1.48;margin:22px 0 0;max-width:400px}
.invitations-form{border-left:1px solid var(--tasting-line);padding-left:clamp(34px,5vw,66px)}.invitations-form>div:not(.invitations-message){display:grid;gap:14px;grid-template-columns:1fr 1fr}.invitations-form .invitations-consent{margin:17px 0}.invitations-form>small{color:var(--tasting-muted);display:block;font-size:9px;line-height:1.5;margin-top:11px;text-align:center}

@keyframes tastingRise{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}
@keyframes tastingSkeleton{from{opacity:.56}to{opacity:1}}

@media(max-width:1250px){.tasting-detail{grid-template-columns:1fr}.tasting-booking{border-left:0;border-top:1px solid var(--tasting-line)}.tasting-booking>div,.tasting-booking>form,.tasting-booking>section{margin:0 auto;max-width:700px;position:static}}
@media(max-width:980px){.tastings-skeletons,.tastings-card-grid{gap:18px}.tasting-card-body{gap:15px;grid-template-columns:50px minmax(0,1fr);padding:18px 16px}.tasting-card-date{font-size:25px;padding-right:10px}.tasting-card-copy h3{font-size:27px}.tasting-card-footer{align-items:start;flex-direction:column;gap:9px}.tasting-action{text-align:left}.tasting-editorial{grid-template-columns:minmax(280px,.8fr) minmax(380px,1.2fr)}}
@media(max-width:800px){.tastings-main{padding-top:116px}.tastings-hero{height:320px}.tastings-hero>picture img{object-position:62% center}.tastings-hero-shade{background:linear-gradient(90deg,rgba(0,0,0,.86),rgba(0,0,0,.38) 78%,rgba(0,0,0,.16))}.tastings-hero-copy{left:6vw;max-width:88vw}.tastings-hero h1{font-size:clamp(48px,12.6vw,67px)}.tastings-hero-copy>span{font-size:13px;max-width:330px}.upcoming-tastings{padding-left:6vw;padding-right:6vw;scroll-margin-top:116px}.tastings-section-heading h2{font-size:42px}.tastings-section-heading p{font-size:16px}.tastings-skeletons,.tastings-card-grid{grid-template-columns:1fr}.tastings-skeletons span{grid-template-rows:210px 235px}.tasting-card-media{aspect-ratio:16/8.5}.tasting-card-body{min-height:220px}.tasting-card-copy h3{font-size:clamp(29px,7.5vw,39px)}.tasting-card-footer{align-items:end;flex-direction:row}.tasting-action{text-align:right}.tasting-detail{scroll-margin-top:116px}.tasting-editorial{grid-template-columns:1fr}.tasting-story-media{border-right:0}.tasting-detail-image{height:min(112vw,610px);min-height:0}.tasting-wines{border-bottom:1px solid var(--tasting-line);padding-left:6vw;padding-right:6vw}.tasting-story-copy{padding:58px 6vw 66px}.tasting-story-copy>h2{font-size:clamp(44px,11.5vw,60px)}.tasting-booking{padding:58px 6vw}.tastings-invitations{gap:44px;grid-template-columns:1fr;padding:68px 6vw}.invitations-copy h2{font-size:clamp(45px,11vw,60px)}.invitations-form{border-left:0;border-top:1px solid var(--tasting-line);padding-left:0;padding-top:34px}}
@media(max-width:520px){.tastings-hero{height:300px}.tastings-hero h1{font-size:clamp(43px,12.8vw,57px)}.tastings-section-heading{margin-bottom:30px}.tastings-status-actions{align-items:stretch;flex-direction:column}.tastings-status-actions button,.tastings-status-actions a{width:100%}.tasting-card-body{grid-template-columns:49px minmax(0,1fr);min-height:230px;padding:20px 16px}.tasting-card-copy h3{font-size:31px}.tasting-meta,.tasting-includes ul{grid-template-columns:1fr}.tasting-host{grid-template-columns:62px 1fr}.tasting-host img{height:62px;width:62px}.booking-option{gap:8px;grid-template-columns:16px minmax(0,1fr) auto;padding:12px 9px}.booking-option>strong{font-size:9px}.booking-fields input,.invitations-form input{font-size:16px}.invitations-form>div:not(.invitations-message){grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){.tastings-hero h1,.tastings-hero-copy>span,.tastings-skeletons i{animation:none}.tasting-card,.tasting-card-media img,.tasting-detail{transition:none}.tasting-card:hover{transform:none}}

/* Ficha de experiencia contenida */
.upcoming-tastings{padding-bottom:0}
.tasting-detail{background:#fff;border:1px solid var(--tasting-line);border-radius:12px;box-shadow:0 24px 70px rgba(24,24,22,.07);grid-template-columns:minmax(0,1fr) 390px;margin:clamp(68px,7vw,96px) 5.8vw clamp(82px,8vw,116px);overflow:clip;width:auto}
.tasting-editorial{background:#fff;grid-template-columns:minmax(320px,.78fr) minmax(420px,1.22fr)}
.tasting-detail-image{height:min(47vw,600px);min-height:540px}
.tasting-story-copy{padding:clamp(52px,4vw,68px) clamp(36px,3.4vw,54px) 64px}
.tasting-story-copy>h2{font-size:clamp(44px,3.8vw,58px)}
.tasting-booking{background:#fff;border-left:1px solid var(--tasting-line);padding:24px}
.tasting-booking>div,.tasting-booking>form,.tasting-booking>section{background:var(--tasting-surface);border:1px solid rgba(24,24,22,.1);border-radius:10px;padding:28px;top:156px}
.tasting-booking h2{font-size:clamp(32px,2.7vw,42px)}

@media(max-width:1250px){
  .tasting-detail{grid-template-columns:1fr}
  .tasting-booking{border-left:0;border-top:1px solid var(--tasting-line);padding:24px}
  .tasting-booking>div,.tasting-booking>form,.tasting-booking>section{max-width:720px;padding:clamp(26px,4vw,42px);position:static}
}

@media(max-width:800px){
  .tasting-detail{border-radius:10px;margin:52px 6vw 72px;width:auto}
  .tasting-editorial{grid-template-columns:1fr}
  .tasting-detail-image{height:min(100vw,560px);min-height:0}
  .tasting-booking{padding:14px}
  .tasting-booking>div,.tasting-booking>form,.tasting-booking>section{padding:28px 22px}
}

@media(max-width:520px){
  .tasting-detail{margin:42px 6vw 58px;width:auto}
  .tasting-story-copy{padding:48px 22px 54px}
  .tasting-wines{padding-left:22px;padding-right:22px}
  .tasting-booking{padding:10px}
  .tasting-booking>div,.tasting-booking>form,.tasting-booking>section{padding:25px 17px}
}

/* Mobile layout stays authoritative over the shared design-system grid. */
@media(max-width:800px){
  .tastings-page .tasting-editorial{grid-template-columns:minmax(0,1fr)}
  .tastings-page .tastings-hero{height:auto;min-height:310px;display:flex;align-items:center;padding:38px 6vw}
  .tastings-page .tastings-hero-copy{position:relative;left:auto;top:auto;transform:none;max-width:100%}
  .tastings-page .tastings-hero h1{font-size:clamp(36px,10vw,60px);line-height:1.04;overflow-wrap:normal}
  .tastings-page .upcoming-tastings{padding-top:40px}
  .tastings-page .tastings-section-heading{margin-bottom:26px}
  .tastings-page .tastings-card-grid{grid-template-columns:none;grid-auto-flow:column;grid-auto-columns:min(82%,360px);gap:16px;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;scroll-padding-inline:6vw;margin-inline:-6vw;padding:6px 6vw 18px;scrollbar-width:thin;scrollbar-color:var(--tasting-accent) transparent}
  .tastings-page .tastings-card-grid>.tasting-card{scroll-snap-align:start;display:flex;flex-direction:column}
  .tastings-page .tastings-card-grid .tasting-card-media{flex-shrink:0}
  .tastings-page .tastings-card-grid .tasting-card-body{flex:1}
  .tastings-page .tastings-card-grid .tasting-card:hover{transform:none;box-shadow:none}
  .tastings-page .tasting-card-body{min-height:0;gap:14px;padding:20px 16px;grid-template-columns:44px minmax(0,1fr)}
  .tastings-page .tasting-card-copy h3{font-size:clamp(26px,6.5vw,36px);line-height:1.1;overflow-wrap:anywhere}
  .tastings-page .tasting-card-footer{flex-wrap:wrap;align-items:center;gap:12px}
  .tastings-page .tasting-detail{margin:40px 0 48px;border-radius:0;border-left:0;border-right:0;box-shadow:none;overflow:visible}
  .tastings-page .tasting-story-media{display:contents}
  .tastings-page .tasting-detail-image{order:0;height:auto;min-height:0;aspect-ratio:4/3;max-height:420px}
  .tastings-page .tasting-story-copy{order:1;min-width:0;padding:30px 6vw}
  .tastings-page .tasting-story-copy>h2{font-size:clamp(32px,8.5vw,48px);line-height:1.08;overflow-wrap:anywhere}
  .tastings-page .tasting-wines{order:2;padding:28px 6vw;border-top:1px solid var(--tasting-line);border-bottom:0}
  .tastings-page .tasting-booking-jump{display:flex;align-items:center;justify-content:center;min-height:48px;padding:12px 16px;margin:0 0 24px;border:1px solid var(--tasting-accent-deep);border-radius:8px;color:var(--tasting-accent-deep);font:700 14px var(--sans);text-align:center}
  .tastings-page .tasting-booking-jump:focus-visible{outline:2px solid var(--tasting-accent-deep);outline-offset:4px}
  .tastings-page .tasting-meta{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 16px}
  .tastings-page .tasting-meta>div:nth-child(3){grid-column:1/-1}
  .tastings-page .tasting-meta dd{overflow-wrap:anywhere}
  .tastings-page .tasting-booking{padding:30px 6vw;background:var(--tasting-surface);scroll-margin-top:132px}
  .tastings-page .tasting-booking>div,.tastings-page .tasting-booking>form,.tastings-page .tasting-booking>section{padding:0;border:0;border-radius:0;background:transparent}
  .tastings-page .tasting-booking h2{font-size:32px;line-height:1.12;overflow-wrap:anywhere}
  .tastings-page .booking-option{grid-template-columns:20px minmax(0,1fr);gap:6px 12px;padding:14px}
  .tastings-page .booking-option input{grid-column:1;grid-row:1/3;align-self:center;width:18px;height:18px}
  .tastings-page .booking-option>strong{grid-column:2;font-size:15px;white-space:normal}
  .tastings-page .booking-option-copy strong{font-size:18px;overflow-wrap:anywhere}
  .tastings-page .booking-primary,.tastings-page .invitations-form button{white-space:normal;min-height:52px;padding:14px 16px;letter-spacing:.06em}
  .tastings-page .booking-fields input,.tastings-page .invitations-form input{font-size:16px;min-width:0}
  .tastings-page .booking-back,.tastings-page .booking-secondary{min-height:44px;padding:10px 14px}
  .tastings-page .tastings-invitations{padding:44px 6vw;gap:28px}
  .tastings-page .invitations-copy h2{font-size:clamp(34px,9vw,48px);line-height:1.08}
  .tastings-page .invitations-form>div:not(.invitations-message){grid-template-columns:minmax(0,1fr)}
}
