/* ═══════════════════════════════════════════
   mobile.css — Fix e miglioramenti mobile
   
   REGOLA: modifica mobile → tocca SOLO questo file
   REGOLA: modifica desktop → tocca SOLO style.css
   
   Questo file aggiunge fix sopra style.css
   e include il blocco min-width:769px che
   garantisce zero regressioni desktop
   ═══════════════════════════════════════════ */

/* Animazioni */
@keyframes slideDown{from{transform:translateY(-100%);opacity:0}to{transform:translateY(0);opacity:1}}
@keyframes slideUpBanner{from{transform:translateY(100%)}to{transform:translateY(0)}}
@keyframes fadeIn{from{opacity:0}to{opacity:1}}
@keyframes fadeInUp{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}
@keyframes slideUp{from{transform:translateY(100%);opacity:0}to{transform:translateY(0);opacity:1}}

/* Pricing micro-copy */
.pkg-value{font-size:10px;color:var(--text-muted);font-family:'JetBrains Mono',monospace;margin-top:4px}
.pkg-card.active .pkg-value{color:rgba(200,151,58,.8)}
.pkg-card{position:relative}
.pkg-card .pkg-badge{
  position:absolute;top:-10px;left:50%;transform:translateX(-50%);
  background:var(--gold);color:var(--accent);font-size:10px;font-weight:700;
  padding:3px 10px;border-radius:10px;white-space:nowrap
}
.pkg-grid{padding-top:12px}

/* Animazioni elementi conversione */
#unlockBanner{animation:slideUpBanner .35s ease}
#exitIntentOverlay{animation:fadeIn .2s ease}
.locked-overlay > div{animation:fadeInUp .3s ease}
#pwaInstallBanner{animation:slideDown .3s ease}

/* ══════════════════════════════
   MOBILE — max-width 768px
   ══════════════════════════════ */
