/*
Theme Name: DG Solution Landing
Theme URI: https://dgsolution.it/
Author: DG Solution
Author URI: https://dgsolution.it/
Description: Tema WordPress one-page per ritiro bancali usati, derivato dalla landing HTML DG Solution.
Version: 1.2.0
Requires at least: 6.0
Tested up to: 6.6
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: dg-solution
Tags: custom-logo, custom-menu, featured-images, one-column, translation-ready
*/

:root{
    --ink:#0d1b2a;
    --ink-soft:#1b263b;
    --paper:#f7f8f6;
    --white:#ffffff;
    --lime:#b6e402;
    --lime-deep:#7ba800;
    --blue:#1d4e89;
    --blue-deep:#12365f;
    --muted:#5c6b7a;
    --line:#e2e6e2;
    --radius:14px;
    --shadow:0 18px 50px -20px rgba(13,27,42,.35);
    --font-d:'Space Grotesk',system-ui,sans-serif;
    --font-b:'Inter',system-ui,sans-serif;
  }
  *{box-sizing:border-box;margin:0;padding:0}
  html{scroll-behavior:smooth}
  body{font-family:var(--font-b);color:var(--ink);background:var(--paper);line-height:1.6;-webkit-font-smoothing:antialiased}
  a{color:inherit;text-decoration:none}
  .wrap{width:100%;max-width:1120px;margin:0 auto;padding:0 24px}
  h1,h2,h3{font-family:var(--font-d);font-weight:600;line-height:1.08;letter-spacing:-.02em}

  /* ---------- header ---------- */
  header{position:sticky;top:0;z-index:50;background:rgba(247,248,246,.85);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
  .nav{display:flex;align-items:center;justify-content:space-between;height:70px}
  .logo{display:flex;align-items:center;gap:10px;font-family:var(--font-d);font-weight:700;font-size:20px;letter-spacing:-.02em}
  .logo .mark{width:30px;height:30px;border-radius:8px;background:var(--ink);display:grid;place-items:center}
  .logo .mark span{width:14px;height:14px;border:2.5px solid var(--lime);border-radius:2px}
  .nav-cta{display:inline-flex;align-items:center;gap:8px;background:var(--ink);color:var(--white);padding:11px 20px;border-radius:100px;font-weight:600;font-size:14px;transition:transform .15s ease,background .2s}
  .nav-cta:hover{background:var(--blue-deep);transform:translateY(-1px)}
  .nav-links{display:flex;gap:28px;font-size:14px;font-weight:500;color:var(--muted)}
  .nav-links a:hover{color:var(--ink)}
  @media(max-width:820px){.nav-links{display:none}}

  /* ---------- hero ---------- */
  .hero{position:relative;padding:78px 0 64px;overflow:hidden}
  .hero-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:56px;align-items:center}
  .eyebrow{display:inline-flex;align-items:center;gap:9px;font-family:var(--font-d);font-size:12.5px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--blue);background:var(--white);border:1px solid var(--line);padding:7px 14px;border-radius:100px;margin-bottom:26px}
  .eyebrow .dot{width:7px;height:7px;border-radius:50%;background:var(--lime-deep)}
  .hero h1{font-size:clamp(38px,5.6vw,62px);margin-bottom:22px}
  .hero h1 .hl{position:relative;white-space:nowrap}
  .hero h1 .hl::after{content:"";position:absolute;left:-2px;right:-2px;bottom:.06em;height:.34em;background:var(--lime);z-index:-1;border-radius:3px}
  .hero p.lead{font-size:19px;color:var(--muted);max-width:30em;margin-bottom:34px}
  .hero-cta{display:flex;gap:14px;flex-wrap:wrap;align-items:center}
  .btn-primary{display:inline-flex;align-items:center;gap:10px;background:var(--lime);color:var(--ink);font-family:var(--font-d);font-weight:600;font-size:16px;padding:16px 28px;border-radius:100px;transition:transform .15s,box-shadow .2s;box-shadow:0 10px 26px -10px rgba(123,168,0,.7)}
  .btn-primary:hover{transform:translateY(-2px);box-shadow:0 16px 32px -12px rgba(123,168,0,.8)}
  .btn-ghost{display:inline-flex;align-items:center;gap:9px;font-weight:600;font-size:15px;color:var(--ink);padding:15px 20px;border-radius:100px;border:1px solid var(--line);background:var(--white);transition:border-color .2s}
  .btn-ghost:hover{border-color:var(--ink)}
  .trust{display:flex;gap:26px;margin-top:34px;flex-wrap:wrap}
  .trust-item{font-size:14px;color:var(--muted);display:flex;align-items:center;gap:8px}
  .trust-item svg{flex:none}

  /* hero card */
  .pay-card{background:var(--ink);color:var(--white);border-radius:20px;padding:34px;box-shadow:var(--shadow);position:relative;overflow:hidden}
  .pay-card::before{content:"";position:absolute;top:-60px;right:-60px;width:200px;height:200px;background:radial-gradient(circle,rgba(182,228,2,.22),transparent 70%)}
  .pay-card .tag{font-family:var(--font-d);font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--lime);font-weight:600;margin-bottom:6px}
  .pay-card .big{font-family:var(--font-d);font-size:44px;font-weight:700;letter-spacing:-.03em;line-height:1;margin-bottom:4px}
  .pay-card .sub{color:#a9b6c3;font-size:14px;margin-bottom:26px}
  .pay-row{display:flex;justify-content:space-between;align-items:center;padding:15px 0;border-top:1px solid rgba(255,255,255,.1);font-size:14.5px}
  .pay-row span:first-child{color:#a9b6c3}
  .pay-row span:last-child{font-family:var(--font-d);font-weight:600}
  .pay-row .check{color:var(--lime);display:inline-flex;align-items:center;gap:7px}
  @media(max-width:900px){.hero-grid{grid-template-columns:1fr;gap:40px}.pay-card{max-width:440px}}

  /* ---------- locations strip ---------- */
  .strip{background:var(--ink);color:var(--white);padding:20px 0}
  .strip .wrap{display:flex;align-items:center;justify-content:center;gap:14px 40px;flex-wrap:wrap;font-family:var(--font-d);font-weight:500;font-size:15px}
  .strip .pin{display:inline-flex;align-items:center;gap:9px}
  .strip .pin b{color:var(--lime);font-weight:600}
  .strip .sep{width:5px;height:5px;border-radius:50%;background:rgba(255,255,255,.3)}

  /* ---------- section base ---------- */
  section.block{padding:88px 0}
  .sec-head{max-width:640px;margin-bottom:52px}
  .sec-eyebrow{font-family:var(--font-d);font-size:12.5px;font-weight:600;letter-spacing:.09em;text-transform:uppercase;color:var(--blue);margin-bottom:14px}
  .sec-head h2{font-size:clamp(28px,3.6vw,40px);margin-bottom:16px}
  .sec-head p{color:var(--muted);font-size:17px}

  /* ---------- steps ---------- */
  .steps{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
  .step{background:var(--white);border:1px solid var(--line);border-radius:var(--radius);padding:30px 26px;position:relative;transition:transform .2s,box-shadow .2s}
  .step:hover{transform:translateY(-4px);box-shadow:var(--shadow)}
  .step .num{font-family:var(--font-d);font-size:13px;font-weight:700;color:var(--lime-deep);letter-spacing:.05em;margin-bottom:18px}
  .step .ic{width:46px;height:46px;border-radius:12px;background:var(--paper);border:1px solid var(--line);display:grid;place-items:center;margin-bottom:18px}
  .step h3{font-size:20px;margin-bottom:9px}
  .step p{color:var(--muted);font-size:15px}
  .step.pay{background:var(--ink);border-color:var(--ink)}
  .step.pay .num{color:var(--lime)}
  .step.pay h3{color:var(--white)}
  .step.pay p{color:#a9b6c3}
  .step.pay .ic{background:rgba(255,255,255,.06);border-color:rgba(255,255,255,.12)}
  @media(max-width:820px){.steps{grid-template-columns:1fr}}

  /* ---------- why grid ---------- */
  .why{background:var(--white);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
  .why-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:0;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}
  .why-cell{padding:34px 32px;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}
  .why-cell:nth-child(2n){border-right:none}
  .why-cell:nth-last-child(-n+2){border-bottom:none}
  .why-cell h3{font-size:18px;margin-bottom:8px;display:flex;align-items:center;gap:11px}
  .why-cell h3 .b{width:9px;height:9px;background:var(--lime);border-radius:2px;flex:none}
  .why-cell p{color:var(--muted);font-size:15px}
  @media(max-width:700px){.why-grid{grid-template-columns:1fr}.why-cell{border-right:none}.why-cell:nth-last-child(2){border-bottom:1px solid var(--line)}}

  /* ---------- accepted list ---------- */
  .accept{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:start}
  .accept-list{display:flex;flex-direction:column;gap:2px}
  .accept-row{display:flex;align-items:center;gap:14px;padding:15px 4px;border-bottom:1px solid var(--line);font-size:16px;font-weight:500}
  .accept-row svg{flex:none}
  .accept-aside{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);padding:30px}
  .accept-aside h3{font-size:19px;margin-bottom:12px}
  .accept-aside p{color:var(--muted);font-size:15px;margin-bottom:18px}
  .badge-row{display:flex;gap:10px;flex-wrap:wrap}
  .badge{font-family:var(--font-d);font-size:12.5px;font-weight:600;background:var(--white);border:1px solid var(--line);padding:7px 13px;border-radius:100px;color:var(--ink-soft)}
  @media(max-width:820px){.accept{grid-template-columns:1fr;gap:32px}}

  /* ---------- CTA / form ---------- */
  .contact{background:var(--ink);color:var(--white)}
  .contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:start}
  .contact h2{font-size:clamp(30px,4vw,44px);margin-bottom:18px;color:var(--white)}
  .contact .lead{color:#a9b6c3;font-size:17px;margin-bottom:32px;max-width:26em}
  .contact-methods{display:flex;flex-direction:column;gap:16px}
  .method{display:flex;align-items:center;gap:16px;padding:18px 20px;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.1);border-radius:var(--radius);transition:border-color .2s,background .2s}
  .method:hover{border-color:var(--lime);background:rgba(255,255,255,.08)}
  .method .mic{width:44px;height:44px;border-radius:11px;background:var(--lime);display:grid;place-items:center;flex:none}
  .method .mtxt small{display:block;color:#a9b6c3;font-size:12.5px;text-transform:uppercase;letter-spacing:.06em;font-family:var(--font-d);font-weight:500;margin-bottom:2px}
  .method .mtxt b{font-family:var(--font-d);font-size:18px;font-weight:600}

  form{background:var(--white);border-radius:20px;padding:32px;color:var(--ink)}
  form h3{font-size:20px;margin-bottom:6px}
  form .fsub{color:var(--muted);font-size:14px;margin-bottom:24px}
  .field{margin-bottom:16px}
  .field label{display:block;font-size:13px;font-weight:600;margin-bottom:7px;color:var(--ink-soft)}
  .field input,.field textarea,.field select{width:100%;font-family:var(--font-b);font-size:15px;padding:13px 15px;border:1px solid var(--line);border-radius:10px;background:var(--paper);color:var(--ink);transition:border-color .15s,box-shadow .15s}
  .field input:focus,.field textarea:focus,.field select:focus{outline:none;border-color:var(--blue);box-shadow:0 0 0 3px rgba(29,78,137,.12)}
  .field textarea{resize:vertical;min-height:88px}
  .two{display:grid;grid-template-columns:1fr 1fr;gap:14px}
  .submit{width:100%;background:var(--ink);color:var(--white);font-family:var(--font-d);font-weight:600;font-size:16px;padding:16px;border:none;border-radius:100px;cursor:pointer;transition:background .2s,transform .15s;display:inline-flex;align-items:center;justify-content:center;gap:9px}
  .submit:hover{background:var(--blue-deep);transform:translateY(-1px)}
  .form-note{font-size:12.5px;color:var(--muted);margin-top:14px;text-align:center}
  .form-ok{display:none;text-align:center;padding:20px 0}
  .form-ok .oic{width:56px;height:56px;border-radius:50%;background:var(--lime);display:grid;place-items:center;margin:0 auto 16px}
  .form-ok h3{margin-bottom:6px}
  .form-ok p{color:var(--muted);font-size:15px}
  @media(max-width:820px){.contact-grid{grid-template-columns:1fr;gap:36px}.two{grid-template-columns:1fr}}


  /* ---------- Contact Form 7 ---------- */
  .lead-form-card{background:var(--white);border-radius:20px;color:var(--ink)}
  .lead-form-card form{margin:0}
  .lead-form-card .wpcf7{background:var(--white);border-radius:20px;color:var(--ink)}
  .lead-form-card .wpcf7 form{background:var(--white);border-radius:20px;padding:32px;color:var(--ink)}
  .lead-form-card .wpcf7-form-control-wrap{display:block}
  .lead-form-card .wpcf7-not-valid-tip{font-size:12.5px;margin-top:6px;color:#d64545}
  .lead-form-card .wpcf7 form .wpcf7-response-output{margin:18px 0 0;padding:12px 14px;border-radius:10px;font-size:14px;text-align:center;color:var(--ink)}
  .lead-form-card .wpcf7 form.invalid .wpcf7-response-output,
  .lead-form-card .wpcf7 form.unaccepted .wpcf7-response-output,
  .lead-form-card .wpcf7 form.payment-required .wpcf7-response-output{border-color:#d64545;background:#fff5f5}
  .lead-form-card .wpcf7 form.sent .wpcf7-response-output{border-color:var(--lime-deep);background:#f5ffd8}
  .lead-form-card .wpcf7-spinner{display:block;margin:12px auto 0}
  .lead-form-card .wpcf7-list-item{margin-left:0}
  .lead-form-card .acceptance{font-size:12.5px;color:var(--muted);line-height:1.5}
  .lead-form-card .acceptance a{text-decoration:underline;text-underline-offset:2px}
  .cf7-missing{background:var(--white);border-radius:20px;padding:32px;color:var(--ink)}

  /* ---------- footer ---------- */
  footer{padding:44px 0;background:var(--paper)}
  .foot{display:flex;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap;font-size:14px;color:var(--muted)}
  .foot .logo{font-size:17px;color:var(--ink)}
  .foot-sedi{display:flex;gap:22px;flex-wrap:wrap}
  .foot-sedi b{color:var(--ink-soft);font-family:var(--font-d)}

  :focus-visible{outline:2px solid var(--blue);outline-offset:2px}
  @media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}


/* ---------- WordPress compatibility ---------- */
.screen-reader-text{border:0;clip:rect(1px,1px,1px,1px);clip-path:inset(50%);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute!important;width:1px;word-wrap:normal!important}
.screen-reader-text:focus{background:var(--white);clip:auto!important;clip-path:none;color:var(--ink);display:block;font-size:14px;font-weight:700;height:auto;left:10px;line-height:normal;padding:12px 16px;text-decoration:none;top:10px;width:auto;z-index:100000;border-radius:8px;box-shadow:var(--shadow)}
.custom-logo{display:block;max-height:54px;width:auto}
.nav-links .primary-menu,.footer-menu-list{display:flex;gap:28px;align-items:center;list-style:none;margin:0;padding:0}
.nav-links .primary-menu a{color:var(--muted)}
.nav-links .primary-menu a:hover{color:var(--ink)}
.footer-menu-list{gap:18px;flex-wrap:wrap}
.footer-widgets{width:100%;font-size:14px;color:var(--muted)}
.foot-mark{width:26px!important;height:26px!important}
.content-area{padding:72px 0}
.content-wrap{max-width:880px}
.content-card{background:var(--white);border:1px solid var(--line);border-radius:var(--radius);padding:34px;margin-bottom:24px;box-shadow:0 12px 35px -28px rgba(13,27,42,.45)}
.content-card.compact{padding:24px 28px}
.entry-title,.page-title{font-size:clamp(28px,4vw,42px);margin-bottom:14px}
.entry-title a:hover{color:var(--blue)}
.entry-meta{color:var(--muted);font-size:14px;margin-bottom:20px}
.entry-content{color:var(--ink-soft)}
.entry-content > * + *{margin-top:1em}
.entry-content ul,.entry-content ol{padding-left:1.35em}
.entry-content img{max-width:100%;height:auto;border-radius:10px}
.entry-content a{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px}
.wp-caption{max-width:100%}
.wp-caption-text,.gallery-caption{font-size:13px;color:var(--muted);margin-top:8px}
.sticky{display:block}
.bypostauthor{display:block}
.alignleft{float:left;margin:0 1.5em 1em 0}
.alignright{float:right;margin:0 0 1em 1.5em}
.aligncenter{clear:both;display:block;margin-left:auto;margin-right:auto}
.nav-links .nav-previous,.nav-links .nav-next,.post-navigation .nav-previous,.post-navigation .nav-next,.posts-navigation .nav-previous,.posts-navigation .nav-next{margin:12px 0}
.post-navigation,.posts-navigation,.comments-area{margin-top:24px}
.comment-list{padding-left:1.25em}
.not-found .btn-primary{margin-top:20px}
.site-logo .custom-logo-link {display: inline-flex;align-items: center;}
.site-logo .custom-logo {display: block;width: auto;max-width: 180px;max-height: 58px;height: auto;
}
@media(max-width:820px){.nav-links .primary-menu{display:none}.content-area{padding:44px 0}.content-card{padding:24px}}
