/* Shop-only components. The shared site files retain control of the shell, hero and navbar. */
.rm-shop { color: var(--rm-ink); }
.rm-shop-ai { --shop-accent:#08765b; --shop-tint:#eef9f4; }
.rm-shop-aa-sl { --shop-accent:#1d5cba; --shop-tint:#eff5ff; }
.rm-shop-aa-hl { --shop-accent:#7040b3; --shop-tint:#f5f0fc; }
.rm-shop-eyebrow { margin:0 0 9px; color:var(--shop-accent,var(--rm-blue-dark)); font-size:12px; font-weight:850; text-transform:uppercase; letter-spacing:.1em; }
.rm-shop-intro { display:flex; align-items:flex-end; justify-content:space-between; gap:24px; margin:36px 0 22px; }
.rm-shop-intro h2, .rm-shop-help h2 { margin:0 0 9px; font-size:clamp(26px,3vw,34px); line-height:1.1; letter-spacing:-.035em; color:var(--rm-navy); }
.rm-shop-intro p:not(.rm-shop-eyebrow), .rm-shop-help p:not(.rm-shop-eyebrow) { margin:0; color:var(--rm-muted); }
.rm-shop-text-link { flex-shrink:0; font-size:14px; color:var(--rm-blue-dark); font-weight:750; text-decoration:none; padding-block:8px; }
.rm-shop-text-link:hover { text-decoration:underline; }
.rm-shop-courses { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; }
.rm-shop-course { display:flex; flex-direction:column; min-width:0; padding:25px; border:1px solid #d8e4ee; border-top:5px solid var(--shop-accent); border-radius:18px; background:#fff; color:var(--rm-ink); text-decoration:none; box-shadow:0 8px 24px rgba(16,47,85,.05); transition:box-shadow .18s,border-color .18s; }
.rm-shop-course:hover { border-color:var(--shop-accent); box-shadow:0 12px 28px rgba(16,47,85,.12); }
.rm-shop-course-top { display:flex; justify-content:space-between; gap:12px; align-items:center; flex-wrap:wrap; }
.rm-shop-course-code { color:var(--shop-accent); font-size:22px; font-weight:900; letter-spacing:-.03em; }
.rm-shop-level { color:var(--shop-accent); background:var(--shop-tint); padding:5px 9px; font-size:11px; font-weight:800; border-radius:6px; }
.rm-shop-course h3 { margin:22px 0 12px; font-size:26px; line-height:1.18; letter-spacing:-.025em; color:var(--rm-navy); }
.rm-shop-course p { color:var(--rm-muted); margin:0 0 26px; font-size:15px; line-height:1.55; }
.rm-shop-card-bottom { display:flex; justify-content:space-between; gap:12px; border-top:1px solid #e1eaf2; margin-top:auto; padding-top:18px; font-size:14px; font-weight:850; color:var(--shop-accent); }
.rm-shop-format-note { display:flex; align-items:center; justify-content:space-between; gap:25px; margin:22px 0 40px; padding:17px 20px; border:1px solid #d8e5f0; border-radius:12px; background:rgba(255,255,255,.55); font-size:14px; color:var(--rm-muted); }
.rm-shop-format-note p { margin:0; max-width:850px; }
.rm-shop-format-note>span { flex-shrink:0; font-size:12px; font-weight:750; color:var(--rm-navy); }
.rm-shop-product { margin:0 0 30px; background:white; border:1px solid #d6e3ef; border-radius:20px; box-shadow:var(--rm-shadow); min-width:0; scroll-margin-top:24px; }
.rm-shop-product-header { display:flex; align-items:center; justify-content:space-between; gap:24px; padding:24px 28px; border-top:5px solid var(--shop-accent); border-radius:20px 20px 0 0; background:var(--shop-tint); }
.rm-shop-product-header h2 { color:var(--rm-navy); margin:0; font-size:clamp(22px,2.2vw,30px); line-height:1.2; letter-spacing:-.025em; }
.rm-shop-back { color:var(--shop-accent); font-size:13px; font-weight:750; text-decoration:underline; text-underline-offset:3px; white-space:nowrap; }
.rm-shop-embed-wrap { min-width:0; padding:20px; }
.rm-shop .payhip-embed-page { width:100%; min-width:0; }
/* Do not set a fixed iframe height or clip overflow: Payhip owns its resize behaviour. */
.rm-shop .payhip-embed-page iframe { display:block; width:100%; max-width:100%; border:0; }
.rm-shop-loading { margin:0; padding:32px 20px; text-align:center; color:var(--rm-muted); background:#f7fafc; border:1px dashed #cbd9e6; border-radius:12px; font-size:15px; }
.rm-shop-product-footer { display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:14px; margin:0 28px; padding:18px 0 22px; border-top:1px solid #e1eaf2; }
.rm-shop-product-footer p { color:var(--rm-muted); font-size:14px; margin:0; }
.rm-shop-button { display:inline-flex; align-items:center; justify-content:center; gap:12px; min-height:44px; padding:10px 16px; background:var(--shop-tint); color:var(--shop-accent); font-weight:850; font-size:14px; border:1px solid currentColor; border-radius:10px; text-decoration:none; }
.rm-shop-button:hover { color:white; background:var(--shop-accent); }
.rm-shop-help { display:flex; justify-content:space-between; align-items:center; gap:28px; margin-top:44px; padding:28px; border:1px solid #d8e4ef; border-radius:18px; background:white; }
.rm-shop-help>div { max-width:850px; }
.rm-shop-help>.rm-button { flex-shrink:0; }
.rm-shop-noscript { padding:20px; background:#fff5df; border-radius:12px; }
.rm-shop a:focus-visible, .rm-shop-skip:focus-visible { outline:3px solid #bd6800; outline-offset:5px; }
.rm-shop-skip { position:absolute; top:0; left:20px; z-index:10000; transform:translateY(-140%); padding:12px 18px; background:#fff; color:#102f55; border-radius:0 0 8px 8px; }
.rm-shop-skip:focus { transform:translateY(0); }
.rm-shop-sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
#choose-title { scroll-margin-top:24px; }
@media(max-width:1000px){.rm-shop-intro{align-items:flex-start;flex-direction:column;gap:12px}.rm-shop-course{padding:20px}.rm-shop-course h3{font-size:23px}.rm-shop-format-note{align-items:flex-start;flex-direction:column;gap:10px}.rm-shop-product-header{align-items:flex-start;flex-direction:column;gap:15px}}
@media(max-width:700px){.rm-shop-courses{grid-template-columns:minmax(0,1fr);gap:14px}.rm-shop-course h3{margin-top:16px}.rm-shop-course h3 br{display:none}.rm-shop-course p{margin-bottom:18px}.rm-shop-product-header{padding:20px 18px}.rm-shop-embed-wrap{padding:14px 8px}.rm-shop-product-footer{margin-inline:18px}.rm-shop-product-footer a{width:100%}.rm-shop-help{align-items:flex-start;flex-direction:column;padding:22px}.rm-shop-loading{padding:26px 15px}.rm-shop-format-note{margin-bottom:28px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.rm-shop-course{transition:none}}

/* Cover-first book disclosures. Native details/summary remains usable without JavaScript. */
.rm-shop-course-shortcuts{display:flex;flex-wrap:wrap;gap:10px;margin:20px 0}
.rm-shop-course-shortcuts a{color:var(--shop-accent);background:#fff;border:1px solid currentColor;border-radius:999px;padding:10px 24px;min-height:44px;font-weight:850;text-decoration:none}
.rm-shop-course-shortcuts a:hover{background:var(--shop-tint)}
.rm-shop-book{min-width:0}
.rm-shop-book-summary{list-style:none;display:grid;grid-template-columns:minmax(120px,190px) minmax(0,1fr);align-items:center;gap:36px;padding:26px 32px;cursor:pointer;border-radius:0 0 20px 20px}
.rm-shop-book-summary::-webkit-details-marker{display:none}
.rm-shop-book-summary::marker{content:""}
.rm-shop-book-summary:hover{background:var(--shop-tint)}
.rm-shop-book-summary:focus-visible{outline:3px solid #bd6800;outline-offset:-5px}
.rm-shop-cover-wrap{display:block;min-width:0}
.rm-shop .rm-shop-cover{display:block;width:100%;height:auto;object-fit:contain;border-radius:4px;box-shadow:0 10px 24px rgba(16,47,85,.15)}
.rm-shop-book-info{display:flex;flex-direction:column;align-items:flex-start;gap:12px;min-width:0}
.rm-shop-book-name{display:block;font-size:clamp(23px,2.6vw,34px);line-height:1.12;letter-spacing:-.025em;font-weight:850;color:var(--rm-navy)}
.rm-shop-book-teaser{display:block;max-width:650px;font-size:17px;color:var(--rm-muted)}
.rm-shop-book-format{display:block;font-size:13px;font-weight:750;color:var(--rm-muted)}
.rm-shop-disclosure{display:inline-flex;align-items:center;min-height:46px;margin-top:8px;padding:11px 22px;border:1px solid var(--shop-accent);border-radius:10px;background:var(--shop-accent);color:white;font-weight:850;font-size:15px}
.rm-shop-disclosure span[aria-hidden]{margin-left:15px}
.rm-shop-see-less{display:none}
.rm-shop-book[open] .rm-shop-see-more{display:none}
.rm-shop-book[open] .rm-shop-see-less{display:inline}
.rm-shop-book[open]>.rm-shop-book-summary{border-radius:0;background:var(--shop-tint)}
.rm-shop-expanded{min-width:0;border-top:1px solid #d6e3ef}
.rm-shop-book-description{padding:24px 28px 0;color:var(--rm-muted);max-width:960px}
.rm-shop-book-description h3{margin:0 0 12px;color:var(--rm-navy);font-size:22px}
.rm-shop-book-description p{margin:0 0 12px}
.rm-shop-book-description ul{padding-left:22px;margin:0 0 10px}
.rm-shop-book-description li{margin:6px 0}
@media(max-width:700px){.rm-shop-book-summary{grid-template-columns:minmax(0,1fr);gap:22px;padding:24px 20px}.rm-shop-cover-wrap{width:min(230px,100%);justify-self:center}.rm-shop-book-info{align-items:center;text-align:center}.rm-shop-book-description{padding:22px 18px 0}.rm-shop-book-name{font-size:27px}.rm-shop-book-teaser{font-size:16px}.rm-shop-course-shortcuts a{padding:10px 20px}}
