/* Scoped editorial gallery; reuses Bellaluz's existing fonts and colors. */
.gastronomy-section{position:relative;background:var(--paper);color:var(--text);overflow-x:clip}
.gastronomy-sticky{overflow:hidden;padding:clamp(40px,7.4svh,80px) 0 38px}
.gastronomy-layout{display:grid;grid-template-columns:minmax(0,clamp(360px,26.4vw,480px)) minmax(0,1fr);gap:32px;padding-left:clamp(32px,4.65vw,90px)}
.gastronomy-intro{min-width:0}
.gastronomy-intro .eyebrow{font-size:10px;letter-spacing:.25em;margin-bottom:20px}
.gastronomy-intro h2{font-family:var(--serif);font-size:clamp(40px,2.97vw,54px);line-height:1.04;letter-spacing:-.05em}
.gastronomy-intro h2 em{color:var(--copper-deep)}
.gastronomy-description{max-width:390px;font-size:16px;line-height:1.45;margin-top:22px}
.gastronomy-menu{margin-top:34px;max-width:385px}
.gastronomy-menu-item{position:relative;display:grid;grid-template-columns:28px minmax(0,1fr) 44px;align-items:center;gap:16px;width:100%;padding:clamp(9px,1.4svh,16px) 12px;border:0;border-bottom:1px solid #e5dbce;background:transparent;text-align:left}
.gastronomy-menu-item:last-child{border-bottom:0}
.gastronomy-menu-item::before{content:"";position:absolute;left:-12px;top:10px;bottom:10px;width:2px;background:var(--copper-deep);opacity:0;transition:opacity .2s}
.gastronomy-menu-item.is-active::before,.gastronomy-menu-item.is-preview::before{opacity:1}
.gastronomy-number{font-size:10px;letter-spacing:.08em;color:var(--copper-deep);align-self:start;padding-top:9px}
.gastronomy-menu-copy{display:block}
.gastronomy-menu-title{display:block;font-family:var(--serif);font-size:clamp(24px,1.85vw,31px);line-height:1.15;letter-spacing:-.04em}
.gastronomy-menu-description{display:block;font-size:14px;line-height:1.45;letter-spacing:.015em;color:var(--muted);max-width:230px;margin-top:5px}
.gastronomy-menu-arrow{display:grid;place-items:center;width:44px;height:44px;border:1px solid #ddc7b3;border-radius:50%;font-size:22px;line-height:1;color:var(--copper-deep);transition:border-color .2s,color .2s}
.gastronomy-menu-item.is-active .gastronomy-menu-arrow,.gastronomy-menu-item:hover .gastronomy-menu-arrow{border-color:var(--copper-deep);color:var(--text)}
.gastronomy-stage{--card-height:min(640px,68svh);min-width:0;margin-top:14px}
.gastronomy-viewport{width:100%;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;scrollbar-width:none;overscroll-behavior-x:contain;padding-block:3px;outline-offset:-3px}
.gastronomy-viewport::-webkit-scrollbar{display:none}
.gastronomy-track{position:relative;display:flex;align-items:center;width:max-content;min-height:var(--card-height);padding-right:32px;gap:0}
.gastronomy-card{position:relative;flex:none;width:clamp(300px,24vw,400px);height:var(--card-height);margin-right:-8px;border:1px solid #dfc8b0;border-radius:20px;overflow:hidden;scroll-snap-align:start;isolation:isolate;transition:border-color .2s}
.gastronomy-card:nth-child(1){z-index:5}
.gastronomy-card:nth-child(2){width:clamp(180px,14vw,220px);height:calc(var(--card-height)*.92);z-index:4;transform:translateY(12px)}
.gastronomy-card:nth-child(3){width:clamp(180px,14vw,220px);height:calc(var(--card-height)*.85);z-index:3;transform:translateY(18px)}
.gastronomy-card:nth-child(4){width:clamp(175px,13.5vw,210px);height:calc(var(--card-height)*.78);z-index:2;transform:translateY(20px)}
.gastronomy-card:nth-child(5){width:clamp(165px,12.5vw,190px);height:calc(var(--card-height)*.70);z-index:1;margin-right:0;transform:translateY(22px)}
.gastronomy-card img{width:100%;height:100%;object-fit:cover;object-position:center;display:block}
.gastronomy-card::after{content:"";position:absolute;inset:45% 0 0;background:linear-gradient(180deg,transparent,#1d1911c9);z-index:1;pointer-events:none}
.gastronomy-card.is-selected,.gastronomy-card.is-preview{border-color:var(--copper-deep)}
.gastronomy-card-copy{position:absolute;left:20px;right:16px;bottom:27px;z-index:2;color:#fffaf3}
.gastronomy-card:first-child .gastronomy-card-copy{left:27px;bottom:28px}
.gastronomy-card h3{font-family:var(--serif);font-size:27px;letter-spacing:-.035em;line-height:1.2}
.gastronomy-card:first-child h3{font-size:30px}
.gastronomy-card p{font-size:14px;line-height:1.45;letter-spacing:.01em;max-width:190px;margin-top:7px}
.gastronomy-card:last-child h3{font-size:23px}
.gastronomy-card:last-child p{font-size:12px}
.gastronomy-card-rule{display:block;width:36px;height:1px;background:#b77547;margin-top:16px}
.gastronomy-controls{display:flex;align-items:center;gap:28px;margin:30px 32px 0 3px}
.gastronomy-counter{white-space:nowrap;font-size:12px;letter-spacing:.14em;color:var(--copper-deep);font-variant-numeric:tabular-nums}
.gastronomy-total{color:#9f8a75}
.gastronomy-progress{height:2px;background:#e5d8c8;flex:1;min-width:40px;overflow:hidden}
.gastronomy-progress>span{display:block;width:100%;height:100%;background:#b77547;transform:scaleX(.2);transform-origin:left center}
.gastronomy-arrows{display:flex;gap:20px}
.gastronomy-arrows button{width:52px;height:52px;display:grid;place-items:center;background:transparent;border:1px solid var(--copper-deep);border-radius:50%;font-size:24px;color:var(--text);line-height:1;transition:border-color .2s,background .2s}
.gastronomy-arrows button:hover:enabled{background:#ceaa8915}
.gastronomy-arrows button:disabled{border-color:#ddc7b3;color:#b8a18a}
.gastronomy-hint{font-size:9px;line-height:1.8;letter-spacing:.2em;white-space:nowrap}
.gastronomy-divider{display:flex;align-items:center;gap:16px;margin:44px 48px 0 3px}
.gastronomy-divider>span:not(.gastronomy-ornament){height:1px;background:#c89874;flex:1}
/* The botanical detail is displayed directly from the supplied reference. */
.gastronomy-ornament{flex:none;width:46px;height:52px;background:url('images/bellaluz/gastronomia/referencia-gastronomia.png') -1072px -854px/1672px 941px no-repeat}
.gastronomy-section.is-scroll-driven{height:225svh}
.gastronomy-section.is-scroll-driven .gastronomy-sticky{position:sticky;top:0;height:100svh}
.gastronomy-section.is-scroll-driven .gastronomy-viewport{overflow:hidden;scroll-snap-type:none}
.gastronomy-section.is-scroll-driven .gastronomy-track{will-change:transform}
.gastronomy-section.is-scroll-driven .gastronomy-stage{--card-expanded-width:clamp(320px,28vw,400px)}
.gastronomy-section.is-scroll-driven .gastronomy-card:nth-child(n){
  --card-compact-width:clamp(180px,14vw,220px);
  width:calc(var(--card-compact-width) + (var(--card-expanded-width) - var(--card-compact-width))*var(--card-focus,0));
  height:calc(var(--card-height)*var(--card-height-factor,.85));
  transform:translateY(var(--card-shift,0px));
}
.gastronomy-section.is-scroll-driven .gastronomy-card:nth-child(4){--card-compact-width:clamp(175px,13.5vw,210px)}
.gastronomy-section.is-scroll-driven .gastronomy-card:nth-child(5){--card-compact-width:clamp(165px,12.5vw,190px)}
.gastronomy-section.is-scroll-driven .gastronomy-card.is-selected{z-index:6}
.gastronomy-section.is-scroll-driven .gastronomy-card.is-selected h3{font-size:30px}
.gastronomy-section.is-scroll-driven .gastronomy-card.is-selected p{font-size:14px}
@media(min-width:1100px) and (max-height:820px){
  .gastronomy-sticky{padding-top:34px}
  .gastronomy-intro h2{font-size:clamp(38px,2.8vw,52px)}
  .gastronomy-intro .eyebrow{margin-bottom:16px}
  .gastronomy-description{font-size:14px;margin-top:18px;max-width:360px}
  .gastronomy-menu{margin-top:24px}
  .gastronomy-menu-item{padding-block:9px}
  .gastronomy-menu-description{font-size:12px}
  .gastronomy-divider{margin-top:27px}
}
@media(max-width:1099px){
  .gastronomy-sticky{padding:64px 0 56px}
  .gastronomy-layout{grid-template-columns:minmax(0,1fr);padding-left:32px;gap:38px}
  .gastronomy-intro{padding-right:32px}
  .gastronomy-intro h2{font-size:52px;max-width:670px}
  .gastronomy-description{max-width:580px}
  .gastronomy-menu{display:flex;flex-wrap:wrap;gap:10px;max-width:none;margin-top:28px}
  .gastronomy-menu-item{display:flex;width:auto;padding:10px 16px;border:1px solid #dfd1c1;border-radius:30px;gap:9px}
  .gastronomy-menu-item:last-child{border-bottom:1px solid #dfd1c1}
  .gastronomy-menu-item.is-active{border-color:var(--copper-deep);background:#ceaa8910}
  .gastronomy-menu-item::before,.gastronomy-menu-description,.gastronomy-menu-arrow{display:none}
  .gastronomy-menu-title{font-size:19px;line-height:1.2;letter-spacing:-.02em}
  .gastronomy-number{padding:0;align-self:center;font-size:9px}
  .gastronomy-stage{margin-top:0;--card-height:560px}
  .gastronomy-track{gap:16px;padding-right:32px}
  .gastronomy-card,.gastronomy-card:nth-child(n){width:380px;height:560px;margin-right:0;border-radius:20px;transform:none}
  .gastronomy-card h3,.gastronomy-card:last-child h3{font-size:30px}
  .gastronomy-card p,.gastronomy-card:last-child p{font-size:14px;max-width:230px}
  .gastronomy-card-copy,.gastronomy-card:first-child .gastronomy-card-copy{left:26px;right:26px;bottom:28px}
  .gastronomy-divider{margin-top:30px}
}
@media(max-width:640px){
  .gastronomy-sticky{padding:58px 0 36px}
  .gastronomy-layout{padding-left:20px;gap:28px}
  .gastronomy-intro{padding-right:20px}
  .gastronomy-intro .eyebrow{font-size:8px;margin-bottom:17px}
  .gastronomy-intro h2{font-size:clamp(36px,9.5vw,46px);line-height:1.08;letter-spacing:-.045em}
  .gastronomy-description{font-size:14px;line-height:1.6;margin-top:18px}
  .gastronomy-menu{gap:8px;margin-top:24px}
  .gastronomy-menu-item{padding:9px 12px;gap:7px}
  .gastronomy-menu-title{font-size:17px}
  .gastronomy-stage{--card-height:clamp(390px,120vw,560px)}
  .gastronomy-track{gap:14px;padding-right:20px}
  .gastronomy-card,.gastronomy-card:nth-child(n){width:84vw;height:var(--card-height);border-radius:18px}
  .gastronomy-card-copy,.gastronomy-card:first-child .gastronomy-card-copy{left:23px;bottom:25px}
  .gastronomy-controls{margin:23px 20px 0 0;gap:16px;flex-wrap:wrap}
  .gastronomy-counter{font-size:10px}
  .gastronomy-arrows{gap:12px}
  .gastronomy-arrows button{width:44px;height:44px;font-size:22px}
  .gastronomy-hint{width:100%;text-align:right;font-size:8px}
  .gastronomy-divider{margin:20px 20px 0 0}
}
@media(prefers-reduced-motion:reduce){.gastronomy-card,.gastronomy-menu-item::before,.gastronomy-menu-arrow{transition:none}}
/* On phones and tablets, pin only the gallery after the introduction. */
@media(max-width:1099px){
  .gastronomy-section.is-scroll-driven{height:auto}
  .gastronomy-section.is-scroll-driven .gastronomy-sticky{position:static;height:auto;overflow:visible;padding-bottom:0}
  .gastronomy-section.is-scroll-driven .gastronomy-layout{display:block}
  .gastronomy-section.is-scroll-driven .gastronomy-stage{
    --gallery-header-height:0px;
    --card-expanded-width:clamp(320px,60vw,480px);
    --card-height:clamp(180px,calc(100svh - var(--gallery-header-height) - 108px),640px);
    position:sticky;top:var(--gallery-header-height);height:calc(100svh - var(--gallery-header-height));margin-top:32px;padding-top:16px;
  }
  .gastronomy-section.is-scroll-driven .gastronomy-card:nth-child(n){--card-compact-width:clamp(280px,50vw,380px)}
  .gastronomy-section.is-scroll-driven .gastronomy-viewport{touch-action:pan-y}
  .gastronomy-section.is-scroll-driven .gastronomy-controls{margin-top:20px;flex-wrap:nowrap}
  .gastronomy-section.is-scroll-driven .gastronomy-hint,.gastronomy-section.is-scroll-driven .gastronomy-divider{display:none}
}
@media(max-width:640px){
  .gastronomy-section.is-scroll-driven .gastronomy-stage{--gallery-header-height:0px;--card-expanded-width:84vw;margin-top:28px}
  .gastronomy-section.is-scroll-driven .gastronomy-card:nth-child(n){--card-compact-width:76vw}
}
