/**
Theme Name: Savvy Rest
Author: Brian Schroeter of LogicalSEO
Author URI: https://www.logicalseo.net
Description: Custom Savvy Rest Theme, Child Theme of Astra Pro
Version: 1.0.13
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: savvy-rest
Template: astra
*/

@font-face {
    font-family: 'icomoon';
    src:  url('fonts/icomoon.eot?tv9p5s');
    src:  url('fonts/icomoon.eot?tv9p5s#iefix') format('embedded-opentype'),
        url('fonts/icomoon.ttf?tv9p5s') format('truetype'),
        url('fonts/icomoon.woff?tv9p5s') format('woff'),
        url('fonts/icomoon.svg?tv9p5s#icomoon') format('svg');
    font-weight: normal;
    font-style: normal;
    font-display: block;
}

[class^="icon-"], [class*=" icon-"] {
    /* use !important to prevent issues with browser extensions that change fonts */
    font-family: 'icomoon' !important;
    speak: never;
    font-style: normal;
    font-weight: normal;
    font-variant: normal;
    text-transform: none;
    line-height: 1;

    /* Better Font Rendering =========== */
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

.icon-Soft_Firm:before {
    content: "\e905";
}
.icon-Medium_Firm:before {
    content: "\e906";
}
.icon-Firm_firm:before {
    content: "\e907";
}
.icon-Firm:before {
    content: "\e908";
}
.icon-Medium:before {
    content: "\e900";
}
.icon-Medium_Medium:before {
    content: "\e901";
}
.icon-Soft:before {
    content: "\e902";
}
.icon-Soft_Medium:before {
    content: "\e903";
}
.icon-Soft_Soft:before {
    content: "\e904";
}
  

.custom-hero-section {
    height: 40vh;
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center;
    display: flex;
    align-items: center;
    justify-content: flex-start;
    margin-bottom: 2em;
}

.custom-hero-section .ast-container {
    width: 100%;
}

.custom-hero-title {
    color: white;
    font-size: 3rem; /* This size can be changed based on your design */
}

/* Responsive adjustments */
@media (max-width: 768px) {
    .custom-hero-title {
        font-size: 2rem; /* Smaller text for smaller devices */
    }
    .custom-hero-section {
        height: 300px; /* Smaller height for smaller devices */
        padding-left: 10px; /* Adjust padding for smaller screens */
    }
}

.custom-gallery-extension-wrapper {
    order: 5;
    gap: 10px;
    display: flex;
    flex-direction: column;
    margin-top: 10px !important;
    border-top: 1px solid #ECEDF4;
    border-bottom: 1px solid #ECEDF4;
    padding-top: 5px;
    padding-bottom: 15px;
}

.custom-gallery-extension-wrapper img {
    margin: 0 auto !important;
    display: block !important;
    width: auto !important;
}

.woocommerce-js a.button, .woocommerce button.button, .woocommerce input.button, .woocommerce #respond input#submit {
    font-weight: 400 !important;
    font-size: 0.8rem;
    padding-top: 16px !important;
    padding-bottom: 16px !important;
    padding-left: 48px !important;
    padding-right: 48px !important;
    margin-bottom: 0 !important;
}

.select2-container .select2-selection--single {
    height: auto; /* Adjust as needed */
}

.select2-container--default .select2-selection--single .select2-selection__arrow {
    height: auto; /* Adjust as needed */
}

.select2-results__option--highlighted[aria-selected] {
    background-color: #f0f0f0 !important; /* Very light gray background on hover */
    color: #262626 !important; /* Adjust text color if needed */
}

.select2-results__option span {
    display: flex !important;
    align-items: center !important;
}

.iconic-was-tooltip {
    background: #fff;
    text-align: left;
    font-size: .9rem !important;
    color: #1A111D !important;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1), 0 6px 20px rgba(0, 0, 0, 0.1) !important;
    border-radius: 6px;
}

.iconic-was-tooltip__inner_wrap {
    font-weight: 500 !important;
}

.iconic-was-tooltip__arrow {
    display: none !important;
}

.iconic-was-swatches--border.iconic-was-swatches--visual .iconic-was-swatch:before {
    border-color: #A173B2;
    border-radius: 6px;
}

.ast-search-box.full-screen .ast-search-wrapper .search-submit.button {
    padding: 0 !important;
    background: none !important;
}

.woocommerce-js a.button, .woocommerce button.button, .woocommerce input.button, .woocommerce #respond input#submit {
    font-size: 1rem !important;
}

