:root {
  --gp-shell-navy: #071722;
  --gp-shell-navy-soft: #0b2634;
  --gp-shell-paper: #f6f3eb;
  --gp-shell-card: #ffffff;
  --gp-shell-ink: #10232d;
  --gp-shell-muted: #607078;
  --gp-shell-line: #d9e3e4;
  --gp-shell-orange: #e77824;
  --gp-shell-gold: #ffb45c;
  --gp-shell-teal: #0f7775;
}

html[data-theme="dark"] {
  --gp-shell-paper: #06131c;
  --gp-shell-card: #0c1d27;
  --gp-shell-ink: #f7f7f2;
  --gp-shell-muted: #a9b8bc;
  --gp-shell-line: rgba(255,255,255,.13);
}

body.gp-template-home,
body.gp-template-information,
body.gp-template-utility,
body.gp-template-landing {
  transition: color .2s ease, background .2s ease;
}

.gp-home-theme {
  position: absolute;
  z-index: 40;
  top: 18px;
  right: 18px;
}

.hero .brand-row.gp-shell-theme-row {
  display: grid !important;
  grid-template-columns: auto minmax(0,1fr) auto !important;
  align-items: center !important;
}

.hero .brand-row.gp-shell-theme-row .guide-label {
  justify-self: end;
  min-width: 0;
}

.gp-utility-theme {
  width: 42px !important;
  min-width: 42px !important;
  min-height: 42px !important;
  padding: 0 !important;
}

.gp-utility-theme .gp-theme-toggle__label {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip: rect(0 0 0 0);
  white-space: nowrap;
}

.hero .hero-controls .gp-top-theme {
  pointer-events: auto !important;
}

.hero .hero-controls.gp-top-controls {
  grid-template-columns: auto minmax(46px,1fr) 54px 54px 54px !important;
}

.hero .hero-controls.gp-top-controls .gp-top-theme {
  grid-column: 5 !important;
  width: 54px !important;
  min-width: 54px !important;
  height: 54px !important;
  min-height: 54px !important;
  padding: 0 !important;
  justify-self: end !important;
  border-color: rgba(255,255,255,.68) !important;
  border-radius: 50% !important;
  background: rgba(7,16,25,.78) !important;
}

.hero .hero-controls.gp-top-controls .gp-top-theme .gp-theme-toggle__label {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip: rect(0 0 0 0);
  white-space: nowrap;
}

.hero .hero-controls.gp-top-controls .gp-top-theme .gp-theme-toggle__icon {
  width: 29px;
  height: 29px;
}

.hero .hero-controls.gp-top-controls.gp-no-favorite {
  grid-template-columns: auto minmax(46px,1fr) 54px 54px !important;
}

.hero .hero-controls.gp-top-controls.gp-no-favorite .gp-top-share { grid-column: 3 !important; }
.hero .hero-controls.gp-top-controls.gp-no-favorite .gp-top-theme { grid-column: 4 !important; }

.gp-landing-trust {
  display: inline-grid;
  grid-template-columns: 26px auto;
  align-items: center;
  column-gap: 8px;
  width: max-content;
  max-width: 100%;
  margin: 10px 0 13px !important;
  padding: 8px 12px 8px 8px;
  border: 1px solid rgba(255,180,92,.52);
  border-radius: 15px;
  color: #fff !important;
  background: rgba(7,23,34,.66);
  backdrop-filter: blur(12px);
  box-shadow: 0 10px 26px rgba(0,0,0,.18);
}

