/**
 * Hope Running Core Performance
 * Unisciti a Hope Running · Magliette Gialle
 * Versione 1.1.8
 * Slug supportati:
 * /unisciti-a-hope-running/
 * /diventa-volontario-hope/
 */

.hr-join-page {
    width:100%;
    max-width:1200px;
    margin-inline:auto;
    padding:24px 18px 72px;
}

.hr-join-page > .hr-section {
    scroll-margin-top:120px;
}

.hr-join-defer {
    content-visibility:auto;
    contain-intrinsic-size:1px 850px;
}

/* HERO */
.hr-join-hero {
    padding:clamp(54px,7vw,84px) clamp(28px,5vw,60px);
    margin-bottom:72px;
    border-radius:30px;
}

.hr-join-hero .hr-title {
    max-width:1040px;
    font-size:clamp(43px,5.9vw,70px);
    line-height:1;
    letter-spacing:-2.2px;
}

.hr-join-hero .hr-title span {
    color:var(--hope-yellow);
}

.hr-join-hero .hr-copy {
    max-width:900px;
    margin-top:20px;
    font-size:16px;
    line-height:1.8;
}

.hr-join-actions {
    display:flex;
    flex-wrap:wrap;
    gap:9px;
    margin-top:27px;
}

.hr-join-hero .hr-btn-outline {
    color:#fff !important;
    border-color:rgba(255,255,255,.28);
    background:rgba(255,255,255,.06);
}

/* GENERIC HEAD */
.hr-join-head {
    max-width:940px;
    margin-bottom:28px;
}

.hr-join-head .hr-copy {
    max-width:850px;
    margin-top:14px;
}

/* MANIFESTO */
.hr-join-manifesto {
    max-width:1080px;
    margin-inline:auto;
    padding:36px;
    border-left:6px solid var(--hope-yellow);
    background:var(--hope-bg);
}

.hr-join-manifesto strong {
    display:block;
    max-width:920px;
    color:var(--hope-dark);
    font-size:clamp(28px,3.6vw,42px);
    font-weight:950;
    line-height:1.07;
    letter-spacing:-1px;
}

.hr-join-manifesto p {
    max-width:860px;
    margin:16px 0 0;
    color:var(--hope-muted);
    font-size:14px;
    line-height:1.75;
}

/* PRINCIPI MAGLIETTE */
.hr-join-principles {
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:14px;
    max-width:1080px;
    margin-inline:auto;
}

.hr-join-principle {
    min-width:0;
    min-height:220px;
    padding:27px;
}

.hr-join-principle small {
    display:block;
    margin-bottom:12px;
    color:#756500;
    font-size:8px;
    font-weight:900;
    letter-spacing:1px;
    text-transform:uppercase;
}

.hr-join-principle h3 {
    margin:0 0 10px;
    color:var(--hope-dark);
    font-size:23px;
    font-weight:950;
    line-height:1.08;
}

.hr-join-principle p {
    margin:0;
    color:var(--hope-muted);
    font-size:13px;
    line-height:1.72;
}

/* IDENTITA GIALLA */
.hr-join-yellow {
    padding:clamp(40px,6vw,60px);
    border-radius:28px;
}

.hr-join-yellow .hr-title {
    max-width:850px;
}

.hr-join-yellow .hr-copy {
    max-width:840px;
    margin-top:15px;
}

.hr-join-yellow-lines {
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:10px;
    margin-top:26px;
}

.hr-join-yellow-lines div {
    padding:17px;
    border:1px solid rgba(17,23,20,.12);
    border-radius:14px;
    background:rgba(255,255,255,.55);
    color:var(--hope-dark);
    font-size:13px;
    font-weight:950;
    text-align:center;
}

/* RUOLI VOLONTARI */
.hr-join-roles {
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:14px;
    max-width:1080px;
    margin-inline:auto;
}

.hr-join-role {
    min-width:0;
    min-height:230px;
    padding:26px;
}

.hr-join-role small {
    display:block;
    margin-bottom:11px;
    color:#756500;
    font-size:8px;
    font-weight:900;
    letter-spacing:1px;
    text-transform:uppercase;
}

.hr-join-role h3 {
    margin:0 0 11px;
    color:var(--hope-dark);
    font-size:22px;
    font-weight:950;
    line-height:1.1;
}

