/*!
Theme Name: Hello Elementor Child
Theme URI: https://crocoblock.com/
Author: Crocoblock
Author URI: https://crocoblock.com/
Description: Child theme for Hello Elementor with all CrocoBlock features compatibility.
Template: hello-elementor
Version: 1.0.0
License: GNU General Public License v3 or later
License URI: http://www.gnu.org/licenses/gpl-3.0.html
Text Domain: hello-elementor-child
*/

/* =====================================================================
   SSCB v2 — Landing Corso Pre-Parto
   CSS PIATTO (senza nesting) scopato sotto .sscb-v2.
   Forma piatta = compatibile sia col front-end sia con l'editor a blocchi
   (add_editor_style). Caricato dal child theme hello-elementor-child.
   Il font Rubik è caricato dal functions.php (enqueue), NON via @import:
   l'@import rompeva il parsing degli stili dentro l'editor a blocchi.
   ===================================================================== */

/* === VARIABILI + BASE sul wrapper === */
.sscb-v2 {
  --c-blue-900: #0E2A66;
  --c-blue-800: #15347A;
  --c-blue-700: #1E40AF;
  --c-blue-600: #2563EB;
  --c-blue-500: #3B82F6;
  --c-blue-100: #DBEAFE;
  --c-blue-50: #EFF6FF;
  --c-rose: #F3D9DA;
  --c-rose-soft: #FDF2F3;
  --c-cream: #F8F9FB;
  --c-warm-white: #FFFFFF;
  --c-surface: #FAFBFC;
  --c-ink: #0F172A;
  --c-ink-soft: #1E293B;
  --c-muted: #64748B;
  --c-muted-soft: #94A3B8;
  --c-line: #E2E8F0;
  --c-success: #10B981;
  --f-display: 'Rubik', system-ui, -apple-system, sans-serif;
  --f-body: 'Rubik', system-ui, -apple-system, sans-serif;
  --shadow-sm: 0 1px 3px rgba(15, 23, 42, 0.06), 0 1px 2px rgba(15, 23, 42, 0.04);
  --shadow-md: 0 4px 12px rgba(15, 23, 42, 0.08);
  --shadow-lg: 0 12px 32px rgba(15, 23, 42, 0.10);
  --radius-sm: 6px;
  --radius: 10px;
  --radius-lg: 16px;
  --radius-btn: 6px;

  font-family: var(--f-body);
  color: var(--c-ink);
  background: var(--c-warm-white);
  line-height: 1.55;
  font-size: 17px;
  -webkit-font-smoothing: antialiased;
}

/* === RESET (scopato) === */
.sscb-v2 *, .sscb-v2 *::before, .sscb-v2 *::after { box-sizing: border-box; }
.sscb-v2 h1, .sscb-v2 h2, .sscb-v2 h3, .sscb-v2 h4, .sscb-v2 h5, .sscb-v2 h6,
.sscb-v2 p, .sscb-v2 ul, .sscb-v2 ol, .sscb-v2 li,
.sscb-v2 figure, .sscb-v2 blockquote, .sscb-v2 form { margin: 0; padding: 0; }
.sscb-v2 ul, .sscb-v2 ol { list-style: none; }
.sscb-v2 img { max-width: 100%; height: auto; display: block; }
/* Emoji convertite in immagini da WordPress/Twemoji (es. bandiere su Windows):
   il reset img sopra le ingrandirebbe — qui le riportiamo a 1em ovunque. */
img.wp-smiley, img.emoji { display: inline !important; height: 1em !important; width: 1em !important; max-width: 1em !important; margin: 0 0.07em !important; padding: 0 !important; vertical-align: -0.1em !important; background: none !important; border: 0 !important; box-shadow: none !important; }
.sscb-v2 a { color: inherit; text-decoration: none; }

/* neutralizza spaziature dei wrapper di blocco Gutenberg */
.sscb-v2 .wp-block-group,
.sscb-v2 .wp-block-buttons,
.sscb-v2 .wp-block-button,
.sscb-v2 .wp-block-columns,
.sscb-v2 .wp-block-column { margin: 0; }
.sscb-v2 .wp-block-buttons { gap: 0; }

/* === HELPERS === */
.sscb-v2 .display { font-family: var(--f-display); font-weight: 600; letter-spacing: -0.025em; line-height: 1.08; }
.sscb-v2 .eyebrow { font-family: var(--f-body); font-size: 13px; font-weight: 600; letter-spacing: 0.08em; text-transform: uppercase; color: var(--c-blue-700); }
.sscb-v2 .container { max-width: 1180px; margin: 0 auto; padding: 0 24px; }
.sscb-v2 .container-narrow { max-width: 760px; margin: 0 auto; padding: 0 24px; }

/* === BOTTONI (core/button) === */
.sscb-v2 .btn-primary > .wp-block-button__link,
.sscb-v2 .btn-primary.wp-element-button {
  display: inline-flex; align-items: center; gap: 10px;
  background: var(--c-blue-700); color: #fff;
  padding: 16px 30px; border: none; border-radius: var(--radius-btn);
  font-family: var(--f-body); font-size: 15px; font-weight: 600; letter-spacing: 0.01em;
  transition: all 0.2s ease; box-shadow: 0 2px 8px rgba(30, 64, 175, 0.2);
}
.sscb-v2 .btn-primary > .wp-block-button__link:hover { background: var(--c-blue-800); transform: translateY(-1px); box-shadow: 0 6px 16px rgba(30, 64, 175, 0.28); }
.sscb-v2 .btn-primary > .wp-block-button__link::after {
  content: ''; width: 18px; height: 18px;
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'><line x1='5' y1='12' x2='19' y2='12'/><polyline points='12 5 19 12 12 19'/></svg>");
  background-size: contain; background-repeat: no-repeat; background-position: center; transition: transform 0.2s;
}
.sscb-v2 .btn-primary > .wp-block-button__link:hover::after { transform: translateX(3px); }

