/**
 * Guia de Guarapari — Product Final Contract 16.14.1
 * ÚLTIMA CAMADA DE PRODUTO.
 *
 * Responsabilidade:
 * - uma única régua horizontal;
 * - breadcrumb homogêneo;
 * - peso tipográfico coerente;
 * - imagens previsíveis;
 * - estados e controles consistentes;
 * - correções de integração por página.
 *
 * Não cria novos componentes. Apenas fecha contratos dos componentes existentes.
 */

:root{
  --gg-container:1200px;
  --gg-gutter:24px;
  --gg-ink:#0f1d33;
  --gg-text:#344054;
  --gg-muted:#667085;
  --gg-line:#e3e8ef;
  --gg-surface:#fff;
  --gg-surface-soft:#f7f9fc;
  --gg-primary:#1559c7;
  --gg-primary-dark:#0e469f;
  --gg-r-xs:4px;
  --gg-r-sm:4px;
  --gg-r-md:6px;
  --gg-r-lg:8px;
  --gg-shadow-sm:0 1px 2px rgba(15,29,51,.05);
}

[hidden]{display:none!important}

/* =========================================================
   01. RÉGUA DO PRODUTO
   ========================================================= */
:is(
  .guia-container,.gg-shell,.guia-praias-shell,.guia-onibus__container,
  .gevento-container,.gevento-hero__container,.gc-profissional__container,
  .guia-comercial__container,.gc-empregos__container,.guia-search-container,
  .blog-container,.guia-single-post__container,.guia-category__container,
  .guia-market-page-shell,.guia-market-breadcrumb__inner,.guia-single-market,
  .sp-wrap,.sp-layout,.gsv__container,.guia-cadastro-curriculo__container
){
  box-sizing:border-box;
  width:min(var(--gg-container),calc(100% - (var(--gg-gutter)*2)));
  max-width:var(--gg-container);
  margin-inline:auto;
}

/* =========================================================
   02. BREADCRUMB — UM CONTRATO PARA TODO O SITE
   ========================================================= */
:is(
  .guia-breadcrumb,.guia-market-breadcrumb,.gc-breadcrumb,
  .gevento-breadcrumb,.sp-breadcrumb,.guia-single-breadcrumb,
  .breadcrumb,.gg-crumbs,.guia-cadastro-curriculo__breadcrumb
){
  box-sizing:border-box;
  font-family:var(--gg-font-sans)!important;
  font-size:12px!important;
  line-height:1.4!important;
  color:var(--gg-muted)!important;
}

:is(.guia-breadcrumb,.breadcrumb,.gg-crumbs){
  margin:0!important;
  padding:0!important;
}

:is(.guia-breadcrumb,.breadcrumb,.gg-crumbs) ol,
:is(.guia-breadcrumb,.breadcrumb,.gg-crumbs) ul{
  margin:0!important;
  padding:0!important;
  list-style:none!important;
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:0;
  min-height:40px;
}

:is(.guia-breadcrumb,.breadcrumb,.gg-crumbs) li{
  display:inline-flex;
  align-items:center;
  min-width:0;
}

:is(.guia-breadcrumb,.breadcrumb,.gg-crumbs) li+li::before{
  content:"/";
  margin:0 9px;
  color:#c8ced6;
}

:is(.guia-breadcrumb,.breadcrumb,.gg-crumbs) a{
  color:var(--gg-muted)!important;
  text-decoration:none!important;
  font-size:12px!important;
  font-weight:400!important;
}
:is(.guia-breadcrumb,.breadcrumb,.gg-crumbs) a:hover{color:var(--gg-ink)!important}
:is(.guia-breadcrumb,.breadcrumb,.gg-crumbs) [aria-current="page"],
:is(.guia-breadcrumb,.breadcrumb,.gg-crumbs) .is-current,
:is(.guia-breadcrumb,.breadcrumb,.gg-crumbs) .guia-breadcrumb-current{
  color:var(--gg-ink)!important;
  font-weight:600!important;
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}

:is(.guia-market-breadcrumb,.guia-single-breadcrumb,.sp-breadcrumb,.gevento-breadcrumb,.gc-breadcrumb){
  min-height:40px;
}
:is(.guia-market-breadcrumb,.guia-single-breadcrumb,.sp-breadcrumb,.gc-breadcrumb) a{
  color:var(--gg-muted)!important;
  text-decoration:none!important;
}

/* =========================================================
   03. SUPERFÍCIES / IMAGENS
   ========================================================= */
