/* Landing QR Guia de Pipa®
   Estética editorial tropical: off-white, azul profundo, verde restinga e dourado.
*/

:root{
  --navy:#0b2d4d;
  --navy-2:#123b5f;
  --green:#176b52;
  --green-soft:#edf4ed;
  --gold:#c69a3a;
  --cream:#f7f4ec;
  --paper:#fffaf2;
  --ink:#183044;
  --muted:#66737c;
  --line:#ded7c9;
  --shadow:0 18px 44px rgba(11,45,77,.16);
  --radius:24px;
}

*{box-sizing:border-box}

html{
  scroll-behavior:smooth;
}

body{
  margin:0;
  color:var(--ink);
  font-family: "Inter", ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  background:
    radial-gradient(circle at 12% 0%, rgba(198,154,58,.14), transparent 26rem),
    radial-gradient(circle at 100% 30%, rgba(23,107,82,.12), transparent 22rem),
    var(--cream);
  line-height:1.45;
}

body::before{
  content:"";
  position:fixed;
  inset:0;
  pointer-events:none;
  opacity:.18;
  background-image:
    linear-gradient(90deg, rgba(11,45,77,.05) 1px, transparent 1px),
    linear-gradient(rgba(11,45,77,.05) 1px, transparent 1px);
  background-size:28px 28px;
}

a{color:inherit;text-decoration:none}

.page{
  width:min(100%, 520px);
  min-height:100svh;
  margin:0 auto;
  padding:14px;
}

.hero{
  position:relative;
  overflow:hidden;
  min-height:560px;
  border-radius:calc(var(--radius) + 4px);
  box-shadow:var(--shadow);
  background:var(--navy);
  isolation:isolate;
}

.hero__image{
  position:absolute;
  inset:0;
  background:
    linear-gradient(180deg, rgba(11,45,77,.05), rgba(11,45,77,.88) 76%),
    url("../images/hero.jpg") center/cover;
  transform:scale(1.01);
  z-index:-2;
}

.hero::after{
  content:"";
  position:absolute;
  right:-110px;
  bottom:-110px;
  width:260px;
  height:260px;
  border:1px solid rgba(255,255,255,.32);
  border-radius:50%;
  box-shadow:0 0 0 18px rgba(255,255,255,.05), 0 0 0 38px rgba(255,255,255,.035);
  z-index:-1;
}

.hero__content{
  min-height:560px;
  display:flex;
  flex-direction:column;
  justify-content:flex-end;
  padding:24px;
  color:white;
}

.brand-row{
  position:absolute;
  top:20px;
  left:20px;
  right:20px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
}

.client-logo{
  width:74px;
  height:74px;
  object-fit:contain;
  padding:8px;
  border-radius:18px;
  background:rgba(255,250,242,.92);
  box-shadow:0 8px 22px rgba(0,0,0,.16);
}

.guide-label{
  display:inline-flex;
  align-items:center;
  min-height:34px;
  padding:8px 12px;
  border:1px solid rgba(255,255,255,.35);
  border-radius:999px;
  backdrop-filter:blur(10px);
  background:rgba(11,45,77,.30);
  font-size:12px;
  font-weight:800;
  letter-spacing:.08em;
  text-transform:uppercase;
}

.eyebrow,
.section-kicker{
  margin:0 0 8px;
  color:var(--gold);
  font-size:12px;
  font-weight:900;
  letter-spacing:.12em;
  text-transform:uppercase;
}

.hero h1{
  margin:0;
  font-family: "Inter", ui-sans-serif, system-ui, sans-serif;
  font-size:clamp(40px, 12vw, 68px);
  line-height:.92;
  letter-spacing:-.045em;
}

.intro{
  max-width:27rem;
  margin:14px 0 22px;
  color:rgba(255,255,255,.88);
  font-size:17px;
}


.hero-distance{
  align-self:flex-start;
  display:inline-flex;
  align-items:center;
  gap:9px;
  max-width:100%;
  margin:0 0 16px;
  padding:10px 14px;
  border:1px solid rgba(255,255,255,.30);
  border-radius:999px;
  color:#fffaf2;
  background:rgba(11,45,77,.42);
  backdrop-filter:blur(12px);
  box-shadow:0 10px 24px rgba(0,0,0,.18);
  cursor:pointer;
  font:inherit;
}
.hero-distance span{
  width:28px;
  height:28px;
  display:grid;
  place-items:center;
  border-radius:50%;
  background:linear-gradient(135deg, #4285f4, #34a853 48%, #fbbc05 72%, #ea4335);
}
.hero-distance strong{
  font-size:13px;
  font-weight:900;
  letter-spacing:.01em;
}
.hero-distance.is-active{
  border-color:rgba(198,154,58,.62);
  background:rgba(23,107,82,.62);
}



.landing-favorite{
  width:100%;
  min-height:58px;
  display:grid;
  grid-template-columns:auto 1fr;
  grid-template-rows:auto auto;
  align-items:center;
  column-gap:11px;
  margin:0 0 12px;
  padding:12px 15px;
  border:1px solid rgba(255,255,255,.28);
  border-radius:20px;
  color:#fffaf2;
  background:rgba(255,250,242,.12);
  backdrop-filter:blur(12px);
  box-shadow:0 10px 24px rgba(0,0,0,.14);
  text-align:left;
  cursor:pointer;
  font:inherit;
}

.landing-favorite span{
  grid-row:1 / 3;
  width:34px;
  height:34px;
  display:grid;
  place-items:center;
  border-radius:50%;
  color:var(--navy);
  background:var(--gold);
  font-size:20px;
  font-weight:950;
  box-shadow:0 8px 18px rgba(198,154,58,.24);
}

.landing-favorite strong{
  display:block;
  font-size:14px;
  font-weight:950;
  line-height:1.1;
}

.landing-favorite small{
  display:block;
  margin-top:3px;
  color:rgba(255,255,255,.78);
  font-size:11px;
  font-weight:800;
  letter-spacing:.02em;
}

.landing-favorite.is-active{
  border-color:rgba(198,154,58,.72);
  background:rgba(198,154,58,.20);
}

.landing-favorite.is-active span{
  color:#fffaf2;
  background:linear-gradient(135deg, var(--gold), var(--green));
}

.quick-actions{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:10px;
}

.btn{
  min-height:54px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  border-radius:999px;
  font-size:15px;
  font-weight:900;
  letter-spacing:.01em;
}

.btn--primary{
  background:var(--paper);
  color:var(--navy);
}

.btn--whatsapp{
  background:var(--green);
  color:white;
}

.card,
.map-section{
  margin-top:14px;
  border:1px solid var(--line);
  border-radius:var(--radius);
  background:rgba(255,250,242,.88);
  box-shadow:0 10px 28px rgba(11,45,77,.08);
}

.tour-card{
  display:grid;
  grid-template-columns:1.05fr .95fr;
  gap:14px;
  padding:16px;
  align-items:center;
}

h2{
  margin:0 0 8px;
  color:var(--navy);
  font-family: "Inter", ui-sans-serif, system-ui, sans-serif;
  font-size:28px;
  line-height:.98;
  letter-spacing:-.03em;
}

.card p{
  margin:0 0 12px;
  color:var(--muted);
  font-size:14px;
}

.text-link{
  display:inline-flex;
  align-items:center;
  color:var(--green);
  font-size:14px;
  font-weight:900;
}

.text-link::after{
  content:"→";
  margin-left:6px;
}

.tour-preview{
  position:relative;
  display:block;
  aspect-ratio:1/1;
  overflow:hidden;
  border-radius:20px;
  background:var(--navy);
}

.tour-preview img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}

.tour-preview::after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(180deg, transparent 45%, rgba(11,45,77,.72));
}

.tour-preview span{
  position:absolute;
  right:10px;
  bottom:10px;
  z-index:2;
  display:inline-grid;
  place-items:center;
  width:58px;
  height:58px;
  border:1px solid rgba(255,255,255,.56);
  border-radius:50%;
  color:white;
  font-size:19px;
  font-weight:1000;
  background:rgba(11,45,77,.52);
  backdrop-filter:blur(8px);
}

.action-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:10px;
  margin-top:14px;
}

