/*
Theme Name: Guia de Boteco
Theme URI: https://guiadeboteco.com.br
Author: AZPress Brasil
Description: Tema editorial do Guia de Boteco, portal nacional de curadoria de bares e botecos: fichas de bares, navegação por região, estado e cidade, mapa, importação por CSV com revisão editorial e espaços comerciais identificados.
Version: 1.2.0
Requires at least: 6.4
Tested up to: 7.2
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: guia-de-boteco
Tags: blog, news, custom-menu, custom-logo, featured-images, translation-ready, block-styles, wide-blocks
*/

@font-face{font-family:"Playfair Display";font-weight:400;font-style:normal;font-display:swap;src:url(assets/fonts/playfair-display-latin-400-normal.woff2) format("woff2")}
@font-face{font-family:"Playfair Display";font-weight:400;font-style:italic;font-display:swap;src:url(assets/fonts/playfair-display-latin-400-italic.woff2) format("woff2")}
@font-face{font-family:"Playfair Display";font-weight:500;font-style:normal;font-display:swap;src:url(assets/fonts/playfair-display-latin-500-normal.woff2) format("woff2")}
@font-face{font-family:"Playfair Display";font-weight:700;font-style:normal;font-display:swap;src:url(assets/fonts/playfair-display-latin-700-normal.woff2) format("woff2")}
@font-face{font-family:Inter;font-weight:400;font-display:swap;src:url(assets/fonts/inter-latin-400-normal.woff2) format("woff2")}
@font-face{font-family:Inter;font-weight:500;font-display:swap;src:url(assets/fonts/inter-latin-500-normal.woff2) format("woff2")}
@font-face{font-family:Inter;font-weight:600;font-display:swap;src:url(assets/fonts/inter-latin-600-normal.woff2) format("woff2")}

