/*
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
*/

/*
 * Hibiscus Print Shop
 * Desktop Vertical Navigation — Draft 0.9
 * Inactive child theme — pending browser validation.
 */

@media screen and (min-width: 992px) {

  :root {
    --hps-sidebar-width: 250px;
    --hps-sidebar-padding: 30px;
    --hps-navigation-top: 155px;
  }

  /*
   * Position the logo independently of
   * the normal horizontal header layout.
   */
  .nm-header.default .nm-header-left {
    position: fixed;
    float: none;
    top: 30px;
    left: var(--hps-sidebar-padding);
    z-index: 1003;
  }

  .nm-header.default .nm-header-logo {
    float: none;
    margin-right: 0;
  }

  .nm-header.default .nm-header-logo img,
  .nm-header.default .nm-header-logo svg {
    width: auto;
    max-width: 185px;
    height: auto;
    max-height: 75px;
  }

  /*
   * Desktop vertical navigation.
   */
  .nm-header.default .nm-main-menu {
    position: fixed;
    float: none;
    top: var(--hps-navigation-top);
    left: var(--hps-sidebar-padding);
    width: 190px;
    z-index: 1003;
  }

  .nm-header.default .nm-main-menu > ul {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    width: 100%;
  }

  .nm-header.default .nm-main-menu > ul > li {
    display: block;
    float: none;
    width: 100%;
    margin: 0;
  }

  .nm-header.default .nm-main-menu > ul > li > a {
    display: inline-block;
    padding: 9px 0;
    font-size: 16px;
    line-height: 1.3;
  }

  /*
   * First-level dropdowns open toward
   * the main content area.
   */
  .nm-header.default .nm-main-menu > ul > li > .sub-menu {
    top: 0;
    left: 100%;
  }

  /*
   * Preserve Search, Account and Cart
   * in the existing header controls.
   */
  .nm-header.default .nm-right-menu {
    float: right;
  }

  /*
   * Desktop sidebar background.
   */

  .nm-header.default .nm-main-menu > ul {
    position: relative;
    z-index: 1;
  }

  /*
   * Reserve sidebar space for Elementor pages.
   */
  body.elementor-page .nm-page-wrap-inner .elementor {
    box-sizing: border-box;
    width: calc(100% - var(--hps-sidebar-width));
    margin-left: var(--hps-sidebar-width);
  }

  /*
   * Constrain top-level stretched sections.
   */
  body.elementor-page .nm-page-wrap-inner
  .elementor > .elementor-section.elementor-section-stretched {
    box-sizing: border-box;
    width: 100% !important;
    left: 0 !important;
    max-width: 100%;
  }

  /*
   * Standard non-Elementor page content.
   */
  body:not(.elementor-page) #nm-content {
    box-sizing: border-box;
    width: calc(100% - var(--hps-sidebar-width));
    margin-left: var(--hps-sidebar-width);
  }

  #nm-footer {
    box-sizing: border-box;
    width: calc(100% - var(--hps-sidebar-width));
    margin-left: var(--hps-sidebar-width);
  }

  /*
   * Preserve full-screen search positioning.
   */
  .nm-header-search-holder {
    left: 0;
  }

  /*
   * Account for WordPress admin toolbar.
   */
  body.admin-bar .nm-header.default .nm-header-left {
    top: 62px;
  }

  body.admin-bar .nm-header.default .nm-main-menu {
    top: calc(var(--hps-navigation-top) + 32px);
  }
}

/*
 * More compact desktop sidebar.
 */
@media screen and (min-width: 992px) and (max-width: 1199px) {
  :root {
    --hps-sidebar-width: 210px;
    --hps-sidebar-padding: 24px;
  }

  .nm-header.default .nm-main-menu {
    width: 165px;
  }

  .nm-header.default .nm-header-logo img,
  .nm-header.default .nm-header-logo svg {
    max-width: 160px;
  }
}

/* Hibiscus Print Shop — Draft 1.0: Desktop Shop refinement */
@media screen and (min-width: 992px) {
  body.post-type-archive-product #nm-shop .nm-shop-header {
    padding-top: 48px;
    padding-bottom: 42px;
  }

  body.post-type-archive-product #nm-shop .nm-shop-products-col {
    box-sizing: border-box;
    padding-left: 45px;
    padding-right: 45px;
  }

  body.post-type-archive-product #nm-shop #nm-shop-categories-wrap {
    box-sizing: border-box;
    padding-left: 45px;
    padding-right: 45px;
  }
}

/* Hibiscus Print Shop — Draft 1.2: Shop sidebar clearance */
@media screen and (min-width: 992px) {
  body.post-type-archive-product #nm-shop {
    box-sizing: border-box;
    padding-left: 100px;
    padding-right: 30px;
  }
}

