/* ── Light Mode — html[data-theme="light"] ──────────────────────────────
   Uso html[data-theme="light"] (specificità 0,1,1) anziché [data-theme="light"]
   (0,1,0) così vinco sempre su :root (0,1,0) anche in <style> inline.
   Per i discendenti (es. .hd-row) la specificità composta vince su qualsiasi
   regola flat in style.css o negli stili inline delle pagine secondarie.
   ──────────────────────────────────────────────────────────────────────── */

/* ── CSS Variables ── */
html[data-theme="light"] {
  --arancio:           #E63E00;
  --arancio-scuro:     #b83200;
  --arancio-bagliore:  rgba(230,62,0,.15);
  --sfondo:            #f5f5f4;
  --superficie:        #ffffff;
  --superficie2:       #f0f0ef;
  --testo:             #1a1a1a;
  --testo-sbiadito:    #6b6b6b;
  --bordo:             #e0e0de;
  --oro:               #7a5800;
  --rosso:             #d32f2f;
  --verde:             #16a34a;
  --arancio-text:      #b83200; /* contrasto ≥4.5:1 su bianco per testo normale */
}

/* ── Body ── */
html[data-theme="light"] body {
  background: var(--sfondo);
  color: var(--testo);
}

/* ── Map loading overlay ── */
html[data-theme="light"] #map-loading {
  background: rgba(255,255,255,.85);
  color: #333;
}

