/* ==========================================================================
   Karsazy Shadman — main stylesheet
   Colors and sizes are tokens below: change them here to restyle the site.
   ========================================================================== */
:root{
  --ks-bg:#ffffff; --ks-surface:#f8f5fc; --ks-card:#ffffff; --ks-tint:#f1e9fa;
  --ks-ink:#1d1426; --ks-muted:#6c6180; --ks-line:#e8e0f1;
  --ks-brand:#6b2ba8; --ks-brand-hover:#5a2190; --ks-deep:#2c0d4e; --ks-on-brand:#ffffff;
  --ks-gold:#f0b43c; --ks-ok:#1f9d63; --ks-tg:#229ed9; --ks-err:#c2410c;
  --ks-font:"KS Yekan","IRANYekan","Iran Yekan",Tahoma,sans-serif;
  --ks-r:16px; --ks-shadow:0 1px 2px rgb(44 13 78/.06),0 8px 24px -12px rgb(44 13 78/.18);
  --ks-max:1200px;
}

/* ---------- base (also overrides Hello Elementor's pink defaults) ---------- */
body.karsazy{background:var(--ks-bg);color:var(--ks-ink);font-family:var(--ks-font);font-size:15px;line-height:1.75;-webkit-font-smoothing:antialiased}
body.karsazy a{color:inherit;text-decoration:none}
body.karsazy a:hover{color:var(--ks-brand)}
body.karsazy h1,body.karsazy h2,body.karsazy h3,body.karsazy h4{font-family:var(--ks-font);color:var(--ks-ink);line-height:1.4;text-wrap:balance;margin-top:0}
body.karsazy button,body.karsazy input,body.karsazy select,body.karsazy textarea{font-family:var(--ks-font)}
body.karsazy :focus-visible{outline:2px solid var(--ks-brand);outline-offset:2px}
body.karsazy img{max-width:100%;height:auto}
.ks-wrap{max-width:var(--ks-max);margin-inline:auto;padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px))}
.ks-num,.price,.amount{font-variant-numeric:tabular-nums}
.ks-icon{width:20px;height:20px;flex:none}
.ks-eyebrow{display:block;font-size:13px;font-weight:700;color:var(--ks-brand)}
.ks-tag{display:inline-block;font-size:12px;font-weight:700;padding:2px 10px;border-radius:99px;background:var(--ks-tint);color:var(--ks-brand);line-height:1.8}
.ks-section{padding-block:56px}
.ks-section-head{display:flex;align-items:end;justify-content:space-between;gap:16px;margin-bottom:24px;flex-wrap:wrap}
.ks-section-head h2{font-size:clamp(22px,2.6vw,28px);font-weight:800;margin:0}
.ks-more{color:var(--ks-brand)!important;font-weight:700;font-size:14px}
.ks-bars{display:inline-flex;align-items:end;gap:5px;height:28px}
.ks-bars i{display:block;width:9px;background:var(--ks-brand);border-radius:3px 3px 0 0}
.ks-bars i:nth-child(1){height:45%;opacity:.45}.ks-bars i:nth-child(2){height:70%;opacity:.7}.ks-bars i:nth-child(3){height:100%}

/* ---------- buttons ---------- */
body.karsazy .ks-btn,
body.karsazy .button,
body.karsazy button.button,
body.karsazy a.button,
body.karsazy input.button,
body.karsazy #place_order,
body.karsazy .single_add_to_cart_button,
body.karsazy .checkout-button,
body.karsazy .woocommerce-Button{
  display:inline-flex;align-items:center;justify-content:center;gap:8px;border:0;border-radius:12px;padding:12px 22px;
  font-weight:700;font-size:15px;line-height:1.5;cursor:pointer;background:var(--ks-brand);color:var(--ks-on-brand);
  transition:background .15s,transform .15s;white-space:nowrap;text-decoration:none}
