/*!
Theme Name:   Illawarra Fruit Direct
Template:     storefront
Author:       101 Design & Automattic
Author URI:   https://woocommerce.com/
Description:  Based on Storefront
Version:      26.06.01
Text Domain:  storefront
Tags:         e-commerce, two-columns, left-sidebar, right-sidebar, custom-background, custom-colors, custom-header, custom-menu, featured-images, full-width-template, threaded-comments, accessibility-ready, rtl-language-support, footer-widgets, sticky-post, theme-options, editor-style
*/

/* Theme customization starts here
-------------------------------------------------------------- */
/*
div { outline: 1px dashed #f00; outline: 1px dashed rgba(255, 0, 0, .2); }
h1, h2, h3, h4, h5, h6 { outline: 1px dotted #fc3; outline: 1px dotted rgba(255, 204, 51, .2); }
p { outline: 1px dotted #309; outline: 1px dotted rgba(51, 0, 153, .2); }
ol, ul { outline: 1px dotted #096; outline: 1px dotted rgba(0, 153, 102, .5); }
ol > li, ul > li { outline: 1px dotted #3fc; outline: 1px dotted rgba(51, 255, 204, .3); }
li li { outline: 1px dotted #cff; outline: 1px dotted rgba(204, 255, 255, .5); }
a { outline: 1px dashed #363; outline: 1px dashed rgba(51, 102, 51, .5); }
span { outline: 1px dotted #630; outline: 1px dotted rgba(102, 51, 0, .1); }
table { outline: 1px dotted #666; outline: 1px dotted rgba(102, 102, 102, .3); }
th, tr, td { outline: 1px dotted #ccc; outline: 1px dotted rgba(204, 204, 204, .2); }
header, nav, section, footer { outline: 1px dashed #f00; outline: 1px dashed rgba(255, 0, 0, .2); }
/**/

:root { /* var(--name) */
    --color-black: #000;
    --color-white: #fff;
    --color-primary: #8dc824; /* green */
    --color-primary-dark: #6eb600;
    --color-primary-vdark: #355603;
    --color-link: #282828;
    --color-lgrey: #f7f7f7;
    --color-dgrey: #333;
    --color-input: #ccc;
    --color-altbutton: #5b7c28;

    --page-inner-width: 1280px;
    --page-pad: 20px;

    --font-body: "Raleway", sans-serif;
    --font-heading: "Oswald", sans-serif;
    --font-button: "Arial", sans-serif;
}

@media only screen and (max-width: 639px) {
    :root {
        --page-pad: 1.1rem;
    }
}

body {
    font-family: var(--font-body);
    font-size: 16px; line-height: 1.3;
    background: var(--color-white);
    color: var(--color-black);
}

h1, h2, h3, h4, h5, h6 {
    font-family: var(--font-heading);
    font-weight: 600;
    text-transform: uppercase;
}

a:focus, button:focus, .button.alt:focus, input:focus, textarea:focus, input[type="button"]:focus, input[type="reset"]:focus, input[type="submit"]:focus, input[type="email"]:focus, input[type="tel"]:focus, input[type="url"]:focus, input[type="password"]:focus, input[type="search"]:focus {
	outline: none;
}

input[type="text"]:focus, input[type="number"]:focus, input[type="email"]:focus, input[type="tel"]:focus, input[type="url"]:focus, input[type="password"]:focus, input[type="search"]:focus, textarea:focus, .input-text:focus {
    background: var(--color-white);
    border-color: var(--color-primary-dark);
}

a {
    color: var(--color-link);
}

