/* IDP WP Builder - frontend (Phase 1) */
body.idpwb-dark{ background: var(--idpwb-paper); color: var(--idpwb-ink); }

/* Motion FX defaults (Phase 2.x)
   - Enabled by body.idpwb-motion-on (added via settings)
   - Always respects prefers-reduced-motion
*/
@media (prefers-reduced-motion: reduce){
  body.idpwb-motion-on *{ animation: none !important; transition: none !important; scroll-behavior:auto !important; }
}

body.idpwb-motion-on{
  --idpwb-fx-duration: var(--idpwb-motion-duration, 340ms);
  --idpwb-fx-delay: 0ms;
}

.idpwb-hero-dark{
  position: relative;
  overflow: hidden;
  background: radial-gradient(800px 420px at 20% 20%, rgba(79,70,229,.35), rgba(79,70,229,0) 60%),
              radial-gradient(700px 360px at 90% 20%, rgba(6,182,212,.28), rgba(6,182,212,0) 55%),
              linear-gradient(180deg, rgba(5,10,20,1) 0%, rgba(5,10,20,.92) 100%);
}

/* Light hero variant (Modern Creative Light) */
.idpwb-hero-light{
  position: relative;
  overflow: hidden;
  background:
    radial-gradient(900px 520px at 20% 10%, rgba(79,70,229,.18), rgba(79,70,229,0) 60%),
    radial-gradient(760px 440px at 90% 15%, rgba(6,182,212,.16), rgba(6,182,212,0) 55%),
    linear-gradient(180deg, rgba(255,255,255,1) 0%, rgba(242,245,255,1) 100%);
}
.idpwb-hero-light::before,
.idpwb-hero-light::after{
  content:"";
  position:absolute;
  width:520px;
  height:520px;
  border-radius:999px;
  filter: blur(60px);
  opacity:.22;
  pointer-events:none;
}
.idpwb-hero-light::before{
  left:-180px;
  top:-170px;
  background: radial-gradient(circle at 30% 30%, rgba(79,70,229,.75), rgba(79,70,229,0) 70%);
}
.idpwb-hero-light::after{
  right:-200px;
  top:-140px;
  background: radial-gradient(circle at 60% 40%, rgba(6,182,212,.7), rgba(6,182,212,0) 70%);
}
body.idpwb-motion-on .idpwb-hero-light::before{ animation: idpwb-blob-a 14s var(--idpwb-motion-ease, ease-in-out) infinite; }
body.idpwb-motion-on .idpwb-hero-light::after{ animation: idpwb-blob-b 16s var(--idpwb-motion-ease, ease-in-out) infinite; }

/* Hero blobs (static fallback; Motion FX animates when enabled) */
.idpwb-hero-dark::before,
.idpwb-hero-dark::after{
  content:"";
  position:absolute;
  width:520px;
  height:520px;
  border-radius:999px;
  filter: blur(60px);
  opacity:.35;
  pointer-events:none;
  transform: translate3d(0,0,0);
}
.idpwb-hero-dark::before{
  left:-160px;
  top:-160px;
  background: radial-gradient(circle at 30% 30%, rgba(79,70,229,.9), rgba(79,70,229,0) 70%);
}
.idpwb-hero-dark::after{
  right:-180px;
  top:-120px;
  background: radial-gradient(circle at 60% 40%, rgba(6,182,212,.85), rgba(6,182,212,0) 70%);
}

/* Animated background blobs for the Modern Creative dark hero */
body.idpwb-motion-on .idpwb-hero-dark::before,
body.idpwb-motion-on .idpwb-hero-dark::after{
  content:"";
  position:absolute;
  width:520px;
  height:520px;
  border-radius:999px;
  filter: blur(60px);
  opacity:.35;
  pointer-events:none;
  transform: translate3d(0,0,0);
}
body.idpwb-motion-on .idpwb-hero-dark::before{
  left:-160px;
  top:-160px;
  background: radial-gradient(circle at 30% 30%, rgba(79,70,229,.9), rgba(79,70,229,0) 70%);
  animation: idpwb-blob-a 14s var(--idpwb-motion-ease, ease-in-out) infinite;
}
body.idpwb-motion-on .idpwb-hero-dark::after{
  right:-180px;
  top:-120px;
  background: radial-gradient(circle at 60% 40%, rgba(6,182,212,.85), rgba(6,182,212,0) 70%);
  animation: idpwb-blob-b 16s var(--idpwb-motion-ease, ease-in-out) infinite;
}

