body.nc-storefront { background: var(--nc-surface); }
.nc-storefront .header_topbar { padding-block: 10px; }
.nc-storefront .main_header { border-bottom: 1px solid var(--nc-line); }
.nc-storefront .search_blocks { border: 1px solid var(--nc-line); box-shadow: none !important; }
.nc-storefront .search_blocks .form-control { min-height: 48px; }
.nc-storefront .search_bar_icon { min-width: 44px; min-height: 44px; }
.nc-storefront .header_nav { border-bottom: 1px solid var(--nc-line); }
.nc-storefront .woo_product_grid {
    border: 1px solid var(--nc-line);
    border-radius: var(--nc-radius);
    background: var(--nc-surface);
    padding: 10px;
    transition: box-shadow .2s ease, border-color .2s ease;
}
.nc-storefront .woo_product_thumb { border-radius: 12px; }
.nc-storefront .woo_product_grid .woo_product_caption { padding: 16px 6px 8px !important; }
.nc-storefront .woo_product_grid .woo_title { overflow-wrap: anywhere; }
.nc-storefront .woo_product_grid .product_icon a {
    min-width: 40px;
    min-height: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
}
.nc-storefront .woo_product_grid:focus-within { border-color: var(--bs-secondary); }
.nc-storefront .card:not(.woo_product_grid .card) { border-radius: var(--nc-radius); }
.nc-storefront .footer-middle { border-top: 1px solid var(--nc-line); }
.nc-storefront .footer-menu a { display: inline-block; padding-block: 6px; }
.nc-storefront .woo_product_grid > .card { border: 0 !important; }
.nc-storefront .woo_product_grid .product-image { border-radius: 12px; overflow: hidden; }
.nc-storefront .woo_product_grid :is(.product-links, .social-view-icon) a { min-width: 40px; min-height: 40px; }
.nc-storefront .woo_product_grid:focus-within :is(.product-links, .social-view-icon, .product_icon),
.nc-storefront .woo_product_grid:focus-within :is(.product-links, .social-view-icon) li { opacity: 1; visibility: visible; }
.nc-storefront .js-cookie-consent { max-height: 50dvh; overflow-y: auto; padding-block: 16px; }
.nc-storefront .cookie-consent__message { font-size: 14px; line-height: 1.6; }
.nc-storefront .cookie-consent__agree { min-height: 44px; }
.nc-storefront .nc-offer-strip { display: flex; align-items: center; gap: 32px; overflow-x: auto; padding-block: 18px; }
.nc-storefront .nc-offer-strip span { flex-shrink: 0; font-size: 14px; font-weight: 500; color: var(--nc-ink); }
.nc-storefront .top-bar-offer { border-color: var(--nc-line); background: var(--nc-canvas); }
.nc-storefront .woo_product_grid :is(.product-links, .social-view-icon) a { border-radius: 10px; }
@media (hover: hover) {
    .nc-storefront .woo_product_grid:hover { box-shadow: var(--nc-shadow); border-color: var(--bs-secondary); }
}
@media (max-width: 991.98px) {
    .nc-storefront #main-wrapper { padding-bottom: calc(132px + env(safe-area-inset-bottom)); }
    .nc-storefront .offers_label {
        top: auto; bottom: calc(80px + env(safe-area-inset-bottom));
        right: 12px; left: auto; transform: none;
        min-height: 44px; padding: 10px 16px !important;
        border-radius: 24px !important; box-shadow: var(--nc-shadow);
    }
    .nc-storefront .offers_label.rtl { left: 12px; }
    .nc-storefront .mobile_menu_footer {
        padding-bottom: env(safe-area-inset-bottom);
        border-top: 1px solid var(--nc-line);
        box-shadow: 0 -4px 20px rgb(16 24 40 / 6%);
    }
    .nc-storefront .mobile_menu_footer a { min-height: 48px; }
}
@media (max-width: 575.98px) {
    .nc-storefront .woo_product_grid { padding: 6px; border-radius: 12px; }
    .nc-storefront .woo_product_grid .woo_product_caption { padding: 12px 4px 6px !important; }
    .nc-storefront .woo_product_grid .woo_title a { font-size: 14px; line-height: 1.5; }
    .nc-storefront .woo_product_grid .product_icon a { min-width: 36px; min-height: 36px; }
    .nc-storefront .offcanvas { max-width: 92vw; }
    .nc-storefront .search_blocks .form-control { min-width: 0; }
    .nc-storefront .js-cookie-consent .cookie-image { width: 36px; height: 36px; }
}
@media (hover: none) {
    .nc-storefront .woo_product_grid :is(.product-links, .social-view-icon, .product_icon) {
        position: static; opacity: 1; visibility: visible; transform: none;
        display: flex; justify-content: center; flex-wrap: wrap; width: 100%;
        gap: 6px; margin: 8px 0; padding: 0;
    }
    .nc-storefront .woo_product_grid :is(.product-links, .social-view-icon, .product_icon) li {
        opacity: 1; visibility: visible; transform: none; margin: 0;
    }
    .nc-storefront .woo_product_grid :is(.product-links, .social-view-icon, .product_icon) a { width: 40px; height: 40px; margin: 0; }
}

