/* =========================================================
   CENTRAL DO MANDATO — responsividade
   Todas as media queries do site público e do painel administrativo,
   extraídas de css/style.css e css/admin.css para facilitar o ajuste
   de comportamento em celular, tablet e telas grandes.
   Carregue depois de css/style.css.
   Breakpoints usados no projeto: 1100px, 1050px, 1000px, 900px, 850px,
   800px, 760px, 700px, 620px, 430px.
   ========================================================= */

@media(max-width:1000px){.legislative-grid{grid-template-columns:repeat(2,1fr)}.legislative-item:nth-child(5n){border-right:1px solid var(--line)}.legislative-item:nth-child(2n){border-right:0}.legislative-item:nth-last-child(-n+5){border-bottom:1px solid var(--line)}.legislative-item:nth-last-child(-n+2){border-bottom:0}.legislative-section .section-head h2{font-size:36px}}

@media(max-width:700px){.legislative-section{padding-top:8px}.legislative-section .section-head{display:block;margin-bottom:20px}.legislative-section .section-head h2{font-size:32px}.legislative-section .section-head p{font-size:14px;margin-top:12px}.legislative-grid{grid-template-columns:repeat(2,1fr)}.legislative-item{min-height:100px;padding:16px 14px 12px;border-right:1px solid var(--line)}.legislative-item:nth-child(2n){border-right:0}.legislative-item:nth-last-child(-n+2){border-bottom:0}.legislative-item strong{font-size:30px}.legislative-item span{font-size:12px}.legislative-item::after{right:16px;bottom:16px;font-size:15px}.legislative-note{margin-top:20px}}

@media(max-width:700px){.flow-grid{display:flex;grid-template-columns:unset;overflow-x:auto;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;gap:12px;margin:0 -20px;padding:2px 20px 10px;scroll-padding-left:20px}.flow-grid::-webkit-scrollbar{display:none}.flow-grid{scrollbar-width:none}.flow-grid article{flex:0 0 82%;min-width:0;scroll-snap-align:start}}

@media(max-width:850px){.hero{padding:80px 20px 56px;min-height:64vh;align-items:flex-end}.hero-bg img{object-position:48% 15%}.hero-wash{background:linear-gradient(0deg,rgba(7,52,102,0.95) 0%,rgba(7,52,102,0.72) 38%,rgba(7,52,102,0.40) 65%,rgba(7,52,102,0.15) 100%)}.hero-line{inset:18px}.hero-actions{gap:24px}}

@media(max-width:850px){.glossario-grid{grid-template-columns:1fr}}

@media(max-width:1100px){.cards{grid-template-columns:repeat(2,1fr)}.filters{grid-template-columns:1fr 1fr;max-width:700px}}

@media(max-width:700px){.cards{grid-template-columns:1fr}.filters{grid-template-columns:1fr}}

@media(max-width:1000px){.footer-top{grid-template-columns:1fr 1fr;row-gap:28px}}

@media(max-width:700px){.footer{padding:36px 20px 0}.footer-top{grid-template-columns:1fr;gap:26px}.footer-bottom{flex-direction:column;align-items:flex-start;gap:6px}.contact{padding:44px 20px}.contact-grid{grid-template-columns:1fr;gap:32px}}

