/* 
Theme Name: Hello Elementor Child
Theme URI: https://github.com/elementor/hello-theme-child/
Description: Hello Elementor Child is a child theme of Hello Elementor, created by Elementor team
Author: Elementor Team
Author URI: https://elementor.com/
Template: hello-elementor
Version: 2.0.0
Text Domain: hello-elementor-child
License: GNU General Public License v3 or later.
License URI: https://www.gnu.org/licenses/gpl-3.0.html
Tags: flexible-header, custom-colors, custom-menu, custom-logo, editor-style, featured-images, rtl-language-support, threaded-comments, translation-ready
*/

/* ===================================================================
   SECTION 1: PRODUCT GRID & LAYOUT
   ===================================================================
   Styles for product grid container, wrapper, and responsive layout
   =================================================================== */

/* Product Grid Wrapper - Centers grid in full-width Elementor container */
.product-grid-wrapper { 
    display: flex; 
    justify-content: center; 
    width: 100%; 
}

/* Product Grid - Responsive grid layout */
.product-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
    gap: 3rem;
    width: 100%;
    justify-content: center;
    justify-items: center;
}
@media (min-width: 1600px) { 
    .product-grid { 
        grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); 
        max-width: 100%;
    } 
}

/* Results Header: Total Count and View Toggle */
.product-results-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 2rem;
    width: 100%;
}
div#total-count {
    line-height: 21px;
    opacity: 0.5;
    margin: 0;
    font-size: 24px;
    font-weight: 400;
    color: #0b2a5b;
    font-family: 'Oswald';
}

/* Product Controls Wrapper */
.product-controls-wrapper {
    display: flex;
    align-items: center;
    gap: 1rem;
}

/* Sort Dropdown Wrapper */
.product-sort-wrapper {
    display: flex;
    align-items: center;
}
.product-sort-wrapper label {
    margin: 0;
    display: block;
}
.product-sort-wrapper select.sf-input-select {
    height: 36px;
    padding: 0 2.5rem 0 1rem;
    border: 2px solid #b4c1cc;
    background: #fff;
    color: #083157;
    font-family: 'Lato', sans-serif;
    font-size: 15px;
    font-weight: 400;
    border-radius: 0px;
    cursor: pointer;
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    background-image: url("data:image/svg+xml,%3Csvg width='12' height='8' viewBox='0 0 12 8' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 1L6 6L11 1' stroke='%23083157' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
        background-position: right 0.7rem center;
    background-size: 10px 8px;
    padding-right: 2rem;
    transition: all 0.2s ease;
}
.product-sort-wrapper select.sf-input-select:hover {
    border-color: #083157;
}
.product-sort-wrapper select.sf-input-select:focus {
    outline: none;
    border-color: #083157;
}

/* View Toggle Buttons */
.product-view-toggle-wrapper {
    display: flex;
    justify-content: flex-end;
    gap: 0.5rem;
}
@media (max-width: 767px) {
    .product-controls-wrapper {
        flex-direction: column;
        align-items: flex-end;
        width: 100%;
    }
    .product-sort-wrapper {
        width: 100%;
    }
    .product-sort-wrapper select.sf-input-select {
        width: 100%;
    }
    .product-view-toggle-wrapper {
        display: none;
    }
}
.view-toggle-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    padding: 0;
    border: 2px solid #b4c1cc;
    background: #fff;
    color: #b4c1cc;
    cursor: pointer;
    transition: all 0.2s ease;
    border-radius: 0px;
    position: relative;
}
.view-toggle-btn:hover {
    background: #b4c1cc;
    color: #fff;
}
.view-toggle-btn.active {
    background: #083157;
    color: #fff;
    border: 2px solid #083157;
}
.view-toggle-btn svg {
    width: 20px;
    height: 20px;
    display: block;
}
.view-toggle-btn .screen-reader-text {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border-width: 0;
}

/* List View Layout */
.product-list-view {
    display: flex !important;
    flex-direction: column;
    gap: 0;
    width: 100%;
}
.product-list-view .product-item {
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    text-align: left;
    max-width: 100%;
    width: 100%;
    min-height: auto;
    padding: 1.5rem;
    gap: 2rem;
    border-bottom: 2px dashed #b4c1cc;
    border-radius: 0;
}
.product-list-view .product-item:last-child {
    border-bottom: none;
}
.product-list-view .product-thumb {
    flex-shrink: 0;
    width: 150px;
    max-width: 150px;
    margin-bottom: 0;
}
.product-list-view .product-meta {
    flex: 1;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    align-items: flex-start;
    min-width: 0;
}
.product-list-view .woocommerce-loop-product__title {
    text-align: left;
    min-height: auto;
    margin-bottom: 0.5rem;
}
.product-list-view .price {
    margin-bottom: 0.5rem;
}
.product-list-view .product-sku {
    margin-bottom: 0.5rem;
}
.product-list-view .add-to-cart-wrapper {
    flex-shrink: 0;
    width: auto;
    min-width: 200px;
    margin-top: 0;
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
}
.product-list-view .add-to-cart-wrapper .button {
    width: 100%;
    white-space: nowrap;
}
@media (max-width: 767px) {
    .product-list-view .product-item {
        flex-direction: column;
        gap: 1rem;
    }
    .product-list-view .product-thumb {
        width: 100%;
        max-width: 100%;
    }
    .product-list-view .add-to-cart-wrapper {
        width: 100%;
        min-width: auto;
    }
    .product-results-header {
        flex-direction: column;
        align-items: flex-start;
        gap: 1rem;
    }
}

/* ===================================================================
   SECTION 2: PRODUCT CARDS
   ===================================================================
   Styles for individual product card containers and structure
   =================================================================== */

.product-item {
    display: flex; 
    flex-direction: column; 
    justify-content: space-between; 
    align-items: center;
    text-align: center; 
    background: #fff; 
    padding: 0; 
    min-height: 360px; 
    position: relative;
    box-sizing: border-box; 
    transition: box-shadow .2s ease;
    max-width: 350px;
    width: 100%;
}
.product-item:hover { 
    transition: .1s; 
}

/* ===================================================================
   SECTION 3: PRODUCT THUMBNAILS
   ===================================================================
   Styles for product images/thumbnails in product cards
   =================================================================== */

.product-thumb {
    position: relative; 
    border: 0px solid #0d2948; 
    aspect-ratio: 1/1; 
    width: 100%;
    display: flex; 
    align-items: center; 
    justify-content: center; 
    margin-bottom: .75rem; 
    border-radius: 20px;
}
.product-thumb img { 
    max-width: 100%; 
    height: auto; 
    object-fit: contain; 
}
.product-item .product-thumb {
    position: relative;
    display: grid;
    place-items: center;
    isolation: isolate;
}
.product-item .product-thumb,
.product-item .product-thumb > a {
    aspect-ratio: 1 / 1;
    width: 100%;
}
.product-item .product-thumb img {
    position: relative;
    z-index: 1;
    display: block;
    background: transparent;
}
.product-thumb a img { 
    border-radius: 50px !important; 
}
.product-item:hover .product-thumb::before,
.product-item:focus-within .product-thumb::before {
    opacity: 1;
    transform: scale(1);
}

/* ===================================================================
   SECTION 4: PRODUCT BADGES & ICONS
   ===================================================================
   Styles for out-of-stock badges, scoop icons, and product indicators
   =================================================================== */

