/* =========================================================
   SPORTRAIT.CO — CLEAN MASTER CSS
========================================================= */


/* =========================================================
   1. SINGLE PRODUCT PAGE
========================================================= */

/* Hide WooCommerce base $0.00 price */
.single-product .summary .price {
    display: none !important;
}

/* Hide stock and availability */
.single-product .stock,
.single-product .availability,
.single-product .woocommerce-variation-availability,
.single-product p.stock,
.single-product .summary p:has(.stock) {
    display: none !important;
}

/* Arrange product options, quantity and Add to Cart */
.single-product form.cart {
    display: flex !important;
    flex-direction: column !important;
}

/* Product options first */
.single-product .product-options,
.single-product .wc-pao-addons-container,
.single-product .wpo-options-container {
    order: 1 !important;
}

/* Product total second */
.single-product .product-addon-totals,
.single-product .wc-pao-subtotal-line,
.single-product .wpo-totals,
.single-product .wpo-total,
.single-product .barn2-wpo-total {
    order: 2 !important;
}

/* Quantity third */
.single-product form.cart .quantity {
    order: 3 !important;
    display: block !important;
    float: none !important;
    margin: 0 0 18px !important;
}

/* Add to Cart fourth */
.single-product form.cart button.single_add_to_cart_button {
    order: 4 !important;
    display: block !important;
    float: none !important;
    clear: both !important;
    width: 100% !important;
    margin-top: 18px !important;
}

/* Hide express checkout buttons on product pages */
.single-product .wcpay-payment-request-wrapper,
.single-product .wc-block-components-express-payment,
.single-product .express-payment-methods,
.single-product .payment-request-button,
.single-product .woopay-express-button,
.single-product .wc-stripe-payment-request-wrapper {
    display: none !important;
}

/* Disable product image zoom effects */
.single-product .woocommerce-product-gallery__image img,
.single-product .woocommerce-product-gallery__image:hover img,
.single-product .product img:hover,
.woocommerce div.product div.images img:hover,
.woocommerce-product-gallery img:hover {
    transform: none !important;
    transition: none !important;
    scale: none !important;
    opacity: 1 !important;
}

/* Hide magnifying glass icon */
.single-product .woocommerce-product-gallery__trigger {
    display: none !important;
}


/* =========================================================
   2. CART PAGE
========================================================= */

/* Hide admin/share-cart notice */
.woocommerce-cart .wp-block-group:has(input[value*="checkout"]),
.woocommerce-cart .cart-share,
.woocommerce-cart .share-cart,
.woocommerce-cart .wcpay-cart-share,
.woocommerce-cart .wc-block-components-totals-wrapper:has(input) {
    display: none !important;
}


/* =========================================================
   3. HEADER AND NAVIGATION
========================================================= */

/* Black header */
#masthead,
.site-header,
header.site-header {
    background-color: #000000 !important;
}

/* Hide written site title but keep logo */
.site-header .site-title,
.site-header .site-title a,
.ast-site-title-wrap .site-title,
.ast-site-title-wrap .site-title a {
    display: none !important;
}

/* Main navigation */
#masthead .main-navigation a,
#masthead nav a,
.site-header .main-navigation a,
.site-header nav a,
.main-header-menu > .menu-item > .menu-link,
.ast-builder-menu .main-navigation > ul > li > .menu-link {
    color: #ffffff !important;
    text-transform: uppercase !important;
}

/* Main navigation hover and active */
.main-header-menu > .menu-item > .menu-link:hover,
.main-header-menu > .current-menu-item > .menu-link,
.ast-builder-menu .main-navigation > ul > li > .menu-link:hover {
    color: #ffffff !important;
}

/* Desktop dropdown */
.main-header-menu .sub-menu,
.ast-builder-menu .main-navigation .sub-menu {
    background: #050505 !important;
    border: 1px solid #222222 !important;
    border-radius: 16px !important;
    padding: 12px 0 !important;
    min-width: 260px !important;
}

