/* ============================================================
   LANDING PAGE — Domo Export | Sviluppo Commerciale Medicale
   Stili specifici della landing, additivi rispetto a css/style.css
   ============================================================ */

/* ---------- Header minimale landing (no menu) ---------- */
.landing-header{
  background:#fff;
  border-bottom:1px solid var(--color-border);
  position:sticky;
  top:0;
  z-index:100;
  box-shadow:0 2px 12px rgba(10,37,64,.04);
}
.landing-header .container{
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding-top:14px;
  padding-bottom:14px;
  gap:16px;
}
.landing-header .site-logo img{height:60px;width:auto;display:block}
.landing-header .header-cta{
  display:flex;
  align-items:center;
  gap:22px;
  flex-wrap:wrap;
  justify-content:flex-end;
}
.landing-header .header-phone{
  display:inline-flex;
  align-items:center;
  gap:8px;
  font-size:.92rem;
  font-weight:600;
  color:var(--color-navy);
  letter-spacing:.02em;
}
.landing-header .header-phone i{color:var(--color-gold)}
.landing-header .header-phone:hover{color:var(--color-gold)}
.landing-header .btn-header{
  padding:11px 22px;
  font-size:.78rem;
  letter-spacing:.14em;
}
@media(max-width:640px){
  .landing-header .site-logo img{height:48px}
  .landing-header .header-phone .phone-label{display:none}
  .landing-header .btn-header{padding:9px 14px;font-size:.72rem;letter-spacing:.1em}
  .landing-header .header-cta{gap:12px}
}

/* ---------- Scarcity Bar (sopra hero) ---------- */
.scarcity-bar{
  background:var(--color-gold);
  color:#fff;
  text-align:center;
  padding:10px 20px;
  font-size:.86rem;
  font-weight:500;
  letter-spacing:.04em;
  line-height:1.5;
}
.scarcity-bar strong{font-weight:700}
.scarcity-bar .dot{
  display:inline-block;
  width:8px;
  height:8px;
  background:#fff;
  border-radius:50%;
  margin-right:8px;
  vertical-align:middle;
  animation:scarcityPulse 1.6s ease-in-out infinite;
}
@keyframes scarcityPulse{
  0%,100%{opacity:1;transform:scale(1)}
  50%{opacity:.5;transform:scale(1.25)}
}

/* ---------- Hero landing (con stats integrati) ---------- */
.landing-hero{
  position:relative;
  background-color:var(--color-navy);
  background-image:linear-gradient(rgba(10,37,64,.82),rgba(10,37,64,.94)),url('../images/hero-home.jpg');
  background-size:cover;
  background-position:center;
  color:#fff;
  padding:80px 0 60px;
}
.landing-hero::before{
  content:'';
  position:absolute;
  inset:0;
  background:linear-gradient(180deg,transparent 55%,rgba(0,0,0,.35));
  pointer-events:none;
}
.landing-hero .container{position:relative;z-index:1}
.landing-hero .hero-inner{max-width:860px}
.landing-hero .supertitle{
  display:inline-block;
  padding-bottom:10px;
  border-bottom:1px solid var(--color-gold);
  color:var(--color-gold);
  font-size:.76rem;
  font-weight:600;
  letter-spacing:.3em;
  text-transform:uppercase;
  margin-bottom:26px;
}
.landing-hero h1{
  color:#fff;
  font-size:clamp(2.2rem,4.6vw,3.4rem);
  font-weight:400;
  line-height:1.2;
  margin-bottom:22px;
}
.landing-hero h1 em{color:var(--color-gold-light);font-style:italic}
.landing-hero .lead{
  font-size:1.1rem;
  font-weight:300;
  color:rgba(255,255,255,.9);
  margin-bottom:36px;
  max-width:760px;
  line-height:1.65;
}
.landing-hero .hero-actions{
  display:flex;
  gap:14px;
  flex-wrap:wrap;
  margin-bottom:56px;
}
.landing-hero .hero-stats{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:36px;
  padding-top:44px;
  border-top:1px solid rgba(184,146,74,.35);
  max-width:820px;
}
.landing-hero .hero-stats .stat-item{text-align:left}
.landing-hero .hero-stats .num{
  font-family:var(--font-serif);
  font-size:clamp(2.4rem,4.5vw,3.2rem);
  color:var(--color-gold-light);
  font-weight:500;
  line-height:1;
  display:block;
}
.landing-hero .hero-stats .num sup{font-size:.55em;vertical-align:super;margin-left:2px}
.landing-hero .hero-stats .label{
  display:block;
  margin-top:10px;
  font-size:.82rem;
  color:rgba(255,255,255,.85);
  line-height:1.5;
  max-width:220px;
}
@media(max-width:720px){
  .landing-hero{padding:60px 0 44px}
  .landing-hero .hero-stats{grid-template-columns:1fr;gap:22px;padding-top:32px;text-align:center}
  .landing-hero .hero-stats .stat-item{text-align:center}
  .landing-hero .hero-stats .label{max-width:none;margin-left:auto;margin-right:auto}
}

