/**
 * 81+ BRAND SYSTEM — GUIDELINES & DESIGN TOKENS
 * Official Corporate Identity: Verde (#00875A), Bianco (#FFFFFF), Nero (#0A0A0A)
 * Normativa di riferimento: D.Lgs. 81/08 - Safety Engineering & Academy
 */

:root {
  /* ═══ COLOR TOKENS ═══ */
  --brand-green: #00875A;            /* Verde Ufficiale Sicurezza & Presidio */
  --brand-green-hover: #00704A;      /* Verde Hover Scuro */
  --brand-green-light: #E8F5E9;      /* Verde Sfondo Tenue / Badge */
  --brand-green-border: #A3D9B1;     /* Bordo Verde Accento */
  --brand-green-vivid: #10B981;      /* Verde Digitale Acceso per Dark Mode */
  --brand-green-glow: rgba(0, 135, 90, 0.28);

  --brand-white: #FFFFFF;
  --brand-offwhite: #F8FBF9;
  --brand-surface: #F3F6F4;

  --brand-black: #0A0A0A;            /* Nero Profondo Carbone */
  --brand-black-soft: #121513;       /* Nero Card Dark */
  --brand-text-dark: #0F1713;        /* Testo Principale */
  --brand-text-muted: #526058;       /* Testo Secondario */
  --brand-border: #E0E7E2;           /* Bordi Neutri */

  /* ═══ LEGACY COMPATIBILITY MAPPINGS ═══ */
  --accent-orange: var(--brand-green);
  --accent-hover: var(--brand-green-hover);
  --border-accent: rgba(0, 135, 90, 0.3);
  --bg-light: #FFFFFF;
  --bg-surface: var(--brand-offwhite);
  --bg-card: #FFFFFF;
  --text-main: var(--brand-text-dark);
  --text-muted: var(--brand-text-muted);
  --border-light: var(--brand-border);
  --green-badge: var(--brand-green);
}

/* ═══ GLOBAL MATRIX WATERMARK & WHITE BACKGROUND ═══ */
html, body {
  background-color: #FFFFFF !important;
  background-image: none !important;
  color: #0A0A0A !important;
}

section, .hero, .hero-section, .page-header, .subpage-hero, main {
  background: transparent !important;
  background-image: none !important;
}

#matrix81-canvas {
  position: fixed !important;
  top: 0 !important;
  left: 0 !important;
  width: 100vw !important;
  height: 100vh !important;
  pointer-events: none !important;
  z-index: 0 !important;
  opacity: 1 !important;
}

/* Translucent cards to let rising matrix stream shine through gracefully (eccetto le card verdi offerte) */
.card:not(.card-green), .module-card, .tool-box, .pricing-card, .audit-action-card {
  background: rgba(255, 255, 255, 0.92);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
}

