:root{
  --spine-accent:#386b5a;
  --spine-accent-2:#234d42;
  --spine-bg:#edf3ed;
  --spine-surface:#f8fbf6;
  --spine-fg:#18332d;
  --spine-muted:#5b7069;
  --spine-border:rgb(24 51 45 / 18%);
  --spine-font-display:Georgia, "Times New Roman", serif;
  --spine-font-body:"Helvetica Neue", Arial, sans-serif;
  --spine-radius:1rem;
  --spine-maxw:78rem;
  --spine-base:16px;
  --spine-shadow:0 1.5rem 5rem rgb(42 34 24 / 12%);
  --spine-shadow-soft:0 .75rem 2.5rem rgb(0 0 0 / .08);
  --spine-gutter:clamp(1rem,3vw,2rem);
  --spine-section-space:clamp(3.75rem,8vw,7rem);
  --spine-content-narrow:46rem;
  --spine-control-min:2.75rem;
  --spine-control-bg:var(--spine-surface);
  --spine-control-fg:var(--spine-fg);
  --spine-control-border:var(--spine-border);
  --spine-control-border-hover:var(--spine-accent);
  --spine-control-hover-bg:var(--spine-bg);
  --spine-control-radius:var(--spine-radius);
  --spine-control-accent:var(--spine-accent);
  --spine-control-accent-hover:var(--spine-accent-2);
  --spine-control-focus:var(--spine-accent-2);
  --spine-control-focus-ring:color-mix(in srgb,var(--spine-control-focus) 24%,transparent);
  --spine-control-disabled-bg:var(--spine-bg);
  --spine-control-disabled-fg:var(--spine-muted);
  --spine-control-invalid:#b42318;
  --spine-control-selected-bg:var(--spine-bg);
  --spine-control-selected-fg:var(--spine-fg);
}
:root{
  --spine-font-heading:var(--spine-font-display);
  --spine-cart-trigger-bg:var(--spine-accent);
  --spine-cart-trigger-color:var(--spine-surface);
  --spine-cart-trigger-hover-bg:var(--spine-accent-2);
  --spine-cart-bg:var(--spine-surface);
  --spine-cart-color:var(--spine-fg);
  --spine-cart-border:var(--spine-border);
  --spine-cart-muted:var(--spine-muted);
  --spine-cart-cta-bg:var(--spine-accent);
  --spine-cart-cta-color:var(--spine-surface);
  --spine-cart-radius:var(--spine-radius);
  --spine-cart-img-bg:var(--spine-bg);
  --spine-cart-btn-bg:var(--spine-surface);
  --spine-cart-danger:#c0392b;
  --spine-cart-backdrop-bg:rgba(0,0,0,.4);
  --spine-pdp-color:var(--spine-fg);
  --spine-pdp-muted:var(--spine-muted);
  --spine-pdp-heading-color:var(--spine-fg);
  --spine-pdp-accent:var(--spine-accent-2);
  --spine-pdp-border:var(--spine-border);
  --spine-pdp-gallery-bg:var(--spine-bg);
  --spine-pdp-gallery-border:1px solid var(--spine-border);
  --spine-pdp-cta-bg:var(--spine-accent);
  --spine-pdp-cta-color:var(--spine-surface);
  --spine-pdp-cta-hover-bg:var(--spine-accent-2);
  --spine-pdp-cta-radius:var(--spine-radius);
  --spine-pdp-radius:var(--spine-radius);
  --spine-chk-color:var(--spine-fg);
  --spine-chk-heading-color:var(--spine-fg);
  --spine-chk-muted:var(--spine-muted);
  --spine-chk-border:var(--spine-border);
  --spine-chk-card-bg:var(--spine-surface);
  --spine-chk-summary-bg:var(--spine-bg);
  --spine-chk-input-bg:var(--spine-bg);
  --spine-chk-input-border:var(--spine-border);
  --spine-chk-input-focus-border:var(--spine-accent);
  --spine-chk-input-focus-bg:var(--spine-surface);
  --spine-chk-input-focus-ring:rgba(0,0,0,.06);
  --spine-chk-radius:var(--spine-radius);
  --spine-chk-img-bg:var(--spine-bg);
  --spine-chk-cta-bg:var(--spine-accent);
  --spine-chk-cta-color:var(--spine-surface);
  --spine-chk-cta-hover-bg:var(--spine-accent-2);
  --spine-chk-cta-radius:var(--spine-radius);
  --spine-chk-discount-color:#16a34a;
  --spine-chk-error-color:#dc2626;
  --spine-chk-card-shadow:var(--spine-shadow);
  --spine-chk-summary-shadow:none;
  --spine-pdp-sticky-bg:var(--spine-surface);
  --spine-pdp-sticky-color:var(--spine-fg);
  --spine-pdp-sticky-border:var(--spine-border);
  --spine-pdp-variant-background:var(--spine-surface,var(--spine-bg,#fff));
  --spine-pdp-variant-color:var(--spine-fg,#17211d);
  --spine-pdp-variant-hover-border:var(--spine-accent);
  --spine-pdp-variant-border:var(--spine-border);
  --spine-pdp-variant-active-border:var(--spine-accent);
  --spine-pdp-variant-active-background:var(--spine-accent);
  --spine-pdp-variant-active-color:var(--spine-surface,var(--spine-bg,#fff));
  --spine-pdp-variant-active-ring:color-mix(in srgb,var(--spine-accent) 24%,transparent);
  --spine-pdp-variant-focus:var(--spine-accent-2);
  --spine-pdp-variant-radius:var(--spine-radius);
  /* Backwards-compatible alias for packages using the original token name. */
  --spine-pdp-variant-active-bg:var(--spine-pdp-variant-active-background);
  --spine-pdp-qty-border:var(--spine-border);
  --spine-pdp-qty-bg:var(--spine-surface);
  --spine-currency-bg:var(--spine-surface);
  --spine-currency-border:var(--spine-border);
  --spine-currency-color:var(--spine-fg);
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}
body{margin:0;background:var(--spine-bg);color:var(--spine-fg);font-family:var(--spine-font-body);font-size:var(--spine-base,16px);line-height:1.6;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
img,video{max-width:100%;display:block}
h1,h2,h3,h4{font-family:var(--spine-font-display);font-weight:600;line-height:1.15;margin:0 0 .5em;color:var(--spine-fg)}
p{margin:0 0 1em}
a{color:inherit}
:where(button){font:inherit;cursor:pointer}
/* Neutral primitive controls: theme classes remain authoritative. */
:where(
  input:not([type="hidden"]):not([type="image"]),
  input[type="number"],
  input[type="date"],
  input[type="time"],
  input[type="button"],
  input[type="submit"],
  input[type="reset"],
  select,
  textarea,
  button,
  [data-spine-control]
) {
  box-sizing: border-box;
  min-block-size: var(--spine-control-min, 2.75rem);
  margin: 0;
  font: inherit;
  line-height: 1.35;
  letter-spacing: inherit;
  color: var(--spine-control-fg, var(--spine-fg));
  background-color: var(--spine-control-bg, var(--spine-surface, var(--spine-bg)));
  border: 1px solid var(--spine-control-border, var(--spine-border));
  border-radius: var(--spine-control-radius, var(--spine-radius));
  padding-block: var(--spine-control-padding-block, .625rem);
  padding-inline: var(--spine-control-padding-inline, .75rem);
  transition: border-color .15s ease, background-color .15s ease, color .15s ease, box-shadow .15s ease;
}

/* Keep native select, calendar, and clock affordances available. */
:where(select) {
  padding-inline-end: 2.75rem;
}

:where(button, input[type="button"], input[type="submit"], input[type="reset"], [data-spine-control="button"]) {
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: .5rem;
}

:where(input[type="checkbox"], input[type="radio"]) {
  inline-size: 1.1rem;
  block-size: 1.1rem;
  min-block-size: 1.1rem;
  margin: 0;
  padding: 0;
  accent-color: var(--spine-control-accent, var(--spine-accent));
  vertical-align: middle;
}

:where(input[type="radio"]) {
  border-radius: 50%;
}

:where(input[type="range"]) {
  inline-size: 100%;
  min-block-size: var(--spine-control-min, 2.75rem);
  margin: 0;
  padding: 0;
  border: 0;
  border-radius: 999px;
  background: transparent;
  accent-color: var(--spine-control-accent, var(--spine-accent));
}

:where(input, textarea)::placeholder {
  color: var(--spine-control-disabled-fg, var(--spine-muted));
  opacity: .8;
}

:where(
  input:not([type="hidden"]):not([type="image"]):not([type="checkbox"]):not([type="radio"]):not([type="range"]):not(:disabled),
  select:not(:disabled),
  textarea:not(:disabled),
  button:not(:disabled),
  [data-spine-control]:not(:disabled):not([aria-disabled="true"])
):hover {
  border-color: var(--spine-control-border-hover, var(--spine-accent));
  background-color: var(--spine-control-hover-bg, var(--spine-bg));
}

:where(input[type="checkbox"], input[type="radio"], input[type="range"]):not(:disabled):hover {
  accent-color: var(--spine-control-accent-hover, var(--spine-accent-2));
}

:where(
  input:focus-visible,
  select:focus-visible,
  textarea:focus-visible,
  button:focus-visible,
  [data-spine-control]:focus-visible
) {
  outline: 2px solid var(--spine-control-focus, var(--spine-accent-2));
  outline-offset: 2px;
  box-shadow: 0 0 0 3px var(--spine-control-focus-ring, transparent);
}

:where(
  input:disabled,
  select:disabled,
  textarea:disabled,
  button:disabled,
  [data-spine-control][aria-disabled="true"]
) {
  color: var(--spine-control-disabled-fg, var(--spine-muted));
  background-color: var(--spine-control-disabled-bg, var(--spine-bg));
  border-color: var(--spine-control-border, var(--spine-border));
  cursor: not-allowed;
  opacity: .62;
}

:where(
  input:invalid,
  select:invalid,
  textarea:invalid,
  [data-spine-control][aria-invalid="true"]
) {
  border-color: var(--spine-control-invalid, #b42318);
}

:where(input[type="checkbox"]:checked, input[type="radio"]:checked) {
  accent-color: var(--spine-control-accent, var(--spine-accent));
}

:where(option:checked) {
  color: var(--spine-control-selected-fg, var(--spine-fg));
  background-color: var(--spine-control-selected-bg, var(--spine-bg));
}

:where(
  [data-spine-control][aria-selected="true"],
  [data-spine-control][aria-checked="true"],
  [data-spine-control][data-selected="true"]
) {
  color: var(--spine-control-selected-fg, var(--spine-fg));
  background-color: var(--spine-control-selected-bg, var(--spine-bg));
  border-color: var(--spine-control-border-hover, var(--spine-accent));
}

@media (prefers-reduced-motion: reduce) {
  :where(input, select, textarea, button, [data-spine-control]) {
    transition-duration: .01ms !important;
  }
}
.spine-wrap{width:min(var(--spine-maxw),calc(100% - (var(--spine-gutter) * 2)));margin-inline:auto}
.spine-eyebrow{font-family:var(--spine-font-body);font-size:.72rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--spine-accent-2);margin:0 0 .9rem}
.spine-btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;min-height:var(--spine-control-min);border:1px solid var(--spine-accent);background:var(--spine-accent);color:var(--spine-surface);font-weight:650;font-size:.92rem;letter-spacing:.04em;padding:.95rem 2.2rem;border-radius:var(--spine-radius);text-decoration:none;transition:opacity .18s ease,transform .18s ease,box-shadow .18s ease}
.spine-btn:hover{opacity:.88}
.spine-btn:active{transform:translateY(1px)}
.spine-btn-ghost{background:transparent;color:var(--spine-accent)}
.spine-btn-ghost:hover{opacity:.7}
.spine-btn:focus-visible,a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:2px solid var(--spine-accent-2);outline-offset:3px}
.spine-stars{color:var(--spine-accent-2);letter-spacing:.12em;font-size:.95rem}
.spine-section{padding:var(--spine-section-space) 0}
.spine-section-head{max-width:var(--spine-content-narrow);margin:0 auto clamp(2rem,5vw,3.5rem);text-align:center}
.spine-section-head h2{font-size:clamp(2rem,4vw,3.15rem);letter-spacing:-.02em}
.spine-section-head>p:last-child{max-width:38rem;margin-inline:auto;color:var(--spine-muted);font-size:clamp(.95rem,2vw,1.08rem)}
.spine-panel{background:var(--spine-surface);border:1px solid var(--spine-border);border-radius:max(var(--spine-radius),.5rem);box-shadow:var(--spine-shadow-soft)}
.spine-hidden{display:none!important}
.skip-link{position:absolute;left:-9999px;top:0;z-index:100;background:var(--spine-accent);color:var(--spine-surface);padding:.6rem 1rem;border-radius:var(--spine-radius);font-size:.85rem;text-decoration:none}
.skip-link:focus{left:1rem;top:1rem}
.spine-util{max-width:52rem;margin-inline:auto;padding:6rem 1.5rem 7rem;min-height:64vh}
.spine-util h1{font-size:clamp(2.2rem,5vw,3.6rem);margin-bottom:.4em}
.spine-util-intro{color:var(--spine-muted);font-size:1.05rem;max-width:46rem;margin-bottom:2.4rem}
.spine-util-card{border:1px solid var(--spine-border);border-radius:var(--spine-radius);background:var(--spine-surface);padding:2rem;min-height:14rem}
.spine-util-links{display:flex;flex-wrap:wrap;gap:.6rem 1.4rem;margin-top:1.6rem}
.spine-util-links a{font-size:.88rem;color:var(--spine-accent);text-decoration:underline}
/* Shared card anatomy (spine-js emits this DOM for every style). */
.spine-catalog-card{position:relative;display:flex;flex-direction:column;background:var(--spine-surface);border:1px solid var(--spine-border);border-radius:var(--spine-radius);overflow:hidden;transition:box-shadow .22s ease,transform .22s ease,border-color .22s ease}
.spine-catalog-card-image-wrap{position:relative;display:block;width:100%;aspect-ratio:1/1;overflow:hidden;background:var(--spine-bg)}
.spine-catalog-card-image-wrap img{width:100%;height:100%;object-fit:cover;transition:transform .45s cubic-bezier(.2,.6,.2,1)}
.spine-catalog-card-image-wrap[data-spine-hover-image]{isolation:isolate}
.spine-catalog-card-image-wrap[data-spine-hover-image] .spine-catalog-card-image--secondary{position:absolute;inset:0;opacity:0;z-index:1;transition:opacity .22s ease}
.spine-catalog-card-image-wrap[data-spine-hover-image]:is(:hover,:focus-within) .spine-catalog-card-image--secondary{opacity:1}
.spine-catalog-card-image-wrap[data-spine-hover-image]:is(:hover,:focus-within) .spine-catalog-card-image--primary{opacity:0}
.spine-catalog-card-image-wrap[data-spine-hover-image] .spine-image-fallback{position:absolute;inset:0;z-index:2;display:grid;place-items:center;padding:1rem;background:var(--spine-bg);color:var(--spine-muted);text-align:center}
.spine-catalog-card-image-wrap[data-spine-hover-image] .spine-image-fallback[hidden]{display:none}
.spine-catalog-card-placeholder{width:100%;height:100%;background:linear-gradient(135deg,var(--spine-bg),var(--spine-border))}
.spine-catalog-card-badge{position:absolute;top:.75rem;right:.75rem;z-index:2;background:var(--spine-accent-2);color:#fff;font-size:.72rem;font-weight:700;padding:.28rem .6rem;border-radius:999px;letter-spacing:.04em}
.spine-catalog-card-body{display:flex;flex-direction:column;flex:1;gap:.4rem;padding:1.2rem}
.spine-catalog-card-title-link{text-decoration:none;color:var(--spine-fg)}
.spine-catalog-card-body h3{font-family:var(--spine-font-body);font-size:1.02rem;font-weight:600;margin:0;line-height:1.35}
.spine-catalog-card-desc{color:var(--spine-muted);font-size:.84rem;margin:0;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.spine-catalog-card-price-row{display:flex;align-items:baseline;gap:.6rem;margin-top:.2rem}
.spine-catalog-card-price{font-weight:700;font-size:1.05rem;color:var(--spine-fg)}
.spine-catalog-card-compare-price{font-size:.88rem;color:var(--spine-muted);text-decoration:line-through}
.spine-catalog-card-buy{margin-top:auto;padding:.65rem 1rem;font-size:.86rem;font-weight:600;border-radius:var(--spine-radius);border:1px solid var(--spine-border);background:var(--spine-surface);color:var(--spine-fg);cursor:pointer;transition:background .18s ease,color .18s ease,border-color .18s ease,opacity .18s ease,transform .18s ease}

/* ---- LUXURY — 4:5 portrait, serif, gold hover frame, buy reveals on hover. */
.spine-pg-grid[data-card-style="luxury"],.spine-rp-grid[data-card-style="luxury"],.spine-pdp-related-grid[data-card-style="luxury"]{gap:2.4rem 2rem}
.spine-catalog-card--luxury{border:1px solid var(--spine-border);border-radius:0;background:transparent;box-shadow:none}
.spine-catalog-card--luxury .spine-catalog-card-image-wrap{aspect-ratio:4/5}
.spine-catalog-card--luxury .spine-catalog-card-image-wrap::after{content:"";position:absolute;inset:.55rem;border:1px solid rgb(255 255 255 / 0);pointer-events:none;transition:border-color .3s ease}
.spine-catalog-card--luxury:hover .spine-catalog-card-image-wrap::after{border-color:rgb(255 255 255 / .65)}
.spine-catalog-card--luxury:hover{border-color:var(--spine-accent-2);box-shadow:var(--spine-shadow);transform:translateY(-4px)}
.spine-catalog-card--luxury:hover .spine-catalog-card-image-wrap img{transform:scale(1.06)}
.spine-catalog-card--luxury .spine-catalog-card-body{align-items:center;text-align:center;padding:1.4rem 1rem 1.6rem;gap:.35rem}
.spine-catalog-card--luxury h3{font-family:var(--spine-font-display);font-size:1.28rem;font-weight:600;letter-spacing:.01em}
.spine-catalog-card--luxury .spine-catalog-card-desc{display:none}
.spine-catalog-card--luxury .spine-catalog-card-price-row{justify-content:center}
.spine-catalog-card--luxury .spine-catalog-card-price{font-family:var(--spine-font-display);font-size:1.12rem;font-weight:600;color:var(--spine-accent-2)}
.spine-catalog-card--luxury .spine-catalog-card-buy{width:min(12rem,100%);margin-top:.7rem;border-radius:999px;border:1px solid var(--spine-fg);background:transparent;color:var(--spine-fg);text-transform:uppercase;letter-spacing:.14em;font-size:.7rem;padding:.7rem 1rem;opacity:0;transform:translateY(10px)}
.spine-catalog-card--luxury:hover .spine-catalog-card-buy,.spine-catalog-card--luxury:focus-within .spine-catalog-card-buy{opacity:1;transform:translateY(0)}
.spine-catalog-card--luxury .spine-catalog-card-buy:hover{background:var(--spine-fg);color:var(--spine-surface)}
@media(hover:none){.spine-catalog-card--luxury .spine-catalog-card-buy{opacity:1;transform:none}}

/* ---- MINIMAL — 1:1, borderless, title + price on one line, tiny Add link. */
.spine-pg-grid[data-card-style="minimal"],.spine-rp-grid[data-card-style="minimal"],.spine-pdp-related-grid[data-card-style="minimal"]{gap:3.2rem 2.6rem}
.spine-catalog-card--minimal{border:0;background:transparent;box-shadow:none;border-radius:0;overflow:visible}
.spine-catalog-card--minimal:hover{transform:none;box-shadow:none}
.spine-catalog-card--minimal .spine-catalog-card-image-wrap{aspect-ratio:1/1;border-radius:var(--spine-radius)}
.spine-catalog-card--minimal:hover .spine-catalog-card-image-wrap img{transform:scale(1.03)}
.spine-catalog-card--minimal .spine-catalog-card-badge{border-radius:.2rem;font-size:.62rem;padding:.2rem .45rem}
.spine-catalog-card--minimal .spine-catalog-card-body{display:grid;grid-template-columns:1fr auto;grid-template-areas:"title price" "add add";align-items:baseline;column-gap:.8rem;padding:.9rem .1rem 0}
.spine-catalog-card--minimal .spine-catalog-card-title-link{grid-area:title}
.spine-catalog-card--minimal h3{font-size:.95rem;font-weight:500}
.spine-catalog-card--minimal .spine-catalog-card-desc{display:none}
.spine-catalog-card--minimal .spine-catalog-card-price-row{grid-area:price;justify-content:flex-end;margin:0;white-space:nowrap}
.spine-catalog-card--minimal .spine-catalog-card-price{font-size:.95rem;font-weight:600}
.spine-catalog-card--minimal .spine-catalog-card-buy{grid-area:add;justify-self:start;margin:.35rem 0 0;padding:0;border:0;background:none;color:var(--spine-muted);font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.16em;text-decoration:underline;text-underline-offset:.3em}
.spine-catalog-card--minimal .spine-catalog-card-buy:hover{color:var(--spine-accent)}

/* ---- BOLD — 3:4, thick frame, uppercase type, always-on full-width CTA. */
.spine-pg-grid[data-card-style="bold"],.spine-rp-grid[data-card-style="bold"],.spine-pdp-related-grid[data-card-style="bold"]{gap:1.4rem}
.spine-catalog-card--bold{border:2px solid var(--spine-fg);border-radius:.6rem;box-shadow:none}
.spine-catalog-card--bold:hover{transform:translate(-3px,-3px);box-shadow:6px 6px 0 var(--spine-accent)}
.spine-catalog-card--bold .spine-catalog-card-image-wrap{aspect-ratio:3/4;border-bottom:2px solid var(--spine-fg)}
.spine-catalog-card--bold:hover .spine-catalog-card-image-wrap img{transform:scale(1.05)}
.spine-catalog-card--bold .spine-catalog-card-badge{top:.9rem;left:.9rem;right:auto;border-radius:.25rem;background:var(--spine-fg);color:var(--spine-surface);text-transform:uppercase;letter-spacing:.08em}
.spine-catalog-card--bold .spine-catalog-card-body{padding:1.1rem 1.1rem 1.2rem;gap:.3rem}
.spine-catalog-card--bold h3{text-transform:uppercase;letter-spacing:.06em;font-size:.92rem;font-weight:800}
.spine-catalog-card--bold .spine-catalog-card-desc{display:none}
.spine-catalog-card--bold .spine-catalog-card-price{font-size:1.45rem;font-weight:800;letter-spacing:-.01em}
.spine-catalog-card--bold .spine-catalog-card-buy{width:100%;margin-top:.8rem;border:0;border-radius:.4rem;background:var(--spine-accent);color:var(--spine-surface);font-weight:800;font-size:.8rem;letter-spacing:.12em;text-transform:uppercase;padding:.95rem 1rem}
.spine-catalog-card--bold .spine-catalog-card-buy:hover{background:var(--spine-accent-2)}

/* ---- BADGE — bold layout + diagonal corner ribbon on sale items. */
.spine-pg-grid[data-card-style="badge"],.spine-rp-grid[data-card-style="badge"],.spine-pdp-related-grid[data-card-style="badge"]{gap:1.6rem}
.spine-catalog-card--badge{border:2px solid var(--spine-fg);border-radius:.6rem}
.spine-catalog-card--badge:hover{transform:translateY(-4px);box-shadow:0 14px 30px rgb(0 0 0 / .12)}
.spine-catalog-card--badge .spine-catalog-card-image-wrap{aspect-ratio:3/4;border-bottom:2px solid var(--spine-fg)}
.spine-catalog-card--badge:hover .spine-catalog-card-image-wrap img{transform:scale(1.05)}
.spine-catalog-card--badge .spine-catalog-card-badge{top:1.1rem;left:-2.6rem;right:auto;width:9rem;padding:.35rem 0;border-radius:0;background:var(--spine-accent-2);color:#fff;text-align:center;text-transform:uppercase;letter-spacing:.1em;font-size:.66rem;transform:rotate(-45deg);box-shadow:0 2px 8px rgb(0 0 0 / .25)}
.spine-catalog-card--badge .spine-catalog-card-body{padding:1.1rem 1.1rem 1.2rem;gap:.3rem}
.spine-catalog-card--badge h3{text-transform:uppercase;letter-spacing:.06em;font-size:.92rem;font-weight:800}
.spine-catalog-card--badge .spine-catalog-card-desc{display:none}
.spine-catalog-card--badge .spine-catalog-card-price{font-size:1.45rem;font-weight:800}
.spine-catalog-card--badge .spine-catalog-card-buy{width:100%;margin-top:.8rem;border:2px solid var(--spine-fg);border-radius:.4rem;background:transparent;color:var(--spine-fg);font-weight:800;font-size:.8rem;letter-spacing:.12em;text-transform:uppercase;padding:.85rem 1rem}
.spine-catalog-card--badge .spine-catalog-card-buy:hover{background:var(--spine-fg);color:var(--spine-surface)}
.spine-hdr{position:relative;z-index:30;background:color-mix(in srgb,var(--spine-surface) 94%,transparent);border-bottom:1px solid var(--spine-border)}
.spine-hdr--sticky{position:sticky;top:0;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px)}
.spine-hdr-inner{display:flex;align-items:center;gap:1.5rem;min-height:4.75rem;padding:.75rem 0}
.spine-hdr--brand-left .spine-hdr-inner{justify-content:space-between}
.spine-hdr--brand-center .spine-hdr-inner{display:grid;grid-template-columns:1fr auto 1fr}
.spine-hdr--brand-center .spine-hdr-nav{justify-self:start}
.spine-hdr--brand-center .spine-hdr-actions{justify-self:end}
.spine-hdr-brand{font-family:var(--spine-font-display);font-size:1.6rem;font-weight:700;letter-spacing:.03em;text-decoration:none;color:var(--spine-fg)}
.spine-hdr-nav{display:flex;gap:1.8rem}
.spine-hdr-link{position:relative;font-size:.88rem;font-weight:550;letter-spacing:.02em;text-decoration:none;color:var(--spine-muted);transition:color .15s ease}
.spine-hdr-link:hover{color:var(--spine-fg)}
.spine-hdr-link::after{content:"";position:absolute;left:0;right:100%;bottom:-.4rem;height:1px;background:currentColor;transition:right .18s ease}
.spine-hdr-link:hover::after,.spine-hdr-link:focus-visible::after{right:0}
.spine-hdr-actions{display:flex;align-items:center;gap:1rem}
.spine-hdr-search{min-height:2.5rem;background:transparent;border:1px solid var(--spine-border);color:var(--spine-fg);padding:.4rem .8rem;font:inherit;font-size:.82rem;border-radius:999px;cursor:pointer;transition:border-color .15s ease,box-shadow .15s ease}
.spine-hdr-search:hover,.spine-hdr-search:focus-visible{outline:none;border-color:var(--spine-accent)}
.spine-hdr-currency select{min-height:2.5rem;background:var(--spine-currency-bg,transparent);border:1px solid var(--spine-currency-border,var(--spine-border));color:var(--spine-currency-color,var(--spine-fg));padding:.35rem .6rem;font-size:.78rem;font-weight:600;border-radius:999px;cursor:pointer}
.spine-hdr-cart{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;min-height:2.5rem;border:1px solid var(--spine-border);background:var(--spine-surface);color:var(--spine-fg);font-size:.82rem;font-weight:650;padding:.45rem .9rem;border-radius:999px;cursor:pointer;transition:border-color .15s ease,background .15s ease,transform .15s ease}
.spine-hdr-cart:hover{border-color:var(--spine-accent);background:var(--spine-bg)}
.spine-hdr-cart:active{transform:translateY(1px)}
.spine-hdr-cart::before{content:"";display:block;width:.85rem;height:.85rem;border:1.5px solid currentColor;border-radius:.2rem;transform:rotate(45deg)}
.spine-hdr-menu{display:none;position:relative}
.spine-hdr-menu-toggle{display:grid;place-items:center;width:2.75rem;height:2.75rem;border:1px solid var(--spine-border);border-radius:50%;list-style:none;cursor:pointer}
.spine-hdr-menu-toggle::-webkit-details-marker{display:none}
.spine-hdr-menu-toggle span,.spine-hdr-menu-toggle span::before,.spine-hdr-menu-toggle span::after{display:block;width:1rem;height:1.5px;background:currentColor;transition:transform .18s ease}
.spine-hdr-menu-toggle span{position:relative}
.spine-hdr-menu-toggle span::before,.spine-hdr-menu-toggle span::after{content:"";position:absolute;left:0}
.spine-hdr-menu-toggle span::before{top:-.32rem}.spine-hdr-menu-toggle span::after{top:.32rem}
.spine-hdr-menu[open] .spine-hdr-menu-toggle span{background:transparent}
.spine-hdr-menu[open] .spine-hdr-menu-toggle span::before{top:0;transform:rotate(45deg)}
.spine-hdr-menu[open] .spine-hdr-menu-toggle span::after{top:0;transform:rotate(-45deg)}
.spine-hdr-menu-panel{position:absolute;left:0;top:calc(100% + .65rem);display:grid;min-width:min(19rem,calc(100vw - 2rem));padding:.6rem;background:var(--spine-surface);border:1px solid var(--spine-border);border-radius:max(var(--spine-radius),.65rem);box-shadow:var(--spine-shadow)}
.spine-hdr-menu-link{padding:.8rem .9rem;border-radius:var(--spine-radius);font-weight:600;text-decoration:none}
.spine-hdr-menu-link:hover{background:var(--spine-bg)}

.spine-hdr-cat-nav{background:var(--spine-bg);border-top:1px solid var(--spine-border);padding:.6rem 0}
.spine-hdr-cat-inner{display:flex;justify-content:center;gap:2rem;overflow-x:auto}
.spine-hdr-cat-link{font-size:.78rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;text-decoration:none;color:var(--spine-fg);white-space:nowrap;transition:opacity .15s ease}
.spine-hdr-cat-link:hover{opacity:.7}

/* Overlay tone: floats transparent over a full-bleed hero with light text. */
.spine-hdr--overlay{position:absolute;top:0;left:0;right:0;background:transparent;border-bottom-color:rgb(255 255 255 / .18);color:#fff}
.spine-hdr--overlay .spine-hdr-brand,.spine-hdr--overlay .spine-hdr-link{color:rgb(255 255 255 / .85)}
.spine-hdr--overlay .spine-hdr-link:hover{color:#fff}
.spine-hdr--overlay .spine-hdr-cart{background:transparent;border-color:rgb(255 255 255 / .4);color:#fff}
.spine-hdr--overlay .spine-hdr-search{border-color:rgb(255 255 255 / .4);color:#fff}
.spine-hdr--overlay .spine-hdr-cat-nav{background:transparent;border-top-color:rgb(255 255 255 / .18)}
.spine-hdr--overlay .spine-hdr-cat-link{color:#fff}
.spine-hdr--overlay .spine-hdr-menu-toggle{border-color:rgb(255 255 255 / .4);color:#fff}
.spine-hdr--overlay .spine-hdr-menu-panel{color:var(--spine-fg)}

@media(max-width:768px){
  .spine-hdr-inner{min-height:4.25rem;gap:.65rem}
  .spine-hdr-menu{display:block}
  .spine-hdr-nav{display:none}
  .spine-hdr-search{display:none}
  .spine-hdr--brand-center .spine-hdr-inner{display:flex;justify-content:space-between}
  .spine-hdr-cat-inner{justify-content:flex-start;padding:0 1rem}
  .spine-hdr-brand{font-size:clamp(1.2rem,6vw,1.5rem);margin-right:auto}
  .spine-hdr-actions{gap:.5rem}
  .spine-hdr-currency select{max-width:4.75rem}
  .spine-hdr-cart{width:2.75rem;height:2.75rem;padding:0;border-radius:50%;font-size:0}
  .spine-hdr-cart::before{font-size:initial}
}
.spine-hero{position:relative;display:flex;align-items:center;min-height:clamp(36rem,82svh,54rem);overflow:hidden;isolation:isolate}
.spine-hero--dark{color:#fff}
.spine-hero--light{color:var(--spine-fg)}
.spine-hero-media{position:absolute;inset:0;z-index:-2;background:var(--spine-bg)}
.spine-hero-image{width:100%;height:100%;object-fit:cover}
.spine-hero-gradient{width:100%;height:100%;background:linear-gradient(145deg,var(--spine-accent),var(--spine-accent-2))}
.spine-hero--light .spine-hero-gradient{background:radial-gradient(circle at 80% 20%,color-mix(in srgb,var(--spine-accent-2) 18%,transparent),transparent 36%),linear-gradient(180deg,var(--spine-surface),var(--spine-bg))}
.spine-hero--dark.spine-hero--has-image.spine-hero--overlay::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgb(0 0 0 / .68) 0%,rgb(0 0 0 / .34) 58%,rgb(0 0 0 / .12) 100%)}
.spine-hero-inner{position:relative;z-index:1;padding:clamp(6rem,12vw,9rem) 0}
.spine-hero--center .spine-hero-inner{margin-inline:auto;text-align:center;display:flex;flex-direction:column;align-items:center}
.spine-hero--dark .spine-hero-eyebrow{color:#fff;opacity:.85}
.spine-hero-title{font-size:clamp(2.6rem,6vw,4.6rem);max-width:16ch;margin-bottom:.35em}
.spine-hero--center .spine-hero-title{max-width:22ch}
.spine-hero-sub{font-size:1.12rem;max-width:46ch;margin-bottom:2rem}
.spine-hero--dark .spine-hero-sub{color:rgb(255 255 255 / .92)}
.spine-hero--light .spine-hero-sub{color:var(--spine-muted)}
.spine-hero-ctas{display:flex;align-items:center;gap:1rem;flex-wrap:wrap}
.spine-hero--dark .spine-hero-cta{background:#fff;color:var(--spine-fg);border-color:#fff}
.spine-hero--dark .spine-hero-cta:hover{opacity:.92}
.spine-hero--dark .spine-hero-cta2{color:#fff;border-color:rgb(255 255 255 / .5)}

/* SPLIT — editorial two-column opener. */
.spine-hero--split{min-height:0;background:var(--spine-bg);color:var(--spine-fg)}
.spine-hero-split-grid{display:grid;grid-template-columns:1.05fr 1fr;gap:clamp(2.5rem,6vw,5.5rem);align-items:center;padding:clamp(3.5rem,8vw,6.5rem) 0;width:min(var(--spine-maxw),calc(100% - (var(--spine-gutter) * 2)));margin-inline:auto}
.spine-hero-split-copy{display:flex;flex-direction:column;align-items:flex-start}
.spine-hero--split .spine-hero-title{max-width:14ch}
.spine-hero--split .spine-hero-sub{color:var(--spine-muted)}
.spine-hero-split-media{overflow:hidden;border-radius:max(var(--spine-radius),.5rem)}
.spine-hero-split-img{width:100%;aspect-ratio:4/5;object-fit:cover;display:block;box-shadow:var(--spine-shadow)}
.spine-hero-split-placeholder{display:flex;align-items:center;justify-content:center;width:100%;aspect-ratio:4/5;border:1px dashed var(--spine-border);background:var(--spine-surface);color:var(--spine-muted)}
@media(max-width:880px){.spine-hero{min-height:clamp(34rem,76svh,44rem)}.spine-hero-split-grid{grid-template-columns:1fr;gap:2.2rem}.spine-hero-split-media{order:-1}.spine-hero-split-img{aspect-ratio:4/3}.spine-hero--dark.spine-hero--has-image.spine-hero--overlay::after{background:linear-gradient(0deg,rgb(0 0 0 / .72),rgb(0 0 0 / .2))}}
@media(max-width:560px){.spine-hero-title{font-size:clamp(2.4rem,13vw,3.35rem)}.spine-hero-sub{font-size:1rem}.spine-hero-ctas{align-items:stretch;flex-direction:column}.spine-hero-ctas .spine-btn{width:100%}}
.spine-ps{background:var(--spine-bg)}
.spine-ps-grid{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(20rem,.92fr);gap:clamp(2.5rem,7vw,6rem);align-items:start}
.spine-ps-figure{margin:0;position:sticky;top:6rem}
.spine-ps-image{width:100%;aspect-ratio:4/5;object-fit:cover;border-radius:max(var(--spine-radius),.5rem);box-shadow:var(--spine-shadow)}
.spine-ps-fallback{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1rem;width:100%;aspect-ratio:4/5;border:1px solid var(--spine-border);border-radius:max(var(--spine-radius),.5rem);background:linear-gradient(145deg,var(--spine-surface),color-mix(in srgb,var(--spine-accent-2) 8%,var(--spine-bg)));color:var(--spine-muted)}
.spine-ps-fallback-orbit{width:3.5rem;height:3.5rem;border-radius:50%;border:2px solid var(--spine-border);border-top-color:var(--spine-accent-2)}
.spine-ps-panel{padding:clamp(1.25rem,4vw,2.25rem);background:var(--spine-surface);border:1px solid var(--spine-border);border-radius:max(var(--spine-radius),.5rem);box-shadow:var(--spine-shadow-soft)}
.spine-ps-title{font-size:clamp(1.9rem,3.4vw,2.8rem);margin-bottom:.3em}
.spine-ps-subtitle{color:var(--spine-muted);font-size:1.05rem}
.spine-ps-rating{display:inline-flex;align-items:center;gap:.55rem;text-decoration:none;margin:.4rem 0 .9rem;padding:.35rem 0}
.spine-ps-rating-mark{display:grid;place-items:center;width:1.65rem;height:1.65rem;border-radius:50%;background:color-mix(in srgb,var(--spine-accent-2) 14%,var(--spine-surface));color:var(--spine-accent-2)}
.spine-ps-rating-text{font-size:.88rem;color:var(--spine-muted)}
.spine-ps-price{font-family:var(--spine-font-display);font-size:1.7rem;font-weight:700;color:var(--spine-accent);margin:.2rem 0 .9rem}
.spine-ps-description{color:var(--spine-muted);max-width:52ch}
.spine-ps-features{list-style:none;padding:0;margin:0 0 1.4rem;display:grid;gap:.55rem}
.spine-ps-features li{position:relative;padding-left:1.7rem;color:var(--spine-fg);font-size:.95rem}
.spine-ps-features li::before{content:"✓";position:absolute;left:0;color:var(--spine-accent-2);font-weight:700}
.spine-ps-specs{margin:0 0 1.4rem;display:grid;gap:.35rem}
.spine-ps-specs div{display:flex;justify-content:space-between;gap:1rem;border-bottom:1px solid var(--spine-border);padding:.4rem 0;font-size:.88rem}
.spine-ps-specs dt{color:var(--spine-muted)}
.spine-ps-specs dd{margin:0;font-weight:600}
.spine-ps-qty{display:flex;gap:.65rem;flex-wrap:wrap;margin:0 0 1.4rem}
.spine-ps-qty .spine-pdp-qty-rule{display:inline-flex;align-items:center;gap:.45rem;min-height:var(--spine-control-min);border:1px solid var(--spine-border);border-radius:var(--spine-radius);padding:.7rem .9rem;background:var(--spine-surface);font-size:.84rem;cursor:pointer}
.spine-ps-qty .spine-pdp-qty-rule:has(input:checked){border-color:var(--spine-accent);box-shadow:0 0 0 1px var(--spine-accent)}
.spine-ps-qty .spine-pdp-qty-stepper{display:inline-flex;align-items:center;overflow:hidden;border:1px solid var(--spine-border);border-radius:var(--spine-radius)}
.spine-ps-qty .spine-pdp-qty-btn{width:var(--spine-control-min);height:var(--spine-control-min);border:0;background:var(--spine-surface);color:var(--spine-fg)}
.spine-ps-qty .spine-pdp-qty-value{min-width:2.5rem;text-align:center;font-weight:700}
.spine-ps-buy{width:100%;padding:1.1rem;font-size:1rem;margin-bottom:1rem}
.spine-ps-trust{display:flex;flex-wrap:wrap;gap:.55rem 1.25rem;padding-top:1rem;border-top:1px solid var(--spine-border)}
.spine-ps-trust .spine-pdp-trust-item{font-size:.8rem;color:var(--spine-muted)}
.spine-ps-trust:empty{display:none}
@media(max-width:900px){.spine-ps-grid{grid-template-columns:1fr;gap:2.5rem}.spine-ps-figure{position:static}.spine-ps-image,.spine-ps-fallback{aspect-ratio:4/3}}
@media(max-width:560px){.spine-ps{padding-top:2rem}.spine-ps-panel{padding:1.25rem}.spine-ps-image,.spine-ps-fallback{aspect-ratio:1/1}}
.spine-pg{background:var(--spine-bg);padding:4rem 0}
.spine-pg-head{text-align:center;max-width:44rem;margin:0 auto 3rem}
.spine-pg-title{font-size:clamp(1.8rem,3.4vw,2.6rem);font-family:var(--spine-font-display)}
.spine-pg-sub{color:var(--spine-muted);font-size:1.02rem;margin-top:.5rem}
.spine-pg-grid{display:grid;gap:1.6rem}
.spine-pg-grid--3{grid-template-columns:repeat(3,1fr)}
.spine-pg-grid--4{grid-template-columns:repeat(4,1fr)}
@media(max-width:1000px){.spine-pg-grid--4{grid-template-columns:repeat(3,1fr)}}
@media(max-width:820px){.spine-pg-grid--3,.spine-pg-grid--4{grid-template-columns:repeat(2,1fr)}}
@media(max-width:480px){.spine-pg-grid--3,.spine-pg-grid--4{grid-template-columns:1fr}}
.spine-pg-loading,.spine-pg-empty{grid-column:1/-1;text-align:center;color:var(--spine-muted);padding:3rem 0}
.spine-faq{background:var(--spine-surface)}
.spine-faq:has([data-spine-product-faqs][hidden]){display:none}
.spine-faq-inner{max-width:48rem;margin-inline:auto}
.spine-faq-list{display:grid;gap:.75rem}
.spine-faq-list details{border:1px solid var(--spine-border);border-radius:max(var(--spine-radius),.5rem);background:var(--spine-bg);overflow:hidden;transition:border-color .18s ease,box-shadow .18s ease}
.spine-faq-list details[open]{border-color:color-mix(in srgb,var(--spine-accent) 42%,var(--spine-border));box-shadow:var(--spine-shadow-soft)}
.spine-faq-list summary{display:flex;align-items:center;justify-content:space-between;gap:1rem;min-height:var(--spine-control-min);cursor:pointer;list-style:none;font-weight:650;font-size:.98rem;padding:1.15rem 1.3rem}
.spine-faq-list summary::-webkit-details-marker{display:none}
.spine-faq-list summary::after{content:"+";flex:none;color:var(--spine-accent-2);font-size:1.35rem;font-weight:400;line-height:1}
.spine-faq-list details[open] summary::after{content:"−"}
.spine-faq-list details p{margin:0;padding:0 1.3rem 1.25rem;color:var(--spine-muted);font-size:.92rem;line-height:1.7}
.spine-chk-page{padding:3.5rem 0 5rem;background:var(--spine-bg)}
.spine-chk-head{max-width:40rem;margin:0 auto 2.6rem;text-align:center}
.spine-chk-heading{font-size:clamp(2rem,4vw,2.8rem);font-family:var(--spine-font-display);margin:0 0 .4rem}
.spine-chk-intro{color:var(--spine-muted);margin:0}
.spine-chk-grid{display:grid;grid-template-columns:1.4fr 1fr;gap:2rem;align-items:start}
@media(max-width:880px){.spine-chk-grid{grid-template-columns:1fr}}
.spine-chk-form-col,.spine-chk-summary-col{min-width:0}
.spine-chk-summary-col{position:sticky;top:5.5rem}
@media(max-width:880px){.spine-chk-summary-col{position:static}}
.spine-ftr{padding:4rem 0 2rem;margin-top:2rem}
.spine-ftr--dark{background:#14181a;color:#e8e6e2}
.spine-ftr--light{background:var(--spine-surface);border-top:1px solid var(--spine-border);color:var(--spine-fg)}
.spine-ftr-grid{display:grid;grid-template-columns:1.4fr repeat(auto-fit,minmax(9rem,1fr));gap:2.5rem}
.spine-ftr-logo{font-family:var(--spine-font-display);font-size:1.5rem;font-weight:600;margin:0 0 .5rem}
.spine-ftr-tagline{font-size:.86rem;opacity:.7;max-width:26ch;margin:0}
.spine-ftr-heading{font-family:var(--spine-font-body);font-size:.72rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;opacity:.65;margin:0 0 1rem}
.spine-ftr-list{list-style:none;margin:0;padding:0;display:grid;gap:.55rem}
.spine-ftr-list a{font-size:.88rem;text-decoration:none;opacity:.85;transition:opacity .15s ease}
.spine-ftr-list a:hover{opacity:1;text-decoration:underline}
.spine-ftr-bottom{display:flex;flex-wrap:wrap;justify-content:space-between;gap:.5rem;border-top:1px solid rgb(255 255 255 / .12);margin-top:3rem;padding-top:1.5rem;font-size:.76rem;opacity:.6}
.spine-ftr--light .spine-ftr-bottom{border-top-color:var(--spine-border)}
.spine-ftr-copy,.spine-ftr-powered{margin:0}
@media(max-width:720px){.spine-ftr-grid{grid-template-columns:1fr 1fr}}

:root {
  color-scheme: light;
  --accent: var(--spine-accent, #765b2f);
  --background: var(--spine-bg, #f3eee5);
  --foreground: var(--spine-fg, #211d18);
  --radius: var(--spine-radius, 0.35rem);
  --display: var(--spine-font-display, Georgia, "Times New Roman", serif);
  --body: var(--spine-font-body, "Helvetica Neue", Arial, sans-serif);
  --shadow: var(--spine-shadow, 0 1.5rem 5rem rgb(42 34 24 / 12%));
  --page-gutter: clamp(1.25rem, 5vw, 4rem);
  --spine-chk-columns: 1.4fr 1fr;
  --spine-chk-gap: clamp(1.25rem, 3vw, 3.5rem);
}
:focus-visible { outline: 0.2rem solid var(--accent); outline-offset: 0.28rem; }
::selection { background: #d9c49f; color: #17130f; }
.spine-slot { min-height: 1px; }
.contact-card form { display: grid; gap: 1.35rem; }
.field-row { display: grid; gap: 0.45rem; }
.field-row label { font-size: 0.76rem; font-weight: 800; letter-spacing: 0.1em; text-transform: uppercase; }
.field-row label span { color: var(--spine-muted); font-size: 0.66rem; font-weight: 500; }
.contact-card input, .contact-card select, .contact-card textarea { background: transparent; border: 0; border-bottom: 1px solid var(--spine-border); border-radius: 0; color: var(--spine-fg); min-height: 3rem; padding: 0.65rem 0.15rem; width: 100%; }
.contact-card textarea { border: 1px solid var(--spine-border); min-height: 10rem; padding: 0.8rem; resize: vertical; }
.contact-card input:focus, .contact-card select:focus, .contact-card textarea:focus { border-color: var(--accent); }
[data-spine-turnstile] { min-height: 4.0625rem; width: 100%; }
.verification-status { color: var(--spine-muted); font-size: 0.78rem; margin: 0; min-height: 1.5rem; }
@media (max-width: 24rem) {
  .contact-card { border-inline: 0; margin-inline: calc(var(--page-gutter) * -1); padding-inline: 0.625rem; }
}

/* ---- Theme-owned feedback surface (Spine supplies state and copy only). --- */
.spine-feedback[hidden] { display: none !important; }
.spine-feedback[data-spine-feedback-open] { align-items: center; background: rgb(33 29 24 / 46%); display: grid; inset: 0; justify-items: center; padding: 1rem; position: fixed; z-index: 1000; }
.spine-feedback-panel { background: var(--spine-surface); border: 1px solid var(--spine-border); border-radius: var(--spine-radius); box-shadow: var(--spine-shadow); color: var(--spine-fg); max-width: min(30rem, calc(100vw - 2rem)); padding: clamp(1.35rem, 4vw, 2rem); width: 100%; }
.spine-feedback-panel h2 { font-family: var(--spine-font-display); font-size: clamp(1.2rem, 3vw, 1.6rem); margin: 0; }
.spine-feedback-panel p { color: var(--spine-muted); line-height: 1.55; margin: .75rem 0 0; }
.spine-feedback-actions { display: flex; flex-wrap: wrap; gap: .65rem; justify-content: flex-end; margin-top: 1.25rem; }
.spine-feedback-actions button { background: var(--spine-accent); border: 1px solid var(--spine-accent); border-radius: var(--spine-radius); color: #fff; cursor: pointer; font: inherit; font-weight: 700; padding: .7rem 1rem; }
.spine-feedback-actions [data-spine-feedback-cancel] { background: transparent; border-color: var(--spine-border); color: var(--spine-fg); }
.spine-feedback-input, [data-spine-feedback-input] { background: var(--spine-bg); border: 1px solid var(--spine-border); border-radius: var(--spine-radius); color: var(--spine-fg); font: inherit; margin-top: 1rem; padding: .75rem; width: 100%; }
[data-spine-feedback-input][aria-invalid="true"] { border-color: #b42318; }

/* ---- Dedicated /checkout shell (theme-owned around the runtime slots). ---- */
.spine-chk-brandbar { background: var(--spine-surface); border-bottom: 1px solid var(--spine-border); padding: 1.1rem 0; }
.spine-chk-brandbar-inner { display: flex; align-items: center; justify-content: space-between; gap: 1rem; }
.spine-chk-brandbar-brand { font-family: var(--spine-font-display); font-size: 1.5rem; font-weight: 700; letter-spacing: 0.03em; text-decoration: none; color: var(--spine-fg); }
.spine-chk-brandbar-nav { display: flex; }
.spine-chk-brandbar-back { font-size: 0.85rem; font-weight: 600; letter-spacing: 0.04em; color: var(--spine-muted); text-decoration: none; transition: color 0.15s ease; }
.spine-chk-brandbar-back:hover { color: var(--spine-accent); }
.spine-chk-loading { display: grid; place-items: center; gap: 1rem; min-height: 16rem; padding: 2.5rem 1.5rem; text-align: center; background: var(--spine-surface); border: 1px solid var(--spine-border); border-radius: var(--spine-radius); color: var(--spine-muted); font-size: 0.95rem; }
.spine-chk-loading::before { content: ""; width: 1.9rem; height: 1.9rem; border-radius: 50%; border: 2px solid var(--spine-border); border-top-color: var(--spine-accent); animation: spine-chk-spin 0.9s linear infinite; }
@keyframes spine-chk-spin { to { transform: rotate(360deg); } }
@media (max-width: 48rem) {
  .spine-chk-brandbar-inner { flex-direction: column; align-items: flex-start; gap: 0.5rem; }
  .spine-chk-loading { min-height: 12rem; }
}