:is(
 .guia-praias-card,.guia-event-card,.empresa-card,.vaga-card,
 .profissional-card,.blog-card,.featured-card,.gg-company-card,
 .guia-card,.oferta-card,.gg-class-card,.guia-search-card,
 .guia-popular-card,.guia-related-card,.sp-related-card
){border-radius:6px!important}

:is(.guia-praias-card__media,.guia-card-media,.guia-event-media,.empresa-card__image,
 .gg-company-media,.oferta-card__media,.gg-class-card__media,.guia-search-card-media,
 .sp-photo-stage,.sp-related-card__media){overflow:hidden}

:is(.guia-praias-card__media,.guia-card-media,.guia-event-media,.empresa-card__image,
 .gg-company-media,.oferta-card__media,.gg-class-card__media,.guia-search-card-media,
 .sp-photo-stage,.sp-related-card__media) img{
  display:block!important;
  width:100%!important;
  height:100%!important;
  max-width:none!important;
  object-fit:cover!important;
}

/* =========================================================
   06. ONDE FICAR / ONDE COMER
   ========================================================= */
body.page-template-page-onde-ficar-em-guarapari .guia-card-media,
body.page-template-page-onde-comer-em-guarapari .guia-card-media{
  overflow:hidden!important;
  border-radius:6px 6px 0 0!important;
}
body.page-template-page-onde-ficar-em-guarapari .guia-card-media img,
body.page-template-page-onde-comer-em-guarapari .guia-card-media img{
  width:100%!important;height:100%!important;max-width:none!important;object-fit:cover!important;display:block!important;
}

/* =========================================================
   07. ÔNIBUS — PÁGINA + SINGLES LEGADOS
   ========================================================= */