/* Desktop dropdown links */
.main-header-menu .sub-menu .menu-link,
.ast-builder-menu .main-navigation .sub-menu .menu-link {
    color: #d8d8d8 !important;
    font-size: 16px !important;
    font-weight: 700 !important;
    line-height: 1.25 !important;
    padding: 9px 22px !important;
    background: transparent !important;
    text-transform: none !important;
    letter-spacing: 0 !important;
}

/* Desktop dropdown hover */
.main-header-menu .sub-menu .menu-link:hover,
.ast-builder-menu .main-navigation .sub-menu .menu-link:hover {
    color: #ffffff !important;
    background: #111111 !important;
}


/* =========================================================
   4. REMOVE WORDPRESS PAGE TITLES
========================================================= */

body.page .entry-header,
body.page .entry-title,
body.page .ast-page-title,
body.page .ast-title-bar-wrap {
    display: none !important;
}

/* Remove space left behind by hidden titles */
body.page .site-content,
body.page .content-area,
body.page .ast-container,
body.page article,
body.page .entry-content {
    margin-top: 0 !important;
    padding-top: 0 !important;
}


/* =========================================================
   5. HOMEPAGE DESKTOP LAYOUT
========================================================= */

/* Remove homepage title */
.home .entry-header,
.home .entry-title {
    display: none !important;
}

/* Remove top spacing */
.home .site-content,
.home .content-area,
.home .entry-content,
.home .ast-container {
    padding-top: 0 !important;
    margin-top: 0 !important;
}

/*
Restore homepage blocks to the normal content width.
This overrides any accidental narrow width applied to the blocks.
*/
.home .entry-content > .wp-block-image,
.home .entry-content > .wp-block-media-text,
.home .entry-content > .wp-block-group,
.home .entry-content > .wp-block-html,
.home .entry-content > .wp-block-cover,
.home .entry-content > .wp-block-columns {
    width: 100% !important;
    max-width: 100% !important;
    margin-left: auto !important;
    margin-right: auto !important;
    box-sizing: border-box !important;
}

/* Keep homepage images properly contained */
.home .entry-content img {
    max-width: 100% !important;
    height: auto !important;
}

/* Homepage hero: show full image without cropping */
.home .post-thumb-img-content,
.home .ast-single-post-featured-section,
.home .ast-featured-image {
    max-height: none !important;
    height: auto !important;
    overflow: visible !important;
}

.home .post-thumb-img-content img,
.home .ast-single-post-featured-section img,
.home .ast-featured-image img,
.home img.wp-post-image {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    max-height: none !important;
    object-fit: contain !important;
    object-position: center center !important;
}

/* Feature-strip image */
figure.feature-strip,
figure.mobile-feature-strip,
.feature-strip,
.mobile-feature-strip {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 auto 24px !important;
    padding: 0 !important;
    box-sizing: border-box !important;
}

figure.feature-strip img,
figure.mobile-feature-strip img,
.feature-strip img,
.mobile-feature-strip img {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    margin: 0 auto !important;
}

/* How It Works section */
.home .how-it-works-title {
    background: #ffffff;
    text-align: center;
    padding: 55px 20px 60px !important;
    margin-top: 0 !important;
}

.home .how-it-works-title h2 {
    font-size: 48px !important;
    font-weight: 800 !important;
    color: #111111 !important;
    margin: 0 0 42px !important;
    line-height: 1.1 !important;
}

.home .how-it-works-title p {
    font-size: 28px !important;
    font-weight: 700 !important;
    letter-spacing: 3px !important;
    color: #555555 !important;
    margin: 0 !important;
    text-transform: uppercase !important;
}

/* Media and text section spacing */
.home .wp-block-media-text {
    margin-bottom: 20px !important;
}

/* Separator spacing */
.home .wp-block-separator {
    margin-top: 10px !important;
    margin-bottom: 12px !important;
}

/* Team Sales heading spacing */
.home .wp-block-separator + h2,
.home h2.wp-block-heading {
    margin-top: 0 !important;
    margin-bottom: 12px !important;
}

/* Team Sales paragraph spacing */
.home h2.wp-block-heading + p {
    margin-top: 0 !important;
    margin-bottom: 25px !important;
}


/* =========================================================
   6. SHOP PRODUCT GRID — DESKTOP
========================================================= */

