.physics-pack { display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:12px; margin:0 0 16px; padding:15px; border:1px solid var(--scene-line,#a17daf77); border-radius:14px; background:#a77cb223; }
.physics-pack p,.physics-pack h4,.physics-pack h5 { margin:0; }
.physics-shop-buy,.physics-shop-preview,.physics-shop-pagination button,.physics-shop-close { display:inline-block; font:inherit; cursor:pointer; border-radius:999px; padding:8px 14px; border:1px solid #ba94c7; }
.physics-shop-buy { background:#edc8eb; color:#34223d; font-weight:700; }
.physics-shop-preview,.physics-shop-pagination button,.physics-shop-close { background:transparent; color:inherit; }
.physics-shop-actions { display:flex; flex-wrap:wrap; align-items:center; gap:8px; margin:10px 0; }
.physics-shop-price { font-weight:700; }
.physics-shop-dialog { box-sizing:border-box; width:min(690px,94vw); max-height:90vh; padding:0; color:#fff0fc; background:#241c34; border:1px solid #ae89bf; border-radius:20px; overflow:auto; }
.light-theme .physics-shop-dialog { background:#fff5fc; color:#382640; }
.physics-shop-dialog::backdrop { background:#100b1bb8; }
.physics-shop-dialog-inner { position:relative; padding:clamp(16px,4vw,30px); }
.physics-shop-dialog-inner h2 { margin:4px 36px 8px 0; }
.physics-shop-kicker,.physics-shop-note { font-size:13px; }
.physics-shop-close { position:absolute; top:12px; right:12px; }
.physics-shop-page { width:100%; height:auto; display:block; border-radius:5px; background:white; }
.physics-shop-pagination { display:flex; justify-content:space-between; align-items:center; gap:8px; margin:12px 0; }
.physics-shop-pagination button:disabled { opacity:.4; cursor:default; }
.physics-shop-dialog [hidden] { display:none; }
.dialog-layout#topic-detail { grid-template-columns:1fr; }
#topic-grid .physics-shop-price { display:block; margin-block:6px; font-size:14px; }

/* Let the logo, navigation and actions share one row on wider screens. */
header.shell nav {
  display:grid;
  grid-template-columns:auto minmax(0,1fr) auto auto;
  gap:clamp(10px,2vw,24px);
  align-items:center;
}
header.shell nav .logo { display:flex; align-items:center; white-space:nowrap; gap:6px; }
header.shell nav .brand-emblem img { object-fit:contain; }
header.shell nav .links { display:flex; justify-content:center; gap:clamp(10px,2vw,24px); }
header.shell nav .links a,header.shell nav > a[href="/students.html"] { white-space:nowrap; font-size:13px; }
header.shell nav .navcta { white-space:nowrap; padding:10px 14px; }
.alevel-cover-card:has([data-physics-order]),.physics-pack,.physics-shop-dialog {
  --shop-halo:#d887e54d;
  --shop-edge:#cb99d698;
  border-color:var(--shop-edge);
  box-shadow:0 0 22px var(--shop-halo);
}
.light-theme :is(.alevel-cover-card:has([data-physics-order]),.physics-pack,.physics-shop-dialog) {
  --shop-halo:#a171d445;
  --shop-edge:#a971ba92;
}
.physics-shop-buy {
  background:linear-gradient(115deg,#f9d4ef,#d3bbfa);
  box-shadow:0 0 16px #d28be660;
}
.physics-shop-buy:hover,.physics-shop-buy:focus-visible { box-shadow:0 0 26px #e2a2f0a3; }
.physics-shop-dialog[open] { animation:physics-shop-aura 3.5s ease-in-out infinite alternate; }
@keyframes physics-shop-aura {
  from { box-shadow:0 0 16px var(--shop-halo); }
  to { box-shadow:0 0 38px var(--shop-halo),0 0 14px var(--shop-halo); }
}
@media(max-width:860px) {
  header.shell nav { grid-template-columns:minmax(0,1fr) auto auto; height:auto; padding-block:12px; gap:10px; }
  header.shell nav .links { grid-column:1/-1; grid-row:2; flex-wrap:wrap; }
}
@media(max-width:430px) {
  header.shell nav { grid-template-columns:minmax(0,1fr) auto; }
  header.shell nav .navcta { grid-row:2; grid-column:2; font-size:11px; }
  header.shell nav .links { grid-column:1; justify-content:start; }
  header.shell nav .links a { font-size:11px; }
  header.shell nav .logo { font-size:13px; gap:3px; }
}
@media(prefers-reduced-motion:reduce) { .physics-shop-dialog[open] { animation:none; } }
