/*
Theme Name: Nawasi Store Gold
Theme URI: https://store.nawasial-khair.com/
Description: Nawasi Store production child theme. Replaces Elementor Pro Theme Builder header, footer, product, product archive, blog archive and 404 templates with native WordPress/WooCommerce templates.
Author: Nawasi Al-Khair
Template: hello-elementor
Version: 2.0.0
Text Domain: nawasi-store-gold
Requires at least: 6.5
Requires PHP: 8.1
*/

:root {
  --ns-black: #060607;
  --ns-surface: #101217;
  --ns-surface-2: #171a21;
  --ns-gold: #d7a62f;
  --ns-gold-light: #f3cc68;
  --ns-text: #f7f7f8;
  --ns-muted: #b9bac0;
  --ns-border: rgba(215, 166, 47, .38);
  --ns-shadow: 0 18px 55px rgba(0, 0, 0, .38);
  --ns-radius: 18px;
  --ns-container: 1240px;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  background: var(--ns-black);
  color: var(--ns-text);
  font-family: Tajawal, Cairo, "Segoe UI", Arial, sans-serif;
  line-height: 1.75;
  overflow-x: hidden;
}
a { color: var(--ns-gold-light); text-decoration: none; }
a:hover { color: #fff1bd; }
img { max-width: 100%; height: auto; }
.ns-container { width: min(calc(100% - 32px), var(--ns-container)); margin-inline: auto; }
.screen-reader-text { position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0; }

/* Header */
.ns-site-header {
  position: sticky;
  top: 0;
  z-index: 9999;
  background: rgba(6, 6, 7, .96);
  border-bottom: 1px solid var(--ns-border);
  box-shadow: 0 10px 34px rgba(0,0,0,.35);
  backdrop-filter: blur(14px);
}
.admin-bar .ns-site-header { top: 32px; }
.ns-topbar { border-bottom: 1px solid rgba(215,166,47,.14); font-size: 13px; color: var(--ns-muted); }
.ns-topbar-inner { min-height: 34px; display:flex; align-items:center; justify-content:space-between; gap:20px; }
.ns-header-main { min-height: 88px; display:grid; grid-template-columns: 230px minmax(240px, 1fr) auto; align-items:center; gap:22px; }
.ns-logo img { display:block; width:220px; max-height:68px; object-fit:contain; }
.ns-product-search { position:relative; }
.ns-product-search form { display:flex; margin:0; }
.ns-product-search input[type="search"] {
  width:100%; min-height:50px; padding: 0 18px; border:1px solid var(--ns-border); border-radius:14px 0 0 14px;
  color:var(--ns-text); background:#12151b; outline:none;
}
[dir="rtl"] .ns-product-search input[type="search"] { border-radius:0 14px 14px 0; }
.ns-product-search button { width:58px; border:0; border-radius:0 14px 14px 0; background:linear-gradient(135deg,var(--ns-gold-light),#be8115); cursor:pointer; }
[dir="rtl"] .ns-product-search button { border-radius:14px 0 0 14px; }
.ns-header-actions { display:flex; align-items:center; gap:10px; }
.ns-action {
  position:relative; width:45px; height:45px; display:grid; place-items:center; color:var(--ns-text);
  border:1px solid rgba(215,166,47,.28); border-radius:13px; background:#111318;
}
.ns-action:hover { color:var(--ns-black); background:var(--ns-gold-light); border-color:var(--ns-gold-light); }
.ns-action svg { width:22px; height:22px; fill:none; stroke:currentColor; stroke-width:1.8; }
.ns-cart-count { position:absolute; top:-7px; inset-inline-end:-7px; min-width:21px; height:21px; padding:0 5px; border-radius:999px; display:grid; place-items:center; background:#e2483d; color:white; font-size:11px; font-weight:800; }
.ns-nav-row { border-top:1px solid rgba(215,166,47,.12); }
.ns-nav-inner { display:flex; align-items:center; justify-content:space-between; min-height:52px; gap:20px; }
.ns-primary-nav ul { display:flex; align-items:center; gap:8px; list-style:none; margin:0; padding:0; }
.ns-primary-nav a { display:block; color:var(--ns-text); font-weight:700; padding:11px 14px; border-radius:10px; }
.ns-primary-nav a:hover, .ns-primary-nav .current-menu-item > a { color:#080808; background:var(--ns-gold-light); }
.ns-menu-toggle { display:none; background:transparent; border:1px solid var(--ns-border); color:var(--ns-text); border-radius:10px; width:44px; height:42px; }
.ns-trust { color:var(--ns-muted); font-size:13px; white-space:nowrap; }

/* Global page layout */
.ns-main { min-height:60vh; padding-block:34px 60px; }
.ns-elementor-page { min-height:60vh; }
.ns-page-shell { background:linear-gradient(150deg,#151820,#0a0b0e); border:1px solid var(--ns-border); border-radius:var(--ns-radius); box-shadow:var(--ns-shadow); padding:clamp(18px,3vw,38px); }
.ns-page-header { margin-bottom:26px; }
.ns-page-title { margin:0 0 8px; color:#fff; font-size:clamp(28px,4vw,48px); line-height:1.25; }
.ns-page-subtitle { color:var(--ns-muted); margin:0; }
.ns-content, .entry-content { color:#e7e7e9; }
.ns-content h2, .ns-content h3, .entry-content h2, .entry-content h3 { color:#fff; }

/* Blog */
.ns-post-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:22px; }
.ns-post-card { overflow:hidden; background:linear-gradient(150deg,#171a21,#0c0d11); border:1px solid var(--ns-border); border-radius:var(--ns-radius); box-shadow:var(--ns-shadow); }
.ns-post-thumb { aspect-ratio:16/9; overflow:hidden; background:#0d0f13; }
.ns-post-thumb img { width:100%; height:100%; object-fit:cover; transition:transform .25s ease; }
.ns-post-card:hover .ns-post-thumb img { transform:scale(1.04); }
.ns-post-card-content { padding:20px; }
.ns-post-card h2 { font-size:21px; margin:0 0 10px; }
.ns-post-meta { color:var(--ns-muted); font-size:13px; margin-bottom:12px; }
.ns-pagination { margin-top:30px; }
.nav-links { display:flex; flex-wrap:wrap; gap:8px; }
.page-numbers { min-width:40px; height:40px; display:grid; place-items:center; border:1px solid var(--ns-border); border-radius:10px; background:#111319; color:#fff; }
.page-numbers.current, .page-numbers:hover { background:var(--ns-gold-light); color:#080808; }

/* WooCommerce wrappers and cards */
.woocommerce .woocommerce-breadcrumb { color:var(--ns-muted); margin-bottom:20px; }
.woocommerce .woocommerce-breadcrumb a { color:var(--ns-gold-light); }
.woocommerce-products-header { margin-bottom:28px; padding:24px; border:1px solid var(--ns-border); border-radius:var(--ns-radius); background:linear-gradient(135deg,#171a22,#0c0d11); }
.woocommerce-products-header__title.page-title { margin:0 0 8px; color:#fff; font-size:clamp(30px,4vw,48px); }
.woocommerce .woocommerce-result-count, .woocommerce .woocommerce-ordering { margin-bottom:22px; color:var(--ns-muted); }
.woocommerce .woocommerce-ordering select, .woocommerce select, .woocommerce input, .woocommerce textarea {
  color:var(--ns-text); background:#14171d; border:1px solid var(--ns-border); border-radius:11px; min-height:44px; padding:8px 12px;
}
.woocommerce ul.products { display:grid!important; grid-template-columns:repeat(4,minmax(0,1fr)); gap:22px; margin:0!important; }
.woocommerce ul.products::before, .woocommerce ul.products::after { display:none!important; }
.woocommerce ul.products li.product {
  width:auto!important; margin:0!important; float:none!important; overflow:hidden; position:relative;
  background:linear-gradient(155deg,#191c23,#0c0d11); border:1px solid var(--ns-border); border-radius:var(--ns-radius); padding:13px; box-shadow:var(--ns-shadow); transition:.22s ease;
}
.woocommerce ul.products li.product:hover { transform:translateY(-5px); border-color:var(--ns-gold); box-shadow:0 22px 55px rgba(0,0,0,.52); }
.woocommerce ul.products li.product a img { border-radius:13px; margin-bottom:14px; aspect-ratio:1/1; object-fit:cover; background:#0a0b0e; }
.woocommerce ul.products li.product .woocommerce-loop-product__title { color:#fff; font-size:16px; line-height:1.55; padding:0; min-height:50px; }
.woocommerce ul.products li.product .price, .woocommerce div.product p.price, .woocommerce div.product span.price { color:var(--ns-gold-light); font-weight:900; }
.woocommerce span.onsale { background:var(--ns-gold-light); color:#080808; min-width:52px; min-height:52px; line-height:52px; margin:8px!important; }
.woocommerce a.button, .woocommerce button.button, .woocommerce input.button, .woocommerce #respond input#submit, .ns-button {
  border:0!important; border-radius:11px!important; background:linear-gradient(135deg,var(--ns-gold-light),#c58a19)!important; color:#070707!important; font-weight:900!important; box-shadow:0 8px 24px rgba(205,151,34,.22); padding:13px 18px!important;
}
.woocommerce a.button:hover, .woocommerce button.button:hover, .woocommerce input.button:hover, .ns-button:hover { filter:brightness(1.08); }

/* Single product */
.woocommerce div.product { display:grid; grid-template-columns:minmax(300px,.95fr) minmax(320px,1.05fr); gap:38px; align-items:start; }
.woocommerce div.product div.images, .woocommerce div.product div.summary { width:auto!important; float:none!important; margin:0!important; }
.woocommerce div.product div.images { padding:16px; background:#101218; border:1px solid var(--ns-border); border-radius:var(--ns-radius); }
.woocommerce div.product div.images img { border-radius:14px; }
.woocommerce div.product .summary { padding:clamp(18px,3vw,34px); background:linear-gradient(150deg,#171a21,#0b0c10); border:1px solid var(--ns-border); border-radius:var(--ns-radius); box-shadow:var(--ns-shadow); }
.woocommerce div.product .product_title { color:#fff; font-size:clamp(27px,3.5vw,44px); line-height:1.25; }
.woocommerce div.product form.cart { display:flex; flex-wrap:wrap; gap:10px; align-items:center; }
.woocommerce .quantity .qty { width:80px; }
.woocommerce div.product .woocommerce-tabs { grid-column:1/-1; margin-top:10px; }
.woocommerce div.product .woocommerce-tabs ul.tabs { padding:0!important; border:0!important; }
.woocommerce div.product .woocommerce-tabs ul.tabs::before { border-color:var(--ns-border)!important; }
.woocommerce div.product .woocommerce-tabs ul.tabs li { background:#13161b!important; border-color:var(--ns-border)!important; }
.woocommerce div.product .woocommerce-tabs ul.tabs li a { color:#fff!important; }
.woocommerce div.product .woocommerce-tabs .panel { padding:24px; border:1px solid var(--ns-border); border-radius:0 0 var(--ns-radius) var(--ns-radius); background:#101218; }
.woocommerce div.product .related.products { grid-column:1/-1; }

/* Cart, checkout, account */
.woocommerce table.shop_table, .woocommerce-cart-form, .cart_totals, .woocommerce-checkout-review-order, .woocommerce-MyAccount-navigation, .woocommerce-MyAccount-content {
  background:#111319; color:var(--ns-text); border-color:var(--ns-border)!important; border-radius:15px; padding:18px;
}
.woocommerce table.shop_table th, .woocommerce table.shop_table td { border-color:rgba(215,166,47,.18)!important; }
.woocommerce-MyAccount-navigation ul { list-style:none; margin:0; padding:0; }
.woocommerce-MyAccount-navigation li a { display:block; padding:11px 13px; border-bottom:1px solid rgba(215,166,47,.15); color:#fff; }
.woocommerce-MyAccount-navigation li.is-active a, .woocommerce-MyAccount-navigation a:hover { color:#080808; background:var(--ns-gold-light); border-radius:8px; }
.woocommerce-message, .woocommerce-info, .woocommerce-error { background:#151820; color:#fff; border-top-color:var(--ns-gold); }

/* 404 */
.ns-404 { min-height:62vh; display:grid; place-items:center; text-align:center; }
.ns-404-code { font-size:clamp(86px,18vw,210px); font-weight:1000; line-height:.85; color:transparent; -webkit-text-stroke:2px var(--ns-gold); opacity:.8; }
.ns-404 h1 { font-size:clamp(28px,5vw,52px); margin:18px 0 8px; }

/* Footer */
.ns-site-footer { background:#040405; border-top:1px solid var(--ns-border); padding:52px 0 18px; color:var(--ns-muted); }
.ns-footer-grid { display:grid; grid-template-columns:1.35fr 1fr 1fr 1fr; gap:34px; }
.ns-footer-logo { width:230px; margin-bottom:14px; }
.ns-site-footer h3 { color:#fff; margin:0 0 14px; font-size:17px; }
.ns-site-footer ul { list-style:none; margin:0; padding:0; }
.ns-site-footer li { margin:7px 0; }
.ns-site-footer a { color:var(--ns-muted); }
.ns-site-footer a:hover { color:var(--ns-gold-light); }
.ns-footer-bottom { margin-top:36px; padding-top:18px; border-top:1px solid rgba(215,166,47,.16); display:flex; justify-content:space-between; gap:20px; font-size:13px; }
.ns-whatsapp-float { position:fixed; inset-inline-end:18px; bottom:20px; z-index:9997; width:56px; height:56px; display:grid; place-items:center; border-radius:50%; background:#25d366; color:#fff; box-shadow:0 14px 35px rgba(0,0,0,.38); }
.ns-whatsapp-float svg { width:29px; height:29px; fill:currentColor; }

@media (max-width: 1050px) {
  .ns-header-main { grid-template-columns:190px 1fr auto; }
  .ns-logo img { width:185px; }
  .woocommerce ul.products { grid-template-columns:repeat(3,minmax(0,1fr)); }
  .ns-footer-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width: 782px) { .admin-bar .ns-site-header { top:46px; } }
@media (max-width: 820px) {
  .ns-topbar { display:none; }
  .ns-header-main { min-height:72px; grid-template-columns:1fr auto; gap:12px; }
  .ns-logo img { width:180px; max-height:54px; }
  .ns-product-search { grid-column:1/-1; order:3; padding-bottom:13px; }
  .ns-header-actions .ns-account-action, .ns-header-actions .ns-wallet-action { display:none; }
  .ns-menu-toggle { display:grid; place-items:center; }
  .ns-nav-inner { min-height:auto; display:block; padding-block:10px; }
  .ns-primary-nav { display:none; }
  .ns-primary-nav.is-open { display:block; }
  .ns-primary-nav ul { display:block; }
  .ns-primary-nav a { padding:12px 14px; }
  .ns-trust { display:none; }
  .woocommerce ul.products { grid-template-columns:repeat(2,minmax(0,1fr)); gap:13px; }
  .woocommerce div.product { grid-template-columns:1fr; gap:20px; }
  .woocommerce div.product .woocommerce-tabs, .woocommerce div.product .related.products { grid-column:1; }
  .ns-post-grid { grid-template-columns:1fr; }
}
@media (max-width: 560px) {
  .ns-container { width:min(calc(100% - 20px), var(--ns-container)); }
  .ns-header-actions { gap:7px; }
  .ns-action { width:41px; height:41px; }
  .woocommerce ul.products li.product { padding:9px; }
  .woocommerce ul.products li.product .woocommerce-loop-product__title { font-size:14px; min-height:44px; }
  .ns-footer-grid { grid-template-columns:1fr; }
  .ns-footer-bottom { display:block; }
}
