/*
	Theme Name:   Savoy Child
	Theme URI:    http://themeforest.net/item/savoy-minimalist-ajax-woocommerce-theme/12537825
	Description:  Savoy child theme
	Author:       NordicMade
	Author URI:   http://www.nordicmade.com
	Template:     savoy
	Version:      1.0
*/

/* Child theme CSS
--------------------------------------------------------------- */

body .product .summary .price {
  padding-left: 0px !important;
}

div.wc-bookings-booking-cost.price {
  text-indent: 12px !important;
}

.banner-home-slider .nm-banner-text {
  padding: unset;
}

.product .summary .price {
  padding-left: 0px !important;
}

i.nm-menu-cart-icon.nm-font.nm-font-cart {
  color: #000000 !important;
}

.nm-footer-bar-right {
  z-index: 10000;
}

.nm-footer-bar-social a {
  cursor: pointer !important;
}

.nm-single-product-showcase {
  background-color: #e8e5da !important;
}

.nm-single-product-top {
  background-color: #e8e5da !important;
}

/* ========================================
   FULL-WIDTH MEGA MENU STYLING - DESKTOP ONLY
   ======================================== */

/* DESKTOP ONLY: Apply megamenu styles ONLY above 992px */
@media all and (min-width: 992px) {
  /* Base megamenu styling - FULL WIDTH */
  .nm-menu .megamenu > ul.sub-menu {
    display: block !important;
    position: fixed !important;
    left: 0 !important;
    right: 0 !important;
    top: auto !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 100% !important;
    background: #fff !important;
    padding: 40px 0 50px !important;
    margin: 0 !important;
    box-shadow: 0 5px 15px rgba(0, 0, 0, 0.08);
    z-index: 9999 !important;
  }

  /* CRITICAL FIX: Force full width and center for all column types */
  .nm-menu .megamenu.col-2 > .sub-menu,
  .nm-menu .megamenu.col-3 > .sub-menu,
  .nm-menu .megamenu.col-4 > .sub-menu,
  .nm-menu .megamenu.col-5 > .sub-menu,
  .nm-menu .megamenu.col-6 > .sub-menu,
  .nm-menu .megamenu > .sub-menu {
    width: 100vw !important;
    left: 50% !important;
    right: auto !important;
    margin-left: -50vw !important;
    transform: none !important;
  }

  /* Container for centering content */
  .nm-menu .megamenu > ul.sub-menu:before {
    content: "";
    display: table;
    clear: both;
  }

  .nm-menu .megamenu > ul.sub-menu > li {
    display: block;
    float: left;
    width: 20% !important; /* 5 columns = 20% each */
    padding: 0 15px;
    box-sizing: border-box;
    vertical-align: top;
  }

  /* Adjust for different column counts */
  .nm-menu .megamenu.col-2 > ul.sub-menu > li {
    width: 50% !important;
  }

  .nm-menu .megamenu.col-3 > ul.sub-menu > li {
    width: 33.333% !important;
  }

  .nm-menu .megamenu.col-4 > ul.sub-menu > li {
    width: 25% !important;
  }

  .nm-menu .megamenu.col-5 > ul.sub-menu > li {
    width: 20% !important;
  }

  .nm-menu .megamenu.col-6 > ul.sub-menu > li {
    width: 16.666% !important;
  }

  /* Clear floats */
  .nm-menu .megamenu.col-2 > ul.sub-menu > li:nth-child(2n + 1),
  .nm-menu .megamenu.col-3 > ul.sub-menu > li:nth-child(3n + 1),
  .nm-menu .megamenu.col-4 > ul.sub-menu > li:nth-child(4n + 1),
  .nm-menu .megamenu.col-5 > ul.sub-menu > li:nth-child(5n + 1),
  .nm-menu .megamenu.col-6 > ul.sub-menu > li:nth-child(6n + 1) {
    clear: left;
  }

  /* Center the megamenu content with wrapper */
  .nm-menu .megamenu > ul.sub-menu {
    max-width: 1280px;
    margin: 0 auto;
    padding-left: 60px;
    padding-right: 60px;
  }

  /* Column header (main category) */
  .nm-menu .megamenu > ul.sub-menu > li > a {
    display: block;
    font-size: 14px !important;
    font-weight: 600 !important;
    color: #282828 !important;
    text-transform: none !important;
    padding: 0 0 15px 0 !important;
    margin-bottom: 10px;
    letter-spacing: 0;
    border-bottom: 1px solid #f0f0f0;
  }

  .nm-menu .megamenu > ul.sub-menu > li > a:hover {
    color: #282828 !important;
  }

  /* Sub-menu (nested items) */
  .nm-menu .megamenu ul.sub-menu ul.sub-menu {
    display: block !important;
    position: static !important;
    width: 100% !important;
    background: transparent !important;
    padding: 0 !important;
    margin: 0 !important;
    box-shadow: none !important;
  }

  .nm-menu .megamenu ul.sub-menu ul.sub-menu li {
    float: none !important;
    width: 100% !important;
    padding: 0 !important;
    margin: 0 0 8px 0 !important;
  }

  .nm-menu .megamenu ul.sub-menu ul.sub-menu li a {
    display: block;
    font-size: 14px !important;
    font-weight: 400 !important;
    color: #777 !important;
    padding: 5px 0 !important;
    transition: color 0.2s ease;
  }

  .nm-menu .megamenu ul.sub-menu ul.sub-menu li a:hover {
    color: #282828 !important;
    padding-left: 5px !important;
  }

  /* Remove default dropdown arrow */
  .nm-menu .megamenu li.menu-item-has-children > a:after {
    display: none !important;
  }

  /* Hide nested sub-menus beyond 2 levels */
  .nm-menu .megamenu ul.sub-menu ul.sub-menu ul.sub-menu {
    display: none !important;
  }

  /* Animation */
  .nm-menu .megamenu > ul.sub-menu {
    opacity: 0;
    visibility: hidden;
    transform: translateY(-10px);
    transition: opacity 0.3s ease, transform 0.3s ease, visibility 0s 0.3s;
  }

  .nm-menu .megamenu:hover > ul.sub-menu {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
    transition: opacity 0.3s ease, transform 0.3s ease;
  }

  /* Optional: Add subtle border between columns */
  .nm-menu .megamenu > ul.sub-menu > li:not(:last-child) {
    border-right: 1px solid #f5f5f5;
  }

  /* Optional: Hover effect for the main menu item */
  .nm-menu > li.megamenu:hover > a {
    color: #282828 !important;
  }
}