/* Out of Stock Badge */
.out-of-stock-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 24px;
    height: 24px;
    color: #0d2948;
    line-height: 1;
}
.out-of-stock-icon .fa-solid {
    font-size: 18px;
}
.product-item .out-of-stock-icon {
    position: absolute;
    top: .5rem;
    right: .5rem;
    width: 28px;
    height: 28px;
    font-size: 14px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

/* Scoop Icons - Bottom-right chip on product cards */
.product-item .scoop-icons {
    position: absolute;
    right: .5rem;
    bottom: .5rem;
    display: inline-flex;
    align-items: center;
    gap: 4px;
    padding: 2px 6px;
    color: var(--scoop-color, #0d2948);
    line-height: 1;
}
.scoop-icons {
    display: inline-flex;
    align-items: center;
    gap: 0.1rem;
    line-height: 1;
}
.product-item .scoop-icons .scoop-svg {
    width: 18px;
    height: 18px;
    display: block;
    fill: #083157;
}
.scoop-icons .scoop-svg {
    width: 24px;
    height: 30px;
    stroke: currentColor;
    fill: currentColor;
    display: inline-block;
    padding: 1px;
}
.product-item .scoop-icons .scoop-plus {
    font-weight: 700;
    font-size: 13px;
    transform: translateY(-1px);
}
.scoop-icons .scoop-plus {
    margin-left: 0.125rem;
    font-weight: 700;
}

/* ===================================================================
   SECTION 5: PRODUCT META INFORMATION
   ===================================================================
   Styles for SKU, product title, and price display
   =================================================================== */

.product-meta { 
    flex-grow: 1; 
    display: flex; 
    flex-direction: column; 
    justify-content: flex-start; 
    width: 100%; 
}
.product-sku {
    display: inline-flex; 
    background: #eaeaea; 
    color: #0d2948; 
    text-transform: uppercase; 
    width: fit-content;
    font: 400 16px 'Oswald', sans-serif; 
    padding: .2rem .4rem; 
    margin-bottom: 0;
}
.woocommerce-loop-product__title {
    color: #0d2948; 
    margin: .3rem 0; 
    min-height: 2.6em; 
    line-height: 1.3; 
    overflow: hidden;
    display: -webkit-box; 
    -webkit-line-clamp: 2; 
    -webkit-box-orient: vertical;
    font: 300 24px 'Oswald', sans-serif; 
    text-align: left;
}
.price {
    color: #083157 !important; 
    text-align: left; 
    margin-bottom: 1rem;
    font: 400 24px 'Oswald', sans-serif !important;
}

/* ===================================================================
   SECTION 6: PRODUCT BUTTONS
   ===================================================================
   Styles for add to cart buttons and related actions
   =================================================================== */

.add-to-cart-wrapper { 
    margin-top: auto; 
    width: 100%; 
}
.add_to_cart_button, 
.read-more {
    text-transform: uppercase; 
    width: 100%; 
    text-align: center; 
    border-radius: 0 !important;
    font: 400 22px/24px 'Oswald', sans-serif !important;
}
a.button.product_type_simple.add_to_cart_button.ajax_add_to_cart {
    background: #00CCB7; 
    border-radius: 0; 
    font: 400 22px/24px 'Oswald', sans-serif; 
    color: #fff;
}
a.button.product_type_simple.add_to_cart_button.ajax_add_to_cart:hover {
    background: #083157;
}
.add_to_cart_button:hover, 
.read-more:hover { 
    background: #0d2948; 
    color: #fff; 
}
.add-to-cart-wrapper .added_to_cart {
    background: #00ccb7ba;
    display: inline-block;
    width: inherit;
    color: white;
    font-family: 'Oswald';
    font: 400 22px/24px;
    text-transform: uppercase;
    line-height: 16px;
    padding: .618em 1em;
}
a.button.split-view {
    width: 100%;
    border-radius: 0px;
    line-height: 16px;
    font-family: 'Oswald';
    font-weight: 400;
    text-transform: uppercase;
    color: white;
    background: #00ccb782;
}
a.added_to_cart.wc-forward:hover, 
a.button.split-view:hover {
    background: #083157;
    color: white;
}

/* ===================================================================
   SECTION 7: SEARCH & FILTER PRO PLUGIN
   ===================================================================
   Styles for Search & Filter Pro plugin: accordion, checkboxes, pills
   =================================================================== */

/* Base Search & Filter Container */
.searchandfilter {
    background: #fff; 
    color: #0b2a5b; 
    font-family: system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
}

/* Filter Field Groups */
.searchandfilter li[class^="sf-field-"] { 
    display: block; 
}
/* Hide sort field in sidebar (it's moved to header) */
form.searchandfilter.sf-filters-expanded > ul > li.sf-field-sort_order[data-sf-field-name="_sf_sort_order"]:not([data-sf-field-name="search"]):not([data-sf-field-name="reset"]),
form.searchandfilter > ul > li.sf-field-sort_order[data-sf-field-name="_sf_sort_order"][data-sf-show="1"],
.searchandfilter li.sf-field-sort_order {
    display: none !important;
}

/* Filter Headings (Accordion Toggles) */
.searchandfilter h4 {
    margin: 0; 
    font-size: 24px; 
    font-weight: 400; 
    color: #0b2a5b; 
    cursor: pointer; 
    position: relative;
    font-family: 'Oswald'; 
    padding-right: 34px;
}
form#search-filter-form-320208.searchandfilter h4 {
    border-bottom: 2px dashed #b4c1cc;
    margin: 0;
    font-size: 18px;
    font-weight: 400;
    color: #0b2a5b;
    cursor: pointer;
    position: relative;
    font-family: 'Oswald';
    padding-right: 34px;
    text-transform: uppercase;
}

/* Accordion Chevron Icon */
.searchandfilter h4::after {
    content: "\f078";
    font-family: "Font Awesome 6 Free", "Font Awesome 5 Free", "Font Awesome 6 Pro", "Font Awesome 5 Pro";
    font-weight: 900;
    position: absolute;
    right: -1px;
    top: 7px;
    transform: translateY(-50%) rotate(0deg);
    transition: transform .2s ease;
    color: #b4c1cc;
}
.sf-acc-open > h4::after { 
    transform: translateY(-50%) rotate(-180deg); 
}

/* Accordion Panel Animation */
.sf-acc-panel {
    display: block; 
    overflow: hidden; 
    max-height: 0; 
    transition: max-height .25s ease;
    border: 0;
}
.sf-acc-open .sf-acc-panel { 
    max-height: 1000px; 
}

/* Filter Lists */
.searchandfilter ul { 
    margin: 0; 
    padding: 0; 
    list-style: none; 
}
.searchandfilter li[class^="sf-field-"] > ul > li {
    display: flex; 
    align-items: center; 
    gap: 10px; 
    padding: 3px 0;
}
.searchandfilter li[class^="sf-field-"] > ul { 
    margin: 6px 0 10px; 
    padding: 0; 
}
form.searchandfilter li[class^="sf-field-"] > ul {
    margin: 7px 0 0px;
    padding: 0;
}
form.searchandfilter > ul > li {
    padding: 0px;
}

/* Search Field */
li.sf-field-search { 
    display: initial !important; 
}
li.sf-field-search label {
    width: 100%; 
    margin-bottom: 20px;
}
input.sf-input-text {
    border-radius: 100px;
    border: 2px solid #b4c1cc;
}
input[type=search]:focus, 
input[type=text]:focus {
    border-color: #00ccb7;
}

/* CSS Variables for Filter Colors */
:root { 
    --sf-blue: #0b2a5b; 
    --sf-teal: #14d3c3; 
}

/* Custom Checkbox Styling */
.searchandfilter input[type="checkbox"].sf-input-checkbox {
    appearance: none; 
    -webkit-appearance: none; 
    -moz-appearance: none;
    width: 20px; 
    height: 20px; 
    margin: 0 10px 0 0; 
    border: 2px solid var(--sf-blue);
    border-radius: 6px; 
    background: #fff; 
    display: inline-grid; 
    place-content: center;
    cursor: pointer; 
    vertical-align: middle; 
    position: relative;
    transition: box-shadow .2s ease, border-color .2s ease, background .2s ease;
}
.searchandfilter input[type="checkbox"].sf-input-checkbox:focus {
    outline: none; 
    box-shadow: 0 0 0 4px rgba(11, 42, 91, .15);
}
.searchandfilter input[type="checkbox"].sf-input-checkbox::after {
    content: ""; 
    width: 12px; 
    height: 12px; 
    border-radius: 4px; 
    background: var(--sf-teal);
    transform: scale(0); 
    transition: transform .18s ease;
}
.searchandfilter input[type="checkbox"].sf-input-checkbox:checked::after { 
    transform: scale(1); 
}
.searchandfilter input[type="checkbox"].sf-input-checkbox:disabled { 
    opacity: .35; 
    cursor: not-allowed; 
}

/* Filter Pill Style (Form ID: 320208) */
#search-filter-form-320208 .sf-input-checkbox[type="checkbox"] {
    position: absolute;
    opacity: 0;
    pointer-events: none;
}
#search-filter-form-320208 .sf-input-checkbox[type="checkbox"] + .sf-label-checkbox {
    display: inline-flex;
    align-items: center;
    padding: 3px 3px 3px 9px;
    border-radius: 9999px;
    border: 2px solid #083157;
    cursor: pointer;
    user-select: none;
    transition: background-color 0.2s ease, color 0.2s ease, border-color 0.2s ease, box-shadow 0.2s ease;
    justify-content: space-between;
    font-size: 14px;
    font-family: 'Lato';
}
#search-filter-form-320208 .sf-input-checkbox[type="checkbox"] + .sf-label-checkbox .sf-count {
    font-size: 0.75rem;
    background-color: #083157;
}
#search-filter-form-320208 .sf-input-checkbox[type="checkbox"] + .sf-label-checkbox:hover {
    border-color: #083157;
    background-color: #083157;
    color: white;
}
#search-filter-form-320208 .sf-input-checkbox[type="checkbox"]:checked + .sf-label-checkbox {
    border-color: #083157;
    background-color: #083157;
    color: white;
}
#search-filter-form-320208 .sf-input-checkbox[type="checkbox"]:focus-visible + .sf-label-checkbox {
    outline: 2px solid #000;
    outline-offset: 2px;
}

