:root {
  --store-green: #2F441F;
  --store-green-dark: #5c755f;
  --store-green-soft: #5E7258;
  --store-gold: #E3AA17;
  --store-gold-dark: #C7920E;
  --store-cream: #F7F4EC;
  --store-cream-deep: #EFE9DD;
  --store-text: #2F352B;
  --store-muted: #66705F;
  --store-border: #DED6C8;
  --white: #ffffff;

  /* Backward compatibility with existing class names */
  --store-blue: var(--store-green);
  --store-deep-blue: var(--store-green-dark);
  --store-light: var(--store-cream);
}

* { box-sizing: border-box; }
body {
  margin: 0;
  font-family: Arial, Helvetica, sans-serif;
  background: var(--store-cream);
  color: var(--store-text);
}
a { color: inherit; }
.store-header {
  background: var(--white);
  border-bottom: 0;
  box-shadow: 0 3px 18px rgba(47,68,31,.08);
}
.store-wrap {
  width: min(1120px, calc(100% - 32px));
  margin: 0 auto;
}
.store-top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  padding: 20px 0;
}
.logo-block {
  display: flex;
  align-items: center;
  gap: 16px;
  text-decoration: none;
}
.logo-block img {
  width: 225px;
  max-width: 58vw;
  height: auto;
}
.logo-text {
  border-left: 1px solid var(--store-border);
  padding-left: 16px;
}
.logo-text strong {
  display: block;
  color: var(--store-blue);
  font-size: 20px;
  letter-spacing: .02em;
}
.logo-text span {
  display: block;
  margin-top: 3px;
  color: var(--store-muted);
  font-size: 14px;
}
.top-link {
  color: var(--store-blue);
  font-weight: 700;
  text-decoration: none;
}
.hero {
  background: var(--store-green);
  color: var(--white);
  padding: 44px 0;
}
.hero h1 {
  margin: 0 0 10px;
  font-size: clamp(28px, 5vw, 46px);
}
.hero p {
  margin: 0;
  max-width: 720px;
  line-height: 1.6;
  color: rgba(255,255,255,.9);
}
.content {
  padding: 34px 0 56px;
}
.notice {
  background: #FFF4D7;
  border: 1px solid rgba(227,170,23,.45);
  padding: 14px 16px;
  border-radius: 18px;
  margin-bottom: 22px;
  color: #5A4210;
}
.product-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 22px;
}
.product-card {
  background: var(--white);
  border: 1px solid var(--store-border);
  border-radius: 18px;
  overflow: hidden;
  box-shadow: 0 8px 24px rgba(47,68,31,.08);
  display: flex;
  flex-direction: column;
}
.product-image {
  background: var(--store-cream-deep);
  width: 100%;
  aspect-ratio: 1 / 1;
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
}
.product-image img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
}
.product-placeholder {
  color: var(--store-muted);
  font-weight: 700;
}
.product-body {
  padding: 18px;
  display: flex;
  flex-direction: column;
  gap: 10px;
  flex: 1;
}
.category {
  color: var(--store-muted);
  font-size: 13px;
  text-transform: uppercase;
  letter-spacing: .08em;
}
.product-body h2, .detail-info h1 {
  margin: 0;
  color: var(--store-blue);
}
.price {
  color: var(--store-text);
  font-size: 22px;
  font-weight: 800;
}
.description {
  color: var(--store-muted);
  line-height: 1.55;
}
.btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 42px;
  padding: 10px 16px;
  border-radius: 11px;
  background: var(--store-blue);
  color: var(--white);
  text-decoration: none;
  font-weight: 800;
  border: 0;
  cursor: pointer;
}
.btn.gold {
  background: var(--store-gold);
  color: #2c250d;
}
.btn.light {
  background: var(--white);
  color: var(--store-blue);
  border: 1px solid var(--store-border);
}
.card-actions {
  margin-top: auto;
}
.detail-layout {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 34px;
  background: var(--white);
  border: 1px solid var(--store-border);
  border-radius: 18px;
  padding: 24px;
  box-shadow: 0 8px 24px rgba(47,68,31,.08);
}
.detail-image {
  background: var(--store-cream-deep);
  border-radius: 12px;
  min-height: 420px;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
}
.detail-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.detail-info {
  display: flex;
  flex-direction: column;
  gap: 16px;
}
.qty-row {
  display: flex;
  align-items: center;
  gap: 12px;
  margin: 8px 0 4px;
}
.qty-row input {
  width: 80px;
  padding: 10px;
  border: 1px solid var(--store-border);
  border-radius: 11px;
  font-size: 16px;
}
.empty {
  background: var(--white);
  border: 1px dashed var(--store-border);
  border-radius: 18px;
  padding: 28px;
  color: var(--store-muted);
}
.footer {
  border-top: 1px solid var(--store-border);
  background: var(--white);
  padding: 20px 0;
  color: var(--store-muted);
  font-size: 14px;
}
@media (max-width: 850px) {
  .product-grid, .detail-layout { grid-template-columns: 1fr; }
  .store-top { align-items: flex-start; flex-direction: column; }
  .logo-text { border-left: 0; padding-left: 0; }
  .logo-block { align-items: flex-start; flex-direction: column; }
}

