/* =====================================================================
   TikTok Shop Theme — RE-SKIN ONLY (não altera nenhuma função/JS/markup)
   Carregado por último (footer.php) para vencer a cascata.
   Cobre: coleção, mini-carrinho, página de produto e formulário (modal).
   ===================================================================== */
:root{
    --tt-red:#FE2C55;
    --tt-red-dark:#E61E48;
    --tt-ink:#161823;
    --tt-ink-2:#73767f;
    --tt-ink-3:#9a9da4;
    --tt-bg:#f4f4f6;
    --tt-radius:12px;
}

/* =========================================================
   0) HEADER TIKTOK (único header — global, vindo do header.php)
   ========================================================= */
.tt-header{
    position:sticky; top:0; z-index:60;
    background:#fff;
    box-shadow:0 1px 0 #f0f0f2;
    padding:10px 14px;
}
.tt-header-row{
    display:flex; align-items:center; gap:10px;
    max-width:1280px; margin:0 auto;
}
.tt-header-menu,
.tt-header-cart{
    flex:none; background:none; border:0; padding:0; cursor:pointer;
    color:var(--tt-ink); display:flex; align-items:center; position:relative;
}
.tt-header-logo{ flex:none; display:flex; align-items:center; }
.tt-header-logo img{ height:30px; width:auto; display:block; }
.tt-header-search{
    flex:1; min-width:0;
    display:flex; align-items:center; gap:8px;
    background:#f3f3f5; border:1.5px solid var(--tt-red); border-radius:999px;
    padding:8px 12px; color:var(--tt-ink-3); font-size:13px;
}
.tt-header-search svg{ flex:none; }
.tt-header-search span{ white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
/* input real de busca (abre o teclado ao tocar) */
.tt-header-search input{
    flex:1; min-width:0; width:100%;
    border:0 !important; background:transparent !important; outline:none !important;
    font-family:inherit; font-size:13px; color:var(--tt-ink);
    padding:0; margin:0; -webkit-appearance:none; appearance:none;
}
.tt-header-search input::placeholder{ color:var(--tt-ink-3); opacity:1; }
.tt-header-search input::-webkit-search-cancel-button{ -webkit-appearance:none; appearance:none; }
/* mensagem "sem resultados" da busca na coleção */
.tt-search-empty{ display:none; padding:24px 14px 40px; text-align:center; color:var(--tt-ink-2); font-size:14px; }
/* badge da contagem do carrinho (atualizado pela função updateCartCount) */
.tt-header-cart #cartCount{
    position:absolute; top:-6px; right:-8px;
    background:var(--tt-red); color:#fff;
    font-size:10px; font-weight:700;
    border-radius:999px; min-width:16px; height:16px;
    display:flex; align-items:center; justify-content:center; padding:0 4px;
    line-height:1;
}
/* esconde a topbar antiga da collection (agora o header é global)
   — NÃO esconde .header aqui para não arriscar sumir o header em
     páginas onde o header.php novo ainda não foi aplicado. */
.tt-topbar{ display:none !important; }

/* esconde a announcement bar (ticker que gira em cima do header) */
.horizontal-ticker{ display:none !important; }

/* =========================================================
   1) COLEÇÃO (re-skin do markup original product-card)
   ========================================================= */
.product-list{
    gap:9px !important;
}
.product-card{
    background:#fff !important;
    border-radius:var(--tt-radius) !important;
    overflow:hidden !important;
    box-shadow:0 1px 4px rgba(22,24,35,.06) !important;
}
.product-card__image{
    object-fit:cover !important;
    border-radius:0 !important;
}
.badge--on-sale,
.product-card .badge{
    background:var(--tt-red) !important;
    color:#fff !important;
    border-radius:4px !important;
    font-weight:800 !important;
}
.product-card__info{ text-align:left !important; }
.product-card__title a{ text-align:left !important; font-weight:500 !important; color:var(--tt-ink) !important; }
.price-list{ justify-content:flex-start !important; }
.sale-price,
.product-card .sale-price{ color:var(--tt-red) !important; font-weight:800 !important; }
.product-card__add-to-cart,
.product-card__order-now{
    background:var(--tt-red) !important;
    border-radius:999px !important;
}

/* =========================================================
   2) MINI-CARRINHO (cart_content.php — classes cart-*)
   ========================================================= */
.cart-item__image{ border-radius:10px !important; }
.cart-item__price,
.cart-item__savings{ color:var(--tt-red) !important; }
.cart-reservation-banner{
    background:linear-gradient(100deg,#ff2d55 0%,#ff5e3a 100%) !important;
    color:#fff !important;
}
.cart-checkout-button{
    background:var(--tt-red) !important;
    border-radius:999px !important;
    letter-spacing:.02em !important;
}
.cart-checkout-button:hover{ filter:brightness(.95); }
.cart-empty__button{
    background:var(--tt-red) !important;
    border-radius:999px !important;
}
.cart-empty__button:hover{ background:var(--tt-red-dark) !important; }
.cart-upsell__add-btn{
    background:var(--tt-red) !important;
    border-radius:999px !important;
}
.cart-upsell__badge{ background:var(--tt-red) !important; }
.cart-upsell__price{ color:var(--tt-red) !important; }
.cart-upsell__item{ border-radius:10px !important; }

/* =========================================================
   3) PÁGINA DE PRODUTO (product.php — classes product-*/price-*)
   ========================================================= */
.main-price,
.price-item--sale.main-price,
.price__regular .accent-color-accent-1,
.accent-color-accent-1{
    color:var(--tt-red) !important;
}
.price__badge-sale,
.color-accent-2,
.product-info .badge{
    background:var(--tt-red) !important;
    color:#fff !important;
}
.product-info__buy-button{
    background:var(--tt-red) !important;
    border-radius:999px !important;
}
.product-info__buy-button:hover{ filter:brightness(.95); }
.product-gallery__image{ border-radius:var(--tt-radius) !important; }
/* chip de variante selecionada em vermelho */
.product-variant-chip.active,
.product-variant-chip[aria-checked="true"],
.product-variant-chip.selected{
    border-color:var(--tt-red) !important;
    color:var(--tt-red) !important;
}

