/*---------------------------------------------------------------------------------

 Theme Name:   Divi-Child-Exeplore
 Theme URI:    https://exeplore.com/
 Description:  A Divi Child theme created by exeplore web design.
 Author:       EXEPLORE, LLC
 Author URI:   https://exeplore.com/
 Template:     Divi
 Version:      1.0.0
 License:      GNU General Public License v2 or later
 License URI:  http://www.gnu.org/licenses/gpl-2.0.html

------------------------------ ADDITIONAL CSS HERE ------------------------------*/
/* Utilities */
.et_pb_row {
    width: 100% !important; 
}
.actions button[name="update_cart"]:disabled {
    color: #fff !important;
    border-radius: 0 !important;
}
.woocommerce-checkout #payment{
    padding:0 !important
}
/* Header */
.mobile_nav.opened .mobile_menu_bar:before {
    content: '\4d' !important;
}
.mobile_menu_bar:before {
    transition: all .4s ease;
    transform: rotate(0deg);
    display: block;
}
div#header_menu_wrapper .et_pb_module .mobile_menu_bar:before {
    top: 0;
}
.mobile_nav.opened .mobile_menu_bar::before {
    transition: all .4s ease;
    transform: rotate(90deg);
    display: block;
}
header a.et_pb_menu__icon.et_pb_menu__cart-button {
    position: absolute;
    right: 0px;
    top: -3px;
    color: #0066cc !important;
    background: #fff !important;
    padding: 5px 20px !important;
    border-radius: 10px;
    margin: 0 !important;
    text-transform: uppercase;
    font-size: 14px !important;
}
a.et_pb_menu__icon__with_count:after {
    font-size: 23px;
}
.main-header .et_pb_menu__logo-wrap{
    width:0 !important
}
div#header_menu_wrapper {
    margin-bottom: 0px !important;
}
.et_pb_menu__logo img {
    position: absolute;
    left: -150px;
    top: -40px;
    width: 120px !important;
    height: 120px !important;
    object-fit: contain;
}
ul#menu-primary-menu a {
    padding: 20px 0px !important;
}
.header-blurb .et_pb_blurb_content{
    display: flex !important;
    align-items: center;
    justify-content: end;
    margin: 0 !important;
}
.header-blurb .et_pb_image_wrap{
    text-align: right;
    padding-right: 10px;
}
.header-blurb .et_pb_main_blurb_image,
.header-blurb .et-waypoint{
    margin: 0 !important;
}
.header-blurb .et_pb_blurb_container{
    padding:0 !important
}
/* Header end */
/* FAQ */
div#faq .et_pb_toggle {
    padding: 0;
}
div#faq h5.et_pb_toggle_title {
    padding: 25px 70px !important;
}
div#faq .et_pb_accordion_0 .et_pb_toggle_title:before {
    right: 20px !important;
}
div#faq .et_pb_toggle_content.clearfix {
    border-top: 4px solid #0C71C3;
    padding: 20px;
}
div#faq .et-pb-arrow-next, .et-pb-arrow-prev {
    font-size: 60px;
}
div#faq .et_pb_accordion .et_pb_toggle_open .et_pb_toggle_title:before {
    display: block !Important;
    transform: rotate(180deg);
    transition: all ease 0.3s;
}
div#faq h5.et_pb_toggle_title:after {
    content: "";
    background: url("http://siteforceone.com/dev/wnfireworks/wp-content/uploads/2024/05/faq1-2.png") no-repeat center;
    position: absolute;
    left: -10px;
    top: 0;
    width: 6%;
    height: 100%;
    background-size: 76%;
}
/* FAQ end */
/* Product category & Product */
.product-categories-inner {
    display: grid;
    grid-template-columns: repeat(5,1fr);
    gap: 60px 20px;
}
a.category-box img, .woo-product-thumb img {
    width: 90% !important;
    height: 150px;
    object-fit: contain;
}
a.category-box, .woo-product-box,ul.products.columns-4 li {
    border: 4px solid #0C71C3;
    border-radius: 10px;
    text-align: center;
    box-shadow: 3px 8px 20px 3px #00000033;
    display: flex;
    flex-direction: column;
}
a.category-box h3, h3.woo-product-title, h2.woocommerce-loop-product__title {
    color: #393939;
    font-weight: 700;
    font-size: 20px;
    text-align: left;
    margin: 0px 0px 10px 10px !important;
}
a.category-box div:nth-last-child(1), .woo-product-footer {
    background: #0C71C3;
    color: #fff;
    font-size: 20px;
    font-weight: 700;
    text-transform: uppercase;
    padding: 5px 0px;
    margin-top: auto;
}
.category-thumb, .woo-product-thumb {
    padding: 30px 10px;
}
a.woocommerce-product-gallery__trigger {
    display: none;
}
h3.woo-product-title {
    padding: 0px;
    margin-bottom: 0px;
}
.woo-product-category {
    text-align: left;
    margin: 0px 0px 20px 10px;
    color: #393939;
    font-weight: 700;
    text-transform: uppercase;
}
.woo-product-box {
    box-shadow: 4px 8px 15px -2px #00000033;
}
.woo-product-footer {
    font-size: 16px;
}
.swiper-horizontal {
    padding: 30px 0px !important;
}
div#category_breadcrumb span {
    color: #000;
    font-size: 18px !important;
}
div#category_breadcrumb a:after {
    content: '';
    width: 100%;
    height: 2px;
    background: #0c71c378;
    position: absolute;
    bottom: 0;
    left: 0;
}
div#category_breadcrumb a {
    position: relative;
}
div#category_breadcrumb p {
    display: flex;
    align-items: center;
}
.swiper-button-next, .swiper-button-prev {
    color: #000000b8;
    font-weight: 900;
}
.swiper-button-next:after, .swiper-button-prev:after {
    font-size: 30px;
}
.et_pb_wc_add_to_cart.et_pb_hide_stock .stock.out-of-stock{
    display: block !important;
    font-weight:bold
}
/* Product category & Product end */
/* Gallery page */
div#gallery_imgs {
    display: grid;
    grid-template-columns: 40% 20% 40%;
    grid-gap: 10px;
    overflow: hidden;
}
div#gallery_imgs .et_pb_column, div#gallery_imgs2 .et_pb_column {
    width: 100% !important;
}
div#gallery_imgs img, div#gallery_imgs2 img {
    min-width: 100% !important;
    height: 370px;
    object-fit: cover;
    object-position: 100%;
}
div#gallery_imgs2 {
    display: grid;
    grid-template-columns: 20% 45% 20% 15%;
    grid-gap: 10px;
    overflow: hidden;
}
.image-box .et_pb_image_wrap img{
    height: 220px !important; 
    object-fit: cover !important; 
}
.image-box .et_pb_blurb_content .et_pb_blurb_container{
    padding:0 15px;
}
/* Gallery page css end */
/* Shop page css */
.wcapf-form{
    display: flex;
    flex-direction: column;
}
.wcapf-reset-filters{
    order:1
}
.wcapf-filter-price{
    order:2
}
.wcapf-filter-taxonomy-product_cat{
    order:3
}
.wcapf-filter-taxonomy-brand{
    order:4
}
.wcapf-reset-filters .wcapf-filter{
    text-align: center;
}
span.et_shop_image img {
    width: 100% !important;
    height: 110px !important;
	object-fit: contain;
}
span.et_shop_image {
    padding: 30px 20px 15px;
}
.woo-product-footer a {
    color: #fff !important;
    font-size: 16px;
}
span.wcapf-filter-title-inner {
    color: #fff;
    font-size: 20px;
    font-weight: 600;
}
.wcapf-filter-inner label {
    color: #fff !important;
    font-weight: 600 !important;
}
.wcapf-filter-item input[type="checkbox"] {
    background: #fff00000;
    border: 1px solid;
    border-radius: 3px;
}
span.wcapf-nav-item-count {
    display: none;
}
.wcapf-noui-connect {
    background: #000;
}
.wcapf-noui-handle.wcapf-noui-handle-lower {
    height: 13px;
    width: 13px;
    top: -5px;
    right: -1px;
}
.wcapf-noui-handle.wcapf-noui-handle-upper {
    height: 13px;
    width: 13px;
    top: -5px;
    right: -12px;
}
div#price-slider-805 {
    background: #fff;
    border-radius: 0px;
	height: 4px;
}
.wcapf-noui-connect {
    height: 4px;
}
.wcapf-reset-filters.wcapf-reset-filters-rf-1 button {
    background: #000;
    color: #fff;
    text-transform: uppercase;
    padding: 2px 10px;
    font-size: 18px;
    border: none;
}
.wcapf-reset-filters.wcapf-reset-filters-rf-1 button:hover {
    background: #000;
    border: none;
    color: #fff;
}
.wcapf-filter {
    margin-bottom: 15px;
}
.shop_breadcrumb a:after{
	display: none;
}
.archive.woocommerce .woocommerce-result-count {
    display: none !important;
}

