/*
Theme Name: Canvas & Frame
Theme URI: https://thepaintingstudio.art
Description: Premium art gallery e-commerce theme for The Painting Studio — built for WooCommerce.
Author: The Painting Studio
Version: 2.0.0
Requires at least: 6.0
Requires PHP: 7.4
Text Domain: canvas-frame
Tags: woocommerce, e-commerce, art, gallery, luxury
*/

/* ============================================================
   DESIGN TOKENS
   ============================================================ */
:root {
  --c-ink:        #1a1a1e;
  --c-ink-soft:   #3a3a3f;
  --c-text:       #2c2c30;
  --c-muted:      #717178;
  --c-gold:       #c8973e;
  --c-gold-light: #ddb96a;
  --c-gold-pale:  #f7efe0;
  --c-cream:      #faf7f2;
  --c-white:      #ffffff;
  --c-border:     #e8e0d2;
  --c-border-dark:#cfc5b4;
  --c-error:      #c0392b;
  --c-success:    #27ae60;
  --font-serif:   'Cormorant Garamond', 'Georgia', serif;
  --font-sans:    'Inter', 'Helvetica Neue', sans-serif;
  --radius:       4px;
  --radius-lg:    8px;
  --shadow-sm:    0 2px 8px rgba(26,26,30,.07);
  --shadow-md:    0 6px 24px rgba(26,26,30,.12);
  --shadow-lg:    0 16px 48px rgba(26,26,30,.18);
  --transition:   0.28s cubic-bezier(0.4,0,0.2,1);
  --header-h:     72px;
  --container:    1280px;
}

/* ============================================================
   RESET & BASE
   ============================================================ */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{background:var(--c-cream);color:var(--c-text);font-family:var(--font-sans);font-size:16px;line-height:1.75;-webkit-font-smoothing:antialiased;}
img{max-width:100%;height:auto;display:block}
a{color:var(--c-gold);text-decoration:none;transition:color var(--transition)}
a:hover{color:var(--c-ink)}
ul,ol{list-style:none}
button,input,select,textarea{font-family:inherit;font-size:inherit}

/* ============================================================
   TYPOGRAPHY
   ============================================================ */
h1,h2,h3,h4,h5,h6{font-family:var(--font-serif);color:var(--c-ink);line-height:1.2;font-weight:600;letter-spacing:.01em;}
h1{font-size:clamp(2.2rem,4.5vw,3.8rem)}
h2{font-size:clamp(1.8rem,3.5vw,3rem)}
h3{font-size:clamp(1.4rem,2.5vw,2rem)}
h4{font-size:clamp(1.1rem,2vw,1.4rem)}
p{margin-bottom:1.25em;color:var(--c-text)}
.eyebrow{font-family:var(--font-sans);font-size:.72rem;font-weight:700;letter-spacing:.22em;text-transform:uppercase;color:var(--c-gold);display:block;margin-bottom:.75rem;}
.section-title{text-align:center;margin-bottom:.75rem}
.section-subtitle{text-align:center;color:var(--c-muted);font-size:1.05rem;max-width:560px;margin:0 auto 3rem}

/* ============================================================
   LAYOUT
   ============================================================ */
.cf-container{max-width:var(--container);margin:0 auto;padding:0 24px}
.cf-section{padding:80px 0}
@media(max-width:768px){.cf-section{padding:56px 0}}

/* ============================================================
   HEADER
   ============================================================ */
#cf-promo-bar{background:var(--c-ink);color:var(--c-gold-light);text-align:center;font-size:.75rem;font-weight:600;letter-spacing:.15em;text-transform:uppercase;padding:10px 24px;position:relative;}
#cf-promo-bar a{color:var(--c-gold-light)}
.cf-promo-close{position:absolute;right:16px;top:50%;transform:translateY(-50%);background:none;border:none;color:var(--c-gold-light);cursor:pointer;font-size:1.1rem;line-height:1}