.woocommerce ul.products li.product,
.woocommerce-page ul.products li.product {
    text-align: center !important;
}

/* Equal image areas */
.woocommerce ul.products li.product a img,
.woocommerce-page ul.products li.product a img {
    display: block !important;
    height: 300px !important;
    width: 100% !important;
    object-fit: contain !important;
    object-position: center center !important;
    margin: 0 auto 25px !important;
}

/* Product category */
.woocommerce ul.products li.product .ast-woo-product-category,
.woocommerce-page ul.products li.product .ast-woo-product-category {
    text-align: center !important;
}

/* Product titles */
.woocommerce ul.products li.product .woocommerce-loop-product__title,
.woocommerce-page ul.products li.product .woocommerce-loop-product__title,
.woocommerce ul.products li.product h2,
.woocommerce-page ul.products li.product h2 {
    display: block !important;
    width: 100% !important;
    min-height: 52px !important;
    margin: 0 auto 12px !important;
    text-align: center !important;
}

/* Product buttons */
.woocommerce ul.products li.product .button,
.woocommerce-page ul.products li.product .button {
    margin-top: 12px !important;
}


/* =========================================================
   7. TEAM ORDERS PAGE
========================================================= */

.page-id-117 h1,
.page-id-117 h2,
.page-id-117 h3,
.page-id-117 p {
    color: #ffffff !important;
}


/* =========================================================
   8. MASTER BUTTON STYLING
   Normal: white, gold text, black border
   Hover: black, gold text, gold border
========================================================= */

body:not(.wp-admin) button,
body:not(.wp-admin) input[type="button"],
body:not(.wp-admin) input[type="submit"],
body:not(.wp-admin) input[type="reset"],
body:not(.wp-admin) .button,
body:not(.wp-admin) .wp-element-button,
body:not(.wp-admin) .wp-block-button__link,
body:not(.wp-admin) .woocommerce a.button,
body:not(.wp-admin) .woocommerce button.button,
body:not(.wp-admin) .woocommerce input.button,
body:not(.wp-admin) .woocommerce #respond input#submit,
body:not(.wp-admin) .single_add_to_cart_button,
body:not(.wp-admin) .checkout-button,
body:not(.wp-admin) .added_to_cart,
body:not(.wp-admin) .wc-block-components-button,
body:not(.wp-admin) .wc-block-cart__submit-button,
body:not(.wp-admin) .wc-block-components-checkout-place-order-button,
body:not(.wp-admin) .contact-form button,
body:not(.wp-admin) .contact-form input[type="submit"] {
    background: #ffffff !important;
    background-color: #ffffff !important;
    color: #b8871b !important;
    border: 2px solid #000000 !important;
    border-radius: 999px !important;
    box-shadow: none !important;
    text-decoration: none !important;
    transition: all 0.2s ease !important;
}

/* Button hover, focus and active */
body:not(.wp-admin) button:hover,
body:not(.wp-admin) button:focus,
body:not(.wp-admin) input[type="button"]:hover,
body:not(.wp-admin) input[type="button"]:focus,
body:not(.wp-admin) input[type="submit"]:hover,
body:not(.wp-admin) input[type="submit"]:focus,
body:not(.wp-admin) input[type="reset"]:hover,
body:not(.wp-admin) input[type="reset"]:focus,
body:not(.wp-admin) .button:hover,
body:not(.wp-admin) .button:focus,
body:not(.wp-admin) .wp-element-button:hover,
body:not(.wp-admin) .wp-element-button:focus,
body:not(.wp-admin) .wp-block-button__link:hover,
body:not(.wp-admin) .wp-block-button__link:focus,
body:not(.wp-admin) .woocommerce a.button:hover,
body:not(.wp-admin) .woocommerce a.button:focus,
body:not(.wp-admin) .woocommerce button.button:hover,
body:not(.wp-admin) .woocommerce button.button:focus,
body:not(.wp-admin) .woocommerce input.button:hover,
body:not(.wp-admin) .woocommerce input.button:focus,
body:not(.wp-admin) .woocommerce #respond input#submit:hover,
body:not(.wp-admin) .single_add_to_cart_button:hover,
body:not(.wp-admin) .checkout-button:hover,
body:not(.wp-admin) .added_to_cart:hover,
body:not(.wp-admin) .wc-block-components-button:hover,
body:not(.wp-admin) .wc-block-cart__submit-button:hover,
body:not(.wp-admin) .wc-block-components-checkout-place-order-button:hover,
body:not(.wp-admin) .contact-form button:hover,
body:not(.wp-admin) .contact-form input[type="submit"]:hover {
    background: #000000 !important;
    background-color: #000000 !important;
    color: #d4a72c !important;
    border-color: #d4a72c !important;
    box-shadow: none !important;
}

