*{margin:0;padding:0;box-sizing:border-box}
body{font-family:Inter,Arial,sans-serif;background:#111;color:#fff;line-height:1.6}
a{color:inherit}
header{position:sticky;top:0;background:#111;padding:20px 8%;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;column-gap:20px;border-bottom:1px solid #222}
nav{justify-self:center;display:flex;align-items:center}
.header-actions{justify-self:end}
nav a{color:#ddd;text-decoration:none;margin:0 15px;font-size:.95rem;transition:color .2s;position:relative;padding-bottom:4px}
nav a:hover{color:#fff}
nav a.active{color:#fff}
nav a.active::after{content:"";position:absolute;left:0;right:0;bottom:-6px;height:2px;background:#7c3aed;border-radius:2px}
button,.primary,.secondary{padding:12px 22px;border-radius:10px;text-decoration:none;border:none;cursor:pointer;font-size:.95rem}
button,.primary{background:#7c3aed;color:#fff;transition:background .2s,transform .2s}
.primary:hover{background:#6d28d9}
.secondary{border:1px solid #666;color:#fff;background:transparent;transition:border-color .2s,background .2s}
.secondary:hover{border-color:#aaa;background:#1c1c1c}
.hero{display:grid;grid-template-columns:1fr 1fr;gap:40px;padding:80px 8%;align-items:center;min-height:90vh}
.hero h1{font-size:clamp(2.2rem,6vw,4rem);margin-bottom:20px;line-height:1.05}
.hero p{max-width:500px;color:#bbb;margin-bottom:30px}
.placeholder{border:2px dashed #555;border-radius:18px;height:280px;display:flex;align-items:center;justify-content:center;color:#888}
.large{height:400px}
.features,.product,#gallery{padding:80px 8%}
.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:20px;margin-top:30px}
.card{background:#181818;padding:25px;border-radius:16px;border:1px solid #2b2b2b;transition:.3s}
.card:hover{transform:translateY(-5px)}
.product{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(280px,0.8fr);gap:40px;align-items:center}
.product > div{display:flex;flex-direction:column;justify-content:center}
.gallery{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:20px;margin-top:30px}
footer{text-align:center;padding:60px 8%;background:#0b0b0b;color:#999}
footer .footer-links{display:flex;justify-content:center;gap:22px;flex-wrap:wrap;margin:16px 0;font-size:.88rem}
footer .footer-links a{color:#999;text-decoration:none}
footer .footer-links a:hover{color:#fff}
@media(max-width:800px){.hero,.product{grid-template-columns:1fr}.hero h1{font-size:2.5rem}header{flex-wrap:wrap}}

.site-img{width:100%;height:500px;object-fit:cover;border-radius:18px;display:block}
.large-img{height:480px;width:100%;max-width:700px;object-fit:cover;justify-self:start}

.logo-img{height:130px;display:block;object-fit:contain}
.site-logo{height:65px;width:auto;display:block;object-fit:contain}
.footer-logo{height:80px;width:auto;display:block;object-fit:contain;margin:0 auto 18px}
.logo{height:100%;overflow:visible;display:flex;align-items:center}
header{height:90px;overflow:visible;z-index:1000;position:sticky;top:0}
.product .secondary,.product .primary,a.secondary,a.primary{width:max-content}
.carousel{position:relative;display:flex;align-items:center;justify-content:center}
.arrow{position:absolute;top:50%;transform:translateY(-50%);width:42px;height:42px;border-radius:50%;background:#222;color:#fff;border:1px solid #555;z-index:5;display:flex;align-items:center;justify-content:center;padding:0;line-height:1;font-size:1rem;cursor:pointer}
.arrow.left{left:10px}.arrow.right{right:10px}

.hero-image{display:flex;justify-content:center;align-items:center;overflow:hidden}
.hero-image img{margin-top:0!important;display:block}
.hero{padding-top:40px}
.hero-chips{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:26px}
.hero-chips span{border:1px solid #333;color:#ccc;padding:7px 14px;border-radius:999px;font-size:.82rem;background:#181818}

/* ===== Header actions (language / search) ===== */
.header-actions{display:flex;align-items:center;gap:6px}
.icon-btn{background:transparent;border:none;color:#eee;padding:9px;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background .2s;position:relative}
.icon-btn:hover{background:#222}
.lang-dropdown{position:relative}
.lang-toggle{background:transparent;border:1px solid #333;color:#eee;padding:9px 14px;border-radius:20px;display:flex;align-items:center;gap:8px;cursor:pointer;font-size:.9rem;transition:background .2s,border-color .2s}
.lang-toggle:hover{background:#1c1c1c;border-color:#555}
.lang-menu{position:absolute;top:calc(100% + 10px);right:0;background:#161616;border:1px solid #2b2b2b;border-radius:12px;min-width:150px;padding:6px;display:none;flex-direction:column;gap:2px;box-shadow:0 10px 30px rgba(0,0,0,.5);z-index:1100}
.lang-menu.open{display:flex}
.lang-menu button{background:transparent;border:none;color:#ddd;text-align:left;padding:10px 12px;border-radius:8px;cursor:pointer;font-size:.9rem;text-decoration:none;display:block}
.lang-menu button:hover{background:#242424;color:#fff}
.lang-menu button.active{color:#a78bfa;font-weight:600}
.overlay-bg{position:fixed;inset:0;background:rgba(0,0,0,.6);opacity:0;visibility:hidden;transition:opacity .25s;z-index:1200}
.overlay-bg.show{opacity:1;visibility:visible}

/* Search overlay */
.search-overlay{position:fixed;top:0;left:0;right:0;background:#111;border-bottom:1px solid #2b2b2b;padding:24px 8%;transform:translateY(-100%);transition:transform .25s;z-index:1300}
.search-overlay.open{transform:translateY(0)}
.search-box{display:flex;align-items:center;gap:12px;border:1px solid #333;border-radius:12px;padding:12px 16px;color:#888}
.search-box input{flex:1;background:transparent;border:none;outline:none;color:#fff;font-size:1rem}
.search-box #searchClose{background:transparent;border:none;color:#aaa;font-size:1.4rem;cursor:pointer;line-height:1}
.search-results{max-width:900px;margin:14px auto 0;color:#aaa;font-size:.9rem}
.search-results .result-item{padding:10px 4px;border-bottom:1px solid #222;cursor:pointer}
.search-results .result-item:hover{color:#fff}

.product-buttons{display:flex;gap:12px;flex-wrap:wrap;margin-top:10px}

/* Scroll reveal (used across index/products/product pages) */
.reveal{opacity:0;transform:translateY(22px);transition:opacity .7s ease,transform .7s ease}
.reveal.is-visible{opacity:1;transform:translateY(0)}
.pc-lede{color:#999;font-size:.85rem;margin:4px 0 2px;line-height:1.4}

/* Hero load-in (plays once on page load, not scroll-triggered) */
.hero-in{opacity:0;transform:translateY(18px);animation:heroIn .8s ease forwards}
@keyframes heroIn{to{opacity:1;transform:translateY(0)}}
@media (prefers-reduced-motion: reduce){
.reveal{opacity:1!important;transform:none!important;transition:none!important}
.hero-in{opacity:1!important;transform:none!important;animation:none!important}
}

/* =========================================================
   BREADCRUMB + PAGE TITLE BAR (collection / gallery / manuals)
========================================================= */
.breadcrumb{padding:16px 8% 0;font-size:.85rem;color:#888}
.breadcrumb a{color:#888;text-decoration:none}
.breadcrumb a:hover{color:#fff}
.breadcrumb span{color:#555;margin:0 6px}
.page-title-bar{padding:30px 8% 34px;background:linear-gradient(180deg,#181022,#111);border-bottom:1px solid #222}
.page-title-bar h1{font-size:3rem}
.page-title-bar p{color:#aaa;margin-top:10px;max-width:600px}

/* =========================================================
   COLLECTION / FILTER BAR / PRODUCT GRID (products.html)
========================================================= */
.filter-bar{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:16px;padding:22px 8%;border-bottom:1px solid #222}
.filter-left,.filter-right{display:flex;align-items:center;gap:14px;flex-wrap:wrap}
.filter-label{color:#888;font-size:.9rem}
.pill-select{background:#181818;border:1px solid #2b2b2b;color:#eee;padding:9px 14px;border-radius:10px;font-size:.88rem;cursor:pointer}
.pill-select:focus{outline:1px solid #7c3aed}
.result-count{color:#888;font-size:.88rem;white-space:nowrap}

.collection-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:26px;padding:36px 8% 90px}
.product-card{background:#161616;border:1px solid #2b2b2b;border-radius:18px;overflow:hidden;text-decoration:none;color:#fff;display:block;transition:transform .25s,border-color .25s;position:relative}
.product-card:hover{transform:translateY(-6px);border-color:#7c3aed}
.product-card .pc-img-wrap{background:#fff;aspect-ratio:1/1;display:flex;align-items:center;justify-content:center;overflow:hidden}
.product-card img{width:100%;height:100%;object-fit:cover}
.product-card .pc-body{padding:18px 20px 22px}
.product-card .pc-title{font-size:1.05rem;font-weight:600;margin-bottom:6px}
.product-card .pc-price{color:#a78bfa;font-weight:600}
.product-card .pc-tag{color:#888;font-size:.8rem;margin-top:4px}
.badge{position:absolute;top:14px;right:14px;background:#111;border:1px solid #333;color:#fff;font-size:.72rem;padding:6px 12px;border-radius:20px;letter-spacing:.02em}
.badge.soldout{background:#2b2b2b}
.badge.new{background:#7c3aed;border-color:#7c3aed}
.product-card.disabled{opacity:.55;pointer-events:none}
.coming-soon-card{border-style:dashed;display:flex;align-items:center;justify-content:center;min-height:280px;color:#666;text-align:center;padding:30px}

/* =========================================================
   PRODUCT DETAIL PAGE EXTRAS
========================================================= */
.thumb-row{display:flex;gap:12px;margin-top:14px;justify-content:center}
.thumb-row img{width:64px;height:64px;object-fit:cover;border-radius:10px;border:2px solid transparent;cursor:pointer;background:#fff;opacity:.65;transition:.2s}
.thumb-row img:hover{opacity:1}
.thumb-row img.active{border-color:#7c3aed;opacity:1}
.product-tags{display:flex;gap:8px;margin-bottom:14px;flex-wrap:wrap}
.tag{font-size:.75rem;border:1px solid #333;color:#aaa;padding:5px 10px;border-radius:16px}
.qty-row{display:flex;align-items:center;gap:14px;margin:18px 0}
.qty-box{display:flex;align-items:center;border:1px solid #333;border-radius:10px;overflow:hidden}
.qty-box button{background:#181818;border:none;color:#fff;width:38px;height:40px;font-size:1.1rem;cursor:pointer}
.qty-box span{width:40px;text-align:center;display:inline-block}
.tabs{display:flex;gap:10px;margin-top:40px;border-bottom:1px solid #2b2b2b}
.tab-btn{background:transparent;border:none;color:#888;padding:12px 4px;cursor:pointer;font-size:.95rem;border-bottom:2px solid transparent;margin-right:24px;border-radius:0}
.tab-btn.active{color:#fff;border-color:#7c3aed}
.tab-panel{display:none;padding:24px 0;color:#bbb;max-width:720px}
.tab-panel.active{display:block}
.related{padding:70px 8% 90px}
.related h2{margin-bottom:8px}

/* =========================================================
   GALLERY PAGE
========================================================= */
.gallery-page-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:20px;padding:40px 8% 90px}
.gallery-page-grid figure{margin:0;border-radius:18px;overflow:hidden;cursor:zoom-in;position:relative;background:#181818;border:1px solid #2b2b2b}
.gallery-page-grid img{width:100%;height:280px;object-fit:cover;display:block;transition:transform .35s}
.gallery-page-grid figure:hover img{transform:scale(1.06)}
.gallery-page-grid figcaption{position:absolute;left:0;right:0;bottom:0;padding:10px 14px;background:linear-gradient(0deg,rgba(0,0,0,.75),transparent);font-size:.82rem;color:#eee}
.lightbox{position:fixed;inset:0;background:rgba(0,0,0,.9);display:none;align-items:center;justify-content:center;z-index:1500;padding:5%}
.lightbox.open{display:flex}
.lightbox img{max-width:100%;max-height:85vh;border-radius:14px}
.lightbox-close{position:absolute;top:24px;right:5%;background:transparent;border:none;color:#fff;font-size:2rem;cursor:pointer}
.lightbox-nav{position:absolute;top:50%;transform:translateY(-50%);background:rgba(255,255,255,.08);border:1px solid #444;color:#fff;width:46px;height:46px;border-radius:50%;font-size:1.2rem;cursor:pointer}
.lightbox-nav.lb-left{left:4%}.lightbox-nav.lb-right{right:4%}

/* =========================================================
   MANUALS PAGE
========================================================= */
.manuals-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:22px;padding:36px 8% 20px}
.manual-card{background:#161616;border:1px solid #2b2b2b;border-radius:16px;padding:24px;display:flex;flex-direction:column;gap:10px}
.manual-icon{width:44px;height:44px;border-radius:12px;background:#221733;display:flex;align-items:center;justify-content:center;color:#a78bfa}
.manual-card h3{font-size:1.05rem}
.manual-card p{color:#999;font-size:.88rem}
.manual-card a.dl{margin-top:auto;color:#a78bfa;text-decoration:none;font-size:.9rem;font-weight:600}
.manual-card a.dl:hover{text-decoration:underline}

.video-section{padding:20px 8% 90px}
.video-section h2{margin-bottom:8px}
.video-section > p{color:#999;margin-bottom:26px;max-width:640px}
.video-wrap{position:relative;max-width:900px;margin:0 auto;border-radius:20px;overflow:hidden;background:#000;border:1px solid #2b2b2b}
.video-wrap img{width:100%;display:block;opacity:.55}
.play-btn{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:84px;height:84px;border-radius:50%;background:#7c3aed;color:#fff;border:none;display:flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:0 0 0 12px rgba(124,58,237,.15);transition:transform .2s}
.play-btn:hover{transform:translate(-50%,-50%) scale(1.06)}
.video-wrap iframe,.video-wrap video{width:100%;aspect-ratio:16/9;display:block;border:none}
.video-caption{text-align:center;color:#888;font-size:.85rem;margin-top:14px}

/* =========================================================
   HOME PAGE EXTRAS
========================================================= */
.brand-strip{padding:26px 8%;border-top:1px solid #1e1e1e;border-bottom:1px solid #1e1e1e;display:flex;gap:40px;justify-content:center;flex-wrap:wrap;color:#666;font-size:.85rem;letter-spacing:.06em;text-transform:uppercase}
.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:20px;padding:70px 8%;text-align:center}
.stats .stat h3{font-size:2.6rem;color:#a78bfa}
.stats .stat p{color:#999;margin-top:6px;font-size:.9rem}
.bestseller{padding:80px 8%;background:#141018;border-top:1px solid #221733;border-bottom:1px solid #221733}
.bestseller .eyebrow{color:#a78bfa;text-transform:uppercase;letter-spacing:.08em;font-size:.8rem;margin-bottom:10px}
.testimonials{padding:80px 8%}
.testimonials .grid{margin-top:34px}
.testimonial{background:#181818;border:1px solid #2b2b2b;border-radius:16px;padding:26px}
.testimonial .stars{color:#a78bfa;margin-bottom:12px;letter-spacing:2px}
.testimonial p.quote{color:#ccc;font-size:.94rem;margin-bottom:14px}
.testimonial .who{color:#888;font-size:.85rem}
.cta-banner{margin:0 8% 90px;padding:60px 8%;border-radius:28px;background:radial-gradient(circle at 30% 30%,#3a1f66,#151022 70%);border:1px solid #2b2144;text-align:center}
.cta-banner h2{font-size:2.3rem;margin-bottom:14px}
.cta-banner p{color:#bbb;max-width:520px;margin:0 auto 26px}
.section-head{display:flex;justify-content:space-between;align-items:flex-end;flex-wrap:wrap;gap:10px}
.section-head a{color:#a78bfa;text-decoration:none;font-size:.9rem;font-weight:600}
.section-head a:hover{text-decoration:underline}

/* =========================================================
   RATINGS
========================================================= */
.rating-line{display:inline-flex;align-items:center;gap:8px;font-size:.92rem;color:#999}
.stars-static{position:relative;display:inline-block;color:#3a3a3a;letter-spacing:2px;font-size:1.12rem;line-height:1}
.stars-static::before{content:"★★★★★";position:absolute;left:0;top:0;width:var(--pct,0%);overflow:hidden;color:#a78bfa;white-space:nowrap}
.rating-num{color:#ddd;font-weight:600}
.rating-widget-block{margin-top:26px;padding-top:22px;border-top:1px solid #2b2b2b}
.rating-widget-block h3{font-size:1.5rem;margin-bottom:18px}
.rate-stars{display:inline-flex;gap:10px;font-size:3rem;line-height:1}
.rate-stars button{background:transparent;border:none;padding:0;color:#3a3a3a;cursor:pointer;transition:color .15s,transform .15s}
.rate-stars button:hover,.rate-stars button.hovered{transform:scale(1.12)}
.rate-stars button.filled{color:#a78bfa}
.rate-msg{margin-top:14px;color:#a78bfa;font-size:1.15rem;font-style:italic;min-height:1.2em}

/* =========================================================
   COLOR OPTIONS + STOCK
========================================================= */
.option-row{margin:16px 0 10px}
.option-label{font-size:.92rem;color:#ffffff;margin-bottom:10px}
.option-label span{color:#fff;font-weight:600}
.color-swatches{display:flex;gap:12px}
.swatch{width:36px;height:36px;border-radius:50%;border:2px solid transparent;cursor:pointer;padding:0;position:relative;box-shadow:inset 0 0 0 1px rgba(247, 246, 246, 0.18);transition:transform .15s,border-color .15s}
.swatch:hover{transform:scale(1.1)}
.swatch.active{border-color:#fff;box-shadow:inset 0 0 0 1px rgba(255,255,255,.25),0 0 0 2px #111}
.swatch.out-of-stock{opacity:.55}
.swatch.out-of-stock::after{content:"";position:absolute;inset:-2px;border-radius:50%;background:linear-gradient(135deg,transparent calc(50% - 1.5px),#fff calc(50% - 1.5px),#fff calc(50% + 1.5px),transparent calc(50% + 1.5px));pointer-events:none}
.option-pills{display:flex;gap:10px;flex-wrap:wrap}
.pill{padding:9px 18px;border-radius:999px;background:transparent;border:1px solid rgba(255,255,255,.28);color:#ddd;font-size:.88rem;cursor:pointer;transition:transform .15s,border-color .15s,background .15s,color .15s}
.pill:hover{transform:scale(1.04);border-color:rgba(255,255,255,.55)}
.pill.active{background:#fff;color:#111;border-color:#fff;font-weight:600}
.stock-line{display:flex;align-items:center;gap:8px;font-size:.88rem;color:#8fce8f;margin:14px 0 4px;font-weight:600}
.stock-dot{width:8px;height:8px;border-radius:50%;background:#4ade80;display:inline-block}

/* =========================================================
   CONTACT PAGE
========================================================= */
.contact-wrap{padding:40px 8% 100px;display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:start}
.contact-info h2{margin-bottom:14px}
.contact-info p{color:#aaa;margin-bottom:22px;max-width:420px}
.contact-detail{display:flex;flex-direction:column;gap:10px;color:#ccc;font-size:.92rem;margin-bottom:26px}
.contact-detail strong{color:#fff}
.contact-form{background:#161616;border:1px solid #2b2b2b;border-radius:18px;padding:32px}
.form-row{margin-bottom:18px;display:flex;flex-direction:column;gap:8px}
.form-row label{font-size:.85rem;color:#aaa}
.form-row input,.form-row textarea{background:#101010;border:1px solid #2b2b2b;border-radius:10px;padding:12px 14px;color:#fff;font-family:inherit;font-size:.95rem;resize:vertical}
.form-row input:focus,.form-row textarea:focus{outline:1px solid #7c3aed}
.form-success{display:none;background:#1c2e1c;border:1px solid #2e5c2e;color:#a7e3a7;border-radius:10px;padding:14px 16px;margin-top:16px;font-size:.9rem}
.form-success.show{display:block}
.form-error{display:none;background:#2e1c1c;border:1px solid #5c2e2e;color:#e3a7a7;border-radius:10px;padding:14px 16px;margin-top:16px;font-size:.9rem}
.form-error.show{display:block}
.contact-form button[disabled]{opacity:.6;cursor:not-allowed}

/* =========================================================
   STICKY "ASK ABOUT THIS FRAME" BUTTON — injected by
   initStickyContactBar() in script.js on every page except
   contact.html itself.
========================================================= */
.sticky-contact-bar{position:fixed;bottom:22px;right:22px;z-index:900;display:flex;align-items:center;gap:10px;background:#7c3aed;color:#fff;padding:14px 20px;border-radius:999px;text-decoration:none;box-shadow:0 10px 30px rgba(124,58,237,.45);font-size:.88rem;font-weight:600;transition:transform .2s,background .2s;animation:stickyIn .5s ease .6s both}
.sticky-contact-bar:hover{background:#6d28d9;transform:translateY(-2px)}
.sticky-contact-bar svg{flex-shrink:0}
@keyframes stickyIn{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}

@media(max-width:800px){
.contact-wrap{grid-template-columns:1fr}
header{height:auto;padding:14px 5%;display:flex;flex-wrap:wrap}
.header-actions{gap:2px;justify-self:auto}
.lang-toggle span{display:none}
.lang-toggle{padding:9px}
.search-overlay{padding-left:5%;padding-right:5%}
nav{order:3;width:100%;display:flex;justify-content:center;gap:0;flex-wrap:wrap;padding-top:10px}
.filter-bar{padding:16px 5%}
.collection-grid,.gallery-page-grid,.manuals-grid{padding-left:5%;padding-right:5%}
.page-title-bar,.breadcrumb{padding-left:5%;padding-right:5%}
.cta-banner{margin-left:5%;margin-right:5%}
.hero{min-height:0;padding:50px 5% 40px}
.site-img{height:300px}
.large-img{height:300px}
.tabs{flex-wrap:wrap;gap:6px 18px}
.tab-btn{margin-right:0}
.thumb-row{flex-wrap:wrap}
.sticky-contact-bar{right:14px;bottom:14px;padding:12px 14px}
.sticky-contact-bar .sc-full{display:none}
}

@media(max-width:480px){
.hero-chips{gap:8px}
.hero-chips span{font-size:.76rem;padding:6px 11px}
.cta-banner h2{font-size:1.8rem}
.product-buttons a{width:100%;text-align:center}
.filter-bar{flex-direction:column;align-items:flex-start}
}
