@import url('https://fonts.googleapis.com/css2?family=Caveat:wght@400;500&family=Cormorant+Garamond:ital,wght@0,400;1,400;1,500&family=Outfit:wght@500;600;700&display=swap');

:root {
    --primary: #5EC8D8; /* Crash Fix ice/cyan — não amarelo Tattoo */
    --bg: #0a0a0a;
    --card: #141414;
    --text: #ffffff;
    --gray: #888;
    --danger: #ff4444;
    --font-nav: 'Outfit', system-ui, -apple-system, sans-serif;
}

html { scroll-behavior: smooth; scroll-padding-top: 70px; overflow-x: hidden; overflow-x: clip; }
* { margin: 0; padding: 0; box-sizing: border-box; font-family: 'Inter', sans-serif; }
body { background: var(--bg); color: var(--text); line-height: 1.6; overflow-x: hidden; overflow-x: clip; max-width: 100%; }
.container { max-width: 1200px; margin: auto; padding: 0 25px; width: 100%; }

img { max-width: 100%; height: auto; }

/* WHATSAPP FLUTUANTE */
.whatsapp-float {
    position: fixed; width: 60px; height: 60px; bottom: 40px; right: 40px;
    background-color: #25d366; color: #FFF; border-radius: 50px; text-align: center;
    font-size: 35px; box-shadow: 2px 2px 10px rgba(0,0,0,0.5); z-index: 1001;
    display: flex; align-items: center; justify-content: center; text-decoration: none; transition: 0.3s;
}

/* HEADER */
header {
    padding: 8px 0;
    border-bottom: 1px solid #222;
    background: rgba(0,0,0,0.95);
    position: sticky;
    top: 0;
    z-index: 1000;
    display: flex;
    align-items: center;
}

nav,
.site-nav {
    display: flex;
    align-items: center;
    gap: 16px;
    width: 100%;
    position: relative;
}

.logo-area {
    display: flex;
    align-items: center;
    gap: 12px;
    flex-shrink: 0;
    min-width: 0;
}

.logo-img-link {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 84px;
    height: 84px;
    flex-shrink: 0;
    text-decoration: none;
    border-radius: 50%;
    overflow: hidden;
    background: transparent;
}

.main-logo-img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
    object-position: center;
    border-radius: 50%;
}

/* Lockup do header: junto, só cor diferente — não confundir com textos do site */
.logo-text {
    font-size: 1.42rem;
    font-weight: 900;
    line-height: 1;
    letter-spacing: 0.02em;
    white-space: nowrap;
    color: #fff;
}

.logo-text span { color: var(--primary); }
.logo-text .logo-word { color: #fff; }
.logo-text .logo-accent { color: var(--primary); }

.logo-lockup {
    display: flex;
    flex-direction: column;
    gap: 3px;
    min-width: 0;
}
.logo-tagline {
    margin: 0;
    font-size: 0.82rem;
    font-style: italic;
    font-weight: 500;
    line-height: 1.25;
    letter-spacing: 0.04em;
    color: #c4c4c4;
    white-space: nowrap;
}

.hero-brand-mobile {
    display: none;
}

.nav-panel {
    display: flex;
    align-items: center;
    flex: 1;
    min-width: 0;
}

.site-nav > .mobile-menu-checkbox {
    position: absolute;
    opacity: 0;
    pointer-events: none;
    width: 0;
    height: 0;
}

.nav-links {
    display: flex;
    list-style: none;
    gap: 10px;
    align-items: center;
    margin: 0;
    padding: 0;
}

.nav-main {
    flex: 1;
    justify-content: center;
    gap: 3px 9px;
    min-width: 0;
}

.nav-main a {
    font-family: var(--font-nav);
    font-size: 0.76rem;
    font-weight: 600;
    letter-spacing: 0.02em;
    padding: 4px 2px;
    border-radius: 8px;
    transition: color 0.2s ease, box-shadow 0.2s ease;
}

.nav-main a:hover,
.nav-main a:focus-visible {
    color: var(--primary);
    box-shadow: inset 0 0 0 1px var(--primary);
}

.nav-actions {
    flex-shrink: 0;
    gap: 8px;
    padding-left: 4px;
    margin-left: 0;
}

.site-social {
    flex-shrink: 0;
    list-style: none;
    margin: 0;
    padding: 0 16px;
    border-left: 1px solid #333;
    border-right: 1px solid #333;
    justify-content: center;
    align-self: stretch;
    align-items: center;
    min-width: 108px;
}

.site-social li { display: flex; }

.nav-links a {
    color: #fff;
    text-decoration: none;
    white-space: nowrap;
}

.nav-lang {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    font-size: 0.72rem;
    font-weight: 700;
    padding: 6px 8px;
    border-radius: 8px;
    border: 1px solid #333;
    background: #111;
}

.nav-lang:hover { border-color: var(--primary); color: var(--primary); }

.nav-lang-stack {
    display: flex;
    flex-direction: column;
    gap: 3px;
    align-self: center;
}

.nav-lang-stack .nav-lang {
    padding: 3px 6px;
    font-size: 0.62rem;
    border-radius: 6px;
    line-height: 1;
    min-width: 42px;
    justify-content: center;
}

.nav-lang-stack .nav-lang img {
    width: 16px;
    height: 12px;
}

/* Seletor compacto de idiomas (PT, EN, IT, DE, ES, PL) */
.nav-lang-switcher {
    position: relative;
    flex-direction: row;
    align-items: center;
}

.nav-lang-toggle {
    cursor: pointer;
    font: inherit;
    color: inherit;
    background: #111;
}

.nav-lang-toggle .nav-lang-chevron {
    font-size: 0.55rem;
    opacity: 0.7;
    margin-left: 1px;
    transition: transform 0.15s ease;
}

.nav-lang-switcher--open .nav-lang-chevron {
    transform: rotate(180deg);
}

.nav-lang-menu {
    position: absolute;
    top: calc(100% + 4px);
    right: 0;
    z-index: 1200;
    list-style: none;
    margin: 0;
    padding: 4px;
    min-width: 88px;
    display: flex;
    flex-direction: column;
    gap: 2px;
    background: #111;
    border: 1px solid #333;
    border-radius: 8px;
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.45);
}

.nav-lang-menu[hidden] {
    display: none;
}

.nav-lang-menu .nav-lang {
    width: 100%;
    box-sizing: border-box;
    justify-content: flex-start;
}

.nav-lang-menu .nav-lang--active {
    border-color: var(--primary);
    color: var(--primary);
    pointer-events: none;
}

.btn-nav {
    background: var(--primary);
    color: #000 !important;
    padding: 7px 10px;
    border-radius: 8px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 36px;
    height: 34px;
}

.btn-nav i { font-size: 0.95rem; }
.btn-nav-comprar { gap: 5px; }
.btn-nav-comprar .btn-nav-label { font-size: 0.7rem; font-weight: 800; letter-spacing: 0.02em; }

.mobile-menu-checkbox { display: none; }
.mobile-menu-icon { display: none; }

/* REDES SOCIAIS HEADER */
.social-header,
.site-social {
    display: flex;
    align-items: center;
    gap: 7px;
}

.social-header a i {
    font-size: 0.95rem;
    color: #fff;
    transition: 0.3s;
}

.social-header a:hover i { color: var(--primary); }

@media (max-width: 1280px) {
    .nav-main a { font-size: 0.73rem; }
    .nav-main { gap: 3px 7px; }
    .logo-text { font-size: 1.2rem; }
    .logo-img-link { width: 76px; height: 76px; }
    .site-social { min-width: 96px; padding: 0 12px; }
}

/* Header IT: rótulos um pouco mais longos — só ajustes de espaço, mesma tipografia do menu */
html[lang="it"] .site-nav { gap: 10px; }
html[lang="it"] .logo-text { font-size: 1.18rem; }
html[lang="it"] .logo-tagline { font-size: 0.74rem; }
html[lang="it"] .logo-img-link { width: 74px; height: 74px; }
html[lang="it"] .site-social { min-width: 92px; padding: 0 10px; gap: 5px; }
html[lang="it"] .nav-actions { gap: 6px; }

@media (max-width: 1360px) {
    html[lang="it"] .logo-lockup .logo-tagline { display: none; }
}

@media (max-width: 1180px) {
    .btn-nav-comprar .btn-nav-label { display: none; }
    .btn-nav-comprar { padding: 7px 9px; }
}

/* HERO */
.hero { padding: 80px 0 90px; background: radial-gradient(circle at top right, #1a1a1a, #0a0a0a); }
.home-page .hero {
    min-height: calc(100dvh - 100px);
    display: flex;
    align-items: center;
    padding-top: 32px;
    padding-bottom: 48px;
    scroll-margin-top: 0;
}
.home-page .hero > .container { width: 100%; max-width: 100%; }
.hero-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 55px; align-items: center; min-width: 0; }
.hero-text { min-width: 0; max-width: 100%; }
.badge { color: var(--primary); font-weight: 800; text-transform: uppercase; border: 1px solid var(--primary); padding: 6px 14px; border-radius: 50px; font-size: 0.9rem; }
.hero h1 { font-size: 3.5rem; font-weight: 900; line-height: 1.05; margin: 28px 0; }
.hero p { font-size: 1.1rem; color: var(--gray); margin-bottom: 38px; }
.hero-btns { display: flex; gap: 18px; align-items: center; flex-wrap: wrap; }
.hero-cta-buy-short { display: none; }
/* Must beat .store-official-bar { display:flex } or the store CTA leaks onto desktop */
.hero-btns > .store-official-bar.hero-store-bar {
    display: none;
}
.btn-primary { background: var(--primary); color: #000 !important; padding: 16px 26px; border-radius: 12px; text-decoration: none; font-weight: 800; display: inline-flex; align-items: center; justify-content: center; gap: 8px; transition: 0.3s; text-align: center; border: none; min-width: 220px; cursor: pointer; }
.product-img { width: 100%; border-radius: 20px; border: 1px solid #222; box-shadow: 0 20px 40px rgba(0,0,0,0.5); }


/* Crash Fix homepage: cracked-sphere icon + larger product square on black */
.icon-cracked-sphere {
  display: inline-block;
  width: 2.1rem;
  height: 2.1rem;
  margin: 0 auto 12px;
  border-radius: 50%;
  background:
    linear-gradient(135deg, transparent 46%, #5EC8D8 46%, #5EC8D8 54%, transparent 54%),
    radial-gradient(circle at 35% 30%, #7ad4e0 0%, #5EC8D8 38%, #2a8a98 72%, #1a5c66 100%);
  box-shadow: inset 0 0 0 2px rgba(94, 200, 216, 0.35);
  position: relative;
}
.icon-cracked-sphere::before,
.icon-cracked-sphere::after {
  content: "";
  position: absolute;
  background: rgba(10, 10, 10, 0.85);
  border-radius: 1px;
}
.icon-cracked-sphere::before {
  width: 2px; height: 62%;
  left: 48%; top: 18%;
  transform: rotate(28deg);
}
.icon-cracked-sphere::after {
  width: 2px; height: 48%;
  left: 58%; top: 28%;
  transform: rotate(-38deg);
}
.icon-cracked-sphere--benefit {
  width: 2.4rem;
  height: 2.4rem;
  display: block;
  margin: 0 auto 15px;
}
#produtos .product-image-wrap--lg {
  width: min(100%, 460px);
  background: #000;
  border-color: #222;
  padding: 0;
}
#produtos .product-image-wrap--lg img {
  object-fit: contain;
  background: #000;
}
.kit-box {
  background: #0a0a0a;
}
.kit-box-media {
  background: #000;
  border-radius: 16px;
  padding: 8px;
}
.kit-box-media img {
  width: 100%;
  max-width: 420px;
  max-height: none;
  aspect-ratio: 1 / 1;
  object-fit: contain;
  background: #000;
  border-radius: 12px;
}

/* Crash Fix: hero visual preenche a coluna (sem fotinho em quadradão branco) */
.home-page .hero-visual {
    position: relative;
    align-self: stretch;
    min-height: min(72vh, 640px);
    display: flex;
    align-items: stretch;
    background: #0d0d0d;
    border-radius: 20px;
    overflow: hidden;
    border: 1px solid #222;
}
.home-page .hero-visual .product-img {
    width: 100%;
    height: 100%;
    min-height: min(72vh, 640px);
    object-fit: cover;
    object-position: center;
    border-radius: 0;
    border: none;
    box-shadow: none;
    display: block;
}
@media (max-width: 900px) {
    .home-page .hero-visual,
    .home-page .hero-visual .product-img {
        min-height: 280px;
    }
}


#produtos .product-solution-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 40px;
    align-items: start;
}
#produtos .product-solution-media {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: flex-start;
    gap: 16px;
    min-width: 0;
}
#produtos .product-image-wrap {
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 8px;
    border-radius: 12px;
    border: 1px solid #333;
    background: #1a1a1a;
    width: min(100%, 380px);
    max-width: 100%;
    aspect-ratio: 1 / 1;
    height: auto;
    margin: 0 auto;
    box-sizing: border-box;
    overflow: hidden;
}

#produtos .product-image-wrap .btn-primary{
    margin-top:20px;
    width:100%;
    max-width:250px;
}

#produtos .product-image-wrap img {
    width: 100%;
    height: 100%;
    max-width: none;
    border-radius: 12px;
    object-fit: cover;
}

#produtos .product-benefits-grid .benefit-card {
    width: 100%;
    padding: 16px 14px;
    text-align: center;
}

#produtos .product-benefits-grid .benefit-card i {
    margin-bottom: 12px;
}

#produtos .product-benefits-grid .benefit-card h3 {
    font-size: 1rem;
    margin-bottom: 8px;
}

#produtos .product-benefits-grid .benefit-card p {
    font-size: 0.85rem;
}

/* SEÇÕES GERAIS */
.content-section { padding: 60px 0; }
#paliativos {
    min-height: 100vh;
    box-sizing: border-box;
    padding-top: 72px;
    padding-bottom: 110px;
    display: flex;
    align-items: flex-start;
}
#paliativos > .container {
    width: 100%;
}
#produtos.content-section {
    padding-top: 72px;
}
.grey-bg { background: #080808; }
.section-title { font-size: 2.5rem; text-align: center; margin-bottom: 30px; font-weight: 900; }
.problem-intro { text-align: center; max-width: 800px; margin: 0 auto 40px; font-size: 1.05rem; color: var(--gray); }

.about-section { max-width: 880px; margin: 0 auto; }
.about-card {
    background: var(--card);
    border: 1px solid #222;
    border-radius: 28px;
    padding: 32px 36px;
    text-align: center;
}
.about-card--story { text-align: left; }
.about-kicker {
    display: block;
    margin: 0 0 22px;
    text-align: center;
    font-size: 0.92rem;
    font-weight: 700;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: var(--primary);
}
.about-story-heading {
    font-size: 1.35rem;
    font-weight: 800;
    color: #f5f5f5;
    margin: 32px 0 16px;
    text-align: center;
}
.about-origin {
    font-size: 1.2rem;
    line-height: 1.7;
    color: #f2f2f2;
    margin: 0 0 20px;
    text-align: center;
    font-weight: 500;
}
.about-body {
    font-size: 1.03rem;
    line-height: 1.75;
    color: #c8c8c8;
    margin: 0 0 16px;
}
.about-today {
    font-size: 1.02rem;
    line-height: 1.7;
    color: #ddd;
    margin: 24px 0 28px;
    padding-top: 20px;
    border-top: 1px solid #2a2a2a;
}
.about-feedback {
    margin: 28px 0 0;
    padding: 20px 22px;
    border-left: 3px solid var(--primary);
    border-radius: 0 16px 16px 0;
    background: #111;
    text-align: left;
}
.about-feedback p {
    margin: 0;
    font-size: 0.98rem;
    line-height: 1.7;
    color: #b8b8b8;
}
.about-feedback em {
    color: #ddd;
    font-style: italic;
}
.about-closing {
    margin: 24px 0 0;
    padding-top: 20px;
    border-top: 1px solid #2a2a2a;
    font-size: 1.05rem;
    line-height: 1.65;
    color: #e0e0e0;
    font-style: italic;
    text-align: center;
}
.about-signature {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 16px;
    margin-top: 28px;
    padding-top: 4px;
}
.about-signature-photo {
    width: 112px;
    height: 112px;
    border-radius: 50%;
    object-fit: cover;
    object-position: center center;
    border: 2px solid #333;
    flex-shrink: 0;
}
.about-signature-text {
    text-align: left;
}
.about-signature-name {
    margin: 0 0 4px;
    font-size: 1.1rem;
    font-weight: 600;
    color: #fff;
    letter-spacing: 0.02em;
}
.about-signature-role {
    margin: 0;
    font-size: 0.88rem;
    color: #999;
    line-height: 1.4;
}
.about-body--last { margin-bottom: 0; }
.about-patents {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
    gap: 14px;
    margin: 28px 0 8px;
}
.about-patent {
    display: flex;
    align-items: flex-start;
    gap: 14px;
    padding: 18px 20px;
    border-radius: 18px;
    border: 1px solid #2d2d2d;
    background: linear-gradient(145deg, #141414 0%, #0d0d0d 100%);
}
.about-patent i {
    color: var(--primary);
    font-size: 1.35rem;
    margin-top: 2px;
    flex-shrink: 0;
}
.about-patent-label {
    display: block;
    font-size: 0.78rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: #888;
    margin-bottom: 4px;
}
.about-patent-num {
    display: block;
    font-size: 0.95rem;
    font-weight: 700;
    color: #f0f0f0;
    font-family: ui-monospace, SFMono-Regular, Menlo, monospace;
}
.about-lead {
    font-size: 1.12rem;
    line-height: 1.65;
    color: #eee;
    margin: 0 0 18px;
}
.about-goal {
    font-size: 1.02rem;
    line-height: 1.65;
    color: var(--gray);
    margin: 0 0 24px;
}
.about-tags {
    list-style: none;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 10px;
    margin: 0;
    padding: 0;
}
.about-tags li {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 8px 14px;
    border-radius: 999px;
    border: 1px solid #2a2a2a;
    background: #111;
    font-size: 0.88rem;
    font-weight: 600;
    color: #ccc;
}
.about-tags i { color: var(--primary); font-size: 0.95rem; }

.problem-grid, .product-benefits-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; }
@media (max-width: 960px) {
    .problem-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 560px) {
    .problem-grid { grid-template-columns: 1fr; }
}
.card, .benefit-card { background: var(--card); padding: 28px; border-radius: 25px; border: 1px solid #222; text-align: center; height: 100%; transition: 0.3s; }
.card i, .benefit-card i { font-size: 2.25rem; color: var(--primary); margin-bottom: 18px; }
.card h3, .benefit-card h3 { margin-bottom: 10px; font-size: 1.25rem; }

/* Problema: cards compactos, mas com o mesmo respiro do menu das outras seções */
#problema.content-section { padding: 72px 0 28px; }
#problema .section-title { margin-bottom: 8px; }
#problema .problem-intro {
    margin-bottom: 12px;
    max-width: 920px;
    line-height: 1.35;
}
#problema .problem-intro p { margin: 0; }
#problema .problem-grid { gap: 8px; align-items: stretch; }
#problema .card {
    padding: 10px 14px;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
}
#problema .card i { margin-bottom: 4px; }
#problema .card h3 { margin-bottom: 4px; line-height: 1.2; }
#problema .card p { margin: 0; line-height: 1.3; }

/* PALIATIVOS */
.flex-row { display: flex; align-items: center; gap: 50px; }
.text-block { flex: 1; }
.fail-list { list-style: none; margin-top: 30px; }
.fail-list li { margin-bottom: 30px; display: flex; align-items: flex-start; gap: 20px; }
.fail-list i { color: var(--danger); font-size: 2.5rem; }
.warning-visual { flex: 1; display: flex; justify-content: center; }
.danger-box { border: 3px dashed var(--danger); color: var(--danger); padding: 50px; font-weight: 900; text-transform: uppercase; font-size: 1.5rem; transform: rotate(-8deg); text-align: center; width: fit-content; }

