:root {
  --ink: #292729;
  --paper: #f5f1e8;
  --paper-muted: #e8e2d5;
  --white: #fffdf8;
  --pink: #ec168c;
  --cyan: #0ca9df;
  --yellow: #ffe710;
  --line: rgba(41, 39, 41, .18);
  --shadow: 0 24px 70px rgba(41, 39, 41, .13);
}
* { box-sizing: border-box; }
.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}
html { scroll-behavior: smooth; }
body { margin: 0; background: var(--paper); color: var(--ink); font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; }
/* O painel usa uma base mais fria e escura para ficar visualmente distinto da loja. */
body.admin-body { background: #d5d9df; }
a { color: inherit; }
.site-header { position: sticky; top: 0; z-index: 80; background: rgba(245, 241, 232, .92); border-bottom: 1px solid var(--line); backdrop-filter: blur(14px); }
.site-header { max-width: 1240px; margin: 0 auto; padding: 24px 32px; display: flex; align-items: center; justify-content: space-between; }
.brand { display: flex; align-items: center; gap: 13px; text-decoration: none; font-weight: 800; letter-spacing: -.02em; }
.brand img { width: 116px; height: 54px; object-fit: contain; object-position: left center; }
.brand span { border-left: 1px solid var(--line); padding-left: 13px; font-size: 13px; text-transform: uppercase; letter-spacing: .18em; }
nav { display: flex; align-items: center; gap: 26px; font-size: 14px; font-weight: 650; }
nav > a { text-decoration: none; }
.button { display: inline-flex; align-items: center; justify-content: center; padding: 13px 20px; border-radius: 99px; text-decoration: none; font-weight: 800; }
.button-dark { color: white; background: var(--ink); }
.button-primary { color: var(--ink); background: var(--yellow); box-shadow: 5px 5px 0 var(--ink); }
.button-cyan { color: white; background: var(--cyan); box-shadow: 4px 4px 0 var(--ink); }
.button-outline { border: 1px solid var(--line); color: var(--ink); background: white; }
.button-danger { border: 1px solid #d62828; color: white; background: #d62828; }
.button-whatsapp { gap: 8px; border: 1px solid #1db954; color: white; background: #25d366; box-shadow: 4px 4px 0 rgba(41,39,41,.22); }
.button-whatsapp:hover, .button-whatsapp:focus-visible { background: #1ebe5d; color: white; outline: none; transform: translateY(-1px); }
.button:disabled { cursor: not-allowed; opacity: .45; box-shadow: none; }
.hero { max-width: 1240px; margin: 0 auto; padding: 36px 32px 44px; display: grid; grid-template-columns: 1.25fr .75fr; gap: 36px; align-items: center; min-height: 430px; }
.home-banner-carousel { position: relative; display: grid; grid-template-columns: minmax(0, 1fr) 178px; gap: 12px; max-width: 1240px; margin: 8px auto 0; padding: 0 32px; align-items: stretch; }
.home-banner-main { position: relative; min-width: 0; }
.home-banner-track { display: flex; overflow: hidden; scroll-snap-type: x mandatory; border: 2px solid var(--ink); border-radius: 22px; background: var(--white); box-shadow: 6px 6px 0 var(--pink); }
.home-banner-slide { flex: 0 0 100%; scroll-snap-align: start; }
.home-banner-slide a, .home-banner-slide img { display: block; width: 100%; }
.home-banner-slide img { aspect-ratio: 1200 / 260; height: auto; object-fit: cover; }
.home-banner-thumbs { display: grid; grid-template-rows: repeat(3, 1fr); gap: 8px; height: 100%; max-height: 100%; overflow: hidden; }
.home-banner-thumbs button { min-height: 0; padding: 0; border: 2px solid var(--line); border-radius: 14px; background: var(--white); cursor: pointer; overflow: hidden; opacity: .72; transition: opacity .16s ease, border-color .16s ease, transform .16s ease; }
.home-banner-thumbs button:hover,
.home-banner-thumbs button:focus-visible,
.home-banner-thumbs button.active { border-color: var(--pink); opacity: 1; outline: none; transform: translateY(-1px); }
.home-banner-thumbs img { display: block; width: 100%; height: 100%; object-fit: cover; }
.home-banner-arrow { position: absolute; top: 50%; z-index: 4; width: 32px; height: 32px; transform: translateY(-50%); border: 2px solid var(--ink); border-radius: 999px; background: var(--white); color: var(--ink); cursor: pointer; font-size: 24px; line-height: 1; box-shadow: 3px 3px 0 var(--ink); }
.home-banner-arrow.prev { left: 18px; }
.home-banner-arrow.next { right: 18px; }
.home-banner-dots { position: absolute; left: 50%; bottom: 9px; display: flex; gap: 6px; transform: translateX(-50%); }
.home-banner-dots span { width: 8px; height: 8px; border-radius: 999px; background: rgba(255,255,255,.62); border: 1px solid rgba(41,39,41,.3); }
.home-banner-dots span.active { width: 22px; background: var(--yellow); }
.notice-modal-backdrop { position: fixed; inset: 0; z-index: 1000; display: grid; place-items: center; padding: 24px; background: rgba(41,39,41,.58); }
.notice-modal-backdrop--site { z-index: 1001; justify-items: center; align-items: center; }
.notice-modal-backdrop--status { z-index: 1002; justify-items: end; align-items: center; padding-right: clamp(16px, 4vw, 48px); background: rgba(41,39,41,.42); }
.notice-modal-backdrop + .notice-modal-backdrop { pointer-events: auto; }
.notice-modal--status-orders { width: min(680px, 100%); }
.status-order-notice-lead { margin: 0 0 12px; color: #5d585b; line-height: 1.6; }
.status-order-notice-list { display: grid; gap: 14px; margin: 0; padding: 0; list-style: none; }
.status-order-notice-item { display: grid; gap: 10px; padding: 14px; border: 1px solid var(--line); border-radius: 16px; background: #fffaf0; }
.status-order-notice-item-head { display: grid; gap: 4px; }
.status-order-notice-item h3 { margin: 0; font-size: 18px; letter-spacing: -.02em; }
.status-order-notice-item p:last-child { margin-bottom: 0; }
.status-order-notice-image { width: 100%; max-height: 220px; object-fit: contain; border-radius: 12px; background: #f4f0e8; }
.status-order-notice-item .button { width: fit-content; min-width: 0; }
@media (max-width: 980px) {
  .notice-modal-backdrop--site,
  .notice-modal-backdrop--status { justify-items: center; padding: 16px; }
}
.notice-modal { position: relative; display: grid; gap: 18px; width: min(620px, 100%); max-height: calc(100vh - 48px); overflow: auto; padding: 28px; border: 2px solid var(--ink); border-radius: 24px; background: var(--white); box-shadow: 12px 12px 0 var(--yellow); }
.notice-modal img { width: 100%; max-height: 320px; object-fit: contain; border-radius: 16px; background: #f4f0e8; }
.notice-modal h2 { margin: 0; font-size: clamp(18px, 2.2vw, 24px); letter-spacing: -.025em; }
.notice-modal p:last-child { margin-bottom: 0; color: #5d585b; line-height: 1.65; }
.notice-close { position: absolute; top: 12px; right: 12px; display: grid; place-items: center; width: 34px; height: 34px; border: 1px solid var(--line); border-radius: 999px; background: white; cursor: pointer; font-size: 24px; line-height: 1; }
.notice-modal--pure-image { width: fit-content; max-width: min(560px, calc(100% - 60px)); max-height: none; padding: 0; gap: 0; border: 0; border-radius: 0; background: transparent; box-shadow: none; overflow: visible; }
.notice-modal--pure-image img { width: auto; max-width: min(560px, calc(100vw - 108px)); height: auto; max-height: 320px; background: transparent; }
.notice-modal--pure-image .notice-close { top: 6px; right: 6px; z-index: 2; }
.eyebrow { margin: 0 0 18px; color: #696368; text-transform: uppercase; letter-spacing: .2em; font-size: 12px; font-weight: 900; }
h1 { max-width: 780px; margin: 0; font-size: clamp(52px, 6.6vw, 92px); line-height: .93; letter-spacing: -.065em; }
h1 em { color: var(--pink); font-family: Georgia, serif; font-weight: 500; }
.hero h1 { font-size: clamp(34px, 5vw, 64px); line-height: .96; }
.hero .eyebrow { margin-bottom: 10px; }
.hero-text { max-width: 660px; margin: 16px 0; font-size: 16px; line-height: 1.45; color: #5c575b; }
.hero-actions { display: flex; align-items: center; gap: 16px; font-size: 12px; font-weight: 700; }
.hero-actions .button { padding: 11px 17px; }
.calculator-card { position: relative; padding: 18px; border: 2px solid var(--ink); border-radius: 22px; background: var(--white); box-shadow: 9px 9px 0 var(--cyan); transform: rotate(1deg); }
.calculator-top, .area-row, .price-row { display: flex; align-items: center; justify-content: space-between; }
.calculator-top { padding-bottom: 12px; border-bottom: 1px solid var(--line); text-transform: uppercase; letter-spacing: .13em; font-size: 10px; font-weight: 900; }
.calculator-top strong { font-size: 18px; color: var(--pink); }
.calculator-card h2 { margin: 14px 0 12px; font-size: 15px; letter-spacing: -.025em; }
.measure-row { display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; gap: 8px; }
.measure-row span { padding: 12px; border: 1px solid var(--line); border-radius: 10px; background: #f5f3ee; font-weight: 800; text-align: center; }
.measure-fields { display: grid; gap: 12px; }
.measure-unit-field select { font-weight: 750; }
.measure-fields label span[data-measure-unit-label] { color: #777174; font-weight: 700; }
.measure-rule-hint { display: block; margin-top: 3px; color: #777174; font-size: 11px; font-weight: 750; line-height: 1.25; }
.measure-rule-builder { display: grid; gap: 10px; }
.measure-rule-picker { display: grid; grid-template-columns: minmax(180px, 320px) auto; gap: 10px; align-items: end; }
.measure-rule-picker .button { width: fit-content; min-height: 38px; padding: 9px 14px; }
.measure-rule-list { display: grid; gap: 8px; }
.measure-rule-row { display: grid; grid-template-columns: minmax(160px, 33%) auto; gap: 10px; align-items: end; }
.measure-rule-row label { margin: 0; }
.measure-rule-row .button { width: fit-content; min-height: 36px; padding: 8px 13px; }
.product-tier-editor { display: grid; gap: 10px; }
.product-tier-editor-head,
.product-tier-row { display: grid; grid-template-columns: minmax(120px, .7fr) minmax(150px, 1fr) auto; gap: 10px; align-items: end; }
.product-tier-editor[data-quantity-cost-mode="from"] .product-tier-editor-head,
.product-tier-editor[data-quantity-cost-mode="from"] .product-tier-row { grid-template-columns: minmax(110px, .65fr) minmax(110px, .65fr) minmax(150px, 1fr) auto; }
.product-tier-editor-head { color: var(--muted); font-size: 11px; font-weight: 850; text-transform: uppercase; }
.product-tier-row { padding: 12px; border: 1px solid var(--line); border-radius: 8px; background: #faf8f3; }
.product-tier-row label { margin: 0; }
.product-tier-row .link-danger { align-self: center; white-space: nowrap; }
.area-row { margin-top: 12px; padding: 12px 0; border-bottom: 1px solid var(--line); }
.price-row { padding: 14px 0 6px; }
.price-row strong { font-size: 22px; }
.calculator-card > p { margin: 7px 0 0; color: #777174; font-size: 11px; line-height: 1.35; }
.trust-strip { border-block: 1px solid var(--line); display: grid; grid-template-columns: repeat(3, 1fr); max-width: 1180px; margin: 0 auto; }
.trust-strip span { padding: 16px; text-align: center; font-size: 13px; font-weight: 800; }
.trust-strip b { color: var(--pink); margin-right: 9px; }
.products-section, .how { max-width: 1240px; margin: 0 auto; padding: 64px 32px; }
.products-section--compact { padding-top: 32px; }
.products-section--no-heading { padding-top: 32px; }
.section-heading { display: flex; justify-content: space-between; align-items: end; margin-bottom: 22px; }
.section-heading h2, .how h2 { margin: 0; font-size: clamp(19px, 2.5vw, 34px); line-height: 1.08; letter-spacing: -.035em; }
.section-heading > p { max-width: 380px; line-height: 1.45; color: #696368; }
.product-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; }
.product-card { position: relative; display: flex; flex-direction: column; overflow: hidden; border: 1px solid var(--line); border-radius: 18px; background: var(--white); transition: transform .2s ease, box-shadow .2s ease; }
.product-card[data-card-link] { cursor: pointer; }
.product-card:hover, .product-card:focus-visible { transform: translateY(-6px); box-shadow: var(--shadow); }
.product-card:focus-visible { outline: 3px solid rgba(12, 169, 223, .28); outline-offset: 4px; }
.product-art { display: grid; flex: 0 0 auto; place-items: center; overflow: hidden; min-height: 160px; border-bottom: 1px solid var(--line); }
.product-art:not(.has-image) { height: 160px; }
.product-art.has-image { height: auto; }
.product-art span { font-size: 62px; font-weight: 950; letter-spacing: -.08em; color: rgba(41,39,41,.82); }
.product-art.cyan { background: var(--cyan); }
.product-art.yellow { background: var(--yellow); }
.product-art.pink { background: var(--pink); }
.product-art.has-image,
.product-art.cyan:has(img),
.product-art.yellow:has(img),
.product-art.pink:has(img) { background: var(--paper-muted); }
.product-body { position: relative; z-index: 1; display: flex; flex: 1 1 auto; flex-direction: column; padding: 14px; background: var(--white); }
.product-body > p { margin: 0 0 7px; color: #756f73; font-size: 10px; font-weight: 800; text-transform: uppercase; letter-spacing: .08em; line-height: 1.25; }
.product-body h3 { min-height: 42px; margin: 0; font-size: 16px; line-height: 1.18; letter-spacing: -.025em; }
.product-price { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: flex-end; gap: 5px; margin: 12px 0; }
.product-card .product-price { flex: 0 0 auto; margin-top: auto; padding-top: 12px; }
.product-price span { font-size: 11px; color: #756f73; }
.product-price strong { font-size: 18px; }
.product-price .price-unit-suffix, .config-head .price-unit-suffix { color: #756f73; font-size: 12px; font-weight: 850; white-space: nowrap; }
.price-login-lock strong { display: inline-flex; align-items: center; justify-content: center; padding: 8px 12px; border-radius: 999px; background: var(--ink); color: white; font-size: 14px; text-transform: uppercase; letter-spacing: .04em; }
.product-card-actions { display: grid; flex: 0 0 auto; gap: 8px; padding-top: 10px; border-top: 1px solid var(--line); }
.product-card .button { padding: 9px 12px; font-size: 12px; }
.product-config-link { width: 100%; justify-content: space-between; }
.catalog-pagination { display: flex; align-items: center; justify-content: center; gap: 10px; margin: 26px 0 0; color: #625c60; font-size: 13px; font-weight: 850; }
.catalog-pagination a { display: grid; place-items: center; width: 42px; height: 42px; border: 1px solid var(--line); border-radius: 999px; background: white; color: var(--ink); text-decoration: none; font-size: 30px; line-height: 1; box-shadow: 3px 3px 0 #eee7dc; }
.catalog-pagination a:hover { border-color: var(--cyan); }
.catalog-pagination a.is-disabled { opacity: .35; pointer-events: none; }
.catalog-pagination strong { color: var(--ink); }
.favorite-form { margin: 0; }
.favorite-form button { display: inline-grid; place-items: center; width: 38px; height: 38px; border: 1px solid var(--line); border-radius: 999px; background: white; color: #7b7479; cursor: pointer; font-size: 24px; line-height: 1; box-shadow: 0 8px 24px rgba(41,39,41,.12); }
.favorite-form button:hover, .favorite-form button:focus-visible, .favorite-form button.is-favorite { border-color: var(--pink); background: var(--pink); color: white; outline: none; }
.product-card-favorite { position: absolute; top: 8px; right: 8px; z-index: 3; }
.product-characteristics { display: grid; gap: 5px; margin: 9px 0 0; }
.product-characteristics div { display: grid; grid-template-columns: 5.6rem minmax(0, 1fr); gap: 6px; align-items: baseline; font-size: 11px; line-height: 1.25; }
.product-characteristics dt { margin: 0; color: var(--ink); font-weight: 850; }
.product-characteristics dd { margin: 0; color: #625c60; }
.product-characteristics-detail { margin: 6px 0 16px; gap: 6px; }
.product-characteristics-detail div { grid-template-columns: 8.5rem minmax(0, 1fr); font-size: 13px; padding-bottom: 5px; border-bottom: 1px solid var(--line); }
.product-template-actions { display: grid; gap: 8px; }
.product-template-link, .product-template-menu summary { display: inline-flex; align-items: center; justify-content: center; width: 100%; min-height: 42px; padding: 10px 14px; border: 1px solid var(--line); border-radius: 11px; background: white; color: var(--ink); font-size: 13px; font-weight: 850; text-decoration: none; cursor: pointer; }
.product-template-menu { position: relative; }
.product-template-menu summary { list-style: none; }
.product-template-menu summary::-webkit-details-marker { display: none; }
.product-template-menu-list { position: absolute; left: 0; right: 0; z-index: 5; display: grid; margin-top: 6px; padding: 8px; border: 1px solid var(--line); border-radius: 12px; background: white; box-shadow: var(--shadow); }
.product-template-menu-list a { padding: 10px 12px; border-radius: 8px; color: var(--ink); font-size: 13px; font-weight: 750; text-decoration: none; }
.product-template-menu-list a:hover { background: #f4f0e8; }
.product-detail .product-template-actions { margin: 0 0 28px; max-width: 320px; }
.product-card .product-template-link,
.product-card .product-template-menu summary { min-height: 36px; padding: 8px 11px; border-radius: 10px; font-size: 12px; }
.how { background: var(--ink); color: white; max-width: none; padding-inline: max(32px, calc((100vw - 1176px) / 2)); }
.how .eyebrow { color: #bcb6ba; }
.how ol { list-style: none; padding: 50px 0 0; margin: 0; display: grid; grid-template-columns: repeat(3, 1fr); }
.how li { display: flex; flex-direction: column; gap: 10px; padding: 28px; border: 1px solid rgba(255,255,255,.18); }
.how li:first-child { border-radius: 18px 0 0 18px; }
.how li:last-child { border-radius: 0 18px 18px 0; }
.how li b { font-size: 25px; color: var(--yellow); }
.how li span { color: #c9c3c7; line-height: 1.6; }
.site-footer { padding: 16px 32px; display: grid; grid-template-columns: minmax(220px, 1fr) minmax(260px, auto) auto; gap: 12px; align-items: center; max-width: 1240px; margin: auto; color: #696368; font-size: 11px; }
.site-footer > div { display: grid; gap: 3px; }
.footer-links { justify-content: center; gap: 9px; flex-wrap: wrap; font-size: 11px; }
.footer-links a { text-decoration: none; font-weight: 800; }
.footer-links a:hover { color: var(--pink); }
.social-links { justify-content: end; gap: 8px; }
.social-icon { display: inline-grid; place-items: center; width: 28px; height: 28px; border: 1px solid var(--line); border-radius: 999px; background: var(--white); color: var(--ink); text-decoration: none; line-height: 0; transition: transform .16s ease, box-shadow .16s ease; }
.social-icon svg { width: 15px; height: 15px; }
.social-icon svg { display: block; }
.social-icon.social-instagram { color: #e4405f; }
.social-icon.social-facebook { color: #1877f2; }
.social-icon.social-whatsapp { color: #25d366; }
.social-icon.social-youtube { color: #ff0000; }
.social-icon.social-tiktok { color: #010101; }
.social-icon.social-linkedin { color: #0a66c2; }
.social-icon.social-x { color: #000000; }
.social-icon:hover, .social-icon:focus-visible { transform: translateY(-1px); box-shadow: 0 8px 20px rgba(41, 39, 41, .12); outline: none; }
.whatsapp-float { position: fixed; right: 22px; bottom: 22px; z-index: 70; display: grid; place-items: center; width: 58px; height: 58px; border: 2px solid white; border-radius: 999px; background: #25d366; color: white; text-decoration: none; line-height: 0; box-shadow: 0 16px 38px rgba(37, 211, 102, .34); transition: transform .16s ease; }
.whatsapp-float__icon { display: block; }
.whatsapp-float:hover, .whatsapp-float:focus-visible { transform: translateY(-2px); outline: none; }
.back-to-top { position: fixed; right: 26px; bottom: 96px; z-index: 69; display: grid; place-items: center; width: 48px; height: 48px; border: 2px solid var(--ink); border-radius: 999px; background: var(--yellow); color: var(--ink); font-size: 26px; font-weight: 950; line-height: 1; text-decoration: none; box-shadow: 5px 5px 0 var(--ink); opacity: 0; pointer-events: none; transform: translateY(10px); transition: opacity .18s ease, transform .18s ease; }
.back-to-top.is-visible { opacity: 1; pointer-events: auto; transform: translateY(0); }
.back-to-top:hover, .back-to-top:focus-visible { transform: translateY(-2px); outline: none; }
body.admin-body .back-to-top { display: none; }
body:not(:has(.whatsapp-float)) .back-to-top { bottom: 26px; }
.legacy-page .page-title { margin-bottom: 24px; }
.legacy-content { padding: 30px; border: 1px solid var(--line); border-radius: 22px; background: var(--white); box-shadow: var(--shadow); color: #3f3a3e; line-height: 1.65; overflow-wrap: normal; word-break: normal; -webkit-hyphens: auto; hyphens: auto; }
.legacy-content .lead { font-size: 20px; line-height: 1.65; color: #625c60; }
.legacy-content h1 { font-size: clamp(19px, 2.5vw, 30px); }
.legacy-content h2 { font-size: clamp(18px, 2.2vw, 24px); }
.legacy-content img { max-width: 100%; height: auto; border-radius: 10px; }
.legacy-content a { color: #057fac; font-weight: 800; overflow-wrap: anywhere; }
.legacy-content table { max-width: 100%; overflow: auto; border-collapse: collapse; }
.legacy-content li { margin: 6px 0; }
.settings-list { display: grid; gap: 14px; }
.settings-list-row { display: grid; grid-template-columns: 130px minmax(170px, 1.2fr) minmax(170px, 1.2fr) 88px auto auto; gap: 10px; align-items: end; padding: 12px; border: 1px solid var(--line); border-radius: 14px; background: #fffaf0; }
.settings-list-row img { width: 130px; height: 62px; object-fit: cover; border: 1px solid var(--line); border-radius: 10px; background: white; }
.notice-settings-row { grid-template-columns: 100px minmax(150px, .9fr) minmax(220px, 1.2fr) minmax(210px, 1fr) auto auto; }
.notice-settings-row img { width: 100px; height: 70px; object-fit: contain; }
.danger-check { color: #b42318; }
.settings-social-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.social-setting-card { display: grid; gap: 10px; padding: 12px; border: 1px solid var(--line); border-radius: 14px; background: #fffaf0; }
.social-setting-label { display: inline-flex; align-items: center; gap: 8px; }
.social-setting-label svg { display: block; flex: 0 0 auto; }
.social-setting-card .social-instagram { color: #e4405f; }
.social-setting-card .social-facebook { color: #1877f2; }
.social-setting-card .social-whatsapp { color: #25d366; }
.social-setting-card .social-youtube { color: #ff0000; }
.social-setting-card .social-tiktok { color: #010101; }
.social-setting-card .social-linkedin { color: #0a66c2; }
.social-setting-card .social-x { color: #000000; }
.skip-link { position: fixed; left: 16px; top: -80px; z-index: 100; padding: 12px 16px; background: var(--ink); color: white; border-radius: 8px; }
.skip-link:focus { top: 16px; }
button, input, select, textarea { font: inherit; }
button { color: inherit; }
input, select, textarea { width: 100%; border: 1px solid var(--line); border-radius: 11px; background: #fff; padding: 13px 14px; color: var(--ink); }
input:focus, select:focus, textarea:focus { outline: 3px solid rgba(12, 169, 223, .22); border-color: var(--cyan); }
label { display: grid; gap: 8px; color: #524e51; font-size: 13px; font-weight: 800; }
label > span { color: #7b7479; font-size: 11px; font-weight: 650; }
.password-field { position: relative; display: block; }
.password-field input { padding-right: 50px; }
.password-field button { position: absolute; top: 50%; right: 9px; transform: translateY(-50%); display: grid; place-items: center; width: 34px; height: 34px; border: 0; border-radius: 9px; background: #f0ede6; color: var(--ink); cursor: pointer; line-height: 1; }
.password-field button:hover, .password-field button:focus-visible { background: var(--cyan); color: white; outline: none; }
.password-eye-icon { width: 22px; height: 22px; fill: none; stroke: currentColor; stroke-width: 1.65; stroke-linecap: round; stroke-linejoin: round; }
.password-eye-icon .eye-pupil { fill: currentColor; stroke: none; }
.password-eye-icon .eye-slash { opacity: 0; transition: opacity .15s ease; }
.password-field button[aria-pressed="true"] .eye-slash { opacity: 1; }
textarea { resize: vertical; }
.nav-form { margin: 0; }
.nav-form button { border: 0; background: transparent; padding: 0; font-weight: 650; cursor: pointer; }
.account-menu { position: relative; display: inline-flex; align-items: center; }
.account-menu-trigger { padding: 10px 0; text-decoration: none; }
.account-menu-trigger::after { content: "⌄"; margin-left: 6px; font-size: 12px; }
.account-menu-dropdown { position: absolute; top: calc(100% + 10px); right: 0; z-index: 220; display: grid; min-width: 230px; padding: 10px; border: 1px solid var(--line); border-radius: 18px; background: var(--white); box-shadow: var(--shadow); opacity: 0; visibility: hidden; transform: translateY(-6px); transition: opacity .16s ease, transform .16s ease, visibility .16s ease; }
.account-menu:hover .account-menu-dropdown,
.account-menu:focus-within .account-menu-dropdown,
.account-menu.is-open .account-menu-dropdown { opacity: 1; visibility: visible; transform: translateY(0); }
.account-menu-dropdown > span { padding: 9px 11px 11px; border-bottom: 1px solid var(--line); color: #777174; font-size: 12px; font-weight: 850; }
.account-menu-dropdown > a,
.account-menu-logout button { display: flex; width: 100%; align-items: center; justify-content: flex-start; padding: 10px 11px; border-radius: 11px; color: var(--ink); text-align: left; text-decoration: none; font-size: 13px; font-weight: 800; }
.account-menu-dropdown > a:hover,
.account-menu-dropdown > a:focus-visible,
.account-menu-logout button:hover,
.account-menu-logout button:focus-visible { background: #f4efe7; outline: none; }
.account-menu-logout { margin-top: 4px; padding-top: 6px; border-top: 1px solid var(--line); }
.account-menu-logout button { color: var(--pink); }
.cart-link { display: flex; align-items: center; gap: 8px; padding: 10px 13px; border: 1px solid var(--line); border-radius: 99px; }
.cart-link strong { display: grid; place-items: center; min-width: 22px; height: 22px; border-radius: 99px; background: var(--pink); color: white; font-size: 11px; }
.button { border: 0; cursor: pointer; }
.button-full { width: 100%; }
.flash-stack { position: fixed; top: 126px; right: 22px; z-index: 130; display: grid; gap: 8px; width: min(420px, calc(100vw - 32px)); }
.flash { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: start; gap: 12px; padding: 14px 12px 14px 18px; border: 1px solid var(--ink); border-radius: 12px; background: white; box-shadow: var(--shadow); font-size: 14px; font-weight: 750; transition: opacity .2s ease, transform .2s ease; }
.flash.is-hiding { opacity: 0; transform: translateY(-6px); pointer-events: none; }
.flash button { display: grid; place-items: center; width: 28px; height: 28px; margin-top: -4px; border: 1px solid var(--line); border-radius: 999px; background: #fffaf0; color: var(--ink); cursor: pointer; font-size: 22px; line-height: 1; }
.flash button:hover, .flash button:focus-visible { border-color: var(--ink); background: var(--ink); color: white; outline: none; }
.flash-success { border-left: 8px solid #22a26b; }
.flash-warning { border-left: 8px solid var(--yellow); }
.flash-error { border-left: 8px solid var(--pink); }
.impersonation-bar { position: sticky; top: 0; z-index: 45; display: flex; align-items: center; justify-content: center; gap: 14px; padding: 10px 18px; border-block: 1px solid rgba(41,39,41,.22); background: var(--yellow); color: var(--ink); font-size: 13px; font-weight: 850; }
.impersonation-bar form { margin: 0; }
.impersonation-bar button { padding: 7px 12px; border: 1px solid var(--ink); border-radius: 999px; background: var(--ink); color: white; cursor: pointer; font-size: 12px; font-weight: 900; }
.construction-mode-bar { position: sticky; top: 0; z-index: 70; display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 10px 18px; padding: 10px 18px; border-bottom: 2px solid var(--ink); background: repeating-linear-gradient(135deg, #ffe710 0 14px, #fff6a8 14px 28px); color: var(--ink); text-align: center; font-size: 13px; font-weight: 900; box-shadow: 0 8px 24px rgba(41,39,41,.12); }
.construction-mode-bar small { font-size: 12px; font-weight: 750; }
.construction-page { display: grid; place-items: center; min-height: 68vh; padding: 48px 20px 90px; }
.construction-card { width: min(720px, 100%); padding: clamp(28px, 5vw, 54px); border: 2px solid var(--ink); border-radius: 28px; background: var(--white); box-shadow: 10px 10px 0 var(--yellow); text-align: center; }
.construction-card h1 { margin: 0 0 14px; font-size: clamp(19px, 3vw, 31px); letter-spacing: -.035em; }
.construction-card p { color: #706a6e; font-size: 17px; line-height: 1.65; }
.construction-message.legacy-content { margin: 18px 0 0; padding: 0; border: 0; box-shadow: none; background: transparent; text-align: center; }
.construction-message.legacy-content p { margin: 0 0 0.8em; }
.construction-legacy-link { display: grid; gap: 8px; margin: 22px auto 0; padding: 16px 18px; border: 1px solid rgba(5, 127, 172, .28); border-radius: 18px; background: #eefaff; text-align: left; }
.construction-legacy-link span { color: #057fac; font-size: 12px; font-weight: 900; letter-spacing: .08em; text-transform: uppercase; }
.construction-legacy-link a { color: var(--ink); font-weight: 900; overflow-wrap: anywhere; }
.construction-actions { display: flex; flex-wrap: wrap; justify-content: center; gap: 12px; margin-top: 26px; }
.catalog-toolbar { display: grid; grid-template-columns: auto minmax(220px, 330px) auto; justify-content: end; align-items: center; gap: 10px; margin: 0 0 14px; }
.catalog-toolbar > label { font-size: 11px; }
.catalog-toolbar input { min-height: 34px; padding: 8px 10px; border-radius: 9px; background: rgba(255,255,255,.7); font-size: 12px; }
.catalog-page-size { display: flex; align-items: center; gap: 5px; margin: 0; }
.catalog-page-size span { color: #625c60; font-size: 11px; font-weight: 850; white-space: nowrap; }
.catalog-page-size a { display: inline-flex; align-items: center; justify-content: center; min-width: 30px; min-height: 30px; padding: 6px 8px; border: 1px solid var(--line); border-radius: 999px; background: rgba(255,255,255,.78); color: var(--ink); font-size: 11px; font-weight: 900; text-decoration: none; }
.catalog-page-size a:hover,
.catalog-page-size a:focus-visible,
.catalog-page-size a.active { border-color: var(--ink); background: var(--ink); color: white; outline: none; }
.catalog-layout { display: grid; grid-template-columns: 238px minmax(0, 1fr); gap: 14px; align-items: start; }
.catalog-sidebar { position: sticky; top: 20px; display: grid; gap: 9px; }
.catalog-main { display: grid; gap: 14px; min-width: 0; }
.catalog-characteristic-filters { grid-template-columns: repeat(5, minmax(0, 1fr)); align-items: start; gap: 4px 6px; padding: 5px 7px; }
.catalog-characteristic-filters > .filter-clear-link { grid-column: 1 / -1; margin: 0 0 1px; font-size: 10px; }
.catalog-characteristic-filters > label { min-width: 0; gap: 2px; padding: 1px 0; font-size: 10px; line-height: 1.2; overflow-wrap: anywhere; }
.catalog-characteristic-filters select { width: 100%; min-width: 0; padding: 5px 6px; border-radius: 7px; font-size: 11px; }
.catalog-filter-panel, .category-panel { display: grid; gap: 5px; padding: 9px; border: 1px solid var(--line); border-radius: 14px; background: rgba(255,253,248,.72); }
.catalog-filter-panel h3 { margin: 0 0 6px; padding: 4px 2px 8px; border-bottom: 1px solid var(--line); font-size: 13px; letter-spacing: -.015em; }
.filter-clear-link { width: fit-content; padding: 2px; color: #8d2670; font-size: 11px; font-weight: 900; text-decoration: underline; }
.catalog-filter-panel label { gap: 5px; padding: 7px 2px; font-size: 11px; }
.catalog-filter-panel select { padding: 9px 10px; border-radius: 9px; font-size: 12px; }
.favorite-panel { background: #fff8df; }
.favorite-empty { margin: 2px; color: #776f62; font-size: 12px; line-height: 1.45; }
.favorite-filter-button { display: flex; align-items: center; justify-content: center; width: 100%; padding: 10px 12px; border-radius: 10px; background: var(--ink); color: white; text-decoration: none; font-size: 12px; font-weight: 850; text-align: center; }
.favorite-filter-button:hover, .favorite-filter-button:focus-visible { background: var(--pink); outline: none; }
.favorite-filter-button.is-active { background: var(--pink); }
.favorite-side-list { display: grid; gap: 4px; }
.favorite-side-list a { padding: 8px 10px; border-radius: 10px; color: var(--ink); text-decoration: none; font-size: 12px; font-weight: 850; }
.favorite-side-list a:hover, .favorite-side-list a:focus-visible { background: var(--yellow); outline: none; }
.category-panel a { display: flex; justify-content: space-between; gap: 10px; padding: 11px 12px; border-radius: 10px; color: var(--ink); text-decoration: none; font-size: 12px; font-weight: 850; }
.category-panel a:hover, .category-panel a.active { background: var(--ink); color: white; }
.category-panel a.depth-1 { padding-left: 28px; font-weight: 750; }
.category-panel a.depth-2 { padding-left: 42px; font-weight: 700; }
.category-panel b { color: inherit; opacity: .65; }
.product-meta { display: flex; flex-wrap: wrap; gap: 5px; margin-top: 7px; color: #777174; font-size: 10px; }
.product-meta span { padding: 4px 7px; border-radius: 99px; background: #f0ede6; }
.page-shell { max-width: 1240px; min-height: 65vh; margin: 0 auto; padding: 65px 32px 110px; }
.narrow-shell { max-width: 1120px; }
.page-shell--compact { padding-top: 36px; padding-bottom: 64px; }
.page-shell--compact .page-title { margin-bottom: 26px; }
.page-shell--compact .back-link { margin-bottom: 22px; }
.back-link { display: inline-block; margin-bottom: 36px; color: #666064; font-size: 13px; font-weight: 800; text-decoration: none; }
.page-title { display: flex; align-items: end; justify-content: space-between; gap: 30px; margin-bottom: 46px; }
.page-title h1, .product-detail h1, .auth-intro h1, .order-hero h1, .legal-page h1, .message-card h1 { margin: 0; font-size: clamp(22px, 3vw, 39px); line-height: 1.05; letter-spacing: -.04em; }
.product-detail h1 { font-size: clamp(18px, 2vw, 26px); line-height: 1.15; letter-spacing: -.025em; }
.product-detail-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 18px; width: 100%; margin: 0 0 22px; padding: 16px 18px; border: 1px solid var(--line); border-radius: 22px; background: rgba(255,255,255,.74); box-shadow: 5px 5px 0 rgba(12, 20, 31, .06); }
.product-detail-heading-text { min-width: 0; flex: 1 1 auto; }
.product-detail-heading h1 { max-width: 100%; font-size: clamp(18px, 1.75vw, 25px); line-height: 1.12; }
.product-detail-heading .eyebrow { margin: 7px 0 0; }
.product-detail-heading-actions { display: flex; flex: 0 0 auto; align-items: center; justify-content: flex-end; flex-wrap: wrap; gap: 10px; }
.product-title-row { display: flex; align-items: start; justify-content: space-between; gap: 18px; }
.product-title-row h1 { flex: 1 1 auto; }
.product-detail-favorite { flex: 0 0 auto; margin-top: 4px; }
.product-detail-heading .product-detail-favorite { margin-top: 0; }
.product-admin-edit-link { flex: 0 0 auto; margin-top: 4px; white-space: nowrap; }
.product-detail-heading .product-admin-edit-link { margin-top: 0; }
.page-title > a { font-weight: 800; }
.page-title > span { color: #6c666a; }
.product-detail-grid { display: grid; grid-template-columns: 1.08fr .72fr; gap: 68px; align-items: start; }
.product-detail { padding-top: 38px; }
.product-detail > .back-link { margin-bottom: 20px; }
.product-detail .lead { max-width: 690px; margin: 16px 0; color: #625c60; font-size: 17px; line-height: 1.5; }
.rich-content { overflow-wrap: normal; word-break: normal; -webkit-hyphens: auto; hyphens: auto; }
.rich-content a { overflow-wrap: anywhere; }
.product-description { width: 100%; max-width: 690px; margin: 14px 0 16px; padding: 12px 14px; border: 1px solid var(--line); border-radius: 14px; background: rgba(255,255,255,.72); box-shadow: 4px 4px 0 rgba(12, 20, 31, .05); color: #625c60; font-size: 13px; line-height: 1.35; }
.product-description p { margin: 0 0 0.35em; }
.product-description p:last-child { margin-bottom: 0; }
.product-description .lead { font-size: 15px; line-height: 1.4; color: #625c60; }
.product-description h2 { font-size: clamp(15px, 1.6vw, 18px); margin: 0.85em 0 0.35em; }
.product-description h3 { font-size: clamp(14px, 1.5vw, 16px); margin: 0.7em 0 0.3em; }
.product-description > :first-child { margin-top: 0; }
.product-description img { max-width: 100%; height: auto; border-radius: 8px; }
.product-description a { color: #057fac; font-weight: 800; }
.product-description ul, .product-description ol { margin: 0.45em 0; padding-left: 1.25em; }
.product-description li { margin: 3px 0; }
.product-description-extra { margin-top: 0.75em; }
.spec-list { display: grid; grid-template-columns: repeat(3, 1fr); margin: 22px 0; border-block: 1px solid var(--line); }
.spec-list span { padding: 12px 10px; display: grid; gap: 4px; color: #6f696d; font-size: 12px; }
.spec-list b { color: var(--ink); }
.spec-list [data-production-days-display] { padding: 0; display: inline; color: inherit; font-size: inherit; font-style: normal; font-weight: inherit; }
.artwork-note { margin-top: 20px; padding: 16px 18px; border-left: 6px solid var(--cyan); background: rgba(255,255,255,.55); }
.artwork-note p { margin: 8px 0 0; line-height: 1.6; color: #625c60; }
.artwork-note .rich-content p { margin: 8px 0 0; line-height: 1.6; color: #625c60; }
.artwork-note .rich-content p:last-child { margin-bottom: 0; }
.artwork-note .rich-content ul, .artwork-note .rich-content ol { margin: 8px 0 0; padding-left: 1.4em; }
.artwork-note .rich-content a { color: #057fac; font-weight: 800; }
.product-content-extra { margin-top: 0.85em; }
.product-catalog-field { display: grid; gap: 12px; margin-top: 8px; padding-top: 18px; border-top: 1px solid var(--line); }
.product-catalog-field:first-of-type { margin-top: 0; padding-top: 0; border-top: 0; }
.admin-descriptions-tabs { margin-bottom: 18px; }
.config-card { position: sticky; top: 116px; align-self: start; display: grid; gap: 8px; overflow: visible; padding: 14px; border: 2px solid var(--ink); border-radius: 20px; background: var(--white); box-shadow: 8px 8px 0 var(--yellow); }
/* Compactacao restrita ao configurador publico do produto. */
.product-detail .config-card { gap: 5px; padding: 10px; border-radius: 16px; box-shadow: 6px 6px 0 var(--yellow); }
.product-detail .config-card label { gap: 2px; font-size: 12px; line-height: 1.2; }
.product-detail .config-card label > span small { color: #777174; font-weight: 650; }
.product-detail .config-card input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]),
.product-detail .config-card select { padding: 5px 8px; min-height: 30px; font-size: 13px; scroll-margin-top: 140px; scroll-margin-bottom: 80px; }
.product-detail .config-card input.is-invalid-focus:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]),
.product-detail .config-card select.is-invalid-focus { outline: 3px solid rgba(12, 169, 223, .55); border-color: var(--cyan); }
.product-detail .config-card .measure-fields,
.product-detail .config-card .field-grid { gap: 5px; }
.product-detail .config-card:has(.product-measure-quantity-field) { grid-template-columns: minmax(0, 1fr) minmax(0, 2fr) minmax(0, 2fr) minmax(0, 1fr); align-items: end; }
.product-detail .config-card:has(.product-measure-quantity-field) > :not(.measure-fields) { grid-column: 1 / -1; }
.product-detail .config-card:has(.product-measure-quantity-field) .measure-fields { display: contents; }
.product-detail .config-card:has(.product-measure-quantity-field) .measure-unit-field { grid-column: auto; align-self: end; }
.product-detail .config-card:has(.product-measure-quantity-field) .product-measure-quantity-grid { display: contents; }
.product-detail .config-card:has(.product-measure-quantity-field) .product-measure-quantity-field { grid-column: auto; }
.product-detail .config-card .config-head { gap: 4px; padding-bottom: 4px; }
.product-detail .config-card .config-head strong { font-size: 18px; }
.product-detail .config-card .tier-options { margin: 0; gap: 3px; }
.product-detail .config-card .tier-options legend,
.product-detail .config-card .finishing-options legend,
.product-detail .config-card .variation-options legend { margin-bottom: 2px; padding: 0 4px; font-size: 11px; }
.product-detail .config-card .tier-choice { padding: 5px 8px; gap: 6px; }
.product-detail .config-card .finishing-options,
.product-detail .config-card .variation-options { padding: 5px 7px; gap: 3px; border-radius: 10px; }
.product-detail .config-card .finishing-option { padding: 4px 5px; border-radius: 7px; }
.product-detail .config-card .finishing-options input { width: 15px; height: 15px; margin-top: 1px; }
.product-detail .config-card .finishing-options span { gap: 1px; }
.product-detail .config-card .finishing-options small { font-size: 10px; line-height: 1.25; }
.product-detail .config-card .finishing-name-row { gap: 6px; }
.product-detail .config-card .finishing-preview { width: 18px; height: 18px; }
.product-detail .config-card .estimate { padding: 7px 9px; gap: 3px; border-radius: 10px; }
.product-detail .config-card .estimate-breakdown { gap: 2px; }
.product-detail .config-card .estimate-line { gap: 10px; font-size: 11px; line-height: 1.3; }
.product-detail .config-card .estimate-total { gap: 10px; padding-top: 4px; }
.product-detail .config-card .estimate strong { font-size: 20px; }
.product-detail .config-card .estimate.price-login-lock strong { font-size: 15px; }
.product-detail .config-card .field-help,
.product-detail .config-card .server-note { margin: 0; font-size: 10px; line-height: 1.25; }
.product-detail .config-card > .button { padding: 7px 12px; min-height: 34px; font-size: 13px; }
.product-detail .config-card .vector-preflight-panel,
.product-detail .config-card .adesivo-vendo-editor { gap: 6px; padding: 8px; border-radius: 10px; }
.product-detail .config-card .vector-preflight-head { margin-bottom: 0; }
.product-detail .config-card .vector-preflight-head p { margin: 2px 0 0; font-size: 11px; line-height: 1.3; }
.product-detail .config-card .upload-field { padding: 7px 9px; gap: 6px; }
.account-favorites-box { margin-bottom: 34px; border: 1px dashed #9e969b; border-radius: 18px; background: rgba(255,253,248,.66); }
.account-favorites-box summary { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 20px; cursor: pointer; list-style: none; }
.account-favorites-box summary::-webkit-details-marker { display: none; }
.account-favorites-box summary b { display: block; font-size: 18px; letter-spacing: -.025em; }
.account-favorites-box summary small { display: block; margin-top: 4px; color: #777174; font-size: 12px; font-weight: 750; }
.account-favorites-box summary > span:last-child { display: grid; place-items: center; width: 34px; height: 34px; border-radius: 999px; background: var(--ink); color: white; font-size: 22px; transition: transform .18s ease; }
.account-favorites-box[open] summary > span:last-child { transform: rotate(180deg); }
.account-favorites-list { display: grid; gap: 8px; padding: 0 20px 20px; }
.account-favorite-row { display: grid; grid-template-columns: 76px minmax(0, 1fr) auto auto; gap: 14px; align-items: center; padding: 12px; border: 1px solid var(--line); border-radius: 14px; background: var(--white); cursor: pointer; text-decoration: none; transition: transform .16s ease, box-shadow .16s ease; }
.account-favorite-row:hover, .account-favorite-row:focus-visible { transform: translateY(-2px); box-shadow: 0 12px 28px rgba(41,39,41,.09); outline: none; }
.account-favorite-image { width: 76px; height: 76px; display: grid; place-items: center; overflow: hidden; border-radius: 12px; border: 1px solid var(--line); }
.account-favorite-image img { width: 100%; height: 100%; object-fit: cover; background: var(--paper-muted); }
.account-favorite-image span { font-size: 28px; font-weight: 950; color: rgba(41,39,41,.7); }
.account-favorite-image.cyan { background: var(--cyan); }
.account-favorite-image.yellow { background: var(--yellow); }
.account-favorite-image.pink { background: var(--pink); }
.account-favorite-image.has-image,
.account-favorite-image.cyan:has(img),
.account-favorite-image.yellow:has(img),
.account-favorite-image.pink:has(img) { background: var(--paper-muted); }
.account-favorite-info { display: grid; gap: 4px; min-width: 0; }
.account-favorite-info b { overflow-wrap: anywhere; font-size: 15px; }
.account-favorite-info small, .account-favorite-price small { color: #777174; font-size: 11px; }
.account-favorite-price { display: grid; gap: 3px; text-align: right; white-space: nowrap; }
.account-favorite-price strong { color: var(--pink); font-size: 16px; }
.account-favorite-row .product-card-favorite { position: static; }
.account-favorites-empty { margin: 0 20px 20px; }
.account-orders-heading { margin-top: 8px; }
.config-head { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: flex-end; gap: 5px; padding-bottom: 12px; border-bottom: 1px solid var(--line); }
.config-head span { font-weight: 850; }
.config-head strong { color: var(--pink); font-size: 21px; }
.field-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
.field-help, .server-note, .password-hint { margin: -10px 0 0; color: #777174; font-size: 11px; line-height: 1.5; }
.template-generator-panel { display: grid; gap: 14px; margin-top: 10px; padding: 16px; border: 1px dashed #9e969b; border-radius: 14px; background: #fffaf0; }
.template-generator-panel .eyebrow { margin: 0; }
.template-guide-field > span { display: inline-flex; align-items: center; gap: 7px; }
.template-guide-field > span input[type="checkbox"] { width: 17px; height: 17px; margin: 0; }
.template-guide-field > span small { color: #777174; font-weight: 650; }
.template-guide-field.is-disabled,
[data-template-size-fields].is-disabled { opacity: .52; }
.template-guide-field.is-disabled input:not([type="hidden"]),
[data-template-size-fields].is-disabled input { cursor: not-allowed; background: #eee9df; color: #827a7f; }
.tier-options { display: grid; gap: 10px; padding: 0; border: 0; }
.tier-options legend { margin-bottom: 8px; color: #5d585b; font-size: 12px; font-weight: 900; text-transform: uppercase; letter-spacing: .08em; }
.tier-choice-list { display: grid; overflow: hidden; border: 1px solid var(--line); border-radius: 14px; background: #faf8f3; }
.tier-choice { display: grid; grid-template-columns: auto 1fr auto; gap: 12px; align-items: center; padding: 14px 16px; border-bottom: 1px solid var(--line); cursor: pointer; }
.tier-choice:last-child { border-bottom: 0; }
.tier-choice:hover, .tier-choice:has(input:checked) { background: #fff; }
.tier-choice input { width: 18px; height: 18px; }
.tier-choice span { font-weight: 850; }
.tier-choice b { color: var(--pink); }
.estimate { display: grid; gap: 7px; padding: 12px 14px; border-radius: 12px; background: var(--ink); color: white; }
.estimate-breakdown { display: grid; gap: 5px; }
.estimate-line { display: flex; justify-content: space-between; gap: 14px; align-items: start; color: rgba(255, 255, 255, .82); font-size: 12px; line-height: 1.45; }
.estimate-line span { min-width: 0; }
.estimate-line b { color: #fff; font-weight: 850; white-space: nowrap; }
.estimate-total { display: flex; align-items: center; justify-content: space-between; gap: 14px; padding-top: 10px; border-top: 1px solid rgba(255, 255, 255, .18); }
.estimate-total span { font-weight: 850; }
.estimate strong { color: var(--yellow); font-size: 26px; }
.estimate.price-login-lock strong { color: var(--yellow); font-size: 18px; }
.auth-shell { max-width: 1080px; min-height: 73vh; margin: 0 auto; padding: 80px 32px 120px; display: grid; grid-template-columns: 1fr 420px; gap: 80px; align-items: center; }
.auth-intro p:last-child { max-width: 560px; color: #625c60; font-size: 18px; line-height: 1.65; }
.auth-card { display: grid; gap: 20px; padding: 30px; border: 2px solid var(--ink); border-radius: 24px; background: var(--white); box-shadow: 10px 10px 0 var(--cyan); }
.button-google { position: relative; display: inline-flex; align-items: center; justify-content: center; min-height: 40px; padding: 0 12px; border: 1px solid #dadce0; border-radius: 4px; background: #fff; color: #3c4043; font-family: "Roboto", Arial, sans-serif; font-size: 14px; font-weight: 500; letter-spacing: .25px; text-decoration: none; box-shadow: none; transition: background .14s ease, border-color .14s ease, box-shadow .14s ease; }
.button-google .google-logo { position: absolute; left: 12px; display: inline-flex; align-items: center; justify-content: center; width: 18px; height: 18px; }
.button-google:hover { background: #f8faff; border-color: #d2e3fc; box-shadow: 0 1px 2px rgba(66, 133, 244, .3); color: #3c4043; }
.button-google:focus-visible { outline: 2px solid #4285f4; outline-offset: 2px; }
.button-google:active { background: #f1f3f4; }
.auth-separator { display: flex; align-items: center; gap: 12px; color: #8a8387; font-size: 12px; font-weight: 900; text-transform: uppercase; letter-spacing: .12em; }
.auth-separator::before, .auth-separator::after { content: ""; flex: 1; height: 1px; background: var(--line); }
.auth-small-link { justify-self: center; color: #676064; font-size: 13px; font-weight: 850; }
.check-field { grid-template-columns: auto 1fr; align-items: start; font-weight: 650; line-height: 1.5; }
.check-field input { width: 18px; height: 18px; margin-top: 2px; }
.check-field > span { color: #5d585b; font-size: 12px; }
.check-field > span a { color: var(--accent, #0f766e); text-decoration: underline; }
.auth-switch { margin: 0; text-align: center; color: #716b6f; font-size: 13px; }
.auth-switch a { font-weight: 900; }
.auth-shell.auth-shell--login { max-width: 960px; min-height: 0; padding: 36px 32px 44px; grid-template-columns: minmax(0, 1fr) 360px; gap: 36px; }
.auth-shell--login .auth-intro .eyebrow { margin-bottom: 10px; }
.auth-shell--login .auth-intro h1 { font-size: clamp(22px, 2.8vw, 32px); line-height: 1.1; }
.auth-shell--login .auth-intro p:last-child { margin: 12px 0 0; font-size: 16px; line-height: 1.45; }
.auth-shell--login .auth-card { min-width: 0; gap: 12px; padding: 20px; border-radius: 20px; box-shadow: 6px 6px 0 var(--cyan); }
.auth-shell--login .auth-card > .button-primary { min-height: 44px; padding: 10px 16px; }
@media (max-width: 980px) {
  .auth-shell.auth-shell--login { max-width: 480px; grid-template-columns: minmax(0, 1fr); gap: 20px; padding: 24px 20px 32px; }
}
.empty-state { padding: 70px 30px; border: 1px dashed #9e969b; border-radius: 20px; text-align: center; }
.empty-state strong { font-size: 18px; }
.empty-state p { color: #706a6e; }
.empty-state.small { padding: 34px; text-align: left; }
.cart-layout, .checkout-layout { display: grid; grid-template-columns: minmax(0, 1fr) 300px; gap: 18px; align-items: start; }
.cart-items { display: grid; gap: 10px; }
.cart-item { display: grid; grid-template-columns: 54px minmax(0, 1fr) auto; gap: 14px; align-items: center; padding: 14px 16px; border: 1px solid var(--line); border-radius: 14px; background: var(--white); }
.cart-thumb { position: relative; display: grid; place-items: center; width: 54px; height: 54px; overflow: hidden; border-radius: 12px; background: var(--yellow); font-weight: 950; }
.cart-thumb img, .cart-thumb canvas { width: 100%; height: 100%; object-fit: contain; display: block; background: #fff; }
.cart-thumb-pdf-fallback { position: absolute; inset: auto 4px 4px auto; padding: 2px 4px; border-radius: 4px; background: rgba(0, 40, 85, .82); color: #fff; font-size: 9px; line-height: 1; }
.cart-item p { margin: 0 0 6px; color: #777174; font-size: 11px; text-transform: uppercase; letter-spacing: .08em; }
.cart-item h2 { margin: 0 0 4px; font-size: 18px; letter-spacing: -.025em; }
#product-artwork-form { position: absolute; width: 0; height: 0; margin: 0; padding: 0; border: 0; overflow: visible; }
.product-artwork-panel { grid-column: 1 / -1; display: grid; gap: 6px; min-width: 0; }
.product-artwork-hint { margin: 0; color: #9b1b63; font-size: 12px; font-weight: 750; }
.product-artwork-hint a { color: inherit; }
.product-detail .config-card .product-artwork-panel .upload-field { grid-template-columns: minmax(0, 1fr) auto; }
.product-detail .config-card .product-artwork-panel .upload-field [data-product-artwork-attached] { grid-column: 1 / -1; }
.product-artwork-panel [data-product-artwork-attached]:not(:has(.cart-artwork-attached)) { display: none; }
.cart-artwork-area { grid-column: 1 / -1; grid-row: 2; min-width: 0; }
.cart-artwork-area .upload-field > span { min-width: 0; overflow-wrap: anywhere; }
[data-product-artwork-attached],
.cart-artwork-file-list { display: grid; gap: 4px; min-width: 0; }
.cart-artwork-file-list { margin-top: 8px; }
.cart-artwork-attached { display: grid; grid-template-columns: 22px minmax(0, 1fr); align-items: start; gap: 6px; min-width: 0; color: #16803c !important; font-weight: 800 !important; }
.cart-artwork-attached strong { display: grid; place-items: center; width: 22px; height: 16px; margin-top: 1px; color: #fff; background: #16803c; border-radius: 4px; font-size: 10px; letter-spacing: .04em; }
.cart-artwork-attached span { min-width: 0; overflow-wrap: anywhere; }
.cart-item > div > span { color: #6e686c; font-size: 12px; }
.cart-item-details { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 6px 18px; margin-top: 8px; color: #6e686c; font-size: 12px; line-height: 1.35; }
.cart-item-details span { min-width: 0; overflow-wrap: anywhere; }
.cart-item-details span::before { content: ""; display: inline-block; width: 5px; height: 5px; margin: 0 7px 2px 0; border-radius: 999px; background: var(--cyan); opacity: .75; }
.cart-actions { display: grid; justify-items: end; gap: 10px; }
.cart-actions button { border: 0; background: transparent; color: #8d2670; cursor: pointer; font-size: 11px; font-weight: 800; text-decoration: underline; }
.summary-card { padding: 18px; border: 2px solid var(--ink); border-radius: 16px; background: var(--white); box-shadow: 6px 6px 0 var(--pink); }
.summary-card > span { color: #6e686c; font-size: 12px; font-weight: 800; text-transform: uppercase; letter-spacing: .1em; }
.summary-card > strong { display: block; margin: 5px 0 12px; font-size: 28px; letter-spacing: -.04em; }
.summary-card > p { color: #706a6e; font-size: 12px; line-height: 1.55; }
.coupon-box { display: grid; gap: 10px; margin: 18px 0; padding: 14px; border: 1px dashed #a59da2; border-radius: 14px; background: #fffaf0; }
.coupon-box .button { padding-block: 10px; font-size: 12px; box-shadow: none; }
.coupon-applied, .cart-total-after-discount { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin: 12px 0; padding: 12px; border-radius: 12px; background: #effbf4; color: #1f6f45; font-size: 13px; font-weight: 850; }
.coupon-applied form { margin: 0; }
.coupon-applied button { border: 0; background: transparent; color: #9b1b63; cursor: pointer; font-size: 11px; font-weight: 900; text-decoration: underline; }
.coupon-breakdown { margin: 12px 0; padding: 14px; border-radius: 12px; background: #fffaf0; border: 1px solid #f0e2c8; color: #4f4a4d; font-size: 12px; }
.coupon-breakdown > p { margin: 0 0 12px; color: #1f6f45; font-size: 13px; line-height: 1.45; }
.coupon-breakdown-group + .coupon-breakdown-group { margin-top: 12px; padding-top: 12px; border-top: 1px solid #efe4d2; }
.coupon-breakdown-title { display: block; margin-bottom: 6px; font-size: 10px; font-weight: 900; letter-spacing: .08em; text-transform: uppercase; }
.coupon-breakdown-title-ok { color: #1f6f45; }
.coupon-breakdown-title-blocked { color: #9b1b63; }
.coupon-breakdown-title-muted { color: #777174; }
.coupon-breakdown ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 8px; }
.coupon-breakdown li { display: grid; gap: 2px; }
.coupon-breakdown li span { font-weight: 800; color: var(--ink); }
.coupon-breakdown li small { color: #777174; line-height: 1.35; }
.coupon-breakdown li b { justify-self: end; color: #1f6f45; font-size: 11px; }
.cart-coupon-badge { display: block; margin-top: 8px; padding: 6px 8px; border-radius: 8px; font-size: 11px; font-weight: 800; line-height: 1.35; }
.cart-coupon-badge-ok { background: #effbf4; color: #1f6f45; }
.cart-coupon-badge-blocked { background: #ffe8f2; color: #9b1b63; }
.cart-coupon-badge-muted { background: #f4efe7; color: #6e686c; }
.coupon-breakdown-note span { color: #1f6f45; font-size: 12px; line-height: 1.4; }
.cart-total-after-discount { background: var(--ink); color: white; }
.discount-line b { color: #1f8f58; }
.checkout-main { display: grid; gap: 12px; }
.checkout-section { display: grid; grid-template-columns: 30px minmax(0, 1fr); gap: 10px; padding: 14px 16px; border: 1px solid var(--line); border-radius: 13px; background: var(--white); }
.checkout-section > *:not(.section-number) { grid-column: 2; }
.checkout-section > div:nth-child(2) { grid-column: 2; }
.checkout-section h2 { margin: 0; font-size: 18px; letter-spacing: -.025em; }
.checkout-section h2 + p { margin: 4px 0 0; color: #777174; font-size: 11px; line-height: 1.35; }
.checkout-section label { gap: 5px; font-size: 11px; }
.checkout-section input, .checkout-section select, .checkout-section textarea { padding: 9px 10px; border-radius: 9px; font-size: 12px; }
.checkout-section textarea { min-height: 76px; }
.checkout-section .button { padding: 9px 12px; border-radius: 9px; font-size: 12px; }
.checkout-section .field-grid { gap: 8px; }
.section-number { grid-row: 1; display: grid; place-items: center; width: 32px; height: 32px; border-radius: 99px; background: var(--ink); color: white; font-weight: 900; font-size: 12px; }
.upload-field { display: grid; grid-template-columns: 1fr auto; align-items: center; gap: 8px; padding: 10px 12px; border: 1px dashed #8e878b; border-radius: 10px; background: #faf8f3; }
.upload-field > span { display: grid; gap: 2px; color: var(--ink); font-size: 12px; }
.checkout-section > .upload-field.muted-panel { grid-template-columns: minmax(0, 1fr); }
.checkout-section > .upload-field.muted-panel > span { grid-template-columns: repeat(auto-fit, minmax(min(180px, 100%), 1fr)); gap: 4px 16px; min-width: 0; }
.checkout-section > .upload-field.muted-panel > span > b { grid-column: 1 / -1; }
.checkout-section > .upload-field.muted-panel > span > small { min-width: 0; overflow-wrap: anywhere; }
.checkout-attached-artworks { display: grid; grid-column: 1 / -1; grid-template-columns: repeat(auto-fit, minmax(min(180px, 100%), 1fr)); gap: 4px 16px; min-width: 0; margin-top: 4px; padding-top: 8px; border-top: 1px solid var(--line); }
.checkout-attached-artworks > strong { grid-column: 1 / -1; font-size: 11px; }
.checkout-attached-artworks > small { min-width: 0; overflow-wrap: anywhere; }
.upload-field small { color: #777174; font-weight: 600; }
.upload-field input { max-width: 235px; padding: 5px; background: white; font-size: 11px; }
.checkout-file-picker { display: grid; grid-template-columns: auto minmax(110px, 1fr); align-items: center; gap: 8px; min-width: min(310px, 100%); margin: 0; }
.checkout-file-picker .button { justify-content: center; white-space: nowrap; cursor: pointer; }
.checkout-file-picker small { min-width: 0; overflow-wrap: anywhere; color: #5f5a5d; font-size: 11px; font-weight: 750; line-height: 1.25; }
.file-input-native { position: absolute; width: 1px; height: 1px; max-width: none !important; padding: 0 !important; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); border: 0; background: transparent; }
.file-input-native:focus-visible + .button { outline: 2px solid var(--cyan); outline-offset: 2px; }
.checkout-artwork-open { display: inline-flex; align-items: center; gap: 7px; }
.checkout-artwork-modal { position: fixed; inset: 0; z-index: 1210; display: grid; place-items: center; padding: 20px; background: rgba(18, 20, 28, .72); }
.checkout-artwork-modal[hidden] { display: none; }
.checkout-artwork-dialog { width: min(1040px, 100%); max-height: calc(100vh - 40px); overflow: auto; border-right: 4px solid #0f88d8; background: #fff; box-shadow: 0 24px 70px rgba(0,0,0,.28); }
.checkout-artwork-dialog > header { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 14px 18px; background: #18202d; color: #fff; }
.checkout-artwork-dialog > header h2 { margin: 0; font-size: 18px; letter-spacing: 0; }
.checkout-artwork-step { display: none; padding: 18px; }
.checkout-artwork-step.is-active { display: grid; gap: 18px; }
.checkout-artwork-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); align-items: start; gap: 28px; }
.checkout-artwork-slot { align-self: start; display: grid; align-content: start; }
.checkout-artwork-slot { display: grid; gap: 7px; color: #002855; }
.checkout-artwork-slot > label:first-child { color: #002855; font-size: 13px; font-weight: 700; }
.checkout-artwork-slot > small { color: #002855; font-size: 12px; line-height: 1.15; }
.checkout-artwork-slot.has-invalid-file > small { color: #b91c1c; }
.checkout-artwork-file { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; height: 36px; margin: 0; border: 1px solid #999; background: #eee; color: #8a8390; font-size: 12px; font-weight: 650; overflow: hidden; cursor: pointer; }
.checkout-artwork-file span { min-width: 0; padding: 0 12px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.checkout-artwork-file b, .checkout-artwork-file strong, .checkout-artwork-clear { align-self: stretch; display: grid; place-items: center; min-width: 52px; height: 100%; padding: 0 10px; background: #004b8f; color: #fff; font-size: 12px; font-style: normal; }
.checkout-artwork-file strong { background: #0f8f49; }
.checkout-artwork-clear { min-width: 38px; border: 0; background: #d50000; font-size: 20px; font-weight: 950; line-height: 1; cursor: pointer; }
.checkout-artwork-clear:hover, .checkout-artwork-clear:focus-visible { background: #a90000; outline: none; }
.checkout-artwork-slot.has-file .checkout-artwork-file { grid-template-columns: 34px minmax(0, 1fr) auto auto auto; color: #777174; }
.checkout-artwork-slot.has-file .checkout-artwork-file::before { content: "✓"; display: grid; place-items: center; color: #005b99; font-size: 24px; line-height: 1; }
.checkout-artwork-preview { display: grid; place-items: center; height: 260px; margin-top: 8px; border: 1px solid #cfd8e3; background: #f8fafc; overflow: hidden; }
.checkout-artwork-preview[hidden] { display: none; }
.checkout-artwork-preview img,
.checkout-artwork-preview iframe,
.checkout-artwork-preview canvas { display: block; width: 100%; height: 260px; border: 0; background: white; object-fit: contain; }
.checkout-artwork-footer { display: flex; flex-wrap: wrap; align-items: center; justify-content: flex-end; gap: 14px 24px; color: #002855; }
.checkout-artwork-footer small { margin-right: auto; color: #d50000; font-size: 12px; }
.checkout-artwork-footer span { margin-right: auto; font-size: 12px; }
.link-button { border: 0; background: transparent; color: #002855; cursor: pointer; font: inherit; font-weight: 700; text-decoration: underline; }
.modal-close-button { display: grid; place-items: center; flex: 0 0 auto; width: 34px; height: 34px; padding: 0; border: 1px solid rgba(15, 23, 42, .22); border-radius: 8px; background: #fff; color: #111827; cursor: pointer; font-size: 26px; font-weight: 850; line-height: 1; }
.modal-close-button:hover, .modal-close-button:focus-visible { border-color: #004b8f; color: #004b8f; outline: 2px solid rgba(0, 75, 143, .22); outline-offset: 2px; }
.checkout-preflight-workspace { display: grid; grid-template-columns: minmax(0, 1fr) 340px; min-height: 560px; }
.checkout-preflight-preview { display: grid; grid-template-rows: auto minmax(320px, 1fr) auto; gap: 12px; padding-right: 22px; }
.checkout-preflight-orientation { display: flex; flex-wrap: wrap; gap: 10px 18px; color: #002855; }
.checkout-preflight-orientation label { display: inline-flex; grid-template-columns: none; align-items: center; gap: 6px; width: auto; font-size: 12px; }
.checkout-preflight-stage { display: grid; place-items: center; min-height: 360px; background-color: #f7f7f7; background-image: linear-gradient(45deg, #e2e2e2 25%, transparent 25%), linear-gradient(-45deg, #e2e2e2 25%, transparent 25%), linear-gradient(45deg, transparent 75%, #e2e2e2 75%), linear-gradient(-45deg, transparent 75%, #e2e2e2 75%); background-size: 20px 20px; background-position: 0 0, 0 10px, 10px -10px, -10px 0; overflow: hidden; }
.checkout-preflight-pane { max-width: 100%; max-height: 100%; width: 100%; height: 100%; object-fit: contain; border: 0; background: white; }
.checkout-preflight-thumbs { display: flex; justify-content: center; gap: 24px; }
.checkout-preflight-thumbs button { border: 0; background: transparent; color: #002855; cursor: pointer; font-size: 11px; font-weight: 800; text-transform: uppercase; }
.checkout-preflight-thumbs button.is-active { color: #004b8f; text-decoration: underline; }
.checkout-preflight-side { display: grid; align-content: start; gap: 18px; padding: 16px 18px; background: #f3f4f6; color: #002855; overflow: auto; }
.checkout-preflight-analysis { display: grid; gap: 10px; }
.checkout-preflight-analysis h3 { margin: 0; color: #002855; font-size: 16px; }
.checkout-preflight-services { display: grid; gap: 8px; margin: 0; padding: 0; border: 0; }
.checkout-preflight-services legend { margin-bottom: 8px; color: #d21f1f; font-weight: 850; }
.checkout-preflight-services label { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; align-items: center; gap: 6px; color: #002855; font-size: 12px; }
.checkout-preflight-services b { color: #d21f1f; font-size: 12px; }
.checkout-orientation-choice { display: grid; gap: 18px; padding: 8px 6px; color: #002855; }
.checkout-orientation-choice h3 { margin: 0; color: #d50000; font-size: 16px; letter-spacing: 0; }
.checkout-orientation-choice p { margin: 0; font-size: 14px; line-height: 1.35; }
.checkout-orientation-options { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; margin-top: 14px; }
.checkout-orientation-option { display: grid; place-items: center; gap: 10px; min-height: 178px; border: 0; background: #18548f; color: white; cursor: pointer; font: inherit; font-size: 16px; font-weight: 850; }
.checkout-orientation-option.is-portrait { background: #6d6e7c; }
.checkout-orientation-option:hover, .checkout-orientation-option:focus-visible { outline: 3px solid #0f88d8; outline-offset: 3px; filter: brightness(1.04); }
.orientation-paper { display: grid; place-items: center; width: 126px; height: 86px; background: white; }
.checkout-orientation-option.is-portrait .orientation-paper { width: 84px; height: 128px; }
.orientation-icon { position: relative; width: 34px; height: 34px; border: 2px solid #002855; border-radius: 3px; }
.orientation-icon::before { content: ""; position: absolute; left: 5px; right: 5px; bottom: 6px; height: 15px; border-left: 2px solid #002855; border-bottom: 2px solid #002855; transform: skewX(-24deg) rotate(-8deg); }
.orientation-icon::after { content: ""; position: absolute; top: 5px; right: 5px; width: 7px; height: 7px; border: 2px solid #002855; border-radius: 50%; }
.payment-options { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
.payment-options label { display: grid; grid-template-columns: auto 1fr; align-items: center; padding: 10px 12px; border: 1px solid var(--line); border-radius: 10px; background: #faf8f3; cursor: pointer; }
.payment-options label { position: relative; grid-template-columns: minmax(0, 1fr); transition: background-color .15s, border-color .15s, box-shadow .15s; }
.payment-options input[type="radio"] { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
.payment-options label:has(input:checked) { background: #d9edf8; border-color: #005a86; box-shadow: inset 0 0 0 1px #005a86, inset 0 2px 4px #0028551a; }
.payment-options label:has(input:focus-visible) { outline: 3px solid #005a86; outline-offset: 3px; }
.payment-options label:hover { border-color: #005a86; }
.payment-options label.is-disabled,
.payment-options label:has(input:disabled) { opacity: .55; cursor: not-allowed; background: #f0eee9; }
.payment-options label.is-disabled:hover,
.payment-options label:has(input:disabled):hover { border-color: var(--line); }
.payment-options span { display: grid; gap: 2px; color: var(--ink); }
.payment-options small { color: #777174; font-size: 11px; font-weight: 550; line-height: 1.25; }
.payment-options .payment-option-brand-image { display: block; width: 120px; max-width: 100%; height: 56px; margin-top: 6px; object-fit: contain; object-position: left center; }
.credit-use-box { display: grid; grid-template-columns: .9fr 1.15fr auto; gap: 9px; align-items: end; padding: 10px 12px; border: 1px solid var(--line); border-radius: 12px; background: #f8fbef; }
.credit-use-box > div { display: grid; gap: 3px; }
.credit-use-box span { color: #6f696d; font-size: 10px; font-weight: 850; text-transform: uppercase; letter-spacing: .07em; }
.credit-use-box strong { font-size: 20px; }
.shipping-box { display: grid; gap: 10px; padding: 12px; border: 1px dashed var(--cyan); border-radius: 12px; background: #f8fdff; }
.shipping-quotes { display: grid; gap: 8px; }
.shipping-quote-option { display: grid; grid-template-columns: auto 1fr; align-items: center; gap: 12px; padding: 12px 14px; border: 1px solid var(--line); border-radius: 14px; background: white; cursor: pointer; }
.shipping-quote-option:has(input:checked) { border-color: var(--cyan); box-shadow: 0 8px 20px rgba(12, 169, 223, .12); }
.shipping-quote-option span { display: grid; gap: 2px; color: var(--ink); }
.shipping-quote-option small { color: #70696d; font-size: 12px; }
.shipping-address-fields { display: grid; gap: 12px; }
.shipping-rule-table { display: grid; gap: 8px; }
.shipping-rule-row { display: grid; grid-template-columns: minmax(180px, 1fr) minmax(150px, .45fr) auto auto; align-items: center; gap: 10px; padding: 10px 12px; border: 1px solid var(--line); border-radius: 14px; background: #fff; }
.shipping-rule-row > div { min-width: 0; }
.shipping-rule-row b, .shipping-rule-row small { display: block; overflow-wrap: anywhere; }
.shipping-rule-row label { margin: 0; }
@media (max-width: 860px) { .shipping-rule-row { grid-template-columns: 1fr; align-items: stretch; } }
.muted-panel { opacity: .58; }
.vector-artwork-ready {
  opacity: 1;
  display: flex;
  justify-content: space-between;
  gap: 1rem;
  align-items: center;
  border: 1px solid rgba(15, 118, 110, 0.25);
  background: rgba(15, 118, 110, 0.06);
}
.vector-artwork-ready strong {
  color: #0f766e;
  white-space: nowrap;
}
.pix-panel { display: flex; gap: 12px; align-items: center; padding: 12px; border-radius: 12px; background: #eef9fb; }
.pix-panel img, .qr-placeholder { width: 92px; height: 92px; border-radius: 10px; object-fit: cover; }
.pix-panel img.payment-brand-image { object-fit: contain; background: white; padding: 10px; border: 1px solid #dceef2; }
.order-infinitepay-brand { margin-bottom: 14px; }
.settings-brand-preview img { display: block; max-width: 240px; max-height: 96px; margin: 8px 0 10px; object-fit: contain; background: white; padding: 8px 12px; border-radius: 10px; border: 1px solid var(--line); }
.qr-placeholder { display: grid; place-items: center; padding: 16px; background: white; border: 2px dashed var(--cyan); text-align: center; }
.qr-placeholder b { font-size: 25px; color: var(--cyan); }
.qr-placeholder span { font-size: 9px; }
.pix-panel > div:last-child, .bitcoin-panel { display: grid; gap: 6px; }
.pix-panel span, .bitcoin-panel span { color: #6f696d; font-size: 11px; text-transform: uppercase; letter-spacing: .1em; }
.bitcoin-panel { padding: 20px; border-radius: 12px; background: #fff5df; }
.break-key { word-break: break-all; }
.pickup-box { display: grid; gap: 4px; padding: 18px; border-left: 7px solid var(--yellow); background: #f7f4eb; }
.pickup-box span { color: #716b6f; font-size: 12px; }
.pickup-checkout-panel { display: grid; gap: 5px; width: 100%; }
.pickup-point-list { display:grid; gap:6px; margin-top:6px; }
.pickup-search-box { display:grid; gap:4px; width:100%; margin:2px 0 5px; }
.pickup-search-box b { font-size:12px; }
.pickup-search-box input { width:100%; box-sizing:border-box; }
.pickup-point-list > label { display:grid; grid-template-columns: 20px minmax(0, 1fr); gap:7px; align-items:center; padding:7px 9px; border:1px solid #ddd6c8; border-radius:8px; background:#fff; }
.pickup-point-details { display:grid; grid-template-columns: 1.05fr 1.65fr .9fr; gap:3px 14px; align-items:center; }
.pickup-point-details b { grid-row: span 2; min-width:0; overflow-wrap:anywhere; }
.pickup-point-details small { margin:0; min-width:0; overflow-wrap:anywhere; }
.pickup-point-address { font-weight:700; color:#4d484b; }
.pickup-point-toggle { justify-self:start; padding:3px 0; border:0; background:transparent; color:var(--cyan); font-weight:850; cursor:pointer; font-size:12px; }
.pickup-point-toggle:hover { color:var(--ink); }
.delivery-options { grid-template-columns: 1fr; }
.pickup-point-list small { display:block; color:#716b6f; margin-top:0; }
.pickup-section-head { margin-top: 18px; align-items: end; }
.pickup-section-head h3 { margin: 0; font-size: 17px; }
.pickup-admin-search { max-width: 420px; margin-top: 8px; }
.pickup-points-table { margin: 10px 0 16px; overflow-x: visible; }
.pickup-point-row { min-width: 0; grid-template-columns: 32px minmax(0, 1.05fr) minmax(0, 1.45fr) minmax(0, 1fr) minmax(0, .5fr) auto; }
.pickup-point-row[data-pickup-edit-row] { cursor: pointer; }
.pickup-point-row[data-pickup-edit-row]:hover { background: #fffaf0; }
.button-small { min-height: 0; padding: 7px 10px; border-radius: 8px; font-size: 11px; }
.pickup-point-editor-list { display: grid; gap: 14px; margin-top: 14px; }
.pickup-point-editor { margin-top:0; padding:16px; border:1px solid #ded7cb; border-radius:12px; background:#fffdf8; }
.pickup-point-new { border-style: dashed; background:#fff; }
.pickup-point-editor-head { display:flex; justify-content:space-between; gap:14px; align-items:flex-start; margin-bottom:12px; }
.pickup-point-editor-head h3 { margin:0; font-size:16px; }
.pickup-point-toggles { display:flex; flex-wrap:wrap; gap:8px; justify-content:flex-end; }
.pickup-rules-box { margin-top:12px; padding:12px; border:1px solid #e4dcd0; border-radius:10px; }
.pickup-rules-box legend { padding:0 6px; color:#5f575c; font-size:12px; font-weight:800; }
.pickup-rules-box select[multiple] { min-height:118px; font-size:12px; }
.pickup-editor-actions { margin-top: 12px; padding: 0; }
.rule-picker { position: relative; display: grid; gap: 7px; min-width: 0; }
.rule-picker-label { color: #686266; font-size: 11px; font-weight: 850; text-transform: uppercase; letter-spacing: .07em; }
.rule-picker-search { width: 100%; }
.rule-picker-selected { display: flex; flex-wrap: wrap; gap: 6px; min-height: 48px; padding: 8px; border: 1px solid var(--line); border-radius: 10px; background: #fff; }
.rule-picker-selected.is-empty::before { content: "Nenhum bloqueio selecionado"; color: #9a9296; font-size: 12px; align-self: center; }
.rule-picker-chip { display: inline-flex; align-items: center; gap: 6px; max-width: 100%; padding: 5px 7px; border: 1px solid #d8d0c2; border-radius: 999px; background: #f7f4eb; color: var(--ink); font-size: 11px; font-weight: 800; }
.rule-picker-chip span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.rule-picker-chip button { display: inline-grid; place-items: center; width: 18px; height: 18px; padding: 0; border: 0; border-radius: 999px; background: #fff; color: #6f696d; cursor: pointer; font-size: 14px; line-height: 1; }
.rule-picker-options { position: absolute; z-index: 40; top: 58px; left: 0; right: 0; display: grid; max-height: 220px; overflow: auto; padding: 6px; border: 1px solid #d8d0c2; border-radius: 10px; background: #fff; box-shadow: 0 16px 30px rgba(12, 10, 10, .14); }
.rule-picker-options button { padding: 8px 9px; border: 0; border-radius: 7px; background: transparent; color: var(--ink); text-align: left; cursor: pointer; font: inherit; font-size: 12px; }
.rule-picker-options button:hover, .rule-picker-options button.is-active { background: #fff3c8; }
.checkout-summary { position: sticky; top: 18px; }
.checkout-summary ul { display: grid; gap: 7px; padding: 12px 0; margin: 0 0 12px; border-block: 1px solid var(--line); list-style: none; }
.checkout-summary li { display: flex; justify-content: space-between; gap: 12px; color: #6e686c; font-size: 11px; }
.checkout-summary li b { color: var(--ink); white-space: nowrap; }
.account-grid { display: grid; grid-template-columns: minmax(0, 1fr) 330px; gap: 40px; align-items: start; }
.section-heading.compact { margin-bottom: 18px; }
.section-heading.compact h2 { font-size: 18px; }
.account-orders-tools { display: grid; grid-template-columns: minmax(220px, 1fr) 150px auto auto; gap: 10px; align-items: end; margin: 0 0 14px; }
.account-orders-tools label { display: grid; gap: 5px; color: #686266; font-size: 11px; font-weight: 850; text-transform: uppercase; letter-spacing: .07em; }
.account-orders-tools input, .account-orders-tools select { width: 100%; padding: 11px 12px; border: 1px solid var(--line); border-radius: 10px; background: white; color: var(--ink); font: inherit; text-transform: none; letter-spacing: 0; }
.account-orders-tools button, .account-orders-tools .button { min-height: 42px; padding: 11px 16px; border: 0; border-radius: 10px; background: var(--ink); color: white; font-weight: 850; text-align: center; text-decoration: none; cursor: pointer; }
.account-orders-tools .button-light { border: 1px solid var(--line); background: white; color: var(--ink); }
.orders-filter-note { margin: -4px 0 14px; color: #625c60; font-size: 13px; font-weight: 700; }
.order-list { display: grid; gap: 8px; }
.order-list > a, .order-row { display: flex; justify-content: space-between; padding: 20px; border: 1px solid var(--line); border-radius: 14px; background: var(--white); text-decoration: none; }
.order-row { align-items: center; gap: 14px; }
.order-row-images, .admin-order-thumbnails { display: flex !important; flex: 0 0 auto; align-items: center; gap: 5px; }
.order-row-images img, .admin-order-thumbnails img { width: 52px; height: 52px; border: 1px solid var(--line); border-radius: 9px; background: #fff; object-fit: contain; }
.admin-order-thumbnails { margin: 0 0 7px; }
.admin-order-thumbnails img { width: 34px; height: 34px; }
.order-row.is-recurring { border-color: rgba(0, 165, 184, .45); box-shadow: inset 4px 0 0 var(--cyan); }
.order-row-link { display: flex; flex: 1; align-items: center; justify-content: space-between; gap: 18px; min-width: 0; color: inherit; text-decoration: none; }
.order-list span { display: grid; gap: 5px; }
.order-list span:last-child { text-align: right; }
.order-list small { color: #777174; }
.order-item-summary { color: #4f494d; font-weight: 800; line-height: 1.35; }
.order-item-summary-list { display: grid; gap: 3px; min-width: 0; }
.order-item-summary-list .order-item-summary { overflow-wrap: anywhere; }
.order-list .order-alias-highlight { display: inline-flex; width: fit-content; max-width: 100%; padding: 6px 10px; border-radius: 999px; background: #fff2c2; color: #4e3e06; font-size: 13px; font-weight: 900; }
.order-list small.order-forecast { font-weight: 700; color: #524e51; }
.order-recurring-form { margin: 0; }
.order-recurring-form button { width: 42px; height: 42px; border: 1px solid var(--line); border-radius: 999px; background: white; color: #8a8387; font-size: 23px; font-weight: 900; line-height: 1; cursor: pointer; }
.order-recurring-form button:hover, .order-recurring-form button.is-recurring { border-color: var(--cyan); background: var(--cyan); color: white; }
.account-orders-pages { display: flex; flex-wrap: wrap; gap: 7px; margin: 16px 0 0; }
.account-orders-pages a { display: grid; min-width: 34px; height: 34px; place-items: center; border: 1px solid var(--line); border-radius: 10px; background: white; color: var(--ink); text-decoration: none; font-weight: 850; }
.account-orders-pages a.is-active { border-color: var(--ink); background: var(--ink); color: white; }
.order-retention-rules { display: grid; gap: 7px; margin-top: 18px; padding: 16px 18px; border: 1px dashed #c9c2b7; border-radius: 14px; background: #faf8f3; color: #625c60; font-size: 13px; line-height: 1.5; }
.order-retention-rules p { margin: 0; }
.privacy-card { padding: 26px; border-radius: 20px; background: var(--ink); color: white; }
.privacy-card h2 { margin: 0; font-size: 18px; letter-spacing: -.025em; }
.privacy-card > p:not(.eyebrow) { color: #c8c3c6; line-height: 1.6; }
.privacy-card > a, .privacy-card button { display: block; width: 100%; margin-top: 10px; padding: 13px; border: 1px solid rgba(255,255,255,.25); border-radius: 10px; background: transparent; color: white; text-align: center; font-weight: 800; cursor: pointer; }
.privacy-card form { margin: 0; }
.account-settings-card { display: grid; gap: 12px; padding: 26px; border: 2px solid var(--ink); border-radius: 20px; background: var(--white); box-shadow: 8px 8px 0 var(--cyan); }
.account-settings-card h2 { margin: 0; font-size: 18px; letter-spacing: -.025em; }
.account-settings-card > p:not(.eyebrow) { margin: 0; color: #625c60; line-height: 1.55; font-size: 14px; }
.account-settings-card form { display: grid; gap: 12px; margin: 0; }
.account-settings-card button { width: 100%; margin-top: 4px; padding: 13px; border: 0; border-radius: 10px; background: var(--ink); color: white; font-weight: 850; cursor: pointer; }
.order-hero { display: flex; justify-content: space-between; align-items: end; margin-bottom: 24px; }
.order-hero p:last-child { color: #777174; }
.order-forecast { margin: 8px 0 0; color: #524e51; font-size: 15px; font-weight: 750; line-height: 1.45; }
.order-hero p.order-forecast, .admin-page-title .order-forecast { color: #524e51; }
.order-forecast.is-frozen, .order-hero p.order-forecast.is-frozen, .order-list small.order-forecast.is-frozen { color: #9c235c; }
.order-side-block--status { border-color: #e6d100; }
.order-side-block--status .order-side-block-value { background: var(--yellow); }
.order-side-block--status .order-side-block-value b { font-size: 16px; font-weight: 950; }
.order-detail-grid { display: grid; grid-template-columns: minmax(0, 1fr) 280px; gap: 20px; }
.order-lines, .order-side { padding: 18px; border: 1px solid var(--line); border-radius: 15px; background: var(--white); }
.order-lines h2 { margin-top: 0; }
.order-lines article { display: flex; justify-content: space-between; gap: 14px; padding: 14px 0; border-top: 1px solid var(--line); }
.order-lines article div { display: grid; gap: 5px; }
.order-item-detail-image { width: 82px; height: 82px; flex: 0 0 auto; border: 1px solid var(--line); border-radius: 12px; background: #fff; object-fit: contain; }
.order-product-link { color: var(--ink); font-weight: 900; text-decoration: underline; text-decoration-color: rgba(12, 169, 223, .55); text-underline-offset: 3px; }
.order-product-link:hover, .order-product-link:focus-visible { color: var(--cyan); outline: none; }
.order-lines article span, .order-lines article small { color: #777174; font-size: 12px; }
.order-lines article > strong, .admin-order-item > strong { white-space: nowrap; }
.order-total { display: flex; justify-content: space-between; padding-top: 20px; border-top: 2px solid var(--ink); font-size: 22px; }
.order-payment-split { border-top: 1px solid var(--line); font-size: 16px; }
.order-side { display: grid; gap: 14px; align-content: start; }
.order-side > div { display: grid; gap: 5px; }
.order-side span, .order-side small { color: #777174; font-size: 11px; }
.order-side-block { min-width: 0; margin: 0; padding: 12px; border: 1px solid var(--line); border-radius: 13px; background: var(--white); }
.order-side-block legend { padding: 0 8px; color: var(--ink); font-size: 12px; font-weight: 950; }
.order-side-block-value { display: grid; gap: 4px; padding: 10px 12px; border-radius: 9px; background: #faf8f3; }
.order-side-block-value b { display: block; color: var(--ink); font-size: 14px; line-height: 1.35; }
.order-side-block-value a { display: block; }
.order-side-block-value small { display: block; }
.admin-note-dialog { width: min(440px, calc(100vw - 32px)); border: 0; border-radius: 16px; padding: 22px; background: #fff; color: var(--ink); }
.admin-note-dialog::backdrop { background: rgba(20, 16, 12, .45); }
.admin-note-dialog h2 { margin: 0 0 8px; font-size: 20px; }
.admin-note-dialog p { margin: 0 0 12px; }
.admin-note-dialog textarea { width: 100%; min-height: 96px; }
.admin-item-status-dialog { width: min(560px, calc(100vw - 32px)); max-height: min(760px, calc(100vh - 32px)); overflow: auto; }
.admin-item-status-dialog-items { display: grid; gap: 8px; margin-top: 10px; }
.admin-item-status-dialog-items .check-field { align-items: flex-start; padding: 10px 12px; border: 1px solid var(--line); border-radius: 8px; background: #fff; }
.admin-item-status-dialog-items .check-field span { display: grid; gap: 2px; }
.admin-item-status-dialog-items small { color: #706a6e; font-size: 12px; }
#order-status-form > .admin-item-status-scope { display: none; }
.admin-note-dialog-actions { display: flex; gap: 8px; justify-content: flex-end; margin-top: 12px; }
.order-side a { font-size: 12px; font-weight: 800; }
.digital-order-download { display: grid; gap: 10px; margin: 0 0 18px; padding: 18px; border: 1px solid var(--line); border-radius: 14px; background: #faf8f3; }
.digital-order-download b { line-height: 1.35; }
.digital-order-download small { color: #777174; font-size: 12px; line-height: 1.55; }
.digital-order-download form { margin-top: 4px; }
.digital-order-download .button { width: fit-content; }
.order-item-image-admin-list { display: grid; gap: 16px; }
.order-item-image-admin-row { display: grid; gap: 14px; padding: 16px; border: 1px solid var(--line); border-radius: 14px; background: #faf8f3; }
.order-item-image-admin-row-inline { margin-top: 10px; padding: 12px; border-radius: 12px; }
.order-item-image-admin-row .central-finishing-image-current img { object-fit: contain; background: #fff; }
.order-item-image-admin-heading { display: grid; gap: 4px; }
.order-item-image-admin-heading small { color: #777174; font-size: 12px; }
.legal-page { max-width: 850px; margin: 0 auto; padding: 85px 32px 120px; }
.legal-page--compact { padding-top: 36px; padding-bottom: 64px; }
.legal-page--compact section { padding: 18px 0; }
.legacy-page.page-shell--compact .legacy-content { padding: 22px; border-radius: 16px; box-shadow: 6px 6px 0 rgba(12, 169, 223, .18); line-height: 1.55; }
.legal-page--compact.legacy-content { padding: 22px; border-radius: 16px; box-shadow: 6px 6px 0 rgba(12, 169, 223, .18); line-height: 1.55; }
.legal-page .lead { font-size: 20px; line-height: 1.65; color: #625c60; }
.legal-page section { padding: 28px 0; border-top: 1px solid var(--line); }
.legal-page section h2 { margin: 0 0 10px; font-size: 24px; }
.legal-page section p { margin: 0; line-height: 1.75; color: #625c60; }
.message-page { min-height: 68vh; display: grid; place-items: center; padding: 60px 24px 110px; }
.message-card { max-width: 740px; padding: 45px; border: 2px solid var(--ink); border-radius: 26px; background: white; box-shadow: 12px 12px 0 var(--cyan); }
.message-card > p:not(.eyebrow) { margin: 25px 0; color: #625c60; font-size: 17px; line-height: 1.65; }
.local-verification { display: block; margin-top: 25px; color: #216d87; font-weight: 850; }
.admin-shell { max-width: 1380px; }
.admin-shell:has(> .admin-nav) { display: grid; grid-template-columns: 236px minmax(0, 1fr); gap: 28px; align-items: start; max-width: 1480px; }
.admin-shell:has(> .admin-nav) > :not(.admin-nav) { grid-column: 2; min-width: 0; }
.admin-shell:has(> .admin-nav) > .admin-nav { grid-column: 1; grid-row: 1 / span 40; }
.metric-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(150px, 100%), 1fr)); gap: 12px; margin-bottom: 24px; }
.metric-grid article, .metric-card { min-width: 0; padding: 18px; border: 1px solid rgba(42, 48, 60, .13); border-radius: 8px; background: #fff; }
.metric-card { color: inherit; text-decoration: none; }
.metric-card-link:hover, .metric-card-link:focus-visible { border-color: var(--cyan); box-shadow: 0 14px 28px rgba(12,169,223,.16); outline: none; transform: translateY(-1px); }
.metric-grid span { min-width: 0; color: #777174; font-size: 10px; text-transform: uppercase; letter-spacing: .08em; overflow-wrap: anywhere; }
.metric-grid strong { display: block; min-width: 0; margin-top: 8px; font-size: clamp(22px, 2.2vw, 28px); overflow-wrap: anywhere; }
.admin-grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(280px, 360px); gap: 18px; align-items: start; min-width: 0; }
.admin-stack { display: grid; gap: 18px; min-width: 0; }
.admin-card { min-width: 0; padding: 20px; border: 1px solid rgba(42, 48, 60, .13); border-radius: 8px; background: #fff; box-shadow: 0 14px 34px rgba(42, 48, 60, .08); }
.admin-card h2 { margin: 0 0 12px; font-size: 18px; letter-spacing: -.025em; }
.admin-card > p:not(.eyebrow) { color: #706a6e; font-size: 12px; line-height: 1.6; }
.admin-card form { display: grid; gap: 15px; min-width: 0; }
.admin-table { min-width: 0; max-width: 100%; overflow-x: clip; }
.admin-row { min-width: 0; display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(0, 1.6fr) minmax(0, 1.15fr) minmax(0, .8fr) minmax(0, .9fr); gap: 12px; align-items: center; padding: 13px 0; border-top: 1px solid var(--line); font-size: 12px; }
.admin-row > span { min-width: 0; max-width: 100%; overflow: hidden; overflow-wrap: anywhere; word-break: break-word; }
.admin-row > span > b { min-width: 0; max-width: 100%; white-space: normal; overflow-wrap: anywhere; word-break: break-word; }
.admin-row-head { color: #777174; text-transform: uppercase; letter-spacing: .08em; font-size: 10px; }
.admin-row > span { display: grid; gap: 4px; }
.admin-row small { color: #777174; }
.admin-row select { padding: 8px; font-size: 11px; }
.admin-row form { display: flex; gap: 6px; }
.admin-row form button { padding: 7px; border: 0; border-radius: 7px; background: var(--ink); color: white; cursor: pointer; font-size: 10px; }
.row-links { grid-template-columns: auto auto; }
.row-links a, .download-sample { font-weight: 850; }
.download-sample { display: block; margin-top: 16px; font-size: 12px; }
[hidden] { display: none !important; }
@media (max-width: 850px) {
  .site-header { flex-wrap: wrap; align-items: flex-start; gap: 12px 16px; width: 100%; padding: 14px 16px; }
  .site-header > nav { flex: 1 1 100%; flex-wrap: wrap; justify-content: flex-start; gap: 8px 14px; min-width: 0; font-size: 13px; }
  .site-header .account-menu-dropdown { max-width: min(230px, calc(100vw - 32px)); }
  .hero { grid-template-columns: 1fr; padding: 45px 20px 70px; gap: 45px; min-height: auto; }
  h1 { font-size: clamp(50px, 15vw, 76px); }
  .calculator-card { transform: none; box-shadow: 8px 8px 0 var(--cyan); }
  .trust-strip { grid-template-columns: 1fr; }
  .trust-strip span + span { border-top: 1px solid var(--line); }
  .products-section { padding: 80px 20px; }
  .section-heading { align-items: start; flex-direction: column; }
  .product-grid, .how ol { grid-template-columns: 1fr; }
  .account-favorite-row { grid-template-columns: 64px minmax(0, 1fr) auto; }
  .account-favorite-image { width: 64px; height: 64px; }
  .account-favorite-price { grid-column: 2 / 3; text-align: left; }
  .account-orders-tools { grid-template-columns: 1fr; }
  .order-row, .order-row-link { align-items: start; flex-direction: column; }
  .order-list span:last-child { text-align: left; }
  .how { padding: 80px 20px; }
  .how li:first-child, .how li:last-child { border-radius: 0; }
  .site-footer { grid-template-columns: 1fr; gap: 12px; padding-inline: 20px; }
  .footer-links, .social-links { justify-content: start; }
  .settings-list-row, .notice-settings-row, .settings-social-grid { grid-template-columns: 1fr; }
  .settings-list-row img, .notice-settings-row img { width: 100%; height: auto; max-height: 180px; }
  .brand img { width: 92px; }
  .catalog-toolbar { grid-template-columns: minmax(0, 1fr); justify-content: stretch; width: 100%; min-width: 0; max-width: 100%; }
  .catalog-toolbar input { width: 100%; min-width: 0; }
  .catalog-page-size { flex-wrap: wrap; justify-content: flex-start; }
  .catalog-layout { grid-template-columns: 1fr; }
  .catalog-characteristic-filters { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .catalog-sidebar { position: static; }
  .page-shell { padding: 45px 20px 80px; }
  .page-shell--compact { padding: 28px 20px 54px; }
  .legal-page--compact { padding: 28px 20px 54px; }
  .legacy-page.page-shell--compact .legacy-content, .legal-page--compact.legacy-content { padding: 18px; }
  .page-title { align-items: start; flex-direction: column; margin-bottom: 32px; }
  .product-detail-heading { flex-direction: column; }
  .product-detail-heading-actions { justify-content: flex-start; }
  .product-detail-grid, .auth-shell, .cart-layout, .checkout-layout, .account-grid, .order-detail-grid, .admin-grid { grid-template-columns: 1fr; }
  .auth-shell { padding: 50px 20px 90px; gap: 45px; }
  .config-card, .checkout-summary { position: static; }
  .spec-list { grid-template-columns: 1fr; }
  .cart-item { grid-template-columns: 44px minmax(0, 1fr); }
  .cart-item-details { grid-template-columns: 1fr; }
  .cart-actions { grid-column: 2; grid-template-columns: auto auto; align-items: center; justify-content: space-between; justify-items: start; }
  .checkout-section { grid-template-columns: 1fr; padding: 22px; }
  .checkout-section > *:not(.section-number), .checkout-section > div:nth-child(2) { grid-column: 1; }
  .payment-options { grid-template-columns: 1fr; }
  .upload-field { grid-template-columns: 1fr; }
  .product-detail .config-card .product-artwork-panel .upload-field { grid-template-columns: 1fr; }
  .upload-field input { max-width: none; }
  .checkout-artwork-grid, .checkout-preflight-workspace { grid-template-columns: 1fr; }
  .checkout-orientation-options { grid-template-columns: 1fr; }
  .checkout-preflight-preview { padding-right: 0; }
  .checkout-preflight-workspace { min-height: 0; }
  .order-hero { align-items: start; flex-direction: column; gap: 20px; }
  .metric-grid { grid-template-columns: repeat(2, 1fr); }
}

/* Administração operacional */
.admin-nav { position: sticky; top: 104px; z-index: 72; display: grid; gap: 4px; max-height: calc(100vh - 128px); margin-top: -28px; padding: 16px 12px 18px; overflow-y: auto; border: 1px solid rgba(255,255,255,.1); border-radius: 8px; background: #26314f; color: #f8fbff; box-shadow: 0 18px 40px rgba(30, 37, 58, .2); scrollbar-color: rgba(255,255,255,.34) transparent; }
.admin-nav-brand { display: grid; gap: 3px; margin: 0 4px 12px; padding: 0 0 14px; border-bottom: 1px solid rgba(255,255,255,.16); }
.admin-nav-brand span { color: #9ee6ff; font-size: 10px; font-weight: 900; text-transform: uppercase; letter-spacing: .12em; }
.admin-nav-brand strong { color: #fff; font-size: 16px; }
.admin-nav a { display: flex; align-items: center; min-height: 35px; padding: 9px 11px; border-radius: 6px; color: #dce5f6; font-size: 12px; font-weight: 800; text-decoration: none; }
.admin-nav a:hover, .admin-nav a:focus-visible { background: rgba(255,255,255,.12); color: #fff; outline: none; }
.admin-nav a.is-active { background: #0ca9df; color: #fff; box-shadow: inset 3px 0 0 #ffe710; }
.admin-page-title { margin-bottom: 30px; }
.admin-page-title h1 { font-size: clamp(19px, 2.5vw, 33px); }
.admin-product-title h1 { font-size: clamp(18px, 2vw, 26px); line-height: 1.15; letter-spacing: -.025em; }
.admin-page-title p:last-child { color: #716b6f; }
.metric-grid-five, .metric-grid-six { grid-template-columns: repeat(auto-fit, minmax(min(145px, 100%), 1fr)); }
.metric-grid-five article:last-child strong { font-size: clamp(20px, 1.8vw, 24px); }
.metric-grid-six article:last-child strong { font-size: clamp(19px, 1.7vw, 22px); }
.admin-card-head { display: flex; align-items: start; justify-content: space-between; gap: 20px; }
.admin-card-head-actions { display: flex; flex-wrap: wrap; align-items: center; justify-content: flex-end; gap: 10px 14px; }
.admin-card-head > a, .admin-title-actions a { font-size: 12px; font-weight: 850; }
.admin-filter { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(220px, 100%), 1fr)); gap: 10px; align-items: end; margin-bottom: 18px; }
.admin-filter-wide { grid-template-columns: repeat(auto-fit, minmax(min(190px, 100%), 1fr)); }
.admin-filter .button { min-height: 46px; }
.admin-products-filter .characteristic-filter-row { grid-column: 1 / -1; display: flex; flex-wrap: wrap; gap: 10px; align-items: end; padding-top: 4px; }
.characteristic-filter-row label { width: min(210px, 100%); gap: 5px; font-size: 11px; }
.characteristic-filter-row select { padding: 10px 11px; border-radius: 9px; font-size: 12px; }
.admin-filter-clear-link { align-self: center; margin: 0 0 12px 4px; }
.admin-list-row { min-width: 0; display: grid; gap: 10px; align-items: center; padding: 14px 0; border-top: 1px solid var(--line); font-size: 12px; }
.admin-list-row > span { display: grid; gap: 4px; min-width: 0; max-width: 100%; overflow: hidden; overflow-wrap: anywhere; word-break: break-word; }
.admin-list-row > span > b { min-width: 0; max-width: 100%; white-space: normal; overflow-wrap: anywhere; word-break: break-word; }
.admin-list-row small { min-width: 0; max-width: 100%; color: #777174; overflow-wrap: anywhere; word-break: break-word; }
.admin-list-row a { font-weight: 900; }
.admin-list-row[data-row-href] { cursor: pointer; }
.admin-list-row[data-row-href]:hover { background: #fffaf0; }
.admin-list-row.is-order-payment-approved,
.admin-row.is-order-payment-approved { background: #eaf8ee; }
.admin-list-row.is-order-muted,
.admin-row.is-order-muted { background: #f1f3f5; }
.admin-list-row.is-order-production,
.admin-row.is-order-production { background: #eaf4ff; }
.admin-list-row.is-order-artwork-problem,
.admin-row.is-order-artwork-problem { background: #fff7d6; }
.admin-list-row[data-row-href].is-order-payment-approved:hover,
.admin-row.is-order-payment-approved:hover { background: #dff3e6; }
.admin-list-row[data-row-href].is-order-muted:hover,
.admin-row.is-order-muted:hover { background: #e7eaee; }
.admin-list-row[data-row-href].is-order-production:hover,
.admin-row.is-order-production:hover { background: #dceeff; }
.admin-list-row[data-row-href].is-order-artwork-problem:hover,
.admin-row.is-order-artwork-problem:hover { background: #ffefb5; }
.admin-row-actions { display: grid; gap: 7px; align-items: start; }
.admin-row-actions form { margin: 0; }
.admin-row-actions small[data-support-link-status], .admin-side-actions small[data-support-link-status] { color: #6e686c; font-size: 10px; line-height: 1.35; text-transform: none; letter-spacing: 0; }
.admin-row-actions small[data-support-link-status] input, .admin-side-actions small[data-support-link-status] input { margin-top: 5px; padding: 7px; font-size: 10px; }
.admin-users-row { grid-template-columns: 28px minmax(0, 1.25fr) minmax(0, .65fr) minmax(0, .8fr) minmax(0, .38fr) minmax(0, .95fr) minmax(0, .55fr); }
.admin-coupon-row { grid-template-columns: 28px minmax(0, .85fr) minmax(0, .7fr) minmax(0, 1.25fr) minmax(0, .72fr) minmax(0, .42fr) minmax(0, .32fr); min-width: 0; }
.admin-discounts-row { grid-template-columns: 28px minmax(0, .85fr) minmax(0, 1fr) minmax(0, .62fr) minmax(0, .62fr) minmax(0, .52fr) minmax(0, .45fr) minmax(0, .32fr); min-width: 0; gap: 10px; }
.account-discounts-row { grid-template-columns: minmax(0, 1.05fr) minmax(0, .6fr) minmax(0, .62fr) minmax(0, .48fr) minmax(0, .45fr) minmax(0, .55fr) minmax(0, .62fr) minmax(0, .56fr); min-width: 0; gap: 10px; }
.account-discounts-row > span { min-width: 0; max-width: 100%; overflow: hidden; }
.account-discounts-row > .account-discount-scope,
.admin-list-row.account-discounts-row > .account-discount-scope > b,
.account-discounts-row > .account-discount-scope > small { max-width: 100%; white-space: normal; overflow-wrap: anywhere; word-break: break-word; }
.account-discounts-row .button-cyan { padding: 9px 12px; border: 1px solid rgba(41,39,41,.16); border-radius: 12px; box-shadow: none; font-size: 11px; line-height: 1.1; }
.account-discounts-row .button-cyan:hover, .account-discounts-row .button-cyan:focus-visible { box-shadow: 0 8px 18px rgba(12,169,223,.16); outline: none; }
.admin-orders-list-row { min-width: 0; grid-template-columns: 28px 46px minmax(0, .96fr) minmax(0, 1.04fr) minmax(0, 1fr) minmax(0, 1fr) minmax(0, .86fr) minmax(0, .52fr) minmax(0, .26fr); gap: 10px; }
.admin-dashboard-orders-row { min-width: 0; grid-template-columns: 44px minmax(0, 1.1fr) minmax(0, 1.25fr) minmax(0, .98fr) minmax(0, .62fr) minmax(0, .55fr); gap: 10px; }
.admin-dashboard-orders-row .admin-order-image-cell { min-height: 40px; }
.admin-dashboard-orders-row .admin-order-image-cell img { width: 40px; height: 40px; }
.admin-order-image-cell { display: flex !important; flex-flow: row wrap; align-items: center; align-content: center; justify-content: flex-start; gap: 4px !important; min-height: 44px; overflow: visible !important; }
.admin-order-image-cell img { width: 42px; height: 42px; border: 1px solid var(--line); border-radius: 8px; background: #fff; object-fit: contain; }
.admin-row-head .admin-order-image-heading { overflow: visible; font-size: 10px; }
.admin-products-row { min-width: 0; grid-template-columns: 34px minmax(180px, 1.25fr) minmax(72px, .34fr) minmax(120px, .7fr) minmax(82px, .42fr) minmax(108px, .54fr) minmax(150px, .86fr) minmax(72px, .32fr) minmax(42px, .2fr); gap: 10px; }
.admin-products-row > span:last-child { overflow: visible; }
.admin-products-row.is-action-menu-open,
.admin-products-row:has(.admin-row-action-menu[open]) { position: relative; z-index: 45; }
.admin-product-name-link { display: grid; gap: 4px; color: inherit; text-decoration: none; }
.admin-product-name-link:hover b, .admin-product-name-link:focus-visible b { color: var(--pink); text-decoration: underline; }
.admin-categories-row { min-width: 0; grid-template-columns: 28px minmax(0, 1.35fr) minmax(0, 1fr) minmax(0, .6fr) minmax(0, .5fr) minmax(0, .28fr); }
.admin-characteristics-row { min-width: 0; grid-template-columns: 28px minmax(0, 1.25fr) minmax(0, 1fr) minmax(0, .52fr) minmax(0, .52fr) minmax(0, .28fr); }
.admin-finishings-row { min-width: 0; grid-template-columns: 34px minmax(160px, 1.35fr) minmax(105px, .78fr) minmax(125px, .9fr) minmax(70px, .45fr) minmax(70px, .45fr) minmax(48px, .25fr); gap: 10px; }
.admin-finishings-row .mini-status { padding-inline: 7px; }
.admin-finishings-layout .admin-finishings-row { grid-template-columns: 28px minmax(0, 1.4fr) minmax(0, .8fr) minmax(0, .85fr) minmax(0, .85fr) minmax(0, .6fr) minmax(0, .5fr) 38px; }
.admin-finishings-layout .admin-finishings-row > span { min-width: 0; overflow-wrap: anywhere; word-break: break-word; }
.admin-finishings-layout .admin-finishings-row > span:last-child { overflow: visible; }
.admin-finishings-layout .admin-finishings-row:has(.admin-row-action-menu[open]) { position: relative; z-index: 45; }
.admin-characteristics-layout .admin-characteristics-row { grid-template-columns: 28px minmax(0, 1fr) minmax(0, 1.6fr) minmax(0, .6fr) minmax(0, .6fr) 38px; }
.admin-characteristics-layout .admin-characteristics-row > span { min-width: 0; overflow-wrap: anywhere; }
.admin-characteristics-layout .admin-characteristics-row > span:last-child { overflow: visible; }
.admin-characteristics-layout .admin-characteristics-row:has(.admin-row-action-menu[open]) { position: relative; z-index: 45; }
.admin-finishings-layout .admin-content-static-link a { display: flex; justify-content: space-between; gap: 8px; overflow-wrap: anywhere; }
.admin-finishings-layout .admin-status-side > .button { width: 100%; }
.finishing-category-edit { display: grid; gap: 10px; padding-top: 20px; margin-top: 20px; border-top: 1px solid var(--line); }
.catalog-links-open { overflow: hidden; }
.catalog-links-dialog { width: min(880px, calc(100vw - 32px)); max-height: calc(100dvh - 48px); margin: auto; padding: 24px; border: 1px solid var(--line); border-radius: 16px; background: #fff; color: var(--ink); box-shadow: var(--shadow); overflow: auto; }
.catalog-links-dialog::backdrop { background: rgb(15 23 42 / 55%); }
.catalog-links-head { display: flex; align-items: start; justify-content: space-between; gap: 16px; }
.catalog-links-head > div { min-width: 0; overflow-wrap: anywhere; }
.catalog-links-head h2 { margin: 0; }
.catalog-links-head > button { flex-shrink: 0; }
.catalog-links-table-wrap { overflow-x: auto; }
.catalog-links-table { width: 100%; border-collapse: collapse; table-layout: fixed; font-size: 13px; }
.catalog-links-table th, .catalog-links-table td { padding: 12px 10px; border-bottom: 1px solid var(--line); text-align: left; vertical-align: top; overflow-wrap: anywhere; }
.catalog-links-table th:first-child { width: 50%; }
.catalog-links-table th:nth-child(2) { width: 18%; }
.catalog-links-table td:last-child a { display: inline-block; margin: 0 12px 6px 0; }
@media (max-width: 600px) {
  .catalog-links-dialog { padding: 16px; }
  .catalog-links-table { min-width: 480px; }
}
.admin-finishings-layout .compact-table { overflow-x: auto; }
.admin-finishings-layout .admin-variation-option-row { min-width: 1000px; }
.central-finishing-category { display: grid; gap: 10px; min-width: 0; }
.central-finishing-category h3 { margin: 8px 0 0; padding-bottom: 8px; border-bottom: 1px solid var(--line); }
@media (max-width: 1080px) {
  .admin-finishings-layout.admin-content-layout.admin-status-layout { grid-template-columns: minmax(0, 1fr); }
  .admin-finishings-layout .admin-table { overflow-x: auto; }
  .admin-finishings-layout .admin-finishings-row { min-width: 780px; }
}
.admin-variation-option-row { min-width: 0; grid-template-columns: minmax(150px, 1.25fr) minmax(170px, 1fr) minmax(88px, .45fr) minmax(150px, .9fr) minmax(135px, .72fr) minmax(132px, .55fr); gap: 10px; align-items: start; }
.admin-variation-option-row > span { overflow: visible; }
.admin-variation-option-row input:not([type="checkbox"]),
.admin-variation-option-row select { width: 100%; min-width: 0; }
.admin-variation-option-row select[data-variation-annul] { min-height: 118px; padding: 6px 8px; font-size: 13px; line-height: 1.35; }
.admin-variation-option-row .check-field { align-items: center; padding-top: 10px; }
.admin-variation-option-row > span:last-of-type { align-content: start; justify-items: start; }
.admin-variation-option-row > span:last-of-type .check-field { padding-top: 4px; }
.admin-variation-option-row > span:last-of-type .button { width: auto; min-width: 104px; white-space: nowrap; }
.admin-variation-option-row .variation-image-field { grid-column: 1 / -1; }
.admin-variation-option-row .variation-minimum-rules { grid-column: 1 / -1; display: grid; grid-template-columns: repeat(4, minmax(150px, 1fr)); gap: 10px; padding: 10px; border: 1px solid var(--line); border-radius: 8px; background: #f8fafc; }
.admin-variation-option-row .variation-minimum-rules label { min-width: 0; }
.variation-annul-picker { display: grid; gap: 6px; min-width: 0; }
.variation-annul-open { width: fit-content; min-width: 96px; padding: 8px 12px; }
.variation-annul-picker small { color: #777174; line-height: 1.35; overflow-wrap: anywhere; }
.variation-annul-modal { position: fixed; inset: 0; z-index: 1220; display: grid; place-items: center; padding: 20px; background: rgba(20, 18, 19, .64); }
.variation-annul-modal[hidden] { display: none; }
.variation-annul-dialog { display: grid; gap: 16px; width: min(780px, 100%); max-height: calc(100vh - 40px); overflow: auto; padding: 20px; border-radius: 16px; background: #fff; box-shadow: 0 24px 70px rgba(0, 0, 0, .28); }
.variation-annul-dialog > header { display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; }
.variation-annul-dialog h3 { margin: 0; font-size: 20px; letter-spacing: 0; }
.variation-annul-options { display: grid; grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); gap: 10px; }
.variation-annul-option { display: grid; grid-template-columns: auto 1fr; gap: 8px; align-items: start; min-width: 0; padding: 10px; border: 1px solid var(--line); border-radius: 8px; background: #fffaf0; cursor: pointer; }
.variation-annul-option input { width: 18px; height: 18px; margin-top: 2px; }
.variation-annul-option span { min-width: 0; overflow-wrap: anywhere; font-size: 12px; font-weight: 800; line-height: 1.35; }
.variation-annul-actions { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 10px; }
.admin-variation-option-row .variation-price-ranges { grid-column: 1 / -1; display: grid; gap: 8px; padding: 10px; border: 1px solid var(--line); border-radius: 8px; background: #fffaf0; }
.admin-variation-option-row .variation-price-ranges[hidden] { display: none; }
.variation-price-range-head { display: flex; gap: 10px; align-items: baseline; justify-content: space-between; flex-wrap: wrap; }
.variation-price-range-row { display: grid; grid-template-columns: minmax(70px, .5fr) minmax(70px, .5fr) minmax(90px, .7fr) auto; gap: 8px; align-items: end; }
.variation-price-range-row label { min-width: 0; }
.variation-price-range-row .button { min-height: 38px; }
.admin-variation-option-row .variation-quantity-limit { display: flex; gap: 6px; min-width: 0; align-items: flex-start; }
.admin-variation-option-row .variation-quantity-limit select { flex: 1 1 auto; min-width: 0; }
.admin-variation-option-row .variation-quantity-limit input[type="number"] { width: 72px; flex: 0 0 72px; }
.admin-variation-option-row .variation-quantity-limit input[hidden] { display: none; }
.admin-variation-option-row [data-remove-variation-preset-option] { margin-top: 8px; }
.variation-preset-add-option { justify-self: start; }
.admin-templates-row { min-width: 0; grid-template-columns: minmax(180px, 1.5fr) minmax(140px, .9fr) minmax(80px, .45fr) minmax(76px, .45fr) minmax(54px, .28fr); gap: 12px; }
.admin-templates-row > span { min-width: 0; overflow: hidden; overflow-wrap: anywhere; }
.admin-templates-row > span > b { white-space: normal; overflow-wrap: anywhere; }
.admin-templates-row .mini-status { justify-self: start; padding-inline: 7px; white-space: nowrap; }
.admin-simulations-row { min-width: 0; grid-template-columns: minmax(160px, 1.2fr) minmax(160px, 1.2fr) minmax(72px, .45fr) minmax(76px, .45fr) minmax(54px, .28fr); gap: 10px; }
.admin-simulations-row > span { min-width: 0; overflow: hidden; overflow-wrap: anywhere; }
.admin-simulations-row > span > b { white-space: normal; overflow-wrap: anywhere; }
.admin-digital-products-row { min-width: 0; grid-template-columns: 30px minmax(170px, 1.35fr) minmax(130px, 1fr) minmax(120px, .9fr) minmax(90px, .55fr) minmax(70px, .45fr) minmax(50px, .3fr); gap: 10px; }
.admin-digital-products-row > span { min-width: 0; overflow: hidden; overflow-wrap: anywhere; }
.admin-digital-products-row > span > b { white-space: normal; overflow-wrap: anywhere; }
.admin-file-stack { display: grid; gap: 2px; margin-top: 3px; color: #777174; font-size: 11px; line-height: 1.25; }
.admin-file-stack span { min-width: 0; overflow-wrap: anywhere; }
.digital-catalog-file-list { display: grid; gap: 7px; padding: 10px 12px; border: 1px solid var(--line); border-radius: 10px; background: #faf8f3; }
.digital-catalog-file-list > div { display: flex; gap: 10px; flex-wrap: wrap; justify-content: space-between; font-size: 12px; }
.digital-catalog-file-list small { color: #777174; }
.digital-catalog-file-row { display: grid; grid-template-columns: minmax(150px, .8fr) minmax(200px, 1.2fr) auto; gap: 10px; align-items: end; margin-top: 8px; }
@media (max-width: 720px) { .digital-catalog-file-row { grid-template-columns: 1fr; } }
.admin-credit-row { min-width: 0; grid-template-columns: minmax(0, .95fr) minmax(0, 1.15fr) minmax(0, .58fr) minmax(0, .68fr) minmax(0, .28fr); }
.muted { color: #777174; }
.mini-status { display: inline-flex; width: fit-content; padding: 6px 9px; border-radius: 99px; background: #eeeae2; color: #4f4a4d; font-size: 10px; font-weight: 900; }
.admin-editor-grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(260px, 320px); gap: 18px; align-items: start; min-width: 0; }
.admin-editor-grid-full { grid-template-columns: minmax(0, 1fr); }
.admin-list-layout { display: grid; gap: 22px; align-items: start; }
.admin-list-layout-create .button-primary { width: auto; min-width: 220px; justify-self: start; }

@media (max-width: 900px) {
  .admin-variation-option-row .variation-minimum-rules { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 560px) {
  .admin-variation-option-row .variation-minimum-rules { grid-template-columns: 1fr; }
}
.admin-form { display: grid; gap: 18px; }
.admin-form-actions { display: flex; flex-wrap: wrap; gap: 10px; align-items: center; justify-content: flex-start; }
.admin-form-actions .button { width: auto; min-width: 150px; }
.admin-form-actions .link-danger-button { border-color: #f0c8d8; color: #9c235c; background: #fff; box-shadow: none; }
.admin-form h2 { margin: 0; }
.permission-groups { display: grid; gap: 12px; }
.permission-groups fieldset, .finishing-options { margin: 0; padding: 16px; border: 1px solid var(--line); border-radius: 13px; }
.permission-groups legend, .finishing-options legend { padding: 0 8px; font-size: 12px; font-weight: 950; }
.permission-option { grid-template-columns: auto 1fr; align-items: start; padding: 10px 0; border-top: 1px solid #eeeae2; }
.permission-option:first-of-type { border-top: 0; }
.permission-option input, .finishing-options input { width: 18px; height: 18px; margin-top: 2px; }
.permission-option span, .finishing-options span { display: grid; gap: 3px; color: var(--ink); }
.permission-option small, .finishing-options small { color: #777174; font-weight: 600; }
.user-audit-card dl { display: grid; gap: 0; margin: 0; }
.user-audit-card dl div { padding: 14px 0; border-top: 1px solid var(--line); }
.user-audit-card dt { color: #777174; font-size: 10px; font-weight: 850; text-transform: uppercase; letter-spacing: .08em; }
.user-audit-card dd { margin: 5px 0 0; font-size: 13px; font-weight: 750; }
.admin-side-actions { display: grid; gap: 10px; margin-top: 18px; padding-top: 18px; border-top: 1px solid var(--line); }
.admin-user-support-actions { margin-top: 0; padding-top: 0; border-top: 0; }
.admin-side-actions form { display: grid; gap: 0; margin: 0; }
.admin-user-section-nav { align-content: start; }
.admin-user-section-tab { display: block; width: 100%; margin: 0; padding: 12px 14px; border: 1px solid var(--line); border-radius: 14px; background: white; color: inherit; font: inherit; font-size: 14px; font-weight: 800; text-align: left; cursor: pointer; }
.admin-user-section-tab.is-active, .admin-user-section-tab:hover, .admin-user-section-tab:focus-visible { border-color: var(--ink); background: var(--paper); color: var(--ink); outline: none; }
.admin-user-form-actions { justify-content: flex-end; margin-top: 16px; }
.admin-user-form-actions .button { width: auto; min-width: 140px; }
.support-link-fallback { margin-top: 4px; }
.admin-card .bulk-actions-bar { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; margin-bottom: 12px; padding: 10px 12px; border: 1px solid var(--line); border-radius: 14px; background: #fffaf0; }
.admin-products-actions-row { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin-bottom: 12px; padding: 10px 12px; border: 1px solid var(--line); border-radius: 14px; background: #fffaf0; }
.admin-card .admin-products-actions-row .bulk-actions-bar { flex: 1 1 auto; min-width: 0; margin: 0; padding: 0; border: 0; background: transparent; border-radius: 0; }
.admin-products-import { position: relative; display: flex; align-items: center; margin-left: auto; flex: 0 0 auto; }
.admin-products-import .button { width: auto; min-width: 0; min-height: 40px; padding: 9px 16px; font-size: 12px; white-space: nowrap; }
.admin-products-import-file { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); border: 0; }
.bulk-actions-bar span { flex: 0 0 auto; margin-right: 6px; font-size: 12px; color: #6e686c; font-weight: 800; }
.bulk-actions-bar .button { flex: 0 0 auto; width: auto; min-width: 0; min-height: 40px; padding: 9px 16px; font-size: 12px; white-space: nowrap; }
.bulk-actions-bar .button-outline:first-of-type { color: white; background: var(--cyan); border-color: var(--cyan); }
.bulk-actions-bar .button-outline:nth-of-type(2) { color: var(--ink); background: var(--yellow); border-color: var(--yellow); }
.table-check { display: inline-flex; align-items: center; justify-content: center; width: 28px; height: 28px; }
.table-check input { width: 18px; height: 18px; accent-color: var(--pink); }
.support-link-fallback input { font-size: 11px; }
.admin-order-grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(280px, 350px); gap: 18px; align-items: start; min-width: 0; }
.admin-order-item { display: flex; flex-wrap: wrap; align-items: flex-start; justify-content: space-between; gap: 14px; padding: 17px 0; border-top: 1px solid var(--line); }
.admin-order-item-image { width: 82px; height: 82px; flex: 0 0 82px; object-fit: contain; border: 1px solid var(--line); border-radius: 12px; background: #fff; }
.admin-order-item > div { display: grid; flex: 1 1 auto; min-width: 0; gap: 4px; }
.admin-order-item span, .admin-order-item small { color: #777174; font-size: 12px; }
.admin-order-item-specs { display: flex; flex-wrap: wrap; gap: 6px; min-width: 0; }
.admin-order-item-specs span { padding: 5px 8px; border: 1px solid var(--line); border-radius: 8px; background: #fff; color: var(--ink); font-weight: 800; line-height: 1.25; overflow-wrap: anywhere; }
.admin-order-item-files { flex: 1 0 100%; order: 2; display: grid; gap: 8px; min-width: 0; }
.admin-order-item-files-heading { display: flex; flex-wrap: wrap; gap: 6px 10px; align-items: baseline; }
.admin-order-item-files-heading b { font-size: 13px; }
.admin-order-artwork-files article { background: #fff; }
.admin-order-file-pending { border-style: dashed !important; }
.admin-order-item > strong { order: 3; margin-left: auto; }
.admin-production-flags { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 8px; }
.admin-production-flag { display: inline-flex; align-items: center; gap: 7px; max-width: 100%; padding: 8px 10px; border: 1px solid rgba(0, 0, 0, .1); border-radius: 12px; color: var(--ink); font-size: 12px; font-weight: 850; line-height: 1.25; box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .52); }
.admin-production-flag > b { flex: 0 0 auto; color: #854900; font-size: 10px; font-weight: 950; letter-spacing: .08em; text-transform: uppercase; }
.admin-production-flag > span { min-width: 0; color: var(--ink); font-size: 12px; overflow-wrap: anywhere; }
.admin-production-flag-finishing { border-color: #edc83f; background: #fff4bd; }
.admin-production-flag-variation { border-color: #85cfea; background: #eaf8ff; }
.admin-files { display: grid; grid-template-columns: minmax(0, 1fr); gap: 9px; min-width: 0; }
.admin-files article { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: flex-start; gap: 12px 18px; min-width: 0; max-width: 100%; padding: 16px; border: 1px solid var(--line); border-radius: 12px; background: #faf8f3; }
.admin-files article > div { display: grid; flex: 1 1 220px; gap: 4px; min-width: 0; }
.admin-files article > div b, .admin-files article > div small { overflow-wrap: anywhere; }
.admin-files article > span { display: flex; flex-wrap: wrap; gap: 8px 12px; align-items: center; justify-content: flex-end; min-width: 0; max-width: 100%; }
.admin-files article > span form { margin: 0; display: flex; align-items: center; }
.admin-files article > span button { margin: 0; padding: 0; border: 0; background: transparent; color: inherit; font: inherit; font-size: 11px; font-weight: 900; line-height: 1.3; text-decoration: underline; text-underline-offset: 2px; cursor: pointer; white-space: normal; }
.admin-files a { font-size: 11px; font-weight: 900; }
.file-type { color: var(--pink); font-size: 9px; font-weight: 950; text-transform: uppercase; letter-spacing: .08em; }
.status-history { display: grid; gap: 0; margin: 0; padding: 0; list-style: none; }
.status-history li { display: grid; grid-template-columns: 16px 1fr; gap: 12px; padding: 12px 0; }
.status-history li > span { width: 10px; height: 10px; margin-top: 4px; border: 3px solid var(--cyan); border-radius: 99px; background: white; }
.status-history div { display: grid; gap: 4px; }
.status-history small { color: #777174; }
.status-history p { margin: 3px 0 0; color: #615b5f; }
.internal-note { margin-top: 18px; padding: 15px; border-left: 6px solid var(--yellow); background: #faf6e8; }
.internal-note p { margin-bottom: 0; }
.construction-preview-summary { display: flex; flex-wrap: wrap; gap: 12px; align-items: center; justify-content: space-between; margin-top: 14px; padding: 15px; border: 1px dashed var(--line); border-radius: 16px; background: #fffaf0; }
.construction-preview-summary > div { display: grid; gap: 4px; min-width: min(100%, 320px); }
.construction-preview-summary p { margin: 0; color: #615b5f; }
.construction-preview-summary .button { width: auto; min-width: 0; }
.construction-preview-summary > span { color: var(--pink); font-size: 12px; font-weight: 900; }
.construction-preview-dialog { width: min(760px, calc(100vw - 32px)); max-height: min(760px, calc(100vh - 32px)); padding: 22px; border: 2px solid var(--ink); border-radius: 24px; background: #fffdf8; color: var(--ink); box-shadow: 14px 14px 0 rgba(0, 209, 255, .35); }
.construction-preview-dialog::backdrop { background: rgba(14, 12, 18, .44); backdrop-filter: blur(2px); }
.construction-preview-dialog-head { position: relative; display: flex; justify-content: space-between; gap: 18px; padding-right: 44px; }
.construction-preview-dialog-head h3 { margin: 0; font-size: 24px; }
.construction-preview-admin-fixed { margin: 16px 0 8px; padding: 12px 14px; border: 1px solid var(--line); border-radius: 14px; background: #f4fff9; }
.construction-preview-list { display: grid; gap: 0; max-height: 360px; overflow: auto; padding-right: 6px; }
.construction-preview-user.is-disabled { opacity: .55; }
.construction-presence-warning { display: grid; gap: 12px; margin: 14px 0; padding: 14px; border: 1px dashed var(--line); border-radius: 18px; background: #f7fff8; }
.construction-presence-warning.has-active-users { border-color: rgba(255, 0, 127, .45); background: #fff6dc; box-shadow: inset 4px 0 0 var(--pink); }
.construction-presence-head { display: flex; justify-content: space-between; gap: 14px; align-items: flex-start; }
.construction-presence-head b { color: var(--ink); }
.construction-presence-head p { margin: 4px 0 0; color: #6d666a; font-size: 13px; line-height: 1.45; }
.construction-presence-head > span { flex: 0 0 auto; padding: 6px 10px; border-radius: 999px; background: var(--ink); color: #fff; font-size: 12px; font-weight: 900; }
.construction-presence-list { display: grid; gap: 8px; max-height: 300px; overflow: auto; padding-right: 4px; }
.construction-presence-item { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 8px 12px; padding: 11px 12px; border: 1px solid var(--line); border-radius: 14px; background: #fff; }
.construction-presence-item.is-active { border-color: rgba(255, 0, 127, .48); background: #fffaf1; }
.construction-presence-item b { display: block; color: var(--ink); }
.construction-presence-item small { color: #777175; font-size: 12px; }
.construction-presence-item > span { align-self: start; padding: 4px 8px; border-radius: 999px; background: #edf2f7; color: #48515c; font-size: 11px; font-weight: 900; text-transform: uppercase; }
.construction-presence-item.is-active > span { background: #ffe0ef; color: var(--pink); }
.construction-presence-item ol { grid-column: 1 / -1; margin: 2px 0 0 18px; padding: 0; color: #4b4549; font-size: 12px; }
.construction-presence-item li { margin: 3px 0; }
.admin-active-sessions { align-self: start; }
.active-sessions-panel { display: grid; gap: 12px; }
.active-session-list { display: grid; gap: 12px; }
.active-session-card { display: grid; gap: 10px; padding: 13px; border: 1px solid var(--line); border-radius: 16px; background: #fffaf0; }
.active-session-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; }
.active-session-head b { display: block; color: var(--ink); }
.active-session-head small { display: block; color: #6c666a; font-size: 12px; overflow-wrap: anywhere; }
.active-session-head > span { flex: 0 0 auto; padding: 5px 9px; border-radius: 999px; background: #eafbf1; color: #087b42; font-size: 12px; font-weight: 900; }
.active-session-card dl { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; margin: 0; }
.active-session-card dt { color: #777175; font-size: 11px; font-weight: 900; text-transform: uppercase; letter-spacing: .05em; }
.active-session-card dd { margin: 2px 0 0; color: var(--ink); font-size: 13px; font-weight: 800; }
.active-session-pages { display: grid; gap: 6px; margin: 0; padding: 10px 0 0 18px; border-top: 1px dashed var(--line); }
.active-session-pages li { padding-left: 2px; }
.active-session-pages a { display: block; color: var(--cyan-dark); font-size: 13px; font-weight: 900; overflow-wrap: anywhere; }
.active-session-pages span { display: block; color: var(--ink); font-size: 13px; font-weight: 800; }
.active-session-pages small { color: #7b7479; font-size: 12px; }
.dialog-actions { display: flex; justify-content: flex-end; margin-top: 18px; }
.admin-product-form,
.admin-settings-form { display: block; }
.admin-product-editor { display: grid; gap: 18px; }
.admin-product-tabs { display: flex; flex-wrap: wrap; gap: 8px; padding: 12px; border: 1px solid var(--line); border-radius: 16px; background: #fffaf0; }
.admin-product-tab { width: auto; min-width: 0; min-height: 40px; padding: 9px 14px; border: 1px solid var(--line); border-radius: 999px; background: white; color: var(--ink); font-size: 12px; font-weight: 850; cursor: pointer; text-decoration: none; transition: background .15s ease, border-color .15s ease, color .15s ease, box-shadow .15s ease; }
.admin-product-tab:hover, .admin-product-tab:focus-visible { border-color: var(--cyan); color: var(--ink); outline: none; }
.admin-product-tab.is-active { border-color: var(--ink); background: var(--yellow); box-shadow: 4px 4px 0 var(--cyan); }
.admin-product-panels { display: grid; gap: 18px; }
.admin-product-panel { display: none; gap: 18px; }
.admin-product-panel.is-active { display: grid; }
.vector-preflight-source { display: grid; gap: 10px; margin: 0; padding: 14px 16px; border: 1px solid var(--line); border-radius: 14px; }
.vector-preflight-source legend { padding: 0 6px; font-size: 12px; font-weight: 850; }
.vector-preflight-mode-panel { display: none; gap: 12px; margin-top: 12px; }
.vector-preflight-mode-panel.is-active { display: grid; }
.admin-product-panel-actions { display: flex; justify-content: flex-end; padding-top: 4px; }
.admin-product-panel-actions .button { width: auto; min-width: 220px; box-shadow: 5px 5px 0 var(--cyan); }
.admin-image-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; }
.admin-image-grid article { display: grid; gap: 10px; padding: 12px; border: 1px solid var(--line); border-radius: 13px; }
.admin-image-grid img { width: 100%; aspect-ratio: 4 / 3; border-radius: 9px; object-fit: cover; background: #eeeae2; }
.image-primary-field { padding: 10px; border-radius: 10px; background: #fff8df; }
.link-danger { width: fit-content; padding: 0; border: 0; background: transparent; color: #9c235c; font-size: 11px; font-weight: 850; text-decoration: underline; cursor: pointer; }
.link-muted { width: fit-content; padding: 0; border: 0; background: transparent; color: #5f5960; font-size: 11px; font-weight: 850; text-decoration: underline; cursor: pointer; }
.row-link-actions { display: flex; gap: 10px; align-items: center; padding-bottom: 12px; }
.form-actions-inline { display: flex; flex-wrap: wrap; gap: 10px; align-items: center; justify-content: flex-end; }
.finishing-editor { display: grid; gap: 10px; }
.finishing-editor-row { display: grid; grid-template-columns: minmax(120px, 1.05fr) minmax(130px, 1.15fr) minmax(82px, .65fr) minmax(70px, .5fr) minmax(70px, .5fr) minmax(58px, .4fr) minmax(120px, .9fr) auto auto auto; gap: 10px; align-items: end; min-width: 0; padding: 13px; border: 1px solid var(--line); border-radius: 13px; background: #faf8f3; }
.variation-editor { display: grid; gap: 10px; }
.variation-editor-row { display: grid; grid-template-columns: minmax(130px, 1.05fr) minmax(110px, .82fr) minmax(80px, .52fr) minmax(120px, .9fr) auto auto; gap: 10px; align-items: end; min-width: 0; padding: 13px; border: 1px solid var(--line); border-radius: 13px; background: #faf8f3; }
.variation-image-preview { display: grid; gap: 8px; }
.variation-image-preview img { width: 84px; height: 84px; object-fit: cover; border-radius: 10px; border: 1px solid var(--line); }
.variation-options select { width: 100%; }
[data-finishing-quantity-base] { display: grid; gap: 8px; }
[data-finishing-quantity-base][hidden] { display: none; }
.characteristic-editor-row { grid-template-columns: .9fr 1.4fr auto; }
.finishing-editor-row .check-field { padding-bottom: 12px; }
.check-field.is-disabled { opacity: .55; }
.artwork-field-editor-row { grid-template-columns: minmax(150px, .9fr) minmax(180px, 1.1fr) auto auto; }
.admin-artwork-labels-row { min-width: 0; grid-template-columns: minmax(180px, 1.4fr) minmax(90px, .5fr) minmax(80px, .45fr) minmax(48px, .25fr); gap: 10px; }
.admin-descriptions-row { min-width: 0; grid-template-columns: minmax(180px, 1.4fr) minmax(90px, .5fr) minmax(80px, .45fr) minmax(48px, .25fr); gap: 10px; }
.admin-order-status-row { min-width: 0; grid-template-columns: 28px minmax(120px, 1.2fr) minmax(90px, .8fr) minmax(48px, .25fr) minmax(62px, .34fr) minmax(74px, .42fr) minmax(44px, .22fr); gap: 10px; }
.admin-order-status-row code { font-size: 11px; word-break: break-all; }
.admin-message-tag-row { min-width: 0; grid-template-columns: minmax(110px, .8fr) minmax(140px, 1fr) minmax(220px, 1.7fr) minmax(90px, .55fr) minmax(120px, .7fr); gap: 10px; align-items: center; }
.admin-message-tag-row input, .admin-message-tag-row textarea { width: 100%; }
.admin-message-tag-row textarea { min-height: 48px; resize: vertical; }
.tag-chip-list { display: flex; flex-wrap: wrap; gap: 7px; margin-top: 8px; }
.tag-chip { display: inline-flex; gap: 6px; align-items: center; padding: 7px 10px; border: 1px solid var(--line); border-radius: 999px; background: white; font-size: 12px; }
.tag-chip.is-muted { opacity: .55; }
.inline-actions { display: flex; flex-wrap: wrap; gap: 7px; justify-content: flex-end; }
.button-small { min-height: 34px; padding: 8px 12px; font-size: 12px; box-shadow: none; }
.check-field-compact { padding: 0; }
.mini-status.is-positive { background: #dff4e8; color: #17633f; }
.mini-status.is-warning { background: #fff1cc; color: #7a5a00; }
.admin-row-action-menu { position: relative; display: inline-flex; justify-self: end; z-index: 1; }
.admin-row-action-menu summary { display: inline-grid; place-items: center; width: 34px; height: 34px; border: 1px solid var(--line); border-radius: 8px; background: #fff; color: var(--ink); font-size: 16px; font-weight: 900; line-height: 1; cursor: pointer; list-style: none; }
.admin-row-action-menu summary::-webkit-details-marker { display: none; }
.admin-row-action-menu[open] { z-index: 60; }
.admin-row-action-menu[open] summary { border-color: #d7cbb7; background: #fffaf0; }
.admin-row-action-menu-list { position: fixed; top: var(--admin-action-menu-top, 0); left: var(--admin-action-menu-left, 0); z-index: 999; display: grid; min-width: 132px; padding: 6px; border: 1px solid var(--line); border-radius: 8px; background: #fff; box-shadow: var(--shadow); }
.admin-row-action-menu-list a,
.admin-row-action-menu-list button { display: block; width: 100%; padding: 9px 10px; border: 0; border-radius: 6px; background: transparent; color: var(--ink); font: inherit; font-size: 13px; font-weight: 800; text-align: left; text-decoration: none; cursor: pointer; }
.admin-row-action-menu-list a:hover,
.admin-row-action-menu-list button:hover { background: #f4f0e8; color: var(--pink); }
.central-finishing-list { display: grid; gap: 10px; }
.central-finishing-option { display: grid; gap: 8px; padding: 14px; border: 1px solid var(--line); border-radius: 13px; background: #faf8f3; }
.central-finishing-option .check-field { grid-template-columns: auto 1fr; align-items: start; }
.central-finishing-option .check-field span { display: grid; gap: 3px; }
.central-finishing-option p { margin: 0; color: #777174; font-size: 12px; line-height: 1.55; }
.product-finishing-picker { display: grid; gap: 14px; min-width: 0; }
.product-finishing-filter { max-width: 340px; }
.product-finishing-grid .central-finishing-category { grid-template-columns: repeat(3, minmax(0, 1fr)); align-items: stretch; }
.product-finishing-grid .central-finishing-category[hidden] { display: none; }
.product-finishing-grid .central-finishing-category h3 { grid-column: 1 / -1; }
.product-finishing-grid .central-finishing-option { min-width: 0; align-content: start; padding: 12px; gap: 7px; }
.product-finishing-grid .central-finishing-option .check-field { min-width: 0; margin: 0; }
.product-finishing-grid .central-finishing-option .check-field span { min-width: 0; overflow-wrap: anywhere; }
.product-finishing-grid .central-finishing-option b { font-size: 13px; line-height: 1.35; }
.product-finishing-grid .central-finishing-option small { font-size: 11px; line-height: 1.4; }
.product-finishing-grid .central-required { font-size: 12px; }
@media (max-width: 1100px) {
  .product-finishing-grid .central-finishing-category { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 680px) {
  .product-finishing-grid .central-finishing-category { grid-template-columns: minmax(0, 1fr); }
}
.central-characteristic-groups { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; align-items: start; }
.characteristic-values { display: grid; gap: 10px; }
.central-characteristic-group { display: grid; gap: 8px; margin: 0; padding: 14px; border: 1px solid var(--line); border-radius: 13px; background: #faf8f3; }
.central-characteristic-group legend { padding: 0 8px; color: var(--ink); font-size: 12px; font-weight: 950; text-transform: uppercase; letter-spacing: .06em; }
.central-characteristic-group .check-field { grid-template-columns: auto 1fr; align-items: start; padding: 7px 0; border-top: 1px solid #eeeae2; }
.central-characteristic-group .check-field:first-of-type { border-top: 0; }
.central-characteristic-group .check-field span { display: grid; gap: 3px; }
.characteristic-value-editor { display: grid; gap: 10px; }
.characteristic-value-row { display: grid; grid-template-columns: minmax(0, 1fr) auto auto; gap: 10px; align-items: end; padding: 12px; border: 1px solid var(--line); border-radius: 12px; background: #faf8f3; }
.characteristic-value-row small { padding-bottom: 12px; color: #777174; white-space: nowrap; }
.central-required { padding-left: 28px; }
.tier-list { display: grid; gap: 8px; }
.tier-list span { display: flex; justify-content: space-between; padding: 10px 0; border-top: 1px solid var(--line); color: #6f696d; }
.button-light { border: 1px solid var(--line); background: white; }

/* Catálogo enriquecido */
.product-art img { display: block; width: 100%; height: auto; object-fit: contain; object-position: center; background: var(--paper-muted); }
.product-gallery { margin: 0 0 32px; }
.product-visual-summary { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; align-items: start; margin-bottom: 18px; }
.product-visual-summary .product-gallery { min-width: 0; margin: 0; }
.product-visual-summary .product-main-image { display: block; }
.product-side-characteristics { display: grid; align-content: start; gap: 8px; width: 100%; max-height: 520px; aspect-ratio: 4 / 3; padding: 4px 0; overflow: auto; }
.product-side-characteristics h2 { margin: 0 0 2px; font-size: 12px; line-height: 1.2; font-weight: 950; text-transform: uppercase; letter-spacing: .06em; }
.product-side-characteristics div { display: grid; grid-template-columns: 7.5rem minmax(0, 1fr); gap: 8px; align-items: baseline; padding: 0 0 7px; border-bottom: 1px solid var(--line); font-size: 13px; line-height: 1.35; }
.product-side-characteristics strong { color: var(--ink); font-weight: 850; }
.product-side-characteristics span { color: #625c60; overflow-wrap: anywhere; }
.product-image-characteristics { min-width: 0; width: 100%; aspect-ratio: 4 / 3; overflow-y: auto; padding: 10px 12px; border: 1px solid var(--line); border-radius: 14px; background: var(--white); }
.product-image-characteristics h2 { margin: 0 0 8px; font-size: 13px; line-height: 1.2; font-weight: 950; text-transform: uppercase; letter-spacing: .04em; }
.product-image-characteristics dl { display: grid; gap: 8px; margin: 0; font-size: 12px; line-height: 1.35; }
.product-image-characteristics dt { font-weight: 850; }
.product-image-characteristics dd { margin: 2px 0 0; color: #625c60; overflow-wrap: anywhere; }
.product-visual-summary.without-image { grid-template-columns: 1fr; }
.product-visual-summary.without-image .product-image-characteristics { aspect-ratio: auto; }
.product-simulation-card { margin: 0 0 18px; padding: 12px; border: 1px solid var(--line); border-radius: 18px; background: #fffaf0; box-shadow: 5px 5px 0 #eee7dc; }
.product-visual-summary .product-simulation-card { display: grid; grid-template-rows: auto minmax(0, 1fr) auto; width: 100%; max-height: 520px; aspect-ratio: 4 / 3; margin: 0; overflow: hidden; }
.product-simulation-head { display: flex; flex-wrap: wrap; gap: 6px 10px; align-items: baseline; justify-content: space-between; margin-bottom: 10px; }
.product-simulation-head span { color: #777174; font-size: 10px; font-weight: 950; letter-spacing: .08em; text-transform: uppercase; }
.product-simulation-head strong { font-size: 13px; font-weight: 950; }
.product-simulation-canvas { display: grid; place-items: center; min-height: 170px; padding: 10px; border: 1px dashed #d8cdbc; border-radius: 14px; background: white; overflow: hidden; cursor: grab; user-select: none; touch-action: none; }
.product-simulation-canvas.is-dragging { cursor: grabbing; }
.product-visual-summary .product-simulation-canvas { min-height: 0; height: 100%; }
.product-simulation-svg { display: block; width: 100%; max-height: 330px; overflow: visible; }
.product-visual-summary .product-simulation-svg { width: 100%; height: 100%; max-height: 100%; overflow: hidden; will-change: transform; }
.product-simulation-card .field-help { margin: 9px 0 0; }
@media (max-width: 480px) {
  .product-visual-summary { gap: 8px; }
  .product-side-characteristics { gap: 6px; font-size: 11px; }
  .product-side-characteristics div { grid-template-columns: 1fr; gap: 2px; font-size: 11px; }
  .product-image-characteristics { padding: 7px; }
  .product-image-characteristics dl { gap: 5px; font-size: 11px; }
}
.product-main-image-zoom { display: block; width: 100%; padding: 0; border: 0; background: transparent; cursor: zoom-in; border-radius: 20px; }
.product-main-image-zoom:focus-visible { outline: 3px solid var(--cyan); outline-offset: 3px; }
.product-main-image { width: 100%; max-height: 520px; aspect-ratio: 4 / 3; border: 2px solid var(--ink); border-radius: 20px; object-fit: cover; background: white; pointer-events: none; }
.product-image-lightbox { position: relative; width: min(96vw, 1120px); max-width: 96vw; max-height: 96vh; margin: auto; padding: 0 56px; border: 0; background: transparent; color: white; overflow: visible; }
.product-image-lightbox::backdrop { background: rgba(14, 12, 18, .82); backdrop-filter: blur(2px); }
.product-image-lightbox-img { display: block; width: auto; max-width: min(84vw, 1000px); max-height: min(86vh, 860px); margin: 0 auto; border-radius: 16px; object-fit: contain; background: #111; box-shadow: 0 24px 70px rgba(0, 0, 0, .45); }
.product-image-lightbox-close { position: absolute; top: max(8px, env(safe-area-inset-top, 0px)); right: max(8px, env(safe-area-inset-right, 0px)); z-index: 2; display: grid; place-items: center; width: 44px; height: 44px; padding: 0; border: 1px solid rgba(255, 255, 255, .35); border-radius: 999px; background: rgba(20, 18, 19, .72); color: white; font-size: 28px; font-weight: 700; line-height: 1; cursor: pointer; }
.product-image-lightbox-close:hover,
.product-image-lightbox-close:focus-visible,
.product-image-lightbox-nav:hover,
.product-image-lightbox-nav:focus-visible { border-color: white; background: rgba(20, 18, 19, .92); outline: 2px solid rgba(12, 169, 223, .55); outline-offset: 2px; }
.product-image-lightbox-nav { position: absolute; top: 50%; z-index: 2; display: grid; place-items: center; width: 46px; height: 46px; padding: 0; border: 1px solid rgba(255, 255, 255, .35); border-radius: 999px; background: rgba(20, 18, 19, .72); color: white; font-size: 32px; font-weight: 700; line-height: 1; cursor: pointer; transform: translateY(-50%); }
.product-image-lightbox-prev { left: 4px; }
.product-image-lightbox-next { right: 4px; }
.product-image-lightbox-nav[hidden] { display: none; }
.product-image-lightbox-counter { position: absolute; left: 50%; bottom: max(10px, env(safe-area-inset-bottom, 0px)); z-index: 2; transform: translateX(-50%); padding: 5px 12px; border-radius: 999px; background: rgba(20, 18, 19, .72); color: rgba(255, 255, 255, .92); font-size: 12px; font-weight: 750; letter-spacing: .04em; }
@media (max-width: 720px) {
  .product-image-lightbox { padding: 0 44px; }
  .product-image-lightbox-nav { width: 40px; height: 40px; font-size: 28px; }
  .product-image-lightbox-img { max-width: min(78vw, 1000px); }
}
.product-thumbs-carousel { display: grid; grid-template-columns: 34px minmax(0, 1fr) 34px; gap: 8px; align-items: center; margin-top: 8px; }
.product-thumbs { display: grid; grid-auto-flow: column; grid-auto-columns: calc((100% - 24px) / 4); gap: 8px; overflow-x: auto; overscroll-behavior-inline: contain; scroll-behavior: smooth; scrollbar-width: none; }
.product-thumbs::-webkit-scrollbar { display: none; }
.product-thumbs button { padding: 3px; border: 2px solid transparent; border-radius: 12px; background: transparent; cursor: pointer; }
.product-thumbs button:hover, .product-thumbs button.active { border-color: var(--pink); background: white; }
.product-thumbs img { width: 100%; aspect-ratio: 1; border-radius: 8px; object-fit: cover; }
.thumb-arrow { display: grid; place-items: center; width: 34px; height: 34px; border: 1px solid var(--line); border-radius: 999px; background: white; color: var(--ink); font-size: 24px; line-height: 1; cursor: pointer; box-shadow: 3px 3px 0 #eee7dc; }
.thumb-arrow:hover { border-color: var(--pink); color: var(--pink); }
.product-tech-note { border-left-color: var(--pink); }
.finishing-options { display: grid; gap: 8px; }
.finishing-option { position: relative; overflow: visible; padding: 10px; border-radius: 9px; background: #faf8f3; }
.finishing-option-has-quantity { display: grid; grid-template-columns: minmax(0, 1fr) minmax(104px, 128px); gap: 10px; align-items: center; }
.finishing-option-has-quantity > label:first-child { min-width: 0; }
.finishing-option.is-muted-by-variation { background: #eceae6; opacity: .48; filter: grayscale(1); }
.finishing-option.is-muted-by-variation label { cursor: not-allowed; }
.finishing-option .finishing-variation-block { display: none; color: #6f696d; font-weight: 800; }
.finishing-option.is-muted-by-variation .finishing-variation-block { display: block; }
.finishing-options label { grid-template-columns: auto 1fr; align-items: start; padding: 0; background: transparent; cursor: pointer; }
.finishing-options .finishing-quantity-field { display: grid; grid-template-columns: auto minmax(88px, 104px); align-items: center; justify-self: end; gap: 6px; width: max-content; margin: 0; font-size: 11px; font-weight: 900; color: var(--ink); cursor: default; }
.finishing-options .finishing-quantity-field input { width: 104px; height: 34px; margin: 0; padding: 5px 9px; border-radius: 10px; }
.product-detail .config-card .finishing-options .finishing-quantity-field input { width: 104px; height: 34px; margin: 0; }
.finishing-options .finishing-name-row { display: flex; align-items: center; gap: 8px; min-width: 0; }
.finishing-name-row b { min-width: 0; }
.finishing-preview { position: relative; flex: 0 0 auto; display: grid; place-items: center; width: 22px; height: 22px; padding: 0; border: 1px solid var(--line); border-radius: 999px; background: white; cursor: help; }
.finishing-preview[data-finishing-preview-zoom] { cursor: zoom-in; }
.finishing-preview[data-finishing-preview-zoom]::before,
.finishing-preview[data-finishing-preview-zoom]::after { position: absolute; opacity: 0; pointer-events: none; transition: opacity .14s ease, transform .14s ease; }
.finishing-preview[data-finishing-preview-zoom]::before { content: ""; right: -8px; bottom: -7px; z-index: 2; width: 16px; height: 16px; border: 2px solid var(--pink); border-radius: 999px; background: white; box-shadow: 2px 2px 0 rgba(196, 45, 108, .18); transform: scale(.82); }
.finishing-preview[data-finishing-preview-zoom]::after { content: "+"; right: -6px; bottom: -7px; z-index: 3; width: 16px; height: 16px; color: var(--pink); font-size: 13px; font-weight: 950; line-height: 15px; text-align: center; transform: scale(.82); }
.finishing-preview[data-finishing-preview-zoom]:hover::before,
.finishing-preview[data-finishing-preview-zoom]:hover::after,
.finishing-preview[data-finishing-preview-zoom]:focus::before,
.finishing-preview[data-finishing-preview-zoom]:focus::after,
.finishing-preview[data-finishing-preview-zoom]:focus-visible::before,
.finishing-preview[data-finishing-preview-zoom]:focus-visible::after { opacity: 1; transform: scale(1); }
.finishing-options .finishing-preview-icon { display: block; width: 10px; height: 10px; border: 1.5px solid var(--pink); border-radius: 3px; box-shadow: 2px 2px 0 rgba(196, 45, 108, .18); }
.finishing-options .finishing-preview-pop { display: none; position: absolute; left: 0; top: calc(100% + 8px); z-index: 12; width: 220px; padding: 8px; border: 1px solid var(--line); border-radius: 12px; background: white; box-shadow: 8px 8px 0 #eee7dc; }
.finishing-preview:hover .finishing-preview-pop,
.finishing-preview:focus .finishing-preview-pop,
.finishing-preview:focus-visible .finishing-preview-pop { display: block; }
.finishing-preview-pop img { display: block; width: 100%; aspect-ratio: 1; object-fit: contain; border-radius: 8px; background: #faf8f3; }
.variation-choice { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 8px; align-items: center; }
.variation-choice > label { margin: 0; min-width: 0; }
.variation-option-preview .finishing-preview-icon { display: block; width: 10px; height: 10px; border: 1.5px solid var(--pink); border-radius: 3px; box-shadow: 2px 2px 0 rgba(196, 45, 108, .18); }
.variation-option-preview .finishing-preview-pop { display: none; position: absolute; right: 0; left: auto; top: calc(100% + 8px); z-index: 12; width: 220px; padding: 8px; border: 1px solid var(--line); border-radius: 12px; background: white; box-shadow: 8px 8px 0 #eee7dc; }
.admin-finishing-image { display: grid; gap: 10px; justify-items: start; }
.admin-finishing-image img { width: 160px; height: 160px; object-fit: contain; border: 1px solid var(--line); border-radius: 12px; background: #faf8f3; }
@media (max-width: 520px) {
  .finishing-option-has-quantity { grid-template-columns: 1fr; }
  .finishing-options .finishing-quantity-field { justify-self: start; }
}
.checkout-summary li small { display: block; margin-top: 2px; color: #8a8387; font-weight: 600; }
.credit-topup-form { display: grid; gap: 16px; grid-column: 2; }
.quick-credit-values { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; }
.quick-credit-values button { padding: 11px; border: 1px solid var(--line); border-radius: 10px; background: white; font-weight: 900; cursor: pointer; }
.credit-topup-summary { display: flex; justify-content: space-between; align-items: baseline; gap: 12px; padding: 14px 16px; border: 1px solid var(--line); border-radius: 12px; background: #f8fbef; }
.credit-topup-summary span { color: #6f696d; font-size: 11px; font-weight: 850; text-transform: uppercase; letter-spacing: .08em; }
.credit-topup-summary strong { font-size: 24px; }
.credit-pending-callout { display: grid; gap: 12px; grid-column: 2; }
.credit-pending-actions { display: flex; flex-wrap: wrap; gap: 10px; align-items: center; }
.credit-list { display: grid; gap: 10px; width: 100%; }
.credit-list article,
.credit-list a { display: flex; justify-content: space-between; gap: 18px; padding: 15px; border: 1px solid var(--line); border-radius: 12px; background: #faf8f3; color: var(--ink); text-decoration: none; }
.credit-list a:hover, .credit-list a:focus-visible { border-color: var(--cyan); box-shadow: 0 10px 24px rgba(41,39,41,.08); outline: none; }
.credit-list article > div,
.credit-list a > div { display: grid; gap: 4px; min-width: 0; }
.credit-list article > span,
.credit-list a > span { display: grid; gap: 4px; align-content: center; text-align: right; white-space: nowrap; }
.credit-list small, .credit-list p { color: #777174; font-size: 12px; }
.credit-list p { margin: 0; }
.credit-list a { font-size: 12px; font-weight: 900; }
.money-positive { color: #17633f; }
.money-negative { color: var(--pink); }
.account-financial-list { margin-top: 12px; }
.credit-list.compact article { padding: 12px 0; border-width: 1px 0 0; border-radius: 0; background: transparent; }
.admin-spec-list { margin-bottom: 0; }
.pending-artwork-box { display: grid; gap: 12px; margin-top: 18px; padding: 18px; border: 1px solid var(--line); border-radius: 14px; background: #faf8f3; }
.pending-artwork-box h2, .pending-artwork-box p { margin: 0; }
.pending-artwork-box p { color: #706a6e; font-size: 12px; line-height: 1.55; }
.pending-artwork-box form { display: grid; gap: 10px; padding-top: 12px; border-top: 1px solid var(--line); }

.callout { margin: 0 0 18px; padding: 14px 16px; border: 1px solid var(--line); border-radius: 12px; background: #faf8f3; }
.callout-warning { border-left: 6px solid var(--yellow); background: #faf6e8; }
.callout-danger { border-left: 6px solid #b42318; background: #fde8e8; }
.pending-artwork-box.is-rejected { border-color: #f0b4b0; background: #fde8e8; }
.plain-list { display: grid; gap: 10px; margin: 0; padding-left: 18px; }
.plain-list small { color: #777174; }
.admin-inline-actions { display: flex; flex-wrap: wrap; gap: 10px; margin: 0 0 22px; }
.admin-preflight-row { min-width: 0; grid-template-columns: minmax(0, 1.25fr) minmax(0, .82fr) minmax(0, .58fr) minmax(0, .45fr) minmax(0, .9fr) minmax(0, .32fr) minmax(0, .28fr); }
.admin-preflight-check-row { min-width: 0; grid-template-columns: minmax(0, 1.45fr) minmax(0, .82fr) minmax(0, .58fr); }
.inline-form { display: inline; }

.proof-shell { max-width: 1280px; }
.proof-headline { margin: -18px 0 22px; font-size: 18px; font-weight: 850; }
.proof-headline-approved { color: #1f7a3a; }
.proof-headline-warning { color: #9a6b00; }
.proof-headline-rejected { color: #b42318; }
.proof-status-pill { display: inline-flex; align-items: center; padding: 8px 12px; border-radius: 999px; background: #eeeae2; font-size: 12px; font-weight: 900; }
.proof-status-approved { background: #e5f6ea; color: #1f7a3a; }
.proof-status-warning { background: #fff4cc; color: #9a6b00; }
.proof-status-rejected { background: #fde8e8; color: #b42318; }
.proof-layout { display: grid; grid-template-columns: minmax(0, 1.35fr) minmax(280px, 420px); gap: 22px; align-items: start; }
.proof-stage-card, .proof-results { display: grid; gap: 16px; }
.proof-page-tabs { display: flex; flex-wrap: wrap; gap: 8px; }
.proof-page-tabs button { padding: 9px 14px; border: 1px solid var(--line); border-radius: 999px; background: white; font-weight: 850; cursor: pointer; }
.proof-page-tabs button.is-active { border-color: var(--pink); background: var(--ink); color: white; }
.proof-stage { position: relative; overflow: hidden; min-height: 420px; border: 2px solid var(--ink); border-radius: 18px; background: #ece7de; }
.proof-viewport { position: relative; overflow: hidden; height: min(68vh, 640px); cursor: grab; touch-action: none; }
.proof-viewport:active { cursor: grabbing; }
.proof-scene { position: absolute; inset: 18px; display: grid; place-items: center; transform-origin: center center; }
.proof-card { position: relative; transform-style: preserve-3d; transition: transform .7s ease; }
.proof-card.is-single .proof-face:not(.is-solo) { display: none; }
.proof-face { position: relative; background: white; box-shadow: 10px 10px 0 rgba(32, 24, 27, .12); backface-visibility: hidden; }
.proof-face canvas, .proof-face img { display: block; max-width: min(100%, 720px); height: auto; }
.proof-face-back { position: absolute; inset: 0; transform: rotateY(180deg); }
.proof-card.is-flipped-vertical { transform: rotateY(180deg); }
.proof-card.is-flipped-horizontal .proof-face-back { transform: rotateX(180deg); }
.proof-card.is-flipped-horizontal { transform: rotateX(180deg); }
.proof-overlays { position: absolute; inset: 0; pointer-events: none; }
.proof-mark { position: absolute; box-sizing: border-box; }
.proof-mark-bleed { background: rgba(196, 45, 108, .12); }
.proof-mark-trim { border: 2px solid #c42d6c; }
.proof-mark-safe { border: 2px dashed #1f7a9a; }
.proof-loading, .proof-error { position: absolute; left: 18px; right: 18px; bottom: 16px; margin: 0; padding: 10px 12px; border-radius: 10px; background: rgba(255,255,255,.92); font-size: 13px; }
.proof-toolbar { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; }
.proof-toolbar .button { min-height: 40px; width: auto; padding: 8px 12px; }
.proof-toolbar label { display: flex; gap: 8px; align-items: center; margin: 0; font-size: 12px; }
.proof-toggle { font-weight: 750; }
.proof-legend { display: flex; flex-wrap: wrap; gap: 12px 18px; margin: 0; padding: 0; list-style: none; color: #6f696d; font-size: 12px; }
.proof-swatch { display: inline-block; width: 16px; height: 10px; margin-right: 6px; vertical-align: middle; }
.proof-swatch-trim { border: 2px solid #c42d6c; }
.proof-swatch-safe { border: 2px dashed #1f7a9a; }
.proof-swatch-bleed { background: rgba(196, 45, 108, .2); }
.proof-checks { display: grid; gap: 12px; margin: 0; padding: 0; list-style: none; }
.proof-check { padding: 12px 0; border-top: 1px solid var(--line); }
.proof-check:first-child { border-top: 0; }
.proof-check p, .proof-check small { display: block; margin: 6px 0 0; color: #615b5f; }
.proof-check-rejected { border-left: 4px solid #b42318; padding-left: 12px; }
.proof-check-warning { border-left: 4px solid #e2b100; padding-left: 12px; }
.proof-check-approved { border-left: 4px solid #2d8a4e; padding-left: 12px; }
.proof-fix { color: var(--ink) !important; }
.proof-disclaimer { background: #fffaf0; }
.proof-tech { color: #6f696d; font-size: 12px; }
.proof-tech ul { margin: 8px 0 0; padding-left: 18px; }

@media (max-width: 1250px) and (min-width: 851px) {
  .admin-grid, .admin-editor-grid, .admin-order-grid { grid-template-columns: 1fr; }
  .admin-card { padding: 18px; }
  .admin-page-title { gap: 12px; }
}
@media (max-width: 1100px) {
  .admin-shell:has(> .admin-nav) { grid-template-columns: 212px minmax(0, 1fr); gap: 20px; }
  .metric-grid-five, .metric-grid-six { grid-template-columns: repeat(auto-fit, minmax(min(135px, 100%), 1fr)); }
  .finishing-editor-row { grid-template-columns: 1fr 1fr; }
  .variation-editor-row { grid-template-columns: 1fr 1fr; }
  .product-tier-editor-head { display: none; }
  .product-tier-row,
  .product-tier-editor[data-quantity-cost-mode="from"] .product-tier-row { grid-template-columns: 1fr 1fr; }
  .characteristic-editor-row { grid-template-columns: 1fr; }
  .central-characteristic-groups { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .credit-use-box { grid-template-columns: 1fr; }
}
@media (max-width: 850px) {
  .admin-shell:has(> .admin-nav) { display: block; }
  .admin-nav { position: sticky; top: 82px; grid-auto-flow: column; grid-auto-columns: max-content; grid-template-columns: none; gap: 8px; max-height: none; margin: -12px 0 28px; overflow-x: auto; overflow-y: hidden; padding: 12px; }
  .admin-nav-brand { min-width: 126px; margin: 0 4px 0 0; padding: 0 12px 0 0; border-right: 1px solid rgba(255,255,255,.16); border-bottom: 0; }
  .admin-nav a { white-space: nowrap; }
  .metric-grid-five, .metric-grid-six { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .admin-filter, .admin-filter-wide, .admin-editor-grid, .admin-order-grid { grid-template-columns: 1fr; }
  .admin-product-tabs { overflow-x: auto; flex-wrap: nowrap; overscroll-behavior-inline: contain; scrollbar-width: none; }
  .admin-product-tabs::-webkit-scrollbar { display: none; }
  .admin-product-tab { flex: 0 0 auto; }
  .admin-product-panel-actions .button { width: 100%; min-width: 0; }
  .admin-image-grid { grid-template-columns: 1fr; }
  .finishing-editor-row { grid-template-columns: 1fr; }
  .variation-editor-row { grid-template-columns: 1fr; }
  .product-tier-row,
  .product-tier-editor[data-quantity-cost-mode="from"] .product-tier-row { grid-template-columns: 1fr; }
  .central-characteristic-groups { grid-template-columns: 1fr; }
  .characteristic-value-row { grid-template-columns: 1fr; }
  .admin-files article { flex-direction: column; }
  .proof-layout { grid-template-columns: 1fr; }
  .product-thumbs { grid-template-columns: none; grid-auto-columns: calc((100% - 24px) / 4); }
  .quick-credit-values { grid-template-columns: repeat(2, 1fr); }
  .credit-list article, .credit-list a { flex-direction: column; }
  .credit-list article > span, .credit-list a > span { text-align: left; }
}

.exclusive-tag,
.price-exclusive-current { color: var(--pink); }
.price-exclusive-old { color: #8d868a; font-weight: 700; }
.has-exclusive-price { display: flex; flex-wrap: wrap; align-items: baseline; gap: 8px; }
.exclusive-tag { display: inline-flex; width: fit-content; padding: 4px 8px; border-radius: 99px; background: #ffe8f2; font-size: 10px; font-weight: 900; letter-spacing: .04em; }
.product-price.has-exclusive-price strong,
.config-head.has-exclusive-price strong,
.estimate-total strong,
.cart-actions strong { display: inline-flex; flex-wrap: wrap; align-items: baseline; gap: 8px; }
.estimate-line-muted s { color: #8d868a; }
.discount-preview-box { background: #fffaf0; border: 1px solid #f0e2c8; border-radius: 12px; padding: 12px 14px; }
.discount-product-search-field { position: relative; display: grid; gap: 8px; overflow: visible; z-index: 1; }
.discount-product-suggestions { position: absolute; z-index: 40; top: calc(100% - 2px); left: 0; right: 0; display: grid; gap: 4px; max-height: 260px; overflow: auto; padding: 6px; border: 1px solid var(--line); border-radius: 12px; background: #fff; box-shadow: 0 14px 30px rgba(24, 20, 22, .12); }
.discount-product-suggestions.hidden { display: none; }
.discount-product-suggestion { width: 100%; text-align: left; padding: 10px 12px; border: 0; border-radius: 10px; background: transparent; color: var(--ink); cursor: pointer; font: inherit; }
.discount-product-suggestion:hover,
.discount-product-suggestion.is-active { background: #fff4d6; }
.discount-product-suggestion b { display: block; font-size: 12px; }
.discount-product-suggestion small { display: block; margin-top: 2px; color: #777174; font-size: 11px; }
.discount-product-summary { display: grid; gap: 10px; padding: 14px 16px; border: 1px solid #d8efe2; border-radius: 14px; background: #f7fcf9; }
.discount-product-summary.hidden { display: none; }
.discount-product-summary-head { display: grid; gap: 4px; }
.discount-product-summary-head b { font-size: 15px; }
.discount-product-summary-head small { color: #6d686b; }
.discount-product-summary-grid { display: grid; gap: 8px; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); }
.discount-product-summary-grid span { display: grid; gap: 2px; font-size: 11px; color: #6d686b; }
.discount-product-summary-grid strong { color: var(--ink); font-size: 12px; }
.discount-product-summary-characteristics { display: flex; flex-wrap: wrap; gap: 6px; }
.discount-product-summary-chip { padding: 5px 9px; border-radius: 999px; background: #fff; border: 1px solid var(--line); font-size: 11px; }
.discount-scope-fieldset { display: grid; gap: 10px; border: 1px solid var(--line); border-radius: 14px; padding: 14px 16px; margin: 0; }
.discount-scope-fieldset legend { padding: 0 6px; font-size: 12px; font-weight: 850; }
.account-subnav { display: flex; flex-wrap: wrap; gap: 10px; margin: -8px 0 18px; }
.account-subnav a { padding: 8px 12px; border-radius: 999px; background: #f4efe7; color: var(--ink); text-decoration: none; font-size: 13px; font-weight: 800; }
.account-subnav a[aria-current="page"] { background: var(--ink); color: #fff; }

.checkout-preflight-modal { position: fixed; inset: 0; z-index: 1200; display: grid; place-items: center; padding: 20px; background: rgba(20, 18, 19, .72); }
.checkout-preflight-modal[hidden] { display: none; }
.checkout-preflight-dialog { width: min(720px, 100%); max-height: calc(100vh - 40px); overflow: auto; padding: 22px; border-radius: 18px; background: #fff; box-shadow: 0 24px 70px rgba(0, 0, 0, .28); }
.checkout-preflight-dialog > header { display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; margin-bottom: 18px; }
.checkout-preflight-dialog h2 { margin: 2px 0 0; }
.checkout-preflight-status { padding: 14px 16px; border-radius: 12px; background: #eef8f0; border-left: 4px solid #2f8b4b; }
.checkout-preflight-status.is-rejeitado { background: #fff0ef; border-left-color: #c44237; }
.checkout-preflight-status.is-atencao { background: #fff8df; border-left-color: #d39b13; }
.checkout-preflight-checks { display: grid; gap: 8px; padding: 0; list-style: none; }
.checkout-preflight-checks li { display: grid; gap: 3px; padding: 10px 12px; border: 1px solid var(--line); border-radius: 10px; }
.checkout-preflight-checks span { color: var(--muted); font-size: 13px; }
.vector-checkout-reanalysis { display: grid; gap: 10px; border-color: #e3aa23; background: #fffaf0; }

.adesivo-vendo-editor { display: grid; gap: 12px; padding: 14px; border: 1px solid var(--line); border-radius: 14px; background: #fffdf8; }
.adesivo-vendo-line-row { display: grid; gap: 10px; padding: 12px; border: 1px solid var(--line); border-radius: 12px; background: #fff; }
.adesivo-vendo-format-row { display: flex; flex-wrap: wrap; gap: 10px; align-items: center; }
.adesivo-vendo-format-row select { width: auto; min-width: 140px; }
.adesivo-vendo-format-row > label:not(.check-field) { min-width: 150px; }
.adesivo-vendo-size-field { margin-left: auto; }
.adesivo-vendo-size-field input { width: 88px; }
.adesivo-vendo-spacing-field { display: flex; flex-wrap: wrap; gap: 10px; align-items: center; justify-content: space-between; padding: 10px 12px; border: 1px solid var(--line); border-radius: 12px; background: #fff; font-weight: 600; }
.adesivo-vendo-spacing-control { display: inline-flex; align-items: center; gap: 6px; font-weight: 500; color: var(--muted); }
.adesivo-vendo-spacing-control input { width: 88px; }
.adesivo-vendo-editor[data-adesivo-vendo-mode="standard_text"] { background: #f7f4ee; }
.adesivo-vendo-rich-toolbar { display: flex; flex-wrap: wrap; gap: 8px; align-items: end; }
.adesivo-vendo-rich-toolbar label { width: auto; min-width: 120px; }
.adesivo-vendo-rich-toolbar input { min-height: 38px; }
.adesivo-vendo-rich-toolbar input[type="number"] { width: 82px; }
.adesivo-vendo-rich-toolbar button { display: inline-grid; place-items: center; width: 38px; height: 38px; padding: 0; border: 1px solid var(--line); border-radius: 8px; background: #fff; color: var(--ink); font-size: 18px; font-weight: 850; cursor: pointer; }
.adesivo-vendo-rich-toolbar button:hover { border-color: var(--pink); color: var(--pink); }
.adesivo-align-icon { display: grid; gap: 2px; width: 18px; }
.adesivo-align-icon::before,
.adesivo-align-icon::after,
.adesivo-align-icon span { content: ""; display: block; height: 2px; background: currentColor; }
.adesivo-align-icon { background:
  linear-gradient(currentColor, currentColor) left 8px / 100% 2px no-repeat,
  linear-gradient(currentColor, currentColor) left 14px / 70% 2px no-repeat;
  height: 18px;
}
.adesivo-align-icon::before { width: 100%; }
.adesivo-align-icon::after { width: 82%; }
.adesivo-align-icon.align-center { background-position: center 8px, center 14px; background-size: 78% 2px, 60% 2px; }
.adesivo-align-icon.align-center::before,
.adesivo-align-icon.align-center::after { margin-inline: auto; }
.adesivo-align-icon.align-right { background-position: right 8px, right 14px; background-size: 100% 2px, 70% 2px; }
.adesivo-align-icon.align-right::before,
.adesivo-align-icon.align-right::after { margin-left: auto; }
.adesivo-align-icon.align-justify { background-size: 100% 2px, 100% 2px; }
.adesivo-align-icon.align-justify::before,
.adesivo-align-icon.align-justify::after { width: 100%; }
.adesivo-zap-button-icon,
.adesivo-zap-inline { display: inline-grid; place-items: center; width: 1.15em; height: 1.15em; vertical-align: -0.15em; color: currentColor; }
.adesivo-zap-button-icon::before { content: ""; width: 1em; height: 1em; background: currentColor; -webkit-mask: url("data:image/svg+xml,%3Csvg viewBox='0 0 64 64' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M32 4C16.6 4 4.1 16.3 4.1 31.5c0 5.2 1.5 10.2 4.2 14.5L4 60l14.4-4.1A28.3 28.3 0 0 0 32 59c15.4 0 27.9-12.3 27.9-27.5S47.4 4 32 4Zm0 49.8c-4.4 0-8.7-1.2-12.5-3.6l-.9-.5-8.5 2.4 2.5-8.2-.6-.9a22 22 0 0 1-3.6-12.1C8.4 18.8 19 8.9 32 8.9s23.6 9.9 23.6 22.1S45 53.8 32 53.8Zm13-16.5c-.7-.4-4.2-2.1-4.9-2.3-.7-.3-1.2-.4-1.7.4-.5.7-2 2.3-2.4 2.8-.4.5-.9.6-1.6.2-.7-.4-3-1.1-5.7-3.5-2.1-1.9-3.5-4.2-3.9-4.9-.4-.7 0-1.1.3-1.5.3-.3.7-.9 1.1-1.3.4-.5.5-.8.7-1.2.2-.5.1-.9-.1-1.3-.2-.4-1.7-4-2.3-5.5-.6-1.4-1.2-1.2-1.7-1.2h-1.4c-.5 0-1.3.2-2 .9-.7.7-2.6 2.5-2.6 6.1s2.7 7.1 3 7.6c.4.5 5.3 8 12.8 11.2 1.8.8 3.2 1.2 4.3 1.6 1.8.6 3.4.5 4.7.3 1.4-.2 4.2-1.7 4.8-3.4.6-1.7.6-3.1.4-3.4-.2-.3-.7-.5-1.4-.8Z'/%3E%3C/svg%3E") center / contain no-repeat; mask: url("data:image/svg+xml,%3Csvg viewBox='0 0 64 64' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M32 4C16.6 4 4.1 16.3 4.1 31.5c0 5.2 1.5 10.2 4.2 14.5L4 60l14.4-4.1A28.3 28.3 0 0 0 32 59c15.4 0 27.9-12.3 27.9-27.5S47.4 4 32 4Zm0 49.8c-4.4 0-8.7-1.2-12.5-3.6l-.9-.5-8.5 2.4 2.5-8.2-.6-.9a22 22 0 0 1-3.6-12.1C8.4 18.8 19 8.9 32 8.9s23.6 9.9 23.6 22.1S45 53.8 32 53.8Zm13-16.5c-.7-.4-4.2-2.1-4.9-2.3-.7-.3-1.2-.4-1.7.4-.5.7-2 2.3-2.4 2.8-.4.5-.9.6-1.6.2-.7-.4-3-1.1-5.7-3.5-2.1-1.9-3.5-4.2-3.9-4.9-.4-.7 0-1.1.3-1.5.3-.3.7-.9 1.1-1.3.4-.5.5-.8.7-1.2.2-.5.1-.9-.1-1.3-.2-.4-1.7-4-2.3-5.5-.6-1.4-1.2-1.2-1.7-1.2h-1.4c-.5 0-1.3.2-2 .9-.7.7-2.6 2.5-2.6 6.1s2.7 7.1 3 7.6c.4.5 5.3 8 12.8 11.2 1.8.8 3.2 1.2 4.3 1.6 1.8.6 3.4.5 4.7.3 1.4-.2 4.2-1.7 4.8-3.4.6-1.7.6-3.1.4-3.4-.2-.3-.7-.5-1.4-.8Z'/%3E%3C/svg%3E") center / contain no-repeat; }
.adesivo-zap-inline svg { display: block; width: 1em; height: 1em; }
.adesivo-vendo-rich-shell { width: min(100%, 560px); margin-inline: auto; background: #fff; box-shadow: 0 14px 34px rgba(0,0,0,.12); aspect-ratio: var(--adesivo-vendo-width, 300) / var(--adesivo-vendo-height, 200); overflow: hidden; }
.adesivo-vendo-rich-shell .ql-container.ql-snow { height: 100%; min-height: 0; border: 0; font-size: 42px; }
.adesivo-vendo-rich-shell .ql-editor { height: 100%; min-height: 0; display: flex; flex-direction: column; justify-content: center; padding: 5%; overflow: hidden; }
.adesivo-vendo-rich-shell .ql-editor p { margin: 0; }
.adesivo-vendo-rich-preview p { margin: 0; }
.adesivo-vendo-rich-preview .ql-align-center { text-align: center; }
.adesivo-vendo-rich-preview .ql-align-right { text-align: right; }
.adesivo-vendo-rich-preview .ql-align-justify { text-align: justify; }
.adesivo-vendo-preview-card .product-simulation-canvas { background: #f6f2eb; overflow: hidden; }
.adesivo-vendo-preview-card .adesivo-vendo-canvas { width: auto; height: 100%; max-width: 100%; aspect-ratio: var(--adesivo-vendo-width, 300) / var(--adesivo-vendo-height, 200); justify-self: center; min-width: 0; }
.adesivo-vendo-preview-card .adesivo-vendo-svg { width: 100%; height: 100%; aspect-ratio: var(--adesivo-vendo-width, 300) / var(--adesivo-vendo-height, 200); }
.adesivo-vendo-svg { width: auto; height: 100%; max-width: 100%; filter: drop-shadow(0 10px 22px rgba(0,0,0,.12)); background: #fff; overflow: hidden; }

/* Adesivo Vendo: imagem + prévia lado a lado e flutuantes só no desktop */
@media (min-width: 851px) {
  .product-detail-grid.has-adesivo-vendo {
    align-items: stretch;
  }
  .product-detail-grid.has-adesivo-vendo > div:first-child {
    min-height: 100%;
  }
  .product-visual-summary.has-adesivo-vendo-preview {
    position: sticky;
    top: 116px; /* mesmo offset do .config-card, abaixo do .site-header */
    z-index: 40;
    align-self: start;
    width: 100%;
    margin-bottom: 18px;
    padding: 8px;
    border-radius: 18px;
    background: rgba(245, 241, 232, .97);
    backdrop-filter: blur(12px);
    box-shadow: 0 12px 30px rgba(16, 14, 15, .08);
  }
}
.order-item-adesivo-preview { width: 88px; max-height: 120px; object-fit: contain; border: 1px solid var(--line); border-radius: 10px; background: #fff; padding: 4px; }
.admin-order-item-adesivo-actions { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; margin-top: 8px; }

.product-stock-badge { display: inline-flex; width: fit-content; align-items: center; gap: 6px; margin: 6px 0 10px; padding: 5px 9px; border-radius: 999px; background: #ecfdf3; color: #067647; font-size: 12px; font-weight: 700; }
.config-head .product-stock-badge { margin: 0 0 0 6px; align-self: center; }
.product-stock-badge.is-empty { background: #fef3f2; color: #b42318; }
.tier-choice.is-disabled { opacity: .55; cursor: not-allowed; }
.product-copy-results { display: grid; gap: 6px; margin-top: 8px; }
.product-copy-result { display: grid; gap: 2px; width: 100%; padding: 10px 12px; border: 1px solid var(--line); border-radius: 8px; background: var(--white); color: inherit; text-align: left; cursor: pointer; }
.product-copy-result:hover,
.product-copy-result.is-active { border-color: var(--cyan); box-shadow: 0 0 0 2px rgba(7, 169, 187, .14); }
.product-copy-result strong { font-size: 14px; }
.product-copy-result span { color: var(--muted); font-size: 12px; }

@media (max-width: 1100px) {
  .product-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

@media (max-width: 850px) {
  .product-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .home-banner-carousel { grid-template-columns: 1fr; }
  .home-banner-thumbs { grid-template-columns: repeat(3, minmax(0, 1fr)); grid-template-rows: none; height: auto; max-height: none; }
  .home-banner-thumbs button { aspect-ratio: 16 / 7; }
}

@media (max-width: 560px) {
  .product-grid { grid-template-columns: 1fr; }
}

.pickup-bulk-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin: 12px 0; }
.pickup-point-row > span { min-width: 0; overflow-wrap: anywhere; word-break: break-word; }
.pickup-point-row input[type="checkbox"] { width: 18px; height: 18px; margin: 0; cursor: pointer; }
.pickup-point-row.is-selected { background: #fff3d6; }

/* Keep the action column compact even after the generic admin-row rules. */
.admin-row.pickup-point-row { min-width: 0; grid-template-columns: 32px minmax(0, 1.05fr) minmax(0, 1.45fr) minmax(0, 1fr) minmax(0, .5fr) 36px; }
.pickup-menu-toggle { width: 36px; min-width: 36px; height: 32px; padding: 0; font-size: 18px; line-height: 1; }
.pickup-row-menu { position: fixed; inset: auto; margin: 0; width: 160px; padding: 6px; border: 1px solid var(--line); border-radius: 10px; background: var(--white); box-shadow: var(--shadow); }
.pickup-row-menu:popover-open { display: grid; gap: 2px; }
.pickup-row-menu > button { width: 100%; padding: 9px 12px; border: 0; border-radius: 6px; background: transparent; color: inherit; text-align: left; font: inherit; cursor: pointer; }
.pickup-row-menu > button:hover, .pickup-row-menu > button:focus-visible { background: #fff3d6; }
.pickup-row-menu > .pickup-menu-delete { color: #b42318; }

/* Espaçamento compacto exclusivo da página de checkout. */
.page-shell:has(> .checkout-layout) { padding-top: 20px; padding-bottom: 36px; }
.page-shell:has(> .checkout-layout) > .page-title { margin-bottom: 14px; gap: 8px 16px; }
.checkout-layout { gap: 12px; }
.checkout-layout .checkout-main { gap: 8px; }
.checkout-layout .checkout-section { grid-template-columns: 26px minmax(0, 1fr); gap: 7px 9px; padding: 10px 12px; border-radius: 10px; }
.checkout-layout .section-number { width: 26px; height: 26px; }
.checkout-layout .checkout-section h2 + p { margin-top: 2px; }
.checkout-layout label { gap: 3px; }
.checkout-layout input:not([type="radio"]):not([type="checkbox"]):not([type="file"]):not([type="hidden"]),
.checkout-layout select { min-height: 32px; padding: 5px 8px; border-radius: 7px; line-height: 1.35; }
.checkout-layout textarea { height: 56px; min-height: 56px; padding: 6px 8px; border-radius: 7px; line-height: 1.35; }
.checkout-layout .button { min-height: 32px; padding: 7px 10px; border-radius: 8px; font-size: 12px; }
.checkout-layout .field-grid, .checkout-layout .payment-options, .checkout-layout .shipping-quotes { gap: 6px; }
.checkout-layout .upload-field, .checkout-layout .credit-use-box,
.checkout-layout .shipping-box, .checkout-layout .pickup-checkout-panel,
.checkout-layout .pix-panel, .checkout-layout .bitcoin-panel { gap: 6px; padding: 8px 10px; border-radius: 8px; }
.checkout-layout .upload-field.muted-panel > span { gap: 3px 12px; }
.checkout-layout .checkout-attached-artworks { gap: 3px 12px; margin-top: 2px; padding-top: 5px; }
.checkout-layout .payment-options label, .checkout-layout .shipping-quote-option { padding: 8px 10px; min-height: 40px; border-radius: 8px; }
.checkout-layout .pickup-search-box { gap: 3px; margin: 0; }
.checkout-layout .pickup-point-list { gap: 4px; margin-top: 4px; }
.checkout-layout .pickup-point-list > label { padding: 6px 8px; }
.checkout-layout .credit-use-box strong { font-size: 18px; }
.checkout-layout .callout { margin-block: 3px; padding: 8px 10px; }
.checkout-layout .check-field > span > p { margin-block: 3px; }
.checkout-layout .checkout-summary { padding: 12px; border-radius: 12px; }
.checkout-layout .checkout-summary > strong { margin: 3px 0 8px; }
.checkout-layout .checkout-summary ul { gap: 5px; padding: 8px 0; margin-bottom: 8px; }
.checkout-layout .checkout-summary li { gap: 8px; }
.checkout-layout .checkout-summary > p { margin: 8px 0 0; line-height: 1.35; }
@media (max-width: 850px) {
  .page-shell:has(> .checkout-layout) { padding: 14px 12px 28px; }
  .checkout-layout .checkout-section { padding: 9px 10px; }
  .checkout-layout .checkout-section > *:not(.section-number) { grid-column: 1 / -1; }
  .checkout-layout .checkout-section > div:nth-child(2) { grid-column: 2; grid-row: 1; }
  .checkout-layout input:not([type="radio"]):not([type="checkbox"]):not([type="file"]):not([type="hidden"]),
  .checkout-layout select { min-height: 36px; }
  .checkout-layout .button { min-height: 36px; }
}

.production-term-fields { display: grid; grid-template-columns: minmax(0, 180px) minmax(0, 240px); gap: 12px; align-items: end; }
.shop-calendar-toolbar, .shop-calendar-nav, .shop-calendar-views { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; }
.shop-calendar-toolbar { justify-content: space-between; }
.shop-calendar-nav strong { min-width: 12rem; text-align: center; }
.shop-calendar-views .button.is-active { background: var(--ink, #172033); color: #fff; }
.shop-calendar-grid { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); gap: 4px; }
.shop-calendar-weekday { text-align: center; font-size: 12px; color: #667085; }
.shop-calendar-day { display: flex; flex-direction: column; gap: 4px; min-height: 72px; min-width: 0; padding: 6px; border: 1px solid #e6e1ea; border-radius: 8px; background: #fff; color: inherit; text-decoration: none; }
.shop-calendar-day strong, .shop-calendar-day small { overflow-wrap: anywhere; }
.shop-calendar-day small { color: #667085; font-size: 11px; line-height: 1.2; }
.shop-calendar-day.is-empty { border-color: transparent; background: transparent; min-height: 0; }
.shop-calendar-day.is-closed { background: #f8eef2; }
.shop-calendar-day.is-open { background: #eef8f1; }
.shop-calendar-day.is-today { outline: 2px solid #17c3b2; }
.shop-calendar-day.is-selected { border-color: #172033; }
.shop-calendar-year { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
.shop-calendar-month.is-compact h3 { margin: 0 0 6px; font-size: 14px; }
.shop-calendar-month.is-compact .shop-calendar-day { min-height: 28px; padding: 2px; align-items: center; }
.shop-calendar-reasons, .shop-calendar-rule-list { display: grid; gap: 8px; margin: 0; padding-left: 18px; }
.shop-calendar-rule-list { list-style: none; padding-left: 0; }
.shop-calendar-rule-list li, .shop-calendar-action { display: flex; flex-wrap: wrap; gap: 10px; align-items: end; justify-content: space-between; }
.shop-calendar-action { align-items: end; }
.shop-calendar-action label { flex: 1 1 240px; }
.shop-calendar-dialog { width: min(440px, calc(100vw - 32px)); margin: auto; border: 0; border-radius: 16px; padding: 22px; background: #fff; color: var(--ink); }
.shop-calendar-dialog::backdrop { background: rgba(20, 16, 12, .45); }
.shop-calendar-dialog form { display: grid; gap: 14px; }
.shop-calendar-dialog h3 { margin: 0; font-size: 20px; }
.shop-calendar-dialog p { margin: 0; color: #5c6570; }
.shop-calendar-choice { display: flex; flex-wrap: wrap; gap: 10px 22px; align-items: center; margin: 0; padding: 0; border: 0; }
.shop-calendar-choice legend { width: 100%; padding: 0; font-weight: 800; }
.shop-calendar-dialog .shop-calendar-choice label { display: inline-flex; flex: 0 0 auto; gap: 8px; align-items: center; width: auto; white-space: nowrap; }
.shop-calendar-dialog label[data-calendar-field] { display: grid; gap: 6px; }
.shop-calendar-dialog label[data-calendar-field][hidden],
.shop-calendar-dialog [data-calendar-save][hidden] { display: none; }
.shop-calendar-dialog label[data-calendar-field] span { color: #667085; font-size: 12px; }
.shop-calendar-dialog-actions { display: flex; gap: 8px; justify-content: flex-end; }
@media (max-width: 900px) {
  .production-term-fields, .shop-calendar-year { grid-template-columns: 1fr; }
  .shop-calendar-day { min-height: 52px; }
}
