/* Responsive polish for the tap-based Half & Half builder. */
#half .half-grid{min-width:0}
#half .half-grid>*{min-width:0}
.half-builder-ui,.half-builder-slots,.half-flavor-strip{min-width:0;max-width:100%}
.half-flavor-strip{-webkit-overflow-scrolling:touch;scrollbar-width:none;scroll-padding-inline:3px}
.half-flavor-strip::-webkit-scrollbar{display:none}
.half-builder-slot,.half-flavor-pick{-webkit-tap-highlight-color:transparent;touch-action:manipulation}

@media(max-width:1100px){
 #half .half-grid{grid-template-columns:minmax(0,1fr)!important;gap:40px!important;align-items:start!important}
 #half .half-grid>div:first-child,#half .half-copy{width:min(680px,100%);margin-inline:auto}
 #half .half-photo{width:min(620px,100%);margin-inline:auto}
 #half .half-copy{padding-inline:4px}
 .half-builder-ui{width:100%!important;margin:22px 0 18px!important}
 .half-builder-slots{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px!important}
 .half-builder-slot{min-height:68px!important;padding:11px 12px!important}
 .half-builder-slot strong{font-size:14px!important;line-height:1.2!important}
 .half-builder-head{align-items:flex-end!important;gap:10px!important}
 .half-flavor-strip{width:100%!important;gap:10px!important;overflow-x:auto!important;overscroll-behavior-x:contain!important;scroll-snap-type:x mandatory!important;padding:4px 2px 12px!important}
 .half-flavor-pick{flex:0 0 104px!important;scroll-snap-align:start!important;padding:8px!important}
 .half-flavor-pick img{width:86px!important;height:86px!important}
 #halfOrder{width:100%;max-width:680px}
}

@media(max-width:820px){
 #half{padding-top:68px;padding-bottom:72px}
 #half .half-grid{gap:30px!important}
 #half .half-grid>div:first-child,#half .half-copy{width:100%}
 #half .half-photo{width:min(560px,100%);border-width:4px;box-shadow:8px 8px 0 var(--m)}
 #half .half-photo>b{max-width:43%;padding:7px 9px;font-size:9px}
 #half .half-visual-note{margin-top:12px;line-height:1.4}
 #half .half-copy h2{font-size:clamp(54px,13vw,82px);line-height:.86}
 #half .half-copy>p{font-size:15px;line-height:1.55}
 .half-builder-head{align-items:flex-start!important;flex-direction:column!important;gap:3px!important;margin-bottom:9px!important}
 .half-builder-head>b{font-size:20px!important}
 .half-builder-head>small{font-size:8px!important}
 .half-builder-hint{font-size:9px!important;margin-top:5px!important}
}

@media(max-width:620px){
 #half .shell{width:min(100% - 24px,1180px)}
 #half{padding-top:56px;padding-bottom:64px}
 #half .half-grid{gap:24px!important}
 #half .half-photo{width:100%;border-radius:26px;box-shadow:7px 7px 0 var(--m)}
 #half .half-photo:before{border-radius:22px 0 0 22px!important}
 #half .half-photo:after{border-radius:0 22px 22px 0!important}
 #half .half-photo[data-active-half="left"]:before,#half .half-photo[data-active-half="right"]:after{box-shadow:inset 0 0 0 3px var(--y)!important}
 #half .half-photo>b{top:auto;bottom:7%;transform:none;max-width:44%;padding:6px 8px;font-size:8px}
 #half .half-photo .left{left:4%}
 #half .half-photo .right{right:4%}
 #half .half-visual-note{font-size:8px;letter-spacing:.08em}
 #half .half-copy{padding-inline:1px}
 #half .half-copy h2{font-size:clamp(50px,17vw,72px);margin-top:6px}
 #half .half-copy>p{margin-bottom:0;font-size:14px}
 .half-builder-ui{margin:18px 0 16px!important}
 .half-builder-slots{gap:7px!important;margin-bottom:14px!important}
 .half-builder-slot{min-height:62px!important;padding:9px 10px!important;border-radius:14px!important}
 .half-builder-slot small{font-size:8px!important;letter-spacing:.1em!important}
 .half-builder-slot strong{font-size:12px!important;white-space:normal!important;display:-webkit-box!important;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden!important}
 .half-builder-head b{font-size:18px!important}
 .half-flavor-strip{gap:8px!important;margin-inline:-1px!important;padding:3px 1px 10px!important}
 .half-flavor-pick{flex-basis:86px!important;border-radius:15px!important;padding:7px!important}
 .half-flavor-pick img{width:68px!important;height:68px!important}
 .half-flavor-pick strong{margin-top:6px!important;font-size:9px!important;line-height:1.15!important;min-height:21px}
 .half-flavor-pick i{width:20px!important;height:20px!important;right:4px!important;top:4px!important;font-size:11px!important}
 .half-builder-hint{display:none}
 #halfOrder{min-height:50px}
}

