/* ===== Tokens ===== */
.cubiq-native{
  /* Fixed vivid accents — same in both themes, used for the hero shape
     and as pops of color/glow elsewhere so dark mode doesn't go dead. */
  --hero-vivid-1:#341C6E;
  --hero-vivid-2:#6D3FD1;
  /* Background grid tile — intensity is baked into the SVG itself
     (stroke-opacity / fill-opacity) rather than the element's CSS opacity,
     so it can be layered onto solid section backgrounds too without also
     fading those backgrounds. Light needs a bit more contrast to read
     against white/near-white panels; dark stays restrained since it covers
     much more of the page now than just the hero. */
  --grid-pattern:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='68' height='68'%3E%3Cline x1='0' y1='0' x2='68' y2='0' stroke='%23E0DAEE' stroke-width='1' stroke-dasharray='2 5'/%3E%3Cline x1='0' y1='0' x2='0' y2='68' stroke='%23E0DAEE' stroke-width='1' stroke-dasharray='2 5'/%3E%3Crect x='-1.75' y='-1.75' width='3.5' height='3.5' fill='%23E0DAEE' transform='rotate(45 0 0)'/%3E%3C/svg%3E");
}
@media (prefers-color-scheme: light){
:where(html:not([data-cubiq-theme])) .cubiq-native.cubiq-native{
  /* Paleta "Bloco": verde spruce como cor de acao, terracota como cor de
     dinheiro (preco, creditos, diamante, badge novo), neutros quentes de
     areia/madeira em vez de cinza frio. */
  --primary-100:#6D3FD1; --primary-200:#8A62E3; --primary-300:#EBE5FA;
  --accent-100:#D4AF37; --accent-200:#3D2280;
  --cubit:#B8901F;
  --text-100:#16121F; --text-200:#544D63; --text-300:#837C95;
  --bg-100:#FFFFFF; --bg-200:#F7F5FC; --bg-300:#E4E0F0;
  --panel-tint:#F9F7FD;
  --card-bg: rgba(255,255,255,0.99);
  --glass-bg: rgba(255,255,255,0.66);
  --glass-bg-strong: rgba(255,255,255,0.88);
  --glass-border: rgba(255,255,255,0.9);
  --shadow: 0 10px 26px rgba(26,16,52,0.10);
  --shadow-lg: 0 22px 54px rgba(26,16,52,0.20);
  --glow: 0 0 0 3px rgba(212,175,55,0.24), 0 18px 40px -10px rgba(109,63,209,0.5);
}
}
@media (min-width: 0px){
:where(html[data-cubiq-theme="light"]) .cubiq-native.cubiq-native{
  /* Paleta "Bloco": verde spruce como cor de acao, terracota como cor de
     dinheiro (preco, creditos, diamante, badge novo), neutros quentes de
     areia/madeira em vez de cinza frio. */
  --primary-100:#6D3FD1; --primary-200:#8A62E3; --primary-300:#EBE5FA;
  --accent-100:#D4AF37; --accent-200:#3D2280;
  --cubit:#B8901F;
  --text-100:#16121F; --text-200:#544D63; --text-300:#837C95;
  --bg-100:#FFFFFF; --bg-200:#F7F5FC; --bg-300:#E4E0F0;
  --panel-tint:#F9F7FD;
  --card-bg: rgba(255,255,255,0.99);
  --glass-bg: rgba(255,255,255,0.66);
  --glass-bg-strong: rgba(255,255,255,0.88);
  --glass-border: rgba(255,255,255,0.9);
  --shadow: 0 10px 26px rgba(26,16,52,0.10);
  --shadow-lg: 0 22px 54px rgba(26,16,52,0.20);
  --glow: 0 0 0 3px rgba(212,175,55,0.24), 0 18px 40px -10px rgba(109,63,209,0.5);
}
}
@media (prefers-color-scheme: dark){
:where(html:not([data-cubiq-theme])) .cubiq-native.cubiq-native{
  /* Was a muted desaturated navy used as the accent — nearly invisible as
     text/icon color against the dark background (e.g. credits-big, link
     icons). Now a genuinely vivid blue, same family as the light theme's
     primary, so it reads as an accent instead of vanishing. Backgrounds
     get a clearer bg-100 < bg-200 < bg-300 ramp so cards/borders actually
     separate from the page instead of blurring into one dark mass. */
  --primary-100:#A585F5; --primary-200:#C4AEFA; --primary-300:rgba(165,133,245,0.20);
  --accent-100:#E8C266; --accent-200:#D3C2FB;
  --cubit:#E8C266;
  --text-100:#F3F1FA; --text-200:#C4BED4; --text-300:#8E86A6;
  --bg-100:#0C0A14; --bg-200:#16121F; --bg-300:#2B2440;
  --panel-tint:#100D1A;
  --card-bg: rgba(22,18,31,0.97);
  --glass-bg: rgba(12,10,20,0.55);
  --glass-bg-strong: rgba(22,18,31,0.82);
  --glow: 0 0 0 3px rgba(232,194,102,0.24), 0 18px 46px -10px rgba(165,133,245,0.6);
  --glass-border: rgba(255,255,255,0.14);
  --shadow: 0 10px 30px rgba(0,0,0,0.45);
  --shadow-lg: 0 20px 60px rgba(0,0,0,0.55);
  --grid-pattern:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='68' height='68'%3E%3Cline x1='0' y1='0' x2='68' y2='0' stroke='%23342B4C' stroke-width='1' stroke-dasharray='2 5' stroke-opacity='0.55'/%3E%3Cline x1='0' y1='0' x2='0' y2='68' stroke='%23342B4C' stroke-width='1' stroke-dasharray='2 5' stroke-opacity='0.55'/%3E%3Crect x='-1.75' y='-1.75' width='3.5' height='3.5' fill='%23342B4C' fill-opacity='0.55' transform='rotate(45 0 0)'/%3E%3C/svg%3E");
}
}
@media (min-width: 0px){
:where(html[data-cubiq-theme="dark"]) .cubiq-native.cubiq-native{
  /* Was a muted desaturated navy used as the accent — nearly invisible as
     text/icon color against the dark background (e.g. credits-big, link
     icons). Now a genuinely vivid blue, same family as the light theme's
     primary, so it reads as an accent instead of vanishing. Backgrounds
     get a clearer bg-100 < bg-200 < bg-300 ramp so cards/borders actually
     separate from the page instead of blurring into one dark mass. */
  --primary-100:#A585F5; --primary-200:#C4AEFA; --primary-300:rgba(165,133,245,0.20);
  --accent-100:#E8C266; --accent-200:#D3C2FB;
  --cubit:#E8C266;
  --text-100:#F3F1FA; --text-200:#C4BED4; --text-300:#8E86A6;
  --bg-100:#0C0A14; --bg-200:#16121F; --bg-300:#2B2440;
  --panel-tint:#100D1A;
  --card-bg: rgba(22,18,31,0.97);
  --glass-bg: rgba(12,10,20,0.55);
  --glass-bg-strong: rgba(22,18,31,0.82);
  --glow: 0 0 0 3px rgba(232,194,102,0.24), 0 18px 46px -10px rgba(165,133,245,0.6);
  --glass-border: rgba(255,255,255,0.14);
  --shadow: 0 10px 30px rgba(0,0,0,0.45);
  --shadow-lg: 0 20px 60px rgba(0,0,0,0.55);
  --grid-pattern:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='68' height='68'%3E%3Cline x1='0' y1='0' x2='68' y2='0' stroke='%23342B4C' stroke-width='1' stroke-dasharray='2 5' stroke-opacity='0.55'/%3E%3Cline x1='0' y1='0' x2='0' y2='68' stroke='%23342B4C' stroke-width='1' stroke-dasharray='2 5' stroke-opacity='0.55'/%3E%3Crect x='-1.75' y='-1.75' width='3.5' height='3.5' fill='%23342B4C' fill-opacity='0.55' transform='rotate(45 0 0)'/%3E%3C/svg%3E");
}
}

.cubiq-native *{ box-sizing:border-box; }
.cubiq-native{ scroll-behavior:smooth; }
.cubiq-native{
  margin:0; background:var(--bg-100); color:var(--text-100);
  font-family:'Onest',system-ui,sans-serif; line-height:1.6; font-size:17.5px;
  transition:background .4s ease, color .4s ease;
  position:relative;
}
.cubiq-native .mono{ font-family:'Onest',system-ui,sans-serif; }
.cubiq-native .wrap{ max-width:1400px; margin:0 auto; padding:0 clamp(20px,4vw,56px); }
.cubiq-native a{ color:inherit; text-decoration:none; }
.cubiq-native img,.cubiq-native svg{ display:block; }
.cubiq-native ul{ list-style:none; margin:0; padding:0; }

/* Subtle infinite grid texture, sits behind everything — dashed lines
   (not dots) with a tiny diamond marking each intersection. Only fades in
   over the first ~320px (below the header) so it doesn't cut hard against
   the hero; --grid-pattern already carries the right intensity per theme,
   so nothing else here needs to change between themes. */
.cubiq-native .bg-grid{
  position:absolute; inset:0; z-index:0; pointer-events:none;
  background-image:var(--grid-pattern);
  background-size:68px 68px;
  -webkit-mask-image: linear-gradient(to bottom, transparent, black 320px);
  mask-image: linear-gradient(to bottom, transparent, black 320px);
}

/* Large, soft, low-opacity color blobs — gives the background a sense of
   infinite 3D depth alongside the grid, instead of a flat fill. */
.cubiq-native .bg-glow{
  position:fixed; inset:0; z-index:0; pointer-events:none; overflow:hidden;
  background:
    radial-gradient(760px 760px at 10% 6%, color-mix(in srgb, var(--hero-vivid-1) 7%, transparent), transparent 62%),
    radial-gradient(820px 820px at 94% 34%, color-mix(in srgb, var(--hero-vivid-2) 6%, transparent), transparent 62%);
  transition:opacity .4s ease;
}
@media (prefers-color-scheme: dark){
:where(html:not([data-cubiq-theme])) .cubiq-native.cubiq-native .bg-glow{
  background:
    radial-gradient(760px 760px at 10% 6%, color-mix(in srgb, var(--hero-vivid-1) 14%, transparent), transparent 62%),
    radial-gradient(820px 820px at 94% 34%, color-mix(in srgb, var(--hero-vivid-2) 10%, transparent), transparent 62%);
}
}
@media (min-width: 0px){
:where(html[data-cubiq-theme="dark"]) .cubiq-native.cubiq-native .bg-glow{
  background:
    radial-gradient(760px 760px at 10% 6%, color-mix(in srgb, var(--hero-vivid-1) 14%, transparent), transparent 62%),
    radial-gradient(820px 820px at 94% 34%, color-mix(in srgb, var(--hero-vivid-2) 10%, transparent), transparent 62%);
}
}

/* Vignette: nearly invisible in light mode, noticeably deepens the edges
   in dark mode so it doesn't read as flat black. */
.cubiq-native .bg-vignette{
  position:fixed; inset:0; z-index:0; pointer-events:none;
  background:radial-gradient(ellipse 120% 90% at 50% 20%, transparent 50%, rgba(26,16,52,0.07) 100%);
  transition:opacity .4s ease;
}
@media (prefers-color-scheme: dark){
:where(html:not([data-cubiq-theme])) .cubiq-native.cubiq-native .bg-vignette{
  background:radial-gradient(ellipse 120% 90% at 50% 15%, transparent 40%, rgba(6,3,14,0.72) 100%);
}
}
@media (min-width: 0px){
:where(html[data-cubiq-theme="dark"]) .cubiq-native.cubiq-native .bg-vignette{
  background:radial-gradient(ellipse 120% 90% at 50% 15%, transparent 40%, rgba(6,3,14,0.72) 100%);
}
}

.cubiq-native header, .cubiq-native main, .cubiq-native footer{ position:relative; z-index:1; }

.cubiq-native .skip-link{
  position:absolute; left:-999px; top:0; background:var(--primary-100); color:#fff;
  padding:10px 16px; z-index:200; border-radius:0 0 8px 0;
}
.cubiq-native .skip-link:focus{ left:0; }

.cubiq-native :focus-visible{ outline:2px solid var(--accent-100); outline-offset:2px; }

.cubiq-native .pixel-heading{
  font-family:'Gabarito','Onest',system-ui,sans-serif;
  font-weight:700;
  letter-spacing:0.5px;
  line-height:1.05;
  font-size:clamp(56px,7.5vw,94px);
  margin:0 0 20px;
  text-transform:uppercase;
}
.cubiq-native .pixel-heading.small{ font-size:clamp(40px,4.6vw,60px); margin-bottom:14px; }
.cubiq-native .pixel-heading.center{ text-align:center; }
.cubiq-native .text-primary{ color:var(--primary-100); }

.cubiq-native .btn{
  display:inline-flex; align-items:center; justify-content:center; gap:6px;
  padding:14px 28px; border-radius:9px; font-size:15px; font-weight:600;
  cursor:pointer; border:1.5px solid transparent; transition:transform .15s ease, opacity .15s ease, box-shadow .2s ease;
  font-family:'Onest',system-ui,sans-serif;
}
.cubiq-native .btn:hover{ transform:translateY(-2px); box-shadow:var(--shadow); }
.cubiq-native .btn-solid{ background:var(--primary-100); color:#fff; }
.cubiq-native .btn-solid:hover{ opacity:0.92; }
.cubiq-native .btn-outline{ background:transparent; border-color:var(--primary-100); color:var(--primary-100); }
.cubiq-native .btn-glass{
  background:var(--glass-bg); border-color:var(--glass-border); color:var(--text-100);
  backdrop-filter:blur(14px); -webkit-backdrop-filter:blur(14px);
}
.cubiq-native .btn-glass:hover{ background:var(--glass-bg-strong); }
.cubiq-native .btn-glass-outline{ border-color:var(--primary-100); }
.cubiq-native .btn-sm{ padding:9px 20px; }
.cubiq-native .btn.full{ width:100%; }

/* ===== Reveal on scroll ===== */
.cubiq-native .reveal{ opacity:0; transform:translateY(28px); transition:opacity .7s ease, transform .7s ease; }
.cubiq-native .reveal.in-view{ opacity:1; transform:translateY(0); }
.cubiq-native .product-grid .reveal:nth-child(2){ transition-delay:.08s; }
.cubiq-native .product-grid .reveal:nth-child(3){ transition-delay:.16s; }
.cubiq-native .product-grid .reveal:nth-child(4){ transition-delay:.24s; }
.cubiq-native .video-grid .reveal:nth-child(2){ transition-delay:.08s; }
.cubiq-native .video-grid .reveal:nth-child(3){ transition-delay:.16s; }
.cubiq-native .pricing-grid .reveal:nth-child(2){ transition-delay:.08s; }
.cubiq-native .pricing-grid .reveal:nth-child(3){ transition-delay:.16s; }
.cubiq-native .release-grid .reveal:nth-child(2){ transition-delay:.08s; }
.cubiq-native .release-grid .reveal:nth-child(3){ transition-delay:.16s; }

@media (prefers-reduced-motion: reduce){
  .cubiq-native .reveal{ opacity:1 !important; transform:none !important; transition:none !important; }
}

/* ===== Header ===== */
.cubiq-native .site-header{
  position:sticky; top:0; z-index:100;
  background:transparent; border-bottom:1px solid transparent;
  transition:background .4s ease, backdrop-filter .4s ease, border-color .4s ease, box-shadow .4s ease;
}
.cubiq-native .site-header.scrolled{
  /* Blur radius was 18px — a backdrop-filter's blur kernel samples well
     beyond the element's own box, so at that radius it visibly hazed a
     strip of the hero content sitting just below the header instead of
     staying contained. Smaller radius + a touch more opacity gives the
     same frosted-glass read without the bleed. */
  background:var(--glass-bg-strong);
  backdrop-filter:blur(9px) saturate(1.3);
  -webkit-backdrop-filter:blur(9px) saturate(1.3);
  border-bottom-color:var(--bg-300);
  box-shadow:0 8px 30px rgba(26,16,52,0.08);
}
.cubiq-native .header-inner{ display:flex; align-items:center; height:80px; gap:clamp(14px,2vw,28px); }
.cubiq-native .logo{ display:flex; align-items:center; gap:10px; flex-shrink:0; }
.cubiq-native .logo-mark{
  width:36px; height:36px; border-radius:10px; background:var(--primary-100); color:#fff;
  display:flex; align-items:center; justify-content:center; font-size:19px;
}
.cubiq-native .logo-text{ display:flex; flex-direction:column; line-height:1.15; }
.cubiq-native .logo-text strong{ font-size:14.5px; letter-spacing:0.5px; }
.cubiq-native .logo-text small{ font-size:10.5px; color:var(--text-200); }

.cubiq-native .main-nav{ display:flex; gap:26px; flex-shrink:0; }
.cubiq-native .main-nav a{ font-size:14.5px; font-weight:500; color:var(--text-100); }
.cubiq-native .main-nav a:hover{ color:var(--primary-100); }
.cubiq-native .main-nav a.active, .cubiq-native .mobile-nav a.active{ color:var(--primary-100); font-weight:700; }

.cubiq-native .header-actions{ display:flex; align-items:center; gap:12px; flex-shrink:0; }
.cubiq-native .icon-btn{
  width:38px; height:38px; border-radius:10px; border:1px solid var(--glass-border); background:var(--glass-bg);
  backdrop-filter:blur(10px); -webkit-backdrop-filter:blur(10px);
  font-size:18px; color:var(--text-200); cursor:pointer;
  position:relative; display:flex; align-items:center; justify-content:center;
  transition:border-color .15s ease, color .15s ease, background .15s ease;
}
.cubiq-native .icon-btn:hover{ color:var(--primary-100); border-color:var(--primary-100); background:var(--glass-bg-strong); }
.cubiq-native .cart-btn{ position:relative; }
.cubiq-native .cart-badge{
  position:absolute; top:-7px; right:-7px; background:#FF5A3C; color:#fff;
  font-size:10px; font-weight:700; border-radius:50%; width:17px; height:17px;
  display:flex; align-items:center; justify-content:center; border:2px solid var(--bg-100);
}
/* sem itens / sem notificações: nada de bolinha vazia */
.cubiq-native .cart-badge[hidden], .cubiq-native .notif-dot[hidden]{ display:none; }
.cubiq-native .discord-link{ display:flex; align-items:center; gap:6px; font-size:13.5px; color:var(--text-200); white-space:nowrap; }
.cubiq-native .discord-link:hover{ color:var(--primary-100); }

/* Bolsinha de créditos no header — mesma altura dos icon-btn ao lado */
.cubiq-native .credits-pouch{
  display:flex; align-items:center; gap:7px; height:38px; padding:0 14px;
  border-radius:999px; background:var(--glass-bg); border:1px solid var(--glass-border);
  backdrop-filter:blur(10px); -webkit-backdrop-filter:blur(10px);
  font-size:13px; font-weight:800; color:var(--text-100); white-space:nowrap;
}
.cubiq-native .credits-pouch .cubit-ico{ width:16px; height:16px; }

.cubiq-native .theme-toggle{
  width:48px; height:27px; border-radius:20px; background:var(--bg-300); border:none;
  position:relative; cursor:pointer; flex-shrink:0;
}
.cubiq-native .theme-toggle i{ position:absolute; top:50%; transform:translateY(-50%); font-size:13px; color:var(--text-200); }
.cubiq-native .theme-toggle .ti-sun{ left:6px; }
.cubiq-native .theme-toggle .ti-moon{ right:6px; }
.cubiq-native .theme-knob{
  position:absolute; top:3px; left:3px; width:21px; height:21px; border-radius:50%;
  background:var(--primary-100); transition:left .25s ease; box-shadow:var(--shadow);
}
@media (prefers-color-scheme: dark){
:where(html:not([data-cubiq-theme])) .cubiq-native.cubiq-native .theme-knob{ left:24px; }
}
@media (min-width: 0px){
:where(html[data-cubiq-theme="dark"]) .cubiq-native.cubiq-native .theme-knob{ left:24px; }
}

.cubiq-native .hamburger{ display:none; flex-direction:column; gap:4px; background:none; border:none; cursor:pointer; padding:6px; }
.cubiq-native .hamburger span{ width:20px; height:2px; background:var(--text-100); border-radius:2px; }
.cubiq-native .mobile-nav{ display:none; flex-direction:column; padding:14px 48px 20px; gap:16px; background:var(--card-bg); border-top:1px solid var(--bg-300); }
.cubiq-native .mobile-nav.open{ display:flex; }

/* ===== Section base ===== */
.cubiq-native section{ padding:76px 0; position:relative; }
.cubiq-native .hero{ min-height:92vh; display:flex; align-items:center; }
.cubiq-native .hero > .wrap{ width:100%; }

.cubiq-native .section-head{ display:flex; align-items:baseline; justify-content:space-between; margin-bottom:44px; flex-wrap:wrap; gap:10px; }
.cubiq-native .link-arrow{ font-size:14px; font-weight:600; color:var(--primary-100); display:flex; align-items:center; gap:4px; }
.cubiq-native .link-arrow:hover{ gap:8px; transition:gap .15s ease; }

/* Sections with a light-blue tint background instead of the neutral
   grey/warm --bg-200, plus a blurred blob at the seam so the transition
   from the section above doesn't cut abruptly. */
/* Sem blocos de cor por seção: o tom aparece e desaparece em gradiente,
   então não existe linha visível onde uma seção começa ou termina. */
.cubiq-native .panel-tint{
  background-color:transparent;
  background-image:linear-gradient(180deg,
    transparent 0%,
    color-mix(in srgb, var(--panel-tint) 55%, transparent) 30%,
    color-mix(in srgb, var(--panel-tint) 55%, transparent) 70%,
    transparent 100%);
  overflow:hidden;
  /* Very light hairline so the seam from a tinted section into a plain
     one reads as an intentional edge, not just a soft color fade. */
  border-top:1px solid color-mix(in srgb, var(--bg-300) 40%, transparent);
}
.cubiq-native .section-blend{
  position:absolute; top:0; left:50%; width:130%; height:320px;
  transform:translate(-50%,-50%);
  background:radial-gradient(ellipse 60% 100% at 50% 50%, color-mix(in srgb, var(--hero-vivid-2) 7%, transparent), transparent 72%);
  filter:blur(60px); pointer-events:none; z-index:0;
}
@media (prefers-color-scheme: dark){
:where(html:not([data-cubiq-theme])) .cubiq-native.cubiq-native .section-blend{
  background:radial-gradient(ellipse 60% 100% at 50% 50%, color-mix(in srgb, var(--hero-vivid-1) 12%, transparent), transparent 72%);
}
}
@media (min-width: 0px){
:where(html[data-cubiq-theme="dark"]) .cubiq-native.cubiq-native .section-blend{
  background:radial-gradient(ellipse 60% 100% at 50% 50%, color-mix(in srgb, var(--hero-vivid-1) 12%, transparent), transparent 72%);
}
}
.cubiq-native .panel-tint > .wrap{ position:relative; z-index:1; }

/* ===== Hero ===== */
.cubiq-native .hero{ overflow:hidden; }

/* One smooth curved band instead of a hard diagonal cut — a single path
   filled with a real gradient (not stacked semi-transparent layers, which
   read as abrupt banding). Colors are the fixed --hero-vivid-1/2 tokens
   (same in both themes) so this stays a vivid pop regardless of theme. */
/* Campo verde ocupando todo o lado direito do hero: a borda esquerda é
   uma única curva contínua (dois cubics com tangentes alinhadas) e o resto
   sangra até a direita. O fade em cima/embaixo é curto — só o suficiente
   para não cortar reto contra o header e a seção seguinte. */
.cubiq-native .hero-shape{
  position:absolute; top:0; right:0; width:92%; height:100%;
  pointer-events:none; z-index:0; overflow:hidden;
  background:
    /* bloom quente no canto superior direito */
    radial-gradient(122% 94% at 104% -8%,
      color-mix(in srgb, var(--hero-vivid-2) 96%, #fff) 0%,
      color-mix(in srgb, var(--hero-vivid-2) 82%, transparent) 26%,
      color-mix(in srgb, var(--hero-vivid-2) 44%, transparent) 50%,
      color-mix(in srgb, var(--hero-vivid-2) 12%, transparent) 68%,
      transparent 84%),
    /* massa profunda descendo pela direita */
    radial-gradient(92% 125% at 98% 94%,
      color-mix(in srgb, var(--hero-vivid-1) 72%, transparent) 0%,
      color-mix(in srgb, var(--hero-vivid-1) 30%, transparent) 42%,
      transparent 74%),
    /* dissolve diagonal — nada de corte reto */
    linear-gradient(112deg,
      transparent 10%,
      color-mix(in srgb, var(--hero-vivid-2) 12%, transparent) 34%,
      color-mix(in srgb, var(--hero-vivid-2) 42%, transparent) 58%,
      color-mix(in srgb, var(--hero-vivid-1) 78%, transparent) 88%,
      color-mix(in srgb, var(--hero-vivid-1) 88%, transparent) 100%);
  -webkit-mask-image:linear-gradient(178deg, black 0%, black 62%, transparent 99%);
  mask-image:linear-gradient(178deg, black 0%, black 62%, transparent 99%);
}
/* Highlight: uma cunha diagonal de borda reta no canto superior direito,
   como na referência — divide o campo em dois tons, não é um borrão. */
.cubiq-native .hero-sheen{
  position:absolute; top:-60%; right:-46%; width:70%; height:220%;
  transform:rotate(34deg); transform-origin:top right; pointer-events:none;
  background:linear-gradient(90deg,
    rgba(255,255,255,0.62) 0%,
    rgba(255,255,255,0.50) 6%,
    rgba(255,255,255,0.26) 34%,
    rgba(255,255,255,0.10) 68%,
    rgba(255,255,255,0.03) 100%);
  /* dissolve na ponta de baixo para a cunha não fechar em losango */
  -webkit-mask-image:linear-gradient(180deg, black 0%, black 44%, transparent 86%);
  mask-image:linear-gradient(180deg, black 0%, black 44%, transparent 86%);
  filter:blur(0.5px); opacity:1;
}
@media (prefers-color-scheme: dark){
:where(html:not([data-cubiq-theme])) .cubiq-native.cubiq-native .hero-shape{
  background:
    radial-gradient(122% 94% at 104% -8%,
      color-mix(in srgb, var(--hero-vivid-2) 92%, #C77BFF) 0%,
      color-mix(in srgb, var(--hero-vivid-2) 88%, transparent) 28%,
      color-mix(in srgb, var(--hero-vivid-2) 46%, transparent) 52%,
      color-mix(in srgb, var(--hero-vivid-2) 14%, transparent) 70%,
      transparent 86%),
    radial-gradient(92% 125% at 98% 94%,
      color-mix(in srgb, var(--hero-vivid-1) 88%, transparent) 0%,
      color-mix(in srgb, var(--hero-vivid-1) 38%, transparent) 44%,
      transparent 76%),
    linear-gradient(112deg,
      transparent 8%,
      color-mix(in srgb, var(--hero-vivid-2) 16%, transparent) 32%,
      color-mix(in srgb, var(--hero-vivid-2) 48%, transparent) 58%,
      color-mix(in srgb, var(--hero-vivid-1) 88%, transparent) 88%,
      var(--hero-vivid-1) 100%);
}
}
@media (min-width: 0px){
:where(html[data-cubiq-theme="dark"]) .cubiq-native.cubiq-native .hero-shape{
  background:
    radial-gradient(122% 94% at 104% -8%,
      color-mix(in srgb, var(--hero-vivid-2) 92%, #C77BFF) 0%,
      color-mix(in srgb, var(--hero-vivid-2) 88%, transparent) 28%,
      color-mix(in srgb, var(--hero-vivid-2) 46%, transparent) 52%,
      color-mix(in srgb, var(--hero-vivid-2) 14%, transparent) 70%,
      transparent 86%),
    radial-gradient(92% 125% at 98% 94%,
      color-mix(in srgb, var(--hero-vivid-1) 88%, transparent) 0%,
      color-mix(in srgb, var(--hero-vivid-1) 38%, transparent) 44%,
      transparent 76%),
    linear-gradient(112deg,
      transparent 8%,
      color-mix(in srgb, var(--hero-vivid-2) 16%, transparent) 32%,
      color-mix(in srgb, var(--hero-vivid-2) 48%, transparent) 58%,
      color-mix(in srgb, var(--hero-vivid-1) 88%, transparent) 88%,
      var(--hero-vivid-1) 100%);
}
}
/* No dark o highlight não pode ser branco — vira uma luz violeta suave,
   senão o degradê parece ir do roxo pro branco. */
@media (prefers-color-scheme: dark){
:where(html:not([data-cubiq-theme])) .cubiq-native.cubiq-native .hero-sheen{
  background:linear-gradient(90deg,
    rgba(238,197,255,0.52) 0%,
    rgba(226,176,255,0.42) 6%,
    rgba(205,135,255,0.22) 34%,
    rgba(199,123,255,0.09) 68%,
    rgba(199,123,255,0.02) 100%);
}
}
@media (min-width: 0px){
:where(html[data-cubiq-theme="dark"]) .cubiq-native.cubiq-native .hero-sheen{
  background:linear-gradient(90deg,
    rgba(238,197,255,0.52) 0%,
    rgba(226,176,255,0.42) 6%,
    rgba(205,135,255,0.22) 34%,
    rgba(199,123,255,0.09) 68%,
    rgba(199,123,255,0.02) 100%);
}
}
/* Segunda lâmina, mais estreita e à frente da primeira. */
.cubiq-native .hero-sheen-2{
  top:-52%; right:-14%; width:34%; height:200%;
  transform:rotate(29deg);
  background:linear-gradient(90deg,
    rgba(255,255,255,0.44) 0%,
    rgba(255,255,255,0.30) 8%,
    rgba(255,255,255,0.12) 46%,
    rgba(255,255,255,0.02) 100%);
  -webkit-mask-image:linear-gradient(180deg, black 0%, black 38%, transparent 80%);
  mask-image:linear-gradient(180deg, black 0%, black 38%, transparent 80%);
}
@media (prefers-color-scheme: dark){
:where(html:not([data-cubiq-theme])) .cubiq-native.cubiq-native .hero-sheen-2{
  background:linear-gradient(90deg,
    rgba(244,214,255,0.40) 0%,
    rgba(230,183,255,0.28) 8%,
    rgba(205,135,255,0.11) 46%,
    rgba(199,123,255,0.02) 100%);
}
}
@media (min-width: 0px){
:where(html[data-cubiq-theme="dark"]) .cubiq-native.cubiq-native .hero-sheen-2{
  background:linear-gradient(90deg,
    rgba(244,214,255,0.40) 0%,
    rgba(230,183,255,0.28) 8%,
    rgba(205,135,255,0.11) 46%,
    rgba(199,123,255,0.02) 100%);
}
}

.cubiq-native .hero-inner{ display:grid; grid-template-columns:1.05fr 1fr; gap:56px; align-items:center; position:relative; }
.cubiq-native .pill{
  display:inline-flex; align-items:center; gap:7px; background:var(--primary-300); color:var(--accent-200);
  font-size:12px; font-weight:700; letter-spacing:0.5px; padding:7px 16px; border-radius:20px; margin-bottom:16px;
}
.cubiq-native .pill i{ font-size:13px; }
.cubiq-native .hero-lead{ color:var(--text-200); font-size:18px; max-width:500px; margin:0 0 30px; }
.cubiq-native .hero-ctas{ display:flex; gap:16px; margin-bottom:40px; flex-wrap:wrap; }
.cubiq-native .trust-row{ display:flex; gap:32px; flex-wrap:wrap; }
.cubiq-native .trust-row li{ display:flex; align-items:center; gap:9px; font-size:13.5px; color:var(--text-200); }
.cubiq-native .trust-row i{ font-size:23px; color:var(--primary-100); }
.cubiq-native .trust-row strong{ display:block; color:var(--text-100); font-size:13.5px; font-weight:600; }

.cubiq-native .hero-render-wrap{ position:relative; display:flex; align-items:center; justify-content:center; min-height:560px; }
.cubiq-native .hero-render{
  width:100%; max-width:660px; aspect-ratio:1/1; border-radius:0;
  background:none; box-shadow:none;
  display:flex; align-items:center; justify-content:center;
  transition:transform .45s cubic-bezier(.2,.8,.2,1), opacity .45s ease; position:relative;
  animation:heroFloat 7s ease-in-out infinite;
}
.cubiq-native .hero-build-img{
  width:100%; height:100%; object-fit:contain;
  filter:drop-shadow(0 26px 34px rgba(16,9,38,0.46));
  transition:opacity .3s ease;
}
@keyframes heroFloat{
  0%,100%{ transform:translateY(0); }
  50%{ transform:translateY(-14px); }
}
.cubiq-native .hero-render:hover{ transform:scale(1.03); }
.cubiq-native .render-note{
  position:absolute; bottom:-14px; left:50%; transform:translateX(-50%); white-space:nowrap;
  max-width:92%; overflow:hidden; text-overflow:ellipsis; z-index:1;
  font-family:'Onest',system-ui,sans-serif; font-size:11.5px; font-weight:500; letter-spacing:0.04em;
  color:#fff; background:rgba(18,11,36,0.6); border:1px solid rgba(255,255,255,0.18);
  backdrop-filter:blur(8px); -webkit-backdrop-filter:blur(8px);
  padding:6px 14px; border-radius:20px;
}

/* Auto-rotating build showcase: slides out to one side + shrinks, the
   next build slides in from the opposite side. */
.cubiq-native .hero-render.slide-out-left{ transform:translateX(-36px) scale(0.88); opacity:0; }
.cubiq-native .hero-render.slide-out-right{ transform:translateX(36px) scale(0.88); opacity:0; }
.cubiq-native .hero-render.slide-in-from-right{ transition:none; transform:translateX(36px) scale(0.88); opacity:0; }
.cubiq-native .hero-render.slide-in-from-left{ transition:none; transform:translateX(-36px) scale(0.88); opacity:0; }

.cubiq-native .hero-nav{
  position:absolute; top:50%; transform:translateY(-50%); z-index:3;
  width:42px; height:42px; border-radius:50%; border:1px solid var(--glass-border);
  background:var(--glass-bg); backdrop-filter:blur(10px); -webkit-backdrop-filter:blur(10px);
  color:var(--text-100); font-size:17px; cursor:pointer; display:flex; align-items:center; justify-content:center;
  opacity:0; pointer-events:none; transition:opacity .2s ease, background .15s ease;
}
.cubiq-native .hero-render-wrap:hover .hero-nav{ opacity:1; pointer-events:auto; }
.cubiq-native .hero-nav:hover{ background:var(--glass-bg-strong); }
.cubiq-native .hero-nav-prev{ left:2px; }
.cubiq-native .hero-nav-next{ right:2px; }

/* Blurred elliptical contact shadow under the render, to seat it into the
   hero background instead of floating flat. */
.cubiq-native .hero-shadow-ellipse{
  position:absolute; left:50%; bottom:2%; width:70%; max-width:460px; height:56px;
  transform:translateX(-50%); border-radius:50%;
  background:radial-gradient(ellipse, rgba(22,13,46,0.34) 0%, rgba(22,13,46,0) 72%);
  filter:blur(6px); z-index:-1;
}
@media (prefers-color-scheme: dark){
:where(html:not([data-cubiq-theme])) .cubiq-native.cubiq-native .hero-shadow-ellipse{
  background:radial-gradient(ellipse, rgba(0,0,0,0.55) 0%, rgba(0,0,0,0) 72%);
}
}
@media (min-width: 0px){
:where(html[data-cubiq-theme="dark"]) .cubiq-native.cubiq-native .hero-shadow-ellipse{
  background:radial-gradient(ellipse, rgba(0,0,0,0.55) 0%, rgba(0,0,0,0) 72%);
}
}

.cubiq-native .glass-card{
  position:absolute; display:flex; align-items:center; gap:10px;
  background:var(--glass-bg); border:1px solid var(--glass-border);
  backdrop-filter:blur(16px); -webkit-backdrop-filter:blur(16px);
  border-radius:14px; padding:13px 18px;
  box-shadow:var(--shadow); animation:float 5s ease-in-out infinite;
}
.cubiq-native .glass-card i{ font-size:23px; color:var(--primary-100); }
.cubiq-native .glass-card strong{ display:block; font-size:13.5px; }
.cubiq-native .glass-card span{ font-size:11.5px; color:var(--text-200); }
.cubiq-native .card-preview{ top:2%; right:-6%; }
.cubiq-native .card-stats{ bottom:32%; right:-8%; animation-delay:1s; }

@keyframes float{
  0%,100%{ transform:translateY(0); }
  50%{ transform:translateY(-8px); }
}

/* ===== How it works ===== */
.cubiq-native .how-it-works{ padding:68px 0 76px; }
.cubiq-native .section-head-center{ text-align:center; max-width:640px; margin:0 auto 56px; }
.cubiq-native .section-head-center .pixel-heading{ margin-bottom:12px; }
.cubiq-native .section-lead{ color:var(--text-200); font-size:16px; margin:14px 0 0; }

.cubiq-native .steps-row{ display:grid; grid-template-columns:repeat(4,1fr); gap:32px; position:relative; }
.cubiq-native .steps-row::before{
  content:""; position:absolute; top:19px; left:12.5%; right:12.5%; height:0;
  border-top:2px dashed var(--bg-300); z-index:0;
  transform:scaleX(0); transform-origin:left; transition:transform 1s cubic-bezier(.2,.8,.2,1);
}
.cubiq-native .steps-row.in-view::before{ transform:scaleX(1); }

.cubiq-native .step{
  position:relative; text-align:center; z-index:1;
  opacity:0; transform:translateY(16px); transition:opacity .55s ease, transform .55s ease;
}
.cubiq-native .steps-row.in-view .step{ opacity:1; transform:translateY(0); }
.cubiq-native .steps-row.in-view .step:nth-child(2){ transition-delay:.12s; }
.cubiq-native .steps-row.in-view .step:nth-child(3){ transition-delay:.24s; }
.cubiq-native .steps-row.in-view .step:nth-child(4){ transition-delay:.36s; }

.cubiq-native .step-num{
  display:flex; align-items:center; justify-content:center; margin:0 auto 20px;
  width:38px; height:38px; border-radius:50%; background:var(--bg-100); border:2px solid var(--primary-100);
  color:var(--primary-100); font-family:'Onest',system-ui,sans-serif; font-size:12.5px; font-weight:600;
  position:relative; z-index:1;
}
.cubiq-native .step-icon{ display:block; font-size:34px; color:var(--primary-100); margin:0 0 14px; }
.cubiq-native .step h3{ font-size:16.5px; margin:0 0 8px; }
.cubiq-native .step p{ font-size:13.5px; color:var(--text-200); line-height:1.55; max-width:230px; margin:0 auto; }

/* ===== Featured products ===== */
/* Carousel: a horizontally-scrolling track with prev/next buttons either
   side. scroll-snap here is scoped to this one element's own horizontal
   overflow — unrelated to (and safe alongside) normal page scrolling. */
.cubiq-native .carousel-wrap{ position:relative; display:flex; align-items:center; gap:10px; }
.cubiq-native .product-grid{
  display:flex; gap:26px; overflow-x:auto; scroll-snap-type:x mandatory; scroll-behavior:smooth;
  padding:22px 4px 34px; flex:1; min-width:0; scrollbar-width:none;
  -webkit-mask-image:linear-gradient(to right, rgba(0,0,0,0.45) 0, black 16px, black calc(100% - 16px), rgba(0,0,0,0.45) 100%);
  mask-image:linear-gradient(to right, rgba(0,0,0,0.45) 0, black 16px, black calc(100% - 16px), rgba(0,0,0,0.45) 100%);
}
.cubiq-native .product-grid::-webkit-scrollbar{ display:none; }
.cubiq-native .carousel-nav{
  flex:0 0 auto; width:44px; height:44px; border-radius:50%; border:1px solid var(--bg-300);
  background:var(--bg-100); color:var(--text-200); font-size:18px; cursor:pointer;
  display:flex; align-items:center; justify-content:center;
  transition:border-color .15s ease, color .15s ease, opacity .15s ease;
}
.cubiq-native .carousel-nav:hover{ border-color:var(--primary-100); color:var(--primary-100); }
.cubiq-native .carousel-nav:disabled{ opacity:0.35; cursor:default; pointer-events:none; }
.cubiq-native .product-card{
  flex:0 0 calc((100% - 78px) / 4); scroll-snap-align:start;
  background:var(--glass-bg-strong); border:1px solid var(--glass-border); border-radius:18px; overflow:hidden;
  transition:transform .2s ease, box-shadow .2s ease; position:relative;
  backdrop-filter:blur(18px) saturate(1.3); -webkit-backdrop-filter:blur(18px) saturate(1.3);
  display:flex; flex-direction:column;
}
.cubiq-native .product-card::before{
  content:""; position:absolute; inset:0; z-index:1; pointer-events:none;
  background:linear-gradient(115deg, rgba(255,255,255,0.35) 0%, rgba(255,255,255,0) 30%, rgba(255,255,255,0) 72%, rgba(255,255,255,0.14) 100%);
}
@media (prefers-color-scheme: dark){
:where(html:not([data-cubiq-theme])) .cubiq-native.cubiq-native .product-card::before{
  background:linear-gradient(115deg, rgba(255,255,255,0.10) 0%, rgba(255,255,255,0) 30%, rgba(255,255,255,0) 72%, rgba(255,255,255,0.05) 100%);
}
}
@media (min-width: 0px){
:where(html[data-cubiq-theme="dark"]) .cubiq-native.cubiq-native .product-card::before{
  background:linear-gradient(115deg, rgba(255,255,255,0.10) 0%, rgba(255,255,255,0) 30%, rgba(255,255,255,0) 72%, rgba(255,255,255,0.05) 100%);
}
}
.cubiq-native .product-card:hover{ transform:translateY(-6px) scale(1.015); box-shadow:var(--shadow-lg); }
@media (prefers-color-scheme: dark){
:where(html:not([data-cubiq-theme])) .cubiq-native.cubiq-native .product-card:hover{
  box-shadow:var(--shadow-lg), 0 0 24px -6px color-mix(in srgb, var(--hero-vivid-2) 45%, transparent);
}
}
@media (min-width: 0px){
:where(html[data-cubiq-theme="dark"]) .cubiq-native.cubiq-native .product-card:hover{
  box-shadow:var(--shadow-lg), 0 0 24px -6px color-mix(in srgb, var(--hero-vivid-2) 45%, transparent);
}
}
.cubiq-native .featured-best{ border-color:var(--primary-100); border-width:2px; }
.cubiq-native .ribbon{
  position:absolute; top:12px; left:12px; z-index:2; background:var(--primary-100); color:#fff;
  font-size:10.5px; font-weight:700; padding:4px 10px; border-radius:20px; display:flex; align-items:center; gap:4px;
  animation:breathe 2.6s ease-in-out infinite;
}
.cubiq-native .ribbon.top{ position:static; display:inline-flex; margin:0 auto 12px; }
@keyframes breathe{
  0%,100%{ transform:scale(1); }
  50%{ transform:scale(1.06); }
}
.cubiq-native .product-media{
  position:relative; aspect-ratio:5/4; overflow:hidden;
  background-color:var(--media-color, var(--bg-200));
  background-image:repeating-linear-gradient(135deg, rgba(255,255,255,0.12) 0 11px, rgba(255,255,255,0) 11px 22px);
}
.cubiq-native .product-img{ width:100%; height:100%; display:flex; align-items:center; justify-content:center; transition:filter .25s ease; }
.cubiq-native .product-img i{ font-size:72px; color:rgba(255,255,255,0.7); }
.cubiq-native .badge-scrim{
  position:absolute; top:10px; right:10px; z-index:2; background:rgba(18,11,34,0.62); color:#fff;
  font-size:10.5px; font-weight:600; padding:4px 10px; border-radius:20px;
}
.cubiq-native .swatches{ position:absolute; bottom:10px; left:10px; display:flex; gap:6px; z-index:2; }
.cubiq-native .swatch{
  width:17px; height:17px; border-radius:50%; border:2px solid rgba(255,255,255,0.85); cursor:pointer; padding:0;
  transition:transform .15s ease;
}
.cubiq-native .swatch:hover, .cubiq-native .swatch:focus-visible{ transform:scale(1.25); border-color:var(--accent-100); }
.cubiq-native .product-info{ padding:20px 20px 22px; position:relative; z-index:2; display:flex; flex-direction:column; gap:10px; flex:1; }
.cubiq-native .product-info h3{ margin:0; font-size:18px; font-weight:800; letter-spacing:-0.01em; }
.cubiq-native .product-desc{ font-size:13.5px; color:var(--text-200); margin:0; line-height:1.5; }
.cubiq-native .rating{ display:flex; align-items:center; gap:6px; font-size:13px; color:var(--text-200); }
.cubiq-native .rating i{ color:#D4AF37; font-size:13.5px; }
.cubiq-native .rating span{ color:var(--text-200); }
.cubiq-native .rating .downloads{ margin-left:auto; display:flex; align-items:center; gap:5px; font-size:12px; color:var(--text-300); }
.cubiq-native .rating .downloads i{ color:var(--text-300); font-size:14px; }
.cubiq-native .price-row{
  display:flex; align-items:center; justify-content:space-between; gap:12px;
  margin-top:auto; padding-top:14px; border-top:1px solid var(--bg-300);
}
.cubiq-native .price{ display:flex; align-items:center; gap:6px; font-weight:800; font-size:15.5px; color:var(--accent-200); white-space:nowrap; }
.cubiq-native .price-row .add-btn{ flex:0 0 auto; }
.cubiq-native .price i{ color:var(--cubit); filter:drop-shadow(0 0 6px rgba(212,175,55,0.5)); }
.cubiq-native .add-btn{
  display:inline-flex; align-items:center; gap:6px; padding:10px 15px; border-radius:10px; border:none;
  background:var(--primary-100); color:#fff; font-family:inherit; font-size:12.5px; font-weight:700; cursor:pointer;
  transition:background .15s ease, transform .15s ease;
}
.cubiq-native .add-btn:hover{ background:var(--accent-200); }
@media (prefers-color-scheme: dark){
:where(html:not([data-cubiq-theme])) .cubiq-native.cubiq-native .add-btn:hover{ background:var(--primary-200); color:#120A24; }
}
@media (min-width: 0px){
:where(html[data-cubiq-theme="dark"]) .cubiq-native.cubiq-native .add-btn:hover{ background:var(--primary-200); color:#120A24; }
}
@media (prefers-color-scheme: dark){
:where(html:not([data-cubiq-theme])) .cubiq-native.cubiq-native .btn-solid, :where(html:not([data-cubiq-theme])) .cubiq-native.cubiq-native .add-btn, :where(html:not([data-cubiq-theme])) .cubiq-native.cubiq-native .logo-mark, :where(html:not([data-cubiq-theme])) .cubiq-native.cubiq-native .avatar{ color:#120A24; }
}
@media (min-width: 0px){
:where(html[data-cubiq-theme="dark"]) .cubiq-native.cubiq-native .btn-solid, :where(html[data-cubiq-theme="dark"]) .cubiq-native.cubiq-native .add-btn, :where(html[data-cubiq-theme="dark"]) .cubiq-native.cubiq-native .logo-mark, :where(html[data-cubiq-theme="dark"]) .cubiq-native.cubiq-native .avatar{ color:#120A24; }
}
.cubiq-native .add-btn.in-cart{ background:var(--primary-300); color:var(--accent-200); }

/* "See all" link, moved below the grid on Featured Builds / Learn to Build */
.cubiq-native .view-all-wrap{ display:flex; justify-content:center; margin-top:40px; }
.cubiq-native .link-arrow.big{ font-size:16px; padding:12px 4px; }
.cubiq-native .link-arrow.big i{ font-size:18px; }

/* ===== Layer viewer (merged with Learn to Build) =====
   Sized to fit one screen: both halves should be visible together without
   a lot of extra scrolling, allowing only slight overflow on shorter
   viewports. */
.cubiq-native .layer-viewer{ min-height:100vh; padding:64px 0; display:flex; align-items:center; }
/* Without the Learn to Build sub-block (premium.html), 100vh leaves a lot
   of dead space — this section is short enough to just size to content. */
.cubiq-native .layer-viewer.compact{ min-height:auto; padding:90px 0; }
.cubiq-native .layer-viewer > .wrap{ width:100%; }
.cubiq-native .layer-inner{ display:grid; grid-template-columns:1fr 1fr; gap:48px; align-items:center; }
.cubiq-native .layer-copy p{ color:var(--text-200); margin:14px 0 26px; max-width:440px; font-size:16px; }
/* Um único filho agora (o preview real) em vez da pilha + lista lado a
   lado que existiam quando isto era um mockup em CSS. */
.cubiq-native .layer-visual{ width:100%; }

/* ===== Preview 3D real (compartilhado: aqui e no painel "Guia 3D" de
   build.html) — girar, zoom por botão, nada além disso. O visualizador de
   verdade vive num iframe (guia3d/), então tudo aqui é só a moldura: caixa
   arredondada, legenda, botões de zoom que mandam postMessage pro iframe
   (build.js / script.js), e o convite pra ferramenta completa quando faz
   sentido tê-lo sobre o próprio preview. */
.cubiq-native .preview3d{
  position:relative; overflow:hidden; border-radius:14px;
  background:#100B20; border:1px solid rgba(255,255,255,0.09);
  min-height:380px;
}
@media (prefers-color-scheme: dark){
:where(html:not([data-cubiq-theme])) .cubiq-native.cubiq-native .preview3d{ background:#0A0714; }
}
@media (min-width: 0px){
:where(html[data-cubiq-theme="dark"]) .cubiq-native.cubiq-native .preview3d{ background:#0A0714; }
}

/* position:absolute + inset:0 em vez de height:100% — o pai só define
   min-height, nunca height, então seu height computado é "auto" e uma
   altura em porcentagem no filho resolveria contra isso como auto também
   (o filho volta pro PRÓPRIO min-height em vez de acompanhar o pai). Os
   dois min-heights coincidiam no desktop por acaso; absolute+inset nunca
   deixa os dois discordarem, seja qual for a regra que decidiu a altura. */
.cubiq-native .preview3d-stage{
  position:absolute; inset:0; overflow:hidden;
  background:radial-gradient(ellipse 60% 46% at 50% 62%, rgba(109,63,209,0.28), transparent 70%);
}
.cubiq-native .preview3d-frame{
  position:absolute; inset:0; width:100%; height:100%;
  border:0; display:block; background:transparent;
}
.cubiq-native .preview3d-stage.is-unavailable{ display:grid; place-items:center; }
.cubiq-native .preview3d-stage.is-unavailable .preview3d-hint{ position:static; font-size:12px; }

/* Por cima do iframe e sem capturar o ponteiro: é uma legenda, o arrasto
   tem que chegar ao preview por baixo dela. */
.cubiq-native .preview3d-hint{
  position:absolute; bottom:12px; left:14px; z-index:1;
  pointer-events:none;
  font-size:10.5px; letter-spacing:0.08em; text-transform:uppercase;
  color:rgba(255,255,255,0.55); transition:opacity .3s ease;
}

/* Zoom +/- sobre o preview. O clique manda uma mensagem pro iframe em vez
   de mexer em qualquer coisa daqui — o preview não expõe roda/pinça, pois
   ambas pertenceriam à rolagem da página. */
.cubiq-native .preview3d-zoom{
  position:absolute; top:12px; right:12px; z-index:2;
  display:flex; flex-direction:column; gap:6px;
}
.cubiq-native .preview3d-zoom-btn{
  width:30px; height:30px; border-radius:9px; cursor:pointer;
  display:flex; align-items:center; justify-content:center;
  background:rgba(10,7,20,0.55); border:1px solid rgba(255,255,255,0.14);
  color:rgba(255,255,255,0.85); font-size:14px;
  backdrop-filter:blur(6px); transition:background .15s ease, border-color .15s ease, transform .1s ease;
}
.cubiq-native .preview3d-zoom-btn:hover{ background:rgba(109,63,209,0.5); border-color:rgba(255,255,255,0.3); }
.cubiq-native .preview3d-zoom-btn:active{ transform:scale(0.92); }

/* O convite pra ferramenta completa, flutuando sobre o próprio preview —
   usado no painel de build.html; a vitrine da home dispensa (o botão já
   está ao lado, no texto). */
.cubiq-native .preview3d-cta{
  position:absolute; right:14px; bottom:12px; z-index:2;
  display:inline-flex; align-items:center; gap:7px;
  padding:9px 16px; border-radius:999px;
  font-family:'Onest',system-ui,sans-serif; font-size:12.5px; font-weight:700;
  color:#fff; text-decoration:none; white-space:nowrap;
  background:linear-gradient(135deg, var(--hero-vivid-2), #8A62E3);
  box-shadow:0 8px 20px -6px rgba(109,63,209,0.75);
  transition:transform .15s ease, box-shadow .15s ease;
}
.cubiq-native .preview3d-cta:hover{ transform:translateY(-1px); box-shadow:0 10px 24px -6px rgba(109,63,209,0.9); }
.cubiq-native .preview3d-cta.is-locked{
  background:rgba(255,255,255,0.1); box-shadow:none;
  border:1px solid rgba(255,255,255,0.18);
}
.cubiq-native .preview3d-stage.is-unavailable .preview3d-zoom,
.cubiq-native .preview3d-stage.is-unavailable .preview3d-cta{ display:none; }
@media (max-width:480px){
  .cubiq-native .preview3d-cta span{ display:none; }
}

/* ===== Ferramentas do guia 3D (grade de recursos, logo abaixo do preview) ===== */
.cubiq-native .tools-features{ padding:90px 0; }
.cubiq-native .tools-grid{
  display:grid; grid-template-columns:repeat(3, minmax(0,1fr)); gap:22px;
}
.cubiq-native .tool-card{
  padding:28px 26px; border-radius:16px;
  background:var(--bg-200); border:1px solid var(--bg-300);
  transition:border-color .18s ease, transform .18s ease;
}
.cubiq-native .tool-card:hover{ border-color:var(--primary-100); transform:translateY(-3px); }
.cubiq-native .tool-icon{
  width:46px; height:46px; margin-bottom:16px; border-radius:12px;
  display:flex; align-items:center; justify-content:center;
  background:var(--primary-300); color:var(--primary-100); font-size:22px;
}
.cubiq-native .tool-card h3{ font-size:16.5px; margin:0 0 8px; color:var(--text-100); }
.cubiq-native .tool-card p{ font-size:13.5px; line-height:1.6; color:var(--text-200); margin:0; }

.cubiq-native .tools-grid .reveal:nth-child(2){ transition-delay:.06s; }
.cubiq-native .tools-grid .reveal:nth-child(3){ transition-delay:.12s; }
.cubiq-native .tools-grid .reveal:nth-child(4){ transition-delay:.18s; }
.cubiq-native .tools-grid .reveal:nth-child(5){ transition-delay:.24s; }
.cubiq-native .tools-grid .reveal:nth-child(6){ transition-delay:.3s; }

@media (max-width:920px){
  .cubiq-native .tools-grid{ grid-template-columns:1fr 1fr; }
}
@media (max-width:600px){
  .cubiq-native .tools-grid{ grid-template-columns:1fr; }
}

/* ===== Learn to Build (secondary sub-block inside the layer-viewer section) ===== */
.cubiq-native .learn-block{ margin-top:32px; padding-top:26px; border-top:1px solid var(--bg-300); }
.cubiq-native .learn-head{ display:flex; align-items:baseline; justify-content:space-between; margin-bottom:16px; flex-wrap:wrap; gap:10px; }
.cubiq-native .learn-head h3{ font-size:18px; font-weight:800; margin:0; }
.cubiq-native .learn-head .link-arrow{ font-size:13.5px; }

.cubiq-native .video-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:26px; }
.cubiq-native .video-card{ border-radius:16px; overflow:hidden; background:var(--card-bg); border:1px solid var(--bg-300); transition:transform .2s ease, box-shadow .2s ease; }
.cubiq-native .video-card:hover{ transform:translateY(-4px); box-shadow:var(--shadow-lg); }
.cubiq-native .video-thumb{ position:relative; aspect-ratio:16/10; background:var(--bg-200); display:flex; align-items:center; justify-content:center; }
.cubiq-native .thumb-icon{ font-size:58px; color:var(--primary-100); opacity:0.7; }
.cubiq-native .play-btn{
  position:absolute; width:56px; height:56px; border-radius:50%; border:none; cursor:pointer;
  display:flex; align-items:center; justify-content:center; font-size:21px; color:var(--text-100);
  animation:none;
}
.cubiq-native .play-btn:hover{ transform:scale(1.08); }
.cubiq-native .duration{
  position:absolute; bottom:10px; right:10px; background:rgba(18,11,34,0.72); color:#fff;
  font-family:'Onest',system-ui,sans-serif; font-size:11px; padding:2px 8px; border-radius:6px;
}
.cubiq-native .video-info{ padding:16px 18px; }
.cubiq-native .video-info h3, .cubiq-native .video-info h4{ font-size:15.5px; margin:0 0 11px; }
.cubiq-native .creator{ display:flex; align-items:center; gap:8px; font-size:13px; color:var(--text-200); }
.cubiq-native .avatar{
  width:25px; height:25px; border-radius:50%; background:var(--primary-200); color:#fff;
  display:flex; align-items:center; justify-content:center; font-size:10.5px; font-weight:700; flex-shrink:0;
}

/* Compact variant: smaller thumbnails/text so this reads as the secondary
   half of the merged section, with the 3D viewer staying the dominant part. */
.cubiq-native .video-grid.compact{ gap:18px; }
.cubiq-native .video-grid.compact .video-thumb{ aspect-ratio:2/1; }
.cubiq-native .video-grid.compact .thumb-icon{ font-size:34px; }
.cubiq-native .video-grid.compact .play-btn{ width:38px; height:38px; font-size:14px; }
.cubiq-native .video-grid.compact .video-info{ padding:11px 14px; }
.cubiq-native .video-grid.compact .video-info h4{ font-size:13px; margin:0 0 6px; }
.cubiq-native .video-grid.compact .creator{ font-size:11.5px; }
.cubiq-native .video-grid.compact .avatar{ width:19px; height:19px; font-size:8.5px; }

/* ===== New releases ===== */
.cubiq-native .release-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:26px; }
.cubiq-native .release-card{
  background:var(--card-bg); border:1px solid var(--bg-300); border-radius:18px; overflow:hidden;
  transition:transform .2s ease, box-shadow .2s ease;
}
.cubiq-native .release-card:hover{ transform:translateY(-4px); box-shadow:var(--shadow-lg); }
.cubiq-native .release-media{
  position:relative; aspect-ratio:2/1; overflow:hidden;
  background-color:var(--media-color, var(--bg-200));
  background-image:repeating-linear-gradient(135deg, rgba(255,255,255,0.12) 0 11px, rgba(255,255,255,0) 11px 22px);
}
.cubiq-native .release-media .product-img i{ font-size:44px; color:rgba(255,255,255,0.7); }
.cubiq-native .badge-new{
  position:absolute; top:10px; left:10px; z-index:2; background:var(--accent-100); color:#2B2005;
  font-size:10.5px; font-weight:800; letter-spacing:0.04em; padding:4px 10px; border-radius:20px;
}
.cubiq-native .release-info{ padding:13px 16px 15px; }
.cubiq-native .release-info h3{ margin:0 0 6px; font-size:15.5px; }
.cubiq-native .release-info .rating{ font-size:12.5px; color:var(--text-200); }

/* ===== Pricing ===== */
.cubiq-native .pricing-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:28px; align-items:start; margin-top:40px; }
.cubiq-native .price-card{
  background:var(--card-bg); border:1px solid var(--bg-300); border-radius:20px; padding:32px 28px;
  text-align:center; display:flex; flex-direction:column; position:relative; z-index:1;
}
.cubiq-native .price-card h3{ font-size:13px; font-weight:800; text-transform:uppercase; letter-spacing:0.16em; color:var(--text-300); margin:0 0 14px; }
.cubiq-native .price-featured{ border:2px solid var(--primary-100); transform:translateY(-8px); box-shadow:var(--shadow-lg); }
@media (prefers-color-scheme: dark){
:where(html:not([data-cubiq-theme])) .cubiq-native.cubiq-native .price-featured{
  box-shadow:var(--shadow-lg), 0 0 32px -8px color-mix(in srgb, var(--hero-vivid-1) 45%, transparent);
}
}
@media (min-width: 0px){
:where(html[data-cubiq-theme="dark"]) .cubiq-native.cubiq-native .price-featured{
  box-shadow:var(--shadow-lg), 0 0 32px -8px color-mix(in srgb, var(--hero-vivid-1) 45%, transparent);
}
}
/* Subtle decorative accent on the highlighted plan — just a small
   floating sparkle, kept understated. */
.cubiq-native .price-sparkle{ display:none; }
@media (prefers-color-scheme: dark){
:where(html:not([data-cubiq-theme])) .cubiq-native.cubiq-native .ribbon{
  box-shadow:0 0 14px -2px color-mix(in srgb, var(--hero-vivid-2) 60%, transparent);
}
}
@media (min-width: 0px){
:where(html[data-cubiq-theme="dark"]) .cubiq-native.cubiq-native .ribbon{
  box-shadow:0 0 14px -2px color-mix(in srgb, var(--hero-vivid-2) 60%, transparent);
}
}
.cubiq-native .credits-big{ font-size:78px; color:var(--primary-100); margin:0; line-height:1; }
.cubiq-native .credits-label{ font-size:11.5px; letter-spacing:0.14em; color:var(--text-300); margin:8px 0 18px; font-weight:800; }
.cubiq-native .price-tag{ font-size:22px; font-weight:800; margin-bottom:6px; color:var(--text-100); }
.cubiq-native .price-tag span{ font-size:13px; font-weight:400; color:var(--text-300); }
.cubiq-native .price-note{ font-family:'Onest',system-ui,sans-serif; font-size:11.5px; color:var(--text-300); margin:0 0 24px; }
.cubiq-native .benefits{ text-align:left; margin-bottom:26px; }
.cubiq-native .benefits li{ display:flex; align-items:center; gap:10px; font-size:14px; color:var(--text-200); padding:7px 0; }
.cubiq-native .benefits i{ color:var(--primary-100); font-size:16px; }
.cubiq-native .price-card > .btn{ margin-top:auto; }

/* ===== Request project band ===== */
.cubiq-native .request-band{
  padding:64px 0; overflow:hidden; position:relative;
  background:linear-gradient(120deg, var(--hero-vivid-1), var(--hero-vivid-2));
}
.cubiq-native .request-inner{
  display:grid; grid-template-columns:1.1fr auto auto; align-items:center; gap:clamp(24px,4vw,56px);
  position:relative; z-index:1;
}
.cubiq-native .request-copy{ max-width:520px; }
.cubiq-native .request-eyebrow{ display:block; font-size:12.5px; font-weight:700; letter-spacing:0.08em; text-transform:uppercase; color:rgba(255,255,255,0.8); margin-bottom:10px; }
.cubiq-native .request-copy .pixel-heading{ color:#fff; margin:0 0 14px; }
.cubiq-native .request-copy p{ color:rgba(255,255,255,0.85); font-size:16px; margin:0 0 26px; }
.cubiq-native .btn-band{ background:#fff; color:var(--hero-vivid-1); }
.cubiq-native .btn-band:hover{ opacity:0.9; transform:translateY(-2px); }

/* Interactive "wheel of options" — 4 project styles arranged around a hub.
   Clicking one spins the wheel so it lands at the top, and swaps the
   build preview on the right to match. Icons counter-rotate so they stay
   upright while the wheel itself turns. */
.cubiq-native .request-wheel-wrap{ display:flex; flex-direction:column; align-items:center; gap:14px; }
.cubiq-native .request-wheel{
  position:relative; width:164px; height:164px; border-radius:50%;
  border:1.5px dashed rgba(255,255,255,0.35);
  transition:transform .6s cubic-bezier(.2,.8,.2,1);
}
.cubiq-native .wheel-hub{
  position:absolute; top:50%; left:50%; transform:translate(-50%,-50%);
  width:38px; height:38px; border-radius:50%; background:rgba(255,255,255,0.16);
  border:1px solid rgba(255,255,255,0.4); display:flex; align-items:center; justify-content:center;
  color:#fff; font-size:16px;
}
.cubiq-native .wheel-pos-top{ --pos-x:0px; --pos-y:-82px; }
.cubiq-native .wheel-pos-right{ --pos-x:82px; --pos-y:0px; }
.cubiq-native .wheel-pos-bottom{ --pos-x:0px; --pos-y:82px; }
.cubiq-native .wheel-pos-left{ --pos-x:-82px; --pos-y:0px; }
.cubiq-native .wheel-option{
  position:absolute; top:50%; left:50%; width:52px; height:52px; border-radius:50%;
  transform:translate(-50%,-50%) translate(var(--pos-x), var(--pos-y)) scale(var(--scale,1));
  background:rgba(255,255,255,0.14); border:1.5px solid rgba(255,255,255,0.5); color:#fff;
  display:flex; align-items:center; justify-content:center; font-size:20px; cursor:pointer; padding:0;
  transition:transform .3s ease, background .25s ease, box-shadow .25s ease;
}
.cubiq-native .wheel-option:hover{ background:rgba(255,255,255,0.26); }
.cubiq-native .wheel-option.active{ --scale:1.14; background:#fff; color:var(--hero-vivid-1); box-shadow:0 8px 20px rgba(22,13,46,0.34); }
.cubiq-native .wheel-option i{ transition:transform .6s cubic-bezier(.2,.8,.2,1); display:block; }
.cubiq-native .wheel-caption{ font-size:13px; font-weight:700; color:#fff; letter-spacing:0.02em; }

.cubiq-native .request-preview{
  position:relative; width:132px; height:132px; border-radius:22px; overflow:hidden;
  background-color:var(--media-color); display:flex; flex-direction:column; align-items:center; justify-content:center; gap:8px;
  background-image:repeating-linear-gradient(135deg, rgba(255,255,255,0.14) 0 11px, rgba(255,255,255,0) 11px 22px);
  box-shadow:0 20px 40px rgba(22,13,46,0.32); border:1px solid rgba(255,255,255,0.35);
  transition:background-color .4s ease;
}
.cubiq-native .request-preview i{ font-size:44px; color:rgba(255,255,255,0.92); transition:opacity .2s ease, transform .2s ease; }
.cubiq-native .request-preview-label{ font-size:10.5px; font-weight:700; color:rgba(255,255,255,0.9); text-align:center; padding:0 10px; line-height:1.3; }
.cubiq-native .request-preview.swap i, .cubiq-native .request-preview.swap .request-preview-label{ opacity:0; transform:translateY(4px); }

/* ===== Social proof ===== */
.cubiq-native .social-proof{ padding:60px 0; }
.cubiq-native .proof-grid{ display:grid; grid-template-columns:1.25fr 1fr; gap:26px; align-items:stretch; }
.cubiq-native .proof-metrics{ display:grid; grid-template-columns:repeat(auto-fit,minmax(170px,1fr)); gap:18px; }
.cubiq-native .metric{
  background:var(--card-bg); border:1px solid var(--bg-300); border-radius:16px; padding:26px 22px; text-align:center;
}
.cubiq-native .metric i{ font-size:23px; color:var(--primary-100); }
.cubiq-native .metric strong{ display:block; font-size:24px; margin:9px 0 3px; }
.cubiq-native .metric span{ font-size:12.5px; color:var(--text-300); }

.cubiq-native .proof-quote{
  margin:0; background:var(--text-100); border-radius:18px; padding:30px 32px;
  display:flex; flex-direction:column; justify-content:space-between; gap:22px; color:var(--bg-100);
}
@media (prefers-color-scheme: dark){
:where(html:not([data-cubiq-theme])) .cubiq-native.cubiq-native .proof-quote{ background:var(--bg-200); border:1px solid var(--bg-300); color:var(--text-100); }
}
@media (min-width: 0px){
:where(html[data-cubiq-theme="dark"]) .cubiq-native.cubiq-native .proof-quote{ background:var(--bg-200); border:1px solid var(--bg-300); color:var(--text-100); }
}
.cubiq-native .proof-quote blockquote{ margin:0; font-size:19px; line-height:1.5; font-weight:600; }
.cubiq-native .quote-footer{ display:flex; align-items:center; gap:14px; }
.cubiq-native .quote-footer .avatar{ width:40px; height:40px; font-size:13px; flex-shrink:0; }
.cubiq-native .quote-who{ display:flex; flex-direction:column; line-height:1.3; }
.cubiq-native .quote-who strong{ font-size:14px; }
.cubiq-native .quote-who small{ font-size:12px; color:var(--text-300); }
@media (prefers-color-scheme: dark){
:where(html:not([data-cubiq-theme])) .cubiq-native.cubiq-native .quote-who small{ color:var(--text-200); }
}
@media (min-width: 0px){
:where(html[data-cubiq-theme="dark"]) .cubiq-native.cubiq-native .quote-who small{ color:var(--text-200); }
}
.cubiq-native .quote-nav{ margin-left:auto; display:flex; gap:8px; }
.cubiq-native .quote-btn{
  width:36px; height:36px; border-radius:50%; border:1px solid rgba(255,255,255,0.25); background:transparent;
  color:var(--bg-100); font-size:16px; cursor:pointer; display:flex; align-items:center; justify-content:center;
  transition:background .15s ease;
}
.cubiq-native .quote-btn:hover{ background:rgba(255,255,255,0.12); }
@media (prefers-color-scheme: dark){
:where(html:not([data-cubiq-theme])) .cubiq-native.cubiq-native .quote-btn{ color:var(--text-100); border-color:var(--bg-300); }
}
@media (min-width: 0px){
:where(html[data-cubiq-theme="dark"]) .cubiq-native.cubiq-native .quote-btn{ color:var(--text-100); border-color:var(--bg-300); }
}
@media (prefers-color-scheme: dark){
:where(html:not([data-cubiq-theme])) .cubiq-native.cubiq-native .quote-btn:hover{ background:var(--bg-300); }
}
@media (min-width: 0px){
:where(html[data-cubiq-theme="dark"]) .cubiq-native.cubiq-native .quote-btn:hover{ background:var(--bg-300); }
}

/* ===== Footer ===== */
/* Request band + footer are treated as one paired unit (the "new footer")
   that closes out every page — no hard divider between them. */
.cubiq-native .site-footer{ padding:52px 0 22px; }
.cubiq-native .footer-inner{ display:grid; grid-template-columns:1.6fr repeat(4,1fr); gap:36px; }
.cubiq-native .footer-brand p{ color:var(--text-200); font-size:13.5px; margin:12px 0 16px; max-width:250px; }
.cubiq-native .socials{ display:flex; gap:14px; }
.cubiq-native .socials a{ color:var(--text-200); font-size:18px; }
.cubiq-native .socials a:hover{ color:var(--primary-100); }
.cubiq-native .footer-col h4{ font-size:13.5px; margin:0 0 14px; }
.cubiq-native .footer-col a{ display:block; font-size:13.5px; color:var(--text-200); padding:5px 0; }
.cubiq-native .footer-col a:hover{ color:var(--primary-100); }
.cubiq-native .copyright{ text-align:center; font-size:12.5px; color:var(--text-200); margin:44px 0 0; }

/* ===== Responsive ===== */
@media (max-width:1100px){
  .cubiq-native .hero{ min-height:auto; padding:80px 0; }
  .cubiq-native .layer-viewer{ min-height:auto; }
}
@media (max-width:1200px){
  .cubiq-native .product-card{ flex:0 0 calc((100% - 52px) / 3); }
  /* Em cards mais estreitos o preço + botão não cabem na mesma linha:
     o botão passa a ocupar a largura toda logo abaixo do preço. */
  .cubiq-native .product-card .price-row{ flex-wrap:wrap; }
  .cubiq-native .product-card .price-row .add-btn{ width:100%; justify-content:center; }
}
@media (max-width:860px){
  .cubiq-native .product-card{ flex:0 0 calc((100% - 26px) / 2); }
}
@media (max-width:560px){
  .cubiq-native .product-card{ flex:0 0 100%; }
}
@media (max-width:920px){
  .cubiq-native .main-nav{ display:none; }
  .cubiq-native .hamburger{ display:flex; }
  .cubiq-native .discord-link{ display:none; }
  .cubiq-native .hero-inner, .cubiq-native .layer-inner{ grid-template-columns:1fr; }
  .cubiq-native .hero-render-wrap{ order:-1; min-height:340px; }
  .cubiq-native .video-grid{ grid-template-columns:1fr; }
  .cubiq-native .pricing-grid{ grid-template-columns:1fr; }
  .cubiq-native .price-featured{ transform:none; }
  .cubiq-native .proof-grid{ grid-template-columns:1fr; }
  .cubiq-native .steps-row{ grid-template-columns:repeat(2,1fr); row-gap:44px; }
  .cubiq-native .steps-row::before{ display:none; }
  .cubiq-native .release-grid{ grid-template-columns:1fr; }
  .cubiq-native .request-inner{ grid-template-columns:1fr; text-align:center; justify-items:center; }
  .cubiq-native .request-copy{ max-width:100%; }
}
@media (max-width:520px){
  .cubiq-native .footer-inner{ grid-template-columns:1fr; }
  .cubiq-native .glass-card{ position:static; margin-top:12px; animation:none; }
  .cubiq-native .hero-render-wrap{ flex-direction:column; }
  .cubiq-native .steps-row{ grid-template-columns:1fr; }
}

@media (prefers-reduced-motion: reduce){
  .cubiq-native *{ animation-duration:0.001ms !important; animation-iteration-count:1 !important; transition-duration:0.001ms !important; scroll-behavior:auto !important; }
}


/* =========================================================
   Marketplace-first homepage (v2)
   Hierarquia: busca/produto acima da dobra, ecossistema depois.
   ========================================================= */

/* ---- Busca no header ---- */
.cubiq-native .header-search{
  flex:1 1 auto; min-width:0; max-width:420px; margin-right:auto;
  display:flex; align-items:center; gap:10px; padding:0 14px; height:42px;
  border-radius:11px; border:1px solid var(--bg-300); background:var(--glass-bg);
  backdrop-filter:blur(12px); -webkit-backdrop-filter:blur(12px);
  transition:border-color .15s ease, background .15s ease;
}
.cubiq-native .header-search:focus-within{ border-color:var(--primary-100); background:var(--glass-bg-strong); }
.cubiq-native .header-search i{ font-size:17px; color:var(--text-300); }
.cubiq-native .header-search input{
  flex:1; min-width:0; border:none; background:none; outline:none;
  font-family:inherit; font-size:14px; color:var(--text-100);
}
.cubiq-native .search-hint{
  font-size:11px; color:var(--text-300); border:1px solid var(--bg-300);
  border-radius:5px; padding:1px 6px; flex-shrink:0;
}

/* ---- Hero: busca grande + chips + prova inline ---- */
.cubiq-native .hero-search{
  display:flex; align-items:center; gap:10px; max-width:540px;
  background:var(--card-bg); border:1px solid var(--bg-300); border-radius:14px;
  padding:8px 8px 8px 18px; box-shadow:var(--shadow); margin:0 0 14px;
}
.cubiq-native .hero-search i{ font-size:20px; color:var(--text-300); }
.cubiq-native .hero-search input{
  flex:1; min-width:0; border:none; background:none; outline:none;
  font-family:inherit; font-size:15.5px; color:var(--text-100); padding:10px 0;
}
.cubiq-native .hero-search .btn{ padding:12px 22px; flex-shrink:0; }

.cubiq-native .chip-row{ display:flex; flex-wrap:wrap; align-items:center; gap:8px; margin-bottom:26px; }
.cubiq-native .chip-label{ font-size:12px; color:var(--text-300); margin-right:2px; }
.cubiq-native .chip{
  font-family:inherit; font-size:13px; font-weight:600; color:var(--text-200); cursor:pointer;
  padding:7px 14px; border-radius:20px; border:1px solid var(--bg-300); background:var(--bg-100);
  transition:border-color .15s ease, color .15s ease, background .15s ease;
}
.cubiq-native .chip:hover{ border-color:var(--primary-100); color:var(--primary-100); }
.cubiq-native .chip.active{ background:var(--primary-100); border-color:var(--primary-100); color:#fff; }
@media (prefers-color-scheme: dark){
:where(html:not([data-cubiq-theme])) .cubiq-native.cubiq-native .chip.active{ color:#120A24; }
}
@media (min-width: 0px){
:where(html[data-cubiq-theme="dark"]) .cubiq-native.cubiq-native .chip.active{ color:#120A24; }
}

.cubiq-native .trust-inline{ display:flex; flex-wrap:wrap; align-items:center; gap:10px 26px; font-size:13.5px; color:var(--text-200); }
.cubiq-native .trust-inline li{ display:flex; align-items:center; gap:6px; }
.cubiq-native .trust-inline strong{ color:var(--text-100); font-weight:700; }
.cubiq-native .trust-inline i{ color:#B8862F; font-size:14px; }

/* ---- Spotlight de produto no hero ---- */
.cubiq-native .spotlight-card{
  position:absolute; bottom:2%; right:-4%; width:270px;
  flex-direction:column; align-items:stretch; gap:7px; padding:16px 18px; animation:none;
  background:var(--glass-bg-strong);
}
.cubiq-native .spotlight-card .spotlight-tag{
  display:inline-flex; align-items:center; gap:5px; align-self:flex-start;
  background:var(--primary-100); color:#fff; font-size:10.5px; font-weight:700;
  padding:4px 10px; border-radius:20px;
}
@media (prefers-color-scheme: dark){
:where(html:not([data-cubiq-theme])) .cubiq-native.cubiq-native .spotlight-card .spotlight-tag{ color:#120A24; }
}
@media (min-width: 0px){
:where(html[data-cubiq-theme="dark"]) .cubiq-native.cubiq-native .spotlight-card .spotlight-tag{ color:#120A24; }
}
.cubiq-native .spotlight-card > strong{ display:block; font-size:17px; font-weight:800; color:var(--text-100); }
.cubiq-native .spotlight-card .price{ font-size:15.5px; font-weight:800; color:var(--accent-200); }
.cubiq-native .spotlight-card .price i{ font-size:15px; color:var(--accent-100); }
.cubiq-native .spotlight-card .spotlight-meta{ font-size:12px; color:var(--text-200); display:flex; align-items:center; gap:5px; }
.cubiq-native .spotlight-card .spotlight-meta i{ font-size:12.5px; color:#B8862F; }
.cubiq-native .spotlight-buy{ display:flex; align-items:center; justify-content:space-between; gap:10px; margin-top:4px; }
.cubiq-native .add-btn.as-link{ text-decoration:none; }

/* ---- Categorias ---- */
.cubiq-native .cat-grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:16px; }
.cubiq-native .cat-tile{
  position:relative; display:flex; flex-direction:column; gap:2px; justify-content:flex-end;
  min-height:118px; padding:16px 18px; border-radius:16px; overflow:hidden;
  background-color:var(--media-color); color:#fff;
  background-image:repeating-linear-gradient(135deg, rgba(255,255,255,0.12) 0 11px, rgba(255,255,255,0) 11px 22px);
  transition:transform .2s ease, box-shadow .2s ease;
}
.cubiq-native .cat-tile::after{
  content:""; position:absolute; inset:0; background:linear-gradient(180deg, rgba(18,11,34,0) 40%, rgba(18,11,34,0.5) 100%);
}
.cubiq-native .cat-tile > *{ position:relative; z-index:1; }
.cubiq-native .cat-tile i{ font-size:26px; margin-bottom:auto; opacity:0.95; }
.cubiq-native .cat-tile strong{ font-size:16px; font-weight:800; }
.cubiq-native .cat-tile small{ font-size:11.5px; opacity:0.85; font-family:'Onest',system-ui,sans-serif; }
.cubiq-native .cat-tile:hover{ transform:translateY(-4px); box-shadow:var(--shadow-lg); }

/* ---- Categorias compactas (premium.html): uma linha só de chips,
   ao invés dos tiles grandes acima (usados no index.html) ---- */
.cubiq-native .cat-row{
  display:flex; gap:10px; overflow-x:auto; flex-wrap:nowrap; padding:2px 2px 12px;
  margin-bottom:8px; scrollbar-width:none;
}
.cubiq-native .cat-row::-webkit-scrollbar{ display:none; }
.cubiq-native .cat-chip{
  flex:0 0 auto; display:inline-flex; align-items:center; gap:8px;
  padding:10px 18px; border-radius:999px; white-space:nowrap;
  background:color-mix(in srgb, var(--media-color) 12%, var(--card-bg));
  border:1px solid var(--bg-300); color:var(--text-100);
  font-size:13.5px; font-weight:700;
  transition:transform .15s ease, border-color .15s ease, box-shadow .15s ease;
}
.cubiq-native .cat-chip i{ font-size:16px; color:var(--media-color); }
.cubiq-native .cat-chip:hover{ transform:translateY(-2px); border-color:var(--media-color); box-shadow:var(--shadow); }
.cubiq-native .discover-sub-head{ margin-top:22px; }

/* ---- Featured: filtro rápido + quick view ---- */
.cubiq-native .filter-row{ display:flex; flex-wrap:wrap; gap:8px; }
.cubiq-native .product-card.is-hidden{ display:none; }
.cubiq-native .quick-view{
  position:absolute; left:50%; top:50%; transform:translate(-50%,-50%) scale(0.94); z-index:3;
  display:inline-flex; align-items:center; gap:6px; padding:9px 15px; border-radius:20px;
  background:var(--glass-bg-strong); border:1px solid var(--glass-border); color:var(--text-100);
  backdrop-filter:blur(12px); -webkit-backdrop-filter:blur(12px);
  font-size:12.5px; font-weight:700; opacity:0; pointer-events:none;
  transition:opacity .2s ease, transform .2s ease;
}
.cubiq-native .product-card:hover .quick-view{ opacity:1; transform:translate(-50%,-50%) scale(1); pointer-events:auto; }

/* ---- New builds ---- */
.cubiq-native .update-note{ font-size:12.5px; color:var(--text-300); display:flex; align-items:center; gap:6px; }
.cubiq-native .release-grid{ grid-template-columns:repeat(3,1fr); }
.cubiq-native .release-meta{ display:flex; align-items:center; justify-content:space-between; gap:10px; }
.cubiq-native .release-meta .price{ font-size:14px; }
.cubiq-native .release-card{ background:var(--glass-bg-strong); border-color:var(--glass-border); }

/* ---- CTA catálogo ---- */
.cubiq-native .catalog-cta{ padding:6px 0 56px; }
.cubiq-native .catalog-cta-inner{ display:flex; justify-content:center; }
.cubiq-native .catalog-cta-inner .pixel-heading{ margin-bottom:8px; }
.cubiq-native .catalog-cta-inner p{ margin:0 0 16px; color:var(--text-200); font-size:15.5px; max-width:520px; }
.cubiq-native .filter-preview{ display:flex; flex-wrap:wrap; gap:8px; }
.cubiq-native .filter-tag{
  display:inline-flex; align-items:center; gap:6px; font-size:12.5px; font-weight:600; color:var(--text-200);
  border:1px dashed var(--bg-300); border-radius:9px; padding:7px 12px;
}
.cubiq-native .filter-tag i{ font-size:14px; color:var(--primary-100); }
.cubiq-native .btn-lg{ padding:17px 34px; font-size:16px; }

/* ---- Membership ---- */
.cubiq-native .pricing-foot{ text-align:center; font-size:12.5px; color:var(--text-300); margin:26px 0 0; }

/* ---- Ecossistema ---- */
.cubiq-native .eco-grid{ display:grid; grid-template-columns:1.6fr 1fr 1fr; gap:22px; align-items:stretch; }
.cubiq-native .eco-card{
  background:var(--card-bg); border:1px solid var(--bg-300); border-radius:18px; padding:26px 28px;
  display:flex; flex-direction:column; gap:10px;
}
.cubiq-native .eco-card h3{ font-size:17.5px; margin:0; }
.cubiq-native .eco-card p{ font-size:14px; color:var(--text-200); margin:0; line-height:1.55; }
.cubiq-native .eco-icon{ font-size:28px; color:var(--primary-100); margin-bottom:4px; }
.cubiq-native .eco-main{ flex-direction:row; align-items:center; gap:30px; }
.cubiq-native .eco-copy{ display:flex; flex-direction:column; gap:10px; }
.cubiq-native .layer-visual-inner{ display:grid; grid-template-columns:auto auto; gap:26px; align-items:center; flex-shrink:0; }
.cubiq-native .layer-visual-inner .layer-slab{ height:28px; }
.cubiq-native .layer-visual-inner .layer-list li{ font-size:12.5px; padding:8px 0 8px 18px; }

/* ---- Learn (secundário) ---- */
.cubiq-native .learn{ padding:60px 0; }
.cubiq-native .learn .learn-head{ margin-top:0; padding-top:0; border:none; margin-bottom:22px; }

/* ---- Creators (prioridade reduzida, dentro da faixa) ---- */
.cubiq-native .creator-strip{
  grid-column:1 / -1; display:flex; align-items:center; gap:16px; flex-wrap:wrap;
  margin-top:8px; padding:18px 22px; border-radius:16px;
  background:rgba(255,255,255,0.14); border:1px solid rgba(255,255,255,0.28);
}
.cubiq-native .creator-strip i{ font-size:24px; color:#fff; }
.cubiq-native .creator-strip strong{ display:block; font-size:15px; color:#fff; }
.cubiq-native .creator-strip p{ margin:2px 0 0; font-size:13.5px; color:rgba(255,255,255,0.82); }
.cubiq-native .link-arrow.on-band{ color:#fff; margin-left:auto; }

@media (max-width:1240px){
  .cubiq-native .header-search{ display:none; }
  .cubiq-native .eco-grid{ grid-template-columns:1fr 1fr; }
  .cubiq-native .eco-main{ grid-column:1 / -1; }
}
@media (max-width:920px){
  .cubiq-native .cat-grid{ grid-template-columns:repeat(2,1fr); }
  .cubiq-native .hero-render-wrap{ flex-wrap:wrap; }
  .cubiq-native .eco-grid{ grid-template-columns:1fr; }
  .cubiq-native .eco-main{ flex-direction:column; align-items:flex-start; }
  .cubiq-native .release-grid{ grid-template-columns:1fr; }
  .cubiq-native .catalog-cta-inner{ padding:28px 24px; }
  .cubiq-native .creator-strip{ text-align:left; }
}
@media (max-width:520px){
  .cubiq-native .hero-search{ flex-wrap:wrap; padding:12px; }
  .cubiq-native .hero-search .btn{ width:100%; }
  .cubiq-native .layer-visual-inner{ grid-template-columns:1fr; }
}


/* =========================================================
   v3 — paleta viva, esmeraldas, efeitos e rodapé mesclado
   ========================================================= */

/* Botão sólido com gradiente vivo e brilho */
.cubiq-native .btn-solid{
  background:linear-gradient(135deg, var(--primary-100), var(--primary-200));
  box-shadow:0 10px 24px -10px rgba(78,42,168,0.5);
  position:relative; overflow:hidden;
}
.cubiq-native .btn-solid:hover{ opacity:1; box-shadow:var(--glow); }
.cubiq-native .btn-solid::after{
  content:""; position:absolute; top:0; left:-60%; width:40%; height:100%;
  background:linear-gradient(100deg, transparent, rgba(255,255,255,0.45), transparent);
  transform:skewX(-18deg); transition:left .55s ease;
}
.cubiq-native .btn-solid:hover::after{ left:120%; }
@media (prefers-color-scheme: dark){
:where(html:not([data-cubiq-theme])) .cubiq-native.cubiq-native .btn-solid{ color:#120A24; }
}
@media (min-width: 0px){
:where(html[data-cubiq-theme="dark"]) .cubiq-native.cubiq-native .btn-solid{ color:#120A24; }
}

.cubiq-native .add-btn{ background:linear-gradient(135deg, var(--primary-100), var(--primary-200)); }
.cubiq-native .add-btn:hover{ box-shadow:0 0 0 2px var(--primary-300), 0 12px 24px -10px rgba(78,42,168,0.55); }

/* Destaque de texto: gradiente dentro da mesma família de matiz —
   o ouro fica reservado a preço, estrelas e badges. */
.cubiq-native .text-primary{
  background:linear-gradient(100deg, var(--primary-100), #8A62E3 55%, #A585F5);
  -webkit-background-clip:text; background-clip:text; color:transparent;
}
@media (prefers-color-scheme: dark){
:where(html:not([data-cubiq-theme])) .cubiq-native.cubiq-native .text-primary{
  background:linear-gradient(100deg, var(--primary-100), #C4AEFA 65%, #EDE6FF);
  -webkit-background-clip:text; background-clip:text;
}
}
@media (min-width: 0px){
:where(html[data-cubiq-theme="dark"]) .cubiq-native.cubiq-native .text-primary{
  background:linear-gradient(100deg, var(--primary-100), #C4AEFA 65%, #EDE6FF);
  -webkit-background-clip:text; background-clip:text;
}
}

/* Pill com anel esmeralda */
.cubiq-native .pill{
  background:var(--bg-200); color:var(--accent-200);
  box-shadow:inset 0 0 0 1px var(--bg-300);
}
@media (prefers-color-scheme: dark){
:where(html:not([data-cubiq-theme])) .cubiq-native.cubiq-native .pill{ color:var(--accent-200); }
}
@media (min-width: 0px){
:where(html[data-cubiq-theme="dark"]) .cubiq-native.cubiq-native .pill{ color:var(--accent-200); }
}

/* Cards de produto: brilho esmeralda no hover */
.cubiq-native .product-card:hover{ box-shadow:var(--shadow-lg), 0 0 0 1.5px rgba(212,175,55,0.55); }
@media (prefers-color-scheme: dark){
:where(html:not([data-cubiq-theme])) .cubiq-native.cubiq-native .product-card:hover{ box-shadow:var(--shadow-lg), 0 0 26px -6px rgba(232,194,102,0.5); }
}
@media (min-width: 0px){
:where(html[data-cubiq-theme="dark"]) .cubiq-native.cubiq-native .product-card:hover{ box-shadow:var(--shadow-lg), 0 0 26px -6px rgba(232,194,102,0.5); }
}
.cubiq-native .product-media{ transition:transform .3s ease; }
.cubiq-native .product-card:hover .product-img{ transform:scale(1.06); }
.cubiq-native .product-img{ transition:transform .35s cubic-bezier(.2,.8,.2,1); }

/* Categorias mais vivas */
.cubiq-native .cat-tile:hover{ box-shadow:var(--shadow-lg), 0 0 0 2px var(--cubit); }
.cubiq-native .cat-tile i{ transition:transform .3s ease; }
.cubiq-native .cat-tile:hover i{ transform:translateY(-3px) scale(1.08); }

/* Cubit: número + símbolo */
.cubiq-native .cubit-amount{ display:inline-flex; align-items:center; gap:6px; }
.cubiq-native .credits-big{
  background:linear-gradient(150deg, var(--primary-100), #A585F5);
  -webkit-background-clip:text; background-clip:text; color:transparent;
  filter:drop-shadow(0 6px 16px rgba(109,63,209,0.28));
}

/* Halo do badge "Novo" na cor de dinheiro da paleta */
.cubiq-native .badge-new{ box-shadow:0 6px 14px -6px rgba(212,175,55,0.85); }

/* ---- Rodapé mesclado com a faixa "Let's Build It Together" ---- */
.cubiq-native .site-footer{ background:none; padding:0; position:relative; }
.cubiq-native .footer-band{
  position:relative; overflow:hidden; color:#fff;
  padding:clamp(96px,12vw,150px) 0 44px;
  clip-path:polygon(0 72px, 100% 0, 100% 100%, 0 100%);
  background:linear-gradient(140deg, #140E28 0%, #341C6E 45%, #6D3FD1 100%);
}
.cubiq-native .footer-band-media{
  position:absolute; top:0; right:0; bottom:0; left:auto; width:min(58%,940px); z-index:0;
  background:url("/web/image/625?unique=89fdf5df4d2ec8841bd42d7b272f59c4bec98de2") center right / cover no-repeat;
  opacity:0.32; mix-blend-mode:soft-light;
  -webkit-mask-image:linear-gradient(to right, transparent 0%, black 42%);
  mask-image:linear-gradient(to right, transparent 0%, black 42%);
  transition:background-image .4s ease, opacity .4s ease;
}
.cubiq-native .footer-band::after{
  content:""; position:absolute; inset:0; z-index:0; pointer-events:none;
  background:
    radial-gradient(900px 420px at 15% 10%, rgba(165,133,245,0.42), transparent 65%),
    linear-gradient(180deg, rgba(10,5,26,0.14), rgba(10,5,24,0.68));
}
.cubiq-native .footer-band > .wrap{ position:relative; z-index:1; }

.cubiq-native .footer-band-inner{
  display:grid; grid-template-columns:1.1fr auto auto; align-items:center;
  gap:clamp(24px,4vw,56px); padding-bottom:clamp(40px,6vw,64px);
  border-bottom:1px solid rgba(255,255,255,0.18); margin-bottom:clamp(34px,4vw,48px);
}
.cubiq-native .footer-band .request-copy .pixel-heading{ color:#fff; margin:0 0 14px; }
.cubiq-native .footer-band .request-copy p{ color:rgba(255,255,255,0.88); font-size:16px; margin:0 0 26px; max-width:460px; }
.cubiq-native .footer-band .request-eyebrow{
  display:block; font-size:12.5px; font-weight:700; letter-spacing:0.08em;
  text-transform:uppercase; color:rgba(255,255,255,0.88); margin-bottom:10px;
}
.cubiq-native .btn-band{ background:#fff; color:#6D3FD1; box-shadow:0 14px 30px -12px rgba(0,0,0,0.5); }
.cubiq-native .btn-band:hover{ background:#fff; color:#3D2280; box-shadow:0 0 0 3px rgba(255,255,255,0.4), 0 16px 34px -12px rgba(0,0,0,0.55); }

.cubiq-native .footer-band .footer-inner{ position:relative; z-index:1; }
.cubiq-native .footer-band .footer-brand p{ color:rgba(255,255,255,0.78); }
.cubiq-native .footer-band .footer-col h4{ color:#fff; }
.cubiq-native .footer-band .footer-col a,
.cubiq-native .footer-band .socials a{ color:rgba(255,255,255,0.76); }
.cubiq-native .footer-band .footer-col a:hover,
.cubiq-native .footer-band .socials a:hover{ color:#fff; }
.cubiq-native .footer-band .logo-mark{
  background:rgba(255,255,255,0.16); border:1px solid rgba(255,255,255,0.35); color:#fff;
}
.cubiq-native .footer-band .logo-text strong, .cubiq-native .footer-band .footer-brand strong{ color:#fff; }
.cubiq-native .footer-bottom{
  background:#0A0716; padding:18px 0; text-align:center;
}
.cubiq-native .footer-bottom p{ margin:0; font-size:12.5px; color:rgba(255,255,255,0.6); }

/* ---- Voltar ao topo ---- */
.cubiq-native .to-top{
  position:fixed; right:clamp(16px,3vw,34px); bottom:clamp(16px,3vw,34px); z-index:120;
  width:52px; height:52px; border-radius:16px; cursor:pointer;
  border:1px solid rgba(255,255,255,0.35); color:#fff; font-size:22px;
  background:linear-gradient(140deg, var(--primary-100), var(--primary-200));
  box-shadow:0 14px 30px -10px rgba(78,42,168,0.6);
  display:flex; align-items:center; justify-content:center;
  opacity:0; transform:translateY(16px) scale(0.9); pointer-events:none;
  transition:opacity .3s ease, transform .3s cubic-bezier(.2,.8,.2,1), box-shadow .2s ease;
}
.cubiq-native .to-top.show{ opacity:1; transform:translateY(0) scale(1); pointer-events:auto; }
.cubiq-native .to-top:hover{ box-shadow:var(--glow); transform:translateY(-3px); }

@media (max-width:920px){
  .cubiq-native .footer-band-inner{ grid-template-columns:1fr; justify-items:center; text-align:center; }
  .cubiq-native .footer-band .request-copy{ max-width:100%; }
  .cubiq-native .footer-band{ clip-path:polygon(0 40px, 100% 0, 100% 100%, 0 100%); }
}


/* Roda de seleção minimalista: escolhe a capa do rodapé */
.cubiq-native .footer-band-inner{ grid-template-columns:1.1fr 1fr; }
.cubiq-native .footer-band .request-wheel-wrap{ justify-self:center; }
.cubiq-native .footer-band .request-wheel{ width:132px; height:132px; border:none; }
.cubiq-native .footer-band .wheel-hub{
  width:30px; height:30px; background:rgba(255,255,255,0.12); border-color:rgba(255,255,255,0.28); font-size:13px;
}
.cubiq-native .footer-band .wheel-pos-top{ --pos-y:-58px; }
.cubiq-native .footer-band .wheel-pos-right{ --pos-x:58px; }
.cubiq-native .footer-band .wheel-pos-bottom{ --pos-y:58px; }
.cubiq-native .footer-band .wheel-pos-left{ --pos-x:-58px; }
.cubiq-native .footer-band .wheel-option{
  width:42px; height:42px; font-size:17px;
  background:rgba(255,255,255,0.10); border:1px solid rgba(255,255,255,0.32);
}
.cubiq-native .footer-band .wheel-option.active{ --scale:1.1; background:#fff; color:#6D3FD1; }
.cubiq-native .footer-band .wheel-caption{ font-size:12px; font-weight:600; color:rgba(255,255,255,0.85); letter-spacing:0.06em; text-transform:uppercase; }


/* ---- Cubit como moeda ---- */
.cubiq-native .cubit-ico{
  width:16px; height:16px; display:inline-block; vertical-align:-2px;
  filter:drop-shadow(0 1px 2px rgba(84,58,6,0.30));
}
.cubiq-native .pill .cubit-ico{ width:14px; height:14px; vertical-align:-2px; }
.cubiq-native .price .cubit-ico{ width:17px; height:17px; }

/* ---- Nuvens flutuando sobre as builds ---- */
.cubiq-native .hero-clouds{ position:absolute; inset:-4% 0; z-index:1; pointer-events:none; overflow:hidden; }
.cubiq-native .hero-render-wrap .glass-card{ z-index:3; }
.cubiq-native .hero-clouds img{
  position:absolute; opacity:0.85; image-rendering:auto;
  filter:drop-shadow(0 8px 14px rgba(52,28,110,0.16));
  will-change:transform;
}
.cubiq-native .cloud-1{ top:8%; width:44%; animation:drift1 46s linear infinite; }
.cubiq-native .cloud-2{ top:34%; width:30%; opacity:0.6; animation:drift2 68s linear infinite; }
.cubiq-native .cloud-3{ top:66%; width:38%; opacity:0.72; animation:drift3 56s linear infinite; }
@keyframes drift1{
  0%{ transform:translateX(-40%); } 100%{ transform:translateX(150%); }
}
@keyframes drift2{
  0%{ transform:translateX(150%); } 100%{ transform:translateX(-60%); }
}
@keyframes drift3{
  0%{ transform:translateX(-70%); } 100%{ transform:translateX(150%); }
}
@media (prefers-reduced-motion: reduce){
  .cubiq-native .hero-clouds img{ animation:none; }
}

/* ---- Plano recomendado: card joia ---- */
.cubiq-native .pricing-grid{ align-items:center; position:relative; }
.cubiq-native .pricing .section-head-center{ position:relative; z-index:2; }
.cubiq-native .pricing .pricing-foot{ position:relative; z-index:2; }
.cubiq-native .price-featured{
  border:none; background:transparent; transform:translateY(-14px) scale(1.045);
  padding:38px 30px; z-index:0; isolation:isolate; position:relative;
}
/* Contorno da joia: o gradiente cônico é recortado numa moldura de 2px
   (mask content-box exclude), então só a borda reluz. Uma única curva de
   easing (sem paradas bruscas em keyframes) faz a luz percorrer a volta
   de forma orgânica — acelera saindo do repouso, sustenta o meio, e
   desacelera macio antes da pausa que antecede a próxima volta. */
@property --glint-angle{ syntax:'<angle>'; inherits:false; initial-value:0deg; }
.cubiq-native .price-featured::before{
  content:""; position:absolute; inset:-2px; border-radius:22px; z-index:-2;
  padding:2px;
  background:conic-gradient(from var(--glint-angle),
    rgba(165,133,245,0) 0deg,
    rgba(165,133,245,0) 292deg,
    rgba(165,133,245,0.30) 318deg,
    var(--primary-200) 338deg,
    #F6F0FF 350deg,
    var(--primary-200) 356deg,
    rgba(165,133,245,0) 360deg);
  -webkit-mask:linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
  -webkit-mask-composite:xor;
  mask:linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
  mask-composite:exclude;
  filter:drop-shadow(0 0 7px rgba(165,133,245,0.6)) drop-shadow(0 0 16px rgba(165,133,245,0.32));
  animation:jewelGlint 4.6s cubic-bezier(.3,.06,.16,1) infinite;
}
/* halo suave acompanhando o contorno */
.cubiq-native .price-featured{ box-shadow:0 0 0 2px color-mix(in srgb, var(--cubit) 42%, transparent); border-radius:20px; }
.cubiq-native .price-featured::after{
  content:""; position:absolute; inset:0; border-radius:20px; z-index:-1;
  background:var(--card-bg);
  box-shadow:0 22px 54px -18px rgba(78,42,168,0.45);
}
@keyframes jewelGlint{
  0%{ --glint-angle:0deg; }
  88%{ --glint-angle:360deg; }
  100%{ --glint-angle:360deg; }
}
@media (prefers-color-scheme: dark){
:where(html:not([data-cubiq-theme])) .cubiq-native.cubiq-native .price-featured::after{ background:var(--bg-200); }
}
@media (min-width: 0px){
:where(html[data-cubiq-theme="dark"]) .cubiq-native.cubiq-native .price-featured::after{ background:var(--bg-200); }
}

/* cubits orbitando o plano recomendado, em anel ao redor do card */
.cubiq-native .cubit-pop{ position:absolute; inset:-30px -28px; z-index:0; pointer-events:none; }
.cubiq-native .cubit-pop img{
  position:absolute; width:var(--s,22px); height:var(--s,22px);
  opacity:var(--o,0.92);
  rotate:var(--r,0deg);
  filter:hue-rotate(-92deg) saturate(1.3) brightness(1.04) drop-shadow(0 5px 12px rgba(212,175,55,0.45));
  animation:cubitHop var(--dur,3.8s) ease-in-out infinite;
  animation-delay:var(--delay,0s);
}
@keyframes cubitHop{
  0%,100%{ translate:0 0; }
  50%{ translate:0 -15px; }
}
/* faíscas genéricas entre os cubits — só um cintilar bem contido, sem pulso chamativo */
.cubiq-native .cubit-pop .spark{
  position:absolute; font-size:var(--s,12px); line-height:1;
  color:color-mix(in srgb, var(--primary-200) 55%, var(--accent-100));
  animation:sparkTwinkle var(--dur,3s) ease-in-out infinite;
  animation-delay:var(--delay,0s);
}
@keyframes sparkTwinkle{
  0%,100%{ opacity:0.25; transform:scale(0.8); }
  50%{ opacity:0.85; transform:scale(1.05); }
}
@media (prefers-reduced-motion: reduce){
  .cubiq-native .cubit-pop img, .cubiq-native .cubit-pop .spark, .cubiq-native .price-featured::before, .cubiq-native .price-featured::after{ animation:none; }
}

/* ---- Card dos planos: losango dourado no título, checks verdes, símbolo de cubit ---- */
.cubiq-native .price-featured h3{
  display:flex; align-items:center; justify-content:center; gap:12px;
}
.cubiq-native .price-featured h3::before, .cubiq-native .price-featured h3::after{
  content:""; width:7px; height:7px; rotate:45deg; border-radius:1px;
  background:#D4AF37;
  box-shadow:0 0 9px rgba(212,175,55,0.5);
}
.cubiq-native .credits-label{ display:flex; align-items:center; justify-content:center; gap:8px; white-space:nowrap; }
.cubiq-native .credits-label .cubit-ico{ width:15px; height:15px; }
.cubiq-native .benefits i{ color:#2F9B4A; }

/* ===================================================================
   /premium — sections specific to the polished premium page.
   =================================================================== */

/* ---- Pricing (2 plans) + FAQ side by side ---- */
.cubiq-native .pricing-faq-split{ display:grid; grid-template-columns:1.15fr 1fr; gap:48px; align-items:start; margin-top:40px; }
.cubiq-native .pricing-grid.two-col{ grid-template-columns:repeat(2,1fr); margin-top:0; }
.cubiq-native .pricing-faq h3{ font-size:19px; margin:0 0 20px; color:var(--text-100); }
.cubiq-native .pricing-faq .faq-list{ margin:0; max-width:none; }
@media (max-width:920px){
  .cubiq-native .pricing-faq-split{ grid-template-columns:1fr; }
  .cubiq-native .pricing-grid.two-col{ grid-template-columns:1fr; }
}

/* ---- FAQ accordion, native <details>/<summary>, no JS needed ---- */
.cubiq-native .faq-list{ display:flex; flex-direction:column; gap:12px; }
.cubiq-native .faq-item{ background:var(--card-bg); border:1px solid var(--bg-300); border-radius:14px; padding:2px 22px; }
.cubiq-native .faq-item summary{
  list-style:none; cursor:pointer; padding:17px 0; display:flex; align-items:center; justify-content:space-between;
  gap:16px; font-weight:700; font-size:14.5px; color:var(--text-100);
}
.cubiq-native .faq-item summary::-webkit-details-marker{ display:none; }
.cubiq-native .faq-item summary i{ font-size:17px; color:var(--text-300); transition:transform .25s ease; flex:0 0 auto; }
.cubiq-native .faq-item[open] summary i{ transform:rotate(180deg); }
.cubiq-native .faq-item p{ margin:0 0 18px; color:var(--text-200); font-size:13.5px; line-height:1.6; }

/* ---- Testimonials: auto-scrolling infinite marquee (not a manual
   carousel) — the track's content is duplicated once by JS so a -50%
   translateX loops seamlessly back to the start. Pauses on hover so
   people can actually read one without it running away. ---- */
.cubiq-native .testimonials-head{ margin-top:52px; margin-bottom:32px; }
.cubiq-native .proof-metrics{ display:grid; grid-template-columns:repeat(auto-fit,minmax(170px,1fr)); gap:18px; }
.cubiq-native .testimonial-marquee{
  overflow:hidden; width:100%;
  -webkit-mask-image:linear-gradient(to right, transparent, black 4%, black 96%, transparent);
  mask-image:linear-gradient(to right, transparent, black 4%, black 96%, transparent);
}
.cubiq-native .testimonial-track{
  display:flex; gap:24px; width:max-content;
  animation:testimonialMarquee 42s linear infinite;
}
.cubiq-native .testimonial-marquee:hover .testimonial-track{ animation-play-state:paused; }
@keyframes testimonialMarquee{
  from{ transform:translateX(0); }
  to{ transform:translateX(-50%); }
}
.cubiq-native .testimonial-card{
  flex:0 0 340px; margin:0;
  background:var(--card-bg); border:1px solid var(--bg-300); border-radius:18px; padding:26px 24px;
  display:flex; flex-direction:column; gap:20px; justify-content:space-between;
}
.cubiq-native .testimonial-card blockquote{ margin:0; font-size:15.5px; line-height:1.55; color:var(--text-100); font-weight:600; }
.cubiq-native .testimonial-card .quote-footer{ display:flex; align-items:center; gap:12px; }
.cubiq-native .testimonial-card .quote-who{ display:flex; flex-direction:column; line-height:1.3; }
.cubiq-native .testimonial-card .quote-who strong{ font-size:13.5px; color:var(--text-100); }
.cubiq-native .testimonial-card .quote-who small{ font-size:12px; color:var(--text-300); }

/* ---- Creators ---- */
.cubiq-native .creators-grid{ display:grid; grid-template-columns:repeat(2,1fr); gap:28px; max-width:720px; margin:36px auto 0; }
.cubiq-native .creator-card{ background:var(--card-bg); border:1px solid var(--bg-300); border-radius:18px; padding:30px 26px; text-align:center; }
.cubiq-native .creator-avatar{
  width:64px; height:64px; border-radius:50%; margin:0 auto 16px;
  background-color:var(--media-color); display:flex; align-items:center; justify-content:center;
  font-size:24px; color:#fff;
}
.cubiq-native .creator-card h3{ margin:0 0 4px; font-size:17px; color:var(--text-100); }
.cubiq-native .creator-role{ display:block; font-size:12px; color:var(--primary-100); font-weight:700; letter-spacing:0.03em; margin-bottom:12px; }
.cubiq-native .creator-card p{ margin:0; font-size:13.5px; color:var(--text-200); line-height:1.55; }
@media (max-width:640px){ .cubiq-native .creators-grid{ grid-template-columns:1fr; max-width:360px; } }


/* ===== Sininho de notificações (header, todas as páginas) ===== */
.cubiq-native .notif-wrap{ position:relative; }
.cubiq-native .notif-dot{
  position:absolute; top:-7px; right:-7px; background:#FF5A3C; color:#fff;
  font-size:10px; font-weight:700; border-radius:50%; width:17px; height:17px;
  display:flex; align-items:center; justify-content:center; border:2px solid var(--bg-100);
}
.cubiq-native .notif-btn.icon-btn{ position:relative; }
.cubiq-native .notif-panel{
  position:absolute; top:calc(100% + 12px); right:0; z-index:180;
  width:min(376px,calc(100vw - 32px));
  background:var(--card-bg); border:1px solid var(--bg-300); border-radius:16px;
  box-shadow:var(--shadow-lg); overflow:hidden;
  backdrop-filter:blur(16px); -webkit-backdrop-filter:blur(16px);
}
.cubiq-native .notif-head{
  display:flex; align-items:center; justify-content:space-between; gap:12px;
  padding:14px 16px; border-bottom:1px solid var(--bg-300);
}
.cubiq-native .notif-head strong{ font-size:14.5px; }
.cubiq-native .notif-read{
  border:none; background:none; padding:0; cursor:pointer; font:inherit;
  font-size:12px; font-weight:700; color:var(--primary-100);
}
.cubiq-native .notif-read:hover{ text-decoration:underline; }
.cubiq-native .notif-list{ max-height:min(58vh,420px); overflow:auto; }
.cubiq-native .notif-item{
  display:grid; grid-template-columns:32px 1fr 46px; align-items:center; gap:12px;
  padding:13px 16px; border-bottom:1px solid color-mix(in srgb, var(--bg-300) 60%, transparent);
  color:var(--text-100); transition:background .15s ease;
}
.cubiq-native .notif-item:hover{ background:var(--bg-200); }
.cubiq-native .notif-item.unread{ background:color-mix(in srgb, var(--primary-100) 7%, transparent); }
.cubiq-native .notif-item.unread:hover{ background:color-mix(in srgb, var(--primary-100) 12%, transparent); }
.cubiq-native .notif-av{
  width:32px; height:32px; border-radius:50%; display:grid; place-items:center; color:#fff;
  font-family:'Gabarito','Onest',system-ui,sans-serif; font-size:15px; letter-spacing:0.5px; font-weight:700;
}
.cubiq-native .notif-txt{ display:block; font-size:12.5px; line-height:1.45; color:var(--text-200); }
.cubiq-native .notif-txt b{ color:var(--text-100); font-weight:800; }
.cubiq-native .notif-txt em{ display:block; font-style:normal; font-weight:700; color:var(--text-100); font-size:13.5px; }
.cubiq-native .notif-time{ font-family:'Onest',system-ui,sans-serif; font-size:10.5px; color:var(--text-300); }
.cubiq-native .notif-thumb{
  width:46px; height:38px; border-radius:8px; overflow:hidden; background:var(--bg-200);
  display:grid; place-items:center; color:var(--text-300);
}
.cubiq-native .notif-thumb img{ width:100%; height:100%; object-fit:cover; }
.cubiq-native .notif-empty{ padding:30px 22px; text-align:center; color:var(--text-200); }
.cubiq-native .notif-empty i{ font-size:26px; color:var(--text-300); }
.cubiq-native .notif-empty p{ margin:8px 0 0; font-size:13px; line-height:1.55; }
.cubiq-native .notif-foot{
  display:flex; align-items:center; justify-content:center; gap:6px;
  padding:12px; font-size:12.5px; font-weight:700; color:var(--primary-100);
  background:var(--bg-200);
}
.cubiq-native .notif-foot:hover{ gap:9px; transition:gap .15s ease; }

.cubiq-native .creator-avatar .ca-ini{
  font-family:'Gabarito','Onest',system-ui,sans-serif; font-size:27px; letter-spacing:1px;
  font-weight:700; color:#fff;
}
.cubiq-native .creator-card h3 a{ color:inherit; }
.cubiq-native .creator-card h3 a:hover{ color:var(--primary-100); }
.cubiq-native .creators-cta{ display:flex; justify-content:center; margin-top:34px; }


/* ===== Login / registro (modal compartilhado) ===== */
.cubiq-native .auth-modal{ position:fixed; inset:0; z-index:300; display:none; }
.cubiq-native .auth-modal.open{ display:grid; place-items:center; }
.cubiq-native .auth-scrim{ position:absolute; inset:0; background:rgba(12,8,26,0.6); backdrop-filter:blur(4px); }
.cubiq-native .auth-card{
  position:relative; z-index:1; width:min(400px,calc(100vw - 32px));
  max-height:calc(100vh - 40px); overflow:auto;
  background:var(--bg-100); border:1px solid var(--bg-300); border-radius:20px;
  padding:28px 26px 22px; box-shadow:var(--shadow-lg);
  animation:authIn .28s cubic-bezier(.2,.8,.2,1);
}
@keyframes authIn{ from{ opacity:0; transform:translateY(12px) scale(.98); } to{ opacity:1; transform:none; } }
.cubiq-native .auth-x{
  position:absolute; top:14px; right:14px; width:30px; height:30px; border-radius:9px;
  border:1px solid var(--bg-300); background:var(--bg-200); color:var(--text-200);
  cursor:pointer; display:grid; place-items:center; font-size:15px;
}
.cubiq-native .auth-x:hover{ color:var(--primary-100); border-color:var(--primary-100); }
.cubiq-native .auth-brand{ display:flex; align-items:center; gap:10px; margin-bottom:18px; }
.cubiq-native .auth-brand strong{ font-size:14.5px; letter-spacing:0.5px; }
.cubiq-native .auth-tabs{ display:flex; gap:6px; padding:4px; border-radius:12px; background:var(--bg-200); margin-bottom:14px; }
.cubiq-native .auth-tab{
  flex:1; padding:9px 12px; border-radius:9px; border:none; background:none; cursor:pointer;
  font:inherit; font-size:13.5px; font-weight:700; color:var(--text-200);
}
.cubiq-native .auth-tab.on{ background:var(--bg-100); color:var(--text-100); box-shadow:var(--shadow); }
.cubiq-native .auth-lead{ margin:0 0 16px; font-size:13px; color:var(--text-200); }
.cubiq-native .auth-form{ display:grid; gap:12px; }
.cubiq-native .auth-field{ display:grid; gap:5px; }
.cubiq-native .auth-field span{
  font-family:'Onest',system-ui,sans-serif; font-size:10.5px; letter-spacing:0.1em;
  text-transform:uppercase; color:var(--text-300);
}
.cubiq-native .auth-field input{
  padding:11px 13px; border-radius:11px; border:1px solid var(--bg-300);
  background:var(--bg-200); color:var(--text-100); font:inherit; font-size:14px;
}
.cubiq-native .auth-field input:focus{ outline:none; border-color:var(--primary-100); background:var(--bg-100); }
.cubiq-native .auth-submit{ margin-top:4px; justify-content:center; }
.cubiq-native .auth-or{ position:relative; text-align:center; margin:18px 0 14px; }
.cubiq-native .auth-or::before{ content:""; position:absolute; top:50%; left:0; right:0; height:1px; background:var(--bg-300); }
.cubiq-native .auth-or span{
  position:relative; padding:0 10px; background:var(--bg-100);
  font-size:11px; color:var(--text-300); text-transform:uppercase; letter-spacing:0.1em;
}
.cubiq-native .auth-social{ display:grid; grid-template-columns:1fr 1fr; gap:10px; }
.cubiq-native .auth-social button{
  display:inline-flex; align-items:center; justify-content:center; gap:8px;
  padding:10px; border-radius:11px; border:1px solid var(--bg-300); background:var(--bg-200);
  font:inherit; font-size:13px; font-weight:600; color:var(--text-100); cursor:pointer;
}
.cubiq-native .auth-social button:hover{ border-color:var(--primary-100); color:var(--primary-100); }
.cubiq-native .auth-fine{ margin:16px 0 0; font-size:11px; color:var(--text-300); text-align:center; }

.cubiq-native .user-chip{
  display:inline-flex; align-items:center; gap:8px; padding:5px 12px 5px 5px;
  border-radius:999px; border:1px solid var(--bg-300); background:var(--glass-bg);
  font:inherit; font-size:13px; font-weight:700; color:var(--text-100); cursor:pointer;
}
.cubiq-native .user-chip:hover{ border-color:var(--primary-100); }
.cubiq-native .user-av{
  width:26px; height:26px; border-radius:50%; background:var(--primary-100); color:#fff;
  display:grid; place-items:center;
  font-family:'Gabarito','Onest',system-ui,sans-serif; font-size:13px; letter-spacing:0.5px; font-weight:700;
}


/* ===== Busca rápida: mini-menu ancorado no campo do header ("/") ===== */
.cubiq-native .hs-pop{
  position:fixed; z-index:150; display:none;
  padding:12px; border-radius:16px;
  background:var(--card-bg); border:1px solid var(--bg-300);
  box-shadow:var(--shadow-lg); background:var(--bg-100);
}
.cubiq-native .hs-pop.open{ display:block; animation:hsIn .18s cubic-bezier(.2,.8,.2,1); }
@keyframes hsIn{ from{ opacity:0; transform:translateY(-6px); } to{ opacity:1; transform:none; } }

.cubiq-native .hs-field{
  display:flex; align-items:center; gap:9px; margin-bottom:10px;
  padding:9px 11px; border-radius:11px;
  border:1px solid var(--bg-300); background:var(--bg-200);
}
.cubiq-native .hs-field:focus-within{ border-color:var(--primary-100); background:var(--bg-100); }
.cubiq-native .hs-field > i{ font-size:16px; color:var(--text-300); }
.cubiq-native .hs-field input{
  flex:1; min-width:0; border:none; background:none; outline:none;
  font:inherit; font-size:14.5px; color:var(--text-100);
}
.cubiq-native .hs-field input::-webkit-search-cancel-button{ display:none; }
.cubiq-native .hs-esc{
  border:1px solid var(--bg-300); background:var(--bg-100); color:var(--text-300);
  border-radius:6px; padding:2px 7px; cursor:pointer;
  font-family:'Onest',system-ui,sans-serif; font-size:10px;
}
.cubiq-native .hs-esc:hover{ color:var(--primary-100); border-color:var(--primary-100); }

.cubiq-native .hs-cats{ display:flex; gap:6px; overflow-x:auto; padding-bottom:2px; margin-bottom:12px; scrollbar-width:none; }
.cubiq-native .hs-cats::-webkit-scrollbar{ display:none; }
.cubiq-native .hs-chip{
  flex-shrink:0; padding:5px 11px; border-radius:999px; cursor:pointer; font:inherit;
  border:1px solid var(--bg-300); background:var(--bg-200);
  font-size:11.5px; font-weight:600; color:var(--text-200);
  transition:background .18s ease, color .18s ease, border-color .18s ease;
}
.cubiq-native .hs-chip:hover{ border-color:var(--primary-100); color:var(--primary-100); }
.cubiq-native .hs-chip.on{ background:var(--primary-100); border-color:var(--primary-100); color:#fff; }

.cubiq-native .hs-title{
  display:block; margin:0 2px 8px;
  font-family:'Onest',system-ui,sans-serif; font-size:10px; letter-spacing:0.12em;
  text-transform:uppercase; color:var(--text-300);
}
.cubiq-native .hs-list{ display:grid; gap:2px; }
.cubiq-native .hs-row{
  display:grid; grid-template-columns:42px minmax(0,1fr) auto 28px; align-items:center; gap:10px;
  padding:7px 8px; border-radius:10px; color:var(--text-100);
  transition:background .15s ease;
}
.cubiq-native .hs-row:hover{ background:var(--bg-200); }
.cubiq-native .hs-thumb{
  --media-color:#3D5A80;
  position:relative; width:42px; height:32px; border-radius:7px; overflow:hidden;
  background:linear-gradient(150deg, var(--media-color), color-mix(in srgb, var(--media-color) 55%, #000));
  display:grid; place-items:center; color:rgba(255,255,255,0.85); font-size:15px;
}
.cubiq-native .hs-thumb img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.cubiq-native .hs-info{ min-width:0; display:block; }
.cubiq-native .hs-info b{ display:block; font-size:13.5px; font-weight:700; letter-spacing:-0.01em; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.cubiq-native .hs-info span{ font-size:11px; color:var(--text-300); }
.cubiq-native .hs-price{ display:inline-flex; align-items:center; gap:4px; font-size:12.5px; font-weight:800; color:var(--accent-200); white-space:nowrap; }
.cubiq-native .hs-price .cubit-ico{ width:12px; height:12px; }
.cubiq-native .hs-add{
  width:26px; height:26px; border-radius:8px; cursor:pointer;
  border:1px solid var(--bg-300); background:var(--bg-200); color:var(--text-200);
  display:grid; place-items:center; font-size:13px;
  transition:background .18s ease, color .18s ease, border-color .18s ease;
}
.cubiq-native .hs-add:hover{ background:var(--primary-100); border-color:var(--primary-100); color:#fff; }
.cubiq-native .hs-add.done{ background:#2F8F5B; border-color:#2F8F5B; color:#fff; }
.cubiq-native .hs-none{ margin:6px 4px 10px; font-size:12.5px; color:var(--text-300); }
.cubiq-native .hs-all{
  display:flex; align-items:center; justify-content:center; gap:6px;
  margin-top:10px; padding-top:10px; border-top:1px solid var(--bg-300);
  font-size:12px; font-weight:700; color:var(--primary-100);
}
.cubiq-native .hs-all:hover{ gap:9px; transition:gap .15s ease; }

/* ==========================================================================
   Cubiq · Catálogo (.store)
   Complementa styles.css — reutiliza tokens, header, footer, product-card.
   ========================================================================== */

/* ===== 1 · FAIXA ROXA COM CARROSSEL CURVO ===== */

.cubiq-native .store-band{
  position:relative; overflow:hidden;
  padding:36px 0 22px;
  background:linear-gradient(150deg, #150E2C 0%, #341C6E 42%, #6D3FD1 100%);
  isolation:isolate;
}
@media (prefers-color-scheme: dark){
:where(html:not([data-cubiq-theme])) .cubiq-native.cubiq-native .store-band{
  background:linear-gradient(150deg, #0B0716 0%, #241249 45%, #4B27A0 100%);
}
}
@media (min-width: 0px){
:where(html[data-cubiq-theme="dark"]) .cubiq-native.cubiq-native .store-band{
  background:linear-gradient(150deg, #0B0716 0%, #241249 45%, #4B27A0 100%);
}
}
.cubiq-native .store-band-media{
  position:absolute; inset:0; z-index:-2;
  background:url("/web/image/624?unique=5a37661f764d89f08151f8a118dccbdca650e342") center 32% / cover no-repeat;
  opacity:0.13; filter:saturate(1.1) contrast(1.05);
  transform:scale(1.04);
}
@media (prefers-color-scheme: dark){
:where(html:not([data-cubiq-theme])) .cubiq-native.cubiq-native .store-band-media{ opacity:0.09; }
}
@media (min-width: 0px){
:where(html[data-cubiq-theme="dark"]) .cubiq-native.cubiq-native .store-band-media{ opacity:0.09; }
}
.cubiq-native .store-band-scrim{
  position:absolute; inset:0; z-index:-1; pointer-events:none;
  background:
    radial-gradient(ellipse 78% 62% at 50% 6%, rgba(255,255,255,0.20), transparent 68%),
    radial-gradient(ellipse 120% 80% at 50% 108%, rgba(12,8,26,0.86), transparent 62%),
    linear-gradient(180deg, rgba(12,8,26,0.42) 0%, transparent 26%);
}
/* malha de blocos, ecoando a textura do hero da landing */
.cubiq-native .store-band-weave{
  position:absolute; inset:0; z-index:-1; pointer-events:none; opacity:0.55;
  background-image:
    linear-gradient(rgba(255,255,255,0.055) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,0.055) 1px, transparent 1px);
  background-size:68px 68px;
  mask-image:radial-gradient(ellipse 80% 70% at 50% 30%, #000 20%, transparent 78%);
  -webkit-mask-image:radial-gradient(ellipse 80% 70% at 50% 30%, #000 20%, transparent 78%);
}

.cubiq-native .store-band-head{ text-align:center; max-width:680px; margin:0 auto 14px; position:relative; }
.cubiq-native .store-band-head .pill{
  background:rgba(255,255,255,0.13); color:#fff; box-shadow:inset 0 0 0 1px rgba(255,255,255,0.28);
  backdrop-filter:blur(8px); -webkit-backdrop-filter:blur(8px);
}
.cubiq-native .store-band-head .pixel-heading{ color:#fff; margin:0 0 10px; text-shadow:0 6px 30px rgba(10,4,26,0.5); }
.cubiq-native .store-headline{ font-size:clamp(36px,5vw,56px); line-height:1; }
.cubiq-native .store-headline .text-primary{ color:var(--hero-vivid-3, #FFD98A); }
.cubiq-native .store-band-head p{
  color:rgba(255,255,255,0.82); font-size:15px; line-height:1.5; margin:0 auto;
  max-width:580px; text-wrap:pretty;
}
.cubiq-native .band-stats{
  list-style:none; margin:12px 0 0; padding:0;
  display:flex; justify-content:center; flex-wrap:wrap; gap:8px 12px;
}
.cubiq-native .band-stats li{
  display:inline-flex; align-items:center; gap:7px;
  font-size:12.5px; font-weight:600; color:rgba(255,255,255,0.9);
  background:rgba(255,255,255,0.09); border:1px solid rgba(255,255,255,0.17);
  padding:7px 14px; border-radius:20px;
  backdrop-filter:blur(8px); -webkit-backdrop-filter:blur(8px);
}
.cubiq-native .band-stats i{ font-size:15px; color:var(--hero-vivid-3, #FFD98A); }
.cubiq-native .band-stats .cubit-ico{ width:14px; height:14px; }

/* --- coverflow curvo --- */
.cubiq-native .coverflow{
  position:relative; height:345px;
  perspective:1500px; perspective-origin:50% 42%;
  margin:0 auto;
}
.cubiq-native .coverflow-track{
  position:absolute; inset:0;
  transform-style:preserve-3d;
}
.cubiq-native .cf-card{
  position:absolute; top:0; left:50%;
  width:332px; margin-left:-166px;
  border-radius:16px; overflow:hidden; cursor:pointer;
  background:rgba(16,10,34,0.55);
  border:1px solid rgba(255,255,255,0.16);
  box-shadow:0 26px 60px -22px rgba(6,2,16,0.9);
  transition:transform .62s cubic-bezier(.22,.8,.2,1), opacity .5s ease, filter .5s ease, box-shadow .4s ease;
  transform-style:preserve-3d; will-change:transform;
  padding:0; text-align:left; font-family:inherit; color:#fff;
}
.cubiq-native .cf-card:focus-visible{ outline:2px solid #FFD98A; outline-offset:3px; }
.cubiq-native .cf-media{
  position:relative; aspect-ratio:4/3; overflow:hidden;
  background-color:var(--media-color, #3D2280);
  background-image:repeating-linear-gradient(135deg, rgba(255,255,255,0.10) 0 11px, rgba(255,255,255,0) 11px 22px);
  display:flex; align-items:center; justify-content:center;
}
.cubiq-native .cf-media img{ width:100%; height:100%; object-fit:cover; }
.cubiq-native .cf-media > i{ font-size:74px; color:rgba(255,255,255,0.6); }
.cubiq-native .cf-media::after{
  content:""; position:absolute; inset:0;
  background:linear-gradient(180deg, rgba(8,4,20,0) 45%, rgba(8,4,20,0.72) 100%);
}
.cubiq-native .cf-tag{
  position:absolute; top:11px; left:11px; z-index:2;
  font-size:10px; font-weight:800; letter-spacing:0.1em; text-transform:uppercase;
  padding:5px 11px; border-radius:20px;
  background:rgba(12,7,26,0.7); color:#fff; border:1px solid rgba(255,255,255,0.22);
  backdrop-filter:blur(6px); -webkit-backdrop-filter:blur(6px);
}
.cubiq-native .cf-tag.hot{ background:linear-gradient(135deg,#D4AF37,#E8C266); color:#2A1806; border-color:rgba(255,255,255,0.4); }
.cubiq-native .cf-info{
  padding:15px 17px 17px;
  display:flex; align-items:center; justify-content:space-between; gap:12px;
  background:rgba(10,6,22,0.62);
  backdrop-filter:blur(10px); -webkit-backdrop-filter:blur(10px);
}
.cubiq-native .cf-info strong{ display:block; font-size:15.5px; font-weight:800; letter-spacing:-0.01em; }
.cubiq-native .cf-info small{
  display:flex; align-items:center; gap:5px; margin-top:4px;
  font-size:12px; color:rgba(255,255,255,0.62);
}
.cubiq-native .cf-info small i{ font-size:13px; color:#E8C266; }
.cubiq-native .cf-price{
  display:inline-flex; align-items:center; gap:6px; flex:0 0 auto;
  font-size:14px; font-weight:800; color:#FFE6AE; white-space:nowrap;
}
.cubiq-native .cf-price .cubit-ico{ width:16px; height:16px; }

/* estados atribuídos por JS */
.cubiq-native .cf-card[data-state="center"]{ box-shadow:0 40px 80px -26px rgba(4,1,12,0.95), 0 0 0 1px rgba(255,255,255,0.24); }
.cubiq-native .cf-card[data-state="side"]{ filter:saturate(0.82) brightness(0.78); }
.cubiq-native .cf-card[data-state="side"]:hover{ filter:saturate(1) brightness(0.94); }

.cubiq-native .cf-nav{
  position:absolute; top:38%; z-index:20;
  width:46px; height:46px; border-radius:50%; cursor:pointer;
  display:flex; align-items:center; justify-content:center;
  background:rgba(255,255,255,0.12); border:1px solid rgba(255,255,255,0.3); color:#fff;
  backdrop-filter:blur(10px); -webkit-backdrop-filter:blur(10px);
  transition:background .18s ease, transform .18s ease;
}
.cubiq-native .cf-nav:hover{ background:rgba(255,255,255,0.26); transform:scale(1.08); }
.cubiq-native .cf-nav i{ font-size:22px; }
.cubiq-native .cf-prev{ left:clamp(4px,3vw,44px); }
.cubiq-native .cf-next{ right:clamp(4px,3vw,44px); }

.cubiq-native .cf-dots{ display:flex; justify-content:center; gap:8px; margin-top:10px; }
.cubiq-native .cf-dot{
  width:8px; height:8px; padding:0; border:none; border-radius:50%; cursor:pointer;
  background:rgba(255,255,255,0.3); transition:all .25s ease;
}
.cubiq-native .cf-dot.active{ width:26px; border-radius:6px; background:#FFD98A; }

/* ===== 2 · BARRA DE CATEGORIAS (sticky) ===== */

.cubiq-native .cat-strip{
  position:sticky; top:81px; z-index:40;
  background:var(--glass-bg-strong); border-bottom:1px solid var(--bg-300);
  backdrop-filter:blur(20px) saturate(1.4); -webkit-backdrop-filter:blur(20px) saturate(1.4);
}
.cubiq-native .cat-strip-inner{
  display:flex; align-items:center; gap:6px;
  overflow-x:auto; scrollbar-width:none; padding:11px 0;
}
.cubiq-native .cat-strip-inner::-webkit-scrollbar{ display:none; }
.cubiq-native .cat-strip-btn{
  flex:0 0 auto; display:inline-flex; align-items:center; gap:7px;
  padding:9px 17px; border-radius:24px; border:1px solid transparent;
  background:transparent; color:var(--text-200); cursor:pointer;
  font-family:inherit; font-size:13.5px; font-weight:600; white-space:nowrap;
  transition:all .16s ease;
}
.cubiq-native .cat-strip-btn i{ font-size:16px; }
.cubiq-native .cat-strip-btn:hover{ background:var(--bg-200); color:var(--text-100); }
.cubiq-native .cat-strip-btn.active{
  background:var(--primary-100); border-color:var(--primary-100); color:#fff;
  box-shadow:0 8px 20px -10px rgba(109,63,209,0.75);
}
@media (prefers-color-scheme: dark){
:where(html:not([data-cubiq-theme])) .cubiq-native.cubiq-native .cat-strip-btn.active{ color:#120A24; }
}
@media (min-width: 0px){
:where(html[data-cubiq-theme="dark"]) .cubiq-native.cubiq-native .cat-strip-btn.active{ color:#120A24; }
}
.cubiq-native .cat-strip-btn .count{
  font-size:11px; font-weight:700; opacity:0.62;
  font-family:'Onest',system-ui,sans-serif;
}

/* --- variante em linha (usada na home, dentro da seção de descoberta) --- */
.cubiq-native .cat-strip.inline{
  position:static; top:auto; border-bottom:none;
  background:var(--card-bg); border:1px solid var(--bg-300); border-radius:16px;
  padding:0 8px; box-shadow:var(--shadow);
}
.cubiq-native .cat-strip.inline .cat-strip-inner{
  padding:11px 4px;
  mask-image:linear-gradient(to right, transparent 0, #000 14px, #000 calc(100% - 34px), transparent 100%);
  -webkit-mask-image:linear-gradient(to right, transparent 0, #000 14px, #000 calc(100% - 34px), transparent 100%);
}
.cubiq-native .home-cats{ margin-bottom:8px; }
.cubiq-native .home-cats-head{
  display:flex; align-items:center; justify-content:flex-end; gap:14px;
  flex-wrap:wrap; margin-bottom:14px;
}
.cubiq-native .home-cats-head .pill{ margin-bottom:0; }
.cubiq-native .product-card.is-filtered{ display:none !important; }
.cubiq-native .track-empty{
  margin:18px 0 0; padding:22px; border-radius:14px; text-align:center;
  border:1.5px dashed var(--bg-300); background:var(--bg-200);
  font-size:14px; color:var(--text-200);
}
.cubiq-native .track-empty a{ color:var(--primary-100); font-weight:700; text-decoration:underline; }

/* ===== 3 · LAYOUT DO CATÁLOGO ===== */

.cubiq-native .catalog-page{ padding:40px 0 90px; }
.cubiq-native .catalog-page .wrap{ max-width:1560px; }
.cubiq-native .catalog-layout{ display:grid; grid-template-columns:250px 1fr; gap:30px; align-items:start; }

/* --- barra de ferramentas --- */
.cubiq-native .catalog-toolbar{
  display:flex; align-items:center; gap:14px; flex-wrap:wrap;
  margin-bottom:20px;
}
.cubiq-native .catalog-title{ margin:0; font-size:26px; font-weight:800; letter-spacing:-0.02em; }
.cubiq-native .catalog-count{
  font-family:'Onest',system-ui,sans-serif; font-size:12.5px; color:var(--text-300);
  padding:5px 11px; border-radius:8px; background:var(--bg-200);
  border:1px solid var(--bg-300);
}
.cubiq-native .toolbar-right{ margin-left:auto; display:flex; align-items:center; gap:10px; }

/* busca com sugestões */
.cubiq-native .catalog-search{ position:relative; flex:1 1 300px; min-width:240px; max-width:420px; }
.cubiq-native .catalog-search > i{
  position:absolute; left:14px; top:50%; transform:translateY(-50%);
  font-size:17px; color:var(--text-300); pointer-events:none;
}
.cubiq-native .catalog-search input{
  width:100%; padding:12px 40px 12px 40px; border-radius:11px;
  border:1px solid var(--bg-300); background:var(--bg-100); color:var(--text-100);
  font-family:inherit; font-size:14px;
  transition:border-color .16s ease, box-shadow .16s ease;
}
.cubiq-native .catalog-search input::placeholder{ color:var(--text-300); }
.cubiq-native .catalog-search input:focus{
  outline:none; border-color:var(--primary-100);
  box-shadow:0 0 0 3px var(--primary-300);
}
.cubiq-native .search-clear{
  position:absolute; right:9px; top:50%; transform:translateY(-50%);
  width:26px; height:26px; border-radius:7px; border:none; cursor:pointer;
  background:var(--bg-200); color:var(--text-200); display:none;
  align-items:center; justify-content:center;
}
.cubiq-native .search-clear.show{ display:flex; }
.cubiq-native .search-clear:hover{ background:var(--bg-300); }

.cubiq-native .search-suggest{
  position:absolute; top:calc(100% + 8px); left:0; right:0; z-index:60;
  background:var(--bg-100); border:1px solid var(--bg-300); border-radius:13px;
  box-shadow:var(--shadow-lg); padding:8px; display:none;
  max-height:340px; overflow-y:auto;
}
.cubiq-native .search-suggest.open{ display:block; }
.cubiq-native .suggest-label{
  font-size:10.5px; font-weight:800; letter-spacing:0.12em; text-transform:uppercase;
  color:var(--text-300); padding:8px 10px 6px;
}
.cubiq-native .suggest-item{
  width:100%; display:flex; align-items:center; gap:10px;
  padding:9px 10px; border-radius:9px; border:none; background:none; cursor:pointer;
  font-family:inherit; font-size:13.5px; color:var(--text-100); text-align:left;
}
.cubiq-native .suggest-item i{ font-size:16px; color:var(--text-300); flex:0 0 auto; }
.cubiq-native .suggest-item span{ margin-left:auto; font-size:11.5px; color:var(--text-300); font-family:'Onest',system-ui,sans-serif; }
.cubiq-native .suggest-item:hover, .cubiq-native .suggest-item.cursor{ background:var(--bg-200); }
.cubiq-native .suggest-item mark{ background:var(--primary-300); color:var(--primary-100); border-radius:3px; padding:0 1px; }

/* select de ordenação */
.cubiq-native .sort-wrap{ position:relative; display:inline-flex; align-items:center; }
.cubiq-native .sort-wrap select{
  appearance:none; -webkit-appearance:none;
  padding:11px 38px 11px 15px; border-radius:11px;
  border:1px solid var(--bg-300); background:var(--bg-100); color:var(--text-100);
  font-family:inherit; font-size:13.5px; font-weight:600; cursor:pointer;
}
.cubiq-native .sort-wrap select:focus{ outline:none; border-color:var(--primary-100); box-shadow:0 0 0 3px var(--primary-300); }
.cubiq-native .sort-wrap > i{
  position:absolute; right:13px; pointer-events:none; font-size:16px; color:var(--text-300);
}

/* toggle grid/lista */
.cubiq-native .view-toggle{
  display:inline-flex; padding:3px; gap:2px;
  background:var(--bg-200); border:1px solid var(--bg-300); border-radius:11px;
}
.cubiq-native .view-btn{
  width:38px; height:36px; border:none; border-radius:8px; cursor:pointer;
  background:transparent; color:var(--text-300);
  display:flex; align-items:center; justify-content:center;
  transition:all .16s ease;
}
.cubiq-native .view-btn i{ font-size:18px; }
.cubiq-native .view-btn:hover{ color:var(--text-100); }
.cubiq-native .view-btn.active{ background:var(--bg-100); color:var(--primary-100); box-shadow:var(--shadow); }

.cubiq-native .filter-fab{ display:none; }

/* --- tokens de filtro ativo --- */
.cubiq-native .active-filters{
  display:flex; align-items:center; flex-wrap:wrap; gap:8px;
  margin-bottom:22px; min-height:0;
}
.cubiq-native .active-filters:empty{ display:none; }
.cubiq-native .token{
  display:inline-flex; align-items:center; gap:7px;
  padding:6px 8px 6px 13px; border-radius:20px;
  background:var(--primary-300); color:var(--primary-100);
  font-size:12.5px; font-weight:700;
  border:1px solid color-mix(in srgb, var(--primary-100) 30%, transparent);
}
.cubiq-native .token button{
  width:18px; height:18px; border-radius:50%; border:none; cursor:pointer;
  background:color-mix(in srgb, var(--primary-100) 22%, transparent); color:inherit;
  display:flex; align-items:center; justify-content:center;
}
.cubiq-native .token button i{ font-size:12px; }
.cubiq-native .token button:hover{ background:var(--primary-100); color:#fff; }
.cubiq-native .clear-all{
  background:none; border:none; cursor:pointer; font-family:inherit;
  font-size:12.5px; font-weight:700; color:var(--text-300); text-decoration:underline;
  padding:6px 4px;
}
.cubiq-native .clear-all:hover{ color:var(--primary-100); }

/* ===== SIDEBAR DE FILTROS ===== */

.cubiq-native .filters{
  position:sticky; top:147px;
  background:var(--card-bg); border:1px solid var(--bg-300); border-radius:18px;
  padding:0 18px 18px; box-shadow:var(--shadow);
  max-height:calc(100vh - 156px); overflow-y:auto;
  scrollbar-width:thin;
}
.cubiq-native .filters::-webkit-scrollbar{ width:6px; }
.cubiq-native .filters::-webkit-scrollbar-thumb{ background:var(--bg-300); border-radius:3px; }

/* O padding-top do container rolável (.filters) fica ACIMA do elemento
   sticky — ele não é "coberto" por um filho sticky em top:0, então ao
   rolar, esse respiro reaparecia por trás do título "Filtros". Mover o
   respiro pro próprio .filters-head (que já é sticky) resolve: ele nasce
   colado no topo real do container, sem gap escondido atrás dele. */
.cubiq-native .filters-head{
  display:flex; align-items:center; justify-content:space-between;
  padding:16px 18px 12px; margin:0 -18px 6px; position:sticky; top:0; z-index:2;
  background:var(--card-bg); border-bottom:1px solid var(--bg-300); border-radius:18px 18px 0 0;
}
.cubiq-native .filters-head h3{
  margin:0; font-size:11px; font-weight:800; letter-spacing:0.14em; text-transform:uppercase;
  color:var(--text-300); display:flex; align-items:center; gap:7px;
}
.cubiq-native .filters-head h3 i{ font-size:15px; color:var(--primary-100); }
.cubiq-native .filters-close{ display:none; }

.cubiq-native .fgroup{ border-bottom:1px solid var(--bg-300); padding:4px 0; }
.cubiq-native .fgroup:last-of-type{ border-bottom:none; }
.cubiq-native .fgroup > summary{
  list-style:none; cursor:pointer; padding:13px 2px;
  display:flex; align-items:center; gap:8px;
  font-size:12.5px; font-weight:800; letter-spacing:0.06em; text-transform:uppercase;
  color:var(--text-100);
}
.cubiq-native .fgroup > summary::-webkit-details-marker{ display:none; }
.cubiq-native .fgroup > summary .chev{
  margin-left:auto; font-size:16px; color:var(--text-300);
  transition:transform .2s ease;
}
.cubiq-native .fgroup[open] > summary .chev{ transform:rotate(180deg); }
.cubiq-native .fgroup > summary:hover{ color:var(--primary-100); }
.cubiq-native .fgroup-body{ padding:2px 2px 15px; display:flex; flex-direction:column; gap:9px; }

/* checkbox / radio customizados */
.cubiq-native .fopt{
  display:flex; align-items:center; gap:10px; cursor:pointer;
  font-size:13.5px; color:var(--text-200); line-height:1.3;
  padding:2px 0;
}
.cubiq-native .fopt input{ position:absolute; opacity:0; width:0; height:0; }
.cubiq-native .fbox{
  flex:0 0 auto; width:18px; height:18px; border-radius:5px;
  border:1.5px solid var(--bg-300); background:var(--bg-100);
  display:flex; align-items:center; justify-content:center;
  transition:all .15s ease;
}
.cubiq-native .fbox i{ font-size:12px; color:#fff; opacity:0; transform:scale(0.5); transition:all .15s ease; }
.cubiq-native .fopt input:checked ~ .fbox{ background:var(--primary-100); border-color:var(--primary-100); }
@media (prefers-color-scheme: dark){
:where(html:not([data-cubiq-theme])) .cubiq-native.cubiq-native .fopt input:checked ~ .fbox i{ color:#120A24; }
}
@media (min-width: 0px){
:where(html[data-cubiq-theme="dark"]) .cubiq-native.cubiq-native .fopt input:checked ~ .fbox i{ color:#120A24; }
}
.cubiq-native .fopt input:checked ~ .fbox i{ opacity:1; transform:scale(1); }
.cubiq-native .fopt input:focus-visible ~ .fbox{ box-shadow:0 0 0 3px var(--primary-300); }
.cubiq-native .fopt:hover{ color:var(--text-100); }
.cubiq-native .fopt input:checked ~ .fname{ color:var(--text-100); font-weight:700; }
.cubiq-native .fname{ display:flex; align-items:center; gap:7px; }
.cubiq-native .fname .dot{ width:9px; height:9px; border-radius:3px; flex:0 0 auto; }
.cubiq-native .fcount{
  margin-left:auto; font-size:11px; color:var(--text-300);
  font-family:'Onest',system-ui,sans-serif;
}
.cubiq-native .fopt .stars{ color:#D4AF37; letter-spacing:1px; font-size:12.5px; }

/* switch */
.cubiq-native .fswitch{
  display:flex; align-items:flex-start; gap:11px; cursor:pointer; padding:3px 0;
}
.cubiq-native .fswitch input{ position:absolute; opacity:0; width:0; height:0; }
.cubiq-native .ftrack{
  flex:0 0 auto; width:36px; height:20px; border-radius:20px; margin-top:1px;
  background:var(--bg-300); position:relative; transition:background .2s ease;
}
.cubiq-native .ftrack::after{
  content:""; position:absolute; top:2px; left:2px; width:16px; height:16px;
  border-radius:50%; background:#fff; box-shadow:0 1px 3px rgba(0,0,0,0.3);
  transition:transform .2s cubic-bezier(.3,1.4,.5,1);
}
.cubiq-native .fswitch input:checked ~ .ftrack{ background:var(--primary-100); }
.cubiq-native .fswitch input:checked ~ .ftrack::after{ transform:translateX(16px); }
.cubiq-native .fswitch input:focus-visible ~ .ftrack{ box-shadow:0 0 0 3px var(--primary-300); }
.cubiq-native .fswitch-text strong{ display:block; font-size:13.5px; font-weight:700; color:var(--text-100); }
.cubiq-native .fswitch-text small{ display:block; font-size:11.5px; color:var(--text-300); margin-top:2px; line-height:1.4; }

/* range de preço */
.cubiq-native .price-range{ padding:6px 0 2px; }
.cubiq-native .range-slot{ position:relative; height:26px; margin-bottom:6px; }
.cubiq-native .range-slot input[type="range"]{
  position:absolute; left:0; top:0; width:100%; height:26px; margin:0;
  appearance:none; -webkit-appearance:none; background:none; pointer-events:none;
}
.cubiq-native .range-slot input[type="range"]::-webkit-slider-thumb{
  appearance:none; -webkit-appearance:none; pointer-events:auto; cursor:grab;
  width:17px; height:17px; border-radius:50%;
  background:var(--bg-100); border:3px solid var(--primary-100);
  box-shadow:0 2px 6px rgba(26,16,52,0.28); margin-top:0;
}
.cubiq-native .range-slot input[type="range"]::-moz-range-thumb{
  pointer-events:auto; cursor:grab; width:15px; height:15px; border-radius:50%;
  background:var(--bg-100); border:3px solid var(--primary-100);
  box-shadow:0 2px 6px rgba(26,16,52,0.28);
}
.cubiq-native .range-rail, .cubiq-native .range-fill{
  position:absolute; top:11px; height:4px; border-radius:3px; pointer-events:none;
}
.cubiq-native .range-rail{ left:0; right:0; background:var(--bg-300); }
.cubiq-native .range-fill{ background:linear-gradient(90deg, var(--primary-100), var(--primary-200)); }
.cubiq-native .range-vals{
  display:flex; align-items:center; gap:9px;
}
.cubiq-native .range-vals label{
  flex:1; display:flex; align-items:center; gap:6px;
  background:var(--bg-200); border:1px solid var(--bg-300); border-radius:9px;
  padding:7px 10px; font-size:12px; color:var(--text-300);
}
.cubiq-native .range-vals input{
  width:100%; min-width:0; border:none; background:none; color:var(--text-100);
  font-family:'Onest',system-ui,sans-serif; font-size:12.5px; font-weight:600;
}
.cubiq-native .range-vals input:focus{ outline:none; }
.cubiq-native .range-vals .cubit-ico{ width:13px; height:13px; flex:0 0 auto; }

/* tags pesquisáveis */
.cubiq-native .tag-search{
  width:100%; padding:9px 12px; margin-bottom:11px; border-radius:9px;
  border:1px solid var(--bg-300); background:var(--bg-200); color:var(--text-100);
  font-family:inherit; font-size:12.5px;
}
.cubiq-native .tag-search:focus{ outline:none; border-color:var(--primary-100); background:var(--bg-100); }
.cubiq-native .tag-cloud{ display:flex; flex-wrap:wrap; gap:6px; }
.cubiq-native .tag-pill{
  padding:6px 12px; border-radius:20px; cursor:pointer;
  border:1px solid var(--bg-300); background:var(--bg-100); color:var(--text-200);
  font-family:inherit; font-size:12px; font-weight:600;
  transition:all .15s ease;
}
.cubiq-native .tag-pill:hover{ border-color:var(--primary-100); color:var(--primary-100); }
.cubiq-native .tag-pill.on{ background:var(--primary-100); border-color:var(--primary-100); color:#fff; }
@media (prefers-color-scheme: dark){
:where(html:not([data-cubiq-theme])) .cubiq-native.cubiq-native .tag-pill.on{ color:#120A24; }
}
@media (min-width: 0px){
:where(html[data-cubiq-theme="dark"]) .cubiq-native.cubiq-native .tag-pill.on{ color:#120A24; }
}
.cubiq-native .tag-pill.hidden{ display:none; }
.cubiq-native .tag-empty{ font-size:12px; color:var(--text-300); padding:4px 2px; }

.cubiq-native .filters-reset{
  width:100%; margin-top:16px; padding:12px; border-radius:11px; cursor:pointer;
  border:1px solid var(--bg-300); background:var(--bg-200); color:var(--text-200);
  font-family:inherit; font-size:13px; font-weight:700;
  display:flex; align-items:center; justify-content:center; gap:7px;
  transition:all .15s ease;
}
.cubiq-native .filters-reset:hover{ border-color:var(--primary-100); color:var(--primary-100); background:var(--bg-100); }

/* ===== GRID DE RESULTADOS ===== */

.cubiq-native .catalog-grid{
  display:grid; grid-template-columns:repeat(4, minmax(0,1fr)); gap:20px;
}
/* .product-card vem de styles.css com flex-basis de carrossel — neutraliza */
.cubiq-native .product-media{ display:block; }
.cubiq-native .catalog-grid .product-card, .cubiq-native .catalog-grid.list-view .product-card{ flex:initial; scroll-snap-align:none; }
.cubiq-native .catalog-grid .product-card{ animation:cardIn .4s cubic-bezier(.2,.8,.2,1) both; }
@keyframes cardIn{
  from{ opacity:0; transform:translateY(14px); }
  to{ opacity:1; transform:none; }
}
.cubiq-native .catalog-grid .product-media{ aspect-ratio:4/3; }
.cubiq-native .catalog-grid .product-media img{ width:100%; height:100%; object-fit:cover; }
.cubiq-native .catalog-grid .product-info{ padding:16px 17px 18px; gap:9px; }
.cubiq-native .catalog-grid .product-info h3{ font-size:16.5px; }

.cubiq-native .card-top{ position:absolute; top:10px; left:10px; right:10px; z-index:3; display:flex; align-items:flex-start; gap:6px; }
.cubiq-native .flag{
  font-size:10px; font-weight:800; letter-spacing:0.09em; text-transform:uppercase;
  padding:5px 10px; border-radius:7px; color:#fff;
}
.cubiq-native .flag.new{ background:#6D3FD1; }
.cubiq-native .flag.best{ background:linear-gradient(135deg,#D4AF37,#E8C266); color:#2A1806; }
.cubiq-native .flag.free{ background:#2F7D5B; }
.cubiq-native .wish{
  margin-left:auto; width:32px; height:32px; border-radius:50%; border:none; cursor:pointer;
  background:rgba(255,255,255,0.9); color:#544D63;
  display:flex; align-items:center; justify-content:center; flex:0 0 auto;
  box-shadow:0 3px 10px rgba(20,10,40,0.24); transition:all .16s ease;
}
.cubiq-native .wish i{ font-size:17px; }
.cubiq-native .wish:hover{ transform:scale(1.12); color:#D14D6B; }
.cubiq-native .wish.on{ background:#D14D6B; color:#fff; }

/* categoria fica no rodapé da mídia; o topo é do flag + wishlist */
.cubiq-native .catalog-grid .badge-scrim{
  top:auto; right:auto; bottom:10px; left:10px;
  letter-spacing:0.06em; text-transform:uppercase; font-weight:700; font-size:10px;
  border:1px solid rgba(255,255,255,0.2);
  backdrop-filter:blur(6px); -webkit-backdrop-filter:blur(6px);
}

.cubiq-native .card-meta{
  display:flex; align-items:center; flex-wrap:wrap; gap:5px;
}
.cubiq-native .mchip{
  display:inline-flex; align-items:center; gap:4px;
  font-size:10.5px; font-weight:700; padding:4px 8px; border-radius:6px;
  background:var(--bg-200); color:var(--text-200); border:1px solid var(--bg-300);
  white-space:nowrap;
}
.cubiq-native .mchip i{ font-size:12px; }
.cubiq-native .mchip.guide{ color:var(--primary-100); border-color:color-mix(in srgb, var(--primary-100) 34%, transparent); background:var(--primary-300); }
.cubiq-native .card-desc{ display:none; }

/* modo lista */
.cubiq-native .catalog-grid.list-view{ grid-template-columns:1fr; gap:14px; }
.cubiq-native .catalog-grid.list-view .product-card{ flex-direction:row; align-items:stretch; }
.cubiq-native .catalog-grid.list-view .product-media{ flex:0 0 232px; aspect-ratio:auto; }
.cubiq-native .catalog-grid.list-view .product-info{ padding:18px 20px; }
.cubiq-native .catalog-grid.list-view .card-desc{
  display:block; font-size:13px; color:var(--text-200); margin:0; line-height:1.55; max-width:64ch;
}
.cubiq-native .catalog-grid.list-view .price-row{ border-top:none; padding-top:6px; }
.cubiq-native .catalog-grid.list-view .swatches{ display:none; }

/* estado vazio */
.cubiq-native .no-results{
  display:none; text-align:center; padding:76px 20px;
  border:1.5px dashed var(--bg-300); border-radius:20px; background:var(--bg-200);
}
.cubiq-native .no-results.show{ display:block; }
.cubiq-native .no-results i{ font-size:52px; color:var(--text-300); }
.cubiq-native .no-results h3{ margin:16px 0 8px; font-size:20px; font-weight:800; }
.cubiq-native .no-results p{ margin:0 auto 22px; color:var(--text-200); font-size:14.5px; max-width:400px; }

/* O botão precisa caber na mesma linha do preço: se quebrar, aquele card
   fica mais alto que os vizinhos e abre um vão antes da linha do preço.
   Em card estreito (4 colunas) o rótulo longo não cabe, então o próprio
   card é o container de consulta e o texto encurta. */
.cubiq-native .catalog-grid .product-info{ container-type:inline-size; container-name:pcard; }
.cubiq-native .catalog-grid .add-btn.in-cart{
  padding:9px 11px; font-size:11.5px; gap:5px; white-space:nowrap; min-width:0;
}
.cubiq-native .catalog-grid .add-btn.in-cart i{ font-size:14px; }
.cubiq-native .add-btn .ac-short{ display:none; }
@container pcard (max-width:262px){
  .cubiq-native .add-btn .ac-full{ display:none; }
  .cubiq-native .add-btn .ac-short{ display:inline; }
}
/* card muito estreito: o botão desce inteiro, nos DOIS estados, para a
   altura continuar igual em toda a fileira. */
@container pcard (max-width:218px){
  .cubiq-native .catalog-grid .price-row{ flex-wrap:wrap; }
  .cubiq-native .catalog-grid .price-row .add-btn{ flex:1 1 100%; justify-content:center; }
}

/* paginação */
.cubiq-native .pagination{
  display:flex; align-items:center; justify-content:center; gap:7px; margin-top:44px;
}
.cubiq-native .pagination button{
  min-width:40px; height:40px; padding:0 12px; border-radius:10px; cursor:pointer;
  border:1px solid var(--bg-300); background:var(--bg-100); color:var(--text-200);
  font-family:inherit; font-size:13.5px; font-weight:700;
  display:inline-flex; align-items:center; justify-content:center;
  transition:all .15s ease;
}
.cubiq-native .pagination button:hover:not(:disabled){ border-color:var(--primary-100); color:var(--primary-100); }
.cubiq-native .pagination button.active{ background:var(--primary-100); border-color:var(--primary-100); color:#fff; }
@media (prefers-color-scheme: dark){
:where(html:not([data-cubiq-theme])) .cubiq-native.cubiq-native .pagination button.active{ color:#120A24; }
}
@media (min-width: 0px){
:where(html[data-cubiq-theme="dark"]) .cubiq-native.cubiq-native .pagination button.active{ color:#120A24; }
}
.cubiq-native .pagination button:disabled{ opacity:0.35; cursor:default; }
.cubiq-native .pagination .ellipsis{ color:var(--text-300); padding:0 4px; font-weight:700; }

/* ===== CARRINHO (drawer lateral) ===== */

.cubiq-native .cart-backdrop{
  position:fixed; inset:0; z-index:390; background:rgba(10,5,22,0.55);
  opacity:0; pointer-events:none; transition:opacity .3s ease;
  backdrop-filter:blur(3px); -webkit-backdrop-filter:blur(3px);
}
.cubiq-native .cart-backdrop.show{ opacity:1; pointer-events:auto; }

/* Branco fixo mesmo no tema escuro — o pedido é uma "faixa branca", não
   um painel que segue o tema do site. */
.cubiq-native .cart-drawer{
  position:fixed; top:0; right:0; bottom:0; z-index:400;
  width:min(420px,92vw); background:#fff; color:#221B33;
  display:flex; flex-direction:column;
  box-shadow:-24px 0 60px -20px rgba(10,4,26,0.45);
  transform:translateX(105%); transition:transform .4s cubic-bezier(.19,.82,.18,1);
}
.cubiq-native .cart-drawer.open{ transform:none; }

.cubiq-native .cart-drawer-head{
  display:flex; align-items:center; justify-content:space-between;
  padding:20px 22px; border-bottom:1px solid #EDE9F7; flex:0 0 auto;
}
.cubiq-native .cart-drawer-head h3{ margin:0; font-size:16px; font-weight:800; display:flex; align-items:center; gap:9px; color:#221B33; }
.cubiq-native .cart-drawer-head h3 i{ font-size:19px; color:var(--primary-100); }
.cubiq-native .cart-drawer-close{
  width:34px; height:34px; border-radius:10px; border:none; cursor:pointer;
  background:#F3F0FB; color:#544D63; display:flex; align-items:center; justify-content:center;
  transition:all .15s ease;
}
.cubiq-native .cart-drawer-close:hover{ background:#E7E1F7; color:#221B33; }

.cubiq-native .cart-drawer-body{ flex:1 1 auto; overflow-y:auto; padding:6px 22px; }
.cubiq-native .cart-empty{
  display:flex; flex-direction:column; align-items:center; justify-content:center;
  text-align:center; height:100%; min-height:280px; padding:50px 20px; color:#8A8299;
}
.cubiq-native .cart-empty i{ font-size:44px; margin-bottom:14px; color:#D8D2EA; }
.cubiq-native .cart-empty p{ margin:0; font-size:14px; line-height:1.5; }

.cubiq-native .cart-item{ display:flex; gap:13px; padding:16px 0; border-bottom:1px solid #F1EEF9; }
.cubiq-native .cart-item-media{
  flex:0 0 auto; width:66px; height:66px; border-radius:11px; overflow:hidden;
  background-color:var(--media-color,#3D2280);
  display:flex; align-items:center; justify-content:center;
}
.cubiq-native .cart-item-media img{ width:100%; height:100%; object-fit:cover; }
.cubiq-native .cart-item-media i{ font-size:24px; color:rgba(255,255,255,0.7); }
.cubiq-native .cart-item-info{ flex:1 1 auto; min-width:0; display:flex; flex-direction:column; justify-content:center; gap:8px; }
.cubiq-native .cart-item-info strong{
  font-size:13.5px; font-weight:800; color:#221B33; line-height:1.3;
  overflow:hidden; text-overflow:ellipsis; white-space:nowrap;
}
.cubiq-native .cart-item-row{ display:flex; align-items:center; justify-content:space-between; gap:10px; }
.cubiq-native .cart-item-price{ display:inline-flex; align-items:center; gap:5px; font-size:13px; font-weight:800; color:var(--primary-100); }
.cubiq-native .cart-item-price .cubit-ico{ width:14px; height:14px; }
.cubiq-native .cart-item-remove{
  border:none; background:none; cursor:pointer; color:#C6BFDB; padding:2px;
  display:flex; align-items:center; justify-content:center; flex:0 0 auto; align-self:center;
  transition:color .15s ease;
}
.cubiq-native .cart-item-remove i{ font-size:16px; }
.cubiq-native .cart-item-remove:hover{ color:#D14D6B; }

.cubiq-native .cart-drawer-foot{ flex:0 0 auto; padding:18px 22px 22px; border-top:1px solid #EDE9F7; }
.cubiq-native .cart-total-row{
  display:flex; align-items:center; justify-content:space-between;
  margin-bottom:14px; font-size:14px; font-weight:700; color:#221B33;
}
.cubiq-native .cart-total-row strong{ display:inline-flex; align-items:center; gap:6px; font-size:18px; color:var(--primary-100); }
.cubiq-native .cart-total-row .cubit-ico{ width:17px; height:17px; }

/* "arremesso" da build da grade até o ícone do carrinho */
.cubiq-native .fly-ghost{
  position:fixed; z-index:500; pointer-events:none;
  border-radius:10px; object-fit:cover;
  box-shadow:0 12px 30px rgba(10,4,26,0.35);
  transition:top .55s cubic-bezier(.3,.02,.35,1), left .55s cubic-bezier(.3,.02,.35,1),
    width .55s cubic-bezier(.3,.02,.35,1), height .55s cubic-bezier(.3,.02,.35,1),
    opacity .55s ease .1s, border-radius .55s ease;
}
@keyframes cartBump{
  0%{ transform:scale(1); }
  45%{ transform:scale(1.28); }
  100%{ transform:scale(1); }
}
.cubiq-native .cart-btn.bump{ animation:cartBump .32s cubic-bezier(.3,1.4,.5,1); }

@media (prefers-reduced-motion: reduce){
  .cubiq-native .fly-ghost{ transition:opacity .2s ease; }
  .cubiq-native .cart-btn.bump{ animation:none; }
}

@media (max-width:520px){
  .cubiq-native .cart-drawer{ width:100vw; }
}

/* ===== RESPONSIVO ===== */
@media (max-width:1240px){
  .cubiq-native .catalog-grid{ grid-template-columns:repeat(3, minmax(0,1fr)); }
}
@media (max-width:1180px){
  .cubiq-native .catalog-grid{ grid-template-columns:repeat(2, minmax(0,1fr)); }
  .cubiq-native .cf-card{ width:288px; margin-left:-144px; }
  .cubiq-native .coverflow{ height:370px; }
}
@media (max-width:980px){
  .cubiq-native .catalog-layout{ grid-template-columns:1fr; }
  .cubiq-native .filters{
    position:fixed; top:0; right:0; bottom:0; left:auto; z-index:200;
    width:min(340px,88vw); max-height:100vh; border-radius:0;
    border:none; border-left:1px solid var(--bg-300);
    transform:translateX(105%); transition:transform .3s cubic-bezier(.2,.8,.2,1);
    box-shadow:var(--shadow-lg);
  }
  .cubiq-native .filters.open{ transform:none; }
  .cubiq-native .filters-head{ border-radius:0; }
  .cubiq-native .filters-close{
    display:flex; align-items:center; justify-content:center;
    width:32px; height:32px; border-radius:9px; border:none; cursor:pointer;
    background:var(--bg-200); color:var(--text-200);
  }
  .cubiq-native .filter-fab{
    display:inline-flex; align-items:center; gap:7px;
    padding:11px 17px; border-radius:11px; cursor:pointer;
    border:1px solid var(--bg-300); background:var(--bg-100); color:var(--text-100);
    font-family:inherit; font-size:13.5px; font-weight:700;
  }
  .cubiq-native .filter-fab .n{
    min-width:19px; height:19px; border-radius:20px; background:var(--primary-100); color:#fff;
    font-size:11px; display:inline-flex; align-items:center; justify-content:center; padding:0 5px;
  }
  .cubiq-native .filters-backdrop{
    position:fixed; inset:0; z-index:190; background:rgba(10,5,22,0.55);
    opacity:0; pointer-events:none; transition:opacity .3s ease;
    backdrop-filter:blur(3px); -webkit-backdrop-filter:blur(3px);
  }
  .cubiq-native .filters-backdrop.show{ opacity:1; pointer-events:auto; }
  .cubiq-native .cat-strip{ top:81px; }
}
@media (max-width:760px){
  .cubiq-native .store-band{ padding:96px 0 52px; }
  .cubiq-native .coverflow{ height:340px; }
  .cubiq-native .cf-card{ width:224px; margin-left:-112px; }
  .cubiq-native .cf-nav{ display:none; }
  .cubiq-native .catalog-grid{ grid-template-columns:repeat(2, minmax(0,1fr)); gap:14px; }
  .cubiq-native .catalog-grid .product-info{ padding:13px 13px 15px; }
  .cubiq-native .catalog-grid .product-info h3{ font-size:14.5px; }
  .cubiq-native .catalog-grid.list-view .product-card{ flex-direction:column; }
  .cubiq-native .catalog-grid.list-view .product-media{ flex:auto; aspect-ratio:4/3; }
  .cubiq-native .toolbar-right{ width:100%; margin-left:0; }
  .cubiq-native .catalog-search{ max-width:none; }
}
@media (max-width:520px){
  .cubiq-native .catalog-grid{ grid-template-columns:1fr; }
  .cubiq-native .band-stats li{ font-size:11.5px; padding:6px 11px; }
}


/* ícone nos filtros de coleção pessoal (segue / curtidas) */
.cubiq-native .fname-ico{ margin-right:7px; font-size:14px; color:var(--text-300); }
.cubiq-native .fopt input:checked ~ .fname .fname-ico{ color:var(--primary-100); }
.cubiq-native .cart-drawer-link{ justify-content:center; margin-bottom:10px; }

/* ===== Creators — overview leve + painel lateral com o perfil completo ===== */

/* A faixa fixa à direita só existe quando um perfil está aberto. */

/* --- Hero: título grande e centralizado, nada além disso --- */
.cubiq-native .cr-hero{ padding:clamp(34px,4.5vw,58px) 0 clamp(28px,3.4vw,42px); text-align:center; }
.cubiq-native .cr-hero h1{
  font-family:'Gabarito','Onest',system-ui,sans-serif; font-weight:700;
  font-size:clamp(62px,9vw,128px); line-height:0.86; letter-spacing:1px;
  text-transform:uppercase; margin:0 0 20px;
}
.cubiq-native .cr-hero h1 span{ color:var(--primary-100); }
.cubiq-native .cr-hero-lead{
  color:var(--text-200); font-size:17.5px; max-width:480px;
  margin:0 auto clamp(24px,3vw,34px); text-wrap:pretty;
}
.cubiq-native .cr-stats{
  display:flex; justify-content:center; flex-wrap:wrap;
  font-family:'Onest',system-ui,sans-serif; font-size:12.5px; letter-spacing:0.06em;
  text-transform:uppercase; color:var(--text-300);
}
.cubiq-native .cr-stats li{ padding:0 22px; border-left:1px solid var(--bg-300); }
.cubiq-native .cr-stats li:first-child{ border-left:0; }
.cubiq-native .cr-stats b{ color:var(--text-100); font-weight:600; }

/* --- Cards: apresentação leve, o detalhe fica no perfil --- */
.cubiq-native .cr-section{ padding:0 0 clamp(70px,8vw,110px); }
.cubiq-native .cr-grid{
  display:grid; grid-template-columns:repeat(auto-fit,minmax(238px,1fr)); gap:22px;
  max-width:1080px; margin:0 auto;
}
.cubiq-native .cr-card{
  --cp:var(--primary-100);
  position:relative; overflow:hidden; text-align:center; cursor:pointer;
  display:flex; flex-direction:column; align-items:center; gap:0;
  padding:42px 26px 28px; font:inherit; color:inherit;
  background:var(--card-bg); border:1px solid var(--bg-300); border-radius:18px;
  transition:transform .35s cubic-bezier(.2,.8,.2,1), box-shadow .35s ease, border-color .35s ease;
}
/* brilho suave atrás do avatar — sem borda dura no topo do card */
.cubiq-native .cr-card::before{
  content:""; position:absolute; left:50%; top:-70px; width:230px; height:230px;
  transform:translateX(-50%); border-radius:50%; pointer-events:none;
  background:radial-gradient(circle, color-mix(in srgb, var(--cp) 22%, transparent) 0%, transparent 68%);
  opacity:0.7; transition:opacity .4s ease;
}
.cubiq-native .cr-card:hover, .cubiq-native .cr-card:focus-visible{
  transform:translateY(-4px); box-shadow:var(--shadow);
  border-color:color-mix(in srgb, var(--cp) 45%, transparent);
}
.cubiq-native .cr-card:hover::before{ opacity:1; }
.cubiq-native .cr-card.is-active{ border-color:var(--cp); box-shadow:var(--shadow); }

.cubiq-native .cr-face{ position:relative; z-index:1; margin-bottom:16px; }
.cubiq-native .cr-avatar{
  width:86px; height:86px; border-radius:50%; display:grid; place-items:center;
  background:var(--cpi,var(--cp)); color:#fff;
  box-shadow:0 0 0 4px var(--card-bg), 0 0 0 5px color-mix(in srgb, var(--cp) 45%, transparent);
  font-family:'Gabarito','Onest',system-ui,sans-serif; font-size:31px; letter-spacing:1px; font-weight:700;
}
.cubiq-native .cr-avatar i{ font-size:36px; }
.cubiq-native .cr-check{
  position:absolute; right:-4px; bottom:-2px; width:24px; height:24px; border-radius:50%;
  display:grid; place-items:center; background:var(--card-bg); color:var(--primary-100);
  font-size:15px; box-shadow:0 2px 8px rgba(26,16,52,0.18);
}

.cubiq-native .cr-card h3{
  position:relative; z-index:1; margin:0; font-size:20.5px; font-weight:800; letter-spacing:-0.01em;
}
.cubiq-native .cr-vtag{
  display:inline-block; vertical-align:2px; margin-left:2px; padding:2px 7px; border-radius:6px;
  font-family:'Onest',system-ui,sans-serif; font-style:normal; font-size:10px; font-weight:600;
  letter-spacing:0.1em; color:#fff; background:var(--cpi,var(--cp));
}
.cubiq-native .cr-type{
  position:relative; z-index:1; margin-top:5px;
  font-family:'Onest',system-ui,sans-serif; font-size:10.5px; letter-spacing:0.12em;
  text-transform:uppercase; color:var(--text-300);
}
.cubiq-native .cr-specs{
  position:relative; z-index:1; margin:16px 0 0; padding-top:16px;
  border-top:1px solid var(--bg-300); width:100%;
  font-size:12.5px; color:var(--text-200);
}
.cubiq-native .cr-meta{
  position:relative; z-index:1; display:flex; justify-content:center; gap:16px;
  margin-top:10px; font-size:13px; color:var(--text-300);
}
.cubiq-native .cr-meta span{ display:inline-flex; align-items:center; gap:5px; }
.cubiq-native .cr-meta strong{ color:var(--text-100); font-weight:700; }
.cubiq-native .cr-meta .ti-star-filled{ color:var(--accent-100); }
.cubiq-native .cr-open{
  position:relative; z-index:1; margin-top:18px;
  display:inline-flex; align-items:center; gap:6px;
  font-size:13.5px; font-weight:700; color:var(--cpi,var(--cp));
}
.cubiq-native .cr-open i{ transition:transform .25s ease; }
.cubiq-native .cr-card:hover .cr-open i{ transform:translateX(4px); }

/* --- Faixa fixa: fechada é uma aba discreta, aberta é o perfil --- */
.cubiq-native .cr-scrim{
  position:fixed; inset:0; z-index:125; opacity:0; pointer-events:none;
  background:rgba(10,6,24,0.46); backdrop-filter:blur(3px); -webkit-backdrop-filter:blur(3px);
  transition:opacity .5s ease;
}
.cubiq-native .cr-scrim.show{ opacity:1; pointer-events:auto; }

.cubiq-native .cr-rail{
  position:fixed; top:0; right:0; bottom:0; z-index:130;
  width:0; overflow:hidden; pointer-events:none;
  background:var(--bg-200); color:var(--text-200);
  transition:width .66s cubic-bezier(.16,.84,.24,1),
             background-color .6s ease, box-shadow .6s ease;
}
.cubiq-native .cr-rail.open{
  width:min(940px,100%); pointer-events:auto;
  background:linear-gradient(168deg, var(--cp1,#3D2280), var(--cp2,#6D3FD1));
  color:#fff;
  box-shadow:-30px 0 80px -30px rgba(10,6,24,0.55);
}

/* painel aberto */
.cubiq-native .cr-panel{
  position:absolute; inset:0; overflow-y:auto; overscroll-behavior:contain;
  padding:clamp(26px,3vw,40px) clamp(24px,3.2vw,44px) 60px;
  opacity:0; visibility:hidden; transition:opacity .35s ease, visibility .35s ease;
}
.cubiq-native .cr-rail.open .cr-panel{ opacity:1; visibility:visible; transition-delay:.18s; }

.cubiq-native .cr-close{
  position:absolute; z-index:3; top:clamp(20px,2.4vw,30px); right:clamp(20px,2.6vw,34px);
  width:38px; height:38px; border-radius:50%; display:grid; place-items:center; cursor:pointer;
  background:rgba(255,255,255,0.14); border:1px solid rgba(255,255,255,0.24); color:#fff;
  font-size:18px; transition:background .25s ease, transform .25s ease;
}
.cubiq-native .cr-close:hover{ background:rgba(255,255,255,0.28); transform:translateX(2px); }

.cubiq-native .cr-p-grid{ display:grid; grid-template-columns:300px 1fr; gap:clamp(22px,3vw,40px); align-items:start; }

/* cascata de entrada */
.cubiq-native .cr-p-side > *, .cubiq-native .cr-p-main > *{
  opacity:0; transform:translateY(16px);
  transition:opacity .5s ease, transform .6s cubic-bezier(.16,.84,.24,1);
}
.cubiq-native .cr-rail.open .cr-p-side > *, .cubiq-native .cr-rail.open .cr-p-main > *{ opacity:1; transform:none; }
.cubiq-native .cr-rail.open .cr-p-side > *:nth-child(1){ transition-delay:.22s; }
.cubiq-native .cr-rail.open .cr-p-side > *:nth-child(2){ transition-delay:.28s; }
.cubiq-native .cr-rail.open .cr-p-side > *:nth-child(3){ transition-delay:.34s; }
.cubiq-native .cr-rail.open .cr-p-side > *:nth-child(4){ transition-delay:.40s; }
.cubiq-native .cr-rail.open .cr-p-main > *:nth-child(1){ transition-delay:.30s; }
.cubiq-native .cr-rail.open .cr-p-main > *:nth-child(2){ transition-delay:.36s; }
.cubiq-native .cr-rail.open .cr-p-main > *:nth-child(3){ transition-delay:.42s; }
.cubiq-native .cr-rail.open .cr-p-main > *:nth-child(4){ transition-delay:.48s; }
.cubiq-native .cr-rail.open .cr-p-main > *:nth-child(5){ transition-delay:.54s; }
.cubiq-native .cr-rail.open .cr-p-main > *:nth-child(6){ transition-delay:.60s; }

/* coluna do personagem */
.cubiq-native .cr-p-side{ position:sticky; top:0; display:grid; gap:18px; }
.cubiq-native .cr-char{
  position:relative; height:300px; display:grid; place-items:end center;
  padding-top:14px;
}
.cubiq-native .cr-char::after{
  content:""; position:absolute; left:50%; bottom:-6px; transform:translateX(-50%);
  width:200px; height:34px; border-radius:50%;
  background:radial-gradient(ellipse, rgba(0,0,0,0.34), transparent 70%);
}
.cubiq-native .cr-char img{
  position:relative; z-index:1; max-height:300px; max-width:100%;
  object-fit:contain; object-position:bottom;
  filter:drop-shadow(0 18px 26px rgba(0,0,0,0.34));
}
.cubiq-native .cr-char-empty{
  place-items:center; height:240px; border-radius:18px;
  background:rgba(255,255,255,0.08); border:1px dashed rgba(255,255,255,0.24);
  align-content:center; gap:14px;
}
.cubiq-native .cr-char-empty::after{ display:none; }
.cubiq-native .cr-char-mono{
  width:96px; height:96px; border-radius:50%; display:grid; place-items:center;
  background:rgba(255,255,255,0.16); border:1px solid rgba(255,255,255,0.3);
  font-family:'Gabarito','Onest',system-ui,sans-serif; font-size:34px; letter-spacing:1px; color:#fff; font-weight:700;
}
.cubiq-native .cr-char-mono i{ font-size:40px; }
.cubiq-native .cr-char-note{
  font-family:'Onest',system-ui,sans-serif; font-size:10.5px; letter-spacing:0.18em;
  text-transform:uppercase; color:rgba(255,255,255,0.55);
}

.cubiq-native .cr-p-name{
  margin:0; font-family:'Gabarito','Onest',system-ui,sans-serif; font-weight:700;
  font-size:clamp(40px,4.4vw,58px); line-height:0.9; letter-spacing:1px; text-transform:uppercase;
  display:flex; align-items:center; gap:10px; flex-wrap:wrap;
}
.cubiq-native .cr-p-name i{ font-size:22px; color:var(--cpa,#fff); }
.cubiq-native .cr-p-type{
  display:block; margin-top:8px; font-family:'Onest',system-ui,sans-serif; font-size:11px;
  letter-spacing:0.2em; text-transform:uppercase; color:rgba(255,255,255,0.72);
}
.cubiq-native .cr-p-follow{ display:flex; align-items:center; gap:14px; flex-wrap:wrap; }
.cubiq-native .cr-follow{
  display:inline-flex; align-items:center; gap:8px; cursor:pointer;
  padding:11px 20px; border-radius:24px; font:inherit; font-size:14px; font-weight:700;
  background:#fff; color:var(--cp1,#3D2280); border:1px solid transparent;
  transition:background .25s ease, color .25s ease, box-shadow .25s ease;
}
.cubiq-native .cr-follow:hover{ box-shadow:0 0 0 3px rgba(255,255,255,0.3); }
.cubiq-native .cr-follow.on{ background:rgba(255,255,255,0.14); border-color:rgba(255,255,255,0.34); color:#fff; }
.cubiq-native .cr-follow-n{ font-size:12.5px; color:rgba(255,255,255,0.72); }
.cubiq-native .cr-follow-n b{ color:#fff; font-weight:700; }

.cubiq-native .cr-socials{ display:flex; gap:10px; }
.cubiq-native .cr-socials a{
  width:38px; height:38px; border-radius:12px; display:grid; place-items:center;
  background:rgba(255,255,255,0.12); border:1px solid rgba(255,255,255,0.2);
  color:#fff; font-size:17px; transition:background .25s ease, transform .25s ease;
}
.cubiq-native .cr-socials a:hover{ background:rgba(255,255,255,0.26); transform:translateY(-2px); color:#fff; }

/* coluna de conteúdo */
.cubiq-native .cr-p-main{ display:grid; gap:26px; padding-top:52px; }
.cubiq-native .cr-p-stats{
  display:grid; grid-template-columns:repeat(3,1fr); gap:2px;
  border-top:1px solid rgba(255,255,255,0.22); border-bottom:1px solid rgba(255,255,255,0.22);
}
.cubiq-native .cr-p-stats li{ padding:16px 4px; }
.cubiq-native .cr-p-stats b{
  display:flex; align-items:center; gap:7px;
  font-family:'Gabarito','Onest',system-ui,sans-serif; font-weight:700;
  font-size:36px; line-height:1; color:var(--cpa,#fff);
}
.cubiq-native .cr-p-stats b i{ font-size:17px; }
.cubiq-native .cr-p-stats span{
  display:block; margin-top:7px; font-family:'Onest',system-ui,sans-serif;
  font-size:10.5px; letter-spacing:0.12em; text-transform:uppercase; color:rgba(255,255,255,0.66);
}
.cubiq-native .cr-p-bio{
  margin:0; font-size:16px; line-height:1.65;
  color:rgba(255,255,255,0.9); max-width:52ch; text-wrap:pretty;
}
.cubiq-native .cr-chips{ display:flex; flex-wrap:wrap; gap:8px; }
.cubiq-native .cr-chips li{
  padding:7px 14px; border-radius:20px; font-size:12.5px; font-weight:600;
  background:rgba(255,255,255,0.14); border:1px solid rgba(255,255,255,0.2);
}

.cubiq-native .cr-p-label{
  font-family:'Onest',system-ui,sans-serif; font-size:10.5px; letter-spacing:0.2em;
  text-transform:uppercase; color:rgba(255,255,255,0.66); margin:0;
}

/* árvore de habilidades */
.cubiq-native .cr-skills{
  padding:20px 18px 10px; border-radius:18px;
  background:rgba(255,255,255,0.08); border:1px solid rgba(255,255,255,0.16);
}
.cubiq-native .cr-skills-head{ display:flex; align-items:center; justify-content:space-between; gap:12px; }
.cubiq-native .cr-level{
  font-family:'Gabarito','Onest',system-ui,sans-serif; font-size:22px; letter-spacing:1px;
  padding:2px 12px; border-radius:20px; color:var(--cp1,#3D2280); background:var(--cpa,#fff); font-weight:700;
}
.cubiq-native .cr-radar{ display:block; width:100%; max-width:330px; margin:2px auto 0; overflow:visible; }

/* radar interativo: passar o mouse destaca um eixo por vez */
.cubiq-native .cr-shape{ transition:fill .3s ease, stroke-width .3s ease; }
.cubiq-native .cr-skills:hover .cr-shape{ fill:rgba(255,255,255,0.3); stroke-width:2.6; }
.cubiq-native .cr-ax{ transition:opacity .25s ease; }
.cubiq-native .cr-skills:hover .cr-ax{ opacity:0.42; }
.cubiq-native .cr-skills .cr-ax:hover{ opacity:1; }
.cubiq-native .cr-ax-dot{
  transform-box:fill-box; transform-origin:center;
  transition:transform .3s cubic-bezier(.2,.8,.2,1);
}
.cubiq-native .cr-ax:hover .cr-ax-dot{ transform:scale(2.2); }
.cubiq-native .cr-ax-name, .cubiq-native .cr-ax-val{
  transform-box:fill-box; transform-origin:center;
  transition:transform .3s cubic-bezier(.2,.8,.2,1), fill .25s ease;
}
.cubiq-native .cr-ax:hover .cr-ax-name{ fill:#fff; }
.cubiq-native .cr-ax:hover .cr-ax-val{ transform:scale(1.35); }

.cubiq-native .cr-p-feat{ display:grid; gap:12px; }
.cubiq-native .cr-p-build{
  display:block; border-radius:16px; overflow:hidden; position:relative;
  background:rgba(255,255,255,0.1); border:1px solid rgba(255,255,255,0.18);
}
.cubiq-native .cr-p-build img{
  width:100%; height:200px; object-fit:contain; object-position:center bottom;
  padding:18px 18px 0;
  transition:transform .6s cubic-bezier(.2,.8,.2,1);
}
.cubiq-native .cr-p-build:hover img{ transform:translateY(-5px); }
.cubiq-native .cr-p-build figcaption{
  display:flex; align-items:center; justify-content:space-between; gap:12px;
  padding:14px 18px; font-size:14px; font-weight:700;
  background:rgba(10,6,24,0.22);
}
.cubiq-native .cr-p-build figcaption i{ font-size:16px; }
.cubiq-native .cr-p-actions{ display:flex; gap:12px; flex-wrap:wrap; }
.cubiq-native .cr-p-actions .btn{ border:1px solid transparent; }
.cubiq-native .cr-btn-light{ background:#fff; color:var(--cp1,#3D2280); }
.cubiq-native .cr-btn-light:hover{ background:#fff; box-shadow:0 0 0 3px rgba(255,255,255,0.34); }

/* ===== V2 do perfil: capa da build ao fundo, personagem grande na direita ===== */
.cubiq-native .cr2-cover{ position:absolute; inset:0; overflow:hidden; pointer-events:none; }
.cubiq-native .cr2-cover img{
  position:absolute; left:-16%; bottom:-8%; height:120%; width:auto;
  opacity:0.28; filter:saturate(0.6) contrast(1.05);
}
.cubiq-native .cr2-cover::after{
  content:""; position:absolute; inset:0;
  background:linear-gradient(104deg,
    color-mix(in srgb, var(--cp1,#12283F) 90%, transparent) 0%,
    color-mix(in srgb, var(--cp1,#12283F) 46%, transparent) 52%,
    transparent 100%);
}
.cubiq-native .cr2-grid{
  position:relative; z-index:1;
  display:grid; grid-template-columns:1fr 340px; gap:clamp(20px,2.6vw,38px); align-items:start;
}
.cubiq-native .cr2-main > *, .cubiq-native .cr2-side > *{
  opacity:0; transform:translateY(16px);
  transition:opacity .5s ease, transform .6s cubic-bezier(.16,.84,.24,1);
}
.cubiq-native .cr-rail.open .cr2-main > *, .cubiq-native .cr-rail.open .cr2-side > *{ opacity:1; transform:none; }
.cubiq-native .cr-rail.open .cr2-main > *:nth-child(1){ transition-delay:.26s; }
.cubiq-native .cr-rail.open .cr2-main > *:nth-child(2){ transition-delay:.32s; }
.cubiq-native .cr-rail.open .cr2-main > *:nth-child(3){ transition-delay:.38s; }
.cubiq-native .cr-rail.open .cr2-main > *:nth-child(4){ transition-delay:.44s; }
.cubiq-native .cr-rail.open .cr2-main > *:nth-child(5){ transition-delay:.50s; }
.cubiq-native .cr-rail.open .cr2-main > *:nth-child(6){ transition-delay:.56s; }
.cubiq-native .cr-rail.open .cr2-side > *:nth-child(1){ transition-delay:.22s; }
.cubiq-native .cr-rail.open .cr2-side > *:nth-child(2){ transition-delay:.34s; }
.cubiq-native .cr-rail.open .cr2-side > *:nth-child(3){ transition-delay:.44s; }

.cubiq-native .cr2-main{
  display:grid; gap:22px; padding-top:56px; text-align:center; justify-items:center;
}
.cubiq-native .cr2-title{
  margin:0; font-family:'Gabarito','Onest',system-ui,sans-serif; font-weight:700;
  font-size:clamp(52px,6.4vw,84px); line-height:0.9; letter-spacing:1px; text-transform:uppercase;
}
.cubiq-native .cr2-main .cr-p-bio{ margin:0 auto; max-width:44ch; }
.cubiq-native .cr2-main .cr-chips{ justify-content:center; }
.cubiq-native .cr2-main .cr-skills{ width:100%; display:grid; justify-items:center; gap:4px; padding:18px 18px 12px; }
.cubiq-native .cr2-side{ position:sticky; top:0; display:grid; gap:16px; }
.cubiq-native .cr2-actions{ justify-content:center; }
.cubiq-native .cr2-actions .btn{ width:100%; justify-content:center; }
.cubiq-native .cr2-char{
  position:relative; z-index:2; height:400px; margin-bottom:-104px;
  display:grid; place-items:end center;
}
.cubiq-native .cr2-char img{
  max-height:400px; max-width:126%; object-fit:contain; object-position:bottom;
  filter:drop-shadow(0 26px 34px rgba(0,0,0,0.45));
}
.cubiq-native .cr2-char-empty{
  height:210px; margin-bottom:-40px; display:grid; place-items:center; align-content:center; gap:12px;
}
.cubiq-native .cr2-band{
  position:relative; z-index:1; padding:116px 20px 22px; border-radius:22px;
  display:grid; gap:16px; text-align:center;
  background:linear-gradient(180deg, var(--cp2,#2F6EA8), var(--cp1,#12283F));
  border:1px solid rgba(255,255,255,0.22);
  box-shadow:0 26px 50px -24px rgba(0,0,0,0.6);
}
.cubiq-native .cr2-band .cr-p-name{ justify-content:center; font-size:clamp(34px,3.6vw,44px); }
.cubiq-native .cr2-band .cr-p-type{ margin-top:6px; }
.cubiq-native .cr2-stats{
  display:grid; grid-template-columns:repeat(3,1fr); gap:8px;
  padding:14px 0; border-top:1px solid rgba(255,255,255,0.22); border-bottom:1px solid rgba(255,255,255,0.22);
}
.cubiq-native .cr2-stats b{
  display:block; font-family:'Gabarito','Onest',system-ui,sans-serif; font-weight:700;
  font-size:26px; line-height:1; color:var(--cpa,#fff);
}
.cubiq-native .cr2-stats span{
  display:block; margin-top:6px; font-family:'Onest',system-ui,sans-serif;
  font-size:9.5px; letter-spacing:0.1em; text-transform:uppercase; color:rgba(255,255,255,0.66);
}
.cubiq-native .cr2-band .cr-follow{ justify-content:center; width:100%; }
.cubiq-native .cr2-band .cr-follow-n{ display:block; margin-top:-6px; }
.cubiq-native .cr2-band .cr-socials{ justify-content:center; }

@media (max-width:980px){
  .cubiq-native .cr2-grid{ grid-template-columns:1fr; }
  .cubiq-native .cr2-side{ position:static; max-width:340px; margin:0 auto; }
  .cubiq-native .cr2-main{ padding-top:0; }
}
/* --- Faixa institucional pequena --- */
.cubiq-native .cr-quality{ padding:0 0 clamp(64px,7vw,92px); }
.cubiq-native .cr-quality-inner{
  display:grid; grid-template-columns:0.9fr 1.1fr; gap:clamp(30px,4vw,56px); align-items:center;
  padding:clamp(30px,4vw,44px) clamp(26px,4vw,46px); border-radius:22px;
  background:var(--bg-200); border:1px solid var(--bg-300);
}
.cubiq-native .cr-quality h2{ margin:0 0 14px; }
.cubiq-native .cr-quality p{ margin:0 0 26px; color:var(--text-200); font-size:15.5px; }
.cubiq-native .cr-points{ display:grid; grid-template-columns:repeat(2,1fr); gap:20px 30px; }
.cubiq-native .cr-points li{ display:flex; gap:12px; }
.cubiq-native .cr-points i{ font-size:18px; color:var(--primary-100); flex:none; margin-top:3px; }
.cubiq-native .cr-points strong{ display:block; font-size:15px; }
.cubiq-native .cr-points small{ display:block; margin-top:2px; font-size:13px; color:var(--text-300); line-height:1.5; }

@media (prefers-reduced-motion:reduce){
  .cubiq-native .cr-rail, .cubiq-native .cr-panel, .cubiq-native .cr-p-side > *, .cubiq-native .cr-p-main > *, .cubiq-native .cr-card{ transition-duration:.01s !important; }
}

/* --- Responsivo --- */
@media (max-width:1240px){
  .cubiq-native .cr-grid{ grid-template-columns:repeat(auto-fit,minmax(220px,1fr)); max-width:920px; }
}
@media (max-width:1100px){
  .cubiq-native .cr-grid{ grid-template-columns:repeat(2,1fr); gap:18px; max-width:720px; }
  .cubiq-native .cr-quality-inner{ grid-template-columns:1fr; }
}
@media (max-width:980px){
  .cubiq-native .cr-p-grid{ grid-template-columns:1fr; }
  .cubiq-native .cr-p-side{ position:static; }
  .cubiq-native .cr-p-main{ padding-top:0; }
  .cubiq-native .cr-char{ height:240px; }
  .cubiq-native .cr-char img{ max-height:240px; }
}
@media (max-width:820px){
  .cubiq-native .cr-rail.open{ width:100%; }
  .cubiq-native .cr-points{ grid-template-columns:1fr; }
}
@media (max-width:560px){
  .cubiq-native .cr-grid{ grid-template-columns:1fr; max-width:380px; }
  .cubiq-native .cr-stats li{ padding:0 14px; }
  .cubiq-native .cr-p-stats{ grid-template-columns:1fr; }
  .cubiq-native .cr-p-stats li{ display:flex; align-items:baseline; gap:12px; padding:12px 2px; }
  .cubiq-native .cr-p-stats span{ margin-top:0; }
  .cubiq-native .cr-p-build img{ height:170px; }
}


/* --- Seguir + sininho, lado a lado no perfil --- */
.cubiq-native .cr-follow-row{ display:flex; align-items:center; justify-content:center; gap:10px; }
.cubiq-native .cr-bell{
  width:44px; height:44px; flex-shrink:0; border-radius:50%; cursor:pointer;
  display:grid; place-items:center; font-size:19px;
  background:rgba(255,255,255,0.14); border:1px solid rgba(255,255,255,0.34); color:#fff;
  transition:background .2s ease, border-color .2s ease, color .2s ease, transform .2s ease;
}
.cubiq-native .cr-bell:hover{ background:rgba(255,255,255,0.26); transform:translateY(-1px); }
.cubiq-native .cr-bell.on{ background:var(--cpa,#FFC94A); border-color:transparent; color:var(--cp1,#12283F); }

/* Request — sugestões de catálogo e comissões */
.cubiq-native .rq-page{ padding-top:56px; padding-bottom:104px; }
.cubiq-native .rq-head{ max-width:640px; margin-bottom:34px; }
.cubiq-native .rq-head .pill{ margin-bottom:14px; }
.cubiq-native .rq-head .pixel-heading{ margin-bottom:12px; }
.cubiq-native .rq-head p{ margin:0; color:var(--text-200); font-size:16px; text-wrap:pretty; }

.cubiq-native .rq-grid{ display:grid; grid-template-columns:repeat(auto-fit,minmax(360px,1fr)); gap:24px; align-items:start; }
.cubiq-native .rq-card{
  position:relative; overflow:hidden;
  padding:32px; border-radius:20px; border:1px solid var(--bg-300); background:var(--card-bg);
}
.cubiq-native .rq-card h2{ margin:0 0 10px; font-size:25px; font-weight:800; letter-spacing:-0.015em; }
.cubiq-native .rq-kicker{
  display:inline-flex; align-items:center; gap:7px; margin-bottom:14px;
  font-family:'Onest',system-ui,sans-serif; font-size:10.5px; letter-spacing:0.12em;
  text-transform:uppercase; color:var(--primary-100);
}
.cubiq-native .rq-lead{ margin:0 0 26px; font-size:14.5px; color:var(--text-200); text-wrap:pretty; line-height:1.6; }

.cubiq-native .rq-commission{
  /* superfície escura fixa: o card carrega texto branco nos dois temas */
  --rq-ink:#241356;
  background:linear-gradient(160deg, #3D2280, var(--rq-ink));
  border-color:transparent; color:#fff;
}
.cubiq-native .rq-commission .rq-kicker{ color:#F2D689; }
.cubiq-native .rq-commission .rq-lead{ color:rgba(255,255,255,0.82); }

/* ---- formulário simples ---- */
.cubiq-native .rq-form{ display:grid; gap:20px; }
.cubiq-native .rq-field{ display:grid; gap:6px; }
.cubiq-native .rq-field > span, .cubiq-native .rq-fieldset legend{
  font-family:'Onest',system-ui,sans-serif; font-size:10.5px; letter-spacing:0.1em;
  text-transform:uppercase; color:var(--text-300); padding:0;
}
.cubiq-native .rq-field input, .cubiq-native .rq-field textarea{
  width:100%; box-sizing:border-box; padding:12px 14px; border-radius:12px;
  border:1px solid var(--bg-300); background:var(--bg-200); color:var(--text-100);
  font:inherit; font-size:14.5px; resize:vertical;
}
.cubiq-native .rq-field input:focus, .cubiq-native .rq-field textarea:focus{ outline:none; border-color:var(--primary-100); background:var(--bg-100); }
.cubiq-native .rq-fieldset{ border:none; margin:0; padding:0; display:grid; gap:10px; }
.cubiq-native .rq-chips{ display:flex; flex-wrap:wrap; gap:8px; }
.cubiq-native .rq-chip{ cursor:pointer; }
.cubiq-native .rq-chip input{ position:absolute; opacity:0; pointer-events:none; }
.cubiq-native .rq-chip span{
  display:inline-block; padding:7px 13px; border-radius:999px;
  border:1px solid var(--bg-300); background:var(--bg-200);
  font-size:12.5px; font-weight:600; color:var(--text-200);
  transition:background .18s ease, color .18s ease, border-color .18s ease;
}
.cubiq-native .rq-chip:hover span{ border-color:var(--primary-100); color:var(--primary-100); }
.cubiq-native .rq-chip input:checked + span{ background:var(--primary-100); border-color:var(--primary-100); color:#fff; }
.cubiq-native .rq-send{ justify-self:start; margin-top:4px; }
.cubiq-native .rq-msg{ margin:0; font-size:13px; font-weight:600; color:#2F8F5B; }
.cubiq-native .rq-msg.err{ color:#C0553C; }

/* ---- lado da comissão ---- */
.cubiq-native .rq-steps{ list-style:none; margin:0 0 28px; padding:0; display:grid; gap:12px; }
.cubiq-native .rq-steps li{ display:flex; align-items:center; gap:11px; font-size:14px; color:rgba(255,255,255,0.9); }
.cubiq-native .rq-steps b{
  width:24px; height:24px; flex-shrink:0; border-radius:50%;
  background:rgba(255,255,255,0.16); color:#fff;
  display:grid; place-items:center; font-size:12px; font-weight:800;
}
.cubiq-native .rq-cta-row{ display:flex; align-items:center; gap:16px; flex-wrap:wrap; margin-bottom:28px; }
.cubiq-native .rq-commission .btn-solid{ background:#fff; color:var(--rq-ink); }
.cubiq-native .rq-gate{
  display:inline-flex; align-items:center; gap:6px;
  font-family:'Onest',system-ui,sans-serif; font-size:10.5px; letter-spacing:0.1em;
  text-transform:uppercase; color:rgba(255,255,255,0.66);
}
.cubiq-native .rq-gate.logged{ color:#F2D689; }
.cubiq-native .rq-facts{
  list-style:none; margin:0; padding:22px 0 0; display:grid; gap:11px;
  border-top:1px solid rgba(255,255,255,0.18);
}
.cubiq-native .rq-facts li{ display:flex; align-items:center; gap:9px; font-size:12.5px; color:rgba(255,255,255,0.78); }
.cubiq-native .rq-facts i{ font-size:16px; color:#F2D689; }

/* ---- modal do briefing ---- */
.cubiq-native .rq-order{ position:fixed; inset:0; z-index:290; display:grid; place-items:center; }
.cubiq-native .rq-order[hidden]{ display:none; }
.cubiq-native .rq-order-scrim{ position:absolute; inset:0; background:rgba(12,8,26,0.62); backdrop-filter:blur(4px); }
.cubiq-native .rq-order-card{
  position:relative; z-index:1; width:min(720px,calc(100vw - 28px));
  max-height:calc(100vh - 44px); overflow:auto;
  background:var(--bg-100); border:1px solid var(--bg-300); border-radius:22px;
  padding:30px; box-shadow:var(--shadow-lg);
  animation:authIn .3s cubic-bezier(.2,.8,.2,1);
}
.cubiq-native .rq-order-head{ margin-bottom:26px; padding-right:40px; }
.cubiq-native .rq-order-head h2{ margin:0; font-size:26px; font-weight:800; letter-spacing:-0.015em; }
.cubiq-native .rq-order-head p{ margin:0; font-size:14px; color:var(--text-200); }
.cubiq-native .rq-order-form{ display:grid; gap:20px; }
.cubiq-native .rq-two{ display:grid; grid-template-columns:1fr 1fr; gap:16px; }
.cubiq-native .rq-order-foot{
  display:flex; align-items:center; justify-content:space-between; gap:16px; flex-wrap:wrap;
  padding-top:20px; border-top:1px solid var(--bg-300);
}
.cubiq-native .rq-fine{ display:inline-flex; align-items:center; gap:7px; font-size:12px; color:var(--text-300); max-width:340px; }
.cubiq-native .rq-fine i{ font-size:15px; }

/* ---- pedido enviado ---- */
.cubiq-native .rq-done{ text-align:center; padding:14px 6px 6px; }
.cubiq-native .rq-done .rq-done-ico{
  width:56px; height:56px; margin:0 auto 16px; border-radius:50%;
  background:color-mix(in srgb, var(--primary-100) 14%, transparent);
  color:var(--primary-100); display:grid; place-items:center; font-size:28px;
}
.cubiq-native .rq-done h3{ margin:0 0 8px; font-size:22px; font-weight:800; }
.cubiq-native .rq-done p{ margin:0 auto 20px; max-width:420px; font-size:14px; color:var(--text-200); }
.cubiq-native .rq-match{
  display:inline-flex; align-items:center; gap:12px; text-align:left;
  padding:13px 18px 13px 13px; border-radius:16px;
  border:1px solid var(--bg-300); background:var(--bg-200); margin-bottom:22px;
}
.cubiq-native .rq-match-av{
  width:40px; height:40px; border-radius:50%; color:#fff; display:grid; place-items:center;
  font-family:'Gabarito','Onest',system-ui,sans-serif; font-size:19px; letter-spacing:0.5px; font-weight:700;
}
.cubiq-native .rq-match-txt{ display:block; font-size:13px; color:var(--text-200); }
.cubiq-native .rq-match-txt b{ display:block; font-size:16px; color:var(--text-100); }
.cubiq-native .rq-done-acts{ display:flex; gap:12px; justify-content:center; flex-wrap:wrap; }

@media (max-width:640px){
  .cubiq-native .rq-two{ grid-template-columns:1fr; }
  .cubiq-native .rq-order-card{ padding:22px; }
}


/* CubiQ · camada de integração com a Odoo.
   O arquivo cubiq-native.css é o protótipo inteiro, só que com todo seletor
   prefixado por .cubiq-native (que agora vive no #wrapwrap, então vale pro
   site inteiro — inclusive /shop e /product). Aqui ficam só os ajustes que
   ligam aquele visual aos componentes nativos da Odoo. O editor do site fica
   fora de .cubiq-native, então nada daqui o afeta. */

/* ------------------------------------------------------------- base */
.cubiq-native{
  --bs-primary:#6d3fd1; --bs-primary-rgb:109,63,209;
  --bs-link-color:var(--primary-100); --bs-link-hover-color:var(--primary-200);
  --bs-body-bg:var(--bg-100); --bs-body-color:var(--text-100);
  background:var(--bg-100); color:var(--text-100);
  font-family:'Onest',system-ui,sans-serif; line-height:1.6; font-size:17px;
  overflow-x:clip;   /* o hero e as formas decorativas passam da viewport */
}
.cubiq-native .container.wrap{width:100%;max-width:1400px}
.cubiq-native .pixel-heading,.cubiq-native .cr-hero h1{font-family:'Gabarito','Onest',system-ui,sans-serif;font-weight:700}
.cubiq-native .text-primary{color:var(--primary-100)!important}
.cubiq-native .btn-primary,.cubiq-native .btn-solid{background:var(--primary-100);border-color:var(--primary-100);color:#fff}
.cubiq-native .btn-primary:hover,.cubiq-native .btn-solid:hover{background:var(--primary-200);border-color:var(--primary-200);color:#fff}
.cubiq-native .emerald-ico{width:20px;height:20px;display:inline-block;vertical-align:middle;object-fit:contain}
.cubiq-native .reveal{opacity:1;transform:none}
.cubiq-native .btn:focus-visible,.cubiq-native a:focus-visible{outline:3px solid var(--primary-200);outline-offset:3px}
/* o protótipo zera listas e links; devolve o padrão onde a Odoo depende dele */
.cubiq-native .o_wsale_products_grid_table_item ul,.cubiq-native .oe_website_sale ul.nav,
.cubiq-native .o_portal ul,.cubiq-native .s_website_form ul{list-style:inherit}
.cubiq-native .dropdown-menu a,.cubiq-native .o_portal a{color:inherit}

/* ------------------------------------------------------- header nativo
   O <header id="top"> da Odoo agora carrega também a classe .site-header, e
   todo o visual vem do CSS do protótipo. Aqui só desligamos o que a Odoo
   pinta por conta própria e cuidamos das partes que só existem aqui
   (dropdown do usuário logado). */
.cubiq-native header#top{
  background:transparent;border:0;box-shadow:none;padding:0;
  --o-cc-bg-color:transparent;
}
.cubiq-native header#top.o_header_standard,
.cubiq-native header#top.o_header_affixed{background:transparent}
.cubiq-native header#top.scrolled{background:var(--glass-bg-strong)}
.cubiq-native header#top > .header-inner{max-width:1400px;margin:0 auto}

/* A Odoo injeta carrinho, lista de desejos, login e menu do usuário dentro
   deste <ul>. display:contents solta os <li> direto no flex do .header-actions
   para que fiquem lado a lado como no protótipo. */
.cubiq-native .header-odoo-actions{display:contents;list-style:none;margin:0;padding:0}
.cubiq-native .header-odoo-actions > li{list-style:none}
.cubiq-native .header-odoo-actions .divider,
.cubiq-native .header-odoo-actions .js_language_selector,
.cubiq-native .header-odoo-actions .o_wsale_my_wish{display:none!important}
/* carrinho com a cara do .icon-btn do protótipo */
.cubiq-native .o_wsale_my_cart > a{
  width:38px;height:38px;border-radius:10px;border:1px solid var(--glass-border);
  background:var(--glass-bg);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);
  font-size:18px;color:var(--text-200);position:relative;display:flex;
  align-items:center;justify-content:center;padding:0;
  transition:border-color .15s ease,color .15s ease,background .15s ease;
}
.cubiq-native .o_wsale_my_cart > a:hover{color:var(--primary-100);border-color:var(--primary-100);background:var(--glass-bg-strong)}
.cubiq-native .o_wsale_my_cart .fa-stack{width:auto;height:auto;line-height:1;font-size:17px}
.cubiq-native .o_wsale_my_cart .my_cart_quantity{
  position:absolute;top:-7px;right:-7px;left:auto;background:#FF5A3C;color:#fff;
  font-size:10px;font-weight:700;border-radius:50%;width:17px;height:17px;padding:0;
  display:flex;align-items:center;justify-content:center;border:2px solid var(--bg-100);
}
.cubiq-native .o_wsale_my_cart .my_cart_quantity.d-none{display:none!important}
/* botão de login / menu do usuário com a pílula do protótipo */
.cubiq-native .header-odoo-actions .o_nav_link_btn,
.cubiq-native .header-odoo-actions .btn-outline{
  border:1px solid var(--text-100);border-radius:999px;padding:8px 18px;font-size:13.5px;
  font-weight:600;color:var(--text-100);background:transparent;white-space:nowrap;
}
.cubiq-native .header-odoo-actions .o_nav_link_btn:hover,
.cubiq-native .header-odoo-actions .btn-outline:hover{background:var(--text-100);color:var(--bg-100)}
.cubiq-native .header-user .btn{white-space:nowrap;max-width:170px;overflow:hidden;text-overflow:ellipsis}
.cubiq-native .header-user .dropdown-menu{
  background:var(--card-bg);border:1px solid var(--glass-border);border-radius:14px;
  box-shadow:var(--shadow-lg);padding:6px;min-width:190px;
}
.cubiq-native .header-user .dropdown-item{
  border-radius:9px;padding:9px 12px;font-size:14px;color:var(--text-100);
}
.cubiq-native .header-user .dropdown-item:hover{background:var(--bg-200);color:var(--primary-100)}
.cubiq-native .header-user .dropdown-item form button{
  background:none;border:0;padding:0;color:inherit;font:inherit;cursor:pointer;
}
.cubiq-native .search-hint{
  margin-left:auto;font-size:11px;color:var(--text-300);border:1px solid var(--bg-300);
  border-radius:5px;padding:1px 6px;
}

/* ------------------------------------------------------- footer nativo */
.cubiq-native footer#bottom{background:transparent;color:inherit;--o-cc-bg-color:transparent}
.cubiq-native #footer{background:transparent;border:0;padding:0}
.cubiq-native #footer > .cubiq-footer{padding:0}
.cubiq-native .o_footer_copyright.footer-bottom{background:var(--bg-200);border-top:1px solid var(--bg-300)}

/* ----------------------------------------- bloco dinâmico de produtos */
.cubiq-native .cubiq-dynamic{background:var(--panel-tint)}
.cubiq-native .cubiq-dynamic .s_dynamic_snippet_title{
  display:flex;justify-content:space-between;align-items:flex-end;gap:20px;
  margin-bottom:26px;flex-wrap:wrap;
}
.cubiq-native .cubiq-dynamic .eyebrow{
  display:block;font-size:12px;letter-spacing:.18em;color:var(--text-300);margin-bottom:6px;
}
.cubiq-native .cubiq-dynamic .section-lead{margin:6px 0 0;color:var(--text-200);max-width:56ch}
.cubiq-native .cubiq-dynamic .link-arrow{
  color:var(--primary-100);font-weight:700;display:inline-flex;align-items:center;gap:8px;white-space:nowrap;
}

/* cartão de produto (usado no carrossel e na /shop) */
.cubiq-native .oe_product_cart,.cubiq-native .oe_product .o_wsale_product_grid_wrapper{
  border:1px solid var(--glass-border);border-radius:20px;overflow:hidden;
  background:var(--card-bg);box-shadow:var(--shadow);
  transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease;
}
.cubiq-native .oe_product_cart:hover,.cubiq-native .oe_product:hover .o_wsale_product_grid_wrapper{
  transform:translateY(-4px);box-shadow:var(--shadow-lg);border-color:var(--primary-300);
}
.cubiq-native .oe_product_image{min-height:200px;background:var(--bg-200)}
.cubiq-native .oe_product_image img{object-fit:cover}
.cubiq-native .o_wsale_product_information{padding:18px 20px 20px;color:var(--text-100)}
.cubiq-native .o_wsale_product_information h6,.cubiq-native .o_wsale_products_item_title{
  font-weight:700;font-size:17px;line-height:1.3;
}
.cubiq-native .o_wsale_product_btn_primary{
  background:var(--primary-100);border-color:var(--primary-100);color:#fff;border-radius:999px;
}
.cubiq-native .o_wsale_product_btn_primary:hover{background:var(--primary-200);border-color:var(--primary-200)}

/* preço em cubits (ver view website_sale.price_* personalizada) */
.cubiq-native .cubiq-price{
  display:inline-flex;align-items:center;gap:7px;font-weight:800;color:var(--cubit);
  font-size:17px;white-space:nowrap;
}
.cubiq-native .cubiq-price .emerald-ico{width:18px;height:18px}
.cubiq-native .cubiq-price .cubiq-price-unit{font-size:12px;letter-spacing:.1em;color:var(--text-300);font-weight:700}

/* ------------------------------------------------------------- /shop */
.cubiq-native #products_grid_before,.cubiq-native .o_wsale_products_main_row aside{
  background:var(--card-bg);border:1px solid var(--glass-border);border-radius:18px;padding:18px;
}
.cubiq-native #wrap.o_wsale_products_page h1,.cubiq-native .o_wsale_products_page h1{
  font-family:'Gabarito','Onest',system-ui,sans-serif;font-weight:700;font-size:clamp(40px,5vw,64px);
}
.cubiq-native .o_wsale_products_searchbar_form .form-control,
.cubiq-native .o_wsale_search_order_by,.cubiq-native .dropdown-toggle.btn-light{
  background:var(--bg-100);border:1px solid var(--glass-border);color:var(--text-100);border-radius:999px;
}
.cubiq-native .products_pager .page-link{color:var(--primary-100);border-color:var(--glass-border);background:var(--card-bg)}
.cubiq-native .products_pager .active .page-link{background:var(--primary-100);border-color:var(--primary-100);color:#fff}

/* ---------------------------------------------------------- /product */
.cubiq-native #product_detail h1{font-family:'Gabarito','Onest',system-ui,sans-serif;font-weight:700;font-size:clamp(34px,4.4vw,56px)}
.cubiq-native #product_detail .o_wsale_product_images,
.cubiq-native #product_detail .o_wsale_product_page_image_wrapper img{border-radius:20px;overflow:hidden}
.cubiq-native [name="add_to_cart"],.cubiq-native .o_we_buy_now{border-radius:999px;padding:12px 26px;font-weight:700}
.cubiq-native [name="add_to_cart"].btn-primary{background:var(--primary-100);border-color:var(--primary-100)}
.cubiq-native [name="add_to_cart"].btn-primary:hover{background:var(--primary-200);border-color:var(--primary-200)}
.cubiq-native .o_product_page_reviews,.cubiq-native #product_full_description{color:var(--text-200)}

/* -------------------------------------------------- seções próprias */
.cubiq-native .cubiq-band{background:var(--accent-200);color:#fff;text-align:center}
.cubiq-native .cubiq-band .band-inner{max-width:820px;margin:0 auto;display:grid;gap:14px;justify-items:center}
.cubiq-native .cubiq-band .request-eyebrow{letter-spacing:.18em;font-size:12px;opacity:.75}
.cubiq-native .cubiq-band h2{color:#fff;margin:0}
.cubiq-native .cubiq-band p{color:rgba(255,255,255,.78);margin:0 0 8px}

/* o painel lateral dos creators e o modal do briefing vêm inteiros do CSS do
   protótipo; aqui só garantimos que ficam acima do header fixo da Odoo e que
   a seção que os hospeda não crie espaço em branco na página */
.cubiq-native .cr-rail-host,.cubiq-native .rq-order-host{padding:0;margin:0}
.cubiq-native .cr-rail,.cubiq-native .cr-scrim{z-index:1200}
.cubiq-native .rq-order{z-index:1300}
body.cubiq-modal-open{overflow:hidden}
/* main has its own stacking context; lift it only while a dialog is open.
   Its prototype CSS, dimensions and the normal header position stay intact. */
.cubiq-native.cubiq-overlay-open > main{z-index:1040}
@media(max-width:480px){
  .cubiq-native header#top .header-inner{gap:12px;justify-content:space-between}
  .cubiq-native header#top .logo-text small{display:none}
  .cubiq-native header#top .header-actions{gap:8px}
  .cubiq-native header#top .credits-pouch{display:none}
  .cubiq-native .header-odoo-actions .o_nav_link_btn,
  .cubiq-native .header-odoo-actions .btn-outline{padding:8px 12px;font-size:13px}
  .cubiq-native .header-user .btn{max-width:78px}
}
@media(max-width:359px){
  .cubiq-native header#top .logo-text{display:none}
}

/* ------------------------------------------------ formulários nativos */
.cubiq-native .rq-form .s_website_form_rows{margin:0;--bs-gutter-x:18px}
.cubiq-native .rq-form .s_website_form_label{
  display:block;font-size:13px;font-weight:700;letter-spacing:.04em;
  color:var(--text-200);margin-bottom:7px;
}
.cubiq-native .rq-form .s_website_form_mark{color:var(--primary-100)}
.cubiq-native .rq-form .form-control{
  width:100%;background:var(--bg-100);color:var(--text-100);
  border:1px solid var(--glass-border);border-radius:12px;padding:12px 14px;font:inherit;
  box-shadow:inset 0 1px 2px rgba(26,16,52,.04);
}
.cubiq-native .rq-form .form-control:focus{
  border-color:var(--primary-200);outline:none;box-shadow:0 0 0 3px var(--primary-300);
}
.cubiq-native .rq-form .form-control::placeholder{color:var(--text-300)}
.cubiq-native .rq-form .s_website_form_dnone{display:none!important}
.cubiq-native .rq-fieldset-wrap{margin-bottom:18px}
.cubiq-native .rq-fieldset{border:0;margin:0;padding:0}
.cubiq-native .rq-fieldset legend{
  font-size:13px;font-weight:700;letter-spacing:.04em;color:var(--text-200);
  margin-bottom:9px;float:none;width:auto;
}
.cubiq-native .rq-chips{display:flex;flex-wrap:wrap;gap:9px}
.cubiq-native .rq-chip{cursor:pointer;position:relative}
.cubiq-native .rq-chip input{position:absolute;opacity:0;width:0;height:0}
.cubiq-native .rq-chip span{
  display:inline-block;padding:8px 15px;border-radius:999px;font-size:14px;font-weight:600;
  background:var(--bg-200);border:1px solid var(--glass-border);color:var(--text-200);
  transition:background .18s ease,color .18s ease,border-color .18s ease;
}
.cubiq-native .rq-chip input:checked + span{
  background:var(--primary-100);border-color:var(--primary-100);color:#fff;
}
.cubiq-native .rq-chip input:focus-visible + span{outline:3px solid var(--primary-200);outline-offset:2px}
.cubiq-native .s_website_form_submit{
  display:flex;align-items:center;gap:16px;flex-wrap:wrap;padding-top:8px;
}
.cubiq-native .rq-order-foot{justify-content:space-between;border-top:1px solid var(--bg-300);margin-top:10px;padding-top:20px}
.cubiq-native .rq-fine{font-size:13px;color:var(--text-300);display:inline-flex;align-items:center;gap:7px}
.cubiq-native .s_website_form_send{cursor:pointer}
.cubiq-native #s_website_form_result .alert{margin:0}
.cubiq-native #s_website_form_result:empty{display:none}
.cubiq-native .rq-done{
  display:grid;gap:8px;justify-items:center;text-align:center;padding:22px;margin-bottom:22px;
  border-radius:18px;background:var(--primary-300);border:1px solid var(--primary-200);
}
.cubiq-native .rq-done-ico{
  width:46px;height:46px;border-radius:50%;display:grid;place-items:center;
  background:var(--primary-100);color:#fff;font-size:24px;
}
.cubiq-native .rq-done h3{margin:0}
.cubiq-native .rq-done p{margin:0;color:var(--text-200)}

/* ------------------------------------------------------ modo edição */
.editor_enable .cubiq-native{overflow:visible}
.editor_enable .cubiq-native [hidden]{display:initial}
.editor_enable .cubiq-native .hero-shape,.editor_enable .cubiq-native .section-blend{pointer-events:none}

/* ------------------------------------------------------------ mobile */
@media(max-width:920px){
  .cubiq-native .header-search{display:none}
  .cubiq-native .main-nav{display:none}
  .cubiq-native .hamburger{display:flex}
  .cubiq-native .credits-pouch{display:none}
}
@media(max-width:767px){
  .cubiq-native .hero{padding-top:32px}
  .cubiq-native .hero-inner{display:flex;flex-direction:column}
  .cubiq-native .hero-copy{width:100%}
  .cubiq-native .hero .pixel-heading{font-size:clamp(42px,10vw,72px)}
  .cubiq-native .trust-row{flex-wrap:wrap}
  .cubiq-native .cubiq-dynamic .s_dynamic_snippet_title{flex-direction:column;align-items:flex-start}
  .cubiq-native .cat-strip-inner{flex-wrap:wrap}
  .cubiq-native .rq-order-foot{flex-direction:column;align-items:flex-start}
}

/* Prototype appearance on native Odoo 19.4 elements. */
.cubiq-native footer#bottom .o_footer_copyright.footer-bottom {
  background:#0A0716 !important; border-top:0; padding:18px 0;
  --o-cc-bg-color:#0A0716;
}
.cubiq-native footer#bottom .footer-bottom p {color:rgba(255,255,255,.6)}
.cubiq-native .header-odoo-actions .btn-outline,
.cubiq-native .header-user > .dropdown-toggle {
  color:var(--primary-100); background:transparent; border:1.5px solid var(--primary-100);
  border-radius:10px; padding:9px 20px; font-size:13.5px; font-weight:600;
  --btn-bg:transparent; --btn-color:var(--primary-100); --btn-border-color:var(--primary-100);
  --btn-hover-bg:var(--primary-300); --btn-active-bg:var(--primary-300);
}
.cubiq-native .header-odoo-actions .btn-outline:hover,
.cubiq-native .header-user > .dropdown-toggle.show {color:var(--primary-100);background:var(--primary-300);border-color:var(--primary-100)}
.cubiq-native .header-odoo-actions .o_wsale_my_wish:not(.d-none) {display:list-item !important}
.cubiq-native .header-odoo-actions .o_wsale_my_wish a {width:38px;height:38px;display:flex;align-items:center;justify-content:center;color:var(--text-100)!important;background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:50%}

.cubiq-native .oe_product .o_wsale_product_grid_wrapper {background:transparent;border:0;border-radius:0;box-shadow:none;overflow:visible}
.cubiq-native .oe_product_cart {
  --o-wsale-card-thumb-fill-mode:cover; --o-wsale-card-thumb-aspect-ratio:5/4;
  --o-wsale-card-info-muted:var(--text-200); --o-wsale-card-cc-link:var(--text-100);
  --o-wsale-card-info-font-size:14px; --o-wsale-card-info-title-font-size:18px;
  --o-wsale-card-thumb-size:100%; --o-wsale-card-thumb-min-heigh:0px;
  --o-wsale-card-btn-submit-display:inline-flex; --o-wsale-card-btn-submit-label-display:inline;
  --o-wsale-card-btn-label-display:none; --o-wsale-card-btns-margin-bottom:0px;
  --o-wsale-wishlist-btn-display:flex; --o-wsale-card-btns-width:auto;
  position:relative;flex-direction:column;align-items:stretch;padding:0;margin:0;
  border:1px solid var(--glass-border);border-radius:18px;overflow:hidden;
  background:var(--glass-bg-strong);color:var(--text-100);box-shadow:none;
  backdrop-filter:blur(18px) saturate(1.3);transition:transform .2s ease,box-shadow .2s ease;
}
.cubiq-native .oe_product_cart::before {content:"";position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(115deg,rgba(255,255,255,.35),transparent 30%,transparent 72%,rgba(255,255,255,.14));border-radius:inherit;opacity:1;transform:none}
@media (prefers-color-scheme: dark){
:where(html:not([data-cubiq-theme])) .cubiq-native.cubiq-native .oe_product_cart::before {background:linear-gradient(115deg,rgba(255,255,255,.10),transparent 30%,transparent 72%,rgba(255,255,255,.05))}
}
@media (min-width: 0px){
:where(html[data-cubiq-theme="dark"]) .cubiq-native.cubiq-native .oe_product_cart::before {background:linear-gradient(115deg,rgba(255,255,255,.10),transparent 30%,transparent 72%,rgba(255,255,255,.05))}
}
.cubiq-native .oe_product_cart:hover {transform:translateY(-6px) scale(1.015);box-shadow:var(--shadow-lg),0 0 0 1.5px rgba(212,175,55,.55);border-color:var(--glass-border)}
.cubiq-native .oe_product_cart .oe_product_image {width:100%;min-height:0;border-radius:0;transform:none;background-color:var(--media-color,var(--bg-200));background-image:repeating-linear-gradient(135deg,rgba(255,255,255,.12) 0 11px,transparent 11px 22px)}
.cubiq-native .oe_product_cart .oe_product_image_link {aspect-ratio:5/4;min-height:0;max-height:none;height:auto}
.cubiq-native .oe_product_cart .oe_product_image_img {transform:none;transition:transform .25s ease}
.cubiq-native .oe_product_cart:hover .oe_product_image_img {transform:scale(1.06)}
.cubiq-native .cubiq-media-fallback {position:absolute;inset:0;display:flex;align-items:center;justify-content:center}
.cubiq-native .cubiq-media-fallback i {font-size:72px;color:rgba(255,255,255,.7)}
.cubiq-native .cubiq-category-badge {position:absolute;bottom:10px;left:10px;z-index:2;border:1px solid rgba(255,255,255,.2);background:rgba(18,11,34,.62);color:#fff;padding:4px 10px;border-radius:20px;font-size:10px;letter-spacing:.06em;text-transform:uppercase;font-weight:700;backdrop-filter:blur(6px)}
.cubiq-native .oe_product_cart .o_wsale_product_information {position:static;transform:none;padding:20px 20px 22px;gap:10px;display:flex;flex-direction:column;margin:0}
.cubiq-native .oe_product_cart .o_wsale_product_information_text {width:100%;margin:0}
.cubiq-native .oe_product_cart .o_wsale_product_info_attributes_wrapper {padding:0;margin:0;width:100%}
.cubiq-native .oe_product_cart .o_wsale_products_item_title {font-family:'Onest',system-ui,sans-serif;font-size:18px;font-weight:800;letter-spacing:-.01em;margin:0 0 10px}
.cubiq-native .oe_product_cart .oe_subdescription {line-height:1.5;margin:0}
.cubiq-native .oe_product_cart .oe_subdescription div {font-size:13.5px}
.cubiq-native .cubiq-build-meta {display:flex;align-items:center;flex-wrap:wrap;gap:6px;color:var(--text-200);font-size:12px;margin-top:10px}
.cubiq-native .cubiq-build-meta span {display:inline-flex;align-items:center;gap:5px;padding:4px 8px;border:1px solid var(--bg-300);border-radius:6px;background:var(--glass-bg)}
.cubiq-native .oe_product_cart .o_wsale_product_sub {position:static;display:flex;flex-direction:row;align-items:center;flex-wrap:wrap;gap:10px!important;margin-top:auto;padding-top:14px;border-top:1px solid var(--bg-300);width:100%}
.cubiq-native .oe_product_cart .o_wsale_product_btn {position:static!important;inset:auto;width:auto;height:auto;overflow:visible;margin:0;padding:0;visibility:visible;opacity:1;display:flex;transform:none}
.cubiq-native .oe_product_cart .o_wsale_product_action_row {display:flex;position:static;padding:0;transform:none;opacity:1;visibility:visible;background:transparent}
.cubiq-native .oe_product_cart .o_wsale_product_btn .o_wsale_product_btn_primary {display:inline-flex!important;position:static;transform:none;opacity:1;visibility:visible;border:0;border-radius:10px;background:var(--primary-100);color:#fff;padding:10px 15px;font-size:12.5px;font-weight:700;min-height:38px;width:auto;aspect-ratio:auto;gap:6px;white-space:nowrap;margin:0}
.cubiq-native .oe_product_cart .o_wsale_product_btn_primary .o_label {display:inline!important;font-size:12.5px;margin:0!important}
.cubiq-native .oe_product_cart .o_wsale_product_btn_primary:hover {background:var(--accent-200)}
@media (prefers-color-scheme: dark){
:where(html:not([data-cubiq-theme])) .cubiq-native.cubiq-native .oe_product_cart .o_wsale_product_btn_primary {color:#120A24}
}
@media (min-width: 0px){
:where(html[data-cubiq-theme="dark"]) .cubiq-native.cubiq-native .oe_product_cart .o_wsale_product_btn_primary {color:#120A24}
}
.cubiq-native .oe_product_cart .o_add_wishlist {display:flex!important;position:absolute!important;top:10px;right:10px;bottom:auto;left:auto;z-index:5;width:32px;height:32px;min-height:32px;padding:0!important;border:0;border-radius:50%;background:rgba(255,255,255,.9);color:#544D63;box-shadow:0 3px 10px rgba(20,10,40,.24);opacity:1!important;visibility:visible;transform:none;align-items:center;justify-content:center;--addWishlist-color-active:#fff}
.cubiq-native .oe_product_cart .o_add_wishlist .fa {font-size:17px;color:inherit}
.cubiq-native .oe_product_cart .o_add_wishlist .o_label {display:block!important;position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.cubiq-native .oe_product_cart .o_add_wishlist:hover {transform:scale(1.12);color:#D14D6B}
.cubiq-native .oe_product_cart .o_add_wishlist:disabled {background:#D14D6B;color:#fff;opacity:1;cursor:default}
.cubiq-native .oe_product_cart .o_add_wishlist:disabled .fa:before {color:#fff}
.cubiq-native .oe_product_cart .cubiq-price {font-size:15.5px;gap:6px;color:var(--accent-200);white-space:nowrap}
.cubiq-native .oe_product_cart .cubiq-price-unit {position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
.cubiq-native .oe_product_cart .emerald-ico {width:18px;height:18px}
.cubiq-native #o_wsale_products_grid .oe_product_cart {--o-wsale-card-thumb-aspect-ratio:4/3}
.cubiq-native #o_wsale_products_grid .oe_product_image_link {aspect-ratio:4/3}
.cubiq-native #o_wsale_products_grid .o_wsale_product_information {padding:16px 17px 18px;gap:9px}
.cubiq-native #o_wsale_products_grid .o_wsale_products_item_title {font-size:16.5px}
.cubiq-native #o_wsale_products_grid .oe_subdescription_wrapper {display:none}
.cubiq-native #o_wsale_products_grid {--o-wsale-products-grid-gap:20px!important;--o-wsale-products-grid-gap-y:20px}
.cubiq-native #o_wsale_products_grid .oe_product {min-width:0}
.cubiq-native #o_wsale_products_header .o_wsale_shop_title h1 {font-size:34px}
.cubiq-native #o_wsale_products_header {padding-bottom:24px!important}
.cubiq-native #o_wsale_products_header .o_wsale_filmstrip {background:transparent}
.cubiq-native #o_wsale_products_header [role="menuitem"] {border:1px solid var(--glass-border);border-radius:10px;background:var(--glass-bg);color:var(--text-200);font-size:13px;font-weight:600}
.cubiq-native #o_wsale_products_header [aria-current="page"] {color:var(--primary-100);border-color:var(--primary-100)}
.cubiq-native #o_wsale_products_header form .input-group {border:1px solid var(--glass-border);border-radius:12px;background:var(--glass-bg)}
.cubiq-native #o_wsale_products_header form input,.cubiq-native #o_wsale_products_header form button {background:transparent;color:var(--text-100);border:0}
.cubiq-native #o_wsale_products_header form .text-bg-light {background:transparent!important;color:var(--text-100)!important}
.cubiq-native #o_wsale_products_header .o_wsale_filmstrip_placeholder {display:none}
.cubiq-native #o_wsale_products_header .o_wsale_filmstrip_item {background:transparent;border-radius:10px;color:var(--text-200);padding:12px 18px}
.cubiq-native #o_wsale_products_header .o_wsale_filmstrip_item span {position:static;background:transparent;color:inherit}
@container oe_product_cart (max-width:310px) {.cubiq-native .oe_product_cart .o_wsale_product_sub>.o_wsale_product_btn{flex:1 1 100%}.cubiq-native .oe_product_cart .o_wsale_product_action_row,.cubiq-native .oe_product_cart .o_wsale_product_btn .o_wsale_product_btn_primary{width:100%}}

/* The native dynamic snippet supplies records; only its presentation is curved. */
.cubiq-native .cubiq-store-intro {margin:0}
.cubiq-native .cubiq-coverflow {padding:0}
.cubiq-native .cubiq-dynamic .s_dynamic_snippet_title,
.cubiq-native .cubiq-dynamic .s_dynamic_snippet_content {padding:0}
.cubiq-native .oe_product_cart .o_wsale_product_btn {aspect-ratio:auto!important;align-items:center;min-height:0}
.cubiq-native .store-headline .text-primary {color:#FFD98A!important}
.cubiq-native .cubiq-coverflow .dynamic_snippet_template {position:absolute;inset:0;transform-style:preserve-3d}
.cubiq-native .cubiq-coverflow .dynamic_snippet_template :is(.carousel,.carousel-inner,.carousel-item,.row,[class*="col-"]) {display:contents!important;transform:none}
.cubiq-native .cubiq-coverflow .dynamic_snippet_template :is(.carousel-control-prev,.carousel-control-next,.carousel-indicators) {display:none!important}
.cubiq-native .cubiq-coverflow .cf-card {text-decoration:none;color:#fff}
.cubiq-native .cubiq-coverflow:not(.is-ready) .cf-card {position:relative;left:0;margin:0;flex:0 0 280px}
.cubiq-native .cubiq-coverflow:not(.is-ready) .dynamic_snippet_template {display:flex;gap:16px;overflow:auto}
.cubiq-native .cubiq-coverflow .cf-media .cubiq-media-fallback {position:static}
.cubiq-native .cubiq-coverflow .cf-media {display:flex}
.cubiq-native .band-stats .emerald-ico,.cubiq-native .cf-price .emerald-ico {width:16px;height:16px}
.cubiq-native .store-band-head p .emerald-ico {width:16px;height:16px;vertical-align:middle}
.cubiq-native .cubiq-coverflow .cf-nav {z-index:70}
.cubiq-native .cf-pause {display:block;margin:10px auto 0;border:0;background:transparent;color:rgba(255,255,255,.65);font-size:11px;padding:4px 8px}
@media(min-width:1400px) {.cubiq-native #o_wsale_products_grid .oe_product {grid-column:span 3}}
@media(max-width:767px) {.cubiq-native #o_wsale_products_grid .o_wsale_product_information{padding:13px 13px 15px}.cubiq-native #o_wsale_products_grid .o_wsale_products_item_title{font-size:14.5px}}
@media(max-width:520px) {.cubiq-native #o_wsale_products_grid .oe_product{grid-column:span 12}.cubiq-native .header-odoo-actions .btn-outline,.cubiq-native .header-user>.dropdown-toggle{padding:8px 12px;font-size:13px;max-width:78px}.cubiq-native .header-odoo-actions .o_wsale_my_wish a{width:32px;height:32px}}
@media(max-width:359px) {.cubiq-native .header-odoo-actions .btn-outline,.cubiq-native .header-user>.dropdown-toggle{padding:7px 9px;max-width:72px}.cubiq-native .header-actions{gap:6px}}
@media(prefers-reduced-motion:reduce) {.cubiq-native .cf-card,.cubiq-native .oe_product_cart{transition:none}}
/* CUBIQ HOME POLISH STAGE 3 */
/* One continuous home catalog area, with the original editable Odoo snippets. */
.cubiq-native .cubiq-home-marketplace {position:relative;padding:64px 0 56px;overflow:visible}
.cubiq-native .cubiq-home-marketplace > .oe_structure > section {background:none;border:0;overflow:visible}
.cubiq-native .cubiq-home-marketplace #categories {padding:0!important}
.cubiq-native .cubiq-home-marketplace .home-cats {margin-bottom:0}
.cubiq-native .cubiq-home-marketplace .cat-strip-inner {mask-image:none;-webkit-mask-image:none;overflow:visible;flex-wrap:wrap;align-items:center;padding:12px 4px}
.cubiq-native .cubiq-home-marketplace #catalog {padding:28px 0 0!important}
.cubiq-native .cubiq-home-marketplace #novidades {padding:56px 0 0!important}
.cubiq-native .cubiq-home-marketplace .s_dynamic_snippet_container {max-width:1400px;width:100%;padding:0 clamp(20px,4vw,56px);margin:0 auto}
.cubiq-native .cubiq-home-marketplace .s_dynamic_snippet_container > .row {margin:0}
.cubiq-native .cubiq-home-marketplace .s_dynamic_snippet_title {margin:0 0 28px}

/* Keep Bootstrap's slide clipping, but give the growing cards/shadows a gutter.
   The compensated margins preserve the card width and slide alignment. */
.cubiq-native .cubiq-dynamic {overflow:visible}
.cubiq-native .s_dynamic_snippet_products:not(.cubiq-coverflow) .carousel-inner {
  box-sizing:border-box;width:calc(100% + 96px)!important;max-width:none;
  padding:24px 48px 76px;margin:-24px -48px -76px!important;
}
.cubiq-native .s_dynamic_snippet_products:not(.cubiq-coverflow) .carousel-item {padding:16px 0}
.cubiq-native .oe_product_cart:focus-within {z-index:2}
/* Keep price and action together after aligning the home cards to the strip. */
@container oe_product_cart (min-width:300px){
  .cubiq-native .cubiq-home-marketplace .o_wsale_product_sub > .o_wsale_product_btn {flex:0 0 auto}
  .cubiq-native .cubiq-home-marketplace .o_wsale_product_action_row,
  .cubiq-native .cubiq-home-marketplace .o_wsale_product_btn .o_wsale_product_btn_primary {width:auto}
}

/* Compact introduction, always one row. Smaller screens can swipe the row. */
.cubiq-native .cubiq-creators-intro {padding:56px 0 44px;overflow:visible}
.cubiq-native .cubiq-creators-intro > .section-blend {display:none}
.cubiq-native .cubiq-creators-intro .creators-grid {
  display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;
  max-width:none;margin:28px 0 0;
}
.cubiq-native .cubiq-creators-intro .creator-card {padding:0;min-width:0;text-align:left;background:var(--glass-bg-strong);border-color:var(--glass-border);transition:transform .2s,border-color .2s;scroll-snap-align:start}
.cubiq-native .cubiq-creators-intro .creator-card:hover {transform:translateY(-3px);border-color:var(--primary-100)}
.cubiq-native .creator-intro-link {display:flex;align-items:center;gap:14px;padding:20px 18px;border-radius:18px;min-width:0}
.cubiq-native .creator-intro-link:focus-visible {outline:2px solid var(--primary-100);outline-offset:3px}
.cubiq-native .cubiq-creators-intro .creator-portrait {width:52px;height:52px;flex:0 0 52px;margin:0;position:relative;overflow:hidden;border:1px solid var(--glass-border);background:linear-gradient(140deg,var(--media-color),var(--bg-200))}
.cubiq-native .creator-portrait img {display:block;width:100%;height:100%;object-fit:cover;object-position:50% 12%;transform:scale(1.6);transform-origin:50% 20%}
.cubiq-native .creator-portrait-closeedbr img {object-position:70% 0%;transform-origin:70% 10%}
.cubiq-native .creator-portrait-nushi img {object-position:32% 25%;transform-origin:32% 25%}
.cubiq-native .creator-intro-copy {min-width:0}
.cubiq-native .cubiq-creators-intro h3 {font-size:16px;font-weight:800;margin:0 0 6px}
.cubiq-native .cubiq-creators-intro .creator-intro-copy p {font-size:12.5px;line-height:1.5;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin:0}
.cubiq-native .cubiq-creators-intro .creators-cta {margin-top:24px}
.cubiq-native .cubiq-creators-intro .creators-cta .btn {padding:10px 18px;font-size:13px}
@media(max-width:1199px){
  .cubiq-native .cubiq-creators-intro .creators-grid {grid-template-columns:none;grid-auto-flow:column;grid-auto-columns:minmax(275px,calc((100% - 36px)/3));overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x proximity;padding:5px 4px 14px;margin:23px -4px 0;scrollbar-width:thin;scrollbar-color:var(--primary-300) transparent}
}
@media(max-width:767px){
  .cubiq-native .cubiq-home-marketplace {padding:40px 0}
  .cubiq-native .cubiq-home-marketplace #catalog {padding-top:24px!important}
  .cubiq-native .cubiq-home-marketplace #novidades {padding-top:40px!important}
  .cubiq-native .cubiq-home-marketplace .cat-strip-inner {justify-content:center;gap:4px}
  .cubiq-native .cubiq-home-marketplace .cat-strip-btn {padding:8px 11px;font-size:12.5px}
  .cubiq-native .cubiq-creators-intro {padding:40px 0 32px}
  .cubiq-native .cubiq-creators-intro .creators-grid {grid-auto-columns:minmax(275px,86%)}
}
@media(prefers-reduced-motion:reduce){.cubiq-native .cubiq-creators-intro .creator-card{transition:none}}
/* CUBIQ CATALOG STAGE 4 */
/* Catalog layout follows the prototype; data and transactions stay in Odoo. */
.cubiq-native .o_wsale_products_page {--cubiq-header-height:81px;overflow:visible}
.cubiq-native .cubiq-shop-categories {top:var(--cubiq-header-height);z-index:80;border-top:1px solid var(--glass-border);box-shadow:0 8px 24px -18px rgba(20,10,40,.28)}
.cubiq-native .cubiq-shop-categories .cat-strip-inner {max-width:1560px;gap:5px;padding:11px 20px;flex-wrap:nowrap;overflow-x:auto;scrollbar-width:thin;scrollbar-color:var(--bg-300) transparent}
.cubiq-native .cubiq-shop-categories .cat-strip-btn {padding:9px 14px;font-size:13px;text-decoration:none}
.cubiq-native .cubiq-catalog-anchor {display:block;scroll-margin-top:calc(var(--cubiq-header-height) + 76px)}
.cubiq-native #o_wsale_container {max-width:1560px;width:100%;padding:40px clamp(20px,4vw,56px) 60px;--o-wsale-sidebar-width:250px}
.cubiq-native .o_wsale_products_main_row {gap:30px;margin:0;align-items:start}
.cubiq-native #products_grid {min-width:0;padding:0;flex:1 1 0}
.cubiq-native #products_grid_before {width:250px;max-width:250px;flex:0 0 250px;top:calc(var(--cubiq-header-height) + 76px);padding:0 18px 18px!important;box-shadow:var(--shadow);border:1px solid var(--bg-300)}
.cubiq-native .cubiq-filters-head {display:flex;align-items:center;gap:7px;padding:16px 18px 12px;margin:0 -18px 6px;border-bottom:1px solid var(--bg-300);background:var(--card-bg);border-radius:18px 18px 0 0}
.cubiq-native .cubiq-filters-head h2 {font:800 11px 'Onest',system-ui,sans-serif;letter-spacing:.14em;text-transform:uppercase;color:var(--text-300);margin:0}
.cubiq-native .cubiq-filters-head i {color:var(--primary-100);font-size:15px}
.cubiq-native #products_grid_before .o_wsale_products_grid_before_rail {max-height:calc(100dvh - var(--cubiq-header-height) - 156px);height:auto;margin:0!important;padding:0 4px 0 0!important;overflow-y:auto!important;scrollbar-width:thin;scrollbar-color:var(--bg-300) transparent}
.cubiq-native #products_grid_before .accordion {--accordion-bg:transparent;--accordion-border-color:var(--bg-300);--accordion-color:var(--text-100);--accordion-btn-color:var(--text-100)}
.cubiq-native #products_grid_before .accordion-item {background:transparent;border-color:var(--bg-300)}
.cubiq-native #products_grid_before .accordion-button {color:var(--text-100);font:800 12px 'Onest',system-ui,sans-serif;letter-spacing:.045em;text-transform:uppercase;padding:15px 0!important;box-shadow:none}
.cubiq-native #products_grid_before .accordion-button:after {width:12px;height:12px;background-size:12px;opacity:.55}
.cubiq-native #products_grid_before ul.nav {gap:2px;padding-left:0}
.cubiq-native #products_grid_before .nav-item {margin:0!important}
.cubiq-native .cubiq-category-option {display:flex!important;gap:8px;align-items:center;font-size:12.5px;padding:6px 0!important;text-decoration:none;color:var(--text-200);line-height:1.4}
.cubiq-native .cubiq-category-option .cubiq-category-check {width:17px;height:17px;flex:0 0 17px;border:1px solid var(--bg-300);border-radius:5px;background:var(--bg-100)}
.cubiq-native .cubiq-category-option.active .cubiq-category-check {background:var(--primary-100);border-color:var(--primary-100)}
.cubiq-native .cubiq-category-option.active .cubiq-category-check:after {content:'✓';display:block;text-align:center;font-size:12px;color:var(--bg-100)}
.cubiq-native .cubiq-category-option.active {color:var(--primary-100);font-weight:700}
.cubiq-native .cubiq-category-option i {font-size:13px;opacity:.7}
.cubiq-native .cubiq-category-option small {margin-left:auto;font:10px 'Onest',system-ui,sans-serif;color:var(--text-300)}
.cubiq-native .cubiq-my-collection {border-top:1px solid var(--bg-300);margin-top:16px;padding-top:16px}
.cubiq-native .cubiq-my-collection a {display:flex;gap:9px;align-items:center;font-size:12.5px;color:var(--text-200)}
.cubiq-native .cubiq-my-collection .ti-arrow-up-right {margin-left:auto}
.cubiq-native #products_grid_before .form-check {font-size:12.5px;color:var(--text-200);margin-bottom:9px!important}
.cubiq-native :is(#products_grid_before,#o_wsale_offcanvas) .form-check-input {width:17px;height:17px;border-color:var(--bg-300);background-color:var(--bg-100);border-radius:5px;box-shadow:none}
.cubiq-native :is(#products_grid_before,#o_wsale_offcanvas) .form-check-input:checked {background-color:var(--primary-100);border-color:var(--primary-100)}
.cubiq-native :is(#products_grid_before,#o_wsale_offcanvas) .form-check-label {cursor:pointer}
.cubiq-native :is(#products_grid_before,#o_wsale_offcanvas) .emerald-ico {width:15px;height:15px;vertical-align:middle}
.cubiq-native :is(#products_grid_before,#o_wsale_offcanvas) .form-control {background:var(--bg-100);border:1px solid var(--bg-300);border-radius:8px;color:var(--text-100);font-size:12px}
.cubiq-native #o_wsale_products_header {padding:0!important;gap:0!important;margin:0;position:static}
.cubiq-native .cubiq-catalog-top {grid-column:1/-1;min-width:0;margin-bottom:2px}
.cubiq-native #o_wsale_products_header > :is(.o_wsale_shop_title,.o_wsale_category_title,.products_header,.breadcrumb,.o_wsale_filmstrip) {display:none!important}
.cubiq-native .cubiq-catalog-toolbar {display:flex;align-items:center;gap:16px;flex-wrap:wrap}
.cubiq-native .cubiq-catalog-heading {display:flex;align-items:center;gap:12px}
.cubiq-native .cubiq-catalog-heading h2 {font:800 26px/1.2 'Onest',system-ui,sans-serif;letter-spacing:-.02em;margin:0}
.cubiq-native .cubiq-catalog-heading .catalog-count {white-space:nowrap}
.cubiq-native .cubiq-catalog-tools {display:flex;gap:10px;align-items:center;flex:1 1 auto;justify-content:flex-end}
.cubiq-native .cubiq-catalog-search {min-width:180px;max-width:360px;flex:1 1 230px}
.cubiq-native .cubiq-catalog-search .input-group {border-radius:11px!important;border:1px solid var(--bg-300)!important;background:var(--bg-100)!important;min-height:44px;overflow:visible}
.cubiq-native .cubiq-catalog-search input {padding:10px 12px;min-width:0;font-size:13px;border-radius:11px 0 0 11px!important}
.cubiq-native .cubiq-catalog-search :is(input.oe_search_box,.oe_search_button) {background:transparent!important;color:var(--text-100)!important;border:0!important}
.cubiq-native .cubiq-catalog-search input::placeholder {color:var(--text-300);opacity:1}
.cubiq-native .cubiq-catalog-search .oe_search_button {border-radius:0 11px 11px 0!important;padding:9px 13px!important}
.cubiq-native .cubiq-catalog-search .input-group:focus-within {border-color:var(--primary-100)!important;box-shadow:0 0 0 3px var(--primary-300)}
.cubiq-native .cubiq-catalog-tools .o_sortby_dropdown > .dropdown-toggle {border:1px solid var(--bg-300);border-radius:11px;padding:11px 14px!important;display:flex;gap:6px;align-items:center;background:var(--bg-100);font-size:12.5px;color:var(--text-100);min-height:44px;white-space:nowrap}
.cubiq-native .cubiq-catalog-tools .o_sortby_dropdown > .dropdown-toggle small {display:none!important}
.cubiq-native .cubiq-catalog-tools .dropdown-menu {background:var(--bg-100);border:1px solid var(--bg-300);box-shadow:var(--shadow);border-radius:11px;z-index:95}
.cubiq-native .cubiq-catalog-tools .dropdown-item {color:var(--text-100);font-size:13px}
.cubiq-native .cubiq-catalog-tools .dropdown-item:is(.active,:hover) {background:var(--primary-300);color:var(--primary-100)}
.cubiq-native .cubiq-catalog-tools .view-toggle {flex-shrink:0}
.cubiq-native .cubiq-active-filters {display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:18px}
.cubiq-native .cubiq-active-filters .emerald-ico {width:15px;height:15px}
.cubiq-native #o_wsale_products_grid {padding:0;--o-wsale-products-grid-gap:20px!important;gap:20px!important;grid-template-columns:repeat(12,minmax(0,1fr))}
.cubiq-native #o_wsale_products_grid .oe_product {grid-column:span 3;grid-row:auto;min-width:0}
.cubiq-native #o_wsale_products_grid .oe_product_cart {height:100%;min-height:0}
.cubiq-native #o_wsale_products_grid .o_wsale_product_information {flex:1 1 auto}
.cubiq-native #products_grid.cubiq-list-view #o_wsale_products_grid .oe_product {grid-column:1/-1}
.cubiq-native #products_grid.cubiq-list-view .oe_product_cart {flex-direction:row;align-items:stretch}
.cubiq-native #products_grid.cubiq-list-view .oe_product_image {flex:0 0 232px;width:232px;min-width:0;max-width:232px}
.cubiq-native #products_grid.cubiq-list-view .oe_product_image_link {height:100%;aspect-ratio:auto;min-height:200px}
.cubiq-native #products_grid.cubiq-list-view .o_wsale_product_information {padding:18px 20px;min-width:0}
.cubiq-native #products_grid.cubiq-list-view .oe_subdescription_wrapper {display:block}
.cubiq-native #products_grid.cubiq-list-view .o_wsale_product_sub {flex-wrap:nowrap;justify-content:space-between;gap:16px!important}
.cubiq-native #products_grid.cubiq-list-view .o_wsale_product_sub>.o_wsale_product_btn {flex:0 0 auto}
.cubiq-native #products_grid.cubiq-list-view .o_wsale_product_btn_primary {width:auto!important}
.cubiq-native .cubiq-shop-empty {text-align:center;padding:90px 20px;border:1px dashed var(--bg-300);border-radius:18px;background:var(--glass-bg)}
.cubiq-native .cubiq-shop-empty > i {font-size:52px;color:var(--primary-100)}
.cubiq-native .cubiq-shop-empty h2 {font:800 24px 'Onest',system-ui,sans-serif;margin:18px 0 12px}
.cubiq-native .cubiq-shop-empty p {color:var(--text-200)}
.cubiq-native .cubiq-shop-filter-drawer {background:var(--card-bg);color:var(--text-100);max-width:92vw;--offcanvas-width:340px}
.cubiq-native > main:has(.cubiq-shop-filter-drawer:is(.show,.showing,.hiding)) {z-index:1046}
.cubiq-native .cubiq-shop-filter-drawer .multirange-wrapper.visible {visibility:inherit!important}
.cubiq-native .cubiq-shop-filter-drawer .cubiq-filters-head {margin:0;border-radius:0;padding:20px 24px;justify-content:space-between}
.cubiq-native .cubiq-shop-filter-drawer .accordion-item {background:transparent;border-color:var(--bg-300)}
.cubiq-native .cubiq-shop-filter-drawer .accordion-button {background:transparent;color:var(--text-100);font-size:12px;letter-spacing:.045em;text-transform:uppercase;box-shadow:none}
@media (prefers-color-scheme: dark){
:where(html:not([data-cubiq-theme])) .cubiq-native.cubiq-native .cubiq-shop-filter-drawer .btn-close {filter:invert(1)}
}
@media (min-width: 0px){
:where(html[data-cubiq-theme="dark"]) .cubiq-native.cubiq-native .cubiq-shop-filter-drawer .btn-close {filter:invert(1)}
}
.cubiq-native .cubiq-filter-toggle {border:1px solid var(--bg-300);background:var(--bg-100);border-radius:11px;color:var(--text-100);display:flex;align-items:center;gap:6px;white-space:nowrap;font-size:12px}
@media(max-width:1399px){.cubiq-native #o_wsale_products_grid .oe_product{grid-column:span 4}.cubiq-native .cubiq-catalog-tools{flex-basis:100%}.cubiq-native .cubiq-catalog-search{max-width:none}}
@media(max-width:1199px){.cubiq-native #o_wsale_products_grid .oe_product{grid-column:span 6}.cubiq-native .o_wsale_products_main_row{gap:24px}.cubiq-native #products_grid_before{width:230px;flex-basis:230px}}
@media(max-width:991px){.cubiq-native #o_wsale_container{padding-top:28px}.cubiq-native #o_wsale_products_grid .oe_product{grid-column:span 6}.cubiq-native .cubiq-catalog-heading h2{font-size:24px}.cubiq-native .cubiq-catalog-tools{flex-wrap:wrap}.cubiq-native .cubiq-catalog-search{flex-basis:100%;max-width:none}.cubiq-native .cubiq-filter-toggle{margin-right:auto;min-height:42px}.cubiq-native .cubiq-shop-categories .cat-strip-inner{padding-left:20px;padding-right:20px}.cubiq-native .cubiq-shop-categories .cat-strip-btn{font-size:12px;padding:8px 12px}}
@media(max-width:575px){.cubiq-native #o_wsale_products_grid{gap:16px!important}.cubiq-native #o_wsale_products_grid .oe_product{grid-column:1/-1}.cubiq-native .cubiq-catalog-heading{gap:8px;flex-wrap:wrap}.cubiq-native .cubiq-catalog-heading h2{font-size:22px}.cubiq-native .cubiq-catalog-tools{gap:8px}.cubiq-native .view-btn{width:32px;height:34px}.cubiq-native .cubiq-catalog-tools .o_sortby_dropdown > .dropdown-toggle{font-size:12px;padding:10px!important}.cubiq-native .cubiq-catalog-tools .o_sortby_dropdown > .dropdown-toggle span.d-none{display:inline!important}.cubiq-native .cubiq-catalog-tools .o_sortby_dropdown > .dropdown-toggle span.d-md-none{display:none!important}.cubiq-native #products_grid.cubiq-list-view .oe_product_cart{flex-direction:column}.cubiq-native #products_grid.cubiq-list-view .oe_product_image{flex:auto;width:100%}.cubiq-native #products_grid.cubiq-list-view .oe_product_image_link{aspect-ratio:4/3;min-height:0}.cubiq-native #products_grid.cubiq-list-view .o_wsale_product_sub{flex-wrap:wrap}}
.editor_enable .cubiq-native .cubiq-shop-categories,.editor_enable .cubiq-native #products_grid_before{position:static!important}
.cubiq-native :is(#products_grid_before,#o_wsale_offcanvas) .multirange-wrapper > small {gap:10px}
.cubiq-native :is(#products_grid_before,#o_wsale_offcanvas) .multirange-wrapper > small > span {display:none}
.cubiq-native :is(#products_grid_before,#o_wsale_offcanvas) .multirange-wrapper input[type='number'] {visibility:inherit!important;width:calc(50% - 5px);padding:8px 9px;font-family:'Onest',system-ui,sans-serif}
.cubiq-native #products_grid_before .wsale_products_categories_list > ul > li:first-child > a {font-size:12.5px;padding:7px 0!important;display:block;color:var(--text-200)}
@media(max-width:575px){.cubiq-native #products_grid.cubiq-list-view .oe_product_image{max-width:none}}
/* CUBIQ CART AND SYSTEM THEME STAGE 5 */
/* System palette is resolved by CSS before any script runs. */
html {color-scheme:light;background:#fff;scrollbar-gutter:stable}
@media(prefers-color-scheme:dark){html:where(:not([data-cubiq-theme])){color-scheme:dark;background:#0c0a14}}
@media(min-width: 0px){html:where([data-cubiq-theme="dark"]){color-scheme:dark;background:#0c0a14}}
.cubiq-native{transition:none}
.cubiq-native .cubiq-shop-categories .cat-strip-inner{justify-content:safe center}
.cubiq-native :is(.o_add_compare,.o_add_compare_dyn,.o_add_compare_placeholder){display:none!important}
.cubiq-native .cf-dots{margin-bottom:0}

/* Full cart keeps Odoo's line controls, totals, coupon and checkout. */
.cubiq-native .cubiq-cart-page{--cubiq-cart-surface:var(--card-bg)}
.cubiq-native .cubiq-cart-page .o_website_sale_checkout_container{max-width:1400px;width:100%;padding:42px clamp(20px,4vw,56px) 90px!important}
.cubiq-native .cart-crumbs{display:flex;gap:8px;align-items:center;margin-bottom:18px;font:11.5px 'Onest',system-ui,sans-serif;letter-spacing:.08em;text-transform:uppercase;color:var(--text-300)}
.cubiq-native .cart-crumbs a{color:var(--text-200)}
.cubiq-native .cart-head{margin-bottom:34px}
.cubiq-native .cart-head h1{margin-bottom:6px}
.cubiq-native .cart-head p{margin:0;color:var(--text-200);font-size:15px}
.cubiq-native .cubiq-cart-page .o_website_sale_checkout_container>.row{display:grid;grid-template-columns:minmax(0,1fr) 372px;gap:28px;margin:0!important;align-items:start}
.cubiq-native .cubiq-cart-page #checkout_alerts{grid-column:1/-1;padding:0}
.cubiq-native .cubiq-cart-page #checkout_alerts:not(:has(*)){display:none}
.cubiq-native .cubiq-cart-page .oe_cart,.cubiq-native .cubiq-cart-page #shop_cart{min-width:0;width:100%;padding:0;margin:0}
.cubiq-native .cubiq-cart-page .o_wsale_shorter_cart_summary{width:100%;margin:0;padding:0}
.cubiq-native .cubiq-cart-page .o_wsale_shorter_cart_summary>.o_wsale_sticky_object{position:sticky;top:100px}
.cubiq-native .cart-items-head{display:flex;align-items:center;justify-content:space-between;gap:14px;width:100%;margin-bottom:14px;font:12px 'Onest',system-ui,sans-serif;letter-spacing:.06em;text-transform:uppercase;color:var(--text-300)}
.cubiq-native .cart-items-head a{color:var(--primary-100);font-size:11px;text-align:right}
.cubiq-native .cubiq-cart-page .o_cart_product{padding:18px!important;border:1px solid var(--bg-300);border-radius:16px;background:var(--card-bg);gap:20px!important;margin-bottom:14px;transition:border-color .2s ease,box-shadow .2s ease}
.cubiq-native .cubiq-cart-page .o_cart_product:hover{border-color:color-mix(in srgb,var(--primary-100) 32%,transparent);box-shadow:var(--shadow)}
.cubiq-native .cubiq-cart-page .o_cart_product_image{width:132px;flex:0 0 132px}
.cubiq-native .cubiq-cart-media{width:100%;aspect-ratio:4/3;border-radius:12px;overflow:hidden;background:linear-gradient(150deg,var(--media-color,#6D3FD1),color-mix(in srgb,var(--media-color,#6D3FD1) 55%,#000));display:grid;place-items:center;color:rgba(255,255,255,.85);font-size:34px}
.cubiq-native .cubiq-cart-media img{width:100%;height:100%;object-fit:cover}
.cubiq-native .cubiq-cart-page .o_cart_product h6{color:var(--text-100);font:800 19px/1.3 'Onest',system-ui,sans-serif;letter-spacing:-.01em}
.cubiq-native .cubiq-cart-page [name='website_sale_cart_line_price']{font-size:22px;white-space:nowrap}
.cubiq-native .cubiq-cart-page .o_cart_product .text-muted{color:var(--text-200)!important}
.cubiq-native .cubiq-cart-meta{display:flex;flex-wrap:wrap;gap:7px;margin:10px 0}
.cubiq-native .cubiq-cart-meta span{display:inline-flex;align-items:center;gap:5px;padding:4px 9px;border-radius:7px;background:var(--bg-200);border:1px solid var(--bg-300);font-size:11.5px;color:var(--text-200)}
.cubiq-native .cubiq-cart-page .o_cart_product .btn-link{color:var(--text-300);font-size:12.5px;text-decoration:none}
.cubiq-native .cubiq-cart-page .o_cart_product .btn-link:hover{color:var(--primary-100)}
.cubiq-native .cubiq-cart-page .css_quantity{border:1px solid var(--bg-300);border-radius:9px;overflow:hidden;background:var(--bg-100);width:110px;margin-left:auto}
.cubiq-native .cubiq-cart-page .css_quantity :is(input,button){color:var(--text-200);background:transparent!important;border:0;box-shadow:none;min-width:0;font-size:12px}
.cubiq-native .cubiq-cart-page .css_quantity button{padding:5px 9px}
.cubiq-native .cubiq-cart-page .o_total_card{border:1px solid var(--bg-300);border-radius:18px;background:var(--cubiq-cart-surface);box-shadow:var(--shadow);color:var(--text-100)}
.cubiq-native .cubiq-cart-page .o_total_card>.card-body{padding:22px!important;background:transparent!important;color:var(--text-100)!important}
.cubiq-native .cubiq-cart-page .o_total_card h2{font:800 16px 'Onest',system-ui,sans-serif;margin:0 0 16px;color:var(--text-100)!important}
.cubiq-native .cubiq-cart-page .o_cart_total :is(table,td,tr){background:transparent!important;color:var(--text-100);box-shadow:none;border-color:var(--bg-300)}
.cubiq-native .cubiq-cart-page .o_cart_total td{font-size:13.5px;padding-bottom:12px!important}
.cubiq-native .cubiq-cart-page .o_cart_total .text-muted{color:var(--text-200)!important}
.cubiq-native .cubiq-cart-page [name='o_order_total'] strong.monetary_field{font-size:26px;font-weight:800}
.cubiq-native .cubiq-cart-page .o_cart_total .form-control{background:var(--bg-100)!important;color:var(--text-100);border:1px solid var(--bg-300);border-radius:10px;padding:10px 13px;font-size:13px}
.cubiq-native .cubiq-cart-page .o_cart_total .btn{border-radius:10px;font-size:13px}
.cubiq-native .cubiq-cart-page .o_cart_total button[type='submit']{background:var(--bg-200);border-color:var(--bg-300)!important;color:var(--text-200)}
.cubiq-native .cubiq-cart-page .o_total_card .text-center a{color:var(--text-200)}
.cubiq-native .cubiq-cart-page [name='website_sale_main_button']{margin-top:10px;background:var(--primary-100);color:#fff;border:0;border-radius:11px;min-height:46px;display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:700}
@media(prefers-color-scheme:dark){:where(html:not([data-cubiq-theme])) .cubiq-native .cubiq-cart-page [name='website_sale_main_button']{color:#120a24}}
@media(min-width: 0px){:where(html[data-cubiq-theme="dark"]) .cubiq-native .cubiq-cart-page [name='website_sale_main_button']{color:#120a24}}
.cubiq-native .cubiq-cart-page .cubiq-cart-empty{padding:60px 26px;text-align:center;background:var(--card-bg);border:1px dashed var(--bg-300);border-radius:18px;color:var(--text-200)}
.cubiq-native .cubiq-cart-empty>i{font-size:42px;color:var(--primary-100)}
.cubiq-native .cubiq-cart-empty h2{font:800 21px 'Onest',system-ui,sans-serif;margin:18px 0 10px}
.cubiq-native .cubiq-cart-empty p{font-size:14px;margin-bottom:20px}
@media(max-width:1100px){.cubiq-native .cubiq-cart-page .o_website_sale_checkout_container>.row{grid-template-columns:minmax(0,1fr) 320px;gap:22px}.cubiq-native .cubiq-cart-page .o_cart_product_image{width:96px;flex-basis:96px}}
@media(max-width:991px){.cubiq-native .cubiq-cart-page .o_website_sale_checkout_container>.row{grid-template-columns:1fr}.cubiq-native .cubiq-cart-page .o_wsale_shorter_cart_summary>.o_wsale_sticky_object{position:static}.cubiq-native .cubiq-cart-page .cart-head h1{font-size:40px}}
@media(max-width:575px){.cubiq-native .cubiq-cart-page .o_cart_product{padding:14px!important;gap:12px!important}.cubiq-native .cubiq-cart-page .o_cart_product_image{width:76px;flex-basis:76px}.cubiq-native .cubiq-cart-page .o_cart_product h6{font-size:16px}.cubiq-native .cubiq-cart-page [name='website_sale_cart_line_price']{font-size:16px}.cubiq-native .cart-items-head{font-size:10px;letter-spacing:0}.cubiq-native .cart-items-head a{font-size:10px}}

/* Legacy drawer defaults; stage10.css now applies the current system palette. */
html.cubiq-cart-open,html.cubiq-cart-open body{overflow:hidden}
.cubiq-native #cubiq-cart-drawer{position:fixed;inset:0 0 0 auto;margin:0 0 0 auto;width:min(420px,92vw);max-width:100vw;height:100dvh;max-height:100dvh;padding:0;border:0;background:#fff;color:#221b33;box-shadow:-24px 0 60px -20px rgba(10,4,26,.45);color-scheme:light;--primary-100:#6D3FD1;--bg-100:#fff;--bg-300:#e4e0f0;--text-100:#221b33;--text-200:#544d63;--text-300:#8a8299}
.cubiq-native #cubiq-cart-drawer[open]{display:flex;flex-direction:column}
.cubiq-native #cubiq-cart-drawer::backdrop{background:rgba(10,5,22,.55);backdrop-filter:blur(3px)}
.cubiq-native #cubiq-cart-drawer .cart-drawer-head{display:flex;align-items:center;justify-content:space-between;padding:20px 22px;border-bottom:1px solid #ede9f7;flex:0 0 auto}
.cubiq-native #cubiq-cart-drawer .cart-drawer-head h2{font:800 16px 'Onest',system-ui,sans-serif;margin:0;display:flex;align-items:center;gap:9px;color:#221b33}
.cubiq-native #cubiq-cart-drawer .cart-drawer-head h2 i{font-size:19px;color:#6d3fd1}
.cubiq-native #cubiq-cart-drawer .cart-drawer-close{width:34px;height:34px;border-radius:10px;border:0;background:#f3f0fb;color:#544d63;display:grid;place-items:center;cursor:pointer}
.cubiq-native #cubiq-cart-drawer [data-cart-content]{display:flex;flex-direction:column;flex:1;min-height:0}
.cubiq-native #cubiq-cart-drawer [data-cubiq-cart-panel]{display:flex;flex-direction:column;flex:1;min-height:0}
.cubiq-native #cubiq-cart-drawer .cart-drawer-body{overflow:auto;flex:1;min-height:0;padding:6px 22px}
.cubiq-native #cubiq-cart-drawer .cart-item{display:flex;gap:13px;padding:16px 0;border-bottom:1px solid #f1eef9}
.cubiq-native #cubiq-cart-drawer .cart-item-media{width:66px;height:66px;flex:0 0 66px;border-radius:11px;overflow:hidden}
.cubiq-native #cubiq-cart-drawer .cart-item-media .cubiq-cart-media{height:66px;aspect-ratio:1;font-size:25px}
.cubiq-native #cubiq-cart-drawer .cart-item-info{flex:1;min-width:0;display:flex;flex-direction:column;justify-content:center;gap:8px}
.cubiq-native #cubiq-cart-drawer .cart-item-info>a{font:800 13.5px/1.3 'Onest',system-ui,sans-serif;color:#221b33}
.cubiq-native #cubiq-cart-drawer .cart-item-price,.cubiq-native #cubiq-cart-drawer [name='website_sale_cart_line_price']{font:800 13px 'Onest',system-ui,sans-serif;color:#6d3fd1;display:flex!important;justify-content:flex-start!important;align-items:center!important;flex-wrap:wrap;gap:5px;margin:0!important}
.cubiq-native #cubiq-cart-drawer .cart-item-info small{font-size:11px;color:#8a8299}
.cubiq-native #cubiq-cart-drawer [data-cart-remove]{border:0;background:none;color:#a298ba;align-self:center;cursor:pointer;padding:6px}
.cubiq-native #cubiq-cart-drawer [data-cart-remove]:hover{color:#d14d6b}
.cubiq-native #cubiq-cart-drawer .cart-drawer-foot{flex:0 0 auto;padding:18px 22px 22px;border-top:1px solid #ede9f7}
.cubiq-native #cubiq-cart-drawer .cart-total-row{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px;font-size:14px;font-weight:700;color:#221b33}
.cubiq-native #cubiq-cart-drawer .cart-total-row strong{font-size:18px;color:#6d3fd1}
.cubiq-native #cubiq-cart-drawer .btn{display:flex;align-items:center;justify-content:center;width:100%;border-radius:11px;min-height:43px;font-size:13px;font-weight:700;color:#6d3fd1;background:#fff;border:1px solid #6d3fd1}
.cubiq-native #cubiq-cart-drawer [name='website_sale_main_button']{background:#6d3fd1;color:#fff;margin-top:10px}
.cubiq-native #cubiq-cart-drawer .cart-drawer-foot .position-relative,.cubiq-native #cubiq-cart-drawer .cart-drawer-foot a.my-4{display:none!important}
.cubiq-native #cubiq-cart-drawer .cart-empty,.cubiq-native #cubiq-cart-drawer .cubiq-cart-status{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;flex:1;min-height:280px;padding:50px 22px;color:#8a8299;font-size:14px;gap:14px}
.cubiq-native #cubiq-cart-drawer .cart-empty i{font-size:44px;color:#d8d2ea}
.cubiq-native #cubiq-cart-drawer .cubiq-cart-warning{margin:12px 22px;padding:12px;border-radius:10px;background:#fff4d6;color:#765715;font-size:13px}
.cubiq-native #cubiq-cart-drawer [aria-busy='true']{cursor:progress}
@media(max-width:520px){.cubiq-native #cubiq-cart-drawer{width:100vw}}

/* CUBIQ HEADER AND MOTION STAGE 6 */
/* Header overlays reuse the prototype's hs-* and notification design. */
.cubiq-native header .my_cart_quantity{background:var(--primary-100)!important;color:#fff!important;box-shadow:0 0 0 2px var(--bg-100)}
@media(prefers-color-scheme:dark){:where(html:not([data-cubiq-theme])) .cubiq-native header .my_cart_quantity{color:#160d27!important}}
@media(min-width: 0px){:where(html[data-cubiq-theme="dark"]) .cubiq-native header .my_cart_quantity{color:#160d27!important}}
.cubiq-native .cubiq-header-bell{display:flex;align-items:center}
.cubiq-native #cubiq-notifications-button,.cubiq-native #cubiq-search-mobile{height:38px;width:38px;border:1px solid var(--bg-300);border-radius:12px;color:var(--text-200);background:transparent;display:grid;place-items:center;padding:0;font-size:19px;cursor:pointer}
.cubiq-native #cubiq-notifications-button:hover,.cubiq-native #cubiq-search-mobile:hover{background:var(--bg-200);border-color:var(--primary-100);color:var(--primary-100)}
.cubiq-native #cubiq-search-mobile{display:none}
.cubiq-native #cubiq-search-panel,.cubiq-native #cubiq-notifications{position:fixed;inset:auto;margin:0;padding:12px;border:1px solid var(--bg-300);border-radius:16px;background:var(--bg-100);color:var(--text-100);box-shadow:var(--shadow-lg);overflow:auto}
.cubiq-native #cubiq-search-panel:popover-open,.cubiq-native #cubiq-notifications:popover-open{display:block;animation:hsIn .18s cubic-bezier(.2,.8,.2,1)}
.cubiq-native #cubiq-search-panel .hs-cats{flex-wrap:wrap;gap:6px;overflow:visible}
.cubiq-native .hs-chip:has(input:checked){background:var(--primary-100);border-color:var(--primary-100);color:#fff}
.cubiq-native .hs-chip:has(input:focus-visible){outline:2px solid var(--primary-100);outline-offset:3px}
.cubiq-native #cubiq-search-panel .hs-chip{margin:0;position:relative}
.cubiq-native .hs-price-fields{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:12px;border:0;padding:0;min-width:0}
.cubiq-native .hs-price-fields legend{font:10px 'Onest',system-ui,sans-serif;letter-spacing:.08em;text-transform:uppercase;margin-bottom:8px;float:none;width:auto;color:var(--text-300);display:flex;align-items:center;gap:5px}
.cubiq-native .hs-price-fields label{font-size:11px;color:var(--text-200);margin:0}
.cubiq-native .hs-price-fields input{width:100%;padding:8px 10px;background:var(--bg-200);border:1px solid var(--bg-300);border-radius:9px;color:var(--text-100);font:12px 'Onest',system-ui,sans-serif;margin-top:4px;outline-offset:2px}
.cubiq-native .hs-search-submit{width:100%;margin:2px 0 14px;padding:9px;border:0;border-radius:10px;background:var(--primary-100);color:#fff;font:700 12px 'Onest',system-ui,sans-serif;cursor:pointer}
.cubiq-native [data-header-results] .hs-row{grid-template-columns:42px minmax(0,1fr) auto;text-decoration:none}
.cubiq-native [data-header-results] .hs-title{margin:0 2px 8px}
.cubiq-native [data-header-results] .hs-price{color:var(--primary-100)}
.cubiq-native #cubiq-notifications{padding:0}
.cubiq-native .cubiq-notif-head{display:flex;align-items:center;justify-content:space-between;padding:16px 18px 12px;border-bottom:1px solid var(--bg-300)}
.cubiq-native .cubiq-notif-head h2{font:800 15px 'Onest',system-ui,sans-serif;margin:0;color:var(--text-100)!important}
.cubiq-native .cubiq-notif-head button{border:0;background:none;color:var(--text-300);padding:4px;font-size:18px;cursor:pointer}
.cubiq-native .cubiq-notif-tabs{display:flex;gap:6px;padding:10px 14px;border-bottom:1px solid var(--bg-300)}
.cubiq-native .cubiq-notif-tabs button{flex:1;border:0;border-radius:9px;padding:9px;font:700 12px 'Onest',system-ui,sans-serif;color:var(--text-200);background:transparent;cursor:pointer}
.cubiq-native .cubiq-notif-tabs button[aria-selected='true']{background:color-mix(in srgb,var(--primary-100) 14%,transparent);color:var(--primary-100)}
.cubiq-native #cubiq-notifications [role='tabpanel']{padding:12px}
.cubiq-native #cubiq-notifications [hidden]{display:none!important}
.cubiq-native #cubiq-notifications .notif-empty{padding:32px 14px}
.cubiq-native #cubiq-notif-news [data-header-results]>.hs-title{display:none}
.cubiq-native [data-header-results] .hs-info b{line-height:1.35;margin-bottom:3px}
.cubiq-native [data-header-results] .hs-info span{line-height:1.4}
.cubiq-native [data-header-results] .hs-row{min-height:49px}
.cubiq-native .o_wsale_my_wish,.cubiq-native .cubiq-my-collection{display:none!important}
.cubiq-native .cubiq-cart-page [name='o_wsale_cart_line_button_container']>.text-300,.cubiq-native .cubiq-cart-page .o_cart_product .o_add_wishlist{display:none!important}
/* Preserve native payment/forms while giving checkout the same legible palette. */
.cubiq-native .o_website_sale_checkout_container{--cubiq-checkout-surface:var(--bg-200)}
.cubiq-native .o_website_sale_checkout_container .card,.cubiq-native .o_website_sale_checkout_container .card-body{background:var(--cubiq-checkout-surface)!important;color:var(--text-100)!important;border-color:var(--bg-300)!important}
.cubiq-native .o_website_sale_checkout_container :is(h2,h3,h4,h5,h6,label,legend){color:var(--text-100)!important}
.cubiq-native .o_website_sale_checkout_container .text-muted{color:var(--text-200)!important}
.cubiq-native .o_website_sale_checkout_container :is(input:not([type='checkbox']):not([type='radio']),select,textarea){background-color:var(--bg-100);color:var(--text-100);border-color:var(--bg-300)}
.cubiq-native .o_website_sale_checkout_container :is(input,textarea)::placeholder{color:var(--text-300);opacity:1}
.cubiq-native .o_website_sale_checkout_container .btn-primary{background:var(--primary-100);border-color:var(--primary-100);color:#fff}
@media(prefers-color-scheme:dark){:where(html:not([data-cubiq-theme])) .cubiq-native .hs-chip:has(input:checked),:where(html:not([data-cubiq-theme])) .cubiq-native .hs-search-submit,:where(html:not([data-cubiq-theme])) .cubiq-native .o_website_sale_checkout_container .btn-primary{color:#160d27}}
@media(min-width: 0px){:where(html[data-cubiq-theme="dark"]) .cubiq-native .hs-chip:has(input:checked),:where(html[data-cubiq-theme="dark"]) .cubiq-native .hs-search-submit,:where(html[data-cubiq-theme="dark"]) .cubiq-native .o_website_sale_checkout_container .btn-primary{color:#160d27}}
@media(max-width:991px){.cubiq-native #cubiq-search-mobile{display:grid}.cubiq-native .header-actions{gap:8px}.cubiq-native .header-odoo-actions{gap:7px!important}}
@media(max-width:575px){.cubiq-native .header-inner{gap:9px}.cubiq-native .header-actions{gap:6px}.cubiq-native .header-odoo-actions{gap:5px!important}.cubiq-native #cubiq-notifications-button,.cubiq-native #cubiq-search-mobile{width:32px;height:34px;border-radius:10px}.cubiq-native .credits-pouch{display:none}.cubiq-native .header-user .o_user_name{max-width:62px;overflow:hidden;text-overflow:ellipsis}.cubiq-native #cubiq-search-panel .hs-field input{font-size:16px}}
@media(prefers-reduced-motion:reduce){.cubiq-native #cubiq-search-panel:popover-open,.cubiq-native #cubiq-notifications:popover-open{animation:none}.cubiq-native *{scroll-behavior:auto!important}}

/* CUBIQ PRODUCT PAGE STAGE 7 */
/* Prototype build layout, scoped to the native product route. */
.cubiq-native .cubiq-build-page{--bd-hero:linear-gradient(118deg,#150e2c 0%,#2c1760 55%,#58309f 100%);background:var(--bg-100);color:var(--text-100)}
@media(prefers-color-scheme:dark){:where(html:not([data-cubiq-theme])) .cubiq-native .cubiq-build-page{--bd-hero:linear-gradient(118deg,#0b0716 0%,#1e0f3f 55%,#3e1f86 100%)}}
@media(min-width: 0px){:where(html[data-cubiq-theme="dark"]) .cubiq-native .cubiq-build-page{--bd-hero:linear-gradient(118deg,#0b0716 0%,#1e0f3f 55%,#3e1f86 100%)}}
.cubiq-native .cubiq-build-page #product_detail{max-width:none!important;width:100%;margin:0!important;padding:24px max(24px,calc((100% - 1288px)/2)) 74px!important;background:radial-gradient(ellipse at 25% 45%,#a47fff20,transparent 55%),var(--bd-hero);border:0;color:#fff}
.cubiq-native .cubiq-build-page #product_detail>.o_wsale_content_contained{width:100%;max-width:none;padding:0 0 26px!important;margin:0;min-height:32px}
.cubiq-native .cubiq-build-page .o_wsale_breadcrumb{font:11px 'Onest',system-ui,sans-serif;letter-spacing:.08em;gap:2px}
.cubiq-native .cubiq-build-page .o_wsale_breadcrumb :is(a,span){color:#ddd1f5!important}
.cubiq-native .cubiq-build-page .o_wsale_breadcrumb .active span{color:#b9a8d9!important}
.cubiq-native .cubiq-build-page .o_wsale_breadcrumb .breadcrumb-item::before{color:#9e85ce}
.cubiq-native .cubiq-build-page #product_detail_main{display:grid!important;grid-template-columns:minmax(0,1.42fr) minmax(0,1fr);gap:clamp(28px,4vw,60px);margin:0;align-items:start!important}
.cubiq-native .cubiq-build-page #product_detail_main>.col{width:100%;max-width:none;min-width:0;padding:0;flex:none;position:static!important;top:auto!important}
.cubiq-native .cubiq-build-page #o_wsale_product_details_content{max-width:none;padding:2px 0 0!important;width:100%;margin:0}
.cubiq-native .cubiq-build-page #product_detail .o_wsale_product_images{overflow:visible;border-radius:0}
.cubiq-native .cubiq-build-page #o-carousel-product{overflow:visible!important;display:flex!important;flex-direction:column!important;margin:0!important}
.cubiq-native .cubiq-build-page .o_carousel_product_outer{height:auto!important;aspect-ratio:16/10.5;max-height:none!important;min-height:0!important;position:relative;border-radius:20px;border:1px solid #ffffff26;background:radial-gradient(ellipse at 50% 40%,#927ac028,transparent 72%),#0d08243d;box-shadow:0 24px 58px #07021638}
.cubiq-native .cubiq-build-page #o-carousel-product .o_carousel_product_outer{aspect-ratio:16/10.5!important;order:0;flex:none}
.cubiq-native .cubiq-build-page #o-carousel-product .carousel-item{min-height:0!important}
.cubiq-native .cubiq-build-page #product_detail_main{padding:0}
.cubiq-native .cubiq-build-page .o_carousel_product_outer>.carousel-inner{position:absolute;inset:0;width:100%;height:100%!important}
.cubiq-native .cubiq-build-page .o_carousel_product_outer .product_detail_img{object-fit:contain!important;max-height:100%!important;padding:24px;transform:none!important;border-radius:0!important}
.cubiq-native .cubiq-build-page .o_carousel_product_outer .o_product_detail_img_wrapper{width:100%;max-width:none!important;min-height:0!important;aspect-ratio:auto!important;align-items:center!important}
.cubiq-native .cubiq-build-page .bd-gallery-count{position:absolute;top:16px;left:16px;z-index:2;padding:6px 10px;border-radius:8px;background:#0a06185c;color:#eee7fc;font:11px 'Onest',system-ui,sans-serif;pointer-events:none}
.cubiq-native .cubiq-build-page .bd-zoom{position:absolute;bottom:16px;right:16px;z-index:3;display:flex;align-items:center;gap:7px;border:1px solid #ffffff45;background:#100924a3;color:#fff;font:600 12px 'Onest',system-ui,sans-serif;padding:9px 13px;border-radius:8px;cursor:pointer}
.cubiq-native .bd-zoom[hidden]{display:none!important}
.cubiq-native .cubiq-build-page .bd-zoom:hover{background:#7850b8;border-color:#c8b2ec}
.cubiq-native .cubiq-build-page #o-carousel-product .carousel-control-prev,.cubiq-native .cubiq-build-page #o-carousel-product .carousel-control-next{width:42px;height:42px;top:50%;transform:translateY(-50%);bottom:auto;opacity:1;border-radius:50%;background:#100924a3;border:1px solid #ffffff40;color:#fff}
.cubiq-native .cubiq-build-page #o-carousel-product .carousel-control-prev{left:14px}
.cubiq-native .cubiq-build-page #o-carousel-product .carousel-control-next{right:14px}
.cubiq-native .cubiq-build-page #o-carousel-product :is(.carousel-control-prev,.carousel-control-next) i{background:none!important;border:0!important;color:#fff!important;font-size:17px;padding:0}
.cubiq-native .cubiq-build-page #o-carousel-product .o_carousel_product_indicators{position:static!important;max-width:none!important;width:100%;margin:12px 0 0;padding:0}
.cubiq-native .cubiq-build-page #o-carousel-product .o_carousel_product_indicators{order:1}
.cubiq-native .cubiq-build-page #o-carousel-product .carousel-indicators{display:flex!important;justify-content:flex-start!important;gap:10px;overflow-x:auto;scrollbar-width:thin;max-height:none!important;flex-direction:row!important;padding:0 0 4px!important;margin:0!important}
.cubiq-native .cubiq-build-page #o-carousel-product .carousel-indicators li{flex:0 0 calc((100% - 50px)/6);height:auto!important;width:auto!important;min-width:62px;aspect-ratio:4/3;border:1px solid #ffffff29;border-radius:11px;overflow:hidden;background:#11092666;opacity:.65;margin:0;text-indent:0;transition:opacity .15s,border-color .15s;box-sizing:border-box}
.cubiq-native .cubiq-build-page #o-carousel-product .carousel-indicators li.active{opacity:1;border:2px solid #bb99ff}
.cubiq-native .cubiq-build-page #o-carousel-product .carousel-indicators li img{object-fit:contain!important;padding:4px;border-radius:0!important}
.cubiq-native .cubiq-build-page .bd-placeholder{height:100%;width:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:13px;background:linear-gradient(135deg,#6d48a72e,#11092022);color:#e4d7fa;padding:30px}
.cubiq-native .cubiq-build-page .bd-placeholder>i{font-size:80px;color:#c2a8ef}
.cubiq-native .cubiq-build-page .bd-placeholder>span{font:700 clamp(18px,2vw,26px) 'Onest',system-ui,sans-serif}
.cubiq-native .cubiq-build-page .bd-placeholder small{font:11px 'Onest',system-ui,sans-serif;color:#b7a0d9}
.cubiq-native .cubiq-build-page .bd-category{display:inline-flex;align-items:center;gap:7px;margin:0 0 14px;padding:6px 11px;border-radius:6px;border:1px solid #ffffff3b;background:#ffffff0a;color:#efe7fb;font:700 10px 'Onest',system-ui,sans-serif;text-transform:uppercase;letter-spacing:.13em;text-decoration:none}
.cubiq-native .cubiq-build-page #product_detail h1{font:800 clamp(32px,3.6vw,50px)/1.08 'Onest',system-ui,sans-serif!important;letter-spacing:-.035em;color:#fff!important;margin:0 0 16px!important;text-transform:none}
.cubiq-native .cubiq-build-page #product_details .bd-short,.cubiq-native .cubiq-build-page #product_details [data-oe-field='description_ecommerce']{color:#e0d5f1!important;font:400 15px/1.75 'Onest',system-ui,sans-serif;margin:0 0 22px}
.cubiq-native .cubiq-build-page #product_details .o_product_page_reviews_link{color:#e6d8fa}
.cubiq-native .cubiq-build-page #product_details .o_wsale_product_details_content_section_price{margin:4px 0 24px!important;padding:0;border:0}
.cubiq-native .cubiq-build-page #product_details .oe_price{display:inline-flex;align-items:center;gap:9px;color:#fff!important;font:800 38px/1.1 'Onest',system-ui,sans-serif;flex-wrap:wrap}
.cubiq-native .cubiq-build-page #product_details .oe_price .emerald-ico{width:32px;height:32px}
.cubiq-native .cubiq-build-page #product_details .cubiq-price-unit{font:10px 'Onest',system-ui,sans-serif;letter-spacing:.14em;text-transform:uppercase;color:#cebee6;align-self:end;padding:0 0 4px}
.cubiq-native .cubiq-build-page #product_details .oe_default_price{color:#baa8d2!important}
.cubiq-native .cubiq-build-page #product_details .text-muted{color:#c9b8df!important}
.cubiq-native .cubiq-build-page #product_details .css_attribute_name{color:#e8def7!important;font:600 13px 'Onest',system-ui,sans-serif}
.cubiq-native .cubiq-build-page #product_details :is(.form-select,.form-control){background-color:#170c30;color:#f5efff;border-color:#745a93;border-radius:9px}
.cubiq-native .cubiq-build-page #product_details .btn-outline-secondary{border-color:#9678bb;color:#eee4fc;background:transparent}
.cubiq-native .cubiq-build-page #product_details #o_wsale_product_cta_section{padding:0;border:0}
.cubiq-native .cubiq-build-page #o_wsale_cta_wrapper{gap:10px!important;flex-wrap:wrap!important;align-items:stretch!important}
.cubiq-native .cubiq-build-page #add_to_cart_wrap{flex:1 1 auto;gap:10px;align-items:stretch!important;flex-wrap:wrap!important}
.cubiq-native .cubiq-build-page #add_to_cart_wrap [name='add_to_cart']{flex:1 1 175px;display:flex!important;justify-content:center;align-items:center;min-height:54px;border:1px solid transparent!important;border-radius:9px!important;background:#a887f3!important;color:#190d2f!important;font:800 14px 'Onest',system-ui,sans-serif;padding:14px 20px!important;box-shadow:0 8px 24px #0c042838;transition:background .18s,transform .18s,box-shadow .18s}
.cubiq-native .cubiq-build-page #add_to_cart_wrap [name='add_to_cart']:hover{background:#c2a5ff!important;transform:translateY(-2px);box-shadow:0 12px 26px #0c042850}
.cubiq-native .cubiq-build-page #product_details .css_quantity{flex:0 0 116px!important;min-width:0;max-width:116px;width:116px!important;margin:0!important;border:1px solid #765891;border-radius:9px!important;overflow:hidden}
.cubiq-native .cubiq-build-page #product_details .css_quantity :is(input,a,button){border:0!important;color:#f6efff!important;background:#170c303d!important;border-radius:0!important;min-width:0;box-shadow:none;font:600 13px 'Onest',system-ui,sans-serif;padding:8px!important}
.cubiq-native .cubiq-build-page #product_details .css_quantity input{width:32px;height:100%;padding:0!important}
.cubiq-native .cubiq-build-page #product_option_block{margin:0!important;align-self:stretch}
.cubiq-native .cubiq-build-page #product_option_block .o_add_wishlist_dyn{height:54px;width:54px;padding:0!important;display:grid;place-items:center;border:1px solid #aa85d6!important;border-radius:9px!important;background:transparent!important;color:#f1e5ff!important;font-size:20px;min-height:54px}
.cubiq-native .cubiq-build-page #product_option_block .o_add_wishlist_dyn:hover{background:#ffffff15!important}
.cubiq-native .cubiq-build-page #product_option_block .o_add_wishlist_dyn:disabled{color:#b391f7!important;opacity:1}
.cubiq-native .cubiq-build-page .bd-terms{font:11px 'Onest',system-ui,sans-serif;margin:16px 0 0;color:#c9b8df}
.cubiq-native .cubiq-build-page .bd-terms a{color:inherit;text-decoration:none}
.cubiq-native .cubiq-build-page #product_details :is(.alert,.availability_messages){font-size:13px}
.cubiq-native .cubiq-build-page .bd-quick-wrap,.cubiq-native .cubiq-build-page .bd-body,.cubiq-native .cubiq-build-page .bd-related-section{max-width:1336px;width:100%;margin-inline:auto;padding-inline:24px}
.cubiq-native .cubiq-build-page .bd-quick-wrap{position:relative;margin-top:-30px;z-index:1}
.cubiq-native .cubiq-build-page .bd-quick{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));list-style:none;margin:0;padding:0;background:var(--bg-200);border:1px solid var(--bg-300);border-radius:16px;box-shadow:0 12px 35px #11082512;overflow:hidden}
.cubiq-native .cubiq-build-page .bd-quick li{display:flex;align-items:center;gap:14px;padding:23px 26px;border-right:1px solid var(--bg-300);min-width:0}
.cubiq-native .cubiq-build-page .bd-quick li:last-child{border:0}
.cubiq-native .cubiq-build-page .bd-quick li>i{font-size:27px;color:var(--primary-100)}
.cubiq-native .cubiq-build-page .bd-quick strong{display:block;font:800 18px 'Onest',system-ui,sans-serif;color:var(--text-100);line-height:1.4;overflow-wrap:anywhere}
.cubiq-native .cubiq-build-page .bd-quick span:not([data-oe-field]){display:block;font:12px 'Onest',system-ui,sans-serif;color:var(--text-300)}
.cubiq-native .cubiq-build-page .bd-body{padding-top:44px;padding-bottom:36px}
.cubiq-native .cubiq-build-page .bd-cols{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:24px;align-items:start}
.cubiq-native .cubiq-build-page .bd-card{border:1px solid var(--bg-300);border-radius:16px;background:var(--bg-200);padding:26px 28px;margin:0 0 20px;box-shadow:0 7px 20px #11082505;min-width:0}
.cubiq-native .cubiq-build-page .bd-card h2{font:800 24px/1.2 'Onest',system-ui,sans-serif!important;color:var(--text-100)!important;letter-spacing:-.025em;margin:0 0 19px}
.cubiq-native .cubiq-build-page .bd-card p{font:400 14px/1.8 'Onest',system-ui,sans-serif;color:var(--text-200)}
.cubiq-native .cubiq-build-page .bd-short-description{margin:0}
.cubiq-native .cubiq-build-page #product_full_description{color:var(--text-200);font:14px/1.8 'Onest',system-ui,sans-serif}
.cubiq-native .cubiq-build-page #product_full_description:empty{margin:0!important;min-height:0}
.cubiq-native .cubiq-build-page #product_full_description .container{max-width:100%;padding-inline:0}
.cubiq-native .cubiq-build-page .bd-spec-list{display:grid;grid-template-columns:minmax(90px,1fr) minmax(0,1fr);gap:12px;margin:0;padding:0}
.cubiq-native .cubiq-build-page .bd-spec-list dt{font:400 13px 'Onest',system-ui,sans-serif;color:var(--text-300)}
.cubiq-native .cubiq-build-page .bd-spec-list dd{font:600 13px 'Onest',system-ui,sans-serif;color:var(--text-100);margin:0;text-align:right}
.cubiq-native .cubiq-build-page #product_full_spec{padding:8px 0 0!important;margin:0;background:none;border:0}
.cubiq-native .cubiq-build-page #product_full_spec>.container{padding:0;max-width:none}
.cubiq-native .cubiq-build-page #product_full_spec>.container>.d-flex{display:none!important}
.cubiq-native .cubiq-build-page #product_specifications .row{margin:0}
.cubiq-native .cubiq-build-page #product_specifications .col-lg-6{width:100%;padding:0}
.cubiq-native .cubiq-build-page #product_specifications table{margin:0;--table-bg:transparent;--table-color:var(--text-100);--table-border-color:var(--bg-300);--table-striped-bg:transparent}
.cubiq-native .cubiq-build-page #product_specifications :is(th,td){background:none!important;color:var(--text-100)!important;border-color:var(--bg-300);font:600 13px/1.7 'Onest',system-ui,sans-serif;padding:10px 0;border-bottom:0;box-shadow:none!important}
.cubiq-native .cubiq-build-page #product_specifications th{color:var(--text-300)!important;font-weight:400;width:50%}
.cubiq-native .cubiq-build-page #product_specifications td{text-align:right}
.cubiq-native .cubiq-build-page .bd-documents .list-group{gap:8px}
.cubiq-native .cubiq-build-page .bd-documents .list-group-item{border:1px solid var(--bg-300);background:var(--bg-100);border-radius:8px;color:var(--text-100);padding:12px}
.cubiq-native .cubiq-build-page .bd-related-section{padding-top:0;padding-bottom:64px}
.cubiq-native .cubiq-build-page .bd-related-section .section-head{display:flex;align-items:end;justify-content:space-between;gap:16px;margin-bottom:22px}
.cubiq-native .cubiq-build-page .bd-related-section h2{font:800 27px 'Onest',system-ui,sans-serif;color:var(--text-100);margin:7px 0 0;letter-spacing:-.02em}
.cubiq-native .cubiq-build-page .bd-related-section .eyebrow{font:10px 'Onest',system-ui,sans-serif;letter-spacing:.15em;color:var(--text-300)}
.cubiq-native .cubiq-build-page .bd-related-section .section-head>a{font-size:13px;color:var(--primary-100);white-space:nowrap}
.cubiq-native .cubiq-build-page .bd-related-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}
.cubiq-native .cubiq-build-page .bd-related-card{border:1px solid var(--bg-300);border-radius:16px;background:var(--bg-200);text-decoration:none;min-width:0;transition:transform .2s,border-color .2s,box-shadow .2s}
.cubiq-native .cubiq-build-page .bd-related-card:hover{transform:translateY(-5px);border-color:var(--primary-100);box-shadow:0 14px 30px #10042621}
.cubiq-native .cubiq-build-page .bd-related-image{height:180px;position:relative;display:grid;place-items:center;background:linear-gradient(135deg,#ffffff1a,#00000038),var(--media-color);border-radius:15px 15px 0 0;overflow:hidden}
.cubiq-native .cubiq-build-page .bd-related-image>img{width:100%;height:100%;object-fit:contain;padding:13px;transition:transform .3s}
.cubiq-native .cubiq-build-page .bd-related-card:hover .bd-related-image>img{transform:scale(1.04)}
.cubiq-native .cubiq-build-page .bd-related-image>i{font-size:54px;color:#f7efffe0}
.cubiq-native .cubiq-build-page .bd-related-image>span{position:absolute;left:12px;bottom:12px;font:700 9px 'Onest',system-ui,sans-serif;color:#fff;background:#170d2fcc;border-radius:20px;padding:5px 9px;text-transform:uppercase}
.cubiq-native .cubiq-build-page .bd-related-info{padding:17px}
.cubiq-native .cubiq-build-page .bd-related-info h3{font:800 16px 'Onest',system-ui,sans-serif;color:var(--text-100);margin:0 0 9px}
.cubiq-native .cubiq-build-page .bd-related-info p{font:11px 'Onest',system-ui,sans-serif;color:var(--text-300);display:flex;gap:5px;align-items:center;margin:0 0 13px}
.cubiq-native .cubiq-build-page .bd-related-bottom{display:flex;gap:8px;justify-content:space-between;align-items:center;border-top:1px solid var(--bg-300);padding-top:13px}
.cubiq-native .cubiq-build-page .bd-related-bottom strong{color:var(--primary-100);font:800 15px 'Onest',system-ui,sans-serif;display:flex;gap:5px;align-items:center}
.cubiq-native .cubiq-build-page .bd-related-bottom>span{font:700 11px 'Onest',system-ui,sans-serif;color:var(--primary-100)}
.cubiq-native .bd-lightbox{width:100vw;max-width:none;height:100dvh;max-height:none;inset:0;margin:0;padding:28px;border:0;background:#0b061bf5;color:#fff;overflow:hidden}
.cubiq-native .bd-lightbox[open]{display:grid;grid-template-columns:48px minmax(0,1fr) 48px;align-items:center;gap:12px}
.cubiq-native .bd-lightbox::backdrop{background:#0b061b}
.cubiq-native .bd-lightbox figure{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;margin:0;min-width:0;height:100%}
.cubiq-native .bd-lightbox img{max-width:100%;height:auto;max-height:80dvh;object-fit:contain}
.cubiq-native .bd-lightbox figcaption{font:12px 'Onest',system-ui,sans-serif;color:#d8c7ed;text-align:center}
.cubiq-native .bd-lightbox button{width:44px;height:44px;background:#ffffff14;color:#fff;border:1px solid #ffffff40;border-radius:50%;font-size:22px;display:grid;place-items:center;padding:0;cursor:pointer}
.cubiq-native .bd-lightbox button:disabled{visibility:hidden}
.cubiq-native .bd-lightbox [data-lightbox-close]{position:absolute;top:18px;right:18px;z-index:1}
.cubiq-native .bd-lightbox button:hover{background:#ffffff30}
.cubiq-native .cubiq-build-page :is(button,a,[role='button']):focus-visible,.cubiq-native .bd-lightbox button:focus-visible{outline:2px solid #c4a0ff;outline-offset:4px}
@media(max-width:1100px){.cubiq-native .cubiq-build-page #product_detail_main{grid-template-columns:minmax(0,1.12fr) minmax(0,1fr);gap:28px}.cubiq-native .cubiq-build-page .bd-quick li{padding:20px 17px;gap:10px}.cubiq-native .cubiq-build-page .bd-quick strong{font-size:16px}.cubiq-native .cubiq-build-page .bd-related-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:850px){.cubiq-native .cubiq-build-page #product_detail_main{grid-template-columns:1fr;gap:30px}.cubiq-native .cubiq-build-page #product_details{padding-top:0}.cubiq-native .cubiq-build-page #product_detail h1{font-size:36px!important}.cubiq-native .cubiq-build-page .bd-cols{grid-template-columns:1fr}.cubiq-native .cubiq-build-page .bd-quick{grid-template-columns:repeat(2,minmax(0,1fr))}.cubiq-native .cubiq-build-page .bd-quick li:nth-child(2n){border-right:0}.cubiq-native .cubiq-build-page .bd-quick li:nth-child(-n+2){border-bottom:1px solid var(--bg-300)}.cubiq-native .cubiq-build-page .bd-card{margin-bottom:0}.cubiq-native .cubiq-build-page .bd-documents{margin-top:20px}.cubiq-native .cubiq-build-page .bd-related-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:575px){.cubiq-native .cubiq-build-page #product_detail{padding:18px 20px 60px!important}.cubiq-native .cubiq-build-page #product_detail>.o_wsale_content_contained{padding-bottom:18px!important}.cubiq-native .cubiq-build-page .bd-quick-wrap,.cubiq-native .cubiq-build-page .bd-body,.cubiq-native .cubiq-build-page .bd-related-section{padding-inline:20px}.cubiq-native .cubiq-build-page .o_carousel_product_outer{aspect-ratio:1.2}.cubiq-native .cubiq-build-page .o_carousel_product_outer .product_detail_img{padding:18px}.cubiq-native .cubiq-build-page .bd-zoom{bottom:10px;right:10px;padding:7px 10px}.cubiq-native .cubiq-build-page .bd-gallery-count{top:10px;left:10px}.cubiq-native .cubiq-build-page #product_detail h1{font-size:32px!important}.cubiq-native .cubiq-build-page .bd-short{font-size:14px!important}.cubiq-native .cubiq-build-page #add_to_cart_wrap{flex-basis:calc(100% - 64px)}.cubiq-native .cubiq-build-page #product_details .css_quantity{flex:0 0 100%!important;height:42px;width:116px!important;max-width:116px;margin-right:100%!important}.cubiq-native .cubiq-build-page #product_option_block{align-self:end}.cubiq-native .cubiq-build-page #add_to_cart_wrap [name='add_to_cart']{min-height:50px;padding:13px 12px!important;font-size:13px}.cubiq-native .cubiq-build-page .bd-quick li{padding:17px 13px;gap:9px}.cubiq-native .cubiq-build-page .bd-quick strong{font-size:14px}.cubiq-native .cubiq-build-page .bd-quick li>i{font-size:23px}.cubiq-native .cubiq-build-page .bd-body{padding-top:30px;padding-bottom:30px}.cubiq-native .cubiq-build-page .bd-card{padding:22px}.cubiq-native .cubiq-build-page .bd-card h2{font-size:22px!important}.cubiq-native .cubiq-build-page .bd-related-section .section-head{align-items:start;flex-direction:column;gap:12px}.cubiq-native .cubiq-build-page .bd-related-grid{gap:12px}.cubiq-native .cubiq-build-page .bd-related-image{height:140px}.cubiq-native .cubiq-build-page .bd-related-info{padding:12px}.cubiq-native .cubiq-build-page .bd-related-info h3{font-size:14px}.cubiq-native .cubiq-build-page .bd-related-bottom{flex-wrap:wrap}.cubiq-native .bd-lightbox{padding:60px 8px 30px}.cubiq-native .bd-lightbox[open]{grid-template-columns:32px minmax(0,1fr) 32px;gap:2px}.cubiq-native .bd-lightbox button{width:32px;height:32px;font-size:19px}}
@media(prefers-reduced-motion:reduce){.cubiq-native .cubiq-build-page *{transition:none!important;animation:none!important;scroll-behavior:auto!important}}

.cubiq-native .cubiq-build-page #product_option_block .o_add_wishlist_dyn>span{display:none!important}.cubiq-native .cubiq-build-page #product_option_block .o_add_wishlist_dyn>i{margin:0!important}.cubiq-native .cubiq-build-page #product_option_block{width:auto!important;flex:0 0 54px}
.cubiq-native .cubiq-build-page #product_specifications td:first-child{width:50%!important;text-align:left;color:var(--text-300)!important;font-weight:400}
.cubiq-native .cubiq-build-page #product_specifications td:last-child{width:50%!important}

/* CUBIQ BUILD DATA STAGE 8 */
.cubiq-build-page .bd-spec-list dd{overflow-wrap:anywhere}
.cubiq-build-page .bd-license p,.cubiq-build-page .bd-file-note{color:var(--text-300)}
.cubiq-build-page .bd-variant-note{padding:16px;border:1px solid var(--bg-300);border-radius:12px;margin-top:20px}
.cubiq-build-page .bd-variant-note p{margin:0;white-space:pre-line}
.cubiq-build-page .bd-license{margin-top:20px}
.cubiq-native .cubiq-build-page .o_variant_pills{background:#ffffff0b!important;border:1px solid #ffffff35!important;color:#f8f6ff!important;border-radius:10px;padding:10px 15px}
.cubiq-native .cubiq-build-page .o_variant_pills.active{background:#a78bfa!important;border-color:#a78bfa!important;color:#170b32!important}
.cubiq-native .cubiq-build-page .o_variant_pills label,.cubiq-native .cubiq-build-page .o_variant_pills label span{color:inherit!important}
.cubiq-download-page{max-width:1100px;margin:auto;padding:0 20px}
.cubiq-download-page h1{font-size:clamp(26px,4vw,42px)}
.cubiq-download-page .bd-card{background:var(--bg-200);color:var(--text-100);border:1px solid var(--bg-300);border-radius:16px;padding:24px}
.cubiq-download-page .bd-card h2{font-size:20px}
.cubiq-download-page .alert{background:var(--bg-200);color:var(--text-100);border-color:var(--bg-300)}

.cubiq-native .cubiq-build-page .bd-quick strong [data-build-value]{font:inherit;color:inherit;display:inline}

/* CUBIQ GUIDE AND FILES STAGE 9 */
/* Product preview and native downloads, in both system palettes. */
.cubiq-native .cubiq-build-page .bd-cols{gap:30px}
.cubiq-native .cubiq-build-page .bd-col-main,.cubiq-native .cubiq-build-page .bd-col-side{min-width:0;display:grid;gap:28px}
.cubiq-native .cubiq-build-page .bd-card{margin-bottom:0;padding:30px 32px}
.cubiq-native .cubiq-build-page .bd-description-slot{position:relative}
.cubiq-native .cubiq-build-page .bd-description-slot.is-collapsed{max-height:162px;overflow:hidden;mask-image:linear-gradient(#000 55%,transparent)}
.cubiq-native .cubiq-build-page .bd-read-more{display:inline-flex;align-items:center;gap:7px;margin:12px 0 0;border:0;padding:0;background:transparent;color:var(--primary-100);font:700 13px 'Onest',system-ui,sans-serif;cursor:pointer}
.cubiq-native .cubiq-build-page .bd-read-more[hidden],.cubiq-native .cubiq-build-page [data-access-variant][hidden]{display:none!important}
.cubiq-native .cubiq-build-page .bd-guide-heading{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:18px}
.cubiq-native .cubiq-build-page .bd-guide-heading h2{margin:0}
.cubiq-native .cubiq-build-page .bd-guide-heading>span{font:9px 'Onest',system-ui,sans-serif;letter-spacing:.1em;color:var(--text-200);text-align:right}
.cubiq-native .cubiq-build-page .bd-preview-frame{height:380px;position:relative;border-radius:15px;overflow:hidden;background:var(--bg-100);border:1px solid var(--bg-300)}
.cubiq-native .cubiq-build-page .bd-preview-frame iframe{width:100%;height:100%;display:block;border:0}
.cubiq-native .cubiq-build-page .bd-guide-open{position:absolute;bottom:15px;right:15px;display:inline-flex;align-items:center;gap:7px;padding:11px 16px;border-radius:24px;background:linear-gradient(110deg,#7140d4,#9469e6);color:white!important;font:700 12px 'Onest',system-ui,sans-serif;text-decoration:none;box-shadow:0 6px 24px #5d2db540;transition:transform .18s,box-shadow .18s;z-index:1}
.cubiq-native .cubiq-build-page .bd-guide-open:hover{transform:translateY(-2px);box-shadow:0 9px 24px #5d2db560}
.cubiq-native .cubiq-build-page .bd-guide-caption{display:flex;gap:8px;align-items:start;margin:14px 0 0;font-size:12px;line-height:1.7}
.cubiq-native .cubiq-build-page .bd-guide-caption i{font-size:18px;margin-top:1px;color:var(--primary-100)}
.cubiq-native .cubiq-build-page .bd-guide-empty{min-height:210px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;background:var(--bg-100);border:1px dashed var(--bg-300);border-radius:14px;padding:24px}
.cubiq-native .cubiq-build-page .bd-guide-empty>i{font-size:38px;color:var(--primary-100);margin-bottom:12px}.cubiq-native .cubiq-build-page .bd-guide-empty .bd-guide-open{position:static}
.cubiq-native .cubiq-build-page .bd-file-list{display:grid;gap:9px}
.cubiq-native .cubiq-build-page .bd-file-row{display:grid;grid-template-columns:22px minmax(0,1fr) 18px;align-items:center;gap:11px;padding:14px 15px;border:1px solid var(--bg-300);border-radius:11px;background:var(--bg-100);text-decoration:none;color:var(--text-100)}
.cubiq-native .cubiq-build-page .bd-file-row>i{font-size:21px;color:var(--primary-100)}
.cubiq-native .cubiq-build-page .bd-file-row>i:last-child{font-size:19px}.cubiq-native .cubiq-build-page .bd-file-row strong{display:block;font:700 13px/1.5 'Onest',system-ui,sans-serif}.cubiq-native .cubiq-build-page .bd-file-row small{display:block;margin-top:2px;font:10px/1.5 'Onest',system-ui,sans-serif;color:var(--text-200)}
.cubiq-native .cubiq-build-page .bd-file-row.is-locked{color:var(--text-200);cursor:default}.cubiq-native .cubiq-build-page .bd-file-row.is-locked>i{color:var(--text-200);opacity:.7}
.cubiq-native .cubiq-build-page .bd-file-row[href]:hover{border-color:var(--primary-100);background:var(--bg-200)}
.cubiq-native .cubiq-build-page .bd-access-note{margin:16px 0;font-size:13px;line-height:1.7}
.cubiq-native .cubiq-build-page .bd-access-buy{display:flex;align-items:center;justify-content:center;gap:7px;width:100%;min-height:51px;padding:13px 16px;border:0;border-radius:10px;background:linear-gradient(105deg,#7140d4,#8e62e4);color:white!important;font:800 14px 'Onest',system-ui,sans-serif;text-decoration:none;box-shadow:0 6px 18px #642db326;cursor:pointer}
.cubiq-native .cubiq-build-page .bd-access-buy:hover{filter:brightness(1.07)}
.cubiq-native .cubiq-build-page .bd-subscription-note{display:flex;align-items:start;gap:9px;margin:13px 0 0;font-size:11px;line-height:1.7}
.cubiq-native .cubiq-build-page .bd-subscription-note i{color:var(--primary-100);font-size:17px;margin-top:2px}
.cubiq-native .cubiq-build-page .bd-access-guide{display:inline-flex;gap:7px;align-items:center;margin-top:14px;color:var(--primary-100);font-size:12px;font-weight:700}
.cubiq-native .cubiq-build-page .bd-access-license-slot>.bd-license{background:var(--bg-100);padding:17px 18px;margin-top:22px;border-radius:11px;box-shadow:none}
.cubiq-native .cubiq-build-page .bd-access-license-slot>.bd-license h2{font-size:14px!important;margin:0 0 6px}.cubiq-native .cubiq-build-page .bd-access-license-slot>.bd-license p{font-size:12px;line-height:1.7;margin:0}.cubiq-native .cubiq-build-page .bd-access-license-slot>.bd-license small{font-size:10px}
.cubiq-native .cubiq-build-page .bd-files-pending{font-size:13px;color:var(--text-200)}
@media(prefers-color-scheme:light){:where(html:not([data-cubiq-theme])) .cubiq-native .cubiq-build-page{background:#f9f7ff}:where(html:not([data-cubiq-theme])) .cubiq-native .cubiq-build-page .bd-card{background:#fff;border-color:#e5def6}:where(html:not([data-cubiq-theme])) .cubiq-native .cubiq-build-page .bd-file-row{background:#faf8ff;border-color:#eee8f7}:where(html:not([data-cubiq-theme])) .cubiq-native .cubiq-build-page .bd-access-license-slot>.bd-license{background:#f8f5ff}:where(html:not([data-cubiq-theme])) .cubiq-native .cubiq-build-page .bd-guide-empty{background:#faf8ff}}
@media(min-width: 0px){:where(html[data-cubiq-theme="light"]) .cubiq-native .cubiq-build-page{background:#f9f7ff}:where(html[data-cubiq-theme="light"]) .cubiq-native .cubiq-build-page .bd-card{background:#fff;border-color:#e5def6}:where(html[data-cubiq-theme="light"]) .cubiq-native .cubiq-build-page .bd-file-row{background:#faf8ff;border-color:#eee8f7}:where(html[data-cubiq-theme="light"]) .cubiq-native .cubiq-build-page .bd-access-license-slot>.bd-license{background:#f8f5ff}:where(html[data-cubiq-theme="light"]) .cubiq-native .cubiq-build-page .bd-guide-empty{background:#faf8ff}}
@media(max-width:850px){.cubiq-native .cubiq-build-page .bd-cols{gap:26px}.cubiq-native .cubiq-build-page .bd-col-main,.cubiq-native .cubiq-build-page .bd-col-side{gap:26px}}
@media(max-width:575px){.cubiq-native .cubiq-build-page .bd-card{padding:22px}.cubiq-native .cubiq-build-page .bd-preview-frame{height:320px}.cubiq-native .cubiq-build-page .bd-guide-heading>span{display:none}.cubiq-native .cubiq-build-page .bd-guide-open{bottom:14px;right:12px;font-size:11px;padding:10px 12px}}
@media(prefers-reduced-motion:reduce){.cubiq-native .cubiq-build-page .bd-guide-open{transition:none}.cubiq-native .cubiq-build-page .bd-guide-open:hover{transform:none}}

/* CUBIQ COMMERCE AND PROJECTS STAGE 10 */
/* Native commerce, project confirmation and portal share the system palette. */
.cubiq-native{--cq-surface:#fff;--cq-soft:#f8f6ff;--cq-ink:#251e35;--cq-muted:#716982;--cq-border:#e7e0f4;--cq-accent:#7242d8;--cq-on-accent:#fff;--cq-warning-bg:#fff7e3;--cq-warning-ink:#765313;--cq-info-bg:#f0eaff;--cq-info-ink:#543298}
@media(prefers-color-scheme:dark){:where(html:not([data-cubiq-theme])) .cubiq-native{--cq-surface:#171221;--cq-soft:#100c19;--cq-ink:#f2edf9;--cq-muted:#b8accb;--cq-border:#332943;--cq-accent:#ab87f4;--cq-on-accent:#1c102e;--cq-warning-bg:#302515;--cq-warning-ink:#f0cf8a;--cq-info-bg:#251b39;--cq-info-ink:#d4baff}}
@media(min-width: 0px){:where(html[data-cubiq-theme="dark"]) .cubiq-native{--cq-surface:#171221;--cq-soft:#100c19;--cq-ink:#f2edf9;--cq-muted:#b8accb;--cq-border:#332943;--cq-accent:#ab87f4;--cq-on-accent:#1c102e;--cq-warning-bg:#302515;--cq-warning-ink:#f0cf8a;--cq-info-bg:#251b39;--cq-info-ink:#d4baff}}
.cubiq-native #cubiq-cart-drawer{background:var(--cq-surface);color:var(--cq-ink);color-scheme:inherit;--primary-100:var(--cq-accent);--bg-100:var(--cq-surface);--bg-300:var(--cq-border);--text-100:var(--cq-ink);--text-200:var(--cq-muted);--text-300:var(--cq-muted);border-left:1px solid var(--cq-border)}
.cubiq-native #cubiq-cart-drawer :is(.cart-drawer-head,.cart-drawer-foot,.cart-item){border-color:var(--cq-border)}
.cubiq-native #cubiq-cart-drawer :is(.cart-drawer-head h2,.cart-item-info>a,.cart-total-row){color:var(--cq-ink)}
.cubiq-native #cubiq-cart-drawer .cart-item-info strong{color:var(--cq-ink)}
.cubiq-native #cubiq-cart-drawer :is(.cart-drawer-head h2 i,.cart-item-price,[name='website_sale_cart_line_price'],.cart-total-row strong){color:var(--cq-accent)}
.cubiq-native #cubiq-cart-drawer :is(.cart-item-info small,[data-cart-remove],.cart-empty,.cubiq-cart-status){color:var(--cq-muted)}
.cubiq-native #cubiq-cart-drawer .cart-drawer-close{background:var(--cq-soft);color:var(--cq-muted);border:1px solid var(--cq-border)}
.cubiq-native #cubiq-cart-drawer .btn{color:var(--cq-accent);background:transparent;border-color:var(--cq-accent);gap:9px}
.cubiq-native #cubiq-cart-drawer [name='website_sale_main_button']{background:var(--cq-accent);color:var(--cq-on-accent)}
.cubiq-native #cubiq-cart-drawer .cart-drawer-foot{padding-bottom:max(22px,env(safe-area-inset-bottom));background:var(--cq-surface)}
.cubiq-native #cubiq-cart-drawer .cart-item-info{gap:6px}
.cubiq-native #cubiq-cart-drawer .cart-item-variant{font-size:11px;line-height:1.4}
.cubiq-native #cubiq-cart-drawer [data-cart-remove]{min-width:34px;min-height:34px;border-radius:8px}
.cubiq-native #cubiq-cart-drawer [data-cart-remove]:hover{background:var(--cq-soft);color:var(--cq-accent)}
.cubiq-native #cubiq-cart-drawer .cubiq-cart-warning{background:var(--cq-warning-bg);color:var(--cq-warning-ink)}
.cubiq-native #cubiq-cart-drawer[open]{animation:cubiq-drawer-enter .2s ease-out}
@keyframes cubiq-drawer-enter{from{transform:translateX(24px);opacity:0}to{transform:translateX(0);opacity:1}}
.cubiq-native [name='o_cart_notification_container'] .toast{background:var(--cq-surface)!important;color:var(--cq-ink)!important;border:1px solid var(--cq-border)!important;border-radius:15px;box-shadow:0 12px 36px #0003;overflow:hidden;max-width:calc(100vw - 28px)}
.cubiq-native [name='o_cart_notification_container'] .toast-body{padding:15px}
.cubiq-native [name='o_cart_notification_container'] .text-muted{color:var(--cq-muted)!important}
.cubiq-native [name='o_cart_notification_container'] .btn-primary{background:var(--cq-accent)!important;color:var(--cq-on-accent)!important;border-color:var(--cq-accent)!important;border-radius:9px;font-weight:750}
.cubiq-native :is([name='o_cart_notification_container'],.o_website_sale_checkout_container) .o_cart_item_count{background:var(--cq-accent)!important;color:var(--cq-on-accent)!important;border:2px solid var(--cq-surface)}
.cubiq-native [name='o_cart_notification_container'] .toast.border-warning-subtle{background:var(--cq-warning-bg)!important;color:var(--cq-warning-ink)!important}
.cubiq-native .o_website_sale_checkout_container{--cubiq-checkout-surface:var(--cq-surface);--bs-body-color:var(--cq-ink);--bs-secondary-color:var(--cq-muted);--bs-border-color:var(--cq-border);padding-bottom:64px!important;padding-top:24px!important;gap:12px}
.cubiq-native .o_website_sale_checkout_container :is(.card,.card-body,.list-group-item,.offcanvas,.dropdown-menu){background:var(--cq-surface)!important;color:var(--cq-ink)!important;border-color:var(--cq-border)!important}
.cubiq-native .o_website_sale_checkout_container :is(.o_total_card,.card,[name='o_payment_option']){border-radius:16px!important;overflow:hidden}
.cubiq-native .o_website_sale_checkout_container [name='o_payment_option']{padding:20px!important;box-shadow:none;border:1px solid var(--cq-border)!important}
.cubiq-native .o_website_sale_checkout_container [name='o_payment_option']:has(input[name='o_payment_radio']:checked){border-color:var(--cq-accent)!important;box-shadow:0 0 0 1px color-mix(in srgb,var(--cq-accent) 18%,transparent)}
.cubiq-native .o_website_sale_checkout_container :is(.text-muted,.text-600,.text-body-secondary,.text-900,small,.form-text){color:var(--cq-muted)!important}
.cubiq-native .o_website_sale_checkout_container :is(table,tr,td,th){--bs-table-bg:transparent;--bs-table-color:var(--cq-ink);color:var(--cq-ink);border-color:var(--cq-border);box-shadow:none}
.cubiq-native .o_website_sale_checkout_container :is(input:not([type='checkbox']):not([type='radio']),select,textarea,.form-select){background-color:var(--cq-soft)!important;color:var(--cq-ink)!important;border:1px solid var(--cq-border)!important;border-radius:9px;min-height:42px;box-shadow:none}
.cubiq-native .o_website_sale_checkout_container :is(input,select,textarea):focus{border-color:var(--cq-accent)!important;box-shadow:0 0 0 3px color-mix(in srgb,var(--cq-accent) 17%,transparent)!important;outline:0}
.cubiq-native .o_website_sale_checkout_container :is(input,select,textarea):disabled{color:var(--cq-muted)!important;opacity:1}
@media(prefers-color-scheme:dark){:where(html:not([data-cubiq-theme])) .cubiq-native .o_website_sale_checkout_container select.form-select{--bs-form-select-bg-img:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23b8accb' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e")}}
@media(min-width: 0px){:where(html[data-cubiq-theme="dark"]) .cubiq-native .o_website_sale_checkout_container select.form-select{--bs-form-select-bg-img:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23b8accb' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e")}}
.cubiq-native .o_website_sale_checkout_container .form-check-input{background-color:var(--cq-soft);border-color:var(--cq-border);accent-color:var(--cq-accent)}
.cubiq-native .o_website_sale_checkout_container .form-check-input:checked{background-color:var(--cq-accent);border-color:var(--cq-accent)}
.cubiq-native .o_website_sale_checkout_container :is(.btn-light,.btn-secondary,.btn-outline-secondary,.input-group .btn){background:var(--cq-soft)!important;color:var(--cq-ink)!important;border:1px solid var(--cq-border)!important;border-radius:9px;font-weight:650}
.cubiq-native .o_website_sale_checkout_container :is(.btn-primary,[name='website_sale_main_button']){background:var(--cq-accent)!important;color:var(--cq-on-accent)!important;border-color:var(--cq-accent)!important;border-radius:10px;min-height:46px;font-weight:750}
.cubiq-native .o_website_sale_checkout_container .btn-link{color:var(--cq-accent)}
.cubiq-native .o_website_sale_checkout_container .dropdown-item{color:var(--cq-ink)}
.cubiq-native .o_website_sale_checkout_container .dropdown-item:hover{background:var(--cq-soft)}
.cubiq-native .o_website_sale_checkout_container .input-group{flex-wrap:nowrap}
.cubiq-native .o_website_sale_checkout_container .input-group .form-control{min-width:0;border-radius:9px 0 0 9px!important}
.cubiq-native .o_website_sale_checkout_container .input-group .btn{border-radius:0 9px 9px 0!important}
.cubiq-native .o_website_sale_checkout_container .alert{border-radius:12px;padding:16px 20px;font-size:14px;line-height:1.65;border:1px solid transparent}
.cubiq-native .o_website_sale_checkout_container .alert-warning{background:var(--cq-warning-bg);color:var(--cq-warning-ink);border-color:color-mix(in srgb,var(--cq-warning-ink) 25%,transparent)}
.cubiq-native .o_website_sale_checkout_container :is(.alert-info,.alert-success){background:var(--cq-info-bg);color:var(--cq-info-ink);border-color:color-mix(in srgb,var(--cq-info-ink) 22%,transparent)}
.cubiq-native .o_website_sale_checkout_container .badge.text-bg-info{background:var(--cq-info-bg)!important;color:var(--cq-info-ink)!important;border:1px solid var(--cq-border)}
.cubiq-native .cubiq-cart-page .css_quantity{display:flex;align-items:center;width:114px;border-color:var(--cq-border);background:var(--cq-soft);margin-top:10px}
.cubiq-native .cubiq-cart-page .css_quantity :is(input,button){height:32px;min-height:32px!important;background:transparent!important;border:0!important;border-radius:0!important;color:var(--cq-ink)!important;padding:4px 7px}
.cubiq-native .cubiq-cart-page .css_quantity input{width:40px;flex:1;text-align:center;font-variant-numeric:tabular-nums}
.cubiq-native .cubiq-cart-page .css_quantity button{width:32px;flex:0 0 32px}
.cubiq-native .cubiq-cart-page [name='website_sale_cart_line_price']{font-size:20px;letter-spacing:-.025em;font-variant-numeric:tabular-nums}
.cubiq-native .cubiq-project-received{max-width:720px;margin:72px auto 90px;padding:40px;border:1px solid var(--cq-border);border-radius:24px;background:var(--cq-surface);text-align:center;box-shadow:var(--shadow)}
.cubiq-native .cubiq-project-received .rq-done-ico{width:58px;height:58px;display:grid;place-items:center;margin:0 auto 20px;border-radius:18px;background:var(--cq-info-bg);color:var(--cq-accent);font-size:29px}
.cubiq-native .cubiq-project-received h1{font:800 clamp(24px,4vw,34px)/1.2 'Onest',system-ui,sans-serif;margin:0 0 14px;letter-spacing:-.035em;color:var(--cq-ink)}
.cubiq-native .cubiq-project-received p{color:var(--cq-muted);font-size:14px;line-height:1.7;margin:0 auto 22px;max-width:510px}
.cubiq-native .cubiq-assignee{display:flex;gap:16px;align-items:center;text-align:left;background:var(--cq-soft);border:1px solid var(--cq-border);border-radius:16px;padding:20px;margin:24px 0}
.cubiq-native .cubiq-assignee img{height:60px;width:60px;object-fit:cover;border-radius:16px;flex:none}
.cubiq-native .cubiq-assignee>i{font-size:29px;color:var(--cq-accent)}
.cubiq-native .cubiq-assignee strong{display:block;color:var(--cq-ink);font-size:17px;line-height:1.4}
.cubiq-native .cubiq-assignee small{display:block;color:var(--cq-muted);font-size:12px;margin-top:3px;line-height:1.5}
.cubiq-native .cubiq-project-received .rq-done-acts{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}
.cubiq-native .cubiq-project-received .btn{font-size:13px;min-height:42px;display:inline-flex;align-items:center;gap:8px;border-radius:10px}
.cubiq-native .cubiq-ticket-reference{font:11px 'Onest',system-ui,sans-serif;letter-spacing:.035em;color:var(--cq-muted);margin:24px 0 0}
.cubiq-native [data-cubiq-project] :is(#card,.cubiq-ticket-overview,.o_portal_chatter,.o_portal_sidebar_content){background:var(--cq-surface);color:var(--cq-ink);border:1px solid var(--cq-border);border-radius:18px}
.cubiq-native [data-cubiq-project] :is(#card_header,#card_body,.cubiq-ticket-overview){padding:24px}
.cubiq-native [data-cubiq-project] #sidebar_content{padding:22px!important;font-size:13px;line-height:1.6;border-color:var(--cq-border)!important}
.cubiq-native [data-cubiq-project] .border-end{border-color:var(--cq-border)!important}
.cubiq-native [data-cubiq-project] #card_header h5{font-size:22px;line-height:1.4;margin:0}
.cubiq-native:has([data-cubiq-project]) .breadcrumb{--bs-breadcrumb-divider-color:var(--cq-muted);--bs-breadcrumb-item-active-color:var(--cq-muted);font-size:13px}
.cubiq-native:has([data-cubiq-project]) .breadcrumb-item.active{color:var(--cq-muted)!important}
.cubiq-native .cubiq-ticket-overview{margin-bottom:22px}
.cubiq-native .cubiq-ticket-overview h2{font:800 21px 'Onest',system-ui,sans-serif;color:var(--cq-ink);margin:0}
.cubiq-native .cubiq-ticket-overview .cubiq-assignee{margin-bottom:0}
.cubiq-native [data-cubiq-project] :is(.text-muted,.text-600){color:var(--cq-muted)!important}
.cubiq-native [data-cubiq-project] :is(input,textarea,.modal-content,.btn-light){background:var(--cq-soft);color:var(--cq-ink);border-color:var(--cq-border)}
@media(max-width:575px){.cubiq-native .cubiq-project-received{margin:28px 16px 48px;padding:26px 20px;border-radius:18px}.cubiq-native .cubiq-assignee{padding:16px;gap:12px}.cubiq-native .cubiq-project-received .rq-done-acts .btn{width:100%;justify-content:center}.cubiq-native .o_website_sale_checkout_container [name='o_payment_option']{padding:16px!important}.cubiq-native .cubiq-cart-page [name='website_sale_cart_line_price']{font-size:17px}.cubiq-native .o_website_sale_checkout_container :is(input:not([type='checkbox']):not([type='radio']),select,textarea){font-size:16px}}
@media(prefers-reduced-motion:reduce){.cubiq-native #cubiq-cart-drawer[open]{animation:none}}

/* CUBIQ PRODUCT POLISH STAGE 11 */
/* Product presentation follows the prototype; commerce and reviews stay native. */
.cubiq-native .cubiq-build-page #product_detail{position:relative;isolation:isolate;padding-top:0!important;background:var(--bd-hero)}
.cubiq-native .cubiq-build-page .bd-hero-media{position:absolute;inset:0;z-index:-2;background-position:center 35%;background-size:cover;opacity:.1;filter:saturate(1.05);pointer-events:none}
.cubiq-native .cubiq-build-page #product_detail:after{content:'';position:absolute;inset:0;z-index:-1;pointer-events:none;background:radial-gradient(ellipse at 78% 4%,#ffffff16,transparent 60%),radial-gradient(ellipse at 50% 112%,#0a0616b5,transparent 65%)}
@media(prefers-color-scheme:dark){:where(html:not([data-cubiq-theme])) .cubiq-native .cubiq-build-page .bd-hero-media{opacity:.07}}
@media(min-width: 0px){:where(html[data-cubiq-theme="dark"]) .cubiq-native .cubiq-build-page .bd-hero-media{opacity:.07}}
.cubiq-native .cubiq-build-page #product_detail>.o_wsale_content_contained{padding:0!important}
.cubiq-native .cubiq-build-page .bd-crumb{display:flex;align-items:center;flex-wrap:wrap;gap:9px;padding:20px 0 26px;font:600 13px/1.5 'Onest',system-ui,sans-serif;letter-spacing:0;color:#ffffffa0}
.cubiq-native .cubiq-build-page .bd-crumb a{color:#ffffffba!important;transition:color .15s}
.cubiq-native .cubiq-build-page .bd-crumb a:hover,.cubiq-native .cubiq-build-page .bd-crumb [aria-current]{color:#fff!important}
.cubiq-native .cubiq-build-page .bd-crumb i{font-size:14px;opacity:.5}
.cubiq-native .cubiq-build-page #o-carousel-product .o_carousel_product_outer{overflow:hidden;box-shadow:0 34px 70px -26px #060210e6}
.cubiq-native .cubiq-build-page .o_carousel_product_outer .carousel-item{height:100%!important}
.cubiq-native .cubiq-build-page .o_carousel_product_outer .o_product_detail_img_wrapper{height:100%!important;padding:0!important;margin:0!important}
.cubiq-native .cubiq-build-page .o_carousel_product_outer .product_detail_img{height:100%!important;width:100%!important;max-width:100%!important;object-fit:cover!important;padding:0!important;display:block}
.cubiq-native .cubiq-build-page .bd-gallery-count{top:14px;left:14px;font:600 11.5px 'Onest',system-ui,sans-serif;background:#0c071a9e;border:1px solid #ffffff33;border-radius:20px;padding:5px 12px;backdrop-filter:blur(8px)}
.cubiq-native .cubiq-build-page #o-carousel-product .carousel-indicators li img{object-fit:cover!important;width:100%;height:100%;padding:0}
.cubiq-native .cubiq-build-page #o-carousel-product .carousel-indicators li{flex-basis:calc((100% - 40px)/5);max-width:144px}
.cubiq-native .cubiq-build-page .bd-col-side{position:sticky;top:92px;align-self:start;gap:0}
.cubiq-native .cubiq-build-page .bd-compatible{font-size:11px;display:block;color:var(--cq-muted);margin-top:3px;line-height:1.5}
.cubiq-native .cubiq-build-page .bd-description-slot.is-collapsed{max-height:94px;mask-image:linear-gradient(#000 50%,transparent 100%)}
.cubiq-native .cubiq-build-page .bd-description-slot p{margin-bottom:14px;line-height:1.8}
.cubiq-native .cubiq-build-page .bd-read-more{margin-top:10px;padding:0;min-height:30px;font:700 13.5px 'Onest',system-ui,sans-serif;display:inline-flex;align-items:center;gap:5px;color:var(--cq-accent);border:0;background:none;cursor:pointer}
.cubiq-native .cubiq-build-page .bd-read-more[hidden]{display:none}
.cubiq-native .cubiq-build-page .bd-access .bd-lic-strip{margin:18px 0 0;padding:13px 14px;border:1px solid var(--cq-border);border-radius:11px;background:var(--cq-soft)}
.cubiq-native .cubiq-build-page .bd-lic-strip summary{list-style:none;display:flex;gap:12px;align-items:center;cursor:pointer}
.cubiq-native .cubiq-build-page .bd-lic-strip summary::-webkit-details-marker{display:none}
.cubiq-native .cubiq-build-page .bd-lic-strip summary>i{font-size:21px;color:var(--cq-accent);flex:none}
.cubiq-native .cubiq-build-page .bd-lic-strip summary>span{flex:1;min-width:0}
.cubiq-native .cubiq-build-page .bd-lic-strip strong{display:block;font:700 13.5px/1.45 'Onest',system-ui,sans-serif;color:var(--cq-ink)}
.cubiq-native .cubiq-build-page .bd-lic-strip small{display:block;color:var(--cq-muted);font:400 11.5px/1.5 'Onest',system-ui,sans-serif}
.cubiq-native .cubiq-build-page .bd-lic-strip summary .go{font-size:17px;transition:transform .15s}
.cubiq-native .cubiq-build-page .bd-lic-strip[open] .go{transform:rotate(90deg)}
.cubiq-native .cubiq-build-page .bd-license-detail{padding-top:14px;border-top:1px solid var(--cq-border);margin-top:14px;font-size:13px;color:var(--cq-muted)}
.cubiq-native .cubiq-build-page .bd-reviews-section{max-width:1288px;margin:32px auto 0;padding:32px;border:1px solid var(--cq-border);border-radius:18px;background:var(--cq-surface)}
.cubiq-native .cubiq-build-page .bd-reviews-section h2,.cubiq-native .cubiq-build-page .bd-related-section h2{font:800 24px/1.3 'Onest',system-ui,sans-serif;color:var(--cq-ink);letter-spacing:-.03em}
.cubiq-native .cubiq-build-page .bd-review-empty{display:flex;align-items:center;gap:18px;padding:24px;background:var(--cq-soft);border:1px solid var(--cq-border);border-radius:13px;color:var(--cq-muted);margin:22px 0}
.cubiq-native .cubiq-build-page .bd-review-empty>i{font-size:34px;color:var(--cq-accent)}
.cubiq-native .cubiq-build-page .bd-review-empty strong{display:block;color:var(--cq-ink);margin-bottom:5px}
.cubiq-native .cubiq-build-page .bd-review-empty p{margin:0;font-size:13px}
.cubiq-native .cubiq-build-page .bd-review-native{margin-top:24px;color:var(--cq-ink);--bs-body-color:var(--cq-ink);--bs-secondary-color:var(--cq-muted);--bs-border-color:var(--cq-border)}
.cubiq-native .cubiq-build-page .bd-review-native :is(.card,.card-body,.modal-content,.bg-white,.bg-light,.list-group-item){background:var(--cq-surface)!important;color:var(--cq-ink)!important;border-color:var(--cq-border)!important}
.cubiq-native .cubiq-build-page .bd-review-native :is(.text-muted,.text-secondary){color:var(--cq-muted)!important}
.cubiq-native .cubiq-build-page .bd-review-native :is(input,textarea,select){background:var(--cq-soft);color:var(--cq-ink);border-color:var(--cq-border);border-radius:9px}
.cubiq-native .cubiq-build-page .bd-review-native .btn-primary{background:var(--cq-accent);color:var(--cq-on-accent);border-color:var(--cq-accent);border-radius:9px}
.cubiq-native .cubiq-build-page .bd-review-native .o_portal_chatter_message{padding:18px!important;border:1px solid var(--cq-border)!important;border-radius:13px;background:var(--cq-soft);margin-bottom:14px}
.cubiq-native .cubiq-build-page .bd-related-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:18px}
.cubiq-native .cubiq-build-page .bd-related-section{margin-top:32px}
.cubiq-native .cubiq-build-page .bd-related-card{background:var(--cq-surface);border:1px solid var(--cq-border);border-radius:16px;overflow:hidden}
.cubiq-native .cubiq-build-page .bd-related-image{height:auto;aspect-ratio:1.25;border-radius:0;background:repeating-linear-gradient(135deg,#ffffff18 0px,#ffffff18 12px,transparent 12px,transparent 25px),var(--media-color)}
.cubiq-native .cubiq-build-page .bd-related-image img{width:100%;height:100%;object-fit:cover;padding:0}
.cubiq-native .cubiq-build-page .bd-related-info{padding:16px}
.cubiq-native .cubiq-build-page .bd-related-info h3{font-size:15px}
.cubiq-native .cubiq-build-page .bd-related-badges{display:flex;gap:5px;flex-wrap:wrap;margin:12px 0}
.cubiq-native .cubiq-build-page .bd-related-badges span{display:inline-flex;align-items:center;gap:4px;font-size:10px;padding:5px 6px;border-radius:5px;border:1px solid var(--cq-border);color:var(--cq-muted);background:var(--cq-soft)}
.cubiq-native .cubiq-build-page .bd-related-rating{font-size:12px;color:var(--cq-muted);margin-top:7px}
.cubiq-native .cubiq-build-page .bd-related-rating i{color:#d7ad38}
.cubiq-native .cubiq-build-page .bd-related-bottom{flex-wrap:wrap;gap:8px;border-top:1px solid var(--cq-border);padding-top:12px}
@media(max-width:1320px){.cubiq-native .cubiq-build-page .bd-reviews-section{margin-left:24px;margin-right:24px}}
@media(max-width:1050px){.cubiq-native .cubiq-build-page .bd-related-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:850px){.cubiq-native .cubiq-build-page .bd-col-side{position:static}.cubiq-native .cubiq-build-page .bd-reviews-section{padding:24px}.cubiq-native .cubiq-build-page .bd-crumb{font-size:12px;padding-bottom:20px}}
@media(max-width:575px){.cubiq-native .cubiq-build-page .bd-related-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.cubiq-native .cubiq-build-page .bd-related-info{padding:12px}.cubiq-native .cubiq-build-page .bd-reviews-section{padding:20px;margin-left:16px;margin-right:16px}.cubiq-native .cubiq-build-page .bd-review-empty{padding:18px;align-items:flex-start}.cubiq-native .cubiq-build-page #o-carousel-product .carousel-indicators li{min-width:52px}.cubiq-native .cubiq-build-page .bd-related-bottom>span{display:none}}
@media(prefers-reduced-motion:reduce){.cubiq-native .cubiq-build-page .bd-lic-strip .go{transition:none}}

/* CUBIQ MOTION, WISHLIST AND SIGN-IN STAGE 12 */
/* ===== 1. Movimento de entrada sem piscar =====
   O <html> recebe .cubiq-motion num script mínimo do <head> (view 2660), antes
   da primeira pintura; só com ele o estado inicial invisível vale. O
   motion-ui.js revela cada elemento uma vez (.cq-in) e anima opacity +
   translate — propriedade separada de transform, para não brigar com
   transforms próprios. Sem JS, com movimento reduzido ou no editor, nada fica
   escondido. A lista de alvos é a mesma de motion-ui.js (conferida no
   preparador). */
html.cubiq-motion main :is(.hero-copy,.hero-render-wrap,.section-head,.section-head-center,.tool-card,.price-card,.creator-card,.cr-card,.rq-card,.proof-metrics,.layer-copy,.layer-visual,.catalog-cta-inner,.testimonial-marquee,.store-band-head,.o_carousel_product_card,.oe_product,.bd-card,.bd-quick,.bd-related-card):not(.cq-in):not(dialog *):not([popover] *):not(.cubiq-coverflow *){opacity:0;translate:0 20px}
html.cubiq-motion.o_is_website_editor main :is(.hero-copy,.hero-render-wrap,.section-head,.section-head-center,.tool-card,.price-card,.creator-card,.cr-card,.rq-card,.proof-metrics,.layer-copy,.layer-visual,.catalog-cta-inner,.testimonial-marquee,.store-band-head,.o_carousel_product_card,.oe_product,.bd-card,.bd-quick,.bd-related-card),
html.cubiq-motion body.editor_enable main :is(.hero-copy,.hero-render-wrap,.section-head,.section-head-center,.tool-card,.price-card,.creator-card,.cr-card,.rq-card,.proof-metrics,.layer-copy,.layer-visual,.catalog-cta-inner,.testimonial-marquee,.store-band-head,.o_carousel_product_card,.oe_product,.bd-card,.bd-quick,.bd-related-card),
html.cubiq-motion body.editor_has_snippets main :is(.hero-copy,.hero-render-wrap,.section-head,.section-head-center,.tool-card,.price-card,.creator-card,.cr-card,.rq-card,.proof-metrics,.layer-copy,.layer-visual,.catalog-cta-inner,.testimonial-marquee,.store-band-head,.o_carousel_product_card,.oe_product,.bd-card,.bd-quick,.bd-related-card){opacity:1!important;translate:none!important}

/* ===== 2. Favoritos: marcado continua clicável (clicar de novo desmarca) =====
   Mesmo visual que a etapa 2/7 dava ao botão desabilitado, agora num estado
   próprio, com cursor e hover de "remover". */
.cubiq-native .oe_product_cart .o_add_wishlist{cursor:pointer}
.cubiq-native .oe_product_cart .o_add_wishlist.o_in_wishlist{background:#D14D6B;color:#fff;opacity:1}
.cubiq-native .oe_product_cart .o_add_wishlist.o_in_wishlist .fa:before{color:#fff}
.cubiq-native .oe_product_cart .o_add_wishlist.o_in_wishlist:hover{background:#B73A57;color:#fff}
.cubiq-native .o_add_wishlist:focus-visible,.cubiq-native .o_add_wishlist_dyn:focus-visible{outline:3px solid var(--primary-200);outline-offset:2px}
.cubiq-native .o_add_wishlist_dyn.o_in_wishlist{color:#D14D6B;border-color:#D14D6B}
.cubiq-native .cubiq-build-page #product_option_block .o_add_wishlist_dyn.o_in_wishlist{background:#D14D6B!important;border-color:#D14D6B!important;color:#fff!important}
.cubiq-native .cubiq-build-page #product_option_block .o_add_wishlist_dyn.o_in_wishlist:hover{background:#B73A57!important;border-color:#B73A57!important}

/* ===== 3. Entrar, criar conta e redefinir senha =====
   Card do protótipo (.auth-card, .auth-tabs, .auth-field, .auth-or,
   .auth-social, já presentes no CSS base) aplicado sobre os formulários
   nativos da Odoo — nomes de campo, CSRF, provedores e fluxos continuam os
   da Odoo. As cores vêm dos tokens, então valem para os dois temas. */
.cubiq-native .oe_website_login_container.cubiq-auth{
  max-width:none;margin:0;display:flex;justify-content:center;
  padding:clamp(40px,8vh,96px) 16px clamp(64px,11vh,128px);
}
.cubiq-native .cubiq-auth .auth-card{width:min(420px,100%);max-height:none;overflow:visible;margin:0;padding:30px 28px 24px}
.cubiq-native .cubiq-auth .auth-brand{width:max-content;color:var(--text-100);text-decoration:none}
.cubiq-native .cubiq-auth .auth-brand:hover{color:var(--primary-100)}
.cubiq-native .cubiq-auth .auth-tab{display:block;text-align:center;text-decoration:none}
.cubiq-native .cubiq-auth .auth-tab:not(.on):hover{color:var(--text-100)}
.cubiq-native .cubiq-auth .auth-title{font-family:'Gabarito','Onest',system-ui,sans-serif;font-weight:700;font-size:34px;line-height:1;margin:2px 0 10px;color:var(--text-100)}
.cubiq-native .cubiq-auth .auth-lead{line-height:1.5}
.cubiq-native .cubiq-auth h1.visually-hidden+.oe_structure:empty,.cubiq-native .cubiq-auth .oe_structure:empty{margin:0}

/* formulário nativo com a cara do .auth-form (a Odoo limita esses
   formulários a 300px e dá margem de 50px; aqui eles ocupam o card) */
.cubiq-native .cubiq-auth form,.cubiq-native .cubiq-auth .oe_login_form{display:grid;gap:14px;width:100%;max-width:none;margin:0}
.cubiq-native .cubiq-auth form .mb-3,.cubiq-native .cubiq-auth form .o_caps_lock_warning,.cubiq-native .cubiq-auth form .field-password{margin:0!important;padding:0!important}
.cubiq-native .cubiq-auth .form-label,.cubiq-native .cubiq-auth .col-form-label{
  display:block;margin:0 0 6px;padding:0;
  font-family:'Onest',system-ui,sans-serif;font-size:10.5px;font-weight:500;
  letter-spacing:.1em;text-transform:uppercase;color:var(--text-300);
}
.cubiq-native .cubiq-auth .form-control{
  padding:11px 13px;border-radius:11px;border:1px solid var(--bg-300);
  background:var(--bg-200);color:var(--text-100);font:inherit;font-size:14px;box-shadow:none;
}
.cubiq-native .cubiq-auth .form-control::placeholder{color:var(--text-300);opacity:1}
.cubiq-native .cubiq-auth .form-control:focus{outline:none;border-color:var(--primary-100);background:var(--bg-100);box-shadow:0 0 0 3px var(--primary-300)}
.cubiq-native .cubiq-auth .form-control:-webkit-autofill{-webkit-text-fill-color:var(--text-100);box-shadow:0 0 0 40px var(--bg-200) inset;caret-color:var(--text-100)}
/* senha e o botão de mostrar formam um campo só */
.cubiq-native .cubiq-auth .input-group{flex-wrap:nowrap;margin:0!important;border-radius:11px}
.cubiq-native .cubiq-auth .input-group>.form-control{border-right:0;border-radius:11px 0 0 11px}
.cubiq-native .cubiq-auth .input-group>.form-control:focus{box-shadow:none}
.cubiq-native .cubiq-auth .o_show_password{
  display:grid;place-items:center;padding:0 14px;
  border:1px solid var(--bg-300)!important;border-left:0!important;border-radius:0 11px 11px 0!important;
  background:var(--bg-200);color:var(--text-300);font-size:14px;
}
.cubiq-native .cubiq-auth .o_show_password:hover{color:var(--primary-100)}
.cubiq-native .cubiq-auth .input-group:focus-within{box-shadow:0 0 0 3px var(--primary-300)}
.cubiq-native .cubiq-auth .input-group:focus-within>.form-control,
.cubiq-native .cubiq-auth .input-group:focus-within>.o_show_password{border-color:var(--primary-100)!important;background:var(--bg-100)}
.cubiq-native .cubiq-auth .o_caps_lock_warning>.d-flex{align-items:baseline!important}
.cubiq-native .cubiq-auth .auth-forgot{margin-left:auto;font-size:12.5px;font-weight:600;color:var(--primary-100);text-decoration:none}
.cubiq-native .cubiq-auth .auth-forgot:hover{text-decoration:underline}

/* botões e mensagens */
.cubiq-native .cubiq-auth .oe_login_buttons{display:grid;gap:10px;margin:0!important;padding:4px 0 0!important}
.cubiq-native .cubiq-auth .auth-submit{width:100%;margin:0}
.cubiq-native .cubiq-auth .oe_login_buttons .btn-link,.cubiq-native .cubiq-auth .oe_login_buttons .small a{
  justify-self:center;padding:2px 6px;font-size:13px;font-weight:600;color:var(--text-200);text-decoration:none
}
.cubiq-native .cubiq-auth .oe_login_buttons .btn-link:hover,.cubiq-native .cubiq-auth .oe_login_buttons .small a:hover{color:var(--primary-100)}
.cubiq-native .cubiq-auth .oe_login_buttons .small{justify-content:center!important;margin:2px 0 0!important}
.cubiq-native .cubiq-auth .oe_login_form>.btn-link{justify-self:center;float:none!important;font-size:13px;font-weight:600;color:var(--text-200);text-decoration:none}
.cubiq-native .cubiq-auth .oe_login_form>.btn-link:hover{color:var(--primary-100)}
.cubiq-native .cubiq-auth .alert{margin:0;padding:10px 13px;border:1px solid;border-radius:11px;font-size:13.5px;line-height:1.45}
.cubiq-native .cubiq-auth .alert-danger{background:color-mix(in srgb,#D14D6B 12%,var(--bg-100));border-color:color-mix(in srgb,#D14D6B 45%,transparent);color:var(--text-100)}
.cubiq-native .cubiq-auth .alert-success{background:var(--primary-300);border-color:var(--primary-200);color:var(--text-100)}

/* provedores: Google (Odoo.com e chave de acesso só com ?debug=1) */
.cubiq-native .cubiq-auth .o_login_auth{margin:0}
.cubiq-native .cubiq-auth .auth-or{margin:10px 0 4px}
.cubiq-native .cubiq-auth .auth-social{grid-template-columns:1fr}
.cubiq-native .cubiq-auth .auth-social-btn{
  display:flex;align-items:center;justify-content:center;gap:10px;padding:11px 14px;
  border-radius:11px;border:1px solid var(--bg-300);background:var(--bg-200);
  font-size:14px;font-weight:600;color:var(--text-100);text-decoration:none;
  transition:border-color .15s ease,color .15s ease,background .15s ease;
}
.cubiq-native .cubiq-auth .auth-social-btn:hover{border-color:var(--primary-100);color:var(--primary-100)}
.cubiq-native .cubiq-auth .auth-social-btn:focus-visible{outline:3px solid var(--primary-200);outline-offset:2px}
.cubiq-native .cubiq-auth .o_auth_oauth_provider_icon{flex:0 0 18px;width:18px;height:18px;margin:0;background-size:contain}
.cubiq-native .cubiq-auth .auth-social-btn .fa{font-size:17px;width:18px;text-align:center}
/* troca de conta (componente nativo com as contas lembradas no aparelho) */
.cubiq-native .cubiq-auth .list-group{--bs-list-group-bg:var(--bg-200);--bs-list-group-border-color:var(--bg-300);--bs-list-group-color:var(--text-100);--bs-list-group-action-hover-bg:var(--bg-300);--bs-list-group-action-hover-color:var(--text-100);border-radius:11px}
.cubiq-native .cubiq-auth .list-group-item{background:var(--bg-200);border-color:var(--bg-300);color:var(--text-100)}
.cubiq-native .cubiq-auth .list-group-item-action:hover{background:var(--bg-300);color:var(--text-100)}
.cubiq-native .cubiq-auth .auth-fine a{color:inherit;text-decoration:underline}
@media(max-width:480px){.cubiq-native .cubiq-auth .auth-card{padding:24px 18px 20px}}

/* CUBIQ ACCOUNT MENU STAGE 13 */
/* ===== Menu da conta (etapa 13) =====
   Substitui o dropdown padrão da Odoo (nome completo num botão com borda,
   "Apps" e "Minha conta") por um chip do protótipo (.user-chip: avatar +
   primeiro nome) e um menu com o que faz sentido na CubiQ. Template:
   website.cubiq_account_menu. Cores pelos tokens, valem para os dois temas. */
.cubiq-native .cq-account{position:relative;list-style:none}
.cubiq-native .cq-account-chip{
  display:inline-flex;align-items:center;gap:8px;height:38px;padding:3px 11px 3px 3px;
  border-radius:999px;border:1px solid var(--glass-border);background:var(--glass-bg);
  backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);
  font:inherit;font-size:13.5px;font-weight:700;color:var(--text-100);cursor:pointer;
  transition:border-color .15s ease,background .15s ease;
}
.cubiq-native .cq-account-chip::after{display:none}
.cubiq-native .cq-account-chip:hover,.cubiq-native .cq-account-chip.show{border-color:var(--primary-100);background:var(--glass-bg-strong)}
.cubiq-native .cq-account-chip:focus-visible{outline:3px solid var(--primary-200);outline-offset:2px}
.cubiq-native .cq-account-av{
  flex:0 0 auto;width:30px;height:30px;border-radius:50%;overflow:hidden;
  display:grid;place-items:center;color:#fff;
  background:linear-gradient(135deg,var(--hero-vivid-2,#6D3FD1),var(--primary-200));
  font-family:'Gabarito','Onest',system-ui,sans-serif;font-size:15px;line-height:1;letter-spacing:.5px;font-weight:700;
}
.cubiq-native .cq-account-av img{width:100%;height:100%;object-fit:cover}
.cubiq-native .cq-account-name{max-width:120px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.cubiq-native .cq-account-caret{font-size:14px;color:var(--text-300);transition:transform .2s ease}
.cubiq-native .cq-account-chip.show .cq-account-caret{transform:rotate(180deg)}

/* O Bootstrap põe dropdowns dentro de .navbar-nav (a lista de ações do header)
   em position:static — o menu entraria no fluxo e empurraria o chip para cima.
   E a cor: sem isto, o texto herda o escuro padrão do Bootstrap e some sobre o
   card no tema escuro (era o "Sair" apagado do menu antigo). */
.cubiq-native .cq-account .cq-account-menu{
  position:absolute;top:100%;right:0;left:auto;
  min-width:264px;padding:8px;margin-top:10px!important;
  border-radius:16px;border:1px solid var(--bg-300);background:var(--card-bg);color:var(--text-100);
  box-shadow:var(--shadow-lg);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);
  --bs-dropdown-color:var(--text-100);--bs-dropdown-link-color:var(--text-100);
  --bs-dropdown-link-hover-color:var(--primary-100);--bs-dropdown-link-active-bg:var(--bg-200);
}
.cubiq-native .cq-account-menu.show{animation:cqAccountIn .18s cubic-bezier(.2,.8,.2,1)}
@keyframes cqAccountIn{from{opacity:0;translate:0 -6px}to{opacity:1;translate:0 0}}
.cubiq-native .cq-account-id{display:flex;align-items:center;gap:12px;padding:8px 10px 12px;margin-bottom:6px;border-bottom:1px solid var(--bg-300)}
.cubiq-native .cq-account-id .cq-account-av{width:42px;height:42px;font-size:20px}
.cubiq-native .cq-account-who{display:grid;min-width:0;line-height:1.3}
.cubiq-native .cq-account-who strong{font-size:14px;color:var(--text-100);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.cubiq-native .cq-account-who small{font-size:12px;color:var(--text-300);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.cubiq-native .cq-account-menu .cq-account-item{
  display:flex;align-items:center;gap:11px;width:100%;padding:9px 10px;margin:0;
  border:0;border-radius:10px;background:none;
  font:inherit;font-size:13.5px;font-weight:600;color:var(--text-100);text-align:left;text-decoration:none;cursor:pointer;
}
.cubiq-native .cq-account-menu .cq-account-item i{flex:0 0 20px;font-size:17px;text-align:center;color:var(--text-300);transition:color .15s ease}
.cubiq-native .cq-account-menu .cq-account-item:hover,.cubiq-native .cq-account-menu .cq-account-item:focus-visible{background:var(--bg-200);color:var(--primary-100);outline:none}
.cubiq-native .cq-account-menu .cq-account-item:hover i,.cubiq-native .cq-account-menu .cq-account-item:focus-visible i{color:var(--primary-100)}
.cubiq-native .cq-account-count{
  margin-left:auto;min-width:22px;height:20px;padding:0 7px;border-radius:999px;
  display:inline-grid;place-items:center;background:var(--primary-300);color:var(--primary-100);
  font-size:11.5px;font-weight:800;
}
.cubiq-native .cq-account-count.d-none{display:none!important}
.cubiq-native .cq-account-sep{height:1px;margin:6px 8px;background:var(--bg-300)}
.cubiq-native .cq-account-label{margin:6px 10px 2px;font-family:'Onest',system-ui,sans-serif;font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--text-300)}
.cubiq-native .cq-account-logout{margin:0}
.cubiq-native .cq-account-menu .cq-account-item.danger,.cubiq-native .cq-account-menu .cq-account-item.danger i{color:#C0553C}
.cubiq-native .cq-account-menu .cq-account-item.danger:hover,.cubiq-native .cq-account-menu .cq-account-item.danger:focus-visible{background:color-mix(in srgb,#C0553C 12%,transparent);color:#C0553C}
@media (prefers-color-scheme: dark){
:where(html:not([data-cubiq-theme])) .cubiq-native.cubiq-native .cq-account-menu .cq-account-item.danger, :where(html:not([data-cubiq-theme])) .cubiq-native.cubiq-native .cq-account-menu .cq-account-item.danger i, :where(html:not([data-cubiq-theme])) .cubiq-native.cubiq-native .cq-account-menu .cq-account-item.danger:hover{color:#F08A6C}
}
@media (min-width: 0px){
:where(html[data-cubiq-theme="dark"]) .cubiq-native.cubiq-native .cq-account-menu .cq-account-item.danger, :where(html[data-cubiq-theme="dark"]) .cubiq-native.cubiq-native .cq-account-menu .cq-account-item.danger i, :where(html[data-cubiq-theme="dark"]) .cubiq-native.cubiq-native .cq-account-menu .cq-account-item.danger:hover{color:#F08A6C}
}
@media(max-width:520px){
  .cubiq-native .cq-account-chip{padding:3px}
  .cubiq-native .cq-account-name,.cubiq-native .cq-account-caret{display:none}
}
@media(prefers-reduced-motion:reduce){.cubiq-native .cq-account-menu.show{animation:none}}

/* CUBIQ CARD VARIANTS, LIFETIME CART AND FLY-TO-CART STAGE 14 */
/* Etapa 14 — variações nos cards, acesso vitalício (1 unidade, sem
   configurador) e o voo da build até o carrinho. Valores do protótipo
   (styles.css .swatches/.swatch/.add-btn.in-cart, store.css .fly-ghost e
   cartBump). */

/* ---- bolinhas de variação no card (o selo da categoria fica embaixo à
   esquerda, então elas ficam embaixo à direita) ---- */
.cubiq-native .oe_product_cart .cubiq-swatches{position:absolute;right:10px;bottom:10px;left:auto;z-index:3;display:flex;gap:8px;margin:0;padding:0}
.cubiq-native .cubiq-swatches .swatch{position:relative;flex:0 0 auto;width:17px;height:17px;min-height:0;padding:0;border:2px solid rgba(255,255,255,.85);border-radius:50%;background-color:var(--swatch,#8a8299);background-image:var(--swatch-img,none);background-size:cover;background-position:center;box-shadow:0 1px 4px rgba(10,4,26,.35);cursor:pointer;transition:transform .15s ease,border-color .15s ease,box-shadow .15s ease}
/* área de toque maior que a bolinha, sem encostar na vizinha */
.cubiq-native .cubiq-swatches .swatch::before{content:"";position:absolute;inset:-4px;border-radius:50%}
.cubiq-native .cubiq-swatches .swatch:hover,.cubiq-native .cubiq-swatches .swatch:focus-visible{transform:scale(1.25);border-color:var(--accent-100)}
.cubiq-native .cubiq-swatches .swatch:focus-visible{outline:2px solid var(--accent-100);outline-offset:2px}
.cubiq-native .cubiq-swatches .swatch[aria-pressed="true"]{border-color:var(--accent-100);box-shadow:0 0 0 2px rgba(10,4,26,.5),0 1px 4px rgba(10,4,26,.35)}
.cubiq-native #products_grid.cubiq-list-view .cubiq-swatches{display:none}

/* ---- botão do card: "Já está no carrinho" (clicar de novo remove) ---- */
.cubiq-native .oe_product_cart .o_wsale_product_btn .o_wsale_product_btn_primary.cubiq-in-cart{background:var(--primary-300);color:var(--accent-200)}
.cubiq-native .oe_product_cart .o_wsale_product_btn .o_wsale_product_btn_primary.cubiq-in-cart:hover{background:color-mix(in srgb,var(--primary-100) 20%,var(--primary-300));color:var(--accent-200)}
.cubiq-native .oe_product_cart .o_wsale_product_btn_primary .ti{font-size:14px;line-height:1}
.cubiq-native .oe_product_cart .cq-ac-short{display:none}
@container oe_product_cart (max-width:262px){
  .cubiq-native .oe_product_cart .cq-ac-full{display:none}
  .cubiq-native .oe_product_cart .cq-ac-short{display:inline}
}

/* ---- página da build: "Ver no carrinho" abre o carrinho lateral ---- */
.cubiq-native .cubiq-build-page #add_to_cart_wrap [name='add_to_cart'].cubiq-in-cart{background:var(--primary-300)!important;color:var(--accent-200)!important;border-color:color-mix(in srgb,var(--primary-100) 35%,transparent)!important;box-shadow:none}
.cubiq-native .cubiq-build-page #add_to_cart_wrap [name='add_to_cart'].cubiq-in-cart:hover{background:color-mix(in srgb,var(--primary-100) 20%,var(--primary-300))!important;box-shadow:none}
.cubiq-native #add_to_cart_wrap [name='add_to_cart'] .ti{font-size:17px;line-height:1;margin-right:8px}
.cubiq-native .o_wishlist_item [name='add_to_cart'].cubiq-in-cart{background:var(--primary-300)!important;color:var(--accent-200)!important;border-color:transparent!important}

/* ---- acesso vitalício: sem quantidade no carrinho. O campo continua na
   página (a Odoo o usa para remover a linha), só não aparece, e a moldura que
   desenhava o seletor sai junto para não deixar um risco solto. ---- */
.cubiq-native .o_cart_product .css_quantity .js_quantity{display:none!important}
.cubiq-native .cubiq-cart-page .css_quantity{width:auto;margin:0;border:0;background:transparent;overflow:visible}

/* ---- carrinho lateral aberto: travar a rolagem só no <html>. Com overflow
   hidden também no <body> (que tem a altura da janela), a página passa a
   recortar o conteúdo, a área rolável some e o navegador joga a rolagem para
   o topo — quem estava no meio do catálogo perdia o lugar ao abrir o carrinho. ---- */
html.cubiq-cart-open body{overflow:visible}

/* ---- miniaturas da galeria abaixo de 992px: a Odoo troca por pontinhos
   escondendo a imagem, mas o layout da CubiQ mantém as miniaturas ---- */
@media (max-width:991.98px){
  .cubiq-native .cubiq-build-page #o-carousel-product .carousel-indicators li{text-indent:0}
  .cubiq-native .cubiq-build-page #o-carousel-product .carousel-indicators li>div{display:block;width:100%;height:100%}
  .cubiq-native .cubiq-build-page #o-carousel-product .carousel-indicators li img{display:block}
}

/* ---- a build voa até o carrinho (store.css do protótipo) ---- */
.cq-fly-ghost{position:fixed;z-index:1060;margin:0;pointer-events:none;border-radius:10px;object-fit:cover;box-shadow:0 12px 30px rgba(10,4,26,.35);transition:top .55s cubic-bezier(.3,.02,.35,1),left .55s cubic-bezier(.3,.02,.35,1),width .55s cubic-bezier(.3,.02,.35,1),height .55s cubic-bezier(.3,.02,.35,1),opacity .55s ease .1s,border-radius .55s ease}
@keyframes cqCartBump{0%{transform:scale(1)}45%{transform:scale(1.28)}100%{transform:scale(1)}}
.cubiq-native header .o_wsale_my_cart>a.cq-cart-bump{animation:cqCartBump .32s cubic-bezier(.3,1.4,.5,1)}
@media (prefers-reduced-motion:reduce){
  .cq-fly-ghost{transition:opacity .2s ease}
  .cubiq-native header .o_wsale_my_cart>a.cq-cart-bump{animation:none}
}

/* ---- aviso quando o carrinho não responde ---- */
.cubiq-native .cq-cart-toast{position:fixed;left:50%;bottom:24px;z-index:1070;max-width:min(420px,calc(100vw - 32px));padding:12px 18px;border:1px solid var(--cq-border);border-radius:14px;background:var(--cq-surface);color:var(--cq-ink);box-shadow:0 12px 36px rgba(10,4,26,.28);font-size:14px;font-weight:600;line-height:1.4;text-align:center;opacity:0;visibility:hidden;transform:translate(-50%,12px);transition:opacity .2s ease,transform .2s ease,visibility 0s linear .2s}
.cubiq-native .cq-cart-toast.is-on{opacity:1;visibility:visible;transform:translate(-50%,0);transition:opacity .2s ease,transform .2s ease}

/* CUBIQ CUBITS CART, PRODUCT-LEVEL PURCHASE AND VARIANT SWITCH STAGE 15 */
/* Etapa 15 — carrinho em cubits, compra do produto inteiro e troca de variação
   sem travar. */

/* ---- cubits no carrinho, no resumo e no checkout: mesma moeda do resto do
   site, no tamanho do texto de cada lugar ---- */
.cubiq-native :is(.cubiq-cart-page,.o_website_sale_checkout_container,#cubiq-cart-drawer,[name='o_cart_notification_container']) .cubiq-price{font-size:inherit;gap:6px;color:inherit}
.cubiq-native :is(.cubiq-cart-page,.o_website_sale_checkout_container,#cubiq-cart-drawer,[name='o_cart_notification_container']) .cubiq-price .emerald-ico{width:16px;height:16px}
.cubiq-native :is(.cubiq-cart-page,.o_website_sale_checkout_container,#cubiq-cart-drawer) .cubiq-price .cubiq-price-unit{font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--cq-muted)}
/* o total é o número em destaque da página */
.cubiq-native :is(.cubiq-cart-page,.o_website_sale_checkout_container) [name='o_order_total'] .cubiq-price{font-size:19px;color:var(--cq-accent)}
.cubiq-native #cubiq-cart-drawer .cart-total-row .cubiq-price{font-size:18px;color:var(--primary-100)}
.cubiq-native :is(.cubiq-cart-page,.o_website_sale_checkout_container) .o_cart_total .cubiq-price{justify-content:flex-end}
.cubiq-native #amount_total_summary .cubiq-price{font-size:inherit}

/* ---- página da build: enquanto a Odoo confirma a variação escolhida ----
   A troca leva dois pedidos em série no servidor; sem aviso, o clique parecia
   não ter funcionado e as pessoas clicavam de novo. */
.cubiq-native .cubiq-build-page .o_wsale_product_images{transition:opacity .18s ease}
.cubiq-native .cubiq-build-page.cubiq-variant-busy .o_wsale_product_images{opacity:.55}
.cubiq-native .cubiq-build-page.cubiq-variant-busy #product_details .cubiq-price{opacity:.55;transition:opacity .18s ease}
.cubiq-native .cubiq-build-page.cubiq-variant-busy li[name='variant_attribute'] label{cursor:progress}
@media (prefers-reduced-motion:reduce){
  .cubiq-native .cubiq-build-page .o_wsale_product_images{transition:none}
}

/* CUBIQ LIVE CATALOG, CATALOG SEARCH AND FILE VARIANTS STAGE 16 */
/* Etapa 16 — catálogo sem recarregar, busca do catálogo no estilo da CubiQ e
   seletor de variação junto dos arquivos. Valores da busca: store.css do
   protótipo (.catalog-search, .search-suggest, .suggest-item). */

/* ---- busca do catálogo ---- */
.cubiq-native .cubiq-catalog-search .o_wsale_products_searchbar_form{position:relative}
.cubiq-native .cubiq-catalog-search .o_search_input_group{position:relative;align-items:center;transition:border-color .16s ease,box-shadow .16s ease}
/* o anel de foco é do grupo (como o input do protótipo); o da Odoo no campo sai */
.cubiq-native .cubiq-catalog-search input.oe_search_box,.cubiq-native .cubiq-catalog-search input.oe_search_box:focus{outline:0!important;box-shadow:none!important;border-color:transparent!important;font-family:inherit;font-size:14px;padding-left:14px}
.cubiq-native .cubiq-catalog-search .o_searchbar_form.dropdown.show .o_search_input_group,.cubiq-native .cubiq-catalog-search .o_search_input_group:focus-within{border-color:var(--primary-100)!important;box-shadow:0 0 0 3px var(--primary-300)!important}
.cubiq-native .cubiq-catalog-search .oe_search_button{display:inline-flex;align-items:center;gap:8px;color:var(--text-300)!important;box-shadow:none!important}
.cubiq-native .cubiq-catalog-search .oe_search_button:hover,.cubiq-native .cubiq-catalog-search .oe_search_button:focus-visible{color:var(--primary-100)!important}
.cubiq-native .cubiq-catalog-search .oe_search_button .oi-search{font-size:15px}
/* "N resultado(s)": texto discreto dentro do campo, não uma caixa à parte */
.cubiq-native .cubiq-catalog-search .o_search_found_results{background:transparent!important;border:0!important;padding:0!important;margin:0!important;color:var(--text-300)!important;font:500 11px 'Onest',system-ui,sans-serif;letter-spacing:.02em;white-space:nowrap}
.cubiq-native .cubiq-catalog-search .o_search_spinner{color:var(--primary-100)!important;border-width:.14em}

/* sugestões: painel do protótipo em vez do menu branco da Odoo */
.cubiq-native .cubiq-catalog-search .o_dropdown_menu{top:calc(100% + 8px)!important;left:0!important;right:0;width:100%!important;z-index:60;margin:0;padding:8px;max-height:340px;overflow-y:auto;background:var(--bg-100)!important;color:var(--text-100)!important;border:1px solid var(--bg-300)!important;border-radius:13px;box-shadow:var(--shadow-lg)}
.cubiq-native .cubiq-catalog-search .o_dropdown_menu .dropdown-item-text{display:block;padding:8px 10px 6px!important;font-size:12px;line-height:1.5;color:var(--text-300)!important}
.cubiq-native .cubiq-catalog-search .o_dropdown_menu .dropdown-item-text .text-muted{color:var(--text-300)!important}
.cubiq-native .cubiq-catalog-search .o_dropdown_menu .s_searchbar_fuzzy_submit{color:var(--primary-100);font-weight:700}
.cubiq-native .cubiq-catalog-search .o_search_result_link{align-items:center;gap:10px!important;padding:8px 10px!important;border-radius:9px;color:var(--text-100)!important;transition:background .12s ease}
.cubiq-native .cubiq-catalog-search .o_search_result_link:hover,.cubiq-native .cubiq-catalog-search .o_search_result_link:focus-visible,.cubiq-native .cubiq-catalog-search .o_search_result_item.focus .o_search_result_link{background:var(--bg-200);outline:0}
.cubiq-native .cubiq-catalog-search .o_search_result_image{width:40px;height:40px;object-fit:cover;border-radius:8px!important;background:var(--bg-200)}
.cubiq-native .cubiq-catalog-search .o_search_result_content>div:first-child{display:flex;align-items:center;gap:8px;width:100%;min-width:0}
.cubiq-native .cubiq-catalog-search .o_search_result_content h3{margin:0;font:700 13.5px/1.35 'Onest',system-ui,sans-serif;color:var(--text-100);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.cubiq-native .cubiq-catalog-search .o_search_matching_text{background:var(--primary-300);color:var(--primary-100)!important;border-radius:3px;padding:0 1px}
.cubiq-native .cubiq-catalog-search .o_search_result_description{font-size:12px;color:var(--text-300)}
.cubiq-native .cubiq-catalog-search .cubiq-suggest-price{display:inline-flex;align-items:center;gap:5px;margin-left:auto;font:700 12px 'Onest',system-ui,sans-serif;color:var(--text-200)}
.cubiq-native .cubiq-catalog-search .cubiq-suggest-price .emerald-ico{width:14px;height:14px}

/* ---- "Limpar filtros" nativo do painel (aparecia como uma caixa branca) ---- */
.cubiq-native #products_grid_before .py-3.border-bottom,.cubiq-native #o_wsale_offcanvas .py-3.border-bottom{border-color:var(--bg-300)!important}
.cubiq-native :is(#products_grid_before,#o_wsale_offcanvas) .py-3.border-bottom .btn-light{justify-content:center;gap:8px;min-height:36px;background:transparent!important;color:var(--text-200)!important;border:1px solid var(--bg-300)!important;border-radius:10px!important;font-size:12.5px;transition:border-color .15s ease,color .15s ease}
.cubiq-native :is(#products_grid_before,#o_wsale_offcanvas) .py-3.border-bottom .btn-light small{margin:0!important;font-size:inherit}
.cubiq-native :is(#products_grid_before,#o_wsale_offcanvas) .py-3.border-bottom .btn-light:hover{color:var(--primary-100)!important;border-color:var(--primary-100)!important}

/* ---- a grade enquanto troca: some devagar em vez de piscar ---- */
.cubiq-native .o_wsale_products_grid_table_wrapper{transition:opacity .18s ease}

/* ---- seletor de variação junto dos arquivos ---- */
.cubiq-native .bd-access-variants{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;margin:0 0 14px}
.cubiq-native .bd-access-variants-label{font:600 10.5px 'Onest',system-ui,sans-serif;letter-spacing:.12em;text-transform:uppercase;color:var(--cq-muted)}
.cubiq-native .bd-access-variants-list{display:flex;flex-wrap:wrap;gap:6px}
.cubiq-native .bd-access-variant{display:inline-flex;align-items:center;gap:8px;min-height:34px;padding:6px 13px 6px 9px;border:1px solid var(--cq-border);border-radius:999px;background:var(--cq-soft);color:var(--cq-ink);font:700 12.5px 'Onest',system-ui,sans-serif;cursor:pointer;transition:border-color .15s ease,background .15s ease,color .15s ease}
.cubiq-native .bd-access-variant:hover{border-color:color-mix(in srgb,var(--cq-accent) 55%,var(--cq-border))}
.cubiq-native .bd-access-variant:focus-visible{outline:2px solid var(--cq-accent);outline-offset:2px}
.cubiq-native .bd-access-variant[aria-pressed="true"]{border-color:var(--cq-accent);background:color-mix(in srgb,var(--cq-accent) 16%,var(--cq-surface));color:var(--cq-ink)}
.cubiq-native .bd-access-variant-dot{flex:0 0 auto;width:14px;height:14px;border-radius:50%;border:2px solid rgba(255,255,255,.85);background-color:var(--swatch,#8a8299);background-image:var(--swatch-img,none);background-size:cover;background-position:center;box-shadow:0 1px 3px rgba(10,4,26,.35)}

/* CUBIQ PERFORMANCE STAGE 17 */
/* Etapa 17 — leveza. Nada aqui muda o que se vê num computador com GPU. */

/* botões dos cards: o fundo é opaco, então o desfoque que a Odoo põe por trás
   deles nunca aparece — só custa (uma camada de desfoque por card) */
.cubiq-native .oe_product_cart .o_wsale_product_btn .btn,.cubiq-native .oe_product_cart .o_add_wishlist{-webkit-backdrop-filter:none!important;backdrop-filter:none!important}

/* animações infinitas (flutuar, marquee, brilhos) param enquanto a seção está
   fora da tela e voltam de onde estavam (perf-ui.js marca .cq-offscreen) */
.cubiq-native .cq-offscreen,.cubiq-native .cq-offscreen *{animation-play-state:paused!important}

/* ---- modo leve: sem aceleração por GPU ou com quadros lentos ----
   O desfoque de fundo é refeito a cada rolagem e a cada quadro de animação; sem
   GPU é o que trava. Sai o desfoque e o vidro fica um pouco mais opaco para o
   texto continuar legível sobre o fundo. */
html.cq-lite *,html.cq-lite *::before,html.cq-lite *::after,html.cq-lite ::backdrop{-webkit-backdrop-filter:none!important;backdrop-filter:none!important}
html.cq-lite .cubiq-native{--glass-bg:rgba(255,255,255,.9);--glass-bg-strong:rgba(255,255,255,.96)}
@media (prefers-color-scheme:dark){
  html:where(:not([data-cubiq-theme])).cq-lite .cubiq-native.cubiq-native{--glass-bg:rgba(12,10,20,.86);--glass-bg-strong:rgba(22,18,31,.95)}
}
@media (min-width: 0px){
  html:where([data-cubiq-theme="dark"]).cq-lite .cubiq-native.cubiq-native{--glass-bg:rgba(12,10,20,.86);--glass-bg-strong:rgba(22,18,31,.95)}
}

/* CUBIQ CATEGORY FILTERS STAGE 18 */
/* Etapa 18 — categorias do catálogo como caixas de marcar, várias ao mesmo tempo.
   O visual é o das categorias da etapa 4 (stage4.css). O estado vem da própria
   caixa, e não só da classe .active que o servidor manda, então muda no clique,
   antes de a grade chegar. Transição e anel de foco seguem o .fbox do protótipo. */
.cubiq-native label.cubiq-category-option {cursor:pointer;margin:0;user-select:none}
.cubiq-native label.cubiq-category-option:hover {color:var(--text-100)}
.cubiq-native label.cubiq-category-option .cubiq-category-check {transition:background-color .15s ease,border-color .15s ease,box-shadow .15s ease}
.cubiq-native label.cubiq-category-option:hover .cubiq-category-input:not(:checked) ~ .cubiq-category-check {border-color:var(--primary-100)}
.cubiq-native .cubiq-category-input:checked ~ .cubiq-category-check {background:var(--primary-100);border-color:var(--primary-100)}
.cubiq-native .cubiq-category-input:checked ~ .cubiq-category-check:after {content:'✓';display:block;text-align:center;font-size:12px;color:var(--bg-100)}
.cubiq-native .cubiq-category-input:not(:checked) ~ .cubiq-category-check {background:var(--bg-100);border-color:var(--bg-300)}
.cubiq-native .cubiq-category-input:not(:checked) ~ .cubiq-category-check:after {content:none}
.cubiq-native .cubiq-category-input:focus-visible ~ .cubiq-category-check {box-shadow:0 0 0 3px var(--primary-300)}
.cubiq-native label.cubiq-category-option:has(.cubiq-category-input:checked) {color:var(--primary-100);font-weight:700}
.cubiq-native label.cubiq-category-option:has(.cubiq-category-input:not(:checked)) {color:var(--text-200);font-weight:inherit}
.cubiq-native label.cubiq-category-option:has(.cubiq-category-input:not(:checked)):hover {color:var(--text-100)}
/* painel de filtros do celular: mesmo ritmo das listas de atributos */
.cubiq-native #o_wsale_offcanvas .cubiq-category-options {display:flex;flex-direction:column;gap:2px}
@media (prefers-reduced-motion:reduce){.cubiq-native label.cubiq-category-option .cubiq-category-check{transition:none}}
/* Feedback remains outside the replaced regions; filters stay interactive. */
.cubiq-native .cubiq-filter-status{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);z-index:1060;max-width:calc(100vw - 32px);padding:10px 16px;border:1px solid var(--bg-300);border-radius:12px;background:var(--bg-200);color:var(--text-100);box-shadow:0 4px 18px #0002;font-size:13px;pointer-events:none}
.cubiq-native .cubiq-filter-status[hidden]{display:none}
.cubiq-native .cubiq-filter-status button{pointer-events:auto;border:0;background:transparent;color:var(--primary-100);font:inherit;font-weight:700;text-decoration:underline;padding:0 0 0 10px}
.cubiq-native .cubiq-shop-categories a:focus-visible{outline:2px solid var(--primary-100);outline-offset:3px}

/* CUBIQ TYPOGRAPHY STAGE 19 */
/* CubiQ identity: Jersey display headings, Gabarito secondary headings, Onest UI. */
.cubiq-native {
 --cq-font-body:'Onest',system-ui,sans-serif;
 --cq-font-heading:'Gabarito','Onest',system-ui,sans-serif;
 --cq-font-display:'Jersey 10','Gabarito',sans-serif;
 --font-sans-serif:var(--cq-font-body);--bs-font-sans-serif:var(--cq-font-body);
 --body-font-family:var(--cq-font-body);--bs-body-font-family:var(--cq-font-body);
 --headings-font-family:var(--cq-font-heading);--headings-font-weight:700;
 font-family:var(--cq-font-body);font-kerning:normal;
}
.cubiq-native :is(h1,h2,h3,h4,h5,h6,.h1,.h2,.h3,.h4,.h5,.h6,.pixel-heading,.auth-title) {
 font-family:var(--cq-font-heading)!important;font-weight:700;letter-spacing:-.025em;line-height:1.2;
}
.cubiq-native :is(button,input,select,textarea,.btn,.form-control,.form-select,.form-label,.accordion-button) {font-family:var(--cq-font-body)}
.cubiq-native :is(.mono,.font-monospace,.catalog-count,.price-note,.notif-time,.cr-hero-sub,.bd-access-variants-label) {font-family:var(--cq-font-body)!important;letter-spacing:0}
.cubiq-native :is(.section-kicker,.section-label,.eyebrow,.request-eyebrow,.rq-kicker,.cq-account-label,.bd-category) {letter-spacing:.07em;font-weight:600}
.cubiq-native :is(.brand-name,.brand-text strong,.cr-card-name,.cr-name,.cr-profile-name) {font-family:var(--cq-font-heading);font-weight:700;letter-spacing:-.02em}
.cubiq-native h1,.cubiq-native .pixel-heading,.cubiq-native .cr-hero h1,.cubiq-native #product_detail h1,.cubiq-native .cubiq-build-page #product_detail h1,.cubiq-native .cubiq-auth .auth-title {
 font-family:var(--cq-font-display)!important;font-weight:400!important;letter-spacing:.01em;line-height:1.05;
}
.cubiq-native .pixel-heading {font-size:clamp(56px,7.5vw,94px)}
.cubiq-native .pixel-heading.small {font-size:clamp(40px,4.6vw,60px)}
.cubiq-native :is(.store-headline,.store-band-head .pixel-heading) {font-size:clamp(36px,5vw,56px);line-height:1}
.cubiq-native .cr-hero h1 {font-size:clamp(62px,9vw,128px);line-height:.86;letter-spacing:1px}
.cubiq-native :is(.footer-band,.request-copy) .pixel-heading {font-size:clamp(40px,4.6vw,60px)}
.cubiq-native #product_detail h1 {font-size:clamp(34px,4.4vw,56px)}
.cubiq-native .rq-head {max-width:760px}
.cubiq-native .rq-head .pixel-heading {font-size:clamp(40px,4.6vw,60px);text-transform:uppercase}
.cubiq-native :is(.rq-card h2,.rq-order-head h2) {font-size:28px;line-height:1.2;font-weight:700}
.cubiq-native :is(.rq-fieldset legend,.rq-field > span,.rq-field .form-label,.rq-order-form .form-label) {font-family:var(--cq-font-body);font-size:13px;font-weight:600;text-transform:none;letter-spacing:0;line-height:1.5}
.cubiq-native .rq-gate {font-size:11.5px;letter-spacing:.015em;text-transform:none}
.cubiq-native .rq-order-card {scrollbar-gutter:stable;scrollbar-width:thin;scrollbar-color:var(--bg-300) transparent}
.cubiq-native .cubiq-catalog-heading {gap:12px;align-items:center;flex-wrap:wrap}
.cubiq-native .cubiq-catalog-heading h2 {font-family:var(--cq-font-heading);font-size:28px;font-weight:700;letter-spacing:-.025em}
.cubiq-native .catalog-count {font-family:var(--cq-font-body);font-size:12px;line-height:1.4;font-weight:500;letter-spacing:0;padding:5px 10px;border:1px solid var(--bg-300);border-radius:999px;background:var(--bg-200);color:var(--text-200)}
/* Keep the scrollbar in its own gutter, outside counts and focus outlines. */
.cubiq-native #products_grid_before .o_wsale_products_grid_before_rail {padding:2px 14px 8px 2px!important;scrollbar-gutter:stable;scrollbar-width:thin;scrollbar-color:var(--bg-300) transparent}
.cubiq-native #o_wsale_offcanvas_content {scrollbar-gutter:stable;scrollbar-width:thin;scrollbar-color:var(--bg-300) transparent;padding-inline-end:24px}
.cubiq-native :is(#products_grid_before,#o_wsale_offcanvas) .list-group-item {background:transparent;color:var(--text-200);padding:0;border-color:var(--bg-300)}
.cubiq-native :is(#products_grid_before,#o_wsale_offcanvas) .cubiq-filters-head h2 {font-family:var(--cq-font-heading)!important;font-size:16px;font-weight:600;text-transform:none;letter-spacing:0}
.cubiq-native :is(#products_grid_before,#o_wsale_offcanvas) .accordion-button {font-family:var(--cq-font-body);font-size:13px;font-weight:700;line-height:1.45;letter-spacing:0;text-transform:none;padding-block:16px!important}
.cubiq-native :is(#products_grid_before,#o_wsale_offcanvas) .form-check {display:flex;align-items:center;gap:10px;min-height:34px;padding:5px 0;margin:0!important;font-size:13px;line-height:1.5;color:var(--text-200)}
.cubiq-native :is(#products_grid_before,#o_wsale_offcanvas) .form-check-input {float:none;margin:0!important;flex:0 0 18px;width:18px;height:18px;border-radius:5px}
.cubiq-native :is(#products_grid_before,#o_wsale_offcanvas) .form-check-label {flex:1;min-width:0;margin:0;font-family:var(--cq-font-body);font-size:13px;line-height:1.5;padding:0;overflow-wrap:anywhere}
.cubiq-native :is(#products_grid_before,#o_wsale_offcanvas) .form-check:has(.form-check-input:checked) .form-check-label {color:var(--primary-100);font-weight:600!important}
.cubiq-native :is(#products_grid_before,#o_wsale_offcanvas) .form-check-input:focus-visible {box-shadow:0 0 0 3px var(--primary-300);border-color:var(--primary-100)}
.cubiq-native label.cubiq-category-option {gap:10px;min-height:34px;padding:5px 0!important;font-size:13px;line-height:1.5}
.cubiq-native label.cubiq-category-option .cubiq-category-check {flex:0 0 18px;width:18px;height:18px}
.cubiq-native label.cubiq-category-option > i {flex:0 0 14px;width:14px;font-size:14px}
.cubiq-native label.cubiq-category-option > span:not(.cubiq-category-check) {min-width:0}
.cubiq-native label.cubiq-category-option small {font-family:var(--cq-font-body);font-size:11px;font-weight:500;line-height:1.5;min-width:2ch;text-align:right;flex-shrink:0;padding-inline-end:2px;color:var(--text-300)}
.cubiq-native :is(#products_grid_before,#o_wsale_offcanvas) .multirange-wrapper input[type='number'] {font-family:var(--cq-font-body);font-size:13px}
.cubiq-native :is(.cat-strip-btn,.bd-crumb,.cr-filter-btn,.rq-chip) {letter-spacing:0}
.cubiq-native .oe_product_cart .o_wsale_products_item_title {font-family:var(--cq-font-heading)!important;font-size:19px;font-weight:700;line-height:1.3}
.cubiq-native .cubiq-auth .auth-title {font-size:38px;line-height:1.05}
@media(max-width:575px){
 .cubiq-native .hero .pixel-heading {font-size:clamp(42px,10vw,72px)}
 .cubiq-native .pixel-heading.small {font-size:40px}
 .cubiq-native .cubiq-catalog-heading h2 {font-size:25px}
 .cubiq-native :is(.rq-card h2,.rq-order-head h2) {font-size:25px}
 .cubiq-native .catalog-count {font-size:11.5px;padding:4px 9px}
 .cubiq-native .rq-grid {grid-template-columns:minmax(0,1fr)}
 .cubiq-native .rq-card {min-width:0;padding:24px}
 .cubiq-native .rq-order-card {padding:24px}
}

/* CUBIQ GUIDE 3D PRESENTATION STAGE 20 */
/* Etapa 20 — apresentação do Guide 3D na home.
   A ideia do protótipo "teste premium page" com a build de verdade: a Bull Forge é
   desenhada ao vivo (guide-voxel.js, WebGL) a partir dos blocos do guia, e a
   rolagem conduz a apresentação. Ao redor da build ficam as opções de montagem;
   rótulos e medidas são HTML ancorado em pontos da build (guide-tour-ui.js).
   Sem WebGL, com movimento reduzido, no modo leve ou no editor a seção fica
   parada, com a imagem da build e as etapas em texto (.g3d sem .g3d-live). */

/* ---------- seção presa na tela ---------- */
/* sem o padding genérico das seções (76px): o espaço vem do pino, e a rolagem
   presa começa no topo da seção (a âncora #tools do hero cai direto nela) */
.cubiq-native .g3d {
 position:relative;overflow:visible;padding:0;
 background:radial-gradient(ellipse 46% 52% at 57% 56%,color-mix(in srgb,var(--primary-100) 16%,transparent),transparent 74%),var(--panel-tint);
 border-top:1px solid color-mix(in srgb,var(--bg-300) 45%,transparent);
}
.cubiq-native .g3d-scroll {position:relative}
.cubiq-native .g3d-pin {position:relative;padding:96px 0}
.cubiq-native .g3d-pin-inner {position:relative;z-index:3;display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(24px,4vw,64px);align-items:center}
.cubiq-native .g3d-copy {display:flex;flex-direction:column;align-items:flex-start;gap:22px;min-width:0;max-width:430px}
.cubiq-native .g3d-copy .pixel-heading {margin:0}
.cubiq-native .g3d-beats {position:relative;width:100%;display:flex;flex-direction:column;gap:18px}
.cubiq-native .g3d-beat h3 {margin:0 0 8px;font-family:var(--cq-font-heading);font-weight:700;font-size:clamp(20px,2vw,25px);letter-spacing:-.01em;color:var(--text-100)}
.cubiq-native .g3d-beat p {margin:0;color:var(--text-200);font-size:15.5px;line-height:1.6;text-wrap:pretty}
.cubiq-native .g3d-progress {display:none;position:relative;width:100%;max-width:400px;height:3px;border-radius:3px;overflow:hidden;background:color-mix(in srgb,var(--bg-300) 75%,transparent)}
.cubiq-native .g3d-progress-fill {position:absolute;inset:0;border-radius:inherit;background:linear-gradient(90deg,var(--primary-100),var(--accent-100));transform-origin:0 50%;transform:scaleX(var(--g3d-p,0))}

/* cena: imagem parada (sem WebGL) ou o canvas ao vivo */
.cubiq-native .g3d-scene {position:relative;z-index:1}
.cubiq-native .g3d-poster {display:block;width:100%;height:auto;max-width:900px;margin:0 auto}
.cubiq-native .g3d-canvas,.cubiq-native .g3d-lines,.cubiq-native .g3d-marks,.cubiq-native .g3d-mats {display:none}

/* opções de montagem: lista parada sem o modo ao vivo */
.cubiq-native .g3d-options {list-style:none;margin:28px auto 0;padding:0 clamp(20px,4vw,56px);max-width:1400px;display:flex;flex-wrap:wrap;gap:10px;position:relative;z-index:3}
.cubiq-native .g3d-opt {display:grid;grid-template-columns:auto auto;grid-template-rows:auto auto;column-gap:10px;align-items:center;padding:8px 14px 8px 8px;border-radius:14px;background:var(--glass-bg-strong);border:1px solid var(--glass-border);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);box-shadow:var(--shadow);color:var(--text-200);font-size:13px;font-weight:600;line-height:1.2;white-space:nowrap;transition:border-color .3s ease,box-shadow .3s ease,opacity .3s ease,transform .45s cubic-bezier(.2,.8,.2,1),background .3s ease}
.cubiq-native .g3d-opt > i {grid-row:1 / span 2;width:34px;height:34px;border-radius:10px;display:grid;place-items:center;font-size:17px;color:var(--primary-100);background:color-mix(in srgb,var(--primary-100) 12%,var(--bg-200));transition:background .3s ease,color .3s ease}
.cubiq-native .g3d-opt-name {grid-column:2;align-self:end;color:var(--text-100);font-family:var(--cq-font-heading);font-weight:700;font-size:14px}
.cubiq-native .g3d-opt-value {grid-column:2;align-self:start;margin-top:2px;font-size:11.5px;font-weight:600;color:var(--text-300);font-variant-numeric:tabular-nums}

/* ícone de bloco: cubo isométrico com as cores da textura (topo, esquerda, direita) */
.cubiq-native .g3d-cube {display:inline-block;flex:none;width:24px;height:27px;clip-path:polygon(50% 0,100% 25%,100% 75%,50% 100%,0 75%,0 25%);background:conic-gradient(from -60deg,var(--t) 0 120deg,var(--r) 0 240deg,var(--l) 0);filter:drop-shadow(0 1px 1px rgb(0 0 0 / 25%))}

/* ---------- versão parada: sem WebGL, com movimento reduzido ou no editor ---------- */
/* A cena, o texto e as opções são irmãos dentro do pino porque ao vivo a cena
   fica por baixo, em absoluto, e o texto por cima. Parada, essa mesma ordem
   punha a imagem sozinha no topo, em cima de tudo, e o texto numa coluna
   estreita com meia tela vazia ao lado — foi o que alguns visitantes viram.
   Aqui o próprio pino vira a grade: texto à esquerda, build à direita e as
   opções embaixo, que é a mesma leitura da versão ao vivo. */
@media (min-width:821px){
 .cubiq-native .g3d:not(.g3d-live) .g3d-pin {display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.06fr);align-items:center;column-gap:clamp(28px,4vw,64px);max-width:1400px;margin:0 auto;padding:clamp(72px,7vw,104px) clamp(20px,4vw,56px)}
 .cubiq-native .g3d:not(.g3d-live) .g3d-pin-inner {order:1;display:block;max-width:none;padding:0}
 .cubiq-native .g3d:not(.g3d-live) .g3d-scene {order:2}
 .cubiq-native .g3d:not(.g3d-live) .g3d-copy {max-width:560px}
 .cubiq-native .g3d:not(.g3d-live) .g3d-poster {max-width:100%}
 .cubiq-native .g3d:not(.g3d-live) .g3d-options {order:3;grid-column:1 / -1;justify-content:center;margin:clamp(30px,3vw,46px) 0 0;padding:0;max-width:none}
}

/* ---------- modo ao vivo ---------- */
.cubiq-native .g3d.g3d-live .g3d-scroll {height:600vh}
.cubiq-native .g3d.g3d-live .g3d-pin {position:sticky;top:0;height:100vh;height:100svh;padding:0;overflow:hidden}
.cubiq-native .g3d.g3d-live .g3d-scene {position:absolute;left:0;right:0;bottom:0;top:var(--cubiq-header-height,81px)}
.cubiq-native .g3d.will-live .g3d-poster,.cubiq-native .g3d.g3d-live .g3d-poster {display:none}
/* faixa atrás do texto: a build passa por baixo sem atrapalhar a leitura */
.cubiq-native .g3d.g3d-live .g3d-scene::before {content:'';position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(90deg,color-mix(in srgb,var(--bg-100) 82%,transparent) 0,color-mix(in srgb,var(--bg-100) 55%,transparent) 24%,transparent 40%)}
.cubiq-native .g3d.g3d-live .g3d-canvas {display:block;position:absolute;inset:0;width:100%;height:100%;opacity:0;transition:opacity .6s ease}
.cubiq-native .g3d.g3d-live.g3d-ready .g3d-canvas {opacity:1}
.cubiq-native .g3d.g3d-live .g3d-lines {display:block;position:absolute;inset:0;width:100%;height:100%;overflow:visible;pointer-events:none;z-index:2}
.cubiq-native .g3d.g3d-live .g3d-marks {display:block;position:absolute;inset:0;pointer-events:none;z-index:2}
.cubiq-native .g3d.g3d-live .g3d-pin-inner {height:100%;padding-top:var(--cubiq-header-height,81px);box-sizing:border-box;grid-template-columns:minmax(0,420px) 1fr;pointer-events:none}
.cubiq-native .g3d.g3d-live .g3d-copy {pointer-events:auto}
.cubiq-native .g3d.g3d-live .g3d-beats {display:block;min-height:150px}
.cubiq-native .g3d.g3d-live .g3d-beat {position:absolute;inset:0 0 auto;opacity:0;transform:translateY(16px);transition:opacity .38s ease,transform .38s cubic-bezier(.2,.8,.2,1);pointer-events:none}
.cubiq-native .g3d.g3d-live .g3d-beat.is-on {opacity:1;transform:none;pointer-events:auto}
.cubiq-native .g3d.g3d-live .g3d-progress {display:block}

/* opções ao redor da build: o script posiciona cada uma (--x, --y) em volta dela */
.cubiq-native .g3d.g3d-live .g3d-options {position:absolute;left:0;right:0;bottom:0;top:var(--cubiq-header-height,81px);margin:0;padding:0;max-width:none;display:block;pointer-events:none;z-index:4}
.cubiq-native .g3d.g3d-live .g3d-opt {position:absolute;left:0;top:0;transform:translate3d(var(--x,0),var(--y,0),0);pointer-events:auto;cursor:pointer;opacity:.78}
.cubiq-native .g3d.g3d-live .g3d-opt:hover {opacity:1;border-color:color-mix(in srgb,var(--primary-100) 55%,var(--glass-border))}
.cubiq-native .g3d.g3d-live .g3d-opt:focus-visible {outline:2px solid var(--primary-100);outline-offset:3px;opacity:1}
.cubiq-native .g3d.g3d-live .g3d-opt.is-done > i {color:var(--accent-100)}
.cubiq-native .g3d.g3d-live .g3d-opt.is-on {opacity:1;border-color:var(--primary-100);box-shadow:0 0 0 4px color-mix(in srgb,var(--primary-100) 16%,transparent),var(--shadow-lg);transform:translate3d(var(--x,0),var(--y,0),0) scale(1.05)}
.cubiq-native .g3d.g3d-live .g3d-opt.is-on > i {background:var(--primary-100);color:#fff}
.cubiq-native .g3d.g3d-live .g3d-opt.is-on .g3d-opt-value {color:var(--primary-100)}
.cubiq-native .g3d.g3d-live .g3d-opt.is-away {opacity:0;pointer-events:none}
/* Zoom reduzido (ou tela muito grande): a janela cresce em px de CSS e a cena
   crescia junto — a build ficava enorme perto do texto, que acompanha o zoom.
   A cena e as opções dividem uma caixa de no máximo 1920 × 1120 abaixo do
   cabeçalho, centrada; o fundo da seção continua cobrindo a janela. Até
   1920 × 1201 de janela nada muda. */
@media (min-width:821px){
 .cubiq-native .g3d.g3d-live .g3d-scene,.cubiq-native .g3d.g3d-live .g3d-options {
  left:max(0px,(100% - 1920px) / 2);right:max(0px,(100% - 1920px) / 2);
  top:calc(var(--cubiq-header-height,81px) + max(0px,(100% - var(--cubiq-header-height,81px) - 1120px) / 2));
  bottom:max(0px,(100% - var(--cubiq-header-height,81px) - 1120px) / 2);
 }
}
/* Janela bem mais alta que a apresentação (zoom reduzido, monitor alto): a seção
   deixa de prender na tela — ficava uma tela inteira de vazio em volta de uma cena
   pequena — e vira um bloco do tamanho do conteúdo, como as outras seções. A rolagem
   que a atravessa conduz as etapas (g3d-flat vem do script). */
.cubiq-native .g3d.g3d-live.g3d-flat .g3d-scroll {height:auto}
.cubiq-native .g3d.g3d-live.g3d-flat .g3d-pin {position:relative;top:auto;height:1120px}
.cubiq-native .g3d.g3d-live.g3d-flat .g3d-pin-inner {padding-top:0}
.cubiq-native .g3d.g3d-live.g3d-flat .g3d-scene,.cubiq-native .g3d.g3d-live.g3d-flat .g3d-options {
 top:0;bottom:0;
}
/* com a caixa limitada, a faixa escura atrás do texto não chega mais às bordas
   da janela: as bordas dela se desfazem, em vez de desenhar um retângulo */
@media (min-width:1921px),(min-height:1202px){
 .cubiq-native .g3d.g3d-live .g3d-scene::before {
  -webkit-mask-image:linear-gradient(90deg,transparent 0,#000 22%),linear-gradient(180deg,transparent 0,#000 18%,#000 82%,transparent 100%);
  -webkit-mask-composite:source-in;
  mask-image:linear-gradient(90deg,transparent 0,#000 22%),linear-gradient(180deg,transparent 0,#000 18%,#000 82%,transparent 100%);
  mask-composite:intersect;
 }
}

/* linha do chip ativo até a parte da build */
.cubiq-native .g3d-leader {fill:none;stroke:var(--primary-100);stroke-width:1.6;stroke-dasharray:4 5;opacity:0;transition:opacity .35s ease;animation:g3dDash 1.2s linear infinite}
.cubiq-native .g3d-leader-dot {fill:var(--primary-100);opacity:0;transition:opacity .35s ease;stroke:color-mix(in srgb,var(--primary-100) 35%,transparent);stroke-width:6}
.cubiq-native .g3d-lines.has-leader .g3d-leader,.cubiq-native .g3d-lines.has-leader .g3d-leader-dot {opacity:1}
@keyframes g3dDash{to{stroke-dashoffset:-18}}
/* cotas da camada: as mesmas cores dos números de medida do guia */
.cubiq-native .g3d-dim {fill:none;stroke:#f2c75c;stroke-width:1.6;opacity:0;transition:opacity .35s ease}
.cubiq-native .g3d-lines.has-dims .g3d-dim {opacity:1}

/* rótulos ancorados na build */
.cubiq-native .g3d-mark {position:absolute;left:0;top:0;display:flex;align-items:center;gap:8px;white-space:nowrap;opacity:0;transform:translate3d(var(--x,0),var(--y,0),0) translate(-50%,-50%) scale(.92);transition:opacity .3s ease,transform .3s cubic-bezier(.2,.8,.2,1);will-change:transform}
.cubiq-native .g3d-mark.is-on {opacity:1;transform:translate3d(var(--x,0),var(--y,0),0) translate(-50%,-50%)}
.cubiq-native .g3d-mark-layer,.cubiq-native .g3d-mark-row,.cubiq-native .g3d-mark-step {padding:7px 12px;border-radius:12px;background:var(--glass-bg-strong);border:1px solid var(--glass-border);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);box-shadow:var(--shadow);font-size:12.5px;color:var(--text-200)}
.cubiq-native .g3d-mark b {font-family:var(--cq-font-heading);font-weight:700;font-size:13.5px;color:var(--text-100)}
.cubiq-native .g3d-mark-num {padding:2px 8px;border-radius:6px;background:#f2c75c;color:#10101a;font-size:12.5px;font-weight:700;box-shadow:0 2px 8px rgb(0 0 0 / 35%);font-variant-numeric:tabular-nums}
.cubiq-native .g3d-mark-step {padding:6px 12px 6px 8px}
.cubiq-native .g3d-mark-step span {font-weight:700;color:var(--accent-100)}

/* materiais: lista ao lado da build, o ativo acende junto com os blocos */
.cubiq-native .g3d.g3d-live .g3d-mats {display:flex;flex-direction:column;gap:6px;position:absolute;left:0;top:0;transform:translate3d(var(--x,0),var(--y,0),0);margin:0;padding:12px;list-style:none;width:250px;border-radius:18px;background:var(--glass-bg-strong);border:1px solid var(--glass-border);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);box-shadow:var(--shadow-lg);z-index:3;opacity:0;pointer-events:none;translate:24px 0;transition:opacity .4s ease,translate .5s cubic-bezier(.2,.8,.2,1)}
.cubiq-native .g3d.g3d-live .g3d-mats.is-on {opacity:1;translate:0 0}
.cubiq-native .g3d-mat {display:flex;align-items:center;gap:10px;padding:7px 8px;border-radius:10px;font-size:12.5px;color:var(--text-100);transition:background .25s ease,box-shadow .25s ease}
.cubiq-native .g3d-mat-name {flex:1 1 auto;overflow:hidden;text-overflow:ellipsis}
.cubiq-native .g3d-mat-qty {text-align:right;font-weight:700;font-size:12px;color:var(--text-300);font-variant-numeric:tabular-nums;line-height:1.2}
.cubiq-native .g3d-mat-qty small {display:block;font-size:10.5px;font-weight:600;opacity:.8}
.cubiq-native .g3d-mat.is-on {background:color-mix(in srgb,var(--primary-100) 14%,transparent);box-shadow:inset 3px 0 0 var(--primary-100)}
.cubiq-native .g3d-mat.is-on .g3d-mat-name {color:var(--primary-100);font-weight:700}

/* ---------- ferramentas: seis cartas que abrem, com a build ao vivo em cada uma ---------- */
/* .panel-tint corta a mancha de fundo com overflow:hidden, o que faria da seção o "scroller"
   de animações view(); clip corta igual sem criar scroller */
.cubiq-native section.g3d-tools {overflow:clip}
.cubiq-native .g3d-tools {padding:96px 0 104px}
.cubiq-native .g3d-tools .section-head-center {margin-bottom:34px}
.cubiq-native .g3d-deck {position:relative;display:flex;gap:12px;height:clamp(470px,64vh,590px)}
.cubiq-native .g3d-deck-canvas {display:none;position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:2}
.cubiq-native .g3d-deck.is-live .g3d-deck-canvas {display:block}
/* a carta não cria contexto de empilhamento: o canvas passa por cima do fundo dela e por baixo do texto */
.cubiq-native .g3d-tool {--g3d-stage:color-mix(in srgb,var(--bg-200) 90%,var(--primary-100));position:relative;flex:1 1 0;min-width:0;border-radius:24px;overflow:hidden;border:1px solid color-mix(in srgb,var(--bg-300) 85%,transparent);background-color:var(--g3d-stage);transition:flex-grow .75s cubic-bezier(.2,.8,.2,1),border-color .3s ease,box-shadow .3s ease,background-color .9s ease}
.cubiq-native .g3d-tool::before {content:'';position:absolute;inset:0;pointer-events:none;background:radial-gradient(ellipse 90% 58% at 50% 32%,color-mix(in srgb,var(--primary-100) 20%,transparent),transparent 72%)}
.cubiq-native .g3d-tool.is-open {flex-grow:5.2;border-color:color-mix(in srgb,var(--primary-100) 45%,var(--bg-300));box-shadow:var(--shadow-lg)}
.cubiq-native .g3d-tool-poster {position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 30%}
.cubiq-native .g3d-deck.will-live .g3d-tool-poster,.cubiq-native .g3d-deck.is-live .g3d-tool-poster {display:none}
/* fechada: número, ícone e o nome na vertical */
.cubiq-native .g3d-tool-tab {position:absolute;inset:0;z-index:4;display:flex;flex-direction:column;align-items:center;gap:12px;padding:18px 0 22px;margin:0;border:0;border-radius:inherit;background:linear-gradient(0deg,color-mix(in srgb,var(--g3d-stage) 88%,transparent) 0,transparent 46%);color:var(--text-100);font:inherit;cursor:pointer;transition:opacity .3s ease}
.cubiq-native .g3d-tool-tab:focus-visible {outline:2px solid var(--primary-100);outline-offset:-4px}
.cubiq-native .g3d-tool-num {font-family:var(--cq-font-display);font-size:22px;line-height:1;color:var(--text-300)}
.cubiq-native .g3d-tool-tab > i {width:42px;height:42px;border-radius:12px;display:grid;place-items:center;font-size:20px;color:var(--primary-100);background:var(--glass-bg-strong);border:1px solid var(--glass-border);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:var(--shadow)}
.cubiq-native .g3d-tool-name {margin-top:auto;writing-mode:vertical-rl;transform:rotate(180deg);font-family:var(--cq-font-heading);font-weight:700;font-size:17px;letter-spacing:-.01em;white-space:nowrap;text-shadow:0 1px 10px color-mix(in srgb,var(--g3d-stage) 80%,transparent)}
.cubiq-native .g3d-tool:not(.is-open):hover {border-color:color-mix(in srgb,var(--primary-100) 40%,var(--bg-300))}
/* uma carta em foco, as outras recuam: véu na cor do fundo por cima da cena e do texto
   (escurece no tema escuro, clareia no claro). A carta não pode ganhar opacity: o canvas
   da cena é irmão dela, e a carta não pode virar contexto de empilhamento. */
.cubiq-native .g3d-tool::after {content:'';position:absolute;inset:0;z-index:5;pointer-events:none;border-radius:inherit;background:color-mix(in srgb,var(--bg-100) 58%,transparent);opacity:0;transition:opacity .35s ease}
@media (hover:hover){
 .cubiq-native .g3d-deck:hover .g3d-tool:not(:hover):not(.is-open)::after {opacity:1}
}
.cubiq-native .g3d-deck:focus-within .g3d-tool:not(.is-open):not(:focus-within)::after {opacity:1}
.cubiq-native .g3d-tool.is-open .g3d-tool-tab {opacity:0;pointer-events:none}
/* aberta: descrição por cima da cena, entra depois de a carta abrir */
.cubiq-native .g3d-tool-body {position:absolute;left:0;right:0;bottom:0;z-index:3;min-width:440px;padding:70px 26px 24px;background:linear-gradient(0deg,var(--g3d-stage) 56%,color-mix(in srgb,var(--g3d-stage) 0%,transparent));opacity:0;transform:translateY(18px);pointer-events:none;transition:opacity .25s ease,transform .45s cubic-bezier(.2,.8,.2,1)}
.cubiq-native .g3d-tool.is-open .g3d-tool-body {opacity:1;transform:none;transition-delay:.3s}
.cubiq-native .g3d-tool-tag {font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--primary-100);font-weight:700}
.cubiq-native .g3d-tool-body h3 {margin:6px 0 8px;font-family:var(--cq-font-heading);font-weight:700;font-size:22px;letter-spacing:-.01em;color:var(--text-100)}
.cubiq-native .g3d-tool-body p {margin:0 0 12px;max-width:470px;font-size:14px;line-height:1.55;color:var(--text-200);text-wrap:pretty}
.cubiq-native .g3d-tool-body ul {list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:6px 16px;max-width:520px}
.cubiq-native .g3d-tool-body li {display:flex;align-items:center;gap:7px;font-size:12.5px;color:var(--text-200)}
.cubiq-native .g3d-tool-body li i {font-size:15px;color:var(--primary-100)}
/* a carta de visualização troca o fundo: o texto segue o tom desse fundo, não o do tema */
.cubiq-native .g3d-tool[data-stage=dark] .g3d-tool-body {--text-100:#f7f3ff;--text-200:#d6cde6;--text-300:#a99fbd}
.cubiq-native .g3d-tool[data-stage=light] .g3d-tool-body {--text-100:#171326;--text-200:#3f3753;--text-300:#6a6180}

/* demonstrações por cima da cena (só na carta aberta) */
.cubiq-native .g3d-tool-fx {position:absolute;inset:0;z-index:3;pointer-events:none;opacity:0;transition:opacity .3s ease}
.cubiq-native .g3d-tool.is-open .g3d-tool-fx {opacity:1;transition-delay:.25s}
.cubiq-native .g3d-hud {position:absolute;top:16px;left:16px;display:flex;align-items:center;gap:7px;padding:7px 11px;border-radius:11px;background:var(--glass-bg-strong);border:1px solid var(--glass-border);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);box-shadow:var(--shadow);font-size:12px;font-weight:600;color:var(--text-200);white-space:nowrap;transition:opacity .3s ease,transform .3s ease}
.cubiq-native .g3d-hud i {font-size:15px;color:var(--primary-100)}
.cubiq-native .g3d-hud b {color:var(--primary-100);font-variant-numeric:tabular-nums}
.cubiq-native .g3d-hud-step {left:auto;right:16px}
.cubiq-native .g3d-vf {position:absolute;left:0;top:0;width:var(--s,120px);height:calc(var(--s,120px) * .5);transform:translate3d(var(--x,50%),var(--y,40%),0) translate(-50%,-50%);transition:transform .9s cubic-bezier(.2,.8,.2,1),width .9s ease,height .9s ease}
.cubiq-native .g3d-vf i {position:absolute;width:20px;height:20px;border:3px solid var(--accent-100);filter:drop-shadow(0 1px 4px rgb(0 0 0 / 45%))}
.cubiq-native .g3d-vf i:nth-child(1) {left:0;top:0;border-right:0;border-bottom:0;border-radius:6px 0 0 0}
.cubiq-native .g3d-vf i:nth-child(2) {right:0;top:0;border-left:0;border-bottom:0;border-radius:0 6px 0 0}
.cubiq-native .g3d-vf i:nth-child(3) {left:0;bottom:0;border-right:0;border-top:0;border-radius:0 0 0 6px}
.cubiq-native .g3d-vf i:nth-child(4) {right:0;bottom:0;border-left:0;border-top:0;border-radius:0 0 6px 0}
.cubiq-native .g3d-timeline {position:absolute;top:18px;left:18px;right:18px;display:flex;gap:2px;height:7px}
.cubiq-native .g3d-timeline i {flex:1;border-radius:2px;background:color-mix(in srgb,var(--text-300) 34%,transparent);transition:background .25s ease}
.cubiq-native .g3d-timeline i.is-done {background:var(--accent-100);box-shadow:0 0 8px color-mix(in srgb,var(--accent-100) 60%,transparent)}
.cubiq-native .g3d-check {position:absolute;top:40px;right:18px;margin:0;padding:8px;list-style:none;width:230px;border-radius:14px;background:var(--glass-bg-strong);border:1px solid var(--glass-border);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);box-shadow:var(--shadow);display:flex;flex-direction:column;gap:2px}
.cubiq-native .g3d-check li {display:flex;align-items:center;gap:9px;padding:6px 7px;border-radius:9px;font-size:12.5px;color:var(--text-100);transition:opacity .3s ease}
.cubiq-native .g3d-check li span {flex:1 1 auto;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.cubiq-native .g3d-check li em {font-style:normal;font-size:11px;font-weight:700;color:var(--text-300)}
.cubiq-native .g3d-check li > i {width:18px;height:18px;flex:none;border-radius:5px;border:1.5px solid var(--text-300);display:grid;place-items:center;font-size:12px;color:transparent;transition:background .25s ease,border-color .25s ease,color .25s ease,transform .25s ease}
.cubiq-native .g3d-check li.is-done {opacity:.55}
.cubiq-native .g3d-check li.is-done span {text-decoration:line-through}
.cubiq-native .g3d-check li.is-done > i {background:var(--primary-100);border-color:var(--primary-100);color:#fff;transform:scale(1.08)}
.cubiq-native .g3d-cursor {position:absolute;left:0;top:0;z-index:2;font-size:26px;line-height:1;color:#fff;filter:drop-shadow(0 2px 5px rgb(0 0 0 / 55%));transform:translate3d(var(--x,60%),var(--y,30%),0) translate(-4px,-2px);transition:transform .75s cubic-bezier(.3,.7,.2,1)}
.cubiq-native .g3d-cursor.is-click i {display:inline-block;transform:scale(.82);transition:transform .12s ease}
.cubiq-native .g3d-ripple {position:absolute;left:0;top:0;width:40px;height:40px;margin:-20px 0 0 -20px;border-radius:50%;border:2px solid var(--accent-100);opacity:0;transform:translate3d(var(--x,0),var(--y,0),0) scale(.2)}
.cubiq-native .g3d-ripple.is-on {animation:g3dRipple .7s ease-out}
@keyframes g3dRipple{from{opacity:1;transform:translate3d(var(--x,0),var(--y,0),0) scale(.2)}to{opacity:0;transform:translate3d(var(--x,0),var(--y,0),0) scale(1.6)}}
.cubiq-native .g3d-pick {position:absolute;left:0;top:0;display:flex;align-items:center;gap:9px;padding:7px 12px 7px 8px;border-radius:12px;background:var(--glass-bg-strong);border:1px solid var(--glass-border);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);box-shadow:var(--shadow);font-size:12.5px;color:var(--text-100);white-space:nowrap;opacity:0;transform:translate3d(var(--x,0),var(--y,0),0) translate(-50%,calc(-100% - 16px)) scale(.92);transition:opacity .25s ease,transform .25s cubic-bezier(.2,.8,.2,1)}
.cubiq-native .g3d-pick.is-on {opacity:1;transform:translate3d(var(--x,0),var(--y,0),0) translate(-50%,calc(-100% - 16px))}
.cubiq-native .g3d-pick b {font-family:var(--cq-font-heading);font-weight:700}
.cubiq-native .g3d-pick small {color:var(--text-300);font-size:11px;font-variant-numeric:tabular-nums}
.cubiq-native .g3d-keys {position:absolute;top:18px;left:50%;transform:translateX(-50%);display:flex;gap:6px}
.cubiq-native .g3d-keys kbd {min-width:36px;height:36px;padding:0 10px;display:grid;place-items:center;border-radius:9px;background:#1f1d2b;border:1px solid #3a3550;border-bottom-width:4px;color:#f3f1fa;font-family:var(--cq-font-body);font-size:13px;font-weight:700;box-shadow:0 6px 16px rgb(0 0 0 / 30%);transition:transform .12s ease,border-bottom-width .12s ease,background .12s ease}
.cubiq-native .g3d-keys kbd.is-down {transform:translateY(3px);border-bottom-width:1px;background:var(--primary-100);border-color:color-mix(in srgb,var(--primary-100) 70%,#000)}
.cubiq-native .g3d-hud-key {top:68px;left:50%;transform:translateX(-50%)}
.cubiq-native .g3d-hud-key b {font-size:13px}
.cubiq-native .g3d-sunpath {position:absolute;left:0;top:0;font-size:28px;line-height:1;color:var(--accent-100);filter:drop-shadow(0 0 10px color-mix(in srgb,var(--accent-100) 70%,transparent));transform:translate3d(var(--x,50%),var(--y,20%),0) translate(-50%,-50%)}
.cubiq-native .g3d-swatches {position:absolute;top:16px;right:16px;display:flex;gap:7px;padding:7px;border-radius:14px;background:var(--glass-bg-strong);border:1px solid var(--glass-border);box-shadow:var(--shadow)}
.cubiq-native .g3d-swatches i {width:22px;height:22px;border-radius:50%;background:var(--sw);border:2px solid var(--glass-border);transition:box-shadow .25s ease,border-color .25s ease}
.cubiq-native .g3d-swatches i.is-on {border-color:var(--primary-100);box-shadow:0 0 0 3px color-mix(in srgb,var(--primary-100) 30%,transparent)}
.cubiq-native .g3d-hud-grid b {min-width:58px}
.cubiq-native .g3d-flash {position:absolute;inset:0;background:#fff;opacity:0}
.cubiq-native .g3d-flash.is-on {animation:g3dFlash .55s ease-out}
@keyframes g3dFlash{from{opacity:.85}to{opacity:0}}
.cubiq-native .g3d-photo {position:absolute;top:18px;right:18px;margin:0;width:190px;padding:8px 8px 24px;border-radius:6px;background:#fbfaf7;box-shadow:0 18px 40px rgb(0 0 0 / 35%);opacity:0;transform:translateY(-30px) rotate(-8deg) scale(.9);transition:opacity .35s ease,transform .6s cubic-bezier(.2,.8,.2,1)}
.cubiq-native .g3d-photo.is-on {opacity:1;transform:rotate(4deg)}
.cubiq-native .g3d-photo canvas {display:block;width:100%;aspect-ratio:4/3;border-radius:3px;background:#17171c}
.cubiq-native .g3d-photo figcaption {position:absolute;left:10px;right:10px;bottom:6px;font-size:10px;color:#6b6478;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cubiq-native .g3d-link {top:18px;left:18px;opacity:0;transform:translateY(-8px)}
.cubiq-native .g3d-link.is-on,.cubiq-native .g3d-file.is-on {opacity:1;transform:none}
.cubiq-native .g3d-link span {max-width:190px;overflow:hidden;text-overflow:ellipsis}
.cubiq-native .g3d-link b {padding:2px 7px;border-radius:6px;background:color-mix(in srgb,var(--primary-100) 18%,transparent)}
.cubiq-native .g3d-link {position:absolute;display:flex;align-items:center;gap:7px;padding:7px 11px;border-radius:11px;background:var(--glass-bg-strong);border:1px solid var(--glass-border);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);box-shadow:var(--shadow);font-size:12px;font-weight:600;color:var(--text-200);white-space:nowrap;transition:opacity .3s ease,transform .3s ease}
.cubiq-native .g3d-link i {font-size:15px;color:var(--primary-100)}
.cubiq-native .g3d-file {position:absolute;top:64px;left:18px;display:flex;align-items:center;gap:6px;padding:6px 10px;border-radius:10px;background:var(--glass-bg-strong);border:1px solid var(--glass-border);box-shadow:var(--shadow);font-size:12px;font-weight:700;color:var(--text-100);opacity:0;transform:translateY(-6px) scale(.9);transition:opacity .3s ease,transform .35s cubic-bezier(.2,.8,.2,1)}
.cubiq-native .g3d-file i {font-size:16px;color:var(--accent-100)}
.cubiq-native .g3d-file-txt {left:96px;transition-delay:.12s}
/* sem a cena ao vivo (imagem de reserva) as peças presas a blocos não têm onde ficar */
.cubiq-native .g3d-deck:not(.is-live) :is(.g3d-vf,.g3d-cursor,.g3d-ripple,.g3d-pick,.g3d-sunpath,.g3d-flash,.g3d-photo) {display:none}
/* sem o script (ou no editor da Odoo): as seis ferramentas com o texto à vista */
.cubiq-native .g3d-deck:not(.is-ready) {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));height:auto;gap:16px}
.cubiq-native .g3d-deck:not(.is-ready) .g3d-tool {min-height:380px;display:flex;flex-direction:column;justify-content:flex-end}
.cubiq-native .g3d-deck:not(.is-ready) .g3d-tool-tab,.cubiq-native .g3d-deck:not(.is-ready) .g3d-tool-fx {display:none}
.cubiq-native .g3d-deck:not(.is-ready) .g3d-tool-body {position:relative;min-width:0;opacity:1;transform:none;pointer-events:auto;padding-top:150px}

/* ---------- Modo Planta: folha de planta desenhada a partir dos blocos ---------- */
.cubiq-native .g3d-plan {--g3d-paper:#0f2150;--g3d-paper-2:#0a1838;--g3d-ink:#dce9ff;--g3d-ink-2:rgb(188 212 255 / 70%);--g3d-line:rgb(150 190 255 / 16%);--g3d-line-2:rgb(170 205 255 / 36%);margin-top:30px;padding:clamp(24px,3.4vw,44px);border-radius:24px;border:1px solid var(--bg-300);background:radial-gradient(ellipse 60% 70% at 88% 20%,color-mix(in srgb,var(--accent-100) 10%,transparent),transparent 70%),var(--bg-200);display:grid;gap:clamp(26px,4vw,52px);align-items:center;grid-template-columns:minmax(0,.78fr) minmax(0,1.22fr)}
@media (prefers-color-scheme:light){:where(html:not([data-cubiq-theme])) .cubiq-native .g3d-plan {--g3d-paper:#edf4ff;--g3d-paper-2:#dfeafb;--g3d-ink:#17356e;--g3d-ink-2:rgb(23 53 110 / 70%);--g3d-line:rgb(40 90 170 / 12%);--g3d-line-2:rgb(40 90 170 / 30%)}}
@media (min-width: 0px){:where(html[data-cubiq-theme="light"]) .cubiq-native .g3d-plan {--g3d-paper:#edf4ff;--g3d-paper-2:#dfeafb;--g3d-ink:#17356e;--g3d-ink-2:rgb(23 53 110 / 70%);--g3d-line:rgb(40 90 170 / 12%);--g3d-line-2:rgb(40 90 170 / 30%)}}
.cubiq-native .g3d-plan-copy {display:flex;flex-direction:column;gap:14px;align-items:flex-start}
.cubiq-native .g3d-plan-copy .pixel-heading {margin:0}
.cubiq-native .g3d-plan-copy p {margin:0;color:var(--text-200);font-size:15.5px;line-height:1.6;text-wrap:pretty}
.cubiq-native .g3d-plan-notes {margin:4px 0 0;padding:0;display:flex;flex-direction:column;gap:10px;list-style:none}
.cubiq-native .g3d-plan-notes li {display:flex;gap:10px;align-items:flex-start;font-size:13.5px;line-height:1.5;color:var(--text-200)}
.cubiq-native .g3d-plan-notes i {color:var(--accent-100);font-size:16px;margin-top:2px}
.cubiq-native .g3d-plan-hint {display:none!important;align-items:center;gap:8px;font-size:13px!important;color:var(--primary-100)!important;font-weight:600}
.cubiq-native .g3d-plan.is-live .g3d-plan-hint {display:flex!important}
.cubiq-native .g3d-sheet {position:relative;margin:0;border-radius:18px;overflow:hidden;aspect-ratio:var(--g3d-ar,1.12);background:linear-gradient(160deg,var(--g3d-paper),var(--g3d-paper-2));box-shadow:inset 0 0 0 1px var(--g3d-line-2),0 30px 60px -30px rgb(10 20 60 / 55%)}
.cubiq-native .g3d-sheet-poster {display:block;width:100%;height:100%;object-fit:cover}
.cubiq-native .g3d-sheet-canvas {display:none;position:absolute;inset:0;width:100%;height:100%;cursor:crosshair}
.cubiq-native .g3d-plan.is-live .g3d-sheet-canvas {display:block}
.cubiq-native .g3d-plan.will-live .g3d-sheet-poster,.cubiq-native .g3d-plan.is-live .g3d-sheet-poster {display:none}
.cubiq-native .g3d-plan.will-live .g3d-sheet {aspect-ratio:var(--g3d-ar,1.12)}
.cubiq-native .g3d-sheet-stamp,.cubiq-native .g3d-sheet-nav,.cubiq-native .g3d-sheet-legend,.cubiq-native .g3d-sheet-tip {display:none}
.cubiq-native .g3d-plan.is-live .g3d-sheet-stamp {display:flex;position:absolute;right:14px;bottom:14px;flex-direction:column;gap:2px;padding:9px 13px;border:1.5px solid var(--g3d-ink-2);border-radius:4px;background:color-mix(in srgb,var(--g3d-paper) 88%,transparent);color:var(--g3d-ink);font-size:10.5px;font-weight:700;letter-spacing:.12em;text-align:right;pointer-events:none}
.cubiq-native .g3d-sheet-stamp b {font-family:var(--cq-font-display);font-weight:400;font-size:22px;letter-spacing:.04em;line-height:1}
.cubiq-native .g3d-sheet-stamp em {font-style:normal;color:var(--accent-100)}
.cubiq-native .g3d-plan.is-live .g3d-sheet-nav {display:flex;position:absolute;left:14px;bottom:14px;align-items:center;gap:4px;padding:4px;border-radius:12px;border:1px solid var(--g3d-line-2);background:color-mix(in srgb,var(--g3d-paper) 88%,transparent)}
.cubiq-native .g3d-sheet-nav button {width:32px;height:32px;display:grid;place-items:center;border:0;border-radius:9px;background:transparent;color:var(--g3d-ink);font-size:17px;cursor:pointer;transition:background .2s ease}
.cubiq-native .g3d-sheet-nav button:hover {background:color-mix(in srgb,var(--g3d-ink) 14%,transparent)}
.cubiq-native .g3d-sheet-nav button:focus-visible {outline:2px solid var(--accent-100);outline-offset:1px}
.cubiq-native .g3d-sheet-nav button:disabled {opacity:.35;cursor:default}
.cubiq-native .g3d-sheet-now {min-width:30px;text-align:center;font-family:var(--cq-font-display);font-size:22px;line-height:1;color:var(--g3d-ink)}
.cubiq-native .g3d-plan.is-live .g3d-sheet-legend {display:flex;position:absolute;right:14px;top:14px;margin:0;padding:8px 10px;list-style:none;flex-direction:column;gap:5px;border-radius:8px;border:1px solid var(--g3d-line-2);background:color-mix(in srgb,var(--g3d-paper) 86%,transparent);color:var(--g3d-ink);font-size:11px;pointer-events:none}
.cubiq-native .g3d-sheet-legend li {display:flex;align-items:center;gap:7px;white-space:nowrap;transition:opacity .2s ease}
.cubiq-native .g3d-sheet-legend li .g3d-cube {width:15px;height:17px}
.cubiq-native .g3d-sheet-legend li b {margin-left:auto;padding-left:10px;font-variant-numeric:tabular-nums;color:var(--g3d-ink-2)}
.cubiq-native .g3d-plan.is-live .g3d-sheet-tip {display:flex;position:absolute;left:0;top:0;align-items:center;gap:8px;padding:7px 11px 7px 8px;border-radius:10px;background:var(--glass-bg-strong);border:1px solid var(--glass-border);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);box-shadow:var(--shadow);font-size:12px;color:var(--text-100);white-space:nowrap;pointer-events:none;opacity:0;transform:translate3d(var(--x,0),var(--y,0),0) translate(-50%,calc(-100% - 12px));transition:opacity .15s ease}
.cubiq-native .g3d-sheet-tip.is-on {opacity:1}
.cubiq-native .g3d-sheet-tip b {font-family:var(--cq-font-heading)}
.cubiq-native .g3d-sheet-tip small {color:var(--text-300);font-variant-numeric:tabular-nums}

/* ---------- telas menores ---------- */
@media (max-width:1040px){
 .cubiq-native .g3d.g3d-live .g3d-pin-inner {grid-template-columns:minmax(0,340px) 1fr}
 .cubiq-native .g3d.g3d-live .g3d-mats {width:220px}
 .cubiq-native .g3d-plan {grid-template-columns:1fr}
 .cubiq-native .g3d-tool-body {min-width:380px}
}
@media (max-width:820px){
 .cubiq-native .g3d-pin-inner {grid-template-columns:1fr;justify-items:center;text-align:center}
 .cubiq-native .g3d-copy {align-items:center;max-width:560px;gap:14px}
 .cubiq-native .g3d.g3d-live .g3d-pin-inner {display:block;height:auto;padding-top:calc(var(--cubiq-header-height,81px) + 14px)}
 .cubiq-native .g3d.g3d-live .g3d-copy {margin:0 auto}
 .cubiq-native .g3d.g3d-live .g3d-beats {min-height:118px}
 .cubiq-native .g3d.g3d-live .g3d-cta {display:none}
 .cubiq-native .g3d.g3d-live .g3d-options {top:auto;bottom:12px;height:auto;display:flex;flex-wrap:nowrap;gap:8px;overflow-x:auto;padding:6px 16px;scrollbar-width:none;scroll-behavior:smooth;-webkit-mask-image:linear-gradient(90deg,transparent 0,#000 16px,#000 calc(100% - 16px),transparent 100%);mask-image:linear-gradient(90deg,transparent 0,#000 16px,#000 calc(100% - 16px),transparent 100%)}
 .cubiq-native .g3d.g3d-live .g3d-options::-webkit-scrollbar {display:none}
 /* o botão "voltar ao topo" do site fica no canto de baixo: a fileira termina antes dele */
 .cubiq-native .g3d.g3d-live .g3d-options {right:calc(clamp(16px,3vw,34px) + 60px)}
 .cubiq-native .g3d.g3d-live .g3d-opt {position:relative;transform:none;flex:none;scroll-snap-align:center;padding:6px 12px 6px 6px}
 .cubiq-native .g3d.g3d-live .g3d-opt.is-on {transform:none}
 .cubiq-native .g3d.g3d-live .g3d-opt > i {width:30px;height:30px;font-size:15px}
 .cubiq-native .g3d.g3d-live .g3d-mats {left:50%;top:auto;bottom:80px;transform:translateX(-50%);width:min(300px,86vw);padding:8px;gap:2px}
 .cubiq-native .g3d.g3d-live .g3d-opt.is-away {opacity:.78;pointer-events:auto}
 .cubiq-native .g3d.g3d-live .g3d-scene::before {background:linear-gradient(180deg,color-mix(in srgb,var(--bg-100) 70%,transparent) 0,transparent 42%)}
 .cubiq-native .g3d.g3d-live .g3d-mats .g3d-mat:nth-child(n+4) {display:none}
 .cubiq-native .g3d.g3d-live .g3d-mat {padding:5px 8px}
 .cubiq-native .g3d.g3d-live .g3d-lines .g3d-leader,.cubiq-native .g3d.g3d-live .g3d-lines .g3d-leader-dot {display:none}
 /* cartas empilhadas: a fechada é uma faixa; a aberta cresce para baixo */
 .cubiq-native .g3d-deck {flex-direction:column;height:auto;gap:10px}
 .cubiq-native .g3d-tool {flex:none;height:78px;transition:height .65s cubic-bezier(.2,.8,.2,1),border-color .3s ease,box-shadow .3s ease,background-color .9s ease}
 .cubiq-native .g3d-tool.is-open {height:min(520px,128vw)}
 .cubiq-native .g3d-tool-tab {flex-direction:row;justify-content:flex-start;padding:0 18px;gap:14px;background:linear-gradient(90deg,color-mix(in srgb,var(--g3d-stage) 92%,transparent) 0,color-mix(in srgb,var(--g3d-stage) 60%,transparent) 70%,transparent)}
 .cubiq-native .g3d-tool-name {margin:0;writing-mode:horizontal-tb;transform:none;font-size:16px}
 .cubiq-native .g3d-tool-tab > i {width:38px;height:38px;font-size:18px}
 .cubiq-native .g3d-tool-body {min-width:0;padding:60px 18px 18px}
 .cubiq-native .g3d-tool-body h3 {font-size:19px}
 .cubiq-native .g3d-check {width:200px;top:36px}
 .cubiq-native .g3d-photo {width:150px}
 .cubiq-native .g3d-keys kbd {min-width:30px;height:32px;padding:0 7px;font-size:12px}
 .cubiq-native .g3d-plan.is-live .g3d-sheet-legend {display:none}
 .cubiq-native .g3d-plan.is-live .g3d-sheet-stamp {right:8px;bottom:8px;padding:5px 8px;font-size:9px;letter-spacing:.08em}
 .cubiq-native .g3d-sheet-stamp b {display:none}
 .cubiq-native .g3d-plan.is-live .g3d-sheet-nav {left:8px;bottom:8px;padding:2px}
 .cubiq-native .g3d-sheet-nav button {width:30px;height:30px}
 .cubiq-native .g3d-sheet-now {font-size:18px;min-width:24px}
 .cubiq-native .g3d-deck:not(.is-ready) {grid-template-columns:1fr}
}
@media (max-width:820px) and (max-height:700px){
 .cubiq-native .g3d.g3d-live .g3d-beat p {display:none}
 .cubiq-native .g3d.g3d-live .g3d-beats {min-height:40px}
}
@media (max-width:600px){
 .cubiq-native .g3d-pin {padding:64px 0}
}

/* ---------- movimento reduzido e editor ---------- */
@media (prefers-reduced-motion:reduce){
 .cubiq-native .g3d-leader {animation:none}
 .cubiq-native .g3d-tool::after {transition:none}
}
body.editor_enable .cubiq-native .g3d-scroll,body.editor_has_snippets .cubiq-native .g3d-scroll {height:auto!important}
body.editor_enable .cubiq-native .g3d-pin,body.editor_has_snippets .cubiq-native .g3d-pin {position:static!important;height:auto!important}

/* CUBIQ HERO AND ZOOM POLISH STAGE 21 */
/* Etapa 21 — polimentos gerais: o hero da home com o zoom do navegador.

   1. A faixa roxa do hero (.hero-shape) cobre 92% da largura a partir da
      direita. Na borda esquerda dela o gradiente ainda tinha um pouco de cor,
      então aparecia um degrau vertical a 8% da janela ("o degradê dá uma
      cortada"). Agora a faixa nasce transparente nessa borda.
   2. Com o zoom reduzido, 92vh passa de 2000 px de CSS: o hero crescia com a
      janela enquanto o resto do site encolhia, e a seção seguinte ficava longe.
      O teto deixa o hero do tamanho de uma tela comum; até 1087 px de altura
      de janela nada muda.
   3. Numa janela muito larga (zoom bem reduzido ou monitor ultrawide) a faixa
      acompanha o conteúdo, centrada, e se desfaz nas pontas em vez de cobrir
      a janela inteira. Até 2400 px de largura nada muda. */
.cubiq-native .hero-shape {
  -webkit-mask-image: linear-gradient(178deg, #000 0%, #000 62%, transparent 99%), linear-gradient(90deg, transparent 0, rgb(0 0 0 / 2%) 4%, rgb(0 0 0 / 9%) 8%, rgb(0 0 0 / 22%) 12%, rgb(0 0 0 / 42%) 16%, rgb(0 0 0 / 66%) 20%, rgb(0 0 0 / 87%) 24%, #000 28%);
  -webkit-mask-composite: source-in;
  mask-image: linear-gradient(178deg, #000 0%, #000 62%, transparent 99%), linear-gradient(90deg, transparent 0, rgb(0 0 0 / 2%) 4%, rgb(0 0 0 / 9%) 8%, rgb(0 0 0 / 22%) 12%, rgb(0 0 0 / 42%) 16%, rgb(0 0 0 / 66%) 20%, rgb(0 0 0 / 87%) 24%, #000 28%);
  mask-composite: intersect;
}
@media (min-width: 1101px) {
  .cubiq-native .hero {min-height: min(92vh, 1000px)}
}
@media (min-width: 2400px) {
  .cubiq-native .hero-shape {
    right: calc((100% - 2400px) / 2);
    width: calc(2400px * .92);
    -webkit-mask-image: linear-gradient(178deg, #000 0%, #000 62%, transparent 99%), linear-gradient(90deg, transparent 0, rgb(0 0 0 / 2%) 4%, rgb(0 0 0 / 9%) 8%, rgb(0 0 0 / 22%) 12%, rgb(0 0 0 / 42%) 16%, rgb(0 0 0 / 66%) 20%, rgb(0 0 0 / 87%) 24%, #000 28%, #000 76%, rgb(0 0 0 / 80%) 84%, rgb(0 0 0 / 35%) 92%, transparent 100%);
    mask-image: linear-gradient(178deg, #000 0%, #000 62%, transparent 99%), linear-gradient(90deg, transparent 0, rgb(0 0 0 / 2%) 4%, rgb(0 0 0 / 9%) 8%, rgb(0 0 0 / 22%) 12%, rgb(0 0 0 / 42%) 16%, rgb(0 0 0 / 66%) 20%, rgb(0 0 0 / 87%) 24%, #000 28%, #000 76%, rgb(0 0 0 / 80%) 84%, rgb(0 0 0 / 35%) 92%, transparent 100%);
  }
}
