.seasonal-banner { --season-dark:#852847; --season-light:#fff1f4; --season-accent:#bb4166; position:relative; isolation:isolate; overflow:hidden; display:flex; align-items:center; gap:24px; padding:24px 30px; margin:18px 0; border:1px solid var(--season-accent); border-radius:22px; color:var(--season-dark); background:linear-gradient(115deg,#fff,var(--season-light)); box-shadow:0 8px 24px #00000008; }
.seasonal-banner[hidden] { display:none; }
.seasonal-banner[data-season="halloween"] { --season-dark:#452054; --season-light:#fff0da; --season-accent:#a9560e; }
.seasonal-banner[data-season="christmas"] { --season-dark:#154b39; --season-light:#eaf7ef; --season-accent:#b48131; }
.seasonal-banner::after { content:''; position:absolute; width:180px; height:180px; right:-55px; top:-60px; border:24px solid var(--season-accent); opacity:.08; border-radius:50%; z-index:-1; pointer-events:none; }
.seasonal-art { flex:0 0 auto; font-size:46px; line-height:1.2; user-select:none; pointer-events:none; }
.seasonal-copy { min-width:0; }
.seasonal-copy small { display:block; color:var(--season-accent); text-transform:uppercase; letter-spacing:.12em; font-size:11px; font-weight:800; }
.seasonal-copy h2 { margin:6px 0; color:var(--season-dark); font-size:clamp(20px,3vw,28px); line-height:1.2; }
.seasonal-copy p { margin:0; color:var(--season-dark); font-size:14px; line-height:1.5; }
body[data-season="friendship"] { background-color:#fff8fa; }
body[data-season="halloween"] { background-color:#fcf7ef; }
body[data-season="christmas"] { background-color:#f2f8f4; }
body[data-season] .login-card { border-top:4px solid var(--login-season-accent,#b48131); }
body[data-season="friendship"] { --login-season-accent:#bb4166; }
body[data-season="halloween"] { --login-season-accent:#a9560e; }
.login-card .seasonal-banner { padding:14px; margin:0 0 20px; gap:12px; border-radius:14px; }
.login-card .seasonal-art { font-size:30px; }
.login-card .seasonal-copy h2 { font-size:19px; }
.login-card .seasonal-copy p { font-size:12px; }
.seasonal-options { display:grid; grid-template-columns:repeat(auto-fit,minmax(180px,1fr)); gap:12px; margin:20px 0; }
.seasonal-choice { display:flex; align-items:center; gap:10px; padding:18px; border:1px solid #ccc; border-radius:16px; cursor:pointer; background:#fff; }
.seasonal-choice:has(input:checked) { border-color:#111; box-shadow:0 0 0 1px #111; }
.seasonal-choice input { accent-color:#111; }
.seasonal-targets { display:flex; gap:24px; flex-wrap:wrap; margin:20px 0; }
.seasonal-preview { max-width:820px; border:1px dashed #bbb; border-radius:18px; padding:20px; margin:18px 0; }
.seasonal-preview-login { max-width:380px; }
@media(max-width:600px) { .seasonal-banner { padding:18px; gap:12px; } .seasonal-art { font-size:32px; } }
/* Solo ambientacion: los controles, saldos y estados conservan sus colores. */
@media screen {
  [data-season="friendship"] { --season-page:#fff8fa; --season-tint:#fff1f4; --season-ink:#852847; --season-line:#d990a5; --season-pattern:#f7dce5; --season-label:'\2665  Amor y amistad  \2665'; }
  [data-season="halloween"] { --season-page:#fcf7ef; --season-tint:#fff0da; --season-ink:#452054; --season-line:#d7a16c; --season-pattern:#f5dfbd; --season-label:'\1F383  Halloween  \1F383'; }
  [data-season="christmas"] { --season-page:#f2f8f4; --season-tint:#eaf7ef; --season-ink:#154b39; --season-line:#bda26a; --season-pattern:#dcebe0; --season-label:'\1F384  Navidad  \2726'; }
  body[data-season-target="clients"][data-season], .seasonal-area-preview[data-season] {
    background:var(--client-page,#f6f7fa);
  }
  body[data-season-target="clients"][data-season] #distribHeader,
  .seasonal-area-preview[data-season] .seasonal-header-preview {
    background:#fff;
    border:1px solid var(--client-border,#e5e7eb);
    border-radius:16px;
    box-shadow:0 4px 16px #18223406;
  }
  body[data-season-target="clients"][data-season] #distribHeader::before,
  .seasonal-area-preview[data-season] .seasonal-header-preview::before {
    content:var(--client-label); display:block; padding:12px 20px; text-align:left;
    background:var(--client-decoration) right 16px center / auto 44px no-repeat,var(--client-strip);
    border-radius:15px 15px 0 0; border-bottom:1px solid var(--client-border);
    color:var(--season-ink); font-size:12px; line-height:20px; font-weight:700; letter-spacing:.08em;
    pointer-events:none; user-select:none;
  }
  body[data-season-target="clients"][data-season] #distribHeader .shell-nav-link.is-active {
    color:var(--season-ink); text-decoration:underline; text-decoration-color:var(--season-line); text-underline-offset:6px;
  }
  body[data-season-target="clients"][data-season] .shell > .panel,
  .seasonal-area-preview[data-season] .seasonal-panel-preview { border-color:var(--client-border); }
  .seasonal-panel-preview { margin:14px 0 0; padding:18px; background:#fff; border:1px solid #ddd; border-radius:14px; color:#222; }
}
@media print {
  .seasonal-banner { display:none !important; }
  body[data-season] { background:#fff !important; }
  body[data-season] .login-card { border-top:0; }
}
/* Escenas locales: ninguna capa intercepta los formularios. */
@media screen {
  [data-season="halloween"] { --season-scene:url('./seasonal-halloween.svg'); --season-night:#100e20; --season-card:#20172e; --season-glow:#ffb65f; --season-edge:#815276; --season-focus:#ffb65f40; }
  [data-season="christmas"] { --season-scene:url('./seasonal-christmas.svg'); --season-night:#071f24; --season-card:#102e2b; --season-glow:#efd08b; --season-edge:#668777; --season-focus:#efd08b40; }
  [data-season="friendship"] { --season-scene:url('./seasonal-friendship.svg'); --season-night:#261627; --season-card:#382031; --season-glow:#ffb7cc; --season-edge:#96647f; --season-focus:#ffb7cc40; }
  body[data-season-target="login"][data-season], .seasonal-login-scene[data-season] {
    --accent:var(--season-glow); --accent-strong:var(--season-edge); --ring:var(--season-focus);
    --panel-soft:var(--season-card); --border:var(--season-edge);
    background:var(--season-night); color:#fff;
  }
  body[data-season-target="login"][data-season]::before {
    background-image:var(--season-scene); background-position:center; background-size:cover; pointer-events:none;
  }
  body[data-season-target="login"][data-season]::after { background:transparent; pointer-events:none; }
  body[data-season-target="login"][data-season] .login-card,
  .seasonal-login-scene[data-season] .seasonal-login-sample {
    border:1px solid var(--season-edge); border-top:1px solid var(--season-edge);
    background:linear-gradient(145deg,#ffffff08,transparent 45%),var(--season-card);
    box-shadow:0 30px 100px #0006,0 0 45px var(--season-focus); border-radius:24px;
  }
  body[data-season-target="login"][data-season] .login-header { padding-top:34px; }
  body[data-season-target="login"][data-season] .login-header::before,
  .seasonal-login-scene[data-season] .seasonal-login-sample::before {
    content:var(--season-label); display:block; margin-bottom:18px; color:var(--season-glow);
    font-size:12px; letter-spacing:.18em; text-transform:uppercase; pointer-events:none;
  }
  body[data-season-target="login"][data-season] .form-control { background:#0003; border-color:var(--season-edge); }
  body[data-season-target="login"][data-season] .form-control:focus { background:#0005; }
  body[data-season-target="login"][data-season] .btn-primary { box-shadow:0 8px 24px var(--season-focus); }
  body[data-season-target="login"][data-season] .btn-secondary,
  body[data-season-target="login"][data-season] .btn-register:hover,
  body[data-season-target="login"][data-season] .login-footer a { border-color:var(--season-edge); }
  body[data-season-target="clients"][data-season] .shell { padding:16px clamp(10px,1.5vw,24px) 28px; }
  body[data-season-target="clients"][data-season] .shell > .panel { background:#fff; box-shadow:0 4px 16px #18223406; border-radius:16px; margin-top:20px; }
  body[data-season-target="clients"][data-season] #seasonalDesignBanner { display:none; }
  body[data-season-target="clients"][data-season] #distribGlobalFooter,
  body[data-season-target="clients"][data-season] .distrib-footer-link,
  body[data-season-target="clients"][data-season] .distrib-footer-copy { color:#505565; }
  .seasonal-banner[data-season] { background:linear-gradient(110deg,var(--season-card),var(--season-night)); border-color:var(--season-edge); }
  .seasonal-banner[data-season] .seasonal-copy h2,
  .seasonal-banner[data-season] .seasonal-copy p { color:#fff; }
  .seasonal-banner[data-season] .seasonal-copy small { color:var(--season-glow); }
  .seasonal-area-preview[data-season] > strong,
  .seasonal-area-preview[data-season] > p { color:#505565; }
  .seasonal-preview-brand { padding:20px; text-align:center; font-weight:800; color:#202332; }
  .seasonal-preview-nav { padding:12px 20px; text-align:center; font-size:12px; color:#505565; }
  .seasonal-login-scene { padding:32px 20px; border-radius:18px; margin-top:14px; }
  .seasonal-login-scene[data-season] { background:var(--season-scene) center/cover,var(--season-night); }
  .seasonal-login-sample { max-width:260px; margin:auto; padding:22px; text-align:center; background:#191919; color:#fff; border-radius:18px; }
  .seasonal-login-sample strong { display:block; color:inherit; }
  .seasonal-sample-field { padding:12px; margin-top:16px; text-align:left; border:1px solid #ffffff40; border-radius:9px; font-size:12px; color:#eee; }
  .seasonal-sample-submit { margin-top:18px; padding:12px; border-radius:9px; background:var(--season-glow,#fec615); color:#171117; font-weight:700; }
  @media(max-width:700px) {
    body[data-season-target="login"][data-season]::before { background-position:75% center; }
    body[data-season-target="login"][data-season] .auth-wrapper { padding:18px 12px; }
    body[data-season-target="clients"][data-season] #distribHeader::before { background-size:auto 32px; background-position:right 8px center; padding-left:12px; }
  }
  @media(max-width:420px) {
    body[data-season-target="clients"][data-season] #distribHeader::before { background-size:auto 22px; font-size:10px; letter-spacing:.04em; }
  }
}
/* Paleta de clientes independiente de las escenas oscuras del login. */
@media screen {
  [data-season="halloween"] { --client-page:#f5f4f8; --client-strip:#efebf6; --client-border:#e2ddeb; --client-label:'TEMPORADA HALLOWEEN'; --client-decoration:url('./seasonal-clients-halloween.svg'); }
  [data-season="christmas"] { --client-page:#f3f7f5; --client-strip:#e9f2ed; --client-border:#dce8df; --client-label:'TEMPORADA NAVIDE\00d1 A'; --client-decoration:url('./seasonal-clients-christmas.svg'); }
  [data-season="friendship"] { --client-page:#faf5f7; --client-strip:#f9eaf0; --client-border:#eedde4; --client-label:'AMOR Y AMISTAD'; --client-decoration:url('./seasonal-clients-friendship.svg'); }
}
/* Ambientacion del area de trabajo, sin modificar las escenas del login. */
@media screen {
  [data-season="halloween"] { --client-scene:url('./seasonal-clients-halloween-scene.svg'); --client-wash:#e1d4ef; --client-accent:#75528e; --client-border:#d6c6e3; }
  [data-season="christmas"] { --client-scene:url('./seasonal-clients-christmas-scene.svg'); --client-wash:#d2e6da; --client-accent:#3d765c; --client-border:#bfd9cb; }
  [data-season="friendship"] { --client-scene:url('./seasonal-clients-friendship-scene.svg'); --client-wash:#f3d7e3; --client-accent:#ad5279; --client-border:#e9bfd0; }
  body[data-season-target="clients"][data-season], .seasonal-area-preview[data-season] {
    background:radial-gradient(ellipse at 0 15%,var(--client-wash),transparent 48%),radial-gradient(ellipse at 100% 75%,var(--client-wash),transparent 48%),var(--client-page);
    background-attachment:fixed;
  }
  body[data-season-target="clients"][data-season] #distribHeader,
  .seasonal-area-preview[data-season] .seasonal-header-preview {
    background:var(--client-scene) center top / 100% auto no-repeat,var(--client-strip);
    border:1px solid var(--client-border); border-bottom:3px solid var(--client-accent);
    box-shadow:0 8px 28px #30203c12;
  }
  body[data-season-target="clients"][data-season] #distribHeader::before,
  .seasonal-area-preview[data-season] .seasonal-header-preview::before {
    background:none; border-bottom:0; text-align:center; color:var(--season-ink);
  }
  body[data-season-target="clients"][data-season] #distribHeader .admin-shell-toolbar {
    background:#ffffffd9; border-radius:0 0 14px 14px; margin-top:12px;
  }
  body[data-season-target="clients"][data-season] .shell > .panel,
  .seasonal-area-preview[data-season] .seasonal-panel-preview {
    border-top:3px solid var(--client-accent); box-shadow:0 8px 24px #30203c0a;
  }
  body[data-season-target="clients"][data-season] .shell > .panel > h2,
  .seasonal-area-preview[data-season] .seasonal-panel-preview > strong {
    color:var(--season-ink); border-left:4px solid var(--client-accent); padding-left:12px;
  }
  body[data-season-target="clients"][data-season] #supportStoreHome .admin-home-carousel {
    background:linear-gradient(120deg,var(--client-strip),var(--client-page) 55%,var(--client-strip));
    border-color:transparent; box-shadow:none;
  }
  body[data-season-target="clients"][data-season] .distrib-footer-link-badge {
    border-color:var(--client-strip); box-shadow:0 0 0 2px var(--client-accent),0 8px 20px #30203c12;
  }
  .seasonal-area-preview[data-season] .seasonal-header-preview { background-size:auto 180px; }
  .seasonal-area-preview[data-season] .seasonal-preview-nav { background:#ffffffd9; }
  @media(max-width:1100px) {
    body[data-season-target="clients"][data-season] #distribHeader { background-size:auto 235px; }
  }
  @media(max-width:600px) {
    body[data-season-target="clients"][data-season] #distribHeader {
      background:var(--client-decoration) right 8px top 6px / 100px auto no-repeat,linear-gradient(135deg,var(--client-wash),var(--client-strip) 60%,#fff);
    }
    body[data-season-target="clients"][data-season] #distribHeader::before { text-align:left; padding-right:114px; }
    body[data-season-target="clients"][data-season] { background-attachment:scroll; }
  }
}
/* Tarjetas de inicio: solo superficies decorativas, sin alterar estados de compra. */
@media screen {
  body[data-season-target="clients"][data-season] #supportStoreHome .admin-home-slide:not(.is-loading),
  body[data-season-target="clients"][data-season] #supportStoreHome .admin-home-empty,
  .seasonal-area-preview[data-season] .seasonal-promo-preview {
    background:linear-gradient(145deg,var(--client-strip),var(--client-wash));
    border-color:var(--client-border); box-shadow:0 6px 16px #30203c08;
  }
  body[data-season-target="clients"][data-season] #supportStoreHome .admin-home-slide-media {
    background:var(--client-page); border-color:transparent;
  }
  body[data-season-target="clients"][data-season] #supportStoreHome .admin-home-slide-body strong,
  body[data-season-target="clients"][data-season] #supportStoreHome .media-entry-card strong {
    color:var(--season-ink);
  }
  body[data-season-target="clients"][data-season] #supportStoreHome .media-entry-card,
  .seasonal-area-preview[data-season] .seasonal-service-preview {
    background:linear-gradient(160deg,var(--client-page),var(--client-strip));
    border-color:var(--client-border); color:#292333;
  }
  body[data-season-target="clients"][data-season] #supportStoreHome .media-entry-card:hover:not(:disabled) {
    background:var(--client-wash); border-color:var(--client-accent);
  }
  body[data-season-target="clients"][data-season] #supportStoreHome .media-entry-card:focus-visible {
    outline:3px solid var(--client-accent); outline-offset:3px;
  }
  .seasonal-content-preview { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; margin-top:16px; }
  .seasonal-promo-preview, .seasonal-service-preview { padding:20px; border:1px solid #ddd; border-radius:14px; color:#292333; }
  .seasonal-promo-preview { grid-column:1 / -1; }
}