@media(max-width:768px){

  /* Nascondi form di default su mobile — il JS lo mostra al click CTA */
  #inputSection{display:none}
  /* Nascondi steps bar di default */
  .steps-bar{display:none}

  /* Tab modalità input — touch 44px */
  .input-mode-tabs{
    display:grid !important;
    grid-template-columns:repeat(3,1fr);
    gap:0;
    border:1.5px solid var(--border);
    border-radius:6px;
    overflow:hidden;
    width:100%;
    margin-bottom:16px;
  }
  .mode-tab{
    min-height:44px !important;
    padding:10px 4px !important;
    font-size:12px !important;
    font-weight:600 !important;
    border:none !important;
    border-radius:0 !important;
    border-right:1px solid var(--border) !important;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
    text-align:center;
  }
  .mode-tab:last-child{border-right:none !important}

  /* Textarea altezze contenute */
  #cvText{min-height:130px !important;max-height:180px !important}
  #cvScratchText{min-height:130px !important;max-height:180px !important}
  textarea[name="job_text"]{min-height:90px !important;max-height:140px !important}

  /* Font 16px — evita zoom iOS */
  input[type=text],input[type=email],input[type=tel],
  textarea,select{font-size:16px !important}

  /* Label leggibili */
  .field-label{
    font-size:13px !important;
    font-weight:600 !important;
    color:var(--text) !important;
    -webkit-text-fill-color:var(--text) !important;
  }

  /* Blocchi form compatti */
  .section-block{margin-bottom:10px !important;border-radius:8px !important}
  .block-body{padding:14px !important}
  .block-header{padding:12px 14px !important}
  .block-title{font-size:14px !important}

  /* Template grid 2 colonne */
  .template-grid{grid-template-columns:repeat(2,1fr) !important;gap:8px !important}
  .tpl-preview{height:95px !important}
  .tpl-name{font-size:11px !important}
  .template-selector-header{flex-direction:column;gap:8px}

  /* Dati personali 2 colonne */
  .grid-2{grid-template-columns:1fr 1fr !important;gap:10px !important}
  .grid-2 .field:first-child{grid-column:1/-1}

  /* ── WIZARD NAVIGATION STICKY ── */
  .mwiz-nav{
    position:sticky !important;
    bottom:0 !important;
    background:#fff !important;
    z-index:100 !important;
    padding:12px 0 20px !important;
    margin-top:16px !important;
    border-top:1px solid var(--border) !important;
    box-shadow:0 -6px 16px rgba(0,0,0,.07) !important;
  }
  .mwiz-btn-back,.mwiz-btn-next{
    min-height:48px !important;
    font-size:15px !important;
    border-radius:6px !important;
  }
  .mwiz-btn-optimize{
    min-height:54px !important;
    font-size:16px !important;
    border-radius:6px !important;
    letter-spacing:-.01em;
  }
  .mwiz-step-label{
    font-size:12px !important;
    margin-bottom:14px !important;
    padding:8px 10px;
    background:var(--muted);
    border-radius:4px;
  }

  /* ── BOTTOM NAV RISULTATI ── */
  .mob-results-nav{
    height:64px !important;
    background:#fff !important;
    border-top:1.5px solid var(--border) !important;
  }
  .mob-nav-btn{
    color:#6b6860 !important;
    font-size:10px !important;
    font-weight:600 !important;
    -webkit-text-fill-color:#6b6860 !important;
  }
  .mob-nav-btn.active{
    color:#1a1a2e !important;
    -webkit-text-fill-color:#1a1a2e !important;
    border-top-color:#1a1a2e !important;
  }
  .mob-nav-icon{font-size:22px !important;line-height:1 !important;display:block !important}

  /* ── SCORE SCREEN ── */
  .mob-score-screen{
    background:#fff !important;
    border-radius:8px !important;
    margin:8px !important;
    padding:20px 16px 84px !important;
    min-height:calc(100vh - 130px) !important;
  }
  .mob-score-big{align-items:center !important;gap:12px !important;margin-bottom:20px !important}
  .mob-score-screen .score-circle-wrap{width:82px !important;height:82px !important}
  .mob-score-screen .score-circle-big{width:98px !important;height:98px !important}
  .mob-score-screen .score-num{font-size:26px !important}
  .mob-score-screen .score-num-big{font-size:32px !important}

  /* ── CV PREVIEW MINIATURA ── */
  #mobCvPreviewWrap{
    border:1.5px solid var(--border);
    border-radius:8px;
    overflow:hidden;
    margin-bottom:16px;
    background:#f8f7f4;
    position:relative;
  }
  #mobCvScaled{
    overflow-y:auto;
    -webkit-overflow-scrolling:touch;
    max-height:360px;
  }

  /* ── WIZARD STEP NASCOSTI ── */
  .mwiz-hidden{display:none !important}

  /* ── NASCONDI ELEMENTI DESKTOP ── */
  .cv-toolbar{display:none !important}
  #cvPaper{display:none !important}
  #mobCvMessage{display:block !important}
  .tabs-nav{display:none !important}
  .tab-pane{display:none !important}
  .tab-pane.mob-active{display:block !important}
  .results-header{display:none !important}
  #results{padding-bottom:80px !important}

  /* ── MOSTRA ELEMENTI MOBILE RISULTATI ── */
  /* La bottom nav viene mostrata via JS (initMobResults) — non nasconderla */
  #mobResultsNav[style*="flex"]{display:flex !important}
  /* Mob tools screen — viene mostrato via JS (mobGoTo extra) */
  #mobToolsScreen[style*="block"],
  #mobToolsScreen[style=""] {display:block !important}
  .mob-tools-grid{display:flex !important}
  /* Score screen — mostrata via JS */
  #mobScoreScreen[style*="block"],
  #mobScoreScreen[style=""] {display:block !important}

  /* ── UNLOCK BANNER ── */
  #unlockBanner{flex-direction:column !important;padding:14px 16px !important;gap:10px !important}
  #unlockBanner > div:first-child{width:100%}
  #unlockBanner > div:last-child{width:100%;flex-direction:column !important;gap:8px !important;align-items:stretch !important}
  #unlockBanner button{width:100% !important;min-height:46px !important;font-size:14px !important}

  /* ── MODAL BOTTOM SHEET ── */
  .modal-overlay{padding:0 !important;align-items:flex-end !important}
  .modal-box{
    border-radius:16px 16px 0 0 !important;
    padding:20px 16px 32px !important;
    max-height:92vh !important;
    overflow-y:auto !important;
    width:100% !important;
    max-width:100% !important;
  }
  .pkg-grid{grid-template-columns:1fr !important;gap:8px !important}
  .btn-stripe{min-height:50px !important;font-size:15px !important;width:100% !important}

  /* ── ANALISI ── */
  .analysis-block{padding:14px !important;margin-bottom:10px !important}
  .analysis-block h3{font-size:14px !important}
  .analysis-block p{font-size:13px !important;line-height:1.6}

  /* ── REVIEW BANNER ── */
  .review-banner{margin:8px !important;padding:14px !important}
  .review-banner-inner{flex-direction:column !important;gap:10px !important}

  /* ── DEV PANEL NASCOSTO ── */
  #devTestPanel{display:none !important}

  /* ── PWA BANNER ── */
  #pwaInstallBanner{animation:slideDown .3s ease}

  /* ── CTA ACQUISTA ── */
  #ctaAcquistaBtn{display:none !important}
}

