/**
 * PROVA TEMA BIANCO/NERO — TantoSoli
 * Per tornare al viola: rimuovi il <link> a questo file dalle pagine HTML/PHP.
 *
 * Palette: nero carbone (#1a1a1a) + grigi neutri, niente viola.
 */

/* ── Token globali (site + bootstrap) ─────────────────────────────────── */
:root {
  --site-bg: #f5f5f5;
  --site-panel: rgba(255, 255, 255, 0.88);
  --site-panel-border: rgba(0, 0, 0, 0.1);
  --site-primary: #1a1a1a;
  --site-primary-strong: #141414;
  --site-secondary: #525252;
  --site-gradient: linear-gradient(135deg, #2a2a2a 0%, #1a1a1a 55%, #3a3a3a 100%);

  --bs-primary: #1a1a1a;
  --bs-primary-rgb: 26, 26, 26;
  --bs-link-color: #2e2e2e;
  --bs-link-hover-color: #141414;
  --bs-focus-ring-color: rgba(26, 26, 26, 0.22);

  /* calendar.css — primo blocco :root */
  --today-border-light: #1a1a1a;
  --link-color-light: #2e2e2e;
  --today-border-dark: #d4d4d4;
  --link-color-dark: #e5e5e5;

  /* calendar.css — pastel refresh */
  --body-bg-light: #f5f5f5;
  --body-color-light: #1a1a1a;
  --card-border-light: rgba(0, 0, 0, 0.1);
  --body-bg-dark: #f0f0f0;
  --card-border-dark: rgba(0, 0, 0, 0.12);

  /* suggest.css */
  --bg: #f4f4f4;
  --panel-border: rgba(0, 0, 0, 0.1);
  --primary: #1a1a1a;

  /* hero title — viola melanzana anche nel tema B/N */
  --site-hero-title: #601b6f;

  /* info.html inline */
  --secondary: #6b7280;
}

/* ── Bootstrap buttons ──────────────────────────────────────────────────── */
.btn-primary {
  --bs-btn-hover-bg: #2e2e2e;
  --bs-btn-hover-border-color: #2e2e2e;
  --bs-btn-active-bg: #141414;
  --bs-btn-active-border-color: #141414;
}

.btn-outline-primary {
  --bs-btn-border-color: rgba(26, 26, 26, 0.35);
  --bs-btn-active-bg: #2e2e2e;
  --bs-btn-active-border-color: #2e2e2e;
}

/* ── Site shell ─────────────────────────────────────────────────────────── */
body.site-shell {
  background:
    radial-gradient(900px 420px at 10% -10%, rgba(0, 0, 0, 0.04), transparent 60%),
    radial-gradient(900px 420px at 95% 0, rgba(0, 0, 0, 0.03), transparent 60%),
    var(--site-bg);
}

.site-navbar {
  border-color: rgba(0, 0, 0, 0.1) !important;
  box-shadow: 0 10px 32px rgba(0, 0, 0, 0.06) !important;
}

.site-navbar .brand-mark {
  box-shadow: 0 6px 16px rgba(96, 27, 111, 0.28) !important;
  background: var(--site-hero-title, #601b6f) !important;
}

.site-navbar .nav-link:hover,
.site-navbar .nav-link:focus {
  background: rgba(0, 0, 0, 0.06) !important;
  color: #1a1a1a !important;
}

.site-navbar .nav-link.active {
  background: var(--site-primary-strong) !important;
  color: #fff !important;
  box-shadow: 0 4px 14px rgba(0, 0, 0, 0.2) !important;
}

.site-navbar .nav-link.active:hover,
.site-navbar .nav-link.active:focus {
  background: #2e2e2e !important;
  color: #fff !important;
}

.site-navbar .nav-link--cta.active {
  background: var(--site-primary-strong) !important;
  border-color: transparent !important;
  color: #fff !important;
}

.site-navbar .nav-link--cta.active:hover,
.site-navbar .nav-link--cta.active:focus {
  background: #2e2e2e !important;
  border-color: transparent !important;
  color: #fff !important;
}

.site-navbar .nav-link--cta {
  background: rgba(0, 0, 0, 0.04) !important;
  border-color: rgba(0, 0, 0, 0.14) !important;
}

.site-navbar .nav-link--cta:hover,
.site-navbar .nav-link--cta:focus {
  background: rgba(0, 0, 0, 0.08) !important;
  border-color: rgba(0, 0, 0, 0.22) !important;
}

.site-navbar .nav-link--install {
  border-color: rgba(0, 0, 0, 0.22) !important;
}

@media (max-width: 991.98px) {
  .site-navbar .navbar-collapse {
    border-top-color: rgba(0, 0, 0, 0.08) !important;
  }
}

body.dark-theme .site-navbar {
  border-color: rgba(255, 255, 255, 0.12) !important;
}

body.dark-theme .site-navbar .nav-link:hover,
body.dark-theme .site-navbar .nav-link:focus {
  background: rgba(255, 255, 255, 0.1) !important;
}

body.dark-theme .site-navbar .nav-link--cta {
  background: rgba(255, 255, 255, 0.06) !important;
  border-color: rgba(255, 255, 255, 0.16) !important;
}

body.dark-theme .site-navbar .nav-link--install {
  border-color: rgba(255, 255, 255, 0.28) !important;
}

/* ── Page hero ────────────────────────────────────────────────────────── */
.page-hero {
  box-shadow: 0 16px 36px rgba(0, 0, 0, 0.06) !important;
}

.page-hero::before {
  background: radial-gradient(circle, rgba(0, 0, 0, 0.05), transparent 70%) !important;
}

.page-hero::after {
  background: radial-gradient(circle, rgba(0, 0, 0, 0.04), transparent 70%) !important;
}

.page-hero-badge {
  border-color: rgba(0, 0, 0, 0.14) !important;
  background: rgba(0, 0, 0, 0.06) !important;
  color: #1a1a1a !important;
}

.page-hero-badge i {
  color: #1a1a1a !important;
}

.page-hero h1,
.page-hero-title {
  font-weight: 700 !important;
  color: var(--site-hero-title, #601b6f) !important;
}

body.light-theme.site-shell .page-hero h1,
body.light-theme.site-shell .page-hero-title {
  color: var(--site-hero-title, #601b6f) !important;
}

.page-hero-pills .pill {
  border-color: rgba(0, 0, 0, 0.1) !important;
}

.page-hero-cta {
  --bs-btn-bg: var(--site-hero-title, #601b6f) !important;
  --bs-btn-border-color: var(--site-hero-title, #601b6f) !important;
  --bs-btn-hover-bg: #501566 !important;
  --bs-btn-hover-border-color: #501566 !important;
  background: var(--site-hero-title, #601b6f) !important;
  border-color: var(--site-hero-title, #601b6f) !important;
  color: #fff !important;
}

.page-hero-cta:hover,
.page-hero-cta:focus {
  background: #501566 !important;
  border-color: #501566 !important;
  color: #fff !important;
}

body.dark-theme .page-hero {
  border-color: rgba(255, 255, 255, 0.12) !important;
}

body.dark-theme .page-hero-badge {
  color: #e5e5e5 !important;
  border-color: rgba(255, 255, 255, 0.18) !important;
  background: rgba(255, 255, 255, 0.08) !important;
}

body.dark-theme .page-hero-badge i {
  color: #d4d4d4 !important;
}

body.dark-theme .page-hero h1,
body.dark-theme .page-hero-title {
  color: var(--site-hero-title, #d4a0dc) !important;
}

body.dark-theme .page-hero-pills .pill {
  border-color: rgba(255, 255, 255, 0.16) !important;
}

/* ── Calendar — card e eventi ───────────────────────────────────────────── */
.calendar-card {
  border-color: rgba(0, 0, 0, 0.1) !important;
  box-shadow: 0 12px 24px rgba(0, 0, 0, 0.06) !important;
}

.event-button {
  background: #f0f0f0 !important;
  border-color: rgba(0, 0, 0, 0.1) !important;
}

.event-chip,
.dark-theme .event-chip,
.light-theme .event-chip {
  background: #e8e8e8 !important;
  border-color: #d4d4d4 !important;
  color: #2e2e2e !important;
}

.filter-chip {
  background: #f0f0f0 !important;
  border-color: #d4d4d4 !important;
}

.filter-chip.active {
  border-color: #1a1a1a !important;
  color: #1a1a1a !important;
  background: #e5e5e5 !important;
}

.featured-card {
  box-shadow: 0 10px 24px rgba(0, 0, 0, 0.08) !important;
}

.calendar-range-pill {
  border-color: #d4d4d4 !important;
  background: #ececec !important;
}

body.dark-theme .info-card,
body.light-theme .info-card {
  background: #f5f5f5 !important;
  border-color: #d4d4d4 !important;
}

body.dark-theme .btn-outline-light,
body.light-theme .btn-outline-light {
  border-color: #c4c4c4 !important;
  background: #f0f0f0 !important;
}

body.dark-theme .btn-outline-light:hover,
body.light-theme .btn-outline-light:hover {
  background: #e5e5e5 !important;
}

.calendar-toolbar {
  border-color: rgba(0, 0, 0, 0.1) !important;
}

.calendar-search-wrap .input-group-text {
  background: #ececec !important;
  border-color: #d4d4d4 !important;
  color: #2e2e2e !important;
}

.calendar-search-wrap .form-control {
  border-color: #d4d4d4 !important;
}

.calendar-empty-state {
  background: #f0f0f0 !important;
  border-color: #d4d4d4 !important;
}

.calendar-empty-state-btn {
  --bs-btn-bg: var(--site-hero-title, #601b6f) !important;
  --bs-btn-border-color: var(--site-hero-title, #601b6f) !important;
  background: var(--site-hero-title, #601b6f) !important;
  border-color: var(--site-hero-title, #601b6f) !important;
  color: #fff !important;
}

.suggest-fab {
  background: var(--site-hero-title, #601b6f) !important;
  color: #fff !important;
  box-shadow: 0 10px 28px rgba(96, 27, 111, 0.34) !important;
}

.suggest-fab:hover,
.suggest-fab:focus {
  background: #501566 !important;
  color: #fff !important;
}

/* Share / link buttons */
.share-link-btn,
.light-theme .share-link-btn {
  background-color: #ececec !important;
  color: #2e2e2e !important;
  border-color: rgba(0, 0, 0, 0.14) !important;
}

.dark-theme .share-link-btn {
  color: #e5e5e5 !important;
  border-color: rgba(255, 255, 255, 0.2) !important;
  background: rgba(255, 255, 255, 0.08) !important;
}

/* Badge preferiti */
.badge-fav,
.light-theme .badge-fav {
  background: #1a1a1a !important;
}

/* Progress bar */
.progress > span {
  background: linear-gradient(90deg, #525252, #1a1a1a) !important;
}

/* View toggle */
.view-toggle .btn.is-active {
  background: #1a1a1a !important;
  border-color: #1a1a1a !important;
}

/* Poster fallback (era viola) */
.poster-fallback {
  color: #1a1a1a !important;
  background: linear-gradient(135deg, #e5e5e5, #d4d4d4) !important;
}

/* Agenda */
.agenda-day {
  border-color: rgba(0, 0, 0, 0.1) !important;
}

.agenda-day.is-today,
.agenda-row.is-today {
  border-color: #1a1a1a !important;
  box-shadow: 0 0 0 2px rgba(26, 26, 26, 0.12) !important;
}

.agenda-event-card {
  border-color: rgba(0, 0, 0, 0.08) !important;
  background: #f5f5f5 !important;
}

.agenda-row {
  border-color: rgba(0, 0, 0, 0.1) !important;
}

/* Featured / hero gradienti */
.day-event-poster {
  background: linear-gradient(135deg, #3a3a3a 0%, #1a1a1a 100%) !important;
}

.event-sheet-hero {
  background: linear-gradient(135deg, rgba(0, 0, 0, 0.08), rgba(0, 0, 0, 0.04)) !important;
  border-color: rgba(0, 0, 0, 0.12) !important;
}

body.dark-theme .event-sheet-hero {
  border-color: rgba(255, 255, 255, 0.14) !important;
}

/* Oggi / navigazione settimana */
.day-column.is-today .day-card {
  border-color: rgba(26, 26, 26, 0.4) !important;
  box-shadow: 0 8px 28px rgba(0, 0, 0, 0.08) !important;
}

.week-nav {
  border-color: rgba(0, 0, 0, 0.1) !important;
  box-shadow: 0 6px 18px rgba(0, 0, 0, 0.04) !important;
}

.day-header {
  border-bottom-color: rgba(0, 0, 0, 0.08) !important;
}

.day-today-badge {
  background: rgba(0, 0, 0, 0.06) !important;
  border-color: rgba(0, 0, 0, 0.14) !important;
  color: #2e2e2e !important;
}

body.dark-theme .day-today-badge {
  background: rgba(255, 255, 255, 0.08) !important;
  border-color: rgba(255, 255, 255, 0.18) !important;
  color: #e5e5e5 !important;
}

/* Calendar card focus/hover con viola */
.calendar-card:focus-within,
.calendar-card:hover {
  border-color: rgba(0, 0, 0, 0.2) !important;
  box-shadow: 0 8px 28px rgba(0, 0, 0, 0.08) !important;
}

body.dark-theme .event-sheet-section,
body.dark-theme .event-sheet-side {
  border-color: rgba(255, 255, 255, 0.12) !important;
}

/* ── Suggest page ───────────────────────────────────────────────────────── */
.form-control,
.form-select,
.input-group-text {
  border-color: rgba(0, 0, 0, 0.14) !important;
}

.form-control:focus,
.form-select:focus {
  box-shadow: 0 0 0 0.2rem rgba(26, 26, 26, 0.12) !important;
}

.card-shell {
  box-shadow: 0 16px 30px rgba(0, 0, 0, 0.06) !important;
}

.suggest-wrap .btn-primary {
  background: linear-gradient(90deg, #2a2a2a, #1a1a1a) !important;
}

.suggest-wrap .btn-outline-light {
  border-color: rgba(0, 0, 0, 0.2) !important;
}

.suggest-wrap .btn-outline-light:hover,
.suggest-wrap .btn-outline-light:focus {
  border-color: rgba(0, 0, 0, 0.35) !important;
  background: rgba(0, 0, 0, 0.05) !important;
}

.suggest-wrap .btn-outline-light:disabled {
  border-color: rgba(0, 0, 0, 0.1) !important;
}

.wizard-step {
  border-color: rgba(0, 0, 0, 0.18) !important;
}

.wizard-step.is-active {
  background: #1a1a1a !important;
  border-color: #1a1a1a !important;
}

.import-shell {
  border-color: rgba(0, 0, 0, 0.2) !important;
  background: rgba(0, 0, 0, 0.02) !important;
}

.import-status.is-loading {
  border-color: rgba(0, 0, 0, 0.16) !important;
  background: rgba(0, 0, 0, 0.04) !important;
}

.import-source-pill.is-ai {
  background: rgba(0, 0, 0, 0.06) !important;
  color: #2e2e2e !important;
  border-color: rgba(0, 0, 0, 0.14) !important;
}

.form-control.is-verify {
  border-color: rgba(0, 0, 0, 0.2) !important;
  background: rgba(0, 0, 0, 0.02) !important;
}

.submit-success-card {
  border-color: rgba(0, 0, 0, 0.12) !important;
}

/* ── Info page (override inline hardcoded) ──────────────────────────────── */
.btn-primary-custom {
  background: linear-gradient(90deg, #2a2a2a, #1a1a1a) !important;
}

.btn-outline-custom {
  border-color: rgba(0, 0, 0, 0.2) !important;
}

.btn-outline-custom:hover {
  background: rgba(0, 0, 0, 0.05) !important;
  border-color: rgba(0, 0, 0, 0.3) !important;
}

.hero-card {
  box-shadow: 0 16px 30px rgba(0, 0, 0, 0.06) !important;
}

.pill {
  border-color: rgba(0, 0, 0, 0.12) !important;
}

.feature i {
  color: #1a1a1a !important;
}

.quick-card {
  border-color: rgba(0, 0, 0, 0.1) !important;
}