/* Responsive for large screens */
@media all and (max-width: 1280px) and (min-width: 992px) {
  .nm-menu .megamenu > ul.sub-menu {
    padding: 40px 30px 50px !important;
  }
}

/* ========================================
   MOBILE/TABLET: FORCE SHOW BURGER MENU
   CRITICAL FIX: Using correct class "nm-menu-offscreen"
   ======================================== */

@media all and (max-width: 991px) {
  /* CRITICAL: Force burger menu to show - CORRECT SELECTOR */
  body .nm-header .nm-menu li.nm-menu-offscreen,
  body .nm-header .nm-right-menu li.nm-menu-offscreen,
  body .nm-header #nm-right-menu-ul li.nm-menu-offscreen,
  .nm-menu li.nm-menu-offscreen {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    position: relative !important;
  }

  /* Force mobile menu button to show */
  body #nm-mobile-menu-button,
  #nm-mobile-menu-button {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
  }

  /* Force menu icon to show */
  body .nm-menu-icon,
  .nm-menu-icon,
  .nm-menu-icon span,
  .nm-menu-icon span.line-1,
  .nm-menu-icon span.line-2,
  .nm-menu-icon span.line-3 {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
  }

  /* Reset megamenu for mobile */
  .nm-menu .megamenu > ul.sub-menu {
    position: static !important;
    width: auto !important;
    max-width: none !important;
    left: auto !important;
    margin-left: 0 !important;
    padding: 0 !important;
    box-shadow: none !important;
    background: #282828 !important;
    transform: none !important;
  }

  .nm-menu .megamenu.col-2 > .sub-menu,
  .nm-menu .megamenu.col-3 > .sub-menu,
  .nm-menu .megamenu.col-4 > .sub-menu,
  .nm-menu .megamenu.col-5 > .sub-menu,
  .nm-menu .megamenu.col-6 > .sub-menu {
    width: auto !important;
    left: auto !important;
    margin-left: 0 !important;
  }

  .nm-menu .megamenu > ul.sub-menu > li {
    float: none !important;
    width: 100% !important;
    padding: 0 !important;
  }

  .nm-menu .megamenu > ul.sub-menu > li > a {
    color: #eee !important;
    border-color: #464646;
  }

  .nm-menu .megamenu ul.sub-menu ul.sub-menu li a {
    color: #a0a0a0 !important;
    padding: 8px 27px !important;
  }

  .nm-menu .megamenu ul.sub-menu ul.sub-menu li a:hover {
    color: #eee !important;
  }
}

/* Fix for header z-index */
.nm-header {
  z-index: 1002 !important;
}

/* Cart panel overlay - ABOVE header */
#nm-page-overlay.nm-cart-panel-overlay {
  z-index: 1010 !important;
}

/* Cart panel - HIGHEST */
#nm-cart-panel {
  z-index: 1020 !important;
}

