/*
Theme Name:   PulseCart Sacred
Theme URI:    https://pulsecart.in
Description:  PulseCart Child Theme — Premium Store
Author:       PulseCart
Template:     astra
Version:      5.0.0
Text Domain:  pulsecart-sacred
*/

@import url('https://fonts.googleapis.com/css2?family=Cinzel:wght@400;600;700;900&family=Raleway:wght@300;400;500;600;700&display=swap');

:root {
    --gold:      #C9A84C;
    --gold-l:    #E8CC80;
    --gold-d:    #9A7A30;
    --black:     #080808;
    --dark:      #0f0f0f;
    --d2:        #161616;
    --d3:        #1e1e1e;
    --d4:        #252525;
    --cream:     #F0EBE0;
    --c2:        #C8C0B0;
    --muted:     #6a6458;
    --border:    rgba(201,168,76,0.14);
    --border-h:  rgba(201,168,76,0.5);
    --red:       #e05252;
    --green:     #4caf7d;
    --radius:    10px;
    --radius-lg: 16px;
    --tr:        all 0.3s cubic-bezier(0.4,0,0.2,1);
}

/* BASE */
*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; }
html, body { background: var(--black) !important; color: var(--c2) !important; font-family: 'Raleway', sans-serif !important; overflow-x: hidden !important; }
#page,.hfeed,.site,.site-content,#content,#primary,.content-area,.ast-container,
.ast-article-single,.entry-content-wrap,.ast-separate-container,.ast-plain-container,
.ast-page-builder-template,.entry-content,.ast-grid-right-safepadding,#secondary,.widget-area,
.main-header-bar-wrap { background: transparent !important; }
body #primary,body .content-area,body .site-content,body #content,body .ast-container,
body .entry-content,body .ast-article-single,body .entry-content-wrap {
    max-width: 100% !important; width: 100% !important; padding: 0 !important; margin: 0 !important; float: none !important;
}
body .ast-breadcrumbs-wrapper { display: none !important; }

/* TYPOGRAPHY */
h1,h2,h3,h4,h5,h6 { font-family: 'Cinzel', serif !important; color: var(--gold) !important; line-height: 1.3 !important; }
p { color: var(--c2); line-height: 1.8; }
a { color: var(--gold) !important; text-decoration: none !important; transition: var(--tr); }
a:hover { color: var(--gold-l) !important; }
::selection { background: var(--gold); color: var(--black); }
::-webkit-scrollbar { width: 4px; }
::-webkit-scrollbar-track { background: var(--dark); }
::-webkit-scrollbar-thumb { background: rgba(201,168,76,0.3); border-radius: 2px; }

/* HEADER */
#masthead,.site-header,.main-header-bar,.ast-site-header-wrap,.main-header-bar-wrap {
    background: rgba(8,8,8,0.97) !important; border-bottom: 1px solid var(--border) !important;
    backdrop-filter: blur(20px) !important; position: sticky !important; top: 0 !important;
    z-index: 9999 !important; width: 100% !important;
}
.site-title a,.ast-site-identity a { font-family: 'Cinzel', serif !important; font-size: 1.35rem !important; font-weight: 700 !important; color: var(--gold) !important; letter-spacing: 3px !important; text-transform: uppercase !important; }
.main-header-menu .menu-link,.ast-nav-menu > li > .menu-link { font-family: 'Raleway', sans-serif !important; font-size: 0.7rem !important; font-weight: 700 !important; letter-spacing: 2px !important; text-transform: uppercase !important; color: var(--c2) !important; transition: color 0.2s !important; padding: 8px 16px !important; }
.main-header-menu .menu-link:hover,.main-header-menu .current-menu-item > .menu-link { color: var(--gold) !important; }
.ast-cart-menu-wrap .count { background: var(--gold) !important; color: var(--black) !important; font-weight: 700 !important; font-size: 0.6rem !important; }

/* STRIP */
.pc-strip { background: linear-gradient(90deg, var(--gold-d), var(--gold), var(--gold-d)); padding: 10px 20px; text-align: center; font-family: 'Cinzel', serif; font-size: 0.65rem; font-weight: 700; letter-spacing: 2.5px; text-transform: uppercase; color: var(--black); }

