/* All seasonal decoration is scoped: event-config.js theme: 'classic' restores the original palette and artwork. */
.season-art { display: none; }
.event-note { color: var(--text-dim); font-size: 13px; line-height: 1.6; margin-top: 16px; }
.event-note strong { color: var(--text); }
.event-edition { color: var(--accent); font-family: var(--font-mono); font-size: 11px; letter-spacing: .18em; text-transform: uppercase; }
.event-price-small { font-size: 12px; display: block; margin-top: 8px; color: var(--text-dim); }
.plan-price-block { flex-wrap: wrap; }
.plan-single-list li { align-items: flex-start; flex-direction: column; }
.plan-single-list li span { display: block; }
[data-theme="light"] .plan-single-right { background: rgba(74,30,140,.035); }
.registration-notice { margin: 24px 0 0; padding: 16px 20px; border: 1px solid var(--border); border-left: 3px solid var(--accent); background: var(--surface); font-size: 14px; }
.registration-feedback { margin-top: 16px; padding: 14px; border-radius: 8px; background: rgba(255,100,70,.1); color: var(--text); line-height: 1.5; }
.registration-feedback:empty { display: none; }
.payment-details { margin: 24px auto; max-width: 420px; text-align: left; display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.payment-details dt { color: var(--text-dim); }
.payment-details dd { font-weight: 700; overflow-wrap: anywhere; }
.event-selector { display: flex; flex-wrap: wrap; gap: 12px; align-items: center; margin: 0 0 24px; }
.event-selector select { max-width: 360px; padding: 12px 16px; }
html[data-season="halloween"] { --season-orange: #ffad58; }
[data-season="halloween"] .hero { min-height: 800px; overflow: hidden; }
[data-season="halloween"] .hero-bg {
  background: linear-gradient(90deg, rgba(10,4,22,.9), rgba(10,4,22,.35)), url('assets/halloween/background.png') center 45% / cover;
}
[data-season="halloween"] .hero-photo { display: none; }
[data-season="halloween"] .hero-watermark { opacity: .4; }
[data-season="halloween"] .season-art {
  display: flex; position: absolute; right: 3%; top: 18%; width: 46%; height: 68%; align-items: center; justify-content: center; pointer-events: none;
}
[data-season="halloween"] .season-art::before { content: ''; position: absolute; inset: 10%; border-radius: 50%; background: #7b20d4; filter: blur(100px); opacity: .25; }
[data-season="halloween"] .season-art img { position: relative; width: 100%; max-height: 100%; object-fit: contain; filter: drop-shadow(0 20px 40px rgba(0,0,0,.5)); }
[data-season="halloween"] .hero-kicker .eyebrow { color: var(--season-orange); }
[data-season="halloween"] .hero-title { font-size: clamp(44px, 6.7vw, 96px); }
[data-season="halloween"] .logo-img { height: 64px; filter: drop-shadow(0 0 8px rgba(127,224,59,.22)); }
[data-season="halloween"] .logo-img--lg { height: 104px; }
[data-season="halloween"] .hero-sub { line-height: 1.7; }
[data-season="halloween"] .section { isolation: isolate; }
[data-season="halloween"] #pricing { background: radial-gradient(ellipse at 90% 10%, rgba(93,27,150,.3), transparent 60%), var(--bg); }
[data-season="halloween"] .form-hero::after { content: ''; position: absolute; right: 4%; top: 36px; width: 180px; height: 95px; background: url('assets/halloween/bats.svg') center / contain no-repeat; opacity: .13; pointer-events: none; z-index: -1; }
[data-season="halloween"] .plan-single { border-color: rgba(127,224,59,.32); background: radial-gradient(ellipse at 0% 0%, rgba(123,49,201,.4), transparent 65%), #140924; }
[data-season="halloween"] .plan-tag { color: #140924; }
[data-season="halloween"] .plan-single-left { justify-content: center; }
[data-season="halloween"] .plan-single-name { font-size: clamp(34px, 4vw, 54px); }
[data-season="halloween"] .cta-banner { background: linear-gradient(90deg, rgba(26,10,51,.9), rgba(26,10,51,.5)), url('assets/halloween/background.png') center 60% / cover; }
[data-season="halloween"] .cta-key-bg { opacity: .2; }
[data-season="halloween"][data-theme="light"] .hero-bg { background: linear-gradient(90deg, rgba(245,239,228,.96), rgba(245,239,228,.75)), url('assets/halloween/background.png') center / cover; }
[data-season="halloween"][data-theme="light"] .hero-kicker .eyebrow { color: #995014; }
[data-season="halloween"][data-theme="light"] .plan-single { background: #fff; }
[data-season="halloween"][data-theme="light"] .plan-tag { color: #140924; }
[data-season="halloween"][data-theme="light"] .cta-banner { background: #4a1e8c; }
@media (max-width: 1100px) {
  [data-season="halloween"] .hero { min-height: 720px; }
  [data-season="halloween"] .nav-links { gap: 20px; font-size: 11px; }
}
@media (max-width: 900px) {
  [data-season="halloween"] .hero { min-height: 0; padding-top: 120px; padding-bottom: 56px; }
  [data-season="halloween"] .hero-inner { padding-right: 32px; }
  [data-season="halloween"] .season-art { display: none; }
  [data-season="halloween"] .hero-text { max-width: 640px; }
  [data-season="halloween"] .hero-bg { background-position: center; }
}
@media (max-width: 860px) { .nav-burger { display: inline-flex; } .nav-cta { display: none; } }
@media (max-width: 520px) {
  [data-season="halloween"] .logo-img { height: 52px; }
  [data-season="halloween"] .hero-title { font-size: clamp(40px, 11vw, 58px); }
  .hero-cta .btn { white-space: normal; }
  .plan-cta { white-space: normal; text-align: center; }
  .payment-details { grid-template-columns: 1fr; gap: 4px; }
  .payment-details dd { margin-bottom: 10px; }
}

/* Homepage rhythm, independent of the seasonal switch. */
.event-home .section-tone-a { background: var(--surface); }
.event-home .section-tone-b { background: var(--ink); }
#recenze .testi-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); align-items: start; gap: 24px; }
#recenze .testi { grid-column: auto; min-width: 0; height: 100%; justify-content: flex-start; }
#recenze .testi-author { margin-top: auto; }
.review-full { margin: -4px 0 24px; }
.review-full summary { color: var(--accent); cursor: pointer; font-size: 13px; font-weight: 700; padding: 8px 0; }
.review-full .testi-quote { margin: 12px 0 0; }
[data-season="halloween"] .event-home .section-tone-a { background: #170d25; }
[data-season="halloween"] .event-home .section-tone-b { background: #0d0718; }
[data-season="halloween"][data-theme="light"] .event-home .section-tone-a { background: #eee6f4; }
[data-season="halloween"][data-theme="light"] .event-home .section-tone-b { background: #faf6ee; }
[data-season="halloween"] .event-home .section { overflow: hidden; border-top: 1px solid rgba(149,102,197,.1); }
[data-season="halloween"] .event-home .section > .container { position: relative; z-index: 1; }
/* Give each chapter its own composition; quiet sections separate the accents. */
[data-season="halloween"] .event-home .section::before,
[data-season="halloween"] .event-home .section::after { content: none; position: absolute; pointer-events: none; z-index: 0; background-repeat: no-repeat; background-size: contain; }
[data-season="halloween"] .event-home #about::after { content: ''; background-image: url('assets/halloween/web.svg'); width: clamp(140px, 19vw, 260px); height: 260px; top: 0; right: 0; opacity: .2; transform: scaleX(-1); }
[data-season="halloween"] .event-home #pricing { background: radial-gradient(ellipse at 10% 90%, rgba(155,76,24,.13), transparent 55%), #0d0718; }
[data-season="halloween"] .event-home #pricing::after { content: ''; background-image: url('assets/halloween/pumpkin.svg'); width: clamp(160px, 20vw, 280px); height: 250px; bottom: -35px; left: -35px; opacity: .23; transform: rotate(12deg); }
[data-season="halloween"] .event-home #galerie::before { content: ''; background-image: url('assets/halloween/bats.svg'); width: clamp(180px, 26vw, 350px); height: 165px; top: 52px; right: 4%; opacity: .3; transform: rotate(16deg); }
[data-season="halloween"] .event-home #faq-section::after { content: ''; width: 230px; height: 230px; border-radius: 50%; right: -105px; top: 95px; opacity: .45; background: radial-gradient(circle at 68% 36%, #170d25 59%, transparent 60%), linear-gradient(145deg, #6e488a, #352243); }
[data-season="halloween"] .event-home #contact { background: radial-gradient(ellipse at 100% 100%, rgba(127,224,59,.055), transparent 60%), #170d25; }
[data-season="halloween"][data-theme="light"] .event-home #pricing { background: radial-gradient(ellipse at 10% 90%, rgba(190,115,35,.08), transparent 55%), #faf6ee; }
[data-season="halloween"][data-theme="light"] .event-home #contact { background: #eee6f4; }
[data-season="halloween"][data-theme="light"] .event-home #faq-section::after { background: radial-gradient(circle at 68% 36%, #eee6f4 59%, transparent 60%), linear-gradient(145deg, #9270ae, #c6b0d7); }
.day-banner { position: fixed; z-index: 1200; right: 24px; bottom: 24px; width: min(460px, calc(100% - 32px)); padding: 25px; border: 1px solid #8bcf43; border-radius: 16px; color: #f8f4ff; background: radial-gradient(ellipse at top right, #452265, #160c25 75%); box-shadow: 0 18px 70px #0008; }
.day-banner[hidden] { display: none; }
.day-banner-label { color: #ffba72; text-transform: uppercase; letter-spacing: .12em; font: 11px var(--font-mono); padding-right: 28px; }
.day-banner h2 { font: 25px var(--font-display); margin: 10px 0; }
.day-banner p { color: #d8cee3; font-size: 14px; line-height: 1.6; margin-bottom: 18px; }
.day-banner .btn { font-size: 11px; padding: 13px 18px; }
.day-banner-close { position: absolute; top: 10px; right: 10px; width: 36px; height: 36px; color: #f8f4ff; background: transparent; border: 0; border-radius: 50%; cursor: pointer; font-size: 25px; }
.day-banner-close:hover { background: #ffffff15; }
.day-banner :focus-visible { outline: 2px solid #b1f575; outline-offset: 4px; }
@media(max-width: 1000px) { #recenze .testi-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media(max-width: 600px) {
 #recenze .testi-grid { grid-template-columns: 1fr; gap: 16px; }
 .day-banner { bottom: 16px; right: 16px; padding: 20px; }
 .day-banner h2 { font-size: 22px; }
 [data-season="halloween"] .event-home #about::after { height: 140px; opacity: .14; }
 [data-season="halloween"] .event-home #galerie::before { top: 16px; right: -45px; width: 170px; opacity: .18; }
 [data-season="halloween"] .event-home #pricing::after { opacity: .15; bottom: -80px; }
 [data-season="halloween"] .event-home #faq-section::after { right: -165px; opacity: .25; }
}

/* Keep unconfigured event details hidden even inside flex summaries. */
[data-event-requires][hidden] { display: none !important; }