@media(max-width:1000px){.site-nav{display:none;position:absolute;top:100%;left:0;right:0;background:#073466;flex-direction:column;gap:0;padding:6px 0}.site-nav.open{display:flex}.site-nav a{padding:14px 24px;border-bottom:1px solid rgba(255,255,255,.08);width:100%}.mandato-btn{display:none}.nav-toggle{display:block;margin-left:auto}}

@media(max-width:700px){.site-header{height:68px;padding:0 18px}.logo-link img{width:126px;max-height:52px}body{padding-top:68px}section[id],.section[id]{scroll-margin-top:68px}.section,.legislative-section,.simple-flow,.glossario,#atividades,.secao-extra{padding-left:20px;padding-right:20px}}

@media(max-width:1000px){.admin-shell{grid-template-columns:1fr}.admin-nav{position:sticky;top:78px;height:auto;z-index:40;display:flex;overflow:auto;gap:5px;padding:10px}.admin-nav-title,.admin-nav-help{display:none}.tab{width:auto;white-space:nowrap}.dashboard-grid{grid-template-columns:repeat(2,1fr)}.dashboard-columns{grid-template-columns:1fr}.admin-content{padding:26px 20px}.form-grid.three{grid-template-columns:repeat(2,1fr)}.admin-toolbar{grid-template-columns:1fr 1fr}.admin-item{align-items:flex-start;flex-direction:column}}

@media(max-width:620px){.admin-topbar{padding:0 16px}.admin-brand div{display:none}.admin-brand img{width:96px}.conn-status span{display:none}.admin-content{padding:20px 14px}.panel h1{font-size:27px}.panel-top{align-items:flex-start;flex-direction:column}.dashboard-grid,.form-grid.three,.form-grid,.admin-toolbar{grid-template-columns:1fr}.publish-box{align-items:flex-start;flex-direction:column;gap:10px}}

@media(max-width:900px){.map-layout{grid-template-columns:1fr;border-radius:14px}.map-panel{border-right:0;border-bottom:1px solid var(--line)}.map-sidebar{min-height:0}.map-sidebar .map-admin-link{margin-top:20px}.mandato-map,.map-panel{height:430px;min-height:430px}}

@media(max-width:700px){.map-section{padding-top:48px;padding-bottom:48px}.mandato-map,.map-panel{height:360px;min-height:360px}.map-sidebar{padding:22px;max-height:340px;overflow:auto}.map-sidebar-head h3{font-size:19px}.map-legend{left:12px;top:12px;padding:8px 10px}.map-legend span{font-size:9.5px}.map-toolbar{flex-direction:column;align-items:stretch;gap:10px}.map-total-counter{order:-1}}

@media(max-width:480px){.mandato-map{height:300px;min-height:300px}.map-panel{height:auto;min-height:0;overflow:visible}.map-legend{position:static;margin:10px 12px 0;background:#fff;box-shadow:none;flex-direction:row;flex-wrap:wrap;gap:8px 12px}.map-empty{position:static;margin:0 12px 12px;box-shadow:none}.year-chip{padding:7px 11px;font-size:11px}.map-sidebar{padding:18px}}

@media(max-width:900px){.ai-layout{grid-template-columns:1fr}}

@media(max-width:900px){.lote-grid{grid-template-columns:1fr 1fr}}

@media(max-width:620px){.lote-grid{grid-template-columns:1fr}}

@media(max-width:620px){.ai-fields{grid-template-columns:1fr}.upload-drop{min-height:160px}}

@media(max-width:1000px){.featured-works{display:grid;grid-template-columns:1fr 1fr}.featured-work{padding:30px;min-height:290px}.featured-nav{display:none}}

@media(max-width:700px){.featured-section{padding-top:66px;padding-bottom:66px}.featured-works{grid-template-columns:1fr}.featured-work{min-height:250px;padding:25px}.featured-section--highlight .section-head h2{font-size:42px}}

@media(max-width:1000px){.featured-works{grid-template-columns:repeat(2,1fr)}}

@media(max-width:700px){.featured-works{display:flex;grid-template-columns:unset;overflow-x:auto;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;box-shadow:none;margin:0 -20px;padding:0 20px 4px;scroll-padding-left:20px;gap:12px;background:none;border:0}.featured-works::-webkit-scrollbar{display:none}.featured-works{scrollbar-width:none}.featured-work{flex:0 0 86%;min-width:0;scroll-snap-align:start;border-radius:14px}.featured-works .featured-empty{flex:0 0 100%}}

@media(max-width:800px){.production-admin-row{grid-template-columns:42px 1fr}.production-admin-row label:nth-child(4){grid-column:2}}

@media(max-width:620px){.admin-login-body .login-box{padding:34px 24px;border-radius:16px}.admin-login-body .login-box h1{font-size:24px}}

/* ---- painel administrativo (css/admin.css) ---- */
@media(max-width:1050px){.stat-grid{grid-template-columns:repeat(2,1fr)}.admin-grid{grid-template-columns:1fr}.ai-fields{grid-template-columns:repeat(2,1fr)}.ai-review-grid,.lote-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:760px){.admin-top-inner{padding:12px 14px}.admin-brand{min-width:0}.admin-brand small{display:none}.admin-main{padding:22px 14px 50px}.admin-head{display:block}.admin-head .admin-actions{margin-top:14px}.stat-grid{grid-template-columns:1fr 1fr}.form-grid,.form-grid.three,.filters,.ai-fields,.ai-review-grid,.lote-grid{grid-template-columns:1fr}.full{grid-column:auto}.admin-item{display:block}.item-actions{justify-content:flex-start;margin-top:11px}.contato-row{grid-template-columns:1fr 1fr}.contato-row .row-actions{grid-column:1/-1;justify-content:flex-start}.modal-overlay{padding:16px 10px}}
@media(max-width:430px){.stat-grid{grid-template-columns:1fr}.admin-brand strong{font-size:12px}.conn-status span{display:none}}


/* ==========================================================================
   AJUSTES DA PALETA — Central do Mandato
   ========================================================================== */
.legislative-grid{overflow:visible;border-radius:0}
.site-nav a.active,.site-nav a:hover,.site-nav a:focus-visible{border-color:#fff}

/* ==========================================================================
   PRODUÇÃO LEGISLATIVA — cards refinados (.legislative-item)
   Cards individuais com respiro, número em serifa, barra de destaque no topo
   e seta em "chip". No hover o card vira Azul Institucional.
   ========================================================================== */
.legislative-grid{gap:16px;border:0;background:transparent}
.legislative-grid .legislative-item{
  min-height:150px;padding:26px 24px 22px;gap:10px;overflow:hidden;isolation:isolate;
  background:var(--white);border:1px solid rgba(7,52,102,.10);border-radius:16px;
  box-shadow:0 1px 2px rgba(7,52,102,.04),0 10px 28px -14px rgba(7,52,102,.18);
  transition:transform .35s cubic-bezier(.2,.7,.2,1),box-shadow .35s ease,border-color .35s ease,background .35s ease}
.legislative-grid .legislative-item:before{content:"";position:absolute;left:24px;top:0;width:34px;height:3px;border-radius:0 0 3px 3px;background:var(--vivo);transition:width .4s cubic-bezier(.2,.7,.2,1)}
.legislative-grid .legislative-item:after{
  content:"↗";position:absolute;right:18px;bottom:18px;width:32px;height:32px;display:grid;place-items:center;
  border-radius:50%;background:var(--gelo);color:var(--azul);font-size:15px;line-height:1;
  transition:background .3s ease,color .3s ease,transform .35s cubic-bezier(.2,.7,.2,1)}
.legislative-grid .legislative-item strong{
  font:500 46px/1 var(--serif);letter-spacing:-.04em;font-variant-numeric:lining-nums tabular-nums;color:var(--marinho);transition:color .3s ease}
.legislative-grid .legislative-item span{
  max-width:calc(100% - 44px);font-size:13px;line-height:1.4;font-weight:500;letter-spacing:.01em;color:rgba(32,40,50,.78);transition:color .3s ease}
.legislative-grid .legislative-item:hover,.legislative-grid .legislative-item:focus-visible{
  transform:translateY(-5px);background:linear-gradient(145deg,var(--azul) 0%,var(--marinho) 100%);
  border-color:transparent;box-shadow:0 22px 40px -18px rgba(7,52,102,.55)}
.legislative-grid .legislative-item:hover:before,.legislative-grid .legislative-item:focus-visible:before{width:calc(100% - 48px)}
.legislative-grid .legislative-item:hover:after,.legislative-grid .legislative-item:focus-visible:after{background:var(--vivo);color:#fff;transform:translate(2px,-2px)}
.legislative-grid .legislative-item:hover strong,.legislative-grid .legislative-item:focus-visible strong{color:#fff}
.legislative-grid .legislative-item:hover span,.legislative-grid .legislative-item:focus-visible span{color:rgba(255,255,255,.86)}
@media(max-width:1000px){.legislative-grid{gap:12px}}
@media(max-width:720px){
  .legislative-grid .legislative-item{min-height:128px;padding:22px 16px 16px;border-radius:14px}
  .legislative-grid .legislative-item:before{left:16px}
  .legislative-grid .legislative-item strong{font-size:34px}
  .legislative-grid .legislative-item span{font-size:12px;max-width:100%;padding-right:34px}
  .legislative-grid .legislative-item:after{right:12px;bottom:12px;width:28px;height:28px}}
@media(hover:none){.legislative-grid .legislative-item:hover{transform:none}}
@media(prefers-reduced-motion:reduce){.legislative-grid .legislative-item,.legislative-grid .legislative-item:after,.legislative-grid .legislative-item:before{transition:none}}


/* ==========================================================================
   CONTATO — WhatsApp / Instagram / Facebook lado a lado (.contact-actions)
   Mesma linguagem dos cards de produção legislativa.
   ========================================================================== */
.contact-info>div:last-child small{margin-bottom:12px}
.contact-actions{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:2px}
.contact-card{position:relative;overflow:hidden;isolation:isolate;min-height:128px;padding:22px 16px 16px;display:flex;flex-direction:column;justify-content:flex-start;gap:6px;text-decoration:none;
  background:var(--white);border:1px solid rgba(7,52,102,.10);border-radius:16px;
  box-shadow:0 1px 2px rgba(7,52,102,.04),0 10px 28px -14px rgba(7,52,102,.18);
  transition:transform .35s cubic-bezier(.2,.7,.2,1),box-shadow .35s ease,background .35s ease,border-color .35s ease}
.contact-card:before{content:"";position:absolute;left:16px;top:0;width:30px;height:3px;border-radius:0 0 3px 3px;background:var(--vivo);transition:width .4s cubic-bezier(.2,.7,.2,1)}
.contact-card em{font:500 8px var(--mono);font-style:normal;letter-spacing:.16em;text-transform:uppercase;color:rgba(32,40,50,.62);transition:color .3s ease}
.contact-card strong{font:500 22px/1.1 var(--serif);letter-spacing:-.02em;color:var(--marinho);transition:color .3s ease}
.contact-card i{position:absolute;right:12px;bottom:12px;width:30px;height:30px;display:grid;place-items:center;border-radius:50%;background:var(--gelo);color:var(--azul);font-style:normal;font-size:14px;line-height:1;transition:background .3s ease,color .3s ease,transform .35s cubic-bezier(.2,.7,.2,1)}
.contact-card:hover,.contact-card:focus-visible{transform:translateY(-5px);background:linear-gradient(145deg,var(--azul) 0%,var(--marinho) 100%);border-color:transparent;box-shadow:0 22px 40px -18px rgba(7,52,102,.55);outline:0}
.contact-card:hover:before,.contact-card:focus-visible:before{width:calc(100% - 32px)}
.contact-card:hover em,.contact-card:focus-visible em{color:rgba(255,255,255,.8)}
.contact-card:hover strong,.contact-card:focus-visible strong{color:#fff}
.contact-card:hover i,.contact-card:focus-visible i{background:var(--vivo);color:#fff;transform:translate(2px,-2px)}
.contact-card:focus-visible{box-shadow:0 0 0 3px var(--vivo),0 22px 40px -18px rgba(7,52,102,.55)}
@media(max-width:480px){.contact-actions{gap:8px}.contact-card{min-height:112px;padding:20px 12px 14px}.contact-card strong{font-size:17px}.contact-card i{right:9px;bottom:9px;width:26px;height:26px}}
@media(hover:none){.contact-card:hover{transform:none}}
@media(prefers-reduced-motion:reduce){.contact-card,.contact-card i,.contact-card:before{transition:none}}
.contact-info>div:last-child{padding:14px 0 18px}
.contact-info>div:last-child small{margin-bottom:14px}

/* Contraste: rótulos pequenos (eyebrow) em Azul Institucional sobre fundo claro;
   em Azul Vivo apenas sobre fundos escuros. */
.eyebrow{color:var(--azul)}
.hero .eyebrow,.featured-section .eyebrow,.featured-section--highlight .section-head .eyebrow,.map-section .eyebrow.on-dark{color:var(--vivo)}
.footer-bottom,.footer-bottom span{color:rgba(255,255,255,.75)}
.hero .eyebrow,.featured-section .eyebrow,.featured-section--highlight .section-head .eyebrow{color:var(--gelo)}
.contact-info,.contact-info>div{border-color:var(--vivo)}
