/*
 Theme Name:   Sheets Child Theme
 Description:  Child theme for the Gravita theme
 Author:       TradePro
 Template:     electronics-and-gadget-shop-theme-for-woocommerce
 Version:      1.0.0
 License: GPLv3 or later
 License URI: http://www.gnu.org/licenses/gpl-3.0.html
 Text Domain:  palecom
*/

/* Default (desktop) styles */
/* .wp-block-group { 
    padding: 40px; 
  } */

/* Override for smaller screens (tablet/mobile) */
/* @media (max-width: 767px) {
    .wp-block-group { 
      padding: 20px; 
    }
  } */

nav {
  font-size: var(--wp--preset--font-size--lg);
  /* text-transform: uppercase; */
  transition: all 0.3s ease;
}

nav .wp-block-navigation-link a:hover {
  color: var(--wp--preset--color--accent);
  opacity: 0.8;
}


.sticky-header {
  position: sticky !important;
  top: 0 !important;
  z-index: 99;
  width: 100%;
  background-color: white;
  /* Ensure visibility */
  transition: transform 0.3s ease-in-out;
}

.top-bar {
  transition: height 0.3s ease-in-out, padding 0.3s ease-in-out;
  /* Smooth shrinking effect */
  overflow: hidden;
  /* Prevent flickering */
}


body.mega-menu-active::before {
  content: "";
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.5); /* Semi-transparent black */
  z-index: 97; /* Below the mega menu but above the content */
  pointer-events: none; /* Ensure it doesn't block interactions */
}

.mega-menu-wrapper {
  position: absolute;
  width: 100%;
  left: 0;
  z-index: 999;
  /* Ensure it's above content */
}

.mega-menu-container {
  position: absolute;
  left: 0;
  width: 100%;
  z-index: 98;
  /* Lower than header */
  display: none;
  /* Hidden initially */
  transition: top 0.2s ease-in-out, height 0.3s ease-in-out, opacity 0.3s ease-in-out;
  margin-top: 0 !important;
  /* Ensure no spacing */
  padding-top: 0 !important;
  /* Remove any unintended gap */
  overflow: hidden;
  /* Prevent flickering */
  height: 0px;
  /* Default height is 0 to remove unwanted space */
}

.mega-menu-content {
  visibility: hidden;
  opacity: 0;
  transition: opacity 0.3s ease-in-out, visibility 0.3s ease-in-out;
  position: absolute;
  /* Keep hidden menus out of the layout */
  width: 100%;
}

.mega-menu-content.active {
  visibility: visible;
  opacity: 1;
  position: relative;
  /* Only active menu should take space */
}

.mega-menu-inner {
  position: relative;
  display: block;
  /* width: fit-content; /* Adjusts to actual content width */
  /* max-width: 1200px;   /* Optional: constrain max width */
  margin: 0 auto;      /* Center it horizontally */
  background: rgb(255, 255, 255);   /* Optional: visual clarity */
  /* height: 100vh; */
}


.woocommerce .wp-block-woocommerce-product-image-gallery.is-style-default .flex-control-thumbs {
  overflow: auto !important;
}

.woocommerce .wp-block-woocommerce-product-image-gallery.is-style-default .flex-control-thumbs {
  display: flex;
  overflow-x: auto;
  overflow-y: hidden;
  flex-wrap: nowrap;
  gap: 8px;
  /* optional: adds space between thumbnails */
  padding: 10px 0;
  scrollbar-width: thin;
}

.woocommerce .wp-block-woocommerce-product-image-gallery.is-style-default .flex-control-thumbs li {
  flex: 0 0 auto;
  list-style: none;
}

.woocommerce div.product div.images .flex-control-thumbs li img {
  max-width: 100px;
}


  span.price-unit {
    font-size: 0.5em;
  }

  .wc-block-components-product-price {
    align-items: baseline;
  }


  .custom-tab-content.video_tips {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(500px, 1fr));
    gap: 8px;
  }


  .wc-proceed-to-checkout {
    display : flex;
    flex-direction : row;
    gap: 1rem;
  }

.wc-proceed-to-checkout .checkout-button button {
  width: 100%;
  margin-bottom: unset;
}

