/* Schools page additions. Only new parts; the copied book.21-draw.com markup keeps app-*.css untouched.
   All colors, radii and type come from the site's own tokens. */
:root{--sch-mono:"Geist Mono",ui-monospace,monospace}

/* hero facts + secondary button */
.sch-facts{list-style:none;margin:28px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:10px 28px}
.sch-facts li{display:flex;align-items:baseline;gap:10px}
.sch-facts strong{font-size:22px;font-weight:600;letter-spacing:-.03em;color:var(--color-fg-strong)}
.sch-facts span{font-size:14px;color:var(--color-fg-muted)}
.sch-ghost{display:inline-flex;align-items:center;padding:14px 22px;border-radius:999px;border:1px solid var(--color-border);font-size:15px;font-weight:500;color:var(--color-fg-strong);text-decoration:none;transition:border-color .15s,background .15s}
.sch-ghost:hover{border-color:var(--color-fg-strong);text-decoration:none}

/* book cards */
.sch-cover{border:0;cursor:zoom-in;width:100%;font:inherit}
.sch-cover:focus-visible{outline:2px solid var(--color-brand-500);outline-offset:3px}
.sch-cover img{transition:transform .3s ease-out}
.sch-cover:hover img{transform:translateY(-6px)}
.sch-by{margin:6px 0 0;font-size:13px;line-height:1.45;color:var(--color-fg-muted)}
.sch-card-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:2px}
.sch-btn-look,.sch-btn-add{display:inline-flex;align-items:center;gap:8px;height:42px;padding:0 18px;border-radius:999px;font:inherit;font-size:14px;font-weight:500;cursor:pointer;transition:background .15s,color .15s,border-color .15s}
.sch-btn-look{background:var(--color-brand-500);color:#fff;border:1px solid var(--color-brand-500)}
.sch-btn-look:hover{background:var(--color-brand-600);border-color:var(--color-brand-600)}
.sch-btn-add{background:transparent;color:var(--color-fg-strong);border:1px solid var(--color-border)}
.sch-btn-add:hover{border-color:var(--color-fg-strong)}
.sch-btn-add.is-added{background:var(--color-fg-strong);border-color:var(--color-fg-strong);color:var(--color-bg)}
.sch-btn-look:focus-visible,.sch-btn-add:focus-visible{outline:2px solid var(--color-brand-500);outline-offset:2px}

/* ways to buy */
.sch-way-link{margin-top:auto;padding-top:24px;display:inline-flex;align-items:center;gap:8px;font-size:14px;font-weight:500;color:var(--color-fg-strong);text-decoration:none}
.sch-way-link:hover{color:var(--color-brand-500);text-decoration:none}

/* artists */
.sch-sub{margin:clamp(56px,7vw,96px) 0 28px;font-size:clamp(22px,2.2vw,28px);font-weight:600;letter-spacing:-.02em;color:var(--color-fg-strong);border-top:1px solid var(--color-border);padding-top:28px}
.sch-artists{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 20px}
@media (min-width:640px){.sch-artists{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media (min-width:1024px){.sch-artists{grid-template-columns:repeat(6,minmax(0,1fr))}}
.sch-artist{display:flex;flex-direction:column;align-items:flex-start;gap:4px}
.sch-artist-img{display:block;width:64px;height:64px;border-radius:999px;overflow:hidden;background:var(--color-bg-subtle);margin-bottom:10px}
.sch-artist-img img{width:100%;height:100%;object-fit:cover}
.sch-artist-name{font-size:15px;font-weight:600;color:var(--color-fg-strong);letter-spacing:-.01em;line-height:1.25}
.sch-artist-role{font-size:13px;color:var(--color-fg-muted);line-height:1.4}

/* how it works steps */
.sch-steps li{display:grid;grid-template-columns:44px 1fr;gap:16px;padding:20px 0;border-top:1px solid rgba(255,255,255,.14)}

/* form */
.sch-form{max-width:860px}
.sch-hp{position:absolute;left:-9999px;width:1px;height:1px;opacity:0}
.sch-step{border:0;padding:0;margin:0 0 48px}
.sch-step[hidden]{display:none}
.sch-step legend{display:flex;align-items:center;gap:12px;padding:0;margin-bottom:20px;font-size:20px;font-weight:600;letter-spacing:-.02em;color:var(--color-fg-strong)}
.sch-num{display:inline-grid;place-items:center;width:28px;height:28px;border-radius:999px;background:var(--color-fg-strong);color:var(--color-bg);font-family:var(--sch-mono);font-size:12px;font-weight:400;letter-spacing:0}
.sch-modes{display:grid;grid-template-columns:1fr;gap:12px}
@media (min-width:768px){.sch-modes{grid-template-columns:repeat(3,1fr)}}
.sch-mode{position:relative;cursor:pointer}
.sch-mode input,.sch-pill input{position:absolute;opacity:0;inset:0;margin:0;cursor:pointer}
.sch-mode>span{display:flex;flex-direction:column;gap:6px;height:100%;padding:20px;border-radius:10px;border:1px solid var(--color-border);background:var(--color-bg);transition:border-color .15s,background .15s,box-shadow .15s}
.sch-mode strong{font-size:16px;font-weight:600;color:var(--color-fg-strong)}
.sch-mode em{font-style:normal;font-size:14px;color:var(--color-fg-muted);line-height:1.45}
.sch-mode input:checked+span{border-color:var(--color-fg-strong);background:var(--color-bg-subtle);box-shadow:inset 0 0 0 1px var(--color-fg-strong)}
.sch-mode input:focus-visible+span,.sch-pill input:focus-visible+span{outline:2px solid var(--color-brand-500);outline-offset:2px}
.sch-lines-head{display:flex;gap:20px;margin:-6px 0 10px}
.sch-link{background:none;border:0;padding:0;font:inherit;font-size:14px;font-weight:500;color:var(--color-brand-500);cursor:pointer;text-decoration:underline;text-underline-offset:3px}
.sch-link:hover{color:var(--color-brand-600)}
.sch-lines{list-style:none;margin:0;padding:0;border-top:1px solid var(--color-border)}
.sch-line{display:flex;align-items:center;gap:14px;padding:10px 0;border-bottom:1px solid var(--color-border)}
.sch-line img{width:44px;height:44px;object-fit:contain;flex:0 0 auto;border-radius:4px;background:var(--color-bg-subtle)}
.sch-line-text{flex:1;min-width:0}
.sch-line-title{display:block;font-size:15px;font-weight:600;color:var(--color-fg-strong);letter-spacing:-.01em}
.sch-line-isbn{display:block;font-family:var(--sch-mono);font-size:12px;color:var(--color-fg-muted);margin-top:2px}
.sch-line.has-qty .sch-line-title{color:var(--color-brand-600)}
.sch-stepper{display:inline-flex;align-items:center;border:1px solid var(--color-border);border-radius:999px;background:#fff;flex:0 0 auto}
.sch-stepper button{width:36px;height:36px;border:0;background:none;font-size:18px;color:var(--color-fg-strong);cursor:pointer;border-radius:999px}
.sch-stepper button:hover{background:var(--color-bg-subtle)}
.sch-stepper input{width:44px;border:0;text-align:center;font:inherit;font-size:15px;color:var(--color-fg-strong);background:none;-moz-appearance:textfield}
.sch-stepper input::-webkit-outer-spin-button,.sch-stepper input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
.sch-total{display:flex;justify-content:space-between;align-items:baseline;padding:16px 0 0;font-size:15px;color:var(--color-fg)}
.sch-total strong{font-size:22px;font-weight:600;letter-spacing:-.02em;color:var(--color-fg-strong)}
.sch-note{margin:6px 0 0;font-size:13px;color:var(--color-fg-muted);text-align:right}
.sch-grid{display:grid;grid-template-columns:1fr;gap:20px 24px}
@media (min-width:640px){.sch-grid{grid-template-columns:1fr 1fr}.sch-wide{grid-column:1/-1}}
.sch-field{display:flex;flex-direction:column;gap:8px;font-size:14px;font-weight:500;color:var(--color-fg-strong)}
.sch-field em{font-style:normal;font-weight:400;color:var(--color-fg-muted)}
.sch-field input,.sch-field textarea,.sch-field select{font:inherit;font-weight:400;font-size:15px;color:var(--color-fg-strong);background:#fff;border:1px solid var(--color-border);border-radius:6px;padding:12px 14px;width:100%}
.sch-field select{appearance:none;background-image:linear-gradient(45deg,transparent 50%,currentColor 50%),linear-gradient(135deg,currentColor 50%,transparent 50%);background-position:calc(100% - 20px) 50%,calc(100% - 15px) 50%;background-size:5px 5px;background-repeat:no-repeat;padding-right:40px}
.sch-field textarea{resize:vertical}
.sch-field input:focus,.sch-field textarea:focus,.sch-field select:focus,.sch-stepper input:focus{outline:2px solid var(--color-brand-500);outline-offset:1px}
.sch-field input::placeholder,.sch-field textarea::placeholder{color:var(--color-fg-muted);opacity:.8}
.sch-field.is-invalid input,.sch-field.is-invalid textarea{border-color:var(--color-brand-500)}
.sch-pills{display:flex;flex-wrap:wrap;gap:8px}
.sch-pill{position:relative}
.sch-pill span{display:inline-flex;align-items:center;height:46px;padding:0 18px;border-radius:999px;border:1px solid var(--color-border);background:#fff;font-size:14px;font-weight:500;color:var(--color-fg)}
.sch-pill input:checked+span{background:var(--color-fg-strong);border-color:var(--color-fg-strong);color:var(--color-bg)}
.sch-msg{margin-bottom:8px}
.sch-error{margin:20px 0 0;color:var(--color-brand-600);font-size:14px;font-weight:500}
.sch-submit{margin-top:32px;display:flex;flex-wrap:wrap;align-items:center;gap:20px}
.sch-submit button[disabled]{opacity:.6;cursor:wait}
.sch-done{max-width:860px;border-radius:10px;background:var(--color-bg-subtle);padding:clamp(24px,3vw,40px)}
.sch-done h3{margin:0;font-size:22px;font-weight:600;letter-spacing:-.02em;color:var(--color-fg-strong)}
.sch-done p{margin:10px 0 0;font-size:15px;line-height:1.55;color:var(--color-fg)}

/* preview overlay */
.sch-dialog{position:fixed;inset:0;margin:auto;width:min(1100px,94vw);height:min(900px,90vh);max-width:none;max-height:none;padding:0;border:0;border-radius:12px;background:var(--color-bg);box-shadow:0 30px 80px rgba(20,17,12,.35);overflow:hidden}
.sch-dialog[open]{display:flex;flex-direction:column}
.sch-dialog::backdrop{background:rgba(20,17,12,.55)}
.sch-dialog-bar{display:flex;align-items:center;gap:12px;padding:12px 12px 12px 20px;border-bottom:1px solid var(--color-border)}
.sch-dialog-title{flex:1;min-width:0;margin:0;font-size:16px;font-weight:600;color:var(--color-fg-strong);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sch-dialog-close{width:42px;height:42px;border-radius:999px;border:1px solid var(--color-border);background:none;font-size:15px;cursor:pointer;color:var(--color-fg-strong)}
.sch-dialog-close:hover{border-color:var(--color-fg-strong)}
.sch-dialog iframe{flex:1;width:100%;border:0;background:#fff}
@media (max-width:639px){.sch-dialog{width:100vw;height:100dvh;border-radius:0}.sch-dialog-bar .sch-btn-look{padding:0 14px}}

@media (prefers-reduced-motion:reduce){.sch-cover img{transition:none}.sch-cover:hover img{transform:none}}

/* sub-brand lockup next to the logo, like "Udemy Business" (Darko, 9 Nov 2026) */
.sch-lockup{display:inline-flex;align-items:center;margin-left:14px;padding-left:14px;border-left:1px solid var(--color-border);height:24px;font-size:17px;font-weight:500;letter-spacing:-.02em;color:var(--color-brand-500);white-space:nowrap}
@media (max-width:380px){.sch-lockup{font-size:15px;margin-left:10px;padding-left:10px}}
.sch-ship-note{margin:0;font-size:13px;line-height:1.45;color:var(--color-brand-600)}

/* no automatic word breaks (Darko, 9 Nov 2026: "do not hyphenate unless its natural") */
body,body *{-webkit-hyphens:manual!important;hyphens:manual!important}
