:root{
  --brand:#0f766e;
  --brand-dark:#064e3b;
  --text:#111827;
  --muted:#6b7280;
  --bg:#ffffff;
  --card:#f9fafb
}

*{box-sizing:border-box}
body{margin:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,'Helvetica Neue',Arial,'Noto Sans',sans-serif;color:var(--text);background:var(--bg)}
a{color:var(--brand);text-decoration:none}
a:hover{text-decoration:underline}

.container{max-width:1100px;margin:0 auto;padding:0 16px}

/* ===== GRID principal sem aside ===== */
.grid{display:block;margin:20px 0}
.col.main{width:100%}

/* ===== SECTIONS ===== */
.section{margin:20px 0}
.section .inner{margin-top:10px}
.section.alt{background:#f0fdf4;border:1px solid #dcfce7;border-radius:12px;padding:10px}
.section-header{display:flex;justify-content:space-between;align-items:center}
.section-header .muted{color:var(--muted);font-size:12px}

/* ===== CARDS ===== */
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.cards-feed .card,.cards .card{
  background:var(--card);
  border:1px solid #e5e7eb;
  border-radius:12px;
  overflow:hidden;
  display:flex;flex-direction:column
}
.cards .thumb,.cards-feed .thumb{
  display:block;width:100%;height:auto;aspect-ratio:16/9;object-fit:cover
}
.cards .content{padding:10px}
.cards .title{margin:6px 0 4px;font-size:18px;line-height:1.2}
.cards .meta{font-size:12px;color:var(--muted);margin-bottom:6px}
.cards .summary{color:#374151;font-size:14px}

/* ===== LISTA VERTICAL (se necessária em outras páginas) ===== */
.list-vertical .rowcard{display:flex;gap:12px;padding:10px 0;border-bottom:1px solid #e5e7eb}
.list-vertical .rowcard img.thumb{width:120px;height:80px;object-fit:cover;border-radius:8px}
.list-vertical .rowcard .title{font-size:15px;line-height:1.25;margin:0;color:var(--text)}
.list-vertical .rowcard .title a{color:inherit;text-decoration:none}
.list-vertical .rowcard .meta{font-size:12px;color:var(--muted);margin-bottom:6px}

/* ===== HERO ===== */
.hero .hero-wrap{
  display:grid;grid-template-columns:1.2fr 1fr;gap:16px;
  padding:8px;border:1px solid #e5e7eb;border-radius:12px;background:#f8fafc
}
.hero .thumb{width:100%;height:auto;aspect-ratio:16/9;object-fit:cover;border-radius:10px}
.hero .content .kicker{font-size:12px;color:var(--brand);font-weight:700;text-transform:uppercase}
.hero .content .title{margin:6px 0 6px;font-size:24px;line-height:1.2}
.hero .content .title a{color:inherit}
.hero .content .meta{font-size:12px;color:var(--muted);margin-bottom:6px}
.hero .content .summary{font-size:15px;color:#374151}
.hero .content .share .btn{
  background:var(--brand);border:none;color:#fff;padding:8px 12px;border-radius:10px;cursor:pointer
}
.hero .content .share .btn.btn-ghost{background:transparent;border:1px solid var(--brand);color:var(--brand)}

/* ===== FOOTER ===== */
.foot{margin:28px 0;color:#6b7280;text-align:center;font-size:14px}

/* ===== HEADER / MENU SUPERIOR ===== */
header.head{
  background:var(--brand);
  color:#fff;
  padding:10px 16px;
  position:relative;
  z-index:10;
}
header.head .head-flex{
  display:flex;align-items:center;justify-content:space-between;gap:12px
}
header.head .brand{
  color:#fff;font-weight:700;text-decoration:none;font-size:1.25rem
}

/* Dropdown de cidades */
header.head .nav .dropdown{ position:relative; display:inline-block; }
header.head .nav .dropbtn{
  background:transparent; color:#fff; border:none; cursor:pointer;
  font-size:1rem; padding:6px 10px;
}
header.head .nav .dropdown-content{
  display:none; position:absolute; top:36px; left:0;
  background:#fff; color:#000; min-width:220px;
  max-height:60vh; overflow-y:auto;
  box-shadow:0 3px 8px rgba(0,0,0,0.15);
  border-radius:6px; z-index:1000;
}
header.head .nav .dropdown-content a{
  display:block; padding:8px 12px; text-decoration:none; color:#333; font-size:0.95rem;
}
header.head .nav .dropdown-content a:hover{ background:#f2f2f2; }
header.head .nav .dropdown:hover .dropdown-content{ display:block; }

/* Busca no header */
.search-box{ position:relative; }
.search-box input{
  padding:8px 10px; border-radius:6px; border:none; width:200px; outline:none; font-size:0.95rem;
}
.search-results{
  display:none; position:absolute; top:38px; left:0; width:100%;
  background:#fff; border-radius:6px; box-shadow:0 3px 8px rgba(0,0,0,0.15);
  z-index:999; overflow:hidden;
}
.search-results a{
  display:block; padding:8px 10px; text-decoration:none; color:#333;
}
.search-results a:hover{ background:#f0f0f0; }

/* ===== RESPONSIVO ===== */
@media (max-width: 980px){
  .cards{grid-template-columns:1fr 1fr}
  .hero .hero-wrap{grid-template-columns:1fr}
}
@media (max-width: 640px){
  .cards{grid-template-columns:1fr}
  .list-vertical .rowcard img.thumb{width:96px;height:64px}
  header.head .head-flex{flex-direction:column;align-items:stretch;gap:10px}
  .search-box input{width:100%}
}
/* ====== MENU E BUSCA NO HEADER ====== */
header.head .nav {
  display: flex;
  align-items: center;
  gap: 16px;
}

header.head .nav .dropdown {
  position: relative;
}

header.head .nav .dropbtn {
  background: transparent;
  color: #fff;
  border: none;
  font-size: 1em;
  cursor: pointer;
  padding: 6px 8px;
}

header.head .nav .dropdown-content {
  display: none;
  position: absolute;
  top: 36px;
  left: 0;
  background: #fff;
  min-width: 220px;
  max-height: 60vh;
  overflow-y: auto;
  box-shadow: 0 3px 8px rgba(0,0,0,0.15);
  border-radius: 6px;
  z-index: 9999;
}

header.head .nav .dropdown-content a {
  display: block;
  padding: 8px 12px;
  color: #333;
  text-decoration: none;
}

header.head .nav .dropdown-content a:hover {
  background: #f5f5f5;
}

header.head .nav .dropdown:hover .dropdown-content {
  display: block;
}

/* ====== Busca ====== */
header.head .search-box {
  position: relative;
}

header.head .search-box input {
  padding: 6px 10px;
  border-radius: 4px;
  border: none;
  width: 180px;
  outline: none;
}

header.head .search-results {
  display: none;
  position: absolute;
  top: 34px;
  left: 0;
  width: 100%;
  background: #fff;
  box-shadow: 0 3px 8px rgba(0,0,0,0.15);
  border-radius: 6px;
  overflow: hidden;
  z-index: 10000;
}

header.head .search-results a {
  display: block;
  padding: 8px 10px;
  color: #333;
  text-decoration: none;
}

header.head .search-results a:hover {
  background: #f0f0f0;
}

@media (max-width:640px){
  header.head .nav { flex-direction: column; align-items: stretch; width: 100%; gap: 8px; }
  header.head .search-box input { width: 100%; }
}

