/* AFGELEID BESTAND - NIET MET DE HAND WIJZIGEN.
   De opmaak van het betaalvenster, afgeleid uit madvance-liquid-glass.html door
   dev-test/koopkopie-test.cjs. Wijzig het venster in het WERKBESTAND en draai
   daarna `node dev-test/koopkopie-test.cjs --zet`. */
/* De tokens lokaal, zoals bij de cookiemelding: het venster is op allebei de
   sites hetzelfde donkere blok en moet niet de kleuren en maten van de pagina
   eronder erven. */
#koop-overlay, #mad-confirm {
  --coral: #FF536C; --salmon: #F78D7C; --coral-rgb: 255, 83, 108; --coral-tx: var(--coral);
  --crimson: #F2135E; --navy: #1A2530; --dark3: #22303D; --teal: #9FD6DB;
  --teal-tx: var(--teal); --ink: 255, 255, 255; --shade: 0, 0, 0;
  --ka: 1; --kb: 1; --ks: 1; --kt: 1; --r-md: 18px; --r-lg: 24px;
  --sans: 'Barlow', system-ui, sans-serif;
  --serif: 'Barlow Condensed', 'Barlow', system-ui, sans-serif;
  font-size: 16px; line-height: normal;
}
.btn-primary{
      display: inline-block;
      text-decoration: none;  
      font-family: var(--sans);
      font-size: 13px;
      font-weight: 600;
      letter-spacing: .06em;
      text-transform: uppercase;
      color: var(--white);
      background: var(--coral);
      border: none;
      border-radius: 100px;
      padding: 14px 30px;
      cursor: pointer;
      transition: transform 200ms cubic-bezier(.23, 1, .32, 1), background 200ms ease, box-shadow 200ms ease;
    }
.btn-primary:hover{
      background: var(--crimson);
      transform: translateY(-2px);
      box-shadow: 0 6px 20px rgba(255, 83, 108, 0.28), inset 0 1px 0 rgba(var(--ink), calc(0.18 * var(--ka)));
    }
.btn-primary:active{
      transform: scale(0.97);
      transition-duration: 120ms;
    }
.btn-primary:focus-visible, .btn-ghost:focus-visible, .pc-btn:focus-visible, .faq-btn:focus-visible, .pc:focus-visible{
      outline: 2px solid var(--cyan);
      outline-offset: 3px;
    }
@media(max-width:500px){
.hero-btns .btn-primary{
        width: 100%;
        text-align: center;
      }
}
.prod-section-label{
      font-size: 11px;
      font-weight: 600;
      letter-spacing: .14em;
      text-transform: uppercase;
      color: var(--coral-tx);
      opacity: .85;
      display: block;
      margin-bottom: 14px;
    }
.prod-hero-cta .btn-primary{ width: 100%; max-width: 320px; }
@media(max-width:900px){
.btn-primary{
        min-height: 48px;
        padding: 14px 26px;
        font-size: 14px;
      }
}
.koop-overlay{
      position: fixed;
      inset: 0;
      z-index: 100000;
      background: rgba(10, 16, 22, 0.72);
      backdrop-filter: blur(3px);
      display: flex;
      align-items: center;
      justify-content: center;
      padding: 24px 16px;
      overflow-y: auto;
    }
.koop-overlay[hidden]{ display: none; }
.koop-venster{
      --ink: 26, 37, 48;
      --ka: 1.6; --kb: 1.4; --kt: 1;
      --coral-tx: #BB1137;
      --teal-tx: #0C6872;
      position: relative;
      width: 100%;
      max-width: 520px;
      background: rgb(250, 250, 249);
      border: 1px solid rgba(var(--ink), calc(0.12 * var(--ka)));
      border-radius: var(--r-lg);
      padding: 34px 34px 28px;
      box-shadow: 0 30px 80px rgba(0, 0, 0, 0.5);
      margin: auto;
    }
.koop-x{
      position: absolute;
      top: 12px;
      right: 14px;
      width: 36px;
      height: 36px;
      border: none;
      background: none;
      color: rgba(var(--ink), calc(0.55 * var(--kt)));
      font-size: 26px;
      line-height: 1;
      cursor: pointer;
      border-radius: 50%;
    }
.koop-x:hover{ color: rgb(var(--ink)); background: rgba(var(--ink), calc(0.07 * var(--kb))); }
.koop-kop{ text-align: center; margin-bottom: 18px; }
.koop-titel{
      font-family: var(--serif);
      font-size: 30px;
      font-weight: 600;
      color: rgb(var(--ink));
      line-height: 1.12;
      margin: 8px 0 0;
    }
