/* 我要辦活動｜票券金。保留核定金色，以亮票券黃、藍綠和深藍建立層級。 */
:root {
  --ink:#2E302D; --ink-soft:#4E504B; --pink:#C79E28; --pink-ink:#26334C;
  --pink-soft:#FAEDC6; --lime:#F3CF5A; --sky:#A9DAD3; --peach:#F3D6A0;
  --violet:#E5D7A9; --paper:#FFFCF0; --muted:#72664F; --white:#FFFFFF;
  --line:rgba(46,48,45,.16); --shadow:0 24px 70px rgba(52,44,24,.14);
  --price-canvas:#F4EACD; --price-surface:#FFFFFF; --price-surface-warm:#F8F0DA;
  --price-wine:#C79E28; --price-wine-deep:#8B6A14; --price-olive:#F5E4A9;
  --price-slate:#D7EAE4; --price-sand:#F5E7C1; --price-muted:#70634A;
  --accent-rgb:199,158,40; --hero-rgb:43,41,32; --wall-rgb:169,127,25;
  --button-text:#26334C; --detail-more-text:#182438; --plan-highlight-text:#26334C; --contact-text:#26334C;
  --wall-surface:#FFF0C7; --wall-card:#4B3E20;
  --hero-glow:rgba(248,202,76,.76); --hero-glow-secondary:rgba(117,185,170,.56);
  --toggle-start:#F3CF5A; --toggle-middle:#FFE8A8; --toggle-hover:#FFF3C9;
  --sale-mark:#A47713;
  --package-handle:#DBB241; --package-rim-top:#D7AF39; --package-rim-bottom:#8B6A14;
  --package-front-start:#F3CF5A; --package-front-end:#A9DAD3;
  --package-media-start:#FFF1C7; --package-media-middle:#B08B32; --package-media-end:#37301E;
}
body { background-color: var(--paper); color: var(--ink); }
.site-header { background: linear-gradient(135deg, rgba(255,255,255,.17), rgba(255,255,255,.04) 48%, rgba(var(--accent-rgb),.22)), rgba(var(--hero-rgb),.82); }
.site-header::before { background: linear-gradient(115deg, rgba(255,255,255,.18), transparent 34%, rgba(var(--accent-rgb),.25)); }
.site-header[class~="is-scrolled"] { background: linear-gradient(135deg, rgba(255,255,255,.12), rgba(var(--accent-rgb),.22)), rgba(var(--hero-rgb),.92); }
.site-nav a[class~="is-layer-active"] { border-color: rgba(var(--accent-rgb),.45); background: var(--lime); color: var(--ink); box-shadow: 0 5px 18px var(--hero-glow-secondary); }
.site-header:has(.site-nav a[class~="is-layer-active"]) .site-nav a[class~="is-layer-active"] { border-color: rgba(var(--accent-rgb),.45); background: var(--lime); }
.site-header:has(.site-nav a[class~="is-layer-active"]) .header-cta { background: var(--pink); color: var(--button-text); }
.hero-cover-scene, .hero-cover-layer::before { background: rgb(var(--hero-rgb)); }
.hero-scrim { background: linear-gradient(90deg, rgba(var(--hero-rgb),.96) 0%, rgba(var(--hero-rgb),.84) 46%, rgba(var(--hero-rgb),.42) 100%), linear-gradient(0deg, rgba(var(--hero-rgb),.92) 0%, transparent 34%); }
.hero-orb-one { background: radial-gradient(circle, var(--hero-glow), transparent 68%); }
.hero-orb-two { background: radial-gradient(circle, var(--hero-glow-secondary), transparent 70%); }
.hero .eyebrow, .hero h1 em { color: var(--lime); }
.button-primary, .header-cta, .button-plan-hot { background: var(--pink); color: var(--button-text); box-shadow: 0 10px 28px rgba(var(--accent-rgb),.28); }
.route-strip { background: var(--pink); color: var(--button-text); }
.route-strip span { color: inherit; }
.product-wall { background: var(--wall-surface); color: var(--ink); }
.product-wall::before { background-image: radial-gradient(rgba(var(--wall-rgb),.12) 1px, transparent 1px); }
.light-heading h2 { color: var(--ink); }
.light-heading > p:last-child { color: var(--muted); }
.product-wall .light-heading .section-index { color: var(--pink-ink); }
[class~="wall-card"] { border-color: rgba(var(--wall-rgb),.22); background: var(--wall-card); }
[class~="wall-card"]::after { background: linear-gradient(180deg, transparent 20%, rgba(var(--hero-rgb),.94) 100%); }
[class~="wall-card"] p { color: var(--lime); }
[class~="wall-note"] { color: var(--muted); }
.plan-price-original { color: var(--price-muted); }
.plan-price-original > strong::after { background: linear-gradient(176deg, transparent 0 11%, var(--sale-mark) 13% 62%, var(--pink-ink) 68% 81%, transparent 84%); }
.plan-price-opening { background: var(--ink); }
.plan-price-opening > span { color: var(--lime); }
.plan-price-opening > strong { color: var(--white); }
.product-detail-more button { border-color: var(--ink); background: var(--ink); color: var(--white); }
.plan-list li::before { color: var(--pink); }
.package-toggle { background: linear-gradient(112deg, var(--toggle-start), var(--toggle-middle) 48%, var(--toggle-end)); box-shadow: 0 0 0 1px rgba(var(--accent-rgb),.2), 0 7px 18px rgba(var(--accent-rgb),.18), 3px 3px 0 rgba(var(--hero-rgb),.15); }
.package-toggle:hover, .package-toggle:focus-visible { background: linear-gradient(112deg, var(--toggle-start), var(--toggle-hover) 42%, var(--toggle-middle)); box-shadow: 0 0 0 2px rgba(var(--accent-rgb),.25), 0 10px 24px rgba(var(--accent-rgb),.23), 3px 4px 0 rgba(var(--hero-rgb),.18); }
.plan-ribbon { background: var(--ink); color: var(--lime); }
.plan-advanced { box-shadow: 8px 9px 0 var(--pink); }
.plan-advanced .plan-price-opening { background: var(--ink); }
.plan-advanced .plan-total { background: var(--pink); }
.plan-advanced .plan-price-opening > span { color: var(--lime); }
.plan-advanced .plan-price-opening > strong { color: var(--white); }
.plan-advanced .plan-total { color: var(--plan-highlight-text); }
[class~="product-media"], [class~="missing-media"], [class~="product-view-stack"], [class~="product-view-mosaic"], [class~="product-media"] > figure img { background-color: var(--price-surface-warm); }
[class~="media-label"] { background: rgba(var(--hero-rgb),.9); }
[class~="missing-media"] { border-color: var(--pink); background: var(--pink-soft); }
[class~="product-detail-main"][class~="is-video"], [class~="product-detail-main"][class~="is-video"] > video { background: rgb(var(--hero-rgb)); }
[class~="product-detail-main"][class~="is-embed"], [class~="product-detail-main"][class~="is-embed"] > iframe { background: var(--price-surface-warm); }
.package-modal { background: rgba(var(--hero-rgb),.68); }
.package-modal-backdrop { background: rgba(var(--hero-rgb),.58); }
.package-modal-card, .package-display, .package-modal[class~="is-advanced"] .package-display, .package-modal[class~="is-flagship"] .package-display { border-color: rgba(var(--accent-rgb),.48); background: rgb(var(--hero-rgb)); }
.package-modal-card { box-shadow: 0 30px 90px rgba(var(--hero-rgb),.56), 9px 11px 0 rgba(var(--hero-rgb),.72); }
.package-display-halo { background: radial-gradient(ellipse, var(--hero-glow), var(--hero-glow-secondary) 44%, transparent 74%); }
.package-display-glint { box-shadow: 0 0 18px var(--hero-glow-secondary); }
.package-display-glint-two { border-color: var(--pink); box-shadow: 0 0 18px var(--hero-glow); }
.package-kit { border-color: rgba(var(--accent-rgb),.48); }
.package-kit::before { border-color: rgba(var(--accent-rgb),.28); }
.package-kit-handle { border-color: var(--package-handle); box-shadow: 0 0 0 2px rgba(var(--accent-rgb),.26), inset 0 5px rgba(255,255,255,.1); }
.package-kit-rim { border-color: rgba(var(--accent-rgb),.56); background: linear-gradient(180deg, var(--package-rim-top), var(--package-rim-bottom)); }
.package-kit-front { border-color: rgba(var(--accent-rgb),.42); background: linear-gradient(105deg, var(--package-front-start), var(--package-front-end)); color: var(--pink-ink); box-shadow: 0 8px 0 rgba(var(--hero-rgb),.2), inset 0 0 0 3px rgba(255,255,255,.2); }
.package-kit-tape { border-color: rgba(var(--hero-rgb),.22); background: var(--lime); box-shadow: 2px 3px 0 rgba(var(--hero-rgb),.24); }
.package-display-choice-note { border-color: rgba(var(--accent-rgb),.5); background: rgba(var(--hero-rgb),.88); color: rgba(255,255,255,.86); }
.package-display-choice-badge { background: var(--pink); color: var(--button-text); }
.package-motion-list button { border-color: rgba(255,255,255,.25); background: rgba(var(--hero-rgb),.82); }
[class~="package-motion-choice"] { background: var(--pink); color: var(--button-text); }
[class~="package-piece-media"] { background: linear-gradient(135deg, var(--package-media-start), var(--package-media-middle) 55%, var(--package-media-end)); }
[class~="package-piece-media"]::before { background: linear-gradient(135deg, rgba(255,255,255,.24), transparent 35%, rgba(var(--hero-rgb),.2)); }

