/*
 Theme Name:   Piston Tribe Custom
 Theme URI:    https://generatepress.com
 Description:  Custom GeneratePress child theme
 Author:       Leon Angus
 Author URI:   https://tomusborne.com
 Template:     generatepress
 Version:      0.1
*/


/* GLOBAL RULES & OVERRIDES FOR THIS SITE */ 

/* ==========================================================================
   Override for WooCommerce Attribute Table
   ========================================================================== */

/*
 * 1. Main Table Styling
 * This now includes a full, visible border on all four sides.
*/
body.single-product .custom-product-layout .pt-accordion-content table.shop_attributes {
    border: 1px solid #eaeaea;
    border-collapse: collapse;
    width: 100%;
    margin: 0;
}

/*
 * 2. Table Header (th) & Data (td) Cells
 * This styles the internal rows for a clean look.
*/
body.single-product .custom-product-layout .pt-accordion-content table.shop_attributes th,
body.single-product .custom-product-layout .pt-accordion-content table.shop_attributes td {
    padding: 16px;
    border-bottom: 1px solid #eaeaea;
    background-color: transparent !important;
    text-align: left;
    font-size: 16px; /* ✅ FONT SIZE UPDATED */
}

/* Make the attribute label (e.g., "Colour") bold and clear */
body.single-product .custom-product-layout .pt-accordion-content table.shop_attributes th {
    font-weight: 600;
    color: #111;
    width: 30%;
}

/*
 * 3. Last Row Cleanup
 * Removes the bottom border from the very last row to avoid a "double border"
 * at the bottom of the table.
*/
body.single-product .custom-product-layout .pt-accordion-content table.shop_attributes tr:last-child th,
body.single-product .custom-product-layout .pt-accordion-content table.shop_attributes tr:last-child td {
    border-bottom: none;
}

/*
 * 4. Paragraph Reset
 * Ensures perfect vertical alignment inside the cells.
*/
body.single-product .custom-product-layout .pt-accordion-content table.shop_attributes td p {
    margin: 0;
    padding: 0;
}

/* Hide the default WC variation info block to prevent duplicates */
.single_variation_wrap .single_variation {
    display: none !important;
}

/* --------------Old CSS from Customize > Additional css ------------------ */ 

.class-table table {
  background-color: #eaecf1;
  border: 2px solid #ffc825;
  border-spacing: 0;
  font-family: system-ui;
  font-size: 25px;
  border-radius: 1px;
  box-shadow: 0px 4px 13px 3px #9e9e9e;
  width: 100%;
}

.class-table table th {
  background-color: #ffc825;
  padding: 10px 0;
  font-weight: 800;
  border-radius: 1px;
}

ul.table-list {
  list-style: none;
  padding: 0;
  margin: 0;
}
.table-inner {
  padding: 10px 20px;
}
ul.table-list li {
  margin-bottom: 15px;
}
ul.table-list a {
  text-decoration: none;
  text-transform: capitalize;
  color: #000000;
  font-weight: 500;
}
ul.table-list a:hover {
  color: #ffc825;
}
.table-inner-border {
  border-right: 2px dashed #9e9e9e;
}
.div-marg td {
  padding: 20px 0;
}

/* Extra Small Devices (Landscape Phones & Portrait Tablets) */

@media (max-width: 767px) {
  .class-table table tr {
    display: grid;
  }
  .table-inner-border {
    border-right: none;
  }
  .div-marg td {
    padding: 10px 0;
  }
  .table-inner {
    padding: 0px 20px;
  }
}

element.style {
}
.elementor img {
    height: auto;
    max-width: 100%;
    border: none;
    border-radius: 1px;
    box-shadow: none;
}
.wp-block-image img {
    box-sizing: border-box;
    height: auto;
    max-width: 100%;
      border-radius: 1px;
    vertical-align: bottom;
}

button, html input[type="button"], input[type="reset"], input[type="submit"], a.button, a.wp-block-button__link:not(.has-background) {
    color: #ffffff;
    background-color: #000000;
      border-radius: 1px;
}

@media only screen and (max-width: 768px) {
    .reverse-mobile {
        display: flex;
        flex-direction: column-reverse;
    }
    

}


/* ========================= */
/* SECONDARY NAV BAR STYLING */
/* ========================= */

/* Inside Navigation */
.inside-navigation {
    margin-top: 0;
}

/* Secondary Navigation Styling */
.secondary-navigation {
    box-shadow: inset 0 0 1px rgba(208, 208, 208, 1);
}

/* Mobile-friendly scrolling for secondary navigation */
@media (max-width: 1343px) {
    #secondary-navigation {
        overflow-x: auto;
        overflow-y: hidden; /* Prevents vertical scrolling */
        white-space: nowrap;
        display: flex;
        scroll-behavior: smooth;
        max-width: 100%; /* Ensures it does not exceed parent container */
    }

    #secondary-navigation ul {
        display: flex;
        flex-wrap: nowrap;
        margin: 0;
        padding: 0;
        list-style: none;
    }

    #secondary-navigation ul li {
        flex: 0 0 auto;
    }

    /* Prevent scrolling beyond last menu item */
    #secondary-navigation ul {
        min-width: max-content; /* Ensures it only takes up as much space as needed */
    }

    /* Completely hide the scrollbar */
    #secondary-navigation::-webkit-scrollbar {
        display: none;
    }

    #secondary-navigation {
        scrollbar-width: none;
        -ms-overflow-style: none;
    }

    /* Remove hamburger on mobile */
    #secondary-navigation .menu-toggle {
        display: none;
    }
}

/* ADD CONSISTENT SPACING TO ALL MENU ITEMS */
#secondary-navigation ul li a {
    padding-right: 8px; /* Adjust based on your design */
}



/* ========================= */
/* SECONDARY NAV - SUBMENU FIX */
/* ========================= */

.menu-item-has-children {
    position: relative;
}

/* Full-width background for submenus */
.menu-item-has-children .sub-menu::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100vw;
    height: 100%;
    background: #fff;
    z-index: -1;
}

/* Structure submenu content into multiple columns */
.menu-item-has-children .sub-menu {
    display: none;
    position: absolute;
    top: 100%;
    left: 0;
    column-count: auto;
    column-width: 200px;
    max-height: 400px;
	max-height: calc(7 * 2.5em); /* Ensures max 7 items per column */
    overflow-y: auto;
    column-gap: 20px;
    padding: 15px;
    background: transparent;
    z-index: 100;
}

/* Prevent menu items from breaking across columns */
.menu-item-has-children .sub-menu li {
    break-inside: avoid;
    list-style: none;
}

/* Display submenu on hover */
.menu-item-has-children:hover .sub-menu {
    display: block;
}