body.karsazy .ks-btn:hover,body.karsazy .button:hover,body.karsazy #place_order:hover,body.karsazy .single_add_to_cart_button:hover,body.karsazy .checkout-button:hover{background:var(--ks-brand-hover);color:var(--ks-on-brand)}
body.karsazy .ks-btn--ghost{background:var(--ks-tint);color:var(--ks-brand)}
body.karsazy .ks-btn--ghost:hover{background:var(--ks-line);color:var(--ks-brand)}
body.karsazy .ks-btn--white{background:#fff;color:var(--ks-deep)}
body.karsazy .ks-btn--white:hover{background:var(--ks-tint);color:var(--ks-deep)}
body.karsazy .ks-btn--tg{background:var(--ks-tg);color:#fff}
body.karsazy .ks-btn--tg:hover{background:#1a8cc2;color:#fff}
body.karsazy .ks-btn--block{width:100%}
body.karsazy .button.loading{opacity:.6}
body.karsazy .added_to_cart{display:none}

/* ---------- form fields ---------- */
body.karsazy input[type=text],body.karsazy input[type=email],body.karsazy input[type=tel],body.karsazy input[type=password],
body.karsazy input[type=search],body.karsazy input[type=number],body.karsazy input[type=url],body.karsazy textarea,body.karsazy select{
  border:1px solid var(--ks-line);background:var(--ks-surface);border-radius:12px;padding:11px 14px;color:var(--ks-ink);width:100%;font-size:15px;outline:0;transition:border-color .15s,background .15s}
body.karsazy input:focus,body.karsazy textarea:focus,body.karsazy select:focus{border-color:var(--ks-brand);background:var(--ks-card)}
body.karsazy label{font-weight:700;font-size:14px}
body.karsazy .required{color:var(--ks-err);text-decoration:none;border:0}

/* ---------- top bar & header ---------- */
.ks-topbar{background:var(--ks-deep);color:#efe4fb;font-size:13px}
.ks-topbar .ks-wrap{display:flex;justify-content:space-between;gap:12px;padding-block:7px;flex-wrap:wrap}
.ks-header{position:sticky;top:0;z-index:50;background:var(--ks-card);border-bottom:1px solid var(--ks-line)}
body.admin-bar .ks-header{top:32px}
@media(max-width:782px){body.admin-bar .ks-header{top:0}}
.ks-hrow{display:flex;align-items:center;gap:20px;padding-block:12px}
.ks-brand{display:flex;align-items:center;gap:10px;flex:none}
.ks-brand img{width:44px;height:44px;border-radius:12px;object-fit:cover}
.ks-brand b{font-size:17px;font-weight:900;line-height:1.2;display:block}
.ks-brand small{font-size:11px;color:var(--ks-muted);display:block;direction:ltr;text-align:right}
.ks-search{flex:1;display:flex;align-items:center;gap:8px;background:var(--ks-surface);border:1px solid var(--ks-line);border-radius:12px;padding:0 14px;min-width:0;margin:0}
body.karsazy .ks-search input{border:0;background:none;padding:11px 0;min-width:0}
.ks-search .ks-icon{color:var(--ks-muted)}
.ks-hicons{display:flex;gap:8px;flex:none}
.ks-hbtn{display:inline-flex;align-items:center;gap:8px;padding:9px 14px;border-radius:12px;border:1px solid var(--ks-line);font-weight:600;font-size:14px;background:var(--ks-card);position:relative}
.ks-hbtn:hover{border-color:var(--ks-brand)}
.ks-cart-count{position:absolute;top:-7px;inset-inline-start:-7px;background:var(--ks-brand);color:var(--ks-on-brand);font-size:11px;min-width:19px;height:19px;border-radius:99px;display:grid;place-items:center;font-weight:800;padding-inline:4px}
.ks-cart-count[hidden]{display:none}
body.karsazy .ks-menu-toggle{display:none;background:none;border:1px solid var(--ks-line);border-radius:12px;padding:9px;color:var(--ks-ink)}
.ks-nav{border-top:1px solid var(--ks-line)}
.ks-menu{list-style:none;margin:0;padding:0;display:flex;gap:4px}
.ks-menu>li{position:relative}
.ks-menu a{display:block;padding:11px 14px;font-weight:600;font-size:14px;color:var(--ks-muted);border-bottom:2px solid transparent;white-space:nowrap}
.ks-menu a:hover,.ks-menu .current-menu-item>a,.ks-menu .current_page_item>a{color:var(--ks-brand);border-bottom-color:var(--ks-brand)}
.ks-menu .sub-menu{display:none;position:absolute;top:100%;inset-inline-start:0;min-width:220px;list-style:none;margin:0;padding:8px;background:var(--ks-card);border:1px solid var(--ks-line);border-radius:14px;box-shadow:var(--ks-shadow);z-index:5}
.ks-menu li:hover>.sub-menu,.ks-menu li:focus-within>.sub-menu{display:block}
.ks-menu .sub-menu a{border:0;border-radius:8px;padding:8px 12px}
.ks-menu .sub-menu a:hover{background:var(--ks-surface)}
@media(max-width:860px){
  .ks-hrow{flex-wrap:wrap;gap:8px}
  .ks-hicons{margin-inline-start:auto;gap:6px}
  .ks-hbtn{padding:9px}
  .ks-brand{gap:8px}
  .ks-brand img{width:38px;height:38px}
  .ks-brand b{font-size:15px}
  .ks-topbar .ks-wrap>span:last-child{display:none}
  .ks-search{order:3;flex-basis:100%}
  .ks-lbl,.ks-brand small{display:none}
  body.karsazy .ks-menu-toggle{display:inline-flex}
  .ks-nav{display:none}
  .ks-nav.is-open{display:block}
  .ks-menu{flex-direction:column;padding-block:8px}
  .ks-menu a{border-bottom:0;border-radius:10px}
  .ks-menu .sub-menu{display:block;position:static;box-shadow:none;border:0;padding:0 16px 0 0}
}

/* ---------- footer ---------- */
.ks-footer{background:var(--ks-deep);color:#d9c8ee;margin-top:56px}
.ks-footer h4{color:#fff;margin:0 0 10px;font-size:15px}
.ks-footer .ks-brand b{color:#fff}
.ks-footer a{color:#d9c8ee}
body.karsazy .ks-footer a:hover{color:#fff}
.ks-fgrid{display:grid;grid-template-columns:1.4fr repeat(3,1fr);gap:28px;padding-block:44px 28px}
.ks-fabout p{font-size:14px;max-width:40ch;margin-top:12px}
.ks-fmenu{list-style:none;margin:0;padding:0;display:grid;gap:6px;font-size:14px}
.ks-copy{grid-column:1/-1;border-top:1px solid rgb(255 255 255/.12);padding-top:16px;font-size:13px}
@media(max-width:760px){.ks-fgrid{grid-template-columns:repeat(2,minmax(0,1fr))}.ks-fabout{grid-column:1/-1}}

/* ---------- page title band (shop, account, cart, checkout) ---------- */
.ks-ptitle{background:var(--ks-surface);border-bottom:1px solid var(--ks-line)}
.ks-ptitle .ks-wrap{padding-block:28px}
.ks-ptitle h1{font-size:clamp(24px,3vw,32px);font-weight:900;margin:0}
.ks-ptitle p{color:var(--ks-muted);margin:4px 0 0}
body.karsazy .woocommerce-breadcrumb{font-size:13px;color:var(--ks-muted);margin:0 0 6px}
body.karsazy .woocommerce-breadcrumb a:hover{color:var(--ks-brand)}

/* ---------- notices ---------- */
body.karsazy .woocommerce-message,body.karsazy .woocommerce-info,body.karsazy .woocommerce-error{
  list-style:none;margin:0 0 20px;padding:14px 18px;border-radius:14px;border:1px solid var(--ks-line);background:var(--ks-surface);color:var(--ks-ink);display:flex;gap:12px;align-items:center;justify-content:space-between;flex-wrap:wrap}
body.karsazy .woocommerce-message{border-color:color-mix(in srgb,var(--ks-ok) 40%,var(--ks-line));background:color-mix(in srgb,var(--ks-ok) 8%,var(--ks-card))}
body.karsazy .woocommerce-error{border-color:color-mix(in srgb,var(--ks-err) 40%,var(--ks-line));background:color-mix(in srgb,var(--ks-err) 6%,var(--ks-card));display:block}
body.karsazy .woocommerce-message::before,body.karsazy .woocommerce-info::before,body.karsazy .woocommerce-error::before{display:none}
body.karsazy .woocommerce-message .button,body.karsazy .woocommerce-info .button{order:2;padding:8px 16px;font-size:14px}

/* ---------- product grid & cards ---------- */
body.karsazy ul.products{list-style:none;margin:0;padding:0;display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}
body.karsazy ul.products::before,body.karsazy ul.products::after{display:none!important}
body.karsazy ul.products li.product{width:auto!important;margin:0!important;float:none!important;padding:0;min-width:0}
@media(max-width:1020px){body.karsazy ul.products{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:760px){body.karsazy ul.products{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}}
@media(max-width:420px){body.karsazy ul.products{grid-template-columns:minmax(0,1fr)}}
.ks-card{background:var(--ks-card);border:1px solid var(--ks-line);border-radius:var(--ks-r);overflow:hidden;display:flex;flex-direction:column;height:100%;transition:box-shadow .2s,transform .2s}
.ks-card:hover{box-shadow:var(--ks-shadow);transform:translateY(-2px)}
.ks-card__img{display:block;aspect-ratio:16/9;position:relative;background:var(--ks-tint);overflow:hidden}
.ks-card__img img{width:100%;height:100%!important;object-fit:cover;display:block;margin:0!important}
.ks-card__body{padding:14px 16px 16px;display:flex;flex-direction:column;gap:8px;flex:1}
.ks-card__meta{display:flex;justify-content:space-between;align-items:center;gap:8px;font-size:12px;color:var(--ks-muted)}
body.karsazy .ks-card__title{font-size:15px;font-weight:800;margin:0;padding:0}
.ks-card__foot{margin-top:auto;display:flex;justify-content:space-between;align-items:center;gap:8px;padding-top:10px;border-top:1px dashed var(--ks-line)}
body.karsazy .ks-card .price{margin:0;color:var(--ks-brand);font-weight:900;font-size:16px;display:flex;flex-wrap:wrap;gap:0 8px;align-items:baseline}
body.karsazy .ks-card .price del{color:var(--ks-muted);font-weight:500;font-size:13px;opacity:1}
body.karsazy .ks-card .price ins{text-decoration:none;background:none;order:-1}
body.karsazy .ks-add{width:38px;height:38px;padding:0!important;border-radius:10px!important;background:var(--ks-tint)!important;color:var(--ks-brand)!important;display:grid!important;place-items:center;flex:none}
body.karsazy .ks-add:hover{background:var(--ks-brand)!important;color:var(--ks-on-brand)!important}
body.karsazy .ks-add.added{background:var(--ks-ok)!important;color:#fff!important}
.ks-flag{position:absolute;top:10px;inset-inline-start:10px;font-weight:800;font-size:12px;border-radius:99px;padding:2px 10px;line-height:1.8}
.ks-flag--sale{background:var(--ks-gold);color:#2b1a00}
.ks-flag--free{background:var(--ks-ok);color:#fff}
.ks-stars{color:var(--ks-gold);font-size:13px;font-weight:700}
.ks-free{color:var(--ks-ok);font-weight:900}
.ks-cover{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:space-between;padding:14px;background:linear-gradient(150deg,#4a1a7d,#2c0d4e);color:#fff}
.ks-cover b{font-size:16px;font-weight:900;line-height:1.4}
.ks-cover .ks-bars i{background:#fff;width:8px}
body.karsazy span.onsale{display:none}

/* ---------- shop toolbar ---------- */
.ks-shop{padding-block:28px}
.ks-toolbar{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:20px}
.ks-chips{display:flex;gap:8px;flex-wrap:wrap}
.ks-chip{border:1px solid var(--ks-line);background:var(--ks-card);border-radius:99px;padding:6px 16px;font-weight:600;font-size:14px}
.ks-chip.is-on,.ks-chip:hover{border-color:var(--ks-brand);color:var(--ks-brand);background:var(--ks-tint)}
body.karsazy .woocommerce-ordering{margin:0}
body.karsazy .woocommerce-ordering select{width:auto;padding:8px 12px;background:var(--ks-card)}
body.karsazy .woocommerce-result-count{color:var(--ks-muted);font-size:14px;margin:0 0 14px;float:none}
body.karsazy .woocommerce-pagination ul{display:flex;gap:6px;justify-content:center;border:0;margin-top:28px;padding:0;list-style:none}
body.karsazy .woocommerce-pagination ul li{border:0;float:none}
body.karsazy .woocommerce-pagination ul li a,body.karsazy .woocommerce-pagination ul li span{width:38px;height:38px;border-radius:10px;border:1px solid var(--ks-line);display:grid;place-items:center;font-weight:700;padding:0}
body.karsazy .woocommerce-pagination ul li span.current{background:var(--ks-brand);border-color:var(--ks-brand);color:var(--ks-on-brand)}

/* ---------- single course page ---------- */
.ks-pgrid{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:32px;align-items:start;padding-block:28px}
@media(max-width:960px){.ks-pgrid{grid-template-columns:minmax(0,1fr)}}
.ks-pmedia{border-radius:20px;overflow:hidden;aspect-ratio:16/9;background:var(--ks-tint);position:relative}
.ks-pmedia img{width:100%;height:100%!important;object-fit:cover;display:block}
.ks-play{position:absolute;inset:0;margin:auto;width:72px;height:72px;border-radius:50%;background:rgb(255 255 255/.92);display:grid;place-items:center;color:var(--ks-deep);box-shadow:0 10px 30px rgb(0 0 0/.3)}
body.karsazy .ks-ptitle-main{font-size:clamp(24px,3vw,32px);font-weight:900;margin:8px 0 0}
.ks-pfacts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-top:18px}
.ks-pfacts div{background:var(--ks-surface);border:1px solid var(--ks-line);border-radius:12px;padding:12px;display:grid;gap:2px}
.ks-pfacts span{font-size:12px;color:var(--ks-muted)}
.ks-pfacts b{font-size:14px}
@media(max-width:640px){.ks-pfacts{grid-template-columns:repeat(2,minmax(0,1fr))}}
.ks-short{color:var(--ks-muted);margin-top:14px}
.ks-tabs{display:flex;gap:4px;border-bottom:1px solid var(--ks-line);margin-top:28px;overflow-x:auto}
body.karsazy .ks-tabs button{border:0;background:none;padding:12px 16px;font-weight:700;color:var(--ks-muted);border-bottom:2px solid transparent;border-radius:0;white-space:nowrap}
body.karsazy .ks-tabs button[aria-selected=true]{color:var(--ks-brand);border-bottom-color:var(--ks-brand)}
.ks-tabpanel{padding-block:20px}
.ks-tabpanel[hidden]{display:none}
.ks-content-text{max-width:72ch}
.ks-content-text p{color:var(--ks-muted)}
.ks-checks{list-style:none;padding:0;margin:14px 0 0;display:grid;gap:10px}
.ks-checks li{display:flex;gap:10px;align-items:start}
.ks-checks li::before{content:"";flex:none;width:22px;height:22px;margin-top:3px;border-radius:50%;background:var(--ks-tint) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%236b2ba8' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12l5 5L20 7'/%3E%3C/svg%3E") center/14px no-repeat}
.ks-faq{border:1px solid var(--ks-line);border-radius:12px;padding:14px 16px;margin-bottom:10px;background:var(--ks-card)}
.ks-faq summary{font-weight:700;cursor:pointer}
.ks-faq p{margin:8px 0 0;color:var(--ks-muted)}
.ks-trainer{display:flex;gap:14px;align-items:center;padding:16px;border:1px solid var(--ks-line);border-radius:16px;margin-top:20px}
.ks-trainer .ks-av{width:56px;height:56px;border-radius:50%;background:var(--ks-brand);color:var(--ks-on-brand);display:grid;place-items:center;font-weight:900;font-size:20px;flex:none}
.ks-trainer p{font-size:14px;color:var(--ks-muted);margin:0}
.ks-buybox{position:sticky;top:140px;background:var(--ks-card);border:1px solid var(--ks-line);border-radius:20px;padding:22px;box-shadow:var(--ks-shadow);display:grid;gap:14px}
body.karsazy .ks-buybox .price{font-size:28px;font-weight:900;color:var(--ks-brand);margin:0;display:flex;flex-wrap:wrap;gap:0 10px;align-items:baseline}
body.karsazy .ks-buybox .price del{font-size:16px;color:var(--ks-muted);font-weight:500}
body.karsazy .ks-buybox .price ins{text-decoration:none;order:-1}
body.karsazy .ks-buybox form.cart{margin:0;display:grid;gap:10px}
body.karsazy .ks-buybox form.cart .quantity{display:none}
body.karsazy .ks-buybox .single_add_to_cart_button{width:100%;padding-block:14px;font-size:16px}
body.karsazy .ks-buybox .stock{margin:0;font-size:14px}
.ks-perks{list-style:none;padding:0;margin:0;display:grid;gap:8px;font-size:14px;color:var(--ks-muted)}
.ks-perks li{display:flex;gap:8px;align-items:center}
.ks-perks .ks-icon{color:var(--ks-brand);width:18px;height:18px}
.ks-mbuy{display:none}
@media(max-width:960px){
  .ks-buybox{position:static}
  .ks-mbuy{display:flex;position:fixed;inset-inline:0;bottom:0;z-index:40;background:var(--ks-card);border-top:1px solid var(--ks-line);padding:10px max(16px,env(safe-area-inset-right,0px)) calc(10px + env(safe-area-inset-bottom,0px)) max(16px,env(safe-area-inset-left,0px));justify-content:space-between;align-items:center;gap:12px;box-shadow:0 -8px 24px -12px rgb(0 0 0/.2)}
  body.karsazy .ks-mbuy .price{margin:0;font-weight:900;color:var(--ks-brand);font-size:18px}
  body.single-product .ks-footer{padding-bottom:70px}
}
body.karsazy .related.products>h2,body.karsazy .upsells.products>h2{font-size:22px;font-weight:800;margin:36px 0 18px}
body.karsazy .related ul.products{grid-template-columns:repeat(auto-fill,minmax(220px,1fr))}
/* reviews */
body.karsazy #reviews .commentlist{list-style:none;padding:0;margin:0;display:grid;gap:12px}
body.karsazy #reviews .commentlist li .comment_container{border:1px solid var(--ks-line);border-radius:14px;padding:14px;display:flex;gap:12px}
body.karsazy #reviews .commentlist img.avatar{width:40px;height:40px;border-radius:50%;border:0;position:static;padding:0}
body.karsazy #reviews .comment-text{border:0!important;margin:0!important;padding:0!important}
body.karsazy .star-rating{color:var(--ks-gold)}

/* ---------- cart page ---------- */
body.karsazy table.shop_table{border:1px solid var(--ks-line);border-radius:16px;border-collapse:separate;border-spacing:0;overflow:hidden;width:100%;background:var(--ks-card)}
body.karsazy table.shop_table th{background:var(--ks-surface);font-size:13px;color:var(--ks-muted);font-weight:700}
body.karsazy table.shop_table th,body.karsazy table.shop_table td{padding:14px 16px;border:0;border-top:1px solid var(--ks-line);text-align:start;vertical-align:middle}
body.karsazy table.shop_table tr:first-child th,body.karsazy table.shop_table thead+tbody tr:first-child td{border-top:0}
body.karsazy table.shop_table img{width:96px;border-radius:10px;aspect-ratio:16/9;object-fit:cover}
body.karsazy table.cart a.remove{color:var(--ks-err)!important;font-size:22px;border-radius:50%;width:30px;height:30px;display:grid;place-items:center}
body.karsazy table.cart a.remove:hover{background:color-mix(in srgb,var(--ks-err) 12%,transparent)}
body.karsazy table.cart .quantity{display:none}
body.karsazy table.cart td.actions .coupon{display:flex;gap:8px;flex-wrap:wrap}
body.karsazy table.cart td.actions .coupon input{width:200px}
body.karsazy table.cart button[name=update_cart]{display:none}
body.karsazy .cart-collaterals .cart_totals{width:100%;max-width:420px;margin-top:24px;margin-inline-start:auto;float:none}
body.karsazy .cart_totals h2{font-size:18px}
body.karsazy .wc-proceed-to-checkout .checkout-button{width:100%;font-size:16px;padding-block:14px}
body.karsazy .cart-empty{font-size:18px;font-weight:700}
body.karsazy .return-to-shop .button{margin-top:10px}

/* ---------- checkout ---------- */
.ks-steps{display:flex;gap:8px;align-items:center;font-size:13px;font-weight:700;color:var(--ks-muted);flex-wrap:wrap;margin-bottom:18px}
.ks-steps i{width:24px;height:2px;background:var(--ks-line);display:block}
.ks-steps .is-done{color:var(--ks-brand)}
body.karsazy form.checkout{display:grid;grid-template-columns:minmax(0,1fr) 400px;gap:28px;align-items:start}
body.karsazy form.checkout>*{grid-column:1}
body.karsazy form.checkout #order_review_heading{grid-column:2;grid-row:1;margin:0;font-size:18px;font-weight:800;padding:22px 24px 0;background:var(--ks-card);border:1px solid var(--ks-line);border-bottom:0;border-radius:20px 20px 0 0}
body.karsazy form.checkout #order_review{grid-column:2;grid-row:2 / span 4;background:var(--ks-card);border:1px solid var(--ks-line);border-top:0;border-radius:0 0 20px 20px;padding:12px 24px 24px;position:sticky;top:140px}
body.karsazy form.checkout #customer_details{grid-row:1 / span 5;background:var(--ks-card);border:1px solid var(--ks-line);border-radius:20px;padding:24px}
body.karsazy #customer_details .col-1,body.karsazy #customer_details .col-2{width:100%;float:none;padding:0}
body.karsazy #customer_details .col-2:empty{display:none}
body.karsazy .woocommerce-billing-fields h3,body.karsazy .woocommerce-additional-fields h3{font-size:18px;font-weight:800;margin:0 0 14px}
body.karsazy .woocommerce-billing-fields__field-wrapper{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px 14px}
body.karsazy .woocommerce-billing-fields__field-wrapper .form-row-wide{grid-column:1/-1}
body.karsazy form .form-row{padding:0;margin:0 0 12px;width:auto!important;float:none!important}
body.karsazy form .form-row label{display:block;margin-bottom:6px}
body.karsazy form .form-row.woocommerce-invalid input.input-text{border-color:var(--ks-err)}
body.karsazy #order_review table.shop_table{border:0;border-radius:0;background:none}
body.karsazy #order_review table.shop_table th,body.karsazy #order_review table.shop_table td{padding:10px 0;background:none}
body.karsazy #order_review .order-total th,body.karsazy #order_review .order-total td{font-size:18px;font-weight:900;color:var(--ks-ink)}
body.karsazy #payment{background:none;border-radius:0;margin-top:12px}
body.karsazy #payment ul.payment_methods{list-style:none;margin:0;padding:0;border:0;display:grid;gap:10px}
body.karsazy #payment ul.payment_methods li{border:1.5px solid var(--ks-line);border-radius:14px;padding:12px 14px;margin:0;line-height:1.6}
body.karsazy #payment ul.payment_methods li:has(input:checked){border-color:var(--ks-brand);background:var(--ks-tint)}
body.karsazy #payment ul.payment_methods li input{accent-color:var(--ks-brand);width:18px;height:18px;vertical-align:middle;margin-inline-end:8px}
body.karsazy #payment ul.payment_methods li label{display:inline;font-weight:800;cursor:pointer}
body.karsazy #payment ul.payment_methods li img{max-height:26px;width:auto;vertical-align:middle;margin-inline-start:8px;float:none}
body.karsazy #payment div.payment_box{background:none;color:var(--ks-muted);font-size:14px;padding:6px 0 0;margin:0}
body.karsazy #payment div.payment_box::before{display:none}
body.karsazy #payment div.form-row{padding:16px 0 0}
body.karsazy #place_order{width:100%;font-size:16px;padding-block:14px;float:none}
body.karsazy .woocommerce-privacy-policy-text{font-size:12px;color:var(--ks-muted)}
body.karsazy .woocommerce-form-coupon-toggle .woocommerce-info{background:var(--ks-surface)}
body.karsazy form.checkout_coupon{border:1px dashed var(--ks-line);border-radius:14px;padding:14px;display:flex;gap:8px;flex-wrap:wrap}
body.karsazy form.checkout_coupon .form-row{flex:1;margin:0}
.ks-secure{font-size:13px;color:var(--ks-muted);display:flex;gap:8px;align-items:center;justify-content:center;margin-top:10px}
@media(max-width:960px){
  body.karsazy form.checkout{grid-template-columns:minmax(0,1fr)}
  body.karsazy form.checkout #order_review_heading,body.karsazy form.checkout #order_review,body.karsazy form.checkout #customer_details{grid-column:1;grid-row:auto;position:static}
}
@media(max-width:560px){body.karsazy .woocommerce-billing-fields__field-wrapper{grid-template-columns:minmax(0,1fr)}}

/* ---------- thank-you / order received ---------- */
.ks-thanks{max-width:680px;margin:20px auto 32px;text-align:center;display:grid;gap:16px;justify-items:center}
.ks-thanks__ok{width:76px;height:76px;border-radius:50%;background:color-mix(in srgb,var(--ks-ok) 15%,transparent);color:var(--ks-ok);display:grid;place-items:center}
.ks-thanks__ok .ks-icon{width:38px;height:38px}
.ks-thanks__wait{background:color-mix(in srgb,var(--ks-gold) 22%,transparent);color:#9a6a00}
body.karsazy .ks-thanks h1{font-size:clamp(24px,3vw,32px);font-weight:900;margin:0}
.ks-thanks>p{color:var(--ks-muted);margin:0}
.ks-tgcards{width:100%;display:grid;gap:12px}
.ks-tgcard{width:100%;border-radius:20px;padding:22px;background:linear-gradient(160deg,color-mix(in srgb,var(--ks-tg) 14%,var(--ks-card)),var(--ks-card));border:1px solid color-mix(in srgb,var(--ks-tg) 35%,var(--ks-line));display:grid;gap:10px;justify-items:center;text-align:center}
.ks-tgcard__ic{width:52px;height:52px;border-radius:50%;background:var(--ks-tg);color:#fff;display:grid;place-items:center}
.ks-tgcard__ic .ks-icon{width:26px;height:26px}
.ks-tgcard b{font-size:18px}
.ks-tgcard p{color:var(--ks-muted);font-size:14px;margin:0}
body.karsazy ul.woocommerce-order-overview{list-style:none;padding:0;margin:0 0 24px;display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));border:1px solid var(--ks-line);border-radius:16px;overflow:hidden}
body.karsazy ul.woocommerce-order-overview li{border:0!important;border-inline-start:1px solid var(--ks-line)!important;padding:12px 16px;margin:0;font-size:12px;color:var(--ks-muted);text-transform:none;float:none}
body.karsazy ul.woocommerce-order-overview li:first-child{border-inline-start:0!important}
body.karsazy ul.woocommerce-order-overview li strong{display:block;font-size:15px;color:var(--ks-ink);margin-top:2px}
body.karsazy .woocommerce-order-details__title,body.karsazy .woocommerce-column__title{font-size:18px;font-weight:800}
body.karsazy .woocommerce-order>p.woocommerce-thankyou-order-received{display:none}

/* ---------- my account: see account.css ---------- */
body.karsazy .woocommerce::before,body.karsazy .woocommerce::after,body.karsazy form.checkout::before,body.karsazy form.checkout::after,body.karsazy .u-columns::before,body.karsazy .u-columns::after{display:none!important}

/* ---------- regular pages (cart, checkout, account use these) ---------- */
body.karsazy.page .site-main{max-width:var(--ks-max);margin-inline:auto;padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px));padding-bottom:40px}
body.karsazy .page-header .entry-title{font-size:clamp(24px,3vw,32px);font-weight:900;margin:28px 0 20px}
body.karsazy.woocommerce-checkout .page-header .entry-title{margin-bottom:8px}
body.karsazy.woocommerce-order-received .page-header{display:none}

/* ---------- homepage ---------- */
.ks-hero{background:radial-gradient(1200px 400px at 85% -10%,var(--ks-tint),transparent 60%),var(--ks-surface);border-bottom:1px solid var(--ks-line)}
.ks-hero .ks-wrap{display:grid;grid-template-columns:1.15fr .85fr;gap:40px;align-items:center;padding-block:56px}
body.karsazy .ks-hero h1{font-size:clamp(28px,4vw,44px);font-weight:900;margin:10px 0 14px}
.ks-hero__lead{color:var(--ks-muted);font-size:17px;max-width:52ch;margin:0}
.ks-hero__ctas{display:flex;gap:10px;margin-top:24px;flex-wrap:wrap}
.ks-feature{background:var(--ks-card);border-radius:20px;box-shadow:var(--ks-shadow);overflow:hidden;border:1px solid var(--ks-line);display:block}
.ks-feature__img{aspect-ratio:16/9;position:relative;background:var(--ks-tint)}
.ks-feature__img img{width:100%;height:100%!important;object-fit:cover;display:block}
.ks-feature__body{padding:18px 20px;display:grid;gap:8px}
body.karsazy .ks-feature__body h3{font-size:19px;font-weight:900;margin:0}
body.karsazy .ks-feature .price{font-size:20px;font-weight:900;color:var(--ks-brand);margin:0;display:flex;gap:10px;align-items:baseline;flex-wrap:wrap}
body.karsazy .ks-feature .price del{color:var(--ks-muted);font-size:14px;font-weight:500}
body.karsazy .ks-feature .price ins{text-decoration:none;order:-1}
@media(max-width:860px){.ks-hero .ks-wrap{grid-template-columns:minmax(0,1fr);padding-block:36px}}
.ks-facts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border:1px solid var(--ks-line);border-radius:var(--ks-r);background:var(--ks-card);margin-top:-36px;position:relative;box-shadow:var(--ks-shadow)}
.ks-facts div{padding:18px 20px;border-inline-start:1px solid var(--ks-line)}
.ks-facts div:first-child{border-inline-start:0}
.ks-facts b{display:block;font-size:22px;font-weight:900;color:var(--ks-brand)}
.ks-facts span{font-size:13px;color:var(--ks-muted)}
@media(max-width:760px){.ks-facts{grid-template-columns:repeat(2,minmax(0,1fr))}.ks-facts div:nth-child(3){border-inline-start:0}.ks-facts div:nth-child(n+3){border-top:1px solid var(--ks-line)}}
.ks-services{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.ks-service{padding:22px;border-radius:var(--ks-r);background:var(--ks-surface);border:1px solid var(--ks-line);display:grid;gap:8px;align-content:start}
.ks-service__ic{width:44px;height:44px;border-radius:12px;background:var(--ks-tint);color:var(--ks-brand);display:grid;place-items:center}
body.karsazy .ks-service h3{font-size:17px;font-weight:800;margin:0}
.ks-service p{color:var(--ks-muted);font-size:14px;margin:0}
@media(max-width:760px){.ks-services{grid-template-columns:minmax(0,1fr)}}
.ks-band{background:var(--ks-deep);color:#f4ecfd;border-radius:24px;padding:32px;display:grid;grid-template-columns:1fr 1.3fr;gap:28px;align-items:center}
body.karsazy .ks-band h2{font-size:clamp(22px,3vw,30px);font-weight:900;color:#fff;margin:10px 0 0}
.ks-band p{color:#d9c8ee;margin:8px 0 18px}
.ks-band .ks-tag{background:rgb(255 255 255/.12);color:#fff}
.ks-books{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.ks-books a{background:rgb(255 255 255/.06);border-radius:14px;padding:10px;display:grid;gap:8px;color:#fff}
body.karsazy .ks-books a:hover{background:rgb(255 255 255/.12);color:#fff}
.ks-books img{width:100%;aspect-ratio:1;object-fit:cover;border-radius:10px}
.ks-books b{font-size:13px}
@media(max-width:860px){.ks-band{grid-template-columns:minmax(0,1fr);padding:22px}}
.ks-stepsrow{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.ks-step{padding:22px;border-radius:var(--ks-r);border:1px solid var(--ks-line);display:grid;gap:6px;align-content:start;background:var(--ks-card)}
.ks-step__n{width:36px;height:36px;border-radius:50%;background:var(--ks-brand);color:var(--ks-on-brand);display:grid;place-items:center;font-weight:900}
body.karsazy .ks-step h3{font-size:16px;font-weight:800;margin:6px 0 0}
.ks-step p{font-size:14px;color:var(--ks-muted);margin:0}
@media(max-width:760px){.ks-stepsrow{grid-template-columns:minmax(0,1fr)}}
.ks-about{display:grid;grid-template-columns:auto 1fr;gap:28px;align-items:center;background:var(--ks-surface);border:1px solid var(--ks-line);border-radius:24px;padding:28px}
.ks-about img{width:120px;height:120px;border-radius:28px}
body.karsazy .ks-about h2{font-size:22px;font-weight:900;margin:4px 0 8px}
.ks-about p{color:var(--ks-muted);max-width:75ch;margin:0}
@media(max-width:640px){.ks-about{grid-template-columns:minmax(0,1fr)}.ks-about img{width:80px;height:80px;border-radius:20px}}

/* ---------- articles ---------- */
.ks-posts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}
@media(max-width:1020px){.ks-posts{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:480px){.ks-posts{grid-template-columns:minmax(0,1fr)}}
.ks-post{display:grid;gap:10px;align-content:start;min-width:0}
.ks-pc{display:block;aspect-ratio:16/10;border-radius:14px;position:relative;overflow:hidden;background:var(--ks-tint)}
.ks-pc img{width:100%;height:100%!important;object-fit:cover;display:block}
.ks-pc--empty::after{content:"";position:absolute;left:18px;bottom:0;width:84px;height:68%;opacity:.22;
  background:linear-gradient(var(--ks-brand),var(--ks-brand)) 0 100%/24% 45% no-repeat,linear-gradient(var(--ks-brand),var(--ks-brand)) 50% 100%/24% 70% no-repeat,linear-gradient(var(--ks-brand),var(--ks-brand)) 100% 100%/24% 100% no-repeat}
.ks-pc .ks-tag{position:absolute;top:12px;inset-inline-start:12px}
body.karsazy .ks-post h3{font-size:15px;font-weight:800;margin:0}
.ks-post time{font-size:12px;color:var(--ks-muted)}
.ks-bhero{background:var(--ks-deep);color:#e4d4f7}
.ks-bhero .ks-wrap{padding-block:44px 64px;display:grid;gap:12px;justify-items:center;text-align:center}
body.karsazy .ks-bhero h1{color:#fff;font-size:clamp(24px,3.4vw,36px);font-weight:900;margin:0}
.ks-bhero p{margin:0}
.ks-bhero .ks-tag{background:rgb(255 255 255/.12);color:#fff}
.ks-bhero .ks-search{background:var(--ks-card);max-width:560px;width:100%;margin-top:8px;border:0;color:var(--ks-ink)}
.ks-cats{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;margin-top:-30px;position:relative}
.ks-cat{background:var(--ks-card);border:1px solid var(--ks-line);border-radius:16px;padding:14px 16px;box-shadow:var(--ks-shadow);display:grid;gap:2px}
.ks-cat:hover,.ks-cat.is-on{border-color:var(--ks-brand)}
.ks-cat b{font-size:15px}
.ks-cat span{font-size:12px;color:var(--ks-muted)}
@media(max-width:860px){.ks-cats{grid-template-columns:repeat(2,minmax(0,1fr))}}
.ks-bgrid{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:28px;padding-block:32px;align-items:start}
@media(max-width:960px){.ks-bgrid{grid-template-columns:minmax(0,1fr)}}
.ks-featured{display:grid;grid-template-columns:1.1fr 1fr;gap:20px;align-items:center;background:var(--ks-surface);border:1px solid var(--ks-line);border-radius:20px;padding:14px;margin-bottom:22px}
body.karsazy .ks-featured h2{font-size:22px;font-weight:900;margin:0}
.ks-featured p{color:var(--ks-muted);font-size:14px;margin:6px 0 0}
@media(max-width:640px){.ks-featured{grid-template-columns:minmax(0,1fr)}}
.ks-bposts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
@media(max-width:760px){.ks-bposts{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:420px){.ks-bposts{grid-template-columns:minmax(0,1fr)}}
.ks-side{display:grid;gap:18px}
.ks-sidebox{background:var(--ks-card);border:1px solid var(--ks-line);border-radius:20px;padding:18px;display:grid;gap:12px}
body.karsazy .ks-sidebox h3{font-size:16px;font-weight:800;margin:0}
.ks-toplist{list-style:none;padding:0;margin:0;display:grid;gap:12px;counter-reset:t}
.ks-toplist li{display:flex;gap:10px;font-size:14px;font-weight:600;counter-increment:t}
.ks-toplist li::before{content:counter(t);flex:none;width:26px;height:26px;border-radius:8px;background:var(--ks-tint);color:var(--ks-brand);display:grid;place-items:center;font-weight:900;font-size:13px}
.ks-promo{background:var(--ks-deep);color:#e4d4f7;border-radius:20px;overflow:hidden;display:block}
.ks-promo img{width:100%;aspect-ratio:16/9;object-fit:cover;display:block}
.ks-promo div{padding:16px;display:grid;gap:10px}
.ks-promo b{color:#fff}
body.karsazy .ks-promo .price{color:#e4d4f7;margin:0}
.ks-pager{margin-top:28px}
.ks-pager .nav-links{display:flex;gap:6px;justify-content:center;flex-wrap:wrap}
.ks-pager .page-numbers{min-width:38px;height:38px;border-radius:10px;border:1px solid var(--ks-line);display:grid;place-items:center;font-weight:700;padding-inline:8px}
.ks-pager .page-numbers.current{background:var(--ks-brand);border-color:var(--ks-brand);color:var(--ks-on-brand)}

/* single article */
body.karsazy.single-post .site-main,body.karsazy.single-post main#content{max-width:780px;margin-inline:auto;padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px))}
body.karsazy.single-post .entry-title{font-size:clamp(26px,3.4vw,38px);font-weight:900;margin-top:32px}
body.karsazy.single-post .page-content{font-size:17px;line-height:2}
body.karsazy.single-post .page-content h2{font-size:24px;font-weight:800;margin-top:32px}
body.karsazy.single-post .page-content h3{font-size:20px;font-weight:800;margin-top:24px}
body.karsazy.single-post .page-content img{border-radius:16px}
body.karsazy.single-post .page-content a{color:var(--ks-brand);text-decoration:underline;text-underline-offset:3px}
body.karsazy.single-post .page-content blockquote{border-inline-start:4px solid var(--ks-brand);background:var(--ks-surface);margin:20px 0;padding:14px 18px;border-radius:0 12px 12px 0}

@media (prefers-reduced-motion:reduce){body.karsazy *{transition:none!important}}

.ks-pmain,.ks-bgrid>div,.ks-pgrid>*{min-width:0}
body.karsazy div.product .ks-buybox .price,body.karsazy div.product .ks-mbuy .price,body.karsazy div.product .ks-card .price{color:var(--ks-brand)!important}
body.karsazy div.product .ks-card .price del{color:var(--ks-muted)!important}
