@import url('https://fonts.googleapis.com/css2?family=Sora:wght@400;500;600;700;800&family=DM+Sans:ital,opsz,wght@0,9..40,400;0,9..40,500;0,9..40,700;1,9..40,400&display=swap');

:root {
  /* Paleta inspirada no Instagram (tema dark): roxo -> magenta -> rosa */
  --gf-purple: #833AB4;
  --gf-accent: #C13584;   /* magenta — cor principal de destaque */
  --gf-accent-2: #E1306C; /* rosa/vermelho — variante mais clara, links e hovers */
  --gf-accent-rgb: 193,53,132;
  --gf-accent-2-rgb: 225,48,108;
  --gf-purple-rgb: 131,58,164;
  --gf-gradient: linear-gradient(135deg, #833AB4 0%, #C13584 50%, #E1306C 100%);
  --gf-ink: #0a0a0a;
  --gf-panel: #121212;
  --gf-panel-2: #1a1a1a;
  --gf-line: rgba(255,255,255,.08);
  --gf-muted: #a7b0c0;
  --gf-radius: 22px;
  --gf-shadow: 0 18px 50px rgba(0,0,0,.35);
}

html, body {
  font-family: "DM Sans", system-ui, sans-serif !important;
  letter-spacing: -.01em;
}

h1,h2,h3,h4,h5,.fw-bold,.text-3xl,.display-5,.navbar-brand {
  font-family: "Sora", "DM Sans", sans-serif !important;
  letter-spacing: -.03em;
}

/* Hero polish */
.header-section, section.py-5:first-of-type {
  position: relative;
}
.header-section::before,
body .landing-wrapper > section:first-child::before {
  /* Desligado: o glow agora vive em .gf-hero__glow (full-bleed, sem corte). */
  content: none !important;
  display: none !important;
}

html { scroll-behavior: smooth; }

/* Soft cards */
.card, .rounded-4, .bg-primary-opacity, .bg-body-tertiary.shadow {
  border: 1px solid var(--gf-line) !important;
  box-shadow: var(--gf-shadow) !important;
  backdrop-filter: blur(8px);
}

/* Package social tabs */
.package-list-tab .tab-item {
  width: 64px;
  height: 64px;
  border-radius: 20px !important;
  margin: 0 .4rem;
  border: 1px solid var(--gf-line);
  background: var(--gf-panel-2) !important;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  transition: transform .2s ease, border-color .2s ease, box-shadow .2s ease;
}
.package-list-tab .tab-item.active,
.package-list-tab .tab-item:hover {
  transform: translateY(-3px);
  border-color: var(--gf-accent) !important;
  box-shadow: 0 10px 30px rgba(var(--gf-accent-rgb),.25);
}
.package-list-tab .img-logo {
  width: 42px;
  height: 42px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.package-list-tab .img-logo img {
  width: 42px;
  height: 42px;
  object-fit: contain;
  border-radius: 12px;
}
.package-list-tab .sn-fallback {
  width: 42px;
  height: 42px;
  border-radius: 12px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: var(--gf-accent);
  color: #fff;
  font-weight: 800;
  font-size: .85rem;
}

.buy-package-item {
  border: 1px solid var(--gf-line) !important;
  background: rgba(255,255,255,.04) !important;
  color: inherit !important;
  transition: .2s ease;
}
.buy-package-item:hover {
  border-color: var(--gf-accent) !important;
  background: rgba(var(--gf-accent-rgb),.12) !important;
  transform: translateX(4px);
}
.buy-package-item .icon-square {
  color: var(--gf-accent);
}

/* Category package buttons — sempre 3 colunas */
.package-category-tab .btn-package-group {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: .55rem !important;
  justify-content: stretch;
  align-items: stretch;
  width: 100%;
  margin-left: 0 !important;
  margin-right: 0 !important;
}
.package-category-tab .btn-package-group .btn-item,
.package-category-tab .btn-package-group .tab-item {
  border-radius: 5px !important;
  min-width: 0 !important;
  width: 100% !important;
  max-width: none !important;
  flex: none !important;
  margin: 0 !important;
  font-weight: 700;
  padding: .6rem .3rem !important;
  text-align: center;
  line-height: 1.25;
  white-space: normal;
}
.package-category-tab .card {
  background: linear-gradient(180deg, var(--gf-panel-2), var(--gf-ink)) !important;
}

/* Buttons */
.btn-primary, .btn.btn-primary {
  background: var(--gf-gradient) !important;
  border: 0 !important;
  box-shadow: 0 10px 24px rgba(var(--gf-accent-rgb),.35);
  font-weight: 700;
}
.btn-primary:hover {
  filter: brightness(1.05);
  transform: translateY(-1px);
}

/* Footer cleanup */
footer, .footer {
  border-top: 1px solid var(--gf-line);
}
footer img[alt*="Paypal"], footer img[alt*="Visa"], footer img[alt*="Mastercard"], footer img[alt*="American"], footer img[alt*="Apple"] {
  opacity: .9;
  filter: none;
}

/* Trust / counters */
.counters-section .card, .counters_section .item, section .odometer {
  font-variant-numeric: tabular-nums;
}

/* Mobile */
@media (max-width: 767.98px) {
  .package-list-tab .tab-item { width: 54px; height: 54px; }
  .package-list-tab .img-logo, .package-list-tab .img-logo img, .package-list-tab .sn-fallback {
    width: 34px; height: 34px;
  }
}


/* Home packages picker — grid layout */
.gf-packages__networks {
  gap: .75rem !important;
}
.gf-network-tab {
  display: inline-flex !important;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: .35rem;
  min-width: 72px;
  height: auto !important;
  width: auto !important;
  padding: .65rem .7rem !important;
  border-radius: 16px !important;
  border: 1px solid var(--gf-line) !important;
  background: rgba(255,255,255,.03) !important;
  color: rgba(255,255,255,.75) !important;
}
.gf-network-tab .gf-network-name {
  font-size: .68rem;
  font-weight: 600;
  line-height: 1.1;
  max-width: 76px;
  text-align: center;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.gf-network-tab.active,
.gf-network-tab:hover {
  border-color: var(--gf-accent) !important;
  background: rgba(var(--gf-accent-rgb),.12) !important;
  color: #fff !important;
  box-shadow: 0 0 0 1px rgba(var(--gf-accent-rgb),.35);
}

.gf-service-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: .75rem;
}
.gf-service-card {
  display: flex;
  align-items: center;
  gap: .85rem;
  padding: .95rem 1rem;
  border-radius: 14px;
  border: 1px solid var(--gf-line);
  background: rgba(255,255,255,.04);
  color: inherit !important;
  text-decoration: none !important;
  transition: .2s ease;
  min-height: 72px;
}
.gf-service-card:hover {
  border-color: var(--gf-accent);
  background: rgba(var(--gf-accent-rgb),.12);
  transform: translateY(-2px);
}
.gf-service-card__icon {
  flex: 0 0 auto;
  width: 42px;
  height: 42px;
  border-radius: 12px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: rgba(var(--gf-accent-rgb),.15);
  color: var(--gf-accent);
  font-size: 1.15rem;
}
.gf-service-card__body {
  flex: 1 1 auto;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: .15rem;
}
.gf-service-card__body strong {
  font-size: .92rem;
  font-weight: 700;
  line-height: 1.25;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.gf-service-card__body small {
  color: rgba(255,255,255,.55);
  font-size: .75rem;
}
.gf-service-card__arrow {
  color: rgba(255,255,255,.35);
  font-size: .9rem;
}

.gf-quality-card {
  position: sticky;
  top: 1.25rem;
  padding: 1.35rem 1.25rem;
  border-radius: 18px;
  border: 1px solid var(--gf-line);
  background: linear-gradient(180deg, var(--gf-panel-2), var(--gf-ink));
}
.gf-quality-card h4 {
  font-size: 1.05rem;
  font-weight: 800;
  margin-bottom: .35rem;
}
.gf-quality-card__list {
  color: rgba(255,255,255,.78);
  font-size: .9rem;
  line-height: 1.55;
}

@media (max-width: 991.98px) {
  .gf-quality-card { position: static; }
}
@media (max-width: 767.98px) {
  .gf-service-grid { grid-template-columns: 1fr; }
  .gf-network-tab .gf-network-name { display: none; }
  .gf-network-tab { min-width: 54px; padding: .55rem !important; }
}


/* Breadcrumb — nunca truncar o caminho (wrap em vez de ellipsis) */
.gf-breadcrumb {
  padding-top: 7rem !important;
  padding-bottom: .85rem;
  position: relative;
  z-index: 1;
}
.gf-breadcrumb__list {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: .35rem .45rem;
  list-style: none;
  margin: 0;
  padding: .55rem .95rem;
  font-size: .84rem;
  line-height: 1.35;
  color: rgba(255,255,255,.7);
  background: transparent;
  border: 0;
  border-radius: 16px;
  width: fit-content;
  max-width: 100%;
  overflow: visible;
}
.gf-breadcrumb__item {
  display: inline-flex;
  align-items: center;
  gap: .4rem;
  white-space: normal;
  overflow: visible;
  max-width: 100%;
}
.gf-breadcrumb__item:first-child::before {
  content: "\f425";
  font-family: "bootstrap-icons";
  font-size: .8rem;
  opacity: .7;
  flex-shrink: 0;
}
.gf-breadcrumb__item:not(:last-child)::after {
  content: "›";
  margin-left: .35rem;
  opacity: .45;
  flex-shrink: 0;
}
.gf-breadcrumb__item.is-current span {
  color: rgba(255,255,255,.95);
  font-weight: 600;
  overflow: visible;
  text-overflow: unset;
  max-width: none;
  white-space: normal;
}
.gf-breadcrumb__item a {
  color: rgba(255,255,255,.85);
  text-decoration: none;
  white-space: nowrap;
}
.gf-breadcrumb__item a:hover { color: var(--gf-accent-2); }

/* Desktop: breadcrumb sem fundo/borda */
@media (min-width: 768px) {
  .gf-breadcrumb__list {
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    padding-left: 0;
    padding-right: 0;
  }
}


@media (max-width: 767.98px) {
  .gf-breadcrumb { padding-top: 6rem !important; }
  .gf-breadcrumb__list { border-radius: 999px; padding: .5rem .8rem; }
  .gf-breadcrumb__item.is-current span { max-width: none; }
}

/* ========== 2026 content design system ========== */
.gf-eyebrow {
  display: inline-block;
  margin: 0 0 .75rem;
  padding: .35rem .7rem;
  border-radius: 999px;
  border: 1px solid rgba(var(--gf-accent-rgb),.35);
  background: rgba(var(--gf-accent-rgb),.1);
  color: var(--gf-accent-2);
  font-size: .72rem;
  font-weight: 700;
  letter-spacing: .06em;
  text-transform: uppercase;
  font-family: "Sora", sans-serif !important;
}
.gf-section-head { margin-bottom: 1.25rem; }
.gf-section-title {
  margin: 0;
  font-size: clamp(1.45rem, 2.4vw, 2rem);
  font-weight: 800;
  line-height: 1.2;
  letter-spacing: -.03em;
  max-width: 18ch;
}
.gf-section-head.text-center .gf-section-title { max-width: 28ch; margin-inline: auto; }

/* Hero */
.gf-hero {
  padding-block: 8.5rem 3.5rem !important;
  min-height: auto;
  isolation: isolate;
  background: var(--gf-ink);
  overflow: visible;
}
/* Grid decorativo REMOVIDO de propósito.
   A máscara elíptica + overflow-hidden fazia o padrão parecer "cortado"
   no mobile (borda dura onde os pontos somem). Sites premium (Linear,
   Stripe, Vercel) usam só glow suave — sem grade truncada. */
.gf-hero__grid {
  display: none !important;
}
.gf-hero__glow {
  position: absolute;
  inset: 0;
  top: -25px;
  background:
    radial-gradient(ellipse 90% 70% at 50% -10%, rgba(var(--gf-purple-rgb), .38), transparent 58%),
    radial-gradient(ellipse 70% 55% at 80% 10%, rgba(var(--gf-accent-2-rgb), .22), transparent 55%),
    radial-gradient(ellipse 60% 50% at 15% 20%, rgba(var(--gf-accent-rgb), .16), transparent 50%);
  pointer-events: none;
  z-index: 0;
}
@media (max-width: 767.98px) {
  .gf-hero__glow {
    top: -150px;
  }
}
/* Fade suave na base do hero → conteúdo, sem linha de corte */
.gf-hero::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 4.5rem;
  background: linear-gradient(to bottom, transparent, var(--gf-ink));
  pointer-events: none;
  z-index: 0;
}
.gf-hero__inner {
  position: relative;
  z-index: 1;
  max-width: 40rem;
  margin: 0 auto;
  text-align: center;
}
.gf-hero__eyebrow {
  display: inline-flex;
  align-items: center;
  gap: .5rem;
  margin: 0 0 1.1rem;
  padding: .4rem .9rem .4rem .7rem;
  border-radius: 999px;
  border: 1px solid rgba(var(--gf-accent-2-rgb), .35);
  background: rgba(var(--gf-accent-rgb), .12);
  color: #fff;
  font-size: .78rem;
  font-weight: 700;
  letter-spacing: .01em;
  font-family: "Sora", sans-serif;
}
.gf-hero__eyebrow-dot {
  width: 7px;
  height: 7px;
  border-radius: 999px;
  background: var(--gf-gradient);
  box-shadow: 0 0 0 3px rgba(var(--gf-accent-2-rgb), .25);
}
.gf-hero__title {
  margin: 0;
  font-size: clamp(1.85rem, 4.2vw, 3rem);
  font-weight: 800;
  line-height: 1.08;
  letter-spacing: -.04em;
}
.gf-hero__lead {
  margin: 1rem auto 0;
  max-width: 34rem;
  color: var(--gf-muted);
  font-size: 1.05rem;
  line-height: 1.6;
}
.gf-hero__cta { margin-top: 1.75rem; }
.gf-hero__cta .btn-lg {
  padding: .85rem 1.9rem;
  border-radius: 14px;
  font-size: 1rem;
}

.gf-hero__badges {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: .55rem;
  list-style: none;
  margin: 1.5rem 0 0;
  padding: 0;
}
.gf-hero__badges li {
  display: inline-flex;
  align-items: center;
  gap: .4rem;
  padding: .45rem .85rem;
  border-radius: 999px;
  border: 1px solid var(--gf-line);
  background: rgba(255,255,255,.04);
  color: rgba(255,255,255,.82);
  font-size: .8rem;
  font-weight: 600;
  white-space: nowrap;
}
.gf-hero__badges li i {
  color: var(--gf-accent-2);
  font-size: .85rem;
}

.gf-hero__scroll-cue {
  position: absolute;
  left: 50%;
  bottom: 1.1rem;
  transform: translateX(-50%);
  z-index: 1;
  width: 34px;
  height: 34px;
  border-radius: 999px;
  border: 1px solid var(--gf-line);
  background: rgba(255,255,255,.04);
  color: rgba(255,255,255,.6);
  display: none;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: .2s ease;
  animation: gf-bounce 2.2s ease-in-out infinite;
}
.gf-hero__scroll-cue:hover {
  color: #fff;
  border-color: rgba(var(--gf-accent-2-rgb), .5);
}
@media (min-width: 576px) {
  .gf-hero__scroll-cue { display: inline-flex; }
}
@keyframes gf-bounce {
  0%, 100% { transform: translate(-50%, 0); }
  50% { transform: translate(-50%, 5px); }
}
@media (prefers-reduced-motion: reduce) {
  .gf-hero__scroll-cue { animation: none; }
}

.header-section .img-background { opacity: .25; background-size: cover; background-position: center; }

/* Article — Stripe/Linear-inspired readable measure */
.gf-article-section { background: linear-gradient(180deg, transparent, rgba(255,255,255,.02) 40%, transparent); }
.gf-article {
  max-width: 42rem;
  margin: 0 auto;
  color: rgba(255,255,255,.88);
  font-size: 1.05rem;
  line-height: 1.7;
}
.gf-article > *:first-child { margin-top: 0; }
.gf-article .gf-lead {
  font-size: 1.2rem;
  line-height: 1.55;
  color: #fff;
  font-weight: 500;
  padding: 1.15rem 1.25rem;
  border-radius: 18px;
  border: 1px solid rgba(var(--gf-accent-rgb),.28);
  background: linear-gradient(135deg, rgba(var(--gf-accent-rgb),.14), rgba(255,255,255,.03));
  margin-bottom: 2rem;
}
.gf-article h2 {
  margin: 2.5rem 0 .85rem;
  font-size: clamp(1.35rem, 2vw, 1.65rem);
  font-weight: 800;
  letter-spacing: -.03em;
  line-height: 1.2;
  color: #fff;
}
.gf-article h3 {
  margin: 1.5rem 0 .5rem;
  font-size: 1.05rem;
  font-weight: 700;
  color: #fff;
}
.gf-article p { margin: 0 0 1rem; color: var(--gf-muted); }
.gf-article p strong, .gf-article li strong { color: rgba(255,255,255,.95); }
.gf-article ul, .gf-article ol { margin: 0 0 1.25rem; padding-left: 1.15rem; color: var(--gf-muted); }
.gf-article li { margin-bottom: .45rem; }
.gf-article a { color: var(--gf-accent-2); text-decoration: none; border-bottom: 1px solid rgba(var(--gf-accent-2-rgb),.35); }
.gf-article a:hover { color: #fff; border-bottom-color: var(--gf-accent); }

.gf-bento {
  display: grid;
  grid-template-columns: repeat(3, minmax(0,1fr));
  gap: .75rem;
  margin: 1.5rem 0 2rem;
}
.gf-bento__item {
  padding: 1rem 1.05rem;
  border-radius: 16px;
  border: 1px solid var(--gf-line);
  background: rgba(255,255,255,.03);
}
.gf-bento__item strong {
  display: block;
  margin-bottom: .35rem;
  color: #fff;
  font-size: .92rem;
  font-family: "Sora", sans-serif;
}
.gf-bento__item span { color: var(--gf-muted); font-size: .88rem; line-height: 1.45; display: block; }

.gf-honest {
  margin: 2rem 0;
  padding: 1.25rem 1.35rem;
  border-radius: 18px;
  border: 1px solid rgba(255,255,255,.1);
  background: rgba(0,0,0,.25);
}
.gf-honest h2 { margin-top: 0; }
.gf-honest ul { margin-bottom: 0; }

.gf-price-table {
  width: 100%;
  border-collapse: collapse;
  margin: 1rem 0 1.5rem;
  font-variant-numeric: tabular-nums;
  font-size: .95rem;
}
.gf-price-table th,
.gf-price-table td {
  padding: .7rem .85rem;
  border-bottom: 1px solid var(--gf-line);
  text-align: left;
}
.gf-price-table th { color: rgba(255,255,255,.55); font-weight: 600; font-size: .78rem; text-transform: uppercase; letter-spacing: .04em; }
.gf-price-table td { color: rgba(255,255,255,.9); }
.gf-price-table tr:hover td { background: rgba(var(--gf-accent-rgb),.06); }

.gf-steps-list {
  list-style: none;
  padding: 0;
  margin: 1rem 0 1.5rem;
  counter-reset: gfstep;
}
.gf-steps-list li {
  counter-increment: gfstep;
  position: relative;
  padding: .85rem .85rem .85rem 3.2rem;
  margin-bottom: .55rem;
  border-radius: 14px;
  border: 1px solid var(--gf-line);
  background: rgba(255,255,255,.03);
}
.gf-steps-list li::before {
  content: counter(gfstep);
  position: absolute;
  left: .75rem; top: 50%;
  transform: translateY(-50%);
  width: 1.75rem; height: 1.75rem;
  border-radius: 999px;
  display: grid; place-items: center;
  background: rgba(var(--gf-accent-rgb),.18);
  color: var(--gf-accent-2);
  font-weight: 800;
  font-size: .85rem;
  font-family: "Sora", sans-serif;
}

.gf-related {
  display: flex;
  flex-wrap: wrap;
  gap: .5rem;
  margin-top: 1rem;
}
.gf-related a {
  display: inline-flex;
  padding: .55rem .85rem;
  border-radius: 999px;
  border: 1px solid var(--gf-line);
  background: rgba(255,255,255,.03);
  color: rgba(255,255,255,.85) !important;
  border-bottom: 0 !important;
  font-size: .85rem;
  font-weight: 600;
}
.gf-related a:hover { border-color: var(--gf-accent); background: rgba(var(--gf-accent-rgb),.12); color: #fff !important; }

.gf-faq-block h3 {
  margin-top: 1.35rem;
  padding-top: 1.1rem;
  border-top: 1px solid var(--gf-line);
  font-size: 1rem;
}
.gf-faq-block h3:first-of-type { border-top: 0; padding-top: 0; }

/* How-it-works steps polish */
.how-it-work .step-icon {
  width: 48px; height: 48px;
  border-radius: 14px;
  display: grid; place-items: center;
  background: rgba(var(--gf-accent-rgb),.15);
  color: var(--gf-accent);
  font-weight: 800;
  margin-bottom: .75rem;
}
.how-it-work .single_work_step h5 { font-weight: 700; }
.how-it-work .single_work_step p { color: var(--gf-muted); font-size: .92rem; }
.how-it-work .arrow { opacity: .25; }

/* Packages section head cleanup */
.package-list-tab, .packages-section .section-header { max-width: 100%; }

@media (max-width: 991.98px) {
  .gf-bento { grid-template-columns: 1fr; }
}
@media (max-width: 767.98px) {
  .gf-article { font-size: 1rem; }
  .gf-hero { padding-block: 6.5rem 2.5rem !important; }
}

/* ========== Overrides de paleta Bootstrap (substituem o laranja fixo do main.css) ========== */
.accordion,
[data-bs-theme=dark] .accordion {
  --bs-accordion-active-color: var(--gf-accent-2);
  --bs-accordion-btn-active-icon: url('data:image/svg+xml,%3csvg xmlns="http://www.w3.org/2000/svg" fill="%23E1306C" class="bi bi-dash" viewBox="0 0 16 16"%3e %3cpath d="M4 8a.5.5 0 0 1 .5-.5h7a.5.5 0 0 1 0 1h-7A.5.5 0 0 1 4 8z"/%3e %3c/svg%3e');
}
[data-bs-theme=dark] .accordion-button::after {
  --bs-accordion-btn-active-icon: url('data:image/svg+xml,%3csvg xmlns="http://www.w3.org/2000/svg" fill="%23E1306C" class="bi bi-dash" viewBox="0 0 16 16"%3e %3cpath d="M4 8a.5.5 0 0 1 .5-.5h7a.5.5 0 0 1 0 1h-7A.5.5 0 0 1 4 8z"/%3e %3c/svg%3e');
}
.accordion-button:not(.collapsed) {
  color: var(--gf-accent-2) !important;
  background: rgba(var(--gf-accent-rgb), .08) !important;
}

.btn-outline-primary {
  --bs-btn-color: var(--gf-accent-2) !important;
  --bs-btn-border-color: var(--gf-accent-2) !important;
  --bs-btn-hover-bg: var(--gf-accent-2) !important;
  --bs-btn-hover-border-color: var(--gf-accent-2) !important;
  --bs-btn-active-bg: var(--gf-accent-2) !important;
  --bs-btn-active-border-color: var(--gf-accent-2) !important;
  --bs-btn-disabled-color: var(--gf-accent-2) !important;
  --bs-btn-disabled-border-color: var(--gf-accent-2) !important;
}

.form-check-input:checked,
.form-switch .form-check-input:checked {
  background-color: var(--gf-accent) !important;
  border-color: var(--gf-accent) !important;
}
.form-select:focus,
.form-control:focus {
  border-color: var(--gf-accent-2) !important;
  box-shadow: 0 0 0 .2rem rgba(var(--gf-accent-2-rgb), .18) !important;
}

.dropdown-item.active, .dropdown-item:active {
  background-color: var(--gf-accent) !important;
}
.nav-pills .nav-link.active, .nav-pills .show > .nav-link {
  background-color: var(--gf-accent) !important;
}
.page-link, a.page-link {
  color: var(--gf-accent-2) !important;
}
.page-item.active .page-link {
  background-color: var(--gf-accent) !important;
  border-color: var(--gf-accent) !important;
}
.list-group-item.active {
  background-color: var(--gf-accent) !important;
  border-color: var(--gf-accent) !important;
}
.progress-bar {
  background-color: var(--gf-accent) !important;
}
a, .link-primary {
  --bs-link-color: var(--gf-accent-2);
  --bs-link-hover-color: var(--gf-accent);
}
::selection {
  background: rgba(var(--gf-accent-rgb), .35);
}

/* Botão flutuante de WhatsApp */
.gf-whatsapp-float {
  position: fixed;
  right: 1.25rem;
  bottom: 1.25rem;
  z-index: 1050;
  width: 58px;
  height: 58px;
  border-radius: 999px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: #25D366;
  color: #fff !important;
  font-size: 1.6rem;
  box-shadow: 0 12px 28px rgba(0,0,0,.35);
  transition: transform .2s ease, box-shadow .2s ease, opacity .35s ease, visibility .35s ease;
  text-decoration: none !important;
}
.gf-whatsapp-float.is-delayed {
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transform: translateY(10px) scale(.92);
}
.gf-whatsapp-float.is-delayed.is-visible {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  transform: none;
}
.gf-whatsapp-float:hover {
  transform: translateY(-3px) scale(1.05);
  box-shadow: 0 16px 34px rgba(0,0,0,.45);
}
@media (max-width: 575.98px) {
  .gf-whatsapp-float { width: 52px; height: 52px; font-size: 1.4rem; right: 1rem; bottom: 1rem; }
}

/* ========================================================================
   SISTEMA DE CORES — override completo das variáveis do Bootstrap
   Corrige a raiz do problema: antes só componentes isolados (.btn, .badge
   etc.) tinham o laranja/azul trocados, mas as variáveis --bs-primary-rgb,
   --bs-focus-ring-color, --bs-link-color e --bs-info continuavam com os
   valores antigos (laranja #ea580c e azul #0ea5e9), reaparecendo em
   estados de foco, links, subtle-bg, etc. Redefinindo aqui, em cascata,
   TODO componente Bootstrap que consome essas variáveis fica correto de
   uma vez, no claro e no escuro.
   ======================================================================== */
:root {
  --bs-primary: var(--gf-accent);
  --bs-primary-rgb: var(--gf-accent-rgb);
  --bs-primary-text-emphasis: #7a2154;
  --bs-primary-bg-subtle: #f6d9e9;
  --bs-primary-border-subtle: #e7a9cb;

  --bs-link-color: var(--gf-accent);
  --bs-link-color-rgb: var(--gf-accent-rgb);
  --bs-link-hover-color: var(--gf-accent-2);
  --bs-link-hover-color-rgb: var(--gf-accent-2-rgb);

  --bs-focus-ring-color: rgba(var(--gf-accent-rgb), 0.25);

  /* "info" deixa de ser o azul genérico do Bootstrap e passa a usar o
     índigo do próprio gradiente do Instagram — combina com o resto. */
  --bs-info: #5B51D8;
  --bs-info-rgb: 91, 81, 216;
  --bs-info-text-emphasis: #33298f;
  --bs-info-bg-subtle: #e1defa;
  --bs-info-border-subtle: #b6acef;
}

[data-bs-theme=dark] {
  --bs-primary: var(--gf-accent-2);
  --bs-primary-rgb: var(--gf-accent-2-rgb);
  --bs-primary-text-emphasis: #f2a9c6;
  --bs-primary-bg-subtle: #4a1233;
  --bs-primary-border-subtle: #6b1d47;

  --bs-link-color: var(--gf-accent-2);
  --bs-link-color-rgb: var(--gf-accent-2-rgb);
  --bs-link-hover-color: #f2a9c6;
  --bs-link-hover-color-rgb: 242, 169, 198;

  --bs-focus-ring-color: rgba(var(--gf-accent-2-rgb), 0.3);

  --bs-info: #8b80e8;
  --bs-info-rgb: 139, 128, 232;
  --bs-info-text-emphasis: #c3bcf2;
  --bs-info-bg-subtle: #2a2566;
  --bs-info-border-subtle: #4c449e;

  --bs-body-bg: var(--gf-ink);
  --bs-body-bg-rgb: 10, 10, 10;
  --bs-tertiary-bg: var(--gf-panel);
  --bs-secondary-bg: var(--gf-panel-2);
}

/* Estados de foco/hover consistentes nos componentes próprios do site —
   nunca deixar o navegador cair no azul padrão de :focus-visible. */
.gf-service-card:focus-visible,
.gf-network-tab:focus-visible,
.gf-related a:focus-visible,
.gf-hero__scroll-cue:focus-visible,
.gf-whatsapp-float:focus-visible,
.nav-link:focus-visible,
.btn:focus-visible,
a:focus-visible {
  outline: 2px solid var(--gf-accent-2);
  outline-offset: 2px;
}
.gf-service-card:hover, .gf-service-card:focus-visible,
.gf-network-tab:hover, .gf-network-tab:focus-visible {
  outline: none;
}
.btn-primary:focus-visible {
  outline-color: #fff;
  box-shadow: 0 0 0 .25rem rgba(var(--gf-accent-2-rgb), .45) !important;
}


/* ========================================================================
   HEADER / MENU — UX 2026 (tap 44px, ARIA, ícones, tema ao lado do
   hamburger, sociais no offcanvas, focus visível, SEO via links reais).
   ======================================================================== */
.gf-header .gf-navbar .container {
  position: relative;
}
.gf-nav-icon-btn {
  width: 44px;
  height: 44px;
  min-width: 44px;
  min-height: 44px;
  padding: 0 !important;
  border-radius: 12px !important;
  border: 1px solid rgba(255,255,255,.14) !important;
  background: rgba(255,255,255,.06) !important;
  color: #fff !important;
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  transition: background .2s ease, border-color .2s ease, transform .15s ease, color .2s ease;
}
.gf-nav-icon-btn:hover,
.gf-nav-icon-btn:focus-visible {
  background: rgba(var(--gf-accent-rgb), .22) !important;
  border-color: rgba(var(--gf-accent-2-rgb), .55) !important;
  color: #fff !important;
  outline: none;
}
.gf-nav-icon-btn:focus-visible {
  box-shadow: 0 0 0 3px rgba(var(--gf-accent-2-rgb), .35);
}
.gf-nav-icon-btn:active {
  transform: scale(.96);
}
.gf-navbar__toggler {
  color: #fff !important;
}
.gf-navbar__toggler-icon {
  font-size: 1.65rem;
  line-height: 1;
  color: #fff !important;
  opacity: 1 !important;
}
/* Fallback SVG (caso ainda exista .navbar-toggler-icon em algum lugar) */
[data-bs-theme=dark],
.navbar[data-bs-theme=dark],
.header-menu[data-bs-theme=dark],
.gf-header {
  --bs-navbar-toggler-icon-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28255,255,255,1%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e");
}
.gf-navbar__toggler .navbar-toggler-icon,
[data-bs-theme=dark] .navbar-toggler-icon,
.navbar[data-bs-theme=dark] .navbar-toggler-icon,
.header-menu[data-bs-theme=dark] .navbar-toggler-icon,
.gf-header .navbar-toggler-icon {
  width: 1.25rem;
  height: 1.25rem;
  filter: none !important;
  opacity: 1 !important;
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28255,255,255,1%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e") !important;
}
/* Ícones do header no dark: sempre brancos */
[data-bs-theme=dark] .gf-nav-icon-btn,
[data-bs-theme=dark] .gf-header .gf-nav-icon-btn,
[data-bs-theme=dark] .header-menu .gf-nav-icon-btn {
  color: #fff !important;
}
[data-bs-theme=dark] .gf-nav-icon-btn i,
[data-bs-theme=dark] .gf-header .gf-nav-icon-btn i,
[data-bs-theme=dark] .header-menu .gf-nav-icon-btn i {
  color: #fff !important;
  opacity: 1 !important;
}
/* Close do offcanvas no dark: branco legível */
[data-bs-theme=dark] .offcanvas .btn-close,
.header-menu[data-bs-theme=dark] .offcanvas .btn-close,
.gf-offcanvas .btn-close {
  filter: invert(1) grayscale(100%) brightness(200%) !important;
  opacity: .95 !important;
}

/* Theme toggle: mostra sol no dark (vai para claro) e lua no light */
.gf-theme-toggle .gf-theme-toggle__icon-light { display: none; }
.gf-theme-toggle .gf-theme-toggle__icon-dark { display: inline-block; }
.gf-theme-toggle.is-light .gf-theme-toggle__icon-light { display: inline-block; }
.gf-theme-toggle.is-light .gf-theme-toggle__icon-dark { display: none; }
[data-bs-theme=light] .gf-theme-toggle .gf-theme-toggle__icon-light { display: inline-block; }
[data-bs-theme=light] .gf-theme-toggle .gf-theme-toggle__icon-dark { display: none; }
/* light: ícones do header ficam escuros via regras transparentes */


/* Desktop nav links */
.gf-nav-link {
  min-height: 44px;
  font-weight: 600;
  letter-spacing: .01em;
  transition: color .18s ease, background .18s ease;
}
.gf-nav-link__icon {
  font-size: 1.05rem;
  opacity: .9;
}
.gf-nav-network__img {
  width: 22px;
  height: 22px;
  object-fit: contain;
  flex-shrink: 0;
  border-radius: 6px;
}
.gf-nav-caret {
  opacity: .65;
  transition: transform .2s ease;
}
.gf-nav-dropdown.show .gf-nav-caret,
.dropdown.show .gf-nav-caret {
  transform: rotate(180deg);
}
.gf-nav-cta {
  padding-inline: 1rem !important;
  box-shadow: 0 8px 20px rgba(var(--gf-accent-rgb), .28);
  background: var(--gf-gradient) !important;
  border: 0 !important;
  color: #fff !important;
}
.gf-nav-cta span,
.gf-nav-cta i,
.gf-nav-cta .gf-nav-link__icon {
  color: #fff !important;
}

.header-menu .text-dark.nav-link:hover,
.header-menu .text-dark.nav-link:focus-visible,
[data-bs-theme=light] header.header-menu .offcanvas.show .text-dark.nav-link:hover,
header.header-menu .offcanvas.show .text-dark.nav-link:hover,
.gf-nav-link:not(.gf-nav-cta):hover,
.gf-nav-link:not(.gf-nav-cta):focus-visible {
  color: var(--gf-accent-2) !important;
}
.gf-nav-cta,
.gf-nav-cta:hover,
.gf-nav-cta:focus-visible {
  color: #fff !important;
}
header.header-menu .offcanvas.show .text-dark.nav-link.active,
header.header-menu .offcanvas.show .nav-item .active > .text-dark.nav-link {
  color: #fff !important;
  background: rgba(var(--gf-accent-rgb), .18);
  border-radius: 10px;
}
.header-menu .dropdown-menu,
.gf-nav-dropdown__menu {
  --bs-dropdown-link-active-bg: var(--gf-gradient);
  border: 1px solid var(--gf-line) !important;
  border-radius: 14px !important;
  overflow: hidden;
  padding: .4rem !important;
  background: #16111c !important;
}
.gf-nav-dropdown__menu .dropdown-item {
  border-radius: 10px;
  color: rgba(255,255,255,.88) !important;
  min-height: 42px;
  display: flex;
  align-items: center;
}
.gf-nav-dropdown__menu .dropdown-item:hover,
.gf-nav-dropdown__menu .dropdown-item:focus {
  background: rgba(var(--gf-accent-rgb), .2) !important;
  color: #fff !important;
}

/* Offcanvas mobile drawer */
.gf-offcanvas.offcanvas {
  display: flex;
  flex-direction: column;
}
.gf-offcanvas .gf-offcanvas__body {
  flex: 1 1 auto;
}

header.header-menu .offcanvas.show,
header.header-menu .gf-offcanvas.show {
  background-image: linear-gradient(165deg, #1a0f24 0%, #2a0f22 50%, #140a12 100%) !important;
  box-shadow: -18px 0 48px rgba(0,0,0,.45);
}
header.header-menu .offcanvas .navbar-brand { filter: none; }
/* btn-close no dark fica branco via regra com !important acima */
.gf-offcanvas__header {
  padding: 1.35rem 1.35rem 1rem !important;
  border-bottom: 1px solid rgba(255,255,255,.08);
}
.gf-offcanvas .btn-close {
  width: 44px;
  height: 44px;
  opacity: .85;
  background-color: rgba(255,255,255,.08);
  border-radius: 12px;
  background-size: .7rem;
}
.gf-offcanvas__body {
  padding: 1rem 1.15rem 1.5rem !important;
}
@media (max-width: 1199.98px) {
  .gf-offcanvas.show .gf-nav-list {
    row-gap: .35rem !important;
  }
  .gf-offcanvas.show .gf-nav-link,
  .gf-offcanvas.show .nav-link {
    padding: .85rem 1rem !important;
    border-radius: 14px !important;
    background: rgba(255,255,255,.04);
    border: 1px solid rgba(255,255,255,.06);
    color: rgba(255,255,255,.92) !important;
    font-size: 1.02rem;
  }
  .gf-offcanvas.show .gf-nav-link:hover,
  .gf-offcanvas.show .gf-nav-link:focus-visible,
  .gf-offcanvas.show .nav-link:hover,
  .gf-offcanvas.show .nav-link:focus-visible {
    background: rgba(var(--gf-accent-rgb), .16) !important;
    border-color: rgba(var(--gf-accent-2-rgb), .35);
    color: #fff !important;
  }
  .gf-offcanvas.show .gf-nav-cta {
    background: linear-gradient(135deg, var(--gf-orange), #ff3d00) !important;
    border-color: transparent !important;
    justify-content: center;
  }
  .gf-offcanvas.show .gf-nav-dropdown .dropdown-menu {
    position: static !important;
    transform: none !important;
    float: none;
    width: 100%;
    margin-top: .4rem;
    box-shadow: none !important;
    background: rgba(0,0,0,.22) !important;
  }
  .gf-offcanvas.show .gf-nav-link__icon,
  .gf-offcanvas.show .gf-nav-network__img {
    width: 24px;
    height: 24px;
  }
}

/* Social icons inside mobile menu */
.gf-offcanvas__socials {
  margin-top: auto;
  padding: 1rem 1.35rem 1.75rem;
  border-top: 1px solid rgba(255,255,255,.08);
}
.gf-offcanvas__socials-label {
  margin: 0 0 .75rem;
  font-size: .78rem;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: rgba(255,255,255,.55);
  font-weight: 700;
}
.gf-offcanvas__socials-row {
  display: flex;
  flex-wrap: wrap;
  gap: .65rem;
}
.gf-offcanvas__social-link {
  width: 44px;
  height: 44px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 12px;
  border: 1px solid rgba(255,255,255,.12);
  background: rgba(255,255,255,.06);
  color: #fff !important;
  text-decoration: none !important;
  font-size: 1.15rem;
  transition: background .2s ease, border-color .2s ease, transform .15s ease;
}
.gf-offcanvas__social-link:hover,
.gf-offcanvas__social-link:focus-visible {
  background: linear-gradient(135deg, var(--gf-orange), #ff3d00);
  border-color: transparent;
  outline: none;
  transform: translateY(-1px);
}

/* Light theme polish for header tools (site ainda é dark-first) */
[data-bs-theme=light] .gf-nav-icon-btn {
  border: 0 !important;
  background: transparent !important;
  color: #1a1a1a !important;
  box-shadow: none !important;
}
/* Ícones claros só quando a PÁGINA está dark (header tem data-bs-theme=dark sempre) */
[data-bs-theme=dark] .gf-header .gf-nav-icon-btn,
[data-bs-theme=dark] .gf-header .gf-nav-icon-btn i,
[data-bs-theme=dark] .gf-header .gf-navbar__toggler-icon {
  color: #fff !important;
  opacity: 1 !important;
}
[data-bs-theme=dark] .gf-header .gf-nav-icon-btn {
  background: rgba(255,255,255,.06) !important;
  border: 1px solid rgba(255,255,255,.14) !important;
}
[data-bs-theme=dark] .gf-header .gf-navbar__toggler .navbar-toggler-icon {
  filter: none !important;
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28255,255,255,1%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e") !important;
}

/* Badge "above-heading" (não usado nas páginas ativas hoje, mas ficava
   laranja sobre fundo branco caso reative-se algum layout antigo). */
.section-header .above-heading {
  color: #fff;
  background: var(--gf-gradient);
}


/* ========================================================================
   Contadores da home (counters_section) — o CSS original do tema deixava
   o icone do meio azul (#0d6efd) e o numero de TODOS os contadores em
   laranja (#b94a07), herdados do landing_page.css nunca tocado antes.
   ======================================================================== */
section.counts-area .count-box i {
  color: var(--gf-purple);
}
section.counts-area .count-box span {
  color: var(--gf-accent-2);
}
section.counts-area .count-box {
  border: 1px solid var(--gf-line) !important;
}


/* ========================================================================
   Pagina de avaliacoes (reviews_section) e "como funciona" (how-it-work)
   — os dois arrastavam cores antigas do landing_page.css que nunca
   tinham sido tocadas: fundo branco fixo na secao de reviews (quebrava
   o tema dark), barra de progresso "orange" literal, e os icones dos
   passos do "como funciona" eram azul-marinho (#0d1399) parados e
   viravam laranja (#ff9800) no hover — presentes em TODAS as paginas de
   categoria.
   ======================================================================== */
section.reviews {
  background: var(--gf-ink) !important;
}
.rating-box {
  border: 1px solid var(--gf-line) !important;
  background: rgba(255,255,255,.03);
  color: rgba(255,255,255,.92);
}
.rating-box .progress { background-color: rgba(255,255,255,.08); }
.rating-box .rating-bar,
section.reviews .rating-box .rating-bar {
  background: var(--gf-gradient) !important;
}

section.how-it-work .single_work_step .step-icon {
  background: rgba(var(--gf-accent-rgb), .15);
}
section.how-it-work .single_work_step .step-icon::after {
  border-color: var(--gf-accent) !important;
}
section.how-it-work .single_work_step .step-icon i {
  color: var(--gf-accent) !important;
}
section.how-it-work .single_work_step .arrow {
  color: var(--gf-line) !important;
}
section.how-it-work .single_work_step:hover .step-icon::after,
section.how-it-work .single_work_step:focus .step-icon::after,
section.how-it-work .single_work_step:focus-visible .step-icon::after {
  border-color: var(--gf-accent-2) !important;
}
section.how-it-work .single_work_step:hover .step-icon i,
section.how-it-work .single_work_step:focus .step-icon i,
section.how-it-work .single_work_step:focus-visible .step-icon i,
section.how-it-work .single_work_step:hover h5,
section.how-it-work .single_work_step:focus h5,
section.how-it-work .single_work_step:focus-visible h5,
section.how-it-work .single_work_step:focus::before {
  color: var(--gf-accent-2) !important;
}

/* Rodape "quick-link" (nao usado nas paginas ativas hoje, mas fica
   documentado caso seja reativado no futuro). */
section.quick-link .bg-gradient-dark {
  background-image: linear-gradient(180deg, var(--gf-panel-2), var(--gf-ink)) !important;
}


/* ========================================================================
   Ultimos componentes Bootstrap que ainda usavam #fd7702 direto (nao via
   variavel) — paginacao, progress bar generico, list-group e nav-pills.
   Cobertura final para não sobrar nenhum laranja escondido.
   ======================================================================== */
.pagination {
  --bs-pagination-active-bg: var(--gf-accent) !important;
  --bs-pagination-active-border-color: var(--gf-accent-2) !important;
  --bs-pagination-focus-box-shadow: 0 0 0 .25rem rgba(var(--gf-accent-rgb), .25) !important;
}
.progress {
  --bs-progress-bar-bg: var(--gf-accent) !important;
}
.list-group {
  --bs-list-group-active-bg: var(--gf-accent) !important;
  --bs-list-group-active-border-color: var(--gf-accent-2) !important;
}
.nav-pills {
  --bs-nav-pills-link-active-bg: var(--gf-accent) !important;
}


/* ========================================================================
   Secao "Por que escolher a Go Followers" (why_choose_us_section, usada
   na home) — o card usava uma variavel CSS que nunca foi definida em
   lugar nenhum (--surface-color), então o fundo ficava transparente, e
   o icone usava laranja (#ff9800) fixo, tanto parado quanto no hover.
   ======================================================================== */
section.why-choose-us .icon-box {
  background-color: var(--gf-panel) !important;
  border: 1px solid var(--gf-line);
}
section.why-choose-us .icon-box i {
  background-color: rgba(var(--gf-accent-rgb), .15) !important;
  color: var(--gf-accent) !important;
}
section.why-choose-us .icon-box:hover i {
  background-color: var(--gf-gradient) !important;
  color: #fff !important;
}
section.why-choose-us .icon-box:hover {
  border-color: rgba(var(--gf-accent-2-rgb), .4);
}


/* ========================================================================
   NETWORK HUB (/instagram, /tiktok, …) — claro + escuro, glow, ícones
   ======================================================================== */
.gf-hub {
  --gf-hub-accent: var(--gf-accent);
  --gf-hub-accent-2: var(--gf-accent-2);
  --gf-hub-accent-rgb: var(--gf-accent-rgb);
  --gf-hub-accent-2-rgb: var(--gf-accent-2-rgb);
  --gf-hub-surface: rgba(255, 255, 255, .04);
  --gf-hub-surface-hover: rgba(var(--gf-hub-accent-rgb), .12);
  --gf-hub-border: var(--gf-line);
  --gf-hub-text: rgba(255, 255, 255, .92);
  --gf-hub-muted: var(--gf-muted);
  --gf-hub-page-bg: var(--gf-ink);
  --gf-hub-tile-bg: linear-gradient(165deg, rgba(255,255,255,.06) 0%, rgba(255,255,255,.02) 100%);
  --gf-hub-icon-bg: rgba(var(--gf-hub-accent-rgb), .16);
  --gf-hub-icon-color: #fff;
  --gf-hub-glow-a: rgba(var(--gf-purple-rgb), .36);
  --gf-hub-glow-b: rgba(var(--gf-hub-accent-2-rgb), .22);
  --gf-hub-glow-c: rgba(var(--gf-hub-accent-rgb), .14);

  position: relative;
  isolation: isolate;
  overflow: hidden;
  padding: 1.5rem 0 4.5rem;
  background: var(--gf-hub-page-bg);
  color: var(--gf-hub-text);
}

/* Acentos por rede */
.gf-hub--instagram {
  --gf-hub-accent: #C13584;
  --gf-hub-accent-2: #E1306C;
  --gf-hub-accent-rgb: 193, 53, 132;
  --gf-hub-accent-2-rgb: 225, 48, 108;
  --gf-hub-glow-a: rgba(131, 58, 180, .4);
  --gf-hub-glow-b: rgba(225, 48, 108, .28);
}
.gf-hub--tiktok {
  --gf-hub-accent: #25F4EE;
  --gf-hub-accent-2: #FE2C55;
  --gf-hub-accent-rgb: 37, 244, 238;
  --gf-hub-accent-2-rgb: 254, 44, 85;
  --gf-hub-glow-a: rgba(37, 244, 238, .22);
  --gf-hub-glow-b: rgba(254, 44, 85, .2);
  --gf-hub-icon-color: #0a0a0a;
}
.gf-hub--youtube {
  --gf-hub-accent: #FF0033;
  --gf-hub-accent-2: #FF4D6D;
  --gf-hub-accent-rgb: 255, 0, 51;
  --gf-hub-accent-2-rgb: 255, 77, 109;
  --gf-hub-glow-a: rgba(255, 0, 51, .28);
  --gf-hub-glow-b: rgba(255, 77, 109, .18);
}
.gf-hub--facebook {
  --gf-hub-accent: #1877F2;
  --gf-hub-accent-2: #4B9BFF;
  --gf-hub-accent-rgb: 24, 119, 242;
  --gf-hub-accent-2-rgb: 75, 155, 255;
  --gf-hub-glow-a: rgba(24, 119, 242, .28);
}
.gf-hub--twitter {
  --gf-hub-accent: #1D9BF0;
  --gf-hub-accent-2: #8ECDF8;
  --gf-hub-accent-rgb: 29, 155, 240;
  --gf-hub-accent-2-rgb: 142, 205, 248;
  --gf-hub-glow-a: rgba(29, 155, 240, .28);
}
.gf-hub--soundcloud {
  --gf-hub-accent: #FF5500;
  --gf-hub-accent-2: #FF8A4C;
  --gf-hub-accent-rgb: 255, 85, 0;
  --gf-hub-accent-2-rgb: 255, 138, 76;
}
.gf-hub--spotify {
  --gf-hub-accent: #1DB954;
  --gf-hub-accent-2: #1ED760;
  --gf-hub-accent-rgb: 29, 185, 84;
  --gf-hub-accent-2-rgb: 30, 215, 96;
  --gf-hub-icon-color: #0a0a0a;
}

.gf-hub__glow {
  position: absolute;
  inset: 0;
  pointer-events: none;
  z-index: 0;
  background:
    radial-gradient(ellipse 85% 55% at 50% -8%, var(--gf-hub-glow-a), transparent 58%),
    radial-gradient(ellipse 55% 40% at 88% 12%, var(--gf-hub-glow-b), transparent 55%),
    radial-gradient(ellipse 45% 35% at 8% 18%, var(--gf-hub-glow-c), transparent 50%);
}
.gf-hub > .container {
  position: relative;
  z-index: 1;
}

.gf-hub__hero {
  max-width: 40rem;
  margin: 0 auto 2.75rem;
  text-align: center;
}
.gf-hub__brand {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: .85rem;
  margin-bottom: 1.15rem;
}
.gf-hub__logo-wrap {
  width: 64px;
  height: 64px;
  border-radius: 18px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: var(--gf-hub-tile-bg);
  border: 1px solid rgba(var(--gf-hub-accent-rgb), .45);
  box-shadow:
    0 0 0 4px rgba(var(--gf-hub-accent-rgb), .12),
    0 12px 36px rgba(var(--gf-hub-accent-rgb), .28);
  overflow: hidden;
}
.gf-hub__logo-wrap--fallback {
  font-family: "Sora", sans-serif;
  font-weight: 800;
  font-size: 1.05rem;
  color: #fff;
  background: linear-gradient(135deg, rgb(var(--gf-hub-accent-rgb)), rgb(var(--gf-hub-accent-2-rgb)));
}
.gf-hub__logo {
  width: 40px;
  height: 40px;
  object-fit: contain;
  display: block;
}
.gf-hub__eyebrow {
  display: inline-flex;
  align-items: center;
  gap: .5rem;
  padding: .4rem .9rem .4rem .7rem;
  border-radius: 999px;
  border: 1px solid rgba(var(--gf-hub-accent-2-rgb), .4);
  background: rgba(var(--gf-hub-accent-rgb), .14);
  color: #fff;
  font-size: .78rem;
  font-weight: 700;
  font-family: "Sora", sans-serif;
  letter-spacing: .01em;
}
.gf-hub__eyebrow-dot {
  width: 7px;
  height: 7px;
  border-radius: 999px;
  background: linear-gradient(135deg, rgb(var(--gf-hub-accent-rgb)), rgb(var(--gf-hub-accent-2-rgb)));
  box-shadow: 0 0 0 3px rgba(var(--gf-hub-accent-2-rgb), .28);
}
.gf-hub__title {
  margin: 0;
  font-size: clamp(1.85rem, 4vw, 2.75rem);
  font-weight: 800;
  line-height: 1.08;
  letter-spacing: -.04em;
  color: inherit;
}
.gf-hub__lead {
  margin: 1rem auto 0;
  max-width: 34rem;
  color: var(--gf-hub-muted);
  font-size: 1.05rem;
  line-height: 1.6;
}
.gf-hub__trust {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: .55rem;
  list-style: none;
  margin: 1.5rem 0 0;
  padding: 0;
}
.gf-hub__trust li {
  display: inline-flex;
  align-items: center;
  gap: .4rem;
  padding: .45rem .85rem;
  border-radius: 999px;
  border: 1px solid var(--gf-hub-border);
  background: var(--gf-hub-surface);
  color: var(--gf-hub-muted);
  font-size: .8rem;
  font-weight: 600;
}
.gf-hub__trust li i {
  color: rgb(var(--gf-hub-accent-2-rgb));
  font-size: .9rem;
}

.gf-hub__grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: .9rem;
  max-width: 980px;
  margin: 0 auto;
}
@media (min-width: 576px) {
  .gf-hub__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (min-width: 992px) {
  .gf-hub__grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; }
}

.gf-hub-tile {
  --gf-hub-delay: 0ms;
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 1rem;
  min-height: 100%;
  padding: 1.25rem 1.2rem 1.15rem;
  border-radius: 18px;
  border: 1px solid var(--gf-hub-border);
  background: var(--gf-hub-tile-bg);
  color: inherit !important;
  text-decoration: none !important;
  overflow: hidden;
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  box-shadow: 0 10px 28px rgba(0, 0, 0, .18);
  transition:
    transform .22s ease,
    border-color .22s ease,
    box-shadow .22s ease,
    background .22s ease;
  animation: gf-hub-tile-in .45s ease both;
  animation-delay: var(--gf-hub-delay);
}
@keyframes gf-hub-tile-in {
  from { opacity: 0; transform: translateY(10px); }
  to   { opacity: 1; transform: translateY(0); }
}
@media (prefers-reduced-motion: reduce) {
  .gf-hub-tile { animation: none; }
}
.gf-hub-tile:hover,
.gf-hub-tile:focus-visible {
  transform: translateY(-4px);
  border-color: rgba(var(--gf-hub-accent-rgb), .55);
  background: var(--gf-hub-surface-hover);
  box-shadow:
    0 0 0 1px rgba(var(--gf-hub-accent-rgb), .28),
    0 18px 40px rgba(var(--gf-hub-accent-rgb), .22);
  outline: none;
}
.gf-hub-tile__shine {
  position: absolute;
  inset: -40% -20% auto auto;
  width: 140px;
  height: 140px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(var(--gf-hub-accent-2-rgb), .28), transparent 68%);
  opacity: .55;
  pointer-events: none;
  transition: opacity .25s ease, transform .25s ease;
}
.gf-hub-tile:hover .gf-hub-tile__shine {
  opacity: .9;
  transform: translate(-12px, 10px) scale(1.15);
}

.gf-hub-tile__icon {
  width: 48px;
  height: 48px;
  border-radius: 14px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 1.25rem;
  color: var(--gf-hub-icon-color);
  background: linear-gradient(135deg, rgb(var(--gf-hub-accent-rgb)), rgb(var(--gf-hub-accent-2-rgb)));
  box-shadow:
    0 8px 20px rgba(var(--gf-hub-accent-rgb), .35),
    inset 0 1px 0 rgba(255,255,255,.25);
}
.gf-hub--tiktok .gf-hub-tile__icon,
.gf-hub--spotify .gf-hub-tile__icon {
  color: #0a0a0a;
}

.gf-hub-tile__body {
  display: flex;
  flex-direction: column;
  gap: .4rem;
  flex: 1 1 auto;
  min-width: 0;
}
.gf-hub-tile__title {
  font-family: "Sora", sans-serif;
  font-size: 1.02rem;
  font-weight: 700;
  line-height: 1.25;
  letter-spacing: -.02em;
  color: inherit;
}
.gf-hub-tile__desc {
  color: var(--gf-hub-muted);
  font-size: .88rem;
  line-height: 1.45;
  flex-grow: 1;
}
.gf-hub-tile__meta {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: .75rem;
  margin-top: .55rem;
  padding-top: .85rem;
  border-top: 1px solid var(--gf-hub-border);
}
.gf-hub-tile__price {
  font-size: .86rem;
  font-weight: 700;
  color: rgb(var(--gf-hub-accent-2-rgb));
}
.gf-hub-tile__cta {
  display: inline-flex;
  align-items: center;
  gap: .3rem;
  font-size: .8rem;
  font-weight: 700;
  color: rgba(255, 255, 255, .72);
  white-space: nowrap;
  transition: color .2s ease, gap .2s ease;
}
.gf-hub-tile:hover .gf-hub-tile__cta {
  color: #fff;
  gap: .45rem;
}

.gf-hub__empty {
  text-align: center;
  color: var(--gf-hub-muted);
  padding: 2.5rem 1rem;
  border: 1px dashed var(--gf-hub-border);
  border-radius: 18px;
  background: var(--gf-hub-surface);
}

/* ---- Tema claro ---- */
[data-bs-theme=light] .gf-hub {
  --gf-hub-page-bg: #f6f7fb;
  --gf-hub-text: #12131a;
  --gf-hub-muted: #5b6475;
  --gf-hub-border: rgba(15, 23, 42, .08);
  --gf-hub-surface: rgba(255, 255, 255, .72);
  --gf-hub-surface-hover: #fff;
  --gf-hub-tile-bg: linear-gradient(165deg, #ffffff 0%, #f8f9fc 100%);
  --gf-hub-glow-a: rgba(var(--gf-hub-accent-rgb), .16);
  --gf-hub-glow-b: rgba(var(--gf-hub-accent-2-rgb), .12);
  --gf-hub-glow-c: rgba(131, 58, 180, .1);
}
[data-bs-theme=light] .gf-hub__eyebrow {
  color: #1a1a1a;
  background: rgba(var(--gf-hub-accent-rgb), .08);
}
[data-bs-theme=light] .gf-hub__trust li {
  background: #fff;
  color: #5b6475;
  box-shadow: 0 4px 14px rgba(15, 23, 42, .04);
}
[data-bs-theme=light] .gf-hub-tile {
  box-shadow: 0 10px 28px rgba(15, 23, 42, .06);
}
[data-bs-theme=light] .gf-hub-tile:hover,
[data-bs-theme=light] .gf-hub-tile:focus-visible {
  box-shadow:
    0 0 0 1px rgba(var(--gf-hub-accent-rgb), .22),
    0 18px 40px rgba(var(--gf-hub-accent-rgb), .14);
}
[data-bs-theme=light] .gf-hub-tile__cta {
  color: #64748b;
}
[data-bs-theme=light] .gf-hub-tile:hover .gf-hub-tile__cta {
  color: rgb(var(--gf-hub-accent-rgb));
}
[data-bs-theme=light] .gf-hub__logo-wrap {
  background: #fff;
}

/* ==== GF LIGHT THEME 2026 — moderno, sem blocos “dark órfãos” ====
   Não altera o dark: tudo escopado em [data-bs-theme=light].
   ================================================================== */
[data-bs-theme=light] {
  --gf-ink: #f6f4f8;
  --gf-panel: #ffffff;
  --gf-panel-2: #fbfafc;
  --gf-line: rgba(24, 12, 36, .08);
  --gf-muted: #6b6478;
  --gf-shadow: 0 14px 40px rgba(24, 12, 36, .08);
  --gf-text: #16101f;
  --gf-text-soft: #5c566a;
  --bs-body-color: #16101f;
  --bs-body-bg: #f6f4f8;
  --bs-secondary-color: #6b6478;
  --bs-tertiary-bg: #ffffff;
  --bs-border-color: rgba(24, 12, 36, .1);
}

[data-bs-theme=light] html,
[data-bs-theme=light] body,
[data-bs-theme=light] .landing-wrapper {
  background-color: var(--gf-ink) !important;
  color: var(--gf-text);
}

/* ---- Header no light: transparente (sem vidro/borda) ---- */
[data-bs-theme=light] .gf-header.header-menu,
[data-bs-theme=light] .gf-header[data-bs-theme=dark] {
  color: var(--gf-text);
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}
[data-bs-theme=light] .gf-header .gf-nav-icon-btn,
[data-bs-theme=light] .gf-header[data-bs-theme=dark] .gf-nav-icon-btn {
  border: 0 !important;
  background: transparent !important;
  color: #1a1224 !important;
  box-shadow: none !important;
  backdrop-filter: none !important;
}
[data-bs-theme=light] .gf-header .gf-nav-icon-btn i,
[data-bs-theme=light] .gf-header[data-bs-theme=dark] .gf-nav-icon-btn i,
[data-bs-theme=light] .gf-header .gf-navbar__toggler-icon,
[data-bs-theme=light] .gf-header[data-bs-theme=dark] .gf-navbar__toggler-icon {
  color: #1a1224 !important;
  opacity: 1 !important;
}
[data-bs-theme=light] .gf-header .navbar-nav .nav-link:not(.gf-nav-cta),
[data-bs-theme=light] .gf-header .gf-nav-link:not(.gf-nav-cta) {
  color: #1a1224 !important;
}
[data-bs-theme=light] .gf-header .navbar-nav .nav-link:not(.gf-nav-cta):hover,
[data-bs-theme=light] .gf-header .gf-nav-link:not(.gf-nav-cta):hover {
  color: var(--gf-accent) !important;
}
/* Rastrear Pedido e CTAs do menu — texto sempre branco no fundo rosa */
[data-bs-theme=light] .gf-header .navbar-nav .nav-link.gf-nav-cta,
[data-bs-theme=light] .gf-header .gf-nav-link.gf-nav-cta,
[data-bs-theme=light] .gf-header a.gf-nav-cta,
[data-bs-theme=light] .gf-header .gf-nav-cta,
[data-bs-theme=light] .gf-header .gf-nav-cta span,
[data-bs-theme=light] .gf-header .gf-nav-cta i {
  color: #fff !important;
}
[data-bs-theme=light] .gf-header .gf-nav-cta:hover,
[data-bs-theme=light] .gf-header .gf-nav-cta:focus-visible {
  color: #fff !important;
  filter: brightness(1.05);
}
/* Mobile drawer only — NÃO pintar o offcanvas no desktop (virava caixa branca) */
@media (max-width: 1199.98px) {
  [data-bs-theme=light] .gf-offcanvas.offcanvas.show,
  [data-bs-theme=light] header.header-menu .gf-offcanvas.show {
    background: #fff !important;
    background-image: none !important;
    box-shadow: -18px 0 48px rgba(24, 12, 36, .12);
    color: var(--gf-text);
  }
}
@media (min-width: 1200px) {
  [data-bs-theme=light] .gf-header .gf-offcanvas.offcanvas,
  [data-bs-theme=light] .gf-header .gf-offcanvas,
  [data-bs-theme=light] header.header-menu .offcanvas {
    background: transparent !important;
    background-image: none !important;
    border: 0 !important;
    box-shadow: none !important;
  }
}
[data-bs-theme=light] .gf-offcanvas__header {
  border-bottom-color: rgba(24, 12, 36, .08);
}
[data-bs-theme=light] .gf-offcanvas .btn-close {
  filter: none !important;
  background-color: rgba(24, 12, 36, .06);
  opacity: .85 !important;
}
[data-bs-theme=light] .gf-offcanvas.show .gf-nav-link:not(.gf-nav-cta),
[data-bs-theme=light] .gf-offcanvas.show .nav-link:not(.gf-nav-cta) {
  background: #f7f5fa !important;
  border-color: rgba(24, 12, 36, .06) !important;
  color: #1a1224 !important;
}
[data-bs-theme=light] .gf-offcanvas.show .gf-nav-cta,
[data-bs-theme=light] .gf-offcanvas.show .nav-link.gf-nav-cta {
  background: var(--gf-gradient) !important;
  color: #fff !important;
  border-color: transparent !important;
}
[data-bs-theme=light] .gf-offcanvas.show .gf-nav-cta span,
[data-bs-theme=light] .gf-offcanvas.show .gf-nav-cta i {
  color: #fff !important;
}
[data-bs-theme=light] .gf-offcanvas__socials {
  border-top-color: rgba(24, 12, 36, .08);
}
[data-bs-theme=light] .gf-offcanvas__socials-label { color: #8a8396; }
[data-bs-theme=light] .gf-offcanvas__social-link {
  border-color: rgba(24, 12, 36, .1);
  background: #f7f5fa;
  color: #1a1224 !important;
}
[data-bs-theme=light] .gf-nav-dropdown__menu {
  background: #fff !important;
  border-color: rgba(24, 12, 36, .1) !important;
  box-shadow: 0 16px 40px rgba(24, 12, 36, .12) !important;
}
[data-bs-theme=light] .gf-nav-dropdown__menu .dropdown-item {
  color: #1a1224 !important;
}
[data-bs-theme=light] .gf-nav-dropdown__menu .dropdown-item:hover {
  background: rgba(var(--gf-accent-rgb), .1) !important;
  color: var(--gf-accent) !important;
}

/* ---- Hero light: faixa premium clara (não bloco preto) ---- */
[data-bs-theme=light] .gf-hero {
  background:
    radial-gradient(ellipse 80% 60% at 50% -10%, rgba(var(--gf-purple-rgb), .16), transparent 55%),
    radial-gradient(ellipse 50% 40% at 90% 10%, rgba(var(--gf-accent-2-rgb), .12), transparent 50%),
    linear-gradient(180deg, #fbf8fd 0%, #f6f4f8 70%, #f6f4f8 100%) !important;
}
[data-bs-theme=light] .gf-hero__glow {
  opacity: .85;
  background:
    radial-gradient(ellipse 90% 70% at 50% -10%, rgba(var(--gf-purple-rgb), .22), transparent 58%),
    radial-gradient(ellipse 70% 55% at 80% 10%, rgba(var(--gf-accent-2-rgb), .14), transparent 55%),
    radial-gradient(ellipse 60% 50% at 15% 20%, rgba(var(--gf-accent-rgb), .1), transparent 50%);
}
[data-bs-theme=light] .gf-hero::after {
  background: linear-gradient(to bottom, transparent, #f6f4f8) !important;
}
[data-bs-theme=light] .gf-hero__title { color: #14101a !important; }
[data-bs-theme=light] .gf-hero__lead { color: var(--gf-text-soft) !important; }
[data-bs-theme=light] .gf-hero__eyebrow {
  color: var(--gf-accent) !important;
  border-color: rgba(var(--gf-accent-rgb), .25);
  background: rgba(var(--gf-accent-rgb), .08);
}
[data-bs-theme=light] .gf-hero__badges li {
  color: var(--gf-text-soft);
  border-color: rgba(24, 12, 36, .08);
  background: rgba(255, 255, 255, .7);
}
[data-bs-theme=light] .gf-hero__badges i { color: var(--gf-accent); }
[data-bs-theme=light] .gf-hero__scroll-cue {
  color: var(--gf-accent) !important;
  border-color: rgba(var(--gf-accent-rgb), .25);
  background: rgba(255, 255, 255, .8);
}

/* ---- Cards / superfícies ---- */
[data-bs-theme=light] .card,
[data-bs-theme=light] .rounded-4,
[data-bs-theme=light] .bg-primary-opacity,
[data-bs-theme=light] .bg-body-tertiary.shadow,
[data-bs-theme=light] .bg-body-tertiary {
  background: #fff !important;
  border-color: rgba(24, 12, 36, .08) !important;
  box-shadow: 0 12px 36px rgba(24, 12, 36, .07) !important;
  color: var(--gf-text);
}

/* Package category card (antes preto) */
[data-bs-theme=light] .package-category-tab .card {
  background: #fff !important;
  border: 1px solid rgba(24, 12, 36, .08) !important;
  box-shadow: 0 18px 48px rgba(24, 12, 36, .08) !important;
}
[data-bs-theme=light] .package-category-tab .btn-package-group .btn-item {
  background: #f3eef7 !important;
  color: #1a1224 !important;
  border: 1px solid rgba(24, 12, 36, .06);
}
[data-bs-theme=light] .package-category-tab .btn-package-group .btn-item.active {
  background: var(--gf-gradient) !important;
  color: #fff !important;
  border-color: transparent !important;
}
[data-bs-theme=light] .package-category-tab .btn-package-group .btn-item:hover {
  border-color: rgba(var(--gf-accent-rgb), .45) !important;
}

/* Social tabs (Instagram/TikTok…) — sem quadrados pretos */
[data-bs-theme=light] .package-list-tab .tab-item {
  background: #fff !important;
  border-color: rgba(24, 12, 36, .1) !important;
  box-shadow: 0 6px 18px rgba(24, 12, 36, .05);
}
[data-bs-theme=light] .package-list-tab .tab-item.active,
[data-bs-theme=light] .package-list-tab .tab-item:hover {
  border-color: var(--gf-accent) !important;
  box-shadow: 0 10px 28px rgba(var(--gf-accent-rgb), .22);
}

[data-bs-theme=light] .gf-network-tab {
  background: #fff !important;
  border-color: rgba(24, 12, 36, .1) !important;
  color: #5c566a !important;
  box-shadow: 0 4px 14px rgba(24, 12, 36, .04);
}
[data-bs-theme=light] .gf-network-tab.active,
[data-bs-theme=light] .gf-network-tab:hover {
  background: rgba(var(--gf-accent-rgb), .08) !important;
  color: var(--gf-accent) !important;
  border-color: rgba(var(--gf-accent-rgb), .35) !important;
}

[data-bs-theme=light] .gf-service-card {
  background: #fff !important;
  border-color: rgba(24, 12, 36, .08);
  box-shadow: 0 8px 24px rgba(24, 12, 36, .05);
  color: var(--gf-text) !important;
}
[data-bs-theme=light] .gf-service-card:hover {
  background: #fff !important;
  border-color: rgba(var(--gf-accent-rgb), .4);
  box-shadow: 0 14px 32px rgba(var(--gf-accent-rgb), .12);
}
[data-bs-theme=light] .gf-service-card__body small { color: #8a8396; }
[data-bs-theme=light] .gf-service-card__arrow { color: #b0a9bc; }

[data-bs-theme=light] .gf-quality-card {
  background: #fff !important;
  border-color: rgba(24, 12, 36, .08);
  box-shadow: 0 16px 40px rgba(24, 12, 36, .07);
}
[data-bs-theme=light] .gf-quality-card h4 { color: #14101a; }
[data-bs-theme=light] .gf-quality-card__list { color: var(--gf-text-soft); }

/* Why choose — cards claros */
[data-bs-theme=light] section.why-choose-us .icon-box {
  background-color: #fff !important;
  border: 1px solid rgba(24, 12, 36, .08) !important;
  box-shadow: 0 12px 32px rgba(24, 12, 36, .06);
  color: var(--gf-text);
}
[data-bs-theme=light] section.why-choose-us .icon-box h4,
[data-bs-theme=light] section.why-choose-us .icon-box p {
  color: var(--gf-text);
}
[data-bs-theme=light] section.why-choose-us .icon-box p { color: var(--gf-text-soft); }

/* Contadores */
[data-bs-theme=light] section.counts-area .count-box {
  background: #fff !important;
  border-color: rgba(24, 12, 36, .08) !important;
  box-shadow: 0 10px 28px rgba(24, 12, 36, .06);
  color: var(--gf-text);
}
[data-bs-theme=light] section.counts-area .count-box span { color: var(--gf-accent) !important; }

/* Reviews / rating */
[data-bs-theme=light] section.reviews {
  background: #f6f4f8 !important;
}
[data-bs-theme=light] .rating-box {
  background: #fff !important;
  border-color: rgba(24, 12, 36, .08) !important;
  color: var(--gf-text) !important;
  box-shadow: 0 10px 28px rgba(24, 12, 36, .06);
}
[data-bs-theme=light] .rating-box .progress { background-color: rgba(24, 12, 36, .06); }

/* Section heads / article / bento */
[data-bs-theme=light] .gf-eyebrow {
  color: var(--gf-accent);
  background: rgba(var(--gf-accent-rgb), .08);
  border-color: rgba(var(--gf-accent-rgb), .2);
}
[data-bs-theme=light] .gf-section-title { color: #14101a; }
[data-bs-theme=light] .gf-article p,
[data-bs-theme=light] .gf-article ul,
[data-bs-theme=light] .gf-article ol { color: var(--gf-text-soft); }
[data-bs-theme=light] .gf-article a:hover { color: var(--gf-accent) !important; }
[data-bs-theme=light] .gf-bento__item {
  background: #fff !important;
  border-color: rgba(24, 12, 36, .08);
  box-shadow: 0 8px 22px rgba(24, 12, 36, .05);
}
[data-bs-theme=light] .gf-bento__item span { color: var(--gf-text-soft); }
[data-bs-theme=light] .gf-price-table,
[data-bs-theme=light] .gf-related a {
  background: #fff;
  border-color: rgba(24, 12, 36, .08);
}
[data-bs-theme=light] .gf-related a:hover {
  color: var(--gf-accent) !important;
  background: rgba(var(--gf-accent-rgb), .06);
}

/* How it works */
[data-bs-theme=light] .how-it-work .single_work_step p { color: var(--gf-text-soft); }
[data-bs-theme=light] section.how-it-work .single_work_step .arrow { color: rgba(24, 12, 36, .2) !important; }

/* Accordion / FAQ */
[data-bs-theme=light] .accordion {
  --bs-accordion-bg: #fff;
  --bs-accordion-border-color: rgba(24, 12, 36, .08);
  --bs-accordion-btn-bg: #fff;
  --bs-accordion-btn-color: #14101a;
  --bs-accordion-active-bg: rgba(var(--gf-accent-rgb), .06);
  --bs-accordion-active-color: var(--gf-accent);
  --bs-accordion-btn-focus-border-color: rgba(var(--gf-accent-rgb), .35);
}
[data-bs-theme=light] .accordion-item {
  background: #fff;
  border-color: rgba(24, 12, 36, .08) !important;
  box-shadow: 0 6px 18px rgba(24, 12, 36, .04);
  border-radius: 14px !important;
  overflow: hidden;
  margin-bottom: .65rem;
}
[data-bs-theme=light] .accordion-button:not(.collapsed) {
  background: rgba(var(--gf-accent-rgb), .07) !important;
  color: var(--gf-accent) !important;
  box-shadow: none;
}
[data-bs-theme=light] .accordion-body { color: var(--gf-text-soft); }

/* Footer / misc */
[data-bs-theme=light] footer,
[data-bs-theme=light] .footer {
  background: #fff !important;
  border-top-color: rgba(24, 12, 36, .08) !important;
  color: var(--gf-text-soft);
}
[data-bs-theme=light] footer .text-body-secondary,
[data-bs-theme=light] .footer .nav-link {
  color: #6b6478 !important;
}
[data-bs-theme=light] footer .social,
[data-bs-theme=light] .footer .social {
  background: #f7f5fa !important;
  border-color: rgba(24, 12, 36, .08) !important;
  color: #1a1224 !important;
}

/* Breadcrumb / forms / buy package */
[data-bs-theme=light] .gf-breadcrumb__item a { color: #6b6478; }
[data-bs-theme=light] .gf-breadcrumb__item a:hover { color: var(--gf-accent); }
[data-bs-theme=light] .buy-package-item {
  background: #fff !important;
  border-color: rgba(24, 12, 36, .08) !important;
  color: var(--gf-text) !important;
}
[data-bs-theme=light] .buy-package-item:hover,
[data-bs-theme=light] .buy-package-item.active {
  border-color: var(--gf-accent) !important;
  background: rgba(var(--gf-accent-rgb), .06) !important;
}
[data-bs-theme=light] .form-control,
[data-bs-theme=light] .form-select {
  background: #fff !important;
  border-color: rgba(24, 12, 36, .12) !important;
  color: var(--gf-text) !important;
}
[data-bs-theme=light] .form-control:focus,
[data-bs-theme=light] .form-select:focus {
  border-color: rgba(var(--gf-accent-rgb), .45) !important;
  box-shadow: 0 0 0 .2rem rgba(var(--gf-accent-rgb), .15) !important;
}

/* CTA / misc panels that used dark gradients */
[data-bs-theme=light] .bg-gradient-dark,
[data-bs-theme=light] section.quick-link .bg-gradient-dark {
  background: linear-gradient(180deg, #fff, #f6f4f8) !important;
  color: var(--gf-text) !important;
}

/* Texto genérico em seções que herdavam branco */
[data-bs-theme=light] .text-white-50 { color: #8a8396 !important; }
[data-bs-theme=light] .package-list .tab-content,
[data-bs-theme=light] .package-list .card-body {
  color: var(--gf-text);
}

/* Stars / accents remain pink — already good */


/* ---- Refino light: tipografia/artigos/tabelas que ainda herdavam branco ---- */
[data-bs-theme=light] .gf-article,
[data-bs-theme=light] .gf-article h2,
[data-bs-theme=light] .gf-article h3,
[data-bs-theme=light] .gf-article h4,
[data-bs-theme=light] .gf-article p strong,
[data-bs-theme=light] .gf-article li strong {
  color: #14101a !important;
}
[data-bs-theme=light] .gf-breadcrumb {
  color: #6b6478;
}
[data-bs-theme=light] .gf-breadcrumb__item a {
  color: #6b6478 !important;
}
[data-bs-theme=light] .gf-breadcrumb__item a:hover {
  color: var(--gf-accent) !important;
}
[data-bs-theme=light] .gf-price-table th {
  color: #8a8396 !important;
}
[data-bs-theme=light] .gf-price-table td {
  color: #1a1224 !important;
}
[data-bs-theme=light] .gf-price-table tr:hover td {
  background: rgba(var(--gf-accent-rgb), .05);
}
[data-bs-theme=light] .gf-related a {
  color: #1a1224 !important;
  background: #fff !important;
}
[data-bs-theme=light] .gf-related a:hover {
  color: var(--gf-accent) !important;
  background: rgba(var(--gf-accent-rgb), .06) !important;
}
[data-bs-theme=light] .gf-section-head,
[data-bs-theme=light] .gf-section-title,
[data-bs-theme=light] .section-header h2,
[data-bs-theme=light] .section-header h3 {
  color: #14101a;
}
[data-bs-theme=light] h2:not(.btn):not(.text-white),
[data-bs-theme=light] h3:not(.btn):not(.text-white),
[data-bs-theme=light] h4:not(.btn):not(.text-white) {
  color: #14101a;
}
[data-bs-theme=light] .btn.text-white,
[data-bs-theme=light] h3.btn-primary {
  color: #fff !important;
}
[data-bs-theme=light] .text-body-secondary,
[data-bs-theme=light] .text-muted {
  color: #6b6478 !important;
}
/* Lista de pacotes / preço destaque */
[data-bs-theme=light] .package-list .price,
[data-bs-theme=light] .tab-content .price,
[data-bs-theme=light] .package-category-tab .price {
  color: var(--gf-accent) !important;
}
/* Inputs dentro do card de pacote */
[data-bs-theme=light] .package-category-tab .card-body,
[data-bs-theme=light] .package-list .card-body {
  background: transparent;
  color: #1a1224;
}
/* Evita texto branco em badges/labels genéricos fora do hero dark */
[data-bs-theme=light] .badge.bg-dark {
  background: #1a1224 !important;
}
/* Hub já tem overrides — reforço suave no body da página hub */
[data-bs-theme=light] .gf-hub {
  --gf-hub-surface: #ffffff;
}

/* Anula gradiente bege antigo do landing_page.css no light */
[data-bs-theme=light] section.package-list .tab-content .tab-item,
[data-bs-theme=light] section.package-list .tab-item {
  background-image: none !important;
  background: #fff !important;
  border: 1px solid rgba(24, 12, 36, .08) !important;
  color: #1a1224 !important;
  box-shadow: 0 8px 22px rgba(24, 12, 36, .05);
}
[data-bs-theme=light] section.package-list .tab-content .tab-item.active,
[data-bs-theme=light] section.package-list .tab-item.active {
  border-color: rgba(var(--gf-accent-rgb), .4) !important;
  box-shadow: 0 12px 28px rgba(var(--gf-accent-rgb), .14);
}


/* ==== HEADER — absolute flutuante (como antes) + nav compacta ==== */
/* Logo: branco no dark / colorido no light */
.gf-logo--on-light { display: none !important; }
.gf-logo--on-dark { display: inline-block !important; }
[data-bs-theme=light] .gf-logo--on-dark { display: none !important; }
[data-bs-theme=light] .gf-logo--on-light { display: inline-block !important; }

.gf-header.header-menu {
  position: absolute !important;
  top: 0;
  left: 0;
  right: 0;
  z-index: 1030;
  background: transparent !important;
  border-bottom: 0 !important;
  box-shadow: none !important;
  backdrop-filter: none !important;
}
.gf-header .gf-navbar__inner {
  flex-wrap: nowrap !important;
  align-items: center;
  min-width: 0;
}
.gf-header .gf-navbar__brand img {
  height: 60px !important;
  width: auto;
  max-width: 220px;
  object-fit: contain;
}
.gf-header .gf-navbar__tools {
  flex-shrink: 0;
}

/* Desktop: menu compacto numa linha, sem wrap por cima do conteúdo */
@media (min-width: 1200px) {
  .gf-header .gf-nav-list.navbar-nav {
    flex-wrap: nowrap !important;
    align-items: center;
    justify-content: flex-end;
    column-gap: .2rem !important;
    min-width: 0;
  }
  .gf-header .gf-nav-list > .nav-item.ms-xl-auto {
    margin-left: auto !important;
  }
  .gf-header .gf-nav-link,
  .gf-header .navbar-nav .nav-link,
  .gf-header .gf-nav-dropdown > .btn.nav-link {
    min-height: 36px !important;
    padding: .35rem .55rem !important;
    font-size: .84rem !important;
    white-space: nowrap !important;
  }
  .gf-header .gf-nav-network__img,
  .gf-header .gf-nav-link__icon {
    display: none !important;
  }
  .gf-header .gf-nav-cta {
    padding-inline: .8rem !important;
    font-size: .82rem !important;
    color: #fff !important;
  }
  .gf-header .gf-nav-cta span,
  .gf-header .gf-nav-cta i {
    color: #fff !important;
  }
}
@media (min-width: 1400px) {
  .gf-header .gf-nav-link,
  .gf-header .navbar-nav .nav-link,
  .gf-header .gf-nav-dropdown > .btn.nav-link {
    padding: .4rem .7rem !important;
    font-size: .9rem !important;
  }
  .gf-header .gf-nav-network__img {
    display: inline-block !important;
    width: 16px;
    height: 16px;
  }
}

/* CTA sempre branco (light e dark) */
.gf-header .gf-nav-cta,
.gf-header .gf-nav-cta:hover,
.gf-header .gf-nav-cta:focus-visible,
[data-bs-theme=light] .gf-header .gf-nav-cta,
[data-bs-theme=light] .gf-header .gf-nav-cta span,
[data-bs-theme=light] .gf-header .gf-nav-cta i,
[data-bs-theme=light] header.header-menu .gf-nav-cta,
[data-bs-theme=light] header.header-menu .gf-nav-cta span,
[data-bs-theme=light] header.header-menu .gf-nav-cta i {
  color: #fff !important;
}

/* Light: header sem fundo/borda — só tipografia */
[data-bs-theme=light] .gf-header.header-menu,
[data-bs-theme=light] .gf-header[data-bs-theme=dark],
[data-bs-theme=light] .gf-header .navbar,
[data-bs-theme=light] .gf-header .gf-navbar__inner {
  background: transparent !important;
  background-image: none !important;
  border: 0 !important;
  border-bottom: 0 !important;
  box-shadow: none !important;
  backdrop-filter: none !important;
}
[data-bs-theme=light] .gf-header .navbar-nav .nav-link:not(.gf-nav-cta),
[data-bs-theme=light] .gf-header .gf-nav-link:not(.gf-nav-cta),
[data-bs-theme=light] .gf-header .gf-nav-dropdown > .btn.nav-link {
  color: #1a1224 !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}
/* Botões à direita (tema/hamburger): sem caixa/borda quadrada */
[data-bs-theme=light] .gf-header .gf-nav-icon-btn,
[data-bs-theme=light] .gf-header[data-bs-theme=dark] .gf-nav-icon-btn,
[data-bs-theme=light] .gf-nav-icon-btn {
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  backdrop-filter: none !important;
  color: #1a1224 !important;
  border-radius: 999px !important;
}
[data-bs-theme=light] .gf-header .gf-nav-icon-btn:hover,
[data-bs-theme=light] .gf-header .gf-nav-icon-btn:focus-visible {
  background: rgba(var(--gf-accent-rgb), .1) !important;
  color: var(--gf-accent) !important;
  box-shadow: none !important;
}
[data-bs-theme=light] .gf-header .gf-nav-icon-btn i,
[data-bs-theme=light] .gf-header .gf-navbar__toggler-icon {
  color: inherit !important;
}

/* Breadcrumb mais pra baixo (logo 60px + header absolute) */
.gf-breadcrumb {
  padding-top: 7rem !important;
  padding-bottom: .85rem;
}
@media (max-width: 767.98px) {
  .gf-breadcrumb { padding-top: 6rem !important; }
}
[data-bs-theme=light] .gf-breadcrumb__list {
  background: transparent;
  border: 0;
  box-shadow: none;
  color: #6b6478;
  border-radius: 999px;
  padding-left: 0;
}
[data-bs-theme=light] .gf-breadcrumb__item.is-current span {
  color: #14101a !important;
}
[data-bs-theme=light] .gf-breadcrumb__item a {
  color: #6b6478 !important;
}
[data-bs-theme=light] .gf-breadcrumb__item a:hover {
  color: var(--gf-accent) !important;
}

/* Hero com respiro do header absolute */
.gf-hero {
  padding-block: 8.5rem 3.5rem !important;
}
@media (max-width: 767.98px) {
  .gf-hero { padding-block: 6.5rem 2.5rem !important; }
}

/* Tabela de preços mais moderna (light + dark) */
.gf-price-table {
  border-radius: 16px;
  overflow: hidden;
  border: 1px solid var(--gf-line);
  background: rgba(255,255,255,.03);
}
.gf-price-table table {
  width: 100%;
  margin: 0;
  border-collapse: collapse;
}
.gf-price-table th,
.gf-price-table td {
  padding: .85rem 1rem !important;
}
.gf-price-table tbody tr:nth-child(even) td {
  background: rgba(255,255,255,.03);
}
[data-bs-theme=light] .gf-price-table {
  background: #fff;
  border-color: rgba(24, 12, 36, .08);
  box-shadow: 0 12px 32px rgba(24, 12, 36, .06);
}
[data-bs-theme=light] .gf-price-table tbody tr:nth-child(even) td {
  background: #faf8fc;
}
[data-bs-theme=light] .gf-price-table tbody tr:hover td {
  background: rgba(var(--gf-accent-rgb), .06) !important;
}


/* Anula regras antigas do landing_page.css que deixavam o menu light ilegível
   (text-dark virava branco no offcanvas) e o hover laranja #ea580c. */
[data-bs-theme=light] header.header-menu .offcanvas.show .text-dark.nav-link,
[data-bs-theme=light] header.header-menu .offcanvas .text-dark.nav-link,
[data-bs-theme=light] header.header-menu .text-dark.nav-link {
  color: #1a1224 !important;
}
[data-bs-theme=light] header.header-menu .offcanvas.show .text-dark.nav-link:hover,
[data-bs-theme=light] header.header-menu .text-dark.nav-link:hover,
[data-bs-theme=light] .header-menu .text-dark.nav-link:hover {
  color: var(--gf-accent) !important;
}
[data-bs-theme=light] header.header-menu .offcanvas.show .gf-nav-cta,
[data-bs-theme=light] header.header-menu .gf-nav-cta.text-white,
[data-bs-theme=light] header.header-menu a.nav-link.gf-nav-cta {
  color: #fff !important;
  background: var(--gf-gradient) !important;
}
[data-bs-theme=light] header.header-menu .gf-nav-cta:hover,
[data-bs-theme=light] header.header-menu .offcanvas.show .gf-nav-cta:hover {
  color: #fff !important;
}


/* ===== GF Footer (SEO + UX 2026) ===== */
.gf-footer {
  margin-top: 0;
  border-top: 1px solid var(--gf-line, rgba(255,255,255,.08));
  background:
    radial-gradient(900px 320px at 10% 0%, rgba(var(--gf-accent-rgb, 225,48,108), .08), transparent 60%),
    linear-gradient(180deg, rgba(0,0,0,.12), transparent 40%),
    var(--bs-body-bg, #121018);
  color: var(--gf-text-soft, #c9c2d4);
}
.gf-footer__main {
  padding: 3.25rem 0 2.25rem;
}
.gf-footer__brand img {
  height: 60px;
  width: auto;
}
.gf-footer__brand-text {
  font-size: 1.25rem;
  font-weight: 700;
  color: var(--gf-text, #fff);
}
.gf-footer__blurb {
  max-width: 28ch;
  margin: 0 0 1.1rem;
  font-size: .925rem;
  line-height: 1.55;
  color: inherit;
}
.gf-footer__cta {
  display: inline-flex;
  align-items: center;
  gap: .55rem;
  min-height: 44px;
  padding: .55rem 1rem;
  border-radius: 999px;
  background: #25D366;
  color: #073b1d !important;
  font-weight: 700;
  font-size: .9rem;
  text-decoration: none;
  transition: transform .15s ease, filter .15s ease;
}
.gf-footer__cta:hover {
  filter: brightness(1.05);
  transform: translateY(-1px);
  color: #073b1d !important;
}
.gf-footer__socials {
  display: flex;
  flex-wrap: wrap;
  gap: .5rem;
  margin-top: 1rem;
}
.gf-footer__social {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 44px;
  height: 44px;
  border-radius: 12px;
  border: 1px solid var(--gf-line, rgba(255,255,255,.1));
  color: inherit;
  text-decoration: none;
  transition: background .15s ease, color .15s ease, border-color .15s ease;
}
.gf-footer__social:hover {
  background: rgba(var(--gf-accent-rgb, 225,48,108), .12);
  border-color: rgba(var(--gf-accent-rgb, 225,48,108), .35);
  color: var(--gf-text, #fff);
}
.gf-footer__title {
  margin: 0 0 .9rem;
  font-size: .78rem;
  font-weight: 700;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: var(--gf-text, #fff);
}
.gf-footer__list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: .35rem;
}
.gf-footer__list a {
  display: inline-flex;
  align-items: center;
  min-height: 36px;
  padding: .15rem 0;
  color: inherit;
  text-decoration: none;
  font-size: .925rem;
  line-height: 1.35;
  transition: color .15s ease;
}
.gf-footer__list a:hover {
  color: var(--gf-accent, #E1306C);
}
.gf-footer__trust-label {
  margin: 0 0 .45rem;
  font-size: .72rem;
  font-weight: 700;
  letter-spacing: .06em;
  text-transform: uppercase;
  opacity: .8;
}
.gf-footer__pay {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: .55rem;
}
.gf-footer__pay img {
  height: 22px;
  width: auto;
  opacity: .92;
}
.gf-footer__pay-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 28px;
  padding: .2rem .55rem;
  border-radius: 6px;
  background: #32BCAD;
  color: #05332e;
  font-size: .72rem;
  font-weight: 800;
  letter-spacing: .04em;
}
.gf-footer__bar {
  border-top: 1px solid var(--gf-line, rgba(255,255,255,.08));
  padding: 1rem 0 1.25rem;
  background: rgba(0,0,0,.18);
}
.gf-footer__bar-inner {
  display: flex;
  flex-wrap: wrap;
  gap: .75rem 1.25rem;
  align-items: center;
  justify-content: space-between;
}
.gf-footer__copy {
  font-size: .85rem;
  color: inherit;
  opacity: .9;
}
.gf-footer__copy-block {
  max-width: 46rem;
}
.gf-footer__legal-note {
  margin-top: .35rem;
  font-size: .72rem;
  line-height: 1.45;
  opacity: .72;
  max-width: 42rem;
}
@media (max-width: 767.98px) {
  .gf-footer__bar-inner { align-items: flex-start; }
  .gf-footer__legal-note { max-width: none; }
}

.gf-footer__bar-links {
  display: flex;
  flex-wrap: wrap;
  gap: .75rem 1.1rem;
}
.gf-footer__bar-links a {
  font-size: .85rem;
  color: inherit;
  text-decoration: none;
  min-height: 36px;
  display: inline-flex;
  align-items: center;
}
.gf-footer__bar-links a:hover {
  color: var(--gf-accent, #E1306C);
}

[data-bs-theme=light] .gf-footer {
  background:
    radial-gradient(900px 320px at 10% 0%, rgba(var(--gf-accent-rgb, 225,48,108), .06), transparent 60%),
    #faf8fc;
  color: #5c5568;
  border-top-color: rgba(24, 12, 36, .08);
}
[data-bs-theme=light] .gf-footer__title,
[data-bs-theme=light] .gf-footer__brand-text {
  color: #1a1224;
}
[data-bs-theme=light] .gf-footer__social {
  background: #fff;
  border-color: rgba(24, 12, 36, .08);
  color: #1a1224;
}
[data-bs-theme=light] .gf-footer__bar {
  background: rgba(24, 12, 36, .03);
  border-top-color: rgba(24, 12, 36, .08);
}

@media (max-width: 767.98px) {
  .gf-footer__main { padding: 2.5rem 0 1.75rem; }
  .gf-footer__blurb { max-width: none; }
}


/* Logo branco: header já é dark; no light mode inverter no footer/offcanvas */
[data-bs-theme=light] .gf-footer__brand img,
[data-bs-theme=light] .gf-offcanvas__header .navbar-brand img {
  filter: invert(1);
}

/* Logo size 60 */

.gf-navbar__brand img,
.gf-offcanvas__header .navbar-brand img {
  height: 60px;
  width: auto;
}


/* FIX RÁPIDO light: zero caixa no header + breadcrumb longe do menu */
[data-bs-theme=light] .gf-header,
[data-bs-theme=light] .gf-header.header-menu,
[data-bs-theme=light] .gf-header .navbar,
[data-bs-theme=light] .gf-header .container,
[data-bs-theme=light] .gf-header .offcanvas,
[data-bs-theme=light] .gf-header .offcanvas-body {
  background: transparent !important;
  background-image: none !important;
  border: 0 !important;
  box-shadow: none !important;
}
[data-bs-theme=light] .gf-breadcrumb {
  padding-top: 7.5rem !important;
}
@media (max-width: 767.98px) {
  [data-bs-theme=light] .gf-breadcrumb {
    padding-top: 6.25rem !important;
  }
}


/* Bootstrap Icons — line-height inherit (alinha melhor em flex/nav) */
.bi::before,
[class*=" bi-"]::before,
[class^=bi-]::before {
  display: inline-block;
  font-family: bootstrap-icons !important;
  font-style: normal;
  font-weight: 400 !important;
  font-variant: normal;
  text-transform: none;
  line-height: inherit;
  vertical-align: -.125em;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}


/* gf-provider-cards — chips no card (bandeira + reposição) */
.package-category-tab .gf-provider-panel {
  position: relative;
  overflow: hidden;
  border-radius: 14px;
  padding: 12px;
  border: 1px solid rgba(26, 18, 36, 0.08);
  background: #faf8fb;
  box-shadow: none;
}
.package-category-tab .gf-provider-cards {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
}
@media (min-width: 992px) {
  .package-category-tab .gf-provider-cards {
    gap: 10px;
    grid-template-columns: repeat(var(--gf-provider-cols, 3), minmax(0, 1fr));
  }
}
.package-category-tab .gf-provider-cards[data-count="1"] { grid-template-columns: 1fr; }
@media (min-width: 576px) {
  .package-category-tab .gf-provider-cards[data-count="3"] {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}
.package-category-tab .gf-provider-card {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 4px;
  min-height: 72px;
  width: 100%;
  padding: 10px 12px;
  text-align: left;
  background: rgba(255, 255, 255, 0.92);
  border: 1px solid rgba(26, 18, 36, 0.08);
  border-radius: 12px;
  cursor: pointer;
  color: inherit;
  box-shadow: none;
  transition: border-color .18s ease, box-shadow .18s ease, background .18s ease, transform .18s ease;
}
.package-category-tab .gf-provider-card:hover {
  border-color: rgba(var(--gf-accent-rgb), 0.28);
  box-shadow: 0 2px 10px rgba(26, 18, 36, 0.06);
  transform: translateY(-1px);
}
.package-category-tab .gf-provider-card[aria-checked="true"] {
  border-color: var(--gf-accent);
  background: linear-gradient(165deg, #fff 0%, #fdf2f8 55%, #fff 100%);
  box-shadow:
    0 0 0 1px rgba(var(--gf-accent-rgb), 0.28),
    0 0 22px rgba(var(--gf-accent-2-rgb), 0.28),
    0 8px 20px rgba(var(--gf-purple-rgb), 0.16);
}
.package-category-tab .gf-provider-card-title {
  font-family: "Sora", "DM Sans", sans-serif;
  font-size: 0.8125rem;
  font-weight: 600;
  line-height: 1.25;
  margin: 0;
  max-width: 100%;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  color: #1a1224;
}
.package-category-tab .gf-provider-card-meta {
  font-size: 0.6875rem;
  font-weight: 500;
  color: #6b6572;
  max-width: 100%;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.package-category-tab .gf-provider-card-head {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  max-width: 100%;
  min-height: 1.15rem;
}
.package-category-tab .gf-provider-flag {
  display: inline-block;
  width: 20px;
  height: 15px;
  object-fit: cover;
  border-radius: 2px;
  flex-shrink: 0;
  box-shadow: 0 0 0 1px rgba(26, 18, 36, 0.08);
}
.package-category-tab .gf-provider-card-chips {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 4px;
  margin-top: 2px;
}
.package-category-tab .gf-provider-chip {
  display: inline-flex;
  align-items: center;
  font-size: 0.65rem;
  font-weight: 600;
  line-height: 1;
  padding: 0.22rem 0.4rem;
  border-radius: 999px;
  background: #f3f1f5;
  color: #4a4450;
  border: 1px solid rgba(26, 18, 36, 0.06);
}
.package-category-tab .gf-provider-chip.is-sr {
  background: #fff1f2;
  color: #be123c;
  border-color: rgba(190, 18, 60, 0.22);
  font-weight: 700;
  letter-spacing: .02em;
}
.package-category-tab .gf-provider-chip.is-refill {
  background: #ecfdf5;
  color: #047857;
  border-color: rgba(4, 120, 87, 0.18);
}
.package-category-tab .gf-provider-chip.is-flag {
  font-size: 0.85rem;
  padding: 0.1rem 0.28rem;
  background: transparent;
  border-color: transparent;
}
.package-category-tab .gf-provider-card-price {
  margin-top: auto;
  font-size: 0.75rem;
  font-weight: 700;
  font-variant-numeric: tabular-nums;
  background: var(--gf-gradient);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
  white-space: nowrap;
}
.package-category-tab .gf-provider-badge {
  display: inline-block;
  font-size: 0.625rem;
  font-weight: 700;
  letter-spacing: .03em;
  text-transform: uppercase;
  padding: 0.14rem 0.4rem;
  border-radius: 999px;
  line-height: 1.2;
}
.package-category-tab .gf-provider-badge.is-recomendado {
  background: linear-gradient(135deg, rgba(var(--gf-purple-rgb), .16), rgba(var(--gf-accent-2-rgb), .18));
  color: #9d174d;
}
.package-category-tab .gf-provider-badge.is-mais_barato { background: #ecfdf5; color: #047857; }
.package-category-tab .gf-provider-badge.is-premium {
  background: linear-gradient(135deg, rgba(var(--gf-purple-rgb), .12), rgba(var(--gf-accent-rgb), .14));
  color: #7c2d12;
}
.package-category-tab .gf-provider-card.is-hidden-extra { display: none; }
.package-category-tab .gf-provider-cards.is-expanded .gf-provider-card.is-hidden-extra { display: flex; }
.package-category-tab .gf-provider-more {
  display: inline-flex;
  align-items: center;
  min-height: 40px;
  padding: 8px 0;
  border: 0;
  background: transparent;
  color: var(--gf-accent);
  font-size: 0.8125rem;
  font-weight: 600;
  cursor: pointer;
}
[data-bs-theme=dark] .package-category-tab .gf-provider-panel {
  border-color: rgba(255, 255, 255, 0.08);
  background: #1a1518;
}
[data-bs-theme=dark] .package-category-tab .gf-provider-card {
  background: rgba(36, 28, 34, 0.85);
  border-color: rgba(255, 255, 255, 0.08);
}
[data-bs-theme=dark] .package-category-tab .gf-provider-card[aria-checked="true"] {
  border-color: var(--gf-accent-2);
  background: linear-gradient(165deg, #2a1a24 0%, #3a1830 100%);
  box-shadow:
    0 0 0 1px rgba(var(--gf-accent-2-rgb), 0.35),
    0 0 26px rgba(var(--gf-accent-2-rgb), 0.35),
    0 8px 22px rgba(var(--gf-purple-rgb), 0.25);
}
[data-bs-theme=dark] .package-category-tab .gf-provider-card-title { color: #f5f5f5; }
[data-bs-theme=dark] .package-category-tab .gf-provider-card-meta { color: #b8b0a8; }
[data-bs-theme=dark] .package-category-tab .gf-provider-chip {
  background: rgba(255, 255, 255, 0.06);
  border-color: rgba(255, 255, 255, 0.08);
  color: #ddd;
}
[data-bs-theme=dark] .package-category-tab .gf-provider-chip.is-flag {
  background: transparent;
  border-color: transparent;
}


/* Header: hover dos dropdowns (ex.: Outras redes) — sem fundo branco ilegível */
.gf-header .nav-link.bg-light-hover:hover,
.gf-header .nav-link.bg-light-hover:focus-visible,
.gf-header .nav-link.bg-light-hover.show,
.header-menu[data-bs-theme=dark] .nav-link.bg-light-hover:hover,
.header-menu[data-bs-theme=dark] .nav-link.bg-light-hover:focus-visible,
.header-menu[data-bs-theme=dark] .nav-link.bg-light-hover.show,
.gf-offcanvas.show .nav-link.bg-light-hover:hover,
.gf-offcanvas.show .nav-link.bg-light-hover:focus-visible,
.gf-offcanvas.show .nav-link.bg-light-hover.show {
  background-color: rgba(var(--gf-accent-rgb), .22) !important;
  color: #fff !important;
}
.gf-header .nav-link.bg-light-hover:hover .gf-nav-link__icon,
.gf-header .nav-link.bg-light-hover:focus-visible .gf-nav-link__icon,
.gf-header .nav-link.bg-light-hover.show .gf-nav-link__icon,
.header-menu[data-bs-theme=dark] .nav-link.bg-light-hover:hover .gf-nav-link__icon,
.header-menu[data-bs-theme=dark] .nav-link.bg-light-hover.show .gf-nav-link__icon {
  color: #fff !important;
}
[data-bs-theme=light] .gf-header .nav-link.bg-light-hover:hover,
[data-bs-theme=light] .gf-header .nav-link.bg-light-hover:focus-visible,
[data-bs-theme=light] .gf-header .nav-link.bg-light-hover.show {
  background-color: rgba(var(--gf-accent-rgb), .12) !important;
  color: var(--gf-accent) !important;
}

/* Menu: Outras redes — mega menu */
.gf-nav-dropdown--others {
  position: static;
}
.gf-nav-mega.dropdown-menu {
  --bs-dropdown-min-width: 0;
  width: min(96vw, 68rem);
  max-width: calc(100vw - 1.5rem);
  padding: 0 !important;
  overflow: hidden;
  border-radius: 18px !important;
  background:
    radial-gradient(120% 80% at 0% 0%, rgba(var(--gf-accent-rgb), .18), transparent 55%),
    radial-gradient(90% 70% at 100% 0%, rgba(255, 90, 31, .12), transparent 50%),
    #16111c !important;
  box-shadow: 0 24px 56px rgba(0, 0, 0, .45) !important;
}
.gf-nav-mega__inner {
  padding: 1.45rem 1.5rem 1.6rem;
}
.gf-nav-mega__eyebrow {
  margin: 0 0 1.05rem;
  font-size: .78rem;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: rgba(255, 255, 255, .45);
  font-weight: 600;
}
.gf-nav-mega__grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 1.1rem 1.25rem;
}
.gf-nav-mega__col {
  min-width: 0;
  padding: 1rem 1.05rem 1.1rem;
  border-radius: 16px;
  min-height: 9.5rem;
  background: rgba(255, 255, 255, .03);
  border: 1px solid rgba(255, 255, 255, .06);
  transition: border-color .2s ease, background .2s ease;
}
.gf-nav-mega__col:hover {
  background: rgba(255, 255, 255, .05);
  border-color: rgba(var(--gf-accent-rgb), .35);
}
.gf-nav-mega__head {
  display: flex;
  align-items: center;
  gap: .6rem;
  margin-bottom: .55rem;
  padding: .3rem 0 .55rem;
  border-bottom: 1px solid rgba(255, 255, 255, .08);
  color: #fff !important;
  font-weight: 700;
  font-size: 1.05rem;
  text-decoration: none;
  line-height: 1.25;
}
.gf-nav-mega__head:hover {
  color: var(--gf-accent-2) !important;
}
.gf-nav-mega__head--static {
  cursor: default;
}
.gf-nav-mega__head .gf-nav-network__img,
.gf-nav-mega__head .gf-nav-link__icon {
  width: 24px;
  height: 24px;
  flex-shrink: 0;
}
.gf-nav-mega__links {
  display: flex;
  flex-direction: column;
  gap: .2rem;
}
.gf-nav-mega__link {
  display: block;
  padding: .48rem .35rem;
  border-radius: 10px;
  color: rgba(255, 255, 255, .72) !important;
  font-size: .95rem;
  line-height: 1.4;
  text-decoration: none;
  transition: color .15s ease, background .15s ease, padding-left .15s ease;
}
.gf-nav-mega__link:hover,
.gf-nav-mega__link:focus-visible {
  color: #fff !important;
  background: rgba(var(--gf-accent-rgb), .16);
  padding-left: .55rem;
}

@media (max-width: 991.98px) {
  .gf-nav-mega__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .gf-nav-mega.dropdown-menu {
    width: 100%;
    max-width: none;
  }
}
@media (max-width: 1199.98px) {
  .gf-nav-dropdown--others {
    position: relative;
  }
  .gf-offcanvas.show .gf-nav-mega.dropdown-menu {
    width: 100%;
    background: rgba(0, 0, 0, .28) !important;
    box-shadow: none !important;
  }
  .gf-offcanvas.show .gf-nav-mega__grid {
    grid-template-columns: 1fr 1fr;
    gap: .55rem;
  }
  .gf-offcanvas.show .gf-nav-mega__inner {
    padding: .75rem;
  }
  .gf-offcanvas.show .gf-nav-mega__col {
    background: rgba(255, 255, 255, .04);
  }
}
@media (min-width: 1200px) {
  .gf-nav-dropdown--others > .gf-nav-mega {
    /* ancora o painel largo sem sair da viewport à direita */
    right: 0;
    left: auto;
  }
  .gf-nav-mega.dropdown-menu {
    width: min(96vw, 72rem);
  }
  .gf-nav-mega__inner {
    padding: 1.65rem 1.75rem 1.8rem;
  }
  .gf-nav-mega__grid {
    gap: 1.25rem 1.4rem;
  }
  .gf-nav-mega__col {
    padding: 1.15rem 1.2rem 1.25rem;
    min-height: 10.5rem;
  }
}

[data-bs-theme=light] .gf-nav-mega.dropdown-menu {
  background:
    radial-gradient(120% 80% at 0% 0%, rgba(var(--gf-accent-rgb), .1), transparent 55%),
    #fff !important;
}
[data-bs-theme=light] .gf-nav-mega__eyebrow {
  color: rgba(20, 10, 18, .45);
}
[data-bs-theme=light] .gf-nav-mega__col {
  background: rgba(20, 10, 18, .03);
  border-color: rgba(20, 10, 18, .08);
}
[data-bs-theme=light] .gf-nav-mega__col:hover {
  border-color: rgba(var(--gf-accent-rgb), .35);
  background: rgba(var(--gf-accent-rgb), .05);
}
[data-bs-theme=light] .gf-nav-mega__head {
  color: #1a1018 !important;
  border-bottom-color: rgba(20, 10, 18, .08);
}
[data-bs-theme=light] .gf-nav-mega__link {
  color: rgba(26, 16, 24, .72) !important;
}
[data-bs-theme=light] .gf-nav-mega__link:hover,
[data-bs-theme=light] .gf-nav-mega__link:focus-visible {
  color: #1a1018 !important;
}

/* ===== GF Order page (get started) ===== */

.gf-order-hero {
  position: relative;
  padding: 7.25rem 0 1.25rem;
  isolation: isolate;
}
.gf-order-hero__glow {
  position: absolute;
  inset: -20% -10% auto -10%;
  height: min(52vh, 420px);
  pointer-events: none;
  z-index: 0;
  background:
    radial-gradient(55% 60% at 50% 0%, rgba(var(--gf-accent-rgb), .28), transparent 70%),
    radial-gradient(40% 50% at 80% 20%, rgba(var(--gf-purple-rgb), .18), transparent 65%);
}
.gf-order-hero__inner {
  position: relative;
  z-index: 1;
  max-width: 36rem;
  margin-inline: auto;
}
.gf-order-hero__title {
  font-family: "Sora", "DM Sans", sans-serif;
  font-weight: 700;
  font-size: clamp(1.75rem, 3.2vw, 2.35rem);
  letter-spacing: -0.03em;
  line-height: 1.15;
  margin: 0 0 .65rem;
  background: var(--gf-gradient);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
}
.gf-order-hero__lead {
  margin: 0;
  color: var(--gf-muted);
  font-size: 1rem;
  line-height: 1.55;
}

.gf-order-section {
  position: relative;
  padding: 0.5rem 0 3.5rem;
}

.gf-order-card {
  background: var(--gf-panel);
  border: 1px solid var(--gf-line);
  border-radius: calc(var(--gf-radius) + 2px);
  box-shadow: var(--gf-shadow);
  padding: 1.35rem 1.25rem 1.5rem;
  overflow: hidden;
}
@media (min-width: 576px) {
  .gf-order-card { padding: 1.75rem 1.85rem 1.9rem; }
}

.gf-order-card__head {
  margin-bottom: 1.15rem;
  text-align: left;
}
.gf-order-card__title {
  font-family: "Sora", "DM Sans", sans-serif;
  font-size: 1.25rem;
  font-weight: 700;
  letter-spacing: -0.02em;
  margin: 0 0 .35rem;
  color: inherit;
}
.gf-order-card__subtitle {
  margin: 0;
  font-size: .9rem;
  color: var(--gf-muted);
  line-height: 1.45;
}

.gf-order-summary {
  display: flex;
  flex-direction: column;
  gap: .75rem;
  padding: .95rem 1.05rem;
  margin-bottom: 1.35rem;
  border-radius: 16px;
  border: 1px solid rgba(var(--gf-accent-rgb), .28);
  background:
    linear-gradient(135deg, rgba(var(--gf-accent-rgb), .12), rgba(var(--gf-purple-rgb), .08));
  transition: border-color .2s ease, box-shadow .2s ease;
}
.gf-order-summary.is-picking {
  border-color: rgba(var(--gf-accent-2-rgb), .45);
  box-shadow: 0 0 0 3px rgba(var(--gf-accent-2-rgb), .12);
}
.gf-order-summary__row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: .85rem;
}
.gf-order-summary__aside {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: .35rem;
  flex-shrink: 0;
}
.gf-order-summary .gf-order-edit-pkg {
  margin-left: 0;
  padding: .3rem .55rem;
  border-radius: 999px;
  background: rgba(255,255,255,.06);
  border: 1px solid var(--gf-line);
}
.gf-order-summary .gf-order-edit-pkg:hover,
.gf-order-summary .gf-order-edit-pkg:focus-visible {
  background: rgba(var(--gf-accent-rgb), .14);
  border-color: rgba(var(--gf-accent-2-rgb), .4);
}

.gf-order-pkg-hidden {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip: rect(0 0 0 0);
}

.gf-pkg-picker {
  padding-top: .35rem;
  border-top: 1px solid rgba(255,255,255,.08);
  animation: gf-pkg-open .28s cubic-bezier(.22,1,.36,1) both;
}
@keyframes gf-pkg-open {
  from { opacity: 0; transform: translateY(-6px); }
  to   { opacity: 1; transform: none; }
}
@media (prefers-reduced-motion: reduce) {
  .gf-pkg-picker { animation: none; }
}
.gf-pkg-picker__hint {
  margin: 0 0 .55rem;
  font-size: .75rem;
  font-weight: 600;
  letter-spacing: .04em;
  text-transform: uppercase;
  color: var(--gf-muted);
}
.gf-pkg-picker__list {
  display: flex;
  flex-direction: column;
  gap: .45rem;
  max-height: min(52vh, 320px);
  overflow: auto;
  padding-right: .15rem;
  -webkit-overflow-scrolling: touch;
}
.gf-pkg-option {
  display: grid;
  grid-template-columns: 1fr auto auto;
  align-items: center;
  gap: .65rem;
  width: 100%;
  text-align: left;
  padding: .7rem .85rem;
  border-radius: 14px;
  border: 1px solid var(--gf-line);
  background: var(--gf-panel-2);
  color: inherit;
  cursor: pointer;
  transition: border-color .15s ease, background .15s ease, transform .12s ease;
}
.gf-pkg-option:hover {
  border-color: rgba(var(--gf-accent-2-rgb), .4);
  background: rgba(var(--gf-accent-rgb), .08);
}
.gf-pkg-option:active { transform: scale(.99); }
.gf-pkg-option.is-selected {
  border-color: rgba(var(--gf-accent-2-rgb), .55);
  background:
    linear-gradient(135deg, rgba(var(--gf-accent-rgb), .16), rgba(var(--gf-purple-rgb), .1));
  box-shadow: 0 0 0 1px rgba(var(--gf-accent-2-rgb), .2);
}
.gf-pkg-option__main {
  display: flex;
  flex-direction: column;
  gap: .1rem;
  min-width: 0;
}
.gf-pkg-option__qty {
  font-family: "Sora", "DM Sans", sans-serif;
  font-weight: 700;
  font-size: 1rem;
  letter-spacing: -0.02em;
  line-height: 1.2;
}
.gf-pkg-option__label {
  font-size: .78rem;
  color: var(--gf-muted);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.gf-pkg-option__price {
  font-family: "Sora", "DM Sans", sans-serif;
  font-weight: 700;
  font-size: .95rem;
  background: var(--gf-gradient);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
  white-space: nowrap;
}
.gf-pkg-option__check {
  width: 1.35rem;
  height: 1.35rem;
  border-radius: 50%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: .85rem;
  color: transparent;
  background: rgba(255,255,255,.06);
  border: 1px solid var(--gf-line);
}
.gf-pkg-option.is-selected .gf-pkg-option__check {
  color: #fff;
  background: var(--gf-gradient);
  border-color: transparent;
}

@media (max-width: 419.98px) {
  .gf-order-summary__row {
    flex-wrap: wrap;
  }
  .gf-order-summary__aside {
    width: 100%;
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
  }
}
.gf-order-summary__kicker {
  display: block;
  font-size: .72rem;
  font-weight: 600;
  letter-spacing: .06em;
  text-transform: uppercase;
  color: var(--gf-muted);
  margin-bottom: .2rem;
}
.gf-order-summary__name {
  display: block;
  font-family: "Sora", "DM Sans", sans-serif;
  font-size: .95rem;
  font-weight: 600;
  line-height: 1.3;
  letter-spacing: -0.01em;
}
.gf-order-summary__price {
  flex-shrink: 0;
  font-family: "Sora", "DM Sans", sans-serif;
  font-weight: 700;
  font-size: 1.15rem;
  letter-spacing: -0.02em;
  background: var(--gf-gradient);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
}

.gf-order-form .gf-order-field {
  margin-bottom: 1.15rem;
}
.gf-order-form .form-label {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: .4rem .55rem;
  font-size: .875rem;
  font-weight: 600;
  margin-bottom: .45rem;
  color: inherit;
}
.gf-order-hint {
  margin-top: .45rem;
  font-size: .8rem;
  color: var(--gf-muted);
}

.gf-order-input,
.gf-order-form .form-control,
.gf-order-form .form-select {
  height: 48px;
  min-height: 48px;
  padding: 0.7rem 0.95rem;
  line-height: 1.35;
  font-size: 1rem;
  border-radius: 14px;
  border-color: var(--gf-line);
  background-color: var(--gf-panel-2);
  color: inherit;
  box-shadow: none;
  overflow: visible;
}
.gf-order-form .form-control::placeholder {
  color: var(--gf-muted);
  opacity: .85;
}
.gf-order-form .form-control:focus,
.gf-order-form .form-select:focus {
  border-color: rgba(var(--gf-accent-2-rgb), .55);
  box-shadow: 0 0 0 .2rem rgba(var(--gf-accent-2-rgb), .18);
  background-color: var(--gf-panel-2);
  color: inherit;
}
.gf-order-form .form-select:disabled {
  opacity: .92;
  background-color: var(--gf-panel-2);
  color: inherit;
}

.gf-order-verify {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: .55rem;
  align-items: stretch;
}
.gf-order-verify .gf-order-input {
  min-width: 0;
  width: 100%;
}
.gf-order-verify__btn {
  white-space: nowrap;
  min-height: 48px;
  padding-inline: 1.1rem;
  border-radius: 14px;
  font-weight: 600;
  flex-shrink: 0;
}
@media (max-width: 419.98px) {
  .gf-order-verify {
    gap: .4rem;
  }
  .gf-order-verify__btn {
    padding-inline: .75rem;
    font-size: .9rem;
  }
}

.gf-order-profile,
.gf-profile-card.gf-order-profile {
  border: 1px solid rgba(var(--gf-accent-rgb), .22);
  border-radius: 16px;
  background: linear-gradient(160deg, rgba(var(--gf-accent-rgb), .1), rgba(255,255,255,.02) 55%);
  box-shadow: 0 10px 28px rgba(0,0,0,.18);
  margin-bottom: 1.15rem;
  overflow: hidden;
}
.gf-order-profile__body {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  column-gap: .85rem;
  row-gap: .4rem;
  align-items: center;
  padding: .95rem 1rem;
}
.gf-order-profile__avatar,
.gf-profile-avatar,
.gf-order-profile__avatar--fallback {
  width: 56px;
  height: 56px;
  object-fit: cover;
  background: var(--gf-panel-2);
  border: 2px solid rgba(var(--gf-accent-2-rgb), .35);
  flex-shrink: 0;
  grid-column: 1;
  grid-row: 1 / span 2;
  align-self: center;
}
.gf-order-profile__info {
  grid-column: 2;
  min-width: 0;
}
.gf-order-profile__name {
  font-family: "Sora", "DM Sans", sans-serif;
  font-weight: 600;
  font-size: 1.05rem;
  letter-spacing: -0.015em;
  line-height: 1.25;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.gf-order-profile__handle {
  font-size: .85rem;
  color: var(--gf-muted);
  margin-top: .1rem;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.gf-order-profile__stats {
  font-size: .78rem;
  color: var(--gf-muted);
  margin-top: .35rem;
}
.gf-order-profile__badge,
#gf_profile_ok.gf-order-profile__badge {
  grid-column: 2;
  justify-self: start;
  max-width: 100%;
  box-sizing: border-box;
  display: inline-flex;
  align-items: center;
  gap: .3rem;
  padding: .3rem .65rem;
  border-radius: 999px;
  font-size: .72rem;
  font-weight: 700;
  letter-spacing: .02em;
  line-height: 1.2;
  white-space: nowrap;
  background: rgba(34, 197, 94, .16);
  color: #4ade80;
  border: 1px solid rgba(74, 222, 128, .35);
}
.gf-order-profile__badge:not(.d-none)::before {
  content: "";
  width: .45rem;
  height: .45rem;
  flex-shrink: 0;
  border-radius: 50%;
  background: currentColor;
  box-shadow: 0 0 0 3px rgba(74, 222, 128, .2);
}
@media (max-width: 359.98px) {
  .gf-order-profile__body {
    column-gap: .65rem;
    padding: .85rem .8rem;
  }
  .gf-order-profile__avatar,
  .gf-profile-avatar,
  .gf-order-profile__avatar--fallback {
    width: 44px;
    height: 44px;
  }
  .gf-order-profile__name { font-size: .95rem; }
  .gf-order-profile__badge,
  #gf_profile_ok.gf-order-profile__badge {
    font-size: .68rem;
    padding: .28rem .55rem;
  }
}

.gf-order-chip {
  display: inline-flex;
  align-items: center;
  font-size: .68rem;
  font-weight: 600;
  letter-spacing: .02em;
  text-transform: lowercase;
  padding: .2rem .5rem;
  border-radius: 999px;
  color: var(--gf-muted);
  background: rgba(255,255,255,.05);
  border: 1px solid var(--gf-line);
}

.gf-order-readonly-wrap {
  position: relative;
}
.gf-order-readonly-wrap .gf-order-input--readonly,
.gf-link-field .gf-order-input--readonly,
.gf-link-field input[readonly] {
  padding-right: 2.4rem;
  background: rgba(255,255,255,.03) !important;
  color: var(--gf-muted) !important;
  border-color: var(--gf-line) !important;
  cursor: default;
  box-shadow: none !important;
}
.gf-order-readonly-icon {
  position: absolute;
  right: .9rem;
  top: 50%;
  transform: translateY(-50%);
  color: var(--gf-muted);
  font-size: .9rem;
  opacity: .75;
  pointer-events: none;
}

.gf-order-edit-pkg {
  margin-left: auto;
  display: inline-flex;
  align-items: center;
  gap: .3rem;
  border: 0;
  background: transparent;
  color: var(--gf-accent-2);
  font-size: .8rem;
  font-weight: 600;
  padding: .15rem .25rem;
  cursor: pointer;
}
.gf-order-edit-pkg:hover,
.gf-order-edit-pkg:focus-visible {
  color: var(--gf-accent);
  outline: none;
}

.gf-order-cta-wrap {
  margin-top: 1.5rem;
}
.gf-order-cta {
  min-height: 52px;
  border-radius: 14px;
  font-weight: 700;
  letter-spacing: -0.01em;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
.gf-order-trust {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: .4rem;
  margin: .85rem 0 0;
  font-size: .78rem;
  color: var(--gf-muted);
  text-align: center;
  line-height: 1.4;
}
.gf-order-trust i {
  color: #4ade80;
  font-size: .95rem;
}

.gf-posts-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 10px;
}
@media (min-width: 576px) {
  .gf-posts-grid { grid-template-columns: repeat(4, 1fr); }
}
.gf-order-posts-meta {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: .65rem;
  flex-wrap: wrap;
  margin-top: .65rem;
}
.gf-post-item {
  position: relative;
  aspect-ratio: 1 / 1;
  border-radius: 12px;
  overflow: hidden;
  cursor: pointer;
  border: 2px solid transparent;
  background: var(--gf-panel-2);
  padding: 0;
}
.gf-post-item img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.gf-post-item.is-selected {
  border-color: var(--gf-accent-2);
  box-shadow: 0 0 0 2px rgba(var(--gf-accent-2-rgb), .28);
}
.gf-post-qty {
  display: none;
  position: absolute;
  left: 0; right: 0; bottom: 0;
  background: rgba(var(--gf-accent-rgb), .92);
  color: #fff;
  font-size: 12px;
  font-weight: 700;
  text-align: center;
  padding: 4px 2px;
  line-height: 1.2;
}
.gf-post-item.is-selected .gf-post-qty { display: block; }
.gf-post-check {
  display: none;
  position: absolute;
  top: 6px;
  right: 6px;
  width: 22px;
  height: 22px;
  border-radius: 50%;
  background: var(--gf-accent-2);
  color: #fff;
  font-size: 12px;
  align-items: center;
  justify-content: center;
  font-weight: 700;
}
.gf-post-item.is-selected .gf-post-check { display: flex; }

[data-bs-theme=light] .gf-order-hero__glow {
  background:
    radial-gradient(55% 60% at 50% 0%, rgba(var(--gf-accent-rgb), .16), transparent 70%),
    radial-gradient(40% 50% at 80% 20%, rgba(var(--gf-purple-rgb), .1), transparent 65%);
}
[data-bs-theme=light] .gf-order-hero__lead {
  color: var(--gf-text-soft, var(--gf-muted));
}
[data-bs-theme=light] .gf-order-card {
  background: #fff;
  border-color: rgba(24, 12, 36, .08);
  box-shadow: 0 16px 40px rgba(24, 12, 36, .08);
}
[data-bs-theme=light] .gf-order-card__title {
  color: var(--gf-text, #16101f);
}
[data-bs-theme=light] .gf-order-card__subtitle,
[data-bs-theme=light] .gf-order-hint,
[data-bs-theme=light] .gf-order-trust {
  color: var(--gf-text-soft, #5c566a);
}
[data-bs-theme=light] .gf-order-summary {
  background:
    linear-gradient(135deg, rgba(var(--gf-accent-rgb), .09), rgba(var(--gf-purple-rgb), .05));
  border-color: rgba(var(--gf-accent-rgb), .22);
}
[data-bs-theme=light] .gf-order-summary__name {
  color: var(--gf-text, #16101f);
}
[data-bs-theme=light] .gf-order-input,
[data-bs-theme=light] .gf-order-form .form-control,
[data-bs-theme=light] .gf-order-form .form-select {
  background-color: #f7f5f9;
  border-color: rgba(24, 12, 36, .12);
  color: var(--gf-text, #16101f);
}
[data-bs-theme=light] .gf-order-form .form-control:focus,
[data-bs-theme=light] .gf-order-form .form-select:focus {
  background-color: #fff;
  color: var(--gf-text, #16101f);
}
[data-bs-theme=light] .gf-order-form .form-select:disabled {
  background-color: #f0eef3;
  color: var(--gf-text, #16101f);
}
[data-bs-theme=light] .gf-order-profile,
[data-bs-theme=light] .gf-profile-card.gf-order-profile {
  background: linear-gradient(160deg, rgba(var(--gf-accent-rgb), .07), #fff 50%);
  border-color: rgba(var(--gf-accent-rgb), .18);
  box-shadow: 0 10px 28px rgba(24, 12, 36, .06);
}
[data-bs-theme=light] .gf-order-profile__name {
  color: var(--gf-text, #16101f);
}
[data-bs-theme=light] .gf-order-profile__handle,
[data-bs-theme=light] .gf-order-profile__stats {
  color: var(--gf-text-soft, #5c566a);
}
[data-bs-theme=light] .gf-order-profile__badge,
[data-bs-theme=light] #gf_profile_ok.gf-order-profile__badge {
  background: rgba(22, 163, 74, .12);
  color: #15803d;
  border-color: rgba(22, 163, 74, .28);
}
[data-bs-theme=light] .gf-order-chip {
  background: rgba(24, 12, 36, .04);
  border-color: rgba(24, 12, 36, .08);
  color: var(--gf-text-soft, #5c566a);
}
[data-bs-theme=light] .gf-link-field input[readonly],
[data-bs-theme=light] .gf-order-input--readonly {
  background: #f0eef3 !important;
  color: var(--gf-text-soft, #5c566a) !important;
  border-color: rgba(24, 12, 36, .1) !important;
}
[data-bs-theme=light] .gf-order-trust i {
  color: #16a34a;
}
[data-bs-theme=light] .gf-post-item {
  background: #f0eef3;
}

.order-form .card-title.bg-light {
  background: transparent !important;
  color: inherit !important;
  padding: 0 !important;
}

/* ===== GF Checkout page ===== */
/* ===== GF Checkout page ===== */

.gf-checkout__hero {
  padding-bottom: 0.5rem;
}
.gf-checkout__container {
  padding-block: 0.75rem 3.5rem;
}
.gf-checkout-card.gf-order-card {
  margin-bottom: 0;
}
.gf-checkout-pay.sticky-lg-top {
  top: 1.25rem;
}

.gf-order-profile__avatar--fallback {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 64px;
  height: 64px;
  border-radius: 50%;
  background: var(--gf-panel-2);
  border: 2px solid rgba(var(--gf-accent-2-rgb), .35);
  color: var(--gf-muted);
  font-size: 1.6rem;
  flex-shrink: 0;
}

.gf-checkout-link-fallback {
  display: flex;
  flex-direction: column;
  gap: .35rem;
  padding: .9rem 1rem;
  margin-bottom: 1.15rem;
  border-radius: 14px;
  border: 1px solid var(--gf-line);
  background: var(--gf-panel-2);
}
.gf-checkout-link-fallback__label {
  font-size: .72rem;
  font-weight: 600;
  letter-spacing: .05em;
  text-transform: uppercase;
  color: var(--gf-muted);
}
.gf-checkout-link-fallback__url {
  color: inherit;
  text-decoration: none;
  font-size: .9rem;
  word-break: break-all;
}
.gf-checkout-link-fallback__url:hover {
  color: var(--gf-accent-2);
}

.gf-checkout-posts {
  margin-bottom: 1.15rem;
}
.gf-checkout-posts__head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: .75rem;
  margin-bottom: .65rem;
}
.gf-checkout-posts__title {
  font-size: .875rem;
  font-weight: 600;
}
.gf-checkout-posts__count {
  min-width: 1.5rem;
  height: 1.5rem;
  padding: 0 .45rem;
  border-radius: 999px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: .72rem;
  font-weight: 700;
  background: rgba(var(--gf-accent-rgb), .16);
  color: var(--gf-accent-2);
}
.gf-checkout-posts__grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: .55rem;
}
@media (max-width: 419.98px) {
  .gf-checkout-posts__grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
.gf-checkout-post {
  position: relative;
  aspect-ratio: 1 / 1;
  border-radius: 12px;
  overflow: hidden;
  border: 1px solid var(--gf-line);
  background: var(--gf-panel-2);
  display: block;
  text-decoration: none;
}
.gf-checkout-post img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.gf-checkout-post__placeholder {
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--gf-muted);
  font-size: 1.25rem;
}
.gf-checkout-post__qty {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  background: rgba(var(--gf-accent-rgb), .92);
  color: #fff;
  font-size: .7rem;
  font-weight: 700;
  text-align: center;
  padding: .25rem 2px;
  line-height: 1.2;
}

.gf-checkout-meta {
  display: grid;
  gap: .55rem;
  padding-top: .25rem;
}
.gf-checkout-meta li {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 1rem;
  font-size: .9rem;
  color: var(--gf-muted);
}
.gf-checkout-meta strong {
  color: inherit;
  font-weight: 600;
}

.gf-checkout-payments {
  border: 0;
  padding: 0;
  margin: 0;
}
.gf-checkout-payments__legend {
  font-size: .875rem;
  font-weight: 600;
  margin-bottom: .75rem;
  float: none;
  width: auto;
  padding: 0;
}
.gf-checkout .payment-options .item-payment {
  border: 1px solid var(--gf-line);
  border-radius: 14px;
  padding: .75rem 1rem;
  transition: border-color .2s, background-color .2s, box-shadow .2s;
  cursor: pointer;
  min-height: 64px;
  height: auto;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  overflow: hidden;
  background: var(--gf-panel-2);
  margin-left: 0 !important;
  padding-left: 1rem !important;
}
.gf-checkout .payment-options .form-check.item-payment .form-check-input {
  margin-left: 0;
  margin-top: 0;
  flex-shrink: 0;
}
.gf-checkout .payment-options .item-payment .logo {
  max-width: 72px;
  max-height: 36px;
  width: auto;
  object-fit: contain;
}
.gf-checkout .payment-options .item-payment:hover {
  border-color: rgba(var(--gf-accent-2-rgb), .45);
}
.gf-checkout .payment-options .item-payment.selected {
  border-color: var(--gf-accent-2);
  background: rgba(var(--gf-accent-rgb), .1);
  box-shadow: 0 0 0 1px rgba(var(--gf-accent-2-rgb), .25);
}
.gf-checkout .payment-options .item-payment input:checked ~ label {
  font-weight: 600;
}

.gf-checkout-coupon__row {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: .55rem;
  align-items: stretch;
}
.gf-checkout-coupon .custom-input,
.gf-checkout-coupon .custom-button {
  width: auto;
}
.gf-checkout-coupon .custom-button {
  min-height: 48px;
  border-radius: 14px;
  white-space: nowrap;
  font-weight: 600;
  padding-inline: 1.1rem;
}

.gf-checkout .total-price-detail h4,
.gf-checkout-total h4 {
  font-size: 1rem;
  font-weight: 600;
  margin: 0;
}
.gf-checkout .total-price-detail h3,
.gf-checkout-total h3 {
  font-family: "Sora", "DM Sans", sans-serif;
  font-size: 1.5rem;
  font-weight: 700;
  margin: 0;
  letter-spacing: -0.02em;
  background: var(--gf-gradient);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
}

.gf-checkout-notes__title {
  font-size: .8rem;
  font-weight: 700;
  letter-spacing: .04em;
  text-transform: uppercase;
  color: var(--gf-muted);
  margin: 0 0 .5rem;
}
.gf-checkout-notes__list {
  margin: 0;
  padding-left: 1.1rem;
  color: var(--gf-muted);
  font-size: .8rem;
  line-height: 1.5;
}
.gf-checkout-notes__list li + li { margin-top: .35rem; }

.gf-checkout-secure img {
  max-width: 100%;
  height: auto;
  opacity: .9;
}

[data-bs-theme=light] .gf-checkout .payment-options .item-payment {
  background: #f7f5f9;
  border-color: rgba(24, 12, 36, .1);
}
[data-bs-theme=light] .gf-checkout .payment-options .item-payment.selected {
  background: rgba(var(--gf-accent-rgb), .08);
  border-color: rgba(var(--gf-accent-rgb), .4);
}
[data-bs-theme=light] .gf-checkout-link-fallback {
  background: #f7f5f9;
  border-color: rgba(24, 12, 36, .1);
}
[data-bs-theme=light] .gf-checkout-meta li {
  color: var(--gf-text-soft, #5c566a);
}
[data-bs-theme=light] .gf-checkout-meta strong {
  color: var(--gf-text, #16101f);
}
[data-bs-theme=light] .gf-order-profile__avatar--fallback {
  background: #f0eef3;
  color: var(--gf-text-soft, #5c566a);
}

/* ===== GF Checkout target panel ===== */
/* ===== GF Checkout target panel ===== */

.gf-checkout-target-actions {
  margin: -.35rem 0 1.1rem;
}
.gf-checkout-target-toggle {
  display: inline-flex;
  align-items: center;
  gap: .4rem;
  border: 0;
  background: transparent;
  color: var(--gf-accent-2);
  font-size: .875rem;
  font-weight: 600;
  padding: .25rem 0;
  cursor: pointer;
}
.gf-checkout-target-toggle:hover,
.gf-checkout-target-toggle:focus-visible {
  color: var(--gf-accent);
  outline: none;
}

.gf-checkout-target-panel {
  margin-bottom: 1.25rem;
  padding: 1.1rem 1.15rem 1.2rem;
  border-radius: 16px;
  border: 1px solid rgba(var(--gf-accent-rgb), .28);
  background:
    linear-gradient(160deg, rgba(var(--gf-accent-rgb), .1), rgba(255,255,255,.02) 55%);
}
.gf-checkout-target-panel__head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: .75rem;
  margin-bottom: 1rem;
}
.gf-checkout-target-panel__head strong {
  font-family: "Sora", "DM Sans", sans-serif;
  font-size: 1rem;
  letter-spacing: -0.015em;
}
.gf-checkout-target-close {
  width: 2rem;
  height: 2rem;
  border-radius: 10px;
  border: 1px solid var(--gf-line);
  background: var(--gf-panel-2);
  color: var(--gf-muted);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
}
.gf-checkout-target-close:hover {
  color: inherit;
  border-color: rgba(var(--gf-accent-2-rgb), .4);
}
.gf-checkout-target-panel__footer {
  display: flex;
  flex-wrap: wrap;
  gap: .65rem;
  justify-content: flex-end;
  margin-top: 1.1rem;
}
.gf-checkout-target-panel__footer .btn {
  min-height: 44px;
  border-radius: 12px;
  font-weight: 600;
}

[data-bs-theme=light] .gf-checkout-target-panel {
  background: linear-gradient(160deg, rgba(var(--gf-accent-rgb), .07), #fff 55%);
  border-color: rgba(var(--gf-accent-rgb), .2);
}
[data-bs-theme=light] .gf-checkout-target-close {
  background: #f7f5f9;
  border-color: rgba(24, 12, 36, .1);
}

/* ===== GF Track / success pages ===== */
/* ===== GF Track / success pages ===== */

.gf-page-hero .gf-page-icon {
  width: 4.5rem;
  height: 4.5rem;
  margin: 0 auto 1rem;
  border-radius: 50%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 2.4rem;
  line-height: 1;
}
.gf-page-icon--ok {
  color: #4ade80;
  background: rgba(34, 197, 94, .14);
  border: 1px solid rgba(74, 222, 128, .3);
}
.gf-page-icon--err {
  color: #f87171;
  background: rgba(239, 68, 68, .14);
  border: 1px solid rgba(248, 113, 113, .3);
}

.gf-track-block {
  margin-bottom: 1.35rem;
}
.gf-track-block__title {
  font-family: "Sora", "DM Sans", sans-serif;
  font-size: .95rem;
  font-weight: 700;
  letter-spacing: -0.01em;
  margin: 0 0 .75rem;
}
.gf-track-list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: .65rem;
}
.gf-track-list li {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 1rem;
  padding: .85rem 1rem;
  border-radius: 14px;
  border: 1px solid var(--gf-line);
  background: var(--gf-panel-2);
  font-size: .9rem;
}
.gf-track-list li > span {
  color: var(--gf-muted);
  flex-shrink: 0;
}
.gf-track-list li > strong {
  text-align: right;
  font-weight: 600;
  word-break: break-word;
}
.gf-track-price {
  font-family: "Sora", "DM Sans", sans-serif;
  background: var(--gf-gradient);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
}
.gf-track-link {
  color: var(--gf-accent-2);
  text-decoration: none;
  max-width: 16rem;
}
.gf-track-link:hover {
  color: var(--gf-accent);
  text-decoration: underline;
}
.gf-track-actions {
  display: flex;
  flex-wrap: wrap;
  gap: .65rem;
  margin-top: .35rem;
}
.gf-track-actions .btn {
  min-height: 44px;
  border-radius: 12px;
  font-weight: 600;
}

.gf-status {
  display: inline-flex;
  align-items: center;
  padding: .28rem .65rem;
  border-radius: 999px;
  font-size: .75rem;
  font-weight: 700;
  letter-spacing: .02em;
  line-height: 1.2;
}
.gf-status--done {
  background: rgba(34, 197, 94, .16);
  color: #4ade80;
  border: 1px solid rgba(74, 222, 128, .35);
}
.gf-status--ok {
  background: rgba(34, 197, 94, .14);
  color: #4ade80;
  border: 1px solid rgba(74, 222, 128, .28);
}
.gf-status--info {
  background: rgba(var(--gf-accent-rgb), .14);
  color: var(--gf-accent-2);
  border: 1px solid rgba(var(--gf-accent-2-rgb), .3);
}
.gf-status--warn {
  background: rgba(245, 158, 11, .14);
  color: #fbbf24;
  border: 1px solid rgba(251, 191, 36, .3);
}
.gf-status--danger {
  background: rgba(239, 68, 68, .14);
  color: #f87171;
  border: 1px solid rgba(248, 113, 113, .3);
}
.gf-status--muted {
  background: rgba(255,255,255,.06);
  color: var(--gf-muted);
  border: 1px solid var(--gf-line);
}

[data-bs-theme=light] .gf-page-icon--ok {
  color: #15803d;
  background: rgba(22, 163, 74, .1);
  border-color: rgba(22, 163, 74, .25);
}
[data-bs-theme=light] .gf-page-icon--err {
  color: #b91c1c;
  background: rgba(220, 38, 38, .08);
  border-color: rgba(220, 38, 38, .22);
}
[data-bs-theme=light] .gf-track-list li {
  background: #f7f5f9;
  border-color: rgba(24, 12, 36, .08);
}
[data-bs-theme=light] .gf-track-list li > span {
  color: var(--gf-text-soft, #5c566a);
}
[data-bs-theme=light] .gf-track-list li > strong {
  color: var(--gf-text, #16101f);
}
[data-bs-theme=light] .gf-status--done,
[data-bs-theme=light] .gf-status--ok {
  color: #15803d;
  background: rgba(22, 163, 74, .1);
  border-color: rgba(22, 163, 74, .25);
}
[data-bs-theme=light] .gf-status--info {
  color: var(--gf-accent);
  background: rgba(var(--gf-accent-rgb), .08);
}
[data-bs-theme=light] .gf-status--warn {
  color: #b45309;
  background: rgba(245, 158, 11, .12);
  border-color: rgba(180, 83, 9, .22);
}
[data-bs-theme=light] .gf-status--danger {
  color: #b91c1c;
  background: rgba(220, 38, 38, .08);
  border-color: rgba(185, 28, 28, .22);
}
[data-bs-theme=light] .gf-status--muted {
  background: rgba(24, 12, 36, .04);
  color: var(--gf-text-soft, #5c566a);
  border-color: rgba(24, 12, 36, .08);
}



.gf-track-limit-note {
  margin: 0 0 1rem;
  padding: .75rem 1rem;
  border-radius: 12px;
  border: 1px solid rgba(245, 158, 11, .28);
  background: rgba(245, 158, 11, .1);
  color: var(--gf-text-soft, #c4b5a0);
  font-size: .88rem;
}
.gf-track-orders {
  display: grid;
  gap: .85rem;
  margin-bottom: 1rem;
}
.gf-track-order-item {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: .9rem;
  align-items: start;
  padding: 1rem 1.05rem;
  border-radius: 18px;
  border: 1px solid var(--gf-line);
  background: var(--gf-panel-2);
  transition: border-color .2s ease, transform .2s ease;
}
.gf-track-order-item:hover {
  border-color: rgba(var(--gf-accent-rgb), .35);
}
.gf-track-order-item__media {
  width: 3rem;
  height: 3rem;
  border-radius: 14px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: rgba(255,255,255,.06);
  border: 1px solid var(--gf-line);
  flex-shrink: 0;
  overflow: hidden;
}
.gf-track-order-item__media img {
  width: 1.65rem;
  height: 1.65rem;
  object-fit: contain;
  display: block;
}
.gf-track-order-item__media i {
  font-size: 1.35rem;
  color: var(--gf-accent-2);
}
.gf-track-order-item--instagram .gf-track-order-item__media {
  background: linear-gradient(135deg, rgba(131,58,180,.22), rgba(253,29,29,.16), rgba(252,176,69,.14));
  border-color: rgba(225, 48, 108, .28);
}
.gf-track-order-item--tiktok .gf-track-order-item__media {
  background: rgba(255,255,255,.08);
}
.gf-track-order-item--youtube .gf-track-order-item__media {
  background: rgba(255, 0, 0, .12);
  border-color: rgba(255, 0, 0, .22);
}
.gf-track-order-item--facebook .gf-track-order-item__media {
  background: rgba(24, 119, 242, .14);
  border-color: rgba(24, 119, 242, .25);
}
.gf-track-order-item--spotify .gf-track-order-item__media {
  background: rgba(30, 215, 96, .12);
  border-color: rgba(30, 215, 96, .25);
}
.gf-track-order-item--twitter .gf-track-order-item__media,
.gf-track-order-item--threads .gf-track-order-item__media {
  background: rgba(255,255,255,.07);
}
.gf-track-order-item__body {
  min-width: 0;
}
.gf-track-order-item__row {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: .85rem;
}
.gf-track-order-item__title {
  margin: 0;
  font-family: "Sora", "DM Sans", sans-serif;
  font-size: 1rem;
  font-weight: 700;
  letter-spacing: -0.02em;
  line-height: 1.25;
  color: var(--gf-text);
}
.gf-track-order-item__meta {
  display: flex;
  flex-wrap: wrap;
  gap: .4rem;
  margin-top: .55rem;
}
.gf-track-chip {
  display: inline-flex;
  align-items: center;
  padding: .22rem .55rem;
  border-radius: 999px;
  font-size: .72rem;
  font-weight: 650;
  letter-spacing: .01em;
  line-height: 1.2;
  background: rgba(255,255,255,.06);
  border: 1px solid var(--gf-line);
  color: var(--gf-text-soft, #cfc6d8);
}
.gf-track-chip--net {
  background: rgba(var(--gf-accent-rgb), .12);
  border-color: rgba(var(--gf-accent-2-rgb), .28);
  color: var(--gf-accent-2);
}
.gf-track-chip--mute {
  color: var(--gf-muted);
  font-weight: 500;
}
.gf-track-order-item__side {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: .45rem;
  flex-shrink: 0;
}
.gf-track-order-item__price {
  font-family: "Sora", "DM Sans", sans-serif;
  font-size: 1.02rem;
  font-weight: 700;
  letter-spacing: -0.02em;
  background: var(--gf-gradient);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
  white-space: nowrap;
}
.gf-track-order-item__foot {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: .55rem 1rem;
  margin-top: .75rem;
  padding-top: .7rem;
  border-top: 1px solid var(--gf-line);
}
.gf-track-order-item__target {
  display: inline-flex;
  align-items: center;
  gap: .28rem;
  min-width: 0;
  max-width: 100%;
  color: var(--gf-accent-2);
  text-decoration: none;
  font-size: .86rem;
  font-weight: 600;
}
.gf-track-order-item__target span {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
a.gf-track-order-item__target:hover {
  color: var(--gf-accent);
  text-decoration: underline;
}
.gf-track-order-item__oid {
  margin-left: auto;
  font-size: .75rem;
  color: var(--gf-muted);
  font-variant-numeric: tabular-nums;
  letter-spacing: .02em;
}
[data-bs-theme=light] .gf-track-limit-note {
  color: #92400e;
  background: rgba(245, 158, 11, .1);
  border-color: rgba(180, 83, 9, .22);
}
[data-bs-theme=light] .gf-track-order-item {
  background: #f7f5f9;
  border-color: rgba(24, 12, 36, .08);
}
[data-bs-theme=light] .gf-track-order-item__media {
  background: #fff;
  border-color: rgba(24, 12, 36, .08);
}
[data-bs-theme=light] .gf-track-chip {
  background: #fff;
  border-color: rgba(24, 12, 36, .08);
  color: #5c566a;
}
[data-bs-theme=light] .gf-track-chip--net {
  background: rgba(var(--gf-accent-rgb), .08);
  color: var(--gf-accent);
}
[data-bs-theme=light] .gf-track-order-item__foot {
  border-top-color: rgba(24, 12, 36, .08);
}
@media (max-width: 575.98px) {
  .gf-track-order-item {
    gap: .75rem;
    padding: .9rem .85rem;
  }
  .gf-track-order-item__media {
    width: 2.6rem;
    height: 2.6rem;
    border-radius: 12px;
  }
  .gf-track-order-item__row {
    flex-direction: column;
  }
  .gf-track-order-item__side {
    width: 100%;
    flex-direction: row;
    justify-content: space-between;
    align-items: center;
  }
  .gf-track-order-item__oid {
    margin-left: 0;
  }
}

/* Ensure track details injected via AJAX aren't hidden */
#track-order-details:not(.d-none) {
  display: block;
}

/* Checkout billing: espaçamento + CPF sem truncar/sobrepor */
.gf-checkout .gf-order-card {
  overflow: visible;
}
.gf-checkout .gf-order-field {
  margin-bottom: 1.25rem;
}
.gf-checkout .gf-order-field--phone {
  margin-bottom: 1.6rem;
  position: relative;
  z-index: 2;
}
.gf-checkout .gf-order-field--phone > div {
  display: block;
  width: 100%;
  min-height: 48px;
}
.gf-checkout .gf-order-field--cpf {
  margin-top: 0.35rem;
  margin-bottom: 0;
  position: relative;
  z-index: 1;
  clear: both;
}
.gf-checkout .gf-order-field--cpf .gf-order-input,
.gf-checkout #cpf.gf-order-input {
  height: 48px;
  min-height: 48px;
  padding: 0.7rem 0.95rem;
  line-height: 1.35;
  overflow: visible;
}
.gf-checkout .iti {
  display: block !important;
  width: 100%;
  position: relative;
}
.gf-checkout .iti .gf-order-input,
.gf-checkout .iti input.iti__tel-input {
  height: 48px;
  min-height: 48px;
  width: 100%;
}

/* —— Instagram Login (header + modal) —— */
.gf-ig-login {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: .45rem;
  min-height: 40px;
  padding: .25rem .7rem .25rem .35rem;
  border-radius: 999px;
  border: 1px solid var(--gf-line);
  background: var(--gf-panel-2);
  color: inherit;
  font-size: .8rem;
  font-weight: 700;
  line-height: 1;
  cursor: pointer;
  transition: border-color .18s, transform .18s, box-shadow .18s, padding .18s;
}
.gf-ig-login:hover,
.gf-ig-login:focus-visible {
  border-color: rgba(var(--gf-accent-2-rgb), .5);
  box-shadow: 0 0 0 .15rem rgba(var(--gf-accent-2-rgb), .15);
  outline: 0;
  transform: translateY(-1px);
}
/* Logado: só avatar, estilo Instagram (anel) */
.gf-ig-login.is-logged {
  width: 40px;
  height: 40px;
  min-height: 40px;
  padding: 2px;
  border: 0;
  background: linear-gradient(135deg, #f58529, #dd2a7b 45%, #8134af 75%, #515bd4);
  box-shadow: none;
}
.gf-ig-login.is-logged:hover,
.gf-ig-login.is-logged:focus-visible {
  transform: scale(1.06);
  box-shadow: 0 0 0 .15rem rgba(221, 42, 123, .22);
  border: 0;
}
.gf-ig-login__avatar {
  width: 28px;
  height: 28px;
  border-radius: 50%;
  object-fit: cover;
  border: 2px solid rgba(255,255,255,.35);
  background: var(--gf-panel);
}
.gf-ig-login.is-logged .gf-ig-login__avatar {
  width: 100%;
  height: 100%;
  border: 2px solid var(--gf-panel, #0b0b12);
  display: block;
}
.gf-ig-login__icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 28px;
  height: 28px;
  border-radius: 50%;
  background: linear-gradient(135deg, #f58529, #dd2a7b 50%, #8134af);
  color: #fff;
  font-size: .95rem;
}
.gf-ig-login__label {
  max-width: 7.5rem;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.gf-ig-login.is-logged .gf-ig-login__label,
.gf-ig-login.is-logged .gf-ig-login__icon {
  display: none !important;
}

.gf-ig-modal__content {
  background: var(--gf-panel);
  border: 1px solid var(--gf-line);
  border-radius: 18px;
  color: inherit;
}
.gf-ig-modal__eyebrow {
  font-size: .72rem;
  font-weight: 700;
  letter-spacing: .06em;
  text-transform: uppercase;
  color: var(--gf-muted);
  margin: 0;
}
.gf-ig-modal__title {
  font-family: "Sora", "DM Sans", sans-serif;
  font-size: 1.2rem;
  font-weight: 700;
  margin: 0;
}
.gf-ig-modal__help {
  font-size: .9rem;
  color: var(--gf-muted);
  margin-bottom: 1rem;
}
.gf-ig-modal__row {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: .55rem;
}
@media (max-width: 419.98px) {
  .gf-ig-modal__row { grid-template-columns: 1fr; }
}
.gf-ig-modal__search {
  min-height: 48px;
  border-radius: 14px;
  font-weight: 600;
  white-space: nowrap;
}
.gf-ig-modal__preview {
  display: flex;
  align-items: center;
  gap: .85rem;
  padding: .9rem 1rem;
  border-radius: 14px;
  border: 1px solid rgba(var(--gf-accent-rgb), .25);
  background: rgba(var(--gf-accent-rgb), .08);
}
.gf-ig-modal__avatar {
  width: 56px;
  height: 56px;
  border-radius: 50%;
  object-fit: cover;
  border: 2px solid rgba(var(--gf-accent-2-rgb), .35);
  flex-shrink: 0;
}
.gf-ig-modal__meta {
  display: flex;
  flex-direction: column;
  gap: .15rem;
  min-width: 0;
  flex: 1;
}
.gf-ig-modal__meta strong {
  font-size: .95rem;
}
.gf-ig-modal__meta span {
  color: var(--gf-accent-2);
  font-weight: 600;
  font-size: .88rem;
}
.gf-ig-modal__meta small {
  color: var(--gf-muted);
  font-size: .78rem;
}
.gf-ig-modal__use {
  min-height: 48px;
  border-radius: 14px;
  font-weight: 600;
}

/* Checkout login + save */
.gf-checkout-login-hint {
  margin-bottom: 1.15rem;
  padding: .85rem 1rem;
  border-radius: 14px;
  border: 1px dashed rgba(var(--gf-accent-2-rgb), .35);
  background: rgba(var(--gf-accent-rgb), .06);
}
.gf-checkout-login-hint.is-logged {
  border-style: solid;
  border-color: rgba(var(--gf-accent-rgb), .28);
  background: rgba(var(--gf-accent-rgb), .1);
}
.gf-checkout-login-hint__guest {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: .65rem 1rem;
}
.gf-checkout-login-hint__user {
  display: flex;
  align-items: center;
  gap: .75rem;
}
.gf-checkout-login-hint__avatar {
  width: 40px;
  height: 40px;
  border-radius: 50%;
  object-fit: cover;
  border: 2px solid rgba(var(--gf-accent-2-rgb), .35);
  flex-shrink: 0;
  background: var(--gf-panel-2);
}
.gf-checkout-login-hint__meta {
  display: flex;
  flex-direction: column;
  gap: .1rem;
  min-width: 0;
  flex: 1;
}
.gf-checkout-login-hint__meta strong {
  font-size: .9rem;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.gf-checkout-login-hint__meta span {
  color: var(--gf-accent-2);
  font-size: .82rem;
  font-weight: 600;
}
.gf-checkout-login-btn {
  display: inline-flex;
  align-items: center;
  gap: .45rem;
  min-height: 40px;
  padding: .4rem .9rem;
  border-radius: 999px;
  border: 0;
  background: linear-gradient(135deg, #f58529, #dd2a7b 55%, #8134af);
  color: #fff;
  font-weight: 700;
  font-size: .85rem;
  cursor: pointer;
}
.gf-checkout-login-btn:hover { filter: brightness(1.06); }
.gf-checkout-login-hint small {
  color: var(--gf-muted);
  font-size: .8rem;
  flex: 1;
  min-width: 12rem;
}
.gf-checkout-save-box {
  margin-top: .35rem;
  padding: .85rem 1rem;
  border-radius: 14px;
  border: 1px solid var(--gf-line);
  background: var(--gf-panel-2);
}
.gf-checkout-save-box__label {
  display: flex;
  align-items: flex-start;
  gap: .55rem;
  margin: 0;
  font-size: .88rem;
  font-weight: 600;
  cursor: pointer;
}
.gf-checkout-save-box__label .form-check-input {
  margin-top: .2rem;
  flex-shrink: 0;
}
.gf-checkout-save-box small {
  display: block;
  margin-top: .45rem;
  margin-left: 1.55rem;
  color: var(--gf-muted);
  font-size: .78rem;
  line-height: 1.4;
}
.gf-checkout-saved-bar {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: .75rem;
  margin-bottom: 1.15rem;
  padding: .9rem 1rem;
  border-radius: 14px;
  border: 1px solid rgba(var(--gf-accent-rgb), .28);
  background: rgba(var(--gf-accent-rgb), .1);
}
.gf-checkout-saved__text {
  display: flex;
  flex-direction: column;
  gap: .2rem;
  min-width: 0;
}
.gf-checkout-saved__text strong {
  font-size: .88rem;
}
.gf-checkout-saved__summary {
  font-size: .8rem;
  color: var(--gf-muted);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  max-width: 22rem;
}
.gf-checkout-saved__actions {
  display: flex;
  flex-wrap: wrap;
  gap: .35rem;
}

/* —— Checkout mobile polish (GramLikes-like focus) —— */
.gf-checkout-coupon-details {
  border: 1px solid var(--gf-line);
  border-radius: 14px;
  padding: .65rem .9rem;
  background: var(--gf-panel-2);
}
.gf-checkout-coupon-details__summary {
  cursor: pointer;
  list-style: none;
  font-size: .88rem;
  font-weight: 600;
  color: var(--gf-accent-2);
  user-select: none;
}
.gf-checkout-coupon-details__summary::-webkit-details-marker { display: none; }
.gf-checkout-coupon-details[open] .gf-checkout-coupon-details__summary {
  margin-bottom: .55rem;
}

.gf-checkout-sticky-pay {
  display: none;
}

@media (max-width: 991.98px) {
  /* Esconde o texto do hero, mas mantém o espaço sob o header absoluto */
  .gf-checkout__hero {
    display: block;
    padding: 5.75rem 0 .35rem;
    min-height: 0;
    overflow: hidden;
  }
  .gf-checkout__hero .gf-order-hero__inner,
  .gf-checkout__hero .gf-order-hero__glow {
    display: none !important;
  }
  .gf-checkout__container {
    padding-block: .85rem 6.5rem;
  }
  .gf-checkout .row.g-4 {
    --bs-gutter-y: 0.85rem;
  }
  .gf-checkout .gf-order-card {
    padding: 1rem 1rem 1.1rem;
    border-radius: 16px;
  }
  .gf-checkout .gf-order-card__head {
    margin-bottom: .75rem;
  }
  .gf-checkout .gf-order-card__title {
    font-size: 1.05rem;
  }
  .gf-checkout .gf-checkout-card-sub,
  .gf-checkout .gf-checkout-pay-sub {
    display: none;
  }
  .gf-checkout-meta {
    display: none; /* qty/subtotal já estão no resumo do pacote */
  }
  .gf-checkout-payments__legend {
    display: none;
  }
  .gf-checkout .payment-options .item-payment {
    min-height: 56px;
    margin-bottom: 0 !important;
  }
  .gf-checkout-pay-desktop {
    display: none;
  }
  /* Total fica na barra sticky — evita duplicar */
  .gf-checkout .gf-checkout-total {
    display: none !important;
  }
  /* WhatsApp float sobe pra não cobrir o CTA */
  .gf-checkout ~ .gf-whatsapp-float,
  body:has(.gf-checkout-sticky-pay) .gf-whatsapp-float {
    bottom: calc(4.75rem + env(safe-area-inset-bottom));
  }
  .gf-checkout-secure {
    display: none !important;
  }
  .gf-checkout-notes {
    display: none !important;
  }
  .gf-checkout-saved-bar {
    margin-bottom: .75rem;
    padding: .75rem .85rem;
  }
  .gf-checkout-save-box {
    padding: .7rem .85rem;
  }
  .gf-checkout-save-box small {
    display: none; /* texto longo no mobile */
  }
  .gf-checkout .gf-order-summary {
    margin-bottom: .85rem;
    padding: .8rem .9rem;
  }
  .gf-checkout .gf-order-profile__body {
    padding: .75rem .85rem;
  }
  .gf-checkout .gf-order-profile__avatar,
  .gf-checkout .gf-order-profile__avatar--fallback {
    width: 48px;
    height: 48px;
  }

  .gf-checkout-sticky-pay {
    display: block;
    position: fixed;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 1060;
    padding: .65rem .85rem calc(.65rem + env(safe-area-inset-bottom));
    background: color-mix(in srgb, var(--gf-panel) 92%, transparent);
    backdrop-filter: blur(12px);
    border-top: 1px solid var(--gf-line);
    box-shadow: 0 -10px 30px rgba(0,0,0,.28);
  }
  .gf-checkout-sticky-pay__inner {
    display: grid;
    grid-template-columns: auto 1fr;
    gap: .75rem;
    align-items: center;
    max-width: 560px;
    margin: 0 auto;
  }
  .gf-checkout-sticky-pay__total {
    display: flex;
    flex-direction: column;
    gap: .1rem;
    min-width: 4.5rem;
  }
  .gf-checkout-sticky-pay__total span {
    font-size: .72rem;
    color: var(--gf-muted);
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: .04em;
  }
  .gf-checkout-sticky-pay__price {
    font-family: "Sora", "DM Sans", sans-serif;
    font-size: 1.15rem;
    font-weight: 700;
    background: var(--gf-gradient);
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
    line-height: 1.1;
  }
  .gf-checkout-sticky-pay__btn {
    min-height: 48px;
    border-radius: 14px;
    font-weight: 700;
    width: 100%;
  }
}

@media (min-width: 992px) {
  .gf-checkout-sticky-pay {
    display: none !important;
  }
}


/* ===== PIX stage (pós-checkout) ===== */
.gf-pix-stage {
  padding-block: 1rem 6rem;
  max-width: 560px;
  margin-inline: auto;
}
.gf-checkout.is-pix-active .gf-checkout-form-wrap,
.gf-checkout.is-pix-active .gf-checkout-sticky-pay {
  display: none !important;
}
/*
 * NÃO esconder o hero no PIX: no mobile ele é só spacer (padding)
 * sob o header absolute. Esconder = painel sobe e fica truncado.
 */
.gf-checkout.is-pix-active .gf-checkout__hero {
  display: block !important;
  visibility: visible;
  pointer-events: none;
  min-height: 0;
  overflow: hidden;
  padding: 5.75rem 0 0.35rem !important;
}
.gf-checkout.is-pix-active .gf-checkout__hero .gf-order-hero__inner,
.gf-checkout.is-pix-active .gf-checkout__hero .gf-order-hero__glow {
  display: none !important;
}
.gf-checkout.is-pix-active {
  overflow: visible;
}
.gf-checkout.is-pix-active .gf-pix-stage {
  display: block !important;
  padding-top: 0.75rem !important;
  padding-bottom: 5rem !important;
  animation: gf-pix-enter .45s cubic-bezier(.22, 1, .36, 1) both;
}
@keyframes gf-pix-enter {
  from { opacity: 0; transform: translateY(18px) scale(.985); }
  to   { opacity: 1; transform: none; }
}
@media (prefers-reduced-motion: reduce) {
  .gf-checkout.is-pix-active .gf-pix-stage { animation: none; }
}

.gf-pix-panel {
  background: var(--gf-panel);
  border: 1px solid var(--gf-line);
  border-radius: 22px;
  box-shadow: var(--gf-shadow);
  padding: 1.35rem 1.25rem 1.5rem;
  text-align: center;
  position: relative;
  overflow: hidden;
}
.gf-pix-panel::before {
  content: "";
  position: absolute;
  inset: 0 0 auto 0;
  height: 3px;
  background: var(--gf-gradient);
}
.gf-pix-panel__badge {
  display: inline-flex;
  align-items: center;
  gap: .45rem;
  margin: .35rem 0 .85rem;
  padding: .35rem .75rem;
  border-radius: 999px;
  font-size: .78rem;
  font-weight: 700;
  letter-spacing: .04em;
  text-transform: uppercase;
  color: #34d399;
  background: rgba(52, 211, 153, .12);
  border: 1px solid rgba(52, 211, 153, .28);
}
.gf-pix-panel__pulse {
  width: .55rem;
  height: .55rem;
  border-radius: 50%;
  background: #34d399;
  box-shadow: 0 0 0 0 rgba(52, 211, 153, .55);
  animation: gf-pix-pulse 1.6s ease-out infinite;
}
@keyframes gf-pix-pulse {
  0%   { box-shadow: 0 0 0 0 rgba(52, 211, 153, .5); }
  70%  { box-shadow: 0 0 0 10px rgba(52, 211, 153, 0); }
  100% { box-shadow: 0 0 0 0 rgba(52, 211, 153, 0); }
}
.gf-pix-panel__title {
  font-family: "Sora", "DM Sans", sans-serif;
  font-size: clamp(1.35rem, 3vw, 1.75rem);
  font-weight: 700;
  letter-spacing: -0.03em;
  margin: 0 0 .4rem;
  background: var(--gf-gradient);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
}
.gf-pix-panel__lead {
  margin: 0 auto 1.15rem;
  max-width: 28rem;
  color: var(--gf-muted);
  font-size: .92rem;
  line-height: 1.5;
}
.gf-pix-panel__copy {
  min-height: 52px;
  border-radius: 14px;
  font-weight: 700;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: .5rem;
  transition: transform .15s ease, filter .15s ease;
}
.gf-pix-panel__copy:hover { filter: brightness(1.05); }
.gf-pix-panel__copy.is-copied {
  background: #059669 !important;
  border-color: #059669 !important;
}
.gf-pix-panel__hint {
  margin: .55rem 0 1.15rem;
  font-size: .82rem;
  color: var(--gf-muted);
}
.gf-pix-panel__qr-wrap {
  margin: 0 0 1rem;
}
.gf-pix-panel__qr {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: .85rem;
  border-radius: 18px;
  background: #fff;
  box-shadow: 0 8px 28px rgba(0,0,0,.22);
}
.gf-pix-panel__qr-img {
  display: block;
  width: min(240px, 68vw);
  height: auto;
  aspect-ratio: 1;
}
.gf-pix-panel__qr-caption {
  margin: .65rem 0 0;
  font-size: .8rem;
  color: var(--gf-muted);
}
.gf-pix-panel__timer {
  display: inline-flex;
  align-items: center;
  gap: .4rem;
  margin: 0 0 .85rem;
  padding: .4rem .75rem;
  border-radius: 999px;
  font-size: .84rem;
  color: rgba(255,255,255,.85);
  background: var(--gf-panel-2);
  border: 1px solid var(--gf-line);
}
.gf-pix-panel.is-expired .gf-pix-panel__timer {
  color: #f87171;
  border-color: rgba(248, 113, 113, .35);
}
.gf-pix-panel__waiting {
  display: inline-flex;
  align-items: center;
  gap: .55rem;
  margin: 0 0 .85rem;
  font-size: .88rem;
  font-weight: 600;
  color: rgba(255,255,255,.78);
}
.gf-pix-panel__spinner {
  width: 1rem;
  height: 1rem;
  border-radius: 50%;
  border: 2px solid rgba(255,255,255,.2);
  border-top-color: #ec4899;
  animation: gf-pix-spin .8s linear infinite;
}
@keyframes gf-pix-spin { to { transform: rotate(360deg); } }
.gf-pix-panel__ref {
  margin: 0 0 .35rem;
  font-size: .78rem;
  color: var(--gf-muted);
}
.gf-pix-panel__ref code {
  color: rgba(255,255,255,.75);
  font-size: .78rem;
}
.gf-pix-panel__note {
  margin: 0;
  font-size: .78rem;
  color: #34d399;
}

/* Mobile: QR um pouco menor; CTA copia já é o herói */
@media (max-width: 991.98px) {
  .gf-pix-panel {
    padding: 1.25rem 1rem 1.25rem;
    border-radius: 18px;
  }
  .gf-checkout.is-pix-active {
    padding-top: 0;
  }
  /* Hero vira spacer; stage só precisa de folga leve */
  .gf-checkout.is-pix-active .gf-checkout__hero {
    padding: 5.75rem 0 0.25rem !important;
  }
  .gf-checkout.is-pix-active .gf-pix-stage {
    padding-top: 0.5rem !important;
    padding-bottom: 5.5rem !important;
  }
}
@media (max-width: 399.98px) {
  .gf-checkout.is-pix-active .gf-checkout__hero {
    padding-top: 5.5rem !important;
  }
  .gf-pix-panel__title {
    font-size: 1.25rem;
  }
  .gf-pix-panel__qr-img {
    width: min(200px, 62vw);
  }
}

[data-bs-theme=light] .gf-pix-panel__waiting,
[data-bs-theme=light] .gf-pix-panel__timer {
  color: rgba(15, 23, 42, .75);
}
[data-bs-theme=light] .gf-pix-panel__ref code {
  color: rgba(15, 23, 42, .7);
}


/* Order page hero — mobile: só spacer (igual checkout) */
@media (max-width: 991.98px) {
  .gf-order-page-hero {
    display: block;
    padding: 5.75rem 0 .35rem;
    min-height: 0;
    overflow: hidden;
  }
  .gf-order-page-hero .gf-order-hero__inner,
  .gf-order-page-hero .gf-order-hero__glow {
    display: none !important;
  }
  .gf-order-section.order-form > .container {
    padding-top: .35rem;
  }
}


/* ===== Transição Carrinho → Checkout ===== */
body.gf-order-transition-lock {
  overflow: hidden;
}
.gf-order-transition {
  position: fixed;
  inset: 0;
  z-index: 2000;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 1.25rem;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: opacity .35s ease, visibility .35s ease;
}
.gf-order-transition.is-visible {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
}
.gf-order-transition__backdrop {
  position: absolute;
  inset: 0;
  background: rgba(6, 8, 15, .72);
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
}
.gf-order-transition__card {
  position: relative;
  z-index: 1;
  width: min(100%, 380px);
  padding: 2rem 1.5rem 1.65rem;
  border-radius: 24px;
  text-align: center;
  background: var(--gf-panel);
  border: 1px solid var(--gf-line);
  box-shadow: 0 28px 64px rgba(0,0,0,.45);
  transform: translateY(16px) scale(.96);
  transition: transform .45s cubic-bezier(.22, 1, .36, 1);
}
.gf-order-transition.is-visible .gf-order-transition__card {
  transform: none;
}
.gf-order-transition__check {
  width: 72px;
  height: 72px;
  margin: 0 auto 1.1rem;
}
.gf-order-transition__svg {
  width: 72px;
  height: 72px;
  display: block;
}
.gf-order-transition__circle {
  stroke: rgba(var(--gf-accent-rgb), .35);
  stroke-width: 2;
  stroke-dasharray: 160;
  stroke-dashoffset: 160;
}
.gf-order-transition.is-visible .gf-order-transition__circle {
  animation: gf-ot-circle .7s ease forwards;
}
.gf-order-transition__tick {
  stroke: #34d399;
  stroke-width: 3.2;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-dasharray: 48;
  stroke-dashoffset: 48;
}
.gf-order-transition.is-visible .gf-order-transition__tick {
  animation: gf-ot-tick .45s .45s ease forwards;
}
@keyframes gf-ot-circle {
  to { stroke-dashoffset: 0; stroke: rgba(52, 211, 153, .85); }
}
@keyframes gf-ot-tick {
  to { stroke-dashoffset: 0; }
}
.gf-order-transition__title {
  margin: 0 0 .35rem;
  font-family: "Sora", "DM Sans", sans-serif;
  font-size: 1.35rem;
  font-weight: 700;
  letter-spacing: -0.03em;
  background: var(--gf-gradient);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
}
.gf-order-transition__text {
  margin: 0 0 1.25rem;
  color: var(--gf-muted);
  font-size: .95rem;
  line-height: 1.45;
}
.gf-order-transition__bar {
  height: 3px;
  border-radius: 999px;
  background: rgba(255,255,255,.08);
  overflow: hidden;
}
.gf-order-transition__bar span {
  display: block;
  height: 100%;
  width: 40%;
  border-radius: inherit;
  background: var(--gf-gradient);
  animation: gf-ot-bar 1.1s ease-in-out infinite;
}
@keyframes gf-ot-bar {
  0% { transform: translateX(-120%); }
  100% { transform: translateX(320%); }
}
@media (prefers-reduced-motion: reduce) {
  .gf-order-transition,
  .gf-order-transition__card {
    transition: none;
  }
  .gf-order-transition.is-visible .gf-order-transition__circle,
  .gf-order-transition.is-visible .gf-order-transition__tick,
  .gf-order-transition__bar span {
    animation: none;
  }
  .gf-order-transition__circle,
  .gf-order-transition__tick {
    stroke-dashoffset: 0;
  }
  .gf-order-transition__bar span {
    width: 100%;
    transform: none;
    opacity: .7;
  }
}

/* ---- Video testimonials ---- */
.gf-video-proof {
  position: relative;
  padding: 3.5rem 0 4rem;
  isolation: isolate;
}
.gf-video-proof::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  background:
    radial-gradient(70% 55% at 50% 0%, rgba(var(--gf-accent-rgb), .10), transparent 70%),
    linear-gradient(180deg, rgba(255,255,255,.02), transparent 40%);
  pointer-events: none;
}
.gf-video-proof__head {
  max-width: 34rem;
  margin-inline: auto;
  margin-bottom: 2rem;
}
.gf-video-proof__desc {
  margin: .65rem auto 0;
  max-width: 36ch;
  color: var(--gf-muted);
  font-size: 1.02rem;
  line-height: 1.55;
}
.gf-video-proof__stage {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 1.25rem 1.15rem;
  align-items: start;
  max-width: 72rem;
  margin-inline: auto;
}
@media (max-width: 991.98px) {
  .gf-video-proof__stage {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1.25rem 1rem;
    max-width: 36rem;
  }
}
.gf-video-proof__item {
  margin: 0;
}
.gf-video-proof__frame {
  position: relative;
  aspect-ratio: 9 / 16;
  border-radius: 1.35rem;
  overflow: hidden;
  background: #09090f;
  box-shadow:
    0 0 0 1px rgba(255,255,255,.08),
    0 22px 50px rgba(0,0,0,.42);
  transition: transform .35s ease, box-shadow .35s ease;
}
.gf-video-proof__item:hover .gf-video-proof__frame {
  transform: translateY(-3px);
  box-shadow:
    0 0 0 1px rgba(var(--gf-accent-rgb), .28),
    0 28px 60px rgba(0,0,0,.48);
}
.gf-video-proof__video {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
  background: #09090f;
  vertical-align: top;
}
.gf-video-proof__frame.is-playing .gf-video-proof__video {
  cursor: pointer;
}
.gf-video-proof__play {
  position: absolute;
  inset: 0;
  z-index: 2;
  display: grid;
  place-items: center;
  margin: 0;
  padding: 0;
  border: 0;
  background:
    linear-gradient(180deg, rgba(0,0,0,.08), rgba(0,0,0,.38));
  cursor: pointer;
  transition: opacity .25s ease, background .25s ease;
}
.gf-video-proof__play:hover,
.gf-video-proof__play:focus-visible {
  background:
    linear-gradient(180deg, rgba(0,0,0,.04), rgba(0,0,0,.32));
  outline: none;
}
.gf-video-proof__play-icon {
  width: 4.25rem;
  height: 4.25rem;
  border-radius: 999px;
  display: grid;
  place-items: center;
  background: rgba(255,255,255,.94);
  box-shadow: 0 12px 30px rgba(0,0,0,.35);
  transition: transform .25s ease, background .25s ease;
}
.gf-video-proof__play-icon::before {
  content: "";
  width: 0;
  height: 0;
  margin-left: .2rem;
  border-style: solid;
  border-width: .55rem 0 .55rem .95rem;
  border-color: transparent transparent transparent #121018;
}
.gf-video-proof__play:hover .gf-video-proof__play-icon,
.gf-video-proof__play:focus-visible .gf-video-proof__play-icon {
  transform: scale(1.06);
  background: #fff;
}
.gf-video-proof__frame.is-playing .gf-video-proof__play {
  opacity: 0;
  pointer-events: none;
}
.gf-video-proof__meta {
  display: flex;
  flex-direction: column;
  gap: .15rem;
  padding: .9rem .15rem 0;
  text-align: center;
}
.gf-video-proof__name {
  font-family: "Sora", "DM Sans", sans-serif;
  font-size: .95rem;
  font-weight: 600;
  letter-spacing: -.02em;
  color: inherit;
}
.gf-video-proof__note {
  font-size: .82rem;
  color: var(--gf-muted);
}

@media (max-width: 575.98px) {
  .gf-video-proof {
    padding: 2.75rem 0 3.25rem;
  }
  .gf-video-proof__stage {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1rem .85rem;
  }
  .gf-video-proof__frame {
    border-radius: 1rem;
  }
  .gf-video-proof__play-icon {
    width: 3.25rem;
    height: 3.25rem;
  }
  .gf-video-proof__play-icon::before {
    border-width: .42rem 0 .42rem .72rem;
  }
  .gf-video-proof__name { font-size: .88rem; }
  .gf-video-proof__note { font-size: .75rem; }
}

[data-bs-theme=light] .gf-video-proof::before {
  background:
    radial-gradient(70% 55% at 50% 0%, rgba(var(--gf-accent-rgb), .07), transparent 70%),
    linear-gradient(180deg, rgba(24,12,36,.03), transparent 45%);
}
[data-bs-theme=light] .gf-video-proof__frame {
  background: #111018;
  box-shadow:
    0 0 0 1px rgba(24,12,36,.08),
    0 18px 40px rgba(24,12,36,.14);
}
[data-bs-theme=light] .gf-video-proof__item:hover .gf-video-proof__frame {
  box-shadow:
    0 0 0 1px rgba(var(--gf-accent-rgb), .22),
    0 24px 48px rgba(24,12,36,.18);
}
[data-bs-theme=light] .gf-video-proof__desc,
[data-bs-theme=light] .gf-video-proof__note {
  color: #6b6475;
}

/* ---- Hub SEO panels (abaixo dos tiles) ---- */
.gf-hub__eyebrow {
  font-size: .75rem;
  letter-spacing: .08em;
  text-transform: uppercase;
  opacity: .7;
  margin: 0 0 .25rem;
}
.gf-hub__trust {
  display: flex;
  flex-wrap: wrap;
  gap: .5rem;
  list-style: none;
  padding: 0;
  margin: 1rem 0 0;
}
.gf-hub__trust li {
  font-size: .8rem;
  padding: .35rem .75rem;
  border-radius: 999px;
  background: rgba(255,255,255,.06);
  border: 1px solid rgba(255,255,255,.1);
  opacity: .95;
}
.gf-hub__section-title {
  font-size: 1.25rem;
  margin: 2rem 0 1rem;
  font-weight: 700;
  text-align: center;
}

.gf-hub-panel {
  margin: 2.75rem 0 0;
  padding: 1.5rem 1.25rem;
  border-radius: 1.25rem;
  background: var(--gf-hub-tile-bg, linear-gradient(165deg, rgba(255,255,255,.06) 0%, rgba(255,255,255,.02) 100%));
  border: 1px solid var(--gf-hub-border, rgba(255,255,255,.1));
}
@media (min-width: 768px) {
  .gf-hub-panel { padding: 1.75rem 1.75rem; }
}
.gf-hub-panel__intro { margin-bottom: 1.25rem; max-width: 42rem; }
.gf-hub-panel__intro--compact { margin-bottom: 1rem; }
.gf-hub-panel__eyebrow {
  margin: 0 0 .4rem;
  font-size: .72rem;
  letter-spacing: .1em;
  text-transform: uppercase;
  color: rgb(var(--gf-hub-accent-rgb, 193, 53, 132));
  font-weight: 700;
}
.gf-hub-panel__title {
  margin: 0 0 .65rem;
  font-size: clamp(1.25rem, 2.4vw, 1.65rem);
  font-weight: 700;
  letter-spacing: -.02em;
}
.gf-hub-panel__lead {
  margin: 0;
  line-height: 1.6;
  color: var(--gf-hub-muted, rgba(255,255,255,.72));
}

.gf-hub-panel__grid {
  display: grid;
  gap: 1rem;
}
@media (min-width: 768px) {
  .gf-hub-panel__grid { grid-template-columns: repeat(3, 1fr); }
}

.gf-hub-feature {
  padding: 1.1rem 1rem;
  border-radius: 1rem;
  background: rgba(0,0,0,.22);
  border: 1px solid rgba(255,255,255,.08);
  height: 100%;
  transition: border-color .2s ease, transform .2s ease;
}
.gf-hub-feature:hover {
  border-color: rgba(var(--gf-hub-accent-rgb, 193, 53, 132), .45);
  transform: translateY(-2px);
}
.gf-hub-feature__icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2.5rem;
  height: 2.5rem;
  border-radius: .75rem;
  margin-bottom: .75rem;
  background: var(--gf-hub-icon-bg, rgba(193, 53, 132, .16));
  color: #fff;
  font-size: 1.15rem;
}
.gf-hub-feature__title {
  margin: 0 0 .4rem;
  font-size: 1.05rem;
  font-weight: 700;
}
.gf-hub-feature__text {
  margin: 0;
  font-size: .9rem;
  line-height: 1.55;
  color: var(--gf-hub-muted, rgba(255,255,255,.7));
}

.gf-hub-benefits-grid {
  display: grid;
  gap: .85rem;
}
@media (min-width: 768px) {
  .gf-hub-benefits-grid { grid-template-columns: repeat(2, 1fr); }
}
.gf-hub-benefit {
  display: flex;
  gap: .85rem;
  align-items: flex-start;
  padding: 1rem;
  border-radius: 1rem;
  background: rgba(0,0,0,.22);
  border: 1px solid rgba(255,255,255,.08);
}
.gf-hub-benefit__icon {
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2.35rem;
  height: 2.35rem;
  border-radius: .7rem;
  background: var(--gf-hub-icon-bg, rgba(193, 53, 132, .16));
  color: #fff;
}
.gf-hub-benefit__title {
  margin: 0 0 .2rem;
  font-size: .98rem;
  font-weight: 700;
}
.gf-hub-benefit__text {
  margin: 0;
  font-size: .88rem;
  line-height: 1.45;
  color: var(--gf-hub-muted, rgba(255,255,255,.7));
}

.gf-hub-faq { display: grid; gap: .65rem; }
.gf-hub-faq__item {
  border-radius: 1rem;
  background: rgba(0,0,0,.22);
  border: 1px solid rgba(255,255,255,.08);
  overflow: hidden;
}
.gf-hub-faq__q {
  list-style: none;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding: 1rem 1.1rem;
  font-weight: 600;
  font-size: .98rem;
}
.gf-hub-faq__q::-webkit-details-marker { display: none; }
.gf-hub-faq__chevron {
  flex: 0 0 auto;
  opacity: .7;
  transition: transform .2s ease;
}
.gf-hub-faq__item[open] .gf-hub-faq__chevron { transform: rotate(180deg); }
.gf-hub-faq__item[open] {
  border-color: rgba(var(--gf-hub-accent-rgb, 193, 53, 132), .4);
}
.gf-hub-faq__a {
  padding: 0 1.1rem 1.05rem;
}
.gf-hub-faq__a p {
  margin: 0;
  font-size: .92rem;
  line-height: 1.55;
  color: var(--gf-hub-muted, rgba(255,255,255,.75));
}

.gf-hub-panel__cta {
  display: flex;
  flex-wrap: wrap;
  gap: .75rem;
  margin-top: 1.35rem;
}
.gf-hub-cta-ghost {
  border: 1px solid rgba(255,255,255,.28);
  color: #fff;
  background: transparent;
}
.gf-hub-cta-ghost:hover {
  background: rgba(255,255,255,.08);
  color: #fff;
  border-color: rgba(255,255,255,.45);
}

[data-bs-theme=light] .gf-hub__trust li {
  background: rgba(0,0,0,.04);
  border-color: rgba(0,0,0,.08);
  color: var(--gf-text, #1a1a2e);
}
[data-bs-theme=light] .gf-hub-panel {
  background: #fff;
  border-color: rgba(0,0,0,.08);
  box-shadow: 0 8px 28px rgba(20, 16, 40, .06);
}
[data-bs-theme=light] .gf-hub-feature,
[data-bs-theme=light] .gf-hub-benefit,
[data-bs-theme=light] .gf-hub-faq__item {
  background: #f7f6fb;
  border-color: rgba(0,0,0,.06);
}
[data-bs-theme=light] .gf-hub-panel__lead,
[data-bs-theme=light] .gf-hub-feature__text,
[data-bs-theme=light] .gf-hub-benefit__text,
[data-bs-theme=light] .gf-hub-faq__a p {
  color: var(--gf-text-soft, #5a5668);
}
[data-bs-theme=light] .gf-hub-cta-ghost {
  border-color: rgba(0,0,0,.2);
  color: var(--gf-text, #1a1a2e);
}

/* ---- Contact page ---- */
.gf-contact { position: relative; }
.gf-contact__grid {
  display: grid;
  gap: 1.5rem;
}
@media (min-width: 992px) {
  .gf-contact__grid {
    grid-template-columns: minmax(0, .95fr) minmax(0, 1.15fr);
    gap: 2rem;
    align-items: start;
  }
}
.gf-contact__eyebrow {
  margin: 0 0 .45rem;
  font-size: .72rem;
  letter-spacing: .1em;
  text-transform: uppercase;
  font-weight: 700;
  color: var(--gf-accent, #e1306c);
}
.gf-contact__aside-title {
  margin: 0 0 .65rem;
  font-size: clamp(1.45rem, 2.6vw, 1.9rem);
  font-weight: 700;
  letter-spacing: -.02em;
}
.gf-contact__aside-desc {
  margin: 0 0 1.25rem;
  line-height: 1.6;
  color: var(--gf-muted, rgba(255,255,255,.72));
}
.gf-contact__wa {
  display: flex;
  align-items: center;
  gap: .9rem;
  padding: 1rem 1.1rem;
  margin-bottom: 1rem;
  border-radius: 1rem;
  text-decoration: none;
  color: #fff;
  background: linear-gradient(135deg, #128C7E 0%, #25D366 100%);
  border: 1px solid rgba(255,255,255,.12);
  transition: transform .2s ease, filter .2s ease;
}
.gf-contact__wa:hover {
  color: #fff;
  transform: translateY(-2px);
  filter: brightness(1.05);
}
.gf-contact__wa-icon {
  display: inline-flex;
  width: 2.6rem;
  height: 2.6rem;
  border-radius: .8rem;
  align-items: center;
  justify-content: center;
  background: rgba(0,0,0,.18);
  font-size: 1.35rem;
}
.gf-contact__wa-body {
  display: flex;
  flex-direction: column;
  gap: .15rem;
  min-width: 0;
  flex: 1;
}
.gf-contact__wa-body strong { font-size: 1.05rem; }
.gf-contact__wa-body span { font-size: .85rem; opacity: .92; }
.gf-contact__wa-arrow { opacity: .85; }

.gf-contact__cards { display: grid; gap: .75rem; }
.gf-contact__card {
  display: flex;
  gap: .85rem;
  align-items: flex-start;
  padding: 1rem;
  border-radius: 1rem;
  background: linear-gradient(165deg, rgba(255,255,255,.06) 0%, rgba(255,255,255,.02) 100%);
  border: 1px solid rgba(255,255,255,.1);
}
.gf-contact__card-icon {
  flex: 0 0 auto;
  width: 2.35rem;
  height: 2.35rem;
  border-radius: .7rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: rgba(225, 48, 108, .18);
  color: #fff;
}
.gf-contact__card strong {
  display: block;
  margin-bottom: .15rem;
  font-size: .95rem;
}
.gf-contact__card p {
  margin: 0;
  font-size: .86rem;
  line-height: 1.45;
  color: var(--gf-muted, rgba(255,255,255,.7));
}

.gf-contact__form-card {
  padding: 1.35rem 1.2rem;
  border-radius: 1.25rem;
  background: linear-gradient(165deg, rgba(255,255,255,.07) 0%, rgba(255,255,255,.02) 100%);
  border: 1px solid rgba(255,255,255,.12);
}
@media (min-width: 768px) {
  .gf-contact__form-card { padding: 1.75rem; }
}
.gf-contact__form-title {
  margin: 0 0 .35rem;
  font-size: 1.25rem;
  font-weight: 700;
}
.gf-contact__form-desc {
  margin: 0 0 1.25rem;
  font-size: .92rem;
  color: var(--gf-muted, rgba(255,255,255,.7));
}
.gf-contact__row {
  display: grid;
  gap: 0;
}
@media (min-width: 576px) {
  .gf-contact__row {
    grid-template-columns: 1fr 1fr;
    gap: 1rem;
  }
}
.gf-contact__form .form-label {
  font-size: .88rem;
  font-weight: 600;
  margin-bottom: .35rem;
  color: rgba(255,255,255,.88);
}
.gf-contact__input,
.gf-contact__form .form-control,
.gf-contact__form .form-select {
  background: rgba(0,0,0,.35) !important;
  border: 1px solid rgba(255,255,255,.14) !important;
  color: #fff !important;
  border-radius: .75rem !important;
  min-height: 2.75rem;
  box-shadow: none !important;
}
.gf-contact__form .form-control:focus,
.gf-contact__form .form-select:focus {
  border-color: rgba(225, 48, 108, .65) !important;
  box-shadow: 0 0 0 .2rem rgba(225, 48, 108, .18) !important;
}
.gf-contact__form .form-control::placeholder {
  color: rgba(255,255,255,.4);
}
.gf-contact__form .form-select option {
  color: #111;
}
.gf-contact__submit {
  width: 100%;
  min-height: 2.9rem;
  border-radius: .85rem;
  font-weight: 700;
}

[data-bs-theme=light] .gf-contact__aside-desc,
[data-bs-theme=light] .gf-contact__card p,
[data-bs-theme=light] .gf-contact__form-desc {
  color: var(--gf-text-soft, #5a5668);
}
[data-bs-theme=light] .gf-contact__card,
[data-bs-theme=light] .gf-contact__form-card {
  background: #fff;
  border-color: rgba(0,0,0,.08);
  box-shadow: 0 10px 30px rgba(20,16,40,.07);
}
[data-bs-theme=light] .gf-contact__form .form-label { color: var(--gf-text, #1a1a2e); }
[data-bs-theme=light] .gf-contact__input,
[data-bs-theme=light] .gf-contact__form .form-control,
[data-bs-theme=light] .gf-contact__form .form-select {
  background: #f4f3f8 !important;
  border-color: rgba(0,0,0,.1) !important;
  color: #1a1a2e !important;
}
[data-bs-theme=light] .gf-contact__form .form-control::placeholder {
  color: rgba(0,0,0,.4);
}

/* ============================================================
   Batch redesign: home blocks, reviews, FAQ, packages, tools,
   blog, 404, cookie, coupon
   ============================================================ */

/* ---- Why choose us ---- */
.gf-why__grid {
  display: grid;
  gap: 1.75rem;
}
@media (min-width: 992px) {
  .gf-why__grid {
    grid-template-columns: minmax(0, .9fr) minmax(0, 1.2fr);
    gap: 2.25rem;
    align-items: start;
  }
}
.gf-why__lead {
  margin: .75rem 0 0;
  color: var(--gf-muted, rgba(255,255,255,.72));
  line-height: 1.65;
}
.gf-why__cards {
  display: grid;
  gap: .85rem;
}
@media (min-width: 576px) {
  .gf-why__cards { grid-template-columns: 1fr 1fr; }
}
.gf-why__card {
  display: flex;
  gap: .9rem;
  padding: 1.1rem 1.15rem;
  border-radius: 1.1rem;
  background: linear-gradient(165deg, rgba(255,255,255,.07), rgba(255,255,255,.02));
  border: 1px solid rgba(255,255,255,.1);
}
.gf-why__icon {
  flex: 0 0 auto;
  width: 2.5rem;
  height: 2.5rem;
  border-radius: .75rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: rgba(225,48,108,.18);
  color: #fff;
  font-size: 1.15rem;
}
.gf-why__card h3 {
  margin: 0 0 .3rem;
  font-size: 1rem;
  font-weight: 700;
}
.gf-why__card p {
  margin: 0;
  font-size: .88rem;
  line-height: 1.5;
  color: var(--gf-muted, rgba(255,255,255,.7));
}

/* ---- Counters ---- */
.gf-counters__grid {
  display: grid;
  gap: .9rem;
}
@media (min-width: 768px) {
  .gf-counters__grid { grid-template-columns: repeat(3, 1fr); }
}
.gf-counters__item {
  display: flex;
  gap: 1rem;
  align-items: center;
  padding: 1.25rem 1.3rem;
  border-radius: 1.15rem;
  background: linear-gradient(165deg, rgba(255,255,255,.07), rgba(255,255,255,.02));
  border: 1px solid rgba(255,255,255,.1);
}
.gf-counters__icon {
  width: 2.75rem;
  height: 2.75rem;
  border-radius: .8rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: rgba(225,48,108,.2);
  color: #fff;
  font-size: 1.25rem;
}
.gf-counters__num {
  display: block;
  font-size: clamp(1.5rem, 3vw, 2rem);
  font-weight: 800;
  letter-spacing: -.02em;
  line-height: 1.1;
}
.gf-counters__label {
  margin: .2rem 0 0;
  font-size: .9rem;
  color: var(--gf-muted, rgba(255,255,255,.7));
}

/* ---- CTA banner ---- */
.gf-cta-banner__panel {
  padding: 1.5rem 1.35rem;
  border-radius: 1.25rem;
  background: linear-gradient(135deg, rgba(225,48,108,.22), rgba(88,28,135,.28));
  border: 1px solid rgba(255,255,255,.12);
  position: relative;
  overflow: hidden;
}
.gf-cta-banner__badge {
  display: inline-block;
  margin: 0 0 .75rem;
  padding: .3rem .7rem;
  border-radius: 999px;
  font-size: .72rem;
  font-weight: 700;
  letter-spacing: .06em;
  text-transform: uppercase;
  background: rgba(225,48,108,.35);
  color: #fff;
}
.gf-cta-banner__row {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem;
  align-items: center;
  justify-content: space-between;
}
.gf-cta-banner__title {
  margin: 0;
  flex: 1 1 16rem;
  font-size: clamp(1.15rem, 2.4vw, 1.55rem);
  font-weight: 700;
  letter-spacing: -.02em;
}
.gf-cta-banner__btn {
  min-height: 2.85rem;
  padding-inline: 1.5rem;
  border-radius: .85rem;
  font-weight: 700;
}

/* ---- How it works ---- */
.gf-how__steps {
  display: grid;
  gap: 1rem;
}
@media (min-width: 768px) {
  .gf-how__steps { grid-template-columns: repeat(3, 1fr); }
}
@media (min-width: 992px) {
  .gf-how__steps { grid-template-columns: repeat(4, 1fr); }
}
.gf-how__step {
  padding: 1.25rem 1.15rem;
  border-radius: 1.15rem;
  background: linear-gradient(165deg, rgba(255,255,255,.07), rgba(255,255,255,.02));
  border: 1px solid rgba(255,255,255,.1);
  height: 100%;
}
.gf-how__num {
  display: inline-flex;
  width: 2.35rem;
  height: 2.35rem;
  align-items: center;
  justify-content: center;
  border-radius: .7rem;
  margin-bottom: .85rem;
  font-weight: 800;
  background: linear-gradient(135deg, #e1306c, #833ab4);
  color: #fff;
}
.gf-how__step h3 {
  margin: 0 0 .45rem;
  font-size: 1.05rem;
  font-weight: 700;
}
.gf-how__step p {
  margin: 0;
  font-size: .9rem;
  line-height: 1.55;
  color: var(--gf-muted, rgba(255,255,255,.7));
}

/* ---- Reviews ---- */
.gf-reviews__summary {
  max-width: 56rem;
  width: 100%;
  margin: 0 auto 1.5rem;
  display: grid;
  gap: 1.25rem;
  padding: 1.35rem 1.5rem;
  border-radius: 1.2rem;
  background: linear-gradient(165deg, rgba(255,255,255,.07), rgba(255,255,255,.02));
  border: 1px solid rgba(255,255,255,.1);
}
@media (min-width: 768px) {
  .gf-reviews__summary {
    grid-template-columns: auto 1fr;
    align-items: center;
  }
}
.gf-reviews__score { text-align: center; }
.gf-reviews__avg {
  display: block;
  font-size: 2.5rem;
  font-weight: 800;
  letter-spacing: -.03em;
  line-height: 1;
}
.gf-reviews__stars { color: #f5c542; }
.gf-reviews__stars--lg { font-size: 1.15rem; margin: .35rem 0; }
.gf-reviews__total {
  margin: 0;
  font-size: .85rem;
  color: var(--gf-muted, rgba(255,255,255,.65));
}
.gf-reviews__bars { display: grid; gap: .45rem; }
.gf-reviews__bar-row {
  display: grid;
  grid-template-columns: 2.5rem 1fr 2rem;
  gap: .55rem;
  align-items: center;
  font-size: .85rem;
}
.gf-reviews__bar {
  height: .45rem;
  border-radius: 999px;
  background: rgba(255,255,255,.1);
  overflow: hidden;
}
.gf-reviews__bar > span {
  display: block;
  height: 100%;
  background: linear-gradient(90deg, #e1306c, #f77737);
  border-radius: 999px;
}
.gf-reviews__grid {
  display: grid;
  gap: 1rem;
}
@media (min-width: 768px) {
  .gf-reviews__grid { grid-template-columns: repeat(2, 1fr); }
}
@media (min-width: 1200px) {
  .gf-reviews__grid { grid-template-columns: repeat(3, 1fr); }
}
.gf-reviews__card {
  height: 100%;
  padding: 1.2rem;
  border-radius: 1.15rem;
  background: linear-gradient(165deg, rgba(255,255,255,.07), rgba(255,255,255,.02));
  border: 1px solid rgba(255,255,255,.1);
}
.gf-reviews__head {
  display: flex;
  gap: .8rem;
  align-items: center;
  margin-bottom: .75rem;
}
.gf-reviews__avatar {
  width: 2.5rem;
  height: 2.5rem;
  border-radius: 999px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-weight: 800;
  background: rgba(225,48,108,.25);
  color: #fff;
}
.gf-reviews__name {
  margin: 0;
  font-size: 1rem;
  font-weight: 700;
}
.gf-reviews__name i { color: #25D366; font-size: .9rem; }
.gf-reviews__text {
  margin: 0;
  font-size: .92rem;
  line-height: 1.55;
  color: var(--gf-muted, rgba(255,255,255,.75));
}
.gf-reviews__cta { border-radius: .85rem; font-weight: 700; }

/* ---- FAQ accordion ---- */
.gf-faq-acc .gf-faq-item {
  margin-bottom: .65rem;
  border-radius: .95rem !important;
  overflow: hidden;
  background: linear-gradient(165deg, rgba(255,255,255,.06), rgba(255,255,255,.02));
  border: 1px solid rgba(255,255,255,.1) !important;
}
.gf-faq-acc .gf-faq-btn {
  background: transparent !important;
  color: inherit !important;
  font-size: 1rem !important;
  font-weight: 650 !important;
  padding: 1rem 1.15rem !important;
}
.gf-faq-acc .gf-faq-btn:not(.collapsed) {
  color: #fff !important;
  box-shadow: none !important;
}
.gf-faq-acc .gf-faq-btn::after { filter: invert(1); }
.gf-faq-acc .gf-faq-body {
  padding: 0 1.15rem 1.1rem !important;
  color: var(--gf-muted, rgba(255,255,255,.72)) !important;
}

/* ---- Package qty panel ---- */
.gf-pkg-panel {
  border-radius: 1.25rem;
  background: linear-gradient(165deg, rgba(255,255,255,.07), rgba(255,255,255,.02));
  border: 1px solid rgba(255,255,255,.12);
  box-shadow: none;
  overflow: hidden;
}
.gf-pkg-panel__body { padding: 1.25rem 1.15rem; }
@media (min-width: 768px) {
  .gf-pkg-panel__body { padding: 1.5rem; }
}
.gf-pkg-panel--features {
  padding: 1.25rem 1.35rem;
  text-align: center;
}
[data-bs-theme=light] .gf-pkg-panel {
  background: #fff;
  border-color: rgba(0,0,0,.08);
  box-shadow: 0 10px 28px rgba(20,16,40,.07);
}

/* ---- Tools ---- */
.gf-tools__lead {
  max-width: 42rem;
  margin: .65rem auto 0;
  color: var(--gf-muted, rgba(255,255,255,.72));
}
.gf-section-head .gf-tools__lead { margin-left: 0; }
.gf-tools__grid {
  display: grid;
  gap: 1rem;
}
@media (min-width: 768px) {
  .gf-tools__grid { grid-template-columns: 1fr 1fr; }
}
.gf-tools__card {
  display: flex;
  flex-direction: column;
  gap: .35rem;
  padding: 1.25rem;
  border-radius: 1.15rem;
  text-decoration: none;
  color: inherit;
  background: linear-gradient(165deg, rgba(255,255,255,.07), rgba(255,255,255,.02));
  border: 1px solid rgba(255,255,255,.1);
  transition: transform .2s ease, border-color .2s ease;
}
.gf-tools__card:hover {
  color: inherit;
  transform: translateY(-2px);
  border-color: rgba(225,48,108,.45);
}
.gf-tools__icon {
  width: 2.5rem;
  height: 2.5rem;
  border-radius: .75rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin-bottom: .35rem;
  background: rgba(225,48,108,.2);
  color: #fff;
  font-size: 1.2rem;
}
.gf-tools__card strong { font-size: 1.05rem; }
.gf-tools__card span { font-size: .88rem; color: var(--gf-muted, rgba(255,255,255,.65)); }

.gf-tool-panel {
  padding: 1.35rem 1.2rem;
  border-radius: 1.2rem;
  background: linear-gradient(165deg, rgba(255,255,255,.07), rgba(255,255,255,.02));
  border: 1px solid rgba(255,255,255,.12);
}
.gf-tool-panel--narrow { max-width: 48rem; width: 100%; }
.gf-tool-panel__row {
  display: grid;
  gap: .85rem;
}
@media (min-width: 768px) {
  .gf-tool-panel__row { grid-template-columns: repeat(3, 1fr); }
}
.gf-tool-panel .form-control,
.gf-tool-panel .form-select {
  background: rgba(0,0,0,.35) !important;
  border: 1px solid rgba(255,255,255,.14) !important;
  color: #fff !important;
  border-radius: .75rem !important;
}
.gf-tool-panel .form-label { font-weight: 600; font-size: .88rem; }
.gf-tool-result {
  padding: .9rem 1rem;
  border-radius: .85rem;
  background: rgba(37,211,102,.12);
  border: 1px solid rgba(37,211,102,.25);
  font-weight: 600;
}

/* ---- Blog ---- */
.gf-blog__grid {
  display: grid;
  gap: 1.25rem;
}
@media (min-width: 768px) {
  .gf-blog__grid { grid-template-columns: 1fr 1fr; }
}
.gf-blog__card {
  display: flex;
  flex-direction: column;
  border-radius: 1.15rem;
  overflow: hidden;
  background: linear-gradient(165deg, rgba(255,255,255,.07), rgba(255,255,255,.02));
  border: 1px solid rgba(255,255,255,.1);
}
.gf-blog__thumb {
  display: block;
  aspect-ratio: 16/10;
  overflow: hidden;
  background: rgba(0,0,0,.25);
}
.gf-blog__thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.gf-blog__body { padding: 1.1rem 1.15rem 1.25rem; }
.gf-blog__title {
  margin: 0 0 .5rem;
  font-size: 1.1rem;
  font-weight: 700;
}
.gf-blog__title a { color: inherit; text-decoration: none; }
.gf-blog__title a:hover { color: var(--gf-accent, #e1306c); }
.gf-blog__excerpt {
  margin: 0 0 .85rem;
  font-size: .9rem;
  color: var(--gf-muted, rgba(255,255,255,.7));
  line-height: 1.5;
}
.gf-blog__meta {
  display: flex;
  justify-content: space-between;
  gap: .5rem;
  font-size: .8rem;
  color: var(--gf-muted, rgba(255,255,255,.55));
}
.gf-blog__empty {
  max-width: none;
  width: 100%;
  text-align: center;
  padding: 2.25rem 1.5rem;
  border-radius: 1.25rem;
  background: linear-gradient(165deg, rgba(255,255,255,.07), rgba(255,255,255,.02));
  border: 1px solid rgba(255,255,255,.1);
}
.gf-blog__empty .gf-section-title { max-width: 28ch; margin-inline: auto; }
.gf-blog__empty > p { max-width: 42rem; margin-inline: auto; }
.gf-blog__aside { display: grid; gap: 1rem; }
.gf-blog-widget {
  padding: 1.15rem;
  border-radius: 1.1rem;
  background: linear-gradient(165deg, rgba(255,255,255,.07), rgba(255,255,255,.02));
  border: 1px solid rgba(255,255,255,.1);
}
.gf-blog-widget h4 {
  margin: 0 0 .85rem;
  font-size: 1rem;
  font-weight: 700;
}
.gf-blog-widget__social { display: grid; gap: .5rem; }
.gf-blog-widget__social-btn {
  display: flex;
  align-items: center;
  gap: .55rem;
  padding: .55rem .75rem;
  border-radius: .7rem;
  text-decoration: none;
  color: #fff;
  background: rgba(255,255,255,.08);
  border: 1px solid rgba(255,255,255,.1);
  font-size: .9rem;
}
.gf-blog-widget__social-btn--instagram { background: rgba(225,48,108,.35); }
.gf-blog-widget__social-btn--whatsapp { background: rgba(37,211,102,.3); }
.gf-blog-widget__cats { list-style: none; margin: 0; padding: 0; }
.gf-blog-widget__cats li {
  display: flex;
  justify-content: space-between;
  gap: .5rem;
  padding: .55rem 0;
  border-bottom: 1px solid rgba(255,255,255,.08);
  font-size: .9rem;
}
.gf-blog-widget__cats a { color: inherit; text-decoration: none; }
.gf-blog-widget__cats a:hover { color: var(--gf-accent, #e1306c); }

.gf-blog-single__post h1 {
  font-size: clamp(1.5rem, 3vw, 2.1rem);
  font-weight: 800;
  letter-spacing: -.02em;
}
.gf-blog-single__meta {
  margin: .5rem 0 1.25rem;
  color: var(--gf-muted, rgba(255,255,255,.65));
  font-size: .9rem;
}
.gf-blog-single__cover {
  width: 100%;
  border-radius: 1rem;
  border: 1px solid rgba(255,255,255,.1);
}
.gf-blog-related {
  padding: .65rem;
  border-radius: .85rem;
  background: rgba(255,255,255,.04);
  border: 1px solid rgba(255,255,255,.08);
}

/* ---- 404 (aligned with gf-order / payment-failed) ---- */
.gf-404-section .gf-404-card {
  max-width: none;
  width: 100%;
}
.gf-404__reasons {
  list-style: none;
  margin: 0 0 1.5rem;
  padding: 0;
  display: grid;
  gap: .65rem;
}
@media (min-width: 768px) {
  .gf-404__reasons { grid-template-columns: 1fr; }
}
.gf-404__reasons li {
  display: flex;
  align-items: flex-start;
  gap: .75rem;
  padding: .9rem 1rem;
  border-radius: .85rem;
  background: rgba(255,255,255,.04);
  border: 1px solid rgba(255,255,255,.08);
  font-size: .95rem;
  color: var(--gf-muted, rgba(255,255,255,.78));
  text-align: left;
}
.gf-404__reasons li i {
  flex: 0 0 auto;
  margin-top: .1rem;
  color: var(--gf-accent, #e1306c);
  font-size: 1.1rem;
}
.gf-404__actions {
  display: flex;
  flex-wrap: wrap;
  gap: .65rem;
  justify-content: center;
}
.gf-404__actions .btn {
  min-height: 2.75rem;
  border-radius: .85rem;
  font-weight: 700;
}
[data-bs-theme=light] .gf-404__reasons li {
  background: #f6f5f9;
  border-color: rgba(0,0,0,.08);
  color: var(--gf-text-soft, #5a5668);
}

/* ---- Cookie ---- */
.gf-cookie.cookie-popup {
  display: none;
  position: fixed;
  bottom: 1rem;
  z-index: 1080;
  width: min(24rem, calc(100vw - 1.5rem));
  padding: 1.15rem 1.2rem;
  border-radius: 1.1rem;
  background: rgba(18, 14, 28, .96);
  color: #fff;
  border: 1px solid rgba(255,255,255,.12);
  box-shadow: 0 16px 40px rgba(0,0,0,.35);
  text-align: left;
  font-size: .9rem;
  transform: none;
}
.gf-cookie.cookie-popup.left { left: 1rem; }
.gf-cookie.cookie-popup.right { right: 1rem; left: auto; }
.gf-cookie.cookie-popup.center {
  left: 50%;
  transform: translateX(-50%);
}
.gf-cookie__actions {
  display: flex;
  flex-wrap: wrap;
  gap: .5rem;
  margin-top: .9rem;
}

/* ---- Coupon banner ---- */
.gf-coupon-banner.header-banner {
  text-align: center;
  background: linear-gradient(90deg, #128C7E, #25D366 55%, #1db954);
  background-size: cover;
  background-position: center;
  padding: .65rem 2.5rem .65rem 1rem;
  color: #fff;
  font-weight: 700;
  margin-bottom: 0;
  position: relative;
}
.gf-coupon-banner__close.btn-close-banner {
  position: absolute;
  top: 50%;
  right: .65rem;
  transform: translateY(-50%);
  background: rgba(0,0,0,.25);
  border: none;
  width: 1.65rem;
  height: 1.65rem;
  border-radius: 999px;
  color: #fff;
  font-size: 1.1rem;
  line-height: 1;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
}
.gf-coupon-banner__timer.countdown-timer {
  display: inline-flex;
  gap: .25rem;
  margin-left: .4rem;
  vertical-align: middle;
}
.gf-coupon-banner__timer .badge {
  min-width: 2.2rem;
  padding: .25rem .35rem;
}
.gf-coupon-banner__timer .label { font-size: .55rem; opacity: .85; }

/* Light theme overrides for new blocks */
[data-bs-theme=light] .gf-why__card,
[data-bs-theme=light] .gf-counters__item,
[data-bs-theme=light] .gf-how__step,
[data-bs-theme=light] .gf-reviews__summary,
[data-bs-theme=light] .gf-reviews__card,
[data-bs-theme=light] .gf-tools__card,
[data-bs-theme=light] .gf-tool-panel,
[data-bs-theme=light] .gf-blog__card,
[data-bs-theme=light] .gf-blog-widget,
[data-bs-theme=light] .gf-blog__empty,
[data-bs-theme=light] .gf-404-card,
[data-bs-theme=light] .gf-faq-acc .gf-faq-item {
  background: #fff;
  border-color: rgba(0,0,0,.08);
  box-shadow: 0 10px 28px rgba(20,16,40,.06);
}
[data-bs-theme=light] .gf-why__lead,
[data-bs-theme=light] .gf-why__card p,
[data-bs-theme=light] .gf-counters__label,
[data-bs-theme=light] .gf-how__step p,
[data-bs-theme=light] .gf-reviews__text,
[data-bs-theme=light] .gf-tools__lead,
[data-bs-theme=light] .gf-tools__card span,
[data-bs-theme=light] .gf-blog__excerpt,
[data-bs-theme=light] .gf-faq-acc .gf-faq-body {
  color: var(--gf-text-soft, #5a5668);
}
[data-bs-theme=light] .gf-tool-panel .form-control {
  background: #f4f3f8 !important;
  border-color: rgba(0,0,0,.1) !important;
  color: #1a1a2e !important;
}
[data-bs-theme=light] .gf-faq-acc .gf-faq-btn { color: #1a1a2e !important; }
[data-bs-theme=light] .gf-faq-acc .gf-faq-btn::after { filter: none; }
[data-bs-theme=light] .gf-cta-banner__panel {
  background: linear-gradient(135deg, rgba(225,48,108,.12), rgba(88,28,135,.1));
  border-color: rgba(0,0,0,.08);
}


/* —— GF Toast (notificações modernas sitewide) —— */
.gf-toast-host {
  position: fixed;
  left: 50%;
  bottom: 1.35rem;
  transform: translateX(-50%);
  z-index: 2400;
  width: min(calc(100% - 1.5rem), 420px);
  pointer-events: none;
}
.gf-toast {
  display: flex;
  align-items: flex-start;
  gap: .75rem;
  padding: .9rem 1rem;
  border-radius: 16px;
  background: var(--gf-panel);
  border: 1px solid var(--gf-line);
  box-shadow: 0 18px 48px rgba(0,0,0,.42);
  pointer-events: auto;
  opacity: 0;
  transform: translateY(12px) scale(.98);
  transition: opacity .28s ease, transform .32s cubic-bezier(.22,1,.36,1);
}
.gf-toast.is-visible {
  opacity: 1;
  transform: none;
}
.gf-toast__icon {
  flex-shrink: 0;
  width: 2rem;
  height: 2rem;
  border-radius: 999px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 1rem;
}
.gf-toast__icon--ok {
  color: #4ade80;
  background: rgba(34, 197, 94, .16);
  border: 1px solid rgba(74, 222, 128, .35);
}
.gf-toast__icon--err {
  color: #f87171;
  background: rgba(239, 68, 68, .14);
  border: 1px solid rgba(248, 113, 113, .3);
}
.gf-toast__icon--warn {
  color: #fbbf24;
  background: rgba(245, 158, 11, .14);
  border: 1px solid rgba(251, 191, 36, .3);
}
.gf-toast__icon--info {
  color: var(--gf-accent-2);
  background: rgba(var(--gf-accent-rgb), .14);
  border: 1px solid rgba(var(--gf-accent-2-rgb), .3);
}
.gf-toast__text {
  margin: 0;
  flex: 1;
  font-family: "DM Sans", "Sora", sans-serif;
  font-size: .92rem;
  font-weight: 500;
  line-height: 1.4;
  color: var(--gf-text);
  padding-top: .2rem;
}
.gf-toast__close {
  flex-shrink: 0;
  width: 1.75rem;
  height: 1.75rem;
  border: 0;
  border-radius: 999px;
  background: transparent;
  color: var(--gf-muted);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
}
.gf-toast__close:hover {
  color: var(--gf-text);
  background: rgba(255,255,255,.06);
}
[data-bs-theme=light] .gf-toast {
  background: #fff;
  border-color: rgba(24, 12, 36, .1);
  box-shadow: 0 16px 40px rgba(24, 12, 36, .14);
}
[data-bs-theme=light] .gf-toast__close:hover {
  background: rgba(24, 12, 36, .05);
}
@media (prefers-reduced-motion: reduce) {
  .gf-toast { transition: none; }
}

/* How-it-work: respect step count width */
@media (min-width: 992px) {
  .gf-how__steps[data-steps="3"] { grid-template-columns: repeat(3, 1fr); }
  .gf-how__steps[data-steps="4"] { grid-template-columns: repeat(4, 1fr); }
}

/* Tools page: fill container like checkout cards */
.gf-tools > .container,
.gf-tool-page > .container {
  width: 100%;
}
.gf-tools__grid {
  max-width: none;
}
