/*
 Theme Name:   Loobek Child – Naypex Magenta
 Theme URI:    https://naypex.com
 Description:  Naypex custom child theme for Loobek. Houses all CSS overrides
               and custom functions so the parent theme can be updated safely.
 Author:       Naypex Dev
 Author URI:   https://naypex.com
 Template:     loobek
 Version:      4.0.0
 Text Domain:  loobek-child
 Updated:      2026-03-18
*/

/* ==========================================================================
   NAYPEX THEME 4 – MAGENTA REDESIGN
   Design tokens mapped from the approved mock (naypex_theme4_loobek_preview)
   ========================================================================== */

/* ---------- 1. CSS CUSTOM PROPERTIES (DESIGN TOKENS) ---------- */
:root {
  /* Brand Palette */
  --nx-magenta:       #d4006e;
  --nx-magenta-dark:  #a8005a;
  --nx-magenta-light: #fdf0f7;
  --nx-orange:        #ff8c42;
  --nx-dark:          #1c0510;
  --nx-mid:           #9c6070;
  --nx-cream:         #faf5f9;
  --nx-white:         #ffffff;
  --nx-border:        #f0e0ec;
  --nx-pink-soft:     #ff4d90;
  --nx-pink-text:     #ffb0d0;

  /* Radius & Shadows */
  --nx-radius-sm:  8px;
  --nx-radius-md:  14px;
  --nx-radius-lg:  24px;
  --nx-radius-pill: 100px;
  --nx-shadow-card:  0 8px 32px rgba(212, 0, 110, 0.12);
  --nx-shadow-btn:   0 4px 14px rgba(212, 0, 110, 0.30);
  --nx-shadow-hover: 0 6px 18px rgba(212, 0, 110, 0.40);
}


/* ---------- 2. GLOBAL / BODY ---------- */
body,
.ts-active-theme {
  background-color: var(--nx-cream) !important;
}

/* Smooth scroll */
html {
  scroll-behavior: smooth;
}

/* Global link transitions */
a {
  transition: color 0.2s ease, background-color 0.2s ease;
}


/* ---------- 3. STORE NOTICE / TOPBAR ---------- */
.ts-store-notice,
.header-top .ts-store-notice,
.ts-header-notice-wrapper {
  background: linear-gradient(90deg, #d4006e, #ff4d90) !important;
  color: rgba(255, 255, 255, 0.88) !important;
  border: none !important;
  padding: 8px 24px !important;
}

.ts-store-notice *,
.ts-header-notice-wrapper * {
  color: rgba(255, 255, 255, 0.88) !important;
}

.ts-store-notice strong,
.ts-header-notice-wrapper strong {
  color: #ffffff !important;
  font-weight: 700 !important;
}

.ts-store-notice a,
.ts-header-notice-wrapper a {
  color: #ffffff !important;
  font-weight: 600 !important;
}

.ts-store-notice a:hover,
.ts-header-notice-wrapper a:hover {
  color: var(--nx-orange) !important;
}


/* ---------- 4. HEADER ---------- */
.header-container,
.header-wrapper,
.header-middle,
.ts-header {
  background: var(--nx-white) !important;
  border-bottom: 1px solid var(--nx-border) !important;
  box-shadow: 0 2px 12px rgba(212, 0, 110, 0.06) !important;
}

/* Top header bar */
.header-top {
  background: var(--nx-white) !important;
  border-bottom: 1px solid var(--nx-border) !important;
}

.header-top a,
.header-top .widget {
  color: var(--nx-dark) !important;
}

.header-top a:hover {
  color: var(--nx-magenta) !important;
}

/* Logo */
.logo a,
.ts-logo a {
  color: var(--nx-magenta) !important;
  font-weight: 700 !important;
}

/* Search bar */
.ts-search-by-category,
.search-form,
.ts-search-form,
.header-search-form,
.dgwt-wcas-search-wrapp {
  background: var(--nx-cream) !important;
  border: 1.5px solid var(--nx-border) !important;
  border-radius: var(--nx-radius-pill) !important;
  transition: border-color 0.2s ease !important;
}

.ts-search-by-category:hover,
.ts-search-by-category:focus-within,
.search-form:focus-within,
.dgwt-wcas-search-wrapp:focus-within {
  border-color: var(--nx-magenta) !important;
}

.ts-search-by-category input[type="text"],
.search-form input[type="search"],
.dgwt-wcas-search-input {
  background: transparent !important;
  color: var(--nx-dark) !important;
}

.ts-search-by-category .search-button,
.ts-search-by-category button[type="submit"] {
  color: var(--nx-magenta) !important;
}

/* Header icons (cart, wishlist, account) */
.my-account-wrapper > a,
.my-wishlist-wrapper > a,
.shopping-cart-wrapper > a,
.ts-header-icon > a {
  color: var(--nx-dark) !important;
  transition: color 0.2s ease !important;
}

.my-account-wrapper > a:hover,
.my-wishlist-wrapper > a:hover,
.shopping-cart-wrapper > a:hover,
.ts-header-icon > a:hover {
  color: var(--nx-magenta) !important;
}

/* Cart count badge */
.shopping-cart-wrapper .cart-number,
.cart-total .count,
.shopping-cart-wrapper .count {
  background: var(--nx-magenta) !important;
  color: #ffffff !important;
  font-weight: 700 !important;
}


/* ---------- 5. NAVIGATION ---------- */
.ts-menu > li > a,
.main-menu > li > a,
.menu-wrapper .menu > li > a,
.header-nav li > a {
  color: var(--nx-dark) !important;
  font-weight: 500 !important;
  transition: color 0.2s ease !important;
}

.ts-menu > li > a:hover,
.ts-menu > li.current-menu-item > a,
.ts-menu > li.current-menu-parent > a,
.main-menu > li > a:hover,
.main-menu > li.current-menu-item > a {
  color: var(--nx-magenta) !important;
}

/* Active menu underline */
.ts-menu > li.current-menu-item > a::after,
.ts-menu > li.current-menu-parent > a::after,
.main-menu > li.current-menu-item > a::after {
  background-color: var(--nx-magenta) !important;
}

/* Dropdown/submenu */
.ts-menu .sub-menu,
.ts-megamenu-container {
  background: var(--nx-white) !important;
  border: 1px solid var(--nx-border) !important;
  border-radius: var(--nx-radius-md) !important;
  box-shadow: 0 12px 40px rgba(212, 0, 110, 0.08) !important;
}

.ts-menu .sub-menu a:hover,
.ts-megamenu-container a:hover {
  color: var(--nx-magenta) !important;
}


/* ---------- 6. BUTTONS (GLOBAL) ---------- */
.button,
button,
input[type="submit"],
.wp-block-button__link,
.woocommerce .button,
.woocommerce a.button,
.woocommerce input.button,
.woocommerce #respond input#submit {
  background: var(--nx-magenta) !important;
  color: #ffffff !important;
  border: 1.5px solid var(--nx-magenta) !important;
  border-radius: var(--nx-radius-pill) !important;
  font-weight: 600 !important;
  transition: all 0.2s ease !important;
  box-shadow: var(--nx-shadow-btn) !important;
}

