/*
Theme Name: GeneratePress Child
Theme URI: https://generatepress.com
Template: generatepress
Author: Tom Usborne
Author URI: https://generatepress.com/about
Description: GeneratePress is a lightweight WordPress theme built with a focus on speed and usability. Performance is important to us, which is why a fresh GeneratePress install adds less than 10kb (gzipped) to your page size. We take full advantage of the block editor (Gutenberg), which gives you more control over creating your content. If you use page builders, GeneratePress is the right theme for you. It is completely compatible with all major page builders, including Beaver Builder and Elementor. Thanks to our emphasis on WordPress coding standards, we can boast full compatibility with all well-coded plugins, including WooCommerce. GeneratePress is fully responsive, uses valid HTML/CSS, and is translated into over 25 languages by our amazing community of users. A few of our many features include 60+ color controls, powerful dynamic typography, 5 navigation locations, 5 sidebar layouts, dropdown menus (click or hover), and 9 widget areas. Learn more and check out our powerful premium version at https://generatepress.com
Tags: two-columns,three-columns,one-column,right-sidebar,left-sidebar,footer-widgets,blog,e-commerce,flexible-header,full-width-template,buddypress,custom-header,custom-background,custom-menu,custom-colors,sticky-post,threaded-comments,translation-ready,rtl-language-support,featured-images,theme-options
Version: 3.6.1.1788431539
Updated: 2026-09-03 10:32:19

*/
/* =========================================================
   1. RESET & BASE
========================================================= */
* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

html {
    scroll-behavior: smooth;
}

body {
    font-family: 'Montserrat', sans-serif;
    font-weight: 400;
    color: #1b2a3d;
    background: #ffffff;
    line-height: 1.6;
    overflow-x: hidden;
}

img {
    max-width: 100%;
    height: auto;
    display: block;
}

a {
    text-decoration: none;
    color: inherit;
}

ul, ol {
    list-style: none;
    margin: 0;
    padding: 0;
}

button {
    font-family: inherit;
    cursor: pointer;
}

/* Headings: Montserrat Bold */
h1, h2, h3, h4, h5, h6 {
    font-family: 'Montserrat', sans-serif;
    font-weight: 700;
    line-height: 1.25;
}
.screen-reader-text {
    position: absolute !important;
    left: -9999px;
    top: -9999px;
    width: 1px;
    height: 1px;
    overflow: hidden;
}

/* =========================================================
   2. CONTAINER
========================================================= */
.ns-container {
    width: 100%;
    max-width: 1280px;
    margin: 0 auto;
    padding: 0 16px;
}

@media (min-width: 768px) {
    .ns-container {
        padding: 0 32px;
    }
}

@media (min-width: 1200px) {
    .ns-container {
        padding: 0 48px;
    }
}

/* =========================================================
   3. TOP ANNOUNCEMENT BAR
========================================================= */
.ns-top-bar {
    background: #1b2a3d;
    height: 30px;
    padding: 0 16px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.ns-top-bar-text {
    font-family: 'Montserrat', sans-serif;
    font-size: 11px;
    font-weight: 600;
    letter-spacing: 1.3px;
    text-transform: uppercase;
    color: #ffffff;
    line-height: 1;
    margin: 0;
}
.ns-top-bar-text a { color: #ffffff; }
.ns-top-bar-text a:hover { opacity: .8; }

@media (min-width: 768px) {
    .ns-top-bar { height: 34px; }
    .ns-top-bar-text { font-size: 12px; }
}

/* =========================================================
   4. HEADER
========================================================= */
.ns-header-wrap { display: contents; }

.ns-header {
    background: #ffffff;
    border-bottom: 1px solid #ececec;
    position: sticky;
    top: 0;
    width: 100%;
    z-index: 999;
}

.ns-header-inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    height: 50px;
    padding: 0 16px;
}

@media (min-width: 768px) { .ns-header-inner { padding: 0 32px; } }
@media (min-width: 1200px) { .ns-header-inner { padding: 0 48px; } }
@media (min-width: 1600px) { .ns-header-inner { padding: 0 64px; } }

.ns-header-left, .ns-header-right {
    display: flex;
    align-items: center;
    gap: 16px;
}

.ns-logo {
    font-family: 'Montserrat', sans-serif;
    font-weight: 500;
    font-size: 22px;
    letter-spacing: 0.5px;
    color: #1b2a3d;
    white-space: nowrap;
}

.ns-icon-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 34px;
    height: 34px;
    border-radius: 50%;
    color: #1b2a3d;
    cursor: pointer;
    position: relative;
    transition: background 0.2s ease;
}

