/* 2027 Booth Packages (Oct 2026): the package section after the exhibit spaces, its swap, the grouped extras in
   Your Package and the package lines in the review. Exhibit page only, so the Pistachio stylesheets stay as they are. Same layout as
   Almond Day's, in the Pistachio palette (forest prices, a gold accent, the selected ring its cards use). */
.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-hint{font-size:14px;font-weight:700;margin-top:18px;color:var(--ink)}.booth-packs-hint:empty{display:none}
.pack-photo{margin:0}
.pack-photo img{display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:cover;object-position:88% 50%}
.pack-photo figcaption{margin-top:10px}
.booth-pack-grid{display:grid;grid-template-columns:1fr 1fr;gap:25px;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:var(--paper);border:1px solid var(--line);border-top:4px solid var(--green);padding:32px;position:relative;transition:border-color .2s,box-shadow .25s,transform .25s}
.pack-card[hidden]{display:none}
.pack-card:hover{box-shadow:0 18px 36px #213c2b14;transform:translateY(-2px)}
.pack-card.is-chosen{border-color:var(--green);box-shadow:0 0 0 3px var(--green),0 18px 36px #31551f14}
.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-availability{font-size:12px;color:var(--muted)}
.pack-card h3{font-size:38px;margin:16px 0 0}
.pack-price{display:flex;align-items:baseline;gap:12px;flex-wrap:wrap;margin:10px 0 18px}
.pack-price strong{font:400 40px/1.1 var(--display);color:var(--forest)}
.pack-price span{font-size:13px;color:var(--muted)}
.pack-lead{font-size:13px;font-weight:700;color:var(--green);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:14px;font-weight:700;line-height:1.45}
.pack-items li small{display:block;font-weight:400;font-size:13px;color:var(--muted);margin-top:2px}
.pack-items li b{white-space:nowrap;font-weight:400;font-size:13px;color:var(--muted)}
.pack-items li.is-swapped span,.pack-items li.is-swapped b{text-decoration:line-through;color:#9aa192}
.pack-items li.is-swapped small{color:#9aa192}
.pack-items li.is-swapped-in,.pack-items li.is-swapped-in small{color:var(--green)}
.pack-worth{font-size:14px;margin:14px 0 0}.pack-worth strong{color:var(--forest)}
.pack-note{font-size:12px;line-height:1.7;color:var(--muted);margin:8px 0 20px}
.pack-swap{margin:18px 0 6px;padding:16px;background:var(--pale);border-top:3px solid var(--gold);animation:pack-in .35s ease-out both}
.pack-swap[hidden]{display:none}
.pack-swap-title{font-size:14px;font-weight:700;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;font:700 11px/1.2 var(--font);letter-spacing:.12em;text-transform:uppercase;color:var(--green)}
.pack-swap select{font:400 14px var(--font);letter-spacing:0;text-transform:none;min-height:44px;padding:9px 10px}
.pack-swap select:disabled{color:var(--muted);background:var(--pale)}
.pack-swap-note{font-size:12px;line-height:1.6;color:var(--muted);margin:8px 0 0}
.pack-card .pack-select{max-width:none;margin-top:18px}
.pack-select:disabled{opacity:.55;cursor:not-allowed}
.pack-select:disabled:hover{background:transparent;color:var(--green)}
.pack-cover{position:absolute;top:-16px;right:20px;width:84px;height:auto;border:3px solid #fff;box-shadow:0 12px 24px #222b1e40;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, each with a line of detail. Extras the package covers are hidden. */
.addon-group{display:grid;gap:10px}
.addon-group[hidden],.addon-list label[hidden]{display:none}
.addon-group-label{font:700 11px/1 var(--font);letter-spacing:.14em;text-transform:uppercase;color:var(--green);margin:14px 0 0}
.package-dialog .addon-list small{display:block;color:var(--muted);font-size:12px;line-height:1.5;margin-top:2px}
.selection-note{font-size:13px;line-height:1.6;color:var(--muted);margin:6px 0 4px}
.pack-review-items{font-size:13px;line-height:1.7;color:var(--muted);margin:6px 0 10px}
.checkout-message{font-size:14px;line-height:1.6;font-weight:700;color:var(--brown);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}}
@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-card h3{font-size:32px}.pack-swap-row{grid-template-columns:1fr}.pack-swap select{font-size:16px}.pack-cover{width:68px;right:14px}.pack-price strong{font-size:34px}}
@media(prefers-reduced-motion:reduce){.pack-cover,.pack-card{transition:none}.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:25px;background:var(--paper);border:1px solid var(--line);border-top:4px solid var(--gold);transition:box-shadow .25s,transform .25s;animation:pack-in .45s ease-out both}
.zone-strip:hover{box-shadow:0 18px 36px #222b1e14;transform:translateY(-2px)}
.zone-photo{margin:0;position:relative;overflow:hidden;background:var(--forest);min-height:290px}
.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 11px/1.4 var(--font);letter-spacing:.12em;text-transform:uppercase;padding:8px 11px}
.zone-photo figcaption:empty{display:none}
.zone-body{padding:32px}
.zone-body h3{font-size:36px;margin:14px 0 18px}
.zone-rows{border-top:1px solid var(--line)}
.zone-row{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:8px 22px;align-items:center;padding:15px 0;border-bottom:1px solid var(--line)}
.zone-row strong{display:block;font-size:15px;transition:color .2s}
.zone-row small{display:block;font-size:13px;line-height:1.5;color:var(--muted);margin-top:3px}
.zone-row b{font:400 32px/1 var(--display);color:var(--forest);white-space:nowrap}
.zone-row .package-select{width:auto;margin:0;gap:14px;padding:10px 16px;white-space:nowrap}
.zone-row.is-chosen strong{color:var(--green)}
.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-photo{margin:0;height:150px;overflow:hidden;background:var(--forest)}
.offer-photo img{display:block;width:100%;height:100%;object-fit:cover;animation:offer-photo 6s ease-out both}
.offer-dialog .dialog-head{padding:22px 30px 18px}
.offer-added{display:flex;align-items:center;gap:10px;font-size:14px;font-weight:700;line-height:1.4;color:var(--ink);margin:0 0 12px}
.offer-added span:first-child{display:inline-grid;place-items:center;flex-shrink:0;width:24px;height:24px;border-radius:50%;background:var(--green);color:#fff;font-size:13px;animation:offer-check .5s .25s cubic-bezier(.3,1.6,.5,1) both}
.offer-dialog .dialog-head h2{font-size:42px}
.offer-dialog h2:focus{outline:none}
.offer-dialog .dialog-body{padding:16px 30px 0}
.offer-dialog .offer-copy{font-size:14px;color:var(--muted);margin:0 0 4px}
.offer-group .addon-group-label{margin:20px 0 2px}
.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:15px;line-height:1.4}
.offer-row small{display:block;font-size:13px;line-height:1.5;color:var(--muted);margin-top:3px}
.offer-row b{font:400 28px/1 var(--display);color:var(--forest);white-space:nowrap}
.offer-add{min-width:92px;min-height:42px;padding:0 14px;border:1px solid var(--green);background:transparent;color:var(--green);font:700 13px/1 var(--font);cursor:pointer;transition:background .2s,color .2s,transform .2s}
.offer-add:hover{background:var(--pale);transform:translateY(-1px)}
.offer-row.is-chosen .offer-add{background:var(--green);color:#fff}
.offer-row.is-chosen strong{color:var(--green)}
/* The subtotal and Review button stay in view while the offers scroll. */
.offer-foot{position:sticky;bottom:0;z-index:1;margin:18px -30px 0;padding:16px 30px 20px;background:var(--paper);border-top:1px solid var(--line);box-shadow:0 -12px 24px #222b1e0d}
.offer-dialog .selection-total{margin:0 0 12px}
.offer-dialog .selection-total strong{font-size:34px}
.offer-dialog .btn{width:100%}
.offer-dialog .text-link{display:inline-block;margin-top:12px;background:none;border-width:0 0 1px;border-style:solid;padding:0 0 4px;color:var(--ink);cursor:pointer}
@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-body h3{font-size:30px}.zone-row{grid-template-columns:minmax(0,1fr) auto}.zone-row>span{grid-column:1/-1}.zone-row .package-select{justify-self:end}
  .offer-photo{height:110px}.offer-dialog .dialog-head{padding:18px 20px 14px}.offer-dialog .dialog-head h2{font-size:34px}.offer-dialog .dialog-body{padding:12px 20px 0}
  .offer-row{grid-template-columns:minmax(0,1fr) auto}.offer-row>span{grid-column:1/-1}.offer-add{justify-self:end}
  .offer-foot{margin:14px -20px 0;padding:12px 20px 16px}.offer-dialog .selection-total{margin-bottom:10px}.offer-dialog .selection-total strong{font-size:30px}}
@media(prefers-reduced-motion:reduce){.zone-strip,.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}}