.mini-card{
  min-height:104px;
  display:flex;
  flex-direction:column;
  justify-content:flex-end;
  padding:14px;
  border:1px solid var(--line);
  border-radius:22px;
  background:linear-gradient(180deg, var(--paper), #f0eadf);
  box-shadow:0 10px 24px rgba(11,45,77,.07);
}

.mini-card strong{
  color:var(--navy);
  font-size:16px;
  font-weight:950;
}

.mini-card span{
  margin-top:4px;
  color:var(--muted);
  font-size:12px;
}

.info-card{
  padding:18px;
}

.small-note{
  margin-top:10px!important;
  color:#8a7a64!important;
  font-size:12px!important;
}

.map-section{
  padding:16px;
  overflow:hidden;
}

.map-heading{
  display:flex;
  align-items:end;
  justify-content:space-between;
  gap:12px;
  margin-bottom:12px;
}

.map-heading h2{margin:0}

.map-embed{
  overflow:hidden;
  height:260px;
  border-radius:22px;
  border:1px solid var(--line);
  background:#ddd;
}

.map-embed iframe{
  display:block;
  width:100%;
  height:100%;
  border:0;
  filter:saturate(.9) contrast(.96);
}

.footer{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin:14px 0 4px;
  padding:16px 4px;
  color:var(--navy);
  font-size:12px;
  font-weight:900;
  letter-spacing:.08em;
  text-transform:uppercase;
}

.home-button{
  min-height:42px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  padding:0 16px;
  border-radius:999px;
  color:white;
  background:linear-gradient(135deg, var(--navy), var(--green));
  box-shadow:0 12px 26px rgba(11,45,77,.18);
  letter-spacing:.04em;
}

.home-button span{
  width:24px;
  height:24px;
  display:grid;
  place-items:center;
  border-radius:50%;
  background:rgba(255,255,255,.18);
}

@media (max-width:380px){
  .page{padding:10px}
  .hero,.hero__content{min-height:520px}
  .hero__content{padding:20px}
  .tour-card{grid-template-columns:1fr}
  
.hero-distance{
  align-self:flex-start;
  display:inline-flex;
  align-items:center;
  gap:9px;
  max-width:100%;
  margin:0 0 16px;
  padding:10px 14px;
  border:1px solid rgba(255,255,255,.30);
  border-radius:999px;
  color:#fffaf2;
  background:rgba(11,45,77,.42);
  backdrop-filter:blur(12px);
  box-shadow:0 10px 24px rgba(0,0,0,.18);
  cursor:pointer;
  font:inherit;
}
.hero-distance span{
  width:28px;
  height:28px;
  display:grid;
  place-items:center;
  border-radius:50%;
  background:linear-gradient(135deg, #4285f4, #34a853 48%, #fbbc05 72%, #ea4335);
}
.hero-distance strong{
  font-size:13px;
  font-weight:900;
  letter-spacing:.01em;
}
.hero-distance.is-active{
  border-color:rgba(198,154,58,.62);
  background:rgba(23,107,82,.62);
}

.quick-actions{grid-template-columns:1fr}
  .action-grid{grid-template-columns:1fr}
  .tour-preview{aspect-ratio:16/10}
}


/* Ajustes solicitados */
.btn-icon{
  width:18px;
  height:18px;
  display:inline-block;
  color:white;
  flex:0 0 auto;
}

.brand-row{
  flex-wrap:wrap;
}

.ad-badge{
  display:inline-flex;
  align-items:center;
  min-height:30px;
  padding:7px 10px;
  border-radius:999px;
  background:rgba(198,154,58,.92);
  color:#fffaf2;
  font-size:10px;
  font-weight:900;
  letter-spacing:.08em;
  text-transform:uppercase;
  box-shadow:0 8px 20px rgba(0,0,0,.16);
}

.text-link--tour{
  gap:6px;
}

.text-link--tour img{
  width:20px;
  height:20px;
  color:var(--green);
}

.mini-card--icon{
  position:relative;
  overflow:hidden;
}

.mini-icon{
  width:26px;
  height:26px;
  margin-bottom:8px;
  color:var(--green);
}

.gallery-section{
  margin-top:14px;
  padding:16px;
  border:1px solid var(--line);
  border-radius:var(--radius);
  background:rgba(255,250,242,.88);
  box-shadow:0 10px 28px rgba(11,45,77,.08);
}

.gallery-heading{
  display:flex;
  align-items:end;
  justify-content:space-between;
  gap:12px;
  margin-bottom:12px;
}

.gallery-heading h2{
  margin:0;
}

.gallery-slider{
  display:flex;
  gap:12px;
  overflow-x:auto;
  scroll-snap-type:x mandatory;
  padding-bottom:4px;
  -webkit-overflow-scrolling:touch;
}

.gallery-slider figure{
  flex:0 0 78%;
  margin:0;
  position:relative;
  overflow:hidden;
  border-radius:22px;
  scroll-snap-align:start;
  aspect-ratio:16/11;
  background:var(--navy);
}

.gallery-slider img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}

.gallery-slider figcaption{
  position:absolute;
  left:10px;
  bottom:10px;
  padding:6px 10px;
  border-radius:999px;
  background:rgba(11,45,77,.72);
  color:white;
  font-size:11px;
  font-weight:900;
  letter-spacing:.06em;
  text-transform:uppercase;
  backdrop-filter:blur(8px);
}

/* Tema escuro automático */
@media (prefers-color-scheme: dark){
  :root{
    --cream:#071d31;
    --paper:#102f4b;
    --ink:#f2f6f4;
    --muted:#b8c6c4;
    --line:rgba(255,255,255,.16);
    --green-soft:#123b33;
    --shadow:0 18px 44px rgba(0,0,0,.28);
  }

  body{
    background:
      radial-gradient(circle at 12% 0%, rgba(198,154,58,.12), transparent 26rem),
      radial-gradient(circle at 100% 30%, rgba(23,107,82,.20), transparent 22rem),
      var(--cream);
  }

  .card,
  .map-section,
  .gallery-section,
  .mini-card{
    background:rgba(16,47,75,.88);
  }

  .mini-card{
    background:linear-gradient(180deg, #123b5f, #0e2d49);
  }

  .btn--primary{
    background:#fffaf2;
    color:#0b2d4d;
  }

  .client-logo{
    background:rgba(255,250,242,.96);
  }

  .footer{
    color:#fffaf2;
  }

  .small-note{
    color:#cbbf9c!important;
  }

  .map-embed iframe{
    filter:saturate(.82) contrast(.92) brightness(.86);
  }
}


/* Ajustes finais dos botões solicitados */
.btn--whatsapp .btn-icon{
  color:#fffaf2;
  filter:none;
}

.action-grid .mini-card{
  background:
    linear-gradient(180deg, rgba(18,59,95,.98), rgba(11,45,77,.98));
  border-color:rgba(255,255,255,.16);
  box-shadow:0 12px 28px rgba(11,45,77,.18);
}

.action-grid .mini-card strong{
  color:#fffaf2;
}

.action-grid .mini-card span{
  color:rgba(255,250,242,.78);
}

.action-grid .mini-icon{
  color:#fffaf2;
  opacity:.96;
}

.action-grid .mini-card:hover{
  transform:translateY(-1px);
  border-color:rgba(198,154,58,.55);
}

/* Ajuste solicitado: títulos claros nos cards azuis */
.action-grid .mini-card strong{
  color:#F7F4EC !important;
}

.action-grid .mini-card span{
  color:rgba(247,244,236,.82) !important;
}


/* Endereço com contraste claro conforme solicitado */
.info-card h2{
  color:#F7F4EC !important;
}

.info-card p{
  color:rgba(247,244,236,.88) !important;
}

.info-card{
  background:linear-gradient(180deg, rgba(18,59,95,.98), rgba(11,45,77,.98)) !important;
  border-color:rgba(255,255,255,.16);
}


/* Ajustes v4 — landing em PHP, sem Google Maps */
.quick-actions:has(a:only-child){
  grid-template-columns:1fr;
}

.footer a{
  color:inherit;
  text-decoration:none;
}

.footer a:hover{
  color:var(--gold);
}

@media (max-width:520px){
  .page{
    width:100%;
    padding:10px;
  }

  .hero,
  .hero__content{
    min-height:calc(100svh - 20px);
  }

  .brand-row{
    align-items:flex-start;
  }

  .client-logo{
    width:68px;
    height:68px;
  }

  .guide-label,
  .ad-badge{
    font-size:9px;
  }

  .tour-card{
    grid-template-columns:1fr;
  }

  .action-grid{
    grid-template-columns:1fr 1fr;
  }
}

@media (max-width:360px){
  .action-grid{
    grid-template-columns:1fr;
  }
}


/* Atualização: botão Como Chegar + Tour em branco */
.tour-card{
  background:
    linear-gradient(135deg, rgba(11,45,77,.98), rgba(23,107,82,.94));
  border-color:rgba(255,255,255,.14);
}

.tour-card h2{
  color:#fffaf2 !important;
}

.tour-card p{
  color:rgba(255,250,242,.82);
}

.tour-card .section-kicker{
  color:#d7b661;
}

.tour-card .text-link--tour{
  color:#fffaf2;
}

.maps-cta{
  margin-top:14px;
  width:100%;
  min-height:76px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:14px;
  padding:16px 18px;
  border-radius:24px;
  color:white;
  background:
    radial-gradient(circle at 18% 20%, rgba(66,133,244,.92), transparent 28%),
    radial-gradient(circle at 82% 18%, rgba(52,168,83,.92), transparent 30%),
    radial-gradient(circle at 25% 85%, rgba(251,188,5,.92), transparent 26%),
    radial-gradient(circle at 82% 82%, rgba(234,67,53,.92), transparent 28%),
    linear-gradient(135deg, #4285f4, #34a853 45%, #fbbc05 72%, #ea4335);
  box-shadow:0 14px 34px rgba(66,133,244,.22);
  text-align:left;
  overflow:hidden;
  position:relative;
}

.maps-cta::after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(180deg, rgba(0,0,0,.08), rgba(0,0,0,.28));
  pointer-events:none;
}

.maps-cta > *{
  position:relative;
  z-index:1;
}

.maps-cta__icon{
  width:44px;
  height:44px;
  display:grid;
  place-items:center;
  border-radius:50%;
  background:rgba(255,255,255,.22);
  border:1px solid rgba(255,255,255,.38);
  font-size:26px;
  font-weight:900;
  flex:0 0 auto;
}

.maps-cta strong{
  display:block;
  font-size:20px;
  font-weight:950;
  line-height:1;
}

.maps-cta small{
  display:block;
  margin-top:5px;
  color:rgba(255,255,255,.88);
  font-size:12px;
  font-weight:800;
}

@media (max-width:380px){
  .maps-cta{
    min-height:70px;
    border-radius:22px;
    padding:14px;
  }

  .maps-cta strong{
    font-size:18px;
  }
}


.embed-section{
  margin-top:14px;
  overflow:hidden;
  border:1px solid var(--line);
  border-radius:var(--radius);
  background:rgba(255,250,242,.88);
  box-shadow:0 10px 28px rgba(11,45,77,.08);
}

.embed-section iframe,
.embed-section video,
.embed-section object,
.embed-section embed{
  display:block;
  width:100%;
  max-width:100%;
  border:0;
}

.embed-section iframe{
  min-height:260px;
}

.embed-section > *{
  max-width:100%;
}


.landing-favorite{
position:absolute;top:20px;right:20px;z-index:5;
min-height:46px;padding:10px 14px;border-radius:999px;
background:rgba(255,250,242,.92);color:#0b2d4d;
}
.landing-favorite small{display:none}
.intro{
display:-webkit-box;
-webkit-line-clamp:3;
-webkit-box-orient:vertical;
overflow:hidden;
}
.about-card{margin-top:14px}


/* Favorito flutuante no Hero — Minha Pipa v3 */
.landing-favorite{
  position:absolute!important;
  top:20px!important;
  right:20px!important;
  z-index:8!important;
  width:48px!important;
  height:48px!important;
  min-height:48px!important;
  margin:0!important;
  padding:0!important;
  display:grid!important;
  place-items:center!important;
  border:1px solid rgba(255,255,255,.58)!important;
  border-radius:50%!important;
  color:var(--navy)!important;
  background:rgba(255,250,242,.94)!important;
  box-shadow:0 12px 28px rgba(0,0,0,.28)!important;
  backdrop-filter:blur(10px)!important;
  -webkit-backdrop-filter:blur(10px)!important;
  cursor:pointer;
  text-align:center!important;
  transition:transform .18s ease, background .18s ease, color .18s ease!important;
}

.landing-favorite:hover{
  transform:scale(1.06);
}

.landing-favorite span{
  width:auto!important;
  height:auto!important;
  grid-row:auto!important;
  display:block!important;
  border-radius:0!important;
  color:inherit!important;
  background:transparent!important;
  box-shadow:none!important;
  font-size:27px!important;
  line-height:1!important;
  transform:translateY(-1px);
}

.landing-favorite strong,
.landing-favorite small{
  position:absolute!important;
  width:1px!important;
  height:1px!important;
  overflow:hidden!important;
  clip:rect(0 0 0 0)!important;
  white-space:nowrap!important;
  margin:0!important;
}

.landing-favorite.is-active{
  color:#fffaf2!important;
  background:linear-gradient(135deg, var(--gold), var(--green))!important;
  border-color:rgba(255,255,255,.72)!important;
}

.favorite-toast{
  position:absolute;
  top:78px;
  right:20px;
  z-index:9;
  max-width:240px;
  padding:10px 13px;
  border:1px solid rgba(255,255,255,.34);
  border-radius:999px;
  color:#fffaf2;
  background:rgba(11,45,77,.82);
  box-shadow:0 12px 28px rgba(0,0,0,.24);
  backdrop-filter:blur(12px);
  -webkit-backdrop-filter:blur(12px);
  font-size:12px;
  font-weight:900;
  opacity:0;
  transform:translateY(-6px);
  pointer-events:none;
  transition:opacity .18s ease, transform .18s ease;
}

.favorite-toast.is-visible{
  opacity:1;
  transform:translateY(0);
}

.intro{
  display:-webkit-box;
  -webkit-line-clamp:3;
  -webkit-box-orient:vertical;
  overflow:hidden;
}

.about-card{
  margin-top:14px;
}

@media (max-width:380px){
  .landing-favorite{
    top:16px!important;
    right:16px!important;
    width:44px!important;
    height:44px!important;
    min-height:44px!important;
  }

  .landing-favorite span{
    font-size:25px!important;
  }

  .favorite-toast{
    top:68px;
    right:16px;
  }
}


/* =========================================================
   Refinamento Hero / Favoritos / Sobre — Guia de Pipa
   Versão: favoritos elegantes + botão Voltar
========================================================= */

.hero-controls{
  position:absolute;
  top:18px;
  left:18px;
  right:18px;
  z-index:12;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  pointer-events:none;
}

.landing-back,
.landing-favorite{
  pointer-events:auto;
}

.landing-back{
  min-height:46px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:9px;
  padding:0 18px;
  border:1px solid rgba(255,255,255,.38);
  border-radius:999px;
  color:#fffaf2;
  background:rgba(12,18,24,.52);
  box-shadow:0 14px 34px rgba(0,0,0,.28), inset 0 1px 0 rgba(255,255,255,.12);
  backdrop-filter:blur(14px);
  -webkit-backdrop-filter:blur(14px);
  font-size:14px;
  font-weight:950;
  letter-spacing:.01em;
  text-decoration:none;
}

.landing-back span{
  font-size:21px;
  line-height:1;
  transform:translateY(-1px);
}

.landing-favorite{
  position:static!important;
  top:auto!important;
  right:auto!important;
  z-index:auto!important;
  width:56px!important;
  height:56px!important;
  min-height:56px!important;
  flex:0 0 56px!important;
  margin:0!important;
  padding:0!important;
  display:grid!important;
  place-items:center!important;
  border:1px solid rgba(255,255,255,.62)!important;
  border-radius:50%!important;
  color:var(--navy)!important;
  background:rgba(255,250,242,.96)!important;
  box-shadow:
    0 16px 34px rgba(0,0,0,.32),
    0 0 0 8px rgba(255,255,255,.05),
    0 0 22px rgba(198,154,58,.22)!important;
  backdrop-filter:blur(14px)!important;
  -webkit-backdrop-filter:blur(14px)!important;
  cursor:pointer;
  text-align:center!important;
  transition:transform .18s ease, background .18s ease, color .18s ease, box-shadow .18s ease!important;
}

.landing-favorite:hover{
  transform:translateY(-1px) scale(1.05);
}

.landing-favorite span{
  width:auto!important;
  height:auto!important;
  grid-row:auto!important;
  display:block!important;
  border-radius:0!important;
  color:inherit!important;
  background:transparent!important;
  box-shadow:none!important;
  font-size:34px!important;
  line-height:1!important;
  font-weight:700!important;
  transform:translateY(-1px);
}

.landing-favorite strong,
.landing-favorite small{
  position:absolute!important;
  width:1px!important;
  height:1px!important;
  overflow:hidden!important;
  clip:rect(0 0 0 0)!important;
  white-space:nowrap!important;
  margin:0!important;
}

.landing-favorite.is-active{
  color:#fffaf2!important;
  background:linear-gradient(135deg, var(--gold), var(--green))!important;
  border-color:rgba(255,255,255,.78)!important;
  box-shadow:
    0 16px 34px rgba(0,0,0,.32),
    0 0 0 8px rgba(198,154,58,.12),
    0 0 26px rgba(198,154,58,.36)!important;
}

.brand-row{
  top:82px!important;
  left:20px!important;
  right:20px!important;
  justify-content:flex-start!important;
}

.brand-row .client-logo{
  margin-right:auto;
}

.guide-label,
.ad-badge{
  max-width:148px;
  overflow:hidden;
  white-space:nowrap;
  text-overflow:ellipsis;
}

.favorite-toast{
  position:fixed!important;
  right:max(18px, calc((100vw - 520px) / 2 + 18px))!important;
  bottom:24px!important;
  top:auto!important;
  z-index:1000!important;
  width:min(340px, calc(100vw - 32px));
  max-width:none!important;
  min-height:76px;
  display:grid;
  grid-template-columns:auto 1fr auto;
  align-items:center;
  gap:13px;
  padding:14px 14px;
  border:1px solid rgba(255,255,255,.12)!important;
  border-left:4px solid #18b979!important;
  border-radius:20px!important;
  color:#fffaf2!important;
  background:rgba(18,18,18,.92)!important;
  box-shadow:0 18px 48px rgba(0,0,0,.42)!important;
  backdrop-filter:blur(16px)!important;
  -webkit-backdrop-filter:blur(16px)!important;
  font-size:14px!important;
  font-weight:700!important;
  opacity:0;
  transform:translateY(12px);
  pointer-events:none;
  transition:opacity .2s ease, transform .2s ease;
}

.favorite-toast.is-visible{
  opacity:1!important;
  transform:translateY(0)!important;
  pointer-events:auto;
}

.favorite-toast.is-removing{
  border-left-color:var(--gold)!important;
}

.favorite-toast__icon{
  width:42px;
  height:42px;
  display:grid;
  place-items:center;
  border-radius:50%;
  color:white;
  background:#18b979;
  font-size:24px;
  font-weight:950;
}

.favorite-toast.is-removing .favorite-toast__icon{
  background:var(--gold);
  color:var(--navy);
}

.favorite-toast strong{
  display:block;
  color:white;
  font-size:14px;
  line-height:1.2;
}

.favorite-toast small{
  display:block;
  margin-top:3px;
  color:rgba(255,255,255,.78);
  font-size:12px;
  line-height:1.35;
  font-weight:600;
}

.favorite-toast__close{
  width:30px;
  height:30px;
  display:grid;
  place-items:center;
  border:0;
  border-radius:50%;
  color:rgba(255,255,255,.82);
  background:transparent;
  font-size:24px;
  cursor:pointer;
}

.about-card{
  display:grid!important;
  grid-template-columns:auto 1fr auto;
  align-items:center;
  gap:18px;
  padding:22px!important;
  border-color:rgba(255,255,255,.12)!important;
  background:linear-gradient(135deg, rgba(11,45,77,.96), rgba(13,58,96,.86))!important;
  box-shadow:0 18px 44px rgba(0,0,0,.20)!important;
}

.about-card__icon{
  width:66px;
  height:66px;
  display:grid;
  place-items:center;
  border:1px solid rgba(198,154,58,.78);
  border-radius:50%;
  color:var(--gold);
  font-size:31px;
  background:rgba(11,45,77,.42);
  flex:0 0 auto;
}

.about-card__content .section-kicker{
  margin-bottom:7px;
  color:#f2c766;
}

.about-card__content p:last-child,
.about-card > p{
  margin:0!important;
  color:rgba(255,250,242,.92)!important;
  font-size:14px!important;
  line-height:1.55;
}

.about-card__photos{
  min-height:44px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:9px;
  padding:0 18px;
  border:1px solid rgba(198,154,58,.76);
  border-radius:999px;
  color:#fffaf2;
  background:rgba(11,45,77,.22);
  font-size:13px;
  font-weight:950;
  white-space:nowrap;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.08);
}

.about-card__photos span{
  color:var(--gold);
  font-size:17px;
}

@media (max-width:560px){
  .hero-controls{
    top:18px;
    left:18px;
    right:18px;
  }

  .landing-back{
    min-height:42px;
    padding:0 14px;
    font-size:13px;
  }

  .landing-favorite{
    width:50px!important;
    height:50px!important;
    min-height:50px!important;
    flex-basis:50px!important;
  }

  .landing-favorite span{
    font-size:30px!important;
  }

  .brand-row{
    top:76px!important;
  }

  .guide-label,
  .ad-badge{
    max-width:120px;
    font-size:10px;
    padding-inline:9px;
  }

  .about-card{
    grid-template-columns:auto 1fr!important;
    gap:13px;
  }

  .about-card__icon{
    width:54px;
    height:54px;
    font-size:25px;
  }

  .about-card__photos{
    grid-column:1 / -1;
    width:100%;
  }
}

@media (max-width:380px){
  .hero-controls{
    top:14px;
    left:14px;
    right:14px;
  }

  .landing-back strong{
    display:none;
  }

  .landing-back{
    width:42px;
    padding:0;
  }

  .landing-favorite{
    width:46px!important;
    height:46px!important;
    min-height:46px!important;
    flex-basis:46px!important;
  }

  .brand-row{
    top:68px!important;
  }

  .client-logo{
    width:62px;
    height:62px;
  }

  .guide-label,
  .ad-badge{
    max-width:104px;
  }
}


/* =========================================================
   Ajuste definitivo — Favorito sem conflito + sem selo anúncio
   Guia de Pipa®
========================================================= */

.hero{
  position:relative;
}

.hero-controls{
  position:absolute!important;
  top:20px!important;
  left:20px!important;
  right:20px!important;
  z-index:30!important;
  display:flex!important;
  align-items:flex-start!important;
  justify-content:space-between!important;
  gap:12px!important;
  pointer-events:none!important;
}

.landing-back,
.landing-favorite{
  pointer-events:auto!important;
}

.landing-back{
  min-height:46px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:9px!important;
  padding:0 18px!important;
  border:1px solid rgba(255,255,255,.42)!important;
  border-radius:999px!important;
  color:#fffaf2!important;
  background:rgba(8,18,28,.58)!important;
  box-shadow:0 14px 34px rgba(0,0,0,.28), inset 0 1px 0 rgba(255,255,255,.12)!important;
  backdrop-filter:blur(14px)!important;
  -webkit-backdrop-filter:blur(14px)!important;
  font-size:14px!important;
  font-weight:950!important;
  letter-spacing:.01em!important;
  text-decoration:none!important;
}

.landing-back span{
  font-size:22px!important;
  line-height:1!important;
  transform:translateY(-1px)!important;
}

.landing-favorite{
  position:static!important;
  top:auto!important;
  right:auto!important;
  z-index:auto!important;
  width:58px!important;
  height:58px!important;
  min-width:58px!important;
  min-height:58px!important;
  flex:0 0 58px!important;
  margin:0!important;
  padding:0!important;
  display:grid!important;
  place-items:center!important;
  border:1px solid rgba(255,255,255,.72)!important;
  border-radius:50%!important;
  color:var(--navy)!important;
  background:rgba(255,250,242,.97)!important;
  box-shadow:
    0 16px 34px rgba(0,0,0,.34),
    0 0 0 8px rgba(255,255,255,.05),
    0 0 24px rgba(198,154,58,.30)!important;
  backdrop-filter:blur(14px)!important;
  -webkit-backdrop-filter:blur(14px)!important;
  cursor:pointer!important;
  text-align:center!important;
  transition:transform .18s ease, background .18s ease, color .18s ease, box-shadow .18s ease!important;
}

.landing-favorite:hover{
  transform:translateY(-1px) scale(1.05)!important;
}

.landing-favorite span{
  width:auto!important;
  height:auto!important;
  grid-row:auto!important;
  display:block!important;
  border-radius:0!important;
  color:inherit!important;
  background:transparent!important;
  box-shadow:none!important;
  font-size:34px!important;
  line-height:1!important;
  font-weight:700!important;
  transform:translateY(-1px)!important;
}

.landing-favorite strong,
.landing-favorite small{
  position:absolute!important;
  width:1px!important;
  height:1px!important;
  overflow:hidden!important;
  clip:rect(0 0 0 0)!important;
  white-space:nowrap!important;
  margin:0!important;
}

.landing-favorite.is-active{
  color:#fffaf2!important;
  background:linear-gradient(135deg, var(--gold), var(--green))!important;
  border-color:rgba(255,255,255,.82)!important;
  box-shadow:
    0 16px 34px rgba(0,0,0,.34),
    0 0 0 8px rgba(198,154,58,.14),
    0 0 28px rgba(198,154,58,.42)!important;
}

/* O selo "Anunciante Guia de Pipa" foi removido do HTML.
   Este fallback evita conflito visual em landings antigas que ainda o tenham. */
.ad-badge{
  display:none!important;
}

.brand-row{
  top:88px!important;
  left:20px!important;
  right:96px!important;
  justify-content:flex-start!important;
  gap:12px!important;
}

.brand-row .client-logo{
  flex:0 0 auto!important;
}

.guide-label{
  max-width:150px!important;
  overflow:hidden!important;
  white-space:nowrap!important;
  text-overflow:ellipsis!important;
}

/* Sobre mais editorial e equilibrado */
.about-card{
  display:grid!important;
  grid-template-columns:auto 1fr auto!important;
  align-items:center!important;
  gap:18px!important;
  padding:22px!important;
  border-color:rgba(255,255,255,.12)!important;
  background:linear-gradient(135deg, rgba(11,45,77,.96), rgba(13,58,96,.86))!important;
  box-shadow:0 18px 44px rgba(0,0,0,.20)!important;
}

.about-card__icon{
  width:66px!important;
  height:66px!important;
  display:grid!important;
  place-items:center!important;
  border:1px solid rgba(198,154,58,.78)!important;
  border-radius:50%!important;
  color:var(--gold)!important;
  font-size:31px!important;
  background:rgba(11,45,77,.42)!important;
}

.about-card__content .section-kicker{
  margin-bottom:7px!important;
  color:#f2c766!important;
}

.about-card__content p:last-child{
  margin:0!important;
  color:rgba(255,250,242,.92)!important;
  font-size:14px!important;
  line-height:1.55!important;
}

.about-card__photos{
  min-height:44px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:9px!important;
  padding:0 18px!important;
  border:1px solid rgba(198,154,58,.76)!important;
  border-radius:999px!important;
  color:#fffaf2!important;
  background:rgba(11,45,77,.22)!important;
  font-size:13px!important;
  font-weight:950!important;
  white-space:nowrap!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.08)!important;
}