.top-nav {
  display: flex;
  align-items: center;
  gap: 18px;
  flex-wrap: wrap;
}
.inline-form {
  display: inline-flex;
  margin: 0;
}
.card-actions {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
}
.page-title-row {
  background: var(--white);
  border: 1px solid var(--store-border);
  border-radius: 18px;
  padding: 22px 24px;
  margin-bottom: 22px;
  box-shadow: 0 8px 22px rgba(47,68,31,.06);
}
.page-title-row h1 {
  margin: 0 0 6px;
  color: var(--store-blue);
}
.page-title-row p {
  margin: 0;
  color: var(--store-muted);
}
.cart-card {
  background: var(--white);
  border: 1px solid var(--store-border);
  border-radius: 18px;
  overflow: hidden;
  box-shadow: 0 8px 24px rgba(47,68,31,.08);
}
.cart-row {
  display: grid;
  grid-template-columns: 180px minmax(0, 1fr) 90px 120px 80px;
  gap: 18px;
  align-items: center;
  padding: 18px;
  border-bottom: 1px solid var(--store-border);
}
.cart-row:last-child {
  border-bottom: 0;
}
.cart-thumb {
  width: 180px;
  height: 120px;
  padding: 8px;
  box-sizing: border-box;
  background: var(--store-cream-deep);
  border-radius: 18px;
  overflow: hidden;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--store-muted);
  font-weight: 800;
}
.cart-thumb img {
  width: 100%;
  height: 100%;
  min-width: 0;
  object-fit: contain;
}
.cart-main {
  min-width: 0;
  overflow-wrap: anywhere;
}
.cart-main h2 {
  margin: 4px 0 6px;
  color: var(--store-blue);
  font-size: 20px;
}
.cart-qty label {
  display: block;
  color: var(--store-muted);
  font-size: 13px;
  margin-bottom: 5px;
}
.cart-qty input {
  width: 74px;
  padding: 10px;
  border: 1px solid var(--store-border);
  border-radius: 11px;
  font-size: 16px;
}
.cart-line-total {
  font-weight: 800;
  font-size: 18px;
  text-align: right;
}
.link-button {
  border: 0;
  background: transparent;
  color: var(--store-blue);
  font-weight: 800;
  text-decoration: underline;
  cursor: pointer;
  padding: 0;
  font: inherit;
}
.cart-summary {
  background: var(--white);
  border: 1px solid var(--store-border);
  border-radius: 18px;
  padding: 20px;
  margin-top: 20px;
  max-width: 520px;
  margin-left: auto;
  box-shadow: 0 8px 22px rgba(47,68,31,.06);
}
.summary-line {
  display: flex;
  align-items: center;
  justify-content: space-between;
  font-size: 22px;
}
.summary-note {
  color: var(--store-muted);
  margin: 12px 0 18px;
  line-height: 1.5;
}
.cart-actions {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
}
.clear-cart-form {
  max-width: 520px;
  margin: 14px 0 0 auto;
  text-align: right;
}
button:disabled,
.btn:disabled {
  opacity: .65;
  cursor: not-allowed;
}
@media (max-width: 850px) {
  .cart-row {
    grid-template-columns: 120px minmax(0, 1fr);
  }
  .cart-thumb {
    width: 120px;
    height: 100px;
  }
  .cart-qty,
  .cart-line-total,
  .cart-remove {
    grid-column: 2;
  }
  .cart-line-total {
    text-align: left;
  }
  .cart-summary,
  .clear-cart-form {
    max-width: none;
    margin-left: 0;
  }
}