/* =========================================================
   4) FORMULÁRIO / MODAL CHECKOUT (payment_modal.php — rsi-*)
      (a cor de fundo dos botões é trocada no PHP, pois usa
       style inline !important que CSS externo não vence)
   ========================================================= */
.rsi-text-input-row,
.rsi-select-input-row{
    border-radius:10px !important;
}
.rsi-text-input-row:focus-within,
.rsi-select-input-row:focus-within{
    border-color:var(--tt-red) !important;
    box-shadow:0 0 0 2px rgba(254,44,85,.12) !important;
}
.rsi-text-input-required,
.rsi-select-required{ color:var(--tt-red) !important; }
.rsi-order-summary-box{
    background:#f7f7f8 !important;
    border-radius:var(--tt-radius) !important;
}
.rsi-order-summary-total .rsi-order-summary-value{ color:var(--tt-red) !important; }
.rsi-review-section-title .bar,
.sec-title .bar{ background:var(--tt-red) !important; }
/* botão principal de finalizar: bordas arredondadas estilo TikTok
   (cor vem do PHP $btnCheckoutColor agora = vermelho) */
.rsi-submit_button,
._rsi-modal-submit-button{
    border-radius:999px !important;
}

/* --- Itens do pedido no estilo TikTok --- */
#rsi_form_wrapper .rsi-order-product-item{ border-bottom:1px solid #f0f0f0 !important; }
#rsi_form_wrapper .rsi-order-product-image,
#rsi_form_wrapper .rsi-order-product-image-wrapper{ border-radius:8px !important; }
#rsi_form_wrapper .rsi-order-product-quantity{ background:var(--tt-red) !important; }
#rsi_form_wrapper .rsi-order-product-price{ color:var(--tt-red) !important; }

/* Estrelas: vira estrela cheia dourada (em vez da caixinha preta quebrada) */
#rsi_form_wrapper .rsi-order-product-item .collection-star-section{ --bk-star-size:14px !important; --bk-star-medium:1 !important; }
#rsi_form_wrapper .rsi-order-product-item .collection-star-section .bk-fill-secondary{ fill:transparent !important; }
#rsi_form_wrapper .rsi-order-product-item .collection-star-section svg path[fill="white"]{ fill:#FFC107 !important; }
#rsi_form_wrapper .rsi-order-product-item .collection-star-section svg{ overflow:visible !important; }
#rsi_form_wrapper .rsi-order-product-item .collection-star-section .bk-container{ gap:1px !important; flex-wrap:nowrap !important; }
#rsi_form_wrapper .rsi-order-product-item .collection-star-section .tw-font-bold{ color:var(--ink) !important; }
#rsi_form_wrapper .rsi-order-product-item .collection-star-section .tw-text-md,
#rsi_form_wrapper .rsi-order-product-item .collection-star-section span{ font-size:11px !important; color:var(--ink-2) !important; }

/* =========================================================
   5) ESTRELAS DOURADAS GLOBAIS (coleção, produto, reviews, form)
      Converte as "caixinhas" Trustpilot em estrelas cheias douradas.
      Escopo: apenas SVGs de estrela (têm class bk-fill-secondary).
   ========================================================= */
svg.bk-fill-secondary{ fill:transparent !important; overflow:visible !important; }
svg.bk-fill-secondary .bk-fill-secondary{ fill:transparent !important; }
svg.bk-fill-secondary path[fill="white"]{ fill:#FFC107 !important; }

/* Reviews da página de produto — visual TikTok mais limpo */
#bk-reviews-section .trust-theme-card,
#bk-reviews-section [class*="bk-bg-tertiary"]{
    background:#fff !important;
    border-radius:14px !important;
    box-shadow:0 2px 10px rgba(22,24,35,.08) !important;
}
#bk-reviews-section h2{ color:var(--tt-ink) !important; }

/* =========================================================
   6) FOOTER TIKTOK (global — vindo do footer.php)
   ========================================================= */