.wholesalex_request_custom_quote_btn {
  display: block;
  background-color: rgba(0,0,0,.05);
  color: var(--wp--preset--color--accent);
  border: 2px solid;
  text-align: center;
  margin: 0 !important;
  font-size: 1.15em;
  padding: 0.5em;
  width: 100%;
  box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
}

.wholesalex_request_custom_quote_btn:hover{
  background-color: var(--wp--preset--color--accent);
  color: #ffffff;
  transition: all 0.3s ease;
}

#add_payment_method .wc-proceed-to-checkout a.checkout-button, .woocommerce-cart .wc-proceed-to-checkout a.checkout-button, .woocommerce-checkout .wc-proceed-to-checkout a.checkout-button {
  width: 100%;
  margin-bottom: unset;
  font-size: 1.15em;
}
.wp-block-gutenmate-categories-menu__overlay .cat-item a {
  color: var(--wp--preset--color--accent);
  font-size: 18px;
}

.wp-block-gutenmate-categories-menu__overlay .cat-item a:hover {
  background-color: var(--wp--preset--color--accent);
  color: var(--wp--preset--color--background);
}


.wp-block-gutenmate-categories-menu__categories li.cat-item:hover,
.wp-block-gutenmate-categories-menu__categories li.cat-item:focus {
  color: white;
  text-decoration: none;
}

.wp-block-gutenmate-categories-menu__overlay .cat-item a:focus {
  color: white;

}

.woocommerce  .woocommerce-cart-form__cart-item.cart_item .product-quantity .input-text.qty {
      width: 5.631em;
}


@media (max-width: 768px) {
  .wp-block-navigation__responsive-container.is-menu-open {
    padding: 0;
    max-width: 280px;
  }

  .wp-block-navigation__responsive-container.is-menu-open
  .wp-block-navigation__responsive-container-content
  .wp-block-navigation__container {
    gap: 0;
  }

  .wp-block-gutenmate-categories-menu__overlay {
    position: fixed;
    left: 0;
    top: 0;
    width: 90%;
    align-items: baseline;
    transform: unset;
    border-radius: unset;
  }

  .wp-block-gutenmate-categories-menu__categories .children.is-overflow {
    left: 0;
  }

  .wp-block-gutenmate-categories-menu__categories .children {
    transform: unset;
    position: relative;
    top: unset;
    right: unset;
  }

  .wp-block-gutenmate-categories-menu__categories li {
    height: 3rem;
  }

  .wp-block-gutenmate-categories-menu__categories li.cat-item:hover,
  .wp-block-gutenmate-categories-menu__categories li.cat-item:focus {
    color: white;
    text-decoration: none;
  }

  .cat-item.has-child.is-open > a::after {
    transform: translateY(-50%) rotate(90deg);
  }

  .wp-block-gutenmate-overlay-search__icon:after {
    background-color : #FFFFFF;
  }

  .wholesalex_request_custom_quote_btn {
    padding: var(--wp--preset--spacing--xs) var(--wp--preset--spacing--sm);
    font-size: 1em;
    max-height: 45px;
  }

  #add_payment_method .wc-proceed-to-checkout a.checkout-button, .woocommerce-cart .wc-proceed-to-checkout a.checkout-button, .woocommerce-checkout .wc-proceed-to-checkout a.checkout-button {
    font-size: 1em;
    padding: var(--wp--preset--spacing--xs) var(--wp--preset--spacing--sm);
  }

  .wc-proceed-to-checkout {
    display : flex;
    flex-direction : column;
  }

  .woocommerce-cart .woocommerce .coupon {
    gap: 0.5em;
  }

  .woocommerce-cart .woocommerce .coupon  #coupon_code {
    width: 46%;
  }

  .woocommerce-cart .woocommerce .coupon #apply_coupon {
    width: 46%;
  }

  .wholesalex_add_to_quote_modal .modal_content {
    width: 90%;
  }
}


/* USA Menu */
/* Top-level horizontal */
/* ========== BASIC NAV SETUP ========== */

