@import url("customer-estimate.css");

/* ReadyPress Customer Design System — additive foundation.
   The configured storefront variables remain authoritative. */
:root {
  --store-primary:#163a5f;
  --store-secondary:#eef4f8;
  --store-accent:#e6a93d;
  --store-customer-accent:var(--store-accent);
  --store-primary-strong:color-mix(in srgb,var(--store-primary) 82%,#000);
  --store-primary-soft:color-mix(in srgb,var(--store-primary) 9%,#fff);
  --store-secondary-soft:color-mix(in srgb,var(--store-secondary) 55%,#fff);
  --store-accent-strong:color-mix(in srgb,var(--store-accent) 72%,#000);
  --store-accent-soft:color-mix(in srgb,var(--store-accent) 14%,#fff);
  --store-link:var(--store-accent-strong);
  --store-focus:color-mix(in srgb,var(--store-accent) 68%,#fff);
  --store-selected:var(--store-accent);
  --store-selected-soft:var(--store-accent-soft);
  /* Customer entry actions and ordinary order information are not warnings. */
  --store-entry-accent:var(--store-accent);
  --store-entry-accent-strong:var(--store-accent-strong);
  --store-entry-accent-soft:color-mix(in srgb,var(--store-entry-accent) 12%,#fff);
  --store-information:var(--store-primary);
  --store-information-soft:color-mix(in srgb,var(--store-primary) 7%,var(--store-surface-alt));
  --store-success:color-mix(in srgb,#16803a 72%,var(--store-primary));
  --store-success-soft:color-mix(in srgb,var(--store-success) 10%,#fff);
  --store-border:color-mix(in srgb,var(--store-secondary) 38%,#c5d0dc);
  --store-surface:#fff;
  --store-surface-alt:color-mix(in srgb,var(--store-secondary) 48%,#f7fafc);
  --store-page-background:color-mix(in srgb,var(--store-secondary) 28%,#fff);
  --brand-primary:var(--store-primary);
  --brand-secondary:var(--store-secondary);
  --brand-accent:var(--store-accent);
  --rp-primary:var(--store-primary);
  --rp-secondary:var(--store-secondary);
  --rp-accent:var(--store-accent);

  --rp-color-brand:var(--store-primary);
  --rp-color-brand-hover:color-mix(in srgb,var(--rp-color-brand) 84%,#000);
  --rp-color-brand-soft:color-mix(in srgb,var(--rp-color-brand) 8%,#f4f8fb);
  --rp-color-accent:var(--store-accent);
  --rp-color-accent-hover:var(--store-accent-strong);
  --rp-color-accent-soft:color-mix(in srgb,var(--rp-color-accent) 12%,#fff);
  --rp-color-secondary-soft:color-mix(in srgb,var(--store-secondary) 48%,#f5f9fc);
  --rp-color-page:var(--store-page-background);
  --rp-color-surface:var(--store-surface);
  --rp-color-surface-cool:color-mix(in srgb,var(--store-secondary) 34%,#f7fafc);
  --rp-color-surface-warm:var(--rp-color-surface-cool);
  --rp-color-surface-subtle:color-mix(in srgb,var(--store-secondary) 54%,#f4f8fb);
  --rp-color-selected-soft:color-mix(in srgb,var(--rp-color-accent) 13%,#fff);
  --rp-color-estimate-soft:color-mix(in srgb,var(--rp-color-accent) 9%,var(--rp-color-surface-cool));
  --rp-color-text:#182230;
  --rp-color-text-secondary:#5f6976;
  --rp-color-text-tertiary:#78808a;
  --rp-color-border:var(--store-border);
  --rp-color-border-strong:#c4d1dc;
  --rp-color-success:var(--store-success);
  --rp-color-success-soft:var(--store-success-soft);
  --rp-color-warning:#9a5b08;
  --rp-color-warning-soft:#fff8e8;
  --rp-color-danger:#b4233a;
  --rp-color-danger-soft:#fff1f3;

  --ink:var(--rp-color-text);
  --muted:var(--rp-color-text-secondary);
  --line:var(--rp-color-border);
  --paper:var(--rp-color-surface);
  --soft:var(--rp-color-surface-subtle);

  --rp-font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  --rp-font-display:clamp(2.75rem,5vw,3.4rem);
  --rp-font-page-title:clamp(2.25rem,4.5vw,3.3rem);
  --rp-font-section-title:clamp(1.5rem,3vw,1.75rem);
  --rp-font-subheading:1.125rem;
  --rp-font-body:1rem;
  --rp-font-control:.9375rem;
  --rp-font-caption:.8125rem;
  --rp-weight-regular:400;
  --rp-weight-medium:600;
  --rp-weight-bold:700;
  --rp-weight-heavy:800;

  --rp-space-1:4px;
  --rp-space-2:8px;
  --rp-space-3:12px;
  --rp-space-4:16px;
  --rp-space-6:24px;
  --rp-space-8:32px;
  --rp-space-12:48px;
  --rp-space-16:64px;

  --rp-radius-small:8px;
  --rp-radius-control:10px;
  --rp-radius-choice:12px;
  --rp-radius-panel:16px;
  --rp-radius-round:999px;

  --rp-shadow-none:none;
  --rp-shadow-soft:0 8px 22px rgba(24,34,48,.055);
  --rp-shadow-raised:0 22px 58px rgba(24,34,48,.14);

  --rp-container-reading:720px;
  --rp-container-guided:960px;
  --rp-container-standard:1120px;
  --rp-container-workbench:1780px;
  --rp-sidebar-order:410px;
  --rp-focus-ring:3px solid color-mix(in srgb,var(--rp-color-accent) 58%,#fff);
}

.customer-storefront {
  background:var(--rp-color-page);
  color:var(--rp-color-text);
  font-family:var(--rp-font-family);
}
.customer-storefront #storefrontApp:focus { outline:none; }
.customer-storefront .store-header,
.customer-storefront .store-footer { background:color-mix(in srgb,var(--rp-color-surface) 94%,var(--rp-color-surface-cool)); }
.customer-storefront .store-header { border-color:var(--rp-color-border); }
.customer-storefront .basket-button { border-color:var(--rp-color-border);background:var(--rp-color-surface); }

/* PageIntro */
.customer-storefront .rp-page-intro>.store-kicker {
  color:var(--store-accent-strong);
  font-size:.75rem;
  font-weight:var(--rp-weight-heavy);
  letter-spacing:.13em;
}
.customer-storefront .rp-page-intro>h1 {
  color:var(--rp-color-text);
  font-weight:var(--rp-weight-bold);
}
.customer-storefront .start-screen.rp-page-intro>h1 { font-size:var(--rp-font-page-title); }
.customer-storefront .price-category-intro.rp-page-intro>h1 { font-size:var(--rp-font-page-title); }
.customer-storefront .rp-page-intro__guidance {
  max-width:600px;
  margin:var(--rp-space-3) 0 0;
  color:var(--rp-color-text-secondary);
  font-size:var(--rp-font-body);
  line-height:1.55;
}

/* Actions */
.customer-storefront .rp-action {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:var(--rp-space-2);
  border-radius:var(--rp-radius-control);
  font-family:var(--rp-font-family);
  font-weight:var(--rp-weight-bold);
  text-decoration:none;
  cursor:pointer;
  transition:background-color .15s,border-color .15s,color .15s,box-shadow .15s;
}
.customer-storefront .rp-action--primary {
  min-height:48px;
  padding:var(--rp-space-3) var(--rp-space-4);
  border:1px solid var(--rp-color-brand);
  background:var(--rp-color-brand);
  color:#fff;
  box-shadow:var(--rp-shadow-soft);
}
.customer-storefront .rp-action--primary:hover { background:var(--rp-color-brand-hover);border-color:var(--rp-color-brand-hover); }
.customer-storefront .rp-action--secondary {
  min-height:46px;
  padding:11px var(--rp-space-4);
  border:1px solid var(--rp-color-border-strong);
  background:var(--rp-color-surface);
  color:var(--store-link);
  box-shadow:none;
}
.customer-storefront .rp-action--secondary:hover { border-color:var(--store-accent);background:var(--store-accent-soft);color:var(--store-accent-strong); }
.customer-storefront .rp-action--tertiary {
  min-height:auto;
  padding:6px 0;
  border:0;
  background:transparent;
  color:var(--store-link);
  box-shadow:none;
  text-decoration:underline;
  text-underline-offset:4px;
}
.customer-storefront .rp-action--tertiary:hover { color:var(--store-accent); }
.customer-storefront .rp-action--quiet { color:var(--rp-color-text-tertiary);font-size:.875rem;font-weight:var(--rp-weight-medium); }
.customer-storefront .rp-action:disabled { opacity:.45;cursor:not-allowed; }

/* ChoiceGroup, ChoiceTile, and TierChoice */
.customer-storefront .rp-choice-group { display:grid;gap:var(--rp-space-3); }
.customer-storefront .rp-choice-tile { position:relative; }
.customer-storefront .rp-choice-tile>input { position:absolute;width:1px;height:1px;margin:0;opacity:0;pointer-events:none; }
.customer-storefront .rp-choice-tile--category {
  border-color:var(--rp-color-border);
  border-radius:var(--rp-radius-choice);
  background:color-mix(in srgb,var(--rp-color-surface) 88%,var(--rp-color-surface-cool));
  box-shadow:var(--rp-shadow-none);
}
.customer-storefront .rp-choice-tile--category:hover {
  border-color:color-mix(in srgb,var(--rp-color-accent) 55%,var(--rp-color-border));
  background:color-mix(in srgb,var(--rp-color-accent-soft) 62%,var(--rp-color-surface));
  box-shadow:var(--rp-shadow-soft);
}
.customer-storefront .rp-choice-tile--category[aria-pressed="true"] {
  border-color:var(--store-selected);
  background:var(--rp-color-selected-soft);
  color:var(--store-accent-strong);
  box-shadow:inset 0 0 0 1px var(--store-selected),0 7px 18px color-mix(in srgb,var(--store-accent) 9%,transparent);
}
.customer-storefront .rp-choice-tile--category::after,
.customer-storefront .rp-choice-tile__surface::after {
  content:"✓";
  position:absolute;
  top:9px;
  right:9px;
  width:22px;
  height:22px;
  display:grid;
  place-items:center;
  border-radius:50%;
  background:var(--rp-color-accent);
  color:#fff;
  font-size:12px;
  font-weight:var(--rp-weight-heavy);
  opacity:0;
  transform:scale(.8);
  transition:opacity .15s,transform .15s;
}
.customer-storefront .rp-choice-tile--category[aria-pressed="true"]::after,
.customer-storefront .rp-choice-tile input:checked+.rp-choice-tile__surface::after { opacity:1;transform:scale(1); }
.customer-storefront .rp-choice-tile__surface {
  position:relative;
  min-height:52px;
  border:1px solid var(--rp-color-border-strong);
  border-radius:var(--rp-radius-control);
  background:color-mix(in srgb,var(--rp-color-surface) 92%,var(--rp-color-surface-cool));
  color:var(--rp-color-text);
}
.customer-storefront .rp-choice-tile input:checked+.rp-choice-tile__surface {
  border-color:var(--store-selected);
  background:var(--rp-color-selected-soft);
  color:var(--store-accent-strong);
  box-shadow:inset 0 0 0 1px var(--store-selected),0 5px 14px color-mix(in srgb,var(--store-accent) 8%,transparent);
}
.customer-storefront .rp-choice-tile__surface b { font-weight:var(--rp-weight-bold); }
.customer-storefront .rp-choice-tile__surface small {
  display:inline-flex;
  margin-left:var(--rp-space-2);
  padding:2px 7px;
  border-radius:var(--rp-radius-round);
  background:var(--rp-color-surface-subtle);
  color:var(--rp-color-text-secondary);
  font-size:.6875rem;
  font-weight:var(--rp-weight-bold);
  line-height:1.4;
}
.customer-storefront .rp-choice-tile__surface em {
  grid-column:1/-1;
  display:block;
  margin-top:var(--rp-space-1);
  color:var(--rp-color-text-secondary);
  font-size:.75rem;
  font-style:normal;
  font-weight:var(--rp-weight-regular);
  line-height:1.4;
}
.customer-storefront .rp-tier-choice .rp-choice-tile__surface small {
  background:var(--rp-color-surface-cool);
  color:var(--store-link);
}
.customer-storefront .rp-tier-choice .rp-choice-tile__surface {
  display:grid;
  grid-template-columns:auto 1fr;
  justify-content:start;
  justify-items:start;
  padding-right:40px;
  text-align:left;
}

/* Compact shared presentation for item orientation and compatible-paper choices. */
.customer-storefront .orientation-choice-field {
  min-width:0;
  margin-top:var(--rp-space-6);
  padding:0;
  border:0;
}
.customer-storefront .orientation-choice-field>legend {
  margin:0 0 var(--rp-space-2);
  padding:0;
  color:var(--rp-color-text);
  font-size:var(--rp-font-control);
  font-weight:var(--rp-weight-bold);
}
.customer-storefront .orientation-choice-options {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:var(--rp-space-2);
  width:min(100%,430px);
}
.customer-storefront .orientation-choice .rp-choice-tile__surface {
  min-height:46px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  padding:9px 38px 9px 14px;
  cursor:pointer;
}
.customer-storefront .orientation-choice .rp-choice-tile__surface::before {
  content:"";
  display:block;
  width:12px;
  height:18px;
  flex:0 0 auto;
  border:1.5px solid currentColor;
  border-radius:2px;
  opacity:.7;
}
.customer-storefront .orientation-choice .rp-choice-tile__surface[data-orientation="landscape"]::before {
  width:18px;
  height:12px;
}
.customer-storefront .orientation-choice:hover .rp-choice-tile__surface {
  border-color:color-mix(in srgb,var(--store-accent) 55%,var(--rp-color-border));
  background:color-mix(in srgb,var(--rp-color-accent-soft) 62%,var(--rp-color-surface));
}
.customer-storefront :is(.more-paper-options,.customer-paper-more) {
  margin-top:var(--rp-space-4);
  padding:0;
  border:0;
  border-radius:0;
  background:transparent;
}
.customer-storefront :is(.more-paper-options,.customer-paper-more)>summary {
  position:relative;
  width:max-content;
  max-width:100%;
  padding:5px 24px 5px 0;
  color:var(--store-link);
  font-size:var(--rp-font-control);
  font-weight:var(--rp-weight-bold);
  cursor:pointer;
  list-style:none;
}
.customer-storefront :is(.more-paper-options,.customer-paper-more)>summary::-webkit-details-marker { display:none; }
.customer-storefront :is(.more-paper-options,.customer-paper-more)>summary::after {
  content:"";
  position:absolute;
  top:50%;
  right:4px;
  width:7px;
  height:7px;
  border-right:1.5px solid currentColor;
  border-bottom:1.5px solid currentColor;
  transform:translateY(-68%) rotate(45deg);
  transition:transform .15s ease;
}
.customer-storefront :is(.more-paper-options,.customer-paper-more)[open]>summary::after {
  transform:translateY(-28%) rotate(225deg);
}
.customer-storefront :is(.more-paper-options,.customer-paper-more)>summary:focus-visible {
  outline:var(--rp-focus-ring);
  outline-offset:3px;
  border-radius:var(--rp-radius-small);
}
.customer-storefront .alternate-paper-choices {
  display:grid;
  gap:var(--rp-space-2);
  margin-top:var(--rp-space-2);
}
.customer-storefront .alternate-paper-choice {
  position:relative;
  display:block;
  margin:0;
  padding:0;
  border:0;
  border-radius:var(--rp-radius-control);
  cursor:pointer;
}
.customer-storefront .alternate-paper-choice__surface {
  min-height:54px;
  display:grid;
  align-content:center;
  gap:2px;
  padding:9px 42px 9px 13px;
  cursor:pointer;
}
.customer-storefront .alternate-paper-choice__surface small {
  display:block;
  margin:0;
  padding:0;
  border-radius:0;
  background:transparent;
  color:var(--rp-color-text-secondary);
  font-size:var(--rp-font-caption);
  font-weight:var(--rp-weight-regular);
}
.customer-storefront .alternate-paper-choice:hover .alternate-paper-choice__surface {
  border-color:color-mix(in srgb,var(--store-accent) 55%,var(--rp-color-border));
  background:color-mix(in srgb,var(--rp-color-accent-soft) 62%,var(--rp-color-surface));
}

/* Booklet printing uses the shared ChoiceTile language with a compact advanced layer. */
.customer-storefront .booklet-printing-control { grid-column:1/-1;margin-top:var(--rp-space-8); }
.customer-storefront .booklet-printing-control>h3 { margin:0 0 var(--rp-space-3);font-size:var(--rp-font-body); }
.customer-storefront .booklet-printing-choices { grid-template-columns:repeat(3,minmax(0,1fr)); }
.customer-storefront .booklet-printing-choice .rp-choice-tile__surface { min-height:64px;display:flex;align-items:center;padding:12px 42px 12px 14px;line-height:1.25;cursor:pointer; }
.customer-storefront .booklet-printing-advanced { margin-top:var(--rp-space-3);border-top:1px solid var(--rp-color-border);padding-top:var(--rp-space-3); }
.customer-storefront .booklet-printing-advanced>summary { width:max-content;max-width:100%;color:var(--store-link);font-size:.875rem;font-weight:var(--rp-weight-bold);cursor:pointer; }
.customer-storefront .booklet-printing-bulk { display:flex;gap:var(--rp-space-3);flex-wrap:wrap;margin:var(--rp-space-3) 0; }
.customer-storefront .booklet-printing-bulk .rp-action { width:auto;min-height:34px;padding:5px 0;font-size:.8rem; }
.customer-storefront .booklet-page-color-grid { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--rp-space-2); }
.customer-storefront .booklet-page-color-row { min-width:0;display:grid;grid-template-columns:auto 1fr 1fr;align-items:center;gap:6px;margin:0;padding:8px;border:1px solid var(--rp-color-border);border-radius:var(--rp-radius-control); }
.customer-storefront .booklet-page-color-row legend { float:left;margin:0 4px 0 0;padding:0;color:var(--rp-color-text);font-size:.78rem;font-weight:var(--rp-weight-bold); }
.customer-storefront .booklet-page-color-row label { position:relative;min-width:0; }
.customer-storefront .booklet-page-color-row input { position:absolute;width:1px;height:1px;opacity:0; }
.customer-storefront .booklet-page-color-row span { display:block;padding:6px 7px;border:1px solid var(--rp-color-border);border-radius:var(--rp-radius-control);font-size:.72rem;text-align:center;cursor:pointer; }
.customer-storefront .booklet-page-color-row input:checked+span { border-color:var(--store-selected);background:var(--store-selected-soft);color:var(--store-accent-strong);font-weight:var(--rp-weight-bold);box-shadow:inset 0 0 0 1px var(--store-selected); }
.customer-storefront .booklet-page-color-row input:focus-visible+span { outline:var(--rp-focus-ring);outline-offset:2px; }

/* Standard fields */
.customer-storefront .rp-field { display:grid;gap:7px;color:#344054;font-size:var(--rp-font-control);font-weight:var(--rp-weight-bold); }
.customer-storefront .rp-field__control {
  width:100%;
  min-height:48px;
  padding:11px 13px;
  border:1px solid var(--rp-color-border-strong);
  border-radius:var(--rp-radius-control);
  background:var(--rp-color-surface);
  color:var(--rp-color-text);
}

/* Shared customer journey shell and guided item builder. */
.customer-storefront .store-header {
  min-height:78px;
  padding-inline:clamp(18px,4vw,56px);
}
.customer-storefront .store-wordmark { display:grid;gap:2px;line-height:1.12; }
.customer-storefront .store-mark { background:var(--store-primary); }
.customer-storefront .topbar-actions a:last-child { padding:0;border:0;border-radius:0; }
.customer-storefront .store-help .store-help__copy { display:grid; }
.customer-storefront .store-help__phone { display:inline-flex;text-align:left; }
.customer-storefront .start-lede { max-width:610px;margin:var(--rp-space-4) auto 0;color:var(--rp-color-text-secondary);font-size:1.0625rem;line-height:1.6; }
.customer-storefront .item-builder__layout { display:grid;grid-template-columns:minmax(230px,320px) minmax(0,1fr);gap:clamp(28px,5vw,64px);align-items:start;margin-top:var(--rp-space-8); }
.customer-storefront .artwork-card { position:sticky;top:24px;display:grid;gap:var(--rp-space-3);padding:var(--rp-space-4);border:1px solid var(--rp-color-border);border-radius:var(--rp-radius-panel);background:var(--rp-color-surface);box-shadow:var(--rp-shadow-soft); }
.customer-storefront .artwork-card__preview { min-height:250px;display:grid;place-items:center;overflow:hidden;border-radius:var(--rp-radius-choice);background:var(--rp-color-surface-cool);color:var(--rp-color-text-tertiary);font-size:.75rem;font-weight:800;letter-spacing:.12em; }
.customer-storefront .artwork-card__preview img { width:100%;height:100%;max-height:390px;object-fit:contain; }
.customer-storefront .artwork-card__preview.has-pages { display:grid;grid-template-rows:minmax(220px,1fr) auto;gap:10px;overflow:visible;background:transparent; }
.customer-storefront .review-page-main { position:relative;min-height:220px;display:grid;place-items:center;overflow:hidden;border-radius:var(--rp-radius-choice);background:var(--rp-color-surface-cool); }
.customer-storefront .review-page-main>img { grid-area:1/1;min-width:0;max-width:100%;max-height:390px;object-fit:contain;transition:opacity .16s ease; }
.customer-storefront .review-template-underlay { opacity:.52;filter:contrast(.8); }
.customer-storefront .review-page-main.shows-template .review-customer-artwork { opacity:.72; }
.customer-storefront .review-template-toggle { justify-self:start;min-height:36px;padding:7px 11px;border:1px solid var(--rp-color-border);border-radius:var(--rp-radius-small);background:var(--rp-color-surface);color:var(--store-link);font:inherit;font-size:.8125rem;font-weight:750;cursor:pointer; }
.customer-storefront .review-template-toggle[aria-pressed="true"] { border-color:var(--store-selected);background:var(--store-selected-soft);color:var(--store-accent-strong); }
.customer-storefront .review-page-thumbnails { width:100%;display:flex;gap:8px;overflow-x:auto;padding:2px; }
.customer-storefront .review-page-thumbnails button { position:relative;flex:0 0 58px;height:68px;padding:4px;border:1px solid var(--rp-color-border);border-radius:7px;background:#fff;cursor:pointer; }
.customer-storefront .review-page-thumbnails button.active { border-color:var(--store-link);box-shadow:0 0 0 2px color-mix(in srgb,var(--store-link) 16%,transparent); }
.customer-storefront .review-page-thumbnails img { width:100%;height:100%;object-fit:contain; }
.customer-storefront .review-page-thumbnails span { position:absolute;right:2px;bottom:2px;display:grid;place-items:center;width:19px;height:19px;border-radius:50%;background:rgba(18,43,80,.82);color:#fff;font-size:.68rem;font-weight:800; }
.customer-storefront .artwork-card>div:not(.artwork-card__preview) { display:grid;gap:2px; }
.customer-storefront .artwork-card small { color:var(--rp-color-text-tertiary);font-size:.6875rem;font-weight:800;letter-spacing:.1em; }
.customer-storefront .artwork-card span { color:var(--rp-color-text-secondary);font-size:.8125rem; }
.customer-storefront .artwork-card>.artwork-card__actions { display:flex;flex-wrap:wrap;gap:var(--rp-space-2); }
.customer-storefront .artwork-card__actions .rp-action { min-height:0;padding:0;border:0;background:transparent;box-shadow:none;color:var(--store-link);font-size:.8125rem;font-weight:750;text-decoration:underline;text-underline-offset:3px; }
.customer-storefront .artwork-card__actions .rp-action:hover { color:var(--store-accent); }
.customer-storefront .artwork-card__actions .rp-action--danger { color:#9f2f2b; }
.artwork-management-dialog { width:min(92vw,430px);padding:24px;border:1px solid var(--rp-border);border-radius:8px;box-shadow:0 18px 50px rgba(17,31,49,.25); }
.artwork-management-dialog::backdrop { background:rgba(17,31,49,.48); }
.artwork-management-dialog h2 { margin:0 0 10px;font-size:1.25rem; }
.artwork-management-dialog p { margin:0;color:var(--rp-muted);line-height:1.5; }
.artwork-management-dialog__actions { display:flex;justify-content:flex-end;gap:10px;margin-top:22px; }
.artwork-management-dialog__actions .rp-action { min-width:0; }
.artwork-management-dialog__actions .rp-action--danger { background:#9f2f2b;border-color:#9f2f2b;color:#fff; }
@media (max-width:420px) { .artwork-management-dialog { padding:20px; } .artwork-management-dialog__actions { flex-direction:column; } .artwork-management-dialog__actions .rp-action { width:100%; } }
.customer-storefront .item-builder__configuration { min-width:0; }
.customer-storefront .item-builder__configuration .suggestion-notice { max-width:none;margin-top:0; }
.customer-storefront .artwork-fit-notice { margin:var(--rp-space-4) 0;padding:12px 14px;border:1px solid color-mix(in srgb,var(--rp-color-success) 28%,var(--rp-color-border));border-radius:var(--rp-radius-small);background:var(--rp-color-success-soft);color:var(--rp-color-success);font-weight:700; }
.customer-storefront .review-details { max-width:none;grid-template-columns:repeat(4,minmax(0,1fr));border-radius:var(--rp-radius-choice);overflow:hidden; }
.customer-storefront .review-commercial { display:grid;grid-template-columns:minmax(180px,.72fr) minmax(260px,1.28fr);gap:var(--rp-space-4);align-items:stretch;margin-block:var(--rp-space-4); }
.customer-storefront .review-commercial .review-price,.customer-storefront .review-commercial .live-turnaround { margin:0;padding:var(--rp-space-4);border:1px solid var(--rp-color-border);border-radius:var(--rp-radius-choice);background:var(--rp-color-surface); }
.customer-storefront .basket-item-fit,.customer-storefront .basket-item-completion { display:block;margin-top:6px;font-size:.8125rem; }
.customer-storefront .basket-item-fit { color:var(--rp-color-success);font-weight:700; }
.customer-storefront .basket-item-completion { color:var(--rp-color-text-secondary); }
.customer-storefront .basket-turnaround { width:min(620px,100%);margin:var(--rp-space-4) 0; }
.customer-storefront .customer-flow-step { margin-top:var(--rp-space-12);padding-top:var(--rp-space-8);border-top:1px solid var(--rp-color-border);scroll-margin-top:24px; }
.customer-storefront .confirmation-next p { color:var(--rp-color-text-secondary); }
.customer-storefront .store-footer { align-items:flex-start;padding:var(--rp-space-6) clamp(18px,4vw,56px); }
.customer-storefront .store-footer>div,.customer-storefront .store-footer__more { display:grid;gap:5px; }
.customer-storefront .store-footer strong { color:var(--rp-color-text); }
.customer-storefront .store-footer__more { grid-template-columns:repeat(2,auto);column-gap:var(--rp-space-4);text-align:right; }
.customer-storefront .store-footer__more strong { grid-column:1/-1;font-size:.75rem;text-transform:uppercase;letter-spacing:.08em; }
.customer-storefront .store-footer__more a { color:var(--store-link);font-weight:700;text-decoration:none; }

@media (max-width:820px) {
  .customer-storefront .item-builder__layout { grid-template-columns:1fr; }
  .customer-storefront .artwork-card { position:static;grid-template-columns:120px minmax(0,1fr);align-items:center; }
  .customer-storefront .artwork-card__preview { grid-row:1/3;min-height:120px; }
  .customer-storefront .artwork-card .rp-action { justify-self:start; }
  .customer-storefront .review-details { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width:620px) {
  .customer-storefront .store-header { align-items:center; }
  .customer-storefront .store-help__phone span { display:none; }
  .customer-storefront .basket-button { width:100%;order:3; }
  .customer-storefront .artwork-card { grid-template-columns:92px minmax(0,1fr); }
  .customer-storefront .artwork-card__preview { min-height:92px; }
  .customer-storefront .review-details,.customer-storefront .review-commercial { grid-template-columns:1fr; }
  .customer-storefront .store-footer,.customer-storefront .store-footer__more { display:grid;grid-template-columns:1fr;text-align:left; }
  .customer-storefront .store-footer__more strong { grid-column:auto; }
}

/* Notice/status foundation */
.customer-storefront .rp-notice { padding:var(--rp-space-3) var(--rp-space-4);border:1px solid var(--rp-color-border);border-radius:var(--rp-radius-control);background:var(--rp-color-surface);color:var(--rp-color-text); }
.customer-storefront .rp-notice--success { border-color:color-mix(in srgb,var(--rp-color-success) 28%,#fff);background:var(--rp-color-success-soft);color:var(--rp-color-success); }
.customer-storefront .rp-notice--warning { border-color:color-mix(in srgb,var(--rp-color-warning) 34%,#fff);background:var(--rp-color-warning-soft);color:var(--rp-color-warning); }
.customer-storefront .rp-notice--danger { border-color:color-mix(in srgb,var(--rp-color-danger) 28%,#fff);background:var(--rp-color-danger-soft);color:var(--rp-color-danger); }

/* PriceResult */
.customer-storefront .rp-price-result {
  border-color:var(--rp-color-border);
  color:var(--rp-color-text);
}
.customer-storefront .rp-price-result__label { color:var(--store-accent-strong);font-size:var(--rp-font-caption);font-weight:var(--rp-weight-heavy);letter-spacing:.08em; }
.customer-storefront .rp-price-result__amount { color:var(--store-accent-strong);font-weight:var(--rp-weight-heavy);font-variant-numeric:tabular-nums; }
.customer-storefront .rp-price-result__message { color:var(--rp-color-text-secondary); }
.customer-storefront .rp-price-result__help { color:var(--rp-color-text-tertiary); }
.customer-storefront .rp-price-result__summary {
  margin:var(--rp-space-3) 0 var(--rp-space-2);
  color:var(--rp-color-text);
  font-size:var(--rp-font-caption);
  font-weight:var(--rp-weight-bold);
  line-height:1.5;
}

/* Home and Price First consume the foundation without changing approved layouts. */
.customer-storefront .start-screen {
  width:min(var(--rp-container-guided),100%);
  margin:0 auto;
  padding:clamp(var(--rp-space-2),2vh,var(--rp-space-6)) 0;
  transform:none;
  text-align:left;
}
.customer-storefront .start-screen.rp-page-intro>h1 {
  max-width:760px;
  margin:0;
  line-height:1.07;
  letter-spacing:-.04em;
}
.customer-storefront .home-upload-counter {
  width:100%;
  margin:var(--rp-space-6) 0 0;
}
.customer-storefront .home-upload-zone {
  min-height:282px;
  border:1.5px dashed color-mix(in srgb,var(--store-accent) 48%,var(--rp-color-border));
  border-radius:var(--rp-radius-panel);
  background:color-mix(in srgb,var(--rp-color-surface) 90%,var(--rp-color-surface-cool));
  color:var(--rp-color-text);
  box-shadow:var(--rp-shadow-none);
}
.customer-storefront .home-upload-zone:hover,
.customer-storefront .home-upload-zone.is-dragover {
  border-color:var(--rp-color-accent-hover);
  background:color-mix(in srgb,var(--rp-color-accent-soft) 72%,var(--rp-color-surface));
  box-shadow:0 10px 28px color-mix(in srgb,var(--rp-color-accent) 10%,transparent);
}
.customer-storefront .upload-zone-mark {
  width:58px;
  height:58px;
  margin-bottom:var(--rp-space-4);
  border:1px solid color-mix(in srgb,var(--rp-color-accent) 30%,var(--rp-color-border));
  border-radius:var(--rp-radius-choice);
  background:var(--rp-color-secondary-soft);
  color:var(--rp-color-accent-hover);
  font-weight:var(--rp-weight-bold);
  transition:background-color .15s,border-color .15s,color .15s,transform .15s;
}
.customer-storefront .upload-zone-mark svg { width:34px;height:34px; }
.customer-storefront .home-upload-zone:hover .upload-zone-mark,
.customer-storefront .home-upload-zone.is-dragover .upload-zone-mark {
  border-color:var(--rp-color-accent-hover);
  background:var(--rp-color-accent);
  color:#fff;
  transform:translateY(-2px);
}
.customer-storefront .home-upload-zone strong {
  color:var(--rp-color-text);
  font-size:var(--rp-font-section-title);
  font-weight:var(--rp-weight-heavy);
  letter-spacing:-.025em;
}
.customer-storefront .upload-zone-instruction { margin-top:var(--rp-space-2);color:var(--rp-color-text);font-weight:var(--rp-weight-medium); }
.customer-storefront .upload-zone-help { margin-top:var(--rp-space-3);color:var(--rp-color-text-secondary); }
.customer-storefront .home-alternate-paths {
  justify-content:flex-start;
  gap:var(--rp-space-4) var(--rp-space-6);
  margin-top:var(--rp-space-4);
}
.customer-storefront .home-price-link { color:var(--store-link); }
.customer-storefront .start-screen .start-support {
  width:100%;
  justify-content:flex-start;
  gap:var(--rp-space-3) var(--rp-space-4);
  margin:var(--rp-space-6) 0 0;
  padding-top:var(--rp-space-4);
  border-color:var(--rp-color-border);
  color:var(--rp-color-text-secondary);
  font-size:var(--rp-font-control);
}
.customer-storefront .start-screen .start-support a { color:var(--store-link);font-weight:var(--rp-weight-bold); }
.customer-storefront .price-category-choices { gap:14px; }
.customer-storefront .price-category-choice svg {
  width:58px;
  height:58px;
  padding:10px;
  border:1px solid color-mix(in srgb,var(--rp-color-accent) 25%,var(--rp-color-border));
  border-radius:var(--rp-radius-choice);
  background:var(--rp-color-secondary-soft);
  color:var(--rp-color-accent-hover);
  transition:background-color .15s,border-color .15s,color .15s,transform .15s;
}
.customer-storefront .price-category-choice:hover svg {
  border-color:color-mix(in srgb,var(--rp-color-accent) 55%,var(--rp-color-border));
  background:var(--rp-color-accent-soft);
  transform:translateY(-1px);
}
.customer-storefront .price-category-choice[aria-pressed="true"] svg {
  border-color:var(--rp-color-accent-hover);
  background:var(--rp-color-accent);
  color:#fff;
}
.customer-storefront .price-category-choice.compact svg { width:38px;height:38px;padding:7px;border-radius:var(--rp-radius-control); }
.customer-storefront .price-category-intro .price-category-choices { margin-top:var(--rp-space-6); }
.customer-storefront .price-form .choice-row { gap:9px; }
.customer-storefront .specification-guidance {
  max-width:520px;
  margin:var(--rp-space-3) 0 0;
  color:var(--rp-color-text-secondary);
  font-size:var(--rp-font-control);
  line-height:1.55;
}
.customer-storefront .product-template-guidance { display:grid;gap:7px;max-width:620px;padding:14px 16px;border:1px solid var(--rp-color-border);border-radius:var(--rp-radius-control);background:var(--rp-color-surface-subtle); }
.customer-storefront .product-template-guidance p { margin:0;color:var(--rp-color-text-secondary);line-height:1.5; }
.customer-storefront .product-template-guidance .rp-action { justify-self:start;margin-top:3px; }
.customer-storefront .product-template-guidance { display:grid;gap:7px;max-width:620px;padding:14px 16px;border:1px solid var(--rp-color-border);border-radius:var(--rp-radius-control);background:var(--rp-color-surface-subtle); }
.customer-storefront .product-template-guidance p { margin:0;color:var(--rp-color-text-secondary);line-height:1.5; }
.customer-storefront .product-template-guidance .rp-action { justify-self:start;margin-top:3px; }
.customer-storefront .price-form .progressive-questions>* { margin-top:var(--rp-space-8); }
.customer-storefront .price-form .choice-field,
.customer-storefront .price-form .question-field { margin-bottom:0; }
.customer-storefront .price-form .choice-field legend,
.customer-storefront .price-form .question-field { color:var(--rp-color-text); }
.customer-storefront .price-form .choice-field legend { font-size:var(--rp-font-body);font-weight:var(--rp-weight-bold); }
.customer-storefront .price-form .choice-row label:hover .rp-choice-tile__surface {
  border-color:color-mix(in srgb,var(--store-accent) 55%,var(--rp-color-border));
  background:color-mix(in srgb,var(--rp-color-accent-soft) 62%,var(--rp-color-surface));
}
.customer-storefront .price-configurator .rp-price-result {
  padding:var(--rp-space-6);
  border:1px solid var(--rp-color-border);
  border-top:3px solid var(--store-accent);
  border-radius:var(--rp-radius-panel);
  background:var(--rp-color-estimate-soft);
  box-shadow:var(--rp-shadow-soft);
}
.customer-storefront .price-configurator .rp-price-result__amount { margin-top:var(--rp-space-2);font-size:3rem;line-height:1; }
.customer-storefront .price-configurator .rp-price-result__message { margin:var(--rp-space-2) 0 var(--rp-space-6);font-size:.875rem;line-height:1.5; }

.customer-storefront :where(.rp-action,.rp-choice-tile,.rp-field__control):focus-visible,
.customer-storefront .rp-choice-tile input:focus-visible+.rp-choice-tile__surface {
  outline:var(--rp-focus-ring);
  outline-offset:3px;
}
.customer-storefront :where(button,a,input,select,textarea):focus-visible {
  outline:var(--rp-focus-ring);
  outline-offset:3px;
}

@media(max-width:780px) {
  :root { --rp-font-display:clamp(2.25rem,8vw,3rem);--rp-font-page-title:clamp(2.1rem,7vw,3rem); }
  .customer-storefront .start-screen { width:min(680px,100%); }
  .customer-storefront .home-upload-zone { min-height:250px;padding:var(--rp-space-8) var(--rp-space-6); }
}
@media(max-width:520px) {
  .customer-storefront .booklet-printing-choices,.customer-storefront .booklet-page-color-grid { grid-template-columns:1fr; }
  .customer-storefront .booklet-printing-choice .rp-choice-tile__surface { min-height:52px; }
  .customer-storefront .home-upload-zone { min-height:230px;padding:28px 20px; }
  .customer-storefront .home-alternate-paths { display:grid;gap:var(--rp-space-3); }
  .customer-storefront .home-price-link { width:max-content; }
  .customer-storefront .start-screen .start-support>span { width:100%; }
  .customer-storefront .price-category-choice svg { width:50px;height:50px;padding:9px; }
}
@media(prefers-reduced-motion:reduce) {
  .customer-storefront .rp-action,.customer-storefront .rp-choice-tile,.customer-storefront .rp-choice-tile::after,.customer-storefront .rp-choice-tile__surface::after { transition:none!important; }
}

/* Optional customer identity and reviewed tax-status workflows. */
.customer-storefront .customer-form-pair{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.customer-storefront .customer-inline-help{display:inline-block;margin:-4px 0 14px;color:var(--store-link);font-size:.9rem;font-weight:700}
.customer-storefront .customer-auth-divider{display:flex;align-items:center;gap:12px;margin:22px 0;color:var(--rp-color-text-secondary);font-size:.82rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em}
.customer-storefront .customer-auth-divider:before,.customer-storefront .customer-auth-divider:after{content:"";height:1px;flex:1;background:var(--rp-color-border)}
.customer-storefront .customer-create-account{width:100%}
.customer-storefront .customer-auth-shell--compact{max-width:650px;min-height:calc(100vh - 230px);display:grid;align-content:center}
.customer-storefront .customer-request-shell{max-width:900px}.customer-storefront .customer-request-card{max-width:700px}
.customer-storefront .customer-request-card form{display:grid;gap:18px}.customer-storefront .customer-request-card label{display:grid;gap:7px;font-weight:750}.customer-storefront .customer-request-card label small{font-weight:500;color:var(--rp-color-text-secondary)}
@media(max-width:620px){.customer-storefront .customer-form-pair{grid-template-columns:1fr}.customer-storefront .customer-auth-shell--compact{min-height:auto;align-content:start}}
