:root{
      --ast-global-color-0:#0274be;
      --ast-global-color-1:#025790;
      --ast-global-color-2:#3a3a3a;
      --ast-global-color-3:#091e4f;
      --ast-global-color-4:#ffffff;
      --ast-global-color-5:#f8f6f3;

      --cp-blue:#0bb6f0;
      --cp-blue-dark:#047eae;
      --cp-navy:#071f33;
      --cp-navy-soft:#0d2c47;
      --cp-text:#334155;
      --cp-muted:#64748b;
      --cp-soft:#eef7fc;
      --cp-line:rgba(7,31,51,.10);
      --cp-white:#fff;
    }

    *{box-sizing:border-box}

    /* Astra: html 100%, ma sotto i 921px la base rem scende al 91,2%.
       Tutte le misure in rem (corpo, footer, social) seguono questa regola come sul sito. */
    html{font-size:100%;margin:0;padding:0}
    @media(max-width:921px){html{font-size:91.2%}}

    body{
      margin:0;
      padding:0;
      background:#fff;
      color:var(--cp-text);
      font-family:'Open Sans',sans-serif;
      font-weight:400;
      font-size:16px;
      font-size:1rem;
      line-height:1.6em;
    }
    a{text-decoration:none}
    img{max-width:100%;height:auto}
    button{font:inherit}
    .cp-ast-container{
      width:100%;
      max-width:1438px;
      margin:0 auto;
      padding:0 20px;
    }

    /* =========================================================
       HEADER — valori ricavati dal CSS reale del sito
       ========================================================= */
    .cp-topbar{
      background:linear-gradient(90deg,#004d7c,#007aa6);
      min-height:30px;
      color:#fff;
      display:flex;
      align-items:center;
      justify-content:center;
      text-align:center;
      padding:0 20px;
      font-family:'Open Sans',sans-serif;
      font-size:14px;
      font-weight:600;
      line-height:30px;
    }

    .cp-main-header{
      background:#005b8f;
      border:0;
      box-shadow:0 8px 24px rgba(0,35,70,.16);
      position:relative;
      z-index:1000;
    }
    .cp-header-row{
      min-height:74px;
      display:flex;
      align-items:center;
    }
    .cp-brand{
      display:flex;
      align-items:center;
      flex:0 0 auto;
      margin-right:10px;
    }
    .cp-brand img{
      display:block;
      max-height:54px;
      width:auto;
    }

    /* Nel sito il menu ha text-transform: capitalize (regola .ast-builder-menu-1),
       quindi anche i sottomenu mostrano ogni parola con la maiuscola.
       Se in italiano preferisci "Accessori e sensori di sicurezza", cancella la riga text-transform. */
    .cp-menu{
      list-style:none;
      display:flex;
      align-items:stretch;
      margin:0;
      padding:0;
      font-family:'Open Sans',sans-serif;
      text-transform:capitalize;
      letter-spacing:0;
    }
    .cp-menu > li{
      position:relative;
      display:flex;
      align-items:stretch;
    }
    .cp-menu > li > a{
      min-height:74px;
      display:flex;
      align-items:center;
      padding:0 15px;
      color:#fff;
      font-size:15px;
      font-weight:600;
      line-height:1;
      white-space:nowrap;
    }
    .cp-menu > li.has-sub > a::after{
      content:"";
      width:6px;
      height:6px;
      margin-left:8px;
      border-right:2px solid currentColor;
      border-bottom:2px solid currentColor;
      transform:rotate(45deg) translateY(-2px);
    }
    .cp-menu > li:hover > a,
    .cp-menu > li:focus-within > a{
      color:#dff8ff;
      background:#025790;
    }

    .cp-submenu{
      display:none;
      position:absolute;
      top:74px;
      left:0;
      min-width:250px;
      margin:0;
      padding:10px;
      list-style:none;
      background:#fff;
      border:1px solid rgba(0,0,0,.06);
      border-radius:0 0 18px 18px;
      box-shadow:0 18px 45px rgba(0,35,70,.22);
      z-index:2000;
    }
    .cp-menu > li:hover > .cp-submenu,
    .cp-menu > li:focus-within > .cp-submenu{display:block}
    .cp-submenu a{
      display:block;
      padding:11px 14px;
      border-radius:12px;
      color:#102a3f;
      font-size:14px;
      font-weight:600;
      line-height:1em;
    }
    .cp-submenu a:hover,
    .cp-submenu a:focus{
      background:#e9f7fb;
      color:#005b8f;
    }


    /* =========================================================
       LANGUAGE SWITCHER — bandiere nella stessa fascia del menu
       ========================================================= */
    .cp-language-switcher{
      margin-left:auto;
      padding-left:14px;
      display:flex;
      align-items:center;
      justify-content:flex-end;
      gap:8px;
      flex:0 0 auto;
    }
    .cp-language-switcher a{
      display:flex;
      align-items:center;
      justify-content:center;
      width:30px;
      height:22px;
      padding:2px;
      border:1px solid rgba(255,255,255,.18);
      border-radius:4px;
      background:rgba(255,255,255,.06);
      transition:transform .15s ease, background .15s ease, border-color .15s ease;
    }
    .cp-language-switcher a:hover,
    .cp-language-switcher a:focus{
      transform:translateY(-1px);
      background:rgba(255,255,255,.15);
      border-color:rgba(255,255,255,.38);
    }
    .cp-language-switcher a[aria-current="page"]{
      background:rgba(255,255,255,.20);
      border-color:rgba(255,255,255,.55);
    }
    .cp-language-switcher img{
      display:block;
      width:24px;
      height:16px;
      object-fit:cover;
    }

    .cp-mobile-button{
      display:none;
      margin-left:auto;
      width:44px;
      height:40px;
      padding:0;
      border:0;
      border-radius:0;
      background:#0274be;
      color:#fff;
      align-items:center;
      justify-content:center;
      cursor:pointer;
    }
    .cp-mobile-button svg{width:20px;height:20px;fill:currentColor}

    /* Menu mobile: voci principali 15px, sottovoci 14px, entrambe peso 600 (l'unico peso semibold caricato dal sito) */
    .cp-mobile-menu{
      display:none;
      background:#005b8f;
      padding:8px 20px 16px;
      font-family:'Open Sans',sans-serif;
      text-transform:capitalize;
    }
    .cp-mobile-menu.is-open{display:block}
    .cp-mobile-menu > a,
    .cp-mobile-menu summary{
      display:block;
      padding:10px 20px;
      color:#fff;
      font-size:15px;
      font-weight:600;
      line-height:1.2;
      cursor:pointer;
      list-style:none;
    }
    .cp-mobile-menu summary::-webkit-details-marker{display:none}
    .cp-mobile-menu details a{
      display:block;
      padding:10px 34px;
      color:#fff;
      font-size:14px;
      font-weight:600;
      line-height:1.2;
    }
    .cp-mobile-menu a:hover{color:#019aff}

    /* =========================================================
       CONTENT — stile della pagina precedente (Inter + Manrope)
       ========================================================= */
    .cpstore{
      font-family:'Inter',Arial,sans-serif;
      color:var(--cp-text);
      background:#fff;
      width:100%;
      overflow:hidden;
      line-height:1.5;
    }
    .cpstore h1,.cpstore h2,.cpstore h3,.cpstore h4{
      font-family:'Manrope',Arial,sans-serif;
      color:var(--cp-navy);
      margin:0;
      font-weight:800;
      letter-spacing:-.01em;
    }
    .cpstore-inner{
      max-width:1280px;
      margin:0 auto;
      padding:0 20px;
    }
    .cpstore-hero{
      background:linear-gradient(105deg,var(--cp-navy) 0%,#0b3654 72%,#0b6598 100%);
      color:#fff;
      padding:70px 0 66px;
    }
    .cpstore-breadcrumb{
      font-size:12px;
      color:rgba(255,255,255,.62);
      margin-bottom:22px;
    }
    .cpstore-breadcrumb a{color:rgba(255,255,255,.82)}
    .cpstore-kicker{
      color:var(--cp-blue);
      font-size:13px;
      font-weight:600;
      margin-bottom:10px;
    }
    .cpstore-hero h1{
      color:#fff;
      font-size:clamp(32px,4vw,48px);
      line-height:1.08;
      max-width:830px;
    }
    .cpstore-hero p{
      color:rgba(255,255,255,.78);
      font-size:16px;
      line-height:1.65;
      max-width:760px;
      margin:17px 0 0;
    }
    .cpstore-main{padding:56px 0 64px}
    .cpstore-section{margin:0 0 46px}
    .cpstore-section:last-child{margin-bottom:0}
    .cpstore-section-head{max-width:760px;margin-bottom:22px}
    .cpstore-section-head h2{font-size:clamp(24px,2.8vw,32px);line-height:1.15}
    .cpstore-section-head p{color:var(--cp-muted);font-size:15px;margin:10px 0 0}
    .cpstore-grid2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
    .cpstore-card{
      background:#fff;
      border:1px solid var(--cp-line);
      border-radius:14px;
      padding:24px;
    }
    .cpstore-card.soft{background:var(--cp-soft)}
    .cpstore-card h3{font-size:19px;margin-bottom:8px}
    .cpstore-card p{margin:0;color:var(--cp-muted);font-size:14px;line-height:1.6}
    .cpstore-iconbox{
      width:42px;height:42px;border-radius:10px;
      background:var(--cp-soft);color:var(--cp-blue-dark);
      display:flex;align-items:center;justify-content:center;
      font-size:20px;margin-bottom:14px;
    }
    .cpstore-callout{
      background:var(--cp-navy);
      border-radius:14px;
      padding:26px;
      color:#fff;
      display:flex;
      align-items:center;
      justify-content:space-between;
      gap:20px;
    }
    .cpstore-callout h2{color:#fff}
    .cpstore-callout p{color:rgba(255,255,255,.72);margin:8px 0 0}
    .cpstore-btn{
      display:inline-flex;
      min-height:46px;
      align-items:center;
      justify-content:center;
      padding:12px 20px;
      border-radius:8px;
      background:var(--cp-blue);
      color:var(--cp-navy);
      font-family:'Inter',Arial,sans-serif;
      font-size:14.5px;
      font-weight:700;
      white-space:nowrap;
    }

    /* Tre schede "trust": nel sito sono i box Spectra sotto la home.
       Titolo = H4 di Astra (Merriweather 700, 20px, interlinea 1.2em); testo = Open Sans del corpo. */
    .cpstore-trust{padding:18px 0 56px;background:#fff}
    .cpstore-trust-grid{
      display:grid;
      grid-template-columns:repeat(3,minmax(0,1fr));
      gap:16px;
      background:linear-gradient(110deg,#0a2234,#0b5f89);
      padding:34px;
    }
    .cpstore-trust-card{
      min-height:142px;
      padding:26px;
      display:flex;
      align-items:flex-start;
      gap:14px;
      background:rgba(1,86,143,.84);
      color:#fff;
    }
    .cpstore-trust-card h3{
      font-family:'Merriweather',serif;
      font-weight:700;
      color:#fff;
      font-size:20px;
      line-height:1.2em;
      letter-spacing:0;
      margin:0 0 4px;
    }
    .cpstore-trust-card p{
      font-family:'Open Sans',sans-serif;
      font-weight:400;
      color:rgba(255,255,255,.9);
      font-size:16px;
      font-size:1rem;
      line-height:1.6em;
      margin:0;
    }
    .cpstore-trust-ico{color:#0bb6f0;font-size:22px;font-weight:800}

    /* =========================================================
       FOOTER — struttura e colori reali Astra
       Link e social: 16px (1rem) come nel tema. Testi a destra: Arial come nel sito.
       ========================================================= */
    .cp-footer{
      background:#3a3a3a;
      font-family:'Open Sans',sans-serif;
      font-size:16px;
      font-size:1rem;
      line-height:1.6em;
    }
    .cp-footer-primary{
      background:#025790;
      padding:50px 0 30px;
    }
    .cp-footer-grid{
      width:100%;
      max-width:1438px;
      margin:0 auto;
      padding:0 20px;
      display:grid;
      grid-template-columns:1fr 1fr 1fr 2fr;
      column-gap:10px;
      align-items:center;
    }
    .cp-footer ul{margin:0;padding:0;list-style:none}
    .cp-footer li{margin:5px 0}
    .cp-footer a{
      color:rgba(255,255,255,.66);
      font-size:16px;
      font-size:1rem;
    }
    .cp-footer a:hover{color:#f8f6f3}
    .cp-footer-info{text-align:left}
    .cp-footer-legal{text-align:right}
    .cp-footer-pay{text-align:right}
    .cp-footer-pay img{
      display:inline-block;
      width:224px;
      max-width:100%;
    }
    .cp-footer-brand{text-align:right}
    .cp-footer-brand img{
      display:block;
      width:185px;
      max-width:100%;
      margin:0 0 14px auto;
    }
    .cp-footer-brand .made{
      margin:0 0 7px;
      color:#70d9fb;
      font-family:Arial,Helvetica,sans-serif;
      font-size:11px;
      font-weight:800;
      line-height:1.2;
      letter-spacing:.12em;
      text-transform:uppercase;
    }
    .cp-footer-brand .desc{
      max-width:470px;
      margin:10px 0 0 auto;
      color:#d6e7f4;
      font-family:Arial,Helvetica,sans-serif;
      font-size:13.5px;
      font-weight:400;
      line-height:1.6;
    }
    .cp-footer-brand .tagline{
      margin:0;
      color:#fff;
      font-family:Arial,Helvetica,sans-serif;
      font-size:21px;
      font-weight:700;
      line-height:1.3;
    }

    .cp-footer-bottom{
      background:#0274be;
      padding:10px 30px;
    }
    .cp-footer-bottom-grid{
      width:100%;
      max-width:1438px;
      min-height:30px;
      margin:0 auto;
      display:grid;
      grid-template-columns:repeat(3,1fr);
      column-gap:4px;
      align-items:center;
      color:rgba(255,255,255,.66);
      font-size:16px;
      font-size:1rem;
    }
    .cp-footer-copy{text-align:left}
    .cp-footer-copy span{font-size:8pt}
    .cp-footer-social{
      display:flex;
      justify-content:center;
      gap:25px;
    }
    .cp-footer-social a{
      color:rgba(255,255,255,.66);
      font-size:16px;
      font-size:1rem;
    }
    .cp-footer-social a:hover{color:var(--ast-global-color-0)}

    @media(max-width:921px){
      .cp-menu{display:none}
      .cp-language-switcher{
        margin-left:auto;
        padding-left:8px;
        gap:6px;
      }
      .cp-language-switcher a{
        width:28px;
        height:21px;
      }
      .cp-language-switcher img{
        width:22px;
        height:15px;
      }
      .cp-mobile-button{
        display:flex;
        margin-left:8px;
      }
      .cp-header-row{min-height:64px}
      .cp-brand img{max-height:46px}

      .cp-footer-grid{
        grid-template-columns:1fr 1fr;
        row-gap:28px;
      }
      .cp-footer-legal{text-align:center}
      .cp-footer-pay{text-align:left}
      .cp-footer-brand{
        grid-column:1/-1;
        text-align:center;
      }
      .cp-footer-brand img{margin-left:auto;margin-right:auto}
      .cp-footer-brand .desc{margin-left:auto;margin-right:auto}
      .cp-footer-bottom{padding:10px}
    }

    @media(max-width:544px){
      .cp-topbar{font-size:12px;line-height:1.3;padding:6px 10px}
      .cp-language-switcher{
        gap:4px;
        padding-left:5px;
      }
      .cp-language-switcher a{
        width:24px;
        height:19px;
        padding:1px;
      }
      .cp-language-switcher img{
        width:20px;
        height:14px;
      }
      .cp-header-row{min-height:62px}
      .cp-brand img{max-height:42px}
      .cpstore-hero{padding:52px 0}
      .cpstore-main{padding:42px 0 50px}
      .cpstore-grid2{grid-template-columns:1fr}
      .cpstore-card{padding:20px}
      .cpstore-callout{display:block}
      .cpstore-callout .cpstore-btn{margin-top:18px}
      .cpstore-trust-grid{grid-template-columns:1fr;padding:18px}

      .cp-footer-primary{padding:42px 0 0}
      .cp-footer-grid{
        grid-template-columns:1fr;
        gap:26px;
        text-align:center;
      }
      .cp-footer-info,.cp-footer-legal,.cp-footer-pay,.cp-footer-brand{text-align:center}
      .cp-footer-pay img{display:block;margin:0 auto}
      .cp-footer-bottom-grid{
        grid-template-columns:1fr;
        gap:8px;
        text-align:center;
      }
      .cp-footer-copy{text-align:center}
    }
