/* Shared campaign layouts. Black Friday and exams have independent entry URLs. */
.campaign-schedule { display:flex;justify-content:space-between;align-items:center;gap:20px;background:#fff7e9;border:1px solid #eed9b8;border-radius:12px;padding:16px 22px;margin-top:24px; }
.campaign-schedule > div { display:grid;gap:4px; }
.campaign-schedule strong { font-size:13px;color:#513510; }
.campaign-schedule span { font-size:12px;color:#695333; }
.campaign-clock { text-align:right;flex-shrink:0; }
.campaign-clock strong { font-size:18px;font-variant-numeric:tabular-nums; }
.family-feedback { display:grid;grid-template-columns:1fr 1fr;gap:48px;padding:36px;background:#edf3fa;border-radius:18px;margin-bottom:40px; }
.family-feedback h2 { font-size:28px;line-height:1.3;letter-spacing:-.7px;margin-top:12px; }
.family-feedback p:not(.eyebrow) { font-size:16px;line-height:1.8; }
.family-feedback small { display:block;font-size:12px;line-height:1.6;color:#617273;margin-top:16px; }
.campaign-ended .offers-wrap > :not(#offer-ended),.campaign-black-friday.campaign-ended .hero,.campaign-ended .mobile-dock,.campaign-ended .offer-details { display:none!important; }
.campaign-ended #offer-ended { padding:30px;background:#edf3fa;border:1px solid #c6d7ef;border-radius:16px;font-size:18px; }
.campaign-ended #offer-ended a { text-decoration:underline; }
@media(max-width:760px) {
 .campaign-schedule { align-items:start;flex-direction:column;gap:12px;padding:16px;margin-top:16px; }
 .campaign-clock { text-align:left; }
 .family-feedback { grid-template-columns:1fr;gap:20px;padding:24px; }
 .family-feedback h2 { font-size:25px; }
}
.campaign-black-friday { --campaign-accent:#c4f275; }
.campaign-black-friday .announcement { background:#111c30; }
.campaign-black-friday .hero-campaign { color:#18283d;background:#e7facb;border-color:#c3e997; }
.campaign-black-friday .hero h1 { letter-spacing:-1.6px; }
.campaign-black-friday .hero-promo { background:#edf8df; border-color:#cce6aa; }
.campaign-poster { background:#11233c; color:white; border-radius:24px; padding:32px; overflow:hidden; box-shadow:0 20px 50px #102f5215; }
.poster-top { display:flex;align-items:center;gap:12px; font-size:12px;letter-spacing:2px;line-height:1.5; }
.poster-top img { border-radius:50%; }
.poster-kicker { margin-top:44px;color:#c4f275;font-size:11px;letter-spacing:2px; }
.poster-number { color:#c4f275;font-family:var(--heading);font-weight:800;font-size:clamp(84px,9vw,132px);line-height:1.15;letter-spacing:-7px; }
.poster-number span { font-size:.54em;letter-spacing:-2px; }
.poster-detail { color:#e3eaf3;font-size:18px;line-height:1.5; }
.poster-detail strong { color:white; }
.poster-subjects { display:flex;flex-wrap:wrap;gap:8px;margin:28px 0; }
.poster-subjects span { padding:6px 10px;border:1px solid #ffffff30;border-radius:8px;font-size:12px;color:#f1f4f8; }
.poster-bottom { border-top:1px solid #ffffff30;padding-top:20px;display:grid;gap:5px; }
.poster-bottom strong { font-size:18px; }
.poster-bottom span { color:#c6d2e2;font-size:13px; }
.campaign-exams .hero-campaign { color:#175c53;background:#e0f4ec;border-color:#bbe5d5; }
.campaign-exams .hero h1 { font-size:clamp(32px,3.3vw,46px);letter-spacing:-1.7px; }
.exam-hero-benefits { display:grid;gap:9px;margin:22px 0;font-size:14px;font-weight:550;color:#175c53; }
.exam-poster { padding:32px;background:#e8f1ee;border:1px solid #c8ded5;border-radius:24px;box-shadow:0 20px 50px #102f520c; }
.exam-poster-label { display:flex;gap:9px;align-items:center;font-size:10px;letter-spacing:1px;color:#315e54; }
.exam-poster h2 { font-size:34px;line-height:1.2;margin:24px 0;color:#173e37;letter-spacing:-1px; }
.exam-list { display:grid;gap:10px;margin-bottom:20px; }
.exam-list > div { display:flex;align-items:center;gap:16px;background:#fff;border-radius:12px;padding:17px; }
.exam-list span { display:grid;place-items:center;min-width:45px;height:40px;border-radius:8px;background:#edf3ff;color:#2157a6;font-weight:700;font-size:14px; }
.exam-list strong { font-size:17px; }
.exam-poster > p { font-size:13px;line-height:1.7;color:#46665c; }
.exam-teacher { display:flex;align-items:center;gap:13px;border-top:1px solid #c1d8cd;padding-top:21px;margin-top:24px; }
.exam-teacher img { width:56px;height:56px;object-fit:cover;border-radius:50%; }
.exam-teacher div { display:grid;gap:4px; }
.exam-teacher strong { font-size:14px; }
.exam-teacher span { font-size:12px;color:#486a60; }
.multi-section { display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center; }
.multi-section h2 { font-size:36px;line-height:1.2;letter-spacing:-1px;margin:16px 0 20px; }
.multi-section > div > p:not(.eyebrow) { font-size:16px;line-height:1.8; }
.multi-section .text-link { margin-top:20px; }
.allocation { border:1px solid #d5e3dd;border-radius:20px;padding:28px;background:white; }
.allocation > p { font-size:11px!important;font-weight:700;letter-spacing:1px;color:#476656; }
.allocation > div { display:flex;align-items:center;gap:20px;padding:19px 0;border-bottom:1px solid #e2e9e5; }
.allocation > div > strong { font-size:32px;color:#245a4c;white-space:nowrap; }
.allocation > div > span { font-weight:650; }
.allocation small { display:block;font-size:12px;line-height:1.6;color:#5b7067;font-weight:400; }
.allocation > small { padding-top:16px; }
.journey-guide { background:#102f52;border-radius:20px;padding:30px;color:white;align-self:start; }
.journey-guide .eyebrow { color:#b7d6fc;line-height:1.6; }
.journey-guide h3 { font-size:25px;line-height:1.3;margin:14px 0 24px; }
.journey-guide ol { list-style:none;margin:0;padding:0;display:grid;gap:12px; }
.journey-guide li { display:flex;align-items:center;gap:14px;padding:14px;border:1px solid #ffffff30;border-radius:10px; }
.journey-guide li > span { color:#a8c9ef;font-size:13px; }
.journey-guide li small { display:block;color:#c3d3e5;font-size:12px; }
.journey-guide li strong { font-size:16px; }
.journey-guide .journey-highlight { border-color:#a8e5c4;background:#ffffff0b; }
.journey-guide > p:not(.eyebrow) { color:#d3e0ef;font-size:14px;line-height:1.8;margin:20px 0; }
.journey-guide .button { background:#d5f3ae;color:#16352d;border-color:#d5f3ae;width:100%; }
.journey-guide > small { display:block;color:#c3d3e5;font-size:12px;margin-top:14px; }
.campaign-links { display:flex;flex-wrap:wrap;gap:12px 28px;padding:16px 0;border-top:1px solid #d5dfdf;font-size:14px; }
.campaign-links a { padding:8px 0;text-decoration:underline;text-underline-offset:4px; }
@media(max-width:1100px) { .campaign-poster,.exam-poster { padding:24px; } .multi-section { gap:32px; } .exam-poster h2 { font-size:29px; } }
@media(max-width:760px) {
 .campaign-poster,.exam-poster { padding:24px;border-radius:18px; }
 .campaign-black-friday .hero h1,.campaign-exams .hero h1 { font-size:clamp(30px,8vw,38px);letter-spacing:-1px; }
 .poster-kicker { margin-top:26px; }
 .poster-number { font-size:96px; }
 .poster-subjects { margin:22px 0; }
 .poster-detail { font-size:17px; }
 .exam-poster h2 { font-size:29px; }
 .exam-list > div { padding:14px;gap:12px; }
 .exam-list strong { font-size:16px; }
 .exam-hero-benefits { font-size:13px; }
 .multi-section { grid-template-columns:1fr;gap:26px; }
 .multi-section h2 { font-size:29px; }
 .allocation { padding:22px; }
 .journey-guide { padding:22px; }
 .journey-guide li strong { font-size:14px; }
}