@media(max-width:390px){
 #half .shell{width:calc(100% - 18px)}
 .half-builder-slot{padding:8px!important}
 .half-builder-slot strong{font-size:11px!important}
 .half-flavor-pick{flex-basis:80px!important}
 .half-flavor-pick img{width:64px!important;height:64px!important}
}


/* Desktop Half & Half stability fixes
   Keep the chooser header from collapsing into one line and hide the native
   horizontal scrollbar so the flavor rail reads like an intentional carousel. */
#half .half-copy{min-width:0!important}
.half-builder-ui{width:100%!important;max-width:100%!important;overflow:hidden!important}
.half-builder-head{display:flex!important;align-items:flex-end!important;justify-content:space-between!important;gap:14px!important}
.half-builder-head>div{display:grid!important;gap:3px!important;min-width:0!important}
.half-builder-head>div>small,.half-builder-head>div>b{display:block!important}
.half-builder-head>div>b{line-height:.95!important}
.half-builder-head>small{display:block!important;flex:0 0 auto!important;text-align:right!important;white-space:nowrap!important}
.half-flavor-strip{
 width:100%!important;
 max-width:100%!important;
 overflow-x:auto!important;
 overflow-y:hidden!important;
 scrollbar-width:none!important;
 -ms-overflow-style:none!important;
 padding-bottom:10px!important;
}
.half-flavor-strip::-webkit-scrollbar{
 display:none!important;
 width:0!important;
 height:0!important;
}
@media(min-width:1101px){
 .half-flavor-pick{flex-basis:100px!important}
 .half-flavor-pick img{width:82px!important;height:82px!important}
}


/* Desktop-friendly Half & Half flavor rail.
   Mouse users get explicit previous/next controls; touch users keep swipe. */
.half-flavor-rail{
 position:relative!important;
 display:grid!important;
 grid-template-columns:42px minmax(0,1fr) 42px!important;
 gap:8px!important;
 align-items:stretch!important;
 width:100%!important;
 min-width:0!important;
}
.half-flavor-nav{
 display:grid!important;
 place-items:center!important;
 align-self:stretch!important;
 min-height:100%!important;
 border:2px solid rgba(255,241,216,.28)!important;
 border-radius:16px!important;
 background:#2b1b17!important;
 color:var(--c)!important;
 font:900 30px/1 "DM Sans",Arial,sans-serif!important;
 cursor:pointer!important;
 transition:.16s ease!important;
}
.half-flavor-nav:hover:not(:disabled){
 border-color:var(--y)!important;
 background:#3a241d!important;
 transform:translateY(-1px)!important;
}
.half-flavor-nav:disabled{
 opacity:.28!important;
 cursor:default!important;
 transform:none!important;
}
.half-flavor-strip{min-width:0!important}
.half-builder-browse-copy{white-space:nowrap!important}

@media(max-width:820px){
 .half-flavor-rail{
  display:block!important;
 }
 .half-flavor-nav{
  display:none!important;
 }
 .half-builder-browse-copy:after{
  content:" • swipe →";
 }
}
