/* ENOVVA Loja — complementa site.css (mesmas variáveis: --volt, --grafeno, --steel...) */
.cart-text{display:none;} @media (max-width:1360px){.cart-text{display:inline;}}
.page-hero.compact{padding:132px 0 44px;} .page-hero.compact h1{max-width:none;}
.navlinks.open{display:flex !important; position:fixed; top:60px; left:0; right:0; background:#080C16; flex-direction:column; padding:24px 32px; border-bottom:1px solid #1C2839; align-items:flex-start;}
.cart-link{display:inline-flex; align-items:center; gap:2px;} .cart-link::after{display:none;}
.cart-badge{display:inline-block; min-width:18px; padding:0 5px; margin-left:4px; border-radius:9px; background:var(--grafeno); color:#04070C; font-size:11px; text-align:center; line-height:18px;}
.loja-section{padding:36px 0 90px;}
.tax-note{font-size:12.5px; color:var(--slate); border:1px solid var(--steel); background:var(--steel-soft); padding:10px 14px; margin-bottom:22px; line-height:1.55;}
.tax-note b{color:var(--silver);}

/* filtros */
.loja-grid{display:grid; grid-template-columns:260px 1fr; gap:32px; align-items:start;}
.filters{position:sticky; top:84px; border:1px solid var(--steel); background:var(--steel-soft); padding:18px;}
.filters h3{font-size:14px; letter-spacing:.14em; text-transform:uppercase; color:var(--volt-2); margin-bottom:14px; font-family:'JetBrains Mono',monospace; font-weight:500;}
.field{display:flex; flex-direction:column; gap:6px; margin-bottom:14px;}
.field label{font-size:12px; color:var(--slate); letter-spacing:.04em;}
.field .hint{font-size:11.5px; color:var(--slate-dim);}
input[type=text],input[type=email],input[type=tel],input[type=number],input[type=password],input[type=search],select,textarea{
  width:100%; background:var(--ink); color:var(--silver); border:1px solid var(--steel); padding:10px 12px; font:inherit; font-size:14px; border-radius:var(--radius);}
textarea{min-height:96px; resize:vertical;}
input:focus,select:focus,textarea:focus{outline:2px solid var(--volt); outline-offset:0; border-color:var(--volt);}
.chips{display:flex; gap:8px; flex-wrap:wrap; margin-bottom:18px;}
.chip{padding:8px 16px; border:1px solid var(--steel); font-size:13px; color:var(--slate); background:transparent;}
.chip.on,.chip:hover{border-color:var(--volt); color:var(--silver);}
.chip.on{background:rgba(47,143,224,.14);}
.result-bar{display:flex; justify-content:space-between; align-items:center; gap:12px; flex-wrap:wrap; margin-bottom:18px; color:var(--slate); font-size:13.5px;}

/* cards */
.cards{display:grid; grid-template-columns:repeat(auto-fill,minmax(250px,1fr)); gap:18px;}
.pcard{display:flex; flex-direction:column; border:1px solid var(--steel); background:var(--ink); transition:border-color .2s, transform .2s;}
.pcard:hover{border-color:var(--volt); transform:translateY(-2px);}
.pcard .ph{aspect-ratio:4/3; background:#fff; display:flex; align-items:center; justify-content:center; padding:10px; position:relative;}
.pcard .ph img{max-height:100%; object-fit:contain;}
.pcard .body{padding:14px 16px 16px; display:flex; flex-direction:column; gap:8px; flex:1;}
.pcard .model{font-family:'Chakra Petch',sans-serif; font-weight:600; font-size:15.5px; line-height:1.25;}
.pcard .meta{font-family:'JetBrains Mono',monospace; font-size:12px; color:var(--slate);}
.pcard .price{font-size:20px; font-weight:700; margin-top:auto;}
.pcard .price small{display:block; font-size:11px; font-weight:400; color:var(--slate);}
.pcard .ask{font-size:14px; color:var(--volt-2); margin-top:auto; font-weight:600;}
.tag{display:inline-block; font-size:11px; letter-spacing:.08em; padding:3px 8px; border:1px solid var(--steel); color:var(--slate); text-transform:uppercase; font-family:'JetBrains Mono',monospace;}
.tag.buy{border-color:var(--grafeno); color:var(--grafeno-2);}
.tag.quote{border-color:var(--volt); color:var(--volt-2);}
.ph .tag{position:absolute; top:8px; left:8px; background:var(--void);}
.ph .prov{position:absolute; bottom:6px; right:8px; font-size:10px; color:#778; background:rgba(255,255,255,.85); padding:1px 5px;}

/* produto */
.pdp{display:grid; grid-template-columns:minmax(0,5fr) minmax(0,6fr); gap:40px; align-items:start;}
.pdp .gallery{background:#fff; padding:20px; border:1px solid var(--steel); display:flex; justify-content:center;}
.pdp .gallery img{max-height:440px; object-fit:contain;}
.pdp h1{font-size:clamp(24px,3vw,34px); margin:8px 0 10px;}
.pdp .big-price{font-size:34px; font-weight:700; margin:14px 0 2px;}
.buybox{border:1px solid var(--steel); background:var(--steel-soft); padding:20px; margin:18px 0;}
.qty-row{display:flex; gap:12px; flex-wrap:wrap; align-items:flex-end;}
.qty-row .field{margin:0; width:96px;}
table.spec{width:100%; border-collapse:collapse; font-size:14px;}
table.spec th,table.spec td{text-align:left; padding:9px 12px; border-bottom:1px solid var(--steel);}
table.spec th{color:var(--slate); font-weight:500; width:44%; font-size:13px;}
.spec-title{font-size:13px; letter-spacing:.14em; text-transform:uppercase; color:var(--volt-2); font-family:'JetBrains Mono',monospace; margin:28px 0 8px; font-weight:500;}
.pair{display:flex; gap:14px; align-items:center; border:1px solid var(--steel); padding:12px; background:var(--ink);}
.pair img{width:64px; height:64px; object-fit:contain; background:#fff; padding:4px;}

/* carrinho / formulários */
.panel{border:1px solid var(--steel); background:var(--ink); padding:22px;}
.cols-2{display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 16px;}
.cols-3{display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:0 16px;}
.checkout{display:grid; grid-template-columns:minmax(0,7fr) minmax(0,4fr); gap:32px; align-items:start;}
table.items{width:100%; border-collapse:collapse; font-size:14px;}
table.items th{font-size:12px; color:var(--slate); text-align:left; padding:8px 10px; border-bottom:1px solid var(--steel); font-weight:500; text-transform:uppercase; letter-spacing:.06em;}
table.items td{padding:12px 10px; border-bottom:1px solid var(--steel); vertical-align:middle;}
table.items td.r,table.items th.r{text-align:right;}
table.items input[type=number]{width:74px; padding:6px 8px;}
.sum-row{display:flex; justify-content:space-between; padding:6px 0; font-size:14px; color:var(--slate);}
.sum-row.total{color:var(--silver); font-size:18px; font-weight:700; border-top:1px solid var(--steel); margin-top:8px; padding-top:12px;}
.alert{padding:12px 16px; margin-bottom:18px; font-size:14px; border:1px solid var(--steel);}
.alert-ok{border-color:var(--grafeno); color:var(--grafeno-2);} .alert-err{border-color:#d9534f; color:#ff8d89;}
.btn-sm{padding:8px 14px; font-size:13px;}
.btn-link{background:none; border:none; color:var(--volt-2); cursor:pointer; font:inherit; font-size:13px; padding:0; text-decoration:underline;}
.empty{padding:48px 24px; text-align:center; color:var(--slate); border:1px dashed var(--steel);}
.hp{position:absolute; left:-9999px; width:1px; height:1px; overflow:hidden;}
.pager{display:flex; gap:6px; margin-top:26px; flex-wrap:wrap;}
.pager a,.pager span{padding:8px 13px; border:1px solid var(--steel); font-size:13px; color:var(--slate);}
.pager .cur{border-color:var(--volt); color:var(--silver);}
@media (max-width:900px){
  .cols-3 .field{grid-column:auto !important;}
  .panel{padding:16px;}
  .page-hero.compact{padding-top:104px;}
  .loja-grid,.pdp,.checkout{grid-template-columns:1fr;}
  .filters{position:static;}
  .cols-2,.cols-3{grid-template-columns:1fr;}
}

/* carrinho em telas pequenas: cada item vira um bloco (sem rolagem horizontal) */
@media (max-width:640px){
  table.cart-table,table.cart-table tbody{display:block;}
  table.cart-table tr:first-child{display:none;}
  table.cart-table tr{display:grid; grid-template-columns:1fr 1fr; gap:6px 12px; padding:14px 0; border-bottom:1px solid var(--steel);}
  table.cart-table td{display:block; border:0; padding:0; text-align:left !important;}
  table.cart-table td:first-child{grid-column:1/-1;}
  table.cart-table td[data-l]::before{content:attr(data-l); display:block; font-size:11px; color:var(--slate); text-transform:uppercase; letter-spacing:.06em;}
  table.cart-table td.rm{grid-column:1/-1;}
  .checkout > *{min-width:0;}
}

/* seleção PJ / PF */
.seg{display:flex; gap:10px; flex-wrap:wrap;}
.seg label{display:flex; align-items:center; gap:8px; border:1px solid var(--steel); padding:10px 16px; cursor:pointer; font-size:14px; color:var(--slate); background:var(--ink);}
.seg label:has(input:checked){border-color:var(--volt); color:var(--silver); background:rgba(47,143,224,.14);}
.seg input{width:auto; accent-color:var(--volt);}
[hidden]{display:none !important;}
/* campos sem atributo type (texto) com o mesmo visual dos demais */
input:not([type]),input[type=text]{width:100%; background:var(--ink); color:var(--silver); border:1px solid var(--steel); padding:10px 12px; font:inherit; font-size:14px; border-radius:var(--radius);}
input:not([type]):focus{outline:2px solid var(--volt); outline-offset:0; border-color:var(--volt);}
