/*
Theme Name: KartPress
Theme URI: https://example.com/
Author: Custom build
Description: WooCommerce store theme for subscriptions and digital products: online payment, optional WhatsApp ordering, instant delivery after payment, bundle builder, violet glass design, Elementor ready. Brand name, WhatsApp number, colours and home page text are editable in Appearance > Customize.
Version: 1.1.0
Requires at least: 6.0
Requires PHP: 7.4
License: GPL-2.0-or-later
Text Domain: kartpress
*/

:root{
  --kp-primary:#6a58e6;
  --kp-bg:#f6f5ff;
  --kp-card:#ffffff;
  --kp-ink:#1e1b3a;
  --kp-muted:#6a6790;
  --kp-line:#e4e1f7;
  --kp-soft:#e9e6ff;
  --kp-save:#4b3fc0;
  --kp-softline:#cfc9fb;--kp-tint:#f4f2ff;--kp-tintline:#e2defa;--kp-gold:#c8a04a;--kp-b1:#7c6cf6;--kp-b2:#b6aefb;--kp-a1:#3f35a8;--kp-a2:#6a58e6;--kp-a3:#a79cf8;--kp-pink:#ee6bd6;--kp-glow1:rgba(214,208,255,.75);--kp-glow2:rgba(250,212,240,.55);--kp-glow3:rgba(190,214,255,.55);
  --kp-radius:24px;
  --kp-head:'Space Grotesk',system-ui,sans-serif;
  --kp-body:'Plus Jakarta Sans',system-ui,-apple-system,'Segoe UI',sans-serif;
  --kp-serif:'Instrument Serif',Georgia,serif;
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;background:var(--kp-bg);color:var(--kp-ink);font-family:var(--kp-body);font-size:16px;line-height:1.6;-webkit-font-smoothing:antialiased}
img{max-width:100%;height:auto}
a{color:var(--kp-primary);text-decoration:none}
a:hover{text-decoration:underline}
h1,h2,h3,h4{font-family:var(--kp-head);line-height:1.15;letter-spacing:-.01em;margin:0 0 .4em;color:var(--kp-ink)}
p{margin:0 0 1em}
:focus-visible{outline:3px solid var(--kp-primary);outline-offset:2px;border-radius:6px}
.skip{position:absolute;left:-999px;top:8px;background:#fff;padding:8px 14px;border-radius:8px;z-index:100}
.skip:focus{left:8px}
.screen-reader-text{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}

.kp-wrap{width:min(1152px,100% - 32px);margin-inline:auto}
.kp-narrow{width:min(820px,100% - 32px);margin-inline:auto}
.kp-main{min-height:60vh}
.kp-section{padding:48px 0}
.kp-h1{font-size:clamp(30px,4.4vw,44px);font-weight:700}
.kp-prose{font-size:16.5px;line-height:1.75}
.kp-prose h2{font-size:26px;margin-top:1.6em}
.kp-prose h3{font-size:20px;margin-top:1.4em}
.kp-prose ul,.kp-prose ol{padding-left:1.3em}
.kp-prose a{text-decoration:underline}

/* ---------- header ---------- */
.kp-header{position:sticky;top:12px;z-index:50;width:min(1152px,100% - 32px);margin:12px auto 0}
.kp-nav{display:flex;align-items:center;gap:26px;padding:12px 18px 12px 24px;background:rgba(255,255,255,.97);border:1px solid var(--kp-line);border-radius:999px;box-shadow:0 8px 28px rgba(45,35,110,.08)}
.kp-logo{display:flex;align-items:center;gap:10px;font-family:var(--kp-head);font-weight:700;font-size:20px;color:var(--kp-ink);flex-shrink:0}
.kp-logo:hover{text-decoration:none}
.kp-logo svg,.kp-logo img{width:30px;height:30px;object-fit:contain}
.kp-b2{color:var(--kp-primary)}
.kp-menu{flex:1}
.kp-menu ul{list-style:none;display:flex;gap:22px;margin:0;padding:0}
.kp-menu a{color:var(--kp-muted);font-weight:500;font-size:15px}
.kp-menu a:hover,.kp-menu .current-menu-item>a{color:var(--kp-ink);text-decoration:none}
.kp-actions{display:flex;gap:10px;margin-left:auto}
.kp-ic{position:relative;display:grid;place-items:center;width:42px;height:42px;border-radius:50%;border:1px solid var(--kp-line);background:transparent;color:var(--kp-ink);cursor:pointer}
.kp-ic:hover{background:#fff;text-decoration:none}
.kp-ic svg{width:19px;height:19px}
.kp-count{position:absolute;top:-4px;right:-4px;min-width:19px;height:19px;padding:0 5px;border-radius:99px;background:var(--kp-primary);color:#fff;font-size:11px;font-weight:700;display:grid;place-items:center}
.kp-burger{display:none}
.kp-searchbar{margin-top:8px;padding:10px;background:var(--kp-card);border:1px solid var(--kp-line);border-radius:22px;box-shadow:0 8px 28px rgba(45,35,110,.08)}
.kp-searchbar[hidden]{display:none}
.kp-search{display:flex;gap:8px}
.kp-search input[type=search]{flex:1;border:1px solid var(--kp-line);background:#fff;border-radius:999px;padding:12px 18px;font:inherit;color:var(--kp-ink)}

/* ---------- buttons / chips ---------- */
.kp-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:11px 20px;border-radius:999px;border:1px solid var(--kp-primary);background:var(--kp-primary);color:#fff;font:600 15px var(--kp-body);cursor:pointer;white-space:nowrap;transition:filter .15s,background .15s}
.kp-btn:hover{filter:brightness(1.12);text-decoration:none;color:#fff}
.kp-btn svg{width:16px;height:16px}
.kp-btn-o{background:transparent;color:var(--kp-primary)}
.kp-btn-o:hover{background:var(--kp-soft);color:var(--kp-primary);filter:none}
.kp-btn-light{background:var(--kp-card);color:var(--kp-ink);border-color:var(--kp-line)}
.kp-btn-light:hover{background:#fff;color:var(--kp-ink);filter:none}
.kp-btn-soft{background:var(--kp-soft);color:var(--kp-primary);border-color:var(--kp-softline)}
.kp-btn-soft:hover{color:var(--kp-primary);filter:none;background:var(--kp-softline)}
.kp-btn-sm{padding:8px 15px;font-size:13.5px}
.kp-btn-block{width:100%}
.kp-chip{display:inline-flex;align-items:center;gap:5px;border:1px solid var(--kp-line);border-radius:99px;padding:3px 10px;font-size:12px;color:var(--kp-muted);background:transparent}
.kp-chip svg{width:12px;height:12px}
.kp-save{display:inline-block;background:var(--kp-soft);color:var(--kp-save);font:700 11.5px var(--kp-body);letter-spacing:.03em;padding:4px 9px;border-radius:99px;white-space:nowrap}

/* ---------- hero ---------- */
.kp-hero{position:relative;margin-top:-76px;padding:150px 0 40px;text-align:center;overflow:hidden;background:
  radial-gradient(60% 55% at 50% 0%,var(--kp-glow1),transparent 70%),
  radial-gradient(45% 50% at 0% 40%,var(--kp-glow2),transparent 70%),
  radial-gradient(45% 50% at 100% 45%,var(--kp-glow3),transparent 70%),
  var(--kp-bg)}
.kp-badge{display:inline-flex;align-items:center;gap:8px;border:1px solid var(--kp-softline);background:var(--kp-soft);color:var(--kp-primary);font:600 12px var(--kp-body);letter-spacing:.04em;text-transform:uppercase;border-radius:99px;padding:5px 14px}
.kp-badge::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--kp-primary)}
.kp-hero h1{font-size:clamp(38px,7vw,72px);font-weight:700;letter-spacing:-.03em;line-height:1.04;margin:24px auto 18px;max-width:900px}
.kp-hero h1 em{font-family:var(--kp-serif);font-style:italic;font-weight:400;color:var(--kp-primary);font-size:1.06em;letter-spacing:0}
.kp-hero .kp-lead{max-width:640px;margin:0 auto 22px;color:var(--kp-muted);font-size:17px}
.kp-ratepill{display:inline-flex;gap:10px;align-items:center;background:rgba(255,255,255,.75);border:1px solid var(--kp-line);border-radius:99px;padding:9px 18px;font-size:14px;color:var(--kp-muted);margin-bottom:22px}
.kp-ratepill .st{color:var(--kp-primary);letter-spacing:2px}
.kp-ratepill b{color:var(--kp-ink)}
.kp-hero-btns{display:flex;flex-wrap:wrap;gap:12px;justify-content:center;margin-bottom:22px}
.kp-hero-btns .kp-btn{padding:13px 24px;font-size:16px}
.kp-trust{display:flex;flex-wrap:wrap;gap:12px 26px;justify-content:center;color:var(--kp-muted);font-size:14px}
.kp-trust span{display:inline-flex;align-items:center;gap:7px}
.kp-trust svg{width:16px;height:16px;color:var(--kp-primary)}

/* ---------- marquee ---------- */
.kp-marq{overflow:hidden;padding:20px 0;-webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}
.kp-marq-track{display:flex;gap:14px;width:max-content;animation:kp-marq 38s linear infinite;will-change:transform}

.kp-marq-item{display:flex;align-items:center;gap:10px;padding:10px 20px;background:var(--kp-card);border:1px solid var(--kp-line);border-radius:99px;font-weight:600;font-size:15px;color:var(--kp-ink);white-space:nowrap}
.kp-marq-item:hover{text-decoration:none;background:#fff}
.kp-marq-item img{width:22px;height:22px;object-fit:contain;border-radius:5px}
@keyframes kp-marq{to{transform:translateX(-50%)}}

/* ---------- stats ---------- */
.kp-stats{border-block:1px solid var(--kp-line);padding:30px 0}
.kp-stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:20px;text-align:center}
.kp-stat b{display:block;font:700 34px var(--kp-head);color:var(--kp-primary);letter-spacing:-.02em}
.kp-stat span{color:var(--kp-muted);font-size:14.5px}

/* ---------- section heads ---------- */
.kp-sec-head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:22px}
.kp-sec-head h2{font-size:clamp(24px,3.2vw,32px);font-weight:700;margin:0 0 4px}
.kp-sec-head p{margin:0;color:var(--kp-muted);font-size:15px}
.kp-more{font-weight:600;font-size:15px;white-space:nowrap}

/* ---------- product cards ---------- */
.kp-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,250px),1fr));gap:16px;align-items:start}
.kp-card{background:var(--kp-card);border:1px solid var(--kp-line);border-radius:var(--kp-radius);overflow:hidden;transition:border-color .2s,box-shadow .2s}
.kp-card:hover{border-color:var(--kp-softline);box-shadow:0 14px 34px rgba(45,35,110,.10)}
.kp-card-media{position:relative;display:grid;place-items:center;min-height:178px;padding:20px}
.kp-card-media:hover{text-decoration:none}
.kp-tile{display:grid;place-items:center;width:96px;height:96px;border-radius:26px;background:var(--kp-bg);box-shadow:0 2px 0 rgba(0,0,0,.03),0 8px 20px rgba(45,35,110,.07);overflow:hidden}
.kp-tile img{width:62%;height:62%;object-fit:contain}
.kp-tile .ini{font:700 38px var(--kp-head);color:var(--kp-primary)}
.kp-pill{position:absolute;top:12px;font:600 12px var(--kp-body);padding:5px 11px;border-radius:99px;background:rgba(255,255,255,.7);color:var(--kp-ink)}
.kp-pill.l{left:12px}
.kp-pill.r{right:12px;color:var(--kp-muted);text-transform:uppercase;letter-spacing:.05em;font-size:11.5px}
.kp-oos{position:absolute;right:12px;bottom:10px;font:700 11.5px var(--kp-body);letter-spacing:.05em;text-transform:uppercase;color:var(--kp-muted);background:rgba(255,255,255,.75);padding:5px 11px;border-radius:99px}
.kp-card-body{padding:16px 16px 18px}
.kp-card-head{display:flex;justify-content:space-between;align-items:flex-start;gap:8px}
.kp-card-head h3{font-size:17px;font-weight:700;margin:0;line-height:1.25}
.kp-card-head h3 a{color:var(--kp-ink)}
.kp-card-desc{color:var(--kp-muted);font-size:14.5px;line-height:1.5;margin:10px 0 12px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.kp-chips{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:16px}
.kp-card-foot{display:flex;align-items:flex-end;justify-content:space-between;gap:10px}
.kp-price small{display:block;font-size:11px;letter-spacing:.05em;text-transform:uppercase;color:var(--kp-muted)}
.kp-price strong{font:700 22px var(--kp-head);letter-spacing:-.01em}
.kp-price del{color:var(--kp-muted);font-size:13.5px;margin-left:6px}
.kp-price .ask{font:700 17px var(--kp-head)}
.is-oos .kp-tile{opacity:.92}

/* ---------- how it works ---------- */
.kp-steps{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px}
.kp-step{background:var(--kp-card);border:1px solid var(--kp-line);border-radius:22px;padding:20px}
.kp-step svg{width:22px;height:22px;color:var(--kp-primary);margin-bottom:12px}
.kp-step h3{font-size:17px;margin-bottom:6px}
.kp-step p{color:var(--kp-muted);font-size:14.5px;margin:0}

/* ---------- category cards ---------- */
.kp-cats{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,320px),1fr));gap:14px}
.kp-cat{display:block;background:var(--kp-card);border:1px solid var(--kp-line);border-radius:22px;padding:20px 22px;color:var(--kp-ink)}
.kp-cat:hover{text-decoration:none;border-color:var(--kp-softline);background:#fff}
.kp-cat h3{font-size:17px;margin-bottom:6px}
.kp-cat p{color:var(--kp-muted);font-size:14.5px;margin:0;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}

/* ---------- reviews ---------- */
.kp-rev-head{margin-bottom:22px}
.kp-rev-head .eyebrow{display:flex;align-items:center;gap:12px;color:var(--kp-primary);font:600 12.5px var(--kp-body);letter-spacing:.08em;text-transform:uppercase;margin-bottom:10px}
.kp-rev-head .eyebrow::before{content:"";width:34px;height:1px;background:var(--kp-primary)}
.kp-rev-head h2{font-size:clamp(28px,4vw,44px);font-weight:700}
.kp-rev-head h2 em{font-family:var(--kp-serif);font-weight:400;color:var(--kp-primary);font-size:1.08em}
.kp-rev-head p{color:var(--kp-muted)}
.kp-rev-rows{display:grid;gap:14px;overflow:hidden;-webkit-mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent);mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent)}
.kp-rev-track{display:flex;gap:14px;width:max-content;animation:kp-marq 46s linear infinite;will-change:transform}
.kp-rev-track.rev{animation-direction:reverse;animation-duration:56s}

