/*
Theme Name: Ciudadania Sassari
Theme URI: https://ciudadania-sassari.com/
Author: Ciudadania Sassari
Description: Landing page visual para gestoria de ciudadania italiana en Argentina, con banners fotograficos, formulario conectado a WhatsApp, disclaimers para servicios privados y SEO local.
Version: 1.5.1
Text Domain: ciudadania-sassari
*/

:root{
      --navy:#16342c;
      --navy-2:#285a49;
      --green:#509878;
      --red:#f00090;
      --cream:#f8f5f1;
      --cream-2:#fffdf9;
      --text:#172033;
      --muted:#6b7280;
      --line:#e3ddd5;
      --white:#ffffff;
      --shadow:0 22px 70px rgba(11,31,58,.12);
      --radius:24px;
    }

    *{box-sizing:border-box}
    html{scroll-behavior:smooth}
    body{
      margin:0;
      font-family: "Open Sans", Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
      color:var(--text);
      background:linear-gradient(180deg,var(--cream-2),#fff 38%,var(--cream-2));
      line-height:1.55;
    }
    a{color:inherit;text-decoration:none}
    img{max-width:100%;display:block}
    h1,h2,h3,.brand-name,.btn,.eyebrow,.pill,label,summary,.price,.doc-title,.banner-kicker{font-family:"Poppins","Open Sans",ui-sans-serif,system-ui,sans-serif}
    .container{width:min(1160px,calc(100% - 40px));margin:0 auto}
    .pill{
      display:inline-flex;align-items:center;gap:8px;
      padding:8px 12px;border:1px solid rgba(80,152,120,.25);
      background:rgba(80,152,120,.08);color:var(--green);
      border-radius:999px;font-size:13px;font-weight:700;
    }
    .dot{width:8px;height:8px;border-radius:999px;background:var(--green)}
    header{
      position:sticky;top:0;z-index:20;
      background:rgba(255,250,243,.86);
      backdrop-filter:blur(16px);
      border-bottom:1px solid rgba(231,223,210,.8);
    }
    .nav{
      height:76px;display:flex;align-items:center;justify-content:space-between;gap:22px;
    }
    .brand{display:flex;align-items:center;gap:12px;font-weight:900;letter-spacing:0;color:var(--navy)}
    .brand-icon{width:54px;height:54px;object-fit:contain;display:block}
    .brand-name{font-size:20px;line-height:1;letter-spacing:0;text-transform:uppercase;color:var(--green)}
    .footer-logo{width:190px;height:auto;display:block}
    .brand small{display:block;font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);font-weight:800;margin-top:-3px}
    nav ul{display:flex;list-style:none;padding:0;margin:0;gap:22px;align-items:center}
    nav a{font-size:14px;font-weight:700;color:#324055}
    nav a:hover{color:var(--green)}
    .btn{
      display:inline-flex;align-items:center;justify-content:center;gap:10px;
      border:0;border-radius:999px;
      padding:14px 20px;
      font-weight:850;
      cursor:pointer;
      transition:.2s ease;
      white-space:nowrap;
    }
    .btn-primary{
      background:var(--green);color:white;box-shadow:0 14px 30px rgba(80,152,120,.25);
    }
    .btn-primary:hover{transform:translateY(-2px);box-shadow:0 18px 38px rgba(80,152,120,.32)}
    .btn-secondary{
      background:#fff;color:var(--navy);border:1px solid var(--line);
    }
    .btn-secondary:hover{transform:translateY(-2px);box-shadow:0 14px 30px rgba(11,31,58,.08)}
    .btn-accent{
      background:var(--red);
      color:#fff;
      box-shadow:0 14px 30px rgba(240,0,144,.24);
    }
    .btn-accent:hover{transform:translateY(-2px);box-shadow:0 18px 38px rgba(240,0,144,.34)}
    .mobile-toggle{display:none;background:transparent;border:0;font-size:26px;color:var(--navy)}

    .photo-hero{
      min-height:calc(100vh - 76px);
      display:flex;align-items:center;
      padding:86px 0 58px;
      background-image:linear-gradient(90deg,rgba(22,52,44,.86) 0%,rgba(22,52,44,.7) 34%,rgba(22,52,44,.18) 64%,rgba(22,52,44,.08) 100%),url("assets/banners/italia-hero.webp");
      background-size:cover;
      background-position:center;
      color:#fff;
      overflow:hidden;
    }
    .hero-content{max-width:720px}
    .photo-hero .pill{background:rgba(255,255,255,.13);border-color:rgba(255,255,255,.28);color:#fff}
    .photo-hero h1{color:#fff;text-shadow:0 14px 34px rgba(0,0,0,.24)}
    .photo-hero .lead{color:rgba(255,255,255,.9)}
    .photo-hero .trust-row{color:rgba(255,255,255,.92)}
    .photo-hero .check{background:rgba(255,255,255,.16);color:#fff}
    .photo-hero .btn-secondary{background:rgba(255,255,255,.92);border-color:rgba(255,255,255,.5)}

    .image-banner{
      position:relative;overflow:hidden;border-radius:32px;min-height:430px;
      display:grid;align-items:center;box-shadow:var(--shadow);
      background-size:cover;background-position:center;isolation:isolate;
    }
    .image-banner::before{content:"";position:absolute;inset:0;z-index:-1}
    .image-banner.family{background-image:url("assets/banners/familia-documentos.webp");background-position:38% center}
    .image-banner.family::before{background:linear-gradient(90deg,rgba(255,255,255,.08) 0%,rgba(255,255,255,.44) 42%,rgba(255,253,249,.96) 72%,rgba(255,253,249,.98) 100%)}
    .image-banner.closing{background-image:url("assets/banners/italia-cierre.webp");background-position:center}
    .image-banner.closing::before{background:linear-gradient(90deg,rgba(22,52,44,.88) 0%,rgba(22,52,44,.68) 44%,rgba(22,52,44,.18) 100%)}
    .banner-content{max-width:520px;padding:48px}
    .banner-content.align-right{margin-left:auto}
    .banner-kicker{font-size:13px;font-weight:950;text-transform:uppercase;color:var(--red);margin-bottom:10px}
    .banner-content h2{font-size:clamp(30px,4vw,48px)}
    .banner-content p{font-size:18px;color:#4b5563;margin:16px 0 24px}
    .image-banner.closing .banner-kicker,.image-banner.closing h2{color:#fff}
    .image-banner.closing p{color:rgba(255,255,255,.86)}
    .image-banner.closing .btn-secondary{background:#fff;color:var(--navy)}

    .hero{
      position:relative;overflow:hidden;
      padding:76px 0 54px;
    }
    .hero::before{
      content:"";position:absolute;inset:-200px -120px auto auto;
      width:520px;height:520px;border-radius:50%;
      background:radial-gradient(circle,rgba(80,152,120,.16),transparent 66%);
      pointer-events:none;
    }
    .hero-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:44px;align-items:center}
    h1{
      font-size:clamp(44px,5vw,72px);
      line-height:.95;
      letter-spacing:0;
      margin:18px 0 20px;
      color:var(--navy);
    }
    .lead{
      font-size:20px;color:#4b5563;max-width:660px;margin:0 0 28px;
    }
    .hero-actions{display:flex;gap:14px;flex-wrap:wrap;margin-bottom:24px}
    .trust-row{display:flex;gap:16px;flex-wrap:wrap;color:#465466;font-size:14px;font-weight:700}
    .trust-row span{display:flex;align-items:center;gap:8px}
    .check{
      width:20px;height:20px;border-radius:50%;
      background:rgba(80,152,120,.1);color:var(--green);
      display:inline-grid;place-items:center;font-size:13px;font-weight:950;
    }

    .hero-card{
      position:relative;
      background:linear-gradient(160deg,#fff,var(--cream));
      border:1px solid rgba(231,223,210,.9);
      border-radius:34px;
      padding:28px;
      box-shadow:var(--shadow);
      overflow:hidden;
    }
    .hero-card::before{
      content:"";position:absolute;right:-80px;top:-80px;width:220px;height:220px;border-radius:50%;
      background:linear-gradient(135deg,rgba(80,152,120,.18),rgba(240,0,144,.12));
    }
    .document-stack{position:relative;z-index:1;display:grid;gap:16px}
    .doc{
      background:#fff;border:1px solid var(--line);
      border-radius:22px;padding:18px;
      box-shadow:0 16px 40px rgba(11,31,58,.08);
    }
    .doc-top{display:flex;justify-content:space-between;gap:16px;align-items:center;margin-bottom:12px}
    .doc-title{font-weight:900;color:var(--navy)}
    .tag{font-size:12px;font-weight:900;border-radius:999px;padding:6px 10px}
    .tag.green{background:rgba(80,152,120,.1);color:var(--green)}
    .tag.red{background:rgba(240,0,144,.1);color:var(--red)}
    .tag.navy{background:rgba(11,31,58,.08);color:var(--navy)}
    .fake-line{height:10px;border-radius:999px;background:#e8edf1;margin:8px 0}
    .fake-line.w1{width:80%}.fake-line.w2{width:56%}.fake-line.w3{width:70%}
    .mini-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:16px}
    .mini{
      padding:16px;border-radius:20px;background:var(--navy);color:#fff;
    }
    .mini b{font-size:22px;display:block;letter-spacing:0}
    .mini span{font-size:12px;color:#dce4ee;font-weight:650}

    section{padding:76px 0}
    .section-head{display:flex;justify-content:space-between;gap:24px;align-items:end;margin-bottom:32px}
    .eyebrow{color:var(--green);font-size:13px;letter-spacing:.12em;text-transform:uppercase;font-weight:950;margin-bottom:8px}
    h2{
      font-size:clamp(32px,4vw,48px);
      line-height:1.02;
      letter-spacing:0;
      margin:0;color:var(--navy);
    }
    .section-head p{max-width:480px;color:var(--muted);margin:0;font-size:17px}
    .notice{
      display:grid;grid-template-columns:auto 1fr;gap:18px;
      background:#fff;border:1px solid var(--line);border-left:5px solid var(--green);
      border-radius:var(--radius);padding:22px;box-shadow:0 18px 50px rgba(11,31,58,.07);
      margin-top:28px;
    }
    .notice-icon{width:46px;height:46px;border-radius:16px;display:grid;place-items:center;background:rgba(80,152,120,.1);color:var(--green);font-weight:950}
    .notice b{color:var(--navy)}
    .notice p{margin:4px 0 0;color:#536172}

    .cards{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
    .card{
      background:#fff;border:1px solid var(--line);
      border-radius:var(--radius);padding:24px;
      box-shadow:0 16px 42px rgba(11,31,58,.06);
      transition:.2s ease;
    }
    .card:hover{transform:translateY(-4px);box-shadow:0 24px 58px rgba(11,31,58,.1)}
    .icon{
      width:48px;height:48px;border-radius:17px;
      background:linear-gradient(135deg,rgba(80,152,120,.12),rgba(240,0,144,.08));
      display:grid;place-items:center;font-size:24px;margin-bottom:16px;
    }
    .card h3{margin:0 0 8px;color:var(--navy);font-size:20px;letter-spacing:0}
    .card p{margin:0;color:var(--muted)}
    .card ul{margin:14px 0 0;padding:0;list-style:none;display:grid;gap:8px;color:#536172;font-size:14px}
    .card li{display:flex;gap:8px}
    .card li::before{content:"✓";color:var(--green);font-weight:950}

    .process{
      display:grid;grid-template-columns:repeat(5,1fr);gap:14px;
      counter-reset:steps;
    }
    .step{
      counter-increment:steps;
      background:#fff;border:1px solid var(--line);border-radius:22px;padding:22px;
      position:relative;overflow:hidden;
    }
    .step::before{
      content:"0"counter(steps);
      display:block;color:rgba(11,31,58,.12);
      font-size:42px;font-weight:950;letter-spacing:0;margin-bottom:18px;
    }
    .step h3{font-size:18px;line-height:1.15;margin:0 0 8px;color:var(--navy)}
    .step p{margin:0;color:var(--muted);font-size:14px}

    .split{display:grid;grid-template-columns:.95fr 1.05fr;gap:32px;align-items:start}
    .panel{
      background:var(--navy);color:#fff;border-radius:32px;padding:34px;box-shadow:var(--shadow);
      position:sticky;top:104px;
    }
    .panel h2{color:#fff}
    .panel p{color:#d6dfeb}
    .panel .btn{margin-top:18px}
    .checklist{
      display:grid;grid-template-columns:repeat(2,1fr);gap:14px;
    }
    .checkitem{
      background:#fff;border:1px solid var(--line);border-radius:20px;
      padding:18px;display:flex;gap:12px;align-items:flex-start;
    }
    .checkitem strong{display:block;color:var(--navy);margin-bottom:4px}
    .checkitem span{color:var(--muted);font-size:14px}

    .why{
      background:linear-gradient(135deg,var(--navy),var(--navy-2));
      color:#fff;
      border-radius:36px;
      padding:42px;
      display:grid;
      grid-template-columns:1fr 1fr;
      gap:28px;
      align-items:center;
      box-shadow:var(--shadow);
    }
    .why h2{color:#fff}
    .why p{color:#d6dfeb}
    .why-list{display:grid;gap:14px}
    .why-item{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.12);padding:18px;border-radius:20px}
    .why-item b{display:block;margin-bottom:4px}

    .pricing{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
    .price-card{
      background:#fff;border:1px solid var(--line);border-radius:28px;padding:28px;box-shadow:0 16px 42px rgba(11,31,58,.06);
    }
    .price-card.featured{border:2px solid rgba(80,152,120,.45);box-shadow:0 24px 66px rgba(80,152,120,.14);transform:translateY(-6px)}
    .price-card h3{margin:0 0 10px;color:var(--navy);font-size:22px}
    .price{font-size:34px;letter-spacing:0;color:var(--navy);font-weight:950;margin:10px 0}
    .price small{font-size:14px;color:var(--muted);font-weight:700}
    .price-card p{color:var(--muted)}
    .price-card ul{list-style:none;padding:0;margin:18px 0;display:grid;gap:10px}
    .price-card li{display:flex;gap:9px;color:#455368}
    .price-card li::before{content:"✓";color:var(--green);font-weight:950}

    .testimonials{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
    .testimonial{
      background:#fff;border:1px solid var(--line);border-radius:24px;padding:24px;
      box-shadow:0 16px 42px rgba(11,31,58,.06);
    }
    .stars{color:#d89519;font-size:18px;letter-spacing:1px;margin-bottom:14px}
    .testimonial blockquote{margin:0;color:#435065;font-size:16px}
    .testimonial footer{padding:18px 0 0;border:0;color:var(--navy)}
    .testimonial strong{display:block}
    .testimonial span{display:block;color:var(--muted);font-size:13px;margin-top:2px}

    .faq{display:grid;gap:12px}
    details{
      background:#fff;border:1px solid var(--line);border-radius:20px;
      padding:18px 20px;
    }
    summary{cursor:pointer;font-weight:900;color:var(--navy);list-style:none;display:flex;justify-content:space-between;gap:20px}
    summary::-webkit-details-marker{display:none}
    summary::after{content:"+";font-size:22px;color:var(--green)}
    details[open] summary::after{content:"–"}
    details p{color:var(--muted);margin:12px 0 0}

    .contact{
      background:#fff;border:1px solid var(--line);border-radius:36px;box-shadow:var(--shadow);
      display:grid;grid-template-columns:.9fr 1.1fr;overflow:hidden;
    }
    .contact-info{background:linear-gradient(160deg,var(--navy),var(--navy-2));color:#fff;padding:40px}
    .contact-info h2{color:#fff}
    .contact-info p{color:#d6dfeb}
    .contact-list{display:grid;gap:14px;margin-top:24px}
    .contact-row{display:flex;gap:12px;align-items:flex-start;color:#e9eef6}
    .contact-row b{display:block;color:#fff}
    form{padding:40px;display:grid;gap:14px}
    label{font-size:13px;font-weight:900;color:var(--navy)}
    input,select,textarea{
      width:100%;
      border:1px solid #d9d2c6;
      background:#fff;
      border-radius:16px;
      padding:14px 15px;
      font:inherit;
      outline:none;
    }
    input:focus,select:focus,textarea:focus{border-color:var(--green);box-shadow:0 0 0 4px rgba(80,152,120,.1)}
    textarea{min-height:118px;resize:vertical}
    .form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
    .fineprint{font-size:12px;color:var(--muted);margin:0}
    .interview-box{
      position:relative;
      overflow:hidden;
      margin-top:24px;
      background:linear-gradient(135deg,rgba(240,0,144,.1),#fff 44%,rgba(80,152,120,.11));
      border:2px solid rgba(240,0,144,.28);
      border-radius:28px;
      padding:30px;
      box-shadow:0 24px 66px rgba(240,0,144,.12);
      display:flex;
      align-items:center;
      justify-content:space-between;
      gap:20px;
    }
    .interview-box::before{
      content:"";
      position:absolute;
      left:0;
      top:0;
      bottom:0;
      width:7px;
      background:var(--red);
    }
    .interview-kicker{
      font-family:"Poppins","Open Sans",ui-sans-serif,system-ui,sans-serif;
      font-size:12px;
      font-weight:950;
      text-transform:uppercase;
      color:var(--red);
      margin-bottom:8px;
    }
    .interview-box h3{margin:0 0 8px;color:var(--navy);font-size:26px}
    .interview-box p{margin:0;color:#536172;max-width:720px}

    footer{
      padding:32px 0 40px;border-top:1px solid var(--line);color:#637083;
    }
    .footer-grid{display:flex;justify-content:space-between;gap:20px;align-items:center;flex-wrap:wrap}
    .legal{
      margin-top:14px;
      padding:14px 16px;
      border:1px solid var(--line);
      background:rgba(255,255,255,.72);
      border-radius:16px;
      font-size:12px;
      color:#6b7280;
    }
    .legal-links{display:flex;gap:14px;flex-wrap:wrap;margin-top:12px;font-size:13px;font-weight:800;color:var(--navy)}
    .legal-links a{text-decoration:underline;text-underline-offset:3px}
    .copyright{margin-top:14px;font-size:12px;color:#7a8494}
    .compliance-note{
      background:#fff;border:1px solid var(--line);border-radius:22px;padding:20px;
      box-shadow:0 16px 42px rgba(11,31,58,.06);margin-top:22px;
    }
    .compliance-note strong{display:block;color:var(--navy);margin-bottom:6px}
    .compliance-note p{margin:0;color:#536172}

    .whatsapp-float{
      position:fixed;right:22px;bottom:22px;z-index:30;
      width:62px;height:62px;border-radius:50%;
      background:#25D366;color:white;
      display:grid;place-items:center;
      box-shadow:0 16px 40px rgba(37,211,102,.35);
      border:4px solid #fff;
    }
    .whatsapp-float svg{width:32px;height:32px;display:block;fill:currentColor}
    .whatsapp-float:hover{transform:translateY(-2px);box-shadow:0 20px 48px rgba(37,211,102,.45)}

    @media(max-width:980px){
      nav ul{display:none}
      .nav.open{height:auto;align-items:flex-start;padding:18px 0;flex-wrap:wrap}
      .nav.open nav{order:4;width:100%}
      .nav.open nav ul{display:grid;gap:14px;padding:12px 0 4px}
      .mobile-toggle{display:block}
      .hero-grid,.split,.why,.contact{grid-template-columns:1fr}
      .cards,.pricing,.testimonials{grid-template-columns:1fr 1fr}
      .process{grid-template-columns:1fr 1fr}
      .panel{position:relative;top:0}
    }
    @media(max-width:640px){
      .container{width:min(100% - 28px,1160px)}
      header .container{width:min(100% - 20px,1160px)}
      .nav{height:74px;gap:8px}
      .brand{gap:8px;min-width:0;flex:1 1 auto}
      .brand > span{min-width:0}
      .brand-name{display:block;font-size:13px;line-height:1.02;max-width:88px}
      .brand small{display:none}
      .brand-icon{width:42px;height:42px;flex:0 0 auto}
      .nav > .btn{width:auto;flex:0 0 auto;padding:11px 15px;font-size:13px;min-width:142px}
      .mobile-toggle{width:38px;height:38px;flex:0 0 38px;display:grid;place-items:center;padding:0;font-size:26px;line-height:1}
      .hero{padding:48px 0 32px}
      .photo-hero{min-height:640px;padding:70px 0;background-position:62% center}
      .image-banner{min-height:560px;border-radius:24px}
      .image-banner.family{background-position:38% center}
      .image-banner.family::before{background:linear-gradient(180deg,rgba(255,253,249,.1) 0%,rgba(255,253,249,.82) 44%,rgba(255,253,249,.98) 100%)}
      .image-banner.closing{background-position:62% center}
      .image-banner.closing::before{background:linear-gradient(180deg,rgba(22,52,44,.26) 0%,rgba(22,52,44,.88) 58%,rgba(22,52,44,.94) 100%)}
      .banner-content,.banner-content.align-right{padding:28px;margin:0;align-self:end}
      .hero-actions{display:grid}
      .btn{width:100%}
      .mini-grid,.cards,.pricing,.testimonials,.checklist,.process,.form-grid{grid-template-columns:1fr}
      .section-head{display:block}
      section{padding:54px 0}
      .why,.contact-info,form,.hero-card{padding:24px}
      .interview-box{display:grid;padding:24px 22px 24px 28px}
      .whatsapp-float{width:56px;height:56px;right:16px;bottom:16px}
    }