/* KIT BOX */
.kit-box { background: #0a0a0a; padding: 24px; border-radius: 20px; margin-top: 30px; border-left: 5px solid var(--primary); text-align: left; }
html.stf-lens-only .kit-box,
body.stf-lens-only .kit-box { display: none !important; }
.shipping-card--lens-only .shipping-card-main strong { font-size: 1rem; }
.shipping-card--lens-only .shipping-card-main small { display: block; margin-top: 4px; opacity: 0.85; }
.kit-box-layout {
    display: grid;
    grid-template-columns: auto 1fr;
    gap: 24px;
    align-items: center;
}
.kit-box-media {
    flex-shrink: 0;
    line-height: 0;
    background: #000;
    border-radius: 16px;
    padding: 8px;
}
.kit-box-media img {
    width: auto;
    max-width: 420px;
    max-height: none;
    height: auto;
    aspect-ratio: 1 / 1;
    border-radius: 12px;
    border: 1px solid #222;
    display: block;
    object-fit: contain;
    background: #000;
}
.kit-box-content h3 { margin-bottom: 16px; color: var(--primary); }
.kit-grid { display: flex; flex-direction: column; gap: 10px; }
.kit-feature { display: flex; align-items: center; gap: 10px; font-weight: 600; }
.kit-feature i { color: var(--primary); flex-shrink: 0; }

@media (max-width: 768px) {
    .kit-box-layout { grid-template-columns: 1fr; gap: 20px; }
    .kit-box-media { text-align: center; }
    .kit-box-media img { max-width: 300px; max-height: 260px; margin: 0 auto; }
}

/* CONTATO */
.contact-box { background: var(--card); padding: 28px; border-radius: 30px; border: 1px solid #222; text-align: center; max-width: 700px; margin: auto; }
.contact-box p { color: var(--gray); margin-bottom: 18px; }
.contact-email { margin-bottom: 22px !important; }
.contact-email a { color: var(--gold); text-decoration: none; font-weight: 600; }
.contact-email a:hover { text-decoration: underline; }
.contact-form { display: flex; flex-direction: column; gap: 14px; }
.contact-form input, .contact-form textarea { padding: 12px; background: #0a0a0a; border: 1px solid #333; color: white; border-radius: 8px; font-size: 0.95rem; width: 100%; }
.contact-form button { cursor: pointer; border: none; }

/* Pesquisa / feedback do visitante */
.stf-feedback-fab {
    position: fixed; left: 24px; bottom: 40px; z-index: 1000;
    display: inline-flex; align-items: center; gap: 10px;
    padding: 12px 18px; border-radius: 999px;
    border: 1px solid rgba(94, 200, 216, 0.35);
    background: linear-gradient(145deg, rgba(22, 22, 22, 0.98), rgba(10, 10, 10, 0.98));
    color: #f5f5f5; font-size: 0.88rem; font-family: var(--font-nav);
    box-shadow: 0 6px 24px rgba(0,0,0,0.5); cursor: pointer; transition: 0.25s ease;
}
.stf-feedback-fab:hover {
    border-color: var(--primary);
    color: #fff;
    transform: translateY(-2px);
    box-shadow: 0 8px 28px rgba(94, 200, 216, 0.15);
}
.stf-feedback-fab i {
    color: var(--primary); font-size: 1.15rem;
    width: 28px; height: 28px;
    display: inline-flex; align-items: center; justify-content: center;
    border-radius: 50%;
    background: rgba(94, 200, 216, 0.12);
}
.stf-feedback-overlay {
    position: fixed; inset: 0; z-index: 1002;
    background: rgba(0,0,0,0.78);
    backdrop-filter: blur(4px);
}
.stf-feedback-dialog {
    position: fixed; left: 50%; top: 50%; transform: translate(-50%, -50%);
    z-index: 1003; width: min(92vw, 480px); max-height: 90vh; overflow: auto;
    background: linear-gradient(165deg, #161616 0%, #0e0e0e 100%);
    border: 1px solid #333;
    border-top: 3px solid var(--primary);
    border-radius: 16px; padding: 28px 24px 24px;
    box-shadow: 0 20px 60px rgba(0,0,0,0.65);
}
.stf-feedback-dialog h2 {
    margin: 0 0 8px; font-size: 1.35rem; color: #fff;
    font-family: var(--font-nav); font-weight: 700;
}
.stf-feedback-intro { margin: 0 0 20px; color: #aaa; font-size: 0.92rem; line-height: 1.5; }
.stf-feedback-close {
    position: absolute; top: 14px; right: 14px; width: 38px; height: 38px;
    border: 1px solid #333; border-radius: 10px;
    background: #1a1a1a; color: #888; cursor: pointer; transition: 0.2s;
}
.stf-feedback-close:hover { color: #fff; border-color: #555; background: #222; }
.stf-feedback-form { display: flex; flex-direction: column; gap: 16px; }
.stf-feedback-field { display: flex; flex-direction: column; gap: 8px; }
.stf-feedback-field span {
    font-size: 0.85rem; color: #ccc; font-weight: 600;
    font-family: var(--font-nav);
}
.stf-feedback-field textarea,
.stf-feedback-field input {
    padding: 12px 14px; background: #0a0a0a; border: 1px solid #333; color: #fff;
    border-radius: 10px; font-size: 0.95rem; width: 100%; font-family: inherit;
    resize: vertical; transition: border-color 0.2s, box-shadow 0.2s;
}
.stf-feedback-field textarea:focus,
.stf-feedback-field input:focus {
    outline: none; border-color: var(--primary);
    box-shadow: 0 0 0 3px rgba(94, 200, 216, 0.12);
}
.stf-feedback-submit {
    width: 100%; margin-top: 4px;
    font-family: var(--font-nav); font-weight: 600;
    padding: 14px; border-radius: 10px;
}
.stf-feedback-status { margin: 0; font-size: 0.9rem; text-align: center; }
.stf-feedback-status--ok { color: #6dd47e; }
.stf-feedback-status--err { color: #f07178; }
body.stf-feedback-open { overflow: hidden; }
.footer-action-links {
  margin-top: 18px;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 10px;
}
.footer-action-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 10px 16px;
  border-radius: 999px;
  font-family: inherit;
  font-size: 0.88rem;
  font-weight: 700;
  line-height: 1.2;
  text-decoration: none;
  border: 1px solid transparent;
  cursor: pointer;
  transition: background 0.2s ease, border-color 0.2s ease, color 0.2s ease, transform 0.15s ease;
}
.footer-action-btn i { font-size: 0.95rem; }
.footer-action-btn--feedback {
  background: rgba(94, 200, 216, 0.12);
  border-color: rgba(94, 200, 216, 0.45);
  color: var(--primary);
}
.footer-action-btn--feedback:hover {
  background: rgba(94, 200, 216, 0.22);
  border-color: var(--primary);
  transform: translateY(-1px);
}
.footer-action-btn--affiliate {
  background: rgba(56, 189, 148, 0.12);
  border-color: rgba(56, 189, 148, 0.45);
  color: #5ee0b0;
}
.footer-action-btn--affiliate:hover {
  background: rgba(56, 189, 148, 0.22);
  border-color: #5ee0b0;
  color: #7aebc0;
  transform: translateY(-1px);
}
@media (max-width: 480px) {
  .footer-action-links { flex-direction: column; align-items: stretch; }
  .footer-action-btn { width: 100%; }
}
@media (max-width: 640px) {
    .stf-feedback-fab { left: 16px; bottom: 24px; padding: 10px 12px; }
    .stf-feedback-fab-label { display: none; }
    .whatsapp-float { bottom: 24px; right: 16px; width: 52px; height: 52px; font-size: 28px; }
}

.btn-whatsapp-inline { background: #25d366; color: white !important; padding: 12px; border-radius: 12px; text-decoration: none; font-weight: 700; display: flex; align-items: center; justify-content: center; gap: 10px; transition: 0.3s; }

#onde-comprar {
    scroll-margin-top: 88px;
    padding: 0 0 32px;
    min-height: calc(100dvh - 88px);
    display: block;
    background: #121212;
}

#onde-comprar.content-section {
    padding-top: 0;
    padding-bottom: 32px;
}

#onde-comprar > .container {
    width: 100%;
}

.onde-comprar-page .onde-comprar-landing {
    min-height: calc(100dvh - 72px);
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 20px 0 28px;
}

.onde-comprar-page .onde-comprar-landing > .container {
    width: 100%;
}

.onde-comprar-hero {
    text-align: center;
    max-width: 640px;
    margin: 0 auto 28px;
}

.onde-comprar-hero h1 {
    font-size: clamp(1.55rem, 4vw, 2.1rem);
    margin: 12px 0 10px;
}

.onde-comprar-trust {
    text-align: center;
    color: var(--primary);
    font-weight: 600;
    margin: 18px 0 8px;
}

.intl-channels-note {
    margin-top: 16px;
    padding: 14px 16px;
    background: #141414;
    border: 1px solid #333;
    border-radius: 12px;
    font-size: 0.92rem;
    color: #ccc;
    line-height: 1.45;
    text-align: center;
}
.intl-channels-note i { color: var(--primary); margin-right: 6px; }
.intl-channels-note[hidden] { display: none !important; }

.stores-layout--marketplaces-first {
    display: flex;
    flex-direction: column;
    gap: 0;
}

.stores-layout--store-first {
    display: flex;
    flex-direction: column;
    gap: 0;
}

.stores-layout--store-first .store-official-bar {
    margin-bottom: 0;
}

.onde-comprar-marketplaces-label {
    display: flex;
    align-items: center;
    gap: 14px;
    text-align: center;
    color: #aaa;
    font-size: 0.92rem;
    margin: 18px 0 12px;
    font-weight: 500;
}

.onde-comprar-marketplaces-label::before,
.onde-comprar-marketplaces-label::after {
    content: '';
    flex: 1;
    height: 1px;
    background: rgba(255, 255, 255, 0.18);
}

.stores-grid-prominent .store-card {
    min-height: 118px;
}

.store-official-secondary {
    margin-top: 4px;
    border-color: #444;
    background: #111;
}

.onde-comprar-loja-oficial {
    margin-top: 20px;
    border: 1px solid #333;
    border-radius: 12px;
    padding: 12px 14px;
    background: #111;
}

.onde-comprar-loja-oficial summary {
    cursor: pointer;
    color: #bbb;
    font-size: 0.92rem;
    list-style: none;
}

.onde-comprar-loja-oficial summary::-webkit-details-marker { display: none; }

.onde-comprar-loja-oficial[open] summary {
    margin-bottom: 12px;
    color: #ddd;
}

#onde-comprar .section-title { margin-bottom: 10px; }
.onde-comprar-intro {
    color: #ccc;
    text-align: center;
    max-width: 900px;
    margin: 0 auto 14px;
    font-size: 0.98rem;
    line-height: 1.35;
}
.loja-intro {
    color: #ccc;
    text-align: center;
    margin: 0 0 8px;
    font-size: 1rem;
}
.loja-intro-alt {
    text-align: center;
    margin: 0 0 28px;
    font-size: 0.9rem;
}
.loja-intro-alt a,
.onde-comprar-intro a {
    color: var(--primary);
    font-weight: 600;
    text-decoration: none;
}
.loja-intro-alt a:hover,
.onde-comprar-intro a:hover {
    text-decoration: underline;
}

/* Loja — card centralizado + título ao lado */
.loja-page .loja-main {
    padding: 16px 0 48px;
}
.loja-shell {
    max-width: 1080px;
}
.loja-layout {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 20px;
}
.loja-page .loja-hero {
    width: 100%;
    max-width: 340px;
    text-align: left;
}
.loja-page .loja-hero .section-title {
    text-align: left;
    margin: 0 0 10px;
    font-size: clamp(1.65rem, 5vw, 2.35rem);
    line-height: 1.15;
}
.loja-page .loja-intro {
    text-align: left;
    margin: 0 0 8px;
    font-size: 0.95rem;
    line-height: 1.45;
    color: #e8e8e8;
}
.loja-page .loja-intro-alt {
    text-align: left;
    margin: 0;
    font-size: 0.88rem;
}

.loja-marketplaces {
    margin-top: 0;
}

.loja-marketplaces--rail {
    width: 100%;
    max-width: 168px;
    flex: 0 0 168px;
    align-self: flex-start;
    text-align: left;
}

.loja-marketplaces-label {
    margin: 0 0 8px;
    font-size: 0.68rem;
    font-weight: 600;
    color: #888;
    text-transform: uppercase;
    letter-spacing: 0.03em;
    line-height: 1.25;
}

.loja-marketplace-badges {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 6px;
    width: 100%;
}

.loja-mp-badge {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    gap: 8px;
    width: 100%;
    box-sizing: border-box;
    padding: 8px 10px;
    border-radius: 8px;
    text-decoration: none;
    font-size: 0.78rem;
    font-weight: 700;
    line-height: 1.15;
    transition: transform 0.15s ease, box-shadow 0.15s ease;
    border: 1px solid rgba(255, 255, 255, 0.08);
    min-height: 36px;
    box-shadow: none;
}

.loja-mp-badge i {
    font-size: 0.9rem;
    width: 1rem;
    text-align: center;
    flex-shrink: 0;
    opacity: 1;
}

.loja-mp-badge span {
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.loja-mp-badge:hover {
    transform: translateY(-1px);
    box-shadow: 0 3px 10px rgba(0, 0, 0, 0.35);
    opacity: 1;
}

.loja-mp-badge.store-ml { background: #FFE600 !important; color: #2D3277 !important; }
.loja-mp-badge.store-ml i { color: #2D3277 !important; }
.loja-mp-badge.store-ml span { color: #2D3277 !important; }
.loja-mp-badge.store-shopee { background: #EE4D2D !important; color: #fff !important; }
.loja-mp-badge.store-shopee i { color: #fff !important; }
.loja-mp-badge.store-shopee span { color: #fff !important; }
.loja-mp-badge.store-amazon { background: #232F3E !important; color: #fff !important; }
.loja-mp-badge.store-amazon i { color: #FF9900 !important; }
.loja-mp-badge.store-amazon span { color: #fff !important; }
.loja-mp-badge.store-tiktok { background: #111 !important; color: #fff !important; border-color: #333; }
.loja-mp-badge.store-tiktok i { color: #25f4ee !important; }
.loja-mp-badge.store-tiktok span { color: #fff !important; }

@media (min-width: 768px) {
    .loja-marketplace-badges {
        grid-template-columns: unset;
    }
    .loja-mp-badge {
        font-size: 0.78rem;
        padding: 8px 10px;
    }
}

.loja-page .loja-grid {
    width: 100%;
    max-width: 720px;
    margin-top: 0;
    grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
}
@media (min-width: 768px) {
    .loja-page .loja-main {
        padding: 12px 0 56px;
        min-height: calc(100dvh - 88px);
        display: flex;
        align-items: center;
    }
    .loja-layout {
        flex-direction: row;
        align-items: flex-start;
        justify-content: center;
        gap: clamp(16px, 3vw, 28px);
        width: 100%;
    }
    .loja-page .loja-hero {
        flex: 0 1 280px;
        max-width: 300px;
        padding-top: 4px;
    }
    .loja-page .loja-grid {
        flex: 1 1 auto;
        max-width: 720px;
        order: 0;
    }
    .loja-marketplaces--rail {
        order: -1;
        padding-top: 4px;
    }
}
@media (max-width: 767px) {
    .loja-page .loja-main {
        min-height: calc(100dvh - 88px);
        display: flex;
        align-items: center;
    }
    .loja-page .loja-layout {
        padding-top: 0;
        align-items: stretch;
    }
    .loja-marketplaces--rail {
        order: 2;
        max-width: none;
        width: 100%;
        flex: none;
        margin-top: 8px;
        text-align: center;
    }
    .loja-marketplaces--rail .loja-marketplaces-label {
        text-align: center;
    }
    .loja-marketplace-badges {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 8px;
        max-width: 340px;
        margin: 0 auto;
    }
    .loja-mp-badge {
        width: 100%;
        justify-content: center;
    }
    .loja-page .loja-hero {
        order: 1;
        text-align: center;
    }
    .loja-page .loja-hero .section-title,
    .loja-page .loja-intro,
    .loja-page .loja-intro-alt {
        text-align: center;
    }
}

.stores-layout {
    max-width: 900px;
    margin: 0 auto;
}
.store-official-bar {
    display: flex;
    align-items: center;
    gap: 14px;
    padding: 10px 16px;
    margin-bottom: 20px;
    background: #0a0a0a;
    border: 2px solid var(--primary);
    border-radius: 16px;
    text-decoration: none;
    transition: 0.25s;
}
.store-official-bar:hover {
    background: #141414;
    box-shadow: 0 6px 20px rgba(94, 200, 216, 0.15);
    transform: translateY(-2px);
}
.store-icon-circle {
    flex-shrink: 0;
    width: 64px;
    height: 64px;
    border-radius: 50%;
    overflow: hidden;
    border: 2px solid var(--primary);
    background: #000;
    display: flex;
    align-items: center;
    justify-content: center;
}
.store-icon-circle img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    mix-blend-mode: lighten;
    opacity: 0.95;
}
.store-official-info {
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 2px;
    min-width: 0;
}
.store-official-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    width: 100%;
    min-width: 0;
}
.store-official-info strong {
    color: #fff;
    font-size: 1.05rem;
    font-weight: 800;
    margin: 0;
    flex-shrink: 0;
}
.store-official-price {
    color: var(--primary);
    font-size: 0.98rem;
    font-weight: 700;
    line-height: 1.25;
    margin-bottom: 2px;
}
.store-official-shipping {
    color: #c8c8c8;
    font-size: 0.76rem;
    font-weight: 500;
    line-height: 1.3;
    margin: 0;
}
.store-official-payments {
    display: inline-flex;
    flex-wrap: nowrap;
    align-items: center;
    justify-content: flex-end;
    gap: 6px 9px;
    margin: 0;
    margin-left: auto;
    white-space: nowrap;
}
.store-pay-item {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    color: #9a9a9a;
    font-weight: 500;
}
.store-pay-label {
    font-size: 0.52rem;
    line-height: 1;
}
.store-official-payments i {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 1rem;
    height: 1rem;
    font-size: 0.88rem;
    line-height: 1;
    color: var(--primary);
    flex-shrink: 0;
}
.store-official-info span:not(.store-official-price):not(.store-official-shipping):not(.store-official-payments):not(.store-official-head) {
    color: var(--primary);
    font-size: 0.95rem;
    font-weight: 600;
}
.store-official-arrow {
    color: var(--primary);
    font-size: 1rem;
    flex-shrink: 0;
}
.stores-grid-3 {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 20px;
}
.stores-grid-3 > [hidden],
.site-social > [hidden],
.loja-marketplace-badges > [hidden],
[data-channel][hidden],
[data-channel-group][hidden] {
    display: none !important;
}
.store-link { text-decoration: none; display: block; height: 100%; }
.store-card {
    padding: 44px 20px !important;
    min-height: 260px !important;
    height: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
    border: none !important;
    transition: 0.25s;
}
.store-card:hover { transform: translateY(-4px); }
.store-card i {
    font-size: 2.5rem !important;
    margin-bottom: 16px !important;
}
.store-card h3 {
    font-size: 1.65rem !important;
    margin: 0 0 8px !important;
    font-weight: 800 !important;
}
.store-card p {
    font-size: 1.05rem !important;
    margin: 0 !important;
    font-weight: 600 !important;
}
.store-ml { background: #FFE600 !important; }
.store-ml i, .store-ml h3, .store-ml p { color: #2D3277 !important; }
.store-shopee { background: #EE4D2D !important; }
.store-shopee i, .store-shopee h3, .store-shopee p { color: #fff !important; }
.store-amazon { background: #232F3E !important; }
.store-amazon i, .store-amazon h3, .store-amazon p { color: #FF9900 !important; }
.store-tiktok { background: #010101 !important; }
.store-tiktok i { color: #fff !important; }
.store-tiktok h3 { color: #fff !important; }
.store-tiktok p { color: #25f4ee !important; }
@media (min-width: 900px) {
    .stores-grid-3 { grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); }
}
.checkout-product-img {
    width: 100%;
    max-width: 220px;
    display: block;
    margin: 0 auto 16px;
    border-radius: 16px;
    border: 1px solid #333;
}
.reviews-section {
    position: relative;
    overflow: hidden;
    background: #080808;
    padding-top: 56px;
    padding-bottom: 64px;
}
.reviews-section::before {
    display: none;
}
.reviews-section .container {
    position: relative;
    z-index: 1;
}
.reviews-section .section-title {
    margin-bottom: 10px;
}
.reviews-summary {
    text-align: center;
    color: var(--gray);
    font-weight: 600;
    margin: 0 auto 44px;
    font-size: 0.85rem;
    letter-spacing: 0.03em;
}
.reviews-summary i {
    color: var(--primary);
    margin-right: 5px;
    font-size: 0.78rem;
}
.reviews-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 0;
    max-width: 1080px;
    margin: 0 auto;
    align-items: stretch;
}
.reviews-section .review-card {
    background: none;
    border: none;
    border-radius: 0;
    padding: 28px 28px 32px;
    position: relative;
}
/* divisor vertical — degradê que some nas pontas */
.reviews-section .review-card:not(:nth-child(3n))::after {
    content: '';
    position: absolute;
    top: 12%;
    right: 0;
    width: 1px;
    height: 76%;
    background: linear-gradient(
        to bottom,
        transparent 0%,
        rgba(94, 200, 216, 0.22) 22%,
        rgba(94, 200, 216, 0.1) 50%,
        rgba(94, 200, 216, 0.22) 78%,
        transparent 100%
    );
    pointer-events: none;
}
/* divisor horizontal — linha 2 em diante */
.reviews-section .review-card:nth-child(n+4)::before {
    content: '';
    position: absolute;
    top: 0;
    left: 10%;
    right: 10%;
    height: 1px;
    background: linear-gradient(
        to right,
        transparent 0%,
        rgba(94, 200, 216, 0.2) 25%,
        rgba(94, 200, 216, 0.08) 50%,
        rgba(94, 200, 216, 0.2) 75%,
        transparent 100%
    );
    pointer-events: none;
}
.reviews-section .review-stars { display: none; }
.review-quote blockquote {
    margin: 0;
    padding: 0;
    border: none;
    text-align: right;
}
.review-quote [data-review-body],
.review-quote .review-body {
    font-family: 'Inter', sans-serif;
    font-style: italic;
    font-size: clamp(0.88rem, 1.25vw, 0.96rem);
    line-height: 1.65;
    color: #c8c8c8;
    font-weight: 400;
    margin: 0;
    text-wrap: pretty;
}
.review-quote cite,
.review-quote .review-author {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 4px;
    margin-top: 16px;
    padding-top: 0;
    border: none;
    font-style: normal;
}
.review-quote [data-review-author],
.review-quote .review-sign-name {
    font-family: 'Caveat', cursive;
    font-size: 1.35rem;
    color: #e8e8e8;
    font-weight: 600;
    line-height: 1.1;
}
.review-quote .review-source,
.review-quote .review-sign-source {
    font-family: 'Inter', sans-serif;
    font-size: 0.62rem;
    color: rgba(94, 200, 216, 0.55);
    font-weight: 700;
    letter-spacing: 0.14em;
    text-transform: uppercase;
}
@media (max-width: 900px) {
    .reviews-grid { grid-template-columns: repeat(2, 1fr); }
    .reviews-section .review-card:not(:nth-child(3n))::after { display: none; }
    .reviews-section .review-card:not(:nth-child(2n))::after {
        display: block;
        top: 12%;
        height: 76%;
    }
    .reviews-section .review-card:nth-child(n+3)::before { display: block; }
    .reviews-section .review-card:nth-child(n+4)::before { display: none; }
}
@media (max-width: 520px) {
    .reviews-grid { grid-template-columns: 1fr; max-width: 400px; }
    .reviews-section .review-card::after,
    .reviews-section .review-card::before { display: none !important; }
    .reviews-section .review-card {
        padding: 24px 8px 28px;
        border-bottom: 1px solid transparent;
        border-image: linear-gradient(
            to right,
            transparent,
            rgba(94, 200, 216, 0.15) 30%,
            rgba(94, 200, 216, 0.15) 70%,
            transparent
        ) 1;
    }
    .reviews-section .review-card:last-child {
        border-bottom: none;
        border-image: none;
    }
}

.reviews-videos {
    margin-top: 48px;
    padding-top: 40px;
    border-top: 1px solid rgba(94, 200, 216, 0.12);
}
.reviews-videos-title {
    font-family: 'Outfit', sans-serif;
    font-size: clamp(1rem, 2vw, 1.15rem);
    font-weight: 600;
    color: #e8e8e8;
    text-align: center;
    margin: 0 0 28px;
    letter-spacing: 0.02em;
}
.reviews-videos-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 28px;
    max-width: 920px;
    margin: 0 auto;
}
.reviews-video-caption {
    margin: 12px 0 0;
    font-size: 0.82rem;
    line-height: 1.5;
    color: rgba(200, 200, 200, 0.85);
    text-align: center;
}
@media (max-width: 720px) {
    .reviews-videos-grid { grid-template-columns: 1fr; max-width: 400px; }
}

.shipping-hint {
    color: var(--gray);
    font-size: 0.88rem;
    margin-top: 12px;
}
.shipping-options-wrap { margin-top: 16px; }
.shipping-options-title {
    margin: 0 0 10px;
    font-size: 0.95rem;
    color: #ddd;
}
.shipping-options { display: flex; flex-direction: column; gap: 10px; }
.shipping-option { cursor: pointer; }
.shipping-option input { position: absolute; opacity: 0; }
.shipping-card {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 0;
    padding: 14px 16px;
    border: 2px solid #333;
    border-radius: 12px;
    transition: 0.2s;
}
.shipping-card-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
}
.shipping-option input:checked + .shipping-card {
    border-color: var(--primary);
    background: rgba(94, 200, 216, 0.08);
}
.shipping-card-main strong { display: block; margin-bottom: 2px; font-size: 0.92rem; }
.shipping-card-main small { color: var(--gray); font-size: 0.78rem; }
.shipping-card-price {
    font-weight: 700;
    color: var(--primary);
    white-space: nowrap;
    font-size: 0.95rem;
}
.shipping-card-notice {
    margin-top: 12px;
    padding-top: 12px;
    border-top: 1px solid rgba(255, 255, 255, 0.08);
    font-size: 0.78rem;
    line-height: 1.5;
    color: #bbb;
}
.shipping-option input:checked + .shipping-card .shipping-card-notice {
    border-top-color: rgba(94, 200, 216, 0.25);
    color: #ccc;
}
.shipping-card-notice p { margin: 0; }
.shipping-card-notice p + p { margin-top: 8px; }
.shipping-card-notice .shipping-notice-foot {
    color: #aaa;
    font-size: 0.76rem;
}
.shipping-card-notice--warn {
    color: #5EC8D8;
    border-top-color: rgba(94, 200, 216, 0.35);
}
.shipping-option input:checked + .shipping-card .shipping-card-notice--warn {
    color: var(--primary);
}
.payment-status {
    padding: 12px 16px;
    border-radius: 10px;
    margin: 12px 0;
    font-weight: 600;
    font-size: 0.9rem;
}
.payment-status.waiting {
    background: rgba(94, 200, 216, 0.12);
    color: var(--primary);
    border: 1px solid var(--primary);
}
.payment-status.confirmed {
    background: rgba(37, 211, 102, 0.12);
    color: #25d366;
    border: 1px solid #25d366;
}

/* FOOTER */
footer,
.site-footer { padding: 48px 0 40px; text-align: center; border-top: 1px solid #111; color: var(--gray); }
.footer-social { margin-bottom: 32px; }
.footer-social h4 { margin-bottom: 20px; text-transform: uppercase; color: var(--gray); font-size: 0.8rem; letter-spacing: 2px; }
.social-icons-footer { display: flex; justify-content: center; gap: 30px; flex-wrap: wrap; }
.social-link { color: #fff; text-decoration: none; font-weight: bold; display: flex; align-items: center; gap: 8px; transition: 0.3s; }
.social-link:hover { color: var(--primary); }
.footer-faq-link { margin-top: 12px; }
.footer-faq-link a { color: #fff; text-decoration: underline; }
.footer-faq-link a:hover { color: var(--primary); }
.footer-legal { padding-top: 28px; border-top: 1px solid #1a1a1a; }
.site-footer .footer-social + .footer-legal { border-top: none; padding-top: 0; }
.footer-legal-brand {
    margin: 0 0 14px;
    font-size: 1.05rem;
    font-weight: 800;
    color: var(--primary);
    letter-spacing: 0.02em;
}
.footer-legal-brand .logo-accent { color: var(--primary); }
.footer-legal-meta {
    margin: 0 0 6px;
    font-size: 0.84rem;
    line-height: 1.5;
    color: #bbb;
    max-width: 520px;
    margin-left: auto;
    margin-right: auto;
}
.footer-legal-meta--muted {
    color: #777;
    font-size: 0.78rem;
    margin-bottom: 6px;
}
.footer-legal-meta--muted:last-of-type {
    margin-bottom: 16px;
}
.footer-legal-copy {
    margin: 0;
    font-size: 0.76rem;
    line-height: 1.5;
    color: #666;
    max-width: 520px;
    margin-left: auto;
    margin-right: auto;
}

/* RESPONSIVIDADE */
@media (max-width: 1024px) {
    .hero h1 { font-size: 2.8rem; }
}

@media (max-width: 768px) {
    header { position: fixed; top: 0; left: 0; width: 100%; min-height: auto; padding: 10px 0; }
    body { padding-top: 78px; }
    body.home-page { padding-top: 64px; scroll-padding-top: 64px; }
    #onde-comprar {
        scroll-margin-top: 78px;
        min-height: auto;
        padding-top: 0;
        padding-bottom: 28px;
    }
    body.home-page #onde-comprar { scroll-margin-top: 64px; }
    .site-nav,
    nav { position: relative; flex-wrap: nowrap; gap: 6px; }
    .logo-area { flex: 0 0 auto; min-width: 0; gap: 8px; }
    .logo-img-link { width: 56px; height: 56px; }
    .logo-text { font-size: 0.95rem; }
    .logo-tagline { font-size: 0.68rem; }

    /* Home mobile: marca no hero, header compacto + hambúrguer */
    .home-page .logo-area .logo-lockup { display: none; }
    .home-page .site-social { display: none; }
    .home-page .site-nav {
        justify-content: space-between;
        align-items: center;
        gap: 8px;
    }
    .home-page .nav-actions {
        flex: 1;
        justify-content: flex-end;
        align-items: center;
        flex-wrap: nowrap;
        min-width: 0;
        margin-left: auto;
        gap: 4px;
    }
    /* idiomas: um botão compacto em vez de várias bandeiras empilhadas */
    .nav-lang-stack {
        flex-direction: row;
        gap: 0;
        align-items: center;
    }
    .nav-lang-stack .nav-lang {
        padding: 5px 6px;
        min-width: 0;
    }
    .nav-lang-toggle span {
        display: inline;
    }
    .nav-lang-menu .nav-lang span {
        display: inline;
    }
    .account-nav-login {
        padding: 6px 8px;
        font-size: 0;
        gap: 0;
    }
    .account-nav-login i {
        font-size: 0.95rem;
    }
    .account-nav-login span {
        display: none; /* icon only — “Log in” was wrapping the header */
    }
    .account-nav-name {
        max-width: 72px;
    }
    .home-page .mobile-menu-icon {
        order: 99;
        margin-left: 2px;
    }
    .home-page .hero-brand-mobile {
        display: block;
        margin: 0 0 14px;
        text-align: center;
    }
    .home-page .hero-brand-mobile .logo-text {
        display: flex;
        justify-content: center;
        font-size: 1.15rem;
    }
    .home-page .hero-brand-mobile .logo-tagline {
        white-space: normal;
        font-size: 0.78rem;
        margin-top: 4px;
    }
    .home-page .hero {
        min-height: calc(100dvh - 64px);
        padding-top: 16px;
        padding-bottom: 32px;
    }
    .home-page .hero-grid { padding-top: 0; }

    .site-social {
        border-left: none;
        border-right: none;
        min-width: 0;
        padding: 0 4px;
        gap: 5px;
    }
    .site-social a i { font-size: 0.88rem; }
    .nav-actions {
        border-left: none;
        padding-left: 0;
        gap: 6px;
        flex-wrap: nowrap;
        align-items: center;
    }
    .mobile-menu-icon {
        display: flex;
        margin-left: 2px;
        align-items: center;
        justify-content: center;
        width: 40px;
        height: 40px;
        border-radius: 12px;
        background: rgba(255,255,255,0.1);
        color: #fff;
        cursor: pointer;
        flex-shrink: 0;
    }

    .nav-panel {
        position: absolute;
        right: 12px;
        left: auto;
        top: calc(100% + 8px);
        flex: none;
        flex-direction: column;
        align-items: stretch;
        width: min(260px, calc(100vw - 24px));
        overflow: hidden;
        max-height: 0;
        opacity: 0;
        visibility: hidden;
        background: rgba(10, 10, 10, 0.94);
        backdrop-filter: blur(16px);
        border: 1px solid rgba(255, 255, 255, 0.12);
        border-radius: 18px;
        box-shadow: 0 20px 40px rgba(0,0,0,0.25);
        transition: max-height 0.28s ease, opacity 0.28s ease, visibility 0.28s ease;
        z-index: 1000;
        padding: 0;
    }

    .home-page .nav-panel {
        left: 12px;
        right: 12px;
        width: auto;
    }

    .nav-main {
        flex: none;
        flex-direction: column;
        align-items: stretch;
        gap: 0;
        width: 100%;
    }

    .nav-main li { width: 100%; }
    .nav-main li a {
        font-size: 0.92rem;
        padding: 10px 16px;
        display: inline-flex;
        align-items: center;
        justify-content: flex-start;
        white-space: nowrap;
        width: 100%;
    }

    .btn-nav-comprar .btn-nav-label { display: none; }

    .mobile-menu-checkbox:checked ~ .nav-panel {
        max-height: 900px;
        opacity: 1;
        visibility: visible;
        padding: 8px 0;
    }

    .hero-grid { grid-template-columns: 1fr; text-align: center; padding-top: 40px; }
    .hero h1 { font-size: 2.2rem; }
    .hero-btns {
        flex-direction: column;
        align-items: stretch;
        width: 100%;
        gap: 12px;
    }
    /* Mobile: Official Store takes the Where to Buy slot — never both */
    .hero-btns > .hero-cta-buy {
        display: none !important;
    }
    .hero-btns > .store-official-bar.hero-store-bar {
        display: flex;
        width: 100%;
        max-width: 100%;
        margin: 0;
        padding: 10px 12px;
        gap: 10px;
        box-sizing: border-box;
        transform: none;
        text-align: left;
    }
    .hero-btns > .store-official-bar.hero-store-bar:hover { transform: none; }
    .hero-btns > .store-official-bar.hero-store-bar .store-icon-circle {
        width: 52px;
        height: 52px;
    }
    .hero-btns > .store-official-bar.hero-store-bar .store-official-info strong { font-size: 0.95rem; }
    .hero-btns > .store-official-bar.hero-store-bar .store-official-price { font-size: 0.9rem; }
    .hero-btns > .store-official-bar.hero-store-bar .store-official-shipping { font-size: 0.7rem; }
    .hero-btns > .btn-primary:not(.hero-cta-buy) {
        width: 100%;
        max-width: 100%;
        min-width: 0;
        box-sizing: border-box;
    }
    .btn-primary { width: auto; min-width: unset; max-width: 220px; }
    .btn-primary, .btn-secondary { margin-left: auto; margin-right: auto; }
    #produtos .product-solution-grid { grid-template-columns: 1fr !important; gap: 24px !important; }
    #produtos .product-benefits-grid {
        display: grid !important;
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 16px !important;
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
    }
    #produtos .product-benefits-grid > .benefit-card {
        width: 100% !important;
        min-width: 0 !important;
    }
    #produtos > .container > div > .product-image-wrap { max-width: 100%; margin-top: 20px; justify-self: center; }
    #produtos > .container > div > .product-image-wrap img { max-width: 100%; }
    
    .flex-row { flex-direction: column; }
    .danger-box { transform: rotate(0deg); width: 100%; margin-top: 20px; }
    
    .section-title { font-size: 2.2rem; }
    .content-section { padding: 60px 0; }
    .card, .benefit-card { padding: 30px; }
    .contact-box { padding: 30px; }
    .stores-grid-3 {
        grid-template-columns: 1fr;
        gap: 14px;
    }
    .store-card {
        min-height: 200px !important;
        padding: 32px 20px !important;
    }
    .store-card h3 { font-size: 1.35rem !important; }
    .store-official-info strong { font-size: 0.98rem; }
    .store-official-shipping { font-size: 0.72rem; }
    .store-official-price { font-size: 0.94rem; }
    .store-pay-label { font-size: 0.48rem; }
    .store-official-payments i { font-size: 0.84rem; width: 0.95rem; height: 0.95rem; }
}
.faq-container{
max-width:900px;
margin:0 auto;
}

.faq-item{
background:#1a1a1a;
border:1px solid #333;
border-radius:12px;
margin-bottom:15px;
overflow:hidden;
}

.faq-item summary{
cursor:pointer;
padding:20px;
font-weight:700;
color:#5EC8D8;
list-style:none;
}

.faq-item summary::-webkit-details-marker{
display:none;
}

.faq-item p{
padding:0 20px 20px;
line-height:1.8;
}

.faq-media-embed,
.faq-instagram-embed {
    padding: 0 20px 20px;
    margin: 0 auto;
    max-width: 100%;
}
.faq-media-embed--youtube {
    max-width: 480px;
    aspect-ratio: 16 / 9;
}
.faq-media-embed--youtube iframe {
    width: 100%;
    height: 100%;
    border: 0;
    border-radius: 10px;
    display: block;
}
.faq-media-embed--instagram,
.faq-instagram-embed {
    width: fit-content;
    max-width: 420px;
    zoom: 0.72;
}
@supports not (zoom: 1) {
    .faq-media-embed--instagram,
    .faq-instagram-embed {
        zoom: unset;
        max-width: 380px;
    }
}
.faq-media-embed--instagram .instagram-media,
.faq-instagram-embed .instagram-media,
.faq-media-embed--instagram iframe,
.faq-instagram-embed iframe {
    margin: 0 auto !important;
    display: block;
    max-width: 100% !important;
}
.faq-media-embed--tiktok {
    width: min(320px, 100%);
    max-width: 320px;
    margin: 0 auto;
}
.faq-media-embed--tiktok .stf-tiktok-card,
a.stf-tiktok-card {
    width: 100%;
    min-height: min(420px, 58vh);
    border: 1px solid #2a2a2a;
    border-radius: 12px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 12px;
    cursor: pointer;
    color: #fff;
    text-decoration: none;
    font: inherit;
    padding: 24px 16px;
    text-align: center;
    background: linear-gradient(160deg, #1a1a1a 0%, #0d0d0d 55%, #141414 100%);
    box-sizing: border-box;
}
.faq-media-embed--tiktok .stf-tiktok-card:hover,
a.stf-tiktok-card:hover {
    background: linear-gradient(160deg, #222 0%, #111 55%, #1a1a1a 100%);
    border-color: #fe2c55;
}
.stf-tiktok-poster-play {
    width: 64px;
    height: 64px;
    border-radius: 50%;
    display: grid;
    place-items: center;
    background: #fe2c55;
    color: #fff;
    font-size: 1.35rem;
    padding-left: 4px;
}
.stf-tiktok-poster-label {
    font-size: 1rem;
    font-weight: 700;
    line-height: 1.3;
    color: #eee;
}
.stf-tiktok-poster-sub {
    font-size: 0.9rem;
    font-weight: 600;
    color: #25f4ee;
}
.stf-tiktok-fallback {
    display: none;
}
.faq-media-embed--tiktok .tiktok-embed {
    margin: 0 auto !important;
}

.btn-comprar-produto:hover{
    transform:translateY(-2px);
}

/* CHECKOUT — Loja Oficial */
.checkout-page header { min-height: 80px; }
.checkout-nav { margin-left: auto; }
.checkout-main { padding: 40px 0 80px; }
@media (max-width: 768px) {
    /* Mesmo respiro do menu das outras telas (header fixed + conteúdo) */
    .checkout-page .checkout-main { padding: 72px 0 80px; }
}
.checkout-layout {
    display: grid;
    grid-template-columns: 340px 1fr;
    gap: 32px;
    align-items: start;
}
.checkout-sidebar {
    position: sticky;
    top: 100px;
    display: flex;
    flex-direction: column;
    gap: 14px;
}
.checkout-cart-core {
    flex-shrink: 0;
}
.checkout-upsell-panel {
    flex: none;
    width: 100%;
    margin-bottom: 0;
}
.checkout-sidebar-locked .cart-add-more,
.checkout-sidebar-locked .checkout-upsell-panel { display: none !important; }
.checkout-self-test-note {
    margin: 10px 0 0;
    padding: 10px 12px;
    font-size: 0.82rem;
    line-height: 1.45;
    color: #e6c200;
    border-radius: 10px;
    border: 1px dashed rgba(94, 200, 216, 0.4);
    background: rgba(94, 200, 216, 0.06);
}
.summary-row.total.is-self-test strong { color: #e6c200; }
.self-test-pay-sidebar {
    flex: none;
    width: 100%;
    margin-top: 12px;
    padding: 14px;
    border-radius: 14px;
    border: 1px dashed rgba(94, 200, 216, 0.45);
    background: rgba(94, 200, 216, 0.06);
}
.btn-skip-test-pay {
    width: 100%;
    font-size: 0.92rem;
}
.self-test-pay-hint {
    margin: 8px 0 0;
    font-size: 0.78rem;
    line-height: 1.35;
    color: var(--text-muted, #aaa);
    text-align: center;
}
.checkout-sidebar-locked .cart-qty,
.checkout-sidebar-locked .cart-remove { display: none !important; }
.cart-line-locked .cart-line-qty-label {
  display: block;
  font-size: 0.85rem;
  color: var(--text-muted, #888);
  margin-top: 2px;
}
.cart-order-produto {
  margin: 0;
  font-size: 0.95rem;
  line-height: 1.45;
  color: var(--text, #e8e8e8);
}
.checkout-product-card {
    background: var(--card);
    border: 1px solid #222;
    border-radius: 24px;
    padding: 24px;
}
.checkout-product-card img {
    width: 100%;
    max-width: 200px;
    display: block;
    margin: 0 auto 16px;
    border-radius: 16px;
}
.checkout-product-card h2 { font-size: 1.35rem; margin-bottom: 8px; }
.checkout-product-desc { color: var(--gray); font-size: 0.9rem; margin-bottom: 16px; }
.checkout-kit-list { list-style: none; margin-bottom: 20px; }
.checkout-kit-list li {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 0.85rem;
    margin-bottom: 6px;
    color: #ccc;
}
.checkout-kit-list i { color: var(--primary); font-size: 0.75rem; }
.checkout-summary {
    border-top: 1px solid #333;
    padding-top: 16px;
    margin-top: 4px;
    margin-bottom: 12px;
}
.summary-row {
    display: flex;
    justify-content: space-between;
    margin-bottom: 8px;
    font-size: 0.95rem;
    color: #ccc;
}
.summary-row[hidden] {
    display: none !important;
}
.summary-row.total {
    font-size: 1.15rem;
    margin-top: 8px;
    padding-top: 8px;
    border-top: 1px solid #333;
}
.summary-row.total strong {
    color: var(--primary);
    font-size: 1.25rem;
}
.summary-row.summary-discount strong {
    color: #7dcea0;
}
.checkout-coupon {
    margin: 12px 0 4px;
    padding-top: 12px;
    border-top: 1px solid #333;
}
.checkout-coupon-label {
    display: block;
    font-size: 0.85rem;
    color: #bbb;
    margin-bottom: 8px;
}
.checkout-coupon-row {
    display: flex;
    gap: 8px;
}
.checkout-coupon-row input {
    flex: 1;
    min-width: 0;
    text-transform: uppercase;
    letter-spacing: 0.04em;
}
.checkout-coupon-row .btn-secondary {
    flex-shrink: 0;
    padding: 8px 12px;
    font-size: 0.85rem;
}
.checkout-coupon-msg {
    margin: 8px 0 0;
    font-size: 0.82rem;
    line-height: 1.35;
}
.checkout-coupon-msg.is-success { color: #7dcea0; }
.checkout-coupon-msg.is-error { color: #e57373; }
.admin-coupons .admin-coupon-row {
    border: 1px solid #333;
    border-radius: 8px;
    padding: 12px;
    margin-bottom: 10px;
    background: rgba(255,255,255,0.02);
}
.admin-coupon-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
    gap: 10px 12px;
    align-items: end;
}
.admin-coupon-grid .label-check {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 0;
}
.checkout-trust {
    display: flex;
    flex-direction: column;
    gap: 8px;
    font-size: 0.8rem;
    color: var(--gray);
}
.checkout-trust i { color: var(--primary); margin-right: 6px; }
.checkout-trust-badges span { display: flex; align-items: center; gap: 4px; }
.checkout-trust-note {
    font-size: 0.75rem;
    color: var(--gray);
    margin-top: 8px;
    line-height: 1.4;
}
.checkout-trust-note a { color: var(--primary); }
.intl-embedded-pay {
    margin-top: 20px;
    padding-top: 16px;
    border-top: 1px solid #2a2a2a;
}
.intl-pay-section { margin-top: 12px; }
.stripe-payment-element {
    padding: 12px 0;
    min-height: 120px;
}
.btn-stripe-confirm { width: 100%; margin-top: 12px; }
.checkout-pay-error {
    margin-top: 12px;
    padding: 12px 14px;
    border-radius: 10px;
    border: 1px solid rgba(229, 72, 77, 0.45);
    background: rgba(229, 72, 77, 0.12);
    color: #ffb4b4;
    font-size: 0.9rem;
    line-height: 1.45;
}
.paypal-redirect-link {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    margin-top: 12px;
    font-size: 0.85rem;
    color: #7ecbf0;
}
.paypal-wallet-buttons { display: flex; flex-direction: column; gap: 8px; margin-top: 8px; }
.payment-option-stripe .payment-card i.fa-credit-card { color: #635bff; }
.checkout-content {
    background: var(--card);
    border: 1px solid #222;
    border-radius: 24px;
    padding: 28px;
}
.checkout-steps-bar {
    display: flex;
    gap: 12px;
    margin-bottom: 28px;
    flex-wrap: wrap;
}
.step-indicator {
    flex: 1;
    min-width: 120px;
    font-size: 0.8rem;
    color: var(--gray);
    display: flex;
    align-items: center;
    gap: 8px;
}
.step-indicator span {
    width: 28px;
    height: 28px;
    border-radius: 50%;
    background: #222;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-weight: 800;
    flex-shrink: 0;
}
.step-indicator.active { color: var(--primary); font-weight: 700; }
.step-indicator.active span,
.step-indicator.done span { background: var(--primary); color: #000; }
.checkout-step { display: none; }
.checkout-step.active { display: block; }
.checkout-step h3 {
    font-size: 1.1rem;
    margin: 0 0 16px;
    color: var(--primary);
}
.checkout-step h3:not(:first-child) { margin-top: 28px; }
.checkout-step-head {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
    justify-content: space-between;
    gap: 12px 20px;
    margin-bottom: 16px;
}
.checkout-step-head h3 {
    margin: 0;
    color: var(--primary);
}
.checkout-account-status {
    flex: 0 1 auto;
    max-width: min(100%, 340px);
}
.checkout-personal-grid { margin-bottom: 8px; }
.checkout-watch-block {
    margin: 8px 0 16px;
    padding: 16px 18px;
    border: 2px solid var(--primary);
    border-radius: 12px;
    background: rgba(94, 200, 216, 0.1);
    box-shadow: 0 0 0 1px rgba(94, 200, 216, 0.12) inset;
}
.checkout-watch-block--error {
    border-color: var(--danger);
    background: rgba(255, 68, 68, 0.08);
    box-shadow: 0 0 0 1px rgba(255, 68, 68, 0.15) inset;
}
.checkout-watch-fields {
    display: grid;
    grid-template-columns: 1fr 1.4fr;
    gap: 12px;
}
@media (max-width: 640px) {
    .checkout-watch-fields { grid-template-columns: 1fr; }
}
.checkout-watch-label {
    display: flex;
    flex-direction: column;
    gap: 8px;
    font-size: 0.95rem;
    font-weight: 700;
    color: var(--primary);
}
.checkout-watch-block select {
    width: 100%;
    padding: 14px 12px;
    background: #111;
    border: 2px solid rgba(94, 200, 216, 0.45);
    color: #fff;
    border-radius: 8px;
    font-size: 1rem;
    font-weight: 500;
    font-family: inherit;
    min-height: 48px;
}
.checkout-watch-block select:focus {
    outline: 2px solid var(--primary);
    outline-offset: 2px;
}
.checkout-watch-block select.invalid {
    border-color: var(--danger);
}
.checkout-watch-hint {
    margin: 10px 0 0;
    font-size: 0.88rem;
    color: #bbb;
    line-height: 1.45;
}
.checkout-notes-block {
    margin-bottom: 16px;
}
.checkout-notes-block label {
    display: flex;
    flex-direction: column;
    gap: 8px;
    font-size: 0.85rem;
    font-weight: 600;
    color: #ccc;
}
.checkout-notes-block textarea {
    width: 100%;
    padding: 12px;
    background: #0a0a0a;
    border: 1px solid #333;
    color: #fff;
    border-radius: 8px;
    font-size: 0.95rem;
    font-family: inherit;
    min-height: 96px;
    resize: vertical;
}
.checkout-notes-block textarea.invalid {
    border-color: var(--danger);
}
.checkout-account-block {
    margin: 8px 0 20px;
    padding: 16px 18px;
    border: 1px solid #333;
    border-radius: 12px;
    background: rgba(255, 255, 255, 0.02);
}
.checkout-account-block .checkout-field {
    display: flex;
    flex-direction: column;
    gap: 8px;
    margin-top: 12px;
}
.checkout-account-block .account-check + .checkout-field {
    margin-top: 14px;
}
.checkout-field-label {
    font-size: 0.85rem;
    font-weight: 600;
    color: #ccc;
}
.checkout-account-block input[type="email"],
.checkout-account-block input[type="password"],
.checkout-account-block input[type="text"] {
    width: 100%;
    padding: 12px;
    background: #0a0a0a;
    border: 1px solid #333;
    color: #fff;
    border-radius: 8px;
    font-size: 0.95rem;
    font-weight: 400;
    font-family: inherit;
    min-height: 44px;
    box-sizing: border-box;
}
.checkout-account-block input::placeholder {
    color: #888;
    opacity: 1;
}
.checkout-account-block input:focus {
    outline: 2px solid rgba(94, 200, 216, 0.35);
    outline-offset: 1px;
    border-color: rgba(94, 200, 216, 0.55);
}
.checkout-password-wrap {
    position: relative;
    display: block;
}
.checkout-password-wrap input {
    padding-right: 44px;
}
.checkout-password-toggle {
    position: absolute;
    right: 4px;
    top: 50%;
    transform: translateY(-50%);
    width: 36px;
    height: 36px;
    padding: 0;
    border: none;
    border-radius: 6px;
    background: transparent;
    color: #aaa;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}
.checkout-password-toggle:hover,
.checkout-password-toggle:focus-visible {
    color: var(--primary);
    background: rgba(94, 200, 216, 0.08);
}
.checkout-account-title {
    margin: 0 0 12px;
    font-size: 0.95rem;
    font-weight: 700;
    color: #ddd;
}
.checkout-account-title i {
    color: var(--primary);
    margin-right: 8px;
}
.account-logged-compact {
    padding: 10px 14px;
    font-size: 0.88rem;
}
.account-logged-compact .checkout-hint {
    font-size: 0.8rem;
    margin: 4px 0 0;
}
.field-error {
    margin: 8px 0 0;
    color: var(--danger);
    font-size: 0.88rem;
    font-weight: 600;
    line-height: 1.4;
}
.form-grid > .full { grid-column: 1 / -1; }
.checkout-hint { color: var(--gray); font-size: 0.9rem; margin-bottom: 16px; }
.form-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 14px;
}
.form-grid label {
    display: flex;
    flex-direction: column;
    gap: 6px;
    font-size: 0.85rem;
    font-weight: 600;
    color: #ccc;
}
/* Ghost field fix: author display:flex was overriding [hidden] */
.form-grid label[hidden],
#cpf-label[hidden] {
    display: none !important;
}
.checkout-phone-label .checkout-phone-field {
    display: flex;
    align-items: stretch;
    width: 100%;
    gap: 0;
}
.checkout-phone-dial {
    flex: 0 0 auto;
    display: inline-flex;
    align-items: center;
    gap: 4px;
    padding: 0 10px;
    background: #1a1a1a;
    border: 1px solid #333;
    border-right: 0;
    border-radius: 8px 0 0 8px;
    color: #eee;
    font-size: 0.9rem;
    font-weight: 600;
    white-space: nowrap;
    user-select: none;
}
.checkout-phone-field.has-dial input {
    border-radius: 0 8px 8px 0;
}
.checkout-phone-field input {
    flex: 1 1 auto;
    min-width: 0;
}
.form-grid label.checkout-infield {
    gap: 0;
    font-size: 0;
}
.form-grid input::placeholder,
.form-grid textarea::placeholder {
    color: #888;
    opacity: 1;
}
.form-grid select option[value=""] {
    color: #888;
}
.form-grid label.full { grid-column: 1 / -1; }
.form-grid label.span-2 { grid-column: span 2; }

.stf-address-suggest-wrap { position: relative; overflow: visible; }
#address-intl,
#address-intl .form-grid,
#address-intl label.checkout-infield {
    overflow: visible;
}
.stf-address-suggest {
    position: absolute;
    z-index: 40;
    left: 0;
    right: 0;
    top: calc(100% + 4px);
    margin: 0;
    padding: 4px 0;
    list-style: none;
    background: #141414;
    border: 1px solid #444;
    border-radius: 8px;
    box-shadow: 0 8px 24px rgba(0,0,0,.45);
    max-height: 220px;
    overflow-y: auto;
}
.stf-address-suggest-item {
    padding: 10px 12px;
    font-size: 0.88rem;
    font-weight: 400;
    color: #ddd;
    cursor: pointer;
}
.stf-address-suggest-item:hover,
.stf-address-suggest-item.is-active {
    background: #252525;
    color: #fff;
}

.form-grid input:not([type="checkbox"]):not([type="radio"]),
.form-grid select,
.form-grid textarea {
    padding: 12px;
    background: #0a0a0a;
    border: 1px solid #333;
    color: #fff;
    border-radius: 8px;
    font-size: 0.95rem;
    font-weight: 400;
    font-family: inherit;
    resize: vertical;
    min-height: 44px;
}
.form-grid input.invalid,
.form-grid select.invalid { border-color: var(--danger); }
.form-grid input.loading { opacity: 0.6; }
.payment-options { display: flex; flex-direction: column; gap: 12px; margin-bottom: 20px; }
#payment-options-br[hidden],
#payment-options-intl[hidden] { display: none !important; }
#payment-notice-br[hidden],
#payment-notice-intl[hidden] { display: none !important; }
.payment-option { cursor: pointer; }
.payment-option.disabled { opacity: 0.5; cursor: not-allowed; }
.payment-option input { position: absolute; opacity: 0; }
.payment-card {
    display: flex;
    align-items: center;
    gap: 16px;
    padding: 18px;
    border: 2px solid #333;
    border-radius: 14px;
    transition: 0.2s;
}
.payment-option input:checked + .payment-card {
    border-color: var(--primary);
    background: rgba(94, 200, 216, 0.08);
}
.payment-card i { font-size: 1.8rem; color: var(--primary); }
.payment-card strong { display: block; margin-bottom: 4px; }
.payment-card small { color: var(--gray); font-size: 0.8rem; }
.checkout-intl-notice {
    display: flex;
    gap: 12px;
    align-items: flex-start;
    background: rgba(94, 200, 216, 0.08);
    border: 1px solid rgba(94, 200, 216, 0.35);
    border-radius: 12px;
    padding: 14px 16px;
    margin: 16px 0 4px;
    font-size: 0.88rem;
    color: #ddd;
    line-height: 1.55;
}
.checkout-intl-notice > i {
    color: var(--primary);
    font-size: 1.25rem;
    margin-top: 2px;
}
.checkout-intl-notice strong {
    display: block;
    color: var(--primary);
    margin-bottom: 6px;
    font-size: 0.92rem;
}
.checkout-intl-notice p { margin: 0; }
.checkout-intl-notice #intl-notice-body p + p { margin-top: 10px; }
.checkout-intl-notice #intl-notice-body p.intl-notice-foot {
    margin-top: 12px;
    padding-top: 12px;
    border-top: 1px solid rgba(94, 200, 216, 0.2);
    color: #ccc;
    font-size: 0.85rem;
}
.checkout-intl-document {
    margin-top: 10px !important;
    padding-top: 10px;
    border-top: 1px solid rgba(94, 200, 216, 0.2);
    color: #ccc;
}

.checkout-notice {
    background: #1a1a1a;
    border-left: 4px solid var(--primary);
    padding: 14px 16px;
    border-radius: 8px;
    font-size: 0.9rem;
    color: #ccc;
    display: flex;
    gap: 10px;
    align-items: flex-start;
}
.checkout-notice i { color: var(--primary); margin-top: 2px; }
.checkout-notice a { color: #7ecbf0; text-decoration: underline; text-underline-offset: 2px; }

/* EN / international trust — single horizontal line beside hero badge (not a top bar) */
.hero-trust-row {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px 14px;
    margin: 0;
    max-width: 100%;
    min-width: 0;
}
.hero-trust-row .badge {
    margin: 0;
    flex: 0 1 auto;
    max-width: 100%;
    white-space: normal;
    text-align: center;
    line-height: 1.25;
}
.site-trust-inline-main {
    display: inline-flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    gap: 6px 10px;
    margin: 0;
    font-size: 0.88rem;
    font-weight: 600;
    line-height: 1.2;
    color: #d8e4ef;
    max-width: 100%;
    min-width: 0;
}
.site-trust-inline-main .site-trust-bar-item {
    white-space: nowrap;
    flex: 0 1 auto;
}
.site-trust-inline-main .site-trust-bar-contact {
    white-space: normal;
    overflow-wrap: anywhere;
    word-break: break-word;
}
/* Keep Discover / Where to Buy in the first viewport with the trust row */
.hero-text:has(.hero-trust-row) {
    min-width: 0;
    max-width: 100%;
}
.hero-text:has(.hero-trust-row) > h1 {
    margin: 14px 0 12px;
    font-size: clamp(2.15rem, 3.6vw, 3.15rem);
}
.hero-text:has(.hero-trust-row) > p {
    margin-bottom: 22px;
}
.site-trust-bar {
    background: linear-gradient(180deg, #121820 0%, #0e1218 100%);
    border-bottom: 1px solid #243040;
    padding: 8px 0;
    font-size: 0.8rem;
    color: #a8b8c8;
}
.site-trust-bar-compact {
    margin: 0;
    font-weight: 600;
    color: #d8e4ef;
    line-height: 1.4;
}
.site-trust-bar-contact { font-weight: 500; color: #a8b8c8; }
.site-trust-bar-contact a { color: #7ecbf0; text-decoration: none; font-weight: 600; }
.site-trust-bar-contact a:hover { text-decoration: underline; }
.site-trust-bar-inner { max-width: 1100px; margin: 0 auto; padding: 0 16px; }
.site-trust-bar-main {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px 10px;
    font-weight: 600;
    color: #d8e4ef;
}
.site-trust-bar-item {
    display: inline-flex;
    align-items: center;
    gap: 6px;
}
.site-trust-bar-item i { color: #6eb5d9; font-size: 0.95em; }
.site-trust-bar-item .fa-paypal { color: #7ecbf0; }
.site-trust-bar-sep { color: #445566; user-select: none; }
.site-trust-bar-sub {
    margin: 8px 0 0;
    font-size: 0.78rem;
    line-height: 1.45;
    color: #8fa3b8;
    font-weight: 400;
}
.site-trust-bar-sub a {
    color: #7ecbf0;
    text-decoration: underline;
    text-underline-offset: 2px;
}
.site-trust-bar-sub a:hover { color: #a8ddf5; }

.intl-trust-panel {
    background: #121820;
    border: 1px solid #243040;
    border-radius: 12px;
    padding: 16px 18px;
    margin-bottom: 20px;
    font-size: 0.9rem;
    color: #b8c8d8;
    line-height: 1.55;
}
.intl-trust-panel h3 {
    margin: 0 0 10px;
    font-size: 1rem;
    color: #e8eef4;
    display: flex;
    align-items: center;
    gap: 8px;
}
.intl-trust-panel h3 i { color: #6eb5d9; }
.intl-trust-panel ul {
    margin: 0 0 12px;
    padding-left: 1.15rem;
}
.intl-trust-panel li { margin-bottom: 6px; }
.intl-trust-panel-contact {
    margin: 0;
    padding-top: 10px;
    border-top: 1px solid #243040;
    font-size: 0.85rem;
}
.intl-trust-panel-contact a { color: #7ecbf0; }

@media (max-width: 720px) {
    .site-trust-bar-sep { display: none; }
    .site-trust-bar-main { flex-direction: column; align-items: flex-start; gap: 6px; }
    .hero-trust-row {
        justify-content: center;
        flex-direction: column;
        align-items: center;
        gap: 6px;
        margin-bottom: 2px;
        width: 100%;
    }
    .site-trust-inline-main {
        justify-content: center;
        font-size: 0.72rem;
        gap: 4px 8px;
        width: 100%;
        max-width: 100%;
    }
    /* Long email was the main width bomber on phones */
    .site-trust-inline-main .site-trust-bar-contact a {
        font-size: 0.7rem;
    }
    .hero-text:has(.hero-trust-row) > h1 {
        margin: 10px 0 10px;
        font-size: clamp(1.85rem, 8vw, 2.35rem);
        overflow-wrap: anywhere;
    }
    .hero-text:has(.hero-trust-row) > p {
        margin-bottom: 16px;
        overflow-wrap: anywhere;
    }
    .home-page .hero-btns {
        width: 100%;
        max-width: 100%;
    }
    .home-page .hero-btns > .btn-primary:not(.hero-cta-buy) {
        max-width: 100%;
        width: 100%;
        min-width: 0;
        box-sizing: border-box;
        margin-left: 0;
        margin-right: 0;
    }
    .home-page .hero-btns > .store-official-bar.hero-store-bar {
        width: 100%;
        max-width: 100%;
        margin-left: 0;
        margin-right: 0;
    }
}

.checkout-actions {
    display: flex;
    gap: 12px;
    margin-top: 28px;
    flex-wrap: wrap;
    align-items: center;
}
.checkout-actions.checkout-actions--sticky {
    position: sticky;
    bottom: 0;
    z-index: 40;
    margin-top: 20px;
    padding: 14px 12px calc(14px + env(safe-area-inset-bottom, 0px));
    background: linear-gradient(180deg, rgba(10, 10, 10, 0.72), #111 35%);
    border-top: 1px solid rgba(94, 200, 216, 0.28);
    box-shadow: 0 -10px 28px rgba(0, 0, 0, 0.35);
}
.checkout-actions.checkout-actions--sticky .btn-checkout-next {
    min-width: min(100%, 280px);
    box-shadow: 0 0 0 1px rgba(94, 200, 216, 0.35);
}
.btn-checkout-next,
.btn-checkout-pay,
.btn-checkout-back {
    gap: 14px;
    min-width: 200px;
    padding: 16px 28px;
    font-size: 1rem;
    letter-spacing: 0.01em;
}
.btn-checkout-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 30px;
    height: 30px;
    border-radius: 50%;
    flex-shrink: 0;
    font-size: 0.85rem;
}
.btn-checkout-next .btn-checkout-icon,
.btn-checkout-pay .btn-checkout-icon {
    background: rgba(0, 0, 0, 0.14);
    margin-left: 2px;
}
.btn-checkout-back .btn-checkout-icon {
    background: rgba(255, 255, 255, 0.08);
    margin-right: 2px;
}
.btn-checkout-next,
.btn-checkout-pay,
.btn-checkout-back {
    justify-content: center;
}
.btn-secondary {
    background: transparent;
    color: #fff !important;
    border: 1px solid #444;
    padding: 14px 22px;
    border-radius: 12px;
    font-weight: 700;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    gap: 8px;
}
.pix-panel { text-align: center; padding: 10px 0; }
.pix-panel.mode-card .checkout-pix-ui,
.pix-panel.mode-paypal .checkout-pix-ui { display: none !important; }
.pix-panel.mode-pix .checkout-card-ui,
.pix-panel.mode-pix .checkout-paypal-ui,
.pix-panel.mode-card .checkout-paypal-ui,
.pix-panel.mode-paypal .checkout-card-ui { display: none !important; }
.payment-card-paypal i { color: #0070ba; font-size: 1.6rem; }
.checkout-paypal-ui {
    text-align: center;
    padding: 8px 0 4px;
}
.paypal-icon i { color: #0070ba; font-size: 2.4rem; }
.paypal-pay-btn { background: #0070ba !important; }
.checkout-card-ui {
    margin: 20px auto;
    max-width: 420px;
    padding: 24px 20px;
    background: #111;
    border: 1px solid #333;
    border-radius: 16px;
}
.card-pay-icon {
    font-size: 3rem;
    color: var(--primary);
    margin-bottom: 12px;
}
.card-pay-text {
    color: #ccc;
    margin: 0 0 20px;
    font-size: 0.95rem;
}
.card-pay-btn {
    display: inline-flex !important;
    align-items: center;
    gap: 8px;
    margin: 0 auto;
}
.pix-success-icon { font-size: 3rem; color: #25d366; margin-bottom: 12px; }
.pix-amount-label { font-size: 1.2rem; margin: 16px 0; }
.pix-qr-wrap {
    display: inline-block;
    padding: 16px;
    background: #fff;
    border-radius: 16px;
    margin: 16px auto;
}
.pix-copy-area {
    display: flex;
    gap: 10px;
    max-width: 480px;
    margin: 16px auto;
    flex-wrap: wrap;
    justify-content: center;
}
.pix-copy-area input {
    flex: 1;
    min-width: 200px;
    padding: 12px;
    background: #0a0a0a;
    border: 1px solid #333;
    color: #fff;
    border-radius: 8px;
    font-size: 0.75rem;
}
.status-banner {
    padding: 14px 18px;
    border-radius: 10px;
    margin-bottom: 20px;
    font-weight: 600;
}
.status-banner.success { background: rgba(37, 211, 102, 0.15); color: #25d366; border: 1px solid #25d366; }
.status-banner.warning { background: rgba(94, 200, 216, 0.15); color: var(--primary); border: 1px solid var(--primary); }
.status-banner.error { background: rgba(255, 68, 68, 0.15); color: var(--danger); border: 1px solid var(--danger); }

@media (max-width: 900px) {
    .checkout-layout { grid-template-columns: 1fr; }
    .checkout-sidebar {
        position: static;
    }
    .form-grid { grid-template-columns: 1fr 1fr; }
    .form-grid label.span-2 { grid-column: 1 / -1; }
}
@media (max-width: 600px) {
    .form-grid { grid-template-columns: 1fr; }
    .checkout-content { padding: 20px; }
    .checkout-actions .btn-primary,
    .checkout-actions .btn-secondary { width: 100%; justify-content: center; }
}

/* ADMIN PANEL */
.admin-page header,
.admin-header {
    width: 100%;
    min-height: 72px;
}
.admin-nav {
    width: 100%;
    justify-content: space-between;
}
.admin-logo-link {
    width: 52px;
    height: 52px;
}
.admin-toolbar {
    margin-left: auto;
    flex-shrink: 0;
}
.admin-toolbar a {
    font-size: 0.82rem;
    font-weight: 700;
    padding: 8px 12px;
    border-radius: 8px;
    border: 1px solid #333;
    background: #111;
}
.admin-toolbar a:hover {
    border-color: var(--primary);
    color: var(--primary);
}
.admin-main { padding: 40px 0 80px; }
body.admin-page.admin-login-only .admin-main {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: calc(100dvh - 72px);
    padding: 24px 0 40px;
}
body.admin-page.admin-login-only .admin-container {
    width: 100%;
    max-width: 420px;
}
body.admin-page.pedidos-login-only .admin-main {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: calc(100dvh - 72px);
    padding: 24px 0 40px;
}
body.admin-page.pedidos-login-only .pedidos-container {
    width: 100%;
    max-width: 420px;
}
body.admin-page.admin-login-only #admin-login,
body.admin-page.pedidos-login-only #pedidos-login {
    width: 100%;
}
.admin-card-login {
    padding: 24px;
}
.admin-login-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 4px;
}
.admin-login-head h1 {
    margin-bottom: 0;
    font-size: 1.35rem;
    flex: 1;
    min-width: 0;
}
.admin-intro-compact {
    margin-bottom: 16px;
    font-size: 0.9rem;
}
.admin-form-compact {
    gap: 14px;
}
.admin-form-compact label {
    font-size: 0.82rem;
}
.admin-help-btn {
    flex-shrink: 0;
    width: 36px;
    height: 36px;
    border-radius: 50%;
    border: 1px solid #333;
    background: #111;
    color: var(--gray);
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 1.1rem;
    transition: color 0.2s, border-color 0.2s;
}
.admin-help-btn:hover,
.admin-help-btn[aria-expanded="true"] {
    color: var(--primary);
    border-color: var(--primary);
}
.admin-help-panel {
    margin-bottom: 16px;
    padding: 12px 14px;
    border-radius: 12px;
    border: 1px solid #2a2a2a;
    background: #0d0d0d;
    font-size: 0.85rem;
    color: #bbb;
    line-height: 1.5;
}
.admin-help-panel p {
    margin: 0 0 8px;
}
.admin-help-panel p:last-child {
    margin-bottom: 0;
}
.admin-help-lead {
    color: #ddd;
    font-weight: 600;
    margin-bottom: 10px !important;
}
.admin-help-list {
    margin: 0 0 12px;
    padding-left: 1.15rem;
    display: flex;
    flex-direction: column;
    gap: 6px;
}
.admin-help-list li {
    line-height: 1.45;
}
.admin-help-foot {
    margin-top: 10px !important;
    padding-top: 10px;
    border-top: 1px solid #222;
    font-size: 0.82rem;
    color: #999;
}
.admin-help-panel code {
    font-size: 0.8em;
}
.admin-container { max-width: 1160px; }
.admin-card {
    background: var(--card);
    border: 1px solid #222;
    border-radius: 24px;
    padding: 32px;
}
.admin-card h1 {
    font-size: 1.6rem;
    margin-bottom: 8px;
    display: flex;
    align-items: center;
    gap: 10px;
}
.admin-card h1 i { color: var(--primary); }
.admin-intro, .admin-meta { color: var(--gray); margin-bottom: 24px; font-size: 0.95rem; }
.forum-related-card {
    margin-bottom: 14px;
    padding: 16px 18px;
}
.forum-related-title {
    margin: 0 0 6px;
    font-size: 1rem;
    display: flex;
    align-items: center;
    gap: 8px;
}
.forum-related-help {
    margin: 0 0 12px !important;
}
.forum-related-form {
    display: flex;
    gap: 10px;
    align-items: flex-end;
    width: 100%;
}
.forum-related-field {
    display: flex;
    flex-direction: column;
    gap: 6px;
    flex: 1 1 auto;
    min-width: 0;
    font-size: 0.85rem;
    font-weight: 600;
    color: #ccc;
}
.forum-related-field input {
    width: 100%;
    box-sizing: border-box;
    padding: 12px;
    background: #0a0a0a;
    border: 1px solid #333;
    border-radius: 10px;
    color: #fff;
    font: inherit;
    font-weight: 400;
}
.forum-related-btn {
    flex: 0 0 auto;
    min-width: 0 !important;
    white-space: nowrap;
}
.forum-related-results {
    margin-top: 10px;
}
@media (max-width: 640px) {
    .forum-related-form {
        flex-direction: column;
        align-items: stretch;
    }
    .forum-related-btn {
        width: 100%;
    }
}
.forum-admin-dashboard {
    display: flex;
    flex-direction: column;
    gap: 14px;
}
.forum-admin-summary {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));
    gap: 10px;
}
.forum-admin-summary-card {
    padding: 12px 14px;
    border-radius: 14px;
    background: rgba(255,255,255,0.045);
    border: 1px solid rgba(255,255,255,0.08);
    display: flex;
    flex-direction: column;
    gap: 4px;
}
.forum-admin-summary-label {
    font-size: 0.72rem;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: var(--gray);
}
.forum-admin-summary-card strong {
    color: #fff;
    font-size: 1.1rem;
}
.forum-admin-thread-list {
    display: flex;
    flex-direction: column;
    gap: 12px;
}
.forum-admin-thread-card {
    padding: 0;
    border-radius: 16px;
    background: linear-gradient(180deg, rgba(255,255,255,0.04), rgba(255,255,255,0.02));
    border-color: rgba(255,255,255,0.08);
    overflow: hidden;
}
.forum-admin-thread-card summary {
    list-style: none;
    cursor: pointer;
    padding: 16px 18px;
}
.forum-admin-thread-card summary::-webkit-details-marker {
    display: none;
}
.forum-admin-thread-summary-head {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 12px;
}
.forum-admin-thread-title-row {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
}
.forum-admin-thread-card h3 {
    margin: 0;
    font-size: 1rem;
    color: #fff;
}
.forum-admin-thread-chip {
    display: inline-flex;
    align-items: center;
    padding: 4px 8px;
    border-radius: 999px;
    font-size: 0.72rem;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    background: rgba(255,255,255,0.08);
    color: #e8e8e8;
}
.forum-admin-thread-chip--pending {
    background: rgba(255, 204, 0, 0.18);
    color: #ffd66b;
}
.forum-admin-thread-chip--approved {
    background: rgba(45, 202, 115, 0.16);
    color: #7fe3a4;
}
.forum-admin-thread-chip--rejected {
    background: rgba(255, 94, 94, 0.16);
    color: #ff9f9f;
}
.forum-admin-thread-chip--warning {
    background: rgba(255, 153, 0, 0.16);
    color: #ffc36d;
}
.forum-admin-thread-meta {
    margin: 4px 0 0;
    color: var(--gray);
    font-size: 0.84rem;
}
.forum-admin-thread-stats {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    font-size: 0.8rem;
    color: var(--gray);
    justify-content: flex-end;
}
.forum-admin-thread-body {
    padding: 0 18px 16px;
}
.forum-admin-excerpt {
    margin: 0 0 10px;
    color: #e8e8e8;
    line-height: 1.5;
    white-space: pre-wrap;
}
.forum-admin-inline-edit {
    display: flex;
    flex-direction: column;
    gap: 10px;
    margin: 0 0 12px;
    padding: 12px;
    border: 1px solid rgba(94, 200, 216, 0.35);
    border-radius: 12px;
    background: rgba(94, 200, 216, 0.06);
}
.forum-admin-inline-edit[hidden] {
    display: none !important;
}
.forum-admin-inline-edit label {
    display: flex;
    flex-direction: column;
    gap: 6px;
    font-size: 0.85rem;
    color: #ddd;
}
.forum-admin-inline-edit input,
.forum-admin-inline-edit textarea {
    width: 100%;
    box-sizing: border-box;
    padding: 10px 12px;
    border-radius: 10px;
    border: 1px solid #444;
    background: #111;
    color: #fff;
    font: inherit;
    line-height: 1.45;
    resize: vertical;
}
.forum-admin-inline-edit textarea {
    min-height: 8rem;
}
.forum-admin-edit-replies {
    display: flex;
    flex-direction: column;
    gap: 10px;
    margin-top: 4px;
}
.forum-admin-edit-reply {
    padding: 10px;
    border: 1px solid rgba(255,255,255,0.1);
    border-radius: 10px;
    background: rgba(0,0,0,0.25);
}
.forum-admin-edit-reply-meta {
    margin-bottom: 6px;
    font-size: 0.82rem;
    color: #bbb;
}
.forum-admin-edit-reply textarea {
    min-height: 5.5rem;
}
.forum-admin-edit-actions-sticky {
    position: sticky;
    bottom: 8px;
    z-index: 2;
    padding-top: 4px;
    background: linear-gradient(to top, rgba(18,18,18,.96) 70%, rgba(18,18,18,0));
}
.forum-admin-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin: 8px 0 12px;
}
.forum-admin-actions--inline {
    margin-top: 10px;
    margin-bottom: 0;
}
.forum-admin-replies {
    display: flex;
    flex-direction: column;
    gap: 8px;
    margin-top: 4px;
}
.forum-admin-replies-title {
    font-size: 0.75rem;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: #fff;
}
.forum-admin-empty {
    color: var(--gray);
    font-size: 0.9rem;
    margin-top: 6px;
}
.forum-admin-reply {
    margin: 0;
    padding: 10px 12px;
    border: 1px solid rgba(255,255,255,0.08);
    border-radius: 12px;
    background: rgba(255,255,255,0.03);
}
.forum-admin-reply-meta {
    font-size: 0.82rem;
    color: var(--gray);
    margin-bottom: 4px;
}
.forum-admin-reply-body {
    color: #f2f2f2;
    line-height: 1.5;
    white-space: pre-wrap;
}
.forum-admin-actions .btn-primary,
.forum-admin-actions .btn-secondary,
.forum-admin-actions .btn-danger-outline {
    padding: 8px 11px;
    font-size: 0.84rem;
    min-height: auto;
}
.admin-form { display: flex; flex-direction: column; gap: 24px; }
.admin-form .form-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}
.admin-form label {
    display: flex;
    flex-direction: column;
    gap: 6px;
    font-size: 0.85rem;
    font-weight: 600;
    color: #ccc;
    min-width: 0;
}
.admin-form .form-grid label {
    line-height: 1.3;
}
.admin-form input:not([type="checkbox"]):not([type="radio"]),
.admin-form textarea,
.admin-form select {
    width: 100%;
    min-width: 0;
    box-sizing: border-box;
    padding: 12px;
    background: #0a0a0a;
    border: 1px solid #333;
    color: #fff;
    border-radius: 8px;
    font-size: 0.95rem;
    font-weight: 400;
}
.admin-form small { color: var(--gray); font-weight: 400; font-size: 0.78rem; }
.admin-form fieldset {
    border: 1px solid #2a2a2a;
    border-radius: 16px;
    padding: 20px;
    margin: 0;
}
.admin-form legend {
    color: var(--primary);
    font-weight: 800;
    padding: 0 8px;
    display: flex;
    align-items: center;
    gap: 8px;
}
.admin-form legend.admin-legend-row {
    width: calc(100% + 16px);
    margin-left: -8px;
    padding-right: 0;
    justify-content: space-between;
    gap: 12px;
    box-sizing: border-box;
}
.admin-legend-row > span {
    display: flex;
    align-items: center;
    gap: 8px;
    min-width: 0;
}
.admin-help-btn-inline {
    width: 30px;
    height: 30px;
    font-size: 1rem;
}
.admin-help-panel--fieldset {
    margin-top: -4px;
    margin-bottom: 16px;
}
.admin-form fieldset:has(.admin-help-panel--fieldset) > .form-grid:first-of-type,
.admin-form fieldset:has(.admin-help-panel--fieldset) > .admin-form-actions:first-of-type,
.admin-form fieldset:has(.admin-help-panel--fieldset) > nav:first-of-type,
.admin-form fieldset:has(.admin-help-panel--fieldset) > .admin-product-subtabs:first-of-type,
.admin-form fieldset:has(.admin-help-panel--fieldset) > .admin-ship-methods-wrap:first-of-type,
.admin-form fieldset:has(.admin-help-panel--fieldset) > .admin-intl-zones-wrap:first-of-type,
.admin-form fieldset:has(.admin-help-panel--fieldset) > .admin-email-tests:first-of-type,
.admin-form fieldset:has(.admin-help-panel--fieldset) > .admin-api-status-wrap:first-of-type,
.admin-form fieldset:has(.admin-help-panel--fieldset) > .admin-clicks-filters:first-of-type,
.admin-form fieldset:has(.admin-help-panel--fieldset) > .admin-clicks-toolbar:first-of-type,
.admin-form fieldset:has(.admin-help-panel--fieldset) > .clicks-tree-root:first-of-type,
.admin-form fieldset:has(.admin-help-panel--fieldset) > .admin-table-wrap:first-of-type {
    margin-top: 0;
}
.admin-form-actions {
    display: flex;
    gap: 12px;
    flex-wrap: wrap;
    align-items: center;
}
.admin-form-actions .btn-primary,
.admin-form-actions .btn-secondary,
.admin-form-actions a.btn-primary {
    min-width: unset;
    margin: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    height: 44px;
    padding: 0 18px;
    box-sizing: border-box;
    line-height: 1;
    white-space: nowrap;
}
.admin-form-actions .btn-primary,
.admin-form-actions a.btn-primary {
    border: 2px solid transparent;
}
.admin-form-actions .btn-secondary {
    padding: 0 17px;
}
.admin-email-tests {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    align-items: center;
}
.admin-email-tests small {
    flex: 1 1 100%;
    margin-top: 4px;
}
.admin-status {
    margin-top: 16px;
    padding: 12px 16px;
    border-radius: 8px;
    font-size: 0.9rem;
}
.admin-form .form-status,
.admin-form-actions .form-status,
.form-status {
    margin-top: 10px;
    margin-bottom: 0;
    flex: 1 1 100%;
    width: 100%;
}
.admin-form-actions-sticky .form-status {
    margin-top: 0;
}
.admin-status.success { background: rgba(37, 211, 102, 0.12); color: #25d366; border: 1px solid #25d366; }
.admin-status.warning { background: rgba(94, 200, 216, 0.12); color: var(--primary); border: 1px solid var(--primary); }
.admin-status.error { background: rgba(255, 68, 68, 0.12); color: var(--danger); border: 1px solid var(--danger); }
.admin-tabs {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin: 0 0 24px;
    padding-bottom: 4px;
    border-bottom: 1px solid #2a2a2a;
}
.admin-tab {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 10px 16px;
    border: 1px solid #333;
    border-radius: 10px;
    background: #141414;
    color: #bbb;
    font-weight: 700;
    font-size: 0.88rem;
    cursor: pointer;
    transition: 0.2s;
    white-space: nowrap;
}
.admin-tab i {
    color: var(--gray);
    font-size: 0.9rem;
    transition: 0.2s;
}
.admin-tab:hover {
    border-color: #444;
    color: #fff;
}
.admin-tab.active {
    background: rgba(94, 200, 216, 0.1);
    border-color: var(--primary);
    color: var(--primary);
}
.admin-tab.active i { color: var(--primary); }
.admin-tab-panel { display: flex; flex-direction: column; gap: 24px; }
.admin-tab-panel[hidden] { display: none !important; }
.admin-clicks-stats {
    margin: 0;
    padding: 0;
    border: none;
    background: transparent;
    display: flex;
    flex-direction: column;
    gap: 10px;
}
.clicks-kv-flag {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    padding: 10px 12px;
    border-radius: 10px;
    border: 1px solid #2a2a2a;
    font-size: 0.88rem;
    line-height: 1.35;
    color: #ddd;
}
.clicks-kv-flag i {
    margin-top: 2px;
    flex-shrink: 0;
}
.clicks-kv--ok {
    background: rgba(46, 160, 67, 0.08);
    border-color: rgba(46, 160, 67, 0.35);
}
.clicks-kv--ok i { color: #3dd68c; }
.clicks-kv--warn {
    background: rgba(94, 200, 216, 0.1);
    border-color: rgba(94, 200, 216, 0.45);
}
.clicks-kv--warn i { color: var(--primary); }
.clicks-kv--full {
    background: rgba(220, 53, 69, 0.12);
    border-color: rgba(220, 53, 69, 0.5);
}
.clicks-kv--full i { color: #ff6b7a; }
.clicks-kv-flag--secondary {
    opacity: 0.92;
    font-size: 0.84rem;
}
.clicks-kv-note {
    margin: 0;
    padding: 0 2px;
    font-size: 0.78rem;
    line-height: 1.4;
    color: #999;
}
.clicks-kv-note strong { color: #ccc; }
.clicks-stats-details {
    border: 1px solid #2a2a2a;
    border-radius: 10px;
    background: #101010;
    overflow: hidden;
}
.clicks-stats-summary {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 12px 14px;
    cursor: pointer;
    font-weight: 700;
    color: #ddd;
    list-style: none;
    user-select: none;
}
.clicks-stats-summary::-webkit-details-marker { display: none; }
.clicks-stats-details[open] > .clicks-stats-summary {
    border-bottom: 1px solid #252525;
    background: #141414;
}
.clicks-stats-details[open] .clicks-stats-chevron { transform: rotate(90deg); }
.clicks-stats-chevron {
    color: var(--primary);
    font-size: 0.75rem;
    transition: transform 0.15s ease;
    flex-shrink: 0;
}
.clicks-stats-dl {
    margin: 0;
    padding: 12px 14px 14px;
    display: flex;
    flex-direction: column;
    gap: 10px;
}
.clicks-stats-row {
    display: grid;
    grid-template-columns: minmax(120px, 34%) 1fr;
    gap: 10px 16px;
    align-items: start;
    font-size: 0.9rem;
    line-height: 1.45;
}
.clicks-stats-row dt {
    margin: 0;
    color: #888;
    font-weight: 600;
}
.clicks-stats-row dd {
    margin: 0;
    color: #ddd;
}
.clicks-stats-row--net {
    margin-top: 4px;
    padding: 8px 10px;
    border-radius: 8px;
    background: rgba(129, 199, 132, 0.08);
    border: 1px solid rgba(129, 199, 132, 0.28);
}
.clicks-stats-row--net dt {
    color: #a5d6a7;
    font-weight: 700;
}
.clicks-stats-row--net dd {
    color: #81c784;
    font-size: 1.15rem;
    font-weight: 800;
    font-variant-numeric: tabular-nums;
}
.clicks-stats-row-top dd { min-width: 0; }
.clicks-stats-top {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 6px;
}
.clicks-stats-top li {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 2px;
    padding: 8px 10px;
    border-radius: 6px;
    background: #0a0a0a;
    border: 1px solid #222;
    font-size: 0.88rem;
}
.clicks-stats-top li span { color: #ccc; min-width: 0; line-height: 1.35; }
.clicks-stats-top li strong {
    color: var(--primary);
    font-variant-numeric: tabular-nums;
    font-size: 0.95rem;
    line-height: 1.2;
}
.clicks-stats-empty {
    margin: 0;
    color: #777;
}
.admin-clicks-filters {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    align-items: center;
    width: 100%;
    margin-bottom: 10px;
}
.admin-clicks-filters .admin-clicks-search {
    flex: 1 1 220px;
    min-width: 0;
    margin: 0;
}
.admin-clicks-filters #clicks-filter-destino {
    flex: 0 1 200px;
    min-width: 160px;
}
.admin-clicks-filters .admin-check {
    flex: 0 0 auto;
    min-width: max-content;
    flex-direction: row;
    align-items: center;
    gap: 8px;
    margin: 0;
    cursor: pointer;
    color: #ccc;
    font-weight: 500;
    font-size: 0.88rem;
    user-select: none;
    white-space: nowrap;
}
.admin-clicks-filters .admin-check input[type="checkbox"] {
    flex-shrink: 0;
    width: 16px;
    height: 16px;
    margin: 0;
    cursor: pointer;
    accent-color: var(--primary, #4caf7a);
}
.admin-clicks-filters .admin-clicks-nav-toggle {
    flex: 0 0 auto;
    white-space: nowrap;
    font-size: 0.88rem;
    color: #ccc;
    gap: 8px;
}
.admin-clicks-filters .admin-clicks-nav-toggle.is-disabled {
    opacity: 0.45;
    pointer-events: none;
}
@media (max-width: 640px) {
    .admin-clicks-filters {
        flex-wrap: wrap;
    }
    .admin-clicks-filters #clicks-filter-destino {
        flex: 1 1 100%;
    }
    .admin-clicks-filters .admin-clicks-nav-toggle {
        flex: 1 1 100%;
    }
}
.admin-clicks-toolbar {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    align-items: center;
}
.admin-toolbar-split {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 10px;
    width: 100%;
}
.admin-toolbar-main {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 10px;
    flex: 1 1 auto;
    min-width: 0;
}
.admin-toolbar-risk {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 10px;
    margin-left: auto;
    justify-content: flex-end;
}
@media (max-width: 640px) {
    .admin-toolbar-risk {
        width: 100%;
        margin-left: 0;
        justify-content: flex-end;
    }
}
.admin-clicks-search { flex: 1 1 220px; margin: 0; }
.admin-clicks-search input {
    width: 100%;
    padding: 10px 12px;
    border: 1px solid #333;
    border-radius: 8px;
    background: #141414;
    color: #eee;
}
.admin-clicks-toolbar select {
    min-width: 180px;
    padding: 10px 12px;
    border: 1px solid #333;
    border-radius: 8px;
    background: #141414;
    color: #eee;
}
.admin-clicks-table td { font-size: 0.92rem; vertical-align: top; }
.admin-click-dest {
    display: inline-block;
    padding: 2px 8px;
    border-radius: 999px;
    font-size: 0.8rem;
    font-weight: 600;
    background: #222;
    color: #ddd;
}
.admin-click-dest--mercado_livre { background: #2a2200; color: #ffe600; }
.admin-click-dest--shopee { background: #2a1200; color: #ff7337; }
.admin-click-dest--amazon { background: #1a1a2a; color: #ff9900; }
.admin-click-dest--tiktok_shop,
.admin-click-dest--tiktok { background: #1a1a1a; color: #fff; }
.admin-click-dest--instagram { background: #2a1020; color: #e1306c; }
.admin-click-dest--pageview,
.admin-click-dest--entrada_home,
.admin-click-dest--entrada_home_en,
.admin-click-dest--entrada_loja,
.admin-click-dest--entrada_checkout,
.admin-click-dest--entrada_onde_comprar,
.admin-click-dest--entrada_minha_conta { background: #0d2818; color: #6fcf97; }
.admin-click-dest--loja_oficial { background: #1a0d2a; color: #c77dff; }
.clicks-tree-root {
    border: 1px solid #2a2a2a;
    border-radius: 12px;
    background: #101010;
    padding: 12px 14px;
    max-height: min(70vh, 720px);
    overflow: auto;
}
.clicks-recent {
    margin-bottom: 16px;
    padding-bottom: 14px;
    border-bottom: 1px solid #2a2a2a;
}
.clicks-recent-title {
    margin: 0 0 10px;
    font-size: 0.95rem;
    font-weight: 600;
    color: #eee;
}
.clicks-recent-list {
    margin: 0;
}
.feedback-list-root {
    border: 1px solid #2a2a2a;
    border-radius: 12px;
    background: #101010;
    padding: 14px 16px;
    max-height: min(70vh, 720px);
    overflow: auto;
}
.feedback-empty {
    text-align: center;
    padding: 48px 24px;
    color: #888;
}
.feedback-empty i { font-size: 2rem; color: #444; margin-bottom: 12px; display: block; }
.feedback-empty p { margin: 0 0 6px; color: #ccc; font-size: 1.05rem; font-weight: 600; }
.feedback-empty span { font-size: 0.9rem; line-height: 1.5; }
.feedback-stats-bar {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin-bottom: 16px;
    padding-bottom: 14px;
    border-bottom: 1px solid #252525;
}
.feedback-stat {
    display: flex;
    flex-direction: column;
    gap: 2px;
    min-width: 100px;
    padding: 10px 14px;
    border-radius: 10px;
    background: linear-gradient(145deg, #161616, #111);
    border: 1px solid #2a2a2a;
}
.feedback-stat-num {
    font-family: var(--font-nav);
    font-size: 1.5rem;
    font-weight: 700;
    color: var(--primary);
    line-height: 1.1;
}
.feedback-stat-label {
    font-size: 0.78rem;
    color: #888;
    text-transform: uppercase;
    letter-spacing: 0.04em;
}
.feedback-cards {
    display: flex;
    flex-direction: column;
    gap: 12px;
}
.feedback-card {
    border: 1px solid #2a2a2a;
    border-radius: 12px;
    background: linear-gradient(160deg, #151515 0%, #121212 100%);
    overflow: hidden;
    transition: border-color 0.2s ease;
}
.feedback-card:hover { border-color: #3a3a3a; }
.feedback-card-top {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
    justify-content: space-between;
    gap: 10px 16px;
    padding: 12px 16px;
    background: #1a1a1a;
    border-bottom: 1px solid #252525;
}
.feedback-card-top-main {
    display: flex;
    flex-direction: column;
    gap: 4px;
    min-width: 0;
    flex: 1;
}
.feedback-card-badge {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    width: fit-content;
    padding: 4px 10px;
    border-radius: 999px;
    background: rgba(94, 200, 216, 0.12);
    color: var(--primary);
    font-size: 0.82rem;
    font-weight: 600;
}
.feedback-card-path {
    font-size: 0.75rem;
    color: #666;
    word-break: break-all;
    font-family: ui-monospace, monospace;
}
.feedback-card-time {
    font-size: 0.82rem;
    color: #888;
    font-variant-numeric: tabular-nums;
    white-space: nowrap;
}
.feedback-card-block {
    padding: 14px 16px;
    border-bottom: 1px solid #1f1f1f;
}
.feedback-card-block--primary { background: #131313; }
.feedback-card-block--sug { background: #111; }
.feedback-card-label {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 8px;
    font-size: 0.72rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    color: #777;
}
.feedback-card-block--primary .feedback-card-label { color: #9a8b5c; }
.feedback-card-block--primary .feedback-card-label i { color: var(--primary); }
.feedback-card-block--sug .feedback-card-label i { color: #7eb8da; }
.feedback-card-block p {
    margin: 0;
    color: #eee;
    font-size: 0.98rem;
    line-height: 1.55;
    white-space: pre-wrap;
}
.feedback-card-block--sug p { color: #bbb; font-size: 0.94rem; }
.feedback-card-foot {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 10px 16px;
    padding: 12px 16px;
    background: #0f0f0f;
}
.feedback-card-email {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    color: var(--primary);
    text-decoration: none;
    font-size: 0.88rem;
    word-break: break-all;
}
.feedback-card-email:hover { text-decoration: underline; }
.feedback-card-anon {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    color: #666;
    font-size: 0.88rem;
}
.feedback-card-pills { display: flex; flex-wrap: wrap; gap: 6px; }
.feedback-pill {
    display: inline-block;
    padding: 3px 9px;
    border-radius: 999px;
    font-size: 0.72rem;
    font-weight: 600;
    letter-spacing: 0.03em;
    background: #222;
    color: #aaa;
    border: 1px solid #333;
}
.feedback-pill--geo { background: rgba(66, 133, 244, 0.12); color: #8ab4f8; border-color: rgba(66, 133, 244, 0.25); }
.clicks-tree { display: flex; flex-direction: column; gap: 6px; }
.clicks-tree-node {
    border: 1px solid #252525;
    border-radius: 10px;
    background: #141414;
    overflow: hidden;
}
.clicks-tree-node > summary {
    list-style: none;
    cursor: pointer;
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 10px 12px;
    font-weight: 600;
    color: #eee;
    user-select: none;
}
.clicks-tree-node > summary::-webkit-details-marker { display: none; }
.clicks-tree-node[open] > summary { background: #1a1a1a; border-bottom: 1px solid #252525; }
.clicks-tree-node[open] > summary .clicks-tree-chevron { transform: rotate(90deg); }
.clicks-tree-chevron {
    width: 14px;
    color: var(--primary);
    transition: transform 0.15s ease;
    flex-shrink: 0;
}
.clicks-tree-label { flex: 1; min-width: 0; }
.clicks-tree-meta {
    font-size: 0.82rem;
    font-weight: 500;
    color: #888;
    white-space: nowrap;
}
.clicks-tree-children {
    padding: 8px 10px 10px 18px;
    display: flex;
    flex-direction: column;
    gap: 6px;
}
.clicks-tree-year > .clicks-tree-children { padding-left: 12px; }
.clicks-tree-month .clicks-tree-label { font-size: 0.98rem; }
.clicks-tree-day .clicks-tree-label { font-size: 0.95rem; color: #ddd; }
.clicks-tree-visitor .clicks-tree-label { font-size: 0.92rem; color: #ccc; }
.clicks-tree-path .clicks-tree-label { font-size: 0.88rem; color: #aaa; }
.clicks-tree-steps {
    list-style: none;
    margin: 0;
    padding: 6px 4px 4px 8px;
    display: flex;
    flex-direction: column;
    gap: 4px;
}
.clicks-tree-step {
    display: grid;
    grid-template-columns: 28px 72px minmax(90px, auto) 1fr 84px minmax(100px, 180px);
    gap: 8px;
    align-items: center;
    padding: 6px 8px;
    border-radius: 8px;
    background: #0f0f0f;
    font-size: 0.86rem;
}
.clicks-tree-step-num {
    color: var(--primary);
    font-weight: 700;
    text-align: right;
}
.clicks-tree-step-time { color: #777; font-variant-numeric: tabular-nums; }
.clicks-tree-step-label { color: #ccc; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.clicks-tree-step-geo {
    color: #7eb8da;
    font-size: 0.78rem;
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    text-align: right;
}
.clicks-device-badge {
    display: inline-block;
    padding: 2px 7px;
    border-radius: 999px;
    font-size: 0.68rem;
    font-weight: 700;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    text-align: center;
    white-space: nowrap;
    justify-self: end;
}
.clicks-device--mobile { background: rgba(76, 175, 80, 0.14); color: #81c784; }
.clicks-device--desktop { background: rgba(144, 202, 249, 0.12); color: #90caf9; }
.clicks-device--outro { background: rgba(255, 255, 255, 0.08); color: #aaa; }
.clicks-tree-step-origem,
.clicks-origem-badge {
    display: inline-block;
    padding: 2px 8px;
    border-radius: 999px;
    font-size: 0.78rem;
    font-weight: 600;
    letter-spacing: 0.01em;
    width: fit-content;
    max-width: 100%;
}
.clicks-tree-meta .clicks-origem-badge {
    vertical-align: middle;
    font-size: 0.76rem;
}
.clicks-origem--google_ads { background: rgba(66, 133, 244, 0.18); color: #8ab4f8; }
.clicks-origem--google_organico { background: rgba(129, 201, 149, 0.15); color: #81c995; }
.clicks-origem--instagram,
.clicks-origem--instagram_reels,
.clicks-origem--instagram_stories { background: rgba(225, 48, 108, 0.18); color: #f48fb1; }
.clicks-origem--facebook,
.clicks-origem--facebook_reels,
.clicks-origem--facebook_stories,
.clicks-origem--facebook_ads { background: rgba(24, 119, 242, 0.18); color: #82b1ff; }
.clicks-origem--meta_ads,
.clicks-origem--meta_organico,
.clicks-origem--meta_reels { background: rgba(131, 58, 180, 0.18); color: #ce93d8; }
.clicks-origem--tiktok,
.clicks-origem--tiktok_reels { background: rgba(255, 255, 255, 0.1); color: #eee; }
.clicks-origem--youtube,
.clicks-origem--youtube_reels { background: rgba(255, 0, 0, 0.12); color: #ef9a9a; }
.clicks-origem--whatsapp { background: rgba(37, 211, 102, 0.15); color: #69f0ae; }
.clicks-origem--twitter { background: rgba(255, 255, 255, 0.08); color: #ccc; }
.clicks-origem--bing_ads { background: rgba(0, 164, 239, 0.15); color: #4fc3f7; }
.clicks-origem--referral { background: rgba(94, 200, 216, 0.12); color: var(--primary); }
.clicks-origem--outro { background: rgba(255, 255, 255, 0.08); color: #bbb; }
.clicks-origem--direto { background: rgba(255, 255, 255, 0.06); color: #999; }
.clicks-origem--site { background: rgba(255, 107, 53, 0.15); color: var(--primary); }
@media (max-width: 640px) {
    .clicks-tree-step {
        grid-template-columns: 24px 1fr;
        grid-template-areas: "num label" "time dest" "device geo";
    }
    .clicks-tree-step-num { grid-area: num; }
    .clicks-tree-step-time { grid-area: time; }
    .clicks-tree-step-label { grid-area: label; white-space: normal; }
    .admin-click-dest { grid-area: dest; justify-self: start; }
    .clicks-device-badge { grid-area: device; justify-self: start; }
    .clicks-tree-step-geo { grid-area: geo; text-align: left; white-space: normal; }
}
.admin-frete-subtabs,
.admin-vendas-subtabs {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    margin: 0 0 20px;
    padding: 10px;
    border: 1px solid #2a2a2a;
    border-radius: 12px;
    background: #101010;
}
.admin-frete-subtab,
.admin-vendas-subtab {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 8px 14px;
    border: 1px solid #333;
    border-radius: 8px;
    background: #141414;
    color: #aaa;
    font-weight: 600;
    font-size: 0.82rem;
    cursor: pointer;
    transition: 0.2s;
    white-space: nowrap;
}
.admin-frete-subtab i,
.admin-vendas-subtab i {
    color: #777;
    font-size: 0.85rem;
}
.admin-frete-subtab:hover,
.admin-vendas-subtab:hover {
    border-color: #444;
    color: #fff;
}
.admin-frete-subtab.active,
.admin-vendas-subtab.active {
    background: rgba(94, 200, 216, 0.08);
    border-color: rgba(94, 200, 216, 0.55);
    color: var(--primary);
}
.admin-frete-subtab.active i,
.admin-vendas-subtab.active i { color: var(--primary); }
.admin-frete-subpanel,
.admin-vendas-subpanel {
    display: flex;
    flex-direction: column;
    gap: 24px;
}
.admin-frete-subpanel[hidden],
.admin-vendas-subpanel[hidden] { display: none !important; }
.sales-tree-list {
    list-style: none;
    margin: 0;
    padding: 4px 0 8px;
    display: flex;
    flex-direction: column;
    gap: 6px;
}
.sales-tree-row {
    display: grid;
    grid-template-columns: 4.5rem 7.5rem minmax(4rem, 6.5rem) minmax(0, 1fr) repeat(5, minmax(4.6rem, 5.6rem));
    gap: 8px 8px;
    align-items: baseline;
    padding: 8px 10px;
    border: 1px solid #2a2a2a;
    border-radius: 8px;
    background: #121212;
    font-size: 0.84rem;
}
.sales-tree-time { color: #aaa; font-variant-numeric: tabular-nums; }
.sales-tree-id { color: #ccc; font-family: ui-monospace, monospace; font-size: 0.78rem; }
.sales-tree-buyer { color: #ddd; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.sales-tree-title { color: #888; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.sales-tree-money {
    position: relative;
    color: #bbb;
    text-align: right;
    font-variant-numeric: tabular-nums;
    font-size: 0.78rem;
    cursor: help;
    white-space: nowrap;
}
.sales-tree-money:hover::after,
.sales-tree-money:focus-visible::after {
    content: attr(data-label);
    position: absolute;
    left: 50%;
    bottom: calc(100% + 5px);
    transform: translateX(-50%);
    white-space: nowrap;
    background: #1a1a1a;
    border: 1px solid #555;
    color: #fff;
    font-size: 0.68rem;
    font-weight: 700;
    letter-spacing: 0.02em;
    padding: 3px 8px;
    border-radius: 4px;
    z-index: 12;
    pointer-events: none;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.45);
}
.sales-tree-fee { color: #e08a8a; }
.sales-tree-ship { color: #9ab0d0; }
.sales-tree-unresolved { color: #ffe082; font-style: italic; }
.sales-tree-kit { color: #c8c8c8; }
.sales-tree-conta { color: #b8d4c0; }
.sales-tree-adj { color: #d0b070; }
.sales-tree-net { color: var(--primary); font-weight: 700; text-align: right; font-variant-numeric: tabular-nums; }
.sales-tree-row--consol {
    grid-template-columns: 4.5rem 6rem 7rem minmax(4rem, 6rem) minmax(0, 1fr) repeat(5, minmax(4.4rem, 5.4rem));
}
.sales-tree-channel {
    color: #f0c040;
    font-size: 0.78rem;
    font-weight: 600;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.vendas-consol-periods {
    display: flex;
    flex-direction: column;
    gap: 14px;
    margin: 0 0 8px;
}
.vendas-consol-periods-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 12px;
}
.vendas-consol-flex-fold {
    margin-top: 14px;
}
.vendas-consol-flex-fold .vendas-consol-mtd-grid {
    margin-top: 12px;
}
.vendas-consol-flex-bonus {
    margin: 6px 0 0;
    font-size: 0.72rem;
    color: #888;
}
.vendas-consol-flex-card .vendas-consol-mtd-net {
    color: #ffe082;
}
.vendas-consol-flex-card.is-current .vendas-consol-mtd-net {
    color: var(--primary);
}
.vendas-consol-mtd {
    border: 1px solid #2a2a2a;
    border-radius: 12px;
    background: #101010;
    padding: 14px 16px;
}
.vendas-consol-mtd-meta {
    margin: 4px 0 0;
    font-size: 0.72rem;
    color: #888;
}
.vendas-consol-mtd-head {
    margin: 0 0 12px;
}
.vendas-consol-mtd-head h3 {
    margin: 0 0 4px;
    font-size: 1.05rem;
    font-weight: 700;
    color: #e0e0e0;
}
.vendas-consol-mtd-head p {
    margin: 0;
    font-size: 0.75rem;
    color: #888;
}
.vendas-consol-mtd-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 10px;
}
.vendas-consol-mtd-card {
    border: 1px solid #2a2a2a;
    border-radius: 10px;
    background: #161616;
    padding: 12px 14px;
}
.vendas-consol-mtd-card.is-current {
    border-color: #3a5a3a;
    background: #141a14;
}
.vendas-consol-mtd-card h4 {
    margin: 0;
    font-size: 0.72rem;
    font-weight: 700;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    color: #999;
}
.vendas-consol-mtd-title {
    margin: 4px 0 0;
    font-size: 0.9rem;
    font-weight: 600;
    color: #ddd;
}
.vendas-consol-mtd-range {
    margin: 8px 0 0;
    font-size: 1.05rem;
    font-weight: 700;
    color: #cfd8dc;
    letter-spacing: 0.02em;
}
.vendas-consol-mtd-range strong {
    color: #fff;
    font-size: 1.2rem;
    font-variant-numeric: tabular-nums;
}
.vendas-consol-mtd-net {
    margin: 10px 0 0;
    font-size: 1.7rem;
    font-weight: 800;
    color: #b8f0c8;
    font-variant-numeric: tabular-nums;
    line-height: 1.15;
}
.vendas-consol-mtd-card.is-current .vendas-consol-mtd-net {
    color: #81c784;
}
.vendas-consol-mtd-pct {
    font-size: 0.72em;
    font-weight: 700;
    margin-left: 0.35em;
    white-space: nowrap;
    color: #999;
    vertical-align: baseline;
}
.vendas-consol-mtd-pct.is-up { color: #64b5f6; }
.vendas-consol-mtd-pct.is-down { color: #e57373; }
.vendas-consol-mtd-pct.is-same { color: #ffe082; }
.vendas-consol-mtd-count {
    margin: 8px 0 0;
    font-size: 0.95rem;
    font-weight: 650;
    color: #ddd;
}
.vendas-consol-days-fold {
    margin-top: 12px;
}
.vendas-consol-days-card .vendas-consol-days-total {
    margin: 8px 0 0;
    font-size: 0.9rem;
    font-weight: 650;
    color: #bbb;
}
.vendas-consol-days-split {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 8px;
    margin-top: 12px;
}
.vendas-consol-days-col {
    text-align: center;
    padding: 8px 6px;
    border-radius: 8px;
    background: #101010;
    border: 1px solid #2a2a2a;
}
.vendas-consol-days-label {
    display: block;
    font-size: 0.68rem;
    font-weight: 700;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: #888;
}
.vendas-consol-days-num {
    display: block;
    margin-top: 4px;
    font-size: 1.55rem;
    font-weight: 800;
    font-variant-numeric: tabular-nums;
    line-height: 1.1;
    color: #e0e0e0;
}
.vendas-consol-days-num.is-sold {
    color: #81c784;
}
.vendas-consol-days-num.is-empty {
    color: #ffcc80;
}
.vendas-consol-days-empty {
    margin: 10px 0 0;
    font-size: 0.75rem;
    color: #9aa;
    line-height: 1.35;
}
.vendas-consol-days-empty.is-ok {
    color: #6a9;
}
.vendas-consol-card {
    border: 1px solid #2a2a2a;
    border-radius: 12px;
    background: #121212;
    padding: 14px 16px;
}
.vendas-consol-card h3 {
    margin: 0 0 4px;
    font-size: 0.78rem;
    font-weight: 600;
    color: #999;
    text-transform: uppercase;
    letter-spacing: 0.04em;
}
.vendas-consol-card-kicker {
    margin: 0;
    font-size: 0.68rem;
    font-weight: 700;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: #c8e6c9;
}
.vendas-consol-card-net {
    margin: 2px 0 0;
    font-size: 1.45rem;
    font-weight: 800;
    color: #b8f0c8;
    font-variant-numeric: tabular-nums;
}
.vendas-consol-card--day .vendas-consol-card-kicker { color: #90caf9; }
.vendas-consol-card--day .vendas-consol-card-net {
    color: #64b5f6;
    text-shadow: 0 0 18px rgba(100, 181, 246, 0.28);
}
.vendas-consol-card--day .vendas-consol-rank.is-top .vendas-consol-rank-n,
.vendas-consol-card--day .vendas-consol-rank.is-top strong { color: #90caf9; }

.vendas-consol-card--week .vendas-consol-card-kicker { color: #ffe082; }
.vendas-consol-card--week .vendas-consol-card-net {
    color: var(--primary);
    text-shadow: 0 0 18px rgba(255, 213, 79, 0.28);
}
.vendas-consol-card--week .vendas-consol-rank.is-top .vendas-consol-rank-n,
.vendas-consol-card--week .vendas-consol-rank.is-top strong { color: #ffe082; }

.vendas-consol-card--month .vendas-consol-card-kicker { color: #c8e6c9; }
.vendas-consol-card--month .vendas-consol-card-net {
    color: #81c784;
    text-shadow: 0 0 18px rgba(129, 199, 132, 0.28);
}
.vendas-consol-card--month .vendas-consol-rank.is-top .vendas-consol-rank-n,
.vendas-consol-card--month .vendas-consol-rank.is-top strong { color: #a5d6a7; }

.vendas-consol-card--year .vendas-consol-card-kicker { color: #ce93d8; }
.vendas-consol-card--year .vendas-consol-card-net {
    color: #ba68c8;
    text-shadow: 0 0 18px rgba(186, 104, 200, 0.28);
}
.vendas-consol-card--year .vendas-consol-rank.is-top .vendas-consol-rank-n,
.vendas-consol-card--year .vendas-consol-rank.is-top strong { color: #ce93d8; }
.vendas-consol-card-meta {
    margin: 4px 0 10px;
    font-size: 0.78rem;
    color: #888;
}
.vendas-consol-card-channels {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 4px;
}
.vendas-consol-card-channels li {
    display: flex;
    justify-content: space-between;
    align-items: baseline;
    gap: 8px;
    font-size: 0.78rem;
    color: #bbb;
}
.vendas-consol-rank-n {
    flex: 0 0 1.6rem;
    color: #777;
    font-variant-numeric: tabular-nums;
}
.vendas-consol-rank.is-top {
    color: #eee;
}
.vendas-consol-rank.is-top .vendas-consol-rank-n {
    color: #7ed9a8;
    font-weight: 700;
}
.vendas-consol-rank.is-top strong {
    color: #b8f0c8;
}
.vendas-consol-card-channels strong {
    color: #eee;
    font-variant-numeric: tabular-nums;
    margin-left: auto;
}
.vendas-when {
    margin: 18px 0 20px;
    padding: 16px 0 4px;
    border-top: 1px solid #2a2a2a;
}
.vendas-when-title {
    margin: 0 0 4px;
    font-size: 1.05rem;
    font-weight: 700;
    color: #eee;
}
.admin-fold {
    margin: 14px 0 12px;
    border: 1px solid #2a2a2a;
    border-radius: 12px;
    background: #121212;
    overflow: hidden;
}
.admin-fold > summary {
    list-style: none;
}
.admin-fold > summary::-webkit-details-marker { display: none; }
.admin-fold-summary {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 12px 14px;
    cursor: pointer;
    user-select: none;
    color: #eee;
}
.admin-fold-summary:hover { background: #181818; }
.admin-fold-chevron {
    width: 14px;
    color: var(--primary, #4caf7a);
    transition: transform 0.15s ease;
    flex-shrink: 0;
}
.admin-fold[open] > .admin-fold-summary .admin-fold-chevron {
    transform: rotate(90deg);
}
.admin-fold-title {
    font-size: 0.98rem;
    font-weight: 700;
}
.admin-fold-hint {
    margin-left: auto;
    font-size: 0.75rem;
    color: #777;
    text-transform: uppercase;
    letter-spacing: 0.04em;
}
.admin-fold-body {
    padding: 0 14px 14px;
    border-top: 1px solid #252525;
}
.admin-fold-body > .admin-meta:first-child {
    margin-top: 12px;
}
.vendas-when-filters {
    display: flex;
    flex-wrap: wrap;
    gap: 12px 18px;
    margin: 12px 0 14px;
}
.vendas-when-filters label {
    display: flex;
    flex-direction: column;
    gap: 4px;
    font-size: 0.78rem;
    color: #999;
}
.vendas-when-filters select {
    min-width: 11rem;
    padding: 6px 10px;
    border-radius: 8px;
    border: 1px solid #333;
    background: #161616;
    color: #eee;
    font-size: 0.9rem;
}
.vendas-when-charts {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
}
.vendas-when-charts > .clicks-when-clean {
    grid-column: 1 / -1;
    margin: 0 0 2px;
}
.vendas-when-card {
    border: 1px solid #2a2a2a;
    border-radius: 12px;
    background: #121212;
    padding: 14px 14px 12px;
    min-height: 0;
}
.vendas-when-card--site {
    align-self: start;
    max-width: 100%;
}
.vendas-when-card--noise .vendas-when-bar {
    background: linear-gradient(90deg, #6b4c2f, #c9a227);
}
.vendas-when-card--noise .vendas-when-row.is-top .vendas-when-bar {
    background: linear-gradient(90deg, #8a6238, #e6c35c);
}
.vendas-when-card--site .vendas-when-bars {
    max-height: none;
    overflow: visible;
}
.vendas-when-card--site .vendas-when-row {
    grid-template-columns: 3.8rem minmax(0, 1fr) 4.2rem 3.2rem;
}
.vendas-when-card h4 {
    margin: 0 0 10px;
    font-size: 0.82rem;
    font-weight: 600;
    color: #bbb;
    text-transform: uppercase;
    letter-spacing: 0.04em;
}
.vendas-when-bars {
    display: flex;
    flex-direction: column;
    gap: 5px;
    max-height: 22rem;
    overflow: auto;
}
.vendas-when-row {
    display: grid;
    grid-template-columns: 4.5rem minmax(0, 1fr) 5.5rem 3.6rem;
    gap: 8px;
    align-items: center;
    font-size: 0.78rem;
}
.vendas-when-label {
    color: #ccc;
    font-variant-numeric: tabular-nums;
}
.vendas-when-track {
    display: block;
    height: 8px;
    border-radius: 999px;
    background: #1e1e1e;
    overflow: hidden;
}
.vendas-when-bar {
    display: block;
    height: 100%;
    border-radius: inherit;
    background: linear-gradient(90deg, #2f6b4f, var(--primary, #4caf7a));
    min-width: 0;
}
.vendas-when-row.is-top .vendas-when-bar {
    background: linear-gradient(90deg, #3d8f62, #7ed9a8);
}
.vendas-when-value {
    text-align: right;
    color: #eee;
    font-variant-numeric: tabular-nums;
    font-weight: 600;
}
.vendas-when-count {
    text-align: right;
    color: #777;
    font-variant-numeric: tabular-nums;
}
@media (max-width: 960px) {
    .vendas-consol-periods-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .vendas-consol-mtd-grid { grid-template-columns: 1fr; }
    .vendas-when-charts { grid-template-columns: 1fr; }
}
@media (max-width: 720px) {
    .vendas-consol-periods-grid { grid-template-columns: 1fr; }
    .vendas-when-row {
        grid-template-columns: 3.6rem minmax(0, 1fr) 4.8rem;
    }
    .vendas-when-count { display: none; }
    .sales-tree-row--consol {
        grid-template-columns: 4rem 1fr auto;
        grid-template-areas:
            "time channel net"
            "id id id"
            "buyer buyer buyer"
            "title title title"
            "money money money";
    }
    .sales-tree-row--consol .sales-tree-time { grid-area: time; }
    .sales-tree-row--consol .sales-tree-channel { grid-area: channel; }
    .sales-tree-row--consol .sales-tree-net { grid-area: net; }
    .sales-tree-row--consol .sales-tree-id { grid-area: id; }
    .sales-tree-row--consol .sales-tree-buyer { grid-area: buyer; }
    .sales-tree-row--consol .sales-tree-title { grid-area: title; white-space: normal; }
    .sales-tree-row--consol .sales-tree-money { grid-area: money; display: inline-block; margin-right: 8px; }
}
@media (max-width: 720px) {
    .sales-tree-row {
        grid-template-columns: 4rem 1fr auto;
        grid-template-areas:
            "time id net"
            "buyer buyer buyer"
            "title title title"
            "money money money";
    }
    .sales-tree-time { grid-area: time; }
    .sales-tree-id { grid-area: id; }
    .sales-tree-net { grid-area: net; }
    .sales-tree-buyer { grid-area: buyer; }
    .sales-tree-title { grid-area: title; white-space: normal; }
    .sales-tree-money { grid-area: money; display: inline-block; margin-right: 8px; }
}

.admin-product-subtabs {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin: 12px 0 16px;
}
.admin-product-subtabs[hidden],
.admin-cadastros-hub[hidden] {
    display: none !important;
}
.admin-product-subtab {
    border: 1px solid rgba(255,255,255,0.12);
    background: rgba(255,255,255,0.04);
    color: var(--text, #e2e8f0);
    border-radius: 999px;
    padding: 8px 14px;
    font-size: 0.88rem;
    cursor: pointer;
}
.admin-product-subtab.active {
    border-color: var(--primary, #2dd4bf);
    background: rgba(45, 212, 191, 0.12);
    color: var(--primary, #2dd4bf);
}
.admin-product-subpanel[hidden] { display: none !important; }
.admin-kit-cost-rows { margin-top: 8px; }
.admin-kit-cost-heading {
    margin: 22px 0 6px;
    color: var(--primary, #2dd4bf);
    font-size: 1rem;
}
.admin-kit-cost-row {
    display: grid;
    grid-template-columns: minmax(130px, 1.4fr) 88px 118px 78px 88px 100px minmax(110px, 1fr) auto;
    gap: 8px 10px;
    align-items: end;
    margin-bottom: 10px;
    padding: 12px 14px;
    border: 1px solid #2a2a2a;
    border-radius: 8px;
    background: #121212;
}
.admin-kit-cost-row label {
    display: flex;
    flex-direction: column;
    gap: 4px;
    font-size: 0.75rem;
    color: #aaa;
    margin: 0;
}
.admin-kit-cost-row input {
    width: 100%;
}
.admin-kit-cost-unit-wrap {
    display: flex;
    flex-direction: column;
    gap: 4px;
    min-height: 100%;
    justify-content: flex-end;
    padding-bottom: 6px;
}
.admin-kit-cost-unit-label {
    font-size: 0.75rem;
    color: #aaa;
}
.admin-kit-cost-unit {
    font-weight: 700;
    color: var(--primary, #2dd4bf);
    white-space: nowrap;
}
.admin-kit-cost-remove { padding: 8px 10px; }
.admin-kit-cost-total {
    margin-top: 14px;
    font-size: 1.05rem;
}
.admin-kit-cost-total strong { color: var(--primary, #2dd4bf); }
@media (max-width: 960px) {
    .admin-kit-cost-row {
        grid-template-columns: 1fr 1fr;
    }
    .admin-kit-cost-remove { justify-self: start; }
}
.admin-badge-main {
    display: inline-block;
    font-size: 0.72rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: #1d4ed8;
    background: rgba(96, 165, 250, 0.2);
    padding: 2px 8px;
    border-radius: 999px;
    margin-right: 6px;
    vertical-align: middle;
}
.admin-product-row--main {
    border-left: 3px solid rgba(96, 165, 250, 0.65);
    padding-left: 12px;
    border-radius: 8px;
}

.stf-help-tip {
    position: relative;
    display: inline-flex;
    margin-left: 6px;
    color: var(--primary, #2dd4bf);
    cursor: help;
    vertical-align: middle;
}
.stf-help-tip > i { font-size: 1rem; }
.stf-help-tip-pop {
    display: none;
    position: absolute;
    left: 50%;
    bottom: calc(100% + 8px);
    transform: translateX(-50%);
    z-index: 30;
    width: min(240px, 70vw);
    padding: 8px;
    border-radius: 10px;
    background: #1a1d24;
    border: 1px solid rgba(255,255,255,0.15);
    box-shadow: 0 8px 24px rgba(0,0,0,0.45);
    text-align: center;
}
.stf-help-tip-pop img {
    width: 100%;
    height: auto;
    border-radius: 8px;
    display: block;
    margin-bottom: 6px;
}
.stf-help-tip-pop small,
.stf-help-tip-pop p {
    display: block;
    color: #94a3b8;
    font-size: 0.75rem;
    line-height: 1.35;
    margin: 0;
    text-align: left;
}
.stf-help-tip-pop strong {
    display: block;
    color: #e2e8f0;
    font-size: 0.8rem;
    font-weight: 600;
    margin: 0 0 4px;
    text-align: left;
}
.stf-help-tip-pop--wide {
    width: min(300px, 85vw);
}
.checkout-notes-label-row {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    margin-bottom: 6px;
}
.stf-help-tip:hover .stf-help-tip-pop,
.stf-help-tip:focus .stf-help-tip-pop,
.stf-help-tip:focus-within .stf-help-tip-pop {
    display: block;
}
.checkout-watch-label-row {
    display: flex;
    align-items: center;
    gap: 4px;
    margin-bottom: 6px;
}
.checkout-watch-sensor-warn {
    margin: 6px 0 0;
    font-size: 0.85rem;
    color: #fbbf24;
}

.admin-form-actions-sticky {
    position: sticky;
    bottom: 0;
    z-index: 5;
    margin-top: 8px;
    padding: 12px 16px;
    gap: 12px;
    flex-wrap: nowrap;
    align-items: center;
    justify-content: flex-start;
    background: linear-gradient(to top, #111 85%, rgba(17, 17, 17, 0.95) 100%);
    border-top: 1px solid #2a2a2a;
    box-shadow: 0 -8px 24px rgba(0, 0, 0, 0.45);
}
.admin-save-actions-buttons {
    display: flex;
    flex-shrink: 0;
    gap: 12px;
    align-items: center;
}
.admin-form-actions-sticky .admin-status-sticky {
    flex: 1 1 auto;
    min-width: 0;
    margin: 0;
    padding: 10px 14px;
    font-size: 0.85rem;
    line-height: 1.35;
}
.admin-form-actions-sticky .form-status:not(.admin-status-sticky) {
    margin-top: 0;
    flex: 1 1 100%;
}
@media (max-width: 720px) {
    .admin-form-actions-sticky {
        flex-wrap: wrap;
    }
    .admin-save-actions-buttons {
        flex: 1 1 100%;
        flex-wrap: wrap;
    }
    .admin-form-actions-sticky .admin-status-sticky {
        flex: 1 1 100%;
    }
}
.admin-form-actions-sticky[hidden] { display: none !important; }
.admin-tab-panel-doc {
    flex: 1;
    min-height: calc(100vh - 220px);
    gap: 12px;
}
.admin-doc-tab-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin: 0;
}
.admin-doc-tab-title {
    margin: 0;
    font-size: 1.1rem;
    font-weight: 800;
    color: var(--primary);
    display: flex;
    align-items: center;
    gap: 8px;
}
.admin-tab-panel-doc .admin-help-panel--fieldset {
    margin-bottom: 8px;
}
.admin-panel-header {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 16px;
    margin-bottom: 24px;
    flex-wrap: wrap;
}
.admin-panel-subtitle {
    margin: 4px 0 0;
    color: #888;
    font-size: 0.9rem;
}
.admin-doc-manuals {
    margin-bottom: 12px;
}
.admin-panel-actions { display: flex; align-items: center; gap: 12px; }
.admin-mode-badge {
    font-size: 0.75rem;
    font-weight: 800;
    text-transform: uppercase;
    padding: 6px 12px;
    border-radius: 50px;
    letter-spacing: 0.5px;
}
.admin-mode-badge.online { background: rgba(37, 211, 102, 0.15); color: #25d366; }
.admin-mode-badge.offline { background: rgba(94, 200, 216, 0.15); color: var(--primary); }
.admin-orders-section {
    border: 1px solid #2a2a2a;
    border-radius: 16px;
    padding: 20px;
    margin-top: 24px;
}
.admin-orders-section legend {
    color: var(--primary);
    font-weight: 800;
    padding: 0 8px;
}

/* PEDIDOS */
.pedidos-container { max-width: 1280px; }
.pedidos-filters {
    display: flex;
    gap: 12px;
    margin-bottom: 16px;
    flex-wrap: wrap;
}
.pedidos-filters input,
.pedidos-filters select {
    flex: 1;
    min-width: 180px;
    padding: 10px 12px;
    background: #0a0a0a;
    border: 1px solid #333;
    color: #fff;
    border-radius: 8px;
}
.pedidos-table-wrap {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    max-width: 100%;
    box-sizing: border-box;
}
#admin-tab-pedidos .pedidos-table-wrap {
    margin: 0;
    width: 100%;
}
.pedidos-table {
    width: 100%;
    max-width: 100%;
    table-layout: fixed;
    border-collapse: collapse;
    font-size: 0.72rem;
    line-height: 1.25;
    font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
}
.pedidos-table th,
.pedidos-table td {
    padding: 5px 6px;
    border-bottom: 1px solid #2a2a2a;
    text-align: left;
    vertical-align: top;
    overflow: hidden;
}
.pedidos-table th {
    color: var(--primary);
    font-weight: 800;
    font-size: 0.62rem;
    text-transform: uppercase;
    letter-spacing: 0.02em;
    white-space: nowrap;
}
.pedidos-table th:nth-child(1), .pedidos-table td:nth-child(1) { width: 2.5rem; }
.pedidos-table th:nth-child(2), .pedidos-table td:nth-child(2) { width: 7%; }
.pedidos-table th:nth-child(3), .pedidos-table td:nth-child(3) { width: 16%; }
.pedidos-table th:nth-child(4), .pedidos-table td:nth-child(4) { width: 11%; }
.pedidos-table th:nth-child(5), .pedidos-table td:nth-child(5) { width: 5%; }
.pedidos-table th:nth-child(6), .pedidos-table td:nth-child(6) { width: 8%; }
.pedidos-table th:nth-child(7), .pedidos-table td:nth-child(7) { width: 8%; }
.pedidos-table th:nth-child(8), .pedidos-table td:nth-child(8) { width: 7%; }
.pedidos-table th:nth-child(9), .pedidos-table td:nth-child(9) { width: 9%; }
.pedidos-table th:nth-child(10), .pedidos-table td:nth-child(10) { width: 13%; }
.pedidos-table th:nth-child(11), .pedidos-table td:nth-child(11) { width: 12%; }
.pedidos-table tbody tr {
    cursor: pointer;
    transition: 0.15s;
}
.pedidos-table tbody tr:hover { background: #141414; }
.pedidos-table tbody tr.is-selected { background: #1a2420; }
.pedidos-table small { color: var(--gray); font-size: 0.92em; }
.pedidos-table td:nth-child(8),
.pedidos-table td:nth-child(9) { white-space: nowrap; }
.pedidos-table td.pedidos-data {
  white-space: normal;
  line-height: 1.3;
}
.pedidos-clamp-3 {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
  line-clamp: 3;
  overflow: hidden;
  line-height: 1.3;
  max-height: calc(1.3em * 3);
  word-break: break-word;
  overflow-wrap: anywhere;
}
.pedidos-watch .pedidos-watch-model {
  font-weight: 600;
}
.pedidos-watch .pedidos-watch-obs {
  display: inline;
  color: var(--gray);
}
.pedidos-cell-pay {
  font-size: 0.72rem;
  line-height: 1.25;
  max-height: calc(1.25em * 3);
  font-weight: 600;
}
.pedidos-col-select {
  width: 2.5rem;
  text-align: center;
  vertical-align: middle;
  cursor: default;
}
.pedidos-col-select input {
  width: 1rem;
  height: 1rem;
  cursor: pointer;
  accent-color: var(--primary, #4caf7a);
}
.pedidos-table td:nth-child(3) {
  word-break: break-word;
  overflow-wrap: anywhere;
}
.pedidos-table td:nth-child(4),
.pedidos-table td:nth-child(7),
.pedidos-table td:nth-child(10) { word-break: break-word; }
.pedidos-frete-correios { color: var(--gold); }
.pedidos-entrega { line-height: 1.3; }
.pedidos-track-link {
  color: var(--gold);
  font-weight: 600;
  text-decoration: none;
}
.pedidos-track-link:hover { text-decoration: underline; }
.pedidos-track-status { color: #8fd48f; }
.pedidos-track-muted { color: var(--gray); }
.pedidos-track-warn { color: #e8a838; }
.pedidos-frete {
  font-size: inherit;
  line-height: 1.25;
  white-space: nowrap;
}
.pedidos-frete-kind { color: var(--gray); font-size: 0.92em; }
.pedidos-frete-paid { color: var(--gray); font-size: 0.92em; }
.status-badge {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    padding: 3px 7px;
    border-radius: 50px;
    font-size: 0.65rem;
    font-weight: 700;
    white-space: nowrap;
    font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
}
.status-badge.status-paid,
.status-badge.paid { background: rgba(37,211,102,0.15); color: #25d366; }
.status-badge.status-pending,
.status-badge.pending_payment { background: rgba(94,200,216,0.15); color: var(--primary); }
.status-badge i { font-size: 0.62rem; }
.pedidos-page .admin-panel-actions {
    display: flex;
    align-items: center;
    gap: 10px;
    flex-wrap: wrap;
}
.pedidos-page .admin-panel-actions .btn-secondary {
    height: 40px;
    padding: 0 14px;
    margin: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    box-sizing: border-box;
    line-height: 1;
}
.pedidos-actions {
  width: 1%;
  padding-right: 4px;
  vertical-align: middle;
}
.pedidos-actions-inner {
  display: flex;
  flex-wrap: wrap;
  gap: 3px;
  align-items: center;
  max-width: 100%;
  max-height: 4.2rem;
  overflow: hidden;
}
.btn-confirm-pay {
    background: #25d366;
    color: #000;
    border: none;
    border-radius: 5px;
    padding: 4px 7px;
    font-size: 0.65rem;
    font-weight: 700;
    cursor: pointer;
}
.btn-confirm-pay:hover { filter: brightness(1.1); }
.btn-danger-outline {
  font-size: 0.65rem;
  padding: 4px 7px;
  border-radius: 5px;
  cursor: pointer;
  border: 1px solid #c44;
  background: transparent;
  color: #f88;
}
.btn-danger-outline:hover {
  background: rgba(204, 68, 68, 0.15);
}
.btn-warning-outline {
  font-size: 0.8rem;
  padding: 6px 10px;
  border-radius: 6px;
  cursor: pointer;
  border: 1px solid #b8860b;
  background: transparent;
  color: #e6c547;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-weight: 600;
}
.btn-warning-outline:hover {
  background: rgba(184, 134, 11, 0.18);
}
.pedidos-page .admin-panel-actions .btn-danger-outline {
  font-size: 0.85rem;
  padding: 8px 12px;
}
.btn-print-label {
    background: #222;
    color: #fff;
    border: 1px solid #444;
    border-radius: 5px;
    padding: 4px 7px;
    font-size: 0.65rem;
    font-weight: 700;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    gap: 6px;
}
.btn-print-label:hover {
    border-color: var(--primary);
    color: var(--primary);
}

/* Modal detalhe do pedido */
.pedidos-order-modal {
  position: fixed;
  inset: 0;
  z-index: 10050;
  display: flex;
  align-items: flex-start;
  justify-content: center;
  padding: max(16px, env(safe-area-inset-top)) 16px max(16px, env(safe-area-inset-bottom));
  box-sizing: border-box;
  overflow-y: auto;
  overscroll-behavior: contain;
}
.pedidos-order-modal[hidden] { display: none !important; }
.pedidos-order-modal-backdrop {
  position: fixed;
  inset: 0;
  background: rgba(0, 0, 0, 0.72);
}
.pedidos-order-modal-dialog {
  position: relative;
  z-index: 1;
  width: min(100%, 560px);
  max-height: calc(100dvh - 32px);
  margin: 8px auto 24px;
  background: #141414;
  border: 1px solid #333;
  border-radius: 16px;
  padding: 22px 22px 20px;
  box-shadow: 0 24px 64px rgba(0, 0, 0, 0.55);
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
  overflow: hidden;
}
.pedidos-order-modal-close {
  position: absolute;
  top: 10px;
  right: 12px;
  width: 36px;
  height: 36px;
  border: none;
  border-radius: 8px;
  background: #222;
  color: #fff;
  font-size: 1.4rem;
  line-height: 1;
  cursor: pointer;
}
.pedidos-order-modal-close:hover { background: #333; color: var(--primary); }
.pedidos-order-modal-title {
  margin: 0 36px 16px 0;
  font-size: 1rem;
  font-weight: 800;
  color: var(--primary);
  word-break: break-all;
  flex: 0 0 auto;
}
.pedidos-order-modal-body {
  font-size: 0.88rem;
  line-height: 1.45;
  flex: 1 1 auto;
  min-height: 0;
  overflow-y: auto;
  overscroll-behavior: contain;
  padding-right: 4px;
}
.pedidos-detail-grid {
  display: grid;
  gap: 8px;
  margin-bottom: 16px;
}
.pedidos-detail-row {
  display: grid;
  grid-template-columns: 7.5rem 1fr;
  gap: 10px;
  align-items: start;
}
.pedidos-detail-label {
  color: var(--gray);
  font-size: 0.78rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.03em;
}
.pedidos-detail-value { color: #eee; min-width: 0; word-break: break-word; }
.pedidos-detail-value small { color: var(--gray); }
.pedidos-detail-section {
  margin-top: 14px;
  padding: 14px 14px 12px;
  border-radius: 12px;
  border: 1px solid #2a2a2a;
  background: #0f0f0f;
}
.pedidos-fold {
  margin-top: 14px;
  border-radius: 12px;
  border: 1px solid #2a2a2a;
  background: #0f0f0f;
  overflow: hidden;
}
.pedidos-fold--entrega { border-color: rgba(37, 211, 102, 0.28); }
.pedidos-fold--audit { border-color: #333; }
.pedidos-fold-summary {
  list-style: none;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  padding: 12px 14px;
  font-size: 0.72rem;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--primary);
  user-select: none;
}
.pedidos-fold-summary::-webkit-details-marker { display: none; }
.pedidos-fold-chevron {
  font-size: 0.75rem;
  color: var(--gray);
  transition: transform 0.15s ease;
}
.pedidos-fold[open] > .pedidos-fold-summary .pedidos-fold-chevron {
  transform: rotate(180deg);
}
.pedidos-fold-body {
  padding: 0 14px 14px;
  border-top: 1px solid #222;
}
.pedidos-subheading {
  margin: 12px 0 8px;
  font-size: 0.8rem;
  font-weight: 700;
  color: #ddd;
  display: flex;
  align-items: center;
  gap: 6px;
}
.pedidos-info-tip {
  width: 18px;
  height: 18px;
  border-radius: 50%;
  border: 1px solid #666;
  background: #1a1a1a;
  color: #ccc;
  font: 700 0.7rem/1 ui-sans-serif, system-ui, sans-serif;
  cursor: help;
  padding: 0;
  flex: 0 0 auto;
}
.pedidos-info-tip:hover,
.pedidos-info-tip:focus {
  border-color: var(--primary);
  color: var(--primary);
  outline: none;
}
.pedidos-detail-section--entrega { border-color: rgba(37, 211, 102, 0.28); }
.pedidos-detail-section--entrega .pedidos-detail-av {
  display: block;
  font-size: 1.15rem;
  margin-bottom: 6px;
}
.pedidos-detail-section--entrega .pedidos-track-status {
  display: block;
  font-size: 0.95rem;
  font-weight: 700;
}
.pedidos-detail-heading {
  margin: 0 0 10px;
  font-size: 0.72rem;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--primary);
}
.pedidos-detail-sync {
  margin-top: 10px;
  color: var(--primary);
  font-size: 0.82rem;
}
.pedidos-frete-prazo {
  color: var(--gray);
  font-size: 0.72rem;
}
.pedidos-av-manual,
.pedidos-shipping-manual {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 10px;
  align-items: flex-end;
}
.pedidos-detail-section--manual {
  border-color: rgba(94, 200, 216, 0.35);
}
.pedidos-shipping-field {
  display: flex;
  flex-direction: column;
  gap: 4px;
  flex: 1 1 140px;
  min-width: 0;
}
.pedidos-shipping-field--wide {
  flex: 2 1 220px;
}
.pedidos-shipping-label {
  font-size: 0.68rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: var(--gray);
}
.pedidos-shipping-tracking,
.pedidos-shipping-status,
.pedidos-shipping-method,
.pedidos-shipping-note {
  padding: 8px 10px;
  border-radius: 8px;
  border: 1px solid #444;
  background: #111;
  color: #fff;
  font-size: 0.85rem;
}
.pedidos-shipping-tracking {
  font-family: ui-monospace, monospace;
  text-transform: uppercase;
}
.btn-save-shipping {
  padding: 8px 14px;
  border-radius: 8px;
  border: none;
  background: #5EC8D8;
  color: #111;
  font-weight: 700;
  cursor: pointer;
  flex: 0 0 auto;
}
.btn-save-shipping:disabled {
  opacity: 0.65;
  cursor: wait;
}
.pedidos-shipping-quote-hint {
  flex: 1 1 100%;
  margin: 0;
  font-size: 0.78rem;
}
.pedidos-shipping-price,
.pedidos-shipping-days {
  padding: 8px 10px;
  border-radius: 8px;
  border: 1px solid #444;
  background: #111;
  color: #fff;
  font-size: 0.85rem;
}
.pedidos-shipping-feedback {
  flex: 1 1 100%;
  margin: 0;
  font-size: 0.82rem;
}
.pedidos-av-input {
  flex: 1 1 180px;
  min-width: 0;
  padding: 8px 10px;
  border-radius: 8px;
  border: 1px solid #444;
  background: #111;
  color: #fff;
  font-family: ui-monospace, monospace;
  font-size: 0.85rem;
  text-transform: uppercase;
}
.btn-save-av {
  padding: 8px 12px;
  border-radius: 8px;
  border: none;
  background: var(--primary);
  color: #111;
  font-weight: 700;
  cursor: pointer;
}
.pedidos-detail-muted { color: var(--gray); font-size: 0.82rem; }
.pedidos-detail-secondary {
  margin-top: 14px;
  padding-top: 12px;
  border-top: 1px solid #2a2a2a;
  display: grid;
  gap: 8px;
}
.pedidos-detail-secondary .pedidos-detail-label { font-size: 0.72rem; }
.pedidos-audit-items {
  margin: 0;
  padding-left: 1.1rem;
  list-style: disc;
}
.pedidos-audit-items li { margin: 0.15rem 0; }
.pedidos-track-ext {
  margin-top: 6px;
  font-size: 0.85rem;
}

.btn-whatsapp-proof {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: #25d366;
    color: #000;
    padding: 10px 16px;
    border-radius: 8px;
    font-weight: 700;
    text-decoration: none;
    margin-top: 8px;
}
.btn-whatsapp-proof:hover { filter: brightness(1.05); }
.payment-hint-small { font-size: 0.85rem; color: var(--gray); margin-top: 8px; }

/* Loja / Conta / Produtos */
.loja-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
    gap: 24px;
    margin-top: 24px;
}
.loja-card {
    display: flex;
    flex-direction: column;
    background: #1a1a1a;
    border: 1px solid #333;
    border-radius: 14px;
    overflow: hidden;
    color: inherit;
    transition: border-color .2s, transform .2s;
}
.loja-card:hover { border-color: var(--primary); }
.loja-card-actions {
    display: flex;
    gap: 8px;
    flex-wrap: nowrap;
    align-items: stretch;
    margin-top: auto;
    padding-top: 8px;
    position: relative;
    z-index: 1;
}
.loja-card-actions .btn-primary,
.loja-card-actions .btn-secondary {
    flex: 1 1 0;
    min-width: 0;
    justify-content: center;
    text-decoration: none;
    font-size: 0.85rem;
    padding: 10px 12px;
    position: relative;
    z-index: 1;
}
.loja-toast {
    position: fixed;
    bottom: 24px;
    left: 50%;
    transform: translateX(-50%) translateY(20px);
    background: #222;
    color: #fff;
    border: 1px solid var(--primary);
    padding: 12px 20px;
    border-radius: 10px;
    opacity: 0;
    pointer-events: none;
    transition: opacity .2s, transform .2s;
    z-index: 9999;
}
.loja-toast.show { opacity: 1; transform: translateX(-50%) translateY(0); }
.cart-badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 18px;
    height: 18px;
    padding: 0 5px;
    border-radius: 999px;
    background: var(--primary);
    color: #000;
    font-size: 11px;
    font-weight: 800;
    margin-left: 4px;
}
.cart-sidebar-title { font-size: 1.1rem; margin: 0 0 12px; color: var(--primary); }
.cart-sidebar-items { display: flex; flex-direction: column; gap: 10px; margin-bottom: 12px; }
.pelicula-upsell {
    margin-bottom: 14px;
    padding: 14px;
    border: 1px solid rgba(0, 200, 150, 0.35);
    border-radius: 12px;
    background: linear-gradient(145deg, rgba(0, 200, 150, 0.08), rgba(0, 0, 0, 0.2));
}
.pelicula-upsell-title {
    margin: 0 0 6px;
    font-size: 0.92rem;
    color: var(--primary);
    display: flex;
    align-items: center;
    gap: 8px;
}
.pelicula-upsell-hint {
    margin: 0 0 12px;
    font-size: 0.78rem;
    color: #aaa;
    line-height: 1.45;
}
.pelicula-upsell-section {
    margin: 14px 0 6px;
    font-size: 0.82rem;
    color: #ccc;
    display: flex;
    align-items: center;
    gap: 8px;
    font-weight: 600;
}
.pelicula-upsell-section:first-of-type { margin-top: 0; }
.pelicula-upsell-card {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 10px;
    padding: 12px;
    margin-top: 8px;
    background: #111;
    border: 1px solid #333;
    border-radius: 12px;
    width: 100%;
    box-sizing: border-box;
}
.pelicula-upsell-card-top {
    display: flex;
    flex-direction: row;
    gap: 12px;
    align-items: center;
    width: 100%;
    min-width: 0;
}
.pelicula-upsell-card .pelicula-upsell-img-btn {
    width: 110px;
    height: 110px;
    max-width: 110px;
    flex: 0 0 110px;
    aspect-ratio: 1;
    margin: 0 auto;
    border-radius: 10px;
    border-color: #333;
}
.pelicula-upsell-card .pelicula-upsell-img-btn img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    padding: 0;
    background: #fff;
}
.pelicula-upsell-card .pelicula-upsell-info {
    text-align: center;
}
.pelicula-upsell-card .pelicula-upsell-info strong {
    font-size: 0.88rem;
}
.pelicula-upsell-card + .pelicula-upsell-card { margin-top: 8px; }
.stf-product-zoom-btn {
    position: relative;
    flex: 0 0 36px;
    width: 36px;
    height: 36px;
    padding: 0;
    border: 1px solid #2a2f3a;
    border-radius: 10px;
    background: #1a1d24;
    cursor: zoom-in;
    overflow: hidden;
    transition: border-color 0.15s, transform 0.15s;
}
.stf-product-zoom-btn:hover,
.stf-product-zoom-btn:focus-visible {
    border-color: var(--primary);
    transform: scale(1.03);
    outline: none;
}
.stf-product-zoom-btn img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}
.stf-product-zoom-btn--aggregated img {
    object-fit: contain;
    padding: 0;
    background: #fff;
}
.cart-line-img-btn.stf-product-zoom-btn--aggregated {
    width: 32px;
    height: 32px;
    flex: 0 0 32px;
}
.cart-line-img-btn.stf-product-zoom-btn--aggregated img {
    padding: 0;
    background: #fff;
}
.stf-product-zoom-icon {
    position: absolute;
    right: 2px;
    bottom: 2px;
    width: 14px;
    height: 14px;
    border-radius: 4px;
    background: rgba(0, 0, 0, 0.72);
    color: #fff;
    font-size: 8px;
    display: flex;
    align-items: center;
    justify-content: center;
    pointer-events: none;
}
.pelicula-upsell-img-btn {
    flex: none;
}
.cart-line-img-btn {
    flex: 0 0 32px;
    width: 32px;
    height: 32px;
}
.pelicula-upsell-info {
    flex: 1 1 auto;
    min-width: 0;
    overflow: hidden;
}
.pelicula-upsell-info strong {
    display: block;
    font-size: 0.84rem;
    line-height: 1.3;
    margin: 0 0 3px;
    word-wrap: break-word;
}
.pelicula-upsell-desc {
    margin: 0 0 5px;
    font-size: 0.7rem;
    line-height: 1.35;
    color: #b8bcc6;
}
.pelicula-upsell-model {
    display: block;
    font-size: 0.7rem;
    color: var(--primary);
    font-weight: 600;
    margin-bottom: 2px;
}
.pelicula-upsell-price {
    display: block;
    font-size: 0.78rem;
    font-weight: 700;
    color: #fff;
}
.pelicula-upsell-info span {
    display: block;
    font-size: 0.75rem;
    color: var(--gray);
}
.admin-field-hint {
    display: block;
    font-weight: 400;
    font-size: 0.75rem;
    color: var(--gray);
    margin-top: 2px;
}
.admin-aggregated-compat-hint {
    margin: 0 0 4px;
    font-size: 0.78rem;
    line-height: 1.4;
}
.admin-aggregated-compat-hint code {
    font-size: 0.72rem;
}
.pelicula-upsell-btn {
    border: none;
    border-radius: 8px;
    padding: 11px 14px;
    font-size: 0.82rem;
    font-weight: 700;
    cursor: pointer;
    background: var(--primary);
    color: #000;
    display: block;
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
    text-align: center;
    flex: 0 0 auto;
    margin: 0;
}
.pelicula-upsell-btn:disabled {
    opacity: 0.55;
    cursor: default;
}

.stf-product-lightbox {
    position: fixed;
    inset: 0;
    z-index: 10000;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 24px;
    background: rgba(0, 0, 0, 0.88);
    backdrop-filter: blur(4px);
}
.stf-product-lightbox[hidden] { display: none !important; }
body.stf-lightbox-open { overflow: hidden; }
.stf-lightbox-close {
    position: absolute;
    top: 16px;
    right: 20px;
    width: 44px;
    height: 44px;
    border: none;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.12);
    color: #fff;
    font-size: 28px;
    line-height: 1;
    cursor: pointer;
}
.stf-lightbox-close:hover { background: rgba(255, 255, 255, 0.22); }
.stf-lightbox-figure {
    margin: 0;
    max-width: min(92vw, 520px);
    text-align: center;
}
.stf-lightbox-figure img {
    width: 100%;
    max-height: min(72vh, 520px);
    object-fit: contain;
    border-radius: 16px;
    background: #fff;
    box-shadow: 0 24px 60px rgba(0, 0, 0, 0.5);
}
.stf-lightbox-figure figcaption {
    margin-top: 14px;
    color: #e2e8f0;
    font-size: 0.95rem;
    line-height: 1.4;
}

.admin-product-row--aggregated {
    border-left: 3px solid var(--accent, #2dd4bf);
    padding-left: 12px;
    background: rgba(45, 212, 191, 0.04);
    border-radius: 8px;
}
.admin-badge-aggregated {
    display: inline-block;
    font-size: 0.72rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: #0f766e;
    background: rgba(45, 212, 191, 0.2);
    padding: 2px 8px;
    border-radius: 999px;
    margin-right: 6px;
    vertical-align: middle;
}
.admin-products-summary {
    margin-top: 4px;
    font-weight: 600;
}
.admin-flag-aggregated span {
    color: var(--text, #e2e8f0);
}
.cart-line {
    display: grid;
    grid-template-columns: 52px 1fr auto;
    gap: 10px;
    align-items: start;
    padding: 10px;
    background: #111;
    border: 1px solid #333;
    border-radius: 10px;
}
.cart-line-img { width: 26px; height: 26px; object-fit: cover; border-radius: 6px; }
.cart-line-info { display: flex; flex-direction: column; gap: 4px; min-width: 0; }
.cart-line-info strong { font-size: 0.85rem; line-height: 1.3; }
.cart-line-price { font-size: 0.8rem; color: var(--gray); }
.cart-qty { display: inline-flex; align-items: center; gap: 6px; margin-top: 4px; }
.cart-qty-btn {
    width: 26px; height: 26px;
    border: 1px solid #444;
    background: #1a1a1a;
    color: #fff;
    border-radius: 6px;
    cursor: pointer;
    font-size: 1rem;
    line-height: 1;
}
.cart-remove {
    border: none;
    background: transparent;
    color: #888;
    font-size: 1.4rem;
    cursor: pointer;
    line-height: 1;
    padding: 0 4px;
}
.cart-remove:hover { color: #f66; }
.cart-add-more {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    color: var(--primary);
    text-decoration: none;
    font-size: 0.9rem;
    font-weight: 600;
    margin-bottom: 16px;
}
.loja-card img { width: 100%; aspect-ratio: 1 / 1; object-fit: contain; background: #111; }
.loja-card .stf-album { width: 100%; aspect-ratio: 1 / 1; background: #111; overflow: hidden; }
.loja-card .stf-album img { width: 100%; height: 100%; aspect-ratio: auto; object-fit: contain; object-position: center; background: #111; display: block; }

/* Product photo album — faint arrows on the image */
.stf-album {
  position: relative;
  overflow: hidden;
  user-select: none;
}
.stf-album--fill,
.stf-album--fill img {
  width: 100%;
  height: 100%;
}
.stf-album-btn {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  z-index: 2;
  width: 36px;
  height: 48px;
  padding: 0;
  border: none;
  border-radius: 8px;
  background: rgba(0, 0, 0, 0.45);
  color: rgba(255, 255, 255, 0.92);
  font-size: 1.85rem;
  line-height: 1;
  cursor: pointer;
  opacity: 0.88;
  box-shadow: 0 1px 6px rgba(0, 0, 0, 0.35);
  transition: opacity 0.2s ease, background 0.2s ease, color 0.2s ease;
}
.stf-album-btn:hover,
.stf-album-btn:focus-visible {
  opacity: 1;
  background: rgba(0, 0, 0, 0.65);
  color: #fff;
  outline: none;
}
.stf-album:hover .stf-album-btn { opacity: 1; }
.stf-album-prev { left: 8px; }
.stf-album-next { right: 8px; }

.checkout-product-album {
  margin: 0 0 14px;
}
.checkout-product-album .stf-album {
  border-radius: 12px;
  background: #111;
  /* Frame follows the photo — no tall empty box */
  aspect-ratio: auto;
  width: fit-content;
  max-width: 100%;
  margin-left: auto;
  margin-right: auto;
  overflow: hidden;
}
.checkout-product-album .stf-album img {
  /* Beat .checkout-product-card img { max-width: 200px } which left empty frame around the photo */
  width: auto;
  max-width: min(100%, 320px);
  height: auto;
  max-height: none;
  aspect-ratio: auto;
  object-fit: contain;
  display: block;
  margin: 0;
  border-radius: 12px;
}
@media (max-width: 768px) {
  .checkout-product-album .stf-album img {
    max-width: min(100%, 280px);
  }
}

.product-image-wrap .stf-album,
.kit-box-media .stf-album {
  display: block;
  width: 100%;
}
/* Home product album: square, shrink to fit — never crop */
.product-image-wrap .stf-album {
  width: 100%;
  height: 100%;
  max-width: none;
  margin: 0;
  aspect-ratio: auto;
  background: #111;
  border-radius: 12px;
  overflow: hidden;
}
.product-image-wrap .stf-album img {
  max-width: none;
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: center;
  display: block;
  margin: 0;
}
.kit-box-media .stf-album img {
  max-width: 320px;
  max-height: 280px;
  width: 100%;
  height: auto;
  object-fit: contain;
  display: block;
  margin: 0 auto;
}
/* Loja: square card, full image visible (shrink, don't crop) */
.loja-card .stf-album {
  aspect-ratio: 1 / 1;
  background: #111;
  overflow: hidden;
}
.loja-card .stf-album img {
  width: 100%;
  height: 100%;
  aspect-ratio: auto;
  object-fit: contain;
  object-position: center;
}
.loja-card-body { padding: 16px; display: flex; flex-direction: column; gap: 8px; flex: 1; }
.loja-card h3 { margin: 0; font-size: 1.05rem; color: var(--primary); }
.loja-card p { margin: 0; font-size: 0.9rem; color: var(--gray); flex: 1; }
.loja-price { color: #fff; font-size: 1.1rem; }
.loja-cta { color: var(--primary); font-weight: 700; font-size: 0.9rem; }
.conta-container { max-width: 720px; }
.conta-tabs { display: flex; gap: 8px; margin: 16px 0; }
.conta-tabs.is-hidden-auth-extra { display: none; }
.conta-forgot-row {
  margin: 10px 0 0;
  text-align: left;
}
.conta-forgot-link {
  background: none;
  border: none;
  padding: 0;
  color: var(--primary);
  font: inherit;
  font-size: 0.9rem;
  font-weight: 600;
  cursor: pointer;
  text-decoration: underline;
  text-underline-offset: 2px;
}
a.conta-forgot-link { display: inline-block; }
.conta-panel-tabs { margin-top: 8px; }
.conta-form-section {
    margin: 20px 0 10px;
    font-size: 1rem;
    font-weight: 700;
    color: var(--text);
}
.conta-form-section:first-of-type { margin-top: 0; }
#conta-profile-form input[disabled] { opacity: 0.75; cursor: not-allowed; }
.conta-tab {
    flex: 1;
    padding: 10px;
    border: 1px solid #333;
    background: #111;
    color: #fff;
    border-radius: 8px;
    cursor: pointer;
    font-weight: 700;
}
.conta-tab.active { border-color: var(--primary); color: var(--primary); }
.conta-orders { display: flex; flex-direction: column; gap: 12px; }
.conta-order-card {
    border: 1px solid #333;
    border-radius: 10px;
    padding: 14px;
    background: #141414;
}
.conta-order-head { display: flex; justify-content: space-between; gap: 12px; align-items: center; margin-bottom: 8px; }
.conta-order-status { font-size: 0.8rem; font-weight: 700; padding: 4px 8px; border-radius: 6px; }
.conta-order-status.status-paid { background: rgba(37,211,102,.15); color: #25d366; }
.conta-order-status.status-pending_payment { background: rgba(94,200,216,.15); color: var(--primary); }
.conta-order-status.status-cancelled_by_user,
.conta-order-status.status-cancelled { background: rgba(244,67,54,.12); color: #ef9a9a; }
.conta-order-meta { font-size: 0.85rem; color: var(--gray); margin: 0; }
.conta-order-link { margin-top: 10px; display: inline-flex; text-decoration: none; }
.conta-cancel-box { margin-top: 12px; font-size: 0.85rem; color: var(--gray); }
.conta-cancel-box summary { cursor: pointer; color: #ef9a9a; font-weight: 600; }
.conta-cancel-box label { display: block; margin: 8px 0; }
.conta-cancel-box select,
.conta-cancel-box textarea {
  width: 100%; margin-top: 4px; background: #111; color: #fff; border: 1px solid #333; border-radius: 6px; padding: 8px;
}
.conta-cancel-alts { margin: 6px 0 10px; padding-left: 18px; }
.conta-cancel-btn { margin-top: 8px; }
.conta-empty { color: var(--gray); text-align: center; padding: 24px; }
.product-picker { display: flex; flex-direction: column; gap: 8px; margin-top: 12px; }
.product-pick-btn {
    text-align: left;
    padding: 10px 12px;
    border-radius: 8px;
    border: 1px solid #333;
    background: #111;
    color: #fff;
    cursor: pointer;
    font-size: 0.85rem;
}
.product-pick-btn.active { border-color: var(--primary); color: var(--primary); }
.account-create-wrap { margin-top: 8px; padding-top: 12px; border-top: 1px solid #333; }
.checkout-account-tabs { margin-top: 0; margin-bottom: 12px; }
#btn-checkout-login { margin-top: 8px; }
.account-check { display: flex; align-items: flex-start; gap: 10px; cursor: pointer; font-size: 0.95rem; }
.account-check input { margin-top: 4px; }
.account-logged-banner {
    padding: 14px;
    background: rgba(37, 211, 102, 0.08);
    border: 1px solid rgba(37, 211, 102, 0.35);
    border-radius: 10px;
}
.account-logged-banner p { margin: 0 0 6px; }
.account-logged-banner p:last-child { margin-bottom: 0; }
.account-logged-banner i { color: #25d366; margin-right: 6px; }

/* Menu da conta (header) */
.account-nav-slot { list-style: none; }
.account-nav-login {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    color: #fff;
    text-decoration: none;
    font-weight: 600;
    font-size: 0.9rem;
    padding: 6px 10px;
    border-radius: 8px;
    border: 1px solid transparent;
}
.account-nav-login:hover { border-color: var(--primary); color: var(--primary); }
.account-nav-details { position: relative; }
.account-nav-summary {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    cursor: pointer;
    color: #fff;
    font-weight: 600;
    font-size: 0.9rem;
    padding: 6px 10px;
    border-radius: 8px;
    list-style: none;
    border: 1px solid #444;
    background: #1a1a1a;
}
.account-nav-summary::-webkit-details-marker { display: none; }
.account-nav-summary:hover,
.account-nav-details[open] .account-nav-summary {
    border-color: var(--primary);
    color: var(--primary);
}
.account-nav-name { max-width: 100px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.account-nav-chevron { font-size: 0.65rem; opacity: 0.8; transition: transform .2s; }
.account-nav-details[open] .account-nav-chevron { transform: rotate(180deg); }
.account-nav-menu {
    position: absolute;
    right: 0;
    top: calc(100% + 8px);
    min-width: 220px;
    background: #1a1a1a;
    border: 1px solid #333;
    border-radius: 12px;
    padding: 8px;
    box-shadow: 0 12px 32px rgba(0, 0, 0, 0.45);
    z-index: 200;
    display: flex;
    flex-direction: column;
    gap: 2px;
}
.account-nav-menu-label {
    font-size: 0.75rem;
    color: var(--gray);
    padding: 8px 10px 4px;
    word-break: break-all;
}
.account-nav-menu a,
.account-nav-menu button {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 10px 12px;
    border-radius: 8px;
    color: #fff;
    text-decoration: none;
    font-size: 0.9rem;
    border: none;
    background: transparent;
    cursor: pointer;
    text-align: left;
    width: 100%;
    font-family: inherit;
}
.account-nav-menu a:hover,
.account-nav-menu button:hover { background: #252525; color: var(--primary); }
.account-nav-menu button[data-account-logout]:hover { color: #f88; }
.checkout-nav .account-nav-slot,
.nav-links .account-nav-slot { display: flex; align-items: center; }
.admin-product-row {
    border: 1px solid #333;
    border-radius: 10px;
    padding: 14px;
    margin-bottom: 12px;
    background: #141414;
}
.admin-product-row h4 { margin: 0 0 10px; color: var(--primary); }
.admin-product-row .form-grid { grid-template-columns: 1fr 1fr; }
.admin-ship-methods-wrap,
.admin-intl-zones-wrap {
    margin-top: 4px;
}
.admin-ship-method-row {
    border: 1px solid #2a2a2a;
    border-radius: 8px;
    padding: 12px 14px;
    margin-bottom: 10px;
    background: #121212;
}
.admin-ship-method-grid {
    display: grid;
    grid-template-columns: auto minmax(100px, 0.9fr) minmax(120px, 1fr) minmax(160px, 1.2fr);
    gap: 12px 16px;
    align-items: start;
}
.admin-ship-label-wide {
    grid-column: 1 / -1;
}
.admin-ship-enabled {
    align-self: center;
    min-height: 44px;
}
.admin-ship-method-row .btn-remove-ship-method {
    margin-top: 10px;
}
.admin-motoboy-couriers {
    margin-top: 4px;
}
.admin-motoboy-row {
    border: 1px solid #2a2a2a;
    border-radius: 8px;
    padding: 12px 14px;
    margin-bottom: 10px;
    background: #121212;
}
.admin-motoboy-grid {
    display: grid;
    grid-template-columns: auto 1fr 1fr 1fr;
    gap: 12px 16px;
    align-items: start;
}
.admin-motoboy-active {
    align-self: center;
    min-height: 44px;
}
.admin-motoboy-row .btn-remove-motoboy {
    margin-top: 10px;
}
.admin-motoboy-grid label {
    min-width: 0;
}
.admin-motoboy-grid input {
    width: 100%;
}
.admin-ship-method-grid label,
.admin-intl-grid label {
    min-width: 0;
}
.admin-ship-method-grid input,
.admin-ship-method-grid select,
.admin-intl-grid input,
.admin-intl-grid select {
    width: 100%;
    min-width: 0;
    box-sizing: border-box;
}
.admin-intl-row {
    border: 1px solid #2a2a2a;
    border-radius: 8px;
    padding: 12px 14px;
    margin-bottom: 10px;
    background: #121212;
}
.admin-intl-grid {
    display: grid;
    grid-template-columns: minmax(64px, 0.5fr) minmax(160px, 2fr) minmax(110px, 1fr) minmax(90px, 0.7fr);
    gap: 12px 16px;
    align-items: start;
}
.admin-intl-code-field {
    display: flex;
    align-items: center;
    min-height: 44px;
    padding: 0 12px;
    background: #0a0a0a;
    border: 1px solid #333;
    border-radius: 8px;
    font-weight: 700;
    color: var(--primary);
    font-size: 0.95rem;
    box-sizing: border-box;
}
.admin-quote-result {
    margin-top: 12px;
    padding: 12px 14px;
    background: #0d0d0d;
    border: 1px solid #333;
    border-radius: 8px;
    font-size: 0.88rem;
    line-height: 1.55;
    white-space: pre-wrap;
    color: #ddd;
}
.admin-status-ok { color: #6c6; }
.admin-status-warn { color: #da4; }
.admin-status-bad { color: #f88; }
.admin-status-off { color: #888; }

.admin-api-status-fieldset { margin-top: 1.25rem; }
.admin-api-status-wrap { overflow-x: auto; margin-top: 0.5rem; }
.admin-api-checked-at { margin-top: 0.65rem; font-size: 0.8rem; opacity: 0.85; }
.admin-api-status-table {
    width: 100%;
    border-collapse: collapse;
    font-size: 0.88rem;
}
.admin-api-status-table th,
.admin-api-status-table td {
    padding: 10px 12px;
    text-align: left;
    border-bottom: 1px solid #2a2a2a;
    vertical-align: top;
}
.admin-api-status-table th {
    color: #aaa;
    font-weight: 600;
    font-size: 0.78rem;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    background: #111;
}
.admin-api-status-table td:first-child { white-space: nowrap; }
.admin-api-status-table td:nth-child(2) {
    color: #999;
    max-width: 220px;
    overflow-wrap: anywhere;
    word-break: break-word;
}
.admin-api-status-table tbody tr:hover { background: rgba(255, 255, 255, 0.02); }
.admin-api-status-cell {
    white-space: normal;
    overflow-wrap: anywhere;
    word-break: break-word;
    max-width: 340px;
}
.admin-api-detail-stack {
    display: flex;
    flex-direction: column;
    gap: 4px;
    max-width: 100%;
}
.admin-api-detail-head { font-weight: 600; }
.admin-api-detail-list {
    margin: 0;
    padding: 0 0 0 1.05rem;
    list-style: disc;
    display: flex;
    flex-direction: column;
    gap: 2px;
    max-width: 100%;
}
.admin-api-detail-list li {
    white-space: normal;
    overflow-wrap: anywhere;
    word-break: break-word;
    line-height: 1.35;
}

.admin-payment-balances-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
    gap: 12px;
}
.admin-payment-balance-card {
    border: 1px solid #2a2a2a;
    border-radius: 10px;
    padding: 14px 16px;
    background: #111;
}
.admin-payment-balance-card h3 {
    margin: 0 0 6px;
    font-size: 1rem;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
}
.admin-payment-balance-status {
    font-size: 0.72rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    padding: 2px 8px;
    border-radius: 999px;
    border: 1px solid currentColor;
    white-space: nowrap;
}
.admin-payment-balance-lines {
    margin: 8px 0 0;
    padding-left: 1.05rem;
    color: var(--gray, #aaa);
    font-size: 0.88rem;
    line-height: 1.45;
}
.admin-payment-balance-lines li + li { margin-top: 4px; }
.admin-payment-balance-fix {
    color: #ffb74d;
    list-style: none;
    margin-left: -1.05rem;
    padding: 8px 10px;
    background: rgba(255, 183, 77, 0.08);
    border-radius: 8px;
    border: 1px solid rgba(255, 183, 77, 0.25);
}
.admin-payment-balance-asof {
    margin: 8px 0 0;
    font-size: 0.75rem;
    color: var(--gray, #888);
}

.admin-payment-balances-summary {
    margin-top: 20px;
    padding-top: 18px;
    border-top: 1px solid #2a2a2a;
}

.admin-mp-audit-section {
    margin: 0;
    padding: 12px 14px;
    border: 1px solid rgba(201, 162, 39, 0.35);
    border-radius: 10px;
    background: rgba(201, 162, 39, 0.05);
}
.admin-mp-audit-fold {
    margin-top: 20px;
}
.admin-mp-audit-heading {
    margin: 0 0 8px;
    font-size: 1.05rem;
    color: var(--primary, #c9a227);
    display: flex;
    align-items: center;
    gap: 8px;
}
.admin-payment-summary-title {
    margin: 0 0 8px;
    font-size: 1.05rem;
    color: var(--primary, #c9a227);
}
.admin-payment-summary-note {
    margin: 0 0 14px;
    max-width: 720px;
}
.admin-payment-summary-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
    gap: 12px;
}
.admin-payment-summary-card {
    border: 1px solid #3a3a2a;
    border-radius: 10px;
    padding: 14px 16px;
    background: linear-gradient(180deg, #151510 0%, #111 100%);
}
.admin-payment-summary-card h4 {
    margin: 0 0 8px;
    font-size: 1.1rem;
    letter-spacing: 0.06em;
}
.admin-payment-summary-lines {
    margin: 0;
    padding-left: 1.05rem;
    line-height: 1.5;
    font-size: 0.92rem;
}
.admin-payment-summary-lines li:last-child {
    color: #e8d48a;
    font-weight: 700;
    margin-top: 6px;
}
.admin-payment-summary-gateways {
    margin: 10px 0 0;
    font-size: 0.75rem;
    color: var(--gray, #888);
}

.admin-doc-page .admin-doc-container { max-width: 960px; }
.admin-doc h1 { margin-bottom: 8px; }
.admin-doc-updated { font-size: 0.82rem; color: var(--gray); margin-bottom: 20px; }
.admin-doc-toc {
    display: flex;
    flex-wrap: wrap;
    gap: 8px 12px;
    margin-bottom: 28px;
    padding: 14px 16px;
    background: #111;
    border: 1px solid #2a2a2a;
    border-radius: 12px;
}
.admin-doc-toc a {
    color: var(--primary);
    font-size: 0.85rem;
    font-weight: 600;
    text-decoration: none;
}
.admin-doc-toc a:hover { text-decoration: underline; }
.admin-doc-section {
    margin-bottom: 32px;
    padding-bottom: 24px;
    border-bottom: 1px solid #2a2a2a;
}
.admin-doc-section:last-child { border-bottom: none; }
.admin-doc-section h2 {
    color: var(--primary);
    font-size: 1.15rem;
    margin: 0 0 12px;
}
.admin-doc-section h3 {
    font-size: 0.95rem;
    color: #ccc;
    margin: 18px 0 8px;
}
.admin-doc-table {
    width: 100%;
    border-collapse: collapse;
    font-size: 0.88rem;
    margin: 12px 0;
}
.admin-doc-table th,
.admin-doc-table td {
    padding: 10px 12px;
    text-align: left;
    border-bottom: 1px solid #2a2a2a;
    vertical-align: top;
}
.admin-doc-table th {
    color: #aaa;
    font-size: 0.78rem;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    background: #111;
}
.admin-doc-table a { color: var(--primary); word-break: break-all; }
.admin-doc-table code { font-size: 0.82rem; color: #ddd; }
.admin-doc-list {
    margin: 8px 0 0;
    padding-left: 1.25rem;
    color: #ccc;
    line-height: 1.65;
    font-size: 0.9rem;
}
.admin-doc-steps { padding-left: 1.35rem; }
.admin-doc-pre {
    margin: 12px 0;
    padding: 14px 16px;
    background: #0d0d0d;
    border: 1px solid #333;
    border-radius: 8px;
    overflow-x: auto;
}
.admin-doc-pre code { font-size: 0.88rem; color: #ddd; }
.admin-doc-embed .admin-main { padding-top: 16px; }
.admin-doc-embed .admin-doc-container { max-width: 100%; }
.admin-doc-embed .admin-card { border: none; padding: 0; background: transparent; }
.admin-doc-embed .admin-doc-toc { display: none; }
.admin-doc-gate { text-align: center; padding: 48px 24px; }
.admin-doc-gate h1 { justify-content: center; }
#admin-doc-frame {
    display: block;
    width: 100%;
    flex: 1;
    height: calc(100vh - 240px);
    min-height: 480px;
    border: 1px solid #2a2a2a;
    border-radius: 12px;
    background: #0a0a0a;
}

.admin-product-flags {
    grid-column: 1 / -1;
    display: flex;
    flex-wrap: wrap;
    gap: 16px 24px;
    padding-top: 4px;
}
.admin-channels-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
    gap: 8px 16px;
    margin-bottom: 4px;
}
.admin-channels-grid .label-check {
    margin: 0;
}
.admin-channels-list {
    display: flex;
    flex-direction: column;
    gap: 10px;
    margin-bottom: 4px;
}
.admin-cadastros-hub {
    margin: 0 0 14px;
    padding-bottom: 10px;
    border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}
.admin-sw-filters {
    display: flex;
    flex-wrap: wrap;
    gap: 12px 16px;
    align-items: end;
    margin-bottom: 12px;
}
.admin-sw-filters label {
    margin: 0;
    min-width: 140px;
}
.admin-sw-filters select,
.admin-sw-filters input[type="number"],
.admin-sw-filters input[type="text"] {
    min-width: 120px;
}
#admin-sw-table input[type="text"],
#admin-sw-table input[type="number"] {
    width: 100%;
    font-size: 0.85rem;
}
#admin-sw-table .admin-sw-remove {
    padding: 4px 10px;
    min-width: 0;
}
.admin-channel-row {
    display: grid;
    grid-template-columns: minmax(120px, 140px) minmax(0, 1fr);
    gap: 10px 14px;
    align-items: center;
}
.admin-channel-row .label-check {
    margin: 0;
}
.admin-channel-row input[type="url"] {
    width: 100%;
    min-width: 0;
    font-size: 0.82rem;
}
@media (max-width: 640px) {
    .admin-channel-row {
        grid-template-columns: 1fr;
        gap: 6px;
    }
}
.admin-form .label-check,
.form-grid .label-check {
    display: inline-flex !important;
    flex-direction: row !important;
    align-items: center;
    gap: 8px;
    font-size: 0.85rem;
    font-weight: 600;
    color: #ccc;
    cursor: pointer;
    margin: 0;
    width: auto;
}
.admin-form .label-check input[type="checkbox"],
.form-grid .label-check input[type="checkbox"] {
    width: 18px;
    height: 18px;
    min-height: 18px;
    padding: 0;
    margin: 0;
    flex-shrink: 0;
    accent-color: var(--primary);
    cursor: pointer;
    border: 1px solid #555;
    background: #0a0a0a;
    border-radius: 4px;
}
.admin-form #btn-offline-mode { margin-top: 4px; }

@media (max-width: 900px) {
    .admin-form .form-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
    .admin-ship-method-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
    .admin-intl-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 768px) {
    body.admin-page { padding-top: 0; }
    .admin-page header,
    .admin-header {
        position: sticky;
        min-height: auto;
        padding: 10px 0;
    }
    .admin-logo-link { width: 44px; height: 44px; }
    .admin-page .logo-text { font-size: 1rem; }
    .admin-panel-header { flex-direction: column; }
    .admin-panel-actions { flex-wrap: wrap; }
    .admin-container { max-width: 100%; }
    .admin-form .form-grid { grid-template-columns: 1fr; }
    .admin-product-row .form-grid { grid-template-columns: 1fr; }
    .admin-ship-method-grid,
    .admin-intl-grid { grid-template-columns: 1fr; }
    .admin-card { padding: 20px; border-radius: 16px; }
}

/* —— Comunidade / fórum (beta testadores) —— */
.forum-container { max-width: 820px; }
.forum-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 1rem;
  flex-wrap: wrap;
  margin: 0 0 1.25rem;
  padding: 0.65rem 0 0.75rem;
  position: sticky;
  top: 96px; /* abaixo do menu principal (header sticky) */
  z-index: 900;
  background: rgba(10, 10, 10, 0.97);
  border-bottom: 1px solid #222;
  /* não herdar estilos do <header> do site */
  min-height: 0;
  width: auto;
}
.forum-header h1 {
  margin: 0;
  font-size: 1.35rem;
  color: #fff;
}
.forum-page .forum-header h1 { color: #fff; }
.forum-you { color: #eee; }
@media (max-width: 768px) {
  .forum-header {
    top: 78px; /* header fixed mobile */
  }
}
.forum-dev-banner {
  display:inline-flex; align-items:center; gap:.4rem;
  margin:0; padding:.35rem .7rem; border-radius:6px;
  background:rgba(94,200,216,.15); color:var(--text, #222); font-size:.85rem; font-weight:600;
}
.forum-gate { text-align:center; padding:2rem 1.25rem; }
.forum-thread-card { margin:0 0 .85rem; }
.forum-thread-open {
  width:100%; text-align:left; cursor:pointer;
  border:1px solid rgba(0,0,0,.08); background:#fff; border-radius:12px;
  padding:1rem 1.1rem; transition:box-shadow .15s ease, border-color .15s;
  display:block; text-decoration:none; color:inherit;
}
.forum-thread-open:hover { border-color:rgba(0,0,0,.18); box-shadow:0 4px 18px rgba(0,0,0,.06); }
.forum-thread-open h2 { margin:0 0 .4rem; font-size:1.1rem; }
.forum-thread-open p { margin:0 0 .75rem; color:#555; font-size:.95rem; }
.forum-thread-meta { display:flex; flex-wrap:wrap; gap:.75rem; align-items:center; font-size:.82rem; color:#666; }
.forum-author { display:inline-flex; align-items:center; gap:.45rem; }
.forum-avatar {
  width:2rem; height:2rem; border-radius:50%;
  display:inline-flex; align-items:center; justify-content:center;
  background:#f3f3f3; font-size:1.1rem;
}
.forum-author-meta { display:flex; flex-direction:column; line-height:1.2; }
.forum-author-meta small { color:#888; font-weight:400; }
.forum-badge-tester {
  display:inline-block; margin-left:.35rem; padding:.05rem .35rem;
  font-size:.65rem; text-transform:uppercase; letter-spacing:.03em;
  background:#111; color:#5EC8D8; border-radius:4px; vertical-align:middle;
}
.forum-compose, .forum-profile-setup, .forum-thread-detail { margin-bottom:1.25rem; }
.forum-avatar-grid { display:flex; flex-wrap:wrap; gap:.5rem; margin:.5rem 0 1rem; }
.forum-avatar-pick {
  width:2.75rem; height:2.75rem; border-radius:10px; border:2px solid transparent;
  background:#f5f5f5; font-size:1.35rem; cursor:pointer;
}
.forum-avatar-pick.is-selected, .forum-avatar-pick:hover { border-color:#5EC8D8; background:#0f2a2e; }
.forum-body { margin:1rem 0; line-height:1.55; white-space:normal; color:#1f1f1f !important; }
.forum-reply {
  border:1px solid rgba(0,0,0,.08); border-radius:12px;
  padding:1rem; margin:0 0 .75rem; background:#fff;
  color:#1f1f1f !important;
}
.forum-reply-head {
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:.75rem;
  margin:0;
  padding:0;
  background:transparent;
  border:0;
  position:static;
  z-index:auto;
  color:#1f1f1f;
}
.forum-reply-head time { color:#666; font-size:.82rem; }
.forum-page .forum-reply .forum-body,
.forum-page .forum-thread-detail .forum-body {
  color:#1f1f1f !important;
}
.forum-page .admin-card,
.forum-page .forum-thread-open,
.forum-page .forum-compose,
.forum-page .forum-profile-setup,
.forum-page .forum-gate {
  background:#fff;
  border-color:rgba(0,0,0,.1);
  color:#1f1f1f;
}
.forum-page .admin-card h1,
.forum-page .forum-thread-open h2,
.forum-page .forum-compose h2,
.forum-page .forum-profile-setup h2 {
  color:#111;
}
.forum-page .admin-meta,
.forum-page .forum-thread-meta,
.forum-page .forum-author-meta small,
.forum-page time {
  color:#666;
}
.forum-page .forum-thread-open p { color:#444; }
.forum-page .forum-author-meta strong { color:#111; }
.forum-reply.is-pending { opacity:1; border-style:dashed; background:#fffdf5; }
.forum-pending { margin-left:.5rem; font-size:.75rem; color:#a67c00; }
.forum-reply-children { margin-left:1rem; border-left:2px solid rgba(0,0,0,.05); padding-left:1rem; }
.forum-reply-actions { margin-top:.85rem; }
.forum-reply-action {
  display:inline-flex; align-items:center; gap:.35rem;
  padding:.45rem .85rem;
  border:1px solid rgba(0,0,0,.18);
  border-radius:999px;
  background:#111 !important;
  color:#fff !important;
  cursor:pointer;
  font-size:.86rem;
  font-weight:700;
}
.forum-reply-action:hover { background:#333 !important; color:#fff !important; }
.forum-page .btn-secondary {
  background:#111 !important;
  color:#fff !important;
  border:1px solid #111 !important;
}
.forum-page .btn-secondary:hover {
  background:#333 !important;
  color:#fff !important;
}
.forum-page .btn-danger-outline {
  background:#fff !important;
  color:#b71c1c !important;
  border:1px solid #c62828 !important;
  font-size:.82rem;
  padding:.4rem .75rem;
}
.forum-page .btn-primary {
  color:#000 !important;
}
.forum-reply-target { display:flex; justify-content:space-between; align-items:center; gap:.75rem; padding:.85rem 1rem; border:1px solid rgba(0,0,0,.12); border-radius:12px; background:#f8fbff; margin-bottom:.75rem; }
.forum-reply-target strong { color:#111; }
.forum-media { display:grid; gap:.75rem; margin-top:.75rem; }
.forum-media-img img { max-width:100%; border-radius:10px; display:block; }
.forum-media-video { position:relative; padding-bottom:56.25%; height:0; overflow:hidden; border-radius:10px; }
.forum-media-video iframe { position:absolute; inset:0; width:100%; height:100%; border:0; }
.forum-list { margin-top:0; margin-bottom:1.25rem; }

.forum-compose-actions { display:flex; flex-wrap:wrap; gap:.75rem; margin-top:1rem; justify-content:center; }
.forum-compose-locked { text-align:center; }

.forum-compose--new {
  margin-top: .5rem;
  margin-bottom: 0;
  padding: 14px 16px;
}
.forum-compose--new h2 {
  margin: 0 0 .25rem;
  font-size: 1.05rem;
}
.forum-compose--new .forum-compose-hint {
  margin: 0 0 .65rem;
  font-size: .82rem;
  line-height: 1.3;
}
.forum-compose--new .forum-compose-form {
  gap: .55rem;
}
.forum-compose--new .forum-compose-form label {
  margin: 0;
  font-size: .88rem;
  gap: .25rem;
}
.forum-compose--new .forum-compose-form input,
.forum-compose--new .forum-compose-form textarea {
  padding: .45rem .6rem;
  font-size: .92rem;
}
.forum-compose--new .forum-compose-form textarea {
  min-height: 4.5rem;
  resize: vertical;
}
.forum-compose--new .btn-primary {
  margin-top: .15rem;
  padding: .55rem 1rem;
}
.forum-compose-media {
  margin: .15rem 0 0;
  font-size: .88rem;
  color: #555;
}
.forum-compose-media summary {
  cursor: pointer;
  user-select: none;
  padding: .2rem 0;
  color: #666;
}
.forum-compose-media[open] summary {
  margin-bottom: .4rem;
}
.forum-compose-media label {
  display: flex;
  flex-direction: column;
  gap: .25rem;
  margin-bottom: .45rem;
}

.forum-badge-official {
  display:inline-block; margin-left:.35rem; padding:.05rem .35rem;
  font-size:.65rem; text-transform:uppercase; letter-spacing:.03em;
  background:#0d47a1; color:#fff; border-radius:4px; vertical-align:middle;
}
.forum-badge-super {
  display:inline-block; margin-left:.35rem; padding:.05rem .35rem;
  font-size:.65rem; text-transform:uppercase; letter-spacing:.03em;
  background:#1b5e20; color:#c8e6c9; border-radius:4px; vertical-align:middle;
}
.forum-author.is-super .forum-avatar { box-shadow:0 0 0 2px #2e7d32; }
.forum-author.is-official .forum-avatar { box-shadow:0 0 0 2px #0d47a1; }
.forum-page .forum-reply:has(.forum-author.is-official),
.forum-page .forum-thread-detail:has(.forum-author.is-official) {
  background:#eef4fb;
  border:1px solid rgba(13,71,161,.28);
  color:#1a1a1a;
}
.forum-page .forum-reply:has(.forum-author.is-official) .forum-body,
.forum-page .forum-reply:has(.forum-author.is-official) .forum-author-meta strong,
.forum-page .forum-reply:has(.forum-author.is-official) time {
  color:#1a1a1a;
}
.forum-page .forum-reply:has(.forum-author.is-official) .forum-author-meta small {
  color:#555;
}
.forum-related-box {
  margin: .75rem 0 1rem;
  padding: .9rem 1rem;
  border: 1px solid rgba(0,0,0,.12);
  border-radius: 12px;
  background: rgba(94, 200, 216, .08);
}
.forum-related-prompt p { margin: 0 0 .5rem; }
.forum-related-list { list-style: none; margin: .75rem 0 0; padding: 0; display: grid; gap: .5rem; }
.forum-related-pick {
  width: 100%;
  text-align: left;
  display: grid;
  gap: .2rem;
  padding: .7rem .85rem;
  border-radius: 10px;
  border: 1px solid rgba(0,0,0,.12);
  background: #fff;
  cursor: pointer;
  font: inherit;
}
.forum-related-pick:hover { border-color: #c9a227; background: #fffdf5; }
.forum-related-pick strong { font-size: .95rem; }
.forum-related-pick span { color: #555; font-size: .88rem; }
.forum-related-pick small { color: #888; }
.forum-related-actions { margin-top: .85rem; display: flex; flex-wrap: wrap; gap: .5rem; }