a.button,
button.button,
button.button.alt,
a.wc-block-components-button,
a.checkout-button,
button.woocommerce-button {
    font-family: var(--font-button);
    font-weight: 600;
    text-transform: uppercase; text-decoration: none !important;
    font-size: 1rem; line-height: 1.125;

    background: #a3d62f;
    background: -moz-linear-gradient(top, #a3d62f 0%, #6eb600 100%);
    background: -webkit-linear-gradient(top, #a3d62f 0%,#6eb600 100%);
    background: linear-gradient(to bottom, #a3d62f 0%,#6eb600 100%);
    filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#a3d62f', endColorstr='#6eb600',GradientType=0 );

    border: 1px solid #7bad0d !important;
    border-radius: 0.5em;
    color: var(--color-white);
}

button.button,
button.button:focus {
    background: var(--color-altbutton);
    border-color: var(--color-altbutton) !important;
}

button:hover,
button.button:hover,
input[type="button"]:hover,
input[type="reset"]:hover,
input[type="submit"]:hover,
.button:hover,
.button.alt:hover,
.widget a.button:hover,
a.checkout-button:hover,
button.woocommerce-button:hover {
    background: var(--color-black);
    color: var(--color-white);
    border-color: var(--color-black) !important;
}

.woocommerce-message .button,
.woocommerce-info .button,
.woocommerce-error .button,
.woocommerce-noreviews .button,
p.no-comments .button {
    background: #a3d62f;
    background: -moz-linear-gradient(top, #a3d62f 0%, #6eb600 100%);
    background: -webkit-linear-gradient(top, #a3d62f 0%,#6eb600 100%);
    background: linear-gradient(to bottom, #a3d62f 0%,#6eb600 100%);
    filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#a3d62f', endColorstr='#6eb600',GradientType=0 );
    border: 1px solid #7bad0d !important;
    border-radius: 0.5em;
    color: var(--color-white);
    padding-left: 1em; padding-right: 1em;
}

.woocommerce-message .button:focus,
.woocommerce-message .button:hover,
.woocommerce-info .button:focus,
.woocommerce-info .button:hover,
.woocommerce-error .button:focus,
.woocommerce-error .button:hover,
.woocommerce-noreviews .button:focus,
.woocommerce-noreviews .button:hover,
p.no-comments .button:focus,
p.no-comments .button:hover {
    background: var(--color-black);
    color: var(--color-white);
    border-color: var(--color-black) !important;
}

.woocommerce-message a {
    display: inline-block;
    border: 1px solid var(--color-white);
    padding: 0.5em;
    text-transform: uppercase;
    margin: 0 1em;
}

@media only screen and (max-width: 919px) {
    button, input[type="button"], input[type="reset"], input[type="submit"], .button, .wc-block-grid__products .wc-block-grid__product .wp-block-button__link, .added_to_cart {
        padding: 5px 10px;
        line-height: 1;
    }
}

input[type="text"],
input[type="number"],
input[type="email"],
input[type="tel"],
input[type="url"],
input[type="password"],
input[type="search"],
textarea,
.input-text {
    background: var(--color-white);
    border: 1px solid var(--color-input);
    box-shadow: none;
}

.col-full {
	max-width: var(--page-inner-width);
	padding: 0;
}

@media (max-width: 66.4989em) {
    .col-full {
       margin: 0;
    }
}

/* Set Mobile Menu Breakpoint to 980 */

@media only screen and (max-width: 980px) {
    .primary-navigation {
        display: none;
    }

    .menu-toggle,
    .handheld-navigation,
    .main-navigation.toggled .handheld-navigation,
    .main-navigation.toggled div.menu {
        display: block;
    }

    .main-navigation .menu li {
        display: block;
    }
}

@media only screen and (max-width: 1919px) /* 1366 (cheap laptop) */ {}
@media only screen and (max-width: 1365px) /* 1280 */ {}
@media only screen and (max-width: 1279px) /* 1024 */ {}
@media only screen and (max-width: 1023px) /* 980 */ {}
@media only screen and (max-width: 979px) /* 810 (iPad) */ {}
@media only screen and (max-width: 639px) /* 480-360 (most phones) */ {}
@media only screen and (max-width: 359px) /* 320 (old phones) */ {}

/* Header */

#masthead {
    padding: 0;
    background: var(--color-black) url('./img/ifd-header-bg.jpg') center top no-repeat;
    background-size: cover;
    color: var(--color-white);
}

#masthead > .col-full {
    max-width: unset;
}

#masthead .header-topbar {
    background: var(--color-black);
    color: var(--color-white);
    padding-left: var(--page-pad); padding-right: var(--page-pad);
}

#masthead .header-topbar a,
#masthead .header-topbar a:focus {
    color: var(--color-primary);
}

#masthead .header-topbar a:hover,
#masthead .header-topbar a:active {
    color: var(--color-white);
}

#masthead .header-topbar .col-full {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

#masthead .header-topbar .col-full::before,
#masthead .header-topbar .col-full::after {
    display: none;
}