.ns-icon-btn:hover { background: #eeeeee; }
.ns-icon-btn svg { width: 19px; height: 19px; stroke-linecap: round; stroke-linejoin: round; }

.ns-toggle-checkbox { display: none; }

.ns-overlay {
    position: fixed;
    inset: 0;
    background: rgba(0,0,0,0.4);
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.3s ease;
    z-index: 1000;
    cursor: pointer;
}

#ns-menu-toggle:checked ~ .ns-overlay-menu,
#ns-search-toggle:checked ~ .ns-overlay-search {
    opacity: 1;
    visibility: visible;
}

.ns-panel {
    position: fixed;
    top: 0;
    height: 100vh;
    height: 100dvh;
    background: #ffffff;
    z-index: 1001;
    transition: transform 0.35s ease;
    display: flex;
    flex-direction: column;
}

.ns-panel-left {
    left: 0;
    width: 320px;
    max-width: 85vw;
    transform: translateX(-100%);
}

#ns-menu-toggle:checked ~ .ns-panel-left { transform: translateX(0); }

.ns-panel-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 20px 24px;
    border-bottom: 1px solid #ececec;
}

.ns-panel-title {
    font-family: 'Montserrat', sans-serif;
    font-weight: 600;
    font-size: 15px;
    text-transform: uppercase;
    letter-spacing: 1px;
}

