.commerce-shell{max-width:1160px;margin:auto;padding:36px 24px}.commerce-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:32px}.commerce-panel{padding:24px;background:#fff;border:1px solid #b8bec1;border-radius:8px;margin-bottom:24px}.commerce-panel h2{font-size:24px}.commerce-panel button,.commerce-panel input,.commerce-panel select{font:inherit;min-height:44px;border-radius:6px}.commerce-panel button{border:1px solid #262b2d;padding:8px 16px;cursor:pointer;background:#262b2d;color:#fff}.commerce-panel button:disabled{opacity:.55;cursor:not-allowed}.commerce-panel input,.commerce-panel select{border:1px solid #777;padding:8px;width:100%;background:#fff;color:#262b2d}.commerce-panel label{display:block;margin:12px 0}.commerce-panel ul{padding-left:20px}.commerce-panel li{padding:12px 0;border-bottom:1px solid #ddd}.quantity-controls{display:flex;gap:12px}.quantity-controls button{min-width:44px}.commerce-panel fieldset{border:0;margin:0;padding:0}.commerce-panel fieldset legend{font-weight:bold;margin-top:24px}.commerce-panel .address-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 16px}.commerce-panel .address-wide{grid-column:1/-1}#shipping-services label{display:flex;align-items:center;gap:12px}#shipping-services input{width:24px;flex-shrink:0}#commerce-status{padding:14px;border-left:3px solid #262b2d;background:#f6f4f0;min-height:52px}#commerce-blockers{font-size:14px}#payment-link{display:block;margin-top:16px;padding:14px;background:#262b2d;color:#fff;border-radius:6px}#payment-link[hidden]{display:none}.product-commerce{margin:24px 0}.product-commerce a{display:inline-block;margin-left:12px}.preview-choice{max-width:800px}@media(max-width:760px){.commerce-grid{grid-template-columns:1fr}.commerce-shell{padding:24px 16px}.commerce-panel{padding:18px}.commerce-panel .address-grid{grid-template-columns:1fr}.commerce-panel .address-wide{grid-column:auto}}
.personalization-unit{margin:16px 0!important;padding:12px!important;border:1px solid #ddd!important;border-radius:6px}.personalization-unit legend{margin-top:0!important;font-size:16px}.personalization-unit label span{display:block;font-size:14px}.photo-upload-pending,#personalization-note{font-size:14px;line-height:1.5;padding:12px;background:#f6f4f0;border-left:3px solid #777}

/* PlacaDeTumulo: identidade da prancha aprovada em 11/11/2026.
   Camada de apresentacao. Preserva conteudo, imagens, rotas, grid e interacoes.
   Sem fontes remotas, rastreamento, novas promessas comerciais ou publicacao. */
:root {
  --ivory: #f8f5ef;
  --white: #fffdfa;
  --graphite: #322e29;
  --silver: #d8cec2;
  --taupe: #75604e;
  --hover: #5d4b3b;
  --brand-accent: #75604e;
  --brand-muted: #685f55;
  --brand-field-border: #8a7e71;
  --brand-serif: Georgia, "Times New Roman", serif;
  color-scheme: light;
}
body { background: var(--ivory); }
h1, h2, h3, .wordmark {
  font-family: var(--brand-serif);
  font-weight: 500;
  color: var(--graphite);
}
h1 { letter-spacing: -.035em; line-height: 1.08; }
h2 { letter-spacing: -.025em; line-height: 1.16; }
h3 { letter-spacing: -.012em; line-height: 1.25; }
a, button, input, select { transition: background-color .15s ease, border-color .15s ease, color .15s ease; }
a:focus-visible, button:focus-visible, input:focus-visible,
select:focus-visible, summary:focus-visible {
  outline: 3px solid var(--brand-accent);
  outline-offset: 4px;
  box-shadow: 0 0 0 2px var(--white);
}
body > aside[role="status"] {
  padding: 8px 16px;
  background: #ebe3d8;
  color: var(--graphite);
  border-bottom: 1px solid var(--silver);
  font-size: 12px;
  line-height: 1.6;
  text-align: center;
}
.local-banner { background: var(--graphite); color: var(--white); }
.site-header { background: var(--white); border-color: var(--silver); }
.site-header .brand {
  font-family: var(--brand-serif);
  font-size: 24px;
  font-weight: 700;
  letter-spacing: -.04em;
}
.wordmark { font-size: 26px; font-weight: 700; letter-spacing: -.04em; }
.domain { color: var(--graphite); }
/* Original approved raster. Object-fit trims empty outer background only;
   the complete monogram, lettering, underline and shadow remain visible. */
.brand:has(> .brand-logo) { padding: 4px 0; flex-shrink: 0; }
.brand-logo {
  display: block;
  width: 360px;
  max-width: 100%;
  height: auto;
  aspect-ratio: 4.6;
  object-fit: cover;
  object-position: center;
  border-radius: 3px;
}
#menu a, .site-header nav a { color: var(--graphite); text-decoration-thickness: 1px; }
#menu a:hover, .site-header nav a:hover { color: var(--brand-accent); }
.menu-toggle { border-color: var(--brand-field-border); border-radius: 5px; }
.eyebrow { color: var(--brand-accent); letter-spacing: .12em; }
.hero {
  background: linear-gradient(115deg, #faf7f2 0%, #f4eee5 58%, #e9e0d4 100%);
  border-bottom: 1px solid var(--silver);
}
.hero-copy { color: #51483f; }
.future-note, .candidate, .product-description, .no-sale { color: var(--brand-muted); }
.button, .commerce-panel button, #payment-link {
  background: var(--brand-accent);
  color: var(--white);
  border: 1px solid var(--brand-accent);
  border-radius: 5px;
  box-shadow: 0 2px 4px rgb(50 46 41 / 6%);
}
.button:hover, .commerce-panel button:not(:disabled):hover, #payment-link:hover {
  background: var(--hover);
  border-color: var(--hover);
}
.hero-art, .product-figure {
  background: #fdfbf7;
  border-color: var(--silver);
  border-radius: 10px;
  box-shadow: 0 8px 24px rgb(66 49 31 / 6%);
}
.hero-art figcaption, .product-figure figcaption { color: var(--brand-muted); }
.section-heading h2::after {
  content: "";
  display: block;
  width: 64px;
  height: 1px;
  margin-top: 18px;
  background: #a28d76;
}
.product-card {
  background: var(--white);
  border-color: var(--silver);
  border-radius: 10px;
  box-shadow: 0 2px 10px rgb(66 49 31 / 3%);
}
.card-media { border-radius: 9px 9px 0 0; background: #f2ece3; }
.card-media img { border-radius: 9px 9px 0 0; }
.photo-note { color: var(--brand-muted); background: #f2ece3; border-color: var(--silver); }
.card-content h3 { font-size: 23px; font-weight: 500; }
.card-content h3 a:hover { text-decoration: underline; text-decoration-thickness: 1px; }
.detail-link, .text-link, .product-commerce a { color: var(--brand-accent); }
.detail-link:hover, .text-link:hover, .product-commerce a:hover { color: var(--hover); }
.process { background: #f0e9df; border-color: var(--silver); }
.steps li { border-color: #b9a997; }
.step-number {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 34px;
  height: 34px;
  border: 1px solid #9b8771;
  border-radius: 50%;
  color: var(--brand-accent);
  font-weight: 600;
}
.faq-list details, .specs div, .product-guidance, .price-panel { border-color: var(--silver); }
summary:hover { color: var(--brand-accent); }
.size-option span {
  background: var(--white);
  border-color: var(--brand-field-border);
  border-radius: 5px;
}
.size-option input:checked + span {
  background: #eae1d5;
  border-color: var(--brand-accent);
  color: var(--graphite);
}
.size-option input:focus-visible + span { outline-color: var(--brand-accent); }
.price-panel strong { color: var(--graphite); }
footer { background: #eee6db; border-color: var(--silver); }
.footer-bottom { color: #5b5148; }
.commerce-panel {
  background: var(--white);
  border-color: var(--silver);
  border-radius: 10px;
  box-shadow: 0 2px 10px rgb(66 49 31 / 3%);
}
.commerce-panel h2 { font-family: var(--brand-serif); font-size: 27px; font-weight: 500; }
.commerce-panel input, .commerce-panel select {
  background: #fffdfa;
  color: var(--graphite);
  border-color: var(--brand-field-border);
  border-radius: 5px;
}
.commerce-panel li { border-color: var(--silver); }
.commerce-panel fieldset legend { color: var(--graphite); }
#commerce-status, .photo-upload-pending, #personalization-note {
  color: var(--graphite);
  background: #eee6db;
  border-left-color: var(--brand-accent);
  border-radius: 0 5px 5px 0;
}
.personalization-unit { border-color: var(--silver) !important; background: #faf7f2; }
#commerce-blockers { color: #66503c; }
#cart-subtotal { color: var(--graphite); }
@media (max-width: 760px) {
  .site-header .brand-logo { width: min(270px, calc(100vw - 128px)); }
  footer .brand-logo { width: min(360px, calc(100vw - 32px)); }
  .wordmark { font-size: 24px; }
  .site-header .brand { font-size: 24px; }
  .site-header nav:not(#menu) { flex-wrap: wrap; gap: 12px 22px; }
  .hero h1, h1 { letter-spacing: -.025em; }
  .card-content h3 { font-size: 22px; }
  .product-info h1 { line-height: 1.12; }
  .product-commerce a { margin: 12px 0 0; min-height: 44px; }
}
@media (prefers-reduced-motion: reduce) {
  a, button, input, select { transition: none; }
}