/* Filter Labels */
.searchandfilter .sf-label-checkbox {
    color: var(--sf-blue); 
    font-size: 16px; 
    line-height: 20px; 
    cursor: pointer; 
    user-select: none;
}

/* Filter Count Badges */
span.sf-count {
    background: #083157;
    color: white !important;
    padding: 0px 8px !important;
    font-size: 13px;
    margin-left: 7px;
    border-radius: 100px;
}

/* Selected Filters Display */
#sfp-selected-filters:empty { 
    display: none; 
}
div#sfp-selected-filters .sfp-filter-item {
    margin: 0px 2px 4px !important;
}
span.sfp-filter-item {
    padding: 4px 14px;
    display: inline-flex;
    border-radius: 100px;
    color: #ffffff;
    font-family: 'lato';
    text-transform: capitalize;
    background: #b4c1cc;
    font-weight: 400;
    font-size: 14px;
}
span.sfp-remove { 
    margin-left: 7px; 
}

/* Filter Pills Layout */
/* li.sf-field-taxonomy-product_cat ul, 
li.sf-field-taxonomy-product_meta ul {
    display: flex !important;
    flex-direction: row;
    flex-wrap: wrap;
    gap: 0px 5px;
} */

li[class^="sf-field-taxonomy-"] ul,
li[class*=" sf-field-taxonomy-"] ul {
  display: flex !important;
  flex-direction: row;
  flex-wrap: wrap;
  gap: 0 5px;
}

/* Total Count Display - moved to product-results-header section */
li.hub-no-filters-msg {
    font-size: 14px;
    font-style: normal !important;
}
span.sfp-empty-message {
    font-size: 14px;
    display: block;
    border-bottom: 2px dashed #b4c1cc;
    width: 100%;
}

/* ===================================================================
   SECTION 8: AJAX SEARCH PLUGIN (DGWT WooCommerce AJAX Search)
   ===================================================================
   Styles for DGWT WooCommerce AJAX Search plugin
   =================================================================== */

.dgwt-wcas-sf-wrapp input[type=search].dgwt-wcas-search-input {
    width: 100%;
    height: 59px;
    font-size: 17px;
    line-height: 100%;
    padding: 10px 15px;
    margin: 0;
    background: #fff;
    border: 1px solid #ddd;
    border-radius: 43px !important;
    -webkit-border-radius: 3px;
    -webkit-appearance: none;
    box-sizing: border-box;
}
.dgwt-wcas-sf-wrapp button.dgwt-wcas-search-submit {
    background-color: #33333300 !important;
}
button.dgwt-wcas-search-submit {
    display: none;
}
.dgwt-wcas-preloader.dgwt-wcas-close {
    right: 10px !important;
}
input#dgwt-wcas-search-input-1 {
    text-align: center;
}
.dgwt-wcas-suggestions-wrapp {
    margin-top: 5px;
    border-radius: 10px;
    padding: 10px;
}
.dgwt-wcas-suggestion {
    font-family: 'Lato';
    font-size: 17px;
    color: #083157;
}
.dgwt-wcas-has-headings .dgwt-wcas-suggestion-headline .dgwt-wcas-st {
    border-bottom: 2px solid #ddd;
    padding-bottom: 3px;
    text-transform: uppercase;
    margin-top: 16px;
    font-size: 17px;
    font-weight: 400;
    color: #f03c73;
    font-family: 'Oswald';
}
.dgwt-wcas-has-img .dgwt-wcas-suggestion.dgwt-wcas-suggestion-product {
    padding-top: 8px;
    padding-bottom: 8px;
    min-height: 30px;
}
.dgwt-wcas-st {
    color: #083157;
    font-size: 16px;
    width: 100%;
    line-height: 100%;
}
span.dgwt-wcas-st-more {
    text-transform: none;
}


/* ===================================================================
   SECTION 10: WOOCOMMERCE PRODUCT DISPLAY
   ===================================================================
   Styles for product price, stock status, and Elementor widgets
   =================================================================== */

p.stock.out-of-stock {
    margin: 0px !important;
}
.elementor-widget-woocommerce-product-price span.woocommerce-Price-amount.amount {
    font-size: 30px;
    font-weight: 600;
}
.elementor-add-to-cart.elementor-product-simple p.stock {
    display: none;
}
p.price {
    margin: 0px 20px 0px 0px;
}

/* ===================================================================
   SECTION 11: DIET ICONS
   ===================================================================
   Styles for diet-related icons (gluten-free, vegan, etc.)
   =================================================================== */

