/* =====================================================================
   SITE PREMIUM — Tema scuro premium per TUTTO il sito
   Caricato da ogni pagina DOPO style.css (e dopo gli <style> interni,
   essendo iniettato prima di </head>): sovrascrive sia style.css sia
   le classi dei template interni. Palette nero/ottone, tipografia
   Cormorant Garamond + Manrope. La homepage usa home-premium.css.
   ===================================================================== */

:root {
  --sp-accent:#c9a24b;
  --sp-accent-soft:#d8b76a;
  --sp-ink:#14130f;
  --sp-bg:#100f0d;       /* canvas */
  --sp-bg2:#0b0a09;      /* sezioni alternate */
  --sp-panel:#15130f;    /* card / pannelli */
  --sp-panel2:#1a1712;   /* card hover */
  --sp-text:#d8d1c6;     /* testo corpo */
  --sp-text2:#cfc8bd;
  --sp-strong:#fbf8f2;   /* titoli */
  --sp-muted:#a8a097;    /* testo secondario */
  --sp-muted2:#7d766c;
  --sp-line:rgba(255,255,255,0.08);
  --sp-line2:rgba(255,255,255,0.12);
  --sp-serif:'Cormorant Garamond', Georgia, 'Times New Roman', serif;
  --sp-sans:'Manrope', system-ui, -apple-system, 'Segoe UI', sans-serif;
}