.koop-titel em{ font-style: italic; color: var(--coral-tx); }
.koop-prijs{
      display: flex;
      align-items: baseline;
      justify-content: center;
      gap: 16px;
      flex-wrap: wrap;
      padding: 16px 0 18px;
      border-bottom: 1px solid rgba(var(--ink), calc(0.09 * var(--ka)));
      margin-bottom: 18px;
    }
.koop-prijs-groot{
      font-family: var(--serif);
      font-size: 52px;
      font-weight: 600;
      color: rgb(var(--ink));
      line-height: 1;
    }
.koop-prijs-groot sup{ font-size: 24px; top: -0.62em; margin-right: 2px; }
.koop-per{ font-size: 20px; font-weight: 500; margin-left: 4px; color: rgba(var(--ink), calc(0.6 * var(--kt))); }
.koop-prijs{ flex-direction: column; align-items: center; gap: 6px; }
.koop-prijs-rechts{ text-align: left; }
.koop-prijs-incl{
      font-family: var(--sans);
      font-size: 14px;
      color: rgba(var(--ink), calc(0.86 * var(--kt)));
      line-height: 1.4;
    }
.koop-prijs-sub{
      font-family: var(--sans);
      font-size: 12px;
      color: rgba(var(--ink), calc(0.55 * var(--kt)));
      margin-top: 3px;
    }
.koop-krijg{
      list-style: none;
      padding: 0;
      margin: 4px 0 18px;
      display: flex;
      flex-direction: column;
      gap: 10px;
    }
.koop-krijg li{
      position: relative;
      padding-left: 30px;
      font-family: var(--sans);
      font-weight: 500;
      font-size: 15px;
      line-height: 1.45;
      color: rgb(var(--ink));
    }
.koop-krijg li::before{
      content: '';
      position: absolute;
      left: 2px;
      top: 4px;
      width: 16px;
      height: 16px;
      border-radius: 50%;
      background: rgba(12, 104, 114, 0.12);
    }
.koop-krijg li::after{
      content: '';
      position: absolute;
      left: 7px;
      top: 7px;
      width: 5px;
      height: 8px;
      border: solid var(--teal-tx);
      border-width: 0 2px 2px 0;
      transform: rotate(45deg);
    }
.koop-krijg li span{ color: rgba(var(--ink), calc(0.62 * var(--kt))); }
.koop-daarna{
      font-family: var(--sans);
      font-size: 13.5px;
      line-height: 1.5;
      color: rgba(var(--ink), calc(0.7 * var(--kt)));
      text-align: center;
      margin: 0 0 16px;
    }
.koop-stappen{
      list-style: none;
      counter-reset: koop;
      padding: 0;
      margin: 0 0 20px;
      display: flex;
      flex-direction: column;
      gap: 11px;
    }
.koop-stappen li{
      counter-increment: koop;
      position: relative;
      padding-left: 34px;
      font-family: var(--sans);
      font-size: 14px;
      line-height: 1.45;
      color: rgba(var(--ink), calc(0.86 * var(--kt)));
    }
.koop-stappen li::before{
      content: counter(koop);
      position: absolute;
      left: 0;
      top: 0;
      width: 23px;
      height: 23px;
      border-radius: 50%;
      background: rgba(var(--coral-rgb), 0.14);
      color: var(--coral-tx);
      font-size: 12px;
      font-weight: 600;
      display: flex;
      align-items: center;
      justify-content: center;
    }
.koop-stappen li span{ color: rgba(var(--ink), calc(0.6 * var(--kt))); }
.koop-ts{ display: flex; justify-content: center; }
.koop-ts:not(:empty){ margin-bottom: 14px; }
.koop-akkoord{
      font-family: var(--sans);
      font-size: 12px;
      line-height: 1.5;
      color: rgba(var(--ink), calc(0.6 * var(--kt)));
      text-align: center;
      margin: 12px 0 0;
    }
.koop-akkoord a{ color: inherit; text-decoration: underline; }
.koop-akkoord input{
      flex-shrink: 0;
      width: 19px;
      height: 19px;
      margin-top: 1px;
      accent-color: var(--coral);
      cursor: pointer;
    }
.koop-garantie{
      font-family: var(--sans);
      font-size: 13px;
      line-height: 1.5;
      color: rgba(var(--ink), calc(0.72 * var(--kt)));
      text-align: center;
      margin: 0 0 12px;
    }