.ns-close-btn {
    width: 32px; height: 32px;
    display: flex; align-items: center; justify-content: center;
    border-radius: 50%;
    cursor: pointer;
}
.ns-close-btn:hover { background: #eeeeee; }
.ns-close-btn svg { width: 16px; height: 16px; }

.ns-panel-nav { padding: 12px 0; overflow-y: auto; }

.ns-panel-menu li a {
    display: block;
    padding: 14px 24px;
    font-family: 'Montserrat', sans-serif;
    font-size: 14px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    color: #1b2a3d;
}
.ns-panel-menu li a:hover { background: #f4f4f4; }

.ns-panel-menu .sub-menu li a {
    padding-left: 40px;
    font-size: 13px;
    font-weight: 400;
    text-transform: none;
    color: #6b6b6b;
}

.ns-panel-search {
    left: 0; right: 0;
    width: 100%; height: auto; top: 0;
    transform: translateY(-100%);
    padding: 60px 24px;
    align-items: center; justify-content: center;
    border-bottom: 1px solid #ececec;
    box-shadow: 0 10px 30px rgba(0,0,0,0.06);
}

#ns-search-toggle:checked ~ .ns-panel-search { transform: translateY(0); }

.ns-search-box {
    width: 100%; max-width: 640px; margin: 0 auto;
    display: flex; align-items: center; gap: 14px;
}

.ns-search-form {
    flex: 1;
    display: flex; align-items: center; gap: 12px;
    border-bottom: 2px solid #1b2a3d;
    padding-bottom: 10px;
}

.ns-search-form-icon-btn {
    background: none; border: none; outline: none;
    padding: 6px; margin: -6px;
    cursor: pointer;
    display: flex; align-items: center; justify-content: center;
    color: #1b2a3d;
    -webkit-appearance: none; appearance: none;
    border-radius: 50%;
    transition: background 0.2s ease;
}
.ns-search-form-icon-btn:hover,
.ns-search-form-icon-btn:focus { background: #f0f0f0; box-shadow: none; }
.ns-search-form-icon-btn svg { width: 20px; height: 20px; }

.ns-search-popup-input {
    flex: 1; border: none; outline: none;
    font-size: 18px;
    font-family: 'Montserrat', sans-serif;
    color: #1b2a3d;
    background: transparent;
}

/* Native browser search icon hatana */
input[type="search"]::-webkit-search-cancel-button,
input[type="search"]::-webkit-search-decoration {
    -webkit-appearance: none;
    appearance: none;
}
input[type="search"] { -webkit-appearance: none; appearance: none; }

/* Mobile responsive */
@media (max-width: 480px) {
    .ns-header-inner { height: 52px; padding: 0 10px; }
    .ns-header-left, .ns-header-right { gap: 8px; }
    .ns-logo { font-size: 13px; white-space: nowrap; }
    .ns-icon-btn { width: 28px; height: 28px; }
    .ns-icon-btn svg { width: 15px; height: 15px; }
    .ns-panel-search { padding: 40px 16px; }
    .ns-search-popup-input { font-size: 15px; }
}

@media (max-width: 340px) {
    .ns-header-inner { padding: 0 8px; }
    .ns-header-left, .ns-header-right { gap: 5px; }
    .ns-logo { font-size: 10px; white-space: nowrap; }
    .ns-icon-btn { width: 24px; height: 24px; }
    .ns-icon-btn svg { width: 13px; height: 13px; }
}

:root { --header-h: 50px; }
@media (max-width: 480px) { :root { --header-h: 52px; } }

/* =========================================================
   5. HERO
========================================================= */
.ns-hero {
    position: relative;
    width: 100%;
    height: 65vh;
    min-height: 440px;
    background-size: cover;
    background-position: center 75%;
    display: flex;
    align-items: flex-end;
    padding: 0 24px 36px;
    overflow: hidden;
}
body.ns-front-page .ns-hero { margin-top: calc(var(--header-h) * -1); }
.ns-hero-overlay { position: absolute; inset: 0; background: linear-gradient(180deg, rgba(0,0,0,.25), rgba(0,0,0,.45)); }
.ns-hero-content { position: relative; z-index: 2; color: #fff; max-width: 340px; }
.ns-hero-title { font-size: 20px; letter-spacing: .5px; margin-bottom: 20px; }
.ns-hero-subtext { font-size: 14px; color: #f0f0f0; margin-bottom: 24px; max-width: 480px; }
.ns-hero-btn {
    display: inline-block;
    border: 1.5px solid #fff;
    color: #fff;
    padding: 14px 32px;
    font-size: 13px; font-weight: 700;
    text-transform: uppercase; letter-spacing: 1px;
    border-radius: 2px;
    transition: background .2s, color .2s;
}
.ns-hero-btn:hover { background: #fff; color: #1b2a3d; }

@media (min-width: 768px) { .ns-hero { padding: 0 48px 50px; height: 75vh; } .ns-hero-title { font-size: 28px; } .ns-hero-subtext { font-size: 16px; } .ns-hero-content { max-width: 640px; } }
@media (min-width: 1200px) { .ns-hero { padding: 0 64px 64px; height: 82vh; max-height: 760px; } .ns-hero-title { font-size: 34px; } }
@media (max-width: 480px) { .ns-hero-title { font-size: 20px; margin-bottom: 14px; } .ns-hero-subtext { font-size: 12px; margin-bottom: 16px; } .ns-hero-btn { padding: 11px 24px; font-size: 11px; } }

/* Front page pe header transparent (hero image ke upar), scroll pe white */
body.ns-front-page .ns-header {
    background: transparent;
    border-bottom: none;
    transition: background .25s ease;
}
body.ns-front-page .ns-header .ns-logo,
body.ns-front-page .ns-header .ns-icon-btn {
    color: #fff;
}
body.ns-front-page .ns-header .ns-icon-btn:hover {
    background: rgba(255,255,255,.15);
}
body.ns-front-page .ns-header.is-scrolled { background: #fff; border-bottom: 1px solid #ececec; }
body.ns-front-page .ns-header.is-scrolled .ns-logo,
body.ns-front-page .ns-header.is-scrolled .ns-icon-btn { color: #1b2a3d; }
body.ns-front-page .ns-header.is-scrolled .ns-icon-btn:hover { background: #eeeeee; }

/* =========================================================
   6. CATEGORY GRID
========================================================= */
.ns-cat-section { padding: 48px 0 24px; }
.ns-section-heading { font-size: 24px; letter-spacing: .5px; text-align: center; text-transform: uppercase; margin-bottom: 28px; }
.ns-cat-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 12px; }
.ns-cat-card {
    position: relative; aspect-ratio: 4/5;
    background-color: #1b2a3d;
    background-size: cover; background-position: center;
    border-radius: 4px; overflow: hidden;
    display: flex; align-items: flex-end; justify-content: center;
    padding-bottom: 16px;
}
.ns-cat-card-overlay { position: absolute; inset: 0; background: linear-gradient(180deg, rgba(0,0,0,0) 50%, rgba(0,0,0,.55) 100%); transition: background .3s; }
.ns-cat-card:hover .ns-cat-card-overlay { background: linear-gradient(180deg, rgba(0,0,0,.05) 40%, rgba(0,0,0,.65) 100%); }
.ns-cat-card-name { position: relative; z-index: 2; color: #fff; font-weight: 700; font-size: 13px; letter-spacing: .8px; text-transform: uppercase; text-align: center; padding: 0 8px; }

/* 7 categories: mobile pe last akela card full width */
@media (max-width: 767px) {
    .ns-cat-grid .ns-cat-card:last-child:nth-child(odd) { grid-column: 1 / -1; aspect-ratio: 16/9; }
}

@media (min-width: 768px) {
    .ns-cat-section { padding: 64px 0 32px; }
    .ns-section-heading { font-size: 30px; margin-bottom: 36px; }
    .ns-cat-grid { grid-template-columns: repeat(4, 1fr); gap: 18px; }
    .ns-cat-card-name { font-size: 15px; }
}
@media (min-width: 1200px) { .ns-section-heading { font-size: 34px; } .ns-cat-grid { gap: 22px; } }

/* =========================================================
   7. PROMO BANNER
========================================================= */
.ns-promo-banner {
    position: relative; width: 100%;
    aspect-ratio: 1942/809; min-height: 280px;
    background-size: cover; background-position: center;
    display: flex; align-items: center; justify-content: center;
    overflow: hidden; margin: 32px 0;
}
.ns-promo-overlay { position: absolute; inset: 0; background: rgba(0,0,0,.35); }
.ns-promo-content { position: relative; z-index: 2; text-align: center; color: #fff; }
.ns-promo-title { font-size: 26px; letter-spacing: .5px; text-transform: uppercase; margin-bottom: 18px; }

@media (min-width: 768px) { .ns-promo-banner { margin: 48px 0; } .ns-promo-title { font-size: 36px; } }

.ns-view-all { text-align: center; padding: 20px 24px 64px; }
.ns-view-all-link {
    display: inline-block;
    border-bottom: 1.5px solid #1b2a3d;
    padding-bottom: 4px;
    font-weight: 700; font-size: 13px;
    text-transform: uppercase; letter-spacing: 1px;
    transition: opacity .2s;
}
.ns-view-all-link:hover { opacity: .6; }

/* =========================================================
   8. FEATURED PRODUCTS (home)
========================================================= */
.ns-arrivals-section { padding: 48px 0 24px; }
.ns-arrivals-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 16px 12px; }
.ns-arrival-img { position: relative; aspect-ratio: 3/4; overflow: hidden; border-radius: 4px; background: #f4f4f4; margin-bottom: 10px; }
.ns-arrival-img img { width: 100%; height: 100%; object-fit: cover; transition: transform .4s; }
.ns-arrival-card:hover .ns-arrival-img img { transform: scale(1.05); }
.ns-arrival-name {
    font-size: 13px;
    font-weight: 600;
    margin-bottom: 4px;
    line-height: 1.35;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    min-height: calc(1.35em * 2);
}

@media (min-width: 768px) {
    .ns-arrivals-section { padding: 64px 0 32px; }
    .ns-arrivals-grid { grid-template-columns: repeat(4, 1fr); gap: 24px 20px; }
    .ns-arrival-name { font-size: 14px; }
}
@media (min-width: 1200px) { .ns-arrivals-grid { gap: 28px 24px; } }

/* =========================================================
   9. SERVICES
========================================================= */
.ns-services-section { background: #eef1f4; }
.ns-services-grid { display: grid; grid-template-columns: 1fr; gap: 12px; }
.ns-service-card { background: #fff; border-radius: 6px; padding: 24px; text-align: center; }
.ns-service-card h3 { font-size: 16px; margin-bottom: 8px; }
.ns-service-card p { font-size: 13px; color: #6b6b6b; margin: 0; }
@media (min-width: 768px) {
    .ns-services-grid { grid-template-columns: repeat(3, 1fr); gap: 18px; }
}

/* =========================================================
   10. FOOTER
========================================================= */
.ns-footer { background: #1b2a3d; color: #fff; padding: 48px 0 24px; margin-top: 40px; }
.ns-footer-grid { display: grid; grid-template-columns: 1fr; gap: 32px; margin-bottom: 36px; }
.ns-footer-heading { font-size: 13px; text-transform: uppercase; letter-spacing: 1px; margin-bottom: 16px; }
.ns-footer-links li { margin-bottom: 10px; }
.ns-footer-links a { font-size: 14px; color: #cfcfcf; transition: color .2s; }
.ns-footer-links a:hover { color: #fff; }
.ns-footer-social { display: flex; gap: 14px; }
.ns-footer-social a { width: 36px; height: 36px; border-radius: 50%; border: 1px solid rgba(255,255,255,.25); display: flex; align-items: center; justify-content: center; color: #fff; transition: background .2s; }
.ns-footer-social a:hover { background: rgba(255,255,255,.12); }
.ns-footer-social svg { width: 17px; height: 17px; }
.ns-footer-bottom { display: flex; flex-direction: column; gap: 14px; align-items: center; text-align: center; padding-top: 24px; border-top: 1px solid rgba(255,255,255,.12); }
.ns-footer-copyright { font-size: 12px; color: #a3a3a3; }

@media (min-width: 768px) {
    .ns-footer { padding: 64px 0 28px; }
    .ns-footer-grid { grid-template-columns: repeat(4, 1fr); gap: 24px; }
}

/* =========================================================
   11. SHOP PAGE
========================================================= */
.ns-shop-page { padding: 32px 16px 64px; }

.ns-shop-title { font-size: 26px; letter-spacing: .5px; text-transform: uppercase; margin-bottom: 24px; }

.ns-filter-toggle-btn {
    display: flex; align-items: center; gap: 8px;
    width: fit-content;
    padding: 11px 18px;
    border: 1px solid #1b2a3d;
    border-radius: 2px;
    font-size: 12px; font-weight: 700;
    text-transform: uppercase; letter-spacing: .5px;
    cursor: pointer;
    margin-bottom: 20px;
}
.ns-filter-toggle-btn svg { width: 14px; height: 14px; }

.ns-shop-sidebar { max-height: 0; overflow: hidden; transition: max-height .35s ease; }
#ns-filter-toggle:checked ~ .ns-shop-sidebar { max-height: 1000px; }
.ns-shop-sidebar-inner { padding: 4px 4px 24px; border-bottom: 1px solid #ececec; margin-bottom: 20px; }

.ns-widget { margin-bottom: 28px; }
.ns-widget ul { list-style: none; }
.ns-widget > ul > li { margin-bottom: 6px; }
.ns-widget > ul > li > a { font-size: 14px; font-weight: 700; color: #1b2a3d; }
.ns-widget ul ul { margin: 6px 0 12px 14px; border-left: 1px solid #ececec; padding-left: 12px; }
.ns-widget ul ul li { margin-bottom: 8px; }
.ns-widget ul ul a { font-size: 13px; font-weight: 400; color: #6b6b6b; }
.ns-widget a:hover { color: #1b2a3d; }

.ns-shop-sidebar h2, .ns-shop-sidebar h3, .ns-shop-sidebar h4, .ns-shop-sidebar h5 {
    font-size: 13px; text-transform: uppercase; letter-spacing: .8px; margin-bottom: 14px;
}

.woocommerce-result-count { font-size: 13px; color: #6b6b6b; margin-bottom: 12px; }
.woocommerce-ordering select {
    border: 1px solid #dedede; padding: 8px 12px;
    font-size: 13px; font-family: 'Montserrat', sans-serif;
    border-radius: 2px; background: #fff; margin-bottom: 20px;
}

.ns-shop-main .woocommerce-result-count { float: left !important; margin: 0 0 20px !important; }
.ns-shop-main .woocommerce-ordering { float: right !important; margin: 0 0 20px !important; }
.ns-shop-main .woocommerce-ordering select { margin-bottom: 0 !important; }

.ns-shop-main ul.products {
    display: grid !important;
    grid-template-columns: repeat(2, 1fr);
    gap: 18px 12px;
    list-style: none;
}
.ns-shop-main ul.products::before,
.ns-shop-main ul.products::after {
    content: none !important;
    display: none !important;
}
.ns-shop-main ul.products li.product { float: none !important; width: auto !important; margin: 0 !important; }

.ns-shop-card-img { aspect-ratio: 3/4; overflow: hidden; border-radius: 4px; background: #f4f4f4; margin-bottom: 10px; }
.ns-shop-card-img,
a.woocommerce-loop-product__link {
    display: block !important;
    margin: 0 !important;
    padding: 0 !important;
}
.ns-shop-card-img img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    display: block !important;
    margin: 0 !important;
    padding: 0 !important;
    transition: transform 0.4s ease;
}
.ns-shop-main ul.products li.product:hover .ns-shop-card-img img { transform: scale(1.05); }

.ns-shop-card-name {
    font-size: 13px;
    font-weight: 600;
    margin-bottom: 4px;
    line-height: 1.35;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    min-height: calc(1.35em * 2);
}

/* Loop "Get a Quote" button (shop + related) */
.ns-loop-quote {
    display: inline-block;
    margin-top: 8px;
    border: 1px solid #1b2a3d; color: #1b2a3d; background: transparent;
    padding: 9px 16px; font-size: 11px; font-weight: 700;
    text-transform: uppercase; letter-spacing: .5px;
    border-radius: 2px;
    transition: background .2s ease, color .2s ease;
}
.ns-loop-quote:hover { background: #1b2a3d; color: #fff; }

.woocommerce-pagination { margin-top: 32px; text-align: center; }
.woocommerce-pagination ul { display: inline-flex; gap: 6px; list-style: none; }
.woocommerce-pagination a, .woocommerce-pagination span {
    display: flex; align-items: center; justify-content: center;
    width: 34px; height: 34px; font-size: 13px;
    border: 1px solid #dedede; border-radius: 2px; color: #1b2a3d;
}
.woocommerce-pagination .current { background: #1b2a3d; color: #fff; border-color: #1b2a3d; }

.woocommerce-info { border-top: 2px solid #1b2a3d; background: #f7f7f7; padding: 16px; font-size: 14px; list-style: none; }
.woocommerce-info::before { display: none !important; content: none !important; }

@media (min-width: 1024px) {
    .ns-shop-page { padding: 48px 0 80px; }
    .ns-shop-title { font-size: 34px; margin-bottom: 32px; }
    .ns-filter-toggle-btn { display: none; }
    .ns-shop-layout { display: flex; align-items: flex-start; gap: 40px; }
    .ns-shop-sidebar { max-height: none; overflow: visible; width: 220px; flex-shrink: 0; }
    .ns-shop-sidebar-inner { border-bottom: none; }
    .ns-shop-main { flex: 1; }
    .ns-shop-main ul.products { grid-template-columns: repeat(3, 1fr); gap: 28px 24px; }
}

/* =========================================================
   12. SINGLE PRODUCT PAGE
========================================================= */
.ns-single-product-page { padding: 24px 16px 64px; }

.ns-single-product-page div.product {
    display: flex;
    flex-direction: column;
    gap: 24px;
    position: relative;
}

.ns-single-product-page .woocommerce-product-gallery {
    position: relative;
    width: 100%;
    border-radius: 4px;
    overflow: hidden;
    background: #f4f4f4;
}
.ns-single-product-page .woocommerce-product-gallery img {
    width: 100%; height: auto; object-fit: cover; display: block !important;
}

.flex-control-thumbs { display: flex; gap: 6px; margin-top: 10px; list-style: none; flex-wrap: wrap; }
.flex-control-thumbs li { width: calc(20% - 5px); max-width: 64px; }
.flex-control-thumbs img { border-radius: 3px; cursor: pointer; opacity: 0.6; }
.flex-control-thumbs img.flex-active, .flex-control-thumbs img:hover { opacity: 1; }

.ns-single-product-page .product_title { font-size: 26px; line-height: 1.2; letter-spacing: .2px; margin-bottom: 14px; max-width: 90%; }

.ns-single-product-page .woocommerce-product-details__short-description { font-size: 14px; line-height: 1.8; color: #4a4a4a; margin-bottom: 22px; }
.ns-single-product-page .woocommerce-product-details__short-description p { margin-bottom: 10px; }

/* Get a Quote + Call Now */
.ns-quote-box { display: flex; flex-direction: column; gap: 12px; margin-bottom: 8px; }
.ns-quote-btn {
    display: flex; align-items: center; justify-content: center; gap: 10px;
    width: 100%; min-height: 46px; padding: 0 20px;
    border-radius: 6px;
    font-size: 12px; font-weight: 700;
    text-transform: uppercase; letter-spacing: .8px;
    text-align: center;
    transition: opacity .2s ease, background .2s ease, color .2s ease;
}
.ns-quote-btn svg { width: 18px; height: 18px; flex-shrink: 0; }
.ns-quote-btn-solid { background: #1b2a3d; color: #fff; border: 1px solid #1b2a3d; }
.ns-quote-btn-solid:hover { opacity: .85; }
.ns-quote-btn-outline { background: transparent; color: #1b2a3d; border: 1.5px solid #1b2a3d; }
.ns-quote-btn-outline:hover { background: #1b2a3d; color: #fff; }

/* Meta / Share */
.ns-single-product-page .product_meta { margin-top: 22px; padding-top: 16px; border-top: 1px solid #ececec; font-size: 12px; color: #8a8a8a; }
.ns-single-product-page .product_meta > span { display: block; margin-bottom: 6px; }
.ns-single-product-page .product_meta a { color: #8a8a8a; text-decoration: underline; }

.ns-product-share { display: flex; align-items: center; gap: 12px; margin-top: 16px; flex-wrap: wrap; }
.ns-share-label { font-size: 11px; font-weight: 700; text-transform: uppercase; letter-spacing: .5px; color: #8a8a8a; }
.ns-product-share a { width: 30px; height: 30px; border-radius: 50%; border: 1px solid #dedede; display: flex; align-items: center; justify-content: center; color: #1b2a3d; }
.ns-product-share svg { width: 14px; height: 14px; }

/* Related / Up-sells */
.related.products, .up-sells.products { margin-top: 56px; padding-top: 40px; border-top: 1px solid #ececec; }
.related.products > h2, .up-sells.products > h2 { font-size: 20px; text-transform: uppercase; margin-bottom: 20px; }
.related ul.products, .up-sells ul.products { display: grid !important; grid-template-columns: repeat(2, 1fr); gap: 16px 12px; list-style: none; }
.related ul.products li.product, .up-sells ul.products li.product { float: none !important; width: auto !important; margin: 0 !important; }
.related ul.products::before, .related ul.products::after,
.up-sells ul.products::before, .up-sells ul.products::after {
    content: none !important;
    display: none !important;
}
.related ul.products li.product:hover .ns-shop-card-img img,
.up-sells ul.products li.product:hover .ns-shop-card-img img {
    transform: scale(1.05);
}

/* Accordion */
.ns-accordion { margin-top: 40px; border-top: 1.5px solid #1b2a3d; }
.ns-accordion-item { border-bottom: 1px solid #ececec !important; }
.ns-accordion-summary { display: flex; align-items: center; justify-content: space-between; padding: 18px 4px; cursor: pointer; list-style: none; font-weight: 700; font-size: 13px; text-transform: uppercase; letter-spacing: .6px; color: #1b2a3d; }
.ns-accordion-summary::-webkit-details-marker { display: none; }
.ns-accordion-summary::marker { content: ''; }
.ns-accordion-icon { position: relative; width: 14px; height: 14px; flex-shrink: 0; }
.ns-accordion-icon::before, .ns-accordion-icon::after { content: ''; position: absolute; background: #1b2a3d; }
.ns-accordion-icon::before { top: 6px; left: 0; width: 14px; height: 1.5px; }
.ns-accordion-icon::after { top: 0; left: 6px; width: 1.5px; height: 14px; transition: transform .25s ease; }
.ns-accordion-item[open] .ns-accordion-icon::after { transform: rotate(90deg); }
.ns-accordion-content { padding: 0 4px 24px; font-size: 14px; color: #4a4a4a; line-height: 1.8; }
.ns-accordion-content h2 { font-size: 16px; margin-bottom: 10px; }
.ns-tab-link { display: inline-block; margin-top: 10px; font-size: 13px; font-weight: 700; color: #1b2a3d; text-decoration: underline; }

/* Additional Info Table (capacity, power, waghera) */
.woocommerce-product-attributes { width: 100%; border-collapse: collapse; border: 1px solid #ececec; }
.woocommerce-product-attributes tr { border-bottom: 1px solid #ececec; }
.woocommerce-product-attributes tr:last-child { border-bottom: none; }
.woocommerce-product-attributes th, .woocommerce-product-attributes td { padding: 12px 16px; font-size: 13px; text-align: left; border: none !important; }
.woocommerce-product-attributes th { font-weight: 700; background: #f7f7f7; width: 35%; color: #1b2a3d; }
.woocommerce-product-attributes td { color: #4a4a4a; }

@media (min-width: 900px) {
    .ns-single-product-page { padding: 40px 0 80px; }
    .ns-single-product-page div.product { flex-direction: row; align-items: flex-start; gap: 5%; }
    .ns-single-product-page .images { flex: 0 0 50%; max-width: 50%; margin: 0; position: relative; }
    .ns-single-product-page .summary { flex: 0 0 45%; max-width: 45%; margin: 0; }
    .ns-single-product-page .product_title { font-size: 32px; max-width: 100%; }
    .related ul.products, .up-sells ul.products { grid-template-columns: repeat(4, 1fr); gap: 24px 20px; }
}

/* =========================================================
   13. GENERIC PAGE CONTENT (About Us, FAQ, Terms, Contact, etc.)
========================================================= */
.ns-page-content { padding: 8px 0 64px; }
.ns-page-content h1 { font-size: 28px; margin-bottom: 20px; }
.ns-page-content h2 { font-size: 22px; margin: 32px 0 14px; }
.ns-page-content h3 { font-size: 17px; margin: 24px 0 10px; }
.ns-page-content p { font-size: 14px; line-height: 1.9; color: #4a4a4a; margin-bottom: 16px; }
.ns-page-content ul, .ns-page-content ol { margin: 0 0 16px 20px; }
.ns-page-content ul { list-style: disc; }
.ns-page-content ol { list-style: decimal; }
.ns-page-content li { font-size: 14px; line-height: 1.8; color: #4a4a4a; margin-bottom: 8px; }
.ns-page-content a { color: #1b2a3d; text-decoration: underline; font-weight: 600; }
.ns-page-content strong { color: #1b2a3d; }
.ns-page-content blockquote { border-left: 3px solid #1b2a3d; padding-left: 16px; margin: 20px 0; font-style: italic; color: #4a4a4a; }
.ns-page-content img { border-radius: 4px; margin: 16px 0; }
.ns-page-content table { width: 100%; border-collapse: collapse; margin: 20px 0; }
.ns-page-content table th, .ns-page-content table td { padding: 10px 14px; border: 1px solid #ececec; font-size: 13px; text-align: left; }
.ns-page-content table th { background: #f7f7f7; font-weight: 700; }

@media (min-width: 1024px) {
    .ns-page-content { padding: 12px 0 80px; max-width: 860px; margin: 0 auto; }
    .inside-article:has(.ns-page-content) .entry-header {
        max-width: 860px;
        margin-left: auto;
        margin-right: auto;
    }
}