/* ── 400px ── */
@media(max-width:400px){
  .mobile-splash-title{font-size:23px !important}
  .mob-score-screen .score-num-big{font-size:28px !important}
  .mode-tab{font-size:11px !important;padding:9px 3px !important}
}

/* ════════════════════════════════════
   BUG FIX — VERIFY EMAIL BANNER MOBILE
   ════════════════════════════════════ */
@media(max-width:768px){
  /* Banner verifica email — non sticky (evita conflitto con header mobile sticky),
     testo e bottoni dimensionati per tocco */
  #verifyEmailBanner{
    position:relative !important;
    top:auto !important;
    flex-direction:column !important;
    align-items:flex-start !important;
    gap:8px !important;
    padding:10px 14px !important;
    font-size:12px !important;
  }
  #verifyEmailBanner span{
    line-height:1.5;
  }
  #verifyEmailBanner div{
    width:100%;
    justify-content:flex-end;
  }
}

/* ══════════════════════════════
   DESKTOP — ripristino esplicito
   Forza ogni stile su min-width:769px
   Non toccare — garantisce zero regressioni
   ══════════════════════════════ */
@media(min-width:769px){
  /* Su desktop inputSection sempre visibile */
  #inputSection{display:block !important}
  .steps-bar{display:flex !important}
  .cv-toolbar{display:flex !important}
  .tabs-nav{display:flex !important}
  .tab-pane{display:none !important}
  .tab-pane.active{display:block !important}
  .mob-results-nav{display:none !important}
  .mob-tools-grid{display:none !important}
  .mob-score-screen{display:none !important}
  #mobCvMessage{display:none !important}
  #cvPaper{display:block !important}
  .results-header{display:block !important}
  #results{padding-bottom:0 !important}
  .mwiz-nav{display:none !important}
  .mwiz-step-label{display:none !important}
  .mwiz-btn-optimize{display:none !important}
  .mwiz-hidden{display:block !important}
  .input-mode-tabs{display:flex !important}
  .modal-overlay{padding:20px !important;align-items:center !important}
  .modal-box{border-radius:12px !important;max-width:480px !important;width:90% !important}
  .pkg-grid{grid-template-columns:repeat(3,1fr) !important}
  #unlockBanner{flex-direction:row !important}
  #pwaInstallBanner{display:none !important}
  #ctaAcquistaBtn{display:none}
}

/* ── FIX PROPORZIONI GENERALI MOBILE ── */

