/* ==========================================================================
   Lead magnet — Guida gratuita all'alimentazione del cane
   Landing (/guida-gratuita-cane) e pagina di download.
   Usa i token di dhp.css: --aw-primary (fucsia), --aw-accent (lime), ecc.
   ========================================================================== */

.gd-eyebrow{
    font-size:.72rem;
    font-weight:700;
    letter-spacing:.2em;
    text-transform:uppercase;
    color:var(--aw-primary);
    margin:0 0 14px;
}
.gd-eyebrow.center{ text-align:center; }

.gd-h2{
    font-size:clamp(1.7rem, 3.4vw, 2.5rem);
    font-weight:800;
    line-height:1.15;
    letter-spacing:-.02em;
    margin:0 0 16px;
}
.gd-h2.center{ text-align:center; }

.gd-lead{
    font-size:1.08rem;
    line-height:1.62;
    color:#4a4a4a;
    font-weight:300;
    margin:0 0 22px;
}

.gd-section-lead{
    max-width:620px;
    margin:0 auto 40px;
    color:var(--aw-text-soft);
    line-height:1.6;
}
.gd-section-lead.center{ text-align:center; }

/* ---------------------------------------------------------------- hero -- */
.gd-hero{
    background:linear-gradient(180deg,#fdf7fb 0%,#fff 78%);
    padding:56px 0 64px;
    border-bottom:1px solid var(--aw-line);
}
.gd-hero-grid{
    display:grid;
    grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);
    gap:56px;
    align-items:start;
}
.gd-hero h1{
    font-size:clamp(2rem, 4.6vw, 3.15rem);
    font-weight:800;
    line-height:1.08;
    letter-spacing:-.028em;
    margin:0 0 18px;
}
.gd-hero h1 span{ color:var(--aw-primary); }

.gd-hero-points{
    list-style:none;
    margin:0 0 28px;
    padding:0;
}
.gd-hero-points li{
    position:relative;
    padding-left:28px;
    margin-bottom:9px;
    font-size:.97rem;
    color:#3d3d3d;
}
.gd-hero-points li::before{
    content:'';
    position:absolute;
    left:0; top:.5em;
    width:9px; height:9px;
    border-radius:50%;
    background:var(--aw-accent);
}

/* --------------------------------------------------------------- book -- */
.gd-hero-cover{ text-align:center; }

.gd-book{
    position:relative;
    display:inline-block;
    max-width:340px;
    width:100%;
    border-radius:4px 10px 10px 4px;
    overflow:hidden;
    background:#fff;
    box-shadow:
        0 1px 2px rgba(0,0,0,.09),
        0 18px 44px rgba(0,0,0,.20);
    transform:rotate(-1.4deg);
}
/* la costa del libretto */
.gd-book::after{
    content:'';
    position:absolute;
    inset:0 auto 0 0;
    width:11px;
    background:linear-gradient(90deg,rgba(0,0,0,.22),rgba(0,0,0,.03) 60%,transparent);
    pointer-events:none;
}
.gd-book img{
    display:block;
    width:100%;
    height:auto;
}
.gd-book-meta{
    margin:22px 0 0;
    font-size:.85rem;
    color:var(--aw-text-soft);
    letter-spacing:.03em;
}

/* --------------------------------------------------------------- form -- */
.gd-form{
    background:#fff;
    border:1px solid var(--aw-line);
    border-radius:12px;
    padding:24px 24px 20px;
    box-shadow:0 4px 20px rgba(0,0,0,.05);
    max-width:520px;
}
.gd-form-compact{ margin:0 auto; }

.gd-form-row{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:14px;
    margin-bottom:14px;
}
.gd-field{ display:block; }
.gd-field > span{
    display:block;
    font-size:.78rem;
    font-weight:600;
    letter-spacing:.05em;
    text-transform:uppercase;
    color:var(--aw-text-soft);
    margin-bottom:6px;
}
.gd-field em{ color:var(--aw-primary); font-style:normal; }
.gd-field input{
    width:100%;
    padding:11px 13px;
    font:inherit;
    font-size:.98rem;
    color:var(--aw-text);
    border:1px solid #d8d8d8;
    border-radius:7px;
    background:#fff;
    transition:border-color .15s, box-shadow .15s;
}
.gd-field input:focus{
    outline:none;
    border-color:var(--aw-primary);
    box-shadow:0 0 0 3px rgba(185,47,146,.14);
}

.gd-consent{
    display:flex;
    gap:10px;
    align-items:flex-start;
    font-size:.8rem;
    line-height:1.5;
    color:var(--aw-text-soft);
    margin-bottom:16px;
}
.gd-consent input{
    margin-top:3px;
    width:16px; height:16px;
    accent-color:var(--aw-primary);
    flex:none;
}
.gd-consent a{ color:var(--aw-primary); }

.gd-submit{
    display:block;
    width:100%;
    padding:14px 22px;
    font:inherit;
    font-size:1rem;
    font-weight:700;
    letter-spacing:.02em;
    color:#fff;
    text-align:center;
    text-decoration:none;
    background:var(--aw-primary);
    border:none;
    border-radius:8px;
    cursor:pointer;
    transition:background .15s, transform .1s;
}
.gd-submit:hover{ background:var(--aw-primary-dark); }
.gd-submit:active{ transform:translateY(1px); }

.gd-submit-big{
    max-width:340px;
    font-size:1.06rem;
    padding:16px 26px;
}

.gd-form-note{
    margin:12px 0 0;
    font-size:.78rem;
    color:var(--aw-text-soft);
    text-align:center;
}