/* Storefront 3.5 — presentation only; configured brand colours and card behaviours remain intact. */
.nc-storefront { --nc-ink:#202c3e; --nc-muted:#737e90; --nc-line:#e7eaf0; --nc-canvas:#f5f6fa; --nc-radius:18px; color:var(--nc-ink); }
.nc-storefront :is(h1,h2,h3,h4,h5,h6) { letter-spacing:-.025em; }
.nc-storefront a,.nc-storefront button { -webkit-tap-highlight-color:transparent; }
.nc-storefront .header_topbar { background:var(--nc-canvas); border-color:var(--nc-line)!important; padding-block:8px; }
.nc-storefront .header_topbar a { font-size:11px!important; color:var(--nc-muted)!important; }
.nc-storefront .main_header { background:var(--nc-surface); }
.nc-storefront .main_header > .container > .d-flex { padding-block:22px!important; }
.nc-storefront .nav-brand img { max-width:158px; object-fit:contain; }
.nc-storefront .search_blocks { background:var(--nc-canvas); border:1px solid var(--nc-line); border-radius:12px!important; margin-inline:16px; }
.nc-storefront .search_blocks :is(form,.search-bg,.search-input) { border-radius:12px!important; background:transparent; }
.nc-storefront .search_blocks .form-control { font-size:13px; min-height:48px; }
.nc-storefront .search_bar_icon { background:var(--nc-ink); color:var(--nc-surface); border-radius:9px; min-height:36px; min-width:38px; }
.nc-storefront .header_nav { background:#18243b; border:0; }
.nc-storefront .header_nav .nav-menu > li > a { font-size:13px; font-weight:500; padding:19px 17px; color:#dce2ed!important; }
.nc-storefront .header_nav .nav-menu > li:is(.active,:hover) > a { color:#fff!important; background:#ffffff0b; }
.nc-storefront .shop_category { color:#fff!important; font-size:13px; font-weight:500; padding-block:17px; }
.nc-storefront #cats_menu { border-radius:0 0 16px 16px; box-shadow:0 20px 45px #15233b18; border-color:var(--nc-line); }
.nc-storefront .nc-store-intro { display:flex; align-items:center; justify-content:space-between; gap:24px; padding-top:38px; padding-bottom:28px; }
.nc-storefront .nc-store-eyebrow { font-size:10px; letter-spacing:2px; font-weight:600; color:var(--nc-muted); margin-bottom:9px; }
.nc-storefront .nc-store-intro h1 { font-size:clamp(26px,3vw,39px); font-weight:600; letter-spacing:-1.4px; line-height:1.2; margin:0; color:var(--nc-ink); }
.nc-storefront .nc-store-explore { display:flex; align-items:center; gap:16px; font-size:13px; font-weight:500; color:var(--nc-ink); flex-shrink:0; }
.nc-storefront .nc-store-explore i { display:grid; place-items:center; width:40px; height:40px; border-radius:50%; border:1px solid var(--nc-line); }
.nc-storefront .home_banner { border-radius:22px; overflow:hidden; }
.nc-storefront .home_banner .item img { border-radius:22px!important; }
.nc-storefront .home_banner .owl-nav button { box-shadow:0 3px 14px #14213d12; }
.nc-storefront .banner_title { font-size:clamp(25px,4vw,52px); letter-spacing:-1.2px; }
.nc-storefront .top-bar-offer { margin-block:26px; border:0; background:var(--nc-canvas); }
.nc-storefront .nc-offer-strip { gap:40px; padding-block:17px; }
.nc-storefront .nc-offer-strip span { font-size:12px; }
.nc-storefront .nc-offer-strip span + span { border-inline-start:1px solid var(--nc-line); padding-inline-start:40px; }
.nc-storefront .main-heading { align-items:center; gap:20px; margin-bottom:28px!important; }
.nc-storefront .sec-title { font-size:clamp(23px,2.3vw,31px); font-weight:600; text-transform:none; color:var(--nc-ink); letter-spacing:-.8px; line-height:1.3; }
.nc-storefront .pages_subtitle { color:var(--nc-muted); line-height:1.7; font-size:13px!important; }
.nc-storefront .main-heading > .btn { background:transparent!important; color:var(--nc-ink)!important; border:1px solid var(--nc-line)!important; border-radius:10px; font-size:12px; min-height:40px; padding:10px 16px; white-space:nowrap; }
.nc-storefront .main-heading > .btn i { margin-inline-start:10px; font-size:11px; }
.nc-storefront :is(.poster_banner,.banner-slider-2,.banner-slider-3) img { border-radius:18px; }
.nc-storefront :is(.nc-brands-band,.nc-vendors-band) { background:var(--nc-canvas)!important; border-block:1px solid var(--nc-line); }
.nc-storefront :is(.nc-brands-band,.nc-vendors-band) :is(.sec-title,.pages_subtitle) { color:var(--nc-ink)!important; }
.nc-storefront :is(.category-slider,.vendor-slider) .card { border:1px solid var(--nc-line)!important; box-shadow:none; }
.nc-storefront .blog-sec .card { border:1px solid var(--nc-line); overflow:hidden; box-shadow:none; }
.nc-storefront .blog-sec .card-body { padding:24px; }
.nc-storefront .breadcrumb-sec { background:var(--nc-canvas)!important; border-bottom:1px solid var(--nc-line); padding-block:18px!important; }
.nc-storefront .breadcrumb { margin:0; font-size:12px; }
.nc-storefront .breadcrumb a { color:var(--nc-muted); }
.nc-storefront .form-control,.nc-storefront .form-select { background-color:var(--nc-surface); border:1px solid var(--nc-line); color:var(--nc-ink); box-shadow:none; }
.nc-storefront .form-control:focus,.nc-storefront .form-select:focus { border-color:var(--bs-primary); box-shadow:0 0 0 3px color-mix(in srgb,var(--bs-primary) 12%,transparent); }
.nc-storefront :is(.btn-primary,.banner_btn) { border-radius:10px; font-weight:500; box-shadow:none; }
.nc-storefront .card { border-color:var(--nc-line); }
.nc-storefront .table { color:var(--nc-ink); }
.nc-storefront .table thead { background:var(--nc-canvas); }
.nc-storefront .table th { color:var(--nc-muted); font-size:11px; text-transform:uppercase; letter-spacing:.05em; }
.nc-storefront .pagination { gap:6px; flex-wrap:wrap; }
.nc-storefront .page-link { border-radius:9px!important; border-color:var(--nc-line); min-width:36px; text-align:center; }
.nc-storefront .accordion-item { border-color:var(--nc-line); }
.nc-storefront .accordion-button { font-weight:500; font-size:14px; }
/* Each card retains its own content order, gallery, badges and action placement. */
.nc-storefront .nc-product-card { height:100%; border:1px solid var(--nc-line); padding:10px; box-shadow:none; }
.nc-storefront .nc-product-card .card { background:transparent; }
.nc-storefront .nc-product-card :is(.product-image,.woo_product_thumb) { position:relative; background:var(--nc-canvas); }
.nc-storefront .nc-product-card :is(.title,.woo_title h5,.product-content h3) { font-size:15px!important; line-height:1.55; font-weight:500!important; letter-spacing:-.25px; }
.nc-storefront .nc-product-card :is(.price,.woo_price h6) { font-size:17px; font-weight:600; letter-spacing:-.4px; }
.nc-storefront .nc-product-card :is(del,.less_price,.price > span) { font-size:12px; font-weight:400; }
.nc-storefront .nc-product-card .product_rating { flex-shrink:0; margin-inline-start:8px; }
.nc-storefront .nc-product-card :is(.product-content,.woo_product_caption) { min-width:0; }
.nc-storefront .nc-product-card :is(.product-links,.social-view-icon,.product_icon) a { border:1px solid var(--nc-line); background:var(--nc-surface); color:var(--nc-ink); box-shadow:0 3px 10px #15233b0a; }
.nc-storefront .nc-product-card :is(.product-links,.social-view-icon,.product_icon) a:hover { background:var(--nc-ink); color:var(--nc-surface); border-color:var(--nc-ink); }
.nc-storefront .nc-product-card #thumbs img { border-radius:7px; border:1px solid var(--nc-line); padding:2px; background:var(--nc-surface); }
.nc-storefront .nc-product-card #thumbs img.active { border-color:var(--bs-primary); }
/* 1: inset gallery, softly framed, caption below. */
.nc-storefront .nc-card-1 { border-radius:18px; padding:10px; }
.nc-storefront .nc-card-1 .woo_product_caption { padding:18px 6px 8px!important; }
/* 2: full-bleed image, centred action tray, distinct white content panel. */
.nc-storefront .nc-card-2 { padding:0; border-radius:18px; overflow:hidden; }
.nc-storefront .nc-card-2 .product-image { padding:0!important; border-radius:0; }
.nc-storefront .nc-card-2 .product-image > a > img { border-radius:0!important; }
.nc-storefront .nc-card-2 .product-content { padding:20px!important; }
.nc-storefront .nc-card-2 .product-links a { border-radius:50%; }
/* 3: editorial frame, price first and separate thumbnail rail. */
.nc-storefront .nc-card-3 { border:0; border-radius:0; padding:0; background:transparent; }
.nc-storefront .nc-card-3 .product-image { border-radius:12px 12px 0 0; }
.nc-storefront .nc-card-3 .product-content { padding:17px 0 13px!important; }
.nc-storefront .nc-card-3 .price { font-size:19px; margin-bottom:12px; }
.nc-storefront .nc-card-3 > .card > .card-footer { border-color:var(--nc-line)!important; }
/* 4: tinted collection tile, thumbnail strip and separate price footer. */
.nc-storefront .nc-card-4 { padding:0; border-radius:20px; overflow:hidden; background:var(--nc-canvas); }
.nc-storefront .nc-card-4 .product-grid-4 { background:var(--nc-canvas)!important; }
.nc-storefront .nc-card-4 .product-image { border-radius:0; }
.nc-storefront .nc-card-4 .product-content { padding:18px 18px 8px!important; }
.nc-storefront .nc-card-4 .card-footer { margin-inline:18px; padding:12px 0 18px!important; border-top:1px solid var(--nc-line)!important; }
.nc-storefront .nc-card-list { overflow:hidden; }
.nc-storefront .nc-account-page { padding:32px 0 56px; background:var(--nc-canvas); margin:0!important; }
.nc-storefront .nc-account-page > .container > .row > div > .card { background:var(--nc-surface); border:1px solid var(--nc-line); border-radius:24px!important; box-shadow:0 16px 50px #18243b07; }
.nc-storefront .nc-account-page .card-body { padding:32px; }
.nc-storefront .nc-account-page .form-title { font-size:30px; letter-spacing:-1px; }
.nc-storefront .nc-account-page .form-control { min-height:50px; background:var(--nc-canvas); }
.nc-storefront .nc-account-page .form-label { font-size:12px!important; color:var(--nc-ink); }
.nc-storefront .nc-account-page .btn { min-height:48px; }
.nc-storefront footer.dark-footer { background:#18243b!important; color:#b8c2d5; }
.nc-storefront footer.dark-footer :is(.color-changer,.widget_title,.footer-title) { color:#edf1f8!important; }
.nc-storefront footer.dark-footer :is(.footer-menu a,.address_infos span,p) { color:#b8c2d5!important; font-size:12px; line-height:1.8; }
.nc-storefront footer.dark-footer .widget_title { font-size:14px; font-weight:500; margin-bottom:20px; }
.nc-storefront footer.dark-footer .footer-middle { border-color:#ffffff14; padding-block:56px!important; }
.nc-storefront footer.dark-footer .footer_social_links a { background:#ffffff0d; border:1px solid #ffffff19; color:#fff; border-radius:10px; }
.nc-storefront footer.dark-footer .newsletter_box input { background:#ffffff0c; border-color:#ffffff25; color:#fff; }
.nc-storefront .footer-bottom { background:#121d31!important; border-color:#ffffff14!important; }
.nc-storefront .js-cookie-consent { border-top:1px solid #ffffff20; box-shadow:0 -5px 25px #101b2d15; }
.nc-storefront .offers_label { background:#18243b; border-radius:12px 0 0 12px!important; }
.dark .nc-storefront { --nc-surface:#1d2533; --nc-canvas:#151d2a; --nc-line:#333e50; --nc-ink:#edf1f8; --nc-muted:#acb7c9; }
.dark .nc-storefront .search_bar_icon { background:#394762; color:#fff; }
@media(hover:hover) {
 .nc-storefront .nc-product-card:hover { border-color:#b9c5d6; box-shadow:0 12px 26px #17243e0a; }
 .nc-storefront .nc-card-3:hover { box-shadow:none; }
}
@media(min-width:1400px) { .nc-storefront .container { max-width:1320px; } }
@media(max-width:991.98px) {
 .nc-storefront .main_header > .container > .d-flex { padding-block:16px!important; }
 .nc-storefront .nav-brand img { max-width:135px; }
 .nc-storefront .search_blocks { margin-inline:10px; }
 .nc-storefront .nc-store-intro { padding-top:26px; padding-bottom:22px; }
 .nc-storefront .mobile_menu_footer { background:var(--nc-surface); border-radius:18px 18px 0 0; }
 .nc-storefront .mobile_menu_footer a { padding-block:8px; }
 .nc-storefront .offers_label { border-radius:24px!important; }
 .nc-storefront .nc-product-card :is(.product-links,.social-view-icon,.product_icon) a { width:36px; height:36px; min-width:36px; min-height:36px; }
}
@media(max-width:575.98px) {
 .nc-storefront .nc-store-eyebrow { font-size:9px; letter-spacing:1.4px; }
 .nc-storefront .nc-store-intro { gap:12px; align-items:flex-end; }
 .nc-storefront .nc-store-intro h1 { font-size:27px; letter-spacing:-1px; max-width:220px; }
 .nc-storefront .nc-store-explore { font-size:11px; gap:6px; }
 .nc-storefront .nc-store-explore i { width:29px; height:29px; }
 .nc-storefront .home_banner,.nc-storefront .home_banner .item img { border-radius:14px!important; }
 .nc-storefront .main-heading { margin-bottom:20px!important; gap:12px; }
 .nc-storefront .main-heading > .btn { padding:8px 10px; font-size:10px; }
 .nc-storefront .main-heading > .btn i { margin-inline-start:4px; }
 .nc-storefront .sec-title { font-size:22px; }
 .nc-storefront .pages_subtitle { font-size:12px!important; }
 .nc-storefront .nc-card-1 { padding:6px; border-radius:12px; }
 .nc-storefront .nc-card-2,.nc-storefront .nc-card-4 { border-radius:13px; padding:0; }
 .nc-storefront .nc-product-card :is(.title,.woo_title h5,.product-content h3) { font-size:13px!important; }
 .nc-storefront .nc-product-card :is(.price,.woo_price h6) { font-size:15px; }
 .nc-storefront .nc-card-2 .product-content,.nc-storefront .nc-card-4 .product-content { padding:12px!important; }
 .nc-storefront .nc-card-4 .card-footer { margin-inline:12px; padding-bottom:12px!important; }
 .nc-storefront .nc-account-page { padding:24px 0 36px; }
 .nc-storefront .nc-account-page .card-body { padding:18px; }
 .nc-storefront .nc-account-page .form-title { font-size:25px; }
 .nc-storefront .nc-account-page .card { border-radius:18px!important; }
}
.nc-storefront .nc-store-intro h1 { text-transform:none; }
.nc-storefront .left_sidbar_main .card-header { background:var(--nc-canvas); }
.nc-storefront .left_sidbar_main :is(h5,.accordion-button) { font-size:14px!important; }
.nc-storefront .left_sidbar_main .card-body { padding:20px; }
.nc-storefront .shop_categorieslist .accordion-item { border:0!important; border-bottom:1px solid var(--nc-line)!important; border-radius:0!important; }
.nc-storefront .shop_categorieslist .accordion-button { padding-inline:4px; background:transparent; }
.nc-storefront .product_details .card { border-color:var(--nc-line); }
/* Product detail and account surfaces share the storefront rhythm. */
.nc-storefront .woo_pr_detail { padding:8px 12px; }
.nc-storefront .woo_pr_title { font-size:clamp(25px,2.3vw,34px); line-height:1.3; font-weight:600; text-transform:none; }
.nc-storefront .product_detail_img { border:1px solid var(--nc-line); border-radius:20px; overflow:hidden; background:var(--nc-canvas); }
.nc-storefront .woo_pr_detail .card { background:var(--nc-canvas); }
.nc-storefront .cart_sku_preflix { font-size:12px; line-height:1.8; }
.nc-storefront .nc-account-page .form_body { border-radius:22px; }
.nc-storefront .nc-account-page > .container > .d-flex > .card { border:1px solid var(--nc-line); box-shadow:0 16px 50px #18243b07; }
.nc-storefront .nc-account-page .page-subtitle { line-height:1.8; font-size:13px; }
@media(max-width:575.98px) { .nc-storefront .woo_pr_detail { padding:8px 0; } }