/* Hero mobile */
@media(max-width:768px){
  .hero{padding:20px 0 16px !important}
  .hero h1{font-size:24px !important;line-height:1.2 !important}
  .hero-desc{font-size:13px !important}
  .stats{gap:16px !important}
  .stat-num{font-size:20px !important}
  .hero-btns{flex-direction:column;gap:8px !important}
  .hero-btns .btn{width:100% !important;justify-content:center}

  /* ATS educational */
  .ats-edu-section{padding:24px 0 !important}
  .ats-edu-title{font-size:18px !important}
  .ats-edu-flow{flex-wrap:wrap !important;gap:6px !important}
  .ats-edu-step{font-size:11px !important;padding:6px 10px !important}

  /* Pipeline loading steps */
  .pipeline{flex-wrap:wrap !important;gap:4px !important}
  .pipe-step{flex:1 !important;min-width:80px !important;font-size:10px !important}

  /* Steps bar — testo nascosto */
  .step-item span.step-label{display:none !important}
  .step-num{width:24px !important;height:24px !important;font-size:11px !important}
  .steps-inner{gap:0 !important;justify-content:space-between !important}
  .step-item{padding:0 4px !important;font-size:10px !important}

  /* Template selector */
  .template-selector{margin-bottom:10px !important}
  .tpl-badge{font-size:9px !important}
  .color-swatch{width:28px !important;height:28px !important}
  .color-swatches{gap:6px !important;flex-wrap:wrap !important}

  /* Wizard step labels */
  .mwiz-step-label{
    font-size:11px !important;
    padding:6px 10px !important;
    margin-bottom:12px !important;
  }

  /* Upload zone */
  .upload-zone{padding:20px 12px !important}
  .uz-title{font-size:13px !important}
  .uz-hint{font-size:11px !important}

  /* Chip nel risultati */
  .chips{gap:4px !important;flex-wrap:wrap !important}
  .chip{font-size:10px !important;padding:3px 8px !important}

  /* Tip box */
  .tip-box{font-size:12px !important;padding:10px 12px !important}

  /* Score circles desktop header — nascosti su mobile */
  .results-header{display:none !important}

  /* Tab pane padding su mobile */
  .tab-pane.mob-active{padding:12px 0 !important}

  /* Analysis blocks */
  .analysis-block{padding:12px !important}
  .analysis-block h3{font-size:13px !important}
  .analysis-block p{font-size:12px !important}

  /* Cover letter e LinkedIn */
  .cover-subject,.cover-body{font-size:13px !important}
  .li-section{padding:10px 12px !important}
  .li-section-title{font-size:13px !important}
  .li-content{font-size:12px !important}

  /* Colloquio */
  .tip-question{margin-bottom:16px !important}
  .tip-q{font-size:13px !important}
  .tip-a{font-size:12px !important}

  /* FAQ */
  .faq-q{font-size:13px !important;padding:14px !important}
  .faq-a{font-size:12px !important;padding:10px 14px !important}

  /* Testimonials */
  .testimonials-grid{grid-template-columns:1fr !important}
  .t-card{padding:16px !important}

  /* Footer mobile */
  .footer-grid{grid-template-columns:1fr !important;gap:16px !important}
  .footer-col{gap:8px !important}
  .footer-col-title{font-size:12px !important}
  .footer-link{font-size:12px !important}

  /* Cookie banner */
  .cookie-banner-inner{flex-direction:column !important;gap:8px !important}
  .cookie-btn{width:100% !important;text-align:center !important}

  /* Score screen mobile — no overflow */
  .mob-score-screen{
    overflow-y:auto !important;
    -webkit-overflow-scrolling:touch !important;
  }

  /* Keyword chips mobile */
  .kw-col-header{font-size:12px !important}
  .kw-col-body{padding:8px 12px !important}

  /* Social proof banner */
  .social-banner{
    left:8px !important;
    right:8px !important;
    max-width:calc(100% - 16px) !important;
    font-size:12px !important;
  }
  .sb-name{font-size:12px !important}
  .sb-action{font-size:11px !important}

  /* Mob tools grid */
  .mob-tool-card{padding:14px 12px !important;gap:10px !important}
  .mob-tool-title{font-size:14px !important}
  .mob-tool-desc{font-size:11px !important}
  .mob-tool-icon{font-size:24px !important}

  /* Review banner */
  .rev-star{font-size:28px !important}
  .review-banner-title{font-size:14px !important}
  .review-banner-desc{font-size:12px !important}

  /* Pulsante ottimizza sticky */
  #stickyOptimizeBar .btn{font-size:14px !important;padding:14px !important}
}

/* ════════════════════════════════════════════════════════════════
   BATCH B — Mobile overrides (compact, no scroll bloat)
   Target: BA ≤160px, Radar ≤180px, SP ≤120px → totale ≤460px
   ════════════════════════════════════════════════════════════════ */