.hr-join-role p {
    margin:0;
    color:var(--hope-muted);
    font-size:13px;
    line-height:1.72;
}

/* TRE PORTE */
.hr-join-paths {
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:14px;
}

.hr-join-path {
    min-width:0;
    min-height:330px;
    padding:27px;
    display:flex;
    flex-direction:column;
}

.hr-join-path-featured {
    border:2px solid var(--hope-yellow);
    box-shadow:0 14px 36px rgba(17,23,20,.08);
}

.hr-join-path small {
    display:block;
    margin-bottom:12px;
    color:#756500;
    font-size:8px;
    font-weight:900;
    letter-spacing:1px;
    text-transform:uppercase;
}

.hr-join-path h3 {
    margin:0 0 11px;
    color:var(--hope-dark);
    font-size:25px;
    font-weight:950;
    line-height:1.08;
}

.hr-join-path p {
    margin:0 0 15px;
    color:var(--hope-muted);
    font-size:13px;
    line-height:1.72;
}

.hr-join-path .hr-btn {
    width:100%;
    margin-top:auto;
}

/* PROCEDURA */
.hr-join-process {
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:12px;
    max-width:1080px;
    margin-inline:auto;
}

.hr-join-step {
    padding:24px;
    min-height:190px;
}

.hr-join-step small {
    display:block;
    margin-bottom:11px;
    color:#756500;
    font-size:8px;
    font-weight:900;
    letter-spacing:1px;
    text-transform:uppercase;
}

.hr-join-step strong {
    display:block;
    margin-bottom:8px;
    color:var(--hope-dark);
    font-size:21px;
    font-weight:950;
}

.hr-join-step p {
    margin:0;
    color:var(--hope-muted);
    font-size:12px;
    line-height:1.7;
}

/* NOTA TECNICA */
.hr-join-note {
    padding:27px;
    background:var(--hope-bg);
}

.hr-join-note h3 {
    margin:0 0 11px;
    color:var(--hope-dark);
    font-size:22px;
    font-weight:950;
}

.hr-join-note p {
    margin:0 0 11px;
    color:var(--hope-muted);
    font-size:12px;
    line-height:1.7;
}

.hr-join-note p:last-child {
    margin-bottom:0;
}

/* CTA FINALE */
.hr-join-final {
    padding:clamp(40px,6vw,60px);
    border-radius:28px;
}

.hr-join-final .hr-title {
    max-width:900px;
}

.hr-join-final .hr-copy {
    max-width:850px;
    margin-top:15px;
}

.hr-join-final-actions {
    display:flex;
    flex-wrap:wrap;
    gap:9px;
    margin-top:24px;
}

/* Elementor hardening */
.hr-join-page .hr-band-dark p,
.hr-join-page .hr-band-dark li {
    color:#d3ddd7 !important;
}

.hr-join-page .hr-band-dark strong,
.hr-join-page .hr-band-dark b {
    color:#fff !important;
}

.hr-join-page .hr-band-yellow p,
.hr-join-page .hr-band-yellow li {
    color:#41483f !important;
}

/* Responsive */
@media(max-width:980px) {
    .hr-join-paths {
        grid-template-columns:1fr;
    }

    .hr-join-yellow-lines {
        grid-template-columns:1fr;
    }
}

@media(max-width:760px) {
    .hr-join-page {
        padding:12px 10px 58px;
    }

    .hr-join-hero {
        padding:42px 22px;
        margin-bottom:60px;
        border-radius:21px;
    }

    .hr-join-hero .hr-title {
        font-size:40px;
        letter-spacing:-1.5px;
    }

    .hr-join-actions,
    .hr-join-final-actions {
        display:grid;
        grid-template-columns:1fr;
    }

    .hr-join-actions .hr-btn,
    .hr-join-final-actions .hr-btn {
        width:100%;
    }

    .hr-join-principles,
    .hr-join-roles,
    .hr-join-process {
        grid-template-columns:1fr;
    }

    .hr-join-principle,
    .hr-join-role,
    .hr-join-step,
    .hr-join-path {
        min-height:0;
    }

    .hr-join-yellow,
    .hr-join-final {
        padding:28px 21px;
        border-radius:20px;
    }

    .hr-join-manifesto,
    .hr-join-note {
        padding:22px 20px;
    }
}