.button:hover,
button:hover,
input[type="submit"]:hover,
.wp-block-button__link:hover,
.woocommerce .button:hover,
.woocommerce a.button:hover,
.woocommerce input.button:hover,
.woocommerce #respond input#submit:hover {
  background: var(--nx-magenta-dark) !important;
  border-color: var(--nx-magenta-dark) !important;
  color: #ffffff !important;
  box-shadow: var(--nx-shadow-hover) !important;
  transform: translateY(-1px);
}

/* Outline / secondary buttons */
.button.alt,
.woocommerce a.button.alt,
.woocommerce button.button.alt,
.woocommerce input.button.alt,
.woocommerce #respond input#submit.alt,
.checkout-button,
.wc-proceed-to-checkout a {
  background: var(--nx-magenta) !important;
  color: #ffffff !important;
  border-color: var(--nx-magenta) !important;
}

.button.alt:hover,
.woocommerce a.button.alt:hover,
.woocommerce button.button.alt:hover,
.checkout-button:hover {
  background: var(--nx-magenta-dark) !important;
  border-color: var(--nx-magenta-dark) !important;
}

/* Add to cart button on product cards */
.product .add_to_cart_button,
.product .product_type_variable,
.products .product .button {
  background: var(--nx-magenta) !important;
  color: #ffffff !important;
  border-radius: var(--nx-radius-pill) !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  padding: 6px 16px !important;
}

.product .add_to_cart_button:hover,
.products .product .button:hover {
  background: var(--nx-magenta-dark) !important;
}


/* ---------- 7. PRODUCT CARDS ---------- */
.products .product,
.product-wrapper,
.product-group {
  background: var(--nx-white) !important;
  border: 1px solid var(--nx-border) !important;
  border-radius: var(--nx-radius-md) !important;
  overflow: hidden !important;
  transition: all 0.25s ease !important;
}

.products .product:hover,
.product-wrapper:hover {
  box-shadow: var(--nx-shadow-card) !important;
  transform: translateY(-3px);
}

/* Product images */
.products .product .product-wrapper .product-image,
.product-group .product-image {
  overflow: hidden !important;
  border-radius: var(--nx-radius-md) var(--nx-radius-md) 0 0 !important;
}