@keyframes idpwb-blob-a{
  0%,100%{ transform: translate(-10px, 0px) scale(1); }
  50%{ transform: translate(30px, 26px) scale(1.06); }
}
@keyframes idpwb-blob-b{
  0%,100%{ transform: translate(0px, 0px) scale(1); }
  50%{ transform: translate(-38px, 22px) scale(1.08); }
}

body.idpwb-dark .idpwb-card, .idpwb-hero-dark .idpwb-card{ border:1px solid rgba(255,255,255,.10); box-shadow: 0 18px 54px rgba(0,0,0,.42); background: rgba(11,18,32,.75); }

/* Premium card micro-interactions */
body.idpwb-motion-on .idpwb-card, body.idpwb-motion-on .idpwb-hero-dark .idpwb-card{
  transition: transform var(--idpwb-motion-duration, 340ms) var(--idpwb-motion-ease, ease),
              box-shadow var(--idpwb-motion-duration, 340ms) var(--idpwb-motion-ease, ease),
              border-color var(--idpwb-motion-duration, 340ms) var(--idpwb-motion-ease, ease);
  will-change: transform;
}
body.idpwb-motion-on .idpwb-card:hover{
  transform: translateY(calc(-1 * var(--idpwb-motion-lift, 7px))) scale(1.01);
  box-shadow: var(--idpwb-shadow-lift);
  border-color: rgba(6,182,212,.32);
}

/* Core buttons: tasteful grow/shine without needing the custom block */
body.idpwb-motion-on .wp-block-button__link{
  transition: transform var(--idpwb-motion-duration, 340ms) var(--idpwb-motion-ease, ease),
              filter var(--idpwb-motion-duration, 340ms) var(--idpwb-motion-ease, ease),
              box-shadow var(--idpwb-motion-duration, 340ms) var(--idpwb-motion-ease, ease);
  will-change: transform;
}
body.idpwb-motion-on .wp-block-button__link:hover{
  transform: scale(var(--idpwb-motion-scale, 1.03));
  filter: brightness(1.03);
}

/* Block Styles (registered by plugin): hover + reveal */
.wp-block-button.is-style-idpwb-grow-hover .wp-block-button__link:hover{
  transform: scale(var(--idpwb-motion-scale, 1.03));
}

/* Scroll reveal system (adds .idpwb-inview via IntersectionObserver) */
.idpwb-fx-ready{ opacity: 0; transform: translateY(var(--idpwb-motion-reveal, 26px)); }
.idpwb-fx-ready.idpwb-inview{ opacity: 1; transform: none; transition: opacity var(--idpwb-fx-duration) var(--idpwb-motion-ease, ease) var(--idpwb-fx-delay), transform var(--idpwb-fx-duration) var(--idpwb-motion-ease, ease) var(--idpwb-fx-delay); }

.is-style-idpwb-fade-up.idpwb-fx-ready{ opacity:0; transform: translateY(var(--idpwb-motion-reveal, 26px)); }
.is-style-idpwb-fade-left.idpwb-fx-ready{ opacity:0; transform: translateX(calc(-1 * var(--idpwb-motion-reveal, 26px))); }
.is-style-idpwb-fade-right.idpwb-fx-ready{ opacity:0; transform: translateX(var(--idpwb-motion-reveal, 26px)); }
.is-style-idpwb-zoom-in.idpwb-fx-ready{ opacity:0; transform: scale(.96); }

.is-style-idpwb-float-in.idpwb-fx-ready{ opacity:0; transform: translateY(calc(var(--idpwb-motion-reveal, 26px) + 10px)) scale(.985); }
.is-style-idpwb-float-in.idpwb-fx-ready.idpwb-inview{ opacity:1; transform:none; transition: opacity var(--idpwb-fx-duration) var(--idpwb-motion-ease, ease) var(--idpwb-fx-delay), transform var(--idpwb-fx-duration) var(--idpwb-motion-ease, ease) var(--idpwb-fx-delay); }
.is-style-idpwb-float-in.idpwb-inview img,
.is-style-idpwb-float-in.idpwb-inview .wp-block-cover__image-background{
  animation: idpwb-float 7.5s ease-in-out infinite;
}

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

