
/* Store page templates.
   These classes affect presentation only; data and business logic remain shared. */

/* Classic is intentionally closest to the base storefront. */
.kuba-front-template-classic .kuba-front-shell{
    max-width:1440px;
}

/* Modern */
.kuba-front-template-modern .kuba-front-category,
.kuba-front-template-modern .kuba-front-product-detail{
    background:#f3f5f8;
}
.kuba-front-template-modern .kuba-front-shell{
    width:min(1500px,calc(100% - 40px));
}
.kuba-front-template-modern .kuba-front-category-title h1{
    font-size:clamp(34px,4vw,52px);
    letter-spacing:-.04em;
}
.kuba-front-template-modern .kuba-front-category-grid,
.kuba-front-template-modern .kuba-front-product-grid{
    gap:22px;
}
.kuba-front-template-modern .kuba-front-category-tile,
.kuba-front-template-modern .kuba-front-product-card,
.kuba-front-template-modern .kuba-front-product-detail__card{
    border-color:#e1e5eb;
    border-radius:22px;
    box-shadow:0 12px 34px rgba(15,23,42,.08);
}
.kuba-front-template-modern .kuba-front-category-tile__body,
.kuba-front-template-modern .kuba-front-product-card__body{
    padding:18px 19px 20px;
}
.kuba-front-template-modern .kuba-front-add{
    min-height:44px;
    padding:0 19px;
    border-radius:12px;
}

/* Compact */
.kuba-front-template-compact .kuba-front-category,
.kuba-front-template-compact .kuba-front-product-detail{
    padding-top:18px;
    background:#f8f9fb;
}
.kuba-front-template-compact .kuba-front-shell{
    width:min(1540px,calc(100% - 24px));
}
.kuba-front-template-compact .kuba-front-category-title{
    margin-bottom:14px;
}
.kuba-front-template-compact .kuba-front-category-title h1{
    font-size:clamp(28px,3vw,38px);
}
.kuba-front-template-compact .kuba-front-category-grid,
.kuba-front-template-compact .kuba-front-product-grid{
    gap:10px;
}
.kuba-front-template-compact .kuba-front-category-tile,
.kuba-front-template-compact .kuba-front-product-card{
    border-radius:10px;
    box-shadow:none;
}
.kuba-front-template-compact .kuba-front-category-tile__body,
.kuba-front-template-compact .kuba-front-product-card__body{
    padding:10px 11px 12px;
}
.kuba-front-template-compact .kuba-front-product-card h3{
    margin-bottom:8px;
    font-size:14px;
}
.kuba-front-template-compact .kuba-front-product-card__description{
    min-height:0;
    margin-bottom:8px;
    font-size:11px;
}
.kuba-front-template-compact .kuba-front-add{
    min-height:34px;
    padding:0 11px;
    border-radius:8px;
    font-size:12px;
}
.kuba-front-template-compact .kuba-front-product-card__buy strong{
    font-size:16px;
}

/* Promotional */
.kuba-front-template-promo .kuba-front-category,
.kuba-front-template-promo .kuba-front-product-detail{
    background:#f8f6f1;
}
.kuba-front-template-promo .kuba-front-shell{
    width:min(1480px,calc(100% - 34px));
}
.kuba-front-template-promo .kuba-banners--homepage_hero,
.kuba-front-template-promo .kuba-banners--category{
    margin-bottom:30px;
}
.kuba-front-template-promo .kuba-banners__viewport{
    border-radius:22px;
    box-shadow:0 16px 38px rgba(30,25,15,.12);
}
.kuba-front-template-promo .kuba-front-category-title{
    margin-bottom:28px;
}
.kuba-front-template-promo .kuba-front-category-title h1{
    font-size:clamp(34px,4vw,50px);
}
.kuba-front-template-promo .kuba-front-category-grid,
.kuba-front-template-promo .kuba-front-product-grid{
    gap:18px;
}
.kuba-front-template-promo .kuba-front-category-tile,
.kuba-front-template-promo .kuba-front-product-card{
    border-color:#e5dfd3;
    border-radius:18px;
    box-shadow:0 7px 20px rgba(45,37,22,.06);
}
.kuba-front-template-promo .kuba-front-category-tile__body,
.kuba-front-template-promo .kuba-front-product-card__body{
    padding:16px 17px 18px;
}
.kuba-front-template-promo .kuba-front-add{
    border-radius:999px;
    padding-inline:18px;
}