/* ---------- Sezione: Aziende che supportiamo ---------- */
.target-companies{
  padding:80px 0;
  background:var(--color-ivory);
}
.target-list{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:18px;
  max-width:960px;
  margin:40px auto 0;
}
.target-item{
  display:flex;
  align-items:center;
  gap:14px;
  padding:20px 22px;
  background:#fff;
  border:1px solid var(--color-border);
  border-left:3px solid var(--color-gold);
  font-size:.98rem;
  font-weight:500;
  color:var(--color-navy);
  transition:transform .3s ease, box-shadow .3s ease;
}
.target-item:hover{
  transform:translateY(-2px);
  box-shadow:0 10px 24px rgba(10,37,64,.08);
}
.target-item i{
  color:var(--color-gold);
  font-size:1.05rem;
  flex-shrink:0;
}
@media(max-width:860px){.target-list{grid-template-columns:1fr 1fr}}
@media(max-width:540px){.target-list{grid-template-columns:1fr}}

/* ---------- Sezione: Il problema ---------- */
.problem-intro{
  max-width:820px;
  margin:0 auto 50px;
  text-align:center;
  color:var(--color-text-soft);
  font-size:1.05rem;
  line-height:1.75;
}
.problem-intro strong{
  color:var(--color-navy);
  font-weight:600;
}
.problem-grid{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:22px;
  max-width:1000px;
  margin:0 auto;
}
.problem-card{
  background:#fff;
  border:1px solid var(--color-border);
  padding:28px 30px;
  position:relative;
  transition:all .3s ease;
}
.problem-card::before{
  content:'';
  position:absolute;
  top:0;
  left:0;
  bottom:0;
  width:3px;
  background:var(--color-gold);
}
.problem-card:hover{
  transform:translateY(-3px);
  box-shadow:0 12px 30px rgba(10,37,64,.08);
}
.problem-card .warn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:38px;
  height:38px;
  background:rgba(184,146,74,.12);
  color:var(--color-gold);
  font-size:1.05rem;
  margin-bottom:16px;
}
.problem-card h3{
  font-size:1.15rem;
  margin-bottom:10px;
  font-weight:600;
  line-height:1.35;
}
.problem-card p{
  font-size:.94rem;
  color:var(--color-text-soft);
  margin:0;
  line-height:1.65;
}
.problem-conclusion{
  max-width:820px;
  margin:60px auto 0;
  padding:36px 40px;
  background:var(--color-navy);
  color:#fff;
  text-align:center;
  border-top:3px solid var(--color-gold);
}
.problem-conclusion p{
  margin:0;
  font-family:var(--font-serif);
  font-style:italic;
  font-size:1.35rem;
  line-height:1.5;
  color:#fff;
}
.problem-conclusion p em{color:var(--color-gold-light);font-style:italic}
.problem-conclusion .sub{
  font-family:var(--font-sans);
  font-style:normal;
  font-size:1rem;
  color:rgba(255,255,255,.85);
  margin-top:14px;
  line-height:1.65;
}
@media(max-width:720px){
  .problem-grid{grid-template-columns:1fr}
  .problem-conclusion{padding:30px 24px}
  .problem-conclusion p{font-size:1.15rem}
}