.idpwb-btn {
  border-radius: var(--idpwb-radius-pill);
  font-weight: 600;
  line-height: 1.1;
}
.idpwb-btn--primary { box-shadow: 0 10px 22px rgba(37,99,235,.22); }
.idpwb-btn--ghost { background: transparent; }

/* Button Builder advanced variants */
.idpwb-btn {
  border: 1px solid transparent;
  user-select: none;
  will-change: transform;
  position: relative;
  overflow: hidden;
}
.idpwb-btn[data-idpwb-shadow="soft"] { box-shadow: var(--idpwb-shadow-soft); }
.idpwb-btn[data-idpwb-shadow="lift"] { box-shadow: var(--idpwb-shadow-lift); }

/* Palette mapping (token-driven) */
.idpwb-btn[data-idpwb-palette="primary"]{ --idpwb-btn-color: var(--idpwb-primary); --idpwb-btn-accent: var(--idpwb-accent); }
.idpwb-btn[data-idpwb-palette="accent"]{ --idpwb-btn-color: var(--idpwb-accent); --idpwb-btn-accent: var(--idpwb-primary); }
.idpwb-btn[data-idpwb-palette="success"]{ --idpwb-btn-color: var(--idpwb-success); --idpwb-btn-accent: var(--idpwb-primary); }
.idpwb-btn[data-idpwb-palette="warn"]{ --idpwb-btn-color: var(--idpwb-warn); --idpwb-btn-accent: var(--idpwb-primary); }
.idpwb-btn[data-idpwb-palette="danger"]{ --idpwb-btn-color: var(--idpwb-danger); --idpwb-btn-accent: var(--idpwb-primary); }

/* Hover effects */
.idpwb-btn[data-idpwb-hover="none"]:hover{ transform:none; filter:none; }
.idpwb-btn[data-idpwb-hover="lift"]:hover{ transform: translateY(-3px); filter: brightness(1.02); }
.idpwb-btn[data-idpwb-hover="grow"]:hover{ transform: scale(1.03); filter: brightness(1.02); }
.idpwb-btn[data-idpwb-hover="glow"]:hover{ transform: translateY(-3px); filter: brightness(1.03); box-shadow: 0 18px 42px rgba(37,99,235,.22), 0 0 0 3px rgba(6,182,212,.12); }
.idpwb-btn[data-idpwb-hover="shine"]::before{
  content:"";
  position:absolute;
  inset:-40% -60%;
  background: linear-gradient(120deg, rgba(255,255,255,0) 30%, rgba(255,255,255,.35) 45%, rgba(255,255,255,0) 60%);
  transform: translateX(-40%) rotate(12deg);
  transition: transform .55s ease;
  pointer-events:none;
}
.idpwb-btn[data-idpwb-hover="shine"]:hover::before{ transform: translateX(40%) rotate(12deg); }