.diet-icons {
    display: inline-flex;
    gap: 0.4rem;
    align-items: center;
    padding: 0;
    margin: 0;
    list-style: none;
}
.diet-icons .diet-item {
    display: inline-flex;
    align-items: center;
    gap: 0.3rem;
    line-height: 1;
}
.diet-icons .diet-svg {
    width: 38px;
    height: 38px;
    display: inline-block;
    fill: currentColor;
}
.diet-icons .diet-label {
    font-size: 0.9em;
}

/* ===================================================================
   SECTION 12: ACF SPECS (Advanced Custom Fields)
   ===================================================================
   Styles for inline product specifications
   =================================================================== */

.acf-specs-inline {
    font-family: 'Lato';
    font-size: 15px;
    line-height: 17px;
}

/* ===================================================================
   SECTION 13: SINGLE PRODUCT PAGE
   ===================================================================
   Styles for single product page gallery and image display
   =================================================================== */

/* .single-product .woocommerce-product-gallery .flex-viewport {
    --accent-circle: min(75%, 440px);
    position: relative;
    isolation: isolate;
    background-image:
        radial-gradient(circle at 50% 55%, hsl(var(--accent, 210 10% 55%) / 0.40) 0 50%, transparent 50%),
        linear-gradient(hsl(var(--accent, 210 10% 55%) / 0.10), hsl(var(--accent, 210 10% 55%) / 0.10));
    background-size:
        var(--accent-circle) var(--accent-circle),
        100% 100%;
    background-position:
        50% 50%,
        50% 50%;
    background-repeat: no-repeat;
}
.single-product .woocommerce-product-gallery:not(:has(.flex-viewport)) .woocommerce-product-gallery__wrapper {
    position: relative;
    background-image:
        radial-gradient(circle at 50% 55%, hsl(var(--accent, 210 10% 55%) / 0.40) 0 50%, transparent 50%),
        linear-gradient(hsl(var(--accent, 210 10% 55%) / 0.10), hsl(var(--accent, 210 10% 55%) / 0.10));
    background-size:
        var(--accent-circle, min(75%, 440px)) var(--accent-circle, min(75%, 440px)),
        100% 100%;
    background-position: 50% 50%, 50% 50%;
    background-repeat: no-repeat;
} */
.single-product .woocommerce-product-gallery .flex-viewport img {
    position: relative;
    z-index: 1;
}
.single-product .woocommerce-product-gallery .flex-control-thumbs {
    background: none !important;
}
.single-product .woocommerce-product-gallery { 
    position: relative; 
    z-index: 0; 
}
.single-product .woocommerce-product-gallery::before,
.single-product .woocommerce-product-gallery::after { 
    z-index: -1; 
}





a.search-filter-reset {
    display: block;
    background: #ef3c73;
    text-align: center;
    font-size: 13px;
    text-transform: uppercase;
    padding: 5px 0px;
    margin-bottom: 17px;
    color: white;
    border-radius:0px;
}

a.search-filter-reset:hover {
background-color: #083157;

}

li.sf-field-taxonomy-pm_ice_cream_bases_improvers:before {
	content: 'Gelato, Ice Cream & Bakery Ingredients';
    display:block;
    margin: 20px 0px 10px;
    opacity: .75;
    font-size: 13px;
}
li.sf-field-taxonomy-pm_chocolate_items:before {
	content: 'Chocolate';
    display:block;
    margin: 20px 0px 10px;
    opacity: .75;
    font-size: 13px;
}
li.sf-field-taxonomy-pm_packaging:before {
	content: 'Packaging';
    display:block;
    margin: 20px 0px 10px;
    opacity: .75;
    font-size: 13px;
}
li.sf-field-taxonomy-pm_rolled_cones:before {
	content: 'Cones & Edible Containers';
    display:block;
    margin: 20px 0px 10px;
    opacity: .75;
    font-size: 13px;
}
li.sf-field-taxonomy-pm_wafers:before {
	content: 'Add-ons';
    display:block;
    margin: 20px 0px 10px;
    opacity: .75;
    font-size: 13px;
}

span.sfp-remove {
    margin-left: 7px;
    cursor: pointer;
}

span.sfp-remove:hover {
    color:black;
}

/* ===================================================================
   SECTION 14: SAWTOOTH PATTERN
   ===================================================================
   CSS sawtooth pattern using lines (stroke) as 2px solid border-bottom
   =================================================================== */

/* Sawtooth border-bottom: 2px solid with sawtooth pattern */
.sawtooth-border {
    position: relative;
    border-bottom: 2px solid transparent;
}
.sawtooth-border::after {
    content: '';
    position: absolute;
    bottom: -2px;
    left: 0;
    right: 0;
    height: 12px;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='10' viewBox='0 0 20 10'%3E%3Cpath d='M 0 10 L 10 0 L 20 10' fill='none' stroke='%23083157' stroke-width='2' stroke-linecap='square' stroke-linejoin='miter'/%3E%3C/svg%3E");
    background-repeat: repeat-x;
    background-position: bottom;
    background-size: 20px 12px;
    opacity: 0.3; /* Adjust this value (0-1) to change border opacity without affecting parent */
}


/* ===================================================================
   SECTION 15: BASKET, CHECKOUT AND GENERAL
   =================================================================== */

.cart-collaterals h2, .woocommerce-billing-fields h3, .hub-checkout-shipping-profile h3, h3#order_review_heading, div#customer_login h2 {
    font-family: 'Oswald';
    font-weight: 400;
    font-size: 30px;
}

/* Base table reset (cart + totals) */
.woocommerce table.shop_table {
  border-collapse: collapse;
  border-left: none;
  border-right: none;
}

/* Remove all cell borders */
.woocommerce table.shop_table th,
.woocommerce table.shop_table td {
  border-left: none !important;
  border-right: none !important;
  border-top: none;
  border-bottom: none;
}

/* Top & bottom dashed borders per row */
.woocommerce table.shop_table thead tr,
.woocommerce table.shop_table tbody tr {
  border-top: 2px dashed #b4c1cc;
  border-bottom: 2px dashed #b4c1cc;
}

/* Prevent double border between header and first row */
.woocommerce table.shop_table thead tr {
  border-bottom: none;
}

/* Zebra striping – every other body row */
.woocommerce table.shop_table tbody tr:nth-child(odd) {
  background-color: rgba(180, 193, 204, 0.1);
}

.woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) #respond input#submit.alt, .woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) a.button.alt, .woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) button.button.alt, .woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) input.button.alt, :where(body:not(.woocommerce-block-theme-has-button-styles)):where(:not(.edit-post-visual-editor)) .woocommerce #respond input#submit.alt, :where(body:not(.woocommerce-block-theme-has-button-styles)):where(:not(.edit-post-visual-editor)) .woocommerce a.button.alt, :where(body:not(.woocommerce-block-theme-has-button-styles)):where(:not(.edit-post-visual-editor)) .woocommerce button.button.alt, :where(body:not(.woocommerce-block-theme-has-button-styles)):where(:not(.edit-post-visual-editor)) .woocommerce input.button.alt {
    background-color: #00ccb7;
    color: #fff;
    -webkit-font-smoothing: antialiased;
    border-radius: 0px;
    font-family: 'Oswald';
    text-transform: uppercase;
    font-weight: 500;
}

