:root{--card-border:1px solid #e9eaeb;--card-bg:#fff;--card-shadow:0 1px 2px 0 rgba(10,13,18,.05);--card-shadow-hover:0 4px 12px rgba(0,0,0,.1);--card-radius:8px;--card-padding:1.375rem 1rem;--card-gap:0.5rem;--card-transition:all 0.2s ease-in-out;--icon-sm:2rem;--icon-md:2.5rem;--icon-lg:3rem;--school-logo-size:6.25rem;--school-logo-size-mobile:5rem}.card{display:flex;align-items:center;padding:var(--card-padding);gap:var(--card-gap);border-radius:var(--card-radius);border:var(--card-border);background:var(--card-bg);box-shadow:var(--card-shadow);transition:var(--card-transition);width:100%;--card-hover-border-color:var(--color-secondary,#ff692e)}.card.interactive{cursor:pointer;text-decoration:none}.card.interactive:hover{transform:translateY(-2px);box-shadow:var(--card-shadow-hover);border-color:var(--card-hover-border-color);text-decoration:none}.card.border-primary{--card-hover-border-color:var(--color-primary,#076fc6)}.card.bg-primary{--card-hover-border-color:transparent}.card.bg-primary-light.border-primary{--card-hover-border-color:var(--color-primary,#076fc6)}.card--hero{backdrop-filter:blur(8px);background:hsla(0,0%,100%,.9)}.card.vertical{flex-direction:column;text-align:center}.card.full-width{width:100%;max-width:none}.card--width-lg{min-width:300px}.card--min--height{height:100px}.card__icon{display:flex;justify-content:center;align-items:center;flex-shrink:0;border-radius:.25rem;border:1px solid #e9eaeb;background:var(--card-bg);box-shadow:inset 0 0 0 .1px rgba(10,13,18,.18),inset 0 -2px 0 0 rgba(10,13,18,.05),0 1px 2px 0 rgba(10,13,18,.05)}.card__icon.sm{width:var(--icon-sm);height:var(--icon-sm)}.card__icon.md{width:var(--icon-md);height:var(--icon-md)}.card__icon.lg{width:var(--icon-lg);height:var(--icon-lg)}.card__icon i{font-size:.9rem;color:var(--color-secondary,#ff692e)}.card__text{flex-grow:1;color:var(--color-text-medium,#414651)}.card__text.ellipsis{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.card__arrow{display:flex;justify-content:center;align-items:center;flex-shrink:0;border-radius:50%}.card__arrow.sm{width:var(--icon-sm);height:var(--icon-sm)}.card__arrow.md{width:var(--icon-md);height:var(--icon-md)}.card__arrow.lg{width:var(--icon-lg);height:var(--icon-lg)}.school-card{border:var(--card-border);background:var(--card-bg);box-shadow:var(--card-shadow);border-radius:var(--card-radius);padding:1.25rem;display:flex;align-items:center;gap:.5rem;transition:var(--card-transition);cursor:pointer}.school-card:hover{transform:translateY(-2px);box-shadow:var(--card-shadow-hover)}.school-card__logo{flex-shrink:0;width:var(--school-logo-size);height:var(--school-logo-size);display:flex;justify-content:center;align-items:center}.school-card__logo img{max-width:var(--school-logo-size);height:auto}.school-card__info{flex-grow:1;display:flex;flex-direction:column;gap:.25rem}.school-card__name{font-size:1.125rem;font-weight:600;color:#111827}.school-card__name,.school-card__type{margin:0;display:-webkit-box;-webkit-line-clamp:1;overflow:hidden}.school-card__type{font-size:.875rem;color:#6b7280}.school-card__rating{display:flex;align-items:center;gap:.25rem;margin:.25rem 0}.school-card__rating .star-icon{width:16px;height:16px}.school-card__rating .star-icon--filled{color:#f97316}.school-card__rating .star-icon--empty{color:#d1d5db}.school-card__rating span{font-size:.875rem;color:#6b7280;margin-left:.25rem}.school-card__details{display:flex;flex-direction:column;gap:.25rem;margin-top:.5rem}.school-card__detail{display:flex;align-items:center;gap:.5rem;font-size:.875rem;color:#6b7280}.school-card__detail svg{width:1rem;height:1rem}.school-card__action{flex-shrink:0}.school-card__action i{width:1.5rem;height:1.5rem;color:var(--color-primary,#076fc6)}@media (max-width:768px){.school-card__logo{width:var(--school-logo-size-mobile);height:var(--school-logo-size-mobile)}.school-card__logo img{max-width:var(--school-logo-size-mobile)}}@media (min-width:1024px){.school-card__logo{width:var(--entity-logo-size);height:var(--entity-logo-size)}}.school-card--featured{grid-column:1/-1;flex-direction:column;padding:1.5rem;border:2px solid var(--color-primary,#076fc6);background:linear-gradient(135deg,#f0f7ff,#fff);cursor:default}a.school-card--featured{cursor:pointer}a.school-card--featured:hover{border-color:var(--color-secondary,#ff692e)}.school-card--featured__header{display:flex;align-items:center;gap:1.25rem;width:100%}.school-card--featured__logo{flex-shrink:0;width:6.25rem;height:6.25rem;display:flex;justify-content:center;align-items:center}.school-card--featured__logo img{max-width:6.25rem;height:auto}.school-card--featured__content{flex-grow:1;display:flex;flex-direction:column;gap:.375rem}.school-card--featured__name{font-size:1.25rem;font-weight:700;color:#111827;margin:0;display:-webkit-box;-webkit-line-clamp:2;overflow:hidden}.school-card--featured__groupe{font-size:.875rem;color:#6b7280;margin:0}.school-card--featured__rating{display:flex;align-items:center;gap:.375rem}.school-card--featured__stars{display:flex;gap:.125rem}.school-card--featured__rating span{font-size:.875rem;color:#6b7280}.school-card--featured__meta{display:flex;align-items:center;gap:1.25rem;margin-top:.25rem}.school-card--featured__detail{display:flex;align-items:center;gap:.375rem;font-size:.875rem;color:#6b7280}.school-card--featured__detail img{width:1rem;height:1rem}.school-card--featured__centres{width:100%;display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.75rem;padding-top:.75rem;border-top:1px solid #e9eaeb}.school-card--featured__centre-item{font-size:.8125rem;color:var(--color-primary,#076fc6);background:#f0f7ff;padding:.25rem .625rem;border-radius:1rem;border:1px solid #d0e3f7;text-decoration:none;transition:background .2s,border-color .2s}a.school-card--featured__centre-item:hover{background:#dbeafe;border-color:var(--color-primary,#076fc6);text-decoration:none}.school-card--featured__actions{width:100%;display:flex;justify-content:flex-end;margin-top:.75rem}.school-card--featured__actions .btn{display:inline-flex;align-items:center;gap:.5rem}@media (max-width:768px){.school-card--featured{grid-column:auto}.school-card--featured__header{flex-direction:column;align-items:flex-start;gap:.75rem}.school-card--featured__logo{width:5rem;height:5rem}.school-card--featured__logo img{max-width:5rem}.school-card--featured__meta{flex-direction:column;align-items:flex-start;gap:.375rem}.school-card--featured__actions{justify-content:stretch}.school-card--featured__actions .btn{width:100%;justify-content:center}}a.card,a.card:hover,a.school-card,a.school-card:hover{text-decoration:none;color:inherit}