/*
 Theme Name:   Storefront Child
 Theme URI:    https://lambtubularcorp.com
 Description:  A child theme for Storefront
 Author:       Lamb Tubular Corp
 Author URI:   https://lambtubularcorp.com
 Template:     storefront
 Version:      1.0.0
 License:      GNU General Public License v2 or later
 License URI:  http://www.gnu.org/licenses/gpl-2.0.html
 Text Domain:  storefront-child
*/

/*
 * Add your custom CSS below this line.
 * The parent Storefront theme styles load automatically before these rules,
 * so anything you write here will override the parent cleanly.
 */

/* =============================================================
   GLOBAL LINKS — no underline, bold
   ============================================================= */

a {
    text-decoration: none !important;
    font-weight: 700 !important;
}

/* =============================================================
   FULL WIDTH CONTENT — remove sidebar gap
   ============================================================= */

#primary {
    width: 100% !important;
    max-width: 100% !important;
    float: none !important;
    margin: 0 !important;
}

#secondary {
    display: none !important;
}

.content-area {
    width: 100% !important;
    float: none !important;
}

/* =============================================================
   HEADER — one row: site title | tagline | primary nav | cart
   Nav is moved into the branding container via functions.php hooks
   ============================================================= */

/* Make the branding container a flex row */
.site-header .col-full {
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    flex-wrap: nowrap !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
    min-height: 36px !important;
    gap: 30px;
}

/* Remove any extra padding Storefront adds to the header element itself */
.site-header {
    padding: 0 !important;
}

/* Site branding: title + tagline inline on the left */
.site-header .site-branding {
    display: flex !important;
    flex-direction: row !important;
    align-items: baseline !important;
    gap: 12px !important;
    flex-shrink: 0 !important;
    width: auto !important;
    float: none !important;
    padding: 0 !important;
    margin: 0 !important;
}

/* Storefront outputs site title as .beta.site-title */
.site-header .site-branding .beta.site-title {
    font-size: 1.3rem !important;
    margin: 0 !important;
    white-space: nowrap;
}

.site-header .site-branding .site-description {
    font-size: 0.82rem !important;
    margin: 0 !important;
    white-space: nowrap;
    opacity: 0.75;
}

/* Primary nav: fills remaining space */
.site-header .main-navigation {
    flex: 1 !important;
    float: none !important;
    clear: none !important;
    width: auto !important;
    padding: 0 !important;
    margin: 0 !important;
}

.site-header .main-navigation ul.menu,
.site-header .main-navigation ul.nav-menu {
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    flex-wrap: nowrap !important;
    margin: 0 !important;
    padding: 0 !important;
}

.site-header .main-navigation ul.menu > li > a,
.site-header .main-navigation ul.nav-menu > li > a {
    padding: 4px 14px !important;
    white-space: nowrap;
}

/* Hide the mobile menu toggle on desktop */
.site-header .menu-toggle {
    display: none !important;
}

/* Cart icon pushed to far right */
.site-header .site-header-cart {
    margin-left: auto;
    flex-shrink: 0;
    float: none !important;
}

/* Hide the now-empty .storefront-primary-navigation wrapper row on desktop only */
@media ( min-width: 769px ) {
    .storefront-primary-navigation {
        display: none !important;
    }
}

/* Hide secondary nav and search bar */
.site-header .secondary-navigation,
.site-header .site-search,
.site-header .storefront-header-search {
    display: none !important;
}

/* =============================================================
   FOOTER
   ============================================================= */

.ltc-site-footer {
    background: #1a1a1a;
    color: #ccc;
    margin-top: 60px;
}

.ltc-footer-inner {
    max-width: 1400px;
    margin: 0 auto;
    padding: 0 30px;
}

.ltc-footer-top {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 60px;
    padding: 48px 0 36px;
    border-bottom: 1px solid #333;
}

/* Footer nav */
.ltc-footer-nav {
    flex-shrink: 0;
}

