/* Speakfluence Courses — default look of the Pathway Cards and Pathway Explorer widgets.
   These are only the starting values (matching the current Speakfluence design).
   Every colour, font, spacing and radius below can be changed per widget in the
   Elementor Style tab; those panel settings override this file. */

/* ---------- Pathway Cards ---------- */
.sfc-cards {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 20px;
}

.sfc-card {
    display: block;
    background-color: #ffffff;
    border: 1px solid #E4DEFA;
    border-radius: 20px;
    padding: 26px;
    color: #1C1147;
    text-decoration: none;
    transition: border-color 0.2s ease, transform 0.2s ease;
}

.sfc-card:hover {
    border-color: #1C1147;
    color: #1C1147;
    transform: translateY(-3px);
}

.sfc-card__bar {
    display: block;
    width: 42px;
    height: 5px;
    border-radius: 3px;
}

.sfc-card__label {
    display: block;
    margin-top: 16px;
    font-size: 12px;
    font-weight: 700;
    color: #9A92BE;
}

.sfc-card__title {
    margin: 6px 0 0;
    font-family: 'Bricolage Grotesque', sans-serif;
    font-size: 22px;
    font-weight: 700;
    letter-spacing: -0.03em;
    color: #1C1147;
}

.sfc-card__text {
    margin: 10px 0 0;
    font-size: 15px;
    line-height: 1.55;
    color: #655B92;
}

.sfc-card__price {
    display: block;
    margin-top: 14px;
    font-family: 'Bricolage Grotesque', sans-serif;
    font-size: 18px;
    font-weight: 800;
    color: #1C1147;
}

.sfc-empty {
    color: #655B92;
}

/* ---------- Pathway Explorer ---------- */
.sfc-tabs {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}

.sfc-tab {
    border: 1.5px solid #E4DEFA;
    border-radius: 999px;
    background-color: #ffffff;
    color: #1C1147;
    padding: 10px 18px;
    font-family: inherit;
    font-size: 14px;
    font-weight: 700;
    line-height: 1.3;
    cursor: pointer;
}

.sfc-tab:hover,
.sfc-tab:focus {
    background-color: #F6F3FF;
    color: #1C1147;
}

.sfc-tab.is-active {
    background-color: #1C1147;
    border-color: #1C1147;
    color: #ffffff;
}

.sfc-panel {
    margin-top: 34px;
}

.sfc-panel[hidden] {
    display: none;
}

.sfc-panel__head {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 30px;
    flex-wrap: wrap;
}

.sfc-panel__intro {
    max-width: 680px;
}

.sfc-panel__eyebrow {
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0.14em;
    text-transform: uppercase;
}

.sfc-panel__title {
    margin: 10px 0 0;
    font-family: 'Bricolage Grotesque', sans-serif;
    font-size: 38px;
    font-weight: 800;
    line-height: 1.05;
    letter-spacing: -0.03em;
    color: #1C1147;
}

.sfc-panel__text {
    margin: 14px 0 0;
    font-size: 17px;
    line-height: 1.6;
    color: #544A80;
}

.sfc-panel__best {
    margin: 10px 0 0;
    font-size: 15px;
    color: #7A70A6;
}

.sfc-panel__stat {
    min-width: 200px;
    background-color: #ffffff;
    border: 1px solid #E4DEFA;
    border-radius: 20px;
    padding: 26px;
}

.sfc-panel__stat-num {
    font-family: 'Bricolage Grotesque', sans-serif;
    font-size: 32px;
    font-weight: 800;
    color: #1C1147;
}

.sfc-panel__stat-text {
    font-size: 13.5px;
    font-weight: 600;
    color: #7A70A6;
}

.sfc-panel__image {
    height: 280px;
    margin-top: 28px;
    border-radius: 20px;
    overflow: hidden;
    background-color: #E4DEFA;
}

.sfc-panel__image img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.sfc-panel__price {
    margin-top: 26px;
    padding-top: 20px;
    border-top: 1px solid #EFEAFF;
}

.sfc-panel__price-value {
    font-family: 'Bricolage Grotesque', sans-serif;
    font-size: 26px;
    font-weight: 800;
    color: #1C1147;
}

.sfc-panel__price-note {
    margin-top: 4px;
    font-size: 13px;
    color: #7A70A6;
}

.sfc-panel__cta {
    margin-top: 22px;
}

.sfc-button {
    display: inline-block;
    border-radius: 999px;
    background-color: #FF5B35;
    color: #ffffff;
    padding: 14px 26px;
    font-size: 15px;
    font-weight: 700;
    text-decoration: none;
    transition: background-color 0.2s ease;
}

.sfc-button:hover,
.sfc-button:focus {
    background-color: #1C1147;
    color: #ffffff;
}

.sfc-panel__list-heading {
    margin: 36px 0 16px;
    font-family: 'Bricolage Grotesque', sans-serif;
    font-size: 24px;
    font-weight: 800;
    letter-spacing: -0.03em;
    color: #1C1147;
}

.sfc-speech {
    margin-bottom: 10px;
    background-color: #ffffff;
    border: 1px solid #E4DEFA;
    border-radius: 16px;
    padding: 18px 22px;
}

.sfc-speech__summary {
    display: grid;
    grid-template-columns: 56px minmax(0, 1fr) 150px 20px;
    gap: 18px;
    align-items: center;
    list-style: none;
    cursor: pointer;
}

.sfc-speech__summary::-webkit-details-marker {
    display: none;
}

.sfc-speech[open] .sfc-speech__summary {
    margin-bottom: 14px;
}

.sfc-speech__num {
    font-family: 'Bricolage Grotesque', sans-serif;
    font-size: 15px;
    font-weight: 800;
}

.sfc-speech__main,
.sfc-speech__meta {
    display: flex;
    flex-direction: column;
}

.sfc-speech__title {
    font-family: 'Bricolage Grotesque', sans-serif;
    font-size: 16.5px;
    font-weight: 700;
    color: #1C1147;
}

.sfc-speech__objective {
    margin-top: 2px;
    font-size: 14px;
    color: #655B92;
}

.sfc-speech__meta {
    text-align: right;
    font-size: 13px;
}

.sfc-speech__format {
    font-weight: 700;
    color: #1C1147;
}

.sfc-speech__length {
    color: #7A70A6;
}

.sfc-speech__chev {
    text-align: right;
    color: #9A92BE;
    transition: transform 0.2s ease;
}

.sfc-speech[open] .sfc-speech__chev {
    transform: rotate(180deg);
}

.sfc-speech__body {
    padding-top: 12px;
    border-top: 1px solid #EFEAFF;
    font-size: 15px;
    line-height: 1.7;
    color: #3B3168;
}

/* Responsive defaults (tablet and mobile column counts are also set in the panel). */
@media (max-width: 1024px) {
    .sfc-cards {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 767px) {
    .sfc-cards {
        grid-template-columns: minmax(0, 1fr);
    }

    .sfc-panel__title {
        font-size: 28px;
    }

    .sfc-speech__summary {
        grid-template-columns: 40px minmax(0, 1fr) 20px;
    }

    .sfc-speech__meta {
        display: none;
    }
}
