/* 2027 Booth Packages (Oct 2026): the package section after Exhibit Spaces, its swap, the grouped extras in
   Your Package and the package lines in the review. Exhibit page only, so the shared cwc.css stays as it is. */
.booth-packs-section{padding-top:0}
.booth-packs-intro{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);gap:clamp(28px,5vw,70px);align-items:center;border-top:1px solid var(--line);padding-top:clamp(48px,6vw,80px);margin-bottom:40px}
.booth-packs-intro .intro{margin-bottom:0}
.booth-packs-hint{font-size:13px;font-weight:700;margin-top:18px;color:var(--ink)}.booth-packs-hint:empty{display:none}
.pack-photo{margin:0;position:relative;overflow:hidden;background:var(--ink)}
.pack-photo img{display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:cover;transition:transform .9s cubic-bezier(.2,.65,.3,1),filter .9s}
.pack-photo:hover img{transform:scale(1.04);filter:saturate(1.08)}
.pack-photo figcaption{position:absolute;left:14px;bottom:14px;background:var(--paper);color:var(--ink);font:700 10px/1.4 var(--body);letter-spacing:.13em;text-transform:uppercase;padding:8px 11px}
.booth-pack-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;align-items:start}
.booth-pack-grid.is-single{grid-template-columns:1fr}
.booth-pack-grid.is-single .pack-items{display:grid;grid-template-columns:1fr 1fr;column-gap:30px}
.pack-card{background:#fff;padding:32px;border:1px solid var(--line);border-top:5px solid var(--red);position:relative;transition:border-color .2s,box-shadow .25s,transform .25s}
.pack-card[hidden]{display:none}
.pack-card:hover{box-shadow:0 18px 36px #191a1b14;transform:translateY(-2px)}
.pack-card.is-chosen{border-color:var(--red);box-shadow:inset 0 0 0 1px var(--red),0 18px 36px #c3263814}
.pack-card-top{display:flex;justify-content:space-between;align-items:baseline;gap:14px;flex-wrap:wrap}
.pack-card[data-pack-card="spotlight"] .pack-card-top,.pack-card[data-pack-card="spotlight"] h3{max-width:calc(100% - 100px)}
.pack-card .booth-type{margin-bottom:12px}
.pack-availability{font-size:11px;color:var(--muted)}
.pack-card h3{font:900 clamp(30px,3vw,40px)/1 var(--display);letter-spacing:-.04em}
.pack-price{display:flex;align-items:baseline;gap:12px;flex-wrap:wrap;margin:14px 0 18px}
.pack-price strong{font:900 36px/1 var(--display);letter-spacing:-.05em;color:var(--red)}
.pack-price span{font-size:12px;color:var(--muted)}
.pack-lead{font-size:12px;font-weight:800;color:var(--red);margin:0 0 8px}
.pack-items{list-style:none;margin:0;padding:0;border-top:1px solid var(--line)}
.pack-items li{display:flex;justify-content:space-between;gap:16px;padding:11px 0;border-bottom:1px solid var(--line);font-size:13px;font-weight:700;line-height:1.45}
.pack-items li small{display:block;font-weight:400;font-size:12px;color:var(--muted);margin-top:2px}
.pack-items li b{white-space:nowrap;font-weight:400;font-size:12px;color:var(--muted)}
.pack-items li.is-swapped span,.pack-items li.is-swapped b{text-decoration:line-through;color:#a3a7aa}
.pack-items li.is-swapped small{color:#a3a7aa}
.pack-items li.is-swapped-in,.pack-items li.is-swapped-in small{color:var(--red)}
.pack-worth{font-size:13px;margin:14px 0 0}.pack-worth strong{color:var(--red)}
.pack-note{font-size:11px;line-height:1.7;color:var(--muted);margin:8px 0 20px}
.pack-swap{margin:18px 0 6px;padding:16px;background:var(--soft);border-left:3px solid var(--red);animation:pack-in .35s ease-out both}
.pack-swap[hidden]{display:none}
.pack-swap-title{font-size:13px;font-weight:800;margin:0}.pack-swap-title span{font-weight:400;color:var(--muted)}
.pack-swap-row{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:12px}
.pack-swap label{display:grid;gap:6px;font:800 10px/1.2 var(--body);letter-spacing:.12em;text-transform:uppercase;color:var(--red)}
.pack-swap select{font:400 13px var(--body);letter-spacing:0;text-transform:none;width:100%;min-height:42px;padding:8px;color:var(--ink);background:#fff;border:1px solid var(--line)}
.pack-swap select:disabled{color:var(--muted);background:var(--soft)}
.pack-swap-note{font-size:11px;line-height:1.6;color:var(--muted);margin:8px 0 0}
.pack-select{margin-top:18px}
.pack-card.is-chosen .pack-select{color:var(--red);border-color:var(--red)}
.pack-select:disabled{opacity:.55;cursor:not-allowed}
.pack-cover{position:absolute;top:-16px;right:20px;width:84px;height:auto;border:3px solid #fff;box-shadow:0 12px 24px #191a1b40;transform:rotate(5deg);transition:transform .35s ease;z-index:1}
.pack-card:hover .pack-cover{transform:rotate(1deg) translateY(-3px)}
/* Your Package: the extras in groups, and the package's swap under its line. */
.addon-group[hidden],.addon[hidden]{display:none}
.addon-group-label{font:800 10px/1 var(--body);letter-spacing:.14em;text-transform:uppercase;color:var(--red);margin:22px 0 2px}
.selection-note{font-size:12px;line-height:1.6;color:var(--muted);margin:6px 0 4px}
.pack-review-items{font-size:12px;line-height:1.7;color:var(--muted);margin:6px 0 10px}
.checkout-message{font-size:13px;line-height:1.6;font-weight:700;color:var(--red-dark);margin:0 0 14px}
.checkout-message[hidden]{display:none}
@keyframes pack-in{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
@media(max-width:850px){.booth-packs-intro{grid-template-columns:1fr}.booth-packs-intro .intro{max-width:none}}
@media(max-width:600px){.booth-pack-grid,.booth-pack-grid.is-single .pack-items{grid-template-columns:1fr}.booth-pack-grid{gap:16px}.pack-card{padding:24px 20px}.pack-swap-row{grid-template-columns:1fr}.pack-swap select{font-size:16px}.pack-cover{width:68px;right:14px}.pack-price strong{font-size:32px}}
@media(prefers-reduced-motion:reduce){.pack-photo img,.pack-cover,.pack-card{transition:none}.pack-photo:hover img,.pack-card:hover{transform:none}.pack-card:hover .pack-cover{transform:rotate(5deg)}.pack-swap{animation:none}}
/* Sponsor a Spot (Oct 27, 2026): the open zone sponsorships under the package cards, with a real 2026 photo. */
.zone-strip{display:grid;grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr);margin-top:24px;background:#fff;border:1px solid var(--line);border-top:5px solid var(--ink);transition:box-shadow .25s,transform .25s;animation:pack-in .45s ease-out both}
.zone-strip:hover{box-shadow:0 18px 36px #191a1b14;transform:translateY(-2px)}
.zone-strip[hidden],.zone-row[hidden]{display:none}
.zone-photo{margin:0;position:relative;overflow:hidden;background:var(--ink);min-height:280px}
.zone-photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .9s cubic-bezier(.2,.65,.3,1),filter .9s}
.zone-strip:hover .zone-photo img{transform:scale(1.04);filter:saturate(1.08)}
.zone-photo figcaption{position:absolute;left:14px;bottom:14px;background:var(--paper);color:var(--ink);font:700 10px/1.4 var(--body);letter-spacing:.13em;text-transform:uppercase;padding:8px 11px}
.zone-photo figcaption:empty{display:none}
.zone-body{padding:32px}
.zone-body .booth-type{margin-bottom:12px}
.zone-body h3{font:900 clamp(26px,2.6vw,34px)/1.02 var(--display);letter-spacing:-.04em;margin:0 0 18px}
.zone-rows{border-top:1px solid var(--line)}
.zone-row{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:8px 24px;align-items:center;padding:15px 0;border-bottom:1px solid var(--line)}
.zone-row strong{display:block;font-size:14px;transition:color .2s}
.zone-row small{display:block;font-size:12px;line-height:1.5;color:var(--muted);margin-top:3px}
.zone-row b{font:900 24px/1 var(--display);letter-spacing:-.04em;color:var(--red);white-space:nowrap}
.zone-row .choose-btn{white-space:nowrap}
.zone-row.is-chosen strong,.zone-row.is-chosen .choose-btn{color:var(--red);border-color:var(--red)}
.zone-strip .pack-note{margin:14px 0 0}
/* The booth pop-up (Oct 27, 2026): opens once a visitor picks a space or sponsorship. */
.offer-dialog{width:min(620px,calc(100% - 32px))}
.offer-dialog[open]{animation:offer-in .4s cubic-bezier(.2,.65,.3,1) both}
.offer-photo{margin:0;height:150px;overflow:hidden;background:var(--ink)}
.offer-photo img{display:block;width:100%;height:100%;object-fit:cover;animation:offer-photo 6s ease-out both}
.offer-dialog .dialog-inner{padding:26px 34px 30px}
.offer-dialog .dialog-top{align-items:center}
.offer-added{display:flex;align-items:center;gap:10px;font-size:13px;font-weight:700;color:var(--ink)}
.offer-added span:first-child{display:inline-grid;place-items:center;flex-shrink:0;width:24px;height:24px;border-radius:50%;background:var(--red);color:#fff;font-size:13px;animation:offer-check .5s .25s cubic-bezier(.3,1.6,.5,1) both}
.offer-dialog h2{font:900 clamp(30px,4vw,40px)/1 var(--display);letter-spacing:-.045em;margin:16px 0 0}
.offer-dialog h2:focus{outline:none}
.offer-dialog .dialog-copy{margin:12px 0 4px}
.offer-group[hidden]{display:none}
.offer-group .addon-group-label span{color:var(--muted);letter-spacing:.08em;margin-left:6px}
.offer-row{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:6px 16px;align-items:center;padding:14px 0;border-bottom:1px solid var(--line)}
.offer-row strong{display:block;font-size:14px}
.offer-row small{display:block;font-size:12px;line-height:1.5;color:var(--muted);margin-top:3px}
.offer-row b{font:900 20px/1 var(--display);letter-spacing:-.03em;color:var(--red);white-space:nowrap}
.offer-add{min-width:88px;min-height:40px;padding:0 14px;border:1px solid var(--ink);background:#fff;color:var(--ink);font:800 12px/1 var(--body);cursor:pointer;transition:background .2s,color .2s,border-color .2s,transform .2s}
.offer-add:hover{border-color:var(--red);color:var(--red);transform:translateY(-1px)}
.offer-row.is-chosen .offer-add{background:var(--red);border-color:var(--red);color:#fff}
.offer-row.is-chosen strong{color:var(--red)}
/* The subtotal and Review button stay in view while the offers scroll. */
.offer-foot{position:sticky;bottom:0;z-index:1;margin:18px -34px -30px;padding:16px 34px 20px;background:var(--paper);border-top:1px solid var(--line);box-shadow:0 -12px 24px #191a1b0d}
.offer-dialog .selection-total{margin:0 0 12px}
.offer-dialog .selection-total strong{font-size:32px}
.offer-dialog .btn{width:100%;margin-top:0}
.offer-dialog .text-link{margin-top:12px;background-color:transparent;border-width:0 0 1px;padding:0 0 4px;cursor:pointer}
@keyframes offer-in{from{opacity:0;transform:translateY(18px) scale(.97)}to{opacity:1;transform:none}}
@keyframes offer-photo{from{transform:scale(1.08)}to{transform:scale(1)}}
@keyframes offer-check{from{opacity:0;transform:scale(.3)}to{opacity:1;transform:none}}
@media(max-width:850px){.zone-strip{grid-template-columns:1fr}.zone-photo{min-height:220px}}
@media(max-width:600px){.zone-body{padding:24px 20px}.zone-row{grid-template-columns:minmax(0,1fr) auto}.zone-row>span{grid-column:1/-1}.zone-row .choose-btn{justify-self:end}
  .offer-photo{height:110px}.offer-dialog .dialog-inner{padding:20px 20px 24px}.offer-foot{margin:14px -20px -24px;padding:12px 20px 16px}.offer-dialog .selection-total{margin-bottom:10px}.offer-dialog .selection-total strong{font-size:28px}.offer-row{grid-template-columns:minmax(0,1fr) auto}.offer-row>span{grid-column:1/-1}.offer-add{justify-self:end}}
@media(prefers-reduced-motion:reduce){.zone-strip,.offer-dialog[open],.offer-photo img,.offer-added span:first-child{animation:none}.zone-strip,.zone-photo img,.offer-add{transition:none}.zone-strip:hover,.zone-strip:hover .zone-photo img,.offer-add:hover{transform:none}}