.ltc-footer-menu {
    display: flex;
    flex-direction: column;
    gap: 4px;
    list-style: none;
    margin: 0;
    padding: 0;
}

.ltc-footer-menu li a {
    display: block;
    padding: 5px 0;
    text-decoration: none;
    color: #ccc;
    font-size: 0.9rem;
    transition: color 0.2s ease;
}

.ltc-footer-menu li a:hover {
    color: #fff;
}

/* CF7 form in footer */
.ltc-footer-form {
    flex: 1;
    max-width: 480px;
}

.ltc-footer-form .wpcf7 input[type="text"],
.ltc-footer-form .wpcf7 input[type="email"],
.ltc-footer-form .wpcf7 textarea {
    background: #2a2a2a;
    border: 1px solid #444;
    color: #fff;
    border-radius: 4px;
    padding: 10px 12px;
    width: 100%;
    box-sizing: border-box;
    font-size: 0.9rem;
}

.ltc-footer-form .wpcf7 input[type="text"]::placeholder,
.ltc-footer-form .wpcf7 input[type="email"]::placeholder,
.ltc-footer-form .wpcf7 textarea::placeholder {
    color: #888;
}

.ltc-footer-form .wpcf7 input[type="submit"] {
    background: #0073aa;
    color: #fff;
    border: none;
    border-radius: 4px;
    padding: 10px 24px;
    font-size: 0.9rem;
    font-weight: 600;
    cursor: pointer;
    transition: background 0.2s ease;
}

.ltc-footer-form .wpcf7 input[type="submit"]:hover {
    background: #005a87;
}

/* Footer bottom */
.ltc-footer-bottom {
    padding: 20px 0;
    text-align: center;
}

.ltc-copyright {
    font-size: 0.85rem;
    color: #888;
    margin: 0;
}

.ltc-copyright a {
    color: #aaa;
    text-decoration: none;
}

.ltc-copyright a:hover {
    color: #fff;
}

/* =============================================================
   RESPONSIVE
   ============================================================= */

@media ( max-width: 768px ) {

    .site-header .col-full {
        flex-wrap: wrap !important;
        min-height: auto;
        padding: 12px 0 0 !important;
        gap: 8px;
    }

    .site-header .site-branding {
        flex-direction: column !important;
        align-items: flex-start !important;
        gap: 2px !important;
        width: 100% !important;
    }

    .site-header .main-navigation {
        width: 100% !important;
    }

    /* Hide nav menu by default on mobile */
    .site-header .main-navigation ul.menu,
    .site-header .main-navigation ul.nav-menu {
        display: none !important;
        flex-direction: column !important;
        width: 100%;
        align-items: flex-start !important;
    }

    /* Show menu when Storefront toggles the .toggled class */
    .site-header .main-navigation.toggled ul.menu,
    .site-header .main-navigation.toggled ul.nav-menu {
        display: flex !important;
    }

    /* Left-align menu items on mobile */
    .site-header .main-navigation ul.menu > li,
    .site-header .main-navigation ul.nav-menu > li {
        width: 100% !important;
        text-align: left !important;
    }

    .site-header .main-navigation ul.menu > li > a,
    .site-header .main-navigation ul.nav-menu > li > a {
        padding: 8px 0 !important;
        text-align: left !important;
        display: block !important;
    }

    .site-header .menu-toggle {
        display: block !important;
    }

    .ltc-footer-top {
        flex-direction: column;
        gap: 32px;
    }

    .ltc-footer-form {
        max-width: 100%;
        width: 100%;
    }

  .col-full {
    padding: 0 !important;
  }

  .site-header .col-full,
  .site-main .col-full,
  .site-footer .col-full {
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  body {
    margin: 0 !important;
  }

}

/* Product Catagory Background */
.woocommerce-category-description {
    background: #ffffff;
    border-radius: 24px;
    padding: 12px;
}