.products .product img,
.product-group img {
  transition: transform 0.3s ease !important;
}

.products .product:hover img,
.product-group:hover img {
  transform: scale(1.04) !important;
}

/* Product labels/badges */
.product-label span,
.onsale,
.product .ts-product-label span {
  background: var(--nx-magenta) !important;
  color: #ffffff !important;
  border-radius: var(--nx-radius-sm) !important;
  font-size: 10px !important;
  font-weight: 700 !important;
  letter-spacing: 0.5px !important;
  padding: 3px 10px !important;
}

.product-label span.featured-label {
  background: var(--nx-orange) !important;
}

/* Product name */
.products .product .woocommerce-loop-product__title,
.product-name,
.product-wrapper .product-name a {
  color: var(--nx-dark) !important;
  font-weight: 600 !important;
  font-size: 13px !important;
}

.product-wrapper .product-name a:hover {
  color: var(--nx-magenta) !important;
}

/* Product price */
.products .product .price,
.product-wrapper .price,
.product-group .price {
  color: var(--nx-magenta) !important;
  font-weight: 700 !important;
}

.products .product .price del,
.product-wrapper .price del {
  color: var(--nx-mid) !important;
}

/* Product rating stars */
.star-rating span::before,
.star-rating::before {
  color: var(--nx-orange) !important;
}


/* ---------- 8. PRODUCT DETAIL PAGE ---------- */
.single-product .summary .price {
  color: var(--nx-magenta) !important;
  font-size: 24px !important;
  font-weight: 700 !important;
}

.single-product .summary .price del {
  color: var(--nx-mid) !important;
}

/* Sale percentage badge on detail */
.single-product .summary .ts-discount-percent,
.single-product .summary .price-percent {
  background: var(--nx-magenta-light) !important;
  color: var(--nx-magenta) !important;
  border-radius: var(--nx-radius-sm) !important;
  font-weight: 700 !important;
}

/* Quantity input */
.single-product .quantity .qty {
  border: 1.5px solid var(--nx-border) !important;
  border-radius: var(--nx-radius-sm) !important;
}

/* Tabs */
.woocommerce-tabs .tabs li.active a,
.ts-tab-wrapper .tab-title.active {
  color: var(--nx-magenta) !important;
  border-bottom-color: var(--nx-magenta) !important;
}

.woocommerce-tabs .tabs li a:hover,
.ts-tab-wrapper .tab-title:hover {
  color: var(--nx-magenta) !important;
}


/* ---------- 9. BREADCRUMBS ---------- */
.ts-breadcrumb-container {
  background-size: cover !important;
  background-position: center !important;
}

.ts-breadcrumb-container.dark a,
.ts-breadcrumb-container.dark span,
.ts-breadcrumb-container.dark .breadcrumbs {
  color: rgba(255, 255, 255, 0.85) !important;
}

.ts-breadcrumb-container h1,
.woocommerce-products-header__title {
  color: #ffffff !important;
  font-weight: 700 !important;
}


/* ---------- 10. SIDEBAR & WIDGETS ---------- */
.widget-title,
.widgettitle {
  color: var(--nx-dark) !important;
  font-weight: 700 !important;
}

.widget_product_categories ul li a:hover,
.widget_nav_menu ul li a:hover,
.widget a:hover {
  color: var(--nx-magenta) !important;
}

/* Filter widgets */
.ts-product-filter .widget a.active,
.ts-product-filter .widget a:hover {
  color: var(--nx-magenta) !important;
}

/* Price slider */
.widget_price_filter .ui-slider .ui-slider-range {
  background: var(--nx-magenta) !important;
}

.widget_price_filter .ui-slider .ui-slider-handle {
  background: var(--nx-magenta) !important;
  border-color: var(--nx-magenta) !important;
}


/* ---------- 11. WOOCOMMERCE NOTICES ---------- */
.woocommerce-message,
.woocommerce-info {
  border-top-color: var(--nx-magenta) !important;
}

.woocommerce-message::before,
.woocommerce-info::before {
  color: var(--nx-magenta) !important;
}

.woocommerce-error {
  border-top-color: #dc3545 !important;
}


/* ---------- 12. SALE/COUNTDOWN BADGES ---------- */
.ts-countdown .counter-wrapper .counter-item .number {
  background: var(--nx-magenta) !important;
  color: #ffffff !important;
  border-radius: var(--nx-radius-sm) !important;
}


/* ---------- 13. QUICK SHOP / POPUP ---------- */
.ts-quickshop-button,
.quickshop-button {
  background: var(--nx-magenta) !important;
  color: #ffffff !important;
}

