/* Structural defaults only. Final brand styling should be done in Elementor/CSS. */
.prepon-audience-grid,.prepon-exam-goal-grid,.prepon-edge-card-grid,.prepon-programme-card-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px}.prepon-audience-card,.prepon-exam-goal-card,.prepon-edge-card,.prepon-programme-card{border:1px solid rgba(0,0,0,.12);border-radius:12px;background:#fff}.prepon-audience-card,.prepon-edge-card{padding:18px}.prepon-audience-card__icon img,.prepon-exam-goal-card__icon img,.prepon-edge-card__icon img{width:40px;height:40px;object-fit:contain}.prepon-edge-card{display:flex;gap:12px}.prepon-edge-card__body{display:flex;flex-direction:column;gap:6px}.prepon-edge-card__body h3{margin:0}.prepon-edge-card__description>*:first-child{margin-top:0}.prepon-edge-card__description>*:last-child{margin-bottom:0}.prepon-exam-goal-card{display:flex;gap:12px;padding:16px;text-align:left;cursor:pointer;font:inherit;color:inherit}.prepon-exam-goal-card__body{display:flex;flex-direction:column;gap:4px}.prepon-programme-finder{display:flex;flex-direction:column;gap:28px}.prepon-programme-filters{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:14px;padding:16px;border:1px solid rgba(0,0,0,.1);border-radius:12px}.prepon-programme-filter-group{border:0;padding:0;margin:0}.prepon-programme-filter-group legend{font-weight:600;margin-bottom:8px}.prepon-programme-filter-options{display:flex;flex-direction:column;gap:6px}.prepon-programme-filter-options label{display:flex;align-items:center;gap:7px}.prepon-programme-filters__clear{align-self:end;width:max-content}.prepon-programme-family-group{border-top:3px solid var(--prepon-family-colour,#dcdcde);padding-top:18px;margin-bottom:28px}.prepon-programme-family-group__header{margin-bottom:14px}.prepon-programme-family-group__header h3{margin-bottom:6px}.prepon-programme-card{display:flex;flex-direction:column;overflow:hidden;text-decoration:none;color:inherit;transition:transform .18s ease,box-shadow .18s ease}.prepon-programme-card:hover{transform:translateY(-2px)}.prepon-programme-card__image{display:block;aspect-ratio:16/9;overflow:hidden;background:#f5f5f5}.prepon-programme-card__image img{width:100%;height:100%;object-fit:cover}.prepon-programme-card__content{display:flex;flex:1;flex-direction:column;gap:10px;padding:16px}.prepon-programme-card--coming-soon{padding:16px;gap:12px;min-height:190px}.prepon-programme-card__badge{display:inline-flex;width:max-content;padding:4px 8px;border-radius:999px;background:var(--prepon-family-colour,#555);color:#fff;font-size:12px;font-weight:700;line-height:1}.prepon-programme-card h4{margin:0}.prepon-programme-card__proposition,.prepon-programme-card__meta{display:block}.prepon-programme-card__meta{font-size:.92em}.prepon-programme-card__status{font-weight:600}.prepon-programme-card__cta{display:inline-flex;width:max-content;margin-top:auto;font-weight:600;text-decoration:underline}.prepon-programme-no-results{padding:24px;text-align:center;border:1px dashed rgba(0,0,0,.2);border-radius:12px}.prepon-family-comparison-wrap{overflow-x:auto}.prepon-family-comparison{width:100%;border-collapse:collapse;min-width:760px}.prepon-family-comparison th,.prepon-family-comparison td{padding:12px;border:1px solid rgba(0,0,0,.12);vertical-align:top;text-align:left}.prepon-family-comparison__family-heading{color:var(--prepon-family-colour,inherit)!important;font-weight:700}.prepon-category-faq{border-bottom:1px solid rgba(0,0,0,.12);padding:12px 0}.prepon-category-faq summary{cursor:pointer;font-weight:600}.prepon-category-faq__answer{padding-top:10px}.prepon-category-field>*:first-child{margin-top:0}.prepon-category-field>*:last-child{margin-bottom:0}@media(max-width:767px){.prepon-programme-filters{grid-template-columns:1fr}.prepon-programme-card-grid,.prepon-audience-grid,.prepon-exam-goal-grid,.prepon-edge-card-grid{grid-template-columns:1fr}}

/* Accessibility and motion safeguards for category discovery. */
.prepon-exam-goal-card:focus-visible,.prepon-programme-card:focus-visible,.prepon-programme-filters__clear:focus-visible{outline:3px solid currentColor;outline-offset:3px}
@media(prefers-reduced-motion:reduce){.prepon-programme-card{transition:none}.prepon-programme-card:hover{transform:none}}

/* v1.4.2 — Local / GEO cards. Scoped to new Local/GEO shortcode classes only. */
.prepon-category-local-cards {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 24px;
}

.prepon-category-local-card-content {
    width: 100%;
    height: 100%;
    display: flex;
    flex-direction: column;
}

.prepon-category-local-card__heading {
    margin: 0 0 12px;
    font-family: "Poppins", sans-serif;
    font-size: 20px;
    font-weight: 600;
    line-height: 1.35;
    color: #1F1F1F;
}

.prepon-category-local-card__description {
    margin: 0 0 20px;
    font-family: "Inter", sans-serif;
    font-size: 14px;
    font-weight: 400;
    line-height: 1.65;
    color: #5F6368;
}

.prepon-category-local-card__description p { margin: 0; }

.prepon-category-local-card__features {
    list-style: none;
    margin: 0 0 24px;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 11px;
    flex-grow: 1;
}

.prepon-category-local-card__feature {
    position: relative;
    margin: 0;
    padding: 0 0 0 27px;
    font-family: "Inter", sans-serif;
    font-size: 14px;
    font-weight: 400;
    line-height: 1.5;
    color: #333333;
}

.prepon-category-local-card__feature::before {
    content: "✓";
    position: absolute;
    left: 0;
    top: 1px;
    width: 18px;
    height: 18px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #FCC509;
    color: #111111;
    border-radius: 50%;
    font-family: Arial, sans-serif;
    font-size: 11px;
    font-weight: 700;
    line-height: 1;
}

.prepon-category-local-card__cta {
    width: 100%;
    min-height: 46px;
    margin-top: auto;
    padding: 12px 20px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #FCC509;
    color: #111111;
    border: 1px solid #FCC509;
    border-radius: 8px;
    font-family: "Poppins", sans-serif;
    font-size: 14px;
    font-weight: 600;
    line-height: 1.3;
    text-align: center;
    text-decoration: none;
    transition: background-color .2s ease, border-color .2s ease;
}

.prepon-category-local-card__cta::after { content: "→"; margin-left: 9px; }
.prepon-category-local-card__cta:hover { background: #E5B500; border-color: #E5B500; color: #111111; text-decoration: none; }

@media (max-width: 767px) {
    .prepon-category-local-cards { grid-template-columns: 1fr; }
    .prepon-category-local-card__heading { font-size: 18px; }
    .prepon-category-local-card__description,
    .prepon-category-local-card__feature { font-size: 13px; }
}

/* v1.4.5 — category proof statistics. */
.prepon-category-proof-stats {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 1rem;
    width: 100%;
}
.prepon-category-proof-stat { min-width: 0; }
@media (max-width: 1024px) {
    .prepon-category-proof-stats { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 767px) {
    .prepon-category-proof-stats { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}


/* v1.4.27 — normalise inherited spacing on Exam / Goal cards. */
.prepon-exam-goal-card__body,.prepon-exam-goal-card__body strong,.prepon-exam-goal-card__body span{word-spacing:normal;white-space:normal}

/* v1.4.30 — formal/full test name line in Exams / Goals cards.
   Use a semantic <strong> plus !important specificity because Elementor/theme
   typography can otherwise reset the inherited strong/span weight. */
.prepon-exam-goal-card .prepon-exam-goal-card__body > .prepon-exam-goal-card__full-form{display:block;font-size:12px!important;line-height:1.35;font-weight:700!important;font-synthesis:weight;color:#6b7280;margin-top:1px;margin-bottom:2px}
.prepon-exam-goal-card__description{display:block}

/* v1.4.32 — compact exam coverage + programme-path mapping. */
.prepon-exam-goal-card__programme-map{display:flex;flex-direction:column;margin-top:10px;padding-top:10px;border-top:1px solid rgba(17,17,17,.10)}
.prepon-exam-goal-card__programme-row{display:flex;flex-direction:column;gap:2px;color:#4b5563}
.prepon-exam-goal-card__programme-row+.prepon-exam-goal-card__programme-row{margin-top:12px}
.prepon-exam-goal-card__programme-heading{display:block;font-size:13px!important;line-height:1.35;font-weight:600!important;color:#111111}
.prepon-exam-goal-card__programme-text{display:block;font-size:12px!important;line-height:1.4;font-weight:500!important;color:#4b5563}
.prepon-exam-goal-card__programme-value-line{display:block;font-size:inherit!important;line-height:inherit;font-weight:inherit!important;color:inherit}

