/*
Theme Name: Trendora
Theme URI: https://example.com/trendora
Author: Trendora
Description: A fast fashion-marketplace WooCommerce theme with a mega-menu, flash-sale countdown, quick view, wishlist, mobile app-style bottom bar, blog, and full Elementor support (header/footer/single/archive locations). Compatible with most plugins.
Version: 1.2.0
Requires at least: 6.0
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: trendora
Tags: e-commerce, woocommerce, blog, custom-logo, custom-menu, featured-images, full-width-template, threaded-comments, translation-ready
*/
:root{--accent:#fb4d3d;--ink:#111;--muted:#6b7280;--line:#e8e8e8;--bg:#fff;--soft:#f6f6f6;--radius:6px;--wrap:1320px}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font:14px/1.5 -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;color:var(--ink);background:var(--bg);-webkit-font-smoothing:antialiased}
img{max-width:100%;height:auto;display:block}
a{color:inherit;text-decoration:none}
a:hover{color:var(--accent)}
ul{margin:0;padding:0;list-style:none}
button{font:inherit;cursor:pointer}
:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
.screen-reader-text{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}
.container{max-width:var(--wrap);margin:0 auto;padding:0 16px}
h1,h2,h3,h4{line-height:1.25;margin:0 0 .5em}
.btn,.button,button.button,.woocommerce a.button,.woocommerce button.button,.woocommerce input.button,.woocommerce #respond input#submit{display:inline-block;background:var(--ink);color:#fff;border:0;border-radius:var(--radius);padding:11px 22px;font-weight:600;text-align:center;transition:background .15s}
.btn:hover,.button:hover,.woocommerce a.button:hover,.woocommerce button.button:hover{background:var(--accent);color:#fff}
.btn.accent,.woocommerce a.button.alt,.woocommerce button.button.alt,.single_add_to_cart_button{background:var(--accent)!important;color:#fff!important}
.btn.light{background:#fff;color:var(--ink)}
input[type=text],input[type=search],input[type=email],input[type=password],input[type=tel],input[type=number],select,textarea{border:1px solid var(--line);border-radius:var(--radius);padding:10px 12px;font:inherit;background:#fff;max-width:100%}
/* top bar */
.topbar{background:var(--ink);color:#fff;font-size:12px}
.topbar .container{display:flex;justify-content:space-between;align-items:center;min-height:34px;gap:12px}
.topbar a:hover{color:#fff;text-decoration:underline}
.topbar .menu{display:flex;gap:16px}
/* header */
.site-header{background:#fff;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:50}
.site-header.scrolled{box-shadow:0 2px 12px rgba(0,0,0,.08)}
.hdr-row{display:flex;align-items:center;gap:20px;min-height:64px}
.brand{font-size:26px;font-weight:800;letter-spacing:-.5px;flex:none}
.brand img{max-height:44px;width:auto}
.hdr-search{flex:1;max-width:560px;position:relative;margin-left:auto}
.hdr-search input{width:100%;border-radius:999px;background:var(--soft);border-color:transparent;padding:10px 46px 10px 18px}
.hdr-search button{position:absolute;right:4px;top:4px;width:34px;height:34px;border:0;border-radius:50%;background:var(--ink);color:#fff;display:grid;place-items:center}
.hdr-actions{display:flex;gap:4px;margin-left:auto}
.hdr-search+.hdr-actions{margin-left:0}
.icon-btn{position:relative;width:42px;height:42px;display:grid;place-items:center;background:none;border:0;color:var(--ink);border-radius:50%}
.icon-btn:hover{background:var(--soft);color:var(--accent)}
.icon-btn svg{width:23px;height:23px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.badge{position:absolute;top:2px;right:0;min-width:18px;height:18px;padding:0 4px;border-radius:9px;background:var(--accent);color:#fff;font-size:11px;font-weight:700;display:grid;place-items:center}
.badge[hidden]{display:none}
.menu-toggle{display:none}
/* category / mega nav */
.cat-nav{border-top:1px solid var(--line)}
.cat-nav .menu{display:flex;gap:2px;overflow:visible;flex-wrap:wrap}
.cat-nav .menu>li{position:relative}
.cat-nav .menu>li>a{display:block;padding:12px 14px;font-weight:600;white-space:nowrap}
.cat-nav .menu>li:hover>a{color:var(--accent);box-shadow:inset 0 -2px var(--accent)}
.cat-nav .sub-menu{display:none;position:absolute;left:0;top:100%;min-width:220px;background:#fff;border:1px solid var(--line);box-shadow:0 12px 30px rgba(0,0,0,.12);padding:14px 18px;z-index:60}
.cat-nav .menu>li:hover>.sub-menu{display:block}
.cat-nav .sub-menu a{display:block;padding:6px 0;color:#333}
.cat-nav .menu>li:nth-child(n+5)>.sub-menu{left:auto;right:0}
.cat-nav .sub-menu .sub-menu{display:block;position:static;border:0;box-shadow:none;padding:0 0 0 12px;min-width:0}
.cat-nav .menu>li.mega>.sub-menu{display:none;column-count:4;column-gap:30px;width:760px;max-width:90vw}
.cat-nav .menu>li.mega:hover>.sub-menu{display:block}
.cat-nav .mega>.sub-menu>li{break-inside:avoid}
.cat-nav .mega>.sub-menu>li>a{font-weight:700}
/* mobile drawer */
.overlay{position:fixed;inset:0;background:rgba(0,0,0,.5);opacity:0;visibility:hidden;transition:.2s;z-index:90}
body.drawer-open .overlay,body.qv-open .overlay{opacity:1;visibility:visible}
.mobile-drawer{position:fixed;top:0;bottom:0;left:0;width:86%;max-width:360px;background:#fff;transform:translateX(-100%);transition:transform .25s;z-index:100;overflow:auto;padding:16px}
body.drawer-open .mobile-drawer{transform:none}
.mobile-drawer .menu a{display:block;padding:12px 4px;border-bottom:1px solid var(--line);font-weight:600}
.mobile-drawer .sub-menu a{font-weight:400;padding-left:18px}
.drawer-close{float:right}
/* hero */
.hero{position:relative;min-height:420px;display:flex;align-items:center;color:#fff;background:linear-gradient(120deg,#111 0%,#3b1d4a 55%,var(--accent) 120%) center/cover}
.hero::before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.55),transparent 70%)}
.hero .container{position:relative}
.hero h1{font-size:clamp(30px,5vw,58px);font-weight:800;max-width:620px}
.hero p{font-size:18px;max-width:480px;margin:0 0 20px}
/* sections */
.section{padding:34px 0}
.section-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:18px;flex-wrap:wrap}
.section-head h2{font-size:24px;margin:0;font-weight:800}
.section-head a{font-weight:600;text-decoration:underline}
.flash{background:var(--soft)}
.flash-head{display:flex;align-items:center;gap:14px;flex-wrap:wrap}
.flash-head h2{color:var(--accent)}
.countdown{display:flex;gap:4px;font-weight:700}
.countdown span{background:var(--ink);color:#fff;border-radius:4px;padding:3px 7px;min-width:30px;text-align:center}
.cat-circles{display:grid;grid-template-columns:repeat(auto-fill,minmax(96px,1fr));gap:16px;text-align:center}
.cat-circles a{display:block;font-weight:600;font-size:13px}
.cat-circles .ph{width:84px;height:84px;margin:0 auto 8px;border-radius:50%;overflow:hidden;background:var(--soft);display:grid;place-items:center;font-size:26px}
.cat-circles img{width:100%;height:100%;object-fit:cover}
.trust{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.trust div{padding:18px;background:var(--soft);border-radius:var(--radius);font-weight:600}
.trust small{display:block;color:var(--muted);font-weight:400}
/* product grid */
.woocommerce ul.products,ul.products{display:grid!important;grid-template-columns:repeat(var(--cols,5),1fr);gap:22px 14px;margin:0 0 30px!important;padding:0}
ul.products::before,ul.products::after{display:none!important}
.woocommerce ul.products li.product,ul.products li.product{width:auto!important;float:none!important;margin:0!important;position:relative;text-align:left}
ul.products li.product a img{aspect-ratio:3/4;object-fit:cover;width:100%;background:var(--soft);margin:0 0 10px!important;border-radius:var(--radius)}
ul.products li.product .woocommerce-loop-product__title{font-size:13px!important;font-weight:400;padding:0!important;margin:0 0 4px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
ul.products li.product .price{display:block;color:var(--accent);font-weight:700;font-size:15px}
ul.products li.product .price del{color:var(--muted);font-weight:400;font-size:12px}
ul.products li.product .price ins{background:none;text-decoration:none}
ul.products li.product .button{width:100%;margin-top:8px;padding:9px;font-size:13px}
.woocommerce span.onsale,span.onsale{background:var(--accent);color:#fff;min-height:0;min-width:0;line-height:1;padding:5px 8px;border-radius:3px;top:8px;left:8px;right:auto;margin:0;font-size:12px;font-weight:700}
.card-tools{position:absolute;top:8px;right:8px;display:flex;flex-direction:column;gap:6px;z-index:2}
.card-tools button{width:34px;height:34px;border-radius:50%;border:0;background:rgba(255,255,255,.95);box-shadow:0 1px 6px rgba(0,0,0,.18);display:grid;place-items:center;color:var(--ink)}
.card-tools svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8}
.card-tools .wl-btn.active{color:var(--accent)}
.card-tools .wl-btn.active svg{fill:var(--accent)}
.card-tools .qv-btn{opacity:0;transition:.15s}
li.product:hover .qv-btn,li.product:focus-within .qv-btn{opacity:1}
@media(hover:none){.card-tools .qv-btn{opacity:1}}
/* shop layout */
.shop-layout{display:grid;grid-template-columns:260px 1fr;gap:28px;padding:24px 0}
.shop-layout.no-side{grid-template-columns:1fr}
.shop-side .widget{margin-bottom:24px}
.shop-side .widget-title{font-size:15px;font-weight:700;border-bottom:1px solid var(--line);padding-bottom:8px}
.filter-toggle{display:none;margin-bottom:12px}
.woocommerce-breadcrumb{color:var(--muted);font-size:12px;margin:16px 0 0!important}
.woocommerce-result-count{margin:0 0 14px!important}
.woocommerce-ordering{margin:0 0 14px!important}
.woocommerce div.product{padding:20px 0}
.woocommerce div.product .product_title{font-size:26px}
.woocommerce div.product p.price,.woocommerce div.product span.price{color:var(--accent);font-size:24px;font-weight:700}
.woocommerce div.product form.cart .variations select{min-width:160px}
.woocommerce-tabs ul.tabs{padding:0!important}
.woocommerce-message,.woocommerce-info{border-top-color:var(--accent)!important}
/* quick view */
.qv-modal{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%) scale(.96);width:min(860px,94vw);max-height:90vh;overflow:auto;background:#fff;border-radius:10px;z-index:110;opacity:0;visibility:hidden;transition:.18s;padding:22px}
body.qv-open .qv-modal{opacity:1;visibility:visible;transform:translate(-50%,-50%)}
.qv-close{position:absolute;right:10px;top:10px}
.qv-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.qv-grid .price{color:var(--accent);font-size:22px;font-weight:700;display:block;margin:8px 0}
/* blog */
.blog-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:26px;padding:24px 0 40px}
.post-card{border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;background:#fff}
.post-card .thumb{aspect-ratio:16/10;background:var(--soft);overflow:hidden}
.post-card .thumb img{width:100%;height:100%;object-fit:cover}
.post-card .body{padding:16px}
.post-card h2,.post-card h3{font-size:18px}
.meta{color:var(--muted);font-size:12px}
.page-title{font-size:30px;margin:28px 0 6px}
.entry{max-width:780px;margin:30px auto;padding:0 16px}
.entry.wide{max-width:var(--wrap)}
.entry-content>*{max-width:100%}
.entry-content img{border-radius:var(--radius)}
.pagination,.nav-links{display:flex;gap:8px;justify-content:center;margin:20px 0;flex-wrap:wrap}
.page-numbers{padding:8px 14px;border:1px solid var(--line);border-radius:var(--radius)}
.page-numbers.current{background:var(--ink);color:#fff;border-color:var(--ink)}
.comment-list{list-style:none;padding:0}.comment-body{border-bottom:1px solid var(--line);padding:14px 0}
/* footer */
.site-footer{background:var(--soft);margin-top:40px;padding:40px 0 20px;border-top:1px solid var(--line)}
.footer-cols{display:grid;grid-template-columns:repeat(4,1fr);gap:30px}
.footer-cols .widget-title{font-size:15px;font-weight:700}
.footer-cols li{padding:3px 0}
.copyright{border-top:1px solid var(--line);margin-top:30px;padding-top:16px;display:flex;justify-content:space-between;flex-wrap:wrap;gap:8px;color:var(--muted);font-size:12px}
.wa-float{position:fixed;right:16px;bottom:90px;width:52px;height:52px;border-radius:50%;background:#25d366;color:#fff;display:grid;place-items:center;box-shadow:0 4px 14px rgba(0,0,0,.25);z-index:40}
.wa-float svg{width:28px;height:28px;fill:#fff}
.to-top{position:fixed;right:20px;bottom:24px;width:40px;height:40px;border-radius:50%;border:0;background:var(--ink);color:#fff;opacity:0;visibility:hidden;transition:.2s;z-index:40}
.to-top.show{opacity:1;visibility:visible}
.bottom-bar{display:none}
/* responsive */
@media(max-width:1100px){.woocommerce ul.products,ul.products{grid-template-columns:repeat(4,1fr)}}
@media(max-width:900px){
 .menu-toggle{display:grid}.cat-nav{display:none}.topbar .menu{display:none}
 .hdr-row{gap:6px;min-height:56px}.brand{font-size:22px;margin:0 auto 0 4px}
 .hdr-search{order:9;flex:0 0 100%;max-width:none;margin:0 0 10px}.hdr-row{flex-wrap:wrap}
 .hdr-actions .acct{display:none}
 .woocommerce ul.products,ul.products{grid-template-columns:repeat(3,1fr)}
 .blog-grid{grid-template-columns:repeat(2,1fr)}.footer-cols{grid-template-columns:repeat(2,1fr)}
 .trust{grid-template-columns:repeat(2,1fr)}
 .shop-layout{grid-template-columns:1fr}.filter-toggle{display:inline-block}
 .shop-side{display:none}.shop-side.open{display:block}
 .hero{min-height:300px}.qv-grid{grid-template-columns:1fr}
}
@media(max-width:600px){
 .woocommerce ul.products,ul.products{grid-template-columns:repeat(2,1fr);gap:18px 10px}
 .blog-grid{grid-template-columns:1fr}
 body{padding-bottom:58px}
 .bottom-bar{display:grid;grid-template-columns:repeat(5,1fr);position:fixed;left:0;right:0;bottom:0;background:#fff;border-top:1px solid var(--line);z-index:60;padding-bottom:env(safe-area-inset-bottom)}
 .bottom-bar a{display:flex;flex-direction:column;align-items:center;gap:2px;padding:7px 0;font-size:11px;position:relative}
 .bottom-bar svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
 .bottom-bar .badge{right:calc(50% - 22px);top:2px}
 .to-top{bottom:74px}.wa-float{bottom:130px}
}
@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}

/* swatches */
.trd-hide-select{display:none}
.trd-swatches{display:flex;flex-wrap:wrap;gap:8px;margin:4px 0}
.trd-sw{border:1px solid var(--line);background:#fff;color:var(--ink);min-width:42px;height:38px;padding:0 12px;border-radius:var(--radius);font-weight:600}
.trd-sw.selected{border-color:var(--ink);box-shadow:inset 0 0 0 1px var(--ink)}
.trd-sw.color{width:34px;min-width:34px;height:34px;padding:0;border-radius:50%;background:var(--c);border:1px solid #d0d0d0}
.trd-sw.color.selected{box-shadow:0 0 0 2px #fff,0 0 0 4px var(--ink)}
.trd-sw.off{opacity:.35;text-decoration:line-through}
.woocommerce div.product form.cart .variations td,.woocommerce div.product form.cart .variations th{display:block;padding:4px 0;text-align:left}
.size-guide table{width:100%;border-collapse:collapse}.size-guide th,.size-guide td{border:1px solid var(--line);padding:8px;text-align:center}
.social-links{display:flex;gap:12px;flex-wrap:wrap;margin-top:10px}.social-links a{font-weight:600;text-decoration:underline}

/* hero slider */
.trd-slider{position:relative}
.trd-track{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;scroll-behavior:smooth}
.trd-track::-webkit-scrollbar{display:none}
.trd-slide{flex:0 0 100%;scroll-snap-align:start;min-height:420px;display:flex;align-items:center;position:relative;color:#fff;background:linear-gradient(120deg,#111 0%,#3b1d4a 55%,var(--accent) 120%) center/cover}
.trd-slide.s2{background-image:linear-gradient(120deg,#be185d,#f9a8d4)}
.trd-slide.s3{background-image:linear-gradient(120deg,#0f766e,#6ee7b7)}
.trd-slide::before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.45),transparent 70%)}
.trd-slide .container{position:relative;width:100%}
.trd-slide h1,.trd-slide h2{font-size:clamp(30px,5vw,58px);font-weight:800;max-width:620px}
.trd-slide p{font-size:18px;max-width:480px;margin:0 0 20px}
.trd-nav{position:absolute;top:50%;transform:translateY(-50%);width:42px;height:42px;border-radius:50%;border:0;background:rgba(255,255,255,.9);font-size:26px;line-height:1;z-index:2}
.trd-prev{left:14px}.trd-next{right:14px}
.trd-dots{position:absolute;left:0;right:0;bottom:12px;display:flex;justify-content:center;gap:8px;z-index:2}
.trd-dots button{width:9px;height:9px;border-radius:50%;border:0;background:rgba(255,255,255,.55);padding:0}
.trd-dots button.on{background:#fff;width:22px;border-radius:5px}
@media(max-width:900px){.trd-slide{min-height:300px}.trd-nav{display:none}}
/* sticky add to cart */
.sticky-atc{display:none}
@media(max-width:900px){
 .sticky-atc.show{display:flex;align-items:center;gap:12px;position:fixed;left:0;right:0;bottom:0;background:#fff;border-top:1px solid var(--line);padding:10px 14px;z-index:70;box-shadow:0 -4px 14px rgba(0,0,0,.08)}
 .sticky-info{flex:1;min-width:0;display:flex;flex-direction:column}
 .sticky-info strong{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:13px}
 .sticky-info .price{color:var(--accent);font-weight:700}
 .sticky-info .price del{color:var(--muted);font-weight:400;font-size:12px}.sticky-info .price ins{background:none;text-decoration:none}
 .sticky-atc-btn{flex:none}
}
@media(max-width:600px){.sticky-atc.show{bottom:58px}}