.woocommerce a.remove {
    display: block;
    font-size: 1.5em;
    height: 1em;
    width: 1em;
    text-align: center;
    line-height: 1;
    border-radius: 100%;
    color: #083157 !important;
    text-decoration: none;
    font-weight: 700;
    border: 0;
}
.woocommerce a.remove:hover {
    color: #fff!important;
    background: #083157;
}
.woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) #respond input#submit.alt:hover, .woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) a.button.alt:hover, .woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) button.button.alt:hover, .woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) input.button.alt:hover, :where(body:not(.woocommerce-block-theme-has-button-styles)):where(:not(.edit-post-visual-editor)) .woocommerce #respond input#submit.alt:hover, :where(body:not(.woocommerce-block-theme-has-button-styles)):where(:not(.edit-post-visual-editor)) .woocommerce a.button.alt:hover, :where(body:not(.woocommerce-block-theme-has-button-styles)):where(:not(.edit-post-visual-editor)) .woocommerce button.button.alt:hover, :where(body:not(.woocommerce-block-theme-has-button-styles)):where(:not(.edit-post-visual-editor)) .woocommerce input.button.alt:hover {
    background-color: #083157;
    color: #fff;
}

/* ===================================================================
   WOOCOMMERCE NOTICES (GLOBAL CATCH-ALL)
   - Covers: .woocommerce-notices-wrapper, .e-woocommerce-notices-wrapper,
             coupon toggle (.woocommerce-form-coupon-toggle),
             checkout inline errors (ul.woocommerce-error), etc.
   =================================================================== */

/* BASE */
.woocommerce .woocommerce-message,
.woocommerce .woocommerce-info,
.woocommerce ul.woocommerce-error,
.woocommerce-notices-wrapper .woocommerce-message,
.woocommerce-notices-wrapper .woocommerce-info,
.woocommerce-notices-wrapper ul.woocommerce-error,
.e-woocommerce-notices-wrapper .woocommerce-message,
.e-woocommerce-notices-wrapper .woocommerce-info,
.e-woocommerce-notices-wrapper ul.woocommerce-error,
.woocommerce-form-coupon-toggle .woocommerce-info {
  color: #fff !important;
  border: none !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  padding: 14px 16px !important;
  margin: 0 0 16px !important;
}

/* BACKGROUND COLOURS */
.woocommerce .woocommerce-info,
.woocommerce-notices-wrapper .woocommerce-info,
.e-woocommerce-notices-wrapper .woocommerce-info,
.woocommerce-form-coupon-toggle .woocommerce-info {
  /* background-color: #083157 !important; */
  background-color: #35648f !important;
}

.woocommerce .woocommerce-message,
.woocommerce-notices-wrapper .woocommerce-message,
.e-woocommerce-notices-wrapper .woocommerce-message {
  background-color: #00ccb7 !important;
}

.woocommerce ul.woocommerce-error,
.woocommerce-notices-wrapper ul.woocommerce-error,
.e-woocommerce-notices-wrapper ul.woocommerce-error {
  background-color: #c36 !important;
  list-style: none !important;
  padding-left: 16px !important; /* ensures nice spacing when it's a UL */
}

/* REMOVE DEFAULT ICONS */
.woocommerce .woocommerce-message::before,
.woocommerce .woocommerce-info::before,
.woocommerce .woocommerce-error::before {
  display: none !important;
}

/* FLEX LAYOUT (messages + action links/buttons) */
.woocommerce .woocommerce-message,
.woocommerce .woocommerce-info,
.woocommerce-notices-wrapper .woocommerce-message,
.woocommerce-notices-wrapper .woocommerce-info,
.e-woocommerce-notices-wrapper .woocommerce-message,
.e-woocommerce-notices-wrapper .woocommerce-info,
.woocommerce-form-coupon-toggle .woocommerce-info {
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
}

/* Error list items (checkout can output multiple <li>) */
.woocommerce ul.woocommerce-error li,
.woocommerce-notices-wrapper ul.woocommerce-error li,
.e-woocommerce-notices-wrapper ul.woocommerce-error li {
  margin: 0 0 6px !important;
}
.woocommerce ul.woocommerce-error li:last-child,
.woocommerce-notices-wrapper ul.woocommerce-error li:last-child,
.e-woocommerce-notices-wrapper ul.woocommerce-error li:last-child {
  margin-bottom: 0 !important;
}

/* LINKS (Undo, "Click here", etc.) */
.woocommerce .woocommerce-message a,
.woocommerce .woocommerce-info a,
.woocommerce ul.woocommerce-error a,
.woocommerce-notices-wrapper a,
.e-woocommerce-notices-wrapper a,
.woocommerce-form-coupon-toggle .woocommerce-info a {
  color: #fff !important;
  font-weight: 600 !important;
  text-decoration: underline !important;
}

/* BUTTONS INSIDE NOTICES (e.g. View cart) */
.woocommerce .woocommerce-message .button, .woocommerce .woocommerce-info .button, .woocommerce ul.woocommerce-error .button, .woocommerce-notices-wrapper .button, .e-woocommerce-notices-wrapper .button {
    background: #fff !important;
    color: #092239 !important;
    border: none !important;
    border-radius: 0 !important;
    font-family: 'Oswald' !important;
    text-transform: uppercase !important;
    font-size: 17px !important;
    font-weight: 400 !important;
    /* padding: 6px 14px !important; */
    white-space: nowrap !important;
    text-decoration: none !important;
}

/* View cart forward button */
a.button.wc-forward {
  color: #092239 !important;
}


/* Cart + Totals tables: row-only dashed borders + zebra */
.woocommerce table.shop_table.cart,
.woocommerce .cart_totals table.shop_table {
  border-collapse: collapse;
  border-left: none;
  border-right: none;
}

/* Remove all cell borders */
.woocommerce table.shop_table.cart th,
.woocommerce table.shop_table.cart td,
.woocommerce .cart_totals table.shop_table th,
.woocommerce .cart_totals table.shop_table td {
  border-left: none !important;
  border-right: none !important;
  border-top: none !important;
  border-bottom: none !important;
}

/* Top & bottom borders on rows */
.woocommerce table.shop_table.cart thead tr,
.woocommerce table.shop_table.cart tbody tr,
.woocommerce .cart_totals table.shop_table thead tr,
.woocommerce .cart_totals table.shop_table tbody tr {
  border-top: 2px dashed #b4c1cc;
  border-bottom: 2px dashed #b4c1cc;
}

/* Avoid double border between header and first body row (if a thead exists) */
.woocommerce table.shop_table.cart thead tr,
.woocommerce .cart_totals table.shop_table thead tr {
  border-bottom: none;
}

/* Zebra striping (tbody only) */
.woocommerce table.shop_table.cart tbody tr:nth-child(odd),
.woocommerce .cart_totals table.shop_table tbody tr:nth-child(odd) {
  background-color: rgba(180, 193, 204, 0.1);
}

/* Cart + Totals + Order Review tables: row-only dashed borders + zebra */
.woocommerce table.shop_table.cart,
.woocommerce .cart_totals table.shop_table,
.woocommerce #order_review table.shop_table {
  border-collapse: collapse;
  border-left: none;
  border-right: none;
}

/* Remove all cell borders */
.woocommerce table.shop_table.cart th,
.woocommerce table.shop_table.cart td,
.woocommerce .cart_totals table.shop_table th,
.woocommerce .cart_totals table.shop_table td,
.woocommerce #order_review table.shop_table th,
.woocommerce #order_review table.shop_table td {
  border-left: none !important;
  border-right: none !important;
  border-top: none !important;
  border-bottom: none !important;
}