.about-card__photos span{
  color:var(--gold)!important;
}

@media (max-width:560px){
  .hero-controls{
    top:18px!important;
    left:18px!important;
    right:18px!important;
  }

  .landing-back{
    min-height:42px!important;
    padding:0 14px!important;
    font-size:13px!important;
  }

  .landing-favorite{
    width:52px!important;
    height:52px!important;
    min-width:52px!important;
    min-height:52px!important;
    flex-basis:52px!important;
  }

  .landing-favorite span{
    font-size:31px!important;
  }

  .brand-row{
    top:82px!important;
    right:86px!important;
  }

  .guide-label{
    max-width:128px!important;
    font-size:10px!important;
    padding-inline:9px!important;
  }

  .about-card{
    grid-template-columns:auto 1fr!important;
    gap:13px!important;
  }

  .about-card__icon{
    width:54px!important;
    height:54px!important;
    font-size:25px!important;
  }

  .about-card__photos{
    grid-column:1 / -1!important;
    width:100%!important;
  }
}

@media (max-width:380px){
  .hero-controls{
    top:14px!important;
    left:14px!important;
    right:14px!important;
  }

  .landing-back strong{
    display:none!important;
  }

  .landing-back{
    width:42px!important;
    padding:0!important;
  }

  .landing-favorite{
    width:48px!important;
    height:48px!important;
    min-width:48px!important;
    min-height:48px!important;
    flex-basis:48px!important;
  }

  .brand-row{
    top:72px!important;
    right:76px!important;
  }

  .client-logo{
    width:62px!important;
    height:62px!important;
  }

  .guide-label{
    max-width:112px!important;
  }
}