.ts-popup-modal .ts-popup-content {
  border-radius: var(--nx-radius-md) !important;
}


/* ---------- 14. WISHLIST ---------- */
.ts-wishlist-button:hover,
.ts-wishlist-button.added {
  color: var(--nx-magenta) !important;
}


/* ---------- 15. CART & CHECKOUT ---------- */
.woocommerce-cart .cart_totals .order-total .amount,
.woocommerce-checkout .order-total .amount {
  color: var(--nx-magenta) !important;
  font-weight: 700 !important;
}

/* Mini cart / sidebar cart */
.ts-sidebar-cart .cart-total,
.shopping-cart-wrapper .total .amount {
  color: var(--nx-magenta) !important;
}

.ts-sidebar-cart .checkout-button,
.shopping-cart-wrapper .buttons a {
  background: var(--nx-magenta) !important;
  color: #ffffff !important;
  border-radius: var(--nx-radius-pill) !important;
}


/* ---------- 16. FOOTER ---------- */
.footer-container,
footer.ts-footer,
.footer-wrapper {
  background: var(--nx-dark) !important;
  color: rgba(255, 255, 255, 0.4) !important;
}

.footer-container .widget-title,
.footer-wrapper .widget-title,
footer .widgettitle {
  color: var(--nx-orange) !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  letter-spacing: 0.5px !important;
}

.footer-container a,
.footer-wrapper a,
footer.ts-footer a {
  color: rgba(255, 255, 255, 0.4) !important;
  transition: color 0.2s ease !important;
}

.footer-container a:hover,
.footer-wrapper a:hover,
footer.ts-footer a:hover {
  color: var(--nx-pink-soft) !important;
}

/* Footer bottom / copyright */
.footer-bottom,
.ts-footer-bottom,
.copyright-wrapper {
  background: #100308 !important;
  color: rgba(255, 255, 255, 0.25) !important;
  padding: 12px 24px !important;
}

.footer-bottom a,
.ts-footer-bottom a {
  color: rgba(255, 255, 255, 0.35) !important;
}

.footer-bottom a:hover,
.ts-footer-bottom a:hover {
  color: var(--nx-pink-soft) !important;
}


/* ---------- 17. BACK TO TOP ---------- */
.ts-back-to-top {
  background: var(--nx-magenta) !important;
  color: #ffffff !important;
  border-radius: 50% !important;
  box-shadow: var(--nx-shadow-btn) !important;
}

.ts-back-to-top:hover {
  background: var(--nx-magenta-dark) !important;
  box-shadow: var(--nx-shadow-hover) !important;
}


/* ---------- 18. DOKAN VENDOR OVERRIDES ---------- */
/* Dokan dashboard navigation */
.dokan-dashboard-wrap .dokan-dash-sidebar ul.dokan-dashboard-menu li.active,
.dokan-dashboard-wrap .dokan-dash-sidebar ul.dokan-dashboard-menu li:hover {
  background: var(--nx-magenta) !important;
}

.dokan-dashboard-wrap .dokan-dash-sidebar ul.dokan-dashboard-menu li.active a,
.dokan-dashboard-wrap .dokan-dash-sidebar ul.dokan-dashboard-menu li:hover a {
  color: #ffffff !important;
}

/* Dokan buttons */
.dokan-btn-theme,
.dokan-btn-danger {
  background: var(--nx-magenta) !important;
  border-color: var(--nx-magenta) !important;
  color: #ffffff !important;
  border-radius: var(--nx-radius-pill) !important;
}

.dokan-btn-theme:hover {
  background: var(--nx-magenta-dark) !important;
}

/* Vendor store banner */
.dokan-store-sidebar .dokan-btn {
  background: var(--nx-magenta) !important;
  color: #ffffff !important;
}


/* ---------- 19. MOBILE OVERRIDES ---------- */
@media (max-width: 767px) {
  /* Mobile menu */
  .ts-menu-mobile .menu-item > a {
    color: var(--nx-dark) !important;
    border-bottom: 1px solid var(--nx-border) !important;
  }

  .ts-menu-mobile .menu-item > a:hover,
  .ts-menu-mobile .menu-item.current-menu-item > a {
    color: var(--nx-magenta) !important;
  }

  /* Mobile bottom bar */
  .mobile-menu-wrapper,
  .ts-mobile-bottom-menu {
    background: var(--nx-white) !important;
    border-top: 1px solid var(--nx-border) !important;
  }

  .ts-mobile-bottom-menu a.active,
  .ts-mobile-bottom-menu a:hover {
    color: var(--nx-magenta) !important;
  }

  /* Product grid on mobile */
  .products .product {
    border-radius: var(--nx-radius-sm) !important;
  }

  /* Smaller shadows on mobile */
  .products .product:hover {
    transform: none !important;
    box-shadow: 0 4px 16px rgba(212, 0, 110, 0.1) !important;
  }
}