/* Event package previews use full-frame mockups; contain keeps every item centered without cropping. */
.package-piece-media {
  display: grid;
  place-items: center;
  background: #fffaf2;
}
.package-piece-media img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: center center;
}
[class~="package-piece-meta"] { color: var(--muted); }
[class~="package-piece-meta"] b { color: var(--pink-ink); }
[class~="package-piece-choice"] { background: var(--pink-soft); color: var(--pink-ink); }
[class~="package-piece"][class~="is-choice"] { border-color: rgba(var(--accent-rgb),.6); }
.package-modal-kicker-mark { border-color: var(--lime); }
.package-modal-prefix, .package-motion-copy small, .package-modal-foot-mark { color: var(--lime); }
.package-motion-list button[class~="is-active"] { border-color: var(--lime); background: var(--lime); color: var(--ink); }
.package-modal-close-action { border-color: var(--lime); background: var(--lime); color: var(--ink); }
.package-modal-close-action:hover, .package-modal-close-action:focus-visible { outline-color: var(--pink); background: var(--pink); border-color: var(--pink); color: var(--button-text); }
[class~="is-package-open"] .package-toggle-mark { background: var(--pink); color: var(--button-text); }
[class~="product-dialog-close"]:focus-visible, [class~="product-detail-thumb"]:focus-visible, .package-toggle:focus-visible, .plan-list-title:focus-visible, [class~="scenario-output-rule-back"]:focus-visible { color: var(--pink-ink); outline-color: var(--pink-ink); }
.contact { background: var(--pink); color: var(--button-text); }
.contact .section-index { color: var(--button-text); }
.section-index, .hero-offer-kicker, .hero-offer li span,
.plans-heading-copy .section-index, .package-toggle-copy small, .package-toggle-arrow,
.contact-intake-head, [class~="scenario-output-rule-back"] { color:var(--pink-ink); }
.event-type-switch { display:flex; flex-wrap:wrap; align-items:center; gap:.55rem; margin:1.1rem 0 1.35rem; }
.event-type-switch button { flex:1 1 130px; min-height:44px; padding:.62rem 1rem; border:1px solid rgba(255,255,255,.46); border-radius:999px; background:rgba(255,255,255,.08); color:var(--white); font:inherit; font-weight:700; cursor:pointer; touch-action:manipulation; transition:background-color .18s ease, color .18s ease, border-color .18s ease, transform .18s ease; }
.event-type-switch button:hover { border-color:var(--lime); background:rgba(255,255,255,.16); transform:translateY(-1px); }
.event-type-switch button[aria-pressed="true"] { border-color:var(--lime); background:var(--lime); color:var(--ink); box-shadow:0 5px 16px rgba(var(--accent-rgb),.18); }
.event-type-switch button:focus-visible { outline:3px solid var(--white); outline-offset:3px; }
.visually-hidden { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; border:0; }
