*{box-sizing:border-box} :root{--orange:#e76524;--navy:#102b49;--blue:#2768e8;--cream:#fff8ef;--text:#192b40;--muted:#64748b;--line:#eadfd2}body{margin:0;background:#fbf8f4;color:var(--text);font-family:Arial,Helvetica,sans-serif}.topbar{min-height:74px;background:#fff;display:flex;align-items:center;justify-content:space-between;padding:12px clamp(18px,4vw,54px);border-bottom:1px solid #eee;gap:20px}.brand{position:relative;text-decoration:none;color:var(--navy);font-size:30px;font-weight:900;letter-spacing:1px;line-height:1}.brand-orange{color:var(--orange)}.brand small{display:block;font-size:10px;font-weight:500;letter-spacing:0;margin:5px 0 0;color:#536171}.topbar nav{display:flex;gap:24px;flex-wrap:wrap}.topbar nav a,.back-link{color:var(--navy);text-decoration:none;font-weight:700;font-size:14px}.topbar nav a.active,.topbar nav a:hover{color:var(--orange)}.hero{width:100%;aspect-ratio:3/1;min-height:0;height:auto;background-color:#08233b;background-image:url('fundo/img_propaganda.png');background-position:center center;background-size:100% auto;background-repeat:no-repeat;display:flex;align-items:center;color:#fff;padding:0;overflow:hidden}.hero>div{display:none}.hero-content{max-width:760px}.eyebrow{font-size:12px;font-weight:800;letter-spacing:2px;color:#ffbf8e}.hero h1{font-size:clamp(32px,4vw,52px);line-height:1.03;margin:10px 0}.hero h1 strong{color:#ffd4ae}.hero p{font-size:16px;line-height:1.5;max-width:620px;margin:12px 0 0}.container{max-width:1440px;margin:-20px auto 40px;padding:0 22px;position:relative}.filters{display:grid;grid-template-columns:1fr 1.15fr 1.1fr 1.15fr 1.3fr auto;gap:12px;align-items:end;background:#fffaf3;border:1px solid #f0e1d1;border-radius:17px;padding:17px;box-shadow:0 10px 25px #192b4010}.filters label,.admin-form label{display:flex;flex-direction:column;gap:7px;font-size:12px;font-weight:700;color:#4a5664}.filters select,.filters input,.admin-form select{height:43px;border:1px solid #e4d9cc;border-radius:10px;background:#fff;padding:0 12px;color:var(--text);font-size:13px;min-width:0;outline-color:#f2a16f}.btn-primary{border:0;border-radius:10px;min-height:43px;background:linear-gradient(120deg,#f0782b,#e6531d);color:white;font-size:14px;font-weight:800;padding:0 22px;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:0 5px 12px #e7652422}.category-strip{display:flex;gap:9px;overflow-x:auto;padding:21px 2px 17px;scrollbar-width:thin}.category-chip{min-width:96px;min-height:78px;padding:10px 12px;border:1px solid #eee3d8;background:#fff;border-radius:13px;text-align:center;text-decoration:none;color:var(--navy);font-size:12px;font-weight:700;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;box-shadow:0 4px 12px #162d4210}.category-chip span{font-size:24px}.category-chip.selected,.category-chip:hover{background:var(--orange);border-color:var(--orange);color:white}.section-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:8px 3px 18px}.section-heading>div{display:flex;align-items:center;gap:13px}.heading-icon{width:44px;height:44px;display:grid;place-items:center;border-radius:14px;background:#fff0e5;color:var(--orange);font-size:25px}.section-heading h2{margin:0 0 5px;font-size:clamp(20px,2.5vw,28px);color:var(--navy)}.section-heading p{margin:0;color:var(--muted);font-size:14px}.text-link{color:var(--blue);font-size:13px;font-weight:700;text-decoration:none}.business-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.business-card{display:flex;gap:15px;align-items:center;min-width:0;padding:15px;background:#fff;border:1px solid #eee8e0;border-radius:17px;box-shadow:0 5px 16px #192b4009}.logo-wrap{flex:0 0 112px;height:112px;border:1px solid #f0ece7;border-radius:13px;background:#fff;display:grid;place-items:center;padding:9px}.logo-wrap img{max-width:100%;max-height:100%;object-fit:contain}.business-info{min-width:0;flex:1}.business-info h3{font-size:17px;color:var(--navy);margin:0 0 9px;overflow-wrap:anywhere}.address{font-size:12px;color:#657181;line-height:1.5;margin:0 0 13px}.actions{display:flex;gap:8px;flex-wrap:wrap}.btn-whatsapp,.btn-outline{min-height:36px;padding:0 13px;border-radius:9px;text-decoration:none;font-size:12px;font-weight:800;display:inline-flex;align-items:center;justify-content:center;gap:6px}.btn-whatsapp{background:#08a85a;color:#fff}.btn-outline{background:#fff;color:#2168db;border:1px solid #b8d1ff}.empty-state{text-align:center;background:#fff;border:1px dashed #e6d8c9;border-radius:17px;padding:42px 20px}.empty-icon{font-size:42px;color:var(--orange)}.empty-state h3{margin:10px 0;color:var(--navy)}.empty-state p{color:var(--muted);font-size:14px}.info-panel{margin-top:24px;background:linear-gradient(110deg,#fff0df,#e8f1ff);border-radius:17px;padding:23px 26px;display:flex;align-items:center;justify-content:space-between;gap:20px}.info-panel h3{margin:7px 0;color:var(--navy)}.info-panel p{margin:0;color:#596778;font-size:14px;line-height:1.5}.panel-icon{font-size:26px;color:var(--orange)}footer{background:#102b49;color:white;padding:24px clamp(20px,5vw,64px);display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap}footer strong{letter-spacing:2px;font-size:20px}footer span{font-size:13px;color:#d5dfeb}.form-container{max-width:780px;margin:36px auto;padding:0 20px}.form-container h1{color:var(--navy);margin:20px 0 8px}.form-container>p{color:var(--muted);line-height:1.55}.admin-form{display:grid;gap:18px;background:#fff;padding:24px;border:1px solid var(--line);border-radius:16px;margin-top:22px;box-shadow:0 8px 25px #102b490b}.admin-form select{width:100%;height:48px}.check-line{display:flex!important;flex-direction:row!important;align-items:center}.check-line input{width:17px;height:17px}.admin-form .btn-primary{justify-self:start}.small-note{font-size:12px!important;background:#fff7e9;border-radius:10px;padding:12px}.notice{padding:13px 15px;border-radius:10px;background:#fff4dc;margin:15px 0}.notice.success{background:#e4f8eb;color:#17643a}@media(max-width:1100px){.filters{grid-template-columns:repeat(3,minmax(0,1fr))}.filters .btn-primary{width:100%}.business-grid{grid-template-columns:1fr}}@media(max-width:650px){.topbar{align-items:flex-start;flex-direction:column}.topbar nav{gap:15px}.brand{font-size:26px}.hero{min-height:0;height:auto;aspect-ratio:3/1;background-size:100% auto}.filters{grid-template-columns:1fr 1fr;padding:12px}.filters .search-label{grid-column:1/-1}.filters .btn-primary{grid-column:1/-1}.category-chip{min-width:88px}.section-heading{align-items:flex-start}.section-heading .text-link{display:none}.business-card{gap:10px;padding:11px}.logo-wrap{flex-basis:82px;height:82px;padding:6px}.business-info h3{font-size:15px}.address{font-size:11px;margin-bottom:9px}.btn-whatsapp,.btn-outline{font-size:11px;padding:0 9px;min-height:33px}.info-panel{align-items:flex-start;flex-direction:column;padding:18px}.info-panel .btn-primary{width:100%}} 
/* Melhorias de leitura e espaçamento do cadastro */
.admin-form label {
    display: block;
    font-size: 15px;
    line-height: 1.6;
    margin-bottom: 16px;
}

.admin-form input:not([type="checkbox"]):not([type="file"]),
.admin-form select,
.admin-form textarea {
    width: 100%;
    min-height: 42px;
    padding: 9px 12px;
    margin-top: 6px;
    font-size: 15px;
    line-height: 1.5;
    box-sizing: border-box;
}

.admin-form label small,
.admin-form small {
    display: block;
    margin-top: 5px;
    font-size: 12px;
    line-height: 1.5;
    color: #526174;
}

.admin-form .form-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px 18px;
    margin-top: 12px;
}