/* ---------- Sezione: Cosa otteni (bullet operativi) ---------- */
.outcomes-intro{
  max-width:820px;
  margin:0 auto 50px;
  text-align:center;
  color:var(--color-text-soft);
  font-size:1.05rem;
  line-height:1.75;
}
.outcomes-intro .highlight{
  display:inline-block;
  color:var(--color-navy);
  font-weight:600;
  font-size:1.12rem;
  margin-bottom:14px;
}
.outcomes-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:26px;
}
.outcome-card{
  background:#fff;
  border:1px solid var(--color-border);
  padding:34px 30px;
  position:relative;
  transition:all .3s ease;
}
.outcome-card::before{
  content:'';
  position:absolute;
  top:0;
  left:0;
  right:0;
  height:3px;
  background:var(--color-gold);
}
.outcome-card:hover{
  transform:translateY(-4px);
  box-shadow:0 14px 34px rgba(10,37,64,.09);
}
.outcome-card .icon{
  width:54px;
  height:54px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border:1px solid var(--color-gold);
  color:var(--color-gold);
  font-size:1.35rem;
  margin-bottom:22px;
}
.outcome-card h3{
  font-size:1.2rem;
  font-weight:500;
  margin-bottom:12px;
  line-height:1.35;
}
.outcome-card p{
  color:var(--color-text-soft);
  font-size:.95rem;
  margin:0;
  line-height:1.65;
}
@media(max-width:900px){.outcomes-grid{grid-template-columns:1fr 1fr}}
@media(max-width:600px){.outcomes-grid{grid-template-columns:1fr}}

/* ---------- Sezione: Come lavoriamo (metodo) ---------- */
.method-steps{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:26px;
  max-width:1100px;
  margin:0 auto;
}
.method-step{
  position:relative;
  padding:32px 26px 28px;
  background:#fff;
  border:1px solid var(--color-border);
  text-align:center;
}
.method-step .step-num{
  display:inline-block;
  font-family:var(--font-serif);
  font-style:italic;
  color:var(--color-gold);
  font-size:2.2rem;
  line-height:1;
  margin-bottom:14px;
}
.method-step .step-num::after{
  content:'';
  display:block;
  width:32px;
  height:1px;
  background:var(--color-gold);
  margin:10px auto 0;
}
.method-step h3{
  font-size:1.08rem;
  font-weight:600;
  margin-bottom:10px;
  line-height:1.35;
}
.method-step p{
  color:var(--color-text-soft);
  font-size:.9rem;
  line-height:1.6;
  margin:0;
}
@media(max-width:900px){.method-steps{grid-template-columns:1fr 1fr}}
@media(max-width:520px){.method-steps{grid-template-columns:1fr}}

/* ---------- Sezione: A chi ci rivolgiamo (ICP) ---------- */
.icp-block{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:60px;
  align-items:center;
  max-width:1100px;
  margin:0 auto;
}
.icp-block .icp-visual{
  background:var(--color-ivory);
  padding:44px 40px;
  border-top:3px solid var(--color-gold);
}
.icp-block .icp-visual h3{
  font-size:1.05rem;
  font-weight:600;
  letter-spacing:.06em;
  color:var(--color-navy);
  margin-bottom:22px;
  text-transform:uppercase;
  font-family:var(--font-sans);
  font-size:.8rem;
  letter-spacing:.2em;
}
.icp-list{list-style:none;padding:0;margin:0}
.icp-list li{
  display:flex;
  align-items:flex-start;
  gap:14px;
  padding:14px 0;
  border-bottom:1px solid var(--color-border);
  font-size:1rem;
  color:var(--color-navy);
  font-weight:500;
}
.icp-list li:last-child{border-bottom:none}
.icp-list li i{
  color:var(--color-gold);
  font-size:.9rem;
  margin-top:6px;
  flex-shrink:0;
}
.icp-block .icp-text h2{margin-bottom:20px;font-weight:400}
.icp-block .icp-text p{color:var(--color-text-soft);margin-bottom:1rem}
.icp-block .icp-text .divider{background:var(--color-gold)}
@media(max-width:860px){
  .icp-block{grid-template-columns:1fr;gap:40px}
  .icp-block .icp-visual{padding:34px 26px}
}