.sscb-v2 .btn-ghost > .wp-block-button__link,
.sscb-v2 .btn-ghost.wp-element-button {
  display: inline-flex; align-items: center; gap: 8px;
  background: transparent; color: var(--c-blue-700);
  font-family: var(--f-body); font-weight: 600; font-size: 15px;
  padding: 8px 0; border: none; border-bottom: 1px solid currentColor; border-radius: 0; transition: all 0.2s;
}
.sscb-v2 .btn-ghost > .wp-block-button__link:hover { color: var(--c-blue-900); }
.sscb-v2 .btn-ghost > .wp-block-button__link::after {
  content: ''; width: 16px; height: 16px;
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231E40AF' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'><line x1='5' y1='12' x2='19' y2='12'/><polyline points='12 5 19 12 12 19'/></svg>");
  background-size: contain; background-repeat: no-repeat; background-position: center;
}

/* =================== HERO =================== */
.sscb-v2 .hero { padding: 80px 0 100px; position: relative; overflow: hidden; background: linear-gradient(180deg, var(--c-warm-white) 0%, var(--c-blue-50) 100%); }
.sscb-v2 .hero::before { content: ''; position: absolute; top: -300px; right: -150px; width: 700px; height: 700px; background: radial-gradient(circle, var(--c-blue-100) 0%, transparent 65%); z-index: 0; pointer-events: none; opacity: 0.5; }
.sscb-v2 .hero__grid { position: relative; z-index: 1; display: grid; grid-template-columns: 1.1fr 1fr; gap: 80px; align-items: center; }
.sscb-v2 .hero__badge { display: inline-flex; align-items: center; gap: 8px; background: #fff; color: var(--c-blue-700); padding: 10px 18px; border-radius: var(--radius-sm); font-size: 13px; font-weight: 600; margin: 0 0 32px; border: 1px solid var(--c-blue-100); box-shadow: var(--shadow-sm); width: fit-content; }
.sscb-v2 .hero__badge::before { content: ''; width: 8px; height: 8px; background: var(--c-success); border-radius: 50%; animation: sscbPulse 2s infinite; }
.sscb-v2 .hero__headline { font-size: clamp(40px, 5.5vw, 68px); margin: 0 0 24px; color: var(--c-blue-900); }
.sscb-v2 .hero__headline em { font-style: italic; color: var(--c-blue-600); font-weight: 400; }
.sscb-v2 .hero__headline strong { font-weight: 700; display: block; margin-top: 4px; background: linear-gradient(120deg, var(--c-blue-700), var(--c-blue-500)); -webkit-background-clip: text; -webkit-text-fill-color: transparent; background-clip: text; }
.sscb-v2 .hero__subhead { font-size: 19px; color: var(--c-muted); line-height: 1.65; margin: 0 0 36px; max-width: 540px; font-weight: 400; }
.sscb-v2 .hero__subhead strong { color: var(--c-ink); font-weight: 600; }
.sscb-v2 .hero__bullets { margin: 0 0 40px; display: grid; gap: 14px; }
.sscb-v2 .hero__bullets li { display: flex; align-items: flex-start; gap: 12px; font-size: 15.5px; color: var(--c-ink); font-weight: 400; }
.sscb-v2 .hero__bullets li::before { content: ''; flex-shrink: 0; width: 22px; height: 22px; background: var(--c-blue-700); border-radius: 50%; background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'><polyline points='20 6 9 17 4 12'/></svg>"); background-size: 14px; background-position: center; background-repeat: no-repeat; margin-top: 2px; }
.sscb-v2 .hero__cta-row { display: flex; align-items: center; gap: 24px; flex-wrap: wrap; }
.sscb-v2 .hero__trust { margin-top: 36px; display: flex; align-items: center; gap: 16px; }
.sscb-v2 .trust-avatars { display: flex; }
.sscb-v2 .trust-avatars span { width: 36px; height: 36px; border-radius: 50%; border: 2px solid #fff; background: linear-gradient(135deg, var(--c-blue-100), var(--c-blue-50)); margin-left: -10px; display: flex; align-items: center; justify-content: center; font-size: 12px; font-weight: 700; color: var(--c-blue-700); }
.sscb-v2 .trust-avatars span:first-child { margin-left: 0; }
.sscb-v2 .hero__trust-text { font-size: 14px; color: var(--c-muted); line-height: 1.4; }
.sscb-v2 .hero__trust-text strong { color: var(--c-ink); display: block; font-weight: 700; }
.sscb-v2 .hero__visual { position: relative; aspect-ratio: 4/5; border-radius: var(--radius-lg); background: linear-gradient(135deg, var(--c-blue-100) 0%, var(--c-blue-50) 50%, var(--c-rose-soft) 100%); overflow: hidden; box-shadow: var(--shadow-lg); border: 1px solid var(--c-line); }
.sscb-v2 .hero__visual .wp-block-image, .sscb-v2 .hero__visual figure, .sscb-v2 .hero__visual img { margin: 0; width: 100%; height: 100%; }
.sscb-v2 .hero__visual img { object-fit: cover; }
.sscb-v2 .hero__visual-tag { position: absolute; top: 24px; right: 24px; z-index: 2; background: #fff; padding: 14px 18px; border-radius: var(--radius-sm); box-shadow: var(--shadow-md); font-size: 12px; display: flex; align-items: center; gap: 10px; font-weight: 600; color: var(--c-blue-800); margin: 0; }
.sscb-v2 .hero__visual-tag::before { content: '🇨🇭'; font-size: 18px; }
.sscb-v2 .photo-placeholder { position: absolute; bottom: 24px; left: 24px; right: 24px; z-index: 1; background: rgba(255,255,255,0.95); padding: 12px 18px; border-radius: var(--radius-sm); font-size: 12px; color: var(--c-muted); font-weight: 500; letter-spacing: 0.02em; margin: 0; }

/* =================== EMPATHY =================== */
.sscb-v2 .empathy { padding: 100px 0; background: var(--c-cream); text-align: center; position: relative; }
.sscb-v2 .empathy h2 { font-size: clamp(32px, 4vw, 48px); margin: 0 0 28px; color: var(--c-blue-900); }
.sscb-v2 .empathy p { font-size: 19px; color: var(--c-muted); line-height: 1.7; margin: 0 0 16px; }
.sscb-v2 .empathy p strong { display: block; font-size: 22px; color: var(--c-ink); font-weight: 600; margin-top: 28px; font-family: var(--f-display); font-style: italic; }
.sscb-v2 .empathy .wp-block-buttons { margin-top: 36px; justify-content: center; }

/* =================== CHOICES =================== */
.sscb-v2 .choices { padding: 120px 0; background: var(--c-warm-white); position: relative; overflow: hidden; }
.sscb-v2 .choices::before { content: ''; position: absolute; bottom: -200px; left: -200px; width: 500px; height: 500px; background: radial-gradient(circle, var(--c-blue-50) 0%, transparent 70%); pointer-events: none; }
.sscb-v2 .choices__head { text-align: center; max-width: 760px; margin: 0 auto 72px; position: relative; }
.sscb-v2 .choices__head .eyebrow { margin: 0 0 16px; display: inline-block; }
.sscb-v2 .choices__head h2 { font-size: clamp(36px, 4.5vw, 56px); margin: 0 0 20px; color: var(--c-blue-900); line-height: 1.1; }
.sscb-v2 .choices__head h2 em { font-style: italic; color: var(--c-blue-600); font-weight: 400; }
.sscb-v2 .choices__head p { color: var(--c-muted); font-size: 18px; }
.sscb-v2 .choices__grid { display: grid; grid-template-columns: 1fr 1fr; gap: 32px; position: relative; }
.sscb-v2 .choices__col { padding: 44px 40px; border-radius: var(--radius-lg); position: relative; display: flex; flex-direction: column; }
.sscb-v2 .choices__col--soft { background: var(--c-cream); border: 1px solid var(--c-line); }
.sscb-v2 .choices__col--bold { background: var(--c-blue-900); color: #fff; box-shadow: var(--shadow-lg); }
.sscb-v2 .choices__col-head { display: flex; align-items: center; gap: 14px; margin: 0 0 24px; padding-bottom: 22px; border-bottom: 1px solid rgba(0,0,0,0.08); }
.sscb-v2 .choices__col--bold .choices__col-head { border-bottom-color: rgba(255,255,255,0.15); }
.sscb-v2 .choices__icon { width: 48px; height: 48px; background: #fff; border-radius: 12px; display: flex; align-items: center; justify-content: center; font-size: 22px; box-shadow: var(--shadow-sm); flex-shrink: 0; margin: 0; }
.sscb-v2 .choices__col--bold .choices__icon { background: rgba(255,255,255,0.12); backdrop-filter: blur(8px); }
.sscb-v2 .choices__col-head h3 { font-family: var(--f-display); font-size: 26px; font-weight: 500; letter-spacing: -0.01em; }
.sscb-v2 .choices__col--soft .choices__col-head h3 { color: var(--c-blue-900); }
.sscb-v2 .choices__list li { padding: 13px 0; border-bottom: 1px dashed rgba(0,0,0,0.08); font-size: 16px; color: var(--c-muted); }
.sscb-v2 .choices__list li:last-child { border-bottom: none; }
.sscb-v2 .choices__list li strong { color: var(--c-ink); font-weight: 600; }
.sscb-v2 .choices__items { display: block; }
.sscb-v2 .choice-item { padding: 18px 0; border-bottom: 1px solid rgba(255,255,255,0.1); }
.sscb-v2 .choice-item:last-child { border-bottom: none; }
.sscb-v2 .choice-item__title { color: #fff; font-size: 17px; font-weight: 600; margin: 0 0 4px; font-family: var(--f-body); letter-spacing: -0.005em; }
.sscb-v2 .choice-item__desc { font-size: 14px; color: rgba(255,255,255,0.6); line-height: 1.5; margin: 0; }
.sscb-v2 .names-widget { margin-top: 28px; background: #fff; border-radius: var(--radius); padding: 26px; border: 1px solid var(--c-line); box-shadow: var(--shadow-sm); position: relative; }
.sscb-v2 .names-widget__head { margin-bottom: 22px; }
.sscb-v2 .names-widget__label { font-size: 11px; font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase; color: var(--c-blue-600); display: inline-flex; align-items: center; gap: 6px; margin: 0 0 8px; }
.sscb-v2 .names-widget__head h4 { font-family: var(--f-display); font-size: 22px; font-weight: 500; color: var(--c-blue-900); letter-spacing: -0.01em; line-height: 1.2; }
.sscb-v2 .names-widget__head .year { font-size: 13px; color: var(--c-muted); font-weight: 500; display: block; margin-top: 4px; }
.sscb-v2 .names-widget__cols { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; margin-bottom: 18px; }
.sscb-v2 .names-widget__title { font-size: 11px; font-weight: 700; letter-spacing: 0.06em; color: var(--c-muted); text-transform: uppercase; margin: 0 0 12px; padding-bottom: 8px; border-bottom: 1px solid var(--c-line); }
.sscb-v2 .names-widget ol { counter-reset: rank; }
.sscb-v2 .names-widget ol li { counter-increment: rank; padding: 6px 0; font-size: 15px; color: var(--c-ink); display: flex; align-items: center; gap: 10px; }
.sscb-v2 .names-widget ol li::before { content: counter(rank); font-family: var(--f-display); font-size: 11px; width: 20px; height: 20px; background: var(--c-blue-50); color: var(--c-blue-700); border-radius: 50%; display: flex; align-items: center; justify-content: center; font-weight: 600; flex-shrink: 0; }
.sscb-v2 .names-widget ol li:first-child::before { background: var(--c-blue-700); color: #fff; }
.sscb-v2 .names-widget ol li:first-child strong { color: var(--c-blue-900); font-weight: 700; }
.sscb-v2 .names-widget__link { display: flex; align-items: center; justify-content: space-between; font-size: 13px; color: var(--c-blue-700); font-weight: 600; padding-top: 14px; border-top: 1px solid var(--c-line); margin: 0; }
.sscb-v2 .names-widget__link:hover { color: var(--c-blue-900); }
.sscb-v2 .names-widget__link::after { content: ''; width: 14px; height: 14px; background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231E40AF' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'><line x1='7' y1='17' x2='17' y2='7'/><polyline points='7 7 17 7 17 17'/></svg>"); background-size: contain; background-repeat: no-repeat; background-position: center; }
.sscb-v2 .choices__cta { margin-top: auto; padding-top: 28px; }
.sscb-v2 .choices__cta .wp-block-button__link { width: 100%; justify-content: center; }

/* =================== CURRICULUM =================== */
.sscb-v2 .curriculum { padding: 120px 0; }
.sscb-v2 .curriculum__head { text-align: center; max-width: 720px; margin: 0 auto 72px; }
.sscb-v2 .curriculum__head .eyebrow { margin: 0 0 16px; display: inline-block; }
.sscb-v2 .curriculum__head h2 { font-size: clamp(36px, 4.5vw, 56px); margin: 0 0 20px; color: var(--c-blue-900); }
.sscb-v2 .curriculum__head p { color: var(--c-muted); font-size: 18px; }
.sscb-v2 .cards-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; }
.sscb-v2 .card { background: #fff; border-radius: var(--radius-lg); padding: 36px 32px; border: 1px solid var(--c-line); transition: all 0.3s; display: flex; flex-direction: column; min-height: 460px; }
.sscb-v2 .card:hover { transform: translateY(-6px); box-shadow: var(--shadow-lg); border-color: var(--c-blue-100); }
.sscb-v2 .card__num { width: 52px; height: 52px; background: var(--c-blue-50); border-radius: 14px; display: flex; align-items: center; justify-content: center; font-family: var(--f-display); font-weight: 600; font-size: 22px; color: var(--c-blue-700); margin: 0 0 28px; }
.sscb-v2 .card__title { font-family: var(--f-display); font-size: 28px; font-weight: 500; color: var(--c-blue-900); margin: 0 0 8px; letter-spacing: -0.01em; }
.sscb-v2 .card__subtitle { font-size: 14px; color: var(--c-blue-600); font-weight: 600; margin: 0 0 24px; letter-spacing: 0.02em; }
.sscb-v2 .card__list li { font-size: 15px; color: var(--c-muted); padding: 10px 0; border-bottom: 1px dashed var(--c-line); display: flex; align-items: flex-start; gap: 10px; }
.sscb-v2 .card__list li:last-child { border-bottom: none; }
.sscb-v2 .card__list li::before { content: '—'; color: var(--c-blue-600); font-weight: 600; flex-shrink: 0; }
.sscb-v2 .curriculum__cta { text-align: center; margin-top: 64px; }
.sscb-v2 .curriculum__cta .wp-block-buttons { justify-content: center; }

/* =================== VANESSA =================== */
.sscb-v2 .vanessa { padding: 120px 0; background: linear-gradient(180deg, var(--c-warm-white) 0%, var(--c-blue-50) 100%); }
.sscb-v2 .vanessa__grid { display: grid; grid-template-columns: 1fr 1.2fr; gap: 80px; align-items: center; }
.sscb-v2 .vanessa__photo { aspect-ratio: 4/5; border-radius: var(--radius-lg); background: linear-gradient(160deg, #D4DDE9 0%, #B5C5D9 100%); position: relative; overflow: hidden; box-shadow: var(--shadow-lg); }
.sscb-v2 .vanessa__photo .wp-block-image, .sscb-v2 .vanessa__photo figure, .sscb-v2 .vanessa__photo img { margin: 0; width: 100%; height: 100%; }
.sscb-v2 .vanessa__photo img { object-fit: cover; }
.sscb-v2 .vanessa__photo-badge { position: absolute; bottom: 88px; left: 24px; z-index: 2; background: var(--c-blue-700); color: #fff; padding: 14px 20px; border-radius: 14px; box-shadow: var(--shadow-md); }
.sscb-v2 .vanessa__photo-badge strong { display: block; font-family: var(--f-display); font-size: 24px; font-weight: 600; line-height: 1; }
.sscb-v2 .vanessa__photo-badge span { font-size: 12px; opacity: 0.9; letter-spacing: 0.04em; }
.sscb-v2 .vanessa__content .eyebrow { margin: 0 0 16px; display: inline-block; }
.sscb-v2 .vanessa__content h2 { font-size: clamp(32px, 4vw, 48px); margin: 0 0 12px; color: var(--c-blue-900); }
.sscb-v2 .vanessa__role { font-size: 17px; color: var(--c-blue-600); font-weight: 600; margin: 0 0 24px; }
.sscb-v2 .vanessa__body { font-size: 17px; color: var(--c-muted); margin: 0 0 32px; line-height: 1.7; }
.sscb-v2 .vanessa__quote { background: #fff; border-left: 3px solid var(--c-blue-700); padding: 28px 32px; border-radius: 0 16px 16px 0; font-family: var(--f-display); font-size: 19px; font-style: italic; color: var(--c-blue-900); line-height: 1.5; margin: 0 0 28px; box-shadow: var(--shadow-sm); }
.sscb-v2 .vanessa__quote::before { content: '"'; font-size: 48px; line-height: 0.5; color: var(--c-blue-600); display: block; margin-bottom: 8px; }
.sscb-v2 .vanessa__quote cite, .sscb-v2 .vanessa__quote-author { display: block; font-style: normal; font-family: var(--f-body); font-size: 14px; color: var(--c-muted); margin-top: 16px; font-weight: 500; }

/* =================== NUMBERS =================== */
.sscb-v2 .numbers { background: var(--c-blue-900); color: #fff; padding: 80px 0; position: relative; overflow: hidden; }
.sscb-v2 .numbers::before { content: ''; position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); width: 800px; height: 800px; background: radial-gradient(circle, rgba(42, 82, 152, 0.4) 0%, transparent 70%); pointer-events: none; }
.sscb-v2 .numbers__inner { position: relative; display: grid; grid-template-columns: repeat(4, 1fr); gap: 24px; text-align: center; }
.sscb-v2 .stat__num { font-family: var(--f-display); font-weight: 500; font-size: clamp(48px, 6vw, 84px); line-height: 1; background: linear-gradient(135deg, #ffffff 0%, #B5C5D9 100%); -webkit-background-clip: text; -webkit-text-fill-color: transparent; background-clip: text; margin: 0 0 12px; letter-spacing: -0.02em; }
.sscb-v2 .stat__label { font-size: 14px; letter-spacing: 0.04em; opacity: 0.8; text-transform: lowercase; }

/* =================== BRAND =================== */
.sscb-v2 .brand { padding: 120px 0; }
.sscb-v2 .brand__grid { display: grid; grid-template-columns: 1fr 1fr; gap: 80px; align-items: center; }
.sscb-v2 .brand__content .eyebrow { margin: 0 0 16px; display: inline-block; }
.sscb-v2 .brand__content h2 { font-size: clamp(32px, 4vw, 48px); margin: 0 0 24px; color: var(--c-blue-900); }
.sscb-v2 .brand__content p { font-size: 17px; color: var(--c-muted); line-height: 1.7; margin: 0 0 16px; }
.sscb-v2 .brand__content p strong { color: var(--c-ink); font-weight: 600; }
.sscb-v2 .brand__content .brand__claim { font-family: var(--f-display); font-style: italic; font-size: 20px; color: var(--c-blue-800); margin: 28px 0; }
.sscb-v2 .brand__visual { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.sscb-v2 .cert-box { aspect-ratio: 1; background: #fff; border-radius: var(--radius); border: 1px solid var(--c-line); display: flex; flex-direction: column; align-items: center; justify-content: center; padding: 24px; text-align: center; transition: all 0.3s; }
.sscb-v2 .cert-box:hover { border-color: var(--c-blue-600); box-shadow: var(--shadow-md); }
.sscb-v2 .cert-box__icon { width: 56px; height: 56px; background: var(--c-blue-50); border-radius: 50%; display: flex; align-items: center; justify-content: center; font-size: 28px; margin: 0 0 16px; }
.sscb-v2 .cert-box__title { font-family: var(--f-display); font-weight: 600; font-size: 18px; color: var(--c-blue-900); margin: 0 0 4px; }
.sscb-v2 .cert-box__sub { font-size: 12px; color: var(--c-muted); letter-spacing: 0.04em; }
.sscb-v2 .cert-box--accent { background: var(--c-blue-700); color: #fff; border-color: var(--c-blue-700); }
.sscb-v2 .cert-box--accent .cert-box__icon { background: rgba(255,255,255,0.15); }
.sscb-v2 .cert-box--accent .cert-box__title { color: #fff; }
.sscb-v2 .cert-box--accent .cert-box__sub { color: rgba(255,255,255,0.8); }

/* =================== FAQ =================== */
.sscb-v2 .faq { background: var(--c-cream); padding: 120px 0; }
.sscb-v2 .faq__head { text-align: center; margin-bottom: 64px; }
.sscb-v2 .faq__head h2 { font-size: clamp(36px, 4.5vw, 56px); color: var(--c-blue-900); margin: 0 0 12px; }
.sscb-v2 .faq__head p { color: var(--c-muted); font-size: 17px; }
.sscb-v2 .faq__list { max-width: 780px; margin: 0 auto; }
.sscb-v2 .faq-item { background: #fff; border-radius: var(--radius); margin: 0 0 12px; border: 1px solid var(--c-line); overflow: hidden; transition: all 0.2s; }
.sscb-v2 .faq-item:hover { border-color: var(--c-blue-100); }
.sscb-v2 .faq-item[open] { border-color: var(--c-blue-600); box-shadow: var(--shadow-sm); }
.sscb-v2 .faq-item summary { padding: 22px 26px; cursor: pointer; font-weight: 600; font-size: 16.5px; color: var(--c-blue-900); list-style: none; display: flex; justify-content: space-between; align-items: center; gap: 16px; }
.sscb-v2 .faq-item summary::-webkit-details-marker { display: none; }
.sscb-v2 .faq-item summary::after { content: '+'; font-family: var(--f-display); font-weight: 400; font-size: 28px; color: var(--c-blue-600); line-height: 1; transition: transform 0.3s; flex-shrink: 0; }
.sscb-v2 .faq-item[open] summary::after { transform: rotate(45deg); }
.sscb-v2 .faq-item > :not(summary) { padding: 0 26px 24px; font-size: 16px; color: var(--c-muted); line-height: 1.7; margin: 0; }
.sscb-v2 .faq-item p { margin: 0; }

/* =================== FINAL CTA + FORM =================== */
.sscb-v2 .final-cta { padding: 120px 0; background: linear-gradient(180deg, var(--c-warm-white) 0%, var(--c-blue-50) 100%); }
.sscb-v2 .final-cta__grid { display: grid; grid-template-columns: 1fr 1fr; gap: 80px; align-items: center; }
.sscb-v2 .final-cta__content h2 { font-size: clamp(36px, 4.8vw, 60px); margin: 0 0 24px; color: var(--c-blue-900); }
.sscb-v2 .final-cta__content h2 strong { font-weight: 700; background: linear-gradient(120deg, var(--c-blue-800), var(--c-blue-600)); -webkit-background-clip: text; -webkit-text-fill-color: transparent; background-clip: text; }
.sscb-v2 .final-cta__content p { font-size: 18px; color: var(--c-muted); line-height: 1.6; margin: 0 0 28px; }
.sscb-v2 .final-cta__perks li { padding: 10px 0; font-size: 15px; color: var(--c-ink); display: flex; gap: 10px; align-items: center; }
.sscb-v2 .final-cta__perks li::before { content: '✓'; color: var(--c-success); font-weight: 700; }
.sscb-v2 .form-card { background: #fff; padding: 44px; border-radius: var(--radius-lg); box-shadow: var(--shadow-lg); border: 1px solid var(--c-line); }
.sscb-v2 .form-card__title { font-family: var(--f-display); font-size: 24px; font-weight: 600; color: var(--c-blue-900); margin: 0 0 8px; }
.sscb-v2 .form-card__sub { font-size: 14px; color: var(--c-muted); margin: 0 0 28px; }
.sscb-v2 .form-card label { font-size: 13px; font-weight: 600; color: var(--c-ink); margin: 0 0 6px; letter-spacing: 0.02em; }
/* Brevo: lascia che sia il suo CSS/JS a gestire le etichette d'errore (niente display forzato che le mostrerebbe vuote come linea rossa) */
.sscb-v2 .form-card .entry__error { display: none; background: transparent; border: 0; }
.sscb-v2 .form-card .entry__error[style*="display: block"], .sscb-v2 .form-card .entry__error.entry__error--active { display: block !important; background: #ffeded; border: 1px solid #ff4949; }
.sscb-v2 .form-card input[type="text"], .sscb-v2 .form-card input[type="email"], .sscb-v2 .form-card input[type="month"], .sscb-v2 .form-card input[type="tel"], .sscb-v2 .form-card select { width: 100%; padding: 14px 16px; border: 1px solid var(--c-line); border-radius: 10px; font-family: var(--f-body); font-size: 15px; color: var(--c-ink); background: var(--c-warm-white); transition: all 0.2s; }
.sscb-v2 .form-card input:focus, .sscb-v2 .form-card select:focus { outline: none; border-color: var(--c-blue-600); box-shadow: 0 0 0 4px var(--c-blue-50); background: #fff; }
.sscb-v2 .form-card input[type="submit"], .sscb-v2 .form-card button[type="submit"] { width: 100%; background: var(--c-blue-700); color: #fff; border: none; cursor: pointer; padding: 18px; border-radius: var(--radius-btn); font-size: 16px; font-weight: 600; letter-spacing: 0.01em; transition: all 0.2s; margin-top: 8px; box-shadow: 0 2px 8px rgba(30, 64, 175, 0.2); }
.sscb-v2 .form-card input[type="submit"]:hover, .sscb-v2 .form-card button[type="submit"]:hover { background: var(--c-blue-800); transform: translateY(-1px); box-shadow: 0 6px 16px rgba(30, 64, 175, 0.28); }
.sscb-v2 .form-footer { text-align: center; margin-top: 18px; font-size: 12px; color: var(--c-muted); }

/* --- Override form Brevo (sibwp) per fonderlo nella .form-card --- */
.sscb-v2 .form-card .sib-form { padding: 0 !important; margin: 0 !important; background: transparent !important; text-align: left !important; }
.sscb-v2 .form-card #sib-container, .sscb-v2 .form-card .sib-container { max-width: 100% !important; padding: 0 !important; margin: 0 !important; background: transparent !important; border: 0 !important; border-radius: 0 !important; }
.sscb-v2 .form-card .sib-form-block { padding: 0 0 18px !important; }
.sscb-v2 .form-card .entry__label, .sscb-v2 .form-card .sib-form .entry__label { font-family: var(--f-body) !important; font-size: 13px !important; font-weight: 600 !important; color: var(--c-ink) !important; margin: 0 0 6px !important; }
.sscb-v2 .form-card .sib-form .input, .sscb-v2 .form-card .sib-form input[type="text"], .sscb-v2 .form-card .sib-form input[type="email"], .sscb-v2 .form-card .sib-form input[type="tel"], .sscb-v2 .form-card .sib-form input[type="number"], .sscb-v2 .form-card .sib-form select { width: 100% !important; padding: 14px 16px !important; border: 1px solid var(--c-line) !important; border-radius: 10px !important; font-family: var(--f-body) !important; font-size: 15px !important; color: var(--c-ink) !important; background: var(--c-warm-white) !important; box-shadow: none !important; }
.sscb-v2 .form-card .sib-form .input:focus, .sscb-v2 .form-card .sib-form select:focus { border-color: var(--c-blue-600) !important; box-shadow: 0 0 0 4px var(--c-blue-50) !important; background: #fff !important; }
.sscb-v2 .form-card .sib-form-block__button, .sscb-v2 .form-card .sib-form button[type="submit"] { width: 100% !important; background: var(--c-blue-700) !important; color: #fff !important; border: none !important; cursor: pointer !important; padding: 18px !important; border-radius: var(--radius-btn) !important; font-family: var(--f-body) !important; font-size: 16px !important; font-weight: 600 !important; letter-spacing: 0.01em !important; box-shadow: 0 2px 8px rgba(30, 64, 175, 0.2) !important; transition: all 0.2s !important; }
.sscb-v2 .form-card .sib-form-block__button:hover, .sscb-v2 .form-card .sib-form button[type="submit"]:hover { background: var(--c-blue-800) !important; transform: translateY(-1px); box-shadow: 0 6px 16px rgba(30, 64, 175, 0.28) !important; }
.sscb-v2 .form-card .sib-checkbox-row, .sscb-v2 .form-card .entry__choice { font-size: 13px !important; color: var(--c-muted) !important; }

/* === SCROLL ANIMATIONS (solo CSS) === */
.sscb-v2 .hero__badge, .sscb-v2 .hero__headline, .sscb-v2 .hero__subhead,
.sscb-v2 .hero__bullets, .sscb-v2 .hero__cta-row, .sscb-v2 .hero__trust { animation: sscbFadeUp 0.7s ease-out backwards; }
.sscb-v2 .hero__badge { animation-delay: 0.05s; }
.sscb-v2 .hero__headline { animation-delay: 0.15s; }
.sscb-v2 .hero__subhead { animation-delay: 0.25s; }
.sscb-v2 .hero__bullets { animation-delay: 0.35s; }
.sscb-v2 .hero__cta-row { animation-delay: 0.45s; }
.sscb-v2 .hero__trust { animation-delay: 0.55s; }
.sscb-v2 .hero__visual { animation: sscbFadeUp 0.9s ease-out 0.3s backwards; }

/* === KEYFRAMES (globali, prefissati) === */
@keyframes sscbPulse { 0%, 100% { opacity: 1; transform: scale(1); } 50% { opacity: 0.6; transform: scale(1.2); } }
@keyframes sscbFadeUp { from { opacity: 0; transform: translateY(20px); } to { opacity: 1; transform: translateY(0); } }

/* === RESPONSIVE === */
@media (max-width: 900px) {
  .sscb-v2 .hero { padding: 48px 0 64px; }
  .sscb-v2 .hero__grid { grid-template-columns: 1fr; gap: 48px; }
  .sscb-v2 .vanessa__grid, .sscb-v2 .brand__grid, .sscb-v2 .final-cta__grid { grid-template-columns: 1fr; gap: 48px; }
  .sscb-v2 .cards-grid { grid-template-columns: 1fr; }
  .sscb-v2 .numbers__inner { grid-template-columns: repeat(2, 1fr); gap: 40px; }
  .sscb-v2 .form-card { padding: 28px; }
  .sscb-v2 .choices { padding: 72px 0; }
  .sscb-v2 .choices__grid { grid-template-columns: 1fr; gap: 24px; }
  .sscb-v2 .choices__col { padding: 32px 28px; }
}
@media (max-width: 600px) {
  .sscb-v2 .hero__cta-row { flex-direction: column; align-items: flex-start; }
  .sscb-v2 .numbers__inner { grid-template-columns: 1fr; }
}


/* =================== HEADER landing (standalone: non dipende da .sscb-v2) =================== */
.sscb-header { position: sticky; top: 0; z-index: 50; background: rgba(255,255,255,0.96); backdrop-filter: blur(12px); border-bottom: 1px solid #E2E8F0; font-family: 'Rubik', system-ui, -apple-system, sans-serif; }
/* reset margini/box per header-trust-footer (stanno FUORI da .sscb-v2) */
.sscb-header *, .sscb-trust *, .sscb-footer * { box-sizing: border-box; }
.sscb-header p, .sscb-header h1, .sscb-header h2, .sscb-header h3, .sscb-header h4,
.sscb-trust p,
.sscb-footer p, .sscb-footer h1, .sscb-footer h2, .sscb-footer h3, .sscb-footer h4, .sscb-footer ul, .sscb-footer li { margin: 0; padding: 0; }
.sscb-header ul, .sscb-footer ul { list-style: none; }
.sscb-header .wp-block-buttons, .sscb-header .wp-block-button { margin: 0; }

.sscb-header .container, .sscb-trust .container, .sscb-footer .container { max-width: 1180px; margin: 0 auto; padding: 0 24px; }
.sscb-header .sscb-header__inner { display: flex; align-items: center; justify-content: space-between; padding-top: 18px; padding-bottom: 18px; }
.sscb-logo { margin: 0; font-weight: 700; letter-spacing: 0.04em; color: #1E40AF; font-size: 16px; }
.sscb-header .wp-block-image, .sscb-footer .wp-block-image, figure.sscb-logo { margin: 0; }
.sscb-logo img { height: 44px; width: auto; }
.sscb-header-cta > .wp-block-button__link { background: #1E40AF; color: #fff; padding: 12px 24px; border: none; border-radius: 6px; font-family: inherit; font-size: 14px; font-weight: 600; letter-spacing: 0.01em; transition: all .2s; }
.sscb-header-cta > .wp-block-button__link:hover { background: #15347A; transform: translateY(-1px); }
.sscb-header__actions { display: flex !important; flex-direction: row !important; align-items: center !important; gap: 16px; margin: 0; }
.sscb-lang { position: relative; display: inline-block; margin: 0; order: 0; }
.sscb-header__actions .wp-block-buttons { order: 1; }
.sscb-lang > summary { list-style: none; cursor: pointer; display: inline-flex; align-items: center; gap: 7px; font-size: 13px; font-weight: 600; letter-spacing: 0.04em; color: #1E40AF; padding: 9px 14px; border: 1px solid #E2E8F0; border-radius: 6px; background: #fff; transition: border-color .2s, background .2s; -webkit-appearance: none; appearance: none; white-space: nowrap; }
.sscb-lang > summary::-webkit-details-marker { display: none; }
.sscb-lang > summary::marker { content: ""; }
.sscb-lang > summary::after { content: ""; display: inline-block; width: 7px; height: 7px; border-right: 2px solid #64748B; border-bottom: 2px solid #64748B; transform: rotate(45deg) translateY(-2px); transition: transform .2s; }
.sscb-lang[open] > summary { border-color: #1E40AF; background: #EFF6FF; }
.sscb-lang[open] > summary::after { transform: rotate(-135deg) translateY(1px); }
.sscb-lang__menu { position: absolute; top: calc(100% + 8px); right: 0; min-width: 170px; background: #fff; border: 1px solid #E2E8F0; border-radius: 10px; box-shadow: 0 10px 30px rgba(15,23,42,0.14); padding: 6px; z-index: 60; flex-direction: column; gap: 2px; }
.sscb-lang:not([open]) > .sscb-lang__menu { display: none; }
.sscb-lang[open] > .sscb-lang__menu { display: flex; }
.sscb-lang__menu a { display: block; font-size: 14px; font-weight: 500; color: #334155; padding: 9px 12px; border-radius: 6px; text-decoration: none; white-space: nowrap; transition: background .2s, color .2s; }
.sscb-lang__menu a:hover { background: #EFF6FF; color: #1E40AF; }
.sscb-lang__menu a.is-active { background: #EFF6FF; color: #1E40AF; font-weight: 700; }

.sscb-trust { background: #0E2A66; padding: 11px 16px; font-family: 'Rubik', system-ui, -apple-system, sans-serif; }
.sscb-trust .sscb-trust__line, .sscb-trust p { color: #fff; font-size: 13px; font-weight: 500; text-align: center; margin: 0; line-height: 1.6; opacity: 0.95; }

/* =================== FOOTER landing (standalone) =================== */
.sscb-footer { background: #0E2A66; color: #fff; padding: 64px 0 32px; font-family: 'Rubik', system-ui, -apple-system, sans-serif; }
.sscb-footer__grid { display: grid; grid-template-columns: 2fr 1fr 1fr 1fr; gap: 48px; padding-bottom: 48px; border-bottom: 1px solid rgba(255,255,255,0.1); margin-bottom: 24px; }
.sscb-footer__brand .sscb-logo { color: #fff; }
.sscb-footer__brand .sscb-logo img { height: 38px; opacity: 0.9; }
.sscb-footer__brand p { font-size: 14px; opacity: 0.7; margin: 16px 0 0; line-height: 1.6; max-width: 320px; }
.sscb-footer__col h4 { font-size: 13px; font-weight: 600; letter-spacing: 0.06em; text-transform: uppercase; margin: 0 0 18px; opacity: 0.6; color: #fff; }
.sscb-footer__col ul { list-style: none; margin: 0; padding: 0; }
.sscb-footer__col li { padding: 6px 0; font-size: 14px; opacity: 0.85; }
.sscb-footer__bottom { display: flex; justify-content: space-between; align-items: center; font-size: 12px; opacity: 0.5; gap: 16px; }
.sscb-footer__bottom p { margin: 0; }
.sscb-footer__certs { display: flex; gap: 16px; }
.sscb-footer__certs p { padding: 6px 14px; border: 1px solid rgba(255,255,255,0.18); border-radius: 6px; font-size: 11px; letter-spacing: 0.06em; font-weight: 600; margin: 0; }
.sscb-footer__col a, .sscb-footer__brand a { color: inherit; text-decoration: none; }
.sscb-footer__col a:hover { opacity: 1; }
.sscb-footer__h4-gap { margin-top: 24px !important; }
.sscb-footer__social { display: flex; gap: 10px; margin-top: 20px; }
.sscb-footer__social a { width: 38px; height: 38px; display: flex; align-items: center; justify-content: center; border: 1px solid rgba(255,255,255,0.22); border-radius: 50%; color: rgba(255,255,255,0.85); transition: background .2s, color .2s, border-color .2s; }
.sscb-footer__social a:hover { background: #fff; color: #0E2A66; border-color: #fff; }
.sscb-footer__social svg { width: 16px; height: 16px; }

@media (max-width: 900px) {
  .sscb-footer__grid { grid-template-columns: 1fr 1fr; gap: 32px; }
  .sscb-footer__bottom { flex-direction: column; gap: 16px; }
  .sscb-trust .sscb-trust__line, .sscb-trust p { font-size: 11.5px; }
}
@media (max-width: 600px) {
  .sscb-footer__grid { grid-template-columns: 1fr; }
}