.idpwb-btn--primary { background: var(--idpwb-btn-color, var(--idpwb-primary)); color: #fff; }

.idpwb-btn--ghost { background: transparent; color: var(--idpwb-btn-color, var(--idpwb-primary)); border-color: rgba(37,99,235,.35); }
.idpwb-btn--ghost:hover { border-color: rgba(6,182,212,.55); color: var(--idpwb-btn-accent, var(--idpwb-accent)); }

.idpwb-btn--outline { background: transparent; color: var(--idpwb-btn-color, var(--idpwb-primary)); border-color: currentColor; }

.idpwb-btn--gradient { background: var(--idpwb-grad-sky); color: #fff; }

/* Premium variants */
.idpwb-btn--soft{ background: rgba(248,250,252,.92); color: var(--idpwb-ink); border-color: rgba(17,24,39,.10); }
.idpwb-btn--soft:hover{ border-color: rgba(37,99,235,.18); }

.idpwb-btn--glass{
  background: rgba(255,255,255,.12);
  color: var(--idpwb-ink);
  border-color: rgba(255,255,255,.22);
  backdrop-filter: blur(12px);
}
.idpwb-btn--glass:hover{ border-color: rgba(37,99,235,.22); }

.idpwb-btn--neon{ background: var(--idpwb-btn-color, var(--idpwb-accent)); color: #fff; box-shadow: 0 14px 34px rgba(6,182,212,.24), 0 0 0 2px rgba(255,255,255,.08) inset; }
.idpwb-btn--neon:hover{ box-shadow: 0 18px 46px rgba(6,182,212,.30), 0 0 0 2px rgba(255,255,255,.10) inset; }

.idpwb-btn[data-idpwb-radius="sm"] { border-radius: var(--idpwb-radius-sm); }
.idpwb-btn[data-idpwb-radius="md"] { border-radius: var(--idpwb-radius-md); }
.idpwb-btn[data-idpwb-radius="lg"] { border-radius: var(--idpwb-radius-lg); }
.idpwb-btn[data-idpwb-radius="pill"] { border-radius: var(--idpwb-radius-pill); }

.idpwb-btn--full { width: 100%; }

/* ===============================
   Phase 2.5: Background FX Builder
   =============================== */

.is-style-idpwb-bg-mesh,
.is-style-idpwb-bg-spotlight,
.is-style-idpwb-bg-blobs,
.is-style-idpwb-bg-noise{ position: relative; overflow: hidden; }

/* Mesh overlay (subtle, token-aware) */
.is-style-idpwb-bg-mesh::before{
  content:"";
  position:absolute;
  inset:-2px;
  pointer-events:none;
  opacity:.55;
  background-image:
    radial-gradient(900px 520px at 10% 10%, rgba(79,70,229,.22), rgba(79,70,229,0) 60%),
    radial-gradient(760px 460px at 90% 15%, rgba(6,182,212,.18), rgba(6,182,212,0) 60%),
    linear-gradient(90deg, rgba(255,255,255,.06) 1px, transparent 1px),
    linear-gradient(0deg, rgba(255,255,255,.05) 1px, transparent 1px);
  background-size: auto, auto, 48px 48px, 48px 48px;
  background-position: 0 0, 0 0, 0 0, 0 0;
  mix-blend-mode: overlay;
}

/* Spotlight glow */
.is-style-idpwb-bg-spotlight::before{
  content:"";
  position:absolute;
  inset:-2px;
  pointer-events:none;
  background:
    radial-gradient(700px 420px at 18% 20%, rgba(79,70,229,.35), rgba(79,70,229,0) 62%),
    radial-gradient(640px 380px at 82% 10%, rgba(6,182,212,.26), rgba(6,182,212,0) 60%);
  opacity:.9;
}

/* Animated blobs (general purpose) */
/* Static fallback so the style looks good even with Motion FX disabled */
.is-style-idpwb-bg-blobs::before,
.is-style-idpwb-bg-blobs::after{
  content:"";
  position:absolute;
  width:560px;
  height:560px;
  border-radius:999px;
  filter: blur(64px);
  opacity:.30;
  pointer-events:none;
  transform: translate3d(0,0,0);
}
.is-style-idpwb-bg-blobs::before{
  left:-210px;
  top:-210px;
  background: radial-gradient(circle at 35% 35%, rgba(79,70,229,.92), rgba(79,70,229,0) 70%);
}
.is-style-idpwb-bg-blobs::after{
  right:-240px;
  top:-170px;
  background: radial-gradient(circle at 60% 35%, rgba(6,182,212,.86), rgba(6,182,212,0) 70%);
}

body.idpwb-motion-on .is-style-idpwb-bg-blobs::before,
body.idpwb-motion-on .is-style-idpwb-bg-blobs::after{
  content:"";
  position:absolute;
  width:560px;
  height:560px;
  border-radius:999px;
  filter: blur(64px);
  opacity:.30;
  pointer-events:none;
  transform: translate3d(0,0,0);
}
body.idpwb-motion-on .is-style-idpwb-bg-blobs::before{
  left:-210px;
  top:-210px;
  background: radial-gradient(circle at 35% 35%, rgba(79,70,229,.92), rgba(79,70,229,0) 70%);
  animation: idpwb-bg-blob-1 14s var(--idpwb-motion-ease, ease-in-out) infinite;
}
body.idpwb-motion-on .is-style-idpwb-bg-blobs::after{
  right:-240px;
  top:-170px;
  background: radial-gradient(circle at 60% 35%, rgba(6,182,212,.86), rgba(6,182,212,0) 70%);
  animation: idpwb-bg-blob-2 16s var(--idpwb-motion-ease, ease-in-out) infinite;
}
@keyframes idpwb-bg-blob-1{ 0%,100%{ transform: translate(-10px, 0px) scale(1); } 50%{ transform: translate(34px, 24px) scale(1.07); } }
@keyframes idpwb-bg-blob-2{ 0%,100%{ transform: translate(0px, 0px) scale(1); } 50%{ transform: translate(-40px, 22px) scale(1.09); } }

/* Noise overlay */
.is-style-idpwb-bg-noise::after{
  content:"";
  position:absolute;
  inset:-2px;
  pointer-events:none;
  opacity:.08;
  background-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A//www.w3.org/2000/svg%27%20width%3D%27120%27%20height%3D%27120%27%20viewBox%3D%270%200%20120%20120%27%3E%3Cfilter%20id%3D%27n%27%3E%3CfeTurbulence%20type%3D%27fractalNoise%27%20baseFrequency%3D%270.8%27%20numOctaves%3D%273%27%20stitchTiles%3D%27stitch%27/%3E%3C/filter%3E%3Crect%20width%3D%27120%27%20height%3D%27120%27%20filter%3D%27url(%23n)%27%20opacity%3D%270.35%27/%3E%3C/svg%3E");
  background-size: 240px 240px;
}

/* Cover parallax (desktop only; mobile disables fixed backgrounds) */
@media (min-width: 782px){
  .wp-block-cover.is-style-idpwb-bg-parallax .wp-block-cover__image-background{
    background-attachment: fixed;
    transform: scale(1.04);
  }
}

/* ==================================
   Phase 2.6: Section Separator Dividers
   ================================== */

.is-style-idpwb-divider-wave-bottom-paper,
.is-style-idpwb-divider-wave-bottom-mist,
.is-style-idpwb-divider-wave-top-paper,
.is-style-idpwb-divider-wave-top-mist,
.is-style-idpwb-divider-angle-bottom-paper,
.is-style-idpwb-divider-angle-bottom-mist,
.is-style-idpwb-divider-curve-bottom-paper,
.is-style-idpwb-divider-curve-bottom-mist{
  position: relative;
  overflow: visible;
}

/* Ensure content clears the divider */
.is-style-idpwb-divider-wave-bottom-paper,
.is-style-idpwb-divider-wave-bottom-mist,
.is-style-idpwb-divider-angle-bottom-paper,
.is-style-idpwb-divider-angle-bottom-mist,
.is-style-idpwb-divider-curve-bottom-paper,
.is-style-idpwb-divider-curve-bottom-mist{
  padding-bottom: calc(var(--wp--preset--spacing--60, 4rem) + 2.25rem);
}
.is-style-idpwb-divider-wave-top-paper,
.is-style-idpwb-divider-wave-top-mist{
  padding-top: calc(var(--wp--preset--spacing--60, 4rem) + 2.25rem);
}

/* Common divider geometry */
.is-style-idpwb-divider-wave-bottom-paper::after,
.is-style-idpwb-divider-wave-bottom-mist::after,
.is-style-idpwb-divider-angle-bottom-paper::after,
.is-style-idpwb-divider-angle-bottom-mist::after,
.is-style-idpwb-divider-curve-bottom-paper::after,
.is-style-idpwb-divider-curve-bottom-mist::after{
  content:"";
  position:absolute;
  left:0; right:0;
  bottom:-1px;
  height:96px;
  pointer-events:none;
  z-index: 2;
  background-repeat:no-repeat;
  background-size: 100% 100%;
}

.is-style-idpwb-divider-wave-top-paper::before,
.is-style-idpwb-divider-wave-top-mist::before{
  content:"";
  position:absolute;
  left:0; right:0;
  top:-1px;
  height:96px;
  pointer-events:none;
  z-index: 2;
  background-repeat:no-repeat;
  background-size: 100% 100%;
  transform: rotate(180deg);
}

/* Wave */
.is-style-idpwb-divider-wave-bottom-paper::after,
.is-style-idpwb-divider-wave-top-paper::before{
  color: var(--idpwb-paper);
  background-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A//www.w3.org/2000/svg%27%20viewBox%3D%270%200%201440%20160%27%20preserveAspectRatio%3D%27none%27%3E%3Cpath%20fill%3D%27currentColor%27%20d%3D%27M0%2C64%20C240%2C160%20480%2C0%20720%2C96%20C960%2C192%201200%2C32%201440%2C112%20L1440%2C160%20L0%2C160%20Z%27/%3E%3C/svg%3E");
}
.is-style-idpwb-divider-wave-bottom-mist::after,
.is-style-idpwb-divider-wave-top-mist::before{
  color: var(--idpwb-mist);
  background-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A//www.w3.org/2000/svg%27%20viewBox%3D%270%200%201440%20160%27%20preserveAspectRatio%3D%27none%27%3E%3Cpath%20fill%3D%27currentColor%27%20d%3D%27M0%2C64%20C240%2C160%20480%2C0%20720%2C96%20C960%2C192%201200%2C32%201440%2C112%20L1440%2C160%20L0%2C160%20Z%27/%3E%3C/svg%3E");
}

/* Angle */
.is-style-idpwb-divider-angle-bottom-paper::after{ color: var(--idpwb-paper); background-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A//www.w3.org/2000/svg%27%20viewBox%3D%270%200%201440%20160%27%20preserveAspectRatio%3D%27none%27%3E%3Cpolygon%20fill%3D%27currentColor%27%20points%3D%270%2C0%201440%2C90%201440%2C160%200%2C160%27/%3E%3C/svg%3E"); }
.is-style-idpwb-divider-angle-bottom-mist::after{ color: var(--idpwb-mist); background-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A//www.w3.org/2000/svg%27%20viewBox%3D%270%200%201440%20160%27%20preserveAspectRatio%3D%27none%27%3E%3Cpolygon%20fill%3D%27currentColor%27%20points%3D%270%2C0%201440%2C90%201440%2C160%200%2C160%27/%3E%3C/svg%3E"); }

/* Curve */
.is-style-idpwb-divider-curve-bottom-paper::after{ color: var(--idpwb-paper); background-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A//www.w3.org/2000/svg%27%20viewBox%3D%270%200%201440%20160%27%20preserveAspectRatio%3D%27none%27%3E%3Cpath%20fill%3D%27currentColor%27%20d%3D%27M0%2C86%20C300%2C0%20600%2C160%20900%2C86%20C1180%2C18%201340%2C118%201440%2C64%20L1440%2C160%20L0%2C160%20Z%27/%3E%3C/svg%3E"); }
.is-style-idpwb-divider-curve-bottom-mist::after{ color: var(--idpwb-mist); background-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A//www.w3.org/2000/svg%27%20viewBox%3D%270%200%201440%20160%27%20preserveAspectRatio%3D%27none%27%3E%3Cpath%20fill%3D%27currentColor%27%20d%3D%27M0%2C86%20C300%2C0%20600%2C160%20900%2C86%20C1180%2C18%201340%2C118%201440%2C64%20L1440%2C160%20L0%2C160%20Z%27/%3E%3C/svg%3E"); }

/* ===============================
   Phase 2.7: Hero Pro Components
   =============================== */

.idpwb-hero-pro{ color:#fff; }
.idpwb-hero-pro .idpwb-eyebrow{ color: rgba(255,255,255,.72); margin:0 0 10px 0; font-size: 12px; }
.idpwb-hero-pro .idpwb-hero-title{ margin:0 0 12px 0; font-size: clamp(38px, 5.6vw, 70px); line-height: 1.02; letter-spacing: -0.02em; }
.idpwb-hero-pro .idpwb-hero-sub{ margin:0 0 18px 0; font-size: 18px; line-height: 1.55; max-width: 52ch; color: rgba(255,255,255,.78); }

/* Hero Pro – Light variant overrides */
.idpwb-hero-light.idpwb-hero-pro{ color: var(--idpwb-ink); }
.idpwb-hero-light.idpwb-hero-pro .idpwb-eyebrow{ color: rgba(11,18,32,.65); }
.idpwb-hero-light.idpwb-hero-pro .idpwb-hero-sub{ color: rgba(11,18,32,.70); }
.idpwb-hero-light.idpwb-hero-pro .wp-block-buttons .wp-block-button .wp-block-button__link{ box-shadow: 0 16px 44px rgba(15,23,42,.10); border-color: rgba(15,23,42,.12); }
.idpwb-hero-light.idpwb-hero-pro .wp-block-buttons .wp-block-button:nth-child(2) .wp-block-button__link{ background: rgba(255,255,255,.92); color: var(--idpwb-ink); backdrop-filter: none; }

.idpwb-grad-text{
  background: linear-gradient(90deg, rgba(79,70,229,1) 0%, rgba(6,182,212,1) 55%, rgba(255,255,255,.92) 100%);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
}

/* Gradient text tuning for light hero + SaaS hero */
.idpwb-hero-light .idpwb-grad-text{ background: linear-gradient(90deg, rgba(79,70,229,1) 0%, rgba(6,182,212,1) 55%, rgba(11,18,32,.92) 100%); -webkit-background-clip:text; background-clip:text; color:transparent; }
.idpwb-hero-saas .idpwb-grad-text{ background: linear-gradient(90deg, rgba(34,197,94,1) 0%, rgba(6,182,212,1) 60%, rgba(255,255,255,.92) 100%); -webkit-background-clip:text; background-clip:text; color:transparent; }

/* Hero buttons: first primary, second glass */
.idpwb-hero-pro .wp-block-buttons .wp-block-button .wp-block-button__link{
  padding: .85rem 1.1rem;
  border: 1px solid rgba(255,255,255,.18);
  box-shadow: 0 14px 40px rgba(0,0,0,.28);
}
.idpwb-hero-pro .wp-block-buttons .wp-block-button:nth-child(1) .wp-block-button__link{
  background: var(--idpwb-primary);
  color: #fff;
}
.idpwb-hero-pro .wp-block-buttons .wp-block-button:nth-child(2) .wp-block-button__link{
  background: rgba(255,255,255,.10);
  color:#fff;
  backdrop-filter: blur(12px);
}

.idpwb-hero-badges{ margin-top: 14px; gap: 10px; }
.idpwb-badge{
  display:inline-flex;
  margin:0;
  padding: 6px 10px;
  border-radius: 999px;
  background: rgba(255,255,255,.10);
  border: 1px solid rgba(255,255,255,.16);
  color: rgba(255,255,255,.78);
  font-size: 12px;
}

/* Floating cards */
.idpwb-floatcards{ display:grid; gap: 14px; }
@media (min-width: 900px){
  .idpwb-floatcards .idpwb-card:nth-child(1){ transform: translateX(10px); }
  .idpwb-floatcards .idpwb-card:nth-child(2){ transform: translateX(-18px); }
  .idpwb-floatcards .idpwb-card:nth-child(3){ transform: translateX(6px); }
}

/* Marquee */
.idpwb-marquee-wrap{ opacity: .95; }
.idpwb-marquee-label{ margin:0 0 10px 0; font-size: 12px; text-transform: uppercase; letter-spacing: .08em; color: rgba(255,255,255,.60); }
.idpwb-marquee{
  gap: 26px;
  overflow:hidden;
  padding: 10px 0;
  mask-image: linear-gradient(90deg, transparent, #000 12%, #000 88%, transparent);
  -webkit-mask-image: linear-gradient(90deg, transparent, #000 12%, #000 88%, transparent);
  animation: idpwb-marquee 18s linear infinite;
  will-change: transform;
}
.idpwb-marquee-item{ margin:0; font-weight: 700; letter-spacing: -0.01em; color: rgba(255,255,255,.78); opacity: .85; white-space: nowrap; }
@keyframes idpwb-marquee{
  0%{ transform: translateX(0); }
  100%{ transform: translateX(-22%); }
}

/* Stats cards */
.idpwb-stat-number{ margin:0 0 6px 0; font-size: 32px; font-weight: 800; letter-spacing: -0.02em; }
.idpwb-stat-label{ margin:0; font-size: 13px; color: rgba(255,255,255,.70); }
.idpwb-count{ font-variant-numeric: tabular-nums; }
