/* Black November (03/11 a 30/11), no estilo do protótipo. Tudo aqui só vale com a classe chypps-black no body. */
/* fundo em azul-escuro (não preto); topo, menu e rodapé continuam pretos */
body.chypps-black {
    --bk-ink: #07131f;
    --bk-panel: #0d1f30;
    --bk-panel-2: #12293d;
    --bk-cyan: #1cc8ea;
    --bk-cyan-deep: #0e9cc2;
    --bk-ice: #8beefc;
    --bk-text: #eef6f8;
    --bk-text-2: #c9dbe0;
    --bk-muted: #86a3ab;
    --bk-line: rgba(28, 200, 234, .22);
    --bk-tray: #ffffff; /* branco como o fundo das fotos, que ficam sem mix-blend */
    --bk-field: #0c1d2c;
}

/* ---------- topo, menu e rodapé: mesmo conteúdo, fundo preto ---------- */
body.chypps-black .header-top,
body.chypps-black .header-bg-color,
body.chypps-black .header-bottom,
body.chypps-black .footer-1,
body.chypps-black .footer-widgets,
body.chypps-black .absolute-footer {
    background-color: #000 !important;
}
body.chypps-black .header:not(.transparent) .header-bottom-nav.nav > li > a { color: rgba(255, 255, 255, .82); }
body.chypps-black .header:not(.transparent) .header-bottom-nav.nav > li > a:hover,
body.chypps-black .header:not(.transparent) .header-bottom-nav.nav > li.active > a,
body.chypps-black .header:not(.transparent) .header-bottom-nav.nav > li.current > a,
body.chypps-black .header:not(.transparent) .header-bottom-nav.nav > li.current-menu-item > a { color: #fff; }
body.chypps-black .nav > li.chypps-black-item > a.chypps-black-btn {
    background: #fff; color: #02080b !important; border-radius: 8px; padding: 6px 14px; line-height: 1.4; font-weight: 800;
    box-shadow: 0 0 18px rgba(139, 238, 252, .45);
}
body.chypps-black .nav > li.chypps-black-item > a.chypps-black-btn:before { display: none !important; }
body.chypps-black .nav-sidebar > li.chypps-black-item { padding: 10px 20px; }
body.chypps-black .nav-sidebar > li.chypps-black-item > a.chypps-black-btn { display: inline-block; }
/* no painel branco do menu do celular o botão branco parecia campo de texto */
body.chypps-black .nav-sidebar > li.chypps-black-item > a.chypps-black-btn {
    background: #02080b; color: #fff !important; box-shadow: 0 0 0 1px #1cc8ea, 0 0 14px rgba(28, 200, 234, .45); }
/* entre 850 e 1279 px o menu não cabe com o item extra e o OUTLET cai para outra linha; a faixa do topo já tem "Ver ofertas" */
@media (min-width: 850px) and (max-width: 1279px) {
    body.chypps-black .header-bottom-nav > li.chypps-black-item { display: none; }
}
/* painéis brancos do Flatsome (menu do celular, mini-carrinho, sugestões da busca) são 95% opacos: sobre a página escura viravam fantasma */
body.chypps-black .off-canvas:not(.dark) .mfp-content,
body.chypps-black .header .live-search-results { background-color: #fff !important; }

/* ---------- faixa da Black no topo de todas as páginas ---------- */
.chypps-bk-strip { display: flex; align-items: center; justify-content: center; flex-wrap: wrap; gap: 6px 20px; padding: 8px 16px;
    background: linear-gradient(90deg, #031a21, #06303b 50%, #031a21); border-bottom: 1px solid rgba(28, 200, 234, .25);
    font: 600 12px/1.3 "Poppins", "Segoe UI", system-ui, sans-serif; color: #eef6f8; text-align: center; }
.chypps-bk-strip b { color: #8beefc; }
.chypps-bk-strip-tag { font: 700 10.5px/1 "JetBrains Mono", Consolas, monospace; letter-spacing: .14em; color: #02080b; background: #1cc8ea; padding: 4px 7px; border-radius: 3px; }
.chypps-bk-strip-left { font: 500 11.5px/1.3 "JetBrains Mono", Consolas, monospace; letter-spacing: .04em; color: #86a3ab; font-variant-numeric: tabular-nums; }
.chypps-bk-strip-left b { color: #fff; font-weight: 700; }
.chypps-bk-strip-link { color: #8beefc !important; font-weight: 700; text-decoration: none !important; border-bottom: 1px solid rgba(139, 238, 252, .4); }
@media (max-width: 849px) {
    .chypps-bk-strip { gap: 4px 10px; padding: 6px 12px; font-size: 11px; }
    .chypps-bk-strip-msg, .chypps-bk-strip-link { display: none; }
}

/* ---------- fundo escuro em todas as páginas ---------- */
body.chypps-black,
body.chypps-black #wrapper,
body.chypps-black #main,
body.chypps-black .page-wrapper,
body.chypps-black .blog-wrapper,
body.chypps-black .shop-container,
body.chypps-black .product-main,
body.chypps-black .product-footer,
body.chypps-black .product-footer .woocommerce-tabs,
body.chypps-black .page-title,
body.chypps-black .shop-page-title,
body.chypps-black .my-account-header,
body.chypps-black .page-title-bg,
body.chypps-black .title-bg { background-color: var(--bk-ink) !important; }
body.chypps-black #main { color: var(--bk-text-2); }
body.chypps-black #main .page-title h1,
body.chypps-black #main .page-title-inner h1,
body.chypps-black #main .product-title,
body.chypps-black #main .entry-title,
body.chypps-black #main .entry-title a,
body.chypps-black #main .widget-title,
body.chypps-black #main .section-title,
body.chypps-black #main .woocommerce-loop-product__title { color: var(--bk-text); }
body.chypps-black #main .breadcrumbs,
body.chypps-black #main .breadcrumbs a,
body.chypps-black #main .woocommerce-breadcrumb,
body.chypps-black #main .woocommerce-breadcrumb a,
body.chypps-black #main .woocommerce-result-count { color: var(--bk-muted); }
body.chypps-black #main .breadcrumbs a:hover { color: var(--bk-ice); }
/* o título da loja, das categorias e da busca fica fora do #main (div#wrapper > .shop-page-title) */
body.chypps-black .shop-page-title .breadcrumbs,
body.chypps-black .shop-page-title .woocommerce-breadcrumb { color: var(--bk-text) !important; }
body.chypps-black .shop-page-title .breadcrumbs a,
body.chypps-black .shop-page-title .breadcrumbs .divider,
body.chypps-black .shop-page-title .woocommerce-breadcrumb a,
body.chypps-black .shop-page-title .woocommerce-breadcrumb .divider,
body.chypps-black .shop-page-title .woocommerce-result-count,
body.chypps-black .shop-page-title .filter-button { color: var(--bk-muted) !important; opacity: 1; }
body.chypps-black .shop-page-title .breadcrumbs a:hover,
body.chypps-black .shop-page-title .woocommerce-breadcrumb a:hover,
body.chypps-black .shop-page-title .filter-button:hover { color: var(--bk-ice) !important; }
body.chypps-black .shop-page-title select.orderby {
    background-color: var(--bk-field) !important; border-color: #1f3a52 !important; color: var(--bk-text) !important; box-shadow: none; }
/* mobile: a altura fixa de 120px do Personalizar empurrava o "Ordenar por" para fora da tela (defeito anterior à Black) */
@media (max-width: 849px) {
    body.chypps-black .shop-page-title,
    body.chypps-black .shop-page-title .page-title-inner { height: auto !important; }
    body.chypps-black .shop-page-title .page-title-inner { padding-bottom: 10px; }
}
body.chypps-black #main .is-divider { background-color: var(--bk-line); }

/* ---------- cards de produto (protótipo: card escuro, foto em bandeja clara) ---------- */
body.chypps-black .product-small .col-inner,
body.chypps-black .product-small.col > .col-inner { background-color: transparent !important; }
body.chypps-black .product-small.box { background: var(--bk-panel) !important; border: 1px solid var(--bk-line); border-radius: 10px; overflow: hidden; transition: border-color .25s, box-shadow .25s; }
body.chypps-black .product-small.box:hover { border-color: var(--bk-cyan); box-shadow: 0 20px 50px -20px rgba(28, 200, 234, .55); }
/* foto sem mix-blend: no hover o tema põe a 2ª foto por cima da 1ª, e com multiply as duas se misturavam */
body.chypps-black .product-small .box-image { background: var(--bk-tray); }
body.chypps-black .product-small .box-text { background: transparent; color: var(--bk-text-2); }
/* o card ganhou borda e fundo, mas o Flatsome não dá respiro lateral ao texto */
body.chypps-black .product-small.box .box-text { padding-left: 12px !important; padding-right: 12px !important; }
@media (max-width: 549px) {
    body.chypps-black .product-small.box .box-text { padding-left: 8px !important; padding-right: 8px !important; }
    body.chypps-black .product-small.box .box-text .add_to_cart_button { padding-left: 6px; padding-right: 6px; white-space: nowrap; }
}
/* abaixo de 360px "Adicionar ao carrinho" não cabe numa linha: deixa quebrar em vez de cortar */
@media (max-width: 359px) {
    body.chypps-black .product-small.box .box-text .add_to_cart_button { white-space: normal; }
}
/* bloco de preço do card: Flatsome usa .price{line-height:1} e o parcelamento/PIX (Darven) vem dentro do span.price */
body.chypps-black #main .product-small .price { line-height: 1.3; }
body.chypps-black #main .product-small .price del { margin-right: 6px; font-size: .86em; }
body.chypps-black #main .product-small .installments-price-statement,
body.chypps-black #main .product-small .incash-price-statement { margin-top: 3px; font-size: 12.5px; line-height: 1.35; color: var(--bk-text-2); }
body.chypps-black #main .product-small .darven-epi-installment-price { color: #fff; font-weight: 600; }
body.chypps-black #main .product-small .darven-epi-incash-price { color: var(--bk-ice); font-weight: 600; }
body.chypps-black .product-small .box-text .category,
body.chypps-black .product-small .box-text .product-cat { color: var(--bk-cyan); opacity: 1; letter-spacing: .08em; }
body.chypps-black .product-small .box-text .name a,
body.chypps-black .product-small .box-text .product-title a,
body.chypps-black .product-small .box-text .woocommerce-loop-product__title { color: var(--bk-text); }
body.chypps-black #main .price,
body.chypps-black #main .price .amount,
body.chypps-black #main .price ins .amount { color: #fff; }
body.chypps-black #main .price del,
body.chypps-black #main .price del .amount { color: var(--bk-muted); opacity: 1; }
body.chypps-black #main .badge-inner,
body.chypps-black #main .onsale { background-color: var(--bk-cyan) !important; color: #02080b !important; border-color: var(--bk-cyan) !important; box-shadow: 0 0 16px rgba(28, 200, 234, .55); font-weight: 800; }
body.chypps-black .product-small .button,
body.chypps-black .product-small .add_to_cart_button {
    background: transparent !important; border: 1px solid var(--bk-cyan) !important; color: var(--bk-ice) !important; border-radius: 99px; box-shadow: none; }
body.chypps-black .product-small .button:hover,
body.chypps-black .product-small .add_to_cart_button:hover { background: var(--bk-cyan) !important; color: #02080b !important; }
/* o botão do card também é .button.primary e perdia para a regra de botões abaixo (texto branco sobre ciano claro) */
body.chypps-black #main .product-small .box-text .button.primary {
    background: transparent !important; border: 1px solid var(--bk-cyan) !important; color: var(--bk-ice) !important; box-shadow: none !important; }
body.chypps-black #main .product-small .box-text .button.primary:hover { background: var(--bk-cyan) !important; color: #02080b !important; }
@media (max-width: 549px) {
    body.chypps-black #main .product-small .box-text .button.primary { line-height: 1.25; padding-top: 7px; padding-bottom: 7px; }
}
/* setas dos carrosséis eram pretas (#111) e sumiam no escuro; o halo escuro mantém a leitura quando a seta cai sobre foto clara */
body.chypps-black #main .slider:not(.slider-nav-light):not(.product-gallery-slider):not(.product-thumbnails) .flickity-prev-next-button,
body.chypps-black #main .related .flickity-prev-next-button,
body.chypps-black #main .upsells .flickity-prev-next-button { color: var(--bk-ice); }
body.chypps-black #main .slider:not(.slider-nav-light):not(.product-gallery-slider):not(.product-thumbnails) .flickity-prev-next-button:hover,
body.chypps-black #main .related .flickity-prev-next-button:hover,
body.chypps-black #main .upsells .flickity-prev-next-button:hover { color: #fff; }
body.chypps-black #main .slider:not(.slider-nav-light):not(.product-gallery-slider):not(.product-thumbnails) .flickity-prev-next-button svg,
body.chypps-black #main .related .flickity-prev-next-button svg,
body.chypps-black #main .upsells .flickity-prev-next-button svg { filter: drop-shadow(0 0 1px var(--bk-ink)) drop-shadow(0 0 3px var(--bk-ink)); }
/* "Todas as categorias" da home: mesma bandeja das fotos de produto */
body.chypps-black .box-category .box-image { background: var(--bk-tray); border-radius: 10px; overflow: hidden; }
body.chypps-black .box-category .box-image img { background: transparent !important; }

/* ---------- botões ---------- */
body.chypps-black #main .button.primary:not(.is-outline),
body.chypps-black #main .single_add_to_cart_button,
body.chypps-black #main .checkout-button,
body.chypps-black #main #place_order,
body.chypps-black #main .woocommerce-Button,
body.chypps-black #main button[type="submit"].button {
    background: linear-gradient(180deg, #4fdcf5, #13a9cf) !important; border-color: transparent !important; color: #fff !important;
    box-shadow: 0 8px 24px rgba(28, 200, 234, .3); }
body.chypps-black #main .button.is-outline { border-color: var(--bk-cyan) !important; color: var(--bk-ice) !important; }
body.chypps-black #main .button.is-outline:hover { background: var(--bk-cyan) !important; color: #02080b !important; }
body.chypps-black #main .elementor-button.chypps-bk-panel { border: 1px solid var(--bk-cyan); color: var(--bk-ice); }
body.chypps-black #main input.wpcf7-submit { color: #02080b !important; background: linear-gradient(180deg, #4fdcf5, #13a9cf) !important; border-color: transparent !important; }

/* ---------- formulários ---------- */
body.chypps-black #main input[type="text"],
body.chypps-black #main input[type="email"],
body.chypps-black #main input[type="tel"],
body.chypps-black #main input[type="number"],
body.chypps-black #main input[type="password"],
body.chypps-black #main input[type="search"],
body.chypps-black #main input[type="url"],
body.chypps-black #main input[type="date"],
body.chypps-black #main select,
body.chypps-black #main textarea,
body.chypps-black #main .select2-selection,
body.chypps-black #main .qty {
    background-color: var(--bk-field) !important; border-color: #1f3a52 !important; color: var(--bk-text) !important; box-shadow: none; }
body.chypps-black #main input::placeholder,
body.chypps-black #main textarea::placeholder { color: #7f969d; }
body.chypps-black #main .select2-selection__rendered { color: var(--bk-text) !important; }
body.chypps-black #main input:focus,
body.chypps-black #main select:focus,
body.chypps-black #main textarea:focus { border-color: var(--bk-cyan) !important; }
/* a regra acima apagava a borda vermelha de campo com erro */
body.chypps-black #main .woocommerce-invalid input.input-text,
body.chypps-black #main .woocommerce-invalid select,
body.chypps-black #main .woocommerce-invalid .select2-selection { border-color: #ff5c5c !important; }
/* seta clara nos selects escuros; fora os do Mercado Pago (.payment_box), que zeram o fundo e ficariam com a seta repetida */
body.chypps-black .shop-page-title select.orderby,
body.chypps-black #main select:not(.payment_box select),
body.chypps-black #main .select2-selection {
    background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%23c9dbe0' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E") !important; }
/* campos do Mercado Pago ficam como o MP desenhou, dentro do quadro branco dele */
body.chypps-black #main [class*="mp-checkout"] input:not([type="checkbox"]):not([type="radio"]),
body.chypps-black #main [class*="mp-checkout"] select {
    background-color: #fff !important; color: rgba(0, 0, 0, .9) !important; }
/* borda cinza só fora do foco e do erro, senão apaga o ciano do foco e o vermelho do MP */
body.chypps-black #main [class*="mp-checkout"] input:not([type="checkbox"]):not([type="radio"]):not(:focus):not(.mp-checkout-andes-input-error),
body.chypps-black #main [class*="mp-checkout"] select:not(:focus) { border-color: rgba(0, 0, 0, .25) !important; }
body.chypps-black .select2-dropdown { background: var(--bk-field); border-color: #1f3a52; color: var(--bk-text); }
/* opção já escolhida: o select2 pinta de #ddd e o texto claro sumia; o destaque do mouse continua ciano */
body.chypps-black .select2-container--default .select2-results__option[aria-selected="true"]:not(.select2-results__option--highlighted),
body.chypps-black .select2-container--default .select2-results__option[data-selected="true"]:not(.select2-results__option--highlighted) { background-color: #1f3a52 !important; color: var(--bk-text) !important; }
body.chypps-black .select2-results__option--highlighted,
body.chypps-black .select2-container--default .select2-results__option.select2-results__option--highlighted { background-color: var(--bk-cyan-deep) !important; color: #fff !important; }
body.chypps-black .select2-container--default .select2-search--dropdown .select2-search__field { background-color: var(--bk-panel) !important; color: var(--bk-text) !important; border-color: #1f3a52 !important; }
/* botões + e − da quantidade */
body.chypps-black #main .ux-quantity__button { color: var(--bk-text-2) !important; }
body.chypps-black #main .ux-quantity__button:hover { background-color: var(--bk-cyan) !important; color: #02080b !important; }

/* ---------- loja, filtros, paginação ---------- */
body.chypps-black #main .widget a,
body.chypps-black #main .product-categories a { color: var(--bk-text-2); }
body.chypps-black #main .widget a:hover { color: var(--bk-ice); }
/* !important para vencer o .count{color:#004d62!important} do Personalizar; sem isso o black.js gravava a cor clara inline
   e a contagem sumia quando o Flatsome levava a sidebar para a gaveta branca do mobile */
body.chypps-black #main .widget .count { color: var(--bk-muted) !important; }
body.chypps-black #main .price_slider .ui-slider-range,
body.chypps-black #main .price_slider .ui-slider-handle { background-color: var(--bk-cyan) !important; }
body.chypps-black #main .price_slider { background-color: #1f3a52 !important; }
body.chypps-black #main .page-numbers a,
body.chypps-black #main .page-numbers span { color: var(--bk-text-2); border-color: var(--bk-line); }
body.chypps-black #main .page-numbers .current { background-color: var(--bk-cyan) !important; border-color: var(--bk-cyan) !important; color: #02080b !important; }

/* ---------- página de produto ---------- */
body.chypps-black #main .woocommerce-product-gallery__image,
body.chypps-black #main .product-gallery .slide,
body.chypps-black #main .product-thumbnails .col a { background: var(--bk-tray) !important; border-radius: 8px; }
body.chypps-black #main .product-tabs a,
body.chypps-black #main .tabs li a { color: var(--bk-muted); }
body.chypps-black #main .tabs li.active a { color: var(--bk-text); }
body.chypps-black #main .product-images,
body.chypps-black #main .product-info,
body.chypps-black #main .product_meta > span { border-color: var(--bk-line) !important; }
body.chypps-black #main .chypps-cupom-pdp .chypps-cupom-pdp__nota { color: var(--bk-muted) !important; }

/* ---------- tabelas, avisos, carrinho, conta ---------- */
body.chypps-black #main table,
body.chypps-black #main th,
body.chypps-black #main td { border-color: var(--bk-line) !important; color: var(--bk-text-2) !important; }
body.chypps-black #main .shop_table th { color: var(--bk-text) !important; }
body.chypps-black #main .woocommerce-message,
body.chypps-black #main .woocommerce-info,
body.chypps-black #main .woocommerce-error,
body.chypps-black #main .message-container {
    background: var(--bk-panel) !important; color: var(--bk-text-2) !important; border-left: 3px solid var(--bk-cyan); }
body.chypps-black #main .cart_totals,
body.chypps-black #main .checkout-sidebar,
body.chypps-black #main .col-inner.has-border { border-color: var(--bk-line) !important; }
/* uma borda só no aviso (o .message-container repetia a do pai) e erro em vermelho */
body.chypps-black #main .message-wrapper { padding: 12px 16px !important; }
body.chypps-black #main .message-wrapper .message-container { background: transparent !important; border-left: 0 !important; padding: 0 !important; }
body.chypps-black #main .woocommerce-error { border-left-color: #ff5c5c !important; }
body.chypps-black #main .woocommerce-error,
body.chypps-black #main .woocommerce-error .message-container,
body.chypps-black #main .woocommerce-error .message-icon { color: #ff9a9a !important; }
body.chypps-black #main .woocommerce-error strong { color: #fff; }
/* "Preencha seu CEP para simular o frete." (box-shadow porque o black.js já pôs border-color inline) */
body.chypps-black #main #aviso-cep-carrinho { color: #ffd666 !important; box-shadow: inset 3px 0 0 #f5b400; }
/* campo de cupom do carrinho e do checkout (chypps-core) */
body.chypps-black #main .chypps-cupom__aviso--erro { color: #ff9a9a !important; }
body.chypps-black #main .chypps-cupom__aviso--ok { color: #7ee0a1 !important; }
body.chypps-black #main .chypps-cupom__caixa .chypps-cupom__botao { background: var(--bk-panel-2) !important; color: var(--bk-text-2) !important; border-left-color: #1f3a52 !important; }
body.chypps-black #main .chypps-cupom--preenchido .chypps-cupom__caixa .chypps-cupom__botao { background: var(--bk-cyan) !important; color: #02080b !important; border-left-color: transparent !important; }
body.chypps-black #main .chypps-cupom--preenchido .chypps-cupom__caixa .chypps-cupom__botao:hover:not(:disabled) { background: var(--bk-ice) !important; }
body.chypps-black #main .checkout-breadcrumbs a.current { color: #fff; }
body.chypps-black #main .woocommerce-billing-fields,
body.chypps-black #main .wc_payment_method { border-color: var(--bk-line) !important; }
/* depoimentos do Google: a data ficava entre 3 e 4,5 de contraste, abaixo do limite do black.js */
body.chypps-black .ti-widget .ti-date,
body.chypps-black .ti-widget .ti-date .ti-with-tooltip { color: var(--bk-muted) !important; }
/* texto em degradê do tema (.textogradiente) é pintado por background-clip:text e terminava em #004d62 no escuro */
/* cor de reserva dos textos que o black.js clareia: o Trustindex reescreve o atributo style e apaga a cor inline */
body.chypps-black .chypps-bk-text { color: #dfeef2; -webkit-text-fill-color: currentColor !important; }
/* descrições das faixas de ícones: mantém os 15px de antes, senão "Pague em até 12x sem juros" quebra na coluna */
body.chypps-black .elementor-icon-box-description.chypps-bk-text { font-size: 15px; }
body.chypps-black #main .textogradiente { background-image: linear-gradient(to right, #1cc8ea 19%, #8beefc 100%) !important; }

/* blocos claros e textos apagados são tratados pelo script (black.js); aqui só o acabamento */
body.chypps-black .elementor-background-overlay.chypps-bk-panel { background-color: var(--bk-ink) !important; }
/* desenhos claros (losangos, linhas) que o Elementor só aplica quando a seção entra na tela */
body.chypps-black .chypps-bk-panel { background-image: none !important; }

/* seção "Fale com nossa equipe especializada!" no estilo da Black */
body.chypps-black .chypps-bk-talk-wrap { background-color: var(--bk-ink) !important; }
body.chypps-black .chypps-bk-talk {
    background: radial-gradient(70% 140% at 100% 100%, rgba(28, 200, 234, .3), transparent 60%), var(--bk-panel) !important;
    border: 1px solid var(--bk-line) !important; border-radius: 12px; box-shadow: 0 30px 80px -40px rgba(28, 200, 234, .45); }
body.chypps-black .chypps-bk-talk > .elementor-background-overlay { display: none !important; }
body.chypps-black .chypps-bk-talk .elementor-widget-image .elementor-widget-container { background-image: none !important; filter: drop-shadow(0 0 26px rgba(28, 200, 234, .4)); }
/* o brilho fica no container: no mesmo elemento da máscara ele era cortado em retângulo */
body.chypps-black .chypps-bk-talk .chypps-bk-talk-ninja {
    -webkit-mask-image: linear-gradient(180deg, #000 78%, transparent 100%); mask-image: linear-gradient(180deg, #000 78%, transparent 100%); }
body.chypps-black .chypps-bk-talk .elementor-button {
    border-radius: 99px !important; background: linear-gradient(180deg, #58dff6, #13a9cf) !important; color: #fff !important; font-weight: 700;
    box-shadow: 0 10px 30px rgba(28, 200, 234, .4), inset 0 1px 0 rgba(255, 255, 255, .45); transition: transform .2s, box-shadow .2s; }
body.chypps-black .chypps-bk-talk .elementor-button:hover { transform: translateY(-2px); box-shadow: 0 14px 36px rgba(28, 200, 234, .55); }
/* nos containers novos do Elementor a camada clara (cor + desenho) fica no ::before */
body.chypps-black .e-con.chypps-bk-panel::before,
body.chypps-black .e-con.chypps-bk-panel::after { background: none !important; }
body.chypps-black #main .button.alt:not(.is-outline),
body.chypps-black #main .chypps-add-compativel-btn { color: #fff !important; }

/* barra fixa de "Adicionar ao carrinho" da página de produto */
body.chypps-black .sticky-add-to-cart--active { background-color: rgba(6, 19, 25, .97) !important; border-top: 1px solid var(--bk-line); box-shadow: 0 -10px 30px rgba(0, 0, 0, .5); }
body.chypps-black .sticky-add-to-cart--active,
body.chypps-black .sticky-add-to-cart--active .product-title-small,
body.chypps-black .sticky-add-to-cart--active .sticky-add-to-cart__product { color: var(--bk-text); }
body.chypps-black .sticky-add-to-cart p.stock { background-color: var(--bk-panel) !important; color: var(--bk-cyan) !important; border: 1px solid var(--bk-line); }

/* ---------- banner de lançamento no carrossel da home ---------- */
body.chypps-black.home .slider-wrapper .slider { opacity: 0; animation: chypps-bk-reveal .01s 1.5s forwards; }
body.chypps-black.chypps-bk-ready .slider-wrapper .slider { opacity: 1; animation: none; }

.chypps-bk-slide { position: relative; width: 100%; height: 550px; overflow: hidden; background: #02080b; color: #eef6f8; font-family: "Poppins", "Segoe UI", system-ui, sans-serif; -webkit-font-smoothing: antialiased; }
.chypps-bk-slide * { box-sizing: border-box; }
.chypps-bk-slide img { display: block; max-width: none; margin: 0; }
.chypps-bk-slide p { margin: 0; }
.chypps-bk-slide canvas { position: absolute; inset: 0; width: 100%; height: 100%; }
.chypps-bk-shade { position: absolute; inset: 0; background: linear-gradient(90deg, rgba(2, 8, 11, .97) 0%, rgba(2, 8, 11, .85) 30%, rgba(2, 8, 11, .25) 52%, rgba(2, 8, 11, .1) 70%, rgba(2, 8, 11, .6) 100%); }
.chypps-bk-glow { position: absolute; left: 58%; top: 50%; width: 640px; height: 640px; transform: translate(-50%, -50%); background: radial-gradient(circle, rgba(60, 215, 245, .42) 0%, rgba(28, 200, 234, .1) 38%, transparent 66%); mix-blend-mode: screen; animation: chypps-bk-pulse 4.2s ease-in-out infinite; pointer-events: none; }
.chypps-bk-hud { position: absolute; top: 16px; font: 500 11px/1 "JetBrains Mono", Consolas, monospace; letter-spacing: .14em; color: #8beefc; opacity: .85; }
.chypps-bk-hud-l { left: 22px; } .chypps-bk-hud-r { right: 22px; }
.chypps-bk-copy { position: absolute; left: max(24px, calc(50% - 585px)); top: 50%; transform: translateY(-50%); width: 500px; display: flex; flex-direction: column; align-items: flex-start; }
.chypps-bk-eyebrow { margin-bottom: 12px !important; font: 700 13px/1 "JetBrains Mono", Consolas, monospace; letter-spacing: .12em; text-transform: uppercase; color: #1cc8ea; text-shadow: 0 0 12px rgba(28, 200, 234, .5); }
.chypps-bk-eyebrow i { display: inline-block; width: .6em; height: 1em; margin-left: 3px; vertical-align: -2px; background: #1cc8ea; animation: chypps-bk-blink .8s steps(1) infinite; }
.chypps-bk-logo { width: 280px !important; height: auto !important; filter: drop-shadow(0 0 20px rgba(28, 200, 234, .3)); }
.chypps-bk-kicker { margin: 16px 0 6px !important; font-size: 22px; font-weight: 500; line-height: 1.1; }
.chypps-bk-stamp { display: inline-block; padding: .08em .4em .14em; font-weight: 800; font-size: 46px; line-height: 1; color: #021016; background: linear-gradient(180deg, #6fe3f7, #1cc8ea); box-shadow: 0 10px 30px rgba(28, 200, 234, .35); }
/* escopado no slide: o black.js usa a mesma classe só como marca nos textos que clareia */
.chypps-bk-slide .chypps-bk-text { margin: 14px 0 20px !important; font-size: 15px; line-height: 1.5; color: #dfeef2; max-width: 440px; }
.chypps-bk-ctas { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 20px; }
.chypps-bk-btn { position: relative; overflow: hidden; display: inline-flex; align-items: center; gap: 10px; padding: 12px 14px 12px 24px; border-radius: 99px;
    background: linear-gradient(180deg, #58dff6, #13a9cf); color: #fff !important; text-decoration: none !important; font-weight: 700; font-size: 15px; line-height: 1.2;
    box-shadow: 0 8px 24px rgba(28, 200, 234, .35), inset 0 1px 0 rgba(255, 255, 255, .45); }
.chypps-bk-btn::after { content: ""; position: absolute; top: 0; bottom: 0; width: 40%; left: -60%; background: linear-gradient(100deg, transparent, rgba(255, 255, 255, .55), transparent); transform: skewX(-20deg); animation: chypps-bk-sweep 3.6s 2s ease-in-out infinite; }
.chypps-bk-arrow { display: grid; place-items: center; width: 22px; height: 22px; border-radius: 50%; background: #fff; color: #0e9cc2; font-size: 13px; font-weight: 800; }
.chypps-bk-link { color: #eef6f8 !important; font-size: 14px; font-weight: 600; text-decoration: none !important; border-bottom: 1px solid rgba(28, 200, 234, .4); padding-bottom: 2px; }
.chypps-bk-fine { margin-top: 12px !important; font-size: 12px; color: #86a3ab; }
.chypps-bk-kick { position: absolute; left: 58%; bottom: 10px; height: 500px !important; width: auto !important; transform: translateX(-50%); filter: drop-shadow(0 0 28px rgba(28, 200, 234, .4));
    -webkit-mask-image: linear-gradient(180deg, #000 74%, transparent 97%), linear-gradient(90deg, transparent 0%, #000 16%); -webkit-mask-composite: source-in;
    mask-image: linear-gradient(180deg, #000 74%, transparent 97%), linear-gradient(90deg, transparent 0%, #000 16%); mask-composite: intersect; }
.chypps-bk-offer { position: absolute; right: max(24px, calc(50% - 585px)); top: 50%; transform: translateY(-50%); display: flex; flex-direction: column; align-items: flex-end; line-height: .82; }
.chypps-bk-offer span { font-weight: 600; font-size: 36px; }
.chypps-bk-offer b { font-weight: 900; font-size: 128px; letter-spacing: -.04em; background: linear-gradient(180deg, #fff 0%, #e4f2f6 45%, #a9c3cb 52%, #fff 70%); -webkit-background-clip: text; background-clip: text; color: transparent; }
.chypps-bk-offer em { font-style: normal; font-weight: 900; font-size: 86px; color: #1cc8ea; text-shadow: 0 0 34px rgba(28, 200, 234, .55); }

@media (max-width: 1180px) {
    .chypps-bk-offer { display: none; }
    .chypps-bk-kick, .chypps-bk-glow { left: 74%; }
}
@media (max-width: 849px) {
    .chypps-bk-kick { display: none; }
}
@media (max-width: 549px) {
    .chypps-bk-slide { height: 600px; }
    .chypps-bk-shade { background: linear-gradient(180deg, rgba(2, 8, 11, .1) 0%, rgba(2, 8, 11, .3) 30%, rgba(2, 8, 11, .92) 44%, rgba(2, 8, 11, .97) 100%); }
    .chypps-bk-glow { left: 50%; top: 20%; width: 420px; height: 420px; }
    .chypps-bk-hud { top: 14px; font-size: 9.5px; } .chypps-bk-hud-l { left: 16px; } .chypps-bk-hud-r { right: 16px; }
    .chypps-bk-kick { display: block; left: 50%; top: 16px; bottom: auto; height: 190px !important; }
    .chypps-bk-copy { left: 16px; right: 16px; width: auto; top: 206px; transform: none; align-items: center; text-align: center; }
    .chypps-bk-eyebrow { font-size: 11px; margin-bottom: 8px !important; }
    .chypps-bk-logo { width: 230px !important; }
    .chypps-bk-kicker { font-size: 18px; margin-top: 10px !important; }
    .chypps-bk-stamp { font-size: 32px; white-space: nowrap; }
    .chypps-bk-slide .chypps-bk-text { font-size: 13px; margin: 10px 0 14px !important; }
    .chypps-bk-ctas { justify-content: center; gap: 10px 18px; }
    .chypps-bk-fine { display: none; }
}

@keyframes chypps-bk-reveal { to { opacity: 1; } }
@keyframes chypps-bk-pulse { 0%, 100% { opacity: .65; transform: translate(-50%, -50%) scale(.94); } 50% { opacity: 1; transform: translate(-50%, -50%) scale(1.06); } }
@keyframes chypps-bk-blink { 50% { opacity: 0; } }
@keyframes chypps-bk-sweep { 0%, 70% { left: -60%; } 100% { left: 130%; } }
@media (prefers-reduced-motion: reduce) {
    .chypps-bk-slide *, .chypps-bk-strip * { animation: none !important; transition: none !important; }
}