#masthead .header-basebar {
    padding-left: var(--page-pad); padding-right: var(--page-pad);
    background: #a3d62f;
    background: -moz-linear-gradient(top, #a3d62f 0%, #6eb600 100%);
    background: -webkit-linear-gradient(top, #a3d62f 0%,#6eb600 100%);
    background: linear-gradient(to bottom, #a3d62f 0%,#6eb600 100%);
    filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#a3d62f', endColorstr='#6eb600',GradientType=0 );
    border-top: 1px solid #7bad0d;
    border-bottom: 1px solid #7bad0d;
    color: var(--color-white);
}

@media only screen and (max-width: 919px) {
    #masthead .header-topbar .col-full {
        padding: 10px 0;
    }

    #masthead .header-brand .site-branding img {
	    width: 200px;
	    height: auto;
    }
}

@media only screen and (max-width: 639px) {
    #masthead .header-topbar {
        display: none;
    }
}

/* Top Menu */

.storefront-secondary-navigation.woocommerce-active .site-header .secondary-navigation {
	float: none;
	width: auto;
	margin: 0;
}

nav.secondary-navigation {
    background: var(--color-black);
    color: var(--color-white);
}

#menu-top-menu > li,
#menu-top-menu > li > a {
    font-family: var(--font-heading);
    text-transform: uppercase;
    font-size: 1rem; line-height: 1; font-weight: 600;
    color: var(--color-white);
}

#masthead #menu-top-menu > li > a,
#masthead #menu-top-menu > li > a:focus {
    padding: 17px 16px;
    color: var(--color-white);
}

#masthead #menu-top-menu > li > a:hover,
#masthead #menu-top-menu > li > a:active {
    color: var(--color-primary);
}

@media only screen and (max-width: 1279px) {
    #masthead #menu-top-menu > li > a,
    #masthead #menu-top-menu > li > a:focus {
        padding: 17px 8px;
        font-size: 0.9rem;
    }
}

@media only screen and (max-width: 919px) {
    nav.secondary-navigation {
        display: none;
    }
}

/* Account */

#masthead .header-account {
    font-family: var(--font-heading);
    text-transform: uppercase;
    font-size: 1rem;
    line-height: 1;
    font-weight: 600;
}

#masthead .header-account a span {
    color: var(--color-white);
}

@media only screen and (max-width: 1279px) {
    #masthead .header-account {
        font-size: 0.9rem;
    }
}

/* Cart */

#site-header-cart .cart-contents {
    padding: 0;
}

.woocommerce-active .site-header .site-header-cart {
    width: auto;
}

.site-header-cart .cart-contents::after {
    display: none;
}

#site-header-cart {
    position: relative;
    padding-left: 40px;
}

#site-header-cart::before {
    content: "";
    display: block;
    position: absolute; top: -2px; left: 0;
    width: 28px; height: 25px;
    background: transparent url('img/icon-green-cart.png') center no-repeat;
    background-size: 28px auto;
}

.site-header-cart .cart-contents .count {
    opacity: 1.0;
    color: var(--color-white);
}

.site-header-cart .cart-contents .amount {
    display: none;
}

.site-header-cart:hover .widget_shopping_cart {
    position: absolute;
    left: auto !important; right: 0;
    width: 300px;
}

.widget_shopping_cart_content {
    background: var(--color-black);
    color: var(--color-white);
    box-shadow: 0 5px 5px 0px rgba(0, 0, 0, 0.2);
}

.site-header-cart .widget_shopping_cart .buttons,
.site-header-cart .widget_shopping_cart .total {
    background: var(--color-black);
    color: var(--color-white);
}

.site-header-cart .widget_shopping_cart,
.site-header .product_list_widget li .quantity {
    color: var(--color-white);
}

.site-header-cart .widget_shopping_cart a.button {
    color: var(--color-white) !important;
}

.added_to_cart:hover,
.site-header-cart .widget_shopping_cart a.button:hover,
.wc-block-grid__products .wc-block-grid__product .wp-block-button__link:hover {
    background: var(--color-black);
    border-color: var(--color-dgrey) !important;
}

