/* Owner-approved four fixed, equal-width navigation links. */
.public-nav{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr));align-items:stretch;gap:10px;width:100%;max-width:100%;padding:12px 24px;direction:rtl;font-family:inherit;font-size:17px;font-weight:700;line-height:1.8;border-block:1px solid #e7e2d8;background:#fff;color:#17212d;box-sizing:border-box;overflow:visible;touch-action:pan-y}
.public-nav a{display:flex;align-items:center;justify-content:center;min-width:0;min-height:54px;box-sizing:border-box;color:inherit;text-decoration:none;padding:10px 8px;white-space:nowrap;border-bottom:3px solid transparent;border-radius:7px;text-align:center;background:#faf9f6}.public-nav a:hover{color:#886511;background:#fbf3de}.public-nav a[aria-current="page"]{color:#77570e;background:#fbf3de;border-bottom-color:#b88b20}.public-nav a:focus-visible{outline:3px solid #bc922f;outline-offset:-2px}
.site-header:has(.public-nav){flex-wrap:wrap}.site-header .public-nav{flex-basis:100%;order:3;width:100%;box-sizing:border-box}
.footer-links{display:flex;flex-wrap:wrap;justify-content:center;gap:12px 22px}.footer-links a{white-space:nowrap}.footer-links a[data-footer-info]{font-weight:700}
@media(max-width:850px){.public-nav{gap:4px;padding:9px 8px;font-size:clamp(12px,3.6vw,15px)}.public-nav a{padding:10px 3px;min-height:50px}.site-header .public-nav{padding-inline:0}.site-header:has(.public-nav){height:auto;gap:10px;position:static}}

@media(max-width:360px){.public-nav{font-size:11px}.public-nav a{padding-inline:1px}}

.school-cart-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}
.school-cart-trigger {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  min-height: 44px;
  padding: 6px 10px;
  box-sizing: border-box;
  border: 1px solid #d6c59e;
  border-radius: 10px;
  background: #fff;
  color: #102742;
  font-weight: 700;
  text-decoration: none;
  white-space: nowrap;
}
.school-cart-trigger svg { width: 20px; height: 20px; }
.school-cart-trigger b {
  display: grid;
  place-items: center;
  min-width: 24px;
  height: 24px;
  border-radius: 50%;
  background: #102742;
  color: #fff;
  font-size: 13px;
}
.store-card .school-buy-book, .book-choice .school-buy-book {
  min-height: 46px;
  border: 1px solid #bc922f;
  border-radius: 9px;
  background: #f0c665;
  color: #102742;
  padding: 8px 12px;
  font: inherit;
  font-weight: 700;
  cursor: pointer;
}
.store-card .school-buy-book { width: 100%; margin: 8px 0; }
.store-card .school-buy-book:hover, .book-choice .school-buy-book:hover { background: #e9b84e; }
.store-card label.pick, .book-choice button[data-add-book] {
  background: #e6d3a6;
  border: 1px solid #ad8a46;
  color: #102742;
  font-weight: 700;
  cursor: pointer;
}
.store-card label.pick:has(:checked), .book-choice button[data-add-book][aria-pressed="true"] { background: #d6bb80; }
.book-choice .choice-status:empty, .school-book-summary[hidden] { display: none; }
.builder-summary [data-quote-status] {
  grid-column: 1 / -1;
  padding: 6px 9px;
  border-radius: 7px;
  background: #f6edd4;
  color: #102742;
  font-weight: 700;
}
.builder-summary .school-more-offers {
  grid-column: 1 / -1;
  justify-self: center;
  color: #102742;
  font-size: 13px;
  font-weight: 700;
  text-decoration: underline;
}
.school-cart-trigger:focus-visible, .school-buy-book:focus-visible, .store-card label.pick:focus-within {
  outline: 2px solid #102742;
  outline-offset: 2px;
}
@media (max-width: 520px) {
  .school-cart-trigger { gap: 5px; padding-inline: 7px; font-size: 13px; }
  .school-cart-trigger svg { width: 17px; height: 17px; }
  .store-card .school-buy-book { padding-inline: 4px; font-size: 14px; }
  .store-card label.pick { font-size: 11px; }
}

body:has(#rc-checkout) { overflow-x: clip; }
main:has(#rc-checkout) {
  box-sizing: border-box;
  width: min(100%, 950px);
  min-width: 0;
  margin-inline: auto;
  padding-inline: clamp(12px, 4vw, 32px);
}
main:has(#rc-checkout) .checkout-page { box-sizing: border-box; width: 100%; padding: 0; min-width: 0; }
#checkout-summary { display: grid; gap: 16px; }
#checkout-summary > section, .checkout-page #rc-checkout {
  min-width: 0;
  padding: clamp(14px, 3vw, 24px);
  border: 1px solid #e4d8bb;
  border-radius: 12px;
  background: #fff;
}
#checkout-summary h2, #rc-checkout h2 { margin-block: 0 8px; font-size: 1.25rem; }
#checkout-summary p { margin-block: 0 8px; }
#checkout-summary .checkout-book-row {
  display: grid;
  grid-template-columns: auto minmax(0,1fr) auto;
  align-items: center;
  gap: 10px;
  padding: 10px 0;
  border-block-end: 1px solid #eee8db;
  cursor: pointer;
}
.checkout-book-row span { overflow-wrap: anywhere; }
.checkout-book-row strong { white-space: nowrap; }
#checkout-summary input[type="checkbox"] { width: 18px; height: 18px; padding: 0; margin: 0; accent-color: #102742; }
#checkout-removed { margin-block-start: 10px; color: #5e6470; }
#checkout-removed summary { cursor: pointer; font-weight: 700; }
.checkout-breakdown { display: grid; gap: 6px; margin: 0; }
.checkout-breakdown > div { display: flex; justify-content: space-between; gap: 10px; padding: 6px 0; }
.checkout-breakdown > div:last-child { padding: 10px; border-radius: 8px; background: #f6edd4; font-weight: 700; }
.checkout-breakdown dd { margin: 0; text-align: end; }
#checkout-quote-status:empty, #checkout-status:empty, .checkout-field-error:empty { display: none; }
.checkout-page #rc-checkout { margin-inline: 0; grid-template-columns: minmax(0,1fr); }
#rc-checkout label { display: block; min-width: 0; }
#rc-checkout input { display: block; width: 100%; box-sizing: border-box; margin: 4px 0 0; }
#rc-checkout input[aria-invalid="true"] { border-color: #b42318; background: #fff4f3; outline-color: #b42318; }
.checkout-field-error { display: block; color: #a61e16; font-size: .875rem; }
#checkout-status { margin: 0; overflow-wrap: anywhere; }

/* Keep the original logo and replacement basket in the same visual slots. */
.site-header > .brand { order: 1; }
.site-header > .cart-trigger,
.site-header > .school-cart-trigger { order: 2; }
.site-header > .public-nav { order: 3; }

/* Approved article list. Every published article uses the same card. */
.articles-page .articles-page-intro { min-height:205px; padding-block:35px; }
.articles-page .article-catalog { padding-block:35px 52px; }
.articles-page .article-catalog .section-heading { align-items:center; gap:10px; margin-bottom:20px; }
.articles-page .catalog-order { color:#586373; font-size:14px; font-weight:600; white-space:nowrap; }
.articles-page .article-filters { display:flex; flex-wrap:wrap; overflow:visible; gap:8px; }
.articles-page .article-catalog-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
.articles-page .load-more-wrap[hidden] { display:none; }
.articles-page .magazine-card { min-height:420px; border-radius:10px; }
.articles-page .article-thumbnail { height:auto; aspect-ratio:16/9; }
.articles-page .article-thumbnail img { width:100%; height:100%; object-fit:cover; }
.articles-page .magazine-card h3 { font-size:clamp(18px,1.52vw,22px); }
.articles-page .magazine-card-body { padding:18px 20px; }
.articles-page .magazine-card .text-button { align-self:flex-start; }
@media(min-width:691px) and (max-width:1000px) {
  .articles-page .article-catalog-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media(max-width:690px) {
  .articles-page .articles-page-intro { min-height:0; padding:30px 20px 24px; }
  .articles-page .articles-page-intro h1 { font-size:34px; }
  .articles-page .article-catalog { padding:22px 18px 35px; }
  .articles-page .article-catalog .section-heading { display:flex; margin-bottom:15px; }
  .articles-page .article-catalog .section-heading h2 { font-size:27px; }
  .articles-page .article-filters { gap:6px; }
  .articles-page .article-filters .filter-button { padding-inline:10px; min-height:37px; }
  .articles-page .article-catalog-grid { grid-template-columns:minmax(0,1fr); gap:16px; }
  .articles-page .magazine-card { min-height:0; }
  .articles-page .magazine-card h3 { font-size:21px; }
}

/* Match the approved homepage header dimensions exactly on legacy pages. */
:is(.articles-page,.financial-calculator-page) > .site-header {
 max-width:1160px; width:100%; margin-inline:auto; padding:20px 28px; box-sizing:border-box;
}
:is(.articles-page,.financial-calculator-page) > .site-header .brand-logo {
 width:230px; height:auto; max-height:none; max-width:none;
}
@media(max-width:760px) {
 :is(.articles-page,.financial-calculator-page) > .site-header { padding:16px 18px; }
 :is(.articles-page,.financial-calculator-page) > .site-header > .brand { min-height:53px; }
 :is(.articles-page,.financial-calculator-page) > .site-header .brand-logo { width:180px; }
}