#cf-header{position:sticky;top:0;z-index:1000;background:var(--c-white);border-bottom:1px solid var(--c-border);height:var(--header-h);display:flex;align-items:center;transition:box-shadow var(--transition);}
#cf-header.scrolled{box-shadow:var(--shadow-md)}
.cf-header-inner{max-width:var(--container);margin:0 auto;padding:0 24px;width:100%;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:16px;}
.cf-logo{font-family:var(--font-serif);font-size:1.2rem;font-weight:700;color:var(--c-ink)!important;letter-spacing:.06em;text-transform:uppercase;white-space:nowrap;justify-self:start;display:flex;align-items:center;gap:10px;}
.cf-logo img{height:44px;width:auto}
.cf-logo:hover{color:var(--c-gold)!important}
.cf-nav{justify-self:center}
.cf-nav ul{display:flex;gap:4px;align-items:center}
.cf-nav ul li a{font-size:.8rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--c-ink);padding:8px 14px;border-radius:var(--radius);transition:color var(--transition),background var(--transition);}
.cf-nav ul li a:hover,.cf-nav ul li.current-menu-item>a{color:var(--c-gold)}
.cf-nav ul li{position:relative}
.cf-nav ul li ul{position:absolute;top:calc(100% + 8px);left:50%;transform:translateX(-50%) translateY(8px);background:var(--c-white);border:1px solid var(--c-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);min-width:200px;padding:8px 0;opacity:0;visibility:hidden;transition:opacity var(--transition),transform var(--transition);}
.cf-nav ul li:hover>ul{opacity:1;visibility:visible;transform:translateX(-50%) translateY(0)}
.cf-nav ul li ul li a{display:block;padding:10px 20px;font-size:.78rem;letter-spacing:.08em;border-radius:0;color:var(--c-text);}
.cf-nav ul li ul li a:hover{background:var(--c-gold-pale);color:var(--c-gold)}
.cf-header-actions{justify-self:end;display:flex;align-items:center;gap:8px;}
.cf-header-icon{width:40px;height:40px;display:flex;align-items:center;justify-content:center;border-radius:50%;cursor:pointer;color:var(--c-ink);transition:background var(--transition),color var(--transition);background:transparent;border:none;position:relative;}
.cf-header-icon:hover{background:var(--c-gold-pale);color:var(--c-gold)}
.cf-header-icon svg{width:20px;height:20px;stroke-width:1.8}
.cf-cart-count{position:absolute;top:4px;right:4px;width:17px;height:17px;background:var(--c-gold);color:var(--c-white);font-size:9px;font-weight:700;border-radius:50%;display:flex;align-items:center;justify-content:center;line-height:1;}
.cf-hamburger{display:none;flex-direction:column;gap:5px;cursor:pointer;background:none;border:none;padding:8px}
.cf-hamburger span{width:22px;height:2px;background:var(--c-ink);border-radius:2px;transition:var(--transition);display:block}
@media(max-width:900px){.cf-nav{display:none}.cf-hamburger{display:flex}.cf-header-inner{grid-template-columns:auto 1fr auto}}

/* ============================================================
   DRAWERS (Mobile Menu + Mini Cart)
   ============================================================ */
#cf-mobile-menu{position:fixed;top:0;left:0;width:min(340px,100vw);height:100vh;background:var(--c-white);z-index:2000;transform:translateX(-100%);transition:transform .35s cubic-bezier(.4,0,.2,1);overflow-y:auto;box-shadow:var(--shadow-lg);padding:24px;}
#cf-mobile-menu.open{transform:translateX(0)}
.cf-overlay{position:fixed;inset:0;background:rgba(26,26,30,.5);z-index:1999;opacity:0;visibility:hidden;transition:opacity .3s;}
.cf-overlay.open{opacity:1;visibility:visible}
.cf-drawer-close-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem}
.cf-drawer-close{background:none;border:none;cursor:pointer;font-size:1.5rem;color:var(--c-muted);line-height:1}
.cf-drawer-close:hover{color:var(--c-ink)}
#cf-mobile-menu ul{display:flex;flex-direction:column}
#cf-mobile-menu ul li a{display:block;padding:14px 0;font-size:1rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--c-ink);border-bottom:1px solid var(--c-border);transition:color var(--transition),padding-left var(--transition);}
#cf-mobile-menu ul li a:hover{color:var(--c-gold);padding-left:6px}
#cf-mobile-menu ul li ul{padding-left:16px}
#cf-mobile-menu ul li ul li a{font-size:.9rem;font-weight:400;text-transform:none;letter-spacing:.03em}