.kp-rev{width:340px;white-space:normal;background:var(--kp-card);border:1px solid var(--kp-line);border-radius:22px;padding:18px 20px;display:flex;flex-direction:column;justify-content:space-between;gap:16px}
.kp-rev-top{display:flex;justify-content:space-between;align-items:center}
.kp-stars{color:var(--kp-primary);letter-spacing:2px;font-size:14px}
.kp-stars .off{color:#dcd7f4}
.kp-rev-prod{font-size:11.5px;color:var(--kp-muted);border:1px solid var(--kp-line);border-radius:99px;padding:2px 10px}
.kp-rev p{margin:0;font-size:15px;line-height:1.55}
.kp-rev-by{display:flex;align-items:center;gap:10px;font-size:14px}
.kp-rev-by i{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:var(--kp-soft);font:600 14px var(--kp-body);font-style:normal;color:var(--kp-primary)}
.kp-rev-by small{display:block;color:var(--kp-muted);font-size:12.5px;line-height:1.2}
.kp-rev-by b{display:block;line-height:1.2}
.kp-badges{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;margin-top:26px}

/* ---------- guides / posts ---------- */
.kp-posts{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,360px),1fr));gap:16px}
.kp-post{display:block;background:var(--kp-card);border:1px solid var(--kp-line);border-radius:22px;padding:22px;color:var(--kp-ink)}
.kp-post:hover{text-decoration:none;border-color:var(--kp-softline);background:#fff}
.kp-post small{display:block;text-transform:uppercase;letter-spacing:.06em;color:var(--kp-muted);font-size:12px;margin-bottom:8px}
.kp-post h3{font-size:19px;margin-bottom:8px}
.kp-post p{color:var(--kp-muted);font-size:14.5px;margin:0}

/* ---------- FAQ ---------- */
.kp-faq{display:grid;gap:12px;max-width:760px;margin:0 auto}
.kp-faq details{background:var(--kp-card);border:1px solid var(--kp-line);border-radius:22px;padding:0}
.kp-faq summary{padding:18px 22px;font:600 17px var(--kp-head);cursor:pointer;list-style:none;display:flex;gap:12px;align-items:center}
.kp-faq summary::-webkit-details-marker{display:none}
.kp-faq summary::before{content:"";border:6px solid transparent;border-left:9px solid var(--kp-ink);transition:transform .2s;flex-shrink:0}
.kp-faq details[open] summary::before{transform:rotate(90deg)}
.kp-faq details>div{padding:0 22px 20px 44px;color:var(--kp-muted)}
.kp-faq h2{text-align:center;font-size:clamp(26px,3.4vw,34px);margin-bottom:22px}

/* ---------- shop archive ---------- */
.kp-page-head{padding:44px 0 8px}
.kp-page-head p{color:var(--kp-muted);max-width:680px;font-size:17px}
.kp-searchbig{margin:20px 0 14px}
.kp-searchbig input[type=search]{width:100%;border:1px solid var(--kp-line);background:var(--kp-card);border-radius:18px;padding:15px 20px;font:inherit;color:var(--kp-ink)}
.kp-pills{display:flex;gap:10px;overflow-x:auto;padding:4px 0 12px;scrollbar-width:thin}
.kp-pillnav{display:inline-flex;align-items:center;gap:8px;flex-shrink:0;border:1px solid var(--kp-line);background:var(--kp-card);color:var(--kp-ink);border-radius:99px;padding:10px 18px;font-weight:500;font-size:15px}
.kp-pillnav i{font-style:normal;font-size:12.5px;color:var(--kp-muted)}
.kp-pillnav:hover{text-decoration:none;background:#fff}
.kp-pillnav.on{background:var(--kp-soft);border-color:var(--kp-primary);color:var(--kp-primary)}
.kp-listhead{display:flex;justify-content:space-between;align-items:baseline;margin:14px 0 16px}
.kp-listhead h2{font-size:20px;margin:0}
.kp-listhead span{color:var(--kp-muted);font-size:14px}
.kp-empty{background:var(--kp-card);border:1px dashed var(--kp-line);border-radius:22px;padding:40px 24px;text-align:center;color:var(--kp-muted)}
.navigation.pagination{margin:32px 0}
.nav-links{display:flex;gap:8px;justify-content:center;flex-wrap:wrap}
.nav-links .page-numbers{padding:8px 15px;border:1px solid var(--kp-line);border-radius:99px;background:var(--kp-card);color:var(--kp-ink)}
.nav-links .page-numbers.current{background:var(--kp-primary);color:#fff;border-color:var(--kp-primary)}

/* ---------- single product ---------- */
.kp-crumbs{padding:28px 0 14px;font-size:14px;color:var(--kp-muted)}
.kp-crumbs a{color:var(--kp-muted)}
.kp-prod{display:grid;grid-template-columns:minmax(0,1fr) 400px;gap:34px;align-items:start;padding-bottom:30px}
.kp-prod-head{display:flex;align-items:center;gap:16px;background:linear-gradient(135deg,#efeafc,#ece8fb);border:1px solid var(--kp-line);border-radius:22px;padding:14px 20px;margin-bottom:26px}
.kp-prod-head .kp-tile{width:56px;height:56px;border-radius:16px}
.kp-prod-head b{display:block;font:700 18px var(--kp-head)}
.kp-prod-head small{color:var(--kp-muted)}
.kp-prod h1{font-size:clamp(30px,4vw,44px);font-weight:700;margin-bottom:10px}
.kp-prod .kp-sub{color:var(--kp-muted);font-size:17px;margin-bottom:18px}
.kp-glance{margin:26px 0;border:1px solid var(--kp-line);border-radius:18px;overflow:hidden;background:var(--kp-card)}
.kp-glance h3{margin:0;padding:14px 20px;font:700 12.5px var(--kp-body);letter-spacing:.07em;text-transform:uppercase;color:var(--kp-muted);border-bottom:1px solid var(--kp-line)}
.kp-glance div{display:flex;gap:20px;padding:12px 20px;border-bottom:1px solid var(--kp-line);font-size:15px}
.kp-glance div:last-child{border:0}
.kp-glance span{width:150px;color:var(--kp-muted);flex-shrink:0}
.kp-buybox{position:sticky;top:96px;background:var(--kp-card);border:1px solid var(--kp-line);border-radius:24px;padding:20px;box-shadow:0 10px 30px rgba(45,35,110,.06)}
.kp-buybox h2{font-size:18px;margin-bottom:14px}
.kp-plan{display:flex;justify-content:space-between;align-items:center;gap:14px;border:1px solid var(--kp-line);border-radius:18px;padding:14px 16px;margin-bottom:12px;background:#fff}
.kp-plan b{display:block;font-size:15px}
.kp-plan .pr{margin:2px 0}
.kp-plan .pr strong{font:700 19px var(--kp-head)}
.kp-plan .pr del{color:var(--kp-muted);font-size:13px;margin:0 6px 0 8px}
.kp-plan .pr .off{color:var(--kp-save);font-size:12.5px;font-weight:700}
.kp-plan small{color:var(--kp-muted);font-size:12.5px}
.kp-plan-act{display:grid;gap:8px;min-width:132px}
.kp-buybox .kp-btn-block{margin-top:10px}
.kp-btn-ghost{background:var(--kp-card);border-color:var(--kp-line);color:var(--kp-muted)}
.kp-btn-ghost:hover{background:#fff;color:var(--kp-ink);filter:none}
.kp-related{padding:20px 0 50px}

/* ---------- cart page ---------- */
.kp-cart{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:28px;align-items:start;padding-bottom:50px}
.kp-ci{display:grid;grid-template-columns:64px 1fr auto;gap:14px;align-items:center;background:var(--kp-card);border:1px solid var(--kp-line);border-radius:20px;padding:14px 16px;margin-bottom:12px}
.kp-ci .kp-tile{width:64px;height:64px;border-radius:18px}
.kp-ci b{display:block}
.kp-ci small{color:var(--kp-muted)}
.kp-qty{display:inline-flex;align-items:center;border:1px solid var(--kp-line);border-radius:99px;margin-top:8px;background:#fff}
.kp-qty button{width:32px;height:32px;border:0;background:transparent;font-size:18px;cursor:pointer;color:var(--kp-ink)}
.kp-qty span{min-width:24px;text-align:center;font-weight:600}
.kp-ci-right{text-align:right}
.kp-ci-right strong{font:700 18px var(--kp-head)}
.kp-link{background:none;border:0;color:var(--kp-muted);font:inherit;font-size:13px;cursor:pointer;text-decoration:underline;padding:0;margin-top:6px}
.kp-sum{position:sticky;top:96px;background:var(--kp-card);border:1px solid var(--kp-line);border-radius:24px;padding:22px}
.kp-sum h2{font-size:19px}
.kp-sum .row{display:flex;justify-content:space-between;padding:8px 0;color:var(--kp-muted)}
.kp-sum .tot{border-top:1px solid var(--kp-line);margin-top:8px;padding-top:14px;color:var(--kp-ink);font:700 20px var(--kp-head)}
.kp-sum p{font-size:13.5px;color:var(--kp-muted)}

/* ---------- footer ---------- */
.kp-footer{margin-top:60px;border-top:1px solid var(--kp-line);background:#fff}
.kp-foot{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:40px;padding:48px 0 40px}
.kp-foot h4{font:700 14px var(--kp-head);margin-bottom:14px}
.kp-foot ul{list-style:none;margin:0;padding:0;display:grid;gap:9px}
.kp-foot a{color:var(--kp-muted);font-size:15px}
.kp-foot a:hover{color:var(--kp-ink)}
.kp-foot .brandcol p{color:var(--kp-muted);max-width:360px;font-size:15px}
.kp-foot .brandcol .kp-btn{color:#fff}
.kp-foot .brandcol .kp-btn-o{color:var(--kp-primary)}
.kp-foot-badge{display:inline-flex;align-items:center;gap:8px;background:var(--kp-soft);border:1px solid var(--kp-softline);color:var(--kp-ink);border-radius:99px;padding:6px 14px;font:600 13px var(--kp-body);margin:4px 8px 8px 0}
.kp-foot-btns{display:grid;gap:10px;justify-items:start;margin-top:10px}
.kp-copy{border-top:1px solid var(--kp-line);padding:18px 0;text-align:center;color:var(--kp-muted);font-size:14px}

/* ---------- mobile bottom bar ---------- */
.kp-bottom{display:none}

/* ---------- woo basics (forms for Track Order etc.) ---------- */
.woocommerce form .form-row{margin-bottom:16px}
.woocommerce form .form-row label{display:block;font-weight:600;margin-bottom:6px}
.woocommerce input.input-text,.woocommerce select,.woocommerce textarea{width:100%;border:1px solid var(--kp-line);background:#fff;border-radius:14px;padding:12px 16px;font:inherit}
.woocommerce button.button,.woocommerce a.button{display:inline-block;background:var(--kp-primary);color:#fff;border:0;border-radius:99px;padding:12px 24px;font:600 15px var(--kp-body);cursor:pointer}
.woocommerce form.track_order .form-row-first,.woocommerce form.track_order .form-row-last{float:none;width:100%}
.woocommerce-info,.woocommerce-message,.woocommerce-error{background:var(--kp-card);border:1px solid var(--kp-line);border-radius:16px;padding:14px 18px;list-style:none;margin:0 0 18px}

/* ---------- responsive ---------- */
@media (max-width:980px){
  .kp-prod{grid-template-columns:1fr}
  .kp-buybox{position:static}
  .kp-cart{grid-template-columns:1fr}
  .kp-sum{position:static}
  .kp-foot{grid-template-columns:1fr 1fr}
  .kp-foot .brandcol{grid-column:1/-1}
}
@media (max-width:820px){
  .kp-nav{border-radius:28px;flex-wrap:wrap;gap:12px;padding:10px 12px 10px 18px}
  .kp-burger{display:grid}
  .kp-menu{display:none;order:5;flex-basis:100%;padding:6px 0 10px}
  .kp-header.is-open .kp-menu{display:block}
  .kp-menu ul{flex-direction:column;gap:2px}
  .kp-menu a{display:block;padding:10px 6px;font-size:16px}
  .kp-hero{padding-top:130px}
}
@media (max-width:720px){
  body{padding-bottom:74px}
  .kp-sec-head{flex-direction:column;align-items:flex-start;gap:6px}
  .kp-plan{flex-direction:column;align-items:stretch}
  .kp-ci{grid-template-columns:56px 1fr}
  .kp-ci-right{grid-column:1/-1;text-align:left;display:flex;justify-content:space-between;align-items:center}
  .kp-foot{grid-template-columns:1fr;gap:28px}
  .kp-rev{width:290px}
}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .kp-marq-track,.kp-rev-track{animation:none}
  .kp-marq,.kp-rev-rows{overflow-x:auto;-webkit-mask-image:none;mask-image:none}
}

/* reviews: static layout when there are only a few */
.kp-rev-track.static{animation:none;width:auto;flex-wrap:wrap;justify-content:center}
.kp-rev-rows:has(.kp-rev-track.static){-webkit-mask-image:none;mask-image:none}

/* ---------- header polish ---------- */
.kp-header.is-scrolled .kp-nav{box-shadow:0 12px 32px rgba(45,35,110,.16);border-color:#d9d3f2}

/* ---------- product page: assurance list ---------- */
.kp-assure{list-style:none;margin:16px 0 0;padding:14px 4px 0;border-top:1px solid var(--kp-line);display:grid;gap:9px;font-size:13.5px;color:var(--kp-muted)}
.kp-assure li{display:flex;align-items:center;gap:9px}
.kp-assure svg{width:16px;height:16px;color:var(--kp-primary);flex-shrink:0}

/* ---------- floating WhatsApp button + join card ---------- */
.kp-wafab{position:fixed;right:20px;bottom:20px;z-index:70;display:grid;place-items:center;width:56px;height:56px;border-radius:50%;background:#25a244;color:#fff;box-shadow:0 10px 26px rgba(45,35,110,.35)}
.kp-wafab:hover{text-decoration:none;filter:brightness(1.08);color:#fff}
.kp-wafab svg{width:27px;height:27px}
.kp-join{position:fixed;left:20px;bottom:20px;z-index:70;display:flex;align-items:center;gap:12px;max-width:min(400px,100% - 110px);padding:12px 14px;background:#fff;border:1px solid var(--kp-line);border-radius:18px;box-shadow:0 16px 40px rgba(45,35,110,.22)}
.kp-join[hidden]{display:none}
.kp-join.in{animation:kp-pop .45s ease-out both}
@keyframes kp-pop{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
.kp-join-ic{display:grid;place-items:center;flex-shrink:0;width:44px;height:44px;border-radius:12px;background:var(--kp-bg)}
.kp-join-ic svg{width:28px;height:28px}
.kp-join-tx{min-width:0;line-height:1.3}
.kp-join-tx b{display:block;color:var(--kp-primary);font:700 14.5px var(--kp-head)}
.kp-join-tx span{display:block;color:var(--kp-muted);font-size:12.5px}
.kp-join-btn{flex-shrink:0;background:var(--kp-primary);color:#fff;border-radius:99px;padding:8px 18px;font:700 13.5px var(--kp-body)}
.kp-join-btn:hover{color:#fff;text-decoration:none;filter:brightness(1.12)}
.kp-join-x{position:absolute;top:-10px;right:-10px;width:26px;height:26px;border-radius:50%;border:1px solid var(--kp-line);background:#fff;color:var(--kp-ink);font-size:17px;line-height:1;cursor:pointer;box-shadow:0 4px 10px rgba(0,0,0,.12)}

/* ---------- checkout (online payment) ---------- */
.woocommerce-checkout .kp-narrow,.woocommerce-order-received .kp-narrow{width:min(1040px,100% - 32px)}
form.checkout{display:grid;grid-template-columns:minmax(0,1fr) 400px;gap:6px 28px;align-items:start}
form.checkout #customer_details{grid-column:1;grid-row:1 / span 2}
form.checkout #order_review_heading{grid-column:2;grid-row:1;margin:0 0 8px;font-size:19px}
form.checkout #order_review{grid-column:2;grid-row:2;background:var(--kp-card);border:1px solid var(--kp-line);border-radius:24px;padding:20px}
form.checkout h3{font-size:19px}
.woocommerce form .form-row-first,.woocommerce form .form-row-last{width:calc(50% - 8px);float:left}
.woocommerce form .form-row-first{margin-right:16px}
.woocommerce form .form-row-wide{clear:both}
.woocommerce table.shop_table{width:100%;border-collapse:collapse;margin-bottom:14px}
.woocommerce table.shop_table th,.woocommerce table.shop_table td{padding:11px 0;border-bottom:1px solid var(--kp-line);text-align:left;font-size:15px}
.woocommerce table.shop_table td:last-child,.woocommerce table.shop_table th:last-child{text-align:right}
.woocommerce table.shop_table tfoot .order-total th,.woocommerce table.shop_table tfoot .order-total td{font:700 18px var(--kp-head);border-bottom:0}
#payment ul.payment_methods{list-style:none;margin:0 0 12px;padding:0}
#payment ul.payment_methods li{background:#fff;border:1px solid var(--kp-line);border-radius:16px;padding:12px 14px;margin-bottom:8px}
#payment ul.payment_methods li label{font-weight:600;cursor:pointer}
#payment .payment_box{font-size:14px;color:var(--kp-muted);margin-top:8px}
#payment .payment_box p{margin:0}
#place_order{width:100%;padding:15px 24px;font-size:16px;margin-top:6px}
.woocommerce-privacy-policy-text{font-size:13px;color:var(--kp-muted)}
.woocommerce-order-received .woocommerce-order{background:var(--kp-card);border:1px solid var(--kp-line);border-radius:22px;padding:22px}
@media (max-width:900px){
  form.checkout{grid-template-columns:1fr}
  form.checkout #customer_details,form.checkout #order_review_heading,form.checkout #order_review{grid-column:1;grid-row:auto}
  .woocommerce form .form-row-first,.woocommerce form .form-row-last{width:100%;float:none;margin-right:0}
}
@media (max-width:720px){
  .kp-wafab{bottom:88px;right:14px;width:50px;height:50px}
  .kp-join{left:10px;bottom:88px;max-width:calc(100% - 82px)}
  .kp-join-tx span{display:none}
}

/* =====================================================================
   PREMIUM LAYER: richer surfaces, gold accents, logo tiles, dark footer
   ===================================================================== */
:root{--kp-deep:#0f2b19}

/* header */
.kp-nav{background:rgba(255,255,255,.88);border:1px solid rgba(108,92,231,.14);box-shadow:0 1px 0 rgba(255,255,255,.9) inset,0 10px 30px rgba(45,35,110,.08)}
.kp-menu a{position:relative;padding:6px 0}
.kp-menu a::after{content:"";position:absolute;left:0;right:100%;bottom:0;height:2px;border-radius:2px;background:var(--kp-primary);transition:right .2s}
.kp-menu a:hover::after,.kp-menu .current-menu-item>a::after{right:0}
.kp-login{display:inline-flex;align-items:center;gap:8px;height:42px;padding:0 17px;border-radius:99px;border:1px solid var(--kp-line);background:#fff;color:var(--kp-ink);font:600 14px var(--kp-body);white-space:nowrap}
.kp-login:hover{text-decoration:none;border-color:var(--kp-primary);color:var(--kp-primary)}
.kp-login svg{width:18px;height:18px}

/* buttons */
.kp-btn{background-color:var(--kp-primary);background-image:linear-gradient(180deg,rgba(255,255,255,.16),rgba(0,0,0,.10));box-shadow:0 8px 18px rgba(108,92,231,.26),inset 0 1px 0 rgba(255,255,255,.25)}
.kp-btn:hover{filter:brightness(1.08)}
.kp-btn-o,.kp-btn-light,.kp-btn-soft,.kp-btn-ghost{background-image:none;box-shadow:none}
.kp-btn-o{background-color:transparent}
.kp-btn-light{background-color:#fff}

/* hero */
.kp-hero{padding:172px 0 64px;background:
  radial-gradient(55% 60% at 50% -5%,var(--kp-glow1),transparent 70%),
  radial-gradient(40% 50% at 0% 45%,var(--kp-glow2),transparent 70%),
  radial-gradient(40% 50% at 100% 50%,var(--kp-glow3),transparent 70%),
  var(--kp-bg)}
.kp-hero::after{content:"";position:absolute;left:0;right:0;bottom:0;height:90px;background:linear-gradient(transparent,var(--kp-bg));pointer-events:none}
.kp-hero .kp-wrap{position:relative;z-index:2}
.kp-hero h1{font-size:clamp(40px,7.4vw,78px)}
.kp-badge::before{background:var(--kp-gold);box-shadow:0 0 0 4px rgba(200,160,74,.25)}
.kp-float{position:absolute;inset:0;pointer-events:none;z-index:1}
.kp-float>span{position:absolute;opacity:.55}
.kp-float .kp-tile{width:84px;height:84px;border-radius:24px;box-shadow:0 18px 34px rgba(45,35,110,.16)}
.kp-float .ini{font-size:28px}
.kp-float .f1{left:5%;top:22%;transform:rotate(-10deg) scale(1.1)}
.kp-float .f2{left:17%;top:57%;transform:rotate(8deg) scale(.82)}
.kp-float .f3{left:7%;top:80%;transform:rotate(-6deg) scale(.7)}
.kp-float .f4{left:23%;top:11%;transform:rotate(12deg) scale(.7)}
.kp-float .f5{right:5%;top:20%;transform:rotate(10deg) scale(1.1)}
.kp-float .f6{right:17%;top:55%;transform:rotate(-8deg) scale(.82)}
.kp-float .f7{right:7%;top:80%;transform:rotate(6deg) scale(.7)}
.kp-float .f8{right:23%;top:9%;transform:rotate(-12deg) scale(.7)}
.kp-float .f9{left:30%;top:84%;transform:rotate(5deg) scale(.6)}
.kp-float .f10{right:30%;top:84%;transform:rotate(-5deg) scale(.6)}

/* logo tiles */
.kp-tile{position:relative;width:104px;height:104px;border-radius:28px;box-shadow:0 0 0 7px rgba(255,255,255,.5),0 16px 32px rgba(45,35,110,.14)}
.kp-tile .ini{font:700 34px var(--kp-head);letter-spacing:-.02em}
.kp-mono .ini{color:#fff}
.kp-tile .fav{position:absolute;inset:0;width:100%;height:100%;padding:24%;object-fit:contain;background:#fff;border-radius:inherit}
.kp-prod-head .kp-tile{width:58px;height:58px;border-radius:17px;box-shadow:0 8px 18px rgba(45,35,110,.14)}
.kp-prod-head .ini{font-size:20px}
.kp-ci .kp-tile{box-shadow:0 6px 14px rgba(45,35,110,.12)}
.kp-ci .ini{font-size:22px}
.kp-marq-item .kp-tile{width:30px;height:30px;border-radius:9px;box-shadow:none}
.kp-marq-item .ini{font-size:12px}
.kp-marq-item .fav{padding:18%}

/* cards */
.kp-card{border-radius:26px;border-color:rgba(45,35,110,.10);background:#ffffff;box-shadow:0 1px 0 #fff inset,0 2px 6px rgba(45,35,110,.04);transition:transform .25s,box-shadow .25s,border-color .25s}
.kp-card:hover{transform:translateY(-4px);border-color:var(--kp-softline);box-shadow:0 24px 46px rgba(45,35,110,.15)}
.kp-card-media{min-height:196px}
.kp-pill.l{background:linear-gradient(135deg,#f6c4ee,#c9b6fb);color:#3a1f6b;font-weight:700}
.kp-save{background:var(--kp-primary);color:#fff;letter-spacing:.04em}
.kp-price strong{font-size:24px}

/* sections */
.kp-section{padding:58px 0}
.kp-sec-head h2{font-size:clamp(26px,3.4vw,36px);letter-spacing:-.025em}
.kp-stats{background:linear-gradient(180deg,rgba(255,255,255,.6),rgba(255,255,255,0));border-block:1px solid rgba(45,35,110,.10)}
.kp-stat{position:relative}
.kp-stat+.kp-stat::before{content:"";position:absolute;left:-10px;top:14%;bottom:14%;width:1px;background:var(--kp-line)}
.kp-step{border-radius:26px;padding:24px}
.kp-step svg{width:46px;height:46px;padding:12px;border-radius:15px;background:var(--kp-soft)}
.kp-cat{border-radius:24px}
.kp-faq details{border-radius:22px;transition:border-color .2s}
.kp-faq details[open]{border-color:var(--kp-softline);background:#fff}

/* bundle builder */
.kp-bundle-wrap{padding-top:40px}
.kp-bundle{position:relative;background:linear-gradient(#fff,#fff) padding-box,linear-gradient(120deg,var(--kp-b1) 0%,var(--kp-b2) 48%,var(--kp-gold) 100%) border-box;border:2px solid transparent;border-radius:32px;padding:38px 40px 34px;box-shadow:0 34px 80px rgba(108,92,231,.16)}
.kp-b-eyebrow{color:var(--kp-primary);font:700 12.5px var(--kp-body);letter-spacing:.14em;text-transform:uppercase;margin-bottom:12px}
.kp-b-title{font-size:clamp(28px,4.4vw,46px);font-weight:700;letter-spacing:-.03em;margin-bottom:8px}
.kp-b-sub{color:var(--kp-muted);font-size:17px;max-width:720px;margin-bottom:24px}
.kp-b-chips{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:18px}
.kp-bchip{border:1px solid var(--kp-line);background:#f8f7ff;color:var(--kp-ink);border-radius:99px;padding:13px 24px;font:500 16px var(--kp-body);cursor:pointer;transition:background .15s,box-shadow .15s,color .15s}
.kp-bchip:hover{background:#fff;border-color:var(--kp-softline)}
.kp-bchip.on{background:var(--kp-primary);border-color:var(--kp-primary);color:#fff;font-weight:600;box-shadow:0 10px 22px rgba(108,92,231,.3)}
.kp-bchip.on::before{content:"\2713\00a0"}
.kp-b-row{display:grid;grid-template-columns:1fr 210px auto;gap:12px}
.kp-b-note,.kp-b-budget{border:1px solid var(--kp-line);background:#f8f7ff;border-radius:16px;height:56px;font:inherit;color:var(--kp-ink)}
.kp-b-note{padding:0 18px}
.kp-b-budget{display:flex;align-items:center;gap:8px;padding:0 16px;color:var(--kp-muted);font-size:15px}
.kp-b-budget input{border:0;background:transparent;width:100%;font:600 18px var(--kp-body);color:var(--kp-ink);min-width:0}
.kp-b-budget input:focus-visible,.kp-b-note:focus-visible{outline:3px solid var(--kp-primary);outline-offset:2px}
.kp-b-go{height:56px;border-radius:16px;padding:0 34px;font-size:17px}
.kp-b-out{margin-top:24px;border-top:1px dashed var(--kp-line);padding-top:20px}
.kp-b-out h3{font-size:20px;margin-bottom:6px}
.kp-b-item{display:grid;grid-template-columns:54px 1fr auto;gap:14px;align-items:center;padding:11px 0;border-bottom:1px solid var(--kp-line)}
.kp-b-item .kp-tile{width:54px;height:54px;border-radius:16px;box-shadow:0 6px 14px rgba(45,35,110,.12)}
.kp-b-item .ini{font-size:17px}
.kp-b-item b a{color:var(--kp-ink)}
.kp-b-item small{display:block;color:var(--kp-muted);font-size:13px}
.kp-b-item strong{font:700 18px var(--kp-head)}
.kp-b-total{display:flex;justify-content:space-between;align-items:baseline;font:700 24px var(--kp-head);padding:16px 0 4px}
.kp-b-saved{color:var(--kp-save);font-weight:600;margin-bottom:4px}
.kp-b-act{display:flex;flex-wrap:wrap;gap:10px;margin-top:16px}
.kp-b-msg{color:var(--kp-muted);margin:16px 0 0}
.kp-b-msg.warn{background:#fff6e2;border:1px solid #efd9a0;color:#6b4e07;border-radius:14px;padding:10px 14px;margin:8px 0 10px}

/* customer account pages */
.woocommerce-account .kp-narrow{width:min(1040px,100% - 32px)}
.woocommerce-account #customer_login,.woocommerce-account .u-columns{display:grid;grid-template-columns:1fr 1fr;gap:24px;align-items:start}
#customer_login .u-column1,#customer_login .u-column2{float:none;width:auto;background:var(--kp-card);border:1px solid var(--kp-line);border-radius:26px;padding:26px 28px;box-shadow:0 14px 34px rgba(45,35,110,.07)}
#customer_login h2{font-size:24px}
.woocommerce-form-login__rememberme{display:flex;gap:8px;align-items:center;margin:6px 0 14px}
.woocommerce-LostPassword{margin-top:12px;font-size:14px}
.woocommerce-account.logged-in .woocommerce{display:grid;grid-template-columns:240px minmax(0,1fr);gap:28px;align-items:start}
.woocommerce-MyAccount-navigation ul{list-style:none;margin:0;padding:0;display:grid;gap:6px}
.woocommerce-MyAccount-navigation a{display:block;padding:11px 16px;border-radius:14px;color:var(--kp-ink);border:1px solid transparent;font-weight:500}
.woocommerce-MyAccount-navigation a:hover{background:#fff;text-decoration:none}
.woocommerce-MyAccount-navigation .is-active a{background:var(--kp-soft);color:var(--kp-primary);border-color:var(--kp-softline)}
.woocommerce-MyAccount-content{background:var(--kp-card);border:1px solid var(--kp-line);border-radius:24px;padding:24px}

@media (max-width:1100px){.kp-login span{display:none}.kp-login{width:42px;padding:0;justify-content:center}}
@media (max-width:900px){
  .kp-float{display:none}
  .kp-hero{padding-top:140px}
  .woocommerce-account #customer_login,.woocommerce-account .u-columns{grid-template-columns:1fr}
  .woocommerce-account.logged-in .woocommerce{grid-template-columns:1fr}
}
@media (max-width:720px){
  .kp-bundle{padding:26px 20px 24px;border-radius:26px}
  .kp-b-row{grid-template-columns:1fr}
  .kp-b-go{width:100%}
  .kp-b-item{grid-template-columns:48px 1fr auto}
  .kp-b-item .kp-tile{width:48px;height:48px}
  .kp-bchip{padding:11px 18px;font-size:15px}
}

/* ---------- fixes found in visual check ---------- */
.kp-btn-soft{background-color:var(--kp-soft)}
.kp-btn-ghost{background-color:var(--kp-card)}
.kp-count[hidden]{display:none}
.kp-float .f9,.kp-float .f10{display:none}
.kp-b-budget span{white-space:nowrap;flex-shrink:0}

/* equal-height cards, footer pinned to the bottom, button never clipped */
.kp-grid{align-items:stretch}
.kp-card{display:flex;flex-direction:column}
.kp-card-body{flex:1;display:flex;flex-direction:column}
.kp-card-foot{margin-top:auto;flex-wrap:wrap;gap:10px}
.kp-card-foot .kp-btn{padding:10px 17px;flex-shrink:0}
.kp-price{min-width:0}
.kp-price .ask{white-space:nowrap}
.kp-plan .pr{display:flex;flex-wrap:wrap;align-items:baseline;gap:2px 8px;margin:2px 0}
.kp-plan .pr del{margin:0}
.kp-plan .pr .off{white-space:nowrap}

/* small phones: keep logo + 4 icons on one row */
@media (max-width:560px){
  .kp-nav{padding:8px 10px 8px 16px;gap:8px;flex-wrap:nowrap}
  .kp-menu{display:none}
  .kp-header.is-open .kp-nav{flex-wrap:wrap}
  .kp-logo{font-size:18px;gap:8px}
  .kp-logo svg,.kp-logo img{width:26px;height:26px}
  .kp-actions{gap:6px}
  .kp-ic,.kp-login{width:38px;height:38px}
  .kp-ic svg,.kp-login svg{width:17px;height:17px}
}

/* ---------- closer to the reference ---------- */
.kp-ratepill span:not(.st)+span::before{content:"\00b7";margin-right:10px;color:var(--kp-muted)}
.kp-stat+.kp-stat::before{display:none}
.kp-marq-item{font-weight:500;padding:10px 20px 10px 14px}
.kp-marq-item .kp-tile.has-img{background:none!important;box-shadow:none;border-radius:6px;width:24px;height:24px}
.kp-marq-item .kp-tile.has-img img{width:100%;height:100%;object-fit:contain}
.kp-marq-item .kp-tile .fav{padding:0;background:transparent}
.kp-float .f2{left:3%;top:46%}
.kp-float .f6{right:3%;top:44%}

/* =====================================================================
   WHITE FOOTER, cart, checkout, login/register card
   ===================================================================== */
.kp-footer{background:#fff;border-top:1px solid var(--kp-line);color:var(--kp-muted)}
.kp-foot-badge{background:var(--kp-soft);border-color:var(--kp-softline);color:var(--kp-ink)}
.kp-addlink{display:inline-block;margin-top:6px;font-size:13px;font-weight:600}
.kp-wa-order{background-color:#25a244}
.kp-cart-note{font-size:13.5px;color:var(--kp-muted);margin:10px 0 0}
.kp-thanks{background:var(--kp-card);border:1px solid var(--kp-line);border-radius:20px;padding:18px 20px;margin:18px 0}
.kp-thanks p{margin:0 0 10px}
ul.wc-item-meta{list-style:none;margin:8px 0 0;padding:0}
ul.wc-item-meta li{background:var(--kp-tint);border:1px dashed var(--kp-softline);border-radius:12px;padding:10px 12px;margin-top:6px;word-break:break-word}
ul.wc-item-meta li p{display:inline;margin:0}

/* cart page */
.woocommerce-cart .kp-narrow{width:min(1100px,100% - 32px)}
.woocommerce-cart .woocommerce{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:6px 28px;align-items:start}
.woocommerce-cart .woocommerce>.woocommerce-notices-wrapper{grid-column:1/-1}
.woocommerce-cart .woocommerce-cart-form{grid-column:1;grid-row:2}
.woocommerce-cart .cart-collaterals{grid-column:2;grid-row:2}
.woocommerce-cart .cart-empty,.woocommerce-cart .return-to-shop{grid-column:1/-1}
.woocommerce-cart-form__contents{width:100%;border-collapse:separate;border-spacing:0 12px}
.woocommerce-cart-form__contents thead th{font:600 12.5px var(--kp-body);letter-spacing:.06em;text-transform:uppercase;color:var(--kp-muted);text-align:left;padding:0 14px}
.woocommerce-cart-form__contents td{background:var(--kp-card);padding:14px;vertical-align:middle;border-top:1px solid var(--kp-line);border-bottom:1px solid var(--kp-line)}
.woocommerce-cart-form__contents td:first-child{border-left:1px solid var(--kp-line);border-radius:20px 0 0 20px}
.woocommerce-cart-form__contents td:last-child{border-right:1px solid var(--kp-line);border-radius:0 20px 20px 0}
.woocommerce-cart-form__contents td.actions{border:0;background:transparent;padding:6px 0 0}
.woocommerce-cart-form__contents .product-thumbnail img{width:60px;height:60px;border-radius:14px;object-fit:contain;background:#fff}
.woocommerce-cart-form__contents .product-remove a{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;border:1px solid var(--kp-line);color:var(--kp-muted);font-size:18px;line-height:1}
.woocommerce-cart-form__contents .product-remove a:hover{background:#fff;text-decoration:none;color:#b3261e}
.woocommerce-cart-form__contents .product-name a{color:var(--kp-ink);font-weight:600}
.woocommerce .quantity .qty{width:72px;border:1px solid var(--kp-line);border-radius:12px;padding:9px 8px;text-align:center;font:inherit;background:#fff}
.woocommerce-cart-form .coupon{display:flex;gap:8px;float:left}
.woocommerce-cart-form .coupon input.input-text{width:170px}
.woocommerce-cart-form td.actions>button{float:right}
.cart_totals{background:var(--kp-card);border:1px solid var(--kp-line);border-radius:24px;padding:22px}
.cart_totals h2{font-size:19px}
.wc-proceed-to-checkout{display:grid;gap:10px;margin-top:6px}
.wc-proceed-to-checkout a.checkout-button{display:block;text-align:center;padding:14px 20px;font-size:16px}
.woocommerce a.button,.woocommerce button.button{background-image:linear-gradient(180deg,rgba(255,255,255,.16),rgba(0,0,0,.10))}

/* login / register card */
.woocommerce-account .kp-narrow{width:min(1000px,100% - 32px)}
.kp-auth{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,6fr);background:#fff;border:1px solid var(--kp-line);border-radius:32px;overflow:hidden;box-shadow:0 34px 80px rgba(45,35,110,.14);min-height:580px;margin:22px 0 10px}
.kp-auth-art{position:relative;display:flex;flex-direction:column;justify-content:center;padding:44px 38px;color:#fff;overflow:hidden;background:linear-gradient(160deg,var(--kp-a1) 0%,var(--kp-a2) 55%,var(--kp-a3) 100%)}
.kp-auth-art::before{content:"";position:absolute;width:380px;height:380px;border-radius:50%;right:-150px;top:-130px;background:radial-gradient(circle at 35% 35%,rgba(255,226,140,.95),rgba(255,226,140,0) 70%)}
.kp-auth-art::after{content:"";position:absolute;width:320px;height:320px;border-radius:46% 54% 60% 40%;left:-130px;bottom:-140px;background:rgba(255,255,255,.12)}
.kp-auth-art>*{position:relative;z-index:1}
.kp-auth-logo{display:grid;place-items:center;width:64px;height:64px;border-radius:20px;background:rgba(255,255,255,.96);margin-bottom:22px;box-shadow:0 14px 30px rgba(0,0,0,.2)}
.kp-auth-logo svg{width:38px;height:38px}
.kp-auth-hello{color:#fff;font-size:clamp(30px,3.6vw,42px);margin-bottom:10px}
.kp-auth-art p{color:rgba(255,255,255,.9);max-width:330px}
.kp-auth-art ul{list-style:none;margin:20px 0 0;padding:0;display:grid;gap:12px}
.kp-auth-art li{display:flex;align-items:center;gap:10px;font-weight:500}
.kp-auth-art li svg{width:19px;height:19px;flex-shrink:0}
.kp-auth-main{display:flex;flex-direction:column;justify-content:center;padding:44px 48px}
.kp-auth-pane{display:none;animation:kp-fade .35s ease both}
.kp-pane-login{display:block}
.kp-auth.is-register .kp-pane-login{display:none}
.kp-auth.is-register .kp-pane-register{display:block}
@keyframes kp-fade{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
.kp-auth-pane h1{font-size:clamp(28px,3.2vw,34px);margin-bottom:6px}
.kp-auth-sub{color:var(--kp-muted);margin-bottom:6px}
.kp-lab{display:block;font:600 13.5px var(--kp-body);margin:16px 0 6px;color:var(--kp-ink)}
.kp-field{display:flex;align-items:center;background:var(--kp-tint);border:1.5px solid var(--kp-tintline);border-radius:14px;transition:border-color .15s,box-shadow .15s,background .15s}
.kp-field:focus-within{border-color:var(--kp-primary);background:#fff;box-shadow:0 0 0 4px rgba(108,92,231,.12)}
.kp-field>svg{width:19px;height:19px;margin-left:14px;color:var(--kp-primary);flex-shrink:0}
.kp-field input{flex:1;min-width:0;border:0;background:transparent;padding:14px;font:inherit;color:var(--kp-ink)}
.kp-field input:focus,.kp-field input:focus-visible{outline:none}
.kp-eye{border:0;background:transparent;padding:0 14px;cursor:pointer;color:var(--kp-muted);display:grid;place-items:center}
.kp-eye svg{width:19px;height:19px}
.kp-auth-row{display:flex;justify-content:space-between;align-items:center;gap:12px;margin:14px 0 20px;font-size:14px}
.kp-check{display:flex;align-items:center;gap:8px;cursor:pointer}
.kp-forgot{font-weight:600}
.kp-auth-go{height:52px;font-size:16px;border-radius:99px}
.kp-or{display:flex;align-items:center;gap:12px;margin:22px 0 14px;color:var(--kp-muted);font:600 12px var(--kp-body);letter-spacing:.1em}
.kp-or::before,.kp-or::after{content:"";flex:1;height:1px;background:var(--kp-line)}
.kp-social{display:flex;justify-content:center}
.kp-switch{text-align:center;margin:22px 0 0;color:var(--kp-muted);font-size:14.5px}
.kp-switch a{font-weight:700}
.kp-note{font-size:13px;color:var(--kp-muted);margin:12px 0 0}
.woocommerce-privacy-policy-text{margin:12px 0}

@media (max-width:900px){
  .woocommerce-cart .woocommerce{grid-template-columns:1fr}
  .woocommerce-cart .cart-collaterals,.woocommerce-cart .woocommerce-cart-form{grid-column:1;grid-row:auto}
  .kp-auth{grid-template-columns:minmax(0,1fr);min-height:0;border-radius:28px}
  .kp-auth-art{flex-direction:row;align-items:center;gap:14px;padding:26px 24px 44px;border-radius:0 0 40px 40px/0 0 30px 30px}
  .kp-auth-logo{margin:0;width:52px;height:52px}
  .kp-auth-logo svg{width:30px;height:30px}
  .kp-auth-hello{margin:0;font-size:26px}
  .kp-auth-art p,.kp-auth-art ul{display:none}
  .kp-auth-main{padding:26px 22px 30px}
}
@media (max-width:700px){
  .woocommerce-cart-form__contents thead{display:none}
  .woocommerce-cart-form__contents,.woocommerce-cart-form__contents tbody{display:block}
  .woocommerce-cart-form__contents tr.cart_item{display:block;background:var(--kp-card);border:1px solid var(--kp-line);border-radius:20px;padding:6px 14px;margin-bottom:12px}
  .woocommerce-cart-form__contents tr.cart_item td{display:flex;justify-content:space-between;align-items:center;border:0;border-bottom:1px solid var(--kp-line);border-radius:0;padding:10px 0;background:transparent}
  .woocommerce-cart-form__contents tr.cart_item td:last-child{border-bottom:0}
  .woocommerce-cart-form__contents tr.cart_item td::before{content:attr(data-title);font-weight:600;color:var(--kp-muted);margin-right:12px}
  .woocommerce-cart-form__contents tr.cart_item td.product-remove::before,.woocommerce-cart-form__contents tr.cart_item td.product-thumbnail::before{content:""}
  .woocommerce-cart-form__contents tr:not(.cart_item) td.actions{display:block}
  .woocommerce-cart-form .coupon{float:none;margin-bottom:10px}
  .woocommerce-cart-form td.actions>button{float:none;width:100%}
}

/* ---------- scroll reveal (only when JavaScript runs; never hides content without it) ---------- */
html.kp-js .kp-rv{opacity:0;transform:translateY(18px);transition:opacity .6s ease,transform .6s ease}
html.kp-js .kp-rv.in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){html.kp-js .kp-rv{opacity:1;transform:none;transition:none}}

/* ---------- Elementor pages ---------- */
.elementor-page .kp-main>.elementor{width:100%}
.elementor-widget-kp_block .kp-section{padding-left:0;padding-right:0}
html.kp-js .kp-card.kp-rv.in{transition:transform .25s,box-shadow .25s,border-color .25s,opacity .6s}


/* =====================================================================
   ANIMATIONS (all switched off for people who prefer reduced motion)
   ===================================================================== */
.kp-btn{position:relative;overflow:hidden}
.kp-btn::after{content:"";position:absolute;top:0;left:-70%;width:45%;height:100%;background:linear-gradient(100deg,transparent,rgba(255,255,255,.38),transparent);transform:skewX(-20deg);transition:left .7s ease;pointer-events:none}
.kp-btn:hover::after{left:130%}
.kp-tile{transition:transform .4s cubic-bezier(.2,.8,.2,1)}
.kp-card:hover .kp-tile{transform:scale(1.09) rotate(-4deg)}
.kp-step svg{transition:transform .35s cubic-bezier(.2,.8,.2,1)}
.kp-step:hover svg{transform:translateY(-4px) rotate(-6deg) scale(1.08)}
.kp-cat{transition:transform .25s,border-color .2s,background .2s,box-shadow .25s}
.kp-cat:hover{transform:translateY(-3px);box-shadow:0 16px 34px rgba(45,35,110,.10)}
.kp-logo svg{transition:transform .4s cubic-bezier(.2,.8,.2,1)}
.kp-logo:hover svg{transform:rotate(-10deg) scale(1.08)}
.kp-wafab::before{content:"";position:absolute;inset:0;border-radius:50%;border:2px solid #25a244;opacity:0}
.kp-hero h1 em{background:linear-gradient(100deg,var(--kp-primary) 25%,var(--kp-b1) 50%,var(--kp-primary) 75%);background-size:220% 100%;-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:var(--kp-primary)}
.kp-float{transition:transform .25s ease-out;transform:translate3d(var(--px,0px),var(--py,0px),0)}
.kp-hero::before{content:"";position:absolute;width:560px;height:560px;left:-140px;top:18%;border-radius:50%;background:radial-gradient(circle,var(--kp-glow2),transparent 70%);pointer-events:none}

@media (prefers-reduced-motion:no-preference){
  .kp-header{animation:kp-down .8s cubic-bezier(.2,.8,.2,1) both}
  .kp-hero .kp-badge,.kp-hero h1,.kp-hero .kp-lead,.kp-hero .kp-ratepill,.kp-hero .kp-hero-btns,.kp-hero .kp-trust{animation:kp-up .9s cubic-bezier(.2,.8,.2,1) both}
  .kp-hero .kp-badge{animation-delay:.15s}
  .kp-hero h1{animation-delay:.3s}
  .kp-hero .kp-lead{animation-delay:.45s}
  .kp-hero .kp-ratepill{animation-delay:.55s}
  .kp-hero .kp-hero-btns{animation-delay:.68s}
  .kp-hero .kp-trust{animation-delay:.82s}
  .kp-hero h1 em{animation:kp-shine 6s linear infinite}
  .kp-hero-btns .kp-btn:first-child{animation:kp-up .9s cubic-bezier(.2,.8,.2,1) both,kp-pulse 2.8s ease-in-out 1.6s infinite}
  .kp-hero::before{animation:kp-drift 16s ease-in-out infinite alternate}
  .kp-float>span{animation:kp-bob 7s ease-in-out infinite}
  .kp-float .f1{animation-duration:8.5s}
  .kp-float .f2{animation-duration:6.2s;animation-delay:-2s}
  .kp-float .f3{animation-duration:7.4s;animation-delay:-4s}
  .kp-float .f4{animation-duration:6.8s;animation-delay:-1s}
  .kp-float .f5{animation-duration:9s;animation-delay:-3s}
  .kp-float .f6{animation-duration:6.5s;animation-delay:-5s}
  .kp-float .f7{animation-duration:7.8s;animation-delay:-2.5s}
  .kp-float .f8{animation-duration:8.2s;animation-delay:-6s}
  .kp-wafab::before{animation:kp-ring 2.6s ease-out infinite}
  .kp-wafab{animation:kp-pop 0.7s cubic-bezier(.2,.9,.3,1.4) 1.2s both}
  .kp-bchip.on{animation:kp-chip .35s cubic-bezier(.2,.9,.3,1.4)}
  .kp-b-out{animation:kp-fade .45s ease both}
  .kp-b-item{animation:kp-up .5s cubic-bezier(.2,.8,.2,1) both}
  .kp-b-item:nth-child(2){animation-delay:.08s}
  .kp-b-item:nth-child(3){animation-delay:.16s}
  .kp-b-item:nth-child(4){animation-delay:.24s}
  .kp-b-item:nth-child(5){animation-delay:.32s}
  .kp-count:not([hidden]){animation:kp-bump .5s cubic-bezier(.2,.9,.3,1.5)}
}
@keyframes kp-down{from{opacity:0;transform:translateY(-22px)}to{opacity:1;transform:none}}
@keyframes kp-up{from{opacity:0;transform:translateY(28px)}to{opacity:1;transform:none}}
@keyframes kp-shine{0%{background-position:120% 0}100%{background-position:-120% 0}}
@keyframes kp-pulse{0%,100%{box-shadow:0 8px 18px rgba(108,92,231,.26),0 0 0 0 rgba(108,92,231,.35)}60%{box-shadow:0 8px 18px rgba(108,92,231,.26),0 0 0 16px rgba(108,92,231,0)}}
@keyframes kp-drift{from{transform:translate(0,0) scale(1)}to{transform:translate(90px,-40px) scale(1.18)}}
@keyframes kp-bob{0%,100%{translate:0 0}50%{translate:0 -16px}}
@keyframes kp-ring{0%{transform:scale(1);opacity:.75}100%{transform:scale(1.7);opacity:0}}
@keyframes kp-chip{0%{transform:scale(.9)}60%{transform:scale(1.06)}100%{transform:scale(1)}}
@keyframes kp-badge{0%,86%,100%{transform:scale(1)}92%{transform:scale(1.12)}}
@keyframes kp-bump{0%{transform:scale(.4)}100%{transform:scale(1)}}
.kp-float .f3{left:1.5%;top:63%}
.kp-float .f7{right:1.5%;top:61%}


/* =====================================================================
   3D + GLASS LAYER (soft pastel panels, glossy tiles, pressable buttons)
   ===================================================================== */
:root{--kp-grad:linear-gradient(100deg,#8b7cf8 0%,#c26cf0 55%,#f06bd2 100%)}
body{background:radial-gradient(60% 420px at 0% 0%,var(--kp-glow1),transparent 70%),radial-gradient(50% 420px at 100% 10%,var(--kp-glow3),transparent 70%),var(--kp-bg);background-repeat:no-repeat}

/* layout safety: nothing inside the login card may be wider than the card */
.kp-auth-main,.kp-auth-pane,.kp-form{min-width:0;max-width:100%}
.kp-field{width:100%;min-width:0}
.kp-field input{width:100%;min-width:0}
.kp-auth-go{width:100%}

/* 3D, pressable buttons */
.kp-btn{box-shadow:0 10px 22px rgba(108,92,231,.26),inset 0 1px 0 rgba(255,255,255,.3)}
.kp-btn:active{transform:scale(.97)}
.kp-btn-o,.kp-btn-soft,.kp-btn-ghost{box-shadow:none}
.kp-btn-o:active,.kp-btn-soft:active,.kp-btn-ghost:active{transform:scale(.97)}
.kp-btn-light{box-shadow:0 6px 14px rgba(45,35,110,.08)}
.kp-btn-light:active{transform:scale(.97)}
.kp-hero-btns .kp-btn:first-child,.kp-b-go,.kp-auth-go{background-image:var(--kp-grad);color:#fff}
.kp-btn-o:hover,.kp-btn-soft:hover{box-shadow:none}

/* glossy 3D logo tiles */
.kp-tile{box-shadow:0 1px 0 rgba(255,255,255,.9) inset,0 -7px 12px rgba(0,0,0,.10) inset,0 18px 30px rgba(45,35,110,.18),0 0 0 7px rgba(255,255,255,.55)}
.kp-tile::before{content:"";position:absolute;inset:0;border-radius:inherit;background:linear-gradient(135deg,rgba(255,255,255,.6),rgba(255,255,255,0) 46%);pointer-events:none;z-index:2}
.kp-card:hover .kp-tile{transform:none}
.kp-marq-item .kp-tile,.kp-marq-item .kp-tile.has-img{box-shadow:none}
.kp-marq-item .kp-tile::before{display:none}
.kp-b-item .kp-tile,.kp-prod-head .kp-tile{box-shadow:0 1px 0 rgba(255,255,255,.85) inset,0 -4px 8px rgba(0,0,0,.10) inset,0 8px 16px rgba(45,35,110,.16)}

/* cards: layered depth, 3D tilt target */
.kp-card{box-shadow:0 1px 0 #fff inset,0 2px 4px rgba(45,35,110,.04),0 14px 30px rgba(45,35,110,.07)}
.kp-card.tilting{transition:transform .08s linear,box-shadow .25s}
.kp-card:active{transform:scale(.985)}
.kp-card-media{box-shadow:inset 0 -18px 30px rgba(255,255,255,.35)}

/* glass stats strip (icon + number side by side) */
.kp-stats{border:0;background:none;padding:34px 0}
.kp-stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:18px;text-align:left;background:rgba(255,255,255,.92);border:1px solid rgba(255,255,255,.95);border-radius:30px;padding:24px 28px;box-shadow:0 24px 54px rgba(45,35,110,.10),0 1px 0 #fff inset}
.kp-stat{display:flex;align-items:center;gap:14px}
.kp-stat+.kp-stat::before{display:block;left:-10px}
.kp-stat .ic{flex:0 0 46px;width:46px;height:46px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(145deg,#fff,var(--kp-soft));color:var(--kp-primary);box-shadow:0 8px 16px rgba(108,92,231,.14),0 1px 0 #fff inset}
.kp-stat .ic svg{width:21px;height:21px}
.kp-stat b{font-size:26px}
.kp-stat span{font-size:13.5px}

/* section heads: short gradient accent that draws in */
.kp-sec-head h2::after{content:"";display:block;width:46px;height:4px;border-radius:4px;margin-top:10px;background:var(--kp-grad)}
html.kp-js .kp-sec-head h2::after{transform:scaleX(0);transform-origin:left;transition:transform .8s .25s cubic-bezier(.2,.8,.2,1)}
html.kp-js .kp-sec-head.in h2::after{transform:none}

/* "How it works": pastel glass cards with a white icon badge and a progress bar */
.kp-step{position:relative;overflow:hidden;border:1px solid rgba(255,255,255,.9);border-radius:30px;padding:26px 24px 24px;box-shadow:0 18px 40px rgba(45,35,110,.10),0 1px 0 #fff inset}
.kp-step::before{content:"";position:absolute;inset:0;pointer-events:none;background:
  radial-gradient(120% 70% at 15% 125%,rgba(255,255,255,.6),transparent 60%),
  radial-gradient(80% 60% at 105% -5%,rgba(255,255,255,.45),transparent 60%)}
.kp-step>*{position:relative}
.kp-step:nth-child(4n+1){background:linear-gradient(160deg,#e8e7fc,#cdd1f6)}
.kp-step:nth-child(4n+2){background:linear-gradient(160deg,#d9f3f0,#bde5e1)}
.kp-step:nth-child(4n+3){background:linear-gradient(160deg,#fde0ea,#f6c0d3)}
.kp-step:nth-child(4n+4){background:linear-gradient(160deg,#feeBd6,#f8d2ab)}
.kp-step svg{width:52px;height:52px;padding:14px;border-radius:50%;background:#fff;color:var(--kp-primary);box-shadow:0 10px 20px rgba(45,35,110,.14)}
.kp-step h3{margin-top:4px}
.kp-step p{color:#4b3a41}
html.kp-js 
/* glass on FAQ, categories, bundle */
.kp-faq details,.kp-cat,.kp-post{background:rgba(255,255,255,.9)}
.kp-bundle{box-shadow:0 34px 80px rgba(108,92,231,.14),0 1px 0 #fff inset}

/* glossy 3D orbs in the hero */
.kp-orb{position:absolute;border-radius:50%;pointer-events:none;z-index:1;transform:translate3d(0,var(--sy,0px),0);background:radial-gradient(circle at 30% 26%,#fff 0,rgba(255,255,255,.35) 22%,var(--kp-b2) 58%,var(--kp-b1) 100%);box-shadow:inset -10px -14px 22px rgba(0,0,0,.16),0 26px 40px rgba(108,92,231,.22)}
.kp-orb.o1{width:62px;height:62px;left:15%;top:13%}
.kp-orb.o2{width:92px;height:92px;right:13%;top:66%}
.kp-float{transform:translate3d(var(--px,0px),calc(var(--py,0px) + var(--sy,0px)),0)}

/* ---- animation fixes: loops that also run on phones (no hover needed) ---- */
.kp-float .f1{--r:-10deg;--s:1.1}.kp-float .f2{--r:8deg;--s:.82}.kp-float .f3{--r:-6deg;--s:.7}.kp-float .f4{--r:12deg;--s:.7}
.kp-float .f5{--r:10deg;--s:1.1}.kp-float .f6{--r:-8deg;--s:.82}.kp-float .f7{--r:6deg;--s:.7}.kp-float .f8{--r:-12deg;--s:.7}
@media (prefers-reduced-motion:no-preference){
  .kp-float>span{animation:kp-bob2 7s ease-in-out infinite}
  .kp-orb.o1{animation:kp-orb 6.5s ease-in-out infinite}
  .kp-orb.o2{animation:kp-orb 8s ease-in-out -3s infinite}
  .kp-hero-btns .kp-btn:first-child::after{animation:kp-sweep 3.8s ease-in-out 2.2s infinite}
  .kp-b-go::after,.kp-auth-go::after{animation:kp-sweep 4.2s ease-in-out 1.5s infinite}
  .kp-bottom{animation:kp-navin .8s cubic-bezier(.2,.9,.3,1.15) .4s both}
  .kp-bn-item.on svg{animation:kp-navpop .5s cubic-bezier(.2,.9,.3,1.5)}
  .kp-bn-item.on::after{animation:kp-dot 1.8s ease-in-out infinite}
  .kp-auth{animation:kp-up .8s cubic-bezier(.2,.8,.2,1) both}
  .kp-auth-art::after{animation:kp-drift 14s ease-in-out infinite alternate}
}
@keyframes kp-bob2{0%,100%{transform:rotate(var(--r,0deg)) scale(var(--s,1)) translateY(0)}50%{transform:rotate(var(--r,0deg)) scale(var(--s,1)) translateY(-16px)}}
@keyframes kp-orb{0%,100%{margin-top:0}50%{margin-top:-18px}}
@keyframes kp-sweep{0%{left:-70%}55%,100%{left:130%}}
@keyframes kp-breathe{0%,100%{margin-top:0}50%{margin-top:-6px}}
@keyframes kp-navin{from{opacity:0;transform:translateY(90px)}to{opacity:1;transform:none}}
@keyframes kp-navpop{0%{transform:translateY(0) scale(.7)}100%{transform:translateY(-2px) scale(1.08)}}
@keyframes kp-dot{0%,100%{transform:scale(1)}50%{transform:scale(1.5)}}

/* ---- mobile bottom navigation: floating red pill with a round logo button ---- */
@media (max-width:720px){
  body{padding-bottom:96px}
  .kp-bottom{display:flex;align-items:center;gap:2px;position:fixed;left:10px;right:10px;bottom:10px;z-index:60;padding:8px;border-radius:999px;background:linear-gradient(180deg,var(--kp-b1),var(--kp-primary) 62%,var(--kp-save));box-shadow:0 18px 40px rgba(108,92,231,.4),0 2px 0 rgba(255,255,255,.35) inset,0 -3px 0 rgba(0,0,0,.14) inset}
  .kp-bn-logo{flex:0 0 52px;height:52px;margin-right:4px;border-radius:50%;background:#fff;display:grid;place-items:center;box-shadow:0 8px 16px rgba(0,0,0,.2),0 -3px 0 rgba(108,92,231,.14) inset;transition:transform .25s}
  .kp-bn-logo:active{transform:scale(.92)}
  .kp-bn-logo svg{width:30px;height:30px}
  .kp-bn-logo.on{box-shadow:0 0 0 3px rgba(255,255,255,.5),0 8px 16px rgba(0,0,0,.22)}
  .kp-bn-item{flex:1;min-width:0;position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;height:56px;padding:0;border:0;background:transparent;color:rgba(255,255,255,.88);font:600 10.5px var(--kp-body);border-radius:20px;cursor:pointer;text-decoration:none;transition:background .25s,transform .15s}
  .kp-bn-item:hover{text-decoration:none;color:#fff}
  .kp-bn-item:active{transform:scale(.92)}
  .kp-bn-item svg{width:22px;height:22px}
  .kp-bn-item.on{background:rgba(0,0,0,.17);color:#fff;box-shadow:inset 0 1px 0 rgba(255,255,255,.18)}
  .kp-bn-item.on svg{transform:translateY(-2px) scale(1.08)}
  .kp-bn-item.on::after{content:"";position:absolute;bottom:3px;width:5px;height:5px;border-radius:50%;background:#fff}
  .kp-bn-item .kp-count{top:5px;right:calc(50% - 24px);min-width:18px;height:18px;background:#fff;color:var(--kp-primary);border:2px solid var(--kp-primary)}
  .kp-wafab{bottom:96px;right:14px}
  .kp-join{bottom:96px}
  .kp-stats-grid{grid-template-columns:1fr 1fr;padding:18px 16px;gap:16px 10px}
  .kp-stat+.kp-stat::before{display:none}
  .kp-stat b{font-size:22px}
}

/* ---------- small-phone polish ---------- */
.kp-ratepill{flex-wrap:wrap;justify-content:center;row-gap:2px}
.kp-ratepill span,.kp-ratepill b{white-space:nowrap}
.kp-check span,.kp-forgot{white-space:nowrap}
.kp-auth-row{flex-wrap:wrap}
@media (max-width:720px){
  .kp-orb.o1{left:-14px;top:4%;width:54px;height:54px}
  .kp-orb.o2{right:-24px;top:40%;width:70px;height:70px}
  .kp-ratepill{padding:8px 14px;font-size:13.5px;gap:4px 10px}
}
@media (max-width:360px){
  .kp-nav{padding:8px 8px 8px 12px;gap:6px}
  .kp-logo{font-size:16px;gap:6px}
  .kp-logo svg,.kp-logo img{width:22px;height:22px}
  .kp-ic,.kp-login{width:34px;height:34px}
  .kp-ic svg,.kp-login svg{width:16px;height:16px}
  .kp-actions{gap:4px}
  .kp-bn-item span:not(.kp-count){font-size:9.5px}
}
@media (max-width:720px){
  .kp-orb.o1{top:14%}
  .kp-orb.o2{display:none}
  .kp-ratepill span:not(.st)+span::before{display:none}
}

/* =====================================================================
   VIOLET UI: search pill, dark navigation, violet bands, CTA, fewer heavy effects
   ===================================================================== */

/* search bar: light pill with a small black round button */
.kp-searchbar{background:transparent;border:0;box-shadow:none;padding:0;margin-top:10px}
.kp-search{display:flex;align-items:center;gap:0;background:#efeef6;border-radius:999px;padding:5px 20px 5px 5px;box-shadow:0 14px 30px rgba(45,35,110,.14),inset 0 1px 0 rgba(255,255,255,.8)}
.kp-search:focus-within{box-shadow:0 0 0 3px rgba(108,92,231,.3),0 14px 30px rgba(45,35,110,.14)}
.kp-search-go{flex:0 0 38px;width:38px;height:38px;border-radius:50%;border:0;background:#14121f;color:#fff;display:grid;place-items:center;cursor:pointer;box-shadow:0 6px 12px rgba(0,0,0,.25);transition:transform .2s}
.kp-search-go:active{transform:scale(.9)}
.kp-search-go svg{width:18px;height:18px}
.kp-search input[type=search]{flex:1;min-width:0;height:38px;border:0;background:transparent;border-radius:0;padding:0 14px;font:700 15.5px var(--kp-body);color:#2a2840;outline:0}
.kp-search input[type=search]::placeholder{color:#8b89a6;font-weight:700}
.kp-search input[type=search]::-webkit-search-cancel-button{-webkit-appearance:none}

/* violet bands (How it works, call-to-action) */
.kp-band,.kp-cta{position:relative;overflow:hidden;color:#fff;border-radius:38px;background:linear-gradient(135deg,#7f70f7 0%,#5f4fdc 100%);box-shadow:0 26px 50px rgba(95,79,220,.26)}
.kp-band{padding:44px 38px 38px}
.kp-band::before,.kp-cta::before{content:"";position:absolute;width:420px;height:420px;border-radius:50%;right:-120px;top:-190px;background:radial-gradient(circle,rgba(255,255,255,.22),transparent 70%);pointer-events:none}
.kp-band::after,.kp-cta::after{content:"";position:absolute;width:380px;height:380px;border-radius:50%;right:-80px;bottom:-190px;background:radial-gradient(circle,rgba(238,107,214,.38),transparent 70%);pointer-events:none}
.kp-band>*,.kp-cta>*{position:relative;z-index:1}
.kp-band .kp-sec-head h2{color:#fff}
.kp-band .kp-sec-head h2::after{background:linear-gradient(90deg,#fff,#f3a6ea)}
.kp-band .kp-sec-head p{color:rgba(255,255,255,.84)}
.kp-band .kp-step{background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.28);box-shadow:none}
.kp-band .kp-step::before{display:none}
.kp-band .kp-step svg{background:#fff;color:var(--kp-primary);box-shadow:0 10px 20px rgba(30,20,90,.25)}
.kp-band .kp-step h3{color:#fff}
.kp-band .kp-step p{color:rgba(255,255,255,.86)}

.kp-cta{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);align-items:center;gap:20px;padding:46px 46px}
.kp-cta h2{color:#fff;font-size:clamp(26px,3.6vw,40px);margin-bottom:12px}
.kp-cta h2 em{font-family:var(--kp-serif);font-style:italic;font-weight:400;color:#ffd1f4;font-size:1.06em}
.kp-cta p{color:rgba(255,255,255,.86);max-width:470px;margin-bottom:22px}
.kp-btn-pink{background-color:#f06bd2;background-image:linear-gradient(100deg,#f68ae6,#e062d0);color:#fff;border-color:transparent;box-shadow:0 12px 24px rgba(240,107,210,.4)}
.kp-btn-pink:hover{color:#fff}
.kp-cta-art{position:relative;min-height:230px}
.kp-cta-art>span{position:absolute}
.kp-cta-art .kp-tile{width:92px;height:92px;border-radius:26px}
.kp-cta-art .t1{left:6%;top:6%;transform:rotate(-9deg)}
.kp-cta-art .t2{right:8%;top:26%;transform:rotate(8deg) scale(1.15)}
.kp-cta-art .t3{left:30%;bottom:0;transform:rotate(-4deg)}
.kp-cta-art .kp-orb{position:absolute;width:50px;height:50px;right:38%;top:4%;transform:none}

/* dark navigation pill (phones): icons only, the open page expands with its name */
@media (max-width:720px){
  .kp-bottom{justify-content:space-between;gap:2px;padding:8px;background:#1b1a22;box-shadow:0 18px 38px rgba(20,16,50,.4),inset 0 1px 0 rgba(255,255,255,.08)}
  .kp-bn-item{flex:0 0 auto;flex-direction:row;gap:0;height:50px;min-width:50px;padding:0 14px;justify-content:center;color:#b9b6c8;border-radius:999px;transition:background .3s,color .3s,padding .3s,transform .15s}
  .kp-bn-item svg{width:22px;height:22px}
  .kp-bn-item span:not(.kp-count){max-width:0;overflow:hidden;opacity:0;white-space:nowrap;font:600 14px var(--kp-body);transition:max-width .35s ease,opacity .25s ease,margin .3s}
  .kp-bn-item.on{background:#34333f;color:#fff;padding:0 18px}
  .kp-bn-item.on span:not(.kp-count){max-width:90px;opacity:1;margin-left:9px}
  .kp-bn-item.on svg{transform:none}
  .kp-bn-item.on::after{display:none}
  .kp-bn-item .kp-count{top:5px;right:5px;min-width:16px;height:16px;font-size:10px;background:var(--kp-pink);color:#fff;border:0}
  html.kp-kb .kp-bottom,html.kp-kb .kp-wafab,html.kp-kb .kp-join{display:none!important}
  .kp-band{padding:30px 20px 24px;border-radius:30px}
  .kp-cta{grid-template-columns:minmax(0,1fr);padding:30px 24px;border-radius:30px}
  .kp-cta-art{min-height:150px}
  .kp-cta-art .kp-tile{width:70px;height:70px;border-radius:20px}
}

/* lighter pages: isolate the hero, and let slow phones skip the looping motion */
.kp-hero{contain:paint}
html.kp-lite .kp-float>span,html.kp-lite .kp-orb,html.kp-lite .kp-hero::before,html.kp-lite .kp-wafab::before,html.kp-lite .kp-hero-btns .kp-btn:first-child::after,html.kp-lite .kp-hero-btns .kp-btn:first-child{animation:none!important}

/* navigation pill: same shape, now glass in the site's violet */
@media (max-width:720px){
  .kp-bottom{background:linear-gradient(135deg,rgba(132,116,248,.78),rgba(92,76,216,.86));-webkit-backdrop-filter:blur(14px) saturate(1.5);backdrop-filter:blur(14px) saturate(1.5);border:1px solid rgba(255,255,255,.38);box-shadow:0 16px 36px rgba(80,64,200,.38),inset 0 1px 0 rgba(255,255,255,.5),inset 0 -1px 0 rgba(255,255,255,.12)}
  .kp-bn-item{color:rgba(255,255,255,.8)}
  .kp-bn-item:hover{color:#fff}
  .kp-bn-item.on{background:rgba(255,255,255,.24);color:#fff;box-shadow:inset 0 1px 0 rgba(255,255,255,.55),0 6px 14px rgba(60,44,170,.25)}
  .kp-bn-item .kp-count{background:#ff7ad9;color:#fff;box-shadow:0 0 0 2px rgba(255,255,255,.55)}
  html.kp-lite .kp-bottom{-webkit-backdrop-filter:none;backdrop-filter:none;background:linear-gradient(135deg,#8474f8,#5c4cd8)}
}

/* stats strip: looks balanced with 2, 3 or 4 items (some are hidden until you add products with prices) */
.kp-stats-grid{display:flex;flex-wrap:wrap;justify-content:space-evenly;align-items:center;gap:18px 10px}
.kp-stat{flex:1 1 190px;justify-content:center}
@media (max-width:720px){
  .kp-stats-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px 10px}
  .kp-stat{flex:none;justify-content:flex-start}
  .kp-stat:last-child:nth-child(odd){grid-column:1/-1;justify-content:center}
}