.gp-landing-trust > span {
  grid-row: 1 / 3;
  display: grid;
  place-items: center;
  width: 26px;
  height: 26px;
  border-radius: 50%;
  color: #071722;
  background: linear-gradient(135deg,#ffb45c,#e77824);
  font-weight: 950;
}

.gp-landing-trust strong { font-size: 11px; line-height: 1.1; }
.gp-landing-trust small { color: rgba(255,255,255,.74); font-size: 9px; font-weight: 750; }

.gp-conversion-dock { display: none; }

/* A ficha do anunciante deve converter sem publicidade paralela. */
body.gp-template-landing .gp-campaign-bar,
body.gp-template-landing .gp-campaign-modal {
  display: none !important;
}

body.gp-template-landing.gp-campaign-visible {
  --gp-assistant-bottom: 18px;
}

html[data-theme="light"] body.gp-template-information,
html[data-theme="light"] body.gp-template-utility,
html[data-theme="light"] body.gp-template-landing {
  color: var(--gp-shell-ink);
  background: var(--gp-shell-paper);
}

html[data-theme="dark"] body.gp-template-information,
html[data-theme="dark"] body.gp-template-utility,
html[data-theme="dark"] body.gp-template-landing {
  color: var(--gp-shell-ink);
  background: var(--gp-shell-paper);
}

html[data-theme="light"] body.gp-template-utility .card,
html[data-theme="light"] body.gp-template-landing .card,
html[data-theme="light"] body.gp-template-utility .content-card,
html[data-theme="light"] body.gp-template-landing .content-card {
  color: #10232d;
  background-color: #fff;
  border-color: #d9e3e4;
}

html[data-theme="light"] body.gp-template-utility .footer,
html[data-theme="light"] body.gp-template-landing .footer {
  color: #66777d;
  border-color: #d9e3e4;
}

html[data-theme="light"] body.gp-template-home {
  color: #10232d;
  background: #eef4f1;
}

html[data-theme="light"] body.gp-template-home .home,
html[data-theme="light"] body.gp-template-home section:not(.hero):not(.map-section),
html[data-theme="light"] body.gp-template-home .site-footer {
  --bg: #eef4f1;
  --panel: #ffffff;
  --text: #10232d;
  --muted: #5f7077;
}

html[data-theme="light"] body.gp-template-home .category-section,
html[data-theme="light"] body.gp-template-home .favorites-section,
html[data-theme="light"] body.gp-template-home .search-results,
html[data-theme="light"] body.gp-template-home .site-footer {
  color: #10232d;
  background-color: #eef4f1;
}

html[data-theme="light"] body.gp-template-home .card,
html[data-theme="light"] body.gp-template-home .category-card {
  color: #10232d;
  background-color: #fff;
  border-color: #d5e0e1;
}

@media (max-width: 760px) {
  .hero .hero-controls.gp-top-controls {
    grid-template-columns: auto minmax(38px,1fr) 48px 48px 48px !important;
    gap: 6px !important;
  }

  .hero .hero-controls.gp-top-controls .gp-top-theme {
    width: 48px !important;
    min-width: 48px !important;
    height: 48px !important;
    min-height: 48px !important;
  }

  .hero .hero-controls.gp-top-controls.gp-no-favorite {
    grid-template-columns: auto minmax(38px,1fr) 48px 48px !important;
  }

  .gp-home-theme { top: 12px; right: 12px; }

  .gp-conversion-dock {
    position: fixed;
    z-index: 9994;
    right: 10px;
    bottom: 9px;
    left: 10px;
    display: grid;
    grid-template-columns: repeat(3,minmax(0,1fr));
    gap: 7px;
    padding: 8px;
    border: 1px solid rgba(255,255,255,.2);
    border-radius: 20px;
    background: rgba(7,23,34,.94);
    box-shadow: 0 18px 50px rgba(0,0,0,.42);
    backdrop-filter: blur(16px);
  }

  .gp-conversion-dock:has(a:only-child) { grid-template-columns: 1fr; }
  .gp-conversion-dock:has(a:first-child:nth-last-child(2)) { grid-template-columns: repeat(2,1fr); }

  .gp-conversion-dock a {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 7px;
    min-height: 50px;
    padding: 7px;
    border: 1px solid rgba(255,180,92,.35);
    border-radius: 14px;
    color: #fff;
    background: linear-gradient(145deg,rgba(15,119,117,.92),rgba(8,74,82,.92));
    text-decoration: none;
  }

  .gp-conversion-dock a:first-child { background: linear-gradient(145deg,#159c63,#08764a); }
  .gp-conversion-dock a span { color: #ffcf8d; font-size: 18px; }
  .gp-conversion-dock a strong { font-size: 11px; line-height: 1.1; }

  body.gp-has-conversion-dock { padding-bottom: 84px; }
  body.gp-has-conversion-dock,
  body.gp-template-landing.gp-has-conversion-dock.gp-campaign-visible { --gp-assistant-bottom: 94px; }
  body.gp-has-conversion-dock .back-to-top { bottom: 96px !important; }
}

@media (max-width: 430px) {
  .hero .brand-row.gp-shell-theme-row { gap: 8px !important; }
  .hero .brand-row.gp-shell-theme-row .guide-label { font-size: 9px !important; padding-inline: 9px !important; }
  .hero .hero-controls.gp-top-controls .gp-top-back strong { display: none !important; }
  .hero .hero-controls.gp-top-controls .gp-top-back { width: 44px !important; padding-inline: 0 !important; }
  .hero .hero-controls.gp-top-controls { grid-template-columns: 44px minmax(34px,1fr) 44px 44px 44px !important; }
  .hero .hero-controls.gp-top-controls.gp-no-favorite { grid-template-columns: 44px minmax(34px,1fr) 44px 44px !important; }
}

@media (prefers-reduced-motion: reduce) {
  body.gp-template-home,
  body.gp-template-information,
  body.gp-template-utility,
  body.gp-template-landing { transition: none; }
}
