/*
Theme Name: Lumina Shop
Theme URI: https://luminathemes.shop
Author: Lumina Themes
Author URI: https://luminathemes.shop
Description: A fast, flexible & powerful WooCommerce theme for fashion & lifestyle stores. Fully editable homepage sections, live Customizer options, sticky header, mega-ready navigation, sale banners, Instagram feed, testimonials and more — built for luminathemes.shop.
Version: 1.1.2
Requires at least: 6.0
Tested up to: 6.6
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: LICENSE
Text Domain: lumina
Tags: e-commerce, woocommerce, custom-colors, custom-menu, custom-logo, editor-style, featured-images, full-width-template, threaded-comments, translation-ready

Lumina Shop WordPress Theme is released under the terms of GNU GPL v2 or later.
*/

/* =========================================================
   0. CSS VARIABLES (edited live from Customizer, see inc/customizer.php output)
========================================================= */
:root{
	/* Brand colors */
	--lumina-primary: #1a1a1a;
	--lumina-secondary: #4a4a4a;
	--lumina-accent: #c9a15a;

	/* Semantic colors */
	--lumina-success: #2e7d46;
	--lumina-warning: #b7791f;
	--lumina-error: #c0392b;

	/* Text & surfaces */
	--lumina-text: #222222;
	--lumina-text-light: #6f6f6f;
	--lumina-bg: #ffffff;
	--lumina-bg-alt: #f7f5f2;
	--lumina-surface: #ffffff;
	--lumina-border: #e7e4df;

	/* Header / topbar / footer */
	--lumina-header-bg: #ffffff;
	--lumina-header-text: #1a1a1a;
	--lumina-topbar-bg: #1a1a1a;
	--lumina-topbar-text: #ffffff;
	--lumina-footer-bg: #141414;
	--lumina-footer-text: #cfcfcf;

	/* Typography */
	--lumina-font-body: 'Poppins', sans-serif;
	--lumina-font-heading: 'Playfair Display', serif;

	/* Corner radius scale (base value is theme-configurable; sm/lg derive from it) */
	--lumina-radius: 2px;
	--lumina-radius-sm: 2px;
	--lumina-radius-lg: 6px;
	--lumina-radius-pill: 999px;

	/* Spacing scale */
	--space-3xs: 4px;
	--space-2xs: 8px;
	--space-xs: 12px;
	--space-sm: 16px;
	--space-md: 24px;
	--space-lg: 40px;
	--space-xl: 64px;
	--space-2xl: 96px;

	/* Shadow scale */
	--shadow-sm: 0 1px 3px rgba(0,0,0,.06);
	--shadow-md: 0 6px 20px rgba(0,0,0,.08);
	--shadow-lg: 0 16px 40px rgba(0,0,0,.12);
	--shadow-xl: 0 30px 80px rgba(0,0,0,.18);

	/* Motion */
	--ease: cubic-bezier(.4,0,.2,1);
	--transition-fast: 150ms;
	--transition-base: 250ms;
	--transition-slow: 400ms;

	--lumina-container: 1320px;
	--lumina-container-wide: 1600px;
}

/* =========================================================
   1. RESET & BASE
========================================================= */
*,*::before,*::after{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
	margin:0;
	font-family:var(--lumina-font-body);
	color:var(--lumina-text);
	background:var(--lumina-bg);
	font-size:15px;
	line-height:1.7;
	-webkit-font-smoothing:antialiased;
}
img{max-width:100%;height:auto;display:block;}
a{color:inherit;text-decoration:none;transition:color .25s ease, opacity .25s ease;}
ul{list-style:none;margin:0;padding:0;}
h1,h2,h3,h4,h5,h6{font-family:var(--lumina-font-heading);font-weight:600;line-height:1.25;margin:0 0 .5em;color:var(--lumina-text);}
p{margin:0 0 1em;}
button,input,select,textarea{font-family:var(--lumina-font-body);}
.container{max-width:var(--lumina-container);margin:0 auto;padding:0 20px;}
.screen-reader-text{position:absolute!important;clip:rect(1px,1px,1px,1px);overflow:hidden;height:1px;width:1px;}

