/* ==========================================================
   Saturno Locadora — identidade "placa de obra" (logo 2a)
   Amarelo do anel da logo como sinal: é ele que guia o olho
   até as ações. Grafite e cal como base; Big Shoulders nos
   títulos (letreiro industrial), Barlow Condensed nos botões
   e rótulos, Barlow no texto corrido.
   ========================================================== */
:root{
  --sinal:#F2B705;        /* amarelo do anel da logo */
  --sinal-forte:#D9A300;  /* hover sobre o amarelo */
  --sinal-tinta:#FFF4D1;  /* fundo claro de destaque */
  --grafite:#1F201C;
  --grafite-2:#2A2B26;
  --grafite-3:#3A3B35;
  --cal:#F1EFEA;
  --cal-2:#E6E3DB;
  --branco:#FBFAF7;
  --cimento:#A8A6A0;
  --pedra:#5B5A55;
  --pedra-escura:#3D3C38;
  --ferrugem:#C1481D;
  --verde:#3FA75F;
  --erro:#B3261E;
  --linha:rgba(241,239,234,0.12);
  --linha-escura:rgba(31,32,28,0.14);
  --titulo:'Big Shoulders Display', 'Barlow Condensed', sans-serif;
  --rotulo:'Barlow Condensed', 'Barlow', sans-serif;
  --texto:'Barlow', system-ui, sans-serif;
  --raio:4px;
}
*{box-sizing:border-box; margin:0; padding:0;}
html{scroll-behavior:smooth;}
body{
  font-family:var(--texto);
  background:var(--cal);
  color:var(--grafite);
  line-height:1.5;
  -webkit-font-smoothing:antialiased;
}
h1,h2{font-family:var(--titulo); font-weight:900; line-height:0.95; letter-spacing:-0.005em;}
h3,h4,h5{font-family:var(--rotulo); font-weight:700; line-height:1.1;}
a{color:inherit; text-decoration:none;}
img,svg{display:block; max-width:100%;}
button{font:inherit; color:inherit;}
:focus-visible{outline:3px solid var(--sinal); outline-offset:3px;}
.wrap{max-width:1240px; margin:0 auto; padding:0 28px;}

