
:root{--ink:#171512;--muted:#6d675f;--line:#ded8d0;--sand:#111111;--max:1680px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:#fff;font-family:"Helvetica Neue",Arial,sans-serif;font-weight:300;-webkit-font-smoothing:antialiased}img{max-width:100%;display:block}a{color:inherit;text-decoration:none}.gm-container{width:min(calc(100% - 76px),var(--max));margin:auto}.gm-top{height:34px;border-bottom:1px solid #ece8e3;font-size:9px;letter-spacing:.15em;text-transform:uppercase}.gm-top .gm-container{height:100%;display:flex;align-items:center;justify-content:space-between}.gm-top-links{display:flex;gap:18px}.gm-brand{height:142px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center}.gm-logo{text-align:center;display:flex;justify-content:center;align-items:center}.gm-logo strong{font-size:52px;letter-spacing:.18em;font-weight:300}.gm-logo em{display:block;font-style:normal;font-size:8px;letter-spacing:.36em;text-transform:uppercase;margin-top:10px}.custom-logo-link{display:flex!important;align-items:center;justify-content:center}.custom-logo{width:auto!important;height:auto!important;max-width:min(520px,48vw)!important;max-height:104px!important;object-fit:contain!important}.gm-menu-toggle{visibility:hidden}.gm-brand-right{justify-self:end;display:flex;align-items:center;gap:22px;font-size:9px;letter-spacing:.15em;text-transform:uppercase}.gm-search-toggle{border:0;background:none;font-size:21px;font-weight:300;cursor:pointer}.gm-nav{border-top:1px solid #ece8e3;border-bottom:1px solid #ece8e3}.gm-menu{height:52px;margin:0;padding:0;display:flex;justify-content:center;align-items:center;gap:clamp(18px,2vw,36px);list-style:none}.gm-menu li{list-style:none}.gm-menu a{font-size:10px;letter-spacing:.13em;text-transform:uppercase}.gm-search{display:none;border-bottom:1px solid #ece8e3;padding:18px 0}.gm-search.is-open{display:block}.gm-search-form{display:flex;gap:8px}.gm-search-form input{width:100%;border:1px solid var(--line);padding:14px;background:#fff;font:inherit}.gm-search-form button{border:1px solid #111;background:#111;color:#fff;padding:0 20px;font-size:9px;text-transform:uppercase;letter-spacing:.12em}.gm-ad{position:relative}.gm-ad small{position:absolute;top:7px;left:9px;z-index:1;background:rgba(255,255,255,.9);padding:4px 6px;font-size:7px;letter-spacing:.14em;text-transform:uppercase}.gm-ad img{width:100%;height:auto;object-fit:contain}.gm-ad-top{margin-top:24px;max-height:160px;overflow:hidden}.gm-ad-top img{max-height:160px}.gm-ad-empty{min-height:90px;border:1px solid var(--line);background:#f8f7f5;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:8px;font-size:8px;letter-spacing:.14em;text-transform:uppercase;color:#8b857d}.gm-ad-empty strong{font-weight:300;font-size:14px}.gm-section-title{text-align:center;padding:0 0 40px}.gm-section-title span{font-size:28px;letter-spacing:.04em;text-transform:uppercase;font-weight:300}.gm-feature{padding:64px 0 86px}.gm-feature-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:28px}.gm-feature-image{display:block;aspect-ratio:1.45/1;overflow:hidden;background:#eee}.gm-feature-image img,.gm-card-image img,.gm-category-image img{width:100%;height:100%;object-fit:cover;transition:transform .45s ease}.gm-feature-card:hover img,.gm-card:hover img,.gm-category-card:hover img{transform:scale(1.015)}.gm-feature-copy{padding:20px 0 0}.gm-kicker{display:block;font-size:11px;text-transform:uppercase;letter-spacing:.06em;margin-bottom:10px}.gm-feature-copy h1{font-weight:300;font-size:27px;line-height:1.16;margin:0 0 12px}.gm-feature-copy p,.gm-card-copy p,.gm-category-card p{font-size:15px;line-height:1.55;color:#403d39;margin:0}.gm-section{padding:68px 0 86px}.gm-news-shell{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:44px}.gm-news-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:42px 20px}.gm-card-image{display:block;aspect-ratio:1.33/1;overflow:hidden;background:#eee}.gm-card-copy{padding-top:14px}.gm-card-copy h2{font-size:19px;line-height:1.2;font-weight:300;margin:0 0 9px}.gm-card-copy p{font-size:13px}.gm-ads-column{border-left:1px solid var(--line);padding-left:26px}.gm-ad-column-title{border-top:1px solid #111;padding-top:9px;margin-bottom:18px;font-size:8px;letter-spacing:.14em;text-transform:uppercase}.gm-ad-side{margin-bottom:25px}.gm-ad-side img{width:100%;height:auto}.gm-ad-middle{margin-bottom:72px}.gm-editions{background:#111;color:#fff;padding:78px 0}.gm-section-title-light span{color:#fff}.gm-edition-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:38px}.gm-edition-cover{display:block;aspect-ratio:.72/1;overflow:hidden;background:#272727}.gm-edition-cover img{width:100%;height:100%;object-fit:cover}.gm-edition-grid h3{font-size:14px;font-weight:300;margin:14px 0 7px}.gm-read-link,.gm-more{font-size:11px;border-bottom:1px solid currentColor;padding-bottom:2px}.gm-category-section{padding:72px 0 84px}.gm-sand{background:var(--sand)}.gm-category-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:30px}.gm-category-image{display:block;aspect-ratio:.84/1;overflow:hidden;background:#ddd}.gm-category-card h3{font-size:19px;font-weight:300;line-height:1.15;margin:16px 0 10px;text-transform:uppercase}.gm-category-card p{font-size:15px;min-height:70px}.gm-category-card .gm-more{display:inline-block;margin-top:22px}.gm-single{padding:74px 0 100px}.gm-single-head{text-align:center;max-width:1000px;margin:0 auto 42px}.gm-single-head h1{font-size:clamp(38px,4.4vw,62px);line-height:1.04;font-weight:300;margin:10px 0 18px}.gm-meta{font-size:9px;letter-spacing:.13em;text-transform:uppercase;color:#8b857d}.gm-single-image{width:min(1180px,100%);margin:0 auto 54px}.gm-single-image img{width:100%;height:auto;max-height:760px;object-fit:cover}.gm-single-layout{display:grid;grid-template-columns:minmax(0,760px) 280px;gap:70px;justify-content:center}.gm-entry{font-size:17px;line-height:1.85}.gm-entry p{margin:0 0 1.5em}.gm-entry h2,.gm-entry h3{font-weight:400}.gm-entry img{height:auto}.gm-single-ad{padding-top:5px}.gm-archive,.gm-page{padding:72px 0 100px}.gm-archive-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:45px 24px}.gm-page-entry{max-width:900px;margin:auto}.gm-pagination{margin-top:50px}.gm-footer{border-top:1px solid #ece8e3;padding:64px 0 24px}.gm-footer-grid{display:grid;grid-template-columns:1.3fr repeat(3,1fr);gap:50px}.gm-footer-logo{font-size:27px;letter-spacing:.18em}.gm-footer p{max-width:320px;color:#777;font-size:12px;line-height:1.6}.gm-footer h4{font-size:9px;text-transform:uppercase;letter-spacing:.16em;margin:0 0 15px}.gm-footer ul{list-style:none;padding:0;margin:0}.gm-footer li{font-size:12px;margin:8px 0}.gm-footer-bottom{border-top:1px solid #ece8e3;margin-top:44px;padding-top:18px;display:flex;justify-content:space-between;font-size:8px;letter-spacing:.12em;text-transform:uppercase;color:#888}.gm-placeholder{display:block;width:100%;height:100%;background:#eee}
@media(max-width:1100px){.gm-container{width:min(calc(100% - 40px),var(--max))}.gm-news-shell{grid-template-columns:minmax(0,1fr) 240px;gap:30px}.gm-news-grid{grid-template-columns:repeat(2,1fr)}.gm-category-grid{grid-template-columns:repeat(2,1fr)}.gm-category-image{aspect-ratio:1.2/1}.gm-single-layout{grid-template-columns:minmax(0,1fr) 240px;gap:40px}}
@media(max-width:800px){body.gm-menu-open{overflow:hidden}.gm-top{display:none}.gm-container{width:calc(100% - 28px)}.gm-brand{height:86px;grid-template-columns:42px 1fr 42px}.custom-logo{max-width:210px!important;max-height:58px!important}.gm-logo strong{font-size:27px}.gm-logo em{font-size:6px;margin-top:5px}.gm-brand-right a{display:none}.gm-search-toggle{font-size:19px;padding:8px}.gm-menu-toggle{visibility:visible;width:42px;height:42px;border:0;background:transparent;padding:10px;display:flex;flex-direction:column;justify-content:center;gap:5px}.gm-menu-toggle span{display:block;width:20px;height:1px;background:#111}.gm-nav{display:none}.gm-nav.is-open{display:block;position:fixed;inset:0;background:#080808;color:#fff;z-index:9999;overflow:auto;border:0;padding:90px 24px 40px}.gm-nav.is-open:before{content:'MENU';position:absolute;top:27px;left:24px;font-size:9px;letter-spacing:.2em}.gm-nav.is-open:after{content:'×';position:absolute;top:13px;right:24px;font-size:34px;font-weight:200}.gm-nav.is-open .gm-container{width:100%}.gm-menu{height:auto;display:block}.gm-menu li{border-bottom:1px solid rgba(255,255,255,.15)}.gm-menu a{display:block;padding:17px 0;color:#fff;font-size:13px}.gm-search{position:absolute;width:100%;background:#fff;z-index:50}.gm-ad-top{margin-top:14px;max-height:none}.gm-section-title{padding-bottom:25px}.gm-section-title span{font-size:21px}.gm-feature{padding:40px 0 55px}.gm-feature-grid{grid-template-columns:1fr;gap:38px}.gm-feature-image{aspect-ratio:1.35/1}.gm-feature-copy{padding-top:14px}.gm-feature-copy h1{font-size:23px}.gm-feature-copy p{font-size:14px}.gm-section{padding:50px 0 58px}.gm-news-shell{grid-template-columns:1fr}.gm-news-grid{grid-template-columns:1fr 1fr;gap:32px 14px}.gm-ads-column{border-left:0;border-top:1px solid var(--line);padding:16px 0 0;display:grid;grid-template-columns:1fr 1fr;gap:14px}.gm-ad-column-title{grid-column:1/-1;margin-bottom:0}.gm-ad-side{margin:0}.gm-editions{padding:54px 0 60px}.gm-edition-grid{grid-template-columns:repeat(2,1fr);gap:28px 14px}.gm-category-section{padding:52px 0 60px}.gm-category-grid{grid-template-columns:1fr 1fr;gap:34px 14px}.gm-category-image{aspect-ratio:1/1}.gm-category-card h3{font-size:16px}.gm-category-card p{font-size:13px;min-height:0}.gm-single{padding:48px 0 70px}.gm-single-head{margin-bottom:28px}.gm-single-head h1{font-size:38px}.gm-single-image{margin-bottom:34px}.gm-single-layout{grid-template-columns:1fr}.gm-single-ad{border-top:1px solid var(--line);padding-top:24px}.gm-entry{font-size:16px;line-height:1.75}.gm-archive-grid{grid-template-columns:1fr 1fr}.gm-footer{padding-top:48px}.gm-footer-grid{grid-template-columns:1fr 1fr}.gm-footer-bottom{display:block;line-height:2}}
@media(max-width:520px){.gm-container{width:calc(100% - 22px)}.gm-brand{height:78px;grid-template-columns:38px 1fr 38px}.custom-logo{max-width:185px!important;max-height:52px!important}.gm-feature{padding-top:32px}.gm-feature-grid{gap:34px}.gm-feature-image{aspect-ratio:1.25/1}.gm-news-grid{grid-template-columns:1fr;gap:34px}.gm-card-image{aspect-ratio:1.35/1}.gm-card-copy h2{font-size:19px}.gm-ads-column{grid-template-columns:1fr}.gm-ad-column-title{grid-column:auto}.gm-category-grid{grid-template-columns:1fr;gap:42px}.gm-category-image{aspect-ratio:1.25/1}.gm-category-card h3{font-size:17px}.gm-category-card p{font-size:14px}.gm-edition-grid{gap:22px 10px}.gm-single-head h1{font-size:33px}.gm-single-image img{max-height:none}.gm-archive-grid{grid-template-columns:1fr}.gm-footer-grid{grid-template-columns:1fr;gap:26px}}


/* Gramado v2.1 — remoção do fundo rosado / linguagem preto e branco */
.gm-sand,
.section--soft,
.gm-section--sand {
    background: #111 !important;
    color: #fff;
}
.gm-sand h1,.gm-sand h2,.gm-sand h3,.gm-sand h4,
.gm-sand p,.gm-sand a,.gm-sand span,
.section--soft h1,.section--soft h2,.section--soft h3,
.section--soft p,.section--soft a {
    color: #fff;
}
.gm-sand .gm-section-title,
.section--soft .section-head {
    border-color: rgba(255,255,255,.35);
}
.gm-sand .gm-category-card p,
.section--soft p {
    opacity: .78;
}


/* Gramado v2.2 — abertura com 3 matérias e barra superior preta */
.gm-topbar{
  background:#050505 !important;
  color:#fff !important;
  border-color:#050505 !important;
}
.gm-topbar a,.gm-topbar span{color:#fff !important}

.gm-feature{padding-top:34px}
.gm-feature-grid{
  grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  gap:22px !important;
}
.gm-feature-image{
  aspect-ratio:1.42/1 !important;
  min-height:0 !important;
}
.gm-feature-copy{padding-top:15px}
.gm-feature-copy h1{
  font-size:clamp(21px,1.8vw,28px) !important;
  line-height:1.08 !important;
  margin:7px 0 9px !important;
}
.gm-feature-copy p{
  font-size:12px !important;
  line-height:1.55 !important;
  max-width:95%;
}

@media(max-width:800px){
  .gm-feature{padding-top:20px}
  .gm-feature-grid{
    grid-template-columns:1fr !important;
    gap:34px !important;
  }
  .gm-feature-image{
    aspect-ratio:1.38/1 !important;
    height:auto !important;
    min-height:0 !important;
  }
  .gm-feature-copy{padding-top:13px}
  .gm-feature-copy h1{
    font-size:25px !important;
    line-height:1.08 !important;
  }
  .gm-feature-copy p{
    font-size:12px !important;
    margin-bottom:0;
  }
}

/* Correção: barra Campinas · SP */
.gm-top{background:#050505 !important;color:#fff !important;border-color:#050505 !important}
.gm-top a,.gm-top div{color:#fff !important}


/* =========================================================
   Gramado v2.3 — header/menu/logo + ritmo editorial
   ========================================================= */

/* barra superior realmente preta */
.gm-top{
  display:block;
  height:30px !important;
  background:#050505 !important;
  color:#fff !important;
  border:0 !important;
}
.gm-top .gm-container{height:30px !important}
.gm-top,.gm-top a,.gm-top div{color:#fff !important}
.gm-top-links{gap:20px}

/* cabeçalho mais compacto */
.gm-brand{
  height:102px !important;
  grid-template-columns:1fr auto 1fr !important;
}
.custom-logo-link{
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  line-height:0 !important;
}
.custom-logo{
  width:auto !important;
  height:auto !important;
  max-width:330px !important;
  max-height:70px !important;
  object-fit:contain !important;
}
.gm-brand-right{min-width:120px}
.gm-search-toggle{line-height:1}

/* menu principal em uma linha; submenus só abrem no hover */
.gm-nav{
  position:relative;
  z-index:100;
  background:#fff;
  border-top:1px solid #ededed !important;
  border-bottom:1px solid #ededed !important;
}
.gm-menu{
  height:48px !important;
  gap:clamp(16px,1.7vw,31px) !important;
  flex-wrap:nowrap !important;
}
.gm-menu > li{
  position:relative;
  height:48px;
  display:flex;
  align-items:center;
}
.gm-menu > li > a{
  white-space:nowrap;
  font-size:10px !important;
  letter-spacing:.12em !important;
}
.gm-menu .sub-menu{
  display:none;
  position:absolute;
  left:50%;
  top:48px;
  transform:translateX(-50%);
  min-width:190px;
  margin:0;
  padding:10px 0;
  list-style:none;
  background:#fff;
  border:1px solid #ededed;
  box-shadow:0 10px 25px rgba(0,0,0,.05);
  z-index:999;
}
.gm-menu > li:hover > .sub-menu,
.gm-menu > li:focus-within > .sub-menu{display:block}
.gm-menu .sub-menu li{display:block;height:auto;border:0}
.gm-menu .sub-menu a{
  display:block;
  padding:9px 15px;
  font-size:9px !important;
  line-height:1.3;
  white-space:nowrap;
}
.gm-menu .sub-menu a:hover{background:#f7f7f7}

/* banner topo mais próximo do menu */
.gm-ad-top{margin-top:28px !important}

/* abertura com 3 matérias: menos área vazia */
.gm-feature{
  padding-top:42px !important;
  padding-bottom:48px !important;
}
.gm-feature-grid{gap:24px !important}
.gm-feature-image{aspect-ratio:1.58/1 !important}
.gm-feature-copy{padding-top:13px !important}
.gm-feature-copy .gm-kicker{margin-bottom:7px}
.gm-feature-copy h1{
  font-size:clamp(20px,1.55vw,26px) !important;
  line-height:1.12 !important;
  margin:0 0 8px !important;
}
.gm-feature-copy p{
  font-size:13px !important;
  line-height:1.45 !important;
  max-width:100% !important;
}

/* notícias: reduzir muito os vazios */
.gm-section{
  padding-top:46px !important;
  padding-bottom:54px !important;
}
.gm-section-title{padding-bottom:28px !important}
.gm-section-title span{font-size:24px !important}
.gm-news-shell{
  gap:34px !important;
  align-items:start !important;
}
.gm-news-grid{
  gap:28px 20px !important;
  align-content:start !important;
}
.gm-card{align-self:start}
.gm-card-image{aspect-ratio:1.60/1 !important}
.gm-card-copy{padding-top:11px !important}
.gm-card-copy .gm-kicker{margin-bottom:6px}
.gm-card-copy h2{
  font-size:18px !important;
  line-height:1.18 !important;
  margin:0 0 7px !important;
}
.gm-card-copy p{
  font-size:12px !important;
  line-height:1.45 !important;
}
.gm-ads-column{
  align-self:start !important;
  padding-left:24px !important;
}
.gm-ad-side{margin-bottom:20px !important}
.gm-ad-middle{margin-bottom:42px !important}

/* editorias também mais enxutas */
.gm-category-section{padding:54px 0 60px !important}
.gm-category-grid{gap:26px !important}
.gm-category-image{aspect-ratio:1.08/1 !important}
.gm-category-card h3{
  margin:13px 0 8px !important;
  font-size:18px !important;
}
.gm-category-card p{
  min-height:0 !important;
  font-size:13px !important;
  line-height:1.45 !important;
}
.gm-category-card .gm-more{margin-top:14px !important}

/* tablet */
@media(max-width:1100px){
  .gm-brand{height:92px !important}
  .custom-logo{max-width:285px !important;max-height:62px !important}
  .gm-menu{gap:14px !important}
  .gm-menu > li > a{font-size:9px !important}
}

/* mobile: logo não corta, menu preto e submenus organizados */
@media(max-width:800px){
  .gm-top{display:none !important}
  .gm-brand{
    height:76px !important;
    grid-template-columns:42px minmax(0,1fr) 42px !important;
  }
  .gm-logo{min-width:0}
  .custom-logo{
    max-width:190px !important;
    max-height:48px !important;
    width:auto !important;
    height:auto !important;
  }
  .gm-nav.is-open{padding-top:78px !important}
  .gm-nav.is-open .gm-menu > li{
    display:block;
    height:auto;
  }
  .gm-nav.is-open .gm-menu > li > a{
    font-size:12px !important;
    padding:14px 0 !important;
  }
  .gm-nav.is-open .gm-menu .sub-menu{
    display:block !important;
    position:static !important;
    transform:none !important;
    min-width:0 !important;
    padding:0 0 8px 14px !important;
    background:transparent !important;
    border:0 !important;
    box-shadow:none !important;
  }
  .gm-nav.is-open .gm-menu .sub-menu a{
    color:rgba(255,255,255,.68) !important;
    font-size:10px !important;
    padding:7px 0 !important;
    background:transparent !important;
  }
  .gm-ad-top{margin-top:12px !important}
  .gm-feature{padding:28px 0 38px !important}
  .gm-feature-grid{gap:28px !important}
  .gm-feature-image{aspect-ratio:1.45/1 !important}
  .gm-feature-copy h1{font-size:22px !important}
  .gm-feature-copy p{font-size:13px !important}
  .gm-section{padding:38px 0 44px !important}
  .gm-news-grid{gap:26px 14px !important}
  .gm-card-image{aspect-ratio:1.45/1 !important}
  .gm-category-section{padding:42px 0 48px !important}
}

@media(max-width:520px){
  .gm-brand{height:72px !important}
  .custom-logo{max-width:175px !important;max-height:45px !important}
  .gm-feature{padding-top:24px !important}
  .gm-feature-grid{gap:30px !important}
  .gm-feature-image{aspect-ratio:1.38/1 !important}
  .gm-news-grid{gap:30px !important}
}


/* =========================================================
   Gramado v2.4 — logo geometricamente centralizado
   ========================================================= */
.gm-brand{
  position:relative !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  height:108px !important;
}
.gm-logo{
  position:absolute !important;
  left:50% !important;
  top:50% !important;
  transform:translate(-50%,-50%) !important;
  width:auto !important;
  max-width:60% !important;
  margin:0 !important;
  padding:0 !important;
  z-index:3;
}
.custom-logo-link{
  display:flex !important;
  justify-content:center !important;
  align-items:center !important;
  margin:0 !important;
}
.custom-logo{
  display:block !important;
  width:auto !important;
  height:auto !important;
  max-width:360px !important;
  max-height:76px !important;
  margin:0 auto !important;
  object-fit:contain !important;
}
.gm-menu-toggle{
  position:absolute !important;
  left:0 !important;
  top:50% !important;
  transform:translateY(-50%) !important;
}
.gm-brand-right{
  position:absolute !important;
  right:0 !important;
  top:50% !important;
  transform:translateY(-50%) !important;
  margin:0 !important;
}

@media(max-width:1100px){
  .gm-brand{height:96px !important}
  .custom-logo{max-width:310px !important;max-height:66px !important}
}

@media(max-width:800px){
  .gm-brand{height:76px !important}
  .gm-logo{max-width:68% !important}
  .custom-logo{max-width:205px !important;max-height:50px !important}
  .gm-menu-toggle{left:2px !important}
  .gm-brand-right{right:2px !important;min-width:0 !important}
}

@media(max-width:420px){
  .gm-logo{max-width:64% !important}
  .custom-logo{max-width:180px !important;max-height:46px !important}
}


/* =========================================================
   Gramado v2.5 — edições brancas, footer preto, mobile menu,
   títulos de páginas e hierarquia editorial
   ========================================================= */

/* ÚLTIMAS EDIÇÕES: branco, leve, editorial */
.gm-editions{
  background:#fff !important;
  color:#111 !important;
  padding:64px 0 68px !important;
  border-top:1px solid #ededed;
  border-bottom:1px solid #ededed;
}
.gm-editions .gm-section-title span,
.gm-editions .gm-section-title-light span{
  color:#111 !important;
}
.gm-editions .gm-section-title{
  padding-bottom:34px !important;
}
.gm-edition-cover{
  background:#f3f3f3 !important;
  box-shadow:0 8px 25px rgba(0,0,0,.06);
}
.gm-edition-grid h3{
  color:#111 !important;
  font-size:13px !important;
  margin:13px 0 7px !important;
}
.gm-editions .gm-read-link{
  color:#111 !important;
}

/* FOOTER: preto, refinado */
.gm-footer{
  background:#080808 !important;
  color:#fff !important;
  border-top:0 !important;
  padding:62px 0 24px !important;
}
.gm-footer-top{
  display:grid;
  grid-template-columns:minmax(280px,1.1fr) minmax(0,1.6fr);
  gap:90px;
  align-items:start;
}
.gm-footer-brand{max-width:430px}
.gm-footer-logo{
  font-family:Georgia,"Times New Roman",serif;
  font-size:42px !important;
  line-height:.95;
  letter-spacing:.025em !important;
}
.gm-footer-city{
  margin-top:8px;
  font-size:9px;
  letter-spacing:.48em;
  padding-left:4px;
}
.gm-footer p{
  color:rgba(255,255,255,.58) !important;
  font-size:13px !important;
  line-height:1.7 !important;
  margin-top:28px;
  max-width:380px !important;
}
.gm-footer-links{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:36px;
}
.gm-footer h4{
  color:#fff;
  font-size:9px !important;
  letter-spacing:.2em !important;
  margin:4px 0 20px !important;
}
.gm-footer ul{margin:0!important;padding:0!important}
.gm-footer li{
  color:rgba(255,255,255,.66);
  margin:11px 0 !important;
  font-size:12px !important;
}
.gm-footer a{transition:opacity .2s ease}
.gm-footer a:hover{opacity:.6}
.gm-footer-bottom{
  border-top:1px solid rgba(255,255,255,.14) !important;
  color:rgba(255,255,255,.42) !important;
  margin-top:58px !important;
  padding-top:20px !important;
}

/* PÁGINAS: títulos com presença */
.gm-page{padding:0 0 86px !important}
.gm-page-hero,
.gm-archive-hero{
  background:#f7f7f7;
  border-bottom:1px solid #e7e7e7;
  padding:58px 0 54px;
  margin-bottom:58px;
}
.gm-page-eyebrow{
  display:block;
  font-size:9px;
  letter-spacing:.18em;
  text-transform:uppercase;
  color:#777;
  margin-bottom:15px;
}
.gm-page-hero h1,
.gm-archive-hero h1{
  margin:0;
  max-width:1050px;
  font-size:clamp(42px,5vw,72px);
  line-height:.98;
  font-weight:300;
  letter-spacing:-.035em;
}
.gm-page-hero p,
.gm-archive-description{
  max-width:760px;
  margin:22px 0 0;
  font-size:15px;
  line-height:1.6;
  color:#666;
}
.gm-page-entry{
  max-width:960px !important;
  margin:0 auto !important;
}
.gm-archive{
  padding:0 0 88px !important;
}
.gm-archive-grid{
  gap:34px 24px !important;
}
.gm-archive .gm-card-copy h2{
  font-size:20px !important;
  line-height:1.18 !important;
}

/* MATÉRIA: título mais editorial */
.gm-single-head-premium{
  max-width:1180px !important;
  margin:0 auto 38px !important;
  padding-top:58px !important;
  text-align:left !important;
}
.gm-single-head-premium .gm-kicker{
  margin-bottom:14px !important;
  font-size:10px !important;
  letter-spacing:.12em !important;
}
.gm-single-head-premium h1{
  max-width:1080px !important;
  margin:0 !important;
  font-size:clamp(42px,5vw,70px) !important;
  line-height:1.01 !important;
  letter-spacing:-.035em !important;
  font-weight:300 !important;
}
.gm-single-head-premium .gm-meta{
  margin-top:20px !important;
  padding-top:16px;
  border-top:1px solid #e5e5e5;
  max-width:680px;
}

/* MOBILE NAV desktop helpers */
.gm-mobile-nav-head,
.gm-mobile-nav-foot,
.gm-submenu-toggle{
  display:none;
}

/* MOBILE: menu reconstruído */
@media(max-width:800px){
  body.gm-menu-open{overflow:hidden !important}

  .gm-nav{
    display:block !important;
    visibility:hidden;
    opacity:0;
    pointer-events:none;
    position:fixed !important;
    inset:0 !important;
    width:100% !important;
    height:100dvh !important;
    z-index:99999 !important;
    background:#080808 !important;
    color:#fff !important;
    border:0 !important;
    padding:0 !important;
    overflow-y:auto !important;
    transform:translateY(-8px);
    transition:opacity .2s ease,transform .2s ease,visibility .2s;
  }
  .gm-nav.is-open{
    visibility:visible;
    opacity:1;
    pointer-events:auto;
    transform:none;
  }
  .gm-nav.is-open:before,
  .gm-nav.is-open:after{display:none !important}

  .gm-mobile-nav-head{
    display:flex !important;
    height:72px;
    padding:0 18px;
    align-items:center;
    justify-content:space-between;
    border-bottom:1px solid rgba(255,255,255,.14);
    position:sticky;
    top:0;
    background:#080808;
    z-index:3;
  }
  .gm-mobile-nav-head span{
    font-size:9px;
    letter-spacing:.2em;
  }
  .gm-menu-close{
    display:flex;
    align-items:center;
    justify-content:center;
    width:42px;
    height:42px;
    margin-right:-8px;
    border:0;
    background:none;
    color:#fff;
    font:200 32px/1 Arial,sans-serif;
    cursor:pointer;
  }

  .gm-nav > .gm-container{
    width:100% !important;
    padding:16px 18px 20px !important;
  }
  .gm-nav .gm-menu{
    display:block !important;
    width:100%;
    height:auto !important;
    padding:0 !important;
    margin:0 !important;
  }
  .gm-nav .gm-menu > li{
    position:relative !important;
    display:block !important;
    height:auto !important;
    border-bottom:1px solid rgba(255,255,255,.13) !important;
  }
  .gm-nav .gm-menu > li > a{
    display:block !important;
    padding:16px 42px 16px 0 !important;
    color:#fff !important;
    font-size:14px !important;
    line-height:1.2 !important;
    letter-spacing:.055em !important;
  }
  .gm-submenu-toggle{
    display:flex !important;
    align-items:center;
    justify-content:center;
    position:absolute;
    top:5px;
    right:0;
    width:38px;
    height:42px;
    border:0;
    background:transparent;
    color:#fff;
    font:300 22px/1 Arial,sans-serif;
    z-index:2;
  }
  .gm-nav .gm-menu .sub-menu{
    display:none !important;
    position:static !important;
    transform:none !important;
    width:100% !important;
    min-width:0 !important;
    padding:0 0 11px 14px !important;
    margin:0 !important;
    border:0 !important;
    background:transparent !important;
    box-shadow:none !important;
  }
  .gm-nav .gm-menu li.is-sub-open > .sub-menu{
    display:block !important;
  }
  .gm-nav .gm-menu .sub-menu li{
    border:0 !important;
    height:auto !important;
  }
  .gm-nav .gm-menu .sub-menu a{
    display:block !important;
    padding:8px 0 !important;
    color:rgba(255,255,255,.58) !important;
    font-size:11px !important;
    letter-spacing:.08em !important;
    line-height:1.25;
  }

  .gm-mobile-nav-foot{
    display:flex !important;
    gap:22px;
    padding:18px;
    margin-top:8px;
    border-top:1px solid rgba(255,255,255,.14);
  }
  .gm-mobile-nav-foot a{
    color:#fff !important;
    font-size:9px !important;
    text-transform:uppercase;
    letter-spacing:.14em;
  }

  .gm-menu-toggle{
    z-index:10 !important;
    cursor:pointer !important;
  }

  .gm-editions{padding:46px 0 52px !important}
  .gm-footer{padding-top:46px !important}
  .gm-footer-top{grid-template-columns:1fr !important;gap:38px !important}
  .gm-footer-links{grid-template-columns:repeat(3,1fr);gap:18px}
  .gm-footer-logo{font-size:35px !important}
  .gm-footer-bottom{margin-top:38px !important}

  .gm-page-hero,.gm-archive-hero{
    padding:38px 0 36px !important;
    margin-bottom:38px !important;
  }
  .gm-page-hero h1,.gm-archive-hero h1{
    font-size:clamp(38px,11vw,54px) !important;
  }
  .gm-single-head-premium{
    padding-top:38px !important;
    margin-bottom:28px !important;
  }
  .gm-single-head-premium h1{
    font-size:clamp(36px,10vw,50px) !important;
  }
}

@media(max-width:520px){
  .gm-footer-links{
    grid-template-columns:1fr 1fr !important;
    gap:28px 22px !important;
  }
  .gm-edition-grid{
    grid-template-columns:repeat(2,1fr) !important;
  }
}


/* =========================================================
   Gramado v2.6 — largura geral alinhada ao banner publicitário
   ========================================================= */

/* Uma única medida para todo o site */
:root{
  --max:1600px !important;
}

/* evita qualquer conteúdo escapar horizontalmente */
html,body{
  width:100%;
  max-width:100%;
  overflow-x:hidden;
}
.gm-container{
  width:min(calc(100% - 64px),var(--max)) !important;
  max-width:var(--max) !important;
  margin-left:auto !important;
  margin-right:auto !important;
}

/* banner topo define visualmente a régua do site */
.gm-ad-top{
  width:min(calc(100% - 64px),var(--max)) !important;
  max-width:var(--max) !important;
  margin-left:auto !important;
  margin-right:auto !important;
  overflow:hidden !important;
}
.gm-ad-top a,
.gm-ad-top picture,
.gm-ad-top img{
  display:block !important;
  width:100% !important;
  max-width:100% !important;
}
.gm-ad-top img{
  height:auto !important;
  object-fit:contain !important;
}

/* todas as áreas editoriais respeitam exatamente a mesma régua */
.gm-feature,
.gm-section,
.gm-page-entry,
.gm-single-head-premium,
.gm-single-image,
.gm-footer-top,
.gm-footer-bottom{
  max-width:var(--max) !important;
}

/* grids nunca podem alargar o container */
.gm-feature-grid,
.gm-news-shell,
.gm-news-grid,
.gm-category-grid,
.gm-edition-grid,
.gm-archive-grid{
  min-width:0 !important;
  width:100% !important;
}
.gm-feature-card,
.gm-card,
.gm-category-card,
.gm-edition-grid > *,
.gm-news-shell > *,
.gm-news-grid > *,
.gm-feature-grid > *{
  min-width:0 !important;
}

/* imagens sempre contidas */
.gm-feature-image,
.gm-card-image,
.gm-category-image,
.gm-edition-cover,
.gm-ad,
.gm-ad img{
  max-width:100% !important;
}

/* mantém os 3 destaques dentro da mesma largura do banner */
.gm-feature-grid{
  grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  gap:24px !important;
}

/* publicidade horizontal do meio segue a mesma régua */
.gm-ad-middle{
  width:min(calc(100% - 64px),var(--max)) !important;
  max-width:var(--max) !important;
  margin-left:auto !important;
  margin-right:auto !important;
}

/* telas intermediárias */
@media(max-width:1100px){
  .gm-container,
  .gm-ad-top,
  .gm-ad-middle{
    width:calc(100% - 40px) !important;
  }
}

/* mobile */
@media(max-width:800px){
  .gm-container,
  .gm-ad-top,
  .gm-ad-middle{
    width:calc(100% - 28px) !important;
  }
  .gm-feature-grid{
    grid-template-columns:1fr !important;
  }
}


/* =========================================================
   Gramado v2.7 — banner full-régua, submenus pretos,
   mobile fechado por padrão e logo real no footer
   ========================================================= */

/* BANNER PRINCIPAL: mesma régua EXATA do conteúdo */
.gm-ad-top.gm-container{
  width:min(calc(100% - 64px),var(--max)) !important;
  max-width:var(--max) !important;
  padding-left:0 !important;
  padding-right:0 !important;
}
.gm-ad-top,
.gm-ad-top > a,
.gm-ad-top > picture,
.gm-ad-top img{
  width:100% !important;
  max-width:none !important;
}
.gm-ad-top > a{
  display:block !important;
}
.gm-ad-top img{
  display:block !important;
  height:auto !important;
  min-width:100% !important;
  object-fit:cover !important;
}

/* se o slot vier dentro de um wrapper, ele também ocupa 100% */
.gm-ad-top .gm-ad,
.gm-ad-top .gm-ad-inner,
.gm-ad-top figure{
  width:100% !important;
  max-width:none !important;
  margin:0 !important;
}

/* DESKTOP: submenus pretos e elegantes */
@media(min-width:801px){
  .gm-menu .sub-menu{
    background:#080808 !important;
    border-color:#080808 !important;
    box-shadow:0 12px 30px rgba(0,0,0,.14) !important;
  }
  .gm-menu .sub-menu li,
  .gm-menu .sub-menu a{
    background:#080808 !important;
  }
  .gm-menu .sub-menu a{
    color:#fff !important;
  }
  .gm-menu .sub-menu a:hover{
    background:#171717 !important;
    color:#fff !important;
  }
}

/* MOBILE: força todos os submenus FECHADOS inicialmente.
   Corrige regra antiga que deixava display:block no menu aberto. */
@media(max-width:800px){
  .gm-nav.is-open .gm-menu li.menu-item-has-children > .sub-menu,
  .gm-nav.is-open .gm-menu > li.menu-item-has-children > .sub-menu{
    display:none !important;
  }
  .gm-nav.is-open .gm-menu li.menu-item-has-children.is-sub-open > .sub-menu,
  .gm-nav.is-open .gm-menu > li.menu-item-has-children.is-sub-open > .sub-menu{
    display:block !important;
  }

  .gm-submenu-toggle{
    cursor:pointer !important;
    touch-action:manipulation;
  }

  .gm-ad-top.gm-container{
    width:calc(100% - 28px) !important;
  }
}

/* FOOTER: usa o mesmo logo cadastrado no WordPress, convertido para branco */
.gm-footer-logo-img{
  display:inline-flex !important;
  align-items:center;
  justify-content:flex-start;
  line-height:0;
  max-width:320px;
}
.gm-footer-custom-logo{
  display:block !important;
  width:auto !important;
  height:auto !important;
  max-width:300px !important;
  max-height:82px !important;
  object-fit:contain !important;
  filter:brightness(0) invert(1);
}
.gm-footer-logo-fallback{
  color:#fff;
  font-family:Georgia,"Times New Roman",serif;
  font-size:40px;
  line-height:.95;
  letter-spacing:.02em;
}
.gm-footer-logo-fallback small{
  display:block;
  margin-top:8px;
  font-family:Arial,sans-serif;
  font-size:9px;
  font-weight:400;
  letter-spacing:.45em;
}
@media(max-width:800px){
  .gm-footer-custom-logo{
    max-width:235px !important;
    max-height:66px !important;
  }
}


/* =========================================================
   Gramado v2.9 — títulos de arquivo limpos + paginação premium
   ========================================================= */

.gm-archive-hero h1{
  text-transform:none !important;
}

/* Paginação editorial */
.gm-pagination{
  margin:60px 0 10px !important;
  padding-top:28px !important;
  border-top:1px solid #e6e6e6;
}
.gm-pagination .navigation{
  margin:0 !important;
}
.gm-pagination .nav-links{
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:6px !important;
  flex-wrap:wrap !important;
}
.gm-pagination .page-numbers{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  min-width:38px !important;
  height:38px !important;
  padding:0 11px !important;
  margin:0 !important;
  border:1px solid #dedede !important;
  background:#fff !important;
  color:#111 !important;
  font-size:11px !important;
  line-height:1 !important;
  letter-spacing:.04em !important;
  text-decoration:none !important;
  transition:.2s ease;
}
.gm-pagination .page-numbers:hover,
.gm-pagination .page-numbers.current{
  background:#111 !important;
  border-color:#111 !important;
  color:#fff !important;
}
.gm-pagination .dots{
  border-color:transparent !important;
  background:transparent !important;
  min-width:24px !important;
}
.gm-pagination .prev,
.gm-pagination .next{
  width:auto !important;
  padding:0 16px !important;
  text-transform:uppercase;
  letter-spacing:.1em !important;
  font-size:9px !important;
}
.gm-pagination .screen-reader-text{
  position:absolute !important;
  width:1px !important;
  height:1px !important;
  padding:0 !important;
  margin:-1px !important;
  overflow:hidden !important;
  clip:rect(0,0,0,0) !important;
  white-space:nowrap !important;
  border:0 !important;
}

@media(max-width:800px){
  .gm-pagination{
    margin-top:42px !important;
    padding-top:22px !important;
  }
  .gm-pagination .page-numbers{
    min-width:34px !important;
    height:34px !important;
    padding:0 9px !important;
  }
  .gm-pagination .prev,
  .gm-pagination .next{
    width:100% !important;
    max-width:160px;
  }
}


/* =========================================================
   Gramado v3.0 — header/menu fixos + Instagram no mobile
   ========================================================= */

/* Cabeçalho inteiro fixo no desktop */
.gm-header{
  position:sticky !important;
  top:0 !important;
  z-index:9998 !important;
  background:#fff !important;
  width:100% !important;
  box-shadow:0 1px 0 rgba(0,0,0,.08);
}

/* Garante que o menu acompanhe o header e não role sozinho */
.gm-nav{
  position:relative !important;
  top:auto !important;
  z-index:9999 !important;
}

/* A busca abre abaixo do header fixo */
.gm-search{
  position:absolute !important;
  left:0 !important;
  right:0 !important;
  top:100% !important;
  z-index:9997 !important;
  background:#fff !important;
  box-shadow:0 10px 25px rgba(0,0,0,.08);
}

/* Mobile: manter a barra de marca fixa e o painel do menu por cima */
@media(max-width:800px){
  .gm-header{
    position:sticky !important;
    top:0 !important;
    z-index:99990 !important;
  }

  .gm-brand{
    position:relative !important;
    z-index:99992 !important;
    background:#fff !important;
    border-bottom:1px solid #ededed;
  }

  .gm-nav{
    position:fixed !important;
    inset:0 !important;
    z-index:99999 !important;
  }

  .gm-mobile-nav-foot{
    display:flex !important;
    flex-wrap:wrap !important;
    gap:14px 22px !important;
  }

  .gm-mobile-nav-foot a{
    display:inline-flex !important;
    align-items:center !important;
  }

  .gm-mobile-nav-foot a:first-child{
    font-weight:500 !important;
  }
}


/* =========================================================
   Gramado v3.1 — FIX REAL do header/menu
   position:fixed em vez de sticky
   ========================================================= */

/* Reserva o espaço do cabeçalho fixo */
body{
  padding-top:180px !important;
}

/* Header inteiro preso na viewport */
.gm-header{
  position:fixed !important;
  top:0 !important;
  left:0 !important;
  right:0 !important;
  width:100% !important;
  z-index:99990 !important;
  background:#fff !important;
  transform:none !important;
  margin:0 !important;
}

/* Barra preta + logo + navegação fazem parte do bloco fixo */
.gm-top,
.gm-brand,
.gm-nav{
  position:relative !important;
  top:auto !important;
  left:auto !important;
  right:auto !important;
}

/* Evita temas/plugins alterarem o posicionamento */
.gm-header,
.gm-header *{
  backface-visibility:hidden;
}

/* WordPress admin bar */
body.admin-bar .gm-header{
  top:32px !important;
}

/* O banner começa abaixo do header, sem espaço duplicado */
.gm-ad-top{
  margin-top:28px !important;
}

/* mobile */
@media(max-width:800px){
  body{
    padding-top:76px !important;
  }

  .gm-header{
    position:fixed !important;
    top:0 !important;
    left:0 !important;
    right:0 !important;
    z-index:99990 !important;
  }

  body.admin-bar .gm-header{
    top:46px !important;
  }

  .gm-brand{
    height:76px !important;
  }

  /* painel aberto continua fixo em tela cheia */
  .gm-nav{
    position:fixed !important;
    inset:0 !important;
    height:100dvh !important;
    z-index:99999 !important;
  }

  .gm-nav:not(.is-open){
    visibility:hidden !important;
    opacity:0 !important;
    pointer-events:none !important;
  }

  .gm-nav.is-open{
    visibility:visible !important;
    opacity:1 !important;
    pointer-events:auto !important;
  }
}

@media(max-width:782px){
  body.admin-bar .gm-header{
    top:46px !important;
  }
}


/* =========================================================
   Gramado v3.2 — largura editorial mais refinada
   ========================================================= */

/* Desktop: reduz a largura geral e cria respiro lateral.
   Mantém header/fundos full-width; conteúdo interno fica contido. */
@media(min-width:1201px){
  :root{
    --max:1480px;
  }

  .gm-container,
  .gm-header .gm-brand-inner,
  .gm-header .gm-nav-inner,
  .gm-footer-inner{
    width:min(calc(100% - 100px),var(--max)) !important;
    margin-left:auto !important;
    margin-right:auto !important;
  }

  /* banner segue exatamente a mesma régua do conteúdo */
  .gm-ad-top.gm-container{
    width:min(calc(100% - 100px),var(--max)) !important;
    max-width:var(--max) !important;
  }
}

/* telas intermediárias: margem confortável sem apertar demais */
@media(min-width:801px) and (max-width:1200px){
  .gm-container,
  .gm-header .gm-brand-inner,
  .gm-header .gm-nav-inner,
  .gm-footer-inner,
  .gm-ad-top.gm-container{
    width:calc(100% - 64px) !important;
    margin-left:auto !important;
    margin-right:auto !important;
  }
}

/* mobile continua aproveitando bem a tela */
@media(max-width:800px){
  .gm-container,
  .gm-ad-top.gm-container{
    width:calc(100% - 28px) !important;
    margin-left:auto !important;
    margin-right:auto !important;
  }
}
