/*
Theme Name:  Chiniot Furniture Market
Theme URI:   https://cfm.pk
Author:      Sajid
Author URI:  https://cfm.pk
Description: Premium WooCommerce theme for Chiniot Furniture Market. Sheesham Wood High Gloss. Full Customizer control, mobile responsive, scaleable. Version CFM Final.
Version:     4.0.0
Requires at least: 6.0
Tested up to: 6.5
Requires PHP: 7.4
WC requires at least: 7.0
WC tested up to: 8.5
License:     GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: cfm
Tags: woocommerce, furniture, customizer, responsive
*/

/* =====================================================
   CSS CUSTOM PROPERTIES — Defaults (overridden by PHP)
===================================================== */
:root {
    --cfm-primary:       #4A1E00;
    --cfm-secondary:     #7B3F00;
    --cfm-accent:        #D4A843;
    --cfm-gold-light:    #F0C96B;
    --cfm-cream:         #FAF3E8;
    --cfm-cream-dark:    #EFE4CC;
    --cfm-white:         #FFFFFF;
    --cfm-text:          #2C1500;
    --cfm-text-muted:    #7A5C3A;
    --cfm-border:        rgba(74,30,0,0.12);

    --cfm-font-heading:  'Playfair Display', Georgia, serif;
    --cfm-font-body:     'DM Sans', 'Segoe UI', sans-serif;
    --cfm-font-size:     15px;
    --cfm-radius:        8px;
    --cfm-transition:    0.28s ease;

    --cfm-topbar-bg:     #4A1E00;
    --cfm-topbar-color:  #FAF3E8;
    --cfm-topbar-height: 40px;
    --cfm-topbar-fs:     13px;

    --cfm-header-bg:     #FAF3E8;
    --cfm-header-height: 80px;
    --cfm-logo-width:    160px;
    --cfm-menu-align:    center;
    --cfm-menu-fs:       14px;
    --cfm-menu-color:    #4A1E00;
    --cfm-menu-hover:    #C8860A;
    --cfm-dropdown-bg:   #4A1E00;
    --cfm-icon-color:    #4A1E00;

    --cfm-slider-h:      580px;
    --cfm-slider-overlay:0.4;
    --cfm-slider-h-color:#FFFFFF;
    --cfm-slider-h-size: 52px;
    --cfm-slider-btn-bg: #D4A843;
    --cfm-slide-zoom:    scale(1.06);

    --cfm-tabs-bg:       #4A1E00;
    --cfm-tabs-active:   #D4A843;
    --cfm-tabs-text:     #FAF3E8;
    --cfm-tabs-fs:       11px;
    --cfm-tab-icon-size: 26px;
    --cfm-tab-padding:   7px 12px;

    --cfm-card-bg:       #FFFFFF;
    --cfm-card-title:    #4A1E00;
    --cfm-card-price:    #C8860A;
    --cfm-card-btn-bg:   #4A1E00;
    --cfm-card-btn-color:#FFFFFF;

    --cfm-footer-bg:     #1A0800;
    --cfm-footer-text:   #C4A882;
    --cfm-footer-accent: #D4A843;
    --cfm-footer-logo-w: 140px;

    --cfm-social-color:  #D4A843;
    --cfm-social-hover:  #FFFFFF;
    --cfm-social-size:   15px;

    --cfm-marquee-bg:    #7B3F00;
    --cfm-marquee-color: #FAF3E8;
    --cfm-marquee-h:     42px;
    --cfm-marquee-fs:    13px;
    --cfm-marquee-dur:   30s;

    --cfm-reviews-bg:    #FAF3E8;
    --cfm-trending-bg:   #EFE4CC;
}

/* =====================================================
   RESET
===================================================== */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{font-size:var(--cfm-font-size);scroll-behavior:smooth}
body{font-family:var(--cfm-font-body);color:var(--cfm-text);background:var(--cfm-cream);line-height:1.7;overflow-x:hidden}
img{max-width:100%;height:auto;display:block}
a{text-decoration:none;color:inherit;transition:color var(--cfm-transition)}
ul,ol{list-style:none}
button{cursor:pointer;font-family:var(--cfm-font-body);border:none;background:none}
input,textarea,select{font-family:var(--cfm-font-body)}

