/* Batch 26 (2026-10-02): Shopping Guide cocktail badges and the two maker marquee rows. Guide only, loads after editorial-chapters. */
.editorial-visit{grid-template-areas:"stay plan" "cocktails cocktails"}
.editorial-visit>section:first-child{grid-area:stay}
.editorial-visit>section:last-child{grid-area:plan}
.editorial-visit>.gd26-cocktails{grid-area:cocktails}
/* Batch 27 (2026-10-03): cocktail menu board */
.gd26-cocktails{margin:24px 0 8px;text-align:center;padding-top:95px}
.gd26-cocktails h2.gd26-sr{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.gd26-board{position:relative;margin:0 auto;width:100%;max-width:1240px;box-sizing:border-box;padding:0 24px 20px;border:3px solid #ef2435;border-radius:12px;background:rgba(5,5,5,.92);box-shadow:8px 8px 0 rgba(239,36,53,.45)}
.gd26-title-badge{display:block;position:relative;z-index:1;width:360px;max-width:100%;height:auto;aspect-ratio:4/5;margin:-95px auto -40px}
.gd26-board p{max-width:none;margin-inline:0;text-align:center}
.gd26-line{position:relative;z-index:1;margin:0 0 18px;color:#68f8b3;font-size:18px}
.gd26-badges{list-style:none;margin:0 auto;padding:22px 0 24px;display:flex;flex-wrap:nowrap;justify-content:center;gap:20px;border-top:1px solid #68f8b3;border-bottom:1px solid #68f8b3}
.gd26-badge{flex:0 0 200px;width:200px;margin:0;padding:0;transform:rotate(-3deg);transition:transform .2s ease}
.gd26-badge:nth-child(even){transform:translateY(-14px) rotate(3deg)}
.gd26-badge img{display:block;width:100%;height:auto;aspect-ratio:4/5}
.gd26-badge:hover,.gd26-badge:focus-within{transform:translateY(-6px) rotate(0)}
.gd26-badge:nth-child(even):hover,.gd26-badge:nth-child(even):focus-within{transform:translateY(-20px) rotate(0)}
.gd26-fine{margin:14px 0 0!important;font-size:13px;color:rgba(255,255,255,.72)}
@media(max-width:1100px){.gd26-badge{flex-basis:170px;width:170px}.gd26-badges{gap:14px}}
@media(max-width:900px){.editorial-visit{grid-template-areas:"stay" "cocktails" "plan"}}
@media(max-width:860px){
  .gd26-badges{flex-wrap:wrap;gap:18px;padding-inline:8px}
  .gd26-badge{flex-basis:180px;width:180px}
}
@media(max-width:600px){
  .gd26-cocktails{padding-top:64px}
  .gd26-board{padding:0 12px 16px}
  .gd26-title-badge{width:240px;margin:-64px auto -26px}
  .gd26-badges{flex-wrap:nowrap;justify-content:flex-start;overflow-x:auto;scroll-snap-type:x mandatory;gap:16px;padding:22px 12px 24px;margin-inline:-12px}
  .gd26-badge{flex:0 0 200px;width:200px;scroll-snap-align:center}
}
@media(prefers-reduced-motion:reduce){.gd26-badge{transition:none}.gd26-badge:hover,.gd26-badge:focus-within{transform:rotate(-3deg)}.gd26-badge:nth-child(even):hover,.gd26-badge:nth-child(even):focus-within{transform:translateY(-14px) rotate(3deg)}}
/* Maker rows */
.gd26-makers .gd26-rows{display:grid;gap:24px;margin-bottom:24px}
.gd26-row{overflow:hidden;padding:8px 0 14px;-webkit-mask-image:linear-gradient(90deg,transparent,#000 4%,#000 96%,transparent);mask-image:linear-gradient(90deg,transparent,#000 4%,#000 96%,transparent)}
.gd26-track{display:flex;width:max-content;will-change:transform;animation:gd26-left 90s linear infinite}
.gd26-row--right .gd26-track{animation-name:gd26-right;animation-duration:78s}
.gd26-group{display:flex;gap:16px;padding-right:16px}
.gd26-card{flex:0 0 232px;width:232px}
.gd26-card h3{font-size:18px}
.gd26-card>div{gap:0}
.gd26-card .editorial-kicker{margin:0 0 6px;font-size:12px}
.gd26-card button{border-radius:10px}
.editorial-maker-detail button{border-radius:10px}
.gd26-detail{margin:0 auto 24px;max-width:1100px}
.gd26-row:hover .gd26-track,.gd26-row:focus-within .gd26-track{animation-play-state:paused}
@keyframes gd26-left{from{transform:translate3d(0,0,0)}to{transform:translate3d(-50%,0,0)}}
@keyframes gd26-right{from{transform:translate3d(-50%,0,0)}to{transform:translate3d(0,0,0)}}
@media(max-width:600px){.gd26-card{flex-basis:188px;width:188px}.gd26-group{gap:12px;padding-right:12px}.gd26-card>div{padding:12px}.gd26-card button{font-size:14px;padding:10px 6px;white-space:nowrap}}
@media(prefers-reduced-motion:reduce){
  .gd26-row{overflow-x:auto;-webkit-mask-image:none;mask-image:none}
  .gd26-track{animation:none;transform:none;width:max-content}
  .gd26-group[data-gd26-copy]{display:none}
}
/* Batch 57 (Phase D): ?static=1 rests the roster marquee the way reduced motion does. html.rv33 without html.rv33-js is the head guard's static state (the guard adds rv33 for ?static=1 and for reduced motion, rv33-js only when motion is allowed). */
html.rv33:not(.rv33-js) .gd26-row{overflow-x:auto;-webkit-mask-image:none;mask-image:none}
html.rv33:not(.rv33-js) .gd26-track{animation:none;transform:none;width:max-content}
html.rv33:not(.rv33-js) .gd26-group[data-gd26-copy]{display:none}