:root{
  --navy:#101C35;--creme:#F5F0E6;--ouro:#C9A15D;--preto:#202020;--branco:#FFFFFF;
  --ouro-texto:#8A6A2F;--creme-claro:#FBF7F0;--linha:#E2D8C6;--cinza:#5C5C5C;
  --serif:"Playfair Display",Georgia,serif;--sans:Inter,system-ui,-apple-system,"Segoe UI",sans-serif;
  --largura:1416px;--gutter:clamp(16px,4vw,48px);
}
*,*:before,*:after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{margin:0;background:var(--creme-claro);color:var(--preto);font:400 17px/1.65 var(--sans);-webkit-font-smoothing:antialiased;overflow-x:hidden}
img,svg,video{max-width:100%;height:auto;display:block}
a{color:inherit}
h1,h2,h3,h4{font-family:var(--serif);font-weight:500;color:var(--navy);line-height:1.15;margin:0 0 .5em}
:focus-visible{outline:2px solid var(--ouro);outline-offset:3px}
.screen-reader-text{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(1px,1px,1px,1px)}
.skip-link:focus{position:fixed;left:12px;top:12px;width:auto;height:auto;clip:auto;background:#fff;color:var(--navy);padding:10px 16px;z-index:999}
.wrap{max-width:var(--largura);margin:0 auto;padding-inline:var(--gutter)}
.titulo-sec{font-size:clamp(28px,3vw,38px);margin-bottom:6px}
.titulo-sec:after{content:"";display:block;width:60px;height:3px;background:var(--ouro);margin-top:8px}
.eyebrow{font:600 12px/1.3 var(--sans);letter-spacing:.17em;text-transform:uppercase;color:var(--ouro-texto);margin:0}
.btn{display:inline-flex;align-items:center;gap:12px;font:500 15px/1 var(--sans);padding:15px 30px;border-radius:999px;text-decoration:none;border:1px solid var(--ouro);transition:.2s;cursor:pointer}
.btn-ouro{background:var(--ouro);color:var(--navy)}.btn-ouro:hover{background:#d8b477}
.btn-linha{background:transparent;color:var(--navy);padding:11px 20px;font-size:14px}.btn-linha:hover{background:var(--ouro)}
.seta{width:19px;height:12px;flex:none}

/* CABECALHO */
.topo{background:linear-gradient(180deg,#0B1527,var(--navy));position:relative;z-index:30}
.topo-in{display:flex;align-items:center;gap:32px;min-height:108px}
.marca{flex:none}.marca img{width:218px;height:auto}
.nav-prin{margin-left:auto}
.nav-prin ul{display:flex;gap:34px;list-style:none;margin:0;padding:0;align-items:center}
.nav-prin li{position:relative}
.nav-prin a{color:#fff;text-decoration:none;font-size:16px;font-weight:400;padding:8px 0;display:block}
.nav-prin a:hover,.nav-prin .current-menu-item>a{color:var(--ouro)}
.nav-prin .menu-item-has-children>a:after{content:"";display:inline-block;width:7px;height:7px;border:solid currentColor;border-width:0 1.5px 1.5px 0;transform:rotate(45deg) translate(-2px,-2px);margin-left:9px}
.nav-prin .sub-menu{position:absolute;left:-16px;top:100%;background:var(--navy);display:none;min-width:220px;padding:10px 16px;border:1px solid rgba(201,161,93,.4);flex-direction:column;align-items:flex-start;gap:0}
.nav-prin li:hover>.sub-menu,.nav-prin li:focus-within>.sub-menu{display:flex}
.busca-topo{display:flex;align-items:center;gap:12px;border:1.5px solid var(--ouro);border-radius:999px;padding:0 18px;height:48px;width:252px;flex:none;margin-left:12px}
.busca-topo svg{width:19px;height:19px;color:var(--creme);flex:none}
.busca-topo input{background:none;border:0;color:var(--ouro);font:600 15px var(--sans);width:100%;outline:none;min-width:0}
.busca-topo input::placeholder{color:var(--ouro);opacity:1}
.busca-topo:focus-within{box-shadow:0 0 0 2px rgba(201,161,93,.45)}
.menu-btn{display:none;background:none;border:1px solid var(--ouro);border-radius:8px;color:var(--creme);padding:9px 12px;margin-left:auto;font:500 14px var(--sans);cursor:pointer}

/* HERO */
.hero{position:relative;background:#120d0a url(assets/img/hero.jpg) center/cover no-repeat;color:#fff;overflow:hidden}
.hero:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(9,12,20,.58),rgba(9,12,20,.05) 42%,rgba(9,12,20,0) 62%,rgba(9,12,20,.45))}
.hero-in{position:relative;display:grid;grid-template-columns:minmax(0,1fr) 290px 130px;gap:44px;align-items:center;min-height:clamp(372px,24.200vw,470px);padding-block:26px}
.hero h1{color:#fff;font-weight:700;font-size:clamp(40px,3.900vw,62px);line-height:1.04;margin:0;max-width:7.800em;letter-spacing:-.005em}
.hero h1:after{content:"";display:block;width:106px;height:5px;background:var(--ouro);margin-top:16px;border-radius:2px}
.hero p{font-size:clamp(17px,1.5vw,21px);line-height:1.4;margin:12px 0 18px;max-width:17.500em}
.hero-mapa{align-self:center}
.hero-mapa svg{width:100%;overflow:visible}
.hero-mapa path{fill:transparent;stroke:#E4C486;stroke-width:3;transition:fill .2s}
.hero-mapa a:hover path,.hero-mapa a:focus path{fill:rgba(201,161,93,.55)}
.hero-num{display:flex;flex-direction:column;gap:9px}
.hero-num div{padding-bottom:10px;border-bottom:2px solid var(--ouro)}
.hero-num div:last-child{border:0;padding:0}
.hero-num b{display:block;font:500 clamp(40px,3.600vw,52px)/1 var(--serif);color:var(--ouro)}
.hero-num span{font-size:15px;line-height:1.2;display:block;margin-top:2px}

/* REGIOES */
.regioes{background:var(--creme);padding:30px 0 34px}
.regioes-g{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px;margin-top:16px}
.regiao{position:relative;display:block;aspect-ratio:215/100;border-radius:12px;overflow:hidden;color:#fff;text-decoration:none;background:var(--navy)}
.regiao img{width:100%;height:100%;object-fit:cover;transition:transform .5s}
.regiao:hover img{transform:scale(1.04)}
.regiao:after{content:"";position:absolute;inset:40% 0 0;background:linear-gradient(180deg,rgba(16,28,53,0),rgba(16,28,53,.88))}
.regiao b{position:absolute;left:18px;bottom:11px;z-index:1;font:500 clamp(20px,1.800vw,26px)/1.1 var(--serif)}
.regiao i{position:absolute;right:16px;bottom:13px;z-index:1;width:31px;height:31px;border:1.5px solid var(--ouro);border-radius:50%;display:grid;place-items:center}
.regiao i svg{width:14px}

/* DESTAQUE + MATERIAS */
.home-baixo{padding:30px 0 44px}
.home-g{display:grid;grid-template-columns:minmax(0,46.500%) 1fr;gap:0}
.destaque{display:grid;grid-template-columns:minmax(0,275fr) minmax(0,310fr);gap:26px;padding-right:38px;border-right:1px solid var(--linha)}
.destaque-foto{border-radius:12px;overflow:hidden;aspect-ratio:275/235;background:var(--navy)}
.destaque-foto img{width:100%;height:100%;object-fit:cover}
.destaque .eyebrow:after{content:"";display:block;width:90px;height:2px;background:var(--ouro);margin-top:9px}
.destaque h2{font-size:clamp(28px,2.900vw,38px);margin:20px 0 2px}
.destaque h2 a{text-decoration:none}
.destaque .loc{font-weight:500;font-size:15px;margin:0 0 8px}
.destaque p{font-size:15px;line-height:1.5;margin:0 0 14px}
.materias{padding-left:32px}
.materias-top{display:flex;justify-content:space-between;align-items:flex-start;gap:16px}
.ver-todas{display:inline-flex;gap:10px;align-items:center;font-size:14px;color:var(--ouro-texto);font-weight:500;white-space:nowrap}
.mat-g{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-top:14px}
.mat a{text-decoration:none;display:block}
.mat .ft{aspect-ratio:166/115;border-radius:10px;overflow:hidden;background:var(--navy)}
.mat .ft img{width:100%;height:100%;object-fit:cover}
.mat h3{font-size:16px;line-height:1.25;margin:9px 0 0;color:var(--navy)}
.mat a:hover h3{color:var(--ouro-texto)}
.nota-prov{font-size:12.500px;color:var(--cinza);margin:10px 0 0}

/* RODAPE */
.rodape{background:var(--navy);color:var(--creme);padding:54px 0 26px;font-size:15px}
.rod-g{display:grid;grid-template-columns:1.6fr 1fr 1fr 1.4fr;gap:40px}
.rodape img{width:176px}
.rodape h2,.rodape .widget-title{color:var(--ouro);font:600 12px/1.3 var(--sans);letter-spacing:.17em;text-transform:uppercase;margin:0 0 14px}
.rodape ul{list-style:none;margin:0;padding:0}.rodape li{margin-bottom:7px}
.rodape a{text-decoration:none}.rodape a:hover{color:var(--ouro)}
.rod-fim{border-top:1px solid rgba(201,161,93,.35);margin-top:36px;padding-top:18px;display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;font-size:13px}

/* MIGALHAS E INTERNAS */
.migalhas{font-size:13px;color:var(--cinza);padding-top:16px;padding-bottom:10px}
.migalhas ol{display:flex;flex-wrap:wrap;gap:6px;list-style:none;margin:0;padding:0}
.migalhas li+li:before{content:"/";margin-right:6px;color:var(--ouro)}
.migalhas a{text-decoration:none}
.cab-int{background:var(--creme);padding:38px 0 34px}
.cab-int h1{font-size:clamp(38px,5vw,68px);margin:6px 0 0}
.cab-int .desc{max-width:44em;margin-top:12px}
.sec{padding:38px 0 56px}

/* CARTOES DE BAR */
.bares-g{display:grid;grid-template-columns:repeat(auto-fill,minmax(270px,1fr));gap:30px 26px}
.bar-c a{text-decoration:none;display:block}
.bar-c .ft{aspect-ratio:4/3;border-radius:12px;overflow:hidden;background:var(--navy)}
.bar-c .ft img{width:100%;height:100%;object-fit:cover;transition:transform .5s}
.bar-c a:hover img{transform:scale(1.03)}
.bar-c h3{font-size:24px;margin:12px 0 2px}
.bar-c p{font-size:14.500px;margin:0;color:var(--cinza)}
.foto-pendente{width:100%;height:100%;min-height:150px;display:grid;place-items:center;text-align:center;padding:16px;background:var(--navy);color:var(--ouro);font:500 13px/1.4 var(--sans)}
.filtros{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:28px;align-items:end}
.filtros label{font-size:12px;font-weight:600;display:grid;gap:4px;color:var(--navy)}
.filtros select,.filtros input{font:400 15px var(--sans);padding:10px 12px;border:1px solid var(--ouro);border-radius:8px;background:#fff;min-width:170px}
.filtros button{font:inherit}
.vazio{background:var(--creme);padding:28px;border-radius:12px}
.pager{margin-top:36px}.pager .nav-links{display:flex;gap:10px;flex-wrap:wrap}
.pager a,.pager span{padding:7px 13px;border:1px solid var(--linha);border-radius:8px;text-decoration:none}
.pager .current{background:var(--navy);color:#fff}

/* ESTADO */
.estado-ab{position:relative;background:var(--navy);color:#fff;min-height:420px;display:flex;align-items:flex-end;overflow:hidden}
.estado-ab .bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.62}
.estado-ab:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(16,28,53,.15),rgba(16,28,53,.92))}
.estado-ab .wrap{position:relative;z-index:1;width:100%;padding-block:44px}
.estado-ab h1{color:#fff;font-size:clamp(46px,8vw,110px);line-height:1;margin:8px 0 0}
.estado-ab .eyebrow{color:var(--ouro)}
.estado-ab .desc{max-width:40em;margin-top:14px;color:var(--creme)}
.cinco{counter-reset:n;display:grid;gap:0;list-style:none;margin:0;padding:0}
.cinco li{counter-increment:n;display:grid;grid-template-columns:76px 150px 1fr auto;gap:22px;align-items:center;padding:20px 0;border-bottom:1px solid var(--linha)}
.cinco li:before{content:counter(n);font:500 46px/1 var(--serif);color:var(--ouro)}
.cinco .ft{aspect-ratio:3/2;border-radius:8px;overflow:hidden;background:var(--navy)}
.cinco .ft img{width:100%;height:100%;object-fit:cover}
.cinco h3{font-size:25px;margin:0}.cinco h3 a{text-decoration:none}.cinco p{margin:2px 0 0;font-size:15px;color:var(--cinza)}

/* BAR INDIVIDUAL */
.bar-foto{height:clamp(300px,52vw,620px);background:var(--navy);overflow:hidden;position:relative}
.bar-foto img{width:100%;height:100%;object-fit:cover}
.bar-foto .foto-pendente{height:100%}
.legenda{font-size:12.500px;color:var(--cinza);text-align:right;margin:6px 0 0}
.bar-g{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:60px;padding:28px 0 60px}
.bar-g h1{font-size:clamp(42px,6vw,76px);line-height:1.02;margin:6px 0 0}
.bar-g h1:after{content:"";display:block;width:82px;height:3px;background:var(--ouro);margin-top:18px}
.chamada{font:italic 400 clamp(21px,2.200vw,27px)/1.3 var(--serif);color:var(--navy);margin:20px 0 22px}
.texto{max-width:42em}.texto>*{max-width:100%}
.texto p{margin:0 0 1.1em}.texto a{color:var(--ouro-texto)}
.texto h2{font-size:32px;margin-top:1.4em}.texto h3{font-size:25px;margin-top:1.3em}
.texto blockquote{border-left:3px solid var(--ouro);margin:1.5em 0;padding-left:20px;font:italic 400 22px/1.4 var(--serif);color:var(--navy)}
.texto .alignwide{width:100%}.texto img{border-radius:8px}
.servico{align-self:start;border-left:1px solid var(--ouro);padding-left:28px;position:sticky;top:24px}
.servico h2{font-size:24px;font-style:italic;font-weight:400}
.servico dl{margin:0}
.servico dt{font:600 11px/1.3 var(--sans);letter-spacing:.14em;text-transform:uppercase;color:var(--navy);margin-top:15px}
.servico dd{margin:2px 0 0;font-size:15px;line-height:1.4;overflow-wrap:anywhere}
.servico dd a{color:inherit;text-decoration-color:var(--ouro)}
.nc{color:var(--cinza)}
.acoes{display:flex;flex-wrap:wrap;gap:9px;margin-top:20px}
.acoes .btn{padding:11px 16px;font-size:14px}
.galeria{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:10px;margin:26px 0}
.galeria img{aspect-ratio:4/3;object-fit:cover;width:100%;border-radius:8px}
.fontes{font-size:13px;color:var(--cinza);border-top:1px solid var(--linha);margin-top:26px;padding-top:14px;overflow-wrap:anywhere}
.fontes ul{margin:6px 0;padding-left:18px}
.partilha{display:flex;flex-wrap:wrap;gap:12px;align-items:center;font-size:14px;margin-top:20px}
.partilha a{color:var(--ouro-texto);font-weight:500}
.selo-pat{display:inline-block;background:var(--navy);color:var(--ouro);font:600 11px var(--sans);letter-spacing:.14em;text-transform:uppercase;padding:6px 10px;border-radius:4px}
.espaco-pub{margin:26px 0;padding:14px;background:var(--creme);text-align:center}
.espaco-pub .rot{font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--cinza);margin:0 0 8px}
.mapa-bares{height:min(68vh,560px);border-radius:12px;overflow:hidden;background:var(--creme);z-index:1}
.mapa-g{display:grid;grid-template-columns:minmax(0,420px) 1fr;gap:44px;align-items:start}
.mapa-estados path{fill:var(--creme);stroke:var(--ouro);stroke-width:1.1;transition:fill .15s}
.mapa-estados a:hover path,.mapa-estados a:focus path{fill:var(--ouro)}
.lista-uf{columns:3;gap:30px;margin:0;padding:0;list-style:none}.lista-uf li{break-inside:avoid;margin-bottom:6px}
.lista-uf a{text-decoration-color:var(--ouro)}
.lista-uf small{color:var(--cinza)}
.posts-g{display:grid;grid-template-columns:repeat(auto-fill,minmax(290px,1fr));gap:34px 26px}

@media (max-width:1180px){
  .topo-in{min-height:88px;flex-wrap:wrap;gap:12px}
  .marca img{width:150px}
  .menu-btn{display:block}
  .nav-prin{display:none;order:4;width:100%;margin:0;padding-bottom:14px}
  .nav-prin.aberto{display:block}
  .nav-prin ul{flex-direction:column;align-items:flex-start;gap:2px}
  .nav-prin .sub-menu{position:static;display:flex;border:0;padding:0 0 0 14px;background:none}
  .busca-topo{order:3;width:100%;margin:0 0 12px;height:44px}
  .hero-in{grid-template-columns:minmax(0,1fr) 150px}
  .hero-mapa{display:none}
  .home-g{grid-template-columns:1fr}.destaque{padding:0 0 28px;border-right:0;border-bottom:1px solid var(--linha)}.materias{padding:26px 0 0}
  .rod-g{grid-template-columns:1fr 1fr}
  .bar-g{grid-template-columns:minmax(0,1fr) 300px;gap:36px}
}
@media (max-width:820px){
  .regioes-g{grid-template-columns:repeat(2,minmax(0,1fr))}
  .regiao:last-child{grid-column:1/-1;aspect-ratio:3/1}
  .mat-g{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 12px}
  .bar-g,.mapa-g{grid-template-columns:1fr}
  .servico{position:static;border-left:0;padding-left:0;border-top:1px solid var(--ouro);padding-top:20px}
  .cinco li{grid-template-columns:44px 96px 1fr;gap:12px}
  .cinco li:before{font-size:32px}.cinco .btn{grid-column:3}
  .cinco h3{font-size:21px}
  .lista-uf{columns:2}
}
@media (max-width:560px){
  body{font-size:16px}
  .hero-in{grid-template-columns:1fr;min-height:0;padding-block:30px}
  .hero{background-position:58% center}
  .hero:before{background:linear-gradient(180deg,rgba(9,12,20,.62),rgba(9,12,20,.45))}
  .hero-num{flex-direction:row;gap:0;justify-content:space-between}
  .hero-num div{border:0;padding:0;flex:1}
  .hero-num b{font-size:36px}.hero-num span{font-size:12.500px}
  .destaque{grid-template-columns:1fr;gap:16px}
  .destaque h2{margin-top:12px}
  .rod-g{grid-template-columns:1fr}
  .filtros label,.filtros select,.filtros input,.filtros .btn{width:100%}
  .lista-uf{columns:1}
}
@media (prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}
@media print{.topo,.rodape,.acoes,.partilha{display:none}}