body.guia-onibus-page .guia-onibus,
body.guia-onibus-single-page .page-content{
  font-family:var(--gg-font-sans);
}
body.guia-onibus-page .guia-onibus__container{
  width:min(var(--gg-container),calc(100% - (var(--gg-gutter)*2)))!important;
  max-width:var(--gg-container)!important;
  padding:0 0 56px!important;
}
body.guia-onibus-page .guia-onibus .breadcrumb{
  margin:0 0 26px!important;
  padding:0!important;
  background:transparent!important;
  border:0!important;
}
body.guia-onibus-page .guia-onibus .breadcrumb__list{
  min-height:40px!important;
  display:flex!important;
  align-items:center!important;
  margin:0!important;padding:0!important;
}
body.guia-onibus-page .guia-onibus .breadcrumb__item{font-size:12px!important}
body.guia-onibus-page .guia-onibus .breadcrumb__item:not(:last-child)::after{color:#c8ced6!important;margin:0 9px!important}
body.guia-onibus-page .guia-onibus .breadcrumb__link{color:var(--gg-muted)!important;text-decoration:none!important}
body.guia-onibus-page .guia-onibus .breadcrumb__item--active{color:var(--gg-ink)!important;font-weight:600!important}
body.guia-onibus-page .empresa-card{
  border-radius:6px!important;
  overflow:hidden!important;
  border:1px solid var(--gg-line)!important;
  box-shadow:var(--gg-shadow-sm)!important;
}
body.guia-onibus-page .empresa-card__image{aspect-ratio:16/9!important;overflow:hidden!important}
body.guia-onibus-page .empresa-card__image img{width:100%!important;height:100%!important;object-fit:cover!important;display:block!important}

body.guia-onibus-single-page .guia-breadcrumb{
  width:min(var(--gg-container),calc(100% - (var(--gg-gutter)*2)))!important;
  max-width:var(--gg-container)!important;
  margin:0 auto!important;
  min-height:40px!important;
}
body.guia-onibus-single-page .page-content{
  width:min(var(--gg-container),calc(100% - (var(--gg-gutter)*2)))!important;
  max-width:var(--gg-container)!important;
  margin-inline:auto!important;
}
body.guia-onibus-single-page .page-title{
  max-width:1000px!important;
  margin:18px 0 28px!important;
  color:var(--gg-ink)!important;
  font-size:clamp(2.25rem,4.2vw,3.4rem)!important;
  line-height:1.04!important;
  font-weight:760!important;
  letter-spacing:-.045em!important;
}
body.guia-onibus-single-page .page-featured-image{
  max-width:760px!important;
  margin:0 0 32px!important;
  overflow:hidden!important;
  border-radius:6px!important;
}
body.guia-onibus-single-page .page-featured-image img{
  display:block!important;width:100%!important;height:auto!important;object-fit:cover!important;
}

/* =========================================================
   08. SINGLE EVENTO — BASE ROBUSTA + ALTURA CONTROLADA
   ========================================================= */
body.guia-single-evento-page .gevento{
  box-sizing:border-box;
  width:100%;
  font-family:var(--gg-font-sans)!important;
  color:var(--gg-text);
}
body.guia-single-evento-page .gevento *{box-sizing:border-box}
body.guia-single-evento-page .gevento-container,
body.guia-single-evento-page .gevento-hero__container{
  width:min(var(--gg-container),calc(100% - (var(--gg-gutter)*2)))!important;
  max-width:var(--gg-container)!important;
  margin-inline:auto!important;
  padding-inline:0!important;
}
body.guia-single-evento-page .gevento-hero{
  width:100vw!important;
  margin-left:calc(50% - 50vw)!important;
  height:clamp(390px,34vw,500px)!important;
  min-height:390px!important;
  max-height:500px!important;
}
body.guia-single-evento-page .gevento-hero__title{
  font-size:clamp(2rem,4.2vw,3.6rem)!important;
  line-height:1.04!important;
  letter-spacing:-.04em!important;
  font-weight:760!important;
}
body.guia-single-evento-page .gevento-layout{gap:40px!important}
body.guia-single-evento-page .gevento-breadcrumb{font-size:12px!important}
@media(max-width:720px){
  body.guia-single-evento-page .gevento-hero{
    height:clamp(360px,105vw,450px)!important;
    min-height:360px!important;
    max-height:450px!important;
  }
  body.guia-single-evento-page .gevento-hero__container{width:calc(100% - 32px)!important}
  body.guia-single-evento-page .gevento-layout{gap:28px!important}
}
@media(max-width:480px){body.guia-single-evento-page .gevento-hero__container{width:calc(100% - 24px)!important}}

/* =========================================================
   09. MARKETPLACE SINGLE — OFERTA + CLASSIFICADO
   ========================================================= */
body.guia-market-single-page .guia-single-market{
  width:min(var(--gg-container),calc(100% - (var(--gg-gutter)*2)))!important;
  max-width:var(--gg-container)!important;
  margin-inline:auto!important;
  padding:0 0 64px!important;
  color:var(--gg-text);
}
body.guia-market-single-page .guia-single-breadcrumb{
  min-height:40px!important;
  margin:0 0 28px!important;
  display:flex!important;
  align-items:center!important;
  gap:0!important;
}
body.guia-market-single-page .guia-single-hero{
  display:grid!important;
  grid-template-columns:minmax(0,1.55fr) minmax(360px,.9fr)!important;
  gap:32px!important;
  align-items:start!important;
}
body.guia-market-single-page .guia-single-cover-wrap{
  aspect-ratio:4/3!important;
  width:100%!important;
  overflow:hidden!important;
  border:1px solid var(--gg-line)!important;
  border-radius:6px!important;
  background:var(--gg-surface-soft)!important;
}
body.guia-market-single-page .guia-single-cover-wrap img{
  width:100%!important;height:100%!important;max-width:none!important;object-fit:contain!important;display:block!important;
}
body.guia-market-single-page .guia-single-card{
  position:sticky;
  top:92px;
  padding:28px!important;
  border:1px solid var(--gg-line)!important;
  border-radius:6px!important;
  background:#fff!important;
  box-shadow:var(--gg-shadow-sm)!important;
}
body.guia-market-single-page .guia-single-card h1{
  margin:0!important;
  color:var(--gg-ink)!important;
  font-size:clamp(2rem,3vw,2.8rem)!important;
  line-height:1.04!important;
  letter-spacing:-.04em!important;
  font-weight:760!important;
}
body.guia-market-single-page .guia-single-type{
  margin:0 0 10px!important;
  font-size:11px!important;
  letter-spacing:.14em!important;
  font-weight:800!important;
  color:var(--gg-muted)!important;
}
body.guia-market-single-page .guia-single-price{font-size:1.55rem!important;font-weight:800!important}
body.guia-market-single-page .guia-single-contact{
  min-height:46px!important;
  border-radius:4px!important;
  background:var(--gg-ink)!important;
  border-color:var(--gg-ink)!important;
}
body.guia-market-single-page .guia-single-content,
body.guia-market-single-page .guia-related-market{
  border-radius:6px!important;
}
@media(max-width:980px){
 body.guia-market-single-page .guia-single-hero{grid-template-columns:1fr!important}
 body.guia-market-single-page .guia-single-card{position:static}
}
@media(max-width:720px){
 body.guia-market-single-page .guia-single-market{width:calc(100% - 32px)!important;padding-bottom:48px!important}
 body.guia-market-single-page .guia-single-hero{gap:18px!important}
 body.guia-market-single-page .guia-single-card{padding:22px!important}
}
@media(max-width:480px){body.guia-market-single-page .guia-single-market{width:calc(100% - 24px)!important}}

/* =========================================================
   10. OFERTAS / CLASSIFICADOS — PUBLICAR NÃO PODE DOMINAR A TELA
   ========================================================= */
body:is(.guia-page-ofertas,.guia-page-classificados) .guia-market-publish,
body:is(.guia-page-ofertas,.guia-page-classificados) .ofertas-publish,
body:is(.guia-page-ofertas,.guia-page-classificados) .gg-class-publish{
  min-height:36px!important;
  padding:0 13px!important;
  border:1px solid var(--gg-line)!important;
  border-radius:4px!important;
  background:#fff!important;
  color:var(--gg-ink)!important;
  box-shadow:none!important;
  font-size:12px!important;
  font-weight:700!important;
}

/* =========================================================
   11. CURRÍCULO
   ========================================================= */
body.guia-single-curriculo-page .gc-profissional__container{
  width:min(var(--gg-container),calc(100% - (var(--gg-gutter)*2)))!important;
  max-width:var(--gg-container)!important;
}
body.guia-single-curriculo-page .gc-profissional__photo{border-radius:50%!important}
body.guia-single-curriculo-page .gc-profissional__cta,
body.guia-single-curriculo-page .guia-access-gate{border-radius:6px!important}
body.guia-page-cadastrar-curriculo .guia-cadastro-curriculo__container{
  width:min(var(--gg-container),calc(100% - (var(--gg-gutter)*2)))!important;
  max-width:var(--gg-container)!important;
}
body.guia-page-cadastrar-curriculo .guia-cadastro-curriculo__form,
body.guia-page-cadastrar-curriculo .guia-cadastro-curriculo__success{
  border-radius:6px!important;
}

/* =========================================================
   12. MOBILE — UMA ÚNICA REGRA DE GUTTER
   ========================================================= */
@media(max-width:720px){
  :root{--gg-gutter:16px}
  .site-footer .footer-container{width:calc(100% - 32px)!important;margin-inline:16px!important}
}
@media(max-width:390px){
  :root{--gg-gutter:12px}
}


/* =========================================================
   16.14.1 — EMPRESA: mesma régua e mesma superfície do produto
   ========================================================= */
body.empresa-single .empresa-container,
body.guia-single-empresa-page .empresa-container{
  width:min(var(--gg-container),calc(100% - (var(--gg-gutter)*2)))!important;
  max-width:var(--gg-container)!important;
  margin-inline:auto!important;
}

:is(body.empresa-single,body.guia-single-empresa-page) .empresa-breadcrumb{
  width:min(var(--gg-container),calc(100% - (var(--gg-gutter)*2)))!important;
  max-width:var(--gg-container)!important;
  margin-inline:auto!important;
  border-bottom:1px solid var(--gg-line)!important;
}

:is(body.empresa-single,body.guia-single-empresa-page) .empresa-related__card{
  border-radius:var(--gg-r-md)!important;
  border-color:var(--gg-line)!important;
  box-shadow:var(--gg-shadow-sm)!important;
}

:is(body.empresa-single,body.guia-single-empresa-page) .empresa-related__media,
:is(body.empresa-single,body.guia-single-empresa-page) .empresa-related__media img{
  border-radius:var(--gg-r-md) var(--gg-r-md) 0 0!important;
}

@media(max-width:767px){
  body.empresa-single .empresa-container,
  body.guia-single-empresa-page .empresa-container,
  :is(body.empresa-single,body.guia-single-empresa-page) .empresa-breadcrumb{
    width:calc(100% - 32px)!important;
    max-width:none!important;
  }
}
@media(max-width:390px){
  body.empresa-single .empresa-container,
  body.guia-single-empresa-page .empresa-container,
  :is(body.empresa-single,body.guia-single-empresa-page) .empresa-breadcrumb{
    width:calc(100% - 24px)!important;
  }
}

/* 16.14.1 — imagem de cards relacionados: preencher o frame sem distorção */
:is(body.empresa-single,body.guia-single-empresa-page) .empresa-related__media{
  overflow:hidden!important;
}
:is(body.empresa-single,body.guia-single-empresa-page) .empresa-related__media img{
  width:100%!important;
  height:100%!important;
  max-width:none!important;
  object-fit:cover!important;
  display:block!important;
}

/* v16.31.0 — canonical entity geometry */
.guia-entity-shell{width:min(1200px,calc(100% - 48px));margin-inline:auto}
@media (max-width:767px){.guia-entity-shell{width:calc(100% - 32px)}}
@media (max-width:390px){.guia-entity-shell{width:calc(100% - 24px)}}
.guia-surface{border-radius:6px}
.guia-control{border-radius:4px}