#cf-cart-drawer{position:fixed;top:0;right:0;width:min(420px,100vw);height:100vh;background:var(--c-white);z-index:2001;transform:translateX(100%);transition:transform .35s cubic-bezier(.4,0,.2,1);overflow-y:auto;box-shadow:var(--shadow-lg);display:flex;flex-direction:column;}
#cf-cart-drawer.open{transform:translateX(0)}
.cf-cart-overlay{position:fixed;inset:0;background:rgba(26,26,30,.5);z-index:2000;opacity:0;visibility:hidden;transition:opacity .3s;}
.cf-cart-overlay.open{opacity:1;visibility:visible}
.cf-drawer-head{display:flex;align-items:center;justify-content:space-between;padding:20px 24px;border-bottom:1px solid var(--c-border);flex-shrink:0;}
.cf-drawer-head h4{font-family:var(--font-serif);font-size:1.3rem;font-weight:700}
.cf-drawer-body{flex:1;overflow-y:auto}
.cf-drawer-foot{padding:20px 24px;border-top:1px solid var(--c-border);flex-shrink:0;background:var(--c-cream);}
.cf-cart-total-row{display:flex;justify-content:space-between;align-items:center;font-size:1.05rem;font-weight:700;margin-bottom:16px;}
.cf-cart-total-row .amount{font-family:var(--font-serif);font-size:1.4rem;color:var(--c-gold)}
.cf-cart-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 24px;text-align:center;color:var(--c-muted);}
.cf-cart-empty svg{width:52px;height:52px;stroke:var(--c-border);margin-bottom:16px}
.woocommerce-mini-cart{padding:0!important}
.woocommerce-mini-cart-item{display:flex!important;gap:14px;align-items:flex-start;padding:16px 24px!important;border-bottom:1px solid var(--c-border)!important;}
.woocommerce-mini-cart-item img{width:68px!important;height:68px!important;object-fit:cover!important;border-radius:var(--radius)!important;border:1px solid var(--c-border)!important;flex-shrink:0!important;}
.woocommerce-mini-cart-item .woocommerce-mini-cart-item__description{flex:1}
.woocommerce-mini-cart-item .woocommerce-mini-cart-item__description a{font-weight:600;font-size:.88rem;color:var(--c-ink);line-height:1.4;display:block;margin-bottom:4px;}
.woocommerce-mini-cart-item .woocommerce-mini-cart-item__description a:hover{color:var(--c-gold)}
.woocommerce-mini-cart-item .woocommerce-Price-amount{color:var(--c-gold)!important;font-weight:700!important}
.remove_from_cart_button{color:var(--c-muted)!important;font-size:1.1rem!important;margin-left:4px!important;}
.remove_from_cart_button:hover{color:var(--c-error)!important}

/* ============================================================
   BUTTONS
   ============================================================ */
.cf-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;font-family:var(--font-sans);font-size:.78rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;padding:14px 32px;border-radius:var(--radius);border:2px solid transparent;cursor:pointer;transition:all var(--transition);white-space:nowrap;line-height:1;text-decoration:none;}
.cf-btn--primary{background:var(--c-gold);border-color:var(--c-gold);color:var(--c-white)}
.cf-btn--primary:hover{background:var(--c-ink);border-color:var(--c-ink);color:var(--c-white)}
.cf-btn--outline{background:transparent;border-color:var(--c-gold);color:var(--c-gold)}
.cf-btn--outline:hover{background:var(--c-gold);color:var(--c-white)}
.cf-btn--dark{background:var(--c-ink);border-color:var(--c-ink);color:var(--c-white)}
.cf-btn--dark:hover{background:var(--c-gold);border-color:var(--c-gold)}
.cf-btn--ghost{background:transparent;border-color:rgba(255,255,255,.5);color:var(--c-white)}
.cf-btn--ghost:hover{background:var(--c-white);color:var(--c-ink);border-color:var(--c-white)}
.cf-btn--full{width:100%}
.cf-btn--lg{padding:18px 44px;font-size:.82rem}
.cf-btn--sm{padding:10px 20px;font-size:.72rem}

.woocommerce a.button,.woocommerce button.button,.woocommerce input.button,.woocommerce #respond input#submit,.woocommerce a.button.alt,.woocommerce button.button.alt,.woocommerce input.button.alt,.woocommerce #payment #place_order{background:var(--c-gold)!important;border:2px solid var(--c-gold)!important;color:var(--c-white)!important;font-family:var(--font-sans)!important;font-size:.78rem!important;font-weight:700!important;letter-spacing:.14em!important;text-transform:uppercase!important;padding:13px 26px!important;border-radius:var(--radius)!important;line-height:1!important;transition:all var(--transition)!important;cursor:pointer!important;}
.woocommerce a.button:hover,.woocommerce button.button:hover,.woocommerce a.button.alt:hover,.woocommerce button.button.alt:hover,.woocommerce #payment #place_order:hover{background:var(--c-ink)!important;border-color:var(--c-ink)!important;color:var(--c-white)!important;}
.woocommerce button.button.disabled,.woocommerce button.button:disabled{opacity:.5!important;cursor:not-allowed!important}

/* ============================================================
   HERO
   ============================================================ */