/* Branding */

#masthead .header-brand {
    display: flex;
}

#masthead .header-brand .site-branding {
    float: none;
    width: auto; max-width: var(--page-inner-width);
    margin: 0 auto;
}

#masthead .header-brand .site-branding img {
    max-width: 350px; height: auto;
}

/* Categories Menu */

.header-basebar .storefront-primary-navigation {
    position: relative;
}

.header-basebar .storefront-primary-navigation .col-full {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
}

.header-basebar .storefront-primary-navigation::before,
.header-basebar .storefront-primary-navigation::after,
.header-basebar .storefront-primary-navigation .col-full::before,
.header-basebar .storefront-primary-navigation .col-full::after {
    display: none;
}

.woocommerce-active .site-header .main-navigation {
    display: flex; float: none;
    width: auto;
    margin: 0;
}

.main-navigation ul.menu, .main-navigation ul.nav-menu {
    margin-left: 0;
}

#menu-categories > li,
#menu-categories > li > a {
    font-family: var(--font-heading);
    text-transform: uppercase;
    font-size: 0.94rem; line-height: 1; font-weight: 600;
    color: var(--color-white);
}

#menu-categories > li > a {
    padding: 19px 10px 19px 30px;
}

#menu-categories > li > a:hover,
#menu-categories > li > a:active {
    color: var(--color-black);
}

#menu-categories > li::before {
    content: "";
    display: block; position: absolute; top: 15px;
    width: 25px; height: 25px;
    background: transparent;
    background-position: center;
    background-repeat: no-repeat;
    background-size: 24px auto;
}

#menu-categories > li.menu-cat-boxes::before { background-image: url('img/icon-boxes.png'); }
#menu-categories > li.menu-cat-vegetables::before { background-image: url('img/icon-vegetables.png'); }
#menu-categories > li.menu-cat-fruit::before { background-image: url('img/icon-fruit.png'); }
#menu-categories > li.menu-cat-herbs::before { background-image: url('img/icon-herbs.png'); }
#menu-categories > li.menu-cat-milk-juice-eggs::before { background-image: url('img/icon-milk-juice-eggs.png'); }
#menu-categories > li.menu-cat-groceries::before { background-image: url('img/icon-groceries.png'); }
#menu-categories > li.menu-cat-gift-trays-baskets::before { background-image: url('img/icon-gift-trays-baskets.png'); }

#menu-categories .sub-menu {
    background: var(--color-primary-dark);
    color: var(--color-white);
}

#menu-categories .sub-menu a {
    padding: 10px 10px;
    font-size: 1rem; line-height: 1;
    text-transform: none;
    color: var(--color-white);
}

#menu-categories .sub-menu a:hover,
#menu-categories .sub-menu a:active {
    background: var(--color-primary);
    color: var(--color-black);
}

.main-navigation ul li a:hover, .main-navigation ul li:hover > a,
.site-title a:hover, .site-header ul.menu li.current-menu-item > a {
    color: var(--color-white);
}

@media only screen and (max-width: 1279px) {
    #menu-categories > li > a {
        padding: 19px 5px 19px 30px;
        font-size: 0.9rem;
    }
}

@media only screen and (max-width: 1023px) {
    .woocommerce-active .site-header .main-navigation {
        display: block;
        flex: 1 1 auto;
    }
}

#site-navigation-menu-toggle {
    background: transparent;
    color: var(--color-white);
    border: none;
    text-transform: uppercase;
    font-size: 1rem;
}

button.menu-toggle::after, button.menu-toggle::before, button.menu-toggle span::before {
    background-color: var(--color-white);
}

.main-navigation .handheld-navigation {
    position: absolute; top: 45px; left: -20px; right: -20px;
    background: var(--color-black);
}

.main-navigation.toggled .handheld-navigation {
    box-shadow: 0 20px 20px 5px rgba(0, 0, 0, 0.2);
}

.main-navigation .handheld-navigation .menu > li a {
    padding: 10px;
    border-bottom: 1px solid var(--color-dgrey);
    text-align: center;
    font-family: var(--font-heading);
    text-transform: uppercase;
    font-size: 1rem;
    line-height: 1;
    font-weight: 400;
    color: var(--color-white);
}