header .wp-block-navigation .wp-block-navigation__responsive-container:not(.has-modal-open) .wp-block-navigation__submenu-container {
    padding: 0;
    border-radius: unset;
    border: none
}

header .wp-block-navigation .wp-block-navigation__responsive-container:not(.has-modal-open) .wp-block-navigation__submenu-container:not(.block-editor-block-list__layout) {
    box-shadow: none;
}


header .wp-block-navigation .wp-block-navigation-item {
  flex-direction: column;
  align-items: center;
}

header .wp-block-navigation .has-child .wp-block-navigation__submenu-container {
  left: 0;
  flex-direction: unset;
  height: unset;
  max-height: 0;
  position: relative;
  top: unset;
  transition: max-height 0.4s ease, opacity 0.3s ease;
}

header .wp-block-navigation .has-child .wp-block-navigation-submenu__toggle[aria-expanded=true]~.wp-block-navigation__submenu-container,.wp-block-navigation .has-child:not(.open-on-click):hover>.wp-block-navigation__submenu-container,.wp-block-navigation .has-child:not(.open-on-click):not(.open-on-hover-click):focus-within>.wp-block-navigation__submenu-container {
  padding-top: 10px;
  max-height: 300px;
  height: unset;
}

header .wp-block-navigation:not(.has-background) .wp-block-navigation__submenu-container {
    background-color: inherit;
    border: none;
}

header .wp-block-navigation:not(.has-text-color) .wp-block-navigation__submenu-container {
    color: inherit;
}

header .wp-block-navigation__container {
    align-items: center;
    flex-direction: row;
}

@media not (prefers-reduced-motion) {
   header .wp-block-navigation .has-child .wp-block-navigation__submenu-container {
        transition: none;
    }
}


/* Menu drawer */

/* ===== visual tokens ===== */
:root{
  --accent: #275bad;              /* tweak to your brand blue */
  --row-bg: #fff;
  --row-bg-open: #f6f8fc;         /* subtle highlight for open parent */
  --text: #1f2a37;
  --text-muted: #46566b;
  --line: rgba(16,24,40,.08);     /* divider lines */
  --fs: 16.5px;                   /* base font size (bigger/cleaner) */
  --lh: 1.5;
}