/* Nested button text on hover */
body:not(.wp-admin) button:hover *,
body:not(.wp-admin) .button:hover *,
body:not(.wp-admin) .wp-element-button:hover *,
body:not(.wp-admin) .wc-block-components-button:hover * {
    color: #d4a72c !important;
}


/* =========================================================
   9. WOOCOMMERCE PAGINATION
========================================================= */

.woocommerce nav.woocommerce-pagination ul li a,
.woocommerce nav.woocommerce-pagination ul li span {
    background: #ffffff !important;
    color: #b8871b !important;
    border: 2px solid #000000 !important;
}

.woocommerce nav.woocommerce-pagination ul li a:hover,
.woocommerce nav.woocommerce-pagination ul li span.current {
    background: #000000 !important;
    color: #d4a72c !important;
    border-color: #d4a72c !important;
}


/* =========================================================
   10. FOOTER LINKS
========================================================= */

.site-footer a,
.site-footer a:visited {
    color: #b8871b !important;
}

.site-footer a:hover {
    color: #000000 !important;
}


/* =========================================================
   11. PREVENT HORIZONTAL PAGE OVERFLOW
========================================================= */

html,
body {
    overflow-x: hidden !important;
}


/* =========================================================
   12. MOBILE STYLES
========================================================= */

@media screen and (max-width: 921px) {

    /* Mobile navigation background */
    .ast-mobile-header-wrap,
    .ast-mobile-header-content,
    .ast-builder-menu-mobile,
    .ast-builder-menu-mobile .main-navigation,
    .ast-builder-menu-mobile .main-header-menu {
        background-color: #000000 !important;
    }

    /* Main mobile menu links */
    .ast-builder-menu-mobile .main-header-menu > .menu-item > .menu-link,
    .ast-mobile-header-content .main-header-menu > .menu-item > .menu-link {
        background-color: #000000 !important;
        color: #ffffff !important;
        border-color: #222222 !important;
        text-transform: uppercase !important;
    }

    /* Mobile dropdown */
    .ast-builder-menu-mobile .main-header-menu .sub-menu,
    .ast-mobile-header-content .main-header-menu .sub-menu,
    .ast-header-break-point .main-header-menu .sub-menu {
        background-color: #050505 !important;
        width: 100% !important;
        min-width: 0 !important;
        border: 0 !important;
        border-radius: 0 !important;
        padding: 4px 0 8px !important;
    }

    /* Mobile dropdown links */
    .ast-builder-menu-mobile .main-header-menu .sub-menu .menu-link,
    .ast-mobile-header-content .main-header-menu .sub-menu .menu-link,
    .ast-header-break-point .main-header-menu .sub-menu .menu-link {
        background-color: #050505 !important;
        color: #d4a72c !important;
        font-size: 16px !important;
        font-weight: 700 !important;
        padding: 12px 28px !important;
        text-transform: none !important;
        border-color: #222222 !important;
    }

    /* Mobile menu hover and active */
    .ast-builder-menu-mobile .main-header-menu .menu-link:hover,
    .ast-builder-menu-mobile .main-header-menu .menu-link:focus,
    .ast-builder-menu-mobile .main-header-menu .current-menu-item > .menu-link,
    .ast-mobile-header-content .main-header-menu .menu-link:hover,
    .ast-mobile-header-content .main-header-menu .menu-link:focus {
        background-color: #000000 !important;
        color: #d4a72c !important;
    }

    /* Dropdown arrows */
    .ast-menu-toggle,
    .ast-mobile-header-content .ast-menu-toggle {
        background: transparent !important;
        color: #d4a72c !important;
        border: 0 !important;
    }

    .ast-menu-toggle svg,
    .ast-mobile-header-content .ast-menu-toggle svg {
        fill: #d4a72c !important;
    }
}