/* Ajuste v5.1 — centralização precisa do coração no botão de favoritos */
.landing-favorite{
  position:relative!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  overflow:hidden!important;
}

.landing-favorite span{
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  padding:0!important;
  margin:0!important;
  border:0!important;
  line-height:1!important;
  text-align:center!important;
  font-family:Arial, Helvetica, sans-serif!important;
  font-size:32px!important;
  font-weight:400!important;
  transform:none!important;
  translate:none!important;
}

.landing-favorite strong,
.landing-favorite small{
  pointer-events:none!important;
}


/* v5.2 logo centralizada entre voltar e favorito */
.hero-controls{
display:flex;
align-items:center;
justify-content:space-between;
}
.hero-controls::after{
content:'';
}
.brand-row{
position:absolute;
top:22px;
left:50%;
transform:translateX(-50%);
z-index:20;
}
.guide-label{display:none!important;}
.client-logo{
width:72px!important;
height:72px!important;
object-fit:contain;
}


/* v5.3 — logo no controle superior entre Voltar e Favorito */
.hero-controls{
  display:grid!important;
  grid-template-columns:1fr auto 1fr!important;
  align-items:center!important;
  gap:12px!important;
  top:20px!important;
  left:20px!important;
  right:20px!important;
  z-index:30!important;
}

