/* Shared button refinement used by all main site pages. Keep existing Inter/Outfit typography. */
:root { --polish-radius:12px; --polish-transition:160ms; }
a, button { -webkit-tap-highlight-color:transparent; }
a:focus-visible, button:focus-visible, [role="button"]:focus-visible { outline:3px solid rgba(126,180,255,.74) !important; outline-offset:3px; }
.btn, .header-cta, .header-lookup, .download-cta, .video-button, .subpage-cta, .nav-link--account, .plan-button, .blog-tag-filter-item { transition:transform var(--polish-transition) ease,box-shadow var(--polish-transition) ease,background var(--polish-transition) ease,border-color var(--polish-transition) ease,color var(--polish-transition) ease,filter var(--polish-transition) ease !important; }
.btn { min-height:50px; padding:13px 22px; border-radius:13px; font-size:.96rem; font-weight:760; letter-spacing:.005em; box-shadow:0 5px 12px rgba(0,0,0,.14); }
.btn:hover { transform:translateY(-1px); box-shadow:0 8px 16px rgba(0,0,0,.19); }
.btn:active { transform:translateY(0) scale(.99); }
.btn--primary, .header-cta { color:#fff !important; background:linear-gradient(135deg,#f58b3d 0%,#e96d24 100%) !important; border:1px solid rgba(255,191,139,.34) !important; box-shadow:0 5px 13px rgba(228,103,30,.17) !important; }
.btn--primary:hover, .header-cta:hover { color:#fff !important; background:linear-gradient(135deg,#fb984f 0%,#ed782d 100%) !important; border-color:rgba(255,202,162,.55) !important; box-shadow:0 8px 18px rgba(228,103,30,.22) !important; }
.header-cta { display:inline-flex; align-items:center; justify-content:center; gap:9px; min-height:42px; padding:10px 15px; border-radius:12px; font-size:.86rem; font-weight:800; text-decoration:none; }
.header-lookup { display:inline-flex; align-items:center; justify-content:center; min-height:42px; padding:9px 14px; border:1px solid rgba(126,180,255,.27) !important; border-radius:12px; color:#c6ddff !important; background:rgba(59,130,246,.09) !important; box-shadow:none !important; font-size:.85rem; font-weight:750; text-decoration:none; }
.header-lookup:hover { transform:translateY(-1px); color:#edf5ff !important; background:rgba(59,130,246,.17) !important; border-color:rgba(126,180,255,.45) !important; box-shadow:0 5px 12px rgba(37,99,235,.12) !important; }
.btn--outline { border:1px solid rgba(126,180,255,.4) !important; color:#c9e0ff !important; background:rgba(59,130,246,.045) !important; box-shadow:none !important; }
.btn--outline:hover { color:#f2f7ff !important; background:rgba(59,130,246,.14) !important; border-color:rgba(126,180,255,.58) !important; }
.btn--accent { border:1px solid rgba(255,226,144,.48) !important; color:#2a3039 !important; background:linear-gradient(135deg,#f7dd94,#eec85d) !important; box-shadow:0 5px 12px rgba(216,165,43,.13) !important; }
.btn--accent:hover { color:#171f2c !important; background:linear-gradient(135deg,#ffe7a2,#f4d374) !important; box-shadow:0 7px 16px rgba(216,165,43,.18) !important; }
.btn--light-outline { color:#e1ebf9 !important; border:1px solid rgba(196,213,236,.36) !important; background:rgba(255,255,255,.035) !important; box-shadow:none !important; }
.btn--light-outline:hover { color:#fff !important; border-color:rgba(196,213,236,.58) !important; background:rgba(255,255,255,.08) !important; }
.plan-button { min-height:47px !important; padding:12px 15px !important; border-radius:12px !important; font-size:.9rem !important; font-weight:800 !important; box-shadow:none !important; text-decoration:none !important; }
.plan-button--muted { color:#c9e0ff !important; background:rgba(80,142,220,.13) !important; border:1px solid rgba(126,180,255,.28) !important; }
.plan-button--muted:hover { color:#edf6ff !important; background:rgba(80,142,220,.2) !important; border-color:rgba(126,180,255,.47) !important; box-shadow:0 6px 13px rgba(37,99,235,.12) !important; }
.plan-button--featured { color:#252c37 !important; background:linear-gradient(135deg,#f7dc8a,#e4b63d) !important; border:1px solid rgba(255,232,164,.55) !important; box-shadow:0 6px 15px rgba(216,165,43,.14) !important; }
.plan-button--featured:hover { color:#171f2c !important; background:linear-gradient(135deg,#ffe8a4,#edc95f) !important; box-shadow:0 8px 18px rgba(216,165,43,.2) !important; }
.download-cta { min-height:46px; border-radius:12px !important; box-shadow:0 6px 15px rgba(37,99,235,.15) !important; }
.download-cta:hover { transform:translateY(-1px); box-shadow:0 9px 18px rgba(37,99,235,.22) !important; }
.video-button { border:1px solid rgba(126,180,255,.22) !important; border-radius:12px !important; background:rgba(59,130,246,.09) !important; color:#d7e8ff !important; box-shadow:none !important; }
.video-button:hover { border-color:rgba(126,180,255,.42) !important; background:rgba(59,130,246,.17) !important; transform:translateY(-1px); }
.mobile-menu .nav-link--account { color:#c9e0ff !important; border:1px solid rgba(126,180,255,.27) !important; background:rgba(59,130,246,.09) !important; box-shadow:none !important; }
.mobile-menu .nav-link--account:hover { color:#edf5ff !important; border-color:rgba(126,180,255,.45) !important; background:rgba(59,130,246,.17) !important; }
.mobile-menu-button { border-radius:12px !important; }
.faq-trigger { transition:background var(--polish-transition) ease,border-color var(--polish-transition) ease,color var(--polish-transition) ease,transform var(--polish-transition) ease !important; }
.faq-trigger:hover { transform:translateY(-1px); }
.blog-tag-filter-item:hover { transform:translateY(-1px); }
@media (max-width:1060px) { .desktop-nav, .header-cta { display:none !important; } .mobile-menu-button { display:inline-flex !important; } }
@media (max-width:760px) { .btn { min-height:48px; padding:12px 17px; } .header-lookup { display:none !important; } .header-inner { min-height:66px; } .brand img { width:38px; height:38px; } }
@media (prefers-reduced-motion:reduce) { .btn,.header-cta,.header-lookup,.download-cta,.video-button,.subpage-cta,.plan-button,.blog-tag-filter-item { transition:none !important; } .btn:hover,.header-cta:hover,.header-lookup:hover,.download-cta:hover,.video-button:hover,.plan-button:hover { transform:none; } }

/* Home-page plan cards: make each action echo its plan's accent, even against older legacy selectors. */
#planos .plan-card--starter .plan-button--muted {
  color:#c9e0ff !important;
  background:rgba(80,142,220,.13) !important;
  border:1px solid rgba(126,180,255,.3) !important;
  box-shadow:none !important;
}
#planos .plan-card--starter .plan-button--muted:hover {
  color:#edf6ff !important;
  background:rgba(80,142,220,.21) !important;
  border-color:rgba(126,180,255,.5) !important;
  box-shadow:0 6px 13px rgba(37,99,235,.12) !important;
}
#planos .plan-card--quarterly .plan-button--muted {
  color:#ffd1ad !important;
  background:rgba(249,115,22,.12) !important;
  border:1px solid rgba(249,146,60,.31) !important;
  box-shadow:none !important;
}
#planos .plan-card--quarterly .plan-button--muted:hover {
  color:#fff1e5 !important;
  background:rgba(249,115,22,.2) !important;
  border-color:rgba(249,146,60,.5) !important;
  box-shadow:0 6px 13px rgba(234,88,12,.12) !important;
}
#planos .plan-card--economy .plan-button--featured {
  color:#252c37 !important;
  background:linear-gradient(135deg,#f7dc8a 0%,#edc45a 60%,#dfaf34 100%) !important;
  border:1px solid rgba(255,232,164,.66) !important;
  box-shadow:0 7px 17px rgba(216,165,43,.13) !important;
}
#planos .plan-card--economy .plan-button--featured:hover {
  color:#171f2c !important;
  background:linear-gradient(135deg,#ffe8a4,#f4d06b 60%,#e5b842) !important;
  border-color:#f9df92 !important;
  box-shadow:0 9px 20px rgba(216,165,43,.2) !important;
}

/* Atualização de identidade visual: logotipo Recargas Turbo */
.brand { gap: 0 !important; }
.brand img { width: auto !important; height: auto !important; max-width: min(180px, 42vw); max-height: 52px; object-fit: contain; }
.brand--footer img { max-width: 170px; max-height: 48px; }

/* Ajuste de navegação desktop: manter todos os itens em uma única linha */
@media (min-width: 1061px) {
  .header-inner {
    display: flex;
    flex-wrap: nowrap;
    gap: clamp(6px, .65vw, 12px);
    white-space: nowrap;
  }
  .header .brand {
    flex: 0 0 auto;
    white-space: nowrap;
  }
  .desktop-nav {
    display: flex;
    flex: 1 1 auto;
    flex-wrap: nowrap;
    align-items: center;
    justify-content: space-between;
    gap: clamp(2px, .35vw, 7px);
    min-width: 0;
    white-space: nowrap;
  }
  .desktop-nav .nav-link {
    flex: 0 0 auto;
    padding-inline: clamp(4px, .5vw, 9px);
    font-size: clamp(.76rem, .82vw, .9rem);
    line-height: 1.15;
    white-space: nowrap;
  }
  .header-lookup,
  .header-cta {
    flex: 0 0 auto;
    white-space: nowrap;
    font-size: clamp(.76rem, .8vw, .86rem);
    padding-inline: clamp(9px, .85vw, 14px);
  }
  .header-cta { gap: 6px; }
}

/* FAQ refresh: high contrast, refined cards, clear expanded state */
#faq .faq-grid { gap: 20px !important; }
#faq .faq-column { gap: 14px !important; }
#faq .faq-item {
  background: linear-gradient(145deg, #172438 0%, #101a2a 100%) !important;
  border: 1px solid #344963 !important;
  border-radius: 18px !important;
  overflow: hidden;
  box-shadow: 0 8px 24px rgba(4, 12, 24, .16) !important;
  transition: border-color .22s ease, box-shadow .22s ease, transform .22s ease !important;
}
#faq .faq-item:hover {
  border-color: #527fb9 !important;
  box-shadow: 0 12px 28px rgba(0, 0, 0, .22) !important;
  transform: translateY(-2px);
}
#faq .faq-item[data-open="true"] {
  border-color: #438cf5 !important;
  box-shadow: 0 0 0 1px rgba(67, 140, 245, .18), 0 14px 32px rgba(0, 0, 0, .22) !important;
}
#faq .faq-trigger {
  display: grid !important;
  grid-template-columns: 40px minmax(0, 1fr) 22px !important;
  align-items: center !important;
  gap: 14px !important;
  width: 100%;
  padding: 19px 20px !important;
  text-align: left;
  color: #f5f8ff !important;
  background: transparent !important;
}
#faq .faq-number {
  display: grid !important;
  place-items: center !important;
  width: 38px !important;
  height: 38px !important;
  flex: 0 0 38px !important;
  border-radius: 12px !important;
  background: #263c59 !important;
  border: 1px solid #48688e !important;
  color: #eaf3ff !important;
  font-size: .86rem !important;
  font-weight: 800 !important;
  letter-spacing: .02em;
}
#faq .faq-item[data-open="true"] .faq-number {
  background: linear-gradient(135deg, #4b9bff, #2864d8) !important;
  border-color: #78b4ff !important;
  color: #fff !important;
  box-shadow: 0 5px 14px rgba(37, 99, 235, .3);
}
#faq .faq-question { color: #f4f7fc !important; font-size: 1rem !important; font-weight: 700 !important; line-height: 1.5 !important; }
#faq .faq-chevron { color: #9fc7ff !important; transition: transform .22s ease, color .22s ease !important; }
#faq .faq-item[data-open="true"] .faq-chevron { color: #fff !important; }
#faq .faq-answer { color: #d6e1ef !important; }
#faq .faq-answer-inner { padding: 0 20px 20px 74px !important; color: #d6e1ef !important; }
#faq .faq-answer-inner p { margin: 0 !important; color: #d6e1ef !important; font-size: .96rem; line-height: 1.8 !important; }
#faq .faq-trigger:focus-visible { outline: 3px solid #80b7ff !important; outline-offset: 3px; border-radius: 12px; }
@media (max-width: 600px) {
  #faq .faq-trigger { grid-template-columns: 34px minmax(0, 1fr) 20px !important; gap: 10px !important; padding: 15px !important; }
  #faq .faq-number { width: 32px !important; height: 32px !important; flex-basis: 32px !important; border-radius: 10px !important; font-size: .8rem !important; }
  #faq .faq-question { font-size: .94rem !important; }
  #faq .faq-answer-inner { padding: 0 15px 17px 59px !important; }
  #faq .faq-answer-inner p { font-size: .92rem; line-height: 1.72 !important; }
}
@media (prefers-reduced-motion: reduce) {
  #faq .faq-item, #faq .faq-trigger, #faq .faq-chevron { transition: none !important; }
}