/* Mobile menu tetap tertinggi */
#nm-mobile-menu {
  z-index: 1030 !important;
}

/* Ensure megamenu appears above everything on desktop only */
@media all and (min-width: 992px) {
  .nm-menu .megamenu {
    position: static !important;
  }
}

/* ========================================
   MOBILE MENU: Megamenu Direct Dropdown
   FIX: Expand Downward + Scrollable + Nested Toggle
   ======================================== */

@media all and (max-width: 991px) {
  /* Pastikan mobile menu scrollable */
  #nm-mobile-menu {
    height: 100vh !important;
    overflow-y: auto !important;
    overflow-x: hidden !important;
    -webkit-overflow-scrolling: touch !important;
  }

  #nm-mobile-menu .nm-mobile-menu-scroll {
    height: auto !important;
    max-height: none !important;
    overflow: visible !important;
  }

  /* Toggle icon styling - SEMUA LEVEL (main + nested) */
  #nm-mobile-menu .menu-item-has-children > .nm-menu-toggle {
    display: inline-block !important;
    position: absolute;
    top: 7px;
    right: 0;
    font-family: "nm-font";
    font-size: 15px;
    font-weight: normal;
    color: var(--nm--mobile-menu-color-font);
    padding-left: 10px;
    cursor: pointer;
    transition: transform 0.2s ease;
    z-index: 10;
  }

  #nm-mobile-menu .menu-item-has-children > .nm-menu-toggle:before {
    content: "\e91f"; /* Down arrow */
    transition: transform 0.2s ease;
  }

  /* Rotate icon saat active - SEMUA LEVEL */
  #nm-mobile-menu .menu-item-has-children.active > .nm-menu-toggle:before {
    transform: rotate(180deg);
  }

  /* Megamenu main item */
  #nm-mobile-menu .megamenu.col-5 {
    position: relative !important;
  }

  /* Sub-menu container - EXPAND KE BAWAH, NO absolute position */
  #nm-mobile-menu .megamenu.col-5 > .sub-menu,
  #nm-mobile-menu .megamenu.col-5 .sub-menu {
    position: static !important;
    transform: none !important;
    left: auto !important;
    width: 100% !important;
    height: auto !important;
    background: transparent !important;
    padding: 0 !important;
    margin: 0 !important;
    overflow: visible !important;
    display: none; /* Hidden by default, shown by jQuery slideDown */
  }

  /* Remove panel styling completely */
  #nm-mobile-menu .megamenu.col-5 .nm-mobile-sub-menu-header {
    display: none !important;
  }

  /* Sub-menu list - reset semua wrapper styling */
  #nm-mobile-menu .megamenu.col-5 .sub-menu > ul,
  #nm-mobile-menu .megamenu.col-5 .nm-mobile-sub-menu-ul {
    padding: 0 !important;
    margin: 0 !important;
    background: transparent !important;
  }

  /* Menu items - SEMUA LEVEL, ensure ke bawah */
  #nm-mobile-menu .megamenu.col-5 .sub-menu li {
    position: relative !important;
    padding: 0 !important;
    margin: 0 !important;
    float: none !important;
    width: 100% !important;
    clear: both !important;
  }

  /* Links styling - dengan ruang untuk toggle icon */
  #nm-mobile-menu .megamenu.col-5 .sub-menu li > a {
    display: block !important;
    padding: 8px 40px 8px 15px !important; /* Right padding untuk toggle */
    text-indent: 0 !important;
    background: transparent !important;
    position: relative !important;
  }

  /* Nested level 2 - indent lebih dalam */
  #nm-mobile-menu .megamenu.col-5 .sub-menu .sub-menu li > a {
    padding-left: 30px !important;
  }

  /* Nested level 3 - indent lebih dalam lagi */
  #nm-mobile-menu .megamenu.col-5 .sub-menu .sub-menu .sub-menu li > a {
    padding-left: 45px !important;
  }

  /* Visual separator untuk level 1 items */
  #nm-mobile-menu .megamenu.col-5 > .sub-menu > ul > li,
  #nm-mobile-menu .megamenu.col-5 > .sub-menu > .nm-mobile-sub-menu-ul > li {
    border-bottom: 1px solid rgba(0, 0, 0, 0.05);
  }

  #nm-mobile-menu .megamenu.col-5 > .sub-menu > ul > li:last-child,
  #nm-mobile-menu
    .megamenu.col-5
    > .sub-menu
    > .nm-mobile-sub-menu-ul
    > li:last-child {
    border-bottom: 0;
  }

  /* Smooth transition untuk nested items */
  #nm-mobile-menu .megamenu.col-5 .sub-menu .sub-menu {
    transition: none !important; /* jQuery slideDown handles animation */
  }
	
	/* Main menu level (SHOP) */
  #nm-mobile-menu .megamenu.col-5 > a {
    font-size: 16px !important;
  }
  
  /* Level 1 submenu (Homeland, Mini Sulla, JOURNAL) */
  #nm-mobile-menu .megamenu.col-5 > .sub-menu > ul > li > a,
  #nm-mobile-menu .megamenu.col-5 > .sub-menu > .nm-mobile-sub-menu-ul > li > a {
    font-size: 16px !important;
  }
  
  /* Level 2 submenu (Pillows, Blankets, dll) */
  #nm-mobile-menu .megamenu.col-5 .sub-menu .sub-menu li > a {
    font-size: 16px !important;
  }
}

