/*
Theme Name: Arihant Fashion Jewellery
Theme URI: https://arihantjewellery.com
Description: Luxury Indian jewellery WooCommerce theme for Arihant Fashion Jewellery.
Version: 2.0.0
Author: Arihant Jewellery
Text Domain: hiraanya
Requires at least: 6.0
WC requires at least: 7.0
*/

/* ============================================================
   1. DESIGN TOKENS
   ============================================================ */
:root {
  --bg:             #fffefe;
  --fg:             rgba(16,16,16,0.75);
  --fg-full:        #101010;
  --btn-primary:    #580317;
  --btn-primary-tx: #ffffff;
  --btn-hover-bg:   #f2e9d2;
  --btn-hover-tx:   #484338;
  --gold:           #bf9b30;
  --gold-hover:     #c88551;
  --card-bg:        #fbecd9;
  --card-fg:        #484338;
  --dark:           #101010;
  --body-font:      'Fira Sans', sans-serif;
  --head-font:      'Faculty Glyphic', sans-serif;
  --cursive:        'Yellowtail', cursive;
  --page-w:         1500px;
  --gap:            10px;
  --transition:     all .25s ease;
}

/* ============================================================
   2. RESET & BASE
   ============================================================ */
*,*::before,*::after { box-sizing:border-box; margin:0; padding:0; }
html { font-size:62.5%; scroll-behavior:smooth; }
body {
  font-family: var(--body-font);
  font-size: 1.4rem;
  color: var(--fg);
  background: var(--bg);
  line-height: 1.6;
  -webkit-font-smoothing: antialiased;
}
img { max-width:100%; height:auto; display:block; }
a { text-decoration:none; color:inherit; transition:var(--transition); }
ul,ol { list-style:none; }
h1,h2,h3,h4,h5,h6 { font-family:var(--head-font); font-weight:400; color:var(--fg-full); line-height:1.3; }
input,button,textarea,select { font-family:var(--body-font); font-size:1.4rem; }
input:focus,textarea:focus,select:focus { outline:none; }
button { cursor:pointer; }

/* ============================================================
   3. LAYOUT UTILITIES
   ============================================================ */
.page-width { max-width:var(--page-w); margin:0 auto; padding:0 2rem; }
.section-pad    { padding:60px 0; }
.section-pad-sm { padding:30px 0; }
.section-pad-lg { padding:100px 0; }
.text-center    { text-align:center; }
.flex-center    { display:flex; align-items:center; justify-content:center; }
.visually-hidden { position:absolute; clip:rect(0,0,0,0); width:1px; height:1px; overflow:hidden; }

/* Responsive helpers */
@media(max-width:989px){ .medium-hide { display:none !important; } }
@media(max-width:749px){ .small-hide  { display:none !important; } }

/* ============================================================
   4. BUTTONS
   ============================================================ */
