/* Public content and commerce polish; original campaign hero stays in site.css. */
html:has(form) { scroll-behavior: auto; }
.commerce-form button { scroll-margin-block: 5rem; }
.information-page { padding-block: 4rem; min-height: 65vh; }
.information-page h1 { font-size: clamp(3.6rem, 8vw, 7rem); margin-bottom: 2rem; overflow-wrap: anywhere; }
.information-page h1 span { color: var(--orange); }
.information-page > .section-intro { max-width: 48rem; margin-bottom: 2rem; }
.reading-copy { max-width: 48rem; color: #ccd7da; line-height: 1.8; }
.reading-copy p { margin-bottom: 1.5rem; }
.information-page .actions { margin-block: 2.5rem; }
.information-page .subsection-heading { font-size: 3rem; margin-block: 3rem 2rem; }
.activity-detail { align-items: center; }
.activity-detail > img { width: 100%; height: auto; object-fit: cover; aspect-ratio: 4 / 3; }
.activity-detail .section-intro { margin-bottom: 2rem; }
.footer-links { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 2rem; padding-block: 3rem; border-bottom: 1px solid var(--line); }
.footer-links .eyebrow { color: var(--orange); margin-bottom: 1rem; }
.footer-links a { display: block; font-size: .8rem; text-decoration: none; padding-block: .5rem; min-height: 40px; }
.footer-links a:hover { color: var(--orange); }
.footer-help { color: var(--muted); font-size: .75rem; line-height: 1.65; margin-top: .5rem; }
.homepage-merch { background: var(--navy); }
.homepage-merch .section-heading h2 { font-size: clamp(3rem,5vw,4.7rem); }
.homepage-merch .section-heading { align-items: center; margin-bottom: 2rem; }
.homepage-merch .section-heading span { color: var(--orange); }
.homepage-merch .event-card { background: #07191f; }
.product-visual { position: relative; aspect-ratio: 4 / 3; overflow: hidden; background: #082832; }
.product-visual > .product-cover { width: 100%; height: 100%; object-fit: cover; aspect-ratio: auto; transition: transform .4s ease; }
.product-card:hover .product-cover, .product-card:focus-within .product-cover { transform: scale(1.025); }
.product-visual > .mockup-mark { position: absolute; width: 15%; height: auto; top: 43%; left: 42.5%; object-fit: contain; opacity: .94; margin: 0; }
.product-card h3 { font-size: 2rem; }
.product-card .event-card-body { display: flex; flex-direction: column; flex: 1; }
.product-card .event-card-body > p { color: #c7d4d9; font-size: .85rem; line-height: 1.6; }
.product-card { display: flex; flex-direction: column; }
.product-card .event-card-bottom { margin-top: auto; }
.product-gallery .product-visual { margin-bottom: 1rem; }
.product-gallery .product-cover { margin: 0; }
.sample-note { color: var(--muted); font-size: .75rem; line-height: 1.6; margin-top: 1rem; }
.checkout-policy { font-size: .8rem; line-height: 1.7; color: var(--muted); }
.checkout-policy a { text-underline-offset: 3px; }
@media (max-width: 1100px) { .desktop-nav { gap: 1.1rem; } .header-cta { display: none; } }
@media (max-width: 760px) { .footer-links { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 1.7rem; } .footer-links a { min-height: 44px; } .information-page { padding-block: 2.5rem; } }
@media (prefers-reduced-motion: reduce) { .product-visual > .product-cover { transition: none; } }

[hidden] { display: none !important; }
.attendee-fields { margin: 1.5rem 0; padding: 1.25rem; border: 1px solid #35505b; border-radius: .5rem; }
.attendee-fields legend { color: #ff9100; font-weight: 800; padding: 0 .4rem; }
.attendee-remove { background: transparent; cursor: pointer; color: white; border: 0; padding: .5rem 0; font: inherit; text-decoration: underline; }

.card-cart-form { margin-top: 1rem; display: grid; gap: .7rem; }
.card-cart-form label, .card-option-note { font-size: .8rem; color: #ccd7da; }
.card-option-note { margin: 0; }
.card-cart-form select { width: 100%; min-width: 0; min-height: 46px; background: #082832; color: white; border: 1px solid #64808a; padding: .65rem; font: inherit; font-size: .8rem; color-scheme: dark; }
.card-cart-form .button { justify-content: center; width: 100%; min-height: 46px; }
.card-cart-form .button:disabled { opacity: .5; cursor: not-allowed; }
.card-cart-form select:focus-visible { outline: 3px solid var(--orange); outline-offset: 3px; }
.searchable-select { position: relative; display: grid; grid-template-columns: minmax(0,1fr) 46px; }
.searchable-toggle { background: #123b48; border: 1px solid #64808a; color: #ff9100; font: inherit; font-size: 1.4rem; cursor: pointer; min-height: 48px; }
.searchable-toggle:focus-visible { outline: 3px solid var(--orange); outline-offset: 3px; }
.searchable-toggle:disabled { opacity: .5; cursor: default; }
.searchable-results { position: absolute; top: 100%; left: 0; right: 0; padding: .35rem; margin: .2rem 0 0; list-style: none; max-height: 240px; overflow-y: auto; z-index: 30; background: #082832; color: white; border: 1px solid #64808a; box-shadow: 0 12px 24px #0008; }
.searchable-results [role=option] { padding: .8rem; min-height: 44px; cursor: pointer; overflow-wrap: anywhere; }
.searchable-results [role=option]:hover, .searchable-results [aria-selected=true] { background: #245061; color: white; outline: 1px solid #ff9100; outline-offset: -1px; }
.searchable-status { grid-column: 1 / -1; color: #ccd7da; font-size: .8rem; }
.searchable-select input:disabled { opacity: .55; }
.checkout-field { margin-bottom: 1.3rem; }