/* Hibiscus Print Shop — Draft 1.3: Inline desktop submenus */
@media screen and (min-width: 992px) {
  .nm-header.default .nm-main-menu > ul > li > .sub-menu,
  .nm-header.default .nm-main-menu .sub-menu .sub-menu {
    position: static;
    top: auto;
    left: auto;
    width: 100%;
    min-width: 0;
    padding: 4px 0 10px 14px;
    margin: 0;
    box-sizing: border-box;
    background: transparent;
    box-shadow: none;
    animation: none;
    -webkit-animation: none;
  }

  .nm-header.default .nm-main-menu .sub-menu li a {
    color: #555;
    font-size: 14px;
    line-height: 1.4;
    padding: 6px 0;
    white-space: normal;
  }

  .nm-header.default .nm-main-menu .sub-menu li a:hover {
    color: #111;
  }

  .nm-header.default .nm-main-menu .sub-menu li.menu-item-has-children > a {
    padding-right: 16px;
  }

  .nm-header.default .nm-main-menu .sub-menu li.menu-item-has-children > a:after {
    display: none;
  }
}

/* Hibiscus Print Shop — Draft 1.4: Wider desktop Shop clearance */
@media screen and (min-width: 992px) {
  body.post-type-archive-product #nm-shop {
    padding-left: 160px;
  }
}

/* Hibiscus Print Shop — Draft 1.5: Increased Shop clearance */
@media screen and (min-width: 992px) {
  body.post-type-archive-product #nm-shop {
    padding-left: 220px;
  }
}

/* Hibiscus Print Shop — Draft 1.6: Consistent catalog spacing */
@media screen and (min-width: 992px) {
  body.post-type-archive-product #nm-shop,
  body.tax-product_cat #nm-shop,
  body.tax-product_tag #nm-shop,
  body.single-product #nm-content {
    box-sizing: border-box;
    padding-left: 220px;
  }
}

/* Hibiscus Print Shop — Draft 1.7: Home image and footer */

/* Hide Savoy footer on Home page only */
body.home #nm-footer {
  display: none !important;
}

/* Slightly reduce and center the Home photograph */
body.home.elementor-page .elementor-widget-image img {
  display: block;
  width: 45%;
  height: auto;
  margin-left: auto;
  margin-right: auto;
}

/* Hibiscus Print Shop — Draft 2.0: Remove desktop header divider */
@media screen and (min-width: 992px) {
  .nm-header.default,
  .nm-header.default .nm-header-inner {
    border-bottom: none !important;
    box-shadow: none !important;
  }

  .nm-header.default::after,
  .nm-header.default .nm-header-inner::after {
    border-bottom: none !important;
    box-shadow: none !important;
  }
}

/* Hibiscus Print Shop — Draft 2.1: Product page refinement */
@media screen and (min-width: 992px) {

  /* Clean white product background */
  body.single-product .nm-single-product-bg {
    background-color: #fff !important;
  }

  /* More breathing room around product gallery and details */
  body.single-product .nm-single-product-showcase {
    padding-top: 55px;
    padding-bottom: 75px;
  }

  /* Slightly more space between gallery and product information */
  body.single-product .woocommerce-product-gallery {
    padding-right: 30px;
  }

  /* Softer product breadcrumb presentation */
  body.single-product .woocommerce-breadcrumb {
    color: #999;
    font-size: 12px;
  }
}

/* Hibiscus Print Shop — Draft 2.2: Product information accordion */
.single-product .hps-product-accordion {
    width: 100%;
    margin: 10px 0 35px;
}

.single-product .hps-accordion-section {
    border-bottom: 1px solid #e5e5e5;
}

.single-product .hps-accordion-section:first-child {
    border-top: 1px solid #e5e5e5;
}

.single-product .hps-accordion-section > summary {
    position: relative;
    display: block;
    padding: 21px 38px 21px 0;
    color: #222;
    font-size: 15px;
    font-weight: 500;
    line-height: 1.5;
    cursor: pointer;
    list-style: none;
}

.single-product .hps-accordion-section > summary::-webkit-details-marker {
    display: none;
}

.single-product .hps-accordion-section > summary::after {
    content: "+";
    position: absolute;
    right: 4px;
    top: 19px;
    color: #555;
    font-size: 21px;
    font-weight: 300;
}

.single-product .hps-accordion-section[open] > summary::after {
    content: "−";
}

.single-product .hps-accordion-content {
    padding: 0 0 24px;
    color: #555;
    font-size: 14px;
    line-height: 1.85;
}

.single-product .hps-accordion-content > div {
    margin-bottom: 5px;
}

.single-product .hps-accordion-content:has(#size-guide) {
    overflow-x: auto;
    max-width: 100%;
    -webkit-overflow-scrolling: touch;
}

.single-product .hps-accordion-content #size-guide {
    width: 1024px;
    min-width: 1024px;
    max-width: none;
    margin: 5px 0 15px;
}

.single-product .hps-accordion-content #size-guide td {
    white-space: nowrap;
}


/* Hibiscus Print Shop — Draft 2.3: Mobile homepage image */
@media screen and (max-width: 991px) {
    body.home.elementor-page .elementor-widget-image img {
        display: block;
        width: 90% !important;
        max-width: 90% !important;
        height: auto !important;
        margin-left: auto !important;
        margin-right: auto !important;
    }
}

