:root {
  --bookshop-ink: #19150f;
  --bookshop-paper: #f4eedf;
  --bookshop-paper-deep: #e6dbc4;
  --bookshop-forest: #17392e;
  --bookshop-moss: #355b49;
  --bookshop-gold: #c7a052;
  --bookshop-gold-light: #e7d18c;
  --bookshop-red: #7b3028;
  --bookshop-line: rgba(68, 53, 31, .24);
  --bookshop-shadow: 0 18px 50px rgba(13, 10, 6, .24);
}

.eftsona-bookshop {
  min-height: 100vh;
  color: var(--bookshop-ink);
  background:
    linear-gradient(rgba(244, 238, 223, .96), rgba(244, 238, 223, .96)),
    repeating-linear-gradient(0deg, rgba(78, 61, 36, .04) 0 1px, transparent 1px 5px);
  font-family: Georgia, "Times New Roman", serif;
}

.eftsona-bookshop *, .eftsona-bookshop *::before, .eftsona-bookshop *::after { box-sizing: border-box; }
.eftsona-bookshop button, .eftsona-bookshop input, .eftsona-bookshop select { font: inherit; }
.eftsona-bookshop a { color: inherit; }

.bookshop-hero {
  display: grid;
  grid-template-columns: minmax(320px, 44%) 1fr;
  min-height: 560px;
  color: #fff8e8;
  background: #12100c;
  border-bottom: 5px solid var(--bookshop-gold);
}

