/* =============================================
   Product Listing & Product Card styles
   ============================================= */

/* Archive header */
.productArchiveHeader {
    padding-top: 20px;
    background-color: #f4f4f4;
}

.productArchiveTitle {
    font-family: "Noka-Medium";
    font-size: 50px;
    color: #000;
    margin-bottom: 0;
    line-height: 1.1;
}

.productArchiveSubtitle {
    font-family: "Noka-Medium";
    font-size: 22px;
    color: #6d6d6d;
    margin-bottom: 0;
}
.productArchiveBar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding-top: 24px;
    padding-bottom: 16px;
    border-bottom: 1px solid rgba(0,0,0,0.12);
}

.countLabel {
    font-family: "Navigo-Regular", sans-serif;
    font-size: 18px;
    letter-spacing: 1.8px;
    text-transform: uppercase;
    color: #000;
}

.productArchiveControls {
    display: flex;
    align-items: center;
    gap: 40px;
}

.productCtrl {
    font-family: "Navigo-Regular", sans-serif;
    font-size: 18px;
    letter-spacing: 1.8px;
    text-transform: uppercase;
    color: #000;
    cursor: pointer;
}

/* Product grid section */
.productGridSec {
    background-color: #f1f1f1;
    padding-top: 40px;
    padding-bottom: 100px;
}

.productGrid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 45px;
}

/* Product card */
.productCard {
    background-color: transparent;
    padding: 0;
    display: flex;
    flex-direction: column;
}

.productSku {
    font-family: "Noka-Semibold";
    font-size: 14px;
    letter-spacing: 0.8px;
    color: #443f3b;
    margin-bottom: 10px;
    text-transform: uppercase;
    word-break: break-word;
}

.productImgWrap {
    width: 100%;
    aspect-ratio: auto;
    margin-bottom: 14px;
    background-color: transparent;
    display: flex;
    align-items: center;
    justify-content: center;
}

