:root{--rdsm-bg:#050812;--rdsm-bg2:#071126;--rdsm-card:rgba(10,18,40,.62);--rdsm-card2:rgba(12,24,56,.82);--rdsm-line:rgba(73,143,255,.20);--rdsm-blue:#168cff;--rdsm-blue2:#42c7ff;--rdsm-txt:#f7fbff;--rdsm-muted:#aab7cf}
.rdsm-root,.rdsm-root *{box-sizing:border-box}.rdsm-root{position:relative;min-height:100vh;overflow:hidden;background:var(--rdsm-bg);color:var(--rdsm-txt);font-family:Inter,Arial,sans-serif;isolation:isolate}.rdsm-root:before{content:"";position:absolute;inset:0;z-index:-5;background:radial-gradient(circle at 75% 20%,rgba(22,140,255,.24),transparent 34%),radial-gradient(circle at 20% 70%,rgba(0,217,255,.10),transparent 35%),linear-gradient(180deg,#03050c,#071126 45%,#03050c)}.rdsm-root:after{content:"";position:absolute;inset:0;z-index:-4;background-image:linear-gradient(rgba(66,199,255,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(66,199,255,.035) 1px,transparent 1px);background-size:56px 56px;mask-image:linear-gradient(to bottom,transparent,#000 12%,#000 82%,transparent);pointer-events:none}.rdsm-noise{position:absolute;inset:0;pointer-events:none;z-index:-2;opacity:.08;background-image:repeating-radial-gradient(circle at 20% 10%,#fff 0 1px,transparent 1px 6px)}.rdsm-ambient-icons span{position:absolute;left:var(--x);top:var(--y);font-size:86px;color:#fff;opacity:.035;transform:rotate(var(--r));z-index:-1;pointer-events:none}.rdsm-cursor-glow{position:fixed;width:260px;height:260px;border-radius:50%;background:radial-gradient(circle,rgba(22,140,255,.09),transparent 68%);pointer-events:none;translate:-50% -50%;z-index:1;mix-blend-mode:screen}.rdsm-root a{color:inherit;text-decoration:none}.rdsm-section{padding:90px 8vw}.rdsm-hero{min-height:calc(100vh - 40px);display:grid;grid-template-columns:1fr 1.05fr;align-items:center;gap:40px;padding-top:70px;padding-bottom:30px}.rdsm-eyebrow{display:flex;align-items:center;gap:0;color:var(--rdsm-blue2);font-weight:900;letter-spacing:.08em;font-size:13px;text-transform:uppercase}.rdsm-eyebrow.center{justify-content:center}.rdsm-hero h1{font-size:clamp(46px,6.3vw,90px);line-height:1.03;margin:25px 0 20px;letter-spacing:-.055em;color:var(--rdsm-txt)}.rdsm-hero strong{color:var(--rdsm-blue);font-style:normal;text-shadow:0 0 10px rgba(22,140,255,.18)!important}.rdsm-typing-cursor{display:inline-block;width:3px;height:.9em;background:var(--rdsm-blue2);margin-left:5px;vertical-align:-8px;animation:rdsmBlink .8s infinite}.rdsm-hero-actions{display:flex;gap:16px;margin-top:26px;flex-wrap:wrap}.rdsm-solid-btn,.rdsm-outline-btn{position:relative;z-index:3;display:inline-flex;gap:10px;align-items:center;border-radius:14px;padding:16px 24px;font-weight:800;overflow:hidden;transition:border-color .25s ease,box-shadow .25s ease,background .25s ease}.rdsm-solid-btn{border:0;background:linear-gradient(135deg,#127cff,#3f8dff);box-shadow:0 15px 45px rgba(18,124,255,.28)}.rdsm-outline-btn{border:1px solid var(--rdsm-line);background:rgba(7,15,35,.38)}.rdsm-solid-btn:before,.rdsm-outline-btn:before{content:"";position:absolute;inset:0;opacity:0;pointer-events:none;background:radial-gradient(circle at 50% 0%,rgba(255,255,255,.20),transparent 32%),linear-gradient(135deg,rgba(22,140,255,.40),rgba(66,199,255,.16));transition:opacity .22s ease}.rdsm-solid-btn:hover,.rdsm-outline-btn:hover{border-color:rgba(66,199,255,.75);box-shadow:0 18px 50px rgba(22,140,255,.30),inset 0 0 0 1px rgba(255,255,255,.06)}.rdsm-solid-btn:hover:before,.rdsm-outline-btn:hover:before{opacity:1}.rdsm-hero-art{position:relative;min-height:660px;display:grid;place-items:center;animation:rdsmFloat 5.5s ease-in-out infinite}.rdsm-hero-art img{position:relative;z-index:3;width:min(720px,62vw);filter:drop-shadow(0 35px 70px rgba(0,0,0,.55)) drop-shadow(0 0 45px rgba(22,140,255,.20));-webkit-mask-image:linear-gradient(to top,transparent 0%,rgba(0,0,0,.35) 12%,#000 30%);mask-image:linear-gradient(to top,transparent 0%,rgba(0,0,0,.35) 12%,#000 30%)}.rdsm-art-ring{position:absolute;width:min(560px,52vw);height:min(560px,52vw);border-radius:50%;border:1px solid rgba(66,199,255,.16);background:radial-gradient(circle,rgba(22,140,255,.13),transparent 62%);filter:blur(.2px);animation:rdsmSpin 24s linear infinite}.rdsm-art-glow{position:absolute;z-index:1;width:480px;height:260px;bottom:55px;border-radius:50%;background:radial-gradient(circle,rgba(22,140,255,.30),rgba(66,199,255,.08) 45%,transparent 74%);filter:blur(55px)}.rdsm-trust-strip{position:relative;z-index:2;margin:24px auto 80px;max-width:1050px;display:grid;grid-template-columns:repeat(4,1fr);border:1px solid rgba(73,143,255,.22);border-radius:24px;background:linear-gradient(180deg,rgba(9,18,42,.78),rgba(8,15,34,.56));backdrop-filter:blur(16px);box-shadow:0 20px 70px rgba(0,0,0,.25),inset 0 1px 0 rgba(255,255,255,.05);overflow:hidden}.rdsm-trust-card{position:relative;min-height:118px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;border-right:1px solid rgba(73,143,255,.14);overflow:hidden}.rdsm-trust-card:last-child{border-right:0}.rdsm-trust-card:before{content:"";position:absolute;left:50%;top:48%;width:110px;height:74px;transform:translate(-50%,-50%);border-radius:50%;background:radial-gradient(circle,rgba(22,140,255,.22),rgba(22,140,255,.08) 45%,transparent 76%);filter:blur(18px);opacity:.9}.rdsm-trust-number{position:relative;z-index:1;display:block;text-align:center;width:100%;font-size:33px;font-weight:950;letter-spacing:-.04em;color:#fff}.rdsm-trust-number em{font-style:normal}.rdsm-trust-card small{position:relative;z-index:1;display:block;width:100%;margin-top:7px;color:var(--rdsm-muted);font-weight:700;text-align:center}.rdsm-categories{padding-top:80px}.rdsm-section-title{text-align:center;margin-bottom:38px}.rdsm-section-title h2{font-size:clamp(34px,4vw,58px);margin:14px 0 0;letter-spacing:-.05em;color:#fff}.rdsm-category-grid{display:grid;margin:0 auto}.rdsm-minimal-categories{max-width:1030px;grid-template-columns:repeat(3,1fr);gap:22px}.rdsm-category-card{position:relative;display:flex;flex-direction:column;color:var(--rdsm-txt);text-decoration:none}.rdsm-category-card.rdsm-minimal{min-height:150px;align-items:center;justify-content:center;text-align:center;padding:28px 22px;border-radius:13px;background:rgba(7,13,34,.74);border:1px solid rgba(94,126,190,.18);box-shadow:inset 0 1px 0 rgba(255,255,255,.035),0 16px 42px rgba(0,0,0,.18);backdrop-filter:blur(12px);isolation:isolate;transition:border-color .22s ease,box-shadow .22s ease}.rdsm-category-card.rdsm-minimal:before{content:"";position:absolute;inset:0;opacity:0;background:radial-gradient(circle at 50% 0%,color-mix(in srgb,var(--accent) 20%,transparent),transparent 54%);transition:opacity .25s ease;border-radius:13px}.rdsm-category-card.rdsm-minimal:hover{border-color:var(--accent);box-shadow:0 0 0 1px color-mix(in srgb,var(--accent) 36%,transparent),inset 0 0 0 1px color-mix(in srgb,var(--accent) 16%,transparent)!important}.rdsm-category-card.rdsm-minimal:hover:before{opacity:.38}.rdsm-cat-icon{position:relative;z-index:1;width:58px;height:58px;display:grid;place-items:center;margin:0 0 18px;color:#f7fbff;transition:color .25s ease}.rdsm-cat-icon img{max-width:58px;max-height:58px;object-fit:contain;filter:grayscale(.1) brightness(1.05);transition:filter .25s ease}.rdsm-cat-icon span{font-size:31px;font-weight:950;letter-spacing:-.08em}.rdsm-category-card:hover .rdsm-cat-icon{color:var(--accent)}.rdsm-category-card:hover .rdsm-cat-icon img{filter:drop-shadow(0 0 0 transparent) brightness(1.1) saturate(1.2)}.rdsm-category-card h3{position:relative;z-index:1;margin:0;font-size:21px;letter-spacing:-.035em;color:#fff}.rdsm-empty{text-align:center;color:var(--rdsm-muted)}.rdsm-reviews{padding-top:70px}.rdsm-review-wall{max-width:1100px;margin:0 auto;height:420px;display:grid;grid-template-columns:repeat(3,1fr);gap:18px;overflow:hidden;mask-image:linear-gradient(to bottom,transparent,#000 12%,#000 88%,transparent)}.rdsm-review-col{display:flex;flex-direction:column;gap:18px}.rdsm-review-col.up{animation:rdsmMoveUp 22s linear infinite}.rdsm-review-col.down{animation:rdsmMoveDown 22s linear infinite}.rdsm-review{padding:22px;border-radius:20px;background:rgba(9,18,42,.70);border:1px solid rgba(73,143,255,.16);box-shadow:0 15px 45px rgba(0,0,0,.18)}.rdsm-review .stars{color:#6bd1ff;letter-spacing:2px}.rdsm-review p{color:#eaf2ff;line-height:1.55;margin:12px 0}.rdsm-review small{color:var(--rdsm-muted)}.rdsm-reveal{opacity:0;transform:translateY(26px);transition:opacity .7s ease,transform .7s ease}.rdsm-reveal.show{opacity:1;transform:none}@keyframes rdsmBlink{50%{opacity:0}}@keyframes rdsmFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-14px)}}@keyframes rdsmSpin{to{transform:rotate(360deg)}}@keyframes rdsmMoveUp{to{transform:translateY(-50%)}}@keyframes rdsmMoveDown{from{transform:translateY(-50%)}to{transform:translateY(0)}}
@media(max-width:1400px){.rdsm-hero{grid-template-columns:1.08fr .92fr}.rdsm-hero-art{min-height:560px}.rdsm-hero-art img{width:min(610px,48vw)}}@media(max-width:980px){.rdsm-hero{grid-template-columns:1fr;text-align:left}.rdsm-hero-art{min-height:430px}.rdsm-hero-art img{width:min(620px,92vw)}.rdsm-trust-strip{grid-template-columns:repeat(2,1fr);margin-inline:5vw}.rdsm-trust-card:nth-child(2){border-right:0}.rdsm-minimal-categories{grid-template-columns:repeat(2,1fr)}.rdsm-review-wall{grid-template-columns:1fr;height:460px}.rdsm-review-col:nth-child(n+2){display:none}}@media(max-width:560px){.rdsm-section{padding:64px 5vw}.rdsm-hero h1{font-size:44px}.rdsm-trust-strip{grid-template-columns:1fr}.rdsm-trust-card{border-right:0;border-bottom:1px solid rgba(73,143,255,.14)}.rdsm-trust-card:last-child{border-bottom:0}.rdsm-minimal-categories{grid-template-columns:1fr}.rdsm-category-card.rdsm-minimal{min-height:142px}}
@media(prefers-reduced-motion:reduce){.rdsm-reveal,.rdsm-review-col,.rdsm-hero-art,.rdsm-art-ring{animation:none!important;transition:none!important;transform:none!important;opacity:1!important}}


/* v0.6 ajuste fiel ao preview: hero mais largo, sem círculo atrás do elemento e animações reais */
.rdsm-hero{grid-template-columns:minmax(620px,1.22fr) minmax(380px,.78fr)!important;gap:18px!important;align-items:center!important;padding-top:105px!important;padding-bottom:54px!important;min-height:calc(100vh - 10px)!important;}
.rdsm-hero-copy{max-width:880px!important;margin-top:22px!important;}
.rdsm-hero h1{max-width:880px!important;font-size:clamp(50px,5.25vw,86px)!important;line-height:1.04!important;}
.rdsm-hero strong{display:inline-block;white-space:nowrap;text-shadow:0 0 10px rgba(22,140,255,.16)!important;}
.rdsm-hero-art{min-height:620px!important;animation:rdsmHeroFloat 6.5s ease-in-out infinite!important;will-change:transform;}
.rdsm-art-ring{display:none!important;}
.rdsm-art-glow{width:520px!important;height:290px!important;bottom:42px!important;background:radial-gradient(circle,rgba(22,140,255,.26),rgba(66,199,255,.08) 42%,transparent 76%)!important;filter:blur(62px)!important;}
.rdsm-hero-art img{width:min(680px,48vw)!important;}

/* Entrada: começa realmente invisível e entra com fade/slide suave */
.rdsm-reveal{opacity:0!important;transform:translate3d(0,32px,0)!important;transition:none!important;will-change:opacity,transform;}
.rdsm-reveal.show{animation:rdsmRevealIn .72s cubic-bezier(.17,.84,.44,1) both!important;}
.rdsm-category-card.rdsm-reveal.show:nth-child(2){animation-delay:.08s!important;}
.rdsm-category-card.rdsm-reveal.show:nth-child(3){animation-delay:.16s!important;}
.rdsm-category-card.rdsm-reveal.show:nth-child(4){animation-delay:.24s!important;}
.rdsm-category-card.rdsm-reveal.show:nth-child(5){animation-delay:.32s!important;}
.rdsm-category-card.rdsm-reveal.show:nth-child(6){animation-delay:.40s!important;}
@keyframes rdsmRevealIn{from{opacity:0;transform:translate3d(0,32px,0)}to{opacity:1;transform:translate3d(0,0,0)}}
@keyframes rdsmHeroFloat{0%,100%{transform:translate3d(0,0,0)}50%{transform:translate3d(0,-16px,0)}}

/* O glow do cursor fica atrás dos botões/conteúdo */
.rdsm-cursor-glow{z-index:0!important;}
.rdsm-hero-copy,.rdsm-hero-art,.rdsm-trust-strip,.rdsm-categories,.rdsm-reviews{position:relative;z-index:2;}

@media(max-width:1500px){
  .rdsm-hero{grid-template-columns:minmax(560px,1.18fr) minmax(340px,.82fr)!important;padding-top:92px!important;gap:14px!important;}
  .rdsm-hero h1{font-size:clamp(48px,5vw,76px)!important;max-width:820px!important;}
  .rdsm-hero-copy{max-width:820px!important;}
  .rdsm-hero-art{min-height:560px!important;}
  .rdsm-hero-art img{width:min(610px,45vw)!important;}
}
@media(max-width:1366px){
  .rdsm-hero{grid-template-columns:minmax(520px,1.14fr) minmax(310px,.86fr)!important;padding-top:82px!important;padding-bottom:38px!important;gap:8px!important;}
  .rdsm-hero h1{font-size:clamp(44px,4.8vw,66px)!important;max-width:780px!important;}
  .rdsm-hero-copy{max-width:780px!important;margin-top:12px!important;}
  .rdsm-hero-art{min-height:500px!important;}
  .rdsm-hero-art img{width:min(540px,42vw)!important;}
}
@media(max-width:980px){
  .rdsm-hero{grid-template-columns:1fr!important;padding-top:74px!important;}
  .rdsm-hero h1,.rdsm-hero-copy{max-width:100%!important;}
  .rdsm-hero strong{white-space:normal;}
  .rdsm-hero-art{min-height:430px!important;}
  .rdsm-hero-art img{width:min(620px,92vw)!important;}
}
@media(prefers-reduced-motion:reduce){.rdsm-reveal{opacity:1!important;transform:none!important}.rdsm-reveal.show{animation:none!important}.rdsm-hero-art{animation:none!important}}

/* v0.7: correção real do elemento flutuante + animações em WordPress */
.rdsm-hero-art{
  opacity:1!important;
  transform:none!important;
  animation:none!important;
  will-change:auto!important;
}
.rdsm-hero-art img{
  animation:rdsmHeroImageFloat 6.8s ease-in-out infinite!important;
  transform-origin:50% 58%;
  will-change:transform;
}
@keyframes rdsmHeroImageFloat{
  0%,100%{transform:translate3d(0,0,0) rotate(0deg)}
  50%{transform:translate3d(0,-16px,0) rotate(.45deg)}
}
.rdsm-art-glow{
  animation:rdsmHeroGlowFloat 6.8s ease-in-out infinite!important;
}
@keyframes rdsmHeroGlowFloat{
  0%,100%{transform:translate3d(0,0,0);opacity:.88}
  50%{transform:translate3d(0,-8px,0);opacity:1}
}
@media(prefers-reduced-motion:reduce){
  .rdsm-hero-art img,.rdsm-art-glow{animation:none!important;}
}

/* v0.8: categorias configuráveis sem fallback, ícone maior e recolor no hover */
.rdsm-category-card.rdsm-minimal{
  overflow:hidden;
}
.rdsm-category-card.rdsm-minimal:after{
  content:"";
  position:absolute;
  inset:-1px;
  border-radius:13px;
  pointer-events:none;
  opacity:0;
  background:radial-gradient(circle at 50% 18%, color-mix(in srgb,var(--accent) 18%, transparent), transparent 58%);
  transition:opacity .24s ease;
}
.rdsm-category-card.rdsm-minimal:hover:after{opacity:.9;}
.rdsm-cat-icon{
  position:relative!important;
  z-index:2!important;
  width:86px!important;
  height:72px!important;
  display:grid!important;
  place-items:center!important;
  margin:0 0 15px!important;
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
  overflow:visible!important;
  color:#fff;
}
.rdsm-cat-icon-image img{
  width:78px!important;
  height:78px!important;
  max-width:78px!important;
  max-height:78px!important;
  object-fit:contain!important;
  display:block!important;
  background:transparent!important;
  box-shadow:none!important;
  border:0!important;
  mix-blend-mode:screen;
  opacity:.96;
  filter:none!important;
  transition:opacity .22s ease, transform .22s ease;
}
.rdsm-cat-icon-image:after{
  content:"";
  position:absolute;
  left:50%;
  top:50%;
  width:78px;
  height:78px;
  transform:translate(-50%,-50%);
  background:var(--accent);
  opacity:0;
  pointer-events:none;
  -webkit-mask-image:var(--icon-url);
  mask-image:var(--icon-url);
  -webkit-mask-repeat:no-repeat;
  mask-repeat:no-repeat;
  -webkit-mask-position:center;
  mask-position:center;
  -webkit-mask-size:contain;
  mask-size:contain;
  transition:opacity .22s ease;
}
.rdsm-category-card:hover .rdsm-cat-icon-image img{opacity:0;}
.rdsm-category-card:hover .rdsm-cat-icon-image:after{opacity:1;}
.rdsm-category-card h3{
  z-index:2!important;
}

/* v0.9: ícones de categoria sem fundo cinza + recolor seguro no hover */
.rdsm-category-card.rdsm-minimal{
  overflow:hidden!important;
}
.rdsm-category-card.rdsm-minimal:after{
  content:"";
  position:absolute;
  inset:0;
  border-radius:13px;
  pointer-events:none;
  opacity:0;
  background:radial-gradient(circle at 50% 20%, color-mix(in srgb,var(--accent) 18%, transparent), transparent 62%);
  transition:opacity .24s ease;
}
.rdsm-category-card.rdsm-minimal:hover:after{opacity:.62!important;}
.rdsm-cat-icon,
.rdsm-cat-icon-image{
  position:relative!important;
  z-index:3!important;
  width:96px!important;
  height:82px!important;
  display:grid!important;
  place-items:center!important;
  margin:0 0 13px!important;
  padding:0!important;
  background:transparent!important;
  border:0!important;
  outline:0!important;
  box-shadow:none!important;
  overflow:visible!important;
  isolation:isolate!important;
}
.rdsm-cat-icon-image img{
  width:86px!important;
  height:86px!important;
  max-width:86px!important;
  max-height:86px!important;
  object-fit:contain!important;
  display:block!important;
  background:transparent!important;
  border:0!important;
  outline:0!important;
  box-shadow:none!important;
  padding:0!important;
  margin:0!important;
  mix-blend-mode:normal!important;
  filter:none!important;
  opacity:1!important;
  transition:opacity .22s ease, filter .22s ease!important;
}
.rdsm-cat-icon-image:before,
.rdsm-cat-icon-image:after{
  content:"";
  position:absolute;
  left:50%;
  top:50%;
  width:86px;
  height:86px;
  transform:translate(-50%,-50%);
  pointer-events:none;
  background:var(--accent);
  opacity:0;
  -webkit-mask-image:var(--rdsm-processed-icon-url, var(--icon-url));
  mask-image:var(--rdsm-processed-icon-url, var(--icon-url));
  -webkit-mask-repeat:no-repeat;
  mask-repeat:no-repeat;
  -webkit-mask-position:center;
  mask-position:center;
  -webkit-mask-size:contain;
  mask-size:contain;
  transition:opacity .22s ease;
}
.rdsm-cat-icon-image.rdsm-icon-ready:hover img,
.rdsm-category-card:hover .rdsm-cat-icon-image.rdsm-icon-ready img{
  opacity:0!important;
}
.rdsm-cat-icon-image.rdsm-icon-ready:hover:after,
.rdsm-category-card:hover .rdsm-cat-icon-image.rdsm-icon-ready:after{
  opacity:1!important;
}
.rdsm-cat-icon-image.rdsm-icon-fallback:hover img,
.rdsm-category-card:hover .rdsm-cat-icon-image.rdsm-icon-fallback img{
  filter:brightness(1.25) saturate(1.25)!important;
}
.rdsm-category-card h3{z-index:3!important;}

/* v0.10: remove qualquer mini zoom/movimento do ícone no hover */
.rdsm-category-card.rdsm-minimal,
.rdsm-category-card.rdsm-minimal:hover,
.rdsm-cat-icon,
.rdsm-category-card:hover .rdsm-cat-icon,
.rdsm-cat-icon-image,
.rdsm-category-card:hover .rdsm-cat-icon-image,
.rdsm-cat-icon-image img,
.rdsm-category-card:hover .rdsm-cat-icon-image img{
  transform:none!important;
  scale:1!important;
}
.rdsm-cat-icon-image img{
  transition:opacity .18s ease, filter .18s ease!important;
}
.rdsm-cat-icon-image:before,
.rdsm-cat-icon-image:after{
  width:86px!important;
  height:86px!important;
  transform:translate(-50%,-50%)!important;
  scale:1!important;
  transition:opacity .18s ease!important;
}
.rdsm-category-card:hover .rdsm-cat-icon-image:before,
.rdsm-category-card:hover .rdsm-cat-icon-image:after{
  transform:translate(-50%,-50%)!important;
  scale:1!important;
}

/* v0.11: ajuste final do Hero + ícones sem zoom/movimento no hover */
.rdsm-root{
  width:100vw!important;
  max-width:100vw!important;
  margin-left:calc(50% - 50vw)!important;
  margin-right:calc(50% - 50vw)!important;
}
.rdsm-hero{
  grid-template-columns:minmax(700px,1.36fr) minmax(360px,.64fr)!important;
  gap:10px!important;
  padding-left:clamp(44px,7vw,140px)!important;
  padding-right:clamp(28px,5vw,100px)!important;
}
.rdsm-hero-copy{
  width:100%!important;
  max-width:1040px!important;
}
.rdsm-hero h1{
  width:100%!important;
  max-width:1040px!important;
  font-size:clamp(42px,4.55vw,74px)!important;
  line-height:1.08!important;
  letter-spacing:-.052em!important;
}
.rdsm-hero-nowrap{
  white-space:nowrap!important;
}
.rdsm-hero strong{
  display:inline-block!important;
  max-width:100%!important;
  white-space:nowrap!important;
}
.rdsm-hero-art img{
  width:min(610px,42vw)!important;
}

.rdsm-category-card.rdsm-minimal,
.rdsm-category-card.rdsm-minimal:hover,
.rdsm-category-card.rdsm-minimal:focus,
.rdsm-category-card.rdsm-minimal:active,
.rdsm-category-card.rdsm-minimal:hover .rdsm-cat-icon,
.rdsm-category-card.rdsm-minimal:hover .rdsm-cat-icon-image,
.rdsm-category-card.rdsm-minimal:hover .rdsm-cat-icon-image img,
.rdsm-category-card.rdsm-minimal:hover .rdsm-cat-icon-image:before,
.rdsm-category-card.rdsm-minimal:hover .rdsm-cat-icon-image:after{
  transform:none!important;
  translate:0 0!important;
  scale:1!important;
}
.rdsm-cat-icon,
.rdsm-cat-icon-image{
  width:92px!important;
  height:80px!important;
  margin:0 0 14px!important;
  transition:none!important;
}
.rdsm-cat-icon-image img,
.rdsm-cat-icon-image:before,
.rdsm-cat-icon-image:after{
  width:82px!important;
  height:82px!important;
  max-width:82px!important;
  max-height:82px!important;
  inset:auto!important;
  left:50%!important;
  top:50%!important;
  transform:translate(-50%,-50%)!important;
  translate:0 0!important;
  scale:1!important;
  transition:opacity .18s ease!important;
}
.rdsm-cat-icon-image img{
  position:relative!important;
  left:auto!important;
  top:auto!important;
  transform:none!important;
  translate:0 0!important;
  scale:1!important;
}
.rdsm-category-card.rdsm-minimal:hover .rdsm-cat-icon-image img{opacity:0!important;}
.rdsm-category-card.rdsm-minimal:hover .rdsm-cat-icon-image:after{opacity:1!important;}

@media(max-width:1500px){
  .rdsm-hero{grid-template-columns:minmax(620px,1.26fr) minmax(330px,.74fr)!important;padding-left:clamp(36px,6vw,100px)!important;}
  .rdsm-hero h1{font-size:clamp(40px,4.25vw,66px)!important;max-width:940px!important;}
  .rdsm-hero-copy{max-width:940px!important;}
  .rdsm-hero-art img{width:min(560px,40vw)!important;}
}
@media(max-width:1366px){
  .rdsm-hero{grid-template-columns:minmax(590px,1.24fr) minmax(300px,.76fr)!important;padding-top:76px!important;padding-left:clamp(30px,5vw,78px)!important;}
  .rdsm-hero h1{font-size:clamp(38px,4.05vw,58px)!important;max-width:900px!important;line-height:1.1!important;}
  .rdsm-hero-copy{max-width:900px!important;}
  .rdsm-hero-art img{width:min(500px,37vw)!important;}
}
@media(max-width:980px){
  .rdsm-hero{grid-template-columns:1fr!important;padding-left:6vw!important;padding-right:6vw!important;}
  .rdsm-hero h1{font-size:clamp(38px,8.5vw,64px)!important;max-width:100%!important;}
  .rdsm-hero-nowrap,.rdsm-hero strong{white-space:normal!important;}
}

/* v0.12: correção final — categoria SEM deslocamento no hover.
   O card, o ícone e o título ficam travados no mesmo lugar.
   Único efeito do ícone: troca de cor/opacidade pelo mask. */
.rdsm-root .rdsm-category-card.rdsm-minimal,
.rdsm-root .rdsm-category-card.rdsm-minimal:hover,
.rdsm-root .rdsm-category-card.rdsm-minimal:focus,
.rdsm-root .rdsm-category-card.rdsm-minimal:active{
  display:grid!important;
  grid-template-rows:86px auto!important;
  align-content:center!important;
  justify-content:center!important;
  justify-items:center!important;
  align-items:center!important;
  row-gap:10px!important;
  min-height:150px!important;
  padding:28px 22px!important;
  transform:none!important;
  translate:0 0!important;
  scale:1!important;
}

.rdsm-root .rdsm-category-card.rdsm-minimal *,
.rdsm-root .rdsm-category-card.rdsm-minimal:hover *,
.rdsm-root .rdsm-category-card.rdsm-minimal:focus *,
.rdsm-root .rdsm-category-card.rdsm-minimal:active *{
  transform:none!important;
  translate:0 0!important;
  scale:1!important;
}

.rdsm-root .rdsm-category-card.rdsm-minimal .rdsm-cat-icon,
.rdsm-root .rdsm-category-card.rdsm-minimal .rdsm-cat-icon-image,
.rdsm-root .rdsm-category-card.rdsm-minimal:hover .rdsm-cat-icon,
.rdsm-root .rdsm-category-card.rdsm-minimal:hover .rdsm-cat-icon-image{
  grid-row:1!important;
  position:relative!important;
  display:block!important;
  width:92px!important;
  height:86px!important;
  min-width:92px!important;
  min-height:86px!important;
  max-width:92px!important;
  max-height:86px!important;
  margin:0!important;
  padding:0!important;
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
  overflow:visible!important;
}

.rdsm-root .rdsm-category-card.rdsm-minimal .rdsm-cat-icon-image img,
.rdsm-root .rdsm-category-card.rdsm-minimal:hover .rdsm-cat-icon-image img,
.rdsm-root .rdsm-category-card.rdsm-minimal .rdsm-cat-icon-image:before,
.rdsm-root .rdsm-category-card.rdsm-minimal .rdsm-cat-icon-image:after,
.rdsm-root .rdsm-category-card.rdsm-minimal:hover .rdsm-cat-icon-image:before,
.rdsm-root .rdsm-category-card.rdsm-minimal:hover .rdsm-cat-icon-image:after{
  position:absolute!important;
  left:50%!important;
  top:50%!important;
  right:auto!important;
  bottom:auto!important;
  inset:auto!important;
  width:82px!important;
  height:82px!important;
  min-width:82px!important;
  min-height:82px!important;
  max-width:82px!important;
  max-height:82px!important;
  margin:0!important;
  padding:0!important;
  object-fit:contain!important;
  transform:translate(-50%,-50%)!important;
  translate:0 0!important;
  scale:1!important;
  transform-origin:50% 50%!important;
  border:0!important;
  outline:0!important;
  box-shadow:none!important;
}

.rdsm-root .rdsm-category-card.rdsm-minimal .rdsm-cat-icon-image img{
  display:block!important;
  opacity:1!important;
  background:transparent!important;
  filter:none!important;
  transition:opacity .18s ease!important;
}

.rdsm-root .rdsm-category-card.rdsm-minimal .rdsm-cat-icon-image:after{
  content:""!important;
  opacity:0!important;
  background:var(--accent)!important;
  pointer-events:none!important;
  -webkit-mask-image:var(--rdsm-processed-icon-url, var(--icon-url))!important;
  mask-image:var(--rdsm-processed-icon-url, var(--icon-url))!important;
  -webkit-mask-repeat:no-repeat!important;
  mask-repeat:no-repeat!important;
  -webkit-mask-position:center!important;
  mask-position:center!important;
  -webkit-mask-size:contain!important;
  mask-size:contain!important;
  transition:opacity .18s ease!important;
}

.rdsm-root .rdsm-category-card.rdsm-minimal:hover .rdsm-cat-icon-image.rdsm-icon-ready img{
  opacity:0!important;
}
.rdsm-root .rdsm-category-card.rdsm-minimal:hover .rdsm-cat-icon-image.rdsm-icon-ready:after{
  opacity:1!important;
}
.rdsm-root .rdsm-category-card.rdsm-minimal:hover .rdsm-cat-icon-image.rdsm-icon-fallback img{
  opacity:1!important;
  filter:none!important;
}

.rdsm-root .rdsm-category-card.rdsm-minimal h3,
.rdsm-root .rdsm-category-card.rdsm-minimal:hover h3,
.rdsm-root .rdsm-category-card.rdsm-minimal:focus h3,
.rdsm-root .rdsm-category-card.rdsm-minimal:active h3{
  grid-row:2!important;
  position:relative!important;
  z-index:5!important;
  display:block!important;
  width:100%!important;
  margin:0!important;
  padding:0!important;
  line-height:1.15!important;
  text-align:center!important;
  transform:none!important;
  translate:0 0!important;
  scale:1!important;
}

/* v0.13: correção definitiva do hover das categorias
   - card não muda de tamanho/posição
   - ícone e título ficam exatamente no mesmo lugar no hover
   - único efeito do ícone: troca de cor via máscara
*/
.rdsm-root .rdsm-category-card.rdsm-minimal,
.rdsm-root .rdsm-category-card.rdsm-minimal:hover,
.rdsm-root .rdsm-category-card.rdsm-minimal:focus,
.rdsm-root .rdsm-category-card.rdsm-minimal:active{
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:center!important;
  gap:16px!important;
  min-height:176px!important;
  padding:24px 22px!important;
  text-align:center!important;
  transform:none!important;
  translate:0 0!important;
  scale:1!important;
}

.rdsm-root .rdsm-category-card.rdsm-minimal .rdsm-cat-icon,
.rdsm-root .rdsm-category-card.rdsm-minimal:hover .rdsm-cat-icon,
.rdsm-root .rdsm-category-card.rdsm-minimal .rdsm-cat-icon-image,
.rdsm-root .rdsm-category-card.rdsm-minimal:hover .rdsm-cat-icon-image{
  position:relative!important;
  display:block!important;
  flex:0 0 76px!important;
  width:96px!important;
  height:76px!important;
  min-width:96px!important;
  min-height:76px!important;
  max-width:96px!important;
  max-height:76px!important;
  margin:0!important;
  padding:0!important;
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
  overflow:visible!important;
  transform:none!important;
  translate:0 0!important;
  scale:1!important;
}

.rdsm-root .rdsm-category-card.rdsm-minimal .rdsm-cat-icon-image img,
.rdsm-root .rdsm-category-card.rdsm-minimal:hover .rdsm-cat-icon-image img,
.rdsm-root .rdsm-category-card.rdsm-minimal .rdsm-cat-icon-image:after,
.rdsm-root .rdsm-category-card.rdsm-minimal:hover .rdsm-cat-icon-image:after{
  position:absolute!important;
  left:50%!important;
  top:50%!important;
  right:auto!important;
  bottom:auto!important;
  width:82px!important;
  height:82px!important;
  min-width:82px!important;
  min-height:82px!important;
  max-width:82px!important;
  max-height:82px!important;
  margin:0!important;
  padding:0!important;
  object-fit:contain!important;
  transform:translate(-50%,-50%)!important;
  translate:0 0!important;
  scale:1!important;
  transform-origin:50% 50%!important;
  transition:opacity .16s ease!important;
  background:transparent!important;
  border:0!important;
  outline:0!important;
  box-shadow:none!important;
}

.rdsm-root .rdsm-category-card.rdsm-minimal .rdsm-cat-icon-image:before,
.rdsm-root .rdsm-category-card.rdsm-minimal:hover .rdsm-cat-icon-image:before{
  display:none!important;
  content:none!important;
}

.rdsm-root .rdsm-category-card.rdsm-minimal .rdsm-cat-icon-image img{
  opacity:1!important;
  filter:none!important;
}

.rdsm-root .rdsm-category-card.rdsm-minimal .rdsm-cat-icon-image:after{
  content:""!important;
  opacity:0!important;
  background:var(--accent)!important;
  pointer-events:none!important;
  -webkit-mask-image:var(--rdsm-processed-icon-url, var(--icon-url))!important;
  mask-image:var(--rdsm-processed-icon-url, var(--icon-url))!important;
  -webkit-mask-repeat:no-repeat!important;
  mask-repeat:no-repeat!important;
  -webkit-mask-position:center!important;
  mask-position:center!important;
  -webkit-mask-size:contain!important;
  mask-size:contain!important;
}

.rdsm-root .rdsm-category-card.rdsm-minimal:hover .rdsm-cat-icon-image.rdsm-icon-ready img{
  opacity:0!important;
}
.rdsm-root .rdsm-category-card.rdsm-minimal:hover .rdsm-cat-icon-image.rdsm-icon-ready:after{
  opacity:1!important;
}
.rdsm-root .rdsm-category-card.rdsm-minimal:hover .rdsm-cat-icon-image.rdsm-icon-fallback img{
  opacity:1!important;
  filter:none!important;
}

.rdsm-root .rdsm-category-card.rdsm-minimal h3,
.rdsm-root .rdsm-category-card.rdsm-minimal:hover h3,
.rdsm-root .rdsm-category-card.rdsm-minimal:focus h3,
.rdsm-root .rdsm-category-card.rdsm-minimal:active h3{
  position:relative!important;
  z-index:5!important;
  display:block!important;
  flex:0 0 auto!important;
  width:100%!important;
  margin:0!important;
  padding:0!important;
  line-height:1.15!important;
  text-align:center!important;
  transform:none!important;
  translate:0 0!important;
  scale:1!important;
}

/* v14 FIX DEFINITIVO: hover do ícone sem deslocar, sem zoom e sem sumir */
.rdsm-root .rdsm-category-card.rdsm-minimal,
.rdsm-root .rdsm-category-card.rdsm-minimal:hover,
.rdsm-root .rdsm-category-card.rdsm-minimal:focus,
.rdsm-root .rdsm-category-card.rdsm-minimal:active{
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:center!important;
  text-align:center!important;
  gap:0!important;
  transform:none!important;
  translate:0 0!important;
  scale:1!important;
}

.rdsm-root .rdsm-category-card.rdsm-minimal .rdsm-cat-icon,
.rdsm-root .rdsm-category-card.rdsm-minimal .rdsm-cat-icon-image,
.rdsm-root .rdsm-category-card.rdsm-minimal:hover .rdsm-cat-icon,
.rdsm-root .rdsm-category-card.rdsm-minimal:hover .rdsm-cat-icon-image,
.rdsm-root .rdsm-category-card.rdsm-minimal:focus .rdsm-cat-icon,
.rdsm-root .rdsm-category-card.rdsm-minimal:focus .rdsm-cat-icon-image,
.rdsm-root .rdsm-category-card.rdsm-minimal:active .rdsm-cat-icon,
.rdsm-root .rdsm-category-card.rdsm-minimal:active .rdsm-cat-icon-image{
  position:relative!important;
  z-index:6!important;
  display:block!important;
  width:66px!important;
  height:66px!important;
  min-width:66px!important;
  min-height:66px!important;
  max-width:66px!important;
  max-height:66px!important;
  flex:0 0 66px!important;
  margin:0 auto 18px!important;
  padding:0!important;
  overflow:visible!important;
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
  transform:none!important;
  translate:0 0!important;
  scale:1!important;
  transition:none!important;
}

.rdsm-root .rdsm-category-card.rdsm-minimal .rdsm-cat-icon-image img,
.rdsm-root .rdsm-category-card.rdsm-minimal:hover .rdsm-cat-icon-image img,
.rdsm-root .rdsm-category-card.rdsm-minimal:focus .rdsm-cat-icon-image img,
.rdsm-root .rdsm-category-card.rdsm-minimal:active .rdsm-cat-icon-image img{
  position:absolute!important;
  inset:0!important;
  display:block!important;
  width:100%!important;
  height:100%!important;
  max-width:none!important;
  max-height:none!important;
  object-fit:contain!important;
  margin:0!important;
  padding:0!important;
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
  transform:none!important;
  translate:0 0!important;
  scale:1!important;
  transition:opacity .18s ease!important;
}

.rdsm-root .rdsm-category-card.rdsm-minimal .rdsm-cat-icon-image:before,
.rdsm-root .rdsm-category-card.rdsm-minimal:hover .rdsm-cat-icon-image:before,
.rdsm-root .rdsm-category-card.rdsm-minimal:focus .rdsm-cat-icon-image:before,
.rdsm-root .rdsm-category-card.rdsm-minimal:active .rdsm-cat-icon-image:before{
  display:none!important;
  content:none!important;
}

.rdsm-root .rdsm-category-card.rdsm-minimal .rdsm-cat-icon-image:after,
.rdsm-root .rdsm-category-card.rdsm-minimal:hover .rdsm-cat-icon-image:after,
.rdsm-root .rdsm-category-card.rdsm-minimal:focus .rdsm-cat-icon-image:after,
.rdsm-root .rdsm-category-card.rdsm-minimal:active .rdsm-cat-icon-image:after{
  content:""!important;
  position:absolute!important;
  inset:0!important;
  z-index:2!important;
  display:block!important;
  width:100%!important;
  height:100%!important;
  margin:0!important;
  padding:0!important;
  background:var(--accent)!important;
  border:0!important;
  box-shadow:none!important;
  opacity:0!important;
  pointer-events:none!important;
  transform:none!important;
  translate:0 0!important;
  scale:1!important;
  transition:opacity .18s ease!important;
  -webkit-mask-image:var(--rdsm-processed-icon-url, var(--icon-url))!important;
  mask-image:var(--rdsm-processed-icon-url, var(--icon-url))!important;
  -webkit-mask-repeat:no-repeat!important;
  mask-repeat:no-repeat!important;
  -webkit-mask-position:center!important;
  mask-position:center!important;
  -webkit-mask-size:contain!important;
  mask-size:contain!important;
}

.rdsm-root .rdsm-category-card.rdsm-minimal .rdsm-cat-icon-image.rdsm-icon-ready img{
  opacity:1!important;
}
.rdsm-root .rdsm-category-card.rdsm-minimal:hover .rdsm-cat-icon-image.rdsm-icon-ready img,
.rdsm-root .rdsm-category-card.rdsm-minimal:focus .rdsm-cat-icon-image.rdsm-icon-ready img,
.rdsm-root .rdsm-category-card.rdsm-minimal:active .rdsm-cat-icon-image.rdsm-icon-ready img{
  opacity:0!important;
}
.rdsm-root .rdsm-category-card.rdsm-minimal:hover .rdsm-cat-icon-image.rdsm-icon-ready:after,
.rdsm-root .rdsm-category-card.rdsm-minimal:focus .rdsm-cat-icon-image.rdsm-icon-ready:after,
.rdsm-root .rdsm-category-card.rdsm-minimal:active .rdsm-cat-icon-image.rdsm-icon-ready:after{
  opacity:1!important;
}

.rdsm-root .rdsm-category-card.rdsm-minimal .rdsm-cat-icon-image.rdsm-icon-fallback img,
.rdsm-root .rdsm-category-card.rdsm-minimal:hover .rdsm-cat-icon-image.rdsm-icon-fallback img{
  opacity:1!important;
  filter:none!important;
}

.rdsm-root .rdsm-category-card.rdsm-minimal h3,
.rdsm-root .rdsm-category-card.rdsm-minimal:hover h3,
.rdsm-root .rdsm-category-card.rdsm-minimal:focus h3,
.rdsm-root .rdsm-category-card.rdsm-minimal:active h3{
  position:relative!important;
  z-index:6!important;
  display:block!important;
  width:100%!important;
  max-width:100%!important;
  flex:0 0 auto!important;
  margin:0!important;
  padding:0!important;
  text-align:center!important;
  line-height:1.15!important;
  transform:none!important;
  translate:0 0!important;
  scale:1!important;
  transition:none!important;
}


/* v15: correção real do ícone no hover
   - o card, ícone e título não mudam de posição
   - o ícone original nunca some se o recolorir falhar
   - quando o recolorir funciona, só troca a opacidade entre dois PNGs no mesmo lugar */
.rdsm-root .rdsm-category-card.rdsm-minimal,
.rdsm-root .rdsm-category-card.rdsm-minimal:hover,
.rdsm-root .rdsm-category-card.rdsm-minimal:focus,
.rdsm-root .rdsm-category-card.rdsm-minimal:active{
  transform:none!important;
  translate:0 0!important;
  scale:1!important;
}
.rdsm-root .rdsm-category-card.rdsm-minimal .rdsm-cat-icon-image,
.rdsm-root .rdsm-category-card.rdsm-minimal:hover .rdsm-cat-icon-image,
.rdsm-root .rdsm-category-card.rdsm-minimal:focus .rdsm-cat-icon-image,
.rdsm-root .rdsm-category-card.rdsm-minimal:active .rdsm-cat-icon-image{
  position:relative!important;
  display:block!important;
  width:66px!important;
  height:66px!important;
  min-width:66px!important;
  min-height:66px!important;
  flex:0 0 66px!important;
  margin:0 auto 18px!important;
  padding:0!important;
  transform:none!important;
  translate:0 0!important;
  scale:1!important;
  background:transparent!important;
  overflow:visible!important;
}
.rdsm-root .rdsm-category-card.rdsm-minimal .rdsm-cat-icon-image:before,
.rdsm-root .rdsm-category-card.rdsm-minimal .rdsm-cat-icon-image:after,
.rdsm-root .rdsm-category-card.rdsm-minimal:hover .rdsm-cat-icon-image:before,
.rdsm-root .rdsm-category-card.rdsm-minimal:hover .rdsm-cat-icon-image:after{
  display:none!important;
  content:none!important;
  opacity:0!important;
}
.rdsm-root .rdsm-category-card.rdsm-minimal .rdsm-cat-icon-image > img{
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
  max-width:none!important;
  max-height:none!important;
  object-fit:contain!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  background:transparent!important;
  box-shadow:none!important;
  transform:none!important;
  translate:0 0!important;
  scale:1!important;
  transition:opacity .18s ease!important;
  filter:none!important;
}
.rdsm-root .rdsm-category-card.rdsm-minimal .rdsm-cat-icon-image > img.rdsm-cat-original-img{
  opacity:1!important;
  z-index:1!important;
}
.rdsm-root .rdsm-category-card.rdsm-minimal .rdsm-cat-icon-image > img.rdsm-cat-hover-img{
  opacity:0!important;
  z-index:2!important;
  pointer-events:none!important;
}
.rdsm-root .rdsm-category-card.rdsm-minimal:hover .rdsm-cat-icon-image.rdsm-icon-canvas-ready > img.rdsm-cat-original-img,
.rdsm-root .rdsm-category-card.rdsm-minimal:focus .rdsm-cat-icon-image.rdsm-icon-canvas-ready > img.rdsm-cat-original-img,
.rdsm-root .rdsm-category-card.rdsm-minimal:active .rdsm-cat-icon-image.rdsm-icon-canvas-ready > img.rdsm-cat-original-img{
  opacity:0!important;
}
.rdsm-root .rdsm-category-card.rdsm-minimal:hover .rdsm-cat-icon-image.rdsm-icon-canvas-ready > img.rdsm-cat-hover-img,
.rdsm-root .rdsm-category-card.rdsm-minimal:focus .rdsm-cat-icon-image.rdsm-icon-canvas-ready > img.rdsm-cat-hover-img,
.rdsm-root .rdsm-category-card.rdsm-minimal:active .rdsm-cat-icon-image.rdsm-icon-canvas-ready > img.rdsm-cat-hover-img{
  opacity:1!important;
}
.rdsm-root .rdsm-category-card.rdsm-minimal:hover .rdsm-cat-icon-image:not(.rdsm-icon-canvas-ready) > img.rdsm-cat-original-img,
.rdsm-root .rdsm-category-card.rdsm-minimal:focus .rdsm-cat-icon-image:not(.rdsm-icon-canvas-ready) > img.rdsm-cat-original-img,
.rdsm-root .rdsm-category-card.rdsm-minimal:active .rdsm-cat-icon-image:not(.rdsm-icon-canvas-ready) > img.rdsm-cat-original-img{
  opacity:1!important;
}
.rdsm-root .rdsm-category-card.rdsm-minimal h3,
.rdsm-root .rdsm-category-card.rdsm-minimal:hover h3,
.rdsm-root .rdsm-category-card.rdsm-minimal:focus h3,
.rdsm-root .rdsm-category-card.rdsm-minimal:active h3{
  transform:none!important;
  translate:0 0!important;
  scale:1!important;
}

/* v16 overrides */
.rdsm-root .rdsm-category-card.rdsm-minimal{transition:border-color .22s ease,box-shadow .22s ease,background .22s ease!important;transform:none!important;}
.rdsm-root .rdsm-category-card.rdsm-minimal:before{transition:opacity .25s ease!important;}
.rdsm-root .rdsm-category-card.rdsm-minimal:hover{border-color:var(--accent)!important;box-shadow:0 0 0 2px color-mix(in srgb,var(--accent) 78%,transparent),0 0 38px color-mix(in srgb,var(--accent) 22%,transparent),inset 0 0 0 1px color-mix(in srgb,var(--accent) 20%,transparent)!important;}
.rdsm-root .rdsm-category-card.rdsm-minimal:hover:before{opacity:.46!important;}
.rdsm-root .rdsm-category-card.rdsm-minimal .rdsm-cat-icon,
.rdsm-root .rdsm-category-card.rdsm-minimal .rdsm-cat-icon-image{width:78px!important;height:78px!important;margin:0 0 20px!important;}
.rdsm-root .rdsm-category-card.rdsm-minimal .rdsm-cat-icon img,
.rdsm-root .rdsm-category-card.rdsm-minimal .rdsm-cat-icon-image > img{max-width:78px!important;max-height:78px!important;}
.rdsm-root .rdsm-category-card.rdsm-minimal:hover .rdsm-cat-icon,
.rdsm-root .rdsm-category-card.rdsm-minimal:hover .rdsm-cat-icon-image,
.rdsm-root .rdsm-category-card.rdsm-minimal:focus .rdsm-cat-icon,
.rdsm-root .rdsm-category-card.rdsm-minimal:focus .rdsm-cat-icon-image{transform:none!important;translate:0 0!important;scale:1!important;top:auto!important;left:auto!important;}


/* v17 — ajustes solicitados: hero, hover, ícone maior e reveal */
.rdsm-root .rdsm-hero{
  gap: clamp(8px, 1.6vw, 22px) !important;
  grid-template-columns: minmax(520px, 1fr) minmax(360px, .92fr) !important;
}
.rdsm-root .rdsm-hero-copy{
  max-width: 850px !important;
}
.rdsm-root .rdsm-hero-actions{
  justify-content: center !important;
  align-items: center !important;
}
.rdsm-root .rdsm-hero-art{
  margin-left: clamp(-72px, -3.4vw, -28px) !important;
  min-height: 600px !important;
  opacity: 0;
  transform: none !important;
}
.rdsm-root .rdsm-hero-art.show{
  opacity: 1;
  animation: rdsmFloat 5.5s ease-in-out infinite !important;
}
.rdsm-root .rdsm-hero-art.rdsm-reveal{
  transition: opacity .85s cubic-bezier(.2,.8,.2,1) !important;
}
.rdsm-root .rdsm-hero h1{
  font-size: clamp(42px, 5.35vw, 82px) !important;
  line-height: 1.04 !important;
}
.rdsm-root .rdsm-hero-nowrap{
  white-space: nowrap !important;
}

.rdsm-root .rdsm-category-card.rdsm-minimal{
  position: relative !important;
  transform: none !important;
  overflow: hidden !important;
  border-color: rgba(94,126,190,.18) !important;
  transition: box-shadow .42s cubic-bezier(.2,.8,.2,1), background .42s cubic-bezier(.2,.8,.2,1) !important;
}
.rdsm-root .rdsm-category-card.rdsm-minimal::after{
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  border-radius: inherit !important;
  border: 2px solid var(--accent) !important;
  opacity: 0 !important;
  pointer-events: none !important;
  box-shadow:
    0 0 0 1px color-mix(in srgb, var(--accent) 18%, transparent),
    0 0 42px color-mix(in srgb, var(--accent) 26%, transparent),
    inset 0 0 28px color-mix(in srgb, var(--accent) 12%, transparent) !important;
  transition: opacity .42s cubic-bezier(.2,.8,.2,1), box-shadow .42s cubic-bezier(.2,.8,.2,1) !important;
  z-index: 0 !important;
}
.rdsm-root .rdsm-category-card.rdsm-minimal:hover,
.rdsm-root .rdsm-category-card.rdsm-minimal:focus{
  border-color: transparent !important;
  box-shadow:
    0 0 46px color-mix(in srgb, var(--accent) 18%, transparent),
    inset 0 0 0 1px rgba(255,255,255,.035) !important;
}
.rdsm-root .rdsm-category-card.rdsm-minimal:hover::after,
.rdsm-root .rdsm-category-card.rdsm-minimal:focus::after{
  opacity: 1 !important;
}
.rdsm-root .rdsm-category-card.rdsm-minimal .rdsm-cat-icon,
.rdsm-root .rdsm-category-card.rdsm-minimal .rdsm-cat-icon-image{
  width: 94px !important;
  height: 94px !important;
  margin: 0 0 20px !important;
  transform: none !important;
  translate: 0 0 !important;
  scale: 1 !important;
}
.rdsm-root .rdsm-category-card.rdsm-minimal .rdsm-cat-icon img,
.rdsm-root .rdsm-category-card.rdsm-minimal .rdsm-cat-icon-image > img{
  max-width: 94px !important;
  max-height: 94px !important;
}
.rdsm-root .rdsm-category-card.rdsm-minimal:hover .rdsm-cat-icon,
.rdsm-root .rdsm-category-card.rdsm-minimal:hover .rdsm-cat-icon-image,
.rdsm-root .rdsm-category-card.rdsm-minimal:hover h3{
  transform: none !important;
  translate: 0 0 !important;
  scale: 1 !important;
}
.rdsm-root .rdsm-category-card.rdsm-minimal > *{
  position: relative !important;
  z-index: 2 !important;
}

/* força fade-in mesmo em desktops com "reduzir movimento" ativado */
.rdsm-root .rdsm-reveal{
  opacity: 0 !important;
  transform: translateY(26px) !important;
  transition: opacity .75s cubic-bezier(.2,.8,.2,1), transform .75s cubic-bezier(.2,.8,.2,1) !important;
}
.rdsm-root .rdsm-reveal.show{
  opacity: 1 !important;
  transform: translateY(0) !important;
}
.rdsm-root .rdsm-hero-art.rdsm-reveal{
  transform: none !important;
}
.rdsm-root .rdsm-hero-art.rdsm-reveal.show{
  transform: none !important;
}

@media(max-width:1400px){
  .rdsm-root .rdsm-hero{
    grid-template-columns: minmax(500px, 1fr) minmax(330px, .86fr) !important;
    gap: 8px !important;
  }
  .rdsm-root .rdsm-hero-art{
    margin-left: -48px !important;
    min-height: 540px !important;
  }
}
@media(max-width:980px){
  .rdsm-root .rdsm-hero{
    grid-template-columns: 1fr !important;
  }
  .rdsm-root .rdsm-hero-actions{
    justify-content: flex-start !important;
  }
  .rdsm-root .rdsm-hero-art{
    margin-left: 0 !important;
  }
}


/* v18 — correções finais: hero menor, reveal nas categorias e hover 100% parado */

/* Hero: reduz cerca de 23% o texto inicial e abre mais espaço para o elemento */
.rdsm-root .rdsm-hero{
  grid-template-columns: minmax(480px, .95fr) minmax(430px, 1.05fr) !important;
  gap: clamp(22px, 3vw, 56px) !important;
}
.rdsm-root .rdsm-hero-copy{
  max-width: 720px !important;
}
.rdsm-root .rdsm-hero h1{
  font-size: clamp(34px, 4.12vw, 63px) !important;
  line-height: 1.06 !important;
  letter-spacing: -.052em !important;
  margin: 20px 0 18px !important;
}
.rdsm-root .rdsm-hero strong{
  text-shadow: 0 0 8px rgba(22,140,255,.14) !important;
}
.rdsm-root .rdsm-hero-art{
  margin-left: clamp(-18px, -1.1vw, -6px) !important;
  min-height: 560px !important;
}
.rdsm-root .rdsm-hero-art img{
  width: min(690px, 55vw) !important;
}

/* Botões continuam alinhados com o centro do texto */
.rdsm-root .rdsm-hero-actions{
  justify-content: center !important;
}

/* Reveal real nas categorias: começa invisível e entra suave */
.rdsm-root .rdsm-category-card.rdsm-reveal{
  opacity: 0 !important;
  transform: translateY(28px) !important;
  will-change: opacity, transform !important;
  transition:
    opacity .72s cubic-bezier(.2,.8,.2,1),
    transform .72s cubic-bezier(.2,.8,.2,1),
    box-shadow .34s cubic-bezier(.2,.8,.2,1),
    background .34s cubic-bezier(.2,.8,.2,1) !important;
}
.rdsm-root .rdsm-category-card.rdsm-reveal.show{
  opacity: 1 !important;
  transform: translateY(0) !important;
}

/* Depois que apareceu, o hover não mexe na posição do card */
.rdsm-root .rdsm-category-card.rdsm-minimal.show:hover,
.rdsm-root .rdsm-category-card.rdsm-minimal.show:focus,
.rdsm-root .rdsm-category-card.rdsm-minimal.show:active{
  transform: translateY(0) !important;
}

/* Trava absoluto: nada dentro do card muda posição/tamanho no hover */
.rdsm-root .rdsm-category-card.rdsm-minimal,
.rdsm-root .rdsm-category-card.rdsm-minimal:hover,
.rdsm-root .rdsm-category-card.rdsm-minimal:focus,
.rdsm-root .rdsm-category-card.rdsm-minimal:active{
  top: auto !important;
  left: auto !important;
  translate: 0 0 !important;
  scale: 1 !important;
}

.rdsm-root .rdsm-category-card.rdsm-minimal .rdsm-cat-icon,
.rdsm-root .rdsm-category-card.rdsm-minimal .rdsm-cat-icon-image,
.rdsm-root .rdsm-category-card.rdsm-minimal:hover .rdsm-cat-icon,
.rdsm-root .rdsm-category-card.rdsm-minimal:hover .rdsm-cat-icon-image,
.rdsm-root .rdsm-category-card.rdsm-minimal:focus .rdsm-cat-icon,
.rdsm-root .rdsm-category-card.rdsm-minimal:focus .rdsm-cat-icon-image,
.rdsm-root .rdsm-category-card.rdsm-minimal:active .rdsm-cat-icon,
.rdsm-root .rdsm-category-card.rdsm-minimal:active .rdsm-cat-icon-image{
  width: 94px !important;
  height: 94px !important;
  margin: 0 0 20px !important;
  transform: none !important;
  translate: 0 0 !important;
  scale: 1 !important;
  top: auto !important;
  left: auto !important;
}

.rdsm-root .rdsm-category-card.rdsm-minimal h3,
.rdsm-root .rdsm-category-card.rdsm-minimal:hover h3,
.rdsm-root .rdsm-category-card.rdsm-minimal:focus h3,
.rdsm-root .rdsm-category-card.rdsm-minimal:active h3{
  transform: none !important;
  translate: 0 0 !important;
  scale: 1 !important;
  margin: 0 !important;
  top: auto !important;
  left: auto !important;
}

/* O efeito hover deve ser apenas visual: borda/brilho/cor, sem deslocamento */
.rdsm-root .rdsm-category-card.rdsm-minimal::after{
  transition: opacity .34s cubic-bezier(.2,.8,.2,1), box-shadow .34s cubic-bezier(.2,.8,.2,1) !important;
}
.rdsm-root .rdsm-category-card.rdsm-minimal:hover::after,
.rdsm-root .rdsm-category-card.rdsm-minimal:focus::after{
  opacity: 1 !important;
}

/* Em notebook, evita o elemento cobrir o texto */
@media(max-width:1400px){
  .rdsm-root .rdsm-hero{
    grid-template-columns: minmax(455px, .98fr) minmax(390px, 1fr) !important;
    gap: 28px !important;
  }
  .rdsm-root .rdsm-hero h1{
    font-size: clamp(34px, 4.05vw, 58px) !important;
  }
  .rdsm-root .rdsm-hero-art{
    margin-left: 0 !important;
    min-height: 500px !important;
  }
  .rdsm-root .rdsm-hero-art img{
    width: min(600px, 48vw) !important;
  }
}
@media(max-width:980px){
  .rdsm-root .rdsm-hero{
    grid-template-columns: 1fr !important;
  }
  .rdsm-root .rdsm-hero h1{
    font-size: clamp(38px, 10vw, 54px) !important;
  }
  .rdsm-root .rdsm-hero-actions{
    justify-content: flex-start !important;
  }
  .rdsm-root .rdsm-hero-art{
    margin-left: 0 !important;
  }
}


/* v19 — loader profissional, float real no elemento e fade-in na faixa de dados */

/* Bloqueia a navegação visual enquanto a home carrega */
.rdsm-root.rdsm-loading{
  min-height: 100vh;
}
.rdsm-root .rdsm-page-loader{
  position: fixed;
  inset: 0;
  z-index: 999999;
  display: grid;
  place-items: center;
  background:
    radial-gradient(circle at 50% 45%, rgba(22,140,255,.16), transparent 34%),
    linear-gradient(180deg, #030713, #061126 60%, #030713);
  opacity: 1;
  visibility: visible;
  pointer-events: all;
  transition:
    opacity .48s cubic-bezier(.2,.8,.2,1),
    visibility .48s cubic-bezier(.2,.8,.2,1);
}
.rdsm-root .rdsm-page-loader::before{
  content:"";
  position:absolute;
  inset:0;
  background-image:
    linear-gradient(rgba(66,199,255,.035) 1px, transparent 1px),
    linear-gradient(90deg, rgba(66,199,255,.035) 1px, transparent 1px);
  background-size: 56px 56px;
  opacity:.9;
  pointer-events:none;
}
.rdsm-root.rdsm-loaded .rdsm-page-loader{
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
}
.rdsm-loader-dots{
  position: relative;
  z-index: 2;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 11px;
  padding: 18px 22px;
  border-radius: 999px;
  background: rgba(8,17,40,.50);
  border: 1px solid rgba(66,199,255,.18);
  box-shadow: 0 18px 70px rgba(0,0,0,.35), inset 0 1px 0 rgba(255,255,255,.05);
  backdrop-filter: blur(14px);
}
.rdsm-loader-dots span{
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: #168cff;
  box-shadow: 0 0 20px rgba(22,140,255,.62);
  animation: rdsmLoaderDot 1.05s ease-in-out infinite;
}
.rdsm-loader-dots span:nth-child(2){ animation-delay: .14s; }
.rdsm-loader-dots span:nth-child(3){ animation-delay: .28s; }

@keyframes rdsmLoaderDot{
  0%, 80%, 100%{
    opacity:.36;
    transform: translateY(0);
  }
  40%{
    opacity:1;
    transform: translateY(-8px);
  }
}

/* Float real: agora a imagem flutua independente do reveal do container */
.rdsm-root .rdsm-hero-art{
  animation: none !important;
}
.rdsm-root .rdsm-hero-art img{
  animation: rdsmHeroImageFloat 5.8s ease-in-out infinite !important;
  will-change: transform;
}
@keyframes rdsmHeroImageFloat{
  0%, 100%{
    transform: translate3d(0,0,0);
  }
  50%{
    transform: translate3d(0,-16px,0);
  }
}

/* A faixa inteira dos dados também entra com fade-in */
.rdsm-root .rdsm-trust-strip.rdsm-reveal{
  opacity: 0 !important;
  transform: translateY(26px) !important;
  transition:
    opacity .78s cubic-bezier(.2,.8,.2,1),
    transform .78s cubic-bezier(.2,.8,.2,1) !important;
}
.rdsm-root .rdsm-trust-strip.rdsm-reveal.show{
  opacity: 1 !important;
  transform: translateY(0) !important;
}

/* Os cards internos continuam com entrada escalonada, mas sem quebrar a faixa */
.rdsm-root .rdsm-trust-strip .rdsm-trust-card.rdsm-reveal{
  opacity: 0 !important;
  transform: translateY(16px) !important;
  transition:
    opacity .62s cubic-bezier(.2,.8,.2,1),
    transform .62s cubic-bezier(.2,.8,.2,1) !important;
}
.rdsm-root .rdsm-trust-strip .rdsm-trust-card.rdsm-reveal.show{
  opacity: 1 !important;
  transform: translateY(0) !important;
}

@media (prefers-reduced-motion: reduce){
  .rdsm-root .rdsm-page-loader,
  .rdsm-root .rdsm-trust-strip.rdsm-reveal,
  .rdsm-root .rdsm-trust-strip .rdsm-trust-card.rdsm-reveal{
    transition: none !important;
  }
}


/* v20 — enquadramento no load + fade-in correto da faixa de dados */
.rdsm-root.rdsm-loading > :not(.rdsm-page-loader){
  visibility: hidden !important;
}
.rdsm-root.rdsm-loaded > :not(.rdsm-page-loader){
  visibility: visible !important;
}

/* garante que a grade inteira dos dados comece invisível até entrar na tela */
.rdsm-root .rdsm-trust-strip.rdsm-reveal{
  opacity: 0 !important;
  transform: translateY(34px) !important;
  transition:
    opacity .85s cubic-bezier(.2,.8,.2,1),
    transform .85s cubic-bezier(.2,.8,.2,1) !important;
}
.rdsm-root .rdsm-trust-strip.rdsm-reveal.show{
  opacity: 1 !important;
  transform: translateY(0) !important;
}

/* os números/cards da faixa aparecem junto, com leve atraso, sem pular */
.rdsm-root .rdsm-trust-strip .rdsm-trust-card.rdsm-reveal{
  opacity: 0 !important;
  transform: translateY(18px) !important;
}
.rdsm-root .rdsm-trust-strip .rdsm-trust-card.rdsm-reveal.show{
  opacity: 1 !important;
  transform: translateY(0) !important;
}

/* mantém o loader sempre por cima e bloqueando clique/scroll visual */
.rdsm-root .rdsm-page-loader{
  pointer-events: all !important;
}


/* v21 — remove enquadramento automático e ajusta posição do texto/botões da Hero */
.rdsm-root .rdsm-hero-copy{
  margin-top: -30px !important;
}

/* Mais respiro entre frase e botões, sem exagerar */
.rdsm-root .rdsm-hero-actions{
  margin-top: 38px !important;
}

/* mantém o ajuste equilibrado em notebooks */
@media(max-width:1400px){
  .rdsm-root .rdsm-hero-copy{
    margin-top: -24px !important;
  }
  .rdsm-root .rdsm-hero-actions{
    margin-top: 34px !important;
  }
}

@media(max-width:980px){
  .rdsm-root .rdsm-hero-copy{
    margin-top: 0 !important;
  }
  .rdsm-root .rdsm-hero-actions{
    margin-top: 28px !important;
  }
}


/* v22 — entrada mais suave da grade de dados */
.rdsm-root .rdsm-trust-strip.rdsm-reveal{
  opacity: 0 !important;
  transform: translateY(14px) !important;
  transition:
    opacity 1.05s cubic-bezier(.16, 1, .3, 1),
    transform 1.05s cubic-bezier(.16, 1, .3, 1) !important;
  will-change: opacity, transform;
}

.rdsm-root .rdsm-trust-strip.rdsm-reveal.show{
  opacity: 1 !important;
  transform: translateY(0) !important;
}

.rdsm-root .rdsm-trust-strip .rdsm-trust-card.rdsm-reveal{
  opacity: 0 !important;
  transform: translateY(8px) !important;
  transition:
    opacity .9s cubic-bezier(.16, 1, .3, 1),
    transform .9s cubic-bezier(.16, 1, .3, 1) !important;
  will-change: opacity, transform;
}

.rdsm-root .rdsm-trust-strip .rdsm-trust-card.rdsm-reveal.show{
  opacity: 1 !important;
  transform: translateY(0) !important;
}

/* divisórias aparecem junto de forma mais natural */
.rdsm-root .rdsm-trust-card{
  border-right-color: rgba(73,143,255,.10) !important;
  transition:
    border-color .95s cubic-bezier(.16, 1, .3, 1),
    background .95s cubic-bezier(.16, 1, .3, 1) !important;
}


/* v23 — hover dos botões refinado + animação das avaliações corrigida */

/* Botões: o efeito não passa por cima do texto */
.rdsm-root .rdsm-solid-btn,
.rdsm-root .rdsm-outline-btn{
  isolation: isolate !important;
  overflow: hidden !important;
  transform: none !important;
  transition:
    background .24s ease,
    border-color .24s ease,
    box-shadow .24s ease,
    color .24s ease !important;
}
.rdsm-root .rdsm-solid-btn::before,
.rdsm-root .rdsm-outline-btn::before{
  display: none !important;
  content: none !important;
}

/* Ver Produtos: hover com azul levemente mais escuro, visível mas sem ficar pesado */
.rdsm-root .rdsm-solid-btn{
  background: linear-gradient(135deg,#168cff,#3f8dff) !important;
  box-shadow: 0 15px 45px rgba(18,124,255,.26) !important;
}
.rdsm-root .rdsm-solid-btn:hover,
.rdsm-root .rdsm-solid-btn:focus{
  background: linear-gradient(135deg,#0d68d9,#2b78e8) !important;
  box-shadow:
    0 16px 42px rgba(13,104,217,.30),
    inset 0 0 0 1px rgba(255,255,255,.08) !important;
  color: #fff !important;
}

/* Ver avaliações: hover limpo, sem camada sobrepondo o texto */
.rdsm-root .rdsm-outline-btn{
  background: rgba(7,15,35,.36) !important;
  border-color: rgba(73,143,255,.22) !important;
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.015) !important;
}
.rdsm-root .rdsm-outline-btn:hover,
.rdsm-root .rdsm-outline-btn:focus{
  background: rgba(10,22,52,.58) !important;
  border-color: rgba(66,199,255,.52) !important;
  box-shadow:
    0 14px 36px rgba(22,140,255,.10),
    inset 0 0 0 1px rgba(255,255,255,.035) !important;
  color: #fff !important;
}

/* Avaliações: força o carrossel/colunas a animar também no desktop/WordPress */
.rdsm-root .rdsm-review-wall{
  overflow: hidden !important;
}
.rdsm-root .rdsm-review-col{
  will-change: transform !important;
  transform: translate3d(0,0,0);
}
.rdsm-root .rdsm-review-col.up{
  animation: rdsmMoveUp 22s linear infinite !important;
}
.rdsm-root .rdsm-review-col.down{
  animation: rdsmMoveDown 22s linear infinite !important;
}

/* Alguns desktops estão pegando prefers-reduced-motion; aqui mantemos só as avaliações animando */
@media(prefers-reduced-motion:reduce){
  .rdsm-root .rdsm-review-col.up{
    animation: rdsmMoveUp 22s linear infinite !important;
  }
  .rdsm-root .rdsm-review-col.down{
    animation: rdsmMoveDown 22s linear infinite !important;
  }
}


/* v24 — correção segura: hovers suaves e reviews via JS */

/* Botões com transição real: evita gradient "seco" */
.rdsm-root .rdsm-solid-btn,
.rdsm-root .rdsm-outline-btn{
  transform: none !important;
  background-image: none !important;
  transition:
    background-color .28s cubic-bezier(.2,.8,.2,1),
    border-color .28s cubic-bezier(.2,.8,.2,1),
    box-shadow .28s cubic-bezier(.2,.8,.2,1),
    color .28s cubic-bezier(.2,.8,.2,1) !important;
}
.rdsm-root .rdsm-solid-btn::before,
.rdsm-root .rdsm-solid-btn::after,
.rdsm-root .rdsm-outline-btn::before,
.rdsm-root .rdsm-outline-btn::after{
  display: none !important;
  content: none !important;
}
.rdsm-root .rdsm-solid-btn{
  background: #168cff !important;
  background-color: #168cff !important;
  box-shadow: 0 15px 45px rgba(18,124,255,.25) !important;
}
.rdsm-root .rdsm-solid-btn:hover,
.rdsm-root .rdsm-solid-btn:focus{
  background: #0e72dc !important;
  background-color: #0e72dc !important;
  box-shadow:
    0 16px 42px rgba(14,114,220,.30),
    inset 0 0 0 1px rgba(255,255,255,.08) !important;
}
.rdsm-root .rdsm-outline-btn{
  background: rgba(7,15,35,.36) !important;
  background-color: rgba(7,15,35,.36) !important;
  border-color: rgba(73,143,255,.22) !important;
}
.rdsm-root .rdsm-outline-btn:hover,
.rdsm-root .rdsm-outline-btn:focus{
  background: rgba(10,22,52,.58) !important;
  background-color: rgba(10,22,52,.58) !important;
  border-color: rgba(66,199,255,.52) !important;
}

/* Ícones das categorias: apenas troca de cor, com fade suave */
.rdsm-root .rdsm-category-card.rdsm-minimal .rdsm-cat-icon-image > img{
  transition:
    opacity .32s cubic-bezier(.2,.8,.2,1),
    filter .32s cubic-bezier(.2,.8,.2,1) !important;
}
.rdsm-root .rdsm-category-card.rdsm-minimal:hover .rdsm-cat-icon-image.rdsm-icon-canvas-ready > img.rdsm-cat-original-img,
.rdsm-root .rdsm-category-card.rdsm-minimal:focus .rdsm-cat-icon-image.rdsm-icon-canvas-ready > img.rdsm-cat-original-img{
  opacity: 0 !important;
}
.rdsm-root .rdsm-category-card.rdsm-minimal:hover .rdsm-cat-icon-image.rdsm-icon-canvas-ready > img.rdsm-cat-hover-img,
.rdsm-root .rdsm-category-card.rdsm-minimal:focus .rdsm-cat-icon-image.rdsm-icon-canvas-ready > img.rdsm-cat-hover-img{
  opacity: 1 !important;
}

/* Reviews: JS controla o movimento; CSS animation fica desligada para não conflitar no WP */
.rdsm-root .rdsm-review-col.up,
.rdsm-root .rdsm-review-col.down{
  animation: none !important;
  will-change: transform !important;
}


/* v25 — feedbacks fixados via JS + crossfade suave real dos ícones */

/* O WP/tema estava travando transform por prefers-reduced-motion. Aqui liberamos somente feedbacks. */
@media(prefers-reduced-motion: reduce){
  .rdsm-root .rdsm-review-col,
  .rdsm-root .rdsm-review-col.up,
  .rdsm-root .rdsm-review-col.down{
    transform: translate3d(0,0,0) !important;
    opacity: 1 !important;
    transition: none !important;
    animation: none !important;
  }
}

/* Feedbacks: sem depender de CSS animation */
.rdsm-root .rdsm-review-col,
.rdsm-root .rdsm-review-col.up,
.rdsm-root .rdsm-review-col.down{
  animation: none !important;
  will-change: transform !important;
  backface-visibility: hidden !important;
}

/* Crossfade dos ícones: posição fixa, só troca opacidade entre imagem original e colorida */
.rdsm-root .rdsm-category-card.rdsm-minimal .rdsm-cat-icon-image{
  position: relative !important;
  overflow: visible !important;
}

.rdsm-root .rdsm-category-card.rdsm-minimal .rdsm-cat-icon-image > img.rdsm-cat-original-img,
.rdsm-root .rdsm-category-card.rdsm-minimal .rdsm-cat-icon-image > img.rdsm-cat-hover-img{
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  max-width: none !important;
  max-height: none !important;
  object-fit: contain !important;
  transform: none !important;
  translate: 0 0 !important;
  scale: 1 !important;
  margin: 0 !important;
  padding: 0 !important;
  filter: none !important;
  transition: opacity .48s cubic-bezier(.16,1,.3,1) !important;
}

.rdsm-root .rdsm-category-card.rdsm-minimal .rdsm-cat-icon-image > img.rdsm-cat-original-img{
  opacity: 1 !important;
  z-index: 1 !important;
}

.rdsm-root .rdsm-category-card.rdsm-minimal .rdsm-cat-icon-image > img.rdsm-cat-hover-img{
  opacity: 0 !important;
  z-index: 2 !important;
  pointer-events: none !important;
}

.rdsm-root .rdsm-category-card.rdsm-minimal:hover .rdsm-cat-icon-image.rdsm-icon-canvas-ready > img.rdsm-cat-original-img,
.rdsm-root .rdsm-category-card.rdsm-minimal:focus .rdsm-cat-icon-image.rdsm-icon-canvas-ready > img.rdsm-cat-original-img{
  opacity: 0 !important;
}

.rdsm-root .rdsm-category-card.rdsm-minimal:hover .rdsm-cat-icon-image.rdsm-icon-canvas-ready > img.rdsm-cat-hover-img,
.rdsm-root .rdsm-category-card.rdsm-minimal:focus .rdsm-cat-icon-image.rdsm-icon-canvas-ready > img.rdsm-cat-hover-img{
  opacity: 1 !important;
}

/* Caso o canvas/CORS falhe, pelo menos deixa o ícone original com transição de filtro, sem sumir. */
.rdsm-root .rdsm-category-card.rdsm-minimal .rdsm-cat-icon-image.rdsm-icon-fallback > img.rdsm-cat-original-img{
  transition: filter .48s cubic-bezier(.16,1,.3,1), opacity .48s cubic-bezier(.16,1,.3,1) !important;
}
.rdsm-root .rdsm-category-card.rdsm-minimal:hover .rdsm-cat-icon-image.rdsm-icon-fallback > img.rdsm-cat-original-img,
.rdsm-root .rdsm-category-card.rdsm-minimal:focus .rdsm-cat-icon-image.rdsm-icon-fallback > img.rdsm-cat-original-img{
  opacity: 1 !important;
  filter: brightness(1.25) saturate(1.45) !important;
}


/* v27 — foco dos botões não fica preso + feedback real */
.rdsm-root .rdsm-solid-btn:focus:not(:hover){
  background: #168cff !important;
  background-color: #168cff !important;
  box-shadow: 0 15px 45px rgba(18,124,255,.25) !important;
  outline: none !important;
}
.rdsm-root .rdsm-outline-btn:focus:not(:hover){
  background: rgba(7,15,35,.36) !important;
  background-color: rgba(7,15,35,.36) !important;
  border-color: rgba(73,143,255,.22) !important;
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.015) !important;
  outline: none !important;
}
.rdsm-root .rdsm-solid-btn:active,
.rdsm-root .rdsm-outline-btn:active{
  transform: none !important;
}

.rdsm-root .rdsm-review small{
  display: flex !important;
  flex-direction: column !important;
  gap: 4px !important;
  color: var(--rdsm-muted) !important;
  line-height: 1.25 !important;
}
.rdsm-root .rdsm-review small strong{
  color: #f7fbff !important;
  font-weight: 800 !important;
}
.rdsm-root .rdsm-review small span{
  color: rgba(170,183,207,.78) !important;
  font-weight: 600 !important;
}


/* v28 — feedback: mostrar apenas um produto e manter visual limpo */
.rdsm-root .rdsm-review small span{
  display: block !important;
  max-width: 100% !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}


/* v29 — Página de produtos/categorias + seleção desativada nos cards da home */
.rdsm-root .rdsm-category-card,
.rdsm-root .rdsm-category-card *,
.rdsm-root .rdsm-filter-pill,
.rdsm-root .rdsm-filter-pill *,
.rdsm-root .rdsm-product-card,
.rdsm-root .rdsm-product-card *{
  -webkit-user-select: none !important;
  user-select: none !important;
}

.rdsm-products-root{
  min-height:100vh;
}

.rdsm-products-hero{
  padding-top:70px !important;
  padding-bottom:22px !important;
}

.rdsm-products-filter{
  max-width:1180px;
  margin:0 auto;
  position:relative;
  border:1px solid rgba(73,143,255,.14);
  border-radius:24px;
  padding:24px 26px 22px;
  background:
    radial-gradient(circle at 0% 50%,rgba(22,140,255,.13),transparent 38%),
    radial-gradient(circle at 100% 20%,rgba(66,199,255,.10),transparent 30%),
    rgba(8,16,38,.54);
  backdrop-filter:blur(14px);
  box-shadow:0 20px 70px rgba(0,0,0,.22),inset 0 1px 0 rgba(255,255,255,.04);
  overflow:hidden;
}

.rdsm-products-filter::before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  opacity:.24;
  background:
    linear-gradient(120deg,rgba(66,199,255,.18),transparent 38%,rgba(66,199,255,.12)),
    radial-gradient(circle at 92% 22%,rgba(255,255,255,.10),transparent 20%);
}

.rdsm-products-filter-label{
  position:relative;
  z-index:1;
  font-size:12px;
  letter-spacing:.12em;
  font-weight:900;
  color:rgba(247,251,255,.82);
  margin-bottom:14px;
  text-transform:uppercase;
}

.rdsm-filter-pills{
  position:relative;
  z-index:1;
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:12px;
}

.rdsm-filter-pill{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:38px;
  padding:0 22px;
  border-radius:999px;
  border:1px solid rgba(73,143,255,.14);
  background:rgba(7,15,35,.42);
  color:#f7fbff;
  font-size:13px;
  font-weight:800;
  white-space:nowrap;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.015);
  transition:
    background-color .28s cubic-bezier(.2,.8,.2,1),
    border-color .28s cubic-bezier(.2,.8,.2,1),
    box-shadow .28s cubic-bezier(.2,.8,.2,1),
    color .28s cubic-bezier(.2,.8,.2,1);
}

.rdsm-filter-pill:hover,
.rdsm-filter-pill:focus{
  background:rgba(10,22,52,.58);
  border-color:rgba(66,199,255,.52);
  box-shadow:0 14px 36px rgba(22,140,255,.10),inset 0 0 0 1px rgba(255,255,255,.035);
  color:#fff;
}

.rdsm-filter-pill.active{
  background:#168cff;
  border-color:#168cff;
  box-shadow:0 14px 34px rgba(22,140,255,.28);
  color:#fff;
}

.rdsm-products-wrap{
  max-width:1180px;
  margin:0 auto;
  padding-top:46px !important;
}

.rdsm-product-category-section{
  margin-bottom:70px;
}

.rdsm-product-category-section[hidden]{
  display:none !important;
}

.rdsm-product-section-title{
  display:flex;
  align-items:center;
  gap:16px;
  margin-bottom:22px;
}

.rdsm-product-section-title h2{
  margin:0;
  font-size:clamp(28px,3vw,42px);
  color:#fff;
  letter-spacing:-.045em;
  font-weight:950;
}

.rdsm-product-section-title span{
  color:#ffd33d;
  font-size:13px;
  font-weight:800;
  white-space:nowrap;
}

.rdsm-product-section-title span em{
  color:#f7fbff;
  font-style:normal;
  margin-left:6px;
}

.rdsm-products-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:18px;
}

.rdsm-product-card{
  position:relative;
  display:flex;
  flex-direction:column;
  min-height:0;
  border-radius:14px;
  border:1px solid rgba(94,126,190,.18);
  background:rgba(7,13,34,.78);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.035),0 16px 42px rgba(0,0,0,.18);
  overflow:hidden;
  isolation:isolate;
  transition:
    border-color .34s cubic-bezier(.2,.8,.2,1),
    box-shadow .34s cubic-bezier(.2,.8,.2,1),
    background-color .34s cubic-bezier(.2,.8,.2,1);
}

.rdsm-product-card::after{
  content:"";
  position:absolute;
  inset:0;
  border-radius:inherit;
  border:2px solid #168cff;
  opacity:0;
  pointer-events:none;
  box-shadow:0 0 42px rgba(22,140,255,.22),inset 0 0 28px rgba(22,140,255,.10);
  transition:opacity .34s cubic-bezier(.2,.8,.2,1),box-shadow .34s cubic-bezier(.2,.8,.2,1);
}

.rdsm-product-card:hover{
  border-color:transparent;
  background-color:rgba(8,16,38,.88);
  box-shadow:0 0 46px rgba(22,140,255,.18),inset 0 0 0 1px rgba(255,255,255,.035);
}

.rdsm-product-card:hover::after{
  opacity:1;
}

.rdsm-product-image{
  display:block;
  width:100%;
  aspect-ratio:1.72/1;
  background:rgba(3,7,18,.48);
  overflow:hidden;
}

.rdsm-product-image img{
  width:100% !important;
  height:100% !important;
  object-fit:cover !important;
  display:block;
  margin:0 !important;
  transition:filter .34s cubic-bezier(.2,.8,.2,1);
}

.rdsm-product-card:hover .rdsm-product-image img{
  filter:brightness(1.08) saturate(1.05);
}

.rdsm-product-body{
  position:relative;
  z-index:2;
  padding:16px 16px 18px;
  display:flex;
  flex-direction:column;
  gap:14px;
}

.rdsm-product-body h3{
  margin:0;
  font-size:19px;
  line-height:1.16;
  letter-spacing:-.025em;
  font-weight:900;
  color:#fff;
}

.rdsm-product-bottom{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:12px;
}

.rdsm-product-price{
  color:#00e784;
  font-size:21px;
  line-height:1;
  font-weight:950;
  letter-spacing:-.035em;
}

.rdsm-product-price del{
  display:block;
  color:rgba(170,183,207,.52);
  font-size:12px;
  font-weight:700;
  margin-bottom:4px;
}

.rdsm-product-price ins{
  text-decoration:none;
}

.rdsm-product-rating{
  color:#d9e7ff;
  font-size:13px;
  font-weight:900;
  white-space:nowrap;
}

.rdsm-product-buy{
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:40px;
  margin-top:2px;
  border-radius:11px;
  background:#168cff;
  color:#fff !important;
  font-size:13px;
  font-weight:900;
  transition:background-color .28s cubic-bezier(.2,.8,.2,1),box-shadow .28s cubic-bezier(.2,.8,.2,1);
}

.rdsm-product-buy:hover{
  background:#0e72dc;
  box-shadow:0 14px 34px rgba(14,114,220,.26);
}

@media(max-width:1180px){
  .rdsm-products-grid{
    grid-template-columns:repeat(3,minmax(0,1fr));
  }
}
@media(max-width:820px){
  .rdsm-products-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .rdsm-products-filter{
    padding:20px 18px;
  }
}
@media(max-width:520px){
  .rdsm-products-grid{
    grid-template-columns:1fr;
  }
  .rdsm-product-section-title{
    align-items:flex-start;
    flex-direction:column;
    gap:8px;
  }
}


/* v30 — refinamento da página de produtos */

/* Área de filtro: menos arredondada, mais translúcida e com borda mais destacada */
.rdsm-root .rdsm-products-filter{
  border-radius: 14px !important;
  background:
    linear-gradient(180deg, rgba(8,16,38,.42), rgba(7,13,31,.30)) !important;
  border: 1px solid rgba(122,164,235,.28) !important;
  box-shadow:
    0 18px 54px rgba(0,0,0,.20),
    inset 0 1px 0 rgba(255,255,255,.055),
    inset 0 0 0 1px rgba(255,255,255,.025) !important;
}
.rdsm-root .rdsm-products-filter::before{
  opacity: .13 !important;
  background:
    linear-gradient(120deg, rgba(255,255,255,.08), transparent 42%),
    radial-gradient(circle at 94% 18%, rgba(255,255,255,.10), transparent 22%) !important;
}

/* Mini botões de categoria: hover suave, sem mudança seca */
.rdsm-root .rdsm-filter-pill{
  background: rgba(7,15,35,.36) !important;
  border-color: rgba(122,164,235,.16) !important;
  transition:
    background-color .34s cubic-bezier(.16,1,.3,1),
    border-color .34s cubic-bezier(.16,1,.3,1),
    box-shadow .34s cubic-bezier(.16,1,.3,1),
    color .34s cubic-bezier(.16,1,.3,1) !important;
}
.rdsm-root .rdsm-filter-pill:hover,
.rdsm-root .rdsm-filter-pill:focus{
  background: rgba(12,25,58,.62) !important;
  border-color: rgba(66,199,255,.44) !important;
  box-shadow:
    0 12px 30px rgba(22,140,255,.08),
    inset 0 0 0 1px rgba(255,255,255,.035) !important;
}
.rdsm-root .rdsm-filter-pill.active{
  background: #168cff !important;
  border-color: #168cff !important;
}

/* Título da categoria sem nota ao lado */
.rdsm-root .rdsm-product-section-title{
  margin-bottom: 22px !important;
}
.rdsm-root .rdsm-product-section-title span{
  display: none !important;
}

/* Cards de produto: card inteiro clicável, sem botão de compra */
.rdsm-root .rdsm-product-card{
  display: flex !important;
  flex-direction: column !important;
  padding: 2px !important;
  border: 2px solid transparent !important;
  border-radius: 15px !important;
  background:
    linear-gradient(180deg, rgba(7,13,34,.82), rgba(7,13,34,.74)) padding-box,
    linear-gradient(180deg, rgba(94,126,190,.20), rgba(94,126,190,.10)) border-box !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.035),0 16px 42px rgba(0,0,0,.18) !important;
  overflow: hidden !important;
  text-decoration: none !important;
  transform: translateZ(0) scale(1) !important;
  transition:
    transform .34s cubic-bezier(.16,1,.3,1),
    border-color .34s cubic-bezier(.16,1,.3,1),
    background-color .34s cubic-bezier(.16,1,.3,1),
    box-shadow .34s cubic-bezier(.16,1,.3,1) !important;
}

/* Sem brilho/overlay no hover; borda usa o espaço já reservado do border */
.rdsm-root .rdsm-product-card::after{
  display: none !important;
  content: none !important;
}

.rdsm-root .rdsm-product-card:hover,
.rdsm-root .rdsm-product-card:focus{
  transform: translateZ(0) scale(1.025) !important;
  border-color: #168cff !important;
  background-color: rgba(8,16,38,.88) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.04),0 18px 46px rgba(0,0,0,.20) !important;
}

.rdsm-root .rdsm-product-image{
  border-radius: 12px 12px 8px 8px !important;
  overflow: hidden !important;
}

.rdsm-root .rdsm-product-body{
  padding: 16px 16px 18px !important;
}

.rdsm-root .rdsm-product-title{
  display: block !important;
  margin: 0 !important;
  font-size: 19px !important;
  line-height: 1.16 !important;
  letter-spacing: -.025em !important;
  font-weight: 900 !important;
  color: #fff !important;
}

.rdsm-root .rdsm-product-body h3{
  display: none !important;
}

.rdsm-root .rdsm-product-bottom{
  margin-top: 14px !important;
}

.rdsm-root .rdsm-product-price{
  font-size: 24px !important;
}

.rdsm-root .rdsm-product-rating{
  font-size: 14px !important;
  color: #d9e7ff !important;
}

.rdsm-root .rdsm-product-buy{
  display: none !important;
}


/* v31 — ordenação/preço/destaque e ajustes visuais da página de produtos */

/* Página de produtos 25%+ mais transparente */
.rdsm-root.rdsm-products-root::before{
  background:
    radial-gradient(circle at 75% 20%,rgba(22,140,255,.16),transparent 34%),
    radial-gradient(circle at 20% 70%,rgba(0,217,255,.065),transparent 35%),
    linear-gradient(180deg,#03050c,#071126 45%,#03050c) !important;
}
.rdsm-root.rdsm-products-root .rdsm-products-filter{
  background:
    linear-gradient(180deg, rgba(8,16,38,.31), rgba(7,13,31,.22)) !important;
  border-color: rgba(122,164,235,.34) !important;
}

/* Cards 20%+ maiores: menos colunas e mais respiro */
.rdsm-root .rdsm-products-grid{
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 22px !important;
}

.rdsm-root .rdsm-product-card{
  min-height: 100% !important;
}

.rdsm-root .rdsm-product-image{
  aspect-ratio: 1.62 / 1 !important;
}

.rdsm-root .rdsm-product-body{
  padding: 19px 19px 21px !important;
  gap: 16px !important;
}

.rdsm-root .rdsm-product-title{
  font-size: 21px !important;
}

.rdsm-root .rdsm-product-price{
  font-size: 27px !important;
}

.rdsm-root .rdsm-product-rating{
  font-size: 15px !important;
}

/* Faixa de destaque “Favorito” */
.rdsm-root .rdsm-product-card.rdsm-product-featured{
  position: relative !important;
}

.rdsm-root .rdsm-favorite-ribbon{
  position: absolute;
  top: 12px;
  left: -36px;
  z-index: 5;
  width: 142px;
  height: 30px;
  display: flex;
  align-items: center;
  justify-content: center;
  transform: rotate(-45deg);
  background: linear-gradient(135deg,#168cff,#34d6ff);
  color: #fff;
  font-size: 11px;
  font-weight: 950;
  letter-spacing: .08em;
  text-transform: uppercase;
  box-shadow: 0 10px 26px rgba(22,140,255,.32);
  pointer-events: none;
}

/* Em telas médias reduz para 2 colunas */
@media(max-width:1180px){
  .rdsm-root .rdsm-products-grid{
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

@media(max-width:620px){
  .rdsm-root .rdsm-products-grid{
    grid-template-columns: 1fr !important;
  }
}


/* v33 — ajustes finais de categorias/produtos */

/* Página de categorias ainda mais translúcida */
.rdsm-root.rdsm-products-root::before{
  background:
    radial-gradient(circle at 75% 20%,rgba(22,140,255,.12),transparent 34%),
    radial-gradient(circle at 20% 70%,rgba(0,217,255,.048),transparent 35%),
    linear-gradient(180deg,rgba(3,5,12,.88),rgba(7,17,38,.82) 45%,rgba(3,5,12,.88)) !important;
}
.rdsm-root.rdsm-products-root .rdsm-products-filter{
  background:
    linear-gradient(180deg, rgba(8,16,38,.25), rgba(7,13,31,.18)) !important;
}

/* Cards cerca de 15% menores que a versão anterior */
.rdsm-root .rdsm-products-grid{
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 18px !important;
}

.rdsm-root .rdsm-product-card{
  border-radius: 14px !important;
}

.rdsm-root .rdsm-product-image{
  aspect-ratio: 1.68 / 1 !important;
  background:
    radial-gradient(circle at 50% 50%, rgba(22,140,255,.12), transparent 58%),
    rgba(4,9,22,.72) !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
}

.rdsm-root .rdsm-product-image img{
  width:100% !important;
  height:100% !important;
  object-fit:contain !important;
  object-position:center center !important;
  padding:0 !important;
  background:transparent !important;
}

.rdsm-root .rdsm-product-body{
  padding: 15px 15px 17px !important;
  gap: 12px !important;
}

.rdsm-root .rdsm-product-title{
  font-size: 18px !important;
  line-height: 1.14 !important;
}

.rdsm-root .rdsm-product-price{
  font-size: 22px !important;
  color: #168cff !important;
}

.rdsm-root .rdsm-product-price .amount,
.rdsm-root .rdsm-product-price bdi,
.rdsm-root .rdsm-product-price ins,
.rdsm-root .rdsm-product-price span{
  color: #168cff !important;
}

.rdsm-root .rdsm-product-rating{
  font-size: 17px !important;
  color: #168cff !important;
  letter-spacing: -.02em !important;
}

/* animação na troca de filtro, inclusive ao sair de Todos */
.rdsm-root .rdsm-product-category-section{
  transition:
    opacity .48s cubic-bezier(.16,1,.3,1),
    transform .48s cubic-bezier(.16,1,.3,1) !important;
}

.rdsm-root .rdsm-product-category-section.rdsm-filter-hidden{
  opacity:0 !important;
  transform:translateY(16px) !important;
  pointer-events:none !important;
}

/* produto favorito */
.rdsm-root .rdsm-product-card.rdsm-product-featured{
  position:relative !important;
}

.rdsm-root .rdsm-favorite-ribbon{
  position:absolute;
  top:12px;
  left:-36px;
  z-index:5;
  width:142px;
  height:30px;
  display:flex;
  align-items:center;
  justify-content:center;
  transform:rotate(-45deg);
  background:linear-gradient(135deg,#168cff,#34d6ff);
  color:#fff;
  font-size:11px;
  font-weight:950;
  letter-spacing:.08em;
  text-transform:uppercase;
  box-shadow:0 10px 26px rgba(22,140,255,.32);
  pointer-events:none;
}

@media(max-width:1180px){
  .rdsm-root .rdsm-products-grid{
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }
}
@media(max-width:820px){
  .rdsm-root .rdsm-products-grid{
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}
@media(max-width:520px){
  .rdsm-root .rdsm-products-grid{
    grid-template-columns: 1fr !important;
  }
}


/* v34 — cards de produto: imagem ponta a ponta, preço/nota fixos no rodapé */
.rdsm-root .rdsm-product-card{
  padding: 0 !important;
  min-height: 276px !important;
  display: flex !important;
  flex-direction: column !important;
  border: 2px solid transparent !important;
  background:
    linear-gradient(180deg, rgba(7,13,34,.82), rgba(7,13,34,.74)) padding-box,
    linear-gradient(180deg, rgba(94,126,190,.20), rgba(94,126,190,.10)) border-box !important;
}

.rdsm-root .rdsm-product-image{
  width: 100% !important;
  aspect-ratio: 1.7 / 1 !important;
  display: block !important;
  border-radius: 12px 12px 0 0 !important;
  overflow: hidden !important;
  background: rgba(4,9,22,.72) !important;
  flex: 0 0 auto !important;
}

.rdsm-root .rdsm-product-image img{
  width: 100% !important;
  height: 100% !important;
  max-width: none !important;
  max-height: none !important;
  object-fit: cover !important;
  object-position: center center !important;
  padding: 0 !important;
  margin: 0 !important;
  display: block !important;
  border-radius: 0 !important;
  background: transparent !important;
}

.rdsm-root .rdsm-product-body{
  flex: 1 1 auto !important;
  display: flex !important;
  flex-direction: column !important;
  padding: 16px 16px 18px !important;
  min-height: 118px !important;
}

.rdsm-root .rdsm-product-title{
  display: block !important;
  margin: 0 !important;
}

.rdsm-root .rdsm-product-bottom{
  margin-top: auto !important;
  display: flex !important;
  align-items: flex-end !important;
  justify-content: space-between !important;
  gap: 14px !important;
  width: 100% !important;
}

.rdsm-root .rdsm-product-price{
  color: #168cff !important;
}

.rdsm-root .rdsm-product-price .amount,
.rdsm-root .rdsm-product-price bdi,
.rdsm-root .rdsm-product-price ins,
.rdsm-root .rdsm-product-price span{
  color: #168cff !important;
}

.rdsm-root .rdsm-product-rating{
  display: inline-flex !important;
  align-items: center !important;
  gap: 3px !important;
  color: #f7fbff !important;
  font-size: 17px !important;
  font-weight: 950 !important;
  line-height: 1 !important;
  white-space: nowrap !important;
}

.rdsm-root .rdsm-product-rating .rdsm-rating-number{
  color: #f7fbff !important;
}

.rdsm-root .rdsm-product-rating .rdsm-rating-star{
  color: #168cff !important;
  text-shadow: 0 0 14px rgba(22,140,255,.28) !important;
}

@media(max-width:1180px){
  .rdsm-root .rdsm-product-card{
    min-height: 268px !important;
  }
}

@media(max-width:520px){
  .rdsm-root .rdsm-product-card{
    min-height: 250px !important;
  }
}


/* v35 — cards dos produtos 5% maiores */
.rdsm-root .rdsm-products-wrap,
.rdsm-root .rdsm-products-filter{
  max-width: 1240px !important;
}

.rdsm-root .rdsm-product-card{
  min-height: 290px !important;
}

.rdsm-root .rdsm-product-body{
  padding: 17px 17px 19px !important;
  min-height: 124px !important;
}

.rdsm-root .rdsm-product-title{
  font-size: 19px !important;
}

.rdsm-root .rdsm-product-price{
  font-size: 23px !important;
}

.rdsm-root .rdsm-product-rating{
  font-size: 18px !important;
}

@media(max-width:1180px){
  .rdsm-root .rdsm-product-card{
    min-height: 281px !important;
  }
}

@media(max-width:520px){
  .rdsm-root .rdsm-product-card{
    min-height: 263px !important;
  }
}


/* v36 — refinamentos solicitados */

/* Área reservada da borda do card mais clara para destacar do background */
.rdsm-root .rdsm-product-card{
  background:
    linear-gradient(180deg, rgba(7,13,34,.82), rgba(7,13,34,.74)) padding-box,
    linear-gradient(180deg, rgba(245,250,255,.58), rgba(215,230,255,.38)) border-box !important;
}

/* Avaliação média 20% maior */
.rdsm-root .rdsm-product-rating{
  font-size: 22px !important;
  gap: 4px !important;
}

/* Faixa favorito 10% maior e com animação no hover */
.rdsm-root .rdsm-favorite-ribbon{
  width: 156px !important;
  height: 33px !important;
  top: 14px !important;
  left: -40px !important;
  font-size: 12px !important;
  transition:
    transform .34s cubic-bezier(.16,1,.3,1),
    opacity .34s cubic-bezier(.16,1,.3,1),
    filter .34s cubic-bezier(.16,1,.3,1) !important;
}

.rdsm-root .rdsm-product-card.rdsm-product-featured:hover .rdsm-favorite-ribbon,
.rdsm-root .rdsm-product-card.rdsm-product-featured:focus .rdsm-favorite-ribbon{
  transform: rotate(-45deg) translateY(-54px) !important;
  opacity: 0 !important;
  filter: blur(2px) !important;
}

.rdsm-root .rdsm-product-card.rdsm-product-featured:not(:hover) .rdsm-favorite-ribbon{
  animation: rdsmRibbonIn .46s cubic-bezier(.16,1,.3,1) both;
}

@keyframes rdsmRibbonIn{
  0%{
    transform: rotate(-45deg) translateY(-42px);
    opacity:0;
    filter: blur(2px);
  }
  70%{
    transform: rotate(-45deg) translateY(4px);
    opacity:1;
    filter: blur(0);
  }
  100%{
    transform: rotate(-45deg) translateY(0);
    opacity:1;
    filter: blur(0);
  }
}


/* v37 — faixa Favorito com saída/entrada realmente suave */
.rdsm-root .rdsm-product-card.rdsm-product-featured .rdsm-favorite-ribbon{
  transform: rotate(-45deg) translate3d(0,0,0) !important;
  opacity: 1 !important;
  filter: blur(0) !important;
  animation: none !important;
  will-change: transform, opacity, filter !important;
  transition:
    transform .62s cubic-bezier(.16, 1, .3, 1),
    opacity .48s cubic-bezier(.16, 1, .3, 1),
    filter .48s cubic-bezier(.16, 1, .3, 1) !important;
}

.rdsm-root .rdsm-product-card.rdsm-product-featured:hover .rdsm-favorite-ribbon,
.rdsm-root .rdsm-product-card.rdsm-product-featured:focus .rdsm-favorite-ribbon,
.rdsm-root .rdsm-product-card.rdsm-product-featured:focus-within .rdsm-favorite-ribbon{
  transform: rotate(-45deg) translate3d(0,-58px,0) !important;
  opacity: 0 !important;
  filter: blur(2px) !important;
  animation: none !important;
}

/* remove a animação antiga que estava reiniciando e fazendo a faixa voltar seca */
.rdsm-root .rdsm-product-card.rdsm-product-featured:not(:hover) .rdsm-favorite-ribbon{
  animation: none !important;
}


/* v38 — card Favorito com brilho azul animado constante */
.rdsm-root .rdsm-product-card.rdsm-product-featured{
  position: relative !important;
  overflow: hidden !important;
  isolation: isolate !important;
  animation: rdsmFavoriteCardGlow 3.8s ease-in-out infinite !important;
}

/* brilho azul móvel dentro do próprio card */
.rdsm-root .rdsm-product-card.rdsm-product-featured::before{
  content: "" !important;
  position: absolute !important;
  inset: -45% !important;
  z-index: 1 !important;
  pointer-events: none !important;
  background:
    radial-gradient(circle at 22% 24%, rgba(22,140,255,.30), transparent 22%),
    radial-gradient(circle at 78% 72%, rgba(52,214,255,.20), transparent 24%),
    conic-gradient(
      from 0deg,
      transparent 0deg,
      rgba(22,140,255,.00) 70deg,
      rgba(22,140,255,.30) 112deg,
      rgba(52,214,255,.18) 138deg,
      transparent 178deg,
      transparent 360deg
    ) !important;
  opacity: .45 !important;
  filter: blur(18px) !important;
  transform: rotate(0deg) scale(1.04) !important;
  animation: rdsmFavoriteGlowMove 6s linear infinite !important;
  mix-blend-mode: screen !important;
}

/* mantém conteúdo acima do brilho */
.rdsm-root .rdsm-product-card.rdsm-product-featured > *{
  position: relative !important;
  z-index: 2 !important;
}

.rdsm-root .rdsm-product-card.rdsm-product-featured .rdsm-favorite-ribbon{
  z-index: 6 !important;
}

/* quando hover, o brilho continua, só um pouco mais forte */
.rdsm-root .rdsm-product-card.rdsm-product-featured:hover::before,
.rdsm-root .rdsm-product-card.rdsm-product-featured:focus::before{
  opacity: .58 !important;
}

@keyframes rdsmFavoriteGlowMove{
  0%{
    transform: rotate(0deg) translate3d(-2%, -1%, 0) scale(1.04);
  }
  35%{
    transform: rotate(125deg) translate3d(2%, 1%, 0) scale(1.08);
  }
  70%{
    transform: rotate(250deg) translate3d(-1%, 2%, 0) scale(1.06);
  }
  100%{
    transform: rotate(360deg) translate3d(-2%, -1%, 0) scale(1.04);
  }
}

@keyframes rdsmFavoriteCardGlow{
  0%,100%{
    box-shadow:
      0 0 0 1px rgba(22,140,255,.16),
      0 18px 46px rgba(0,0,0,.20),
      0 0 22px rgba(22,140,255,.10) !important;
  }
  50%{
    box-shadow:
      0 0 0 1px rgba(22,140,255,.30),
      0 18px 46px rgba(0,0,0,.20),
      0 0 38px rgba(22,140,255,.23) !important;
  }
}


/* v39 — brilho do Favorito sai de trás do card, sem afetar/bugar a imagem */
.rdsm-root .rdsm-products-grid{
  overflow: visible !important;
}

.rdsm-root .rdsm-product-card.rdsm-product-featured{
  overflow: visible !important;
  position: relative !important;
  isolation: isolate !important;
}

/* remove o brilho interno antigo que ficava dentro do card/imagem */
.rdsm-root .rdsm-product-card.rdsm-product-featured::before{
  content: "" !important;
  position: absolute !important;
  inset: -26px !important;
  z-index: -1 !important;
  pointer-events: none !important;
  background:
    radial-gradient(circle at 22% 28%, rgba(22,140,255,.46), transparent 24%),
    radial-gradient(circle at 78% 72%, rgba(52,214,255,.34), transparent 26%),
    radial-gradient(circle at 50% 50%, rgba(22,140,255,.14), transparent 62%) !important;
  opacity: .72 !important;
  filter: blur(18px) !important;
  transform: rotate(0deg) translate3d(0,0,0) scale(1) !important;
  mix-blend-mode: normal !important;
  animation: rdsmFavoriteGlowBehind 5.8s ease-in-out infinite !important;
}

/* garante que imagem/conteúdo fiquem normais, sem camada azul por cima */
.rdsm-root .rdsm-product-card.rdsm-product-featured > *{
  position: relative !important;
  z-index: 2 !important;
}

.rdsm-root .rdsm-product-card.rdsm-product-featured .rdsm-product-image{
  overflow: hidden !important;
  z-index: 2 !important;
}

.rdsm-root .rdsm-product-card.rdsm-product-featured .rdsm-product-image img{
  filter: none !important;
  mix-blend-mode: normal !important;
}

/* a faixa continua acima de tudo e com o efeito in/out suave da v37 */
.rdsm-root .rdsm-product-card.rdsm-product-featured .rdsm-favorite-ribbon{
  z-index: 8 !important;
}

/* brilho externo fica um pouco mais forte no hover, sem entrar no card */
.rdsm-root .rdsm-product-card.rdsm-product-featured:hover::before,
.rdsm-root .rdsm-product-card.rdsm-product-featured:focus::before,
.rdsm-root .rdsm-product-card.rdsm-product-featured:focus-within::before{
  opacity: .90 !important;
}

@keyframes rdsmFavoriteGlowBehind{
  0%{
    transform: rotate(0deg) translate3d(-3%, -2%, 0) scale(1);
    opacity: .58;
  }
  25%{
    transform: rotate(8deg) translate3d(4%, -1%, 0) scale(1.04);
    opacity: .78;
  }
  50%{
    transform: rotate(-6deg) translate3d(3%, 4%, 0) scale(1.08);
    opacity: .88;
  }
  75%{
    transform: rotate(5deg) translate3d(-4%, 3%, 0) scale(1.03);
    opacity: .74;
  }
  100%{
    transform: rotate(0deg) translate3d(-3%, -2%, 0) scale(1);
    opacity: .58;
  }
}


/* v40 — remove totalmente brilho dos favoritos e corrige imagem/faixa */
.rdsm-root .rdsm-products-grid{
  overflow: visible !important;
}

/* Card favorito volta ao padrão normal, sem brilho animado */
.rdsm-root .rdsm-product-card.rdsm-product-featured{
  overflow: hidden !important;
  isolation: auto !important;
  animation: none !important;
  position: relative !important;
}

/* Remove de vez qualquer brilho criado nas versões anteriores */
.rdsm-root .rdsm-product-card.rdsm-product-featured::before{
  display: none !important;
  content: none !important;
  opacity: 0 !important;
  animation: none !important;
  background: none !important;
  filter: none !important;
}

/* Imagem do favorito igual aos cards normais */
.rdsm-root .rdsm-product-card.rdsm-product-featured .rdsm-product-image{
  position: relative !important;
  z-index: 1 !important;
  width: 100% !important;
  display: block !important;
  overflow: hidden !important;
  border-radius: 12px 12px 0 0 !important;
  background: rgba(4,9,22,.72) !important;
}

.rdsm-root .rdsm-product-card.rdsm-product-featured .rdsm-product-image img{
  width: 100% !important;
  height: 100% !important;
  max-width: none !important;
  max-height: none !important;
  object-fit: cover !important;
  object-position: center center !important;
  padding: 0 !important;
  margin: 0 !important;
  display: block !important;
  filter: none !important;
  mix-blend-mode: normal !important;
  transform: none !important;
}

/* Faixa menor, dentro do card, sem ficar gigante para fora */
.rdsm-root .rdsm-product-card.rdsm-product-featured .rdsm-favorite-ribbon{
  width: 132px !important;
  height: 28px !important;
  top: 12px !important;
  left: -36px !important;
  z-index: 8 !important;
  font-size: 10px !important;
  letter-spacing: .08em !important;
  transform: rotate(-45deg) translate3d(0,0,0) !important;
  opacity: 1 !important;
  filter: none !important;
  animation: none !important;
  transition:
    transform .62s cubic-bezier(.16,1,.3,1),
    opacity .48s cubic-bezier(.16,1,.3,1),
    filter .48s cubic-bezier(.16,1,.3,1) !important;
}

/* Mantém o efeito suave de sair/voltar, mas sem estourar o card */
.rdsm-root .rdsm-product-card.rdsm-product-featured:hover .rdsm-favorite-ribbon,
.rdsm-root .rdsm-product-card.rdsm-product-featured:focus .rdsm-favorite-ribbon,
.rdsm-root .rdsm-product-card.rdsm-product-featured:focus-within .rdsm-favorite-ribbon{
  transform: rotate(-45deg) translate3d(0,-46px,0) !important;
  opacity: 0 !important;
  filter: blur(1.5px) !important;
}


/* v41 — imagem dos favoritos 100% igual aos cards normais + faixa 15% maior */
.rdsm-root .rdsm-product-card.rdsm-product-featured{
  overflow: hidden !important;
  isolation: auto !important;
  animation: none !important;
  position: relative !important;
}

/* remove qualquer camada antiga que afetava visual/imagem */
.rdsm-root .rdsm-product-card.rdsm-product-featured::before,
.rdsm-root .rdsm-product-card.rdsm-product-featured::after{
  display: none !important;
  content: none !important;
  background: none !important;
  opacity: 0 !important;
  filter: none !important;
  animation: none !important;
  box-shadow: none !important;
}

/* imagem do favorito SEM z-index/pseudo/camada especial */
.rdsm-root .rdsm-product-card.rdsm-product-featured .rdsm-product-image{
  position: static !important;
  z-index: auto !important;
  width: 100% !important;
  aspect-ratio: 1.7 / 1 !important;
  display: block !important;
  overflow: hidden !important;
  border-radius: 12px 12px 0 0 !important;
  background: rgba(4,9,22,.72) !important;
  flex: 0 0 auto !important;
}

/* imagem sem corte extra e sem efeito herdado */
.rdsm-root .rdsm-product-card.rdsm-product-featured .rdsm-product-image img{
  width: 100% !important;
  height: 100% !important;
  max-width: none !important;
  max-height: none !important;
  object-fit: fill !important;
  object-position: center center !important;
  padding: 0 !important;
  margin: 0 !important;
  display: block !important;
  border-radius: 0 !important;
  background: transparent !important;
  filter: none !important;
  mix-blend-mode: normal !important;
  transform: none !important;
}

/* aplica a mesma regra também nos cards normais para manter consistência */
.rdsm-root .rdsm-product-image img{
  object-fit: fill !important;
}

/* faixa Favorito 15% maior que a versão corrigida anterior */
.rdsm-root .rdsm-product-card.rdsm-product-featured .rdsm-favorite-ribbon{
  width: 152px !important;
  height: 32px !important;
  top: 13px !important;
  left: -42px !important;
  z-index: 20 !important;
  font-size: 11.5px !important;
  letter-spacing: .08em !important;
  transform: rotate(-45deg) translate3d(0,0,0) !important;
  opacity: 1 !important;
  filter: none !important;
  animation: none !important;
  pointer-events: none !important;
  transition:
    transform .62s cubic-bezier(.16,1,.3,1),
    opacity .48s cubic-bezier(.16,1,.3,1),
    filter .48s cubic-bezier(.16,1,.3,1) !important;
}

/* efeito suave continua, mas sem afetar a imagem */
.rdsm-root .rdsm-product-card.rdsm-product-featured:hover .rdsm-favorite-ribbon,
.rdsm-root .rdsm-product-card.rdsm-product-featured:focus .rdsm-favorite-ribbon,
.rdsm-root .rdsm-product-card.rdsm-product-featured:focus-within .rdsm-favorite-ribbon{
  transform: rotate(-45deg) translate3d(0,-52px,0) !important;
  opacity: 0 !important;
  filter: blur(1.5px) !important;
}


/* v42 — correção definitiva: faixa Favorito absoluta e imagem no topo */
.rdsm-root .rdsm-product-card.rdsm-product-featured{
  position: relative !important;
  overflow: hidden !important;
  display: flex !important;
  flex-direction: column !important;
}

/* Cancela regra antiga que fazia a faixa virar item do flex e empurrar a imagem para baixo */
.rdsm-root .rdsm-product-card.rdsm-product-featured > .rdsm-favorite-ribbon{
  position: absolute !important;
  flex: none !important;
  display: flex !important;
  width: 152px !important;
  height: 32px !important;
  top: 13px !important;
  left: -42px !important;
  z-index: 50 !important;
  align-items: center !important;
  justify-content: center !important;
  transform: rotate(-45deg) translate3d(0,0,0) !important;
  opacity: 1 !important;
  filter: none !important;
  animation: none !important;
  pointer-events: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* Imagem sempre começa no topo do card, inclusive nos favoritos */
.rdsm-root .rdsm-product-card.rdsm-product-featured > .rdsm-product-image{
  order: 1 !important;
  position: relative !important;
  z-index: 1 !important;
  flex: 0 0 auto !important;
  margin: 0 !important;
  padding: 0 !important;
  width: 100% !important;
  display: block !important;
  transform: none !important;
}

/* Corpo sempre abaixo da imagem */
.rdsm-root .rdsm-product-card.rdsm-product-featured > .rdsm-product-body{
  order: 2 !important;
  position: relative !important;
  z-index: 2 !important;
}

/* Mantém a faixa acima sem ocupar espaço no layout */
.rdsm-root .rdsm-product-card.rdsm-product-featured > .rdsm-favorite-ribbon{
  order: 0 !important;
}

/* Hover suave da faixa sem mexer na imagem */
.rdsm-root .rdsm-product-card.rdsm-product-featured:hover > .rdsm-favorite-ribbon,
.rdsm-root .rdsm-product-card.rdsm-product-featured:focus > .rdsm-favorite-ribbon,
.rdsm-root .rdsm-product-card.rdsm-product-featured:focus-within > .rdsm-favorite-ribbon{
  transform: rotate(-45deg) translate3d(0,-52px,0) !important;
  opacity: 0 !important;
  filter: blur(1.5px) !important;
  transition:
    transform .62s cubic-bezier(.16,1,.3,1),
    opacity .48s cubic-bezier(.16,1,.3,1),
    filter .48s cubic-bezier(.16,1,.3,1) !important;
}

.rdsm-root .rdsm-product-card.rdsm-product-featured:not(:hover) > .rdsm-favorite-ribbon{
  transition:
    transform .62s cubic-bezier(.16,1,.3,1),
    opacity .48s cubic-bezier(.16,1,.3,1),
    filter .48s cubic-bezier(.16,1,.3,1) !important;
}


/* v43 — faixa Favorito mais destacada sobre qualquer imagem */
.rdsm-root .rdsm-product-card.rdsm-product-featured > .rdsm-favorite-ribbon{
  background: linear-gradient(135deg, #0577ff 0%, #16c8ff 52%, #8eeaff 100%) !important;
  color: #fff !important;
  border: 1px solid rgba(255,255,255,.72) !important;
  outline: 2px solid rgba(2,8,20,.92) !important;
  outline-offset: 0 !important;
  text-shadow:
    0 1px 0 rgba(0,0,0,.65),
    0 2px 6px rgba(0,0,0,.85) !important;
  box-shadow:
    0 0 0 1px rgba(255,255,255,.20) inset,
    0 9px 16px rgba(0,0,0,.52),
    0 0 18px rgba(22,140,255,.36) !important;
}

/* brilho fino atravessando a faixa, mas sem mexer no layout */
.rdsm-root .rdsm-product-card.rdsm-product-featured > .rdsm-favorite-ribbon::after{
  content:"" !important;
  position:absolute !important;
  inset:0 !important;
  background: linear-gradient(90deg, transparent, rgba(255,255,255,.32), transparent) !important;
  transform: translateX(-120%) !important;
  animation: rdsmRibbonShine 2.8s ease-in-out infinite !important;
  pointer-events:none !important;
}

@keyframes rdsmRibbonShine{
  0%, 42%{ transform: translateX(-120%); opacity:0; }
  55%{ opacity:1; }
  82%, 100%{ transform: translateX(120%); opacity:0; }
}


/* v44 — background fixo da página de categorias + scroll mais suave */

/* scroll/animações mais suaves */
html{
  scroll-behavior: smooth;
}

.rdsm-root.rdsm-products-root{
  background: transparent !important;
  overflow-x: clip !important;
  transform: translateZ(0);
}

/* imagem fixa no fundo da página de categorias, sem usar background-attachment fixed pesado */
.rdsm-root.rdsm-products-root::before{
  content: "" !important;
  position: fixed !important;
  inset: 0 !important;
  z-index: -3 !important;
  pointer-events: none !important;
  background-image:
    linear-gradient(180deg, rgba(2,6,18,.36), rgba(2,6,18,.58)),
    radial-gradient(circle at 50% 18%, rgba(22,140,255,.18), transparent 42%),
    url("../images/categories-bg.png") !important;
  background-size: cover !important;
  background-position: center center !important;
  background-repeat: no-repeat !important;
  opacity: 1 !important;
  transform: translateZ(0) scale(1.001) !important;
  will-change: transform !important;
  backface-visibility: hidden !important;
}

/* mantém a textura por cima sem pesar tanto */
.rdsm-root.rdsm-products-root .rdsm-noise{
  opacity: .14 !important;
  pointer-events: none !important;
}

/* reduz efeitos que pesam no scroll da página de categorias */
.rdsm-root.rdsm-products-root .rdsm-cursor-glow,
.rdsm-root.rdsm-products-root .rdsm-ambient-icons{
  display: none !important;
}

/* áreas translúcidas mais leves para não travar tanto no scroll */
.rdsm-root.rdsm-products-root .rdsm-products-filter{
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
  background: rgba(7,13,31,.34) !important;
}

.rdsm-root.rdsm-products-root .rdsm-product-card{
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
  transform: translateZ(0) scale(1) !important;
  will-change: transform !important;
}

.rdsm-root.rdsm-products-root .rdsm-product-card:hover{
  transform: translateZ(0) scale(1.025) !important;
}

/* melhora a fluidez das transições de entrada/troca de categoria */
.rdsm-root.rdsm-products-root .rdsm-product-category-section{
  will-change: opacity, transform !important;
  backface-visibility: hidden !important;
}

@media (prefers-reduced-motion: reduce){
  html{
    scroll-behavior: auto;
  }
}


/* v45 — cards de produto 25% maiores, mais largos e com imagem mais destacada */
.rdsm-root.rdsm-products-root .rdsm-products-wrap,
.rdsm-root.rdsm-products-root .rdsm-products-filter{
  max-width: 1360px !important;
}

.rdsm-root.rdsm-products-root .rdsm-products-grid{
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 24px !important;
}

/* aumenta o card sem alterar o estilo geral */
.rdsm-root.rdsm-products-root .rdsm-product-card{
  min-height: 360px !important;
}

/* imagem maior, larga e de ponta a ponta */
.rdsm-root.rdsm-products-root .rdsm-product-image{
  width: 100% !important;
  aspect-ratio: 1.72 / 1 !important;
  border-radius: 12px 12px 0 0 !important;
  overflow: hidden !important;
  flex: 0 0 auto !important;
}

.rdsm-root.rdsm-products-root .rdsm-product-image img{
  width: 100% !important;
  height: 100% !important;
  display: block !important;
  object-fit: cover !important;
  object-position: center center !important;
  padding: 0 !important;
  margin: 0 !important;
}

/* corpo acompanha o tamanho novo, mantendo preço/nota no rodapé */
.rdsm-root.rdsm-products-root .rdsm-product-body{
  min-height: 132px !important;
  padding: 20px 20px 21px !important;
}

.rdsm-root.rdsm-products-root .rdsm-product-title{
  font-size: 21px !important;
}

.rdsm-root.rdsm-products-root .rdsm-product-price{
  font-size: 26px !important;
}

@media(max-width:1180px){
  .rdsm-root.rdsm-products-root .rdsm-products-grid{
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
  .rdsm-root.rdsm-products-root .rdsm-product-card{
    min-height: 350px !important;
  }
}

@media(max-width:620px){
  .rdsm-root.rdsm-products-root .rdsm-products-grid{
    grid-template-columns: 1fr !important;
  }
  .rdsm-root.rdsm-products-root .rdsm-product-card{
    min-height: 320px !important;
  }
}


/* v46 — background fixo REAL da página de categorias */
/* Não usa mais ::before dentro da página, porque em páginas longas ele pode esticar com a altura do conteúdo. */
.rdsm-root.rdsm-products-root{
  background: transparent !important;
  transform: none !important;
  isolation: auto !important;
}

.rdsm-root.rdsm-products-root::before{
  display: none !important;
  content: none !important;
  background: none !important;
}

/* Camada fixa no viewport inteiro, inserida no body via JS */
body.rdsm-products-page-active .rdsm-products-fixed-bg{
  position: fixed !important;
  inset: 0 !important;
  width: 100vw !important;
  height: 100vh !important;
  z-index: -9999 !important;
  pointer-events: none !important;
  background-image:
    linear-gradient(180deg, rgba(2,6,18,.34), rgba(2,6,18,.58)),
    radial-gradient(circle at 50% 18%, rgba(22,140,255,.18), transparent 42%),
    url("../images/categories-bg.png") !important;
  background-size: cover !important;
  background-position: center center !important;
  background-repeat: no-repeat !important;
  transform: none !important;
  will-change: auto !important;
}

/* garante que o site não pinte um fundo sólido por cima */
body.rdsm-products-page-active,
body.rdsm-products-page-active #page,
body.rdsm-products-page-active .site,
body.rdsm-products-page-active .site-content,
body.rdsm-products-page-active .entry-content{
  background-color: transparent !important;
}

/* caso o tema não permita z-index negativo aparecer, mantém a página com fundo transparente */
body.rdsm-products-page-active{
  background:
    linear-gradient(180deg, rgba(2,6,18,.34), rgba(2,6,18,.58)),
    url("../images/categories-bg.png") center center / cover no-repeat fixed !important;
}


/* v49 — fundo da página de categorias com 50% de transparência + ícones renderizando direto */

/* Fundo fixo com a imagem mais visível e só metade de transparência */
body.rdsm-products-page-active .rdsm-products-fixed-bg{
  background-image:
    linear-gradient(180deg, rgba(2,6,18,.50), rgba(2,6,18,.50)),
    url("../images/categories-bg.png") !important;
  opacity: 1 !important;
}

body.rdsm-products-page-active{
  background:
    linear-gradient(180deg, rgba(2,6,18,.50), rgba(2,6,18,.50)),
    url("../images/categories-bg.png") center center / cover no-repeat fixed !important;
}

/* Corrige ícones das categorias demorando para aparecer */
.rdsm-root .rdsm-category-card .rdsm-cat-icon,
.rdsm-root .rdsm-category-card .rdsm-cat-icon-image{
  opacity: 1 !important;
  visibility: visible !important;
}

.rdsm-root .rdsm-category-card .rdsm-cat-icon-image img,
.rdsm-root .rdsm-category-card .rdsm-cat-icon-image .rdsm-cat-original-img{
  opacity: 1 !important;
  visibility: visible !important;
  display: block !important;
}

.rdsm-root .rdsm-category-card .rdsm-cat-icon-image .rdsm-cat-hover-img{
  opacity: 0 !important;
  visibility: visible !important;
  display: block !important;
}

.rdsm-root .rdsm-category-card:hover .rdsm-cat-icon-image .rdsm-cat-original-img{
  opacity: 0 !important;
}

.rdsm-root .rdsm-category-card:hover .rdsm-cat-icon-image .rdsm-cat-hover-img{
  opacity: 1 !important;
}

/* evita que o JS/canvas deixe o ícone invisível antes do hover */
.rdsm-root .rdsm-category-card .rdsm-cat-icon-image:not(.rdsm-icon-canvas-ready) img{
  opacity: 1 !important;
  visibility: visible !important;
}


/* v50 — estado temporário usado pelo JS para simular hover e revelar ícones no carregamento */
.rdsm-root .rdsm-category-card.rdsm-icon-warmup .rdsm-cat-icon-image img,
.rdsm-root .rdsm-category-card.rdsm-icon-warmed .rdsm-cat-icon-image img,
.rdsm-root .rdsm-cat-icon-image.rdsm-icon-warmup img,
.rdsm-root .rdsm-cat-icon-image.rdsm-icon-warmed img{
  opacity: 1 !important;
  visibility: visible !important;
  display: block !important;
}

/* garante que o hover real ainda funcione normal depois do warmup */
.rdsm-root .rdsm-category-card.rdsm-icon-warmed:not(:hover) .rdsm-cat-hover-img{
  opacity: 0 !important;
}
.rdsm-root .rdsm-category-card.rdsm-icon-warmed:not(:hover) .rdsm-cat-original-img,
.rdsm-root .rdsm-category-card.rdsm-icon-warmed:not(:hover) img:not(.rdsm-cat-hover-img){
  opacity: 1 !important;
}


/* v54 — correção final dos ícones das categorias */
/* Volta a usar as próprias imagens reais, sem máscara/pseudo-elemento para o estado normal.
   Assim não fica invisível, não vira quadrado branco e não depende do primeiro hover. */

.rdsm-root .rdsm-category-card.rdsm-minimal .rdsm-cat-icon-image{
  position: relative !important;
  width: 86px !important;
  height: 78px !important;
  display: grid !important;
  place-items: center !important;
  overflow: visible !important;
}

/* Desliga qualquer pseudo/máscara conflitante das versões anteriores */
.rdsm-root .rdsm-category-card.rdsm-minimal .rdsm-cat-icon-image::before,
.rdsm-root .rdsm-category-card.rdsm-minimal .rdsm-cat-icon-image::after{
  display: none !important;
  content: none !important;
  opacity: 0 !important;
}

/* Imagem original SEMPRE visível no estado normal */
.rdsm-root .rdsm-category-card.rdsm-minimal .rdsm-cat-icon-image > img,
.rdsm-root .rdsm-category-card.rdsm-minimal .rdsm-cat-icon-image > img.rdsm-cat-original-img{
  position: absolute !important;
  left: 50% !important;
  top: 50% !important;
  width: 78px !important;
  height: 78px !important;
  max-width: 78px !important;
  max-height: 78px !important;
  transform: translate(-50%, -50%) !important;
  object-fit: contain !important;
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
  z-index: 1 !important;
  pointer-events: none !important;
  background: transparent !important;
  box-shadow: none !important;
  border: 0 !important;
  filter: none !important;
  mix-blend-mode: normal !important;
  transition: opacity .24s cubic-bezier(.16,1,.3,1) !important;
}

/* Imagem colorida gerada pelo JS fica pronta, mas escondida até o hover */
.rdsm-root .rdsm-category-card.rdsm-minimal .rdsm-cat-icon-image > img.rdsm-cat-hover-img{
  position: absolute !important;
  left: 50% !important;
  top: 50% !important;
  width: 78px !important;
  height: 78px !important;
  max-width: 78px !important;
  max-height: 78px !important;
  transform: translate(-50%, -50%) !important;
  object-fit: contain !important;
  display: block !important;
  visibility: visible !important;
  opacity: 0 !important;
  z-index: 2 !important;
  pointer-events: none !important;
  background: transparent !important;
  box-shadow: none !important;
  border: 0 !important;
  filter: drop-shadow(0 0 14px color-mix(in srgb, var(--accent) 45%, transparent)) !important;
  mix-blend-mode: normal !important;
  transition: opacity .24s cubic-bezier(.16,1,.3,1) !important;
}

/* Hover real: troca suave para a versão colorida */
.rdsm-root .rdsm-category-card.rdsm-minimal:hover .rdsm-cat-icon-image > img.rdsm-cat-original-img,
.rdsm-root .rdsm-category-card.rdsm-minimal:focus .rdsm-cat-icon-image > img.rdsm-cat-original-img,
.rdsm-root .rdsm-category-card.rdsm-minimal:focus-within .rdsm-cat-icon-image > img.rdsm-cat-original-img{
  opacity: 0 !important;
}

.rdsm-root .rdsm-category-card.rdsm-minimal:hover .rdsm-cat-icon-image > img.rdsm-cat-hover-img,
.rdsm-root .rdsm-category-card.rdsm-minimal:focus .rdsm-cat-icon-image > img.rdsm-cat-hover-img,
.rdsm-root .rdsm-category-card.rdsm-minimal:focus-within .rdsm-cat-icon-image > img.rdsm-cat-hover-img{
  opacity: 1 !important;
}

/* Se por algum motivo a versão colorida ainda não foi criada, mantém a original visível mesmo no hover */
.rdsm-root .rdsm-category-card.rdsm-minimal:hover .rdsm-cat-icon-image:not(.rdsm-icon-canvas-ready) > img.rdsm-cat-original-img,
.rdsm-root .rdsm-category-card.rdsm-minimal:focus .rdsm-cat-icon-image:not(.rdsm-icon-canvas-ready) > img.rdsm-cat-original-img,
.rdsm-root .rdsm-category-card.rdsm-minimal:focus-within .rdsm-cat-icon-image:not(.rdsm-icon-canvas-ready) > img.rdsm-cat-original-img{
  opacity: 1 !important;
}


/* v55 — gambiarra de repaint para ícones que só aparecem após hover/trocar aba/zoom */
.rdsm-root .rdsm-category-card,
.rdsm-root .rdsm-cat-icon-image,
.rdsm-root .rdsm-cat-icon-image > img{
  backface-visibility: hidden !important;
  -webkit-backface-visibility: hidden !important;
  transform-style: preserve-3d !important;
  will-change: transform, opacity !important;
}

.rdsm-root .rdsm-cat-icon-image > img.rdsm-cat-original-img{
  opacity: 1 !important;
  visibility: visible !important;
  display: block !important;
}

/* Classe temporária aplicada via JS para forçar o Chrome a repintar os ícones */
html.rdsm-icons-repaint-tick .rdsm-root .rdsm-cat-icon-image,
html.rdsm-icons-repaint-tick .rdsm-root .rdsm-cat-icon-image > img{
  transform: translate3d(0,0,.01px) scale(1.0001) !important;
  filter: none !important;
}


/* v56 — background 50% menos visível + loader na página de categorias */
body.rdsm-products-page-active .rdsm-products-fixed-bg{
  background-image:
    linear-gradient(180deg, rgba(2,6,18,.76), rgba(2,6,18,.80)),
    url("../images/categories-bg.png") !important;
  opacity: 1 !important;
}

body.rdsm-products-page-active{
  background:
    linear-gradient(180deg, rgba(2,6,18,.76), rgba(2,6,18,.80)),
    url("../images/categories-bg.png") center center / cover no-repeat fixed !important;
}

/* Loader específico da página de categorias, para não mostrar cards sem fundo carregado */
.rdsm-root.rdsm-products-root.rdsm-loading{
  overflow: hidden !important;
}

.rdsm-root.rdsm-products-root .rdsm-products-page-loader{
  position: fixed !important;
  inset: 0 !important;
  z-index: 999999 !important;
  background:
    radial-gradient(circle at 50% 35%, rgba(22,140,255,.16), transparent 34%),
    linear-gradient(180deg, #020612, #061229 58%, #020612) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  opacity: 1 !important;
  visibility: visible !important;
  transition: opacity .42s cubic-bezier(.16,1,.3,1), visibility .42s cubic-bezier(.16,1,.3,1) !important;
  pointer-events: all !important;
}

.rdsm-root.rdsm-products-root:not(.rdsm-loading) .rdsm-products-page-loader{
  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;
}

.rdsm-root.rdsm-products-root.rdsm-loading > *:not(.rdsm-products-page-loader){
  opacity: 0 !important;
}

.rdsm-root.rdsm-products-root:not(.rdsm-loading) > *:not(.rdsm-products-page-loader){
  opacity: 1 !important;
  transition: opacity .32s cubic-bezier(.16,1,.3,1) !important;
}


/* v57 — fade-in da página de categorias só depois do loader/background */
.rdsm-root.rdsm-products-root.rdsm-loading .rdsm-reveal,
.rdsm-root.rdsm-products-root.rdsm-loading .rdsm-product-category-section{
  opacity: 0 !important;
  transform: translateY(18px) !important;
}

.rdsm-root.rdsm-products-root.rdsm-loaded .rdsm-reveal.show,
.rdsm-root.rdsm-products-root.rdsm-loaded .rdsm-product-category-section.show{
  opacity: 1 !important;
  transform: translateY(0) !important;
}


/* v58 — novos backgrounds + otimização */
#rdsm-home-preview{
  position: relative !important;
  background: transparent !important;
}

#rdsm-home-preview::before{
  content: "" !important;
  position: fixed !important;
  inset: 0 !important;
  z-index: -3 !important;
  pointer-events: none !important;
  background-image:
    linear-gradient(180deg, rgba(2,6,18,.60), rgba(2,6,18,.64)),
    radial-gradient(circle at 50% 20%, rgba(22,140,255,.12), transparent 42%),
    url("../images/home-bg-v58.webp") !important;
  background-size: cover !important;
  background-position: center center !important;
  background-repeat: no-repeat !important;
}

body.rdsm-products-page-active .rdsm-products-fixed-bg{
  background-image:
    linear-gradient(180deg, rgba(2,6,18,.60), rgba(2,6,18,.64)),
    radial-gradient(circle at 50% 18%, rgba(22,140,255,.12), transparent 42%),
    url("../images/categories-bg-v58.webp") !important;
  opacity: 1 !important;
}

body.rdsm-products-page-active{
  background:
    linear-gradient(180deg, rgba(2,6,18,.60), rgba(2,6,18,.64)),
    url("../images/categories-bg-v58.webp") center center / cover no-repeat fixed !important;
}

/* Otimizações de pintura */
.rdsm-root .rdsm-product-card,
.rdsm-root .rdsm-category-card,
.rdsm-root .rdsm-review-card,
.rdsm-root .rdsm-trust-card{
  contain: layout paint style !important;
}

/* Corrige bug visual ao clicar exatamente em cima do ícone antes do redirecionamento */
.rdsm-root .rdsm-category-card .rdsm-cat-icon,
.rdsm-root .rdsm-category-card .rdsm-cat-icon-image,
.rdsm-root .rdsm-category-card .rdsm-cat-icon-image img{
  pointer-events: none !important;
  -webkit-user-select: none !important;
  user-select: none !important;
}

.rdsm-root .rdsm-category-card.rdsm-clicking,
.rdsm-root .rdsm-category-card.rdsm-clicking *,
.rdsm-root .rdsm-category-card:active,
.rdsm-root .rdsm-category-card:active *{
  transition: none !important;
}

.rdsm-root .rdsm-category-card.rdsm-clicking .rdsm-cat-icon-image > img.rdsm-cat-original-img,
.rdsm-root .rdsm-category-card:active .rdsm-cat-icon-image > img.rdsm-cat-original-img{
  opacity: 1 !important;
  visibility: visible !important;
}

.rdsm-root .rdsm-category-card.rdsm-clicking .rdsm-cat-icon-image > img.rdsm-cat-hover-img,
.rdsm-root .rdsm-category-card:active .rdsm-cat-icon-image > img.rdsm-cat-hover-img{
  opacity: 0 !important;
}

@media (max-width: 900px){
  .rdsm-root .rdsm-noise,
  .rdsm-root .rdsm-ambient-icons,
  .rdsm-root .rdsm-cursor-glow{
    display: none !important;
  }
}


/* v59 — performance: remove texturas/camadas pesadas e deixa só o fundo estático */
.rdsm-root .rdsm-noise,
.rdsm-root .rdsm-ambient-icons,
.rdsm-root .rdsm-cursor-glow{
  display: none !important;
  opacity: 0 !important;
  visibility: hidden !important;
}

/* Remove pseudo-camadas/texturas extras do root, mantendo apenas os backgrounds v58 */
.rdsm-root::after,
.rdsm-section::before,
.rdsm-section::after{
  display: none !important;
  content: none !important;
}

/* Remove filtros pesados */
.rdsm-root *,
.rdsm-root *::before,
.rdsm-root *::after{
  -webkit-backdrop-filter: none !important;
  backdrop-filter: none !important;
}

/* Menos custo de sombra/filtro em cards, mantendo o visual geral */
.rdsm-root .rdsm-category-card,
.rdsm-root .rdsm-product-card,
.rdsm-root .rdsm-review-card,
.rdsm-root .rdsm-trust-card{
  contain: layout paint style !important;
  filter: none !important;
}

/* Evita animações/decorativos infinitos que não são essenciais */
.rdsm-root .rdsm-art-glow,
.rdsm-root .rdsm-orb,
.rdsm-root .rdsm-glow,
.rdsm-root .rdsm-shine{
  display: none !important;
}

/* Clique em ícone de categoria: congela o ícone branco e desliga qualquer hover durante a navegação */
.rdsm-root .rdsm-category-card .rdsm-cat-icon,
.rdsm-root .rdsm-category-card .rdsm-cat-icon-image,
.rdsm-root .rdsm-category-card .rdsm-cat-icon-image *,
.rdsm-root .rdsm-category-card h3{
  pointer-events: none !important;
  -webkit-user-select: none !important;
  user-select: none !important;
}

.rdsm-root .rdsm-category-card.rdsm-clicking,
.rdsm-root .rdsm-category-card.rdsm-clicking *,
.rdsm-root .rdsm-category-card.rdsm-navigating,
.rdsm-root .rdsm-category-card.rdsm-navigating *{
  transition: none !important;
  animation: none !important;
}

/* Mesmo que o card esteja hover/active, durante o clique mantém o original visível */
.rdsm-root .rdsm-category-card.rdsm-clicking .rdsm-cat-icon-image > img.rdsm-cat-original-img,
.rdsm-root .rdsm-category-card.rdsm-clicking:hover .rdsm-cat-icon-image > img.rdsm-cat-original-img,
.rdsm-root .rdsm-category-card.rdsm-clicking:active .rdsm-cat-icon-image > img.rdsm-cat-original-img,
.rdsm-root .rdsm-category-card.rdsm-navigating .rdsm-cat-icon-image > img.rdsm-cat-original-img,
.rdsm-root .rdsm-category-card.rdsm-navigating:hover .rdsm-cat-icon-image > img.rdsm-cat-original-img,
.rdsm-root .rdsm-category-card.rdsm-navigating:active .rdsm-cat-icon-image > img.rdsm-cat-original-img{
  opacity: 1 !important;
  visibility: visible !important;
  display: block !important;
  filter: none !important;
}

.rdsm-root .rdsm-category-card.rdsm-clicking .rdsm-cat-icon-image > img.rdsm-cat-hover-img,
.rdsm-root .rdsm-category-card.rdsm-clicking:hover .rdsm-cat-icon-image > img.rdsm-cat-hover-img,
.rdsm-root .rdsm-category-card.rdsm-clicking:active .rdsm-cat-icon-image > img.rdsm-cat-hover-img,
.rdsm-root .rdsm-category-card.rdsm-navigating .rdsm-cat-icon-image > img.rdsm-cat-hover-img,
.rdsm-root .rdsm-category-card.rdsm-navigating:hover .rdsm-cat-icon-image > img.rdsm-cat-hover-img,
.rdsm-root .rdsm-category-card.rdsm-navigating:active .rdsm-cat-icon-image > img.rdsm-cat-hover-img{
  opacity: 0 !important;
  visibility: visible !important;
}

/* Desliga também pseudo/máscara antiga durante o clique, caso exista */
.rdsm-root .rdsm-category-card.rdsm-clicking .rdsm-cat-icon-image::before,
.rdsm-root .rdsm-category-card.rdsm-clicking .rdsm-cat-icon-image::after,
.rdsm-root .rdsm-category-card.rdsm-navigating .rdsm-cat-icon-image::before,
.rdsm-root .rdsm-category-card.rdsm-navigating .rdsm-cat-icon-image::after{
  opacity: 0 !important;
  display: none !important;
}

/* Se o navegador estiver bugando o paint no clique, força composição estável */
.rdsm-root .rdsm-category-card.rdsm-clicking .rdsm-cat-icon-image,
.rdsm-root .rdsm-category-card.rdsm-navigating .rdsm-cat-icon-image{
  transform: translateZ(0) !important;
  backface-visibility: hidden !important;
}


/* v60 — correção dos ícones das categorias da Home */
/* Mata o estado travado de clique/navegação das versões anteriores */
.rdsm-root .rdsm-category-card.rdsm-clicking,
.rdsm-root .rdsm-category-card.rdsm-navigating{
  transition: border-color .28s cubic-bezier(.16,1,.3,1),
              box-shadow .28s cubic-bezier(.16,1,.3,1),
              background-color .28s cubic-bezier(.16,1,.3,1) !important;
}

/* Nada dentro do card pode ser selecionado/arrastado; o clique fica sempre no <a> */
.rdsm-root .rdsm-category-card,
.rdsm-root .rdsm-category-card *,
.rdsm-root .rdsm-cat-icon,
.rdsm-root .rdsm-cat-icon-image,
.rdsm-root .rdsm-cat-icon-image *{
  -webkit-user-select: none !important;
  user-select: none !important;
  -webkit-user-drag: none !important;
  user-drag: none !important;
}

/* O ícone não recebe evento; assim ele não entra em estado selecionado/focus próprio */
.rdsm-root .rdsm-category-card .rdsm-cat-icon,
.rdsm-root .rdsm-category-card .rdsm-cat-icon-image,
.rdsm-root .rdsm-category-card .rdsm-cat-icon-image img{
  pointer-events: none !important;
}

/* Estado normal: original branco sempre visível */
.rdsm-root .rdsm-category-card.rdsm-minimal .rdsm-cat-icon-image > img.rdsm-cat-original-img,
.rdsm-root .rdsm-category-card.rdsm-minimal .rdsm-cat-icon-image > img:not(.rdsm-cat-hover-img){
  opacity: 1 !important;
  visibility: visible !important;
  display: block !important;
  z-index: 1 !important;
  filter: none !important;
  mix-blend-mode: normal !important;
}

/* Estado normal: hover colorido escondido */
.rdsm-root .rdsm-category-card.rdsm-minimal .rdsm-cat-icon-image > img.rdsm-cat-hover-img{
  opacity: 0 !important;
  visibility: visible !important;
  display: block !important;
  z-index: 2 !important;
  pointer-events: none !important;
}

/* Hover/focus real: troca para a versão colorida */
.rdsm-root .rdsm-category-card.rdsm-minimal:hover .rdsm-cat-icon-image.rdsm-icon-canvas-ready > img.rdsm-cat-original-img,
.rdsm-root .rdsm-category-card.rdsm-minimal:focus-visible .rdsm-cat-icon-image.rdsm-icon-canvas-ready > img.rdsm-cat-original-img{
  opacity: 0 !important;
}

.rdsm-root .rdsm-category-card.rdsm-minimal:hover .rdsm-cat-icon-image.rdsm-icon-canvas-ready > img.rdsm-cat-hover-img,
.rdsm-root .rdsm-category-card.rdsm-minimal:focus-visible .rdsm-cat-icon-image.rdsm-icon-canvas-ready > img.rdsm-cat-hover-img{
  opacity: 1 !important;
}

/* Se ainda não terminou de gerar o hover-img, nunca esconda o original */
.rdsm-root .rdsm-category-card.rdsm-minimal:hover .rdsm-cat-icon-image:not(.rdsm-icon-canvas-ready) > img.rdsm-cat-original-img,
.rdsm-root .rdsm-category-card.rdsm-minimal:focus-visible .rdsm-cat-icon-image:not(.rdsm-icon-canvas-ready) > img.rdsm-cat-original-img{
  opacity: 1 !important;
}

/* Remove qualquer pseudo/máscara antiga que possa conflitar */
.rdsm-root .rdsm-category-card.rdsm-minimal .rdsm-cat-icon-image::before,
.rdsm-root .rdsm-category-card.rdsm-minimal .rdsm-cat-icon-image::after{
  display: none !important;
  content: none !important;
}

/* Durante clique: não muda o ícone, só deixa o card navegar normal */
.rdsm-root .rdsm-category-card.rdsm-minimal:active .rdsm-cat-icon-image > img.rdsm-cat-original-img,
.rdsm-root .rdsm-category-card.rdsm-minimal.rdsm-clicking .rdsm-cat-icon-image > img.rdsm-cat-original-img{
  opacity: 1 !important;
  visibility: visible !important;
}

.rdsm-root .rdsm-category-card.rdsm-minimal:active .rdsm-cat-icon-image > img.rdsm-cat-hover-img,
.rdsm-root .rdsm-category-card.rdsm-minimal.rdsm-clicking .rdsm-cat-icon-image > img.rdsm-cat-hover-img{
  opacity: 0 !important;
}

/* Evita o bug do navegador de segurar focus/click e travar a opacidade */
.rdsm-root .rdsm-category-card:focus:not(:focus-visible){
  outline: none !important;
}


/* v61 — área fixa/predefinida para imagem do produto */
/* Proporção oficial da arte: 1720 x 1000 px — ratio 1.72:1 */
.rdsm-root.rdsm-products-root{
  --rdsm-product-image-ratio: 1.72 / 1;
}

.rdsm-root.rdsm-products-root .rdsm-product-image{
  width: 100% !important;
  aspect-ratio: var(--rdsm-product-image-ratio) !important;
  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;
  display: block !important;
  overflow: hidden !important;
  border-radius: 12px 12px 0 0 !important;
  background: rgba(4,9,22,.72) !important;
  flex: 0 0 auto !important;
}

/* A imagem sempre preenche 100% da área definida, mesmo se precisar esticar */
.rdsm-root.rdsm-products-root .rdsm-product-image img,
.rdsm-root.rdsm-products-root .rdsm-product-card.rdsm-product-featured .rdsm-product-image img{
  width: 100% !important;
  height: 100% !important;
  max-width: none !important;
  max-height: none !important;
  min-width: 100% !important;
  min-height: 100% !important;
  object-fit: fill !important;
  object-position: center center !important;
  display: block !important;
  padding: 0 !important;
  margin: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  transform: none !important;
}

/* Mantém o conteúdo do card separado da imagem */
.rdsm-root.rdsm-products-root .rdsm-product-body{
  flex: 1 1 auto !important;
}


/* v62 — produto usa imagem FULL sem crop do WooCommerce e preenche X/Y da área */
.rdsm-root.rdsm-products-root .rdsm-product-image{
  width: 100% !important;
  aspect-ratio: 1.72 / 1 !important;
  overflow: hidden !important;
  display: block !important;
}

.rdsm-root.rdsm-products-root .rdsm-product-image img,
.rdsm-root.rdsm-products-root .rdsm-product-image img.rdsm-product-full-img,
.rdsm-root.rdsm-products-root .rdsm-product-image img.wp-post-image{
  width: 100% !important;
  height: 100% !important;
  min-width: 100% !important;
  min-height: 100% !important;
  max-width: none !important;
  max-height: none !important;
  object-fit: fill !important;
  object-position: center center !important;
  display: block !important;
  padding: 0 !important;
  margin: 0 !important;
  border: 0 !important;
  transform: none !important;
}

/* evita qualquer regra antiga do Woo/tema limitando largura real do img */
.rdsm-root.rdsm-products-root .rdsm-product-image picture,
.rdsm-root.rdsm-products-root .rdsm-product-image picture img{
  width: 100% !important;
  height: 100% !important;
  max-width: none !important;
}


/* v63 — product images com WebP cacheado pelo plugin */
.rdsm-root.rdsm-products-root .rdsm-product-image picture.rdsm-product-picture{
  width: 100% !important;
  height: 100% !important;
  display: block !important;
  padding: 0 !important;
  margin: 0 !important;
}

.rdsm-root.rdsm-products-root .rdsm-product-image picture.rdsm-product-picture source,
.rdsm-root.rdsm-products-root .rdsm-product-image picture.rdsm-product-picture img{
  width: 100% !important;
  height: 100% !important;
}


/* v64 — remove flash sem CSS/JS + corrige hover dos produtos */
/* Enquanto o loader está ativo, nada do site aparece bugado sem estilo */
html.rdsm-page-is-loading body{
  overflow: hidden !important;
}

.rdsm-root.rdsm-loading > *:not(.rdsm-page-loader){
  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;
}

.rdsm-root.rdsm-loading .rdsm-page-loader{
  position: fixed !important;
  inset: 0 !important;
  z-index: 2147483000 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}

/* Produto comum: sem brilho/glow e sem alteração de imagem no hover */
.rdsm-root.rdsm-products-root .rdsm-product-card:not(.rdsm-product-featured):hover{
  border-color: rgba(94,126,190,.18) !important;
  background: rgba(7,13,34,.78) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.035), 0 16px 42px rgba(0,0,0,.18) !important;
}

.rdsm-root.rdsm-products-root .rdsm-product-card:not(.rdsm-product-featured):hover::after{
  opacity: 0 !important;
  box-shadow: none !important;
}

.rdsm-root.rdsm-products-root .rdsm-product-card:not(.rdsm-product-featured):hover .rdsm-product-image img{
  filter: none !important;
}

/* Favorito: mantém o hover especial alterando a cor da imagem */
.rdsm-root.rdsm-products-root .rdsm-product-card.rdsm-product-featured:hover .rdsm-product-image img,
.rdsm-root.rdsm-products-root .rdsm-product-card.rdsm-product-featured:hover .rdsm-product-image picture img{
  filter: brightness(1.08) saturate(1.38) hue-rotate(8deg) !important;
}

.rdsm-root.rdsm-products-root .rdsm-product-card.rdsm-product-featured .rdsm-product-image{
  position: relative !important;
}

.rdsm-root.rdsm-products-root .rdsm-product-card.rdsm-product-featured .rdsm-product-image::after{
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  z-index: 3 !important;
  pointer-events: none !important;
  opacity: 0 !important;
  background: linear-gradient(135deg, rgba(22,140,255,.18), rgba(0,231,255,.10)) !important;
  mix-blend-mode: screen !important;
  transition: opacity .28s cubic-bezier(.16,1,.3,1) !important;
}

.rdsm-root.rdsm-products-root .rdsm-product-card.rdsm-product-featured:hover .rdsm-product-image::after{
  opacity: 1 !important;
}

/* remove qualquer regra antiga global de brilho em hover que volte por ordem de CSS */
.rdsm-root.rdsm-products-root .rdsm-product-card:hover .rdsm-product-image img{
  transition: filter .28s cubic-bezier(.16,1,.3,1) !important;
}


/* v65 — NENHUM produto altera imagem no hover, nem comum nem favorito */
/* Mantém a imagem exatamente igual: sem brilho, sem cor, sem filtro, sem overlay e sem zoom extra */
.rdsm-root.rdsm-products-root .rdsm-product-card .rdsm-product-image,
.rdsm-root.rdsm-products-root .rdsm-product-card:hover .rdsm-product-image,
.rdsm-root.rdsm-products-root .rdsm-product-card.rdsm-product-featured:hover .rdsm-product-image{
  filter: none !important;
  transform: none !important;
}

.rdsm-root.rdsm-products-root .rdsm-product-card .rdsm-product-image img,
.rdsm-root.rdsm-products-root .rdsm-product-card .rdsm-product-image picture img,
.rdsm-root.rdsm-products-root .rdsm-product-card:hover .rdsm-product-image img,
.rdsm-root.rdsm-products-root .rdsm-product-card:hover .rdsm-product-image picture img,
.rdsm-root.rdsm-products-root .rdsm-product-card.rdsm-product-featured:hover .rdsm-product-image img,
.rdsm-root.rdsm-products-root .rdsm-product-card.rdsm-product-featured:hover .rdsm-product-image picture img{
  filter: none !important;
  transform: none !important;
  scale: 1 !important;
  opacity: 1 !important;
  mix-blend-mode: normal !important;
}

/* Remove overlays/brilhos/coloração da área de imagem, incluindo favorito */
.rdsm-root.rdsm-products-root .rdsm-product-card .rdsm-product-image::before,
.rdsm-root.rdsm-products-root .rdsm-product-card .rdsm-product-image::after,
.rdsm-root.rdsm-products-root .rdsm-product-card:hover .rdsm-product-image::before,
.rdsm-root.rdsm-products-root .rdsm-product-card:hover .rdsm-product-image::after,
.rdsm-root.rdsm-products-root .rdsm-product-card.rdsm-product-featured .rdsm-product-image::before,
.rdsm-root.rdsm-products-root .rdsm-product-card.rdsm-product-featured .rdsm-product-image::after,
.rdsm-root.rdsm-products-root .rdsm-product-card.rdsm-product-featured:hover .rdsm-product-image::before,
.rdsm-root.rdsm-products-root .rdsm-product-card.rdsm-product-featured:hover .rdsm-product-image::after{
  display: none !important;
  content: none !important;
  opacity: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  filter: none !important;
  mix-blend-mode: normal !important;
}

/* Remove brilho/glow do card no hover, sem mexer no layout */
.rdsm-root.rdsm-products-root .rdsm-product-card:hover,
.rdsm-root.rdsm-products-root .rdsm-product-card.rdsm-product-featured:hover{
  box-shadow: inset 0 1px 0 rgba(255,255,255,.035), 0 16px 42px rgba(0,0,0,.18) !important;
}

.rdsm-root.rdsm-products-root .rdsm-product-card:hover::before,
.rdsm-root.rdsm-products-root .rdsm-product-card:hover::after,
.rdsm-root.rdsm-products-root .rdsm-product-card.rdsm-product-featured:hover::before,
.rdsm-root.rdsm-products-root .rdsm-product-card.rdsm-product-featured:hover::after{
  opacity: 0 !important;
  box-shadow: none !important;
  filter: none !important;
}


/* v68 — hover comum clonado do hover dos favoritos do anexo v65 */
/* Corrige APENAS os cards comuns. Os favoritos ficam intocados. */

/* Anula a regra antiga que deixava o comum com cor/borda diferentes */
.rdsm-root.rdsm-products-root .rdsm-product-card:not(.rdsm-product-featured):hover,
.rdsm-root.rdsm-products-root .rdsm-product-card:not(.rdsm-product-featured):focus{
  /* CTRL+C / CTRL+V do hover padrão/favorito do v65 */
  transform: translateZ(0) scale(1.025) !important;
  border-color: #168cff !important;
  background-color: rgba(8,16,38,.88) !important;
  background: rgba(8,16,38,.88) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.04), 0 18px 46px rgba(0,0,0,.20) !important;
}

/* CTRL+C / CTRL+V da suavidade/transição do card do v65 */
.rdsm-root.rdsm-products-root .rdsm-product-card:not(.rdsm-product-featured){
  transition:
    transform .34s cubic-bezier(.16,1,.3,1),
    border-color .34s cubic-bezier(.16,1,.3,1),
    background-color .34s cubic-bezier(.16,1,.3,1),
    box-shadow .34s cubic-bezier(.16,1,.3,1) !important;
}

/* Sem brilho/overlay extra no comum — igual ao estado final do favorito no v65 */
.rdsm-root.rdsm-products-root .rdsm-product-card:not(.rdsm-product-featured):hover::before,
.rdsm-root.rdsm-products-root .rdsm-product-card:not(.rdsm-product-featured):hover::after,
.rdsm-root.rdsm-products-root .rdsm-product-card:not(.rdsm-product-featured):focus::before,
.rdsm-root.rdsm-products-root .rdsm-product-card:not(.rdsm-product-featured):focus::after{
  opacity: 0 !important;
  box-shadow: none !important;
  filter: none !important;
}

/* A imagem não muda em nenhum hover */
.rdsm-root.rdsm-products-root .rdsm-product-card:not(.rdsm-product-featured):hover .rdsm-product-image,
.rdsm-root.rdsm-products-root .rdsm-product-card:not(.rdsm-product-featured):hover .rdsm-product-image img,
.rdsm-root.rdsm-products-root .rdsm-product-card:not(.rdsm-product-featured):hover .rdsm-product-image picture img,
.rdsm-root.rdsm-products-root .rdsm-product-card:not(.rdsm-product-featured):focus .rdsm-product-image,
.rdsm-root.rdsm-products-root .rdsm-product-card:not(.rdsm-product-featured):focus .rdsm-product-image img,
.rdsm-root.rdsm-products-root .rdsm-product-card:not(.rdsm-product-featured):focus .rdsm-product-image picture img{
  filter: none !important;
  transform: none !important;
  scale: 1 !important;
  opacity: 1 !important;
  mix-blend-mode: normal !important;
}

/* Só favorito real exibe a faixa */
.rdsm-root.rdsm-products-root .rdsm-product-card:not(.rdsm-product-featured) .rdsm-favorite-ribbon{
  display: none !important;
}


/* v69 — CTRL+C / CTRL+V REAL: comuns usam as MESMAS regras CSS dos favoritos */
/* As regras abaixo foram copiadas automaticamente de .rdsm-product-card.rdsm-product-featured
   e coladas para .rdsm-product-card:not(.rdsm-product-featured), ignorando somente a faixa. */

/* Faixa de destaque “Favorito” */
.rdsm-root .rdsm-product-card:not(.rdsm-product-featured){
  position: relative !important;
}

/* produto favorito */
.rdsm-root .rdsm-product-card:not(.rdsm-product-featured){
  position:relative !important;
}

/* v38 — card Favorito com brilho azul animado constante */
.rdsm-root .rdsm-product-card:not(.rdsm-product-featured){
  position: relative !important;
  overflow: hidden !important;
  isolation: isolate !important;
  animation: rdsmFavoriteCardGlow 3.8s ease-in-out infinite !important;
}

/* brilho azul móvel dentro do próprio card */
.rdsm-root .rdsm-product-card:not(.rdsm-product-featured)::before{
  content: "" !important;
  position: absolute !important;
  inset: -45% !important;
  z-index: 1 !important;
  pointer-events: none !important;
  background:
    radial-gradient(circle at 22% 24%, rgba(22,140,255,.30), transparent 22%),
    radial-gradient(circle at 78% 72%, rgba(52,214,255,.20), transparent 24%),
    conic-gradient(
      from 0deg,
      transparent 0deg,
      rgba(22,140,255,.00) 70deg,
      rgba(22,140,255,.30) 112deg,
      rgba(52,214,255,.18) 138deg,
      transparent 178deg,
      transparent 360deg
    ) !important;
  opacity: .45 !important;
  filter: blur(18px) !important;
  transform: rotate(0deg) scale(1.04) !important;
  animation: rdsmFavoriteGlowMove 6s linear infinite !important;
  mix-blend-mode: screen !important;
}

/* mantém conteúdo acima do brilho */
.rdsm-root .rdsm-product-card:not(.rdsm-product-featured) > *{
  position: relative !important;
  z-index: 2 !important;
}

/* quando hover, o brilho continua, só um pouco mais forte */
.rdsm-root .rdsm-product-card:not(.rdsm-product-featured):hover::before,
.rdsm-root .rdsm-product-card:not(.rdsm-product-featured):focus::before{
  opacity: .58 !important;
}

.rdsm-root .rdsm-product-card:not(.rdsm-product-featured){
  overflow: visible !important;
  position: relative !important;
  isolation: isolate !important;
}

/* remove o brilho interno antigo que ficava dentro do card/imagem */
.rdsm-root .rdsm-product-card:not(.rdsm-product-featured)::before{
  content: "" !important;
  position: absolute !important;
  inset: -26px !important;
  z-index: -1 !important;
  pointer-events: none !important;
  background:
    radial-gradient(circle at 22% 28%, rgba(22,140,255,.46), transparent 24%),
    radial-gradient(circle at 78% 72%, rgba(52,214,255,.34), transparent 26%),
    radial-gradient(circle at 50% 50%, rgba(22,140,255,.14), transparent 62%) !important;
  opacity: .72 !important;
  filter: blur(18px) !important;
  transform: rotate(0deg) translate3d(0,0,0) scale(1) !important;
  mix-blend-mode: normal !important;
  animation: rdsmFavoriteGlowBehind 5.8s ease-in-out infinite !important;
}

/* garante que imagem/conteúdo fiquem normais, sem camada azul por cima */
.rdsm-root .rdsm-product-card:not(.rdsm-product-featured) > *{
  position: relative !important;
  z-index: 2 !important;
}

.rdsm-root .rdsm-product-card:not(.rdsm-product-featured) .rdsm-product-image{
  overflow: hidden !important;
  z-index: 2 !important;
}

.rdsm-root .rdsm-product-card:not(.rdsm-product-featured) .rdsm-product-image img{
  filter: none !important;
  mix-blend-mode: normal !important;
}

/* brilho externo fica um pouco mais forte no hover, sem entrar no card */
.rdsm-root .rdsm-product-card:not(.rdsm-product-featured):hover::before,
.rdsm-root .rdsm-product-card:not(.rdsm-product-featured):focus::before,
.rdsm-root .rdsm-product-card:not(.rdsm-product-featured):focus-within::before{
  opacity: .90 !important;
}

/* Card favorito volta ao padrão normal, sem brilho animado */
.rdsm-root .rdsm-product-card:not(.rdsm-product-featured){
  overflow: hidden !important;
  isolation: auto !important;
  animation: none !important;
  position: relative !important;
}

/* Remove de vez qualquer brilho criado nas versões anteriores */
.rdsm-root .rdsm-product-card:not(.rdsm-product-featured)::before{
  display: none !important;
  content: none !important;
  opacity: 0 !important;
  animation: none !important;
  background: none !important;
  filter: none !important;
}

/* Imagem do favorito igual aos cards normais */
.rdsm-root .rdsm-product-card:not(.rdsm-product-featured) .rdsm-product-image{
  position: relative !important;
  z-index: 1 !important;
  width: 100% !important;
  display: block !important;
  overflow: hidden !important;
  border-radius: 12px 12px 0 0 !important;
  background: rgba(4,9,22,.72) !important;
}

.rdsm-root .rdsm-product-card:not(.rdsm-product-featured) .rdsm-product-image img{
  width: 100% !important;
  height: 100% !important;
  max-width: none !important;
  max-height: none !important;
  object-fit: cover !important;
  object-position: center center !important;
  padding: 0 !important;
  margin: 0 !important;
  display: block !important;
  filter: none !important;
  mix-blend-mode: normal !important;
  transform: none !important;
}

/* v41 — imagem dos favoritos 100% igual aos cards normais + faixa 15% maior */
.rdsm-root .rdsm-product-card:not(.rdsm-product-featured){
  overflow: hidden !important;
  isolation: auto !important;
  animation: none !important;
  position: relative !important;
}

/* remove qualquer camada antiga que afetava visual/imagem */
.rdsm-root .rdsm-product-card:not(.rdsm-product-featured)::before,
.rdsm-root .rdsm-product-card:not(.rdsm-product-featured)::after{
  display: none !important;
  content: none !important;
  background: none !important;
  opacity: 0 !important;
  filter: none !important;
  animation: none !important;
  box-shadow: none !important;
}

/* imagem do favorito SEM z-index/pseudo/camada especial */
.rdsm-root .rdsm-product-card:not(.rdsm-product-featured) .rdsm-product-image{
  position: static !important;
  z-index: auto !important;
  width: 100% !important;
  aspect-ratio: 1.7 / 1 !important;
  display: block !important;
  overflow: hidden !important;
  border-radius: 12px 12px 0 0 !important;
  background: rgba(4,9,22,.72) !important;
  flex: 0 0 auto !important;
}

/* imagem sem corte extra e sem efeito herdado */
.rdsm-root .rdsm-product-card:not(.rdsm-product-featured) .rdsm-product-image img{
  width: 100% !important;
  height: 100% !important;
  max-width: none !important;
  max-height: none !important;
  object-fit: fill !important;
  object-position: center center !important;
  padding: 0 !important;
  margin: 0 !important;
  display: block !important;
  border-radius: 0 !important;
  background: transparent !important;
  filter: none !important;
  mix-blend-mode: normal !important;
  transform: none !important;
}

/* v42 — correção definitiva: faixa Favorito absoluta e imagem no topo */
.rdsm-root .rdsm-product-card:not(.rdsm-product-featured){
  position: relative !important;
  overflow: hidden !important;
  display: flex !important;
  flex-direction: column !important;
}

/* Imagem sempre começa no topo do card, inclusive nos favoritos */
.rdsm-root .rdsm-product-card:not(.rdsm-product-featured) > .rdsm-product-image{
  order: 1 !important;
  position: relative !important;
  z-index: 1 !important;
  flex: 0 0 auto !important;
  margin: 0 !important;
  padding: 0 !important;
  width: 100% !important;
  display: block !important;
  transform: none !important;
}

/* Corpo sempre abaixo da imagem */
.rdsm-root .rdsm-product-card:not(.rdsm-product-featured) > .rdsm-product-body{
  order: 2 !important;
  position: relative !important;
  z-index: 2 !important;
}

/* A imagem sempre preenche 100% da área definida, mesmo se precisar esticar */
.rdsm-root.rdsm-products-root .rdsm-product-image img,
.rdsm-root.rdsm-products-root .rdsm-product-card:not(.rdsm-product-featured) .rdsm-product-image img{
  width: 100% !important;
  height: 100% !important;
  max-width: none !important;
  max-height: none !important;
  min-width: 100% !important;
  min-height: 100% !important;
  object-fit: fill !important;
  object-position: center center !important;
  display: block !important;
  padding: 0 !important;
  margin: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  transform: none !important;
}

/* Favorito: mantém o hover especial alterando a cor da imagem */
.rdsm-root.rdsm-products-root .rdsm-product-card:not(.rdsm-product-featured):hover .rdsm-product-image img,
.rdsm-root.rdsm-products-root .rdsm-product-card:not(.rdsm-product-featured):hover .rdsm-product-image picture img{
  filter: brightness(1.08) saturate(1.38) hue-rotate(8deg) !important;
}

.rdsm-root.rdsm-products-root .rdsm-product-card:not(.rdsm-product-featured) .rdsm-product-image{
  position: relative !important;
}

.rdsm-root.rdsm-products-root .rdsm-product-card:not(.rdsm-product-featured) .rdsm-product-image::after{
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  z-index: 3 !important;
  pointer-events: none !important;
  opacity: 0 !important;
  background: linear-gradient(135deg, rgba(22,140,255,.18), rgba(0,231,255,.10)) !important;
  mix-blend-mode: screen !important;
  transition: opacity .28s cubic-bezier(.16,1,.3,1) !important;
}

.rdsm-root.rdsm-products-root .rdsm-product-card:not(.rdsm-product-featured):hover .rdsm-product-image::after{
  opacity: 1 !important;
}

/* v65 — NENHUM produto altera imagem no hover, nem comum nem favorito */
/* Mantém a imagem exatamente igual: sem brilho, sem cor, sem filtro, sem overlay e sem zoom extra */
.rdsm-root.rdsm-products-root .rdsm-product-card .rdsm-product-image,
.rdsm-root.rdsm-products-root .rdsm-product-card:hover .rdsm-product-image,
.rdsm-root.rdsm-products-root .rdsm-product-card:not(.rdsm-product-featured):hover .rdsm-product-image{
  filter: none !important;
  transform: none !important;
}

.rdsm-root.rdsm-products-root .rdsm-product-card .rdsm-product-image img,
.rdsm-root.rdsm-products-root .rdsm-product-card .rdsm-product-image picture img,
.rdsm-root.rdsm-products-root .rdsm-product-card:hover .rdsm-product-image img,
.rdsm-root.rdsm-products-root .rdsm-product-card:hover .rdsm-product-image picture img,
.rdsm-root.rdsm-products-root .rdsm-product-card:not(.rdsm-product-featured):hover .rdsm-product-image img,
.rdsm-root.rdsm-products-root .rdsm-product-card:not(.rdsm-product-featured):hover .rdsm-product-image picture img{
  filter: none !important;
  transform: none !important;
  scale: 1 !important;
  opacity: 1 !important;
  mix-blend-mode: normal !important;
}

/* Remove overlays/brilhos/coloração da área de imagem, incluindo favorito */
.rdsm-root.rdsm-products-root .rdsm-product-card .rdsm-product-image::before,
.rdsm-root.rdsm-products-root .rdsm-product-card .rdsm-product-image::after,
.rdsm-root.rdsm-products-root .rdsm-product-card:hover .rdsm-product-image::before,
.rdsm-root.rdsm-products-root .rdsm-product-card:hover .rdsm-product-image::after,
.rdsm-root.rdsm-products-root .rdsm-product-card:not(.rdsm-product-featured) .rdsm-product-image::before,
.rdsm-root.rdsm-products-root .rdsm-product-card:not(.rdsm-product-featured) .rdsm-product-image::after,
.rdsm-root.rdsm-products-root .rdsm-product-card:not(.rdsm-product-featured):hover .rdsm-product-image::before,
.rdsm-root.rdsm-products-root .rdsm-product-card:not(.rdsm-product-featured):hover .rdsm-product-image::after{
  display: none !important;
  content: none !important;
  opacity: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  filter: none !important;
  mix-blend-mode: normal !important;
}

/* Remove brilho/glow do card no hover, sem mexer no layout */
.rdsm-root.rdsm-products-root .rdsm-product-card:hover,
.rdsm-root.rdsm-products-root .rdsm-product-card:not(.rdsm-product-featured):hover{
  box-shadow: inset 0 1px 0 rgba(255,255,255,.035), 0 16px 42px rgba(0,0,0,.18) !important;
}

.rdsm-root.rdsm-products-root .rdsm-product-card:hover::before,
.rdsm-root.rdsm-products-root .rdsm-product-card:hover::after,
.rdsm-root.rdsm-products-root .rdsm-product-card:not(.rdsm-product-featured):hover::before,
.rdsm-root.rdsm-products-root .rdsm-product-card:not(.rdsm-product-featured):hover::after{
  opacity: 0 !important;
  box-shadow: none !important;
  filter: none !important;
}

/* Segurança final: comuns nunca exibem faixa */
.rdsm-root.rdsm-products-root .rdsm-product-card:not(.rdsm-product-featured) .rdsm-favorite-ribbon,
.rdsm-root .rdsm-product-card:not(.rdsm-product-featured) .rdsm-favorite-ribbon{
  display: none !important;
  opacity: 0 !important;
  visibility: hidden !important;
}

/* Segurança final: hover dos comuns fica no mesmo estado visual do favorito, sem regra antiga seca sobrescrever */
.rdsm-root.rdsm-products-root .rdsm-product-card:not(.rdsm-product-featured):hover,
.rdsm-root.rdsm-products-root .rdsm-product-card:not(.rdsm-product-featured):focus,
.rdsm-root .rdsm-product-card:not(.rdsm-product-featured):hover,
.rdsm-root .rdsm-product-card:not(.rdsm-product-featured):focus{
  transform: translateZ(0) scale(1.025) !important;
  border-color: #168cff !important;
  background-color: rgba(8,16,38,.88) !important;
  background: rgba(8,16,38,.88) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.04),0 18px 46px rgba(0,0,0,.20) !important;
  transition:
    transform .34s cubic-bezier(.16,1,.3,1),
    border-color .34s cubic-bezier(.16,1,.3,1),
    background-color .34s cubic-bezier(.16,1,.3,1),
    box-shadow .34s cubic-bezier(.16,1,.3,1) !important;
}

/* Sem mudança na imagem, nem comum nem favorito */
.rdsm-root.rdsm-products-root .rdsm-product-card:hover .rdsm-product-image,
.rdsm-root.rdsm-products-root .rdsm-product-card:hover .rdsm-product-image img,
.rdsm-root.rdsm-products-root .rdsm-product-card:hover .rdsm-product-image picture img{
  filter: none !important;
  transform: none !important;
  scale: 1 !important;
  opacity: 1 !important;
  mix-blend-mode: normal !important;
}


/* v70 — correção definitiva: TODOS os cards usam literalmente o estilo/classe dos favoritos */
/* A diferença agora é só a faixa, que só existe no produto marcado como favorito no PHP. */

/* Se o card não for favorito real, ele continua com toda a estética do favorito,
   mas nunca pode exibir faixa, mesmo se alguma regra antiga tentar. */
.rdsm-root.rdsm-products-root .rdsm-product-card.rdsm-not-real-favorite .rdsm-favorite-ribbon,
.rdsm-root .rdsm-product-card.rdsm-not-real-favorite .rdsm-favorite-ribbon{
  display: none !important;
  opacity: 0 !important;
  visibility: hidden !important;
}

/* Como todos os cards agora têm rdsm-product-featured, anulamos regras antigas que miravam "not featured" */
.rdsm-root.rdsm-products-root .rdsm-product-card.rdsm-product-featured.rdsm-not-real-favorite:hover,
.rdsm-root.rdsm-products-root .rdsm-product-card.rdsm-product-featured.rdsm-not-real-favorite:focus,
.rdsm-root .rdsm-product-card.rdsm-product-featured.rdsm-not-real-favorite:hover,
.rdsm-root .rdsm-product-card.rdsm-product-featured.rdsm-not-real-favorite:focus{
  /* valores do favorito atual */
  transform: translateZ(0) scale(1.025) !important;
  border-color: #168cff !important;
  background-color: rgba(8,16,38,.88) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.04),0 18px 46px rgba(0,0,0,.20) !important;
  transition:
    transform .34s cubic-bezier(.16,1,.3,1),
    border-color .34s cubic-bezier(.16,1,.3,1),
    background-color .34s cubic-bezier(.16,1,.3,1),
    box-shadow .34s cubic-bezier(.16,1,.3,1) !important;
}

/* Imagem permanece exatamente igual em todos */
.rdsm-root.rdsm-products-root .rdsm-product-card.rdsm-product-featured:hover .rdsm-product-image,
.rdsm-root.rdsm-products-root .rdsm-product-card.rdsm-product-featured:hover .rdsm-product-image img,
.rdsm-root.rdsm-products-root .rdsm-product-card.rdsm-product-featured:hover .rdsm-product-image picture img{
  filter: none !important;
  transform: none !important;
  scale: 1 !important;
  opacity: 1 !important;
  mix-blend-mode: normal !important;
}


/* v72 — usa o FAVORITO DO ANEXO como base real para TODOS os cards */
/* Não recria hover. Todos os cards recebem rdsm-product-featured no PHP.
   Aqui só removemos diferenças antigas dos comuns e deixamos a faixa apenas no favorito real. */

/* A faixa só aparece em favorito real */
.rdsm-root.rdsm-products-root .rdsm-product-card.rdsm-not-real-favorite .rdsm-favorite-ribbon,
.rdsm-root .rdsm-product-card.rdsm-not-real-favorite .rdsm-favorite-ribbon{
  display: none !important;
  opacity: 0 !important;
  visibility: hidden !important;
}

/* Comuns usam exatamente o mesmo card/hover do favorito porque também são rdsm-product-featured.
   Este bloco neutraliza regras antigas que tentavam tratar comuns de forma diferente. */
.rdsm-root.rdsm-products-root .rdsm-product-card.rdsm-product-featured.rdsm-not-real-favorite,
.rdsm-root .rdsm-product-card.rdsm-product-featured.rdsm-not-real-favorite{
  overflow: visible !important;
  position: relative !important;
  isolation: isolate !important;
}

.rdsm-root.rdsm-products-root .rdsm-product-card.rdsm-product-featured.rdsm-not-real-favorite:hover,
.rdsm-root.rdsm-products-root .rdsm-product-card.rdsm-product-featured.rdsm-not-real-favorite:focus,
.rdsm-root .rdsm-product-card.rdsm-product-featured.rdsm-not-real-favorite:hover,
.rdsm-root .rdsm-product-card.rdsm-product-featured.rdsm-not-real-favorite:focus{
  /* valores atuais do favorito do anexo */
  transform: translateZ(0) scale(1.025) !important;
  border-color: #168cff !important;
  background-color: rgba(8,16,38,.88) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.04),0 18px 46px rgba(0,0,0,.20) !important;
}

/* Mantém a suavidade do card favorito do anexo, sem regra seca por cima */
.rdsm-root.rdsm-products-root .rdsm-product-card.rdsm-product-featured,
.rdsm-root .rdsm-product-card.rdsm-product-featured{
  transition:
    transform .34s cubic-bezier(.16,1,.3,1),
    border-color .34s cubic-bezier(.16,1,.3,1),
    background-color .34s cubic-bezier(.16,1,.3,1),
    box-shadow .34s cubic-bezier(.16,1,.3,1) !important;
}

/* Não mexe na imagem em nenhum card */
.rdsm-root.rdsm-products-root .rdsm-product-card.rdsm-product-featured:hover .rdsm-product-image,
.rdsm-root.rdsm-products-root .rdsm-product-card.rdsm-product-featured:hover .rdsm-product-image img,
.rdsm-root.rdsm-products-root .rdsm-product-card.rdsm-product-featured:hover .rdsm-product-image picture img,
.rdsm-root .rdsm-product-card.rdsm-product-featured:hover .rdsm-product-image,
.rdsm-root .rdsm-product-card.rdsm-product-featured:hover .rdsm-product-image img,
.rdsm-root .rdsm-product-card.rdsm-product-featured:hover .rdsm-product-image picture img{
  filter: none !important;
  transform: none !important;
  scale: 1 !important;
  opacity: 1 !important;
  mix-blend-mode: normal !important;
}

/* Remove qualquer overlay/brilho de imagem adicionado em versões antigas */
.rdsm-root.rdsm-products-root .rdsm-product-card.rdsm-product-featured .rdsm-product-image::before,
.rdsm-root.rdsm-products-root .rdsm-product-card.rdsm-product-featured .rdsm-product-image::after,
.rdsm-root .rdsm-product-card.rdsm-product-featured .rdsm-product-image::before,
.rdsm-root .rdsm-product-card.rdsm-product-featured .rdsm-product-image::after{
  display: none !important;
  content: none !important;
  opacity: 0 !important;
}


/* v74 — estrutura correta e definitiva dos produtos */
/* O card NUNCA muda de estrutura por ser favorito.
   Todos são o mesmo componente: .rdsm-product-card.
   Favorito só adiciona uma camada visual ABSOLUTA da faixa. */

/* Remove as sobras das versões anteriores que faziam comum/favorito terem estruturas diferentes */
.rdsm-root.rdsm-products-root .rdsm-product-card.rdsm-product-featured,
.rdsm-root.rdsm-products-root .rdsm-product-card.rdsm-not-real-favorite,
.rdsm-root .rdsm-product-card.rdsm-product-featured,
.rdsm-root .rdsm-product-card.rdsm-not-real-favorite{
  all: revert-layer;
}

/* Base única para TODOS os cards */
.rdsm-root.rdsm-products-root .rdsm-product-card,
.rdsm-root.rdsm-products-root .rdsm-product-card.rdsm-real-favorite,
.rdsm-root.rdsm-products-root .rdsm-product-card:not(.rdsm-real-favorite){
  position: relative !important;
  isolation: isolate !important;
  overflow: visible !important;
  transform: translateZ(0) scale(1) !important;
  transform-origin: center center !important;
  backface-visibility: hidden !important;
  -webkit-backface-visibility: hidden !important;
  will-change: transform, border-color, background-color, box-shadow !important;
  contain: none !important;
  transition:
    transform .34s cubic-bezier(.16,1,.3,1),
    border-color .34s cubic-bezier(.16,1,.3,1),
    background-color .34s cubic-bezier(.16,1,.3,1),
    box-shadow .34s cubic-bezier(.16,1,.3,1) !important;
}

/* Mesmo hover para TODOS os cards, sem usar classe de favorito */
.rdsm-root.rdsm-products-root .rdsm-product-card:hover,
.rdsm-root.rdsm-products-root .rdsm-product-card:focus,
.rdsm-root.rdsm-products-root .rdsm-product-card.rdsm-real-favorite:hover,
.rdsm-root.rdsm-products-root .rdsm-product-card:not(.rdsm-real-favorite):hover{
  transform: translateZ(0) scale(1.025) !important;
  border-color: #168cff !important;
  background-color: rgba(8,16,38,.88) !important;
  background: rgba(8,16,38,.88) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.04), 0 18px 46px rgba(0,0,0,.20) !important;
}

/* Remove brilhos/overlays de card das versões antigas que causavam diferença visual */
.rdsm-root.rdsm-products-root .rdsm-product-card::before,
.rdsm-root.rdsm-products-root .rdsm-product-card::after,
.rdsm-root .rdsm-product-card::before,
.rdsm-root .rdsm-product-card::after{
  opacity: 0 !important;
  box-shadow: none !important;
  filter: none !important;
}

/* Conteúdo interno estável: o zoom é do card inteiro, não dos filhos */
.rdsm-root.rdsm-products-root .rdsm-product-card .rdsm-product-image,
.rdsm-root.rdsm-products-root .rdsm-product-card .rdsm-product-body,
.rdsm-root.rdsm-products-root .rdsm-product-card .rdsm-product-title,
.rdsm-root.rdsm-products-root .rdsm-product-card .rdsm-product-bottom,
.rdsm-root.rdsm-products-root .rdsm-product-card .rdsm-product-price,
.rdsm-root.rdsm-products-root .rdsm-product-card .rdsm-product-rating{
  position: relative !important;
  z-index: 2 !important;
  backface-visibility: hidden !important;
  -webkit-backface-visibility: hidden !important;
}

/* Imagem sem deslocamento e sem bug de espaço no topo */
.rdsm-root.rdsm-products-root .rdsm-product-card .rdsm-product-image{
  margin-top: 0 !important;
  top: auto !important;
  overflow: hidden !important;
  transform: translateZ(0) !important;
  contain: paint !important;
}

.rdsm-root.rdsm-products-root .rdsm-product-card .rdsm-product-image img,
.rdsm-root.rdsm-products-root .rdsm-product-card .rdsm-product-image picture,
.rdsm-root.rdsm-products-root .rdsm-product-card .rdsm-product-image picture img,
.rdsm-root.rdsm-products-root .rdsm-product-card:hover .rdsm-product-image img,
.rdsm-root.rdsm-products-root .rdsm-product-card:hover .rdsm-product-image picture img{
  filter: none !important;
  transform: translateZ(0) !important;
  scale: 1 !important;
  opacity: 1 !important;
  mix-blend-mode: normal !important;
  transition: none !important;
}

/* Remove qualquer overlay de imagem antigo */
.rdsm-root.rdsm-products-root .rdsm-product-card .rdsm-product-image::before,
.rdsm-root.rdsm-products-root .rdsm-product-card .rdsm-product-image::after{
  display: none !important;
  content: none !important;
  opacity: 0 !important;
}

/* Favorito = somente faixa absoluta por cima do mesmo card */
.rdsm-root.rdsm-products-root .rdsm-product-card.rdsm-real-favorite .rdsm-favorite-ribbon,
.rdsm-root .rdsm-product-card.rdsm-real-favorite .rdsm-favorite-ribbon{
  position: absolute !important;
  top: 14px !important;
  left: -40px !important;
  z-index: 8 !important;
  width: 156px !important;
  height: 33px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  transform: rotate(-45deg) translate3d(0,0,0) !important;
  background: linear-gradient(135deg,#168cff,#34d6ff) !important;
  color: #fff !important;
  font-size: 12px !important;
  font-weight: 950 !important;
  letter-spacing: .08em !important;
  text-transform: uppercase !important;
  box-shadow: 0 10px 26px rgba(22,140,255,.32) !important;
  pointer-events: none !important;
  opacity: 1 !important;
  visibility: visible !important;
  filter: blur(0) !important;
  animation: none !important;
  will-change: transform, opacity, filter !important;
  transition:
    transform .62s cubic-bezier(.16,1,.3,1),
    opacity .48s cubic-bezier(.16,1,.3,1),
    filter .48s cubic-bezier(.16,1,.3,1) !important;
}

/* Animação da faixa preservada somente para o favorito */
.rdsm-root.rdsm-products-root .rdsm-product-card.rdsm-real-favorite:hover .rdsm-favorite-ribbon,
.rdsm-root.rdsm-products-root .rdsm-product-card.rdsm-real-favorite:focus .rdsm-favorite-ribbon,
.rdsm-root.rdsm-products-root .rdsm-product-card.rdsm-real-favorite:focus-within .rdsm-favorite-ribbon,
.rdsm-root .rdsm-product-card.rdsm-real-favorite:hover .rdsm-favorite-ribbon,
.rdsm-root .rdsm-product-card.rdsm-real-favorite:focus .rdsm-favorite-ribbon,
.rdsm-root .rdsm-product-card.rdsm-real-favorite:focus-within .rdsm-favorite-ribbon{
  transform: rotate(-45deg) translate3d(0,-58px,0) !important;
  opacity: 0 !important;
  filter: blur(2px) !important;
  animation: none !important;
}

/* Comuns nunca têm faixa */
.rdsm-root.rdsm-products-root .rdsm-product-card:not(.rdsm-real-favorite) .rdsm-favorite-ribbon,
.rdsm-root .rdsm-product-card:not(.rdsm-real-favorite) .rdsm-favorite-ribbon{
  display: none !important;
}


/* v75 — ajustes pedidos: sem troca de cor do fundo no hover, faixa reposicionada e borda suave */
/* Só mexe nesses 3 pontos. */

/* Fundo base oficial do card — também será usado no hover para não trocar de cor */
.rdsm-root.rdsm-products-root{
  --rdsm-card-bg-stable:
    linear-gradient(180deg, rgba(10,17,39,.78), rgba(8,14,34,.84)) padding-box,
    linear-gradient(180deg, rgba(94,126,190,.20), rgba(94,126,190,.10)) border-box;
}

/* Suavidade da borda/fundo/sombra/zoom */
.rdsm-root.rdsm-products-root .rdsm-product-card{
  background: var(--rdsm-card-bg-stable) !important;
  background-color: transparent !important;
  transition:
    transform .34s cubic-bezier(.16,1,.3,1),
    border-color .42s cubic-bezier(.16,1,.3,1),
    box-shadow .42s cubic-bezier(.16,1,.3,1),
    background .42s cubic-bezier(.16,1,.3,1),
    background-color .42s cubic-bezier(.16,1,.3,1) !important;
}

/* Hover: não troca mais a cor/fundo do card; muda só borda, sombra e zoom */
.rdsm-root.rdsm-products-root .rdsm-product-card:hover,
.rdsm-root.rdsm-products-root .rdsm-product-card:focus,
.rdsm-root.rdsm-products-root .rdsm-product-card.rdsm-real-favorite:hover,
.rdsm-root.rdsm-products-root .rdsm-product-card:not(.rdsm-real-favorite):hover{
  background: var(--rdsm-card-bg-stable) !important;
  background-color: transparent !important;
  border-color: #168cff !important;
  transform: translateZ(0) scale(1.025) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.04), 0 18px 46px rgba(0,0,0,.20) !important;
  transition:
    transform .34s cubic-bezier(.16,1,.3,1),
    border-color .42s cubic-bezier(.16,1,.3,1),
    box-shadow .42s cubic-bezier(.16,1,.3,1),
    background .42s cubic-bezier(.16,1,.3,1),
    background-color .42s cubic-bezier(.16,1,.3,1) !important;
}

/* Faixa reposicionada: fica encaixada no canto do card, não jogada para fora */
.rdsm-root.rdsm-products-root .rdsm-product-card.rdsm-real-favorite .rdsm-favorite-ribbon,
.rdsm-root .rdsm-product-card.rdsm-real-favorite .rdsm-favorite-ribbon{
  top: 26px !important;
  left: -34px !important;
  width: 148px !important;
  height: 30px !important;
  z-index: 9 !important;
  transform: rotate(-45deg) translate3d(0,0,0) !important;
  transform-origin: center center !important;
  transition:
    transform .62s cubic-bezier(.16,1,.3,1),
    opacity .48s cubic-bezier(.16,1,.3,1),
    filter .48s cubic-bezier(.16,1,.3,1) !important;
}

/* Mantém a animação da faixa saindo no hover, com base na nova posição */
.rdsm-root.rdsm-products-root .rdsm-product-card.rdsm-real-favorite:hover .rdsm-favorite-ribbon,
.rdsm-root.rdsm-products-root .rdsm-product-card.rdsm-real-favorite:focus .rdsm-favorite-ribbon,
.rdsm-root.rdsm-products-root .rdsm-product-card.rdsm-real-favorite:focus-within .rdsm-favorite-ribbon,
.rdsm-root .rdsm-product-card.rdsm-real-favorite:hover .rdsm-favorite-ribbon,
.rdsm-root .rdsm-product-card.rdsm-real-favorite:focus .rdsm-favorite-ribbon,
.rdsm-root .rdsm-product-card.rdsm-real-favorite:focus-within .rdsm-favorite-ribbon{
  transform: rotate(-45deg) translate3d(0,-52px,0) !important;
  opacity: 0 !important;
  filter: blur(2px) !important;
}


/* v76 — fundo do card pelo anexo + borda inativa mais clara + faixa arredondada */
.rdsm-root.rdsm-products-root{
  --rdsm-card-bg-solid: #1c2337;
  --rdsm-card-border-idle: rgba(186, 204, 236, .46);
  --rdsm-card-border-hover: #168cff;
}

/* Fundo fixo do card: não troca de cor no hover */
.rdsm-root.rdsm-products-root .rdsm-product-card,
.rdsm-root.rdsm-products-root .rdsm-product-card.rdsm-real-favorite,
.rdsm-root.rdsm-products-root .rdsm-product-card:not(.rdsm-real-favorite){
  background: var(--rdsm-card-bg-solid) !important;
  background-color: var(--rdsm-card-bg-solid) !important;
  border: 2px solid var(--rdsm-card-border-idle) !important;
  overflow: visible !important;
  transition:
    transform .34s cubic-bezier(.16,1,.3,1),
    border-color .52s cubic-bezier(.16,1,.3,1),
    box-shadow .52s cubic-bezier(.16,1,.3,1) !important;
}

/* Hover: mantém o mesmo fundo; muda só borda, sombra e zoom */
.rdsm-root.rdsm-products-root .rdsm-product-card:hover,
.rdsm-root.rdsm-products-root .rdsm-product-card:focus,
.rdsm-root.rdsm-products-root .rdsm-product-card.rdsm-real-favorite:hover,
.rdsm-root.rdsm-products-root .rdsm-product-card:not(.rdsm-real-favorite):hover{
  background: var(--rdsm-card-bg-solid) !important;
  background-color: var(--rdsm-card-bg-solid) !important;
  border-color: var(--rdsm-card-border-hover) !important;
  transform: translateZ(0) scale(1.025) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.04), 0 18px 46px rgba(0,0,0,.20) !important;
}

/* Faixa: mantém a posição/estilo atual, mas com bordas bem arredondadas */
.rdsm-root.rdsm-products-root .rdsm-product-card.rdsm-real-favorite .rdsm-favorite-ribbon,
.rdsm-root .rdsm-product-card.rdsm-real-favorite .rdsm-favorite-ribbon{
  border-radius: 999px !important;
  overflow: hidden !important;
  clip-path: none !important;
  transform: rotate(-45deg) translate3d(0,0,0) !important;
  transform-origin: center center !important;
  transition:
    transform .62s cubic-bezier(.16,1,.3,1),
    opacity .48s cubic-bezier(.16,1,.3,1),
    filter .48s cubic-bezier(.16,1,.3,1) !important;
}

/* Mantém a animação de saída da faixa no hover */
.rdsm-root.rdsm-products-root .rdsm-product-card.rdsm-real-favorite:hover .rdsm-favorite-ribbon,
.rdsm-root.rdsm-products-root .rdsm-product-card.rdsm-real-favorite:focus .rdsm-favorite-ribbon,
.rdsm-root.rdsm-products-root .rdsm-product-card.rdsm-real-favorite:focus-within .rdsm-favorite-ribbon,
.rdsm-root .rdsm-product-card.rdsm-real-favorite:hover .rdsm-favorite-ribbon,
.rdsm-root .rdsm-product-card.rdsm-real-favorite:focus .rdsm-favorite-ribbon,
.rdsm-root .rdsm-product-card.rdsm-real-favorite:focus-within .rdsm-favorite-ribbon{
  transform: rotate(-45deg) translate3d(0,-52px,0) !important;
  opacity: 0 !important;
  filter: blur(2px) !important;
}

/* Imagem continua sem alterar no hover */
.rdsm-root.rdsm-products-root .rdsm-product-card:hover .rdsm-product-image,
.rdsm-root.rdsm-products-root .rdsm-product-card:hover .rdsm-product-image img,
.rdsm-root.rdsm-products-root .rdsm-product-card:hover .rdsm-product-image picture img{
  filter: none !important;
  transform: translateZ(0) !important;
  scale: 1 !important;
  opacity: 1 !important;
}


/* v77 — faixa Favorito mais destacada: sombra preta + borda interna branca desfocada */
.rdsm-root.rdsm-products-root .rdsm-product-card.rdsm-real-favorite .rdsm-favorite-ribbon,
.rdsm-root .rdsm-product-card.rdsm-real-favorite .rdsm-favorite-ribbon{
  box-shadow:
    0 9px 18px rgba(0,0,0,.58),
    0 3px 8px rgba(0,0,0,.42),
    inset 0 0 0 1px rgba(255,255,255,.64),
    inset 0 0 10px rgba(255,255,255,.34) !important;
  text-shadow:
    0 2px 3px rgba(0,0,0,.45),
    0 0 8px rgba(255,255,255,.18) !important;
}

/* camada interna suave para parecer uma bordinha branca desfocada sem mudar a posição */
.rdsm-root.rdsm-products-root .rdsm-product-card.rdsm-real-favorite .rdsm-favorite-ribbon::after,
.rdsm-root .rdsm-product-card.rdsm-real-favorite .rdsm-favorite-ribbon::after{
  content: "" !important;
  position: absolute !important;
  inset: 2px !important;
  border-radius: 999px !important;
  pointer-events: none !important;
  border: 1px solid rgba(255,255,255,.52) !important;
  box-shadow:
    inset 0 0 8px rgba(255,255,255,.38),
    0 0 7px rgba(255,255,255,.18) !important;
  opacity: .95 !important;
  filter: blur(.25px) !important;
}


/* v78 — fundo dos cards dos produtos 40% mais transparente */
.rdsm-root.rdsm-products-root .rdsm-product-card,
.rdsm-root .rdsm-product-card {
  background: linear-gradient(180deg, rgba(18, 28, 56, 0.42) 0%, rgba(10, 17, 36, 0.42) 100%) !important;
}
.rdsm-root.rdsm-products-root .rdsm-product-card .rdsm-product-body,
.rdsm-root .rdsm-product-card .rdsm-product-body {
  background: transparent !important;
}


/* v79 — página individual do produto */
.rdsm-root.rdsm-single-product-root{
  min-height: 100vh !important;
  position: relative !important;
  padding: 48px 20px 70px !important;
}

.rdsm-root.rdsm-single-product-root::before{
  content: "" !important;
  position: fixed !important;
  inset: 0 !important;
  z-index: -3 !important;
  pointer-events: none !important;
  background-image:
    linear-gradient(180deg, rgba(2,6,18,.54), rgba(2,6,18,.70)),
    radial-gradient(circle at 50% 18%, rgba(22,140,255,.13), transparent 44%),
    url("../images/categories-bg-v58.webp") !important;
  background-size: cover !important;
  background-position: center center !important;
  background-repeat: no-repeat !important;
}

.rdsm-single-shell{
  width: min(1260px, 100%) !important;
  margin: 0 auto !important;
}

.rdsm-single-top{
  display: grid !important;
  grid-template-columns: minmax(0, 1.06fr) minmax(360px, .72fr) !important;
  gap: 28px !important;
  align-items: start !important;
}

.rdsm-single-media-panel,
.rdsm-single-buy-panel,
.rdsm-single-description-card,
.rdsm-single-feedbacks-card{
  background: rgba(28,35,55,.62) !important;
  border: 1px solid rgba(186,204,236,.24) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.04), 0 18px 50px rgba(0,0,0,.24) !important;
  border-radius: 16px !important;
}

.rdsm-single-media-panel{
  padding: 18px !important;
}

.rdsm-single-image{
  overflow: hidden !important;
  border-radius: 12px !important;
  border: 1px solid rgba(22,140,255,.65) !important;
  background: rgba(3,8,22,.72) !important;
  aspect-ratio: 1.72 / 1 !important;
}

.rdsm-single-image img,
.rdsm-single-image picture,
.rdsm-single-image picture img{
  width: 100% !important;
  height: 100% !important;
  object-fit: fill !important;
  display: block !important;
  filter: none !important;
  transform: none !important;
}

.rdsm-single-buy-panel{
  padding: 22px !important;
  position: sticky !important;
  top: 28px !important;
}

.rdsm-single-badge{
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  height: 28px !important;
  padding: 0 12px !important;
  border-radius: 999px !important;
  border: 1px solid rgba(255,214,77,.48) !important;
  color: #ffd64d !important;
  background: rgba(255,214,77,.08) !important;
  font-size: 11px !important;
  font-weight: 900 !important;
  letter-spacing: .04em !important;
  margin-bottom: 12px !important;
}

.rdsm-single-buy-panel h1{
  margin: 0 0 12px !important;
  color: #fff !important;
  font-size: clamp(28px, 3.2vw, 46px) !important;
  line-height: 1.02 !important;
  font-weight: 950 !important;
  letter-spacing: -.045em !important;
}

.rdsm-single-rating-line{
  display: flex !important;
  align-items: center !important;
  gap: 7px !important;
  color: rgba(255,255,255,.72) !important;
  margin-bottom: 18px !important;
}

.rdsm-single-rating-number{
  color: #fff !important;
  font-weight: 950 !important;
  font-size: 20px !important;
}

.rdsm-single-rating-star{
  color: #168cff !important;
  font-size: 20px !important;
  line-height: 1 !important;
}

.rdsm-single-rating-label{
  font-size: 13px !important;
  color: rgba(255,255,255,.58) !important;
}

.rdsm-single-purchase-box{
  border: 1px solid rgba(22,140,255,.55) !important;
  border-radius: 14px !important;
  background: rgba(7,13,34,.52) !important;
  padding: 14px !important;
}

.rdsm-single-purchase-head{
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 16px !important;
  padding: 11px 12px !important;
  border-radius: 10px !important;
  border: 1px solid rgba(22,140,255,.55) !important;
  margin-bottom: 14px !important;
}

.rdsm-single-purchase-head span{
  color: #fff !important;
  font-size: 13px !important;
  font-weight: 800 !important;
}

.rdsm-single-purchase-head strong,
.rdsm-single-total strong{
  color: #168cff !important;
  font-size: 16px !important;
  font-weight: 950 !important;
}

.rdsm-single-qty-label{
  color: rgba(255,255,255,.68) !important;
  font-size: 12px !important;
  display: block !important;
  margin-bottom: 8px !important;
}

.rdsm-single-qty{
  display: grid !important;
  grid-template-columns: 34px 1fr 34px !important;
  gap: 8px !important;
  margin-bottom: 12px !important;
}

.rdsm-single-qty input,
.rdsm-single-qty-btn{
  height: 34px !important;
  border: 1px solid rgba(186,204,236,.18) !important;
  background: rgba(255,255,255,.06) !important;
  color: #fff !important;
  border-radius: 8px !important;
  text-align: center !important;
  font-weight: 850 !important;
  outline: none !important;
}

.rdsm-single-qty-btn{
  cursor: pointer !important;
  color: #168cff !important;
}

.rdsm-single-total{
  display: flex !important;
  justify-content: space-between !important;
  align-items: center !important;
  color: rgba(255,255,255,.70) !important;
  font-size: 13px !important;
  margin: 14px 0 !important;
}

.rdsm-single-actions{
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 10px !important;
}

.rdsm-single-btn{
  height: 42px !important;
  border-radius: 999px !important;
  cursor: pointer !important;
  font-weight: 900 !important;
  font-size: 13px !important;
  transition: transform .24s cubic-bezier(.16,1,.3,1), border-color .24s cubic-bezier(.16,1,.3,1), background-color .24s cubic-bezier(.16,1,.3,1) !important;
}

.rdsm-single-btn:hover{
  transform: translateY(-2px) !important;
}

.rdsm-single-btn-outline{
  background: transparent !important;
  border: 1px solid #168cff !important;
  color: #168cff !important;
}

.rdsm-single-btn-primary{
  background: #168cff !important;
  border: 1px solid #168cff !important;
  color: #fff !important;
}

.rdsm-single-bottom{
  margin-top: 28px !important;
  display: grid !important;
  grid-template-columns: minmax(0, .92fr) minmax(460px, 1.08fr) !important;
  gap: 28px !important;
  align-items: stretch !important;
}

.rdsm-single-description-card,
.rdsm-single-feedbacks-card{
  padding: 24px !important;
}

.rdsm-single-description-card h2,
.rdsm-single-feedbacks-head span{
  margin: 0 0 16px !important;
  color: #fff !important;
  font-size: 20px !important;
  font-weight: 950 !important;
}

.rdsm-single-description-content{
  color: rgba(255,255,255,.78) !important;
  font-size: 14px !important;
  line-height: 1.72 !important;
}

.rdsm-single-description-content p{
  margin: 0 0 14px !important;
}

.rdsm-single-description-content ul,
.rdsm-single-description-content ol{
  padding-left: 18px !important;
  margin: 12px 0 !important;
}

.rdsm-single-description-content li{
  margin: 8px 0 !important;
}

.rdsm-single-feedbacks-card{
  overflow: hidden !important;
  min-height: 440px !important;
}

.rdsm-single-feedbacks-head{
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 12px !important;
  margin-bottom: 16px !important;
}

.rdsm-single-feedbacks-head strong{
  color: #168cff !important;
  font-weight: 950 !important;
}

.rdsm-single-feedback-carousel{
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 12px !important;
  height: 390px !important;
  overflow: hidden !important;
  mask-image: linear-gradient(to bottom, transparent 0%, #000 10%, #000 90%, transparent 100%) !important;
  -webkit-mask-image: linear-gradient(to bottom, transparent 0%, #000 10%, #000 90%, transparent 100%) !important;
}

.rdsm-single-feedback-col{
  overflow: hidden !important;
}

.rdsm-single-feedback-track{
  display: flex !important;
  flex-direction: column !important;
  gap: 12px !important;
  animation: rdsmSingleFeedbackScroll var(--rdsm-feed-speed, 28s) linear infinite !important;
}

.rdsm-single-feedback-col:nth-child(2) .rdsm-single-feedback-track{
  animation-direction: reverse !important;
}

.rdsm-single-feedback-col:hover .rdsm-single-feedback-track{
  animation-play-state: paused !important;
}

.rdsm-single-feedback-card{
  background: rgba(7,13,34,.58) !important;
  border: 1px solid rgba(186,204,236,.16) !important;
  border-radius: 14px !important;
  padding: 14px !important;
  color: rgba(255,255,255,.78) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.035) !important;
}

.rdsm-single-feedback-top{
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 8px !important;
  margin-bottom: 8px !important;
}

.rdsm-single-feedback-top strong{
  color: #fff !important;
  font-size: 13px !important;
  font-weight: 950 !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}

.rdsm-single-feedback-top span{
  color: #168cff !important;
  font-size: 12px !important;
  font-weight: 950 !important;
  white-space: nowrap !important;
}

.rdsm-single-feedback-card p{
  margin: 0 0 10px !important;
  font-size: 12px !important;
  line-height: 1.48 !important;
}

.rdsm-single-feedback-card small{
  color: rgba(255,255,255,.45) !important;
  font-size: 11px !important;
  display: block !important;
}

.rdsm-single-feedback-empty{
  border: 1px dashed rgba(186,204,236,.22) !important;
  border-radius: 14px !important;
  padding: 22px !important;
  color: rgba(255,255,255,.62) !important;
  text-align: center !important;
}

@keyframes rdsmSingleFeedbackScroll{
  from{ transform: translate3d(0,0,0); }
  to{ transform: translate3d(0,-50%,0); }
}

@media(max-width: 980px){
  .rdsm-single-top,
  .rdsm-single-bottom{
    grid-template-columns: 1fr !important;
  }

  .rdsm-single-buy-panel{
    position: relative !important;
    top: auto !important;
  }

  .rdsm-single-feedback-carousel{
    grid-template-columns: 1fr !important;
    height: auto !important;
    max-height: none !important;
    mask-image: none !important;
    -webkit-mask-image: none !important;
  }

  .rdsm-single-feedback-track{
    animation: none !important;
  }

  .rdsm-single-feedback-col:nth-child(n+2){
    display: none !important;
  }
}

@media(max-width: 560px){
  .rdsm-root.rdsm-single-product-root{
    padding: 24px 12px 50px !important;
  }

  .rdsm-single-actions{
    grid-template-columns: 1fr !important;
  }
}


/* v80 — ajustes da página individual */
.rdsm-root.rdsm-single-product-root{
  padding: 34px 20px 64px !important;
}

.rdsm-root.rdsm-single-product-root::before{
  background-image:
    linear-gradient(180deg, rgba(2,6,18,.58), rgba(2,6,18,.74)),
    radial-gradient(circle at 50% 16%, rgba(22,140,255,.12), transparent 42%),
    url("../images/single-product-bg-v80.png") !important;
  background-size: cover !important;
  background-position: center center !important;
}

.rdsm-single-layout{
  display: grid !important;
  grid-template-columns: minmax(0, 1.08fr) minmax(360px, .72fr) !important;
  gap: 22px !important;
  align-items: start !important;
}

.rdsm-single-left,
.rdsm-single-right{
  display: flex !important;
  flex-direction: column !important;
  gap: 12px !important;
  min-width: 0 !important;
}

.rdsm-single-media-panel{
  padding: 14px !important;
}

.rdsm-single-description-card{
  width: 100% !important;
  margin: 0 !important;
  padding: 18px !important;
}

.rdsm-single-bottom,
.rdsm-single-top{
  display: contents !important;
}

.rdsm-single-buy-panel{
  position: sticky !important;
  top: 26px !important;
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}

.rdsm-single-buy-panel > .rdsm-single-badge,
.rdsm-single-buy-panel > h1,
.rdsm-single-buy-panel > .rdsm-single-rating-line{
  display: none !important;
}

.rdsm-single-purchase-box{
  background: rgba(7,13,34,.50) !important;
  border: 1px solid rgba(22,140,255,.68) !important;
  border-radius: 14px !important;
  padding: 14px !important;
}

.rdsm-single-purchase-head strong.rdsm-single-head-rating{
  display: inline-flex !important;
  align-items: center !important;
  gap: 4px !important;
  color: #fff !important;
  font-size: 13px !important;
  white-space: nowrap !important;
}

.rdsm-single-purchase-head strong.rdsm-single-head-rating b{
  color: #168cff !important;
  font-style: normal !important;
}

.rdsm-single-actions{
  grid-template-columns: 1fr 1.1fr !important;
}

/* Carrinho = estilo Ver Avaliações da Home */
.rdsm-single-btn-outline{
  background: rgba(7,15,35,.36) !important;
  border: 1px solid rgba(73,143,255,.22) !important;
  color: #168cff !important;
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.015) !important;
}

.rdsm-single-btn-outline:hover,
.rdsm-single-btn-outline:focus{
  background: rgba(10,22,52,.58) !important;
  border-color: rgba(66,199,255,.52) !important;
  box-shadow:
    0 14px 36px rgba(22,140,255,.10),
    inset 0 0 0 1px rgba(255,255,255,.035) !important;
  color: #fff !important;
}

/* Comprar = estilo Ver Produtos da Home */
.rdsm-single-btn-primary{
  background: linear-gradient(135deg,#168cff,#3f8dff) !important;
  border: 0 !important;
  color: #fff !important;
  box-shadow: 0 15px 45px rgba(18,124,255,.26) !important;
}

.rdsm-single-btn-primary:hover,
.rdsm-single-btn-primary:focus{
  background: linear-gradient(135deg,#0d68d9,#2b78e8) !important;
  box-shadow:
    0 16px 42px rgba(13,104,217,.30),
    inset 0 0 0 1px rgba(255,255,255,.08) !important;
  color: #fff !important;
}

/* Remove setinhas nativas do input quantidade */
.rdsm-single-qty input::-webkit-outer-spin-button,
.rdsm-single-qty input::-webkit-inner-spin-button{
  -webkit-appearance: none !important;
  margin: 0 !important;
}

.rdsm-single-qty input[type=number]{
  -moz-appearance: textfield !important;
  appearance: textfield !important;
}

/* Feedbacks: 3 camadas horizontais, uma em cima da outra */
.rdsm-single-feedbacks-card{
  min-height: 420px !important;
  padding: 18px !important;
}

.rdsm-single-feedbacks-head{
  margin-bottom: 12px !important;
}

.rdsm-single-feedbacks-head strong{
  display: none !important;
}

.rdsm-single-feedback-carousel.rdsm-single-feedback-layers{
  display: flex !important;
  flex-direction: column !important;
  grid-template-columns: none !important;
  gap: 12px !important;
  height: 362px !important;
  overflow: hidden !important;
  mask-image: linear-gradient(to right, transparent 0%, #000 8%, #000 92%, transparent 100%) !important;
  -webkit-mask-image: linear-gradient(to right, transparent 0%, #000 8%, #000 92%, transparent 100%) !important;
}

.rdsm-single-feedback-layer{
  height: 112px !important;
  overflow: hidden !important;
  min-width: 0 !important;
}

.rdsm-single-feedback-layer .rdsm-single-feedback-track{
  width: max-content !important;
  height: 112px !important;
  display: flex !important;
  flex-direction: row !important;
  gap: 12px !important;
  animation: rdsmSingleFeedbackHorizontal var(--rdsm-feed-speed, 32s) linear infinite !important;
}

.rdsm-single-feedback-layer:nth-child(2) .rdsm-single-feedback-track{
  animation-direction: reverse !important;
}

.rdsm-single-feedback-layer:hover .rdsm-single-feedback-track{
  animation-play-state: running !important;
}

.rdsm-single-feedback-card{
  width: 270px !important;
  min-width: 270px !important;
  height: 112px !important;
  overflow: hidden !important;
  padding: 12px !important;
}

.rdsm-single-feedback-card p{
  display: -webkit-box !important;
  -webkit-line-clamp: 2 !important;
  -webkit-box-orient: vertical !important;
  overflow: hidden !important;
}

@keyframes rdsmSingleFeedbackHorizontal{
  from{ transform: translate3d(0,0,0); }
  to{ transform: translate3d(-50%,0,0); }
}

@media(max-width: 980px){
  .rdsm-single-layout{
    grid-template-columns: 1fr !important;
  }

  .rdsm-single-buy-panel{
    position: relative !important;
    top: auto !important;
  }

  .rdsm-single-feedback-carousel.rdsm-single-feedback-layers{
    height: auto !important;
    min-height: 0 !important;
  }
}


/* v81 — ajustes finais da página individual */
.rdsm-single-head-price{
  display: inline-flex !important;
  align-items: center !important;
  gap: 4px !important;
  color: #fff !important;
  font-size: 13px !important;
  font-weight: 950 !important;
  white-space: nowrap !important;
}

.rdsm-single-head-price span{
  color: #168cff !important;
}

.rdsm-feedbacks-avg{
  display: inline-flex !important;
  align-items: center !important;
  gap: 4px !important;
  margin: 0 !important;
  font-size: 14px !important;
  font-weight: 950 !important;
  white-space: nowrap !important;
}

.rdsm-feedbacks-avg em{
  color: #fff !important;
  font-style: normal !important;
}

.rdsm-feedbacks-avg b{
  color: #168cff !important;
  font-style: normal !important;
}

.rdsm-single-feedbacks-head{
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
}

.rdsm-single-feedbacks-head strong.rdsm-feedbacks-avg{
  display: inline-flex !important;
}

/* Cards de avaliação menores */
.rdsm-single-feedback-carousel.rdsm-single-feedback-layers{
  height: 326px !important;
}

.rdsm-single-feedback-layer{
  height: 96px !important;
}

.rdsm-single-feedback-layer .rdsm-single-feedback-track{
  height: 96px !important;
}

.rdsm-single-feedback-card{
  width: 214px !important;
  min-width: 214px !important;
  height: 96px !important;
  padding: 10px 11px !important;
}

.rdsm-single-feedback-top{
  margin-bottom: 6px !important;
}

.rdsm-single-feedback-top strong{
  font-size: 12px !important;
}

.rdsm-single-feedback-rating{
  display: inline-flex !important;
  align-items: center !important;
  gap: 3px !important;
  font-size: 12px !important;
  font-weight: 950 !important;
  white-space: nowrap !important;
}

.rdsm-single-feedback-rating em{
  color: #fff !important;
  font-style: normal !important;
}

.rdsm-single-feedback-rating b{
  color: #168cff !important;
  font-style: normal !important;
}

.rdsm-single-feedback-card p{
  font-size: 11.5px !important;
  line-height: 1.35 !important;
  margin-bottom: 7px !important;
}

.rdsm-single-feedback-card small{
  font-size: 10.5px !important;
}

/* Notificação de carrinho */
.rdsm-single-cart-toast{
  position: fixed !important;
  right: 24px !important;
  bottom: 24px !important;
  z-index: 2147482500 !important;
  max-width: min(360px, calc(100vw - 32px)) !important;
  padding: 14px 16px !important;
  border-radius: 14px !important;
  border: 1px solid rgba(22,140,255,.58) !important;
  background: rgba(7,13,34,.92) !important;
  color: #fff !important;
  box-shadow: 0 20px 55px rgba(0,0,0,.42), inset 0 1px 0 rgba(255,255,255,.05) !important;
  font-size: 13px !important;
  font-weight: 850 !important;
  transform: translateY(18px) !important;
  opacity: 0 !important;
  pointer-events: none !important;
  transition: opacity .26s cubic-bezier(.16,1,.3,1), transform .26s cubic-bezier(.16,1,.3,1) !important;
}

.rdsm-single-cart-toast.show{
  opacity: 1 !important;
  transform: translateY(0) !important;
}

.rdsm-single-cart-toast strong{
  color: #168cff !important;
}

/* Enter na quantidade não envia para checkout */
.rdsm-single-cart-form[data-adding="1"] .rdsm-single-btn-outline{
  opacity: .78 !important;
  pointer-events: none !important;
}

@media(max-width: 980px){
  .rdsm-single-feedback-carousel.rdsm-single-feedback-layers{
    height: auto !important;
  }

  .rdsm-single-feedback-layer{
    height: 96px !important;
  }
}

/* v82 — preço unitário, nota média, header/footer globais e carrinho lateral */
.rdsm-single-head-price{
  color: #fff !important;
  font-size: 13px !important;
  font-weight: 950 !important;
}

.rdsm-single-head-price span{
  color: #168cff !important;
}

.rdsm-single-feedbacks-head{
  align-items: center !important;
}

.rdsm-feedbacks-avg{
  display: inline-flex !important;
  align-items: center !important;
  gap: 5px !important;
  font-size: 18px !important;
  line-height: 1 !important;
  transform: translateY(1px) !important;
}

.rdsm-feedbacks-avg em{
  color: #fff !important;
  font-style: normal !important;
  font-weight: 950 !important;
}

.rdsm-feedbacks-avg b{
  color: #168cff !important;
  font-style: normal !important;
  font-weight: 950 !important;
}

.rdsm-single-cart-toast{
  font-family: Inter, "Montserrat", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif !important;
  display: grid !important;
  grid-template-columns: 34px 1fr !important;
  gap: 11px !important;
  align-items: center !important;
  min-height: 58px !important;
}

.rdsm-single-cart-toast::before{
  content: "✓" !important;
  width: 34px !important;
  height: 34px !important;
  border-radius: 50% !important;
  display: grid !important;
  place-items: center !important;
  background: rgba(22,140,255,.14) !important;
  border: 1px solid rgba(22,140,255,.7) !important;
  color: #168cff !important;
  font-weight: 950 !important;
  font-size: 19px !important;
  box-shadow: 0 0 22px rgba(22,140,255,.28) !important;
  animation: rdsmCheckPop .44s cubic-bezier(.16,1,.3,1) both !important;
}

@keyframes rdsmCheckPop{
  0%{ transform: scale(.55) rotate(-18deg); opacity: 0; }
  70%{ transform: scale(1.12) rotate(5deg); opacity: 1; }
  100%{ transform: scale(1) rotate(0deg); opacity: 1; }
}

/* Header global */
.rdsm-global-header{
  position: fixed !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  height: 92px !important;
  z-index: 2147480500 !important;
  background: transparent !important;
  pointer-events: none !important;
}

.rdsm-global-header-inner{
  width: min(1140px, calc(100% - 40px)) !important;
  height: 100% !important;
  margin: 0 auto !important;
  display: grid !important;
  grid-template-columns: auto 1fr auto !important;
  align-items: center !important;
  gap: 34px !important;
  pointer-events: auto !important;
}

.rdsm-global-logo{
  display: inline-flex !important;
  align-items: center !important;
  text-decoration: none !important;
  transition: transform .28s cubic-bezier(.16,1,.3,1), opacity .28s cubic-bezier(.16,1,.3,1) !important;
}

.rdsm-global-logo:hover{
  transform: scale(1.035) !important;
}

.rdsm-global-logo img{
  display: block !important;
  height: 48px !important;
  width: auto !important;
  max-width: 250px !important;
  object-fit: contain !important;
}

.rdsm-global-nav{
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: clamp(26px, 4vw, 56px) !important;
}

.rdsm-global-nav a,
.rdsm-footer-col a{
  color: rgba(255,255,255,.84) !important;
  text-decoration: none !important;
  font-size: 15px !important;
  font-weight: 600 !important;
  letter-spacing: .01em !important;
  transition: color .28s cubic-bezier(.16,1,.3,1), text-shadow .28s cubic-bezier(.16,1,.3,1), transform .28s cubic-bezier(.16,1,.3,1) !important;
}

.rdsm-global-nav a:hover,
.rdsm-footer-col a:hover{
  color: #168cff !important;
  text-shadow: 0 0 18px rgba(22,140,255,.36) !important;
  transform: translateY(-1px) !important;
}

.rdsm-global-cart-btn{
  height: 44px !important;
  min-width: 108px !important;
  padding: 0 18px !important;
  border-radius: 999px !important;
  border: 1px solid #168cff !important;
  background: rgba(7,15,35,.26) !important;
  color: #168cff !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 9px !important;
  cursor: pointer !important;
  font-size: 14px !important;
  font-weight: 800 !important;
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.02) !important;
  transition: background-color .25s cubic-bezier(.16,1,.3,1), color .25s cubic-bezier(.16,1,.3,1), box-shadow .25s cubic-bezier(.16,1,.3,1), transform .25s cubic-bezier(.16,1,.3,1) !important;
}

.rdsm-global-cart-btn:hover,
body.rdsm-cart-open .rdsm-global-cart-btn{
  background: #168cff !important;
  color: #fff !important;
  box-shadow: 0 14px 34px rgba(22,140,255,.25) !important;
  transform: translateY(-1px) !important;
}

.rdsm-global-cart-btn b{
  min-width: 18px !important;
  height: 18px !important;
  border-radius: 99px !important;
  display: inline-grid !important;
  place-items: center !important;
  color: inherit !important;
  font-size: 11px !important;
}

.rdsm-cart-ico{
  font-size: 17px !important;
  line-height: 1 !important;
}

/* Carrinho lateral */
.rdsm-cart-overlay{
  position: fixed !important;
  inset: 0 !important;
  z-index: 2147480600 !important;
  background: rgba(0,0,0,.50) !important;
  backdrop-filter: blur(8px) !important;
  -webkit-backdrop-filter: blur(8px) !important;
  opacity: 0 !important;
  pointer-events: none !important;
  transition: opacity .28s cubic-bezier(.16,1,.3,1) !important;
}

.rdsm-cart-drawer{
  position: fixed !important;
  top: 0 !important;
  right: 0 !important;
  width: min(520px, 100vw) !important;
  height: 100vh !important;
  z-index: 2147480700 !important;
  background: #071335 !important;
  color: #fff !important;
  border-left: 1px solid rgba(186,204,236,.15) !important;
  transform: translate3d(104%,0,0) !important;
  transition: transform .34s cubic-bezier(.16,1,.3,1) !important;
  display: grid !important;
  grid-template-rows: 62px 1fr auto !important;
  box-shadow: -28px 0 70px rgba(0,0,0,.42) !important;
}

body.rdsm-cart-open .rdsm-cart-overlay{
  opacity: 1 !important;
  pointer-events: auto !important;
}

body.rdsm-cart-open .rdsm-cart-drawer{
  transform: translate3d(0,0,0) !important;
}

.rdsm-cart-drawer-head{
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  padding: 0 24px !important;
  border-bottom: 1px solid rgba(186,204,236,.13) !important;
}

.rdsm-cart-drawer-head h2{
  margin: 0 !important;
  font-size: 16px !important;
  font-weight: 850 !important;
}

.rdsm-cart-close{
  width: 36px !important;
  height: 36px !important;
  border: 0 !important;
  background: transparent !important;
  color: #fff !important;
  font-size: 26px !important;
  cursor: pointer !important;
}

.rdsm-cart-items{
  padding: 32px 24px !important;
  overflow: auto !important;
}

.rdsm-cart-empty{
  color: rgba(255,255,255,.72) !important;
  margin: 0 !important;
  font-size: 14px !important;
}

.rdsm-cart-item{
  display: grid !important;
  grid-template-columns: 72px 1fr auto !important;
  gap: 14px !important;
  align-items: center !important;
  padding: 16px !important;
  border-radius: 14px !important;
  background: rgba(255,255,255,.045) !important;
  margin-bottom: 12px !important;
}

.rdsm-cart-item-img{
  width: 72px !important;
  height: 72px !important;
  border-radius: 12px !important;
  overflow: hidden !important;
  border: 1px solid rgba(22,140,255,.32) !important;
  background: rgba(0,0,0,.20) !important;
}

.rdsm-cart-item-img img,
.rdsm-cart-item-img picture,
.rdsm-cart-item-img picture img{
  width: 100% !important;
  height: 100% !important;
  display: block !important;
  object-fit: contain !important;
}

.rdsm-cart-item-info strong{
  display: block !important;
  font-size: 13px !important;
  font-weight: 850 !important;
  margin-bottom: 5px !important;
}

.rdsm-cart-item-info span{
  color: rgba(255,255,255,.62) !important;
  font-size: 12px !important;
}

.rdsm-cart-item-actions{
  display: grid !important;
  grid-template-columns: 28px 26px 28px 28px !important;
  gap: 8px !important;
  align-items: center !important;
}

.rdsm-cart-item-actions button{
  width: 28px !important;
  height: 28px !important;
  border: 0 !important;
  border-radius: 7px !important;
  background: rgba(255,255,255,.075) !important;
  color: #fff !important;
  cursor: pointer !important;
  font-weight: 900 !important;
}

.rdsm-cart-item-actions button:hover{
  background: rgba(22,140,255,.72) !important;
}

.rdsm-cart-item-actions .rdsm-cart-qty{
  text-align: center !important;
  font-size: 13px !important;
  font-weight: 850 !important;
}

.rdsm-cart-remove{
  color: rgba(255,255,255,.62) !important;
  font-size: 18px !important;
}

.rdsm-cart-summary{
  border-top: 1px solid rgba(186,204,236,.13) !important;
  padding: 20px 24px 24px !important;
  display: grid !important;
  gap: 16px !important;
}

.rdsm-cart-summary div{
  display: flex !important;
  justify-content: space-between !important;
  color: rgba(255,255,255,.72) !important;
  font-size: 13px !important;
}

.rdsm-cart-summary strong{
  color: #fff !important;
}

.rdsm-cart-checkout{
  height: 48px !important;
  border-radius: 999px !important;
  background: #168cff !important;
  color: #fff !important;
  display: grid !important;
  place-items: center !important;
  text-decoration: none !important;
  font-weight: 850 !important;
  transition: background-color .24s cubic-bezier(.16,1,.3,1), transform .24s cubic-bezier(.16,1,.3,1) !important;
}

.rdsm-cart-checkout:hover{
  background: #0d68d9 !important;
  transform: translateY(-1px) !important;
}

.rdsm-cart-clear{
  border: 0 !important;
  background: transparent !important;
  color: rgba(255,255,255,.55) !important;
  cursor: pointer !important;
  font-size: 12px !important;
}

/* Footer global */
.rdsm-global-footer{
  position: relative !important;
  z-index: 20 !important;
  background: transparent !important;
  color: #fff !important;
  padding: 44px 20px 28px !important;
  margin-top: 40px !important;
}

.rdsm-global-footer-inner{
  width: min(1120px, 100%) !important;
  margin: 0 auto !important;
  display: grid !important;
  grid-template-columns: 1fr auto auto !important;
  gap: 78px !important;
  align-items: start !important;
}

.rdsm-footer-logo img{
  height: 42px !important;
}

.rdsm-footer-brand p{
  color: rgba(255,255,255,.62) !important;
  margin: 18px 0 0 !important;
  font-size: 12px !important;
}

.rdsm-footer-col{
  display: grid !important;
  gap: 11px !important;
  min-width: 110px !important;
}

.rdsm-footer-col h3{
  margin: 0 0 6px !important;
  color: #fff !important;
  font-size: 14px !important;
  font-weight: 850 !important;
}

.rdsm-footer-col a{
  font-size: 13px !important;
  color: rgba(255,255,255,.68) !important;
}

@media(max-width: 860px){
  .rdsm-global-header{
    height: auto !important;
    padding: 14px 0 !important;
  }

  .rdsm-global-header-inner{
    grid-template-columns: 1fr auto !important;
    gap: 14px !important;
  }

  .rdsm-global-nav{
    grid-column: 1 / -1 !important;
    justify-content: flex-start !important;
    overflow-x: auto !important;
    gap: 18px !important;
    padding-bottom: 4px !important;
  }

  .rdsm-global-logo img{
    height: 38px !important;
  }

  .rdsm-global-footer-inner{
    grid-template-columns: 1fr !important;
    gap: 28px !important;
  }
}


/* v83 — header/footer com fonte mais moderna, textos maiores e logo 2x maior */
.rdsm-global-header,
.rdsm-global-footer,
.rdsm-global-header *,
.rdsm-global-footer *{
  font-family:
    Inter,
    "Montserrat",
    "Space Grotesk",
    system-ui,
    -apple-system,
    BlinkMacSystemFont,
    "Segoe UI",
    sans-serif !important;
  letter-spacing: .015em !important;
}

/* Header um pouco mais alto para comportar a logo 2x */
.rdsm-global-header{
  height: 124px !important;
}

.rdsm-global-header-inner{
  width: min(1240px, calc(100% - 42px)) !important;
  gap: 42px !important;
}

/* Logo 2x no header */
.rdsm-global-header .rdsm-global-logo img{
  height: 96px !important;
  max-width: 500px !important;
}

/* Textos maiores e mais modernos no header */
.rdsm-global-nav a{
  font-size: 19px !important;
  font-weight: 750 !important;
  letter-spacing: .01em !important;
}

.rdsm-global-cart-btn{
  height: 54px !important;
  min-width: 142px !important;
  padding: 0 24px !important;
  font-size: 17px !important;
  font-weight: 800 !important;
  gap: 11px !important;
}

.rdsm-cart-ico{
  font-size: 21px !important;
}

.rdsm-global-cart-btn b{
  min-width: 22px !important;
  height: 22px !important;
  font-size: 13px !important;
}

/* Footer maior e mais premium */
.rdsm-global-footer{
  padding: 58px 24px 38px !important;
}

.rdsm-global-footer-inner{
  width: min(1240px, 100%) !important;
  gap: 96px !important;
}

/* Logo 2x no footer */
.rdsm-global-footer .rdsm-global-logo img,
.rdsm-global-footer .rdsm-footer-logo img{
  height: 84px !important;
  max-width: 500px !important;
}

.rdsm-footer-brand p{
  font-size: 15px !important;
  line-height: 1.6 !important;
  font-weight: 500 !important;
  margin-top: 22px !important;
}

.rdsm-footer-col h3{
  font-size: 18px !important;
  font-weight: 850 !important;
  letter-spacing: .02em !important;
  margin-bottom: 12px !important;
}

.rdsm-footer-col a{
  font-size: 16px !important;
  font-weight: 650 !important;
  line-height: 1.55 !important;
}

.rdsm-footer-col{
  gap: 14px !important;
  min-width: 140px !important;
}

/* Mobile: mantém maior, mas sem quebrar layout */
@media(max-width: 860px){
  .rdsm-global-header .rdsm-global-logo img{
    height: 66px !important;
    max-width: 320px !important;
  }

  .rdsm-global-nav a{
    font-size: 16px !important;
  }

  .rdsm-global-cart-btn{
    height: 48px !important;
    min-width: 124px !important;
    font-size: 15px !important;
  }

  .rdsm-global-footer .rdsm-global-logo img,
  .rdsm-global-footer .rdsm-footer-logo img{
    height: 64px !important;
  }

  .rdsm-footer-brand p{
    font-size: 14px !important;
  }

  .rdsm-footer-col h3{
    font-size: 17px !important;
  }

  .rdsm-footer-col a{
    font-size: 15px !important;
  }
}


/* v84 — header/footer/carrinho refinados */
:root{
  --rdsm-footer-bg:#1c2337;
}

/* Some com header/título padrão do tema que estava aparecendo por trás em páginas internas */
body > header:not(.rdsm-global-header),
body > .site-header,
body > #masthead,
body .wp-site-blocks > header,
body .elementor-location-header,
body .site-branding,
body .site-title{
  display:none !important;
}

/* Header fixo, transparente, com glow azul de cima para baixo */
.rdsm-global-header{
  height: 82px !important;
  background: transparent !important;
  position: fixed !important;
  pointer-events:none !important;
}

.rdsm-global-header::before{
  content:"" !important;
  position:absolute !important;
  inset:0 !important;
  pointer-events:none !important;
  background:
    radial-gradient(ellipse at 50% -30%, rgba(22,140,255,.34), rgba(22,140,255,.12) 34%, transparent 72%),
    linear-gradient(180deg, rgba(22,140,255,.12), transparent 88%) !important;
}

.rdsm-global-header-inner{
  width:min(1180px, calc(100% - 42px)) !important;
  grid-template-columns:auto 1fr auto !important;
  gap:34px !important;
}

/* Logo ajustada: sem texto estranho, zoom leve */
.rdsm-global-logo{
  font-size:0 !important;
  line-height:0 !important;
  overflow:visible !important;
}

.rdsm-global-header .rdsm-global-logo img{
  height:58px !important;
  width:auto !important;
  max-width:310px !important;
  object-fit:contain !important;
}

/* Links: hover sem brilho, só troca suave de cor */
.rdsm-global-nav{
  justify-content:center !important;
  gap:42px !important;
}

.rdsm-global-nav a{
  font-size:16px !important;
  font-weight:700 !important;
  color:rgba(255,255,255,.82) !important;
  text-shadow:none !important;
}

.rdsm-global-nav a:hover,
.rdsm-global-nav a:focus{
  color:#168cff !important;
  text-shadow:none !important;
  transform:none !important;
}

/* Botão carrinho menor e com SVG acompanhando o hover */
.rdsm-global-cart-btn{
  height:40px !important;
  min-width:112px !important;
  padding:0 15px !important;
  font-size:14px !important;
  gap:8px !important;
}

.rdsm-cart-ico{
  width:18px !important;
  height:18px !important;
  display:inline-flex !important;
  color:currentColor !important;
}

.rdsm-cart-ico svg{
  width:18px !important;
  height:18px !important;
  fill:currentColor !important;
  display:block !important;
}

.rdsm-global-cart-btn:hover,
body.rdsm-cart-open .rdsm-global-cart-btn{
  background:#168cff !important;
  color:#fff !important;
  box-shadow:0 10px 26px rgba(22,140,255,.22) !important;
  transform:none !important;
}

/* Carrinho: sem blur pesado, só camada preta 50% */
.rdsm-cart-overlay{
  background:rgba(0,0,0,.50) !important;
  backdrop-filter:none !important;
  -webkit-backdrop-filter:none !important;
}

.rdsm-cart-drawer,
.rdsm-cart-drawer *{
  font-family:Inter,"Montserrat","Space Grotesk",system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif !important;
}

.rdsm-cart-drawer{
  background:#071335 !important;
}

.rdsm-cart-item{
  grid-template-columns:112px 1fr auto !important;
  gap:16px !important;
}

.rdsm-cart-item-img{
  width:112px !important;
  height:auto !important;
  aspect-ratio:1.72/1 !important;
  border-radius:10px !important;
}

.rdsm-cart-item-img img,
.rdsm-cart-item-img picture,
.rdsm-cart-item-img picture img{
  object-fit:contain !important;
  width:100% !important;
  height:100% !important;
}

.rdsm-cart-item-info strong{
  font-size:14px !important;
  letter-spacing:.01em !important;
}

.rdsm-cart-item-info span{
  font-size:12px !important;
}

/* Footer novo */
.rdsm-global-footer{
  background:var(--rdsm-footer-bg) !important;
  margin-top:60px !important;
  padding:46px 24px 24px !important;
  min-height:210px !important;
}

.rdsm-global-footer-inner{
  width:min(1180px, 100%) !important;
  min-height:150px !important;
  grid-template-columns:minmax(260px,.95fr) minmax(170px,.38fr) minmax(320px,.8fr) !important;
  gap:34px !important;
  align-items:end !important;
}

.rdsm-footer-brand{
  align-self:end !important;
  padding-top:26px !important;
}

.rdsm-global-footer .rdsm-global-logo img,
.rdsm-global-footer .rdsm-footer-logo img{
  height:64px !important;
  max-width:340px !important;
}

.rdsm-footer-brand p{
  font-size:9px !important;
  line-height:1.35 !important;
  font-weight:500 !important;
  margin-top:16px !important;
  color:rgba(255,255,255,.58) !important;
}

.rdsm-footer-nav{
  justify-self:start !important;
  align-self:start !important;
  min-width:150px !important;
  gap:10px !important;
}

.rdsm-footer-col h3,
.rdsm-footer-social h3{
  color:#fff !important;
  font-size:17px !important;
  font-weight:850 !important;
  margin:0 0 14px !important;
}

.rdsm-footer-col a{
  font-size:15px !important;
  color:rgba(255,255,255,.70) !important;
  text-shadow:none !important;
}

.rdsm-footer-col a:hover{
  color:#168cff !important;
  text-shadow:none !important;
  transform:none !important;
}

.rdsm-footer-social{
  justify-self:center !important;
  align-self:center !important;
  text-align:center !important;
}

.rdsm-footer-social-icons{
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:14px !important;
}

.rdsm-footer-social-icons a{
  width:42px !important;
  height:42px !important;
  border-radius:999px !important;
  display:grid !important;
  place-items:center !important;
  color:#fff !important;
  background:rgba(255,255,255,.055) !important;
  border:1px solid rgba(255,255,255,.10) !important;
  transition:background-color .24s ease, color .24s ease, border-color .24s ease, transform .24s ease !important;
}

.rdsm-footer-social-icons a:hover{
  color:#168cff !important;
  border-color:rgba(22,140,255,.55) !important;
  background:rgba(22,140,255,.08) !important;
  transform:translateY(-2px) !important;
}

.rdsm-footer-social-icons svg{
  width:20px !important;
  height:20px !important;
  fill:currentColor !important;
  display:block !important;
}

@media(max-width:860px){
  .rdsm-global-header{
    height:auto !important;
  }

  .rdsm-global-header .rdsm-global-logo img{
    height:44px !important;
    max-width:240px !important;
  }

  .rdsm-global-nav{
    gap:18px !important;
  }

  .rdsm-global-nav a{
    font-size:14px !important;
  }

  .rdsm-global-footer-inner{
    grid-template-columns:1fr !important;
    align-items:start !important;
  }

  .rdsm-footer-social{
    justify-self:start !important;
    text-align:left !important;
  }

  .rdsm-footer-social-icons{
    justify-content:flex-start !important;
  }
}


/* v85 — ajustes header/footer/carrinho pedidos */

/* Header no topo do documento, não acompanha a rolagem */
.rdsm-global-header{
  position: absolute !important;
  top: 0 !important;
  height: 94px !important;
}

/* Brilho azul mais forte e atrás de tudo */
.rdsm-global-header::before{
  z-index: -1 !important;
  opacity: 1 !important;
  background:
    radial-gradient(ellipse at 50% -30%, rgba(22,140,255,.41), rgba(22,140,255,.145) 36%, transparent 74%),
    linear-gradient(180deg, rgba(22,140,255,.145), transparent 90%) !important;
}

.rdsm-global-header-inner{
  position: relative !important;
  z-index: 2 !important;
  width: min(1080px, calc(100% - 42px)) !important;
  grid-template-columns: auto auto auto !important;
  justify-content: start !important;
  gap: 30px !important;
}

/* Header logo +30% */
.rdsm-global-header .rdsm-global-logo img{
  height: 75px !important;
  max-width: 405px !important;
}

/* Navegação mais para a esquerda, perto da logo */
.rdsm-global-nav{
  justify-content: flex-start !important;
  gap: 34px !important;
}

/* Botão de carrinho mais perto e sem contador ao lado */
.rdsm-global-cart-btn{
  margin-left: 2px !important;
  min-width: 104px !important;
  height: 38px !important;
  padding: 0 14px !important;
}

.rdsm-global-cart-btn [data-rdsm-cart-count],
.rdsm-global-cart-btn b{
  display: none !important;
}

/* Hover vermelho somente no X de remover item do carrinho */
.rdsm-cart-item-actions button.rdsm-cart-remove:hover,
.rdsm-cart-item-actions button[data-rdsm-cart-remove]:hover{
  background: rgba(255, 45, 85, .18) !important;
  color: #ff2d55 !important;
  box-shadow: inset 0 0 0 1px rgba(255,45,85,.38) !important;
}

/* Footer: logo 2x maior */
.rdsm-global-footer .rdsm-global-logo img,
.rdsm-global-footer .rdsm-footer-logo img{
  height: 128px !important;
  max-width: 680px !important;
}

/* Footer: navegação mais para a esquerda, logo/copyright mais embaixo */
.rdsm-global-footer-inner{
  grid-template-columns: minmax(360px,.72fr) minmax(150px,.28fr) minmax(330px,.62fr) !important;
  gap: 24px !important;
  align-items: end !important;
}

.rdsm-footer-brand{
  align-self: end !important;
}

.rdsm-footer-brand p{
  font-size: 9px !important;
  margin-top: 10px !important;
  transform: translateY(10px) !important;
}

.rdsm-footer-nav{
  justify-self: start !important;
  margin-left: -24px !important;
}

/* Acompanhe-nos mais para a esquerda e 20% maior */
.rdsm-footer-social{
  justify-self: start !important;
  margin-left: 4px !important;
}

.rdsm-footer-social h3{
  font-size: 20px !important;
}

.rdsm-footer-social-icons{
  gap: 17px !important;
}

.rdsm-footer-social-icons a{
  width: 50px !important;
  height: 50px !important;
}

.rdsm-footer-social-icons svg{
  width: 24px !important;
  height: 24px !important;
}

/* Mobile: preserva proporção sem estourar */
@media(max-width: 860px){
  .rdsm-global-header{
    position: absolute !important;
  }

  .rdsm-global-header-inner{
    grid-template-columns: 1fr auto !important;
    width: min(100% - 28px, 100%) !important;
    gap: 14px !important;
  }

  .rdsm-global-header .rdsm-global-logo img{
    height: 54px !important;
    max-width: 270px !important;
  }

  .rdsm-global-footer .rdsm-global-logo img,
  .rdsm-global-footer .rdsm-footer-logo img{
    height: 82px !important;
    max-width: 360px !important;
  }

  .rdsm-footer-nav,
  .rdsm-footer-social{
    margin-left: 0 !important;
  }
}


/* v86 — footer com cor do anexo e 40% de transparência */
:root{
  --rdsm-footer-bg-v86-r: 7;
  --rdsm-footer-bg-v86-g: 17;
  --rdsm-footer-bg-v86-b: 40;
}

.rdsm-global-footer{
  background: rgba(7, 17, 40, .60) !important;
  background-color: rgba(7, 17, 40, .60) !important;
}

.rdsm-global-footer::before,
.rdsm-global-footer::after{
  background: transparent !important;
  background-color: transparent !important;
}


/* v87 — header mais espaçado/branco + carrinho mais leve/responsivo */

/* leve margem no topo, igual referência */
.rdsm-global-header{
  top: 12px !important;
  height: 76px !important;
}

/* brilho continua atrás, sem cobrir itens */
.rdsm-global-header::before{
  z-index: -1 !important;
  opacity: 1 !important;
}

.rdsm-global-header-inner{
  width: min(1180px, calc(100% - 46px)) !important;
  grid-template-columns: auto 1fr auto !important;
  gap: 48px !important;
  justify-content: initial !important;
  align-items: center !important;
}

.rdsm-global-header .rdsm-global-logo img{
  height: 64px !important;
  max-width: 340px !important;
}

/* seções mais espaçadas e 100% brancas */
.rdsm-global-nav{
  justify-content: center !important;
  gap: clamp(54px, 6vw, 86px) !important;
}

.rdsm-global-nav a{
  color: #fff !important;
  font-size: 16px !important;
  font-weight: 650 !important;
  text-shadow: none !important;
}

.rdsm-global-nav a:hover,
.rdsm-global-nav a:focus{
  color: #168cff !important;
  text-shadow: none !important;
  transform: none !important;
}

/* carrinho mais leve visualmente e alinhado ao header */
.rdsm-global-cart-btn{
  margin-left: 0 !important;
  height: 40px !important;
  min-width: 106px !important;
  padding: 0 16px !important;
  font-size: 14px !important;
  will-change: background-color, color !important;
}

/* otimizações do carrinho lateral */
.rdsm-cart-overlay{
  transition: opacity .18s ease !important;
  will-change: opacity !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}

.rdsm-cart-drawer{
  transition: transform .24s cubic-bezier(.16,1,.3,1) !important;
  will-change: transform !important;
  contain: layout paint style !important;
  box-shadow: -18px 0 44px rgba(0,0,0,.34) !important;
}

.rdsm-cart-items{
  -webkit-overflow-scrolling: touch !important;
  contain: content !important;
}

.rdsm-cart-item{
  grid-template-columns: 102px minmax(0, 1fr) auto !important;
  padding: 14px !important;
  gap: 14px !important;
  contain: layout paint !important;
}

.rdsm-cart-item-img{
  width: 102px !important;
  aspect-ratio: 1.72 / 1 !important;
  height: auto !important;
}

.rdsm-cart-item-info{
  min-width: 0 !important;
}

.rdsm-cart-item-info strong{
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}

.rdsm-cart-item-actions{
  grid-template-columns: 28px 26px 28px 28px !important;
}

/* Mobile/tablet: drawer e itens respiram melhor */
@media(max-width: 720px){
  .rdsm-global-header{
    top: 10px !important;
  }

  .rdsm-global-header-inner{
    width: min(100% - 28px, 100%) !important;
    grid-template-columns: auto auto !important;
    gap: 14px !important;
  }

  .rdsm-global-nav{
    grid-column: 1 / -1 !important;
    justify-content: flex-start !important;
    gap: 24px !important;
  }

  .rdsm-global-nav a{
    font-size: 14px !important;
  }

  .rdsm-cart-drawer{
    width: min(100vw, 440px) !important;
  }

  .rdsm-cart-items{
    padding: 22px 16px !important;
  }

  .rdsm-cart-item{
    grid-template-columns: 94px minmax(0, 1fr) !important;
    grid-template-areas:
      "img info"
      "img actions" !important;
  }

  .rdsm-cart-item-img{ grid-area: img !important; width: 94px !important; }
  .rdsm-cart-item-info{ grid-area: info !important; }
  .rdsm-cart-item-actions{
    grid-area: actions !important;
    justify-content: start !important;
    margin-top: 8px !important;
  }
}

@media(max-width: 430px){
  .rdsm-cart-item{
    grid-template-columns: 1fr !important;
    grid-template-areas:
      "img"
      "info"
      "actions" !important;
  }

  .rdsm-cart-item-img{
    width: 100% !important;
  }
}


/* v88 — header mais equilibrado, carrinho mais responsivo, footer corrigido */

/* Header: seções menos distantes, logo/carrinho um pouco mais para o centro e margem inferior segura */
.rdsm-global-header{
  top: 14px !important;
  height: 80px !important;
}

.rdsm-global-header-inner{
  width: min(1060px, calc(100% - 46px)) !important;
  grid-template-columns: auto 1fr auto !important;
  gap: 34px !important;
}

.rdsm-global-header .rdsm-global-logo img{
  height: 64px !important;
  max-width: 340px !important;
}

.rdsm-global-nav{
  justify-content: center !important;
  gap: clamp(34px, 4.1vw, 52px) !important;
}

.rdsm-global-nav a{
  color: #fff !important;
  font-weight: 700 !important;
}

/* pequena folga para páginas não ficarem coladas no header */
.rdsm-root.rdsm-products-root,
.rdsm-root.rdsm-single-product-root{
  padding-top: max(118px, 7.6vw) !important;
}

/* Home: mantém composição, só garante que nada encoste demais */
#rdsm-home-preview .rdsm-hero{
  padding-top: max(110px, 7vw) !important;
}

/* Feedbacks da home: micro-otimização sem mudar estrutura */
.rdsm-root .rdsm-review-wall,
.rdsm-root .rdsm-review-col,
.rdsm-root .rdsm-review-col > *{
  backface-visibility: hidden !important;
  -webkit-backface-visibility: hidden !important;
  transform: translate3d(0,0,0);
}

.rdsm-root .rdsm-review-col{
  will-change: transform !important;
  contain: layout paint !important;
  animation-timing-function: linear !important;
}

/* Carrinho: valor abaixo do título em azul */
.rdsm-cart-item-info span{
  color: #168cff !important;
  font-weight: 650 !important;
}

/* Área de navegação do footer: clique só no texto, não em uma área gigante */
.rdsm-footer-col a,
.rdsm-footer-nav a{
  display: inline-flex !important;
  width: max-content !important;
  max-width: max-content !important;
  justify-self: start !important;
  align-items: center !important;
}

/* Footer com borda destacada estilo box de compra */
.rdsm-global-footer{
  border-top: 1px solid rgba(22,140,255,.68) !important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.05),
    0 -18px 46px rgba(22,140,255,.08) !important;
}

/* Loading leve no miolo dos itens do carrinho */
.rdsm-cart-items{
  position: relative !important;
}

.rdsm-cart-items.rdsm-loading{
  min-height: 260px !important;
}

.rdsm-cart-items.rdsm-loading > *{
  opacity: .18 !important;
  transition: opacity .16s ease !important;
}

.rdsm-cart-items.rdsm-loading::before{
  content: "" !important;
  position: absolute !important;
  left: 50% !important;
  top: 50% !important;
  width: 34px !important;
  height: 34px !important;
  margin-left: -17px !important;
  margin-top: -17px !important;
  border-radius: 50% !important;
  border: 2px solid rgba(255,255,255,.14) !important;
  border-top-color: #168cff !important;
  animation: rdsmCartSpin .72s linear infinite !important;
  z-index: 5 !important;
}

.rdsm-cart-items.rdsm-loaded .rdsm-cart-item{
  animation: rdsmCartFadeIn .22s cubic-bezier(.16,1,.3,1) both !important;
}

@keyframes rdsmCartSpin{
  to{ transform: rotate(360deg); }
}

@keyframes rdsmCartFadeIn{
  from{ opacity: 0; transform: translate3d(8px,0,0); }
  to{ opacity: 1; transform: translate3d(0,0,0); }
}

/* Atualização visual de quantidade: dá feedback instantâneo */
.rdsm-cart-item.rdsm-qty-pending{
  opacity: .82 !important;
}

.rdsm-cart-item-actions .rdsm-cart-qty{
  transition: transform .14s ease, color .14s ease !important;
}

.rdsm-cart-item.rdsm-qty-pending .rdsm-cart-qty{
  color: #168cff !important;
  transform: scale(1.08) !important;
}

/* Checkout vazio: toast clicável */
.rdsm-single-cart-toast{
  cursor: pointer !important;
}


/* v89 — loader/preload mais leve e fade-in mais suave */
.rdsm-root .rdsm-page-loader{
  transition:
    opacity .32s cubic-bezier(.16,1,.3,1),
    visibility .32s cubic-bezier(.16,1,.3,1) !important;
  will-change: opacity !important;
  contain: strict !important;
  background:
    radial-gradient(circle at 50% 45%, rgba(22,140,255,.13), transparent 36%),
    linear-gradient(180deg, #030713, #061126 62%, #030713) !important;
}

.rdsm-root .rdsm-page-loader::before{
  opacity: .42 !important;
  background-size: 72px 72px !important;
  transform: translateZ(0) !important;
}

.rdsm-loader-dots{
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
  box-shadow: 0 14px 45px rgba(0,0,0,.28), inset 0 1px 0 rgba(255,255,255,.045) !important;
  transform: translateZ(0) !important;
}

.rdsm-loader-dots span{
  animation-duration: .86s !important;
  will-change: transform, opacity !important;
}

/* Fade-in inicial mais leve, sem tranco */
.rdsm-root.rdsm-loaded{
  animation: rdsmRootLoadedV89 .38s cubic-bezier(.16,1,.3,1) both !important;
}

@keyframes rdsmRootLoadedV89{
  from{ opacity: .985; transform: translate3d(0,6px,0); }
  to{ opacity: 1; transform: translate3d(0,0,0); }
}

.rdsm-root .rdsm-reveal{
  transition:
    opacity .48s cubic-bezier(.16,1,.3,1),
    transform .48s cubic-bezier(.16,1,.3,1) !important;
  will-change: opacity, transform !important;
}

/* Home: reduz stutter do primeiro paint */
#rdsm-home-preview .rdsm-hero,
#rdsm-home-preview .rdsm-hero-copy,
#rdsm-home-preview .rdsm-hero-art,
#rdsm-home-preview .rdsm-trust-strip{
  transform: translate3d(0,0,0);
  backface-visibility: hidden !important;
  -webkit-backface-visibility: hidden !important;
}

/* Carrinho: rolagem independente e mais suave dentro do drawer */
.rdsm-cart-drawer{
  overflow: hidden !important;
  overscroll-behavior: contain !important;
}

.rdsm-cart-items{
  overflow-y: auto !important;
  overscroll-behavior: contain !important;
  scroll-behavior: auto !important;
  scrollbar-gutter: stable !important;
}

.rdsm-cart-item{
  transition:
    opacity .16s ease,
    transform .16s ease,
    background-color .16s ease !important;
}


/* v90 — toast de carrinho vazio com ícone de carrinho azul animado */
.rdsm-single-cart-toast.rdsm-toast-cart::before{
  content: "" !important;
  width: 38px !important;
  height: 38px !important;
  border-radius: 50% !important;
  display: block !important;
  background:
    rgba(22,140,255,.13)
    url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill='%23168cff' d='M7.1 18.5a1.75 1.75 0 1 0 0 3.5 1.75 1.75 0 0 0 0-3.5Zm9.8 0a1.75 1.75 0 1 0 0 3.5 1.75 1.75 0 0 0 0-3.5ZM4.2 4.2h1.55l1.1 9.7a2.8 2.8 0 0 0 2.78 2.48h7.55a2.8 2.8 0 0 0 2.68-1.98l1.46-5.08A1.8 1.8 0 0 0 19.6 7H8.3L8.05 4.9A2.2 2.2 0 0 0 5.86 3H4.2a1.1 1.1 0 1 0 0 2.2Zm4.36 5h10.5l-1.25 4.36a.58.58 0 0 1-.56.42H9.63a.58.58 0 0 1-.58-.51L8.56 9.2Z'/%3E%3C/svg%3E")
    center / 21px 21px no-repeat !important;
  border: 1px solid rgba(22,140,255,.72) !important;
  box-shadow:
    0 0 24px rgba(22,140,255,.30),
    inset 0 0 0 1px rgba(255,255,255,.04) !important;
  animation: rdsmCartIconEnterV90 .48s cubic-bezier(.16,1,.3,1) both !important;
}

.rdsm-single-cart-toast.rdsm-toast-check::before{
  content: "✓" !important;
}

@keyframes rdsmCartIconEnterV90{
  0%{
    opacity: 0;
    transform: translate3d(-8px, 0, 0) scale(.68) rotate(-8deg);
  }
  62%{
    opacity: 1;
    transform: translate3d(2px, 0, 0) scale(1.12) rotate(3deg);
  }
  100%{
    opacity: 1;
    transform: translate3d(0, 0, 0) scale(1) rotate(0deg);
  }
}


/* v91 — home: background corrigido + load fixo de 2s + dados sem travada */
/* Corrige o background da Home que estava grande demais/centralizado */
#rdsm-home-preview::before{
  background-size: 100% 100% !important;
  background-position: center top !important;
  transform: translateZ(0) !important;
  will-change: auto !important;
}

/* Loader mais estável durante os 2s da Home */
#rdsm-home-preview .rdsm-page-loader{
  transition: opacity .38s cubic-bezier(.16,1,.3,1), visibility .38s cubic-bezier(.16,1,.3,1) !important;
}

#rdsm-home-preview .rdsm-loader-dots{
  transform: translateZ(0) !important;
  backface-visibility: hidden !important;
  -webkit-backface-visibility: hidden !important;
}

/* A faixa de dados/stats não espera o scroll para compor pesada; entra junto e leve */
#rdsm-home-preview.rdsm-loaded .rdsm-trust-strip.rdsm-reveal,
#rdsm-home-preview.rdsm-loaded .rdsm-trust-strip .rdsm-trust-card.rdsm-reveal{
  opacity: 1 !important;
  transform: translate3d(0,0,0) !important;
  transition:
    opacity .42s cubic-bezier(.16,1,.3,1),
    transform .42s cubic-bezier(.16,1,.3,1) !important;
}

#rdsm-home-preview .rdsm-trust-strip,
#rdsm-home-preview .rdsm-trust-card{
  transform: translate3d(0,0,0) !important;
  backface-visibility: hidden !important;
  -webkit-backface-visibility: hidden !important;
  will-change: auto !important;
}

/* Reduz custo do blur dos dados sem mudar muito o visual */
#rdsm-home-preview .rdsm-trust-strip{
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
  background: linear-gradient(180deg, rgba(9,18,42,.82), rgba(8,15,34,.62)) !important;
}

/* Fade inicial da Home mais limpo depois do loader */
#rdsm-home-preview.rdsm-loaded{
  animation: rdsmHomeLoadedV91 .42s cubic-bezier(.16,1,.3,1) both !important;
}

@keyframes rdsmHomeLoadedV91{
  from{ opacity: .985; transform: translate3d(0,5px,0); }
  to{ opacity: 1; transform: translate3d(0,0,0); }
}


/* v92 — corrige vácuo da Home/footer + header/footer só aparecem depois do loader */

/* Header e footer ficam invisíveis durante o carregamento e entram com fade-in */
.rdsm-global-header,
.rdsm-global-footer{
  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;
  transition:
    opacity .42s cubic-bezier(.16,1,.3,1),
    transform .42s cubic-bezier(.16,1,.3,1),
    visibility .42s cubic-bezier(.16,1,.3,1) !important;
}

.rdsm-global-header{
  transform: translate3d(0,-8px,0) !important;
}

.rdsm-global-footer{
  transform: translate3d(0,10px,0) !important;
}

html.rdsm-shell-ready .rdsm-global-header,
html.rdsm-shell-ready .rdsm-global-footer{
  opacity: 1 !important;
  visibility: visible !important;
  pointer-events: auto !important;
  transform: translate3d(0,0,0) !important;
}

html.rdsm-page-is-loading .rdsm-global-header,
html.rdsm-page-is-loading .rdsm-global-footer{
  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;
}

/* O vácuo preto vinha principalmente da área fora do root + margem antes do footer.
   Agora a Home também pinta o body com o mesmo fundo e o footer cola sem buraco. */
body.rdsm-home-page-active{
  background:
    linear-gradient(180deg, rgba(2,6,18,.60), rgba(2,6,18,.64)),
    url("../images/home-bg-v58.webp") center top / 100% auto no-repeat fixed,
    #030713 !important;
}

body.rdsm-home-page-active .rdsm-global-footer{
  margin-top: 0 !important;
}

/* Corrige o background da Home sem dar zoom gigante no centro */
#rdsm-home-preview::before{
  background-size: 100% auto !important;
  background-position: center top !important;
  background-repeat: no-repeat !important;
}

/* Evita um espaço preto no final do root antes do footer */
#rdsm-home-preview{
  overflow: visible !important;
  margin-bottom: 0 !important;
  padding-bottom: 0 !important;
}

#rdsm-home-preview .rdsm-reviews{
  margin-bottom: 0 !important;
  padding-bottom: 70px !important;
}

/* Se o tema adicionou espaçamentos em volta do footer, zera só no footer global */
.rdsm-global-footer{
  margin-top: 0 !important;
}

/* Mantém a transição do conteúdo mais suave depois do load fixo da home */
#rdsm-home-preview.rdsm-loaded .rdsm-reveal{
  transition:
    opacity .44s cubic-bezier(.16,1,.3,1),
    transform .44s cubic-bezier(.16,1,.3,1) !important;
}


/* v93 — corrige fundo duplicado da Home, margem/footer e suaviza imagem inicial */

/* Remove o background que a v92 colocou no body da Home. 
   Isso evita parecer que cada área da Home tem um fundo próprio e evita imagem aparecendo atrás do footer. */
body.rdsm-home-page-active{
  background: #030713 !important;
  background-image: none !important;
}

/* O fundo da Home fica somente no próprio preview, sem afetar footer/body */
#rdsm-home-preview{
  background: transparent !important;
  margin-bottom: 0 !important;
}

#rdsm-home-preview::before{
  background-image:
    linear-gradient(180deg, rgba(2,6,18,.60), rgba(2,6,18,.64)),
    radial-gradient(circle at 50% 20%, rgba(22,140,255,.12), transparent 42%),
    url("../images/home-bg-v58.webp") !important;
  background-size: cover !important;
  background-position: center center !important;
  background-repeat: no-repeat !important;
}

/* A margem fica no fim da Home, não no início do footer */
#rdsm-home-preview .rdsm-reviews{
  padding-bottom: 82px !important;
  margin-bottom: 0 !important;
}

.rdsm-global-footer{
  margin-top: 0 !important;
}

/* Remove footer/copyright padrão do tema que estava aparecendo acima do footer RD */
body > footer:not(.rdsm-global-footer),
body > .site-footer,
body > #colophon,
body .wp-site-blocks > footer,
body .elementor-location-footer,
body .footer,
body .footer-area,
body .site-info{
  display: none !important;
}

/* Se algum texto solto de copyright do tema estiver fora do footer RD, não deve aparecer */
body:not(.wp-admin) .site-info,
body:not(.wp-admin) .copyright,
body:not(.wp-admin) .copyright-text{
  display: none !important;
}

/* Fade-in mais suave do elemento/imagem inicial da Home */
#rdsm-home-preview .rdsm-hero-art{
  opacity: 0 !important;
  transform: translate3d(0, 12px, 0) scale(.992) !important;
  transition:
    opacity .78s cubic-bezier(.16,1,.3,1),
    transform .78s cubic-bezier(.16,1,.3,1) !important;
  will-change: opacity, transform !important;
  backface-visibility: hidden !important;
  -webkit-backface-visibility: hidden !important;
}

#rdsm-home-preview.rdsm-loaded .rdsm-hero-art{
  opacity: 1 !important;
  transform: translate3d(0,0,0) scale(1) !important;
}

/* A imagem em si não faz fade separado; isso evita tranco entre fade + float */
#rdsm-home-preview .rdsm-hero-art img{
  opacity: 1 !important;
  transform: translate3d(0,0,0) !important;
  will-change: transform !important;
  backface-visibility: hidden !important;
  -webkit-backface-visibility: hidden !important;
  animation-duration: 7.2s !important;
  animation-timing-function: ease-in-out !important;
}

/* Reduz custo do shadow no primeiro paint sem destruir o visual */
#rdsm-home-preview.rdsm-loaded .rdsm-hero-art img{
  filter:
    drop-shadow(0 28px 58px rgba(0,0,0,.50))
    drop-shadow(0 0 34px rgba(22,140,255,.16)) !important;
}

/* Header/footer continuam invisíveis no load e aparecem depois */
html.rdsm-page-is-loading .rdsm-global-header,
html.rdsm-page-is-loading .rdsm-global-footer{
  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;
}


/* v94 — correção final: sem margem antes do footer, bg da Home sem zoom e imagem inicial sem travar */

/* Não deixa o background da Home vazar para body/footer */
body.rdsm-home-page-active{
  background: #030713 !important;
  background-image: none !important;
}

/* O background volta a pertencer apenas à Home, cobrindo a altura real dela, não o viewport fixo */
#rdsm-home-preview{
  position: relative !important;
  overflow: hidden !important;
  margin-bottom: 0 !important;
  padding-bottom: 0 !important;
  background: #030713 !important;
}

#rdsm-home-preview::before{
  position: absolute !important;
  inset: 0 !important;
  z-index: -3 !important;
  background-image:
    linear-gradient(180deg, rgba(2,6,18,.60), rgba(2,6,18,.64)),
    radial-gradient(circle at 50% 20%, rgba(22,140,255,.12), transparent 42%),
    url("../images/home-bg-v58.webp") !important;
  background-size: 100% 100% !important;
  background-position: center top !important;
  background-repeat: no-repeat !important;
  transform: none !important;
  will-change: auto !important;
}

/* Remove a margem/folga entre o fim da Home e o footer */
#rdsm-home-preview > *:last-child{
  margin-bottom: 0 !important;
}

#rdsm-home-preview .rdsm-section:last-child,
#rdsm-home-preview .rdsm-reviews{
  margin-bottom: 0 !important;
  padding-bottom: 0 !important;
}

#rdsm-home-preview .rdsm-review-wall{
  margin-bottom: 0 !important;
}

.rdsm-global-footer{
  margin-top: 0 !important;
}

/* Corrige o fade travado da imagem inicial: ela já pré-renderiza atrás do loader.
   Assim, quando o loader sai, não tem fade pesado/transform pesado acontecendo junto. */
#rdsm-home-preview .rdsm-hero-art,
#rdsm-home-preview.rdsm-loaded .rdsm-hero-art{
  opacity: 1 !important;
  transform: translate3d(0,0,0) !important;
  transition: none !important;
  animation: none !important;
  will-change: auto !important;
  backface-visibility: hidden !important;
  -webkit-backface-visibility: hidden !important;
}

#rdsm-home-preview .rdsm-hero-art img,
#rdsm-home-preview.rdsm-loaded .rdsm-hero-art img{
  opacity: 1 !important;
  transform: translate3d(0,0,0) !important;
  transition: none !important;
  animation: rdsmHeroFloatV94 9.5s ease-in-out 1.2s infinite !important;
  will-change: transform !important;
  filter:
    drop-shadow(0 22px 46px rgba(0,0,0,.46))
    drop-shadow(0 0 24px rgba(22,140,255,.12)) !important;
}

@keyframes rdsmHeroFloatV94{
  0%, 100%{ transform: translate3d(0,0,0); }
  50%{ transform: translate3d(0,-7px,0); }
}

/* O fade da Home em si fica leve e não mexe no hero-art separadamente */
#rdsm-home-preview.rdsm-loaded{
  animation: rdsmHomeLoadedV94 .28s ease-out both !important;
}

@keyframes rdsmHomeLoadedV94{
  from{ opacity: .99; }
  to{ opacity: 1; }
}


/* v95 — volta o background da Home para o padrão que funcionava e retorna o float */

/* Remove as tentativas especiais de body/background da Home */
body.rdsm-home-page-active{
  background:
    linear-gradient(180deg, rgba(2,6,18,.60), rgba(2,6,18,.64)),
    url("../images/home-bg-v58.webp") center center / cover no-repeat fixed,
    #030713 !important;
}

/* Home volta para o mesmo comportamento de fundo das outras páginas: fundo fixo, cover, sem lógica especial */
#rdsm-home-preview{
  position: relative !important;
  overflow: hidden !important;
  background: transparent !important;
  margin-bottom: 0 !important;
  padding-bottom: 0 !important;
}

#rdsm-home-preview::before{
  content: "" !important;
  position: fixed !important;
  inset: 0 !important;
  z-index: -3 !important;
  pointer-events: none !important;
  background-image:
    linear-gradient(180deg, rgba(2,6,18,.60), rgba(2,6,18,.64)),
    radial-gradient(circle at 50% 20%, rgba(22,140,255,.12), transparent 42%),
    url("../images/home-bg-v58.webp") !important;
  background-size: cover !important;
  background-position: center center !important;
  background-repeat: no-repeat !important;
  transform: none !important;
  will-change: auto !important;
}

/* Sem margem artificial antes do footer */
#rdsm-home-preview .rdsm-reviews,
#rdsm-home-preview .rdsm-section:last-child{
  margin-bottom: 0 !important;
  padding-bottom: 0 !important;
}

.rdsm-global-footer{
  margin-top: 0 !important;
}

/* Volta o float do elemento/imagem inicial da Home */
#rdsm-home-preview .rdsm-hero-art{
  opacity: 1 !important;
  transform: translate3d(0,0,0) !important;
  transition: none !important;
  animation: none !important;
  will-change: auto !important;
}

#rdsm-home-preview .rdsm-hero-art img{
  opacity: 1 !important;
  transform: translate3d(0,0,0) !important;
  transition: none !important;
  animation: rdsmHeroImageFloatV95 5.8s ease-in-out infinite !important;
  will-change: transform !important;
  filter:
    drop-shadow(0 35px 70px rgba(0,0,0,.55))
    drop-shadow(0 0 45px rgba(22,140,255,.20)) !important;
}

@keyframes rdsmHeroImageFloatV95{
  0%, 100%{ transform: translate3d(0,0,0); }
  50%{ transform: translate3d(0,-16px,0); }
}


/* v96 — botão do carrinho com cor anexada 50% e correção de imagem dos cards */
.rdsm-global-cart-btn{
  background: rgba(6, 13, 36, .50) !important;
  background-color: rgba(6, 13, 36, .50) !important;
  border-color: rgba(22, 140, 255, .82) !important;
  color: #fff !important;
}

/* Mantém o hover exatamente no comportamento azul já aprovado */
.rdsm-global-cart-btn:hover,
body.rdsm-cart-open .rdsm-global-cart-btn{
  background: #168cff !important;
  background-color: #168cff !important;
  color: #fff !important;
}

/* Garante que imagem de card não fique invisível até trocar de aba/janela */
.rdsm-product-card .rdsm-product-image,
.rdsm-product-card .rdsm-product-img,
.rdsm-product-card picture,
.rdsm-product-card img{
  visibility: visible !important;
  opacity: 1 !important;
}

.rdsm-product-card .rdsm-product-image img,
.rdsm-product-card .rdsm-product-img img,
.rdsm-product-card picture img{
  display: block !important;
  transform: translateZ(0) !important;
  backface-visibility: hidden !important;
  -webkit-backface-visibility: hidden !important;
  content-visibility: visible !important;
}


/* v97 — centraliza os minibotões das categorias dentro da área de filtro */
.rdsm-products-filter,
.rdsm-product-filter,
.rdsm-filter-panel,
.rdsm-products-cats,
.rdsm-category-filters,
.rdsm-products-filter-list,
.rdsm-filter-buttons,
.rdsm-filter-chip-row{
  display: flex !important;
  flex-wrap: wrap !important;
  justify-content: center !important;
  align-items: center !important;
  text-align: center !important;
  gap: 14px !important;
}

/* Quando o título "CATEGORIAS" fica dentro do mesmo box, ele continua alinhado à esquerda,
   mas a linha dos botões fica centralizada. */
.rdsm-products-filter-title,
.rdsm-filter-title,
.rdsm-products-filter h2,
.rdsm-products-filter h3,
.rdsm-products-filter > strong:first-child{
  width: 100% !important;
  text-align: left !important;
  justify-content: flex-start !important;
}

/* Protege contra botões que estavam ocupando largura/forçando quebra estranha */
.rdsm-products-filter a,
.rdsm-product-filter a,
.rdsm-filter-panel a,
.rdsm-products-cats a,
.rdsm-category-filters a,
.rdsm-products-filter button,
.rdsm-product-filter button,
.rdsm-filter-panel button,
.rdsm-products-cats button,
.rdsm-category-filters button{
  flex: 0 0 auto !important;
}


/* v98 — Checkout RD visual usando checkout oficial do WooCommerce */
body.woocommerce-checkout,
body.woocommerce-checkout.woocommerce-page{
  background:
    linear-gradient(180deg, rgba(2,6,18,.72), rgba(2,6,18,.82)),
    url("../images/categories-bg-v58.webp") center center / cover no-repeat fixed,
    #030713 !important;
  color:#fff !important;
}

/* Remove notificação de "adicionado ao carrinho" e área de cupom no checkout */
body.woocommerce-checkout .woocommerce-notices-wrapper .woocommerce-message,
body.woocommerce-checkout .woocommerce-form-coupon-toggle,
body.woocommerce-checkout form.checkout_coupon,
body.woocommerce-checkout .checkout_coupon{
  display:none !important;
}

/* Mantém erros importantes visíveis */
body.woocommerce-checkout .woocommerce-error{
  width:min(1180px, calc(100% - 40px)) !important;
  margin:118px auto 18px !important;
  padding:16px 18px !important;
  border-radius:16px !important;
  background:rgba(255,45,85,.12) !important;
  border:1px solid rgba(255,45,85,.38) !important;
  color:#fff !important;
  list-style:none !important;
}

body.woocommerce-checkout .woocommerce{
  width:min(1180px, calc(100% - 40px)) !important;
  margin:0 auto !important;
  padding:128px 0 70px !important;
}

body.woocommerce-checkout form.checkout{
  display:grid !important;
  grid-template-columns:minmax(0,1.02fr) minmax(360px,.98fr) !important;
  gap:32px !important;
  align-items:start !important;
}

body.woocommerce-checkout .rdsm-checkout-left,
body.woocommerce-checkout .rdsm-checkout-right,
body.woocommerce-checkout #customer_details,
body.woocommerce-checkout #order_review{
  min-width:0 !important;
}

body.woocommerce-checkout #customer_details,
body.woocommerce-checkout #payment,
body.woocommerce-checkout #order_review{
  border-radius:16px !important;
  border:1px solid rgba(116,150,205,.22) !important;
  background:rgba(6,13,36,.62) !important;
  box-shadow:
    0 20px 62px rgba(0,0,0,.28),
    inset 0 1px 0 rgba(255,255,255,.05) !important;
  backdrop-filter:blur(12px) !important;
  -webkit-backdrop-filter:blur(12px) !important;
}

body.woocommerce-checkout #customer_details{
  padding:28px 28px 18px !important;
  margin:0 0 24px !important;
}

body.woocommerce-checkout #customer_details::before{
  content:"Informações de contato";
  display:block;
  margin:0 0 22px;
  color:#fff;
  font-size:21px;
  font-weight:850;
  letter-spacing:-.02em;
}

body.woocommerce-checkout .woocommerce-billing-fields h3,
body.woocommerce-checkout .woocommerce-additional-fields,
body.woocommerce-checkout .col-2,
body.woocommerce-checkout #ship-to-different-address,
body.woocommerce-checkout #order_review_heading{
  display:none !important;
}

body.woocommerce-checkout .col2-set,
body.woocommerce-checkout .col-1{
  float:none !important;
  width:100% !important;
  margin:0 !important;
  padding:0 !important;
}

body.woocommerce-checkout .woocommerce-billing-fields__field-wrapper{
  display:grid !important;
  gap:12px !important;
}

body.woocommerce-checkout form .form-row{
  margin:0 !important;
  padding:0 !important;
  width:100% !important;
}

body.woocommerce-checkout form .form-row label{
  display:block !important;
  color:rgba(255,255,255,.84) !important;
  font-size:13px !important;
  font-weight:700 !important;
  margin:0 0 7px !important;
}

body.woocommerce-checkout form .form-row label .required{
  color:#168cff !important;
  text-decoration:none !important;
}

body.woocommerce-checkout input.input-text,
body.woocommerce-checkout input[type="text"],
body.woocommerce-checkout input[type="email"],
body.woocommerce-checkout input[type="tel"],
body.woocommerce-checkout input[type="number"],
body.woocommerce-checkout select,
body.woocommerce-checkout textarea{
  width:100% !important;
  height:48px !important;
  border-radius:10px !important;
  border:1px solid rgba(255,255,255,.10) !important;
  background:rgba(0,0,0,.46) !important;
  color:#fff !important;
  padding:0 14px !important;
  outline:none !important;
  box-shadow:none !important;
  font-size:14px !important;
  font-weight:600 !important;
}

body.woocommerce-checkout input:focus,
body.woocommerce-checkout select:focus,
body.woocommerce-checkout textarea:focus{
  border-color:#168cff !important;
  box-shadow:0 0 0 3px rgba(22,140,255,.16) !important;
}

body.woocommerce-checkout #payment{
  padding:26px 28px !important;
  margin:0 !important;
}

body.woocommerce-checkout #payment::before{
  content:"Formas de pagamento";
  display:block;
  margin:0 0 20px;
  color:#fff;
  font-size:21px;
  font-weight:850;
  letter-spacing:-.02em;
}

body.woocommerce-checkout #payment ul.payment_methods{
  padding:0 !important;
  margin:0 0 20px !important;
  border:0 !important;
}

body.woocommerce-checkout #payment ul.payment_methods li{
  border:1px solid rgba(22,140,255,.78) !important;
  background:rgba(6,13,36,.50) !important;
  border-radius:14px !important;
  padding:14px 16px !important;
  margin:0 0 12px !important;
  color:#fff !important;
}

body.woocommerce-checkout #payment ul.payment_methods li label{
  color:#fff !important;
  font-weight:800 !important;
  font-size:15px !important;
}

body.woocommerce-checkout #payment div.payment_box{
  background:rgba(255,255,255,.06) !important;
  color:rgba(255,255,255,.80) !important;
  border-radius:12px !important;
  border:1px solid rgba(255,255,255,.10) !important;
  padding:16px !important;
  margin:14px 0 0 !important;
}

body.woocommerce-checkout #payment div.payment_box::before{
  display:none !important;
}

body.woocommerce-checkout #payment .place-order{
  padding:0 !important;
  margin:22px 0 0 !important;
}

body.woocommerce-checkout .woocommerce-privacy-policy-text{
  color:rgba(255,255,255,.64) !important;
  font-size:12px !important;
  line-height:1.55 !important;
  margin:0 0 18px !important;
}

body.woocommerce-checkout .woocommerce-privacy-policy-text a,
body.woocommerce-checkout .woocommerce-terms-and-conditions-wrapper a{
  color:#168cff !important;
}

body.woocommerce-checkout #place_order{
  width:100% !important;
  height:56px !important;
  border:0 !important;
  border-radius:10px !important;
  background:#12cfff !important;
  color:#020817 !important;
  font-weight:900 !important;
  font-size:17px !important;
  box-shadow:0 16px 42px rgba(18,207,255,.24) !important;
  transition:transform .18s ease, box-shadow .18s ease, filter .18s ease !important;
}

body.woocommerce-checkout #place_order:hover{
  transform:translateY(-1px) !important;
  filter:brightness(1.05) !important;
  box-shadow:0 20px 54px rgba(18,207,255,.30) !important;
}

body.woocommerce-checkout #order_review{
  padding:28px !important;
  margin:0 !important;
}

body.woocommerce-checkout #order_review::before{
  content:"Resumo do pedido";
  display:flex;
  align-items:center;
  justify-content:space-between;
  margin:0 0 22px;
  color:#fff;
  font-size:21px;
  font-weight:850;
  letter-spacing:-.02em;
}

body.woocommerce-checkout .shop_table{
  width:100% !important;
  border:0 !important;
  border-collapse:separate !important;
  border-spacing:0 12px !important;
  margin:0 !important;
  background:transparent !important;
}

body.woocommerce-checkout .shop_table thead{
  display:none !important;
}

body.woocommerce-checkout .shop_table tr,
body.woocommerce-checkout .shop_table th,
body.woocommerce-checkout .shop_table td{
  border:0 !important;
  background:transparent !important;
  color:#fff !important;
}

body.woocommerce-checkout .shop_table td,
body.woocommerce-checkout .shop_table th{
  padding:6px 0 !important;
}

body.woocommerce-checkout .cart_item .product-name{
  font-weight:800 !important;
  font-size:15px !important;
  color:#fff !important;
}

body.woocommerce-checkout .cart_item .product-total{
  text-align:right !important;
  font-weight:850 !important;
  color:#fff !important;
}

body.woocommerce-checkout .cart-subtotal th,
body.woocommerce-checkout .cart-subtotal td,
body.woocommerce-checkout .order-total th,
body.woocommerce-checkout .order-total td{
  font-size:15px !important;
}

body.woocommerce-checkout .order-total th,
body.woocommerce-checkout .order-total td{
  padding-top:14px !important;
  border-top:1px solid rgba(255,255,255,.10) !important;
  font-size:18px !important;
  font-weight:900 !important;
}

body.woocommerce-checkout .woocommerce-Price-amount{
  color:#fff !important;
  font-weight:900 !important;
}

body.woocommerce-checkout .rdsm-moved-payment-cpf{
  margin-top:12px !important;
}

body.woocommerce-checkout .rdsm-moved-payment-cpf label{
  color:rgba(255,255,255,.84) !important;
}

/* Remove estilos brancos padrões do Woo dentro do Pix/CPF */
body.woocommerce-checkout #payment .rdsm-moved-payment-cpf,
body.woocommerce-checkout #customer_details .rdsm-moved-payment-cpf{
  background:transparent !important;
  border:0 !important;
  padding:0 !important;
}

@media(max-width:900px){
  body.woocommerce-checkout .woocommerce{
    width:min(100% - 28px, 100%) !important;
    padding-top:118px !important;
  }

  body.woocommerce-checkout form.checkout{
    grid-template-columns:1fr !important;
    gap:22px !important;
  }
}


/* v99 — Checkout RD inspirado no layout de referência, Pix, CPF único, cupom e carrinho no resumo */
body.woocommerce-checkout,
body.woocommerce-checkout *{
  font-family: Inter, "Space Grotesk", "Montserrat", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif !important;
}

body.woocommerce-checkout .woocommerce{
  width:min(1180px, calc(100% - 40px)) !important;
  padding-top:132px !important;
}

body.woocommerce-checkout form.checkout{
  grid-template-columns:minmax(0, .94fr) minmax(430px, 1.06fr) !important;
  gap:30px !important;
}

body.woocommerce-checkout .rdsm-checkout-left{
  display:flex !important;
  flex-direction:column !important;
  gap:24px !important;
}

body.woocommerce-checkout .rdsm-checkout-right{
  position:sticky !important;
  top:32px !important;
}

body.woocommerce-checkout #customer_details,
body.woocommerce-checkout #payment,
body.woocommerce-checkout #order_review{
  background:
    linear-gradient(180deg, rgba(7,17,40,.78), rgba(7,13,36,.68)) !important;
  border:1px solid rgba(88,124,185,.30) !important;
  border-radius:16px !important;
  backdrop-filter:blur(13px) !important;
  -webkit-backdrop-filter:blur(13px) !important;
  box-shadow:
    0 20px 62px rgba(0,0,0,.30),
    inset 0 1px 0 rgba(255,255,255,.055) !important;
}

body.woocommerce-checkout #payment{
  order:1 !important;
}

body.woocommerce-checkout #customer_details{
  order:2 !important;
}

body.woocommerce-checkout .rdsm-checkout-action-zone{
  order:3 !important;
  display:block !important;
}

/* Títulos */
body.woocommerce-checkout #payment::before,
body.woocommerce-checkout #customer_details::before,
body.woocommerce-checkout #order_review::before{
  color:#fff !important;
  font-size:21px !important;
  font-weight:850 !important;
  letter-spacing:-.025em !important;
}

/* CPF único junto com contato */
body.woocommerce-checkout .rdsm-cpf-duplicate-hidden{
  display:none !important;
}

body.woocommerce-checkout .rdsm-moved-payment-cpf{
  margin-top:4px !important;
}

body.woocommerce-checkout .rdsm-moved-payment-cpf > p,
body.woocommerce-checkout .rdsm-moved-payment-cpf .payment-method-description,
body.woocommerce-checkout .rdsm-moved-payment-cpf small,
body.woocommerce-checkout .rdsm-moved-payment-cpf .description{
  display:none !important;
}

body.woocommerce-checkout .rdsm-moved-payment-cpf label{
  display:block !important;
  color:rgba(255,255,255,.84) !important;
  font-size:13px !important;
  font-weight:750 !important;
  margin:0 0 7px !important;
}

body.woocommerce-checkout .rdsm-moved-payment-cpf label::after{
  content:" *";
  color:#168cff;
}

/* Remove frase do Pix da área de pagamento; mantém só o campo CPF/CNPJ em contato */
body.woocommerce-checkout #payment div.payment_box > p:not(.form-row),
body.woocommerce-checkout #payment div.payment_box > div:not(:has(input)):not(:has(select)):not(:has(textarea)){
  display:none !important;
}

/* Forma de pagamento com ícone Pix */
body.woocommerce-checkout #payment ul.payment_methods li{
  min-height:62px !important;
  display:flex !important;
  align-items:center !important;
  border:1px solid rgba(18,207,255,.88) !important;
  background:rgba(6,13,36,.50) !important;
  box-shadow:0 0 0 1px rgba(18,207,255,.10), inset 0 1px 0 rgba(255,255,255,.05) !important;
}

body.woocommerce-checkout #payment ul.payment_methods li input[type="radio"]{
  position:absolute !important;
  opacity:0 !important;
  pointer-events:none !important;
}

body.woocommerce-checkout #payment ul.payment_methods li label{
  display:flex !important;
  align-items:center !important;
  gap:13px !important;
  width:100% !important;
  cursor:pointer !important;
  color:#fff !important;
}

body.woocommerce-checkout #payment ul.payment_methods li label::before{
  content:"" !important;
  width:42px !important;
  height:42px !important;
  border-radius:10px !important;
  flex:0 0 42px !important;
  background:
    rgba(0,0,0,.55)
    url("data:image/svg+xml,%3Csvg viewBox='0 0 64 64' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='%2312cfff'%3E%3Cpath d='M18.6 18.5c3.2-3.2 8.4-3.2 11.6 0l2.1 2.1-5.6 5.6-2.1-2.1c-.1-.1-.3-.1-.4 0L14.4 34c-.1.1-.1.3 0 .4l9.8 9.8c.1.1.3.1.4 0l2.1-2.1 5.6 5.6-2.1 2.1c-3.2 3.2-8.4 3.2-11.6 0L8.8 40c-3.2-3.2-3.2-8.4 0-11.6l9.8-9.9Z'/%3E%3Cpath d='M34.7 16.4 47.6 29.3c1.5 1.5 1.5 4 0 5.5L34.7 47.7l-5.6-5.6 9.9-9.9-9.9-10.2 5.6-5.6Z'/%3E%3Cpath d='m36.6 21.9 2.7-2.7c3.2-3.2 8.4-3.2 11.6 0l4.3 4.3c3.2 3.2 3.2 8.4 0 11.6l-4.3 4.3c-3.2 3.2-8.4 3.2-11.6 0l-2.7-2.7 5.6-5.6 2.7 2.7c.1.1.3.1.4 0l4.3-4.3c.1-.1.1-.3 0-.4l-4.3-4.3c-.1-.1-.3-.1-.4 0l-2.7 2.7-5.6-5.6Z'/%3E%3C/g%3E%3C/svg%3E")
    center / 28px 28px no-repeat !important;
  border:1px solid rgba(18,207,255,.20) !important;
  box-shadow:0 10px 24px rgba(0,0,0,.25) !important;
}

body.woocommerce-checkout #payment ul.payment_methods li label::after{
  content:"Mais rápido";
  margin-left:auto;
  color:#00ffc2;
  font-size:12px;
  font-weight:800;
  padding:5px 9px;
  border-radius:999px;
  background:rgba(0,255,194,.10);
  border:1px solid rgba(0,255,194,.24);
}

/* Botão e termos no final da coluna esquerda */
body.woocommerce-checkout .rdsm-checkout-action-zone .place-order{
  padding:0 !important;
  margin:0 !important;
}

body.woocommerce-checkout .rdsm-checkout-action-zone .woocommerce-terms-and-conditions-wrapper,
body.woocommerce-checkout .rdsm-checkout-action-zone .woocommerce-privacy-policy-text{
  color:rgba(255,255,255,.72) !important;
  font-size:13px !important;
  line-height:1.6 !important;
  margin:0 0 14px !important;
}

body.woocommerce-checkout #place_order{
  background:#168cff !important;
  color:#fff !important;
  border-radius:12px !important;
  height:58px !important;
  box-shadow:0 16px 42px rgba(22,140,255,.28) !important;
}

/* Resumo do pedido vira carrinho visual */
body.woocommerce-checkout #order_review{
  padding:28px !important;
}

body.woocommerce-checkout #order_review .shop_table{
  display:none !important;
}

body.woocommerce-checkout .rdsm-checkout-cart-ui{
  display:flex !important;
  flex-direction:column !important;
  gap:18px !important;
}

body.woocommerce-checkout .rdsm-checkout-cart-secure{
  position:absolute;
  right:24px;
  top:24px;
  color:#00ffc2;
  font-size:12px;
  font-weight:800;
  display:inline-flex;
  align-items:center;
  gap:7px;
  padding:7px 11px;
  border-radius:999px;
  background:rgba(0,255,194,.09);
  border:1px solid rgba(0,255,194,.20);
}

body.woocommerce-checkout .rdsm-checkout-cart-secure::before{
  content:"";
  width:13px;
  height:13px;
  background:currentColor;
  -webkit-mask:url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M17 9V7A5 5 0 0 0 7 7v2H5v13h14V9h-2Zm-8 0V7a3 3 0 0 1 6 0v2H9Z'/%3E%3C/svg%3E") center / contain no-repeat;
  mask:url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M17 9V7A5 5 0 0 0 7 7v2H5v13h14V9h-2Zm-8 0V7a3 3 0 0 1 6 0v2H9Z'/%3E%3C/svg%3E") center / contain no-repeat;
}

body.woocommerce-checkout .rdsm-checkout-cart-items{
  display:flex;
  flex-direction:column;
  gap:14px;
}

body.woocommerce-checkout .rdsm-checkout-cart-item{
  display:grid;
  grid-template-columns:56px minmax(0,1fr) auto;
  gap:14px;
  align-items:center;
}

body.woocommerce-checkout .rdsm-checkout-cart-item img{
  width:56px;
  height:56px;
  border-radius:10px;
  object-fit:cover;
  background:#060d24;
  border:1px solid rgba(255,255,255,.10);
}

body.woocommerce-checkout .rdsm-checkout-cart-title{
  color:#fff;
  font-size:14px;
  font-weight:850;
  line-height:1.15;
  text-transform:uppercase;
}

body.woocommerce-checkout .rdsm-checkout-cart-unit{
  color:rgba(255,255,255,.62);
  font-size:12px;
  margin-top:3px;
}

body.woocommerce-checkout .rdsm-checkout-cart-actions{
  display:flex;
  align-items:center;
  gap:8px;
}

body.woocommerce-checkout .rdsm-checkout-qty-btn,
body.woocommerce-checkout .rdsm-checkout-remove{
  width:32px;
  height:32px;
  border:1px solid rgba(255,255,255,.10);
  border-radius:10px;
  background:rgba(255,255,255,.045);
  color:#fff;
  font-size:18px;
  line-height:1;
  cursor:pointer;
}

body.woocommerce-checkout .rdsm-checkout-remove{
  color:#ff2d55;
}

body.woocommerce-checkout .rdsm-checkout-qty{
  width:24px;
  text-align:center;
  color:#fff;
  font-weight:800;
}

body.woocommerce-checkout .rdsm-checkout-cart-price{
  color:#fff;
  font-weight:900;
  min-width:86px;
  text-align:right;
}

body.woocommerce-checkout .rdsm-checkout-coupon{
  display:grid;
  grid-template-columns:1fr 128px;
  gap:12px;
  margin-top:2px;
}

body.woocommerce-checkout .rdsm-checkout-coupon input{
  height:42px !important;
  border-radius:10px !important;
  background:rgba(0,0,0,.48) !important;
}

body.woocommerce-checkout .rdsm-checkout-coupon button{
  height:42px;
  border:0;
  border-radius:10px;
  color:#fff;
  background:#168cff;
  font-weight:900;
  cursor:pointer;
}

body.woocommerce-checkout .rdsm-checkout-coupon-msg{
  min-height:18px;
  color:rgba(255,255,255,.70);
  font-size:12px;
  margin-top:-8px;
}

body.woocommerce-checkout .rdsm-checkout-totals{
  border-radius:12px;
  border:1px solid rgba(255,255,255,.09);
  background:rgba(255,255,255,.035);
  padding:15px 14px;
  display:flex;
  flex-direction:column;
  gap:10px;
}

body.woocommerce-checkout .rdsm-checkout-total-row{
  display:flex;
  justify-content:space-between;
  color:rgba(255,255,255,.78);
  font-size:14px;
}

body.woocommerce-checkout .rdsm-checkout-total-row strong{
  color:#fff;
}

body.woocommerce-checkout .rdsm-checkout-total-row.final{
  border-top:1px solid rgba(255,255,255,.10);
  padding-top:11px;
  color:#fff;
  font-size:18px;
  font-weight:900;
}

@media(max-width:900px){
  body.woocommerce-checkout form.checkout{
    grid-template-columns:1fr !important;
  }

  body.woocommerce-checkout .rdsm-checkout-right{
    position:static !important;
  }

  body.woocommerce-checkout .rdsm-checkout-coupon{
    grid-template-columns:1fr !important;
  }
}


/* v100 — corrige checkout: contato/pagamento visíveis, sem duplicar botão, cupom removível */
body.woocommerce-checkout .rdsm-checkout-action-zone{
  display:none !important;
}

body.woocommerce-checkout .rdsm-checkout-left{
  display:flex !important;
  flex-direction:column !important;
  gap:24px !important;
}

body.woocommerce-checkout #customer_details,
body.woocommerce-checkout #payment{
  display:block !important;
  visibility:visible !important;
  opacity:1 !important;
  height:auto !important;
  min-height:0 !important;
  overflow:visible !important;
}

body.woocommerce-checkout .woocommerce-billing-fields,
body.woocommerce-checkout .woocommerce-billing-fields__field-wrapper{
  display:grid !important;
  gap:13px !important;
  visibility:visible !important;
  opacity:1 !important;
}

body.woocommerce-checkout #payment{
  order:2 !important;
}

body.woocommerce-checkout #customer_details{
  order:1 !important;
}

body.woocommerce-checkout #payment .place-order{
  display:block !important;
  margin-top:20px !important;
}

body.woocommerce-checkout #payment .place-order + .place-order,
body.woocommerce-checkout #payment .woocommerce-privacy-policy-text + .woocommerce-privacy-policy-text,
body.woocommerce-checkout #payment .woocommerce-terms-and-conditions-wrapper + .woocommerce-terms-and-conditions-wrapper{
  display:none !important;
}

/* Deixa a forma de pagamento visível novamente */
body.woocommerce-checkout #payment ul.payment_methods,
body.woocommerce-checkout #payment ul.payment_methods li,
body.woocommerce-checkout #payment .payment_box{
  display:block !important;
  visibility:visible !important;
  opacity:1 !important;
}

body.woocommerce-checkout #payment ul.payment_methods li{
  display:flex !important;
}

/* Esconde só descrições Pix, sem esconder inputs */
body.woocommerce-checkout #payment div.payment_box p:not(:has(input)):not(:has(select)):not(:has(textarea)),
body.woocommerce-checkout #payment div.payment_box small:not(:has(input)):not(:has(select)):not(:has(textarea)),
body.woocommerce-checkout #payment div.payment_box .description:not(:has(input)):not(:has(select)):not(:has(textarea)){
  display:none !important;
}

/* CPF/CNPJ único */
body.woocommerce-checkout .rdsm-moved-payment-cpf{
  display:block !important;
  visibility:visible !important;
  opacity:1 !important;
  margin-top:0 !important;
}

body.woocommerce-checkout .rdsm-cpf-duplicate-hidden{
  display:none !important;
}

/* Resumo/carrinho mais responsivo */
body.woocommerce-checkout .rdsm-checkout-cart-item{
  grid-template-columns:58px minmax(0,1fr) auto auto !important;
  gap:14px !important;
  align-items:center !important;
}

body.woocommerce-checkout .rdsm-checkout-cart-info{
  min-width:0 !important;
}

body.woocommerce-checkout .rdsm-checkout-cart-title{
  white-space:normal !important;
  overflow-wrap:anywhere !important;
}

body.woocommerce-checkout .rdsm-checkout-cart-controls{
  display:flex !important;
  align-items:center !important;
  gap:8px !important;
}

body.woocommerce-checkout .rdsm-checkout-cart-price{
  white-space:nowrap !important;
}

body.woocommerce-checkout .rdsm-checkout-pending{
  opacity:.72 !important;
}

body.woocommerce-checkout .rdsm-checkout-removing{
  opacity:0 !important;
  transform:translate3d(10px,0,0) scale(.98) !important;
  transition:opacity .16s ease, transform .16s ease !important;
}

/* Cupom aplicado/removível */
body.woocommerce-checkout .rdsm-checkout-applied-coupons{
  display:flex !important;
  flex-wrap:wrap !important;
  gap:8px !important;
  min-height:0 !important;
}

body.woocommerce-checkout .rdsm-checkout-coupon-tag{
  display:inline-flex !important;
  align-items:center !important;
  gap:10px !important;
  width:max-content !important;
  max-width:100% !important;
  border:1px solid rgba(22,140,255,.34) !important;
  background:rgba(22,140,255,.10) !important;
  color:#fff !important;
  border-radius:999px !important;
  padding:8px 10px !important;
  cursor:pointer !important;
}

body.woocommerce-checkout .rdsm-checkout-coupon-tag strong{
  color:#168cff !important;
}

body.woocommerce-checkout .rdsm-checkout-coupon-tag em{
  color:#ff2d55 !important;
  font-style:normal !important;
  font-weight:800 !important;
}

body.woocommerce-checkout .rdsm-checkout-coupon-msg{
  color:rgba(255,255,255,.72) !important;
}

@media(max-width:720px){
  body.woocommerce-checkout .rdsm-checkout-cart-item{
    grid-template-columns:54px minmax(0,1fr) auto !important;
    grid-template-areas:
      "img info price"
      "img controls controls" !important;
  }

  body.woocommerce-checkout .rdsm-checkout-cart-item img{ grid-area:img !important; }
  body.woocommerce-checkout .rdsm-checkout-cart-info{ grid-area:info !important; }
  body.woocommerce-checkout .rdsm-checkout-cart-controls{ grid-area:controls !important; justify-content:flex-start !important; }
  body.woocommerce-checkout .rdsm-checkout-cart-price{ grid-area:price !important; }
}

@media(max-width:480px){
  body.woocommerce-checkout .rdsm-checkout-cart-item{
    grid-template-columns:1fr !important;
    grid-template-areas:"img" "info" "controls" "price" !important;
  }

  body.woocommerce-checkout .rdsm-checkout-cart-item img{
    width:100% !important;
    height:auto !important;
    aspect-ratio:1.72/1 !important;
    object-fit:contain !important;
  }

  body.woocommerce-checkout .rdsm-checkout-cart-price{
    text-align:left !important;
  }
}


/* v101 — Checkout: campos de contato visíveis + Pix limpo */
body.woocommerce-checkout #customer_details{
  padding:28px !important;
  min-height:260px !important;
}

body.woocommerce-checkout #customer_details .woocommerce-billing-fields__field-wrapper > .form-row:not(.rdsm-contact-custom-field),
body.woocommerce-checkout #customer_details .woocommerce-billing-fields__field-wrapper > p:not(.rdsm-contact-custom-field),
body.woocommerce-checkout #customer_details .woocommerce-billing-fields__field-wrapper > div:not(.rdsm-contact-custom-field){
  position:absolute !important;
  left:-9999px !important;
  width:1px !important;
  height:1px !important;
  overflow:hidden !important;
  opacity:0 !important;
  pointer-events:none !important;
}

body.woocommerce-checkout .rdsm-contact-custom-ui{
  display:grid !important;
  gap:13px !important;
  margin-top:2px !important;
}

body.woocommerce-checkout .rdsm-contact-custom-field{
  display:block !important;
  position:relative !important;
  left:auto !important;
  width:100% !important;
  height:auto !important;
  opacity:1 !important;
  pointer-events:auto !important;
}

body.woocommerce-checkout .rdsm-contact-custom-field label{
  display:block !important;
  color:rgba(255,255,255,.84) !important;
  font-size:13px !important;
  font-weight:750 !important;
  margin:0 0 7px !important;
}

body.woocommerce-checkout .rdsm-contact-custom-field label span{
  color:#168cff !important;
}

body.woocommerce-checkout .rdsm-contact-custom-field input{
  width:100% !important;
  height:48px !important;
  border-radius:10px !important;
  border:1px solid rgba(255,255,255,.10) !important;
  background:rgba(0,0,0,.46) !important;
  color:#fff !important;
  padding:0 14px !important;
  outline:none !important;
  box-shadow:none !important;
  font-size:14px !important;
  font-weight:650 !important;
}

body.woocommerce-checkout .rdsm-contact-custom-field input:focus{
  border-color:#168cff !important;
  box-shadow:0 0 0 3px rgba(22,140,255,.16) !important;
}

body.woocommerce-checkout #payment input[name*="cpf" i],
body.woocommerce-checkout #payment input[id*="cpf" i],
body.woocommerce-checkout #payment input[name*="cnpj" i],
body.woocommerce-checkout #payment input[id*="cnpj" i],
body.woocommerce-checkout #payment .rdsm-moved-payment-cpf,
body.woocommerce-checkout #payment .rdsm-cpf-payment-hidden{
  position:absolute !important;
  left:-9999px !important;
  width:1px !important;
  height:1px !important;
  opacity:0 !important;
  pointer-events:none !important;
}

body.woocommerce-checkout #payment ul.payment_methods li input:not([type="radio"]),
body.woocommerce-checkout #payment ul.payment_methods li select,
body.woocommerce-checkout #payment ul.payment_methods li textarea{
  position:absolute !important;
  left:-9999px !important;
  width:1px !important;
  height:1px !important;
  opacity:0 !important;
  pointer-events:none !important;
}

body.woocommerce-checkout #payment ul.payment_methods li label::before{
  content:"" !important;
  width:42px !important;
  height:42px !important;
  border-radius:10px !important;
  flex:0 0 42px !important;
  background:rgba(0,0,0,.56) !important;
  border:1px solid rgba(18,207,255,.22) !important;
  box-shadow:0 10px 24px rgba(0,0,0,.25) !important;
}

body.woocommerce-checkout #payment ul.payment_methods li label::before{
  background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 64 64' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='%2312cfff'%3E%3Cpath d='M32 8 45.5 21.5 38.7 28.3 32 21.6 25.3 28.3 18.5 21.5 32 8Z'/%3E%3Cpath d='M8 32 21.5 18.5 28.3 25.3 21.6 32 28.3 38.7 21.5 45.5 8 32Z'/%3E%3Cpath d='M32 56 18.5 42.5 25.3 35.7 32 42.4 38.7 35.7 45.5 42.5 32 56Z'/%3E%3Cpath d='M56 32 42.5 45.5 35.7 38.7 42.4 32 35.7 25.3 42.5 18.5 56 32Z'/%3E%3C/g%3E%3C/svg%3E") !important;
  background-position:center !important;
  background-size:27px 27px !important;
  background-repeat:no-repeat !important;
}

body.woocommerce-checkout #payment ul.payment_methods li label{
  justify-content:flex-start !important;
}

body.woocommerce-checkout #payment ul.payment_methods li label::after{
  margin-left:14px !important;
  flex:0 0 auto !important;
}

body.woocommerce-checkout #payment,
body.woocommerce-checkout #payment ul.payment_methods,
body.woocommerce-checkout #payment ul.payment_methods li{
  min-height:unset !important;
  visibility:visible !important;
  opacity:1 !important;
}


/* v102 — checkout: quantidade visual instantânea e cupom estilo aplicado/remover */
body.woocommerce-checkout .rdsm-checkout-cart-item{
  transition: opacity .14s ease, transform .14s ease, background-color .14s ease !important;
}

body.woocommerce-checkout .rdsm-checkout-cart-item.rdsm-checkout-instant-pending{
  opacity:.86 !important;
}

body.woocommerce-checkout .rdsm-checkout-cart-item.rdsm-checkout-instant-pending .rdsm-checkout-qty,
body.woocommerce-checkout .rdsm-checkout-cart-item.rdsm-checkout-instant-pending .rdsm-checkout-cart-price{
  color:#168cff !important;
}

body.woocommerce-checkout .rdsm-checkout-qty-btn{
  transition: background-color .14s ease, color .14s ease, transform .12s ease !important;
}

body.woocommerce-checkout .rdsm-checkout-qty-btn:active{
  transform: scale(.94) !important;
}

/* Cupom exatamente no modelo: input preenchido + botão Remover quando aplicado */
body.woocommerce-checkout .rdsm-checkout-coupon{
  display:grid !important;
  grid-template-columns: minmax(0,1fr) 132px !important;
  gap:12px !important;
  align-items:center !important;
}

body.woocommerce-checkout .rdsm-checkout-coupon input{
  text-transform:uppercase !important;
  color:#fff !important;
  font-weight:700 !important;
}

body.woocommerce-checkout .rdsm-checkout-coupon button{
  background:#168cff !important;
  color:#fff !important;
  font-weight:900 !important;
  border:0 !important;
  border-radius:10px !important;
}

body.woocommerce-checkout .rdsm-checkout-coupon.rdsm-coupon-applied button{
  background:#12cfff !important;
  color:#021225 !important;
}

body.woocommerce-checkout .rdsm-checkout-coupon.rdsm-coupon-applied button::before{
  content:"✕";
  margin-right:8px;
  color:#021225;
  font-weight:900;
}

body.woocommerce-checkout .rdsm-checkout-applied-coupons{
  display:none !important;
}

body.woocommerce-checkout .rdsm-checkout-coupon-msg{
  min-height:18px !important;
  font-size:12px !important;
  color:rgba(255,255,255,.72) !important;
  margin-top:-6px !important;
}


/* v103 — Checkout: cupom/quantidade 100% instantâneo visual, CPF digitável, Pix correto */
body.woocommerce-checkout .woocommerce-privacy-policy-text,
body.woocommerce-checkout .woocommerce-terms-and-conditions-wrapper .woocommerce-privacy-policy-text{
  display:none !important;
}

/* CPF custom sempre clicável/digitável */
body.woocommerce-checkout .rdsm-contact-custom-ui{
  position:relative !important;
  z-index:5 !important;
}

body.woocommerce-checkout .rdsm-contact-custom-field,
body.woocommerce-checkout .rdsm-contact-custom-field input{
  pointer-events:auto !important;
  user-select:auto !important;
  -webkit-user-select:auto !important;
}

body.woocommerce-checkout .rdsm-contact-custom-field input[data-rdsm-contact-cpf]{
  cursor:text !important;
  text-transform:none !important;
}

/* Esconde qualquer campo/caixa fantasma do gateway dentro da forma de pagamento, sem desativar o valor real */
body.woocommerce-checkout #payment .payment_box,
body.woocommerce-checkout #payment .payment_box *,
body.woocommerce-checkout #payment ul.payment_methods li label *{
  max-width:100% !important;
}

body.woocommerce-checkout #payment input:not([type="radio"]),
body.woocommerce-checkout #payment select,
body.woocommerce-checkout #payment textarea,
body.woocommerce-checkout #payment .form-row,
body.woocommerce-checkout #payment p.form-row,
body.woocommerce-checkout #payment .rdsm-moved-payment-cpf,
body.woocommerce-checkout #payment .rdsm-cpf-payment-hidden{
  position:absolute !important;
  left:-10000px !important;
  top:auto !important;
  width:1px !important;
  height:1px !important;
  min-width:1px !important;
  min-height:1px !important;
  max-width:1px !important;
  max-height:1px !important;
  padding:0 !important;
  margin:0 !important;
  border:0 !important;
  opacity:0 !important;
  visibility:hidden !important;
  pointer-events:none !important;
  overflow:hidden !important;
}

/* Ícone Pix usando o PNG correto anexado */
body.woocommerce-checkout #payment ul.payment_methods li label::before{
  background-color:rgba(0,0,0,.56) !important;
  background-image:url("../images/pix-logo-v103.png") !important;
  background-position:center !important;
  background-size:27px 27px !important;
  background-repeat:no-repeat !important;
}

/* Remove o retângulo fantasma ao lado do Pix e deixa só Pix + badge */
body.woocommerce-checkout #payment ul.payment_methods li{
  overflow:hidden !important;
}

body.woocommerce-checkout #payment ul.payment_methods li label{
  display:flex !important;
  align-items:center !important;
  gap:13px !important;
  width:100% !important;
  min-width:0 !important;
}

body.woocommerce-checkout #payment ul.payment_methods li label::after{
  margin-left:8px !important;
}

/* Carrinho: sem animação, muda seco/instantâneo */
body.woocommerce-checkout .rdsm-checkout-cart-item,
body.woocommerce-checkout .rdsm-checkout-qty,
body.woocommerce-checkout .rdsm-checkout-cart-price,
body.woocommerce-checkout .rdsm-checkout-total-row,
body.woocommerce-checkout .rdsm-checkout-totals{
  transition:none !important;
  animation:none !important;
}

body.woocommerce-checkout .rdsm-checkout-instant-pending{
  opacity:1 !important;
}

body.woocommerce-checkout .rdsm-checkout-removing{
  opacity:1 !important;
  transform:none !important;
}

/* Cupom aplicado: input com código + botão Remover */
body.woocommerce-checkout .rdsm-checkout-coupon.rdsm-coupon-applied input{
  color:#fff !important;
  text-transform:uppercase !important;
  font-weight:800 !important;
}

body.woocommerce-checkout .rdsm-checkout-coupon.rdsm-coupon-applied button{
  background:#12cfff !important;
  color:#041124 !important;
}

body.woocommerce-checkout .rdsm-checkout-coupon.rdsm-coupon-applied button::before{
  content:"✕";
  margin-right:8px;
  font-weight:900;
}



/* v104 — overrides finais checkout: sem refresh visual, sem box fantasma, erro não quebra layout */
body.woocommerce-checkout form.checkout{
  display:grid !important;
  grid-template-columns:minmax(0,.92fr) minmax(430px,1.08fr) !important;
  gap:30px !important;
  align-items:start !important;
}

body.woocommerce-checkout .rdsm-checkout-left{
  display:flex !important;
  flex-direction:column !important;
  gap:24px !important;
}

body.woocommerce-checkout .rdsm-checkout-right{
  position:sticky !important;
  top:32px !important;
}

body.woocommerce-checkout .woocommerce-NoticeGroup,
body.woocommerce-checkout .woocommerce-NoticeGroup-checkout{
  grid-column:1 / -1 !important;
  order:-10 !important;
  width:100% !important;
  margin:0 0 12px !important;
}

body.woocommerce-checkout .woocommerce-error,
body.woocommerce-checkout .woocommerce-message,
body.woocommerce-checkout .woocommerce-info{
  width:100% !important;
  max-width:1180px !important;
  margin:0 auto 16px !important;
  border-radius:14px !important;
  background:rgba(255,45,85,.11) !important;
  border:1px solid rgba(255,45,85,.44) !important;
  color:#fff !important;
  list-style:none !important;
  padding:14px 16px !important;
  box-shadow:none !important;
}

body.woocommerce-checkout #customer_details,
body.woocommerce-checkout #payment,
body.woocommerce-checkout #order_review{
  overflow:hidden !important;
}

body.woocommerce-checkout #customer_details .woocommerce-billing-fields__field-wrapper{
  position:absolute !important;
  left:-10000px !important;
  width:1px !important;
  height:1px !important;
  opacity:0 !important;
  overflow:hidden !important;
  pointer-events:none !important;
}

body.woocommerce-checkout .rdsm-contact-v104{
  display:grid !important;
  gap:13px !important;
  position:relative !important;
  z-index:20 !important;
}

body.woocommerce-checkout .rdsm-contact-field label{
  display:block !important;
  color:rgba(255,255,255,.86) !important;
  font-size:13px !important;
  font-weight:800 !important;
  margin:0 0 7px !important;
}

body.woocommerce-checkout .rdsm-contact-field label span{
  color:#168cff !important;
}

body.woocommerce-checkout .rdsm-contact-field input{
  width:100% !important;
  height:48px !important;
  border-radius:10px !important;
  border:1px solid rgba(255,255,255,.10) !important;
  background:rgba(0,0,0,.46) !important;
  color:#fff !important;
  padding:0 14px !important;
  outline:none !important;
  font-size:14px !important;
  font-weight:650 !important;
  pointer-events:auto !important;
  user-select:auto !important;
}

body.woocommerce-checkout .rdsm-contact-field input:focus{
  border-color:#168cff !important;
  box-shadow:0 0 0 3px rgba(22,140,255,.16) !important;
}

/* Esconde totalmente o box do gateway Pix que gerava retângulo fantasma, mantendo inputs no DOM */
body.woocommerce-checkout #payment .payment_box{
  display:none !important;
}

body.woocommerce-checkout #payment input:not([type="radio"]),
body.woocommerce-checkout #payment select,
body.woocommerce-checkout #payment textarea,
body.woocommerce-checkout .rdsm-real-cpf-hidden-v104{
  position:absolute !important;
  left:-10000px !important;
  width:1px !important;
  height:1px !important;
  opacity:0 !important;
  visibility:hidden !important;
  pointer-events:none !important;
}

body.woocommerce-checkout #payment ul.payment_methods li label::before{
  background-color:rgba(0,0,0,.56) !important;
  background-image:url("../images/pix-logo-v103.png") !important;
  background-position:center !important;
  background-size:27px 27px !important;
  background-repeat:no-repeat !important;
}

body.woocommerce-checkout #payment ul.payment_methods li label::after{
  content:"Mais rápido" !important;
  margin-left:8px !important;
  flex:0 0 auto !important;
}

/* Usa apenas o carrinho v104 */
body.woocommerce-checkout #order_review .shop_table,
body.woocommerce-checkout #order_review .rdsm-checkout-cart-ui:not(.rdsm-checkout-cart-v104){
  display:none !important;
}

body.woocommerce-checkout .rdsm-checkout-cart-v104{
  display:flex !important;
  flex-direction:column !important;
  gap:18px !important;
}

body.woocommerce-checkout .rdsm-checkout-cart-item,
body.woocommerce-checkout .rdsm-checkout-cart-item *,
body.woocommerce-checkout .rdsm-checkout-total-row,
body.woocommerce-checkout .rdsm-checkout-total-row *{
  transition:none !important;
  animation:none !important;
}

body.woocommerce-checkout .rdsm-coupon-v104.rdsm-coupon-applied input{
  text-transform:uppercase !important;
  font-weight:800 !important;
}

body.woocommerce-checkout .rdsm-coupon-v104.rdsm-coupon-applied button{
  background:#12cfff !important;
  color:#031326 !important;
}

body.woocommerce-checkout .rdsm-coupon-v104.rdsm-coupon-applied button::before{
  content:"✕";
  margin-right:8px;
  font-weight:900;
}

body.woocommerce-checkout .woocommerce-privacy-policy-text{
  display:none !important;
}

@media(max-width:900px){
  body.woocommerce-checkout form.checkout{
    grid-template-columns:1fr !important;
  }
  body.woocommerce-checkout .rdsm-checkout-right{
    position:static !important;
  }
}


/* v105 — CPF limpo e pagamento/botão sempre visíveis */
body.woocommerce-checkout [data-v104-cpf]{
  pointer-events:auto !important;
  user-select:auto !important;
  -webkit-user-select:auto !important;
  cursor:text !important;
  color:#fff !important;
}

/* Força a seção de pagamento a aparecer */
body.woocommerce-checkout #payment{
  display:block !important;
  visibility:visible !important;
  opacity:1 !important;
  height:auto !important;
  min-height:220px !important;
  overflow:visible !important;
  order:2 !important;
  padding:26px 28px !important;
  margin:0 !important;
}

body.woocommerce-checkout #payment::before{
  display:block !important;
  content:"Formas de pagamento" !important;
}

body.woocommerce-checkout #payment ul.payment_methods{
  display:block !important;
  visibility:visible !important;
  opacity:1 !important;
  height:auto !important;
  overflow:visible !important;
  margin:0 0 22px !important;
}

body.woocommerce-checkout #payment ul.payment_methods li{
  display:flex !important;
  visibility:visible !important;
  opacity:1 !important;
  align-items:center !important;
  min-height:62px !important;
}

/* Mantém a payment_box invisível para tirar o campo fantasma, mas sem esconder o bloco de pagamento */
body.woocommerce-checkout #payment .payment_box{
  display:none !important;
}

/* Botão oficial do Woo visível novamente */
body.woocommerce-checkout #payment .place-order{
  display:block !important;
  visibility:visible !important;
  opacity:1 !important;
  margin-top:22px !important;
  padding:0 !important;
}

body.woocommerce-checkout #payment #place_order,
body.woocommerce-checkout #place_order{
  display:block !important;
  visibility:visible !important;
  opacity:1 !important;
  width:100% !important;
  height:58px !important;
  border:0 !important;
  border-radius:12px !important;
  background:#168cff !important;
  color:#fff !important;
  font-size:16px !important;
  font-weight:900 !important;
  cursor:pointer !important;
}

/* Se algum CSS antigo tentou esconder o pagamento, sobrescreve */
body.woocommerce-checkout .rdsm-checkout-left #payment,
body.woocommerce-checkout .rdsm-checkout-left #payment *:not(.payment_box):not(.payment_box *){
  max-height:none !important;
}

/* Remove qualquer duplicação visual de privacidade sem sumir com o botão */
body.woocommerce-checkout #payment .woocommerce-privacy-policy-text{
  display:none !important;
}



/* v107 — recupera checkout e isola visual sem sumir conteúdo */
body.woocommerce-checkout .woocommerce{
  display:block !important;
  width:min(1180px, calc(100% - 40px)) !important;
  margin:0 auto !important;
  padding:132px 0 70px !important;
  min-height:620px !important;
}

body.woocommerce-checkout form.checkout{
  display:grid !important;
  grid-template-columns:minmax(0,.92fr) minmax(430px,1.08fr) !important;
  gap:30px !important;
  align-items:start !important;
  visibility:visible !important;
  opacity:1 !important;
}

body.woocommerce-checkout .rdsm-checkout-left-v107{
  display:flex !important;
  flex-direction:column !important;
  gap:24px !important;
  min-width:0 !important;
}

body.woocommerce-checkout .rdsm-checkout-right-v107{
  position:sticky !important;
  top:32px !important;
  min-width:0 !important;
}

body.woocommerce-checkout .woocommerce-NoticeGroup,
body.woocommerce-checkout .woocommerce-NoticeGroup-checkout{
  grid-column:1 / -1 !important;
  order:-10 !important;
  width:100% !important;
  margin:0 0 16px !important;
}

body.woocommerce-checkout .woocommerce-error,
body.woocommerce-checkout .woocommerce-message,
body.woocommerce-checkout .woocommerce-info{
  width:100% !important;
  max-width:none !important;
  margin:0 !important;
  padding:15px 18px !important;
  border-radius:14px !important;
  background:rgba(255,45,85,.12) !important;
  border:1px solid rgba(255,255,255,.86) !important;
  color:#fff !important;
  list-style:none !important;
  box-shadow:none !important;
}

body.woocommerce-checkout .woocommerce-error::before,
body.woocommerce-checkout .woocommerce-message::before,
body.woocommerce-checkout .woocommerce-info::before{
  display:none !important;
}

body.woocommerce-checkout #customer_details,
body.woocommerce-checkout #payment,
body.woocommerce-checkout #order_review{
  display:block !important;
  visibility:visible !important;
  opacity:1 !important;
  height:auto !important;
  min-height:0 !important;
  overflow:hidden !important;
  background:linear-gradient(180deg, rgba(7,17,40,.78), rgba(7,13,36,.68)) !important;
  border:1px solid rgba(88,124,185,.30) !important;
  border-radius:16px !important;
  padding:28px !important;
  box-shadow:0 20px 62px rgba(0,0,0,.30), inset 0 1px 0 rgba(255,255,255,.055) !important;
}

body.woocommerce-checkout #customer_details .woocommerce-billing-fields h3,
body.woocommerce-checkout #customer_details .woocommerce-billing-fields__field-wrapper,
body.woocommerce-checkout .col-2,
body.woocommerce-checkout .woocommerce-additional-fields{
  position:absolute !important;
  left:-10000px !important;
  width:1px !important;
  height:1px !important;
  opacity:0 !important;
  overflow:hidden !important;
  pointer-events:none !important;
}

body.woocommerce-checkout #customer_details::before,
body.woocommerce-checkout #payment::before,
body.woocommerce-checkout #order_review::before{
  display:block !important;
  color:#fff !important;
  font-size:21px !important;
  font-weight:850 !important;
  letter-spacing:-.025em !important;
  margin:0 0 22px !important;
}

body.woocommerce-checkout #customer_details::before{ content:"Informações de contato" !important; }
body.woocommerce-checkout #payment::before{ content:"Formas de pagamento" !important; }
body.woocommerce-checkout #order_review::before{ content:"Resumo do pedido" !important; }

body.woocommerce-checkout .rdsm-contact-v107{
  display:grid !important;
  gap:13px !important;
  position:relative !important;
  z-index:20 !important;
}

body.woocommerce-checkout .rdsm-contact-field-v107 label{
  display:block !important;
  color:rgba(255,255,255,.86) !important;
  font-size:13px !important;
  font-weight:800 !important;
  margin:0 0 7px !important;
}

body.woocommerce-checkout .rdsm-contact-field-v107 label span{
  color:#168cff !important;
}

body.woocommerce-checkout .rdsm-contact-field-v107 input{
  width:100% !important;
  height:48px !important;
  border-radius:10px !important;
  border:1px solid rgba(255,255,255,.10) !important;
  background:rgba(0,0,0,.46) !important;
  color:#fff !important;
  padding:0 14px !important;
  outline:none !important;
  font-size:14px !important;
  font-weight:650 !important;
  pointer-events:auto !important;
  user-select:auto !important;
  transition:none !important;
}

body.woocommerce-checkout .rdsm-contact-field-v107 input:focus{
  border-color:#168cff !important;
  box-shadow:0 0 0 3px rgba(22,140,255,.16) !important;
}

body.woocommerce-checkout .rdsm-hidden-real-field-v107,
body.woocommerce-checkout #payment input:not([type="radio"]),
body.woocommerce-checkout #payment select,
body.woocommerce-checkout #payment textarea{
  position:absolute !important;
  left:-10000px !important;
  width:1px !important;
  height:1px !important;
  opacity:0 !important;
  visibility:hidden !important;
  pointer-events:none !important;
}

/* Esconde pagamento oficial visual, mas mantém método/botão oficial no DOM */
body.woocommerce-checkout #payment ul.payment_methods,
body.woocommerce-checkout #payment .payment_box,
body.woocommerce-checkout #payment .place-order{
  position:absolute !important;
  left:-10000px !important;
  width:1px !important;
  height:1px !important;
  opacity:0 !important;
  overflow:hidden !important;
  pointer-events:none !important;
}

body.woocommerce-checkout .rdsm-payment-v107{
  display:flex !important;
  flex-direction:column !important;
  gap:18px !important;
}

body.woocommerce-checkout .rdsm-payment-card-v107{
  min-height:62px !important;
  display:flex !important;
  align-items:center !important;
  gap:13px !important;
  border:1px solid rgba(18,207,255,.88) !important;
  background:rgba(6,13,36,.50) !important;
  border-radius:14px !important;
  padding:13px 16px !important;
}

body.woocommerce-checkout .rdsm-pix-icon-v107{
  width:42px !important;
  height:42px !important;
  border-radius:10px !important;
  flex:0 0 42px !important;
  background:rgba(0,0,0,.56) url("../images/pix-logo-v103.png") center / 27px 27px no-repeat !important;
  border:1px solid rgba(18,207,255,.22) !important;
}

body.woocommerce-checkout .rdsm-payment-text-v107{
  display:flex !important;
  align-items:center !important;
  gap:10px !important;
}

body.woocommerce-checkout .rdsm-payment-text-v107 strong{
  color:#fff !important;
  font-weight:850 !important;
}

body.woocommerce-checkout .rdsm-payment-text-v107 small{
  color:#00ffc2 !important;
  font-size:12px !important;
  font-weight:850 !important;
  padding:5px 9px !important;
  border-radius:999px !important;
  background:rgba(0,255,194,.10) !important;
  border:1px solid rgba(0,255,194,.24) !important;
}

body.woocommerce-checkout .rdsm-payment-card-v107 em{
  margin-left:auto !important;
  color:rgba(255,255,255,.64) !important;
  font-size:12px !important;
  font-style:normal !important;
}

body.woocommerce-checkout .rdsm-place-order-v107{
  width:100% !important;
  height:58px !important;
  border:0 !important;
  border-radius:12px !important;
  background:#168cff !important;
  color:#fff !important;
  font-size:16px !important;
  font-weight:900 !important;
  cursor:pointer !important;
}

/* Só mostra carrinho v107 no resumo */
body.woocommerce-checkout #order_review .shop_table,
body.woocommerce-checkout #order_review .rdsm-checkout-cart-ui,
body.woocommerce-checkout #order_review .rdsm-checkout-cart-v104,
body.woocommerce-checkout #order_review .rdsm-checkout-cart-v106{
  display:none !important;
}

body.woocommerce-checkout #order_review .rdsm-checkout-cart-v107{
  display:flex !important;
  flex-direction:column !important;
  gap:18px !important;
}

body.woocommerce-checkout .rdsm-checkout-cart-v107 *,
body.woocommerce-checkout .rdsm-checkout-total-row,
body.woocommerce-checkout .rdsm-checkout-total-row *{
  transition:none !important;
  animation:none !important;
}

body.woocommerce-checkout .rdsm-coupon-v107.rdsm-coupon-applied input{
  text-transform:uppercase !important;
  font-weight:800 !important;
}

body.woocommerce-checkout .rdsm-coupon-v107.rdsm-coupon-applied button{
  background:#12cfff !important;
  color:#031326 !important;
}

body.woocommerce-checkout .rdsm-coupon-v107.rdsm-coupon-applied button::before{
  content:"✕";
  margin-right:8px;
  font-weight:900;
}

body.woocommerce-checkout .woocommerce-privacy-policy-text{
  display:none !important;
}

@media(max-width:900px){
  body.woocommerce-checkout form.checkout{
    grid-template-columns:1fr !important;
  }
  body.woocommerce-checkout .rdsm-checkout-right-v107{
    position:static !important;
  }
}


/* v108 — trava de segurança: o checkout nativo nunca fica invisível se o JS/custom não montar */
body.woocommerce-checkout:not(.rdsm-v108-ready) .woocommerce,
body.woocommerce-checkout:not(.rdsm-v108-ready) form.checkout,
body.woocommerce-checkout:not(.rdsm-v108-ready) #customer_details,
body.woocommerce-checkout:not(.rdsm-v108-ready) #payment,
body.woocommerce-checkout:not(.rdsm-v108-ready) #order_review,
body.woocommerce-checkout:not(.rdsm-v108-ready) .col2-set,
body.woocommerce-checkout:not(.rdsm-v108-ready) .col-1,
body.woocommerce-checkout:not(.rdsm-v108-ready) .woocommerce-billing-fields,
body.woocommerce-checkout:not(.rdsm-v108-ready) .woocommerce-billing-fields__field-wrapper,
body.woocommerce-checkout:not(.rdsm-v108-ready) #payment ul.payment_methods,
body.woocommerce-checkout:not(.rdsm-v108-ready) #payment ul.payment_methods li,
body.woocommerce-checkout:not(.rdsm-v108-ready) #payment .place-order,
body.woocommerce-checkout:not(.rdsm-v108-ready) #payment #place_order,
body.woocommerce-checkout:not(.rdsm-v108-ready) #order_review .shop_table{
  display:block !important;
  visibility:visible !important;
  opacity:1 !important;
  position:static !important;
  left:auto !important;
  top:auto !important;
  width:auto !important;
  height:auto !important;
  max-width:none !important;
  max-height:none !important;
  min-width:0 !important;
  min-height:0 !important;
  overflow:visible !important;
  pointer-events:auto !important;
}

body.woocommerce-checkout:not(.rdsm-v108-ready) .woocommerce{
  width:min(1180px, calc(100% - 40px)) !important;
  margin:0 auto !important;
  padding:132px 0 70px !important;
}

body.woocommerce-checkout:not(.rdsm-v108-ready) form.checkout{
  display:grid !important;
  grid-template-columns:minmax(0,.95fr) minmax(390px,1.05fr) !important;
  gap:30px !important;
  align-items:start !important;
}

body.woocommerce-checkout:not(.rdsm-v108-ready) #customer_details,
body.woocommerce-checkout:not(.rdsm-v108-ready) #payment,
body.woocommerce-checkout:not(.rdsm-v108-ready) #order_review{
  background:linear-gradient(180deg, rgba(7,17,40,.78), rgba(7,13,36,.68)) !important;
  border:1px solid rgba(88,124,185,.30) !important;
  border-radius:16px !important;
  padding:28px !important;
  margin:0 0 24px !important;
  box-shadow:0 20px 62px rgba(0,0,0,.30), inset 0 1px 0 rgba(255,255,255,.055) !important;
}

body.woocommerce-checkout:not(.rdsm-v108-ready) #payment ul.payment_methods{
  margin:0 0 20px !important;
  padding:0 !important;
  border:0 !important;
}

body.woocommerce-checkout:not(.rdsm-v108-ready) #payment ul.payment_methods li{
  min-height:62px !important;
  border:1px solid rgba(18,207,255,.88) !important;
  background:rgba(6,13,36,.50) !important;
  border-radius:14px !important;
  padding:14px 16px !important;
  color:#fff !important;
}

body.woocommerce-checkout:not(.rdsm-v108-ready) #payment #place_order{
  width:100% !important;
  height:58px !important;
  border:0 !important;
  border-radius:12px !important;
  background:#168cff !important;
  color:#fff !important;
  font-size:16px !important;
  font-weight:900 !important;
}

body.woocommerce-checkout:not(.rdsm-v108-ready) input.input-text,
body.woocommerce-checkout:not(.rdsm-v108-ready) input[type="text"],
body.woocommerce-checkout:not(.rdsm-v108-ready) input[type="email"],
body.woocommerce-checkout:not(.rdsm-v108-ready) input[type="tel"]{
  width:100% !important;
  height:48px !important;
  border-radius:10px !important;
  border:1px solid rgba(255,255,255,.10) !important;
  background:rgba(0,0,0,.46) !important;
  color:#fff !important;
  padding:0 14px !important;
}

/* Quando o custom monta, esconde apenas estruturas antigas/duplicadas, não a página inteira */
body.woocommerce-checkout.rdsm-v108-ready .woocommerce{
  display:block !important;
  visibility:visible !important;
  opacity:1 !important;
  min-height:620px !important;
}

body.woocommerce-checkout.rdsm-v108-ready form.checkout{
  display:grid !important;
  visibility:visible !important;
  opacity:1 !important;
}

/* Notices do Woo sempre ficam no topo do grid e não empurram/bugam a tela */
body.woocommerce-checkout .woocommerce-NoticeGroup,
body.woocommerce-checkout .woocommerce-NoticeGroup-checkout{
  grid-column:1 / -1 !important;
  order:-50 !important;
  width:100% !important;
  margin:0 0 16px !important;
  position:static !important;
  left:auto !important;
}

body.woocommerce-checkout .woocommerce-error,
body.woocommerce-checkout .woocommerce-message,
body.woocommerce-checkout .woocommerce-info{
  width:100% !important;
  margin:0 !important;
  padding:15px 18px !important;
  border-radius:14px !important;
  background:rgba(255,45,85,.12) !important;
  border:1px solid rgba(255,255,255,.86) !important;
  color:#fff !important;
  list-style:none !important;
  box-shadow:none !important;
}

/* CPF: só números e campo clicável quando custom estiver pronto */
body.woocommerce-checkout input[data-rdsm-v107-cpf],
body.woocommerce-checkout input[data-v106-cpf],
body.woocommerce-checkout input[data-v104-cpf]{
  pointer-events:auto !important;
  user-select:auto !important;
  -webkit-user-select:auto !important;
  cursor:text !important;
}


/* v109 — RECOVERY: impede o checkout de sumir após carregar.
   Mostra o checkout oficial do WooCommerce/EFI por cima de qualquer custom antigo. */
body.woocommerce-checkout .woocommerce,
body.woocommerce-checkout form.checkout{
  display:block !important;
  visibility:visible !important;
  opacity:1 !important;
  position:relative !important;
  left:auto !important;
  top:auto !important;
  width:min(1180px, calc(100% - 40px)) !important;
  max-width:none !important;
  height:auto !important;
  min-height:620px !important;
  overflow:visible !important;
  pointer-events:auto !important;
}

body.woocommerce-checkout .woocommerce{
  margin:0 auto !important;
  padding:132px 0 70px !important;
}

body.woocommerce-checkout form.checkout{
  width:100% !important;
  display:grid !important;
  grid-template-columns:minmax(0,.95fr) minmax(390px,1.05fr) !important;
  gap:30px !important;
  align-items:start !important;
}

/* Wrappers criados pelas versões anteriores não podem esconder o checkout */
body.woocommerce-checkout .rdsm-checkout-left,
body.woocommerce-checkout .rdsm-checkout-left-v107,
body.woocommerce-checkout .rdsm-checkout-right,
body.woocommerce-checkout .rdsm-checkout-right-v107{
  display:flex !important;
  visibility:visible !important;
  opacity:1 !important;
  position:relative !important;
  left:auto !important;
  top:auto !important;
  width:auto !important;
  height:auto !important;
  max-width:none !important;
  max-height:none !important;
  overflow:visible !important;
  pointer-events:auto !important;
  flex-direction:column !important;
  gap:24px !important;
}

/* Blocos oficiais sempre visíveis */
body.woocommerce-checkout #customer_details,
body.woocommerce-checkout #payment,
body.woocommerce-checkout #order_review,
body.woocommerce-checkout .col2-set,
body.woocommerce-checkout .col-1,
body.woocommerce-checkout .woocommerce-billing-fields,
body.woocommerce-checkout .woocommerce-billing-fields__field-wrapper,
body.woocommerce-checkout #payment ul.payment_methods,
body.woocommerce-checkout #payment ul.payment_methods li,
body.woocommerce-checkout #payment .payment_box,
body.woocommerce-checkout #payment .place-order,
body.woocommerce-checkout #payment #place_order,
body.woocommerce-checkout #order_review .shop_table{
  display:block !important;
  visibility:visible !important;
  opacity:1 !important;
  position:relative !important;
  left:auto !important;
  top:auto !important;
  width:auto !important;
  height:auto !important;
  min-width:0 !important;
  min-height:0 !important;
  max-width:none !important;
  max-height:none !important;
  overflow:visible !important;
  pointer-events:auto !important;
}

/* Visual estável nos blocos nativos */
body.woocommerce-checkout #customer_details,
body.woocommerce-checkout #payment,
body.woocommerce-checkout #order_review{
  background:linear-gradient(180deg, rgba(7,17,40,.78), rgba(7,13,36,.68)) !important;
  border:1px solid rgba(88,124,185,.30) !important;
  border-radius:16px !important;
  padding:28px !important;
  margin:0 0 24px !important;
  box-shadow:0 20px 62px rgba(0,0,0,.30), inset 0 1px 0 rgba(255,255,255,.055) !important;
}

/* Esconde apenas UI custom antiga que estava brigando com Woo */
body.woocommerce-checkout .rdsm-payment-v106,
body.woocommerce-checkout .rdsm-payment-v107,
body.woocommerce-checkout .rdsm-checkout-cart-v106,
body.woocommerce-checkout .rdsm-checkout-cart-v107,
body.woocommerce-checkout .rdsm-contact-v106,
body.woocommerce-checkout .rdsm-contact-v107{
  display:none !important;
}

/* Campos oficiais bonitos e funcionais */
body.woocommerce-checkout input.input-text,
body.woocommerce-checkout input[type="text"],
body.woocommerce-checkout input[type="email"],
body.woocommerce-checkout input[type="tel"],
body.woocommerce-checkout input[type="number"],
body.woocommerce-checkout select,
body.woocommerce-checkout textarea{
  width:100% !important;
  min-height:46px !important;
  border-radius:10px !important;
  border:1px solid rgba(255,255,255,.10) !important;
  background:rgba(0,0,0,.46) !important;
  color:#fff !important;
  padding:0 14px !important;
  outline:none !important;
  box-shadow:none !important;
}

/* Botão oficial visível */
body.woocommerce-checkout #place_order{
  display:block !important;
  visibility:visible !important;
  opacity:1 !important;
  width:100% !important;
  height:58px !important;
  border:0 !important;
  border-radius:12px !important;
  background:#168cff !important;
  color:#fff !important;
  font-size:16px !important;
  font-weight:900 !important;
  cursor:pointer !important;
  margin-top:16px !important;
}

/* Notices do Woo não quebram layout */
body.woocommerce-checkout .woocommerce-NoticeGroup,
body.woocommerce-checkout .woocommerce-NoticeGroup-checkout{
  grid-column:1 / -1 !important;
  order:-50 !important;
  width:100% !important;
  margin:0 0 16px !important;
  position:static !important;
  left:auto !important;
}

body.woocommerce-checkout .woocommerce-error,
body.woocommerce-checkout .woocommerce-message,
body.woocommerce-checkout .woocommerce-info{
  width:100% !important;
  max-width:none !important;
  margin:0 0 16px !important;
  padding:15px 18px !important;
  border-radius:14px !important;
  background:rgba(255,45,85,.12) !important;
  border:1px solid rgba(255,255,255,.86) !important;
  color:#fff !important;
  list-style:none !important;
  box-shadow:none !important;
}

body.woocommerce-checkout .woocommerce-error::before,
body.woocommerce-checkout .woocommerce-message::before,
body.woocommerce-checkout .woocommerce-info::before{
  display:none !important;
}

/* CPF/CNPJ apenas números, visual */
body.woocommerce-checkout input[name*="cpf" i],
body.woocommerce-checkout input[id*="cpf" i],
body.woocommerce-checkout input[name*="cnpj" i],
body.woocommerce-checkout input[id*="cnpj" i]{
  pointer-events:auto !important;
  user-select:auto !important;
  -webkit-user-select:auto !important;
  cursor:text !important;
}

@media(max-width:900px){
  body.woocommerce-checkout form.checkout{
    grid-template-columns:1fr !important;
  }
}


/* v110 — restaura checkout custom e remove partes inúteis do fallback */
/* Mostra a UI custom que a v109 estava escondendo */
body.woocommerce-checkout .rdsm-contact-v107,
body.woocommerce-checkout .rdsm-payment-v107,
body.woocommerce-checkout #order_review .rdsm-checkout-cart-v107{
  display:flex !important;
  visibility:visible !important;
  opacity:1 !important;
  position:relative !important;
  left:auto !important;
  top:auto !important;
  width:auto !important;
  height:auto !important;
  min-width:0 !important;
  min-height:0 !important;
  max-width:none !important;
  max-height:none !important;
  overflow:visible !important;
  pointer-events:auto !important;
}

body.woocommerce-checkout .rdsm-contact-v107{
  display:grid !important;
  gap:13px !important;
  z-index:20 !important;
}

body.woocommerce-checkout .rdsm-contact-field-v107,
body.woocommerce-checkout .rdsm-contact-field-v107 input{
  display:block !important;
  visibility:visible !important;
  opacity:1 !important;
  position:relative !important;
  left:auto !important;
  width:100% !important;
  height:auto !important;
  pointer-events:auto !important;
  user-select:auto !important;
}

body.woocommerce-checkout .rdsm-contact-field-v107 label{
  display:block !important;
  color:rgba(255,255,255,.86) !important;
  font-size:13px !important;
  font-weight:800 !important;
  margin:0 0 7px !important;
}

body.woocommerce-checkout .rdsm-contact-field-v107 label span{
  color:#168cff !important;
}

body.woocommerce-checkout .rdsm-contact-field-v107 input{
  height:48px !important;
  border-radius:10px !important;
  border:1px solid rgba(255,255,255,.10) !important;
  background:rgba(0,0,0,.46) !important;
  color:#fff !important;
  padding:0 14px !important;
  font-size:14px !important;
  font-weight:650 !important;
  outline:none !important;
}

/* Esconde campos oficiais de contato, mas mantém no DOM para o Woo/EFI receber */
body.woocommerce-checkout #customer_details .woocommerce-billing-fields h3,
body.woocommerce-checkout #customer_details .woocommerce-billing-fields__field-wrapper,
body.woocommerce-checkout .col-2,
body.woocommerce-checkout .woocommerce-additional-fields{
  position:absolute !important;
  left:-10000px !important;
  width:1px !important;
  height:1px !important;
  opacity:0 !important;
  overflow:hidden !important;
  pointer-events:none !important;
}

/* Remove a área inútil do resumo nativo que apareceu abaixo do carrinho custom */
body.woocommerce-checkout #order_review .shop_table,
body.woocommerce-checkout #order_review table.shop_table,
body.woocommerce-checkout #order_review .woocommerce-checkout-review-order-table,
body.woocommerce-checkout #order_review .cart_item,
body.woocommerce-checkout #order_review .cart-subtotal,
body.woocommerce-checkout #order_review .order-total,
body.woocommerce-checkout #order_review .fee,
body.woocommerce-checkout #order_review .tax-rate,
body.woocommerce-checkout #order_review .coupon-rdrdrd222,
body.woocommerce-checkout #order_review tr[class*="coupon-"]{
  display:none !important;
  visibility:hidden !important;
  opacity:0 !important;
  height:0 !important;
  overflow:hidden !important;
}

/* Mantém apenas o carrinho custom v107 */
body.woocommerce-checkout #order_review .rdsm-checkout-cart-v107{
  display:flex !important;
  flex-direction:column !important;
  gap:18px !important;
}

/* Remove o retângulo fantasma do Pix: o payment_box fica fora da tela, mas o método oficial continua no DOM */
body.woocommerce-checkout #payment .payment_box,
body.woocommerce-checkout #payment .payment_box *,
body.woocommerce-checkout #payment input:not([type="radio"]),
body.woocommerce-checkout #payment select,
body.woocommerce-checkout #payment textarea{
  position:absolute !important;
  left:-10000px !important;
  top:auto !important;
  width:1px !important;
  height:1px !important;
  min-width:1px !important;
  min-height:1px !important;
  max-width:1px !important;
  max-height:1px !important;
  padding:0 !important;
  margin:0 !important;
  border:0 !important;
  opacity:0 !important;
  visibility:hidden !important;
  pointer-events:none !important;
  overflow:hidden !important;
}

/* Esconde lista oficial do pagamento, mostra somente o card custom */
body.woocommerce-checkout #payment ul.payment_methods{
  position:absolute !important;
  left:-10000px !important;
  width:1px !important;
  height:1px !important;
  opacity:0 !important;
  overflow:hidden !important;
  pointer-events:none !important;
}

body.woocommerce-checkout .rdsm-payment-v107{
  display:flex !important;
  flex-direction:column !important;
  gap:18px !important;
}

body.woocommerce-checkout .rdsm-payment-card-v107{
  min-height:62px !important;
  display:flex !important;
  align-items:center !important;
  gap:13px !important;
  border:1px solid rgba(18,207,255,.88) !important;
  background:rgba(6,13,36,.50) !important;
  border-radius:14px !important;
  padding:13px 16px !important;
}

body.woocommerce-checkout .rdsm-pix-icon-v107{
  width:42px !important;
  height:42px !important;
  border-radius:10px !important;
  flex:0 0 42px !important;
  background:rgba(0,0,0,.56) url("../images/pix-logo-v103.png") center / 27px 27px no-repeat !important;
  border:1px solid rgba(18,207,255,.22) !important;
}

body.woocommerce-checkout .rdsm-place-order-v107{
  display:block !important;
  width:100% !important;
  height:58px !important;
  border:0 !important;
  border-radius:12px !important;
  background:#168cff !important;
  color:#fff !important;
  font-size:16px !important;
  font-weight:900 !important;
  cursor:pointer !important;
}

/* Botão oficial continua escondido, pois o custom dispara ele */
body.woocommerce-checkout #payment .place-order{
  position:absolute !important;
  left:-10000px !important;
  width:1px !important;
  height:1px !important;
  opacity:0 !important;
  pointer-events:none !important;
}

/* CPF/CNPJ: somente números e até 14 */
body.woocommerce-checkout input[data-rdsm-v107-cpf]{
  max-length:14 !important;
}


/* v111 — checkout/pagamento limpo, notices deduplicadas, carrinho instantâneo */

/* Placeholder correto do CPF/CNPJ e campo sempre digitável */
body.woocommerce-checkout input[data-rdsm-v107-cpf],
body.woocommerce-checkout input[data-v106-cpf],
body.woocommerce-checkout input[data-v104-cpf]{
  pointer-events:auto !important;
  user-select:auto !important;
  -webkit-user-select:auto !important;
  cursor:text !important;
}

/* Esconde a segunda área custom de Pix/pagamento criada anteriormente.
   Fica somente a área superior/oficial que está funcionando. */
body.woocommerce-checkout .rdsm-payment-v107,
body.woocommerce-checkout .rdsm-payment-v106,
body.woocommerce-checkout .rdsm-place-order-v107,
body.woocommerce-checkout .rdsm-place-order-v106{
  display:none !important;
  visibility:hidden !important;
  opacity:0 !important;
  height:0 !important;
  min-height:0 !important;
  overflow:hidden !important;
  pointer-events:none !important;
}

/* Mantém a área oficial de Pix e o botão oficial visíveis */
body.woocommerce-checkout #payment ul.payment_methods,
body.woocommerce-checkout #payment ul.payment_methods li,
body.woocommerce-checkout #payment .place-order,
body.woocommerce-checkout #payment #place_order{
  display:block !important;
  visibility:visible !important;
  opacity:1 !important;
  position:relative !important;
  left:auto !important;
  top:auto !important;
  width:auto !important;
  height:auto !important;
  min-height:0 !important;
  overflow:visible !important;
  pointer-events:auto !important;
}

body.woocommerce-checkout #payment ul.payment_methods li{
  display:flex !important;
  align-items:center !important;
}

/* Some com o retângulo/campo fantasma dentro do Pix */
body.woocommerce-checkout #payment .payment_box,
body.woocommerce-checkout #payment .payment_box *,
body.woocommerce-checkout #payment input:not([type="radio"]):not(#place_order),
body.woocommerce-checkout #payment select,
body.woocommerce-checkout #payment textarea{
  position:absolute !important;
  left:-10000px !important;
  top:auto !important;
  width:1px !important;
  height:1px !important;
  min-width:1px !important;
  min-height:1px !important;
  max-width:1px !important;
  max-height:1px !important;
  padding:0 !important;
  margin:0 !important;
  border:0 !important;
  opacity:0 !important;
  visibility:hidden !important;
  pointer-events:none !important;
  overflow:hidden !important;
}

/* Corrige o botão oficial */
body.woocommerce-checkout #payment #place_order,
body.woocommerce-checkout #place_order{
  width:100% !important;
  height:58px !important;
  border:0 !important;
  border-radius:12px !important;
  background:#168cff !important;
  color:#fff !important;
  font-size:16px !important;
  font-weight:900 !important;
  cursor:pointer !important;
  margin-top:16px !important;
}

/* Badge Pagamento seguro ao lado do título do resumo */
body.woocommerce-checkout #order_review{
  position:relative !important;
}

body.woocommerce-checkout .rdsm-checkout-cart-secure{
  position:absolute !important;
  right:28px !important;
  top:28px !important;
  z-index:5 !important;
  pointer-events:none !important;
  transform:none !important;
}

/* Garante que não sobreponha os controles do item */
body.woocommerce-checkout #order_review::before{
  padding-right:180px !important;
}

/* Notices: remove visual quebrado e deixa só uma lista limpa */
body.woocommerce-checkout .woocommerce-error,
body.woocommerce-checkout .woocommerce-message,
body.woocommerce-checkout .woocommerce-info{
  display:block !important;
  width:100% !important;
  margin:0 0 16px !important;
  padding:14px 18px !important;
  border-radius:14px !important;
  background:rgba(255,45,85,.12) !important;
  border:1px solid rgba(255,255,255,.86) !important;
  color:#fff !important;
  list-style:none !important;
  box-shadow:none !important;
}

body.woocommerce-checkout .woocommerce-error li[hidden],
body.woocommerce-checkout .woocommerce-error li.rdsm-duplicate-notice{
  display:none !important;
}

/* Carrinho lateral fora do checkout: instantâneo, sem animação */
.rdsm-cart-item,
.rdsm-cart-item *,
.rdsm-cart-qty,
.rdsm-cart-item-info span,
.rdsm-cart-summary strong{
  transition:none !important;
  animation:none !important;
}

.rdsm-cart-item.rdsm-instant-removing{
  display:none !important;
}

.rdsm-cart-item.rdsm-instant-pending{
  opacity:1 !important;
}



/* v112 — ajustes finais: badge, placeholders, cor dos botões, imagens inteiras e carrinho lateral instantâneo */

/* Pagamento seguro preso ao lado do título, sem sobrepor produto/controles */
body.woocommerce-checkout #order_review{
  position:relative !important;
}

body.woocommerce-checkout .rdsm-checkout-cart-secure{
  position:absolute !important;
  top:31px !important;
  left:236px !important;
  right:auto !important;
  transform:none !important;
  z-index:8 !important;
  pointer-events:none !important;
  white-space:nowrap !important;
}

body.woocommerce-checkout #order_review::before{
  padding-right:0 !important;
  margin-bottom:32px !important;
}

/* Placeholder das infos do cliente 50% transparente */
body.woocommerce-checkout .rdsm-contact-field-v107 input::placeholder,
body.woocommerce-checkout .rdsm-contact-field-v106 input::placeholder,
body.woocommerce-checkout .rdsm-contact-field input::placeholder,
body.woocommerce-checkout input.input-text::placeholder,
body.woocommerce-checkout input[type="text"]::placeholder,
body.woocommerce-checkout input[type="email"]::placeholder,
body.woocommerce-checkout input[type="tel"]::placeholder{
  color:rgba(255,255,255,.50) !important;
  opacity:1 !important;
}

/* Cor anexada nos botões principais */
body.woocommerce-checkout .rdsm-place-order-v107,
body.woocommerce-checkout .rdsm-place-order-v106,
body.woocommerce-checkout #place_order,
body.woocommerce-checkout #payment #place_order,
body.woocommerce-checkout .rdsm-checkout-coupon button,
body.woocommerce-checkout .rdsm-coupon-v107 button,
body.woocommerce-checkout .rdsm-coupon-v106 button,
body.woocommerce-checkout [data-rdsm-v107-coupon-btn],
body.woocommerce-checkout [data-v106-coupon-btn],
.rdsm-global-cart-btn:hover,
body.rdsm-cart-open .rdsm-global-cart-btn{
  background:#168cff !important;
  background-color:#168cff !important;
  color:#fff !important;
}

/* Quando cupom está aplicado, mantém botão Remover em azul também */
body.woocommerce-checkout .rdsm-coupon-v107.rdsm-coupon-applied button,
body.woocommerce-checkout .rdsm-coupon-v106.rdsm-coupon-applied button{
  background:#168cff !important;
  background-color:#168cff !important;
  color:#fff !important;
}

/* Imagem do produto inteira no carrinho do checkout */
body.woocommerce-checkout .rdsm-checkout-cart-item img{
  object-fit:contain !important;
  background:#060d24 !important;
  width:56px !important;
  height:56px !important;
  padding:0 !important;
}

/* Carrinho fora do checkout: sem animação real, sem fade após backend */
.rdsm-cart-items.rdsm-loaded .rdsm-cart-item,
.rdsm-cart-items .rdsm-cart-item,
.rdsm-cart-item,
.rdsm-cart-item *,
.rdsm-cart-qty,
.rdsm-cart-item-info span,
.rdsm-cart-summary,
.rdsm-cart-summary *,
.rdsm-cart-total,
[data-rdsm-cart-total],
[data-rdsm-cart-count],
[data-rdsm-cart-total-items]{
  transition:none !important;
  animation:none !important;
}

.rdsm-cart-item.rdsm-instant-removing{
  display:none !important;
}

.rdsm-cart-item.rdsm-instant-pending{
  opacity:1 !important;
  transform:none !important;
}

/* Remove loading/fade visual durante atualizações do carrinho lateral */
.rdsm-cart-items.rdsm-loading::before{
  display:none !important;
}

.rdsm-cart-items.rdsm-loading > *{
  opacity:1 !important;
}

@media(max-width:720px){
  body.woocommerce-checkout .rdsm-checkout-cart-secure{
    position:static !important;
    display:inline-flex !important;
    width:max-content !important;
    margin:-10px 0 16px !important;
  }

  body.woocommerce-checkout #order_review::before{
    margin-bottom:12px !important;
  }
}


/* v113 — checkout visual/fade/background + imagens inteiras + single product 30% maior */

/* Checkout com o mesmo background da Home */
body.woocommerce-checkout,
body.woocommerce-checkout.woocommerce-page{
  background:
    linear-gradient(180deg, rgba(2,6,18,.60), rgba(2,6,18,.64)),
    radial-gradient(circle at 50% 20%, rgba(22,140,255,.12), transparent 42%),
    url("../images/home-bg-v58.webp") center center / cover no-repeat fixed,
    #030713 !important;
}

/* Remove 100% o "Pagamento seguro" */
body.woocommerce-checkout .rdsm-checkout-cart-secure,
body.woocommerce-checkout .rdsm-checkout-cart-secure::before,
body.woocommerce-checkout .rdsm-checkout-cart-secure::after{
  display:none !important;
  visibility:hidden !important;
  opacity:0 !important;
  width:0 !important;
  height:0 !important;
  overflow:hidden !important;
  pointer-events:none !important;
}

body.woocommerce-checkout #order_review::before{
  padding-right:0 !important;
  margin-bottom:24px !important;
}

/* Fade-in geral dos elementos do checkout, sem animar alteração de quantidade */
body.woocommerce-checkout #customer_details,
body.woocommerce-checkout #payment,
body.woocommerce-checkout #order_review{
  animation: rdsmCheckoutPanelFadeV113 .42s cubic-bezier(.16,1,.3,1) both !important;
}

body.woocommerce-checkout #payment{
  animation-delay:.06s !important;
}

body.woocommerce-checkout #order_review{
  animation-delay:.12s !important;
}

body.woocommerce-checkout .rdsm-contact-v107,
body.woocommerce-checkout .rdsm-payment-v107,
body.woocommerce-checkout .rdsm-checkout-cart-v107,
body.woocommerce-checkout .rdsm-checkout-cart-item,
body.woocommerce-checkout .rdsm-checkout-coupon,
body.woocommerce-checkout .rdsm-checkout-totals{
  animation: rdsmCheckoutItemFadeV113 .32s cubic-bezier(.16,1,.3,1) both !important;
}

@keyframes rdsmCheckoutPanelFadeV113{
  from{ opacity:0; transform:translate3d(0,10px,0); }
  to{ opacity:1; transform:translate3d(0,0,0); }
}

@keyframes rdsmCheckoutItemFadeV113{
  from{ opacity:0; transform:translate3d(0,6px,0); }
  to{ opacity:1; transform:translate3d(0,0,0); }
}

/* Mas alterações de quantidade continuam secas/instantâneas */
body.woocommerce-checkout .rdsm-checkout-cart-item *,
body.woocommerce-checkout .rdsm-checkout-total-row,
body.woocommerce-checkout .rdsm-checkout-total-row *{
  transition:none !important;
}

/* Produto do carrinho do checkout: imagem inteira, proporção real, sem box quadrado limitando */
body.woocommerce-checkout .rdsm-checkout-cart-item{
  grid-template-columns:auto minmax(0,1fr) auto auto !important;
  align-items:center !important;
}

body.woocommerce-checkout .rdsm-checkout-cart-item img{
  width:86px !important;
  height:auto !important;
  max-width:96px !important;
  max-height:none !important;
  aspect-ratio:auto !important;
  object-fit:contain !important;
  background:transparent !important;
  border:0 !important;
  border-radius:8px !important;
  padding:0 !important;
}

/* Hover do botão de cupom */
body.woocommerce-checkout .rdsm-checkout-coupon button,
body.woocommerce-checkout .rdsm-coupon-v107 button,
body.woocommerce-checkout [data-rdsm-v107-coupon-btn]{
  transition:filter .16s ease, transform .16s ease, box-shadow .16s ease !important;
}

body.woocommerce-checkout .rdsm-checkout-coupon button:hover,
body.woocommerce-checkout .rdsm-coupon-v107 button:hover,
body.woocommerce-checkout [data-rdsm-v107-coupon-btn]:hover{
  filter:brightness(1.08) !important;
  transform:translateY(-1px) !important;
  box-shadow:0 12px 34px rgba(22,140,255,.24) !important;
}

/* Mensagem de cupom inválido limpa */
body.woocommerce-checkout .rdsm-checkout-coupon-msg{
  color:rgba(255,255,255,.72) !important;
  font-size:12px !important;
  min-height:18px !important;
}

body.woocommerce-checkout .rdsm-checkout-coupon-msg.rdsm-coupon-error{
  color:#ff6b85 !important;
}

/* Página individual de produto 30% maior */
@media(min-width: 901px){
  .rdsm-single-product-root .rdsm-single-layout{
    zoom:1.3 !important;
    width:calc(100% / 1.3) !important;
    max-width:calc(1180px / 1.3) !important;
    margin-left:auto !important;
    margin-right:auto !important;
  }

  .rdsm-single-product-root{
    padding-bottom:120px !important;
  }
}

/* Fallback para navegadores sem zoom */
@supports not (zoom: 1.3){
  @media(min-width: 901px){
    .rdsm-single-product-root .rdsm-single-layout{
      transform:scale(1.3) !important;
      transform-origin:top center !important;
      width:calc(100% / 1.3) !important;
      margin-bottom:220px !important;
    }
  }
}


/* v114 — corrige a cagada do tamanho da página individual.
   A v113 usou zoom + width reduzida, o que deixou a página parecendo menor/espremida.
   Aqui o zoom é removido e os elementos são aumentados de verdade. */

@media(min-width: 901px){
  .rdsm-single-product-root .rdsm-single-layout{
    zoom:1 !important;
    transform:none !important;
    transform-origin:initial !important;
    width:min(1500px, calc(100vw - 72px)) !important;
    max-width:1500px !important;
    margin-left:auto !important;
    margin-right:auto !important;
    grid-template-columns:minmax(360px,.88fr) minmax(620px,1.12fr) !important;
    gap:34px !important;
  }

  .rdsm-single-product-root{
    padding-top:max(126px, 7.8vw) !important;
    padding-left:28px !important;
    padding-right:28px !important;
    padding-bottom:130px !important;
  }

  .rdsm-single-left,
  .rdsm-single-right{
    gap:18px !important;
  }

  .rdsm-single-media-panel{
    padding:18px !important;
    border-radius:18px !important;
  }

  .rdsm-single-image,
  .rdsm-single-image img{
    width:100% !important;
  }

  .rdsm-single-description-card{
    padding:24px !important;
    border-radius:18px !important;
  }

  .rdsm-single-description-card h2{
    font-size:26px !important;
    line-height:1.12 !important;
    margin-bottom:20px !important;
  }

  .rdsm-single-description-content{
    font-size:18px !important;
    line-height:1.72 !important;
  }

  .rdsm-single-description-content p,
  .rdsm-single-description-content li{
    margin-bottom:14px !important;
  }

  .rdsm-single-purchase-box{
    padding:22px !important;
    border-radius:18px !important;
  }

  .rdsm-single-purchase-head{
    min-height:64px !important;
    padding:0 16px !important;
  }

  .rdsm-single-purchase-head strong,
  .rdsm-single-purchase-head .rdsm-single-head-price,
  .rdsm-single-head-price{
    font-size:17px !important;
  }

  .rdsm-single-qty-label,
  .rdsm-single-total-label{
    font-size:16px !important;
  }

  .rdsm-single-qty{
    gap:12px !important;
  }

  .rdsm-single-qty button{
    width:52px !important;
    height:52px !important;
    border-radius:12px !important;
    font-size:21px !important;
  }

  .rdsm-single-qty input{
    height:52px !important;
    font-size:18px !important;
    border-radius:12px !important;
  }

  .rdsm-single-total-row strong{
    font-size:24px !important;
  }

  .rdsm-single-actions{
    gap:14px !important;
  }

  .rdsm-single-btn{
    height:58px !important;
    border-radius:999px !important;
    font-size:17px !important;
  }

  .rdsm-single-feedbacks-card{
    min-height:545px !important;
    padding:24px !important;
    border-radius:18px !important;
  }

  .rdsm-single-feedbacks-head{
    margin-bottom:18px !important;
  }

  .rdsm-single-feedbacks-head span{
    font-size:26px !important;
  }

  .rdsm-feedbacks-avg,
  .rdsm-single-feedbacks-head strong.rdsm-feedbacks-avg{
    font-size:21px !important;
  }

  .rdsm-single-feedback-carousel.rdsm-single-feedback-layers{
    height:465px !important;
    gap:16px !important;
  }

  .rdsm-single-feedback-layer{
    height:145px !important;
  }

  .rdsm-single-feedback-layer .rdsm-single-feedback-track{
    height:145px !important;
    gap:16px !important;
  }

  .rdsm-single-feedback-card{
    width:350px !important;
    min-width:350px !important;
    height:145px !important;
    padding:17px !important;
    border-radius:16px !important;
  }

  .rdsm-single-feedback-card strong,
  .rdsm-single-feedback-card b{
    font-size:15px !important;
  }

  .rdsm-single-feedback-card p{
    font-size:15px !important;
    line-height:1.35 !important;
    -webkit-line-clamp:3 !important;
  }

  .rdsm-single-feedback-card small{
    font-size:13px !important;
  }
}

/* Corrige especificamente o bloco v113 que dividia a largura por 1.3 */
@media(min-width: 901px){
  .rdsm-single-product-root .rdsm-single-layout{
    width:min(1500px, calc(100vw - 72px)) !important;
    max-width:1500px !important;
  }
}


/* v115 — força o background da Home no checkout, sem ficar all black */
html:has(body.woocommerce-checkout),
body.woocommerce-checkout,
body.woocommerce-checkout.woocommerce-page{
  background-color:#030713 !important;
  background-image:
    linear-gradient(180deg, rgba(2,6,18,.60), rgba(2,6,18,.68)),
    radial-gradient(circle at 50% 18%, rgba(22,140,255,.14), transparent 44%),
    url("../images/home-bg-v58.webp") !important;
  background-size:cover, cover, cover !important;
  background-position:center center, center center, center center !important;
  background-repeat:no-repeat, no-repeat, no-repeat !important;
  background-attachment:fixed, fixed, fixed !important;
}

/* Camada extra, porque alguns temas/containers limpam o background do body no checkout */
body.woocommerce-checkout::before{
  content:"" !important;
  position:fixed !important;
  inset:0 !important;
  z-index:0 !important;
  pointer-events:none !important;
  background:
    linear-gradient(180deg, rgba(2,6,18,.60), rgba(2,6,18,.68)),
    radial-gradient(circle at 50% 18%, rgba(22,140,255,.14), transparent 44%),
    url("../images/home-bg-v58.webp") center center / cover no-repeat !important;
}

/* Garante que o conteúdo fique acima da camada de fundo */
body.woocommerce-checkout .rdsm-global-header,
body.woocommerce-checkout .woocommerce,
body.woocommerce-checkout form.checkout,
body.woocommerce-checkout .rdsm-global-footer,
body.woocommerce-checkout .rdsm-cart-drawer,
body.woocommerce-checkout .rdsm-cart-overlay{
  position:relative !important;
  z-index:1 !important;
}

/* Remove fundos pretos de wrappers comuns da página/tema só no checkout */
body.woocommerce-checkout #page,
body.woocommerce-checkout .site,
body.woocommerce-checkout .site-content,
body.woocommerce-checkout .content-area,
body.woocommerce-checkout main,
body.woocommerce-checkout article,
body.woocommerce-checkout .entry-content,
body.woocommerce-checkout .wp-site-blocks,
body.woocommerce-checkout .elementor,
body.woocommerce-checkout .elementor-section,
body.woocommerce-checkout .elementor-container,
body.woocommerce-checkout .elementor-widget-container{
  background:transparent !important;
  background-color:transparent !important;
}


/* v116 — checkout com background contínuo de verdade.
   Corrige a área preta em cima e evita parecer que começa outra página abaixo. */

/* Remove a camada pseudo da v115 que podia ficar atrás de wrappers pretos do tema */
body.woocommerce-checkout::before{
  display:none !important;
  content:none !important;
}

/* Background aplicado no HTML, BODY e wrappers reais da página.
   Assim, se algum wrapper do tema/Elementor estiver cobrindo a tela, ele também recebe o fundo. */
html:has(body.woocommerce-checkout),
body.woocommerce-checkout,
body.woocommerce-checkout.woocommerce-page,
body.woocommerce-checkout #page,
body.woocommerce-checkout .site,
body.woocommerce-checkout .site-content,
body.woocommerce-checkout .content-area,
body.woocommerce-checkout main,
body.woocommerce-checkout article,
body.woocommerce-checkout .entry-content,
body.woocommerce-checkout .wp-site-blocks,
body.woocommerce-checkout .elementor,
body.woocommerce-checkout .elementor-section,
body.woocommerce-checkout .elementor-container,
body.woocommerce-checkout .elementor-widget-wrap,
body.woocommerce-checkout .elementor-widget-container,
body.woocommerce-checkout .woocommerce{
  background-color:#030713 !important;
  background-image:
    linear-gradient(180deg, rgba(2,6,18,.60), rgba(2,6,18,.70)),
    radial-gradient(circle at 50% 18%, rgba(22,140,255,.14), transparent 44%),
    url("../images/home-bg-v58.webp") !important;
  background-size:cover, cover, cover !important;
  background-position:center center, center center, center center !important;
  background-repeat:no-repeat, no-repeat, no-repeat !important;
  background-attachment:fixed, fixed, fixed !important;
}

/* O formulário em si fica transparente para aparecer o background atrás dos cards */
body.woocommerce-checkout form.checkout,
body.woocommerce-checkout .rdsm-checkout-left,
body.woocommerce-checkout .rdsm-checkout-left-v107,
body.woocommerce-checkout .rdsm-checkout-right,
body.woocommerce-checkout .rdsm-checkout-right-v107{
  background:transparent !important;
  background-color:transparent !important;
}

/* Garante que o checkout comece abaixo do header e não fique com buraco preto */
body.woocommerce-checkout .woocommerce{
  display:block !important;
  visibility:visible !important;
  opacity:1 !important;
  width:min(1180px, calc(100% - 40px)) !important;
  margin:0 auto !important;
  padding:132px 0 80px !important;
  min-height:calc(100vh - 120px) !important;
}

/* Header no checkout sempre por cima */
body.woocommerce-checkout .rdsm-global-header{
  display:flex !important;
  visibility:visible !important;
  opacity:1 !important;
  z-index:99990 !important;
}

/* Footer continua depois do conteúdo, mas sem parecer uma segunda página */
body.woocommerce-checkout .rdsm-global-footer{
  margin-top:0 !important;
  position:relative !important;
  z-index:2 !important;
}

/* Garante que drawer do carrinho não empurre/crie sensação de nova página */
body.woocommerce-checkout .rdsm-cart-overlay{
  position:fixed !important;
  z-index:99991 !important;
}

body.woocommerce-checkout .rdsm-cart-drawer{
  position:fixed !important;
  z-index:99992 !important;
}

/* Cards do checkout continuam com o glass por cima do fundo */
body.woocommerce-checkout #customer_details,
body.woocommerce-checkout #payment,
body.woocommerce-checkout #order_review{
  background:
    linear-gradient(180deg, rgba(7,17,40,.78), rgba(7,13,36,.68)) !important;
  border:1px solid rgba(88,124,185,.30) !important;
  box-shadow:
    0 20px 62px rgba(0,0,0,.30),
    inset 0 1px 0 rgba(255,255,255,.055) !important;
}

/* Remove qualquer bloco preto absoluto que o tema tente pôr no checkout */
body.woocommerce-checkout .page,
body.woocommerce-checkout .hentry,
body.woocommerce-checkout .entry,
body.woocommerce-checkout .page-content{
  background:transparent !important;
  background-color:transparent !important;
}


/* v117 — checkout: background full-screen real + header no topo + sem "segunda página" */

/* Cancela a aplicação do background dentro do container estreito .woocommerce feita na v116 */
body.woocommerce-checkout .woocommerce,
body.woocommerce-checkout form.checkout,
body.woocommerce-checkout .rdsm-checkout-left,
body.woocommerce-checkout .rdsm-checkout-left-v107,
body.woocommerce-checkout .rdsm-checkout-right,
body.woocommerce-checkout .rdsm-checkout-right-v107{
  background:transparent !important;
  background-color:transparent !important;
  background-image:none !important;
  background-attachment:initial !important;
}

/* O fundo agora é uma camada fixa de verdade, cobrindo a tela inteira */
body.woocommerce-checkout .rdsm-checkout-bg-layer{
  display:block !important;
  position:fixed !important;
  inset:0 !important;
  z-index:0 !important;
  pointer-events:none !important;
  background:
    linear-gradient(180deg, rgba(2,6,18,.60), rgba(2,6,18,.70)),
    radial-gradient(circle at 50% 18%, rgba(22,140,255,.14), transparent 44%),
    url("../images/home-bg-v58.webp") center center / cover no-repeat !important;
}

/* Qualquer wrapper do tema fica transparente, para a camada fixa aparecer */
html:has(body.woocommerce-checkout),
body.woocommerce-checkout,
body.woocommerce-checkout.woocommerce-page,
body.woocommerce-checkout #page,
body.woocommerce-checkout .site,
body.woocommerce-checkout .site-content,
body.woocommerce-checkout .content-area,
body.woocommerce-checkout main,
body.woocommerce-checkout article,
body.woocommerce-checkout .entry-content,
body.woocommerce-checkout .wp-site-blocks,
body.woocommerce-checkout .elementor,
body.woocommerce-checkout .elementor-section,
body.woocommerce-checkout .elementor-container,
body.woocommerce-checkout .elementor-widget-wrap,
body.woocommerce-checkout .elementor-widget-container{
  background:transparent !important;
  background-color:transparent !important;
  background-image:none !important;
}

/* Garante que o conteúdo fique acima do background */
body.woocommerce-checkout .rdsm-global-header,
body.woocommerce-checkout .woocommerce,
body.woocommerce-checkout form.checkout,
body.woocommerce-checkout .rdsm-global-footer,
body.woocommerce-checkout .rdsm-cart-drawer,
body.woocommerce-checkout .rdsm-cart-overlay{
  z-index:2 !important;
}

/* Header do checkout fica no topo, não lá embaixo antes do footer */
body.woocommerce-checkout .rdsm-global-header{
  position:absolute !important;
  top:0 !important;
  left:0 !important;
  right:0 !important;
  width:100% !important;
  display:flex !important;
  visibility:visible !important;
  opacity:1 !important;
  z-index:50 !important;
  margin:0 !important;
}

/* O checkout começa abaixo do header */
body.woocommerce-checkout .woocommerce{
  position:relative !important;
  display:block !important;
  visibility:visible !important;
  opacity:1 !important;
  width:min(1180px, calc(100% - 40px)) !important;
  margin:0 auto !important;
  padding:132px 0 48px !important;
  min-height:0 !important;
}

/* Remove o buraco preto antes do footer */
body.woocommerce-checkout form.checkout{
  margin-bottom:0 !important;
  padding-bottom:0 !important;
}

body.woocommerce-checkout .rdsm-global-footer{
  position:relative !important;
  z-index:2 !important;
  margin-top:0 !important;
  background-color:rgba(6,13,36,.40) !important;
}

/* Footer também deixa o background aparecer por trás */
body.woocommerce-checkout .rdsm-global-footer::before{
  background:transparent !important;
}

/* Carrinho lateral continua fixo e não empurra a página */
body.woocommerce-checkout .rdsm-cart-overlay{
  position:fixed !important;
  z-index:99991 !important;
}

body.woocommerce-checkout .rdsm-cart-drawer{
  position:fixed !important;
  z-index:99992 !important;
}

/* Evita barras/áreas pretas de wrappers com altura extra */
body.woocommerce-checkout .page,
body.woocommerce-checkout .hentry,
body.woocommerce-checkout .entry,
body.woocommerce-checkout .page-content{
  background:transparent !important;
  background-color:transparent !important;
  min-height:0 !important;
}

/* Se o header foi movido para o início pelo JS, mantém layout igual */
body.woocommerce-checkout > .rdsm-global-header{
  order:initial !important;
}

@media(max-width:900px){
  body.woocommerce-checkout .woocommerce{
    width:min(100% - 28px, 100%) !important;
    padding-top:118px !important;
  }
}


/* v118 — correção: checkout background real, busca bugada, produto individual centralizado */

/* Checkout: background full-screen por pseudo :after, independente do JS e sem corte */
html:has(body.woocommerce-checkout),
body.woocommerce-checkout,
body.woocommerce-checkout.woocommerce-page{
  min-height:100% !important;
  background:#030713 !important;
  background-image:
    linear-gradient(180deg, rgba(2,6,18,.58), rgba(2,6,18,.70)),
    radial-gradient(circle at 50% 18%, rgba(22,140,255,.14), transparent 44%),
    url("../images/home-bg-v58.webp") !important;
  background-size:cover, cover, cover !important;
  background-position:center center, center center, center center !important;
  background-repeat:no-repeat, no-repeat, no-repeat !important;
  background-attachment:fixed, fixed, fixed !important;
}

body.woocommerce-checkout::before{
  display:none !important;
  content:none !important;
}

body.woocommerce-checkout::after{
  content:"" !important;
  position:fixed !important;
  inset:0 !important;
  z-index:0 !important;
  pointer-events:none !important;
  background:
    linear-gradient(180deg, rgba(2,6,18,.58), rgba(2,6,18,.70)),
    radial-gradient(circle at 50% 18%, rgba(22,140,255,.14), transparent 44%),
    url("../images/home-bg-v58.webp") center center / cover no-repeat !important;
}

/* Conteúdo acima do background */
body.woocommerce-checkout > *:not(.rdsm-checkout-bg-layer),
body.woocommerce-checkout .woocommerce,
body.woocommerce-checkout form.checkout,
body.woocommerce-checkout .rdsm-global-header,
body.woocommerce-checkout .rdsm-global-footer,
body.woocommerce-checkout .rdsm-cart-drawer,
body.woocommerce-checkout .rdsm-cart-overlay{
  position:relative !important;
  z-index:2 !important;
}

/* Remove fundo preto dos wrappers do tema/Elementor sem aplicar background cortado neles */
body.woocommerce-checkout #page,
body.woocommerce-checkout .site,
body.woocommerce-checkout .site-content,
body.woocommerce-checkout .content-area,
body.woocommerce-checkout main,
body.woocommerce-checkout article,
body.woocommerce-checkout .entry-content,
body.woocommerce-checkout .wp-site-blocks,
body.woocommerce-checkout .elementor,
body.woocommerce-checkout .elementor-section,
body.woocommerce-checkout .elementor-container,
body.woocommerce-checkout .elementor-widget-wrap,
body.woocommerce-checkout .elementor-widget-container,
body.woocommerce-checkout .woocommerce{
  background:transparent !important;
  background-color:transparent !important;
  background-image:none !important;
}

/* Some com a área de pesquisa bugada do tema no checkout */
body.woocommerce-checkout .search-form,
body.woocommerce-checkout form.search-form,
body.woocommerce-checkout #searchform,
body.woocommerce-checkout .wp-block-search,
body.woocommerce-checkout .elementor-search-form,
body.woocommerce-checkout .site-search,
body.woocommerce-checkout .header-search,
body.woocommerce-checkout .ast-search-menu-icon,
body.woocommerce-checkout .aws-container,
body.woocommerce-checkout .dgwt-wcas-search-wrapp,
body.woocommerce-checkout .is-search-form,
body.woocommerce-checkout .search-field,
body.woocommerce-checkout input[type="search"]{
  display:none !important;
  visibility:hidden !important;
  opacity:0 !important;
  pointer-events:none !important;
  width:0 !important;
  height:0 !important;
  overflow:hidden !important;
}

/* Header no checkout: topo real, sem ficar no meio da página */
body.woocommerce-checkout .rdsm-global-header{
  position:absolute !important;
  top:0 !important;
  left:0 !important;
  right:0 !important;
  width:100% !important;
  display:flex !important;
  visibility:visible !important;
  opacity:1 !important;
  z-index:50 !important;
  margin:0 !important;
}

/* Checkout não cria área preta antes/depois */
body.woocommerce-checkout .woocommerce{
  width:min(1180px, calc(100% - 40px)) !important;
  margin:0 auto !important;
  padding:132px 0 48px !important;
  min-height:0 !important;
}

/* Produto individual: corrigir deslocamento para a direita e manter centralizado */
@media(min-width: 901px){
  .rdsm-single-product-root{
    overflow-x:hidden !important;
    padding-left:24px !important;
    padding-right:24px !important;
  }

  .rdsm-single-product-root .rdsm-single-layout{
    zoom:1 !important;
    transform:none !important;
    left:auto !important;
    right:auto !important;
    width:min(1260px, calc(100vw - 56px)) !important;
    max-width:1260px !important;
    margin-left:auto !important;
    margin-right:auto !important;
    grid-template-columns:minmax(0, .98fr) minmax(440px, 1.02fr) !important;
    gap:30px !important;
    justify-content:center !important;
    align-items:start !important;
  }

  .rdsm-single-left,
  .rdsm-single-right{
    min-width:0 !important;
    width:100% !important;
  }

  .rdsm-single-buy-panel{
    max-width:100% !important;
  }

  .rdsm-single-purchase-box,
  .rdsm-single-feedbacks-card{
    max-width:100% !important;
    overflow:hidden !important;
  }
}

@media(min-width: 1400px){
  .rdsm-single-product-root .rdsm-single-layout{
    width:min(1320px, calc(100vw - 80px)) !important;
    max-width:1320px !important;
  }
}


/* v119 — checkout: remove fundo preto sobreposto, background real e carrinho sem criar segunda página */

/* Background fixo real, na frente do body preto, mas atrás do checkout */
body.woocommerce-checkout .rdsm-checkout-bg-layer{
  display:block !important;
  position:fixed !important;
  inset:0 !important;
  z-index:0 !important;
  pointer-events:none !important;
  background:
    linear-gradient(180deg, rgba(2,6,18,.58), rgba(2,6,18,.70)),
    radial-gradient(circle at 50% 18%, rgba(22,140,255,.14), transparent 44%),
    url("../images/home-bg-v58.webp") center center / cover no-repeat !important;
}

/* O body pode ficar escuro como fallback, mas o fundo visível é a camada acima */
html:has(body.woocommerce-checkout),
body.woocommerce-checkout,
body.woocommerce-checkout.woocommerce-page{
  background:#030713 !important;
  min-height:100% !important;
}

/* Esses são os ancestrais reais do checkout marcados pelo JS.
   Remove o fundo preto que estava cobrindo o background. */
body.woocommerce-checkout .rdsm-checkout-transparent-ancestor,
body.woocommerce-checkout .rdsm-checkout-transparent-ancestor::before,
body.woocommerce-checkout .rdsm-checkout-transparent-ancestor::after{
  background:transparent !important;
  background-color:transparent !important;
  background-image:none !important;
  box-shadow:none !important;
}

/* Também remove de wrappers comuns do tema/Elementor */
body.woocommerce-checkout #page,
body.woocommerce-checkout .site,
body.woocommerce-checkout .site-content,
body.woocommerce-checkout .content-area,
body.woocommerce-checkout #content,
body.woocommerce-checkout #primary,
body.woocommerce-checkout .site-main,
body.woocommerce-checkout main,
body.woocommerce-checkout article,
body.woocommerce-checkout .entry,
body.woocommerce-checkout .entry-content,
body.woocommerce-checkout .page,
body.woocommerce-checkout .page-content,
body.woocommerce-checkout .hentry,
body.woocommerce-checkout .wp-site-blocks,
body.woocommerce-checkout .elementor,
body.woocommerce-checkout .elementor-section,
body.woocommerce-checkout .elementor-container,
body.woocommerce-checkout .elementor-widget-wrap,
body.woocommerce-checkout .elementor-widget-container,
body.woocommerce-checkout .e-con,
body.woocommerce-checkout .e-con-inner,
body.woocommerce-checkout .container,
body.woocommerce-checkout .wrap,
body.woocommerce-checkout .ast-container,
body.woocommerce-checkout .woocommerce{
  background:transparent !important;
  background-color:transparent !important;
  background-image:none !important;
}

/* Conteúdo acima do background */
body.woocommerce-checkout .woocommerce,
body.woocommerce-checkout form.checkout,
body.woocommerce-checkout .rdsm-global-header,
body.woocommerce-checkout .rdsm-global-footer{
  position:relative !important;
  z-index:2 !important;
}

/* Centralização real do checkout */
body.woocommerce-checkout .woocommerce{
  width:min(1180px, calc(100vw - 40px)) !important;
  max-width:1180px !important;
  margin-left:auto !important;
  margin-right:auto !important;
  padding-top:132px !important;
  padding-bottom:44px !important;
  min-height:0 !important;
}

body.woocommerce-checkout form.checkout{
  width:100% !important;
  max-width:1180px !important;
  margin-left:auto !important;
  margin-right:auto !important;
  justify-content:center !important;
  align-items:start !important;
  background:transparent !important;
  background-image:none !important;
}

/* Header sempre no topo do checkout */
body.woocommerce-checkout .rdsm-global-header{
  position:absolute !important;
  top:0 !important;
  left:0 !important;
  right:0 !important;
  width:100% !important;
  z-index:50 !important;
  display:flex !important;
  visibility:visible !important;
  opacity:1 !important;
  margin:0 !important;
}

/* Footer não vira outra página; fica depois do checkout e com transparência */
body.woocommerce-checkout .rdsm-global-footer{
  margin-top:0 !important;
  z-index:2 !important;
  background-color:rgba(6,13,36,.40) !important;
}

/* FIX crítico: a regra v118 deixou drawer/overlay como relative e eles entravam no fluxo da página.
   Aqui volta a ser drawer fixo de verdade. */
body.woocommerce-checkout .rdsm-cart-overlay{
  position:fixed !important;
  inset:0 !important;
  z-index:2147480600 !important;
  width:100vw !important;
  height:100vh !important;
}

body.woocommerce-checkout .rdsm-cart-drawer{
  position:fixed !important;
  top:0 !important;
  right:0 !important;
  bottom:0 !important;
  left:auto !important;
  width:min(520px, 100vw) !important;
  height:100vh !important;
  z-index:2147480700 !important;
  transform:translate3d(104%,0,0) !important;
  display:grid !important;
  grid-template-rows:62px 1fr auto !important;
}

body.woocommerce-checkout.rdsm-cart-open .rdsm-cart-drawer,
body.rdsm-cart-open.woocommerce-checkout .rdsm-cart-drawer{
  transform:translate3d(0,0,0) !important;
}

/* Garante que o drawer nunca ocupe espaço abaixo do checkout */
body.woocommerce-checkout .rdsm-cart-drawer,
body.woocommerce-checkout .rdsm-cart-overlay{
  margin:0 !important;
}

/* Busca bugada do tema no checkout */
body.woocommerce-checkout .search-form,
body.woocommerce-checkout form.search-form,
body.woocommerce-checkout #searchform,
body.woocommerce-checkout .wp-block-search,
body.woocommerce-checkout .elementor-search-form,
body.woocommerce-checkout .site-search,
body.woocommerce-checkout .header-search,
body.woocommerce-checkout .ast-search-menu-icon,
body.woocommerce-checkout .aws-container,
body.woocommerce-checkout .dgwt-wcas-search-wrapp,
body.woocommerce-checkout .is-search-form,
body.woocommerce-checkout .search-field,
body.woocommerce-checkout input[type="search"]{
  display:none !important;
  visibility:hidden !important;
  opacity:0 !important;
  pointer-events:none !important;
  width:0 !important;
  height:0 !important;
  overflow:hidden !important;
}

/* Produto individual centralizado de novo */
@media(min-width: 901px){
  .rdsm-single-product-root{
    overflow-x:hidden !important;
    padding-left:24px !important;
    padding-right:24px !important;
  }

  .rdsm-single-product-root .rdsm-single-layout{
    zoom:1 !important;
    transform:none !important;
    left:auto !important;
    right:auto !important;
    width:min(1260px, calc(100vw - 56px)) !important;
    max-width:1260px !important;
    margin-left:auto !important;
    margin-right:auto !important;
    grid-template-columns:minmax(0,.98fr) minmax(440px,1.02fr) !important;
    gap:30px !important;
    justify-content:center !important;
  }
}

@media(max-width:900px){
  body.woocommerce-checkout .woocommerce{
    width:min(100vw - 28px, 100%) !important;
    padding-top:118px !important;
  }
}


/* v120 — correção final: checkout full-bleed, background real e centralização de verdade */

/* CHECKOUT: o container Woo vira full-bleed, e o FORM fica centralizado.
   Isso elimina o bloco preto/estreito que cobria o background. */
html:has(body.woocommerce-checkout),
body.woocommerce-checkout,
body.woocommerce-checkout.woocommerce-page{
  min-height:100% !important;
  background:#030713 !important;
  overflow-x:hidden !important;
}

body.woocommerce-checkout .rdsm-checkout-bg-layer{
  display:block !important;
  position:fixed !important;
  inset:0 !important;
  width:100vw !important;
  height:100vh !important;
  z-index:0 !important;
  pointer-events:none !important;
  background:
    linear-gradient(180deg, rgba(2,6,18,.56), rgba(2,6,18,.72)),
    radial-gradient(circle at 50% 18%, rgba(22,140,255,.14), transparent 44%),
    url("../images/home-bg-v58.webp") center center / cover no-repeat !important;
}

/* Ancestrais e wrappers do checkout sem fundo próprio */
body.woocommerce-checkout .rdsm-checkout-transparent-ancestor,
body.woocommerce-checkout .rdsm-checkout-transparent-ancestor::before,
body.woocommerce-checkout .rdsm-checkout-transparent-ancestor::after,
body.woocommerce-checkout #page,
body.woocommerce-checkout #page::before,
body.woocommerce-checkout #page::after,
body.woocommerce-checkout .site,
body.woocommerce-checkout .site::before,
body.woocommerce-checkout .site::after,
body.woocommerce-checkout .site-content,
body.woocommerce-checkout .content-area,
body.woocommerce-checkout #content,
body.woocommerce-checkout #primary,
body.woocommerce-checkout .site-main,
body.woocommerce-checkout main,
body.woocommerce-checkout article,
body.woocommerce-checkout .entry,
body.woocommerce-checkout .entry-content,
body.woocommerce-checkout .page,
body.woocommerce-checkout .page-content,
body.woocommerce-checkout .hentry,
body.woocommerce-checkout .wp-site-blocks,
body.woocommerce-checkout .elementor,
body.woocommerce-checkout .elementor-section,
body.woocommerce-checkout .elementor-container,
body.woocommerce-checkout .elementor-widget-wrap,
body.woocommerce-checkout .elementor-widget-container,
body.woocommerce-checkout .e-con,
body.woocommerce-checkout .e-con-inner,
body.woocommerce-checkout .container,
body.woocommerce-checkout .wrap,
body.woocommerce-checkout .ast-container{
  background:transparent !important;
  background-color:transparent !important;
  background-image:none !important;
  box-shadow:none !important;
}

/* Woo full width, formulário centralizado no viewport */
body.woocommerce-checkout .woocommerce{
  position:relative !important;
  z-index:2 !important;
  display:block !important;
  visibility:visible !important;
  opacity:1 !important;
  width:100vw !important;
  max-width:none !important;
  min-height:0 !important;
  margin-left:calc(50% - 50vw) !important;
  margin-right:calc(50% - 50vw) !important;
  padding:132px 0 48px !important;
  background:transparent !important;
  background-color:transparent !important;
  background-image:none !important;
}

body.woocommerce-checkout form.checkout{
  position:relative !important;
  z-index:2 !important;
  width:min(1180px, calc(100vw - 40px)) !important;
  max-width:1180px !important;
  margin-left:auto !important;
  margin-right:auto !important;
  display:grid !important;
  grid-template-columns:minmax(0,.95fr) minmax(390px,1.05fr) !important;
  gap:30px !important;
  justify-content:center !important;
  align-items:start !important;
  background:transparent !important;
  background-color:transparent !important;
  background-image:none !important;
}

/* Header topo real */
body.woocommerce-checkout .rdsm-global-header{
  position:absolute !important;
  top:0 !important;
  left:0 !important;
  right:0 !important;
  width:100% !important;
  z-index:50 !important;
  display:flex !important;
  visibility:visible !important;
  opacity:1 !important;
  margin:0 !important;
}

/* Footer sem criar uma "segunda página" */
body.woocommerce-checkout .rdsm-global-footer{
  position:relative !important;
  z-index:2 !important;
  margin-top:0 !important;
  background-color:rgba(6,13,36,.40) !important;
}

/* Drawer e overlay SEMPRE fixos, nunca entram no fluxo da página */
body.woocommerce-checkout .rdsm-cart-overlay,
body .rdsm-cart-overlay{
  position:fixed !important;
  inset:0 !important;
  width:100vw !important;
  height:100vh !important;
  z-index:2147480600 !important;
}

body.woocommerce-checkout .rdsm-cart-drawer,
body .rdsm-cart-drawer{
  position:fixed !important;
  top:0 !important;
  right:0 !important;
  bottom:0 !important;
  left:auto !important;
  width:min(520px, 100vw) !important;
  height:100vh !important;
  max-height:100vh !important;
  z-index:2147480700 !important;
  display:grid !important;
  grid-template-rows:62px 1fr auto !important;
  margin:0 !important;
}

body.rdsm-cart-open .rdsm-cart-drawer{
  transform:translate3d(0,0,0) !important;
}

/* Cards continuam com o glass aprovado */
body.woocommerce-checkout #customer_details,
body.woocommerce-checkout #payment,
body.woocommerce-checkout #order_review{
  background:linear-gradient(180deg, rgba(7,17,40,.78), rgba(7,13,36,.68)) !important;
  border:1px solid rgba(88,124,185,.30) !important;
  box-shadow:0 20px 62px rgba(0,0,0,.30), inset 0 1px 0 rgba(255,255,255,.055) !important;
}

/* Remove busca bugada */
body.woocommerce-checkout .search-form,
body.woocommerce-checkout form.search-form,
body.woocommerce-checkout #searchform,
body.woocommerce-checkout .wp-block-search,
body.woocommerce-checkout .elementor-search-form,
body.woocommerce-checkout .site-search,
body.woocommerce-checkout .header-search,
body.woocommerce-checkout .ast-search-menu-icon,
body.woocommerce-checkout .aws-container,
body.woocommerce-checkout .dgwt-wcas-search-wrapp,
body.woocommerce-checkout .is-search-form,
body.woocommerce-checkout .search-field,
body.woocommerce-checkout input[type="search"]{
  display:none !important;
  visibility:hidden !important;
  opacity:0 !important;
  pointer-events:none !important;
  width:0 !important;
  height:0 !important;
  overflow:hidden !important;
}

/* PRODUTO INDIVIDUAL: centralizado no viewport, independente do container do tema/Elementor */
.rdsm-root.rdsm-single-product-root,
.rdsm-single-product-root{
  width:100vw !important;
  max-width:none !important;
  margin-left:calc(50% - 50vw) !important;
  margin-right:calc(50% - 50vw) !important;
  box-sizing:border-box !important;
  overflow-x:hidden !important;
}

@media(min-width:901px){
  .rdsm-single-product-root .rdsm-single-layout{
    zoom:1 !important;
    transform:none !important;
    left:auto !important;
    right:auto !important;
    width:min(1320px, calc(100vw - 72px)) !important;
    max-width:1320px !important;
    margin-left:auto !important;
    margin-right:auto !important;
    grid-template-columns:minmax(0, .98fr) minmax(480px, 1.02fr) !important;
    gap:30px !important;
    justify-content:center !important;
    align-items:start !important;
  }

  .rdsm-single-left,
  .rdsm-single-right{
    min-width:0 !important;
    width:100% !important;
  }
}

@media(max-width:900px){
  body.woocommerce-checkout form.checkout{
    width:min(100vw - 28px, 100%) !important;
    grid-template-columns:1fr !important;
  }

  body.woocommerce-checkout .woocommerce{
    padding-top:118px !important;
  }

  .rdsm-single-product-root .rdsm-single-layout{
    width:min(100vw - 28px, 100%) !important;
    margin-left:auto !important;
    margin-right:auto !important;
  }
}


/* v121 — polimento checkout + centralização REAL da página individual */

/* Página individual: centralização baseada no viewport, corrigindo deslocamento para a direita */
.rdsm-single-product-root{
  width:100vw !important;
  max-width:none !important;
  margin-left:calc(50% - 50vw) !important;
  margin-right:calc(50% - 50vw) !important;
  box-sizing:border-box !important;
  overflow-x:hidden !important;
  padding-left:0 !important;
  padding-right:0 !important;
}

@media(min-width:901px){
  .rdsm-single-product-root .rdsm-single-layout{
    position:relative !important;
    left:50% !important;
    right:auto !important;
    transform:translateX(-50%) !important;
    width:min(1180px, calc(100vw - 72px)) !important;
    max-width:1180px !important;
    margin-left:0 !important;
    margin-right:0 !important;
    grid-template-columns:minmax(0, .96fr) minmax(430px, 1.04fr) !important;
    gap:28px !important;
    justify-content:center !important;
    align-items:start !important;
  }

  .rdsm-single-left,
  .rdsm-single-right{
    min-width:0 !important;
    width:100% !important;
  }

  .rdsm-single-buy-panel,
  .rdsm-single-purchase-box,
  .rdsm-single-feedbacks-card{
    max-width:100% !important;
    overflow:hidden !important;
  }
}

/* Checkout 15% mais compacto, mantendo tudo visível sem precisar rolar tanto */
body.woocommerce-checkout .woocommerce{
  padding-top:104px !important;
  padding-bottom:34px !important;
}

body.woocommerce-checkout form.checkout{
  width:min(1000px, calc(100vw - 40px)) !important;
  max-width:1000px !important;
  grid-template-columns:minmax(0,.94fr) minmax(360px,1.06fr) !important;
  gap:22px !important;
}

body.woocommerce-checkout #customer_details,
body.woocommerce-checkout #payment,
body.woocommerce-checkout #order_review{
  padding:22px !important;
  border-radius:14px !important;
}

body.woocommerce-checkout #customer_details::before,
body.woocommerce-checkout #payment::before,
body.woocommerce-checkout #order_review::before{
  font-size:18px !important;
  margin-bottom:16px !important;
}

body.woocommerce-checkout .rdsm-contact-v107{
  gap:10px !important;
}

body.woocommerce-checkout .rdsm-contact-field-v107 label,
body.woocommerce-checkout .rdsm-contact-field label,
body.woocommerce-checkout .rdsm-contact-field-v106 label{
  display:none !important;
}

body.woocommerce-checkout .rdsm-contact-field-v107 input,
body.woocommerce-checkout .rdsm-contact-field input,
body.woocommerce-checkout .rdsm-contact-field-v106 input{
  height:42px !important;
  font-size:13px !important;
  border-radius:9px !important;
}

body.woocommerce-checkout .rdsm-payment-card-v107,
body.woocommerce-checkout #payment ul.payment_methods li{
  min-height:54px !important;
  border-color:#168cff !important;
  border-radius:12px !important;
  padding:11px 13px !important;
}

body.woocommerce-checkout .rdsm-pix-icon-v107,
body.woocommerce-checkout #payment ul.payment_methods li label::before{
  width:36px !important;
  height:36px !important;
  flex-basis:36px !important;
  background-size:23px 23px !important;
}

body.woocommerce-checkout .rdsm-place-order-v107,
body.woocommerce-checkout #place_order,
body.woocommerce-checkout #payment #place_order{
  height:50px !important;
  border-radius:10px !important;
  font-size:14px !important;
}

/* Botões: sem brilho/glow; só mudança leve de cor */
body.woocommerce-checkout .rdsm-place-order-v107,
body.woocommerce-checkout .rdsm-place-order-v106,
body.woocommerce-checkout #place_order,
body.woocommerce-checkout #payment #place_order,
body.woocommerce-checkout .rdsm-checkout-coupon button,
body.woocommerce-checkout .rdsm-coupon-v107 button,
body.woocommerce-checkout .rdsm-coupon-v106 button,
body.woocommerce-checkout [data-rdsm-v107-coupon-btn],
body.woocommerce-checkout [data-v106-coupon-btn]{
  background:#168cff !important;
  background-color:#168cff !important;
  color:#fff !important;
  box-shadow:none !important;
  filter:none !important;
  transform:none !important;
  transition:background-color .14s ease, color .14s ease, border-color .14s ease !important;
}

body.woocommerce-checkout .rdsm-place-order-v107:hover,
body.woocommerce-checkout .rdsm-place-order-v106:hover,
body.woocommerce-checkout #place_order:hover,
body.woocommerce-checkout #payment #place_order:hover,
body.woocommerce-checkout .rdsm-checkout-coupon button:hover,
body.woocommerce-checkout .rdsm-coupon-v107 button:hover,
body.woocommerce-checkout .rdsm-coupon-v106 button:hover,
body.woocommerce-checkout [data-rdsm-v107-coupon-btn]:hover,
body.woocommerce-checkout [data-v106-coupon-btn]:hover{
  background:#0f7fe8 !important;
  background-color:#0f7fe8 !important;
  box-shadow:none !important;
  filter:none !important;
  transform:none !important;
}

/* Cupom aplicado: borda verde e desconto verde */
body.woocommerce-checkout .rdsm-coupon-v107.rdsm-coupon-applied input,
body.woocommerce-checkout .rdsm-coupon-v106.rdsm-coupon-applied input,
body.woocommerce-checkout .rdsm-checkout-coupon.rdsm-coupon-applied input{
  border-color:#29ff7b !important;
  box-shadow:0 0 0 1px rgba(41,255,123,.32) !important;
}

body.woocommerce-checkout .rdsm-coupon-v107.rdsm-coupon-applied,
body.woocommerce-checkout .rdsm-coupon-v106.rdsm-coupon-applied,
body.woocommerce-checkout .rdsm-checkout-coupon.rdsm-coupon-applied{
  border-color:#29ff7b !important;
}

body.woocommerce-checkout .rdsm-checkout-total-row.rdsm-discount-row span,
body.woocommerce-checkout .rdsm-checkout-total-row.rdsm-discount-row strong,
body.woocommerce-checkout .rdsm-checkout-total-row:has(span[data-rdsm-discount-label]) span,
body.woocommerce-checkout .rdsm-checkout-total-row:has(span[data-rdsm-discount-label]) strong{
  color:#29ff7b !important;
}

/* Fallback: se o desconto for a segunda linha dos totais, também fica verde */
body.woocommerce-checkout .rdsm-checkout-totals .rdsm-checkout-total-row:nth-child(2):not(.final) span,
body.woocommerce-checkout .rdsm-checkout-totals .rdsm-checkout-total-row:nth-child(2):not(.final) strong{
  color:#29ff7b !important;
}

/* Borda do Pix no azul do botão */
body.woocommerce-checkout .rdsm-payment-card-v107,
body.woocommerce-checkout #payment ul.payment_methods li{
  border-color:#168cff !important;
}

/* Notices no estilo do site, sem visual bugado */
body.woocommerce-checkout .woocommerce-NoticeGroup,
body.woocommerce-checkout .woocommerce-NoticeGroup-checkout{
  width:min(1000px, calc(100vw - 40px)) !important;
  margin:0 auto 14px !important;
}

body.woocommerce-checkout .woocommerce-error,
body.woocommerce-checkout .woocommerce-message,
body.woocommerce-checkout .woocommerce-info{
  background:linear-gradient(180deg, rgba(7,17,40,.86), rgba(7,13,36,.74)) !important;
  border:1px solid rgba(22,140,255,.45) !important;
  color:#fff !important;
  border-radius:14px !important;
  padding:13px 16px !important;
  box-shadow:0 16px 42px rgba(0,0,0,.25), inset 0 1px 0 rgba(255,255,255,.05) !important;
  list-style:none !important;
}

body.woocommerce-checkout .woocommerce-error::before,
body.woocommerce-checkout .woocommerce-message::before,
body.woocommerce-checkout .woocommerce-info::before{
  display:none !important;
}

body.woocommerce-checkout .woocommerce-error li.rdsm-duplicate-notice,
body.woocommerce-checkout .woocommerce-error li[hidden],
body.woocommerce-checkout .woocommerce-message li.rdsm-duplicate-notice,
body.woocommerce-checkout .woocommerce-info li.rdsm-duplicate-notice{
  display:none !important;
}

/* Carrinho lateral: mini carregamento + fade interno ao abrir, mas sem animar troca de quantidade */
.rdsm-cart-items{
  position:relative !important;
}

.rdsm-cart-items.rdsm-cart-soft-loading::before{
  content:"" !important;
  position:absolute !important;
  top:18px !important;
  left:50% !important;
  width:22px !important;
  height:22px !important;
  margin-left:-11px !important;
  border-radius:999px !important;
  border:2px solid rgba(255,255,255,.20) !important;
  border-top-color:#168cff !important;
  animation:rdsmCartSpinV121 .65s linear infinite !important;
  z-index:5 !important;
}

.rdsm-cart-items.rdsm-cart-soft-loading > *{
  opacity:.25 !important;
}

.rdsm-cart-items.rdsm-cart-soft-ready .rdsm-cart-item,
.rdsm-cart-items.rdsm-cart-soft-ready .rdsm-cart-empty{
  animation:rdsmCartFadeV121 .22s ease both !important;
}

@keyframes rdsmCartSpinV121{
  to{ transform:rotate(360deg); }
}

@keyframes rdsmCartFadeV121{
  from{ opacity:0; transform:translateY(5px); }
  to{ opacity:1; transform:translateY(0); }
}

/* Alteração de quantidade no carrinho lateral continua instantânea, sem animação */
.rdsm-cart-item.rdsm-qty-changing,
.rdsm-cart-item.rdsm-qty-changing *,
.rdsm-cart-item.rdsm-instant-pending,
.rdsm-cart-item.rdsm-instant-pending *{
  animation:none !important;
  transition:none !important;
}

@media(max-width:900px){
  body.woocommerce-checkout form.checkout{
    width:min(100vw - 28px, 100%) !important;
    grid-template-columns:1fr !important;
  }

  body.woocommerce-checkout .woocommerce{
    padding-top:96px !important;
  }
}


/* v122 — correção final de notices, selo pagamento seguro e single product sem delay/sobreposição */

/* Notices: estilo site + lista limpa */
body.woocommerce-checkout .woocommerce-NoticeGroup,
body.woocommerce-checkout .woocommerce-NoticeGroup-checkout{
  width:min(1000px, calc(100vw - 40px)) !important;
  margin:0 auto 14px !important;
  grid-column:1 / -1 !important;
  order:-50 !important;
}

body.woocommerce-checkout .woocommerce-error,
body.woocommerce-checkout .woocommerce-message,
body.woocommerce-checkout .woocommerce-info{
  background:linear-gradient(180deg, rgba(7,17,40,.88), rgba(7,13,36,.76)) !important;
  border:1px solid rgba(22,140,255,.46) !important;
  color:#fff !important;
  border-radius:14px !important;
  padding:14px 18px !important;
  box-shadow:0 18px 46px rgba(0,0,0,.28), inset 0 1px 0 rgba(255,255,255,.06) !important;
  list-style:none !important;
  line-height:1.45 !important;
}

body.woocommerce-checkout .woocommerce-error::before,
body.woocommerce-checkout .woocommerce-message::before,
body.woocommerce-checkout .woocommerce-info::before{
  display:none !important;
}

body.woocommerce-checkout .woocommerce-error li,
body.woocommerce-checkout .woocommerce-message li,
body.woocommerce-checkout .woocommerce-info li{
  margin:0 !important;
  padding:0 !important;
}

body.woocommerce-checkout .woocommerce-error li.rdsm-duplicate-notice,
body.woocommerce-checkout .woocommerce-message li.rdsm-duplicate-notice,
body.woocommerce-checkout .woocommerce-info li.rdsm-duplicate-notice,
body.woocommerce-checkout .woocommerce-error li[hidden],
body.woocommerce-checkout .woocommerce-message li[hidden],
body.woocommerce-checkout .woocommerce-info li[hidden]{
  display:none !important;
}

/* Selo "Pagamento seguro" ao lado do título Resumo do pedido */
body.woocommerce-checkout #order_review{
  position:relative !important;
}

body.woocommerce-checkout .rdsm-order-secure-v122{
  display:inline-flex !important;
  align-items:center !important;
  gap:6px !important;
  position:absolute !important;
  top:22px !important;
  left:215px !important;
  z-index:8 !important;
  height:28px !important;
  padding:0 12px !important;
  border-radius:999px !important;
  background:rgba(0,255,194,.10) !important;
  border:1px solid rgba(0,255,194,.24) !important;
  color:#00ffc2 !important;
  font-size:12px !important;
  font-weight:850 !important;
  line-height:1 !important;
  white-space:nowrap !important;
  pointer-events:none !important;
}

body.woocommerce-checkout .rdsm-order-secure-v122 svg{
  width:12px !important;
  height:12px !important;
  fill:currentColor !important;
  flex:0 0 auto !important;
}

body.woocommerce-checkout #order_review::before{
  padding-right:180px !important;
}

/* Remove de vez os badges antigos, deixando só o novo */
body.woocommerce-checkout .rdsm-checkout-cart-secure{
  display:none !important;
  visibility:hidden !important;
  opacity:0 !important;
  pointer-events:none !important;
}

/* Single product: centralização imediata via CSS, sem depender de JS tardio */
.rdsm-single-product-root{
  width:100vw !important;
  max-width:100vw !important;
  margin-left:calc(50% - 50vw) !important;
  margin-right:calc(50% - 50vw) !important;
  padding-left:0 !important;
  padding-right:0 !important;
  overflow-x:hidden !important;
  box-sizing:border-box !important;
}

@media(min-width:901px){
  .rdsm-single-product-root .rdsm-single-layout{
    position:relative !important;
    left:auto !important;
    right:auto !important;
    transform:none !important;
    width:min(1240px, calc(100vw - 80px)) !important;
    max-width:1240px !important;
    margin-left:auto !important;
    margin-right:auto !important;
    grid-template-columns:minmax(0, .94fr) minmax(430px, 1.06fr) !important;
    gap:28px !important;
    justify-content:center !important;
    align-items:start !important;
    overflow:visible !important;
  }

  .rdsm-single-left,
  .rdsm-single-right{
    min-width:0 !important;
    width:100% !important;
  }

  .rdsm-single-purchase-box,
  .rdsm-single-feedbacks-card,
  .rdsm-single-description-card,
  .rdsm-single-media-panel{
    max-width:100% !important;
    overflow:hidden !important;
  }

  /* Corrige sobreposição interna na quantidade */
  .rdsm-single-qty{
    display:grid !important;
    grid-template-columns:54px minmax(0, 1fr) 54px !important;
    gap:10px !important;
    align-items:center !important;
    width:100% !important;
    max-width:100% !important;
  }

  .rdsm-single-qty button{
    width:54px !important;
    min-width:54px !important;
    max-width:54px !important;
    height:54px !important;
    flex:0 0 54px !important;
    position:relative !important;
    z-index:2 !important;
  }

  .rdsm-single-qty input{
    width:100% !important;
    min-width:0 !important;
    max-width:100% !important;
    height:54px !important;
    grid-column:auto !important;
    position:relative !important;
    z-index:1 !important;
    text-align:center !important;
  }

  .rdsm-single-actions{
    display:grid !important;
    grid-template-columns:1fr 1fr !important;
    gap:12px !important;
    width:100% !important;
  }

  .rdsm-single-btn{
    width:100% !important;
    min-width:0 !important;
  }
}

@media(max-width:900px){
  body.woocommerce-checkout .rdsm-order-secure-v122{
    position:static !important;
    width:max-content !important;
    margin:-6px 0 12px !important;
  }

  body.woocommerce-checkout #order_review::before{
    padding-right:0 !important;
  }
}


/* v123 — notices únicas, limpar carrinho real, produto individual sem torto/overlap */

/* Notices nativas ficam ocultas quando o resumo limpo existe */
body.woocommerce-checkout .rdsm-native-notice-hidden{
  display:none !important;
  visibility:hidden !important;
  opacity:0 !important;
  height:0 !important;
  overflow:hidden !important;
  pointer-events:none !important;
}

body.woocommerce-checkout .rdsm-clean-notice{
  width:min(1000px, calc(100vw - 40px)) !important;
  margin:0 auto 16px !important;
  padding:14px 18px !important;
  border-radius:14px !important;
  background:linear-gradient(180deg, rgba(7,17,40,.88), rgba(7,13,36,.76)) !important;
  border:1px solid rgba(22,140,255,.46) !important;
  color:#fff !important;
  box-shadow:0 18px 46px rgba(0,0,0,.28), inset 0 1px 0 rgba(255,255,255,.06) !important;
  list-style:none !important;
  line-height:1.45 !important;
  grid-column:1 / -1 !important;
  order:-60 !important;
}

body.woocommerce-checkout .rdsm-clean-notice ul{
  margin:0 !important;
  padding:0 !important;
  list-style:none !important;
}

body.woocommerce-checkout .rdsm-clean-notice li{
  margin:0 !important;
  padding:0 !important;
}

/* Limpar carrinho: estado visual instantâneo */
.rdsm-cart-items.rdsm-clearing{
  position:relative !important;
  min-height:120px !important;
}

.rdsm-cart-items.rdsm-clearing::before{
  content:"" !important;
  position:absolute !important;
  top:22px !important;
  left:50% !important;
  width:22px !important;
  height:22px !important;
  margin-left:-11px !important;
  border-radius:999px !important;
  border:2px solid rgba(255,255,255,.18) !important;
  border-top-color:#168cff !important;
  animation:rdsmCartSpinV121 .65s linear infinite !important;
}

/* Produto individual: remove qualquer deslocamento antigo e centraliza já no primeiro paint */
.rdsm-single-product-root{
  width:100vw !important;
  max-width:100vw !important;
  margin-left:calc(50% - 50vw) !important;
  margin-right:calc(50% - 50vw) !important;
  padding-left:0 !important;
  padding-right:0 !important;
  overflow-x:hidden !important;
  box-sizing:border-box !important;
}

@media(min-width:901px){
  .rdsm-single-product-root .rdsm-single-layout{
    position:relative !important;
    left:auto !important;
    right:auto !important;
    transform:none !important;
    width:min(1120px, calc(100vw - 72px)) !important;
    max-width:1120px !important;
    margin-left:auto !important;
    margin-right:auto !important;
    grid-template-columns:minmax(0, 1fr) minmax(0, 1fr) !important;
    gap:26px !important;
    justify-content:center !important;
    align-items:start !important;
    overflow:visible !important;
    box-sizing:border-box !important;
  }

  .rdsm-single-left,
  .rdsm-single-right,
  .rdsm-single-buy-panel,
  .rdsm-single-purchase-box,
  .rdsm-single-feedbacks-card,
  .rdsm-single-description-card,
  .rdsm-single-media-panel{
    min-width:0 !important;
    width:100% !important;
    max-width:100% !important;
    box-sizing:border-box !important;
  }

  .rdsm-single-purchase-box,
  .rdsm-single-feedbacks-card{
    overflow:hidden !important;
  }

  /* Quantidade: impede input/botões de se sobreporem */
  .rdsm-single-qty{
    display:grid !important;
    grid-template-columns:48px minmax(0, 1fr) 48px !important;
    gap:10px !important;
    align-items:center !important;
    width:100% !important;
    max-width:100% !important;
    box-sizing:border-box !important;
  }

  .rdsm-single-qty button{
    width:48px !important;
    min-width:48px !important;
    max-width:48px !important;
    height:48px !important;
    margin:0 !important;
    padding:0 !important;
    position:relative !important;
    z-index:2 !important;
    box-sizing:border-box !important;
  }

  .rdsm-single-qty input{
    width:100% !important;
    min-width:0 !important;
    max-width:100% !important;
    height:48px !important;
    margin:0 !important;
    padding-left:10px !important;
    padding-right:10px !important;
    position:relative !important;
    z-index:1 !important;
    text-align:center !important;
    box-sizing:border-box !important;
  }

  .rdsm-single-actions{
    display:grid !important;
    grid-template-columns:minmax(0,1fr) minmax(0,1fr) !important;
    gap:12px !important;
    width:100% !important;
  }

  .rdsm-single-btn{
    width:100% !important;
    min-width:0 !important;
    box-sizing:border-box !important;
  }
}

/* se algum JS antigo aplicar left/transform inline, esta classe força visual estável */
.rdsm-single-product-root.rdsm-single-v123-fixed .rdsm-single-layout{
  left:auto !important;
  right:auto !important;
  transform:none !important;
}

@media(max-width:900px){
  .rdsm-single-product-root .rdsm-single-layout{
    width:min(100vw - 28px, 100%) !important;
    margin-left:auto !important;
    margin-right:auto !important;
    transform:none !important;
    left:auto !important;
  }
}


/* v124 — remove notices inúteis do checkout e mascara bug visual da página individual */

/* Esconde os avisos padrão inúteis do Woo: "Ver carrinho" / "Clique aqui para digitar seu cupom" */
body.woocommerce-checkout .woocommerce-info.rdsm-ignore-notice,
body.woocommerce-checkout .woocommerce-message.rdsm-ignore-notice,
body.woocommerce-checkout .woocommerce-error.rdsm-ignore-notice{
  display:none !important;
  visibility:hidden !important;
  opacity:0 !important;
  height:0 !important;
  min-height:0 !important;
  padding:0 !important;
  margin:0 !important;
  border:0 !important;
  overflow:hidden !important;
  pointer-events:none !important;
}

/* Loader da página individual: esconde o layout até ele estar centralizado */
body:not(.rdsm-single-ready-v124) .rdsm-single-product-root .rdsm-single-layout{
  opacity:0 !important;
  visibility:hidden !important;
  pointer-events:none !important;
}

body:not(.rdsm-single-ready-v124) .rdsm-single-product-root{
  min-height:100vh !important;
  position:relative !important;
}

body:not(.rdsm-single-ready-v124) .rdsm-single-product-root::after{
  content:"" !important;
  position:fixed !important;
  top:50% !important;
  left:50% !important;
  width:34px !important;
  height:34px !important;
  margin:-17px 0 0 -17px !important;
  border-radius:999px !important;
  border:3px solid rgba(255,255,255,.18) !important;
  border-top-color:#168cff !important;
  z-index:2147480000 !important;
  animation:rdsmSingleSpinV124 .65s linear infinite !important;
  pointer-events:none !important;
}

body.rdsm-single-ready-v124 .rdsm-single-product-root .rdsm-single-layout{
  opacity:1 !important;
  visibility:visible !important;
  pointer-events:auto !important;
  animation:rdsmSingleFadeV124 .22s ease both !important;
}

@keyframes rdsmSingleSpinV124{
  to{ transform:rotate(360deg); }
}

@keyframes rdsmSingleFadeV124{
  from{ opacity:0; transform:translateY(6px); }
  to{ opacity:1; transform:translateY(0); }
}

/* Centralização reforçada sem depender de ajuste atrasado */
.rdsm-single-product-root{
  width:100vw !important;
  max-width:100vw !important;
  margin-left:calc(50% - 50vw) !important;
  margin-right:calc(50% - 50vw) !important;
  padding-left:0 !important;
  padding-right:0 !important;
  overflow-x:hidden !important;
  box-sizing:border-box !important;
}

@media(min-width:901px){
  .rdsm-single-product-root .rdsm-single-layout{
    position:relative !important;
    left:auto !important;
    right:auto !important;
    transform:none !important;
    width:min(1120px, calc(100vw - 72px)) !important;
    max-width:1120px !important;
    margin-left:auto !important;
    margin-right:auto !important;
    grid-template-columns:minmax(0, 1fr) minmax(0, 1fr) !important;
    gap:26px !important;
    justify-content:center !important;
    align-items:start !important;
  }
}



/* v125 — estabilização final: sem tremedeira, sem notices inúteis e produto centralizado */

/* Cancela loader/ocultações antigas que causavam piscar/tremedeira */
body:not(.rdsm-single-ready-v124) .rdsm-single-product-root .rdsm-single-layout,
body:not(.rdsm-single-ready-v124) .rdsm-single-product-root,
body:not(.rdsm-single-ready-v125) .rdsm-single-product-root .rdsm-single-layout{
  opacity:1 !important;
  visibility:visible !important;
  pointer-events:auto !important;
}

body:not(.rdsm-single-ready-v124) .rdsm-single-product-root::after,
body:not(.rdsm-single-ready-v125) .rdsm-single-product-root::after{
  display:none !important;
  content:none !important;
}

/* Notices antigas e inúteis do Woo */
body.woocommerce-checkout .rdsm-force-hide-notice-v125,
body.woocommerce-checkout .rdsm-ignore-notice,
body.woocommerce-checkout .rdsm-native-notice-hidden{
  display:none !important;
  visibility:hidden !important;
  opacity:0 !important;
  height:0 !important;
  min-height:0 !important;
  padding:0 !important;
  margin:0 !important;
  border:0 !important;
  overflow:hidden !important;
  pointer-events:none !important;
}

body.woocommerce-checkout .rdsm-clean-notice-v125{
  width:min(1000px, calc(100vw - 40px)) !important;
  margin:0 auto 16px !important;
  padding:14px 18px !important;
  border-radius:14px !important;
  background:linear-gradient(180deg, rgba(7,17,40,.88), rgba(7,13,36,.76)) !important;
  border:1px solid rgba(22,140,255,.46) !important;
  color:#fff !important;
  box-shadow:0 18px 46px rgba(0,0,0,.28), inset 0 1px 0 rgba(255,255,255,.06) !important;
  line-height:1.45 !important;
  grid-column:1 / -1 !important;
  order:-60 !important;
}

body.woocommerce-checkout .rdsm-clean-notice-v125 ul{
  margin:0 !important;
  padding:0 !important;
  list-style:none !important;
}

body.woocommerce-checkout .rdsm-clean-notice-v125 li{
  margin:0 !important;
  padding:0 !important;
}

/* Checkout background e wrappers transparentes, sem recalcular em loop */
body.woocommerce-checkout .rdsm-checkout-bg-layer{
  display:block !important;
  position:fixed !important;
  inset:0 !important;
  width:100vw !important;
  height:100vh !important;
  z-index:0 !important;
  pointer-events:none !important;
  background:
    linear-gradient(180deg, rgba(2,6,18,.56), rgba(2,6,18,.72)),
    radial-gradient(circle at 50% 18%, rgba(22,140,255,.14), transparent 44%),
    url("../images/home-bg-v58.webp") center center / cover no-repeat !important;
}

body.woocommerce-checkout .rdsm-checkout-transparent-ancestor,
body.woocommerce-checkout .rdsm-checkout-transparent-ancestor::before,
body.woocommerce-checkout .rdsm-checkout-transparent-ancestor::after{
  background:transparent !important;
  background-color:transparent !important;
  background-image:none !important;
  box-shadow:none !important;
}

/* Drawer/cart nunca entra no fluxo da página */
body .rdsm-cart-overlay{
  position:fixed !important;
  inset:0 !important;
  width:100vw !important;
  height:100vh !important;
  z-index:2147480600 !important;
}

body .rdsm-cart-drawer{
  position:fixed !important;
  top:0 !important;
  right:0 !important;
  bottom:0 !important;
  left:auto !important;
  width:min(520px, 100vw) !important;
  height:100vh !important;
  max-height:100vh !important;
  z-index:2147480700 !important;
  margin:0 !important;
}

/* Produto individual centralizado sem hacks de left:50% */
.rdsm-single-product-root{
  width:100% !important;
  max-width:100% !important;
  margin-left:0 !important;
  margin-right:0 !important;
  padding-left:0 !important;
  padding-right:0 !important;
  overflow-x:hidden !important;
  box-sizing:border-box !important;
}

@media(min-width:901px){
  .rdsm-single-product-root .rdsm-single-layout,
  .rdsm-single-product-root.rdsm-single-v123-fixed .rdsm-single-layout,
  .rdsm-single-product-root.rdsm-single-v125-fixed .rdsm-single-layout{
    position:relative !important;
    left:auto !important;
    right:auto !important;
    transform:none !important;
    width:min(1120px, calc(100vw - 72px)) !important;
    max-width:1120px !important;
    margin-left:auto !important;
    margin-right:auto !important;
    grid-template-columns:minmax(0, 1fr) minmax(0, 1fr) !important;
    gap:26px !important;
    justify-content:center !important;
    align-items:start !important;
    box-sizing:border-box !important;
  }

  .rdsm-single-left,
  .rdsm-single-right,
  .rdsm-single-buy-panel,
  .rdsm-single-purchase-box,
  .rdsm-single-feedbacks-card,
  .rdsm-single-description-card,
  .rdsm-single-media-panel{
    min-width:0 !important;
    width:100% !important;
    max-width:100% !important;
    box-sizing:border-box !important;
  }

  .rdsm-single-qty{
    display:grid !important;
    grid-template-columns:48px minmax(0,1fr) 48px !important;
    gap:10px !important;
    width:100% !important;
    max-width:100% !important;
    align-items:center !important;
    box-sizing:border-box !important;
  }

  .rdsm-single-qty button{
    width:48px !important;
    min-width:48px !important;
    max-width:48px !important;
    height:48px !important;
    margin:0 !important;
    padding:0 !important;
    box-sizing:border-box !important;
  }

  .rdsm-single-qty input{
    width:100% !important;
    min-width:0 !important;
    max-width:100% !important;
    height:48px !important;
    margin:0 !important;
    padding-left:10px !important;
    padding-right:10px !important;
    text-align:center !important;
    box-sizing:border-box !important;
  }

  .rdsm-single-actions{
    display:grid !important;
    grid-template-columns:minmax(0,1fr) minmax(0,1fr) !important;
    gap:12px !important;
    width:100% !important;
  }

  .rdsm-single-btn{
    width:100% !important;
    min-width:0 !important;
    box-sizing:border-box !important;
  }
}


/* v126 — remove qualquer sobra visual de notice de carrinho/cupom no checkout */
body.woocommerce-checkout .rdsm-cart-add-notice-hidden{
  display:none !important;
  visibility:hidden !important;
  opacity:0 !important;
  height:0 !important;
  min-height:0 !important;
  margin:0 !important;
  padding:0 !important;
  border:0 !important;
  overflow:hidden !important;
}


/* v127 — página de pagamento Pix */
body.woocommerce-order-received,
body.woocommerce-order-received.woocommerce-page{
  min-height:100% !important;
  background:#030713 !important;
  overflow-x:hidden !important;
}

body.woocommerce-order-received .rdsm-checkout-bg-layer{
  display:block !important;
  position:fixed !important;
  inset:0 !important;
  width:100vw !important;
  height:100vh !important;
  z-index:0 !important;
  pointer-events:none !important;
  background:
    linear-gradient(180deg, rgba(2,6,18,.56), rgba(2,6,18,.72)),
    radial-gradient(circle at 50% 18%, rgba(22,140,255,.12), transparent 45%),
    url("../images/home-bg-v58.webp") center center / cover no-repeat !important;
}

body.woocommerce-order-received .woocommerce{
  position:relative !important;
  z-index:2 !important;
  width:100vw !important;
  max-width:none !important;
  margin-left:calc(50% - 50vw) !important;
  margin-right:calc(50% - 50vw) !important;
  padding:128px 20px 72px !important;
  background:transparent !important;
}

body.woocommerce-order-received .woocommerce-order{
  width:100% !important;
  max-width:none !important;
  margin:0 !important;
  padding:0 !important;
  background:transparent !important;
}

/* Oculta absolutamente tudo da página antiga, mantendo somente a nova estrutura. */
body.woocommerce-order-received .woocommerce-order > :not(.rdsm-payment-page-v127){
  display:none !important;
  visibility:hidden !important;
  opacity:0 !important;
  height:0 !important;
  max-height:0 !important;
  margin:0 !important;
  padding:0 !important;
  border:0 !important;
  overflow:hidden !important;
  pointer-events:none !important;
}

body.woocommerce-order-received .rdsm-payment-page-v127{
  width:min(590px, calc(100vw - 40px)) !important;
  max-width:590px !important;
  margin:0 auto !important;
  display:flex !important;
  flex-direction:column !important;
  gap:20px !important;
  color:#fff !important;
  font-family:inherit !important;
}

body.woocommerce-order-received .rdsm-payment-card-v127,
body.woocommerce-order-received .rdsm-payment-info-v127{
  position:relative !important;
  overflow:hidden !important;
  background:
    linear-gradient(180deg, rgba(7,17,40,.88), rgba(7,13,36,.78)) !important;
  border:1px solid rgba(88,124,185,.34) !important;
  border-radius:17px !important;
  box-shadow:
    0 24px 72px rgba(0,0,0,.34),
    inset 0 1px 0 rgba(255,255,255,.055) !important;
  backdrop-filter:blur(8px) !important;
}

body.woocommerce-order-received .rdsm-payment-card-v127{
  padding:31px 28px 28px !important;
  text-align:center !important;
}

body.woocommerce-order-received .rdsm-payment-progress-v127{
  position:absolute !important;
  top:0 !important;
  left:18px !important;
  right:18px !important;
  height:4px !important;
  overflow:hidden !important;
  border-radius:0 0 999px 999px !important;
  background:rgba(22,140,255,.14) !important;
}

body.woocommerce-order-received .rdsm-payment-progress-v127 span{
  display:block !important;
  width:32% !important;
  height:100% !important;
  border-radius:999px !important;
  background:#168cff !important;
  box-shadow:none !important;
  animation:rdsmPixProgressV127 2.15s cubic-bezier(.45,0,.25,1) infinite !important;
  will-change:transform !important;
}

@keyframes rdsmPixProgressV127{
  0%{ transform:translateX(-115%); }
  50%{ transform:translateX(110%); }
  100%{ transform:translateX(330%); }
}

body.woocommerce-order-received .rdsm-payment-card-v127 h1{
  margin:0 0 22px !important;
  color:#fff !important;
  font-size:24px !important;
  line-height:1.15 !important;
  font-weight:900 !important;
  letter-spacing:-.025em !important;
}

body.woocommerce-order-received .rdsm-payment-qr-v127{
  width:238px !important;
  min-height:238px !important;
  margin:0 auto 18px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  padding:12px !important;
  border-radius:18px !important;
  background:#fff !important;
  box-shadow:0 16px 45px rgba(0,0,0,.28) !important;
}

body.woocommerce-order-received .rdsm-payment-qr-v127 img,
body.woocommerce-order-received .rdsm-payment-qr-v127 canvas,
body.woocommerce-order-received .rdsm-payment-qr-v127 svg{
  display:block !important;
  width:100% !important;
  height:auto !important;
  max-width:214px !important;
  max-height:214px !important;
  object-fit:contain !important;
  margin:0 !important;
}

body.woocommerce-order-received .rdsm-payment-qr-loader-v127{
  width:30px !important;
  height:30px !important;
  border-radius:999px !important;
  border:3px solid rgba(3,13,36,.18) !important;
  border-top-color:#168cff !important;
  animation:rdsmPixQrSpinV127 .68s linear infinite !important;
}

@keyframes rdsmPixQrSpinV127{
  to{ transform:rotate(360deg); }
}

body.woocommerce-order-received .rdsm-payment-amount-v127{
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:10px !important;
  margin:0 0 20px !important;
}

body.woocommerce-order-received .rdsm-payment-amount-v127 span{
  color:rgba(255,255,255,.62) !important;
  font-size:13px !important;
  font-weight:700 !important;
}

body.woocommerce-order-received .rdsm-payment-amount-v127 strong{
  color:#fff !important;
  font-size:19px !important;
  font-weight:900 !important;
}

body.woocommerce-order-received .rdsm-payment-copy-v127{
  display:grid !important;
  grid-template-columns:minmax(0,1fr) 112px !important;
  gap:10px !important;
  align-items:center !important;
}

body.woocommerce-order-received .rdsm-payment-copy-v127 input{
  width:100% !important;
  height:48px !important;
  min-width:0 !important;
  border:1px solid rgba(255,255,255,.10) !important;
  border-radius:10px !important;
  background:rgba(0,0,0,.48) !important;
  color:rgba(255,255,255,.74) !important;
  padding:0 14px !important;
  font-size:12px !important;
  outline:none !important;
  box-shadow:none !important;
  text-overflow:ellipsis !important;
}

body.woocommerce-order-received .rdsm-payment-copy-v127 button{
  height:48px !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:7px !important;
  border:0 !important;
  border-radius:10px !important;
  background:#168cff !important;
  color:#fff !important;
  font-size:14px !important;
  font-weight:900 !important;
  cursor:pointer !important;
  box-shadow:none !important;
  transform:none !important;
  filter:none !important;
  transition:background-color .15s ease !important;
}

body.woocommerce-order-received .rdsm-payment-copy-v127 button:hover{
  background:#0f7fe8 !important;
  box-shadow:none !important;
  transform:none !important;
  filter:none !important;
}

body.woocommerce-order-received .rdsm-payment-copy-v127 button svg{
  width:16px !important;
  height:16px !important;
  fill:currentColor !important;
}

body.woocommerce-order-received .rdsm-payment-info-v127{
  padding:24px 26px !important;
}

body.woocommerce-order-received .rdsm-payment-info-v127 h2{
  margin:0 0 18px !important;
  color:#fff !important;
  font-size:20px !important;
  line-height:1.2 !important;
  font-weight:900 !important;
  letter-spacing:-.02em !important;
}

body.woocommerce-order-received .rdsm-payment-info-row-v127{
  display:grid !important;
  grid-template-columns:100px minmax(0,1fr) !important;
  gap:14px !important;
  align-items:center !important;
  min-height:44px !important;
  padding:10px 0 !important;
  border-top:1px solid rgba(255,255,255,.075) !important;
}

body.woocommerce-order-received .rdsm-payment-info-row-v127:first-of-type{
  border-top:0 !important;
}

body.woocommerce-order-received .rdsm-payment-info-row-v127 span{
  color:rgba(255,255,255,.52) !important;
  font-size:12px !important;
  font-weight:800 !important;
  text-transform:uppercase !important;
  letter-spacing:.04em !important;
}

body.woocommerce-order-received .rdsm-payment-info-row-v127 strong{
  color:#fff !important;
  font-size:14px !important;
  font-weight:750 !important;
  min-width:0 !important;
  overflow-wrap:anywhere !important;
}

/* Header/footer e wrappers do tema não podem cobrir a página nova. */
body.woocommerce-order-received #page,
body.woocommerce-order-received .site,
body.woocommerce-order-received .site-content,
body.woocommerce-order-received .content-area,
body.woocommerce-order-received main,
body.woocommerce-order-received article,
body.woocommerce-order-received .entry-content,
body.woocommerce-order-received .wp-site-blocks,
body.woocommerce-order-received .elementor,
body.woocommerce-order-received .elementor-section,
body.woocommerce-order-received .elementor-container,
body.woocommerce-order-received .elementor-widget-wrap,
body.woocommerce-order-received .elementor-widget-container{
  background:transparent !important;
  background-color:transparent !important;
  background-image:none !important;
}

@media(max-width:640px){
  body.woocommerce-order-received .woocommerce{
    padding:108px 14px 48px !important;
  }

  body.woocommerce-order-received .rdsm-payment-page-v127{
    width:100% !important;
  }

  body.woocommerce-order-received .rdsm-payment-card-v127{
    padding:28px 18px 20px !important;
  }

  body.woocommerce-order-received .rdsm-payment-info-v127{
    padding:21px 19px !important;
  }

  body.woocommerce-order-received .rdsm-payment-copy-v127{
    grid-template-columns:1fr !important;
  }

  body.woocommerce-order-received .rdsm-payment-copy-v127 button{
    width:100% !important;
  }

  body.woocommerce-order-received .rdsm-payment-qr-v127{
    width:min(220px, 78vw) !important;
    min-height:min(220px, 78vw) !important;
  }

  body.woocommerce-order-received .rdsm-payment-info-row-v127{
    grid-template-columns:1fr !important;
    gap:5px !important;
  }
}


/* v128 — pagamento Pix: QR/CPF e transparência */
body.woocommerce-order-received .rdsm-payment-card-v127,
body.woocommerce-order-received .rdsm-payment-info-v127{
  background:
    linear-gradient(180deg, rgba(7,17,40,.50), rgba(7,13,36,.50)) !important;
  backdrop-filter:blur(10px) !important;
  -webkit-backdrop-filter:blur(10px) !important;
}

body.woocommerce-order-received .rdsm-payment-subtitle-v128{
  margin:-12px 0 22px !important;
  color:rgba(255,255,255,.64) !important;
  font-size:13px !important;
  font-weight:650 !important;
  line-height:1.35 !important;
}

/* Mantém a estrutura original renderizada para o QR da EFI carregar,
   mas fora da tela e invisível. Depois o JS clona o QR/código para o card novo. */
body.woocommerce-order-received .woocommerce-order > :not(.rdsm-payment-page-v127){
  display:block !important;
  visibility:hidden !important;
  opacity:0 !important;
  position:absolute !important;
  left:-100000px !important;
  top:auto !important;
  width:760px !important;
  height:auto !important;
  max-height:none !important;
  margin:0 !important;
  padding:0 !important;
  border:0 !important;
  overflow:visible !important;
  pointer-events:none !important;
}

body.woocommerce-order-received .rdsm-payment-qr-v127.is-loading{
  background:rgba(255,255,255,.96) !important;
}

body.woocommerce-order-received .rdsm-payment-info-row-v127 strong.rdsm-missing-v128{
  color:rgba(255,255,255,.40) !important;
}


/* v129 — Pix QR fallback, valor azul e texto antes do copia e cola */
body.woocommerce-order-received .rdsm-payment-amount-v127{
  flex-direction:column !important;
  gap:4px !important;
  margin-bottom:14px !important;
}

body.woocommerce-order-received .rdsm-payment-amount-v127 strong{
  color:#168cff !important;
  font-size:22px !important;
  font-weight:950 !important;
  letter-spacing:-.02em !important;
}

body.woocommerce-order-received .rdsm-payment-copy-title-v129{
  margin:0 0 10px !important;
  color:rgba(255,255,255,.68) !important;
  font-size:13px !important;
  font-weight:700 !important;
  line-height:1.35 !important;
  text-align:center !important;
}

body.woocommerce-order-received .rdsm-payment-qr-v127 img{
  background:#fff !important;
}


/* v130 — deixa o HTML original da EFI renderizar de verdade fora da tela para o QR poder ser clonado */
body.woocommerce-order-received .woocommerce-order > :not(.rdsm-payment-page-v127){
  display:block !important;
  visibility:visible !important;
  opacity:0 !important;
  position:absolute !important;
  left:-100000px !important;
  top:0 !important;
  width:920px !important;
  height:auto !important;
  max-height:none !important;
  min-height:1px !important;
  margin:0 !important;
  padding:0 !important;
  border:0 !important;
  overflow:visible !important;
  pointer-events:none !important;
  z-index:-1 !important;
}

body.woocommerce-order-received .rdsm-payment-qr-v127{
  position:relative !important;
}

body.woocommerce-order-received .rdsm-payment-qr-v127.rdsm-qr-waiting::after{
  content:"Gerando QR..." !important;
  position:absolute !important;
  bottom:14px !important;
  left:0 !important;
  right:0 !important;
  color:rgba(3,13,36,.56) !important;
  font-size:12px !important;
  font-weight:800 !important;
  text-align:center !important;
}


/* v132 — ajustes visuais finais da página Pix */

/* QR Code mais moderno: arredondamento no QR em si, não só no container */
body.woocommerce-order-received .rdsm-payment-qr-v127{
  width:226px !important;
  min-height:226px !important;
  padding:10px !important;
  border-radius:20px !important;
  background:rgba(255,255,255,.98) !important;
  box-shadow:
    0 18px 46px rgba(0,0,0,.30),
    0 0 0 1px rgba(255,255,255,.10) !important;
  overflow:hidden !important;
}

body.woocommerce-order-received .rdsm-payment-qr-v127 img,
body.woocommerce-order-received .rdsm-payment-qr-v127 canvas,
body.woocommerce-order-received .rdsm-payment-qr-v127 svg{
  width:100% !important;
  max-width:206px !important;
  max-height:206px !important;
  height:auto !important;
  object-fit:contain !important;
  border-radius:14px !important;
  overflow:hidden !important;
  clip-path:inset(0 round 14px) !important;
  background:#fff !important;
}

/* Valor da compra: label na esquerda e valor na direita */
body.woocommerce-order-received .rdsm-payment-amount-v127{
  width:100% !important;
  max-width:360px !important;
  margin:2px auto 16px !important;
  display:flex !important;
  flex-direction:row !important;
  align-items:center !important;
  justify-content:space-between !important;
  gap:16px !important;
  padding:12px 14px !important;
  border:1px solid rgba(255,255,255,.08) !important;
  border-radius:12px !important;
  background:rgba(0,0,0,.20) !important;
}

body.woocommerce-order-received .rdsm-payment-amount-v127 span{
  text-align:left !important;
  color:rgba(255,255,255,.58) !important;
  font-size:13px !important;
  font-weight:800 !important;
}

body.woocommerce-order-received .rdsm-payment-amount-v127 strong{
  color:#168cff !important;
  text-align:right !important;
  font-size:20px !important;
  font-weight:950 !important;
  white-space:nowrap !important;
}

/* Campo do Pix Copia e Cola menor e mais discreto */
body.woocommerce-order-received .rdsm-payment-copy-title-v129{
  margin:0 auto 9px !important;
  max-width:360px !important;
  text-align:left !important;
  color:rgba(255,255,255,.60) !important;
  font-size:12.5px !important;
  font-weight:750 !important;
}

body.woocommerce-order-received .rdsm-payment-copy-v127{
  max-width:360px !important;
  margin:0 auto !important;
  grid-template-columns:minmax(0,1fr) 96px !important;
  gap:9px !important;
}

body.woocommerce-order-received .rdsm-payment-copy-v127 input{
  height:40px !important;
  border-radius:9px !important;
  padding:0 11px !important;
  font-size:10.5px !important;
  letter-spacing:.01em !important;
  color:rgba(255,255,255,.58) !important;
  background:rgba(0,0,0,.42) !important;
}

body.woocommerce-order-received .rdsm-payment-copy-v127 button{
  height:40px !important;
  border-radius:9px !important;
  font-size:13px !important;
  gap:6px !important;
}

body.woocommerce-order-received .rdsm-payment-copy-v127 button svg{
  width:14px !important;
  height:14px !important;
}

@media(max-width:640px){
  body.woocommerce-order-received .rdsm-payment-amount-v127,
  body.woocommerce-order-received .rdsm-payment-copy-title-v129,
  body.woocommerce-order-received .rdsm-payment-copy-v127{
    max-width:100% !important;
  }

  body.woocommerce-order-received .rdsm-payment-copy-v127{
    grid-template-columns:1fr !important;
  }
}


/* v133 — ajuste fino valor/copia e cola na página Pix */

/* Remove a área própria do valor; deixa label e preço próximos, limpos */
body.woocommerce-order-received .rdsm-payment-amount-v127{
  width:auto !important;
  max-width:none !important;
  margin:4px auto 14px !important;
  padding:0 !important;
  border:0 !important;
  border-radius:0 !important;
  background:transparent !important;
  box-shadow:none !important;
  display:inline-flex !important;
  flex-direction:row !important;
  align-items:baseline !important;
  justify-content:center !important;
  gap:8px !important;
}

body.woocommerce-order-received .rdsm-payment-amount-v127 span{
  color:rgba(255,255,255,.62) !important;
  font-size:13px !important;
  font-weight:750 !important;
  text-align:center !important;
}

body.woocommerce-order-received .rdsm-payment-amount-v127 strong{
  color:#168cff !important;
  font-size:21px !important;
  font-weight:950 !important;
  letter-spacing:-.02em !important;
  text-align:center !important;
  white-space:nowrap !important;
}

/* Texto acima do Pix Copia e Cola centralizado */
body.woocommerce-order-received .rdsm-payment-copy-title-v129{
  margin:0 auto 9px !important;
  max-width:360px !important;
  text-align:center !important;
  color:rgba(255,255,255,.62) !important;
  font-size:12.5px !important;
  font-weight:750 !important;
  line-height:1.35 !important;
}

/* Mantém o campo do copia e cola menor */
body.woocommerce-order-received .rdsm-payment-copy-v127{
  max-width:360px !important;
  margin:0 auto !important;
  grid-template-columns:minmax(0,1fr) 96px !important;
  gap:9px !important;
}


/* v134 — valor mais acima e maior respiro antes do código Pix */
body.woocommerce-order-received .rdsm-payment-amount-v127{
  margin:-2px auto 26px !important;
}

body.woocommerce-order-received .rdsm-payment-copy-title-v129{
  margin:0 auto 12px !important;
}

body.woocommerce-order-received .rdsm-payment-copy-v127{
  margin-top:0 !important;
}


/* v135 — liberação automática pós-pagamento */
body.woocommerce-order-received .rdsm-payment-page-v127.rdsm-payment-approved-v135{
  width:min(780px, calc(100vw - 40px)) !important;
  max-width:780px !important;
}

body.woocommerce-order-received .rdsm-payment-page-v127.rdsm-payment-approved-v135 .rdsm-payment-card-v127,
body.woocommerce-order-received .rdsm-payment-page-v127.rdsm-payment-approved-v135 .rdsm-payment-info-v127{
  display:none !important;
}

body.woocommerce-order-received .rdsm-delivery-page-v135[hidden]{
  display:none !important;
}

body.woocommerce-order-received .rdsm-delivery-page-v135{
  display:flex !important;
  flex-direction:column !important;
  gap:20px !important;
  animation:rdsmDeliveryPageInV135 .36s ease both !important;
}

@keyframes rdsmDeliveryPageInV135{
  from{ opacity:0; transform:translateY(12px); }
  to{ opacity:1; transform:translateY(0); }
}

body.woocommerce-order-received .rdsm-delivery-success-v135,
body.woocommerce-order-received .rdsm-delivery-content-v135{
  position:relative !important;
  overflow:hidden !important;
  background:linear-gradient(180deg, rgba(7,17,40,.58), rgba(7,13,36,.50)) !important;
  border:1px solid rgba(88,124,185,.34) !important;
  border-radius:17px !important;
  box-shadow:0 24px 72px rgba(0,0,0,.34), inset 0 1px 0 rgba(255,255,255,.055) !important;
  backdrop-filter:blur(10px) !important;
  -webkit-backdrop-filter:blur(10px) !important;
}

body.woocommerce-order-received .rdsm-delivery-success-v135{
  padding:34px 28px !important;
  text-align:center !important;
}

body.woocommerce-order-received .rdsm-delivery-success-v135::before{
  content:"" !important;
  position:absolute !important;
  top:0 !important;
  left:22px !important;
  right:22px !important;
  height:4px !important;
  border-radius:0 0 999px 999px !important;
  background:#29ff7b !important;
  box-shadow:0 0 18px rgba(41,255,123,.32) !important;
}

body.woocommerce-order-received .rdsm-delivery-check-v135{
  width:84px !important;
  height:84px !important;
  margin:0 auto 18px !important;
  border-radius:999px !important;
  display:grid !important;
  place-items:center !important;
  background:rgba(41,255,123,.10) !important;
  box-shadow:0 0 0 1px rgba(41,255,123,.22), 0 18px 50px rgba(41,255,123,.10) !important;
}

body.woocommerce-order-received .rdsm-delivery-check-v135 svg{
  width:72px !important;
  height:72px !important;
  overflow:visible !important;
}

body.woocommerce-order-received .rdsm-delivery-check-v135 circle{
  fill:none !important;
  stroke:rgba(41,255,123,.26) !important;
  stroke-width:3 !important;
}

body.woocommerce-order-received .rdsm-delivery-check-v135 path{
  fill:none !important;
  stroke:#29ff7b !important;
  stroke-width:5 !important;
  stroke-linecap:round !important;
  stroke-linejoin:round !important;
  stroke-dasharray:32 !important;
  stroke-dashoffset:32 !important;
  animation:rdsmCheckDrawV135 .52s .18s cubic-bezier(.2,.85,.2,1) forwards !important;
}

@keyframes rdsmCheckDrawV135{
  to{ stroke-dashoffset:0; }
}

body.woocommerce-order-received .rdsm-delivery-success-v135 h2{
  margin:0 0 9px !important;
  color:#fff !important;
  font-size:28px !important;
  line-height:1.08 !important;
  font-weight:950 !important;
  letter-spacing:-.03em !important;
}

body.woocommerce-order-received .rdsm-delivery-success-v135 p{
  max-width:560px !important;
  margin:0 auto !important;
  color:rgba(255,255,255,.66) !important;
  font-size:14px !important;
  line-height:1.55 !important;
  font-weight:600 !important;
}

body.woocommerce-order-received .rdsm-delivery-content-v135{
  padding:24px !important;
}

body.woocommerce-order-received .rdsm-delivery-head-v135{
  display:flex !important;
  align-items:center !important;
  justify-content:space-between !important;
  gap:16px !important;
  margin-bottom:18px !important;
}

body.woocommerce-order-received .rdsm-delivery-head-v135 h3{
  margin:0 !important;
  color:#fff !important;
  font-size:22px !important;
  line-height:1.15 !important;
  font-weight:950 !important;
  letter-spacing:-.025em !important;
}

body.woocommerce-order-received .rdsm-delivery-head-v135 button,
body.woocommerce-order-received .rdsm-delivery-key-v135 button,
body.woocommerce-order-received .rdsm-delivery-actions-v135 a{
  min-height:40px !important;
  border:0 !important;
  border-radius:10px !important;
  background:#168cff !important;
  color:#fff !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:7px !important;
  padding:0 14px !important;
  font-size:13px !important;
  font-weight:900 !important;
  text-decoration:none !important;
  cursor:pointer !important;
  box-shadow:none !important;
  transition:background-color .15s ease !important;
}

body.woocommerce-order-received .rdsm-delivery-head-v135 button:hover,
body.woocommerce-order-received .rdsm-delivery-key-v135 button:hover,
body.woocommerce-order-received .rdsm-delivery-actions-v135 a:hover{
  background:#0f7fe8 !important;
  color:#fff !important;
}

body.woocommerce-order-received .rdsm-delivery-head-v135 svg,
body.woocommerce-order-received .rdsm-delivery-key-v135 svg,
body.woocommerce-order-received .rdsm-delivery-actions-v135 svg{
  width:15px !important;
  height:15px !important;
  fill:currentColor !important;
  flex:0 0 auto !important;
}

body.woocommerce-order-received .rdsm-delivery-items-v135{
  display:flex !important;
  flex-direction:column !important;
  gap:14px !important;
}

body.woocommerce-order-received .rdsm-delivery-item-v135{
  border:1px solid rgba(255,255,255,.09) !important;
  border-radius:14px !important;
  background:rgba(0,0,0,.20) !important;
  padding:16px !important;
  animation:rdsmDeliveryItemInV135 .28s ease both !important;
}

@keyframes rdsmDeliveryItemInV135{
  from{ opacity:0; transform:translateY(8px); }
  to{ opacity:1; transform:translateY(0); }
}

body.woocommerce-order-received .rdsm-delivery-item-title-v135{
  display:flex !important;
  align-items:flex-start !important;
  justify-content:space-between !important;
  gap:14px !important;
  margin-bottom:12px !important;
}

body.woocommerce-order-received .rdsm-delivery-item-title-v135 h4{
  margin:0 !important;
  color:#fff !important;
  font-size:16px !important;
  line-height:1.25 !important;
  font-weight:950 !important;
  letter-spacing:-.02em !important;
}

body.woocommerce-order-received .rdsm-delivery-item-title-v135 span{
  color:#29ff7b !important;
  background:rgba(41,255,123,.10) !important;
  border:1px solid rgba(41,255,123,.20) !important;
  border-radius:999px !important;
  padding:5px 9px !important;
  font-size:12px !important;
  font-weight:850 !important;
  white-space:nowrap !important;
}

body.woocommerce-order-received .rdsm-delivery-keys-v135{
  display:flex !important;
  flex-direction:column !important;
  gap:8px !important;
}

body.woocommerce-order-received .rdsm-delivery-key-v135{
  display:grid !important;
  grid-template-columns:minmax(0,1fr) 92px !important;
  gap:8px !important;
  align-items:center !important;
}

body.woocommerce-order-received .rdsm-delivery-key-v135 code{
  min-height:40px !important;
  display:flex !important;
  align-items:center !important;
  border:1px solid rgba(255,255,255,.09) !important;
  border-radius:10px !important;
  background:rgba(0,0,0,.36) !important;
  color:rgba(255,255,255,.86) !important;
  padding:0 12px !important;
  font-size:12px !important;
  font-weight:750 !important;
  overflow:hidden !important;
  text-overflow:ellipsis !important;
  white-space:nowrap !important;
}

body.woocommerce-order-received .rdsm-delivery-actions-v135{
  display:flex !important;
  flex-wrap:wrap !important;
  gap:10px !important;
  margin-top:14px !important;
}

body.woocommerce-order-received .rdsm-delivery-actions-v135 a.rdsm-delivery-secondary-v135{
  background:rgba(22,140,255,.14) !important;
  border:1px solid rgba(22,140,255,.38) !important;
}

body.woocommerce-order-received .rdsm-delivery-actions-v135 a.rdsm-delivery-secondary-v135:hover{
  background:rgba(22,140,255,.24) !important;
}

body.woocommerce-order-received .rdsm-delivery-empty-v135{
  padding:18px !important;
  border-radius:14px !important;
  border:1px solid rgba(255,255,255,.09) !important;
  background:rgba(0,0,0,.20) !important;
  color:rgba(255,255,255,.66) !important;
  font-size:14px !important;
  line-height:1.5 !important;
}

@media(max-width:640px){
  body.woocommerce-order-received .rdsm-payment-page-v127.rdsm-payment-approved-v135{
    width:100% !important;
  }

  body.woocommerce-order-received .rdsm-delivery-content-v135{
    padding:18px !important;
  }

  body.woocommerce-order-received .rdsm-delivery-head-v135,
  body.woocommerce-order-received .rdsm-delivery-item-title-v135{
    flex-direction:column !important;
    align-items:flex-start !important;
  }

  body.woocommerce-order-received .rdsm-delivery-head-v135 button{
    width:100% !important;
  }

  body.woocommerce-order-received .rdsm-delivery-key-v135{
    grid-template-columns:1fr !important;
  }

  body.woocommerce-order-received .rdsm-delivery-key-v135 button,
  body.woocommerce-order-received .rdsm-delivery-actions-v135 a{
    width:100% !important;
  }
}


/* v136 — animação forte de pagamento aprovado + entrada suave */
body.woocommerce-order-received .rdsm-delivery-page-v135.rdsm-delivery-animate-v136{
  animation:rdsmDeliveryStageInV136 .55s cubic-bezier(.16,1,.3,1) both !important;
  transform-origin:center top !important;
}

@keyframes rdsmDeliveryStageInV136{
  0%{
    opacity:0;
    transform:translate3d(0,18px,0) scale(.985);
    filter:blur(6px);
  }
  100%{
    opacity:1;
    transform:translate3d(0,0,0) scale(1);
    filter:blur(0);
  }
}

body.woocommerce-order-received .rdsm-delivery-animate-v136 .rdsm-delivery-success-v135{
  animation:rdsmDeliverySuccessPopV136 .62s cubic-bezier(.16,1,.3,1) both !important;
}

@keyframes rdsmDeliverySuccessPopV136{
  0%{
    opacity:0;
    transform:translateY(16px) scale(.96);
  }
  100%{
    opacity:1;
    transform:translateY(0) scale(1);
  }
}

body.woocommerce-order-received .rdsm-delivery-animate-v136 .rdsm-delivery-check-v135{
  animation:rdsmCheckBubbleV136 .72s cubic-bezier(.18,1.25,.28,1) both !important;
}

@keyframes rdsmCheckBubbleV136{
  0%{
    opacity:0;
    transform:scale(.25) rotate(-14deg);
    box-shadow:0 0 0 0 rgba(41,255,123,.0);
  }
  55%{
    opacity:1;
    transform:scale(1.12) rotate(3deg);
    box-shadow:0 0 0 13px rgba(41,255,123,.08), 0 18px 50px rgba(41,255,123,.16);
  }
  100%{
    opacity:1;
    transform:scale(1) rotate(0);
    box-shadow:0 0 0 1px rgba(41,255,123,.22), 0 18px 50px rgba(41,255,123,.10);
  }
}

body.woocommerce-order-received .rdsm-delivery-animate-v136 .rdsm-delivery-check-v135 circle{
  stroke-dasharray:145 !important;
  stroke-dashoffset:145 !important;
  animation:rdsmCheckCircleDrawV136 .62s .12s ease-out forwards !important;
}

@keyframes rdsmCheckCircleDrawV136{
  to{ stroke-dashoffset:0; }
}

body.woocommerce-order-received .rdsm-delivery-animate-v136 .rdsm-delivery-check-v135 path{
  stroke-dasharray:40 !important;
  stroke-dashoffset:40 !important;
  animation:rdsmCheckDrawV136 .48s .42s cubic-bezier(.2,.85,.2,1) forwards !important;
}

body.woocommerce-order-received .rdsm-delivery-animate-v136 .rdsm-delivery-content-v135{
  animation:rdsmDeliveryContentInV136 .48s .22s cubic-bezier(.16,1,.3,1) both !important;
}

@keyframes rdsmDeliveryContentInV136{
  from{
    opacity:0;
    transform:translateY(16px);
  }
  to{
    opacity:1;
    transform:translateY(0);
  }
}

body.woocommerce-order-received .rdsm-delivery-animate-v136 .rdsm-delivery-item-v135{
  animation:rdsmDeliveryItemSlideV136 .38s cubic-bezier(.16,1,.3,1) both !important;
}

@keyframes rdsmDeliveryItemSlideV136{
  from{
    opacity:0;
    transform:translateX(-10px) translateY(8px);
  }
  to{
    opacity:1;
    transform:translateX(0) translateY(0);
  }
}

/* Copiar todas não ocupa espaço quando escondido */
body.woocommerce-order-received [data-rdsm-copy-all-keys][hidden]{
  display:none !important;
}


/* v137 — corrige visto verde que não aparecia dentro do círculo */
body.woocommerce-order-received .rdsm-delivery-check-v135{
  position:relative !important;
  overflow:visible !important;
}

body.woocommerce-order-received .rdsm-delivery-check-v135 svg{
  opacity:.72 !important;
}

body.woocommerce-order-received .rdsm-delivery-check-v135::after{
  content:"" !important;
  position:absolute !important;
  left:50% !important;
  top:50% !important;
  width:31px !important;
  height:16px !important;
  border-left:6px solid #29ff7b !important;
  border-bottom:6px solid #29ff7b !important;
  border-radius:0 0 0 4px !important;
  transform:translate(-50%, -58%) rotate(-45deg) scale(.45) !important;
  transform-origin:center !important;
  opacity:0 !important;
  filter:drop-shadow(0 0 10px rgba(41,255,123,.38)) !important;
  z-index:3 !important;
}

body.woocommerce-order-received .rdsm-delivery-animate-v136 .rdsm-delivery-check-v135::after,
body.woocommerce-order-received .rdsm-delivery-page-v135:not([hidden]) .rdsm-delivery-check-v135::after{
  animation:rdsmCssCheckV137 .48s .42s cubic-bezier(.18,1.4,.3,1) forwards !important;
}

@keyframes rdsmCssCheckV137{
  0%{
    opacity:0;
    transform:translate(-50%, -58%) rotate(-45deg) scale(.35);
  }
  70%{
    opacity:1;
    transform:translate(-50%, -58%) rotate(-45deg) scale(1.13);
  }
  100%{
    opacity:1;
    transform:translate(-50%, -58%) rotate(-45deg) scale(1);
  }
}


/* v138 — visto GARANTIDO: elemento HTML real, sem depender de SVG/pseudo-elemento */
body.woocommerce-order-received .rdsm-delivery-check-v135{
  position:relative !important;
  overflow:visible !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  width:86px !important;
  height:86px !important;
  min-width:86px !important;
  min-height:86px !important;
  border-radius:999px !important;
  background:
    radial-gradient(circle at 50% 42%, rgba(41,255,123,.22), rgba(41,255,123,.09) 58%, rgba(41,255,123,.05) 100%) !important;
  border:1px solid rgba(41,255,123,.26) !important;
  box-shadow:
    0 0 0 1px rgba(41,255,123,.08),
    0 18px 50px rgba(41,255,123,.12),
    inset 0 1px 0 rgba(255,255,255,.08) !important;
}

/* Remove qualquer SVG antigo que estivesse falhando */
body.woocommerce-order-received .rdsm-delivery-check-v135 svg{
  display:none !important;
}

/* Remove o pseudo-check antigo para não conflitar */
body.woocommerce-order-received .rdsm-delivery-check-v135::after{
  content:none !important;
  display:none !important;
}

body.woocommerce-order-received .rdsm-delivery-checkmark-v138{
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  width:100% !important;
  height:100% !important;
  color:#29ff7b !important;
  font-family:Arial, "Segoe UI Symbol", "Noto Sans Symbols", sans-serif !important;
  font-size:50px !important;
  line-height:1 !important;
  font-weight:900 !important;
  text-align:center !important;
  transform:translateY(-1px) scale(1) !important;
  opacity:1 !important;
  visibility:visible !important;
  z-index:20 !important;
  text-shadow:
    0 0 10px rgba(41,255,123,.55),
    0 0 26px rgba(41,255,123,.24) !important;
  -webkit-text-stroke:1px rgba(41,255,123,.28) !important;
}

body.woocommerce-order-received .rdsm-delivery-animate-v136 .rdsm-delivery-checkmark-v138,
body.woocommerce-order-received .rdsm-delivery-page-v135:not([hidden]) .rdsm-delivery-checkmark-v138{
  animation:rdsmCheckMarkRealV138 .52s .24s cubic-bezier(.18,1.45,.32,1) both !important;
}

@keyframes rdsmCheckMarkRealV138{
  0%{
    opacity:0;
    transform:translateY(-1px) scale(.25) rotate(-16deg);
  }
  62%{
    opacity:1;
    transform:translateY(-1px) scale(1.18) rotate(4deg);
  }
  100%{
    opacity:1;
    transform:translateY(-1px) scale(1) rotate(0);
  }
}


/* v139 — botão Minhas compras no header */
.rdsm-header-actions{
  display: inline-flex !important;
  align-items: center !important;
  justify-content: flex-end !important;
  gap: 14px !important;
  min-width: max-content !important;
}

.rdsm-my-purchases-btn{
  height: 44px !important;
  min-width: 154px !important;
  padding: 0 18px !important;
  border-radius: 999px !important;
  border: 1px solid #168cff !important;
  background: #168cff !important;
  color: #fff !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 9px !important;
  cursor: pointer !important;
  font-size: 14px !important;
  font-weight: 850 !important;
  letter-spacing: .005em !important;
  text-decoration: none !important;
  box-shadow: 0 14px 34px rgba(22,140,255,.22) !important;
  transition:
    background-color .25s cubic-bezier(.16,1,.3,1),
    border-color .25s cubic-bezier(.16,1,.3,1),
    box-shadow .25s cubic-bezier(.16,1,.3,1),
    transform .25s cubic-bezier(.16,1,.3,1) !important;
}

.rdsm-my-purchases-btn:hover,
.rdsm-my-purchases-btn:focus-visible{
  background: #0f7fe8 !important;
  border-color: #0f7fe8 !important;
  color: #fff !important;
  box-shadow: 0 14px 34px rgba(15,127,232,.26) !important;
  transform: translateY(-1px) !important;
  text-decoration: none !important;
}

.rdsm-my-purchases-ico,
.rdsm-my-purchases-ico svg{
  width: 18px !important;
  height: 18px !important;
  display: block !important;
  flex: 0 0 auto !important;
}

.rdsm-my-purchases-ico svg{
  fill: currentColor !important;
}

@media(max-width: 920px){
  .rdsm-global-header-inner{
    gap: 18px !important;
  }

  .rdsm-header-actions{
    gap: 9px !important;
  }

  .rdsm-my-purchases-btn{
    min-width: 44px !important;
    width: 44px !important;
    padding: 0 !important;
  }

  .rdsm-my-purchases-btn > span:last-child{
    display: none !important;
  }
}

@media(max-width: 720px){
  .rdsm-global-nav{
    display: none !important;
  }

  .rdsm-global-header-inner{
    grid-template-columns: auto 1fr !important;
  }

  .rdsm-header-actions{
    justify-self: end !important;
  }
}


/* v141 — ajuste fino botão Minhas compras: mesma altura do carrinho e hover mais escuro */
.rdsm-my-purchases-btn{
  height: 44px !important;
  min-height: 44px !important;
  max-height: 44px !important;
  line-height: 44px !important;
  box-sizing: border-box !important;
  align-self: center !important;
}

.rdsm-my-purchases-btn:hover,
.rdsm-my-purchases-btn:focus-visible{
  background: #0b63c9 !important;
  border-color: #0b63c9 !important;
  box-shadow: 0 14px 34px rgba(11,99,201,.28) !important;
}


/* v142 — centralização real da página individual + correção do título dos filtros */

/* Produto individual: remove o zoom que deslocava visualmente o layout para a direita.
   Mantém o tamanho 30% maior, mas usando transform centralizado. */
@media(min-width: 901px){
  .rdsm-root.rdsm-single-product-root{
    overflow-x: hidden !important;
  }

  .rdsm-single-product-root .rdsm-single-layout{
    zoom: 1 !important;
    width: min(calc(100% / 1.3), calc(1180px / 1.3)) !important;
    max-width: calc(1180px / 1.3) !important;
    margin-left: auto !important;
    margin-right: auto !important;
    position: relative !important;
    left: auto !important;
    right: auto !important;
    transform: scale(1.3) !important;
    transform-origin: top center !important;
    margin-bottom: 270px !important;
  }
}

/* Área de filtros/categorias: título fixo no topo central da caixa */
.rdsm-root.rdsm-products-root .rdsm-products-hero{
  display: block !important;
}

.rdsm-root.rdsm-products-root .rdsm-products-filter{
  position: relative !important;
  display: block !important;
  width: min(1180px, calc(100% - 40px)) !important;
  max-width: 1180px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding: 42px 26px 22px !important;
  text-align: center !important;
}

.rdsm-root.rdsm-products-root .rdsm-products-filter-label{
  position: absolute !important;
  top: 15px !important;
  left: 50% !important;
  right: auto !important;
  transform: translateX(-50%) !important;
  z-index: 3 !important;
  display: block !important;
  width: max-content !important;
  max-width: calc(100% - 44px) !important;
  margin: 0 !important;
  text-align: center !important;
  white-space: nowrap !important;
  pointer-events: none !important;
}

.rdsm-root.rdsm-products-root .rdsm-filter-pills{
  position: relative !important;
  z-index: 2 !important;
  width: 100% !important;
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 10px !important;
  margin: 0 auto !important;
  padding: 0 !important;
}

@media(max-width: 640px){
  .rdsm-root.rdsm-products-root .rdsm-products-filter{
    width: calc(100% - 24px) !important;
    padding: 40px 14px 18px !important;
  }

  .rdsm-root.rdsm-products-root .rdsm-products-filter-label{
    top: 13px !important;
  }
}


/* v143 — desloca levemente a página individual de produto para a direita */
@media(min-width: 901px){
  .rdsm-root.rdsm-single-product-root .rdsm-single-layout{
    position: relative !important;
    left: 42px !important;
  }
}

@media(min-width: 901px) and (max-width: 1180px){
  .rdsm-root.rdsm-single-product-root .rdsm-single-layout{
    left: 24px !important;
  }
}


/* v144 — centralização definitiva da página individual de produto.
   Força a área do shortcode a ocupar a largura real da viewport e centraliza o layout
   pelo centro matemático da tela, removendo qualquer deslocamento anterior. */
body .rdsm-root.rdsm-single-product-root{
  width: 100vw !important;
  max-width: 100vw !important;
  margin-left: calc(50% - 50vw) !important;
  margin-right: calc(50% - 50vw) !important;
  overflow-x: clip !important;
}

@media(min-width: 901px){
  body .rdsm-root.rdsm-single-product-root .rdsm-single-layout{
    zoom: 1 !important;
    width: min(calc(1180px / 1.3), calc((100vw - 80px) / 1.3)) !important;
    max-width: calc(1180px / 1.3) !important;
    margin-left: auto !important;
    margin-right: auto !important;
    position: relative !important;
    left: 0 !important;
    right: auto !important;
    transform: scale(1.3) !important;
    transform-origin: top center !important;
    margin-bottom: 280px !important;
  }
}

@media(min-width: 901px) and (max-width: 1180px){
  body .rdsm-root.rdsm-single-product-root .rdsm-single-layout{
    left: 0 !important;
    width: calc((100vw - 56px) / 1.3) !important;
  }
}


/* v145 — página individual: escala centralizada de verdade.
   Mantém o tamanho atual, mas troca a forma de ampliação:
   em vez de margem/zoom que cresce para um lado, prende o layout no centro real da viewport
   e escala a partir do centro. */
@media(min-width: 901px){
  body .rdsm-root.rdsm-single-product-root{
    width: 100vw !important;
    max-width: 100vw !important;
    margin-left: calc(50% - 50vw) !important;
    margin-right: calc(50% - 50vw) !important;
    overflow-x: clip !important;
    display: block !important;
  }

  body .rdsm-root.rdsm-single-product-root .rdsm-single-layout{
    zoom: 1 !important;

    /* largura base antes do scale: 1180 / 1.3 = mantém tamanho visual de ~1180 */
    width: min(calc(1180px / 1.3), calc((100vw - 80px) / 1.3)) !important;
    max-width: calc(1180px / 1.3) !important;

    /* centralização visual real */
    margin-left: 0 !important;
    margin-right: 0 !important;
    position: relative !important;
    left: 50% !important;
    right: auto !important;
    translate: -50% 0 !important;
    scale: 1.3 !important;
    transform: none !important;
    transform-origin: top center !important;

    margin-bottom: 280px !important;
  }
}

@media(min-width: 901px) and (max-width: 1180px){
  body .rdsm-root.rdsm-single-product-root .rdsm-single-layout{
    width: calc((100vw - 56px) / 1.3) !important;
    left: 50% !important;
    translate: -50% 0 !important;
    scale: 1.3 !important;
    transform: none !important;
  }
}

/* fallback caso o navegador não respeite translate/scale individuais */
@supports not (translate: -50% 0){
  @media(min-width: 901px){
    body .rdsm-root.rdsm-single-product-root .rdsm-single-layout{
      left: 50% !important;
      transform: translateX(-50%) scale(1.3) !important;
      transform-origin: top center !important;
    }
  }
}


/* v146 — correção real do desbalanceamento da página individual.
   O erro da v145 foi usar left:50% + translate individual + scale individual.
   Em alguns containers isso usa um centro de referência diferente e joga o layout para a esquerda.
   Agora a caixa base é centralizada com margin:auto e a ampliação ocorre via transform-origin:center. */

@media(min-width: 901px){
  body .rdsm-root.rdsm-single-product-root{
    width: 100vw !important;
    max-width: 100vw !important;
    margin-left: calc(50% - 50vw) !important;
    margin-right: calc(50% - 50vw) !important;
    overflow-x: hidden !important;
    display: block !important;
  }

  body .rdsm-root.rdsm-single-product-root .rdsm-single-layout{
    /* cancela todas as tentativas antigas */
    zoom: 1 !important;
    left: auto !important;
    right: auto !important;
    translate: none !important;
    scale: none !important;

    /* largura base menor para o scale gerar o mesmo tamanho visual */
    width: min(calc(1180px / 1.3), calc((100vw - 80px) / 1.3)) !important;
    max-width: calc(1180px / 1.3) !important;

    /* centro real */
    margin-left: auto !important;
    margin-right: auto !important;
    position: relative !important;

    /* ampliação simétrica para os dois lados */
    transform: scale(1.3) !important;
    transform-origin: top center !important;

    margin-bottom: 280px !important;
  }
}

@media(min-width: 901px) and (max-width: 1180px){
  body .rdsm-root.rdsm-single-product-root .rdsm-single-layout{
    width: calc((100vw - 56px) / 1.3) !important;
    max-width: calc((100vw - 56px) / 1.3) !important;
    margin-left: auto !important;
    margin-right: auto !important;
    left: auto !important;
    translate: none !important;
    scale: none !important;
    transform: scale(1.3) !important;
    transform-origin: top center !important;
  }
}


/* v147 — container real para a página individual.
   A página individual inteira agora fica dentro de .rdsm-single-center-container-v147.
   Esse container ocupa 100vw e centraliza o layout interno com flex, sem left/translate/margem manual. */
@media(min-width: 901px){
  body .rdsm-root.rdsm-single-product-root{
    width: 100vw !important;
    max-width: 100vw !important;
    margin-left: calc(50% - 50vw) !important;
    margin-right: calc(50% - 50vw) !important;
    overflow-x: hidden !important;
  }

  body .rdsm-root.rdsm-single-product-root .rdsm-single-center-container-v147{
    width: 100vw !important;
    max-width: 100vw !important;
    margin: 0 !important;
    padding: 0 40px !important;
    display: flex !important;
    justify-content: center !important;
    align-items: flex-start !important;
    box-sizing: border-box !important;
    position: relative !important;
    left: auto !important;
    right: auto !important;
    transform: none !important;
  }

  body .rdsm-root.rdsm-single-product-root .rdsm-single-center-container-v147 > .rdsm-single-layout{
    /* mata todas as centralizações antigas */
    zoom: 1 !important;
    position: static !important;
    left: auto !important;
    right: auto !important;
    top: auto !important;
    translate: none !important;
    scale: none !important;
    transform: none !important;
    margin: 0 auto !important;

    /* tamanho visual real, sem scale quebrando o centro */
    width: min(1180px, calc(100vw - 80px)) !important;
    max-width: 1180px !important;

    /* mantém o layout maior sem escalar o bloco inteiro */
    display: grid !important;
    grid-template-columns: minmax(0, 1.08fr) minmax(360px, .92fr) !important;
    gap: 32px !important;
  }

  body .rdsm-root.rdsm-single-product-root .rdsm-single-card,
  body .rdsm-root.rdsm-single-product-root .rdsm-single-buy-card{
    transform: none !important;
  }
}

@media(max-width: 900px){
  body .rdsm-root.rdsm-single-product-root .rdsm-single-center-container-v147{
    width: 100% !important;
    display: block !important;
  }
}


/* v148 — HARD FIX: centralização visual real da página individual.
   O v147 adicionou container, mas manteve a largura visual baseada em 1180px, enquanto os blocos internos
   têm proporções/áreas que fazem a composição parecer deslocada. Agora centralizo o grupo pelo seu retângulo visual:
   container 100vw + layout com largura controlada + offset calculado pequeno para compensar o vazamento visual da coluna esquerda. */

@media(min-width: 901px){
  html body .rdsm-root.rdsm-single-product-root{
    width:100vw !important;
    max-width:100vw !important;
    min-width:100vw !important;
    margin-left:calc(50% - 50vw) !important;
    margin-right:calc(50% - 50vw) !important;
    padding-left:0 !important;
    padding-right:0 !important;
    overflow-x:hidden !important;
    box-sizing:border-box !important;
  }

  html body .rdsm-root.rdsm-single-product-root .rdsm-single-center-container-v147{
    width:100vw !important;
    max-width:100vw !important;
    min-width:100vw !important;
    padding-left:0 !important;
    padding-right:0 !important;
    margin:0 !important;
    display:grid !important;
    place-items:start center !important;
    box-sizing:border-box !important;
    overflow:visible !important;
  }

  html body .rdsm-root.rdsm-single-product-root .rdsm-single-center-container-v147 > .rdsm-single-layout,
  html body .rdsm-root.rdsm-single-product-root .rdsm-single-layout{
    zoom:1 !important;
    translate:none !important;
    scale:none !important;
    left:auto !important;
    right:auto !important;
    margin:0 auto !important;
    position:relative !important;
    transform:none !important;
    transform-origin:center top !important;

    width:min(1180px, calc(100vw - 80px)) !important;
    max-width:min(1180px, calc(100vw - 80px)) !important;

    display:grid !important;
    grid-template-columns:minmax(0, 1fr) minmax(360px, 1fr) !important;
    gap:32px !important;

    /* compensação visual: no print o conjunto continua à direita; trazemos o retângulo visual para o centro */
    margin-left:auto !important;
    margin-right:auto !important;
    transform:translateX(-92px) !important;
  }

  html body .rdsm-root.rdsm-single-product-root .rdsm-single-layout > *{
    min-width:0 !important;
  }
}

@media(min-width: 901px) and (max-width: 1400px){
  html body .rdsm-root.rdsm-single-product-root .rdsm-single-center-container-v147 > .rdsm-single-layout,
  html body .rdsm-root.rdsm-single-product-root .rdsm-single-layout{
    transform:translateX(-64px) !important;
  }
}

@media(min-width: 901px) and (max-width: 1180px){
  html body .rdsm-root.rdsm-single-product-root .rdsm-single-center-container-v147 > .rdsm-single-layout,
  html body .rdsm-root.rdsm-single-product-root .rdsm-single-layout{
    width:calc(100vw - 56px) !important;
    max-width:calc(100vw - 56px) !important;
    transform:none !important;
  }
}


/* v149 — produto individual centralizado + checkout sem transformação gradual */

/* Produto individual: centraliza o retângulo real, sem zoom/scale/left/translate. */
@media(min-width: 901px){
  html body .rdsm-root.rdsm-single-product-root{
    width:100vw !important;
    max-width:100vw !important;
    min-width:100vw !important;
    margin-left:calc(50% - 50vw) !important;
    margin-right:calc(50% - 50vw) !important;
    padding-left:0 !important;
    padding-right:0 !important;
    overflow-x:hidden !important;
    display:flex !important;
    justify-content:center !important;
    align-items:flex-start !important;
    box-sizing:border-box !important;
  }

  html body .rdsm-root.rdsm-single-product-root .rdsm-single-center-container-v147{
    width:100vw !important;
    max-width:100vw !important;
    min-width:100vw !important;
    padding:0 !important;
    margin:0 !important;
    display:flex !important;
    justify-content:center !important;
    align-items:flex-start !important;
    box-sizing:border-box !important;
    transform:none !important;
    translate:none !important;
    scale:none !important;
    left:auto !important;
    right:auto !important;
  }

  html body .rdsm-root.rdsm-single-product-root .rdsm-single-center-container-v147 > .rdsm-single-layout,
  html body .rdsm-root.rdsm-single-product-root > .rdsm-single-layout,
  html body .rdsm-root.rdsm-single-product-root .rdsm-single-layout{
    width:min(1180px, calc(100vw - 80px)) !important;
    max-width:min(1180px, calc(100vw - 80px)) !important;
    min-width:0 !important;

    margin-left:auto !important;
    margin-right:auto !important;
    margin-inline:auto !important;

    position:relative !important;
    inset:auto !important;
    left:auto !important;
    right:auto !important;
    top:auto !important;
    bottom:auto !important;

    transform:none !important;
    translate:none !important;
    scale:none !important;
    zoom:1 !important;

    display:grid !important;
    grid-template-columns:minmax(0, 1fr) minmax(360px, 1fr) !important;
    gap:32px !important;
    box-sizing:border-box !important;
  }

  html body .rdsm-root.rdsm-single-product-root .rdsm-single-layout > *{
    min-width:0 !important;
    max-width:100% !important;
  }
}

@media(min-width: 901px) and (max-width: 1180px){
  html body .rdsm-root.rdsm-single-product-root .rdsm-single-layout{
    width:calc(100vw - 56px) !important;
    max-width:calc(100vw - 56px) !important;
  }
}

/* Checkout: remove animações/transições que causavam resize progressivo até o layout final. */
body.woocommerce-checkout .rdsm-root,
body.woocommerce-checkout .rdsm-root *,
body.woocommerce-checkout form.checkout,
body.woocommerce-checkout form.checkout *,
body.woocommerce-checkout #order_review,
body.woocommerce-checkout #order_review *,
body.woocommerce-checkout .rdsm-checkout-cart-v107,
body.woocommerce-checkout .rdsm-checkout-cart-v107 *,
body.woocommerce-checkout .woocommerce-checkout-review-order,
body.woocommerce-checkout .woocommerce-checkout-review-order *{
  animation:none !important;
  transition:none !important;
  transform:none !important;
  filter:none !important;
}

body.woocommerce-checkout .rdsm-reveal,
body.woocommerce-checkout .rdsm-loading,
body.woocommerce-checkout .rdsm-checkout-cart-v107,
body.woocommerce-checkout .rdsm-checkout-fields,
body.woocommerce-checkout .rdsm-checkout-review,
body.woocommerce-checkout #customer_details,
body.woocommerce-checkout #order_review{
  opacity:1 !important;
  visibility:visible !important;
  transform:none !important;
  animation:none !important;
}

/* Garante o layout final imediatamente. */
body.woocommerce-checkout form.checkout{
  width:min(1180px, calc(100vw - 40px)) !important;
  max-width:1180px !important;
  margin-left:auto !important;
  margin-right:auto !important;
  display:grid !important;
  grid-template-columns:minmax(0, 1fr) minmax(360px, 430px) !important;
  gap:24px !important;
  align-items:start !important;
}

@media(max-width: 900px){
  body.woocommerce-checkout form.checkout{
    width:calc(100vw - 24px) !important;
    display:block !important;
  }
}


/* v150 — centralização REAL da página individual.
   Correção importante: antes eu tentei envolver um DIV que não existia.
   O markup real é SECTION.rdsm-single-layout. Agora essa SECTION foi de fato colocada
   dentro de .rdsm-single-center-container-v150, e o container centraliza o retângulo inteiro. */

@media(min-width: 901px){
  html body .rdsm-root.rdsm-single-product-root{
    width: 100vw !important;
    max-width: 100vw !important;
    min-width: 100vw !important;
    margin-left: calc(50% - 50vw) !important;
    margin-right: calc(50% - 50vw) !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    overflow-x: hidden !important;
    box-sizing: border-box !important;
  }

  html body .rdsm-root.rdsm-single-product-root .rdsm-single-shell{
    width: 100vw !important;
    max-width: 100vw !important;
    min-width: 100vw !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    display: block !important;
    box-sizing: border-box !important;
    transform: none !important;
    translate: none !important;
    scale: none !important;
  }

  html body .rdsm-root.rdsm-single-product-root .rdsm-single-center-container-v150{
    width: 100vw !important;
    max-width: 100vw !important;
    min-width: 100vw !important;
    margin: 0 !important;
    padding: 0 40px !important;
    display: flex !important;
    justify-content: center !important;
    align-items: flex-start !important;
    box-sizing: border-box !important;
    position: relative !important;
    left: auto !important;
    right: auto !important;
    transform: none !important;
    translate: none !important;
    scale: none !important;
    zoom: 1 !important;
  }

  html body .rdsm-root.rdsm-single-product-root .rdsm-single-center-container-v150 > .rdsm-single-layout{
    width: min(1180px, calc(100vw - 80px)) !important;
    max-width: min(1180px, calc(100vw - 80px)) !important;
    min-width: 0 !important;

    margin: 0 auto !important;
    padding: 0 !important;
    box-sizing: border-box !important;

    position: relative !important;
    inset: auto !important;
    left: auto !important;
    right: auto !important;
    top: auto !important;
    bottom: auto !important;

    transform: none !important;
    translate: none !important;
    scale: none !important;
    zoom: 1 !important;

    display: grid !important;
    grid-template-columns: minmax(0, 1.08fr) minmax(360px, .92fr) !important;
    gap: 32px !important;
  }

  html body .rdsm-root.rdsm-single-product-root .rdsm-single-center-container-v150 > .rdsm-single-layout > *{
    min-width: 0 !important;
    max-width: 100% !important;
  }
}

@media(min-width: 901px) and (max-width: 1180px){
  html body .rdsm-root.rdsm-single-product-root .rdsm-single-center-container-v150{
    padding-left: 28px !important;
    padding-right: 28px !important;
  }

  html body .rdsm-root.rdsm-single-product-root .rdsm-single-center-container-v150 > .rdsm-single-layout{
    width: calc(100vw - 56px) !important;
    max-width: calc(100vw - 56px) !important;
  }
}

@media(max-width: 900px){
  html body .rdsm-root.rdsm-single-product-root .rdsm-single-center-container-v150{
    width: 100% !important;
    display: block !important;
  }
}


/* v151 — checkout com tela de carregamento fixa por 1.5s.
   O checkout fica renderizado atrás, ocupando espaço, mas invisível.
   Depois da espera, a tela some e o checkout entra com fade-in. */

@keyframes rdsmCheckoutFadeInV151{
  from{ opacity:0; visibility:visible; }
  to{ opacity:1; visibility:visible; }
}

@keyframes rdsmCheckoutLoaderPulseV151{
  0%, 100%{ opacity:.45; transform:scale(.82); }
  50%{ opacity:1; transform:scale(1); }
}

/* Esconde visualmente, mas NÃO remove do layout */
body.woocommerce-checkout:not(.rdsm-checkout-ready-v151) .woocommerce,
body.woocommerce-checkout:not(.rdsm-checkout-ready-v151) form.checkout,
body.woocommerce-checkout:not(.rdsm-checkout-ready-v151) #customer_details,
body.woocommerce-checkout:not(.rdsm-checkout-ready-v151) #order_review,
body.woocommerce-checkout:not(.rdsm-checkout-ready-v151) .woocommerce-checkout,
body.woocommerce-checkout:not(.rdsm-checkout-ready-v151) .rdsm-checkout-cart-v107{
  opacity:0 !important;
  visibility:hidden !important;
  pointer-events:none !important;
}

/* Overlay imediato do checkout */
body.woocommerce-checkout:not(.rdsm-checkout-ready-v151)::before{
  content:"" !important;
  position:fixed !important;
  inset:0 !important;
  z-index:999998 !important;
  background:
    radial-gradient(circle at 50% 36%, rgba(0,119,255,.18), transparent 34%),
    rgba(3,7,18,.96) !important;
  backdrop-filter:blur(8px) !important;
  -webkit-backdrop-filter:blur(8px) !important;
}

/* Card da telinha */
body.woocommerce-checkout:not(.rdsm-checkout-ready-v151)::after{
  content:"Finalizando checkout..." !important;
  position:fixed !important;
  left:50% !important;
  top:50% !important;
  transform:translate(-50%, -50%) !important;
  z-index:999999 !important;
  width:min(360px, calc(100vw - 48px)) !important;
  min-height:118px !important;
  border:1px solid rgba(255,255,255,.12) !important;
  border-radius:24px !important;
  background:rgba(10,16,31,.84) !important;
  box-shadow:0 28px 80px rgba(0,0,0,.45), 0 0 48px rgba(0,119,255,.18) !important;
  color:#fff !important;
  font:700 16px/1.2 Inter, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif !important;
  letter-spacing:.01em !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  text-align:center !important;
}

/* Pontinhos acima do texto usando box-shadow */
body.woocommerce-checkout:not(.rdsm-checkout-ready-v151) .rdsm-checkout-loader-dots-v151{
  position:fixed !important;
  left:50% !important;
  top:calc(50% - 34px) !important;
  transform:translateX(-50%) !important;
  z-index:1000000 !important;
  display:flex !important;
  gap:8px !important;
}

body.woocommerce-checkout:not(.rdsm-checkout-ready-v151) .rdsm-checkout-loader-dots-v151 span{
  width:8px !important;
  height:8px !important;
  border-radius:999px !important;
  background:#0b7cff !important;
  animation:rdsmCheckoutLoaderPulseV151 .82s ease-in-out infinite !important;
  box-shadow:0 0 18px rgba(11,124,255,.75) !important;
}

body.woocommerce-checkout:not(.rdsm-checkout-ready-v151) .rdsm-checkout-loader-dots-v151 span:nth-child(2){
  animation-delay:.12s !important;
}

body.woocommerce-checkout:not(.rdsm-checkout-ready-v151) .rdsm-checkout-loader-dots-v151 span:nth-child(3){
  animation-delay:.24s !important;
}

/* Estado final: checkout aparece com fade-in, sobrescrevendo o bloqueio antigo de animações */
body.woocommerce-checkout.rdsm-checkout-ready-v151 .woocommerce,
body.woocommerce-checkout.rdsm-checkout-ready-v151 form.checkout,
body.woocommerce-checkout.rdsm-checkout-ready-v151 #customer_details,
body.woocommerce-checkout.rdsm-checkout-ready-v151 #order_review,
body.woocommerce-checkout.rdsm-checkout-ready-v151 .woocommerce-checkout,
body.woocommerce-checkout.rdsm-checkout-ready-v151 .rdsm-checkout-cart-v107{
  opacity:1 !important;
  visibility:visible !important;
  pointer-events:auto !important;
}

body.woocommerce-checkout.rdsm-checkout-ready-v151 form.checkout{
  animation:rdsmCheckoutFadeInV151 .42s ease-out both !important;
  transition:none !important;
  transform:none !important;
}


/* v152 — checkout loader 2s, sem texto, entrada/saída otimizadas.
   Anima somente opacity/transform, sem mexer em layout. */

@keyframes rdsmCheckoutOverlayInV152{
  from{ opacity:0; }
  to{ opacity:1; }
}

@keyframes rdsmCheckoutOverlayOutV152{
  from{ opacity:1; }
  to{ opacity:0; }
}

@keyframes rdsmCheckoutLoaderInV152{
  from{ opacity:0; transform:translate3d(-50%, -46%, 0) scale(.92); }
  to{ opacity:1; transform:translate3d(-50%, -50%, 0) scale(1); }
}

@keyframes rdsmCheckoutLoaderOutV152{
  from{ opacity:1; transform:translate3d(-50%, -50%, 0) scale(1); }
  to{ opacity:0; transform:translate3d(-50%, -54%, 0) scale(.94); }
}

@keyframes rdsmCheckoutRingV152{
  to{ transform:rotate(360deg); }
}

@keyframes rdsmCheckoutPulseV152{
  0%, 100%{ transform:scale(.72); opacity:.35; }
  50%{ transform:scale(1); opacity:1; }
}

@keyframes rdsmCheckoutFadeInV152{
  from{ opacity:0; transform:translate3d(0, 10px, 0); }
  to{ opacity:1; transform:translate3d(0, 0, 0); }
}

/* Anula o texto/card da v151 */
body.woocommerce-checkout:not(.rdsm-checkout-ready-v151)::after{
  content:none !important;
  display:none !important;
}

body.woocommerce-checkout:not(.rdsm-checkout-ready-v151)::before{
  content:none !important;
  display:none !important;
}

body.woocommerce-checkout .rdsm-checkout-loader-dots-v151{
  display:none !important;
}

/* Enquanto carrega, o checkout existe atrás, mas invisível e sem clique */
body.woocommerce-checkout.rdsm-checkout-loading-v152 .woocommerce,
body.woocommerce-checkout.rdsm-checkout-loading-v152 form.checkout,
body.woocommerce-checkout.rdsm-checkout-loading-v152 #customer_details,
body.woocommerce-checkout.rdsm-checkout-loading-v152 #order_review,
body.woocommerce-checkout.rdsm-checkout-loading-v152 .woocommerce-checkout,
body.woocommerce-checkout.rdsm-checkout-loading-v152 .rdsm-checkout-cart-v107{
  opacity:0 !important;
  visibility:hidden !important;
  pointer-events:none !important;
}

/* Checkout aparece só depois da saída do loader */
body.woocommerce-checkout.rdsm-checkout-ready-v152 form.checkout{
  opacity:1 !important;
  visibility:visible !important;
  pointer-events:auto !important;
  animation:rdsmCheckoutFadeInV152 .42s cubic-bezier(.2,.85,.2,1) both !important;
  will-change:opacity, transform !important;
}

.rdsm-checkout-loader-v152{
  position:fixed !important;
  inset:0 !important;
  z-index:1000000 !important;
  background:
    radial-gradient(circle at 50% 42%, rgba(0,119,255,.16), transparent 34%),
    rgba(3,7,18,.96) !important;
  display:block !important;
  pointer-events:auto !important;
  opacity:0;
  animation:rdsmCheckoutOverlayInV152 .24s ease-out forwards !important;
  will-change:opacity !important;
  contain:layout paint style !important;
}

.rdsm-checkout-loader-v152.rdsm-leaving{
  animation:rdsmCheckoutOverlayOutV152 .36s ease-in forwards !important;
}

.rdsm-checkout-loader-core-v152{
  position:absolute !important;
  left:50% !important;
  top:50% !important;
  width:70px !important;
  height:70px !important;
  transform:translate3d(-50%, -50%, 0) scale(.92);
  opacity:0;
  animation:rdsmCheckoutLoaderInV152 .34s cubic-bezier(.2,.9,.2,1) forwards !important;
  will-change:opacity, transform !important;
}

.rdsm-checkout-loader-v152.rdsm-leaving .rdsm-checkout-loader-core-v152{
  animation:rdsmCheckoutLoaderOutV152 .28s ease-in forwards !important;
}

.rdsm-checkout-loader-ring-v152{
  position:absolute !important;
  inset:0 !important;
  border-radius:999px !important;
  border:2px solid rgba(255,255,255,.10) !important;
  border-top-color:#0b7cff !important;
  border-right-color:rgba(11,124,255,.62) !important;
  animation:rdsmCheckoutRingV152 .78s linear infinite !important;
  will-change:transform !important;
}

.rdsm-checkout-loader-dots-v152{
  position:absolute !important;
  inset:0 !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:7px !important;
}

.rdsm-checkout-loader-dots-v152 span{
  width:8px !important;
  height:8px !important;
  border-radius:999px !important;
  background:#0b7cff !important;
  box-shadow:0 0 16px rgba(11,124,255,.62) !important;
  animation:rdsmCheckoutPulseV152 .72s ease-in-out infinite !important;
  will-change:opacity, transform !important;
}

.rdsm-checkout-loader-dots-v152 span:nth-child(2){
  animation-delay:.11s !important;
}

.rdsm-checkout-loader-dots-v152 span:nth-child(3){
  animation-delay:.22s !important;
}

@media (prefers-reduced-motion: reduce){
  .rdsm-checkout-loader-v152,
  .rdsm-checkout-loader-v152 *,
  body.woocommerce-checkout.rdsm-checkout-ready-v152 form.checkout{
    animation-duration:.01ms !important;
    animation-iteration-count:1 !important;
  }
}


/* v153 — checkout loader visível + fade-in real + carrinho vazio bonito */

/* Esconde loaders/pseudos antigos para não conflitar */
body.woocommerce-checkout::before,
body.woocommerce-checkout::after{
  content:none !important;
  display:none !important;
}

body.woocommerce-checkout .rdsm-checkout-loader-dots-v151,
body.woocommerce-checkout .rdsm-checkout-loader-v152{
  display:none !important;
}

/* O checkout existe no layout durante os 2s, mas invisível */
body.woocommerce-checkout.rdsm-checkout-loading-v153 .woocommerce,
body.woocommerce-checkout.rdsm-checkout-loading-v153 form.checkout,
body.woocommerce-checkout.rdsm-checkout-loading-v153 #customer_details,
body.woocommerce-checkout.rdsm-checkout-loading-v153 #order_review,
body.woocommerce-checkout.rdsm-checkout-loading-v153 .woocommerce-checkout,
body.woocommerce-checkout.rdsm-checkout-loading-v153 .rdsm-checkout-cart-v107{
  opacity:0 !important;
  visibility:hidden !important;
  pointer-events:none !important;
}

/* Fade-in real do checkout após o loader sair */
@keyframes rdsmCheckoutEnterV153{
  from{ opacity:0; transform:translate3d(0, 14px, 0) scale(.985); filter:blur(3px); }
  to{ opacity:1; transform:translate3d(0, 0, 0) scale(1); filter:blur(0); }
}

body.woocommerce-checkout.rdsm-checkout-ready-v153 .woocommerce,
body.woocommerce-checkout.rdsm-checkout-ready-v153 form.checkout,
body.woocommerce-checkout.rdsm-checkout-ready-v153 #customer_details,
body.woocommerce-checkout.rdsm-checkout-ready-v153 #order_review,
body.woocommerce-checkout.rdsm-checkout-ready-v153 .woocommerce-checkout,
body.woocommerce-checkout.rdsm-checkout-ready-v153 .rdsm-checkout-cart-v107{
  opacity:1 !important;
  visibility:visible !important;
  pointer-events:auto !important;
}

body.woocommerce-checkout.rdsm-checkout-ready-v153 form.checkout{
  animation:rdsmCheckoutEnterV153 .55s cubic-bezier(.18,.86,.26,1) both !important;
  will-change:opacity, transform, filter !important;
}

/* Loader v153: classe própria, z-index alto, sem texto */
.rdsm-checkout-loader-v153{
  position:fixed !important;
  inset:0 !important;
  z-index:2147483000 !important;
  display:grid !important;
  place-items:center !important;
  pointer-events:auto !important;
  background:
    radial-gradient(circle at 50% 44%, rgba(10,124,255,.18), transparent 34%),
    linear-gradient(180deg, rgba(3,7,18,.98), rgba(5,9,22,.96)) !important;
  opacity:0;
  transform:translateZ(0);
  transition:opacity .32s ease !important;
  will-change:opacity !important;
  contain:paint !important;
}

.rdsm-checkout-loader-v153.rdsm-visible{
  opacity:1 !important;
}

.rdsm-checkout-loader-v153.rdsm-leaving{
  opacity:0 !important;
}

.rdsm-checkout-loader-core-v153{
  width:78px !important;
  height:78px !important;
  position:relative !important;
  opacity:0;
  transform:translate3d(0, 12px, 0) scale(.9);
  transition:opacity .34s ease, transform .34s cubic-bezier(.18,.86,.26,1) !important;
  will-change:opacity, transform !important;
}

.rdsm-checkout-loader-v153.rdsm-visible .rdsm-checkout-loader-core-v153{
  opacity:1 !important;
  transform:translate3d(0, 0, 0) scale(1) !important;
}

.rdsm-checkout-loader-v153.rdsm-leaving .rdsm-checkout-loader-core-v153{
  opacity:0 !important;
  transform:translate3d(0, -12px, 0) scale(.92) !important;
}

@keyframes rdsmSpinV153{
  to{ transform:rotate(360deg); }
}

@keyframes rdsmDotPulseV153{
  0%, 100%{ opacity:.28; transform:scale(.68); }
  50%{ opacity:1; transform:scale(1); }
}

.rdsm-checkout-loader-ring-v153{
  position:absolute !important;
  inset:0 !important;
  border-radius:999px !important;
  border:2px solid rgba(255,255,255,.10) !important;
  border-top-color:#0b7cff !important;
  border-right-color:rgba(11,124,255,.65) !important;
  box-shadow:0 0 42px rgba(11,124,255,.24) !important;
  animation:rdsmSpinV153 .78s linear infinite !important;
  will-change:transform !important;
}

.rdsm-checkout-loader-dots-v153{
  position:absolute !important;
  inset:0 !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:7px !important;
}

.rdsm-checkout-loader-dots-v153 span{
  width:8px !important;
  height:8px !important;
  border-radius:999px !important;
  background:#0b7cff !important;
  box-shadow:0 0 18px rgba(11,124,255,.75) !important;
  animation:rdsmDotPulseV153 .72s ease-in-out infinite !important;
  will-change:opacity, transform !important;
}

.rdsm-checkout-loader-dots-v153 span:nth-child(2){ animation-delay:.12s !important; }
.rdsm-checkout-loader-dots-v153 span:nth-child(3){ animation-delay:.24s !important; }@media (prefers-reduced-motion: reduce){}


/* v154 — neutraliza loaders antigos; loader novo é injetado via JS com CSS próprio */
body.woocommerce-checkout .rdsm-checkout-loader-v153,
body.woocommerce-checkout .rdsm-checkout-loader-v152,
body.woocommerce-checkout .rdsm-checkout-loader-dots-v151{
  display:none !important;
}

.rdsm-feedback-v157{
  margin-top:14px;
  padding:14px;
  border:1px solid rgba(22,140,255,.30);
  background:rgba(22,140,255,.07);
  border-radius:14px;
}
.rdsm-feedback-v157 strong{
  display:block;
  color:#fff;
  font-size:14px;
  margin-bottom:10px;
}
.rdsm-stars-line-v159{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:14px;
  margin:8px 0 12px;
}
.rdsm-stars-v158{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:8px;
}
.rdsm-stars-v158.rd-readonly{
  pointer-events:none;
}
.rdsm-star-v158{
  --fill:0%;
  position:relative;
  width:44px;
  height:44px;
  padding:0!important;
  border:0!important;
  background:transparent!important;
  cursor:pointer;
  color:transparent!important;
  display:inline-block!important;
  text-shadow:none!important;
  box-shadow:none!important;
  appearance:none;
  -webkit-appearance:none;
  vertical-align:middle;
}
.rdsm-star-v158:before,
.rdsm-star-v158:after{
  content:'★';
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  display:block;
  text-align:center;
  font-size:44px;
  line-height:44px;
  font-family:Arial,Helvetica,sans-serif;
  font-weight:400;
  letter-spacing:0;
  text-shadow:none!important;
  transform:none!important;
}
.rdsm-star-v158:before{
  color:rgba(255,255,255,.08);
  -webkit-text-stroke:1.15px rgba(22,140,255,.72);
  text-stroke:1.15px rgba(22,140,255,.72);
  filter:drop-shadow(0 0 4px rgba(22,140,255,.22));
}
.rdsm-star-v158:after{
  color:#168cff;
  clip-path:inset(0 calc(100% - var(--fill)) 0 0);
  -webkit-clip-path:inset(0 calc(100% - var(--fill)) 0 0);
}
.rdsm-selected-rating-v159{
  min-width:42px;
  color:#fff;
  font-size:21px;
  font-weight:950;
  opacity:1;
  transform:none;
}
.rdsm-feedback-v157 textarea{
  width:100%;
  min-height:72px;
  height:auto;
  margin-top:9px;
  border-radius:12px;
  border:1px solid rgba(255,255,255,.13);
  background:rgba(0,0,0,.22);
  color:#fff;
  padding:10px;
  resize:none!important;
  overflow:hidden!important;
  overflow-y:hidden!important;
  line-height:1.45;
  white-space:pre-wrap;
  word-break:break-word;
}
.rdsm-feedback-bottom-v157{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:10px;
  margin-top:10px;
}
.rdsm-feedback-bottom-v157 small{
  color:rgba(255,255,255,.56);
}
.rdsm-feedback-bottom-v157 button{
  min-height:36px;
  padding:0 14px;
  border:0;
  border-radius:11px;
  background:#168cff;
  color:#fff;
  font-weight:900;
  cursor:pointer;
  transition:background-color .18s ease,transform .18s ease;
}
.rdsm-feedback-bottom-v157 button:hover{
  background:#0f7fe8;
  transform:translateY(-1px);
}
.rdsm-feedback-bottom-v157 button:disabled{
  opacity:.55;
  cursor:not-allowed;
}
.rdsm-feedback-v157.rd-done{
  background:rgba(22,140,255,.045);
}
.rdsm-feedback-v157.rd-done p{
  margin:8px 0 0;
  color:rgba(255,255,255,.68);
}