/* Barra de confiança — seção própria ANTES do footer */
.tt-trust-bar{ background:#fff; max-width:480px; margin:0 auto; padding:16px; }
.tt-trust-bar .tt-footer-trust{ margin-bottom:0; }
.tt-trust-bar .ti{ background:#f4f4f6 !important; }

.tt-footer{
    background:#f1f1f4;                 /* levemente cinza */
    border-top:1px solid #dcdce1;       /* linha separadora com a parte de cima */
    padding:24px 16px calc(28px + env(safe-area-inset-bottom));
    max-width:480px; margin:0 auto;
    font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;
    color:var(--tt-ink);
    text-align:center;                  /* centraliza todos os textos */
}
.tt-footer-trust{
    display:grid; grid-template-columns:repeat(3,1fr); gap:8px; margin-bottom:18px;
}
.tt-footer-trust .ti{
    display:flex; flex-direction:column; align-items:center; gap:5px; text-align:center;
    background:#fff; border-radius:12px; padding:12px 6px;
}
.tt-footer-trust .ti svg{ width:22px; height:22px; color:var(--tt-red); }
.tt-footer-trust .ti span{ font-size:11px; font-weight:600; color:var(--tt-ink-2); line-height:1.25; }
.tt-footer-brand{ display:flex; align-items:center; justify-content:center; gap:10px; margin-bottom:14px; }
.tt-footer-brand img{ height:24px; width:auto; }
.tt-footer-brand .bd{ font-size:12px; color:var(--tt-ink-2); }
.tt-footer-brand .bd b{ color:var(--tt-ink); }
.tt-footer-links{
    display:flex; flex-wrap:wrap; justify-content:center; gap:10px 16px; margin-bottom:16px;
}
.tt-footer-links a{ font-size:12px; color:var(--tt-ink-2); text-decoration:none; }
.tt-footer-links a:hover{ color:var(--tt-red); }
.tt-footer-pay{ display:flex; flex-wrap:wrap; justify-content:center; gap:6px; margin-bottom:14px; }
.tt-footer-pay span{
    font-size:10px; font-weight:700; color:var(--tt-ink-2);
    border:1px solid #dcdce1; border-radius:5px; padding:3px 7px; background:#fff;
}
.tt-footer-copy{ font-size:11px; color:var(--tt-ink-3); line-height:1.6; text-align:center; }
.tt-footer-copy b{ color:var(--tt-ink-2); }
/* esconde o footer antigo (imagem) caso ainda renderize */
footer:not(.tt-footer) > img[alt="Footer"]{ display:none !important; }

/* =========================================================
   7) MINI-CARRINHO — redesign TikTok persuasivo (SÓ layout)
      Mantém todas as classes/JS; apenas re-skin via !important.
   ========================================================= */
@keyframes ttPulse{0%,100%{transform:scale(1)}50%{transform:scale(1.015)}}
@keyframes ttDot{0%,100%{opacity:1}50%{opacity:.35}}

/* drawer: cantos arredondados + sombra suave */
.cart-drawer{ box-shadow:-8px 0 30px rgba(22,24,35,.18) !important; }
@media (min-width:641px){
    .cart-drawer{ border-top-left-radius:18px !important; border-bottom-left-radius:18px !important; overflow:hidden !important; }
}
#cart-drawer-content-container, .cart-content-wrapper{ background:#f6f6f8 !important; }

/* header do carrinho */
.cart-header{ background:#fff !important; border-bottom:1px solid #eee !important; padding:16px 18px !important; }
.cart-header__title{ font-size:18px !important; font-weight:800 !important; color:var(--tt-ink) !important; letter-spacing:-.2px !important; }
.cart-header__close{ width:34px !important; height:34px !important; border-radius:50% !important; background:#f1f1f3 !important; color:var(--tt-ink) !important; font-size:20px !important; }

/* banner de urgência (reserva) — vermelho TikTok com pulso */
.cart-reservation-banner{
    background:linear-gradient(100deg,#ff2d55,#ff5e3a) !important;
    color:#fff !important; font-weight:700 !important; font-size:13px !important;
    padding:10px 14px !important; letter-spacing:.2px !important;
}
.cart-reservation-banner #cart-reservation-timer{
    display:inline-block; background:rgba(0,0,0,.22); border-radius:6px;
    padding:1px 8px; font-weight:800; margin-left:4px; animation:ttDot 1s infinite;
}

/* itens viram cartões brancos arredondados */
.cart-items-wrapper{ padding:12px !important; display:flex !important; flex-direction:column !important; gap:10px !important; }
.cart-item{
    background:#fff !important; border:0 !important; border-radius:14px !important;
    padding:12px !important; gap:12px !important; box-shadow:0 1px 4px rgba(22,24,35,.06) !important;
    align-items:center !important;
}
.cart-item__image{ width:78px !important; height:78px !important; border-radius:12px !important; }
.cart-item__name{ font-size:13.5px !important; font-weight:700 !important; color:var(--tt-ink) !important; line-height:1.3 !important;
    display:-webkit-box !important; -webkit-line-clamp:2 !important; -webkit-box-orient:vertical !important; overflow:hidden !important; }
.cart-item__meta{ font-size:11px !important; color:var(--tt-ink-2) !important; }
.cart-item__price{ color:var(--tt-red) !important; font-weight:800 !important; font-size:16px !important; }
.cart-item__price-old{ color:var(--tt-ink-3) !important; }
/* "Ahorras X" — selo de economia em vermelho TikTok (sem verde) */
.cart-item__savings{
    color:var(--tt-red) !important; font-weight:800 !important; font-size:11px !important;
    background:#fff0f3 !important; border-radius:6px !important; padding:1px 6px !important;
}
.cart-summary__row--savings .cart-summary__value{ color:var(--tt-red) !important; font-weight:800 !important; }

/* stepper de quantidade arredondado */
quantity-input.cart-quantity{ border-radius:999px !important; border-color:#e3e3e6 !important; background:#fff !important; }
.quantity__button{ color:var(--tt-ink) !important; }
.quantity__input{ color:var(--tt-ink) !important; font-weight:700 !important; }
.cart-item__remove{ color:var(--tt-ink-3) !important; }
.cart-item__remove:hover{ color:var(--tt-red) !important; }

/* resumo fixo embaixo */
.cart-summary{
    background:#fff !important; border-top:1px solid #eee !important;
    box-shadow:0 -6px 20px rgba(22,24,35,.10) !important;
    border-top-left-radius:18px !important; border-top-right-radius:18px !important;
    padding:16px 18px calc(18px + env(safe-area-inset-bottom)) !important;
}
.cart-summary__label{ color:var(--tt-ink) !important; }
.cart-summary__value{ color:var(--tt-ink) !important; font-weight:800 !important; }

/* botão de checkout — pill vermelho grande, com leve pulso */
.cart-checkout-button{
    background:linear-gradient(100deg,#FE2C55,#ff5e3a) !important;
    border-radius:999px !important; min-height:56px !important;
    box-shadow:0 8px 20px rgba(254,44,85,.30) !important;
    letter-spacing:.04em !important; animation:ttPulse 2.4s ease-in-out infinite;
}
.cart-checkout-button:hover{ filter:brightness(1.03) !important; }
.cart-checkout-button__main-text{ font-weight:800 !important; }
.cart-checkout-button__sub-text{ opacity:.95 !important; }

/* upsell — mini cards TikTok */
.cart-upsell{ border-top:0 !important; padding-top:6px !important; }
.cart-upsell__title{ font-size:14px !important; font-weight:800 !important; color:var(--tt-ink) !important; }
.cart-upsell__item{ border:0 !important; border-radius:12px !important; box-shadow:0 1px 4px rgba(22,24,35,.07) !important; flex-basis:130px !important; }
.cart-upsell__badge{ background:var(--tt-red) !important; }
.cart-upsell__price{ color:var(--tt-red) !important; font-weight:800 !important; }
.cart-upsell__add-btn{ background:var(--tt-red) !important; border-radius:999px !important; }

/* carrinho vazio */
.cart-empty__title{ font-weight:700 !important; color:var(--tt-ink) !important; }
.cart-empty__button{ background:var(--tt-red) !important; border-radius:999px !important; }

/* =========================================================
   8) PÁGINA DE PRODUTO — fiel ao TikTok Shop (SÓ layout)
   ========================================================= */
.product-info{ gap:1.25rem !important; }

/* badges (Envío gratis · Pago al recibir · Más vendido) — sem verde, UMA linha */
.tt-badges{ display:flex; flex-wrap:nowrap; gap:5px; margin-bottom:10px; width:100%; }
.tt-badge-ship{
    display:inline-flex; align-items:center; justify-content:center;
    background:#fff0f3; color:var(--tt-red); border:1px solid #ffd0db;
    font-size:.6rem; font-weight:700; text-transform:uppercase;
    padding:3px 6px; border-radius:5px; letter-spacing:.1px; white-space:nowrap;
    flex:1 1 0; min-width:0; line-height:1.2;
}

/* galeria: remove o GAP grande herdado de `.section{margin:3rem/4rem 0}`
   (sem usar margin negativo) e centraliza a imagem com folga pequena e uniforme */
.section:has(.product-main-container){ margin-top:16px !important; margin-bottom:0 !important; }
.product-main-container{ padding-top:0 !important; }
.product-main-grid{ margin-top:0 !important; padding-top:0 !important; gap:1.5rem !important; padding-bottom:0 !important; }
.product-gallery{ margin:0 auto !important; align-items:center !important; }
.product-gallery__wrapper{ margin-left:auto !important; margin-right:auto !important; }
.product-gallery__thumbs-wrap{ margin-left:auto !important; margin-right:auto !important; }

/* espaçamento HOMOGÊNEO entre as linhas/blocos da coluna de info
   (zera margens individuais e usa um gap único de flex) */
.product-info{ gap:1.25rem !important; }
.product-info > div:first-child{ display:flex !important; flex-direction:column !important; gap:1rem !important; }
.product-info > div:first-child > *{ margin:0 !important; }
.tt-badges,
.product-info__title,
.tt-rate-line,
.rating-stars-and-text,
.price__container,
.product-form__variants,
.product-form__quantity{ margin:0 !important; }

/* espaçamento HOMOGÊNEO entre as grandes seções (galeria → vídeos → opiniones → recomendados) */
/* card do perfil centralizado entre o botão (gap 1.25rem acima) e Publicaciones (1.25rem abaixo) */
.product-info > .tt-store-card{ margin:0 !important; }
.tt-videos{ margin-top:1.25rem !important; padding-top:0 !important; padding-bottom:0 !important; }
.tt-reviews{ margin-top:1.25rem !important; padding-top:0 !important; padding-bottom:0 !important; }
.tt-reviews-head{ padding-bottom:12px !important; }
.recommended-products-section{ margin-top:2rem !important; padding-top:2rem !important; }

/* RATING line — estrelas douradas limpas (substitui o trustpilot cinza/sombra) */
.tt-rate-line{ display:flex; align-items:center; flex-wrap:wrap; gap:6px 8px; }
.tt-rate-score{ font-size:1.35rem; font-weight:800; color:var(--tt-ink); line-height:1; }
.tt-rate-stars{ color:#FBBF24; font-size:1.05rem; letter-spacing:1px; }
.tt-rate-count{ color:var(--tt-ink-2); font-size:.85rem; }

/* "Cantidad" — seletor unificado e completo (sem bordas soltas) */
.product-form__quantity{ overflow:visible !important; height:auto !important; }
.product-form__quantity .quantity__label{
    display:block !important; white-space:normal !important; overflow:visible !important;
    font-weight:700 !important; font-size:.85rem !important; margin-bottom:8px !important; color:var(--tt-ink) !important;
}
.quantity-input-wrapper{
    display:inline-flex !important; align-items:center !important; gap:14px !important;
    border:0 !important; overflow:visible !important; background:transparent !important; width:auto !important;
}
.quantity__button{
    width:40px !important; height:40px !important; border:1px solid #e5e5e5 !important;
    border-radius:8px !important; background:#fff !important; flex:none !important;
}
.quantity__button:hover:not(.disabled){ border-color:var(--tt-red) !important; background:#fff !important; }
.quantity__button svg{ color:var(--tt-ink) !important; }
.quantity__input{
    width:46px !important; height:auto !important; border:0 !important;
    border-left:0 !important; border-right:0 !important; background:transparent !important;
    font-weight:800 !important; font-size:1.05rem !important; color:var(--tt-ink) !important; text-align:center !important;
}

/* título — um pouco menor, melhor enquadrado */
.product-info__title{ font-size:1.4rem !important; font-weight:800 !important; line-height:1.3 !important; color:var(--tt-ink) !important; }

/* rating: estrelas douradas + score + "X vendidos" numa linha */
.rating-stars-and-text{ flex-wrap:wrap !important; gap:6px 8px !important; }
.trustpilot-stars-svg path[fill="#00b67a"]{ fill:#FBBF24 !important; }
.rating-stars__label strong{ color:var(--tt-ink) !important; font-weight:700 !important; font-size:.85rem !important; }
.tt-sold-count{ color:var(--tt-ink-2); font-size:.8rem; font-weight:600; white-space:nowrap; }

/* PREÇO em caixa vermelha clara — conteúdo ocupa a pill toda, sem vão à direita e sem vazar */
.price__container{
    background:#fff5f5 !important; border:1px solid #fecaca !important;
    border-radius:10px !important; padding:11px 14px !important;
    display:flex !important; align-items:center !important; gap:10px !important;
    flex-wrap:nowrap !important; overflow:hidden !important; min-width:0 !important;
    width:100% !important;
}
.price__container > *{ white-space:nowrap !important; }
.price__compare-price{ margin:0 !important; min-width:0 !important; }
.main-price,
.price-item--sale.main-price,
.price__container .accent-color-accent-1{
    font-size:clamp(1.5rem, 6.5vw, 1.95rem) !important; font-weight:800 !important;
    color:var(--tt-red) !important; line-height:1 !important;
}
.main-comapre-price{ font-size:clamp(.85rem, 3.4vw, 1.05rem) !important; color:var(--tt-ink-2) !important; }
/* empurra a badge de desconto para a borda direita → preenche a pill sem espaço à direita */
.price__badge-sale,.price__container .badge{
    margin-left:auto !important;
    background:var(--tt-red) !important; color:#fff !important; border-radius:7px !important;
    padding:5px 11px !important; font-size:clamp(.78rem, 3.2vw, .95rem) !important;
    font-weight:800 !important; gap:4px !important; flex-shrink:0 !important;
    display:inline-flex !important; align-items:center !important;
}
.price__badge-sale .icon,.price__container .badge .icon{ width:13px !important; height:13px !important; }

/* variantes — chips estilo TikTok */
.product-variant-chip{
    border:1px solid #e5e5e5 !important; border-radius:8px !important;
    padding:8px 14px !important; cursor:pointer !important; transition:.15s !important; background:#fff !important;
}
.product-variant-chip:hover{ border-color:var(--tt-red) !important; }
.product-variant-chip:has(input:checked){ border-color:var(--tt-red) !important; color:var(--tt-red) !important; background:#fff5f5 !important; }
.product-variant-group legend{ font-weight:700 !important; font-size:.85rem !important; margin-bottom:6px !important; }

/* quantidade — botões quadrados da referência */
.quantity-input-wrapper{ display:inline-flex !important; align-items:center !important; gap:14px !important; border:0 !important; }
.quantity__button{ width:38px !important; height:38px !important; border:1px solid #e5e5e5 !important; border-radius:8px !important; background:#fff !important; }
.quantity__button:hover{ border-color:var(--tt-red) !important; color:var(--tt-red) !important; }
.quantity__input{ font-weight:700 !important; font-size:1rem !important; width:48px !important; }

/* botão comprar — fiel à referência (radius 8, sombra vermelha) */
.product-info__buy-button{
    background:var(--tt-red) !important; border-radius:10px !important;
    padding:16px 24px !important; box-shadow:0 4px 14px rgba(254,44,85,.32) !important;
}
.product-info__buy-button:hover{ background:var(--tt-red-dark) !important; filter:none !important; }
.main-atc__label__text{ text-transform:none !important; font-size:1.05rem !important; }

/* CARD DA LOJA (LOJA OFICIAL) */
.tt-store-card{ border:1px solid #eee; border-radius:12px; padding:14px; background:#fff; }
.tt-store-header{ display:flex; align-items:center; justify-content:space-between; gap:10px; margin-bottom:14px; }
.tt-store-id{ display:flex; align-items:center; gap:10px; }
.tt-store-avatar{ width:42px; height:42px; border-radius:50%; overflow:hidden; background:#E3007C; color:#fff; display:flex; align-items:center; justify-content:center; font-weight:800; font-size:18px; flex:none; }
.tt-store-avatar img{ width:100%; height:100%; object-fit:cover; display:block; }
.tt-store-name{ font-weight:800; font-size:1rem; color:var(--tt-ink); display:inline-flex; align-items:center; gap:5px; }
.tt-store-verified{ flex:none; }
.tt-store-official{ display:inline-block; margin-top:2px; font-size:.62rem; font-weight:800; letter-spacing:.4px; color:var(--tt-red); background:#fff5f5; border:1px solid #fecaca; border-radius:4px; padding:1px 6px; white-space:nowrap; }
.tt-store-visit{ font-size:.85rem; font-weight:700; color:var(--tt-ink); border:1px solid #e5e5e5; border-radius:8px; padding:7px 16px; text-decoration:none; }
.tt-store-visit:hover{ border-color:var(--tt-red); color:var(--tt-red); }
.tt-store-stats{ display:grid; grid-template-columns:repeat(3,1fr); gap:10px; }
.tt-stat{ text-align:center; }
.tt-stat .v{ font-size:1.05rem; font-weight:800; color:var(--tt-ink); }
.tt-stat .l{ font-size:.7rem; color:var(--tt-ink-2); }

/* DESCRIÇÃO — ocultada a pedido (não ficava bem) */
.product-description{ display:none !important; }
.product-description--off{
    margin-top:18px !important; font-family:inherit !important;
    color:#2a2b30 !important; line-height:1.65 !important; font-size:.95rem !important;
}
.product-description > *:first-child{ margin-top:0 !important; }
.product-description h1,.product-description h2,.product-description h3,.product-description h4{
    font-weight:800 !important; color:var(--tt-ink) !important; line-height:1.3 !important;
    margin:18px 0 8px !important;
}
.product-description h1{ font-size:1.25rem !important; }
.product-description h2{ font-size:1.12rem !important; }
.product-description h3,.product-description h4{ font-size:1rem !important; }
.product-description p{ margin:0 0 12px !important; }
.product-description ul,.product-description ol{ margin:0 0 12px !important; padding-left:1.2rem !important; }
.product-description li{ margin-bottom:6px !important; }
.product-description img{ max-width:100% !important; height:auto !important; border-radius:12px !important; display:block !important; margin:12px auto !important; }
.product-description a{ color:var(--tt-red) !important; }
.product-description strong,.product-description b{ color:var(--tt-ink) !important; }

/* =========================================================
   9) REVIEWS — layout do preview + scroller horizontal 3-em-3
   ========================================================= */
.tt-reviews{ padding:20px 0 26px; }
.tt-reviews-head{ display:flex; align-items:center; justify-content:space-between; padding:0 14px 14px; }
.tt-reviews-title{ font-size:1.25rem; font-weight:800; margin:0; color:var(--tt-ink); }
.tt-reviews-score{ display:flex; align-items:center; gap:8px; }
.tt-reviews-score .big{ font-size:1.8rem; font-weight:800; line-height:1; }
.tt-stars-row,.tt-rev-stars{ color:#FBBF24; letter-spacing:1px; }
.tt-reviews-total{ font-size:12px; color:var(--tt-ink-2); }
.tt-rev-scroller{
    display:flex; gap:12px; overflow-x:auto; scroll-snap-type:x mandatory;
    padding:2px 14px 12px; scroll-padding-left:14px; scrollbar-width:none; -webkit-overflow-scrolling:touch;
}
.tt-rev-scroller > :first-child{ margin-left:0; }
.tt-rev-scroller::-webkit-scrollbar{ display:none; }
.tt-rev-card{
    flex:0 0 80%; max-width:300px; scroll-snap-align:start;
    background:#fff; border:1px solid #f0f0f2; border-radius:14px;
    box-shadow:0 2px 10px rgba(22,24,35,.06); padding:14px;
}
@media (min-width:700px){ .tt-rev-card{ flex-basis:calc((100% - 24px) / 3); } }
.tt-rev-top{ display:flex; align-items:center; gap:10px; margin-bottom:8px; }
.tt-rev-av{ width:34px; height:34px; border-radius:50%; background:linear-gradient(135deg,#FE2C55,#ff7a59); color:#fff; display:flex; align-items:center; justify-content:center; font-weight:800; font-size:14px; flex:none; }
.tt-rev-name{ font-weight:700; font-size:13px; color:var(--tt-ink); }
.tt-rev-meta{ font-size:11px; color:var(--tt-ink-3); }
.tt-rev-stars{ margin-left:auto; font-size:13px; }
.tt-rev-text{ font-size:13px; line-height:1.45; color:#2a2b30; display:-webkit-box; -webkit-line-clamp:4; -webkit-box-orient:vertical; overflow:hidden; }
.tt-rev-photos{ margin-top:8px; }
.tt-rev-photos img{ max-height:96px; width:auto; border-radius:8px; display:block; }

/* mini-cart: stepper de quantidade mais limpo (estava estranho) */
/* mini-cart: stepper de quantidade — pílula com botões CIRCULARES (sem o quadrado estranho) */
.cart-item__quantity quantity-input.cart-quantity{
    border-radius:999px !important; border:1px solid #e3e3e6 !important;
    background:#fff !important; padding:3px !important; gap:0 !important; overflow:hidden !important;
}
.cart-item__quantity .quantity__button{
    width:30px !important; height:30px !important; padding:0 !important;
    border:0 !important; border-radius:50% !important; background:#f3f3f5 !important;
    display:flex !important; align-items:center !important; justify-content:center !important;
}
.cart-item__quantity .quantity__button:hover:not(.disabled){ background:#ffe3ea !important; color:var(--tt-red) !important; }
.cart-item__quantity .quantity__input{ width:34px !important; border:0 !important; background:transparent !important; }

/* preview do formulário (modal): aproxima as estrelas do título (remove o gap de 12px) */
.rsi-order-product-info .collection-star-section > div{ margin-top:2px !important; margin-bottom:0 !important; }
/* CORRIGE estrelas empilhadas: força linha horizontal + tamanho fixo (var CSS não resolvia → width:100%) */
#rsi_form_wrapper .collection-star-section .tw-flex,
#rsi_form_wrapper .collection-star-section .bk-container{ display:flex !important; flex-direction:row !important; flex-wrap:nowrap !important; align-items:center !important; }
#rsi_form_wrapper .collection-star-section svg.bk-fill-secondary{ display:inline-block !important; width:15px !important; height:15px !important; flex:0 0 auto !important; }
/* o NOME usava white-space:pre-line → quebras de linha extra do banco viravam linhas em branco
   (criando o gap entre o título e as estrelas). Colapsa essas quebras: */
#rsi_form_wrapper .rsi-order-product-name{ white-space:normal !important; }

/* ===== Pill de avaliação + selo verificado (preview do formulário) ===== */
#rsi_form_wrapper .tt-rev-section{ display:flex !important; flex-direction:column !important; align-items:flex-start !important; gap:5px !important; margin-top:5px !important; }
#rsi_form_wrapper .tt-rev-pill{ display:inline-flex !important; align-items:center !important; gap:7px !important; background:#f3f3f5 !important; border-radius:999px !important; padding:5px 12px !important; line-height:1 !important; }
#rsi_form_wrapper .tt-rev-pill .tt-rev-stars{ display:flex !important; gap:1px !important; align-items:center !important; }
#rsi_form_wrapper .tt-rev-score{ font-weight:800 !important; font-size:13px !important; color:#161823 !important; }
#rsi_form_wrapper .tt-rev-dot{ color:#9a9da4 !important; font-weight:700 !important; }
#rsi_form_wrapper .tt-rev-count{ font-size:12px !important; color:#73767f !important; font-weight:600 !important; white-space:nowrap !important; }
#rsi_form_wrapper .tt-rev-verified{ display:inline-flex !important; align-items:center !important; gap:4px !important; font-size:11px !important; font-weight:700 !important; color:#FE2C55 !important; }
#rsi_form_wrapper .tt-rev-verified svg{ flex:0 0 auto !important; }

/* ===== ORDER BUMPS estilo TikTok Shop (card limpo, sem borda tracejada) ===== */
/* Borda fininha vermelha + GLOW pulsante suave (a sombra "respira" para chamar atenção sem exagero) */
#rsi_form_wrapper .tt-bump{ margin-bottom:16px !important; position:relative !important; border-radius:13px !important; align-items:center !important; animation:ttBumpGlow 2.2s ease-in-out infinite !important; }
#rsi_form_wrapper #order-bumps-container > .tt-bump:last-child{ margin-bottom:0 !important; }
@keyframes ttBumpGlow{
    0%,100%{ box-shadow:0 0 0 0 rgba(254,44,85,0); }
    50%{ box-shadow:0 0 0 3px rgba(254,44,85,.13), 0 5px 18px rgba(254,44,85,.22); }
}
/* selecionado: para de pulsar e fica com anel vermelho fixo (estado claro) */
#rsi_form_wrapper .rsi-order-bump-label.selected{ animation:none !important; box-shadow:0 0 0 2px rgba(254,44,85,.32), 0 4px 14px rgba(254,44,85,.30) !important; }
@media (prefers-reduced-motion: reduce){ #rsi_form_wrapper .tt-bump{ animation:none !important; } }
#rsi_form_wrapper .tt-bump input[type="checkbox"]{ width:22px !important; height:22px !important; min-width:22px !important; accent-color:#FE2C55 !important; flex:0 0 auto !important; margin:0 !important; appearance:auto !important; -webkit-appearance:checkbox !important; cursor:pointer !important; }
#rsi_form_wrapper .tt-bump{ gap:9px !important; }
#rsi_form_wrapper .tt-bump-img{ margin-left:0 !important; }
#rsi_form_wrapper .tt-bump-img img{ width:46px !important; height:46px !important; object-fit:cover !important; border-radius:9px !important; display:block !important; margin:0 !important; }
#rsi_form_wrapper .tt-bump input[type="checkbox"]{ width:20px !important; height:20px !important; min-width:20px !important; }
#rsi_form_wrapper .tt-bump-body{ gap:3px !important; margin-top:0 !important; justify-content:center !important; }
/* título único acima dos order bumps — centralizado e maior */
#rsi_form_wrapper .tt-bumps-heading{ display:block !important; text-align:center !important; margin:0 auto 12px !important; font-size:11px !important; font-weight:800 !important; letter-spacing:.5px !important; text-transform:uppercase !important; color:#fff !important; background:linear-gradient(90deg,#FE2C55,#ff5e3a) !important; border-radius:999px !important; padding:5px 13px !important; width:fit-content !important; max-width:100% !important; box-shadow:0 3px 10px rgba(254,44,85,.24) !important; }
/* texto alinhado à ESQUERDA: palavras com espaçamento natural, sem esticar até a direita.
   text-wrap:balance equilibra o tamanho das 2 linhas. */
#rsi_form_wrapper .tt-bump-text{ font-size:12px !important; line-height:1.32 !important; color:#161823 !important; margin:0 !important; max-width:none !important; text-align:left !important; text-align-last:left !important; text-wrap:balance; }
#rsi_form_wrapper .tt-bump-text b{ font-weight:800 !important; }
#rsi_form_wrapper .tt-bump-price{ color:#FE2C55 !important; }
#rsi_form_wrapper .tt-bump-old{ font-size:11px !important; color:#9a9da4 !important; margin-top:0 !important; }
#rsi_form_wrapper .tt-bump-old s{ color:#9a9da4 !important; }
.rsi-order-product-title-row{ margin-bottom:0 !important; }
/* menos espaço vazio entre o preview do produto e o resumo */
#rsi_form_wrapper .rsi-order-product-item{ padding:8px 0 !important; border-bottom:0 !important; }
/* evita a linha separadora DUPLICADA entre o preview do produto e a box de total */
#rsi_form_wrapper .rsi-order-products-list{ border-bottom:0 !important; }
#rsi_form_wrapper .rsi-order-products-list{ margin-bottom:6px !important; }
#rsi_form_wrapper .rsi-order-divider{ margin:8px 0 !important; }
#rsi_form_wrapper .rsi-order-product-info{ gap:2px !important; }

/* =========================================================
   POPUP DE DESCONTO (downsell -10%) — cara de TikTok Shop
   (vermelho no lugar do dourado/verde; o gradiente opaco
   cobre o background-color inline, então fica vermelho sempre)
   ========================================================= */
.rsi-downsells-discount-plaque{
    background:linear-gradient(135deg,#FE2C55 0%,#ff5e3a 100%) !important;
    color:#fff !important;
}
.rsi-downsells-btn-primary{
    background:linear-gradient(90deg,#FE2C55 0%,#E61E48 100%) !important;
    color:#fff !important;
    border-radius:999px !important;
    box-shadow:0 4px 14px rgba(254,44,85,.35) !important;
}
.rsi-downsells-btn-secondary{
    border:1px solid #e3e3e6 !important; color:var(--tt-ink) !important;
    border-radius:999px !important; background:#fff !important;
}
.rsi-downsells-btn-secondary:hover{ border-color:var(--tt-red) !important; color:var(--tt-red) !important; }
.rsi-downsell-content{ border-radius:16px !important; letter-spacing:normal !important; }
.rsi-downsells-discount-text{ color:var(--tt-ink) !important; }
.rsi-downsells-title{ color:var(--tt-ink) !important; }

/* ===== UPSELL pós-compra — POPUP autêntico TikTok Shop ===== */
/* card estreito e centralizado (era 600px largão) */
#upsell-modal #_rsi-cod-form-modal-upsell{ max-width:360px !important; width:92% !important; border-radius:20px !important; padding:0 0 18px !important; margin:auto !important; }
/* remove o header vazio (só tinha um espaço + linha à toa) */
#upsell-modal ._rsi-modal-header{ padding:0 !important; border-bottom:0 !important; min-height:0 !important; }
/* títulos do popup */
#upsell-modal ._rsi-modal-upsell-catch-title{ font-size:1.2rem !important; font-weight:800 !important; padding:22px 22px 6px !important; color:var(--tt-ink) !important; line-height:1.25 !important; }
#upsell-modal ._rsi-modal-upsell-catch-subt{ font-size:.85rem !important; padding:0 24px 16px !important; color:var(--tt-ink-2) !important; line-height:1.45 !important; }
/* IMAGEM menor e centralizada (era 100% da largura) */
#upsell-modal ._rsi-modal-upsell-info{ padding:0 22px 18px !important; }
#upsell-modal ._rsi-modal-upsell-images-slider{ margin:0 auto 14px !important; max-width:150px !important; }
#upsell-modal ._rsi-modal-upsell-images-slider-slide{ width:100% !important; max-width:150px !important; margin:0 auto !important; border-radius:16px !important; box-shadow:0 4px 14px rgba(22,24,35,.12) !important; }
/* nome do produto + preço */
#upsell-modal ._rsi-modal-upsell-title{ font-size:1rem !important; font-weight:800 !important; color:var(--tt-ink) !important; margin-bottom:6px !important; text-align:center !important; }
#upsell-modal ._rsi-modal-upsell-description{ text-align:center !important; font-size:.85rem !important; color:var(--tt-ink-2) !important; }
#upsell-modal ._rsi-modal-upsell-prices{ margin:10px 0 4px !important; }
#upsell-modal ._rsi-modal-upsell-price{ color:#FE2C55 !important; font-size:1.6rem !important; }
#upsell-modal ._rsi-modal-upsell-discount-plaque{ border:0 !important; }
/* botões em pílula, com largura cheia e espaçamento bom */
#upsell-modal ._rsi-modal-submit-button{ width:calc(100% - 44px) !important; margin-left:22px !important; margin-right:22px !important; }
#upsell-modal ._rsi-modal-submit-button-upsell-no-thanks{ margin-top:10px !important; }

/* ===== CONFIRMAÇÃO DO PEDIDO (resumo/recibo) — layout TikTok ===== */
#order-success-modal .rsi-success-content-review{ max-width:400px !important; width:92% !important; border-radius:20px !important; padding:34px 22px 24px !important; }
/* check verde → vermelho TikTok em gradiente */
#order-success-modal .rsi-review-icon-success{ background:linear-gradient(135deg,#FE2C55,#ff5e3a) !important; color:#fff !important; box-shadow:0 6px 18px rgba(254,44,85,.30) !important; width:60px !important; height:60px !important; }
#order-success-modal .rsi-review-header{ border-bottom:1px solid #f0f0f2 !important; padding-bottom:18px !important; margin-bottom:20px !important; }
#order-success-modal .rsi-review-title{ font-size:1.4rem !important; color:var(--tt-ink) !important; }
#order-success-modal .rsi-review-subtitle{ color:var(--tt-ink-2) !important; }
/* títulos de seção com barrinha vermelha (estilo TikTok) */
#order-success-modal .rsi-review-section{ border-bottom-color:#f0f0f2 !important; margin-bottom:18px !important; padding-bottom:18px !important; }
#order-success-modal .rsi-review-section-title{ font-size:1rem !important; color:var(--tt-ink) !important; display:flex !important; align-items:center !important; gap:8px !important; }
#order-success-modal .rsi-review-section-title::before{ content:"" !important; width:4px !important; height:15px !important; background:var(--tt-red) !important; border-radius:2px !important; display:inline-block !important; flex:none !important; }
#order-success-modal .rsi-review-product-item{ border-radius:12px !important; }
/* total em vermelho */
#order-success-modal .rsi-review-total-final strong{ color:var(--tt-red) !important; }

/* ===== MODAL WHATSAPP — confirmar pedido (avatar Druni + WhatsApp brand) ===== */
#whatsapp-modal .rsi-whatsapp-modal-content{ max-width:360px !important; width:92% !important; border-radius:20px !important; padding:34px 24px !important; }
#whatsapp-modal .rsi-whatsapp-content{ gap:16px !important; }
#whatsapp-modal .tt-wa-avatar{ position:relative; width:72px; height:72px; border-radius:50%; overflow:visible; margin:0 auto; }
#whatsapp-modal .tt-wa-avatar img{ width:72px; height:72px; border-radius:50%; object-fit:cover; display:block; box-shadow:0 4px 16px rgba(227,0,124,.28); }
#whatsapp-modal .tt-wa-verified{ position:absolute; right:-2px; bottom:-2px; background:#fff; border-radius:50%; padding:2px; display:flex; line-height:0; }
#whatsapp-modal .rsi-whatsapp-title{ font-size:1.3rem !important; color:var(--tt-ink) !important; line-height:1.25 !important; }
#whatsapp-modal .rsi-whatsapp-subtitle{ font-size:.92rem !important; color:var(--tt-ink-2) !important; line-height:1.5 !important; }
#whatsapp-modal .rsi-whatsapp-button{ background-color:#25D366 !important; border-radius:999px !important; box-shadow:0 5px 16px rgba(37,211,102,.35) !important; font-weight:700 !important; }
#whatsapp-modal .rsi-whatsapp-button:hover{ background-color:#20BA5A !important; }

/* =========================================================
   10) VÍDEOS DE CRIADORES (estilo TikTok)
   ========================================================= */
.tt-videos{ padding:0 14px 6px; margin-top:0; }
/* título sempre em UMA linha e completo — tamanho se adapta ao dispositivo (sem "...") */
.tt-videos-title{ font-size:clamp(0.82rem, 4vw, 1.3rem); font-weight:800; margin:0 0 12px; color:var(--tt-ink); white-space:nowrap; overflow:visible; text-overflow:clip; }
.tt-vgrid{ display:grid; grid-template-columns:1fr 1fr; gap:10px; }
@media (min-width:760px){ .tt-vgrid{ grid-template-columns:repeat(4,1fr); } }
.tt-vcard{ border-radius:12px; overflow:hidden; box-shadow:0 1px 6px rgba(22,24,35,.1); background:#fff; }
.tt-vthumb{ position:relative; aspect-ratio:3/4; cursor:pointer; background:#000; overflow:hidden; }
.tt-vthumb video.tt-video{ width:100%; height:100%; object-fit:cover; display:block; }
.tt-vthumb.is-playing .tt-vplay{ opacity:0; pointer-events:none; }
.tt-vplay{ border:0; cursor:pointer; transition:opacity .15s ease; }
.tt-vcomm{ position:absolute; top:8px; left:8px; background:rgba(0,0,0,.65); color:#fff; font-size:10px; font-weight:700; padding:3px 7px; border-radius:5px; text-transform:uppercase; letter-spacing:.2px; }
.tt-vplay{ position:absolute; inset:0; margin:auto; width:54px; height:54px; border-radius:50%; background:rgba(255,255,255,.92); display:flex; align-items:center; justify-content:center; color:var(--tt-red); box-shadow:0 2px 10px rgba(0,0,0,.15); }
.tt-vinfo{ padding:8px 10px; }
.tt-vname{ font-weight:700; font-size:13px; color:var(--tt-ink); display:flex; align-items:center; gap:4px; min-width:0; }
.tt-vname span,.tt-vname{ overflow:visible; }
.tt-verified{ flex:none; overflow:visible; }
.tt-vlikes{ font-size:12px; color:var(--tt-ink-2); margin-top:3px; display:flex; align-items:center; gap:5px; }
.tt-vlikes svg{ color:var(--tt-red); flex:none; overflow:visible; }

/* REVIEWS — cabeçalho compacto, em uma linha, sem verde */
#bk-reviews-section h2{ font-size:1.4rem !important; margin:0 !important; }
#bk-reviews-section .tw-pt-6{ padding-top:18px !important; }
#bk-reviews-section .tw-mt-2 p{ font-size:.85rem !important; }
#bk-reviews-section .tw-flex.tw-items-center.tw-justify-center.tw-gap-\[5px\]{ flex-wrap:nowrap !important; }
/* estrelas grandes do topo (Excellent) e dos cards → douradas, sem caixa */
#bk-reviews-section{ --bk-star-size:20px !important; --bk-star-large:1 !important; }
.testimonials-slide-container .trust-theme-card{ border-radius:14px !important; }