.error-box {
  background: #FFF0EA;
  border: 1px solid #E2B2A5;
  color: #7a1f1f;
  padding: 14px 18px;
  border-radius: 11px;
  margin-bottom: 22px;
}

.checkout-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 360px;
  gap: 24px;
  align-items: start;
}

.form-card,
.order-summary-card,
.complete-card {
  background: var(--white);
  border: 1px solid var(--store-border);
  border-radius: 12px;
  padding: 24px;
  box-shadow: 0 8px 24px rgba(0,0,0,.05);
}

.form-card h2,
.order-summary-card h2 {
  margin-top: 0;
  color: var(--store-green);
}

.form-card label {
  display: block;
  font-weight: 700;
  margin: 16px 0 6px;
  color: var(--store-text);
}

.form-card input,
.form-card textarea {
  width: 100%;
  box-sizing: border-box;
  border: 1px solid var(--store-border);
  border-radius: 11px;
  padding: 11px 12px;
  font-size: 16px;
}

.form-card textarea {
  resize: vertical;
}

.form-card .btn {
  margin-top: 18px;
}

.summary-item,
.summary-line {
  display: flex;
  justify-content: space-between;
  gap: 16px;
  padding: 12px 0;
  border-bottom: 1px solid var(--store-border);
}

.summary-line.total {
  font-size: 20px;
  border-bottom: 0;
  color: var(--store-green);
}

.order-summary-card.full {
  max-width: 720px;
  margin-top: 24px;
}

.complete-card h1 {
  margin-top: 0;
  color: var(--store-green);
}

.order-number {
  display: inline-block;
  margin-top: 8px;
  padding: 10px 14px;
  border-radius: 11px;
  background: var(--store-cream);
  border: 1px solid var(--store-border);
  font-weight: 800;
  color: var(--store-green);
}

@media (max-width: 800px) {
  .checkout-layout {
    grid-template-columns: 1fr;
  }
}


/* storefront.org-inspired visual pass
   Source stylesheet preserved; this section intentionally overrides color, spacing,
   buttons, cards, and navigation only. No PHP or markup changes required. */

body {
  background: var(--store-cream);
  color: var(--store-text);
}

.store-header {
  background: var(--store-cream);
  border-bottom: 0;
  box-shadow: none;
}

.store-top {
  padding: 26px 0 22px;
}

.logo-text {
  border-left-color: rgba(47,68,31,.18);
}

.logo-text strong,
.page-title-row h1,
.product-body h2,
.detail-info h1,
.cart-main h2,
.form-card h2,
.order-summary-card h2,
.complete-card h1,
.order-number,
.summary-line.total {
  color: var(--store-green);
}

.logo-text span,
.description,
.category,
.page-title-row p,
.summary-note,
.footer,
.empty,
.cart-qty label {
  color: var(--store-muted);
}

.top-nav {
  gap: 10px;
}

.top-nav a,
.top-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 36px;
  padding: 9px 18px;
  border-radius: 10px;
  background: var(--store-green-soft);
  color: var(--white);
  font-weight: 700;
  text-decoration: none;
  box-shadow: 0 4px 12px rgba(47,68,31,.12);
}

.top-nav a:hover,
.top-link:hover {
  background: var(--store-green-dark);
}

.hero {
  background: var(--store-green-dark);
  color: var(--white);
  padding: 48px 0;
}

.hero h1 {
  color: var(--white);
  letter-spacing: -.03em;
}

.hero p {
  color: rgba(255,255,255,.88);
}

.content {
  padding: 38px 0 64px;
}

.notice {
  background: #FFF5D8;
  border-color: rgba(227,170,23,.45);
  color: #5B4310;
  border-radius: 14px;
}

.product-card,
.detail-layout,
.page-title-row,
.cart-card,
.cart-summary,
.form-card,
.order-summary-card,
.complete-card {
  background: var(--white);
  border-color: var(--store-border);
  border-radius: 18px;
  box-shadow: 0 10px 26px rgba(47,68,31,.08);
}

.product-card {
  transition: transform .18s ease, box-shadow .18s ease;
}

.product-card:hover {
  transform: translateY(-2px);
  box-shadow: 0 16px 34px rgba(47,68,31,.12);
}

.product-image,
.detail-image,
.cart-thumb {
  background: var(--store-cream-deep);
}