.cf-hero{position:relative;min-height:min(88vh,780px);display:flex;align-items:center;overflow:hidden;background:var(--c-ink);}
.cf-hero__bg{position:absolute;inset:0;background-image:url("https://images.unsplash.com/photo-1578321272176-b7bbc0679853?w=1600&q=80");background-size:cover;background-position:center;opacity:.3;}
.cf-hero__overlay{position:absolute;inset:0;background:linear-gradient(135deg,rgba(26,26,30,.9) 0%,rgba(26,26,30,.4) 100%)}
.cf-hero__content{position:relative;z-index:1;max-width:var(--container);margin:0 auto;padding:80px 24px;display:flex;flex-direction:column;align-items:flex-start;gap:24px;width:100%;}
.cf-hero__text{max-width:640px}
.cf-hero__eyebrow{font-size:.72rem;font-weight:700;letter-spacing:.22em;text-transform:uppercase;color:var(--c-gold-light);padding:6px 14px;border:1px solid rgba(200,151,62,.35);border-radius:100px;background:rgba(200,151,62,.08);display:inline-block;margin-bottom:16px;}
.cf-hero h1{color:var(--c-white);font-size:clamp(2.4rem,5vw,4.4rem);line-height:1.08;font-weight:700;margin-bottom:20px;}
.cf-hero h1 em{font-style:italic;color:var(--c-gold-light)}
.cf-hero p{color:rgba(255,255,255,.72);font-size:1.1rem;max-width:500px;margin-bottom:0;}
.cf-hero__actions{display:flex;gap:16px;flex-wrap:wrap;margin-top:8px}

/* ============================================================
   TRUST STRIP
   ============================================================ */
.cf-trust-strip{background:var(--c-white);border-bottom:1px solid var(--c-border);padding:18px 24px;}
.cf-trust-strip__inner{max-width:var(--container);margin:0 auto;display:flex;align-items:center;justify-content:center;gap:40px;flex-wrap:wrap;}
.cf-trust-item{display:flex;align-items:center;gap:10px;font-size:.78rem;font-weight:600;letter-spacing:.06em;color:var(--c-ink);text-transform:uppercase;white-space:nowrap;}
.cf-trust-item svg{width:20px;height:20px;stroke:var(--c-gold);flex-shrink:0}
@media(max-width:640px){.cf-trust-strip__inner{gap:20px}.cf-trust-item{font-size:.72rem}}

/* ============================================================
   CATEGORY GRID
   ============================================================ */
.cf-categories{background:var(--c-cream);padding:80px 0}
.cf-cat-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:20px;margin-top:3rem;}
.cf-cat-card{position:relative;border-radius:var(--radius-lg);overflow:hidden;aspect-ratio:3/4;cursor:pointer;background:var(--c-ink);display:block;}
.cf-cat-card img{width:100%;height:100%;object-fit:cover;opacity:.65;transition:opacity var(--transition),transform .6s ease;}
.cf-cat-card:hover img{opacity:.45;transform:scale(1.06)}
.cf-cat-card__label{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;padding:24px 16px;background:linear-gradient(to top,rgba(26,26,30,.88) 0%,transparent 60%);}
.cf-cat-card__label h3{color:var(--c-white);font-size:1.1rem;font-weight:600;text-align:center;margin-bottom:4px;}
.cf-cat-card__label span{font-size:.7rem;letter-spacing:.12em;text-transform:uppercase;color:var(--c-gold-light);font-weight:600;}

/* ============================================================
   PRODUCT LOOPS (WooCommerce)
   ============================================================ */
.woocommerce ul.products{display:grid!important;grid-template-columns:repeat(auto-fill,minmax(260px,1fr))!important;gap:28px!important;list-style:none!important;float:none!important;margin:0!important;width:100%!important;}
@media(max-width:640px){.woocommerce ul.products{grid-template-columns:repeat(2,1fr)!important;gap:14px!important}}
.woocommerce ul.products li.product{background:var(--c-white)!important;border:1px solid var(--c-border)!important;border-radius:var(--radius-lg)!important;overflow:hidden!important;transition:box-shadow var(--transition),transform var(--transition),border-color var(--transition)!important;margin:0!important;float:none!important;width:100%!important;position:relative!important;}
.woocommerce ul.products li.product:hover{box-shadow:var(--shadow-lg)!important;transform:translateY(-5px)!important;border-color:var(--c-gold)!important;}
.woocommerce ul.products li.product a img{width:100%!important;height:auto!important;aspect-ratio:4/5;object-fit:cover!important;transition:transform .6s ease!important;margin:0!important;}
.woocommerce ul.products li.product:hover a img{transform:scale(1.06)!important}
.woocommerce ul.products li.product .woocommerce-loop-product__title{font-family:var(--font-serif)!important;font-size:1.05rem!important;font-weight:600!important;color:var(--c-ink)!important;padding:16px 18px 6px!important;margin:0!important;line-height:1.35!important;}
.woocommerce ul.products li.product .price{padding:0 18px 8px!important;color:var(--c-gold)!important;font-size:1.15rem!important;font-weight:700!important;font-family:var(--font-serif)!important;display:block!important;}
.woocommerce ul.products li.product del{color:var(--c-muted)!important;font-size:.88rem!important}
.woocommerce ul.products li.product a.button{margin:0 18px 18px!important;display:block!important;text-align:center!important;width:calc(100% - 36px)!important;}
.woocommerce ul.products li.product .onsale,.woocommerce span.onsale{background:var(--c-error)!important;color:var(--c-white)!important;font-size:.65rem!important;font-weight:700!important;letter-spacing:.08em!important;text-transform:uppercase!important;border-radius:100px!important;padding:4px 10px!important;min-height:auto!important;min-width:auto!important;line-height:1.5!important;}

