/* Prindustry theme — shop layer over Prindustry Connect.
   The plugin's shop.css stays loaded for structure (accordion mechanics, grid
   placement of address fields); every visible surface is restyled here. */

.pd-shop-content { padding: clamp(28px, 4vw, 48px) 0 var(--sec); }
.pd-shop-content > :first-child { margin-top: 0; }

/* plugin form controls → theme tokens */
:where(.prindustry-product, .prindustry-print-product, .prindustry-cart, .prindustry-checkout, .prindustry-account) {
  --prindustry-input-padding: 12px 14px;
  --prindustry-input-border: 1.5px solid var(--c-line-strong);
  --prindustry-input-radius: var(--r-md);
}

/* ---------- shared: buttons, notices ---------- */
.prindustry-button, .prindustry-add-to-cart, .prindustry-checkout-submit,
.prindustry-account button[type="submit"], .prindustry-checkout button[type="submit"], .prindustry-cart button[type="submit"] {
  display: inline-flex; align-items: center; justify-content: center; gap: .5em; min-height: 50px; padding: .8rem 1.4rem;
  border: 1.5px solid var(--c-ink); border-radius: var(--r-md); background: var(--c-ink); color: var(--c-paper);
  font: 600 var(--fs-sm)/1.2 var(--f-body); text-decoration: none; cursor: pointer; box-shadow: none;
  transition: background-color .2s var(--ease), border-color .2s var(--ease), color .2s;
}
.prindustry-button:hover, .prindustry-checkout-submit:hover:not(:disabled),
.prindustry-account button[type="submit"]:hover, .prindustry-checkout button[type="submit"]:hover:not(:disabled) { background: var(--c-blue-deep); border-color: var(--c-blue-deep); color: #fff; }
.prindustry-button:not(.prindustry-button--primary):not(.wp-element-button) { background: transparent; color: var(--c-ink); }
.prindustry-button:not(.prindustry-button--primary):not(.wp-element-button):hover { background: var(--c-ink); color: var(--c-paper); }
.prindustry-button--small { min-height: 40px; padding: .5rem 1rem; font-size: var(--fs-xs); }
.prindustry-checkout-submit:disabled { opacity: .45; cursor: not-allowed; }

.prindustry-notice { margin: 0 0 20px; padding: 14px 18px; border: 0; border-left: 4px solid var(--c-blue-deep); border-radius: var(--r-sm); background: var(--c-blue-tint); color: var(--c-ink); font-size: var(--fs-sm); }
.prindustry-notice--success { border-color: #2E7D4F; background: #E7F4EC; }
.prindustry-notice--error { border-color: #B42318; background: #FDECEA; }
.prindustry-notice p { margin: 0; }
.prindustry-added-notice { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 16px; margin-top: 14px; padding: 14px 16px; border: 1px solid #A8D5B8; border-radius: var(--r-md); background: #E7F4EC; color: #14532D; font-size: var(--fs-sm); }
.prindustry-added-notice a { color: #14532D; font-weight: 700; }

/* ---------- configurator ---------- */
.prindustry-print-product.pd-configurator { display: grid; grid-template-columns: minmax(0, 1fr); gap: clamp(24px, 4vw, 56px); margin: 0; align-items: start; }
@media (min-width: 960px) { .prindustry-print-product.pd-configurator { grid-template-columns: minmax(0, 5fr) minmax(0, 6fr); } }
.pd-configurator .prindustry-print-media {
  position: static; display: block; height: auto; min-height: 0; margin: 0; background: none; border-radius: 0; overflow: visible;
  -webkit-mask-image: none; mask-image: none;
}
@media (min-width: 960px) { .pd-configurator .prindustry-print-media { position: sticky; top: calc(var(--header-h) + 28px); } }
.pd-config-frame.pd-crop { --crop-pad: clamp(20px, 3vw, 32px); --crop-len: 14px; --crop-gap: 5px; --mark: var(--c-ink); margin: 0; background: var(--c-surface); box-shadow: var(--shadow); }
.pd-config-frame img { width: 100%; height: auto; aspect-ratio: 4 / 3; object-fit: cover; }
.pd-config-frame .pd-paper-visual { aspect-ratio: 4 / 3; }
.pd-config-facts { display: none; list-style: none; margin: 22px 0 0; padding: 0; font-size: var(--fs-sm); color: var(--c-ink-soft); }
.pd-config-facts li { display: flex; gap: 10px; align-items: center; padding: 10px 0; border-bottom: 1px solid var(--c-line); margin: 0; }
.pd-config-facts .pd-icon { color: var(--c-orange-deep); width: 16px; }
@media (min-width: 960px) { .pd-config-facts { display: block; } }
@media (max-width: 959px) { .pd-config-frame.pd-crop { max-width: 560px; } }

.pd-config-intro { margin-bottom: 22px; }
.pd-config-intro .pd-eyebrow { margin-bottom: 10px; }
.prindustry-print-configurator h2.pd-config-title { margin: 0 0 8px; font-size: var(--fs-2xl); }
.pd-config-help { margin: 0; max-width: 56ch; color: var(--c-ink-soft); font-size: var(--fs-sm); }

/* step card */
.prindustry-step-card { margin-bottom: 16px; border: 1px solid var(--c-line); border-radius: var(--r-lg); background: var(--c-surface); box-shadow: var(--shadow); overflow: hidden; }
.prindustry-step-card-header { min-height: 52px; padding: 12px 20px; border-bottom: 1px solid var(--c-line); background: var(--c-surface); }
.prindustry-step-card-header h3 { margin: 0; font: 700 var(--fs-sm)/1.2 var(--f-display); font-stretch: 112%; letter-spacing: .01em; }
.prindustry-step-card-header > span:empty { display: none; }
.prindustry-step-reset { margin-left: auto; padding: 6px 10px; border: 1.5px solid var(--c-line-strong); border-radius: var(--r-sm); background: transparent; color: var(--c-ink); font: 600 var(--fs-xs)/1 var(--f-body); text-decoration: none; }
.prindustry-step-reset:hover { background: var(--c-ink); border-color: var(--c-ink); color: var(--c-paper); }
.prindustry-step-reset::first-letter { text-transform: uppercase; }

.prindustry-step { border-bottom: 1px solid var(--c-line); }
.prindustry-step-header { min-height: 64px; gap: 14px; padding: 12px 20px; color: var(--c-ink); }
.prindustry-step-header:not(:disabled):hover { background: var(--c-paper); }
.prindustry-step-badge { width: 30px; height: 30px; border: 1.5px solid var(--c-line-strong); background: transparent; color: var(--c-ink); font: 700 13px/1 var(--f-body); font-variant-numeric: tabular-nums; display: grid; place-items: center; }
.prindustry-step.is-expanded .prindustry-step-badge { background: var(--c-ink); border-color: var(--c-ink); color: var(--c-paper); }
.prindustry-step-badge.is-done { background: var(--c-blue-tint); border-color: var(--c-blue-deep); color: var(--c-blue-deep); }
.prindustry-step-badge.is-done { font-size: 0; }
.prindustry-step-badge.is-done::before { content: ""; width: 11px; height: 6px; border-left: 2px solid currentColor; border-bottom: 2px solid currentColor; transform: translateY(-1px) rotate(-45deg); }
.prindustry-step.is-expanded .prindustry-step-badge.is-done { background: var(--c-ink); border-color: var(--c-ink); color: var(--c-paper); font-size: 13px; }
.prindustry-step.is-expanded .prindustry-step-badge.is-done::before { display: none; }
.prindustry-step-title { font: 650 var(--fs-sm)/1.3 var(--f-body); text-transform: none; letter-spacing: 0; }
.prindustry-step-selected { max-width: 55%; padding: 5px 10px; border-radius: var(--r-sm); background: var(--c-paper); color: var(--c-ink); opacity: 1; font: 500 var(--fs-xs)/1.3 var(--f-body); }
.prindustry-step.is-locked .prindustry-step-header { opacity: 1; color: #6B7787; }
.prindustry-step.is-locked .prindustry-step-badge { border-style: dashed; color: #6B7787; }
.prindustry-step.is-excluded .prindustry-step-header { opacity: 1; background: repeating-linear-gradient(-45deg, var(--c-paper), var(--c-paper) 6px, transparent 6px, transparent 12px); color: #6B7787; }
.prindustry-step.is-excluded .prindustry-step-selected { background: transparent; color: #5B6878; font-style: italic; }

/* options */
.prindustry-step-options { grid-template-columns: repeat(auto-fill, minmax(132px, 1fr)); gap: 10px; padding: 4px 20px 22px; }
.prindustry-step-option {
  position: relative; gap: 8px; min-height: 52px; padding: 10px 10px 12px; border: 1.5px solid var(--c-line); border-radius: var(--r-md);
  background: var(--c-surface); color: var(--c-ink); font: 500 var(--fs-sm)/1.3 var(--f-body); justify-content: flex-start;
  transition: border-color .15s, background-color .15s, box-shadow .15s, transform .15s var(--ease);
}
.prindustry-step-option:hover { border-color: var(--c-ink); background: var(--c-surface); }
.prindustry-step-option:active { transform: scale(.98); }
.prindustry-step-option img { width: 100%; height: 76px; object-fit: contain; padding: 4px; background: var(--c-paper); border-radius: var(--r-sm); }
.prindustry-step-option.has-no-image::before, .prindustry-step-options.has-images .prindustry-step-option:not(:has(img))::before {
  content: ""; display: block; width: 100%; height: 76px; border-radius: var(--r-sm);
  background:
    linear-gradient(#fff, #fff) center / 30px 40px no-repeat,
    linear-gradient(var(--c-line-strong), var(--c-line-strong)) center / 32px 42px no-repeat,
    var(--c-paper);
}
.prindustry-step-options.has-images .prindustry-step-option.is-selected:not(:has(img))::before { background: linear-gradient(#fff, #fff) center / 30px 40px no-repeat, linear-gradient(var(--c-blue-deep), var(--c-blue-deep)) center / 32px 42px no-repeat, var(--c-paper); }
.prindustry-step-card-header:has(> span:only-child:empty) { display: none; }
.prindustry-step-options:not(.has-images) { grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); }
.prindustry-step-options:not(.has-images) .prindustry-step-option { flex-direction: row; justify-content: flex-start; align-items: center; text-align: left; padding: 12px 14px; min-height: 50px; }
.prindustry-step-options:not(.has-images) .prindustry-step-option::after { content: ""; order: -1; width: 16px; height: 16px; flex: none; border: 1.5px solid var(--c-line-strong); border-radius: 50%; background: var(--c-surface); }
.prindustry-step-option.is-selected { border-color: var(--c-blue-deep); background: var(--c-blue-tint); font-weight: 650; box-shadow: inset 0 0 0 1px var(--c-blue-deep); }
.prindustry-step-options:not(.has-images) .prindustry-step-option.is-selected::after { border: 5px solid var(--c-blue-deep); }
.prindustry-step-options.has-images .prindustry-step-option.is-selected::after { content: ""; position: absolute; top: 8px; right: 8px; width: 22px; height: 22px; border-radius: 50%; background: var(--c-blue-deep) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m5 12 5 5L20 7'/%3E%3C/svg%3E") center / 13px no-repeat; }

/* dynamic (free-entry) values */
.prindustry-step-dynamic { margin: 0 20px 22px; padding: 16px 18px; border: 1.5px dashed var(--c-blue-deep); border-radius: var(--r-md); background: var(--c-blue-tint); }
.prindustry-step-dynamic-hint { font: 650 var(--fs-sm)/1.3 var(--f-body); }
.prindustry-step-dynamic-label { opacity: 1; color: var(--c-ink-soft); font-weight: 600; font-size: var(--fs-xs); }
.prindustry-step-dynamic-input { width: 8.5rem; min-height: 46px; border: 1.5px solid var(--c-line-strong); border-radius: var(--r-md); background: #fff; }
.prindustry-step-dynamic-unit { opacity: 1; color: var(--c-ink-soft); bottom: .9rem; }
.prindustry-step-dynamic-bounds { opacity: 1; color: var(--c-ink-soft); }
.prindustry-step-dynamic-choice { min-height: 40px; padding: 6px 14px; border: 1.5px solid var(--c-line-strong); background: #fff; color: var(--c-ink); }
.prindustry-step-dynamic-choice.is-selected { border-color: var(--c-blue-deep); background: var(--c-blue-deep); color: #fff; }

/* price matrix */
.prindustry-pricelist-card { margin-top: 0; }
.prindustry-pricelist-card .prindustry-step-card-header { position: relative; }
.prindustry-pricelist-card .prindustry-step-card-header::after { content: ""; position: absolute; left: 0; right: 0; bottom: -1px; height: 3px; background: linear-gradient(90deg, var(--c-cyan) 0 20%, var(--c-magenta) 0 40%, var(--c-yellow) 0 60%, var(--c-navy) 0 80%, var(--c-orange) 0); }
.prindustry-pricelist-body { padding: 8px 0 0; overflow-x: auto; -webkit-overflow-scrolling: touch; }
.prindustry-pricelist-loading { display: flex; align-items: center; gap: 12px; padding: 18px 20px; color: var(--c-ink-soft); font-size: var(--fs-sm); }
.prindustry-pricelist-loading::before { content: ""; width: 18px; height: 18px; border: 2px solid var(--c-line); border-top-color: var(--c-orange); border-radius: 50%; animation: pd-spin .8s linear infinite; }
@keyframes pd-spin { to { transform: rotate(360deg); } }
.prindustry-pricelist-empty { padding: 16px 20px; color: var(--c-ink-soft); }
table.prindustry-pricelist { width: 100%; margin: 0; border-collapse: separate; border-spacing: 0; font-variant-numeric: tabular-nums; font-size: var(--fs-sm); }
.prindustry-pricelist th, .prindustry-pricelist td { padding: 12px 14px; border-bottom: 1px solid var(--c-line); text-align: right; white-space: nowrap; }
@media (max-width: 480px) { .prindustry-pricelist th, .prindustry-pricelist td { padding: 10px 10px; } .prindustry-pricelist th:first-child, .prindustry-pricelist td:first-child { padding-left: 14px; } }
.prindustry-pricelist th:first-child, .prindustry-pricelist td:first-child { position: sticky; left: 0; z-index: 1; text-align: left; padding-left: 20px; background: var(--c-surface); }
.prindustry-pricelist tr:first-child th { padding-top: 10px; padding-bottom: 12px; background: var(--c-surface); font: 700 var(--fs-xs)/1.25 var(--f-body); letter-spacing: .04em; text-transform: uppercase; color: var(--c-ink); vertical-align: bottom; }
.prindustry-price-dlv small { margin-top: 3px; font-weight: 500; text-transform: none; letter-spacing: 0; color: var(--c-ink-soft); opacity: 1; }
.prindustry-price-qty { font-weight: 650; }
.prindustry-price-cell { position: relative; color: var(--c-ink); transition: background-color .12s, color .12s; }
.prindustry-price-cell:hover { background: var(--c-blue-tint); color: var(--c-blue-deep); }
.prindustry-price-cell.is-selected { background: var(--c-ink); color: var(--c-paper); font-weight: 700; }
.prindustry-price-cell.is-selected::before { content: ""; position: absolute; left: 6px; top: 50%; width: 7px; height: 7px; margin-top: -3.5px; background: var(--c-orange); transform: rotate(45deg); }
.prindustry-price-cell.is-empty { color: #6B7787; opacity: 1; }
.prindustry-pricelist tr:last-child td { border-bottom: 0; }
.prindustry-price-row:hover td:first-child { color: var(--c-blue-deep); }

/* CO₂ card */
.prindustry-co2-card { margin: 16px 0 0; border: 1px solid #A8D5B8; border-radius: var(--r-md); background: #EEF7F1; color: #14532D; }
.prindustry-co2-title { opacity: 1; font-weight: 700; }

/* footer: upload + add to cart */
.prindustry-step-footer { gap: 16px; margin-top: 16px; }
.prindustry-upload-card-body { padding: 18px 20px 20px; }
.prindustry-dropzone { gap: 16px; padding: 20px; border: 1.5px dashed var(--c-line-strong); border-radius: var(--r-md); background: var(--c-paper); }
.prindustry-dropzone:hover, .prindustry-dropzone.is-dragover { border-color: var(--c-blue-deep); background: var(--c-blue-tint); }
.prindustry-dropzone-icon { width: 44px; height: 44px; padding: 10px; border-radius: 50%; background: var(--c-surface); color: var(--c-blue-deep); opacity: 1; box-shadow: var(--shadow); }
.prindustry-dropzone-title { font-weight: 650; font-size: var(--fs-sm); }
.prindustry-dropzone-hint { opacity: 1; color: var(--c-ink-soft); font-size: var(--fs-xs); }
.prindustry-dropzone.has-file { border-style: solid; border-color: #2E7D4F; background: #EEF7F1; }
.prindustry-dropzone-file { color: #14532D; }
.prindustry-dropzone-remove { width: 36px; height: 36px; border-radius: 50%; color: var(--c-ink); opacity: 1; font-size: 1.3rem; }
.prindustry-dropzone-remove:hover { background: var(--c-surface); }
button.prindustry-add-to-cart { width: 100%; min-height: 58px; border-color: var(--c-orange-deep); background: var(--c-orange-deep); color: #fff; font-size: var(--fs-md); }
button.prindustry-add-to-cart:hover { border-color: var(--c-ink); background: var(--c-ink); color: var(--c-paper); }
button.prindustry-add-to-cart.is-added { border-color: #2E7D4F; background: #2E7D4F; }
button.prindustry-add-to-cart:disabled { opacity: .6; cursor: progress; }

/* ---------- product page extras ---------- */
.pd-product-head { padding: clamp(24px, 4vw, 40px) 0 0; }
.pd-breadcrumb ol { display: flex; flex-wrap: wrap; gap: 4px 10px; margin: 0 0 22px; padding: 0; list-style: none; font-size: var(--fs-xs); color: var(--c-ink-soft); }
.pd-breadcrumb li { display: inline-flex; align-items: center; gap: 10px; margin: 0; }
.pd-breadcrumb li + li::before { content: "/"; color: var(--c-line-strong); }
.pd-breadcrumb a { color: var(--c-ink-soft); }
.pd-breadcrumb [aria-current] { color: var(--c-ink); font-weight: 600; }
.pd-product-title { margin: 0; font-size: var(--fs-3xl); max-width: 20ch; }
.pd-product-lead { max-width: 62ch; margin: 14px 0 0; font-size: var(--fs-lg); line-height: 1.55; color: var(--c-ink-soft); }
.pd-related { padding: var(--sec) 0; background: var(--c-surface); border-top: 1px solid var(--c-line); }
.pd-related .pd-tile { background: var(--c-paper); }
.pd-related .pd-tile .prindustry-category-tile-media.pd-crop { background: var(--c-paper-2); }
.pd-file-hint { background: var(--c-blue-tint); }
.pd-file-hint-inner { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 18px 40px; padding: 30px 0; }
.pd-file-hint-text { max-width: 70ch; margin: 0; }

/* ---------- cart ---------- */
.prindustry-cart-layout, .prindustry-checkout-layout { grid-template-columns: 1fr; gap: clamp(20px, 3vw, 40px); }
@media (min-width: 960px) {
  .prindustry-cart-layout, .prindustry-checkout-layout { grid-template-columns: minmax(0, 2fr) minmax(300px, 1fr); }
}
.prindustry-cart-items { gap: 14px; }
.prindustry-cart-item { gap: 18px; padding: 20px; border: 1px solid var(--c-line); border-radius: var(--r-lg); background: var(--c-surface); box-shadow: none; flex-wrap: wrap; }
.prindustry-cart-item-media { width: 96px; height: 96px; border-radius: var(--r-sm); background: var(--c-paper-2); }
.prindustry-cart-item-shape { color: var(--c-line-strong); }
.prindustry-cart-item-main { flex: 1 1 260px; }
h2.prindustry-cart-item-name, .prindustry-cart-item-name { margin: 0 0 10px; font: 720 var(--fs-lg)/1.2 var(--f-display); font-stretch: 112%; }
.prindustry-cart-item-config { gap: 6px; }
.prindustry-cart-item-config li { margin: 0; padding: 4px 10px; border-radius: var(--r-sm); background: var(--c-paper); color: var(--c-ink); font-size: var(--fs-xs); }
.prindustry-config-key { color: var(--c-ink-soft); }
.prindustry-config-key::after { opacity: 1; }
.prindustry-cart-item-printfile { margin-top: 4px; padding: 12px 14px; border-radius: var(--r-md); background: var(--c-paper); font-size: var(--fs-sm); }
.prindustry-printfile-ok { color: #1E6B3E; font-weight: 600; }
.prindustry-printfile-warning { color: #B42318; font-weight: 600; }
.prindustry-printfile-missing span, .prindustry-printfile-hint { opacity: 1; color: var(--c-ink-soft); }
.prindustry-printfile-action { color: var(--c-blue-deep); opacity: 1; font: 600 var(--fs-xs)/1.4 var(--f-body); }
.prindustry-printfile-thumb { border-color: var(--c-line); border-radius: var(--r-sm); }
.prindustry-cart-upload { display: inline-flex; align-items: center; gap: 8px; min-height: 40px; padding: 6px 14px; border: 1.5px solid var(--c-ink); border-radius: var(--r-md); background: var(--c-surface); color: var(--c-ink); font: 600 var(--fs-xs)/1 var(--f-body); cursor: pointer; }
.prindustry-cart-upload:hover { background: var(--c-ink); color: var(--c-paper); }
.prindustry-cart-item-side { gap: 10px; margin-left: auto; }
.prindustry-cart-item-qty { color: var(--c-ink-soft); font-size: var(--fs-xs); }
.prindustry-cart-item-qty input { width: 6rem; min-height: 40px; }
.prindustry-cart-item-price { font: 760 var(--fs-xl)/1 var(--f-display); font-stretch: 110%; font-variant-numeric: tabular-nums; }
.prindustry-cart-remove { padding: 6px 0; color: var(--c-ink-soft); opacity: 1; font-size: var(--fs-xs); }
.prindustry-cart-remove:hover { color: #B42318; }
.prindustry-cart-summary { top: calc(var(--header-h) + 24px); gap: 14px; padding: 24px; border: 0; border-radius: var(--r-lg); background: var(--c-navy); color: var(--c-on-navy); }
.prindustry-cart-summary h2, .prindustry-cart-summary h3 { margin: 0 0 4px; color: var(--c-on-navy); font-size: var(--fs-xl); }
.prindustry-summary-row { padding: 8px 0; border-bottom: 1px solid rgba(245, 243, 238, .14); font-variant-numeric: tabular-nums; }
.prindustry-summary-row dt { color: var(--c-on-navy-soft); }
.prindustry-summary-row--total { border-top: 0; border-bottom: 0; padding-top: 14px; font-size: var(--fs-lg); }
.prindustry-summary-row--total dt { color: var(--c-on-navy); }
.prindustry-summary-warning { padding: 10px 12px; border-radius: var(--r-sm); background: rgba(241, 103, 33, .16); color: #FFD9C4; font-size: var(--fs-xs); }
.prindustry-cart-summary .prindustry-button, .prindustry-cart-summary a.prindustry-button { width: 100%; border-color: var(--c-paper); background: var(--c-paper); color: var(--c-ink); }
.prindustry-cart-summary .prindustry-button:hover { background: #fff; border-color: #fff; color: var(--c-ink); }
.prindustry-cart-summary .prindustry-button.is-disabled { opacity: .5; }
.prindustry-cart-summary a:not(.prindustry-button) { color: #9FD3E3; }
.prindustry-cart-continue { color: var(--c-on-navy-soft); }
.prindustry-cart-empty { align-items: flex-start; gap: 18px; padding: clamp(32px, 6vw, 64px); border: 1.5px dashed var(--c-line-strong); border-radius: var(--r-lg); background: var(--c-surface); }
.prindustry-cart-empty p { margin: 0; font: 700 var(--fs-xl)/1.3 var(--f-display); font-stretch: 110%; }

/* ---------- checkout + account auth ---------- */
.prindustry-checkout-auth { grid-template-columns: 1fr; gap: 20px; }
@media (min-width: 860px) { .prindustry-checkout-auth { grid-template-columns: 1fr 1fr; } }
.prindustry-checkout-auth--single { grid-template-columns: minmax(0, 36rem); }
.prindustry-auth-panel, .prindustry-account-card { padding: clamp(22px, 3vw, 32px); border: 1px solid var(--c-line); border-radius: var(--r-lg); background: var(--c-surface); }
.prindustry-auth-panel h2, .prindustry-auth-panel h3, .prindustry-account-card h2, .prindustry-account-card h3 { margin: 0 0 16px; font-size: var(--fs-xl); }
.prindustry-auth-panel p, .prindustry-account-form p { margin: 0 0 14px; }
.prindustry-auth-panel label, .prindustry-account label, .prindustry-checkout label { display: block; margin-bottom: 6px; font: 600 var(--fs-sm)/1.4 var(--f-body); }
.prindustry-auth-panel input:not([type="checkbox"]):not([type="radio"]), .prindustry-account-form input:not([type="checkbox"]):not([type="radio"]) { max-width: none; }
.prindustry-auth-links { color: var(--c-ink-soft); font-size: var(--fs-xs); }
.prindustry-field-hint { opacity: 1; color: var(--c-ink-soft); max-width: none; }
.prindustry-checkout-main h2, .prindustry-checkout-main h3 { font-size: var(--fs-xl); }
.prindustry-checkout-main form { max-width: none; }
.prindustry-checkout-account { opacity: 1; color: var(--c-ink-soft); }
.prindustry-checkout-layout > aside, .prindustry-checkout-summary { position: sticky; top: calc(var(--header-h) + 24px); }
.prindustry-checkout-lines { margin-bottom: 14px; }
.prindustry-checkout-line { align-items: center; padding: 12px 0; border-color: var(--c-line); font-size: var(--fs-sm); }
.prindustry-checkout-line small { opacity: 1; color: var(--c-ink-soft); }
.prindustry-checkout-line-thumb { width: 48px; height: 48px; border-radius: var(--r-sm); background: var(--c-paper-2); }
.prindustry-address-choice { padding: 14px 16px; border: 1.5px solid var(--c-line); border-radius: var(--r-md); background: var(--c-surface); }
.prindustry-address-choice:has(input:checked) { border-color: var(--c-blue-deep); background: var(--c-blue-tint); }
.prindustry-address-add > summary { color: var(--c-blue-deep); }

/* ---------- account ---------- */
.prindustry-account-header { align-items: center; margin-bottom: 28px; padding-bottom: 22px; border-bottom: 1px solid var(--c-line); }
.prindustry-account-greeting { font-size: var(--fs-2xl); }
.prindustry-account-email, .prindustry-account-muted { opacity: 1; color: var(--c-ink-soft); }
.prindustry-account-grid { gap: 20px; }
.prindustry-address { padding: 12px 14px; border: 1px solid var(--c-line); border-radius: var(--r-md); background: var(--c-paper); }
.prindustry-address.is-default { border-color: var(--c-blue-deep); }
.prindustry-address-badge { background: var(--c-blue-deep); color: #fff; }
.prindustry-field-grid label { opacity: 1; color: var(--c-ink); }
.prindustry-combobox-list, .prindustry-address-suggestions { border: 1px solid var(--c-line); border-radius: var(--r-md); box-shadow: var(--shadow-lg); }
.prindustry-combobox-list li:hover, .prindustry-combobox-list li.is-active, .prindustry-address-suggestions li:hover { background: var(--c-blue-tint); }
.prindustry-account-logout { color: var(--c-ink); }

/* ---------- orders ---------- */
.prindustry-orders { --prindustry-order-border: 1px solid var(--c-line); --prindustry-order-radius: var(--r-lg); --prindustry-order-bg: var(--c-surface); --prindustry-order-shadow: none; --prindustry-order-shadow-hover: var(--shadow);
  --prindustry-order-status-success-color: #1E6B3E; --prindustry-order-status-info-color: #7A4A00; --prindustry-order-status-danger-color: #B42318; }
.prindustry-order-number { font: 760 var(--fs-lg)/1.2 var(--f-display); font-stretch: 112%; }
.prindustry-order-date { opacity: 1; color: var(--c-ink-soft); }
.prindustry-order-total, .prindustry-order-item-price { font-variant-numeric: tabular-nums; }
.prindustry-orders-empty { padding: clamp(32px, 6vw, 64px); border: 1.5px dashed var(--c-line-strong); border-radius: var(--r-lg); background: var(--c-surface); text-align: left; }
.prindustry-orders-empty p { opacity: 1; color: var(--c-ink-soft); }
.prindustry-order-delivery, .prindustry-order-item-qty { opacity: 1; color: var(--c-ink-soft); }

/* ---------- custom products / grid (non-print categories) ---------- */
.prindustry-products { gap: 20px; }
.prindustry-product-card { padding: 20px; border: 1px solid var(--c-line); border-radius: var(--r-lg); background: var(--c-surface); }
.prindustry-categories .prindustry-category { border: 1.5px solid var(--c-line-strong); color: var(--c-ink); text-decoration: none; }
.prindustry-categories .prindustry-category.is-active { border-color: var(--c-ink); background: var(--c-ink); color: var(--c-paper); }

/* --- polish round 2 --- */
.prindustry-step-badge.is-done::before { content: ""; width: 14px; height: 14px; border: 0; transform: none; background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231D6F89' stroke-width='3.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m5 12.5 4.5 4.5L19 7.5'/%3E%3C/svg%3E") center / contain no-repeat; }
.prindustry-auth-panel p > br, .prindustry-account-form p > br, .prindustry-checkout-main p > br { display: none; }
.prindustry-auth-panel .prindustry-field-hint { display: block; margin-top: 8px; }
.prindustry-cart-summary small, .prindustry-cart-summary .prindustry-checkout-line small { color: var(--c-on-navy-soft); }
.prindustry-cart-summary .prindustry-checkout-line { border-color: rgba(245, 243, 238, .14); }
.prindustry-cart-item-printfile .prindustry-button, .prindustry-cart-item-printfile label.prindustry-button { border-radius: var(--r-md); }
.pd-price-note { margin: 0; padding: 12px 20px 14px; border-top: 1px solid var(--c-line); color: var(--c-ink-soft); font-size: var(--fs-xs); }