.btn {
  border-radius: 10px;
  background: var(--store-green);
  color: var(--white);
  font-weight: 800;
  box-shadow: 0 5px 14px rgba(47,68,31,.12);
}

.btn:hover {
  background: var(--store-green-dark);
}

.btn.gold {
  background: var(--store-gold);
  color: #2F352B;
}

.btn.gold:hover {
  background: var(--store-gold-dark);
  color: #2F352B;
}

.btn.light {
  background: var(--white);
  color: var(--store-green);
  border-color: var(--store-border);
  box-shadow: none;
}

.link-button {
  color: var(--store-green);
}

.footer {
  background: var(--store-green-dark);
  border-top: 0;
  color: rgba(255,255,255,.82);
  padding: 24px 0;
}

.form-card input,
.form-card textarea,
.qty-row input,
.cart-qty input {
  border-color: var(--store-border);
  background: #FFFDF8;
  color: var(--store-text);
}

.form-card input:focus,
.form-card textarea:focus,
.qty-row input:focus,
.cart-qty input:focus {
  outline: none;
  border-color: var(--store-green-soft);
  box-shadow: 0 0 0 3px rgba(94,114,88,.16);
}

.error-box {
  background: #FFF0EA;
  border-color: #E2B2A5;
  color: #7A2A1F;
}

@media (max-width: 850px) {
  .top-nav a,
  .top-link {
    width: 100%;
  }
}


/* Customizable products: one preview panel beside one ordering panel. */
.custom-product-layout {
  grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr);
  align-items: start;
  gap: 32px;
  padding: 28px;
}
.custom-preview-panel,
.custom-product-layout .detail-info { min-width: 0; }
.custom-preview-panel {
  padding: 20px;
  border: 1px solid var(--store-border);
  border-radius: 14px;
  background: var(--store-cream-deep);
}
.custom-preview-heading { display: flex; flex-wrap: wrap; gap: 8px 16px; align-items: baseline; justify-content: space-between; margin-bottom: 18px; }
.custom-preview-heading h2 { margin: 0; font-size: 18px; }
.custom-preview-heading span,
.custom-preview-help { color: var(--store-muted); font-size: 13px; line-height: 1.5; }
.custom-preview-stage {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 240px;
  padding: 16px;
  background: var(--white);
  border: 1px solid var(--store-border);
  border-radius: 8px;
}
#customPreviewCanvas { display: block; width: 100%; height: auto; max-height: 480px; object-fit: contain; background: var(--white); }
#customPreviewStatus { margin: 16px 0 0; font-size: 14px; line-height: 1.5; }
.custom-preview-help { margin: 8px 0 0; }
.custom-product-layout .detail-info { gap: 12px; }
.custom-product-layout h1 { margin: 0; line-height: 1.2; }
.custom-product-layout .price { margin: 0; font-size: 26px; }
.custom-product-layout .stock-note { align-self: flex-start; padding: 6px 10px; border-radius: 6px; background: var(--store-cream-deep); font-size: 13px; font-weight: 700; }
.custom-product-layout #addToCartForm { margin-top: 8px; }
.custom-product-layout .personalization-fields { display: grid; gap: 18px; padding-top: 20px; border-top: 1px solid var(--store-border); }
.custom-product-layout .field-block label { display: block; margin-bottom: 8px; font-size: 14px; font-weight: 700; }
.custom-product-layout .field-block input,
.custom-product-layout .field-block select,
.custom-product-layout .field-block textarea {
  display: block;
  width: 100%;
  min-width: 0;
  box-sizing: border-box;
  padding: 12px 14px;
  border: 1px solid var(--store-border);
  border-radius: 9px;
  background: var(--white);
  color: inherit;
  font: inherit;
  font-size: 16px;
}
.custom-product-layout .field-block textarea { min-height: 100px; resize: vertical; }
.custom-product-layout .field-block input[type="file"] { padding: 8px; font-size: 13px; }
.custom-product-layout input[type="file"]::file-selector-button { border: 0; border-radius: 6px; padding: 10px 12px; margin-right: 10px; background: var(--store-cream-deep); color: inherit; font-weight: 700; cursor: pointer; }
.custom-product-layout .field-block input:focus-visible,
.custom-product-layout .field-block textarea:focus-visible,
.custom-product-layout .field-block select:focus-visible { outline: 2px solid var(--store-blue); outline-offset: 2px; }
.custom-product-layout .field-block .description { margin-top: 6px; font-size: 13px; }
.custom-product-layout .qty-row { margin: 24px 0 16px; }
.custom-product-layout .card-actions { display: flex; flex-wrap: wrap; gap: 10px; }
.custom-product-layout .card-actions .btn { text-align: center; }
@media (max-width: 850px) {
  .custom-product-layout { grid-template-columns: minmax(0, 1fr); padding: 18px; gap: 24px; }
  .custom-preview-panel { padding: 16px; }
  .custom-preview-stage { min-height: 160px; padding: 10px; }
}
@media (max-width: 480px) {
  .custom-product-layout .card-actions { flex-direction: column; }
}