@media only screen and (max-width: 919px) {
    #masthead .header-basebar {
        padding-top: 5px; padding-bottom: 5px;
    }

    .main-navigation .handheld-navigation {
        position: absolute; top: 42px;
    }
}

@media only screen and (max-width: 639px) {
    #site-navigation-menu-toggle {
        font-size: 1.1rem;
    }
}

/* Site Search */

.woocommerce-active .site-header .site-search {
    min-width: 180px;
    flex: auto 1 1;
    margin: 0;
    font-size: 1rem;
}

.widget_search form:not(.wp-block-search)::before,
.widget_product_search form:not(.wp-block-search)::before {
    color: var(--color-white);
}

.woocommerce-active .site-header .site-search form input,
.woocommerce-active .site-header .site-search form input:focus {
    padding: 5px 5px 5px 30px;
    background: var(--color-primary-dark);
    color: var(--color-white);
    border-color: transparent;
    border-radius: 3px;
    outline: none;
}

.woocommerce-active .site-header .site-search form input:focus {
    background: var(--color-primary-vdark);
}

.site-search .widget_product_search form {
    margin: 0;
}

.site-search .widget_product_search form::before {
    top: 7px; left: 8px;
}

.woocommerce-active .site-header .site-search form input::placeholder {
    color: var(--color-white);
}

@media only screen and (max-width: 1023px) {
    .woocommerce-active .site-header .site-search {
        position: absolute; top: 7px; left: 0;
    }
}

@media only screen and (max-width: 919px) {
    .woocommerce-active .site-header .site-search {
        position: absolute; top: 2px; left: 0;
        width: 50%;
    }

    .site-search .widget_product_search form::before {
        left: 5px;
    }

    .woocommerce-active .site-header .site-search form input,
    .woocommerce-active .site-header .site-search form input:focus {
        padding-left: 30px;
    }

    .woocommerce-active .site-header .site-search form input:focus {
        border: none;
        border-radius: 3px;
    }
}

@media only screen and (max-width: 639px) {
    .woocommerce-active .site-header .site-search {
        display: block; top: 5px;
    }
}

/* Footer */

#colophon {
    margin: 0; padding: 30px var(--page-pad);
    background: var(--color-lgrey);
    color: var(--color-black);
    font-size: 0.88rem; line-height: 2;
}

#colophon > .col-full {
    display: flex; gap: 20px;
    margin-bottom: 40px;
}

#colophon > .col-full > * {
    width: 25%;
}

#colophon > .col-full::before,
#colophon > .col-full::after {
    display: none;
}

#colophon .footer-widgets {
    padding: 0;
    border: none;
}

#colophon .footer-widgets.col-4 .block {
    width: auto;
    margin: 0;
}

#colophon .widget {
    margin: 0;
}

#colophon > .col-full h2,
#colophon > .col-full .widget-title {
    padding: 0 0 1em;
    margin: 0 0 20px 0; padding: 0;
    border: none;
    font-family: var(--font-body);
    font-size: 1.55em; line-height: 1;
    font-weight: 300;
    letter-spacing: 0;
    text-transform: none;
}

#colophon .site-info {
    text-align: center;
}

#colophon .widget_nav_menu ul {
    margin: 0; padding: 0;
}

#colophon .widget_nav_menu ul li {
    margin: 0; padding: 0;
    font-size: 0.88rem; line-height: 2;
}

#colophon .widget_nav_menu ul li ul {
    display: none;
}

#colophon .widget_nav_menu ul li::before {
    display: none;
}

#colophon .widget_nav_menu a {
    text-decoration: none;
}

#colophon .contact-details li {
    position: relative;
    margin: 0 0 1rem 0; padding-left: 25px;
    line-height: 1.5;
}

#colophon .contact-details li i {
    position: absolute; top: 3px; left: 0;
}

#colophon .contact-details li a {
    text-decoration: none;
}

#colophon .contact-details li a:hover {
    text-decoration: underline;
}

#colophon .social-links li {
    position: relative;
    margin: 0 0 1rem 0; padding-left: 25px;
    line-height: 1.5;
}

#colophon .social-links li i {
    position: absolute; top: 3px; left: 0;
}