.koop-knop{ width: 100%; padding-top: 17px; padding-bottom: 17px; font-size: 14px; }
.koop-knop:disabled{ opacity: .45; cursor: not-allowed; }
.koop-fout{
      font-family: var(--sans);
      font-size: 13px;
      line-height: 1.5;
      color: var(--coral-tx);
      margin-top: 12px;
      text-align: center;
    }
.koop-voet{
      margin-top: 18px;
      text-align: center;
      font-family: var(--sans);
      font-size: 13px;
      color: rgba(var(--ink), calc(0.5 * var(--kt)));
    }
.koop-voet a{ color: rgba(var(--ink), calc(0.72 * var(--kt))); text-decoration: underline; }
.koop-voet a:hover{ color: var(--coral-tx); }
.koop-voet-sep{ margin: 0 8px; }
@media(max-width: 560px){
.koop-venster{ padding: 30px 22px 24px; }
.koop-titel{ font-size: 25px; }
.koop-prijs-groot{ font-size: 44px; }
.koop-voet-sep{ display: none; }
.koop-voet a{ display: block; margin-top: 7px; }
}
#lp-cta .btn-primary{
      pointer-events: auto;
      width: 100%;
      min-height: 48px;
      display: flex;
      align-items: center;
      justify-content: center;
    }
.mad-confirm-overlay{
      position: fixed; inset: 0; z-index: 100000; display: none; align-items: center; justify-content: center;
      padding: 20px; background: rgba(5,9,20,0.66); backdrop-filter: blur(4px); -webkit-backdrop-filter: blur(4px);
    }
.mad-confirm-overlay.open{ display: flex; }
.mad-confirm-box{
      width: 420px; max-width: 100%; background: rgba(var(--pnl, 20,27,44), 0.98); border: 1px solid rgba(var(--ink), calc(0.1 * var(--ka)));
      border-radius: 18px; padding: 24px 24px 20px; box-shadow: 0 30px 80px rgba(var(--shade), calc(0.6 * var(--ks)));
      animation: mad-confirm-in .16s ease-out;
    }
.mad-confirm-extra{ margin: 14px 0 16px; }
.mad-confirm-title{ font-family: var(--serif); font-size: 19px; font-weight: 600; color: rgb(var(--ink)); margin-bottom: 8px; }
.mad-confirm-msg{ font-size: 14px; line-height: 1.6; color: rgba(var(--ink), calc(0.8 * var(--kt))); white-space: pre-wrap; }
.mad-confirm-actions{ display: flex; justify-content: flex-end; gap: 10px; margin-top: 22px; }
.mad-confirm-btn{
      cursor: pointer; font-family: var(--sans); font-size: 13.5px; font-weight: 600; padding: 10px 18px;
      border-radius: 10px; border: 1px solid rgba(var(--ink), calc(0.14 * var(--ka))); background: rgba(var(--ink), calc(0.05 * var(--kb)));
      color: rgba(var(--ink), calc(0.85 * var(--kt))); transition: all .13s;
    }
.mad-confirm-cancel:hover{ background: rgba(var(--ink), calc(0.1 * var(--kb))); }
.mad-confirm-ok{ background: rgba(159,214,219,0.16); border-color: rgba(159,214,219,0.4); color: var(--teal-tx); }
.mad-confirm-ok:hover{ background: rgba(159,214,219,0.24); }
.mad-confirm-ok.danger{ background: rgba(255,83,108,0.16); border-color: rgba(255,83,108,0.42); color: var(--coral-tx); }
.mad-confirm-ok.danger:hover{ background: rgba(255,83,108,0.26); }
@media(max-width: 640px){
.scan-cta-row .btn-primary, .scan-cta-row .btn-ghost{ width: 100%; }
}
@media(max-width: 768px){
.hero-btns .btn-primary{
        width: auto;
        text-align: center;
        min-height: 40px;
        padding: 13px 34px;
        font-size: 13px;
        letter-spacing: .04em;
      }
.btn-primary, .ppb-btn, .prc-btn, .pc-btn, .login-btn{
        padding-left: 18px;
        padding-right: 18px;
        letter-spacing: .03em;
      }
.btn-primary, .btn-ghost, .ppb-btn, .prc-btn, .pc-btn, .login-btn, .prod-fork-link, .faq-btn{
        text-wrap: balance;
      }
}
@media(max-width: 360px){
.btn-primary, .ppb-btn, .prc-btn, .pc-btn, .login-btn{
        font-size: 12px;
        padding-left: 14px;
        padding-right: 14px;
      }
}