.bookshop-hero__image-wrap { position: relative; overflow: hidden; min-height: 470px; }
.bookshop-hero__image-wrap::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, transparent 55%, #12100c 100%);
  pointer-events: none;
}
.bookshop-hero__image { width: 100%; height: 100%; object-fit: cover; object-position: 50% 48%; filter: saturate(.84) contrast(1.04); }
.bookshop-hero__content { align-self: center; max-width: 780px; padding: 70px clamp(34px, 6vw, 96px) 70px 7%; }
.bookshop-kicker { margin: 0 0 12px; color: var(--bookshop-gold-light); font-family: Arial, sans-serif; font-size: 12px; font-weight: 800; letter-spacing: .19em; text-transform: uppercase; }
.bookshop-hero h1 { margin: 0; color: #fff8e8; font-size: clamp(48px, 6vw, 84px); line-height: .98; letter-spacing: -.035em; }
.bookshop-deck { max-width: 680px; margin: 28px 0; color: rgba(255, 248, 232, .84); font-size: clamp(19px, 2vw, 25px); line-height: 1.55; }
.bookshop-trust { display: flex; flex-wrap: wrap; gap: 8px; margin: 0 0 34px; }
.bookshop-trust span { padding: 8px 12px; border: 1px solid rgba(231, 209, 140, .4); border-radius: 999px; color: #efe3c1; font-family: Arial, sans-serif; font-size: 12px; letter-spacing: .03em; }

.bookshop-nav { position: sticky; top: 0; z-index: 20; background: rgba(23, 57, 46, .97); box-shadow: 0 8px 22px rgba(13, 25, 20, .18); backdrop-filter: blur(8px); }
.bookshop-nav__inner { display: flex; align-items: center; gap: 6px; width: min(1240px, calc(100% - 32px)); min-height: 62px; margin: auto; }
.bookshop-nav button, .bookshop-nav a { display: inline-flex; align-items: center; min-height: 42px; padding: 10px 16px; border: 0; border-bottom: 2px solid transparent; background: transparent; color: #f6efdf; font-family: Arial, sans-serif; font-size: 14px; font-weight: 700; text-decoration: none; cursor: pointer; }
.bookshop-nav button:hover, .bookshop-nav button:focus-visible, .bookshop-nav a:hover, .bookshop-nav a:focus-visible, .bookshop-nav [aria-current="page"] { border-bottom-color: var(--bookshop-gold-light); color: var(--bookshop-gold-light); outline: 0; }
.bookshop-cart-link { margin-left: auto; }
.bookshop-cart-link span { display: grid; min-width: 24px; height: 24px; margin-left: 8px; place-items: center; border-radius: 50%; background: var(--bookshop-gold); color: #17120b; }

.bookshop-status { width: min(1240px, calc(100% - 32px)); margin: 20px auto 0; padding: 14px 18px; border: 1px solid #b48b38; background: #fff4cc; color: #4d3812; font-family: Arial, sans-serif; font-weight: 700; }
.bookshop-status[data-state="error"] { border-color: #a1493e; background: #f6dfda; color: #69241e; }
.bookshop-status[data-state="success"] { border-color: #3e755d; background: #deeee5; color: #214c39; }

.bookshop-view { width: min(1240px, calc(100% - 32px)); margin: 0 auto; padding: 72px 0 88px; }
.bookshop-section-heading { max-width: 810px; margin: 0 auto 38px; text-align: center; }
.bookshop-section-heading--compact { margin: 0 0 26px; text-align: left; }
.bookshop-section-heading h2, .bookshop-license-band h2 { margin: 0 0 14px; color: var(--bookshop-forest); font-size: clamp(32px, 4vw, 52px); line-height: 1.08; letter-spacing: -.025em; }
.bookshop-section-heading p:not(.bookshop-kicker), .bookshop-license-band p:not(.bookshop-kicker) { margin: 0; color: #5a4c3a; font-size: 17px; line-height: 1.7; }

.bookshop-controls { display: grid; grid-template-columns: minmax(260px, 1fr) 2fr; gap: 18px; margin-bottom: 50px; padding: 18px; border: 1px solid var(--bookshop-line); background: rgba(255, 253, 247, .72); box-shadow: 0 8px 22px rgba(49, 39, 22, .07); }
.bookshop-search span { display: block; margin-bottom: 7px; color: var(--bookshop-forest); font-family: Arial, sans-serif; font-size: 11px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.bookshop-search input, .bookshop-order-summary input, .bookshop-order-summary select { width: 100%; min-height: 46px; border: 1px solid rgba(37, 72, 58, .38); border-radius: 2px; background: #fffdf7; color: var(--bookshop-ink); padding: 10px 12px; }
.bookshop-search input:focus, .bookshop-order-summary input:focus, .bookshop-order-summary select:focus { border-color: var(--bookshop-gold); box-shadow: 0 0 0 3px rgba(199, 160, 82, .2); outline: 0; }
.bookshop-segment-filter { display: flex; align-items: end; justify-content: flex-end; flex-wrap: wrap; gap: 7px; }
.bookshop-segment-filter button { min-height: 40px; padding: 8px 12px; border: 1px solid rgba(37, 72, 58, .32); background: transparent; color: var(--bookshop-forest); font-family: Arial, sans-serif; font-size: 12px; font-weight: 800; cursor: pointer; }
.bookshop-segment-filter button[aria-pressed="true"], .bookshop-segment-filter button:hover { background: var(--bookshop-forest); color: #fff; }

.bookshop-featured { margin: 0 0 72px; padding: 38px; border: 1px solid rgba(199, 160, 82, .5); background: linear-gradient(135deg, #1b3f33, #0d261f); color: #fff8e8; box-shadow: var(--bookshop-shadow); }
.bookshop-featured__heading { margin-bottom: 25px; text-align: center; }
.bookshop-featured__heading h2 { margin: 0; color: #fff8e8; font-size: clamp(28px, 3.3vw, 44px); }
.bookshop-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 22px; }
.bookshop-grid--bundles { grid-template-columns: repeat(2, minmax(0, 1fr)); }

.bookshop-card { display: flex; flex-direction: column; min-height: 100%; padding: 26px; border: 1px solid var(--bookshop-line); background: rgba(255, 253, 247, .95); box-shadow: 0 12px 26px rgba(49, 39, 22, .09); transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease; }
.bookshop-card:hover { transform: translateY(-3px); border-color: rgba(199, 160, 82, .75); box-shadow: 0 18px 34px rgba(49, 39, 22, .16); }
.bookshop-featured .bookshop-card { border-color: rgba(231, 209, 140, .36); background: rgba(249, 242, 222, .98); }
.bookshop-card[data-featured="true"] { border-top: 5px solid var(--bookshop-gold); }
.bookshop-card__media { position: relative; width: calc(100% + 52px); height: 220px; margin: -26px -26px 22px; padding: 0; overflow: hidden; border: 0; border-bottom: 1px solid var(--bookshop-line); background: #e7dfcf; cursor: pointer; }
.bookshop-card__media img { width: 100%; height: 100%; object-fit: contain; background: linear-gradient(145deg, #eee6d6, #d8ccb4); transition: transform .25s ease; }
.bookshop-card__media span { position: absolute; right: 10px; bottom: 10px; padding: 6px 9px; background: rgba(18,16,12,.9); color: #fff8e8; font-family: Arial, sans-serif; font-size: 11px; font-weight: 800; }
.bookshop-card__media:hover img, .bookshop-card__media:focus-visible img { transform: scale(1.025); }
.bookshop-card__topline { display: flex; justify-content: space-between; gap: 12px; color: var(--bookshop-moss); font-family: Arial, sans-serif; font-size: 10px; font-weight: 800; letter-spacing: .07em; text-transform: uppercase; }
.bookshop-card h3 { margin: 18px 0 14px; color: var(--bookshop-forest); font-size: 25px; line-height: 1.15; }
.bookshop-card__promise { margin: 0 0 17px; color: #574938; line-height: 1.58; }
.bookshop-card ul { flex: 1; margin: 0 0 20px; padding-left: 19px; color: #5b4e3d; line-height: 1.5; }
.bookshop-card__price { display: flex; align-items: baseline; justify-content: space-between; margin: 0 -26px 20px; padding: 15px 26px 0; border-top: 1px solid var(--bookshop-line); color: #66563f; font-family: Arial, sans-serif; font-size: 12px; text-transform: uppercase; }
.bookshop-card__price strong { color: var(--bookshop-forest); font-family: Georgia, "Times New Roman", serif; font-size: 29px; text-transform: none; }
.bookshop-card__actions { display: flex; gap: 9px; }

.bookshop-button { display: inline-flex; align-items: center; justify-content: center; min-height: 44px; padding: 10px 16px; border: 1px solid var(--bookshop-moss); border-radius: 2px; background: transparent; color: var(--bookshop-forest); font-family: Arial, sans-serif; font-size: 13px; font-weight: 800; text-decoration: none; cursor: pointer; }
.bookshop-button:hover, .bookshop-button:focus-visible { border-color: var(--bookshop-gold); box-shadow: 0 0 0 3px rgba(199, 160, 82, .18); outline: 0; }
.bookshop-button--primary { border-color: var(--bookshop-gold); background: var(--bookshop-gold); color: #17120b; }
.bookshop-button--primary:hover { background: var(--bookshop-gold-light); color: #17120b; }
.bookshop-button--checkout { width: 100%; min-height: 52px; border-color: var(--bookshop-gold); background: var(--bookshop-gold); color: #17120b; font-size: 15px; }
.bookshop-button:disabled { opacity: .5; cursor: not-allowed; }

.bookshop-back { margin-bottom: 24px; border: 0; background: none; color: var(--bookshop-forest); font-family: Arial, sans-serif; font-weight: 800; cursor: pointer; }
.bookshop-audio-preview { display: grid; grid-template-columns: minmax(0,1fr) minmax(300px,.72fr); gap: 28px; align-items: center; margin-bottom: 24px; padding: 26px 30px; border: 1px solid rgba(199,160,82,.72); border-left: 6px solid var(--bookshop-gold); background: linear-gradient(135deg,#fffdf7,#f3ead7); box-shadow: var(--bookshop-shadow); }
.bookshop-audio-preview[hidden] { display: none; }
.bookshop-audio-preview .bookshop-kicker { margin: 0 0 5px; color: var(--bookshop-moss); }
.bookshop-audio-preview h2 { margin: 0 0 7px; color: var(--bookshop-forest); font-size: clamp(24px,3vw,34px); }
.bookshop-audio-preview p:last-child { margin: 0; color: #655744; font-family: Arial,sans-serif; }
.bookshop-audio-preview audio { display: block; width: 100%; }
.bookshop-product-detail { overflow: hidden; border: 1px solid var(--bookshop-line); background: #fffdf7; box-shadow: var(--bookshop-shadow); }
.bookshop-product-detail__header { padding: 50px clamp(28px, 6vw, 70px); border-bottom: 4px solid var(--bookshop-gold); background: linear-gradient(130deg, var(--bookshop-forest), #102820); color: #fff8e8; }
.bookshop-product-detail__header h2 { max-width: 900px; margin: 10px 0 18px; color: #fff8e8; font-size: clamp(38px, 5vw, 64px); line-height: 1.04; }
.bookshop-product-detail__header p { max-width: 820px; margin: 0; color: rgba(255, 248, 232, .84); font-size: 20px; line-height: 1.6; }
.bookshop-product-preview-layout { display: grid; grid-template-columns: minmax(0, 1.12fr) minmax(350px, .88fr); gap: 38px; padding: 42px clamp(28px, 5vw, 64px); border-bottom: 1px solid var(--bookshop-line); background: #f8f3e8; }
.bookshop-product-purchase { align-self: start; padding: 28px; border: 1px solid rgba(199,160,82,.58); background: #fffdf7; box-shadow: 0 12px 28px rgba(49,39,22,.12); }
.bookshop-product-purchase > h3 { margin: 0 0 17px; color: var(--bookshop-forest); font-size: 28px; }
.bookshop-product-purchase .bookshop-kicker { color: var(--bookshop-moss); }
.bookshop-preview-gallery__primary { position: relative; display: block; width: 100%; min-height: 470px; padding: 0; overflow: hidden; border: 1px solid var(--bookshop-line); background: #e7dfcf; cursor: zoom-in; }
.bookshop-preview-gallery__primary img { display: block; width: 100%; height: 100%; min-height: 470px; max-height: 680px; object-fit: contain; background: linear-gradient(145deg, #eee6d6, #d8ccb4); }
.bookshop-preview-gallery__primary span { position: absolute; right: 14px; bottom: 14px; padding: 8px 12px; background: rgba(18,16,12,.9); color: #fff8e8; font-family: Arial,sans-serif; font-size: 12px; font-weight: 800; }
.bookshop-preview-gallery__thumbs { display: grid; grid-template-columns: repeat(5,minmax(0,1fr)); gap: 8px; margin-top: 10px; }
.bookshop-preview-gallery__thumbs button { aspect-ratio: 4/3; padding: 0; overflow: hidden; border: 1px solid var(--bookshop-line); background: #e7dfcf; cursor: zoom-in; }
.bookshop-preview-gallery__thumbs img { width: 100%; height: 100%; object-fit: contain; }
.bookshop-preview-gallery__caption { margin: 12px 0 0; color: #665744; font-family: Arial,sans-serif; font-size: 13px; line-height: 1.5; }
.bookshop-preview-empty { display: grid; min-height: 470px; padding: 40px; place-content: center; border: 1px solid var(--bookshop-line); background: repeating-linear-gradient(135deg,#eee6d6 0 12px,#e7dfcf 12px 24px); color: var(--bookshop-forest); text-align: center; }
.bookshop-preview-empty strong { font-size: 24px; }
.bookshop-preview-empty p { max-width: 400px; color: #655744; }
.bookshop-format-badges { display: flex; flex-wrap: wrap; gap: 7px; margin-bottom: 18px; }
.bookshop-format-badges span { padding: 7px 10px; border: 1px solid rgba(23,57,46,.34); background: #edf0e7; color: var(--bookshop-forest); font-family: Arial,sans-serif; font-size: 11px; font-weight: 800; letter-spacing: .03em; text-transform: uppercase; }
.bookshop-package-list { margin: 0 0 22px; padding-left: 21px; color: #554836; line-height: 1.6; }
.bookshop-product-specs { margin: 0 0 24px; border-top: 1px solid var(--bookshop-line); }
.bookshop-product-specs div, .bookshop-game-details dl div { display: grid; grid-template-columns: 105px 1fr; gap: 15px; padding: 10px 0; border-bottom: 1px solid var(--bookshop-line); }
.bookshop-product-specs dt, .bookshop-game-details dt { color: var(--bookshop-moss); font-family: Arial,sans-serif; font-size: 11px; font-weight: 800; letter-spacing: .05em; text-transform: uppercase; }
.bookshop-product-specs dd, .bookshop-game-details dd { margin: 0; color: #554836; }
.bookshop-product-detail__body { display: grid; grid-template-columns: 1.25fr .75fr; gap: 42px; padding: 42px clamp(28px, 6vw, 70px) 54px; }
.bookshop-product-detail__body h3 { margin: 0 0 15px; color: var(--bookshop-forest); font-size: 24px; }
.bookshop-product-detail__body ul { padding-left: 22px; line-height: 1.65; }
.bookshop-license-picker { padding: 24px; border: 1px solid var(--bookshop-line); background: var(--bookshop-paper); }
.bookshop-license-option { display: grid; grid-template-columns: 1fr auto; gap: 4px 18px; padding: 13px 0; border-bottom: 1px solid var(--bookshop-line); }
.bookshop-license-option:last-of-type { border-bottom: 0; }
.bookshop-license-option label { color: var(--bookshop-forest); font-weight: 700; cursor: pointer; }
.bookshop-license-option strong { color: var(--bookshop-forest); font-size: 20px; }
.bookshop-license-option small { grid-column: 1 / -1; color: #655744; font-family: Arial, sans-serif; line-height: 1.4; }
.bookshop-license-picker .bookshop-button { width: 100%; margin-top: 18px; }
.bookshop-product-purchase .bookshop-license-picker { margin-top: 24px; }
.bookshop-game-details { padding: 24px; border: 1px solid var(--bookshop-line); background: var(--bookshop-paper); }
.bookshop-game-details h4 { margin: 24px 0 8px; color: var(--bookshop-forest); font-size: 18px; }

.bookshop-preview-viewer { width: min(1200px, calc(100vw - 32px)); max-width: none; height: min(900px, calc(100vh - 32px)); max-height: none; padding: 0; border: 1px solid rgba(231,209,140,.5); background: #12100c; color: #fff8e8; }
.bookshop-preview-viewer::backdrop { background: rgba(0,0,0,.86); }
.bookshop-preview-viewer__bar { display: flex; align-items: center; justify-content: space-between; min-height: 56px; padding: 10px 18px; border-bottom: 1px solid rgba(231,209,140,.28); font-family: Arial,sans-serif; }
.bookshop-preview-viewer__bar button, .bookshop-preview-viewer__stage > button { border: 1px solid rgba(231,209,140,.48); background: transparent; color: #fff8e8; font: 800 13px Arial,sans-serif; cursor: pointer; }
.bookshop-preview-viewer__bar button { padding: 8px 12px; }
.bookshop-preview-viewer__stage { display: grid; grid-template-columns: 58px 1fr 58px; align-items: center; height: calc(100% - 56px); }
.bookshop-preview-viewer__stage > button { width: 44px; height: 56px; justify-self: center; font-size: 22px; }
.bookshop-preview-viewer__stage figure { display: grid; grid-template-rows: minmax(0,1fr) auto; width: 100%; height: 100%; min-height: 0; margin: 0; padding: 14px; }
.bookshop-preview-viewer__stage img { width: 100%; height: 100%; min-height: 0; object-fit: contain; }
.bookshop-preview-viewer__stage figcaption { min-height: 42px; padding: 12px 10px 4px; color: #ded4bc; font-family: Arial,sans-serif; text-align: center; }

.bookshop-cart-layout { display: grid; grid-template-columns: 1fr 390px; align-items: start; gap: 28px; }
.bookshop-cart-items { display: grid; gap: 14px; }
.bookshop-cart-item { display: grid; grid-template-columns: 1fr auto; gap: 14px 22px; padding: 22px; border: 1px solid var(--bookshop-line); background: #fffdf7; }
.bookshop-cart-item h3 { margin: 0; color: var(--bookshop-forest); font-size: 21px; }
.bookshop-cart-item p { margin: 6px 0 0; color: #655744; font-family: Arial, sans-serif; font-size: 13px; }
.bookshop-cart-item strong { color: var(--bookshop-forest); font-size: 20px; }
.bookshop-cart-item button { grid-column: 1 / -1; justify-self: start; border: 0; background: none; color: var(--bookshop-red); font-family: Arial, sans-serif; font-size: 12px; font-weight: 800; cursor: pointer; }
.bookshop-order-summary { position: sticky; top: 84px; padding: 26px; border: 1px solid rgba(199, 160, 82, .6); background: #fffdf7; box-shadow: var(--bookshop-shadow); }
.bookshop-order-summary h3 { margin: 0 0 18px; color: var(--bookshop-forest); font-size: 27px; }
.bookshop-order-summary dl { margin: 0 0 24px; }
.bookshop-order-summary dl div { display: flex; justify-content: space-between; gap: 20px; padding: 11px 0; border-bottom: 1px solid var(--bookshop-line); }
.bookshop-order-summary dt { color: #665744; }
.bookshop-order-summary dd { margin: 0; text-align: right; }
.bookshop-order-total { color: var(--bookshop-forest); font-size: 18px; font-weight: 800; }
.bookshop-order-summary form > label:not(.bookshop-check) { display: block; margin-bottom: 16px; }
.bookshop-order-summary form > label > span:first-child { display: block; margin-bottom: 6px; color: var(--bookshop-forest); font-family: Arial, sans-serif; font-size: 11px; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; }
.bookshop-check { display: grid; grid-template-columns: auto 1fr; align-items: start; gap: 10px; margin: 18px 0; color: #5c4f3e; font-family: Arial, sans-serif; font-size: 12px; line-height: 1.55; }
.bookshop-check input { width: 18px; height: 18px; margin-top: 2px; }
.bookshop-territory-note, .bookshop-fineprint { color: #6c5c46; font-family: Arial, sans-serif; font-size: 11px; line-height: 1.55; }

.bookshop-downloads { display: grid; gap: 12px; max-width: 880px; margin: 0 auto 26px; }
.bookshop-download { display: grid; grid-template-columns: 1fr auto; align-items: center; gap: 20px; padding: 18px 20px; border: 1px solid var(--bookshop-line); background: #fffdf7; }
.bookshop-download h3 { margin: 0; color: var(--bookshop-forest); font-size: 18px; }
.bookshop-download p { margin: 4px 0 0; color: #6b5b45; font-family: Arial, sans-serif; font-size: 12px; }
.bookshop-help-card { max-width: 880px; margin: 0 auto; padding: 24px; border-left: 5px solid var(--bookshop-gold); background: #e8dfcb; }
.bookshop-help-card h3 { margin-top: 0; color: var(--bookshop-forest); }
.bookshop-empty, .bookshop-noscript { padding: 30px; border: 1px solid var(--bookshop-line); background: #fffdf7; text-align: center; }

.bookshop-purchase-access { max-width: 720px; margin: 0 auto; padding: clamp(26px, 5vw, 44px); border: 1px solid rgba(199, 160, 82, .58); background: #fffdf7; box-shadow: var(--bookshop-shadow); }
.bookshop-purchase-access h3 { margin: 0 0 12px; color: var(--bookshop-forest); font-size: 29px; }
.bookshop-purchase-access > p { color: #625440; line-height: 1.65; }
.bookshop-purchase-access form { display: grid; grid-template-columns: 1fr auto; align-items: end; gap: 12px; margin: 24px 0 12px; }
.bookshop-purchase-access label span { display: block; margin-bottom: 7px; color: var(--bookshop-forest); font-family: Arial, sans-serif; font-size: 11px; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; }
.bookshop-purchase-access input { width: 100%; min-height: 46px; padding: 10px 12px; border: 1px solid rgba(37, 72, 58, .38); border-radius: 2px; background: #fffdf7; color: var(--bookshop-ink); }
.bookshop-purchase-access input:focus { border-color: var(--bookshop-gold); box-shadow: 0 0 0 3px rgba(199, 160, 82, .2); outline: 0; }
.bookshop-purchase-message { min-height: 24px; margin: 14px 0 0; color: #4d3812; font-family: Arial, sans-serif; font-size: 13px; font-weight: 700; }
.bookshop-purchase-message[data-state="error"] { color: var(--bookshop-red); }
.bookshop-purchase-message[data-state="success"] { color: var(--bookshop-forest); }
.bookshop-purchase-library { max-width: 980px; margin: 0 auto; }
.bookshop-purchase-toolbar { display: flex; align-items: center; justify-content: space-between; gap: 24px; margin-bottom: 18px; padding: 24px; border: 1px solid rgba(199, 160, 82, .58); background: linear-gradient(130deg, var(--bookshop-forest), #102820); color: #fff8e8; }
.bookshop-purchase-toolbar .bookshop-kicker { margin-bottom: 7px; }
.bookshop-purchase-toolbar h3 { margin: 0; color: #fff8e8; font-size: 24px; }
.bookshop-purchase-toolbar .bookshop-button { border-color: var(--bookshop-gold-light); color: #fff8e8; }
.bookshop-purchase-orders { display: grid; gap: 20px; margin-top: 28px; }
.bookshop-purchase-order { overflow: hidden; border: 1px solid var(--bookshop-line); background: #fffdf7; box-shadow: 0 12px 28px rgba(49, 39, 22, .1); }
.bookshop-purchase-order > header { display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 22px 24px; border-bottom: 1px solid var(--bookshop-line); background: #e8dfcb; }
.bookshop-purchase-order > header h3 { margin: 0; color: var(--bookshop-forest); font-size: 22px; }
.bookshop-purchase-order > header strong { color: var(--bookshop-forest); font-size: 24px; }
.bookshop-purchase-files { display: grid; }
.bookshop-purchase-file { display: grid; grid-template-columns: 1fr auto; align-items: center; gap: 22px; padding: 20px 24px; border-bottom: 1px solid var(--bookshop-line); }
.bookshop-purchase-file:last-child { border-bottom: 0; }
.bookshop-purchase-file h4 { margin: 0; color: var(--bookshop-forest); font-size: 19px; }
.bookshop-purchase-file p { margin: 5px 0 0; color: #6b5b45; font-family: Arial, sans-serif; font-size: 12px; }

.bookshop-license-band { display: flex; align-items: center; justify-content: space-between; gap: 40px; padding: 54px max(32px, calc((100vw - 1240px) / 2)); border-top: 1px solid rgba(199, 160, 82, .45); border-bottom: 1px solid rgba(199, 160, 82, .45); background: #e7dcc4; }
.bookshop-license-band > div { max-width: 820px; }
.bookshop-policy-footer { display: flex; flex-wrap: wrap; justify-content: center; gap: 10px 24px; padding: 34px 20px 46px; background: #12100c; color: #d8c9a7; font-family: Arial, sans-serif; font-size: 12px; }
.bookshop-policy-footer a { color: #efe0ba; }
.bookshop-policy-page { max-width: 980px; color: #4d4233; font-size: 16px; line-height: 1.72; }
.bookshop-policy-page > h2 { margin: 8px 0 22px; color: var(--bookshop-forest); font-size: clamp(36px, 5vw, 58px); line-height: 1.05; }
.bookshop-policy-page h3 { margin: 34px 0 10px; color: var(--bookshop-forest); font-size: 24px; }
.bookshop-policy-page li { margin-bottom: 8px; }
.bookshop-policy-page .bookshop-kicker { color: var(--bookshop-moss); }
.bookshop-policy-grid { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 18px; margin: 30px 0; }
.bookshop-policy-grid article { padding: 24px; border: 1px solid var(--bookshop-line); background: #fffdf7; }
.bookshop-policy-grid article h3 { margin-top: 0; }
.bookshop-policy-notice { padding: 16px 18px; border-left: 5px solid var(--bookshop-gold); background: #fff4cc; }

@media (max-width: 1040px) {
  .bookshop-hero { grid-template-columns: 40% 1fr; }
  .bookshop-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .bookshop-cart-layout { grid-template-columns: 1fr; }
  .bookshop-order-summary { position: static; }
  .bookshop-product-preview-layout { grid-template-columns: 1fr; }
}

@media (max-width: 760px) {
  .bookshop-hero { grid-template-columns: 1fr; }
  .bookshop-hero__image-wrap { min-height: 310px; max-height: 420px; }
  .bookshop-hero__image-wrap::after { background: linear-gradient(0deg, #12100c 0%, transparent 45%); }
  .bookshop-hero__content { padding: 40px 24px 56px; }
  .bookshop-hero h1 { font-size: 48px; }
  .bookshop-nav { position: static; }
  .bookshop-nav__inner { overflow-x: auto; }
  .bookshop-nav button, .bookshop-nav a { flex: 0 0 auto; }
  .bookshop-controls, .bookshop-product-detail__body { grid-template-columns: 1fr; }
  .bookshop-audio-preview { grid-template-columns: 1fr; padding: 22px 20px; }
  .bookshop-segment-filter { justify-content: flex-start; }
  .bookshop-grid, .bookshop-grid--bundles { grid-template-columns: 1fr; }
  .bookshop-featured { padding: 24px 18px; }
  .bookshop-view { padding: 52px 0 64px; }
  .bookshop-card__actions { flex-direction: column; }
  .bookshop-license-band { align-items: flex-start; flex-direction: column; padding: 42px 24px; }
  .bookshop-download { grid-template-columns: 1fr; }
  .bookshop-purchase-access form { grid-template-columns: 1fr; }
  .bookshop-purchase-toolbar, .bookshop-purchase-order > header { align-items: flex-start; flex-direction: column; }
  .bookshop-purchase-file { grid-template-columns: 1fr; }
  .bookshop-policy-grid { grid-template-columns: 1fr; }
  .bookshop-product-preview-layout { padding: 24px 18px; }
  .bookshop-preview-gallery__primary, .bookshop-preview-gallery__primary img, .bookshop-preview-empty { min-height: 340px; }
  .bookshop-preview-gallery__thumbs { grid-template-columns: repeat(4,minmax(0,1fr)); }
  .bookshop-preview-viewer__stage { grid-template-columns: 44px 1fr 44px; }
}

@media (prefers-reduced-motion: reduce) {
  .bookshop-card { transition: none; }
  .bookshop-card:hover { transform: none; }
  .bookshop-card__media img { transition: none; }
}