@media (max-width:768px){

  /* Social Proof — compatto verticale */
  .sp-banner-mobile{
    padding:10px 12px !important;
    margin-bottom:12px !important;
    gap:8px !important;
    flex-direction:column !important;
    align-items:flex-start !important;
    max-height:120px;
  }
  .sp-banner-mobile .sp-counter{ font-size:12.5px !important; }
  .sp-banner-mobile .sp-badges{
    gap:6px !important;
    width:100%;
  }
  .sp-banner-mobile .sp-badge{
    font-size:10.5px !important;
    padding:3px 8px !important;
  }

  /* Before/After — stacked verticale compatto */
  .ba-hero-mobile{
    padding:12px 14px !important;
    margin-bottom:12px !important;
  }
  .ba-hero-mobile .ba-hero-title{
    font-size:14px !important;
    margin-bottom:10px !important;
  }
  .ba-hero-mobile .ba-grid{
    grid-template-columns:1fr !important;
    gap:6px !important;
  }
  .ba-hero-mobile .ba-col{
    padding:10px 12px !important;
  }
  .ba-hero-mobile .ba-role{
    font-size:13px !important;
    margin-bottom:4px !important;
  }
  .ba-hero-mobile .ba-summary{
    font-size:11.5px !important;
    margin-bottom:5px !important;
    line-height:1.4 !important;
  }
  .ba-hero-mobile .ba-bullets{
    font-size:11.5px !important;
    line-height:1.4 !important;
    padding-left:16px !important;
  }
  .ba-hero-mobile .ba-bullets li{ margin-bottom:2px !important; }
  .ba-hero-mobile .ba-label{ margin-bottom:5px !important; font-size:9.5px !important; }
  .ba-arrow-mobile{
    text-align:center;
    color:#c8973a;
    font-size:18px;
    line-height:1;
    padding:2px 0;
    font-weight:700;
  }

  /* Score Radar — compatto */
  .score-radar-mobile{
    padding:12px 14px 10px !important;
    margin-bottom:12px !important;
    max-height:200px;
  }
  .score-radar-mobile .radar-title{
    font-size:13px !important;
    margin-bottom:6px !important;
  }
  .score-radar-mobile .radar-svg{
    max-width:180px;
  }
  .score-radar-mobile .radar-caption{ display:none; }
}

/* Schermi molto stretti <360px — riduzione ulteriore */
@media (max-width:360px){
  .sp-banner-mobile .sp-counter{ font-size:11.5px !important; }
  .sp-banner-mobile .sp-badge{ font-size:10px !important; padding:2px 7px !important; }
  .ba-hero-mobile .ba-hero-title{ font-size:13px !important; }
  .ba-hero-mobile .ba-role{ font-size:12px !important; }
  .ba-hero-mobile .ba-summary{ font-size:11px !important; }
  .ba-hero-mobile .ba-bullets{ font-size:11px !important; }
  .score-radar-mobile .radar-svg{ max-width:160px; }
}

/* Desktop ripristino (nessun mobile-only override deve rimanere) */
@media (min-width:769px){
  .ba-arrow-mobile{ display:none !important; }
  .sp-banner-mobile, .ba-hero-mobile, .score-radar-mobile{
    /* Su desktop questi container non vengono mostrati perché Mobile li
       crea solo dentro #mobScoreScreen che è display:none su desktop */
  }
}

/* END BATCH B mobile ═════════════════════════════════════════════ */

/* ════════════════════════════════════════════════════════════════
   FIX UX BATCH B v2 — Mobile
   • Sotto-step Panoramica/Confronto/Analisi (FIX 3+5+6)
   • Hide desktop versions su mobile (FIX 4 — duplicazione)
   • DEV ADMIN reposition sopra bottom nav (FIX 7)
   • Legenda radar mobile
   • Social banner ticker reposition (FIX 1 — no overlap Before/After)
   ════════════════════════════════════════════════════════════════ */