.woocommerce-variation-add-to-cart .quantity { 
    display: none !important;
}

.woocommerce-js div.product form.cart .single_variation_wrap .single_variation {
    margin-bottom: 0 !important;
}

.iconic-was-swatches--slider.flickity-enabled .iconic-was-swatches__item:last-child {
    margin-right: 10px !important;
}

.woocommerce-js div.product form.cart .variations tr {
    margin-bottom: 1.25em !important;
}

.woocommerce-page .select2-container .select2-selection--single {
    padding: .6em !important;
    padding-right: 2em !important;
}

@media screen and (max-width: 600px) {
    .iconic-was-swatches__item {
        width: 20%; /* Show 4 items in a row (100% / 4) */
    }
}

.woocommerce-page .select2-container .select2-dropdown {
    margin-top: 32px !important;
}

/* --- Single Product Page --- */

/* Adjust Description "Tab" Properties */
.ast-single-tab #tab-description h4,
.ast-single-tab #tab-description h5 {
    font-weight: 500;
    margin: 0.5em;
}

/* Adjust LI color & weight */
.ast-single-tab #tab-description ul li {
    color: #1A111D;
    font-weight: 450;
}

/* Change LI marker color */
.ast-single-tab #tab-description ul li::marker {
    color: #C9C9D8;
}

/* Adjust margin of full size image */
.ast-single-tab #tab-description .wp-block-image.size-full {
    margin: .25em 0;
}

/* Add border above product form, and adjust padding */
.variations_form {
    border-top: 1px solid #ECEDF4;
    padding-top: 1em !important;
}

/* Adjust border for selected thumbnail */
.woocommerce-product-gallery .flex-active-slide:after {
    border: 2px solid var(--ast-global-color-0) !important;
    border-radius: 6px;
}

/* Adjust price size */
.woocommerce-variation-price .amount bdi {
    font-size: 2rem;
    font-weight: 500;
}

/* Remove Affirm as Low as Margin, and adjust font size */
.summary .affirm-as-low-as {
    margin-bottom: 0;
    font-size: .9rem;
    font-weight: 500;
}

/* --- Related Products --- */
/* Remove affirm from related products */
.related.products {
    .affirm-as-low-as {
        display: none;
    }
}

/* Ensure each list item is a flex container */
.related.products li.product {
    display: flex;
    flex-direction: column;
    justify-content: space-between; /* This will push the button to the bottom */
    height: 100%; /* Make sure each item is full height */
}

/* Set product description to flex-grow to take available space */
.related.products .astra-shop-summary-wrap {
    display: flex;
    flex-direction: column;
    height: 100%; /* Take full height of the parent container */
}

/* This will grow the description div to push the button to the bottom */

/* Emsure we remove extra margin */
.related.products .ast-woo-shop-product-description p {
    margin-bottom: 0;
}

/* Ensure button takes up space at the end of the container */
.related.products .button.product_type_variable.add_to_cart_button {
    margin-top: auto; /* This pushes the button to the bottom */
    align-self: flex-start; /* Center the button horizontally */
}

/* --- Global --- */
/* Adjust border radius */
img {
    border-radius: 6px;
}

/* Adjust figcaption size */
.wp-block-image figcaption {
    font-size: .9rem;
}
.wp-block-image figcaption br {
    display: none;
}

/* Product Page FAQ Styling */
.faq-wrapper {
    order: 7;
    margin-top: 2em;
}

.faq-wrapper .custom-accordion-item {
    border-bottom: 1px solid #ECEDF4;
}

.faq-wrapper .custom-accordion-item:first-child {
    border-top: 1px solid #ECEDF4;
}

.faq-wrapper .custom-accordion-title {
    font-size: 1.25rem;
    color: #1A111D;  /* Fixed typo: original color #1A11D was missing one character */
    font-weight: 550;
    padding: 1em 0;
    cursor: pointer;
    position: relative;
}

.faq-wrapper .faq-icon {
    color: #A173B2;
    position: absolute;
    right: 0;
    top: 50%;
    transform: translateY(-50%);
    transition: transform 0.3s ease; /* Animation for the icon */
}

.faq-wrapper .custom-accordion-content {
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.3s ease;
    padding-left: 0; /* prevent content from having indent if you're using <p> tags */
}

.faq-wrapper .custom-accordion-content.open {
    max-height: 500px; /* use an appropriate value */
}

