/* ============================================================
   HT PRINTERS — Layout compartilhado das páginas de PRODUTO
   (estrutura/grids/tabelas — cores ficam no tema inline de cada página)
   ============================================================ */

/* ── VISUAL SECTION ── */
.visual-layout{display:grid;grid-template-columns:1fr 1fr;gap:var(--sp-16);align-items:center;margin-top:var(--sp-10);}
@media(max-width:768px){.visual-layout{grid-template-columns:1fr;}}
.cup-svg-wrap{display:flex;justify-content:center;align-items:center;padding:var(--sp-10);}
.cup-svg-wrap img{max-height:400px;width:auto;object-fit:contain;}
.product-bullets{display:flex;flex-direction:column;gap:var(--sp-4);margin-top:var(--sp-8);}
.bullet{display:flex;align-items:flex-start;gap:var(--sp-4);}
.bullet-icon{width:36px;height:36px;border-radius:50%;background:var(--steel-pale);display:flex;align-items:center;justify-content:center;font-size:1.1rem;flex-shrink:0;}
.bullet-text h4, .bullet-text h3{font-size:var(--text-base);font-weight:700;color:var(--text);margin-bottom:2px;}
.bullet-text p{font-size:var(--text-sm);color:var(--text-2);line-height:1.5;}

/* ── TABELAS ── */
.table-wrap{overflow-x:auto;margin-top:var(--sp-8);}
.spec-table{width:100%;border-collapse:collapse;font-size:var(--text-sm);min-width:500px;}
.spec-table th{background:var(--ink);color:#fff;padding:var(--sp-4) var(--sp-5);text-align:left;font-size:var(--text-xs);letter-spacing:.06em;text-transform:uppercase;}
.spec-table td{padding:var(--sp-4) var(--sp-5);border-bottom:1px solid var(--border);color:var(--text-2);}
.spec-table td:first-child{font-weight:700;color:var(--text);width:200px;}
.spec-table tr:last-child td{border-bottom:none;}
/* Tabela de preços — moldura arredondada + sombra (border-collapse:separate p/ radius) */
.price-table{width:100%;border-collapse:separate;border-spacing:0;font-size:var(--text-sm);min-width:560px;font-variant-numeric:tabular-nums;background:#0A1C14;border:1px solid rgba(242,224,200,.14);border-radius:14px;overflow:hidden;box-shadow:0 18px 48px rgba(0,0,0,.28);}
.price-table thead tr:first-child th:first-child{border-top-left-radius:13px;}
.price-table thead tr:first-child th:last-child{border-top-right-radius:13px;}
.price-table tbody tr:last-child td:first-child{border-bottom-left-radius:13px;}
.price-table tbody tr:last-child td:last-child{border-bottom-right-radius:13px;}

/* Cabeçalho (grupos de cor) */
.price-table thead tr:first-child th{background:linear-gradient(180deg,#12241a 0%,#0A1C14 100%);color:#F2E0C8;padding:16px 20px;font-family:var(--f-display);font-weight:400;font-size:.82rem;letter-spacing:.08em;text-transform:uppercase;text-align:center;border-bottom:1px solid rgba(242,224,200,.1);}
.price-table thead tr:first-child th span{font-family:var(--f-body);font-weight:500;opacity:.6;font-size:.68rem;letter-spacing:.02em;}
.price-table thead tr.subhead th{background:#16302222;color:rgba(242,224,200,.6);padding:9px 20px;font-size:10px;letter-spacing:.09em;text-transform:uppercase;font-weight:600;border-bottom:1px solid rgba(242,224,200,.1);}

/* Separadores verticais entre grupos de cor */
.price-table thead tr:first-child th:not(:first-child){border-left:1px solid rgba(242,224,200,.12);}
.price-table tbody td:nth-child(2),
.price-table tbody td:nth-child(4),
.price-table tbody td:nth-child(6),
.price-table thead tr.subhead th:nth-child(2),
.price-table thead tr.subhead th:nth-child(4),
.price-table thead tr.subhead th:nth-child(6){border-left:1px solid rgba(242,224,200,.08);}

/* Células */
.price-table td{padding:16px 20px;border-bottom:1px solid rgba(242,224,200,.08);text-align:center;color:rgba(242,224,200,.82);transition:background .18s ease;}
.price-table td:first-child{text-align:left;font-weight:700;color:#F2E0C8;white-space:nowrap;}
.price-table tbody tr:last-child td{border-bottom:none;}
.price-table tbody tr:hover td{background:rgba(242,224,200,.04);}

/* Linha "Most Popular" — destaque copper */
.price-table .popular td{background:rgba(196,149,106,.12);}
.price-table .popular:hover td{background:rgba(196,149,106,.16);}
.price-table .popular td:first-child{box-shadow:inset 3px 0 0 #C4956A;}
.price-table .popular td strong{color:#F2E0C8;font-size:1.02em;}
.price-table .popular td:not(:first-child) strong{color:#E7C39C;}

.popular-badge{display:inline-block;background:linear-gradient(135deg,#D4A574,#C4956A);color:#3a2a17;font-size:10px;font-weight:800;letter-spacing:.05em;text-transform:uppercase;padding:3px 10px;border-radius:20px;margin-bottom:6px;box-shadow:0 2px 6px rgba(196,149,106,.4);}
.price-note{font-size:var(--text-xs);color:var(--text-3);margin-top:8px;}
.price-big{font-size:var(--text-xl);font-weight:800;color:var(--copper);}

/* ── USE CASES ── */
.use-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:var(--sp-5);margin-top:var(--sp-10);}
.use-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);padding:var(--sp-5) var(--sp-4);text-align:center;}
.use-icon{font-size:1.8rem;margin-bottom:var(--sp-3);}
.use-title{font-weight:700;font-size:var(--text-sm);color:var(--text);margin-bottom:var(--sp-2);}
.use-desc{font-size:var(--text-xs);color:var(--text-2);}
@media(max-width:1100px){.use-grid{grid-template-columns:repeat(3,1fr);}.use-card{padding:var(--sp-6);}.use-icon{font-size:2rem;}.use-title{font-size:var(--text-base);}.use-desc{font-size:var(--text-sm);}}
@media(max-width:720px){.use-grid{grid-template-columns:repeat(2,1fr);}}
@media(max-width:480px){.use-grid{grid-template-columns:1fr;}}

/* ── RELATED ── */
.related-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:var(--sp-5);margin-top:var(--sp-8);}
@media(max-width:1100px){.related-grid{grid-template-columns:repeat(3,1fr);}}
@media(max-width:720px){.related-grid{grid-template-columns:repeat(2,1fr);}}
@media(max-width:480px){.related-grid{grid-template-columns:1fr;}}
.related-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);padding:var(--sp-6);text-decoration:none;transition:box-shadow .2s,transform .2s;display:block;}
.related-card:hover{transform:translateY(-3px);box-shadow:var(--shadow-md);}
.related-card h3, .related-card h4{font-size:var(--text-base);font-weight:700;color:var(--text);margin-bottom:var(--sp-2);}
.related-card p{font-size:var(--text-sm);color:var(--text-2);}
.related-card .arrow{color:var(--copper);font-weight:700;font-size:var(--text-sm);margin-top:var(--sp-3);display:block;}

/* ── VALUE ── */
.value-calc{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-xl);padding:var(--sp-10);max-width:700px;margin:var(--sp-10) auto 0;}
.value-row{display:flex;justify-content:space-between;align-items:center;padding:var(--sp-4) 0;border-bottom:1px solid var(--border);}
.value-row:last-child{border-bottom:none;font-weight:700;font-size:var(--text-xl);}
.value-label{font-size:var(--text-base);color:var(--text-2);}
.value-num{font-size:var(--text-lg);font-weight:700;color:var(--text);}
.value-save{color:var(--green);font-size:var(--text-2xl);font-weight:800;}

/* ── PROCESS ── */
.process-steps{display:grid;grid-template-columns:repeat(6,1fr);gap:var(--sp-5);margin-top:var(--sp-10);}
@media(max-width:1100px){.process-steps{grid-template-columns:repeat(3,1fr);}}
@media(max-width:720px){.process-steps{grid-template-columns:repeat(2,1fr);}}
@media(max-width:480px){.process-steps{grid-template-columns:1fr;}}
.step{display:flex;gap:var(--sp-4);align-items:flex-start;}
.step-num{width:40px;height:40px;border-radius:50%;background:var(--copper);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:800;font-size:var(--text-lg);flex-shrink:0;}
.step-body h4, .step-body h3{font-weight:700;font-size:var(--text-base);color:var(--text);margin-bottom:var(--sp-2);}
.step-body p{font-size:var(--text-sm);color:var(--text-2);line-height:1.6;}

/* ── SAFETY ── */
.safety-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:var(--sp-5);margin-top:var(--sp-8);}
@media(max-width:1100px){.safety-grid{grid-template-columns:repeat(3,1fr);}}
@media(max-width:720px){.safety-grid{grid-template-columns:repeat(2,1fr);}}
@media(max-width:480px){.safety-grid{grid-template-columns:1fr;}}
.safety-badge{background:#FFFFFF;border:1px solid rgba(28,59,45,.18);border-radius:var(--r-lg);padding:var(--sp-6);text-align:center;}
.safety-icon{font-size:2rem;margin-bottom:var(--sp-3);}
.safety-title{font-weight:700;font-size:var(--text-base);color:#1C3B2D;margin-bottom:var(--sp-2);}
.safety-desc{font-size:var(--text-sm);color:#3A5040;line-height:1.6;}

/* ── FAQ ── */
.faq-list{max-width:800px;margin:var(--sp-10) auto 0;}
details{border-bottom:1px solid var(--border);padding:var(--sp-6) 0;}
details summary{font-weight:700;font-size:var(--text-base);color:var(--text);cursor:pointer;list-style:none;display:flex;justify-content:space-between;align-items:center;}
details summary::-webkit-details-marker{display:none;}
details summary::after{content:'＋';color:var(--copper);font-size:1.2rem;}
details[open] summary::after{content:'－';}
details p{margin-top:var(--sp-4);font-size:var(--text-base);color:var(--text-2);line-height:1.7;}

/* ── CTA BAND ── */
.cta-band{text-align:center;}
.mini-form{background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.15);border-radius:var(--r-xl);padding:var(--sp-8);max-width:500px;margin:var(--sp-8) auto 0;text-align:left;}
.mini-form h3{color:#fff;font-size:var(--text-xl);margin-bottom:var(--sp-6);}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:var(--sp-4);}
@media(max-width:520px){.form-row{grid-template-columns:1fr;}}
.form-field{margin-bottom:var(--sp-4);}
.form-field label{display:block;color:rgba(255,255,255,.7);font-size:var(--text-xs);font-weight:700;letter-spacing:.06em;text-transform:uppercase;margin-bottom:var(--sp-2);}
.form-field input,.form-field select{width:100%;padding:10px 14px;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.2);border-radius:var(--r);color:#fff;font-size:var(--text-base);box-sizing:border-box;}
.form-field input::placeholder{color:rgba(255,255,255,.4);}
.form-field select option{background:var(--ink);color:#fff;}

/* ── REVEAL ── */
.reveal{opacity:0;transform:translateY(24px);transition:opacity .6s ease,transform .6s ease;}
.reveal.visible{opacity:1;transform:none;}
@media (prefers-reduced-motion: reduce){.reveal{opacity:1;transform:none;transition:none;}}