.admin-form .check-line {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    margin: 12px 0;
    font-size: 14px;
    line-height: 1.6;
}

.admin-form .check-line input {
    flex-shrink: 0;
    margin-top: 5px;
}

@media (max-width: 600px) {
    .admin-form .form-grid {
        grid-template-columns: 1fr;
        gap: 4px;
    }
}


/* Proporção dos campos Estado e Cidade */
.admin-form .form-grid {
    grid-template-columns: 90px minmax(0, 1fr);
    gap: 12px 16px;
}

/* Campos ocupam toda a largura disponível */
.admin-form .form-grid input,
.admin-form .form-grid select {
    width: 100%;
    min-width: 0;
    box-sizing: border-box;
}

/* Ajuste para telas pequenas */
@media (max-width: 600px) {
    .admin-form .form-grid {
        grid-template-columns: 1fr;
    }
}



/* Seletor profissional de logomarca */
.admin-form input[type="file"] {
    width: 100%;
    max-width: 100%;
    padding: 12px;
    border: 1px dashed #D65A31;
    border-radius: 10px;
    background: #fff8f4;
    color: #344054;
    font-size: 14px;
    box-sizing: border-box;
}

.admin-form input[type="file"]::file-selector-button {
    background: #D65A31;
    color: #fff;
    border: none;
    border-radius: 7px;
    padding: 10px 16px;
    margin-right: 12px;
    font-weight: 600;
    cursor: pointer;
}

.admin-form input[type="file"]::file-selector-button:hover {
    background: #B94725;
}


/* Campo Estado: alinhado e com largura adequada */
.admin-form .form-grid select[name="uf"],
.form-grid-localizacao select[name="uf"] {
    display: block;
    width: 100%;
    min-width: 0;
    padding: 9px 12px;
    box-sizing: border-box;
}