/* ═══ CARDS OFFERTE VERDI 81+ CON SCRITTE BIANCHE (ZERO SUB-CARDS, ZERO TESTO NERO) ═══ */
.grid-offers .card,
.card.card-green {
  background: linear-gradient(165deg, #00875A 0%, #00603F 100%) !important;
  border: 2.5px solid #10B981 !important;
  border-radius: 20px !important;
  padding: 34px 26px !important;
  display: flex !important;
  flex-direction: column !important;
  position: relative !important;
  box-shadow: 
    0 8px 0 #00452C, 
    0 16px 36px rgba(0, 135, 90, 0.35), 
    inset 0 1.5px 0 rgba(255, 255, 255, 0.35), 
    inset 0 -2px 0 rgba(0, 50, 32, 0.8) !important;
  color: #FFFFFF !important;
  transition: all 0.25s cubic-bezier(0.16, 1, 0.3, 1) !important;
}

.grid-offers .card:hover,
.card.card-green:hover {
  transform: translateY(-5px) !important;
  border-color: #34D399 !important;
  box-shadow: 
    0 12px 0 #00452C, 
    0 24px 44px rgba(0, 135, 90, 0.45), 
    inset 0 2px 0 rgba(255, 255, 255, 0.55) !important;
}

.grid-offers .card.featured,
.card.card-green.featured {
  background: linear-gradient(165deg, #007A51 0%, #004D32 100%) !important;
  border: 3px solid #FFFFFF !important;
  box-shadow: 
    0 10px 0 #003623, 
    0 22px 46px rgba(0, 135, 90, 0.45), 
    inset 0 2px 0 rgba(255, 255, 255, 0.55) !important;
}

/* ZERO SUB-CARDS: tutti i figli dentro .card hanno sfondo trasparente e zero bordi/ombre */
.grid-offers .card *,
.card.card-green * {
  border: none !important;
  outline: none !important;
  box-shadow: none !important;
  background: transparent !important;
}

/* Ribbon "PIÙ SCELTO DALLE IMPRESE" */
.grid-offers .card .ribbon,
.card.card-green .ribbon {
  position: absolute !important;
  top: -14px !important;
  right: 24px !important;
  background: #0A0A0A !important;
  color: #FFFFFF !important;
  border: 1.5px solid #10B981 !important;
  font-size: 11px !important;
  font-weight: 900 !important;
  padding: 5px 14px !important;
  border-radius: 20px !important;
  text-transform: uppercase !important;
  letter-spacing: 0.05em !important;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.4) !important;
}

/* Titoli delle card: BIANCO PURO */
.grid-offers .card .card-title,
.card.card-green .card-title {
  font-family: 'Anton', sans-serif !important;
  font-size: 26px !important;
  color: #FFFFFF !important;
  margin-bottom: 12px !important;
  line-height: 1.2 !important;
  letter-spacing: 0.02em !important;
  text-align: left !important;
  display: block !important;
}

/* Descrizione card: BIANCO AD ALTO CONTRASTO */
.grid-offers .card .card-desc,
.card.card-green .card-desc {
  font-size: 14px !important;
  color: #E2F1E8 !important;
  margin-bottom: 22px !important;
  line-height: 1.5 !important;
  min-height: 44px !important;
  text-align: left !important;
  display: block !important;
}

/* Box Prezzo */
.grid-offers .card .price-box,
.card.card-green .price-box {
  margin-bottom: 24px !important;
  padding-bottom: 18px !important;
  border-bottom: 1px solid rgba(255, 255, 255, 0.22) !important;
  display: block !important;
}

.grid-offers .card .price-old,
.card.card-green .price-old {
  font-size: 13px !important;
  color: rgba(255, 255, 255, 0.75) !important;
  text-decoration: line-through !important;
  margin-bottom: 4px !important;
  display: block !important;
}

.grid-offers .card .price-now,
.card.card-green .price-now {
  font-size: 42px !important;
  font-family: 'Anton', sans-serif !important;
  color: #FFFFFF !important;
  line-height: 1 !important;
  display: flex !important;
  align-items: baseline !important;
  gap: 8px !important;
}

.grid-offers .card .price-now small,
.card.card-green .price-now small {
  font-size: 14px !important;
  font-family: 'Sora', sans-serif !important;
  color: #E2F1E8 !important;
  font-weight: 600 !important;
}

/* Features: TUTTE LE SCRITTE BIANCHE */
.grid-offers .card .features,
.card.card-green .features {
  list-style: none !important;
  margin-bottom: 28px !important;
  flex-grow: 1 !important;
  padding: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 12px !important;
}

.grid-offers .card .features li,
.card.card-green .features li {
  font-size: 14px !important;
  color: #FFFFFF !important;
  display: flex !important;
  align-items: flex-start !important;
  gap: 10px !important;
  line-height: 1.45 !important;
  text-align: left !important;
}

.grid-offers .card .features li::before,
.card.card-green .features li::before {
  content: "✓" !important;
  color: #FFFFFF !important;
  font-weight: 900 !important;
  font-size: 15px !important;
  line-height: 1.2 !important;
  display: inline-block !important;
}

/* BOTTONI CTA DENTRO LE CARD VERDI: BIANCO LUSSO AD ALTO CONTRASTO */
.grid-offers .card .btn-pay,
.card.card-green .btn-pay {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 10px !important;
  width: 100% !important;
  text-align: center !important;
  background: #FFFFFF !important;
  color: #00875A !important;
  font-weight: 900 !important;
  font-size: 16px !important;
  padding: 16px 20px !important;
  border-radius: 12px !important;
  text-decoration: none !important;
  border: 2px solid #FFFFFF !important;
  cursor: pointer !important;
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.25) !important;
  transition: all 0.2s ease !important;
}