/* Top & bottom borders on rows */
.woocommerce table.shop_table.cart thead tr,
.woocommerce table.shop_table.cart tbody tr,
.woocommerce .cart_totals table.shop_table thead tr,
.woocommerce .cart_totals table.shop_table tbody tr,
.woocommerce #order_review table.shop_table thead tr,
.woocommerce #order_review table.shop_table tbody tr,
.woocommerce #order_review table.shop_table tfoot tr {
  border-top: 2px dashed #b4c1cc;
  border-bottom: 2px dashed #b4c1cc;
}

/* Avoid double border between header and first body row (if a thead exists) */
.woocommerce table.shop_table.cart thead tr,
.woocommerce .cart_totals table.shop_table thead tr,
.woocommerce #order_review table.shop_table thead tr {
  border-bottom: none;
}

/* Zebra striping */
.woocommerce table.shop_table.cart tbody tr:nth-child(even),
.woocommerce .cart_totals table.shop_table tbody tr:nth-child(even),
.woocommerce #order_review table.shop_table tbody tr:nth-child(even),
.woocommerce #order_review table.shop_table tfoot tr:nth-child(even) {
  background-color: rgba(180, 193, 204, 0.1);
}


/* =========================================================
   CHECKOUT & PAYMENT INPUT STYLING
   ========================================================= */

/* Base input style */
.woocommerce-checkout input[type="text"],
.woocommerce-checkout input[type="email"],
.woocommerce-checkout input[type="tel"],
.woocommerce-checkout input[type="number"],
.woocommerce-checkout input[type="password"],
.woocommerce-checkout select,
.woocommerce-checkout textarea,
.woocommerce-checkout .sf-input-text,
.woocommerce-checkout .select2-container--default .select2-selection--single {
    border: none !important;
    border-radius: 8px !important;
    background: #b4c1cc3b !important;
    color: #092239 !important;
    box-shadow: none !important;
    outline: none !important;
    padding: 10px 16px !important;
}

/* Textarea should stay readable */
.woocommerce-checkout textarea {
    border-radius: 24px !important;
}

/* Select2 text + arrow */
.woocommerce-checkout .select2-selection__rendered {
    color: #092239 !important;
    line-height: 1.4;
}
.woocommerce-checkout .select2-selection__arrow {
    border: none !important;
}

/* Remove focus ring */
.woocommerce-checkout input:focus,
.woocommerce-checkout select:focus,
.woocommerce-checkout textarea:focus {
    outline: none !important;
    box-shadow: none !important;
}

/* =========================================================
   VALIDATION STATES
   ========================================================= */

/* WooCommerce invalid */
.woocommerce-checkout .woocommerce-invalid input,
.woocommerce-checkout .woocommerce-invalid select,
.woocommerce-checkout .woocommerce-invalid textarea,
.woocommerce-checkout .woocommerce-invalid .select2-selection {
    background: rgba(255, 102, 153, 0.2) !important; /* pink highlight */
}

/* Optional: valid state (subtle) */
.woocommerce-checkout .woocommerce-validated input,
.woocommerce-checkout .woocommerce-validated select,
.woocommerce-checkout .woocommerce-validated textarea,
.woocommerce-checkout .woocommerce-validated .select2-selection {
    background: #b4c1cc3b !important;
}

/* =========================================================
   PAYMENT FIELDS (Square / embedded)
   ========================================================= */

/* Square wrapper (iframe itself can't be styled directly) */
.woocommerce-checkout .sq-card-wrapper,
.woocommerce-checkout .wc-square-credit-card-container {
    border-radius: 8px !important;
    background: #b4c1cc3b !important;
    border: none !important;
}

/* Square error message */
.woocommerce-checkout .sq-card-message-error {
    color: #c36 !important;
}
.woocommerce form .form-row.woocommerce-invalid label {
    color: #c36 !important;
}


/* =========================================================
   CHECKOUT: SELECT2 PILL STYLE (scoped, hard override)
   ========================================================= */

.woocommerce-checkout .woocommerce-billing-fields .select2-container,
.woocommerce-checkout .woocommerce-shipping-fields .select2-container {
  width: 100% !important;
}

.woocommerce-checkout .woocommerce-billing-fields .select2-container--default .select2-selection--single,
.woocommerce-checkout .woocommerce-shipping-fields .select2-container--default .select2-selection--single {
  border: none !important;
  border-radius: 8px !important;
  background: #b4c1cc3b !important;
  box-shadow: none !important;
  min-height: 44px !important;
  display: flex !important;
  align-items: center !important;
  padding: 0 44px 0 16px !important; /* space for arrow */
}

.woocommerce-checkout .woocommerce-billing-fields .select2-selection__rendered,
.woocommerce-checkout .woocommerce-shipping-fields .select2-selection__rendered {
  color: #092239 !important;
  padding: 0 !important;
  line-height: 1.2 !important;
}

.woocommerce-checkout .woocommerce-billing-fields .select2-selection__arrow,
.woocommerce-checkout .woocommerce-shipping-fields .select2-selection__arrow {
  border: none !important;
  right: 12px !important;
}

/* Dropdown panel */
.woocommerce-checkout .select2-dropdown {
  border: none !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}

/* Options */
.woocommerce-checkout .select2-results__option {
  color: #092239 !important;
}

/* Pink validation highlight for Select2 */
.woocommerce-checkout .woocommerce-invalid .select2-selection--single {
  background: rgba(255, 102, 153, 0.2) !important;
}


/* =========================================================
   GETADDRESS.IO: POSTCODE FINDER BUTTON FIX (force visible)
   ========================================================= */

/* The "Find Address" button Woo/getAddress.io outputs */
.woocommerce-checkout button.gazchaps-getaddress-io-lookup-button,
.woocommerce-checkout #billing_gazchaps_getaddress_io_postcode_lookup_button_field_button,
.woocommerce-checkout #shipping_gazchaps_getaddress_io_postcode_lookup_button_field_button {
  display: inline-flex !important;
  visibility: visible !important;
  opacity: 1 !important;
  border: none !important;
  border-radius: 0px !important;
  background: #00ccb7 !important;
  color:white !important;

  align-items: center !important;
  justify-content: center !important;
  min-height: 44px !important;
  padding: 10px 16px !important;

  font-family: 'Oswald' !important;
  text-transform: uppercase !important;
  font-size: 17px !important;
  font-weight: 500 !important;

  width: 100% !important; /* matches its column */
}

/* If the parent row is collapsing/hiding */
.woocommerce-checkout #billing_gazchaps_getaddress_io_postcode_lookup_button_field,
.woocommerce-checkout #shipping_gazchaps_getaddress_io_postcode_lookup_button_field {
  display: block !important;
  visibility: visible !important;
  height: auto !important;
  overflow: visible !important;
}

/* =========================================================
   CHECKOUT: "DELIVER TO A DIFFERENT ADDRESS?" CHECKBOX
   (true checkbox UX, clear affordance)
   ========================================================= */

.woocommerce-checkout #ship-to-different-address {
  margin-bottom: 16px;
}

/* Label layout */
.woocommerce-checkout #ship-to-different-address label {
  display: flex;
  align-items: center;
  gap: 14px;
  cursor: pointer;
  font-weight: 600;
  color: #092239;
  position: relative;
}

/* Hide native checkbox (accessible) */
.woocommerce-checkout #ship-to-different-address input[type="checkbox"] {
  position: absolute;
  opacity: 0;
  width: 1px;
  height: 1px;
}

/* Text span holds custom UI */
.woocommerce-checkout #ship-to-different-address label > span {
  position: relative;
  padding-left: 42px;
  line-height: 1.3;
  display: inline-block;
}

