/* ==========================================================
   NEXTDENIM — MAIN STYLESHEET
   ========================================================== */
:root{
	--nd-black:#111111;
	--nd-dark:#1c1c1c;
	--nd-denim:#2c4a6e;
	--nd-denim-dark:#1d3350;
	--nd-cream:#f6f4ef;
	--nd-grey:#6b6b6b;
	--nd-border:#e3e0d8;
	--nd-white:#ffffff;
	--nd-radius:4px;
}

*{box-sizing:border-box;}
body{margin:0;font-family:'Helvetica Neue',Arial,sans-serif;color:var(--nd-black);background:var(--nd-white);line-height:1.55;}
img{max-width:100%;display:block;}
a{color:inherit;text-decoration:none;}
h1,h2,h3,h4{font-weight:700;margin:0 0 .5em;letter-spacing:.02em;}
.container{max-width:1240px;margin:0 auto;padding:0 20px;}
.btn{display:inline-block;padding:12px 28px;border-radius:var(--nd-radius);font-weight:600;letter-spacing:.03em;text-transform:uppercase;font-size:13px;cursor:pointer;border:1px solid transparent;}
.btn-primary{background:var(--nd-black);color:#fff;}
.btn-primary:hover{background:var(--nd-denim-dark);}

/* ---------- TOP BAR ---------- */
.top-bar{background:var(--nd-black);color:#fff;font-size:12px;}
.top-bar-inner{display:flex;justify-content:space-between;align-items:center;padding:6px 20px;flex-wrap:wrap;gap:6px;}
.top-bar-contact a{margin-left:16px;color:#fff;opacity:.9;}
.top-bar-contact a:hover{opacity:1;text-decoration:underline;}

/* ---------- HEADER ---------- */
.site-header{border-bottom:3px dashed #cfc7b8;position:sticky;top:0;background:#fff;z-index:50;}
.header-inner{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;}
.logo-text{font-size:22px;font-weight:800;letter-spacing:.05em;}
.logo-text span{color:var(--nd-denim);}
.primary-menu{list-style:none;display:flex;gap:28px;margin:0;padding:0;}
.primary-menu a{font-weight:600;font-size:14px;text-transform:uppercase;letter-spacing:.03em;}
.primary-menu a:hover{color:var(--nd-denim);}
.header-icons{display:flex;align-items:center;gap:18px;}
.cart-icon{font-size:15px;font-weight:600;}
.mobile-menu-toggle{display:none;background:none;border:none;font-size:22px;cursor:pointer;}

/* ---------- HERO ---------- */
.hero{position:relative;background:linear-gradient(135deg,var(--nd-denim) 0%,var(--nd-denim-dark) 100%);background-size:cover;background-position:center;color:#fff;padding:110px 20px;text-align:center;overflow:hidden;}
.hero::before{content:"";position:absolute;inset:0;background-image:repeating-linear-gradient(115deg,rgba(255,255,255,.04) 0px,rgba(255,255,255,.04) 2px,transparent 2px,transparent 6px);pointer-events:none;}
.hero-has-image .hero-overlay{position:absolute;inset:0;background:linear-gradient(180deg,rgba(15,25,40,.55),rgba(15,25,40,.75));}
.hero-inner{position:relative;z-index:2;}
.hero h1{font-size:46px;margin-bottom:12px;text-transform:uppercase;letter-spacing:.02em;}
.hero p{font-size:17px;opacity:.92;margin-bottom:26px;}
.hero .btn-primary{background:#fff;color:var(--nd-black);border-bottom:3px solid var(--nd-denim);}
.hero .btn-primary:hover{background:var(--nd-cream);}

/* ---------- SHIPPING STRIP ---------- */
.shipping-strip{background:var(--nd-cream);border-bottom:1px solid var(--nd-border);padding:10px 20px;}
.shipping-strip .container{display:flex;flex-wrap:wrap;gap:10px 26px;justify-content:center;font-size:13px;font-weight:600;color:var(--nd-dark);}

/* ---------- CATEGORY TILES ---------- */
.category-tiles{padding:60px 20px;}
.tile-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;}
.category-tile{position:relative;display:flex;align-items:flex-end;background:var(--nd-dark) center/cover no-repeat;color:#fff;border-radius:var(--nd-radius);overflow:hidden;height:320px;padding:0;border-bottom:6px solid var(--nd-denim);}
.category-tile.tile-mens{background-image:linear-gradient(135deg,#2c4a6e,#0f1f31);}
.category-tile.tile-womens{background-image:linear-gradient(135deg,#6e2c4a,#2f0f1f);}
.category-tile .tile-overlay{position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,0) 40%,rgba(0,0,0,.65) 100%);}
.category-tile.has-image{background-color:var(--nd-dark);}
.tile-content{position:relative;z-index:2;padding:28px;}
.tile-content h2{font-size:28px;margin-bottom:8px;text-transform:uppercase;}
.tile-link{font-weight:600;text-transform:uppercase;font-size:13px;letter-spacing:.03em;border-bottom:2px solid #fff;padding-bottom:2px;}

/* ---------- SECTION TITLES ---------- */
.section-title{text-align:center;font-size:26px;margin:60px 0 30px;text-transform:uppercase;letter-spacing:.04em;position:relative;padding-bottom:14px;}
.section-title::after{content:"";position:absolute;left:50%;bottom:0;transform:translateX(-50%);width:60px;height:3px;background:var(--nd-denim);border-radius:2px;}

/* ---------- PRODUCT GRID (WooCommerce) ---------- */
ul.products{display:grid !important;grid-template-columns:repeat(4,1fr);gap:26px;list-style:none;margin:0 !important;padding:0 !important;}
ul.products::before,ul.products::after{content:none !important;display:none !important;}
ul.products li.product{width:100% !important;margin:0 !important;float:none !important;display:flex;flex-direction:column;}
ul.products li.product a{display:flex;flex-direction:column;flex-grow:1;}
ul.products li.product img{border-radius:var(--nd-radius);aspect-ratio:3/4;object-fit:cover;margin-bottom:12px;}
ul.products li.product .woocommerce-loop-product__title{font-size:14px;font-weight:600;margin:6px 0 4px;}
ul.products li.product .price{font-size:14px;color:var(--nd-grey);margin-top:auto;}
ul.products li.product .price ins{text-decoration:none;color:var(--nd-black);font-weight:700;}
ul.products li.product .button{margin-top:10px;background:var(--nd-black);color:#fff;padding:10px;text-align:center;border-radius:var(--nd-radius);font-size:12px;text-transform:uppercase;letter-spacing:.03em;}
ul.products li.product .button:hover{background:var(--nd-denim-dark);}
ul.products li.product .onsale{position:absolute;background:var(--nd-black);color:#fff;font-size:11px;padding:3px 8px;border-radius:2px;}

/* ---------- WEAR TYPE TABS ---------- */
.wear-type-tabs{display:flex;gap:10px;margin-bottom:30px;border-bottom:1px solid var(--nd-border);padding-bottom:14px;flex-wrap:wrap;}
.wear-type-tabs a{padding:8px 18px;border-radius:20px;font-size:13px;font-weight:600;text-transform:uppercase;letter-spacing:.03em;border:1px solid var(--nd-border);}
.wear-type-tabs a.active,.wear-type-tabs a:hover{background:var(--nd-black);color:#fff;border-color:var(--nd-black);}

/* ---------- SHOP LAYOUT / SIDEBAR FILTERS ---------- */
.shop-layout{display:grid;grid-template-columns:230px 1fr;gap:36px;padding:40px 20px;align-items:start;}
.shop-sidebar{border:1px solid var(--nd-border);border-radius:var(--nd-radius);padding:20px;position:sticky;top:90px;}
.sidebar-title{font-size:15px;text-transform:uppercase;letter-spacing:.03em;margin-bottom:14px;border-bottom:1px solid var(--nd-border);padding-bottom:10px;}
.filter-widget{margin-bottom:24px;}
.filter-widget-title{font-size:13px;text-transform:uppercase;letter-spacing:.03em;color:var(--nd-grey);margin-bottom:10px;}
.filter-widget ul{list-style:none;margin:0;padding:0;}
.filter-widget li{margin-bottom:8px;font-size:14px;}
.filter-widget a{display:flex;justify-content:space-between;}
.filter-widget a:hover{color:var(--nd-denim);}
.filter-setup-note{font-size:13px;color:var(--nd-grey);}
.woocommerce-result-count,.woocommerce-ordering{margin-bottom:20px;}

/* ---------- PAGE CONTENT ---------- */
.page-content{padding:50px 20px;max-width:900px;}
.page-title{font-size:30px;margin-bottom:24px;}
.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:40px;}
.contact-info p{margin-bottom:14px;}
.contact-note{font-size:13px;color:var(--nd-grey);font-style:italic;}
.shipping-table{margin-top:24px;padding-top:20px;border-top:1px solid var(--nd-border);}
.shipping-table h3{font-size:16px;margin-bottom:12px;}
.shipping-table ul{list-style:none;margin:0 0 10px;padding:0;}
.shipping-table li{padding:6px 0;border-bottom:1px dashed var(--nd-border);font-size:14px;}
.page-content h3{font-size:19px;margin-top:28px;}
.page-content p{margin-bottom:14px;color:#333;}

/* ---------- FOOTER ---------- */
.site-footer{background:var(--nd-black);color:#cfcfcf;margin-top:60px;}
.footer-inner{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:30px;padding:60px 20px 40px;}
.footer-logo{color:#fff;font-size:20px;}
.footer-logo span{color:var(--nd-denim);}
.footer-inner h4{color:#fff;font-size:14px;text-transform:uppercase;letter-spacing:.03em;margin-bottom:16px;}
.footer-inner ul{list-style:none;margin:0;padding:0;}
.footer-inner li{margin-bottom:10px;font-size:14px;}
.footer-inner a:hover{color:#fff;}
.footer-bottom{border-top:1px solid #333;padding:18px 20px;text-align:center;font-size:12px;}

/* ---------- RESPONSIVE ---------- */
@media (max-width:991px){
	ul.products{grid-template-columns:repeat(3,1fr);}
	.shop-layout{grid-template-columns:200px 1fr;}
	.footer-inner{grid-template-columns:1fr 1fr;}
}
@media (max-width:767px){
	.primary-menu{display:none;flex-direction:column;position:absolute;top:100%;left:0;right:0;background:#fff;border-top:1px solid var(--nd-border);padding:16px 20px;gap:14px;}
	.mobile-menu-toggle{display:block;}
	.site-header{position:relative;}
	.tile-grid{grid-template-columns:1fr;}
	ul.products{grid-template-columns:repeat(2,1fr);gap:14px;}
	.shop-layout{grid-template-columns:1fr;}
	.shop-sidebar{position:static;}
	.contact-grid{grid-template-columns:1fr;}
	.hero h1{font-size:30px;}
	.footer-inner{grid-template-columns:1fr;}
}