.archive.woocommerce .woocommerce-ordering {
    display: block !important;
}
.archive.woocommerce .woocommerce-loop-product__title{
    text-align: center;
}
/* Shop page end */
/* Footer */

ul.footer_menu a, ul.footer_menu li {
    color: #fff !important;
    font-size: 14px;
}
#footer_icon .et_pb_blurb_container {
    padding: 5px 0px 20px !important;
}
footer ul {
    display: block !important;
}
footer ul li:before {
    content: '';
    width: 8px;
    height: 8px;
    background: #fff;
    border-radius: 100%;
    margin-right: 10px;
}

/*-- Events --*/
.all-events-list .et_pb_widget{
    width:100% !important;
    margin: 0 !important;
}
.all-events-list .em-list-widget li,
.all-events-list .em-list-widget ul{
    list-style-type: none !important;
    margin:0 !important;
}
.all-events-list .em-list-widget ul li{
    margin:0 0 10px 0 !important;
}
.all-events-list .widgettitle{
	display:none !important
}
.event-box{
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}
.single-event  .em.em-item.em-item-single .em-item-meta>section section {
    margin-bottom: 20px;
}
.single-event .em-view-container div,
.single-event .em-view-container p,
.single-event .em-view-container a,
.single-event .em-view-container span,
.single-event .em-view-container strong,
.single-event .em-view-container li,
.event-box *{
    font-family: 'Open Sans',sans-serif !important;
}
.event-box-left{
    background: #ed1c24;
    display: flex;
    justify-content: center;
    color: #fff;
    flex-direction: column;
    padding: 20px;
    text-align: center;
    text-transform: uppercase;
    font-size: 16px;
    font-family: inherit;
    width: 150px;
}
.event-box-left .day{
    font-size: 46px;
    margin-top: 10px;
}
.event-box-right{
    background: #f0f0f0;
    padding: 20px;
    width: calc(100% - 160px);
}
.event-box h3.event-title{
    margin: 0 !important;
}
.event-box h3.event-title a{
    color: rgba(0, 0, 0, 0.65) !important;
    font-size: 26px;
    font-weight: bold;
}
.event-box .event-schedule{
    margin-bottom: 5px;
}
.em-event-add-to-calendar-content{
    width:auto !important
}