/* ============================================================
   SHOP PAGE
   ============================================================ */
.cf-shop-wrap{max-width:var(--container);margin:0 auto;padding:40px 24px 80px}
.cf-shop-toolbar{display:flex;align-items:center;justify-content:space-between;padding:16px 0;border-bottom:1px solid var(--c-border);margin-bottom:32px;gap:16px;flex-wrap:wrap;}
.woocommerce-result-count{font-size:.85rem;color:var(--c-muted);margin:0!important}
.woocommerce-ordering select{border:1px solid var(--c-border)!important;border-radius:var(--radius)!important;padding:9px 14px!important;font-size:.85rem!important;color:var(--c-text)!important;background:var(--c-white)!important;cursor:pointer!important;}

/* ============================================================
   SINGLE PRODUCT
   ============================================================ */
.cf-product-wrap{max-width:var(--container);margin:0 auto;padding:48px 24px 80px}
@media(min-width:768px){
  .woocommerce div.product{display:grid!important;grid-template-columns:1fr 1fr!important;gap:56px!important;align-items:start!important;}
  .woocommerce div.product .images{grid-column:1!important;grid-row:1/3!important;position:sticky!important;top:calc(var(--header-h) + 24px)!important;}
  .woocommerce div.product .summary{grid-column:2!important;}
  .woocommerce div.product #reviews,.woocommerce div.product .woocommerce-tabs,.woocommerce div.product .up-sells,.woocommerce div.product .related{grid-column:1/-1!important;}
}
.woocommerce div.product{max-width:var(--container);margin:0 auto;padding:48px 24px 80px;}
.woocommerce div.product .images,.woocommerce div.product .summary{float:none!important;width:100%!important;}
.woocommerce div.product .product_title{font-family:var(--font-serif)!important;font-size:clamp(1.8rem,3vw,2.8rem)!important;font-weight:700!important;line-height:1.15!important;margin-bottom:10px!important;color:var(--c-ink)!important;}
.woocommerce div.product p.price,.woocommerce div.product span.price{font-family:var(--font-serif)!important;font-size:2rem!important;font-weight:700!important;color:var(--c-gold)!important;margin-bottom:20px!important;}
.woocommerce div.product .woocommerce-product-details__short-description{font-size:1rem!important;line-height:1.8!important;border-top:1px solid var(--c-border)!important;border-bottom:1px solid var(--c-border)!important;padding:20px 0!important;margin:20px 0!important;color:var(--c-text)!important;}
.woocommerce div.product div.images .woocommerce-product-gallery__image{border:1px solid var(--c-border);border-radius:var(--radius-lg);overflow:hidden;}
.woocommerce div.product div.images ol.flex-control-thumbs{display:flex!important;gap:10px!important;margin-top:12px!important;}
.woocommerce div.product div.images ol.flex-control-thumbs li{flex:1!important;border:2px solid var(--c-border)!important;border-radius:var(--radius)!important;overflow:hidden!important;cursor:pointer!important;}
.woocommerce div.product div.images ol.flex-control-thumbs li img{width:100%!important;height:72px!important;object-fit:cover!important;}
.woocommerce div.product div.images ol.flex-control-thumbs li img.flex-active{border:2px solid var(--c-gold)!important;}
.cf-product-trust{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin:24px 0;}
.cf-product-trust-item{display:flex;align-items:flex-start;gap:10px;padding:12px;background:var(--c-cream);border-radius:var(--radius);border:1px solid var(--c-border);}
.cf-product-trust-item svg{width:18px;height:18px;stroke:var(--c-gold);flex-shrink:0;margin-top:2px}
.cf-product-trust-item strong{display:block;font-size:.8rem;font-weight:700;color:var(--c-ink)}
.cf-product-trust-item span{font-size:.75rem;color:var(--c-muted)}
.woocommerce .quantity .qty{width:64px!important;height:48px!important;text-align:center!important;border:1px solid var(--c-border)!important;border-radius:var(--radius)!important;font-size:1rem!important;font-weight:700!important;color:var(--c-ink)!important;background:var(--c-white)!important;}
.woocommerce form.cart .button{width:100%!important;margin-top:12px!important;padding:16px!important}
.woocommerce div.product .woocommerce-tabs{margin-top:48px}
.woocommerce div.product .woocommerce-tabs ul.tabs{border-bottom:2px solid var(--c-border)!important;padding:0!important;margin:0 0 28px!important;display:flex!important;gap:0!important;}
.woocommerce div.product .woocommerce-tabs ul.tabs li{background:none!important;border:none!important;padding:0!important;margin:0!important;border-radius:0!important;}
.woocommerce div.product .woocommerce-tabs ul.tabs li a{font-size:.82rem!important;font-weight:700!important;letter-spacing:.1em!important;text-transform:uppercase!important;color:var(--c-muted)!important;padding:12px 20px!important;display:block!important;border-bottom:2px solid transparent!important;margin-bottom:-2px!important;transition:color var(--transition),border-color var(--transition)!important;}
.woocommerce div.product .woocommerce-tabs ul.tabs li.active a,.woocommerce div.product .woocommerce-tabs ul.tabs li a:hover{color:var(--c-gold)!important;border-bottom-color:var(--c-gold)!important;}
.woocommerce div.product .woocommerce-tabs .panel{padding:0!important;margin:0!important;border:none!important;background:none!important;}

