:root{--bg:#090909;--accent:#C8FF78;--ink:#f5f5f5;--muted:#a9aaad}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#f7f8f7;color:#161a1b;font-family:Inter,system-ui,-apple-system,Segoe UI,sans-serif}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button{cursor:pointer}.wrap{max-width:1200px;margin:auto;padding:0 22px}header{background:#080808;color:white}.top{height:78px;display:flex;align-items:center;justify-content:space-between;gap:15px}.brand{font-size:25px;font-weight:900;letter-spacing:-1px;color:#C8FF78}.brand small{display:block;color:white;letter-spacing:5px;font-size:11px;text-align:center}.top nav{display:flex;gap:22px;font-size:14px}.top nav a:hover{color:#C8FF78}.hero{background:var(--bg);color:white;min-height:390px}.hero-inner{display:flex;align-items:center;gap:32px;min-height:390px;padding-top:40px;padding-bottom:40px}.hero-copy{flex:1}.hero h1{font-size:clamp(40px,6vw,78px);letter-spacing:-.055em;line-height:1.02;margin:15px 0}.hero p{font-size:18px;line-height:1.6;max-width:550px;color:#e1e1e1}.hero img{width:45%;max-height:400px;object-fit:contain}.eyebrow{font-size:12px;letter-spacing:2.5px;font-weight:800;color:var(--accent)}.btn{background:var(--accent);color:#080808;border:1px solid var(--accent);border-radius:8px;padding:13px 20px;display:inline-flex;align-items:center;justify-content:center;font-weight:800;font-size:13px;text-align:center;gap:6px}.btn:hover{filter:brightness(.92)}.btn-outline{background:transparent;color:var(--accent)}.full{width:100%}.section{padding-top:65px;padding-bottom:75px}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:10px}.section h2,.contact h2{font-size:clamp(28px,4vw,42px);letter-spacing:-.04em;margin:8px 0 20px}.filters{display:flex;gap:12px;margin:20px 0 24px}.filters input{flex:1}.filters input,.filters select,input,textarea,select{border:1px solid #d8dedb;border-radius:9px;padding:12px;background:white;min-width:0}.muted{color:#6c7372}.mini{font-size:12px;text-transform:uppercase;font-weight:700;letter-spacing:1px}.vehicle-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.vehicle-card{border-radius:14px;background:white;overflow:hidden;box-shadow:0 4px 24px #0000000d}.vehicle-photo{position:relative;aspect-ratio:4/3;background:#e9ecea}.vehicle-photo img{width:100%;height:100%;object-fit:cover}.no-photo{height:100%;min-height:160px;display:flex;align-items:center;justify-content:center;color:#76817a;font-weight:900}.pill{position:absolute;top:14px;left:14px;background:var(--accent);color:#000;padding:7px 10px;border-radius:5px;font-size:11px;font-weight:800}.vehicle-content{padding:20px}.vehicle-content h3{font-size:20px;margin:7px 0}.vehicle-content p{font-size:13px;line-height:1.5}.price{font-size:25px;font-weight:900;margin:18px 0}.contact{background:#111;color:white;padding:60px 0}.contact p{color:#c6c6c6}.contact-actions{display:flex;gap:12px;flex-wrap:wrap}.footer{padding-top:24px;padding-bottom:24px;display:flex;justify-content:space-between;gap:15px;font-size:12px;color:#67716a}dialog{border:0;border-radius:18px;padding:0;width:min(900px,95vw);max-height:90vh;box-shadow:0 20px 80px #0006}dialog::backdrop{background:#000b}.close{position:sticky;float:right;top:12px;right:12px;margin:12px;background:#111;color:white;border:0;border-radius:100%;width:36px;height:36px;z-index:2}.detail-photos{display:flex;gap:8px;overflow:auto;background:#e9ecea;max-height:350px}.detail-photos img{max-height:350px;min-width:65%;object-fit:cover}.detail-body{padding:25px}.detail-body h2{font-size:30px;margin:12px 0}.detail-body .btn-outline{color:#111;border-color:#111}.admin-page{background:#f3f5f3}.admin-shell{max-width:1100px;margin:35px auto;padding:0 20px}.admin-header{display:flex;justify-content:space-between;align-items:center;gap:20px}.panel{background:white;border:1px solid #e3e7e4;border-radius:14px;padding:24px;margin:18px 0}.panel h2{margin-top:0}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.field{display:flex;flex-direction:column;gap:6px}.field label{font-size:13px;font-weight:700}.field.wide{grid-column:1/-1}.checkbox{display:flex;gap:8px;align-items:center}.admin-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:18px}.btn-dark{background:#111;color:white;border-color:#111}.status{padding:10px 0;font-size:14px}.admin-list{display:grid;gap:10px}.admin-item{display:flex;justify-content:space-between;align-items:center;gap:10px;border:1px solid #e4e7e4;border-radius:10px;padding:12px}.admin-item .btn{padding:8px 12px}.hidden{display:none!important}.thumbs{display:flex;gap:8px;flex-wrap:wrap}.thumbs img{width:100px;height:80px;object-fit:cover;border-radius:6px}.tabs{display:flex;gap:10px;flex-wrap:wrap}.tabs button{border:1px solid #ddd;border-radius:7px;padding:10px 14px;background:white}.tabs button.active{background:#111;color:white}.hint{font-size:13px;color:#666;line-height:1.5}@media(max-width:780px){.vehicle-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.hero-inner{flex-direction:column;align-items:stretch}.hero img{width:100%;max-height:260px}.footer{flex-direction:column}.form-grid{grid-template-columns:1fr}}@media(max-width:520px){.vehicle-grid{grid-template-columns:1fr}.top nav{gap:10px;font-size:12px}.brand{font-size:19px}.filters{flex-direction:column}.hero h1{font-size:43px}.hero-inner{min-height:310px}.admin-item{flex-wrap:wrap}}

.extra-fields{margin-top:16px}.field details{border:1px solid #e0e5e0;border-radius:9px;padding:14px}.field summary{font-weight:750;cursor:pointer}.field input[type=file]{width:100%;background:#f4f7f2;border:2px dashed #b7c9a6;padding:20px}.field input[type=hidden]{display:none}

/* Organização das fotos por arrastar e soltar */
#photoPreview .photo-tile{cursor:grab;user-select:none;border:2px solid transparent;border-radius:12px;overflow:hidden;background:#f3f4f2;min-width:0}
#photoPreview .photo-tile:active{cursor:grabbing}
#photoPreview .photo-tile.dragging{opacity:.35}
#photoPreview .photo-tile.drag-over{border-color:#8ddf36;box-shadow:0 0 0 2px #8ddf36}
#photoPreview .photo-tile img{display:block;width:100%;height:110px;object-fit:cover;pointer-events:none}
#photoPreview .photo-tile-footer{display:flex;justify-content:space-between;align-items:center;padding:5px 8px;gap:5px;font-size:12px}
#photoPreview .photo-tile-footer button{cursor:pointer;border:0;background:transparent;font-size:22px;line-height:1;padding:2px 6px}


/* Campanha com banner grande: a arte vira o destaque principal */
.hero.has-banner { min-height: 0; }
.hero.has-banner .hero-inner {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 18px;
  min-height: 0;
  padding-top: 24px;
  padding-bottom: 28px;
}
.hero.has-banner .hero-copy { order: 2; flex: none; }
.hero.has-banner .hero-copy .eyebrow,
.hero.has-banner .hero-copy h1,
.hero.has-banner .hero-copy p { display: none; }
.hero.has-banner .hero-copy .btn {
  display: inline-flex;
  background: var(--accent);
  color: #080808;
}
.hero.has-banner picture {
  order: 1;
  display: block;
  width: 100%;
}
.hero.has-banner #campaignBanner {
  display: block;
  width: 100%;
  max-height: none;
  height: auto;
  object-fit: contain;
}
@media (max-width: 780px) {
  .hero.has-banner .hero-inner { padding-top: 12px; padding-bottom: 22px; }
  .hero.has-banner .hero-copy .btn { width: 100%; }
}


/* Cartão das atendentes: cores controladas no painel da campanha */
.contact {background:#f7f8f7;padding:22px 0 30px;color:var(--contact-text,#151515)}
.contact-panel{background:var(--contact-bg,#fff);color:var(--contact-text,#151515);border-radius:20px;padding:22px;display:grid;grid-template-columns:220px 1fr 1fr;gap:20px;align-items:center;box-shadow:0 8px 28px #00000010}
.contact-heading{display:flex;align-items:center;gap:12px;font-size:21px;line-height:1.15}
.contact-icon{font-size:30px}
.consultant{display:flex;align-items:center;gap:12px;border-left:2px solid var(--accent,#C8FF78);padding-left:20px;min-width:0;flex-wrap:wrap}
.consultant-avatar{display:grid;place-items:center;background:var(--accent,#C8FF78);color:#111;border-radius:50%;width:56px;height:56px;flex:none;font-size:23px;font-weight:900}
.consultant-info{display:flex;flex-direction:column;gap:4px;flex:1;min-width:115px}
.consultant-info strong{font-size:21px}
.consultant-info small{font-size:12px;opacity:.8}
.contact-btn{background:var(--contact-button,#00b832);color:var(--contact-button-text,#fff);padding:11px 14px;border-radius:999px;font-size:13px;font-weight:800;white-space:nowrap}
.contact-btn:hover{filter:brightness(.92)}
@media(max-width:1050px){.contact-panel{grid-template-columns:1fr 1fr}.contact-heading{grid-column:1/-1}.consultant{padding-left:14px}}
@media(max-width:690px){.contact-panel{grid-template-columns:1fr;padding:18px}.contact-heading{grid-column:auto}.consultant{border-left:0;border-top:2px solid var(--accent,#C8FF78);padding:16px 0 0}.contact-btn{width:100%;text-align:center}}

.consultant-avatar{overflow:hidden}.consultant-avatar img{width:100%;height:100%;object-fit:cover;display:block}

/* Botões de veículos sempre legíveis, independentemente da cor da campanha */
.vehicle-card .btn[data-open], .vehicle-card .btn.full {background:#C8FF78!important;color:#080808!important;border-color:#C8FF78!important;text-shadow:none!important;}
.vehicle-card .btn[data-open]:hover{background:#b5ef60!important;border-color:#b5ef60!important;}