/* ===== top-level rows ===== */
.wp-block-gutenmate-categories-menu__categories{
  margin:0; padding:0; list-style:none;
  font-size: var(--fs);
  line-height: var(--lh);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.wp-block-gutenmate-categories-menu__categories > li{
  border-bottom: 1px solid var(--line);   /* grid line */
  background: var(--row-bg);
  
}

/* parent & normal links look like rows */
.wp-block-gutenmate-categories-menu__categories > li > a{
  position: relative;
  z-index: 2;                               /* keep it above submenu */
  display: flex; align-items: center; justify-content: space-between;
  gap: 12px;
  padding: 14px 16px;
  color: var(--text);
  text-decoration: none;
  font-weight: 700;
}

/* subtle chevron to indicate submenu (always visible) */
.wp-block-gutenmate-categories-menu__categories > li.has-child > a::after{
  content: "\203A";                         /* › */
  font-size: 18px;
  line-height: 1;
  color: var(--text-muted);
  transition: transform .25s ease, color .2s linear;
}

/* open state: keep parent visible + highlight it + rotate chevron */
.wp-block-gutenmate-categories-menu__categories > li.has-child.is-open > a{
  background: var(--row-bg-open);
  color: var(--accent);
}
.wp-block-gutenmate-categories-menu__categories > li.has-child.is-open > a::after{
  transform: rotate(90deg);                 /* points down */
  color: var(--accent);
}

/* make sure theme hover rules don't override the open look */
.wp-block-gutenmate-categories-menu__overlay .cat-item.has-child.is-open > a:hover,
.wp-block-gutenmate-categories-menu__overlay .cat-item.has-child.is-open > a:focus{
  background: var(--row-bg-open) !important;
  color: var(--accent) !important;
}

/* ===== submenu (accordion) ===== */
.wp-block-gutenmate-categories-menu__categories ul.children{
  margin: 0;
  padding: 0 0 8px 0;                        /* a little breathing room */
  list-style: none;
  max-height: 0;
  overflow: hidden;
  opacity: 0;
  border-top: 1px solid var(--line);         /* divider between parent & children */
  transition: max-height .28s cubic-bezier(.2,.8,.2,1), opacity .2s ease;
  background: #fff;
}

/* expanded */
.wp-block-gutenmate-categories-menu__categories li.has-child.is-open > ul.children{
  max-height: 700px;                          /* large enough for your longest list */
  opacity: 1;
}

/* submenu rows */
.wp-block-gutenmate-categories-menu__categories ul.children > li:not(:last-child){
  border-bottom: 1px solid var(--line);
}
.wp-block-gutenmate-categories-menu__categories ul.children > li > a{
  display: flex; align-items: center; justify-content: space-between;
  padding: 12px 16px 12px 28px;              /* slight indent */
  color: var(--text-muted);
  text-decoration: none;
  font-weight: 500;
}

/* show tiny chevron on grandchildren too (optional) */
.wp-block-gutenmate-categories-menu__categories ul.children > li.has-child > a::after{
  content: "\203A";
  font-size: 16px;
  color: var(--text-muted);
}
.wp-block-gutenmate-categories-menu__categories ul.children > li.has-child.is-open > a::after{
  transform: rotate(90deg);
  color: var(--accent);
}

/* remove any fixed heights from earlier CSS that caused disappearing rows */
.wp-block-gutenmate-categories-menu__categories li{ height: auto !important; }

/* === Hide "View all items" at all levels ========================== */
.wp-block-gutenmate-categories-menu__categories
  li.wp-block-gutenmate-categories-menu__view-cat,
.wp-block-gutenmate-categories-menu__view-cat-template {
  display: none !important;
}

/* === In-drawer Close row (inserted by JS below) =================== */
.gm-catmenu__header{
  position: sticky;            /* stays at top while scrolling */
  top: 0;
  z-index: 3;
  background: #fff;
  border-bottom: 1px solid rgba(16,24,40,.08);
}

.gm-catmenu__close{
  width: 100%;
  display: flex; align-items: center; justify-content: end;
  gap: 12px;
  padding: 12px 16px;
  border: 0; background: transparent;
  cursor: pointer;
  font: 700 16.5px/1.5 system-ui, -apple-system, Segoe UI, Roboto, "Helvetica Neue", Arial, "Noto Sans", "Apple Color Emoji", "Segoe UI Emoji";
  color: #275bad; /* accent */
}

.gm-catmenu__close:hover,
.gm-catmenu__close:focus{
  background: #f6f8fc;
  outline: none;
}

/* left label + right "X" icon */
.gm-catmenu__title{ pointer-events: none; }
.gm-catmenu__close-icon{
  width: 28px; height: 28px;
  display: inline-grid; place-items: center;
  border-radius: 6px;
  background: #e9eefb;
  color: #275bad;
  font-size: 16px;
  line-height: 1;
}

/* keep the first real category nicely separated from the header */
.gm-catmenu__header + li{ border-top: 0; }

/* Product page select variations */

.woocommerce .wp-block-add-to-cart-form table.variations tr td select {
    height: unset;
}






.woocommerce div.product .woocommerce-tabs ul.tabs li {
    background: #fff;
    border: none;
}

.woocommerce div.product div.images img {
  width: auto;
  height: 100%;
  justify-self: center;
}

iframe{
    width: 100%;
    aspect-ratio: 16 / 9;
    height: auto;
}

.woocommerce div.product .woocommerce-tabs ul.tabs {
    margin-bottom: 1.5rem;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li {
    background: #fff;
    border: none;
}

.woocommerce-tabs.wc-tabs-wrapper #tab-pdfs_tab ul {
    list-style: none;
}

.woocommerce-tabs.wc-tabs-wrapper #tab-pdfs_tab ul li {
    font-size: 1.2em
}

.additional-info-tabs-content {
    margin-top: 1.5rem;
}

.additional-info-tabs-nav .additional-info-tab-item {
    background-color : #f6f6f6;
    border: 1px solid #ccc;
}

.additional-info-tabs-nav .additional-info-tab-item.active .additional-info-tab-btn {
    background-color : #fff;
    color : var(--wp--preset--color--accent);
}