/* ── Mobile nav drawer (style.css + layout.php hardcoded) ── */
html[data-theme="light"] #bit-nav-drawer {
  background: #ffffff;
  border-left-color: #e0e0de;
  border-bottom-color: #e0e0de;
}
html[data-theme="light"] .bit-nav-hdr {
  border-bottom-color: #e0e0de;
}
html[data-theme="light"] .bit-nav-title { color: #1a1a1a; }
html[data-theme="light"] .bit-nav-close { color: #6b6b6b; }
html[data-theme="light"] .bit-nav-close:hover { color: #1a1a1a; }
html[data-theme="light"] .bit-nav-login-btn.secondary {
  background: rgba(0,0,0,.04);
  border-color: #e0e0de;
  color: #6b6b6b;
}
html[data-theme="light"] .bit-nav-login-btn.secondary:hover {
  color: #1a1a1a;
  border-color: rgba(0,0,0,.3);
}

/* ── Drag handle ── */
html[data-theme="light"] .d-handle { background: #ccc; }

/* ── Modal close button ── */
html[data-theme="light"] .btn-chiudi-modale {
  background: rgba(0,0,0,.12);
  color: #333;
}
html[data-theme="light"] .btn-chiudi-modale:hover { background: var(--arancio); color: #fff; }

/* ── Event type badges — hardcoded rgba(20,20,20,.75) ── */
html[data-theme="light"] .ec-tipo-float.tipo-live,
html[data-theme="light"] .ec-tipo-float.tipo-djset,
html[data-theme="light"] .ec-tipo-float.tipo-jam,
html[data-theme="light"] .ec-tipo-float.tipo-clinic,
html[data-theme="light"] .ec-tipo-float.tipo-openmic,
html[data-theme="light"] .ec-tipo-float.tipo-musiclab,
html[data-theme="light"] .ec-tipo-float.tipo-festival {
  background: rgba(255,255,255,.92) !important;
}
html[data-theme="light"] .d-tipo-badge.tipo-live,
html[data-theme="light"] .d-tipo-badge.tipo-djset,
html[data-theme="light"] .d-tipo-badge.tipo-jam,
html[data-theme="light"] .d-tipo-badge.tipo-clinic,
html[data-theme="light"] .d-tipo-badge.tipo-openmic,
html[data-theme="light"] .d-tipo-badge.tipo-musiclab,
html[data-theme="light"] .d-tipo-badge.tipo-festival {
  background: rgba(255,255,255,.92) !important;
}

/* ── Pills ── */
html[data-theme="light"] .ec-rep-pill {
  background: rgba(0,0,0,.05);
  border-color: rgba(0,0,0,.1);
}
html[data-theme="light"] .ec-genre-pill {
  background: rgba(0,0,0,.05);
  border-color: rgba(0,0,0,.1);
}

/* ── Separatori rgba(255,255,255,...) → rgba(0,0,0,...) ── */
html[data-theme="light"] .hd-row          { border-bottom-color: rgba(0,0,0,.06); }
html[data-theme="light"] .hd-section-title { background: rgba(0,0,0,.03); }
html[data-theme="light"] .pm-ev-row        { border-bottom-color: rgba(0,0,0,.07); }
html[data-theme="light"] .spc-ev-row       { border-bottom-color: rgba(0,0,0,.06); }
html[data-theme="light"] .ac-item          { border-bottom-color: rgba(0,0,0,.06); }
html[data-theme="light"] .city-ac-item     { border-bottom-color: rgba(0,0,0,.06); }
html[data-theme="light"] .sf-menu-item     { border-bottom-color: rgba(0,0,0,.06); }

/* ── Profile cards ── */
html[data-theme="light"] .pb-social-btn {
  background: rgba(0,0,0,.04);
  border-color: rgba(0,0,0,.14);
  color: var(--testo-sbiadito);
}
html[data-theme="light"] .pb-social-btn:hover {
  background: rgba(0,0,0,.08);
  border-color: rgba(0,0,0,.28);
  color: var(--testo);
}
/* Piattaforme con icona bianca (X, TikTok, TIDAL): JS imposta border-color:#ffffff20 inline.
   override con !important per renderlo visibile su sfondo chiaro. */
html[data-theme="light"] .pb-social-btn[style*="#ffffff"] {
  border-color: rgba(0,0,0,.14) !important;
}
/* Chip social .ef-social-btn (footer, profilo, corpo articolo): in light mode
   i valori base sono hardcoded per il dark. Allineo alla logica di .pb-social-btn.
   Hover border brand-color: gestito da JS inline (onmouseenter), che vince sul CSS. */
html[data-theme="light"] .ef-social-btn,
html[data-theme="light"] .bp-body a.ef-social-btn {
  background: rgba(0,0,0,.04);
  border-color: rgba(0,0,0,.14);
  color: #555 !important;
}
html[data-theme="light"] .ef-social-btn:hover,
html[data-theme="light"] .bp-body a.ef-social-btn:hover {
  background: rgba(0,0,0,.08);
  border-color: rgba(0,0,0,.28);
  color: #222 !important;
}
html[data-theme="light"] .d-support-row { background: rgba(0,0,0,.03); }

/* ── Consigliati count badge ── */
html[data-theme="light"] .cons-count { background: rgba(0,0,0,.07); }

/* ── LMC headers & strips ── */
/* Sottotitolo e separatore: rgba(255,210,0,.3-.5) su bianco = invisibile */
html[data-theme="light"] .lmc-sub  { color: rgba(100,68,0,.8); }
html[data-theme="light"] .lmc-sep  { color: rgba(100,68,0,.5); }

/* Strip upgrade (bordi e gradient giallo trasparenti) */
html[data-theme="light"] .lmc-upgrade-strip {
  background: linear-gradient(90deg,transparent,rgba(150,100,0,.07),transparent);
  border-top-color:    rgba(150,100,0,.22);
  border-bottom-color: rgba(150,100,0,.22);
}
html[data-theme="light"] .lmc-upgrade-strip-sub   { color: rgba(100,68,0,.8); }
html[data-theme="light"] .lmc-upgrade-strip-arrow { color: rgba(100,68,0,.8); }

/* Header Pro (gold) */
html[data-theme="light"] .lmc-pro-header {
  background: linear-gradient(90deg,transparent,rgba(150,100,0,.07),transparent);
  border-top-color:    rgba(150,100,0,.25);
  border-bottom-color: rgba(150,100,0,.25);
}

/* Header registrato (orange — già semitrasparente su light) */
html[data-theme="light"] .lmc-reg-header {
  background: rgba(200,60,0,.05);
  border-top-color:    rgba(200,60,0,.2);
  border-bottom-color: rgba(200,60,0,.2);
}
html[data-theme="light"] .lmc-reg-header .lmc-sub { color: rgba(180,50,0,.65); }
html[data-theme="light"] .lmc-reg-header .lmc-sep { color: rgba(180,50,0,.4); }

/* ── Agenda ── */
html[data-theme="light"] .agenda-cell:hover        { background: rgba(0,0,0,.05); }
html[data-theme="light"] .agenda-cell.is-past .agenda-day-num { color: rgba(0,0,0,.25); }
html[data-theme="light"] .agenda-dot.past          { background: rgba(0,0,0,.18); }

/* ── Calendar picker (dark mode usa filter:invert) ── */
html[data-theme="light"] input[type="datetime-local"]::-webkit-calendar-picker-indicator {
  filter: none;
  opacity: .55;
}

/* ════════════════════════════════════════════════════════════════════
   HEAD_COMMON.PHP — stili inline con colori hardcoded
   ════════════════════════════════════════════════════════════════════ */

/* Brand bar */
html[data-theme="light"] .bit-brand-bar {
  background: #ffffff;
  border-bottom-color: #e0e0de;
}
html[data-theme="light"] h1.bit-brand a { color: #1a1a1a; }
html[data-theme="light"] .hbtn          { color: rgba(0,0,0,.45); }
html[data-theme="light"] .hbtn:hover    { color: var(--arancio); background: rgba(230,62,0,.1); }

/* Extended footer */
html[data-theme="light"] footer#extended-footer {
  background: #f0f0ef;
  border-top-color: #e0e0de;
}
html[data-theme="light"] .ef-brand-sub { color: #6b6b6b; }
html[data-theme="light"] .ef-social-btn {
  background: rgba(0,0,0,.04);
  border-color: #e0e0de;
  color: #6b6b6b;
}
html[data-theme="light"] .ef-social-btn:hover {
  border-color: rgba(0,0,0,.28);
  color: #1a1a1a;
  background: rgba(0,0,0,.07);
}
html[data-theme="light"] .ef-section-title { border-bottom-color: #e0e0de; }
html[data-theme="light"] .ef-list li       { color: #6b6b6b; }
html[data-theme="light"] .ef-list li strong { color: #1a1a1a; }
html[data-theme="light"] .ef-list a        { color: rgba(0,0,0,.45); }
html[data-theme="light"] .ef-list a:hover  { color: #1a1a1a; }
html[data-theme="light"] .ef-list a.ef-link-gold       { color: rgba(120,90,0,.9); }
html[data-theme="light"] .ef-list a.ef-link-gold:hover { color: #b8860b; }
html[data-theme="light"] .ef-list a.ef-link-danger       { color: #d32f2f; }
html[data-theme="light"] .ef-list a.ef-link-danger:hover { color: #b71c1c; }
html[data-theme="light"] .ef-bottom      { border-top-color: #e0e0de; }
html[data-theme="light"] .ef-bottom-copy { color: #9a9a9a; }

/* ════════════════════════════════════════════════════════════════════
   PAGINE SECONDARIE (layout.php inline styles)
   ════════════════════════════════════════════════════════════════════ */

/* Page header bar */
html[data-theme="light"] .bit-ph {
  background: #ffffff;
  border-bottom-color: var(--arancio);
}
html[data-theme="light"] .bit-ph h1 a        { color: #1a1a1a; }
html[data-theme="light"] .back-btn           { color: #6b6b6b; border-color: rgba(0,0,0,.16); }
html[data-theme="light"] .back-btn:hover     { color: #1a1a1a; border-color: rgba(0,0,0,.32); }

/* Main content headings / text */
html[data-theme="light"] h2 { color: #1a1a1a; border-top-color: rgba(0,0,0,.07); }
html[data-theme="light"] h3 { color: #1a1a1a; }
html[data-theme="light"] .page-hero h1 { color: #1a1a1a; }
html[data-theme="light"] .page-hero    { border-bottom-color: rgba(0,0,0,.08); }
html[data-theme="light"] p             { color: #444; }
html[data-theme="light"] ul,
html[data-theme="light"] ol            { color: #444; }
html[data-theme="light"] strong        { color: #1a1a1a; }
html[data-theme="light"] .highlight-box { background: rgba(230,62,0,.05); border-color: rgba(230,62,0,.2); }
html[data-theme="light"] .highlight-box p { color: #4a4a4a; }
html[data-theme="light"] .contact-card {
  background: rgba(0,0,0,.03);
  border-color: rgba(0,0,0,.09);
}
html[data-theme="light"] thead th {
  background: rgba(0,0,0,.05);
  color: #1a1a1a;
  border-bottom-color: rgba(0,0,0,.1);
}
html[data-theme="light"] tbody td    { border-bottom-color: rgba(0,0,0,.06); color: #4a4a4a; }

/* Fragment page (.pf) */
html[data-theme="light"] .pf                  { color: #1a1a1a; }
html[data-theme="light"] .pf h1,
html[data-theme="light"] .pf h2,
html[data-theme="light"] .pf h3               { color: #1a1a1a; }
html[data-theme="light"] .pf h2               { border-top-color: rgba(0,0,0,.07); }
html[data-theme="light"] .pf p,
html[data-theme="light"] .pf ul,
html[data-theme="light"] .pf ol               { color: #4a4a4a; }
html[data-theme="light"] .pf strong           { color: #1a1a1a; }
html[data-theme="light"] .pf .page-hero       { border-bottom-color: rgba(0,0,0,.08); }
html[data-theme="light"] .pf .meta            { color: #888; }
html[data-theme="light"] .pf .highlight-box   { background: rgba(230,62,0,.05); border-color: rgba(230,62,0,.2); }
html[data-theme="light"] .pf .highlight-box p { color: #4a4a4a; }
html[data-theme="light"] .pf .contact-card    { background: rgba(0,0,0,.03); border-color: rgba(0,0,0,.09); }
html[data-theme="light"] .pf thead th         { background: rgba(0,0,0,.05); color: #1a1a1a; border-bottom-color: rgba(0,0,0,.1); }
html[data-theme="light"] .pf tbody td         { border-bottom-color: rgba(0,0,0,.06); color: #4a4a4a; }

/* ════════════════════════════════════════════════════════════════════
   INDEX.PHP — inline <style> overrides
   ════════════════════════════════════════════════════════════════════ */
html[data-theme="light"] .seo-i-title    { color: #1a1a1a; }
html[data-theme="light"] .seo-i-desc     { color: rgba(0,0,0,.65); }
html[data-theme="light"] .seo-i-btn-s    { border-color: rgba(0,0,0,.2); color: #1a1a1a; }
html[data-theme="light"] .seo-i-btn-s:hover { color: #1a1a1a; }
html[data-theme="light"] .seo-i-wait-txt { color: rgba(0,0,0,.55); }

/* Report disclaimer — inline color:rgba(255,255,255,.45) → override via !important */
html[data-theme="light"] .report-disclaimer { color: rgba(0,0,0,.55) !important; }

/* Map picker modal (stays dark overlay but internal inputs readable) */
html[data-theme="light"] #map-picker-modal input[type="text"],
html[data-theme="light"] #map-picker-modal textarea {
  background: #fff !important;
  color: #1a1a1a !important;
  border-color: #e0e0de !important;
}

/* ── Theme toggle button (sidebar + mobile drawer) ── */
#bit-theme-toggle-btn,
#sb-theme-toggle { color: var(--testo-sbiadito); }

/* ════════════════════════════════════════════════════════════════════
   PRICING PAGE — inline <style> overrides
   ════════════════════════════════════════════════════════════════════ */
html[data-theme="light"] .pricing-card {
  background: #ffffff;
  border-color: #e0e0de;
  box-shadow: 0 2px 8px rgba(0,0,0,.06);
}
html[data-theme="light"] .pricing-card--highlight {
  background: rgba(230,62,0,.04);
  border-color: var(--arancio);
}
html[data-theme="light"] .pricing-plan   { color: #6b6b6b; }
html[data-theme="light"] .pricing-price  { color: #1a1a1a; }
html[data-theme="light"] .pricing-price span { color: #6b6b6b; }
html[data-theme="light"] .pricing-permonth { color: #6b6b6b; }
html[data-theme="light"] .pricing-permonth strong { color: #1a1a1a; }
html[data-theme="light"] .pricing-note   { color: #6b6b6b; }
html[data-theme="light"] .pricing-divider { border-top-color: #e0e0de; }
html[data-theme="light"] .features-title { color: #1a1a1a; }
html[data-theme="light"] .features-grid {
  border-color: #e0e0de;
}
html[data-theme="light"] .features-col:first-child { border-right-color: #e0e0de; }
@media(max-width:560px){
  html[data-theme="light"] .features-col:first-child { border-bottom-color: #e0e0de; }
}
html[data-theme="light"] .feature-item  { color: #3a3a3a; }
html[data-theme="light"] .feature-item i.base { color: #aaa; }
html[data-theme="light"] .pricing-cta {
  background: rgba(0,0,0,.03);
  border-color: #e0e0de;
}
html[data-theme="light"] .pricing-cta h2 { color: #1a1a1a; }
html[data-theme="light"] .pricing-cta p  { color: #555; }
html[data-theme="light"] .pricing-cta a[style*="rgba(255,255,255"] {
  background: rgba(0,0,0,.05) !important;
  border-color: rgba(0,0,0,.15) !important;
  color: #333 !important;
}
html[data-theme="light"] .pricing-soon  { color: var(--arancio-text); }

/* ════════════════════════════════════════════════════════════════════
   BLOG LIST PAGE (blog.php)
   ════════════════════════════════════════════════════════════════════ */

/* Search bar */
html[data-theme="light"] .blog-search-input {
  background: #ffffff;
  border-color: rgba(0,0,0,.18);
  color: #1a1a1a;
}
html[data-theme="light"] .blog-search-input::placeholder { color: #999; }
html[data-theme="light"] .blog-search-input:focus        { border-color: rgba(230,62,0,.5); }
html[data-theme="light"] .blog-search-btn {
  border-color: rgba(0,0,0,.18);
  color: #666;
  background: #ffffff;
}
html[data-theme="light"] .blog-search-btn:hover { color: var(--arancio); background: rgba(230,62,0,.06); }

/* Filter buttons */
html[data-theme="light"] .blog-filter-btn {
  border-color: rgba(0,0,0,.16);
  color: #6b6b6b;
}
html[data-theme="light"] .blog-filter-btn:hover,
html[data-theme="light"] .blog-filter-btn.active {
  border-color: var(--arancio);
  color: var(--arancio);
  background: rgba(230,62,0,.06);
}

/* Cards */
html[data-theme="light"] .blog-card {
  background: #ffffff;
  border-color: #e0e0de;
  box-shadow: 0 1px 4px rgba(0,0,0,.06);
}
html[data-theme="light"] .blog-card:hover { border-color: rgba(230,62,0,.35); }
html[data-theme="light"] .blog-card-cover { background: #e8e8e8; }
html[data-theme="light"] .blog-card-cover-ph {
  background: linear-gradient(135deg, #e8e8e8, #d8d8d8);
}
html[data-theme="light"] .blog-card-title { color: #1a1a1a; }
html[data-theme="light"] .blog-card-desc  { color: #6b6b6b; }
html[data-theme="light"] .blog-card-meta  { border-top-color: rgba(0,0,0,.07); }
html[data-theme="light"] .blog-card-date  { color: #888; }
html[data-theme="light"] .blog-cat-badge  { color: #1a1a1a !important; }

/* Tags (blog list) */
html[data-theme="light"] .blog-tag {
  color: #6b6b6b;
  background: rgba(0,0,0,.04);
}
html[data-theme="light"] .blog-tag:hover { color: var(--arancio); background: rgba(230,62,0,.06); }

/* Pagination */
html[data-theme="light"] .blog-page-btn {
  border-color: rgba(0,0,0,.15);
  color: #6b6b6b;
}
html[data-theme="light"] .blog-page-btn:hover,
html[data-theme="light"] .blog-page-btn.active {
  border-color: var(--arancio);
  color: var(--arancio);
  background: rgba(230,62,0,.06);
}

/* Empty state */
html[data-theme="light"] .blog-empty { color: #888; }

/* ════════════════════════════════════════════════════════════════════
   BLOG POST PAGE (blog-post.php)
   ════════════════════════════════════════════════════════════════════ */

/* Back link + category badge */
html[data-theme="light"] .bp-back       { color: #888; }
html[data-theme="light"] .bp-back:hover { color: var(--arancio); }
html[data-theme="light"] .bp-cat        { color: #1a1a1a !important; }

/* Title + meta */
html[data-theme="light"] .bp-title      { color: #1a1a1a; }
html[data-theme="light"] .bp-meta       { color: #6b6b6b; }
html[data-theme="light"] .bp-meta strong { color: #6b6b6b !important; }

/* Share button */
html[data-theme="light"] .bp-share-btn {
  background: rgba(0,0,0,.05);
  border-color: rgba(0,0,0,.16);
  color: #555;
}
html[data-theme="light"] .bp-share-btn:hover {
  background: rgba(230,62,0,.1);
  border-color: var(--arancio);
  color: var(--arancio);
}

/* Body content */
html[data-theme="light"] .bp-body        { color: #3a3a3a; }
html[data-theme="light"] .bp-body h2     { color: #1a1a1a; border-top-color: rgba(0,0,0,.08); }
html[data-theme="light"] .bp-body h3     { color: #2a2a2a; }
html[data-theme="light"] .bp-body strong { color: #1a1a1a; }
html[data-theme="light"] .bp-body em     { color: #4a4a4a; }
html[data-theme="light"] .bp-body blockquote { color: #555; background: rgba(230,62,0,.04); }
html[data-theme="light"] .bp-body hr     { border-top-color: rgba(0,0,0,.08); }

/* Tags (blog post) */
html[data-theme="light"] .bp-tags        { border-top-color: rgba(0,0,0,.08); }
html[data-theme="light"] .bp-tag {
  color: #6b6b6b;
  background: rgba(0,0,0,.04);
  border-color: rgba(0,0,0,.1);
}
html[data-theme="light"] .bp-tag:hover {
  color: var(--arancio);
  border-color: rgba(230,62,0,.4);
  background: rgba(230,62,0,.06);
}

/* CTA box */
html[data-theme="light"] .bp-cta         { background: rgba(230,62,0,.05); border-color: rgba(230,62,0,.18); }
html[data-theme="light"] .bp-cta h3      { color: #1a1a1a; }
html[data-theme="light"] .bp-cta p       { color: #555; }

/* Related articles */
html[data-theme="light"] .bp-correlati   { border-top-color: rgba(0,0,0,.08); }
html[data-theme="light"] .bp-correlati h2 { color: #1a1a1a; }
html[data-theme="light"] .bp-corr-card {
  background: #ffffff;
  border-color: #e0e0de;
}
html[data-theme="light"] .bp-corr-card:hover { border-color: rgba(230,62,0,.35); }
html[data-theme="light"] .bp-corr-cover  { background: #e8e8e8; }
html[data-theme="light"] .bp-corr-title  { color: #1a1a1a; }
html[data-theme="light"] .bp-corr-date   { color: #888; }

/* Shows section (profilo blog posts) */
html[data-theme="light"] .bp-shows       { border-top-color: rgba(0,0,0,.08); }
html[data-theme="light"] .bp-shows h3    { color: #888; }
html[data-theme="light"] .bp-show-row    { background: rgba(0,0,0,.03); }
html[data-theme="light"] .bp-show-date   { color: #555; }
html[data-theme="light"] .bp-show-info   { color: #1a1a1a; }
html[data-theme="light"] .bp-show-info strong { color: #1a1a1a; }

/* ════════════════════════════════════════════════════════════════════
   SOCIAL ICONS — icone bianche su sfondo chiaro
   X, TikTok, TIDAL: simpleicons.org con /ffffff → invert a nero
   Footer FA icon X: color:#fff inline → override con !important
   ════════════════════════════════════════════════════════════════════ */
html[data-theme="light"] img[src*="simpleicons.org"][src*="ffffff"] {
  filter: invert(1);
}
html[data-theme="light"] .ef-social-btn .fa-x-twitter { color: #1a1a1a !important; }

/* ════════════════════════════════════════════════════════════════════
   LAYOUT.PHP — page-hero meta + nav drawer hardcoded
   ════════════════════════════════════════════════════════════════════ */

/* .meta subtitle in page-hero (blog, howitworks, etc.) */
html[data-theme="light"] .page-hero .meta { color: #6b6b6b; }

/* Nav drawer mobile — hardcoded border in media query */
@media(max-width:767px){
  html[data-theme="light"] #bit-nav-drawer { border-bottom-color: #e0e0de; }
}

/* ════════════════════════════════════════════════════════════════════
   LANDING PAGE (landing.php) — light mode
   La landing ha un proprio :root inline (--sfondo/--superficie/--testo/
   --muto/--bordo/--oro/--arancio) e USA molti colori bianchi hardcoded
   (#fff, rgba(255,255,255,..), rgba(240,240,240,..)). Le var() le
   ridefinisco qui (specificità html[data-theme] 0,1,1 batte :root 0,1,0);
   gli hardcoded li ricoloro per selettore di sezione (#s1..#s12) per non
   toccare classi generiche omonime usate altrove (.title,.sub,.card,..).
   Accent --arancio resta nell'arancio del tema (#E63E00, ~3.9:1 su bianco,
   usato solo per titoli/decorativi non body); testo corpo va a #1a1a1a/#555.
   ════════════════════════════════════════════════════════════════════ */

/* ── Variabili scoped della landing (nomi diversi dal resto del sito).
   Solo landing.php usa <section>, quindi questo selettore è di fatto
   limitato alla landing. ── */
html[data-theme="light"] section {
  --sfondo:      #ffffff;
  --superficie:  #ffffff;
  --superficie2: #f4f4f3;
  --testo:       #1a1a1a;
  --muto:        #6b6b6b;
  --bordo:       #e2e2e0;
  --arancio:     #E63E00;
  --arancio-d:   #b83200;
  --oro:         #8a6400;
}

/* Sfondo base sezioni + body landing */
html[data-theme="light"] section { background: #ffffff; color: #1a1a1a; }

/* ── Glow arancio/rosso (blur radiali): troppo forti su bianco → smorza ── */
html[data-theme="light"] .glow-bl { background: rgba(230,62,0,.08); }
html[data-theme="light"] .glow-tr { background: rgba(200,40,0,.06); }

/* ── Tipografia condivisa ── */
html[data-theme="light"] .bigtitle      { color: #1a1a1a; }
html[data-theme="light"] .body-text     { color: #555; }

/* ── S1 HERO ── */
html[data-theme="light"] #s1 .bg { opacity: .12; }
html[data-theme="light"] #s1 .bg::after {
  background: linear-gradient(to right,rgba(255,255,255,1) 0%,rgba(255,255,255,.7) 55%,rgba(255,255,255,.25) 100%);
}
html[data-theme="light"] #s1 .wave-bg { opacity: .12; }
html[data-theme="light"] #s1 .logo { filter: drop-shadow(0 0 20px rgba(230,62,0,.35)); }
html[data-theme="light"] #s1 .pill {
  background: rgba(230,62,0,.08);
  border-color: rgba(230,62,0,.4);
  color: var(--arancio);
}
html[data-theme="light"] #s1 .title {
  color: #1a1a1a;
  text-shadow: 0 0 40px rgba(230,62,0,.15);
}
html[data-theme="light"] #s1 .sub { color: #555; }
/* btn-p ha color:#000 su sfondo arancio: già leggibile, lascio */
html[data-theme="light"] #s1 .btn-s {
  border-color: rgba(0,0,0,.28);
  color: #1a1a1a;
}

/* ── S2 PROBLEM ── */
html[data-theme="light"] #s2 .card {
  background: #ffffff;
  border-color: #e2e2e0;
  box-shadow: 0 2px 10px rgba(0,0,0,.05);
}
html[data-theme="light"] #s2 .card-text { color: #555; }
html[data-theme="light"] #s2 .bottom-box {
  background: rgba(230,62,0,.06);
  border-color: rgba(230,62,0,.3);
  color: #1a1a1a;
}

/* ── S3 PLATFORM ── */
html[data-theme="light"] #s3 .stat-num { color: #1a1a1a; }
html[data-theme="light"] #s3 .visual {
  background: #fafafa;
  border-color: #e2e2e0;
}
html[data-theme="light"] #s3 .node {
  background: #ffffff;
  box-shadow: 0 0 16px rgba(0,0,0,.1);
}
/* center: radial scuro → chiaro, alone arancio attenuato */
html[data-theme="light"] #s3 .center {
  background: radial-gradient(circle at 30% 30%,#ffffff 0%,#f0f0ee 100%);
  box-shadow: 0 0 30px rgba(230,62,0,.3),inset 0 0 20px rgba(230,62,0,.08);
}
html[data-theme="light"] #s3 .vis-cap { color: #6b6b6b; }
/* "priority visibility" inline color:#fff */
html[data-theme="light"] #s3 .body-text b[style*="#fff"] { color: #1a1a1a !important; }

/* ── S4 MAP ── (la mappa resta scura: tile dark_all CartoCDN) ── */
html[data-theme="light"] #s4 .feat-text   { color: #555; }
html[data-theme="light"] #s4 .feat-text b { color: #1a1a1a; }
html[data-theme="light"] #s4 .right {
  border-color: #e2e2e0;
  box-shadow: 0 12px 40px rgba(0,0,0,.12);
}
/* chip/legend sovrapposti alla mappa scura: restano scuri (leggibili su tile dark) */

/* ── S5 ROLES ── */
html[data-theme="light"] #s5 .role {
  background: #ffffff;
  border-color: #e2e2e0;
  box-shadow: 0 2px 10px rgba(0,0,0,.05);
}
/* gradient overlay immagine: sfumava verso --superficie (era scuro) → bianco via var ok,
   ma fissato a rgba(8,8,8) hardcoded nel ::after start → ribilancio */
html[data-theme="light"] #s5 .role-img::after {
  background: linear-gradient(to bottom,rgba(255,255,255,0) 0%,#ffffff 100%);
}
html[data-theme="light"] #s5 .role-name { color: #1a1a1a; }
html[data-theme="light"] #s5 .role-desc { color: #555; }
html[data-theme="light"] #s5 .role-feat { color: #333; }
html[data-theme="light"] #s5 .matched {
  background: rgba(230,62,0,.05);
  border-color: rgba(230,62,0,.25);
  color: #1a1a1a;
}

/* ── S6 EVENT TYPES ── (card con foto + overlay scuro dal basso: il testo
   bianco resta su gradient scuro → leggibile, NON tocco overlay/testo) ── */

/* ── S7 CREATE EVENT ── */
html[data-theme="light"] #s7 .mock-label { color: #6b6b6b; }
html[data-theme="light"] #s7 .step-mock {
  background: #fafafa;
  border-color: #e2e2e0;
}
html[data-theme="light"] #s7 .mock-input {
  background: #ffffff;
  border-color: #e2e2e0;
  color: #1a1a1a;
}
html[data-theme="light"] #s7 .mock-input.act {
  border-color: var(--arancio);
  background: rgba(230,62,0,.06);
  color: var(--arancio);
}
html[data-theme="light"] #s7 .ev-type {
  border-color: #e2e2e0;
  color: #6b6b6b;
}
/* ev-type.sel ha color:#000 su arancio: ok */
html[data-theme="light"] #s7 .step-title { color: #1a1a1a; }
html[data-theme="light"] #s7 .step-text  { color: #555; }
html[data-theme="light"] #s7 .review-text { color: #1a1a1a; }
/* inline ".registered" muto e tag con color:#000 su arancio/oro: ok */
html[data-theme="light"] #s7 .mock-input span[style*="var(--muto)"] { color: #6b6b6b !important; }

/* ── S8 SEARCH ── */
html[data-theme="light"] #s8 .feat-body   { color: #555; }
html[data-theme="light"] #s8 .feat-body b { color: #1a1a1a; }
html[data-theme="light"] #s8 .right {
  background: #ffffff;
  border-color: #e2e2e0;
  box-shadow: 0 2px 12px rgba(0,0,0,.06);
}
html[data-theme="light"] #s8 .search-bar {
  background: #fafafa;
  border-color: var(--arancio);
  color: var(--arancio);
}
html[data-theme="light"] #s8 .filter {
  border-color: #e2e2e0;
  color: #6b6b6b;
}
html[data-theme="light"] #s8 .result {
  background: #fafafa;
  border-color: #e2e2e0;
}
html[data-theme="light"] #s8 .res-sub { color: #6b6b6b; }

/* ── S9 MEMBERSHIP ── */
html[data-theme="light"] #s9 .plan {
  background: #ffffff;
  border-color: #e2e2e0;
  box-shadow: 0 2px 12px rgba(0,0,0,.05);
}
html[data-theme="light"] #s9 .plan.registrato {
  border-color: rgba(230,62,0,.4);
  background: linear-gradient(180deg,rgba(230,62,0,.04),#ffffff);
}
html[data-theme="light"] #s9 .plan.member {
  border-color: var(--oro);
  background: linear-gradient(180deg,rgba(138,100,0,.05),#ffffff);
}
html[data-theme="light"] #s9 .plan-tag.free {
  background: rgba(0,0,0,.06);
  color: #1a1a1a;
}
/* tag.reg (su arancio) e tag.pro (su oro): color:#000 leggibile, ok */
html[data-theme="light"] #s9 .plan-name { color: #1a1a1a; }
html[data-theme="light"] #s9 .plan-sub  { color: #6b6b6b; }
html[data-theme="light"] #s9 .plan-feat { color: #333; }
/* checkmark base ::before background:#888 con color:#000 → ok su entrambi */
html[data-theme="light"] #s9 .billing-pill {
  border-color: rgba(138,100,0,.4);
  color: var(--oro);
}
html[data-theme="light"] #s9 .stripe-note { color: #6b6b6b; }
html[data-theme="light"] #s9 .stripe-note b[style*="#fff"] { color: #1a1a1a !important; }

/* ── S11 MANIFESTO ── (globe Three.js resta scuro: è un canvas WebGL;
   sfondo sezione diventa chiaro, il globo galleggia. Rendo i fade chiari
   e il testo scuro) ── */
html[data-theme="light"] #s11 .bg { background: #ffffff; }
html[data-theme="light"] #s11 .bg::after {
  background: radial-gradient(ellipse at 65% 50%,rgba(255,255,255,.4) 0%,rgba(255,255,255,.92) 70%);
}
html[data-theme="light"] #s11 .globe-fade {
  background: linear-gradient(to right,#ffffff 0%,#ffffff 25%,rgba(255,255,255,0) 100%);
}
html[data-theme="light"] #s11 .left .quote { color: rgba(230,62,0,.4); }
html[data-theme="light"] #s11 .left .stmt  { color: #1a1a1a; }
html[data-theme="light"] #s11 .pt {
  background: rgba(0,0,0,.03);
  border-left-color: var(--arancio);
}
html[data-theme="light"] #s11 .pt-text   { color: #444; }
html[data-theme="light"] #s11 .pt-text b  { color: var(--arancio); }
@media(max-width:767px){
  html[data-theme="light"] #s11 .pt { background: rgba(0,0,0,.05); }
}

/* ── S12 CTA ── */
html[data-theme="light"] #s12 .bg { opacity: .1; }
html[data-theme="light"] #s12 .bg::after {
  background: radial-gradient(ellipse at center,rgba(255,255,255,.5) 0%,rgba(255,255,255,.94) 70%);
}
html[data-theme="light"] #s12 .wave-bg { opacity: .14; }
html[data-theme="light"] #s12 .logo { filter: drop-shadow(0 0 20px rgba(230,62,0,.35)); }
html[data-theme="light"] #s12 .title {
  color: #1a1a1a;
  text-shadow: 0 0 40px rgba(230,62,0,.15);
}
html[data-theme="light"] #s12 .sub { color: #555; }
/* btn-p su arancio color:#000 ok */
html[data-theme="light"] #s12 .btn-s {
  border-color: rgba(0,0,0,.28);
  color: #1a1a1a;
}

/* ── Header sticky landing (inline <style>: #141414) ── */
html[data-theme="light"] .bit-landing-header {
  background: #ffffff;
  border-bottom-color: var(--arancio);
  box-shadow: 0 2px 16px rgba(230,62,0,.12);
}
/* .bit-open-app-btn resta arancio con testo bianco: leggibile, ok */

/* ── Accessibilità: focus visibile da tastiera ───────────────────── */
:focus-visible {
  outline: 2px solid var(--arancio);
  outline-offset: 2px;
}
:focus:not(:focus-visible) {
  outline: none;
}

/* ── Accessibilità: riduzione movimento ──────────────────────────── */
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: .01ms !important;
    scroll-behavior: auto !important;
  }
  /* Indicatori informativi — esenti: segnalano eventi in corso, non decorativi */
  .rec-dot, .badge-on-air {
    animation-duration: 1.2s !important;
    animation-iteration-count: infinite !important;
  }
}