/* Footer end */
/* ------------------------------ MEDIA QUERIES ------------------------------ */
/* Max-width 400px */
@media only screen and (max-width: 400px) {
    div#gallery_imgs img, div#gallery_imgs2 img {
        height: auto !important;
    }
    div#faq h5.et_pb_toggle_title {
        padding: 5px 45px 5px 65px !important;
        font-size: 16px !important;
        line-height: 20px;
    }
    div#faq h5.et_pb_toggle_title:after {
        left: -8px;
        top: 0px;
        width: 18%;
        background-size: 95%;
    }

	ul.products.columns-4 li {
		min-width: 100% !important;
	}
}
/* Max-width 430px */
@media only screen and (max-width: 430px) {
    .product-categories-inner, div#gallery_imgs, div#gallery_imgs2 {
        grid-template-columns: auto !important;
    }
}
/* Min-width 400px and Max-width 500px */
@media only screen and (min-width: 400px) and (max-width: 500px) {
    .product-categories-inner, div#gallery_imgs, div#gallery_imgs2 {
        grid-template-columns: auto auto !important;
    }
    div#faq h5.et_pb_toggle_title:after {
        left: -20px;
        top: 0;
        width: 25%;
    }
    div#faq h5.et_pb_toggle_title {
        padding: 10px 50px 10px 90px !important;
    }
	ul.products.columns-4 li {
		min-width: 100% !important;
	}
}
/* Max-width 639px */
@media only screen and (max-width: 639px) {
    li.product .woocommerce-loop-product__title,
    .woo-product-category, a.category-box h3, h3.woo-product-title {
        text-align: center !important;
    }
    #contact_icon .et_pb_blurb_container{
        padding-left:0 !important
    }
    #contact_icon .et-waypoint{
        margin-top: 5px !important;
    }
}
/* Min-width 500px and Max-width 767px */
@media only screen and (min-width: 500px) and (max-width: 767px) {
    .product-categories-inner {
        grid-template-columns: auto auto;
    }
    div#gallery_imgs, div#gallery_imgs2 {
        grid-template-columns: auto auto auto !important;
    }
    div#faq h5.et_pb_toggle_title:after {
        width: 15%;
        left: -15px;
    }
    div#faq h5.et_pb_toggle_title {
        padding: 10px 40px 10px 90px !important;
    }
}
/* Max-width 767px */
@media only screen and (max-width: 767px) {
    #hero_section .et_pb_slide_image {
		display: block !important;
		text-align: left;
		padding: 30px;
	}
    .quantity input {
        padding: 7px 0px !important;
    }
    .event-box-left,
    .event-box-right {
        width: 100%;
    }
}
/* Min-width 768px */
@media only screen and (min-width: 768px) {
    .quantity input {
        padding: 11px 0px !important;
    }
    .page-id-608 .et_pb_blurb_position_left .et_pb_blurb_container {
        padding-left: 0px;
    }
    #et_pb_contact_form_0 .et_contact_bottom_container {
        float: left;
        margin-top: 0px;
    }
    #contact_icon span.et_pb_image_wrap {
        margin-left: 4px !important;
    }
    body.postid-122 #page-container .et_pb_section .et_pb_wc_add_to_cart_0_tb_body .button:before {
        font-size: 10px !important;
        left: 32px;
    }
    .swiper-button-prev {
        left: -50px;
    }
    .swiper-button-next {
        right: -50px;
    }
}
/* Min-width 768px and Max-width 980px */
@media only screen and (min-width: 768px) and (max-width: 980px) {
    .product-categories-inner {
        grid-template-columns: auto auto auto;
    }
    div#gallery_imgs img, div#gallery_imgs2 img {
        height: auto !important;
    }
}
/* Min-width 980px */
@media only screen and (min-width: 980px){
	li.mobile-menu-item {
		display: none !important;
	}
}
/* Max-width 980px */
@media only screen and (max-width: 980px) {
    .swiper-button-prev {
        left: -30px !important;
    }
    .swiper-button-next {
        right: -30px !important;
    }

    .main-header .et_mobile_nav_menu{
        margin-right: 15px !important;
    }
    .main-header .et_pb_menu__logo img{
        left:20px;
        top:-44px;
        width: 100px !important;
        height:100px !important
    }
    ul#mobile_menu2 {
        padding: 0 !important;
        top: calc(100% + 10px) !important;
        z-index: -1 !important;
    }
    ul#mobile_menu1 {
        position: fixed;
        top: 49px;
        width: 100%;
        background: #ffffff !important;
        padding-top: 50px;
    }
    ul#mobile_menu1 a {
        color: #0c71c3 !important;
        font-weight: bold;
        font-family: 'Poppins';
    }
    div#top_bar .et_mobile_nav_menu {
        visibility: hidden;
    }
    body .product-categories-inner {
        gap: 20px 20px !important;
    }
    div#footer_logo img {
        width: 60% !important;
    }
    .product-categories-inner {
        grid-template-columns: auto auto auto;
    }
    div#gallery_imgs img, div#gallery_imgs2 img {
        height: auto !important;
    }
}