.faq-wrapper .custom-accordion-content p {
    font-size: 1rem;
    color: #7C7B8C;
    margin-top: 0; /* Remove top margin for alignment */
    padding: 0.5em 0; /* Adjust padding as needed */
}

.custom-dealer-block {
    order: 6;
    margin-top: 2em;
    display: flex;
    align-items: stretch; /* Make sure items stretch to fill */
    background-color: #FBFAFC;
    border-radius: 6px 0 0 6px;
}

.custom-dealer-content {
    flex: 1; /* Take remaining space */
    padding: 1em 0 1em 2em;
}

.custom-dealer-content h6 {
    font-size: 1.25rem;
    font-weight: 500 !important;
    margin-bottom: 0;
}

.custom-dealer-image {
    flex: 0 0 40%; /* Fixed width, no grow or shrink */
    background-image: url('img/map.jpg');
    background-size: cover; /* This is like object-cover for background images */
    background-repeat: no-repeat; /* Do not repeat the image */
    background-position: center; /* Center the background image */
    border-radius: 0 6px 6px 0;
}

.custom-online-exclusive {
    display: flex !important; /* This will prevent the element from taking full width */
    background-color: #ECE3F0; /* The background color for the pill */
    color: #A173B2; /* Text and icon color */
    padding: 6px 20px; /* Padding as requested */
    border-radius: 50px; /* This will give the pill shape */
    font-size: 0.875em; /* Adjust font size as needed */
    align-items: center; /* Vertically center elements inside the pill */
    white-space: nowrap; /* Prevent breaking the tag into multiple lines */
    margin-right: auto;
    display: inline;
    width: auto;
    line-height: 1;
    margin-bottom: 1em !important;
}

.custom-online-exclusive .ph {
    margin-right: 8px; /* Spacing between icon and text */
}

#promotion-bar {
    background-color: #9fc28e;
    padding: 1em 0;
    text-align: center;
    width: 100%;
    font-size: 1rem;
    margin: 0; /* Remove any default margin */
    color: #ffffff; /* Choose a text color that contrasts well with the green background */
    font-weight: 600;
    font-size: 1rem;
    font-weight: normal;
    text-transform: uppercase;
    letter-spacing: 1px; /* This is optional for styling */
}

#promotion-bar a {
    color: #fff;
}

#dealer-bar {
    padding-top: 0.5em;
    padding-bottom: 0.5em;
    background-color: #9160A2;
    clear: both;
    color: #fff;
}

#dealer-bar > div {
    padding: 0 1em; /* Add padding to the children divs for spacing */
}

/* Add additional styles for the links if needed */
#dealer-bar a {
    color: #fff; /* Example color for the text */
    margin-left: 1em; /* Space out the links if there are two */
    text-decoration: none; /* Example style, remove the underline */
}

/* --- Search Results Page --- */
body.search-results .ast-article-post {
    padding: 0 !important;
}

body.search-results .page-title {
    margin-bottom: 0 !important;
}

body.search-results h2.entry-title {
    margin-top: 0 !important;
}

/* Hide author and date meta on search results */
body.search-results .entry-meta {
    display: none;
}

/* Hide featured image on search results */
body.search-results .post-thumb {
    display: none;
}

body.search-results h1.page-title {
    font-size: 3.5rem;
}

/* Force gallery to use flexbox for ordering */
.woocommerce-product-gallery {
    display: flex !important;
    flex-direction: column !important;
}

/* Certification Logos Section */
.savvy-certification-logos {
    margin-top: 20px;
    margin-bottom: 20px;
    padding: 15px 0;
    width: 100%;
    display: flex;
    justify-content: center;
    order: 99;
}

.certification-logos-wrapper {
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    gap: 25px;
    align-items: center;
    justify-content: center;
}

.certification-logo-item {
    flex: 0 0 auto;
    max-width: 140px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.certification-logo-item a {
    display: flex;
    align-items: center;
    justify-content: center;
}

.certification-logo-item img {
    max-width: 100%;
    height: auto;
    max-height: 90px;
    object-fit: contain;
    transition: transform 0.3s ease;
    display: block;
}

.certification-logo-item img:hover {
    transform: scale(1.05);
}

/* Mobile responsive */
@media (max-width: 768px) {
    .certification-logos-wrapper {
        gap: 20px;
        flex-wrap: wrap;
    }
    
    .certification-logo-item {
        max-width: 100px;
    }
    
    .certification-logo-item img {
        max-height: 70px;
    }
}