.grid-offers .card .btn-pay:hover,
.card.card-green .btn-pay:hover {
  background: #E8F5E9 !important;
  color: #00603F !important;
  transform: translateY(-2px) !important;
  box-shadow: 0 6px 20px rgba(0, 0, 0, 0.35) !important;
}

.grid-offers .card .btn-pay svg,
.card.card-green .btn-pay svg {
  stroke: #00875A !important;
}

.grid-offers .card .btn-pay:hover svg,
.card.card-green .btn-pay:hover svg {
  stroke: #00603F !important;
}


/* ═══ BRAND BADGES & LOGO STYLES ═══ */
.brand-square-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: var(--brand-green);
  color: #FFFFFF !important;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", sans-serif;
  font-weight: 900;
  border-radius: 6px;
  line-height: 1;
  text-decoration: none;
  box-shadow: 0 2px 8px var(--brand-green-glow);
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.brand-square-badge:hover {
  transform: translateY(-1px);
  box-shadow: 0 4px 14px var(--brand-green-glow);
}

.brand-badge-sm {
  width: 28px;
  height: 28px;
  font-size: 0.95rem;
  border-radius: 5px;
}

.brand-badge-md {
  width: 36px;
  height: 36px;
  font-size: 1.15rem;
  border-radius: 7px;
}

.brand-badge-lg {
  width: 48px;
  height: 48px;
  font-size: 1.5rem;
  border-radius: 9px;
}

.brand-badge-xl {
  width: 80px;
  height: 80px;
  font-size: 2.6rem;
  border-radius: 16px;
  box-shadow: 0 8px 24px var(--brand-green-glow);
}

/* ═══ BUTTONS ═══ */
.btn-brand-green,
.btn-green,
.btn-orange {
  background: var(--brand-green) !important;
  color: #FFFFFF !important;
  font-weight: 800;
  padding: 14px 28px;
  border-radius: 8px;
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  transition: all 0.2s ease;
  border: none;
  cursor: pointer;
  box-shadow: 0 4px 16px var(--brand-green-glow) !important;
}

.btn-brand-green:hover,
.btn-green:hover,
.btn-orange:hover {
  background: var(--brand-green-hover) !important;
  transform: translateY(-2px);
  box-shadow: 0 8px 22px rgba(0, 135, 90, 0.42) !important;
}

.btn-brand-black,
.btn-dark {
  background: var(--brand-black) !important;
  color: #FFFFFF !important;
  font-weight: 700;
  padding: 14px 26px;
  border-radius: 8px;
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  transition: all 0.2s ease;
  border: 1px solid #222B26 !important;
}

.btn-brand-black:hover,
.btn-dark:hover {
  background: #18201C !important;
  border-color: var(--brand-green) !important;
  transform: translateY(-2px);
}

.btn-brand-outline,
.btn-outline-orange {
  background: transparent !important;
  color: var(--brand-green) !important;
  border: 2px solid var(--brand-green) !important;
  font-weight: 800;
  padding: 12px 24px;
  border-radius: 8px;
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  transition: all 0.2s ease;
}

.btn-brand-outline:hover,
.btn-outline-orange:hover {
  background: var(--brand-green-light) !important;
  transform: translateY(-2px);
}

/* ═══ TAGS & HIGHLIGHTS ═══ */
.brand-tag-green {
  background: var(--brand-green-light);
  color: var(--brand-green);
  border: 1px solid var(--brand-green-border);
  font-weight: 800;
  font-size: 0.8rem;
  letter-spacing: 0.05em;
  padding: 4px 10px;
  border-radius: 4px;
  text-transform: uppercase;
}

/* ═══ GLOBAL TEXT JUSTIFICATION (RULE: TUTTI I TESTI GIUSTIFICATI) ═══ */
p, .lead, .hero-sub, .faq-answer, .faq-answer p, .magic-text, .card-desc, .course-desc,
.competitor-desc, .bento-desc, .testimonial-text, .legal-notice, .service-desc,
.step-desc, .feature-box p, article p, .tab-content p, .accordion-body p {
  text-align: justify !important;
  text-justify: inter-word !important;
  hyphens: auto;
}