.additional-info-tabs-nav .additional-info-tab-btn {
    color : #000;
    font-size : 1em;
    font-weight : bold;
    text-decoration : none;
    padding : 0.5rem 1rem;

}

.additional-info-tabs-nav {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    gap: 5px;
    list-style: none;
    padding: 0;
    margin: 0;
}

.additional-info-tab-item {
    display: flex;
    align-items: stretch;
    justify-content: flex-start;
    height: auto;
    margin: 0;
    padding: 0;
}

.additional-info-tab-panel {
    display: none;
}

.additional-info-tab-panel.active {
    display: block;
}

.additional-info-tab-panel .field-content {

    border: 1px solid #ccc;
    padding: 1rem;
}

/* Remove the scrolling right on first load because of mini-cart */
.wc-block-components-drawer__screen-overlay--is-hidden .wc-block-components-drawer {
  transform: translateX(-100%);
}


/*-----------------------------------------------------------------------------*/

/* ==========================
   Contact Form 7 Compact Form
   ========================== */
.wp-block-contact-form-7-contact-form-selector label {
  margin-block-start: unset;
}

.cf7-compact {
  max-width: 860px;
  margin: 0 auto;
  padding: 2rem;
  background: var(--wp--preset--color--base);
  border-radius: 12px;
  box-shadow: 0 6px 18px rgba(0, 0, 0, 0.05);
  font-family: inherit;
}

/* Section headings */
.cf7-compact h3 {
  margin: 1.5rem 0 1rem;
  font-size: 1.1rem;
  font-weight: 600;
  color: var(--wp--preset--color--contrast);
  border-bottom: 2px solid var(--wp--preset--color--base-3);
  padding-bottom: 0.25rem;
}

/* Labels */
.cf7-compact label {
  display: block;
  margin-bottom: 0.5rem;
  font-weight: 500;
  font-size: 14px;
  color: var(--wp--preset--color--contrast-2);
}

/* Group labels (like for radios/checkboxes) */
.cf7-compact .cf7-label {
  font-weight: 500;
  margin: 0.25rem 0 0.5rem;
  font-size: 14px;
  color: var(--wp--preset--color--contrast);
}

/* Inputs, selects, textareas */
.cf7-compact input,
.cf7-compact textarea,
.cf7-compact select {
  width: 100%;
  padding: 10px 14px;
  margin-bottom: 1rem;
  border: 1px solid var(--wp--preset--color--line-base);
  border-radius: 8px;
  background: var(--wp--preset--color--base-3);
  font-size: 15px;
  transition: all 0.2s;
  box-sizing: border-box;
}

.cf7-compact input:focus,
.cf7-compact textarea:focus,
.cf7-compact select:focus {
  border-color: var(--wp--preset--color--accent);
  background: var(--wp--preset--color--base);
  box-shadow: 0 0 0 3px var(--wp--preset--color--accent-3);
  outline: none;
}

.cf7-hint {
  font-size: 0.9rem;
  color: var(--wp--preset--color--contrast-3);
  margin-top: -0.5rem;
  margin-bottom: 1rem;
}

/* Two column layout */
.cf7-compact .two-col {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem;
}

.cf7-compact .two-col > label {
  flex: 1;
}

/* ==========================
   Toggle Buttons (radios/checkboxes with .cf7-toggle)
   ========================== */

.cf7-compact .cf7-toggle {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  margin-bottom: 1rem;
}

.cf7-compact .cf7-toggle .wpcf7-list-item {
  margin: 0 5px;
}

.cf7-compact .cf7-toggle .wpcf7-list-item label {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 10px 16px;
  border-radius: 6px;
  font-size: 14px;
  font-weight: 500;
  cursor: pointer;
  user-select: none;
  transition: all 0.2s ease;
  background-color: var(--wp--preset--color--base-3);
  color: var(--wp--preset--color--contrast);
  border: 1px solid var(--wp--preset--color--line-base);
}

/* Hide native input */
.cf7-compact .cf7-toggle .wpcf7-list-item input {
  display: none;
}