.custom-product-layout .photo-adjustments { margin: 12px 0 0; padding: 14px; min-width: 0; border: 1px solid var(--store-border); border-radius: 9px; background: var(--store-cream-deep); }
.custom-product-layout .photo-adjustments[hidden] { display: none; }
.custom-product-layout .photo-adjustments legend { padding: 0 6px; font-size: 13px; font-weight: 700; }
.custom-product-layout .photo-adjustment-actions { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 14px; }
.custom-product-layout .photo-adjustment-actions .btn { padding: 8px 10px; font-size: 12px; box-shadow: none; }
.custom-product-layout .photo-adjustments label { display: block; margin: 12px 0 0; font-size: 14px; font-weight: 700; }
.custom-product-layout .photo-adjustments input[type="range"] { display: block; width: 100%; padding: 0; margin: 8px 0 4px; border: 0; height: 24px; accent-color: var(--store-blue); }
.custom-product-layout .photo-adjustments output { font-size: 12px; font-weight: 400; }

/* Customer sign-in and account creation. */
.customer-auth { display: flex; justify-content: center; padding-top: 32px; padding-bottom: 48px; }
.customer-auth-card { width: 100%; max-width: 520px; box-sizing: border-box; padding: 32px; background: var(--white); border: 1px solid var(--store-border); border-top: 4px solid var(--store-blue); border-radius: 18px; box-shadow: 0 8px 24px rgba(47,68,31,.08); }
.customer-auth .section-heading { display: block; margin: 0 0 26px; }
.customer-auth h1 { margin: 0 0 10px; font-size: 28px; line-height: 1.2; color: var(--store-blue); }
.customer-auth .section-heading p { margin: 0; color: var(--store-muted); font-size: 15px; line-height: 1.6; }
.customer-auth .checkout-form { display: grid; gap: 20px; margin: 0; padding: 0; border: 0; background: transparent; box-shadow: none; }
.customer-auth .form-row { display: grid; gap: 8px; min-width: 0; }
.customer-auth .form-row label { font-size: 14px; font-weight: 700; }
.customer-auth .form-row input { width: 100%; min-width: 0; box-sizing: border-box; padding: 12px 14px; border: 1px solid var(--store-border); border-radius: 9px; background: var(--white); color: inherit; font: inherit; font-size: 16px; }
.customer-auth .form-row input:focus-visible { outline: 2px solid var(--store-blue); outline-offset: 2px; }
.customer-auth .card-actions { display: grid; gap: 10px; margin-top: 4px; }
.customer-auth .card-actions .btn { text-align: center; padding: 13px 16px; }
.customer-auth .auth-optional { color: var(--store-muted); font-weight: 400; }
.customer-auth .auth-hint { margin: -12px 0 0; color: var(--store-muted); font-size: 13px; line-height: 1.5; }
.customer-auth .auth-error { margin: 0 0 22px; padding: 14px; border: 1px solid var(--store-border); border-left: 4px solid var(--store-blue); border-radius: 8px; background: var(--store-cream-deep); line-height: 1.5; }
@media (max-width: 600px) {
  .customer-auth { padding-top: 18px; padding-bottom: 32px; }
  .customer-auth-card { padding: 24px 20px; }
  .customer-auth h1 { font-size: 25px; }
}