/* =====================================================
   WORDPRESS REQUIRED
===================================================== */
.screen-reader-text{clip:rect(1px,1px,1px,1px);position:absolute!important;height:1px;width:1px;overflow:hidden}
.aligncenter{display:block;margin:0 auto}
.alignleft{float:left;margin-right:1.5rem}
.alignright{float:right;margin-left:1.5rem}
.wp-caption{max-width:100%}

/* =====================================================
   LAYOUT
===================================================== */
.cfm-container{width:100%;max-width:1320px;margin:0 auto;padding:0 20px}
.cfm-page-wrapper{display:flex;flex-direction:column;min-height:100vh}
#cfm-main{flex:1}

/* =====================================================
   SECTION HEADERS
===================================================== */
.cfm-section-head{text-align:center;margin-bottom:32px}
.cfm-section-title{font-family:var(--cfm-font-heading);font-size:28px;font-weight:700;color:var(--cfm-primary);line-height:1.2;margin-bottom:6px}
.cfm-section-sub{font-size:14px;color:var(--cfm-text-muted)}

/* =====================================================
   BUTTONS
===================================================== */
.cfm-btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;border-radius:6px;font-weight:500;transition:all var(--cfm-transition);cursor:pointer;font-family:var(--cfm-font-body);text-decoration:none;border:none}
.cfm-btn-sm{padding:7px 13px;font-size:12px}
.cfm-btn-md{padding:10px 20px;font-size:14px}
.cfm-btn-primary{background:var(--cfm-card-btn-bg);color:var(--cfm-card-btn-color)}
.cfm-btn-primary:hover{background:var(--cfm-secondary);color:#fff;transform:translateY(-1px)}
.cfm-btn-outline{background:transparent;color:var(--cfm-primary);border:1.5px solid rgba(74,30,0,0.2)}
.cfm-btn-outline:hover{background:var(--cfm-primary);color:#fff}
.cfm-btn-wa{background:#25D366;color:#fff;box-shadow:0 3px 10px rgba(37,211,102,0.25)}
.cfm-btn-wa:hover{background:#128C7E;color:#fff;transform:translateY(-2px);box-shadow:0 6px 18px rgba(37,211,102,0.4)}
.cfm-btn-icon{width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:6px;font-size:13px;border:1.5px solid rgba(74,30,0,0.18);color:var(--cfm-primary);background:transparent;transition:all var(--cfm-transition);cursor:pointer}
.cfm-btn-icon:hover{background:var(--cfm-primary);color:#fff;border-color:var(--cfm-primary)}
.cfm-btn-icon.cart:hover{background:var(--cfm-accent);border-color:var(--cfm-accent);color:var(--cfm-primary)}
.cfm-btn-icon.wish{transition:all var(--cfm-transition)}
.cfm-btn-icon.wish:hover,.cfm-btn-icon.wish.active{background:#e53935;border-color:#e53935;color:#fff}
.cfm-btn-icon.wish.active i::before{content:"\f004"}

/* =====================================================
   PRODUCT CARD — Universal (same on every page)
===================================================== */
.cfm-product-card{background:var(--cfm-card-bg);border-radius:10px;overflow:hidden;border:1px solid var(--cfm-border);transition:transform var(--cfm-transition),box-shadow var(--cfm-transition);display:flex;flex-direction:column;position:relative}
.cfm-product-card:hover{transform:translateY(-5px);box-shadow:0 14px 36px rgba(74,30,0,0.14)}
.cfm-product-card__img-wrap{display:block;position:relative;overflow:hidden;aspect-ratio:1/1;background:var(--cfm-cream)}
.cfm-product-card__img-wrap img{width:100%;height:100%;object-fit:cover;transition:transform 0.5s ease}
.cfm-product-card:hover .cfm-product-card__img-wrap img{transform:scale(1.06)}
.cfm-product-card__img-placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;font-size:48px;color:rgba(74,30,0,0.15)}

/* Golden shine — only on hover, desktop */
.cfm-product-card__shine{position:absolute;inset:0;background:linear-gradient(120deg,transparent 0%,transparent 30%,rgba(212,168,67,0.5) 50%,rgba(240,201,107,0.35) 55%,transparent 70%,transparent 100%);opacity:0;transform:translateX(-120%) skewX(-20deg);pointer-events:none;z-index:3}
@media(hover:hover)and(pointer:fine){.cfm-product-card:hover .cfm-product-card__shine{animation:cfm-shine 0.65s ease forwards}}
@keyframes cfm-shine{0%{transform:translateX(-120%) skewX(-20deg);opacity:0}15%{opacity:1}100%{transform:translateX(180%) skewX(-20deg);opacity:0}}

/* Badges */
.cfm-badge{position:absolute;top:10px;left:10px;z-index:4;font-size:10px;font-weight:700;padding:3px 9px;border-radius:3px;letter-spacing:0.5px;text-transform:uppercase}
.cfm-badge.sale{background:#E53935;color:#fff}
.cfm-badge.featured{background:var(--cfm-accent);color:var(--cfm-primary)}
.cfm-badge.new{background:#2E7D32;color:#fff}

/* Card info */
.cfm-product-card__info{padding:12px 13px 14px;flex:1;display:flex;flex-direction:column}
.cfm-product-card__title{font-family:var(--cfm-font-heading);font-size:13px;font-weight:600;margin-bottom:5px;flex:1}
.cfm-product-card__title a{color:var(--cfm-card-title);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;transition:color var(--cfm-transition)}
.cfm-product-card__title a:hover{color:var(--cfm-accent)}
.cfm-product-card__price{margin-bottom:10px;font-size:15px;font-weight:600;color:var(--cfm-card-price)}
.cfm-product-card__price del{font-size:12px;color:var(--cfm-text-muted);margin-right:4px}
/* Actions */
.cfm-product-card__actions{margin-top:auto;display:flex;flex-direction:column;gap:6px}
.cfm-card-row1{display:flex;gap:5px}
.cfm-card-row2{display:flex;gap:5px}
.cfm-card-wa{display:flex;align-items:center;justify-content:center;gap:6px;width:100%;padding:8px 10px;font-size:12px;font-weight:600;background:#25D366;color:#fff;border-radius:6px;border:none;text-decoration:none;transition:all var(--cfm-transition);cursor:pointer;font-family:var(--cfm-font-body)}
.cfm-card-wa:hover{background:#128C7E;color:#fff;transform:translateY(-1px)}
.cfm-card-wa i{font-size:14px}
.cfm-card-view,.cfm-card-detail{flex:1;display:flex;align-items:center;justify-content:center;gap:5px;padding:7px 8px;font-size:11px;font-weight:500;border:1.5px solid rgba(74,30,0,0.18);border-radius:6px;color:var(--cfm-primary);background:transparent;text-decoration:none;transition:all var(--cfm-transition);cursor:pointer;font-family:var(--cfm-font-body)}
.cfm-card-view:hover,.cfm-card-detail:hover{background:var(--cfm-primary);color:#fff;border-color:var(--cfm-primary)}
.cfm-card-cart{width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:6px;font-size:12px;border:1.5px solid rgba(74,30,0,0.18);color:var(--cfm-primary);background:transparent;transition:all var(--cfm-transition);cursor:pointer;text-decoration:none}
.cfm-card-cart:hover{background:var(--cfm-accent);border-color:var(--cfm-accent);color:var(--cfm-primary)}
.cfm-card-wish{width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:6px;font-size:12px;border:1.5px solid rgba(74,30,0,0.18);color:var(--cfm-primary);background:transparent;transition:all var(--cfm-transition);cursor:pointer}
.cfm-card-wish:hover,.cfm-card-wish.active{background:#e53935;border-color:#e53935;color:#fff}
.cfm-card-wish.active i::before{content:"\f004"}

/* =====================================================
   PRODUCTS GRID
===================================================== */
.cfm-grid{display:grid;gap:18px}
.cfm-grid-4{grid-template-columns:repeat(4,1fr)}
.cfm-grid-3{grid-template-columns:repeat(3,1fr)}

/* =====================================================
   CAROUSEL ARROWS (shared)
===================================================== */
.cfm-arrow{position:absolute;top:50%;transform:translateY(-50%);z-index:10;width:42px;height:42px;border-radius:50%;background:var(--cfm-primary);color:#fff;font-size:15px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all var(--cfm-transition);box-shadow:0 3px 12px rgba(74,30,0,0.25);border:none}
.cfm-arrow:hover{background:var(--cfm-accent);color:var(--cfm-primary);transform:translateY(-50%) scale(1.08)}
.cfm-arrow.prev{left:-16px}
.cfm-arrow.next{right:-16px}
.cfm-arrow-sm{width:36px;height:36px;font-size:13px}

/* =====================================================
   FLOATING WHATSAPP + BACK TO TOP
===================================================== */
.cfm-float-wa{position:fixed;bottom:28px;right:24px;z-index:9999;width:58px;height:58px;border-radius:50%;background:#25D366;color:#fff;display:flex;align-items:center;justify-content:center;font-size:28px;text-decoration:none;box-shadow:0 4px 20px rgba(37,211,102,0.5);transition:transform 0.3s,box-shadow 0.3s}
.cfm-float-wa:hover{transform:scale(1.12);box-shadow:0 8px 28px rgba(37,211,102,0.65);color:#fff}
.cfm-float-wa-pulse{position:absolute;inset:-4px;border-radius:50%;border:3px solid #25D366;opacity:0;animation:cfm-wa-pulse 2.2s ease-out infinite}
@keyframes cfm-wa-pulse{0%{transform:scale(0.9);opacity:0.7}70%{transform:scale(1.4);opacity:0}100%{opacity:0}}
.cfm-back-top{position:fixed;bottom:96px;right:24px;z-index:9998;width:42px;height:42px;border-radius:50%;background:var(--cfm-primary);color:#fff;font-size:14px;cursor:pointer;display:flex;align-items:center;justify-content:center;opacity:0;pointer-events:none;transition:opacity 0.3s,transform 0.3s;box-shadow:0 3px 12px rgba(74,30,0,0.3);border:none}
.cfm-back-top.show{opacity:1;pointer-events:auto}
.cfm-back-top:hover{transform:translateY(-3px);background:var(--cfm-accent);color:var(--cfm-primary)}

/* =====================================================
   PAGINATION NAV (tabs products)
===================================================== */
.cfm-pager{display:flex;align-items:center;justify-content:center;gap:10px;padding:16px 0}
.cfm-pager-btn{width:36px;height:36px;border-radius:50%;border:2px solid var(--cfm-primary);background:transparent;color:var(--cfm-primary);font-size:12px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all var(--cfm-transition)}
.cfm-pager-btn:hover{background:var(--cfm-primary);color:#fff}
.cfm-pager-btn:disabled{opacity:0.3;cursor:not-allowed;transform:none!important}
.cfm-pager-info{font-size:13px;color:var(--cfm-text-muted)}

/* =====================================================
   LOADING SPINNER
===================================================== */
.cfm-loading{position:relative;min-height:200px}
.cfm-loading::after{content:'';position:absolute;inset:0;background:rgba(255,255,255,0.7);z-index:10}
.cfm-loading::before{content:'';position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:40px;height:40px;border:3px solid var(--cfm-accent);border-top-color:transparent;border-radius:50%;animation:cfm-spin 0.8s linear infinite;z-index:11}
@keyframes cfm-spin{to{transform:translate(-50%,-50%) rotate(360deg)}}