/* ============================ BASE ============================ */
html { background:var(--sp-bg); }
body {
  background:var(--sp-bg) !important;
  color:var(--sp-text);
  font-family:var(--sp-sans);
  -webkit-font-smoothing:antialiased;
}
body h1, body h2, body h3, body h4, body h5, body h6 { color:var(--sp-strong); }
h1, h2,
.section-header h2,
.hero h1, .hero-text h1,
.error-text h2, .about h2, .story-text h2, .mission-text h2,
.leadership-text h2, .legal-section h2, .cta-section h3, .coming-soon-content h2 {
  font-family:var(--sp-serif);
  font-weight:600;
  letter-spacing:-0.01em;
}
body p, body li, body td, body th, body label, body dd, body dt,
body .lead, body .legal-section p, body .legal-section li {
  color:var(--sp-text);
}
body small, .text-muted, .muted, body figcaption { color:var(--sp-muted); }
hr { border-color:var(--sp-line); }
::selection { background:rgba(201,162,75,0.30); color:#fff; }
/* colore link di fallback (i link non stilizzati erano blu di default);
   nav/footer/bottoni hanno regole più specifiche che vincono su questa */
body a { color:var(--sp-accent); }
body a.btn, body .btn { color:inherit; }

/* ====================== SEZIONI (chiaro -> scuro) ====================== */
.services, .about, .partnerships, .partnership-card, .projects-section,
.project-gallery, .company-story, .company-info, .cta-section, .map-section,
.video-gallery-section, .video-categories, .blog-preview, .legal-document,
.legal-content, .team-structure, .map-loading, .feature, .feature-item,
.purpose-item, .right-item, .value-item, .stat-item, .timeline-item,
.client-category, .team-department, .contact-method, .heritage-icon,
.suggestion-item, .product-image {
  background:var(--sp-bg2) !important;
  color:var(--sp-text);
}
/* sezioni che devono restare sul canvas base */
.about, .company-story, .video-gallery-section, .legal-document {
  background:var(--sp-bg) !important;
}

/* ============================ CARD ============================ */
.service-card, .product-card, .blog-post-card, .project-card, .feature-item,
.value-item, .purpose-item, .right-item, .stat-item, .timeline-item,
.timeline-content, .partnership-logo, .partnership-card, .client-category,
.team-department, .contact-method, .contact-form, .modal-content,
.video-modal-content, .cookie-modal-content, .suggestion-item, .heritage-icon,
.map-popup, .video-card, .video-item, .service-item, .stat-item {
  background:var(--sp-panel) !important;
  border:1px solid var(--sp-line) !important;
  color:var(--sp-text);
  box-shadow:none !important;
}
.service-card:hover, .product-card:hover, .blog-post-card:hover,
.project-card:hover, .feature-item:hover, .value-item:hover,
.right-item:hover, .video-card:hover, .video-item:hover,
.suggestion-item:hover {
  background:var(--sp-panel2) !important;
  border-color:rgba(201,162,75,0.4) !important;
  box-shadow:none !important;
}
/* immagini prodotto: fondo neutro chiaro per non sporcare le foto su trasparenza */
.product-image { background:#f4f0e8 !important; }

/* ====================== TITOLI (scuri/blu -> chiari) ====================== */
.about h2, .story-text h2, .mission-text h2, .leadership-text h2,
.legal-section h2, .legal-section h4, .section-header h2,
.service-card h3, .service-item h4, .feature-item h3, .value-item h4,
.purpose-item h4, .right-item h4, .heritage-icon h4, .client-category h3,
.team-department h3, .timeline-content h4, .contact-item h4,
.contact-method strong, .partnership-card .partnership-content h4,
.partnership-logo h3, .product-info h3, .product-title, .project-info h3,
.project-details h3, .project-specs h4, .project-description,
.blog-post-card .blog-post-title, .blog-post-card .blog-post-excerpt,
.cta-section h3, .error-text h2, .error-suggestions h3, .suggestion-item h4,
.cookie-category h4, .cookie-type h4, .cookie-message h4,
.cookie-modal-header h3, .map-popup h4, .video-card .video-info h4,
.video-modal-header h3, .coming-soon-content h2, .legal-intro .lead {
  color:var(--sp-strong) !important;
}
.legal-section p, .legal-section li, .project-description,
.blog-post-card .blog-post-excerpt, .map-loading p {
  color:var(--sp-text) !important;
}

/* ====================== ACCENTI (blu -> ottone) ====================== */
.stat-number, .product-price, .timeline-year, .highlight,
.highlight-item strong, .error-icon h1, .project-meta .project-location,
.legal-section h2::before, .video-card .video-info .video-duration,
.partnership-cta, .partnership-info a, .partnership-lead a,
.contact-item a, .legal-section a, .suggestion-item a, .product-btn,
.footer-section a:hover, .footer-links a:hover, .cookie-links a:hover {
  color:var(--sp-accent) !important;
}
.product-btn:hover, .partnership-cta:hover { color:var(--sp-strong) !important; }
.timeline-content, .timeline-item { border-color:var(--sp-line) !important; }
.timeline-content::before, .legal-section h2::before { background:var(--sp-accent) !important; }

/* link generici nel contenuto */
.legal-content a, .about a, .company-story a, .project-info a, .blog-content a {
  color:var(--sp-accent);
}

/* ====================== TAB / FILTRI ====================== */
.tab-btn, .filter-btn {
  background:var(--sp-panel) !important; color:var(--sp-text2) !important;
  border:1px solid var(--sp-line) !important;
}
.tab-btn:hover, .filter-btn:hover,
.tab-btn.active, .filter-btn.active {
  background:rgba(201,162,75,0.14) !important; color:var(--sp-strong) !important;
  border-color:var(--sp-accent) !important;
}

/* ============================ FORM ============================ */
input[type=text], input[type=email], input[type=tel], input[type=password],
input[type=search], input[type=number], select, textarea,
.form-group input, .form-group select, .form-group textarea {
  background:#0d0c0a !important; color:var(--sp-text) !important;
  border:1px solid var(--sp-line2) !important; border-radius:2px;
}
input::placeholder, textarea::placeholder { color:#7a736a !important; }
input:focus, select:focus, textarea:focus,
.form-group textarea:focus { border-color:var(--sp-accent) !important; outline:none; }
select option { background:#0d0c0a; color:var(--sp-text); }
label { color:var(--sp-muted); }

/* ====================== COOKIE BANNER / MODALI ====================== */
.cookie-banner, .cookie-modal-content, .modal-content, .video-modal-content,
.cookie-category, .cookie-type {
  background:var(--sp-panel) !important; color:var(--sp-text) !important;
  border-color:var(--sp-line) !important;
}
.cookie-banner { border-top:1px solid var(--sp-line) !important; }
.cookie-message h4, .cookie-banner p { color:var(--sp-text) !important; }
.video-modal-header { background:var(--sp-bg2) !important; border-color:var(--sp-line) !important; }
.ip-notice, .map-loading { background:var(--sp-panel) !important; color:var(--sp-muted) !important; }

/* ====================== HEADER / NAV ====================== */
.header {
  background:rgba(16,15,13,0.90) !important;
  -webkit-backdrop-filter:blur(14px); backdrop-filter:blur(14px);
  border-bottom:1px solid rgba(255,255,255,0.07) !important;
  box-shadow:none !important;
}
.nav-menu { background:transparent !important; }
.nav-menu a { color:var(--sp-text2) !important; }
.nav-menu a:hover { color:#fff !important; background:rgba(255,255,255,0.08) !important; }
.nav-menu a.active { color:#fff !important; background:rgba(201,162,75,0.14) !important; }
.nav-menu a.active::after { background:var(--sp-accent) !important; }
.hamburger span { background:var(--sp-text) !important; }
.nav-cta a {
  background:var(--sp-accent) !important; color:var(--sp-ink) !important;
  padding:10px 20px; border-radius:2px; font-weight:700; font-size:13px; letter-spacing:.02em;
}
.nav-cta a:hover { filter:brightness(1.08); color:var(--sp-ink) !important; }

/* ============================ PULSANTI ============================ */
.btn { border-radius:2px; letter-spacing:.02em; }
.btn-primary, .error-actions .btn-primary, .product-btn.btn, .cookie-btn-accept {
  background:var(--sp-accent) !important; color:var(--sp-ink) !important;
  border:none !important; box-shadow:none !important;
}
.btn-primary:hover, .cookie-btn-accept:hover { filter:brightness(1.08); transform:translateY(-1px); }
.btn-secondary, .error-actions .btn-secondary {
  background:transparent !important; color:var(--sp-text) !important;
  border:1px solid rgba(242,237,228,0.32) !important;
}
.btn-secondary:hover, .error-actions .btn-secondary:hover {
  background:rgba(242,237,228,0.08) !important; border-color:rgba(242,237,228,0.55) !important;
  color:var(--sp-text) !important;
}
.partnership-cta, .partnership-link { border-color:rgba(201,162,75,0.4) !important; }

/* ============================ FOOTER ============================ */
.footer { background:var(--sp-bg2) !important; color:var(--sp-text); }
.footer-section h3, .footer-section h4 { color:#9b9488 !important; letter-spacing:.2em; }
.footer-section p, .footer-section a, .footer-section ul li a { color:#bbb4a9 !important; }
.footer-section a:hover { color:#fff !important; }
.footer-bottom { border-top:1px solid var(--sp-line) !important; color:#9b9488; }
.footer-links a, .footer-languages a { color:#9b9488 !important; }
.footer-links a:hover, .footer-languages a:hover { color:var(--sp-accent) !important; }

/* ============================ MISC ============================ */
/* i .contact-icon sono cerchi vuoti resi bianchi da un filter: nasconderli */
.contact-item .contact-icon { display:none !important; }
.partnership-badge-small {
  background:transparent !important; color:var(--sp-accent) !important;
  border:1px solid rgba(201,162,75,0.4) !important;
}
.marrone-logo { filter:brightness(0) invert(1); }
.progress-bar { background:var(--sp-accent) !important; }
.loading-spinner { border-top-color:var(--sp-accent) !important; }

/* ============== TEMPLATE LANDING CITTÀ (.geo-*) — IT + EN ============== */
.geo-hero h1, .geo-hero .geo-sub, .geo-hero p { color:#fff !important; }
.geo-hero h1 { font-family:var(--sp-serif); font-weight:600; }
.geo-hero .geo-badges span {
  background:rgba(201,162,75,0.15) !important; color:var(--sp-accent) !important;
  border:1px solid rgba(201,162,75,0.32) !important;
}
.geo-badge { background:var(--sp-accent) !important; color:var(--sp-ink) !important; }
.geo-section { color:var(--sp-text); }
.geo-section h2 { color:var(--sp-strong) !important; font-family:var(--sp-serif); }
.geo-section.dark, .geo-section.alt { background:var(--sp-bg2) !important; }
.geo-card {
  background:var(--sp-panel) !important; border:1px solid var(--sp-line) !important;
  box-shadow:none !important; color:var(--sp-text) !important;
}
.geo-card h3 { color:var(--sp-strong) !important; }
.geo-card p { color:var(--sp-text) !important; }
.geo-cta { background:var(--sp-bg2) !important; color:var(--sp-text) !important; }
.geo-cta h2 { color:var(--sp-strong) !important; font-family:var(--sp-serif); }
.geo-cta a, .geo-cta .btn {
  background:var(--sp-accent) !important; color:var(--sp-ink) !important; border:none !important;
}
.zones-list span {
  background:var(--sp-panel) !important; border:1px solid var(--sp-line) !important;
  color:var(--sp-text) !important;
}
/* link inline scuro nel testo geo (override del color:#0f172a inline) */
.geo-section a[style] { color:var(--sp-accent) !important; border-color:rgba(201,162,75,0.4) !important; }

/* ============== TEMPLATE LANDING LINGUA (.lang-*) ============== */
.lang-hero, .lang-nav { background:var(--sp-bg2) !important; }
.lang-hero h1, .lang-hero p, .lang-cta h2, .lang-cta { color:#fff !important; }
.lang-hero h1 { font-family:var(--sp-serif); font-weight:600; }
.lang-section h2 { color:var(--sp-strong) !important; font-family:var(--sp-serif); }
.lang-clients { background:var(--sp-bg2) !important; }
.lang-card {
  background:var(--sp-panel) !important; border:1px solid var(--sp-line) !important;
  box-shadow:none !important;
}
.lang-card h3 { color:var(--sp-accent) !important; }
.lang-card p { color:var(--sp-text) !important; }
.lang-cta { background:var(--sp-bg2) !important; }
.lang-cta a { background:var(--sp-accent) !important; color:var(--sp-ink) !important; }
.lang-switch a { background:rgba(255,255,255,0.10) !important; color:#fff !important; }

/* Google Translate widget (tutte le pagine) */
.goog-te-combo, #google_translate_element select {
  background:#0d0c0a !important; color:var(--sp-text2) !important;
  border:1px solid var(--sp-line2) !important; border-radius:2px !important;
}
.goog-te-combo:hover { border-color:var(--sp-accent) !important; }

/* contrasto: durata video più chiara su gradiente */
.video-card .video-info .video-duration { color:#e3c98a !important; background:transparent !important; padding:0 !important; }

/* ===== Navbar identica su tutte le pagine (come la home) ===== */
.container { max-width:1280px; }
.navbar .container { gap:clamp(28px,5vw,72px); }
.nav-brand { padding-right:clamp(16px,3vw,40px); }
.navbar .logo { height:30px; width:auto; }
.nav-menu a { font-size:14px; font-weight:500; letter-spacing:.01em; }