/* ---------- Sezione: Form finale (conversione) ---------- */
.lead-section{
  padding:90px 0;
  background:var(--color-navy);
  background-image:linear-gradient(rgba(10,37,64,.92),rgba(10,37,64,.97)),url('../images/img-14.jpg');
  background-size:cover;
  background-position:center;
  color:#fff;
  position:relative;
}
.lead-wrapper{
  display:grid;
  grid-template-columns:1fr 1.15fr;
  gap:60px;
  align-items:start;
  max-width:1150px;
  margin:0 auto;
}
.lead-info h2{
  color:#fff;
  font-weight:400;
  margin-bottom:18px;
  font-size:clamp(1.7rem,3vw,2.3rem);
}
.lead-info h2 em{color:var(--color-gold-light);font-style:italic}
.lead-info .divider{background:var(--color-gold);margin-bottom:24px}
.lead-info p{color:rgba(255,255,255,.85);margin-bottom:1.1rem;line-height:1.7}
.lead-info .promise-list{
  list-style:none;
  padding:0;
  margin:26px 0 0;
}
.lead-info .promise-list li{
  padding:14px 0;
  border-bottom:1px solid rgba(184,146,74,.25);
  color:rgba(255,255,255,.9);
  font-size:.95rem;
  display:flex;
  gap:14px;
  align-items:flex-start;
}
.lead-info .promise-list li i{
  color:var(--color-gold-light);
  font-size:.9rem;
  margin-top:6px;
  flex-shrink:0;
}
.lead-info .promise-list li:last-child{border-bottom:none}
.lead-info .promise-list li strong{color:#fff;font-weight:600}

.lead-form-wrap{
  background:#fff;
  padding:44px 42px;
  border-top:3px solid var(--color-gold);
  color:var(--color-text);
  box-shadow:0 24px 60px rgba(0,0,0,.25);
}
.lead-form-wrap .form-header{
  margin-bottom:26px;
  padding-bottom:22px;
  border-bottom:1px solid var(--color-border);
}
.lead-form-wrap .form-header .badge{
  display:inline-block;
  background:rgba(184,146,74,.15);
  color:var(--color-gold);
  font-size:.7rem;
  font-weight:700;
  letter-spacing:.2em;
  text-transform:uppercase;
  padding:5px 12px;
  margin-bottom:14px;
}
.lead-form-wrap .form-header h3{
  font-size:1.5rem;
  font-weight:500;
  margin-bottom:8px;
  color:var(--color-navy);
}
.lead-form-wrap .form-header p{
  color:var(--color-text-soft);
  font-size:.92rem;
  margin:0;
}
.lead-form-wrap .form-row{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:16px;
}
.lead-form-wrap .form-group{margin-bottom:16px}
.lead-form-wrap .form-group label{
  display:block;
  font-size:.72rem;
  font-weight:700;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:var(--color-navy);
  margin-bottom:6px;
}
.lead-form-wrap .form-group label .req{color:var(--color-gold);margin-left:2px}
.lead-form-wrap .form-group input,
.lead-form-wrap .form-group select,
.lead-form-wrap .form-group textarea{
  width:100%;
  padding:12px 14px;
  font-family:var(--font-sans);
  font-size:.95rem;
  background:#fff;
  border:1px solid var(--color-border);
  color:var(--color-text);
  transition:border-color .25s ease, box-shadow .25s ease;
}
.lead-form-wrap .form-group input:focus,
.lead-form-wrap .form-group select:focus,
.lead-form-wrap .form-group textarea:focus{
  outline:none;
  border-color:var(--color-gold);
  box-shadow:0 0 0 3px rgba(184,146,74,.15);
}
.lead-form-wrap .form-group textarea{min-height:110px;resize:vertical}
.lead-form-wrap .form-check{
  display:flex;
  gap:10px;
  align-items:flex-start;
  font-size:.82rem;
  color:var(--color-text-soft);
  margin-bottom:14px;
  line-height:1.5;
}
.lead-form-wrap .form-check input{margin-top:4px;flex-shrink:0}
.lead-form-wrap .form-check a{color:var(--color-navy);text-decoration:underline}
.lead-form-wrap .form-check a:hover{color:var(--color-gold)}
.lead-form-wrap .btn-submit{
  width:100%;
  padding:16px 24px;
  font-size:.88rem;
  letter-spacing:.14em;
  background:var(--color-navy);
  border-color:var(--color-navy);
  color:#fff;
  cursor:pointer;
  transition:all .3s ease;
  margin-top:8px;
}
.lead-form-wrap .btn-submit:hover:not(:disabled){
  background:var(--color-gold);
  border-color:var(--color-gold);
}
.lead-form-wrap .btn-submit:disabled{
  opacity:.65;
  cursor:not-allowed;
}
.lead-form-wrap .btn-submit i{margin-left:8px}
.lead-form-wrap .form-note{
  margin-top:14px;
  text-align:center;
  font-size:.78rem;
  color:var(--color-text-soft);
}
.lead-form-wrap .form-note i{color:var(--color-gold);margin-right:6px}
.lead-form-wrap .form-message{
  padding:14px 18px;
  margin-bottom:18px;
  border-left:3px solid var(--color-gold);
  background:var(--color-ivory);
  font-size:.9rem;
  line-height:1.55;
}
.lead-form-wrap .form-message.success{
  border-left-color:#2e7d32;
  background:#e8f5e9;
  color:#1b5e20;
}
.lead-form-wrap .form-message.error{
  border-left-color:#c62828;
  background:#ffebee;
  color:#b71c1c;
}

/* Success state override */
.lead-form-wrap.submitted .form-body{display:none}
.lead-form-wrap .success-state{display:none;text-align:center;padding:20px 10px}
.lead-form-wrap.submitted .success-state{display:block}
.lead-form-wrap .success-state .icon-check{
  width:72px;
  height:72px;
  border-radius:50%;
  background:rgba(46,125,50,.1);
  color:#2e7d32;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  font-size:1.8rem;
  margin-bottom:18px;
}
.lead-form-wrap .success-state h3{
  font-size:1.5rem;
  color:var(--color-navy);
  margin-bottom:12px;
}
.lead-form-wrap .success-state p{
  color:var(--color-text-soft);
  margin-bottom:8px;
  line-height:1.65;
}

@media(max-width:860px){
  .lead-wrapper{grid-template-columns:1fr;gap:40px}
  .lead-form-wrap{padding:32px 24px}
  .lead-form-wrap .form-row{grid-template-columns:1fr}
}

/* ---------- Sticky mobile CTA ---------- */
.mobile-sticky-cta{
  display:none;
  position:fixed;
  bottom:0;
  left:0;
  right:0;
  padding:12px 16px calc(12px + env(safe-area-inset-bottom));
  background:#fff;
  border-top:1px solid var(--color-border);
  box-shadow:0 -6px 20px rgba(10,37,64,.12);
  z-index:9500;
}
.mobile-sticky-cta .btn{
  display:block;
  width:100%;
  padding:14px 20px;
  font-size:.82rem;
  background:var(--color-gold);
  border-color:var(--color-gold);
  text-align:center;
}
.mobile-sticky-cta .btn:hover{
  background:var(--color-navy);
  border-color:var(--color-navy);
}
@media(max-width:720px){
  .mobile-sticky-cta{display:block}
  body{padding-bottom:70px}
}

/* ---------- Footer minimale landing ---------- */
.landing-footer{
  background-color:#061a30;
  color:rgba(255,255,255,.7);
  padding:44px 0 30px;
}
.landing-footer .footer-grid-mini{
  display:grid;
  grid-template-columns:1.4fr 1fr;
  gap:40px;
  align-items:start;
}
.landing-footer .footer-logo{
  font-family:var(--font-serif);
  font-size:1.4rem;
  color:#fff;
  margin-bottom:12px;
  display:inline-block;
}
.landing-footer .footer-logo small{
  display:block;
  font-family:var(--font-sans);
  font-size:.6rem;
  letter-spacing:.32em;
  color:var(--color-gold);
  margin-top:4px;
  text-transform:uppercase;
}
.landing-footer p{font-size:.88rem;line-height:1.6;margin-bottom:8px}
.landing-footer .footer-contact-mini i{
  color:var(--color-gold);
  margin-right:8px;
  width:14px;
}
.landing-footer .footer-bottom-mini{
  margin-top:30px;
  padding-top:20px;
  border-top:1px solid rgba(255,255,255,.08);
  font-size:.78rem;
  color:rgba(255,255,255,.5);
  display:flex;
  justify-content:space-between;
  flex-wrap:wrap;
  gap:12px;
}
.landing-footer .footer-bottom-mini a{color:rgba(255,255,255,.65)}
.landing-footer .footer-bottom-mini a:hover{color:var(--color-gold-light)}
@media(max-width:640px){
  .landing-footer .footer-grid-mini{grid-template-columns:1fr;gap:22px}
  .landing-footer .footer-bottom-mini{flex-direction:column;text-align:center}
}

/* ---------- Anti-hijack: nasconde eventuali residui ---------- */
.landing-body .top-bar,
.landing-body .site-header,
.landing-body .site-footer,
.landing-body #domo-mobile-toggle,
.landing-body #domo-mobile-menu{display:none !important}