/* ========================================
   MOBILE MENU: Search + Icons Styling
   ======================================== */

@media all and (max-width: 991px) {
  /* Search form container */
  #nm-mobile-menu-top-ul .nm-mobile-menu-item-search {
    padding: 15px 0 !important;
    margin-left: -15px;
    border-bottom: 1px solid var(--nm--mobile-menu-color-border);
  }

  /* Search input field */
  #nm-mobile-menu-top-ul .nm-mobile-menu-item-search input {
    background: rgba(0, 0, 0, 0.05);
    border-radius: 5px;
    padding: 12px 12px 12px 38px !important;
    font-size: 16px;
  }

  /* Search icon - CENTERED */
  #nm-mobile-menu-top-ul .nm-mobile-menu-item-search span {
    position: absolute;
    top: 50%;
    left: 12px;
    font-size: 17px;
    color: #707070;
    opacity: 0.5;
    transform: translateY(-50%);
    pointer-events: none;
  }

  /* Cart icon */
  .nm-mobile-menu-item-cart i {
    margin-right: 10px;
    font-size: 18px;
    vertical-align: middle;
  }

  .nm-mobile-menu-item-cart .count {
    font-size: 14px;
    color: var(--nm--color-font-highlight);
    margin-left: 5px;
  }

  /* Account icon */
  .nm-mobile-menu-item-account i {
    margin-right: 10px;
    font-size: 18px;
    vertical-align: middle;
  }

  /* Spacing untuk secondary menu items */
  #nm-mobile-menu-secondary-ul.menu .menu-item {
    padding: 10px 0;
  }
}

.mfp-close,
.wpb_content_element .wpb_tour_tabs_wrapper .wpb_tabs_nav li.ui-tabs-active a,
.vc_pie_chart .vc_pie_chart_value,
.vc_progress_bar .vc_single_bar .vc_label .vc_label_units,
.nm-testimonial-description,
.form-row label,
.woocommerce-form__label,
#nm-shop-search-close:hover,
.products .price .amount,
.nm-shop-loop-actions > a,
.nm-shop-loop-actions > a:active,
.nm-shop-loop-actions > a:focus,
.nm-infload-controls a,
.woocommerce-breadcrumb a,
.woocommerce-breadcrumb span,
.variations,
.woocommerce-grouped-product-list-item__label a,
.woocommerce-grouped-product-list-item__price ins .amount,
.woocommerce-grouped-product-list-item__price > .amount,
.nm-quantity-wrap .quantity .nm-qty-minus,
.nm-quantity-wrap .quantity .nm-qty-plus,
.product
  .summary
  .single_variation_wrap
  .nm-quantity-wrap
  label:not(.nm-qty-label-abbrev),
.woocommerce-tabs .tabs li.active a,
.shop_attributes th,
.product_meta,
.shop_table.cart .nm-product-details a,
.shop_table.cart .product-quantity,
.shop_table.cart .nm-product-quantity-pricing .product-subtotal,
.shop_table.cart .product-remove a,
.cart-collaterals,
.nm-cart-empty,
#order_review .shop_table,
#payment .payment_methods li label,
.woocommerce-thankyou-order-details li strong,
.wc-bacs-bank-details li strong,
.nm-MyAccount-user-info .nm-username strong,
.woocommerce-MyAccount-navigation ul li a:hover,
.woocommerce-MyAccount-navigation ul li.is-active a,
.woocommerce-table--order-details,
#nm-wishlist-empty .note i,
a.dark,
a:hover,
.nm-blog-heading h1 strong,
.nm-post-header .nm-post-meta a,
.nm-post-pagination a,
.commentlist > li .comment-text .meta strong,
.commentlist > li .comment-text .meta strong a,
.comment-form p label,
.entry-content strong,
blockquote,
blockquote p,
.widget_search button,
.widget_product_search #searchsubmit,
.widget_recent_comments ul li .comment-author-link,
.widget_recent_comments ul li:before {
  color: #2d5227 !important;
}