/* ═══ LUXURY ARCHITECTURAL PATTERNS (DNA WEB TEMPLATE SITO) ═══ */
.magic-badge {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 6px 18px;
  border-radius: 999px;
  background: rgba(0, 135, 90, 0.08);
  border: 1px solid rgba(0, 135, 90, 0.28);
  color: var(--brand-green);
  font-family: inherit;
  font-size: 0.82rem;
  font-weight: 800;
  letter-spacing: 0.10em;
  text-transform: uppercase;
  margin-bottom: 16px;
  box-shadow: 0 0 20px rgba(0, 135, 90, 0.12);
}

.magic-badge .sparkle {
  color: var(--brand-green-vivid);
  animation: pulseGlow 2.5s infinite ease-in-out;
}

@keyframes pulseGlow {
  0%, 100% { transform: scale(1); opacity: 0.8; }
  50% { transform: scale(1.25); opacity: 1; filter: drop-shadow(0 0 6px var(--brand-green-vivid)); }
}

.magic-header {
  text-align: center;
  max-width: 860px;
  margin: 0 auto 50px;
}

.magic-title {
  font-size: clamp(2.2rem, 4vw, 3.4rem);
  font-weight: 900;
  line-height: 1.15;
  color: var(--brand-black);
  margin-bottom: 20px;
  letter-spacing: -0.02em;
}

.magic-title span {
  color: var(--brand-green);
}

.magic-card {
  background: #FFFFFF;
  border: 1px solid var(--brand-border);
  border-radius: 16px;
  padding: 32px;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.04);
  transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1);
  position: relative;
  overflow: hidden;
}

.magic-card:hover {
  border-color: var(--brand-green);
  transform: translateY(-4px);
  box-shadow: 0 16px 40px rgba(0, 135, 90, 0.12);
}

