/* Auteur CMS v6: accessible public theme and calm, task-focused editing UI. */
:root {
  --theme-primary: var(--v5-green, #193029);
  --theme-secondary: var(--v5-paper, #f7f5ef);
  --theme-accent: var(--v5-accent, #c84f32);
  --theme-body: Georgia, serif;
  --theme-heading: Georgia, serif;
  --cms-border: #d9d7cf;
  --cms-muted: #686b66;
  --cms-surface: #fff;
  --cms-soft: #f5f4ef;
}

body { font-family: var(--theme-body); font-size: 16px; line-height: 1.65; }
h1, h2, h3, h4, h5, h6 { font-family: var(--theme-heading); line-height: 1.15; }
.kicker, .eyebrow, .meta, small, .small, .utility-bar, .footer-heading { font-size: max(12px, .75rem); }
a:focus-visible, button:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible, summary:focus-visible { outline: 3px solid color-mix(in srgb, var(--theme-accent) 70%, white); outline-offset: 3px; }
button, .button, input, select, textarea { font: inherit; }
button, .button { min-height: 42px; }

/* Nested public navigation */
.primary-nav .nav-entry { position: relative; display: inline-flex; align-items: center; }
.primary-nav .has-submenu > a::after { content: "⌄"; margin-left: .4rem; font-size: .9em; }
.primary-nav .submenu { position: absolute; z-index: 40; top: calc(100% + .75rem); left: 0; display: none; min-width: 220px; padding: .65rem; border: 1px solid rgba(25,48,41,.14); background: #fff; box-shadow: 0 18px 40px rgba(15,31,26,.14); }
.primary-nav .submenu a { display: block; padding: .6rem .75rem; white-space: nowrap; }
.primary-nav .has-submenu:hover .submenu, .primary-nav .has-submenu:focus-within .submenu { display: block; }

/* Public visual-builder sections */
.builder-section { width: min(1180px, calc(100% - 48px)); margin: 0 auto; padding: clamp(56px, 8vw, 110px) 0; }
.builder-section + .builder-section { border-top: 1px solid rgba(25,48,41,.16); }
.builder-section .builder-copy { max-width: 760px; }
.builder-section h1 { font-size: clamp(2.7rem, 7vw, 6.4rem); margin: .2em 0; }
.builder-section h2 { font-size: clamp(2rem, 4vw, 4rem); margin: .25em 0 .45em; }
.builder-section p { font-size: clamp(1rem, 1.4vw, 1.18rem); }
.builder-hero { min-height: 64vh; display: grid; align-items: end; grid-template-columns: minmax(0, 1.2fr) minmax(260px, .8fr); gap: clamp(32px, 6vw, 90px); }
.builder-hero img, .builder-image-text img { width: 100%; height: min(620px, 60vh); object-fit: cover; }
.builder-image-text { display: grid; grid-template-columns: minmax(280px, .9fr) minmax(0, 1.1fr); gap: clamp(32px, 7vw, 100px); align-items: center; }
.builder-callout { width: min(1240px, calc(100% - 32px)); padding-inline: clamp(28px, 7vw, 100px); background: var(--theme-primary); color: #fff; }
.builder-callout .button { margin-top: 1rem; background: #fff; color: var(--theme-primary); }
.builder-links nav { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 1px; margin-top: 2rem; background: rgba(25,48,41,.18); }
.builder-links nav a { display: flex; justify-content: space-between; gap: 1rem; padding: 1.4rem; background: var(--theme-secondary); font-weight: 700; }

/* Visual page editor */
.page-builder-page { max-width: none; padding: 0; }
.builder-topbar { position: sticky; z-index: 30; top: 74px; display: grid; grid-template-columns: 1fr auto 1fr; gap: 1rem; align-items: center; padding: 12px 20px; border-bottom: 1px solid var(--cms-border); background: rgba(255,255,255,.96); backdrop-filter: blur(12px); }
.builder-topbar > div { display: flex; align-items: center; gap: .7rem; }
.builder-topbar > div:last-child { justify-content: flex-end; }
.builder-history-controls button, .preview-toolbar button, .block-actions button, .drag-handle, .block-inserter button { min-height: 36px; border: 1px solid var(--cms-border); background: #fff; padding: .4rem .7rem; cursor: pointer; }
.builder-settings-bar { display: grid; grid-template-columns: 2fr 1fr 160px auto; gap: 14px; align-items: end; padding: 18px 22px; border-bottom: 1px solid var(--cms-border); background: var(--cms-soft); }
.builder-settings-bar label, .builder-page-settings label, .builder-block-fields label { display: grid; gap: 6px; font-size: 13px; font-weight: 700; }
.builder-settings-bar input, .builder-settings-bar select, .builder-page-settings input, .builder-page-settings textarea, .builder-block-fields input, .builder-block-fields textarea { width: 100%; border: 1px solid #c8c7c0; background: #fff; padding: 10px 11px; color: #171917; }
.builder-settings-bar details { position: relative; }
.builder-settings-bar summary { min-height: 42px; display: flex; align-items: center; cursor: pointer; font-weight: 700; }
.builder-page-settings { position: absolute; z-index: 25; right: 0; top: calc(100% + 8px); width: min(430px, 88vw); display: grid; gap: 13px; padding: 18px; border: 1px solid var(--cms-border); background: #fff; box-shadow: 0 18px 50px rgba(0,0,0,.14); }
.visual-builder { display: grid; grid-template-columns: minmax(430px, .9fr) minmax(520px, 1.1fr); min-height: 700px; background: #e8e8e3; }
.builder-canvas-panel { padding: 20px; overflow: auto; }
.block-inserter { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin-bottom: 14px; }
.block-inserter span { margin-right: 6px; font-size: 13px; font-weight: 800; }
.builder-block-list { display: grid; gap: 12px; }
.builder-block-card { border: 1px solid var(--cms-border); border-radius: 8px; background: #fff; box-shadow: 0 2px 8px rgba(0,0,0,.04); overflow: hidden; }
.builder-block-card.dragging { opacity: .45; }
.builder-block-card > header { display: grid; grid-template-columns: auto 1fr auto; gap: 12px; align-items: center; padding: 12px; border-bottom: 1px solid #ecebe6; background: #fafaf7; }
.builder-block-card header > div:nth-child(2) { display: grid; }
.builder-block-card header span { font-size: 12px; color: var(--cms-muted); }
.builder-block-card header strong { text-transform: capitalize; }
.drag-handle { cursor: grab; font-size: 18px; }
.block-actions { display: flex; flex-wrap: wrap; gap: 5px; justify-content: flex-end; }
.builder-block-fields { display: grid; grid-template-columns: 1fr 1fr; gap: 13px; padding: 16px; }
.builder-block-fields label:has(textarea) { grid-column: 1 / -1; }
.builder-preview-panel { position: sticky; top: 136px; height: calc(100vh - 136px); display: grid; grid-template-rows: auto 1fr; padding: 14px; background: #30332f; overflow: auto; }
.preview-toolbar { display: flex; align-items: center; justify-content: space-between; padding: 0 0 11px; color: #fff; }
.preview-toolbar div { display: flex; gap: 5px; }
.preview-toolbar button.active { background: var(--theme-accent); color: #fff; border-color: var(--theme-accent); }
#builder-preview { width: 100%; height: 100%; min-height: 650px; margin: 0 auto; border: 0; background: #fff; transition: width .2s; }
#builder-preview[data-size="tablet"] { width: 768px; max-width: 100%; }
#builder-preview[data-size="mobile"] { width: 390px; max-width: 100%; }
.visual-builder.preview-focus { grid-template-columns: 1fr; }
.visual-builder.preview-focus .builder-canvas-panel { display: none; }
.version-panel { display: grid; grid-template-columns: minmax(220px,.7fr) minmax(0,1.3fr); gap: 34px; padding: 38px 22px; background: #fff; }
.version-list { display: grid; gap: 8px; }
.version-list article { display: flex; justify-content: space-between; align-items: center; gap: 14px; padding: 14px; border: 1px solid var(--cms-border); }
.version-list article > div { display: grid; }

/* Menu editor, branding, resources and meetings */
.cms-toolbar { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 14px; margin-bottom: 22px; }
.menu-location-tabs { display: flex; flex-wrap: wrap; gap: 7px; }
.menu-location-tabs a { padding: .65rem .9rem; border: 1px solid var(--cms-border); background: #fff; }
.menu-location-tabs a.active { background: var(--theme-primary); color: #fff; }
.menu-editor-grid { display: grid; grid-template-columns: minmax(280px,.65fr) minmax(450px,1.35fr); gap: 22px; }
.menu-sortable { display: grid; gap: 9px; }
.menu-row { display: grid; grid-template-columns: auto minmax(130px,1fr) minmax(160px,1.2fr) 150px 110px auto; align-items: end; gap: 10px; padding: 13px; border: 1px solid var(--cms-border); background: #fff; }
.menu-row.is-child { margin-left: 34px; border-left: 4px solid var(--theme-accent); }
.menu-row label { display: grid; gap: 4px; font-size: 12px; font-weight: 700; }
.menu-row input, .menu-row select { min-width: 0; width: 100%; padding: 8px; border: 1px solid #ccc; }
.theme-settings-grid { display: grid; grid-template-columns: minmax(0,1.3fr) minmax(280px,.7fr); gap: 24px; }
.theme-preview { position: sticky; top: 90px; padding: 34px; color: var(--preview-primary); background: var(--preview-secondary); border-top: 12px solid var(--preview-accent); }
.theme-preview .preview-button { display: inline-block; margin-top: 14px; padding: 10px 16px; color: #fff; background: var(--preview-primary); }
.settings-group { margin-bottom: 16px; padding: 22px; border: 1px solid var(--cms-border); background: #fff; }
.settings-group .form-grid { margin-top: 14px; }
.resource-fields { display: grid; grid-template-columns: 1.2fr .8fr .8fr .6fr; gap: 12px; }
.resource-card-actions { display: grid; gap: 8px; margin-top: 12px; }
.meeting-layout { display: grid; grid-template-columns: minmax(0,1fr) minmax(280px,.6fr); gap: clamp(32px,7vw,90px); }
.meeting-status { display: inline-flex; padding: .3rem .6rem; border-radius: 999px; background: #eee; font-size: 12px; font-weight: 800; }

@media (max-width: 1100px) {
  .visual-builder { grid-template-columns: 1fr; }
  .builder-topbar { top: 66px; }
  .builder-preview-panel { position: relative; top: 0; height: 760px; }
  .menu-editor-grid, .theme-settings-grid { grid-template-columns: 1fr; }
  .theme-preview { position: static; }
  .menu-row { grid-template-columns: auto 1fr 1fr; }
}

@media (max-width: 1380px) and (min-width: 981px) {
  .masthead-row { grid-template-columns: auto minmax(0,1fr) auto; gap: 20px; }
  .masthead-row .header-search { display: none; }
  .masthead-row .primary-nav { gap: clamp(12px, 1.35vw, 20px); }
  .masthead-row .primary-nav .nav-entry:last-child { display: none; }
}

@media (max-width: 760px) {
  body { font-size: 16px; }
  .builder-section { width: min(100% - 30px, 1180px); padding-block: 52px; }
  .builder-hero, .builder-image-text, .meeting-layout { grid-template-columns: 1fr; }
  .builder-topbar { position: relative; grid-template-columns: 1fr; }
  .builder-topbar > div:last-child { justify-content: flex-start; flex-wrap: wrap; }
  .builder-settings-bar, .builder-block-fields, .version-panel, .resource-fields { grid-template-columns: 1fr; }
  .builder-block-fields label:has(textarea) { grid-column: auto; }
  .builder-block-card > header { grid-template-columns: auto 1fr; }
  .block-actions { grid-column: 1 / -1; justify-content: flex-start; }
  .menu-row { grid-template-columns: 1fr; }
  .menu-row.is-child { margin-left: 16px; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; }
}

/* Lex & Juris identity and compact, practical footer */
.masthead-row .wordmark img { width: auto; max-width: 220px; max-height: 68px; object-fit: contain; }
.publisher-footer { padding-top: 0; }
.publisher-footer .footer-overview { display: grid; grid-template-columns: minmax(150px, 210px) minmax(0, 1fr); align-items: center; gap: clamp(24px, 4vw, 56px); padding: 42px 7vw 32px; border-bottom: 1px solid rgba(255,255,255,.18); }
.publisher-footer .footer-logo { display: block; width: 100%; }
.publisher-footer .footer-logo img { display: block; width: 100%; max-height: 72px; object-fit: contain; object-position: left center; }
.publisher-footer .footer-overview strong { display: block; color: #fff; font-family: var(--theme-heading); font-size: clamp(1.25rem, 2vw, 1.8rem); }
.publisher-footer .footer-overview p { max-width: 620px; margin: 6px 0 0; color: rgba(255,255,255,.7); font-size: 15px; }
.publisher-footer .footer-links { padding-top: 38px; padding-bottom: 38px; }
.publisher-footer .footer-links p { color: rgba(255,255,255,.58); }
.publisher-footer .footer-links a { color: rgba(255,255,255,.9); }
.publisher-footer .footer-links a:hover { color: #fff; text-decoration: underline; text-underline-offset: 4px; }
.publisher-footer .footer-socials { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 8px; }
.publisher-footer .footer-socials:empty { display: none; }
.publisher-footer .footer-socials a { padding: 7px 10px; border: 1px solid rgba(255,255,255,.28); border-radius: 999px; font-family: var(--theme-body); font-size: 12px; }
.settings-help { margin: 12px 0 0; color: var(--cms-muted); font-size: 13px; }
html[lang="ne"] body:not(.admin-body) { line-height: 1.75; }
@media (max-width: 800px) {
  .masthead-row .wordmark img { max-width: 154px; max-height: 54px; }
  .publisher-footer .footer-overview { grid-template-columns: 1fr; padding-inline: 24px; }
  .publisher-footer .footer-logo { width: min(190px, 70vw); }
  .publisher-footer .footer-links { grid-template-columns: 1fr !important; }
  .publisher-footer .footer-links > div:last-child { grid-column: auto; margin-top: 0; }
  .publisher-footer .footer-links, .publisher-footer .footer-bottom { padding-left: 24px; padding-right: 24px; }
}

/* Readability floor: the inherited theme previously used 8–11px editorial labels. */
body:not(.admin-body) :where(.wordmark small,.masthead-actions span,.desktop-nav,.header-actions,.mobile-drawer nav small,.eyebrow,.button,.line-link,.vertical-note,.hero-caption span,.marquee,.kicker,.cover small,.cover i,.manifesto-number,.paper-stack small,.essay-index,.essay-meta,.newsletter label,.newsletter small,.footer-links p,.footer-bottom,.filter-links,.book-cover small,.book-cover b,.publication-meta p,.mini-button,.stock-note,.utility-bar,.primary-nav,.event-meta span,.news-grid article>div>p) { font-size: 12px !important; }
.admin-body :where(.admin-brand span,.admin-create-menu p,.admin-nav-group>p,.admin-user-card small,.admin-user-card a,.admin-page-context span,.dashboard-quick-start a span,.admin-stats p,.panel-heading p,.status-badge,.text-button,.admin-list-tools label span,.editor-toolbar p,.resource-help-grid p,.media-grid p,.resource-path input,small) { font-size: 12px !important; }

/* Version 7: wider canvas, assured contrast, prices, cart and publication commerce detail */
body:not(.admin-body) { padding: 16px; color: #1c211f; }
body:not(.admin-body) .site-shell { width: min(1600px, 100%); }
.mobile-drawer { left: max(16px, calc((100vw - 1600px) / 2 + 16px)); right: max(16px, calc((100vw - 1600px) / 2 + 16px)); }
.button-dark { background: var(--v5-green); color: var(--theme-primary-contrast, #fff); }
.button-dark:hover { background: var(--v5-accent); color: var(--theme-accent-contrast, #fff); }
.button-outline { color: #1c211f; background: #fffdfa; }
.button-outline:hover { color: var(--theme-primary-contrast, #fff); }
.builder-callout, .menu-location-tabs a.active { color: var(--theme-primary-contrast, #fff); }
.publisher-footer .footer-links p { color: rgba(255,255,255,.82); }
.publisher-footer .footer-overview p { color: rgba(255,255,255,.82); }
.publisher-footer .footer-bottom { color: rgba(255,255,255,.86); }
.catalog-cta, .publisher-highlight, .hero-discovery { color: #fff; }
.publication-excerpt, .book-description, .book-synopsis p, .purchase-note, .cart-summary p { color: #4b504d; }
.admin-logout-form { margin: 0; }
.admin-logout-form button { padding: 0; border: 0; background: none; color: #c8d5cf; cursor: pointer; font: inherit; font-size: 12px; }
.admin-logout-form button:hover { color: #fff; text-decoration: underline; }

.card-price { display: flex; align-items: baseline; flex-wrap: wrap; gap: 7px; margin: 11px 0 2px; }
.card-price strong { color: #111b3b; font-size: 17px; }
.card-price del { color: #676c69; font-size: 13px; }
.card-price em { padding: 2px 6px; border-radius: 999px; background: #f4dedf; color: #76141d; font: 700 11px var(--theme-body); }
.admin-book-price { display: grid; gap: 2px; white-space: nowrap; }
.admin-book-price strong { color: #17231e; }
.admin-book-price del, .admin-book-price em { color: #66706a; font-size: 11px; }
.price-contact { color: #575c59; font-size: 13px; font-weight: 700; }
.publication-actions form, .card-buttons form { margin: 0; }
.publication-actions .mini-button { border: 1px solid var(--v5-green); background: var(--v5-green); color: var(--theme-primary-contrast, #fff); cursor: pointer; }

.book-commerce-detail { display: grid; grid-template-columns: minmax(220px, .72fr) minmax(440px, 1.55fr) minmax(280px, .78fr); gap: clamp(28px, 3.2vw, 58px); align-items: start; padding: clamp(48px, 6vw, 90px) clamp(28px, 4vw, 70px) clamp(70px, 8vw, 120px); background: var(--v5-surface); }
.book-visual-column, .book-purchase-card { position: sticky; top: 138px; }
.book-detail-cover { position: static; }
.book-detail-cover .book-cover.jumbo { width: 100%; max-width: 340px; margin: 0 auto; }
.book-detail-badges { margin-top: 16px; }
.book-share-row { display: flex; flex-wrap: wrap; justify-content: center; gap: 10px; margin: 28px 0 24px; }
.share-button { width: 40px; height: 40px; display: grid; place-items: center; border: 1px solid #ccd2ce; border-radius: 50%; background: #fff; color: #17201c; font-weight: 800; font-size: 13px; cursor: pointer; }
.share-button:hover { border-color: var(--v5-accent); color: var(--v5-accent); transform: translateY(-2px); }
.book-genres { display: flex; flex-wrap: wrap; gap: 6px; padding-top: 20px; border-top: 1px solid var(--v5-line); }
.book-genres strong { width: 100%; margin-bottom: 4px; font-size: 13px; }
.book-genres a { color: #315f7a; font-size: 13px; text-decoration: underline; text-underline-offset: 3px; }
.format-chip { display: inline-flex; padding: 6px 10px; border-radius: 5px; background: #edf0ee; color: #242927; font-size: 12px; font-weight: 800; }
.book-main-column h1 { margin: 14px 0 6px; font-size: clamp(42px, 5vw, 76px); line-height: .98; letter-spacing: -.035em; }
.book-main-column .book-subtitle { margin: 10px 0; font-size: clamp(22px, 2.3vw, 34px); }
.book-main-column .book-author { margin: 8px 0; letter-spacing: 0; text-transform: none; font-size: 16px; }
.book-main-column .book-author a, .sold-by strong { color: #155a8a; }
.book-main-column .book-rating { padding-bottom: 18px; border-bottom: 1px solid var(--v5-line); }
.sold-by { margin: 18px 0 0; }
.book-synopsis { margin-top: 28px; }
.book-synopsis h2, .book-other-info h2 { margin: 0 0 16px; font-size: 28px; }
.book-synopsis p { margin: 0; font-size: 17px; line-height: 1.78; }
.book-other-info { margin-top: 34px; padding-top: 28px; border-top: 1px solid var(--v5-line); }
.book-info-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; }
.book-info-grid > div { min-height: 112px; display: grid; align-content: center; gap: 7px; padding: 16px 11px; border: 1px solid var(--v5-line); border-radius: 7px; background: #fafaf7; text-align: center; }
.book-info-grid span { color: #5c625f; font-size: 12px; }
.book-info-grid strong { overflow-wrap: anywhere; font-size: 13px; }
.book-purchase-card { padding: 24px; border: 1px solid #d7dcd9; border-radius: 8px; background: #fff; box-shadow: 0 16px 40px rgba(17,27,59,.08); }
.book-purchase-card h2 { margin: 0 0 18px; font-size: 20px; }
.delivery-row { display: grid; grid-template-columns: 24px 1fr; gap: 10px; padding: 13px 0; border-bottom: 1px solid #e6e9e7; }
.delivery-row > span { color: var(--v5-accent); }
.delivery-row div { display: grid; }
.delivery-row small { color: #5c625f; line-height: 1.35; }
.purchase-price { padding: 20px 0 15px; }
.detail-price { display: flex; align-items: baseline; flex-wrap: wrap; gap: 9px; }
.detail-price strong { color: #151a18; font-size: 25px; }
.detail-price del { color: #6d726f; }
.detail-price em { padding: 3px 7px; border-radius: 999px; background: #f4dedf; color: #76141d; font: 700 11px var(--theme-body); }
.purchase-price p { margin: 7px 0 0; color: #1f6c45; font-size: 13px; font-weight: 700; }
.quantity-control { display: grid; grid-template-columns: 42px 1fr 42px; align-items: stretch; margin-bottom: 12px; border: 1px solid #d7dcd9; border-radius: 6px; overflow: hidden; }
.quantity-control button { border: 0; background: #f4f5f3; color: #1d2320; font-size: 20px; cursor: pointer; }
.quantity-control label { display: grid; gap: 0; color: #555b58; text-align: center; font-size: 10px; text-transform: uppercase; }
.quantity-control input { width: 100%; min-height: 32px; padding: 0; border: 0; background: #fff; color: #171b19; text-align: center; font-weight: 800; }
.add-cart-button, .book-purchase-card .wishlist-form .button { width: 100%; justify-content: center; }
.book-purchase-card .wishlist-form { margin-top: 10px; }
.purchase-note, .unavailable-note { margin: 15px 0 0; font-size: 12px; line-height: 1.55; }

.compact-hero { min-height: 320px; }
.cart-shell { display: grid; grid-template-columns: minmax(0, 1.4fr) minmax(290px, .6fr); gap: clamp(30px, 5vw, 70px); align-items: start; padding: 64px clamp(28px, 5vw, 78px) 110px; }
.cart-items { display: grid; gap: 0; }
.cart-heading { display: flex; align-items: center; justify-content: space-between; gap: 20px; padding-bottom: 22px; border-bottom: 1px solid var(--v5-line); }
.cart-heading h2 { margin: 0; font-size: 28px; }
.cart-items article { display: grid; grid-template-columns: 90px minmax(0, 1fr) 92px 110px 36px; gap: 20px; align-items: center; padding: 24px 0; border-bottom: 1px solid var(--v5-line); }
.cart-cover .book-cover { width: 90px; margin: 0; }
.cart-title p { margin: 0 0 5px; color: #676d69; font-size: 11px; text-transform: uppercase; }
.cart-title h3 { margin: 0 0 4px; font-size: 22px; }
.cart-title > span { color: #59605c; font-size: 13px; }
.cart-unit-price { display: flex; gap: 8px; margin-top: 8px; }
.cart-unit-price del, .cart-unit-price em { color: #686e6a; font-size: 11px; }
.cart-items article > label { display: grid; gap: 6px; color: #555b58; font-size: 11px; text-transform: uppercase; }
.cart-items article > label input { width: 100%; padding: 10px; border: 1px solid #cfd5d1; background: #fff; color: #171b19; }
.remove-item { width: 34px; height: 34px; border: 1px solid #cfd5d1; border-radius: 50%; background: #fff; color: #6f1b24; cursor: pointer; }
.cart-summary { position: sticky; top: 138px; padding: 28px; border: 1px solid var(--v5-line); background: #fff; }
.cart-summary h2 { margin-top: 0; }
.cart-summary dl { margin: 24px 0; }
.cart-summary dl div { display: flex; justify-content: space-between; gap: 20px; padding: 10px 0; }
.cart-summary dd { margin: 0; font-weight: 800; }
.cart-summary .cart-saving { color: #1f6c45; }
.cart-summary .cart-total { margin-top: 10px; padding-top: 18px; border-top: 1px solid #222; font-size: 19px; }
.cart-summary .button { width: 100%; justify-content: center; margin-top: 10px; }
.cart-empty { grid-column: 1 / -1; padding: 70px 24px; text-align: center; }

@media (max-width: 1180px) {
  .book-commerce-detail { grid-template-columns: minmax(220px, .72fr) minmax(0, 1.3fr); }
  .book-purchase-card { position: static; grid-column: 2; }
  .book-info-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 820px) {
  body:not(.admin-body) { padding: 0; }
  .mobile-drawer { left: 0; right: 0; }
  .book-commerce-detail, .cart-shell { grid-template-columns: 1fr; padding-inline: 24px; }
  .book-visual-column, .book-purchase-card, .cart-summary { position: static; }
  .book-purchase-card { grid-column: auto; }
  .book-detail-cover .book-cover.jumbo { max-width: 290px; }
  .book-main-column h1 { font-size: clamp(40px, 12vw, 62px); }
  .cart-items article { grid-template-columns: 72px minmax(0, 1fr) 36px; gap: 14px; }
  .cart-cover { grid-row: 1 / 3; }
  .cart-cover .book-cover { width: 72px; }
  .cart-title { grid-column: 2; }
  .cart-items article > label { grid-column: 2; }
  .cart-items article > strong { grid-column: 2; }
  .remove-item { grid-column: 3; grid-row: 1; }
}

/* Version 8: checkout, WhatsApp ordering, wishlist and order management */
.stock-urgency { display: inline-flex; align-items: center; gap: 8px; margin-top: 8px; color: #81561d; font-size: 12px; font-weight: 800; }
.stock-urgency.prominent { width: fit-content; margin: 0 0 16px; padding: 9px 13px; border-radius: 999px; background: #f6eddd; }
.stock-urgency span { width: 8px; height: 8px; border-radius: 50%; background: #d6a34f; }
.purchase-actions { display: grid; gap: 12px; }
.purchase-primary-row, .purchase-secondary-row { display: grid; gap: 10px; }
.purchase-primary-row { grid-template-columns: minmax(0, 1fr) 48px; }
.purchase-secondary-row { grid-template-columns: 1fr 1fr; }
.purchase-primary-row form, .purchase-secondary-row form { margin: 0; }
.purchase-primary-row .button, .purchase-secondary-row .button { width: 100%; min-height: 46px; justify-content: center; }
.wishlist-heart { width: 48px; height: 48px; display: grid; place-items: center; border: 1px solid #cbd1cd; border-radius: 7px; background: #fff; color: #73151e; font-size: 22px; text-decoration: none; cursor: pointer; }
.wishlist-heart:hover { border-color: var(--v5-accent); background: #fff7f6; }
.buy-now-button { border: 1px solid #c4934f; background: #d7aa67; color: #19150f; }
.buy-now-button:hover { background: #c99852; color: #111; }
.whatsapp-order-button { border: 1px solid #166b43; background: #1fbf6b; color: #071b11; }
.whatsapp-order-button:hover { background: #18a95d; color: #06140d; }

.checkout-hero { min-height: 280px; }
.checkout-shell { display: grid; grid-template-columns: minmax(0, 1.45fr) minmax(330px, .65fr); gap: clamp(34px, 5vw, 76px); align-items: start; padding: clamp(48px, 6vw, 86px) clamp(28px, 5vw, 78px) 110px; background: #f7f5ef; }
.checkout-main { min-width: 0; }
.checkout-signin { display: grid; grid-template-columns: minmax(0, 1fr) auto auto; gap: 18px; align-items: center; margin-bottom: 22px; padding: 18px 20px; border: 1px solid #d8d4c9; background: #fff; }
.checkout-signin p { margin: 3px 0 0; color: #5b605d; font-size: 13px; }
.checkout-signin a { color: #75151e; font-weight: 800; }
.checkout-form { display: grid; gap: 18px; }
.checkout-honeypot { position: absolute !important; left: -10000px !important; width: 1px !important; height: 1px !important; overflow: hidden !important; }
.checkout-section { min-width: 0; margin: 0; padding: 26px; border: 1px solid #d8d4c9; background: #fff; transition: opacity .2s ease; }
.checkout-section legend { padding: 0 10px 0 0; color: #17201c; font: 800 20px var(--theme-heading); }
.checkout-section legend span { display: inline-grid; place-items: center; width: 30px; height: 30px; margin-right: 8px; border-radius: 50%; background: var(--v5-green); color: var(--theme-primary-contrast, #fff); font: 800 11px var(--theme-body); }
.checkout-choice-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.checkout-choice { position: relative; display: block; cursor: pointer; }
.checkout-choice input { position: absolute; opacity: 0; pointer-events: none; }
.checkout-choice > span { min-height: 84px; display: grid; align-content: center; gap: 5px; padding: 16px 18px; border: 1px solid #cfd3cf; border-radius: 7px; background: #fbfaf7; }
.checkout-choice input:checked + span { border-color: var(--v5-accent); box-shadow: inset 0 0 0 1px var(--v5-accent); background: #fff7f6; }
.checkout-choice input:focus-visible + span { outline: 3px solid rgba(143,24,34,.25); outline-offset: 2px; }
.checkout-choice small { color: #626863; font-size: 12px; line-height: 1.45; }
.checkout-section .form-grid { margin-top: 6px; }
.checkout-address.is-disabled { display: none; }
.fonepay-details { display: grid; grid-template-columns: minmax(0, 160px) minmax(0, 1fr); gap: 18px; align-items: center; margin-top: 16px; padding: 18px; border: 1px dashed #c3c8c4; background: #f8f8f4; }
.fonepay-details[hidden] { display: none; }
.fonepay-details img { width: 150px; height: 150px; object-fit: contain; background: #fff; }
.fonepay-details p { grid-column: 1 / -1; margin: 0; color: #656a67; font-size: 12px; }
.gift-option { display: flex; align-items: center; gap: 12px; margin-top: 18px; padding: 15px; border: 1px solid #d7dbd8; border-radius: 7px; cursor: pointer; }
.gift-option input { width: 18px; height: 18px; accent-color: var(--v5-accent); }
.gift-option span { display: grid; gap: 3px; }
.gift-option small { color: #616763; }
.checkout-note { margin-top: 18px; }
.terms-check { display: flex; align-items: flex-start; gap: 10px; color: #4c524f; font-size: 13px; line-height: 1.5; }
.terms-check input { flex: 0 0 auto; margin-top: 3px; accent-color: var(--v5-accent); }
.checkout-submit, .checkout-form > .whatsapp-order-button { width: 100%; min-height: 54px; justify-content: center; font-size: 15px; }
.checkout-submit[disabled] { opacity: .6; cursor: wait; }
.checkout-summary { position: sticky; top: 136px; padding: 28px; border: 1px solid #d8d4c9; background: #fff; box-shadow: 0 18px 50px rgba(17,27,59,.07); }
.checkout-summary h2 { margin: 0 0 22px; font-size: 28px; }
.checkout-summary-items { display: grid; gap: 14px; margin-bottom: 18px; }
.checkout-summary-items article { display: grid; grid-template-columns: 52px minmax(0,1fr) auto; gap: 12px; align-items: center; padding-bottom: 14px; border-bottom: 1px solid #e1e3df; }
.checkout-summary-items .book-cover { width: 52px; margin: 0; }
.checkout-summary-items div { display: grid; gap: 4px; }
.checkout-summary-items span { color: #636965; font-size: 11px; }
.checkout-summary-items b { font-size: 13px; }
.checkout-summary dl { margin: 0; }
.checkout-summary dl > div { display: flex; justify-content: space-between; gap: 18px; padding: 9px 0; }
.checkout-summary dd { margin: 0; font-weight: 800; }
.checkout-summary .summary-saving { color: #1a6d44; }
.checkout-summary .summary-grand-total { margin-top: 10px; padding-top: 18px; border-top: 1px solid #1f2421; font-size: 20px; }
.summary-note { color: #5b615d; font-size: 12px; line-height: 1.55; }
.checkout-trust { display: flex; flex-wrap: wrap; gap: 6px; }
.checkout-trust span { padding: 5px 8px; border-radius: 999px; background: #eef1ed; color: #424944; font-size: 10px; font-weight: 800; }

.confirmation-shell { width: min(820px, calc(100% - 48px)); margin: 0 auto; padding: clamp(70px, 10vw, 130px) 0; text-align: center; }
.confirmation-mark { width: 72px; height: 72px; display: grid; place-items: center; margin: 0 auto 24px; border-radius: 50%; background: #dff2e7; color: #166b43; font-size: 34px; }
.confirmation-shell h1 { margin: 8px 0 18px; font-size: clamp(42px, 7vw, 72px); }
.confirmation-shell > p { max-width: 680px; margin-inline: auto; line-height: 1.7; }
.confirmation-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; margin: 34px 0; }
.confirmation-grid div { display: grid; gap: 7px; padding: 20px; border: 1px solid #d8d4c9; background: #fff; }
.confirmation-grid span { color: #656b67; font-size: 11px; text-transform: uppercase; }
.confirmation-items { margin: 0 0 28px; padding: 24px; border: 1px solid #d8d4c9; background: #fff; text-align: left; }
.confirmation-items h2 { margin-top: 0; }
.confirmation-items div { display: flex; justify-content: space-between; gap: 20px; padding: 10px 0; border-top: 1px solid #e6e5df; }
.confirmation-actions { display: flex; flex-wrap: wrap; justify-content: center; gap: 10px; }
.account-orders { display: grid; border-top: 1px solid #d7d9d5; }
.account-orders > a { display: flex; justify-content: space-between; gap: 24px; padding: 18px 0; border-bottom: 1px solid #d7d9d5; color: inherit; text-decoration: none; }
.account-orders > a > div { display: grid; gap: 4px; }
.account-orders > a > div:last-child { justify-items: end; }
.account-orders span { color: #626864; font-size: 12px; }

.order-filter-tabs { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 24px; }
.order-filter-tabs a { padding: 9px 12px; border: 1px solid var(--cms-line); border-radius: 999px; color: var(--cms-text); text-decoration: none; font-size: 12px; font-weight: 800; }
.order-filter-tabs a.active { border-color: var(--cms-accent); background: var(--cms-accent); color: #fff; }
.order-filter-tabs span { opacity: .7; }
.order-admin-list { display: grid; gap: 18px; }
.order-admin-card { padding: 24px; border: 1px solid var(--cms-line); border-radius: 12px; background: #fff; }
.order-admin-card > header { display: flex; justify-content: space-between; gap: 20px; padding-bottom: 18px; border-bottom: 1px solid var(--cms-line); }
.order-admin-card h2 { margin: 7px 0 3px; }
.order-admin-card header p { margin: 0; color: var(--cms-muted); }
.order-admin-card header > strong { font-size: 22px; }
.order-admin-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; padding: 22px 0; }
.order-admin-grid h3 { margin: 0 0 8px; font-size: 14px; }
.order-admin-grid p { margin: 0; color: var(--cms-muted); line-height: 1.65; overflow-wrap: anywhere; }
.order-admin-card blockquote { margin: 0 0 20px; padding: 14px 16px; border-left: 3px solid var(--cms-accent); background: #f7f7f4; }
.order-status-form { display: grid; grid-template-columns: 180px minmax(0, 1fr) auto; gap: 14px; align-items: end; }
.order-status-form label { display: grid; gap: 6px; }

@media (max-width: 1050px) {
  .checkout-shell { grid-template-columns: 1fr; }
  .checkout-summary { position: static; }
  .order-admin-grid { grid-template-columns: 1fr 1fr; }
  .order-status-form { grid-template-columns: 1fr; }
}
@media (max-width: 680px) {
  .purchase-secondary-row, .checkout-choice-grid, .confirmation-grid { grid-template-columns: 1fr; }
  .checkout-shell { padding-inline: 20px; }
  .checkout-signin { grid-template-columns: 1fr 1fr; }
  .checkout-signin > div { grid-column: 1 / -1; }
  .checkout-section, .checkout-summary { padding: 20px; }
  .fonepay-details { grid-template-columns: 1fr; }
  .order-admin-grid { grid-template-columns: 1fr; }
  .account-orders > a { align-items: flex-start; }
}

/* Version 9: refined typography, account navigation, registration, and contact */
body:not(.admin-body) { font-size: 16px; line-height: 1.62; letter-spacing: -.005em; }
body:not(.admin-body) h1,
body:not(.admin-body) h2,
body:not(.admin-body) h3 { font-weight: 600; letter-spacing: -.025em; }
.publisher-hero-copy h1 { font-size: clamp(48px, 5.8vw, 84px); line-height: .96; }
.page-hero h1 { font-size: clamp(46px, 6vw, 82px); line-height: .98; }
.catalogue-hero h1 { font-size: clamp(46px, 6vw, 78px); }
.publisher-landing-hero h1,
.portal-hero h1 { font-size: clamp(46px, 6vw, 76px); }
.publisher-directory h2 { font-size: clamp(32px, 4vw, 54px); }
.builder-section h1 { font-size: clamp(42px, 6vw, 72px); line-height: 1; }
.builder-section h2 { font-size: clamp(30px, 4vw, 50px); line-height: 1.08; }
.book-main-column h1 { font-size: clamp(38px, 4.3vw, 58px); line-height: 1.02; }
.confirmation-shell h1 { font-size: clamp(38px, 5vw, 56px); }
.auth-copy h1 { font-size: clamp(42px, 5.5vw, 68px); line-height: .98; }
.section-heading h2 { font-size: clamp(34px, 4vw, 54px); line-height: 1.06; }
.primary-nav { min-height: 48px; gap: clamp(18px, 2.2vw, 34px); padding: 0 32px; border-top: 1px solid var(--v5-line); border-bottom: 0; font-size: 12px; text-transform: none; letter-spacing: 0; }
.primary-nav a { padding: 13px 0; font-weight: 650; }

.masthead-row { min-height: 108px; grid-template-columns: minmax(210px, 280px) minmax(280px, 1fr) auto; gap: clamp(24px, 4vw, 58px); padding: 0 clamp(26px, 4vw, 58px); }
.masthead-row .wordmark { grid-column: 1; min-width: 0; }
.wordmark img { width: clamp(210px, 20vw, 270px); max-width: 100%; max-height: 78px; object-fit: contain; object-position: left center; }
.masthead-row .header-search { grid-column: 2; max-width: 620px; justify-self: center; }
.masthead-actions { grid-column: 3; display: flex; align-items: center; gap: 7px; }
.masthead-actions .header-icon-action { position: relative; min-width: 66px; display: grid; justify-items: center; gap: 4px; padding: 8px 7px; border-radius: 10px; color: #303b36; text-align: center; }
.masthead-actions .header-icon-action:hover { background: #f0eee8; color: var(--v5-accent); }
.header-icon-action svg { width: 22px; height: 22px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.masthead-actions .header-icon-action span { color: inherit; font-size: 10px; font-weight: 700; letter-spacing: 0; text-transform: none; }
.masthead-actions .header-icon-action b { position: absolute; top: 3px; right: 7px; min-width: 18px; height: 18px; display: grid; place-items: center; padding: 0 4px; border-radius: 999px; background: var(--v5-accent); color: var(--theme-accent-contrast, #fff); font-size: 10px; }

.footer-overview { padding: 44px 7vw 34px; border-bottom: 1px solid rgba(255,255,255,.16); }
.footer-overview > div { max-width: 680px; display: grid; gap: 8px; }
.footer-overview strong { color: #fff; font: 600 clamp(22px, 3vw, 34px)/1.15 var(--theme-heading); }
.footer-overview p { margin: 0; font-size: 15px; }
.publisher-footer .footer-logo { display: none !important; }

.form-honeypot { position: absolute !important; left: -10000px !important; width: 1px !important; height: 1px !important; overflow: hidden !important; }
.registration-shell .auth-copy p { max-width: 610px; }
.compact-auth { min-height: 620px; }

.contact-hero { min-height: 420px; }
.contact-directory { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); border-top: 1px solid var(--v5-line); border-bottom: 1px solid var(--v5-line); background: #fff; }
.contact-directory article { min-width: 0; display: grid; grid-template-columns: 42px 1fr; gap: 18px; padding: clamp(30px, 4vw, 54px); border-right: 1px solid var(--v5-line); }
.contact-directory article:last-child { border-right: 0; }
.contact-directory article > span { width: 40px; height: 40px; display: grid; place-items: center; border: 1px solid #cfd4d0; border-radius: 50%; color: var(--v5-accent); font-size: 18px; }
.contact-directory h2 { margin: 5px 0 12px; font-size: clamp(22px, 2.3vw, 30px); }
.contact-directory a { color: #175b86; font-weight: 700; overflow-wrap: anywhere; }
.contact-directory article p:last-child { color: #606762; line-height: 1.65; }
.contact-form-section { display: grid; grid-template-columns: minmax(0,.78fr) minmax(420px,1.22fr); gap: clamp(42px, 7vw, 100px); align-items: start; padding: clamp(64px, 8vw, 110px) clamp(28px, 7vw, 100px); background: var(--v5-paper); }
.contact-form-intro h2 { margin: 10px 0 20px; font-size: clamp(34px, 4vw, 52px); line-height: 1.08; }
.contact-form-intro > p { color: #5d645f; font-size: 17px; }
.contact-assurance { display: grid; gap: 10px; margin-top: 28px; color: #3f4944; font-size: 13px; font-weight: 700; }
.contact-form-card { margin: 0; box-shadow: 0 18px 50px rgba(17,27,59,.07); }

.mobile-account-links { display: grid; gap: 8px; padding-top: 18px; border-top: 1px solid rgba(255,255,255,.18); }
.mobile-account-links a { display: flex; align-items: center; gap: 9px; color: #fff; }
.mobile-account-links svg { width: 19px; height: 19px; fill: none; stroke: currentColor; stroke-width: 1.8; }

@media (max-width: 1100px) {
  .masthead-row { grid-template-columns: minmax(190px, 230px) minmax(240px, 1fr) auto; gap: 22px; padding-inline: 26px; }
  .wordmark img { width: clamp(190px, 20vw, 225px); }
  .masthead-actions .optional-action { display: none; }
  .contact-directory { grid-template-columns: 1fr; }
  .contact-directory article { border-right: 0; border-bottom: 1px solid var(--v5-line); }
  .contact-directory article:last-child { border-bottom: 0; }
}

@media (max-width: 800px) {
  .masthead-row { min-height: 86px; grid-template-columns: 44px minmax(0,1fr) 48px; gap: 10px; padding: 0 16px; }
  .masthead-row .wordmark { grid-column: 2; justify-self: center; }
  .wordmark img { width: min(180px, 52vw); max-height: 58px; object-position: center; }
  .masthead-actions { grid-column: 3; }
  .masthead-actions .header-icon-action { display: none; }
  .masthead-actions .header-icon-action:last-child { min-width: 44px; display: grid; padding: 7px; }
  .masthead-actions .header-icon-action:last-child span { display: none; }
  .primary-nav { display: none; }
  .mobile-drawer { inset: 86px 0 0; }
  .mobile-drawer nav a { font-size: clamp(25px, 8vw, 34px); line-height: 1.1; }
  .contact-form-section { grid-template-columns: 1fr; padding-inline: 24px; }
  .contact-directory article { padding: 30px 24px; }
  .page-hero h1, .publisher-hero-copy h1 { font-size: clamp(42px, 13vw, 60px); }
}

@media (max-width: 520px) {
  .wordmark img { width: min(158px, 48vw); }
  .contact-directory article { grid-template-columns: 1fr; }
  .contact-form-section { gap: 34px; }
  .auth-copy h1 { font-size: 44px; }
}

/* Separate staff authentication */
.admin-login-body { min-height: 100vh; margin: 0; padding: clamp(20px,4vw,54px); display: grid; place-items: center; background: #e8e9e5; color: #17201c; font-family: Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif; }
.admin-login-shell { width: min(1050px,100%); min-height: 650px; display: grid; grid-template-columns: minmax(0,1.05fr) minmax(380px,.95fr); overflow: hidden; border-radius: 18px; background: #fff; box-shadow: 0 28px 80px rgba(17,27,59,.16); }
.admin-login-brand { padding: clamp(44px,6vw,82px); display: flex; flex-direction: column; justify-content: center; background: var(--v5-green); color: #fff; }
.admin-login-brand img { width: min(330px,100%); max-height: 100px; object-fit: contain; object-position: left center; filter: brightness(0) invert(1); }
.admin-login-brand > p:first-of-type { margin: 46px 0 12px; color: #cbd7d1; font-size: 12px; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; }
.admin-login-brand h1 { margin: 0 0 20px; color: #fff; font: 600 clamp(38px,4vw,56px)/1.04 Georgia,serif; letter-spacing: -.035em; }
.admin-login-brand h1 + p { max-width: 520px; color: #d9e1dd; line-height: 1.7; }
.admin-back-link { width: fit-content; margin-top: 36px; color: #fff; font-weight: 800; }
.admin-login-panel { padding: clamp(40px,6vw,74px); display: flex; flex-direction: column; justify-content: center; }
.admin-login-panel h2 { margin: 6px 0 28px; font: 600 clamp(30px,3vw,42px)/1.1 Georgia,serif; }
.admin-login-panel form { display: grid; gap: 18px; }
.admin-login-panel label { display: grid; gap: 8px; color: #3d4742; font-size: 12px; font-weight: 800; }
.admin-login-panel input { width: 100%; min-height: 50px; padding: 12px 14px; border: 1px solid #cbd1cd; border-radius: 7px; background: #fff; color: #17201c; }
.admin-login-panel button { width: 100%; justify-content: center; min-height: 52px; margin-top: 4px; }
.admin-login-help { margin: 24px 0 0; color: #656d68; font-size: 12px; line-height: 1.65; }
@media (max-width: 800px) { .admin-login-body { padding: 0; place-items: stretch; } .admin-login-shell { min-height: 100vh; grid-template-columns: 1fr; border-radius: 0; } .admin-login-brand { padding: 42px 28px; } .admin-login-brand img { width: min(250px,75vw); } .admin-login-brand > p:first-of-type { margin-top: 28px; } .admin-login-brand h1 { font-size: 38px; } .admin-login-panel { padding: 42px 28px 60px; } }

/* Version 10: authentication, status and role dashboards */
.account-type-choice { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; padding: 0; border: 0; }
.account-type-choice legend { margin-bottom: 8px; color: #3d4742; font-size: 12px; font-weight: 800; }
.account-type-choice label { position: relative; display: block; }
.account-type-choice input { position: absolute; opacity: 0; }
.account-type-choice span { min-height: 92px; display: grid; align-content: center; gap: 5px; padding: 16px; border: 1px solid #cbd1cd; border-radius: 8px; background: #fff; cursor: pointer; }
.account-type-choice input:checked + span { border-color: var(--v5-accent); box-shadow: inset 0 0 0 1px var(--v5-accent); background: #fff9f6; }
.account-type-choice small, .form-note, .password-rules { color: #626a65; font-size: 12px; line-height: 1.55; }
.password-match { min-height: 18px; color: #8f1822; }
.auth-card button { position: relative; }
.button-spinner,.auth-spinner { display: none; width: 16px; height: 16px; border: 2px solid currentColor; border-right-color: transparent; border-radius: 50%; animation: auth-spin .7s linear infinite; }
.is-submitting .button-spinner,.is-submitting .auth-spinner { display: inline-block; }
@keyframes auth-spin { to { transform: rotate(360deg); } }
.status-badge.neutral { background: #f2ead7; color: #795513; }
.status-badge.negative { background: #fae2e2; color: #8b2020; }
.status-badge.positive { background: #dff2e7; color: #166b43; }
.access-denied .status-seal { width: auto; padding-inline: 18px; border-radius: 999px; font-size: 18px; }
.conversation-list { display: grid; gap: 12px; }
.conversation-list article { padding: 18px 20px; border: 1px solid #d9ddd9; border-radius: 9px; background: #fff; }
.conversation-list article > div { display: flex; justify-content: space-between; gap: 16px; }
.conversation-list article span { color: #67706b; font-size: 12px; }
.conversation-list article p { margin-bottom: 8px; white-space: normal; }
.inline-message-form { display: grid; grid-template-columns: minmax(0,1fr) minmax(180px,.32fr) auto; gap: 14px; align-items: end; }
.inline-message-form textarea { min-height: 70px; }
.admin-filters label { display: flex; align-items: center; gap: 10px; font-weight: 700; }
.admin-filters input { min-height: 38px; padding: 8px 11px; border: 1px solid var(--cms-line); border-radius: 6px; }
@media (max-width: 760px) { .account-type-choice,.inline-message-form { grid-template-columns: 1fr; } .conversation-list article > div { display: grid; gap: 4px; } }

/* Final administration system: consistent, modern and accessible */
.admin-body {
  --admin-navy: #111b3b;
  --admin-navy-deep: #0b132c;
  --admin-red: #941d2b;
  --admin-bg: #f4f6f9;
  --admin-surface: #ffffff;
  --admin-text: #182230;
  --admin-muted: #667085;
  --admin-border: #e2e7ee;
  --admin-radius: 12px;
  background: var(--admin-bg);
  color: var(--admin-text);
  font-size: 15px;
  line-height: 1.55;
}
.admin-body *, .admin-login-body * { box-sizing: border-box; }
.admin-app { grid-template-columns: 272px minmax(0,1fr); }
.admin-sidebar {
  background: var(--admin-navy-deep);
  border: 0;
  box-shadow: 10px 0 35px rgba(11,19,44,.08);
  scrollbar-color: rgba(255,255,255,.18) transparent;
}
.admin-brand { min-height: 86px; padding: 19px 22px; border-color: rgba(255,255,255,.08); }
.admin-brand a { color: #fff; font: 700 19px/1.15 Georgia,serif; letter-spacing: .13em; }
.admin-brand span { color: #aeb9d2; font-size: 12px !important; letter-spacing: .01em; }
.admin-create-menu { padding: 16px; gap: 8px; border-color: rgba(255,255,255,.08); }
.admin-create-menu > p, .admin-nav-group > p { color: #8f9ab3; font-size: 11px !important; letter-spacing: .08em; }
.admin-create-menu a {
  min-height: 40px;
  border: 1px solid rgba(255,255,255,.12);
  border-radius: 9px;
  color: #e7ebf4;
  font-size: 12px;
}
.admin-create-menu a:first-of-type { background: var(--admin-red); border-color: var(--admin-red); }
.admin-side-nav { padding: 15px 12px 28px; gap: 20px; }
.admin-nav-group a {
  min-height: 42px;
  padding: 0 11px;
  gap: 11px;
  border-radius: 9px;
  color: #c5ccdc;
  font-size: 13px;
  font-weight: 600;
  transition: background-color .16s ease,color .16s ease,transform .16s ease;
}
.admin-nav-group a:hover { background: rgba(255,255,255,.075); color: #fff; transform: translateX(2px); }
.admin-nav-group a.active { background: #fff; color: var(--admin-navy); box-shadow: 0 8px 25px rgba(0,0,0,.14); }
.admin-nav-group a > .admin-nav-icon {
  width: 22px;
  height: 22px;
  padding: 2px;
  flex: 0 0 22px;
  border-radius: 0;
  background: transparent;
  color: currentColor;
}
.admin-nav-icon svg { width: 100%; height: 100%; display: block; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
.admin-nav-group a > .admin-nav-label { width: auto; height: auto; min-width: 0; display: block; overflow: hidden; border-radius: 0; background: transparent; color: inherit; font-size: 13px; text-overflow: ellipsis; white-space: nowrap; }
.admin-user-card {
  padding: 14px 16px;
  grid-template-columns: 38px minmax(0,1fr) auto;
  background: #080f24;
  border-color: rgba(255,255,255,.08);
}
.admin-user-card > span { width: 38px; height: 38px; background: var(--admin-red); box-shadow: 0 0 0 4px rgba(148,29,43,.2); }
.admin-user-card strong { color: #fff; overflow: hidden; text-overflow: ellipsis; }
.admin-user-card small { color: #9ca8c1; font-size: 11px !important; }
.admin-logout-form { margin: 0; }
.admin-logout-form button { padding: 4px 0; border: 0; background: transparent; color: #c9d0df; font-size: 11px; font-weight: 700; cursor: pointer; }
.admin-logout-form button:hover { color: #fff; }
.admin-sidebar-backdrop { display: none; }
.admin-topbar {
  height: 72px;
  padding: 0 30px;
  gap: 16px;
  background: rgba(255,255,255,.96);
  border-color: var(--admin-border);
  box-shadow: 0 1px 0 rgba(16,24,40,.02);
}
.admin-page-context span { color: var(--admin-muted); font-size: 11px !important; font-weight: 650; text-transform: uppercase; letter-spacing: .08em; }
.admin-page-context strong { color: var(--admin-text); font-size: 16px; }
.admin-top-actions a {
  min-height: 40px;
  border-color: var(--admin-border);
  border-radius: 9px;
  color: #344054;
  font-size: 12px;
  box-shadow: 0 1px 2px rgba(16,24,40,.04);
}
.admin-top-actions .admin-primary-action { background: var(--admin-navy); border-color: var(--admin-navy); }
.admin-top-actions .admin-primary-action:hover { background: var(--admin-red); border-color: var(--admin-red); }
.admin-body .admin-page { width: min(1500px,100%); padding: 34px clamp(20px,3vw,42px) 72px; }
.admin-heading { gap: 22px; margin-bottom: 25px; }
.admin-body .admin-heading h1 { color: var(--admin-text); font-size: clamp(28px,3vw,38px); line-height: 1.15; letter-spacing: -.025em; }
.admin-heading > div > p:last-child { max-width: 760px; color: var(--admin-muted); font-size: 14px; }
.admin-body .kicker { color: var(--admin-red); font-size: 11px !important; font-weight: 800; letter-spacing: .1em; }
.admin-body .button { min-height: 42px; border-radius: 9px; font-size: 13px !important; }
.admin-body .button-dark, .admin-body .mini-button { background: var(--admin-navy); }
.admin-body .button-dark:hover, .admin-body .mini-button:hover { background: var(--admin-red); }
.admin-body .button-outline { border-color: var(--admin-border); color: #344054; box-shadow: 0 1px 2px rgba(16,24,40,.04); }
.admin-body .admin-stats { gap: 14px; }
.admin-body .admin-stats a, .admin-body .admin-stats article {
  min-height: 120px;
  border-color: var(--admin-border) !important;
  border-radius: var(--admin-radius);
  box-shadow: 0 1px 3px rgba(16,24,40,.035);
}
.admin-body .admin-stats a:hover { border-color: #b7c0cf !important; box-shadow: 0 10px 25px rgba(16,24,40,.07); transform: translateY(-1px); }
.admin-body .admin-stats span { color: var(--admin-navy); font-size: 30px; }
.admin-body .admin-stats p { color: var(--admin-muted); font-size: 12px !important; }
.admin-body .quick-grid { gap: 12px; }
.admin-body .quick-grid a {
  min-height: 84px;
  border-color: var(--admin-border);
  border-radius: var(--admin-radius);
  box-shadow: 0 1px 3px rgba(16,24,40,.03);
}
.admin-body .quick-grid a:hover { border-color: #aeb8c8; background: #f8faff; transform: translateY(-1px); }
.dashboard-quick-start a span { color: var(--admin-muted); font-size: 12px !important; }
.admin-body .admin-panels > section, .admin-body .form-card, .editor-card, .order-admin-card {
  border-color: var(--admin-border);
  border-radius: var(--admin-radius);
  box-shadow: 0 2px 8px rgba(16,24,40,.04);
}
.admin-body .panel-heading { border-color: var(--admin-border); }
.admin-body .panel-heading p, .admin-body .editor-card > p { color: var(--admin-muted); font-size: 12px !important; }
.admin-body .simple-list > a { border-color: var(--admin-border); border-radius: 8px; }
.admin-body .simple-list > a:hover { padding-inline: 10px; background: #f7f9fc; color: var(--admin-navy); }
.admin-body input, .admin-body select, .admin-body textarea {
  min-height: 44px;
  border-color: #cfd6e1;
  border-radius: 9px;
  color: var(--admin-text);
  font-size: 14px;
}
.admin-body input::placeholder, .admin-body textarea::placeholder { color: #98a2b3; }
.admin-body input:focus, .admin-body select:focus, .admin-body textarea:focus { border-color: #6f7fa6; box-shadow: 0 0 0 3px rgba(17,27,59,.1); }
.admin-body .admin-table { border-color: var(--admin-border); border-radius: var(--admin-radius); box-shadow: 0 2px 8px rgba(16,24,40,.035); }
.admin-body .table-wrap th { padding: 14px 13px; background: #f8f9fb; color: var(--admin-muted); font-size: 11px !important; }
.admin-body .table-wrap td { padding: 15px 13px; border-color: var(--admin-border); }
.admin-body .table-wrap tbody tr:hover { background: #f8faff; }
.admin-body .status-badge { font-size: 11px !important; font-weight: 700; }
.admin-list-tools, .editor-toolbar { border-color: var(--admin-border); border-radius: var(--admin-radius); box-shadow: 0 2px 8px rgba(16,24,40,.04); }
.editor-toolbar { top: 86px; }
.editor-aside { top: 165px; }
.admin-body .flash { border: 1px solid var(--admin-border); box-shadow: 0 15px 38px rgba(16,24,40,.15); }

/* Secure administrator sign-in */
.admin-login-body { background: #eef1f5; color: #182230; }
.admin-login-shell { width: min(1080px,100%); min-height: 650px; border: 1px solid #dde2ea; border-radius: 20px; box-shadow: 0 30px 90px rgba(17,27,59,.16); }
.admin-login-brand { position: relative; overflow: hidden; background: #111b3b; }
.admin-login-brand::after { content: ""; position: absolute; right: -130px; bottom: -130px; width: 330px; height: 330px; border: 70px solid rgba(255,255,255,.035); border-radius: 50%; }
.admin-login-brand > * { position: relative; z-index: 1; }
.admin-login-brand img { width: min(350px,100%); max-height: 110px; filter: brightness(0) invert(1); }
.admin-login-brand > p:first-of-type { color: #c4cbe0; }
.admin-login-body .admin-login-brand h1 { max-width: 540px; color: #fff; font-size: clamp(36px,4vw,52px); }
.admin-login-brand h1 + p { color: #d5daea; }
.admin-login-panel { padding: clamp(38px,5vw,66px); }
.admin-login-heading { display: flex; align-items: flex-start; gap: 13px; margin-bottom: 25px; }
.admin-login-heading h2 { margin: 3px 0 0; font: 700 clamp(28px,3vw,38px)/1.12 Georgia,serif; }
.admin-login-heading .kicker { margin: 0; color: #941d2b; font-size: 11px; }
.admin-login-lock { width: 34px; height: 34px; margin-top: 2px; display: grid; place-items: center; flex: 0 0 34px; border-radius: 50%; background: #e8f4ee; color: #19704a; font-weight: 900; }
.admin-login-panel form { gap: 17px; }
.admin-login-panel label { color: #344054; font-size: 13px; }
.admin-login-panel input { min-height: 50px; border-color: #cfd6e1; border-radius: 9px; font-size: 15px; }
.admin-login-panel input:focus { border-color: #6676a0; outline: 0; box-shadow: 0 0 0 3px rgba(17,27,59,.1); }
.admin-login-panel .button-dark { background: #111b3b; border-radius: 9px; font-size: 13px !important; }
.admin-login-panel .button-dark:hover { background: #941d2b; }
.password-field { position: relative; display: block; }
.password-field input { padding-right: 70px; }
.password-field .password-visibility { position: absolute; right: 7px; top: 7px; width: auto; min-height: 36px; margin: 0; padding: 0 10px; border: 0; border-radius: 7px; background: #f0f2f6; color: #344054; font-size: 11px; font-weight: 800; cursor: pointer; }
.auth-form-links { margin-top: 16px; display: flex; justify-content: space-between; gap: 16px; }
.auth-form-links a { color: #344b7b; font-size: 12px; font-weight: 750; }
.admin-login-help, .admin-login-notice { margin-top: 22px; padding: 15px 16px; border: 1px solid #e1e5ec; border-radius: 10px; background: #f8f9fb; color: #596273; font-size: 12px; line-height: 1.55; }
.admin-login-help strong, .admin-login-notice strong { color: #243047; }
.admin-login-help p, .admin-login-notice p { margin: 4px 0 0; }
.admin-login-notice { margin: 0 0 18px; border-color: #d7deef; background: #f3f6fc; }
.admin-login-panel .form-errors { margin-bottom: 18px; border-radius: 9px; }

@media (max-width: 980px) {
  .admin-app { display: block; }
  .admin-sidebar { width: 286px; }
  .admin-sidebar-backdrop { position: fixed; inset: 0; z-index: 70; border: 0; background: rgba(7,12,28,.54); backdrop-filter: blur(2px); }
  .admin-menu-is-open .admin-sidebar-backdrop { display: block; }
  .admin-sidebar-toggle { gap: 3px; flex-direction: column; justify-content: center; }
  .admin-sidebar-toggle > span { width: 17px; height: 2px; display: block; border-radius: 2px; background: #344054; }
  .admin-sidebar-toggle b { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0,0,0,0); }
}
@media (max-width: 700px) {
  .admin-topbar { height: 66px; padding: 0 14px; }
  .admin-body .admin-page { padding: 24px 15px 54px; }
  .admin-top-actions .admin-primary-action { font-size: 0; }
  .admin-top-actions .admin-primary-action::after { content: "+ Add"; font-size: 12px; }
  .admin-body .admin-stats { grid-template-columns: 1fr 1fr; gap: 10px; }
  .admin-body .admin-stats a { min-height: 104px; }
  .admin-login-shell { border: 0; }
  .admin-login-brand { padding: 38px 25px; }
  .admin-login-brand h1 { font-size: 35px; }
  .admin-login-panel { padding: 38px 25px 52px; }
}
@media (max-width: 430px) {
  .admin-body .admin-stats { grid-template-columns: 1fr; }
  .admin-heading { display: grid; }
  .admin-heading > .button { width: 100%; justify-content: center; }
}

/* Compact publishing tools inspired by modern reading platforms */
.masthead-actions.modern-publisher-tools {
  min-height: 52px;
  padding: 6px 9px;
  gap: 3px;
  border-radius: 13px;
  background: #13171a;
  color: #e7ece9;
  box-shadow: 0 8px 24px rgba(12,16,18,.12);
}
.modern-publisher-tools .header-tool-action,
.modern-publisher-tools .header-tool-action:visited {
  position: relative;
  width: 41px;
  height: 40px;
  min-width: 41px;
  padding: 0;
  border: 0;
  border-radius: 9px;
  display: grid;
  place-items: center;
  background: transparent;
  color: #d8dfdc;
  cursor: pointer;
}
.modern-publisher-tools .header-tool-action:hover,
.modern-publisher-tools .header-tool-action:focus-visible { background: #252b2e; color: #fff; outline: none; }
.modern-publisher-tools .header-tool-action svg { width: 21px; height: 21px; fill: none; stroke: currentColor; stroke-width: 1.75; stroke-linecap: round; stroke-linejoin: round; }
.modern-publisher-tools .header-tool-action b {
  position: absolute;
  top: -2px;
  right: -1px;
  min-width: 17px;
  height: 17px;
  padding: 0 4px;
  border: 2px solid #13171a;
  border-radius: 999px;
  display: grid;
  place-items: center;
  background: var(--v5-accent);
  color: #fff;
  font: 800 9px/1 Arial,sans-serif;
}
.header-language-switch { height: 38px; margin-right: 4px; display: flex; overflow: hidden; border: 1px solid #3a4548; border-radius: 999px; }
.header-language-switch a { min-width: 37px; padding: 0 10px; display: grid; place-items: center; color: #d8dfdc; font-size: 12px; font-weight: 800; }
.header-language-switch a.active { background: #99d2b4; color: #10231a; }

/* Multiple publication images and hover zoom */
.publication-image-gallery {
  overflow: hidden;
  border: 1px solid #283136;
  border-radius: 9px;
  background: #111619;
  box-shadow: 0 18px 42px rgba(12,16,19,.22);
}
.publication-gallery-stage {
  --zoom-x: 50%;
  --zoom-y: 50%;
  position: relative;
  min-height: 430px;
  aspect-ratio: 3 / 4;
  overflow: hidden;
  display: grid;
  place-items: center;
  background: linear-gradient(180deg,#20262a 0%,#151a1d 100%);
  cursor: zoom-in;
}
.publication-gallery-stage img { width: 100%; height: 100%; object-fit: contain; transform-origin: var(--zoom-x) var(--zoom-y); transition: transform .28s ease; }
@media (hover:hover) and (pointer:fine) { .publication-gallery-stage:hover img { transform: scale(1.75); } }
.gallery-zoom-hint {
  position: absolute;
  top: 14px;
  right: 16px;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 7px 10px;
  border-radius: 999px;
  background: rgba(17,22,25,.72);
  color: #cbd5d8;
  font-size: 12px;
  font-weight: 720;
  line-height: 1;
  pointer-events: none;
}
.gallery-zoom-hint span { color: #eef4f2; font-size: 13px; line-height: 1; }
.publication-gallery-thumbnails {
  display: flex;
  gap: 14px;
  align-items: center;
  min-height: 112px;
  padding: 17px 20px 21px;
  overflow-x: auto;
  background: #12171a;
  scrollbar-width: thin;
  scrollbar-color: #465057 #12171a;
}
.publication-gallery-thumbnails button {
  position: relative;
  flex: 0 0 58px;
  width: 58px;
  height: 82px;
  padding: 3px;
  overflow: visible;
  border: 2px solid #2e3840;
  border-radius: 5px;
  background: #080b0d;
  cursor: pointer;
  transition: border-color .18s ease, box-shadow .18s ease, transform .18s ease;
}
.publication-gallery-thumbnails button:hover { border-color: #69747b; transform: translateY(-1px); }
.publication-gallery-thumbnails button[aria-pressed="true"] { border-color: var(--v5-accent); box-shadow: 0 0 0 1px var(--v5-accent), 0 8px 18px rgba(0,0,0,.22); }
.publication-gallery-thumbnails button[aria-pressed="true"]::after {
  content: "";
  position: absolute;
  left: -8px;
  top: 50%;
  width: 18px;
  height: 18px;
  border-radius: 50%;
  background: var(--v5-accent);
  transform: translateY(-50%);
  box-shadow: inset -3px 0 0 rgba(255,255,255,.22);
}
.publication-gallery-thumbnails img { width: 100%; height: 100%; display: block; object-fit: cover; border-radius: 2px; background: #f6f1e6; }

.admin-book-gallery-list { margin-top: 24px; padding-top: 22px; border-top: 1px solid var(--admin-border,#e2e7ee); }
.admin-book-gallery-list h3 { margin: 0 0 14px; font-size: 15px; }
.admin-book-gallery-list article { display: grid; grid-template-columns: 88px minmax(0,1fr) auto; gap: 14px; align-items: center; padding: 13px 0; border-top: 1px solid var(--admin-border,#e2e7ee); }
.admin-book-gallery-list article > img { width: 88px; height: 100px; object-fit: cover; border-radius: 8px; background: #eef1f5; }
.admin-book-gallery-list article > div:nth-child(2) { display: grid; grid-template-columns: minmax(0,1fr) 120px; gap: 12px; }
.admin-gallery-options { display: grid; gap: 7px; }
.admin-gallery-options label { min-height: 34px; display: flex !important; align-items: center; gap: 7px; white-space: nowrap; }

.database-connected, .admin-db-status { display: inline-flex; align-items: center; gap: 7px; color: #317353; font-size: 11px; font-weight: 750; }
.database-connected { margin-top: 10px; }
.database-connected i, .admin-db-status i { width: 8px; height: 8px; border-radius: 50%; background: #2ab673; box-shadow: 0 0 0 4px rgba(42,182,115,.12); }
.admin-db-status { margin-left: 14px; padding: 6px 9px; border: 1px solid #dce8e1; border-radius: 999px; background: #f3faf6; }
.role-access-map { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 12px; margin: 20px 0; }
.role-access-map article { min-height: 104px; padding: 16px; border: 1px solid var(--admin-border,#e2e7ee); border-radius: 8px; background: #fff; }
.role-access-map strong { display: block; color: #111b3b; font-size: 14px; }
.role-access-map span, .access-summary { display: block; margin-top: 7px; color: #65707a; font-size: 12px; line-height: 1.45; }
.admin-table .form-note { max-width: 420px; margin: 7px 0 10px; color: #707985; font-size: 11px; }
.admin-table select[data-role-select] { min-width: 168px; }

/* Reader-selectable dark display mode */
html[data-theme="dark"] body:not(.admin-body) { background: #090c0f; color: #e5e9e7; }
html[data-theme="dark"] body:not(.admin-body) .site-shell,
html[data-theme="dark"] body:not(.admin-body) .publisher-header,
html[data-theme="dark"] body:not(.admin-body) .section,
html[data-theme="dark"] body:not(.admin-body) .book-commerce-detail,
html[data-theme="dark"] body:not(.admin-body) .review-section { background-color: #14191c; color: #e5e9e7; }
html[data-theme="dark"] body:not(.admin-body) :is(h1,h2,h3,h4,strong,a) { color: #f3f6f4; }
html[data-theme="dark"] body:not(.admin-body) :is(p,span,small,label) { color: #bdc6c1; }
html[data-theme="dark"] body:not(.admin-body) :is(.publication-card,.book-purchase-card,.form-card,.publication-gallery-stage,.publication-gallery-thumbnails button) { background: #1b2124; border-color: #30383b; }
html[data-theme="dark"] body:not(.admin-body) .publication-image-gallery { background: #111619; border-color: #283136; }
html[data-theme="dark"] body:not(.admin-body) .publication-gallery-stage { background: linear-gradient(180deg,#20262a 0%,#151a1d 100%); }
html[data-theme="dark"] body:not(.admin-body) .publication-gallery-thumbnails { background: #12171a; }
html[data-theme="dark"] body:not(.admin-body) .publication-gallery-thumbnails button { background: #080b0d; border-color: #2e3840; }
html[data-theme="dark"] body:not(.admin-body) .publication-gallery-thumbnails button[aria-pressed="true"] { border-color: var(--v5-accent); }
html[data-theme="dark"] body:not(.admin-body) :is(input,select,textarea) { background: #171d20; border-color: #3b4448; color: #f2f5f3; }

@media (max-width: 1100px) {
  .masthead-actions.modern-publisher-tools { padding-inline: 6px; }
  .modern-publisher-tools .notification-tool, .modern-publisher-tools .optional-action { display: none; }
  .role-access-map { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media (max-width: 800px) {
  .masthead-actions.modern-publisher-tools { min-height: 44px; padding: 2px 4px; background: transparent; box-shadow: none; }
  .modern-publisher-tools .header-language-switch, .modern-publisher-tools .theme-tool, .modern-publisher-tools .notification-tool, .modern-publisher-tools .optional-action { display: none; }
  .modern-publisher-tools .header-tool-action { display: none; color: #1f2924; }
  .modern-publisher-tools .cart-link { display: grid; }
  html[data-theme="dark"] .modern-publisher-tools .cart-link { color: #fff; }
  .publication-gallery-stage { min-height: 360px; }
}
@media (max-width: 620px) {
  .admin-book-gallery-list article { grid-template-columns: 70px minmax(0,1fr); align-items: start; }
  .admin-book-gallery-list article > img { width: 70px; height: 84px; }
  .admin-book-gallery-list article > div:nth-child(2) { grid-template-columns: 1fr; }
  .admin-gallery-options { grid-column: 2; grid-template-columns: 1fr 1fr; }
  .role-access-map { grid-template-columns: 1fr; }
}

/* Live refinement: stronger Lex & Juris palette, larger header, and reader display controls */
:root { --site-font-scale: 1; }
body:not(.admin-body) { font-size: calc(16px * var(--site-font-scale)); letter-spacing: 0; background: var(--v5-paper); }
body:not(.admin-body) :where(p,li,label,input,select,textarea,.button,.mini-button,.form-note,.password-rules,.publication-excerpt,.book-description,.book-synopsis p,.purchase-note,.dashboard-section p,.account-orders span) { font-size: calc(1rem * var(--site-font-scale)); }
.utility-bar { background: var(--v5-green); color: var(--theme-primary-contrast, #fff); border-bottom: 3px solid var(--v5-accent); }
.utility-bar a, .utility-bar p, .utility-contact, .language-switcher a { color: var(--theme-primary-contrast, #fff) !important; }
.language-switcher a.active { background: var(--v5-accent); color: var(--theme-accent-contrast, #fff) !important; }
.publisher-header { border-top: 5px solid var(--v5-accent); box-shadow: 0 14px 38px rgba(17,27,59,.08); }
.masthead-row { min-height: 132px; grid-template-columns: minmax(300px, 420px) minmax(280px, 1fr) auto; }
.wordmark img { width: clamp(285px, 28vw, 360px); max-width: 360px; max-height: 96px; }
.primary-nav { min-height: 54px; background: color-mix(in srgb, var(--v5-green) 6%, #fff); border-top-color: color-mix(in srgb, var(--v5-green) 22%, #fff); font-size: calc(14px * var(--site-font-scale)) !important; }
.primary-nav a { padding: 15px 0; color: #111b3b; font-size: calc(14px * var(--site-font-scale)) !important; font-weight: 760; }
.primary-nav a:hover, .primary-nav a:focus-visible { color: var(--v5-accent); }
.primary-nav .nav-entry::after { content: ""; position: absolute; left: 0; right: 0; bottom: 6px; height: 3px; border-radius: 999px; background: var(--v5-accent); opacity: 0; transform: scaleX(.35); transition: .18s ease; }
.primary-nav .nav-entry:hover::after, .primary-nav .nav-entry:focus-within::after { opacity: 1; transform: scaleX(1); }
.modern-publisher-tools { background: #111b3b; }
.modern-publisher-tools .header-tool-action b { border-color: #111b3b; background: #8f1822; }
.modern-publisher-tools .header-tool-action:hover, .modern-publisher-tools .header-tool-action:focus-visible { background: #8f1822; color: #fff; }
.modern-publisher-tools .font-size-tool span { color: inherit; font: 850 13px/1 var(--theme-body); letter-spacing: 0; }
.modern-publisher-tools .font-size-tool:disabled { opacity: .38; cursor: not-allowed; }
.mobile-display-tools { display: flex; gap: 8px; padding: 16px 0 18px; border-top: 1px solid rgba(255,255,255,.18); }
.mobile-display-tools button { min-height: 38px; padding: 0 13px; border: 1px solid rgba(255,255,255,.28); border-radius: 999px; background: rgba(255,255,255,.08); color: #fff; font-weight: 800; }
.account-header { grid-template-columns: auto minmax(0,1fr) auto; }
.account-profile-image { width: 76px; height: 76px; overflow: hidden; border: 1px solid color-mix(in srgb, var(--v5-green) 18%, #fff); border-radius: 14px; background: #fff; }
.account-profile-image img { width: 100%; height: 100%; display: block; object-fit: cover; }
.account-focus-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 12px; padding: 0 clamp(24px,5vw,72px) 22px; background: #fff; }
.account-focus-grid a { min-height: 96px; display: grid; align-content: center; gap: 6px; padding: 18px 20px; border: 1px solid color-mix(in srgb, var(--v5-green) 18%, #fff); border-left: 5px solid var(--v5-accent); border-radius: 8px; background: linear-gradient(135deg, color-mix(in srgb, var(--v5-paper) 70%, #fff), #fff); color: #111b3b; text-decoration: none; }
.account-focus-grid strong { color: #111b3b; font-size: calc(18px * var(--site-font-scale)); }
.account-focus-grid span { color: #59605c; font-size: calc(13px * var(--site-font-scale)); line-height: 1.45; }
.account-cart-quantity-form { display: grid; gap: 12px; }
.account-cart-quantity-form article { display: grid; grid-template-columns: 74px minmax(0,1fr) 112px 38px; gap: 16px; align-items: center; padding: 14px; border: 1px solid var(--v5-line,#e5e2d9); border-radius: 8px; background: #fff; }
.account-cart-quantity-form .book-cover { width: 74px; min-height: 98px; margin: 0; }
.account-cart-quantity-form article > div { min-width: 0; display: grid; gap: 3px; }
.account-cart-quantity-form article > div > strong { color: #111b3b; font-size: 16px; }
.account-cart-quantity-form article > div > span { color: #626864; font-size: 13px; }
.account-cart-quantity-form label { display: grid; gap: 6px; color: #555b58; font-size: 11px; font-weight: 800; text-transform: uppercase; }
.account-cart-quantity-form input[type="number"] { width: 100%; padding: 9px; border: 1px solid #cfd5d1; border-radius: 6px; background: #fff; color: #171b19; font-weight: 800; }
.account-cart-actions { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 4px; }
.section-heading .kicker, .kicker, .book-main-column .book-author a, .contact-directory a { color: var(--v5-accent); }
.publication-card, .book-purchase-card, .form-card, .dashboard-section { border-top: 3px solid color-mix(in srgb, var(--v5-accent) 72%, #fff); }
.google-auth-button { min-height: 44px; display: flex; align-items: center; justify-content: center; gap: 10px; padding: 11px 14px; border: 1px solid #d7dce5; border-radius: 8px; background: #fff; color: #111b3b; font-weight: 800; text-decoration: none; }
.google-auth-button::before { content: "G"; width: 24px; height: 24px; display: grid; place-items: center; border-radius: 50%; background: #fff; color: #8f1822; box-shadow: inset 0 0 0 2px #f0d35a; font: 900 14px Arial,sans-serif; }
.google-auth-button.secondary { background: color-mix(in srgb, var(--v5-green) 6%, #fff); }
.oauth-panel { display: grid; gap: 8px; margin: 0 0 18px; padding-bottom: 18px; border-bottom: 1px solid var(--v5-line,#e5e2d9); }
.google-identity-panel { gap: 12px; }
.google-identity-choice { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 10px; }
.google-identity-choice > div { min-width: 0; display: grid; gap: 8px; align-content: start; padding: 13px; border: 1px solid color-mix(in srgb, var(--v5-green) 16%, #fff); border-radius: 8px; background: linear-gradient(135deg, color-mix(in srgb, var(--v5-paper) 64%, #fff), #fff); }
.google-identity-choice strong { color: #111b3b; font-size: 15px; }
.google-identity-choice span { color: #59605c; font-size: 12px; line-height: 1.35; }
.google-identity-button { min-height: 44px; display: grid; align-items: center; overflow: hidden; }
.google-identity-panel > .google-identity-button { justify-content: start; }

html[data-theme="dark"] body:not(.admin-body) { background: #080b12; }
html[data-theme="dark"] .utility-bar, html[data-theme="dark"] .modern-publisher-tools { background: #111b3b; }
html[data-theme="dark"] .primary-nav { background: #121827; border-top-color: #29324b; }
html[data-theme="dark"] .primary-nav a { color: #f4f6fb; }
html[data-theme="dark"] .google-auth-button { background: #171d28; border-color: #30394d; color: #f5f7fb; }
html[data-theme="dark"] .google-identity-choice > div { background: #171d28; border-color: #30394d; }
html[data-theme="dark"] .google-identity-choice strong { color: #f5f7fb; }
html[data-theme="dark"] .google-identity-choice span { color: #bdc6c1; }
html[data-theme="dark"] .account-focus-grid { background: #14191c; }
html[data-theme="dark"] .account-focus-grid a, html[data-theme="dark"] .account-cart-quantity-form article { background: #1b2124; border-color: #30383b; }
html[data-theme="dark"] .account-focus-grid strong, html[data-theme="dark"] .account-cart-quantity-form article > div > strong { color: #f4f6fb; }
html[data-theme="dark"] .account-focus-grid span, html[data-theme="dark"] .account-cart-quantity-form article > div > span { color: #bdc6c1; }

@media (max-width: 1100px) {
  .masthead-row { grid-template-columns: minmax(205px, 255px) minmax(240px, 1fr) auto; }
  .wordmark img { width: clamp(205px, 22vw, 250px); }
  .modern-publisher-tools .font-size-tool { display: none; }
}
@media (max-width: 800px) {
  .masthead-row { min-height: 92px; grid-template-columns: 44px minmax(0,1fr) 48px; }
  .wordmark img { width: min(198px, 56vw); max-height: 64px; }
  .modern-publisher-tools .font-size-tool { display: none; }
  .account-header { grid-template-columns: 1fr; }
  .google-identity-choice { grid-template-columns: 1fr; }
  .account-focus-grid { grid-template-columns: 1fr; padding-inline: 18px; }
  .account-cart-quantity-form article { grid-template-columns: 62px minmax(0,1fr); }
  .account-cart-quantity-form label, .account-cart-quantity-form .remove-item { grid-column: 2; }
}
@media (max-width: 520px) {
  .wordmark img { width: min(174px, 52vw); }
}

body:not(.admin-body) .primary-nav,
body:not(.admin-body) .primary-nav a { font-size: calc(15px * var(--site-font-scale)) !important; }
body:not(.admin-body) .masthead-row .wordmark img { width: clamp(285px, 28vw, 360px); max-width: 360px; max-height: 96px; }
@media (max-width: 1100px) {
  body:not(.admin-body) .masthead-row .wordmark img { width: clamp(240px, 30vw, 300px); max-width: 300px; max-height: 88px; }
}
@media (max-width: 800px) {
  body:not(.admin-body) .masthead-row .wordmark img { width: min(220px, 60vw); max-width: 220px; max-height: 72px; }
}
@media (max-width: 520px) {
  body:not(.admin-body) .masthead-row .wordmark img { width: min(195px, 56vw); max-width: 195px; }
}

body:not(.admin-body) .confirmation-actions,
body:not(.admin-body) .form-actions,
body:not(.admin-body) .account-cart-actions {
  display: flex;
  flex-wrap: wrap;
  align-items: stretch;
  gap: 12px;
}
body:not(.admin-body) .confirmation-actions .button,
body:not(.admin-body) .form-actions .button,
body:not(.admin-body) .account-cart-actions .button {
  min-width: 164px;
  min-height: 58px;
  box-sizing: border-box;
  justify-content: center;
  text-align: center;
  margin-top: 0;
}
body:not(.admin-body) .confirmation-actions { justify-content: center; }
body:not(.admin-body) .confirmation-actions .button { min-width: 176px; }
@media (max-width: 520px) {
  body:not(.admin-body) .confirmation-actions .button,
  body:not(.admin-body) .form-actions .button,
  body:not(.admin-body) .account-cart-actions .button { width: 100%; }
}

/* Homepage refinement: four-up books/categories plus stronger visual sections */
body.section-home .section,
body.section-home .category-band,
body.section-home .news-events-grid,
body.section-home .catalog-cta {
  padding-left: clamp(28px, 4vw, 64px);
  padding-right: clamp(28px, 4vw, 64px);
}
body.section-home .section { padding-top: clamp(72px, 7vw, 102px); padding-bottom: clamp(72px, 7vw, 106px); }
body.section-home .section-heading { margin-bottom: clamp(34px, 4.5vw, 54px); gap: clamp(26px, 5vw, 70px); }
body.section-home .publication-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: clamp(30px, 3.2vw, 48px) clamp(16px, 2vw, 28px);
}
body.section-home .publication-card:nth-child(n) { transform: none; }
body.section-home .publication-card .book-cover { padding: clamp(22px, 1.8vw, 30px) clamp(18px, 1.5vw, 24px); }
body.section-home .publication-card .book-cover.has-image { padding: 0; }
body.section-home .publication-card .book-cover p { font-size: clamp(20px, 2vw, 34px); line-height: 1.02; margin-bottom: 9px; }
body.section-home .publication-card .book-cover small { font-size: 8px !important; }
body.section-home .publication-meta {
  display: grid;
  grid-template-columns: 1fr;
  gap: 8px;
  padding-top: 14px;
  margin-top: 16px;
}
body.section-home .publication-meta h3 { font-size: clamp(18px, 1.45vw, 22px); line-height: 1.12; }
body.section-home .publication-meta > strong { justify-self: start; white-space: normal; }
body.section-home .rating-line { margin-top: 8px; }
body.section-home .card-price { margin: 8px 0 0; }
body.section-home .publication-excerpt { min-height: 0; margin: 10px 0 14px; line-height: 1.42; }
body.section-home .publication-actions { align-items: flex-start; gap: 10px; }
body.section-home .publication-actions .line-link { line-height: 1.25; }
body.section-home .center-action { margin-top: clamp(34px, 5vw, 62px); }

.home-image-board {
  display: grid;
  grid-template-columns: minmax(260px, .5fr) minmax(0, 1fr);
  gap: clamp(28px, 5vw, 72px);
  align-items: center;
  padding: clamp(72px, 7vw, 104px) clamp(28px, 4vw, 64px);
  border-block: 1px solid color-mix(in srgb, var(--v5-green) 18%, #fff);
  background:
    linear-gradient(135deg, color-mix(in srgb, var(--v5-paper) 76%, #fff) 0%, #fff 42%, color-mix(in srgb, var(--v5-accent) 10%, #fff) 100%);
}
.home-image-intro h2 {
  max-width: 620px;
  margin: 0 0 18px;
  color: #111b3b;
  font-size: clamp(34px, 4vw, 58px);
  line-height: 1.02;
}
.home-image-intro p:not(.kicker) {
  max-width: 520px;
  color: #515750;
  font: calc(18px * var(--site-font-scale))/1.65 Georgia, serif;
}
.home-image-grid {
  display: grid;
  grid-template-columns: minmax(240px, 1.08fr) minmax(210px, .92fr);
  grid-auto-rows: minmax(192px, 1fr);
  gap: clamp(12px, 1.6vw, 18px);
}
.home-image-tile {
  position: relative;
  min-height: 204px;
  overflow: hidden;
  display: block;
  border-radius: 8px;
  background: #111b3b;
  color: #fff;
  box-shadow: 0 18px 40px rgba(17, 27, 59, .14);
}
.home-image-tile-featured { grid-row: span 2; min-height: 430px; background: #111b3b; }
.home-image-tile img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
  transition: transform .35s ease;
}
.home-image-tile-featured img { object-fit: contain; padding: clamp(24px, 3vw, 42px); background: linear-gradient(145deg, #111b3b, #273b56); }
.home-image-tile:hover img,
.home-image-tile:focus-visible img { transform: scale(1.04); }
.home-image-tile div {
  position: absolute;
  inset: auto 0 0;
  display: grid;
  gap: 4px;
  padding: 42px 20px 18px;
  background: linear-gradient(180deg, rgba(17,27,59,0), rgba(17,27,59,.92));
}
.home-image-tile span {
  color: #f0d35a;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .12em;
  text-transform: uppercase;
}
.home-image-tile strong {
  color: #fff;
  font-size: clamp(18px, 1.5vw, 24px);
  line-height: 1.08;
}

body.section-home .category-band {
  grid-template-columns: minmax(250px, .42fr) minmax(0, 1fr);
  gap: clamp(28px, 4vw, 58px);
  background: linear-gradient(135deg, #111b3b 0%, #142948 54%, #8f1822 100%);
}
body.section-home .category-links {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 1px;
  background: rgba(255,255,255,.18);
}
body.section-home .category-links a {
  min-height: 112px;
  display: grid;
  align-content: space-between;
  gap: 14px;
  padding: 18px;
  border: 0;
  background: rgba(255,255,255,.06);
}
body.section-home .category-links a:hover,
body.section-home .category-links a:focus-visible { background: rgba(255,255,255,.16); }
body.section-home .category-links strong { color: #fff; font-size: clamp(16px, 1.35vw, 20px); line-height: 1.12; }
body.section-home .category-links span { color: rgba(255,255,255,.76); font-size: 12px; line-height: 1.25; }

@media (max-width: 1320px) {
  body.section-home .publication-grid,
  body.section-home .category-links { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 980px) {
  body.section-home .publication-grid,
  body.section-home .category-links,
  .home-image-board,
  .home-image-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  body.section-home .category-band { grid-template-columns: 1fr; }
  .home-image-intro { grid-column: 1 / -1; }
  .home-image-tile-featured { grid-row: auto; min-height: 260px; }
}
@media (max-width: 620px) {
  body.section-home .section,
  body.section-home .category-band,
  body.section-home .news-events-grid,
  body.section-home .catalog-cta,
  .home-image-board { padding-left: 20px; padding-right: 20px; }
  body.section-home .publication-grid,
  body.section-home .category-links,
  .home-image-board,
  .home-image-grid { grid-template-columns: 1fr; }
  .home-image-tile { min-height: 220px; }
}

/* Live refinement: shorter header and compact homepage visual areas */
body:not(.admin-body) .masthead-row {
  min-height: 112px;
}
body.section-home .home-image-board {
  gap: clamp(22px, 3.2vw, 44px);
  padding-top: clamp(42px, 4.5vw, 64px);
  padding-bottom: clamp(42px, 4.5vw, 64px);
}
body.section-home .home-image-grid {
  max-width: 940px;
  justify-self: end;
  grid-template-columns: minmax(220px, 1.1fr) minmax(170px, .9fr) minmax(170px, .9fr);
  grid-template-rows: repeat(2, minmax(150px, 14vw));
  grid-auto-rows: minmax(150px, 14vw);
  gap: clamp(8px, 1vw, 12px);
}
body.section-home .home-image-tile {
  min-height: 150px;
}
body.section-home .home-image-tile-featured {
  grid-column: 1;
  grid-row: 1 / span 2;
  min-height: 0;
}
body.section-home .home-image-grid .home-image-tile:nth-child(2) {
  grid-column: 2;
  grid-row: 1;
}
body.section-home .home-image-grid .home-image-tile:nth-child(3) {
  grid-column: 3;
  grid-row: 1;
}
body.section-home .home-image-grid .home-image-tile:nth-child(4) {
  grid-column: 2 / 4;
  grid-row: 2;
}
body.section-home .home-image-tile-featured img {
  padding: clamp(16px, 2vw, 28px);
}
body.section-home .home-image-tile div {
  padding: 30px 16px 14px;
}
body.section-home .category-band {
  gap: clamp(16px, 2.4vw, 32px);
}
body.section-home .category-links {
  align-self: start;
  gap: 2px;
  grid-auto-rows: minmax(92px, auto);
}
body.section-home .category-links a {
  min-height: 92px;
  gap: 8px;
  padding: 14px;
}
body.section-home .testimonial blockquote {
  max-width: 820px;
  font-size: clamp(24px, 2.5vw, 36px);
  line-height: 1.18;
}
@media (max-width: 980px) {
  body.section-home .home-image-grid {
    max-width: none;
    justify-self: stretch;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    grid-template-rows: none;
  }
  body.section-home .home-image-tile-featured {
    grid-column: auto;
    grid-row: auto;
    min-height: 240px;
  }
  body.section-home .home-image-grid .home-image-tile:nth-child(n) {
    grid-column: auto;
    grid-row: auto;
  }
}
@media (max-width: 620px) {
  body:not(.admin-body) .masthead-row {
    min-height: 84px;
  }
  body.section-home .home-image-board {
    padding-top: 36px;
    padding-bottom: 36px;
  }
}

/* Sprint UI uniformity: public site and CMS design-system layer */
:root {
  --lj-primary: var(--v5-green, #111b3b);
  --lj-accent: var(--v5-accent, #8f1822);
  --lj-gold: #f0d35a;
  --lj-paper: var(--v5-paper, #f7f4ed);
  --lj-surface: #fffdf8;
  --lj-surface-strong: #ffffff;
  --lj-text: #17201c;
  --lj-heading: #111b3b;
  --lj-muted: #4d5651;
  --lj-border: #d9ded8;
  --lj-border-strong: #c6cec7;
  --lj-radius: 8px;
  --lj-shadow: 0 14px 32px rgba(17, 27, 59, .08);
  --lj-shadow-soft: 0 6px 18px rgba(17, 27, 59, .055);
  --lj-page-x: clamp(22px, 4vw, 64px);
  --lj-section-y: clamp(56px, 6vw, 94px);
  --lj-grid-gap: clamp(16px, 2vw, 28px);
}

body:not(.admin-body),
.admin-body,
.admin-login-body {
  font-family: var(--theme-body, Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif);
  letter-spacing: 0;
}
body:not(.admin-body) {
  color: var(--lj-text);
  line-height: 1.62;
  background: var(--lj-paper);
}
body:not(.admin-body) :where(h1, h2, h3, h4, h5, h6) {
  color: var(--lj-heading);
  font-family: var(--theme-heading, Georgia, "Times New Roman", serif);
  font-weight: 700;
  letter-spacing: 0;
}
body:not(.admin-body) :where(p, li, blockquote, label, input, select, textarea, button, a, span, small, th, td),
.admin-body :where(h1, h2, h3, h4, h5, h6, p, li, label, input, select, textarea, button, a, span, small, th, td) {
  letter-spacing: 0;
}
body:not(.admin-body) :where(p, li) {
  color: var(--lj-muted);
  line-height: 1.62;
}
body:not(.admin-body) :where(a) {
  text-underline-offset: 3px;
}
body:not(.admin-body) :where(a:hover, a:focus-visible) {
  color: var(--lj-accent);
}
body:not(.admin-body) :where(.kicker, .eyebrow, .publication-meta > div > p, .event-meta span, .book-facts span, .results-line, .status-badge) {
  color: var(--lj-accent);
  font-size: 12px !important;
  font-weight: 800;
  letter-spacing: 0 !important;
  text-transform: uppercase;
}

body:not(.admin-body) :where(.section, .contact-shell, .auth-shell, .catalogue-shell, .catalogue-layout, .book-commerce-detail, .publisher-directory, .portal-layout, .event-detail, .review-section, .catalog-grid, .news-grid, .account-body, .cart-shell, .checkout-shell, .order-detail, .service-detail-list, .status-lookup) {
  padding-left: var(--lj-page-x);
  padding-right: var(--lj-page-x);
}
body:not(.admin-body) :where(.section, .contact-shell, .auth-shell, .publisher-directory, .portal-layout, .event-detail, .review-section, .catalog-grid, .news-grid, .account-body, .cart-shell, .checkout-shell, .order-detail, .status-lookup) {
  padding-top: var(--lj-section-y);
  padding-bottom: var(--lj-section-y);
}
body:not(.admin-body) :where(.page-hero, .catalogue-hero, .publisher-landing-hero, .portal-hero) {
  padding-left: var(--lj-page-x);
  padding-right: var(--lj-page-x);
  background: linear-gradient(180deg, var(--lj-paper), #fffaf2);
  border-bottom: 1px solid var(--lj-border);
}
body:not(.admin-body) :where(.section-heading) {
  gap: clamp(18px, 4vw, 54px);
  align-items: end;
  margin-bottom: clamp(28px, 4vw, 52px);
}
body:not(.admin-body) :where(.section-heading h2) {
  font-size: clamp(30px, 3.4vw, 48px);
  line-height: 1.08;
}
body:not(.admin-body) :where(.section-heading > p, .section-heading a) {
  color: var(--lj-muted);
  font-size: calc(16px * var(--site-font-scale, 1));
  line-height: 1.6;
}

body:not(.admin-body) :where(.publication-grid, .catalogue-grid, .author-grid, .article-grid, .partner-grid, .reason-grid, .media-grid, .account-summary, .dashboard-stats, .quick-grid, .favorite-author-list) {
  gap: var(--lj-grid-gap);
}
body:not(.admin-body) :where(.form-card, .auth-card, .book-purchase-card, .checkout-summary, .cart-summary, .tracking-result, .sample-panel, .partner-grid article, .reason-grid article, .media-grid article, .dashboard-section, .account-focus-grid a, .home-image-tile, .news-events-grid > aside, .role-access-map article) {
  border: 1px solid var(--lj-border);
  border-radius: var(--lj-radius);
  background: var(--lj-surface-strong);
  box-shadow: var(--lj-shadow-soft);
}
body:not(.admin-body) :where(.form-card, .auth-card, .book-purchase-card, .checkout-summary, .cart-summary, .tracking-result, .sample-panel, .dashboard-section, .news-events-grid > aside) {
  padding: clamp(22px, 3vw, 34px);
}
body:not(.admin-body) :where(.publication-card, .book-purchase-card, .form-card, .dashboard-section) {
  border-top: 3px solid color-mix(in srgb, var(--lj-accent) 74%, #fff);
}

body:not(.admin-body) :where(.button, .mini-button, .google-auth-button, .checkout-submit, .buy-now-button, .whatsapp-order-button) {
  min-height: 44px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  border-radius: var(--lj-radius);
  border-width: 1px;
  font-family: var(--theme-body, Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif);
  font-size: calc(14px * var(--site-font-scale, 1)) !important;
  font-weight: 800;
  line-height: 1.2;
  text-align: center;
  transition: background-color .18s ease, border-color .18s ease, color .18s ease, transform .18s ease, box-shadow .18s ease;
}
body:not(.admin-body) :where(.button:hover, .mini-button:hover, .google-auth-button:hover, .checkout-submit:hover, .buy-now-button:hover, .whatsapp-order-button:hover) {
  transform: translateY(-1px);
  box-shadow: var(--lj-shadow-soft);
}
body:not(.admin-body) .button-dark,
body:not(.admin-body) .mini-button {
  background: var(--lj-primary);
  border-color: var(--lj-primary);
  color: var(--theme-primary-contrast, #fff);
}
body:not(.admin-body) .button-dark:hover,
body:not(.admin-body) .mini-button:hover {
  background: var(--lj-accent);
  border-color: var(--lj-accent);
  color: var(--theme-accent-contrast, #fff);
}
body:not(.admin-body) .button-outline {
  background: #fff;
  border: 1px solid var(--lj-border-strong);
  color: var(--lj-heading);
}
body:not(.admin-body) .button-outline:hover {
  background: var(--lj-primary);
  border-color: var(--lj-primary);
  color: #fff;
}

body:not(.admin-body) :where(.form-card, .auth-card, .checkout-form, .contact-shell, .submission-form, .filter-sidebar, .catalogue-tools, .account-cart-quantity-form) :where(label) {
  gap: 8px;
  color: var(--lj-heading);
  font-size: 13px !important;
  font-weight: 800;
  line-height: 1.35;
  text-transform: none;
}
body:not(.admin-body) :where(.form-card, .auth-card, .checkout-form, .contact-shell, .submission-form, .filter-sidebar, .catalogue-tools, .account-cart-quantity-form) :where(input, select, textarea) {
  min-height: 44px;
  border: 1px solid var(--lj-border-strong);
  border-radius: var(--lj-radius);
  background: #fff;
  color: var(--lj-text);
  padding: 11px 13px;
  line-height: 1.45;
}
body:not(.admin-body) :where(.form-card, .auth-card, .checkout-form, .contact-shell, .submission-form, .filter-sidebar, .catalogue-tools, .account-cart-quantity-form) :where(input, select, textarea):focus {
  border-color: var(--lj-primary);
  box-shadow: 0 0 0 3px rgba(17, 27, 59, .12);
}

body:not(.admin-body) :where(.table-wrap) {
  overflow: auto;
  border: 1px solid var(--lj-border);
  border-radius: var(--lj-radius);
  background: #fff;
  box-shadow: var(--lj-shadow-soft);
}
body:not(.admin-body) :where(.table-wrap table) {
  width: 100%;
  border-collapse: collapse;
}
body:not(.admin-body) :where(.table-wrap th) {
  padding: 14px;
  background: #f6f7f5;
  color: var(--lj-muted);
  font-size: 12px !important;
  font-weight: 800;
  text-align: left;
}
body:not(.admin-body) :where(.table-wrap td) {
  padding: 14px;
  border-top: 1px solid var(--lj-border);
  color: var(--lj-text);
}

html[data-theme="dark"] body:not(.admin-body) {
  --lj-surface: #151b21;
  --lj-surface-strong: #1a2128;
  --lj-text: #edf2ef;
  --lj-heading: #ffffff;
  --lj-muted: #c5cec9;
  --lj-border: #303a43;
  --lj-border-strong: #3a4650;
  background: #080b12;
}
html[data-theme="dark"] body:not(.admin-body) :where(.form-card, .auth-card, .book-purchase-card, .checkout-summary, .cart-summary, .tracking-result, .sample-panel, .partner-grid article, .reason-grid article, .media-grid article, .dashboard-section, .account-focus-grid a, .home-image-tile, .news-events-grid > aside, .table-wrap) {
  background: var(--lj-surface-strong);
  border-color: var(--lj-border);
}
html[data-theme="dark"] body:not(.admin-body) :where(.form-card, .auth-card, .checkout-form, .contact-shell, .submission-form, .filter-sidebar, .catalogue-tools, .account-cart-quantity-form) :where(input, select, textarea) {
  background: #10161c;
  border-color: var(--lj-border-strong);
  color: var(--lj-text);
}

.admin-body {
  color: var(--admin-text, #172033);
  line-height: 1.55;
}
.admin-body :where(h1, h2, h3, h4, h5, h6) {
  color: var(--admin-text, #172033);
  font-family: var(--theme-body, Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif);
  font-weight: 800;
  letter-spacing: 0;
}
.admin-body :where(.admin-panels > section, .form-card, .admin-table, .table-wrap, .admin-stats article, .admin-stats a, .dashboard-quick-start a, .settings-group, .role-access-map article, .media-grid article, .admin-list-tools, .editor-toolbar) {
  border: 1px solid var(--admin-border, #e2e7ee);
  border-radius: var(--admin-radius, 8px);
  background: #fff;
  box-shadow: 0 6px 18px rgba(16, 24, 40, .045);
}
.admin-body :where(.button, .mini-button) {
  min-height: 42px;
  border-radius: var(--admin-radius, 8px);
  font-size: 13px !important;
  font-weight: 800;
  letter-spacing: 0;
}
.admin-body :where(input, select, textarea) {
  min-height: 42px;
  border-radius: var(--admin-radius, 8px);
  line-height: 1.45;
}
.admin-body :where(.table-wrap th) {
  color: var(--admin-muted, #667085);
  font-size: 12px !important;
  font-weight: 800;
  letter-spacing: 0;
}

@media (max-width: 900px) {
  body:not(.admin-body) {
    padding: 0;
  }
  body:not(.admin-body) :where(.section-heading) {
    grid-template-columns: 1fr;
    align-items: start;
  }
  body:not(.admin-body) :where(.section, .contact-shell, .auth-shell, .catalogue-shell, .catalogue-layout, .book-commerce-detail, .publisher-directory, .portal-layout, .event-detail, .review-section, .catalog-grid, .news-grid, .account-body, .cart-shell, .checkout-shell, .order-detail, .service-detail-list, .status-lookup) {
    padding-left: 20px;
    padding-right: 20px;
  }
  body:not(.admin-body) :where(.button, .mini-button, .google-auth-button) {
    min-height: 44px;
  }
}

/* Sprint UI uniformity refinement: legacy cards, hero scale, and admin login */
body:not(.admin-body) :where(.page-hero h1, .catalogue-hero h1, .publisher-landing-hero h1, .portal-hero h1, .post-detail > header h1) {
  font-size: clamp(42px, 5.4vw, 72px);
  line-height: 1.04;
}
body:not(.admin-body) .publisher-hero-copy h1 {
  font-size: clamp(48px, 6vw, 78px);
  line-height: 1.02;
}
body:not(.admin-body) :where(.book-main-column h1, .book-detail-copy h1) {
  font-size: clamp(38px, 4.8vw, 64px);
  line-height: 1.06;
}
body:not(.admin-body) :where(.contact-directory h2, .news-events-grid > aside h2, .home-news h3, .partner-grid h2, .media-grid h3) {
  font-size: clamp(22px, 2vw, 30px);
  line-height: 1.18;
}

body:not(.admin-body) .publication-card {
  box-sizing: border-box;
  padding: clamp(12px, 1.4vw, 18px);
  border: 1px solid var(--lj-border);
  border-top: 3px solid color-mix(in srgb, var(--lj-accent) 74%, #fff);
  border-radius: var(--lj-radius);
  background: var(--lj-surface-strong);
  box-shadow: var(--lj-shadow-soft);
  transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}
body:not(.admin-body) .publication-card:hover {
  border-color: var(--lj-border-strong);
  box-shadow: var(--lj-shadow);
  transform: translateY(-2px);
}
body:not(.admin-body) .publication-card .book-cover {
  border-radius: calc(var(--lj-radius) - 2px);
}
body:not(.admin-body) .publication-card .publication-meta h3 {
  font-size: clamp(18px, 1.6vw, 24px);
  line-height: 1.16;
}
body:not(.admin-body) .publication-card :where(.publication-excerpt, .publication-meta span, .rating-line small) {
  color: var(--lj-muted);
}

.admin-login-body {
  color: #172033;
  line-height: 1.55;
}
.admin-login-body :where(h1, h2, h3, p, label, input, button, a, span, small) {
  font-family: var(--theme-body, Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif);
  letter-spacing: 0;
}
.admin-login-body .admin-login-shell {
  border-radius: var(--lj-radius);
}
.admin-login-body :where(.admin-login-panel, .admin-login-brand) {
  border-color: var(--admin-border, #e2e7ee);
}
.admin-login-body :where(input, select, textarea) {
  min-height: 44px;
  border-radius: var(--lj-radius);
  line-height: 1.45;
}
.admin-login-body :where(.button, .admin-login-panel button:not(.password-visibility)) {
  min-height: 44px;
  border-radius: var(--lj-radius);
  font-size: 13px !important;
  font-weight: 800;
  letter-spacing: 0;
}
.admin-login-body .password-visibility {
  border-radius: calc(var(--lj-radius) - 1px);
}

/* Uniform computed typography: override legacy negative tracking rules */
body:not(.admin-body) :is(h1, h2, h3, h4, h5, h6, p, li, blockquote, label, input, select, textarea, button, a, span, small, th, td),
.admin-body :is(h1, h2, h3, h4, h5, h6, p, li, label, input, select, textarea, button, a, span, small, th, td),
.admin-login-body :is(h1, h2, h3, h4, h5, h6, p, li, label, input, select, textarea, button, a, span, small, th, td) {
  letter-spacing: 0 !important;
}
.admin-login-body :is(h1, h2, h3, h4, h5, h6) {
  font-family: var(--theme-body, Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif) !important;
}
.admin-login-body :where(.button, .admin-login-panel button:not(.password-visibility)) {
  border-radius: var(--lj-radius) !important;
}

/* Version 12: editable homepage, customer cancellations, account and author refinements */
.related-books .publication-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: clamp(16px, 2vw, 28px);
}

.home-publisher-board {
  display: grid;
  grid-template-columns: minmax(300px, .72fr) minmax(0, 1.28fr);
  gap: clamp(34px, 6vw, 88px);
  padding: clamp(58px, 7vw, 100px) var(--lj-page-x);
  background: #111b3b;
  color: #fff;
}
.home-publisher-intro { align-self: center; max-width: 620px; }
.home-publisher-intro h2 { margin: 10px 0 20px; color: #fff !important; font-size: clamp(38px, 4.4vw, 64px); line-height: 1.03; }
.home-publisher-intro > p:not(.kicker) { color: #d9dfef !important; font-size: 17px; }
.home-publisher-visuals { display: grid; grid-template-columns: 1.2fr .8fr; grid-template-rows: repeat(2, minmax(180px, 1fr)); gap: 12px; }
.home-publisher-visuals a { position: relative; min-height: 210px; overflow: hidden; border-radius: 8px; background: #f1ede5; }
.home-publisher-visuals a:first-child { grid-row: 1 / 3; min-height: 440px; }
.home-publisher-visuals img, .home-publisher-visuals .book-cover { width: 100%; height: 100%; margin: 0; object-fit: cover; transition: transform .4s ease; }
.home-publisher-visuals .book-cover { padding: 24px; object-fit: contain; }
.home-publisher-visuals a:hover img, .home-publisher-visuals a:hover .book-cover { transform: scale(1.025); }
.home-publisher-visuals a > span { position: absolute; right: 12px; bottom: 12px; left: 12px; padding: 9px 11px; border-radius: 6px; background: rgba(17,27,59,.86); color: #fff; font-size: 11px; font-weight: 800; text-transform: uppercase; }

.homepage-editor-guide { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; margin: 24px 0; }
.homepage-editor-guide article { display: flex; gap: 13px; align-items: center; padding: 17px; border: 1px solid var(--admin-border); border-radius: 10px; background: #fff; }
.homepage-editor-guide article > span { display: grid; place-items: center; flex: 0 0 34px; width: 34px; height: 34px; border-radius: 50%; background: #111b3b; color: #fff; font-weight: 900; }
.homepage-editor-guide p { margin: 3px 0 0; color: var(--admin-muted); font-size: 12px; }
.homepage-section-editor { display: grid; gap: 14px; }
.homepage-section-card { overflow: hidden; border: 1px solid #dfe5ed; border-radius: 12px; background: #fff; box-shadow: 0 5px 18px rgba(17,27,59,.045); transition: opacity .2s ease, border-color .2s ease; }
.homepage-section-card.is-disabled { opacity: .64; }
.homepage-section-card > header { display: grid; grid-template-columns: 24px 1fr auto; gap: 14px; align-items: center; padding: 18px 20px; border-bottom: 1px solid #e8ecf2; background: #f8f9fc; }
.homepage-drag-handle { color: #98a2b3; font-size: 20px; }
.homepage-section-card header small { color: #8f1822; font-size: 9px !important; font-weight: 900; }
.homepage-section-card header h2 { margin: 2px 0; font-size: 19px; }
.homepage-section-card header p { margin: 0; color: #667085; font-size: 12px; }
.homepage-enable-switch { display: inline-flex !important; align-items: center; gap: 8px; padding: 8px 11px; border: 1px solid #d0d5dd; border-radius: 999px; background: #fff; }
.homepage-enable-switch input { width: 17px; height: 17px; min-height: 0 !important; }
.homepage-section-fields { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; padding: 20px; }
.homepage-section-fields label { display: grid; gap: 6px; color: #344054; font-size: 12px; font-weight: 800; }
.homepage-section-fields .full { grid-column: 1 / -1; }
.homepage-save-bar { position: sticky; z-index: 12; bottom: 16px; display: flex; align-items: center; justify-content: space-between; gap: 20px; margin: 18px 0 30px; padding: 14px 16px; border: 1px solid #ccd4e0; border-radius: 11px; background: rgba(255,255,255,.96); box-shadow: 0 16px 40px rgba(17,27,59,.14); backdrop-filter: blur(12px); }
.homepage-save-bar p { display: grid; margin: 0; }
.homepage-save-bar span { color: #667085; font-size: 11px; }
.homepage-banner-panel { padding: 24px; border: 1px solid var(--admin-border); border-radius: 12px; background: #fff; }
.homepage-slide-list { margin-top: 15px; }
.homepage-slide-list > span { display: flex; justify-content: space-between; padding: 12px 0; border-top: 1px solid #e8ecf2; }

.account-sidebar { background: linear-gradient(180deg, #111b3b 0%, #0b132c 100%); }
.account-sidebar nav { gap: 17px; }
.account-nav-group { display: grid; gap: 5px; }
.account-nav-group > p { margin: 0 0 3px; padding: 0 11px; color: #8490ad !important; font-size: 9px !important; font-weight: 900; text-transform: uppercase; }
.account-sidebar nav a { display: grid; grid-template-columns: 26px 1fr auto; justify-content: stretch; gap: 8px; border-radius: 8px; color: #c9d1e4; }
.account-sidebar nav a:hover, .account-sidebar nav a.active { background: #fff; color: #111b3b; transform: translateX(2px); }
.account-nav-icon { display: grid; place-items: center; width: 24px; height: 24px; border-radius: 6px; background: rgba(255,255,255,.08); font-size: 14px; }
.account-sidebar nav a.active .account-nav-icon { background: #f4e9e8; color: #8f1822; }
.account-metric-grid article { position: relative; overflow: hidden; border-radius: 12px; border-top: 3px solid #8f1822; }
.account-metric-grid article:after { content: ""; position: absolute; right: -22px; bottom: -30px; width: 90px; height: 90px; border-radius: 50%; background: rgba(143,24,34,.05); }
.account-metric-grid article > i { position: absolute; top: 17px; right: 17px; display: grid; place-items: center; width: 34px; height: 34px; border-radius: 9px; background: #f5e9e9; color: #8f1822; font-size: 13px; font-style: normal; font-weight: 900; }
.account-metric-grid article, .dashboard-card { animation: account-card-in .38s ease both; }
.account-metric-grid article:nth-child(2) { animation-delay: .04s; }.account-metric-grid article:nth-child(3) { animation-delay: .08s; }.account-metric-grid article:nth-child(4) { animation-delay: .12s; }
@keyframes account-card-in { from { opacity: 0; transform: translateY(8px); } to { opacity: 1; transform: none; } }
.cancellation-policy { display: grid; grid-template-columns: 34px 1fr; gap: 13px; align-items: start; margin-bottom: 20px; padding: 15px; border: 1px solid #ead9ad; border-radius: 10px; background: #fff9e9; }
.cancellation-policy > span { display: grid; place-items: center; width: 30px; height: 30px; border-radius: 50%; background: #f0d35a; color: #111b3b; font-weight: 900; }
.cancellation-policy p { margin: 4px 0 0; font-size: 12px; }
.cancellation-policy.is-exhausted { border-color: #e5c8cc; background: #fff1f2; }
.cancellable-order-list { display: grid; gap: 10px; }
.order-cancel-menu { border: 1px solid #e1e6ea; border-radius: 10px; background: #fafbfc; }
.order-cancel-menu summary { display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 15px 17px; cursor: pointer; list-style: none; }
.order-cancel-menu summary span { display: grid; gap: 3px; }.order-cancel-menu summary small { color: #737f79; }.order-cancel-menu summary b { color: #8f1822; }
.order-cancel-menu form { display: grid; gap: 12px; padding: 0 17px 17px; border-top: 1px solid #e7eaee; }
.order-cancel-menu form label { display: grid; gap: 7px; margin-top: 15px; font-weight: 800; }
.order-cancel-menu textarea, .order-detail-cancellation textarea { width: 100%; box-sizing: border-box; padding: 11px; border: 1px solid #cbd3d0; border-radius: 8px; resize: vertical; }
.cancel-order-button { background: #8f1822 !important; border-color: #8f1822 !important; color: #fff !important; }
.order-detail-cancellation { display: grid; grid-template-columns: minmax(0,.8fr) minmax(320px,1.2fr); gap: 28px; margin-top: 18px !important; border-top: 3px solid #8f1822; }
.order-detail-cancellation form, .order-detail-cancellation label { display: grid; gap: 10px; }
.customer-cancellation-admin { display: grid; gap: 7px; margin-top: 12px; padding-top: 12px; border-top: 1px solid #e4e7ec; }
.customer-cancellation-admin span { display: grid; }.customer-cancellation-admin small { color: #667085; }
.customer-cancellation-admin button { justify-self: start; }
.customer-cancellation-reason { border-left-color: #8f1822 !important; background: #fff4f4 !important; }
.customer-cancellation-reason small { display: block; margin-top: 8px; color: #7a6769; }

.author-profile-modern { display: grid; grid-template-columns: minmax(280px,.72fr) minmax(0,1.18fr) minmax(290px,.7fr); gap: clamp(28px, 5vw, 76px); align-items: center; padding: clamp(60px, 8vw, 112px) var(--lj-page-x); background: linear-gradient(135deg, #f7f5ef 0%, #fffdf8 62%, #f2e7e5 100%); border-bottom: 1px solid var(--lj-border); }
.author-profile-portrait { position: relative; }
.author-profile-portrait .author-portrait { min-height: 480px; border-radius: 8px; box-shadow: 0 22px 46px rgba(17,27,59,.14); }
.author-profile-portrait .author-portrait > span { display: grid; place-items: center; height: 100%; min-height: 480px; background: #111b3b; color: #fff; font-size: 72px; }
.author-profile-caption { position: absolute; right: -12px; bottom: 18px; padding: 9px 12px; border-radius: 6px; background: #8f1822; color: #fff; font-size: 10px; font-weight: 900; text-transform: uppercase; }
.author-profile-content h1 { margin: 7px 0 22px; font-size: clamp(52px, 6vw, 88px); line-height: .98; }
.author-profile-content .author-bio { max-width: 720px; color: #38413d; font: 20px/1.75 var(--theme-heading, Georgia, serif); }
.author-profile-actions { display: flex; flex-wrap: wrap; gap: 12px; align-items: center; margin-top: 28px; }
.author-profile-actions > a { font-weight: 800; }
.author-profile-facts { overflow: hidden; border: 1px solid var(--lj-border); border-radius: 10px; background: rgba(255,255,255,.8); box-shadow: var(--lj-shadow-soft); }
.author-profile-facts header { display: grid; gap: 5px; padding: 18px 20px; background: #111b3b; color: #fff; }
.author-profile-facts header span { color: #b8c2da; font-size: 10px; font-weight: 900; text-transform: uppercase; }
.author-profile-facts dl { margin: 0; }
.author-profile-facts dl > div { display: grid; grid-template-columns: minmax(110px,.75fr) minmax(0,1.25fr); gap: 18px; padding: 15px 19px; border-top: 1px solid #e2e5e1; }
.author-profile-facts dt { color: #68716c; font-size: 11px; font-weight: 800; }
.author-profile-facts dd { margin: 0; color: #111b3b; font-size: 13px; font-weight: 800; }
.author-publications-section { padding: var(--lj-section-y) var(--lj-page-x); }
.author-publication-grid { grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: var(--lj-grid-gap); }

@media (max-width: 1100px) {
  .related-books .publication-grid, .author-publication-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .author-profile-modern { grid-template-columns: minmax(250px,.7fr) minmax(0,1.3fr); }
  .author-profile-facts { grid-column: 1 / -1; }
  .home-publisher-board { grid-template-columns: 1fr; }
}
@media (max-width: 760px) {
  .related-books .publication-grid, .author-publication-grid { grid-template-columns: 1fr; }
  .home-publisher-visuals { grid-template-columns: 1fr 1fr; grid-template-rows: auto; }
  .home-publisher-visuals a:first-child { grid-column: 1 / -1; grid-row: auto; min-height: 360px; }
  .homepage-editor-guide, .homepage-section-fields { grid-template-columns: 1fr; }
  .homepage-section-fields .full { grid-column: auto; }
  .homepage-section-card > header { grid-template-columns: 1fr; }
  .homepage-drag-handle { display: none; }
  .homepage-enable-switch { justify-self: start; }
  .homepage-save-bar { align-items: stretch; flex-direction: column; }
  .account-nav-group { display: contents; }
  .account-nav-group > p { display: none; }
  .account-sidebar nav { gap: 6px; }
  .account-sidebar nav a { grid-template-columns: 24px auto auto; }
  .order-detail-cancellation, .author-profile-modern { grid-template-columns: 1fr; }
  .author-profile-modern { padding: 42px 20px 58px; }
  .author-profile-portrait .author-portrait, .author-profile-portrait .author-portrait > span { min-height: 360px; }
}
@media (prefers-reduced-motion: reduce) {
  .account-metric-grid article, .dashboard-card { animation: none; }
  .home-publisher-visuals img, .home-publisher-visuals .book-cover { transition: none; }
}

/* Admin surfaces do not receive public inline theme variables, so pin the CMS font explicitly. */
.admin-body,
.admin-login-body,
.admin-body :is(h1, h2, h3, h4, h5, h6, p, li, label, input, select, textarea, button, a, span, small, th, td),
.admin-login-body :is(h1, h2, h3, h4, h5, h6, p, li, label, input, select, textarea, button, a, span, small, th, td) {
  font-family: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif !important;
}

/* Bookstore, catalogue wrapping, and CMS list alignment */
body:not(.admin-body) .bookstore-hero {
  background:
    linear-gradient(135deg, color-mix(in srgb, var(--lj-primary) 8%, #fff), color-mix(in srgb, var(--lj-accent) 10%, #fff)),
    var(--lj-secondary);
}
body:not(.admin-body) .bookstore-layout {
  align-items: start;
}
body:not(.admin-body) .bookstore-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}
body:not(.admin-body) .filter-sidebar {
  border-radius: var(--lj-radius);
  background: linear-gradient(180deg, #fff, color-mix(in srgb, var(--lj-secondary) 62%, #fff));
  box-shadow: var(--lj-shadow-soft);
}
body:not(.admin-body) .filter-sidebar form {
  gap: 12px;
}
body:not(.admin-body) .filter-sidebar label {
  min-width: 0;
}
body:not(.admin-body) .filter-sidebar .button,
body:not(.admin-body) .filter-sidebar .clear-filter {
  width: 100%;
}
body:not(.admin-body) .publication-card,
body:not(.admin-body) .publication-card *,
.admin-body .publication-table,
.admin-body .publication-table * {
  min-width: 0;
}
body:not(.admin-body) .publication-card :where(h3, p, span, strong, a, small),
.admin-body .publication-table :where(td, th, strong, span, a, button) {
  overflow-wrap: anywhere;
  word-break: normal;
}
body:not(.admin-body) .publication-publisher {
  display: block;
  margin-top: 5px;
  color: var(--lj-primary) !important;
  font-size: 12px !important;
  font-weight: 800;
}
body:not(.admin-body) .book-publisher {
  margin: 4px 0 16px;
  color: var(--lj-muted);
  font-size: 14px !important;
  line-height: 1.45;
  overflow-wrap: anywhere;
}
body:not(.admin-body) .book-publisher strong {
  color: var(--lj-heading);
}
body:not(.admin-body) .publication-actions {
  gap: 12px;
  flex-wrap: wrap;
}
body:not(.admin-body) .publication-actions .card-buttons {
  flex-wrap: wrap;
  min-width: 0;
}
body:not(.admin-body) .view-list .publication-card {
  grid-template-columns: minmax(118px, 150px) minmax(0, 1fr);
  align-items: start;
  gap: 14px 22px;
  padding: 16px 18px;
  overflow: hidden;
  transform: none !important;
}
body:not(.admin-body) .catalogue-results .catalogue-grid.view-list {
  grid-template-columns: minmax(0, 1fr) !important;
  gap: 16px;
}
body:not(.admin-body) .view-list .publication-cover-link {
  grid-row: 1 / span 5;
  align-self: start;
  width: 100%;
  max-width: 150px;
}
body:not(.admin-body) .view-list .book-cover {
  width: 100%;
  margin: 0;
  padding: 20px 16px;
  box-shadow: 8px 10px 18px rgba(23,23,19,.14), inset -8px 0 rgba(0,0,0,.08);
}
body:not(.admin-body) .view-list .book-cover:before {
  inset: 8px;
}
body:not(.admin-body) .view-list .book-cover:after {
  width: 48%;
}
body:not(.admin-body) .view-list .book-cover .cover-monogram {
  font-size: clamp(54px, 6vw, 88px);
}
body:not(.admin-body) .view-list .book-cover p {
  font-size: clamp(17px, 1.35vw, 23px);
  line-height: 1.08;
  margin-bottom: 7px;
}
body:not(.admin-body) .view-list .book-cover small,
body:not(.admin-body) .view-list .book-cover b {
  font-size: 8px !important;
}
body:not(.admin-body) .view-list .book-badges {
  left: 8px;
  top: 8px;
}
body:not(.admin-body) .view-list .book-badges b {
  padding: 4px 6px;
  font-size: 8px;
}
body:not(.admin-body) .view-list .publication-meta,
body:not(.admin-body) .view-list .rating-line,
body:not(.admin-body) .view-list .card-price,
body:not(.admin-body) .view-list .publication-excerpt,
body:not(.admin-body) .view-list .publication-actions {
  grid-column: 2;
  max-width: 100%;
}
body:not(.admin-body) .view-list .publication-meta {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 8px 14px;
  margin: 0;
  padding: 0;
  border-top: 0;
  align-items: start;
}
body:not(.admin-body) .view-list .publication-meta h3,
body:not(.admin-body) .view-list .publication-excerpt {
  overflow-wrap: anywhere;
}
body:not(.admin-body) .view-list .publication-meta > div > p {
  margin-bottom: 4px;
}
body:not(.admin-body) .view-list .publication-meta h3 {
  font-size: clamp(22px, 1.7vw, 28px);
  line-height: 1.12;
}
body:not(.admin-body) .view-list .publication-meta span {
  margin-top: 3px;
}
body:not(.admin-body) .view-list .rating-line,
body:not(.admin-body) .view-list .card-price {
  margin: 0;
  line-height: 1.25;
}
body:not(.admin-body) .view-list .publication-excerpt {
  min-height: 0;
  margin: 0;
  color: #4f5b67;
  font-size: 15px;
  line-height: 1.45;
}
body:not(.admin-body) .view-list .publication-actions {
  align-self: start;
  margin-top: 2px;
}
body:not(.admin-body) .results-toolbar {
  gap: 14px;
  flex-wrap: wrap;
}
body:not(.admin-body) .results-toolbar form {
  flex-wrap: wrap;
  justify-content: flex-end;
}
.admin-body .admin-list-tools {
  grid-template-columns: minmax(220px, 1.4fr) repeat(3, minmax(150px, .7fr)) auto auto;
  align-items: end;
  gap: 14px;
}
.admin-body .publication-table table {
  table-layout: auto;
}
.admin-body .publication-table th,
.admin-body .publication-table td {
  vertical-align: top;
  line-height: 1.45;
}
.admin-body .publication-table td:first-child,
.admin-body .publication-table td:nth-child(3) {
  max-width: 260px;
}
.admin-body .publication-table .table-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
.admin-body .editor-card .checkbox-label {
  display: flex;
  align-items: center;
  gap: 10px;
  min-height: 42px;
}
.publisher-footer .footer-brand-name {
  display: block;
  max-width: none;
  font-size: clamp(24px, 2.4vw, 34px);
  line-height: 1.14;
  white-space: normal;
}
.publisher-footer .footer-brand-name span {
  display: inline-block;
  margin-top: 3px;
}
.admin-body .admin-heading-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  justify-content: flex-end;
}
.admin-body .source-mode-note {
  display: grid;
  gap: 5px;
  min-height: 42px;
  padding: 10px 12px;
  border: 1px solid var(--admin-border, #e2e7ee);
  border-radius: var(--admin-radius, 8px);
  background: #f8fafc;
}
.admin-body .source-mode-note span {
  color: var(--admin-muted, #667085);
  font-size: 12px !important;
  font-weight: 800;
}
.admin-body .source-mode-note strong {
  color: var(--admin-text, #172033);
  font-size: 13px;
}

/* Contrast corrections for brand-colored homepage sections */
body.section-home .category-band,
body.section-home .category-band :where(h2, strong, p, a) {
  color: #fff !important;
}
body.section-home .category-band .kicker,
body.section-home .category-band .kicker.light {
  color: #ffddd6 !important;
}
body.section-home .category-band .topic-cloud a,
body.section-home .category-band .tag-row a {
  color: #fff !important;
  border-color: rgba(255,255,255,.28);
  background: rgba(255,255,255,.09);
  text-shadow: none;
}
body.section-home .category-band .topic-cloud a:hover,
body.section-home .category-band .tag-row a:hover {
  background: rgba(255,255,255,.18);
}
body.section-home .hero-discovery,
body.section-home .publisher-services,
body.section-home .catalog-cta,
body.section-home .featured-band,
.newsletter-band,
.publisher-footer {
  color: #fff;
}
body.section-home .hero-discovery :where(p, h2, a),
body.section-home .publisher-services :where(span, strong, small),
body.section-home .catalog-cta :where(p, h2, a),
body.section-home .featured-band :where(p, h2, blockquote, a),
.newsletter-band :where(p, h2, label, small),
.publisher-footer :where(p, strong, a, span) {
  color: inherit;
}
body.section-home .hero-discovery p,
body.section-home .publisher-services span,
body.section-home .catalog-cta .kicker,
body.section-home .featured-band .kicker,
.newsletter-band .kicker {
  color: #ffd8cf !important;
}
body.section-home .catalog-cta > div:first-child > p:not(.kicker),
body.section-home .featured-band blockquote,
.newsletter-band small,
.publisher-footer .footer-overview p,
.publisher-footer .footer-bottom {
  color: rgba(255,255,255,.88) !important;
}
body.section-home .featured-band {
  color: #111b3b;
  background: var(--v5-surface);
}
body.section-home .featured-band :where(h2, p, blockquote, a) {
  color: inherit;
}
body.section-home .featured-band .kicker,
body.section-home .featured-band .kicker.light {
  color: #9f2f24 !important;
}
body.section-home .featured-band blockquote {
  color: #334155 !important;
}
body.section-home .featured-band .button-cream {
  background: var(--v5-green);
  color: #fff !important;
}
body.section-home .featured-band .button-cream:hover {
  background: var(--v5-accent);
  color: #fff !important;
}
body.section-home .catalog-cta .button-cream {
  background: #fffaf0;
  color: #111b3b !important;
}
body.section-home .catalog-cta .button-cream:hover {
  background: var(--v5-green);
  color: #fff !important;
}
body.section-home .authors-preview .author-portrait {
  color: #111b3b;
  background: color-mix(in srgb, var(--v5-accent) 12%, #f5f1e8);
  border: 1px solid color-mix(in srgb, var(--v5-green) 14%, #fff);
}
body.section-home .authors-preview .author-portrait img {
  background: #f5f1e8;
}
.publisher-footer .footer-overview {
  grid-template-columns: minmax(0, 1fr);
  align-items: start;
}
.publisher-footer .footer-brand-name {
  width: min(760px, 100%);
  font-size: clamp(28px, 2.8vw, 40px);
}
.publisher-footer .footer-brand-name br {
  display: block;
}

@media (max-width: 1150px) {
  body:not(.admin-body) .bookstore-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .admin-body .admin-list-tools {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 760px) {
  body:not(.admin-body) .bookstore-grid,
  body:not(.admin-body) .view-list .publication-card {
    grid-template-columns: 1fr;
  }
  body:not(.admin-body) .view-list .publication-cover-link {
    max-width: 240px;
  }
  body:not(.admin-body) .results-toolbar form,
  body:not(.admin-body) .results-toolbar select {
    width: 100%;
  }
  .admin-body .admin-list-tools {
    grid-template-columns: 1fr;
  }
  .admin-body .admin-heading-actions {
    justify-content: flex-start;
    width: 100%;
  }
}

/* Version 8: tabbed reader/author workspaces, fulfilment tracking and audit tables */
.account-app { display:grid; grid-template-columns:280px minmax(0,1fr); min-height:760px; background:#f4f6f5; }
.account-sidebar { position:sticky; top:0; align-self:start; min-height:100vh; padding:34px 24px; background:#13231d; color:#fff; }
.account-identity { display:flex; align-items:center; gap:13px; padding-bottom:26px; border-bottom:1px solid rgba(255,255,255,.14); }
.account-avatar { display:grid; place-items:center; flex:0 0 48px; width:48px; height:48px; border-radius:15px; background:linear-gradient(135deg,var(--v5-accent),#f2d7a4); color:#14221d!important; font-size:15px; font-weight:900; letter-spacing:.04em; }
.account-identity div { min-width:0; display:grid; gap:3px; }
.account-identity strong { color:#fff!important; font-size:14px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.account-identity small { color:#b9cbc3!important; font-size:11px!important; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.account-identity em { width:max-content; margin-top:4px; padding:4px 7px; border-radius:999px; background:rgba(255,255,255,.1); color:#e8f2ee; font-size:9px; font-style:normal; text-transform:uppercase; letter-spacing:.08em; }
.account-sidebar nav { display:grid; gap:5px; margin:28px 0; }
.account-sidebar nav a { display:flex; align-items:center; justify-content:space-between; min-height:44px; padding:0 12px; border-radius:9px; color:#c5d2cd; font-size:13px; font-weight:700; }
.account-sidebar nav a:hover,.account-sidebar nav a.active { background:#fff; color:#16241f; }
.account-sidebar nav b { display:grid; place-items:center; min-width:23px; height:23px; padding:0 6px; border-radius:999px; background:var(--v5-accent); color:#16241f; font-size:10px; }
.account-sidebar-actions { display:grid; gap:2px; padding-top:18px; border-top:1px solid rgba(255,255,255,.14); }
.account-sidebar-actions a,.account-sidebar-actions button { width:100%; padding:10px 4px; border:0; background:transparent; color:#b9cbc3; text-align:left; font:600 12px var(--theme-body); cursor:pointer; }
.account-sidebar-actions a:hover,.account-sidebar-actions button:hover { color:#fff; }
.account-workspace { min-width:0; padding:clamp(28px,4vw,58px); }
.account-workspace-header { display:flex; align-items:center; justify-content:space-between; gap:25px; margin-bottom:30px; }
.account-workspace-header h1 { margin:3px 0 7px; font-size:clamp(34px,4vw,54px); }
.account-workspace-header p { margin:0; color:#69756f; }
.account-metric-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:14px; margin-bottom:18px; }
.account-metric-grid article { display:grid; gap:7px; min-height:138px; padding:22px; border:1px solid #dde4e0; border-radius:16px; background:#fff; box-shadow:0 8px 24px rgba(20,39,31,.04); }
.account-metric-grid span { color:#647069; font-size:11px; text-transform:uppercase; letter-spacing:.09em; }
.account-metric-grid strong { color:#17251f; font-size:29px; }
.account-metric-grid small { color:#7a8580; }
.account-overview-grid { display:grid; grid-template-columns:minmax(0,1.45fr) minmax(300px,.55fr); gap:18px; }
.dashboard-card { min-width:0; padding:clamp(22px,3vw,34px); border:1px solid #dce4e0; border-radius:18px; background:#fff; box-shadow:0 10px 30px rgba(20,39,31,.04); }
.dashboard-card+.dashboard-card { margin-top:18px; }
.account-overview-grid .dashboard-card+.dashboard-card { margin-top:0; }
.card-heading { display:flex; align-items:flex-start; justify-content:space-between; gap:20px; margin-bottom:25px; }
.card-heading h2 { margin:4px 0 5px; font-size:27px; }
.card-heading p { margin:0; color:#66736d; }
.account-quick-actions>div { display:grid; gap:9px; }
.account-quick-actions>div a { display:grid; gap:4px; padding:15px; border:1px solid #e0e6e3; border-radius:11px; background:#f8faf9; }
.account-quick-actions>div a:hover { border-color:#9db2a8; transform:translateY(-1px); }
.account-quick-actions span { color:#6e7a74; font-size:11px; }
.order-progress { display:grid; grid-template-columns:repeat(6,1fr); margin:30px 0 22px; }
.order-progress span { position:relative; display:grid; justify-items:center; gap:8px; color:#8a9490; text-align:center; }
.order-progress span:before { content:""; position:absolute; top:7px; right:50%; width:100%; height:2px; background:#dce3df; }
.order-progress span:first-child:before { display:none; }
.order-progress i { position:relative; z-index:1; width:16px; height:16px; border:3px solid #d4ddd8; border-radius:50%; background:#fff; }
.order-progress span.done { color:#1d5f42; font-weight:800; }
.order-progress span.done:before,.order-progress span.done i { border-color:#2f8b61; background:#2f8b61; }
.order-progress.cancelled span { opacity:.4; }
.order-progress.cancelled:after { content:"Order cancelled"; grid-column:1/-1; margin-top:12px; color:#a03737; font-weight:800; text-align:center; }
.manuscript-progress { grid-template-columns:repeat(5,1fr); }
.latest-order-meta { display:flex; flex-wrap:wrap; gap:10px 20px; padding:14px 0; border-top:1px solid #e2e7e4; border-bottom:1px solid #e2e7e4; color:#5d6963; font-size:12px; }
.customer-update { padding:12px 14px; border-left:3px solid #2f8b61; background:#f1f8f4; color:#294b3c; }
.text-link { display:inline-flex; margin-top:18px; font-weight:800; }
.modern-data-table table { min-width:920px; }
.modern-data-table th { padding:11px 14px; background:#f3f6f4; color:#5d6963; font-size:10px; letter-spacing:.07em; text-transform:uppercase; }
.modern-data-table td { padding:15px 14px; border-bottom:1px solid #e4e9e6; vertical-align:top; color:#3c4842; font-size:12px; }
.modern-data-table td strong,.modern-data-table td small,.modern-data-table td a { display:block; }
.modern-data-table td small { margin-top:4px; color:#78837e; }
.modern-data-table input[type="number"] { width:72px; padding:9px; border:1px solid #cfd8d3; border-radius:7px; }
.account-cart-actions { display:flex; justify-content:flex-end; gap:10px; margin-top:20px; }
.account-empty { padding:42px 15px; text-align:center; }
.account-empty h3 { margin:0 0 8px; font-size:25px; }
.account-profile-form { padding:0!important; border:0!important; background:transparent!important; box-shadow:none!important; }
.profile-link-card { display:flex; align-items:center; justify-content:space-between; gap:20px; margin-top:22px; padding:18px; border:1px solid #dde4e0; border-radius:12px; background:#f7f9f8; }
.profile-link-card p { margin:4px 0 0; color:#6f7b75; }
.modern-conversation article { border-radius:12px; background:#f7f9f8; }
.compact-message-card h3 { margin-top:0; }
.settings-policy-card { padding:18px; border:1px solid #d5e5dc; border-radius:12px; background:#f3faf6; }
.settings-policy-card p { margin-bottom:0; color:#50645a; }

.order-tracking-page { padding:clamp(42px,6vw,84px) clamp(24px,7vw,110px) 110px; background:#f4f6f5; }
.order-tracking-hero { display:flex; align-items:end; justify-content:space-between; gap:30px; max-width:1180px; margin:0 auto 24px; }
.order-tracking-hero h1 { margin:3px 0; font-size:clamp(40px,6vw,72px); }
.order-tracking-hero>div:last-child { display:grid; justify-items:end; gap:12px; }
.order-tracking-hero>div:last-child>strong { font-size:24px; }
.order-tracking-page>.dashboard-card,.order-tracking-grid,.order-tracking-page>.confirmation-actions { max-width:1180px; margin-left:auto; margin-right:auto; }
.tracking-progress-card { margin-bottom:18px; }
.order-progress.large { margin-top:38px; }
.expected-date { display:grid; gap:3px; padding:12px 16px; border-radius:11px; background:#edf6f1; }
.expected-date span { color:#557064; font-size:10px; text-transform:uppercase; }
.order-tracking-grid { display:grid; grid-template-columns:minmax(0,1.3fr) minmax(300px,.7fr); gap:18px; }
.tracking-item-list>div,.tracking-totals>div,.tracking-delivery-card dl>div { display:flex; justify-content:space-between; gap:20px; padding:13px 0; border-bottom:1px solid #e2e7e4; }
.tracking-item-list small { display:block; margin-top:4px; color:#77817d; }
.tracking-totals div:last-child { padding-top:20px; border-bottom:0; font-size:18px; }
.tracking-totals dd,.tracking-delivery-card dd { margin:0; text-align:right; }
.tracking-delivery-card .button { width:100%; justify-content:center; margin-top:18px; }
.order-public-timeline { margin-top:18px!important; }
.order-public-timeline ol { display:grid; gap:0; margin:0; padding:0; list-style:none; }
.order-public-timeline li { position:relative; display:grid; grid-template-columns:18px 1fr; gap:15px; padding:0 0 24px; }
.order-public-timeline li:before { content:""; position:absolute; left:6px; top:13px; bottom:-1px; width:2px; background:#d7e2dc; }
.order-public-timeline li:last-child:before { display:none; }
.order-public-timeline li>i { position:relative; z-index:1; width:14px; height:14px; margin-top:3px; border-radius:50%; background:#2f8b61; box-shadow:0 0 0 4px #e6f3ec; }
.order-public-timeline li span { display:block; margin-top:3px; color:#77817d; font-size:11px; }
.order-public-timeline li p { margin:8px 0 0; color:#53605a; }

.order-admin-stats,.activity-stats { display:grid!important; grid-template-columns:repeat(4,1fr)!important; gap:12px!important; margin-bottom:20px; }
.order-admin-stats article,.activity-stats article { display:grid; gap:5px; padding:18px; border:1px solid #e0e5e2; border-radius:12px; background:#fff; }
.order-admin-stats span,.activity-stats span { color:#6a756f; font-size:10px; text-transform:uppercase; }
.order-admin-stats strong,.activity-stats strong { font-size:26px; }
.order-search-bar { display:flex; align-items:end; gap:10px; margin:18px 0; padding:16px; border:1px solid #e0e5e2; border-radius:12px; background:#fff; }
.order-search-bar label { flex:1; }
.enhanced-order-form { display:grid!important; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px!important; }
.enhanced-order-form label { display:grid; gap:6px; }
.enhanced-order-form .full,.enhanced-order-form button { grid-column:1/-1; }
.tracking-summary { padding:10px; border-radius:8px; background:#f1f7f4; }
.order-history { margin:15px 0; padding:14px; border:1px solid #dde4e0; border-radius:10px; background:#f8faf9; }
.order-history summary { cursor:pointer; font-weight:800; }
.order-history ol { display:grid; gap:12px; padding:16px 0 0; list-style:none; }
.order-history li { display:grid; grid-template-columns:150px 1fr; gap:14px; }
.order-history li p { margin:4px 0 0; }
.activity-filter-grid { display:grid; grid-template-columns:1.1fr 1.1fr 1fr .8fr .8fr auto auto; align-items:end; gap:10px; margin:18px 0; padding:16px; border:1px solid #e0e5e2; border-radius:12px; background:#fff; }
.activity-filter-grid label { display:grid; gap:5px; }
.table-caption,.table-pagination { display:flex; justify-content:space-between; gap:20px; margin:14px 0; color:#67736d; font-size:12px; }
.detailed-activity-table table { min-width:1320px; }
.detailed-activity-table td { vertical-align:top; }
.detailed-activity-table td>small,.detailed-activity-table td>strong { display:block; }
.log-level { display:inline-flex; padding:4px 7px; border-radius:999px; font-size:9px; font-weight:900; text-transform:uppercase; }
.log-level.info { background:#eaf3ef; color:#246245; }.log-level.warning { background:#fff3dc; color:#8b5b0b; }.log-level.critical { background:#fee8e8; color:#9b2f2f; }
.metadata-list { display:grid; gap:4px; min-width:210px; margin:0; }
.metadata-list div { display:grid; grid-template-columns:90px 1fr; gap:8px; }
.metadata-list dt { color:#78837e; }.metadata-list dd { margin:0; overflow-wrap:anywhere; }
.user-agent { display:block; max-width:220px; }
.table-pagination { justify-content:center; align-items:center; }
.table-pagination a,.table-pagination span { padding:8px 12px; border:1px solid #dce3df; border-radius:7px; background:#fff; }

html[data-theme="dark"] body:not(.admin-body) :is(.account-workspace,.order-tracking-page) { background:#0f1416; }
html[data-theme="dark"] body:not(.admin-body) :is(.dashboard-card,.account-metric-grid article) { background:#1b2124; border-color:#30383b; }
html[data-theme="dark"] body:not(.admin-body) :is(.account-quick-actions>div a,.modern-data-table th,.profile-link-card,.customer-update) { background:#20282b; border-color:#30383b; }

@media(max-width:1100px){.account-app{grid-template-columns:230px minmax(0,1fr)}.account-metric-grid{grid-template-columns:repeat(2,1fr)}.account-overview-grid,.order-tracking-grid{grid-template-columns:1fr}.activity-filter-grid{grid-template-columns:repeat(3,1fr)}.enhanced-order-form{grid-template-columns:repeat(2,1fr)}}
@media(max-width:760px){.account-app{display:block}.account-sidebar{position:static;min-height:0;padding:22px}.account-sidebar nav{display:flex;overflow-x:auto;margin:18px 0 0;padding-bottom:5px}.account-sidebar nav a{flex:0 0 auto}.account-sidebar-actions{display:none}.account-workspace{padding:28px 20px 70px}.account-workspace-header,.order-tracking-hero{align-items:flex-start;flex-direction:column}.account-workspace-header .button{width:100%;justify-content:center}.account-metric-grid{grid-template-columns:1fr 1fr}.account-metric-grid article{min-height:120px;padding:17px}.card-heading{flex-direction:column}.order-progress{overflow-x:auto;grid-template-columns:repeat(6,96px);padding-bottom:8px}.manuscript-progress{grid-template-columns:repeat(5,110px)}.account-cart-actions{align-items:stretch;flex-direction:column}.order-tracking-page{padding:40px 20px 80px}.order-tracking-hero>div:last-child{justify-items:start}.order-admin-stats,.activity-stats{grid-template-columns:1fr 1fr!important}.order-search-bar{align-items:stretch;flex-direction:column}.enhanced-order-form,.activity-filter-grid{grid-template-columns:1fr}.enhanced-order-form .full,.enhanced-order-form button{grid-column:auto}}

/* Version 13: clean responsive containment, compact author titles and icon system */
html,
body,
.site-shell,
body:not(.admin-body) main {
  max-width: 100%;
}
html,
body {
  overflow-x: clip;
}
*,
*::before,
*::after {
  box-sizing: border-box;
}
body:not(.admin-body) :where(section, article, aside, header, footer, nav, form, fieldset, div, dl, ul, ol, li) {
  min-width: 0;
}
body:not(.admin-body) :where(img, video, iframe, canvas) {
  max-width: 100%;
  height: auto;
}
body:not(.admin-body) :where(h1, h2, h3, h4, h5, h6, p, a, span, strong, small, dt, dd, li, label, button, th, td) {
  max-width: 100%;
  overflow-wrap: anywhere;
  word-break: normal;
}
body:not(.admin-body) :where(input, select, textarea) {
  max-width: 100%;
}
body:not(.admin-body) :where(pre, code) {
  max-width: 100%;
  white-space: pre-wrap;
  overflow-wrap: anywhere;
}
body:not(.admin-body) .table-wrap {
  max-width: 100%;
  overflow-x: auto;
  overscroll-behavior-inline: contain;
}

body:not(.admin-body) .publication-card {
  min-width: 0;
  overflow: hidden;
}
body:not(.admin-body) .publication-card .publication-meta,
body:not(.admin-body) .view-list .publication-meta {
  display: grid;
  grid-template-columns: minmax(0, 1fr) !important;
  align-items: start;
  gap: 8px;
}
body:not(.admin-body) .publication-card .publication-meta > div,
body:not(.admin-body) .publication-card .publication-meta h3,
body:not(.admin-body) .publication-card .publication-meta h3 a {
  min-width: 0;
  max-width: 100%;
}
body:not(.admin-body) .publication-card .publication-meta h3 {
  font-size: clamp(17px, 1.35vw, 21px);
  line-height: 1.17;
  hyphens: auto;
}
body:not(.admin-body) .publication-card .publication-meta > strong,
body:not(.admin-body) .publication-card .availability {
  justify-self: start;
  width: auto;
  max-width: 100%;
  white-space: normal;
  line-height: 1.25;
}
body:not(.admin-body) .publication-card .book-cover :where(p, small, b, span),
body:not(.admin-body) .publication-actions :where(a, button) {
  max-width: 100%;
  overflow-wrap: anywhere;
}
body:not(.admin-body) .publication-actions,
body:not(.admin-body) .publication-actions .card-buttons {
  align-items: stretch;
}

.author-publication-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: clamp(14px, 1.7vw, 22px);
}
.author-publication-grid .publication-card {
  padding: clamp(10px, 1.1vw, 14px);
}
.author-publication-grid .publication-card .publication-meta h3 {
  font-size: clamp(16px, 1.2vw, 19px);
}
.author-publication-grid .publication-excerpt {
  display: none;
}
.author-publication-grid .publication-actions {
  margin-top: 4px;
}

.social-icon {
  display: block;
  width: 18px;
  height: 18px;
  flex: 0 0 18px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.social-icon .icon-fill {
  fill: currentColor;
  stroke: none;
}
.book-share-row .share-button {
  width: 44px;
  height: 44px;
  padding: 0;
}
.book-share-row .share-button .social-icon {
  width: 19px;
  height: 19px;
}
.book-share-row .share-button[aria-label*="Facebook"] { color: #1877f2; }
.book-share-row .share-button[aria-label*="WhatsApp"] { color: #128c4a; }
.book-share-row .share-button[aria-label*="Instagram"] { color: #c13584; }
.book-share-row .share-button[aria-label*="X"] { color: #111; }

.publisher-footer .footer-socials {
  gap: 10px;
}
.publisher-footer .footer-socials a {
  display: grid;
  place-items: center;
  width: 42px;
  height: 42px;
  padding: 0;
  border-radius: 50%;
}
.publisher-footer .footer-socials .social-icon {
  width: 18px;
  height: 18px;
}
.publisher-footer .footer-links > div > p {
  display: flex;
  align-items: center;
  gap: 8px;
}
.footer-heading-icon {
  display: grid;
  place-items: center;
  width: 27px;
  height: 27px;
  flex: 0 0 27px;
  border: 1px solid rgba(255,255,255,.24);
  border-radius: 7px;
}
.footer-heading-icon svg {
  width: 14px;
  height: 14px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.7;
  stroke-linecap: round;
  stroke-linejoin: round;
}

body.section-home .publisher-services > a {
  position: relative;
}
body.section-home .publisher-services > a > i,
body.section-home .category-links > a > i {
  display: grid;
  place-items: center;
  width: 38px;
  height: 38px;
  margin-bottom: 12px;
  border: 1px solid rgba(255,255,255,.24);
  border-radius: 9px;
  background: rgba(255,255,255,.08);
  color: #fff;
  font-style: normal;
}
body.section-home .publisher-services > a > i svg,
body.section-home .category-links > a > i svg {
  width: 20px;
  height: 20px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.7;
  stroke-linecap: round;
  stroke-linejoin: round;
}
body.section-home .category-links > a {
  grid-template-columns: auto minmax(0, 1fr);
}
body.section-home .category-links > a > i {
  grid-row: 1 / 3;
  align-self: center;
  margin: 0 4px 0 0;
}

.author-social-link {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  min-height: 40px;
  padding: 8px 11px;
  border: 1px solid var(--lj-border);
  border-radius: 999px;
  background: rgba(255,255,255,.72);
}
.author-social-link:hover {
  border-color: var(--lj-accent);
  color: var(--lj-accent);
}

@media (max-width: 1100px) {
  .author-publication-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (max-width: 760px) {
  .masthead-row .menu-toggle {
    position: relative;
    justify-content: center;
    width: 44px;
    min-width: 44px;
    min-height: 44px;
    padding: 0;
  }
  .masthead-row .menu-toggle > span {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
  }
  .masthead-row .menu-toggle > i {
    flex: 0 0 20px;
  }
  .collection-tabs {
    scrollbar-width: none;
  }
  .collection-tabs::-webkit-scrollbar {
    display: none;
  }
  body:not(.admin-body) :where(.section, .page-hero, .catalogue-hero, .publisher-landing-hero, .book-commerce-detail, .author-publications-section) {
    max-width: 100%;
  }
  body:not(.admin-body) :where(.section-heading, .publication-actions, .results-toolbar, .card-heading, .confirmation-actions) {
    align-items: stretch;
  }
  body:not(.admin-body) .publication-actions {
    flex-direction: column;
  }
  body:not(.admin-body) .publication-actions .card-buttons,
  body:not(.admin-body) .publication-actions :where(.mini-button, .cart-login-button) {
    width: 100%;
  }
  .publisher-footer .footer-links {
    grid-template-columns: 1fr 1fr;
  }
}
@media (max-width: 520px) {
  .author-publication-grid,
  .publisher-footer .footer-links {
    grid-template-columns: 1fr;
  }
  .author-profile-actions {
    align-items: stretch;
    flex-direction: column;
  }
  .author-social-link {
    justify-content: center;
  }
}

/* Version 11: editorial checkout experience */
.checkout-hero {
  display:grid;
  grid-template-columns:minmax(0,1.15fr) minmax(440px,.85fr);
  align-items:end;
  gap:clamp(38px,6vw,90px);
  min-height:300px;
  padding:clamp(54px,7vw,92px) clamp(28px,8vw,110px);
  background:
    radial-gradient(circle at 88% 18%,rgba(143,24,34,.08),transparent 32%),
    linear-gradient(135deg,#fffdfa 0%,#f7f5ef 100%);
}
.checkout-hero-copy { max-width:720px; }
.checkout-hero h1 { max-width:720px; margin:10px 0 18px; font-size:clamp(48px,6vw,82px); }
.checkout-hero-copy>p:last-child { max-width:650px; margin:0; color:#525a55; font-size:17px; line-height:1.7; }
.checkout-progress { display:grid; grid-template-columns:repeat(3,1fr); gap:0; margin:0 0 8px; padding:0; list-style:none; }
.checkout-progress li { position:relative; display:grid; grid-template-columns:34px 1fr; column-gap:11px; align-items:center; min-width:0; }
.checkout-progress li:not(:last-child):after { content:""; position:absolute; top:16px; left:42px; right:8px; height:1px; background:#cfd2cc; }
.checkout-progress li>span { position:relative; z-index:1; grid-row:1/3; display:grid; place-items:center; width:34px; height:34px; border:1px solid #bfc5c0; border-radius:50%; background:#fff; color:#66706a; font-size:11px; font-weight:900; }
.checkout-progress li small { color:#7a817d; font-size:9px; font-weight:800; letter-spacing:.1em; text-transform:uppercase; }
.checkout-progress li strong { color:#58605b; font-size:13px; }
.checkout-progress li.is-complete>span { border-color:var(--v5-green); background:var(--v5-green); color:#fff; }
.checkout-progress li.is-current>span { border-color:var(--v5-accent); background:var(--v5-accent); color:#fff; box-shadow:0 0 0 5px rgba(143,24,34,.09); }
.checkout-progress li.is-current strong { color:#17201c; }

.checkout-shell { grid-template-columns:minmax(0,1.42fr) minmax(360px,.58fr); gap:clamp(28px,4vw,56px); padding:clamp(42px,5vw,72px) clamp(24px,7vw,100px) 110px; background:#f4f2ec; }
.checkout-main { max-width:880px; }
.checkout-signin { grid-template-columns:42px minmax(0,1fr) auto auto; gap:16px; margin-bottom:20px; padding:17px 18px; border:1px solid #d9ddd8; border-radius:14px; background:rgba(255,255,255,.85); box-shadow:0 8px 24px rgba(17,27,59,.04); }
.checkout-signin-mark { display:grid; place-items:center; width:42px; height:42px; border-radius:12px; background:var(--v5-green); color:#fff; font:800 11px var(--theme-body); letter-spacing:.08em; }
.checkout-signin p { margin:2px 0 0; font-size:12px; line-height:1.45; }
.checkout-signin-link,.checkout-register-link { display:inline-flex; align-items:center; justify-content:center; min-height:38px; padding:0 14px; border-radius:8px; text-decoration:none; }
.checkout-signin-link { border:1px solid #d4d9d5; background:#fff; }
.checkout-register-link { background:#f8ecec; }

.checkout-form { gap:16px; }
.checkout-section { padding:28px; border:1px solid #dde0db; border-radius:18px; background:#fff; box-shadow:0 10px 30px rgba(17,27,59,.045); }
.checkout-section legend { display:flex; align-items:center; gap:12px; margin:0; padding:0 12px 0 0; color:#17201c; font:600 23px var(--theme-heading); }
.checkout-section legend span { width:34px; height:34px; margin:0; background:#111b3b; font-size:11px; box-shadow:0 0 0 5px #f0f2f5; }
.checkout-section legend b { font:inherit; }
.checkout-section-intro { margin:2px 0 22px 46px; color:#727a75; font-size:12px; line-height:1.5; }
.checkout-choice-grid { gap:12px; }
.checkout-choice>span { position:relative; min-height:98px; align-content:center; padding:18px 48px 18px 18px; border-color:#d8dcd8; border-radius:12px; background:#faf9f6; transition:border-color .18s ease,background .18s ease,transform .18s ease,box-shadow .18s ease; }
.checkout-choice:hover>span { transform:translateY(-1px); border-color:#aeb7b0; box-shadow:0 8px 18px rgba(17,27,59,.06); }
.checkout-choice input:checked+span { border-color:var(--v5-accent); background:#fff7f6; box-shadow:0 0 0 1px var(--v5-accent),0 8px 20px rgba(143,24,34,.07); }
.checkout-choice input:disabled+span { cursor:not-allowed; opacity:.54; background:#f2f2ef; }
.checkout-choice strong { font-size:15px; }
.checkout-choice small { max-width:270px; color:#69716c; }
.checkout-choice em { display:none; position:absolute; top:14px; right:14px; color:var(--v5-accent); font-size:9px; font-style:normal; font-weight:900; letter-spacing:.07em; text-transform:uppercase; }
.checkout-choice input:checked+span em { display:block; }

.checkout-section .checkout-field-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:19px 18px; margin-top:0; }
.checkout-field-grid label,.fonepay-details label,.checkout-note { display:grid; align-content:start; gap:8px; min-width:0; color:#28302c; font-size:12px; font-weight:800; }
.checkout-field-grid label.full { grid-column:1/-1; }
.checkout-field-grid label>small { margin-top:-3px; color:#7a827d; font-size:10px; font-weight:500; line-height:1.4; }
.field-label { display:flex; align-items:center; justify-content:space-between; gap:10px; }
.field-label b { color:var(--v5-accent); }
.field-label em { color:#8a918d; font-size:9px; font-style:normal; font-weight:700; letter-spacing:.07em; text-transform:uppercase; }
.checkout-section :is(input[type="text"],input[type="email"],input[type="tel"],input:not([type]),textarea),
.fonepay-details input { box-sizing:border-box; width:100%; min-width:0; min-height:50px; padding:13px 14px; border:1px solid #cfd5d1; border-radius:10px; background:#fcfcfa; color:#17201c; font-size:14px; font-weight:500; line-height:1.35; transition:border-color .18s ease,box-shadow .18s ease,background .18s ease; }
.checkout-section textarea { min-height:110px; resize:vertical; }
.checkout-section :is(input,textarea)::placeholder { color:#9aa19d; }
.checkout-section :is(input,textarea):focus { outline:0; border-color:#6e7c75; background:#fff; box-shadow:0 0 0 4px rgba(17,27,59,.08); }
.checkout-address.is-disabled { display:none; }
.fonepay-details { border-radius:12px; }
.gift-option { min-height:66px; border-color:#d8dcd8; border-radius:11px; background:#faf9f6; }
.gift-option:hover { border-color:#afb8b1; }
.checkout-note { margin-top:18px; }
.terms-check { align-items:center; min-height:62px; padding:14px 16px; border:1px solid #dfe3df; border-radius:12px; background:#fff; color:#4b5550; }
.terms-check input { width:18px; height:18px; }
.checkout-action-panel { display:grid; gap:8px; }
.checkout-action-panel>small { color:#747c77; font-size:10px; text-align:center; }
.checkout-submit { display:flex; justify-content:space-between; min-height:58px; padding:0 22px; border-radius:11px; box-shadow:0 12px 24px rgba(17,27,59,.16); }
.checkout-submit strong { font-size:15px; }

.checkout-summary { top:120px; padding:26px; border-color:#d9ddd8; border-radius:18px; box-shadow:0 18px 50px rgba(17,27,59,.09); }
.checkout-summary-header { display:flex; align-items:start; justify-content:space-between; gap:18px; margin-bottom:20px; }
.checkout-summary-header .kicker { margin:0 0 5px; }
.checkout-summary-header h2 { margin:0; }
.checkout-summary-header>a { padding:6px 0; color:var(--v5-accent); font-size:11px; font-weight:900; text-decoration:none; }
.checkout-summary-items article { grid-template-columns:48px minmax(0,1fr) auto; gap:11px; }
.checkout-summary-items .book-cover { width:48px; border-radius:5px; box-shadow:0 5px 12px rgba(0,0,0,.12); }
.checkout-summary-items div>strong { font-size:13px; line-height:1.35; }
.checkout-summary dl>div { padding:8px 0; font-size:13px; }
.checkout-summary [data-gift-total-row][hidden] { display:none !important; }
.checkout-summary .summary-grand-total { font-size:19px; }
.checkout-trust span { padding:6px 9px; background:#eff2ef; }

html[data-theme="dark"] body:not(.admin-body) .checkout-hero { background:linear-gradient(135deg,#12181b,#1a2023); }
html[data-theme="dark"] body:not(.admin-body) :is(.checkout-shell,.checkout-choice>span,.gift-option) { background:#111719; }
html[data-theme="dark"] body:not(.admin-body) :is(.checkout-section,.checkout-summary,.checkout-signin,.terms-check) { border-color:#30383b; background:#1b2124; }
html[data-theme="dark"] body:not(.admin-body) .checkout-section :is(input,textarea) { border-color:#3b4448; background:#171d20; color:#f2f5f3; }
html[data-theme="dark"] body:not(.admin-body) .checkout-choice input:checked+span { background:#2a1d1f; }

@media(max-width:1120px){
  .checkout-hero { grid-template-columns:1fr; gap:34px; }
  .checkout-progress { max-width:620px; }
  .checkout-shell { grid-template-columns:1fr; }
  .checkout-main { max-width:none; }
  .checkout-summary { position:static; }
}
@media(max-width:700px){
  .checkout-hero { min-height:0; padding:44px 20px; }
  .checkout-hero h1 { font-size:clamp(42px,13vw,62px); }
  .checkout-progress li { grid-template-columns:30px 1fr; column-gap:8px; }
  .checkout-progress li>span { width:30px; height:30px; }
  .checkout-progress li:not(:last-child):after { top:14px; left:36px; }
  .checkout-progress li small { display:none; }
  .checkout-progress li strong { font-size:11px; }
  .checkout-shell { padding:28px 16px 70px; }
  .checkout-signin { grid-template-columns:42px 1fr; }
  .checkout-signin-link,.checkout-register-link { min-width:0; }
  .checkout-section,.checkout-summary { padding:21px 18px; border-radius:14px; }
  .checkout-section legend { font-size:20px; }
  .checkout-section-intro { margin-left:0; }
  .checkout-section .checkout-field-grid,.checkout-choice-grid { grid-template-columns:1fr; }
  .checkout-field-grid label.full { grid-column:auto; }
  .checkout-choice>span { min-height:88px; }
}

/* Version 12: account-gated purchasing and roomier purchase panel */
body:not(.admin-body) .book-commerce-detail {
  grid-template-columns:minmax(240px,.7fr) minmax(420px,1.5fr) minmax(330px,.84fr);
}
body:not(.admin-body) .book-purchase-card {
  box-sizing:border-box;
  display:flex;
  flex-direction:column;
  min-height:640px;
  padding:clamp(30px,2.35vw,38px);
  border-radius:18px;
}
body:not(.admin-body) .book-purchase-card h2 {
  margin-bottom:24px;
}
body:not(.admin-body) .book-purchase-card .purchase-note {
  margin-top:auto;
  padding-top:26px;
}
body:not(.admin-body) .purchase-login-panel {
  display:grid;
  gap:12px;
  margin-top:24px;
  padding:24px;
  border:1px solid #dfe3df;
  border-radius:14px;
  background:#f8f7f3;
}
body:not(.admin-body) .purchase-login-panel>strong {
  color:#17201c;
  font:700 22px/1.2 var(--theme-heading);
}
body:not(.admin-body) .purchase-login-panel p {
  margin:0;
  color:#59625d;
  font-size:13px;
  line-height:1.65;
}
body:not(.admin-body) .purchase-login-panel>div {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:10px;
  margin-top:6px;
}
body:not(.admin-body) .purchase-login-panel .button {
  min-height:46px;
  justify-content:center;
}
body:not(.admin-body) .cart-login-button {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:40px;
  padding:0 14px;
  border:1px solid var(--v5-green);
  border-radius:8px;
  background:#fff;
  color:var(--v5-green);
  font-weight:800;
  text-decoration:none;
}
body:not(.admin-body) .cart-login-button:hover {
  background:var(--v5-green);
  color:#fff;
}
body.section-auth .auth-card {
  box-sizing:border-box;
  width:min(100%,660px);
  max-width:660px;
  min-height:620px;
  padding:clamp(44px,4vw,62px);
  border-radius:18px;
}
body.section-auth .auth-card h2 {
  margin:0 0 30px;
}
body.section-auth .auth-card>.google-identity-panel,
body.section-auth .auth-card>.form-errors {
  margin-bottom:24px;
}
html[data-theme="dark"] body:not(.admin-body) .purchase-login-panel {
  border-color:#30383b;
  background:#151b1e;
}
html[data-theme="dark"] body:not(.admin-body) .purchase-login-panel>strong {
  color:#f2f5f3;
}

@media(max-width:1180px){
  body:not(.admin-body) .book-commerce-detail { grid-template-columns:minmax(220px,.72fr) minmax(0,1.3fr); }
}
@media(max-width:820px){
  body:not(.admin-body) .book-commerce-detail { grid-template-columns:1fr; }
  body:not(.admin-body) .book-purchase-card { min-height:0; padding:28px 24px; }
  body.section-auth .auth-card { min-height:0; padding:36px 26px; }
}
@media(max-width:520px){
  body:not(.admin-body) .purchase-login-panel>div { grid-template-columns:1fr; }
}

/* Version 14: precise text controls, fulfilment choices and CMS language tools */
.home-publisher-visuals a > span { z-index:5; box-sizing:border-box; min-height:38px; display:flex; align-items:center; justify-content:flex-start; overflow:hidden; line-height:1.25; text-align:left; white-space:normal; }
.home-publisher-main .book-cover > small,
.home-publisher-main .book-cover > b { display:none!important; }
.home-publisher-main .book-cover:not(.has-image) { padding-bottom:76px; }

.header-search > div { box-sizing:border-box; min-width:0; padding-left:13px; }
.header-search input { min-width:0; padding-right:10px; text-align:left; }
.header-search button { box-sizing:border-box; flex:0 0 auto; width:auto; min-width:76px; max-width:42%; padding:0 16px; overflow:hidden; line-height:1; text-align:center; text-overflow:ellipsis; white-space:nowrap; }

.account-sidebar nav a { display:grid; grid-template-columns:26px minmax(0,1fr) auto; justify-content:stretch; gap:10px; text-align:left; }
.account-sidebar nav a > span:nth-child(2) { min-width:0; justify-self:start; overflow-wrap:anywhere; text-align:left; }
.account-sidebar nav b { justify-self:end; }
.account-nav-icon svg { width:15px; height:15px; fill:none; stroke:currentColor; stroke-width:1.8; }

body:not(.admin-body) .checkbox-label { display:flex!important; align-items:center; justify-content:flex-start; gap:10px; text-align:left; }
body:not(.admin-body) .checkbox-label input[type="checkbox"],
body:not(.admin-body) .terms-check input[type="checkbox"],
body:not(.admin-body) .gift-option input[type="checkbox"] { box-sizing:border-box; flex:0 0 16px; width:16px!important; height:16px!important; min-height:0!important; margin:0; padding:0; accent-color:var(--v5-accent); }
.account-profile-form .form-grid > label,
.checkout-field-grid > label,
.filter-sidebar label { text-align:left; }

html { transition:font-size .18s ease; }
.font-size-tool[aria-pressed="true"] { background:var(--v5-accent); color:#fff; }

.fulfilment-choice-panel { display:grid; gap:10px; margin-top:22px; }
.fulfilment-choice-panel form { margin:0; }
.fulfilment-choice { box-sizing:border-box; width:100%; min-height:72px; display:grid; grid-template-columns:42px minmax(0,1fr) auto; gap:12px; align-items:center; padding:12px 14px; border:1px solid #dce2de; border-radius:12px; background:#fff; color:#17201c; font:inherit; text-align:left; text-decoration:none; cursor:pointer; transition:border-color .18s ease,transform .18s ease,box-shadow .18s ease; }
.fulfilment-choice:hover,
.fulfilment-choice:focus-visible { border-color:var(--v5-accent); box-shadow:0 8px 20px rgba(17,27,59,.08); transform:translateY(-1px); }
.fulfilment-choice i { width:42px; height:42px; display:grid; place-items:center; border-radius:10px; background:#f5e9e9; color:var(--v5-accent); }
.fulfilment-choice i svg { width:23px; height:23px; fill:none; stroke:currentColor; stroke-width:1.8; }
.fulfilment-choice > span { min-width:0; display:grid; gap:3px; text-align:left; }
.fulfilment-choice strong { font-size:14px; }
.fulfilment-choice small { color:#66716b; font-size:11px!important; line-height:1.4; overflow-wrap:anywhere; }
.fulfilment-choice > b { color:var(--v5-accent); }
.fulfilment-choice.is-disabled { opacity:.72; cursor:default; }
.fulfilment-choice.is-disabled:hover { border-color:#dce2de; box-shadow:none; transform:none; }

.purchase-login-dialog { box-sizing:border-box; width:min(520px,calc(100vw - 32px)); padding:34px; border:0; border-radius:18px; background:#fff; color:#17201c; box-shadow:0 24px 80px rgba(10,20,35,.28); text-align:left; }
.purchase-login-dialog::backdrop { background:rgba(8,14,22,.66); backdrop-filter:blur(3px); }
.purchase-login-dialog .dialog-close { position:absolute; top:14px; right:14px; width:34px; height:34px; border:0; border-radius:50%; background:#f1f3f2; color:#28332e; font-size:20px; cursor:pointer; }
.purchase-login-dialog .dialog-icon { width:48px; height:48px; display:grid; place-items:center; margin-bottom:18px; border-radius:13px; background:#f5e9e9; color:var(--v5-accent); }
.purchase-login-dialog .dialog-icon svg { width:25px; height:25px; fill:none; stroke:currentColor; stroke-width:1.8; }
.purchase-login-dialog h2 { margin:5px 0 12px; font-size:34px; }
.purchase-login-dialog > p:not(.kicker) { color:#5c6661; line-height:1.65; }
.purchase-login-dialog > div { display:flex; flex-wrap:wrap; gap:10px; margin-top:24px; }

.translation-admin-tools { display:grid; grid-template-columns:minmax(0,1fr) minmax(320px,.65fr); gap:16px; margin-bottom:18px; }
.translation-search,
.translation-custom-entry,
.translation-row { padding:18px; border:1px solid var(--admin-border,#dfe5ed); border-radius:12px; background:#fff; }
.translation-search { display:flex; align-items:end; gap:10px; }
.translation-search label { flex:1; display:grid; gap:6px; }
.translation-search a { padding:12px 4px; }
.translation-custom-entry summary { cursor:pointer; font-weight:800; }
.translation-custom-entry form { display:grid; gap:12px; margin-top:16px; }
.translation-custom-entry label,
.translation-row label { display:grid; gap:6px; color:#344054; font-size:12px; font-weight:800; text-align:left; }
.translation-summary { display:flex; flex-wrap:wrap; gap:10px 24px; margin:18px 0; color:#667085; font-size:12px; }
.translation-list { display:grid; gap:12px; }
.translation-row { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)) auto; gap:12px; align-items:end; }
.translation-row textarea { min-height:74px; resize:vertical; }
.translation-row > div { display:grid; gap:8px; align-content:end; }
.translation-row small { max-width:140px; color:#667085; font-size:10px!important; }
.taxonomy-create-form { display:grid; gap:12px; margin-top:18px; }
.taxonomy-create-form label { text-align:left; }
.taxonomy-list a { align-items:center; }
.taxonomy-list a > span { flex:0 0 auto; }

@media(max-width:900px){
  .translation-admin-tools,
  .translation-row { grid-template-columns:1fr; }
  .translation-row > div { display:flex; flex-wrap:wrap; align-items:center; }
}
@media(max-width:760px){
  .account-sidebar nav a { grid-template-columns:24px minmax(max-content,1fr) auto; }
  .header-search button { min-width:68px; padding-inline:12px; }
  .purchase-login-dialog { padding:28px 22px; }
  .purchase-login-dialog > div { display:grid; }
}

/* Version 15: editorial CMS, real cover handling, metadata controls, and accessible theme spacing */
.book-cover.no-cover { display:grid; place-items:center; padding:18px; border:1px dashed #aeb8b3; background:#eef1f0; box-shadow:none; color:#52605a; text-align:center; }
.book-cover.no-cover::before,.book-cover.no-cover::after { display:none; }
.book-cover.no-cover .no-cover-label { position:static; max-width:16ch; color:#52605a; font:800 13px/1.4 var(--theme-body); letter-spacing:.04em; text-transform:uppercase; }
.book-cover.no-cover b { display:none; }

.current-media-preview { width:min(320px,100%); margin:0 0 18px; padding:10px; border:1px solid var(--admin-border,#e2e7ee); border-radius:10px; background:#f7f9fb; }
.current-media-preview img { width:100%; max-height:280px; display:block; object-fit:contain; border-radius:7px; background:#fff; }
.current-media-preview figcaption { padding:8px 3px 1px; color:var(--admin-muted,#667085); font-size:12px; font-weight:700; }
.book-cover-preview { width:min(220px,100%); }
.media-picker-grid { display:grid; grid-template-columns:minmax(160px,.45fr) minmax(0,1fr); gap:22px; align-items:start; }
.media-picker-grid > .form-grid:only-child { grid-column:1/-1; }

.metadata-choice-field { min-width:0; margin:0; padding:16px; border:1px solid var(--admin-border,#d8dee8); border-radius:9px; }
.metadata-choice-field legend { padding:0 7px; font-size:12px; font-weight:800; }
.metadata-choice-field > label { margin-top:14px; }
.metadata-choice-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:9px; }
.metadata-choice-grid label { min-height:42px; display:flex!important; align-items:center; gap:8px; padding:10px; border:1px solid var(--admin-border,#d8dee8); border-radius:8px; background:#f8fafc; cursor:pointer; }
.metadata-choice-grid input,.editorial-featured-check input { width:16px!important; height:16px!important; min-height:0!important; flex:0 0 16px; }

.editorial-stats { grid-template-columns:repeat(4,minmax(0,1fr)); margin-bottom:20px; }
.editorial-filters { grid-template-columns:minmax(220px,1.5fr) minmax(160px,.7fr) minmax(160px,.7fr) auto auto; }
.editorial-table td { vertical-align:top; }
.editorial-table td>strong,.editorial-table td>small { display:block; }
.editorial-table td>small { margin-top:5px; color:var(--admin-muted,#667085); line-height:1.45; }
.editorial-quick-form { min-width:410px; display:grid; grid-template-columns:minmax(118px,1fr) 76px minmax(96px,auto) auto; gap:8px; align-items:end; }
.editorial-quick-form label { display:grid; gap:4px; }
.editorial-quick-form label>span { color:var(--admin-muted,#667085); font-size:10px; font-weight:800; text-transform:uppercase; }
.editorial-quick-form :where(input,select,button) { min-height:36px!important; }
.editorial-featured-check { min-height:36px; display:flex!important; align-items:center; gap:7px; white-space:nowrap; }

body.section-home .authors-preview .author-grid { gap:clamp(14px,1.6vw,22px); }
body.section-home .authors-preview .author-grid article:nth-child(even) { margin-top:0; }
body.section-home .authors-preview .author-grid h3 { margin-top:12px; }
.author-directory { grid-template-columns:repeat(3,minmax(0,1fr)); gap:clamp(16px,2vw,26px); }
.author-directory article,.author-directory article:nth-child(even) { min-width:0; display:grid; grid-template-columns:1fr; gap:14px; align-content:start; padding:16px; border:1px solid var(--lj-border,#dfe4e1); border-radius:12px; background:#fff; }
.author-directory article:nth-child(even) .author-portrait { order:0; }
.author-directory .author-portrait.large { width:100%; min-height:0; aspect-ratio:4/4.4; border-radius:9px; }
.author-directory h2 { margin:0; font-size:clamp(27px,2.6vw,38px); }
.author-directory article>div:last-child>p:not(.kicker) { font-size:15px; line-height:1.58; }

html[data-theme="dark"] body.section-home .publisher-hero { background:#0c1217; color:#f8faf9; }
html[data-theme="dark"] body.section-home .publisher-hero::before { border-color:#34424b; opacity:.8; }
html[data-theme="dark"] body.section-home .publisher-hero-copy h1,
html[data-theme="dark"] body.section-home .publisher-hero-copy .eyebrow span { color:#fff!important; }
html[data-theme="dark"] body.section-home .publisher-hero-copy>p:not(.eyebrow) { color:#dbe4df!important; }
html[data-theme="dark"] body.section-home .publisher-hero-copy .line-link { color:#f4d7db!important; }
html[data-theme="dark"] body.section-home .authors-preview,
html[data-theme="dark"] body.section-authors .page-hero,
html[data-theme="dark"] body.section-authors .section { background:#0f161b; color:#f7faf8; }
html[data-theme="dark"] body.section-home .authors-preview :is(h2,h3,a),
html[data-theme="dark"] body.section-authors :is(h1,h2,h3,a) { color:#fff!important; }
html[data-theme="dark"] body.section-home .authors-preview :is(p,span),
html[data-theme="dark"] body.section-authors :is(p,span) { color:#cbd6d0!important; }
html[data-theme="dark"] body.section-home .authors-preview .author-grid article,
html[data-theme="dark"] body.section-authors .author-directory article { background:#182127; border-color:#39464e; }
html[data-theme="dark"] body.section-home .authors-preview .author-portrait { background:#253139; border-color:#495861; color:#fff; }
html[data-theme="dark"] body:not(.admin-body) .book-cover.no-cover { background:#1b2429; border-color:#52616a; }
html[data-theme="dark"] body:not(.admin-body) .book-cover.no-cover .no-cover-label { color:#d6dfda; }

@media(max-width:1100px){
  .author-directory { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .editorial-stats { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .editorial-filters { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media(max-width:760px){
  .author-directory { grid-template-columns:1fr; gap:14px; }
  .author-directory article { padding:12px; }
  .author-directory .author-portrait.large { max-height:440px; }
  .metadata-choice-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .media-picker-grid { grid-template-columns:1fr; }
  .editorial-stats,.editorial-filters { grid-template-columns:1fr; }
  .editorial-quick-form { min-width:340px; grid-template-columns:1fr 70px; }
  .editorial-featured-check,.editorial-quick-form button { align-self:end; }
}
/* Editorial platform: responsive safeguards and shared CMS controls */
img,svg,video,iframe{max-width:100%}
.cms-content,.author-bio,.publication-card,.news-grid article,.event-list article,.search-result-list article{overflow-wrap:anywhere;word-break:normal}
.rich-editor{display:grid;gap:8px}.rich-editor-toolbar{display:flex;flex-wrap:wrap;gap:5px;padding:7px;background:#eef1ef;border:1px solid #cfd6d1;border-bottom:0;border-radius:7px 7px 0 0}.rich-editor-toolbar button{border:1px solid #c3cbc6;background:#fff;border-radius:4px;padding:6px 9px;font-size:12px;font-weight:700;cursor:pointer}.rich-editor textarea{border-radius:0 0 7px 7px}
.media-usage{padding:10px;border-radius:6px;background:#f1f4f2;font-size:12px}.media-usage ul{margin:5px 0 0;padding-left:18px}.media-delete-lock{font-size:12px;color:#68736d}.text-danger{border:0;background:none;color:#9c2531;text-decoration:underline;cursor:pointer}
.featured-control-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-bottom:20px}.featured-control-grid>section{padding:18px;border:1px solid #d5dbd7;border-radius:9px;background:#fff}.featured-sort-list{display:grid;gap:7px}.featured-sort-list>label{display:flex;align-items:center;gap:9px;padding:9px;border:1px solid #e0e4e1;border-radius:6px;background:#f8faf8;cursor:grab}.featured-sort-list .dragging,[data-homepage-sort-item].dragging{opacity:.45}.homepage-featured-panel{margin:35px 0}
.content-filter-bar{display:grid;grid-template-columns:repeat(3,minmax(0,1fr)) auto;gap:12px;align-items:end;padding:22px clamp(20px,5vw,70px);background:var(--v5-paper)}.content-filter-bar label{display:grid;gap:7px;font-size:12px;font-weight:700}.content-filter-bar input,.content-filter-bar select{min-width:0;width:100%;padding:12px;border:1px solid #bdc5c0;border-radius:6px;background:#fff}.content-filter-bar .search-grow{grid-column:span 1}.search-results{padding:55px clamp(20px,6vw,90px)}.search-result-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.search-result-list article{padding:24px;border:1px solid #d8ddd9;border-radius:8px}.search-result-list article>span{font-size:11px;text-transform:uppercase;letter-spacing:.1em;color:var(--v5-accent)}.search-result-list h3{margin:8px 0;font-size:clamp(20px,2vw,28px)}
.no-photo-label{display:grid;width:100%;height:100%;place-items:center;background:linear-gradient(145deg,var(--v5-green),#314b41);color:#fff;font:700 clamp(28px,5vw,64px)/1 Georgia,serif}.editorial-desk-link{display:grid!important;place-items:center;text-align:center;align-content:center;gap:8px;background:var(--v5-green);color:var(--theme-primary-contrast);min-height:260px}.editorial-desk-link>span{width:52px}.editorial-desk-link svg{stroke:currentColor;fill:none;stroke-width:1.5}.responsive-video{position:relative;padding-top:56.25%}.responsive-video iframe{position:absolute;inset:0;width:100%;height:100%;border:0}.event-hero-image{width:100%;max-height:560px;object-fit:cover;margin-bottom:25px}
.homepage-campaign-slider{position:relative;overflow:hidden;background:var(--v5-paper)}.campaign-slide-track{display:flex;transition:transform .45s ease}.campaign-slide{flex:0 0 100%;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);min-height:460px;align-items:center}.campaign-slide>div:not(.campaign-slide-image){padding:clamp(35px,7vw,95px)}.campaign-slide h1{font-size:clamp(42px,6vw,78px);margin:0 0 18px}.campaign-slide-image,.campaign-slide-image img{width:100%;height:100%;min-height:460px;object-fit:cover}.campaign-slider-controls{position:absolute;right:24px;bottom:20px;display:flex;align-items:center;gap:9px;padding:7px;border-radius:999px;background:rgba(8,24,18,.88);color:#fff}.campaign-slider-controls button{width:34px;height:34px;border:0;border-radius:50%;background:#fff;color:#10241c;cursor:pointer}
html[data-theme="dark"] .content-filter-bar,html[data-theme="dark"] .featured-control-grid>section,html[data-theme="dark"] .featured-sort-list>label,html[data-theme="dark"] .search-result-list article,html[data-theme="dark"] .media-usage{background:#13221d;color:#f4f7f5;border-color:#486158}html[data-theme="dark"] .page-hero,html[data-theme="dark"] .author-profile-modern,html[data-theme="dark"] .author-directory article{color:#f7f8f7}html[data-theme="dark"] .page-hero p,html[data-theme="dark"] .author-directory p,html[data-theme="dark"] .author-profile-content p{color:#d7e0dc}html[data-theme="dark"] .content-filter-bar input,html[data-theme="dark"] .content-filter-bar select{background:#0e1915;color:#fff;border-color:#5c7269}
@media(max-width:900px){.featured-control-grid,.search-result-list{grid-template-columns:1fr}.content-filter-bar{grid-template-columns:repeat(2,minmax(0,1fr))}.content-filter-bar .button{width:100%}}
@media(max-width:620px){.content-filter-bar{grid-template-columns:1fr;padding:18px}.featured-control-grid{grid-template-columns:1fr}.media-grid{grid-template-columns:1fr}.author-directory article,.event-list article{min-width:0}.homepage-section-fields{grid-template-columns:1fr}.homepage-section-fields .full{grid-column:auto}.campaign-slide{grid-template-columns:1fr;min-height:0}.campaign-slide-image,.campaign-slide-image img{min-height:240px;max-height:320px}.campaign-slide>div:not(.campaign-slide-image){padding:34px 22px 75px}}

/* Version 16: restored publication motion, uniform cards and streamlined editorial controls */
body:not(.admin-body) .publication-card {
  display:flex;
  flex-direction:column;
  height:100%;
}
body:not(.admin-body) .publication-card .publication-meta h3 {
  min-height:2.34em;
}
body:not(.admin-body) .publication-card .publication-excerpt {
  min-height:10.5em;
  max-height:12em;
  display:-webkit-box;
  overflow:hidden;
  line-height:1.5;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:8;
}
body:not(.admin-body) .publication-card .publication-actions {
  margin-top:auto;
}
body.section-home .publication-grid {
  align-items:start;
  padding-bottom:32px;
}
body:not(.admin-body) .bookstore-grid {
  grid-template-columns:repeat(4,minmax(0,1fr));
}
@media(min-width:901px){
  body.section-home .publication-grid .publication-card:nth-child(4n + 2) {
    transform:translateY(26px);
  }
  body.section-home .publication-grid .publication-card:nth-child(4n + 2):hover {
    transform:translateY(22px);
  }
}

body:not(.admin-body) .book-cover.no-cover {
  display:flex;
  place-items:unset;
  justify-content:flex-end;
  padding:38px 32px;
  border:0;
  background:var(--cover-color,#8f2733);
  background:linear-gradient(145deg,color-mix(in srgb,var(--cover-color,#8f2733) 84%,#fff),var(--cover-color,#8f2733));
  box-shadow:12px 16px 30px rgba(23,23,19,.18),inset -12px 0 rgba(0,0,0,.09);
  color:var(--cover-contrast,#fff);
  text-align:left;
}
body:not(.admin-body) .book-cover.no-cover::before {
  display:block;
  border-color:color-mix(in srgb,var(--cover-contrast,#fff) 42%,transparent);
}
body:not(.admin-body) .book-cover.no-cover::after {
  display:block;
  border-color:color-mix(in srgb,var(--cover-contrast,#fff) 24%,transparent);
}
body:not(.admin-body) .book-cover.no-cover .cover-monogram {
  display:block;
  color:var(--cover-contrast,#fff);
}
body:not(.admin-body) .book-cover.no-cover p {
  color:var(--cover-contrast,#fff);
}
body:not(.admin-body) .book-cover.no-cover small {
  color:color-mix(in srgb,var(--cover-contrast,#fff) 82%,transparent);
}
body:not(.admin-body) .book-cover.has-image::before,
body:not(.admin-body) .book-cover.has-image::after,
body:not(.admin-body) .book-cover.has-image .cover-monogram {
  display:none!important;
  content:none!important;
}
body:not(.admin-body) .book-cover.has-image img {
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
}

.fulfilment-choice-panel {
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:8px;
  align-items:stretch;
}
.fulfilment-choice-panel form {
  min-width:0;
  height:100%;
}
.fulfilment-choice {
  min-width:0;
  min-height:94px;
  height:100%;
  grid-template-columns:32px minmax(0,1fr);
  gap:8px;
  align-content:center;
  padding:11px 9px;
}
.fulfilment-choice i {
  width:32px;
  height:32px;
  border-radius:8px;
}
.fulfilment-choice i svg {
  width:18px;
  height:18px;
}
.fulfilment-choice strong {
  font-size:12px;
  line-height:1.25;
}
.fulfilment-choice small {
  font-size:9px!important;
  line-height:1.35;
}
.fulfilment-choice>b {
  display:none;
}
.purchase-actions-guest {
  margin-top:20px;
  padding:18px;
  border:1px solid #dfe3df;
  border-radius:13px;
  background:#f8f7f3;
}
.purchase-actions-guest form,
.purchase-actions-guest .add-cart-button {
  width:100%;
}
.purchase-actions-guest p {
  margin:10px 0 0;
  color:#5d6762;
  font-size:11px;
  line-height:1.5;
}
.cart-auth-gate {
  display:grid;
  gap:9px;
  margin:18px 0;
  padding:17px;
  border:1px solid #d8ded9;
  border-radius:12px;
  background:#f7f6f1;
}
.cart-auth-gate p {
  margin:0;
  font-size:12px;
}
.cart-auth-gate>div {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:8px;
}
.cart-auth-gate .button {
  min-width:0;
  justify-content:center;
  text-align:center;
}

.admin-body .editor-form :where(label,.compact-select-field>label) {
  color:var(--admin-text,#202939);
  font-size:12px;
  font-weight:800;
  letter-spacing:.01em;
}
.admin-body .editor-form :where(input,select,textarea) {
  color:#344054;
  font-size:13px;
  font-weight:500;
  letter-spacing:0;
}
.admin-body .editor-form :where(input,textarea)::placeholder {
  color:#98a2b3;
  font-size:11px;
  font-weight:400;
}
.admin-body .editor-form label,
.admin-body .editor-form .compact-select-field>label {
  font-size:13px!important;
}
.admin-body .editor-form input:not([type="checkbox"]):not([type="radio"]),
.admin-body .editor-form select,
.admin-body .editor-form textarea,
.admin-body .editor-form .compact-select-toggle {
  font-size:12px!important;
}
.compact-select-field {
  position:relative;
  min-width:0;
  display:grid;
  gap:7px;
  align-content:start;
}
.compact-select-toggle {
  min-height:42px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:9px 12px;
  border:1px solid var(--admin-border,#d8dee8);
  border-radius:8px;
  background:#fff;
  color:#344054;
  font-size:13px;
  text-align:left;
  cursor:pointer;
}
.compact-select-menu {
  position:absolute;
  z-index:30;
  top:67px;
  left:0;
  width:min(250px,100%);
  max-height:230px;
  overflow-y:auto;
  padding:7px;
  border:1px solid var(--admin-border,#d8dee8);
  border-radius:9px;
  background:#fff;
  box-shadow:0 18px 40px rgba(24,34,52,.16);
}
.compact-select-menu[hidden] {
  display:none;
}
.compact-select-menu>button {
  width:100%;
  padding:8px 10px;
  border:0;
  border-radius:6px;
  background:transparent;
  color:#344054;
  font-size:12px;
  text-align:left;
  cursor:pointer;
}
.compact-select-menu>button:hover,
.compact-select-menu>button[aria-selected="true"] {
  background:#eef4f1;
  color:#153c2f;
}
.compact-select-menu>label {
  display:grid!important;
  gap:5px;
  margin-top:6px;
  padding-top:8px;
  border-top:1px solid var(--admin-border,#d8dee8);
}

.rich-editor-workspace {
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(260px,.8fr);
  gap:12px;
}
.rich-editor-workspace textarea {
  min-width:0;
  border-radius:0 0 7px 7px;
  resize:vertical;
}
.rich-editor-live-preview {
  min-width:0;
  max-height:430px;
  overflow:auto;
  padding:14px;
  border:1px solid var(--admin-border,#d6dde7);
  border-radius:8px;
  background:#fff;
}
.rich-editor-live-preview>strong {
  position:sticky;
  top:-14px;
  display:block;
  margin:-14px -14px 12px;
  padding:9px 12px;
  border-bottom:1px solid var(--admin-border,#d6dde7);
  background:#f7f9fb;
  color:#667085;
  font-size:10px;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.rich-editor-live-preview [data-rich-preview] {
  color:#27332e;
  font:15px/1.65 var(--theme-body,Arial,sans-serif);
}
.rich-editor-live-preview img,
.rich-editor-live-preview table {
  max-width:100%;
}
.rich-editor-live-preview table {
  width:100%;
  border-collapse:collapse;
}
.rich-editor-live-preview th,
.rich-editor-live-preview td {
  padding:7px;
  border:1px solid #d7ddd9;
}
.rich-preview-empty {
  color:#98a2b3;
  font-style:italic;
}

.seo-automation-heading {
  display:flex;
  justify-content:space-between;
  gap:18px;
  align-items:flex-start;
}
.seo-automation-heading h2 {
  margin:8px 0 5px;
}
.seo-automation-heading>strong,
.seo-automation-badge {
  display:inline-flex;
  align-items:center;
  min-height:26px;
  padding:0 9px;
  border-radius:999px;
  background:#e8f5ed;
  color:#17643d;
  font-size:10px;
  font-weight:900;
  letter-spacing:.06em;
  text-transform:uppercase;
  white-space:nowrap;
}
.seo-auto-preview {
  display:grid;
  gap:5px;
  margin:16px 0;
  padding:15px;
  border:1px solid #dce2e8;
  border-radius:10px;
  background:#fff;
}
.seo-auto-preview small {
  color:#667085;
  font-size:10px!important;
  text-transform:uppercase;
}
.seo-auto-preview strong {
  color:#174ea6;
  font-size:17px;
  font-weight:500;
}
.seo-auto-preview span {
  color:#4d5156;
  font-size:12px;
  line-height:1.5;
}
.seo-advanced-overrides summary {
  cursor:pointer;
  color:#344054;
  font-size:12px;
  font-weight:800;
}
.publication-order-value {
  display:grid;
  width:34px;
  height:34px;
  place-items:center;
  border-radius:9px;
  background:#edf2ef;
  color:#183f32;
}
.author-publication-grid .publication-excerpt {
  display:none!important;
  min-height:0!important;
}

html[data-theme="dark"] body:not(.admin-body) :is(.purchase-actions-guest,.cart-auth-gate) {
  border-color:#39464e;
  background:#182127;
}
html[data-theme="dark"] body:not(.admin-body) :is(.purchase-actions-guest p,.cart-auth-gate p) {
  color:#cbd6d0;
}
@media(max-width:900px){
  body.section-home .publication-grid { padding-bottom:0; }
  body:not(.admin-body) .bookstore-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  body:not(.admin-body) .publication-card .publication-excerpt { min-height:0; }
  .rich-editor-workspace { grid-template-columns:1fr; }
}
@media(max-width:520px){
  body:not(.admin-body) .bookstore-grid { grid-template-columns:1fr; }
  .cart-auth-gate>div { grid-template-columns:1fr; }
}

/* Version 17: themed FIT imagery, preserved cover stagger and responsive polish */
body:not(.admin-body) .book-cover.has-image,
body:not(.admin-body) .publication-gallery-stage,
body:not(.admin-body) .campaign-slide-image {
  background:#f3efe6;
  background:
    radial-gradient(circle at 18% 16%, color-mix(in srgb,var(--cover-color,var(--v5-accent)) 18%,transparent) 0, transparent 38%),
    linear-gradient(145deg,color-mix(in srgb,var(--v5-paper) 92%,var(--cover-color,var(--v5-accent))),color-mix(in srgb,var(--v5-paper) 82%,var(--v5-green)));
}
body:not(.admin-body) .book-cover.has-image img,
body:not(.admin-body) .publication-gallery-stage img,
body:not(.admin-body) .campaign-slide-image img {
  object-fit:contain!important;
  background:transparent!important;
  box-shadow:none!important;
  filter:none!important;
}
body:not(.admin-body) .book-cover.has-image img {
  padding:clamp(5px,.6vw,10px);
}
body:not(.admin-body) .publication-gallery-stage img,
body:not(.admin-body) .campaign-slide-image img {
  padding:clamp(8px,1vw,16px);
}
html[data-theme="dark"] body:not(.admin-body) :is(.book-cover.has-image,.publication-gallery-stage,.campaign-slide-image) {
  background:#182127;
  background:
    radial-gradient(circle at 18% 16%,color-mix(in srgb,var(--cover-color,var(--v5-accent)) 28%,transparent) 0,transparent 38%),
    linear-gradient(145deg,#202a2f,#11181c);
}

body.section-home .publication-grid {
  align-items:stretch;
  padding-bottom:34px;
}
@media(min-width:981px){
  body.section-home .publication-grid {
    grid-template-columns:repeat(4,minmax(0,1fr));
  }
}
@media(min-width:901px){
  body.section-home .publication-grid .publication-card:nth-child(4n + 2) {
    transform:translateY(26px);
  }
  body.section-home .publication-grid .publication-card:nth-child(4n + 2):hover {
    transform:translateY(22px);
  }
}
@media(min-width:801px){
  body.section-home .hero-book-1 { top:58px; }
  body.section-home .hero-book-2 { top:112px; }
  body.section-home .hero-book-3 { top:64px; }
}

.admin-body .editor-form :where(label,.compact-select-field>label,.metadata-choice-field legend) {
  color:var(--admin-text,#202939);
  font-size:13px!important;
  font-weight:800!important;
  line-height:1.3;
}
.admin-body .editor-form :where(input:not([type="checkbox"]):not([type="radio"]),select,textarea,.compact-select-toggle) {
  min-width:0;
  color:#475467;
  font-size:12px!important;
  font-weight:500;
  line-height:1.35;
}
.admin-body .editor-form :where(input,textarea)::placeholder {
  color:#98a2b3;
  font-size:10.5px;
  font-weight:400;
}
.admin-body .publication-table th:first-child,
.admin-body .publication-table td:first-child {
  width:62px;
  text-align:center;
}
.admin-body .publication-order-value {
  margin-inline:auto;
  font-variant-numeric:tabular-nums;
  font-weight:900;
}

body:not(.admin-body) .fulfilment-choice-panel {
  grid-template-columns:repeat(2,minmax(0,1fr));
}
body:not(.admin-body) .fulfilment-choice-panel > * {
  min-width:0;
}

@media(max-width:900px){
  body.section-home .publication-grid { padding-bottom:0; }
  body.section-home .hero-book-1 { top:58px; }
  body.section-home .hero-book-2 { top:112px; }
  body.section-home .hero-book-3 { top:64px; }
}
@media(max-width:620px){
  body.section-home .hero-book-1 { top:52px; }
  body.section-home .hero-book-2 { top:105px; }
  body.section-home .hero-book-3 { top:58px; }
  body:not(.admin-body) .book-cover.has-image img { padding:5px; }
  body:not(.admin-body) .fulfilment-choice { grid-template-columns:26px minmax(0,1fr); padding:9px 7px; }
  body:not(.admin-body) .fulfilment-choice i { width:26px; height:26px; }
  body:not(.admin-body) .fulfilment-choice strong { font-size:11px; }
  body:not(.admin-body) .fulfilment-choice small { font-size:8.5px!important; }
}
@media(prefers-reduced-motion:reduce){
  body:not(.admin-body) .publication-card,
  body:not(.admin-body) .campaign-slide-track {
    transition-duration:.01ms!important;
    animation-duration:.01ms!important;
  }
}