/* ---------- Botões ---------- */
.btn{
  display:inline-flex; align-items:center; justify-content:center; gap:8px;
  padding:12px 22px; border-radius:var(--raio);
  font-family:var(--rotulo); font-weight:800; font-size:17px; letter-spacing:0.01em;
  border:2px solid transparent; cursor:pointer; line-height:1.1;
  transition:transform .15s ease, box-shadow .15s ease, background .15s ease, color .15s ease, border-color .15s ease;
}
.btn:active{transform:translateY(1px); box-shadow:none;}
.btn:disabled{opacity:0.45; cursor:not-allowed; transform:none; box-shadow:none;}
.btn-primary{background:var(--sinal); color:var(--grafite);}
.btn-primary:not(:disabled):hover{background:var(--sinal-forte); transform:translateY(-2px); box-shadow:0 4px 0 var(--grafite);}
.btn-dark{background:var(--grafite); color:var(--sinal);}
.btn-dark:hover{transform:translateY(-2px); box-shadow:0 5px 0 rgba(0,0,0,0.25);}
.btn-outline{background:transparent; color:var(--cal); border-color:var(--linha);}
.btn-outline:hover{border-color:var(--cal);}
.btn-danger{background:var(--erro); color:#fff;}
.btn-danger:hover{background:#8f1e18; transform:translateY(-2px);}
.btn-grande{font-size:20px; padding:17px 28px;}
/* Dentro dos modais e formulários claros o contorno é escuro */
.admin-modal-box .btn-outline, .cadastro .btn-outline{color:var(--grafite); border-color:var(--linha-escura);}
.admin-modal-box .btn-outline:hover, .cadastro .btn-outline:hover{border-color:var(--grafite);}
.link-forte{
  font-weight:700; font-size:17px;
  text-decoration:underline; text-decoration-thickness:2px; text-underline-offset:6px;
  transition:text-underline-offset .15s ease;
}
.link-forte:hover{text-underline-offset:9px;}

/* ---------- Cabeçalho ---------- */
header.topo{position:sticky; top:0; z-index:60; background:var(--grafite); color:var(--cal);}
.nav{display:flex; align-items:center; gap:28px; height:76px;}
.logo{display:flex; align-items:center; flex:none;}
.logo-img{height:44px; width:auto;}
nav.links{display:flex; gap:26px; margin-left:auto; align-items:center;}
nav.links a{
  font-weight:600; font-size:15px; color:var(--cal); opacity:0.82;
  padding:6px 0; border-bottom:2px solid transparent;
  transition:opacity .15s, border-color .15s, color .15s;
}
nav.links a:hover{opacity:1; border-color:var(--sinal);}
nav.links a[aria-current="page"]{opacity:1; border-color:var(--sinal); color:var(--sinal);}
.btn-topo{padding:10px 18px; font-size:16px;}
.menu-btn{
  display:none; width:44px; height:44px; margin-left:4px;
  background:none; border:1px solid var(--linha); border-radius:var(--raio); cursor:pointer;
  flex-direction:column; align-items:center; justify-content:center; gap:6px;
}
.menu-btn span{display:block; width:20px; height:2px; background:var(--cal); transition:transform .2s ease;}
.menu-btn[aria-expanded="true"] span:first-child{transform:translateY(4px) rotate(45deg);}
.menu-btn[aria-expanded="true"] span:last-child{transform:translateY(-4px) rotate(-45deg);}

/* ---------- Hero: placa amarela ---------- */
section{padding:88px 0;}
section[id]{scroll-margin-top:76px;}
.hero{background:var(--sinal); color:var(--grafite); position:relative; overflow:hidden; padding:72px 0 44px;}
.hero-in{position:relative;}
.hero-planeta{
  position:absolute; right:-150px; top:4px; width:min(600px, 46vw); height:auto;
  pointer-events:none; transform-origin:50% 55%; will-change:transform;
}
.hero-copy{position:relative; z-index:2; max-width:min(740px, 64%);}
.hero h1{font-size:clamp(54px, 8.2vw, 116px); line-height:0.9;}
.hero .lead{font-size:19.5px; font-weight:500; line-height:1.5; max-width:46ch; margin-top:24px;}
.hero-actions{display:flex; gap:26px; align-items:center; flex-wrap:wrap; margin-top:32px;}
.placas{position:relative; z-index:2; display:grid; grid-template-columns:repeat(4, 1fr); gap:12px; margin-top:68px;}
.placa{
  background:var(--grafite); color:var(--cal); text-align:left; cursor:pointer;
  border:0; border-radius:var(--raio); padding:16px 18px 18px;
  display:flex; flex-direction:column; gap:5px;
  transition:transform .18s ease, background .18s ease;
}
.placa b{font-family:var(--rotulo); font-weight:800; font-size:22px; line-height:1.05;}
.placa small{font-size:14px; color:var(--cimento); transition:color .18s ease;}
.placa:hover{transform:translateY(-6px); background:#000;}
.placa:hover small{color:var(--sinal);}
.medidor{background:var(--grafite); color:var(--cal);}
.medidor-in{display:grid; grid-template-columns:repeat(4, 1fr); gap:20px; padding-top:26px; padding-bottom:28px;}
.medidor b{display:block; font-family:var(--titulo); font-weight:900; font-size:46px; line-height:1; color:var(--sinal); font-variant-numeric:tabular-nums;}
.medidor span{font-size:14.5px; color:var(--cimento);}

/* ---------- Revelação ao rolar (uma vez, sutil) ---------- */
.js .revelar{opacity:0; transform:translateY(18px); transition:opacity .6s ease, transform .6s cubic-bezier(.2,.7,.2,1);}
.js .revelar.visivel{opacity:1; transform:none;}
.motivos-lista .revelar:nth-child(2){transition-delay:.08s;}
.motivos-lista .revelar:nth-child(3){transition-delay:.16s;}

/* ---------- Cabeçalho de seção ---------- */
.section-head{max-width:640px; margin-bottom:44px;}
.section-head h2{font-size:clamp(40px, 5vw, 64px);}
.section-head p{color:var(--pedra-escura); font-size:17px; margin-top:16px; max-width:56ch;}

/* ---------- Por que a Saturno ---------- */
.motivos{background:var(--cal);}
.motivos-in{display:grid; grid-template-columns:0.9fr 1.1fr; gap:64px; align-items:start;}
.motivos .section-head{margin-bottom:0; position:sticky; top:110px;}
.motivos-lista{list-style:none;}
.motivos-lista li{display:flex; gap:22px; padding:28px 0; border-top:3px solid var(--grafite);}
.motivos-lista li:last-child{border-bottom:1px solid var(--linha-escura);}
.motivo-icone{
  width:52px; height:52px; flex:none; border-radius:50%;
  background:var(--sinal); color:var(--grafite);
  display:flex; align-items:center; justify-content:center;
}
.motivo-icone svg{width:24px; height:24px;}
.motivos-lista h3{font-size:26px;}
.motivos-lista p{color:var(--pedra-escura); font-size:16px; margin-top:6px; max-width:52ch;}

/* ---------- Catálogo ---------- */
.catalog{background:var(--grafite); color:var(--cal);}
.catalog .section-head p{color:var(--cimento);}
.catalog-head{display:flex; justify-content:space-between; align-items:flex-end; gap:24px; flex-wrap:wrap; margin-bottom:28px;}
.catalog-head .section-head{margin-bottom:0;}

.so-livres{display:inline-flex; align-items:center; gap:12px; cursor:pointer; font-weight:600; font-size:15px; user-select:none; padding:6px 0;}
.so-livres input{position:absolute; opacity:0; width:1px; height:1px;}
.so-livres-chave{
  width:46px; height:26px; border-radius:13px; background:var(--grafite-3); position:relative; flex:none;
  transition:background .2s ease;
}
.so-livres-chave::after{
  content:""; position:absolute; top:3px; left:3px; width:20px; height:20px; border-radius:50%;
  background:var(--cal); transition:transform .2s ease;
}
.so-livres input:checked + .so-livres-chave{background:var(--sinal);}
.so-livres input:checked + .so-livres-chave::after{transform:translateX(20px); background:var(--grafite);}
.so-livres input:focus-visible + .so-livres-chave{outline:3px solid var(--sinal); outline-offset:3px;}

.filtros{display:grid; grid-template-columns:repeat(3, 1fr); gap:10px; margin-bottom:34px;}
.filtro{
  display:grid; grid-template-columns:auto 1fr; grid-template-rows:auto auto; column-gap:12px; row-gap:2px;
  align-items:center; text-align:left; cursor:pointer;
  background:var(--grafite-2); color:var(--cal);
  border:2px solid var(--grafite-3); border-radius:var(--raio);
  padding:14px 14px;
  transition:border-color .15s ease, background .15s ease, transform .15s ease;
}
.filtro:hover{border-color:var(--cimento); transform:translateY(-2px);}
.filtro-icone{
  grid-row:1 / span 2; width:40px; height:40px; border-radius:50%;
  background:var(--grafite-3); display:flex; align-items:center; justify-content:center;
  transition:background .15s ease;
}
.filtro-icone svg{width:22px; height:22px; stroke:var(--sinal);}
.filtro-nome{font-family:var(--rotulo); font-weight:700; font-size:17px; line-height:1.1;}
.filtro-n{font-size:13px; color:var(--cimento);}
.filtro.active{background:var(--sinal); border-color:var(--sinal); color:var(--grafite);}
.filtro.active .filtro-icone{background:var(--grafite);}
.filtro.active .filtro-n{color:var(--grafite);}

.catalog-grid{display:grid; grid-template-columns:repeat(3, 1fr); gap:18px;}
.catalog-vazio{color:var(--cimento); font-size:16px; padding:30px 0; max-width:60ch;}
.catalog-mais{display:flex; align-items:center; gap:26px; flex-wrap:wrap; margin-top:34px;}
.catalog-mais .link-forte{color:var(--cal);}
.filtro-venda .filtro-icone svg{stroke:var(--sinal);}

/* Filtro do catálogo: 3 tipos grandes em cima, 5 categorias menores embaixo */
.filtros-catalogo{margin-bottom:34px;}
.filtros-catalogo .filtros{margin-bottom:0;}
.filtros-tipo{grid-template-columns:repeat(3, 1fr); gap:12px;}
.filtros-tipo .filtro{padding:18px 18px; column-gap:14px;}
.filtros-tipo .filtro-icone{width:46px; height:46px;}
.filtros-tipo .filtro-icone svg{width:25px; height:25px;}
.filtros-tipo .filtro-nome{font-size:21px;}
.filtros-linha{grid-template-columns:repeat(5, 1fr); gap:8px; margin-top:10px; padding-top:10px; border-top:1px dashed var(--grafite-3);}
.filtro-sub{padding:9px 10px; column-gap:9px; border-width:1.5px;}
.filtro-sub .filtro-icone{width:30px; height:30px;}
.filtro-sub .filtro-icone svg{width:17px; height:17px;}
.filtro-sub .filtro-nome{font-size:14.5px;}
.filtro-sub .filtro-n{font-size:12px;}
.filtro-sub:disabled{opacity:.4; cursor:default; transform:none; border-color:var(--grafite-3);}

/* ---------- "Páginas" do site (/, /catalogo, /fretado) ----------
   Uma só index.html; pagina.js marca <html data-pagina> e aqui some
   tudo que não pertence à página aberta. Sem JS, tudo aparece. */
html[data-pagina="inicio"] [data-paginas]:not([data-paginas~="inicio"]),
html[data-pagina="catalogo"] [data-paginas]:not([data-paginas~="catalogo"]),
html[data-pagina="fretado"] [data-paginas]:not([data-paginas~="fretado"]){display:none !important;}
.pagina-topo{background:var(--sinal); color:var(--grafite); padding:64px 0 52px;}
.pagina-topo h1{font-size:clamp(52px, 7.5vw, 100px); line-height:0.92;}
.pagina-topo p{font-size:18.5px; font-weight:500; max-width:56ch; margin-top:18px;}
.pagina-topo .hero-actions{margin-top:28px;}
html[data-pagina="catalogo"] .catalog{padding-top:44px;}
.item-card{
  background:var(--grafite-2); border-radius:6px; position:relative; overflow:hidden; cursor:pointer;
  display:flex; flex-direction:column;
  transition:transform .2s ease, box-shadow .2s ease;
}
.item-card::before{
  content:""; position:absolute; left:0; right:0; top:0; height:4px; z-index:3;
  background:var(--sinal); transform:scaleX(0); transform-origin:left; transition:transform .25s ease;
}
.item-card:hover, .item-card:focus-visible{transform:translateY(-4px); box-shadow:0 18px 30px -18px rgba(0,0,0,0.8);}
.item-card:hover::before, .item-card:focus-visible::before{transform:scaleX(1);}
.item-card:focus-visible{outline:3px solid var(--sinal); outline-offset:2px;}
.item-card.entrando{animation:card-entra .35s ease both;}
@keyframes card-entra{from{opacity:0; transform:translateY(10px);}}

.item-media{
  position:relative; height:150px; flex:none; overflow:hidden;
  background:
    repeating-linear-gradient(135deg, rgba(241,239,234,0.035) 0 2px, transparent 2px 12px),
    var(--grafite-3);
  display:flex; align-items:center; justify-content:center;
}
.item-media-img{width:100%; height:100%; object-fit:cover; display:block; transition:transform .4s ease;}
.item-card:hover .item-media-img{transform:scale(1.04);}
.item-media-icon svg{width:56px; height:56px; stroke:var(--sinal); fill:none; transition:transform .3s ease;}
.item-card:hover .item-media-icon svg{transform:scale(1.08);}
.item-media-count{
  position:absolute; left:10px; bottom:10px;
  background:rgba(31,32,28,0.82); color:var(--cal);
  font-size:12px; font-weight:600; padding:3px 8px; border-radius:3px;
}
.corner-tab{
  position:absolute; top:12px; right:12px;
  font-family:var(--rotulo); font-weight:700; font-size:13.5px;
  padding:3px 10px; border-radius:999px;
  background:var(--cal); color:var(--grafite);
}
.corner-tab.busy{background:var(--ferrugem); color:#fff;}
.corner-tab.venda{background:var(--sinal); color:var(--grafite);}
.item-body{padding:18px 20px 18px; display:flex; flex-direction:column; flex:1;}
.item-card h4{font-size:23px; color:var(--cal);}
.item-card .spec{font-family:var(--rotulo); font-weight:600; font-size:14px; letter-spacing:0.02em; color:var(--cimento); margin-top:3px;}
.item-price-row{display:flex; align-items:baseline; flex-wrap:wrap; gap:4px 12px; margin-top:14px;}
.item-price{font-family:var(--titulo); font-weight:900; font-size:32px; line-height:1; color:var(--sinal);}
.item-price span{font-family:var(--texto); font-size:13px; font-weight:500; color:var(--cimento); margin-left:4px;}
.item-price-week{font-family:var(--rotulo); font-weight:700; font-size:16px; color:var(--cal);}
.item-price-week span{font-size:12.5px;}
.item-disponibilidade{display:flex; align-items:center; gap:8px; margin-top:12px; font-size:14px; font-weight:600; color:var(--cal);}
.status-dot{width:9px; height:9px; border-radius:50%; flex:none;}
.status-dot.ok{background:#5CC77A; box-shadow:0 0 0 3px rgba(92,199,122,0.18);}
.status-dot.busy{background:var(--ferrugem); box-shadow:0 0 0 3px rgba(193,72,29,0.2);}
.item-datas{font-size:13px; color:var(--cimento); margin-top:3px;}
.item-card p{
  font-size:14.5px; color:#C9C6BE; margin-top:10px;
  display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden;
}
.item-card .cat-label{
  display:flex; align-items:center; justify-content:space-between; gap:10px;
  font-size:13px; color:var(--cimento);
  margin-top:auto; padding-top:14px; border-top:1px solid var(--linha);
}
.item-card p + .cat-label{margin-top:14px;}
.item-card .cat-label-cta{font-family:var(--rotulo); font-weight:700; font-size:15px; color:var(--sinal); white-space:nowrap;}

/* ---------- Como funciona ---------- */
.how{background:var(--cal-2);}
.trajeto{list-style:none; display:grid; grid-template-columns:repeat(3, 1fr); gap:32px; position:relative; padding-top:8px;}
.trajeto::before{
  content:""; position:absolute; left:30px; right:calc((100% - 64px) / 3 - 30px); top:36px; height:4px;
  background:var(--grafite); transform:scaleX(0); transform-origin:left;
  transition:transform 1s cubic-bezier(.6,0,.2,1) .2s;
}
.js .trajeto.visivel::before, html:not(.js) .trajeto::before{transform:scaleX(1);}
.etapa{position:relative;}
.etapa-num{
  position:relative; z-index:1;
  width:60px; height:60px; border-radius:50%;
  background:var(--sinal); color:var(--grafite); border:4px solid var(--grafite);
  display:flex; align-items:center; justify-content:center;
  font-family:var(--titulo); font-weight:900; font-size:30px; line-height:1;
}
.etapa h3{font-size:26px; margin:20px 0 8px;}
.etapa p{color:var(--pedra-escura); font-size:16px; max-width:36ch;}

/* ---------- Outros serviços ---------- */
.services-section{background:var(--branco);}
.services-in{display:grid; grid-template-columns:0.8fr 1.2fr; gap:56px; align-items:start;}
.services-in .section-head{margin-bottom:0;}
.services-grid{list-style:none; display:grid; grid-template-columns:1fr 1fr; gap:0 28px;}
.services-grid li{
  display:flex; align-items:center; gap:12px;
  padding:13px 0; border-bottom:1px solid var(--linha-escura);
  font-size:15.5px; font-weight:500;
}
.services-grid li::before{
  content:""; width:10px; height:10px; flex:none; background:var(--sinal);
  box-shadow:0 0 0 2px var(--grafite);
}

/* ---------- Banner de pacote ---------- */
.cta-banner{background:var(--sinal); color:var(--grafite); padding:52px 0;}
.cta-banner-in{display:flex; align-items:center; justify-content:space-between; gap:28px; flex-wrap:wrap;}
.cta-banner h3{font-family:var(--titulo); font-weight:900; font-size:clamp(32px, 3.6vw, 46px); line-height:0.95; max-width:620px;}
.cta-banner p{font-size:17px; font-weight:500; margin-top:10px; max-width:56ch;}

/* ---------- Área do cliente ---------- */
.cadastro{background:var(--cal);}
.tabs{display:flex; flex-wrap:wrap; gap:8px; margin-bottom:30px;}
.tabs .tab{
  font-family:var(--rotulo); font-weight:700; font-size:16px;
  padding:10px 16px; border-radius:var(--raio); cursor:pointer;
  background:var(--branco); color:var(--grafite); border:2px solid var(--linha-escura);
  transition:border-color .15s ease, background .15s ease;
}
.tabs .tab:hover{border-color:var(--grafite);}
.tabs .tab.active{background:var(--grafite); color:var(--cal); border-color:var(--grafite);}
.tab-count{
  display:inline-block; margin-left:8px; padding:1px 8px; border-radius:999px;
  background:var(--sinal); color:var(--grafite); font-size:13px; font-weight:700;
}
.tabs .admin-toggle{background:transparent; border-style:dashed; color:var(--pedra); font-size:15px;}
.tabs .admin-toggle:hover{color:var(--grafite); border-color:var(--grafite);}
.tabs .admin-toggle.is-logged{border-style:solid; border-color:var(--sinal-forte); background:var(--sinal-tinta); color:var(--grafite);}

.reg-form{max-width:780px;}
.reg-list-toolbar{margin-bottom:18px;}
.reg-list-toolbar input{
  width:100%; max-width:420px; padding:12px 14px; border-radius:var(--raio);
  border:2px solid var(--linha-escura); background:var(--branco);
  font-family:var(--texto); font-size:15px; color:var(--grafite);
}
.reg-list-toolbar input:focus{outline:none; border-color:var(--grafite);}

#clientTableWrap, #pedidosTableWrap, #produtosTableWrap, #mensagensTableWrap{overflow-x:auto;}
.client-table{width:100%; min-width:640px; border-collapse:collapse; background:var(--branco); border:1px solid var(--linha-escura);}
.client-table thead th{
  text-align:left; font-family:var(--rotulo); font-weight:700; font-size:14.5px;
  color:var(--cal); background:var(--grafite); padding:12px 16px; white-space:nowrap;
}
.client-table tbody td{padding:14px 16px; border-bottom:1px solid var(--linha-escura); font-size:14.5px; vertical-align:top;}
.client-table tbody tr:last-child td{border-bottom:none;}
.client-table tbody tr:hover{background:var(--cal);}
.mensagem-nao-lida{background:var(--sinal-tinta);}
.mensagem-nao-lida:hover{background:#FFEDB5;}
.mensagem-nao-lida .name-cell b::before{
  content:""; display:inline-block; width:8px; height:8px; border-radius:50%;
  background:var(--sinal-forte); margin-right:7px; vertical-align:middle;
}
.client-table .name-cell b{display:block; font-size:15.5px;}
.client-table .name-cell span{font-size:13px; color:var(--pedra); font-weight:600;}
.client-table .doc-cell, .client-table .contact-cell{font-size:14px; color:var(--pedra-escura); font-variant-numeric:tabular-nums;}
.client-table .contact-cell div:first-child{color:var(--grafite);}
.row-actions{display:flex; gap:8px;}
.row-actions button, .carrinho-remove-btn{
  font-family:var(--rotulo); font-weight:700; font-size:14px;
  padding:6px 12px; border-radius:var(--raio); border:1.5px solid var(--linha-escura);
  background:var(--branco); color:var(--grafite); cursor:pointer; white-space:nowrap;
  transition:all .15s ease;
}
.row-actions .edit-btn:hover, .row-actions .add-imagem-btn:hover, .row-actions .imagens-toggle-btn:hover, .row-actions .lida-toggle-btn:hover{border-color:var(--grafite); background:var(--sinal);}
.row-actions .delete-btn:hover, .carrinho-remove-btn:hover{border-color:var(--erro); background:var(--erro); color:#fff;}

.imagens-row td{padding:0 16px 16px !important; background:var(--cal);}
.imagens-galeria{display:flex; flex-wrap:wrap; gap:10px; padding:14px 16px; border:1px dashed var(--linha-escura); background:var(--branco);}
.imagem-thumb{
  position:relative; width:92px; height:92px; flex:none; border-radius:var(--raio);
  background-size:cover; background-position:center;
  border:1px solid var(--linha-escura); cursor:pointer; overflow:hidden;
}
.imagem-thumb-overlay{
  position:absolute; inset:0; background:rgba(31,32,28,0.75); color:var(--cal);
  display:flex; align-items:center; justify-content:center; opacity:0; transition:opacity .15s ease;
}
.imagem-thumb:hover .imagem-thumb-overlay{opacity:1;}
.imagem-thumb-overlay svg{width:22px; height:22px;}

.pedidos-toggle-btn{
  font-family:var(--rotulo); font-weight:700; font-size:14px;
  padding:6px 12px; border-radius:var(--raio); border:1.5px solid var(--grafite);
  background:var(--sinal); color:var(--grafite); cursor:pointer; white-space:nowrap; transition:all .15s ease;
}
.pedidos-toggle-btn:hover{background:var(--grafite); color:var(--sinal);}
.pedidos-none{font-size:14px; color:var(--pedra);}
.pedidos-row td{padding:0 16px 16px !important; background:var(--cal);}
.pedidos-detail{display:grid; gap:10px; padding:14px 16px; border:1px dashed var(--linha-escura); background:var(--branco);}
.pedidos-loading{font-size:14px; color:var(--pedra); margin:0;}
.pedido-item{border-left:4px solid var(--sinal); padding:4px 0 4px 12px;}
.pedido-item-head{display:flex; justify-content:space-between; align-items:baseline; gap:12px;}
.pedido-item-head b{font-size:15px;}
.pedido-item-head span{font-size:13px; color:var(--pedra);}
.pedido-item-meta{display:flex; gap:8px; flex-wrap:wrap; margin-top:4px;}
.pedido-item-meta span{font-size:13px; color:var(--pedra-escura); background:var(--cal); padding:2px 8px; border-radius:3px;}
.pedido-item-msg{font-size:14px; color:var(--pedra-escura); margin:6px 0 0;}

.empty-state{display:none; text-align:center; padding:56px 20px; background:var(--branco); border:1px dashed var(--linha-escura); border-top:none;}
.empty-state p{font-family:var(--rotulo); font-size:22px; font-weight:700; color:var(--pedra-escura);}
.empty-state span{font-size:14px; color:var(--pedra); display:block; margin-top:6px;}
.empty-state.show{display:block;}

/* ---------- Formulários ---------- */
form.plate-form{
  background:var(--branco); border-radius:6px; padding:32px;
  border-top:6px solid var(--sinal);
  box-shadow:0 1px 0 var(--linha-escura), 0 24px 40px -32px rgba(31,32,28,0.5);
}
.plate-form-titulo{font-size:26px; margin-bottom:4px;}
.form-row{display:grid; grid-template-columns:1fr 1fr; gap:16px;}
.field{margin-bottom:16px;}
.field label{display:block; font-family:var(--rotulo); font-weight:700; font-size:15px; color:var(--grafite); margin-bottom:6px;}
.field input, .field select, .field textarea{
  width:100%; padding:12px 14px; border-radius:var(--raio);
  border:2px solid var(--linha-escura); background:#fff;
  font-family:var(--texto); font-size:15.5px; color:var(--grafite);
  transition:border-color .15s ease, box-shadow .15s ease;
}
.field input:hover, .field select:hover, .field textarea:hover{border-color:rgba(31,32,28,0.3);}
.field input:focus, .field select:focus, .field textarea:focus{outline:none; border-color:var(--grafite); box-shadow:0 0 0 3px rgba(242,183,5,0.45);}
.field textarea{resize:vertical; min-height:96px;}
.field-hint{display:block; font-size:13px; color:var(--pedra); margin-top:6px;}
.field-hint:empty{display:none;}
form.plate-form .btn-primary{width:100%; margin-top:6px; font-size:19px; padding:15px;}

/* ---------- Contato ---------- */
.contact{background:var(--cal-2);}
.contact-grid{display:grid; grid-template-columns:1fr 1fr; gap:56px; align-items:start;}
.contact-info h2{font-size:clamp(40px, 5vw, 64px);}
.contact-info > p{color:var(--pedra-escura); margin:16px 0 30px; font-size:17px; max-width:48ch;}
.contact-list{display:flex; flex-direction:column; gap:18px;}
.contact-list li{list-style:none; display:flex; gap:14px; align-items:center; font-size:15px;}
.contact-list .icon-box{
  width:46px; height:46px; flex:none; border-radius:50%; background:var(--grafite);
  display:flex; align-items:center; justify-content:center;
}
.contact-list .icon-box svg{width:20px; height:20px; stroke:var(--sinal);}
.contact-list b{display:block; font-family:var(--rotulo); font-size:17px;}
.contact-list span{color:var(--pedra-escura); font-size:15.5px;}

/* ---------- Rodapé ---------- */
footer{background:var(--grafite); color:var(--cimento); padding:56px 0 28px;}
.footer-grid{display:grid; grid-template-columns:1.4fr 1fr 1fr 1fr; gap:36px; padding-bottom:36px; border-bottom:1px solid var(--linha);}
.footer-logo{margin-bottom:16px;}
.footer-logo .logo-img{height:52px;}
.footer-sobre{font-size:14.5px; max-width:300px;}
.footer-grid h5{font-size:18px; color:var(--cal); margin-bottom:14px;}
.footer-grid ul{list-style:none;}
.footer-grid li{margin-bottom:9px; font-size:15px;}
.footer-grid a:hover{color:var(--sinal);}
.footer-bottom{display:flex; justify-content:space-between; align-items:center; padding-top:22px; font-size:13.5px; flex-wrap:wrap; gap:10px;}
.footer-bottom a{text-decoration:underline; text-underline-offset:3px;}
.footer-bottom a:hover{color:var(--sinal);}

/* ---------- Modais ---------- */
.admin-modal{
  position:fixed; inset:0; background:rgba(20,21,18,0.74);
  display:flex; align-items:center; justify-content:center; z-index:200; padding:20px;
}
.admin-modal-box{
  background:var(--branco); border-radius:8px; padding:30px 28px; border-top:6px solid var(--sinal);
  width:100%; max-width:380px; max-height:calc(100vh - 40px); overflow-y:auto;
  box-shadow:0 30px 70px rgba(0,0,0,0.4);
  animation:modal-entra .22s cubic-bezier(.2,.7,.2,1);
}
@keyframes modal-entra{from{opacity:0; transform:translateY(14px) scale(.98);}}
.admin-modal-box h3{font-family:var(--titulo); font-size:32px; font-weight:900; line-height:1; margin-bottom:8px;}
.admin-modal-sub{font-size:14.5px; color:var(--pedra); margin-bottom:18px;}
.admin-modal-box .field{margin-bottom:14px;}
.admin-modal-actions{display:flex; justify-content:flex-end; gap:10px; margin-top:10px; flex-wrap:wrap;}
.link-btn{
  background:none; border:none; padding:0; cursor:pointer;
  font-family:var(--texto); font-size:14px; font-weight:600; color:var(--grafite);
  text-decoration:underline; text-decoration-color:var(--sinal-forte); text-decoration-thickness:2px; text-underline-offset:3px;
  margin:-6px 0 14px; display:inline-block;
}
.link-btn:hover{text-decoration-color:var(--grafite);}
.link-btn:disabled{color:var(--cimento); cursor:default; text-decoration:none;}
.admin-modal-box .link-btn + .link-btn{margin-left:14px;}
.admin-error{font-size:14px; color:var(--erro); background:#FBEAEA; border:1px solid #f1c0c0; padding:8px 10px; border-radius:var(--raio); margin-bottom:10px;}
.erro-modal-box{text-align:center;}
.erro-modal-icon{
  width:56px; height:56px; margin:0 auto 14px; border-radius:50%;
  background:#FBEAEA; color:var(--erro); display:flex; align-items:center; justify-content:center;
}
.erro-modal-icon svg{width:26px; height:26px;}
.erro-modal-box .admin-modal-sub{margin-bottom:22px;}
.erro-modal-box .admin-modal-actions{justify-content:center;}
.sucesso-modal-icon{background:#E6F4EA; color:#1E7A3D;}
.cadastro-aviso{font-size:15px; color:#6B4B00; background:var(--sinal-tinta); border:1px solid #EDD48A; padding:10px 14px; border-radius:var(--raio); margin-top:14px; max-width:640px;}
.pedido-cliente-info{font-size:14px; color:#1E7A3D; background:#E6F4EA; border:1px solid #BFE3CA; padding:9px 14px; border-radius:var(--raio); margin-bottom:18px;}

/* ---------- Admin: produtos e pedidos ---------- */
.produtos-toolbar{display:flex; align-items:center; gap:10px; flex-wrap:wrap;}
.produtos-toolbar .btn{padding:10px 16px; font-size:15px;}
.btn-csv-export{background:var(--branco); color:var(--grafite); border-color:var(--grafite);}
.btn-csv-export:hover{background:var(--grafite); color:var(--cal);}
.btn-csv-import{background:var(--grafite); color:var(--cal);}
.btn-csv-import:hover{background:#000;}
.produtos-import-msg{font-size:14px; color:#1E7A3D;}
.produtos-import-msg.erro{color:var(--erro);}
.produto-input{
  padding:8px 10px; width:100%; border-radius:var(--raio);
  border:1.5px solid var(--linha-escura); font-family:var(--texto); font-size:14px;
  background:#fff; color:var(--grafite);
}
.produto-input:focus{outline:none; border-color:var(--grafite); box-shadow:0 0 0 3px rgba(242,183,5,0.45);}
.name-cell .produto-input{margin-bottom:6px; min-width:220px;}
.name-cell .produto-input:last-child{margin-bottom:0;}
.produto-spec-input{font-size:13px; color:var(--pedra-escura);}
select.produto-input{cursor:pointer; min-width:160px;}
input.produto-input[type="number"]{width:90px;}
.pedido-msg-cell{max-width:220px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap;}
.pedido-status-select{
  font-family:var(--rotulo); font-size:14px; font-weight:700;
  padding:6px 8px; border-radius:var(--raio); border:1.5px solid var(--linha-escura);
  background:#fff; color:var(--grafite); cursor:pointer;
}
.pedido-status-select.status-em_analise{border-color:#EDD48A; color:#6B4B00; background:var(--sinal-tinta);}
.pedido-status-select.status-aprovado{border-color:#BFE3CA; color:#1E7A3D; background:#E6F4EA;}
.pedido-status-select.status-recusado{border-color:#f1c0c0; color:var(--erro); background:#FBEAEA;}

/* ---------- Carrinho ---------- */
.carrinho-vazio{display:none; text-align:center; padding:28px 16px; background:var(--cal); border:1px dashed var(--linha-escura); border-radius:var(--raio);}
.carrinho-vazio.show{display:block;}
.carrinho-vazio p{font-weight:700; color:var(--pedra-escura); margin-bottom:4px;}
.carrinho-vazio span{font-size:14px; color:var(--pedra);}
.carrinho-item{
  display:flex; justify-content:space-between; align-items:flex-start; gap:12px;
  background:#fff; border:1px solid var(--linha-escura); border-left:4px solid var(--sinal); border-radius:var(--raio);
  padding:14px 16px; margin-bottom:10px;
}
.carrinho-item-info b{display:block; font-size:15.5px;}
.carrinho-item-info span{display:block; font-size:13.5px; color:var(--pedra-escura); margin-top:3px;}
.carrinho-item-info p{font-size:13.5px; color:var(--pedra); margin-top:6px;}
.carrinho-resumo-box{max-width:480px; display:flex; flex-direction:column;}
.carrinho-resumo-box #carrinhoResumoLista{overflow-y:auto; max-height:40vh; margin-bottom:4px;}
.carrinho-resumo-box .carrinho-item{margin-bottom:8px;}
.carrinho-item-actions{display:flex; flex-direction:column; align-items:flex-end; gap:6px; flex:none;}
.carrinho-item-subtotal{font-family:var(--rotulo); font-size:17px; font-weight:800; color:var(--grafite); white-space:nowrap;}
.carrinho-resumo-total{display:flex; justify-content:space-between; align-items:center; padding-top:14px; margin-top:6px; border-top:2px solid var(--grafite);}
.carrinho-resumo-total span{font-family:var(--rotulo); font-weight:700; font-size:16px; color:var(--pedra-escura);}
.carrinho-resumo-total b{font-family:var(--titulo); font-size:34px; font-weight:900; color:var(--grafite);}

/* ---------- Galeria do produto ---------- */
.produto-galeria-box{max-width:720px;}
.produto-galeria-grid{display:grid; grid-template-columns:1fr 220px; gap:22px;}
.produto-galeria-principal{
  position:relative; width:100%; aspect-ratio:4/3; border-radius:6px; overflow:hidden;
  background:repeating-linear-gradient(135deg, rgba(241,239,234,0.04) 0 2px, transparent 2px 12px), var(--grafite-2);
  display:flex; align-items:center; justify-content:center;
}
.produto-galeria-principal img{width:100%; height:100%; object-fit:cover; display:block;}
.produto-galeria-principal svg{width:84px; height:84px; stroke:var(--sinal); fill:none;}
.produto-galeria-info{display:flex; flex-direction:column; gap:8px; min-width:0;}
.produto-galeria-info h3{font-size:30px;}
.produto-galeria-info .spec{font-family:var(--rotulo); font-weight:600; font-size:14.5px; letter-spacing:0.02em; color:var(--pedra);}
.produto-galeria-status{display:flex; align-items:center; gap:8px; font-size:14px; font-weight:600; color:var(--pedra-escura);}
.produto-galeria-status .status-dot.ok{background:#1E7A3D; box-shadow:none;}
.produto-galeria-status .status-dot.busy{background:var(--ferrugem); box-shadow:none;}
.produto-galeria-thumbs{display:flex; flex-wrap:wrap; gap:7px; margin-top:2px;}
.produto-galeria-thumb{
  width:52px; height:52px; flex:none; cursor:pointer; border-radius:3px;
  background-size:cover; background-position:center;
  border:2px solid transparent; opacity:0.6; transition:all .15s ease;
}
.produto-galeria-thumb:hover{opacity:1;}
.produto-galeria-thumb.active{opacity:1; border-color:var(--sinal);}
.produto-galeria-preco{margin-top:auto; padding-top:12px; border-top:2px solid var(--grafite);}
.produto-galeria-preco b{font-family:var(--titulo); font-size:34px; font-weight:900; color:var(--grafite);}
.produto-galeria-preco span{font-size:13.5px; color:var(--pedra-escura); margin-left:4px;}
.produto-galeria-preco .semana{display:block; font-size:14px; color:var(--pedra-escura); margin:2px 0 0;}
.produto-galeria-desc{margin-top:18px; padding-top:14px; border-top:1px solid var(--linha-escura); font-size:15px; color:var(--pedra-escura); line-height:1.6;}

/* ---------- Meus dados ---------- */
.meus-dados-box{background:var(--branco); border-radius:6px; border-top:6px solid var(--sinal); padding:26px 28px; max-width:580px;}
.meus-dados-row{display:flex; justify-content:space-between; gap:16px; padding:12px 0; border-bottom:1px solid var(--linha-escura); font-size:15px;}
.meus-dados-row:last-child{border-bottom:none;}
.meus-dados-row b{font-family:var(--rotulo); font-size:15px; font-weight:700; color:var(--pedra-escura);}
.meus-dados-row span{text-align:right; color:var(--grafite);}

/* ---------- Notificações ---------- */
.toast-container{
  position:fixed; top:20px; right:20px; z-index:400;
  display:flex; flex-direction:column; gap:10px; max-width:360px; width:calc(100% - 40px); pointer-events:none;
}
.toast{
  background:var(--grafite); color:var(--cal); border-left:5px solid var(--sinal); border-radius:var(--raio);
  padding:13px 16px; box-shadow:0 14px 34px rgba(0,0,0,0.3); font-size:14.5px; line-height:1.4;
  display:flex; align-items:flex-start; gap:10px;
  opacity:0; transform:translateX(16px); transition:opacity .2s ease, transform .2s ease; pointer-events:auto;
}
.toast.show{opacity:1; transform:translateX(0);}
.toast.erro{border-left-color:#E05A3A;}
.toast.sucesso{border-left-color:#5CC77A;}
.toast-icon{width:16px; height:16px; flex:none; margin-top:2px;}
.toast-icon svg{width:100%; height:100%;}
.toast.erro .toast-icon{color:#E05A3A;}
.toast.sucesso .toast-icon{color:#5CC77A;}
.toast:not(.erro):not(.sucesso) .toast-icon{color:var(--sinal);}
.toast-close{background:none; border:none; color:var(--cimento); cursor:pointer; font-size:16px; line-height:1; padding:0; margin-left:auto; flex:none;}
.toast-close:hover{color:var(--cal);}

/* ---------- Esqueleto de carregamento (tabelas admin) ---------- */
@keyframes skeleton-pulse{0%, 100%{opacity:0.45;} 50%{opacity:1;}}
.skeleton-bar{height:13px; width:100%; border-radius:2px; background:var(--linha-escura); animation:skeleton-pulse 1.1s ease-in-out infinite;}
.skeleton-bar.short{width:55%;}
.skeleton-bar.tiny{width:34px;}

/* ---------- WhatsApp flutuante ---------- */
.whatsapp-float{
  position:fixed; right:22px; bottom:22px; z-index:150;
  width:58px; height:58px; border-radius:50%;
  background:#25D366; color:#fff; display:flex; align-items:center; justify-content:center;
  box-shadow:0 8px 22px rgba(0,0,0,0.3); transition:opacity .18s ease, transform .18s ease;
}
.whatsapp-float:hover{transform:translateY(-2px) scale(1.04);}
.whatsapp-float svg{width:30px; height:30px;}
.whatsapp-tooltip{
  position:absolute; right:68px; top:50%; transform:translateY(-50%) translateX(6px);
  background:var(--grafite); color:var(--cal); font-size:14px; font-weight:600;
  padding:7px 12px; border-radius:var(--raio); white-space:nowrap;
  opacity:0; visibility:hidden; transition:opacity .15s ease, transform .15s ease, visibility .15s;
}
.whatsapp-float:hover .whatsapp-tooltip{opacity:1; visibility:visible; transform:translateY(-50%) translateX(0);}
body:has(.admin-modal[style*="flex"]) .whatsapp-float{opacity:0; transform:scale(0.5); pointer-events:none;}

/* ---------- Política de Privacidade ---------- */
.legal-hero{background:var(--sinal); color:var(--grafite); padding:64px 0 52px;}
.legal-hero h1{font-size:clamp(48px, 7vw, 92px);}
.legal-meta{font-size:15px; margin-top:18px;}
.legal-meta b{font-weight:700;}
.legal{padding:56px 0 80px; background:var(--branco);}
.legal-body{max-width:760px;}
.legal-body p{font-size:17px; line-height:1.7; margin-bottom:16px;}
.legal-body h2{font-size:36px; margin:48px 0 16px; padding-top:24px; border-top:3px solid var(--grafite);}
.legal-body ul{padding-left:22px; margin-bottom:18px;}
.legal-body li{font-size:17px; line-height:1.65; margin-bottom:8px;}
.legal-body li::marker{color:var(--sinal-forte);}
.legal-body a:not(.btn){text-decoration:underline; text-decoration-color:var(--sinal-forte); text-decoration-thickness:2px; text-underline-offset:3px;}
.legal-body a:not(.btn):hover{text-decoration-color:var(--grafite);}
.legal-voltar{margin-top:36px;}

/* ---------- Responsivo ---------- */
/* Menu vira gaveta abaixo de 1100px (são 6 abas + botão) */
@media (max-width:1100px){
  .nav{height:66px; gap:12px;}
  section[id]{scroll-margin-top:66px;}
  .logo-img{height:36px;}
  .nav .logo{margin-right:auto;}
  .btn-topo{padding:9px 14px; font-size:15px;}
  .menu-btn{display:flex;}
  nav.links{
    position:absolute; left:0; right:0; top:100%;
    flex-direction:column; align-items:stretch; gap:0; margin:0;
    background:var(--grafite); border-top:1px solid var(--linha);
    padding:6px 16px 16px;
    visibility:hidden; opacity:0; transform:translateY(-8px);
    transition:opacity .2s ease, transform .2s ease, visibility .2s;
  }
  nav.links.aberto{visibility:visible; opacity:1; transform:none;}
  nav.links a{font-size:18px; padding:14px 0; border-bottom:1px solid var(--linha); opacity:1;}
  nav.links a:hover{border-color:var(--linha); color:var(--sinal);}
  nav.links a[aria-current="page"]{color:var(--sinal); border-color:var(--linha);}
}
@media (max-width:960px){
  .hero-copy{max-width:none;}
  .hero-planeta{position:relative; right:auto; top:auto; width:82%; max-width:460px; margin:0 -60px 14px auto;}
  .placas{grid-template-columns:1fr 1fr; margin-top:44px;}
  .medidor-in{grid-template-columns:1fr 1fr; row-gap:22px;}
  .motivos-in, .services-in, .contact-grid{grid-template-columns:1fr; gap:36px;}
  .motivos .section-head{position:static;}
  .catalog-grid{grid-template-columns:1fr 1fr;}
  .trajeto{grid-template-columns:1fr; gap:26px;}
  .trajeto::before{left:28px; right:auto; top:30px; bottom:30px; width:4px; height:auto; transform:scaleY(0); transform-origin:top;}
  .js .trajeto.visivel::before, html:not(.js) .trajeto::before{transform:scaleY(1);}
  .etapa{padding-left:84px; min-height:60px;}
  .etapa-num{position:absolute; left:0; top:0;}
  .etapa h3{margin-top:10px;}
  .footer-grid{grid-template-columns:1fr 1fr;}
}
@media (max-width:640px){
  .wrap{padding-left:16px; padding-right:16px;}
  section{padding:64px 0;}
  .hero{padding:32px 0 32px;}
  .hero .lead{font-size:17.5px;}
  .hero-actions{gap:18px;}
  .btn-grande{font-size:19px; padding:16px 24px;}
  .placa b{font-size:19px;}
  .medidor b{font-size:40px;}
  .filtros{grid-template-columns:1fr 1fr; gap:8px;}
  .filtro{padding:12px 10px; column-gap:10px;}
  .filtro-icone{width:34px; height:34px;}
  .filtro-icone svg{width:19px; height:19px;}
  .filtro-nome{font-size:15.5px;}
  .filtros-tipo{grid-template-columns:1fr; gap:8px;}
  .filtros-tipo .filtro{padding:12px 12px;}
  .filtros-tipo .filtro-icone{width:38px; height:38px;}
  .filtros-tipo .filtro-icone svg{width:21px; height:21px;}
  .filtros-tipo .filtro-nome{font-size:18px;}
  .filtros-linha{grid-template-columns:1fr 1fr;}
  .filtro-sub .filtro-nome{font-size:14px;}
  .catalog-grid, .services-grid, .footer-grid, .form-row{grid-template-columns:1fr;}
  .form-row{gap:0;}
  form.plate-form{padding:24px 18px;}
  .produto-galeria-grid{grid-template-columns:1fr;}
  .produto-galeria-preco{margin-top:12px;}
  .whatsapp-float{right:16px; bottom:16px; width:52px; height:52px;}
  .whatsapp-float svg{width:26px; height:26px;}
  .toast-container{left:12px; right:12px; top:12px; max-width:none; width:auto;}
  .cta-banner{padding:44px 0;}
  .legal-hero{padding:44px 0 36px;}
  .pagina-topo{padding:40px 0 36px;}
  .pagina-topo p{font-size:17px;}
  .catalog-mais{gap:18px;}
  .legal{padding:40px 0 60px;}
  .legal-body p, .legal-body li{font-size:16px;}
  .legal-body h2{font-size:30px; margin-top:36px;}
}
@media (max-width:350px){
  .btn-topo{display:none;}
}

@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto;}
  *, *::before, *::after{animation:none !important; transition:none !important;}
  .js .revelar{opacity:1; transform:none;}
  .trajeto::before{transform:none !important;}
}

/* ---------- Telas de aviso: "Disponível em breve" e páginas de erro ---------- */
.corpo-aviso{min-height:100vh; display:flex; flex-direction:column; background:var(--sinal);}
.btn-voltar-topo{margin-left:auto;}
.tela-aviso{flex:1; display:flex; align-items:center; background:var(--sinal); color:var(--grafite); overflow:hidden;}
.tela-aviso-in{position:relative; width:100%; padding-top:64px; padding-bottom:72px;}
.tela-aviso-planeta{
  position:absolute; right:-140px; top:50%; width:min(560px, 46vw); height:auto;
  transform:translateY(-50%) rotate(-8deg); pointer-events:none;
}
.tela-aviso-codigo{
  position:absolute; right:0; top:50%; transform:translateY(-50%);
  font-family:var(--titulo); font-weight:900; line-height:.8;
  font-size:clamp(140px, 24vw, 340px); color:var(--grafite); opacity:.14;
  pointer-events:none; user-select:none;
}
.tela-aviso-texto{position:relative; z-index:1; max-width:min(660px, 62%);}
.tela-aviso-texto h1{font-size:clamp(54px, 8vw, 112px); line-height:.9;}
.tela-aviso-texto p{font-size:19px; font-weight:500; max-width:46ch; margin-top:20px;}
.tela-aviso-texto .hero-actions{margin-top:32px;}
.tela-aviso-selo{
  display:inline-block; margin:0 0 16px !important;
  font-family:var(--rotulo); font-weight:800; font-size:17px !important;
  background:var(--grafite); color:var(--sinal); padding:4px 12px; border-radius:999px;
}
.rodape-simples{padding:0;}
.rodape-simples .footer-bottom{padding:20px 28px;}

/* ---------- Fretado na página inicial ---------- */
.fretado-home{background:var(--grafite); color:var(--cal); overflow:hidden;}
.fretado-home-in{display:grid; grid-template-columns:1.1fr 0.9fr; gap:48px; align-items:center;}
.fretado-home h2{font-size:clamp(48px, 6vw, 80px);}
.fretado-home p{color:#C9C6BE; font-size:17.5px; max-width:48ch; margin-top:16px;}
.fretado-home .hero-actions{margin-top:28px;}
.selo-breve{
  display:inline-block; margin-bottom:16px;
  font-family:var(--rotulo); font-weight:800; font-size:16px;
  background:var(--sinal); color:var(--grafite); padding:4px 12px; border-radius:999px;
}
.fretado-home-arte{justify-self:end; width:100%; max-width:420px;}
.fretado-home-arte svg{width:100%; height:auto; stroke:var(--sinal); fill:none;}
.fretado-aviso-admin{
  display:inline-block; margin-top:22px; font-size:14.5px; font-weight:600;
  background:var(--grafite); color:var(--sinal); padding:6px 12px; border-radius:var(--raio);
}

@media (max-width:960px){
  .fretado-home-in{grid-template-columns:1fr; gap:28px;}
  .fretado-home-arte{justify-self:start; max-width:260px;}
  .tela-aviso-texto{max-width:none;}
  .tela-aviso-planeta{position:relative; right:auto; top:auto; transform:rotate(-8deg); width:78%; max-width:420px; margin:0 -60px 20px auto; display:block;}
  .tela-aviso-codigo{position:relative; top:auto; right:auto; transform:none; opacity:.9; font-size:clamp(110px, 32vw, 180px); margin-bottom:8px;}
  .tela-aviso-in{padding-top:36px; padding-bottom:48px;}
}
@media (max-width:640px){
  .tela-aviso-texto p{font-size:17px;}
  .rodape-simples .footer-bottom{padding:18px 16px;}
}

/* ---------- Botão de sair (admin) ---------- */
html:not([data-admin-entrada]) #adminToggleBtn:not(.is-logged){display:none;}

/* ---------- Aceite nos formulários (LGPD) ---------- */
.aceite{display:flex; gap:10px; align-items:flex-start; margin:4px 0 16px; font-size:14.5px; line-height:1.45; color:var(--pedra-escura); cursor:pointer;}
.aceite[hidden]{display:none;}
.aceite input{width:20px; height:20px; flex:none; margin-top:1px; accent-color:var(--grafite); cursor:pointer;}
.aceite a{color:var(--grafite); font-weight:600; text-decoration:underline; text-decoration-color:var(--sinal-forte); text-decoration-thickness:2px; text-underline-offset:2px;}

/* ---------- Rodapé: links legais ---------- */
.footer-links{display:inline-flex; flex-wrap:wrap; gap:6px 18px;}
.footer-links a{text-decoration:underline; text-underline-offset:3px;}
.footer-links a:hover{color:var(--sinal);}

/* ---------- Aviso de cookies ---------- */
.aviso-cookies{
  position:fixed; left:20px; bottom:20px; z-index:300; max-width:520px;
  background:var(--grafite); color:var(--cal); border-top:5px solid var(--sinal); border-radius:6px;
  padding:18px 20px; box-shadow:0 18px 40px rgba(0,0,0,0.35);
  animation:modal-entra .25s ease;
}
.aviso-cookies p{font-size:14.5px; line-height:1.5;}
.aviso-cookies a{color:var(--sinal); text-decoration:underline; text-underline-offset:3px;}
.aviso-cookies-acoes{display:flex; gap:10px; justify-content:flex-end; margin-top:14px;}
.aviso-cookies .btn{padding:10px 18px; font-size:16px;}
@media (max-width:640px){
  .aviso-cookies{left:12px; right:12px; bottom:12px; max-width:none;}
  .aviso-cookies-acoes .btn{flex:1;}
  body.com-aviso-cookies .whatsapp-float{bottom:190px;}
}

/* ---------- "Valor sob consulta" (produto sem preço definido) ---------- */
.item-price.item-price-consulta{font-family:var(--rotulo); font-weight:800; font-size:22px; line-height:1.1;}
.item-price-consulta span{display:block; margin:3px 0 0; font-size:13px;}
.produto-galeria-preco .preco-consulta{font-family:var(--rotulo); font-size:24px;}
.produtos-dica{margin:-8px 0 14px;}
/* Tabela de produtos do admin: duas linhas por produto (campos em cima,
   spec + botões embaixo), cabe na largura do painel sem rolagem lateral */
.produtos-table thead th, .produtos-table tbody td{padding-left:10px; padding-right:10px;}
.produtos-table thead th:first-child, .produtos-table tbody td:first-child{padding-left:16px;}
.produtos-table .produto-linha td{border-bottom:none; padding-bottom:6px; vertical-align:middle;}
.produtos-table .produto-linha-2 td{padding-top:0; vertical-align:middle;}
.produtos-table .produto-linha-2 .row-actions{justify-content:flex-start;}
.produtos-table tbody tr:hover{background:transparent;}
.produtos-table .produto-linha:hover, .produtos-table .produto-linha:hover + .produto-linha-2,
.produtos-table .produto-linha:has(+ .produto-linha-2:hover), .produtos-table .produto-linha-2:hover{background:var(--cal);}
.produtos-table .name-cell .produto-input{margin-bottom:0; min-width:200px;}
.produtos-table select.produto-input{min-width:150px;}
.produtos-table input.produto-input[type="number"]{width:78px;}
.produtos-table .th-chave, .chave-cell{text-align:center;}
.chave-admin{display:inline-flex; padding:6px; cursor:pointer;}
.chave-admin input{width:19px; height:19px; accent-color:var(--grafite); cursor:pointer; margin:0;}
.produto-input:disabled{background:var(--cal); color:var(--pedra); cursor:not-allowed;}
.produto-input:disabled::placeholder{color:var(--pedra); opacity:.8;}
.consulta-novo{margin:0 0 16px;}