/* =========================================================
   13. PHONE LAYOUT
========================================================= */

@media screen and (max-width: 767px) {

    /*
    Do not force the entire site into a narrow fixed width.
    Only contain individual homepage blocks.
    */
    .home .entry-content > .wp-block-image,
    .home .entry-content > .wp-block-media-text,
    .home .entry-content > .wp-block-group,
    .home .entry-content > .wp-block-html,
    .home .entry-content > .wp-block-cover,
    .home .entry-content > .wp-block-columns {
        width: calc(100% - 24px) !important;
        max-width: calc(100% - 24px) !important;
        margin-left: auto !important;
        margin-right: auto !important;
        box-sizing: border-box !important;
    }

    /* Hero and featured image remain full width */
    .home .post-thumb-img-content,
    .home .ast-single-post-featured-section,
    .home .ast-featured-image {
        width: 100% !important;
        max-width: 100% !important;
        margin-left: auto !important;
        margin-right: auto !important;
    }

    /* Center homepage images */
    .home .wp-block-image img,
    .home .wp-block-group img,
    .home .wp-block-cover img,
    .home .wp-block-media-text img,
    .home .entry-content img {
        display: block !important;
        max-width: 100% !important;
        height: auto !important;
        margin-left: auto !important;
        margin-right: auto !important;
        object-fit: contain !important;
    }

    /* Feature strip */
    figure.feature-strip,
    figure.mobile-feature-strip,
    .feature-strip,
    .mobile-feature-strip {
        display: block !important;
        width: calc(100% - 24px) !important;
        max-width: calc(100% - 24px) !important;
        margin: 12px auto 24px !important;
        padding: 0 !important;
        left: auto !important;
        right: auto !important;
        transform: none !important;
    }

    figure.feature-strip img,
    figure.mobile-feature-strip img,
    .feature-strip img,
    .mobile-feature-strip img {
        display: block !important;
        width: 100% !important;
        max-width: 100% !important;
        height: auto !important;
        margin: 0 auto !important;
    }

    /* Stack media and text section */
    .home .wp-block-media-text {
        display: block !important;
    }

    .home .wp-block-media-text__media,
    .home .wp-block-media-text__content {
        width: 100% !important;
        max-width: 100% !important;
    }

    .home .wp-block-media-text__content {
        padding: 25px 18px !important;
        box-sizing: border-box !important;
    }

    /* Mobile text sizing for How It Works heading block */
    .home .how-it-works-title {
        padding: 30px 18px !important;
    }

    .home .how-it-works-title h2 {
        font-size: 32px !important;
        margin-bottom: 18px !important;
    }

    .home .how-it-works-title p {
        font-size: 17px !important;
        line-height: 1.4 !important;
        letter-spacing: 1px !important;
    }

    /* Shop: one product per row */
    .woocommerce ul.products,
    .woocommerce-page ul.products {
        display: grid !important;
        grid-template-columns: 1fr !important;
        gap: 50px !important;
        width: 100% !important;
        max-width: 100% !important;
        margin: 0 !important;
        padding: 20px 18px !important;
        box-sizing: border-box !important;
    }

    .woocommerce ul.products li.product,
    .woocommerce-page ul.products li.product {
        display: flex !important;
        flex-direction: column !important;
        align-items: center !important;
        width: 100% !important;
        max-width: 100% !important;
        margin: 0 !important;
        padding: 0 !important;
        float: none !important;
        text-align: center !important;
    }

    .woocommerce ul.products li.product a.woocommerce-LoopProduct-link,
    .woocommerce-page ul.products li.product a.woocommerce-LoopProduct-link {
        display: flex !important;
        flex-direction: column !important;
        align-items: center !important;
        width: 100% !important;
        max-width: 100% !important;
    }

    /* Large mobile product images */
    .woocommerce ul.products li.product a img,
    .woocommerce-page ul.products li.product a img {
        display: block !important;
        width: 92% !important;
        max-width: 520px !important;
        height: auto !important;
        max-height: none !important;
        object-fit: contain !important;
        margin: 0 auto 22px !important;
    }

    /* Mobile product titles */
    .woocommerce ul.products li.product .woocommerce-loop-product__title,
    .woocommerce-page ul.products li.product .woocommerce-loop-product__title {
        width: 100% !important;
        min-height: 0 !important;
        font-size: 24px !important;
        line-height: 1.25 !important;
        margin: 8px 0 18px !important;
        padding: 0 !important;
        text-align: center !important;
    }

    /* Mobile product category */
    .woocommerce ul.products li.product .ast-woo-product-category,
    .woocommerce-page ul.products li.product .ast-woo-product-category {
        width: 100% !important;
        font-size: 17px !important;
        margin: 0 0 8px !important;
        text-align: center !important;
    }
/* HOMEPAGE DESKTOP — FORCE ARTICLE TO FULL WIDTH */
@media screen and (min-width: 922px) {

    body.home article,
    body.home article.page,
    body.home .site-main > article,
    body.home .entry-content,
    body.home .wp-site-blocks,
    body.home main {
        width: 100% !important;
        max-width: none !important;
        flex-basis: 100% !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
    }

    body.home .site-content,
    body.home .content-area,
    body.home .site-main,
    body.home #primary,
    body.home #main {
        width: 100% !important;
        max-width: none !important;
    }
}
/* Sportrait cart icon — gold on all headers */
.ast-site-header-cart,
.ast-site-header-cart a,
.ast-site-header-cart .ast-cart-menu-wrap,
.ast-site-header-cart .ast-addon-cart-wrap,
.ast-site-header-cart .ast-icon,
.ast-site-header-cart svg,
.ast-theme-transparent-header .ast-site-header-cart,
.ast-theme-transparent-header .ast-site-header-cart a,
.ast-theme-transparent-header .ast-site-header-cart .ast-cart-menu-wrap,
.ast-theme-transparent-header .ast-site-header-cart .ast-addon-cart-wrap,
.ast-theme-transparent-header .ast-site-header-cart svg {
    color: #F4C430 !important;
    fill: #F4C430 !important;
    border-color: #F4C430 !important;
}