/* Keep photo controls and the rendered design together on phones. */
@media (max-width: 850px) {
  .custom-preview-panel { scroll-margin-top: 12px; }
  .custom-preview-heading { margin-bottom: 10px; }
  .custom-preview-stage { min-height: 120px; }
  #customPreviewCanvas { max-height: min(30vh, 200px); }
  #customPreviewStatus { margin-top: 10px; font-size: 13px; }
  #customPhotoEditors .photo-adjustments { padding: 10px; }
  #customPhotoEditors .photo-adjustment-actions { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 6px; margin-bottom: 8px; }
  #customPhotoEditors .photo-adjustment-actions .btn { min-height: 40px; padding: 6px; font-size: 11px; line-height: 1.3; }
  #customPhotoEditors .photo-adjustments label { display: grid; grid-template-columns: minmax(0, 1fr) 42px; gap: 2px 8px; align-items: center; margin-top: 6px; font-size: 12px; }
  #customPhotoEditors .photo-adjustments label > span { grid-column: 1 / -1; }
  #customPhotoEditors .photo-adjustments input[type="range"] { margin: 0; height: 28px; }
  #customPhotoEditors .photo-adjustments output { text-align: right; }
}

/* Center the company logo independently of the number of navigation links. */
.store-top { flex-direction: column; align-items: center; gap: 16px; }
.store-top .logo-block { flex-direction: column; align-items: center; text-align: center; gap: 10px; max-width: 100%; }
.store-top .logo-block img { display: block; margin-inline: auto; }
.store-top .logo-text { border-left: 0; padding-left: 0; }
.store-top .top-nav { width: 100%; justify-content: center; }

/* Keep staff access in the page footer, separate from customer navigation. */
.footer-inner { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 12px 24px; }
.footer-brand { display: flex; flex-wrap: wrap; gap: 4px 8px; min-width: 0; }
.footer-manager-login { margin-left: auto; white-space: nowrap; font-weight: 700; text-underline-offset: 3px; }

/* Customer order details show artwork and readable fields, never rendering metadata. */
.customer-order-detail .checkout-form { padding: 20px; background: var(--white); border: 1px solid var(--store-border); border-radius: 14px; }
.customer-order-detail table { table-layout: fixed; }
.customer-order-detail th:first-child { width: 48%; }
.customer-order-detail td { overflow-wrap: anywhere; vertical-align: top; }
.customer-order-detail .order-artwork-preview { margin: 12px 0; padding: 8px; border: 1px solid var(--store-border); border-radius: 8px; }
.customer-order-detail .order-artwork-preview img { display: block; width: 100%; height: auto; max-height: 180px; object-fit: contain; }
@media (max-width: 600px) {
  .customer-order-detail .checkout-form { padding: 12px; }
  .customer-order-detail table, .customer-order-detail tbody, .customer-order-detail tr, .customer-order-detail td { display: block; width: 100%; }
  .customer-order-detail thead { display: none; }
  .customer-order-detail tbody tr { padding: 10px 0; border-bottom: 1px solid var(--store-border); }
  .customer-order-detail td { text-align: left !important; }
  .customer-order-detail tbody td:nth-child(3)::before { content: 'Price: '; font-weight: 700; }
  .customer-order-detail tbody td:nth-child(4)::before { content: 'Quantity: '; font-weight: 700; }
  .customer-order-detail tbody td:nth-child(5)::before { content: 'Line total: '; font-weight: 700; }
}

/* Customer profile editing uses the storefront's existing form controls. */
.account-profile { padding: 24px; border: 1px solid var(--store-border); border-radius: 14px; background: var(--white); }
.account-profile h2 { margin-top: 0; }
.account-profile form { max-width: 640px; }
.account-profile .form-row { display: flex; flex-direction: column; gap: 8px; margin: 18px 0; }
.account-profile input { width: 100%; min-width: 0; padding: 12px 14px; border: 1px solid var(--store-border); border-radius: 8px; font: inherit; background: var(--white); color: var(--store-text); }
.account-profile label { font-weight: 700; }
.account-profile small { color: var(--store-muted); }
@media (max-width: 600px) { .account-profile { padding: 16px; } }

.customer-account .checkout-form:not(.account-profile) { padding: 16px; border: 1px solid var(--store-border); border-radius: 14px; background: var(--white); }
@media (max-width: 600px) {
  .customer-account table, .customer-account tbody, .customer-account tr, .customer-account td { display: block; width: 100%; }
  .customer-account thead { display: none; }
  .customer-account tbody tr { padding: 10px 0; border-bottom: 1px solid var(--store-border); }
  .customer-account td { text-align: left !important; overflow-wrap: anywhere; }
  .customer-account tbody td:nth-child(2)::before { content: 'Date: '; font-weight: 700; }
  .customer-account tbody td:nth-child(3)::before { content: 'Status: '; font-weight: 700; }
  .customer-account tbody td:nth-child(4)::before { content: 'Total: '; font-weight: 700; }
}

