/* assets/css/V2_kariny_cidades.css */
.cidade-guia { padding-top:48px; padding-bottom:36px; }
.cidade-guia-grade { display:grid; grid-template-columns:minmax(0,1.8fr) minmax(260px,1fr); gap:36px; align-items:start; }
.cidade-guia-apresentacao h2 { font-size:clamp(2rem,3.8vw,3.5rem); line-height:1.08; margin:14px 0 18px; }
.cidade-guia-resumo { font-size:1.12rem; line-height:1.7; max-width:70ch; }
.cidade-guia-numeros { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; margin-top:26px; }
.cidade-guia-numero { border:1px solid var(--borda); border-radius:20px; padding:22px; background:var(--papel); display:flex; flex-direction:column; align-items:flex-start; }
.cidade-guia-numero>span { color:var(--texto-suave); font-size:.86rem; font-weight:700; }
.cidade-guia-numero>strong { color:var(--verde-900); font-size:clamp(1.8rem,3vw,2.65rem); letter-spacing:-.05em; line-height:1.1; margin:12px 0 5px; }
.cidade-guia-numero>a { color:var(--verde-800); font-size:.78rem; text-underline-offset:3px; margin-top:14px; }
.cidade-guia-nota { color:var(--texto-suave); font-size:.78rem; line-height:1.6; margin-top:14px; }
.cidade-guia-rota { background:linear-gradient(140deg,#e4f2df,#f1f6e7); border:1px solid #c5d8ba; border-radius:26px; padding:28px; }
.cidade-guia-pin { display:grid; place-items:center; width:48px; height:48px; font-size:1.9rem; color:#fff; background:var(--verde-800); border-radius:16px; margin-bottom:24px; }
.cidade-guia-rota .sobrelinha { font-size:.65rem; }
.cidade-guia-rota h3 { font-size:2rem; margin:12px 0; }
.cidade-guia-rota p { line-height:1.65; }
.cidade-guia-rota .botao { display:flex; width:100%; margin:22px 0 14px; }
.cidade-guia-link { display:block; text-align:center; color:var(--verde-800); font-size:.85rem; text-decoration:underline; text-underline-offset:3px; }
.cidade-guia-rota small { display:block; margin-top:20px; line-height:1.6; color:#476054; }
.cidade-guia-detalhes { margin-top:32px; display:grid; gap:12px; }
.cidade-guia-detalhes details { background:var(--papel); border:1px solid var(--borda); border-radius:18px; overflow:hidden; }
.cidade-guia-detalhes summary { list-style:none; cursor:pointer; padding:20px 24px; display:flex; gap:18px; justify-content:space-between; font-size:1rem; font-weight:800; }
.cidade-guia-detalhes summary::-webkit-details-marker { display:none; }
.cidade-guia-detalhes summary span { color:var(--verde-700); font-size:1.3rem; }
.cidade-guia-detalhes details[open] summary span { transform:rotate(45deg); }
.cidade-guia-detalhes summary:focus-visible,.cidade-admin-lista a:focus-visible { outline:3px solid var(--verde-500); outline-offset:-3px; }
.cidade-guia-texto { padding:0 24px 24px; max-width:90ch; line-height:1.8; }
.cidade-guia-texto a { color:var(--verde-800); text-decoration:underline; overflow-wrap:anywhere; }
.cidade-guia-texto ul { padding-left:20px; }
.cidade-guia-fontes { color:var(--texto-suave); font-size:.85rem; }
.cidade-admin-aviso { background:#eef5ea; border:1px solid #cbdcc2; padding:18px 22px; border-radius:18px; margin-bottom:22px; line-height:1.65; }
.cidade-admin-aviso.erro { background:#fff1f3; border-color:#f4bfca; }
.cidade-admin-filtros { display:flex; gap:12px; align-items:end; flex-wrap:wrap; margin:20px 0; }
.cidade-admin-filtros .campo { flex:1 1 210px; }
.cidade-admin-lista { display:grid; grid-template-columns:repeat(auto-fill,minmax(240px,1fr)); gap:16px; }
.cidade-admin-card { background:var(--papel); border:1px solid var(--borda); border-radius:18px; padding:20px; min-width:0; }
.cidade-admin-card h3 { font-size:1.15rem; margin:14px 0 8px; }
.cidade-admin-card p { font-size:.85rem; color:var(--texto-suave); }
.cidade-admin-card .botao { margin-top:12px; }
.cidade-admin-form .campo label { display:block; font-weight:700; margin-bottom:8px; }
.cidade-admin-form textarea { min-height:120px; }
.cidade-admin-form .campo { min-width:0; }
.cidade-admin-form fieldset { border:1px solid var(--borda); border-radius:18px; padding:20px; margin:20px 0; min-width:0; }
.cidade-admin-form legend { padding:0 8px; font-weight:800; }
.cidade-admin-form .campo small { display:block; line-height:1.55; margin-top:8px; color:var(--texto-suave); }
.cidade-admin-acoes { display:flex; flex-wrap:wrap; gap:12px; margin-top:24px; }
.cidade-admin-historico { display:grid; gap:12px; }
.cidade-admin-historico details { border-bottom:1px solid var(--borda); padding:12px 0; }
.cidade-admin-historico summary { cursor:pointer; font-weight:700; line-height:1.6; }
.cidade-admin-historico pre { white-space:pre-wrap; overflow-wrap:anywhere; max-height:280px; overflow:auto; background:#f2f5f2; padding:14px; border-radius:12px; font-size:.76rem; }
@media(max-width:760px) {
    .cidade-guia-grade { grid-template-columns:minmax(0,1fr); gap:22px; }
    .cidade-guia { padding-top:32px; }
    .cidade-guia-rota { padding:24px; }
    .cidade-guia-numeros { gap:10px; }
    .cidade-guia-numero { padding:16px 12px; }
    .cidade-guia-numero>span { font-size:.74rem; }
    .cidade-guia-numero>strong { font-size:1.9rem; }
    .cidade-guia-texto { padding:0 18px 20px; }
    .cidade-guia-detalhes summary { padding:18px; }
    .cidade-admin-form fieldset { padding:15px; }
    .cidade-admin-acoes .botao { flex:1 1 100%; }
}