.landing-back{
  justify-self:start!important;
}

.landing-favorite{
  justify-self:end!important;
  position:relative!important;
}

.hero-logo-centered{
  justify-self:center!important;
  width:68px!important;
  height:68px!important;
  object-fit:contain!important;
  padding:8px!important;
  border-radius:18px!important;
  background:rgba(255,250,242,.94)!important;
  box-shadow:0 12px 28px rgba(0,0,0,.22), inset 0 1px 0 rgba(255,255,255,.65)!important;
  z-index:31!important;
}

.brand-row{
  display:none!important;
}

.guide-label,
.ad-badge{
  display:none!important;
}

@media (max-width:480px){
  .hero-controls{
    top:18px!important;
    left:18px!important;
    right:18px!important;
    gap:8px!important;
  }

  .hero-logo-centered{
    width:62px!important;
    height:62px!important;
    border-radius:16px!important;
    padding:7px!important;
  }
}

@media (max-width:380px){
  .hero-logo-centered{
    width:54px!important;
    height:54px!important;
  }
}


/* Galeria ampliada — Minha Pipa v6 */
.gallery-thumb{
  width:100%;
  height:100%;
  display:block;
  padding:0;
  border:0;
  background:transparent;
  cursor:zoom-in;
  position:relative;
  overflow:hidden;
  font:inherit;
}

.gallery-thumb img{
  transition:transform .32s ease, filter .32s ease;
}

.gallery-thumb:hover img{
  transform:scale(1.045);
  filter:saturate(1.05) contrast(1.04);
}

.gallery-zoom{
  position:absolute;
  right:12px;
  top:12px;
  width:38px;
  height:38px;
  display:grid;
  place-items:center;
  border-radius:50%;
  color:#0b2d4d;
  background:rgba(255,250,242,.92);
  border:1px solid rgba(255,255,255,.70);
  box-shadow:0 12px 28px rgba(0,0,0,.26);
  font-size:21px;
  font-weight:950;
  line-height:1;
  opacity:.96;
}