/* Checkbox box */
.woocommerce-checkout #ship-to-different-address label > span::before {
  content: "";
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  width: 26px;
  height: 26px;
  border-radius: 8px;
  background: #b4c1cc3b;
  transition: background 0.15s ease, box-shadow 0.15s ease;
}

/* Faded check (unchecked state) */
.woocommerce-checkout #ship-to-different-address label > span::after {
  content: "";
  position: absolute;
  left: 7px;
  top: 50%;
  width: 12px;
  height: 6px;
  transform: translateY(-50%) rotate(-45deg);
  border-left: 3px solid rgba(9, 34, 57, 0.25);
  border-bottom: 3px solid rgba(9, 34, 57, 0.25);
  transition: opacity 0.15s ease, border-color 0.15s ease;
}

/* Checked */
.woocommerce-checkout #ship-to-different-address input:checked + span::before {
  background: #c36;
}

.woocommerce-checkout #ship-to-different-address input:checked + span::after {
  border-color: #fff;
  opacity: 1;
}

/* Hover affordance */
.woocommerce-checkout #ship-to-different-address label:hover > span::before {
  box-shadow: 0 0 0 3px rgba(9, 34, 57, 0.1);
}

/* Keyboard focus */
.woocommerce-checkout #ship-to-different-address input:focus-visible + span::before {
  outline: 2px solid rgba(255, 102, 153, 0.45);
  outline-offset: 3px;
}




.woocommerce #payment #place_order, .woocommerce-page #payment #place_order {
    width: 100%;
    font-size: 30px;
}


#add_payment_method #payment, .woocommerce-cart #payment, .woocommerce-checkout #payment {
    background: rgb(247 249 250);
    border-radius: 0px;
}

#add_payment_method #payment div.payment_box, .woocommerce-cart #payment div.payment_box, .woocommerce-checkout #payment div.payment_box {
    position: relative;
    box-sizing: border-box;
    width: 100%;
    padding: 1em;
    margin: 1em 0;
    font-size: .92em;
    border-radius: 0px;
    line-height: 1.5;
    background-color: #083157;
    color: #ffffff;
}

fieldset#wc-square-credit-card-credit-card-form {
    border: 0px;
    padding: 0px;
}

#add_payment_method #payment div.payment_box::before, .woocommerce-cart #payment div.payment_box::before, .woocommerce-checkout #payment div.payment_box::before {
    content: "";
    display: block;
    border: 1em solid #083157;
    border-right-color: transparent;
    border-left-color: transparent;
    border-top-color: transparent;
    position: absolute;
    top: -.75em;
    left: 0;
    margin: -1em 0 0 2em;
}


div#password_strength {
    border-radius: 8px;
    font-size: 13px;
    font-weight: 600;
    margin-top: 10px;
}


.woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) #respond input#submit, .woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) a.button, .woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) button.button, .woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) input.button, :where(body:not(.woocommerce-block-theme-has-button-styles)):where(:not(.edit-post-visual-editor)) .woocommerce #respond input#submit, :where(body:not(.woocommerce-block-theme-has-button-styles)):where(:not(.edit-post-visual-editor)) .woocommerce a.button, :where(body:not(.woocommerce-block-theme-has-button-styles)):where(:not(.edit-post-visual-editor)) .woocommerce button.button, :where(body:not(.woocommerce-block-theme-has-button-styles)):where(:not(.edit-post-visual-editor)) .woocommerce input.button {
    font-size: 100%;
    margin: 0;
    line-height: 1;
    cursor: pointer;
    position: relative;
    text-decoration: none;
    overflow: visible;
    padding: .618em 1em;
    border-radius: 0px;
    left: auto;
    color: #515151;
    background-color: #083157;
    border: 0;
    display: inline-block;
    background-image: none;
    box-shadow: none;
    text-shadow: none;
    color: white;
}

button.button:disabled {
    color: #ffffff78 !important;
}

#add_payment_method table.cart td.actions .coupon .input-text, .woocommerce-cart table.cart td.actions .coupon .input-text, .woocommerce-checkout table.cart td.actions .coupon .input-text {
    float: left;
    box-sizing: border-box;
    border: 2px solid #cfc8d8;
    padding: 3px 6px 5px;
    margin: 0 4px 0 0;
    outline: 0;
    min-width: 140px;
    border-radius: 7px;
}

p#user_switching_switch_on a {
    background: #c36 !important;
    border: 0px;
    text-align: center !important;
    margin: auto !important;
    color: white !important;
    font-size: 15px;
}


.hub-account-link__single {
    display: inline-block;
    font-weight: 600;
    color: white;
}


.woocommerce form.checkout_coupon, .woocommerce form.login, .woocommerce form.register {
    border: 1px solid #cfc8d8;
    padding: 20px;
    margin: 2em 0;
    text-align: left;
    border-radius: 1px;
}


/* My Account: login + register inputs */
.woocommerce #customer_login input.input-text,
.woocommerce #customer_login select,
.woocommerce #customer_login textarea {
  border: none !important;
  border-radius: 8px !important;
  background: #b4c1cc3b !important;
  color: #092239 !important;
  box-shadow: none !important;
  outline: none !important;
  padding: 10px 16px !important;
}

/* Focus */
.woocommerce #customer_login input.input-text:focus,
.woocommerce #customer_login select:focus,
.woocommerce #customer_login textarea:focus {
  box-shadow: none !important;
  outline: none !important;
}
.woocommerce #customer_login .woocommerce-invalid input.input-text {
  background: rgba(255, 102, 153, 0.2) !important;
}


.woocommerce-checkout .sq-card-wrapper, .woocommerce-checkout .wc-square-credit-card-container {
    border-radius: 8px !important;
    background: #b4c1cc3b !important;
    border: none !important;
    padding: 10px;
}



html, body {
  height: 100%;
  margin: 0;
}

body {
  display: flex;
  flex-direction: column;
  min-height: 100vh;
}

/* Main content wrapper must grow */
#content,
.site,
.elementor-site {
  flex: 1 0 auto;
}

/* Footer stays at bottom */
footer.elementor-location-footer {
  flex-shrink: 0;
}


/* =========================================================
   MY ACCOUNT > EDIT ADDRESS (Billing + Shipping)
   Inputs + Select2 (scoped so Search & Filter etc. won't clash)
   ========================================================= */

/* Base inputs (matches your customer_login styling) */
.woocommerce-account.woocommerce-edit-address .woocommerce-MyAccount-content input.input-text,
.woocommerce-account.woocommerce-edit-address .woocommerce-MyAccount-content input[type="text"],
.woocommerce-account.woocommerce-edit-address .woocommerce-MyAccount-content input[type="email"],
.woocommerce-account.woocommerce-edit-address .woocommerce-MyAccount-content input[type="tel"],
.woocommerce-account.woocommerce-edit-address .woocommerce-MyAccount-content input[type="number"],
.woocommerce-account.woocommerce-edit-address .woocommerce-MyAccount-content input[type="password"],
.woocommerce-account.woocommerce-edit-address .woocommerce-MyAccount-content select,
.woocommerce-account.woocommerce-edit-address .woocommerce-MyAccount-content textarea {
  border: none !important;
  border-radius: 8px !important;
  background: #b4c1cc3b !important;
  color: #092239 !important;
  box-shadow: none !important;
  outline: none !important;
  padding: 10px 16px !important;
}

/* Focus */
.woocommerce-account.woocommerce-edit-address .woocommerce-MyAccount-content input:focus,
.woocommerce-account.woocommerce-edit-address .woocommerce-MyAccount-content select:focus,
.woocommerce-account.woocommerce-edit-address .woocommerce-MyAccount-content textarea:focus {
  box-shadow: none !important;
  outline: none !important;
}