/* ═══ TOKEN 81X 3D CONTAINER ═══ */
.token-3d-box {
  background: radial-gradient(circle at center, #112017 0%, #060A08 100%);
  border: 2.5px solid #10B981 !important;
  border-radius: 20px !important;
  padding: 24px;
  position: relative;
  overflow: hidden;
  box-shadow: 0 5px 0 #005F3E, 0 14px 36px rgba(16, 185, 129, 0.24), inset 0 1.5px 0 rgba(255, 255, 255, 0.25), inset 0 -2px 0 rgba(0, 60, 39, 0.7) !important;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  transition: transform 0.25s cubic-bezier(0.16, 1, 0.3, 1), box-shadow 0.25s cubic-bezier(0.16, 1, 0.3, 1) !important;
}

.token-3d-box:hover {
  transform: translateY(-4px) !important;
  box-shadow: 0 8px 0 #005F3E, 0 20px 42px rgba(16, 185, 129, 0.36), inset 0 2px 0 rgba(255, 255, 255, 0.35), inset 0 -2px 0 rgba(0, 60, 39, 0.8) !important;
}

/* ═══════════════════════════════════════════════════════════════════════════════
   81+ UNIVERSAL 3D GREEN BORDER SYSTEM — LUXURY EMBOSSED TACTILE CARDS
   Applicato a tutte le cards in tutto il sito ed in tutte le pagine
   ═══════════════════════════════════════════════════════════════════════════════ */

.card,
.pillar-card,
.plan-card,
.golden-card,
.trust-score-card,
.comp-card,
.stat-card-presidio,
.node-metric-box,
.magic-card,
.module-card,
.pricing-card,
.takeaway-card,
.token-specs-card,
.recensioni-card,
.trust-card,
.bento-card,
.feature-card,
.course-card,
.banner-card,
.step-card,
.service-card,
.solution-card,
.promo-card,
.nft-card,
.pvcard,
.badge-card,
.faq-item,
.faq100-item,
.box-official81,
.box-fear,
.guarantee-banner,
.guarantee-monument-box,
.recensioni-teaser-box,
.aud-box,
.tool-box,
.audit-action-card,
.inspector-card,
.epicenter-focus-box,
.tier-card,
.gc-card,
.aud-card,
.render-visual,
[class*="card"]:not(.hero-card-none):not(.no-3d):not([class*="card-title"]):not([class*="card-desc"]):not([class*="card-header"]):not([class*="card-body"]):not([class*="card-text"]):not([class*="card-val"]):not([class*="card-label"]):not([class*="card-h"]):not([class*="card-icon"]):not([class*="card-sub"]):not([class*="price-box"]),
[class*="-card"]:not(.hero-card-none):not(.no-3d):not([class*="card-title"]):not([class*="card-desc"]):not([class*="card-header"]):not([class*="card-body"]):not([class*="card-text"]):not([class*="card-val"]):not([class*="card-label"]):not([class*="card-h"]):not([class*="card-icon"]):not([class*="card-sub"]):not([class*="price-box"]) {
  border: 2.5px solid #00875A !important;
  border-radius: 16px !important;
  box-shadow: 
    0 4px 0 #005F3E,
    0 10px 24px rgba(0, 135, 90, 0.16),
    inset 0 1.5px 0 rgba(255, 255, 255, 0.85),
    inset 0 -2px 0 rgba(0, 95, 62, 0.35) !important;
  transition: transform 0.25s cubic-bezier(0.16, 1, 0.3, 1), box-shadow 0.25s cubic-bezier(0.16, 1, 0.3, 1), border-color 0.25s ease !important;
  position: relative;
}

/* Reset tassativo: impedisce ai figli delle cards (titoli, descrizioni, numeri, label, header) di trasformarsi in sub-cards */
.card-title,
.card-desc,
.card-header,
.card-body,
.card-text,
.card-h,
.card-icon,
.stat-card-val,
.stat-card-label,
.stat-number-monumental,
.stat-text-label,
.price-box,
.price-old,
.price-now,
.features,
.features li,
[class*="card-title"],
[class*="card-desc"],
[class*="card-header"],
[class*="card-body"],
[class*="card-text"],
[class*="card-val"],
[class*="card-label"],
[class*="-val"]:not(.card):not([class*="metric-box"]):not(.stat-card-presidio),
[class*="-label"]:not(.card):not(.stat-card-presidio) {
  border: none !important;
  box-shadow: none !important;
  background: transparent !important;
  border-radius: 0 !important;
  padding: 0 !important;
  outline: none !important;
}

.card:hover,
.pillar-card:hover,
.plan-card:hover,
.golden-card:hover,
.trust-score-card:hover,
.comp-card:hover,
.stat-card-presidio:hover,
.node-metric-box:hover,
.magic-card:hover,
.module-card:hover,
.pricing-card:hover,
.takeaway-card:hover,
.token-specs-card:hover,
.recensioni-card:hover,
.trust-card:hover,
.bento-card:hover,
.feature-card:hover,
.course-card:hover,
.banner-card:hover,
.step-card:hover,
.service-card:hover,
.solution-card:hover,
.promo-card:hover,
.nft-card:hover,
.pvcard:hover,
.badge-card:hover,
.faq-item:hover,
.faq100-item:hover,
.box-official81:hover,
.box-fear:hover,
.guarantee-banner:hover,
.guarantee-monument-box:hover,
.recensioni-teaser-box:hover,
.aud-box:hover,
.tool-box:hover,
.audit-action-card:hover,
.inspector-card:hover,
.epicenter-focus-box:hover,
.tier-card:hover,
.gc-card:hover,
.aud-card:hover,
.render-visual:hover,
[class*="card"]:hover:not(.hero-card-none):not(.no-3d),
[class*="-card"]:hover:not(.hero-card-none):not(.no-3d) {
  border-color: #10B981 !important;
  transform: translateY(-4px) !important;
  box-shadow: 
    0 8px 0 #005F3E,
    0 18px 34px rgba(0, 135, 90, 0.26),
    inset 0 2px 0 rgba(255, 255, 255, 0.95),
    inset 0 -2px 0 rgba(0, 95, 62, 0.45) !important;
}

.card:active,
.pillar-card:active,
.plan-card:active,
[class*="card"]:active:not(.hero-card-none):not(.no-3d),
[class*="-card"]:active:not(.hero-card-none):not(.no-3d) {
  transform: translateY(2px) !important;
  box-shadow: 
    0 1px 0 #005F3E,
    0 4px 10px rgba(0, 135, 90, 0.15),
    inset 0 1px 0 rgba(255, 255, 255, 0.6) !important;
}

/* ═══ DARK CARDS & IMMERSIVE BOXES 3D GREEN BORDER ═══ */
.ateco-matrix-box,
.ateco-result-card,
.tg-community-box,
.errc-box,
.map-viewport-container,
.calc-box,
.render-3d-box,
.blue-ocean-section .errc-box {
  border: 2.5px solid #10B981 !important;
  border-radius: 18px !important;
  box-shadow: 
    0 5px 0 #005F3E,
    0 14px 36px rgba(16, 185, 129, 0.24),
    inset 0 1.5px 0 rgba(255, 255, 255, 0.25),
    inset 0 -2px 0 rgba(0, 60, 39, 0.7) !important;
  transition: transform 0.25s cubic-bezier(0.16, 1, 0.3, 1), box-shadow 0.25s cubic-bezier(0.16, 1, 0.3, 1) !important;
}

.ateco-matrix-box:hover,
.ateco-result-card:hover,
.tg-community-box:hover,
.errc-box:hover,
.calc-box:hover,
.render-3d-box:hover {
  transform: translateY(-4px) !important;
  box-shadow: 
    0 8px 0 #005F3E,
    0 20px 42px rgba(16, 185, 129, 0.36),
    inset 0 2px 0 rgba(255, 255, 255, 0.35),
    inset 0 -2px 0 rgba(0, 60, 39, 0.8) !important;
}

/* ═══════════════════════════════════════════════════════════════
   81+ MOBILE-FIRST 100% RESPONSIVE & ZERO-SBORDATURE (OFFLINE READY)
   ═══════════════════════════════════════════════════════════════ */
*, *::before, *::after {
  box-sizing: border-box !important;
}

html, body {
  width: 100% !important;
  max-width: 100% !important;
  overflow-x: hidden !important;
  position: relative;
  -webkit-text-size-adjust: 100%;
}

img, video, canvas, svg, table, iframe {
  max-width: 100% !important;
  height: auto;
}

.wrap, .container {
  width: 100% !important;
  max-width: 1200px !important;
  box-sizing: border-box !important;
}

/* Testi Giustificati con sillabazione e word-break anti-sbordatura */
p, .lead, .hero-sub, .faq-answer, .magic-text, .card-desc, .course-desc,
.competitor-desc, .bento-desc, .testimonial-text, .legal-notice, .service-desc,
.step-desc, .feature-box p, article p, .tab-content p, .accordion-body p {
  text-align: justify !important;
  text-justify: inter-word !important;
  overflow-wrap: break-word !important;
  word-wrap: break-word !important;
  word-break: break-word !important;
  hyphens: auto !important;
  -webkit-hyphens: auto !important;
  max-width: 100% !important;
}

/* Phone Viewports Media Query (<= 768px) */
@media (max-width: 768px) {
  .wrap, .container {
    padding-left: 16px !important;
    padding-right: 16px !important;
  }

  /* Tutte le griglie a colonna singola fluida */
  .pillars-grid,
  .plans-grid,
  .golden-grid,
  .compare-grid,
  .aud-grid,
  .competitors-grid,
  .errc-grid,
  .map-stats-bar,
  .tiers-grid,
  .gc-grid,
  .takeaway-grid,
  .render-grid,
  .filter-audience-box {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 16px !important;
    width: 100% !important;
  }

  /* Tutte le card adattive dentro lo schermo del telefono */
  .card,
  [class*="card"],
  [class*="-card"],
  .pillar-card,
  .plan-card,
  .golden-card,
  .trust-score-card,
  .comp-card,
  .stat-card-presidio,
  .node-metric-box,
  .ateco-matrix-box,
  .ateco-result-card,
  .guarantee-banner,
  .guarantee-monument-box,
  .box-fear,
  .box-official81,
  .aud-box,
  .aud-card,
  .tg-community-box,
  .recensioni-teaser-box,
  .faq-item,
  .faq100-item,
  .tier-card,
  .gc-card,
  .calc-box,
  .render-3d-box {
    width: 100% !important;
    max-width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    padding: 20px 16px !important;
    box-sizing: border-box !important;
    overflow-wrap: break-word !important;
    word-break: break-word !important;
  }

  /* Pricing Card Ottimizzate Mobile */
  .plan-card {
    padding: 24px 16px !important;
  }
  .plan-price {
    font-size: clamp(1.8rem, 7vw, 2.4rem) !important;
    word-break: break-word !important;
  }
  .plan-name {
    font-size: 1.25rem !important;
  }
  .plan-badge-top {
    right: 12px !important;
    font-size: 0.65rem !important;
    padding: 3px 8px !important;
  }
  .btn-plan-activate, .btn-paypal-checkout {
    width: 100% !important;
    box-sizing: border-box !important;
    padding: 12px 14px !important;
    font-size: 0.88rem !important;
  }

  /* Visual Tools su Telefono */
  .ateco-controls {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 12px !important;
  }
  .ateco-result-card {
    display: grid !important;
    grid-template-columns: 1fr !important;
    padding: 16px !important;
    gap: 12px !important;
  }
  .compare-grid {
    grid-template-columns: 1fr !important;
  }
  .tg-community-box {
    grid-template-columns: 1fr !important;
    padding: 24px 16px !important;
  }
  .recensioni-teaser-box {
    grid-template-columns: 1fr !important;
    padding: 24px 16px !important;
  }

  /* Tipografia Adattiva */
  h1, .hero-title, .magic-title {
    font-size: clamp(1.8rem, 6.5vw, 2.5rem) !important;
    line-height: 1.2 !important;
    letter-spacing: -0.02em !important;
  }
  h2, .section-title {
    font-size: clamp(1.35rem, 5.5vw, 1.9rem) !important;
    line-height: 1.25 !important;
  }
  .hero-sub {
    font-size: 0.98rem !important;
    line-height: 1.55 !important;
  }
}

/* Extra Narrow Phone Screens (iPhone SE, schermi <= 380px) */
@media (max-width: 380px) {
  .wrap, .container {
    padding-left: 10px !important;
    padding-right: 10px !important;
  }
  .card,
  [class*="card"],
  [class*="-card"],
  .pillar-card,
  .plan-card,
  .box-official81,
  .box-fear {
    padding: 16px 12px !important;
  }
}

/* ═══ STAT CARDS MONOLITICHE (ZERO SUB-CARDS, ZERO SUB-BORDERS) ═══ */
.stat-card-presidio {
  background: #FFFFFF !important;
  border: 2.5px solid #00875A !important;
  border-radius: 18px !important;
  padding: 24px 20px !important;
  text-align: center !important;
  box-shadow: 0 6px 0 #005F3E, 0 16px 32px rgba(0, 135, 90, 0.16) !important;
}
.stat-card-presidio * {
  border: none !important;
  outline: none !important;
  box-shadow: none !important;
  background: transparent !important;
}
.stat-number-monumental {
  font-size: clamp(2.3rem, 3.8vw, 3rem) !important;
  font-weight: 900 !important;
  color: #00875A !important;
  line-height: 1 !important;
  margin: 0 0 10px 0 !important;
  display: block !important;
  border: none !important;
  box-shadow: none !important;
  background: transparent !important;
  padding: 0 !important;
}
.stat-text-label {
  font-size: 0.90rem !important;
  color: #1F2937 !important;
  font-weight: 800 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.04em !important;
  margin: 0 !important;
  display: block !important;
  border: none !important;
  box-shadow: none !important;
  background: transparent !important;
  padding: 0 !important;
  line-height: 1.35 !important;
}

/* ═══ SALVAGUARDIA MAPPE LEAFLET & THREE.JS WIREFRAME ═══ */
.leaflet-container canvas,
.leaflet-container img,
#leafletMap canvas,
#leafletMap img {
  max-width: none !important;
  max-height: none !important;
}

