/* v2.3.1: the made-by-itself test series poster. 2 : 1, everything sized from the poster's width (cqw) so it is the
   same picture in the slider, on a card and in the download. Colours: --ap-c1 (main), --ap-c2 (accent). */
.ap-wrap { container-type: inline-size; width: 100%; }
.ap { --ap-c1: #1b2496; --ap-c2: #ee6c1f; --ap-ink: #1d1f2e; position: relative; width: 100%; aspect-ratio: 2 / 1; overflow: hidden; border-radius: 2.2cqw;
    font-family: 'Oswald', 'Poppins', system-ui, sans-serif; color: var(--ap-ink); background: #f7f8fc; isolation: isolate; text-align: left; }
.ap * { box-sizing: border-box; }
.ap-bg { position: absolute; inset: 0; z-index: -1;
    background: radial-gradient(60cqw 40cqw at 82% 30%, rgba(255,255,255,.95), transparent 70%), linear-gradient(115deg, #ffffff 0%, #f3f4fa 45%, #e9ecf7 100%); }
.ap-bg::before { content: 'E = mc²   ∫ f(x) dx   Σ n²   ΔG = ΔH − TΔS   v = u + at   ∂y/∂x   PV = nRT   λ = h / p'; position: absolute; inset: 0; padding: 3cqw 4cqw;
    font: italic 400 2.6cqw/1.9 Georgia, serif; color: rgba(27, 36, 150, .07); word-spacing: 3cqw; transform: rotate(-4deg) scale(1.15); white-space: normal; }
/* v2.3.2: the left side is one column – logo, line, title, name, target, date – each below the other, never on top */
.ap-left { position: absolute; left: 3.6cqw; top: 3.2cqw; bottom: 3.2cqw; width: 48cqw; display: flex; flex-direction: column; align-items: flex-start; }
.ap img.ap-logo { position: static; height: 5.6cqw !important; width: auto !important; max-width: 24cqw; object-fit: contain; border-radius: 0; margin-bottom: 1.4cqw; }
.ap-kick { background: var(--ap-c1); color: #fff; font: italic 500 2.3cqw/1 'Poppins', sans-serif; padding: 1cqw 3cqw 1cqw 2.2cqw; border-radius: 0 1.6cqw 0 0; max-width: 46cqw;
    white-space: nowrap; overflow: hidden; text-overflow: ellipsis; margin-left: -.4cqw; }
.ap-title { position: relative; z-index: 2; font: 700 12.5cqw/0.95 'Oswald', 'Poppins', sans-serif; color: var(--ap-c1); letter-spacing: -.01em; max-width: 48cqw; white-space: nowrap; overflow: hidden; margin-top: .4cqw; }
.ap-title.mid { font-size: 10cqw; } .ap-title.long { font-size: 7.6cqw; margin: 1.2cqw 0 .6cqw; }
.ap-title b { color: var(--ap-c2); font-weight: 700; }
.ap-name { font: 600 2.9cqw/1.1 'Oswald', 'Poppins', sans-serif; color: var(--ap-ink); max-width: 48cqw; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; letter-spacing: .01em; margin-top: .6cqw; }
.ap-name::after { content: ''; display: block; height: .35cqw; margin-top: .8cqw; width: 70%; background: linear-gradient(90deg, var(--ap-c2), transparent); border-radius: 1cqw; }
.ap-bottom { margin-top: auto; width: 46cqw; }
.ap-target { background: var(--ap-c2); color: #fff; border-radius: 1cqw; padding: 1.3cqw 2.2cqw; display: flex; flex-direction: column; align-items: flex-start; gap: .4cqw; }
.ap-target .t { font: 600 3.4cqw/1.05 'Oswald', 'Poppins', sans-serif; display: flex; align-items: center; gap: 1.1cqw; white-space: nowrap; overflow: hidden; min-width: 0; }
.ap-target.sm .t { font-size: 2.8cqw; }
.ap-target .t i { display: inline-grid; place-items: center; width: 4.2cqw; height: 4.2cqw; border-radius: 50%; background: #fff; flex: 0 0 auto; }
.ap-target .t i::before { content: ''; width: 2.7cqw; height: 2.7cqw; border-radius: 50%; border: .55cqw solid #e3161f; box-shadow: inset 0 0 0 .5cqw #fff, inset 0 0 0 1.1cqw #e3161f; box-sizing: border-box; }
.ap-target .m { font: 500 1.5cqw/1.1 'Poppins', sans-serif; color: #fff; opacity: .92; padding-left: 5.4cqw; white-space: nowrap; }
.ap-date { margin-left: 2cqw; background: var(--ap-c1); color: #fff; border-radius: 0 0 .9cqw .9cqw; padding: 1cqw 2cqw 1.1cqw; display: inline-flex; align-items: center; gap: 1.3cqw; }
.ap-bottom > .ap-date:first-child { border-radius: .9cqw; margin-left: 0; }
.ap-date .cal { width: 3.6cqw; height: 3.6cqw; border-radius: .6cqw; background: #fff; position: relative; flex: 0 0 auto; }
.ap-date .cal::before { content: ''; position: absolute; left: 0; right: 0; top: 0; height: 1.1cqw; background: var(--ap-c2); border-radius: .6cqw .6cqw 0 0; }
.ap-date .cal::after { content: ''; position: absolute; left: .6cqw; right: .6cqw; top: 1.6cqw; bottom: .5cqw; background: radial-gradient(circle, var(--ap-c2) 32%, transparent 36%) 0 0 / 0.8cqw 0.8cqw; }
.ap-date small { display: block; font: 500 1.2cqw/1.1 'Poppins', sans-serif; opacity: .85; } .ap-date b { font: 600 2.3cqw/1.1 'Oswald', 'Poppins', sans-serif; letter-spacing: .02em; white-space: nowrap; }
/* the star with the number of tests */
.ap-star { position: absolute; z-index: 3; left: 44cqw; top: 2.4cqw; width: 17cqw; height: 17cqw; display: grid; place-items: center; color: #fff; transform: rotate(-6deg); }
.ap-star svg { position: absolute; inset: 0; width: 100%; height: 100%; filter: drop-shadow(0 .5cqw .8cqw rgba(200, 0, 0, .3)); }
.ap-star .in { position: relative; text-align: center; line-height: .9; }
.ap-star b { display: block; font: 700 6.6cqw/0.9 'Oswald', 'Poppins', sans-serif; } .ap-star span { font: 600 1.7cqw/1 'Oswald', 'Poppins', sans-serif; text-transform: uppercase; letter-spacing: .03em; }
/* laptop + books */
.ap-desk { position: absolute; right: 2.5cqw; top: 2.6cqw; width: 44cqw; height: 25cqw; }
.ap-books { position: absolute; left: -3cqw; bottom: 1.2cqw; width: 19cqw; }
.ap-books div { height: 3.3cqw; margin-top: .3cqw; border-radius: .5cqw; color: #fff; font: 600 1.55cqw/3.3cqw 'Oswald', 'Poppins', sans-serif; padding-left: 1.6cqw; letter-spacing: .05em; text-transform: uppercase; box-shadow: inset 0 -.4cqw 0 rgba(0,0,0,.18); white-space: nowrap; overflow: hidden; }
.ap-books div:nth-child(1) { background: #3a4fa8; width: 92%; margin-left: 6%; } .ap-books div:nth-child(2) { background: var(--ap-c2); } .ap-books div:nth-child(3) { background: #2c3b86; width: 96%; margin-left: 2%; }
.ap-lap { position: absolute; right: 0; bottom: 0; width: 29cqw; }
.ap-scr { background: #222634; border-radius: 1.2cqw 1.2cqw 0 0; padding: .9cqw; aspect-ratio: 16 / 10.4; }
.ap-ui { background: #fff; width: 100%; height: 100%; border-radius: .4cqw; display: grid; grid-template-columns: 1.55fr 1fr; grid-template-rows: auto 1fr; gap: .6cqw; padding: .7cqw; font-family: 'Poppins', sans-serif; }
.ap-ui .hd { grid-column: 1 / -1; display: flex; justify-content: space-between; font: 600 .95cqw/1 'Poppins', sans-serif; color: #333; border-bottom: .1cqw solid #eee; padding-bottom: .5cqw; }
.ap-ui .q { background: #f7f8fb; border-radius: .4cqw; padding: .7cqw; display: flex; flex-direction: column; gap: .55cqw; }
.ap-ui .q .qn { font: 600 .9cqw/1 'Poppins', sans-serif; } .ap-ui .q .ln { height: .55cqw; background: #dde0ea; border-radius: 1cqw; }
.ap-ui .q .op { display: flex; align-items: center; gap: .5cqw; } .ap-ui .q .op i { width: 1.2cqw; height: 1.2cqw; border-radius: 50%; border: .12cqw solid #9aa0b8; flex: 0 0 auto; } .ap-ui .q .op i + span { height: .5cqw; width: 60%; background: #e3e6ef; border-radius: 1cqw; }
.ap-ui .q .op.sel i { background: #1f9a74; border-color: #1f9a74; }
.ap-ui .pl { display: grid; grid-template-columns: repeat(5, 1fr); gap: .35cqw; align-content: start; }
.ap-ui .pl i { aspect-ratio: 1; border-radius: .25cqw; border: .1cqw solid #c9cde0; font: 500 .75cqw/1 'Poppins', sans-serif; display: grid; place-items: center; font-style: normal; color: #555; }
.ap-ui .pl i.a { background: #1f9a74; color: #fff; border-color: #1f9a74; } .ap-ui .pl i.r { background: #e0472b; color: #fff; border-color: #e0472b; } .ap-ui .pl i.c { background: #2563eb; color: #fff; border-color: #2563eb; } .ap-ui .pl i.m { background: #f2a516; color: #fff; border-color: #f2a516; }
.ap-ui .sb { grid-column: 5 span; margin-top: .4cqw; background: #2563eb; color: #fff; border-radius: .3cqw; font: 600 .8cqw/1.8cqw 'Poppins', sans-serif; text-align: center; }
.ap-base { height: 1.6cqw; background: linear-gradient(#cfd3de, #9ea4b6); border-radius: 0 0 2cqw 2cqw; margin: 0 -2.4cqw; position: relative; }
.ap-base::before { content: ''; position: absolute; left: 42%; right: 42%; top: 0; height: .5cqw; background: #8b91a4; border-radius: 0 0 .6cqw .6cqw; }
/* price + call */
.ap-buy { position: absolute; right: 3.5cqw; bottom: 3.6cqw; width: 39cqw; text-align: center; }
.ap-buy .s { font: 600 3cqw/1 'Oswald', 'Poppins', sans-serif; color: var(--ap-c2); }
.ap-buy .p { font: 700 6.8cqw/1.05 'Oswald', 'Poppins', sans-serif; color: var(--ap-c1); letter-spacing: -.01em; }
.ap-buy .p s { font-size: 3cqw; color: #9095aa; font-weight: 500; margin-left: 1cqw; vertical-align: middle; }
.ap-buy .row2 { display: flex; align-items: center; justify-content: center; gap: 1.6cqw; margin-top: .8cqw; }
.ap-buy .ph { font: 600 2.6cqw/1 'Oswald', 'Poppins', sans-serif; color: var(--ap-c2); display: flex; align-items: center; gap: .7cqw; white-space: nowrap; }
.ap-buy .ph i { width: 3cqw; height: 3cqw; border-radius: 50%; border: .3cqw solid var(--ap-c2); display: inline-grid; place-items: center; font-style: normal; font-size: 1.6cqw; }
.ap-buy .go { background: var(--ap-c1); color: #fff; border-radius: 3cqw; padding: 1.1cqw 2.6cqw; font: 600 2.2cqw/1 'Poppins', sans-serif; white-space: nowrap; }
.ap-target { overflow: hidden; } .ap-target .t { max-width: 100%; text-overflow: ellipsis; }   /* v2.3.3: a long exam name stays inside the box */