@media (max-width: 480px) {
  .ts-store-notice,
  .header-top .ts-store-notice {
    font-size: 11px !important;
    padding: 6px 16px !important;
  }
}


/* ---------- 20. SELECTION & SCROLLBAR ---------- */
::selection {
  background: var(--nx-magenta) !important;
  color: #ffffff !important;
}

/* Custom scrollbar (webkit) */
::-webkit-scrollbar {
  width: 8px;
}

::-webkit-scrollbar-track {
  background: var(--nx-cream);
}

::-webkit-scrollbar-thumb {
  background: var(--nx-magenta);
  border-radius: 4px;
}

::-webkit-scrollbar-thumb:hover {
  background: var(--nx-magenta-dark);
}


/* ---------- 21. ANIMATIONS ---------- */
@keyframes nxFadeUp {
  from { opacity: 0; transform: translateY(12px); }
  to   { opacity: 1; transform: translateY(0); }
}

.products .product {
  animation: nxFadeUp 0.4s ease both;
}

.products .product:nth-child(2) { animation-delay: 0.05s; }
.products .product:nth-child(3) { animation-delay: 0.10s; }
.products .product:nth-child(4) { animation-delay: 0.15s; }


/* ---------- 22. FORM INPUTS ---------- */
input[type="text"],
input[type="email"],
input[type="tel"],
input[type="password"],
input[type="number"],
textarea,
select,
.select2-container--default .select2-selection--single {
  border: 1.5px solid var(--nx-border) !important;
  border-radius: var(--nx-radius-sm) !important;
  transition: border-color 0.2s ease !important;
}

input[type="text"]:focus,
input[type="email"]:focus,
input[type="tel"]:focus,
input[type="password"]:focus,
textarea:focus {
  border-color: var(--nx-magenta) !important;
  outline: none !important;
  box-shadow: 0 0 0 3px rgba(212, 0, 110, 0.1) !important;
}


/* ---------- 23. PAGINATION ---------- */
.woocommerce-pagination .page-numbers li a,
.woocommerce-pagination .page-numbers li span {
  border-radius: var(--nx-radius-sm) !important;
  transition: all 0.2s ease !important;
}

.woocommerce-pagination .page-numbers li span.current,
.woocommerce-pagination .page-numbers li a:hover {
  background: var(--nx-magenta) !important;
  color: #ffffff !important;
  border-color: var(--nx-magenta) !important;
}


/* ---------- 24. LOADING / PLACEHOLDER ---------- */
.ts-product-wrapper.loading::after,
.ts-loading::after {
  border-color: var(--nx-magenta) transparent transparent transparent !important;
}