#colophon .social-links li a {
    text-decoration: none;
}

#colophon .social-links li a:hover {
    text-decoration: underline;
}

#colophon .footer-credit {
    text-align: center;
}

#topcontrol {
    display: block; position: fixed; bottom: 5px; right: 5px;
    width: 32px; height: 33px;
    opacity: 1; cursor: pointer;
    background: url('img/back_to_top.png') center no-repeat;
    font-size: 1px; text-indent: -9999px;
}

@media only screen and (max-width: 919px) {
    #colophon {
        background: var(--color-black);
        color: var(--color-white);
    }

    #colophon a {
        color: var(--color-white);
    }

    #colophon > .col-full {
        flex-wrap: wrap;
        gap: 20px 0;
    }

    #colophon > .col-full > * {
        width: 50%;
    }

    #colophon > .col-full h2,
    #colophon > .col-full .widget-title {
        font-size: 1.1rem;
        font-weight: 500;
        color: var(--color-primary);
    }

    #colophon .widget_nav_menu ul li {
        line-height: 1.5;
    }

    #topcontrol {
        bottom: 80px;
    }
}

@media only screen and (max-width: 639px) {
    #colophon > .col-full {
        margin: 0;
        flex-direction: column;
        gap: 40px 0;
    }

    #colophon > .col-full > * {
        width: 100%;
    }

    #colophon > .col-full h2,
    #colophon > .col-full .widget-title {
        text-align: center;
    }

    #colophon .col-full ul,
    #colophon .widget_nav_menu ul {
        width: 250px;
        margin: 0 auto;
    }

    #colophon .widget_nav_menu ul {
        text-align: center;
    }

    #colophon .col-full .social-links {
        display: flex;
        justify-content: center;
        gap: 20px;
        width: auto;
    }

    #colophon .social-links li  {
        display: inline-block;
    }

    #colophon .footer-credit {
        padding: 10px 0 60px;
        font-size: 14px; line-height: 1.2;
    }
}

/* Footer Bar */

.storefront-handheld-footer-bar {
    border: none;
}

.storefront-handheld-footer-bar a {
    background: #a3d62f;
    background: -moz-linear-gradient(top, #a3d62f 0%, #6eb600 100%);
    background: -webkit-linear-gradient(top, #a3d62f 0%,#6eb600 100%);
    background: linear-gradient(to bottom, #a3d62f 0%,#6eb600 100%);
    filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#a3d62f', endColorstr='#6eb600',GradientType=0 );
}

.site-footer .storefront-handheld-footer-bar a:not(.button):not(.components-button) {
    color: var(--color-white);
}

.storefront-handheld-footer-bar ul li.cart .count {
    top: 5px; left: auto; right: 20%;
    border: none;
    font-weight: 600;
    font-size: 13px;
}

.storefront-handheld-footer-bar .site-search {
    padding: 0 !important;
    background: var(--color-primary) !important;
    font-size: 1rem;
}

.storefront-handheld-footer-bar .site-search .widget_product_search form:not(.wp-block-search)::before {
    top: 18px; left: 10px;
    font-size: 20px;
    color: var(--color-black);
}


/* Body */

#content {
    padding-bottom: 15vw;
    background: transparent url('./img/ifd-footer-bg.jpg') center bottom no-repeat;
    background-size: 100% auto;
}

#content .content-area {
    margin: 0; padding: 0 0 40px 0;
}

#main {
    margin: 0; padding: 0 var(--page-pad);
}

#main .hentry {
    margin: 0;
}

.storefront-breadcrumb {
    margin: 0; padding: 20px var(--page-pad);
}

.entry-header h1.entry-title,
.woocommerce-products-header h1.page-title {
    color: var(--color-primary);
    font-size: 2rem;
}

.entry-header,
storefront-full-width-content.woocommerce-cart .entry-header,
.storefront-full-width-content.woocommerce-checkout .entry-header,
.storefront-full-width-content.woocommerce-account .entry-header,
.storefront-full-width-content .woocommerce-products-header {
    margin: 0 0 20px 0; padding: 0;
    text-align: center;
}

#content h3 {
    margin: 0 0 1rem 0;
    font-size: 1.2rem;
}

