﻿/* Consumenten mockup — ALLEEN body.cm-body (nooit globaal laden) */
body.cm-body{
  --ink:#07122f; --purple:#4a42df; --purple2:#6158ee; --lav:#f3f1ff;
  --pink:#ff716c; --soft:#fbfbff; --line:#e7e8f1; --muted:#596079;
  --cm-wrap-max:1200px;
  margin:0;background:#fff;color:var(--ink);
  font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;
  font-size:15px;
  overflow-x:hidden;
  -webkit-text-size-adjust:100%;
  text-size-adjust:100%;
}
body.cm-body .pl-topbar,
body.cm-body .pl-topbar-inner,
body.cm-body .menu,
body.cm-body .ikash-site-footer{
  font-family:var(--ik-font);
}
body.cm-body .hamburger{
  color:#111827;
}
body.cm-body .hamburger i{
  font-size:22px;
  line-height:1;
}
@media (max-width:900px){
  body.cm-body .pl-topbar-inner{
    flex-wrap:nowrap;
    gap:10px;
    position:relative;
  }
  body.cm-body .hamburger{
    display:grid !important;
    place-items:center;
    width:44px;
    height:44px;
    min-width:44px;
    min-height:44px;
    margin-left:auto;
    padding:0;
    position:relative;
    z-index:52;
    border-radius:50%;
    background:rgba(1,188,189,.14);
    color:#23223b;
    font-size:18px;
  }
  body.cm-body .hamburger i{
    font-size:18px;
    line-height:1;
  }
  body.cm-body .menu{
    display:none;
    position:absolute;
    top:calc(100% + 12px);
    right:0;
    left:auto;
    order:initial;
    flex:0 0 auto;
    width:max-content;
    max-width:min(300px, calc(100vw - 24px));
    margin:0;
    flex-direction:column;
    align-items:stretch;
    padding:10px;
    border-radius:18px;
    border:0;
    background:#fff;
    box-shadow:
      0 16px 40px rgba(15,23,42,.14),
      0 4px 12px rgba(15,23,42,.06);
    z-index:51;
  }
  body.cm-body .menu::before{
    content:"";
    position:absolute;
    top:-6px;
    right:14px;
    width:12px;
    height:12px;
    background:#fff;
    transform:rotate(45deg);
    border-radius:2px;
    box-shadow:-2px -2px 6px rgba(15,23,42,.06);
  }
  body.cm-body .menu.is-open{
    display:flex !important;
    animation:pl-menu-elevated-in .18s ease-out;
  }
  body.cm-body .menu-links{
    flex-direction:column;
    align-items:stretch;
    gap:4px;
    width:auto;
  }
  body.cm-body .menu a{
    display:flex;
    align-items:center;
    gap:12px;
    width:auto;
    padding:12px 14px;
    color:#23223b;
    font-weight:600;
    font-size:.95rem;
    line-height:1.25;
    white-space:nowrap;
    border-radius:12px;
    background:transparent;
    border:0;
    box-shadow:none;
    transition:background .15s ease, color .15s ease;
  }
  body.cm-body .menu a i{
    width:1.15em;
    flex-shrink:0;
    text-align:center;
    font-size:1rem;
    color:inherit;
  }
  body.cm-body .menu a:hover,
  body.cm-body .menu a:focus-visible{
    background:rgba(1,188,189,.1);
    color:#01bcbd;
  }
  body.cm-body .menu a[aria-current="page"]{
    background:rgba(1,188,189,.14);
    color:#01bcbd;
    box-shadow:none;
  }
}
@media (min-width:901px){
  body.cm-body .hamburger{
    display:none !important;
  }
  body.cm-body .menu{
    display:flex !important;
  }
  body.cm-body .menu a i{
    display:none;
  }
}
body.cm-body.pl-body .ikash-site-footer{
  margin-top:0;
}
body.cm-body *,
body.cm-body *::before,
body.cm-body *::after{box-sizing:border-box}
body.cm-body .wrap{width:min(var(--cm-wrap-max),calc(100% - 64px));margin:auto}
body.cm-body main{
  padding-bottom:48px;
  padding-left:env(safe-area-inset-left, 0px);
  padding-right:env(safe-area-inset-right, 0px);
}