/* buttons */
.btn{
	display:inline-flex;align-items:center;justify-content:center;gap:8px;
	padding:14px 32px;background:var(--lumina-primary);color:#fff;
	font-size:13px;letter-spacing:1.5px;text-transform:uppercase;font-weight:600;
	border:1px solid var(--lumina-primary);border-radius:var(--lumina-radius);cursor:pointer;
}
.btn:hover{background:transparent;color:var(--lumina-primary);}
.btn-outline{background:transparent;color:var(--lumina-primary);}
.btn-outline:hover{background:var(--lumina-primary);color:#fff;}
.btn-light{background:#fff;color:var(--lumina-primary);border-color:#fff;}
.btn-light:hover{background:transparent;color:#fff;}

/* section heading */
.section-head{text-align:center;max-width:640px;margin:0 auto 44px;}
.section-head .eyebrow{display:block;text-transform:uppercase;letter-spacing:3px;font-size:12px;color:var(--lumina-accent);font-weight:600;margin-bottom:10px;}
.section-head h2{font-size:34px;margin-bottom:10px;}
.section-head p{color:var(--lumina-text-light);margin:0;}
.section{padding:70px 0;}
.section.alt{background:var(--lumina-bg-alt);}

/* =========================================================
   2. TOPBAR / ANNOUNCEMENT BAR
========================================================= */
.lumina-topbar{background:var(--lumina-topbar-bg);color:var(--lumina-topbar-text);font-size:12px;letter-spacing:.5px;}
.lumina-topbar .container{display:flex;align-items:center;justify-content:space-between;padding-top:9px;padding-bottom:9px;}
.lumina-topbar a{color:var(--lumina-topbar-text);opacity:.85;}
.lumina-topbar a:hover{opacity:1;}
.lumina-topbar-marquee{flex:1;overflow:hidden;white-space:nowrap;text-align:center;}
.lumina-topbar-links{display:flex;gap:18px;}

/* =========================================================
   3. HEADER
========================================================= */
.lumina-header{background:var(--lumina-header-bg);color:var(--lumina-header-text);border-bottom:1px solid var(--lumina-border);position:relative;z-index:50;}
.lumina-header.is-sticky{position:sticky;top:0;}
.lumina-header-inner{display:flex;align-items:center;justify-content:space-between;padding:18px 0;gap:24px;}
.lumina-logo{font-family:var(--lumina-font-heading);font-size:26px;font-weight:700;letter-spacing:1px;}
.lumina-logo img{max-height:44px;}
.lumina-main-nav{display:flex;gap:32px;}
.lumina-main-nav > ul{display:flex;gap:32px;}
.lumina-main-nav li{position:relative;}
.lumina-main-nav > ul > li > a{display:block;padding:8px 0;font-size:13px;text-transform:uppercase;letter-spacing:1px;font-weight:600;}
.lumina-main-nav > ul > li > a:hover{color:var(--lumina-accent);}
.lumina-main-nav ul ul{position:absolute;top:100%;left:0;min-width:220px;background:#fff;box-shadow:0 12px 30px rgba(0,0,0,.09);padding:12px 0;opacity:0;visibility:hidden;transform:translateY(8px);transition:.2s ease;}
.lumina-main-nav li:hover > ul{opacity:1;visibility:visible;transform:translateY(0);}
.lumina-main-nav ul ul li a{padding:9px 20px;font-size:13px;text-transform:none;letter-spacing:0;font-weight:400;display:block;}
.lumina-main-nav ul ul li a:hover{background:var(--lumina-bg-alt);color:var(--lumina-accent);}
.lumina-header-icons{display:flex;align-items:center;gap:20px;}
.lumina-header-icons a{position:relative;display:flex;}
.lumina-header-icons svg{width:20px;height:20px;stroke-width:1.6;}
.lumina-cart-count{position:absolute;top:-8px;right:-9px;background:var(--lumina-accent);color:#fff;font-size:10px;width:16px;height:16px;border-radius:50%;display:flex;align-items:center;justify-content:center;}
.lumina-mobile-toggle{display:none;background:none;border:0;cursor:pointer;}
.lumina-mobile-toggle svg{width:26px;height:26px;}

@media(max-width:1024px){
	.lumina-main-nav{display:none;}
	.lumina-mobile-toggle{display:block;}
}

/* mobile drawer */
.lumina-mobile-nav{position:fixed;top:0;left:-320px;width:300px;height:100%;background:#fff;z-index:999;transition:left .3s ease;overflow-y:auto;box-shadow:6px 0 24px rgba(0,0,0,.12);}
.lumina-mobile-nav.is-open{left:0;}
.lumina-mobile-nav-head{display:flex;justify-content:space-between;align-items:center;padding:18px 20px;border-bottom:1px solid var(--lumina-border);}
.lumina-mobile-nav-head svg{width:18px;height:18px;}
.lumina-mobile-nav-head button{background:none;border:0;cursor:pointer;display:flex;}
.lumina-mobile-nav ul li a{display:block;padding:13px 20px;border-bottom:1px solid var(--lumina-border);font-size:14px;}
.lumina-overlay{position:fixed;inset:0;background:rgba(0,0,0,.45);z-index:998;opacity:0;visibility:hidden;transition:.25s;}
.lumina-overlay.is-open{opacity:1;visibility:visible;}

/* =========================================================
   4. HERO SLIDER
========================================================= */
.lumina-hero{position:relative;overflow:hidden;}
.lumina-hero-slide{position:relative;display:flex;align-items:center;min-height:560px;background-size:cover;background-position:center;}
.lumina-hero-slide::before{content:"";position:absolute;inset:0;background:rgba(0,0,0,.15);}
.lumina-hero-content{position:relative;z-index:2;max-width:560px;padding:0 60px;color:#fff;}
.lumina-hero-content.dark{color:var(--lumina-text);}
.lumina-hero-content .eyebrow{display:block;letter-spacing:4px;text-transform:uppercase;font-size:13px;margin-bottom:14px;font-weight:600;}
.lumina-hero-content h1,.lumina-hero-content h2{font-size:52px;margin-bottom:20px;}
.lumina-hero-content p{font-size:16px;margin-bottom:26px;opacity:.9;}
.lumina-hero-dots{position:absolute;bottom:26px;left:50%;transform:translateX(-50%);display:flex;gap:8px;z-index:3;}
.lumina-hero-dots button{width:9px;height:9px;border-radius:50%;border:0;background:rgba(255,255,255,.5);cursor:pointer;padding:0;}
.lumina-hero-dots button.is-active{background:#fff;}
.lumina-hero-arrow{position:absolute;top:50%;transform:translateY(-50%);z-index:3;background:rgba(255,255,255,.85);border:0;width:44px;height:44px;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;}
.lumina-hero-arrow svg{width:18px;height:18px;}
.lumina-hero-arrow.prev{left:24px;}
.lumina-hero-arrow.next{right:24px;}
@media(max-width:768px){
	.lumina-hero-slide{min-height:420px;}
	.lumina-hero-content{padding:0 28px;}
	.lumina-hero-content h1,.lumina-hero-content h2{font-size:32px;}
}

/* =========================================================
   5. PROMO GRID (4 banners)
========================================================= */
.lumina-promo-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;}
.lumina-promo-card{position:relative;border-radius:var(--lumina-radius);overflow:hidden;aspect-ratio:3/4;}
.lumina-promo-card img{width:100%;height:100%;object-fit:cover;transition:transform .5s ease;}
.lumina-promo-card:hover img{transform:scale(1.06);}
.lumina-promo-caption{position:absolute;left:20px;bottom:20px;color:#fff;}
.lumina-promo-caption span{display:block;font-size:12px;letter-spacing:1px;text-transform:uppercase;}
.lumina-promo-caption strong{display:block;font-size:19px;margin:4px 0 6px;font-family:var(--lumina-font-heading);}
.lumina-promo-caption a{font-size:12px;text-decoration:underline;font-weight:600;}
@media(max-width:900px){.lumina-promo-grid{grid-template-columns:repeat(2,1fr);}}

/* =========================================================
   6. PRODUCT CARDS / CAROUSEL
========================================================= */
.lumina-products-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:26px;}
.lumina-product-card{position:relative;}
.lumina-product-thumb{position:relative;overflow:hidden;background:var(--lumina-bg-alt);border-radius:var(--lumina-radius);}
.lumina-product-thumb img{width:100%;aspect-ratio:var(--lumina-product-ratio, 1/1);object-fit:cover;transition:opacity .35s ease, transform .5s ease;}
.lumina-product-thumb img.hover-img{position:absolute;inset:0;opacity:0;}
.lumina-product-card:hover .hover-img{opacity:1;}
.lumina-product-badge{position:absolute;top:12px;left:12px;background:var(--lumina-accent);color:#fff;font-size:11px;padding:4px 10px;border-radius:2px;text-transform:uppercase;letter-spacing:.5px;}
.lumina-product-actions{position:absolute;right:12px;top:12px;display:flex;flex-direction:column;gap:8px;opacity:0;transform:translateX(8px);transition:.25s ease;}
.lumina-product-card:hover .lumina-product-actions{opacity:1;transform:translateX(0);}
.lumina-product-actions button,.lumina-product-actions a{width:36px;height:36px;background:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 12px rgba(0,0,0,.12);border:0;cursor:pointer;}
.lumina-product-actions svg{width:16px;height:16px;}
.lumina-product-title{margin-top:14px;font-size:14px;font-family:var(--lumina-font-body);font-weight:500;}
.lumina-product-title a:hover{color:var(--lumina-accent);}
.lumina-product-price{font-size:14px;color:var(--lumina-accent);font-weight:600;}
.lumina-product-price del{color:var(--lumina-text-light);font-weight:400;margin-right:6px;}
.lumina-add-to-cart{margin-top:10px;}
.lumina-add-to-cart a{display:block;text-align:center;padding:10px;border:1px solid var(--lumina-primary);font-size:12px;text-transform:uppercase;letter-spacing:1px;border-radius:var(--lumina-radius);}
.lumina-add-to-cart a:hover{background:var(--lumina-primary);color:#fff;}
@media(max-width:1024px){.lumina-products-grid{grid-template-columns:repeat(3,1fr);}}
@media(max-width:700px){.lumina-products-grid{grid-template-columns:repeat(2,1fr);gap:16px;}}

/* products carousel controls */
.lumina-carousel{position:relative;}
.lumina-carousel-track{display:flex;gap:26px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;}
.lumina-carousel-track::-webkit-scrollbar{display:none;}
.lumina-carousel-track > *{flex:0 0 280px;scroll-snap-align:start;}
.lumina-carousel-nav{display:flex;gap:10px;justify-content:flex-end;margin-bottom:20px;}
.lumina-carousel-nav button{width:38px;height:38px;border-radius:50%;border:1px solid var(--lumina-border);background:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;}
.lumina-carousel-nav button svg{width:16px;height:16px;}

/* =========================================================
   7. SPLIT BANNER (2 col editorial)
========================================================= */
.lumina-split-banner{display:grid;grid-template-columns:1fr 1fr;gap:24px;}
.lumina-split-card{position:relative;overflow:hidden;border-radius:var(--lumina-radius);min-height:420px;display:flex;align-items:flex-end;background-size:cover;background-position:center;}
.lumina-split-card .lumina-split-inner{padding:36px;color:#fff;position:relative;z-index:2;}
.lumina-split-card::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(0,0,0,.55),transparent 60%);}
.lumina-split-inner h3{font-size:26px;color:#fff;margin-bottom:6px;}
.lumina-split-inner p{color:#fff;opacity:.9;margin-bottom:14px;}
@media(max-width:768px){.lumina-split-banner{grid-template-columns:1fr;}}

/* =========================================================
   8. FULL WIDTH BANNER
========================================================= */
.lumina-full-banner{position:relative;min-height:420px;display:flex;align-items:center;justify-content:center;text-align:center;background-size:cover;background-position:center;color:#fff;}
.lumina-full-banner::before{content:"";position:absolute;inset:0;background:rgba(0,0,0,.35);}
.lumina-full-banner-inner{position:relative;z-index:2;}
.lumina-full-banner-inner h2{color:#fff;font-size:42px;}

/* =========================================================
   9. MARQUEE STRIP
========================================================= */
.lumina-marquee{background:var(--lumina-primary);color:#fff;overflow:hidden;padding:14px 0;}
.lumina-marquee-track{display:flex;gap:60px;white-space:nowrap;animation:lumina-marquee 26s linear infinite;width:max-content;}
.lumina-marquee-track span{font-size:13px;letter-spacing:1px;text-transform:uppercase;}
@keyframes lumina-marquee{from{transform:translateX(0);}to{transform:translateX(-50%);}}

/* =========================================================
   10. BRAND LOGOS
========================================================= */
.lumina-brands{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:30px;}
.lumina-brands img{max-height:40px;width:auto;opacity:.55;filter:grayscale(1);transition:.25s;}
.lumina-brands img:hover{opacity:1;filter:none;}

/* =========================================================
   11. SALE / NEWSLETTER BANNER
========================================================= */
.lumina-sale-banner{background:var(--lumina-bg-alt);border-radius:var(--lumina-radius);display:grid;grid-template-columns:1fr 1fr;align-items:center;overflow:hidden;}
.lumina-sale-content{padding:60px;}
.lumina-sale-content .code{display:inline-block;background:var(--lumina-primary);color:#fff;padding:6px 16px;font-size:12px;letter-spacing:1px;border-radius:2px;margin-bottom:16px;}
.lumina-sale-content h2{font-size:34px;}
.lumina-sale-image img{width:100%;height:100%;object-fit:cover;}
@media(max-width:768px){.lumina-sale-banner{grid-template-columns:1fr;}.lumina-sale-content{padding:36px;}}

/* =========================================================
   12. INSTAGRAM
========================================================= */
.lumina-instagram-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:14px;}
.lumina-instagram-grid a{position:relative;display:block;aspect-ratio:1/1;overflow:hidden;border-radius:var(--lumina-radius);}
.lumina-instagram-grid img{width:100%;height:100%;object-fit:cover;transition:transform .4s ease;}
.lumina-instagram-grid a:hover img{transform:scale(1.08);}
@media(max-width:900px){.lumina-instagram-grid{grid-template-columns:repeat(3,1fr);}}

/* =========================================================
   13. TESTIMONIALS
========================================================= */
.lumina-testimonials{display:grid;grid-template-columns:repeat(3,1fr);gap:30px;}
.lumina-testimonial-card{background:#fff;border:1px solid var(--lumina-border);border-radius:var(--lumina-radius);padding:32px;text-align:center;}
.lumina-testimonial-card img{width:64px;height:64px;border-radius:50%;object-fit:cover;margin:0 auto 16px;}
.lumina-testimonial-card .stars{color:var(--lumina-accent);margin-bottom:12px;font-size:14px;}
.lumina-testimonial-card h4{font-size:14px;text-transform:uppercase;letter-spacing:1px;margin-top:16px;}
@media(max-width:900px){.lumina-testimonials{grid-template-columns:1fr;}}

/* =========================================================
   14. BLOG SECTION
========================================================= */
.lumina-blog-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:30px;}
.lumina-blog-card img{border-radius:var(--lumina-radius);aspect-ratio:16/11;object-fit:cover;margin-bottom:18px;}
.lumina-blog-meta{font-size:12px;color:var(--lumina-text-light);text-transform:uppercase;letter-spacing:.5px;margin-bottom:8px;}
.lumina-blog-card h3{font-size:18px;}
.lumina-blog-card h3 a:hover{color:var(--lumina-accent);}
@media(max-width:900px){.lumina-blog-grid{grid-template-columns:1fr;}}

/* =========================================================
   15. FOOTER
========================================================= */
.lumina-footer{background:var(--lumina-footer-bg);color:var(--lumina-footer-text);padding-top:70px;}
.lumina-footer a{color:var(--lumina-footer-text);}
.lumina-footer a:hover{color:#fff;}
.lumina-footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1.4fr;gap:40px;padding-bottom:50px;border-bottom:1px solid rgba(255,255,255,.1);}
.lumina-footer-grid h4{color:#fff;font-size:14px;text-transform:uppercase;letter-spacing:1px;margin-bottom:22px;}
.lumina-footer-grid li{margin-bottom:12px;font-size:13.5px;}
.lumina-footer-newsletter form{display:flex;border-bottom:1px solid rgba(255,255,255,.3);padding-bottom:10px;margin:16px 0;}
.lumina-footer-newsletter input{flex:1;background:none;border:0;color:#fff;padding:8px 0;font-size:13px;}
.lumina-footer-newsletter button{background:none;border:0;color:#fff;cursor:pointer;text-transform:uppercase;font-size:12px;letter-spacing:1px;}
.lumina-social{display:flex;gap:14px;margin-top:16px;}
.lumina-social a{width:34px;height:34px;border:1px solid rgba(255,255,255,.25);border-radius:50%;display:flex;align-items:center;justify-content:center;}
.lumina-social svg{width:15px;height:15px;}
.lumina-footer-bottom{display:flex;justify-content:space-between;align-items:center;padding:24px 0;font-size:12.5px;flex-wrap:wrap;gap:12px;}
.lumina-payment-icons{display:flex;gap:8px;}
.lumina-payment-icons span{border:1px solid rgba(255,255,255,.2);border-radius:3px;padding:3px 8px;font-size:11px;}
@media(max-width:900px){.lumina-footer-grid{grid-template-columns:1fr 1fr;}}
@media(max-width:600px){.lumina-footer-grid{grid-template-columns:1fr;}}

/* =========================================================
   16. NEWSLETTER POPUP
========================================================= */
.lumina-popup-overlay{position:fixed;inset:0;background:rgba(0,0,0,.6);z-index:9998;display:none;align-items:center;justify-content:center;}
.lumina-popup-overlay.is-open{display:flex;}
.lumina-popup{background:#fff;max-width:760px;width:92%;display:grid;grid-template-columns:1fr 1fr;position:relative;border-radius:var(--lumina-radius);overflow:hidden;}
.lumina-popup img{height:100%;object-fit:cover;}
.lumina-popup-content{padding:44px;text-align:center;}
.lumina-popup-close{position:absolute;top:14px;right:14px;background:none;border:0;cursor:pointer;z-index:2;display:flex;}
.lumina-popup-close svg{width:18px;height:18px;}
@media(max-width:600px){.lumina-popup{grid-template-columns:1fr;}.lumina-popup img{display:none;}}

/* =========================================================
   17. WOOCOMMERCE OVERRIDES
========================================================= */
.woocommerce ul.products{display:grid;grid-template-columns:repeat(4,1fr);gap:26px;list-style:none;}
.woocommerce ul.products li.product{margin:0;}
.woocommerce span.onsale{left:12px;top:12px;right:auto;background:var(--lumina-accent);border-radius:2px;min-height:auto;min-width:auto;padding:4px 10px;font-size:11px;line-height:1;}
.woocommerce div.product p.price{color:var(--lumina-accent);font-size:14px;}
.woocommerce #respond input#submit, .woocommerce a.button, .woocommerce button.button, .woocommerce input.button{
	background:var(--lumina-primary);color:#fff;border-radius:var(--lumina-radius);padding:13px 30px;font-size:13px;text-transform:uppercase;letter-spacing:1px;border:1px solid var(--lumina-primary);
}
.woocommerce #respond input#submit:hover, .woocommerce a.button:hover, .woocommerce button.button:hover{background:transparent;color:var(--lumina-primary);}
.woocommerce-page .lumina-shop-toolbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:30px;flex-wrap:wrap;gap:12px;}
@media(max-width:1024px){.woocommerce ul.products{grid-template-columns:repeat(3,1fr);}}
@media(max-width:700px){.woocommerce ul.products{grid-template-columns:repeat(2,1fr);gap:16px;}}

/* ---- Breadcrumb ---- */
.woocommerce-breadcrumb{font-size:12.5px;color:var(--lumina-text-light);margin-bottom:24px;}
.woocommerce-breadcrumb a{color:var(--lumina-text-light);text-decoration:underline;}

/* ---- Notices (replaces WC's own default notice styling) ---- */
.woocommerce-message,.woocommerce-error,.woocommerce-info,.woocommerce-notice{
	list-style:none;padding:16px 20px;margin:0 0 24px;border-radius:var(--lumina-radius);
	background:var(--lumina-bg-alt);border:1px solid var(--lumina-border);border-left:4px solid var(--lumina-primary);
	display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;font-size:13.5px;
}
.woocommerce-message{border-left-color:var(--lumina-success);}
.woocommerce-error{border-left-color:var(--lumina-error);}
.woocommerce-message .button,.woocommerce-error .button{margin:0;}
.woocommerce-error li,.woocommerce-message li,.woocommerce-info li{list-style:none;}

/* ---- Generic form fields used throughout WooCommerce ---- */
.woocommerce form .form-row{margin-bottom:16px;}
.woocommerce form .form-row label{display:block;font-size:12.5px;margin-bottom:6px;text-transform:uppercase;letter-spacing:.5px;color:var(--lumina-text-light);}
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce table.shop_table select,
.woocommerce form .form-row select{
	width:100%;padding:12px 14px;border:1px solid var(--lumina-border);border-radius:var(--lumina-radius);
	font-size:13.5px;background:#fff;color:var(--lumina-text);
}
.woocommerce form .form-row input.input-text:focus,
.woocommerce form .form-row textarea:focus,
.woocommerce form .form-row select:focus{outline:none;border-color:var(--lumina-primary);}
.woocommerce-input-wrapper{display:block;}
.select2-container .select2-selection--single{height:46px!important;border:1px solid var(--lumina-border)!important;border-radius:var(--lumina-radius)!important;padding:8px 14px!important;}

/* ---- Quantity stepper ---- */
.quantity{display:inline-flex;border:1px solid var(--lumina-border);border-radius:var(--lumina-radius);overflow:hidden;}
.quantity .qty{width:56px;border:0;text-align:center;padding:12px 6px;font-size:13.5px;-moz-appearance:textfield;}
.quantity .qty::-webkit-outer-spin-button,.quantity .qty::-webkit-inner-spin-button{-webkit-appearance:none;margin:0;}

/* ---- Star rating (replaces WC's font-icon based .star-rating) ---- */
.star-rating{overflow:hidden;position:relative;height:1em;line-height:1em;width:5.4em;font-size:13px;color:var(--lumina-accent);}
.star-rating::before{content:"\2606\2606\2606\2606\2606";letter-spacing:.2em;color:var(--lumina-border);position:absolute;left:0;top:0;}
.star-rating span{overflow:hidden;float:left;top:0;left:0;position:absolute;height:100%;}
.star-rating span::before{content:"\2605\2605\2605\2605\2605";letter-spacing:.2em;color:var(--lumina-accent);position:absolute;left:0;top:0;}

/* ---- Tables (cart, checkout review, order details, account orders) ---- */
.woocommerce table.shop_table{width:100%;border-collapse:collapse;margin-bottom:24px;}
.woocommerce table.shop_table th{text-align:left;font-size:11.5px;text-transform:uppercase;letter-spacing:.5px;padding:14px;border-bottom:2px solid var(--lumina-border);color:var(--lumina-text-light);}
.woocommerce table.shop_table td{padding:16px 14px;border-bottom:1px solid var(--lumina-border);font-size:13.5px;vertical-align:middle;}
.woocommerce table.shop_table td.product-thumbnail img{width:64px;border-radius:var(--lumina-radius);}
.woocommerce table.shop_table td.product-remove a.remove{color:var(--lumina-error);font-size:18px;text-decoration:none;}

/* ---- Cart page ---- */
.woocommerce-cart-form{margin-bottom:30px;}
.cart-collaterals{display:grid;grid-template-columns:1fr 380px;gap:40px;align-items:start;}
.cart_totals{background:var(--lumina-bg-alt);padding:28px;border-radius:var(--lumina-radius);}
.cart_totals h2{font-size:18px;margin-bottom:18px;}
.cart_totals table{width:100%;}
.cart_totals table th{text-align:left;font-weight:500;color:var(--lumina-text-light);padding:10px 0;font-size:13px;}
.cart_totals table td{text-align:right;padding:10px 0;font-size:13.5px;}
.cart_totals .order-total td,.cart_totals .order-total th{font-weight:700;font-size:16px;border-top:1px solid var(--lumina-border);padding-top:16px;}
.wc-proceed-to-checkout a.checkout-button{display:block;text-align:center;width:100%;margin-top:16px;}
.woocommerce-shipping-calculator{margin-top:14px;font-size:13px;}
@media(max-width:900px){.cart-collaterals{grid-template-columns:1fr;}}

/* ---- Checkout page ---- */
.woocommerce-checkout h3{font-size:19px;margin:30px 0 18px;}
#customer_details{display:grid;grid-template-columns:1fr 1fr;gap:0 30px;}
#order_review{background:var(--lumina-bg-alt);padding:28px;border-radius:var(--lumina-radius);}
.woocommerce-checkout-review-order-table{background:none;}
.woocommerce-checkout-review-order-table th,.woocommerce-checkout-review-order-table td{border-color:rgba(0,0,0,.08);}
.wc_payment_methods{list-style:none;margin:18px 0;padding:0;}
.wc_payment_methods li{border:1px solid var(--lumina-border);border-radius:var(--lumina-radius);padding:14px;margin-bottom:10px;background:#fff;}
.payment_box{padding-top:12px;font-size:13px;color:var(--lumina-text-light);}
#place_order{width:100%;}
@media(max-width:900px){#customer_details{grid-template-columns:1fr;}}

/* ---- My Account ---- */
.woocommerce-MyAccount-navigation ul{border:1px solid var(--lumina-border);border-radius:var(--lumina-radius);overflow:hidden;}
.woocommerce-MyAccount-navigation li{border-bottom:1px solid var(--lumina-border);}
.woocommerce-MyAccount-navigation li:last-child{border-bottom:0;}
.woocommerce-MyAccount-navigation li a{display:block;padding:13px 18px;font-size:13.5px;}
.woocommerce-MyAccount-navigation li.is-active a{background:var(--lumina-primary);color:#fff;}
.woocommerce-MyAccount-content{margin-top:20px;}
.woocommerce-account .woocommerce{display:grid;grid-template-columns:220px 1fr;gap:40px;align-items:start;}
@media(max-width:800px){.woocommerce-account .woocommerce{grid-template-columns:1fr;}}

/* ---- Single product: tabs, meta, variations ---- */
.woocommerce-tabs ul.tabs{display:flex;gap:6px;border-bottom:1px solid var(--lumina-border);list-style:none;margin:40px 0 0;flex-wrap:wrap;}
.woocommerce-tabs ul.tabs li{margin:0;}
.woocommerce-tabs ul.tabs li a{display:block;padding:14px 20px;font-size:13px;text-transform:uppercase;letter-spacing:.5px;}
.woocommerce-tabs ul.tabs li.active{border-bottom:2px solid var(--lumina-primary);}
.woocommerce-tabs ul.tabs li.active a{color:var(--lumina-primary);font-weight:600;}
.woocommerce-tabs .panel{padding:28px 0;max-width:760px;line-height:1.8;}
.woocommerce-tabs table.shop_attributes{width:100%;}
.woocommerce-tabs table.shop_attributes th{width:200px;background:var(--lumina-bg-alt);font-weight:500;}
.product_meta{margin-top:20px;font-size:13px;color:var(--lumina-text-light);}
.product_meta > span{display:block;margin-bottom:6px;}
table.variations{width:100%;margin:20px 0;}
table.variations td{padding:8px 0;}
table.variations select{max-width:280px;}
.woocommerce-variation-price{margin:10px 0;font-size:18px;color:var(--lumina-accent);font-weight:600;}
.reset_variations{font-size:12px;text-decoration:underline;margin-left:10px;}
.woocommerce-variation-add-to-cart{margin-top:16px;}
.related.products{margin-top:60px;padding-top:50px;border-top:1px solid var(--lumina-border);}
.related.products > h2{font-size:26px;margin-bottom:30px;}

/* ---- Pagination ---- */
.woocommerce-pagination ul.page-numbers,.pagination{display:flex;gap:8px;list-style:none;justify-content:center;margin:40px 0 0;}
.woocommerce-pagination .page-numbers li{display:inline;}
.woocommerce-pagination a.page-numbers,.woocommerce-pagination span.page-numbers{
	display:flex;align-items:center;justify-content:center;width:38px;height:38px;
	border:1px solid var(--lumina-border);border-radius:50%;font-size:13px;
}
.woocommerce-pagination span.page-numbers.current{background:var(--lumina-primary);color:#fff;border-color:var(--lumina-primary);}

/* =========================================================
   18. RESPONSIVE HELPERS
========================================================= */
@media(max-width:768px){
	.section{padding:44px 0;}
	.section-head h2{font-size:26px;}
	.lumina-full-banner-inner h2{font-size:28px;}
}