@media (max-width:768px){

  /* ── Hide versioni DESKTOP delle iniezioni Batch B su mobile (no duplicazione) ── */
  #socialProofBanner,
  #beforeAfterHero,
  #scoreRadarDesktop{
    display:none !important;
  }

  /* ── Sotto-step tabs sticky in cima a #mobScoreScreen ── */
  .mob-score-tabs{
    display:flex;
    gap:6px;
    padding:10px 12px 8px;
    background:#fff;
    border-bottom:1px solid #ece8de;
    position:sticky;
    top:0;
    z-index:10;
    margin:-12px -12px 8px;
  }
  .mob-score-tabs .mst-btn{
    flex:1;
    background:#f6f4ee;
    border:1px solid #ece8de;
    border-radius:6px;
    padding:8px 4px;
    font-size:12px;
    font-weight:600;
    font-family:'Instrument Sans',sans-serif;
    color:#6b6860;
    cursor:pointer;
    transition:all .15s;
    -webkit-tap-highlight-color:transparent;
  }
  .mob-score-tabs .mst-btn.active{
    background:#1a1a2e;
    color:#fff;
    border-color:#1a1a2e;
  }

  /* ── Sub-divs: solo quella attiva è visibile ── */
  .mob-score-sub{
    display:none;
  }
  .mob-score-sub.mob-score-sub-active{
    display:block;
  }

  /* ── CTA prominente "Vedi il tuo CV" in Panoramica ── */
  .mob-cta-see-cv{
    display:block;
    width:100%;
    background:linear-gradient(135deg,#c8973a,#854F0B);
    color:#fff;
    border:none;
    border-radius:8px;
    padding:14px 20px;
    font-size:15px;
    font-weight:700;
    font-family:'Instrument Sans',sans-serif;
    cursor:pointer;
    margin-top:14px;
    box-shadow:0 4px 12px rgba(200,151,58,.3);
    -webkit-tap-highlight-color:transparent;
  }
  .mob-cta-see-cv:active{ transform:scale(.98); }

  /* ── Legenda radar mobile (compatta) ── */
  .radar-legend-mobile{
    margin-top:10px;
    padding:8px 10px;
    background:#fdfcfa;
    border:1px solid #ece8de;
    border-radius:6px;
    text-align:left;
  }
  .radar-legend-mobile .rl-row{
    font-size:11px;
    color:#444;
    line-height:1.4;
    padding:2px 0;
  }
  .radar-legend-mobile .rl-row strong{
    color:#1a1918;
    font-weight:700;
    display:inline-block;
    min-width:74px;
  }

  /* ── DEV ADMIN — reposition sopra bottom nav ── */
  #devTestPanel{
    bottom:80px !important;
    right:8px !important;
    max-width:200px !important;
    font-size:9px !important;
    padding:8px 10px !important;
  }
  #devTestPanel button{
    font-size:9px !important;
    padding:4px 8px !important;
  }

  /* ── Social banner ticker — eviti overlap con Before/After
        Lo riposiziono in alto (top) anziché in basso, lontano da
        contenuti chiave. Ridotto in dimensioni. ── */
  .social-banner{
    bottom:auto !important;
    top:12px !important;
    left:8px !important;
    right:8px !important;
    max-width:none !important;
    margin:0 auto !important;
    padding:8px 10px !important;
    font-size:11.5px !important;
    z-index:200 !important;
  }
  .social-banner .sb-text .sb-name{ font-size:11.5px !important; }
  .social-banner .sb-text .sb-action{ font-size:10.5px !important; }
}

/* Schermi <360px: tabs ancora più compatti */
@media (max-width:360px){
  .mob-score-tabs .mst-btn{
    font-size:11px !important;
    padding:7px 2px !important;
  }
  .mob-cta-see-cv{ font-size:14px !important; padding:12px 16px !important; }
}

/* Desktop: nessuna sotto-tab visibile, ripristino layout originale */
@media (min-width:769px){
  .mob-score-tabs,
  .mob-score-sub{
    display:revert !important;
  }
  .mob-score-tabs{ display:none !important; }
  .mob-cta-see-cv{ display:none !important; }
}

/* END FIX UX v2 mobile ══════════════════════════════════════════ */

/* ════════════════════════════════════════════════════════════════
   PRIVACY CLAUSE — mobile responsive
   ════════════════════════════════════════════════════════════════ */
@media (max-width:768px){
  .privacy-opt-row{
    padding:10px 12px !important;
    margin:10px 0 8px !important;
    gap:8px !important;
  }
  .privacy-opt-text{
    font-size:12.5px !important;
    line-height:1.35 !important;
  }
  .privacy-opt-hint{
    font-size:10.5px !important;
  }
  .privacy-clause-preview{
    font-size:8.5px !important;
    line-height:1.3 !important;
    margin-top:14px !important;
    padding-top:6px !important;
  }
}

/* ════════════════════════════════════════════════════════
   SCAN WELCOME SCREEN — schermata post-pagamento TikTok
   Stile warm /scan: #FFFAF0, #FFB800, card bianche
   ════════════════════════════════════════════════════════ */