/* Gold cart outline */
.ast-site-header-cart .ast-cart-menu-wrap,
.ast-site-header-cart .ast-addon-cart-wrap {
    border-color: #F4C430 !important;
}

/* Gold item-count bubble with black number */
.ast-site-header-cart .count,
.ast-site-header-cart .ast-cart-menu-wrap .count,
.ast-site-header-cart .ast-addon-cart-wrap .count,
.ast-theme-transparent-header .ast-site-header-cart .count {
    background: #F4C430 !important;
    background-color: #F4C430 !important;
    color: #000000 !important;
    border-color: #F4C430 !important;
}

/* Keep it gold when hovered */
.ast-site-header-cart:hover,
.ast-site-header-cart:hover a,
.ast-site-header-cart:hover svg {
    color: #F4C430 !important;
    fill: #F4C430 !important;
}
	.mission-wrap {
  display: flex;
  align-items: stretch;
  width: 100vw;
  position: relative;
  left: 50%;
  right: 50%;
  margin-left: -50vw;
  margin-right: -50vw;
  background: #fff;
  padding-top: 40px;
}
.mission-img { flex: 1; min-width: 0; line-height: 0; }
.mission-img img { width: 100%; height: 100%; object-fit: cover; display: block; }
.mission-text { flex: 1; min-width: 0; padding: 60px; box-sizing: border-box; display: flex; flex-direction: column; justify-content: center; background: #fff; }

@media (max-width: 768px) {
  .mission-wrap { display: block; width: 100%; left: auto; right: auto; margin-left: 0; margin-right: 0; }
  .mission-img img { width: 100%; height: auto; }
  .mission-text { padding: 32px 24px; display: block; }
}
/* SPORTRAIT PRODUCT GALLERY SIZE */
@media (min-width: 922px) {

    .single-product .woocommerce-product-gallery__image img {
        width: 300px !important;
        height: auto !important;
        margin-left: auto !important;
        margin-right: auto !important;
        display: block !important;
    }

}