
/* 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;
}