/* ============================================================
   CART
   ============================================================ */
.woocommerce-cart .woocommerce{padding:40px 24px 80px;max-width:var(--container);margin:0 auto}
.woocommerce table.cart{width:100%;border-collapse:collapse}
.woocommerce table.cart thead th{font-size:.72rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--c-muted);padding:12px 16px;border-bottom:2px solid var(--c-border);text-align:left;}
.woocommerce table.cart td{padding:20px 16px;border-bottom:1px solid var(--c-border);vertical-align:middle;}
.woocommerce table.cart td.product-thumbnail img{width:80px;height:80px;object-fit:cover;border-radius:var(--radius);border:1px solid var(--c-border);}
.woocommerce table.cart td.product-name a{font-weight:600;font-size:.95rem;color:var(--c-ink);}
.woocommerce table.cart td.product-name a:hover{color:var(--c-gold)}
.woocommerce table.cart td.product-price .woocommerce-Price-amount,.woocommerce table.cart td.product-subtotal .woocommerce-Price-amount{font-weight:700;color:var(--c-gold);font-size:1rem;}
.woocommerce .cart-collaterals .cart_totals h2{font-family:var(--font-serif);font-size:1.5rem;margin-bottom:20px;}
.woocommerce .cart-collaterals .cart_totals table{width:100%;border-collapse:collapse}
.woocommerce .cart-collaterals .cart_totals table tr td,.woocommerce .cart-collaterals .cart_totals table tr th{padding:14px 0;border-bottom:1px solid var(--c-border);}
.woocommerce .cart-collaterals .cart_totals table tr.order-total .woocommerce-Price-amount{font-family:var(--font-serif);font-size:1.5rem;color:var(--c-gold);font-weight:700;}
.woocommerce .wc-proceed-to-checkout a{display:block!important;text-align:center!important;font-size:.85rem!important;padding:18px!important;}
.woocommerce .coupon input.input-text{border:1px solid var(--c-border)!important;border-radius:var(--radius)!important;padding:12px 14px!important;font-size:.9rem!important;}

/* ============================================================
   CHECKOUT
   ============================================================ */