body.cm-body .hero{display:grid;grid-template-columns:42% 58%;min-height:600px;padding-top:48px;position:relative}
body.cm-body .hero-copy{padding-top:10px;z-index:2;max-width:480px}
body.cm-body h1{font-size:52px;line-height:1.05;letter-spacing:-2px;margin:0 0 22px;font-weight:820}
body.cm-body h1 span{color:#01bcbd}
body.cm-body .cm-intro-copy h2 span,
body.cm-body .win-banner h2 span{color:var(--purple)}
body.cm-body .intro{font-size:16.5px;line-height:1.55;margin:0 0 28px;color:#202744;max-width:420px}
body.cm-body .signup-card{width:430px;background:#fff;border:1px solid #e6e7ee;border-radius:12px;box-shadow:0 8px 22px rgba(25,33,75,.07);padding:18px;position:relative}
body.cm-body .signup-title{display:flex;align-items:center;gap:12px;margin-bottom:14px;font-size:15px;line-height:1.25}
body.cm-body .round-icon{width:42px;height:42px;border-radius:50%;background:#f0efff;display:grid;place-items:center;flex:0 0 auto;color:#5148e9}
body.cm-body .round-icon img,
body.cm-body .circle img,
body.cm-body .gift-circle img,
body.cm-body .cta-field img,
body.cm-body .field img{width:22px;height:22px}
body.cm-body .field{height:40px;border:1px solid #dfe1eb;border-radius:6px;display:flex;align-items:center;padding:0 12px;gap:10px;margin-top:10px;position:relative;background:#fff}
body.cm-body .field img{width:16px;height:16px;color:#7d849d;opacity:.7;flex:0 0 auto}
body.cm-body .field input,
body.cm-body .cta-field input{border:0;outline:0;width:100%;font:inherit;background:transparent;color:#4c5264}
body.cm-body .field input.is-invalid,
body.cm-body .cta-field input.is-invalid{color:#991b1b}
body.cm-body .field:has(input.is-invalid),
body.cm-body .cta-field:has(input.is-invalid){
  border-color:#dc2626;
  box-shadow:0 0 0 1px #dc2626;
}
body.cm-body .signup-card button[type="submit"],
body.cm-body .bottom-cta button[type="submit"]{width:100%;border:0;border-radius:6px;background:linear-gradient(180deg,#01bcbd 0%,#009d9d 100%);color:#fff;font-weight:650;height:40px;margin-top:10px;cursor:pointer;font-size:13px}
body.cm-body .signup-card button[type="submit"]{font-size:14px}
body.cm-body .signup-card button[type="submit"]:disabled,
body.cm-body .bottom-cta button[type="submit"]:disabled{
  opacity:1;
  cursor:pointer;
  background:linear-gradient(180deg,#01bcbd 0%,#009d9d 100%);
  color:#fff;
}
body.cm-body .ticks,
body.cm-body .big-ticks{list-style:none;padding:0;margin:14px 0 0}
body.cm-body .ticks li,
body.cm-body .big-ticks li{position:relative;padding-left:24px;margin:9px 0;color:#343b53;font-size:12.5px}
body.cm-body .signup-card .ticks li{font-size:13.5px}
body.cm-body .ticks li:before,
body.cm-body .big-ticks li:before{content:"✓";position:absolute;left:0;top:-1px;width:15px;height:15px;border-radius:50%;background:#5148e9;color:#fff;display:grid;place-items:center;font-size:10px;font-weight:800}
body.cm-body .signup-card .ticks li:before{font-size:11px}
body.cm-body .mini-win{width:410px;margin:0 0 18px;background:linear-gradient(90deg,#f4f3ff,#fff);border-radius:10px;padding:14px 16px;display:flex;align-items:center;gap:14px;position:relative}
body.cm-body .mini-win strong{font-size:16px;line-height:1.3}
body.cm-body .mini-win strong span{color:var(--purple)}
body.cm-body .mini-win p{font-size:13px;line-height:1.45;margin:5px 0 0;color:#333a52;padding-right:28px}
body.cm-body .confetti{color:#ff856f;position:absolute;right:14px;font-size:30px}
body.cm-body .hero-art{position:absolute;right:-40px;top:0;width:680px;height:580px;overflow:hidden;pointer-events:none}
body.cm-body .hero-art img{width:100%;height:100%;object-fit:cover;object-position:center top}

body.cm-body .categories{padding-top:12px;margin-top:28px}
body.cm-body .cm-categories-fold{border:0;margin:0;padding:0}
body.cm-body .cm-categories-fold > summary{
  list-style:none;
}
body.cm-body .cm-categories-fold > summary::-webkit-details-marker{display:none}
body.cm-body .cm-categories-chevron{display:none}
@media (min-width:901px){
  body.cm-body .cm-categories-summary{pointer-events:none;cursor:default}
}
body.cm-body .cm-section-heading{text-align:center;margin:0 0 28px}
body.cm-body .cm-section-heading h2{margin:0;font-size:clamp(26px,2.6vw,40px);line-height:1.08;letter-spacing:-.03em;color:#071637}
body.cm-body .cm-section-heading p{margin:12px 0 0;color:#536079;font-size:16px;line-height:1.45}
body.cm-body .category-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:16px}
body.cm-body .category-card{
  min-height:0;padding:8px 10px 10px;border:1px solid rgba(32,45,80,.09);border-radius:18px;text-align:center;
  display:flex;flex-direction:column;align-items:center;box-shadow:0 12px 30px rgba(22,34,68,.045);
  overflow:visible;position:relative;transition:transform .22s ease,box-shadow .22s ease;background:#fff;
  cursor:pointer;
}
body.cm-body .category-card:focus-visible{
  outline:2px solid #01bcbd;
  outline-offset:3px;
}
body.cm-body .category-card::after{
  content:"";position:absolute;width:140px;height:70px;border-radius:50%;right:-45px;bottom:36px;
  background:rgba(255,255,255,.5);transform:rotate(-12deg);pointer-events:none;
}
body.cm-body .category-card:hover{transform:translateY(-4px);box-shadow:0 18px 45px rgba(22,34,68,.08)}
body.cm-body .category-icon{
  width:112px;height:112px;object-fit:contain;margin:28px 0 -28px;
  transform:scale(1.5);transform-origin:center bottom;position:relative;z-index:0;
}
body.cm-body .category-card h3{font-size:17px;margin:0 0 4px;color:#071637;line-height:1.2;position:relative;z-index:2}
body.cm-body .category-card p{margin:0;color:#3e4a64;font-size:13px;line-height:1.35;min-height:0;position:relative;z-index:2}
body.cm-body .theme-purple{background:linear-gradient(180deg,#fff 0%,#f7f5ff 100%)}
body.cm-body .theme-peach{background:linear-gradient(180deg,#fff 0%,#fff7f3 100%)}
body.cm-body .theme-pink{background:linear-gradient(180deg,#fff 0%,#fff5f7 100%)}
body.cm-body .theme-blue{background:linear-gradient(180deg,#fff 0%,#f4faff 100%)}
body.cm-body .theme-gold{background:linear-gradient(180deg,#fff 0%,#fff9ef 100%)}
body.cm-body .theme-lilac{background:linear-gradient(180deg,#fff 0%,#f8f6ff 100%)}

body.cm-body .circle{width:62px;height:62px;border-radius:50%;margin:0 auto 14px;display:grid;place-items:center;color:#5148e9}
body.cm-body .circle img{width:32px;height:32px}
body.cm-body .lavender{background:#f0edff}
body.cm-body .pink{background:#fff0ef;color:#ff5f58}
body.cm-body .blue{background:#eef6ff}
body.cm-body .peach{background:#fff1df;color:#f28c28}
body.cm-body .circle.small{width:38px;height:38px;margin:0;flex:0 0 auto}
body.cm-body .circle.small img{width:22px;height:22px}

body.cm-body .cm-intro{margin-top:34px}
body.cm-body .cm-intro-panel{
  border-radius:28px;padding:36px 44px 16px;overflow:hidden;position:relative;
  background:
    radial-gradient(circle at 73% 30%,rgba(123,110,255,.10),transparent 27%),
    radial-gradient(circle at 16% 86%,rgba(95,118,255,.08),transparent 25%),
    linear-gradient(135deg,#f8f8ff 0%,#f3f5ff 52%,#f8f6ff 100%);
}
body.cm-body .cm-intro-panel::before{
  content:"";position:absolute;left:-8%;bottom:90px;width:58%;height:120px;
  background:rgba(255,255,255,.36);border-radius:50%;transform:rotate(6deg);
}
body.cm-body .cm-intro-content{display:grid;grid-template-columns:1.02fr .98fr;gap:20px;align-items:center;position:relative;z-index:1}
body.cm-body .cm-intro-copy{padding:4px 0 20px}
body.cm-body .cm-intro-copy h2{max-width:660px;margin:0;font-size:clamp(30px,3.4vw,48px);line-height:1.04;letter-spacing:-.04em;color:#071637}
body.cm-body .cm-intro-copy h2 span{color:#5147f5}
body.cm-body .cm-intro-copy p{max-width:650px;margin:16px 0 18px;color:#45516c;font-size:16px;line-height:1.55}
body.cm-body .cm-launch-badge{
  display:inline-flex;align-items:center;gap:10px;padding:12px 18px;border-radius:16px;
  background:#eae7ff;color:#4d42e9;font-weight:800;font-size:13px;
}
body.cm-body .cm-launch-rocket{
  width:24px;height:24px;display:grid;place-items:center;border-radius:50%;border:2px solid currentColor;font-size:14px;
}
body.cm-body .cm-visual-stage{
  min-height:0;
  position:relative;
  display:flex;
  align-items:flex-end;
  justify-content:center;
  padding:0 8px 0;
}
body.cm-body .cm-phone{
  position:relative;
  height:auto;
  width:min(100%,480px);
  max-height:480px;
  left:auto;
  bottom:auto;
  transform:none;
  object-fit:contain;
  filter:drop-shadow(0 18px 24px rgba(20,31,58,.18));
  z-index:3;
}
body.cm-body .cm-benefit-row{
  position:relative;z-index:2;margin:0 -20px;padding:14px 16px;display:grid;grid-template-columns:repeat(4,1fr);
  border-radius:18px;background:rgba(255,255,255,.78);box-shadow:0 10px 30px rgba(30,40,70,.04);
}
body.cm-body .cm-benefit{display:flex;align-items:center;gap:13px;min-width:0;padding:2px 18px}
body.cm-body .cm-benefit + .cm-benefit{border-left:1px solid rgba(40,50,80,.10)}
body.cm-body .cm-benefit h3{margin:0 0 4px;font-size:14px;color:#071637}
body.cm-body .cm-benefit p{margin:0;color:#52607a;font-size:12px;line-height:1.45}

body.cm-body .why{background:linear-gradient(135deg,#fbfcff,#f7f7ff)}
body.cm-body .big-ticks{width:78%;margin-top:28px}
body.cm-body .big-ticks li{font-size:13px;margin:18px 0;line-height:1.4}
body.cm-body .bell{position:absolute;right:28px;top:80px;width:96px;height:96px;color:#d6d3ff;opacity:.75}

body.cm-body .cm-social{margin-top:36px}
body.cm-body .cm-social-panel{
  position:relative;
  overflow:hidden;
  border-radius:22px;
  padding:28px 28px 24px;
  background:
    radial-gradient(ellipse 55% 70% at 92% 18%, rgba(81,72,233,.08), transparent 58%),
    linear-gradient(180deg,#f7f8ff 0%,#f3f5fc 100%);
  border:1px solid rgba(81,72,233,.08);
}
body.cm-body .cm-social-panel::after{
  content:"@";
  position:absolute;
  right:18px;
  top:8px;
  font-size:140px;
  font-weight:800;
  line-height:1;
  color:rgba(81,72,233,.07);
  pointer-events:none;
  user-select:none;
}
body.cm-body .cm-social-head{
  position:relative;
  z-index:1;
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:24px;
  margin-bottom:22px;
}
body.cm-body .cm-social-live{
  display:inline-flex;
  align-items:center;
  gap:8px;
  margin:0 0 10px;
  font-size:13px;
  font-weight:750;
  letter-spacing:.04em;
  text-transform:uppercase;
  color:#01bcbd;
}
body.cm-body .cm-social-live-dot{
  width:7px;
  height:7px;
  border-radius:50%;
  background:#01bcbd;
  box-shadow:0 0 0 4px rgba(1,188,189,.16);
}
body.cm-body .cm-social-copy h2{
  margin:0 0 8px;
  font-size:28px;
  line-height:1.15;
  letter-spacing:-.5px;
  color:#0a1022;
}
body.cm-body .cm-social-copy h2 span{color:#01bcbd}
body.cm-body .cm-social-lead{
  margin:0;
  max-width:420px;
  font-size:14px;
  line-height:1.45;
  color:#4a526a;
}
body.cm-body .cm-social-meta{
  display:flex;
  align-items:center;
  gap:10px;
  flex-shrink:0;
}
body.cm-body .cm-social-icon{
  width:52px;
  height:52px;
  border-radius:14px;
  display:grid;
  place-items:center;
  background:transparent;
  border:0;
  box-shadow:none;
  text-decoration:none;
  padding:0;
}
body.cm-body .cm-social-icon svg{display:block;width:44px;height:44px}
body.cm-body .cm-social-followers{
  display:inline-flex;
  align-items:center;
  gap:8px;
  height:40px;
  padding:0 14px;
  border-radius:999px;
  color:#fff;
  font-size:13px;
  font-weight:700;
  background:linear-gradient(90deg,#6b5cff 0%,#3ec7c3 100%);
  box-shadow:0 8px 18px rgba(81,72,233,.22);
}
body.cm-body .cm-social-carousel{
  position:relative;
  z-index:1;
}
body.cm-body .cm-social-posts{
  position:relative;
  z-index:1;
  display:flex;
  gap:18px;
  overflow-x:auto;
  overflow-y:hidden;
  scroll-snap-type:x mandatory;
  scroll-padding-inline:2px;
  -webkit-overflow-scrolling:touch;
  overscroll-behavior-x:contain;
  scrollbar-width:thin;
  scrollbar-color:#b8bee0 transparent;
  padding:4px 2px 14px;
  margin:0 -2px;
}
body.cm-body .cm-social-posts::-webkit-scrollbar{
  height:6px;
}
body.cm-body .cm-social-posts::-webkit-scrollbar-track{
  background:transparent;
}
body.cm-body .cm-social-posts::-webkit-scrollbar-thumb{
  background:#b8bee0;
  border-radius:999px;
}
body.cm-body .cm-social-carousel::before,
body.cm-body .cm-social-carousel::after{
  content:"";
  position:absolute;
  top:4px;
  bottom:28px;
  width:42px;
  z-index:2;
  pointer-events:none;
  opacity:0;
  transition:opacity .2s ease;
}
body.cm-body .cm-social-carousel::before{
  left:0;
  background:linear-gradient(90deg,rgba(247,248,255,.98),rgba(247,248,255,0));
}
body.cm-body .cm-social-carousel::after{
  right:0;
  background:linear-gradient(270deg,rgba(243,245,252,.98),rgba(243,245,252,0));
}
body.cm-body .cm-social-carousel.cm-social-carousel--scrollable::after,
body.cm-body .cm-social-carousel.cm-social-carousel--can-prev::before{
  opacity:1;
}
body.cm-body .cm-social-carousel.cm-social-carousel--at-end::after{
  opacity:0;
}
body.cm-body .cm-social-carousel-nav{
  position:absolute;
  top:calc(50% - 18px);
  z-index:3;
  width:40px;
  height:40px;
  margin-top:-20px;
  border:0;
  border-radius:50%;
  display:grid;
  place-items:center;
  color:#5148e9;
  background:#fff;
  box-shadow:0 8px 22px rgba(20,28,70,.16);
  cursor:pointer;
  opacity:0;
  pointer-events:none;
  transition:opacity .2s ease, transform .2s ease;
}
body.cm-body .cm-social-carousel-nav--prev{left:4px}
body.cm-body .cm-social-carousel-nav--next{right:4px}
body.cm-body .cm-social-carousel.cm-social-carousel--scrollable .cm-social-carousel-nav{
  opacity:1;
  pointer-events:auto;
}
body.cm-body .cm-social-carousel-nav:hover{transform:scale(1.05)}
body.cm-body .cm-social-carousel-nav:disabled{
  opacity:.35;
  cursor:default;
  transform:none;
}
body.cm-body .cm-social-carousel-hint{
  margin:2px 0 0;
  text-align:center;
  font-size:12px;
  font-weight:600;
  color:#7a8198;
}
body.cm-body .cm-social-empty{
  flex:1 0 100%;
  margin:0;
  padding:28px 16px;
  text-align:center;
  color:#5e647b;
  font-size:13px;
  border:1px dashed #d9dcf0;
  border-radius:14px;
  background:rgba(255,255,255,.7);
}
body.cm-body .cm-social-card{
  position:relative;
  flex:0 0 calc((100% - 36px) / 3 - 22px);
  min-width:220px;
  max-width:320px;
  border-radius:16px;
  background:#fff;
  box-shadow:0 10px 28px rgba(20,28,70,.08);
  overflow:hidden;
  scroll-snap-align:start;
}
body.cm-body .cm-social-card::before{
  content:"";
  position:absolute;
  left:0;right:0;top:0;
  height:3px;
  background:linear-gradient(90deg,#4f6bff,#37d0d4);
}
body.cm-body .cm-social-card-link{
  display:flex;
  flex-direction:column;
  height:100%;
  padding:14px;
  color:inherit;
  text-decoration:none;
  container-type:inline-size;
  container-name:smcard;
}
body.cm-body .cm-social-card-top{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  margin-bottom:10px;
}
body.cm-body .cm-social-card-brand{
  display:inline-flex;
  align-items:center;
  gap:8px;
  color:#5148e9;
  font-size:13px;
  font-weight:750;
}
body.cm-body .cm-social-card-avatar{
  width:22px;
  height:22px;
  border-radius:50%;
  background:linear-gradient(135deg,#6b5cff,#37d0d4);
  box-shadow:inset 0 0 0 2px rgba(255,255,255,.35);
}
body.cm-body .cm-social-card-when{
  color:#8a91a8;
  font-size:11px;
  font-weight:600;
  white-space:nowrap;
}
body.cm-body .cm-social-card-media{
  position:relative;
  border-radius:12px;
  overflow:hidden;
  background:#0b1024;
  width:100%;
  height:calc(100cqi * 10 / 16 - 35px);
}
body.cm-body .cm-social-card-media--reel{
  height:calc(100cqi * 10 / 16 - 35px);
  background:#eef1f6;
}
body.cm-body .cm-social-card-media img,
body.cm-body .cm-social-card-media-empty{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center center;
  transform-origin:center center;
}
body.cm-body .cm-social-card-media img.cm-social-media--placeholder{
  object-fit:cover;
  background:#eef1f6;
}
body.cm-body .cm-social-card-play{
  position:absolute;
  left:50%;
  top:50%;
  width:46px;
  height:46px;
  margin:-23px 0 0 -23px;
  border-radius:50%;
  display:grid;
  place-items:center;
  background:rgba(255,255,255,.94);
  color:#5148e9;
  box-shadow:0 8px 20px rgba(10,18,40,.25);
  pointer-events:none;
}
body.cm-body .cm-social-card-play svg{margin-left:2px}
body.cm-body .cm-social-card-caption{
  margin:12px 0 10px;
  font-size:13px;
  line-height:1.45;
  color:#1a2140;
  display:-webkit-box;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:3;
  line-clamp:3;
  overflow:hidden;
  min-height:calc(13px * 1.45 * 3);
}
body.cm-body .cm-social-card-platforms{
  margin-top:auto;
  font-size:11px;
  font-weight:600;
  color:#8a91a8;
}
body.cm-body .cm-social-follow{
  position:relative;
  z-index:1;
  display:flex;
  justify-content:center;
  flex-wrap:wrap;
  gap:10px;
  margin-top:18px;
}
body.cm-body .cm-social-follow-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  min-height:36px;
  padding:6px 14px;
  border-radius:10px;
  background:#fff;
  font-size:12px;
  font-weight:700;
  text-decoration:none;
  box-shadow:0 4px 12px rgba(15,23,42,.05);
}
body.cm-body .cm-social-follow-btn svg{
  width:20px;
  height:20px;
  flex:0 0 auto;
  display:block;
}
body.cm-body .cm-social-follow-btn--ig{
  color:#7a3cff;
  border:1.5px solid transparent;
  background:
    linear-gradient(#fff,#fff) padding-box,
    linear-gradient(90deg,#f58529,#dd2a7b,#515bd4) border-box;
}
body.cm-body .cm-social-follow-btn--fb{
  color:#1877f2;
  border:1.5px solid #1877f2;
}

body.cm-body .win-banner{min-height:150px;border-radius:12px;margin-top:28px;background:linear-gradient(90deg,#fff7f4,#fff9f6);display:grid;grid-template-columns:auto 1fr 80px;align-items:center;overflow:hidden;padding:4px 24px 0 0}
body.cm-body .win-banner>img{width:auto;height:130px;max-width:min(480px,42vw);max-height:130px;min-height:0;object-fit:contain;object-position:left bottom;display:block;align-self:end}
body.cm-body .win-banner>div{padding-left:40px}
body.cm-body .win-banner h2{font-size:21px;margin:0 0 6px}
body.cm-body .win-banner h2 span{color:#ff5b55}
body.cm-body .win-banner p{font-size:14px;line-height:1.45;margin:0;color:#333a52;max-width:560px}
body.cm-body .win-banner a{color:#ff5b55;font-weight:700;text-decoration:none}
body.cm-body .win-banner a:hover{text-decoration:underline}
body.cm-body .gift-circle{width:58px;height:58px;border-radius:50%;background:#fff0ed;color:#ff635c;display:grid;place-items:center;margin-left:auto}

body.cm-body .bottom-cta{margin-top:16px;min-height:92px;background:#f4f6fb;border:1px solid #e2e6f0;border-radius:10px;color:#07122f;display:grid;grid-template-columns:1.4fr .9fr 1.35fr .7fr;gap:14px;align-items:start;padding:28px 24px 22px;position:relative;box-shadow:0 8px 22px rgba(25,33,75,.05)}
body.cm-body .cta-copy{display:flex;align-items:center;gap:14px}
body.cm-body .inverse{background:#f0efff;border:1px solid transparent;color:#5148e9}
body.cm-body .cta-copy h3{font-size:14px;margin:0 0 4px;color:#07122f}
body.cm-body .cta-copy p{font-size:13px;line-height:1.4;margin:0;color:#343b53}
body.cm-body .cta-field{height:40px;border:1px solid #dfe1eb;border-radius:6px;background:#fff;color:#767d92;display:flex;align-items:center;padding:0 10px;gap:8px;position:relative;margin:0}
body.cm-body .cta-field img{width:15px;height:15px;opacity:.7;flex:0 0 auto}
body.cm-body .cta-email-stack{
  display:flex;
  flex-direction:column;
  gap:8px;
  min-width:0;
  align-self:start;
}
body.cm-body .cm-city-stack{
  display:flex;
  flex-direction:column;
  gap:6px;
  min-width:0;
  align-self:start;
}
body.cm-body .cm-field-hint{
  margin:6px 0 0;
  font-size:11px;
  line-height:1.4;
  color:#737a90;
}
body.cm-body .signup-card .cm-field-hint{font-size:12px}
body.cm-body .signup-card .field input{font-size:16px}
body.cm-body .signup-card .pl-terms{font-size:12px}
body.cm-body .signup-card .pl-form-error,
body.cm-body .signup-card .pl-form-success{font-size:13px}
body.cm-body .signup-card .pl-place-option{font-size:14px}
body.cm-body .signup-card .pl-place-empty{font-size:13px}
body.cm-body .bottom-cta .cm-field-hint{
  margin:0;
  color:#737a90;
}
body.cm-body .bottom-cta .cta-field,
body.cm-body .bottom-cta button[type="submit"]{
  align-self:start;
}
body.cm-body .bottom-cta button[type="submit"]{background:linear-gradient(180deg,#01bcbd 0%,#009d9d 100%);color:#fff;margin:0;height:40px;font-size:11px;padding:0 10px;line-height:1.2}

body.cm-body .visually-hidden{
  position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0;
}
body.cm-body .pl-place-wrap{position:relative;width:100%;min-width:0}
body.cm-body .pl-place-list{
  position:absolute;left:0;right:0;top:calc(100% + 4px);z-index:40;margin:0;padding:6px;list-style:none;
  max-height:220px;overflow:auto;border-radius:8px;border:1px solid rgba(35,34,59,.12);background:#fff;
  box-shadow:0 12px 32px rgba(15,23,42,.12);
}
body.cm-body .pl-place-list[hidden]{display:none!important}
body.cm-body .pl-place-option{
  display:block;width:100%;border:0;background:transparent;text-align:left;padding:8px 10px;border-radius:6px;
  cursor:pointer;font:inherit;font-size:13px;font-weight:500;color:var(--ink);
}
body.cm-body .pl-place-option:hover,
body.cm-body .pl-place-option.is-active{background:rgba(81,72,233,.08);color:#5148e9}
body.cm-body .pl-place-option--custom{font-weight:650}
body.cm-body .pl-place-empty{padding:8px 10px;font-size:12px;color:#737a90}
body.cm-body .pl-hp{position:absolute;left:-10000px;top:auto;width:1px;height:1px;overflow:hidden}
body.cm-body .pl-terms{
  display:flex;align-items:center;gap:8px;margin-top:10px;font-size:11px;line-height:1.35;color:#343b53;cursor:pointer;
}
body.cm-body .pl-terms input{margin:0;flex:0 0 auto;align-self:center}
body.cm-body .pl-terms-link{
  border:0;background:none;padding:0;color:#01bcbd;font:inherit;font-weight:700;text-decoration:underline;cursor:pointer;
}
body.cm-body .bottom-cta .pl-terms{
  grid-column:auto;
  color:#343b53;
  margin-top:0;
  font-size:11px;
  line-height:1.3;
}
body.cm-body .bottom-cta .pl-terms-link{color:#01bcbd}
body.cm-body .signup-card .pl-form-error,
body.cm-body .bottom-cta .pl-form-error{
  margin:8px 0 0;padding:8px 10px;border-radius:6px;background:rgba(220,38,38,.08);
  border:1px solid rgba(220,38,38,.18);color:#991b1b;font-size:12px;font-weight:600;line-height:1.35;
}
body.cm-body .bottom-cta .pl-form-error{grid-column:1 / -1;background:rgba(220,38,38,.08)}
body.cm-body .pl-form-error[hidden],
body.cm-body .pl-form-success[hidden]{display:none!important}
body.cm-body .pl-form-success{margin:8px 0 0;font-size:12px;font-weight:650;color:#166534}
body.cm-body .bottom-cta .pl-form-success{grid-column:1 / -1;color:#166534}

@media(max-width:1100px){
  body.cm-body .hero{grid-template-columns:46% 54%;min-height:560px}
  body.cm-body h1{font-size:44px}
  body.cm-body .hero-art{right:-24px;width:560px;height:500px}
  body.cm-body .category-grid{grid-template-columns:repeat(3,1fr);gap:12px}
  body.cm-body .category-card{min-height:0;padding:14px 12px}
  body.cm-body .cm-intro-content{grid-template-columns:1fr}
  body.cm-body .cm-visual-stage{min-height:0}
  body.cm-body .cm-phone{width:min(100%,400px);max-height:400px}
  body.cm-body .cm-benefit-row{grid-template-columns:repeat(2,1fr);row-gap:18px}
  body.cm-body .cm-benefit:nth-child(3){border-left:0}
  body.cm-body .win-banner{grid-template-columns:auto 1fr 70px}
  body.cm-body .win-banner>img{height:110px;max-height:110px;max-width:min(400px,38vw);min-height:0}
  body.cm-body .win-banner>div{padding-left:28px}
  body.cm-body .cm-social-card{
    flex-basis:calc((100% - 18px) / 2 - 16px);
    min-width:240px;
    max-width:300px;
  }
}

@media(max-width:900px){
  body.cm-body .wrap{width:min(100% - 32px, 720px)}
  body.cm-body main{
    display:flex;
    flex-direction:column;
    padding-bottom:32px;
  }
  body.cm-body .hero{order:1}
  body.cm-body .categories{
    order:2;
    margin-top:20px;
    padding-top:4px;
  }
  body.cm-body .cm-intro{order:3;margin-top:20px}
  body.cm-body .cm-social{order:5}
  body.cm-body .cm-winreg{order:6}
  body.cm-body .hero{
    display:block;
    position:relative;
    isolation:isolate;
    overflow:visible;
    border-radius:18px;
    padding:20px 16px 22px;
    min-height:0;
    gap:0;
    max-width:100%;
    background-color:#f7f7fc;
    background-image:
      linear-gradient(180deg, rgba(255,255,255,.76) 0%, rgba(255,255,255,.84) 45%, rgba(255,255,255,.90) 100%),
      linear-gradient(90deg, rgba(255,255,255,.48) 0%, rgba(255,255,255,.16) 100%),
      url("../images/consument-mockup/hero-banner.png?v=1");
    background-size:cover;
    background-position:center 20%;
    background-repeat:no-repeat;
  }
  body.cm-body .hero-copy{
    position:relative;
    z-index:1;
    max-width:none;
    padding-top:0;
    min-width:0;
  }
  body.cm-body h1{
    font-size:clamp(32px, 8.5vw, 42px);
    letter-spacing:-1.2px;
    margin-bottom:16px;
  }
  body.cm-body .intro{font-size:17px;margin-bottom:20px;max-width:none;line-height:1.55}
  body.cm-body .hero-art{
    display:none;
  }
  body.cm-body .field input,
  body.cm-body .cta-field input,
  body.cm-body .pl-place-input{
    font-size:16px;
    line-height:1.25;
  }
  body.cm-body .signup-card,
  body.cm-body .signup-card.pl-panel,
  body.cm-body .signup-card.pl-panel--consumer,
  body.cm-body .mini-win{
    width:100%;
    max-width:100%;
    min-width:0;
  }
  body.cm-body .mini-win{
    align-items:flex-start;
    padding:14px;
  }
  body.cm-body .mini-win p{padding-right:20px}
  body.cm-body .confetti{font-size:24px;right:10px;top:10px}
  body.cm-body .cm-section-heading{margin-bottom:18px;padding:0 8px}
  body.cm-body .cm-section-heading h2{font-size:24px}
  body.cm-body .cm-section-heading p{font-size:14px;margin-top:8px}
  body.cm-body .cm-categories-summary{
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:12px;
    text-align:left;
    cursor:pointer;
    user-select:none;
    margin-bottom:0;
    padding:12px 12px;
    border-radius:14px;
    background:linear-gradient(180deg,#f7f5ff 0%,#f3f5fc 100%);
    border:1px solid rgba(81,72,233,.10);
  }
  body.cm-body .cm-categories-summary-main{min-width:0;flex:1}
  body.cm-body .cm-categories-summary h2{font-size:18px;line-height:1.2}
  body.cm-body .cm-categories-summary p{margin-top:6px;font-size:13px}
  body.cm-body .cm-categories-chevron{
    display:grid;
    place-items:center;
    flex:0 0 auto;
    width:28px;
    height:28px;
    margin-top:2px;
    border-radius:50%;
    background:rgba(81,72,233,.10);
    color:#5148e9;
    transition:transform .2s ease;
  }
  body.cm-body .cm-categories-chevron::before{
    content:"";
    width:8px;
    height:8px;
    border-right:2px solid currentColor;
    border-bottom:2px solid currentColor;
    transform:rotate(45deg) translate(-1px,-1px);
  }
  body.cm-body .cm-categories-fold[open] > .cm-categories-summary{
    margin-bottom:14px;
  }
  body.cm-body .cm-categories-fold[open] .cm-categories-chevron{
    transform:rotate(180deg);
  }
  body.cm-body .cm-categories-fold:not([open]) > .cm-categories-summary{
    margin-bottom:0;
  }
  body.cm-body .category-grid{grid-template-columns:repeat(3,1fr);gap:16px 10px}
  body.cm-body .category-card,
  body.cm-body .category-card.theme-purple,
  body.cm-body .category-card.theme-peach,
  body.cm-body .category-card.theme-pink,
  body.cm-body .category-card.theme-blue,
  body.cm-body .category-card.theme-gold,
  body.cm-body .category-card.theme-lilac{
    min-height:0;
    padding:0;
    border:0;
    border-radius:0;
    background:transparent;
    box-shadow:none;
    overflow:visible;
  }
  body.cm-body .category-card::after{display:none}
  body.cm-body .category-card:hover{
    transform:none;
    box-shadow:none;
  }
  body.cm-body .category-icon{
    width:128px;
    height:128px;
    margin:2px 0 -58px;
  }
  body.cm-body .category-card h3{font-size:14px;margin:0 0 4px}
  body.cm-body .category-card p{
    display:block;
    font-size:12px;
    line-height:1.35;
    margin:0;
    padding:0 4px;
  }
  body.cm-body .cm-intro{margin-top:18px}
  body.cm-body .cm-intro-panel{
    padding:20px 14px 14px;
    border-radius:20px;
    overflow:visible;
  }
  body.cm-body .cm-intro-panel::before{display:none}
  body.cm-body .cm-intro-content{
    display:grid;
    grid-template-columns:minmax(0,.38fr) minmax(0,.62fr);
    gap:10px 8px;
    align-items:center;
  }
  body.cm-body .cm-visual-stage{
    order:1;
    min-height:0;
    margin:0 0 -8px;
    padding:0;
    justify-content:flex-start;
    align-items:center;
    overflow:visible;
  }
  body.cm-body .cm-phone{
    width:168%;
    max-width:none;
    max-height:none;
    height:auto;
    left:auto;
    margin-left:-36%;
    transform:none;
    filter:drop-shadow(0 14px 22px rgba(20,31,58,.18));
  }
  body.cm-body .cm-intro-copy{
    order:2;
    padding:0;
    text-align:left;
    min-width:0;
  }
  body.cm-body .cm-intro-copy h2{
    font-size:clamp(20px,5.2vw,26px);
    letter-spacing:-.03em;
    max-width:none;
    margin:0;
    line-height:1.12;
  }
  body.cm-body .cm-intro-copy p{
    font-size:13px;
    line-height:1.45;
    margin:8px 0 12px;
    max-width:none;
  }
  body.cm-body .cm-launch-badge{
    padding:8px 12px;
    border-radius:12px;
    font-size:11px;
    gap:6px;
    max-width:100%;
  }
  body.cm-body .cm-launch-rocket{width:20px;height:20px;font-size:11px;flex:0 0 auto}
  body.cm-body .cm-benefit-row{
    margin:12px 0 0;
    padding:12px 10px;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:10px 8px;
    row-gap:10px;
    border-radius:14px;
  }
  body.cm-body .cm-benefit{
    padding:6px 4px;
    align-items:flex-start;
    gap:10px;
  }
  body.cm-body .cm-benefit + .cm-benefit{border-left:0}
  body.cm-body .cm-benefit:nth-child(odd){padding-right:6px}
  body.cm-body .cm-benefit:nth-child(even){padding-left:6px}
  body.cm-body .cm-benefit h3{font-size:13px;margin:0 0 2px}
  body.cm-body .cm-benefit p{font-size:11px;line-height:1.35}
  body.cm-body .cm-benefit .circle.small{width:34px;height:34px}
  body.cm-body .cm-benefit .circle.small img{width:18px;height:18px}
  body.cm-body .big-ticks{width:100%;margin-top:18px;padding-right:0}
  body.cm-body .big-ticks li{margin:12px 0;font-size:13px}
  body.cm-body .bell{display:none}
  body.cm-body .cm-social{margin-top:24px}
  body.cm-body .cm-social-panel{padding:18px 14px 16px;border-radius:18px}
  body.cm-body .cm-social-head{
    flex-direction:column;
    align-items:flex-start;
    gap:14px;
    margin-bottom:16px;
    padding-right:96px;
  }
  body.cm-body .cm-social-copy h2{font-size:22px}
  body.cm-body .cm-social-lead{font-size:13px;max-width:none}
  body.cm-body .cm-social-meta{
    position:absolute;
    top:14px;
    right:14px;
    z-index:3;
    width:auto;
    flex-wrap:nowrap;
    gap:6px;
  }
  body.cm-body .cm-social-followers{display:none}
  body.cm-body .cm-social-icon{width:40px;height:40px}
  body.cm-body .cm-social-icon svg{width:34px;height:34px}
  body.cm-body .cm-social-card{
    flex:0 0 min(82vw, 300px);
    min-width:min(82vw, 300px);
    max-width:300px;
  }
  body.cm-body .cm-social-carousel-nav{
    width:36px;
    height:36px;
    margin-top:-18px;
  }
  body.cm-body .cm-social-carousel-nav--prev{left:0}
  body.cm-body .cm-social-carousel-nav--next{right:0}
  body.cm-body .cm-social-panel::after{font-size:96px;right:6px;top:2px}
  body.cm-body .cm-social-follow{margin-top:14px;gap:8px}
  body.cm-body .cm-social-follow-btn{
    flex:1 1 160px;
    min-height:40px;
    font-size:14px;
  }
  body.cm-body .win-banner{
    height:auto;
    min-height:0;
    grid-template-columns:1fr;
    gap:12px;
    padding:14px;
    margin-top:20px;
  }
  body.cm-body .win-banner>img{
    width:auto;
    max-width:min(98%, 440px);
    min-height:0;
    max-height:310px;
    height:auto;
    border-radius:8px;
    object-fit:contain;
    object-position:center center;
    justify-self:center;
    margin-left:auto;
    margin-right:auto;
  }
  body.cm-body .win-banner>div{
    padding-left:0;
    text-align:center;
  }
  body.cm-body .win-banner h2{font-size:18px}
  body.cm-body .win-banner p{font-size:13.5px;max-width:none}
  body.cm-body .gift-circle{display:none}
  body.cm-body .bottom-cta,
  body.cm-body .bottom-cta.pl-panel,
  body.cm-body .bottom-cta.pl-panel--consumer{
    display:grid;
    grid-template-columns:1fr;
    gap:12px;
    align-items:stretch;
    min-height:0;
    margin-top:14px;
    padding:24px 16px 18px;
    border-radius:12px;
  }
  body.cm-body .cta-copy{
    align-items:flex-start;
    gap:12px;
  }
  body.cm-body .cta-copy h3{font-size:15px}
  body.cm-body .cta-copy p{font-size:14px}
  body.cm-body .cta-email-stack,
  body.cm-body .cm-city-stack{
    align-self:stretch;
    width:100%;
  }
  body.cm-body .bottom-cta .cta-field,
  body.cm-body .bottom-cta button[type="submit"]{
    width:100%;
  }
  body.cm-body .bottom-cta button[type="submit"]{
    min-height:44px;
    font-size:13px;
  }
  body.cm-body .bottom-cta .pl-terms{
    font-size:11px;
  }
}

@media(max-width:480px){
  body.cm-body .wrap{width:calc(100% - 24px)}
  body.cm-body .hero{padding:14px 12px 18px;border-radius:14px;background-position:center 18%}
  body.cm-body h1{font-size:30px;letter-spacing:-1px;margin-bottom:12px}
  body.cm-body .intro{font-size:16.5px;line-height:1.55;margin-bottom:16px}
  body.cm-body .signup-card,
  body.cm-body .signup-card.pl-panel,
  body.cm-body .signup-card.pl-panel--consumer{
    padding:14px;
    border-radius:10px;
  }
  body.cm-body .signup-title{
    gap:10px;
    font-size:14px;
    margin-bottom:10px;
  }
  body.cm-body .signup-title strong br{display:none}
  body.cm-body .round-icon{width:38px;height:38px}
  body.cm-body .field{height:44px;margin-top:8px}
  body.cm-body .signup-card button[type="submit"]{
    height:44px;
    margin-top:12px;
    font-size:15px;
  }
  body.cm-body .ticks li{font-size:12px;margin:8px 0}
  body.cm-body .signup-card .ticks li{font-size:13px}
  body.cm-body .mini-win{margin:0 0 12px;padding:12px;gap:10px}
  body.cm-body .mini-win strong{font-size:16px}
  body.cm-body .mini-win p{font-size:13px;padding-right:12px}
  body.cm-body .categories{margin-top:16px}
  body.cm-body .cm-section-heading h2{font-size:22px}
  body.cm-body .category-grid{grid-template-columns:repeat(2,1fr);gap:14px 8px}
  body.cm-body .category-card{min-height:0;padding:0}
  body.cm-body .category-icon{width:112px;height:112px;margin:0 0 -50px}
  body.cm-body .category-card h3{font-size:13px}
  body.cm-body .category-card p{font-size:11.5px;padding:0 2px}
  body.cm-body .cm-intro-panel{padding:16px 12px 12px;border-radius:18px;overflow:visible}
  body.cm-body .cm-intro-content{
    grid-template-columns:minmax(0,.36fr) minmax(0,.64fr);
    gap:8px 6px;
  }
  body.cm-body .cm-intro-copy h2{font-size:clamp(18px,5vw,22px);max-width:none}
  body.cm-body .cm-intro-copy p{font-size:12.5px;max-width:none;margin:8px 0 10px}
  body.cm-body .cm-phone{width:178%;max-width:none;margin-left:-42%;transform:none}
  body.cm-body .cm-launch-badge{font-size:10.5px;padding:7px 10px}
  body.cm-body .cm-benefit-row{
    grid-template-columns:repeat(2,minmax(0,1fr));
    padding:10px 8px;
    gap:8px 4px;
  }
  body.cm-body .cm-benefit + .cm-benefit{border-top:0;padding-top:6px}
  body.cm-body .cm-benefit h3{font-size:12.5px}
  body.cm-body .cm-benefit p{font-size:10.5px}
  body.cm-body .cm-social-panel{padding:16px 12px 14px;border-radius:16px}
  body.cm-body .cm-social-copy h2{font-size:20px}
  body.cm-body .cm-social-head{padding-right:84px}
  body.cm-body .cm-social-meta{top:12px;right:10px;gap:4px}
  body.cm-body .cm-social-icon{width:36px;height:36px}
  body.cm-body .cm-social-icon svg{width:30px;height:30px}
  body.cm-body .cm-social-card{
    flex-basis:min(86vw, 280px);
    min-width:min(86vw, 280px);
  }
  body.cm-body .cm-social-carousel-nav{display:none}
  body.cm-body .cm-social-carousel-hint{font-size:11px}
  body.cm-body .cm-social-follow-btn{
    flex:1 1 100%;
    width:100%;
    font-size:14px;
  }
  body.cm-body .win-banner{padding:12px;margin-top:16px;border-radius:10px}
  body.cm-body .win-banner>img{
    max-height:290px;
    max-width:min(98%, 400px);
    justify-self:center;
    margin-left:auto;
    margin-right:auto;
  }
  body.cm-body .win-banner>div{text-align:center}
  body.cm-body .win-banner h2{font-size:16px}
  body.cm-body .win-banner p{font-size:13px}
  body.cm-body .bottom-cta,
  body.cm-body .bottom-cta.pl-panel,
  body.cm-body .bottom-cta.pl-panel--consumer{
    padding:14px;
    gap:10px;
  }
  body.cm-body .cta-copy .round-icon{display:none}
  body.cm-body .cta-copy h3{font-size:14px}
  body.cm-body .cta-field{height:44px}
}

@media(max-width:360px){
  body.cm-body .cm-intro-panel{
    padding:16px 12px 12px;
    overflow:hidden;
  }
  body.cm-body .cm-intro-content{
    grid-template-columns:1fr;
    gap:12px;
  }
  body.cm-body .cm-intro-copy{
    order:1;
    text-align:center;
  }
  body.cm-body .cm-intro-copy h2{
    font-size:clamp(22px,7vw,26px);
    margin-inline:auto;
    max-width:16ch;
  }
  body.cm-body .cm-intro-copy p{
    margin:10px auto 12px;
    font-size:13px;
  }
  body.cm-body .cm-launch-badge{
    font-size:11px;
    padding:8px 12px;
  }
  body.cm-body .cm-visual-stage{
    order:2;
    justify-content:center;
    margin:0;
  }
  body.cm-body .cm-phone{
    max-width:min(82vw,380px);
    margin-left:0;
    transform:none;
  }
}

/* Reset pre-launch .pl-panel chrome so mockup forms keep their look */
body.cm-body .signup-card.pl-panel,
body.cm-body .signup-card.pl-panel--consumer {
  display: block;
  gap: unset;
  width: 430px;
  background: #fff;
  border: 1px solid #e6e7ee;
  border-radius: 12px;
  box-shadow: 0 8px 22px rgba(25,33,75,.07);
  padding: 18px;
  overflow: visible;
  transition: none;
}
body.cm-body .bottom-cta.pl-panel,
body.cm-body .bottom-cta.pl-panel--consumer {
  display: grid;
  grid-template-columns: 1.4fr .9fr 1.35fr .7fr;
  gap: 14px;
  align-items: start;
  min-height: 92px;
  margin-top: 16px;
  padding: 28px 24px 22px;
  border-radius: 10px;
  border: 1px solid #e2e6f0;
  background: #f4f6fb;
  color: #07122f;
  box-shadow: 0 8px 22px rgba(25,33,75,.05);
  overflow: visible;
  transition: none;
}
body.cm-body .pl-panel::before,
body.cm-body .pl-panel--consumer::before {
  display: none !important;
  content: none !important;
}
body.cm-body .pl-panel:hover,
body.cm-body .pl-panel--consumer:hover {
  border-color: inherit;
  box-shadow: inherit;
}
body.cm-body .signup-card.pl-panel:hover {
  border-color: #e6e7ee;
  box-shadow: 0 8px 22px rgba(25,33,75,.07);
}
body.cm-body .bottom-cta.pl-panel:hover {
  border-color: #e2e6f0;
  box-shadow: 0 8px 22px rgba(25,33,75,.05);
}

@media(max-width:900px){
  body.cm-body .signup-card.pl-panel,
  body.cm-body .signup-card.pl-panel--consumer {
    width: 100%;
  }
  body.cm-body .bottom-cta.pl-panel,
  body.cm-body .bottom-cta.pl-panel--consumer {
    grid-template-columns: 1fr;
    align-items: stretch;
    min-height: 0;
    padding: 16px;
  }
}

@media(max-width:480px){
  body.cm-body .bottom-cta.pl-panel,
  body.cm-body .bottom-cta.pl-panel--consumer {
    padding: 14px;
  }
}

/* ===== Winactie + registratie box (design match) ===== */
body.cm-body .cm-winreg{
  margin-top:36px;
  margin-bottom:8px;
  width:min(calc(var(--cm-wrap-max) - 20px), calc(100% - 84px));
}
body.cm-body .cm-winreg-card{
  display:grid;
  grid-template-columns:minmax(0,0.85fr) minmax(0,1fr);
  align-items:stretch;
  background:#fff;
  border-radius:24px;
  overflow:hidden;
  box-shadow:0 18px 50px rgba(7,18,47,.10);
  border:1px solid rgba(15,23,42,.06);
  min-height:640px;
}
body.cm-body .cm-winreg-promo{
  background-color:#d9e7ee;
  background-image:url("../images/ondernemer-mockup/om-win-gifts.png?v=4");
  background-repeat:no-repeat;
  background-position:center calc(50% - 40px);
  background-size:cover;
  padding:36px 34px 32px;
  display:flex;
  flex-direction:column;
  min-width:0;
  min-height:640px;
}
body.cm-body .cm-winreg-promo h2{
  margin:0;
  font-size:clamp(32px,2.9vw,40px);
  line-height:1.12;
  letter-spacing:-.03em;
  font-weight:800;
  color:#0b1f4d;
  position:relative;
  z-index:1;
}
body.cm-body .cm-winreg-promo h2 span{color:#01bcbd}
body.cm-body .cm-winreg-promo > p{
  margin:14px 0 0;
  font-size:16px;
  line-height:1.5;
  color:#52607a;
  max-width:36ch;
  position:relative;
  z-index:1;
}
body.cm-body .cm-winreg-link{
  margin-top:12px;
  display:inline-flex;
  align-items:center;
  gap:6px;
  font-size:15px;
  font-weight:700;
  color:#01bcbd;
  text-decoration:underline;
  text-underline-offset:3px;
  position:relative;
  z-index:1;
  width:fit-content;
}
body.cm-body .cm-winreg-link:hover{
  color:#009d9d;
}
body.cm-body .cm-winreg-prizes{
  list-style:none;
  margin:auto auto 0;
  padding:0;
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:8px;
  position:relative;
  z-index:1;
  width:88%;
  max-width:88%;
  transform:translateY(2px);
  container-type:inline-size;
}
body.cm-body .cm-winreg-prizes li{
  background:#fff;
  border-radius:12px;
  padding:14px 8px 12px;
  text-align:center;
  box-shadow:0 6px 16px rgba(7,18,47,.06);
  border:1px solid rgba(15,23,42,.04);
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:flex-start;
  gap:10px;
  min-width:0;
  aspect-ratio:auto;
  width:100%;
  height:calc((100cqi - 16px) / 3 - 10px);
}
body.cm-body .cm-winreg-prize-icon{
  width:44px;
  height:44px;
  border-radius:50%;
  display:grid;
  place-items:center;
  color:#01bcbd;
  background:rgba(1,188,189,.08);
  font-size:20px;
  flex:0 0 auto;
}
body.cm-body .cm-winreg-prize-label{
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:flex-start;
  gap:2px;
  width:100%;
  min-height:2.7em;
  font-size:12.5px;
  line-height:1.25;
  font-weight:650;
  color:#0b1f4d;
  letter-spacing:-.01em;
}
body.cm-body .cm-winreg-prize-label > span{
  display:block;
}

body.cm-body .cm-winreg-form{
  background:#fff;
  padding:36px 34px 32px;
  display:flex;
  flex-direction:column;
  min-width:0;
  position:relative;
  min-height:640px;
  justify-content:flex-start;
}
body.cm-body .cm-winreg-form h3{
  margin:0;
  font-size:clamp(32px,2.9vw,40px);
  line-height:1.12;
  letter-spacing:-.03em;
  font-weight:800;
  color:#0b1f4d;
}
body.cm-body .cm-winreg-lead{
  margin:14px 0 0;
  font-size:15px;
  line-height:1.5;
  color:#6b7280;
}
body.cm-body .cm-winreg-field{
  height:52px;
  margin-top:16px;
  border:1px solid #e5e7eb;
  border-radius:6px;
  background:#fff;
  display:flex;
  align-items:center;
  padding:0 14px;
  gap:10px;
  min-width:0;
}
body.cm-body .cm-winreg-field:first-of-type{margin-top:28px}
body.cm-body .cm-winreg-field img{
  width:16px;
  height:16px;
  opacity:.55;
  flex:0 0 auto;
}
body.cm-body .cm-winreg-field input{
  border:0;
  outline:0;
  width:100%;
  font:inherit;
  font-size:16px;
  background:transparent;
  color:#334155;
}
body.cm-body .cm-winreg-field input::placeholder{color:#9aa3b2}
body.cm-body .cm-winreg-field:has(input.is-invalid){
  border-color:#dc2626;
  box-shadow:0 0 0 1px #dc2626;
}
body.cm-body .cm-winreg-field input.is-invalid{color:#991b1b}
body.cm-body .cm-winreg-hint{
  margin:12px 0 0;
  font-size:13.5px;
  line-height:1.4;
  color:#8b93a7;
}
body.cm-body .cm-winreg-terms{
  margin-top:22px;
  font-size:14px;
  line-height:1.4;
  color:#334155;
}
body.cm-body .cm-winreg-terms .pl-terms-link{
  color:#01bcbd;
  font-weight:700;
  text-decoration:underline;
}
body.cm-body .cm-winreg-submit{
  width:auto;
  min-width:260px;
  max-width:100%;
  align-self:flex-start;
  margin-top:16px;
  height:48px;
  padding:0 52px 0 22px;
  border:0;
  border-radius:10px;
  background:#01bcbd;
  color:#fff;
  font:inherit;
  font-size:16px;
  font-weight:700;
  cursor:pointer;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  position:relative;
  box-shadow:0 8px 18px rgba(1,188,189,.28);
  transition:background .15s ease, transform .15s ease, box-shadow .15s ease;
}
body.cm-body .cm-winreg-submit span{
  position:absolute;
  right:18px;
  font-size:18px;
  line-height:1;
}
body.cm-body .cm-winreg-submit:hover{
  background:#009d9d;
  box-shadow:0 10px 22px rgba(1,188,189,.34);
  transform:translateY(-1px);
}
body.cm-body .cm-winreg-submit:disabled{
  opacity:1;
  cursor:pointer;
  background:#01bcbd;
  transform:none;
}
body.cm-body .cm-winreg-form .pl-form-error{
  margin:10px 0 0;
  padding:10px 12px;
  border-radius:8px;
  background:rgba(220,38,38,.08);
  border:1px solid rgba(220,38,38,.18);
  color:#991b1b;
  font-size:14px;
  font-weight:650;
  line-height:1.35;
  flex:0 0 auto;
}
body.cm-body .cm-winreg-form .pl-form-success{
  margin:10px 0 0;
  font-size:14px;
  font-weight:650;
  color:#166534;
  flex:0 0 auto;
}
body.cm-body .cm-winreg-ticks{
  list-style:none;
  margin:auto 0 0;
  padding:16px 0 0;
  display:flex;
  flex-direction:row;
  flex-wrap:wrap;
  align-items:center;
  justify-content:flex-start;
  gap:8px 0;
  width:100%;
  max-width:100%;
  min-width:0;
  text-align:left;
  align-self:stretch;
}
body.cm-body .cm-winreg-ticks li{
  position:relative;
  display:inline-flex;
  align-items:center;
  justify-content:flex-start;
  gap:8px;
  padding:0;
  font-size:12.5px;
  line-height:1.3;
  color:#334155;
  font-weight:550;
  white-space:nowrap;
  min-width:0;
  text-align:left;
}
body.cm-body .cm-winreg-ticks li:not(:last-child){
  padding-right:12px;
  margin-right:12px;
  border-right:1px solid #e5e7eb;
}
body.cm-body .cm-winreg-ticks li:before{
  content:"\2713";
  width:16px;
  height:16px;
  border-radius:50%;
  background:#01bcbd;
  color:#fff;
  display:grid;
  place-items:center;
  font-size:9px;
  font-weight:800;
  flex:0 0 auto;
}

body.cm-body .cm-winreg-form.pl-panel,
body.cm-body .cm-winreg-form.pl-panel--consumer{
  display:flex;
  flex-direction:column;
  width:auto;
  max-width:none;
  margin:0;
  border:0;
  border-radius:0;
  box-shadow:none;
  background:#fff;
  padding:36px 34px 32px;
  gap:unset;
  min-height:640px;
  overflow:visible;
  transition:none;
  justify-content:flex-start;
}
body.cm-body .cm-winreg-form.pl-panel:hover{
  border-color:transparent;
  box-shadow:none;
}

/* Tablet: iets compacter naast elkaar */
@media(max-width:1100px){
  body.cm-body .cm-winreg-card{
    grid-template-columns:minmax(0,0.9fr) minmax(0,1fr);
    min-height:0;
  }
  body.cm-body .cm-winreg-promo,
  body.cm-body .cm-winreg-form,
  body.cm-body .cm-winreg-form.pl-panel,
  body.cm-body .cm-winreg-form.pl-panel--consumer{
    min-height:560px;
    padding:30px 26px 28px;
  }
  body.cm-body .cm-winreg-promo h2,
  body.cm-body .cm-winreg-form h3{
    font-size:clamp(26px,3.2vw,34px);
  }
  body.cm-body .cm-winreg-prizes{
    width:92%;
    max-width:92%;
  }
  body.cm-body .cm-winreg-ticks li{
    padding:0;
    font-size:12px;
  }
}

/* Stack: winactie boven, registratie onder */
@media(max-width:900px){
  body.cm-body .cm-winreg{
    margin-top:28px;
    width:min(100% - 32px, 720px);
  }
  body.cm-body .cm-winreg-card{
    grid-template-columns:1fr;
    min-height:0;
    border-radius:20px;
  }
  body.cm-body .cm-winreg-promo{
    padding:28px 22px 24px;
    min-height:0;
    background-position:center calc(45% - 24px);
    background-size:cover;
  }
  body.cm-body .cm-winreg-promo h2{
    font-size:clamp(26px,6vw,32px);
  }
  body.cm-body .cm-winreg-promo > p{
    font-size:15px;
    max-width:42ch;
  }
  body.cm-body .cm-winreg-prizes{
    width:100%;
    max-width:100%;
    margin:28px auto 0;
    transform:none;
    gap:10px;
  }
  body.cm-body .cm-winreg-prizes li{
    height:auto;
    aspect-ratio:1 / 1;
    min-height:110px;
    padding:14px 10px 12px;
  }
  body.cm-body .cm-winreg-form,
  body.cm-body .cm-winreg-form.pl-panel,
  body.cm-body .cm-winreg-form.pl-panel--consumer{
    padding:28px 22px 22px;
    min-height:0;
    justify-content:flex-start;
  }
  body.cm-body .cm-winreg-form h3{
    font-size:clamp(26px,6vw,32px);
  }
  body.cm-body .cm-winreg-field:first-of-type{margin-top:20px}
  body.cm-body .cm-winreg-field{margin-top:12px}
  body.cm-body .cm-winreg-terms{margin-top:18px}
  body.cm-body .cm-winreg-submit{margin-top:14px}
  body.cm-body .cm-winreg-ticks{
    margin-top:18px;
    padding-top:0;
    flex-direction:row;
    flex-wrap:wrap;
    align-items:center;
    justify-content:flex-start;
    gap:8px 0;
  }
  body.cm-body .cm-winreg-ticks li{
    padding:0;
    font-size:12.5px;
  }
}

/* Telefoon: compacte prijskaarten, achtergrondbeeld zichtbaar houden */
@media(max-width:640px){
  body.cm-body .cm-winreg{margin-top:24px;width:calc(100% - 24px)}
  body.cm-body .cm-winreg-card{border-radius:18px}
  body.cm-body .cm-winreg-promo{
    padding:22px 16px 12px;
    min-height:400px;
    background-position:center 62%;
    background-size:cover;
  }
  body.cm-body .cm-winreg-promo h2{font-size:clamp(24px,7vw,28px)}
  body.cm-body .cm-winreg-promo > p{
    font-size:14px;
    margin-top:10px;
    max-width:26ch;
  }
  body.cm-body .cm-winreg-prizes{
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:5px;
    width:100%;
    max-width:100%;
    margin:auto 0 0;
    padding-top:110px;
    transform:none;
  }
  body.cm-body .cm-winreg-prizes li{
    flex-direction:column;
    justify-content:flex-start;
    align-items:center;
    text-align:center;
    padding:10px 4px 8px;
    gap:8px;
    aspect-ratio:auto;
    width:auto;
    height:auto;
    min-height:0;
    border-radius:10px;
    background:rgba(255,255,255,.72);
    backdrop-filter:blur(8px);
    -webkit-backdrop-filter:blur(8px);
    box-shadow:0 3px 10px rgba(7,18,47,.07);
    border:1px solid rgba(255,255,255,.5);
  }
  body.cm-body .cm-winreg-prize-icon{
    width:32px;
    height:32px;
    font-size:14px;
    flex:0 0 auto;
    background:rgba(1,188,189,.1);
  }
  body.cm-body .cm-winreg-prize-label{
    font-size:10.5px;
    line-height:1.2;
    min-height:2.5em;
  }
  body.cm-body .cm-winreg-form,
  body.cm-body .cm-winreg-form.pl-panel,
  body.cm-body .cm-winreg-form.pl-panel--consumer{
    padding:24px 18px 20px;
  }
  body.cm-body .cm-winreg-form h3{font-size:clamp(24px,7vw,28px)}
  body.cm-body .cm-winreg-lead{font-size:14.5px}
  body.cm-body .cm-winreg-field{
    height:48px;
  }
  body.cm-body .cm-winreg-submit{
    width:100%;
    min-width:0;
    height:46px;
    font-size:15px;
    padding:0 46px 0 18px;
  }
  body.cm-body .cm-winreg-submit span{right:14px}
  body.cm-body .cm-winreg-ticks{
    flex-direction:row;
    flex-wrap:wrap;
    align-items:center;
    justify-content:flex-start;
    overflow:visible;
    gap:8px 0;
  }
  body.cm-body .cm-winreg-ticks li{
    padding:0;
    font-size:12px;
    gap:7px;
    white-space:nowrap;
  }
  body.cm-body .cm-winreg-ticks li:not(:last-child){
    padding-right:10px;
    margin-right:10px;
    border-right:1px solid #e5e7eb;
  }
  body.cm-body .cm-winreg-ticks li:before{
    width:15px;
    height:15px;
    font-size:9px;
  }
}

@media(max-width:400px){
  body.cm-body .cm-winreg-promo,
  body.cm-body .cm-winreg-form,
  body.cm-body .cm-winreg-form.pl-panel,
  body.cm-body .cm-winreg-form.pl-panel--consumer{
    padding:20px 14px 18px;
  }
  body.cm-body .cm-winreg-submit span{display:none}
}

body.cm-body .cm-cat-modal.pl-deals-popup{
  z-index: 10080;
  padding: max(24px, env(safe-area-inset-top, 0px)) 20px max(24px, env(safe-area-inset-bottom, 0px));
}
body.cm-body .cm-cat-modal.pl-deals-popup .cm-cat-modal-dialog{
  width: min(680px, 100%);
  max-height: min(82vh, calc(100dvh - 48px - env(safe-area-inset-top, 0px) - env(safe-area-inset-bottom, 0px)));
  margin: 0;
  padding: 18px 22px 16px;
  border-radius: 28px;
  overflow: hidden;
  text-align: left;
}
body.cm-body .cm-cat-modal.pl-deals-popup .cm-cat-modal-brand{
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin: 0;
  padding: 0 0 12px;
  border-bottom: 1px solid rgba(15, 118, 110, 0.12);
}
body.cm-body .cm-cat-modal.pl-deals-popup .cm-cat-modal-brand img{
  height: 24px;
  max-width: 200px;
}
body.cm-body .cm-cat-modal.pl-deals-popup .cm-cat-modal-x{
  width: 36px;
  height: 36px;
  border: 0;
  border-radius: 10px;
  background: transparent;
  color: #64748b;
  font-size: 28px;
  line-height: 1;
}
body.cm-body .cm-cat-modal.pl-deals-popup .cm-cat-modal-x:hover{
  background: #e6f7f6;
  color: #0f766e;
}
body.cm-body .cm-cat-modal.pl-deals-popup .pl-deals-popup-body{
  overflow: auto;
}
body.cm-body .cm-cat-panel-icon{
  display: block;
  width: 64px;
  height: 64px;
  object-fit: contain;
  margin: 0 0 12px;
}
body.cm-body .cm-cat-panel h2{
  margin: 0 0 8px;
  font-size: clamp(1.45rem, 2.4vw, 1.85rem);
  font-weight: 800;
  line-height: 1.15;
  letter-spacing: -.02em;
  color: #07122f;
  text-align: left;
}
body.cm-body .cm-cat-panel p{
  margin: 0 0 14px;
  color: #3b4259;
  font-size: .98rem;
  line-height: 1.65;
}
body.cm-body .cm-cat-modal-actions{
  display: flex;
  flex-wrap: wrap;
  justify-content: stretch;
  gap: 10px;
  margin-top: 8px;
  padding-top: 12px;
  border-top: 1px solid rgba(15, 118, 110, 0.12);
}
body.cm-body .cm-cat-panel{display:block}
body.cm-body .cm-cat-panel[hidden]{display:none!important}
body.cm-body .cm-cat-panel ul{
  margin:0;padding:0;list-style:none;display:grid;gap:8px;
}
body.cm-body .cm-cat-panel li{
  position:relative;padding:8px 10px 8px 34px;border-radius:12px;background:#f6f7fb;color:#243049;font-size:14px;line-height:1.4;
}
body.cm-body .cm-cat-panel li:before{
  content:"";position:absolute;left:12px;top:50%;width:12px;height:12px;margin-top:-6px;border-radius:50%;
  background:#0f766e;box-shadow:inset 0 0 0 3px #fff;
}
body.cm-body .cm-cat-modal-actions .pl-confirm-primary{
  text-decoration:none;
}
@media(max-width:480px){
  body.cm-body .cm-cat-modal.pl-deals-popup{padding:12px}
  body.cm-body .cm-cat-modal.pl-deals-popup .cm-cat-modal-dialog{padding:18px 16px 16px}
  body.cm-body .cm-cat-panel-icon{width:56px;height:56px}
  body.cm-body .cm-cat-panel h2{font-size:1.35rem}
  body.cm-body .cm-cat-panel p{font-size:14px}
}