.gallery-lightbox{
  position:fixed;
  inset:0;
  z-index:9999;
  display:grid;
  place-items:center;
  padding:20px;
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  transition:opacity .24s ease, visibility .24s ease;
}

.gallery-lightbox.is-open{
  opacity:1;
  visibility:visible;
  pointer-events:auto;
}

.gallery-lightbox__backdrop{
  position:absolute;
  inset:0;
  border:0;
  background:rgba(3,14,24,.78);
  backdrop-filter:blur(14px);
  cursor:zoom-out;
}

.gallery-lightbox__dialog{
  position:relative;
  width:min(960px, 94vw);
  max-height:86vh;
  border:1px solid rgba(255,255,255,.18);
  border-radius:28px;
  overflow:hidden;
  background:#071d31;
  box-shadow:0 34px 90px rgba(0,0,0,.52);
  transform:translateY(12px) scale(.985);
  transition:transform .24s ease;
}

.gallery-lightbox.is-open .gallery-lightbox__dialog{
  transform:translateY(0) scale(1);
}

.gallery-lightbox__dialog img{
  display:block;
  width:100%;
  max-height:74vh;
  object-fit:contain;
  background:#041323;
}

.gallery-lightbox__close{
  position:absolute;
  top:14px;
  right:14px;
  z-index:2;
  width:44px;
  height:44px;
  display:grid;
  place-items:center;
  border:1px solid rgba(255,255,255,.42);
  border-radius:50%;
  color:#0b2d4d;
  background:rgba(255,250,242,.94);
  box-shadow:0 14px 32px rgba(0,0,0,.30);
  font-size:28px;
  line-height:1;
  cursor:pointer;
}

.gallery-lightbox__meta{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  padding:14px 18px;
  color:#fffaf2;
  background:linear-gradient(135deg, rgba(11,45,77,.96), rgba(16,47,75,.94));
}

.gallery-lightbox__meta strong{
  color:var(--gold);
  font-size:13px;
  font-weight:950;
  letter-spacing:.11em;
  text-transform:uppercase;
}

.gallery-lightbox__meta span{
  color:rgba(255,250,242,.78);
  font-size:13px;
  font-weight:800;
}

body.gallery-open{
  overflow:hidden;
}

@media (max-width:520px){
  .gallery-lightbox{padding:12px}
  .gallery-lightbox__dialog{border-radius:22px;width:96vw}
  .gallery-lightbox__meta{
    align-items:flex-start;
    flex-direction:column;
    gap:4px;
  }
}

.benefit-hero-badge{
  width:max-content;
  max-width:100%;
  display:inline-flex;
  align-items:center;
  gap:12px;
  margin:0 0 18px;
  padding:10px 14px;
  border:1px solid rgba(244,211,138,.55);
  border-radius:18px;
  color:#fffaf2;
  background:rgba(7,16,25,.52);
  backdrop-filter:blur(12px);
  box-shadow:0 12px 30px rgba(0,0,0,.18);
}
.benefit-hero-badge img{
  width:38px;
  height:38px;
  flex:0 0 auto;
}
.benefit-hero-badge span{
  display:grid;
  gap:1px;
}
.benefit-hero-badge small{
  color:#f4d38a;
  font-size:11px;
  font-weight:900;
  letter-spacing:.12em;
  text-transform:uppercase;
}
.benefit-hero-badge strong{
  font-size:16px;
  line-height:1.05;
  font-weight:900;
}

.benefit-detail-card{
  position:relative;
  overflow:hidden;
  display:grid;
  grid-template-columns:auto 1fr;
  gap:16px;
  margin:18px 0 0;
  padding:20px;
  border:1px solid rgba(244,211,138,.46);
  border-radius:24px;
  background:
    radial-gradient(circle at 12% 8%, rgba(244,211,138,.18), transparent 34%),
    linear-gradient(135deg, rgba(24,46,70,.96) 0%, rgba(14,87,90,.94) 54%, rgba(21,78,52,.94) 100%);
  color:#fffaf2;
  box-shadow:
    0 18px 42px rgba(0,0,0,.26),
    inset 0 1px 0 rgba(255,255,255,.10);
}
.benefit-detail-card::after{
  content:"VANTAGEM GUIA";
  position:absolute;
  top:14px;
  right:16px;
  padding:6px 9px;
  border-radius:999px;
  background:rgba(244,211,138,.16);
  border:1px solid rgba(244,211,138,.34);
  color:#f4d38a;
  font-size:10px;
  font-weight:950;
  letter-spacing:.12em;
  text-transform:uppercase;
}
.benefit-detail-card__icon{
  width:56px;
  height:56px;
  display:grid;
  place-items:center;
  border-radius:18px;
  background:rgba(7,16,25,.56);
  border:1px solid rgba(244,211,138,.34);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.08);
}
.benefit-detail-card__icon img{
  width:42px;
  height:42px;
}
.benefit-detail-card h2{
  margin:0 0 7px;
  padding-right:112px;
  color:#f4d38a;
  font-size:25px;
  line-height:1.02;
  letter-spacing:-.03em;
}
.benefit-detail-card p{
  margin:0;
  color:rgba(255,250,242,.94);
  font-weight:800;
}
.benefit-detail-card small{
  display:block;
  margin-top:10px;
  color:rgba(255,250,242,.74);
  font-weight:800;
}


/* =========================================================
   Correção — Selo Benefício Guia na landing
========================================================= */
.benefit-hero-badge{
  display:inline-flex!important;
  visibility:visible!important;
}

.benefit-hero-badge img,
.benefit-detail-card__icon img{
  display:block;
  object-fit:contain;
}

.benefit-hero-badge img{
  width:38px!important;
  height:38px!important;
  max-width:38px!important;
  max-height:38px!important;
}

.benefit-detail-card__icon img{
  width:42px!important;
  height:42px!important;
  max-width:42px!important;
  max-height:42px!important;
}

@media (max-width:520px){
  .benefit-hero-badge{
    gap:10px;
    padding:9px 12px;
    border-radius:16px;
  }

  .benefit-hero-badge img{
    width:34px!important;
    height:34px!important;
    max-width:34px!important;
    max-height:34px!important;
  }

  .benefit-detail-card{
    grid-template-columns:46px minmax(0,1fr);
    gap:12px;
    padding:17px;
    border-radius:22px;
  }

  .benefit-detail-card::after{
    top:12px;
    right:12px;
    font-size:9px;
    padding:5px 8px;
  }

  .benefit-detail-card h2{
    padding-right:96px;
    font-size:23px;
  }

  .benefit-detail-card__icon{
    width:46px;
    height:46px;
    border-radius:16px;
  }

  .benefit-detail-card__icon img{
    width:34px!important;
    height:34px!important;
    max-width:34px!important;
    max-height:34px!important;
  }
}



/* Transporte: Horários de ônibus e vans */
.transport-hero-card{
  width:100%;
  display:grid;
  grid-template-columns:auto 1fr;
  gap:14px;
  align-items:center;
  margin:2px 0 16px;
  padding:16px;
  border:1px solid rgba(255,255,255,.26);
  border-radius:22px;
  color:#fffaf2;
  background:
    linear-gradient(135deg, rgba(7,52,67,.88), rgba(18,91,82,.78));
  box-shadow:0 18px 34px rgba(0,0,0,.22), inset 0 1px 0 rgba(255,255,255,.10);
  backdrop-filter:blur(12px);
}

.transport-hero-card__icon{
  width:54px;
  height:54px;
  display:grid;
  place-items:center;
  border-radius:17px;
  font-size:28px;
  background:rgba(255,250,242,.12);
  border:1px solid rgba(255,255,255,.22);
}

.transport-hero-card small,
.transport-hero-card em{
  display:block;
}

.transport-hero-card small{
  color:rgba(255,250,242,.72);
  font-size:11px;
  font-weight:900;
  letter-spacing:.12em;
  text-transform:uppercase;
}

.transport-hero-card strong{
  display:block;
  color:#f6cf72;
  font-size:clamp(36px, 12vw, 58px);
  line-height:.95;
  letter-spacing:-.04em;
}