/* Pink validation highlight (Woo applies .woocommerce-invalid on the form-row) */
.woocommerce-account.woocommerce-edit-address .woocommerce-MyAccount-content .woocommerce-invalid input,
.woocommerce-account.woocommerce-edit-address .woocommerce-MyAccount-content .woocommerce-invalid select,
.woocommerce-account.woocommerce-edit-address .woocommerce-MyAccount-content .woocommerce-invalid textarea {
  background: rgba(255, 102, 153, 0.2) !important;
}


/* =========================================================
   Select2 FIX + Styling (Billing/Shipping country + state, etc.)
   ========================================================= */

/* Ensure Select2 fills the row */
.woocommerce-account.woocommerce-edit-address .woocommerce-MyAccount-content .select2-container {
  width: 100% !important;
}

/* The visible Select2 selection box */
.woocommerce-account.woocommerce-edit-address .woocommerce-MyAccount-content .select2-container--default .select2-selection--single {
  border: none !important;
  border-radius: 8px !important;
  background: #b4c1cc3b !important;
  box-shadow: none !important;
  min-height: 44px !important;
  display: flex !important;
  align-items: center !important;
  padding: 0 44px 0 16px !important; /* room for arrow */
}

/* Rendered text */
.woocommerce-account.woocommerce-edit-address .woocommerce-MyAccount-content .select2-selection__rendered {
  color: #092239 !important;
  padding: 0 !important;
  line-height: 1.2 !important;
}

/* Arrow */
.woocommerce-account.woocommerce-edit-address .woocommerce-MyAccount-content .select2-selection__arrow {
  border: none !important;
  right: 12px !important;
}

/* Dropdown panel */
.woocommerce-account.woocommerce-edit-address .select2-dropdown {
  border: none !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}

/* Dropdown options */
.woocommerce-account.woocommerce-edit-address .select2-results__option {
  color: #092239 !important;
}

/* Pink validation highlight for Select2 */
.woocommerce-account.woocommerce-edit-address .woocommerce-invalid .select2-selection--single {
  background: rgba(255, 102, 153, 0.2) !important;
}
.woocommerce h2 {
    font-family: 'Oswald';
    font-weight: 400;
    font-size: 30px;
}

.woocommerce-account .addresses .title .edit {
    float: left;
    margin-bottom: 20px;
    color: #083157;
    text-decoration: underline;
}
nav.woocommerce-MyAccount-navigation ul {
    list-style: none;
    line-height: 32px;
}

li.woocommerce-MyAccount-navigation-link {
    text-decoration: underline;
}



/* =========================================================
   MY ACCOUNT > EDIT ACCOUNT
   https://anto.dev.hbdv.co/my-account/edit-account/
   Matches your form styling: bg #b4c1cc3b, text #092239, no borders,
   8px radius, pink validation highlight
   ========================================================= */

/* Inputs + selects + textarea */
.woocommerce-account .woocommerce-MyAccount-content form.woocommerce-EditAccountForm input.input-text,
.woocommerce-account .woocommerce-MyAccount-content form.woocommerce-EditAccountForm input[type="text"],
.woocommerce-account .woocommerce-MyAccount-content form.woocommerce-EditAccountForm input[type="email"],
.woocommerce-account .woocommerce-MyAccount-content form.woocommerce-EditAccountForm input[type="tel"],
.woocommerce-account .woocommerce-MyAccount-content form.woocommerce-EditAccountForm input[type="password"],
.woocommerce-account .woocommerce-MyAccount-content form.woocommerce-EditAccountForm input[type="number"],
.woocommerce-account .woocommerce-MyAccount-content form.woocommerce-EditAccountForm select,
.woocommerce-account .woocommerce-MyAccount-content form.woocommerce-EditAccountForm textarea {
  border: none !important;
  border-radius: 8px !important;
  background: #b4c1cc3b !important;
  color: #092239 !important;
  box-shadow: none !important;
  outline: none !important;
  padding: 10px 16px !important;
  width: 100%;
}

/* Placeholder */
.woocommerce-account .woocommerce-MyAccount-content form.woocommerce-EditAccountForm input::placeholder,
.woocommerce-account .woocommerce-MyAccount-content form.woocommerce-EditAccountForm textarea::placeholder {
  color: rgba(9, 34, 57, 0.55) !important;
}

/* Focus */
.woocommerce-account .woocommerce-MyAccount-content form.woocommerce-EditAccountForm input:focus,
.woocommerce-account .woocommerce-MyAccount-content form.woocommerce-EditAccountForm select:focus,
.woocommerce-account .woocommerce-MyAccount-content form.woocommerce-EditAccountForm textarea:focus {
  box-shadow: 0 0 0 3px rgba(180, 193, 204, 0.55) !important;
  outline: none !important;
}

/* Labels + spacing */
.woocommerce-account .woocommerce-MyAccount-content form.woocommerce-EditAccountForm label {
  color: #092239 !important;
  margin-bottom: 6px;
  display: inline-block;
}

.woocommerce-account .woocommerce-MyAccount-content form.woocommerce-EditAccountForm .form-row {
  margin-bottom: 14px;
}

/* Pink validation highlight (Woo uses .woocommerce-invalid on .form-row) */
.woocommerce-account .woocommerce-MyAccount-content form.woocommerce-EditAccountForm .woocommerce-invalid input,
.woocommerce-account .woocommerce-MyAccount-content form.woocommerce-EditAccountForm .woocommerce-invalid select,
.woocommerce-account .woocommerce-MyAccount-content form.woocommerce-EditAccountForm .woocommerce-invalid textarea {
  background: rgba(255, 102, 153, 0.2) !important;
}

/* Error message under fields (if any theme shows it) */
.woocommerce-account .woocommerce-MyAccount-content form.woocommerce-EditAccountForm .woocommerce-error,
.woocommerce-account .woocommerce-MyAccount-content form.woocommerce-EditAccountForm .woocommerce-error li,
.woocommerce-account .woocommerce-MyAccount-content form.woocommerce-EditAccountForm .form-row .required {
  color: #c36 !important;
}

.woocommerce-account .woocommerce-MyAccount-content form.woocommerce-EditAccountForm fieldset {
    padding: 0px;
    margin-top: 40px;
    margin-bottom: 30px;
}


/* Fieldset titles */
.woocommerce-account .woocommerce-MyAccount-content form.woocommerce-EditAccountForm fieldset legend {
  color: #092239 !important;
  font-weight: 700;
  margin-bottom: 10px;
}

/* Remove any theme borders around form sections */
.woocommerce-account .woocommerce-MyAccount-content form.woocommerce-EditAccountForm fieldset,
.woocommerce-account .woocommerce-MyAccount-content form.woocommerce-EditAccountForm {
  border: none !important;
  box-shadow: none !important;
}

.product-list-view .add-to-cart-wrapper .button {
    width: 100%;
    white-space: nowrap;
    text-align: center;
}
a.checkout-button.button.alt.wc-forward {
    color: white !important;
}

h2.woocommerce-loop-product__title {
font: 300 28px 'Oswald', sans-serif;}


ul.woocommerce-order-overview.woocommerce-thankyou-order-details.order_details {
    background: #eff0f1;
    padding: 30px;
}
address {
    background: #eff0f1;
    border: 0px !important;
    border-radius: 0px !important;
    padding:10px;
}