/* Checked state → color whole label */
.cf7-compact .cf7-toggle .wpcf7-list-item label:has(input:checked) {
  background-color: var(--wp--preset--color--accent);
  color: var(--wp--preset--color--white);
  border-color: var(--wp--preset--color--accent);
}

/* Hover */
.cf7-compact .cf7-toggle .wpcf7-list-item label:hover {
  background-color: var(--wp--preset--color--accent-2);
  border-color: var(--wp--preset--color--accent);
}

/* ==========================
   Normal Checkboxes (like consent)
   ========================== */
.cf7-compact .wpcf7-acceptance label {
  display: flex;
  align-items: flex-start;
  gap: 0.5rem;
  font-size: 14px;
  font-weight: 400;
  color: var(--wp--preset--color--contrast);
}

/* Keep native checkbox visible */
.cf7-compact .wpcf7-acceptance input[type="checkbox"] {
  margin-top: 3px;
  width: auto;
}

/* ==========================
   Submit Button
   ========================== */
/* Submit button container to center it */
.cf7-compact p:has(input[type="submit"]) {
  display: flex;
  justify-content: center;
}

/* Submit button */
.cf7-compact input[type="submit"] {
  padding: 10px 24px;
  border-radius: 6px;
  font-size: 15px;
  font-weight: 600;
  background: var(--wp--preset--color--accent);
  color: var(--wp--preset--color--white);
  border: 2px solid transparent; /* keep border always */
  cursor: pointer;
  transition: all 0.2s ease;
  width: auto; /* button stays compact */
  display: inline-block;
  text-align: center;
}

/* Hover = outline without layout shift */
.cf7-compact input[type="submit"]:hover {
  background: var(--wp--preset--color--white);
  color: var(--wp--preset--color--accent);
  border-color: var(--wp--preset--color--accent);
}

/* ==========================
   Responsive
   ========================== */
@media (max-width: 600px) {
  .cf7-compact .two-col {
    flex-direction: column;
  }
}

.woocommerce div.product form.cart button.single_add_to_cart_button:hover, .woocommerce div.product form.cart button[name=add-to-cart]:hover {
  color: var(--wp--preset--color--accent);
  background: none;
  outline: solid 2px var(--wp--preset--color--accent);
  transition: all 0.3s ease;
 }

.custom-additional-info-tabs {
  display: flex;
  flex-direction: column;

}

.grecaptcha-badge {
  visibility: hidden !important;
}

/* ==========================
   WooCommerce Cart & Checkout Variation Alignment
   ========================== */
dl.variation,
.woocommerce-cart dl.variation,
.woocommerce-checkout dl.variation {
  margin: 0;
  padding: 0;
  overflow: hidden; /* Clear floats */
}

dl.variation dt,
.woocommerce-cart dl.variation dt,
.woocommerce-checkout dl.variation dt {
  float: left;
  clear: left;
  margin: 0;
  padding: 0;
  font-weight: 600;
  margin-right: 0.5em;
}

dl.variation dt:not(:first-child),
.woocommerce-cart dl.variation dt:not(:first-child),
.woocommerce-checkout dl.variation dt:not(:first-child) {
  margin-top: 0.25em;
}

dl.variation dd,
.woocommerce-cart dl.variation dd,
.woocommerce-checkout dl.variation dd {
  float: left;
  margin: 0;
  padding: 0;
}

dl.variation dt:not(:first-child) + dd,
.woocommerce-cart dl.variation dt:not(:first-child) + dd,
.woocommerce-checkout dl.variation dt:not(:first-child) + dd {
  margin-top: 0.25em;
}

dl.variation dd p,
.woocommerce-cart dl.variation dd p,
.woocommerce-checkout dl.variation dd p {
  margin: 0;
  padding: 0;
  display: inline;
}

dl.variation dd p:first-child,
.woocommerce-cart dl.variation dd p:first-child,
.woocommerce-checkout dl.variation dd p:first-child {
  margin-top: 0;
}

dl.variation dd p:last-child,
.woocommerce-cart dl.variation dd p:last-child,
.woocommerce-checkout dl.variation dd p:last-child {
  margin-bottom: 0;
}