@media (max-width:768px){

#scanWelcomeScreen {
  position:fixed;
  inset:0;
  z-index:800;
  background:linear-gradient(180deg,#FFFAF0 0%,#FFF5E0 100%);
  overflow-y:auto;
  -webkit-overflow-scrolling:touch;
  font-family:-apple-system,BlinkMacSystemFont,'SF Pro Text','Segoe UI',Roboto,sans-serif;
  -webkit-font-smoothing:antialiased;
}

.sws-inner {
  max-width:480px;
  margin:0 auto;
  padding:32px 20px 120px;
  display:flex;
  flex-direction:column;
  gap:20px;
  min-height:100%;
}

/* Header */
.sws-badge {
  display:inline-flex;
  align-items:center;
  gap:6px;
  background:rgba(45,122,79,.12);
  color:#2d7a4f;
  font-size:12px;
  font-weight:700;
  padding:5px 12px;
  border-radius:20px;
  margin-bottom:10px;
  letter-spacing:.02em;
}
.sws-title {
  font-size:38px;
  font-weight:800;
  line-height:1.1;
  letter-spacing:-0.03em;
  color:#1A1918;
  margin:0 0 10px;
}
.sws-title-dot { color:#FFB800; }
.sws-sub {
  font-size:16px;
  color:#6B6661;
  margin:0;
  line-height:1.5;
}

/* Card contenitore step */
.sws-card {
  background:#fff;
  border:1px solid #E5DDD0;
  border-radius:20px;
  padding:20px 18px;
}
.sws-card-label {
  font-size:13px;
  font-weight:700;
  color:#1A1918;
  margin-bottom:14px;
  letter-spacing:.01em;
}
.sws-optional {
  font-weight:400;
  color:#6B6661;
  font-size:12px;
  margin-left:4px;
}

/* Foto */
.sws-photo-row { display:flex; }
.sws-photo-btn {
  display:flex;
  align-items:center;
  gap:14px;
  width:100%;
  background:#FFFAF0;
  border:1.5px dashed #E5DDD0;
  border-radius:14px;
  padding:14px 16px;
  cursor:pointer;
  transition:border-color .15s, background .15s;
  -webkit-tap-highlight-color:transparent;
}
.sws-photo-btn:active { background:#FFF5E0; border-color:#FFB800; }
.sws-avatar {
  width:54px; height:54px;
  border-radius:50%;
  background:linear-gradient(135deg,#FFB800,#FF9500);
  display:flex; align-items:center; justify-content:center;
  font-size:22px; font-weight:800; color:#1A1918;
  flex-shrink:0;
  overflow:hidden;
  position:relative;
}
.sws-avatar img {
  width:100%; height:100%;
  object-fit:cover;
  position:absolute; inset:0;
  border-radius:50%;
}
.sws-photo-text { flex:1; }
.sws-photo-title { font-size:14px; font-weight:700; color:#1A1918; margin-bottom:2px; }
.sws-photo-hint  { font-size:12px; color:#6B6661; }
.sws-photo-arrow { font-size:18px; color:#6B6661; flex-shrink:0; }
.sws-photo-btn.has-photo { border-color:#FFB800; border-style:solid; }
.visually-hidden-sws {
  position:absolute; width:1px; height:1px;
  overflow:hidden; opacity:0; pointer-events:none;
}

/* Template grid */
.sws-templates {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:10px;
}
.sws-tpl-card {
  border:2px solid #E5DDD0;
  border-radius:14px;
  padding:14px 12px;
  cursor:pointer;
  background:#fff;
  transition:border-color .15s, transform .1s;
  -webkit-tap-highlight-color:transparent;
  text-align:left;
}
.sws-tpl-card:active { transform:scale(.97); }
.sws-tpl-card.selected {
  border-color:#FFB800;
  background:#FFFAF0;
}
.sws-tpl-dot {
  width:24px; height:24px;
  border-radius:6px;
  margin-bottom:8px;
}
.sws-tpl-name {
  font-size:13px;
  font-weight:700;
  color:#1A1918;
  margin-bottom:2px;
}
.sws-tpl-sector {
  font-size:11px;
  color:#6B6661;
}
.sws-tpl-check {
  display:none;
  float:right;
  color:#FFB800;
  font-size:16px;
  margin-top:-2px;
}
.sws-tpl-card.selected .sws-tpl-check { display:block; }

/* CTA sticky bottom */
.sws-cta-wrap {
  position:fixed;
  bottom:0; left:0; right:0;
  padding:12px 20px 28px;
  background:linear-gradient(180deg, transparent 0%, #FFFAF0 30%);
  z-index:801;
}
.sws-cta {
  display:flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  width:100%;
  padding:18px 24px;
  font-size:17px;
  font-weight:700;
  font-family:inherit;
  border:none;
  border-radius:14px;
  cursor:pointer;
  background:linear-gradient(135deg,#FFB800 0%,#FF9500 100%);
  color:#1A1918;
  box-shadow:0 4px 20px rgba(255,184,0,.4), 0 2px 6px rgba(0,0,0,.08);
  transition:transform .15s, box-shadow .15s;
  -webkit-tap-highlight-color:transparent;
}
.sws-cta:active { transform:scale(.97); }
.sws-cta-icon  { font-size:20px; }
.sws-cta-arrow { font-size:18px; margin-left:2px; }
.sws-cta-sub {
  text-align:center;
  font-size:12px;
  color:#6B6661;
  margin-top:8px;
}
.sws-link {
  background:none; border:none;
  color:#6B6661; text-decoration:underline;
  font-size:12px; font-family:inherit;
  cursor:pointer; padding:0;
}

} /* fine @media max-width:768px */

/* Desktop: nasconde completamente — questa schermata è SOLO mobile */
@media (min-width:769px){
  #scanWelcomeScreen { display:none !important; }
  .sws-cta-wrap { display:none !important; }
}

/* ══════════════════════════════════════════════════════════ */
/* ✨ AI REFINE BOX — stili MOBILE                             */
/* Box vive in tabCV (desktop) ma su mobile viene spostato via */
/* JS nel tab Extra. Qui: stack verticale, niente colonna dx.  */
/* ══════════════════════════════════════════════════════════ */
@media(max-width:768px){
  /* Il box su mobile diventa a colonna singola */
  .refine-box{margin-top:0 !important;border-radius:12px !important}
  .refine-box-body{display:block !important}
  .refine-chat-col{border-right:none !important;padding:14px !important}
  /* Colonna anteprima destra: nascosta su mobile (la diff è già nel bubble chat) */
  .refine-preview-col{display:none !important}
  /* Header più compatto */
  .refine-box-header{padding:12px 14px !important}
  .refine-box-icon{width:28px !important;height:28px !important;font-size:14px !important}
  .refine-box-title{font-size:13px !important}
  .refine-box-subtitle{font-size:10px !important}
  .refine-box-counter{font-size:10px !important;padding:3px 8px !important}
  /* Suggerimenti scroll orizzontale su mobile */
  .refine-suggestions{flex-wrap:nowrap !important;overflow-x:auto !important;padding-bottom:4px;-webkit-overflow-scrolling:touch}
  .refine-suggestions::-webkit-scrollbar{display:none}
  .refine-sugg-chip{white-space:nowrap !important;flex-shrink:0 !important;font-size:10px !important}
  .refine-bubble{font-size:12px !important;max-width:calc(100% - 38px) !important}
  .refine-textarea{font-size:12px !important;min-height:50px !important}
  .refine-diff-row{font-size:10px !important}
  /* Wrapper del box nel tab Extra mobile */
  .refine-extra-wrap{margin:0 0 12px}
  .refine-extra-label{padding:4px 0 8px;font-size:10px;font-family:'JetBrains Mono',monospace;color:var(--text-muted);text-transform:uppercase;letter-spacing:.1em}
}

/* Desktop restore — il box mobile-wrapper non deve interferire col desktop */
@media(min-width:769px){
  /* Su desktop la colonna anteprima destra è SEMPRE visibile */
  .refine-preview-col{display:block !important}
  .refine-box-body{display:grid !important;grid-template-columns:1fr 320px !important}
  .refine-chat-col{border-right:1px solid var(--border) !important}
  /* Il wrapper extra mobile non esiste su desktop */
  .refine-extra-wrap{display:contents !important}
  .refine-extra-label{display:none !important}
  /* Suggerimenti tornano a wrap normale */
  .refine-suggestions{flex-wrap:wrap !important;overflow-x:visible !important}
}
