/* ===== Hero corso ===== */
.page-hero--course{
    background: var(--tertiary);
    padding-top: 120px;
    padding-bottom: 48px;
}

.page-hero__inner{
    display:flex;
    flex-direction:column;
    gap:18px;
}

.page-hero__pill{
    align-self:flex-start;
    padding:4px 10px;
    border-radius:999px;
    background:rgba(0,155,153,.08);
    color:var(--primary-dark);
    font-size:13px;
    font-weight:700;
    letter-spacing:.06em;
    text-transform:uppercase;
}

.page-hero__title{
    margin:0;
    font-size:clamp(28px,3.4vw,40px);
    line-height:1.15;
    color:var(--primary-dark);
}

.page-hero__edition{
    font-size: clamp(18px,2vw,22px);
    font-weight:600;
    color:var(--primary);
}

.page-hero__subtitle{
    margin:4px 0 0;
    max-width:660px;
    color:var(--ink-700);
}

.page-hero__meta{
    margin-top:12px;
    display:flex;
    flex-wrap:wrap;
    gap:14px;
}

.page-hero__meta-item{
    min-width:160px;
    padding:8px 12px;
    border-radius:12px;
    background:#fff;
    box-shadow:0 6px 18px rgba(0,0,0,.06);
    display:flex;
    flex-direction:column;
    gap:2px;
}

.page-hero__meta-item span{
    font-size:12px;
    text-transform:uppercase;
    letter-spacing:.08em;
    color:var(--ink-500);
}

.page-hero__meta-item strong{
    font-size:14px;
    color:var(--primary-dark);
}

/* CTA hero */
.page-hero__cta{
    margin-top:16px;
    display:flex;
    flex-wrap:wrap;
    gap:12px;
}

.page-hero__ghost{
    appearance:none;
    border-radius:12px;
    border:1px solid var(--primary);
    background:transparent;
    color:var(--primary-dark);
    padding:.75em 1.25em;
    font-weight:600;
    cursor:pointer;
    font-family:inherit;
    transition:background .2s ease,color .2s ease,transform .15s ease;
}

.page-hero__ghost:hover{
    background:var(--primary);
    color:#fff;
    transform:translateY(-1px);
}

/* responsive hero */
@media (max-width:800px){
    .page-hero--course{
        padding-top:96px;
        padding-bottom:32px;
    }
    .page-hero__meta{
        gap:10px;
    }
    .page-hero__meta-item{
        flex:1 1 calc(50% - 10px);
    }
}

/* ===== Layout contenuto corso ===== */
.course{
    padding:40px 0 56px;
    background:#fff;
}

.course__layout{
    display:grid;
    grid-template-columns:minmax(0,2.1fr) minmax(260px,1fr);
    gap:32px;
    align-items:flex-start;
}

@media (max-width:960px){
    .course__layout{
        grid-template-columns:1fr;
    }
}

.course__main{
    display:flex;
    flex-direction:column;
    gap:24px;
}

.course__block h2,
.course__block h3{
    margin:0 0 8px;
    color:var(--primary-dark);
}

.course__block p{
    margin:0 0 10px;
    color:var(--ink-700);
}

/* liste */
.course__list{
    margin:0;
    padding-left:1.1em;
    color:var(--ink-700);
}

.course__list li{
    margin-bottom:4px;
}

/* taglist programmi */
.course__taglist{
    list-style:none;
    padding:0;
    margin:8px 0 0;
    display:flex;
    flex-wrap:wrap;
    gap:8px;
}

.course__taglist li{
    font-size:13px;
    padding:6px 10px;
    border-radius:999px;
    background:var(--tertiary);
    color:var(--primary-dark);
}

/* chips aree applicazione */
.course__chips{
    display:flex;
    flex-wrap:wrap;
    gap:8px;
    margin-top:8px;
}

.course__chips span{
    font-size:13px;
    padding:6px 10px;
    border-radius:999px;
    background:#f7f8fa;
}

/* calendario */
.course__schedule{
    border-radius:14px;
    border:1px solid var(--border);
    background:#f9fafb;
    padding:12px 14px;
    display:flex;
    flex-direction:column;
    gap:8px;
}

.course__schedule-row{
    display:grid;
    grid-template-columns:140px minmax(0,1fr);
    gap:8px;
    font-size:14px;
    align-items:flex-start;
}
.course__schedule-date{
    font-weight:600;
    color:var(--primary-dark);
}
.course__schedule-desc{
    color:var(--ink-700);
}

@media (max-width:600px){
    .course__schedule-row{
        grid-template-columns:1fr;
    }
}

.course__note{
    font-size:13px;
    color:var(--ink-500);
}

/* ===== Sidebar ===== */
.course__sidebar{
    position:relative;
}

.course-card{
    position:sticky;
    top:96px;
    border-radius:18px;
    border:1px solid var(--border);
    background:#fff;
    box-shadow:var(--shadow);
    padding:18px 18px 16px;
    display:flex;
    flex-direction:column;
    gap:10px;
}

.course-card__badge{
    align-self:flex-start;
    padding:4px 10px;
    border-radius:999px;
    background:var(--secondary);
    color:var(--primary-dark);
    font-size:12px;
    font-weight:700;
    letter-spacing:.08em;
    text-transform:uppercase;
}

.course-card__title{
    margin:0;
    font-size:18px;
    line-height:1.3;
    color:var(--primary-dark);
}

.course-card__list{
    list-style:none;
    padding:0;
    margin:4px 0 0;
    display:flex;
    flex-direction:column;
    gap:6px;
    font-size:14px;
}

.course-card__list li{
    display:flex;
    flex-direction:column;
    gap:2px;
}

.course-card__list span{
    font-size:12px;
    text-transform:uppercase;
    letter-spacing:.08em;
    color:var(--ink-500);
}

.course-card__list strong{
    color:var(--ink-900);
}

.course-card__btn{
    width:100%;
    margin-top:8px;
    justify-content:center;
}

.course-card__small{
    margin:4px 0 0;
    font-size:12px;
    color:var(--ink-500);
}

/* leggero respiro su mobile */
@media (max-width:960px){
    .course-card{
        position:static;
    }
}


