:root{
    --asfalto:#17181A;
    --asfalto-2:#232529;
    --amarelo:#6E7A88;
    --amarelo-2:#8793A1;
    --ferrugem:#C1481D;
    --concreto:#EDEAE2;
    --concreto-2:#E1DDD1;
    --aco:#5B6670;
    --aco-dark:#3A4148;
    --branco:#FCFBF8;
    --linha:rgba(255,255,255,0.12);
    --linha-escura:rgba(23,24,26,0.12);
  }
  *{box-sizing:border-box; margin:0; padding:0;}
  html{scroll-behavior:smooth;}
  body{
    font-family:'Barlow', sans-serif;
    background:var(--concreto);
    color:var(--asfalto);
    line-height:1.5;
    -webkit-font-smoothing:antialiased;
  }
  h1,h2,h3,h4{
    font-family:'Barlow Condensed', sans-serif;
    font-weight:800;
    text-transform:uppercase;
    letter-spacing:0.01em;
    line-height:1.02;
  }
  .mono{font-family:'IBM Plex Mono', monospace;}
  a{color:inherit; text-decoration:none;}
  img,svg{display:block; max-width:100%;}
  .wrap{max-width:1180px; margin:0 auto; padding:0 28px;}
  .eyebrow{
    font-family:'IBM Plex Mono', monospace;
    font-size:12.5px;
    font-weight:600;
    letter-spacing:0.16em;
    text-transform:uppercase;
    color:var(--ferrugem);
    display:flex; align-items:center; gap:10px;
  }
  .eyebrow::before{content:""; width:22px; height:2px; background:var(--ferrugem); display:inline-block;}

  /* Hazard stripe motif */
  .hazard{
    height:10px;
    background:repeating-linear-gradient(135deg, var(--amarelo) 0 22px, var(--asfalto) 22px 44px);
  }

  /* Header */
  header{
    position:sticky; top:0; z-index:50;
    background:var(--asfalto);
    border-bottom:1px solid var(--linha);
  }
  .nav{
    display:flex; align-items:center; justify-content:space-between;
    padding:16px 0;
  }
  .logo{
    display:flex; align-items:center; gap:10px;
    font-family:'Barlow Condensed', sans-serif;
    font-weight:800; text-transform:uppercase;
    font-size:22px; letter-spacing:0.02em;
    color:var(--branco);
  }
  .logo-img{
    height:46px; width:auto; border-radius:8px;
    box-shadow:0 2px 8px rgba(0,0,0,0.35);
  }
  nav.links{display:flex; gap:32px; align-items:center;}
  nav.links a{
    color:var(--concreto);
    font-size:15px; font-weight:600;
    padding:6px 2px; border-bottom:2px solid transparent;
    transition:border-color .15s, color .15s;
  }
  nav.links a:hover{border-color:var(--amarelo); color:var(--amarelo-2);}
  .btn{
    display:inline-flex; align-items:center; gap:8px;
    padding:12px 22px;
    font-family:'Barlow Condensed', sans-serif;
    font-weight:700; text-transform:uppercase; letter-spacing:0.04em;
    font-size:15.5px;
    border:none; cursor:pointer;
    transition:transform .15s ease, box-shadow .15s ease, background .15s ease;
  }
  .btn-primary{
    background:var(--amarelo); color:var(--asfalto);
    clip-path:polygon(0 0,100% 0,100% 70%,88% 100%,0 100%);
  }
  .btn-primary:hover{background:var(--amarelo-2); transform:translateY(-2px);}
  .btn-outline{
    background:transparent; color:var(--branco);
    border:1.5px solid var(--linha);
  }
  .btn-outline:hover{border-color:var(--amarelo); color:var(--amarelo-2);}
  .btn-danger{
    background:#B3261E; color:#fff;
    clip-path:polygon(0 0,100% 0,100% 70%,88% 100%,0 100%);
  }
  .btn-danger:hover{background:#8f1e18; transform:translateY(-2px);}
  /* Dentro dos modais o fundo é claro — o .btn-outline padrão (texto
     branco, pensado pro hero escuro) fica ilegível aqui. */
  .admin-modal-box .btn-outline{ color:var(--asfalto); border-color:var(--linha-escura); }
  .admin-modal-box .btn-outline:hover{ border-color:var(--amarelo); color:var(--aco-dark); }
  .btn-dark{
    background:var(--asfalto); color:var(--amarelo);
    clip-path:polygon(0 0,100% 0,100% 70%,88% 100%,0 100%);
  }
  .btn-dark:hover{background:var(--asfalto-2);}

  /* Hero */
  .hero{
    background:var(--asfalto);
    color:var(--branco);
    padding:78px 0 66px;
    position:relative;
    overflow:hidden;
  }
  .hero::after{
    content:"";
    position:absolute; right:-140px; top:-60px;
    width:520px; height:520px;
    border:70px solid rgba(245,180,0,0.06);
    border-radius:50%;
  }
  .hero-grid{
    display:grid; grid-template-columns:1.15fr 0.85fr; gap:56px; align-items:center;
    position:relative; z-index:1;
  }
  .hero h1{
    font-size:clamp(38px, 4.6vw, 62px);
    color:var(--branco);
    margin:18px 0 22px;
  }
  .hero h1 .hl{color:var(--amarelo);}
  .hero p.lead{
    font-size:18px; color:#C9CBCE; max-width:520px; margin-bottom:32px;
  }
  .hero-actions{display:flex; gap:14px; flex-wrap:wrap;}
  .hero-stats{
    display:flex; gap:0; margin-top:44px; border-top:1px solid var(--linha); padding-top:22px;
  }
  .hero-stats div{padding-right:32px; margin-right:32px; border-right:1px solid var(--linha);}
  .hero-stats div:last-child{border-right:none;}
  .hero-stats b{
    font-family:'Barlow Condensed', sans-serif; font-size:30px; color:var(--amarelo); display:block;
  }
  .hero-stats span{font-size:13px; color:#9AA0A6;}

  .plate-visual{
    background:var(--asfalto-2);
    border:1px solid var(--linha);
    padding:26px;
    position:relative;
  }
  .plate-visual::before{
    content:"";
    position:absolute; inset:10px;
    border:1px dashed rgba(245,180,0,0.35);
    pointer-events:none;
  }
  .plate-visual .tag{
    font-family:'IBM Plex Mono', monospace; font-size:12px; color:var(--amarelo);
    letter-spacing:0.1em; display:flex; justify-content:space-between; margin-bottom:16px;
  }
  .plate-row{
    display:grid; grid-template-columns:repeat(3,1fr); gap:12px;
  }
  .plate-icon{
    background:var(--asfalto);
    border:1px solid var(--linha);
    padding:14px 10px 12px;
    text-align:center;
  }
  .plate-icon svg{width:34px; height:34px; margin:0 auto 8px; stroke:var(--amarelo);}
  .plate-icon span{font-size:11px; color:#C9CBCE; font-weight:600; text-transform:uppercase; letter-spacing:0.02em;}

  /* Section shell */
  section{padding:76px 0;}
  .section-head{max-width:640px; margin-bottom:46px;}
  .section-head h2{font-size:clamp(30px,3.4vw,42px); margin-top:12px;}
  .section-head p{color:var(--aco-dark); font-size:16.5px; margin-top:14px;}

  /* Benefits */
  .benefits{background:var(--branco);}
  .benefit-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:22px;}
  .benefit-card{
    background:var(--concreto);
    border:1px solid var(--linha-escura);
    padding:30px 26px;
    position:relative;
  }
  .benefit-card .num{
    font-family:'IBM Plex Mono', monospace; font-size:12px; color:var(--ferrugem);
    font-weight:600; letter-spacing:0.1em;
  }
  .benefit-card h3{
    font-size:23px; margin:14px 0 10px; text-transform:none; letter-spacing:0;
  }
  .benefit-card p{color:var(--aco-dark); font-size:15px;}
  .benefit-card .icon{
    width:44px; height:44px; background:var(--asfalto);
    display:flex; align-items:center; justify-content:center; margin-bottom:16px;
  }
  .benefit-card .icon svg{width:22px; height:22px; stroke:var(--amarelo);}

  /* Catalog */
  .catalog{background:var(--asfalto); color:var(--branco);}
  .catalog .eyebrow{color:var(--amarelo);}
  .catalog .eyebrow::before{background:var(--amarelo);}
  .catalog .section-head h2{color:var(--branco);}
  .catalog .section-head p{color:#B7BABE;}

  .tabs{
    display:flex; flex-wrap:wrap; gap:10px; margin-bottom:36px;
  }
  .tab{
    font-family:'IBM Plex Mono', monospace;
    font-size:13px; font-weight:600; letter-spacing:0.03em;
    padding:10px 16px;
    background:var(--asfalto-2);
    border:1px solid var(--linha);
    color:#C9CBCE;
    cursor:pointer;
    transition:all .15s ease;
  }
  .tab:hover{border-color:var(--amarelo);}
  .tab.active{background:var(--amarelo); color:var(--asfalto); border-color:var(--amarelo);}

  .catalog-grid{
    display:grid; grid-template-columns:repeat(3, 1fr); gap:18px;
  }
  .item-card{
    background:var(--asfalto-2);
    border:1px solid var(--linha);
    padding:22px 20px 20px;
    position:relative;
    overflow:hidden;
    cursor:pointer;
    transition:border-color .15s ease, transform .15s ease;
  }
  .item-card:hover, .item-card:focus-within{border-color:var(--amarelo); transform:translateY(-3px);}
  .item-card:focus{outline:none;}
  .item-card .rivet{
    position:absolute; width:5px; height:5px; border-radius:50%;
    background:var(--aco);
  }
  .item-card .rivet.tl{top:8px; left:8px;} .item-card .rivet.tr{top:8px; right:8px;}
  .item-card .rivet.bl{bottom:8px; left:8px;} .item-card .rivet.br{bottom:8px; right:8px;}
  .item-card .corner-tab{
    position:absolute; top:0; right:0;
    background:var(--amarelo); color:var(--asfalto);
    font-family:'IBM Plex Mono', monospace; font-size:10.5px; font-weight:600;
    padding:4px 9px; letter-spacing:0.04em;
    transition:opacity .15s ease;
  }
  .item-card .corner-tab.busy{background:var(--ferrugem); color:var(--branco);}
  .item-card:hover .corner-tab, .item-card:focus-within .corner-tab{opacity:0;}
  .item-card .icon-row{
    display:flex; align-items:center; gap:12px; margin-bottom:14px;
  }
  .item-card .icon-box{
    width:46px; height:46px; flex:none;
    border:1px solid var(--linha);
    display:flex; align-items:center; justify-content:center;
  }
  .item-card .icon-box svg{width:26px; height:26px; stroke:var(--amarelo); fill:none;}
  .item-card h4{
    font-size:19px; letter-spacing:0.005em; color:var(--branco);
  }
  .item-card .spec{
    font-family:'IBM Plex Mono', monospace; font-size:11.5px; color:var(--amarelo-2);
    letter-spacing:0.03em; margin-top:2px;
  }
  .item-card p{font-size:13.8px; color:#B7BABE; margin-top:6px;}
  .item-card .cat-label{
    font-family:'IBM Plex Mono', monospace; font-size:10px; letter-spacing:0.12em;
    color:var(--aco); text-transform:uppercase; margin-top:14px; padding-top:12px;
    border-top:1px solid var(--linha);
  }

  /* Resumo de disponibilidade, preço e datas ao passar o mouse */
  .item-overlay{
    position:absolute; inset:0;
    background:linear-gradient(165deg, #1C1D20 0%, var(--asfalto) 100%);
    padding:22px 20px;
    display:flex; flex-direction:column; justify-content:center; gap:9px;
    opacity:0; visibility:hidden;
    transform:translateY(6px);
    transition:opacity .18s ease, transform .18s ease, visibility .18s;
    z-index:2;
  }
  .item-card:hover .item-overlay,
  .item-card:focus-within .item-overlay{
    opacity:1; visibility:visible; transform:translateY(0);
  }
  .item-overlay .status-row{
    display:flex; align-items:center; gap:8px;
    font-family:'IBM Plex Mono', monospace; font-size:11.5px;
    letter-spacing:0.05em; text-transform:uppercase; color:var(--branco);
  }
  .item-overlay .status-dot{width:8px; height:8px; border-radius:50%; flex:none;}
  .item-overlay .status-dot.ok{background:#4CBE6C;}
  .item-overlay .status-dot.busy{background:var(--ferrugem);}
  .item-overlay .qty-row{
    font-family:'IBM Plex Mono', monospace; font-size:12px; color:var(--branco);
    background:rgba(245,180,0,0.1); border:1px solid rgba(245,180,0,0.3);
    padding:5px 9px; width:fit-content;
  }
  .item-overlay .price{
    font-family:'Barlow Condensed', sans-serif; font-size:26px; font-weight:800;
    color:var(--amarelo); line-height:1; margin-top:4px;
  }
  .item-overlay .price.price-week{font-size:16px; color:var(--branco); margin-top:0;}
  .item-overlay .price span{
    font-family:'Barlow', sans-serif; font-size:12.5px; font-weight:500;
    text-transform:none; color:#B7BABE; letter-spacing:0; margin-left:4px;
  }
  .item-overlay .dates{
    font-family:'IBM Plex Mono', monospace; font-size:12px; color:#C9CBCE;
    padding-top:9px; border-top:1px solid var(--linha); margin-top:2px;
  }
  .item-overlay .dates b{
    display:block; font-size:10px; letter-spacing:0.1em; text-transform:uppercase;
    color:var(--amarelo-2); margin-bottom:4px;
  }
  .item-overlay .click-hint{
    font-family:'IBM Plex Mono', monospace; font-size:10px; letter-spacing:0.06em;
    text-transform:uppercase; color:var(--amarelo-2); text-align:center;
    margin-top:auto; padding-top:9px; border-top:1px solid var(--linha);
  }

  /* Carrossel de fotos dentro do overlay (só aparece se o produto
     tiver alguma foto cadastrada pelo admin) */
  .item-overlay .fotos-carousel{
    position:relative; width:100%; aspect-ratio:16/9; flex:none;
    background-size:cover; background-position:center; background-color:rgba(255,255,255,0.06);
    border:1px solid var(--linha); overflow:hidden; margin-bottom:2px;
    transition:background-image .25s ease;
  }
  .item-overlay .fotos-carousel-dots{
    position:absolute; left:0; right:0; bottom:6px;
    display:flex; justify-content:center; gap:5px;
  }
  .item-overlay .fotos-carousel-dots span{
    width:5px; height:5px; border-radius:50%; background:rgba(255,255,255,0.4);
    transition:background .15s ease;
  }
  .item-overlay .fotos-carousel-dots span.active{background:var(--amarelo);}

  /* How it works */
  .how{background:var(--concreto-2);}
  .how-grid{
    display:grid; grid-template-columns:repeat(3,1fr); gap:0;
    counter-reset:step;
  }
  .step{
    padding:0 26px; position:relative;
  }
  .step:first-child{padding-left:0;}
  .step:not(:last-child)::after{
    content:"";
    position:absolute; top:26px; right:-11px;
    width:22px; height:2px; background:var(--aco);
  }
  .step .step-num{
    font-family:'Barlow Condensed', sans-serif;
    font-size:52px; font-weight:900; color:transparent;
    -webkit-text-stroke:1.6px var(--asfalto);
    line-height:1;
  }
  .step h3{font-size:21px; margin:14px 0 8px;}
  .step p{color:var(--aco-dark); font-size:15px;}

  /* Outros Serviços */
  .services-section{background:var(--branco);}
  .services-grid{
    display:grid; grid-template-columns:repeat(3,1fr); gap:4px 32px;
  }
  .service-item{
    display:flex; align-items:center; gap:12px;
    padding:13px 0; border-bottom:1px solid var(--linha-escura);
  }
  .service-item .icon-box{
    width:28px; height:28px; flex:none;
    border:1px solid var(--linha-escura); border-radius:50%;
    display:flex; align-items:center; justify-content:center;
  }
  .service-item .icon-box svg{width:14px; height:14px; stroke:var(--ferrugem);}
  .service-item span:last-child{font-size:14.5px; color:var(--asfalto-2);}

  /* CTA banner */
  .cta-banner{
    background:var(--ferrugem); color:var(--branco);
    padding:46px 0;
  }
  .cta-banner .wrap{
    display:flex; align-items:center; justify-content:space-between; gap:24px; flex-wrap:wrap;
  }
  .cta-banner h3{font-size:26px; max-width:520px;}
  .cta-banner p{opacity:0.9; margin-top:6px; font-size:15px;}

  /* Cadastro de Clientes */
  .cadastro{background:var(--concreto-2);}
  .tab-count{
    background:var(--asfalto); color:var(--amarelo);
    font-size:10.5px; padding:2px 7px; margin-left:8px;
    display:inline-block;
  }
  .tab.active .tab-count{background:var(--asfalto); color:var(--amarelo);}
  .reg-form{max-width:760px;}
  .reg-list-toolbar{margin-bottom:18px;}
  .reg-list-toolbar input{
    width:100%; max-width:420px;
    padding:12px 14px;
    border:1px solid var(--linha-escura);
    background:var(--branco);
    font-family:'IBM Plex Mono', monospace; font-size:13.5px; color:var(--asfalto);
  }
  .reg-list-toolbar input:focus{outline:2px solid var(--amarelo); outline-offset:1px; border-color:var(--amarelo);}

  #clientTableWrap{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:'IBM Plex Mono', monospace; font-size:11px;
    letter-spacing:0.08em; text-transform:uppercase;
    color:var(--branco); background:var(--asfalto);
    padding:12px 16px;
  }
  .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(--concreto);}
  /* Mensagens do formulário de contato ainda não lidas */
  .mensagem-nao-lida{background:#FFF9EC;}
  .mensagem-nao-lida:hover{background:#FFF4DE;}
  .mensagem-nao-lida .name-cell b::before{
    content:""; display:inline-block; width:7px; height:7px; border-radius:50%;
    background:var(--ferrugem); margin-right:7px; vertical-align:middle;
  }
  .client-table .name-cell b{display:block; font-size:15px;}
  .client-table .name-cell span{
    font-family:'IBM Plex Mono', monospace; font-size:10.5px;
    color:var(--ferrugem); letter-spacing:0.06em; text-transform:uppercase;
  }
  .client-table .doc-cell, .client-table .contact-cell{
    font-family:'IBM Plex Mono', monospace; font-size:13px; color:var(--aco-dark);
  }
  .client-table .contact-cell div:first-child{color:var(--asfalto); font-family:'Barlow',sans-serif; font-size:14px;}
  .row-actions{display:flex; gap:8px;}
  .row-actions button{
    font-family:'IBM Plex Mono', monospace; font-size:11px; letter-spacing:0.04em;
    padding:7px 11px; border:1px solid var(--linha-escura);
    background:var(--concreto); cursor:pointer; text-transform:uppercase;
    transition:all .15s ease;
  }
  .row-actions .edit-btn:hover{border-color:var(--amarelo); background:var(--amarelo); color:var(--asfalto);}
  .row-actions .delete-btn:hover{border-color:var(--ferrugem); background:var(--ferrugem); color:var(--branco);}
  .row-actions .add-imagem-btn:hover{border-color:var(--amarelo); background:var(--amarelo); color:var(--asfalto);}

  .imagens-row td{padding:0 16px 16px !important; background:var(--concreto);}
  .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;
    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(23,24,26,0.72); color:var(--branco);
    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:'IBM Plex Mono', monospace; font-size:11px; letter-spacing:0.04em;
    padding:7px 11px; border:1px solid var(--amarelo);
    background:var(--amarelo); color:var(--asfalto); cursor:pointer; text-transform:uppercase;
    white-space:nowrap; transition:all .15s ease;
  }
  .pedidos-toggle-btn:hover{background:var(--asfalto); color:var(--amarelo); border-color:var(--asfalto);}
  .pedidos-none{font-family:'IBM Plex Mono', monospace; font-size:12.5px; color:var(--aco);}

  .pedidos-row td{padding:0 16px 16px !important; background:var(--concreto);}
  .pedidos-detail{
    display:grid; gap:10px; padding:14px 16px;
    border:1px dashed var(--linha-escura); background:var(--branco);
  }
  .pedidos-loading{font-size:13px; color:var(--aco); margin:0;}
  .pedido-item{border-left:3px solid var(--amarelo); 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:14.5px; color:var(--asfalto);}
  .pedido-item-head span{font-family:'IBM Plex Mono', monospace; font-size:11px; color:var(--aco);}
  .pedido-item-meta{display:flex; gap:10px; flex-wrap:wrap; margin-top:2px;}
  .pedido-item-meta span{
    font-family:'IBM Plex Mono', monospace; font-size:11px; color:var(--aco-dark);
    background:var(--concreto); padding:2px 7px;
  }
  .pedido-item-msg{font-size:13.5px; color:var(--aco-dark); 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:'Barlow Condensed', sans-serif; font-size:20px; font-weight:700; text-transform:uppercase; color:var(--aco);}
  .empty-state span{font-size:13.5px; color:var(--aco); display:block; margin-top:6px;}
  .empty-state.show{display:block;}

  /* Contact form */
  .contact{background:var(--branco);}
  .contact-grid{display:grid; grid-template-columns:1fr 1fr; gap:48px; align-items:start;}
  .contact-info h2{font-size:clamp(28px,3vw,38px);}
  .contact-info p{color:var(--aco-dark); margin:16px 0 26px; font-size:16px;}
  .contact-list{display:flex; flex-direction:column; gap:16px;}
  .contact-list li{
    list-style:none; display:flex; gap:12px; align-items:flex-start; font-size:15px;
  }
  .contact-list .icon-box{
    width:38px; height:38px; flex:none; background:var(--asfalto);
    display:flex; align-items:center; justify-content:center;
  }
  .contact-list .icon-box svg{width:18px; height:18px; stroke:var(--amarelo);}
  .contact-list b{display:block; font-size:15px;}
  .contact-list span{color:var(--aco-dark); font-size:14px;}

  form.plate-form{
    background:var(--concreto);
    border:1px solid var(--linha-escura);
    padding:32px;
    position:relative;
  }
  form.plate-form::before{
    content:"SOLICITAÇÃO Nº ____";
    position:absolute; top:-13px; left:28px;
    background:var(--asfalto); color:var(--amarelo);
    font-family:'IBM Plex Mono', monospace; font-size:11px; letter-spacing:0.08em;
    padding:5px 12px;
  }
  .form-row{display:grid; grid-template-columns:1fr 1fr; gap:16px;}
  .field{margin-bottom:16px;}
  .field label{
    display:block; font-family:'IBM Plex Mono', monospace; font-size:11.5px;
    letter-spacing:0.08em; text-transform:uppercase; color:var(--aco-dark); margin-bottom:6px;
  }
  .field input, .field select, .field textarea{
    width:100%; padding:12px 14px;
    border:1px solid var(--linha-escura);
    background:var(--branco);
    font-family:'Barlow', sans-serif; font-size:15px; color:var(--asfalto);
  }
  .field input:focus, .field select:focus, .field textarea:focus{
    outline:2px solid var(--amarelo); outline-offset:1px; border-color:var(--amarelo);
  }
  .field textarea{resize:vertical; min-height:90px;}
  form.plate-form .btn-primary{width:100%; justify-content:center; margin-top:6px; font-size:16px; padding:15px;}

  /* Clients strip */
  .clients{padding:44px 0; background:var(--concreto-2); border-top:1px solid var(--linha-escura); border-bottom:1px solid var(--linha-escura);}
  .clients .wrap{display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:20px;}
  .clients .label{
    font-family:'IBM Plex Mono', monospace; font-size:12px; color:var(--aco-dark);
    letter-spacing:0.1em; text-transform:uppercase; flex:none;
  }
  .clients .logos{display:flex; gap:34px; flex-wrap:wrap; align-items:center;}
  .clients .logos span{
    font-family:'Barlow Condensed', sans-serif; font-weight:700; font-size:19px;
    color:var(--aco); text-transform:uppercase; letter-spacing:0.03em; opacity:0.75;
  }

  /* Footer */
  footer{background:var(--asfalto); color:#9AA0A6; padding:50px 0 26px;}
  .footer-grid{display:grid; grid-template-columns:1.4fr 1fr 1fr 1fr; gap:36px; padding-bottom:36px; border-bottom:1px solid var(--linha);}
  .footer-grid h5{
    font-family:'IBM Plex Mono', monospace; font-size:12px; color:var(--branco);
    letter-spacing:0.1em; text-transform:uppercase; margin-bottom:16px;
  }
  .footer-grid ul{list-style:none;}
  .footer-grid li{margin-bottom:9px; font-size:14.5px;}
  .footer-grid a:hover{color:var(--amarelo-2);}
  .footer-bottom{
    display:flex; justify-content:space-between; align-items:center; padding-top:22px; font-size:13px; flex-wrap:wrap; gap:10px;
  }

  /* Acesso administrativo */
  .admin-toggle{
    background:none; border:1px dashed var(--linha); color:#9AA0A6;
    font-size:12px; letter-spacing:0.04em; opacity:0.75;
  }
  .admin-toggle:hover{opacity:1; color:var(--aco-dark);}
  .admin-toggle.is-logged{
    border-style:solid; border-color:var(--amarelo-2); color:var(--aco-dark); opacity:1;
  }

  /* Modal de login admin */
  .admin-modal{
    position:fixed; inset:0; background:rgba(15,17,20,0.72);
    display:flex; align-items:center; justify-content:center;
    z-index:200; padding:20px;
  }
  .admin-modal-box{
    background:var(--branco); border-radius:10px; padding:30px 28px;
    width:100%; max-width:360px; box-shadow:0 20px 60px rgba(0,0,0,0.35);
  }
  .admin-modal-box h3{font-family:'Barlow Condensed', sans-serif; font-size:24px; font-weight:800; margin-bottom:6px;}
  .admin-modal-sub{font-size:13.5px; color:#6b7076; margin-bottom:18px;}
  .admin-modal-box .field{margin-bottom:14px;}
  .admin-modal-actions{display:flex; justify-content:flex-end; gap:10px; margin-top:8px;}
  .link-btn{
    background:none; border:none; padding:0; cursor:pointer;
    font-family:'Barlow', sans-serif; font-size:13px; font-weight:600;
    color:var(--ferrugem); text-decoration:underline; text-underline-offset:2px;
    margin:-6px 0 14px; display:inline-block;
  }
  .link-btn:hover{ color:var(--aco-dark); }
  .link-btn:disabled{ color:#9AA0A6; cursor:default; text-decoration:none; }
  .admin-modal-box .link-btn + .link-btn{ margin-left:14px; }
  .admin-error{
    font-size:13px; color:#B3261E; background:#FBEAEA; border:1px solid #f1c0c0;
    padding:8px 10px; border-radius:6px; margin-bottom:10px;
  }
  .erro-modal-box{ text-align:center; }
  .erro-modal-icon{
    width:52px; height:52px; margin:0 auto 14px; border-radius:50%;
    background:#FBEAEA; color:#B3261E; 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:#EAF7EE; color:#1E7A3D; }
  .cadastro-aviso{
    font-size:14px; color:#8A5A00; background:#FFF4DE; border:1px solid #F1D8A0;
    padding:10px 14px; border-radius:6px; margin-top:14px; max-width:640px;
  }
  .pedido-cliente-info{
    font-size:13.5px; color:#1E7A3D; background:#EAF7EE; border:1px solid #BFE3CA;
    padding:9px 14px; border-radius:6px; margin-bottom:18px;
  }

  /* Painel admin de Produtos */
  .produtos-toolbar{display:flex; align-items:center; gap:12px; flex-wrap:wrap;}
  .produtos-toolbar .btn{padding:10px 18px; font-size:13px; clip-path:none; cursor:pointer; border:none;}
  .btn-csv-export{background:var(--amarelo); color:var(--asfalto);}
  .btn-csv-export:hover{background:var(--amarelo-2); transform:translateY(-2px);}
  .btn-csv-import{background:var(--ferrugem); color:var(--branco);}
  .btn-csv-import:hover{background:#a53a17; transform:translateY(-2px);}
  .produtos-import-msg{font-size:13px; color:#1E7A3D;}
  .produtos-import-msg.erro{color:#B3261E;}
  #produtosTableWrap{overflow-x:auto;}
  .produto-input{
    padding:8px 10px; width:100%;
    border:1px solid var(--linha-escura); font-family:'Barlow', sans-serif; font-size:13.5px;
    background:var(--branco); color:var(--asfalto);
  }
  .produto-input:focus{outline:2px solid var(--amarelo); outline-offset:1px; border-color:var(--amarelo);}
  .name-cell .produto-input{margin-bottom:6px; min-width:220px;}
  .name-cell .produto-input:last-child{margin-bottom:0;}
  .produto-spec-input{font-family:'IBM Plex Mono', monospace; font-size:11.5px; color:var(--aco-dark);}
  select.produto-input{cursor:pointer; min-width:160px;}
  input.produto-input[type="number"]{width:90px;}

  /* Painel admin de Pedidos */
  #pedidosTableWrap{overflow-x:auto;}
  .pedido-msg-cell{
    max-width:220px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap;
  }
  .pedido-status-select{
    font-family:'IBM Plex Mono', monospace; font-size:12px; font-weight:600;
    padding:7px 8px; border-radius:4px; border:1px solid var(--linha-escura);
    background:var(--branco); color:var(--asfalto); cursor:pointer;
  }
  .pedido-status-select.status-em_analise{ border-color:#F1D8A0; color:#8A5A00; background:#FFF4DE; }
  .pedido-status-select.status-aprovado{ border-color:#BFE3CA; color:#1E7A3D; background:#EAF7EE; }
  .pedido-status-select.status-recusado{ border-color:#f1c0c0; color:#B3261E; background:#FBEAEA; }
  /* Carrinho de solicitação */
  .carrinho-vazio{
    display:none; text-align:center; padding:28px 16px;
    background:var(--concreto); border:1px dashed var(--linha-escura);
  }
  .carrinho-vazio.show{ display:block; }
  .carrinho-vazio p{ font-weight:700; color:var(--aco); margin-bottom:4px; }
  .carrinho-vazio span{ font-size:13px; color:var(--aco); }
  .carrinho-item{
    display:flex; justify-content:space-between; align-items:flex-start; gap:12px;
    background:var(--branco); border:1px solid var(--linha-escura);
    padding:14px 16px; margin-bottom:10px;
  }
  .carrinho-item-info b{ display:block; font-size:15px; }
  .carrinho-item-info span{
    display:block; font-family:'IBM Plex Mono', monospace; font-size:11.5px;
    color:var(--aco-dark); margin-top:3px;
  }
  .carrinho-item-info p{ font-size:13px; color:var(--aco); margin-top:6px; }
  .carrinho-remove-btn{
    font-family:'IBM Plex Mono', monospace; font-size:11px; letter-spacing:0.04em;
    padding:7px 11px; border:1px solid var(--linha-escura);
    background:var(--concreto); cursor:pointer; text-transform:uppercase;
    transition:all .15s ease; flex:none;
  }
  .carrinho-remove-btn:hover{ border-color:var(--ferrugem); background:var(--ferrugem); color:var(--branco); }

  /* Galeria do produto (fotos + detalhes), aberta ao clicar num card do catálogo */
  .produto-galeria-box{ max-width:680px; }
  .produto-galeria-grid{
    display:grid; grid-template-columns:1fr 200px; gap:20px;
  }
  .produto-galeria-principal{
    position:relative; width:100%; aspect-ratio:4/3;
    background:var(--concreto-2); border:1px solid var(--linha-escura);
    display:flex; align-items:center; justify-content:center; overflow:hidden;
  }
  .produto-galeria-principal img{ width:100%; height:100%; object-fit:cover; display:block; }
  .produto-galeria-principal svg{ width:64px; height:64px; stroke:var(--aco); fill:none; }
  .produto-galeria-info{ display:flex; flex-direction:column; gap:8px; min-width:0; }
  .produto-galeria-info h3{ font-size:22px; }
  .produto-galeria-status{
    display:flex; align-items:center; gap:8px;
    font-family:'IBM Plex Mono', monospace; font-size:11px;
    letter-spacing:0.05em; text-transform:uppercase; color:var(--aco-dark);
  }
  .produto-galeria-status .status-dot{width:8px; height:8px; border-radius:50%; flex:none;}
  .produto-galeria-status .status-dot.ok{background:#1E7A3D;}
  .produto-galeria-status .status-dot.busy{background:var(--ferrugem);}
  .produto-galeria-thumbs{ display:flex; flex-wrap:wrap; gap:7px; margin-top:2px; }
  .produto-galeria-thumb{
    width:52px; height:52px; flex:none; cursor:pointer;
    background-size:cover; background-position:center;
    border:2px solid transparent; opacity:0.65; transition:all .15s ease;
  }
  .produto-galeria-thumb:hover{ opacity:1; }
  .produto-galeria-thumb.active{ opacity:1; border-color:var(--ferrugem); }
  .produto-galeria-preco{
    margin-top:auto; padding-top:12px; border-top:1px solid var(--linha-escura);
  }
  .produto-galeria-preco b{
    font-family:'Barlow Condensed', sans-serif; font-size:24px; font-weight:800; color:var(--asfalto);
  }
  .produto-galeria-preco span{ font-size:12.5px; color:var(--aco-dark); margin-left:3px; }
  .produto-galeria-preco .semana{ display:block; font-size:13px; color:var(--aco-dark); margin-top:2px; }
  .produto-galeria-desc{
    margin-top:18px; padding-top:14px; border-top:1px solid var(--linha-escura);
    font-size:14px; color:var(--aco-dark); line-height:1.6;
  }

  /* Pop-up de resumo do carrinho (botões "Solicitar Orçamento") */
  .carrinho-resumo-box{
    max-width:460px; max-height:85vh; 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:'IBM Plex Mono', monospace; font-size:14px; font-weight:600;
    color:var(--asfalto); flex:none; white-space:nowrap;
  }
  .carrinho-resumo-total{
    display:flex; justify-content:space-between; align-items:center;
    padding-top:14px; margin-top:6px; border-top:1px solid var(--linha-escura);
  }
  .carrinho-resumo-total span{
    font-family:'IBM Plex Mono', monospace; font-size:11.5px;
    letter-spacing:0.06em; text-transform:uppercase; color:var(--aco-dark);
  }
  .carrinho-resumo-total b{
    font-family:'Barlow Condensed', sans-serif; font-size:24px; font-weight:800; color:var(--asfalto);
  }

  .field-hint{
    display:block; font-size:12px; color:#6b7076; margin-top:6px;
  }

  /* Meus Dados (cliente logado) */
  .meus-dados-box{
    background:var(--branco); border:1px solid var(--linha-escura);
    padding:28px; max-width:560px;
  }
  .meus-dados-row{
    display:flex; justify-content:space-between; gap:16px;
    padding:12px 0; border-bottom:1px solid var(--linha-escura);
    font-size:14.5px;
  }
  .meus-dados-row:last-child{ border-bottom:none; }
  .meus-dados-row b{
    font-family:'IBM Plex Mono', monospace; font-size:11.5px;
    letter-spacing:0.06em; text-transform:uppercase; color:var(--aco-dark); font-weight:600;
  }
  .meus-dados-row span{ text-align:right; color:var(--asfalto); }

  @media (max-width:920px){
    .hero-grid{grid-template-columns:1fr;}
    .plate-visual{order:-1;}
    .benefit-grid, .catalog-grid, .how-grid, .services-grid{grid-template-columns:1fr 1fr;}
    .footer-grid{grid-template-columns:1fr 1fr;}
    .contact-grid{grid-template-columns:1fr; gap:36px;}
    .step:not(:last-child)::after{display:none;}
    nav.links{display:none;}
  }
  /* Notificações (toast) — substitui os alert() nativos, que em
     alguns navegadores mobile aparecem bloqueados ou com aparência
     ruim. Empilha no canto superior direito e some sozinho. */
  .toast-container{
    position:fixed; top:20px; right:20px; z-index:400;
    display:flex; flex-direction:column; gap:10px;
    max-width:340px; width:calc(100% - 40px);
    pointer-events:none;
  }
  .toast{
    background:var(--asfalto); color:var(--branco);
    border-left:4px solid var(--amarelo);
    padding:13px 16px; box-shadow:0 12px 30px rgba(0,0,0,0.28);
    font-size:13.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:#4CBE6C;}
  .toast-icon{width:16px; height:16px; flex:none; margin-top:1px;}
  .toast-icon svg{width:100%; height:100%;}
  .toast.erro .toast-icon{color:#E05A3A;}
  .toast.sucesso .toast-icon{color:#4CBE6C;}
  .toast:not(.erro):not(.sucesso) .toast-icon{color:var(--amarelo-2);}
  .toast-close{
    background:none; border:none; color:#9AA0A6; cursor:pointer;
    font-size:16px; line-height:1; padding:0; margin-left:auto; flex:none;
  }
  .toast-close:hover{color:var(--branco);}

  /* Loading state das tabelas admin (Clientes/Pedidos/Produtos) —
     linhas "esqueleto" enquanto o fetch não volta, no lugar de uma
     tabela vazia sem nenhum feedback. */
  @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;}

  /* Botão flutuante de WhatsApp */
  .whatsapp-float{
    position:fixed; right:22px; bottom:22px; z-index:150;
    width:56px; height:56px; 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:66px; top:50%; transform:translateY(-50%) translateX(6px);
    background:var(--asfalto); color:var(--branco);
    font-family:'Barlow', sans-serif; font-size:13px; font-weight:600;
    padding:7px 12px; 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);}
  /* Encolhe e some enquanto qualquer modal do site estiver aberto,
     pra não competir visualmente com o modal em cima dele. */
  body:has(.admin-modal[style*="flex"]) .whatsapp-float{
    opacity:0; transform:scale(0.5); pointer-events:none;
  }

  @media (max-width:600px){
    .benefit-grid, .catalog-grid, .how-grid, .services-grid, .footer-grid{grid-template-columns:1fr;}
    .form-row{grid-template-columns:1fr;}
    .hero-stats{flex-wrap:wrap; row-gap:16px;}
    .hero-stats div{border-right:none; padding-right:0; margin-right:24px;}
    .produto-galeria-grid{grid-template-columns:1fr;}
    .produto-galeria-preco{margin-top:12px;}
    .whatsapp-float{right:16px; bottom:16px; width:50px; height:50px;}
    .whatsapp-float svg{width:26px; height:26px;}
    .toast-container{left:12px; right:12px; top:12px; max-width:none; width:auto;}
  }

  /* Página de Política de Privacidade (privacidade.html) — reaproveita
     header, rodapé, botões e tipografia do site; só o texto corrido é novo. */
  .legal-hero{background:var(--asfalto); color:var(--branco); padding:64px 0 48px;}
  .legal-hero h1{font-size:clamp(38px, 6vw, 64px); margin-top:14px;}
  .legal-meta{
    font-family:'IBM Plex Mono', monospace; font-size:13px; color:#9AA0A6;
    letter-spacing:0.04em; margin-top:18px;
  }
  .legal-meta b{color:var(--branco); font-weight:600;}
  .legal{padding:56px 0 80px;}
  .legal-body{max-width:820px;}
  .legal-body p{font-size:16.5px; line-height:1.7; margin-bottom:16px;}
  .legal-body h2{
    font-size:28px; margin:44px 0 16px; padding-top:24px;
    border-top:1px solid var(--linha-escura);
  }
  .legal-body ul{padding-left:22px; margin-bottom:18px;}
  .legal-body li{font-size:16.5px; line-height:1.65; margin-bottom:8px;}
  .legal-body li::marker{color:var(--ferrugem);}
  .legal-body a:not(.btn){color:var(--ferrugem); text-decoration:underline; text-underline-offset:2px;}
  .legal-body a:not(.btn):hover{color:var(--aco-dark);}
  .legal-voltar{margin-top:36px;}
  .footer-bottom a{text-decoration:underline; text-underline-offset:2px;}
  .footer-bottom a:hover{color:var(--amarelo-2);}
  @media (max-width:560px){
    .legal-hero{padding:44px 0 34px;}
    .legal{padding:40px 0 60px;}
    .legal-body p, .legal-body li{font-size:15.5px;}
    .legal-body h2{font-size:24px; margin-top:36px;}
  }