.woocommerce-checkout .woocommerce{padding:40px 24px 80px;max-width:var(--container);margin:0 auto}
.woocommerce-checkout h3{font-family:var(--font-serif)!important;font-size:1.4rem!important;margin-bottom:20px!important;padding-bottom:12px!important;border-bottom:1px solid var(--c-border)!important;}
.woocommerce form .form-row label{font-size:.82rem!important;font-weight:600!important;letter-spacing:.04em!important;color:var(--c-ink)!important;margin-bottom:6px!important;display:block!important;}
.woocommerce form .form-row input.input-text,.woocommerce form .form-row textarea,.woocommerce form .form-row select{border:1px solid var(--c-border)!important;border-radius:var(--radius)!important;padding:12px 14px!important;font-size:.95rem!important;width:100%!important;background:var(--c-white)!important;color:var(--c-text)!important;transition:border-color var(--transition),box-shadow var(--transition)!important;}
.woocommerce form .form-row input.input-text:focus,.woocommerce form .form-row textarea:focus,.woocommerce form .form-row select:focus{outline:none!important;border-color:var(--c-gold)!important;box-shadow:0 0 0 3px rgba(200,151,62,.12)!important;}
#order_review{background:var(--c-cream);border-radius:var(--radius-lg);padding:28px;border:1px solid var(--c-border)}
#payment .payment_methods{list-style:none!important;padding:0!important}
#payment .payment_methods li{padding:14px 16px!important;border:1px solid var(--c-border)!important;border-radius:var(--radius)!important;margin-bottom:10px!important;background:var(--c-white)!important;}
#payment .payment_methods li input{margin-right:10px!important}
#payment .payment_methods li label{font-weight:600!important;cursor:pointer!important}

/* ============================================================
   NOTICES
   ============================================================ */
.woocommerce-message,.woocommerce-error,.woocommerce-info{border-radius:var(--radius)!important;border:none!important;padding:14px 20px!important;font-size:.9rem!important;}
.woocommerce-message{background:#f0faf4!important;color:var(--c-success)!important;border-left:4px solid var(--c-success)!important}
.woocommerce-error{background:#fdf0ef!important;color:var(--c-error)!important;border-left:4px solid var(--c-error)!important}
.woocommerce-info{background:var(--c-gold-pale)!important;color:var(--c-ink)!important;border-left:4px solid var(--c-gold)!important}

/* ============================================================
   HOMEPAGE SECTIONS
   ============================================================ */
.cf-about-banner{background:var(--c-ink);color:var(--c-white);padding:80px 0;overflow:hidden;position:relative;}
.cf-about-banner::before{content:'';position:absolute;top:-60px;right:-60px;width:400px;height:400px;background:radial-gradient(circle,rgba(200,151,62,.15) 0%,transparent 70%);border-radius:50%;pointer-events:none;}
.cf-about-inner{max-width:var(--container);margin:0 auto;padding:0 24px;display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center;}
@media(max-width:768px){.cf-about-inner{grid-template-columns:1fr}}
.cf-about-banner h2{color:var(--c-white)}
.cf-about-banner h2 em{font-style:italic;color:var(--c-gold-light)}
.cf-about-banner p{color:rgba(255,255,255,.7);font-size:1.05rem}
.cf-stats{display:grid;grid-template-columns:repeat(2,1fr);gap:20px;}
.cf-stat{text-align:center;padding:24px;border:1px solid rgba(200,151,62,.22);border-radius:var(--radius-lg);background:rgba(200,151,62,.06);}
.cf-stat__num{font-family:var(--font-serif);font-size:2.6rem;font-weight:700;color:var(--c-gold-light);line-height:1;margin-bottom:4px;}
.cf-stat__label{font-size:.72rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:rgba(255,255,255,.45)}

.cf-testimonials{background:var(--c-cream);padding:80px 0}
.cf-testimonial-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:24px;margin-top:3rem;}
.cf-testimonial{background:var(--c-white);border:1px solid var(--c-border);border-radius:var(--radius-lg);padding:28px;}
.cf-testimonial__stars{color:var(--c-gold);font-size:1rem;margin-bottom:12px}
.cf-testimonial__text{font-family:var(--font-serif);font-size:1.08rem;font-style:italic;color:var(--c-ink);line-height:1.6;margin-bottom:18px;}
.cf-testimonial__author{display:flex;align-items:center;gap:10px;}
.cf-testimonial__author-info strong{display:block;font-size:.85rem;font-weight:700;color:var(--c-ink);}
.cf-testimonial__author-info span{font-size:.78rem;color:var(--c-muted)}

.cf-newsletter{background:var(--c-gold);padding:64px 0;text-align:center;}
.cf-newsletter h2{color:var(--c-white);font-size:2rem;margin-bottom:.5rem}
.cf-newsletter p{color:rgba(255,255,255,.85);margin-bottom:2rem;font-size:1.05rem}
.cf-newsletter-form{display:flex;gap:12px;max-width:480px;margin:0 auto;flex-wrap:wrap;}
.cf-newsletter-form input[type=email]{flex:1;min-width:200px;padding:14px 18px;border:2px solid rgba(255,255,255,.4);border-radius:var(--radius);background:rgba(255,255,255,.18);color:var(--c-white);font-size:.95rem;}
.cf-newsletter-form input[type=email]::placeholder{color:rgba(255,255,255,.6)}
.cf-newsletter-form input[type=email]:focus{outline:none;border-color:var(--c-white)}

/* ============================================================
   FOOTER
   ============================================================ */
#cf-footer{background:var(--c-ink);color:rgba(255,255,255,.6);border-top:3px solid var(--c-gold);}
.cf-footer-main{max-width:var(--container);margin:0 auto;padding:64px 24px 48px;display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:40px;}
@media(max-width:960px){.cf-footer-main{grid-template-columns:1fr 1fr;gap:32px}}
@media(max-width:560px){.cf-footer-main{grid-template-columns:1fr}}
.cf-footer-brand .cf-logo{color:var(--c-white)!important;margin-bottom:16px;font-size:1.3rem}
.cf-footer-brand p{font-size:.88rem;line-height:1.7;max-width:280px}
.cf-footer-col h5{font-family:var(--font-sans);font-size:.7rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--c-white);margin-bottom:18px;}
.cf-footer-col ul li{margin-bottom:10px}
.cf-footer-col ul li a{color:rgba(255,255,255,.55);font-size:.88rem;transition:color var(--transition),padding-left var(--transition);}
.cf-footer-col ul li a:hover{color:var(--c-gold-light);padding-left:4px}
.cf-footer-bottom{max-width:var(--container);margin:0 auto;padding:18px 24px;border-top:1px solid rgba(255,255,255,.07);display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:14px;}
.cf-footer-bottom p{font-size:.8rem;margin:0;color:rgba(255,255,255,.35)}
.cf-footer-payments{display:flex;gap:8px;align-items:center}
.cf-payment-badge{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.12);border-radius:4px;padding:4px 10px;font-size:.65rem;font-weight:700;letter-spacing:.06em;color:rgba(255,255,255,.55);text-transform:uppercase;}
.cf-social-links{display:flex;gap:10px}
.cf-social-link{width:36px;height:36px;border-radius:50%;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.1);display:flex;align-items:center;justify-content:center;color:rgba(255,255,255,.55);transition:background var(--transition),color var(--transition),border-color var(--transition);}
.cf-social-link:hover{background:var(--c-gold);border-color:var(--c-gold);color:var(--c-white)}
.cf-social-link svg{width:16px;height:16px}