/* BUTTONS */
.pc-btn { display: inline-flex; align-items: center; justify-content: center; gap: 8px; font-family: 'Cinzel', serif; font-size: 0.68rem; font-weight: 700; letter-spacing: 2px; text-transform: uppercase; padding: 13px 28px; border-radius: var(--radius); border: none; cursor: pointer; transition: var(--tr); text-decoration: none; white-space: nowrap; }
.pc-btn-gold { background: linear-gradient(135deg, var(--gold), var(--gold-d)); color: #000; box-shadow: 0 4px 18px rgba(201,168,76,0.22); }
.pc-btn-gold:hover { background: linear-gradient(135deg, var(--gold-l), var(--gold)); color: #000; transform: translateY(-2px); box-shadow: 0 8px 28px rgba(201,168,76,0.38); }
.pc-btn-outline { background: transparent; border: 1.5px solid var(--gold) !important; color: var(--gold) !important; }
.pc-btn-outline:hover { background: rgba(201,168,76,0.07); color: var(--gold-l) !important; transform: translateY(-2px); }
.woocommerce a.button,.woocommerce button.button,.woocommerce input[type="submit"],.woocommerce #respond input#submit,#place_order {
    font-family: 'Cinzel', serif !important; font-size: 0.68rem !important; font-weight: 700 !important; letter-spacing: 2px !important; text-transform: uppercase !important;
    background: linear-gradient(135deg, var(--gold), var(--gold-d)) !important; color: #000 !important; border: none !important;
    border-radius: var(--radius) !important; padding: 12px 24px !important; transition: var(--tr) !important;
}
.woocommerce a.button:hover,.woocommerce button.button:hover,.woocommerce input[type="submit"]:hover,#place_order:hover { background: linear-gradient(135deg, var(--gold-l), var(--gold)) !important; transform: translateY(-2px) !important; color: #000 !important; }

/* TRUST BAR */
.pc-trust-bar { background: var(--d2); border-top: 1px solid var(--border); border-bottom: 1px solid var(--border); padding: 14px 5%; display: flex; align-items: center; justify-content: center; gap: 28px; flex-wrap: wrap; }
.pc-trust-item { display: flex; align-items: center; gap: 7px; font-size: 0.76rem; color: var(--muted); white-space: nowrap; }
.pc-trust-item strong { color: var(--cream); }

/* HERO */
.pulsecart-hero { background: radial-gradient(ellipse at 65% 50%, rgba(201,168,76,0.07) 0%, transparent 60%), linear-gradient(160deg, #080808 0%, #100d00 60%, #080808 100%); min-height: 92vh; display: flex; align-items: center; padding: 90px 8% 80px; position: relative; overflow: hidden; }
.pulsecart-hero::after { content: attr(data-symbol); position: absolute; right: 5%; top: 50%; transform: translateY(-50%); font-size: min(30vw,340px); opacity: 0.03; pointer-events: none; line-height: 1; }
.hero-inner { max-width: 600px; position: relative; z-index: 2; }
.hero-eyebrow { display: inline-flex; align-items: center; gap: 8px; background: rgba(201,168,76,0.08); border: 1px solid rgba(201,168,76,0.28); color: var(--gold); padding: 5px 16px; border-radius: 30px; font-size: 0.64rem; font-weight: 700; letter-spacing: 2.5px; text-transform: uppercase; margin-bottom: 22px; }
.hero-title { font-family: 'Cinzel', serif !important; font-size: clamp(2.4rem, 5vw, 4.2rem) !important; font-weight: 700 !important; color: var(--cream) !important; line-height: 1.15 !important; margin: 0 0 18px !important; }
.hero-title .gold { color: var(--gold) !important; display: block; }
.hero-sub { font-size: 1rem; color: var(--muted); line-height: 1.85; max-width: 490px; margin: 0 0 36px; }
.hero-btns { display: flex; gap: 13px; flex-wrap: wrap; margin-bottom: 50px; }
.hero-stats { display: flex; border-top: 1px solid var(--border); padding-top: 30px; }
.hero-stat { flex: 1; text-align: center; border-right: 1px solid var(--border); padding: 0 14px; }
.hero-stat:last-child { border-right: none; }
.stat-n { font-family: 'Cinzel', serif; font-size: 1.6rem; font-weight: 700; color: var(--gold); line-height: 1; margin-bottom: 4px; }
.stat-l { font-size: 0.6rem; text-transform: uppercase; letter-spacing: 1.5px; color: var(--muted); }

/* SECTIONS */
.pc-section { padding: 80px 7%; }
.pc-section.dark  { background: var(--dark); }
.pc-section.dark2 { background: var(--d2); }
.pc-section-header { text-align: center; margin-bottom: 50px; }
.pc-badge { display: inline-flex; align-items: center; gap: 6px; background: rgba(201,168,76,0.07); border: 1px solid rgba(201,168,76,0.26); color: var(--gold); padding: 5px 15px; border-radius: 30px; font-size: 0.6rem; font-weight: 700; letter-spacing: 2.5px; text-transform: uppercase; margin-bottom: 13px; }
.pc-divider { width: 50px; height: 2px; background: linear-gradient(90deg, transparent, var(--gold), transparent); margin: 10px auto 14px; }
.pc-section-header h2 { font-size: clamp(1.6rem, 3vw, 2.3rem) !important; margin: 0 0 9px !important; }
.pc-section-header p  { color: var(--muted) !important; max-width: 520px; margin: 0 auto; font-size: 0.92rem; }

/* ==========================================
   PRODUCT CARDS — COMPLETE REDESIGN
   ========================================== */

/* Kill ALL default WooCommerce product grid styles */
.woocommerce ul.products,
.woocommerce-page ul.products,
ul.products {
    display: grid !important;
    grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)) !important;
    gap: 22px !important;
    float: none !important;
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
    width: 100% !important;
}

/* Card base */
.woocommerce ul.products li.product,
.woocommerce-page ul.products li.product,
ul.products li.product,
li.pc-product-card {
    background: var(--d2) !important;
    border: 1px solid var(--border) !important;
    border-radius: var(--radius-lg) !important;
    overflow: hidden !important;
    padding: 0 !important;
    margin: 0 !important;
    float: none !important;
    width: 100% !important;
    position: relative !important;
    opacity: 0;
    transform: translateY(28px);
    transition: opacity 0.5s ease, transform 0.5s ease, border-color 0.3s, box-shadow 0.3s !important;
}

/* Animate in */
li.pc-product-card.pc-visible,
.woocommerce ul.products li.product.pc-visible {
    opacity: 1 !important;
    transform: translateY(0) !important;
}

/* Stagger */
li.pc-product-card:nth-child(1),.woocommerce ul.products li.product:nth-child(1)  { transition-delay: 0.06s !important; }
li.pc-product-card:nth-child(2),.woocommerce ul.products li.product:nth-child(2)  { transition-delay: 0.12s !important; }
li.pc-product-card:nth-child(3),.woocommerce ul.products li.product:nth-child(3)  { transition-delay: 0.18s !important; }
li.pc-product-card:nth-child(4),.woocommerce ul.products li.product:nth-child(4)  { transition-delay: 0.24s !important; }
li.pc-product-card:nth-child(5),.woocommerce ul.products li.product:nth-child(5)  { transition-delay: 0.30s !important; }
li.pc-product-card:nth-child(n+6) { transition-delay: 0.36s !important; }

/* Hover lift */
li.pc-product-card:hover,
.woocommerce ul.products li.product:hover {
    border-color: var(--border-h) !important;
    box-shadow: 0 24px 60px rgba(0,0,0,0.7) !important;
    transform: translateY(-7px) !important;
}

/* IMAGE */
.pc-card-img-wrap {
    position: relative;
    overflow: hidden;
    background: var(--d3);
    aspect-ratio: 1 / 1;
}
.pc-card-img-link { display: block; width: 100%; height: 100%; }
.pc-card-img {
    width: 100% !important; height: 100% !important;
    object-fit: cover !important; object-position: center !important;
    display: block !important;
    transition: transform 0.6s cubic-bezier(0.4,0,0.2,1) !important;
}
li.pc-product-card:hover .pc-card-img { transform: scale(1.09) !important; }

/* Default WC image (fallback if not using custom template) */
.woocommerce ul.products li.product a img {
    width: 100% !important;
    height: 250px !important;
    object-fit: cover !important;
    display: block !important;
    transition: transform 0.6s cubic-bezier(0.4,0,0.2,1) !important;
}
.woocommerce ul.products li.product:hover a img { transform: scale(1.09) !important; }

/* Overlay */
.pc-card-overlay {
    position: absolute; inset: 0;
    background: linear-gradient(to top, rgba(0,0,0,0.72) 0%, rgba(0,0,0,0) 55%);
    display: flex; align-items: flex-end; justify-content: center;
    padding-bottom: 52px;
    opacity: 0; transition: opacity 0.35s ease;
}
li.pc-product-card:hover .pc-card-overlay { opacity: 1; }
.pc-overlay-btn {
    font-family: 'Cinzel', serif; font-size: 0.62rem; font-weight: 700;
    letter-spacing: 2px; text-transform: uppercase; color: #fff;
    border: 1px solid rgba(255,255,255,0.55); padding: 7px 18px;
    border-radius: 6px; transform: translateY(10px); transition: var(--tr);
    backdrop-filter: blur(4px);
}
li.pc-product-card:hover .pc-overlay-btn { transform: translateY(0); }

/* Badges */
.pc-card-badge { position: absolute; top: 12px; left: 12px; font-family: 'Cinzel', serif; font-size: 0.56rem; font-weight: 700; letter-spacing: 1px; text-transform: uppercase; padding: 4px 10px; border-radius: 6px; z-index: 2; line-height: 1.4; }
.pc-card-badge.sale { background: var(--gold); color: var(--black); }
.pc-card-badge.featured { background: rgba(255,255,255,0.1); color: #fff; border: 1px solid rgba(255,255,255,0.3); backdrop-filter: blur(6px); }

/* WooCommerce sale badge */
.woocommerce span.onsale { background: var(--gold) !important; color: var(--black) !important; font-family: 'Cinzel', serif !important; font-size: 0.56rem !important; font-weight: 700 !important; letter-spacing: 1px !important; border-radius: 6px !important; padding: 4px 10px !important; top: 12px !important; left: 12px !important; min-height: auto !important; min-width: auto !important; line-height: 1.5 !important; }

/* Quick Add */
.pc-quick-add {
    position: absolute; bottom: 0; left: 0; right: 0;
    background: linear-gradient(135deg, var(--gold), var(--gold-d));
    color: var(--black); font-family: 'Cinzel', serif; font-size: 0.6rem;
    font-weight: 700; letter-spacing: 2px; text-transform: uppercase;
    border: none; padding: 12px; cursor: pointer;
    transform: translateY(100%);
    transition: transform 0.3s cubic-bezier(0.4,0,0.2,1), background 0.2s;
    text-align: center; text-decoration: none; display: block; z-index: 3;
}
li.pc-product-card:hover .pc-quick-add { transform: translateY(0); }
.pc-quick-add:hover { background: linear-gradient(135deg, var(--gold-l), var(--gold)); color: var(--black) !important; }
.pc-quick-add.adding { background: var(--d4); color: var(--gold) !important; pointer-events: none; }
.pc-quick-add.added  { background: var(--green); color: #fff !important; }
.pc-quick-add.out-of-stock { background: var(--d4); color: var(--muted); font-size: 0.58rem; }

/* INFO */
.pc-card-info { padding: 15px 16px 17px; }
.pc-card-cat-wrap { margin-bottom: 4px; }
.pc-card-cat { font-size: 0.6rem !important; color: var(--gold) !important; text-transform: uppercase !important; letter-spacing: 1.5px !important; font-weight: 600 !important; }
.pc-card-name { display: block; font-family: 'Cinzel', serif; font-size: 0.86rem; font-weight: 600; color: var(--cream) !important; line-height: 1.4; margin-bottom: 8px; transition: color 0.2s; }
.pc-card-name:hover { color: var(--gold) !important; }
.pc-card-price { display: flex; align-items: center; gap: 8px; }
.pc-card-price .price,.pc-card-price .woocommerce-Price-amount { font-family: 'Cinzel', serif !important; font-size: 1.05rem !important; font-weight: 700 !important; color: var(--gold) !important; }
.pc-card-price del .woocommerce-Price-amount,.pc-card-price .price del { color: var(--muted) !important; font-size: 0.76rem !important; font-weight: 400 !important; }
.pc-card-price ins { text-decoration: none !important; }

/* WC fallback product info */
.woocommerce ul.products li.product .woocommerce-loop-product__title { font-family: 'Cinzel', serif !important; font-size: 0.86rem !important; font-weight: 600 !important; color: var(--cream) !important; padding: 14px 16px 4px !important; margin: 0 !important; line-height: 1.4 !important; }
.woocommerce ul.products li.product .price { font-family: 'Cinzel', serif !important; font-size: 1rem !important; font-weight: 700 !important; color: var(--gold) !important; padding: 0 16px 4px !important; display: block !important; margin: 0 !important; }
.woocommerce ul.products li.product .price del { color: var(--muted) !important; font-size: 0.76rem !important; }
.woocommerce ul.products li.product .price ins { text-decoration: none !important; }
.woocommerce ul.products li.product .button { margin: 8px 14px 14px !important; width: calc(100% - 28px) !important; display: block !important; text-align: center !important; font-size: 0.62rem !important; padding: 10px !important; }

/* SHOP PAGE */
.pc-shop-header { background: linear-gradient(160deg, #080808 0%, #100d00 100%); padding: 55px 7% 35px; border-bottom: 1px solid var(--border); text-align: center; }
.pc-shop-header h1 { font-size: clamp(1.7rem, 3vw, 2.5rem) !important; margin-bottom: 8px !important; }
.pc-shop-header p  { color: var(--muted); font-size: 0.92rem; max-width: 480px; margin: 0 auto; }
.pc-shop-toolbar { display: flex; align-items: center; justify-content: space-between; padding: 20px 7% 0; margin-bottom: 28px; background: var(--dark); gap: 12px; flex-wrap: wrap; }
.woocommerce-result-count { color: var(--muted) !important; font-size: 0.8rem !important; margin: 0 !important; }
.woocommerce-ordering select { background: var(--d3) !important; border: 1px solid var(--border) !important; border-radius: 8px !important; color: var(--c2) !important; padding: 8px 14px !important; font-family: 'Raleway', sans-serif !important; font-size: 0.8rem !important; cursor: pointer !important; outline: none !important; }
.pc-shop-products { padding: 0 7% 60px; background: var(--dark); }
.pc-view-toggle { display: flex; gap: 6px; align-items: center; }
.pc-view-btn { background: var(--d3); border: 1px solid var(--border); border-radius: 6px; padding: 7px 10px; cursor: pointer; color: var(--muted); font-size: 0.9rem; transition: var(--tr); line-height: 1; }
.pc-view-btn.active,.pc-view-btn:hover { border-color: var(--gold); color: var(--gold); }

/* List view */
.pc-list-view .woocommerce ul.products,.pc-list-view ul.products { grid-template-columns: 1fr !important; }
.pc-list-view li.pc-product-card { display: grid !important; grid-template-columns: 200px 1fr !important; }
.pc-list-view .pc-card-img-wrap { aspect-ratio: unset !important; height: 200px !important; }
.pc-list-view .pc-card-info { padding: 20px 24px !important; display: flex; flex-direction: column; justify-content: center; }
.pc-list-view .pc-card-name { font-size: 1.1rem !important; margin-bottom: 12px !important; }

/* PAGINATION */
.woocommerce-pagination { padding: 40px 7% 0 !important; background: var(--dark) !important; text-align: center !important; }
.woocommerce-pagination ul { display: inline-flex !important; gap: 6px !important; list-style: none !important; margin: 0 !important; padding: 0 !important; }
.woocommerce-pagination ul li a,.woocommerce-pagination ul li span { display: flex !important; align-items: center !important; justify-content: center !important; width: 38px !important; height: 38px !important; border-radius: 8px !important; background: var(--d2) !important; border: 1px solid var(--border) !important; color: var(--c2) !important; font-size: 0.82rem !important; transition: var(--tr) !important; }
.woocommerce-pagination ul li a:hover { border-color: var(--gold) !important; color: var(--gold) !important; }
.woocommerce-pagination ul li span.current { background: linear-gradient(135deg, var(--gold), var(--gold-d)) !important; color: var(--black) !important; border-color: var(--gold) !important; font-weight: 700 !important; }

/* SINGLE PRODUCT */
.single-product .site-content,.single-product #primary { background: var(--dark) !important; padding-top: 30px !important; }
.single-product .woocommerce-product-gallery { border-radius: var(--radius-lg) !important; overflow: hidden !important; border: 1px solid var(--border) !important; background: var(--d2) !important; }
.single-product h1.product_title { font-family: 'Cinzel', serif !important; font-size: clamp(1.4rem,2.8vw,2rem) !important; color: var(--cream) !important; font-weight: 700 !important; margin-bottom: 10px !important; }
.single-product .price { font-family: 'Cinzel', serif !important; font-size: 1.9rem !important; color: var(--gold) !important; font-weight: 700 !important; margin-bottom: 16px !important; }
.single-product .price del { color: var(--muted) !important; font-size: 1rem !important; }
.single-product .price ins { text-decoration: none !important; }
.single-product .woocommerce-product-details__short-description { color: var(--c2) !important; font-size: 0.91rem !important; line-height: 1.85 !important; border-top: 1px solid var(--border); border-bottom: 1px solid var(--border); padding: 16px 0 !important; margin: 16px 0 !important; }
.single-product .quantity .qty { background: var(--d3) !important; border: 1px solid var(--border) !important; color: var(--cream) !important; border-radius: 8px !important; padding: 10px 14px !important; width: 75px !important; text-align: center !important; }
.woocommerce-tabs .tabs { border-bottom: 2px solid var(--border) !important; }
.woocommerce-tabs .tabs li { background: var(--d3) !important; border-color: var(--border) !important; border-bottom: none !important; }
.woocommerce-tabs .tabs li.active { background: var(--d2) !important; border-top: 2px solid var(--gold) !important; }
.woocommerce-tabs .tabs li a { color: var(--muted) !important; font-family: 'Cinzel', serif !important; font-size: 0.74rem !important; letter-spacing: 1px !important; }
.woocommerce-tabs .tabs li.active a { color: var(--gold) !important; }
.woocommerce-Tabs-panel { background: var(--d2) !important; border: 1px solid var(--border) !important; border-top: none !important; color: var(--c2) !important; padding: 26px !important; border-radius: 0 0 10px 10px !important; }

/* CART */
.woocommerce-cart .site-content,.woocommerce-cart #primary { background: var(--dark) !important; padding: 40px 0 !important; }
.woocommerce table.shop_table { background: var(--d2) !important; border: 1px solid var(--border) !important; border-radius: var(--radius-lg) !important; border-collapse: separate !important; border-spacing: 0 !important; overflow: hidden !important; width: 100% !important; }
.woocommerce table.shop_table thead th { background: var(--d3) !important; color: var(--gold) !important; font-family: 'Cinzel', serif !important; font-size: 0.64rem !important; letter-spacing: 2px !important; text-transform: uppercase !important; padding: 14px 18px !important; border: none !important; border-bottom: 1px solid var(--border) !important; }
.woocommerce table.shop_table tbody td { padding: 18px !important; border: none !important; border-bottom: 1px solid rgba(255,255,255,0.04) !important; color: var(--c2) !important; vertical-align: middle !important; background: transparent !important; }
.woocommerce table.shop_table .product-name a { color: var(--cream) !important; font-family: 'Cinzel', serif !important; }
.woocommerce table.shop_table .product-price,.woocommerce table.shop_table .product-subtotal { color: var(--gold) !important; font-family: 'Cinzel', serif !important; font-weight: 700 !important; }
.woocommerce a.remove { color: var(--muted) !important; }
.woocommerce a.remove:hover { color: var(--red) !important; background: none !important; }
.cart_totals { background: var(--d2) !important; border: 1px solid var(--border) !important; border-radius: var(--radius-lg) !important; padding: 26px !important; }
.cart_totals h2 { font-size: 1rem !important; margin-bottom: 16px !important; }
.cart_totals table td,.cart_totals table th { padding: 11px 0 !important; background: transparent !important; border: none !important; border-bottom: 1px solid rgba(255,255,255,0.04) !important; color: var(--c2) !important; }
.cart_totals .order-total .amount { font-family: 'Cinzel', serif !important; font-size: 1.4rem !important; color: var(--gold) !important; }

/* CHECKOUT */
.woocommerce-checkout .site-content,.woocommerce-checkout #primary { background: var(--dark) !important; padding: 40px 0 !important; }
.woocommerce-checkout h3 { font-family: 'Cinzel', serif !important; font-size: 0.9rem !important; color: var(--gold) !important; padding-bottom: 11px !important; border-bottom: 1px solid var(--border) !important; margin-bottom: 18px !important; letter-spacing: 1px !important; }
.woocommerce form .form-row label { color: var(--muted) !important; font-size: 0.68rem !important; font-weight: 700 !important; text-transform: uppercase !important; letter-spacing: 0.5px !important; display: block !important; margin-bottom: 5px !important; }
.woocommerce form .form-row input.input-text,.woocommerce form .form-row select,.woocommerce form .form-row textarea { background: var(--d3) !important; border: 1px solid var(--border) !important; border-radius: 8px !important; color: var(--cream) !important; padding: 11px 14px !important; font-family: 'Raleway', sans-serif !important; font-size: 0.88rem !important; width: 100% !important; transition: border-color 0.3s !important; }
.woocommerce form .form-row input.input-text:focus,.woocommerce form .form-row select:focus { border-color: var(--gold) !important; outline: none !important; box-shadow: 0 0 0 3px rgba(201,168,76,0.08) !important; }
#order_review { background: var(--d2) !important; border: 1px solid var(--border) !important; border-radius: var(--radius-lg) !important; padding: 22px !important; }
.woocommerce-checkout-review-order-table th,.woocommerce-checkout-review-order-table td { border-color: rgba(255,255,255,0.04) !important; color: var(--c2) !important; padding: 11px 0 !important; background: transparent !important; }
.woocommerce-checkout-review-order-table .order-total .amount { font-family: 'Cinzel', serif !important; font-size: 1.3rem !important; color: var(--gold) !important; font-weight: 700 !important; }
.woocommerce-checkout #payment { background: var(--d2) !important; border: 1px solid var(--border) !important; border-radius: var(--radius-lg) !important; overflow: hidden !important; }
.woocommerce-checkout #payment ul.payment_methods { border-bottom: 1px solid var(--border) !important; padding: 16px 18px !important; background: transparent !important; }
.woocommerce-checkout #payment ul.payment_methods li label { color: var(--cream) !important; }
.woocommerce-checkout #payment div.payment_box { background: var(--d3) !important; color: var(--muted) !important; font-size: 0.84rem !important; }
.woocommerce-checkout #payment div.place-order { padding: 18px !important; }
#place_order { width: 100% !important; padding: 15px !important; }

/* INPUTS */
input[type="text"],input[type="email"],input[type="tel"],input[type="password"],textarea,select { background: var(--d3) !important; border: 1px solid var(--border) !important; border-radius: 8px !important; color: var(--cream) !important; font-family: 'Raleway', sans-serif !important; padding: 10px 14px !important; }
input:focus,textarea:focus,select:focus { border-color: var(--gold) !important; outline: none !important; }

/* NOTICES */
.woocommerce-message,.woocommerce-info { background: var(--d2) !important; border-top: 3px solid var(--gold) !important; color: var(--c2) !important; border-radius: 0 8px 8px 0 !important; }
.woocommerce-error { background: rgba(224,82,82,0.08) !important; border-top: 3px solid var(--red) !important; color: var(--c2) !important; border-radius: 0 8px 8px 0 !important; }

/* MY ACCOUNT */
.woocommerce-account .site-content,.woocommerce-account #primary { background: var(--dark) !important; padding: 40px 0 !important; }
.woocommerce-account .woocommerce-MyAccount-navigation { background: var(--d2) !important; border: 1px solid var(--border) !important; border-radius: var(--radius-lg) !important; overflow: hidden !important; padding: 8px 0 !important; }
.woocommerce-account .woocommerce-MyAccount-navigation ul { margin: 0 !important; padding: 0 !important; list-style: none !important; }
.woocommerce-account .woocommerce-MyAccount-navigation li a { display: block !important; padding: 11px 20px !important; color: var(--c2) !important; font-size: 0.84rem !important; transition: var(--tr) !important; border-left: 3px solid transparent !important; }
.woocommerce-account .woocommerce-MyAccount-navigation li a:hover,
.woocommerce-account .woocommerce-MyAccount-navigation li.is-active a { color: var(--gold) !important; background: rgba(201,168,76,0.06) !important; border-left-color: var(--gold) !important; }

/* SSO */
.nsl-container { margin-top: 16px !important; }
.nsl-button { border-radius: 8px !important; font-family: 'Raleway', sans-serif !important; font-size: 0.84rem !important; padding: 11px 16px !important; width: 100% !important; transition: box-shadow 0.2s !important; }
.nsl-button-google { background: #ffffff !important; color: #444 !important; }
.nsl-button-facebook { background: #1877F2 !important; color: #fff !important; }

/* FEATURES */
.pc-features-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(210px,1fr)); gap: 18px; max-width: 1000px; margin: 0 auto; }
.pc-feat { background: var(--d3); border: 1px solid var(--border); border-radius: var(--radius-lg); padding: 28px 20px; text-align: center; transition: var(--tr); opacity: 0; transform: translateY(20px); }
.pc-feat.pc-visible { opacity: 1; transform: translateY(0); }
.pc-feat:hover { border-color: rgba(201,168,76,0.45); transform: translateY(-5px); box-shadow: 0 14px 40px rgba(0,0,0,0.5); }
.pc-feat .fi { font-size: 2rem; margin-bottom: 12px; display: block; }
.pc-feat h3 { font-size: 0.82rem !important; margin-bottom: 8px !important; }
.pc-feat p  { font-size: 0.8rem; color: var(--muted); line-height: 1.7; margin: 0; }

/* STORY */
.pc-story { display: grid; grid-template-columns: 1fr 1fr; gap: 60px; align-items: center; max-width: 1040px; margin: 0 auto; }
.pc-story-img { background: linear-gradient(135deg, #1a1200, #2a1900); border: 1px solid var(--border); border-radius: var(--radius-lg); min-height: 380px; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 14px; }
.pc-story-txt h2 { font-size: clamp(1.5rem,2.8vw,2rem) !important; margin-bottom: 14px !important; }
.pc-story-txt p  { color: var(--muted); line-height: 1.9; margin-bottom: 12px; font-size: 0.9rem; }
.pc-story-stats  { display: flex; gap: 24px; padding-top: 18px; border-top: 1px solid var(--border); margin-top: 14px; }
.psn { font-family: 'Cinzel', serif; font-size: 1.3rem; color: var(--gold); font-weight: 700; }
.psl { font-size: 0.6rem; text-transform: uppercase; letter-spacing: 1.5px; color: var(--muted); margin-top: 2px; }

/* FOOTER */
.site-footer,#colophon { background: var(--d2) !important; border-top: 1px solid var(--border) !important; padding: 50px 7% 0 !important; }
.ast-footer-widget-area { background: var(--d2) !important; }
.ast-small-footer { background: var(--black) !important; border-top: 1px solid rgba(255,255,255,0.04) !important; color: var(--muted) !important; padding: 14px 7% !important; font-size: 0.74rem !important; text-align: center !important; }
.ast-small-footer p,.ast-small-footer a { color: var(--muted) !important; font-size: 0.74rem !important; }
.ast-small-footer a:hover { color: var(--gold) !important; }
.widget-title { font-family: 'Cinzel', serif !important; font-size: 0.72rem !important; letter-spacing: 2px !important; text-transform: uppercase !important; color: var(--gold) !important; border-bottom: 1px solid var(--border) !important; padding-bottom: 9px !important; margin-bottom: 12px !important; }
footer a { color: var(--muted) !important; }
footer a:hover { color: var(--gold) !important; }
.woocommerce .woocommerce-breadcrumb { color: var(--muted) !important; font-size: 0.74rem !important; padding: 14px 7% !important; }
.woocommerce .woocommerce-breadcrumb a { color: var(--gold) !important; }

/* RESPONSIVE */
@media (max-width: 900px) { .pc-story { grid-template-columns: 1fr !important; gap: 28px !important; } }
@media (max-width: 768px) {
    .pulsecart-hero { padding: 80px 5% 60px !important; }
    .pulsecart-hero::after { display: none !important; }
    .hero-btns { justify-content: center !important; }
    .hero-stats { flex-wrap: wrap !important; }
    .hero-stat { border-right: none !important; }
    .pc-section { padding: 55px 5% !important; }
    .pc-trust-bar { gap: 14px !important; }
    .pc-shop-toolbar { padding: 16px 5% 0 !important; }
    .pc-shop-products { padding: 0 5% 50px !important; }
    .woocommerce ul.products,.woocommerce-page ul.products,ul.products { grid-template-columns: repeat(auto-fill, minmax(160px,1fr)) !important; gap: 14px !important; }
    .woocommerce-pagination { padding: 30px 5% 0 !important; }
    .pc-list-view li.pc-product-card { grid-template-columns: 130px 1fr !important; }
    .pc-list-view .pc-card-img-wrap { height: 130px !important; }
}
@media (max-width: 480px) {
    .hero-title { font-size: 2rem !important; }
    .hero-btns a { width: 100% !important; }
    .woocommerce ul.products,ul.products { grid-template-columns: repeat(2,1fr) !important; gap: 10px !important; }
    .pc-card-info { padding: 10px 10px 12px !important; }
    .pc-card-name { font-size: 0.76rem !important; }
}

/* =====================================================
   NUCLEAR FOOTER FIX
   ===================================================== */

/* Kill every possible white area in footer */
footer,
footer *,
#colophon,
#colophon *,
.ast-small-footer,
.ast-small-footer-wrap,
.ast-small-footer-section,
.ast-footer-widgets,
.ast-footer-widget-area,
.footer-adv-overlay,
.ast-above-footer,
.ast-below-footer,
[class*="footer"] {
    background-color: transparent !important;
}

#colophon,
.site-footer {
    background: #161616 !important;
    border-top: 1px solid rgba(201,168,76,0.14) !important;
}

.ast-small-footer,
.ast-small-footer-wrap {
    background: #080808 !important;
    border-top: 1px solid rgba(255,255,255,0.04) !important;
    padding: 14px 5% !important;
    color: #6a6458 !important;
    font-size: 0.74rem !important;
    text-align: center !important;
}

.ast-small-footer p,
.ast-small-footer a,
.ast-small-footer span,
.ast-small-footer div {
    color: #6a6458 !important;
    font-size: 0.74rem !important;
    background: transparent !important;
}

.ast-small-footer a:hover { color: #C9A84C !important; }

/* Hide "Powered by Astra" link specifically */
.ast-small-footer a[href*="wpastra"],
.ast-small-footer a[href*="wpastra.com"],
.ast-footer-grid-columns a[href*="wpastra"] {
    display: none !important;
}

/* =====================================================
   SHOP PAGE HEADER FIX
   ===================================================== */
.pc-shop-header {
    background: linear-gradient(160deg, #080808 0%, #100d00 100%) !important;
    padding: 50px 7% 32px !important;
    border-bottom: 1px solid rgba(201,168,76,0.14) !important;
    text-align: center !important;
}

.pc-shop-header h1 {
    font-size: clamp(1.6rem, 3vw, 2.4rem) !important;
    margin-bottom: 8px !important;
    color: #C9A84C !important;
}

.pc-shop-header p {
    color: #6a6458 !important;
    font-size: 0.9rem !important;
    max-width: 460px !important;
    margin: 0 auto !important;
}

/* =====================================================
   PRODUCT CARD IMAGE PLACEHOLDER — dark not white
   ===================================================== */
.woocommerce ul.products li.product img[src*="placeholder"],
.pc-card-img[src*="placeholder"],
img.woocommerce-placeholder {
    background: #1e1e1e !important;
    filter: opacity(0.25) !important;
}

.pc-card-img-wrap {
    background: #1e1e1e !important;
}

/* When there's no image - show placeholder with dark bg */
.woocommerce ul.products li.product .woocommerce-loop-product__link img {
    background: #1e1e1e !important;
}

/* =====================================================
   MY ACCOUNT / LOGIN / REGISTER PAGE
   ===================================================== */

body.woocommerce-account .site-content,
body.woocommerce-account #primary,
body.woocommerce-account #content {
    background: #0f0f0f !important;
    max-width: 100% !important;
    padding: 0 !important;
}

.woocommerce-account .woocommerce {
    padding: 50px 7%;
    max-width: 1000px;
    margin: 0 auto;
}

/* Page heading */
.woocommerce-account h1.entry-title,
.woocommerce-account .entry-title {
    font-family: 'Cinzel', serif !important;
    color: var(--gold) !important;
    font-size: 1.8rem !important;
    margin-bottom: 30px !important;
}

/* Login + Register side by side */
.woocommerce-account .woocommerce > .woocommerce-notices-wrapper + .u-columns,
.woocommerce-account .woocommerce > .col2-set,
.woocommerce .col2-set {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 28px !important;
    align-items: start !important;
}

.woocommerce .col2-set .col-1,
.woocommerce .col2-set .col-2 {
    background: var(--d2) !important;
    border: 1px solid var(--border) !important;
    border-radius: var(--radius-lg) !important;
    padding: 30px !important;
    width: 100% !important;
    float: none !important;
}

/* Column headings */
.woocommerce .col2-set h2 {
    font-size: 0.95rem !important;
    margin-bottom: 20px !important;
    padding-bottom: 12px !important;
    border-bottom: 1px solid var(--border) !important;
    letter-spacing: 1px !important;
}

/* Lost password link */
.woocommerce-LostPassword a {
    font-size: 0.8rem !important;
    color: var(--muted) !important;
}
.woocommerce-LostPassword a:hover { color: var(--gold) !important; }

/* Remember me checkbox */
.woocommerce-form__label-for-checkbox {
    color: var(--muted) !important;
    font-size: 0.82rem !important;
}

/* Privacy text */
.woocommerce-privacy-policy-text {
    font-size: 0.76rem !important;
    color: var(--muted) !important;
    line-height: 1.6 !important;
    margin: 14px 0 !important;
}
.woocommerce-privacy-policy-text a { color: var(--gold) !important; }

/* Submit buttons */
.woocommerce-account .woocommerce-form__input-checkbox {
    accent-color: var(--gold);
}

/* Verification notice */
.pc-verify-notice {
    background: rgba(255,193,7,0.07);
    border: 1px solid rgba(255,193,7,0.3);
    border-radius: 10px;
    padding: 16px 20px;
    margin-bottom: 24px;
    font-size: 0.87rem;
    color: var(--c2);
    line-height: 1.7;
}

/* My Account logged-in dashboard */
.woocommerce-account .woocommerce-MyAccount-navigation {
    background: var(--d2) !important;
    border: 1px solid var(--border) !important;
    border-radius: var(--radius-lg) !important;
    overflow: hidden !important;
    padding: 8px 0 !important;
}

.woocommerce-account .woocommerce-MyAccount-content {
    background: var(--d2) !important;
    border: 1px solid var(--border) !important;
    border-radius: var(--radius-lg) !important;
    padding: 28px !important;
    color: var(--c2) !important;
}

.woocommerce-account .woocommerce-MyAccount-content h2,
.woocommerce-account .woocommerce-MyAccount-content h3 {
    font-size: 1rem !important;
    margin-bottom: 16px !important;
}

/* Orders table */
.woocommerce-account .woocommerce-orders-table {
    width: 100% !important;
}

.woocommerce-account .woocommerce-orders-table th {
    background: var(--d3) !important;
    color: var(--gold) !important;
    font-family: 'Cinzel', serif !important;
    font-size: 0.64rem !important;
    letter-spacing: 2px !important;
    text-transform: uppercase !important;
    padding: 12px 16px !important;
    border: none !important;
}

.woocommerce-account .woocommerce-orders-table td {
    padding: 14px 16px !important;
    border: none !important;
    border-bottom: 1px solid rgba(255,255,255,0.04) !important;
    color: var(--c2) !important;
    font-size: 0.86rem !important;
}

/* Responsive */
@media (max-width: 768px) {
    .woocommerce-account .woocommerce { padding: 30px 5%; }
    .woocommerce .col2-set { grid-template-columns: 1fr !important; }
    .woocommerce .col2-set .col-1,
    .woocommerce .col2-set .col-2 { padding: 22px !important; }
}

/* =====================================================
   MY ACCOUNT — LAYOUT FIX (Login + Register side by side)
   ===================================================== */

/* Force the two columns side by side */
.woocommerce-account .woocommerce,
.woocommerce-account #customer_login {
    max-width: 1100px !important;
    margin: 0 auto !important;
    padding: 0 !important;
}

.woocommerce-account #customer_login.col2-set,
.woocommerce #customer_login {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 28px !important;
    align-items: start !important;
    width: 100% !important;
}

.woocommerce-account #customer_login .col-1,
.woocommerce-account #customer_login .col-2 {
    float: none !important;
    width: 100% !important;
    background: #161616 !important;
    border: 1px solid rgba(201,168,76,0.15) !important;
    border-radius: 14px !important;
    padding: 28px !important;
}

/* Remove the massive empty space - kill Astra's column padding */
.woocommerce-account .entry-content,
.woocommerce-account .ast-article-single,
.woocommerce-account .entry-content-wrap {
    padding: 50px 7% !important;
    max-width: 100% !important;
}

/* Page title position */
.woocommerce-account h1.entry-title {
    padding: 40px 7% 0 !important;
    margin-bottom: 0 !important;
}

/* Footer */
.ast-small-footer,
.ast-small-footer * {
    background: #080808 !important;
    color: #6a6458 !important;
}

/* Hide Astra link in footer */
.ast-small-footer a[href*="wpastra"],
.ast-small-footer a[href*="wordpress.org"] {
    display: none !important;
}

/* Separator pipe also hidden */
.ast-small-footer .ast-footer-copyright > span {
    display: none !important;
}

.ast-small-footer .ast-copyright-meta:last-child {
    display: none !important;
}

@media (max-width: 768px) {
    .woocommerce-account #customer_login.col2-set,
    .woocommerce #customer_login {
        grid-template-columns: 1fr !important;
    }
    .woocommerce-account .entry-content,
    .woocommerce-account h1.entry-title {
        padding-left: 5% !important;
        padding-right: 5% !important;
    }
}

/* =====================================================
   PRODUCT CARD — FORCE CORRECT LAYOUT
   Fix: overlay and quick-add showing below image
   ===================================================== */

/* Cards must be visible by default if JS hasn't run */
li.pc-product-card,
.woocommerce ul.products li.product {
    opacity: 1 !important;
    transform: none !important;
}

/* Re-apply animation only with JS class */
li.pc-product-card.pc-animate {
    opacity: 0 !important;
    transform: translateY(28px) !important;
}
li.pc-product-card.pc-animate.pc-visible {
    opacity: 1 !important;
    transform: translateY(0) !important;
}

/* Image wrap must be relative + overflow hidden */
.pc-card-img-wrap {
    position: relative !important;
    overflow: hidden !important;
    display: block !important;
    aspect-ratio: 1/1 !important;
    background: #1e1e1e !important;
}

/* Image fills the wrap */
.pc-card-img-link {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    position: relative !important;
}

.pc-card-img {
    position: absolute !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    transition: transform 0.6s cubic-bezier(0.4,0,0.2,1) !important;
}

li.pc-product-card:hover .pc-card-img {
    transform: scale(1.08) !important;
}

/* Overlay — absolutely positioned inside img wrap */
.pc-card-overlay {
    position: absolute !important;
    inset: 0 !important;
    background: linear-gradient(to top, rgba(0,0,0,0.7), transparent 55%) !important;
    display: flex !important;
    align-items: flex-end !important;
    justify-content: center !important;
    padding-bottom: 52px !important;
    opacity: 0 !important;
    transition: opacity 0.3s ease !important;
    z-index: 2 !important;
    pointer-events: none !important;
}

li.pc-product-card:hover .pc-card-overlay {
    opacity: 1 !important;
}

.pc-overlay-btn {
    font-family: 'Cinzel', serif !important;
    font-size: 0.62rem !important;
    font-weight: 700 !important;
    letter-spacing: 2px !important;
    text-transform: uppercase !important;
    color: #fff !important;
    border: 1px solid rgba(255,255,255,0.55) !important;
    padding: 7px 18px !important;
    border-radius: 6px !important;
    backdrop-filter: blur(4px) !important;
    pointer-events: none !important;
}

/* Quick add — slides up from bottom of image */
.pc-quick-add {
    position: absolute !important;
    bottom: 0 !important;
    left: 0 !important;
    right: 0 !important;
    background: linear-gradient(135deg, #C9A84C, #9A7A30) !important;
    color: #000 !important;
    font-family: 'Cinzel', serif !important;
    font-size: 0.6rem !important;
    font-weight: 700 !important;
    letter-spacing: 2px !important;
    text-transform: uppercase !important;
    border: none !important;
    padding: 12px !important;
    cursor: pointer !important;
    transform: translateY(100%) !important;
    transition: transform 0.3s cubic-bezier(0.4,0,0.2,1), background 0.2s !important;
    text-align: center !important;
    text-decoration: none !important;
    display: block !important;
    z-index: 3 !important;
    width: 100% !important;
    box-sizing: border-box !important;
}

li.pc-product-card:hover .pc-quick-add {
    transform: translateY(0) !important;
}

.pc-quick-add:hover {
    background: linear-gradient(135deg, #E8CC80, #C9A84C) !important;
    color: #000 !important;
}

.pc-quick-add.added {
    background: #4caf7d !important;
    color: #fff !important;
    transform: translateY(0) !important;
}

/* Badge position */
.pc-card-badge {
    position: absolute !important;
    top: 12px !important;
    left: 12px !important;
    z-index: 4 !important;
}

/* Card info — BELOW the image, not inside it */
.pc-card-info {
    padding: 14px 16px 16px !important;
    background: #161616 !important;
    display: block !important;
    position: static !important;
}

/* Placeholder image — dark not white */
.woocommerce-placeholder,
img.woocommerce-placeholder,
.pc-card-img[src*="placeholder"],
.pc-card-img-wrap img[src*="woocommerce-placeholder"] {
    opacity: 0.15 !important;
    filter: invert(1) opacity(0.15) !important;
    background: #1e1e1e !important;
}

/* =====================================================
   FOOTER — FINAL NUCLEAR FIX
   ===================================================== */
.ast-small-footer,
.ast-small-footer-section,
.ast-small-footer-wrap,
footer .ast-small-footer,
#colophon .ast-small-footer {
    background: #080808 !important;
    border-top: 1px solid rgba(255,255,255,0.04) !important;
    padding: 16px 5% !important;
}

.ast-small-footer *,
.ast-small-footer-section * {
    background: transparent !important;
    color: #555 !important;
    font-size: 0.74rem !important;
}

/* Hide the Astra link */
.ast-small-footer a[href*="wpastra"],
.ast-small-footer a[href*="wpastra.com"],
span.ast-copyright-meta:last-child,
.ast-small-footer .ast-footer-copyright > span + span {
    display: none !important;
}

/* Hide the " | " separator and everything after it */
.ast-small-footer .ast-footer-copyright::after { content: '' !important; }

/* =====================================================
   NAV — Remove My Account from primary nav
   ===================================================== */
.main-header-menu .menu-item a[href*="my-account"],
.ast-nav-menu .menu-item a[href*="my-account"],
#ast-hf-menu-1 .menu-item a[href*="my-account"] {
    display: none !important;
}
