/* =========================================================
   HERO_PAGE.CSS — HERO macro pagine
   (scoped: NON tocca .hero--static globale)
   ========================================================= */

/* HERO pagina (solo macro-pagine) */
.hero.hero-page{
    position: relative;
    overflow: hidden;

    /* stesso background della home */
    background: url('../images/hero_background.svg') center/cover no-repeat;

    /* altezza “compatta” */
    padding-top: clamp(96px, 10vh, 120px);  /* spazio sotto header fixed */
    padding-bottom: clamp(18px, 3vw, 28px); /* meno aria sotto */
}

/* Container: più largo solo qui -> meno righe -> hero più bassa */
.hero.hero-page .container{
    max-width: 1400px;
}

/* Griglia (1 colonna) */
.hero.hero-page .hero__grid{
    display: grid;
    grid-template-columns: 1fr;
    gap: 14px;
    align-items: start;
}

/* Box testo “glass” */
.hero.hero-page .hero__content{
    background: rgba(255,255,255,.78);
    border: 1px solid rgba(0,0,0,.06);
    border-radius: 18px;
    padding: clamp(14px, 2vw, 20px);
    box-shadow: 0 14px 34px rgba(0,0,0,.06);
    backdrop-filter: blur(8px);
}

/* Titolo */
.hero.hero-page .hero__title{
    margin: 0 0 .35em;
    color: var(--primary-dark);
    letter-spacing: -0.02em;
}

/* Testo: più “largo” e un filo più compatto di line-height */
.hero.hero-page .hero__subtitle{
    margin: 0;
    max-width: none;                 /* ✅ così sfrutta la larghezza */
    color: var(--ink-700);
    font-size: clamp(16px, 1.1vw, 18px);
    line-height: 1.6;                /* ✅ meno alto di 1.75 */
}

/* =========================================================
   SEZIONE CARD (layout)
   ========================================================= */
.page-cards{
    padding: clamp(26px,4vw,46px) 0 clamp(44px,6vw,68px);
    background: #fff;
}

.page-cards__head{
    display:flex;
    flex-direction:column;
    gap: 8px;
    margin-bottom: 18px;
}

.page-cards__title{
    margin:0;
    color: var(--primary-dark);
    font-size: clamp(20px,2.2vw,28px);
    letter-spacing: -0.01em;
}

.page-cards__subtitle{
    margin:0;
    color: var(--ink-700);
    max-width: 72ch;
}

/* Griglia “stabile” (simile home) */
.page-cards__grid{
    display:grid;
    grid-template-columns: repeat(3, minmax(0,1fr));
    gap: 18px;
}

@media (max-width: 1100px){
    .page-cards__grid{ grid-template-columns: repeat(2, minmax(0,1fr)); }
}
@media (max-width: 720px){
    .page-cards__grid{ grid-template-columns: 1fr; }
}

/* =========================================================
   VARIANTI (solo badge + micro accent)
   Nota: NON tocchiamo .xcard base, solo “skin”
   ========================================================= */

/* badge default un filo più “pill” se non già gestito */
.page-cards .xcard__badge{
    border: 1px solid rgba(0,0,0,.06);
}

/* Formazione */
.xcard--course .xcard__badge{
    background: rgba(0,155,153,.12);
    color: var(--primary-dark);
}
.xcard--seminar .xcard__badge{
    background: rgba(10,160,232,.12);
    color: var(--brand-900);
}
.xcard--master .xcard__badge{
    background: rgba(189,255,203,.55);
    color: var(--primary-dark);
}
.xcard--training .xcard__badge{
    background: rgba(7,98,103,.10);
    color: var(--primary-dark);
}
.xcard--catalog .xcard__badge{
    background: rgba(17,17,17,.06);
    color: var(--ink-700);
}

/* Laboratori / Supervisione */
.xcard--lab .xcard__badge{
    background: rgba(0,155,153,.10);
    color: var(--primary-dark);
}
.xcard--intervision .xcard__badge{
    background: rgba(10,160,232,.10);
    color: var(--brand-900);
}
.xcard--supervision .xcard__badge{
    background: rgba(7,98,103,.12);
    color: var(--primary-dark);
}

/* Crescita personale */
.xcard--experience .xcard__badge{
    background: rgba(189,255,203,.50);
    color: var(--primary-dark);
}
.xcard--mindset .xcard__badge{
    background: rgba(10,160,232,.10);
    color: var(--brand-900);
}

/* Talk & Podcast */
.xcard--podcast .xcard__badge{
    background: rgba(0,155,153,.12);
    color: var(--primary-dark);
}
.xcard--talk .xcard__badge{
    background: rgba(10,160,232,.12);
    color: var(--brand-900);
}
/* HERO formazione: titolo più compatto */
#hero-formazione .hero__title{
    font-size: clamp(26px, 2.8vw, 34px);
    margin-bottom: 8px;
}

/* Testo un filo più piccolo e compatto */
#hero-formazione .hero__subtitle{
    font-size: clamp(15px, 1.05vw, 16.5px);
    line-height: 1.55;
}
/* =========================
   HERO PAGE — micro premium
   ========================= */

/* 1) Card più “premium”: bordo gradiente sottile + ombra più pulita */
.hero.hero-page .hero__content{
    position: relative;
    border-radius: 20px;
    background: rgba(255,255,255,.78);
    box-shadow: 0 18px 46px rgba(0,0,0,.08);
    border: 1px solid rgba(0,0,0,.06);
    overflow: hidden;
}

/* bordo gradient sottile (effetto premium) */
.hero.hero-page .hero__content::before{
    content:"";
    position:absolute;
    inset:0;
    padding:1px;
    border-radius:20px;
    background: linear-gradient(
            135deg,
            rgba(0,155,153,.45),
            rgba(10,160,232,.22),
            rgba(189,255,203,.45)
    );
    -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
    -webkit-mask-composite: xor;
    mask-composite: exclude;
    pointer-events:none;
}

/* 2) Accento grafico soft dietro la card (non “pesa”, ma dà carattere) */
.hero.hero-page::after{
    content:"";
    position:absolute;
    right:-180px;
    top:90px;
    width:520px;
    height:520px;
    background: radial-gradient(circle, rgba(0,155,153,.16), transparent 60%);
    filter: blur(2px);
    pointer-events:none;
}

/* 3) Micro-animazione ingresso (molto leggera) */
@media (prefers-reduced-motion: no-preference){
    #hero-formazione .hero__content{
        animation: heroIn .5s ease-out both;
    }
    @keyframes heroIn{
        from{ opacity:0; transform: translateY(8px); }
        to  { opacity:1; transform: translateY(0); }
    }
}

/* opzionale: hover appena percettibile (solo desktop) */
@media (hover:hover){
    #hero-formazione .hero__content:hover{
        transform: translateY(-2px);
        transition: transform .18s ease, box-shadow .18s ease;
        box-shadow: 0 22px 54px rgba(0,0,0,.10);
    }
}

/* mantiene la hero un filo più “bassa” senza cambiare nulla del testo */
.hero.hero-page{
    padding-top: calc(110px + clamp(18px,2.6vw,28px));
    padding-bottom: clamp(18px,2.6vw,28px);
}