.practice-commerce-notice:empty { display: none; }
.practice-commerce-notice { margin-block: 1rem; color: var(--ink, #14324b); }
.practice-commerce-notice button { display: block; margin-top: .75rem; }
.practice-confirmation { border-block: 1px solid #b7c7d1; padding-block: 1.5rem; margin-block: 1.5rem; }
.practice-confirmation a { display: block; width: fit-content; margin-top: .75rem; overflow-wrap: anywhere; }
.practice-confirmation[hidden] { display: none; }
[data-practice-catalogue] button, [data-practice-catalogue] a { min-height: 44px; }
[data-practice-catalogue] :focus-visible { outline: 3px solid #005fcc; outline-offset: 4px; }
[data-practice-catalogue] .paper-card { min-width: 0; }
[data-practice-catalogue] .paper-details { overflow-wrap: anywhere; }
[data-practice-catalogue] [data-practice-buy]:not(:disabled) { background: #075fc9; color: #fff; border-color: #075fc9; cursor: pointer; }
[data-practice-catalogue] [data-practice-buy]:not(:disabled):hover { background: #054b9f; border-color: #054b9f; }
[data-practice-catalogue] [data-practice-buy]:disabled { background: #f2f5f3; color: #526b7d; border-color: #bccac1; cursor: wait; }
.practice-free-form { display: grid; gap: .75rem; margin-top: 1rem; }
.practice-free-form label { display: grid; gap: .3rem; font-weight: 600; }
.practice-free-form input { min-height: 44px; padding: .65rem; border: 1px solid #9cafba; border-radius: .25rem; font: inherit; }
.practice-free-status { min-height: 1.5em; margin: 0; }
.practice-honeypot { position: absolute !important; inline-size: 1px; block-size: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
/* Covers use the established Challenge palette; actions remain consistently blue. */
[data-practice-catalogue] .paper-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 1.5rem; }
[data-practice-catalogue] .paper-card { overflow: hidden; border: 1px solid #d9e2e9; border-radius: 16px; background: #fff; }
[data-practice-catalogue] .paper-cover { min-height: 200px; padding: 1.75rem; background: #123a57; color: #fff; display: flex; flex-direction: column; gap: 1rem; }
[data-practice-catalogue] .paper-cover strong { font-size: 1.5rem; line-height: 1.2; }
[data-practice-catalogue] [data-level="junior"] .paper-cover { background: #a4481b; }
[data-practice-catalogue] [data-level="intermediate"] .paper-cover { background: #17634c; }
[data-practice-catalogue] [data-level="senior"] .paper-cover { background: #a82e3d; }
[data-practice-catalogue] .paper-details { padding: 1.5rem; }
[data-practice-catalogue] .paper-details h3 { font-size: 1.2rem; }
.practice-basket { margin-top: 2rem; padding: 2rem; border-radius: 16px; background: #ecf3f8; color: #123047; }
.practice-basket-row { display: flex; align-items: center; gap: 1rem; padding-block: 1rem; border-bottom: 1px solid #cad8e3; }
.practice-basket-row > span { flex: 1; }
.practice-basket input { border: 1px solid #819aaa; background: white; border-radius: 6px; padding: .75rem; min-height: 44px; font: inherit; max-width: 100%; }
.practice-basket-row input { width: 5rem; }
.practice-basket > button { display: block; margin-top: 1rem; background: #075fc9; color: white; padding: .8rem 1.2rem; border: 0; border-radius: 6px; font-weight: 700; }
.practice-download-dialog { border: 1px solid #c9d8e2; border-radius: 16px; width: min(480px,calc(100vw - 2rem)); padding: 2rem; color: #123047; }
.practice-download-dialog::backdrop { background: #071e32aa; }
.practice-confirmation { padding: 2rem; border-radius: 16px; background: #ecf3f8; }
@media (max-width: 900px) { [data-practice-catalogue] .paper-grid { grid-template-columns: repeat(2,minmax(0,1fr)); } }
@media (max-width: 600px) { [data-practice-catalogue] .paper-grid { grid-template-columns: 1fr; } .practice-basket { padding: 1rem; } .practice-basket-row { flex-wrap: wrap; } .practice-basket-row > span { flex-basis: 100%; } }
.practice-delivery-page .catalogue-filters, .practice-delivery-page .catalogue-count, .practice-delivery-page .paper-grid, .practice-delivery-page .practice-basket { display: none; }
.practice-delivery-steps { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); padding: 0; list-style: none; gap: 1.5rem; margin-block: 2rem; }
.practice-delivery-steps li { border-top: 3px solid #075fc9; padding-top: 1rem; }
@media (max-width: 600px) { .practice-delivery-steps { grid-template-columns: 1fr; } }
.practice-free-online { display: block; margin-top: 1rem; }
[data-free-practice] { margin-block: 2rem; border: 1px solid #cbd7e2; border-radius: 14px; overflow: hidden; background: white; }
.free-practice-bar { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 1rem; background: #0b2c46; color: white; padding: 1.25rem 1.5rem; }
.free-practice-question, .free-practice-result { padding: clamp(1rem,3vw,2.5rem); }
.free-practice-question h2 { font-size: clamp(1.3rem,3vw,2rem); max-width: 42ch; }
.free-practice-question fieldset { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: .8rem; border: 0; padding: 0; margin-block: 1.5rem; }
.free-practice-question legend { margin-bottom: 1rem; }
.free-practice-question label { display: flex; align-items: center; gap: .7rem; border: 1px solid #bccbd9; border-radius: 7px; padding: 1rem; cursor: pointer; }
.free-practice-question label:has(:checked) { border-color: #075fc9; background: #eaf2ff; }
.free-practice-question .answer-letter { font-weight: 750; color: #075fc9; }
.free-practice-figure { display: block; max-width: 100%; max-height: 520px; height: auto; width: auto; margin: 1rem 0; object-fit: contain; }
.free-practice-controls { display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: 1rem; }
[data-free-practice] button { min-height: 44px; padding: .7rem 1rem; border: 1px solid #a6b7c6; border-radius: 6px; background: #fff; color: #12324b; font: inherit; cursor: pointer; }
.free-practice-controls button:last-child { background: #075fc9; border-color: #075fc9; color: #fff; font-weight: 700; }
.free-practice-overview { border-top: 1px solid #cbd7e2; padding: 1.25rem; }
.free-practice-overview > div { display: grid; grid-template-columns: repeat(auto-fill,minmax(44px,1fr)); gap: .5rem; margin-top: 1rem; }
.free-practice-overview .answered { background: #075fc9; color: white; }
.free-practice-result meter { width: 100%; height: 14px; accent-color: #075fc9; }
.free-practice-result > div { margin-block: 1.5rem; }
@media (max-width: 600px) { .free-practice-question fieldset { grid-template-columns: 1fr; } }
/* Cover copy must override the older catalogue's dark child colours. */
[data-practice-catalogue] .paper-cover > span,
[data-practice-catalogue] .paper-cover > strong { color: #fff; }
/* Product-first shop: compact introduction, bold visual covers, concise details. */
.practice-shop-heading{background:#f5f8fc;padding:28px 0 14px;color:#102d42}.practice-shop-heading h1{font:750 clamp(30px,4vw,48px)/1.08 system-ui,sans-serif;letter-spacing:-.04em;margin:8px 0 10px}.practice-shop-heading p{margin:6px 0}.practice-shop-heading .eyebrow{font-size:11px}.practice-shop-products{padding:12px 0 50px;background:#f5f8fc}.practice-shop-products .catalogue-filters{margin:10px 0 8px}.practice-shop-products .catalogue-count{margin:8px 0 16px}
[data-practice-catalogue] .paper-cover{position:relative;box-sizing:border-box;height:240px;min-height:0;padding:20px;overflow:hidden;border-left:0;background:linear-gradient(135deg,#073457,#086aa3)}
[data-practice-catalogue] [data-level="junior"] .paper-cover{background:linear-gradient(135deg,#a94216,#ed8b4c)}
[data-practice-catalogue] [data-level="intermediate"] .paper-cover{background:linear-gradient(135deg,#0c5545,#43aa80)}
[data-practice-catalogue] [data-level="senior"] .paper-cover{background:linear-gradient(135deg,#9e253e,#f06b75)}
[data-practice-catalogue] .product-pupil{position:absolute;right:-12px;bottom:-4px;width:72%;height:92%;object-fit:contain;object-position:bottom;z-index:1;margin:0;max-width:none}
[data-practice-catalogue] .product-format{position:relative;z-index:2;display:flex;flex-direction:column;align-items:flex-start;gap:8px;font:700 13px/1.2 system-ui,sans-serif!important;max-width:42%;text-shadow:0 1px 3px #0003}
.product-format svg{width:38px;height:38px;padding:10px;border:1px solid #ffffff70;border-radius:14px;background:#102d4233;box-sizing:content-box}
[data-practice-catalogue] .product-edition{position:absolute;bottom:20px;left:20px;font:750 17px/1.2 system-ui,sans-serif;color:white;z-index:2}
[data-practice-catalogue] .product-orbit{position:absolute;right:9%;top:10px;font-size:130px;line-height:1;opacity:.16;color:#fff;z-index:0;font-weight:800}
[data-practice-catalogue] .paper-details{padding:20px}.paper-details .product-summary{font-size:13px!important;margin:10px 0}.paper-details h3{font-family:system-ui,sans-serif}.practice-free-zone{margin-top:48px;padding:28px;background:#e0f2f3;border-radius:20px}.practice-free-zone h2{font:750 26px/1.2 system-ui,sans-serif;margin:8px 0 18px}.practice-free-zone [data-free-grid]>.paper-card{display:grid;grid-template-columns:220px 1fr;max-width:760px;border:0}.practice-free-zone .paper-cover{height:100%;min-height:230px}.practice-free-zone .paper-details{display:flex;align-items:flex-start}.practice-free-zone .paper-details button{min-width:200px}.practice-free-zone .product-pupil{width:90%}.practice-delivery-page .practice-free-zone{display:none}
@media(max-width:600px){.practice-shop-heading{padding:20px 0 8px}.practice-shop-products .catalogue-filters{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.catalogue-filters select{width:100%;min-width:0;font-size:12px;padding:8px}.catalogue-filters label{font-size:12px}.practice-free-zone{padding:18px}.practice-free-zone [data-free-grid]>.paper-card{grid-template-columns:1fr}.practice-free-zone .paper-cover{height:200px;min-height:0}.practice-free-zone .product-pupil{width:65%}}
.product-format .product-format-icon{filter:brightness(0) invert(1);width:38px;height:38px;margin:0;padding:10px;border:1px solid currentColor;border-radius:14px;box-sizing:content-box}
/* Compact, rounded filters and clear format selection. */
.practice-shop-products .catalogue-filters{display:flex;flex-wrap:wrap;gap:12px;margin:12px 0 20px}
.practice-shop-products .catalogue-filters label{display:flex;align-items:center;gap:10px;background:#fff;border:1px solid #d9e3ec;border-radius:999px;padding:4px 16px;font-size:12px;color:#526779;box-shadow:0 3px 12px #102d4205}
.practice-shop-products .catalogue-filters select{appearance:none;border:0!important;border-radius:999px;background:transparent url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='m1 1 5 5 5-5' fill='none' stroke='%23102d42' stroke-width='1.5'/%3E%3C/svg%3E") right center/12px no-repeat;min-height:42px;padding:8px 22px 8px 0;font:600 14px system-ui;color:#102d42;width:auto;box-shadow:none}
.product-format-icons{display:flex;gap:6px}.product-format-icons .product-format-icon{width:26px;height:26px;padding:8px;border-radius:11px}
.product-format-picker{display:flex;gap:6px;border:0;padding:0;margin:0 0 14px;width:100%}.product-format-picker legend{font-size:12px;color:#536779;margin-bottom:8px}.product-format-picker label{flex:1;position:relative;cursor:pointer}.product-format-picker input{position:absolute;opacity:0;width:100%;height:100%;margin:0}.product-format-picker span{display:block;border:1px solid #d1dce5;border-radius:9px;padding:10px 6px;text-align:center;font:600 12px/1.3 system-ui;color:#38536b;min-height:40px;box-sizing:border-box}.product-format-picker input:checked+span{background:#0b2c46;color:white;border-color:#0b2c46}.product-format-picker input:focus-visible+span{outline:3px solid #0879df;outline-offset:3px}
.practice-basket{scroll-margin-top:160px}.practice-free-zone{scroll-margin-top:150px}.practice-free-zone [data-free-grid]>.paper-card{grid-template-columns:minmax(300px,1fr) 1fr;max-width:none}
[data-practice-catalogue] .collage-pupil{width:45%!important;height:70%;bottom:0;object-position:bottom;right:auto!important}
[data-practice-catalogue] .collage-0{left:-7%;z-index:4;height:63%}[data-practice-catalogue] .collage-1{left:15%;z-index:3;height:70%}[data-practice-catalogue] .collage-2{left:38%;z-index:2;height:75%}[data-practice-catalogue] .collage-3{left:60%;z-index:1;height:79%}
.practice-free-zone .product-edition{display:none}.practice-free-zone .product-format{max-width:none}.practice-free-zone .paper-cover{min-height:300px}.practice-free-zone .product-format-icons{position:absolute;left:0;top:0}.practice-free-zone .product-format{padding-left:96px;min-height:46px;justify-content:center}
@media(max-width:600px){.practice-shop-products .catalogue-filters{gap:8px}.practice-shop-products .catalogue-filters label{flex:1 1 130px;padding:3px 12px;gap:6px}.practice-shop-products .catalogue-filters select{font-size:12px;max-width:100%}.practice-free-zone [data-free-grid]>.paper-card{grid-template-columns:1fr}.practice-basket{scroll-margin-top:130px}}
.practice-free-zone .paper-details>button{background:#0b2c46;color:#fff;border:1px solid #0b2c46;border-radius:9px;padding:12px 18px;cursor:pointer}.practice-free-zone .paper-details>button:hover{background:#173f5d}.practice-free-zone .paper-details>.practice-free-online{background:#fff;color:#0b2c46}.practice-free-zone .paper-details>.practice-free-online:hover{background:#eaf2f8}
.practice-download-dialog{padding:30px;border:0;border-radius:24px;box-shadow:0 24px 90px #071f3340}.practice-download-dialog h3{font-size:26px;letter-spacing:-.03em}.practice-download-dialog>p{font-size:14px;color:#526779;line-height:1.6}.practice-free-form{gap:16px}.practice-free-form input{border:1px solid #d3dfe9;border-radius:10px;background:#f7f9fc;padding:12px;font-weight:400}.practice-free-form input:focus{border-color:#0071e3;background:#fff}.practice-free-form button[type=submit]{width:100%;border:0;border-radius:999px;padding:14px 20px;min-height:50px;background:#0b2c46;color:#fff;font:650 15px system-ui;cursor:pointer;box-shadow:0 4px 12px #0b2c4615}.practice-free-form button[type=submit]:hover{background:#173f5d}.practice-free-form button.practice-free-online{background:#0071e3;color:white;margin-top:0}.practice-free-form button.practice-free-online:hover{background:#0064ca}.practice-free-form button[type=submit]:disabled{opacity:.65;cursor:wait;box-shadow:none}.practice-download-dialog>button{float:right;border:0;border-radius:999px;padding:8px 12px;background:#eef3f7;color:#38536b;font-size:12px;cursor:pointer}
.practice-free-zone .practice-download-dialog>button{min-width:0;width:auto;min-height:32px}.practice-download-dialog{max-height:calc(100dvh - 32px);overflow:auto;box-sizing:border-box}
.practice-free-form select{min-height:50px;padding:12px 40px 12px 14px;border:1px solid #d3dfe9;border-radius:10px;background:#f7f9fc;color:#123047;font:400 15px system-ui;width:100%}.practice-free-form select:focus{border-color:#0071e3;background:#fff}.practice-free-form label[hidden]{display:none}
.practice-access{max-width:760px;margin:24px auto!important;padding:clamp(24px,4vw,44px)!important;border:1px solid #dbe5ee;background:linear-gradient(145deg,#fff,#f2f7fc);box-shadow:0 12px 44px #0b2c460d;border-radius:24px!important}.practice-access h3{font:750 clamp(24px,3vw,32px)/1.15 system-ui;letter-spacing:-.035em;margin-top:0;color:#0b2c46}.practice-access-status{color:#526779;line-height:1.6}.practice-access[aria-busy=true] .practice-access-status:before{content:'';display:inline-block;width:20px;height:20px;margin-right:12px;vertical-align:middle;border:3px solid #cde0ef;border-top-color:#0071e3;border-radius:50%;animation:practice-loading .9s linear infinite}.practice-access .practice-access-action{display:flex;align-items:center;justify-content:center;gap:12px;width:100%;box-sizing:border-box;padding:18px 24px;margin-top:16px;border-radius:14px;font:650 16px system-ui;text-decoration:none;border:1px solid #cbdce9;transition:background .15s}.practice-access-pdf{background:#fff;color:#0b2c46}.practice-access-pdf:hover{background:#edf4fa}.practice-access-pdf:before{content:'';width:26px;height:26px;background:url('/assets/icons/file-text.svg') center/contain no-repeat}.practice-access .practice-access-online{background:#0071e3;color:#fff;border-color:#0071e3;box-shadow:0 5px 18px #0071e31a}.practice-access-online:hover{background:#0064ca}.practice-access-online:before{content:'';width:26px;height:26px;background:url('/assets/icons/monitor.svg') center/contain no-repeat;filter:brightness(0) invert(1)}.practice-access-caption{font-size:13px;color:#526779;text-align:center}.practice-access-retry{background:#0b2c46;color:white;border:0;padding:12px 20px;border-radius:999px;cursor:pointer}@keyframes practice-loading{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){.practice-access[aria-busy=true] .practice-access-status:before{animation:none}}
.practice-level-picker{border:0;padding:0;margin:16px 0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.practice-level-picker legend{font-weight:700;margin-bottom:10px;color:#102f48}.practice-level-option{display:grid;grid-template-columns:22px 1fr;align-items:center;gap:3px 8px;border:1px solid #d2deea;border-radius:12px;padding:11px;background:#f5f9fd;cursor:pointer}.practice-level-option input{grid-row:span 2;width:19px;height:19px;accent-color:#0062d8}.practice-level-option small{font-size:12px;color:#45617a}.practice-level-option:has(input:checked){background:#e6f2ff;border-color:#0062d8;box-shadow:inset 0 0 0 1px #0062d8}.practice-level-option.primary{border-left:4px solid #00a5c8}.practice-level-option.junior{border-left:4px solid #f79955}.practice-level-option.intermediate{border-left:4px solid #3bb685}.practice-level-option.senior{border-left:4px solid #ff6c78}.practice-selection-summary{font-size:14px;font-weight:700;color:#15578a}.practice-individual-downloads{display:flex;gap:12px;flex-wrap:wrap;margin:12px 0}.practice-access-actions{display:flex;flex-wrap:wrap;gap:12px}.practice-access-actions .practice-individual-downloads{width:100%}
.practice-promo-visual{display:block;max-width:560px;margin:24px 0;border-radius:22px;overflow:hidden;background:#102f48;text-decoration:none}.practice-promo-visual .paper-cover{min-height:260px;background:#102f48}.practice-promo-visual .product-format{color:white}.practice-promo-visual .product-format-icon{filter:brightness(0) invert(1)}.practice-promo-visual>strong{display:block;padding:18px 24px;color:white;font-size:21px}.practice-promo-visual:hover{box-shadow:0 12px 35px #102f4833}
.practice-promo-visual .paper-cover{position:relative;isolation:isolate}.practice-promo-visual .product-format{position:absolute;top:20px;left:20px;z-index:3;display:flex;align-items:center;gap:8px}.practice-promo-visual .product-format-icons{display:flex;gap:8px}.practice-promo-visual .product-edition{position:absolute;top:68px;left:20px;z-index:3;color:#b4e5f6}.practice-promo-visual .product-pupil{position:absolute;bottom:0;height:70%;width:45%;object-fit:contain;object-position:bottom}.practice-promo-visual .collage-0{left:-5%;z-index:2}.practice-promo-visual .collage-1{left:17%;z-index:1}.practice-promo-visual .collage-2{left:39%;z-index:2}.practice-promo-visual .collage-3{left:61%;z-index:1}.practice-promo-label{display:block;padding:18px 24px;color:white;font-size:20px;font-weight:700}