#content ul {
    margin: 0 0 1rem 0; padding: 0 0 0 1.5em;
}

.hentry .wp-block-table table.contact-details th,
.hentry .wp-block-table table.contact-details td,
table.contact-details:not(.has-background) th,
table.contact-details:not(.has-background) tbody td,
table.contact-details:not(.has-background):not(.is-style-stripes) tbody tr:nth-child(2n) td {
    background: none;
    padding: 0.5em 1em;
}

@media only screen and (max-width: 919px) {
    #content .content-area {
        padding: 0;
    }
}

@media only screen and (max-width: 639px) {
    .entry-header h1.entry-title,
    .woocommerce-products-header h1.page-title {
        font-size: 1.5rem;
    }
}


/* Home */

body.home #main {
    padding-top: 40px;
}

body.home #main .entry-header {
    display: none;
}

body.home .storefront-featured-products .section-title {
    display: none;
}

body.home .wp-block-heading {
    color: var(--color-primary);
}

.page-template-template-homepage .entry-content,
.page-template-template-homepage .entry-header {
    max-width: unset;
}

body.home .site-main .hentry {
    margin: 0; padding: 40px 0 100px 0;
}

.red-hot-specials {
    text-align: center;
    margin: 0 0 20px 0;
}

.red-hot-specials img {
    display: inline-block;
    margin: 0 auto;
}

@media only screen and (max-width: 919px) {
    body.home .wp-block-heading {
        font-size: 1.4rem;
    }

    body.home .site-main .hentry {
        padding: 20px 0 40px 0;
    }

    .red-hot-specials img {
        width: 300px;
    }
}

/* Product Categories */

#content ul.products,
ul.products {
    margin: 0; padding: 0;
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 40px;
}

ul.products.columns-3 {
    grid-template-columns: repeat(3, 1fr);
}

@media only screen and (max-width: 919px) {
    #content ul.products,
    ul.products {
        grid-template-columns: repeat(4, 1fr);
        gap: 20px;
    }

    #content ul.products.columns-3 {
        grid-template-columns: repeat(3, 1fr);
    }
}

@media only screen and (max-width: 639px) {
    #content ul.products,
    ul.products {
        grid-template-columns: repeat(2, 1fr);
        gap: 10px;
    }

    #content ul.products.columns-3 {
        grid-template-columns: repeat(3, 1fr);
        gap: 5px;
    }

    #content .related.products .button {
        display: none;
    }

    #content .related.products .woocommerce-loop-product__title,
    #content .related.products .amount {
        font-size: 12px;
    }
}

ul.products > li.product,
.site-main ul.products.columns-3 li.product,
.site-main ul.products.columns-4 li.product {
    float: none;
    width: 100%;
}

@media (min-width: 768px) {
    #main.site-main ul.products.columns-3 li.product,
    #main.site-main ul.products.columns-4 li.product {
        float: none;
        width: 100%;
    }
}

ul.products li.product a {
    display: block;
    overflow: hidden;
}

ul.products::before,
ul.products::after {
    display: none;
}

ul.products li.product a img {
    display: block;
    width: 100%; height: auto;
    aspect-ratio: 1 / 1;
    object-fit: contain;
    transition: transform .4s;
}

ul.products li.product a:hover img {
	transform: scale(1.1, 1.1);
}

ul.products li.product .woocommerce-loop-product__title {
    text-transform: none;
    font-size: 1.1rem; line-height: 1.1;
    color: var(--color-black);
}

ul.products li.product .price,
ul.products .wc-block-grid__product .price,
.wc-block-grid__products li.product .price,
.wc-block-grid__products .wc-block-grid__product .price {
    font-size: 1rem; line-height: 1;
    color: var(--color-black);
}

ul.products li.product .button,
ul.products .wc-block-grid__product .button,
.wc-block-grid__products li.product .button,
.wc-block-grid__products .wc-block-grid__product .button {
    display: inline-block;
}

/* Product */

.product_meta .sku_wrapper,
.product_meta .posted_in {
    display: none !important;
}

.woocommerce-product-gallery,
.woocommerce-product-gallery__image,
.woocommerce-product-gallery__image > a {
    min-height: 400px; max-height: 600px;
}

.woocommerce-product-gallery__image > a {
    display: flex;
    align-items: center;
    justify-content: center;
}