.transport-hero-card em{
  color:#fff;
  font-style:normal;
  font-size:14px;
  font-weight:800;
}

.transport-section,
.transport-routes-section{
  margin:16px 0;
  padding:18px;
  border-radius:26px;
  color:#fffaf2;
  background:
    radial-gradient(circle at 100% 0%, rgba(198,154,58,.16), transparent 18rem),
    linear-gradient(135deg, rgba(7,32,50,.98), rgba(7,71,73,.96) 56%, rgba(15,91,70,.95));
  border:1px solid rgba(198,154,58,.32);
  box-shadow:0 18px 38px rgba(7,32,50,.26), inset 0 1px 0 rgba(255,255,255,.08);
}

.transport-section__head{
  display:flex;
  justify-content:space-between;
  gap:14px;
  align-items:flex-start;
  margin-bottom:14px;
}

.transport-section__head h2{
  margin:0;
  font-size:clamp(26px, 7vw, 38px);
  line-height:1;
  letter-spacing:-.04em;
}

.transport-section__head p:not(.section-kicker){
  margin:8px 0 0;
  color:rgba(255,250,242,.78);
  font-size:14px;
}

.transport-date{
  flex:0 0 auto;
  padding:9px 11px;
  border-radius:999px;
  color:#f6cf72;
  background:rgba(255,250,242,.10);
  border:1px solid rgba(255,250,242,.18);
  font-size:12px;
  font-weight:900;
}

.transport-filters{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  overflow:visible;
  padding:2px 0 14px;
  scrollbar-width:none;
}

.transport-filters::-webkit-scrollbar{display:none}

.transport-filter{
  appearance:none;
  border:1px solid rgba(255,250,242,.18);
  border-radius:999px;
  padding:9px 12px;
  white-space:normal;
  color:#fffaf2;
  background:rgba(255,250,242,.08);
  font:inherit;
  font-size:12px;
  line-height:1.15;
  font-weight:900;
  cursor:pointer;
  max-width:100%;
}

.transport-filter span{
  display:inline-grid;
  place-items:center;
  min-width:19px;
  height:19px;
  margin-left:4px;
  padding:0 5px;
  border-radius:999px;
  color:#08263a;
  background:#f6cf72;
  font-size:10px;
}