/* Min-width 980px and Max-width 1135px */
@media only screen and (min-width: 980px) and (max-width: 1135px) {
    div#faq h5.et_pb_toggle_title {
        padding: 20px 80px !important;
    }
}
@media only screen and (min-width: 1000px){
	div#footer1 {
    width: 25%;
}
div#footer2 {
    width: 16%;
}
div#footer_icon {
    width: 20%;
}
div#footer4 {
    width: 30%;
}
}

/* WooCommerce Featured Product Card Alignment */
.woocommerce ul.products li.product {
  display: flex;
  flex-direction: column;
  border: 3px solid #0872c9;
  border-radius: 8px;
  overflow: hidden;
}

/* Product link area */
.woocommerce ul.products li.product a.woocommerce-LoopProduct-link {
  display: flex;
  flex-direction: column;
  flex: 1;
}

/* Consistent product image sizing */
.woocommerce ul.products li.product img {
  width: 100%;
  height: 190px;
  object-fit: contain;
  object-position: center;
  padding: 18px;
  box-sizing: border-box;
}

/* Product title area */
.woocommerce ul.products li.product .woocommerce-loop-product__title {
  min-height: 58px;
}

/* Push button to bottom of card */
.woocommerce ul.products li.product .button {
  margin-top: auto;
  width: 100%;
  border-radius: 0;
  text-align: center;
}

/* Featured product image alignment */
/* Fix [woo_featured_products] shortcode:
   Inject WooCommerce placeholder image when a featured product has no product image uploaded */
.woocommerce ul.products li.product img,
.swiper .product img,
.swiper-slide img.woocommerce-placeholder {
  width: 100%;
  height: 190px;
  object-fit: contain;
  object-position: center;
  padding: 18px;
  box-sizing: border-box;
}

/* Featured product image alignment - tighter spacing */
.woocommerce ul.products li.product img,
.swiper .product img,
.swiper-slide img.woocommerce-placeholder {
  width: 100%;
  height: 157px;
  object-fit: contain;
  object-position: center;
  padding: 12px 18px;
  box-sizing: border-box;
  margin-bottom: 0;
}