/* ============================================================
   BACK TO TOP + ANIMATIONS + MISC
   ============================================================ */
#cf-back-top{position:fixed;bottom:28px;right:28px;width:44px;height:44px;background:var(--c-gold);color:var(--c-white);border:none;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:var(--shadow-md);opacity:0;visibility:hidden;transform:translateY(12px);transition:all var(--transition);z-index:999;}
#cf-back-top.visible{opacity:1;visibility:visible;transform:translateY(0)}
#cf-back-top:hover{background:var(--c-ink);transform:translateY(-3px)!important}
#cf-back-top svg{width:18px;height:18px;stroke-width:2.5}
[data-animate]{opacity:0;transform:translateY(24px);transition:opacity .6s ease,transform .6s ease}
[data-animate].animated{opacity:1;transform:none}
[data-animate-delay="1"]{transition-delay:.12s}
[data-animate-delay="2"]{transition-delay:.24s}
[data-animate-delay="3"]{transition-delay:.36s}
[data-animate-delay="4"]{transition-delay:.48s}
.woocommerce .woocommerce-breadcrumb{font-size:.82rem;color:var(--c-muted);padding:14px 0;background:none;}
.woocommerce .woocommerce-breadcrumb a{color:var(--c-muted)}
.woocommerce .woocommerce-breadcrumb a:hover{color:var(--c-gold)}
.cf-page-hero{background:var(--c-white);border-bottom:1px solid var(--c-border);padding:48px 24px;text-align:center;}
.cf-page-hero h1{font-size:clamp(2rem,4vw,3rem);margin-bottom:.5rem}
.cf-page-hero p{color:var(--c-muted);font-size:1.05rem;margin:0}
.cf-content-page{max-width:780px;margin:0 auto;padding:56px 24px 80px}
.cf-content-page h1,.cf-content-page h2,.cf-content-page h3{margin-bottom:.75rem}
.cf-content-page p,.cf-content-page li{font-size:1rem;line-height:1.8;margin-bottom:1em}
.cf-content-page ul{list-style:disc;padding-left:1.5rem}
.cf-404{text-align:center;padding:80px 24px;max-width:600px;margin:0 auto}
.cf-404-code{font-family:var(--font-serif);font-size:7rem;font-weight:700;color:var(--c-gold);line-height:1;opacity:.25;display:block}