.transport-filter.is-active{
  color:#08263a;
  border-color:rgba(246,207,114,.92);
  background:linear-gradient(135deg, #f6cf72, #d49f2e);
}

.next-departures-list{
  display:grid;
  gap:10px;
}

.transport-loading{
  margin:0;
  padding:16px;
  border-radius:18px;
  color:rgba(255,250,242,.72);
  background:rgba(255,255,255,.08);
}

.departure-item{
  display:grid;
  grid-template-columns:auto 1fr auto;
  gap:12px;
  align-items:center;
  padding:14px;
  border-radius:20px;
  background:rgba(4,26,42,.72);
  border:1px solid rgba(255,255,255,.10);
}

.departure-item.is-next{
  background:
    linear-gradient(135deg, rgba(246,207,114,.18), rgba(4,26,42,.78));
  border-color:rgba(246,207,114,.45);
}

.departure-item__icon{
  width:42px;
  height:42px;
  display:grid;
  place-items:center;
  border-radius:14px;
  background:rgba(255,250,242,.10);
}

.departure-item__main strong{
  display:block;
  color:#f6cf72;
  font-size:30px;
  line-height:1;
  letter-spacing:-.04em;
}

.departure-item__main small,
.departure-item__meta small{
  display:block;
  color:rgba(255,250,242,.72);
  font-size:12px;
  font-weight:800;
}

.departure-item__meta{
  text-align:right;
}

.departure-item__meta strong{
  display:block;
  color:#fffaf2;
  font-size:13px;
}

.transport-route-cards{
  display:grid;
  gap:12px;
}

.transport-route-card{
  padding:16px;
  border-radius:22px;
  background:rgba(4,26,42,.62);
  border:1px solid rgba(255,255,255,.10);
}

.transport-route-card__head{
  display:grid;
  grid-template-columns:auto 1fr;
  gap:12px;
  align-items:center;
  margin-bottom:12px;
}

.transport-route-card__head > span{
  width:46px;
  height:46px;
  display:grid;
  place-items:center;
  border-radius:16px;
  background:rgba(255,250,242,.10);
  font-size:25px;
}

.transport-route-card__head p{
  margin:0 0 2px;
  color:#f6cf72;
  font-size:11px;
  font-weight:900;
  letter-spacing:.12em;
  text-transform:uppercase;
}

.transport-route-card__head h3{
  margin:0;
  color:#fffaf2;
  font-size:20px;
  line-height:1.1;
  letter-spacing:-.02em;
}

.route-times{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
}

.route-times span{
  min-width:62px;
  text-align:center;
  padding:9px 10px;
  border-radius:13px;
  color:#08263a;
  background:#fffaf2;
  font-weight:900;
}

.route-continuous{
  display:grid;
  gap:4px;
  padding:14px;
  border-radius:18px;
  background:rgba(255,250,242,.10);
  border:1px solid rgba(255,250,242,.14);
}

.route-continuous strong{
  color:#f6cf72;
  font-size:28px;
  line-height:1;
}

.route-continuous span{
  color:rgba(255,250,242,.78);
  font-weight:800;
}

.route-info{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin-top:12px;
}

.route-info span{
  padding:8px 10px;
  border-radius:999px;
  color:#fffaf2;
  background:rgba(255,255,255,.08);
  border:1px solid rgba(255,255,255,.10);
  font-size:12px;
  font-weight:800;
}

.route-note{
  margin:12px 0 0;
  color:rgba(255,250,242,.70);
  font-size:13px;
}

.seo-transport-card,
.transport-faq-card{
  color:#fffaf2;
  background:
    radial-gradient(circle at 100% 0%, rgba(198,154,58,.14), transparent 16rem),
    linear-gradient(135deg, #09243a, #0a4d50 62%, #105f48);
  border:1px solid rgba(198,154,58,.30);
  box-shadow:0 18px 38px rgba(7,32,50,.22);
}

.seo-transport-card h2,
.transport-faq-card h2{
  margin-top:0;
  color:#fffaf2;
}

.seo-transport-card p,
.transport-faq-card p{
  color:rgba(255,250,242,.82);
}

.transport-faq-card details{
  padding:14px 0;
  border-top:1px solid rgba(255,255,255,.12);
}

.transport-faq-card summary{
  cursor:pointer;
  color:#f6cf72;
  font-weight:900;
}

@media (max-width:430px){
  .transport-section,
  .transport-routes-section{
    padding:14px;
    border-radius:22px;
  }

  .transport-section__head{
    display:block;
  }

  .transport-date{
    display:inline-flex;
    margin-top:10px;
  }

  .departure-item{
    grid-template-columns:auto 1fr;
  }

  .departure-item__meta{
    grid-column:2;
    text-align:left;
  }

  .route-times span{
    min-width:58px;
  }
}

/* Ajustes Transporte — legibilidade e filtros por percurso */
.transport-section__head h2,
.transport-routes-section .transport-section__head h2{
  color:#fffaf2;
  text-shadow:0 2px 14px rgba(0,0,0,.22);
}

.transport-section__head .section-kicker,
.transport-routes-section .section-kicker{
  color:#f6cf72;
}

.seo-transport-card,
.transport-faq-card{
  padding:22px;
  border-radius:26px;
}

.seo-transport-card .section-kicker,
.transport-faq-card .section-kicker{
  color:#f6cf72;
}

.seo-transport-card h2,
.transport-faq-card h2{
  margin:0 0 12px;
  font-size:clamp(24px, 6vw, 34px);
  line-height:1.05;
  letter-spacing:-.035em;
}

.seo-transport-card p{
  margin:0 0 14px;
  max-width:62ch;
  line-height:1.65;
}

.transport-faq-card details{
  margin-top:10px;
  padding:14px 16px;
  border:1px solid rgba(255,255,255,.12);
  border-radius:18px;
  background:rgba(4,26,42,.42);
}

.transport-faq-card details + details{
  margin-top:10px;
}

.transport-faq-card summary{
  list-style:none;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
}

.transport-faq-card summary::-webkit-details-marker{display:none}

.transport-faq-card summary::after{
  content:"+";
  width:26px;
  height:26px;
  display:grid;
  place-items:center;
  flex:0 0 auto;
  border-radius:999px;
  color:#08263a;
  background:#f6cf72;
  font-weight:900;
}

.transport-faq-card details[open] summary::after{
  content:"–";
}

.transport-faq-card details p{
  margin:10px 0 0;
  line-height:1.6;
}


/* Transporte — refinamentos finais de SEO/GEO, filtros e leitura */
.transport-section__head h2,
.transport-routes-section .transport-section__head h2,
.seo-transport-card h2,
.transport-faq-card h2{
  color:#fffaf2 !important;
}

.transport-filters{
  align-items:stretch;
}

.transport-filter{
  flex:0 1 auto;
  min-height:38px;
}

@media (max-width:430px){
  .transport-filters{
    display:grid;
    grid-template-columns:repeat(2, minmax(0,1fr));
    gap:8px;
  }

  .transport-filter{
    width:100%;
    padding:10px 8px;
    text-align:center;
    white-space:normal;
  }
}

.seo-transport-card,
.transport-faq-card{
  padding:24px !important;
  border-radius:28px !important;
  background:
    radial-gradient(circle at 100% 0%, rgba(246,207,114,.14), transparent 16rem),
    linear-gradient(135deg, rgba(7,32,50,.98), rgba(7,71,73,.96) 58%, rgba(15,91,70,.95)) !important;
  border:1px solid rgba(246,207,114,.32) !important;
  box-shadow:0 18px 38px rgba(7,32,50,.24), inset 0 1px 0 rgba(255,255,255,.08) !important;
}

.seo-transport-card .answer-box,
.transport-faq-card .answer-box{
  margin:16px 0;
  padding:16px;
  border-radius:20px;
  color:#fffaf2;
  background:rgba(4,26,42,.55);
  border:1px solid rgba(246,207,114,.28);
}

.seo-transport-card .answer-box strong,
.transport-faq-card .answer-box strong{
  display:block;
  margin-bottom:6px;
  color:#f6cf72;
  font-size:13px;
  letter-spacing:.08em;
  text-transform:uppercase;
}

.seo-transport-card ul,
.transport-faq-card ul{
  margin:14px 0 0;
  padding:0;
  list-style:none;
  display:grid;
  gap:8px;
}

.seo-transport-card li,
.transport-faq-card li{
  position:relative;
  padding-left:24px;
  color:rgba(255,250,242,.84);
  line-height:1.55;
}

.seo-transport-card li::before,
.transport-faq-card li::before{
  content:"✓";
  position:absolute;
  left:0;
  top:0;
  color:#f6cf72;
  font-weight:900;
}

.transport-faq-card details{
  background:rgba(4,26,42,.54) !important;
}


/* COOPIPA — saídas contínuas sem horário fixo */
.departure-item--continuous{
  background:
    radial-gradient(circle at 100% 0%, rgba(246,207,114,.18), transparent 9rem),
    linear-gradient(135deg, rgba(4,26,42,.86), rgba(10,77,80,.72));
  border-color:rgba(246,207,114,.36);
}

.departure-item--continuous .departure-item__main strong{
  font-size:20px;
  letter-spacing:-.02em;
  color:#fffaf2;
}

.departure-item--continuous .departure-item__main em{
  display:block;
  margin-top:5px;
  color:#f6cf72;
  font-size:12px;
  font-style:normal;
  font-weight:900;
}

.route-continuous--no-fixed{
  gap:12px;
  background:
    radial-gradient(circle at 100% 0%, rgba(246,207,114,.16), transparent 10rem),
    rgba(255,250,242,.08);
  border-color:rgba(246,207,114,.32);
}

.route-continuous__top{
  display:grid;
  gap:6px;
}

.route-continuous__top strong{
  color:#fffaf2;
  font-size:24px;
  line-height:1.05;
  letter-spacing:-.03em;
}

.route-continuous__top small{
  color:rgba(255,250,242,.78);
  font-weight:800;
}

.route-badge{
  width:max-content;
  padding:6px 9px;
  border-radius:999px;
  color:#08263a;
  background:linear-gradient(135deg, #f6cf72, #d49f2e);
  font-size:11px;
  font-weight:950;
  letter-spacing:.08em;
  text-transform:uppercase;
}

.route-wait-grid{
  display:grid;
  grid-template-columns:repeat(3, minmax(0,1fr));
  gap:8px;
}

.route-wait-grid span{
  display:grid;
  gap:4px;
  padding:12px 10px;
  border-radius:16px;
  background:rgba(4,26,42,.52);
  border:1px solid rgba(255,255,255,.10);
}

.route-wait-grid b{
  color:rgba(255,250,242,.78);
  font-size:11px;
  line-height:1.25;
}

.route-wait-grid em{
  color:#f6cf72;
  font-size:18px;
  line-height:1;
  font-style:normal;
  font-weight:950;
}

.route-guide-tip{
  padding:13px 14px;
  border-radius:18px;
  background:rgba(246,207,114,.12);
  border:1px solid rgba(246,207,114,.26);
}

.route-guide-tip b{
  color:#f6cf72;
  font-size:13px;
}

.route-guide-tip p{
  margin:5px 0 0;
  color:rgba(255,250,242,.82);
  font-size:13px;
  line-height:1.55;
}

@media (max-width:430px){
  .route-wait-grid{
    grid-template-columns:1fr;
  }

  .departure-item--continuous .departure-item__main strong{
    font-size:18px;
  }
}

/* Guia Galeria 2.0 — navegação e lightbox */
.gallery-carousel{
  position:relative;
}

.gallery-carousel .gallery-slider{
  scroll-behavior:smooth;
  scrollbar-width:thin;
}

.gallery-nav{
  position:absolute;
  top:50%;
  z-index:5;
  width:42px;
  height:42px;
  display:grid;
  place-items:center;
  border:1px solid rgba(255,255,255,.62);
  border-radius:999px;
  color:#0b2d4d;
  background:rgba(255,250,242,.94);
  box-shadow:0 14px 34px rgba(0,0,0,.18);
  font-size:30px;
  font-weight:900;
  line-height:1;
  transform:translateY(-50%);
  cursor:pointer;
}

.gallery-nav--prev{left:8px}
.gallery-nav--next{right:8px}

.gallery-nav:hover{
  color:#fffaf2;
  background:linear-gradient(135deg, #0b2d4d, #176b52);
  border-color:rgba(244,211,138,.52);
}

.gallery-lightbox__nav{
  position:absolute;
  top:50%;
  z-index:3;
  width:50px;
  height:50px;
  display:grid;
  place-items:center;
  border:1px solid rgba(255,255,255,.44);
  border-radius:999px;
  color:#0b2d4d;
  background:rgba(255,250,242,.94);
  box-shadow:0 16px 38px rgba(0,0,0,.34);
  font-size:38px;
  font-weight:950;
  line-height:1;
  transform:translateY(-50%);
  cursor:pointer;
}

.gallery-lightbox__prev{left:16px}
.gallery-lightbox__next{right:16px}

.gallery-lightbox__nav:hover{
  color:#fffaf2;
  background:linear-gradient(135deg, #0b2d4d, #176b52);
}

.gallery-lightbox__counter{
  position:absolute;
  left:16px;
  top:16px;
  z-index:4;
  display:inline-flex;
  align-items:center;
  min-height:34px;
  padding:7px 11px;
  border-radius:999px;
  color:#fffaf2;
  background:rgba(7,16,25,.62);
  border:1px solid rgba(244,211,138,.32);
  backdrop-filter:blur(10px);
  font-size:12px;
  font-weight:950;
  letter-spacing:.06em;
}

@media (min-width:760px){
  .gallery-slider figure{
    flex-basis:58%;
  }
}

@media (max-width:520px){
  .gallery-nav{
    width:36px;
    height:36px;
    font-size:26px;
  }

  .gallery-nav--prev{left:5px}
  .gallery-nav--next{right:5px}

  .gallery-lightbox__nav{
    width:42px;
    height:42px;
    font-size:32px;
  }

  .gallery-lightbox__prev{left:8px}
  .gallery-lightbox__next{right:8px}

  .gallery-lightbox__counter{
    top:10px;
    left:10px;
  }
}