.btn {
  display:inline-flex; align-items:center; justify-content:center; gap:8px;
  padding:1.2rem 2.8rem; font-family:var(--body-font);
  font-size:1.3rem; font-weight:700; letter-spacing:.1em; text-transform:uppercase;
  border:1px solid transparent; transition:var(--transition); line-height:1;
}
.btn-primary  { background:var(--btn-primary); color:var(--btn-primary-tx); border-color:var(--btn-primary); }
.btn-primary:hover { background:var(--btn-hover-bg); color:var(--btn-hover-tx); border-color:var(--btn-hover-bg); }
.btn-gold     { background:var(--gold); color:#fff; border-color:var(--gold); }
.btn-gold:hover { background:var(--gold-hover); }
.btn-outline  { background:transparent; color:var(--fg-full); border-color:var(--fg-full); }
.btn-outline:hover { background:var(--fg-full); color:#fff; }
.btn-white    { background:#fff; color:var(--fg-full); border-color:var(--fg-full); }
.btn-white:hover { background:var(--fg-full); color:#fff; }
.btn-secondary { background:transparent; color:#fff; border-color:#fff; }
.btn-secondary:hover { background:#fff; color:var(--dark); }
.btn-full     { width:100%; }
.btn-sm       { padding:.8rem 1.6rem; font-size:1.2rem; }

/* ============================================================
   5. UTILITY BAR
   ============================================================ */
.utility-bar { background:var(--dark); color:rgba(255,255,255,.85); padding:8px 0; font-size:1.2rem; }
.utility-bar__grid { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:6px; }
.social-links { display:flex; gap:14px; align-items:center; }
.social-links a { color:rgba(255,255,255,.85); font-size:1.4rem; }
.social-links a:hover { color:#fff; }
.utility-currency { display:flex; align-items:center; gap:6px; font-size:1.2rem; color:rgba(255,255,255,.85); }
.utility-currency img { width:20px; }

/* ============================================================
   6. HEADER
   ============================================================ */
.site-header { position:sticky; top:0; z-index:990; background:var(--dark); box-shadow:0 2px 8px rgba(0,0,0,.25); transition:transform .3s ease; }
.site-header.hidden { transform:translateY(-100%); }
.header__inner { display:flex; align-items:center; justify-content:space-between; padding:9px 0; }
.header__logo a { display:block; }
.header__logo img { height:52px; width:auto; }
.header__nav { flex:1; display:flex; justify-content:center; }
.nav-menu { display:flex; flex-wrap:wrap; align-items:center; padding:0; margin:0; list-style:none; }
.nav-menu > li { position:relative; }
.nav-menu > li > a { display:block; padding:10px 1.4rem; font-size:1.3rem; color:rgba(255,255,255,.85); white-space:nowrap; letter-spacing:.04em; }
.nav-menu > li > a:hover { color:#fff; }
.sub-menu { position:absolute; top:100%; left:0; min-width:230px; background:#fff; border:1px solid rgba(0,0,0,.1); box-shadow:0 8px 28px rgba(0,0,0,.14); opacity:0; visibility:hidden; transform:translateY(8px); transition:var(--transition); z-index:200; list-style:none; padding:0; margin:0; }
.nav-menu li:hover > .sub-menu { opacity:1; visibility:visible; transform:translateY(0); }
.sub-menu li a { display:block; padding:9px 18px; font-size:1.2rem; color:var(--fg); border-bottom:1px solid rgba(0,0,0,.05); white-space:nowrap; }
.sub-menu li a:hover { background:var(--card-bg); color:var(--fg-full); }
.sub-menu li { position:relative; }
.sub-menu .sub-menu { left:100%; top:0; transform:none; }
.header__icons { display:flex; align-items:center; gap:4px; }
.header__icon-btn { width:40px; height:40px; display:flex; align-items:center; justify-content:center; background:transparent; border:none; color:#fff; font-size:1.5rem; transition:var(--transition); position:relative; text-decoration:none; }
.header__icon-btn:hover { color:rgba(255,255,255,.7); }
.cart-count { position:absolute; top:2px; right:2px; width:16px; height:16px; background:var(--btn-primary); color:#fff; font-size:.9rem; border-radius:50%; display:flex; align-items:center; justify-content:center; font-weight:700; }
.cart-count:empty { display:none; }
.hamburger { display:none; flex-direction:column; gap:5px; background:transparent; border:none; padding:4px; }
.hamburger span { display:block; width:24px; height:1.4px; background:#fff; }

/* ============================================================
   7. MOBILE MENU
   ============================================================ */
.mob-overlay { position:fixed; inset:0; background:rgba(0,0,0,.5); z-index:997; display:none; }
.mob-overlay.open { display:block; }
.mob-menu { position:fixed; top:0; left:0; width:300px; height:100vh; background:var(--bg); z-index:998; transform:translateX(-100%); transition:transform .3s ease; overflow-y:auto; box-shadow:4px 0 20px rgba(0,0,0,.2); }
.mob-menu.open { transform:translateX(0); }
.mob-menu__head { background:var(--dark); padding:16px 20px; display:flex; justify-content:space-between; align-items:center; }
.mob-menu__brand { font-family:var(--head-font); font-size:1.8rem; color:#fff; }
.mob-close { background:none; border:none; color:#fff; font-size:2.4rem; line-height:1; }
.mob-nav a { display:block; padding:12px 20px; font-size:1.3rem; border-bottom:1px solid rgba(0,0,0,.08); color:var(--fg-full); }
.mob-nav a:hover { background:var(--card-bg); }
.mob-nav .mob-sub a { padding-left:36px; font-size:1.2rem; background:#faf9f7; }

/* ============================================================
   8. SEARCH OVERLAY
   ============================================================ */
.search-overlay { position:fixed; inset:0; background:rgba(0,0,0,.92); z-index:999; display:flex; align-items:flex-start; justify-content:center; padding-top:80px; opacity:0; visibility:hidden; transition:var(--transition); }
.search-overlay.open { opacity:1; visibility:visible; }
.search-overlay__inner { width:100%; max-width:640px; padding:0 20px; }
.search-overlay__bar { display:flex; align-items:center; border-bottom:1px solid rgba(255,255,255,.3); padding-bottom:12px; }
.search-overlay__input { flex:1; background:transparent; border:none; font-size:2.4rem; color:#fff; font-family:var(--head-font); }
.search-overlay__input::placeholder { color:rgba(255,255,255,.3); }
.search-overlay__close { background:none; border:none; color:rgba(255,255,255,.6); font-size:2.4rem; padding:8px; }
.search-overlay__close:hover { color:#fff; }

/* ============================================================
   9. HERO SLIDESHOW
   ============================================================ */
.hero-slideshow { position:relative; overflow:hidden; background:#000; }
.slide { display:none; }
.slide.active { display:block; }
.slide img { width:100%; display:block; }
.slide-prev,.slide-next { position:absolute; top:50%; transform:translateY(-50%); width:44px; height:44px; background:rgba(255,255,255,.15); border:none; color:#fff; z-index:5; display:flex; align-items:center; justify-content:center; font-size:1.4rem; transition:var(--transition); }
.slide-prev { left:12px; }
.slide-next { right:12px; }
.slide-prev:hover,.slide-next:hover { background:rgba(255,255,255,.35); }
.slide-dots { position:absolute; bottom:20px; left:50%; transform:translateX(-50%); display:flex; gap:8px; z-index:5; }
.slide-dot { width:8px; height:8px; border-radius:50%; background:rgba(255,255,255,.4); border:none; }
.slide-dot.active { background:#fff; transform:scale(1.3); }

/* ============================================================
   10. ANNOUNCEMENT & MARQUEE BARS
   ============================================================ */
.announcement-bar { background:var(--dark); color:#fff; padding:10px 0; overflow:hidden; }
.announcement-bar__track { display:flex; white-space:nowrap; animation:marquee 20s linear infinite; }
.announcement-bar__item { font-family:var(--cursive); font-size:1.4rem; padding:0 40px; flex-shrink:0; }
.marquee-bar { background:var(--dark); color:#fff; padding:10px 0; overflow:hidden; }
.marquee-bar__track { display:flex; white-space:nowrap; animation:marquee 12s linear infinite; }
.marquee-bar__item { font-family:var(--cursive); font-size:1.4rem; padding:0 36px; flex-shrink:0; }
@keyframes marquee { from { transform:translateX(0); } to { transform:translateX(-50%); } }

/* ============================================================
   11. SECTION HEADER
   ============================================================ */
.section-header { margin-bottom:28px; }
.section-header h2 { font-size:2.8rem; }
.section-header p { font-size:1.3rem; color:var(--fg); margin-top:6px; }

/* ============================================================
   12. COLLECTION CARDS
   ============================================================ */
.collection-card { display:block; cursor:pointer; }
.collection-card__media { background:var(--card-bg); position:relative; padding-bottom:125%; overflow:hidden; }
.collection-card__media img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; transition:transform .5s ease; }
.collection-card:hover .collection-card__media img { transform:scale(1.05); }
.collection-card__title { font-size:1.3rem; color:var(--fg-full); padding:10px 0 4px; display:flex; align-items:center; gap:6px; }
.collection-card__title::after { content:'→'; opacity:0; transition:var(--transition); }
.collection-card:hover .collection-card__title::after { opacity:1; }
.grid-6 { display:grid; grid-template-columns:repeat(6,1fr); gap:var(--gap); }
.grid-5 { display:grid; grid-template-columns:repeat(5,1fr); gap:0; }
.grid-4 { display:grid; grid-template-columns:repeat(4,1fr); gap:var(--gap); }
.grid-3 { display:grid; grid-template-columns:repeat(3,1fr); gap:var(--gap); }
.grid-2 { display:grid; grid-template-columns:1fr 1fr; gap:var(--gap); }

/* ============================================================
   13. PRODUCT CARDS
   ============================================================ */
.product-card { position:relative; }
.product-card__media { background:var(--card-bg); position:relative; padding-bottom:125%; overflow:hidden; }
.product-card__media img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.product-card__media .img-primary { z-index:1; transition:opacity .4s; }
.product-card__media .img-secondary { opacity:0; transition:opacity .4s; z-index:2; }
.product-card:hover .img-secondary { opacity:1; }
.product-card__badge { position:absolute; top:10px; left:10px; z-index:3; background:var(--card-bg); color:var(--card-fg); font-size:1.1rem; padding:3px 10px; }
.product-card__wishlist { position:absolute; top:10px; right:10px; z-index:5; width:36px; height:36px; background:rgba(255,255,255,.9); border:none; display:flex; align-items:center; justify-content:center; border-radius:50%; transition:var(--transition); }
.product-card__wishlist:hover { background:#fff; }
.product-card__wishlist.active svg path { fill:var(--btn-primary); stroke:var(--btn-primary); }
.product-card__actions { position:absolute; bottom:0; left:0; right:0; z-index:4; opacity:0; transition:opacity .25s; }
.product-card:hover .product-card__actions { opacity:1; }
.add-to-cart-btn { width:100%; padding:12px; background:var(--btn-primary); color:#fff; border:none; font-family:var(--body-font); font-size:1.3rem; letter-spacing:.05em; transition:var(--transition); }
.add-to-cart-btn:hover { background:var(--btn-hover-bg); color:var(--btn-hover-tx); }
.product-card__info { padding:10px 0 8px; }
.product-card__title { font-size:1.3rem; color:var(--fg-full); line-height:1.4; margin-bottom:6px; font-family:var(--body-font); }
.product-card__price { font-size:1.3rem; }
.product-card__price .price-sale { color:var(--fg-full); }
.product-card__price .price-compare { color:var(--fg); text-decoration:line-through; margin-left:6px; font-size:1.2rem; }
.product-page { display:grid; grid-template-columns:repeat(4,1fr); gap:var(--gap); }

/* Slider nav */
.slider-nav { display:flex; align-items:center; gap:10px; }
.slider-btn { width:44px; height:44px; border:1px solid rgba(16,16,16,.15); background:transparent; display:flex; align-items:center; justify-content:center; font-size:1.2rem; transition:var(--transition); }
.slider-btn:hover { background:var(--fg-full); color:#fff; border-color:var(--fg-full); }
.slider-counter { font-size:1.2rem; color:var(--fg); }

/* ============================================================
   14. VIDEO SLIDER
   ============================================================ */
.video-slider { background:var(--bg); }
.video-slider__grid { display:grid; grid-template-columns:repeat(5,1fr); gap:var(--gap); }
.video-item video { width:100%; display:block; background:#000; }

/* ============================================================
   15. IMAGE WITH TEXT
   ============================================================ */
.img-with-text { display:grid; grid-template-columns:1fr 1fr; gap:0; }
.img-with-text.reverse .img-with-text__media { order:2; }
.img-with-text.reverse .img-with-text__content { order:1; }
.img-with-text__media { position:relative; min-height:460px; overflow:hidden; }
.img-with-text__media img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.img-with-text__content { background:var(--dark); color:#fff; display:flex; flex-direction:column; align-items:center; justify-content:center; padding:60px 50px; text-align:center; gap:24px; }
.img-with-text__content h2 { font-size:2.6rem; color:#fff; }
.img-with-text__content p { color:rgba(255,255,255,.75); font-size:1.4rem; }

/* ============================================================
   16. FULL BANNER
   ============================================================ */
.full-banner { position:relative; }
.full-banner img { width:100%; display:block; }
.full-banner__cta { position:absolute; bottom:36px; left:50%; transform:translateX(-50%); }

/* ============================================================
   17. ASSURANCE
   ============================================================ */
.assurance__grid { display:grid; grid-template-columns:repeat(4,1fr); gap:var(--gap); }
.assurance__card { background:#f7f5f1; padding:28px 16px; text-align:center; }
.assurance__card img { width:80px; height:80px; object-fit:contain; margin:0 auto 12px; }
.assurance__card h3 { font-family:var(--body-font); font-weight:700; font-size:1.2rem; text-transform:uppercase; letter-spacing:.1em; color:var(--fg-full); }
.assurance__card p { font-size:1.2rem; color:var(--fg); margin-top:8px; }

/* ============================================================
   18. INSTAGRAM GRID
   ============================================================ */
.instagram-grid { display:grid; grid-template-columns:repeat(5,1fr); gap:0; }
.ig-item { position:relative; padding-bottom:125%; overflow:hidden; cursor:pointer; }
.ig-item img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; transition:transform .4s; }
.ig-item:hover img { transform:scale(1.05); }
.ig-item__overlay { position:absolute; inset:0; background:rgba(0,0,0,.25); display:flex; align-items:center; justify-content:center; opacity:0; transition:opacity .3s; color:#fff; font-size:2.4rem; }
.ig-item:hover .ig-item__overlay { opacity:1; }

/* ============================================================
   19. BREADCRUMB
   ============================================================ */
.breadcrumb { padding:12px 0; font-size:1.2rem; color:var(--fg); border-bottom:1px solid rgba(0,0,0,.07); }
.breadcrumb a { color:var(--fg); }
.breadcrumb a:hover { color:var(--fg-full); }
.breadcrumb .sep { margin:0 6px; }

/* ============================================================
   20. PAGE HERO (inner pages)
   ============================================================ */
.page-hero { background:var(--dark); color:#fff; padding:50px 20px; text-align:center; }
.page-hero h1 { font-size:3.6rem; color:#fff; margin-bottom:10px; }
.page-hero p { color:rgba(255,255,255,.7); font-size:1.4rem; }
.page-hero--sm { padding:32px 20px; }
.page-hero--sm h1 { font-size:2.8rem; }

/* ============================================================
   21. GENERIC PAGE CONTENT
   ============================================================ */
.page-content { font-size:1.4rem; line-height:1.9; color:var(--fg); }
.page-content h2,.page-content h3,.page-content h4 { font-family:var(--head-font); margin:28px 0 12px; color:var(--fg-full); }
.page-content h2 { font-size:2.4rem; }
.page-content h3 { font-size:1.8rem; }
.page-content p { margin-bottom:16px; }
.page-content ul,.page-content ol { padding-left:22px; margin-bottom:16px; }
.page-content ul { list-style:disc; }
.page-content ol { list-style:decimal; }
.page-content a { color:var(--btn-primary); text-decoration:underline; }
.page-content img { max-width:100%; margin:16px 0; }
.page-content table { width:100%; border-collapse:collapse; margin-bottom:16px; font-size:1.3rem; }
.page-content table th,.page-content table td { padding:10px 14px; border:1px solid rgba(0,0,0,.1); text-align:left; }
.page-content table th { background:var(--card-bg); font-weight:700; }
.page-content blockquote { border-left:3px solid var(--btn-primary); padding:12px 20px; background:var(--card-bg); margin:20px 0; font-style:italic; }

/* ============================================================
   22. SHOP LAYOUT
   ============================================================ */
.shop-layout { display:grid; grid-template-columns:260px 1fr; gap:30px; padding:40px 0 60px; }
.shop-sidebar { padding-right:24px; border-right:1px solid rgba(0,0,0,.08); }
.shop-toolbar { display:flex; align-items:center; justify-content:space-between; padding-bottom:20px; border-bottom:1px solid rgba(0,0,0,.08); margin-bottom:24px; flex-wrap:wrap; gap:10px; }
.widget { margin-bottom:28px; }
.widget-title { font-family:var(--body-font); font-size:1.3rem; font-weight:700; text-transform:uppercase; letter-spacing:.1em; color:var(--fg-full); margin-bottom:14px; padding-bottom:10px; border-bottom:1px solid rgba(0,0,0,.1); }
.widget ul li { padding:6px 0; font-size:1.3rem; border-bottom:1px solid rgba(0,0,0,.05); }
.widget ul li a { color:var(--fg); }
.widget ul li a:hover { color:var(--fg-full); }

/* ============================================================
   23. WOOCOMMERCE — BASE
   ============================================================ */
.woocommerce, .woocommerce-page { font-family:var(--body-font); }

/* Buttons */
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input[type=submit],
.woocommerce #respond input#submit {
  background:var(--btn-primary); color:#fff;
  font-family:var(--body-font); font-size:1.3rem; font-weight:400;
  letter-spacing:.05em; border-radius:0; padding:1.2rem 2.4rem;
  border:1px solid var(--btn-primary); transition:var(--transition);
  display:inline-block; text-align:center;
}
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input[type=submit]:hover { background:var(--btn-hover-bg); color:var(--btn-hover-tx); border-color:var(--btn-hover-bg); }

/* Price */
.woocommerce .price { font-size:1.3rem; color:var(--fg-full); }
.woocommerce .price del { color:var(--fg); font-size:1.2rem; }
.woocommerce .price ins { text-decoration:none; }
.woocommerce span.onsale { background:var(--card-bg); color:var(--card-fg); border-radius:0; font-size:1.1rem; min-height:auto; min-width:auto; padding:3px 10px; line-height:1.4; top:10px; left:10px; right:auto; }

/* Product loop */
.woocommerce ul.products { display:grid; grid-template-columns:repeat(4,1fr); gap:var(--gap); padding:0; margin:0; list-style:none; }
.woocommerce ul.products li.product { margin:0; }
.woocommerce ul.products li.product a img { width:100%; object-fit:cover; background:var(--card-bg); }
.woocommerce ul.products li.product .woocommerce-loop-product__title { font-family:var(--body-font); font-size:1.3rem; font-weight:400; color:var(--fg-full); padding:10px 0 4px; }
.woocommerce ul.products li.product .price { font-size:1.3rem; padding:0; }
.woocommerce ul.products li.product .button { width:100%; margin-top:10px; }

/* Forms */
.woocommerce form .form-row { margin-bottom:16px; }
.woocommerce form .form-row label { display:block; font-size:1.2rem; font-weight:700; text-transform:uppercase; letter-spacing:.06em; margin-bottom:6px; color:var(--fg-full); }
.woocommerce form .form-row .required { color:var(--btn-primary); }
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row select,
.woocommerce form .form-row textarea {
  width:100%; padding:11px 14px; border:1px solid rgba(0,0,0,.2);
  border-radius:6px; font-family:var(--body-font); font-size:1.3rem;
  color:var(--fg-full); background:#fff; transition:border-color .2s;
}
.woocommerce form .form-row input.input-text:focus,
.woocommerce form .form-row select:focus { border-color:var(--btn-primary); }

/* Notices */
.woocommerce-message,.woocommerce-info,.woocommerce-error { font-size:1.3rem; padding:14px 20px; margin-bottom:20px; list-style:none; border-left:3px solid var(--btn-primary); background:var(--card-bg); }
.woocommerce-message { background:#d4edda; border-color:#2e7d32; }
.woocommerce-error { background:#fdecea; border-color:#c62828; }

/* Pagination */
.woocommerce nav.woocommerce-pagination ul { display:inline-flex; gap:4px; list-style:none; padding:0; margin:30px 0; }
.woocommerce nav.woocommerce-pagination ul li a,
.woocommerce nav.woocommerce-pagination ul li span { display:flex; align-items:center; justify-content:center; width:36px; height:36px; font-size:1.3rem; border:1px solid rgba(0,0,0,.15); color:var(--fg-full); border-radius:0; }
.woocommerce nav.woocommerce-pagination ul li a:hover,
.woocommerce nav.woocommerce-pagination ul li span.current { background:var(--btn-primary); color:#fff; border-color:var(--btn-primary); }

/* Star rating */
.woocommerce .star-rating { color:var(--gold); font-size:1.2rem; }

/* ============================================================
   24. PRODUCT ARCHIVE (shop page)
   ============================================================ */
.woocommerce-result-count { font-size:1.3rem; color:var(--fg); margin:0; }
.woocommerce-ordering select { padding:8px 32px 8px 12px; border:1px solid rgba(0,0,0,.15); font-size:1.3rem; background:#fff; appearance:none; color:var(--fg-full); border-radius:6px; background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6'%3E%3Cpath fill='%23101010' d='M5 6L0 0h10z'/%3E%3C/svg%3E"); background-repeat:no-repeat; background-position:right 12px center; }
.woocommerce-products-header { background:var(--dark); padding:40px 0; text-align:center; margin-bottom:0; }
.woocommerce-products-header__title { font-size:3.2rem; color:#fff; }
.woocommerce-products-header .term-description { color:rgba(255,255,255,.7); font-size:1.3rem; margin-top:6px; }

/* ============================================================
   25. SINGLE PRODUCT
   ============================================================ */
.single-product-layout { display:grid; grid-template-columns:1fr 1fr; gap:40px; padding:40px 0 0; }

/* Gallery */
.product-gallery__main { background:var(--card-bg); margin-bottom:var(--gap); }
.product-gallery__main img { width:100%; display:block; }
.product-gallery__thumbs { display:grid; grid-template-columns:repeat(5,1fr); gap:6px; }
.product-gallery__thumb { cursor:pointer; border:2px solid transparent; background:var(--card-bg); transition:var(--transition); }
.product-gallery__thumb img { width:100%; display:block; }
.product-gallery__thumb.active { border-color:var(--btn-primary); }
.product-gallery__thumb:hover { border-color:rgba(88,3,23,.4); }

/* Details */
.product-details__badge { display:inline-block; background:var(--card-bg); color:var(--card-fg); font-size:1.1rem; padding:3px 10px; margin-bottom:12px; }
.product-details__title { font-size:2.6rem; margin-bottom:12px; }
.product-details__rating { display:flex; align-items:center; gap:8px; margin-bottom:14px; }
.product-details__rating a { font-size:1.2rem; color:var(--fg); }
.product-details__price { font-size:2.2rem; margin-bottom:16px; }
.product-details__price .price-sale { color:var(--fg-full); }
.product-details__price .price-compare { color:var(--fg); text-decoration:line-through; font-size:1.6rem; margin-left:10px; }
.product-details__desc { font-size:1.3rem; color:var(--fg); line-height:1.8; margin-bottom:24px; }
.product-details__meta { font-size:1.2rem; color:var(--fg); margin-top:20px; padding-top:20px; border-top:1px solid rgba(0,0,0,.08); }
.product-details__meta p { margin-bottom:6px; }
.product-details__meta strong { color:var(--fg-full); }
.product-details__meta a { color:var(--btn-primary); }

/* Quantity */
.qty-group { display:flex; align-items:center; gap:12px; margin-bottom:16px; }
.qty-group label { font-size:1.2rem; font-weight:700; text-transform:uppercase; letter-spacing:.06em; }
.qty-control { display:flex; align-items:center; }
.qty-minus,.qty-plus { width:36px; height:36px; background:#f5f5f5; border:1px solid rgba(0,0,0,.15); font-size:1.6rem; display:flex; align-items:center; justify-content:center; transition:var(--transition); flex-shrink:0; line-height:1; }
.qty-minus:hover,.qty-plus:hover { background:var(--dark); color:#fff; }
.qty-minus { border-right:none; }
.qty-plus { border-left:none; }
.qty-input { width:60px; height:36px; border:1px solid rgba(0,0,0,.15); text-align:center; font-size:1.4rem; font-family:var(--body-font); color:var(--fg-full); }

/* Product actions */
.product-actions { display:flex; flex-direction:column; gap:10px; margin-bottom:20px; }
.product-wishlist-btn { display:inline-flex; align-items:center; gap:8px; background:transparent; border:none; font-size:1.3rem; color:var(--fg); padding:0; transition:var(--transition); }
.product-wishlist-btn:hover,.product-wishlist-btn.active { color:var(--btn-primary); }
.product-wishlist-btn.active svg path { fill:var(--btn-primary); stroke:var(--btn-primary); }

/* Product tabs */
.product-tabs { margin-top:40px; padding-bottom:60px; }
.product-tabs__nav { display:flex; border-bottom:1px solid rgba(0,0,0,.1); margin-bottom:24px; flex-wrap:wrap; }
.product-tabs__btn { padding:12px 24px; background:transparent; border:none; border-bottom:2px solid transparent; font-size:1.3rem; font-weight:700; text-transform:uppercase; letter-spacing:.08em; color:var(--fg); margin-bottom:-1px; transition:var(--transition); }
.product-tabs__btn.active { border-bottom-color:var(--btn-primary); color:var(--fg-full); }
.product-tabs__panel { display:none; font-size:1.3rem; line-height:1.8; color:var(--fg); }
.product-tabs__panel.active { display:block; }
.product-tabs__panel table { width:100%; border-collapse:collapse; }
.product-tabs__panel table th,.product-tabs__panel table td { padding:10px 14px; border:1px solid rgba(0,0,0,.08); font-size:1.3rem; }
.product-tabs__panel table th { background:var(--card-bg); font-weight:700; text-align:left; width:180px; }

/* Related products */
.related-products { padding:40px 0 60px; }
.related-products h2 { font-size:2.4rem; margin-bottom:24px; }

/* WC native single product overrides */
.woocommerce div.product p.price { font-size:2rem; }
.woocommerce div.product .woocommerce-product-details__short-description { font-size:1.3rem; }
.woocommerce div.product form.cart .qty { border:1px solid rgba(0,0,0,.2); border-radius:0; height:44px; font-size:1.4rem; padding:0 12px; }
.woocommerce div.product .product_meta { font-size:1.2rem; color:var(--fg); margin-top:16px; padding-top:16px; border-top:1px solid rgba(0,0,0,.08); }
.woocommerce div.product .woocommerce-tabs ul.tabs { padding:0; border-bottom:1px solid rgba(0,0,0,.1); margin-bottom:24px; }
.woocommerce div.product .woocommerce-tabs ul.tabs li { border:none; background:transparent; border-radius:0; margin:0; padding:0; }
.woocommerce div.product .woocommerce-tabs ul.tabs li::before,
.woocommerce div.product .woocommerce-tabs ul.tabs li::after { display:none; }
.woocommerce div.product .woocommerce-tabs ul.tabs li a { color:var(--fg); font-size:1.3rem; font-weight:700; text-transform:uppercase; letter-spacing:.06em; border-bottom:2px solid transparent; margin-bottom:-1px; display:block; padding:12px 24px; }
.woocommerce div.product .woocommerce-tabs ul.tabs li.active a { color:var(--fg-full); border-bottom-color:var(--btn-primary); background:transparent; }
.woocommerce div.product .woocommerce-tabs .panel { padding:0; background:transparent; border:none; border-radius:0; }
.woocommerce div.product form.cart .single_add_to_cart_button { background:var(--btn-primary); color:#fff; font-family:var(--body-font); font-size:1.3rem; font-weight:700; letter-spacing:.08em; border-radius:0; }
.woocommerce div.product form.cart .single_add_to_cart_button:hover { background:var(--btn-hover-bg); color:var(--btn-hover-tx); }

/* ============================================================
   26. CART PAGE
   ============================================================ */
.cart-page { padding:40px 0 60px; }
.woocommerce table.shop_table { width:100%; border-collapse:collapse; font-size:1.3rem; }
.woocommerce table.shop_table th { padding:12px 16px; text-align:left; font-weight:700; text-transform:uppercase; font-size:1.2rem; letter-spacing:.06em; border-bottom:2px solid rgba(0,0,0,.1); color:var(--fg-full); }
.woocommerce table.shop_table td { padding:16px; border-bottom:1px solid rgba(0,0,0,.07); vertical-align:middle; color:var(--fg-full); }
.woocommerce table.shop_table .product-thumbnail img { width:80px; height:100px; object-fit:cover; }
.woocommerce table.shop_table .product-name a { color:var(--fg-full); font-size:1.3rem; }
.woocommerce table.shop_table .product-name a:hover { color:var(--btn-primary); }
.woocommerce table.shop_table a.remove { display:flex; align-items:center; justify-content:center; width:24px; height:24px; background:rgba(0,0,0,.07); border-radius:50%; font-size:1.4rem; color:var(--fg-full); font-weight:700; }
.woocommerce table.shop_table a.remove:hover { background:var(--btn-primary); color:#fff; }
.woocommerce .coupon { display:flex; gap:10px; flex-wrap:wrap; align-items:center; }
.woocommerce .coupon input[type=text] { padding:10px 14px; border:1px solid rgba(0,0,0,.2); font-size:1.3rem; border-radius:6px; width:200px; }
.woocommerce .actions { display:flex; justify-content:space-between; align-items:center; gap:10px; flex-wrap:wrap; padding-top:16px; }
.woocommerce .cart-collaterals { margin-top:30px; }
.woocommerce .cart_totals { background:var(--card-bg); padding:28px; max-width:400px; margin-left:auto; }
.woocommerce .cart_totals h2 { font-size:2rem; margin-bottom:20px; }
.woocommerce .cart_totals table { width:100%; border-collapse:collapse; font-size:1.3rem; }
.woocommerce .cart_totals table th { padding:10px 0; font-weight:700; border-bottom:1px solid rgba(0,0,0,.08); text-align:left; }
.woocommerce .cart_totals table td { padding:10px 0; text-align:right; border-bottom:1px solid rgba(0,0,0,.08); }
.woocommerce .cart_totals .order-total th,
.woocommerce .cart_totals .order-total td { font-size:1.6rem; font-weight:700; border-bottom:none; }
.woocommerce .wc-proceed-to-checkout { margin-top:20px; }
.woocommerce .wc-proceed-to-checkout a.checkout-button { display:block; text-align:center; background:var(--btn-primary); color:#fff; padding:1.4rem 2.4rem; font-size:1.4rem; font-weight:700; letter-spacing:.08em; text-transform:uppercase; transition:var(--transition); }
.woocommerce .wc-proceed-to-checkout a.checkout-button:hover { background:var(--btn-hover-bg); color:var(--btn-hover-tx); }
.woocommerce .cross-sells h2 { font-size:2rem; margin:40px 0 20px; }
/* Quantity input in cart */
.woocommerce table.shop_table .quantity .qty { width:60px; padding:6px; border:1px solid rgba(0,0,0,.2); text-align:center; }

/* ============================================================
   27. CHECKOUT PAGE
   ============================================================ */
.checkout-page { padding:40px 0 60px; }
.checkout-grid { display:grid; grid-template-columns:1fr 400px; gap:40px; align-items:start; }
.woocommerce-billing-fields h3,
.woocommerce-shipping-fields h3,
.woocommerce-additional-fields h3 { font-size:2rem; margin:30px 0 20px; color:var(--fg-full); }
.woocommerce-billing-fields h3:first-child,
.woocommerce-shipping-fields h3:first-child { margin-top:0; }
.checkout-order-summary { background:var(--card-bg); padding:28px; position:sticky; top:80px; }
.checkout-order-summary h3 { font-size:2rem; margin-bottom:20px; }
.woocommerce-checkout-review-order-table { width:100%; border-collapse:collapse; font-size:1.3rem; }
.woocommerce-checkout-review-order-table th { padding:10px 0; font-weight:700; border-bottom:2px solid rgba(0,0,0,.1); text-align:left; }
.woocommerce-checkout-review-order-table td { padding:10px 0; border-bottom:1px solid rgba(0,0,0,.08); }
.woocommerce-checkout-review-order-table .order-total th,
.woocommerce-checkout-review-order-table .order-total td { font-size:1.6rem; font-weight:700; border-bottom:none; padding-top:16px; }
#payment { margin-top:20px; }
#payment .wc_payment_methods { list-style:none; padding:0; margin:0 0 20px; }
#payment .wc_payment_methods li { padding:12px 0; border-bottom:1px solid rgba(0,0,0,.08); }
#payment .wc_payment_methods li label { font-weight:400; font-size:1.3rem; cursor:pointer; }
#payment .place-order button { width:100%; padding:1.6rem; font-size:1.5rem; background:var(--btn-primary); color:#fff; border:none; font-weight:700; letter-spacing:.08em; text-transform:uppercase; transition:var(--transition); }
#payment .place-order button:hover { background:var(--btn-hover-bg); color:var(--btn-hover-tx); }
.woocommerce-form-coupon-toggle,.woocommerce-form-login-toggle { background:var(--card-bg); padding:14px 20px; font-size:1.3rem; margin-bottom:20px; }
.woocommerce-form-coupon,.woocommerce-form-login { background:#f9f9f9; padding:20px; margin-bottom:20px; border:1px solid rgba(0,0,0,.08); }

/* ============================================================
   28. ORDER RECEIVED (Thank You) PAGE
   ============================================================ */
.thankyou-page { padding:40px 0 60px; }
.thankyou-hero { background:var(--dark); padding:50px 20px; text-align:center; }
.thankyou-hero svg { margin:0 auto 16px; display:block; }
.thankyou-hero h1 { font-size:3rem; color:#fff; margin-bottom:8px; }
.thankyou-hero p { color:rgba(255,255,255,.7); font-size:1.4rem; }
.order-overview { list-style:none; padding:0; margin:0 0 30px; background:var(--card-bg); display:grid; grid-template-columns:repeat(4,1fr); gap:16px; padding:24px; }
.order-overview li { font-size:1.3rem; color:var(--fg); }
.order-overview li strong { display:block; font-size:1.5rem; color:var(--fg-full); margin-top:4px; }
.order-overview li span { font-size:1.2rem; text-transform:uppercase; letter-spacing:.06em; }
.woocommerce-thankyou-order-received { font-size:1.4rem; margin-bottom:20px; color:var(--fg-full); }
.woocommerce-order-details h2 { font-size:2rem; margin:30px 0 16px; }
.woocommerce-order-details .woocommerce-table { width:100%; border-collapse:collapse; font-size:1.3rem; }
.woocommerce-order-details .woocommerce-table th { padding:10px 14px; border-bottom:2px solid rgba(0,0,0,.1); text-align:left; font-weight:700; }
.woocommerce-order-details .woocommerce-table td { padding:12px 14px; border-bottom:1px solid rgba(0,0,0,.07); }
.thankyou-actions { text-align:center; margin-top:36px; display:flex; gap:16px; justify-content:center; flex-wrap:wrap; }

/* ============================================================
   29. MY ACCOUNT PAGE
   ============================================================ */
.account-page { padding:40px 0 60px; }
.account-layout { display:grid; grid-template-columns:240px 1fr; gap:40px; align-items:start; }
.account-nav ul { list-style:none; padding:0; margin:0; }
.account-nav ul li { border-bottom:1px solid rgba(0,0,0,.07); }
.account-nav ul li a { display:block; padding:12px 16px; font-size:1.3rem; color:var(--fg-full); transition:var(--transition); }
.account-nav ul li a:hover,
.account-nav ul li.is-active a { background:var(--card-bg); color:var(--btn-primary); padding-left:22px; }
.account-nav ul li.is-active a { font-weight:700; }
.account-content { font-size:1.3rem; line-height:1.8; color:var(--fg-full); }
.account-content h2 { font-size:2rem; margin-bottom:16px; }
.account-content p { margin-bottom:14px; }
/* My account WC native */
.woocommerce-account .woocommerce-MyAccount-navigation ul { list-style:none; padding:0; margin:0; }
.woocommerce-account .woocommerce-MyAccount-navigation ul li { border-bottom:1px solid rgba(0,0,0,.07); }
.woocommerce-account .woocommerce-MyAccount-navigation ul li a { display:block; padding:12px 16px; font-size:1.3rem; color:var(--fg-full); transition:var(--transition); }
.woocommerce-account .woocommerce-MyAccount-navigation ul li a:hover,
.woocommerce-account .woocommerce-MyAccount-navigation ul li.is-active a { background:var(--card-bg); color:var(--btn-primary); padding-left:22px; }
.woocommerce-account .woocommerce-MyAccount-navigation ul li.is-active a { font-weight:700; }
.woocommerce-account .woocommerce-MyAccount-content { font-size:1.3rem; line-height:1.8; }
.woocommerce-account .woocommerce-MyAccount-content h2 { font-size:2rem; margin-bottom:16px; }
.woocommerce-orders-table { width:100%; border-collapse:collapse; font-size:1.3rem; }
.woocommerce-orders-table th { padding:10px 14px; border-bottom:2px solid rgba(0,0,0,.1); font-weight:700; text-transform:uppercase; font-size:1.2rem; text-align:left; }
.woocommerce-orders-table td { padding:12px 14px; border-bottom:1px solid rgba(0,0,0,.07); }
.woocommerce-orders-table .woocommerce-button { font-size:1.2rem; padding:.6rem 1.4rem; }

/* ============================================================
   30. BLOG INDEX
   ============================================================ */
.blog-page { padding:40px 0 60px; }
.blog-grid { display:grid; grid-template-columns:1fr 300px; gap:40px; }
.blog-posts {}
.blog-post { margin-bottom:36px; padding-bottom:36px; border-bottom:1px solid rgba(0,0,0,.08); }
.blog-post:last-child { border-bottom:none; }
.blog-post__thumb { margin-bottom:16px; overflow:hidden; }
.blog-post__thumb img { width:100%; transition:transform .4s; }
.blog-post:hover .blog-post__thumb img { transform:scale(1.03); }
.blog-post__title { font-size:2.2rem; margin-bottom:10px; }
.blog-post__title a { color:var(--fg-full); }
.blog-post__title a:hover { color:var(--btn-primary); }
.blog-post__meta { font-size:1.2rem; color:var(--fg); margin-bottom:12px; }
.blog-post__excerpt { font-size:1.3rem; color:var(--fg); line-height:1.8; margin-bottom:16px; }
.blog-pagination { margin-top:30px; }
.blog-pagination .nav-links { display:flex; gap:6px; }
.blog-pagination .page-numbers { display:flex; align-items:center; justify-content:center; width:36px; height:36px; border:1px solid rgba(0,0,0,.15); font-size:1.3rem; color:var(--fg-full); transition:var(--transition); }
.blog-pagination .page-numbers.current,.blog-pagination .page-numbers:hover { background:var(--btn-primary); color:#fff; border-color:var(--btn-primary); }

/* Blog sidebar */
.blog-sidebar .widget { margin-bottom:28px; padding-bottom:28px; border-bottom:1px solid rgba(0,0,0,.08); }
.blog-sidebar .widget:last-child { border-bottom:none; }

/* Single post */
.single-post { padding:40px 0 60px; }
.single-post__grid { display:grid; grid-template-columns:1fr 280px; gap:40px; }
.single-post__header { margin-bottom:24px; }
.single-post__title { font-size:3rem; margin-bottom:12px; }
.single-post__meta { font-size:1.2rem; color:var(--fg); }
.single-post__content { font-size:1.4rem; line-height:1.9; color:var(--fg); }
.single-post__content h2,.single-post__content h3 { font-family:var(--head-font); margin:28px 0 12px; color:var(--fg-full); }
.single-post__content p { margin-bottom:16px; }
.single-post__content img { max-width:100%; margin:16px 0; }
.single-post__content blockquote { border-left:3px solid var(--btn-primary); padding:12px 20px; background:var(--card-bg); margin:20px 0; font-style:italic; }
.single-post__content ul,.single-post__content ol { padding-left:22px; margin-bottom:16px; }
.single-post__content ul { list-style:disc; }
.single-post__content ol { list-style:decimal; }

/* ============================================================
   31. ABOUT PAGE
   ============================================================ */
.about-hero { background:var(--dark); padding:80px 0; text-align:center; }
.about-hero h1 { font-size:4rem; color:#fff; }
.about-hero p { color:rgba(255,255,255,.75); font-size:1.6rem; max-width:700px; margin:16px auto 0; line-height:1.8; }
.about-story { padding:60px 0; }
.about-story .content { max-width:800px; }
.about-story p { font-size:1.4rem; color:var(--fg); line-height:1.9; margin-bottom:20px; }
.about-stats { background:var(--card-bg); padding:50px 0; }
.about-stats__grid { display:grid; grid-template-columns:repeat(4,1fr); gap:20px; text-align:center; }
.about-stats__item h3 { font-size:3.6rem; color:var(--btn-primary); }
.about-stats__item p { font-size:1.3rem; color:var(--fg); margin-top:4px; }

/* ============================================================
   32. CONTACT PAGE
   ============================================================ */
.contact-page { padding:60px 0; }
.contact-layout { display:grid; grid-template-columns:1fr 1fr; gap:60px; }
.contact-info h2 { font-size:2.6rem; margin-bottom:24px; }
.contact-info > p { font-size:1.4rem; color:var(--fg); line-height:1.8; margin-bottom:20px; }
.contact-info__item { display:flex; gap:14px; margin-bottom:20px; align-items:flex-start; }
.contact-info__icon { width:40px; height:40px; background:var(--btn-primary); color:#fff; display:flex; align-items:center; justify-content:center; font-size:1.4rem; flex-shrink:0; }
.contact-info__text h4 { font-family:var(--body-font); font-size:1.3rem; font-weight:700; margin-bottom:3px; color:var(--fg-full); }
.contact-info__text p { font-size:1.3rem; color:var(--fg); margin:0; }
.contact-info__text a { color:var(--btn-primary); }
.contact-form-box { background:var(--card-bg); padding:36px; }
.contact-form-box h2 { font-size:2.2rem; margin-bottom:24px; }
.form-group { margin-bottom:18px; }
.form-group label { display:block; font-size:1.2rem; font-weight:700; text-transform:uppercase; letter-spacing:.06em; margin-bottom:6px; color:var(--fg-full); }
.form-group input,.form-group textarea,.form-group select { width:100%; padding:11px 14px; border:1px solid rgba(0,0,0,.15); font-family:var(--body-font); font-size:1.3rem; background:#fff; border-radius:6px; color:var(--fg-full); transition:border-color .2s; }
.form-group input:focus,.form-group textarea:focus,.form-group select:focus { border-color:var(--btn-primary); outline:none; }
.form-group textarea { height:130px; resize:vertical; }
.form-success { background:#d4edda; border:1px solid #c3e6cb; padding:14px 16px; font-size:1.3rem; margin-bottom:20px; border-radius:4px; color:#155724; }
.form-error { background:#fdecea; border:1px solid #f5c6cb; padding:14px 16px; font-size:1.3rem; margin-bottom:20px; border-radius:4px; color:#721c24; }

/* ============================================================
   33. WISHLIST PAGE
   ============================================================ */
.wishlist-page { padding:40px 0 60px; }
.wishlist-empty { text-align:center; padding:80px 0; }
.wishlist-empty p { font-size:1.4rem; color:var(--fg); margin:20px 0 28px; }

/* ============================================================
   34. SEARCH RESULTS PAGE
   ============================================================ */
.search-results-page { padding:40px 0 60px; }
.search-results-page h1 { font-size:2.4rem; margin-bottom:24px; }
.search-results-page h1 span { color:var(--btn-primary); }
.no-results { text-align:center; padding:60px 0; }
.no-results h2 { font-size:2.4rem; margin-bottom:12px; }
.no-results p { font-size:1.4rem; color:var(--fg); margin-bottom:24px; }
.search-results-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:24px; }
.search-result-card { border:1px solid rgba(0,0,0,.08); overflow:hidden; }
.search-result-card img { width:100%; }
.search-result-card__body { padding:16px; }
.search-result-card__title { font-size:1.5rem; margin-bottom:8px; }
.search-result-card__title a { color:var(--fg-full); }
.search-result-card__title a:hover { color:var(--btn-primary); }
.search-result-card__excerpt { font-size:1.3rem; color:var(--fg); line-height:1.7; margin-bottom:12px; }

/* ============================================================
   35. POLICY / STATIC PAGES
   ============================================================ */
.policy-page { padding:40px 0 60px; }
.policy-page .policy-content { max-width:900px; margin:0 auto; font-size:1.4rem; line-height:1.9; color:var(--fg); }
.policy-page .policy-content h2 { font-size:2rem; margin:30px 0 12px; color:var(--fg-full); }
.policy-page .policy-content p { margin-bottom:14px; }
.policy-page .policy-content ul,.policy-page .policy-content ol { padding-left:24px; margin-bottom:16px; }
.policy-page .policy-content ul { list-style:disc; }
.policy-page .policy-content ol { list-style:decimal; }
.policy-page .policy-content strong { color:var(--fg-full); }

/* ============================================================
   36. 404 PAGE
   ============================================================ */
.error-404 { text-align:center; padding:100px 20px; }
.error-404__code { font-family:var(--head-font); font-size:10rem; color:var(--btn-primary); line-height:1; margin-bottom:8px; }
.error-404__title { font-size:3rem; margin-bottom:16px; }
.error-404__text { font-size:1.4rem; color:var(--fg); margin-bottom:32px; }

/* ============================================================
   37. FOOTER
   ============================================================ */
.site-footer { background:var(--dark); color:#fff; padding:50px 0 0; }
.footer__grid { display:grid; grid-template-columns:220px 1fr 1fr 1fr; gap:40px; padding-bottom:40px; }
.footer__logo img { max-width:180px; filter:brightness(2); }
.footer__tagline { font-family:var(--cursive); font-size:1.4rem; color:rgba(255,255,255,.6); margin-top:8px; }
.footer__social { display:flex; gap:10px; margin-top:20px; }
.footer__social-link { width:36px; height:36px; background:rgba(255,255,255,.1); display:flex; align-items:center; justify-content:center; color:rgba(255,255,255,.75); font-size:1.3rem; transition:var(--transition); }
.footer__social-link:hover { background:rgba(255,255,255,.25); color:#fff; }
.footer__block-title { font-family:var(--body-font); font-size:1.3rem; font-weight:700; text-transform:uppercase; letter-spacing:.12em; color:#fff; margin-bottom:18px; display:flex; align-items:center; justify-content:space-between; }
.footer__block-title .caret { transition:transform .25s; font-size:1rem; }
.footer__block.open .caret { transform:rotate(180deg); }
.footer__block-content { display:block; }
.footer__address { font-size:1.3rem; color:rgba(255,255,255,.7); font-style:normal; line-height:1.8; }
.footer__nav li { margin-bottom:8px; }
.footer__nav li a { font-size:1.3rem; color:rgba(255,255,255,.7); transition:var(--transition); }
.footer__nav li a:hover { color:#fff; }
.footer__bottom { border-top:1px solid rgba(255,255,255,.1); padding:16px 0; text-align:center; }
.footer__bottom p { font-size:1.2rem; color:rgba(255,255,255,.4); }

/* ============================================================
   38. TOAST / POPUP / FLOATING BUTTONS
   ============================================================ */
.toast { position:fixed; bottom:24px; left:50%; transform:translateX(-50%) translateY(60px); background:var(--dark); color:#fff; padding:12px 28px; font-size:1.3rem; z-index:9999; transition:all .3s; opacity:0; pointer-events:none; box-shadow:0 4px 16px rgba(0,0,0,.2); white-space:nowrap; }
.toast.show { transform:translateX(-50%) translateY(0); opacity:1; }
.popup-overlay { position:fixed; inset:0; background:rgba(0,0,0,.55); z-index:9000; display:flex; align-items:center; justify-content:center; opacity:0; visibility:hidden; transition:var(--transition); }
.popup-overlay.open { opacity:1; visibility:visible; }
.popup-box { background:#fff; max-width:680px; width:90%; display:grid; grid-template-columns:1fr 1fr; position:relative; overflow:hidden; max-height:90vh; }
.popup-box__img img { width:100%; height:100%; object-fit:cover; display:block; }
.popup-box__content { padding:44px 36px; text-align:center; }
.popup-box__content h2 { font-size:2.4rem; margin-bottom:10px; }
.popup-box__content p { font-size:1.3rem; color:var(--fg); margin-bottom:24px; line-height:1.7; }
.popup-close { position:absolute; top:10px; right:12px; width:28px; height:28px; background:rgba(0,0,0,.07); border:none; border-radius:50%; font-size:1.6rem; display:flex; align-items:center; justify-content:center; z-index:2; }
.newsletter-form { display:flex; flex-direction:column; gap:10px; }
.newsletter-form input { padding:12px 14px; border:1px solid rgba(0,0,0,.2); font-family:var(--body-font); font-size:1.3rem; border-radius:6px; }
.newsletter-form input:focus { border-color:var(--btn-primary); outline:none; }
.wa-float { position:fixed; bottom:24px; right:24px; width:54px; height:54px; background:#25D366; border-radius:50%; display:flex; align-items:center; justify-content:center; color:#fff; font-size:2.2rem; z-index:980; box-shadow:0 4px 16px rgba(37,211,102,.4); text-decoration:none; transition:transform .2s; }
.wa-float:hover { transform:scale(1.08); color:#fff; }
.back-to-top { position:fixed; bottom:88px; right:26px; width:42px; height:42px; background:var(--btn-primary); color:#fff; border:none; z-index:979; display:none; align-items:center; justify-content:center; font-size:1.4rem; }
.back-to-top.show { display:flex; }
.back-to-top:hover { background:var(--btn-hover-bg); color:var(--btn-hover-tx); }

/* ============================================================
   39. WP CORE ALIGNMENT
   ============================================================ */
.alignleft { float:left; margin:0 20px 16px 0; }
.alignright { float:right; margin:0 0 16px 20px; }
.aligncenter { display:block; margin:16px auto; }
.wp-caption { font-size:1.2rem; color:var(--fg); margin-bottom:16px; }
.wp-caption-text { text-align:center; padding-top:6px; }
.screen-reader-text { position:absolute; clip:rect(0,0,0,0); width:1px; height:1px; overflow:hidden; }

/* ============================================================
   40. RESPONSIVE
   ============================================================ */
@media(max-width:1200px){
  .grid-6 { grid-template-columns:repeat(4,1fr); }
  .instagram-grid { grid-template-columns:repeat(4,1fr); }
  .woocommerce ul.products { grid-template-columns:repeat(3,1fr); }
}
@media(max-width:989px){
  .header__nav { display:none; }
  .hamburger { display:flex; }
  .grid-4,.woocommerce ul.products,.product-page { grid-template-columns:repeat(2,1fr); }
  .grid-6 { grid-template-columns:repeat(3,1fr); }
  .shop-layout { grid-template-columns:1fr; }
  .shop-sidebar { display:none; }
  .single-product-layout { grid-template-columns:1fr; gap:24px; }
  .checkout-grid { grid-template-columns:1fr; }
  .account-layout,.woocommerce-account .woocommerce { grid-template-columns:1fr; }
  .footer__grid { grid-template-columns:1fr 1fr; }
  .assurance__grid { grid-template-columns:repeat(2,1fr); }
  .img-with-text { grid-template-columns:1fr; }
  .img-with-text.reverse .img-with-text__media,
  .img-with-text.reverse .img-with-text__content { order:unset; }
  .video-slider__grid { grid-template-columns:repeat(3,1fr); }
  .contact-layout { grid-template-columns:1fr; gap:36px; }
  .about-stats__grid { grid-template-columns:repeat(2,1fr); }
  .blog-grid { grid-template-columns:1fr; }
  .single-post__grid { grid-template-columns:1fr; }
  .popup-box { grid-template-columns:1fr; }
  .popup-box__img { display:none; }
  .order-overview { grid-template-columns:repeat(2,1fr); }
}
@media(max-width:749px){
  html { font-size:56%; }
  .grid-6,.grid-5,.instagram-grid { grid-template-columns:repeat(2,1fr); }
  .grid-4,.woocommerce ul.products,.grid-3 { grid-template-columns:repeat(2,1fr); }
  .footer__grid { grid-template-columns:1fr; }
  .video-slider__grid { grid-template-columns:repeat(2,1fr); }
  .page-hero h1 { font-size:2.6rem; }
  .about-hero h1 { font-size:2.8rem; }
  .search-results-grid { grid-template-columns:1fr; }
  .order-overview { grid-template-columns:1fr 1fr; }
}
@media(max-width:480px){
  .assurance__grid { grid-template-columns:1fr 1fr; }
  .product-page { grid-template-columns:repeat(2,1fr); gap:6px; }
}