@media(max-width:600px){
    .kuba-front-template-modern .kuba-front-shell,
    .kuba-front-template-promo .kuba-front-shell{
        width:min(100% - 20px,1500px);
    }
    .kuba-front-template-modern .kuba-front-category-grid,
    .kuba-front-template-modern .kuba-front-product-grid,
    .kuba-front-template-promo .kuba-front-category-grid,
    .kuba-front-template-promo .kuba-front-product-grid{
        gap:10px;
    }
}


/* My account — KUBA Front owns the page shell; WooCommerce only supplies account data/endpoints. */
.kuba-front-account{
    --kuba-account-gap:20px;
    --kuba-account-radius:14px;
    --kuba-account-pad:22px;
    --kuba-account-max:1380px;
    padding:34px 0 54px;
    background:#f5f7f9;
    min-height:55vh;
}
.kuba-core-layout-compact .kuba-front-account{
    --kuba-account-gap:12px;
    --kuba-account-radius:9px;
    --kuba-account-pad:16px;
    --kuba-account-max:1500px;
    padding-top:22px;
}
.kuba-core-layout-spacious .kuba-front-account{
    --kuba-account-gap:26px;
    --kuba-account-radius:18px;
    --kuba-account-pad:28px;
    --kuba-account-max:1320px;
    padding-top:42px;
}
.kuba-front-account .kuba-front-shell{
    width:min(var(--kuba-account-max),calc(100% - 32px));
    margin:0 auto;
}
.kuba-front-account__header{
    display:flex;
    align-items:center;
    flex-wrap:wrap;
    gap:8px 18px;
    margin-bottom:var(--kuba-account-gap);
    padding:var(--kuba-account-pad);
    border:1px solid #dfe4ea;
    border-radius:var(--kuba-account-radius);
    background:#fff;
    box-shadow:0 5px 18px rgba(15,23,42,.045);
}
.kuba-front-account__header h1{
    flex:1 1 100%;
    margin:0;
    font-size:clamp(28px,3vw,40px);
    letter-spacing:-.025em;
}
.kuba-front-account__header p{
    flex:1 1 460px;
    margin:0;
    color:#5d6672;
}
.kuba-front-account__shop-button{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:42px;
    padding:0 18px;
    border-radius:10px;
    background:#2271b1;
    color:#fff!important;
    font-weight:700;
    text-decoration:none!important;
}
.kuba-front-account__shop-button:hover{background:#135e96}
.kuba-front-account__workspace{
    display:grid;
    grid-template-columns:minmax(210px,260px) minmax(0,1fr);
    gap:var(--kuba-account-gap);
    align-items:start;
}
.kuba-front-account__nav,
.kuba-front-account__content{
    border:1px solid #dfe4ea;
    border-radius:var(--kuba-account-radius);
    background:#fff;
    box-shadow:0 5px 18px rgba(15,23,42,.045);
}
.kuba-front-account__nav{padding:10px}
.kuba-front-account__content{min-width:0;padding:var(--kuba-account-pad)}
.kuba-front-account__content--full{grid-column:1/-1}
.kuba-front-account .woocommerce-MyAccount-navigation{float:none;width:auto}
.kuba-front-account .woocommerce-MyAccount-navigation ul{
    display:grid;
    gap:5px;
    margin:0;
    padding:0;
    list-style:none;
}
.kuba-front-account .woocommerce-MyAccount-navigation li{margin:0;padding:0}
.kuba-front-account .woocommerce-MyAccount-navigation a{
    display:block;
    padding:11px 12px;
    border-radius:9px;
    color:#1d2327;
    font-weight:650;
    text-decoration:none;
}
.kuba-front-account .woocommerce-MyAccount-navigation li.is-active a,
.kuba-front-account .woocommerce-MyAccount-navigation a:hover{
    background:#eaf4fb;
    color:#135e96;
}
.kuba-front-account .woocommerce-MyAccount-content{float:none;width:auto}
.kuba-front-account .woocommerce-MyAccount-content> :first-child{margin-top:0}
.kuba-front-account .woocommerce-MyAccount-content> :last-child{margin-bottom:0}
.kuba-front-account .woocommerce table.shop_table{
    border-collapse:separate;
    border-spacing:0;
    overflow:hidden;
    border-color:#e1e5e9;
    border-radius:10px;
}
.kuba-front-account .woocommerce table.shop_table th,
.kuba-front-account .woocommerce table.shop_table td{padding:12px}
.kuba-front-account .woocommerce .button,
.kuba-front-account .woocommerce button.button,
.kuba-front-account .woocommerce input.button{
    border-radius:9px!important;
}
.kuba-front-account .woocommerce form .form-row input.input-text,
.kuba-front-account .woocommerce form .form-row textarea,
.kuba-front-account .woocommerce form .form-row select{
    min-height:42px;
    border:1px solid #c8d0d8;
    border-radius:9px;
    background:#fff;
}
@media(max-width:820px){
    .kuba-front-account{padding-top:20px}
    .kuba-front-account .kuba-front-shell{width:min(100% - 20px,var(--kuba-account-max))}
    .kuba-front-account__workspace{grid-template-columns:1fr}
    .kuba-front-account .woocommerce-MyAccount-navigation ul{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:520px){
    .kuba-front-account .woocommerce-MyAccount-navigation ul{grid-template-columns:1fr}
    .kuba-front-account__header,.kuba-front-account__content{padding:16px}
}

.kuba-front-account .kuba-account-email-locked{
    background:#f3f5f7!important;
    color:#59636e!important;
    cursor:not-allowed;
}
.kuba-front-account .kuba-account-field-note{
    display:block;
    margin-top:6px;
    color:#646970;
    font-size:12px;
    line-height:1.4;
}


/* 0.4.44 — storefront WooCommerce notices */
.kuba-front-notices {
    position: fixed;
    left: 50%;
    bottom: 22px;
    z-index: 99999;
    width: min(720px, calc(100% - 32px));
    margin: 0;
    transform: translateX(-50%);
    pointer-events: none;
}
.kuba-front-notices .woocommerce-message,
.kuba-front-notices .woocommerce-info,
.kuba-front-notices .woocommerce-error {
    margin: 0 0 12px;
    box-shadow: 0 10px 28px rgba(17, 24, 39, .18);
    pointer-events: auto;
}

/* Cart is a review step. Express wallets belong to checkout, not the cart. */
body.woocommerce-cart .wc-block-components-express-payment,
body.woocommerce-cart .wc-block-components-express-payment__event-buttons,
body.woocommerce-cart .wp-block-woocommerce-cart-express-payment-block,
body.woocommerce-cart [class*="express-payment"],
body.woocommerce-cart [class*="express-checkout"] {
    display: none !important;
}

@media (max-width: 640px) {
    .kuba-front-notices {
        width: min(100% - 20px, 720px);
        bottom: 12px;
    }
}


/* 0.4.48 — cart notice CTA, cart badge and stronger wallet suppression. */
.kuba-front-notices .kuba-front-view-cart,
.kuba-front-notices a.wc-forward {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    min-height: 38px;
    padding: 8px 14px !important;
    border: 1px solid #166534 !important;
    border-radius: 7px !important;
    background: #166534 !important;
    color: #fff !important;
    text-decoration: none !important;
    font-weight: 700 !important;
    opacity: 1 !important;
    position: relative;
    z-index: 2;
    pointer-events: auto !important;
}
.kuba-front-notices .kuba-front-view-cart:hover,
.kuba-front-notices a.wc-forward:hover {
    background: #14532d !important;
    color: #fff !important;
}
.kuba-front-cart-count {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 20px;
    height: 20px;
    padding: 0 6px;
    margin-left: 4px;
    border-radius: 999px;
    background: #111827;
    color: #fff;
    font-size: 12px;
    font-weight: 700;
    line-height: 1;
    vertical-align: middle;
}
body.woocommerce-cart .wcpay-express-checkout-wrapper,
body.woocommerce-cart .wcpay-payment-request-wrapper,
body.woocommerce-cart .wcpay-express-checkout,
body.woocommerce-cart #wcpay-express-checkout-element,
body.woocommerce-cart #wcpay-payment-request-wrapper,
body.woocommerce-cart .wc-block-cart__payment-options,
body.woocommerce-cart [data-block-name="woocommerce/cart-express-payment-block"] {
    display: none !important;
}

/* Customer finance / RK */
.kuba-front-finance{margin-top:24px;padding:var(--kuba-account-pad,22px);border:1px solid #e5e7eb;border-radius:var(--kuba-account-radius,14px);background:#fff}
.kuba-front-finance__head{display:flex;justify-content:space-between;align-items:flex-start;gap:18px;margin-bottom:16px}.kuba-front-finance__head h2{margin:0 0 5px}.kuba-front-finance__head p{margin:0;color:#667085}.kuba-front-finance__balance{min-width:180px;padding:12px 14px;border:1px solid #dcdcde;border-radius:10px}.kuba-front-finance__balance span{display:block;font-size:12px;color:#667085}.kuba-front-finance__balance strong{display:block;font-size:22px;margin-top:3px}.kuba-front-finance__table-wrap{overflow-x:auto}.kuba-front-finance__table{margin:0!important}.kuba-front-finance__history{margin-top:16px}.kuba-front-finance__history summary{cursor:pointer;font-weight:600}.kuba-front-finance__history ul{list-style:none;margin:10px 0 0;padding:0}.kuba-front-finance__history li{display:flex;justify-content:space-between;gap:12px;padding:8px 0;border-bottom:1px solid #eee}.kuba-front-finance__note{margin:14px 0 0;color:#667085;font-size:13px}
@media(max-width:600px){.kuba-front-finance__head{flex-direction:column}.kuba-front-finance__balance{width:100%;min-width:0}}
.kuba-front-finance__balance small{display:block;margin-top:4px;color:#667085;font-size:12px}
.kuba-front-finance__table td small{display:block;margin-top:3px;color:#667085;font-size:12px}
.kuba-front-finance__actions{display:flex;flex-wrap:wrap;align-items:flex-end;gap:8px;min-width:260px}
.kuba-front-finance__actions form{display:flex;flex-wrap:wrap;align-items:center;gap:7px;margin:0}
.kuba-front-finance__actions select{min-height:38px;max-width:180px}
.kuba-front-finance__actions .button{margin:0;white-space:nowrap}
.kuba-front-finance__decision-note{display:block;margin-top:7px;max-width:440px;color:#667085;font-size:12px;line-height:1.4}
@media(max-width:600px){.kuba-front-finance__actions{min-width:0;flex-direction:column;align-items:stretch}.kuba-front-finance__actions form{align-items:stretch}.kuba-front-finance__actions select,.kuba-front-finance__actions .button{width:100%;max-width:none;min-height:44px}}

.kuba-front-finance__balance-action{display:inline-flex;margin-top:10px;min-height:38px;align-items:center;justify-content:center}.kuba-front-finance__balance form.kuba-front-finance__balance-action{margin-top:10px}.kuba-front-finance__balance form.kuba-front-finance__balance-action .button{margin:0}.kuba-front-finance__balance .button.kuba-front-finance__balance-action{margin-top:10px}

/* 0.4.63 — customer finance signs and row states */
.kuba-front-finance__table tbody tr{transition:background-color .15s ease}
.kuba-front-finance__table tbody tr.kuba-front-finance__row--settled>td{background:#f1fbf3}
.kuba-front-finance__table tbody tr.kuba-front-finance__row--credit>td{background:#fff9df}
.kuba-front-finance__table tbody tr.kuba-front-finance__row--partial>td{background:#eef6ff}
.kuba-front-finance__table tbody tr.kuba-front-finance__row--danger>td{background:#fff0f0}
.kuba-front-finance__table tbody tr.kuba-front-finance__row--settled>td:first-child{box-shadow:inset 3px 0 0 #46a758}
.kuba-front-finance__table tbody tr.kuba-front-finance__row--credit>td:first-child{box-shadow:inset 3px 0 0 #d7a600}
.kuba-front-finance__table tbody tr.kuba-front-finance__row--partial>td:first-child{box-shadow:inset 3px 0 0 #3b82c4}
.kuba-front-finance__table tbody tr.kuba-front-finance__row--danger>td:first-child{box-shadow:inset 3px 0 0 #d63638}

/* 0.4.64 — compact finance amount signs */
.kuba-front-finance__amount{white-space:nowrap;display:inline-block}

/* 0.4.66 finance help/refund UX */
.kuba-front-finance__credit-help{max-width:680px;line-height:1.5;color:#475467!important}.kuba-front-finance__row-action{margin:0}.kuba-front-finance__refund-button{display:inline-flex!important;align-items:center;justify-content:center;min-height:38px;padding:8px 16px!important;font-size:14px!important;font-weight:700!important;white-space:nowrap;border-radius:8px!important}

/* 0.4.67 — checkout customer-credit highlight */
body.woocommerce-checkout .kuba-checkout-credit-highlight{
  margin:10px 0!important;
  padding:12px 14px!important;
  border:2px solid #b58105!important;
  border-radius:8px!important;
  background:#fff6cf!important;
  box-shadow:0 1px 0 rgba(0,0,0,.04)!important;
}
body.woocommerce-checkout .kuba-checkout-credit-highlight .wc-block-components-totals-item__label,
body.woocommerce-checkout .kuba-checkout-credit-highlight .wc-block-components-totals-item__value{
  font-size:15px!important;
  font-weight:700!important;
  color:#5d4600!important;
}
body.woocommerce-checkout .kuba-checkout-credit-highlight .wc-block-components-totals-item__value{
  font-size:17px!important;
  white-space:nowrap!important;
}
body.woocommerce-checkout .kuba-checkout-credit-highlight:before{
  content:'Saldo klienta';
  display:block;
  width:100%;
  margin:0 0 4px;
  font-size:11px;
  font-weight:700;
  letter-spacing:.03em;
  text-transform:uppercase;
  color:#7a5b00;
}


/* 0.4.68 — robust checkout customer-credit highlight independent of Woo Blocks markup */
.kuba-checkout-credit-highlight,
[data-kuba-customer-credit="1"]{
  position:relative!important;
  display:grid!important;
  grid-template-columns:minmax(0,1fr) auto!important;
  align-items:center!important;
  gap:6px 12px!important;
  margin:12px 0!important;
  padding:14px 14px 14px 16px!important;
  border:2px solid #9a6a00!important;
  border-left-width:6px!important;
  border-radius:9px!important;
  background:#fff1b8!important;
  box-shadow:0 2px 6px rgba(0,0,0,.08)!important;
}
.kuba-checkout-credit-highlight:before,
[data-kuba-customer-credit="1"]:before{
  content:'SALDO KLIENTA';
  grid-column:1/-1;
  display:block!important;
  margin:0 0 2px!important;
  font-size:11px!important;
  line-height:1.2!important;
  font-weight:800!important;
  letter-spacing:.06em!important;
  color:#6b4900!important;
}
.kuba-checkout-credit-highlight *,
[data-kuba-customer-credit="1"] *{
  font-weight:700!important;
  color:#3f3000!important;
}
.kuba-checkout-credit-highlight [class*="value"],
[data-kuba-customer-credit="1"] [class*="value"],
.kuba-checkout-credit-highlight dd,
[data-kuba-customer-credit="1"] dd{
  font-size:18px!important;
  font-weight:800!important;
  white-space:nowrap!important;
}


/* 0.4.69 — server-rendered customer-credit banner for Cart / Checkout */
.kuba-customer-credit-banner{
  display:grid;
  grid-template-columns:44px minmax(0,1fr);
  gap:12px;
  align-items:start;
  margin:0 0 18px;
  padding:16px 18px;
  border:2px solid #b7791f;
  border-left-width:7px;
  border-radius:10px;
  background:#fff4c7;
  box-shadow:0 3px 10px rgba(0,0,0,.07);
  color:#3f3000;
}
.kuba-customer-credit-banner__mark{
  display:flex;
  align-items:center;
  justify-content:center;
  width:38px;
  height:38px;
  border-radius:50%;
  background:#7a5700;
  color:#fff;
  font-size:22px;
  font-weight:800;
  line-height:1;
}
.kuba-customer-credit-banner__body{min-width:0}
.kuba-customer-credit-banner__title{
  display:block;
  margin:0 0 4px;
  font-size:17px;
  line-height:1.25;
  color:#4a3600;
}
.kuba-customer-credit-banner__description{
  display:block;
  margin:0 0 12px;
  font-size:13px;
  color:#6a520f;
}
.kuba-customer-credit-banner__breakdown{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:8px;
}
.kuba-customer-credit-banner__breakdown>span{
  display:flex;
  flex-direction:column;
  gap:2px;
  padding:9px 10px;
  border:1px solid rgba(122,87,0,.22);
  border-radius:7px;
  background:rgba(255,255,255,.58);
  font-size:12px;
}
.kuba-customer-credit-banner__breakdown strong{
  font-size:16px;
  white-space:nowrap;
  color:#2f2500;
}
.kuba-customer-credit-banner__credit{
  background:#ffe89a!important;
  border-color:#b7791f!important;
}
.kuba-customer-credit-banner__credit strong{font-size:18px;color:#7a3e00}
.kuba-customer-credit-banner__pay strong{font-size:18px;color:#111827}
@media(max-width:700px){
  .kuba-customer-credit-banner{grid-template-columns:36px minmax(0,1fr);padding:14px}
  .kuba-customer-credit-banner__mark{width:32px;height:32px;font-size:18px}
  .kuba-customer-credit-banner__breakdown{grid-template-columns:1fr}
}

/* 0.4.71 — strong green customer-credit treatment on Cart / Checkout */
.kuba-customer-credit-banner{
  border-color:#008a3b;
  background:#e9f9ef;
  color:#006b2d;
}
.kuba-customer-credit-banner__mark{
  background:#008a3b;
  color:#fff;
}
.kuba-customer-credit-banner__title{
  color:#007a34;
  font-weight:900;
}
.kuba-customer-credit-banner__description{
  color:#00803a;
  font-weight:700;
}
.kuba-customer-credit-banner__breakdown>span{
  border-color:rgba(0,138,59,.28);
  background:rgba(255,255,255,.82);
}
.kuba-customer-credit-banner__breakdown strong{
  color:#064e2b;
}
.kuba-customer-credit-banner__credit{
  background:#d8f5e2!important;
  border-color:#008a3b!important;
  color:#007a34!important;
  font-weight:900!important;
}
.kuba-customer-credit-banner__credit strong{
  color:#007a34!important;
  font-size:18px;
  font-weight:900!important;
}
[data-kuba-customer-credit="1"]{
  color:#007a34!important;
  font-weight:900!important;
  background:#e9f9ef!important;
  box-shadow:inset 4px 0 0 #008a3b;
}
[data-kuba-customer-credit="1"] *,
[data-kuba-customer-credit-label="1"]{
  color:#007a34!important;
  font-weight:900!important;
}
[data-kuba-customer-credit="1"] .wc-block-components-totals-item__value{
  color:#007a34!important;
  font-weight:900!important;
  white-space:nowrap!important;
}
