/* Per-learner, per-year pricing: licence fields, buy blocks, currency chooser, calculator, volume ladder. */
input.lic{width:5ch;min-width:5.5ch;padding:6px 6px;border:1.5px solid var(--line);border-radius:8px;font:inherit;font-size:15px;font-weight:600;color:var(--navy);text-align:center;background:#fff;-moz-appearance:textfield}
input.lic::-webkit-outer-spin-button,input.lic::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
input.lic:focus{outline:3px solid var(--blue);outline-offset:1px;border-color:var(--blue)}
.lic-all{display:flex;flex-wrap:wrap;align-items:center;gap:6px 12px}
.lic-all label{font-weight:600;color:var(--navy);font-size:15px}
.lic-all input.lic{width:7ch;font-size:17px;padding:8px 8px}
.lic-all small{flex:1 1 100%;font-size:13px;color:var(--muted)}
.catalog-head .lic-all{flex:1 1 auto;min-width:0;max-width:100%}
.catalog-head .lic-all small{flex-basis:auto}

.buy{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px}
.pr{display:flex;flex-direction:column;align-items:flex-end;min-width:9ch}
.price{font-family:var(--display);font-weight:700;font-size:15px;color:var(--navy);white-space:nowrap}
.disc{font-size:12px;color:var(--green);font-weight:600;white-space:nowrap;min-height:1em}
.disc:empty{display:none}
label.sample{display:inline-flex;align-items:center;gap:6px;font-size:13px;color:var(--navy);white-space:nowrap;cursor:pointer}
label.sample input{margin:0;accent-color:var(--blue)}
.crow .buy{flex:none;justify-content:flex-end}
@media(max-width:600px){.crow .buy{flex:1 1 100%;justify-content:flex-start}.crow .buy button.add{margin-left:auto}}

.pbuy{margin:14px 0 10px}
.pbuy .buy{gap:10px 18px}
.pbuy input.lic{width:7ch;font-size:18px;padding:9px 8px}
.pbuy .price{font-size:clamp(26px,4vw,38px);font-weight:900;line-height:1.1}
.pbuy .pr{align-items:flex-start}
.pbuy .disc{font-size:14px}
.pbuy label.sample{flex:1 1 100%;font-size:14px}
.pbuy button.add{margin:0}

select.currency{font:inherit;font-size:13px;font-weight:600;color:var(--navy);background:#fff;border:1.5px solid var(--line);border-radius:999px;padding:6px 10px;max-width:9.5em;cursor:pointer}
.top-row .cart-link{margin-left:auto}
.lic-all select.currency,.pbuy select.currency{margin-left:4px}
.checkout-form select.currency,#order-box select.currency{max-width:100%;width:auto;min-width:14em;border-radius:12px;padding:10px 12px;font-size:15px;margin:0 0 10px}

.cart-list li .meta{font-family:inherit;font-weight:400;font-size:13px;color:var(--muted);white-space:nowrap}
.cart-list li .pr{min-width:11ch}
.cart-list li .price{font-size:16px}
@media(max-width:600px){.cart-list li .pr{align-items:flex-start}.cart-list li label.sample{flex:1 1 100%}}
.cart-total{margin-bottom:6px}
.cart-total+.fine{margin:0 0 22px}

.calc{display:grid;gap:22px;background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:24px}
@media(min-width:760px){.calc{grid-template-columns:1fr 1fr;align-items:center}}
.calc-in{display:grid;gap:18px}
.calc-mod label{display:block;font-weight:600;color:var(--navy);font-size:15px;margin:0 0 6px}
.calc-mod input{width:7ch;padding:8px;border:1.5px solid var(--line);border-radius:8px;font:inherit;font-size:17px;font-weight:600;color:var(--navy);text-align:center}
.calc-mod small{display:block;font-size:13px;color:var(--muted);margin-top:6px}
.calc-out{text-align:center;padding:18px;background:var(--sky);border-radius:var(--r)}
.calc-out .price{display:block;font-size:clamp(30px,5vw,44px);font-weight:900;line-height:1.1}
.calc-out .disc{display:block;font-size:14px;margin:6px 0 0}
.calc-out p{margin:8px 0 0;font-size:15px;color:var(--muted)}
.calc-out p span{font-weight:700;color:var(--navy)}

.ladder{width:100%;border-collapse:collapse;background:#fff;border:1px solid var(--line);border-radius:var(--r);overflow:hidden;margin:0 0 30px}
.ladder th,.ladder td{padding:12px 14px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}
.ladder th{background:var(--sky);color:var(--navy);font-size:14px;font-weight:600}
.ladder tr:last-child td{border-bottom:0}
.ladder td:nth-child(n+2){white-space:nowrap;font-weight:700;color:var(--navy);font-family:var(--display)}
.ladder.quoted td:first-child{font-weight:400;font-family:inherit}
@media(max-width:600px){.ladder th,.ladder td{padding:10px 8px;font-size:14px}.ladder td:nth-child(n+2){white-space:normal}}

.pricing-mini{list-style:none;margin:18px 0;padding:0;display:grid;gap:14px}
@media(min-width:760px){.pricing-mini{grid-template-columns:repeat(3,1fr)}}
.pricing-mini>li{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:20px;font-size:15px;line-height:1.5}
.pricing-mini>li b{display:block;font-family:var(--display);font-size:18px;color:var(--navy);margin:0 0 4px}
.tier h3{margin:0 0 6px;font-size:18px;color:var(--navy)}
.lic-u{font-size:13px;color:var(--muted);margin:0 4px 0 -2px}
.cart-list li{flex-wrap:wrap;row-gap:8px}.cart-list li b{flex:1 1 100%}.cart-list li .rm{margin-left:auto}
/* header with currency picker + cart: menu button below 1240px, picker on its own row on phones */
.top{position:sticky}.top .nav.open{top:100%}
@media(min-width:960px) and (max-width:1239px){.nav{display:none}.nav.open{display:flex}.burger{display:inline-block}}
@media(min-width:1240px){.top-row{gap:10px}.top-row .nav{gap:14px}}
@media(max-width:599px){.top-row{flex-wrap:wrap;height:auto;padding-top:10px;padding-bottom:10px;row-gap:8px;gap:8px}.top-row .cart-link{order:10}
.brand .mark{width:32px;height:32px}.brand .word b,.brand .word span,.brand .word em{font-size:18px}.cart-link{padding:7px 11px}}
