/* ==========================================================================
   CoreForm — pagina /certificazioni/idpass-digcompedu
   ========================================================================== */
    /* ===== COLORI BASE ===== */
    :root {
        --cert-primary: #E82C6C;
        --cert-light:   #fecdd3;
        --cert-lighter: #fff1f2;
        --cert-dark:    #9f1239;
    }

    /* Back-link sopra hero (ora su sfondo chiaro) */
    .cert-back-link {
        display: inline-flex;
        align-items: center;
        gap: 0.4rem;
        color: #6b7280;
        font-size: 0.85rem;
        text-decoration: none;
        transition: color 0.2s;
    }
    .cert-back-link:hover { color: var(--cert-primary); }

    /* Breadcrumb */
    .cert-breadcrumb {
        padding: 0.75rem 0;
        border-bottom: 1px solid #f3f4f6;
        font-size: 0.83rem;
        color: #9ca3af;
    }
    .cert-breadcrumb a { color: #6b7280; text-decoration: none; }
    .cert-breadcrumb a:hover { color: var(--cert-primary); }
    .cert-breadcrumb span { color: #9ca3af; margin: 0 0.4rem; }

    /* Section label / title */
    .section-label {
        font-size: 0.73rem;
        font-weight: 700;
        letter-spacing: 0.1em;
        text-transform: uppercase;
        color: var(--cert-primary);
        margin-bottom: 0.4rem;
    }
    .section-title {
        font-size: clamp(1.3rem, 2.5vw, 1.75rem);
        font-weight: 800;
        color: #1a1a2e;
        line-height: 1.25;
    }

    /* Info block */
    .info-block {
        background: #f9fafb;
        border-radius: 16px;
        padding: 1.25rem 1.4rem;
    }
    .info-block-title {
        font-size: 0.75rem;
        font-weight: 700;
        text-transform: uppercase;
        letter-spacing: 0.07em;
        color: #374151;
        margin-bottom: 1rem;
        display: flex;
        align-items: center;
        gap: 0.5rem;
    }

    /* Aree di competenza */
    .area-card {
        border: 1px solid #e5e7eb;
        border-radius: 14px;
        padding: 1.1rem 1.25rem;
        background: #fff;
        transition: box-shadow 0.2s, border-color 0.2s;
    }
    .area-card:hover {
        border-color: var(--cert-light);
        box-shadow: 0 4px 16px rgba(232,44,108,0.08);
    }
    .area-number {
        width: 32px;
        height: 32px;
        background: var(--cert-light);
        color: var(--cert-primary);
        border-radius: 8px;
        display: flex;
        align-items: center;
        justify-content: center;
        font-size: 0.8rem;
        font-weight: 800;
        flex-shrink: 0;
    }
    .area-title { font-size: 0.92rem; font-weight: 700; color: #1a1a2e; }
    .area-desc  { font-size: 0.82rem; color: #6b7280; line-height: 1.5; margin-top: 0.25rem; }
    .area-tags  { display: flex; flex-wrap: wrap; gap: 0.3rem; margin-top: 0.5rem; }
    .area-tag   {
        font-size: 0.68rem;
        font-weight: 600;
        background: var(--cert-lighter);
        color: var(--cert-primary);
        padding: 0.15rem 0.5rem;
        border-radius: 4px;
    }

    /* Livelli QCER */
    .level-row {
        display: grid;
        grid-template-columns: 90px 1fr auto;
        align-items: center;
        gap: 1rem;
        padding: 0.75rem 0;
        border-bottom: 1px solid #f3f4f6;
    }
    .level-row:last-child { border-bottom: none; }
    .level-badge {
        font-size: 0.78rem;
        font-weight: 700;
        padding: 0.3rem 0.75rem;
        border-radius: 8px;
        text-align: center;
    }
    .level-name  { font-size: 0.82rem; font-weight: 600; color: #1a1a2e; }
    .level-desc  { font-size: 0.8rem; color: #6b7280; }
    .level-threshold {
        font-size: 0.78rem;
        font-weight: 700;
        color: var(--cert-primary);
        white-space: nowrap;
        text-align: right;
    }

    /* Exam phases */
    .phase-card {
        border-radius: 14px;
        padding: 1.1rem 1.25rem;
        border: 1px solid transparent;
    }
    .phase-label {
        font-size: 0.7rem;
        font-weight: 700;
        text-transform: uppercase;
        letter-spacing: 0.07em;
        margin-bottom: 0.5rem;
    }
    .phase-title { font-size: 1rem; font-weight: 800; color: #1a1a2e; }
    .phase-desc  { font-size: 0.83rem; color: #6b7280; margin-top: 0.25rem; }
    .phase-stat  { font-size: 0.8rem; color: #4b5563; margin-top: 0.5rem; display: flex; gap: 1rem; flex-wrap: wrap; }
    .phase-stat strong { color: #1a1a2e; }

    /* Exam step */
    .exam-step {
        display: flex;
        gap: 1rem;
        align-items: flex-start;
        padding: 0.85rem 0;
        border-bottom: 1px solid #f3f4f6;
    }
    .exam-step:last-child { border-bottom: none; }
    .exam-step-icon {
        width: 36px;
        height: 36px;
        background: var(--cert-lighter);
        color: var(--cert-primary);
        border-radius: 10px;
        display: flex;
        align-items: center;
        justify-content: center;
        font-size: 0.9rem;
        flex-shrink: 0;
    }
    .exam-step-title { font-size: 0.88rem; font-weight: 700; color: #1a1a2e; }
    .exam-step-desc  { font-size: 0.82rem; color: #6b7280; line-height: 1.5; margin-top: 0.15rem; }

    /* Cosa ottieni */
    .outcome-item {
        display: flex;
        align-items: flex-start;
        gap: 0.75rem;
        padding: 0.7rem 0;
        border-bottom: 1px solid #f3f4f6;
    }
    .outcome-item:last-child { border-bottom: none; }
    .outcome-icon {
        width: 32px;
        height: 32px;
        background: #d1fae5;
        color: #059669;
        border-radius: 8px;
        display: flex;
        align-items: center;
        justify-content: center;
        font-size: 0.85rem;
        flex-shrink: 0;
    }
    .outcome-title { font-size: 0.88rem; font-weight: 600; color: #1a1a2e; }
    .outcome-desc  { font-size: 0.8rem; color: #6b7280; margin-top: 0.1rem; }

    /* Sidebar buy card */
    .buy-card {
        border: none;
        border-radius: 20px;
        overflow: hidden;
        box-shadow: 0 4px 32px rgba(232,44,108,0.15);
        position: sticky;
        top: 90px;
    }
    .buy-card-header {
        background: linear-gradient(135deg, #E82C6C 0%, #9f1239 100%);
        padding: 1.5rem;
        color: #fff;
        text-align: center;
    }
    .buy-card-title { font-size: 0.75rem; font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase; opacity: 0.8; }
    .buy-card-name  { font-size: 1.2rem; font-weight: 800; margin: 0.4rem 0 0.2rem; }
    .buy-card-pts   { font-size: 0.82rem; opacity: 0.8; }
    .buy-card-price { text-align: center; padding: 1.25rem 1.5rem 0; }
    .buy-price-label { font-size: 0.75rem; color: #9ca3af; text-transform: uppercase; letter-spacing: 0.06em; }
    .buy-price-value { font-size: 2.5rem; font-weight: 800; color: var(--cert-primary); line-height: 1; }
    .buy-price-note  { font-size: 0.78rem; color: #6b7280; margin-top: 0.2rem; }
    .buy-card-body { padding: 1rem 1.5rem 1.5rem; }
    .buy-feature {
        display: flex;
        align-items: center;
        gap: 0.5rem;
        font-size: 0.83rem;
        color: #374151;
        padding: 0.35rem 0;
    }
    .buy-feature i { color: var(--cert-primary); font-size: 0.75rem; flex-shrink: 0; }

    /* GPS banner */
    .gps-banner {
        background: linear-gradient(135deg, #fef9c3, #fef3c7);
        border: 1px solid #fde68a;
        border-radius: 14px;
        padding: 1rem 1.25rem;
        display: flex;
        align-items: flex-start;
        gap: 0.75rem;
        font-size: 0.85rem;
        color: #78350f;
    }
    .gps-banner i { color: #d97706; flex-shrink: 0; margin-top: 0.1rem; }

    /* Vantaggio 2x --}}
    .advantage-pill {
        display: inline-flex;
        align-items: center;
        gap: 0.5rem;
        background: #ffe4e6;
        border: 1px solid #fecdd3;
        color: #9f1239;
        border-radius: 50px;
        padding: 0.4rem 1rem;
        font-size: 0.82rem;
        font-weight: 700;
    }

    @media (max-width: 767px) {
        .level-row { grid-template-columns: 1fr; gap: 0.4rem; }
        .level-threshold { text-align: left; }
    }