/* ═══ BLOCCO TOTALE PWA BOTTOMBAR SU PC E TABLET (>= 768px) ═══ */
@media (min-width: 768px) {
  .uni-pwa-bottombar,
  #uni-pwa-bottombar,
  [class*="pwa-bottom"],
  [class*="pwa-nav"] {
    display: none !important;
    visibility: hidden !important;
    pointer-events: none !important;
    height: 0 !important;
    width: 0 !important;
    opacity: 0 !important;
  }
  body {
    padding-bottom: 0 !important;
  }
}

/* ═══════════════════════════════════════════════════════════════════════════════
   ELIMINAZIONE DEFINITIVA SUB-CARDS & ENFORCEMENT CARDS VERDI CON SCRITTE BIANCHE
   ═══════════════════════════════════════════════════════════════════════════════ */
.card-title,
.card-desc,
.card-header,
.card-body,
.card-text,
.card-icon,
.card-h,
.card-sub,
.card-badge,
.card div,
.card p,
.card span,
.card ul,
.card li,
.grid-offers .card *,
.grid-offers .card div,
.grid-offers .card p,
.grid-offers .card span,
.grid-offers .card ul,
.grid-offers .card li {
  border: none !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  outline: none !important;
  background: transparent !important;
}

/* Solo i bottoni (.btn-pay, .btn-wa) dentro le card hanno bordo e sfondo */
.grid-offers .card .btn-pay {
  background: #FFFFFF !important;
  color: #00875A !important;
  border: 2px solid #FFFFFF !important;
  border-radius: 12px !important;
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.25) !important;
}
.grid-offers .card .btn-pay svg {
  stroke: #00875A !important;
}