.productImgWrap img.productThumb {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.productInfo {
    display: flex;
    flex-direction: column;
    flex: 1;
    position: relative;
}

.productName {
    font-family: "Noka-Semibold";
    font-size: 18px;
    line-height: 26px;
    color: #000 !important;
    margin-bottom: 8px;
}

.productName a {
    color: #000 !important;
    text-decoration: none !important;
}

.productName a:hover {
    color: #000 !important;
    text-decoration: none !important;
}

.productMeta {
    font-family: "Noka-Medium";
    font-size: 16px;
    line-height: 26px;
    color: #443f3b;
    margin-bottom: 0;
}

.productPriceRow {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-top: 10px;
}

.productPrice {
    font-family: "Noka-Semibold";
    font-size: 16px;
    line-height: 32px;
    color: #443f3b;
    margin-bottom: 0;
}

.productEnquiryBtn {
    background: none;
    border: none;
    cursor: pointer;
    padding: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    transition: opacity 0.2s;
}

.productEnquiryBtn:hover {
    opacity: 1;
}

/* Load more */
.productLoadMore {
    text-align: center;
    padding-top: 50px;
}

.productLoadMore .ctaBtn {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    cursor: pointer;
}

.productLoadMore .ctaBtn a {
    font-family: "Navigo-Medium", sans-serif;
    font-size: 14px;
    letter-spacing: 1.4px;
    text-transform: uppercase;
    text-decoration: none;
    color: #000;
}

/* Brand products section */
.brandProductSec {
    padding-top: 30px;
    padding-bottom: 50px;
    /* background-color: #f6f6f6; */
    border-bottom: 1px solid #444;
    margin-bottom: 30px;
}

.brandProductControls {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 30px;
}

.brandProductCount {
    font-family: "Navigo-Regular", sans-serif;
    font-size: 16px;
    letter-spacing: 1.6px;
    text-transform: uppercase;
    color: #000;
}

.brandProductGrid {
    margin-top: 45px;
}

.brandProductFooter {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 60px;
    padding-top: 50px;
}

.brandProductFooter .ctaBtn {
    display: inline-flex;
    align-items: flex-end;
    gap: 10px;
    cursor: pointer;
}

.brandProductFooter .ctaBtn a {
    font-family: "Navigo-Medium", sans-serif;
    font-size: 14px;
    letter-spacing: 1.4px;
    text-transform: uppercase;
    text-decoration: none;
    color: #000;
}
.titleRow {
    border: 1px solid rgb(68 63 59 / 46%);
    border-left: 0px;
    border-right: 0px;
    padding: 20px 0 !important;
}

.titleRow h3 {
    margin: 0px;
}
.productGrid.brandProductGrid {
    padding: 0;
}

.ProductImageSKU {
    background: #fff;
    padding: 40px;
    padding-bottom: 10px;
    margin-bottom: 20px;
}
.hidearrow
{
    display:none;
}
.swiperpro-arrow {
    position: absolute;
    z-index: 99;
    bottom: 15px;
    right: 5px;
    /* background: #fff; */
    padding: 0;
    display: none;
}

.productImgWrap img {
    width: 100%;
    aspect-ratio: 1 / 1;
    object-fit: cover;
    object-position: center;
}

.productImgWrap a {
    width: 100%;
    display: block;
}
body.single-brand-stories:before {
    display: none;
}

body.single-brand-stories .brandOverview::before {
    display: none;
}
body.single-brand-stories {
    background: #F6F6F6 !important;
}
/* Product archive body */
body.post-type-archive-product {
    background-color: #f1f1f1 !important;
}

body.post-type-archive-product::before {
    background: none;
}
.popupBtn {
    position: absolute;
    bottom: 5px;
    right: 5px;
    cursor: pointer;
}
.page-template-content-product  .mainHeader {
    background: #f4f4f4;
}
.productPageTitle {
    display: flex;
    align-items: end;
    gap: 12px;
}
button.productEnquiryBtn img {
}

button.productEnquiryBtn img.hoverimgicon {
    display: none;
}

button.productEnquiryBtn:hover img.hoverimgicon {
    display: block;
}

button.productEnquiryBtn:hover img.mainimgeicon {
    display: none;
}
.hoverTip {
    position: absolute;
    top: -28px;
    width: 52px;
    height: 22px;
    left: -10px;
    display: none;
}

.popupBtn:hover .hoverTip {
    display: block;
}
/* =============================================
   Responsive
   ============================================= */

@media (max-width: 1199px) {
    .productGrid {
        grid-template-columns: repeat(3, 1fr);
    }

    .productArchiveTitle {
        font-size: 38px;
    }
}


@media (max-width: 991px) {
    .productGrid {
        grid-template-columns: repeat(2, 1fr);
    }

    .productArchiveTitle {
        font-size: 30px;
    }

    .productArchiveBar {
        flex-direction: column;
        align-items: flex-start;
        gap: 14px;
    }

    .brandProductControls {
        justify-content: flex-start;
        margin-top: 10px;
    }

    .brandProductFooter {
        flex-direction: column;
        gap: 24px;
    }
}

@media (max-width: 575px) {
    .productGrid {
        grid-template-columns: repeat(1, 1fr);
    }

    .productArchiveTitle {
        font-size: 34px;
    }

    .productArchiveControls {
        gap: 20px;
    }
}

/* =============================================
   Brand Filter Dropdown
   ============================================= */

.brandFilterWrap {
    position: relative;
    display: inline-block;
}

.brandFilterTrigger {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    cursor: pointer;
    user-select: none;
}

.filterArrow {
    transition: transform 0.2s ease;
}

.brandDropdown {
    display: none;
    position: absolute;
    top: calc(100% + 12px);
    left: 0;
    min-width: 220px;
    background: #fff;
    border: 1px solid rgba(0,0,0,0.12);
    z-index: 999;
    box-shadow: 0 4px 20px rgba(0,0,0,0.1);
    max-height: 385px;
    overflow-y: auto;
}

/* Solution dropdown items — same style as brand */
.solDropdownItem {
    padding: 12px 18px;
    font-family: "Noka-Medium";
    font-size: 15px;
    color: #443f3b;
    cursor: pointer;
    border-bottom: 1px solid rgba(0,0,0,0.06);
    transition: background 0.15s;
}
.solDropdownItem:last-child { border-bottom: none; }
.solDropdownItem:hover      { background: #f4f4f4; }
.solDropdownItem.selected   { background: #f0ede7; color: #000; font-family: "Noka-Semibold"; }

.brandDropdown.open {
    display: block;
    right: 0;
    left: initial;
}

.brandDropdown.open + .brandFilterTrigger .filterArrow,
.brandFilterTrigger .filterArrow {
    transform: none;
}

.brandDropdown.open ~ .filterArrow {
    transform: rotate(180deg);
}

.brandDropdownItem {
    padding: 12px 18px;
    font-family: "Noka-Medium";
    font-size: 15px;
    color: #443f3b;
    cursor: pointer;
    border-bottom: 1px solid rgba(0,0,0,0.06);
    transition: background 0.15s;
}

.brandDropdownItem:last-child {
    border-bottom: none;
}

.brandDropdownItem:hover {
    background: #f4f4f4;
}

.brandDropdownItem.selected {
    background: #f0ede7;
    color: #000;
    font-family: "Noka-Semibold";
}

/* Selected brand chips */
.selectedBrandsRow {
    display: flex;
    align-items: center;
    gap: 10px;
    flex-wrap: wrap;
    padding-top: 14px;
}

.selectedBrandsList {
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
}

.brandChip {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 6px 14px;
    background: #443f3b;
    color: #fff;
    font-family: "Noka-Medium";
    font-size: 13px;
    letter-spacing: 0.5px;
}

.chipRemove {
    background: none;
    border: none;
    cursor: pointer;
    padding: 0;
    display: flex;
    align-items: center;
    opacity: 0.7;
    transition: opacity 0.15s;
}

.chipRemove:hover {
    opacity: 1;
}

.chipRemove svg path {
    stroke: #fff;
}

/* Grid loading state — hide grid, show spinner */
.loadingGrid {
    display: none !important;
}

/* Loader */
.productGridLoader {
    display: none;
    align-items: center;
    justify-content: center;
    padding: 100px 0;
}
.productGridLoader.active {
    display: flex;
}
.gridSpinner {
    width: 44px;
    height: 44px;
    border: 3px solid rgba(68,63,59,0.15);
    border-top-color: #443f3b;
    border-radius: 50%;
    animation: gridSpin 0.75s linear infinite;
}
@keyframes gridSpin {
    to { transform: rotate(360deg); }
}

.noProductsMsg {
    padding: 60px 0;
    text-align: center;
    font-family: "Noka-Medium";
    font-size: 18px;
    color: #6d6d6d;
}

/* =============================================
   Enquiry Popup
   ============================================= */

.enquiryOverlay {
    display: none;
    position: fixed;
    inset: 0;
    background: rgba(0,0,0,0.5);
    z-index: 9998;
}

.enquiryOverlay.open {
    display: block;
}

.enquiryPopup {
    position: fixed;
    top: initial;
    right: -560px;
    transform: initial;
    width: 521px;
    max-height: 90vh;
    overflow-y: auto;
    background: #383838;
    z-index: 9999;
    padding: 32px;
    transition: right 0.35s cubic-bezier(0.4, 0, 0.2, 1);
    overflow: hidden;
    overflow-y: auto;
    bottom: 0;
}

.enquiryPopup.open {
    right: 0;
}

/* Scrollbar */
.enquiryPopup::-webkit-scrollbar { width: 4px; }
.enquiryPopup::-webkit-scrollbar-track { background: #444; }
.enquiryPopup::-webkit-scrollbar-thumb { background: #666; border-radius: 2px; }

.enquiryClose {
    position: absolute;
    top: 16px;
    right: 20px;
    background: none;
    border: none;
    cursor: pointer;
    padding: 4px;
    display: flex;
    align-items: center;
    justify-content: center;
    opacity: 0.7;
    transition: opacity 0.2s;
    z-index: 1;
}

.enquiryClose:hover { opacity: 1; }

/* Product header: SKU Ã¢â‚¬Âº Title Ã¢â‚¬Âº Colour stacked */
.enquiryProductHeader {
    margin-bottom: 20px;
}

.enquirySkuText {
    font-family: "Noka-Semibold";
    font-size: 15px;
    color: #fff;
    margin-bottom: 4px;
    letter-spacing: 0.6px;
    text-transform: uppercase;
}

.enquiryProductName {
    font-family: "Noka-Semibold";
    font-size: 20px;
    line-height: 1.3;
    color: #fff;
    margin-bottom: 4px;
}

.enquiryColour {
    margin-bottom: 0;
}

/* Product preview: image left Ã‚Â· details right */
.enquiryProductPreview {
    display: flex;
    gap: 24px;
    margin-bottom: 24px;
    align-items: center;
}

.enquiryImgBox {
    flex-shrink: 0;
    width: 160px;
    background: #fff;
    padding: 16px;
}

.enquiryImgBox img {
    width: 100%;
    height: 120px;
    object-fit: cover;
    display: block;
}

.enquiryProductDetails {
    flex: 1;
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding-top: 4px;
}

.enquiryProductMeta {
    font-family: "Noka-Medium";
    font-size: 15px;
    line-height: 28px;
    color: #fff;
    margin-bottom: 0;
}

/* Form area */
.enquiryFormArea {
    padding-top: 8px;
}

.enquireNowTitle {
    font-family: "Noka-Semibold";
    font-size: 26px;
    letter-spacing: 2.6px;
    color: #fff;
    text-transform: uppercase;
    margin-bottom: 28px;
}

/* CF7 overrides inside popup */
.enquiryPopup .wpcf7-form {
    margin: 0;
}

.enquiryPopup .wpcf7-form p {
    margin-bottom: 0;
}

.enquiryPopup .wpcf7-form input[type="text"],
.enquiryPopup .wpcf7-form input[type="email"],
.enquiryPopup .wpcf7-form input[type="tel"],
.enquiryPopup .wpcf7-form textarea {
    width: 100%;
    background: transparent;
    border: none;
    border-bottom: 1px solid rgba(255,255,255,0.4);
    border-radius: 0;
    color: #fff;
    font-family: "Noka-Medium";
    font-size: 16px;
    padding: 10px 0;
    margin-bottom: 4px;
    outline: none;
    box-shadow: none;
    transition: border-color 0.2s;
}

.enquiryPopup .wpcf7-form input::placeholder,
.enquiryPopup .wpcf7-form textarea::placeholder {
    color: rgba(255,255,255,0.5);
}

.enquiryPopup .wpcf7-form input:focus,
.enquiryPopup .wpcf7-form textarea:focus {
    border-bottom-color: #fff;
}

.enquiryPopup .wpcf7-form textarea {
    resize: none;
    height: 60px;
}

/* Checkbox row */
.enquiryPopup .wpcf7-form .wpcf7-checkbox .wpcf7-list-item {
    margin: 0;
}

.enquiryPopup .wpcf7-form .wpcf7-checkbox input[type="checkbox"] {
    width: 18px;
    height: 18px;
    accent-color: #fff;
    margin-right: 8px;
    cursor: pointer;
    border: none;
    border-bottom: none;
    padding: 0;
}
.prosliderarrow.swiper-button-disabled {
    opacity: 0.4;
}
.enquiryPopup .wpcf7-form .wpcf7-list-item-label {
    font-family: "Noka-Medium";
    font-size: 15px;
    color: #fff;
}
.prosliderarrow {
    margin: 4px 0px;
}
/* Submit row */
.enquiryPopup .wpcf7-form .wpcf7-submit,
.enquiryPopup .wpcf7-form input[type="submit"] {
    background: transparent;
    border: none;
    color: #fff;
    font-family: "Navigo-Medium", sans-serif;
    font-size: 14px;
    letter-spacing: 1.4px;
    text-transform: uppercase;
    cursor: pointer;
    padding: 0;
    display: inline-flex;
    align-items: center;
    gap: 10px;
    text-align: right;
    transition: opacity 0.2s;
}

.enquiryPopup .wpcf7-form input[type="submit"]:hover {
    opacity: 0.7;
}
.productCard:hover  .swiperpro-arrow {
    display: block;
}
/* CF7 placeholder when no form ID set */
.cf7Placeholder {
    font-family: "Noka-Medium";
    font-size: 14px;
    color: rgba(255,255,255,0.5);
    padding: 20px 0;
    border: 1px dashed rgba(255,255,255,0.2);
    text-align: center;
}
.enquiryFormArea .circleArrow img {
    filter: invert(1);
}

.enquiryPopup .wpcf7-form .wpcf7-submit, .enquiryPopup .wpcf7-form input[type="submit"] {
    font-weight: 400;
}

.enquiryFormArea .cf7Row {
    margin-bottom: 5px;
}
.enquiryFormArea span.wpcf7-spinner {
    right: -4px;
}
.cf7Rowsubmitebtn {
    display: flex;
    align-items: center;
    justify-content: flex-end;
}
.enquiryFormArea .cf7Row.cf7CheckRow input {
    position: relative;
    top: 3px;
}
.ctaBtn button {
    font-weight: 400;
    line-height: normal;
    font-family: "Navigo-Medium", sans-serif;
    font-size: 14px;
    letter-spacing: 1.4px;
    text-transform: uppercase;
    text-decoration: none;
    color: #000;
    border: none;
    outline: none;
    background: transparent;
}
.brandImgBox img {
    max-height: 90vh;
    width: 100%;
    object-fit: cover;
    border-radius: 6px;
    height: 100%;
}
.brandImgBox {
    height: 100%;
}

.imgArea {
    height: 100%;
}
.prosliderinner,
.prosliderinner .swiper-slide{
    width: 100% !important;
    height:auto !important;
}
.prosliderinner .swiper-slide {
    height: auto;
}
.prosliderinner .swiper-pagination {
    position: absolute;
    left: initial !important;
    right: 0;
    bottom: 4px !important;
    display: flex;
    align-items: start;
    justify-content: space-evenly;
}

.prosliderinner .swiper-pagination span.swiper-pagination-bullet {
    width: 100%;
    height: 3px;
    border-radius: 0px !important;
    margin: 0 2px !important;
    transition: 0.3s;
}

.prosliderinner .swiper-pagination span.swiper-pagination-bullet.swiper-pagination-bullet-active {
    background: #000 !important;
    width: 100% !important;
}
.solDescSec {
    padding-bottom: 50px;
}

.brandProductSecSolution {
    padding-top: 0px;
    padding-bottom: 70px;
    border: none;
}
section.collectionSec.pt_80.bg-white {
    padding-top: 90px;
}
/* Responsive popup */
@media (min-width:1200px) and (max-width:1550px)
{
    .productName {
    font-size: 15px;
}
.productMeta {
    font-size: 14px;
    line-height: 22px;
}
.enquireNowTitle {
    font-size: 22px;
    margin-bottom: 18px;
    line-height: 24px;
}
.productGrid {
    gap: 25px;
}
.brandDetail .desc p {
    line-height: 128%;
    font-size: 16px;
}
}
@media (max-width: 767px) {
    .enquiryPopup {
        width: 100%;
        right: -100%;
        top: auto;
        bottom: 0;
        transform: none;
        max-height: 85vh;
        border-radius: 16px 16px 0 0;
        padding: 24px 20px;
    }

    .enquiryPopup.open {
        right: 1%;
    }
    .productPageTitle {
    flex-direction: column;
    align-items: start;
}

.productArchiveSubtitle {
    font-size: 16px;
}

.productArchiveHeader {
    padding-top: 0;
}

.productArchiveBar {flex-direction: row;padding: 12px 0 !important;}

.countLabel {
    font-size: 12px;
}
.brandChip {
    font-size: 11px;
}
.productCtrl {
    font-size: 12px;
}

span#brandFilterTrigger {
    position: relative;
    top: -2px;
}

.productGridSec {
    padding-top: 8px;
}

.enquiryPopup {
    max-height: 85vh;
    top: 1%;
    bottom: 0;
    border-radius: 0px !important;
    width: 97%;
}
}
@media (max-width:767px)
{
    .swiperpro-arrow {
    display: block;
}
section.collectionSec.pt_80.bg-white {
    padding-top: 40px;
}
}
/* Popup: medium screens 991–1500px */
@media (min-width: 992px) and (max-width: 1500px) {
    .enquiryPopup {
        width: 400px;
        right: -420px;
        padding: 24px;
    }
    .enquiryPopup.open { right: 0; }
    .enquiryImgBox {
        width: 110px;
    }
    .enquiryImgBox img {
        height: 90px;
    }
    .enquiryProductName {
        font-size: 16px;
        line-height: 1.3;
    }
    .enquirySkuText { font-size: 13px; }
    .enquiryProductMeta { font-size: 13px; line-height: 24px; }
    .enquireNowTitle { font-size: 20px; }
}