.woocommerce-product-gallery__image > a img {
    width: auto; height: auto; max-height: 600px;
}

.single-product div.product .product_title {
    margin: 0 0 1rem 0;
    text-transform: none;
    font-family: var(--font-body);
    font-weight: 600;
}

.single-product div.product p.price {
    margin: 0 0 1rem 0;
}

.single-product div.product form.cart {
    margin: 0 0 1rem 0; padding: 0;
}

.single-product div.product .product_meta {
    border: none;
}

@media only screen and (max-width: 919px) {
    .single-product .product_title {
        font-size: 1.6rem;
    }

    .related.products h2 {
        font-size: 1.2rem;
    }
}

@media only screen and (max-width: 639px) {
    .woocommerce-product-gallery,
    .woocommerce-product-gallery__image,
    .woocommerce-product-gallery__image > a {
        min-height: 200px; max-height: 400px;
    }
}

/* How To Order */

table.how-to-order,
table.how-to-order th,
table.how-to-order td,
table.how-to-order:not(.has-background) tbody td,
table.how-to-order:not(.has-background) tbody tr:nth-child(2n) td {
    background: none;
    border: none;
}

table.how-to-order th {
    width: 10em;
}

@media only screen and (max-width: 639px) {
    table.how-to-order th {
        width: auto;
        white-space: nowrap;
    }
}

/* Contact */

.contact-page-content {
    display: flex;
}

.contact-page-content > * {
    width: 50%;
}

h1.entry-title {
    position: relative; z-index: 2;
}

.contact-page-content #contact_embed {
    position: relative; z-index: 1;
    margin-top: -65px;
    background: transparent;
}

@media only screen and (max-width: 919px) {
    .contact-page-content #contact_embed {
        margin-top: -50px;
    }
}

@media only screen and (max-width: 639px) {
    .contact-page-content {
        flex-direction: column;
    }

    .contact-page-content > * {
        width: 100%;
    }

    .contact-page-content #contact_embed {
        margin-top: 0;
    }
}

/* Cart / Checkout */

.wc-proceed-to-checkout .button.checkout-button {
    display: inline-block;
    font-size: 1.2rem;
}

#content .woocommerce-NoticeGroup ul {
    padding: 10px;
}

.woocommerce-checkout .woocommerce-message,
.woocommerce-checkout .woocommerce-info,
.woocommerce-checkout .woocommerce-error,
.woocommerce-checkout .woocommerce-noreviews,
.woocommerce-checkout p.no-comments {
    padding: 1em 2em;
}

.woocommerce-checkout .woocommerce-message::before,
.woocommerce-checkout .woocommerce-info::before,
.woocommerce-checkout .woocommerce-error::before,
.woocommerce-checkout .woocommerce-noreviews::before,
.woocommerce-checkout p.no-comments::before {
    display: none;
}

#billing_ordering_frequency_field .woocommerce-input-wrapper,
#billing_payment_options_field .woocommerce-input-wrapper {
    display: flex;
    flex-wrap: wrap;
    gap: 5px 0;
    margin-top: 0.5rem;
}

#billing_ordering_frequency_field .woocommerce-input-wrapper input,
#billing_payment_options_field .woocommerce-input-wrapper input {
    flex: 20px 0 0;
}

#billing_ordering_frequency_field .woocommerce-input-wrapper label,
#billing_payment_options_field .woocommerce-input-wrapper label {
    flex: calc(100% - 20px) 1 1;
    margin: 0; padding-left: 10px;
}

.star-rating span::before, .quantity .plus, .quantity .minus, p.stars a:hover::after, p.stars a::after, .star-rating span::before, #payment .payment_methods li input[type="radio"]:first-child:checked + label::before {
    color: var(--color-primary);
}

/* Admin front end stuff */

.page-template-template-homepage .type-page .storefront-hero__button-edit,
.fpf-fields-config-wrapper,
.edit-link {
    display: none;
}

.account-migration-notice {
    text-align: center;
    padding: 2rem 1rem;
    margin: 0 0 1rem 0;
    background: rgb(255, 248, 110);
    line-height: 1.5;
}

.account-migration-notice a {
    text-decoration: underline;
}