/* Tutte le scritte dentro le card verdi DEVONO essere BIANCHE (zero scritte nere) */
.grid-offers .card,
.grid-offers .card .card-title,
.grid-offers .card .card-desc,
.grid-offers .card .price-now,
.grid-offers .card .price-now small,
.grid-offers .card .features,
.grid-offers .card .features li,
.grid-offers .card p,
.grid-offers .card div {
  color: #FFFFFF !important;
}
.grid-offers .card .price-old {
  color: rgba(255, 255, 255, 0.8) !important;
}
.grid-offers .card .features li::before {
  content: "✓" !important;
  color: #FFFFFF !important;
  font-weight: 900 !important;
/* ═══ BLOCCHI OFFERTA MONOLITICI VERDI (ZERO SUB-CARDS, TESTO BIANCO PURO) ═══ */
.offer-pillar {
  background: linear-gradient(165deg, #00875A 0%, #005F3E 100%) !important;
  border: 2.5px solid #10B981 !important;
  border-radius: 20px !important;
  padding: 36px 26px !important;
  display: flex !important;
  flex-direction: column !important;
  position: relative !important;
  box-shadow: 
    0 8px 0 #00452C, 
    0 16px 36px rgba(0, 135, 90, 0.35), 
    inset 0 1.5px 0 rgba(255, 255, 255, 0.35), 
    inset 0 -2px 0 rgba(0, 50, 32, 0.8) !important;
  color: #FFFFFF !important;
  box-sizing: border-box !important;
}
.offer-pillar.featured-pillar {
  background: linear-gradient(165deg, #007A51 0%, #004D32 100%) !important;
  border: 3px solid #FFFFFF !important;
}
.offer-pillar,
.offer-pillar * {
  border: none !important;
  box-shadow: none !important;
  background: transparent !important;
  color: #FFFFFF !important;
}
.offer-pillar {
  border: 2.5px solid #10B981 !important;
  box-shadow: 0 8px 0 #00452C, 0 16px 36px rgba(0, 135, 90, 0.35) !important;
}
.offer-pillar.featured-pillar {
  border: 3px solid #FFFFFF !important;
}
.offer-pillar .offer-btn-cta {
  background: #FFFFFF !important;
  color: #00875A !important;
  border: 2px solid #FFFFFF !important;
  border-radius: 12px !important;
  font-weight: 900 !important;
  padding: 16px 20px !important;
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.25) !important;
  text-decoration: none !important;
}
.offer-pillar .offer-btn-cta:hover {
  background: #E8F5E9 !important;
  color: #00603F !important;
}
.offer-pillar .offer-btn-cta svg {
  stroke: #00875A !important;
}

/* ═══ FOOTER UNIVERSALE SPAZIOSO: ZERO SBORDAMENTO, TUTTE LE RIGHE LEGGIBILI ═══ */
.uni-footer {
  width: 100% !important;
  margin-top: 50px !important;
  padding: 40px 24px 80px !important;
  background: #00875A !important;
  color: #FFFFFF !important;
  box-sizing: border-box !important;
  clear: both !important;
  overflow: visible !important;
}
.uni-footer-wrap {
  max-width: 1140px !important;
  margin: 0 auto !important;
  box-sizing: border-box !important;
  overflow: visible !important;
}
.uni-footer-compact-bottom {
  padding-top: 16px !important;
  padding-bottom: 12px !important;
  display: flex !important;
  justify-content: space-between !important;
  align-items: center !important;
  flex-wrap: wrap !important;
  gap: 12px !important;
  color: #E8F5E9 !important;
  font-size: 0.82rem !important;
}
.uni-footer-compact-bottom a {
  color: #FFFFFF !important;
  text-decoration: underline !important;
}
@media (max-width: 768px) {
  .uni-footer {
    padding-bottom: 140px !important; /* Spazio protetto per non essere MAI coperto dalla barra fissa o da gesture */
  }
}