.form-grid-localizacao label:has(select[name="uf"]) {
    display: flex;
    flex-direction: column;
    min-width: 0;
}

body {
    background-image: url("fundo/fundo_catalogo.png");
    background-repeat: no-repeat;
    background-position: center center;
    background-size: cover;
    background-attachment: fixed;
}

/* Bairro e Categoria com larguras iguais */
.admin-form .form-grid input[name="bairro"],
.admin-form .form-grid select[name="categoria"] {
    width: 100%;
    min-width: 0;
    box-sizing: border-box;
}

.admin-form .form-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px 16px;
}


.form-grid-localizacao {
    display: grid;
    grid-template-columns: 90px minmax(0, 1fr);
    gap: 16px;
    align-items: start;
}

.form-grid-localizacao label {
    display: block;
    margin: 0 0 6px;
}

.form-grid-localizacao input,
.form-grid-localizacao select {
    width: 100%;
    box-sizing: border-box;
    margin-bottom: 22px;
}

@media (max-width: 600px) {
    .form-grid-localizacao {
        grid-template-columns: 1fr;
    }
}

/* Ajustes responsivos complementares — Guia Comercial Nexplore */
@media (max-width: 650px) {
  .topbar {
    padding: 12px 16px;
    gap: 12px;
  }
  .topbar nav {
    width: 100%;
    gap: 10px 16px;
    align-items: center;
  }
  .topbar nav a {
    font-size: 13px;
  }
  .hero {
    min-height: 210px;
    padding: 26px 18px;
    background-position: center;
  }
  .hero p {
    font-size: 14px;
  }
  .container {
    padding: 0 12px;
    margin-top: -16px;
  }
  .filters {
    grid-template-columns: minmax(0, 1fr);
    gap: 12px;
    padding: 14px;
    border-radius: 14px;
  }
  .filters label,
  .filters select,
  .filters input {
    width: 100%;
    min-width: 0;
  }
  .filters .search-label,
  .filters .btn-primary {
    grid-column: auto;
  }
  .filters .btn-primary {
    width: 100%;
  }
  .category-strip {
    margin-right: -2px;
    padding: 16px 2px;
    gap: 8px;
    -webkit-overflow-scrolling: touch;
  }
  .category-chip {
    flex: 0 0 86px;
    min-width: 86px;
    min-height: 72px;
    padding: 8px;
  }
  .section-heading {
    gap: 10px;
    margin: 8px 0 14px;
  }
  .section-heading > div {
    gap: 9px;
    min-width: 0;
  }
  .heading-icon {
    flex: 0 0 36px;
    width: 36px;
    height: 36px;
    font-size: 21px;
  }
  .section-heading p {
    font-size: 12px;
    line-height: 1.4;
  }
  .business-grid {
    grid-template-columns: minmax(0, 1fr);
    gap: 10px;
  }
  .business-card {
    width: 100%;
    min-width: 0;
    align-items: flex-start;
    gap: 10px;
    padding: 10px;
  }
  .logo-wrap {
    flex: 0 0 72px;
    width: 72px;
    height: 72px;
  }
  .business-info {
    min-width: 0;
    overflow-wrap: anywhere;
  }
  .business-info h3 {
    font-size: 14px;
    line-height: 1.35;
  }
  .actions {
    gap: 6px;
  }
  .btn-whatsapp,
  .btn-outline {
    max-width: 100%;
    min-height: 34px;
    white-space: normal;
    text-align: center;
  }
  .empty-state {
    padding: 30px 14px;
  }
  .info-panel {
    gap: 14px;
    margin-top: 18px;
    padding: 16px;
  }
  footer {
    padding: 20px 16px;
    flex-direction: column;
    align-items: flex-start;
    gap: 12px;
  }
  footer span,
  footer a {
    overflow-wrap: anywhere;
  }
  .form-container {
    margin: 24px auto;
    padding: 0 14px;
  }
  .admin-form {
    padding: 16px;
    gap: 12px;
  }
  .admin-form .form-grid,
  .form-grid-localizacao {
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 8px;
  }
  .admin-form .form-grid select[name="uf"] {
    width: 100%;
    min-width: 0;
  }
}

@media (max-width: 360px) {
  .brand { font-size: 23px; }
  .hero h1 { font-size: 30px; }
  .container { padding: 0 9px; }
  .business-card { padding: 8px; gap: 8px; }
  .logo-wrap { flex-basis: 62px; width: 62px; height: 62px; }
  .btn-whatsapp, .btn-outline { padding: 0 7px; font-size: 10px; }
}

/* Botão Cadastrar empresa */
.topbar nav a[href="cadastro.php"] {
    color: #102b49 !important;
    border: 1px solid #e76524;
    border-radius: 8px;
    padding: 8px 12px;
    text-decoration: none;
}

.topbar nav a[href="cadastro.php"]:hover {
    color: #e76524 !important;
    background: #fff8ef;
}


/* Cabeçalho promocional do Guia Comercial */
@media(max-width:650px){.hero{min-height:150px;height:24vw;max-height:205px;background-size:100% 100%;}}
