/* divulgaae.css - carregado DEPOIS do app.css, colors.css e custom.css
   Arquivo único e limpo: hero, menus, rodapé, produto, cards, carrinho, checkout, breadcrumb */

/* ==================== HERO COM SLIDER (home) ==================== */
.dv-header{--dv-bg:#0b0618;--dv-accent:#8b5cf6;--dv-accent-dark:#7c3aed;--dv-mute:#b9aee0;--dv-line:rgba(255,255,255,.12);
position:relative;overflow:hidden;margin:16px;border-radius:24px;padding:90px 0 0;text-align:center;color:#fff;
background:radial-gradient(60% 50% at 50% 0%,#2a1360 0%,transparent 70%),var(--dv-bg)}
.dv-header::before{content:"";position:absolute;inset:0;pointer-events:none;
background-image:linear-gradient(var(--dv-line) 1px,transparent 1px),linear-gradient(90deg,var(--dv-line) 1px,transparent 1px);
background-size:48px 48px;opacity:.25;-webkit-mask-image:radial-gradient(70% 70% at 50% 40%,#000,transparent);mask-image:radial-gradient(70% 70% at 50% 40%,#000,transparent)}
.dv-header .dv-glow{position:absolute;top:-10%;width:34%;height:120%;filter:blur(70px);opacity:.75;pointer-events:none}
.dv-header .dv-glow-l{left:-12%;background:linear-gradient(180deg,#f0abfc,#7c3aed 60%,transparent)}
.dv-header .dv-glow-r{right:-12%;background:linear-gradient(180deg,#a5b4fc,#8b5cf6 60%,transparent)}
.dv-header .container{position:relative}
.dv-title{font-size:clamp(30px,5vw,56px);font-weight:800;line-height:1.12;letter-spacing:-.02em;max-width:900px;margin:0 auto 16px;color:#fff}
.dv-text{color:var(--dv-mute);max-width:640px;margin:0 auto 32px;font-size:15px;line-height:1.7}
.dv-header .search{max-width:720px;margin:0 auto}
.dv-header .search-input{display:flex;align-items:center;background:#fff;border-radius:14px;padding:6px;box-shadow:0 0 0 3px rgba(139,92,246,.45),0 20px 60px rgba(139,92,246,.35)}
.dv-header .search-input input{flex:1;min-width:0;height:48px;border:0;outline:0;background:transparent;color:#1a1230;padding:0 16px;font-size:14px}
.dv-header .search-input .btn{background:var(--dv-accent);border:0;color:#fff;border-radius:10px;height:48px;padding:0 24px;font-weight:600;transition:background .2s}
.dv-header .search-input .btn:hover{background:var(--dv-accent-dark)}
.dv-header .search-input :focus-visible{outline:2px solid var(--dv-accent);outline-offset:2px}
.dv-slider{margin-top:56px;height:240px;-webkit-mask-image:linear-gradient(#000 60%,transparent);mask-image:linear-gradient(#000 60%,transparent)}
.dv-slider .swiper{height:100%;overflow:hidden}
.dv-slider .swiper-wrapper{align-items:flex-end;transition-timing-function:linear}
.dv-slider .swiper-slide{width:160px;height:auto}
.dv-card{display:grid;place-items:center;width:100%;border-radius:18px;border:1px solid var(--dv-line);box-shadow:0 20px 40px rgba(0,0,0,.45);color:#fff;font-weight:800;font-size:14px;text-decoration:none;padding:12px;text-align:center;transition:transform .25s}
.dv-card:hover{color:#fff;transform:translateY(-8px)}
.dv-card img{width:100%;height:100%;object-fit:cover;border-radius:inherit;display:block}
.dv-slider .swiper-slide:nth-child(8n+1) .dv-card{height:150px;background:linear-gradient(135deg,#ec4899,#8b5cf6)}
.dv-slider .swiper-slide:nth-child(8n+2) .dv-card{height:200px;background:linear-gradient(160deg,#38bdf8,#6366f1)}
.dv-slider .swiper-slide:nth-child(8n+3) .dv-card{height:170px;background:linear-gradient(135deg,#a78bfa,#4c1d95)}
.dv-slider .swiper-slide:nth-child(8n+4) .dv-card{height:220px;background:linear-gradient(160deg,#22d3ee,#8b5cf6)}
.dv-slider .swiper-slide:nth-child(8n+5) .dv-card{height:180px;background:linear-gradient(135deg,#f472b6,#7c3aed)}
.dv-slider .swiper-slide:nth-child(8n+6) .dv-card{height:140px;background:linear-gradient(135deg,#c084fc,#312e81)}
.dv-slider .swiper-slide:nth-child(8n+7) .dv-card{height:210px;background:linear-gradient(160deg,#818cf8,#db2777)}
.dv-slider .swiper-slide:nth-child(8n+8) .dv-card{height:160px;background:linear-gradient(135deg,#2dd4bf,#7c3aed)}
@media (max-width:767.98px){
  .dv-header{margin:8px;padding-top:60px;border-radius:18px}
  .dv-slider{height:200px;margin-top:40px}
  .dv-slider .swiper-slide{width:120px}
  .dv-header .search-input .btn{padding:0 16px}
}
@media (prefers-reduced-motion:reduce){.dv-card{transition:none}}


/* ==================== BORDAS SUAVES ==================== */
html:root{--border_color:#e7e1f7;--bs-border-color:#e7e1f7}


/* ==================== MENU SUPERIOR (faixa roxa fina) ==================== */
html body .dv-nav-top{position:relative!important;z-index:50!important;margin:0!important;padding:0!important;min-height:0!important;height:auto!important;background:linear-gradient(90deg,#1d0b3b 0%,#3b1a73 55%,#5b21b6 100%)!important;color:#fff!important}
html body .dv-nav-top .container-custom{padding-top:0!important;padding-bottom:0!important}
html body .dv-nav-top .nav-bar-container{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:12px!important;height:36px!important;min-height:0!important;padding:0!important}
html body .dv-nav-top .nav-bar-menu{min-width:0!important}
html body .dv-nav-top .nav-bar-links{display:flex!important;align-items:center!important;gap:18px!important}
html body .dv-nav-top .nav-bar-links .link,
html body .dv-nav-top .nav-bar-links .drop-down-btn{padding:0!important;color:#ede7ff!important;font-size:12px!important;font-weight:500!important;line-height:1!important;white-space:nowrap!important;transition:color .2s!important}
html body .dv-nav-top .nav-bar-links .link:hover,
html body .dv-nav-top .nav-bar-links .drop-down-btn:hover{color:#fff!important}
html body .dv-nav-top .nav-bar-links .link-title,
html body .dv-nav-top .nav-bar-links .link-title span{white-space:nowrap!important;line-height:1!important}
html body .dv-nav-top .nav-bar-buttons,
html body .dv-nav-top .nav-bar-actions{display:flex!important;align-items:center!important;gap:8px!important;flex-shrink:0!important}
html body .dv-nav-top .link-btn{display:inline-flex!important;align-items:center!important}
html body .dv-nav-top .btn{display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:4px!important;height:26px!important;min-height:0!important;padding:0 12px!important;border-radius:999px!important;font-size:12px!important;font-weight:600!important;line-height:1!important;transition:background .2s,color .2s,border-color .2s!important}
html body .dv-nav-top .btn i,
html body .dv-nav-top .btn .fa,
html body .dv-nav-top .btn .fa-solid{color:inherit!important;font-size:12px!important}
html body .dv-nav-top .btn-outline-light,
html body .dv-nav-top .btn-outline-primary,
html body .dv-nav-top .btn-outline-premium{border:1px solid rgba(255,255,255,.45)!important;background:transparent!important;color:#fff!important}
html body .dv-nav-top .btn-outline-premium i{color:#fcd34d!important}
html body .dv-nav-top .btn-outline-light:hover,
html body .dv-nav-top .btn-outline-primary:hover,
html body .dv-nav-top .btn-outline-premium:hover{border-color:#fff!important;background:rgba(255,255,255,.14)!important}
html body .dv-nav-top .btn-primary{border:1px solid #fff!important;background:#fff!important;color:#5b21b6!important}
html body .dv-nav-top .btn-primary:hover{background:#f3edff!important}
html body .dv-nav-top .btn-padding{width:30px!important;padding:0!important}
html body .dv-nav-top .cart-btn{position:relative!important}
html body .dv-nav-top .cart-counter{position:absolute!important;top:-6px!important;right:-6px!important;min-width:16px!important;height:16px!important;padding:0 4px!important;font-size:10px!important;line-height:16px!important}
html body .dv-nav-top .nav-bar-menu-btn{color:#fff!important}
html body .dv-nav .drop-down-menu{z-index:100!important}

/* menu do usuário na faixa roxa */
html body .dv-nav-top .nav-bar-actions .drop-down-btn{display:flex!important;align-items:center!important;gap:8px!important;height:36px!important;padding:0!important;color:#fff!important;line-height:1!important}
html body .dv-nav-top .nav-bar-actions .drop-down-btn .user-avatar,
html body .dv-nav-top .nav-bar-actions .drop-down-btn img{display:block!important;flex:0 0 26px!important;width:26px!important;height:26px!important;min-width:26px!important;max-width:26px!important;max-height:26px!important;margin:0!important}
html body .dv-nav-top .nav-bar-actions .drop-down-btn img{border:2px solid rgba(255,255,255,.65)!important;border-radius:50%!important;object-fit:cover!important}
html body .dv-nav-top .nav-bar-actions .drop-down-btn .user-avatar{overflow:hidden;border-radius:50%!important}
html body .dv-nav-top .nav-bar-actions .drop-down-btn span,
html body .dv-nav-top .nav-bar-actions .drop-down-btn strong,
html body .dv-nav-top .nav-bar-actions .drop-down-btn h6{margin:0!important;color:#fff!important;font-size:13px!important;font-weight:600!important;line-height:1!important;white-space:nowrap!important}
html body .dv-nav-top .nav-bar-actions .drop-down-btn i{margin:0!important;color:#e9ddff!important;font-size:12px!important}
html body .dv-nav-top .nav-bar-actions .drop-down-menu{z-index:200!important}


/* ==================== MENU PRINCIPAL (branco) ==================== */
html body .dv-nav-main{position:relative!important;z-index:40!important;margin:0!important;padding:0!important;min-height:0!important;border-bottom:1px solid #ece8f7!important;background:#fff!important;box-shadow:0 4px 18px rgba(36,16,68,.06)!important}
html body .dv-nav-main .nav-bar-container{display:flex!important;align-items:center!important;gap:12px!important;height:auto!important;min-height:64px!important;padding-top:8px!important;padding-bottom:8px!important}
html body .dv-nav-main .dv-logo{display:flex!important;flex:0 0 auto!important;align-items:center!important;margin:0 8px 0 0!important}
html body .dv-nav-main .dv-logo img{display:block!important;width:auto!important;height:auto!important;max-width:170px!important;max-height:38px!important;object-fit:contain!important}
html body .dv-nav-main .nav-bar-menu-btn{color:#34234f!important}
html body .dv-nav-main .nav-bar-menu{flex:1 1 auto!important;min-width:0!important}
html body .dv-nav-main .nav-bar-links{display:flex!important;flex-wrap:nowrap!important;align-items:center!important;justify-content:flex-start!important;gap:2px!important}
html body .dv-nav-main .nav-bar-links>a,
html body .dv-nav-main .nav-bar-links>.drop-down{flex:0 0 auto!important}
html body .dv-nav-main .nav-bar-links .link,
html body .dv-nav-main .nav-bar-links .drop-down-btn{display:flex!important;align-items:center!important;padding:8px 9px!important;border-radius:999px!important;color:#4b4466!important;font-size:13px!important;font-weight:500!important;line-height:1.2!important;white-space:nowrap!important;transition:background .2s,color .2s!important}
html body .dv-nav-main .nav-bar-links .link-title,
html body .dv-nav-main .nav-bar-links .link-title span{white-space:nowrap!important}
html body .dv-nav-main .nav-bar-links .link:hover,
html body .dv-nav-main .nav-bar-links .drop-down-btn:hover{background:#f1eaff!important;color:#6d28d9!important}
html body .dv-nav-main .dv-main-actions{display:flex!important;flex:0 0 auto!important;align-items:center!important;gap:10px!important;margin-left:auto!important}
html body .dv-nav-main .dv-main-actions form,
html body .dv-nav-main .dv-main-actions form:focus-within{width:160px!important;margin:0!important;transition:width .25s ease!important}
html body .dv-nav-main .form-search{position:relative!important;width:100%!important}
html body .dv-nav-main .form-search .form-control{width:100%!important;height:40px!important;border:1px solid #e3dcf7!important;border-radius:999px!important;background:#f8f7fc!important;color:#2b2340!important;font-size:13px!important}
html body .dv-nav-main .form-search .form-control:focus{border-color:#8b5cf6!important;background:#fff!important;box-shadow:0 0 0 3px rgba(139,92,246,.15)!important}
html body .dv-nav-main .form-search .icon{color:#7c6fa8!important}

/* botão "Seja um vendedor" */
html body .dv-nav-main a.dv-seller,
html body .dv-nav-main a.dv-seller:visited{position:relative!important;display:inline-flex!important;flex:0 0 auto!important;align-items:center!important;gap:9px!important;height:40px!important;padding:0 14px 0 6px!important;overflow:hidden!important;border:0!important;border-radius:999px!important;background:linear-gradient(135deg,#a855f7 0%,#7c3aed 55%,#5b21b6 100%)!important;box-shadow:0 6px 18px rgba(109,40,217,.35),inset 0 1px 0 rgba(255,255,255,.25)!important;color:#fff!important;font-size:13px!important;font-weight:700!important;line-height:1!important;text-decoration:none!important;white-space:nowrap!important;transition:transform .2s ease,box-shadow .2s ease!important}
html body .dv-nav-main a.dv-seller::after{content:""!important;position:absolute!important;top:0!important;left:-60%!important;width:40%!important;height:100%!important;background:linear-gradient(100deg,transparent,rgba(255,255,255,.35),transparent)!important;transform:skewX(-20deg)!important;transition:left .6s ease!important}
html body .dv-nav-main a.dv-seller:hover::after{left:130%!important}
html body .dv-nav-main a.dv-seller .dv-seller-icon{display:grid!important;place-items:center!important;width:28px!important;height:28px!important;border-radius:50%!important;background:rgba(255,255,255,.2)!important;font-size:12px!important}
html body .dv-nav-main a.dv-seller i{color:#fff!important}
html body .dv-nav-main a.dv-seller .dv-seller-arrow{font-size:11px!important;opacity:.85!important;transition:transform .2s ease!important}
html body .dv-nav-main a.dv-seller:hover{transform:translateY(-2px)!important;box-shadow:0 10px 24px rgba(109,40,217,.45),inset 0 1px 0 rgba(255,255,255,.3)!important;color:#fff!important}
html body .dv-nav-main a.dv-seller:hover .dv-seller-arrow{transform:translateX(3px)!important}
html body .dv-nav-main a.dv-seller:active{transform:translateY(0)!important}
html body .dv-nav-main .nav-bar-links a.dv-seller{margin-left:12px!important}

/* sem espaço no topo */
html body{padding-top:0!important;margin-top:0!important}
html body .dv-nav-top{top:0!important;margin-top:0!important;border-top:0!important;transform:none!important}
html body .dv-nav-top,
html body .dv-nav-main{margin-top:0!important;margin-bottom:0!important}
html body .dv-nav-top+.dv-nav-main{position:relative!important;top:0!important}

/* desktop: some a cópia dos botões da gaveta */
@media (min-width:1200px){
  html body .dv-nav-top .nav-bar-menu-inner .link-btn,
  html body .dv-nav-top .nav-bar-actions .cart-btn{display:none!important}
}
@media (min-width:1200px) and (max-width:1399.98px){
  html body .dv-nav-main .nav-bar-links .link,
  html body .dv-nav-main .nav-bar-links .drop-down-btn{padding:8px 8px!important;font-size:12.5px!important}
  html body .dv-nav-main .dv-logo img{max-width:150px!important}
  html body .dv-nav-main .dv-main-actions form{display:none!important}
}
/* tablet e celular (gaveta) */
@media (max-width:1199.98px){
  html body .dv-nav-top .nav-bar-buttons{display:none!important}
  html body .dv-nav-top .nav-bar-menu-inner .link-btn{display:inline-flex!important}
  html body .dv-nav-main .nav-bar-container{gap:10px!important}
  html body .dv-nav-main .nav-bar-menu{flex:0 0 auto!important}
  html body .dv-nav-main .dv-main-actions{order:2!important;gap:8px!important}
  html body .dv-nav-main .nav-bar-menu-btn{order:3!important;display:flex!important;align-items:center!important;justify-content:center!important;margin:0 0 0 4px!important}
  html body .dv-nav-main .dv-main-actions form{width:150px!important}
  html body .dv-nav-top .nav-bar-menu-inner .nav-bar-links .link,
  html body .dv-nav-top .nav-bar-menu-inner .nav-bar-links .drop-down-btn{padding:10px 0!important;color:#2b2340!important;font-size:14px!important}
  html body .dv-nav-main .nav-bar-menu-inner .nav-bar-links .link,
  html body .dv-nav-main .nav-bar-menu-inner .nav-bar-links .drop-down-btn{border-radius:10px!important;font-size:14px!important}
  html body .dv-nav-top .nav-bar-menu-inner .nav-bar-links,
  html body .dv-nav-main .nav-bar-menu-inner .nav-bar-links{flex-direction:column!important;flex-wrap:nowrap!important;align-items:stretch!important;gap:2px!important}
  html body .dv-nav-main .nav-bar-links a.dv-seller{width:auto!important;align-self:flex-start!important;margin:10px 0 0 0!important;padding:0 14px 0 6px!important;justify-content:flex-start!important}
  html body .dv-nav-main .nav-bar-links a.dv-seller span:not(.dv-seller-icon){display:inline!important}
  html body .dv-nav-main .nav-bar-links a.dv-seller .dv-seller-arrow{display:inline-block!important}
}
@media (max-width:767.98px){
  html body .dv-header{margin:8px!important;padding-top:60px!important;border-radius:18px!important}
  html body .dv-slider{height:200px!important;margin-top:40px!important}
  html body .dv-slider .swiper-slide{width:120px!important}
  html body .dv-header .search-input .btn{padding:0 16px!important}
  html body .dv-nav-top .nav-bar-container{gap:8px!important}
  html body .dv-nav-top .nav-bar-links{gap:10px!important}
  html body .dv-nav-top .nav-bar-buttons .btn{padding:0 9px!important;font-size:11px!important}
  html body .dv-nav-main .nav-bar-container{min-height:56px!important;gap:8px!important}
  html body .dv-nav-main .dv-main-actions form{display:none!important}
}
@media (max-width:575.98px){
  html body .dv-nav-main .dv-logo img{max-width:130px!important;max-height:34px!important}
  html body .dv-nav-main a.dv-seller{width:40px!important;padding:0!important;justify-content:center!important}
  html body .dv-nav-main a.dv-seller span:not(.dv-seller-icon),
  html body .dv-nav-main a.dv-seller .dv-seller-arrow{display:none!important}
  html body .dv-nav-main .nav-bar-links a.dv-seller{width:40px!important}
  html body .dv-nav-top .nav-bar-actions .drop-down-btn span,
  html body .dv-nav-top .nav-bar-actions .drop-down-btn strong,
  html body .dv-nav-top .nav-bar-actions .drop-down-btn h6{display:none!important}
}
@media (prefers-reduced-motion:reduce){
  html body .dv-card,
  html body .dv-nav-main a.dv-seller,
  html body .dv-nav-main a.dv-seller::after,
  html body .dv-nav-main a.dv-seller .dv-seller-arrow,
  html body .dv-nav-main .dv-main-actions form{transition:none!important}
}


/* ==================== RODAPÉ ==================== */
.dv-footer{--dv-bg:#0b0618;--dv-accent:#8b5cf6;--dv-accent-dark:#7c3aed;--dv-mute:#b9aee0;--dv-line:rgba(255,255,255,.12);position:relative;overflow:hidden;margin:48px 16px 16px;border-radius:24px;color:#fff;background:radial-gradient(60% 45% at 50% 0%,#2a1360 0%,transparent 70%),var(--dv-bg)}
.dv-footer::before{content:"";position:absolute;inset:0;pointer-events:none;background-image:linear-gradient(var(--dv-line) 1px,transparent 1px),linear-gradient(90deg,var(--dv-line) 1px,transparent 1px);background-size:48px 48px;opacity:.25;-webkit-mask-image:radial-gradient(70% 70% at 50% 30%,#000,transparent);mask-image:radial-gradient(70% 70% at 50% 30%,#000,transparent)}
.dv-footer-glow{position:absolute;left:0;right:0;bottom:-30%;height:70%;pointer-events:none;filter:blur(50px);opacity:.7;background:radial-gradient(40% 60% at 12% 100%,rgba(240,171,252,.45),transparent 70%),radial-gradient(40% 60% at 88% 100%,rgba(139,92,246,.55),transparent 70%)}
.dv-footer-inner{position:relative;z-index:1;padding-top:72px}
.dv-newsletter{max-width:720px;margin:0 auto 72px;text-align:center}
.dv-newsletter-title{margin:0 0 12px;color:#fff;font-size:clamp(28px,4vw,44px);font-weight:800;line-height:1.12;letter-spacing:-.02em}
.dv-newsletter-text{margin:0 auto 28px;max-width:520px;color:var(--dv-mute);font-size:15px;line-height:1.7}
.dv-newsletter-form form{display:flex;align-items:center;gap:6px;max-width:640px;margin:0 auto;padding:6px;border-radius:14px;background:#fff;box-shadow:0 0 0 3px rgba(139,92,246,.45),0 20px 60px rgba(139,92,246,.35)}
.dv-newsletter-form form>div:has(input){flex:1;min-width:0}
.dv-newsletter-form input[type="email"],
.dv-newsletter-form input[type="text"]{width:100%;height:48px;padding:0 16px;border:0!important;outline:0;background:transparent!important;box-shadow:none!important;color:#1a1230;font-size:14px}
.dv-newsletter-form input::placeholder{color:#8a82a8}
.dv-newsletter-form button,
.dv-newsletter-form .btn{flex:0 0 auto;height:48px;padding:0 24px;border:0!important;border-radius:10px!important;background:var(--dv-accent)!important;color:#fff!important;font-weight:600;white-space:nowrap;transition:background .2s}
.dv-newsletter-form button:hover,
.dv-newsletter-form .btn:hover{background:var(--dv-accent-dark)!important}
.dv-newsletter-form .text-danger,
.dv-newsletter-form .invalid-feedback{margin-top:10px;color:#fca5a5!important;font-size:13px}
.dv-newsletter-form .text-success{margin-top:10px;color:#86efac!important;font-size:13px}
.dv-footer-logo{display:inline-block;margin-bottom:18px}
.dv-footer-logo img{display:block;width:auto;max-width:190px;max-height:46px;object-fit:contain}
.dv-footer-about{max-width:380px;margin:0;color:var(--dv-mute);font-size:14px;line-height:1.7}
.dv-footer-counters{display:flex;flex-wrap:wrap;gap:12px;margin-top:24px}
.dv-footer-counter{display:flex;flex-direction:column;gap:2px;padding:12px 18px;border:1px solid var(--dv-line);border-radius:14px;background:rgba(255,255,255,.04)}
.dv-footer-counter strong{color:#fff;font-size:20px;font-weight:800;line-height:1.2}
.dv-footer-counter span{color:var(--dv-mute);font-size:12px}
.dv-footer-title{position:relative;margin:0 0 22px;padding-bottom:12px;color:#fff;font-size:16px;font-weight:600}
.dv-footer-title::after{content:"";position:absolute;left:0;bottom:0;width:28px;height:3px;border-radius:3px;background:var(--dv-accent)}
.dv-footer-links{display:grid;gap:12px;margin:0;padding:0;list-style:none}
.dv-footer-links a{display:inline-block;color:var(--dv-mute);font-size:14px;text-decoration:none;transition:color .2s,transform .2s}
.dv-footer-links a:hover,
.dv-footer-links a:focus-visible{color:#fff;transform:translateX(3px)}
.dv-footer-bottom{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px;margin-top:56px;padding:24px 0;border-top:1px solid var(--dv-line)}
.dv-footer-copy{margin:0;color:var(--dv-mute);font-size:13px}
.dv-footer-payment img{display:block;max-width:100%;max-height:28px}
.dv-footer-socials{display:flex;gap:10px}
.dv-footer-socials a{display:grid;place-items:center;width:40px;height:40px;border-radius:50%;background:#fff;color:var(--dv-bg);font-size:15px;text-decoration:none;transition:background .2s,color .2s,transform .2s}
.dv-footer-socials a:hover,
.dv-footer-socials a:focus-visible{background:var(--dv-accent);color:#fff;transform:translateY(-3px)}
.dv-footer a:focus-visible{outline:2px solid var(--dv-accent);outline-offset:3px}
@media (max-width:991.98px){
  .dv-footer-inner{padding-top:56px}
  .dv-newsletter{margin-bottom:56px}
}
@media (max-width:767.98px){
  .dv-footer{margin:32px 8px 8px;border-radius:18px}
  .dv-footer-bottom{flex-direction:column;text-align:center}
  .dv-newsletter-form form{flex-direction:column;align-items:stretch;padding:8px}
  .dv-newsletter-form button,
  .dv-newsletter-form .btn{width:100%}
}
@media (prefers-reduced-motion:reduce){
  .dv-footer-links a,
  .dv-footer-socials a{transition:none}
}


/* ==================== PÁGINA DO PRODUTO ==================== */
html body .dv-product .card-v{border-radius:20px!important;background:#fff;box-shadow:0 8px 28px rgba(36,16,68,.05);overflow:hidden}
html body .dv-product .card-v-header{background:#faf8ff}
html body .dv-product .dv-box-title{display:flex;align-items:center;gap:8px;margin:0 0 14px;color:#1a1230;font-size:14px;font-weight:700}
html body .dv-product .dv-box-title i{color:#8b5cf6}
html body .dv-product .dv-product-cat{display:inline-flex;align-items:center;gap:6px;margin-bottom:10px;padding:5px 12px;border:1px solid #d9ccff;border-radius:999px;background:#f5f0ff;color:#6d28d9;font-size:12px;font-weight:600;text-decoration:none}
html body .dv-product .dv-product-cat:hover{background:#ebe1ff}
html body .dv-product .item-single-title{color:#1a1230;font-weight:700;letter-spacing:-.01em}
html body .dv-product .dv-product-meta{font-size:13px;color:#6b6486}
html body .dv-product .section-header .btn-outline-secondary{height:42px;border-radius:999px;border-color:#e7e1f7;background:#fff;color:#4b4466;font-size:13px;font-weight:600}
html body .dv-product .section-header .btn-outline-secondary:hover{border-color:#8b5cf6;background:#f5f0ff;color:#6d28d9}
html body .dv-product .dv-gallery .item-single-img img,
html body .dv-product .dv-gallery .item-single-video video{width:100%;border-radius:14px}
html body .dv-product .dv-gallery .item-slide-img{display:block;overflow:hidden;border:2px solid transparent;border-radius:12px;transition:border-color .2s,box-shadow .2s}
html body .dv-product .dv-gallery .item-slide-img:hover{border-color:#8b5cf6;box-shadow:0 6px 16px rgba(139,92,246,.25)}
html body .dv-product .dv-gallery .item-slide-img img{display:block;width:100%;border-radius:10px}
html body .dv-product .dv-gallery .swiper-button-prev,
html body .dv-product .dv-gallery .swiper-button-next{border:1px solid #e7e1f7;border-radius:50%;background:#fff;color:#6d28d9;box-shadow:0 4px 12px rgba(36,16,68,.1)}
html body .dv-product .dv-chips{display:flex;flex-wrap:wrap;gap:8px}
html body .dv-product .dv-chip{padding:6px 14px;border:1px solid #e7e1f7;border-radius:999px;background:#faf8ff;color:#6d28d9;font-size:12px;font-weight:600;text-decoration:none;transition:background .2s,border-color .2s}
html body .dv-product .dv-chip:hover{border-color:#8b5cf6;background:#f1eaff}
html body .dv-product .dv-tabs{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:20px;padding:6px;border:1px solid #e7e1f7;border-radius:16px;background:#faf8ff}
html body .dv-product .dv-tabs-item{flex:1 1 auto}
html body .dv-product .dv-tabs .btn{width:100%;padding:10px 14px;border:0!important;border-radius:12px!important;background:transparent!important;color:#4b4466!important;font-size:13px;font-weight:600;box-shadow:none!important;transition:background .2s,color .2s}
html body .dv-product .dv-tabs .btn:hover{background:#f1eaff!important;color:#6d28d9!important}
html body .dv-product .dv-tabs .btn.btn-primary{background:#fff!important;color:#6d28d9!important;box-shadow:0 0 0 1px #d9ccff,0 4px 12px rgba(139,92,246,.15)!important}
html body .dv-product .dv-buy .form-check-lg{padding:14px 14px 14px 44px;border:1.5px solid #e7e1f7;border-radius:14px;background:#fff;transition:border-color .2s,background .2s,box-shadow .2s}
html body .dv-product .dv-buy .form-check-lg:has(input:checked){border-color:#8b5cf6;background:#f8f4ff;box-shadow:0 0 0 3px rgba(139,92,246,.12)}
html body .dv-product .dv-buy .form-check-lg .form-check-input{margin-left:-30px}
html body .dv-product .dv-buy .form-check-lg .form-check-input:checked{border-color:#8b5cf6;background-color:#8b5cf6}
html body .dv-product .dv-price-box{margin-bottom:16px;padding:16px 18px;border:1px solid #e7e1f7;border-radius:16px;background:linear-gradient(135deg,#faf8ff,#f1eaff)}
html body .dv-product .dv-price-label{display:block;margin-bottom:4px;color:#6b6486;font-size:12px;font-weight:600}
html body .dv-product .dv-price-row{display:flex;flex-wrap:wrap;align-items:baseline;gap:10px}
html body .dv-product .dv-price-now{color:#1a1230;font-size:32px;font-weight:800;line-height:1.1;letter-spacing:-.02em}
html body .dv-product .dv-price-old{color:#9a93b5;font-size:14px;text-decoration:line-through}
html body .dv-product .dv-price-save{padding:3px 10px;border-radius:999px;background:#dcfce7;color:#15803d;font-size:12px;font-weight:700}
html body .dv-product .dv-price-note{display:block;margin-top:6px;color:#6b6486;font-size:12px}
html body .dv-product .dv-buy .btn-primary{height:52px;border:0!important;border-radius:14px!important;background:linear-gradient(135deg,#8b5cf6,#6d28d9)!important;color:#fff!important;font-weight:700;box-shadow:0 10px 24px rgba(109,40,217,.3);transition:transform .2s,box-shadow .2s,filter .2s}
html body .dv-product .dv-buy .btn-primary:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 14px 30px rgba(109,40,217,.4);filter:brightness(1.05)}
html body .dv-product .dv-buy .btn-outline-primary{height:48px;border:1.5px solid #8b5cf6;border-radius:14px;background:#fff;color:#6d28d9;font-weight:700}
html body .dv-product .dv-buy .btn-outline-primary:hover:not(:disabled){background:#f5f0ff}
html body .dv-product .dv-trust{display:grid;gap:10px;margin-top:18px}
html body .dv-product .dv-trust-item{display:flex;align-items:center;gap:12px;padding:11px 14px;border:1px solid transparent;border-radius:14px}
html body .dv-product .dv-trust-item>i{display:grid;place-items:center;flex:0 0 34px;width:34px;height:34px;border-radius:10px;background:rgba(255,255,255,.8);font-size:14px}
html body .dv-product .dv-trust-item strong{display:block;color:#1a1230;font-size:13px;font-weight:700;line-height:1.3}
html body .dv-product .dv-trust-item span{display:block;color:#6b6486;font-size:12px;line-height:1.4}
html body .dv-product .dv-trust-delivery{border-color:#fde68a;background:#fffbeb}
html body .dv-product .dv-trust-delivery>i{color:#d97706}
html body .dv-product .dv-trust-secure{border-color:#bbf7d0;background:#f0fdf4}
html body .dv-product .dv-trust-secure>i{color:#16a34a}
html body .dv-product .dv-trust-support{border-color:#bae6fd;background:#f0f9ff}
html body .dv-product .dv-trust-support>i{color:#0284c7}
html body .dv-product .dv-includes{margin-top:16px;padding:14px;border:1px solid #e7e1f7;border-radius:14px}
html body .dv-product .dv-includes-title{display:flex;align-items:center;gap:8px;margin-bottom:10px;color:#1a1230;font-size:13px;font-weight:700}
html body .dv-product .dv-includes-title i{color:#16a34a}
html body .dv-product .dv-includes-grid{display:grid;gap:8px}
html body .dv-product .dv-includes-item{display:flex;align-items:flex-start;gap:8px;padding:8px 10px;border-radius:10px;background:#faf8ff;color:#4b4466;font-size:12px;line-height:1.4}
html body .dv-product .dv-includes-item i{margin-top:2px;color:#8b5cf6;font-size:11px}
html body .dv-product .dv-guarantee{display:flex;align-items:center;justify-content:center;gap:8px;margin:14px 0 0;color:#6b6486;font-size:12px;text-align:center}
html body .dv-product .dv-guarantee i{color:#16a34a}
html body .dv-product .dv-author .user-avatar img{border-radius:16px}
html body .dv-product .dv-author .btn-outline-secondary{border-radius:12px;border-color:#e7e1f7;color:#4b4466;font-weight:600}
html body .dv-product .dv-author .btn-outline-secondary:hover{border-color:#8b5cf6;background:#f5f0ff;color:#6d28d9}
html body .dv-product .dv-stat h5{color:#1a1230;font-size:15px;font-weight:700}
html body .dv-product .dv-stat i{color:#8b5cf6}
html body .dv-product .dv-info-row{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:11px 0;border-bottom:1px dashed #e7e1f7;font-size:13px}
html body .dv-product .dv-info-row:last-child{border-bottom:0;padding-bottom:0}
html body .dv-product .dv-info-row>span{color:#6b6486}
html body .dv-product .dv-info-row>strong,
html body .dv-product .dv-info-values{max-width:60%;color:#1a1230;font-weight:600;text-align:right}
html body .dv-product .dv-info-row a{color:#6d28d9;font-weight:600;text-decoration:none}
html body .dv-product .dv-info-row a:hover{text-decoration:underline}
html body .dv-product .dv-info-row .breadcrumb{flex-wrap:wrap;font-size:13px}
@media (max-width:767.98px){
  html body .dv-product .dv-tabs-item{flex:1 1 calc(50% - 6px)}
  html body .dv-product .dv-price-now{font-size:28px}
}
@media (prefers-reduced-motion:reduce){
  html body .dv-product .dv-buy .btn-primary,
  html body .dv-product .dv-gallery .item-slide-img{transition:none}
  html body .dv-product .dv-buy .btn-primary:hover:not(:disabled){transform:none}
}


/* ==================== CARDS DE PRODUTO v2 ==================== */
html body .item.dv-card-item{display:flex;flex-direction:column;height:100%;overflow:hidden;border:1px solid var(--border_color)!important;border-radius:20px!important;background:#fff!important;box-shadow:0 2px 6px rgba(36,16,68,.04),0 10px 30px rgba(36,16,68,.06)!important;transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease}
html body .item.dv-card-item:hover{transform:translateY(-5px);border-color:#d9ccff!important;box-shadow:0 4px 10px rgba(109,40,217,.06),0 20px 44px rgba(109,40,217,.16)!important}
html body .item.dv-card-item .item-header{position:relative;margin:8px 8px 0;overflow:hidden;border-radius:14px;background:#f1eaff}
html body .item.dv-card-item .item-header:has(.item-img){aspect-ratio:16/10}
html body .item.dv-card-item .item-header>a{display:block;height:100%}
html body .item.dv-card-item .item-img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .5s ease}
html body .item.dv-card-item:hover .item-img{transform:scale(1.05)}
html body .item.dv-card-item .item-badge{position:absolute;top:10px;left:10px;right:auto;z-index:2;padding:5px 11px;border:0;border-radius:999px;background:rgba(255,255,255,.92);color:#1a1230;font-size:11px;font-weight:700;line-height:1.2;box-shadow:0 4px 12px rgba(36,16,68,.18);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}
html body .item.dv-card-item .item-badge-sale{background:linear-gradient(135deg,#a855f7,#6d28d9);color:#fff}
html body .item.dv-card-item .item-badge-free{background:#16a34a;color:#fff}
html body .item.dv-card-item .item-badge-trending{background:#0074e4;color:#fff}
html body .item.dv-card-item .item-badge-premium{background:linear-gradient(135deg,#fbbf24,#d97706);color:#fff}
html body .item.dv-card-item .item-body{display:flex;flex:1;flex-direction:column;gap:10px;padding:16px 18px 18px}
html body .item.dv-card-item .dv-item-top{display:flex;align-items:center;justify-content:space-between;gap:10px}
html body .item.dv-card-item .dv-item-cat{max-width:70%;padding:4px 11px;overflow:hidden;border:1px solid #e7dcff;border-radius:999px;background:#f5f0ff;color:#6d28d9;font-size:11.5px;font-weight:600;text-decoration:none;text-overflow:ellipsis;white-space:nowrap;transition:background .2s}
html body .item.dv-card-item .dv-item-cat:hover{background:#ebe1ff}
html body .item.dv-card-item .dv-item-rating{display:inline-flex;align-items:center;gap:4px;color:#1a1230;font-size:12px;font-weight:700;white-space:nowrap}
html body .item.dv-card-item .dv-item-rating i{color:#f59e0b;font-size:11px}
html body .item.dv-card-item .dv-item-rating small{color:#9a93b5;font-size:11px;font-weight:500}
html body .item.dv-card-item .item-title{display:-webkit-box;min-height:2.7em;overflow:hidden;color:#1a1230;font-size:15.5px;font-weight:600;line-height:1.35;text-decoration:none;white-space:normal;-webkit-box-orient:vertical;-webkit-line-clamp:2}
html body .item.dv-card-item .item-title:hover{color:#6d28d9}
html body .item.dv-card-item .dv-item-author{display:flex;align-items:center;gap:7px;margin:0;color:#6b6486;font-size:12.5px}
html body .item.dv-card-item .dv-item-author i{color:#b9aee0;font-size:12px}
html body .item.dv-card-item .dv-item-author a{color:#4b4466;font-weight:600;text-decoration:none}
html body .item.dv-card-item .dv-item-author a:hover{color:#6d28d9}
html body .item.dv-card-item .item-purchase{margin-top:auto;padding-top:14px;border-top:1px dashed #e7e1f7}
html body .item.dv-card-item .item-price{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 8px}
html body .item.dv-card-item .item-price-number{color:#1a1230;font-size:21px;font-weight:800;letter-spacing:-.02em;line-height:1.1}
html body .item.dv-card-item .item-price-through{color:#9a93b5;font-size:13px;text-decoration:line-through}
html body .item.dv-card-item .dv-item-off{padding:2px 8px;border-radius:999px;background:#dcfce7;color:#15803d;font-size:11px;font-weight:700}
html body .item.dv-card-item .item-sales{margin-top:4px;color:#6b6486;font-size:12px}
html body .item.dv-card-item .item-sales i{color:#8b5cf6}
html body .item.dv-card-item .btn-padding{display:inline-grid;place-items:center;width:42px;height:42px;padding:0;border-radius:12px;font-size:14px;transition:background .2s,color .2s,border-color .2s,transform .2s,box-shadow .2s}
html body .item.dv-card-item .btn-outline-primary{border:0;background:#f1eaff;color:#6d28d9}
html body .item.dv-card-item .btn-outline-primary:hover:not(:disabled){background:linear-gradient(135deg,#8b5cf6,#6d28d9);color:#fff;transform:translateY(-2px);box-shadow:0 8px 18px rgba(109,40,217,.35)}
html body .item.dv-card-item .btn-outline-primary:disabled{opacity:.45}
html body .item.dv-card-item .btn-outline-secondary{border:1px solid #e7e1f7;background:#fff;color:#6b6486}
html body .item.dv-card-item .btn-outline-secondary:hover{border-color:#8b5cf6;background:#faf8ff;color:#6d28d9}
html body .item.dv-card-item a:focus-visible,
html body .item.dv-card-item button:focus-visible{outline:2px solid #8b5cf6;outline-offset:2px}
@media (prefers-reduced-motion:reduce){
  html body .item.dv-card-item,
  html body .item.dv-card-item .item-img,
  html body .item.dv-card-item .btn-padding{transition:none}
  html body .item.dv-card-item:hover,
  html body .item.dv-card-item:hover .item-img,
  html body .item.dv-card-item .btn-outline-primary:hover:not(:disabled){transform:none}
}


/* ==================== CARRINHO ==================== */
html body .dv-cart .card-v,
html body .dv-cart-empty-box{border-radius:20px!important;background:#fff;box-shadow:0 8px 28px rgba(36,16,68,.05)}
html body .dv-cart .dv-cart-list{overflow:hidden;padding:0!important}
html body .dv-cart .dv-cart-top{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;padding:18px 22px;border-bottom:1px solid #ece8f7;background:#faf8ff}
html body .dv-cart .dv-cart-heading{display:flex;align-items:center;gap:10px;margin:0;color:#1a1230;font-size:17px;font-weight:700}
html body .dv-cart .dv-cart-heading i{color:#8b5cf6}
html body .dv-cart .dv-cart-count{display:inline-grid;place-items:center;min-width:24px;height:24px;padding:0 8px;border-radius:999px;background:#8b5cf6;color:#fff;font-size:12px;font-weight:700}
html body .dv-cart .dv-cart-top-actions{display:flex;flex-wrap:wrap;align-items:center;gap:8px}
html body .dv-cart .dv-cart-top-actions form{display:flex;margin:0}
html body .dv-cart .dv-cart-top-actions .btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:38px;margin:0;padding:0 16px;border-radius:999px;font-size:13px;font-weight:600;line-height:1;white-space:nowrap}
html body .dv-cart .dv-cart-top-actions .btn i{margin:0!important;line-height:1}
html body .dv-cart .dv-cart-top-actions .btn span{line-height:1}
html body .dv-cart .dv-cart-continue{border:1px solid #d9ccff;background:#fff;color:#6d28d9}
html body .dv-cart .dv-cart-continue:hover{background:#f5f0ff;color:#5b21b6}
html body .dv-cart .dv-cart-empty{border:1px solid #fecaca;background:#fff;color:#dc2626}
html body .dv-cart .dv-cart-empty:hover{background:#fef2f2;color:#b91c1c}
html body .dv-cart .dv-cart-item{display:flex;gap:18px;padding:20px 22px;border-bottom:1px solid #ece8f7}
html body .dv-cart .dv-cart-item:last-child{border-bottom:0}
html body .dv-cart .dv-cart-thumb{flex:0 0 120px;align-self:flex-start;width:120px;aspect-ratio:16/10;overflow:hidden;border:1px solid #ece8f7;border-radius:14px;background:#f1eaff}
html body .dv-cart .dv-cart-thumb img{display:block;width:100%;height:100%;object-fit:cover}
html body .dv-cart .dv-cart-main{display:flex;flex:1;flex-direction:column;gap:14px;min-width:0}
html body .dv-cart .dv-cart-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}
html body .dv-cart .dv-cart-titles{display:flex;flex-direction:column;align-items:flex-start;gap:6px;min-width:0}
html body .dv-cart .dv-cart-cat{padding:3px 10px;border:1px solid #e7dcff;border-radius:999px;background:#f5f0ff;color:#6d28d9;font-size:11px;font-weight:600}
html body .dv-cart .dv-cart-title{color:#1a1230;font-size:15.5px;font-weight:600;line-height:1.35;text-decoration:none}
html body .dv-cart .dv-cart-title:hover{color:#6d28d9}
html body .dv-cart .dv-cart-remove{display:grid;place-items:center;flex:0 0 32px;width:32px;height:32px;border:1px solid #e7e1f7;border-radius:50%;background:#fff;color:#9a93b5;font-size:13px;transition:background .2s,color .2s,border-color .2s}
html body .dv-cart .dv-cart-remove:hover{border-color:#fecaca;background:#fef2f2;color:#dc2626}
html body .dv-cart .dv-cart-bottom{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:14px}
html body .dv-cart .dv-cart-form{display:flex;flex-wrap:wrap;align-items:flex-end;gap:10px}
html body .dv-cart .dv-cart-field{display:flex;flex-direction:column;gap:4px}
html body .dv-cart .dv-cart-field label{margin:0;color:#6b6486;font-size:11.5px;font-weight:600}
html body .dv-cart .dv-cart-field .form-select,
html body .dv-cart .dv-cart-field .form-control{height:38px;border:1px solid #e7e1f7;border-radius:10px;background-color:#faf8ff;color:#1a1230;font-size:13px}
html body .dv-cart .dv-cart-field .form-select{min-width:170px;padding-right:2.5rem;background-position:right 12px center}
html body .dv-cart .dv-cart-field .form-select:focus,
html body .dv-cart .dv-cart-field .form-control:focus{border-color:#8b5cf6;background-color:#fff;box-shadow:0 0 0 3px rgba(139,92,246,.15)}
html body .dv-cart .dv-cart-qty .form-control{width:76px}
html body .dv-cart .dv-cart-update{height:38px;padding:0 14px;border:1px solid #d9ccff;border-radius:10px;background:#f5f0ff;color:#6d28d9;font-size:12.5px;font-weight:600;transition:background .2s,color .2s}
html body .dv-cart .dv-cart-update:hover{background:#8b5cf6;color:#fff}
html body .dv-cart .dv-cart-price{display:flex;flex-direction:column;align-items:flex-end;gap:2px;margin-left:auto;text-align:right}
html body .dv-cart .dv-cart-price .item-price-number{color:#1a1230;font-size:21px;font-weight:800;letter-spacing:-.02em;line-height:1.1;white-space:nowrap}
html body .dv-cart .dv-cart-price .item-price-through{color:#9a93b5;font-size:13px;text-decoration:line-through;white-space:nowrap}
html body .dv-cart .dv-cart-summary{padding:24px}
@media (min-width:1200px){html body .dv-cart .dv-cart-summary{position:sticky;top:24px}}
html body .dv-cart .dv-cart-summary-title{display:flex;align-items:center;gap:10px;margin:0 0 18px;color:#1a1230;font-size:16px;font-weight:700}
html body .dv-cart .dv-cart-summary-title i{color:#8b5cf6}
html body .dv-cart .dv-cart-summary-row{display:flex;justify-content:space-between;padding:12px 0;border-bottom:1px dashed #e7e1f7;color:#6b6486;font-size:14px}
html body .dv-cart .dv-cart-summary-row strong{color:#1a1230}
html body .dv-cart .dv-cart-total{margin:18px 0;padding:16px 18px;border:1px solid #e7e1f7;border-radius:16px;background:linear-gradient(135deg,#faf8ff,#f1eaff)}
html body .dv-cart .dv-cart-total span{display:block;color:#6b6486;font-size:12px;font-weight:600}
html body .dv-cart .dv-cart-total p{margin:4px 0 0;color:#1a1230;font-size:32px;font-weight:800;letter-spacing:-.02em;line-height:1.1}
html body .dv-cart .dv-cart-checkout{height:52px;border:0!important;border-radius:14px!important;background:linear-gradient(135deg,#8b5cf6,#6d28d9)!important;color:#fff!important;font-weight:700;box-shadow:0 10px 24px rgba(109,40,217,.3);transition:transform .2s,box-shadow .2s,filter .2s}
html body .dv-cart .dv-cart-checkout:hover{transform:translateY(-2px);box-shadow:0 14px 30px rgba(109,40,217,.4);filter:brightness(1.05)}
html body .dv-cart .dv-cart-trust{display:grid;gap:10px;margin:20px 0 0;padding:0;list-style:none}
html body .dv-cart .dv-cart-trust li{display:flex;align-items:center;gap:10px;color:#4b4466;font-size:12.5px}
html body .dv-cart .dv-cart-trust i{display:grid;place-items:center;flex:0 0 28px;width:28px;height:28px;border-radius:9px;background:#f1eaff;color:#8b5cf6;font-size:12px}
html body .dv-cart-empty-icon{display:inline-grid;place-items:center;width:96px;height:96px;margin-bottom:20px;border-radius:50%;background:linear-gradient(135deg,#f5f0ff,#e7dcff);color:#8b5cf6;font-size:36px}
html body .dv-cart-empty-text{max-width:420px;margin:0 auto 20px;color:#6b6486}
@media (max-width:767.98px){
  html body .dv-cart .dv-cart-item{padding:16px;gap:14px}
  html body .dv-cart .dv-cart-thumb{flex-basis:84px;width:84px}
  html body .dv-cart .dv-cart-top{padding:16px}
  html body .dv-cart .dv-cart-bottom{flex-direction:column;align-items:stretch}
  html body .dv-cart .dv-cart-price{align-items:flex-start;margin-left:0;text-align:left}
}
@media (max-width:575.98px){
  html body .dv-cart .dv-cart-item{flex-direction:column}
  html body .dv-cart .dv-cart-thumb{flex-basis:auto;width:100%;max-width:220px}
}
@media (prefers-reduced-motion:reduce){
  html body .dv-cart .dv-cart-checkout,
  html body .dv-cart .dv-cart-remove,
  html body .dv-cart .dv-cart-update{transition:none}
  html body .dv-cart .dv-cart-checkout:hover{transform:none}
}


/* ==================== CHECKOUT — HERO COMPACTO ==================== */
html body .dv-checkout .dv-ck-hero{--dv-bg:#0b0618;--dv-mute:#b9aee0;--dv-line:rgba(255,255,255,.12);position:relative;overflow:hidden;margin:0 0 20px;padding:22px 28px;border-radius:20px;text-align:left;color:#fff;background:radial-gradient(60% 80% at 50% 0%,#2a1360 0%,transparent 70%),var(--dv-bg)}
html body .dv-checkout .dv-ck-hero::before{content:"";position:absolute;inset:0;pointer-events:none;background-image:linear-gradient(var(--dv-line) 1px,transparent 1px),linear-gradient(90deg,var(--dv-line) 1px,transparent 1px);background-size:44px 44px;opacity:.22;-webkit-mask-image:radial-gradient(70% 90% at 50% 30%,#000,transparent);mask-image:radial-gradient(70% 90% at 50% 30%,#000,transparent)}
html body .dv-checkout .dv-ck-glow{position:absolute;top:-30%;width:34%;height:160%;pointer-events:none;filter:blur(70px);opacity:.7}
html body .dv-checkout .dv-ck-glow-l{left:-12%;background:linear-gradient(180deg,#f0abfc,#7c3aed 60%,transparent)}
html body .dv-checkout .dv-ck-glow-r{right:-12%;background:linear-gradient(180deg,#a5b4fc,#8b5cf6 60%,transparent)}
html body .dv-checkout .dv-ck-hero-inner{position:relative;z-index:1;display:grid;grid-template-columns:1fr auto;grid-template-areas:"badge steps" "title steps" "sub steps" "note note";align-items:center;column-gap:40px}
html body .dv-checkout .dv-ck-badge{grid-area:badge;justify-self:start;display:inline-flex;align-items:center;gap:8px;margin:0 0 8px;padding:4px 12px;border:1px solid rgba(255,255,255,.22);border-radius:999px;background:rgba(255,255,255,.08);color:#e9ddff;font-size:11.5px;font-weight:600;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}
html body .dv-checkout .dv-ck-title{grid-area:title;margin:0 0 4px;color:#fff;font-size:clamp(22px,2.6vw,30px);font-weight:800;line-height:1.15;letter-spacing:-.02em}
html body .dv-checkout .dv-ck-emoji{display:inline-block;margin-left:4px;animation:dv-ck-wave 2.4s ease-in-out infinite;transform-origin:70% 70%}
html body .dv-checkout .dv-ck-sub{grid-area:sub;justify-self:start;display:inline-flex;align-items:center;gap:8px;margin:0;color:var(--dv-mute);font-size:14px}
html body .dv-checkout .dv-ck-sub i{color:#fcd34d}
html body .dv-checkout .dv-ck-steps{grid-area:steps;display:flex;align-items:flex-start;justify-content:center;gap:0;width:340px;max-width:100%;margin:0;padding:0;list-style:none}
html body .dv-checkout .dv-ck-steps li{position:relative;display:flex;flex:1;flex-direction:column;align-items:center;gap:6px}
html body .dv-checkout .dv-ck-steps li+li::before{content:"";position:absolute;top:13px;right:50%;width:100%;height:2px;background:rgba(255,255,255,.2)}
html body .dv-checkout .dv-ck-steps li.is-done+li::before,
html body .dv-checkout .dv-ck-steps li.is-active::before{background:linear-gradient(90deg,#a855f7,#8b5cf6)}
html body .dv-checkout .dv-ck-dot{position:relative;z-index:1;display:grid;place-items:center;width:28px;height:28px;border:2px solid rgba(255,255,255,.3);border-radius:50%;background:#1a0f3a;color:#b9aee0;font-size:12px;font-weight:700}
html body .dv-checkout .dv-ck-steps li.is-done .dv-ck-dot{border-color:#8b5cf6;background:#8b5cf6;color:#fff}
html body .dv-checkout .dv-ck-steps li.is-active .dv-ck-dot{border-color:#fff;background:#fff;color:#5b21b6;box-shadow:0 0 0 5px rgba(139,92,246,.45)}
html body .dv-checkout .dv-ck-label{color:#b9aee0;font-size:11.5px;font-weight:600}
html body .dv-checkout .dv-ck-steps li.is-done .dv-ck-label,
html body .dv-checkout .dv-ck-steps li.is-active .dv-ck-label{color:#fff}
html body .dv-checkout .dv-ck-note{grid-area:note;display:flex;align-items:center;gap:8px;max-width:none;margin:16px 0 0;padding:12px 0 0;border:0;border-top:1px solid rgba(255,255,255,.14);border-radius:0;background:none;color:#e9ddff;font-size:12.5px;line-height:1.4}
html body .dv-checkout .dv-ck-note i{margin-top:0;color:#c4b5fd}
@media (max-width:767.98px){
  html body .dv-checkout .dv-ck-hero{padding:20px 16px;text-align:center}
  html body .dv-checkout .dv-ck-hero-inner{grid-template-columns:1fr;grid-template-areas:"badge" "title" "sub" "steps" "note";row-gap:0}
  html body .dv-checkout .dv-ck-badge,
  html body .dv-checkout .dv-ck-sub{justify-self:center}
  html body .dv-checkout .dv-ck-steps{width:100%;max-width:320px;margin:16px auto 0}
  html body .dv-checkout .dv-ck-note{justify-content:center;text-align:left}
}
@media (max-width:575.98px){html body .dv-checkout .dv-ck-hero{border-radius:18px}}

/* pagamento concluído */
html body .dv-checkout .dv-ck-success{max-width:640px;margin:0 auto;padding:44px 28px;border:1px solid #e7e1f7;border-radius:24px;background:#fff;box-shadow:0 12px 40px rgba(36,16,68,.08);text-align:center}
html body .dv-checkout .dv-ck-success-icon{position:relative;display:inline-grid;place-items:center;width:88px;height:88px;margin-bottom:22px;border-radius:50%;background:linear-gradient(135deg,#22c55e,#15803d);color:#fff;font-size:36px;box-shadow:0 12px 30px rgba(22,163,74,.35)}
html body .dv-checkout .dv-ck-success-icon::after{content:"";position:absolute;inset:-8px;border:2px solid rgba(34,197,94,.45);border-radius:50%;animation:dv-ck-ring 2s ease-out infinite}
html body .dv-checkout .dv-ck-success h2{margin:0 0 10px;color:#1a1230;font-size:26px;font-weight:800;letter-spacing:-.01em}
html body .dv-checkout .dv-ck-success p{max-width:440px;margin:0 auto 24px;color:#6b6486;font-size:15px;line-height:1.6}
html body .dv-checkout .dv-ck-success-btn{height:52px;padding:0 28px;border:0!important;border-radius:14px!important;background:linear-gradient(135deg,#8b5cf6,#6d28d9)!important;color:#fff!important;font-weight:700;box-shadow:0 10px 24px rgba(109,40,217,.3);transition:transform .2s,box-shadow .2s}
html body .dv-checkout .dv-ck-success-btn:hover{transform:translateY(-2px);box-shadow:0 14px 30px rgba(109,40,217,.4)}
html body .dv-checkout .card-v{border-radius:20px!important;box-shadow:0 8px 28px rgba(36,16,68,.05)}
@keyframes dv-ck-wave{0%,60%,100%{transform:rotate(0)}10%,30%{transform:rotate(14deg)}20%,40%{transform:rotate(-8deg)}50%{transform:rotate(10deg)}}
@keyframes dv-ck-ring{0%{transform:scale(.9);opacity:.9}100%{transform:scale(1.35);opacity:0}}
@media (max-width:575.98px){html body .dv-checkout .dv-ck-success{padding:34px 18px}}
@media (prefers-reduced-motion:reduce){
  html body .dv-checkout .dv-ck-emoji,
  html body .dv-checkout .dv-ck-success-icon::after{animation:none}
  html body .dv-checkout .dv-ck-success-btn{transition:none}
  html body .dv-checkout .dv-ck-success-btn:hover{transform:none}
}


/* ==================== CHECKOUT — ÁREA DE PAGAMENTO ==================== */
html body .dv-pay .card-v{border:1px solid #e7e1f7!important;border-radius:22px!important;background:#fff!important;box-shadow:0 10px 34px rgba(36,16,68,.06)}
html body .dv-pay .dv-pay-head{display:flex;align-items:center;gap:14px;margin-bottom:22px}
html body .dv-pay .dv-pay-step{display:grid;flex:0 0 38px;place-items:center;width:38px;height:38px;border-radius:12px;background:linear-gradient(135deg,#8b5cf6,#6d28d9);color:#fff;font-size:15px;font-weight:800;box-shadow:0 8px 18px rgba(109,40,217,.3)}
html body .dv-pay .dv-pay-title{margin:0;color:#1a1230;font-size:18px;font-weight:700;line-height:1.2}
html body .dv-pay .dv-pay-hint{margin:3px 0 0;color:#8a82a8;font-size:13px}

/* grade dos métodos */
html body .dv-pay .dv-pay-card .row{display:grid!important;grid-template-columns:repeat(auto-fill,minmax(200px,240px));gap:14px!important;margin:0!important}
html body .dv-pay .dv-pay-card .row>*{width:auto!important;max-width:none!important;margin:0!important;padding:0!important}
html body .dv-pay .dv-pay-card .row>.col-12{grid-column:1/-1}
html body .dv-pay .payment-method{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;min-height:84px;padding:16px 18px;border:1.5px solid #e7e1f7;border-radius:18px;background:#fff;text-align:center;transition:border-color .2s,background .2s,box-shadow .2s,transform .2s}
html body .dv-pay .payment-method:hover{border-color:#c4b5fd;background:#fcfaff;transform:translateY(-3px);box-shadow:0 12px 26px rgba(109,40,217,.12)}
html body .dv-pay .payment-method:has(input:checked){border-color:#8b5cf6;background:linear-gradient(135deg,#faf7ff,#f1eaff);box-shadow:0 0 0 4px rgba(139,92,246,.16),0 12px 26px rgba(109,40,217,.14)}
html body .dv-pay .payment-method .payment-img{display:flex;align-items:center;justify-content:center;width:100%;margin:0}
html body .dv-pay .payment-method .payment-img img{display:block;width:auto;max-width:150px;max-height:44px;object-fit:contain}
html body .dv-pay .payment-method>span{color:#6d28d9;font-size:13px;font-weight:700}
html body .dv-pay .payment-method .form-check-label{position:absolute!important;inset:0;z-index:2;margin:0;border-radius:inherit;cursor:pointer}
html body .dv-pay .payment-method .form-check-input{position:absolute!important;top:12px!important;left:12px!important;right:auto!important;z-index:1;width:1px;height:1px;opacity:0;accent-color:#8b5cf6}
html body .dv-pay .payment-method::before{content:"";position:absolute;top:10px;right:10px;z-index:1;width:20px;height:20px;border:2px solid #d9d2f0;border-radius:50%;background:#fff;color:#fff;font-size:12px;font-weight:700;line-height:16px;text-align:center;pointer-events:none;transition:background .2s,border-color .2s}
html body .dv-pay .payment-method:has(input:checked)::before{content:"✓";border-color:#8b5cf6;background:linear-gradient(135deg,#8b5cf6,#6d28d9)}
html body .dv-pay .payment-method:has(input:focus-visible){outline:2px solid #8b5cf6;outline-offset:3px}

/* SSL */
html body .dv-pay .dv-ssl{background:linear-gradient(135deg,#f6fff9,#fff)!important;border-color:#c7efd5!important}
html body .dv-pay .dv-ssl-main{display:flex;align-items:center;gap:16px}
html body .dv-pay .dv-ssl-icon{display:grid;flex:0 0 54px;place-items:center;width:54px;height:54px;border-radius:16px;background:linear-gradient(135deg,#22c55e,#15803d);color:#fff;font-size:22px;box-shadow:0 10px 22px rgba(22,163,74,.3)}
html body .dv-pay .dv-ssl-title{display:block;color:#14532d;font-size:13px;font-weight:800;letter-spacing:.04em;text-transform:uppercase}
html body .dv-pay .dv-ssl-text{margin:4px 0 0;color:#5b6b62;font-size:13.5px;line-height:1.5}
html body .dv-pay .dv-ssl-chips{display:flex;flex-wrap:wrap;gap:8px;margin:18px 0 0;padding:0;list-style:none}
html body .dv-pay .dv-ssl-chips li{display:inline-flex;align-items:center;gap:7px;padding:7px 13px;border:1px solid #d3efde;border-radius:999px;background:#fff;color:#166534;font-size:12px;font-weight:600}
html body .dv-pay .dv-ssl-chips i{color:#16a34a;font-size:11px}

/* resumo */
html body .dv-pay .dv-pay-aside{position:static}
@media (min-width:1200px){html body .dv-pay .dv-pay-aside{position:sticky;top:24px}}
html body .dv-pay .dv-sum-item{display:grid;grid-template-columns:104px 1fr auto;align-items:start;gap:16px;padding:14px 0;border-bottom:1px dashed #e7e1f7}
html body .dv-pay .dv-sum-thumb{display:block;width:104px;aspect-ratio:4/3;overflow:hidden;border:1px solid #ece8f7;border-radius:14px;background:#f1eaff;box-shadow:0 6px 16px rgba(36,16,68,.12)}
html body .dv-pay .dv-sum-thumb img{display:block;width:100%;height:100%;object-fit:cover}
html body .dv-pay .dv-sum-info{min-width:0}
html body .dv-pay .dv-sum-name{display:-webkit-box;overflow:hidden;color:#1a1230;font-size:14.5px;font-weight:600;line-height:1.35;text-decoration:none;-webkit-box-orient:vertical;-webkit-line-clamp:2}
html body .dv-pay .dv-sum-name:hover{color:#6d28d9}
html body .dv-pay .dv-sum-chips{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}
html body .dv-pay .dv-sum-chips span{padding:3px 10px;border-radius:999px;background:#f5f0ff;color:#7c6fa8;font-size:11.5px}
html body .dv-pay .dv-sum-chips b{color:#5b21b6;font-weight:700}
html body .dv-pay .dv-sum-price{padding-top:2px;color:#1a1230;font-size:16px;font-weight:800;white-space:nowrap}
html body .dv-pay .dv-sum-row{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:14px 0;border-bottom:1px dashed #e7e1f7;color:#4b4466;font-size:14px}
html body .dv-pay .dv-sum-row strong{color:#1a1230;white-space:nowrap}
html body .dv-pay .dv-sum-lines{display:grid;gap:12px;padding:16px 0 6px}
html body .dv-pay .dv-sum-line{display:flex;align-items:center;justify-content:space-between;gap:14px;color:#6b6486;font-size:13.5px}
html body .dv-pay .dv-sum-line b{color:#1a1230;font-weight:700;white-space:nowrap}
html body .dv-pay .dv-sum-total{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-top:18px;padding:18px 20px;border:1px solid #e0d4ff;border-radius:18px;background:linear-gradient(135deg,#faf7ff,#eadfff)}
html body .dv-pay .dv-sum-total span{color:#5b21b6;font-size:14px;font-weight:700}
html body .dv-pay .dv-sum-total strong{color:#1a1230;font-size:30px;font-weight:800;letter-spacing:-.02em;line-height:1.1}
html body .dv-pay .checkout-button,
html body .dv-checkout .checkout-button{height:58px;border:0!important;border-radius:16px!important;background:linear-gradient(135deg,#8b5cf6,#6d28d9)!important;color:#fff!important;font-size:16px;font-weight:700;box-shadow:0 14px 30px rgba(109,40,217,.38);transition:transform .2s,box-shadow .2s,filter .2s}
html body .dv-pay .checkout-button:hover,
html body .dv-checkout .checkout-button:hover{transform:translateY(-2px);box-shadow:0 18px 38px rgba(109,40,217,.48);filter:brightness(1.06)}
html body .dv-pay .dv-pay-secure{display:flex;align-items:center;justify-content:center;gap:8px;margin:12px 0 0;color:#8a82a8;font-size:12.5px}
html body .dv-pay .dv-pay-secure i{color:#16a34a}
@media (max-width:575.98px){
  html body .dv-pay .dv-pay-card .row{grid-template-columns:1fr}
  html body .dv-pay .dv-sum-item{grid-template-columns:76px 1fr;gap:12px}
  html body .dv-pay .dv-sum-thumb{width:76px;border-radius:12px}
  html body .dv-pay .dv-sum-price{grid-column:2;justify-self:start}
  html body .dv-pay .dv-sum-total strong{font-size:26px}
}
@media (prefers-reduced-motion:reduce){
  html body .dv-pay .payment-method,
  html body .dv-pay .payment-method::before,
  html body .dv-pay .checkout-button{transition:none}
  html body .dv-pay .payment-method:hover,
  html body .dv-pay .checkout-button:hover{transform:none}
}


/* ==========================================================
   BREADCRUMB (seta FORA do chip) — manter SEMPRE no FINAL do arquivo
   Requer no HTML: <li class="breadcrumb-item active"><span>Título</span></li>
   ========================================================== */
html body nav .breadcrumb.custom{display:flex;flex-wrap:wrap;align-items:center;gap:6px 0;margin:0 0 18px;padding:0;list-style:none;background:none}

/* o <li> NUNCA tem caixa; só o conteúdo interno vira chip */
html body nav .breadcrumb.custom li.breadcrumb-item,
html body nav .breadcrumb.custom li.breadcrumb-item.active{display:flex!important;align-items:center!important;max-width:100%;margin:0!important;padding:0!important;border:0!important;border-radius:0!important;background:none!important;box-shadow:none!important;font-size:12px;font-weight:500}

/* seta: largura fixa, fica no <li>, fora de qualquer chip */
html body nav .breadcrumb.custom li.breadcrumb-item+li.breadcrumb-item::before{content:"›"!important;float:none!important;display:inline-block!important;width:26px!important;padding:0!important;text-align:center;color:#b9aee0!important;font-size:14px}

/* chips dos links */
html body nav .breadcrumb.custom li.breadcrumb-item>a{display:inline-block;padding:6px 14px;border:1px solid #e7e1f7;border-radius:999px;background:#fff;color:#4b4466;text-decoration:none;line-height:1.3;transition:background .2s,color .2s,border-color .2s}
html body nav .breadcrumb.custom li.breadcrumb-item>a:hover{border-color:#d9ccff;background:#f5f0ff;color:#6d28d9}

/* chip do último item */
html body nav .breadcrumb.custom li.breadcrumb-item.active>span{display:inline-block;padding:6px 14px;border:1px solid #d9ccff;border-radius:999px;background:#f1eaff;color:#6d28d9;font-weight:600;line-height:1.3}
html body nav .breadcrumb.custom li.breadcrumb-item.active::after{display:none!important}

/* 3) Cards de produto (listas, "Outros produtos", "Semelhantes") */
html body .item {
    overflow: hidden !important;
    border: 1px solid var(--border_color) !important;
    border-radius: 18px !important;
    background: #fff !important;
    box-shadow: 0 8px 24px rgba(36, 16, 68, .06) !important;
    transition: transform .2s ease, box-shadow .2s ease;
}

html body .item:hover {
    transform: translateY(-4px);
    box-shadow: 0 16px 36px rgba(109, 40, 217, .14) !important;
}

html body .item .item-header {
    overflow: hidden;
}

html body .item .item-img {
    transition: transform .4s ease;
}

html body .item:hover .item-img {
    transform: scale(1.03);
}

html body .item .item-title {html body nav .breadcrumb.custom li.breadcrumb-item.active::after{display:none!important}

    color: #1a1230;
    font-weight: 600;
}

html body .item .item-title:hover {
    color: #6d28d9;
}

html body .item .item-price-number {
    color: #1a1230;
    font-weight: 800;
}

html body .item .item-badge {
    border-radius: 999px;
}

html body .item .btn-padding {
    border-radius: 10px;
}

html body .item .btn-outline-primary {
    border-color: #8b5cf6;
    color: #7c3aed;
}

html body .item .btn-outline-primary:hover {
    border-color: #7c3aed;
    background: #7c3aed;
    color: #fff;
}

@media (prefers-reduced-motion: reduce) {
    html body .item,
    html body .item .item-img {
        transition: none;
    }

    html body .item:hover,
    html body .item:hover .item-img {
        transform: none;
    }
}


/* ==========================================================
   PÁGINA DO PRODUTO (items/layout.blade.php)
   ========================================================== */

/* Caixas */
html body .dv-product .card-v {
    border-radius: 20px !important;
    background: #fff;
    box-shadow: 0 8px 28px rgba(36, 16, 68, .05);
    overflow: hidden;
}

html body .dv-product .card-v-header {
    background: #faf8ff;
}

html body .dv-product .dv-box-title {
    display: flex;
    align-items: center;
    gap: 8px;
    margin: 0 0 14px;
    color: #1a1230;
    font-size: 14px;
    font-weight: 700;
}

html body .dv-product .dv-box-title i {
    color: #8b5cf6;
}

/* Cabeçalho */
html body .dv-product .dv-product-cat {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    margin-bottom: 10px;
    padding: 5px 12px;
    border: 1px solid #d9ccff;
    border-radius: 999px;
    background: #f5f0ff;
    color: #6d28d9;
    font-size: 12px;
    font-weight: 600;
    text-decoration: none;
}

html body .dv-product .dv-product-cat:hover {
    background: #ebe1ff;
}

html body .dv-product .item-single-title {
    color: #1a1230;
    font-weight: 700;
    letter-spacing: -.01em;
}

html body .dv-product .dv-product-meta {
    font-size: 13px;
    color: #6b6486;
}

html body .dv-product .section-header .btn-outline-secondary {
    height: 42px;
    border-radius: 999px;
    border-color: #e7e1f7;
    background: #fff;
    color: #4b4466;
    font-size: 13px;
    font-weight: 600;
}

html body .dv-product .section-header .btn-outline-secondary:hover {
    border-color: #8b5cf6;
    background: #f5f0ff;
    color: #6d28d9;
}

/* Galeria */
html body .dv-product .dv-gallery .item-single-img img,
html body .dv-product .dv-gallery .item-single-video video {
    width: 100%;
    border-radius: 14px;
}

html body .dv-product .dv-gallery .item-slide-img {
    display: block;
    overflow: hidden;
    border: 2px solid transparent;
    border-radius: 12px;
    transition: border-color .2s, box-shadow .2s;
}

html body .dv-product .dv-gallery .item-slide-img:hover {
    border-color: #8b5cf6;
    box-shadow: 0 6px 16px rgba(139, 92, 246, .25);
}

html body .dv-product .dv-gallery .item-slide-img img {
    display: block;
    width: 100%;
    border-radius: 10px;
}

html body .dv-product .dv-gallery .swiper-button-prev,
html body .dv-product .dv-gallery .swiper-button-next {
    border: 1px solid #e7e1f7;
    border-radius: 50%;
    background: #fff;
    color: #6d28d9;
    box-shadow: 0 4px 12px rgba(36, 16, 68, .1);
}

/* Tags em chips */
html body .dv-product .dv-chips {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

html body .dv-product .dv-chip {
    padding: 6px 14px;
    border: 1px solid #e7e1f7;
    border-radius: 999px;
    background: #faf8ff;
    color: #6d28d9;
    font-size: 12px;
    font-weight: 600;
    text-decoration: none;
    transition: background .2s, border-color .2s;
}

html body .dv-product .dv-chip:hover {
    border-color: #8b5cf6;
    background: #f1eaff;
}

/* Abas em pílula */
html body .dv-product .dv-tabs {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    margin-bottom: 20px;
    padding: 6px;
    border: 1px solid #e7e1f7;
    border-radius: 16px;
    background: #faf8ff;
}

html body .dv-product .dv-tabs-item {
    flex: 1 1 auto;
}

html body .dv-product .dv-tabs .btn {
    width: 100%;
    padding: 10px 14px;
    border: 0 !important;
    border-radius: 12px !important;
    background: transparent !important;
    color: #4b4466 !important;
    font-size: 13px;
    font-weight: 600;
    box-shadow: none !important;
    transition: background .2s, color .2s;
}

html body .dv-product .dv-tabs .btn:hover {
    background: #f1eaff !important;
    color: #6d28d9 !important;
}

html body .dv-product .dv-tabs .btn.btn-primary {
    background: #fff !important;
    color: #6d28d9 !important;
    box-shadow: 0 0 0 1px #d9ccff, 0 4px 12px rgba(139, 92, 246, .15) !important;
}

/* Caixa de compra */
html body .dv-product .dv-buy .form-check-lg {
    padding: 14px 14px 14px 44px;
    border: 1.5px solid #e7e1f7;
    border-radius: 14px;
    background: #fff;
    transition: border-color .2s, background .2s, box-shadow .2s;
}

html body .dv-product .dv-buy .form-check-lg:has(input:checked) {
    border-color: #8b5cf6;
    background: #f8f4ff;
    box-shadow: 0 0 0 3px rgba(139, 92, 246, .12);
}

html body .dv-product .dv-buy .form-check-lg .form-check-input {
    margin-left: -30px;
}

html body .dv-product .dv-buy .form-check-lg .form-check-input:checked {
    border-color: #8b5cf6;
    background-color: #8b5cf6;
}

/* Preço grande */
html body .dv-product .dv-price-box {
    margin-bottom: 16px;
    padding: 16px 18px;
    border: 1px solid #e7e1f7;
    border-radius: 16px;
    background: linear-gradient(135deg, #faf8ff, #f1eaff);
}

html body .dv-product .dv-price-label {
    display: block;
    margin-bottom: 4px;
    color: #6b6486;
    font-size: 12px;
    font-weight: 600;
}

html body .dv-product .dv-price-row {
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    gap: 10px;
}

html body .dv-product .dv-price-now {
    color: #1a1230;
    font-size: 32px;
    font-weight: 800;
    line-height: 1.1;
    letter-spacing: -.02em;
}

html body .dv-product .dv-price-old {
    color: #9a93b5;
    font-size: 14px;
    text-decoration: line-through;
}

html body .dv-product .dv-price-save {
    padding: 3px 10px;
    border-radius: 999px;
    background: #dcfce7;
    color: #15803d;
    font-size: 12px;
    font-weight: 700;
}

html body .dv-product .dv-price-note {
    display: block;
    margin-top: 6px;
    color: #6b6486;
    font-size: 12px;
}

/* Botões de compra */
html body .dv-product .dv-buy .btn-primary {
    height: 52px;
    border: 0 !important;
    border-radius: 14px !important;
    background: linear-gradient(135deg, #8b5cf6, #6d28d9) !important;
    color: #fff !important;
    font-weight: 700;
    box-shadow: 0 10px 24px rgba(109, 40, 217, .3);
    transition: transform .2s, box-shadow .2s, filter .2s;
}

html body .dv-product .dv-buy .btn-primary:hover:not(:disabled) {
    transform: translateY(-2px);
    box-shadow: 0 14px 30px rgba(109, 40, 217, .4);
    filter: brightness(1.05);
}

html body .dv-product .dv-buy .btn-outline-primary {
    height: 48px;
    border: 1.5px solid #8b5cf6;
    border-radius: 14px;
    background: #fff;
    color: #6d28d9;
    font-weight: 700;
}

html body .dv-product .dv-buy .btn-outline-primary:hover:not(:disabled) {
    background: #f5f0ff;
}

/* Selos de confiança */
html body .dv-product .dv-trust {
    display: grid;
    gap: 10px;
    margin-top: 18px;
}

html body .dv-product .dv-trust-item {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 11px 14px;
    border: 1px solid transparent;
    border-radius: 14px;
}

html body .dv-product .dv-trust-item > i {
    display: grid;
    place-items: center;
    flex: 0 0 34px;
    width: 34px;
    height: 34px;
    border-radius: 10px;
    background: rgba(255, 255, 255, .8);
    font-size: 14px;
}

html body .dv-product .dv-trust-item strong {
    display: block;
    color: #1a1230;
    font-size: 13px;
    font-weight: 700;
    line-height: 1.3;
}

html body .dv-product .dv-trust-item span {
    display: block;
    color: #6b6486;
    font-size: 12px;
    line-height: 1.4;
}

html body .dv-product .dv-trust-delivery {
    border-color: #fde68a;
    background: #fffbeb;
}

html body .dv-product .dv-trust-delivery > i {
    color: #d97706;
}

html body .dv-product .dv-trust-secure {
    border-color: #bbf7d0;
    background: #f0fdf4;
}

html body .dv-product .dv-trust-secure > i {
    color: #16a34a;
}

html body .dv-product .dv-trust-support {
    border-color: #bae6fd;
    background: #f0f9ff;
}

html body .dv-product .dv-trust-support > i {
    color: #0284c7;
}

/* O que você recebe */
html body .dv-product .dv-includes {
    margin-top: 16px;
    padding: 14px;
    border: 1px solid #e7e1f7;
    border-radius: 14px;
}

html body .dv-product .dv-includes-title {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 10px;
    color: #1a1230;
    font-size: 13px;
    font-weight: 700;
}

html body .dv-product .dv-includes-title i {
    color: #16a34a;
}

html body .dv-product .dv-includes-grid {
    display: grid;
    gap: 8px;
}

html body .dv-product .dv-includes-item {
    display: flex;
    align-items: flex-start;
    gap: 8px;
    padding: 8px 10px;
    border-radius: 10px;
    background: #faf8ff;
    color: #4b4466;
    font-size: 12px;
    line-height: 1.4;
}

html body .dv-product .dv-includes-item i {
    margin-top: 2px;
    color: #8b5cf6;
    font-size: 11px;
}

html body .dv-product .dv-guarantee {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    margin: 14px 0 0;
    color: #6b6486;
    font-size: 12px;
    text-align: center;
}

html body .dv-product .dv-guarantee i {
    color: #16a34a;
}

/* Autor */
html body .dv-product .dv-author .user-avatar img {
    border-radius: 16px;
}

html body .dv-product .dv-author .btn-outline-secondary {
    border-radius: 12px;
    border-color: #e7e1f7;
    color: #4b4466;
    font-weight: 600;
}

html body .dv-product .dv-author .btn-outline-secondary:hover {
    border-color: #8b5cf6;
    background: #f5f0ff;
    color: #6d28d9;
}

/* Vendas / downloads */
html body .dv-product .dv-stat h5 {
    color: #1a1230;
    font-size: 15px;
    font-weight: 700;
}

html body .dv-product .dv-stat i {
    color: #8b5cf6;
}

/* Informações */
html body .dv-product .dv-info-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    padding: 11px 0;
    border-bottom: 1px dashed #e7e1f7;
    font-size: 13px;
}

html body .dv-product .dv-info-row:last-child {
    border-bottom: 0;
    padding-bottom: 0;
}

html body .dv-product .dv-info-row > span {
    color: #6b6486;
}

html body .dv-product .dv-info-row > strong,
html body .dv-product .dv-info-values {
    max-width: 60%;
    color: #1a1230;
    font-weight: 600;
    text-align: right;
}

html body .dv-product .dv-info-row a {
    color: #6d28d9;
    font-weight: 600;
    text-decoration: none;
}

html body .dv-product .dv-info-row a:hover {
    text-decoration: underline;
}

html body .dv-product .dv-info-row .breadcrumb {
    flex-wrap: wrap;
    font-size: 13px;
}

/* Mobile */
@media (max-width: 767.98px) {
    html body .dv-product .dv-tabs-item {
        flex: 1 1 calc(50% - 6px);
    }

    html body .dv-product .dv-price-now {
        font-size: 28px;
    }
}

@media (prefers-reduced-motion: reduce) {
    html body .dv-product .dv-buy .btn-primary,
    html body .dv-product .dv-gallery .item-slide-img {
        transition: none;
    }

    html body .dv-product .dv-buy .btn-primary:hover:not(:disabled) {
        transform: none;
    }
}
/* ==========================================================
   DIVULGA AÊ — BASE PARA PÁGINAS DE PRODUTO
   (bordas suaves, breadcrumb em chips, cards de produto)
   Carregar DEPOIS de divulgaae.css, menus e footer
   ========================================================== */

/* 1) Bordas: o tema usa --border_color: #000 em todas as caixas.
      Trocando a variável, todas as caixas do site ficam suaves. */
html:root {
    --border_color: #e7e1f7;
    --bs-border-color: #e7e1f7;
}


/* 2) Breadcrumb em chips (Início > Produtos > Canva > Produto) */
html body .breadcrumb.custom {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 6px 0;
    margin: 0 0 18px;
    padding: 0;
    list-style: none;
    background: none;
}

html body .breadcrumb.custom .breadcrumb-item {
    display: flex;
    align-items: center;
    padding: 0;
    font-size: 12px;
    font-weight: 500;
    max-width: 100%;
}

html body .breadcrumb.custom .breadcrumb-item + .breadcrumb-item {
    padding-left: 0;
}

html body .breadcrumb.custom .breadcrumb-item + .breadcrumb-item::before {
    float: none;
    content: "›";
    padding: 0 8px;
    color: #b9aee0;
    font-size: 14px;
}

html body .breadcrumb.custom .breadcrumb-item a,
html body .breadcrumb.custom .breadcrumb-item.active {
    display: inline-block;
    padding: 6px 14px;
    border: 1px solid #e7e1f7;
    border-radius: 999px;
    background: #fff;
    color: #4b4466;
    text-decoration: none;
    line-height: 1.3;
    transition: background .2s, color .2s, border-color .2s;
}

html body .breadcrumb.custom .breadcrumb-item a:hover {
    border-color: #d9ccff;
    background: #f5f0ff;
    color: #6d28d9;
}

html body .breadcrumb.custom .breadcrumb-item.active {
    border-color: #d9ccff;
    background: #f1eaff;
    color: #6d28d9;
    font-weight: 600;
}


/* 3) Cards de produto -> ver seção "CARDS DE PRODUTO v2" no final do arquivo */


/* ==========================================================
   PÁGINA DO PRODUTO (items/layout.blade.php)
   ========================================================== */

/* Caixas */
html body .dv-product .card-v {
    border-radius: 20px !important;
    background: #fff;
    box-shadow: 0 8px 28px rgba(36, 16, 68, .05);
    overflow: hidden;
}

html body .dv-product .card-v-header {
    background: #faf8ff;
}

html body .dv-product .dv-box-title {
    display: flex;
    align-items: center;
    gap: 8px;
    margin: 0 0 14px;
    color: #1a1230;
    font-size: 14px;
    font-weight: 700;
}

html body .dv-product .dv-box-title i {
    color: #8b5cf6;
}

/* Cabeçalho */
html body .dv-product .dv-product-cat {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    margin-bottom: 10px;
    padding: 5px 12px;
    border: 1px solid #d9ccff;
    border-radius: 999px;
    background: #f5f0ff;
    color: #6d28d9;
    font-size: 12px;
    font-weight: 600;
    text-decoration: none;
}

html body .dv-product .dv-product-cat:hover {
    background: #ebe1ff;
}

html body .dv-product .item-single-title {
    color: #1a1230;
    font-weight: 700;
    letter-spacing: -.01em;
}

html body .dv-product .dv-product-meta {
    font-size: 13px;
    color: #6b6486;
}

html body .dv-product .section-header .btn-outline-secondary {
    height: 42px;
    border-radius: 999px;
    border-color: #e7e1f7;
    background: #fff;
    color: #4b4466;
    font-size: 13px;
    font-weight: 600;
}

html body .dv-product .section-header .btn-outline-secondary:hover {
    border-color: #8b5cf6;
    background: #f5f0ff;
    color: #6d28d9;
}

/* Galeria */
html body .dv-product .dv-gallery .item-single-img img,
html body .dv-product .dv-gallery .item-single-video video {
    width: 100%;
    border-radius: 14px;
}

html body .dv-product .dv-gallery .item-slide-img {
    display: block;
    overflow: hidden;
    border: 2px solid transparent;
    border-radius: 12px;
    transition: border-color .2s, box-shadow .2s;
}

html body .dv-product .dv-gallery .item-slide-img:hover {
    border-color: #8b5cf6;
    box-shadow: 0 6px 16px rgba(139, 92, 246, .25);
}

html body .dv-product .dv-gallery .item-slide-img img {
    display: block;
    width: 100%;
    border-radius: 10px;
}

html body .dv-product .dv-gallery .swiper-button-prev,
html body .dv-product .dv-gallery .swiper-button-next {
    border: 1px solid #e7e1f7;
    border-radius: 50%;
    background: #fff;
    color: #6d28d9;
    box-shadow: 0 4px 12px rgba(36, 16, 68, .1);
}

/* Tags em chips */
html body .dv-product .dv-chips {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

html body .dv-product .dv-chip {
    padding: 6px 14px;
    border: 1px solid #e7e1f7;
    border-radius: 999px;
    background: #faf8ff;
    color: #6d28d9;
    font-size: 12px;
    font-weight: 600;
    text-decoration: none;
    transition: background .2s, border-color .2s;
}

html body .dv-product .dv-chip:hover {
    border-color: #8b5cf6;
    background: #f1eaff;
}

/* Abas em pílula */
html body .dv-product .dv-tabs {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    margin-bottom: 20px;
    padding: 6px;
    border: 1px solid #e7e1f7;
    border-radius: 16px;
    background: #faf8ff;
}

html body .dv-product .dv-tabs-item {
    flex: 1 1 auto;
}

html body .dv-product .dv-tabs .btn {
    width: 100%;
    padding: 10px 14px;
    border: 0 !important;
    border-radius: 12px !important;
    background: transparent !important;
    color: #4b4466 !important;
    font-size: 13px;
    font-weight: 600;
    box-shadow: none !important;
    transition: background .2s, color .2s;
}

html body .dv-product .dv-tabs .btn:hover {
    background: #f1eaff !important;
    color: #6d28d9 !important;
}

html body .dv-product .dv-tabs .btn.btn-primary {
    background: #fff !important;
    color: #6d28d9 !important;
    box-shadow: 0 0 0 1px #d9ccff, 0 4px 12px rgba(139, 92, 246, .15) !important;
}

/* Caixa de compra */
html body .dv-product .dv-buy .form-check-lg {
    padding: 14px 14px 14px 44px;
    border: 1.5px solid #e7e1f7;
    border-radius: 14px;
    background: #fff;
    transition: border-color .2s, background .2s, box-shadow .2s;
}

html body .dv-product .dv-buy .form-check-lg:has(input:checked) {
    border-color: #8b5cf6;
    background: #f8f4ff;
    box-shadow: 0 0 0 3px rgba(139, 92, 246, .12);
}

html body .dv-product .dv-buy .form-check-lg .form-check-input {
    margin-left: -30px;
}

html body .dv-product .dv-buy .form-check-lg .form-check-input:checked {
    border-color: #8b5cf6;
    background-color: #8b5cf6;
}

/* Preço grande */
html body .dv-product .dv-price-box {
    margin-bottom: 16px;
    padding: 16px 18px;
    border: 1px solid #e7e1f7;
    border-radius: 16px;
    background: linear-gradient(135deg, #faf8ff, #f1eaff);
}

html body .dv-product .dv-price-label {
    display: block;
    margin-bottom: 4px;
    color: #6b6486;
    font-size: 12px;
    font-weight: 600;
}

html body .dv-product .dv-price-row {
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    gap: 10px;
}

html body .dv-product .dv-price-now {
    color: #1a1230;
    font-size: 32px;
    font-weight: 800;
    line-height: 1.1;
    letter-spacing: -.02em;
}

html body .dv-product .dv-price-old {
    color: #9a93b5;
    font-size: 14px;
    text-decoration: line-through;
}

html body .dv-product .dv-price-save {
    padding: 3px 10px;
    border-radius: 999px;
    background: #dcfce7;
    color: #15803d;
    font-size: 12px;
    font-weight: 700;
}

html body .dv-product .dv-price-note {
    display: block;
    margin-top: 6px;
    color: #6b6486;
    font-size: 12px;
}

/* Botões de compra */
html body .dv-product .dv-buy .btn-primary {
    height: 52px;
    border: 0 !important;
    border-radius: 14px !important;
    background: linear-gradient(135deg, #8b5cf6, #6d28d9) !important;
    color: #fff !important;
    font-weight: 700;
    box-shadow: 0 10px 24px rgba(109, 40, 217, .3);
    transition: transform .2s, box-shadow .2s, filter .2s;
}

html body .dv-product .dv-buy .btn-primary:hover:not(:disabled) {
    transform: translateY(-2px);
    box-shadow: 0 14px 30px rgba(109, 40, 217, .4);
    filter: brightness(1.05);
}

html body .dv-product .dv-buy .btn-outline-primary {
    height: 48px;
    border: 1.5px solid #8b5cf6;
    border-radius: 14px;
    background: #fff;
    color: #6d28d9;
    font-weight: 700;
}

html body .dv-product .dv-buy .btn-outline-primary:hover:not(:disabled) {
    background: #f5f0ff;
}

/* Selos de confiança */
html body .dv-product .dv-trust {
    display: grid;
    gap: 10px;
    margin-top: 18px;
}

html body .dv-product .dv-trust-item {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 11px 14px;
    border: 1px solid transparent;
    border-radius: 14px;
}

html body .dv-product .dv-trust-item > i {
    display: grid;
    place-items: center;
    flex: 0 0 34px;
    width: 34px;
    height: 34px;
    border-radius: 10px;
    background: rgba(255, 255, 255, .8);
    font-size: 14px;
}

html body .dv-product .dv-trust-item strong {
    display: block;
    color: #1a1230;
    font-size: 13px;
    font-weight: 700;
    line-height: 1.3;
}

html body .dv-product .dv-trust-item span {
    display: block;
    color: #6b6486;
    font-size: 12px;
    line-height: 1.4;
}

html body .dv-product .dv-trust-delivery {
    border-color: #fde68a;
    background: #fffbeb;
}

html body .dv-product .dv-trust-delivery > i {
    color: #d97706;
}

html body .dv-product .dv-trust-secure {
    border-color: #bbf7d0;
    background: #f0fdf4;
}

html body .dv-product .dv-trust-secure > i {
    color: #16a34a;
}

html body .dv-product .dv-trust-support {
    border-color: #bae6fd;
    background: #f0f9ff;
}

html body .dv-product .dv-trust-support > i {
    color: #0284c7;
}

/* O que você recebe */
html body .dv-product .dv-includes {
    margin-top: 16px;
    padding: 14px;
    border: 1px solid #e7e1f7;
    border-radius: 14px;
}

html body .dv-product .dv-includes-title {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 10px;
    color: #1a1230;
    font-size: 13px;
    font-weight: 700;
}

html body .dv-product .dv-includes-title i {
    color: #16a34a;
}

html body .dv-product .dv-includes-grid {
    display: grid;
    gap: 8px;
}

html body .dv-product .dv-includes-item {
    display: flex;
    align-items: flex-start;
    gap: 8px;
    padding: 8px 10px;
    border-radius: 10px;
    background: #faf8ff;
    color: #4b4466;
    font-size: 12px;
    line-height: 1.4;
}

html body .dv-product .dv-includes-item i {
    margin-top: 2px;
    color: #8b5cf6;
    font-size: 11px;
}

html body .dv-product .dv-guarantee {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    margin: 14px 0 0;
    color: #6b6486;
    font-size: 12px;
    text-align: center;
}

html body .dv-product .dv-guarantee i {
    color: #16a34a;
}

/* Autor */
html body .dv-product .dv-author .user-avatar img {
    border-radius: 16px;
}

html body .dv-product .dv-author .btn-outline-secondary {
    border-radius: 12px;
    border-color: #e7e1f7;
    color: #4b4466;
    font-weight: 600;
}

html body .dv-product .dv-author .btn-outline-secondary:hover {
    border-color: #8b5cf6;
    background: #f5f0ff;
    color: #6d28d9;
}

/* Vendas / downloads */
html body .dv-product .dv-stat h5 {
    color: #1a1230;
    font-size: 15px;
    font-weight: 700;
}

html body .dv-product .dv-stat i {
    color: #8b5cf6;
}

/* Informações */
html body .dv-product .dv-info-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    padding: 11px 0;
    border-bottom: 1px dashed #e7e1f7;
    font-size: 13px;
}

html body .dv-product .dv-info-row:last-child {
    border-bottom: 0;
    padding-bottom: 0;
}

html body .dv-product .dv-info-row > span {
    color: #6b6486;
}

html body .dv-product .dv-info-row > strong,
html body .dv-product .dv-info-values {
    max-width: 60%;
    color: #1a1230;
    font-weight: 600;
    text-align: right;
}

html body .dv-product .dv-info-row a {
    color: #6d28d9;
    font-weight: 600;
    text-decoration: none;
}

html body .dv-product .dv-info-row a:hover {
    text-decoration: underline;
}

html body .dv-product .dv-info-row .breadcrumb {
    flex-wrap: wrap;
    font-size: 13px;
}

/* Mobile */
@media (max-width: 767.98px) {
    html body .dv-product .dv-tabs-item {
        flex: 1 1 calc(50% - 6px);
    }

    html body .dv-product .dv-price-now {
        font-size: 28px;
    }
}

@media (prefers-reduced-motion: reduce) {
    html body .dv-product .dv-buy .btn-primary,
    html body .dv-product .dv-gallery .item-slide-img {
        transition: none;
    }

    html body .dv-product .dv-buy .btn-primary:hover:not(:disabled) {
        transform: none;
    }
}


/* ==========================================================
   CARDS DE PRODUTO v2 (partials/item.blade.php)
   ========================================================== */

html body .item.dv-card-item {
    display: flex;
    flex-direction: column;
    height: 100%;
    overflow: hidden;
    border: 1px solid var(--border_color) !important;
    border-radius: 20px !important;
    background: #fff !important;
    box-shadow:
        0 2px 6px rgba(36, 16, 68, .04),
        0 10px 30px rgba(36, 16, 68, .06) !important;
    transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease;
}

html body .item.dv-card-item:hover {
    transform: translateY(-5px);
    border-color: #d9ccff !important;
    box-shadow:
        0 4px 10px rgba(109, 40, 217, .06),
        0 20px 44px rgba(109, 40, 217, .16) !important;
}

/* imagem com moldura */
html body .item.dv-card-item .item-header {
    position: relative;
    margin: 8px 8px 0;
    overflow: hidden;
    border-radius: 14px;
    background: #f1eaff;
}

html body .item.dv-card-item .item-header:has(.item-img) {
    aspect-ratio: 16 / 10;
}

html body .item.dv-card-item .item-header > a {
    display: block;
    height: 100%;
}

html body .item.dv-card-item .item-img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform .5s ease;
}

html body .item.dv-card-item:hover .item-img {
    transform: scale(1.05);
}

/* selos sobre a imagem */
html body .item.dv-card-item .item-badge {
    position: absolute;
    top: 10px;
    left: 10px;
    right: auto;
    z-index: 2;
    padding: 5px 11px;
    border: 0;
    border-radius: 999px;
    background: rgba(255, 255, 255, .92);
    color: #1a1230;
    font-size: 11px;
    font-weight: 700;
    line-height: 1.2;
    box-shadow: 0 4px 12px rgba(36, 16, 68, .18);
    -webkit-backdrop-filter: blur(6px);
    backdrop-filter: blur(6px);
}

html body .item.dv-card-item .item-badge-sale {
    background: linear-gradient(135deg, #a855f7, #6d28d9);
    color: #fff;
}

html body .item.dv-card-item .item-badge-free {
    background: #16a34a;
    color: #fff;
}

html body .item.dv-card-item .item-badge-trending {
    background: #0074e4;
    color: #fff;
}

html body .item.dv-card-item .item-badge-premium {
    background: linear-gradient(135deg, #fbbf24, #d97706);
    color: #fff;
}

/* corpo */
html body .item.dv-card-item .item-body {
    display: flex;
    flex: 1;
    flex-direction: column;
    gap: 10px;
    padding: 16px 18px 18px;
}

html body .item.dv-card-item .dv-item-top {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
}

html body .item.dv-card-item .dv-item-cat {
    max-width: 70%;
    padding: 4px 11px;
    overflow: hidden;
    border: 1px solid #e7dcff;
    border-radius: 999px;
    background: #f5f0ff;
    color: #6d28d9;
    font-size: 11.5px;
    font-weight: 600;
    text-decoration: none;
    text-overflow: ellipsis;
    white-space: nowrap;
    transition: background .2s;
}

html body .item.dv-card-item .dv-item-cat:hover {
    background: #ebe1ff;
}

html body .item.dv-card-item .dv-item-rating {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    color: #1a1230;
    font-size: 12px;
    font-weight: 700;
    white-space: nowrap;
}

html body .item.dv-card-item .dv-item-rating i {
    color: #f59e0b;
    font-size: 11px;
}

html body .item.dv-card-item .dv-item-rating small {
    color: #9a93b5;
    font-size: 11px;
    font-weight: 500;
}

html body .item.dv-card-item .item-title {
    display: -webkit-box;
    min-height: 2.7em;
    overflow: hidden;
    color: #1a1230;
    font-size: 15.5px;
    font-weight: 600;
    line-height: 1.35;
    text-decoration: none;
    white-space: normal;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
}

html body .item.dv-card-item .item-title:hover {
    color: #6d28d9;
}

html body .item.dv-card-item .dv-item-author {
    display: flex;
    align-items: center;
    gap: 7px;
    margin: 0;
    color: #6b6486;
    font-size: 12.5px;
}

html body .item.dv-card-item .dv-item-author i {
    color: #b9aee0;
    font-size: 12px;
}

html body .item.dv-card-item .dv-item-author a {
    color: #4b4466;
    font-weight: 600;
    text-decoration: none;
}

html body .item.dv-card-item .dv-item-author a:hover {
    color: #6d28d9;
}

/* preço + ações */
html body .item.dv-card-item .item-purchase {
    margin-top: auto;
    padding-top: 14px;
    border-top: 1px dashed #e7e1f7;
}

html body .item.dv-card-item .item-price {
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    gap: 4px 8px;
}

html body .item.dv-card-item .item-price-number {
    color: #1a1230;
    font-size: 21px;
    font-weight: 800;
    letter-spacing: -.02em;
    line-height: 1.1;
}

html body .item.dv-card-item .item-price-through {
    color: #9a93b5;
    font-size: 13px;
    text-decoration: line-through;
}

html body .item.dv-card-item .dv-item-off {
    padding: 2px 8px;
    border-radius: 999px;
    background: #dcfce7;
    color: #15803d;
    font-size: 11px;
    font-weight: 700;
}

html body .item.dv-card-item .item-sales {
    margin-top: 4px;
    color: #6b6486;
    font-size: 12px;
}

html body .item.dv-card-item .item-sales i {
    color: #8b5cf6;
}

html body .item.dv-card-item .btn-padding {
    display: inline-grid;
    place-items: center;
    width: 42px;
    height: 42px;
    padding: 0;
    border-radius: 12px;
    font-size: 14px;
    transition: background .2s, color .2s, border-color .2s, transform .2s, box-shadow .2s;
}

/* carrinho / download */
html body .item.dv-card-item .btn-outline-primary {
    border: 0;
    background: #f1eaff;
    color: #6d28d9;
}

html body .item.dv-card-item .btn-outline-primary:hover:not(:disabled) {
    background: linear-gradient(135deg, #8b5cf6, #6d28d9);
    color: #fff;
    transform: translateY(-2px);
    box-shadow: 0 8px 18px rgba(109, 40, 217, .35);
}

html body .item.dv-card-item .btn-outline-primary:disabled {
    opacity: .45;
}

/* ver produto */
html body .item.dv-card-item .btn-outline-secondary {
    border: 1px solid #e7e1f7;
    background: #fff;
    color: #6b6486;
}

html body .item.dv-card-item .btn-outline-secondary:hover {
    border-color: #8b5cf6;
    background: #faf8ff;
    color: #6d28d9;
}

html body .item.dv-card-item a:focus-visible,
html body .item.dv-card-item button:focus-visible {
    outline: 2px solid #8b5cf6;
    outline-offset: 2px;
}

@media (prefers-reduced-motion: reduce) {
    html body .item.dv-card-item,
    html body .item.dv-card-item .item-img,
    html body .item.dv-card-item .btn-padding {
        transition: none;
    }

    html body .item.dv-card-item:hover,
    html body .item.dv-card-item:hover .item-img,
    html body .item.dv-card-item .btn-outline-primary:hover:not(:disabled) {
        transform: none;
    }
}
/* ==========================================================
   DIVULGA AÊ — BASE PARA PÁGINAS DE PRODUTO
   (bordas suaves, breadcrumb em chips, cards de produto)
   Carregar DEPOIS de divulgaae.css, menus e footer
   ========================================================== */

/* 1) Bordas: o tema usa --border_color: #000 em todas as caixas.
      Trocando a variável, todas as caixas do site ficam suaves. */
html:root {
    --border_color: #e7e1f7;
    --bs-border-color: #e7e1f7;
}


/* 2) Breadcrumb em chips (Início > Produtos > Canva > Produto) */
html body .breadcrumb.custom {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 6px 0;
    margin: 0 0 18px;
    padding: 0;
    list-style: none;
    background: none;
}

html body .breadcrumb.custom .breadcrumb-item {
    display: flex;
    align-items: center;
    padding: 0;
    font-size: 12px;
    font-weight: 500;
    max-width: 100%;
}

html body .breadcrumb.custom .breadcrumb-item + .breadcrumb-item {
    padding-left: 0;
}

html body .breadcrumb.custom .breadcrumb-item + .breadcrumb-item::before {
    float: none;
    content: "›";
    padding: 0 8px;
    color: #b9aee0;
    font-size: 14px;
}

html body .breadcrumb.custom .breadcrumb-item a,
html body .breadcrumb.custom .breadcrumb-item.active {
    display: inline-block;
    padding: 6px 14px;
    border: 1px solid #e7e1f7;
    border-radius: 999px;
    background: #fff;
    color: #4b4466;
    text-decoration: none;
    line-height: 1.3;
    transition: background .2s, color .2s, border-color .2s;
}

html body .breadcrumb.custom .breadcrumb-item a:hover {
    border-color: #d9ccff;
    background: #f5f0ff;
    color: #6d28d9;
}

html body .breadcrumb.custom .breadcrumb-item.active {
    border-color: #d9ccff;
    background: #f1eaff;
    color: #6d28d9;
    font-weight: 600;
}


/* 3) Cards de produto -> ver seção "CARDS DE PRODUTO v2" no final do arquivo */


/* ==========================================================
   PÁGINA DO PRODUTO (items/layout.blade.php)
   ========================================================== */

/* Caixas */
html body .dv-product .card-v {
    border-radius: 20px !important;
    background: #fff;
    box-shadow: 0 8px 28px rgba(36, 16, 68, .05);
    overflow: hidden;
}

html body .dv-product .card-v-header {
    background: #faf8ff;
}

html body .dv-product .dv-box-title {
    display: flex;
    align-items: center;
    gap: 8px;
    margin: 0 0 14px;
    color: #1a1230;
    font-size: 14px;
    font-weight: 700;
}

html body .dv-product .dv-box-title i {
    color: #8b5cf6;
}

/* Cabeçalho */
html body .dv-product .dv-product-cat {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    margin-bottom: 10px;
    padding: 5px 12px;
    border: 1px solid #d9ccff;
    border-radius: 999px;
    background: #f5f0ff;
    color: #6d28d9;
    font-size: 12px;
    font-weight: 600;
    text-decoration: none;
}

html body .dv-product .dv-product-cat:hover {
    background: #ebe1ff;
}

html body .dv-product .item-single-title {
    color: #1a1230;
    font-weight: 700;
    letter-spacing: -.01em;
}

html body .dv-product .dv-product-meta {
    font-size: 13px;
    color: #6b6486;
}

html body .dv-product .section-header .btn-outline-secondary {
    height: 42px;
    border-radius: 999px;
    border-color: #e7e1f7;
    background: #fff;
    color: #4b4466;
    font-size: 13px;
    font-weight: 600;
}

html body .dv-product .section-header .btn-outline-secondary:hover {
    border-color: #8b5cf6;
    background: #f5f0ff;
    color: #6d28d9;
}

/* Galeria */
html body .dv-product .dv-gallery .item-single-img img,
html body .dv-product .dv-gallery .item-single-video video {
    width: 100%;
    border-radius: 14px;
}

html body .dv-product .dv-gallery .item-slide-img {
    display: block;
    overflow: hidden;
    border: 2px solid transparent;
    border-radius: 12px;
    transition: border-color .2s, box-shadow .2s;
}

html body .dv-product .dv-gallery .item-slide-img:hover {
    border-color: #8b5cf6;
    box-shadow: 0 6px 16px rgba(139, 92, 246, .25);
}

html body .dv-product .dv-gallery .item-slide-img img {
    display: block;
    width: 100%;
    border-radius: 10px;
}

html body .dv-product .dv-gallery .swiper-button-prev,
html body .dv-product .dv-gallery .swiper-button-next {
    border: 1px solid #e7e1f7;
    border-radius: 50%;
    background: #fff;
    color: #6d28d9;
    box-shadow: 0 4px 12px rgba(36, 16, 68, .1);
}

/* Tags em chips */
html body .dv-product .dv-chips {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

html body .dv-product .dv-chip {
    padding: 6px 14px;
    border: 1px solid #e7e1f7;
    border-radius: 999px;
    background: #faf8ff;
    color: #6d28d9;
    font-size: 12px;
    font-weight: 600;
    text-decoration: none;
    transition: background .2s, border-color .2s;
}

html body .dv-product .dv-chip:hover {
    border-color: #8b5cf6;
    background: #f1eaff;
}

/* Abas em pílula */
html body .dv-product .dv-tabs {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    margin-bottom: 20px;
    padding: 6px;
    border: 1px solid #e7e1f7;
    border-radius: 16px;
    background: #faf8ff;
}

html body .dv-product .dv-tabs-item {
    flex: 1 1 auto;
}

html body .dv-product .dv-tabs .btn {
    width: 100%;
    padding: 10px 14px;
    border: 0 !important;
    border-radius: 12px !important;
    background: transparent !important;
    color: #4b4466 !important;
    font-size: 13px;
    font-weight: 600;
    box-shadow: none !important;
    transition: background .2s, color .2s;
}

html body .dv-product .dv-tabs .btn:hover {
    background: #f1eaff !important;
    color: #6d28d9 !important;
}

html body .dv-product .dv-tabs .btn.btn-primary {
    background: #fff !important;
    color: #6d28d9 !important;
    box-shadow: 0 0 0 1px #d9ccff, 0 4px 12px rgba(139, 92, 246, .15) !important;
}

/* Caixa de compra */
html body .dv-product .dv-buy .form-check-lg {
    padding: 14px 14px 14px 44px;
    border: 1.5px solid #e7e1f7;
    border-radius: 14px;
    background: #fff;
    transition: border-color .2s, background .2s, box-shadow .2s;
}

html body .dv-product .dv-buy .form-check-lg:has(input:checked) {
    border-color: #8b5cf6;
    background: #f8f4ff;
    box-shadow: 0 0 0 3px rgba(139, 92, 246, .12);
}

html body .dv-product .dv-buy .form-check-lg .form-check-input {
    margin-left: -30px;
}

html body .dv-product .dv-buy .form-check-lg .form-check-input:checked {
    border-color: #8b5cf6;
    background-color: #8b5cf6;
}

/* Preço grande */
html body .dv-product .dv-price-box {
    margin-bottom: 16px;
    padding: 16px 18px;
    border: 1px solid #e7e1f7;
    border-radius: 16px;
    background: linear-gradient(135deg, #faf8ff, #f1eaff);
}

html body .dv-product .dv-price-label {
    display: block;
    margin-bottom: 4px;
    color: #6b6486;
    font-size: 12px;
    font-weight: 600;
}

html body .dv-product .dv-price-row {
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    gap: 10px;
}

html body .dv-product .dv-price-now {
    color: #1a1230;
    font-size: 32px;
    font-weight: 800;
    line-height: 1.1;
    letter-spacing: -.02em;
}

html body .dv-product .dv-price-old {
    color: #9a93b5;
    font-size: 14px;
    text-decoration: line-through;
}

html body .dv-product .dv-price-save {
    padding: 3px 10px;
    border-radius: 999px;
    background: #dcfce7;
    color: #15803d;
    font-size: 12px;
    font-weight: 700;
}

html body .dv-product .dv-price-note {
    display: block;
    margin-top: 6px;
    color: #6b6486;
    font-size: 12px;
}

/* Botões de compra */
html body .dv-product .dv-buy .btn-primary {
    height: 52px;
    border: 0 !important;
    border-radius: 14px !important;
    background: linear-gradient(135deg, #8b5cf6, #6d28d9) !important;
    color: #fff !important;
    font-weight: 700;
    box-shadow: 0 10px 24px rgba(109, 40, 217, .3);
    transition: transform .2s, box-shadow .2s, filter .2s;
}

html body .dv-product .dv-buy .btn-primary:hover:not(:disabled) {
    transform: translateY(-2px);
    box-shadow: 0 14px 30px rgba(109, 40, 217, .4);
    filter: brightness(1.05);
}

html body .dv-product .dv-buy .btn-outline-primary {
    height: 48px;
    border: 1.5px solid #8b5cf6;
    border-radius: 14px;
    background: #fff;
    color: #6d28d9;
    font-weight: 700;
}

html body .dv-product .dv-buy .btn-outline-primary:hover:not(:disabled) {
    background: #f5f0ff;
}

/* Selos de confiança */
html body .dv-product .dv-trust {
    display: grid;
    gap: 10px;
    margin-top: 18px;
}

html body .dv-product .dv-trust-item {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 11px 14px;
    border: 1px solid transparent;
    border-radius: 14px;
}

html body .dv-product .dv-trust-item > i {
    display: grid;
    place-items: center;
    flex: 0 0 34px;
    width: 34px;
    height: 34px;
    border-radius: 10px;
    background: rgba(255, 255, 255, .8);
    font-size: 14px;
}

html body .dv-product .dv-trust-item strong {
    display: block;
    color: #1a1230;
    font-size: 13px;
    font-weight: 700;
    line-height: 1.3;
}

html body .dv-product .dv-trust-item span {
    display: block;
    color: #6b6486;
    font-size: 12px;
    line-height: 1.4;
}

html body .dv-product .dv-trust-delivery {
    border-color: #fde68a;
    background: #fffbeb;
}

html body .dv-product .dv-trust-delivery > i {
    color: #d97706;
}

html body .dv-product .dv-trust-secure {
    border-color: #bbf7d0;
    background: #f0fdf4;
}

html body .dv-product .dv-trust-secure > i {
    color: #16a34a;
}

html body .dv-product .dv-trust-support {
    border-color: #bae6fd;
    background: #f0f9ff;
}

html body .dv-product .dv-trust-support > i {
    color: #0284c7;
}

/* O que você recebe */
html body .dv-product .dv-includes {
    margin-top: 16px;
    padding: 14px;
    border: 1px solid #e7e1f7;
    border-radius: 14px;
}

html body .dv-product .dv-includes-title {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 10px;
    color: #1a1230;
    font-size: 13px;
    font-weight: 700;
}

html body .dv-product .dv-includes-title i {
    color: #16a34a;
}

html body .dv-product .dv-includes-grid {
    display: grid;
    gap: 8px;
}

html body .dv-product .dv-includes-item {
    display: flex;
    align-items: flex-start;
    gap: 8px;
    padding: 8px 10px;
    border-radius: 10px;
    background: #faf8ff;
    color: #4b4466;
    font-size: 12px;
    line-height: 1.4;
}

html body .dv-product .dv-includes-item i {
    margin-top: 2px;
    color: #8b5cf6;
    font-size: 11px;
}

html body .dv-product .dv-guarantee {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    margin: 14px 0 0;
    color: #6b6486;
    font-size: 12px;
    text-align: center;
}

html body .dv-product .dv-guarantee i {
    color: #16a34a;
}

/* Autor */
html body .dv-product .dv-author .user-avatar img {
    border-radius: 16px;
}

html body .dv-product .dv-author .btn-outline-secondary {
    border-radius: 12px;
    border-color: #e7e1f7;
    color: #4b4466;
    font-weight: 600;
}

html body .dv-product .dv-author .btn-outline-secondary:hover {
    border-color: #8b5cf6;
    background: #f5f0ff;
    color: #6d28d9;
}

/* Vendas / downloads */
html body .dv-product .dv-stat h5 {
    color: #1a1230;
    font-size: 15px;
    font-weight: 700;
}

html body .dv-product .dv-stat i {
    color: #8b5cf6;
}

/* Informações */
html body .dv-product .dv-info-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    padding: 11px 0;
    border-bottom: 1px dashed #e7e1f7;
    font-size: 13px;
}

html body .dv-product .dv-info-row:last-child {
    border-bottom: 0;
    padding-bottom: 0;
}

html body .dv-product .dv-info-row > span {
    color: #6b6486;
}

html body .dv-product .dv-info-row > strong,
html body .dv-product .dv-info-values {
    max-width: 60%;
    color: #1a1230;
    font-weight: 600;
    text-align: right;
}

html body .dv-product .dv-info-row a {
    color: #6d28d9;
    font-weight: 600;
    text-decoration: none;
}

html body .dv-product .dv-info-row a:hover {
    text-decoration: underline;
}

html body .dv-product .dv-info-row .breadcrumb {
    flex-wrap: wrap;
    font-size: 13px;
}

/* Mobile */
@media (max-width: 767.98px) {
    html body .dv-product .dv-tabs-item {
        flex: 1 1 calc(50% - 6px);
    }

    html body .dv-product .dv-price-now {
        font-size: 28px;
    }
}

@media (prefers-reduced-motion: reduce) {
    html body .dv-product .dv-buy .btn-primary,
    html body .dv-product .dv-gallery .item-slide-img {
        transition: none;
    }

    html body .dv-product .dv-buy .btn-primary:hover:not(:disabled) {
        transform: none;
    }
}


/* ==========================================================
   CARDS DE PRODUTO v2 (partials/item.blade.php)
   ========================================================== */

html body .item.dv-card-item {
    display: flex;
    flex-direction: column;
    height: 100%;
    overflow: hidden;
    border: 1px solid var(--border_color) !important;
    border-radius: 20px !important;
    background: #fff !important;
    box-shadow:
        0 2px 6px rgba(36, 16, 68, .04),
        0 10px 30px rgba(36, 16, 68, .06) !important;
    transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease;
}

html body .item.dv-card-item:hover {
    transform: translateY(-5px);
    border-color: #d9ccff !important;
    box-shadow:
        0 4px 10px rgba(109, 40, 217, .06),
        0 20px 44px rgba(109, 40, 217, .16) !important;
}

/* imagem com moldura */
html body .item.dv-card-item .item-header {
    position: relative;
    margin: 8px 8px 0;
    overflow: hidden;
    border-radius: 14px;
    background: #f1eaff;
}

html body .item.dv-card-item .item-header:has(.item-img) {
    aspect-ratio: 16 / 10;
}

html body .item.dv-card-item .item-header > a {
    display: block;
    height: 100%;
}

html body .item.dv-card-item .item-img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform .5s ease;
}

html body .item.dv-card-item:hover .item-img {
    transform: scale(1.05);
}

/* selos sobre a imagem */
html body .item.dv-card-item .item-badge {
    position: absolute;
    top: 10px;
    left: 10px;
    right: auto;
    z-index: 2;
    padding: 5px 11px;
    border: 0;
    border-radius: 999px;
    background: rgba(255, 255, 255, .92);
    color: #1a1230;
    font-size: 11px;
    font-weight: 700;
    line-height: 1.2;
    box-shadow: 0 4px 12px rgba(36, 16, 68, .18);
    -webkit-backdrop-filter: blur(6px);
    backdrop-filter: blur(6px);
}

html body .item.dv-card-item .item-badge-sale {
    background: linear-gradient(135deg, #a855f7, #6d28d9);
    color: #fff;
}

html body .item.dv-card-item .item-badge-free {
    background: #16a34a;
    color: #fff;
}

html body .item.dv-card-item .item-badge-trending {
    background: #0074e4;
    color: #fff;
}

html body .item.dv-card-item .item-badge-premium {
    background: linear-gradient(135deg, #fbbf24, #d97706);
    color: #fff;
}

/* corpo */
html body .item.dv-card-item .item-body {
    display: flex;
    flex: 1;
    flex-direction: column;
    gap: 10px;
    padding: 16px 18px 18px;
}

html body .item.dv-card-item .dv-item-top {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
}

html body .item.dv-card-item .dv-item-cat {
    max-width: 70%;
    padding: 4px 11px;
    overflow: hidden;
    border: 1px solid #e7dcff;
    border-radius: 999px;
    background: #f5f0ff;
    color: #6d28d9;
    font-size: 11.5px;
    font-weight: 600;
    text-decoration: none;
    text-overflow: ellipsis;
    white-space: nowrap;
    transition: background .2s;
}

html body .item.dv-card-item .dv-item-cat:hover {
    background: #ebe1ff;
}

html body .item.dv-card-item .dv-item-rating {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    color: #1a1230;
    font-size: 12px;
    font-weight: 700;
    white-space: nowrap;
}

html body .item.dv-card-item .dv-item-rating i {
    color: #f59e0b;
    font-size: 11px;
}

html body .item.dv-card-item .dv-item-rating small {
    color: #9a93b5;
    font-size: 11px;
    font-weight: 500;
}

html body .item.dv-card-item .item-title {
    display: -webkit-box;
    min-height: 2.7em;
    overflow: hidden;
    color: #1a1230;
    font-size: 15.5px;
    font-weight: 600;
    line-height: 1.35;
    text-decoration: none;
    white-space: normal;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
}

html body .item.dv-card-item .item-title:hover {
    color: #6d28d9;
}

html body .item.dv-card-item .dv-item-author {
    display: flex;
    align-items: center;
    gap: 7px;
    margin: 0;
    color: #6b6486;
    font-size: 12.5px;
}

html body .item.dv-card-item .dv-item-author i {
    color: #b9aee0;
    font-size: 12px;
}

html body .item.dv-card-item .dv-item-author a {
    color: #4b4466;
    font-weight: 600;
    text-decoration: none;
}

html body .item.dv-card-item .dv-item-author a:hover {
    color: #6d28d9;
}

/* preço + ações */
html body .item.dv-card-item .item-purchase {
    margin-top: auto;
    padding-top: 14px;
    border-top: 1px dashed #e7e1f7;
}

html body .item.dv-card-item .item-price {
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    gap: 4px 8px;
}

html body .item.dv-card-item .item-price-number {
    color: #1a1230;
    font-size: 21px;
    font-weight: 800;
    letter-spacing: -.02em;
    line-height: 1.1;
}

html body .item.dv-card-item .item-price-through {
    color: #9a93b5;
    font-size: 13px;
    text-decoration: line-through;
}

html body .item.dv-card-item .dv-item-off {
    padding: 2px 8px;
    border-radius: 999px;
    background: #dcfce7;
    color: #15803d;
    font-size: 11px;
    font-weight: 700;
}

html body .item.dv-card-item .item-sales {
    margin-top: 4px;
    color: #6b6486;
    font-size: 12px;
}

html body .item.dv-card-item .item-sales i {
    color: #8b5cf6;
}

html body .item.dv-card-item .btn-padding {
    display: inline-grid;
    place-items: center;
    width: 42px;
    height: 42px;
    padding: 0;
    border-radius: 12px;
    font-size: 14px;
    transition: background .2s, color .2s, border-color .2s, transform .2s, box-shadow .2s;
}

/* carrinho / download */
html body .item.dv-card-item .btn-outline-primary {
    border: 0;
    background: #f1eaff;
    color: #6d28d9;
}

html body .item.dv-card-item .btn-outline-primary:hover:not(:disabled) {
    background: linear-gradient(135deg, #8b5cf6, #6d28d9);
    color: #fff;
    transform: translateY(-2px);
    box-shadow: 0 8px 18px rgba(109, 40, 217, .35);
}

html body .item.dv-card-item .btn-outline-primary:disabled {
    opacity: .45;
}

/* ver produto */
html body .item.dv-card-item .btn-outline-secondary {
    border: 1px solid #e7e1f7;
    background: #fff;
    color: #6b6486;
}

html body .item.dv-card-item .btn-outline-secondary:hover {
    border-color: #8b5cf6;
    background: #faf8ff;
    color: #6d28d9;
}

html body .item.dv-card-item a:focus-visible,
html body .item.dv-card-item button:focus-visible {
    outline: 2px solid #8b5cf6;
    outline-offset: 2px;
}

@media (prefers-reduced-motion: reduce) {
    html body .item.dv-card-item,
    html body .item.dv-card-item .item-img,
    html body .item.dv-card-item .btn-padding {
        transition: none;
    }

    html body .item.dv-card-item:hover,
    html body .item.dv-card-item:hover .item-img,
    html body .item.dv-card-item .btn-outline-primary:hover:not(:disabled) {
        transform: none;
    }
}


/* ==========================================================
   CARRINHO (cart/index.blade.php)
   ========================================================== */

html body .dv-cart .card-v,
html body .dv-cart-empty-box {
    border-radius: 20px !important;
    background: #fff;
    box-shadow: 0 8px 28px rgba(36, 16, 68, .05);
}

html body .dv-cart .dv-cart-list {
    overflow: hidden;
}

/* topo da lista */
html body .dv-cart .dv-cart-top {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 18px 22px;
    border-bottom: 1px solid #ece8f7;
    background: #faf8ff;
}

html body .dv-cart .dv-cart-heading {
    display: flex;
    align-items: center;
    gap: 10px;
    margin: 0;
    color: #1a1230;
    font-size: 17px;
    font-weight: 700;
}

html body .dv-cart .dv-cart-heading i {
    color: #8b5cf6;
}

html body .dv-cart .dv-cart-count {
    display: inline-grid;
    place-items: center;
    min-width: 24px;
    height: 24px;
    padding: 0 8px;
    border-radius: 999px;
    background: #8b5cf6;
    color: #fff;
    font-size: 12px;
    font-weight: 700;
}

html body .dv-cart .dv-cart-top-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

html body .dv-cart .dv-cart-top-actions .btn {
    height: 38px;
    padding: 0 16px;
    border-radius: 999px;
    font-size: 13px;
    font-weight: 600;
}

html body .dv-cart .dv-cart-continue {
    border: 1px solid #d9ccff;
    background: #fff;
    color: #6d28d9;
}

html body .dv-cart .dv-cart-continue:hover {
    background: #f5f0ff;
    color: #5b21b6;
}

html body .dv-cart .dv-cart-empty {
    border: 1px solid #fecaca;
    background: #fff;
    color: #dc2626;
}

html body .dv-cart .dv-cart-empty:hover {
    background: #fef2f2;
    color: #b91c1c;
}

/* item */
html body .dv-cart .dv-cart-item {
    display: flex;
    gap: 18px;
    padding: 20px 22px;
    border-bottom: 1px solid #ece8f7;
}

html body .dv-cart .dv-cart-item:last-child {
    border-bottom: 0;
}

html body .dv-cart .dv-cart-thumb {
    flex: 0 0 120px;
    align-self: flex-start;
    width: 120px;
    aspect-ratio: 16 / 10;
    overflow: hidden;
    border: 1px solid #ece8f7;
    border-radius: 14px;
    background: #f1eaff;
}

html body .dv-cart .dv-cart-thumb img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

html body .dv-cart .dv-cart-main {
    display: flex;
    flex: 1;
    flex-direction: column;
    gap: 14px;
    min-width: 0;
}

html body .dv-cart .dv-cart-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 12px;
}

html body .dv-cart .dv-cart-titles {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 6px;
    min-width: 0;
}

html body .dv-cart .dv-cart-cat {
    padding: 3px 10px;
    border: 1px solid #e7dcff;
    border-radius: 999px;
    background: #f5f0ff;
    color: #6d28d9;
    font-size: 11px;
    font-weight: 600;
}

html body .dv-cart .dv-cart-title {
    color: #1a1230;
    font-size: 15.5px;
    font-weight: 600;
    line-height: 1.35;
    text-decoration: none;
}

html body .dv-cart .dv-cart-title:hover {
    color: #6d28d9;
}

html body .dv-cart .dv-cart-remove {
    display: grid;
    place-items: center;
    flex: 0 0 32px;
    width: 32px;
    height: 32px;
    border: 1px solid #e7e1f7;
    border-radius: 50%;
    background: #fff;
    color: #9a93b5;
    font-size: 13px;
    transition: background .2s, color .2s, border-color .2s;
}

html body .dv-cart .dv-cart-remove:hover {
    border-color: #fecaca;
    background: #fef2f2;
    color: #dc2626;
}

html body .dv-cart .dv-cart-bottom {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-end;
    justify-content: space-between;
    gap: 14px;
}

html body .dv-cart .dv-cart-form {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-end;
    gap: 10px;
}

html body .dv-cart .dv-cart-field {
    display: flex;
    flex-direction: column;
    gap: 4px;
}

html body .dv-cart .dv-cart-field label {
    margin: 0;
    color: #6b6486;
    font-size: 11.5px;
    font-weight: 600;
}

html body .dv-cart .dv-cart-field .form-select,
html body .dv-cart .dv-cart-field .form-control {
    height: 38px;
    border: 1px solid #e7e1f7;
    border-radius: 10px;
    background-color: #faf8ff;
    color: #1a1230;
    font-size: 13px;
}

html body .dv-cart .dv-cart-field .form-select:focus,
html body .dv-cart .dv-cart-field .form-control:focus {
    border-color: #8b5cf6;
    background-color: #fff;
    box-shadow: 0 0 0 3px rgba(139, 92, 246, .15);
}

html body .dv-cart .dv-cart-qty .form-control {
    width: 76px;
}

html body .dv-cart .dv-cart-update {
    height: 38px;
    padding: 0 14px;
    border: 1px solid #d9ccff;
    border-radius: 10px;
    background: #f5f0ff;
    color: #6d28d9;
    font-size: 12.5px;
    font-weight: 600;
    transition: background .2s, color .2s;
}

html body .dv-cart .dv-cart-update:hover {
    background: #8b5cf6;
    color: #fff;
}

html body .dv-cart .dv-cart-price {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 2px;
    margin-left: auto;
    text-align: right;
}

html body .dv-cart .dv-cart-price .item-price-number {
    color: #1a1230;
    font-size: 21px;
    font-weight: 800;
    letter-spacing: -.02em;
    line-height: 1.1;
}

html body .dv-cart .dv-cart-price .item-price-through {
    color: #9a93b5;
    font-size: 13px;
    text-decoration: line-through;
}

/* resumo */
html body .dv-cart .dv-cart-summary {
    padding: 24px;
}

@media (min-width: 1200px) {
    html body .dv-cart .dv-cart-summary {
        position: sticky;
        top: 24px;
    }
}

html body .dv-cart .dv-cart-summary-title {
    display: flex;
    align-items: center;
    gap: 10px;
    margin: 0 0 18px;
    color: #1a1230;
    font-size: 16px;
    font-weight: 700;
}

html body .dv-cart .dv-cart-summary-title i {
    color: #8b5cf6;
}

html body .dv-cart .dv-cart-summary-row {
    display: flex;
    justify-content: space-between;
    padding: 12px 0;
    border-bottom: 1px dashed #e7e1f7;
    color: #6b6486;
    font-size: 14px;
}

html body .dv-cart .dv-cart-summary-row strong {
    color: #1a1230;
}

html body .dv-cart .dv-cart-total {
    margin: 18px 0;
    padding: 16px 18px;
    border: 1px solid #e7e1f7;
    border-radius: 16px;
    background: linear-gradient(135deg, #faf8ff, #f1eaff);
}

html body .dv-cart .dv-cart-total span {
    display: block;
    color: #6b6486;
    font-size: 12px;
    font-weight: 600;
}

html body .dv-cart .dv-cart-total p {
    margin: 4px 0 0;
    color: #1a1230;
    font-size: 32px;
    font-weight: 800;
    letter-spacing: -.02em;
    line-height: 1.1;
}

html body .dv-cart .dv-cart-checkout {
    height: 52px;
    border: 0 !important;
    border-radius: 14px !important;
    background: linear-gradient(135deg, #8b5cf6, #6d28d9) !important;
    color: #fff !important;
    font-weight: 700;
    box-shadow: 0 10px 24px rgba(109, 40, 217, .3);
    transition: transform .2s, box-shadow .2s, filter .2s;
}

html body .dv-cart .dv-cart-checkout:hover {
    transform: translateY(-2px);
    box-shadow: 0 14px 30px rgba(109, 40, 217, .4);
    filter: brightness(1.05);
}

html body .dv-cart .dv-cart-trust {
    display: grid;
    gap: 10px;
    margin: 20px 0 0;
    padding: 0;
    list-style: none;
}

html body .dv-cart .dv-cart-trust li {
    display: flex;
    align-items: center;
    gap: 10px;
    color: #4b4466;
    font-size: 12.5px;
}

html body .dv-cart .dv-cart-trust i {
    display: grid;
    place-items: center;
    flex: 0 0 28px;
    width: 28px;
    height: 28px;
    border-radius: 9px;
    background: #f1eaff;
    color: #8b5cf6;
    font-size: 12px;
}

/* carrinho vazio */
html body .dv-cart-empty-icon {
    display: inline-grid;
    place-items: center;
    width: 96px;
    height: 96px;
    margin-bottom: 20px;
    border-radius: 50%;
    background: linear-gradient(135deg, #f5f0ff, #e7dcff);
    color: #8b5cf6;
    font-size: 36px;
}

html body .dv-cart-empty-text {
    max-width: 420px;
    margin: 0 auto 20px;
    color: #6b6486;
}

/* mobile */
@media (max-width: 767.98px) {
    html body .dv-cart .dv-cart-item {
        padding: 16px;
        gap: 14px;
    }

    html body .dv-cart .dv-cart-thumb {
        flex-basis: 84px;
        width: 84px;
    }

    html body .dv-cart .dv-cart-top {
        padding: 16px;
    }

    html body .dv-cart .dv-cart-bottom {
        flex-direction: column;
        align-items: stretch;
    }

    html body .dv-cart .dv-cart-price {
        align-items: flex-start;
        margin-left: 0;
        text-align: left;
    }
}

@media (max-width: 575.98px) {
    html body .dv-cart .dv-cart-item {
        flex-direction: column;
    }

    html body .dv-cart .dv-cart-thumb {
        flex-basis: auto;
        width: 100%;
        max-width: 220px;
    }
}

@media (prefers-reduced-motion: reduce) {
    html body .dv-cart .dv-cart-checkout,
    html body .dv-cart .dv-cart-remove,
    html body .dv-cart .dv-cart-update {
        transition: none;
    }

    html body .dv-cart .dv-cart-checkout:hover {
        transform: none;
    }
}
/* ==========================================================
   PATCH CARRINHO — cole no FINAL do divulgaae.css
   (depois de corrigir o erro das chaves { } descrito na resposta)
   ========================================================== */

/* barra cinza do topo colada nas bordas do card */
html body .dv-cart .dv-cart-list {
    padding: 0 !important;
}

/* "Continuar navegando" e "Carrinho vazio" com a mesma caixa e alinhamento */
html body .dv-cart .dv-cart-top-actions {
    align-items: center;
}

html body .dv-cart .dv-cart-top-actions form {
    display: flex;
    margin: 0;
}

html body .dv-cart .dv-cart-top-actions .btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    height: 38px;
    margin: 0;
    padding: 0 16px;
    line-height: 1;
    white-space: nowrap;
}

html body .dv-cart .dv-cart-top-actions .btn i {
    margin: 0 !important;
    line-height: 1;
}

html body .dv-cart .dv-cart-top-actions .btn span {
    line-height: 1;
}

/* seletor: texto não fica mais por baixo da setinha */
html body .dv-cart .dv-cart-field .form-select {
    min-width: 170px;
    padding-right: 2.5rem;
    background-position: right 12px center;
}

/* preço nunca quebra em duas linhas */
html body .dv-cart .dv-cart-price .item-price-number,
html body .dv-cart .dv-cart-price .item-price-through {
    white-space: nowrap;
}
/* ==========================================================
   CHECKOUT — cole no FINAL do divulgaae.css
   (depois de corrigir o erro das chaves { } do arquivo)
   ========================================================== */

/* ---------- HERO COMPACTO (mesmo estilo da home) ---------- */
html body .dv-checkout .dv-ck-hero {
    --dv-bg: #0b0618;
    --dv-mute: #b9aee0;
    --dv-line: rgba(255, 255, 255, .12);
    position: relative;
    overflow: hidden;
    margin: 0 0 28px;
    padding: 40px 20px 34px;
    border-radius: 24px;
    text-align: center;
    color: #fff;
    background:
        radial-gradient(60% 80% at 50% 0%, #2a1360 0%, transparent 70%),
        var(--dv-bg);
}

html body .dv-checkout .dv-ck-hero::before {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
    background-image:
        linear-gradient(var(--dv-line) 1px, transparent 1px),
        linear-gradient(90deg, var(--dv-line) 1px, transparent 1px);
    background-size: 44px 44px;
    opacity: .22;
    -webkit-mask-image: radial-gradient(70% 90% at 50% 30%, #000, transparent);
    mask-image: radial-gradient(70% 90% at 50% 30%, #000, transparent);
}

html body .dv-checkout .dv-ck-glow {
    position: absolute;
    top: -30%;
    width: 34%;
    height: 160%;
    pointer-events: none;
    filter: blur(70px);
    opacity: .7;
}

html body .dv-checkout .dv-ck-glow-l {
    left: -12%;
    background: linear-gradient(180deg, #f0abfc, #7c3aed 60%, transparent);
}

html body .dv-checkout .dv-ck-glow-r {
    right: -12%;
    background: linear-gradient(180deg, #a5b4fc, #8b5cf6 60%, transparent);
}

html body .dv-checkout .dv-ck-hero-inner {
    position: relative;
    z-index: 1;
}

html body .dv-checkout .dv-ck-badge {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 14px;
    padding: 6px 14px;
    border: 1px solid rgba(255, 255, 255, .22);
    border-radius: 999px;
    background: rgba(255, 255, 255, .08);
    color: #e9ddff;
    font-size: 12px;
    font-weight: 600;
    -webkit-backdrop-filter: blur(6px);
    backdrop-filter: blur(6px);
}

html body .dv-checkout .dv-ck-title {
    margin: 0 0 8px;
    color: #fff;
    font-size: clamp(24px, 4vw, 38px);
    font-weight: 800;
    line-height: 1.15;
    letter-spacing: -.02em;
}

html body .dv-checkout .dv-ck-emoji {
    display: inline-block;
    margin-left: 4px;
    animation: dv-ck-wave 2.4s ease-in-out infinite;
    transform-origin: 70% 70%;
}

html body .dv-checkout .dv-ck-sub {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    margin: 0 0 22px;
    color: var(--dv-mute);
    font-size: 15px;
}

html body .dv-checkout .dv-ck-sub i {
    color: #fcd34d;
}

/* ---------- ETAPAS ---------- */
html body .dv-checkout .dv-ck-steps {
    display: flex;
    align-items: flex-start;
    justify-content: center;
    gap: 0;
    max-width: 460px;
    margin: 0 auto;
    padding: 0;
    list-style: none;
}

html body .dv-checkout .dv-ck-steps li {
    position: relative;
    display: flex;
    flex: 1;
    flex-direction: column;
    align-items: center;
    gap: 8px;
}

html body .dv-checkout .dv-ck-steps li + li::before {
    content: "";
    position: absolute;
    top: 15px;
    right: 50%;
    width: 100%;
    height: 2px;
    background: rgba(255, 255, 255, .2);
}

html body .dv-checkout .dv-ck-steps li.is-done + li::before,
html body .dv-checkout .dv-ck-steps li.is-active::before {
    background: linear-gradient(90deg, #a855f7, #8b5cf6);
}

html body .dv-checkout .dv-ck-dot {
    position: relative;
    z-index: 1;
    display: grid;
    place-items: center;
    width: 32px;
    height: 32px;
    border: 2px solid rgba(255, 255, 255, .3);
    border-radius: 50%;
    background: #1a0f3a;
    color: #b9aee0;
    font-size: 13px;
    font-weight: 700;
}

html body .dv-checkout .dv-ck-steps li.is-done .dv-ck-dot {
    border-color: #8b5cf6;
    background: #8b5cf6;
    color: #fff;
}

html body .dv-checkout .dv-ck-steps li.is-active .dv-ck-dot {
    border-color: #fff;
    background: #fff;
    color: #5b21b6;
    box-shadow: 0 0 0 5px rgba(139, 92, 246, .45);
}

html body .dv-checkout .dv-ck-label {
    color: #b9aee0;
    font-size: 12px;
    font-weight: 600;
}

html body .dv-checkout .dv-ck-steps li.is-done .dv-ck-label,
html body .dv-checkout .dv-ck-steps li.is-active .dv-ck-label {
    color: #fff;
}

/* aviso sobre o e-mail / chat */
html body .dv-checkout .dv-ck-note {
    display: inline-flex;
    align-items: flex-start;
    gap: 10px;
    max-width: 640px;
    margin: 24px auto 0;
    padding: 12px 18px;
    border: 1px solid rgba(255, 255, 255, .16);
    border-radius: 14px;
    background: rgba(255, 255, 255, .07);
    color: #e9ddff;
    font-size: 13px;
    line-height: 1.5;
    text-align: left;
}

html body .dv-checkout .dv-ck-note i {
    margin-top: 2px;
    color: #c4b5fd;
}

/* ---------- PAGAMENTO CONCLUÍDO ---------- */
html body .dv-checkout .dv-ck-success {
    max-width: 640px;
    margin: 0 auto;
    padding: 44px 28px;
    border: 1px solid #e7e1f7;
    border-radius: 24px;
    background: #fff;
    box-shadow: 0 12px 40px rgba(36, 16, 68, .08);
    text-align: center;
}

html body .dv-checkout .dv-ck-success-icon {
    position: relative;
    display: inline-grid;
    place-items: center;
    width: 88px;
    height: 88px;
    margin-bottom: 22px;
    border-radius: 50%;
    background: linear-gradient(135deg, #22c55e, #15803d);
    color: #fff;
    font-size: 36px;
    box-shadow: 0 12px 30px rgba(22, 163, 74, .35);
}

html body .dv-checkout .dv-ck-success-icon::after {
    content: "";
    position: absolute;
    inset: -8px;
    border: 2px solid rgba(34, 197, 94, .45);
    border-radius: 50%;
    animation: dv-ck-ring 2s ease-out infinite;
}

html body .dv-checkout .dv-ck-success h2 {
    margin: 0 0 10px;
    color: #1a1230;
    font-size: 26px;
    font-weight: 800;
    letter-spacing: -.01em;
}

html body .dv-checkout .dv-ck-success p {
    max-width: 440px;
    margin: 0 auto 24px;
    color: #6b6486;
    font-size: 15px;
    line-height: 1.6;
}

html body .dv-checkout .dv-ck-success-btn {
    height: 52px;
    padding: 0 28px;
    border: 0 !important;
    border-radius: 14px !important;
    background: linear-gradient(135deg, #8b5cf6, #6d28d9) !important;
    color: #fff !important;
    font-weight: 700;
    box-shadow: 0 10px 24px rgba(109, 40, 217, .3);
    transition: transform .2s, box-shadow .2s;
}

html body .dv-checkout .dv-ck-success-btn:hover {
    transform: translateY(-2px);
    box-shadow: 0 14px 30px rgba(109, 40, 217, .4);
}

/* ---------- FORMAS DE PAGAMENTO (classes que o seu script já usa) ---------- */
html body .dv-checkout .payment-method {
    border: 1.5px solid #e7e1f7;
    border-radius: 16px;
    background: #fff;
    transition: border-color .2s, background .2s, box-shadow .2s, transform .2s;
}

html body .dv-checkout .payment-method:hover {
    border-color: #c4b5fd;
    transform: translateY(-2px);
}

html body .dv-checkout .payment-method:has(input:checked) {
    border-color: #8b5cf6;
    background: #f8f4ff;
    box-shadow: 0 0 0 4px rgba(139, 92, 246, .14);
}

html body .dv-checkout .checkout-button {
    height: 56px;
    border: 0 !important;
    border-radius: 14px !important;
    background: linear-gradient(135deg, #8b5cf6, #6d28d9) !important;
    color: #fff !important;
    font-size: 16px;
    font-weight: 700;
    box-shadow: 0 12px 28px rgba(109, 40, 217, .35);
    transition: transform .2s, box-shadow .2s, filter .2s;
}

html body .dv-checkout .checkout-button:hover {
    transform: translateY(-2px);
    box-shadow: 0 16px 34px rgba(109, 40, 217, .45);
    filter: brightness(1.05);
}

html body .dv-checkout .card-v {
    border-radius: 20px !important;
    box-shadow: 0 8px 28px rgba(36, 16, 68, .05);
}

/* ---------- ANIMAÇÕES ---------- */
@keyframes dv-ck-wave {
    0%, 60%, 100% { transform: rotate(0); }
    10%, 30% { transform: rotate(14deg); }
    20%, 40% { transform: rotate(-8deg); }
    50% { transform: rotate(10deg); }
}

@keyframes dv-ck-ring {
    0% { transform: scale(.9); opacity: .9; }
    100% { transform: scale(1.35); opacity: 0; }
}

/* ---------- MOBILE ---------- */
@media (max-width: 575.98px) {
    html body .dv-checkout .dv-ck-hero {
        padding: 30px 14px 26px;
        border-radius: 18px;
    }

    html body .dv-checkout .dv-ck-note {
        text-align: left;
    }

    html body .dv-checkout .dv-ck-success {
        padding: 34px 18px;
    }
}

@media (prefers-reduced-motion: reduce) {
    html body .dv-checkout .dv-ck-emoji,
    html body .dv-checkout .dv-ck-success-icon::after {
        animation: none;
    }

    html body .dv-checkout .payment-method,
    html body .dv-checkout .checkout-button,
    html body .dv-checkout .dv-ck-success-btn {
        transition: none;
    }

    html body .dv-checkout .payment-method:hover,
    html body .dv-checkout .checkout-button:hover,
    html body .dv-checkout .dv-ck-success-btn:hover {
        transform: none;
    }
}
/* ==========================================================
   CHECKOUT — HERO COMPACTO (v2)
   Cole no FINAL do divulgaae.css, DEPOIS do bloco do checkout.
   Reduz a altura do hero pela metade (~450px -> ~200px).
   ========================================================== */

/* caixa menor */
html body .dv-checkout .dv-ck-hero {
    margin-bottom: 20px;
    padding: 22px 28px;
    border-radius: 20px;
    text-align: left;
}

/* conteúdo em grade: texto à esquerda, etapas à direita, aviso embaixo */
html body .dv-checkout .dv-ck-hero-inner {
    display: grid;
    grid-template-columns: 1fr auto;
    grid-template-areas:
        "badge steps"
        "title steps"
        "sub   steps"
        "note  note";
    align-items: center;
    column-gap: 40px;
}

html body .dv-checkout .dv-ck-badge {
    grid-area: badge;
    justify-self: start;
    margin: 0 0 8px;
    padding: 4px 12px;
    font-size: 11.5px;
}

html body .dv-checkout .dv-ck-title {
    grid-area: title;
    margin: 0 0 4px;
    font-size: clamp(22px, 2.6vw, 30px);
}

html body .dv-checkout .dv-ck-sub {
    grid-area: sub;
    justify-self: start;
    margin: 0;
    font-size: 14px;
}

/* etapas compactas, à direita */
html body .dv-checkout .dv-ck-steps {
    grid-area: steps;
    width: 340px;
    max-width: 100%;
    margin: 0;
}

html body .dv-checkout .dv-ck-dot {
    width: 28px;
    height: 28px;
    font-size: 12px;
}

html body .dv-checkout .dv-ck-steps li {
    gap: 6px;
}

html body .dv-checkout .dv-ck-steps li + li::before {
    top: 13px;
}

html body .dv-checkout .dv-ck-label {
    font-size: 11.5px;
}

/* aviso vira uma linha fina */
html body .dv-checkout .dv-ck-note {
    grid-area: note;
    display: flex;
    align-items: center;
    gap: 8px;
    max-width: none;
    margin: 16px 0 0;
    padding: 12px 0 0;
    border: 0;
    border-top: 1px solid rgba(255, 255, 255, .14);
    border-radius: 0;
    background: none;
    font-size: 12.5px;
    line-height: 1.4;
}

html body .dv-checkout .dv-ck-note i {
    margin-top: 0;
}

/* celular/tablet: tudo centralizado em coluna única */
@media (max-width: 767.98px) {
    html body .dv-checkout .dv-ck-hero {
        padding: 20px 16px;
        text-align: center;
    }

    html body .dv-checkout .dv-ck-hero-inner {
        grid-template-columns: 1fr;
        grid-template-areas:
            "badge"
            "title"
            "sub"
            "steps"
            "note";
        row-gap: 0;
    }

    html body .dv-checkout .dv-ck-badge,
    html body .dv-checkout .dv-ck-sub {
        justify-self: center;
    }

    html body .dv-checkout .dv-ck-steps {
        width: 100%;
        max-width: 320px;
        margin: 16px auto 0;
    }

    html body .dv-checkout .dv-ck-note {
        justify-content: center;
        text-align: left;
    }
}
/* ==========================================================
   CHECKOUT — ÁREA DE PAGAMENTO (livewire/checkout.blade.php)
   Cole no FINAL do divulgaae.css, depois dos blocos do checkout.
   ========================================================== */

/* ---------- caixas ---------- */
html body .dv-pay .card-v {
    border: 1px solid #e7e1f7 !important;
    border-radius: 22px !important;
    background: #fff !important;
    box-shadow: 0 10px 34px rgba(36, 16, 68, .06);
}

/* ---------- cabeçalho das caixas ---------- */
html body .dv-pay .dv-pay-head {
    display: flex;
    align-items: center;
    gap: 14px;
    margin-bottom: 22px;
}

html body .dv-pay .dv-pay-step {
    display: grid;
    flex: 0 0 38px;
    place-items: center;
    width: 38px;
    height: 38px;
    border-radius: 12px;
    background: linear-gradient(135deg, #8b5cf6, #6d28d9);
    color: #fff;
    font-size: 15px;
    font-weight: 800;
    box-shadow: 0 8px 18px rgba(109, 40, 217, .3);
}

html body .dv-pay .dv-pay-title {
    margin: 0;
    color: #1a1230;
    font-size: 18px;
    font-weight: 700;
    line-height: 1.2;
}

html body .dv-pay .dv-pay-hint {
    margin: 3px 0 0;
    color: #8a82a8;
    font-size: 13px;
}

/* ---------- métodos de pagamento ---------- */
html body .dv-pay .payment-method {
    position: relative;
    min-height: 104px;
    border: 1.5px solid #e7e1f7;
    border-radius: 18px;
    background: #fff;
    transition: border-color .2s, background .2s, box-shadow .2s, transform .2s;
}

html body .dv-pay .payment-method:hover {
    border-color: #c4b5fd;
    background: #fcfaff;
    transform: translateY(-3px);
    box-shadow: 0 12px 26px rgba(109, 40, 217, .12);
}

html body .dv-pay .payment-method:has(input:checked) {
    border-color: #8b5cf6;
    background: linear-gradient(135deg, #faf7ff, #f1eaff);
    box-shadow: 0 0 0 4px rgba(139, 92, 246, .16), 0 12px 26px rgba(109, 40, 217, .14);
}

html body .dv-pay .payment-method .form-check-input {
    accent-color: #8b5cf6;
}

html body .dv-pay .payment-method .form-check-input:checked {
    border-color: #8b5cf6;
    background-color: #8b5cf6;
}

html body .dv-pay .payment-method .payment-img img {
    max-width: 100%;
    object-fit: contain;
}

/* ---------- bloco SSL ---------- */
html body .dv-pay .dv-ssl {
    background: linear-gradient(135deg, #f6fff9, #ffffff) !important;
    border-color: #c7efd5 !important;
}

html body .dv-pay .dv-ssl-main {
    display: flex;
    align-items: center;
    gap: 16px;
}

html body .dv-pay .dv-ssl-icon {
    display: grid;
    flex: 0 0 54px;
    place-items: center;
    width: 54px;
    height: 54px;
    border-radius: 16px;
    background: linear-gradient(135deg, #22c55e, #15803d);
    color: #fff;
    font-size: 22px;
    box-shadow: 0 10px 22px rgba(22, 163, 74, .3);
}

html body .dv-pay .dv-ssl-title {
    display: block;
    color: #14532d;
    font-size: 13px;
    font-weight: 800;
    letter-spacing: .04em;
    text-transform: uppercase;
}

html body .dv-pay .dv-ssl-text {
    margin: 4px 0 0;
    color: #5b6b62;
    font-size: 13.5px;
    line-height: 1.5;
}

html body .dv-pay .dv-ssl-chips {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin: 18px 0 0;
    padding: 0;
    list-style: none;
}

html body .dv-pay .dv-ssl-chips li {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    padding: 7px 13px;
    border: 1px solid #d3efde;
    border-radius: 999px;
    background: #fff;
    color: #166534;
    font-size: 12px;
    font-weight: 600;
}

html body .dv-pay .dv-ssl-chips i {
    color: #16a34a;
    font-size: 11px;
}

/* ---------- resumo do pedido ---------- */
html body .dv-pay .dv-pay-aside {
    position: static;
}

@media (min-width: 1200px) {
    html body .dv-pay .dv-pay-aside {
        position: sticky;
        top: 24px;
    }
}

html body .dv-pay .dv-sum-item {
    display: grid;
    grid-template-columns: 72px 1fr auto;
    align-items: center;
    gap: 14px;
    padding: 14px 0;
    border-bottom: 1px dashed #e7e1f7;
}

html body .dv-pay .dv-sum-thumb {
    display: block;
    width: 72px;
    aspect-ratio: 16 / 10;
    overflow: hidden;
    border: 1px solid #ece8f7;
    border-radius: 12px;
    background: #f1eaff;
}

html body .dv-pay .dv-sum-thumb img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

html body .dv-pay .dv-sum-info {
    min-width: 0;
}

html body .dv-pay .dv-sum-name {
    display: -webkit-box;
    overflow: hidden;
    color: #1a1230;
    font-size: 14.5px;
    font-weight: 600;
    line-height: 1.35;
    text-decoration: none;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
}

html body .dv-pay .dv-sum-name:hover {
    color: #6d28d9;
}

html body .dv-pay .dv-sum-chips {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    margin-top: 8px;
}

html body .dv-pay .dv-sum-chips span {
    padding: 3px 10px;
    border-radius: 999px;
    background: #f5f0ff;
    color: #7c6fa8;
    font-size: 11.5px;
}

html body .dv-pay .dv-sum-chips b {
    color: #5b21b6;
    font-weight: 700;
}

html body .dv-pay .dv-sum-price {
    color: #1a1230;
    font-size: 16px;
    font-weight: 800;
    white-space: nowrap;
}

html body .dv-pay .dv-sum-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    padding: 14px 0;
    border-bottom: 1px dashed #e7e1f7;
    color: #4b4466;
    font-size: 14px;
}

html body .dv-pay .dv-sum-row strong {
    color: #1a1230;
    white-space: nowrap;
}

html body .dv-pay .dv-sum-lines {
    display: grid;
    gap: 12px;
    padding: 16px 0 6px;
}

html body .dv-pay .dv-sum-line {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    color: #6b6486;
    font-size: 13.5px;
}

html body .dv-pay .dv-sum-line b {
    color: #1a1230;
    font-weight: 700;
    white-space: nowrap;
}

/* total em destaque */
html body .dv-pay .dv-sum-total {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    margin-top: 18px;
    padding: 18px 20px;
    border: 1px solid #e0d4ff;
    border-radius: 18px;
    background: linear-gradient(135deg, #faf7ff, #eadfff);
}

html body .dv-pay .dv-sum-total span {
    color: #5b21b6;
    font-size: 14px;
    font-weight: 700;
}

html body .dv-pay .dv-sum-total strong {
    color: #1a1230;
    font-size: 30px;
    font-weight: 800;
    letter-spacing: -.02em;
    line-height: 1.1;
}

/* botão + selo */
html body .dv-pay .checkout-button {
    height: 58px;
    border: 0 !important;
    border-radius: 16px !important;
    background: linear-gradient(135deg, #8b5cf6, #6d28d9) !important;
    color: #fff !important;
    font-size: 16px;
    font-weight: 700;
    box-shadow: 0 14px 30px rgba(109, 40, 217, .38);
    transition: transform .2s, box-shadow .2s, filter .2s;
}

html body .dv-pay .checkout-button:hover {
    transform: translateY(-2px);
    box-shadow: 0 18px 38px rgba(109, 40, 217, .48);
    filter: brightness(1.06);
}

html body .dv-pay .dv-pay-secure {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    margin: 12px 0 0;
    color: #8a82a8;
    font-size: 12.5px;
}

html body .dv-pay .dv-pay-secure i {
    color: #16a34a;
}

/* ---------- mobile ---------- */
@media (max-width: 575.98px) {
    html body .dv-pay .dv-sum-item {
        grid-template-columns: 60px 1fr;
    }

    html body .dv-pay .dv-sum-thumb {
        width: 60px;
    }

    html body .dv-pay .dv-sum-price {
        grid-column: 2;
        justify-self: start;
    }

    html body .dv-pay .dv-sum-total strong {
        font-size: 26px;
    }
}

@media (prefers-reduced-motion: reduce) {
    html body .dv-pay .payment-method,
    html body .dv-pay .checkout-button {
        transition: none;
    }

    html body .dv-pay .payment-method:hover,
    html body .dv-pay .checkout-button:hover {
        transform: none;
    }
}
/* ==========================================================
   CHECKOUT — AJUSTE: método de pagamento + foto do produto
   Cole no FINAL do divulgaae.css, depois do bloco checkout-payment.
   ========================================================== */

/* ---------- GRADE DOS MÉTODOS DE PAGAMENTO ---------- */
html body .dv-pay .dv-pay-card .row {
    display: grid !important;
    grid-template-columns: repeat(auto-fill, minmax(200px, 240px));
    gap: 14px !important;
    margin: 0 !important;
}

html body .dv-pay .dv-pay-card .row > * {
    width: auto !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
}

/* "Saldo da conta" ocupa a linha inteira */
html body .dv-pay .dv-pay-card .row > .col-12 {
    grid-column: 1 / -1;
}

/* ---------- CARD DO MÉTODO: compacto, logo centralizado ---------- */
html body .dv-pay .payment-method {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 6px;
    min-height: 84px;
    padding: 16px 18px;
    text-align: center;
}

html body .dv-pay .payment-method .payment-img {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    margin: 0;
}

html body .dv-pay .payment-method .payment-img img {
    display: block;
    width: auto;
    max-width: 150px;
    max-height: 44px;
    object-fit: contain;
}

html body .dv-pay .payment-method > span {
    color: #6d28d9;
    font-size: 13px;
    font-weight: 700;
}

/* a label vazia cobre o card inteiro (clicar em qualquer parte seleciona) */
html body .dv-pay .payment-method .form-check-label {
    position: absolute !important;
    inset: 0;
    z-index: 2;
    margin: 0;
    border-radius: inherit;
    cursor: pointer;
}

/* radio nativo fica escondido (continua funcionando e acessível por teclado) */
html body .dv-pay .payment-method .form-check-input {
    position: absolute !important;
    top: 12px !important;
    left: 12px !important;
    right: auto !important;
    z-index: 1;
    width: 1px;
    height: 1px;
    opacity: 0;
}

/* indicador de seleção no canto: círculo vazio -> check roxo */
html body .dv-pay .payment-method::before {
    content: "";
    position: absolute;
    top: 10px;
    right: 10px;
    z-index: 1;
    width: 20px;
    height: 20px;
    border: 2px solid #d9d2f0;
    border-radius: 50%;
    background: #fff;
    color: #fff;
    font-size: 12px;
    font-weight: 700;
    line-height: 16px;
    text-align: center;
    pointer-events: none;
    transition: background .2s, border-color .2s;
}

html body .dv-pay .payment-method:has(input:checked)::before {
    content: "✓";
    border-color: #8b5cf6;
    background: linear-gradient(135deg, #8b5cf6, #6d28d9);
}

html body .dv-pay .payment-method:has(input:focus-visible) {
    outline: 2px solid #8b5cf6;
    outline-offset: 3px;
}

/* ---------- FOTO DO PRODUTO NO RESUMO ---------- */
html body .dv-pay .dv-sum-item {
    grid-template-columns: 104px 1fr auto;
    align-items: start;
    gap: 16px;
}

html body .dv-pay .dv-sum-thumb {
    width: 104px;
    aspect-ratio: 4 / 3;
    border: 1px solid #ece8f7;
    border-radius: 14px;
    box-shadow: 0 6px 16px rgba(36, 16, 68, .12);
}

html body .dv-pay .dv-sum-price {
    padding-top: 2px;
}

@media (max-width: 575.98px) {
    html body .dv-pay .dv-pay-card .row {
        grid-template-columns: 1fr;
    }

    html body .dv-pay .dv-sum-item {
        grid-template-columns: 76px 1fr;
        gap: 12px;
    }

    html body .dv-pay .dv-sum-thumb {
        width: 76px;
        border-radius: 12px;
    }
}

@media (prefers-reduced-motion: reduce) {
    html body .dv-pay .payment-method::before {
        transition: none;
    }
}

/* ==========================================================
   NAVBAR — AJUSTE DO MENU DO USUÁRIO (faixa roxa fina)
   Cole no FINAL do divulgaae.css.
   ========================================================== */

/* botão do usuário: avatar + nome + seta, alinhados na altura da faixa */
html body .dv-nav-top .nav-bar-actions .drop-down-btn {
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
    height: 36px !important;
    padding: 0 !important;
    color: #fff !important;
    line-height: 1 !important;
}

/* foto: pequena, redonda e dentro da faixa */
html body .dv-nav-top .nav-bar-actions .drop-down-btn .user-avatar,
html body .dv-nav-top .nav-bar-actions .drop-down-btn img {
    display: block !important;
    flex: 0 0 26px !important;
    width: 26px !important;
    height: 26px !important;
    min-width: 26px !important;
    max-width: 26px !important;
    max-height: 26px !important;
    margin: 0 !important;
}

html body .dv-nav-top .nav-bar-actions .drop-down-btn img {
    border: 2px solid rgba(255, 255, 255, .65) !important;
    border-radius: 50% !important;
    object-fit: cover !important;
}

html body .dv-nav-top .nav-bar-actions .drop-down-btn .user-avatar {
    overflow: hidden;
    border-radius: 50% !important;
}

/* nome e seta em branco, no tamanho da faixa */
html body .dv-nav-top .nav-bar-actions .drop-down-btn span,
html body .dv-nav-top .nav-bar-actions .drop-down-btn strong,
html body .dv-nav-top .nav-bar-actions .drop-down-btn h6 {
    margin: 0 !important;
    color: #fff !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    line-height: 1 !important;
    white-space: nowrap !important;
}

html body .dv-nav-top .nav-bar-actions .drop-down-btn i {
    margin: 0 !important;
    color: #e9ddff !important;
    font-size: 12px !important;
}

/* o menu que abre ao clicar fica por cima de tudo */
html body .dv-nav-top .nav-bar-actions .drop-down-menu {
    z-index: 200 !important;
}

/* celular: só a foto e a seta */
@media (max-width: 575.98px) {
    html body .dv-nav-top .nav-bar-actions .drop-down-btn span,
    html body .dv-nav-top .nav-bar-actions .drop-down-btn strong,
    html body .dv-nav-top .nav-bar-actions .drop-down-btn h6 {
        display: none !important;
    }
    /* tira a caixa do <li> ativo; o chip fica só no <span> */
html body nav .breadcrumb.custom li.breadcrumb-item.active {
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: none !important;
    box-shadow: none !important;
}
/* ===== CARRINHO NA FAIXA ROXA: mais ajustado ===== */
html body .dv-nav-top .nav-bar-buttons{
    gap:12px !important;               /* mais espaço entre Premium e carrinho */
}

html body .dv-nav-top .cart-btn{
    position:relative !important;
    display:inline-flex !important;
    align-items:center !important;
    margin:0 6px 0 2px !important;     /* afasta das pontas */
}

html body .dv-nav-top .cart-btn .btn-padding{
    width:30px !important;
    height:26px !important;
}

/* contador: pequeno, dentro da faixa, sem encostar na borda */
html body .dv-nav-top .cart-counter{
    position:absolute !important;
    top:-3px !important;
    right:-7px !important;
    min-width:15px !important;
    height:15px !important;
    padding:0 4px !important;
    border:1.5px solid #3b1a73 !important;   /* recorte na cor da faixa */
    border-radius:999px !important;
    font-size:9.5px !important;
    font-weight:700 !important;
    line-height:12px !important;
    text-align:center !important;
}

/* espaço entre o carrinho e o menu do usuário */

}  /* fecha o @media (max-width: 575.98px) do menu do usuário */


/* ==========================================================
   CARRINHO NA FAIXA ROXA (ajuste final)
   ========================================================== */

html body .dv-nav-top .nav-bar-buttons{
    gap: 12px !important;
}

html body .dv-nav-top .cart-btn{
    position: relative !important;
    display: inline-flex !important;
    align-items: center !important;
    margin: 0 8px 0 2px !important;
}

/* botão do carrinho: redondo, com contorno, igual ao Premium */
html body .dv-nav-top .cart-btn .btn-padding{
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 30px !important;
    height: 26px !important;
    padding: 0 !important;
    border: 1px solid rgba(255,255,255,.45) !important;
    border-radius: 999px !important;
    background: transparent !important;
    color: #fff !important;
}

html body .dv-nav-top .cart-btn .btn-padding:hover{
    border-color: #fff !important;
    background: rgba(255,255,255,.14) !important;
}

/* contador: dentro da faixa, no canto do botão, sem encostar na borda */
html body .dv-nav-top .cart-counter{
    position: absolute !important;
    top: 50% !important;
    right: -9px !important;
    transform: translateY(-85%) !important;
    min-width: 16px !important;
    height: 16px !important;
    padding: 0 4px !important;
    border: 1.5px solid #3b1a73 !important;
    border-radius: 999px !important;
    background: #8b5cf6 !important;
    color: #fff !important;
    font-size: 9.5px !important;
    font-weight: 700 !important;
    line-height: 13px !important;
    text-align: center !important;
    pointer-events: none !important;
}

html body .dv-nav-top .nav-bar-actions{
    gap: 12px !important;
}

/* chip do breadcrumb: tira a caixa do <li> ativo, o chip fica só no <span> */
html body nav .breadcrumb.custom li.breadcrumb-item.active{
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: none !important;
    box-shadow: none !important;
}
/* ==========================================================
   PLANOS PREMIUM — cole no FINAL do divulgaae.css
   (fora de qualquer @media; confira se as chaves acima fecham)
   ========================================================== */

/* ---------- card base ---------- */
html body .plan.dv-plan {
    position: relative;
    display: flex;
    flex-direction: column;
    height: 100%;
    padding: 32px 28px 28px;
    border: 1px solid #e7e1f7 !important;
    border-radius: 24px !important;
    background: #fff !important;
    box-shadow: 0 2px 6px rgba(36, 16, 68, .04), 0 10px 30px rgba(36, 16, 68, .06) !important;
    transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease;
}

html body .plan.dv-plan:hover {
    transform: translateY(-4px);
    border-color: #d9ccff !important;
    box-shadow: 0 4px 10px rgba(109, 40, 217, .06), 0 20px 44px rgba(109, 40, 217, .14) !important;
}

html body .dv-plan .dv-plan-name {
    margin: 0 0 14px;
    color: #1a1230;
    font-size: 18px;
    font-weight: 700;
    letter-spacing: -.01em;
}

/* ---------- preço ---------- */
html body .dv-plan .dv-plan-price {
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    gap: 4px 6px;
    margin: 0 0 12px !important;
    color: #1a1230;
}

html body .dv-plan .dv-plan-price strong {
    font-size: 40px;
    font-weight: 800;
    line-height: 1.05;
    letter-spacing: -.03em;
}

html body .dv-plan .dv-plan-price span {
    color: #8a82a8;
    font-size: 14px;
    font-weight: 600;
}

html body .dv-plan .dv-plan-text {
    min-height: 3em;
    margin: 0 0 22px;
    color: #6b6486;
    font-size: 14px;
    line-height: 1.6;
}

/* ---------- botões ---------- */
html body .dv-plan .dv-plan-form {
    margin: 0;
}

html body .dv-plan .dv-plan-form .btn {
    height: 52px;
    padding: 0 18px;
    border-radius: 14px !important;
    font-size: 15px;
    font-weight: 700;
    transition: transform .2s, box-shadow .2s, background .2s, filter .2s;
}

html body .dv-plan .dv-plan-form .btn-primary {
    border: 0 !important;
    background: linear-gradient(135deg, #8b5cf6, #6d28d9) !important;
    color: #fff !important;
    box-shadow: 0 10px 24px rgba(109, 40, 217, .3);
}

html body .dv-plan .dv-plan-form .btn-primary:hover:not(:disabled) {
    transform: translateY(-2px);
    box-shadow: 0 14px 30px rgba(109, 40, 217, .4);
    filter: brightness(1.05);
}

html body .dv-plan .dv-plan-form .btn-outline-primary {
    border: 1.5px solid #c4b5fd !important;
    background: #fff !important;
    color: #6d28d9 !important;
}

html body .dv-plan .dv-plan-form .btn-outline-primary:hover:not(:disabled) {
    border-color: #8b5cf6 !important;
    background: #f5f0ff !important;
}

html body .dv-plan .dv-plan-form .btn:disabled {
    opacity: .6;
}

/* ---------- lista de benefícios ---------- */
html body .dv-plan .dv-plan-features {
    display: grid;
    gap: 14px;
    margin-top: 26px;
    padding-top: 24px;
    border-top: 1px dashed #e7e1f7;
}

html body .dv-plan .plan-feat {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    color: #4b4466;
    font-size: 14px;
    line-height: 1.45;
}

html body .dv-plan .plan-feat-icon {
    display: grid;
    flex: 0 0 22px;
    place-items: center;
    width: 22px;
    height: 22px;
    margin-top: 1px;
    border-radius: 50%;
    background: #f1eaff;
    color: #7c3aed;
    font-size: 10px;
}

/* ---------- selo "Destaque" ---------- */
html body .dv-plan .dv-plan-badge {
    position: absolute;
    top: -14px;
    left: 50%;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 6px 16px;
    border: 0;
    border-radius: 999px;
    background: linear-gradient(135deg, #fbbf24, #d97706);
    color: #fff;
    font-size: 12px;
    font-weight: 700;
    line-height: 1.2;
    white-space: nowrap;
    box-shadow: 0 8px 18px rgba(217, 119, 6, .35);
    transform: translateX(-50%);
}

/* ---------- plano em destaque: igual ao hero do site ---------- */
html body .plan.dv-plan.dv-plan-featured {
    overflow: hidden;
    border-color: transparent !important;
    background:
        radial-gradient(70% 50% at 50% 0%, #2a1360 0%, transparent 70%),
        #0b0618 !important;
    box-shadow: 0 0 0 1px rgba(139, 92, 246, .5), 0 24px 60px rgba(109, 40, 217, .35) !important;
}

html body .plan.dv-plan.dv-plan-featured:hover {
    border-color: transparent !important;
    box-shadow: 0 0 0 1px rgba(167, 139, 250, .8), 0 30px 70px rgba(109, 40, 217, .45) !important;
}

/* o selo precisa sair da caixa: overflow só no brilho, não no card */
html body .plan.dv-plan.dv-plan-featured {
    overflow: visible;
}

html body .dv-plan-featured .dv-plan-name,
html body .dv-plan-featured .dv-plan-price {
    color: #fff;
}

html body .dv-plan-featured .dv-plan-price span {
    color: #b9aee0;
}

html body .dv-plan-featured .dv-plan-text {
    color: #b9aee0;
}

html body .dv-plan-featured .dv-plan-form .btn-primary {
    background: #fff !important;
    color: #5b21b6 !important;
    box-shadow: 0 10px 28px rgba(139, 92, 246, .45);
}

html body .dv-plan-featured .dv-plan-features {
    border-top-color: rgba(255, 255, 255, .14);
}

html body .dv-plan-featured .plan-feat {
    color: #e9ddff;
}

html body .dv-plan-featured .plan-feat-icon {
    background: rgba(139, 92, 246, .35);
    color: #fff;
}

/* ---------- foco e movimento ---------- */
html body .dv-plan a:focus-visible,
html body .dv-plan button:focus-visible {
    outline: 2px solid #8b5cf6;
    outline-offset: 3px;
}

@media (max-width: 575.98px) {
    html body .plan.dv-plan {
        padding: 28px 20px 22px;
    }

    html body .dv-plan .dv-plan-price strong {
        font-size: 34px;
    }
}

@media (prefers-reduced-motion: reduce) {
    html body .plan.dv-plan,
    html body .dv-plan .dv-plan-form .btn {
        transition: none;
    }

    html body .plan.dv-plan:hover,
    html body .dv-plan .dv-plan-form .btn-primary:hover:not(:disabled) {
        transform: none;
    }
}
/* ==========================================================
   COMPARTILHAR — cole no FINAL do divulgaae.css (fora de @media)
   Se já colou a versão anterior, apague-a e use esta.
   ========================================================== */

html body .socials.dv-share {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: flex-start !important;
    gap: 10px 14px;
    width: 100%;
}

html body .dv-share .dv-share-label {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    color: #6b6486;
    font-size: 13px;
    font-weight: 600;
}

html body .dv-share .dv-share-label i {
    color: #8b5cf6;
}

/* 6 botões sempre em UMA linha, encolhendo se o espaço for pequeno */
html body .dv-share .dv-share-list {
    display: grid;
    grid-template-columns: repeat(6, minmax(0, 40px));
    gap: 8px;
    flex: 1 1 auto;
    justify-content: start;
}

html body .dv-share .social-btn {
    display: inline-grid !important;
    place-items: center;
    width: 100% !important;
    max-width: 40px;
    height: auto !important;
    aspect-ratio: 1;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 50% !important;
    color: #fff !important;
    font-size: 15px;
    line-height: 1;
    text-decoration: none;
    cursor: pointer;
    transition: transform .2s, box-shadow .2s, filter .2s;
}

/* cores das marcas, fixas */
html body .dv-share .social-whatsapp  { background: #25d366 !important; }
html body .dv-share .social-facebook  { background: #1877f2 !important; }
html body .dv-share .social-x         { background: #111 !important; }
html body .dv-share .social-linkedin  { background: #0a66c2 !important; }
html body .dv-share .social-pinterest { background: #e60023 !important; }

/* copiar link: roxo do site */
html body .dv-share .social-copy {
    border: 1px solid #d9ccff !important;
    background: #f5f0ff !important;
    color: #6d28d9 !important;
}

html body .dv-share .social-btn:hover,
html body .dv-share .social-btn:focus-visible {
    transform: translateY(-3px);
    box-shadow: 0 8px 18px rgba(36, 16, 68, .25);
    filter: brightness(1.08);
}

html body .dv-share .social-copy:hover,
html body .dv-share .social-copy:focus-visible {
    background: #8b5cf6 !important;
    color: #fff !important;
}

html body .dv-share .social-copy.is-copied {
    border-color: transparent !important;
    background: #16a34a !important;
    color: #fff !important;
}

html body .dv-share .social-btn:focus-visible {
    outline: 2px solid #8b5cf6;
    outline-offset: 3px;
}

@media (prefers-reduced-motion: reduce) {
    html body .dv-share .social-btn {
        transition: none;
    }

    html body .dv-share .social-btn:hover,
    html body .dv-share .social-btn:focus-visible {
        transform: none;
    }
}
/* ==========================================================
   PESQUISA / LISTA DE PRODUTOS — cole no FINAL do divulgaae.css
   (fora de qualquer @media)
   ========================================================== */

/* ---------- barra de resultados ---------- */
html body .dv-results-bar {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 10px 16px;
    margin-bottom: 18px;
    padding: 12px 16px;
    border: 1px solid #e7e1f7;
    border-radius: 16px;
    background: #faf8ff;
}

html body .dv-results-text {
    display: flex;
    align-items: center;
    gap: 10px;
    margin: 0;
    color: #4b4466;
    font-size: 14px;
}

html body .dv-results-text i {
    color: #8b5cf6;
}

html body .dv-results-text strong {
    color: #1a1230;
    font-weight: 800;
}

html body .dv-results-text em {
    color: #6d28d9;
    font-style: normal;
    font-weight: 600;
    word-break: break-word;
}

html body .dv-results-clear {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    height: 34px;
    padding: 0 14px;
    border: 1px solid #d9ccff;
    border-radius: 999px;
    background: #fff;
    color: #6d28d9;
    font-size: 12.5px;
    font-weight: 600;
    text-decoration: none;
    transition: background .2s, color .2s;
}

html body .dv-results-clear:hover {
    background: #f5f0ff;
    color: #5b21b6;
}

/* ---------- nada encontrado ---------- */
html body .dv-empty {
    max-width: 640px;
    margin: 0 auto;
    padding: 48px 28px;
    border: 1px solid #e7e1f7;
    border-radius: 24px;
    background: #fff;
    box-shadow: 0 8px 28px rgba(36, 16, 68, .05);
    text-align: center;
}

html body .dv-empty-icon {
    display: inline-grid;
    place-items: center;
    width: 88px;
    height: 88px;
    margin-bottom: 20px;
    border-radius: 50%;
    background: linear-gradient(135deg, #f5f0ff, #e7dcff);
    color: #8b5cf6;
    font-size: 34px;
}

html body .dv-empty-title {
    margin: 0 0 10px;
    color: #1a1230;
    font-size: 22px;
    font-weight: 800;
    letter-spacing: -.01em;
    word-break: break-word;
}

html body .dv-empty-text {
    max-width: 440px;
    margin: 0 auto 20px;
    color: #6b6486;
    font-size: 15px;
    line-height: 1.6;
}

html body .dv-empty-tips {
    display: inline-grid;
    gap: 10px;
    margin: 0 0 26px;
    padding: 16px 20px;
    border: 1px solid #ece8f7;
    border-radius: 16px;
    background: #faf8ff;
    list-style: none;
    text-align: left;
}

html body .dv-empty-tips li {
    display: flex;
    align-items: center;
    gap: 10px;
    color: #4b4466;
    font-size: 13.5px;
}

html body .dv-empty-tips i {
    display: grid;
    flex: 0 0 20px;
    place-items: center;
    width: 20px;
    height: 20px;
    border-radius: 50%;
    background: #f1eaff;
    color: #7c3aed;
    font-size: 9px;
}

html body .dv-empty-actions {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    gap: 10px;
}

html body .dv-empty-actions .btn {
    height: 46px;
    padding: 0 22px;
    border-radius: 999px !important;
    font-weight: 700;
}

html body .dv-empty-actions .btn-primary {
    border: 0 !important;
    background: linear-gradient(135deg, #8b5cf6, #6d28d9) !important;
    color: #fff !important;
    box-shadow: 0 10px 24px rgba(109, 40, 217, .3);
}

/* ---------- paginação ---------- */
html body .dv-pagination {
    display: flex;
    justify-content: center;
    margin-top: 32px;
}

html body .dv-pagination .pagination {
    flex-wrap: wrap;
    justify-content: center;
    gap: 6px;
    margin: 0;
}

html body .dv-pagination .page-item .page-link {
    display: grid;
    place-items: center;
    min-width: 40px;
    height: 40px;
    padding: 0 12px;
    border: 1px solid #e7e1f7 !important;
    border-radius: 12px !important;
    background: #fff;
    color: #4b4466;
    font-size: 14px;
    font-weight: 600;
    box-shadow: none;
    transition: background .2s, color .2s, border-color .2s;
}

html body .dv-pagination .page-item .page-link:hover {
    border-color: #d9ccff !important;
    background: #f5f0ff;
    color: #6d28d9;
}

html body .dv-pagination .page-item.active .page-link {
    border-color: transparent !important;
    background: linear-gradient(135deg, #8b5cf6, #6d28d9);
    color: #fff;
    box-shadow: 0 8px 18px rgba(109, 40, 217, .3);
}

html body .dv-pagination .page-item.disabled .page-link {
    background: #faf8ff;
    color: #b9aee0;
}

@media (max-width: 575.98px) {
    html body .dv-empty {
        padding: 36px 18px;
    }

    html body .dv-results-bar {
        padding: 12px;
    }
}
/* ==========================================================
   FILTROS DA PESQUISA — cole no FINAL do divulgaae.css
   (fora de qualquer @media)
   ========================================================== */

/* ---------- faixa "N filtros ativos" ---------- */
html body .dv-filter-active {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    margin-bottom: 14px;
    padding: 10px 14px;
    border: 1px solid #d9ccff;
    border-radius: 14px;
    background: #f5f0ff;
    color: #4b4466;
    font-size: 13px;
}

html body .dv-filter-active i {
    margin-right: 6px;
    color: #8b5cf6;
}

html body .dv-filter-active strong {
    color: #5b21b6;
}

html body .dv-filter-active a {
    color: #6d28d9;
    font-weight: 700;
    text-decoration: none;
    white-space: nowrap;
}

html body .dv-filter-active a:hover {
    text-decoration: underline;
}

/* ---------- caixa recolhível ---------- */
html body .dv-filter {
    margin-bottom: 14px;
    border: 1px solid #e7e1f7;
    border-radius: 18px;
    background: #fff;
    box-shadow: 0 6px 20px rgba(36, 16, 68, .04);
    overflow: hidden;
}

html body .dv-filter > summary {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    padding: 16px 18px;
    color: #1a1230;
    font-size: 15px;
    font-weight: 700;
    list-style: none;
    cursor: pointer;
    user-select: none;
}

html body .dv-filter > summary::-webkit-details-marker {
    display: none;
}

html body .dv-filter > summary::after {
    content: "";
    flex: 0 0 8px;
    width: 8px;
    height: 8px;
    margin-right: 4px;
    border-right: 2px solid #8b5cf6;
    border-bottom: 2px solid #8b5cf6;
    transform: rotate(45deg);
    transition: transform .2s;
}

html body .dv-filter[open] > summary::after {
    margin-top: 4px;
    transform: rotate(-135deg);
}

html body .dv-filter > summary:focus-visible {
    outline: 2px solid #8b5cf6;
    outline-offset: -2px;
}

html body .dv-filter-body {
    display: grid;
    gap: 2px;
    padding: 0 12px 14px;
}

/* ---------- itens: checkbox / radio ---------- */
html body .dv-filter .filter-item {
    margin: 0 !important;
}

html body .dv-filter .form-check {
    display: flex;
    align-items: center;
    gap: 10px;
    margin: 0;
    padding: 0;
}

html body .dv-filter .form-check-input {
    flex: 0 0 18px;
    width: 18px;
    height: 18px;
    margin: 0;
    float: none;
    border: 1.5px solid #cfc4ee;
    accent-color: #8b5cf6;
    cursor: pointer;
}

html body .dv-filter .form-check-input:checked {
    border-color: #8b5cf6;
    background-color: #8b5cf6;
}

html body .dv-filter .form-check-input:focus {
    box-shadow: 0 0 0 3px rgba(139, 92, 246, .2);
}

html body .dv-filter .form-check-label {
    flex: 1;
    padding: 8px 6px;
    border-radius: 10px;
    color: #4b4466;
    font-size: 14px;
    cursor: pointer;
    transition: background .2s, color .2s;
}

html body .dv-filter .form-check:hover .form-check-label {
    background: #faf8ff;
    color: #6d28d9;
}

html body .dv-filter .form-check-input:checked + .form-check-label {
    color: #5b21b6;
    font-weight: 600;
}

html body .dv-stars-row {
    display: inline-flex;
    align-items: center;
    gap: 8px;
}

/* ---------- subcategorias ---------- */
html body .dv-filter .dv-filter-link {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    padding: 9px 10px;
    border-radius: 10px;
    color: #4b4466 !important;
    font-size: 14px;
    text-decoration: none;
    transition: background .2s, color .2s;
}

html body .dv-filter .dv-filter-link i {
    color: #b9aee0;
    font-size: 11px;
}

html body .dv-filter .dv-filter-link:hover {
    background: #f5f0ff;
    color: #6d28d9 !important;
}

/* ---------- preço ---------- */
html body .dv-filter .dv-price-range {
    display: flex;
    align-items: center;
    gap: 8px;
    padding-top: 4px;
}

html body .dv-filter .dv-price-range > span {
    color: #9a93b5;
}

html body .dv-filter .dv-price-range .form-control {
    min-width: 0;
    height: 40px;
    border: 1px solid #e7e1f7;
    border-radius: 10px;
    background: #faf8ff;
    color: #1a1230;
    font-size: 13px;
}

html body .dv-filter .dv-price-range .form-control:focus {
    border-color: #8b5cf6;
    background: #fff;
    box-shadow: 0 0 0 3px rgba(139, 92, 246, .15);
}

html body .dv-filter .dv-price-range .btn {
    flex: 0 0 40px;
    width: 40px;
    height: 40px;
    padding: 0;
    border: 0 !important;
    border-radius: 10px !important;
    background: linear-gradient(135deg, #8b5cf6, #6d28d9) !important;
    color: #fff !important;
}

@media (prefers-reduced-motion: reduce) {
    html body .dv-filter > summary::after,
    html body .dv-filter .form-check-label,
    html body .dv-filter .dv-filter-link {
        transition: none;
    }
}

/* ==========================================================
   BOTÕES DO "NENHUM RESULTADO" — cole no FINAL do divulgaae.css
   (fora de qualquer @media). Corrige alinhamento e altura.
   ========================================================== */

/* os dois botões: mesma altura, texto e ícone centralizados */
html body .dv-empty-actions .btn {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 8px !important;
    height: 48px !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 24px !important;
    border-radius: 999px !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    line-height: 1 !important;
    white-space: nowrap;
}

/* ícones sem margem própria (o "gap" cuida do espaço) */
html body .dv-empty-actions .btn i {
    margin: 0 !important;
    font-size: 13px;
    line-height: 1 !important;
}

/* botão principal (Limpar pesquisa) */
html body .dv-empty-actions .btn-primary {
    border: 1.5px solid transparent !important;
    background: linear-gradient(135deg, #8b5cf6, #6d28d9) !important;
    color: #fff !important;
    box-shadow: 0 10px 24px rgba(109, 40, 217, .3);
}

/* botão secundário (Navegar pelos produtos) */
html body .dv-empty-actions .btn-outline-primary {
    border: 1.5px solid #c4b5fd !important;
    background: #fff !important;
    color: #6d28d9 !important;
    box-shadow: none;
}

html body .dv-empty-actions .btn-outline-primary:hover {
    border-color: #8b5cf6 !important;
    background: #f5f0ff !important;
    color: #5b21b6 !important;
}

/* celular: um embaixo do outro, largura total */
@media (max-width: 575.98px) {
    html body .dv-empty-actions {
        flex-direction: column;
        align-items: stretch;
    }

    html body .dv-empty-actions .btn {
        width: 100%;
    }
}

/* ==========================================================
   FAVORITOS — cole no FINAL do divulgaae.css (fora de @media)
   Usa também os estilos .dv-empty e .dv-pagination já colados antes.
   ========================================================== */

/* título com ícone e contador */
html body .dv-page-title {
    display: flex;
    align-items: center;
    gap: 10px;
    color: #1a1230;
    font-size: 18px;
    font-weight: 700;
}

html body .dv-page-title > i {
    color: #8b5cf6;
}

html body .dv-count {
    display: inline-grid;
    place-items: center;
    min-width: 26px;
    height: 26px;
    padding: 0 9px;
    border-radius: 999px;
    background: #f1eaff;
    color: #6d28d9;
    font-size: 12.5px;
    font-weight: 700;
}

/* ícone do estado vazio em tom de coração */
html body .dv-empty-icon.is-heart {
    background: linear-gradient(135deg, #fff1f6, #ffe0ec);
    color: #ec4899;
}

/* ==========================================================
   PERFIL DO VENDEDOR — cole no FINAL do divulgaae.css
   (fora de qualquer @media)
   Usa também: .dv-empty, .dv-pagination (pesquisa) e
   .dv-page-title / .dv-count (favoritos).
   ========================================================== */

/* ---------- hero (mesmo visual do hero da home) ---------- */
html body .dv-profile-hero {
    --dv-bg: #0b0618;
    --dv-mute: #b9aee0;
    --dv-line: rgba(255, 255, 255, .12);
    position: relative;
    overflow: hidden;
    margin: 16px 16px 32px;
    padding: 48px 0 0;
    border-radius: 24px;
    color: #fff;
    background:
        radial-gradient(60% 60% at 50% 0%, #2a1360 0%, transparent 70%),
        var(--dv-bg);
}

html body .dv-profile-hero::before {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
    background-image:
        linear-gradient(var(--dv-line) 1px, transparent 1px),
        linear-gradient(90deg, var(--dv-line) 1px, transparent 1px);
    background-size: 48px 48px;
    opacity: .25;
    -webkit-mask-image: radial-gradient(70% 80% at 50% 30%, #000, transparent);
    mask-image: radial-gradient(70% 80% at 50% 30%, #000, transparent);
}

html body .dv-profile-glow {
    position: absolute;
    top: -20%;
    width: 34%;
    height: 140%;
    pointer-events: none;
    filter: blur(70px);
    opacity: .7;
}

html body .dv-profile-glow-l {
    left: -12%;
    background: linear-gradient(180deg, #f0abfc, #7c3aed 60%, transparent);
}

html body .dv-profile-glow-r {
    right: -12%;
    background: linear-gradient(180deg, #a5b4fc, #8b5cf6 60%, transparent);
}

html body .dv-profile-inner {
    position: relative;
    z-index: 1;
}

html body .dv-profile-main {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 22px 26px;
    padding-bottom: 30px;
}

/* ---------- avatar ---------- */
html body .dv-profile-avatar {
    flex: 0 0 104px;
    width: 104px;
    height: 104px;
    padding: 4px;
    border-radius: 50%;
    background: linear-gradient(135deg, #f0abfc, #8b5cf6);
    box-shadow: 0 0 0 6px rgba(139, 92, 246, .25), 0 16px 40px rgba(0, 0, 0, .45);
}

html body .dv-profile-avatar img {
    display: block;
    width: 100%;
    height: 100%;
    border: 3px solid #0b0618;
    border-radius: 50%;
    object-fit: cover;
}

/* ---------- textos ---------- */
html body .dv-profile-info {
    flex: 1 1 280px;
    min-width: 0;
}

html body .dv-profile-name {
    margin: 0;
    color: #fff;
    font-size: clamp(26px, 4vw, 40px);
    font-weight: 800;
    line-height: 1.1;
    letter-spacing: -.02em;
    word-break: break-word;
}

html body .dv-profile-user {
    margin: 4px 0 0;
    color: #c4b5fd;
    font-size: 14px;
    font-weight: 600;
}

html body .dv-profile-heading {
    max-width: 640px;
    margin: 10px 0 0;
    color: var(--dv-mute);
    font-size: 15px;
    line-height: 1.6;
}

html body .dv-profile-stats {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 16px;
}

html body .dv-profile-stats span {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    padding: 6px 14px;
    border: 1px solid rgba(255, 255, 255, .18);
    border-radius: 999px;
    background: rgba(255, 255, 255, .07);
    color: #e9ddff;
    font-size: 12.5px;
    font-weight: 600;
    -webkit-backdrop-filter: blur(6px);
    backdrop-filter: blur(6px);
}

html body .dv-profile-stats i {
    color: #c4b5fd;
    font-size: 12px;
}

html body .dv-profile-stats .fa-star {
    color: #fcd34d;
}

html body .dv-profile-actions {
    flex: 0 0 auto;
}

/* ---------- abas ---------- */
html body .dv-profile-tabs {
    display: flex;
    gap: 6px;
    padding: 0 0 18px;
    overflow-x: auto;
    scrollbar-width: none;
}

html body .dv-profile-tabs::-webkit-scrollbar {
    display: none;
}

html body .dv-profile-tabs a {
    display: inline-flex;
    flex: 0 0 auto;
    align-items: center;
    gap: 8px;
    height: 40px;
    padding: 0 18px;
    border: 1px solid rgba(255, 255, 255, .16);
    border-radius: 999px;
    background: rgba(255, 255, 255, .06);
    color: #e9ddff;
    font-size: 13.5px;
    font-weight: 600;
    text-decoration: none;
    transition: background .2s, color .2s, border-color .2s;
}

html body .dv-profile-tabs a i {
    font-size: 12px;
}

html body .dv-profile-tabs a:hover {
    border-color: rgba(255, 255, 255, .4);
    background: rgba(255, 255, 255, .14);
    color: #fff;
}

html body .dv-profile-tabs a.is-active {
    border-color: #fff;
    background: #fff;
    color: #5b21b6;
    box-shadow: 0 8px 20px rgba(139, 92, 246, .4);
}

html body .dv-profile-tabs a:focus-visible {
    outline: 2px solid #c4b5fd;
    outline-offset: 2px;
}

/* ---------- card de seguidor / seguindo ---------- */
html body .dv-user-card {
    display: flex;
    flex-direction: column;
    align-items: center;
    height: 100%;
    padding: 26px 18px 22px;
    border: 1px solid #e7e1f7;
    border-radius: 20px;
    background: #fff;
    box-shadow: 0 2px 6px rgba(36, 16, 68, .04), 0 10px 30px rgba(36, 16, 68, .06);
    text-align: center;
    transition: transform .25s, box-shadow .25s, border-color .25s;
}

html body .dv-user-card:hover {
    transform: translateY(-4px);
    border-color: #d9ccff;
    box-shadow: 0 20px 44px rgba(109, 40, 217, .14);
}

html body .dv-user-avatar {
    display: block;
    width: 80px;
    height: 80px;
    margin-bottom: 14px;
    padding: 3px;
    border-radius: 50%;
    background: linear-gradient(135deg, #f0abfc, #8b5cf6);
}

html body .dv-user-avatar img {
    display: block;
    width: 100%;
    height: 100%;
    border: 3px solid #fff;
    border-radius: 50%;
    object-fit: cover;
}

html body .dv-user-name {
    max-width: 100%;
    overflow: hidden;
    color: #1a1230;
    font-size: 15px;
    font-weight: 700;
    text-decoration: none;
    text-overflow: ellipsis;
    white-space: nowrap;
}

html body .dv-user-name:hover {
    color: #6d28d9;
}

html body .dv-user-since {
    margin: 4px 0 14px;
    color: #8a82a8;
    font-size: 12px;
}

html body .dv-user-follow {
    margin-top: auto;
}

/* ---------- celular ---------- */
@media (max-width: 767.98px) {
    html body .dv-profile-hero {
        margin: 8px 8px 24px;
        padding-top: 32px;
        border-radius: 18px;
    }

    html body .dv-profile-main {
        flex-direction: column;
        align-items: center;
        text-align: center;
    }

    html body .dv-profile-stats {
        justify-content: center;
    }

    html body .dv-profile-heading {
        margin-right: auto;
        margin-left: auto;
    }

    html body .dv-profile-tabs {
        padding-bottom: 14px;
    }
}

@media (prefers-reduced-motion: reduce) {
    html body .dv-profile-tabs a,
    html body .dv-user-card {
        transition: none;
    }

    html body .dv-user-card:hover {
        transform: none;
    }
}
/* ==========================================================
   PERFIL DO VENDEDOR — cole no FINAL do divulgaae.css
   (fora de qualquer @media)
   Usa também: .dv-empty, .dv-pagination (pesquisa) e
   .dv-page-title / .dv-count (favoritos).
   ========================================================== */

/* ---------- hero (mesmo visual do hero da home) ---------- */
html body .dv-profile-hero {
    --dv-bg: #0b0618;
    --dv-mute: #b9aee0;
    --dv-line: rgba(255, 255, 255, .12);
    position: relative;
    overflow: hidden;
    margin: 16px 16px 32px;
    padding: 48px 0 0;
    border-radius: 24px;
    color: #fff;
    background:
        radial-gradient(60% 60% at 50% 0%, #2a1360 0%, transparent 70%),
        var(--dv-bg);
}

html body .dv-profile-hero::before {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
    background-image:
        linear-gradient(var(--dv-line) 1px, transparent 1px),
        linear-gradient(90deg, var(--dv-line) 1px, transparent 1px);
    background-size: 48px 48px;
    opacity: .25;
    -webkit-mask-image: radial-gradient(70% 80% at 50% 30%, #000, transparent);
    mask-image: radial-gradient(70% 80% at 50% 30%, #000, transparent);
}

html body .dv-profile-glow {
    position: absolute;
    top: -20%;
    width: 34%;
    height: 140%;
    pointer-events: none;
    filter: blur(70px);
    opacity: .7;
}

html body .dv-profile-glow-l {
    left: -12%;
    background: linear-gradient(180deg, #f0abfc, #7c3aed 60%, transparent);
}

html body .dv-profile-glow-r {
    right: -12%;
    background: linear-gradient(180deg, #a5b4fc, #8b5cf6 60%, transparent);
}

html body .dv-profile-inner {
    position: relative;
    z-index: 1;
}

html body .dv-profile-main {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 22px 26px;
    padding-bottom: 30px;
}

/* ---------- avatar ---------- */
html body .dv-profile-avatar {
    flex: 0 0 104px;
    width: 104px;
    height: 104px;
    padding: 4px;
    border-radius: 50%;
    background: linear-gradient(135deg, #f0abfc, #8b5cf6);
    box-shadow: 0 0 0 6px rgba(139, 92, 246, .25), 0 16px 40px rgba(0, 0, 0, .45);
}

html body .dv-profile-avatar img {
    display: block;
    width: 100%;
    height: 100%;
    border: 3px solid #0b0618;
    border-radius: 50%;
    object-fit: cover;
}

/* ---------- textos ---------- */
html body .dv-profile-info {
    flex: 1 1 280px;
    min-width: 0;
}

html body .dv-profile-name {
    margin: 0;
    color: #fff;
    font-size: clamp(26px, 4vw, 40px);
    font-weight: 800;
    line-height: 1.1;
    letter-spacing: -.02em;
    word-break: break-word;
}

html body .dv-profile-user {
    margin: 4px 0 0;
    color: #c4b5fd;
    font-size: 14px;
    font-weight: 600;
}

html body .dv-profile-heading {
    max-width: 640px;
    margin: 10px 0 0;
    color: var(--dv-mute);
    font-size: 15px;
    line-height: 1.6;
}

html body .dv-profile-stats {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 16px;
}

html body .dv-profile-stats span {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    padding: 6px 14px;
    border: 1px solid rgba(255, 255, 255, .18);
    border-radius: 999px;
    background: rgba(255, 255, 255, .07);
    color: #e9ddff;
    font-size: 12.5px;
    font-weight: 600;
    -webkit-backdrop-filter: blur(6px);
    backdrop-filter: blur(6px);
}

html body .dv-profile-stats i {
    color: #c4b5fd;
    font-size: 12px;
}

html body .dv-profile-stats .fa-star {
    color: #fcd34d;
}

html body .dv-profile-actions {
    flex: 0 0 auto;
}

/* ---------- abas ---------- */
html body .dv-profile-tabs {
    display: flex;
    gap: 6px;
    padding: 0 0 18px;
    overflow-x: auto;
    scrollbar-width: none;
}

html body .dv-profile-tabs::-webkit-scrollbar {
    display: none;
}

html body .dv-profile-tabs a {
    display: inline-flex;
    flex: 0 0 auto;
    align-items: center;
    gap: 8px;
    height: 40px;
    padding: 0 18px;
    border: 1px solid rgba(255, 255, 255, .16);
    border-radius: 999px;
    background: rgba(255, 255, 255, .06);
    color: #e9ddff;
    font-size: 13.5px;
    font-weight: 600;
    text-decoration: none;
    transition: background .2s, color .2s, border-color .2s;
}

html body .dv-profile-tabs a i {
    font-size: 12px;
}

html body .dv-profile-tabs a:hover {
    border-color: rgba(255, 255, 255, .4);
    background: rgba(255, 255, 255, .14);
    color: #fff;
}

html body .dv-profile-tabs a.is-active {
    border-color: #fff;
    background: #fff;
    color: #5b21b6;
    box-shadow: 0 8px 20px rgba(139, 92, 246, .4);
}

html body .dv-profile-tabs a:focus-visible {
    outline: 2px solid #c4b5fd;
    outline-offset: 2px;
}

/* ---------- card de seguidor / seguindo ---------- */
html body .dv-user-card {
    display: flex;
    flex-direction: column;
    align-items: center;
    height: 100%;
    padding: 26px 18px 22px;
    border: 1px solid #e7e1f7;
    border-radius: 20px;
    background: #fff;
    box-shadow: 0 2px 6px rgba(36, 16, 68, .04), 0 10px 30px rgba(36, 16, 68, .06);
    text-align: center;
    transition: transform .25s, box-shadow .25s, border-color .25s;
}

html body .dv-user-card:hover {
    transform: translateY(-4px);
    border-color: #d9ccff;
    box-shadow: 0 20px 44px rgba(109, 40, 217, .14);
}

html body .dv-user-avatar {
    display: block;
    width: 80px;
    height: 80px;
    margin-bottom: 14px;
    padding: 3px;
    border-radius: 50%;
    background: linear-gradient(135deg, #f0abfc, #8b5cf6);
}

html body .dv-user-avatar img {
    display: block;
    width: 100%;
    height: 100%;
    border: 3px solid #fff;
    border-radius: 50%;
    object-fit: cover;
}

html body .dv-user-name {
    max-width: 100%;
    overflow: hidden;
    color: #1a1230;
    font-size: 15px;
    font-weight: 700;
    text-decoration: none;
    text-overflow: ellipsis;
    white-space: nowrap;
}

html body .dv-user-name:hover {
    color: #6d28d9;
}

html body .dv-user-since {
    margin: 4px 0 14px;
    color: #8a82a8;
    font-size: 12px;
}

html body .dv-user-follow {
    margin-top: auto;
}

/* ---------- celular ---------- */
@media (max-width: 767.98px) {
    html body .dv-profile-hero {
        margin: 8px 8px 24px;
        padding-top: 32px;
        border-radius: 18px;
    }

    html body .dv-profile-main {
        flex-direction: column;
        align-items: center;
        text-align: center;
    }

    html body .dv-profile-stats {
        justify-content: center;
    }

    html body .dv-profile-heading {
        margin-right: auto;
        margin-left: auto;
    }

    html body .dv-profile-tabs {
        padding-bottom: 14px;
    }
}

@media (prefers-reduced-motion: reduce) {
    html body .dv-profile-tabs a,
    html body .dv-user-card {
        transition: none;
    }

    html body .dv-user-card:hover {
        transform: none;
    }
}


/* ==========================================================
   PERFIL — acréscimos (selo "Banido" e barra lateral)
   Usa também .dv-share / .social-btn (bloco "Compartilhar").
   ========================================================== */

/* selo "Banido" ao lado do nome, no hero */
html body .dv-profile-banned {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    margin-left: 10px;
    padding: 4px 12px;
    border-radius: 999px;
    background: #dc2626;
    color: #fff;
    font-size: 12px;
    font-weight: 600;
    letter-spacing: 0;
    vertical-align: middle;
}

/* ---------- barra lateral ---------- */
html body .dv-side-card {
    margin-bottom: 16px;
    padding: 22px;
    border: 1px solid #e7e1f7;
    border-radius: 20px;
    background: #fff;
    box-shadow: 0 8px 28px rgba(36, 16, 68, .05);
}

html body .dv-side-title {
    display: flex;
    align-items: center;
    gap: 10px;
    margin: 0 0 16px;
    color: #1a1230;
    font-size: 15px;
    font-weight: 700;
}

html body .dv-side-title i {
    color: #8b5cf6;
}

html body .dv-side-text {
    margin: 0 0 14px;
    color: #6b6486;
    font-size: 14px;
    line-height: 1.6;
}

html body .dv-badges {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}

html body .dv-side-card .form-label {
    margin-bottom: 6px;
    color: #6b6486;
    font-size: 12.5px;
    font-weight: 600;
}

html body .dv-side-card .form-control {
    border: 1px solid #e7e1f7;
    border-radius: 12px;
    background-color: #faf8ff;
    color: #1a1230;
    font-size: 14px;
}

html body .dv-side-card .form-control:focus {
    border-color: #8b5cf6;
    background-color: #fff;
    box-shadow: 0 0 0 3px rgba(139, 92, 246, .15);
}

html body .dv-side-card .btn-primary {
    height: 46px;
    border: 0 !important;
    border-radius: 12px !important;
    background: linear-gradient(135deg, #8b5cf6, #6d28d9) !important;
    color: #fff !important;
    font-weight: 700;
    box-shadow: 0 10px 24px rgba(109, 40, 217, .3);
}

/* redes que o bloco "Compartilhar" não tinha */
html body .dv-share .social-youtube {
    background: #ff0000 !important;
}

html body .dv-share .social-instagram {
    background: linear-gradient(45deg, #f9a825, #e1306c 55%, #833ab4) !important;
}

/* ==========================================================
   BOTÃO PREMIUM NO MENU PRINCIPAL — cole no FINAL do divulgaae.css
   (fora de qualquer @media). Reaproveita o botão .dv-seller
   (tamanho, brilho ao passar o mouse e versão só-ícone no celular)
   e só troca as cores para dourado.
   ========================================================== */
 
html body .dv-nav-main a.dv-seller.dv-premium,
html body .dv-nav-main a.dv-seller.dv-premium:visited {
    background: linear-gradient(135deg, #fde68a 0%, #fbbf24 45%, #f59e0b 100%) !important;
    box-shadow: 0 6px 18px rgba(217, 119, 6, .38), inset 0 1px 0 rgba(255, 255, 255, .55) !important;
    color: #3b1d00 !important;
}
 
html body .dv-nav-main a.dv-seller.dv-premium i {
    color: #92400e !important;
}
 
html body .dv-nav-main a.dv-seller.dv-premium:hover {
    box-shadow: 0 10px 26px rgba(217, 119, 6, .5), inset 0 1px 0 rgba(255, 255, 255, .6) !important;
    color: #3b1d00 !important;
}
 
/* o botão do vendedor na faixa roxa: um pouco mais largo que os outros */
html body .dv-nav-top .nav-bar-buttons .btn-outline-light:not(.btn-padding) {
    padding: 0 14px !important;
}
 
/* ==========================================================
   BOTÃO "VISUALIZAR MAIS" — redondo com ícone
   ========================================================== */
html body .dv-see-more {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    height: 44px;
    padding: 0 8px 0 20px;
    border: 1.5px solid #d9ccff;
    border-radius: 999px;
    background: #fff;
    color: #6d28d9;
    font-size: 14px;
    font-weight: 700;
    line-height: 1;
    text-decoration: none;
    white-space: nowrap;
    box-shadow: 0 4px 14px rgba(36, 16, 68, .06);
    transition: background .2s, color .2s, border-color .2s, box-shadow .2s, transform .2s;
}

/* bolinha com a seta */
html body .dv-see-more i {
    display: grid;
    place-items: center;
    width: 30px;
    height: 30px;
    border-radius: 50%;
    background: linear-gradient(135deg, #8b5cf6, #6d28d9);
    color: #fff;
    font-size: 12px;
    transition: transform .2s;
}

html body .dv-see-more:hover {
    border-color: #8b5cf6;
    background: #f5f0ff;
    color: #5b21b6;
    transform: translateY(-2px);
    box-shadow: 0 10px 22px rgba(109, 40, 217, .18);
}

html body .dv-see-more:hover i {
    transform: translateX(3px);
}

html body .dv-see-more:focus-visible {
    outline: 2px solid #8b5cf6;
    outline-offset: 3px;
}

/* celular: só a bolinha com a seta */
@media (max-width: 575.98px) {
    html body .dv-see-more {
        height: 40px;
        padding: 0 6px 0 16px;
        font-size: 13px;
    }

    html body .dv-see-more i {
        width: 28px;
        height: 28px;
    }
}

@media (prefers-reduced-motion: reduce) {
    html body .dv-see-more,
    html body .dv-see-more i {
        transition: none;
    }

    html body .dv-see-more:hover,
    html body .dv-see-more:hover i {
        transform: none;
    }
}
html body .section-header .dv-see-more {
    margin-left: auto;
    align-self: center;
}

/* ==========================================================
   CATEGORIAS DA HOME — cartão moderno com bolinhas
   ========================================================== */
html body .dv-cats {
    position: relative;
    overflow: hidden;
    padding: 36px 40px 34px;
    border: 1px solid #ece8f7;
    border-radius: 32px;
    background:
        radial-gradient(40% 60% at 50% 0%, rgba(139, 92, 246, .10), transparent 70%),
        #fff;
    box-shadow: 0 2px 6px rgba(36, 16, 68, .04), 0 24px 60px rgba(109, 40, 217, .10);
}

html body .dv-cats-head {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    margin-bottom: 30px;
}

html body .dv-cats-title {
    margin: 0;
    color: #1a1230;
    font-size: clamp(26px, 3.4vw, 40px);
    font-weight: 800;
    line-height: 1.1;
    letter-spacing: -.03em;
}

html body .dv-cats-grad {
    background: linear-gradient(90deg, #7c3aed, #a855f7 55%, #3b82f6);
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
    color: transparent;
}

html body .dv-cats-text {
    max-width: 560px;
    margin: 10px 0 0;
    color: #6b6486;
    font-size: 15px;
    line-height: 1.6;
}

/* botão cheio com seta */
html body .dv-cats-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    height: 46px;
    padding: 0 22px;
    border-radius: 999px;
    background: linear-gradient(135deg, #7c3aed, #6d28d9 55%, #2563eb);
    color: #fff;
    font-size: 13px;
    font-weight: 800;
    letter-spacing: .05em;
    line-height: 1;
    text-decoration: none;
    text-transform: uppercase;
    white-space: nowrap;
    box-shadow: 0 12px 28px rgba(109, 40, 217, .35);
    transition: transform .2s, box-shadow .2s, filter .2s;
}

html body .dv-cats-btn i {
    font-size: 12px;
    transition: transform .2s;
}

html body .dv-cats-btn:hover {
    color: #fff;
    transform: translateY(-2px);
    filter: brightness(1.06);
    box-shadow: 0 16px 34px rgba(109, 40, 217, .45);
}

html body .dv-cats-btn:hover i {
    transform: translateX(3px);
}

html body .dv-cats-btn:focus-visible {
    outline: 2px solid #8b5cf6;
    outline-offset: 3px;
}

/* categorias */
html body .dv-cats .home-category {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 14px;
    padding: 6px 4px;
    border: 0;
    background: none;
    text-align: center;
    text-decoration: none;
    box-shadow: none;
}

html body .dv-cats .home-category-img {
    --tint-a: #f1eaff;
    --tint-b: #e0d4ff;
    display: grid;
    place-items: center;
    width: 80px;
    height: 80px;
    margin: 0;
    padding: 0;
    border: 1px solid rgba(255, 255, 255, .9);
    border-radius: 50%;
    background: linear-gradient(145deg, var(--tint-a), var(--tint-b));
    box-shadow: 0 10px 24px rgba(36, 16, 68, .10), inset 0 1px 0 rgba(255, 255, 255, .9);
    transition: transform .25s ease, box-shadow .25s ease;
}

html body .dv-cats .home-category-img img {
    display: block;
    width: 34px;
    height: 34px;
    object-fit: contain;
}

/* cores alternadas */
html body .dv-cats .swiper-slide:nth-child(6n+1) .home-category-img { --tint-a: #f1eaff; --tint-b: #e2d6ff; }
html body .dv-cats .swiper-slide:nth-child(6n+2) .home-category-img { --tint-a: #e8f1ff; --tint-b: #d3e4ff; }
html body .dv-cats .swiper-slide:nth-child(6n+3) .home-category-img { --tint-a: #fff4e0; --tint-b: #ffe6bd; }
html body .dv-cats .swiper-slide:nth-child(6n+4) .home-category-img { --tint-a: #ffe9ee; --tint-b: #ffd3dd; }
html body .dv-cats .swiper-slide:nth-child(6n+5) .home-category-img { --tint-a: #e6fbf1; --tint-b: #c9f3de; }
html body .dv-cats .swiper-slide:nth-child(6n+6) .home-category-img { --tint-a: #e3f8fb; --tint-b: #c8eef5; }

html body .dv-cats .home-category:hover .home-category-img {
    transform: translateY(-6px) scale(1.05);
    box-shadow: 0 18px 36px rgba(109, 40, 217, .22), inset 0 1px 0 rgba(255, 255, 255, .9);
}

html body .dv-cats .home-category-title {
    max-width: 100%;
    margin: 0;
    overflow: hidden;
    color: #1a1230;
    font-size: 14px;
    font-weight: 600;
    text-overflow: ellipsis;
    white-space: nowrap;
    transition: color .2s;
}

html body .dv-cats .home-category:hover .home-category-title {
    color: #6d28d9;
}

html body .dv-cats .home-category:focus-visible {
    outline: 2px solid #8b5cf6;
    outline-offset: 4px;
    border-radius: 16px;
}

/* setas do carrossel */
html body .dv-cats .swiper-button-prev,
html body .dv-cats .swiper-button-next {
    border: 1px solid #e7e1f7;
    border-radius: 50%;
    background: #fff;
    color: #6d28d9;
    box-shadow: 0 6px 16px rgba(36, 16, 68, .12);
}

@media (max-width: 767.98px) {
    html body .dv-cats {
        padding: 26px 18px 24px;
        border-radius: 24px;
        text-align: center;
    }

    html body .dv-cats-head {
        justify-content: center;
        margin-bottom: 22px;
    }

    html body .dv-cats-text {
        margin-right: auto;
        margin-left: auto;
    }

    html body .dv-cats .home-category-img {
        width: 68px;
        height: 68px;
    }
}

@media (prefers-reduced-motion: reduce) {
    html body .dv-cats-btn,
    html body .dv-cats-btn i,
    html body .dv-cats .home-category-img {
        transition: none;
    }

    html body .dv-cats-btn:hover,
    html body .dv-cats .home-category:hover .home-category-img {
        transform: none;
    }
}
/* ==========================================================
   HOME — ÚLTIMOS PRODUTOS (título, abas em pílula)
   Usa também: .dv-see-more, .dv-empty
   ========================================================== */

/* ---------- título da seção ---------- */
html body .dv-sec-head {
    max-width: 720px;
    margin: 0 auto 28px;
    text-align: center;
}

html body .dv-sec-title {
    margin: 0;
    color: #1a1230;
    font-size: clamp(26px, 3.6vw, 40px);
    font-weight: 800;
    line-height: 1.1;
    letter-spacing: -.03em;
}

html body .dv-sec-grad {
    background: linear-gradient(90deg, #7c3aed, #a855f7 55%, #3b82f6);
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
    color: transparent;
}

html body .dv-sec-text {
    margin: 12px auto 0;
    color: #6b6486;
    font-size: 15px;
    line-height: 1.6;
}

/* ---------- abas em pílula ---------- */
html body .dv-latest-tabs {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    gap: 8px;
    margin: 0 auto 32px;
}

html body .dv-latest-tabs .custom-tabs-item {
    height: 42px;
    padding: 0 20px;
    border: 1px solid #e7e1f7 !important;
    border-radius: 999px !important;
    background: #fff !important;
    color: #4b4466 !important;
    font-size: 13.5px;
    font-weight: 600;
    line-height: 1;
    white-space: nowrap;
    box-shadow: 0 2px 8px rgba(36, 16, 68, .04) !important;
    transition: background .2s, color .2s, border-color .2s, box-shadow .2s, transform .2s;
}

html body .dv-latest-tabs .custom-tabs-item:hover {
    border-color: #d9ccff !important;
    background: #f5f0ff !important;
    color: #6d28d9 !important;
}

html body .dv-latest-tabs .custom-tabs-item.active {
    border-color: transparent !important;
    background: linear-gradient(135deg, #8b5cf6, #6d28d9) !important;
    color: #fff !important;
    box-shadow: 0 10px 22px rgba(109, 40, 217, .32) !important;
}

html body .dv-latest-tabs .custom-tabs-item:focus-visible {
    outline: 2px solid #8b5cf6;
    outline-offset: 3px;
}

/* celular: abas em uma linha, rolando para o lado */
@media (max-width: 767.98px) {
    html body .dv-latest-tabs {
        flex-wrap: nowrap;
        justify-content: flex-start;
        margin-right: -12px;
        margin-left: -12px;
        padding: 4px 12px 8px;
        overflow-x: auto;
        scrollbar-width: none;
        -webkit-overflow-scrolling: touch;
    }

    html body .dv-latest-tabs::-webkit-scrollbar {
        display: none;
    }

    html body .dv-latest-tabs .custom-tabs-item {
        flex: 0 0 auto;
    }
}

@media (prefers-reduced-motion: reduce) {
    html body .dv-latest-tabs .custom-tabs-item {
        transition: none;
    }
}
/* ==========================================================
   FAQ — accordion em cartões
   Usa também: .dv-sec-head / .dv-sec-title / .dv-sec-grad / .dv-sec-text
   (bloco "HOME — ÚLTIMOS PRODUTOS")
   ========================================================== */

html body .dv-faq .dv-faq-item {
    overflow: hidden;
    border: 1px solid #e7e1f7 !important;
    border-radius: 20px !important;
    background: #fff !important;
    box-shadow: 0 2px 6px rgba(36, 16, 68, .04), 0 10px 26px rgba(36, 16, 68, .05);
    transition: border-color .25s, box-shadow .25s, background .25s;
}

html body .dv-faq .dv-faq-item:hover {
    border-color: #d9ccff !important;
}

/* aberto */
html body .dv-faq .dv-faq-item:has(.dv-faq-btn:not(.collapsed)) {
    border-color: #c4b5fd !important;
    background: linear-gradient(180deg, #faf7ff, #fff 60%) !important;
    box-shadow: 0 4px 10px rgba(109, 40, 217, .06), 0 18px 40px rgba(109, 40, 217, .14);
}

/* pergunta */
html body .dv-faq .dv-faq-btn {
    display: flex;
    align-items: center;
    gap: 16px;
    padding: 20px 22px;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    color: #1a1230 !important;
    font-size: 16px;
    font-weight: 700;
    line-height: 1.4;
    text-align: left;
    box-shadow: none !important;
}

html body .dv-faq .dv-faq-btn::after {
    display: none !important; /* remove a seta padrão do Bootstrap */
}

html body .dv-faq .dv-faq-btn:not(.collapsed) {
    color: #5b21b6 !important;
}

html body .dv-faq .dv-faq-btn:focus-visible {
    outline: 2px solid #8b5cf6;
    outline-offset: -3px;
}

html body .dv-faq .dv-faq-question {
    flex: 1;
    min-width: 0;
}

/* bolinha com + / − */
html body .dv-faq .dv-faq-icon {
    display: grid;
    flex: 0 0 36px;
    place-items: center;
    width: 36px;
    height: 36px;
    border-radius: 50%;
    background: #f1eaff;
    color: #7c3aed;
    font-size: 13px;
    transition: background .25s, color .25s, transform .25s, box-shadow .25s;
}

html body .dv-faq .dv-faq-icon i {
    grid-area: 1 / 1;
    margin: 0;
    transition: opacity .2s, transform .25s;
}

html body .dv-faq .dv-faq-icon .fa-minus {
    opacity: 0;
    transform: rotate(-90deg);
}

html body .dv-faq .dv-faq-btn:not(.collapsed) .dv-faq-icon {
    background: linear-gradient(135deg, #8b5cf6, #6d28d9);
    color: #fff;
    box-shadow: 0 8px 18px rgba(109, 40, 217, .35);
}

html body .dv-faq .dv-faq-btn:not(.collapsed) .dv-faq-icon .fa-plus {
    opacity: 0;
    transform: rotate(90deg);
}

html body .dv-faq .dv-faq-btn:not(.collapsed) .dv-faq-icon .fa-minus {
    opacity: 1;
    transform: none;
}

/* resposta */
html body .dv-faq .dv-faq-body {
    padding: 0 22px 22px 74px; /* alinha com o texto da pergunta */
    color: #6b6486;
    font-size: 14.5px;
    line-height: 1.7;
}

html body .dv-faq .dv-faq-body > :last-child {
    margin-bottom: 0;
}

html body .dv-faq .dv-faq-body a {
    color: #6d28d9;
    font-weight: 600;
}

@media (max-width: 575.98px) {
    html body .dv-faq .dv-faq-btn {
        gap: 12px;
        padding: 16px;
        font-size: 15px;
    }

    html body .dv-faq .dv-faq-body {
        padding: 0 16px 18px;
    }
}

@media (prefers-reduced-motion: reduce) {
    html body .dv-faq .dv-faq-item,
    html body .dv-faq .dv-faq-icon,
    html body .dv-faq .dv-faq-icon i {
        transition: none;
    }
}

/* ==========================================================
   PERFIL — botão Seguir em destaque + hero compacto no celular
   ========================================================== */

/* ---------- botão Seguir (hero escuro) ---------- */
html body .dv-profile-hero .dv-profile-actions .btn,
html body .dv-profile-hero .dv-profile-actions button,
html body .dv-profile-hero .dv-profile-actions a.btn {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 8px !important;
    height: 48px !important;
    min-width: 140px;
    padding: 0 26px !important;
    border: 0 !important;
    border-radius: 999px !important;
    background: #fff !important;
    color: #5b21b6 !important;
    font-size: 14.5px !important;
    font-weight: 800 !important;
    line-height: 1 !important;
    white-space: nowrap;
    box-shadow: 0 0 0 4px rgba(167, 139, 250, .35), 0 14px 32px rgba(139, 92, 246, .55) !important;
    transition: transform .2s, box-shadow .2s, background .2s !important;
}

html body .dv-profile-hero .dv-profile-actions .btn i {
    margin: 0 !important;
    color: #7c3aed !important;
    font-size: 14px !important;
}

html body .dv-profile-hero .dv-profile-actions .btn:hover:not(:disabled) {
    background: #f5f0ff !important;
    color: #4c1d95 !important;
    transform: translateY(-2px);
    box-shadow: 0 0 0 5px rgba(167, 139, 250, .45), 0 18px 38px rgba(139, 92, 246, .65) !important;
}

html body .dv-profile-hero .dv-profile-actions .btn:focus-visible {
    outline: 2px solid #fff;
    outline-offset: 3px;
}

/* ---------- proteção contra estouro de largura ---------- */
html body .dv-profile-hero {
    box-sizing: border-box;
    max-width: 100%;
}

html body .dv-profile-inner,
html body .dv-profile-main,
html body .dv-profile-info {
    min-width: 0;
}

/* ---------- celular ---------- */
@media (max-width: 767.98px) {
    html body .dv-profile-hero {
        margin: 8px 8px 20px;
        padding-top: 24px;
        border-radius: 20px;
    }

    html body .dv-profile-inner {
        padding-right: 16px;
        padding-left: 16px;
    }

    html body .dv-profile-main {
        gap: 14px;
        padding-bottom: 20px;
    }

    html body .dv-profile-avatar {
        flex: 0 0 84px;
        width: 84px;
        height: 84px;
        padding: 3px;
        box-shadow: 0 0 0 4px rgba(139, 92, 246, .25), 0 12px 28px rgba(0, 0, 0, .45);
    }

    html body .dv-profile-info {
        flex: 1 1 100%;
    }

    html body .dv-profile-name {
        font-size: 24px;
    }

    html body .dv-profile-user {
        font-size: 13px;
    }

    html body .dv-profile-heading {
        font-size: 13.5px;
    }

    html body .dv-profile-stats {
        gap: 6px;
        margin-top: 12px;
    }

    html body .dv-profile-stats span {
        padding: 5px 11px;
        font-size: 11.5px;
    }

    /* botão Seguir ocupa a largura toda */
    html body .dv-profile-actions {
        flex: 1 1 100%;
        width: 100%;
    }

    html body .dv-profile-hero .dv-profile-actions .btn,
    html body .dv-profile-hero .dv-profile-actions button,
    html body .dv-profile-hero .dv-profile-actions a.btn {
        width: 100% !important;
        height: 46px !important;
    }

    /* abas: uma linha, rolando para o lado, sem estourar a tela */
    html body .dv-profile-tabs {
        max-width: 100%;
        margin-right: -16px;
        margin-left: -16px;
        padding: 0 16px 16px;
        -webkit-overflow-scrolling: touch;
    }

    html body .dv-profile-tabs a {
        height: 38px;
        padding: 0 15px;
        font-size: 13px;
    }
}

/* ==========================================================
   PERFIL — estados do botão Seguir / Seguindo (follow-button)
   Seguir   = .btn-outline-custom  -> branco em destaque
   Seguindo = .btn-custom          -> translúcido com check
   ========================================================== */

/* Seguindo */
html body .dv-profile-hero .dv-profile-actions .btn.btn-custom {
    background: rgba(255, 255, 255, .12) !important;
    color: #fff !important;
    box-shadow: inset 0 0 0 1.5px rgba(255, 255, 255, .55) !important;
    -webkit-backdrop-filter: blur(6px);
    backdrop-filter: blur(6px);
}

html body .dv-profile-hero .dv-profile-actions .btn.btn-custom i {
    color: #86efac !important; /* check verde */
}

html body .dv-profile-hero .dv-profile-actions .btn.btn-custom:hover:not(:disabled) {
    background: rgba(220, 38, 38, .22) !important;
    color: #fff !important;
    box-shadow: inset 0 0 0 1.5px rgba(252, 165, 165, .85) !important;
    transform: translateY(-2px);
}

html body .dv-profile-hero .dv-profile-actions .btn.btn-custom:hover:not(:disabled) i {
    color: #fca5a5 !important;
}

/* Seguir (garante o destaque, caso o tema aplique outro hover) */
html body .dv-profile-hero .dv-profile-actions .btn.btn-outline-custom:not(.disabled) {
    background: #fff !important;
    color: #5b21b6 !important;
}

/* desabilitado (próprio perfil) */
html body .dv-profile-hero .dv-profile-actions .btn.disabled,
html body .dv-profile-hero .dv-profile-actions .btn:disabled {
    opacity: .55;
    box-shadow: none !important;
    pointer-events: none;
}

/* aviso de carregamento do Livewire enquanto processa o clique */
html body .dv-profile-hero .dv-profile-actions .btn[wire\:loading],
html body .dv-profile-hero .dv-profile-actions .btn.wire-loading {
    opacity: .7;
}


/* ==========================================================
   HERO BENTO (home) — cole no FINAL do divulgaae.css
   (fora de qualquer @media)
   Usa também: .dv-cats-btn (botão cheio) e .dv-see-more (botão redondo)
   ========================================================== */

html body .dv-bento {
    position: relative;
    overflow: hidden;
    padding-top: 56px;
    padding-bottom: 56px;
}

/* fundo claro com grade suave e brilho roxo */
html body .dv-bento::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 0;
    pointer-events: none;
    background:
        radial-gradient(50% 45% at 20% 0%, rgba(139, 92, 246, .14), transparent 70%),
        radial-gradient(40% 40% at 90% 30%, rgba(59, 130, 246, .10), transparent 70%),
        linear-gradient(rgba(124, 58, 237, .06) 1px, transparent 1px),
        linear-gradient(90deg, rgba(124, 58, 237, .06) 1px, transparent 1px);
    background-size: auto, auto, 40px 40px, 40px 40px;
    -webkit-mask-image: linear-gradient(#000 70%, transparent);
    mask-image: linear-gradient(#000 70%, transparent);
}

html body .dv-bento .container {
    position: relative;
    z-index: 1;
}

/* ---------- topo ---------- */
html body .dv-bento-head {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-end;
    justify-content: space-between;
    gap: 20px 40px;
    margin-bottom: 36px;
}

html body .dv-bento-title {
    margin: 0 0 18px;
    color: #1a1230;
    font-size: clamp(34px, 5.4vw, 64px);
    font-weight: 800;
    line-height: 1.04;
    letter-spacing: -.035em;
}

html body .dv-bento-title span {
    display: block;
}

html body .dv-bento-grad {
    background: linear-gradient(90deg, #7c3aed, #a855f7 50%, #3b82f6);
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
    color: transparent;
    padding-bottom: .08em; /* evita cortar a base das letras */
}

html body .dv-bento-lead {
    max-width: 380px;
    margin: 0;
    color: #6b6486;
    font-size: 16px;
    line-height: 1.6;
    text-align: right;
}

html body .dv-bento-lead strong {
    color: #1a1230;
    font-weight: 800;
}

/* ---------- pílula com avatares ---------- */
html body .dv-bento-pill {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    padding: 6px 16px 6px 8px;
    border: 1px solid #bbf7d0;
    border-radius: 999px;
    background: linear-gradient(135deg, #f0fdf4, #fff);
    box-shadow: 0 6px 18px rgba(22, 163, 74, .10);
}

html body .dv-bento-live {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    color: #166534;
    font-size: 11.5px;
    font-weight: 800;
    letter-spacing: .08em;
    text-transform: uppercase;
}

html body .dv-bento-live b {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: #22c55e;
    box-shadow: 0 0 0 0 rgba(34, 197, 94, .6);
    animation: dv-bento-pulse 2s infinite;
}

/* avatares sobrepostos */
html body .dv-bento-faces {
    display: inline-flex;
}

html body .dv-bento-faces i {
    display: grid;
    place-items: center;
    width: 26px;
    height: 26px;
    margin-left: -8px;
    border: 2px solid #fff;
    border-radius: 50%;
    color: #fff;
    font-size: 9px;
    font-style: normal;
    font-weight: 800;
    line-height: 1;
}

html body .dv-bento-faces i:first-child {
    margin-left: 0;
}

html body .dv-bento-faces i:nth-child(5n+1) { background: #7c3aed; }
html body .dv-bento-faces i:nth-child(5n+2) { background: #0ea5e9; }
html body .dv-bento-faces i:nth-child(5n+3) { background: #10b981; }
html body .dv-bento-faces i:nth-child(5n+4) { background: #ec4899; }
html body .dv-bento-faces i:nth-child(5n+5) { background: #f59e0b; }

html body .dv-bento-faces.is-big i {
    width: 44px;
    height: 44px;
    margin-left: -12px;
    border-width: 3px;
    font-size: 12px;
}

html body .dv-bento-faces.is-big i:first-child {
    margin-left: 0;
}

/* ---------- grade ---------- */
html body .dv-bento-grid {
    display: grid;
    grid-template-columns: repeat(12, minmax(0, 1fr));
    gap: 20px;
}

html body .dv-b-sm { grid-column: span 3; }
html body .dv-b-lg { grid-column: span 6; }
html body .dv-b-full { grid-column: 1 / -1; }

html body .dv-bento-card {
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    min-height: 230px;
    padding: 32px;
    border: 1px solid #ece8f7;
    border-radius: 32px;
    background: linear-gradient(180deg, #fff, #fcfbff);
    box-shadow: 0 2px 6px rgba(36, 16, 68, .04), 0 18px 44px rgba(36, 16, 68, .07);
    transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease;
}

html body .dv-bento-card:hover {
    transform: translateY(-4px);
    border-color: #d9ccff;
    box-shadow: 0 4px 10px rgba(109, 40, 217, .06), 0 24px 56px rgba(109, 40, 217, .16);
}

html body .dv-bento-card h3 {
    margin: 0 0 8px;
    color: #1a1230;
    font-size: 24px;
    font-weight: 800;
    line-height: 1.15;
    letter-spacing: -.02em;
}

html body .dv-bento-card p {
    max-width: 420px;
    margin: 0;
    color: #6b6486;
    font-size: 14.5px;
    line-height: 1.6;
}

/* ícone colorido (empurra o texto para baixo) */
html body .dv-bento-icon {
    display: grid;
    place-items: center;
    width: 56px;
    height: 56px;
    margin-bottom: auto;
    border-radius: 18px;
    color: #fff;
    font-size: 20px;
    box-shadow: 0 12px 24px rgba(36, 16, 68, .18);
}

html body .dv-bento-icon + h3 {
    margin-top: 28px;
}

html body .dv-bento-icon.is-blue   { background: linear-gradient(135deg, #3b82f6, #2563eb); }
html body .dv-bento-icon.is-green  { background: linear-gradient(135deg, #10b981, #059669); }
html body .dv-bento-icon.is-sky    { background: linear-gradient(135deg, #38bdf8, #2563eb); }
html body .dv-bento-icon.is-purple { background: linear-gradient(135deg, #a855f7, #7c3aed); }

/* ---------- card de destaque (número) ---------- */
html body .dv-bento-stat {
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
    border: 0;
    background:
        radial-gradient(60% 80% at 0% 0%, rgba(255, 255, 255, .18), transparent 60%),
        linear-gradient(135deg, #2563eb, #4f46e5 55%, #6d28d9);
    box-shadow: 0 24px 56px rgba(79, 70, 229, .38);
}

html body .dv-bento-stat:hover {
    border: 0;
    box-shadow: 0 30px 66px rgba(79, 70, 229, .5);
}

html body .dv-bento-num {
    display: block;
    color: #fff;
    font-size: clamp(44px, 6vw, 72px);
    font-weight: 800;
    line-height: 1;
    letter-spacing: -.04em;
}

html body .dv-bento-cap {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    margin-top: 12px;
    color: #dbe4ff;
    font-size: 12.5px;
    font-weight: 800;
    letter-spacing: .1em;
    text-transform: uppercase;
}

html body .dv-bento-stat-icon {
    display: grid;
    flex: 0 0 76px;
    place-items: center;
    width: 76px;
    height: 76px;
    border: 1px solid rgba(255, 255, 255, .3);
    border-radius: 24px;
    background: rgba(255, 255, 255, .16);
    color: #fff;
    font-size: 32px;
    -webkit-backdrop-filter: blur(8px);
    backdrop-filter: blur(8px);
}

/* ---------- chamada final ---------- */
html body .dv-bento-cta {
    flex-direction: row;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 20px 32px;
    min-height: 0;
    padding: 26px 32px;
}

html body .dv-bento-cta-left {
    display: flex;
    align-items: center;
    gap: 22px;
    min-width: 0;
}

html body .dv-bento-cta h3 {
    margin-bottom: 4px;
    font-size: 20px;
}

html body .dv-bento-cta-actions {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 12px;
}

html body .dv-bento-card:focus-visible,
html body .dv-bento a:focus-visible {
    outline: 2px solid #8b5cf6;
    outline-offset: 3px;
}

@keyframes dv-bento-pulse {
    0%   { box-shadow: 0 0 0 0 rgba(34, 197, 94, .55); }
    70%  { box-shadow: 0 0 0 8px rgba(34, 197, 94, 0); }
    100% { box-shadow: 0 0 0 0 rgba(34, 197, 94, 0); }
}

/* ---------- tablet ---------- */
@media (max-width: 991.98px) {
    html body .dv-b-sm { grid-column: span 6; }
    html body .dv-b-lg { grid-column: 1 / -1; }

    html body .dv-bento-lead {
        max-width: none;
        text-align: left;
    }
}

/* ---------- celular ---------- */
@media (max-width: 575.98px) {
    html body .dv-bento {
        padding-top: 32px;
        padding-bottom: 32px;
    }

    html body .dv-bento-head {
        margin-bottom: 24px;
    }

    html body .dv-bento-grid {
        gap: 14px;
    }

    html body .dv-b-sm,
    html body .dv-b-lg {
        grid-column: 1 / -1;
    }

    html body .dv-bento-card {
        min-height: 0;
        padding: 24px;
        border-radius: 26px;
    }

    html body .dv-bento-icon {
        width: 48px;
        height: 48px;
        margin-bottom: 0;
        border-radius: 15px;
        font-size: 18px;
    }

    html body .dv-bento-icon + h3 {
        margin-top: 18px;
    }

    html body .dv-bento-card h3 {
        font-size: 21px;
    }

    html body .dv-bento-stat-icon {
        flex-basis: 56px;
        width: 56px;
        height: 56px;
        border-radius: 18px;
        font-size: 24px;
    }

    html body .dv-bento-cta {
        padding: 24px;
    }

    html body .dv-bento-cta-left {
        flex-direction: column;
        align-items: flex-start;
        gap: 14px;
    }

    html body .dv-bento-cta-actions {
        width: 100%;
    }

    html body .dv-bento-cta-actions > a {
        flex: 1 1 auto;
        justify-content: center;
    }
}

@media (prefers-reduced-motion: reduce) {
    html body .dv-bento-live b {
        animation: none;
    }

    html body .dv-bento-card {
        transition: none;
    }

    html body .dv-bento-card:hover {
        transform: none;
    }
}

@media (max-width: 767.98px) {
    .dv-product .section-header nav[aria-label="breadcrumb"] {
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
        scrollbar-width: none;
    }
    .dv-product .section-header nav[aria-label="breadcrumb"]::-webkit-scrollbar {
        display: none;
    }
    .dv-product .section-header .breadcrumb {
        flex-wrap: nowrap;
        white-space: nowrap;
        gap: 6px;
    }
}

img.emoji,
img.wp-smiley,
img[src*="s.w.org/images/core/emoji"] {
    width: 1em !important;
    height: 1em !important;
    display: inline !important;
    vertical-align: -0.1em;
    margin: 0 0.07em !important;
    padding: 0 !important;
    border: none !important;
    box-shadow: none !important;
    background: none !important;
}

/* ==========================================================
   CATEGORIAS — setas do carrossel (corrige corte/espremido)
   ========================================================== */

/* o contêiner das setas não ocupa espaço no fluxo */
html body .dv-cats .swiper-actions {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 5;
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0 6px;
    pointer-events: none;   /* não bloqueia o clique nas categorias */
}

/* o carrossel precisa ser a referência de posição */
html body .dv-cats .categories-swiper {
    position: relative;
}

/* as duas setas: redondas, do mesmo tamanho, 100% visíveis */
html body .dv-cats .swiper-actions .swiper-button-prev,
html body .dv-cats .swiper-actions .swiper-button-next {
    position: static !important;
    display: grid !important;
    place-items: center;
    flex: 0 0 38px;
    width: 38px !important;
    height: 38px !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 1px solid #e7e1f7;
    border-radius: 50%;
    background: #fff;
    color: #6d28d9;
    box-shadow: 0 6px 16px rgba(36, 16, 68, .12);
    pointer-events: auto;   /* mas as setas continuam clicáveis */
    cursor: pointer;
    transition: background .2s, color .2s, opacity .2s, transform .2s;
}

html body .dv-cats .swiper-actions .swiper-button-prev:hover,
html body .dv-cats .swiper-actions .swiper-button-next:hover {
    background: #8b5cf6;
    color: #fff;
    transform: scale(1.06);
}

/* seta desabilitada (início/fim): fica suave, mas ainda aparece inteira */
html body .dv-cats .swiper-actions .swiper-button-disabled {
    opacity: .35;
    pointer-events: none;
}

/* tamanho do ícone da seta */
html body .dv-cats .swiper-actions .swiper-button-prev::after,
html body .dv-cats .swiper-actions .swiper-button-next::after,
html body .dv-cats .swiper-actions .swiper-button-prev i,
html body .dv-cats .swiper-actions .swiper-button-next i {
    font-size: 14px;
    font-weight: 800;
}

/* ---------- chips: texto completo, com quebra de linha ---------- */
html body .dv-cal-cell {
    min-width: 0;
}

html body .dv-cal-chip {
    align-items: flex-start;
    min-width: 0;
    max-width: 100%;
    border-radius: 14px;
    line-height: 1.35;
}

html body .dv-cal-chip span {
    flex: 1 1 auto;
    min-width: 0;
    overflow: visible;
    text-overflow: clip;
    white-space: normal;
    overflow-wrap: anywhere;
}

html body .dv-cal-chip i {
    margin-top: 3px;
}

html body .dv-cal-list-events .dv-cal-chip {
    border-radius: 14px;
}
/* ==========================================================
   PRODUTO GRATUITO — botão Baixar no estilo do hero
   ========================================================== */
html body .dv-product .dv-free .btn-primary {
    --dv-line: rgba(255, 255, 255, .12);
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    width: 100%;
    height: 54px;
    overflow: hidden;
    border: 0 !important;
    border-radius: 16px !important;
    background:
        radial-gradient(70% 120% at 50% 0%, #2a1360 0%, transparent 70%),
        #0b0618 !important;
    color: #fff !important;
    font-size: 15px;
    font-weight: 700;
    line-height: 1;
    box-shadow: 0 0 0 3px rgba(139, 92, 246, .35), 0 14px 32px rgba(109, 40, 217, .4);
    transition: transform .2s, box-shadow .2s;
}

/* grade suave */
html body .dv-product .dv-free .btn-primary::before {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
    background-image:
        linear-gradient(var(--dv-line) 1px, transparent 1px),
        linear-gradient(90deg, var(--dv-line) 1px, transparent 1px);
    background-size: 24px 24px;
    opacity: .3;
    -webkit-mask-image: radial-gradient(80% 100% at 50% 0%, #000, transparent);
    mask-image: radial-gradient(80% 100% at 50% 0%, #000, transparent);
}

/* brilho que passa no hover */
html body .dv-product .dv-free .btn-primary::after {
    content: "";
    position: absolute;
    top: 0;
    left: -60%;
    width: 40%;
    height: 100%;
    pointer-events: none;
    background: linear-gradient(100deg, transparent, rgba(255, 255, 255, .28), transparent);
    transform: skewX(-20deg);
    transition: left .6s ease;
}

html body .dv-product .dv-free .btn-primary:hover::after {
    left: 130%;
}

/* ícone em bolinha roxa */
html body .dv-product .dv-free .btn-primary i {
    position: relative;
    z-index: 1;
    display: grid;
    place-items: center;
    width: 30px;
    height: 30px;
    margin: 0 !important;
    border-radius: 50%;
    background: linear-gradient(135deg, #a855f7, #6d28d9);
    color: #fff;
    font-size: 13px;
    box-shadow: 0 6px 14px rgba(109, 40, 217, .5);
    transition: transform .2s;
}

html body .dv-product .dv-free .btn-primary:hover {
    color: #fff !important;
    transform: translateY(-2px);
    box-shadow: 0 0 0 4px rgba(167, 139, 250, .45), 0 18px 40px rgba(109, 40, 217, .55);
}

html body .dv-product .dv-free .btn-primary:hover i {
    transform: translateY(2px);
}

html body .dv-product .dv-free .btn-primary:focus-visible {
    outline: 2px solid #c4b5fd;
    outline-offset: 3px;
}

html body .dv-product .dv-free .btn-primary:disabled,
html body .dv-product .dv-free .btn-primary.disabled {
    opacity: .55;
    box-shadow: none;
    transform: none;
}

/* link "Certificado de Licença" */
html body .dv-product .dv-free .text-center a {
    color: #6d28d9;
    font-size: 13.5px;
    font-weight: 600;
    text-decoration: none;
}

html body .dv-product .dv-free .text-center a:hover {
    text-decoration: underline;
}

@media (prefers-reduced-motion: reduce) {
    html body .dv-product .dv-free .btn-primary,
    html body .dv-product .dv-free .btn-primary i,
    html body .dv-product .dv-free .btn-primary::after {
        transition: none;
    }

    html body .dv-product .dv-free .btn-primary:hover,
    html body .dv-product .dv-free .btn-primary:hover i {
        transform: none;
    }
}

/* ==========================================================
   CATEGORIAS — setas do carrossel (baseado no HTML real)
   ========================================================== */

/* o carrossel vira a referência de posição e ocupa a largura toda */
html body .dv-cats .dv-cats-swiper {
    position: relative;
    display: block !important;
    padding: 0 26px;              /* respiro para as setas ficarem DENTRO do cartão */
}

/* os dois wrappers das setas saem do fluxo */
html body .dv-cats .dv-cats-swiper > .swiper-actions {
    position: static !important;
    display: block !important;
    width: 0 !important;
    height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
}

/* as setas */
html body .dv-cats .dv-cats-swiper .swiper-button-prev,
html body .dv-cats .dv-cats-swiper .swiper-button-next {
    position: absolute !important;
    top: 40px !important;         /* centro do círculo da categoria (80px / 2) */
    z-index: 6;
    display: grid !important;
    place-items: center;
    width: 36px !important;
    height: 36px !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 1px solid #e7e1f7;
    border-radius: 50%;
    background: #fff;
    color: #6d28d9;
    box-shadow: 0 6px 16px rgba(36, 16, 68, .14);
    cursor: pointer;
    transition: background .2s, color .2s, opacity .2s;
}

html body .dv-cats .dv-cats-swiper .swiper-button-prev { left: -4px !important;  right: auto !important; }
html body .dv-cats .dv-cats-swiper .swiper-button-next { right: -4px !important; left: auto !important; }

html body .dv-cats .dv-cats-swiper .swiper-button-prev:hover,
html body .dv-cats .dv-cats-swiper .swiper-button-next:hover {
    background: #8b5cf6;
    color: #fff;
}

/* desabilitada: fica visível, só suave */
html body .dv-cats .dv-cats-swiper .swiper-button-disabled {
    opacity: .4;
    pointer-events: none;
}

/* só o ícone do Font Awesome (remove a seta duplicada do Swiper) */
html body .dv-cats .dv-cats-swiper .swiper-button-prev::after,
html body .dv-cats .dv-cats-swiper .swiper-button-next::after {
    display: none !important;
    content: none !important;
}

html body .dv-cats .dv-cats-swiper .swiper-button-prev i,
html body .dv-cats .dv-cats-swiper .swiper-button-next i {
    margin: 0 !important;
    font-size: 13px;
    line-height: 1;
}

/* o carrossel em si ocupa 100% do espaço interno */
html body .dv-cats .categoriesSwiper {
    width: 100%;
    margin: 0 !important;
}

@media (max-width: 767.98px) {
    html body .dv-cats .dv-cats-swiper { padding: 0 20px; }
    html body .dv-cats .dv-cats-swiper .swiper-button-prev,
    html body .dv-cats .dv-cats-swiper .swiper-button-next {
        width: 32px !important;
        height: 32px !important;
        top: 34px !important;     /* círculo de 68px no celular */
    }
}
/* ==========================================================
   FORM DE BUSCA (fora do hero) — mesmo visual do hero
   ========================================================== */
html body .search-input {
    display: flex;
    align-items: center;
    gap: 6px;
    padding: 6px;
    border: 0 !important;
    border-radius: 14px;
    background: #fff;
    box-shadow: 0 0 0 3px rgba(139, 92, 246, .45), 0 20px 60px rgba(139, 92, 246, .3);
}

html body .search-input input {
    flex: 1;
    min-width: 0;
    height: 48px;
    padding: 0 16px;
    border: 0 !important;
    outline: 0;
    background: transparent !important;
    box-shadow: none !important;
    color: #1a1230;
    font-size: 14px;
}

html body .search-input input::placeholder {
    color: #8a82a8;
}

/* botão: parado em todos os estados */
html body .search-input .btn,
html body .search-input .btn:hover,
html body .search-input .btn:focus,
html body .search-input .btn:focus-visible,
html body .search-input .btn:active,
html body .search-input .btn:active:focus,
html body .search-input .btn:not(:disabled):active {
    position: relative !important;
    top: 0 !important;
    margin: 0 !important;
    transform: none !important;
    translate: none !important;
    scale: none !important;
}

html body .search-input .btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 auto;
    min-width: 130px;
    height: 48px;
    padding: 0 24px;
    overflow: hidden;
    border: 0 !important;
    border-radius: 10px !important;
    background: linear-gradient(135deg, #8b5cf6, #6d28d9) !important;
    color: #fff !important;
    font-size: 14px;
    font-weight: 700;
    line-height: 1;
    white-space: nowrap;
    box-shadow: 0 10px 22px rgba(109, 40, 217, .35);
    transition: box-shadow .2s, filter .2s;
}

/* brilho que passa no hover */
html body .search-input .btn::after {
    content: "";
    position: absolute;
    top: 0;
    left: -60%;
    width: 40%;
    height: 100%;
    pointer-events: none;
    background: linear-gradient(100deg, transparent, rgba(255, 255, 255, .35), transparent);
    transform: skewX(-20deg);
    transition: left .6s ease;
}

html body .search-input .btn:hover {
    filter: brightness(1.06);
    box-shadow: 0 14px 28px rgba(109, 40, 217, .5);
}

html body .search-input .btn:hover::after {
    left: 130%;
}

html body .search-input .btn:active {
    filter: brightness(.95);
}

html body .search-input .btn i {
    margin: 0;
    color: #fff;
}

html body .search-input input:focus-visible,
html body .search-input .btn:focus-visible {
    outline: 2px solid #8b5cf6;
    outline-offset: 2px;
}

@media (max-width: 575.98px) {
    html body .search-input .btn {
        min-width: 0;
        padding: 0 18px;
    }
}

@media (prefers-reduced-motion: reduce) {
    html body .search-input .btn,
    html body .search-input .btn::after {
        transition: none;
    }
}
/* ==========================================================
   PRODUTOS EM DESTAQUE — bloco no estilo do hero
   ========================================================== */
html body .dv-feat-box {
    --dv-line: rgba(255, 255, 255, .12);
    position: relative;
    display: flex;
    align-items: center;
    height: 100%;
    overflow: hidden;
    padding: 40px 32px;
    border: 0 !important;
    border-radius: 24px;
    color: #fff;
    background:
        radial-gradient(70% 50% at 50% 0%, #2a1360 0%, transparent 70%),
        #0b0618;
    box-shadow: 0 24px 60px rgba(109, 40, 217, .28);
}

/* grade */
html body .dv-feat-box::before {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
    background-image:
        linear-gradient(var(--dv-line) 1px, transparent 1px),
        linear-gradient(90deg, var(--dv-line) 1px, transparent 1px);
    background-size: 40px 40px;
    opacity: .25;
    -webkit-mask-image: radial-gradient(80% 80% at 50% 30%, #000, transparent);
    mask-image: radial-gradient(80% 80% at 50% 30%, #000, transparent);
}

/* brilhos coloridos */
html body .dv-feat-glow {
    position: absolute;
    width: 70%;
    height: 60%;
    pointer-events: none;
    filter: blur(60px);
    opacity: .75;
}

html body .dv-feat-glow-l {
    bottom: -25%;
    left: -25%;
    background: linear-gradient(180deg, #f0abfc, #7c3aed);
}

html body .dv-feat-glow-r {
    top: -25%;
    right: -25%;
    background: linear-gradient(180deg, #a5b4fc, #8b5cf6);
}

html body .dv-feat-inner {
    position: relative;
    z-index: 1;
    width: 100%;
}

/* selo */
html body .dv-feat-badge {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 16px;
    padding: 6px 14px;
    border: 1px solid rgba(255, 255, 255, .22);
    border-radius: 999px;
    background: rgba(255, 255, 255, .08);
    color: #e9ddff;
    font-size: 12px;
    font-weight: 600;
    -webkit-backdrop-filter: blur(6px);
    backdrop-filter: blur(6px);
}

html body .dv-feat-badge i {
    color: #fcd34d;
}

/* título com degradê */
html body .dv-feat-title {
    margin: 0 0 12px;
    font-size: clamp(26px, 2.6vw, 34px);
    font-weight: 800;
    line-height: 1.12;
    letter-spacing: -.02em;
}

html body .dv-feat-title span {
    display: inline-block;
    padding-bottom: .08em;
    background: linear-gradient(90deg, #fff, #c4b5fd 45%, #f0abfc 80%, #93c5fd);
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
    color: transparent;
}

html body .dv-feat-text {
    margin: 0 0 24px;
    color: #b9aee0;
    font-size: 14.5px;
    font-weight: 400;
    line-height: 1.7;
}

/* botão */
html body .dv-feat-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    width: 100%;
    min-height: 50px;
    padding: 12px 22px;
    border-radius: 999px;
    background: #fff;
    color: #5b21b6;
    font-size: 14px;
    font-weight: 700;
    line-height: 1.2;
    text-align: center;
    text-decoration: none;
    box-shadow: 0 0 0 4px rgba(167, 139, 250, .3), 0 14px 32px rgba(139, 92, 246, .5);
    transition: transform .2s, box-shadow .2s, background .2s;
}

html body .dv-feat-btn i {
    margin: 0 !important;
    font-size: 12px;
    transition: transform .2s;
}

html body .dv-feat-btn:hover {
    background: #f5f0ff;
    color: #4c1d95;
    transform: translateY(-2px);
    box-shadow: 0 0 0 5px rgba(167, 139, 250, .4), 0 18px 38px rgba(139, 92, 246, .6);
}

html body .dv-feat-btn:hover i {
    transform: translateX(3px);
}

html body .dv-feat-btn:focus-visible {
    outline: 2px solid #fff;
    outline-offset: 3px;
}

@media (prefers-reduced-motion: reduce) {
    html body .dv-feat-btn,
    html body .dv-feat-btn i {
        transition: none;
    }

    html body .dv-feat-btn:hover,
    html body .dv-feat-btn:hover i {
        transform: none;
    }
}
/* ==========================================================
   CALENDÁRIO DE DATAS COMEMORATIVAS
   Colar no FINAL do divulgaae.css (fora de qualquer @media)
   ========================================================== */


/* ----------------------------------------------------------
   1. BARRA DE NAVEGAÇÃO (setas, mês, ano, badge)
   ---------------------------------------------------------- */
html body .dv-cal-bar {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 12px 16px;
    margin-bottom: 18px;
}

html body .dv-cal-nav,
html body .dv-cal-meta {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px;
}

html body .dv-cal-arrow {
    display: grid;
    place-items: center;
    width: 42px;
    height: 42px;
    border: 1px solid #e7e1f7;
    border-radius: 50%;
    background: #fff;
    color: #6d28d9;
    font-size: 13px;
    text-decoration: none;
    transition: background .2s, color .2s, border-color .2s;
}

html body .dv-cal-arrow:hover {
    border-color: #8b5cf6;
    background: #8b5cf6;
    color: #fff;
}

html body .dv-cal-select {
    height: 42px;
    padding: 0 36px 0 16px;
    border: 1px solid #e7e1f7;
    border-radius: 999px;
    background-color: #fff;
    color: #1a1230;
    font-size: 13.5px;
    font-weight: 600;
    cursor: pointer;
}

html body .dv-cal-select:focus {
    border-color: #8b5cf6;
    outline: 0;
    box-shadow: 0 0 0 3px rgba(139, 92, 246, .15);
}

html body .dv-cal-badge {
    display: inline-flex;
    align-items: center;
    padding: 6px 14px;
    border: 1px solid #d9ccff;
    border-radius: 999px;
    background: #f1eaff;
    color: #6d28d9;
    font-size: 12px;
    font-weight: 700;
    text-decoration: none;
}

html body .dv-cal-badge.is-link:hover {
    background: #8b5cf6;
    color: #fff;
}

html body .dv-cal-count {
    color: #6b6486;
    font-size: 13px;
    font-weight: 600;
}


/* ----------------------------------------------------------
   2. GRADE (computador)
   ---------------------------------------------------------- */
html body .dv-cal-grid-wrap {
    overflow: hidden;
    border: 1px solid #e7e1f7;
    border-radius: 24px;
    background: #fff;
    box-shadow: 0 2px 6px rgba(36, 16, 68, .04), 0 18px 44px rgba(36, 16, 68, .07);
}

html body .dv-cal-grid-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 18px 24px;
    border-bottom: 1px solid #ece8f7;
    background: #faf8ff;
    color: #1a1230;
    font-size: 17px;
}

html body .dv-cal-grid {
    display: grid;
    grid-template-columns: repeat(7, minmax(0, 1fr));
}

html body .dv-cal-dow {
    padding: 10px 8px;
    border-bottom: 1px solid #ece8f7;
    color: #6b6486;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: .04em;
    text-align: center;
    text-transform: uppercase;
}

html body .dv-cal-cell {
    display: flex;
    flex-direction: column;
    gap: 6px;
    min-width: 0;
    min-height: 130px;
    padding: 10px;
    border-right: 1px solid #f0ecfa;
    border-bottom: 1px solid #f0ecfa;
}

html body .dv-cal-cell:nth-child(7n + 14) {
    border-right: 0;
}

html body .dv-cal-cell.is-out {
    background: #fbfaff;
}

html body .dv-cal-cell.is-today {
    background: linear-gradient(180deg, #f5f0ff, #fff);
    box-shadow: inset 0 0 0 2px #8b5cf6;
}

html body .dv-cal-num {
    align-self: flex-end;
    color: #1a1230;
    font-size: 13px;
    font-weight: 800;
}

html body .dv-cal-cell.is-out .dv-cal-num {
    color: #cfc8e6;
}

html body .dv-cal-cell.is-today .dv-cal-num {
    display: grid;
    place-items: center;
    width: 26px;
    height: 26px;
    border-radius: 50%;
    background: linear-gradient(135deg, #8b5cf6, #6d28d9);
    color: #fff;
}


/* ----------------------------------------------------------
   3. CHIPS (texto completo, com quebra de linha)
   ---------------------------------------------------------- */
html body .dv-cal-chip {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 6px;
    min-width: 0;
    max-width: 100%;
    padding: 5px 10px;
    border: 1px solid #e7dcff;
    border-radius: 14px;
    background: #f5f0ff;
    color: #6d28d9;
    font-size: 11.5px;
    font-weight: 600;
    line-height: 1.35;
    text-decoration: none;
    transition: background .2s, color .2s, border-color .2s;
}

html body .dv-cal-chip span {
    flex: 1 1 auto;
    min-width: 0;
    overflow: visible;
    text-overflow: clip;
    white-space: normal;
    overflow-wrap: anywhere;
}

html body .dv-cal-chip i {
    flex: 0 0 auto;
    margin-top: 3px;
    font-size: 10px;
    opacity: .7;
}

html body .dv-cal-chip:hover {
    border-color: transparent;
    background: linear-gradient(135deg, #8b5cf6, #6d28d9);
    color: #fff;
}


/* ----------------------------------------------------------
   4. BOTÃO "+N EVENTOS"
   ---------------------------------------------------------- */
html body .dv-cal-more {
    display: grid;
    gap: 6px;
}

html body .dv-cal-more > summary {
    padding: 4px 10px;
    border-radius: 999px;
    background: #ece8f7;
    color: #4b4466;
    font-size: 11px;
    font-weight: 700;
    text-align: center;
    list-style: none;
    cursor: pointer;
    user-select: none;
}

html body .dv-cal-more > summary::-webkit-details-marker {
    display: none;
}

html body .dv-cal-more > summary:hover {
    background: #d9ccff;
}

html body .dv-cal-more[open] > summary {
    margin-bottom: 0;
    background: #d9ccff;
    color: #5b21b6;
}


/* ----------------------------------------------------------
   5. LISTA (celular)
   ---------------------------------------------------------- */
html body .dv-cal-list {
    display: none;
}

html body .dv-cal-list-day {
    display: flex;
    gap: 14px;
    margin-bottom: 12px;
    padding: 14px;
    border: 1px solid #e7e1f7;
    border-radius: 18px;
    background: #fff;
    box-shadow: 0 6px 20px rgba(36, 16, 68, .04);
}

html body .dv-cal-list-day.is-today {
    border-color: #8b5cf6;
    background: linear-gradient(180deg, #f5f0ff, #fff);
}

html body .dv-cal-list-date {
    display: flex;
    flex: 0 0 52px;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    height: 56px;
    border-radius: 14px;
    background: linear-gradient(135deg, #8b5cf6, #6d28d9);
    color: #fff;
    line-height: 1.1;
}

html body .dv-cal-list-date strong {
    font-size: 18px;
    font-weight: 800;
}

html body .dv-cal-list-date span {
    font-size: 11px;
    opacity: .85;
}

html body .dv-cal-list-events {
    display: grid;
    flex: 1;
    gap: 6px;
    min-width: 0;
}

html body .dv-cal-list-events .dv-cal-chip {
    padding: 8px 12px;
    font-size: 13px;
}


/* ----------------------------------------------------------
   6. RESPONSIVO (celular troca a grade pela lista)
   ---------------------------------------------------------- */
@media (max-width: 767.98px) {
    html body .dv-cal-grid-wrap {
        display: none;
    }

    html body .dv-cal-list {
        display: block;
    }
}


/* ==========================================================
   CARTÃO DO CALENDÁRIO NA PÁGINA DE PRODUTO (.dv-promo)
   ========================================================== */
html body .dv-promo {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 10px;
    overflow: hidden;
    padding: 22px 22px 20px;
    border-radius: 24px;
    background:
        radial-gradient(120% 90% at 100% 0%, rgba(139, 92, 246, .55), transparent 60%),
        radial-gradient(90% 70% at 0% 100%, rgba(168, 98, 214, .40), transparent 60%),
        #0d0818;
    box-shadow: 0 2px 6px rgba(36, 16, 68, .08), 0 18px 40px rgba(60, 30, 120, .18);
    color: #fff;
    text-decoration: none;
    transition: transform .25s, box-shadow .25s;
}

html body .dv-promo:hover {
    transform: translateY(-3px);
    box-shadow: 0 4px 10px rgba(36, 16, 68, .10), 0 24px 50px rgba(60, 30, 120, .28);
    color: #fff;
}

html body .dv-promo-badge {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 4px 12px;
    border: 1px solid rgba(255, 255, 255, .18);
    border-radius: 999px;
    background: rgba(255, 255, 255, .08);
    color: #e9ddff;
    font-size: 11.5px;
    font-weight: 700;
}

html body .dv-promo-title {
    font-size: 22px;
    font-weight: 800;
    line-height: 1.15;
    letter-spacing: -.01em;
}

html body .dv-promo-title span {
    background: linear-gradient(90deg, #d9c2ff, #f0a8ec 60%, #9fd2ff);
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
}

html body .dv-promo-text {
    color: #c9bbea;
    font-size: 13.5px;
    line-height: 1.55;
}

html body .dv-promo-cta {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    margin-top: 4px;
    padding: 9px 18px;
    border-radius: 999px;
    background: #fff;
    color: #5b21b6;
    font-size: 13px;
    font-weight: 700;
    transition: gap .2s;
}

html body .dv-promo:hover .dv-promo-cta {
    gap: 12px;
}

/* ==========================================================
   CALENDÁRIO — botão redondo "Favoritar"
   ========================================================== */
html body .dv-fav-btn {
    display: grid;
    place-items: center;
    width: 42px;
    height: 42px;
    padding: 0;
    border: 1px solid #d9ccff;
    border-radius: 50%;
    background: #fff;
    color: #8b5cf6;
    font-size: 16px;
    cursor: pointer;
    box-shadow: 0 6px 16px rgba(109, 40, 217, .12);
    transition: background .2s, color .2s, border-color .2s, box-shadow .2s;
}

html body .dv-fav-btn i {
    margin: 0;
    line-height: 1;
}

html body .dv-fav-btn:hover {
    border-color: transparent;
    background: linear-gradient(135deg, #8b5cf6, #6d28d9);
    color: #fff;
    box-shadow: 0 10px 22px rgba(109, 40, 217, .35);
}

html body .dv-fav-btn.is-on {
    border-color: transparent;
    background: linear-gradient(135deg, #fbbf24, #d97706);
    color: #fff;
}

html body .dv-fav-btn:focus-visible {
    outline: 2px solid #8b5cf6;
    outline-offset: 3px;
}

/* aviso flutuante */
html body .dv-fav-toast {
    position: fixed;
    right: 50%;
    bottom: 28px;
    z-index: 1080;
    max-width: min(92vw, 420px);
    padding: 14px 20px;
    border-radius: 16px;
    background:
        radial-gradient(70% 120% at 50% 0%, #2a1360 0%, transparent 70%),
        #0b0618;
    color: #fff;
    font-size: 14px;
    font-weight: 600;
    line-height: 1.4;
    text-align: center;
    box-shadow: 0 0 0 3px rgba(139, 92, 246, .35), 0 18px 44px rgba(11, 6, 24, .4);
    transform: translateX(50%);
}

html body .dv-fav-toast[hidden] {
    display: none;
}
/* ==========================================================
   CALENDÁRIO — título à esquerda, favoritar à direita
   ========================================================== */
html body .dv-cal-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
}

html body .dv-cal-head .dv-sec-head {
    flex: 1;
    min-width: 0;
    margin: 0;
}

html body .dv-cal-head .dv-fav-btn {
    flex: 0 0 auto;
    margin-top: 6px;
}
/* ==========================================================
   MENU MOBILE (gaveta) — estilo hero, texto claro
   Vale para a gaveta da faixa roxa e a do menu principal
   ========================================================== */
@media (max-width: 1199.98px) {

    /* fundo da gaveta: mesmo visual do hero */
    html body .dv-nav .nav-bar-menu .nav-bar-menu-inner {
        background:
            radial-gradient(80% 40% at 50% 0%, #2a1360 0%, transparent 70%),
            #0b0618 !important;
        color: #fff !important;
        box-shadow: -12px 0 40px rgba(11, 6, 24, .45) !important;
    }

    /* topo com o X */
    html body .dv-nav .nav-bar-menu .nav-bar-menu-header {
        padding-bottom: 12px;
        border-bottom: 1px solid rgba(255, 255, 255, .10) !important;
        background: transparent !important;
    }

    html body .dv-nav .nav-bar-menu .nav-bar-menu-close {
        display: grid;
        place-items: center;
        width: 38px;
        height: 38px;
        border: 1px solid rgba(255, 255, 255, .22) !important;
        border-radius: 50% !important;
        background: rgba(255, 255, 255, .08) !important;
        color: #fff !important;
        transition: background .2s;
    }

    html body .dv-nav .nav-bar-menu .nav-bar-menu-close:hover {
        background: rgba(255, 255, 255, .18) !important;
    }

    /* links e títulos de dropdown */
    html body .dv-nav .nav-bar-menu .nav-bar-menu-inner .nav-bar-links .link,
    html body .dv-nav .nav-bar-menu .nav-bar-menu-inner .nav-bar-links .drop-down-btn {
        padding: 12px 14px !important;
        border-radius: 12px !important;
        background: transparent !important;
        color: #e9ddff !important;
        font-size: 14.5px !important;
        font-weight: 600 !important;
    }

    html body .dv-nav .nav-bar-menu .nav-bar-menu-inner .nav-bar-links .link:hover,
    html body .dv-nav .nav-bar-menu .nav-bar-menu-inner .nav-bar-links .drop-down-btn:hover {
        background: rgba(255, 255, 255, .10) !important;
        color: #fff !important;
    }

    html body .dv-nav .nav-bar-menu .nav-bar-menu-inner .nav-bar-links .drop-down-btn i {
        color: #c4b5fd !important;
    }

    /* submenu aberto (dropdowns dentro da gaveta) */
    html body .dv-nav .nav-bar-menu .nav-bar-menu-inner .drop-down-menu {
        border: 0 !important;
        background: rgba(255, 255, 255, .06) !important;
        box-shadow: none !important;
    }

    html body .dv-nav .nav-bar-menu .nav-bar-menu-inner .drop-down-item {
        background: transparent !important;
        color: #d9ccff !important;
    }

    html body .dv-nav .nav-bar-menu .nav-bar-menu-inner .drop-down-item:hover {
        background: rgba(255, 255, 255, .10) !important;
        color: #fff !important;
    }

    /* botões da gaveta (vendedor / entrar / cadastrar) */
    html body .dv-nav .nav-bar-menu .nav-bar-menu-inner .link-btn .btn {
        width: 100%;
        height: 42px !important;
    }

    html body .dv-nav .nav-bar-menu .nav-bar-menu-inner .link-btn .btn-outline-primary {
        border: 1px solid rgba(255, 255, 255, .45) !important;
        background: transparent !important;
        color: #fff !important;
    }

    html body .dv-nav .nav-bar-menu .nav-bar-menu-inner .link-btn .btn-primary {
        border: 1px solid #fff !important;
        background: #fff !important;
        color: #5b21b6 !important;
    }

    /* "Seja vendedor" / "Premium" dentro da gaveta continuam com as cores próprias */
    html body .dv-nav-main .nav-bar-menu-inner .nav-bar-links a.dv-seller {
        color: #fff !important;
    }

    html body .dv-nav-main .nav-bar-menu-inner .nav-bar-links a.dv-seller.dv-premium {
        color: #3b1d00 !important;
    }
}
/* ==========================================================
   MENUS SEMPRE ACIMA DO CONTEÚDO (gaveta não fica sob o hero)
   ========================================================== */
html body .dv-nav-top  { z-index: 1001 !important; }
html body .dv-nav-main { z-index: 1000 !important; }

/* conteúdo da página fica abaixo dos menus */
html body .dv-header,
html body .dv-bento,
html body .dv-header .search,
html body .dv-header .search-input,
html body .dv-bento .search,
html body .dv-bento .search-input {
    z-index: 1 !important;
}/* ==========================================================
   BARRAS MOBILE — link rápido (roxa) e pesquisa (branca)
   ========================================================== */
html body .dv-top-quick {
    align-items: center;
    gap: 6px;
    min-width: 0;
    padding: 0;
    color: #fff !important;
    font-size: 12.5px;
    font-weight: 600;
    line-height: 1;
    text-decoration: none;
    white-space: nowrap;
}

html body .dv-top-quick i {
    color: #fcd34d;
    font-size: 12px;
}

html body .dv-top-quick span {
    overflow: hidden;
    text-overflow: ellipsis;
}

html body .dv-top-quick:hover {
    color: #fff !important;
    text-decoration: underline;
}

/* ícone de pesquisa redondo na faixa branca */
html body .dv-quick-search {
    display: grid;
    flex: 0 0 40px;
    place-items: center;
    width: 40px;
    height: 40px;
    border: 1px solid #e3dcf7;
    border-radius: 50%;
    background: #f8f7fc;
    color: #6d28d9;
    font-size: 14px;
    text-decoration: none;
    transition: background .2s, color .2s, border-color .2s;
}

html body .dv-quick-search:hover {
    border-color: #8b5cf6;
    background: #8b5cf6;
    color: #fff;
}

/* celular pequeno: só o ícone do link, para caber com carrinho e avatar */
@media (max-width: 359.98px) {
    html body .dv-top-quick span {
        display: none;
    }
}
/* ==========================================================
   BARRAS MOBILE — correção de cores + links rápidos
   ========================================================== */

/* faixa roxa: link do vendedor, sempre claro */
html body .dv-nav-top a.dv-top-quick,
html body .dv-nav-top a.dv-top-quick:visited,
html body .dv-nav-top a.dv-top-quick:hover {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    color: #fff !important;
    font-size: 12.5px !important;
    font-weight: 600 !important;
    line-height: 1 !important;
    text-decoration: none !important;
    white-space: nowrap;
}

html body .dv-nav-top a.dv-top-quick i {
    color: #fcd34d !important;
    font-size: 13px !important;
}

html body .dv-nav-top a.dv-top-quick span {
    color: #fff !important;
}

/* faixa branca: lupa roxa */
html body .dv-nav-main a.dv-quick-search,
html body .dv-nav-main a.dv-quick-search:visited {
    display: grid;
    flex: 0 0 40px;
    place-items: center;
    width: 40px;
    height: 40px;
    border: 1px solid #e3dcf7;
    border-radius: 50%;
    background: #f8f7fc;
    color: #6d28d9 !important;
    font-size: 14px;
    text-decoration: none !important;
    transition: background .2s, color .2s, border-color .2s;
}

html body .dv-nav-main a.dv-quick-search i {
    color: inherit !important;
}

html body .dv-nav-main a.dv-quick-search:hover {
    border-color: #8b5cf6;
    background: #8b5cf6;
    color: #fff !important;
}

/* faixa branca: links rápidos (Início / Explorar) */
html body .dv-nav-main .dv-quick-links {
    align-items: center;
    gap: 4px;
}

html body .dv-nav-main .dv-quick-links a,
html body .dv-nav-main .dv-quick-links a:visited {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    height: 38px;
    padding: 0 12px;
    border-radius: 999px;
    color: #4b4466 !important;
    font-size: 13px;
    font-weight: 600;
    line-height: 1;
    text-decoration: none !important;
    white-space: nowrap;
    transition: background .2s, color .2s;
}

html body .dv-nav-main .dv-quick-links a i {
    color: #8b5cf6 !important;
    font-size: 13px;
}

html body .dv-nav-main .dv-quick-links a:hover,
html body .dv-nav-main .dv-quick-links a.is-active {
    background: #f1eaff;
    color: #6d28d9 !important;
}

/* telas pequenas: só o ícone nos links rápidos, para caber logo + lupa + Premium + menu */
@media (max-width: 575.98px) {
    html body .dv-nav-main .dv-quick-links a span {
        display: none;
    }

    html body .dv-nav-main .dv-quick-links a {
        width: 38px;
        padding: 0;
        justify-content: center;
        background: #f8f7fc;
    }
}

/* celular muito estreito: esconde o texto do vendedor, fica só o ícone */
@media (max-width: 359.98px) {
    html body .dv-nav-top a.dv-top-quick span {
        display: none;
    }
}
.dv-ck-steps { display: flex; }
.dv-ck-steps li { flex: 1; position: relative; text-align: center; }
.dv-ck-steps li:not(:last-child)::after {
    content: "";
    position: absolute;
    top: 16px;               /* metade da altura do .dv-ck-dot */
    left: 50%;
    width: 100%;
    height: 2px;
    background: rgba(255,255,255,.2);
}
.dv-ck-steps li.is-done:not(:last-child)::after { background: #8b5cf6; }

/* botão da tela "Pagamento concluído" */
html body .dv-ck-success .dv-ck-success-btn,
html body .dv-ck-success a.btn.btn-primary.btn-md.dv-ck-success-btn {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    gap: 10px;
    width: auto;
    height: auto !important;
    min-height: 56px;
    padding: 0 34px !important;
    border: 0 !important;
    border-radius: 999px !important;
    background: linear-gradient(135deg, #8b5cf6 0%, #6d28d9 100%) !important;
    color: #fff !important;
    font-size: 15px;
    font-weight: 700;
    line-height: 1.2 !important;
    text-decoration: none !important;
    box-shadow: 0 14px 30px -10px rgba(109, 40, 217, .65), inset 0 1px 0 rgba(255, 255, 255, .25);
    transition: transform .2s ease, box-shadow .2s ease, filter .2s ease;
}

html body .dv-ck-success .dv-ck-success-btn i,
html body .dv-ck-success .dv-ck-success-btn span {
    display: inline-block;
    margin: 0 !important;
    padding: 0 !important;
    line-height: 1 !important;
    color: #fff !important;
}

html body .dv-ck-success .dv-ck-success-btn:hover {
    transform: translateY(-2px);
    filter: brightness(1.07);
    box-shadow: 0 18px 36px -10px rgba(109, 40, 217, .8), inset 0 1px 0 rgba(255, 255, 255, .3);
}

html body .dv-ck-success .dv-ck-success-btn:focus-visible {
    outline: 3px solid rgba(167, 139, 250, .6);
    outline-offset: 3px;
}

@media (max-width: 575.98px) {
    html body .dv-ck-success .dv-ck-success-btn {
        width: 100%;
    }
}

@media (prefers-reduced-motion: reduce) {
    html body .dv-ck-success .dv-ck-success-btn {
        transition: none;
    }
    html body .dv-ck-success .dv-ck-success-btn:hover {
        transform: none;
    }
}
/* ==========================================================
   CHECKOUT — card do saldo da carteira (horizontal)
   ========================================================== */
html body .dv-pay .payment-method.dv-pay-wallet {
    flex-direction: row;
    align-items: center;
    justify-content: flex-start;
    gap: 14px;
    min-height: 0;
    padding: 16px 52px 16px 18px; /* espaço à direita para o check */
    text-align: left;
}

html body .dv-pay .dv-wallet-icon {
    display: grid;
    flex: 0 0 46px;
    place-items: center;
    width: 46px;
    height: 46px;
    border-radius: 14px;
    background: linear-gradient(135deg, #8b5cf6, #6d28d9);
    color: #fff;
    font-size: 19px;
    box-shadow: 0 8px 18px rgba(109, 40, 217, .3);
}

html body .dv-pay .dv-wallet-info {
    display: flex;
    flex: 1 1 auto;
    flex-direction: column;
    gap: 2px;
    min-width: 0;
}

html body .dv-pay .dv-wallet-info strong {
    color: #1a1230;
    font-size: 15px;
    font-weight: 700;
    line-height: 1.2;
}

html body .dv-pay .dv-wallet-info small {
    color: #8a82a8;
    font-size: 12.5px;
    line-height: 1.3;
}

html body .dv-pay .dv-wallet-amount {
    display: flex;
    flex: 0 0 auto;
    flex-direction: column;
    align-items: flex-end;
    padding: 6px 12px;
    border-radius: 12px;
    background: #f1eaff;
    line-height: 1.2;
}

html body .dv-pay .dv-wallet-amount small {
    color: #8a82a8;
    font-size: 10.5px;
    font-weight: 600;
    letter-spacing: .04em;
    text-transform: uppercase;
}

html body .dv-pay .dv-wallet-amount b {
    color: #5b21b6;
    font-size: 16px;
    font-weight: 800;
    white-space: nowrap;
}

/* saldo insuficiente: aviso em vermelho suave */
html body .dv-pay .payment-method.is-insufficient .dv-wallet-info small {
    color: #dc2626;
    font-weight: 600;
}

html body .dv-pay .payment-method.is-insufficient .dv-wallet-amount {
    background: #fef2f2;
}

html body .dv-pay .payment-method.is-insufficient .dv-wallet-amount b {
    color: #dc2626;
}

/* o card do saldo não precisa "pular" tanto no hover */
html body .dv-pay .payment-method.dv-pay-wallet:hover {
    transform: translateY(-2px);
}

@media (max-width: 575.98px) {
    html body .dv-pay .payment-method.dv-pay-wallet {
        flex-wrap: wrap;
        padding-right: 46px;
    }

    html body .dv-pay .dv-wallet-amount {
        flex: 1 1 100%;
        flex-direction: row;
        align-items: center;
        justify-content: space-between;
    }
}
/* ícone da carteira: branco sobre o roxo */
html body .dv-pay .payment-method.dv-pay-wallet .dv-wallet-icon,
html body .dv-pay .payment-method.dv-pay-wallet .dv-wallet-icon i {
    color: #fff !important;
    font-size: 19px;
    line-height: 1;
}

/* neutraliza a regra "> span" do .payment-method nos spans do saldo */
html body .dv-pay .payment-method.dv-pay-wallet > span {
    color: inherit;
    font-size: inherit;
    font-weight: inherit;
}

html body .dv-pay .dv-wallet-info small {
    color: #8a82a8 !important;
    font-size: 12.5px !important;
    font-weight: 500 !important;
}

html body .dv-pay .dv-wallet-info strong {
    color: #1a1230 !important;
    font-size: 15px !important;
    font-weight: 700 !important;
}

html body .dv-pay .dv-wallet-amount small {
    color: #8a82a8 !important;
    font-size: 10.5px !important;
    font-weight: 600 !important;
}

html body .dv-pay .dv-wallet-amount b {
    color: #5b21b6; }

/* ==========================================================
   PRODUTO — recuo para cima (aproxima do menu)
   ========================================================== */
html body section.dv-product {
    padding-top: 16px !important;
    margin-top: 0 !important;
}

html body .dv-product .breadcrumb.custom {
    margin-top: 0;
    margin-bottom: 14px;
}

/* o wrapper do anúncio não ocupa espaço quando está vazio */
html body .dv-nav-main + .container:empty,
html body .dv-nav-main + .container:not(:has(*)) {
    display: none;
}

@media (max-width: 767.98px) {
    html body section.dv-product {
        padding-top: 4px !important;
    }

    html body .dv-product .section-header {
        margin-bottom: 1rem !important;
    }

    html body .dv-product .breadcrumb.custom {
        margin-bottom: 10px;
    }
}

/* ===== Vendedor (hero) ===== */
.dv-seller-hero {
    position: relative;
    overflow: hidden;
    isolation: isolate;
    display: flex;
    flex-direction: column;
    gap: 18px;
    padding: 22px;
    border-radius: 24px;
    color: #fff;
    background:
        radial-gradient(120% 90% at 100% 0%, rgba(139, 111, 214, .75) 0%, rgba(139, 111, 214, 0) 55%),
        radial-gradient(90% 70% at 0% 100%, rgba(149, 86, 184, .85) 0%, rgba(149, 86, 184, 0) 60%),
        #0b0814;
    box-shadow: 0 18px 40px -18px rgba(76, 29, 149, .55);
}

/* textura de grade sutil */
.dv-seller-hero::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: -1;
    background-image:
        linear-gradient(rgba(255, 255, 255, .04) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255, 255, 255, .04) 1px, transparent 1px);
    background-size: 28px 28px;
    -webkit-mask-image: radial-gradient(circle at 50% 30%, #000 0%, transparent 75%);
            mask-image: radial-gradient(circle at 50% 30%, #000 0%, transparent 75%);
}

.dv-seller-top {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
}

.dv-seller-chip {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 7px 14px;
    border-radius: 999px;
    font-size: .85rem;
    font-weight: 600;
    color: #f3e8ff;
    background: rgba(255, 255, 255, .08);
    border: 1px solid rgba(255, 255, 255, .16);
}
.dv-seller-chip i { color: #c4b5fd; }

/* botão seguir (versão escura) */
.dv-seller-follow .btn {
    color: #fff;
    background: rgba(255, 255, 255, .1);
    border: 1px solid rgba(255, 255, 255, .35);
    transition: background .2s, transform .2s;
}
.dv-seller-follow .btn:hover,
.dv-seller-follow .btn:focus {
    color: #fff;
    background: rgba(255, 255, 255, .22);
    transform: translateY(-1px);
}

.dv-seller-main {
    display: flex;
    align-items: center;
    gap: 16px;
    min-width: 0;
}

.dv-seller-avatar {
    flex: 0 0 auto;
    width: 88px;
    height: 88px;
    border-radius: 24px;
    overflow: hidden;
    border: 3px solid rgba(255, 255, 255, .25);
    box-shadow: 0 0 0 6px rgba(167, 139, 250, .15), 0 12px 28px -8px rgba(167, 139, 250, .6);
    transition: transform .25s;
}
.dv-seller-avatar:hover { transform: scale(1.04) rotate(-1deg); }
.dv-seller-avatar img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.dv-seller-info {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 6px;
    min-width: 0;
}

.dv-seller-name { text-decoration: none; max-width: 100%; }
.dv-seller-name h5 {
    margin: 0;
    font-size: 1.5rem;
    font-weight: 800;
    line-height: 1.15;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    background: linear-gradient(90deg, #fff 0%, #e9d5ff 55%, #a5b4fc 100%);
    -webkit-background-clip: text;
            background-clip: text;
    -webkit-text-fill-color: transparent;
}

.dv-seller-since {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-size: .88rem;
    color: #c4b5fd;
}

.dv-seller-badges {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    padding: 10px 12px;
    border-radius: 16px;
    background: rgba(255, 255, 255, .07);
    border: 1px solid rgba(255, 255, 255, .12);
}
.dv-seller-badges .item-author-badge img { width: 40px; height: 40px; }

.dv-seller-cta {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    padding: 14px 20px;
    border-radius: 999px;
    font-weight: 700;
    text-decoration: none;
    color: #5b21b6;
    background: #fff;
    box-shadow: 0 0 0 4px rgba(255, 255, 255, .15), 0 10px 24px -8px rgba(0, 0, 0, .5);
    transition: transform .2s, box-shadow .2s;
}
.dv-seller-cta:hover {
    color: #4c1d95;
    transform: translateY(-2px);
    box-shadow: 0 0 0 5px rgba(255, 255, 255, .2), 0 14px 28px -8px rgba(0, 0, 0, .55);
}
.dv-seller-cta i { transition: transform .2s; }
.dv-seller-cta:hover i { transform: translateX(4px); }

/* ===== Celular ===== */
@media (max-width: 575.98px) {
    .dv-seller-hero { padding: 18px; gap: 16px; border-radius: 22px; }

    .dv-seller-main {
        flex-direction: column;
        text-align: center;
        gap: 14px;
    }
    .dv-seller-avatar { width: 104px; height: 104px; border-radius: 28px; }
    .dv-seller-info { align-items: center; }
    .dv-seller-name h5 { font-size: 1.4rem; }

    .dv-seller-badges { justify-content: center; }
    .dv-seller-cta { padding: 15px 20px; }
}
/* ===== Login / Cadastro ===== */
.dv-auth {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1.1fr);
    width: 100%;
    max-width: 1000px;
    margin: 0 auto;
    background: #fff;
    border-radius: 28px;
    overflow: hidden;
    box-shadow: 0 30px 70px -30px rgba(76, 29, 149, .45), 0 0 0 1px rgba(124, 58, 237, .08);
}

/* ---------- Hero (lado escuro) ---------- */
.dv-auth-hero {
    position: relative;
    isolation: isolate;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    gap: 28px;
    padding: 36px;
    color: #fff;
    background:
        radial-gradient(120% 90% at 100% 0%, rgba(139, 111, 214, .75) 0%, rgba(139, 111, 214, 0) 55%),
        radial-gradient(90% 70% at 0% 100%, rgba(149, 86, 184, .85) 0%, rgba(149, 86, 184, 0) 60%),
        #0b0814;
}
.dv-auth-hero::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: -1;
    background-image:
        linear-gradient(rgba(255, 255, 255, .04) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255, 255, 255, .04) 1px, transparent 1px);
    background-size: 28px 28px;
    -webkit-mask-image: radial-gradient(circle at 50% 30%, #000 0%, transparent 75%);
            mask-image: radial-gradient(circle at 50% 30%, #000 0%, transparent 75%);
}

.dv-auth-chip {
    align-self: flex-start;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 7px 14px;
    border-radius: 999px;
    font-size: .85rem;
    font-weight: 600;
    text-decoration: none;
    color: #f3e8ff;
    background: rgba(255, 255, 255, .08);
    border: 1px solid rgba(255, 255, 255, .16);
}
.dv-auth-chip i { color: #fcd34d; }
.dv-auth-chip:hover { color: #fff; background: rgba(255, 255, 255, .14); }

.dv-auth-hero-title {
    margin: 0 0 12px;
    font-size: 2.1rem;
    font-weight: 800;
    line-height: 1.12;
    color: #fff;
}
.dv-auth-hero-title span {
    background: linear-gradient(90deg, #c4b5fd 0%, #f0abfc 55%, #93c5fd 100%);
    -webkit-background-clip: text;
            background-clip: text;
    -webkit-text-fill-color: transparent;
}
.dv-auth-hero-text {
    margin: 0;
    color: #c4b5fd;
    line-height: 1.6;
}

.dv-auth-perks {
    list-style: none;
    margin: 0;
    padding: 0;
    display: grid;
    gap: 10px;
}
.dv-auth-perks li {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 12px 14px;
    border-radius: 16px;
    background: rgba(255, 255, 255, .07);
    border: 1px solid rgba(255, 255, 255, .12);
}
.dv-auth-perks li > i {
    flex: 0 0 auto;
    display: grid;
    place-items: center;
    width: 38px;
    height: 38px;
    border-radius: 12px;
    color: #ddd6fe;
    background: rgba(167, 139, 250, .22);
}
.dv-auth-perks strong { display: block; font-size: .92rem; }
.dv-auth-perks span { display: block; font-size: .8rem; color: #c4b5fd; }

/* ---------- Painel do formulário ---------- */
.dv-auth-panel {
    padding: 40px;
    min-width: 0;
}
.dv-auth-head { margin-bottom: 24px; }
.dv-auth-head h2 {
    margin: 0 0 6px;
    font-size: 1.9rem;
    font-weight: 800;
    color: #14102b;
}
.dv-auth-head p { margin: 0; color: #6b6785; }

.dv-field { margin-bottom: 16px; }
.dv-label {
    display: block;
    margin-bottom: 6px;
    font-size: .88rem;
    font-weight: 600;
    color: #2a2545;
}
.dv-label-row {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 12px;
}
.dv-link-sm { font-size: .85rem; font-weight: 600; text-decoration: none; }
.dv-link-sm:hover { text-decoration: underline; }

.dv-input { position: relative; }
.dv-input > i:first-child {
    position: absolute;
    left: 16px;
    top: 50%;
    transform: translateY(-50%);
    color: #8b7fc7;
    pointer-events: none;
    transition: color .2s;
}
.dv-input .form-control {
    padding-left: 46px;
    padding-right: 46px;
    border-radius: 14px;
    background: #f6f4ff;
    border: 1.5px solid #e6e0fb;
    transition: border-color .2s, box-shadow .2s, background .2s;
}
.dv-input .form-control:focus {
    background: #fff;
    border-color: #7c3aed;
    box-shadow: 0 0 0 4px rgba(124, 58, 237, .14);
}
.dv-input:focus-within > i:first-child { color: #7c3aed; }

/* remove o azul do autofill do navegador */
.dv-input .form-control:-webkit-autofill,
.dv-input .form-control:-webkit-autofill:focus {
    -webkit-box-shadow: 0 0 0 1000px #f6f4ff inset;
    -webkit-text-fill-color: #14102b;
}

.dv-eye {
    position: absolute;
    right: 8px;
    top: 50%;
    transform: translateY(-50%);
    width: 36px;
    height: 36px;
    border: 0;
    border-radius: 10px;
    background: transparent;
    color: #8b7fc7;
    cursor: pointer;
}
.dv-eye:hover { background: rgba(124, 58, 237, .1); color: #7c3aed; }

.dv-auth-panel .form-check-input { border-radius: 6px; border-color: #cfc6f3; }
.dv-auth-panel .form-check-input:checked { background-color: #7c3aed; border-color: #7c3aed; }

.dv-auth-submit {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    padding: 14px 20px;
    margin-top: 6px;
    border: 0;
    border-radius: 999px;
    font-weight: 700;
    color: #fff;
    background: linear-gradient(90deg, #6d28d9 0%, #9333ea 100%);
    box-shadow: 0 12px 24px -10px rgba(109, 40, 217, .65);
    transition: transform .2s, box-shadow .2s, filter .2s;
}
.dv-auth-submit:hover {
    color: #fff;
    transform: translateY(-2px);
    filter: brightness(1.07);
    box-shadow: 0 16px 28px -10px rgba(109, 40, 217, .75);
}
.dv-auth-submit i { transition: transform .2s; }
.dv-auth-submit:hover i { transform: translateX(4px); }

/* divisor "ou" só aparece se houver botões OAuth */
.dv-oauth:has(a, button)::before {
    content: "ou continue com";
    display: block;
    margin: 22px 0 14px;
    text-align: center;
    font-size: .82rem;
    color: #8a86a3;
}

.dv-auth-switch {
    margin: 24px 0 0;
    text-align: center;
    color: #6b6785;
}
.dv-auth-switch a { font-weight: 700; text-decoration: none; }
.dv-auth-switch a:hover { text-decoration: underline; }

/* ---------- Tablet / celular ---------- */
@media (max-width: 991.98px) {
    .dv-auth { grid-template-columns: 1fr; max-width: 560px; }

    .dv-auth-hero { padding: 24px; gap: 14px; }
    .dv-auth-hero-title { font-size: 1.55rem; margin-bottom: 8px; }
    .dv-auth-hero-text { font-size: .92rem; }
    .dv-auth-perks { display: none; } /* banner compacto no mobile */
}

@media (max-width: 575.98px) {
    .dv-auth { border-radius: 22px; }
    .dv-auth-panel { padding: 24px 20px 28px; }
    .dv-auth-head h2 { font-size: 1.6rem; }
    .dv-input .form-control { font-size: 16px; } /* evita zoom automático no iOS */
}
/* ==========================================================
   SELEÇÃO DE TEXTO — faixa roxa clara, texto escuro e legível
   ========================================================== */
html body ::selection,
html body *::selection {
    background: #c4b5fd !important;
    color: #1a1230 !important;
    -webkit-text-fill-color: #1a1230 !important;
    text-shadow: none !important;
}

html body ::-moz-selection,
html body *::-moz-selection {
    background: #c4b5fd !important;
    color: #1a1230 !important;
}/* ---------- título da página ---------- */
html body .dv-catpage-head {
    margin: 0 0 28px;
}

html body .dv-catpage-title {
    margin: 0;
    color: #1a1230;
    font-size: clamp(32px, 4.6vw, 52px);
    font-weight: 800;
    line-height: 1.08;
    letter-spacing: -.035em;
}

html body .dv-catpage-title span {
    display: inline-block;
    padding-bottom: .08em;
    background: linear-gradient(90deg, #7c3aed, #a855f7 50%, #3b82f6);
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
    color: transparent;
}

html body .dv-catpage-sub {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 10px 14px;
    margin-top: 12px;
}

html body .dv-catpage-sub p {
    max-width: 520px;
    margin: 0;
    color: #6b6486;
    font-size: 15px;
    line-height: 1.6;
}

html body .dv-catpage-total {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    padding: 6px 14px;
    border: 1px solid #d9ccff;
    border-radius: 999px;
    background: #f5f0ff;
    color: #6d28d9;
    font-size: 12.5px;
    font-weight: 700;
    white-space: nowrap;
}

/* ---------- remove o espaço vazio criado pelo layout ---------- */
html body:has(.dv-catpage-wrap) h1:empty,
html body:has(.dv-catpage-wrap) .section-header:has(h1:empty) {
    display: none !important;
    margin: 0 !important;
    padding: 0 !important;
}

html body:has(.dv-catpage-wrap) section {
    padding-top: 0 !important;
}

html body:has(.dv-catpage-wrap) nav[aria-label="breadcrumb"] {
    margin-bottom: 0 !important;
}

html body .dv-catpage-wrap {
    margin-top: 0;
}

html body:has(.dv-catpage-wrap) .dv-catpage-head {
    margin-top: 16px;
}

/* ---------- cartão da categoria ---------- */
html body .dv-catpage .dv-catcard {
    --tint-a: #f1eaff;
    --tint-b: #e0d4ff;
    --tint-fg: #6d28d9;
    display: flex;
    flex-direction: column;
    height: 100%;
    overflow: hidden;
    border: 1px solid #e7e1f7;
    border-radius: 24px;
    background: #fff;
    box-shadow: 0 2px 6px rgba(36, 16, 68, .04), 0 14px 38px rgba(36, 16, 68, .06);
    transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease;
}

html body .dv-catpage .dv-catcard:hover {
    transform: translateY(-4px);
    border-color: #d9ccff;
    box-shadow: 0 4px 10px rgba(109, 40, 217, .06), 0 22px 48px rgba(109, 40, 217, .14);
}

/* cores alternadas */
html body .dv-catpage .col:nth-child(6n+2) .dv-catcard { --tint-a: #e8f1ff; --tint-b: #d3e4ff; --tint-fg: #2563eb; }
html body .dv-catpage .col:nth-child(6n+3) .dv-catcard { --tint-a: #fff4e0; --tint-b: #ffe6bd; --tint-fg: #d97706; }
html body .dv-catpage .col:nth-child(6n+4) .dv-catcard { --tint-a: #ffe9ee; --tint-b: #ffd3dd; --tint-fg: #e11d48; }
html body .dv-catpage .col:nth-child(6n+5) .dv-catcard { --tint-a: #e6fbf1; --tint-b: #c9f3de; --tint-fg: #059669; }
html body .dv-catpage .col:nth-child(6n+6) .dv-catcard { --tint-a: #e3f8fb; --tint-b: #c8eef5; --tint-fg: #0891b2; }

/* ---------- cabeçalho ---------- */
html body .dv-catpage .dv-catcard-header {
    display: flex;
    align-items: center;
    gap: 16px;
    padding: 22px 24px;
    border-bottom: 1px dashed #e7e1f7;
    background: linear-gradient(180deg, #faf8ff, #fff);
    text-decoration: none;
}

html body .dv-catpage .dv-catcard-icon {
    display: grid;
    flex: 0 0 56px;
    place-items: center;
    width: 56px;
    height: 56px;
    border-radius: 18px;
    background: linear-gradient(145deg, var(--tint-a), var(--tint-b));
    color: var(--tint-fg);
    font-size: 22px;
    box-shadow: 0 10px 22px rgba(36, 16, 68, .10), inset 0 1px 0 rgba(255, 255, 255, .9);
    transition: transform .25s ease;
}

html body .dv-catpage .dv-catcard-icon i {
    margin: 0;
    color: inherit;
    line-height: 1;
}

html body .dv-catpage .dv-catcard:hover .dv-catcard-icon {
    transform: scale(1.06) rotate(-4deg);
}

html body .dv-catpage .dv-catcard-info {
    flex: 1 1 auto;
    min-width: 0;
}

html body .dv-catpage .dv-catcard-title {
    margin: 0 0 6px;
    overflow: hidden;
    color: #1a1230;
    font-size: 18px;
    font-weight: 800;
    letter-spacing: -.01em;
    line-height: 1.2;
    text-overflow: ellipsis;
    white-space: nowrap;
}

html body .dv-catpage .dv-catcard-header:hover .dv-catcard-title {
    color: #6d28d9;
}

html body .dv-catpage .dv-catcard-count {
    display: inline-flex;
    align-items: center;
    padding: 3px 11px;
    border: 1px solid #e7dcff;
    border-radius: 999px;
    background: #f5f0ff;
    color: #6d28d9;
    font-size: 12px;
    font-weight: 700;
}

html body .dv-catpage .dv-catcard-arrow {
    display: grid;
    flex: 0 0 36px;
    place-items: center;
    width: 36px;
    height: 36px;
    border: 1px solid #e7e1f7;
    border-radius: 50%;
    background: #fff;
    color: #8b5cf6;
    font-size: 12px;
    transition: background .2s, color .2s, transform .2s, border-color .2s;
}

html body .dv-catpage .dv-catcard-header:hover .dv-catcard-arrow {
    border-color: transparent;
    background: linear-gradient(135deg, #8b5cf6, #6d28d9);
    color: #fff;
    transform: translateX(3px);
}

/* ---------- subcategorias ---------- */
html body .dv-catpage .dv-catcard-body {
    flex: 1 1 auto;
    padding: 12px 14px 16px;
}

html body .dv-catpage .dv-catcard-links {
    display: grid;
    gap: 2px;
}

html body .dv-catpage .dv-catcard-link {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 10px 12px;
    border-radius: 14px;
    color: #4b4466;
    font-size: 14px;
    font-weight: 500;
    text-decoration: none;
    transition: background .2s, color .2s, transform .2s;
}

html body .dv-catpage .dv-catcard-link i {
    display: grid;
    flex: 0 0 28px;
    place-items: center;
    width: 28px;
    height: 28px;
    margin: 0;
    border-radius: 9px;
    background: #f5f0ff;
    color: #8b5cf6;
    font-size: 11px;
    transition: background .2s, color .2s;
}

html body .dv-catpage .dv-catcard-link-name {
    flex: 1 1 auto;
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

html body .dv-catpage .dv-catcard-link-count {
    flex: 0 0 auto;
    min-width: 28px;
    padding: 2px 9px;
    border-radius: 999px;
    background: #f3f0fa;
    color: #8a82a8;
    font-size: 12px;
    font-weight: 700;
    text-align: center;
}

/* subcategoria com produtos ganha destaque */
html body .dv-catpage .dv-catcard-link.has-items .dv-catcard-link-count {
    background: #dcfce7;
    color: #15803d;
}

html body .dv-catpage .dv-catcard-link:hover {
    background: #faf8ff;
    color: #6d28d9;
    transform: translateX(3px);
}

html body .dv-catpage .dv-catcard-link:hover i {
    background: linear-gradient(135deg, #8b5cf6, #6d28d9);
    color: #fff;
}

html body .dv-catpage .dv-catcard a:focus-visible {
    outline: 2px solid #8b5cf6;
    outline-offset: -2px;
}

/* ---------- nada encontrado ---------- */
html body .dv-catpage-empty {
    padding: 48px 28px;
    border: 1px solid #e7e1f7;
    border-radius: 24px;
    background: #fff;
    box-shadow: 0 8px 28px rgba(36, 16, 68, .05);
    color: #6b6486;
    text-align: center;
}

html body .dv-catpage-empty i {
    display: inline-grid;
    place-items: center;
    width: 72px;
    height: 72px;
    margin-bottom: 14px;
    border-radius: 50%;
    background: linear-gradient(135deg, #f5f0ff, #e7dcff);
    color: #8b5cf6;
    font-size: 28px;
}

@media (max-width: 575.98px) {
    html body .dv-catpage .dv-catcard-header {
        padding: 18px;
    }

    html body .dv-catpage .dv-catcard-icon {
        flex-basis: 48px;
        width: 48px;
        height: 48px;
        border-radius: 15px;
        font-size: 19px;
    }

    html body .dv-catpage .dv-catcard-title {
        font-size: 16px;
    }
}

@media (prefers-reduced-motion: reduce) {
    html body .dv-catpage .dv-catcard,
    html body .dv-catpage .dv-catcard-icon,
    html body .dv-catpage .dv-catcard-arrow,
    html body .dv-catpage .dv-catcard-link {
        transition: none;
    }

    html body .dv-catpage .dv-catcard:hover,
    html body .dv-catpage .dv-catcard:hover .dv-catcard-icon,
    html body .dv-catpage .dv-catcard-header:hover .dv-catcard-arrow,
    html body .dv-catpage .dv-catcard-link:hover {
        transform: none;
    }
}
/* categorias: encolhe o header do tema, mantendo respiro sob a navbar */
html body:has(.dv-catpage-wrap) header.header-bg {
    padding-top: 24px !important;
    padding-bottom: 0 !important;
    min-height: 0 !important;
}

html body:has(.dv-catpage-wrap) header.header-bg .header-inner {
    padding: 0 !important;
    min-height: 0 !important;
    margin: 0 !important;
}

html body:has(.dv-catpage-wrap) header.header-bg + section.section {
    padding-top: 0 !important;
}

html body:has(.dv-catpage-wrap) header.header-bg nav[aria-label="breadcrumb"] {
    margin: 0 !important;
}

html body:has(.dv-catpage-wrap) .dv-catpage-head {
    margin-top: 8px;
}html body:has(.dv-catpage-wrap) header.header-bg {
    position: relative;
    z-index: 1;
}