/* Remove extra gap before featured product titles */
.swiper .woocommerce-loop-product__title,
.swiper-slide .woocommerce-loop-product__title {
  margin-top: 0;
  padding-top: 0;
}

/* Equal height Featured Product cards */
.swiper-slide .woo-product-box {
    height: 380px; /* adjust as needed */
    display: flex;
    flex-direction: column;
}

/* Make the entire clickable card fill the full height */
.swiper-slide .woo-product-box > a {
    display: flex;
    flex-direction: column;
    height: 100%;
}

/* Let content stack naturally */
.swiper-slide .woo-product-thumb,
.swiper-slide .woo-product-title,
.swiper-slide .woo-product-category {
    flex-shrink: 0;
}

/* Push View Product footer to the bottom */
.swiper-slide .woo-product-footer {
    margin-top: auto;
}

/* Below are some items to address the /shop Product cards
/* Force all product (on the Shop page) cards to equal height */
a.woocommerce-LoopProduct-link.woocommerce-loop-product__link {
    display: flex;
    flex-direction: column;
    height: 380px; /* adjust if needed */
}

/* Keep product title section uniform */
.woocommerce-loop-product__title {
    min-height: 70px; /* increase if titles still uneven */
    line-height: 1.5em;
    display: block !important;
    text-align: center !important;
    width: 100%;
}

/* Push bottom section down consistently */
.price,
.button,
.shop-firework,
.add_to_cart_button {
    margin-top: auto;
}

/* Reduce product title text size */
.woocommerce ul.products li.product h2.woocommerce-loop-product__title {
    font-size: 14px !important;
    line-height: 1.15em;
    min-height: 70px;

    display: flex !important;
    justify-content: center !important;
    align-items: center !important;

    width: 100% !important;
    max-width: 100% !important;

    text-align: center !important;
    margin-bottom: 5px !important;
}

.product-card-category {
    margin-top: 0 !important;
    margin-bottom: 15px;
    font-size: 12px;
    font-weight: 400;
    color: #777;
}

/* Center product titles on shop cards */
.woocommerce ul.products li.product a.woocommerce-LoopProduct-link {
    align-items: center !important;
}

.woocommerce ul.products li.product h2.woocommerce-loop-product__title {
    width: 100% !important;
    text-align: center !important;
}

/* Product price below title */
.woocommerce ul.products li.product .price {
    display: block !important;
    text-align: center !important;
    font-size: 15px;
    font-weight: 600;
    color: #333333 !important;
    margin: 6px 0 10px 0 !important;
}

.woocommerce ul.products li.product h2.woocommerce-loop-product__title {
    padding-left: 0 !important;
    padding-right: 0 !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
}

/*
Product YouTube Video Styling
-----------------------------
Responsive styling for product video shortcode.
*/

.product-youtube-video-section {
    clear: both;
    width: 100%;
    padding: 40px 20px;
    background: #fff;
}

.product-youtube-video-wrap {
    max-width: 900px;
    margin: 0 auto;
}

.product-youtube-video-wrap h2 {
    margin-bottom: 20px;
}

.product-youtube-video-wrap iframe {
    width: 100%;
    aspect-ratio: 16 / 9;
    height: auto;
}

/*
WooCommerce Checkout Shipping Address Fix
-----------------------------------------
Problem:
WooCommerce requires customers to uncheck and
re-check "Ship to a Different Address?" before
the shipping fields appear.

Solution:
Keep the shipping address fields visible at all times
when the shipping checkbox is enabled.

Date Added: 06/18/2026
*/

.shipping_address,
.woocommerce-shipping-fields__field-wrapper {
    display: block !important;
}

/*
WooCommerce Checkout Shipping Details Heading
---------------------------------------------
Styles the custom Shipping Details heading
to match the Billing Details heading.
*/

.exeplore-shipping-heading {
    color: #ed1c24;
    font-weight: 700;
    text-transform: uppercase;
    margin: 40px 0 25px 0;
}

/*
WooCommerce Checkout Same As Above Button
-----------------------------------------
Styles the Use Billing Address button below
the Shipping Details heading.
*/

.same-as-above-wrap {
    margin: -10px 0 20px 0;
    padding: 10px 0;
}

.same-as-above-button {
    background: #0c71c3 !important;
    color: #ffffff !important;
    border: none !important;
    padding: 10px 18px !important;
    border-radius: 4px !important;
    font-weight: 700 !important;
    cursor: pointer;
}