.gd-errors{
    list-style:none;
    margin:0 0 14px;
    padding:11px 14px;
    background:#fdeeec;
    border-left:3px solid #c0392b;
    border-radius:5px;
    font-size:.85rem;
    color:#8e2b1f;
}
.gd-errors li + li{ margin-top:4px; }

.gd-already{
    background:var(--aw-primary-soft);
    border-radius:12px;
    padding:22px 24px;
    max-width:520px;
}
.gd-already p{
    margin:0 0 14px;
    font-weight:600;
}

/* ----------------------------------------------------------- capitoli -- */
.gd-inside{ padding:72px 0; }

.gd-chapters{
    display:grid;
    grid-template-columns:repeat(auto-fit, minmax(260px, 1fr));
    gap:20px;
}
.gd-chapter{
    border:1px solid var(--aw-line);
    border-radius:12px;
    padding:26px 24px;
    background:#fff;
    transition:border-color .18s, box-shadow .18s;
}
.gd-chapter:hover{
    border-color:var(--aw-accent);
    box-shadow:0 6px 22px rgba(0,0,0,.06);
}
.gd-chapter-n{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:34px; height:34px;
    border-radius:50%;
    background:var(--aw-accent);
    color:#2c3d05;
    font-weight:800;
    font-size:1rem;
    margin-bottom:14px;
}
.gd-chapter h3{
    font-size:1.08rem;
    font-weight:700;
    line-height:1.3;
    margin:0 0 8px;
}
.gd-chapter p{
    margin:0;
    font-size:.93rem;
    line-height:1.58;
    color:var(--aw-text-soft);
}

/* ---------------------------------------------------------- anteprima -- */
.gd-preview{ padding:0 0 72px; }
.gd-preview img{
    width:100%;
    height:auto;
    border-radius:12px;
    box-shadow:0 10px 34px rgba(0,0,0,.10);
}

/* ------------------------------------------------------------- fonte -- */
.gd-source{
    background:var(--aw-bg-soft);
    padding:72px 0;
    border-top:1px solid var(--aw-line);
    border-bottom:1px solid var(--aw-line);
}
.gd-source-grid{
    display:grid;
    grid-template-columns:minmax(0,1.25fr) minmax(0,.75fr);
    gap:48px;
    align-items:start;
}
.gd-source p{
    line-height:1.65;
    margin:0 0 14px;
    color:#3f3f3f;
}
.gd-source-note{
    font-size:.82rem;
    color:var(--aw-text-soft);
    border-top:1px solid var(--aw-line);
    padding-top:14px;
    margin-top:20px;
}
.gd-source-card{
    background:#fff;
    border-radius:12px;
    padding:28px 26px;
    box-shadow:0 4px 20px rgba(0,0,0,.05);
}
.gd-source-card h3{
    font-size:1rem;
    font-weight:700;
    margin:0 0 14px;
}
.gd-source-card ul{
    list-style:none;
    margin:0;
    padding:0;
}
.gd-source-card li{
    position:relative;
    padding-left:24px;
    margin-bottom:11px;
    font-size:.9rem;
    line-height:1.5;
    color:var(--aw-text-soft);
}
.gd-source-card li::before{
    content:'';
    position:absolute;
    left:0; top:.48em;
    width:8px; height:8px;
    border-radius:50%;
    background:var(--aw-primary);
}

/* -------------------------------------------------------- CTA finale -- */
.gd-final{
    padding:72px 0 88px;
    text-align:center;
}
.gd-final-inner{ max-width:640px; }
.gd-final p{
    color:var(--aw-text-soft);
    margin:0 0 28px;
}

/* ------------------------------------------------------------ grazie -- */
.gd-thanks{ padding:64px 0 88px; }
.gd-thanks-grid{
    display:grid;
    grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);
    gap:56px;
    align-items:start;
}
.gd-thanks h1{
    font-size:clamp(1.9rem, 4.2vw, 2.9rem);
    font-weight:800;
    line-height:1.1;
    letter-spacing:-.025em;
    margin:0 0 16px;
}
.gd-thanks-cover{ text-align:center; }

.gd-next{
    margin-top:44px;
    border-top:1px solid var(--aw-line);
    padding-top:28px;
}
.gd-next h2{
    font-size:1.05rem;
    font-weight:700;
    margin:0 0 16px;
}
.gd-next ul{ list-style:none; margin:0; padding:0; }
.gd-next li{
    padding:14px 0;
    border-bottom:1px solid var(--aw-line);
}
.gd-next li a{
    text-decoration:none;
    color:var(--aw-primary);
}
.gd-next li a:hover strong{ text-decoration:underline; }
.gd-next li strong{ display:block; font-size:1rem; }
.gd-next li span{
    display:block;
    font-size:.88rem;
    color:var(--aw-text-soft);
    margin-top:2px;
}

/* ---------------------------------------------------------- responsive -- */
@media (max-width:900px){
    .gd-hero-grid,
    .gd-source-grid,
    .gd-thanks-grid{
        grid-template-columns:1fr;
        gap:40px;
    }
    .gd-hero-cover{ order:-1; }
    .gd-book{ max-width:260px; }
    .gd-thanks-cover{ display:none; }
}

@media (max-width:560px){
    .gd-hero{ padding:36px 0 44px; }
    .gd-inside, .gd-source{ padding:52px 0; }
    .gd-final{ padding:52px 0 64px; }
    .gd-form{ padding:20px 18px 18px; }
    .gd-form-row{ grid-template-columns:1fr; gap:12px; }
    .gd-submit-big{ max-width:none; }
}
