/*
Theme Name: Shiv Kala Craft
Theme URI: https://shivkalacraft.com/
Author: Shiv Kala Craft
Description: Custom WooCommerce-ready theme for Shiv Kala Craft, styled in the spirit of Khaticraft.com — warm wood tones, category grid, hero banner, product/cart/account pages via WooCommerce.
Version: 1.0
Requires PHP: 7.4
Text Domain: shivkala
*/

:root{
    --wood-dark:#5b3a24;
    --wood:#8a5a35;
    --wood-light:#c9955c;
    --cream:#faf6f0;
    --cream-dark:#f1e6d8;
    --gold:#b8860b;
    --text:#2e2119;
    --muted:#7a6a5c;
    --white:#ffffff;
    --radius:10px;
}

*{box-sizing:border-box;}
body{
    margin:0;
    font-family:'Poppins','Segoe UI',sans-serif;
    color:var(--text);
    background:var(--cream);
    line-height:1.6;
}
a{color:inherit;text-decoration:none;}
img{max-width:100%;display:block;}
ul{list-style:none;margin:0;padding:0;}
h1,h2,h3,h4{font-family:'Playfair Display',Georgia,serif;color:var(--wood-dark);margin:0 0 12px;}
.container{max-width:1240px;margin:0 auto;padding:0 20px;}
.btn{
    display:inline-block;
    background:var(--wood-dark);
    color:#fff;
    padding:12px 28px;
    border-radius:var(--radius);
    font-weight:600;
    border:none;
    cursor:pointer;
    transition:.2s;
}
.btn:hover{background:var(--gold);color:#fff;}

/* Top bar */
.topbar{background:var(--wood-dark);color:#f4e9dc;font-size:13px;}
.topbar .container{display:flex;justify-content:space-between;align-items:center;padding:8px 20px;flex-wrap:wrap;}
.topbar a{color:#f4e9dc;margin-right:16px;}
.topbar a:hover{color:var(--wood-light);}

/* Header */
.site-header{background:#fff;border-bottom:1px solid var(--cream-dark);position:sticky;top:0;z-index:50;}
.header-row{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;gap:20px;}
.site-logo img{max-height:60px;}
.site-logo{font-family:'Playfair Display',serif;font-size:26px;font-weight:700;color:var(--wood-dark);}
.header-search{flex:1;max-width:420px;}
.header-search form{display:flex;border:1px solid var(--cream-dark);border-radius:30px;overflow:hidden;}
.header-search input[type="search"]{flex:1;border:none;padding:10px 16px;outline:none;font-size:14px;}
.header-search button{background:var(--wood-dark);border:none;color:#fff;padding:0 18px;cursor:pointer;}
.header-icons{display:flex;align-items:center;gap:22px;}
.header-icons a{display:flex;flex-direction:column;align-items:center;font-size:11px;color:var(--wood-dark);position:relative;}
.header-icons .icon-badge{position:relative;}
.header-icons .count{position:absolute;top:-8px;right:-10px;background:var(--gold);color:#fff;font-size:10px;border-radius:50%;width:16px;height:16px;display:flex;align-items:center;justify-content:center;}
.header-icons svg{width:22px;height:22px;margin-bottom:2px;}

/* Main nav */
.main-nav{background:var(--wood-dark);}
.main-nav ul{display:flex;justify-content:center;flex-wrap:wrap;}
.main-nav li{position:relative;}
.main-nav a{display:block;padding:14px 20px;color:#f4e9dc;font-weight:600;font-size:14px;letter-spacing:.3px;}
.main-nav a:hover{background:var(--wood);color:#fff;}
.main-nav .sub-menu{display:none;position:absolute;left:0;top:100%;background:#fff;min-width:220px;box-shadow:0 12px 24px rgba(0,0,0,.12);border-radius:0 0 8px 8px;z-index:60;}
.main-nav li:hover > .sub-menu{display:block;}
.main-nav .sub-menu a{color:var(--text);padding:10px 18px;font-weight:400;}
.main-nav .sub-menu a:hover{background:var(--cream);color:var(--wood-dark);}

/* Hero */
.hero{position:relative;background:linear-gradient(120deg,var(--cream-dark),var(--cream));padding:70px 0;overflow:hidden;}
.hero .container{display:flex;align-items:center;gap:40px;flex-wrap:wrap;}
.hero-text{flex:1;min-width:280px;}
.hero-text h1{font-size:40px;margin-bottom:16px;}
.hero-text p{color:var(--muted);margin-bottom:24px;max-width:480px;}
.hero-image{flex:1;min-width:280px;}
.hero-image img{border-radius:var(--radius);}

/* Section titles */
.section{padding:56px 0;}
.section-title{text-align:center;margin-bottom:36px;}
.section-title h2{font-size:30px;}
.section-title p{color:var(--muted);}

/* Category grid */
.cat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:22px;}
.cat-card{background:#fff;border-radius:var(--radius);overflow:hidden;text-align:center;box-shadow:0 4px 14px rgba(0,0,0,.05);transition:.2s;}
.cat-card:hover{transform:translateY(-4px);box-shadow:0 10px 24px rgba(0,0,0,.1);}
.cat-card img{width:100%;height:150px;object-fit:cover;}
.cat-card .cat-name{padding:12px;font-weight:600;color:var(--wood-dark);}

/* Features strip */
.features-strip{background:var(--cream-dark);}
.features-strip .container{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:24px;padding:36px 20px;}
.feature-item{text-align:center;}
.feature-item h4{margin-bottom:6px;font-size:17px;}
.feature-item p{margin:0;color:var(--muted);font-size:13px;}

/* Products grid (WooCommerce override look) */
ul.products{display:grid !important;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:24px;list-style:none;}
ul.products li.product{background:#fff;border-radius:var(--radius);padding:14px;box-shadow:0 4px 14px rgba(0,0,0,.05);transition:.2s;}
ul.products li.product:hover{transform:translateY(-4px);box-shadow:0 10px 24px rgba(0,0,0,.1);}
ul.products li.product img{border-radius:8px;margin-bottom:10px;}
ul.products li.product .price{color:var(--gold);font-weight:700;}
ul.products li.product .button{background:var(--wood-dark);color:#fff;border-radius:6px;padding:8px 16px;font-size:13px;}
ul.products li.product .button:hover{background:var(--gold);}

/* Shop / archive page header */
.woocommerce-products-header{margin-bottom:24px;text-align:center;}
.woocommerce-result-count, .woocommerce-ordering{
    background:#fff;padding:10px 16px;border-radius:8px;box-shadow:0 2px 8px rgba(0,0,0,.04);
    display:inline-block;margin-bottom:20px;font-size:13px;color:var(--muted);
}
.woocommerce-ordering select{border:1px solid var(--cream-dark);border-radius:6px;padding:6px 10px;}

/* Responsive tables (cart, checkout order review) */
.woocommerce table.shop_table{width:100%;border-collapse:collapse;}
@media(max-width:600px){
    .woocommerce table.shop_table{display:block;overflow-x:auto;white-space:nowrap;}
    .woocommerce-cart .cart-collaterals,
    .woocommerce-checkout .col2-set{display:block;}
    .woocommerce-checkout .col2-set .col-1,
    .woocommerce-checkout .col2-set .col-2{width:100%;float:none;}
    .woocommerce div.product div.images, .woocommerce div.product div.summary{width:100% !important;float:none !important;}
}

/* ---------------------------------------------------
   Single Product Page
--------------------------------------------------- */
.woocommerce div.product{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:44px;
    background:#fff;
    padding:32px;
    border-radius:var(--radius);
    box-shadow:0 4px 20px rgba(0,0,0,.05);
    margin-bottom:40px;
}
.woocommerce div.product div.images{margin:0;}
.woocommerce div.product div.images img{border-radius:var(--radius);}
.woocommerce div.product div.summary{margin:0;}
.woocommerce div.product .product_title{font-size:28px;margin-bottom:10px;}
.woocommerce div.product p.price,
.woocommerce div.product span.price{
    color:var(--gold);
    font-size:26px;
    font-weight:700;
    margin-bottom:14px;
    display:block;
}
.woocommerce div.product .woocommerce-product-details__short-description{color:var(--muted);margin-bottom:18px;}
.woocommerce div.product form.cart{display:flex;align-items:center;gap:14px;margin:20px 0;flex-wrap:wrap;}
.woocommerce div.product form.cart .quantity input{
    width:70px;padding:10px;border:1px solid var(--cream-dark);border-radius:6px;text-align:center;
}
.woocommerce div.product form.cart button.single_add_to_cart_button{
    background:var(--wood-dark);color:#fff;padding:12px 32px;border-radius:var(--radius);font-weight:600;border:none;
}
.woocommerce div.product form.cart button.single_add_to_cart_button:hover{background:var(--gold);}
.woocommerce div.product .product_meta{font-size:13px;color:var(--muted);border-top:1px solid var(--cream-dark);padding-top:14px;margin-top:14px;}
.woocommerce div.product .product_meta a{color:var(--wood-dark);}

/* Breadcrumb */
.woocommerce-breadcrumb{
    background:#fff;padding:14px 20px;border-radius:var(--radius);margin-bottom:24px;
    font-size:13px;color:var(--muted);box-shadow:0 2px 8px rgba(0,0,0,.04);
}
.woocommerce-breadcrumb a{color:var(--wood-dark);}

/* Tabs */
.woocommerce-tabs{background:#fff;border-radius:var(--radius);padding:8px 0 30px;margin-bottom:40px;box-shadow:0 4px 20px rgba(0,0,0,.05);}
.woocommerce-tabs ul.tabs{display:flex;gap:6px;border-bottom:1px solid var(--cream-dark);padding:0 24px;margin:0;list-style:none;}
.woocommerce-tabs ul.tabs li{margin:0;}
.woocommerce-tabs ul.tabs li a{display:block;padding:16px 18px;font-weight:600;color:var(--muted);}
.woocommerce-tabs ul.tabs li.active a{color:var(--wood-dark);border-bottom:3px solid var(--gold);}
.woocommerce-tabs .panel{padding:24px;color:var(--text);}

/* Related products */
.related.products{margin-top:20px;}
.related.products > h2{font-size:24px;text-align:center;margin-bottom:24px;}

@media(max-width:782px){
    .woocommerce div.product{grid-template-columns:1fr;padding:18px;gap:20px;}
    .woocommerce div.product .product_title{font-size:22px;}
}

/* WooCommerce general polish */
.woocommerce-message,.woocommerce-info{border-top-color:var(--wood-dark) !important;}
.woocommerce a.button, .woocommerce button.button, .woocommerce input.button{background:var(--wood-dark);color:#fff;border-radius:8px;}
.woocommerce a.button:hover, .woocommerce button.button:hover{background:var(--gold);}
.woocommerce-account .woocommerce-MyAccount-navigation ul{border-radius:var(--radius);overflow:hidden;background:#fff;box-shadow:0 4px 14px rgba(0,0,0,.05);}
.woocommerce-account .woocommerce-MyAccount-navigation li a{padding:12px 18px;display:block;border-bottom:1px solid var(--cream-dark);}
.woocommerce-account .woocommerce-MyAccount-navigation li.is-active a{background:var(--wood-dark);color:#fff;}
.woocommerce form.login, .woocommerce form.register{background:#fff;padding:30px;border-radius:var(--radius);box-shadow:0 4px 14px rgba(0,0,0,.05);}
.woocommerce form.login input, .woocommerce form.register input, .woocommerce form.checkout input, .woocommerce form.checkout select{border:1px solid var(--cream-dark);border-radius:6px;padding:10px;}

/* Footer */
.site-footer{background:var(--wood-dark);color:#eadfd2;padding-top:50px;}
.footer-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:30px;padding-bottom:36px;}
.footer-grid h5{color:#fff;margin-bottom:14px;font-size:15px;text-transform:uppercase;letter-spacing:.5px;}
.footer-grid a{display:block;color:#d8c7b4;padding:4px 0;font-size:14px;}
.footer-grid a:hover{color:#fff;}
.newsletter-form{display:flex;margin-top:10px;}
.newsletter-form input{flex:1;padding:10px;border:none;border-radius:6px 0 0 6px;}
.newsletter-form button{background:var(--gold);border:none;color:#fff;padding:0 16px;border-radius:0 6px 6px 0;cursor:pointer;}
.footer-bottom{border-top:1px solid rgba(255,255,255,.1);padding:18px 20px;text-align:center;font-size:13px;color:#c9b8a5;}
.social-icons{display:flex;gap:12px;margin-top:12px;}
.social-icons a{width:34px;height:34px;background:rgba(255,255,255,.08);border-radius:50%;display:flex;align-items:center;justify-content:center;}

/* ---------------------------------------------------
   Mobile hamburger + bottom bar
--------------------------------------------------- */
.mobile-toggle{
    display:none;
    flex-direction:column;
    justify-content:center;
    gap:5px;
    width:34px;
    height:34px;
    background:none;
    border:none;
    cursor:pointer;
    padding:0;
}
.mobile-toggle span{display:block;height:3px;width:100%;background:var(--wood-dark);border-radius:2px;transition:.25s;}
.mobile-toggle.active span:nth-child(1){transform:translateY(8px) rotate(45deg);}
.mobile-toggle.active span:nth-child(2){opacity:0;}
.mobile-toggle.active span:nth-child(3){transform:translateY(-8px) rotate(-45deg);}

.mobile-bottom-bar{display:none;}

/* ---------------------------------------------------
   Responsive breakpoints
--------------------------------------------------- */

/* Tablets */
@media(max-width:1024px){
    .cat-grid{grid-template-columns:repeat(3,1fr);}
    ul.products{grid-template-columns:repeat(3,1fr) !important;}
    .hero-text h1{font-size:34px;}
}

/* Mobile */
@media(max-width:782px){
    .topbar .container{justify-content:center;gap:14px;text-align:center;}
    .topbar-right{display:none;}

    .header-row{flex-wrap:nowrap;padding:12px 16px;}
    .site-logo img{max-height:44px;}
    .header-search{order:3;max-width:100%;width:100%;flex-basis:100%;margin-top:10px;}
    .header-icons{display:none;} /* replaced by mobile bottom bar */

    .mobile-toggle{display:flex;}

    .main-nav{display:none;}
    .main-nav.nav-open{display:block;}
    .main-nav ul{flex-direction:column;}
    .main-nav a{padding:12px 16px;border-bottom:1px solid rgba(255,255,255,.08);}
    .main-nav .sub-menu{position:static;box-shadow:none;display:none;background:rgba(255,255,255,.04);}
    .main-nav li.submenu-open > .sub-menu{display:block;}
    .main-nav .sub-menu a{color:#f4e9dc;padding-left:32px;}

    .hero{padding:40px 0;}
    .hero .container{flex-direction:column-reverse;text-align:center;}
    .hero-text h1{font-size:26px;}
    .hero-text p{margin-left:auto;margin-right:auto;}

    .section{padding:36px 0;}
    .section-title h2{font-size:24px;}

    .cat-grid{grid-template-columns:repeat(2,1fr);gap:14px;}
    .cat-card img{height:110px;}

    ul.products{grid-template-columns:repeat(2,1fr) !important;gap:14px;}
    ul.products li.product{padding:10px;}

    .features-strip .container{grid-template-columns:repeat(2,1fr);gap:18px;padding:24px 16px;}

    .footer-grid{grid-template-columns:repeat(2,1fr);text-align:left;}

    /* Bottom mobile nav bar */
    .mobile-bottom-bar{
        display:flex;
        justify-content:space-around;
        align-items:center;
        position:fixed;
        bottom:0;left:0;right:0;
        background:#fff;
        border-top:1px solid var(--cream-dark);
        padding:8px 4px calc(8px + env(safe-area-inset-bottom));
        z-index:100;
        box-shadow:0 -4px 12px rgba(0,0,0,.06);
    }
    .mobile-bottom-bar a{
        display:flex;flex-direction:column;align-items:center;
        font-size:10px;color:var(--wood-dark);gap:3px;position:relative;
    }
    .mobile-bottom-bar svg{width:20px;height:20px;}
    .mobile-bottom-bar .count{position:absolute;top:-4px;right:6px;background:var(--gold);color:#fff;font-size:9px;border-radius:50%;width:14px;height:14px;display:flex;align-items:center;justify-content:center;}
    body{padding-bottom:64px;}
}

/* Small phones */
@media(max-width:420px){
    .cat-grid{grid-template-columns:repeat(2,1fr);}
    ul.products{grid-template-columns:repeat(2,1fr) !important;}
    .hero-text h1{font-size:22px;}
    .footer-grid{grid-template-columns:1fr;}
}