/* Direct customer design editing: canvas and tools share one workspace. */
.free-design-product { grid-template-columns:minmax(0,1fr); }
.fd-editor { background:#f5f7fb; padding:20px; }
.fd-toolbar { display:flex; flex-wrap:wrap; align-items:center; gap:8px; margin:0 0 14px; }
.fd-button { appearance:none; display:inline-flex; align-items:center; justify-content:center; min-height:44px; padding:10px 15px; border:1px solid #cbd5e1; border-radius:9px; background:#fff; color:#172033; font:600 14px/1.3 Arial,sans-serif; text-decoration:none; cursor:pointer; box-shadow:0 1px 2px #1720330d; white-space:normal; }
.fd-button:hover { background:#eef2ff; border-color:#6b83c7; }
.fd-button:focus-visible { outline:3px solid #537be9; outline-offset:2px; }
.fd-button:disabled { opacity:.45; cursor:default; }
.fd-primary { background:#2356d8; border-color:#2356d8; color:#fff; }
.fd-primary:hover { background:#1b43af; color:#fff; }
.fd-button[aria-pressed=true] { background:#e2eaff; border-color:#2356d8; color:#173d9c; }
.fd-danger { color:#a51f32; }
.fd-workspace { display:grid; grid-template-columns:minmax(0,1fr) 270px; align-items:start; gap:20px; }
.fd-canvas-column { position:sticky; top:12px; min-width:0; }
.fd-stage { min-height:280px; overflow:hidden; background:#e6eaf1; border-color:#cbd5e1; }
.fd-stage #customPreviewCanvas { width:auto; height:auto; max-width:100%; max-height:55svh; touch-action:none; cursor:move; box-shadow:0 3px 18px #17203324; }
.fd-tools { min-width:0; max-height:70svh; overflow-y:auto; overscroll-behavior:contain; padding:14px; border:1px solid #d5dce8; border-radius:10px; background:#fff; color:#172033; }
.fd-tools fieldset { min-width:0; border:0; padding:0; margin:12px 0 0; }
.fd-tools legend { font-size:14px; font-weight:700; margin-bottom:8px; }
.fd-tools label { display:block; margin:8px 0; font:600 13px/1.4 Arial,sans-serif; color:#344054; }
.fd-tools input,.fd-tools select,.fd-tools textarea { box-sizing:border-box; width:100%; max-width:100%; padding:8px; border:1px solid #cbd5e1; border-radius:7px; background:#fff; color:#172033; font:14px Arial,sans-serif; }
.fd-tools textarea { min-height:70px; resize:vertical; }
.fd-tools input[type=color] { height:40px; padding:3px; }
.fd-tools input[type=range] { padding:0; border:0; accent-color:#2356d8; }
.fd-pair { display:grid; grid-template-columns:1fr 1fr; gap:8px; }
.fd-tools .fd-item-actions { margin:14px 0 0; }
.fd-tools .fd-button { font-size:12px; padding:8px 10px; }
.fd-tools [hidden] { display:none !important; }
.fd-tools summary { cursor:pointer; font-size:13px; margin-top:14px; }
.free-design-product .detail-info { display:block; }
@media(max-width:850px){
 .fd-editor { padding:12px; }
 .fd-workspace { grid-template-columns:minmax(0,1fr); gap:10px; }
 .fd-canvas-column { z-index:5; top:0; padding-bottom:6px; background:#f5f7fb; }
 .fd-stage { min-height:120px; padding:10px; }
 .fd-stage #customPreviewCanvas { max-height:30svh; }
 .fd-tools { max-height:340px; }
 .fd-toolbar { gap:6px; }
 .fd-button { min-height:44px; padding:8px 10px; font-size:13px; }
 #customPreviewStatus { margin-top:8px; font-size:12px; }
 .fd-editor .custom-preview-help { font-size:11px; }
}

/* Artwork uploads and cart actions share the product form's comfortable spacing. */
.finished-upload-fields .field-block{display:grid;gap:10px;margin:22px 0}
.finished-upload-fields input[type=file]{display:block;width:100%;max-width:100%;padding:12px;border:1px solid #cbd5e1;border-radius:10px;background:#f8fafc;box-sizing:border-box;font:inherit}
.finished-upload-fields input::file-selector-button{padding:10px 14px;margin-right:12px;border:0;border-radius:7px;background:#e2e8f0;color:#172033;font:inherit;cursor:pointer}
.finished-upload-fields .upload-remove{display:flex;align-items:center;gap:10px;font-weight:400}
.finished-upload-fields .upload-remove input{width:auto}
.finished-artwork-preview{flex-direction:column;justify-content:center;gap:18px;padding:28px;min-height:260px;text-align:center;box-sizing:border-box}
.finished-artwork-preview img{width:100%;height:auto;max-height:420px;object-fit:contain}
.finished-artwork-preview [hidden]{display:none}
.finished-artwork-preview p{line-height:1.6;color:#475569;max-width:36ch;margin:auto}
.cart-item-actions{display:flex;gap:12px;flex-wrap:wrap;align-items:center;margin-top:14px}
.cart-item-actions .btn,.cart-item-actions button,.detail-info .card-actions .btn{min-height:44px;box-sizing:border-box;display:inline-flex;align-items:center;justify-content:center;padding:10px 18px}
.cart-item-actions button{color:#9f1239}
@media(max-width:600px){.finished-artwork-preview{min-height:180px;padding:20px}.finished-upload-fields input[type=file]{font-size:14px}.cart-item-actions{gap:8px}}

@media(min-width:851px){.cart-row{grid-template-columns:180px minmax(0,1fr) 90px 120px}.cart-remove{grid-column:2 / -1}.cart-item-actions{margin-top:0}}

/* Uploaded artwork guides are separate DOM layers, never part of the original file. */
.finished-artwork-preview .finished-side-tabs{display:flex;gap:10px;justify-content:center;flex-wrap:wrap}
.finished-side-tabs button{min-height:44px;padding:10px 18px}
.finished-side-tabs [aria-pressed=true]{outline:2px solid var(--store-blue);outline-offset:2px}
.finished-guide-stage{position:relative;width:100%;min-width:0;aspect-ratio:1.7;background:repeating-conic-gradient(#fff 0 25%,#edf0f4 0 50%) 0 / 16px 16px;border:2px solid #475569;box-sizing:border-box;isolation:isolate}
.finished-artwork-preview .finished-guide-stage img{position:absolute;inset:0;width:100%;height:100%;max-height:none;object-fit:contain}
.finished-guide-stage #finishedGuidePlaceholder{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;padding:20px;box-sizing:border-box;background:#f8fafc;color:#334155}
.finished-guide-stage #finishedGuidePlaceholder[hidden]{display:none}
.finished-print-guide{position:absolute;pointer-events:none;z-index:2;border:2px dashed;box-shadow:0 0 0 1px #fff,inset 0 0 0 1px #fff;box-sizing:border-box}
.finished-trim-guide{border-color:#007b93}.finished-safe-guide{border-color:#b51674}
.finished-guide-key{text-align:left;width:100%;font-size:13px}
.finished-artwork-preview .finished-guide-key p{max-width:none;margin:9px 0;line-height:1.55}
.guide-key{display:inline-block;width:18px;margin-right:7px;border-top:3px solid #475569;vertical-align:middle}
.guide-key.trim-key{border-top:3px dashed #007b93}.guide-key.safe-key{border-top:3px dashed #b51674}
.finished-artwork-preview #finishedPreviewNote{max-width:none;font-size:14px}
.artwork-ratio-warning{outline:3px solid #b45309;outline-offset:3px}
@media(max-width:600px){.finished-artwork-preview{padding:16px}.finished-guide-key{font-size:12px}}

.artwork-methods h2{font-size:18px;margin:6px 0 14px}.artwork-method-buttons{display:flex;flex-wrap:wrap;gap:12px}.artwork-method-buttons .btn{padding:14px 18px;min-height:48px;box-sizing:border-box;display:flex;align-items:center;justify-content:center}.artwork-method-buttons [aria-current=page]{outline:2px solid var(--store-blue);outline-offset:3px}@media(max-width:600px){.artwork-method-buttons{flex-direction:column}}

:root { --store-green: #03104a; --store-green-dark: #f5f5f5; --store-gold: #d1d6df; --store-cream: #f8fafc; --store-text: #172033; }