/* ---------- 25. COUPON / PROMO BAR ---------- */
.ts-promotion-bar,
.header-notice-wrapper {
  background: linear-gradient(90deg, #d4006e, #ff4d90) !important;
}


/* ==========================================================================
   26. SHORTCODE SECTION ALIGNMENT & SIZING
   --------------------------------------------------------------------------
   The mock was designed at 980px. On the live site, sections render at full
   viewport width (1400px+), making text tiny and layout spread thin.
   These rules add proper containment and scale fonts for desktop.
   ========================================================================== */

/* ---- Global shortcode containment ---- */
.nx-trust-bar,
.nx-trending-tags,
.nx-cats-section,
.nx-gifts-section,
.nx-dresses-section,
.nx-seller-cta,
.nx-brand-v2,
.nx-brand-banner {
  max-width: 1340px;
  margin-left: auto;
  margin-right: auto;
}

/* Full-bleed sections (dark bg) need inner containment instead */
.nx-dresses-section,
.nx-brand-v2,
.nx-brand-banner {
  max-width: 100%;
}

.nx-dresses-section .nx-dresses-hdr,
.nx-dresses-section .nx-dresses-grid {
  max-width: 1340px;
  margin-left: auto;
  margin-right: auto;
}

.nx-brand-v2 {
  max-width: 100%;
}

/* ---- Trust Badges: larger text, better spacing ---- */
.nx-trust-bar {
  padding: 4px 0;
}

.nx-trust-item {
  padding: 18px 28px;
  gap: 16px;
}

.nx-trust-icon {
  width: 46px;
  height: 46px;
  font-size: 20px;
  border-radius: 12px;
}

.nx-trust-item strong {
  font-size: 14px !important;
  margin-bottom: 2px;
}

.nx-trust-item span:not(.nx-trust-icon) {
  font-size: 12px !important;
}

/* ---- Trending Tags: larger pills, better padding ---- */
.nx-trending-tags {
  padding: 14px 28px;
}

.nx-trending-label {
  font-size: 11px !important;
  letter-spacing: 1.5px;
}

.nx-trend-tag {
  font-size: 12.5px !important;
  padding: 6px 18px !important;
}

/* ---- Category Circles: bigger icons, centered grid ---- */
.nx-cats-section {
  padding: 36px 28px;
}

.nx-cats-eyebrow {
  font-size: 10.5px !important;
  letter-spacing: 2.5px;
}

.nx-cats-title {
  font-size: 24px !important;
}

.nx-cat-circle {
  width: 80px;
  height: 80px;
  font-size: 30px;
  margin-bottom: 10px;
}

.nx-cat-name {
  font-size: 12.5px !important;
}

.nx-cats-viewall {
  font-size: 13px !important;
}

/* ---- Return Gifts: larger cards ---- */
.nx-gifts-section {
  padding: 36px 28px;
}

.nx-gifts-eyebrow {
  font-size: 10.5px !important;
}

.nx-gifts-title {
  font-size: 24px !important;
}

.nx-gift-card {
  padding: 22px 24px;
}

.nx-gift-icon {
  width: 56px;
  height: 56px;
  font-size: 26px;
  border-radius: 14px;
}

.nx-gift-name {
  font-size: 15px !important;
  margin-bottom: 4px;
}

.nx-gift-sub {
  font-size: 12.5px !important;
}

.nx-gift-price {
  font-size: 14px !important;
}

.nx-gifts-viewall {
  font-size: 13px !important;
}

/* ---- Ethnic Dresses: larger cards, taller images ---- */
.nx-dresses-section {
  padding: 40px 28px;
}

.nx-dresses-eyebrow {
  font-size: 10.5px !important;
}

.nx-dresses-title {
  font-size: 24px !important;
}

.nx-dress-img {
  height: 220px;
}

.nx-dress-name {
  font-size: 14px !important;
}

.nx-dress-price {
  font-size: 13px !important;
}

.nx-dresses-viewall {
  font-size: 13px !important;
}

/* ---- Brand Banner v2: larger text ---- */
.nx-brand-v2 {
  padding: 48px 40px;
}

.nx-brand-v2-eyebrow {
  font-size: 10.5px !important;
  letter-spacing: 3.5px;
}

.nx-brand-v2-headline {
  font-size: 30px !important;
}

.nx-brand-v2-desc {
  font-size: 14px !important;
  max-width: 460px;
}

.nx-brand-v2-btn-p,
.nx-brand-v2-btn-s {
  font-size: 14px !important;
  padding: 12px 28px !important;
}

.nx-brand-v2-imgs {
  width: 220px;
}

.nx-brand-v2-img-wide {
  height: 100px;
}

.nx-brand-v2-img:not(.nx-brand-v2-img-wide) {
  height: 80px;
}

/* ---- Seller CTA: larger text ---- */
.nx-seller-cta {
  padding: 28px;
}

.nx-seller-cta-inner {
  padding: 28px 32px;
}

.nx-seller-cta-tag {
  font-size: 10.5px !important;
}

.nx-seller-cta-title {
  font-size: 20px !important;
}

.nx-seller-cta-sub {
  font-size: 13px !important;
}

.nx-seller-cta-btn {
  font-size: 14px !important;
  padding: 13px 30px !important;
}

/* ---- Fix Elementor section padding for shortcode sections ---- */
.elementor-section.elementor-section-full_width > .elementor-container {
  max-width: 100%;
}

/* Ensure shortcode sections don't get extra Elementor padding */
.elementor-widget-shortcode {
  padding: 0 !important;
}

/* ---- Tablet adjustments ---- */
@media (max-width: 1024px) {
  .nx-trust-bar,
  .nx-trending-tags,
  .nx-cats-section,
  .nx-gifts-section,
  .nx-seller-cta {
    max-width: 100%;
    padding-left: 20px;
    padding-right: 20px;
  }

  .nx-cats-title,
  .nx-gifts-title,
  .nx-dresses-title {
    font-size: 20px !important;
  }

  .nx-dresses-grid {
    grid-template-columns: repeat(2, 1fr) !important;
  }
}


/* ==========================================================================
   27. HOMEPAGE UNIFICATION — SEAMLESS BLENDING
   All selectors prefixed with .home → ONLY affects homepage.
   Shop, product, checkout, vendor pages = untouched.
   ========================================================================== */

.home .elementor-section {
  margin-bottom: 0 !important;
  border-bottom: 1px solid var(--nx-border, #f0e0ec) !important;
  background: var(--nx-white, #ffffff) !important;
}

.home .elementor-section:last-child {
  border-bottom: none !important;
}

.home .elementor-section:has(.nx-dresses-section),
.home .elementor-section:has(.nx-brand-v2),
.home .elementor-section:has(.nx-brand-banner) {
  border-bottom: none !important;
}

.home .elementor-section > .elementor-container {
  padding-top: 32px !important;
  padding-bottom: 32px !important;
}

.home .elementor-section:has(.nx-trust-bar) > .elementor-container,
.home .elementor-section:has(.nx-trending-tags) > .elementor-container,
.home .elementor-section:has(.nx-cats-section) > .elementor-container,
.home .elementor-section:has(.nx-gifts-section) > .elementor-container,
.home .elementor-section:has(.nx-dresses-section) > .elementor-container,
.home .elementor-section:has(.nx-brand-v2) > .elementor-container,
.home .elementor-section:has(.nx-brand-banner) > .elementor-container,
.home .elementor-section:has(.nx-seller-cta) > .elementor-container {
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}

.home .elementor-section:has(.nx-cats-section),
.home .elementor-section:has(.nx-gifts-section),
.home .elementor-section:has(.nx-seller-cta) {
  background: var(--nx-cream, #faf5f9) !important;
}

.home .elementor-section:has(.nx-dresses-section) {
  background: linear-gradient(135deg, #d4006e 0%, #1c0510 100%) !important;
  border-bottom: none !important;
}

.home .elementor-section:has(.nx-brand-v2) {
  background: var(--nx-dark, #1c0510) !important;
  border-bottom: none !important;
}

.home .elementor-widget-icon-box .elementor-icon-box-icon .elementor-icon {
  background: var(--nx-magenta-light, #fdf0f7) !important;
  color: var(--nx-magenta, #d4006e) !important;
  border-radius: 12px !important;
  padding: 10px !important;
}

.home .elementor-widget-icon-box .elementor-icon-box-title {
  font-family: 'Poppins', sans-serif !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  color: var(--nx-dark, #1c0510) !important;
}

.home .elementor-widget-icon-box .elementor-icon-box-description {
  font-size: 12px !important;
  color: var(--nx-mid, #9c6070) !important;
}

.home .heading-title,
.home .ts-shortcode .heading-title,
.home h2.heading-title,
.home .elementor-widget-heading .elementor-heading-title {
  font-family: 'Poppins', sans-serif !important;
  font-size: 24px !important;
  font-weight: 700 !important;
  color: var(--nx-dark, #1c0510) !important;
  line-height: 1.3 !important;
}

.home .ts-product-categories-wrapper .product-category img,
.home .woocommerce .products .product-category img {
  border-radius: 50% !important;
  border: 2.5px solid var(--nx-border, #f0e0ec) !important;
  transition: all 0.3s ease !important;
  aspect-ratio: 1;
  object-fit: cover !important;
}

.home .ts-product-categories-wrapper .product-category:hover img,
.home .woocommerce .products .product-category:hover img {
  border-color: var(--nx-magenta, #d4006e) !important;
  box-shadow: 0 6px 20px rgba(212, 0, 110, 0.18) !important;
  transform: translateY(-3px) !important;
}

.home .ts-product-categories-wrapper .product-category .woocommerce-loop-category__title,
.home .ts-product-categories-wrapper .product-category .category-name,
.home .woocommerce .products .product-category h2 {
  font-family: 'Poppins', sans-serif !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  color: var(--nx-dark, #1c0510) !important;
  margin-top: 12px !important;
}

.home .products .product .product-wrapper,
.home .ts-products .product-wrapper {
  background: var(--nx-white, #fff) !important;
  border: 1px solid var(--nx-border, #f0e0ec) !important;
  border-radius: 14px !important;
  overflow: hidden !important;
  transition: all 0.25s ease !important;
}

.home .products .product:hover .product-wrapper,
.home .ts-products .product:hover .product-wrapper {
  box-shadow: 0 8px 32px rgba(212, 0, 110, 0.12) !important;
  transform: translateY(-3px) !important;
  border-color: var(--nx-magenta-light, #fdf0f7) !important;
}

.home .products .product .product-wrapper .product-image img {
  transition: transform 0.3s ease !important;
}

.home .products .product:hover .product-wrapper .product-image img {
  transform: scale(1.04) !important;
}

.home .products .product .woocommerce-loop-product__title,
.home .products .product .product-name a {
  font-family: 'Poppins', sans-serif !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  color: var(--nx-dark, #1c0510) !important;
}

.home .products .product .price {
  color: var(--nx-magenta, #d4006e) !important;
  font-weight: 700 !important;
  font-size: 14px !important;
}

.home .products .product .price del {
  color: var(--nx-mid, #9c6070) !important;
  font-size: 12px !important;
}

.home .products .product .button,
.home .products .product .add_to_cart_button {
  background: var(--nx-magenta, #d4006e) !important;
  color: #fff !important;
  border: none !important;
  border-radius: 24px !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  padding: 8px 16px !important;
  box-shadow: 0 3px 10px rgba(212, 0, 110, 0.25) !important;
}

.home .products .product .button:hover,
.home .products .product .add_to_cart_button:hover {
  background: var(--nx-magenta-dark, #a8005a) !important;
}

.home .products .product .product-label span {
  background: var(--nx-magenta, #d4006e) !important;
  color: #fff !important;
  font-family: 'Poppins', sans-serif !important;
  font-size: 10px !important;
  font-weight: 700 !important;
  border-radius: 6px !important;
  padding: 3px 10px !important;
}

.home .products .product .product-label span.featured-label {
  background: var(--nx-orange, #ff8c42) !important;
}

.home .products .product .product-group-button a {
  background: var(--nx-white, #fff) !important;
  color: var(--nx-dark, #1c0510) !important;
  border: 1px solid var(--nx-border, #f0e0ec) !important;
  border-radius: 50% !important;
  transition: all 0.2s ease !important;
}

.home .products .product .product-group-button a:hover {
  background: var(--nx-magenta, #d4006e) !important;
  color: #fff !important;
  border-color: var(--nx-magenta, #d4006e) !important;
}

.home .elementor-widget-button .elementor-button {
  font-family: 'Poppins', sans-serif !important;
  border-radius: 24px !important;
  font-weight: 600 !important;
  transition: all 0.2s ease !important;
}

.home .ts-banner {
  border-radius: 14px !important;
  overflow: hidden !important;
  transition: all 0.25s ease !important;
}

.home .ts-banner:hover {
  box-shadow: 0 8px 28px rgba(212, 0, 110, 0.12) !important;
  transform: translateY(-2px) !important;
}

.home .ts-banner .banner-wrapper .banner-button a,
.home .ts-banner .banner-wrapper .banner-text .banner-button a {
  background: var(--nx-magenta, #d4006e) !important;
  color: #fff !important;
  border-radius: 24px !important;
  font-family: 'Poppins', sans-serif !important;
  font-weight: 700 !important;
  font-size: 12px !important;
  padding: 8px 20px !important;
  border: none !important;
  box-shadow: 0 3px 10px rgba(212, 0, 110, 0.3) !important;
}

.home .ts-coupon-wrapper {
  border: 1.5px dashed var(--nx-border, #f0e0ec) !important;
  border-radius: 12px !important;
  background: var(--nx-white, #fff) !important;
}

.home .ts-coupon-wrapper .coupon-code {
  color: var(--nx-magenta, #d4006e) !important;
  font-family: 'Poppins', sans-serif !important;
  font-weight: 700 !important;
}

.home .star-rating span::before {
  color: var(--nx-orange, #ff8c42) !important;
}

.home .ts-shortcode .view-all-wrapper a,
.home .view-more a {
  color: var(--nx-magenta, #d4006e) !important;
  font-family: 'Poppins', sans-serif !important;
  font-weight: 600 !important;
  font-size: 13px !important;
}

.footer-container .widget-title,
footer .widgettitle {
  font-family: 'Poppins', sans-serif !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  color: var(--nx-orange, #ff8c42) !important;
}

.footer-container a,
footer.ts-footer a {
  font-size: 13px !important;
  color: rgba(255, 255, 255, 0.45) !important;
}

.footer-container a:hover,
footer.ts-footer a:hover {
  color: var(--nx-pink-soft, #ff4d90) !important;
}

.footer-bottom,
.ts-footer-bottom,
.copyright-wrapper {
  background: #100308 !important;
  border-top: 1px solid rgba(255, 255, 255, 0.06) !important;
}

@media (max-width: 767px) {
  .home .elementor-section > .elementor-container {
    padding-top: 20px !important;
    padding-bottom: 20px !important;
  }

  .home .heading-title,
  .home h2.heading-title {
    font-size: 20px !important;
  }

  .home .products .product:hover .product-wrapper {
    transform: none !important;
  }

  .home .ts-banner:hover {
    transform: none !important;
  }
}

@media (max-width: 1024px) {
  .home .elementor-section > .elementor-container {
    padding-top: 24px !important;
    padding-bottom: 24px !important;
  }
}


/* ==========================================================================
   END NAYPEX THEME 4 OVERRIDES
   ========================================================================== */
