html {
    scroll-behavior: smooth;
}

*,
*::before,
*::after {
    box-sizing: border-box;
}

body {





    color: #302D2A;
    background-color: #F4F0E8;
    overflow-x: hidden;
}

p,
li {





    color: #302D2A;
}

h1,
h2,
h3,
h4,
h5,
h6 {





    color: #302D2A;
    margin-top: 0;
}

h1,
h2 {

}

h3 {

}

h4 {

}

h5,
h6 {

}

.heading-block h1,
.heading-block h2,
.heading-block h3 {






    color: #302D2A !important;
}

strong,
b {

}

a {
    color: inherit;
    text-decoration-thickness: 1px;
    text-underline-offset: 2px;
}

a:hover {
    color: #737B70;
}

hr {
    border: 0 !important;
    border-top: 1px solid rgba(48, 45, 42, 0.08) !important;
}

/* =========================================================
CONTENT
========================================================= */

#content {
    margin-top: 0 !important;
    padding-top: 0 !important;
}

#content .container {
    max-width: 980px;
    margin-left: auto;
    margin-right: auto;
}

.heading-block .container,
.paragraph-block .container {
    max-width: 720px;
    margin-left: auto;
    margin-right: auto;
}

.heading-block {
    padding-top: 18px;
    padding-bottom: 6px;
}

.paragraph-block {
    padding-top: 4px;
    padding-bottom: 16px;
}

.paragraph-block p {
    margin-top: 0 !important;
    margin-bottom: 8px !important;
}

.paragraph-block p:last-child {
    margin-bottom: 0 !important;
}

/* =========================================================
HEADER
========================================================= */

.header-wrap {
    background-color: #F4F0E8 !important;
}

.header-top,
.header-top-icons-block {




}

.header-top-icons-block .telephone-block,
.header-top-icons-block .telephone-block span,
.header-top-icons-block .telephone-block a,
.telephone-block.hide-for-medium-down,
.telephone-block.hide-for-medium-down span,
.telephone-block.hide-for-medium-down a {





    color: #302D2A !important;
    text-decoration: none !important;
    white-space: nowrap !important;
}

.header-top-icons-block .telephone-block span,
.header-top-icons-block .telephone-block a {
    margin: 0 !important;
    padding: 0 !important;
}

.header-top-icons-block a,
.header-icons a {

}

.fa-shopping-basket,
.fa-shopping-cart,
.fa-shopping-bag,
.fa-user,
.fa-user-o,
.fa-instagram {

}

.basket-block,
.header-top-icons-block .basket-block {

}

/* =========================================================
MAIN NAVIGATION
========================================================= */

nav.main ul li a,
.scroll-up nav.main ul li a,
.scroll-down nav.main ul li a {






    padding: 12px 16px !important;
}

nav.main ul li a:hover,
nav.main ul li.active a {
    color: #3B2730 !important;
}

/* =========================================================
DESKTOP NAVIGATION + DROPDOWNS
========================================================= */

@media only screen and (min-width: 1024px) {
    .primary-nav-wrapper,
    .nav-wrapper-sticky {
        display: block !important;
        visibility: visible !important;
        opacity: 1 !important;
        height: auto !important;
        overflow: visible !important;
        background-color: #F4F0E8 !important;
        margin-bottom: 0 !important;
        padding-bottom: 0 !important;
    }

    .primary-nav-wrapper nav.main,
    .nav-wrapper-sticky nav.main,
    header nav.main {
        display: block !important;
        visibility: visible !important;
        opacity: 1 !important;
        height: auto !important;
        width: 100% !important;
        overflow: visible !important;
        margin-bottom: 0 !important;
    }

    .primary-nav-wrapper nav.main ul,
    .nav-wrapper-sticky nav.main ul,
    header nav.main ul {
        display: flex !important;
        justify-content: center !important;
        align-items: center !important;
        flex-wrap: wrap !important;
        width: 100% !important;
        margin: 0 auto !important;
        padding: 0 !important;
        list-style: none !important;
        overflow: visible !important;
    }

    .primary-nav-wrapper nav.main ul li,
    .nav-wrapper-sticky nav.main ul li,
    header nav.main ul li {
        display: block !important;
        visibility: visible !important;
        opacity: 1 !important;
        position: relative !important;
    }

    .primary-nav-wrapper nav.main ul li a,
    .nav-wrapper-sticky nav.main ul li a,
    header nav.main ul li a {
        display: block !important;






        color: #302D2A !important;
        padding: 12px 16px !important;
    }

    .primary-nav-wrapper nav.main ul li a:hover,
    .nav-wrapper-sticky nav.main ul li a:hover,
    header nav.main ul li a:hover {
        color: #3B2730 !important;
    }

    li.has-submenu {
        position: relative !important;
    }

    li.has-submenu .submenu-div {
        position: absolute !important;
        top: 100% !important;
        left: 50% !important;
        transform: translateX(-50%) !important;
        width: auto !important;
        min-width: 175px !important;
        max-width: 240px !important;
        height: auto !important;
        min-height: 0 !important;
        margin: 0 !important;
        padding: 7px 0 !important;
        background-color: #EAD5D1 !important;
        border: 1px solid rgba(59, 39, 48, 0.10) !important;
        box-shadow: none !important;
        z-index: 9999 !important;
    }

    li.has-submenu .submenu-div ul {
        display: block !important;
        width: 100% !important;
        min-width: 0 !important;
        margin: 0 !important;
        padding: 0 !important;
        background-color: transparent !important;
    }

    li.has-submenu .submenu-div ul li {
        display: block !important;
        width: 100% !important;
        margin: 0 !important;
        padding: 0 !important;
        background-color: transparent !important;
    }

    li.has-submenu .submenu-div ul li a {
        display: block !important;
        width: 100% !important;






        text-align: left !important;
        color: #302D2A !important;
        background-color: transparent !important;
        margin: 0 !important;
        padding: 10px 16px !important;
        white-space: nowrap !important;
        transition: background-color 0.2s ease, color 0.2s ease !important;
    }

    li.has-submenu .submenu-div ul li a:hover {
        background-color: #3B2730 !important;
        color: #D8B7B0 !important;
    }
}

/* =========================================================
BUTTONS
========================================================= */

button,
.button,
.btn,
.btn-primary,
input[type="submit"],
input[type="button"],
#subscribeFormFooter button,
#subscribeFormFooter input[type="submit"],
#visit-shop,
#visit-shop-cat,
.CB-MiniBannerCenter-button a,
.CB-5050ImageLeftSection-button a,
[class*="CB-5050ImageLeftSection-button"] a {






    text-decoration: none !important;
    color: #FFFFFF !important;
    border: none !important;
    border-radius: 0 !important;
    box-shadow: none !important;
}

button,
.button,
.btn,
.btn-primary,
input[type="submit"],
input[type="button"],
#subscribeFormFooter button,
#subscribeFormFooter input[type="submit"],
#visit-shop,
#visit-shop-cat {
    background-color: #3B2730 !important;
    padding: 11px 22px !important;
}

button *,
.button *,
.btn *,
.btn-primary *,
#subscribeFormFooter button *,
#visit-shop *,
#visit-shop-cat *,
.CB-MiniBannerCenter-button a *,
.CB-5050ImageLeftSection-button a *,
[class*="CB-5050ImageLeftSection-button"] a * {






}

button:hover,
.button:hover,
.btn:hover,
.btn-primary:hover,
input[type="submit"]:hover,
input[type="button"]:hover,
#subscribeFormFooter button:hover,
#subscribeFormFooter input[type="submit"]:hover,
#visit-shop:hover,
#visit-shop-cat:hover {
    background-color: #737B70 !important;
    color: #FFFFFF !important;
}

/* =========================================================
FORMS
========================================================= */

input,
textarea,
select,
label {





}

input,
textarea,
select {
    background-color: #FFFFFF !important;
    color: #302D2A !important;
    border: 1px solid #A7AA98 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
}

input:focus,
textarea:focus,
select:focus {
    border-color: #737B70 !important;
    outline: none !important;
    box-shadow: none !important;
}

/* =========================================================
MINI BANNER
========================================================= */

.CB-MiniBannerCenter {
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
}

.CB-MiniBannerCenter-overlay {
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
}

.CB-MiniBannerCenter-inner {
    width: 100% !important;
    max-width: none !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 38px 24px 40px !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    text-align: center !important;
}

.CB-MiniBannerCenter-title,
.CB-MiniBannerCenter-paragraph,
.CB-MiniBannerCenter-button {
    display: block !important;
    width: 100% !important;
    max-width: none !important;
    flex: 0 0 100% !important;
    margin: 0 auto !important;
    padding: 0 !important;
    text-align: center !important;
}

.CB-MiniBannerCenter-title .heading-block,
.CB-MiniBannerCenter-paragraph .heading-block,
.CB-MiniBannerCenter-button .heading-block {
    display: block !important;
    width: 100% !important;
    max-width: none !important;
    margin: 0 auto !important;
    padding: 0 !important;
    text-align: center !important;
}

.CB-MiniBannerCenter-title .container,
.CB-MiniBannerCenter-paragraph .container,
.CB-MiniBannerCenter-button .container,
.CB-MiniBannerCenter-title .row,
.CB-MiniBannerCenter-paragraph .row,
.CB-MiniBannerCenter-button .row,
.CB-MiniBannerCenter-title .col-md-12,
.CB-MiniBannerCenter-paragraph .col-md-12,
.CB-MiniBannerCenter-button .col-md-12 {
    display: block !important;
    float: none !important;
    width: 100% !important;
    max-width: none !important;
    margin: 0 auto !important;
    padding: 0 !important;
    text-align: center !important;
}

.CB-MiniBannerCenter-title h1,
.CB-MiniBannerCenter-title h2,
.CB-MiniBannerCenter-title h3 {






    color: #302D2A !important;
    text-align: center !important;
    margin: 0 auto 16px !important;
    padding: 0 !important;
}

.CB-MiniBannerCenter-paragraph p {





    color: #302D2A !important;
    text-align: center !important;
    max-width: 760px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    padding: 0 !important;
}

.CB-MiniBannerCenter-paragraph p:first-of-type {
    margin-top: 0 !important;
    margin-bottom: 6px !important;
}

.CB-MiniBannerCenter-paragraph p:nth-of-type(2) {
    margin-top: 0 !important;
    margin-bottom: 14px !important;
}

.CB-MiniBannerCenter-button p {
    width: 100% !important;
    text-align: center !important;
    margin: 0 !important;
    padding: 0 !important;
}

.CB-MiniBannerCenter-button a {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: auto !important;
    min-width: 132px !important;
    max-width: none !important;
    min-height: 0 !important;
    height: auto !important;
    margin: 0 auto !important;
    padding: 11px 24px !important;
    background-color: #111111 !important;
    color: #FFFFFF !important;
}

.CB-MiniBannerCenter-button a:hover {
    background-color: #3B2730 !important;
    color: #D8B7B0 !important;
}

/* =========================================================
HOME PAGE 50/50 SECTION
========================================================= */

body.home-page .CB-5050ImageLeftSection:first-of-type {
    width: 100% !important;
    max-width: 820px !important;
    margin: 0 auto 32px !important;
    padding: 0 !important;
    background: transparent !important;
}

body.home-page .CB-5050ImageLeftSection:first-of-type .CB-5050ImageLeftSection-inner {
    display: flex !important;
    width: 100% !important;
    max-width: 820px !important;
    min-height: 480px !important;
    margin: 0 auto !important;
    align-items: stretch !important;
    overflow: hidden !important;
}

body.home-page .CB-5050ImageLeftSection:first-of-type .CB-5050ImageLeftSection-image {
    width: 54% !important;
    flex: 0 0 54% !important;
    min-height: 480px !important;
    height: auto !important;
    background-size: cover !important;
    background-position: center center !important;
    background-repeat: no-repeat !important;
}

body.home-page .CB-5050ImageLeftSection:first-of-type .CB-5050ImageLeftSection-content {
    width: 46% !important;
    flex: 0 0 46% !important;
    min-height: 480px !important;
    background-color: #D8B7B0 !important;
    color: #302D2A !important;
    padding: 52px 42px !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    text-align: center !important;
}

body.home-page .CB-5050ImageLeftSection:first-of-type .CB-5050ImageLeftSection-title,
body.home-page .CB-5050ImageLeftSection:first-of-type .CB-5050ImageLeftSection-paragraph {
    width: 100% !important;
}

body.home-page .CB-5050ImageLeftSection:first-of-type .CB-5050ImageLeftSection-title .heading-block,
body.home-page .CB-5050ImageLeftSection:first-of-type .CB-5050ImageLeftSection-paragraph .heading-block {
    padding: 0 !important;
    margin: 0 !important;
}

body.home-page .CB-5050ImageLeftSection:first-of-type .CB-5050ImageLeftSection-title .container,
body.home-page .CB-5050ImageLeftSection:first-of-type .CB-5050ImageLeftSection-title .row,
body.home-page .CB-5050ImageLeftSection:first-of-type .CB-5050ImageLeftSection-title .col-md-12,
body.home-page .CB-5050ImageLeftSection:first-of-type .CB-5050ImageLeftSection-paragraph .container,
body.home-page .CB-5050ImageLeftSection:first-of-type .CB-5050ImageLeftSection-paragraph .row,
body.home-page .CB-5050ImageLeftSection:first-of-type .CB-5050ImageLeftSection-paragraph .col-md-12 {
    width: 100% !important;
    max-width: none !important;
    padding: 0 !important;
    margin: 0 !important;
}

body.home-page .CB-5050ImageLeftSection:first-of-type .CB-5050ImageLeftSection-title h1 {






    color: #302D2A !important;
    margin: 0 0 25px !important;
}

body.home-page .CB-5050ImageLeftSection:first-of-type .CB-5050ImageLeftSection-paragraph p {

    color: #302D2A !important;
    margin-left: auto !important;
    margin-right: auto !important;
}

body.home-page .CB-5050ImageLeftSection:first-of-type .CB-5050ImageLeftSection-paragraph p:first-of-type {




    max-width: 300px !important;
    margin-top: 0 !important;
    margin-bottom: 22px !important;
}

body.home-page .CB-5050ImageLeftSection:first-of-type .CB-5050ImageLeftSection-paragraph p:nth-of-type(2) {




    max-width: 275px !important;
    margin-top: 0 !important;
    margin-bottom: 0 !important;
}

body.home-page .CB-5050ImageLeftSection:first-of-type .CB-5050ImageLeftSection-button,
body.home-page .CB-5050ImageLeftSection:first-of-type [class*="CB-5050ImageLeftSection-button"] {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    width: 100% !important;
    height: auto !important;
    margin: 22px 0 0 !important;
    padding: 0 !important;
    text-align: center !important;
}

body.home-page .CB-5050ImageLeftSection:first-of-type .CB-5050ImageLeftSection-button a,
body.home-page .CB-5050ImageLeftSection:first-of-type [class*="CB-5050ImageLeftSection-button"] a {
    display: inline-flex !important;
    visibility: visible !important;
    opacity: 1 !important;
    align-items: center !important;
    justify-content: center !important;
    width: auto !important;
    min-width: 132px !important;
    max-width: none !important;
    height: auto !important;
    min-height: 0 !important;
    margin: 0 auto !important;
    padding: 11px 24px !important;
    background-color: #111111 !important;
    color: #FFFFFF !important;






    text-decoration: none !important;
    border: none !important;
    border-radius: 0 !important;
    box-shadow: none !important;
}

body.home-page .CB-5050ImageLeftSection:first-of-type .CB-5050ImageLeftSection-button a:hover,
body.home-page .CB-5050ImageLeftSection:first-of-type [class*="CB-5050ImageLeftSection-button"] a:hover {
    background-color: #3B2730 !important;
    color: #D8B7B0 !important;
}

body.home-page .CB-MiniBannerCenter {
    margin-top: 0 !important;
    margin-bottom: 32px !important;
}

body.home-page .shop-cat-block {
    margin-top: 0 !important;
}

/* =========================================================
PRODUCTS / CATEGORIES
========================================================= */

.featured-products .product-name {






}

.featured-products .price,
.product-price {




}

.featured-products .owl-carousel .owl-item .owl-lazy,
.collage .img-cont a img {
    object-fit: cover;
}

.featured-categories a p {






}

.quote p,
.testimonials p {





}

/* =========================================================
COLOURED SECTIONS
========================================================= */

.blush-section {
    background-color: #D8B7B0 !important;
    padding: 45px 25px;
}

.pale-blush-section {
    background-color: #EAD5D1 !important;
    padding: 45px 25px;
}

.sage-section {
    background-color: #737B70 !important;
    padding: 45px 25px;
}

.ivory-section {
    background-color: #F4F0E8 !important;
    padding: 45px 25px;
}

/* =========================================================
FOOTER
========================================================= */

footer,
.footer-widgets {
    background-color: #737B70 !important;
    color: #F4F0E8 !important;
}

.footer-widget h1,
.footer-widget h2,
.footer-widget h3,
.footer-widget h4,
.footer-widget h5,
.footer-widget h6 {





    color: #F4F0E8 !important;
}

.footer-widget,
.footer-widget p,
.footer-widget a,
.footer-widget span,
.footer-widget li {





    color: #F4F0E8 !important;
}

.footer-widget a:hover {
    color: #D8B7B0 !important;
}

.footer-widget ul,
.footer-widgets ul,
footer ul {
    list-style: none !important;
    padding-left: 0 !important;
    margin-left: 0 !important;
}

footer .fa,
footer .fab,
footer .fas,
footer .far,
.footer-widget .fa,
.footer-widget .fab,
.footer-widget .fas,
.footer-widget .far {

}

footer svg,
.footer-widget svg {
    width: 15px !important;
    height: 15px !important;
    max-width: 15px !important;
    max-height: 15px !important;
}

#subscribeFormFooter input {
    background-color: #FFFFFF !important;
    color: #302D2A !important;
    border-color: transparent !important;
}

#visit-shop,
#visit-shop-cat {
    height: auto !important;
    min-height: 0 !important;
    width: auto !important;
    min-width: 180px !important;
    max-width: 220px !important;
    justify-content: center !important;
    align-items: center !important;
    text-align: center !important;
}

/* =========================================================
MOBILE STICKY NAV
========================================================= */

.sticky-nav__list-item {
    flex: 1 1 25% !important;
    margin: 0 !important;
    padding: 0 !important;
    background-color: #F4F0E8 !important;
}

.sticky-nav__list-link,
.sticky-nav__list-item > button,
.sticky-nav__list-item button {
    width: 100% !important;
    height: 64px !important;
    min-height: 64px !important;
    margin: 0 !important;
    padding: 8px 4px !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 5px !important;
    background: transparent !important;
    border: none !important;
    border-radius: 0 !important;
    box-shadow: none !important;






    text-decoration: none !important;
    color: #302D2A !important;
}

@media (hover: hover) and (pointer: fine) {
    .sticky-nav__list-item:hover {
        background-color: #3B2730 !important;
    }

    .sticky-nav__list-item:hover .sticky-nav__list-link,
    .sticky-nav__list-item:hover button {
        background-color: #3B2730 !important;
        color: #D8B7B0 !important;
    }
}

/* =========================================================
CHECKOUT
========================================================= */

.checkout-button.checkout-opts {
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
    outline: none !important;
    padding: 0 !important;
}

.checkout-button.checkout-opts .social-login-buttons {
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
    outline: none !important;
    margin: 0 auto !important;
    padding: 0 !important;
}

.checkout-button.checkout-opts .social-login-buttons button {
    width: 100% !important;
    margin: 0 0 10px !important;
}

.checkout-button.checkout-opts .login-buttons-message {
    margin: 18px 0 28px !important;
    padding: 0 !important;
    text-align: center !important;
}

.checkout-button.checkout-opts .guest-chk {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: min(100%, 720px) !important;
    margin: 0 auto !important;
}

/* =========================================================
UPSELL PRODUCTS
========================================================= */

#upg-head {
    max-width: 1100px !important;
    margin: 36px auto 26px !important;
    text-align: center !important;
}

#upg-head,
#upg-head * {


}

.products-holder:has(.product-item[id^="upg"]) {
    width: 100% !important;
    max-width: 1100px !important;
    margin: 0 auto 50px !important;
    padding: 0 20px 32px !important;
}

.products-holder:has(.product-item[id^="upg"]) > .products {
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 220px)) !important;
    align-items: start !important;
    justify-content: center !important;
    gap: 24px !important;
    width: 100% !important;
    margin: 0 auto !important;
    padding: 0 !important;
}

.products-holder .product-item[id^="upg"] {
    display: flex !important;
    flex-direction: column !important;
    width: 100% !important;
    max-width: 220px !important;
    margin: 0 auto !important;
    padding: 0 !important;
    float: none !important;
}

.products-holder .product-item[id^="upg"] .product-img {
    position: relative !important;
    display: block !important;
    width: 100% !important;
    height: auto !important;
    aspect-ratio: 1 / 1 !important;
    margin: 0 0 15px !important;
    padding: 0 !important;
    overflow: hidden !important;
    background-color: #F4F0E8 !important;
}

.products-holder .product-item[id^="upg"] .product-img img,
.products-holder .product-item[id^="upg"] .product-img img.rsImg,
.products-holder .product-item[id^="upg"] .product-img .rsMainSlideImage {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    max-width: none !important;
    max-height: none !important;
    margin: 0 !important;
    object-fit: cover !important;
    object-position: center center !important;
}

.products-holder .product-item[id^="upg"] .product-info-wrapper {
    display: flex !important;
    flex-direction: column !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    text-align: center !important;
}

.products-holder .product-item[id^="upg"] .product-info-wrapper h3 {





    margin: 0 0 8px !important;
    padding: 0 !important;
    text-align: center !important;
}

.products-holder .product-item[id^="upg"] .pricetext {
    display: block !important;




    text-align: center !important;
    color: #302D2A !important;
    margin: 14px 0 10px !important;
}

.products-holder .product-item[id^="upg"] .pricetext input {
    display: none !important;
}

.products-holder .product-item[id^="upg"] form.item-form {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    width: 100% !important;
    margin: 12px 0 0 !important;
    padding: 0 !important;
}

.products-holder .product-item[id^="upg"] form.item-form button,
.products-holder .product-item[id^="upg"] form.item-form input[type="submit"],
.products-holder .product-item[id^="upg"] form.item-form .button,
.products-holder .product-item[id^="upg"] form.item-form .addtocart,
.products-holder .product-item[id^="upg"] .addtocart {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: auto !important;
    min-width: 150px !important;
    max-width: 190px !important;
    min-height: 38px !important;
    margin: 10px auto 0 !important;
    padding: 11px 18px !important;


    background-color: #3B2730 !important;
    color: #FFFFFF !important;
}

/* =========================================================
SHOP LISTING
========================================================= */

.shop-wrap .products-holder {
    width: 100% !important;
    max-width: 1100px !important;
    margin-left: auto !important;
    margin-right: auto !important;
}

.shop-wrap .products {
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 240px)) !important;
    justify-content: center !important;
    align-items: start !important;
    gap: 42px 24px !important;
    width: 100% !important;
    margin-left: auto !important;
    margin-right: auto !important;
}

.shop-wrap .products .product-item {
    width: 100% !important;
    max-width: 240px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    float: none !important;
}

.shop-wrap .products .product-item .product-img {
    width: 100% !important;
    max-width: 240px !important;
    height: 240px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    overflow: hidden !important;
}

.shop-wrap .products .product-item .product-img img,
.shop-wrap .products .product-item .product-img img.rsImg,
.shop-wrap .products .product-item .product-img .rsMainSlideImage {
    width: 100% !important;
    height: 100% !important;
    max-width: none !important;
    max-height: none !important;
    object-fit: cover !important;
    object-position: center center !important;
}

#content .shop-cat-block .product-wrapper .items-content,
#content .shop-cat-block .product-wrapper .items-content a,
#content .shop-cat-block .product-wrapper .items-content a.item-title {






    text-decoration: none !important;
    color: #302D2A !important;
    text-align: center !important;
}

/* =========================================================
TABLET
========================================================= */

@media only screen and (max-width: 1023px) {
    .header-wrap {
        padding-left: 15px !important;
        padding-right: 15px !important;
    }

    body.home-page .CB-5050ImageLeftSection:first-of-type {
        max-width: 720px !important;
    }

    .products-holder:has(.product-item[id^="upg"]) > .products {
        grid-template-columns: repeat(2, minmax(0, 220px)) !important;
        gap: 28px 20px !important;
    }

    .shop-wrap .products {
        grid-template-columns: repeat(3, minmax(0, 220px)) !important;
        gap: 36px 22px !important;
    }

    .shop-wrap .products .product-item,
    .shop-wrap .products .product-item .product-img {
        max-width: 220px !important;
    }

    .shop-wrap .products .product-item .product-img {
        height: 220px !important;
    }
}

/* =========================================================
MOBILE
========================================================= */

@media only screen and (max-width: 767px) {
    body,
    p,
    li {

    }

    h1,
    h2,
    .heading-block h1,
    .heading-block h2,
    .heading-block h3 {

    }

    .container.prod-details.products-holder .product-item > .row {
        display: block !important;
    }

    .container.prod-details.products-holder .product-item > .row > .img-block,
    .container.prod-details.products-holder .product-item > .row > .col-md-6:not(.img-block),
    .container.prod-details.products-holder .product-info-wrapper {
        display: block !important;
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        flex: none !important;
    }

    .prod-details .img-block .product-img {
        max-width: 430px !important;
        margin: 0 auto 28px !important;
    }

    .shop-wrap .products {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 28px 16px !important;
    }

    .shop-wrap .products .product-item,
    .shop-wrap .products .product-item .product-img {
        max-width: 100% !important;
    }

    .shop-wrap .products .product-item .product-img {
        height: auto !important;
        aspect-ratio: 1 / 1 !important;
    }

    .checkout-button.checkout-opts .guest-chk {
        width: 100% !important;
    }
}

/* =========================================================
PRODUCT, FOOTER AND BASKET FINISHING FIXES
========================================================= */

/* Replace the unavailable Font Awesome breadcrumb glyph. */
.container.prod-details.products-holder .cat-breadcrumb i.fa-angle-right {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: auto !important;
    height: auto !important;
    margin: 0 8px !important;

    font-style: normal !important;
    vertical-align: baseline !important;
}

.container.prod-details.products-holder .cat-breadcrumb i.fa-angle-right::before {
    content: ">" !important;
    display: inline-block !important;




    color: #302D2A !important;
}

/* Keep Delivery and Collection, but remove their heading. */
.prod-details .product-info-wrapper h4.availability1,
.prod-details .product-info-wrapper .availability1 {
    display: none !important;
}

/* Remove the category navigation repeated above the main footer. */
.shop-wrap nav.main.footer-nav-cats,
#content nav.main.footer-nav-cats,
nav.main.footer-nav-cats {
    display: none !important;
}

/* Make the basket subtotal prominent and readable. */
.cart-subtotal-block .subtotal-price {
    display: flex !important;
    justify-content: flex-end !important;
    align-items: baseline !important;
    width: 100% !important;
    min-height: 58px !important;
    padding: 16px 0 !important;
}

.cart-subtotal-block .subtotal-price p {
    display: flex !important;
    justify-content: flex-end !important;
    align-items: baseline !important;
    gap: 14px !important;
    width: 100% !important;
    margin: 0 !important;




    color: #302D2A !important;
}

.cart-subtotal-block .subtotal-price .total-price,
.cart-subtotal-block .subtotal-price span.total-price {
    display: inline-block !important;
    min-width: 105px !important;




    text-align: right !important;
    color: #302D2A !important;
}

/* =========================================================
SMALL MOBILE
========================================================= */

@media only screen and (max-width: 520px) {
    .products-holder:has(.product-item[id^="upg"]) {
        padding-left: 16px !important;
        padding-right: 16px !important;
    }

    .products-holder:has(.product-item[id^="upg"]) > .products {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 22px 14px !important;
    }
}

/* =========================================================
PHONE
========================================================= */

@media only screen and (max-width: 480px) {
    #content .container {
        padding-left: 18px !important;
        padding-right: 18px !important;
    }

    .prod-details .qty-container {
        grid-template-columns: auto 38px 64px 38px !important;
        grid-template-rows: 40px !important;
    }

    .prod-details .qty-container button,
    .prod-details .qty-container .btn,
    .prod-details .qty-container input[type="button"] {
        width: 38px !important;
        min-width: 38px !important;
        max-width: 38px !important;
        height: 40px !important;
        min-height: 40px !important;
        max-height: 40px !important;
    }

    .prod-details .qty-container input[type="text"],
    .prod-details .qty-container input[type="number"],
    .prod-details .qty-container select {
        width: 64px !important;
        min-width: 64px !important;
        max-width: 64px !important;
        height: 40px !important;
        min-height: 40px !important;
        max-height: 40px !important;
    }

    .prod-details form.item-form .addtocart,
    .prod-details form.item-form button.addtocart,
    .prod-details form.item-form .btn-primary.addtocart {
        width: 100% !important;
        max-width: 100% !important;
        margin-top: 16px !important;
    }

    #subscribeFormFooter input,
    #subscribeFormFooter button,
    #subscribeFormFooter input[type="submit"] {
        width: 100% !important;
        max-width: 100% !important;
    }
}
/* =========================================================
SAFE PRODUCT-PAGE AND NAVIGATION REPAIR
Keep this section at the end of the custom CSS.
========================================================= */

.container.prod-details.products-holder {
    width: 100% !important;
    max-width: 1100px !important;
    margin-left: auto !important;
    margin-right: auto !important;
}

/*
 * Florist Touch also uses .product-item in product listings. A listing/grid
 * rule is reaching the detail page and placing the breadcrumb, anchor and
 * product row in separate grid tracks. Restore normal document flow here.
 */
.container.prod-details.products-holder > .product-item,
.container.prod-details.products-holder .product-item[id^="product_"] {
    display: block !important;
    grid-template-columns: none !important;
    grid-template-rows: none !important;
    width: 100% !important;
    max-width: none !important;
    margin-left: auto !important;
    margin-right: auto !important;
    float: none !important;
}

.container.prod-details.products-holder .product-item[id^="product_"] > .cat-breadcrumb,
.container.prod-details.products-holder .product-item[id^="product_"] > .row {
    width: 100% !important;
    max-width: 100% !important;
    grid-column: auto !important;
    grid-row: auto !important;
}

.container.prod-details.products-holder .product-item[id^="product_"] > .row {
    margin-left: 0 !important;
    margin-right: 0 !important;
}

/* Restore the original light typography used before the repair. */
body,
body p,
body li,
body input,
body textarea,
body select,
body label {


}

body h1,
body h2,
body h3,
body h4,
body h5,
body h6,
body nav.main a,
body button,
body .button,
body .btn,
body input[type="submit"],
body input[type="button"] {


}

.prod-details .product-info-wrapper > h1,
.prod-details .product-info-wrapper > h2,
.prod-details .product-info-wrapper > h3,
.prod-details .product-item-description,
.prod-details .product-item-description p {

}

.prod-details .product-info-wrapper,
.prod-details form.item-form {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
}

.prod-details .img-block .product-img {
    display: block !important;
    width: 100% !important;
    max-width: 470px !important;
    height: auto !important;
    margin: 0 auto !important;
    overflow: hidden !important;
}

/* Only constrain the image; RoyalSlider controls its own inner geometry. */
.prod-details .img-block .product-img img {
    max-width: 100% !important;
    height: auto;
}

.prod-details .product-info-wrapper select.form-control {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    height: 44px !important;
}

.prod-details .qty-div {
    clear: both !important;
    width: 100% !important;
    margin-top: 18px !important;
}

.prod-details .qty-container {
    width: auto !important;
    max-width: 100% !important;
}

.prod-details .qty-container button,
.prod-details .qty-container input[type="button"] {
    width: 42px !important;
    min-width: 42px !important;
    height: 42px !important;
    min-height: 42px !important;
    padding: 0 !important;
}

.prod-details .ft-live-total {
    display: flex !important;
    justify-content: flex-end !important;
    align-items: baseline !important;
    gap: 12px !important;
    clear: both !important;
    width: 100% !important;
    margin-top: 16px !important;
    padding-top: 12px !important;
    border-top: 1px solid rgba(48, 45, 42, 0.10) !important;
    color: #302D2A !important;
}

.prod-details .ft-live-total-label {


}

.prod-details .ft-live-total-price {
    min-width: 70px !important;


    text-align: right !important;
}

.prod-details form.item-form .addtocart,
.prod-details form.item-form button.addtocart,
.prod-details form.item-form input.addtocart {
    display: flex !important;
    position: static !important;
    visibility: visible !important;
    opacity: 1 !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    max-width: 300px !important;
    min-height: 44px !important;
    margin: 18px 0 20px auto !important;
}

.prod-details .del-opt-btns button,
.prod-details .delivery-options button {
    width: auto !important;
    min-width: 0 !important;
}

@media only screen and (min-width: 768px) {
    .prod-details .product-item > .row {
        display: flex !important;
        flex-wrap: wrap !important;
        align-items: flex-start !important;
    }

    .prod-details .product-item > .row > .img-block,
    .prod-details .product-item > .row > [class*="col-"]:not(.img-block) {
        min-width: 0 !important;
    }

    .prod-details .product-item > .row > .img-block {
        float: none !important;
        flex: 0 0 50% !important;
        width: 50% !important;
        max-width: 50% !important;
        padding-right: 30px !important;
    }

    .prod-details .product-item > .row > [class*="col-"]:not(.img-block) {
        float: none !important;
        flex: 0 0 50% !important;
        width: 50% !important;
        max-width: 50% !important;
        padding-left: 30px !important;
    }
}

@media only screen and (max-width: 767px) {
    .prod-details .product-item > .row {
        display: block !important;
    }

    .prod-details .product-item > .row > .img-block,
    .prod-details .product-item > .row > [class*="col-"]:not(.img-block) {
        display: block !important;
        float: none !important;
        width: 100% !important;
        max-width: 100% !important;
        padding-left: 15px !important;
        padding-right: 15px !important;
    }

    .prod-details .img-block {
        margin-bottom: 28px !important;
    }

    .prod-details form.item-form .addtocart,
    .prod-details form.item-form button.addtocart,
    .prod-details form.item-form input.addtocart {
        max-width: 100% !important;
    }
}

@media only screen and (min-width: 1024px) {
    header .primary-nav-wrapper,
    header .nav-wrapper-sticky,
    header nav.main {
        display: block !important;
        visibility: visible !important;
        opacity: 1 !important;
        width: 100% !important;
        height: auto !important;
        overflow: visible !important;
    }

    header nav.main > ul {
        display: flex !important;
        visibility: visible !important;
        justify-content: center !important;
        align-items: center !important;
        width: 100% !important;
        height: auto !important;
        margin: 0 auto !important;
        padding: 0 !important;
        overflow: visible !important;
        list-style: none !important;
    }

    header nav.main > ul > li {
        display: list-item !important;
        position: relative !important;
        visibility: visible !important;
        opacity: 1 !important;
        width: auto !important;
        height: auto !important;
    }

    header nav.main > ul > li > a {
        display: block !important;
        visibility: visible !important;
        opacity: 1 !important;
        padding: 12px 16px !important;
    }

    header nav.main li.has-submenu > .submenu-div {
        display: none !important;
        position: absolute !important;
        top: 100% !important;
        left: 50% !important;
        z-index: 9999 !important;
        min-width: 190px !important;
        transform: translateX(-50%) !important;
    }

    header nav.main li.has-submenu:hover > .submenu-div,
    header nav.main li.has-submenu:focus-within > .submenu-div {
        display: block !important;
    }

    header nav.main li.has-submenu > .submenu-div > ul {
        display: block !important;
    }
}

/* =========================================================
PRODUCT DETAIL FINISHING ADJUSTMENTS
========================================================= */

/* Match the breadcrumb to the site's other title typography. */
.container.prod-details.products-holder .cat-breadcrumb,
.container.prod-details.products-holder .cat-breadcrumb h3,
.container.prod-details.products-holder .cat-breadcrumb a,
.container.prod-details.products-holder .cat-breadcrumb i {






    color: #302D2A !important;

}

/*
 * Florist Touch writes a 720px height directly onto this slider. Use a
 * smaller square viewport and crop the photograph without distortion.
 */
.prod-details .img-block .product-img {
    width: min(100%, 420px) !important;
    max-width: 420px !important;
    height: 420px !important;
    min-height: 420px !important;
    max-height: 420px !important;
    aspect-ratio: 1 / 1 !important;
    margin: 0 auto !important;
    overflow: hidden !important;
}

.prod-details .img-block .product-img .rsOverflow,
.prod-details .img-block .product-img .rsContainer,
.prod-details .img-block .product-img .rsSlide,
.prod-details .img-block .product-img .rsSlide > div {
    width: 100% !important;
    height: 100% !important;
    min-height: 100% !important;
    max-height: 100% !important;
}

.prod-details .img-block .product-img img,
.prod-details .img-block .product-img img.rsImg,
.prod-details .img-block .product-img .rsMainSlideImage {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    max-width: none !important;
    max-height: none !important;
    margin: 0 !important;
    object-fit: cover !important;
    object-position: center center !important;
}

/* Separate the description from the Delivery / Collection controls. */
.prod-details .product-info-wrapper > .product-item-description,
.prod-details .product-info-wrapper .product-item-description {
    display: block !important;
    clear: both !important;
    width: 100% !important;
    margin-top: 30px !important;
    padding-top: 0 !important;
}

@media only screen and (max-width: 767px) {
    .prod-details .img-block .product-img {
        width: min(100%, 360px) !important;
        max-width: 360px !important;
        height: auto !important;
        min-height: 0 !important;
        max-height: none !important;
        aspect-ratio: 1 / 1 !important;
    }
}
/* =========================================================
CRM SHOP STATUS + COLLECTION CALENDAR
========================================================= */

/* Applied only when the sitewide script detects Florist Touch's closed state. */
body.ft-shop-closed .shop-wrap .product-item,
body.ft-shop-closed .shop-wrap .product-wrapper,
body.ft-shop-closed .shop-wrap a.shop-card,
body.ft-shop-closed .shop-wrap .items-content,
body.ft-shop-closed .prod-details .product-item,
body.ft-shop-closed .featured-products .product-item {
    filter: grayscale(1) !important;
    opacity: 0.48 !important;
}

/* Direct image targeting covers Florist Touch's alternate listing markup. */
body.ft-shop-closed .shop-cat-block img,
body.ft-shop-closed .shop-wrap .product-wrapper img,
body.ft-shop-closed .shop-wrap .product-item img,
body.ft-shop-closed .featured-products img,
body.ft-shop-closed .products-holder:not(.prod-details) img {
    filter: grayscale(1) !important;
    opacity: 0.42 !important;
}

body.ft-shop-closed .shop-cat-block a,
body.ft-shop-closed .shop-wrap .product-wrapper a,
body.ft-shop-closed .shop-wrap .product-item a,
body.ft-shop-closed .featured-products .product-item a {
    cursor: not-allowed !important;
    pointer-events: none !important;
}

body.ft-shop-closed .shop-wrap .product-item form,
body.ft-shop-closed .prod-details .product-item form,
body.ft-shop-closed .featured-products .product-item form {
    pointer-events: none !important;
}

body.ft-shop-closed .product-item .addtocart,
body.ft-shop-closed .product-item button[type="submit"],
body.ft-shop-closed .product-item input[type="submit"] {
    cursor: not-allowed !important;
    opacity: 0.65 !important;
}

.ft-shop-closed-notice {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    width: calc(100% - 36px) !important;
    max-width: 1100px !important;
    margin: 0 auto 26px !important;
    padding: 14px 20px !important;
    background-color: #EAD5D1 !important;
    color: #302D2A !important;





    text-align: center !important;
}

@media only screen and (max-width: 767px) {
    .ft-shop-closed-notice {
        display: block !important;
        width: calc(100% - 24px) !important;
        max-width: none !important;
        margin: 12px auto 22px !important;
        padding: 13px 14px !important;

    }
}
/* Homepage: stack image and text at full width on mobile/tablet */
@media only screen and (max-width: 1023px) {
    body.home-page .CB-5050ImageLeftSection:first-of-type
    .CB-5050ImageLeftSection-inner {
        flex-direction: column !important;
        min-height: 0 !important;
        height: auto !important;
    }

    body.home-page .CB-5050ImageLeftSection:first-of-type
    .CB-5050ImageLeftSection-image,
    body.home-page .CB-5050ImageLeftSection:first-of-type
    .CB-5050ImageLeftSection-content {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        flex: none !important;
    }

    body.home-page .CB-5050ImageLeftSection:first-of-type
    .CB-5050ImageLeftSection-image {
        height: clamp(300px, 75vw, 480px) !important;
        min-height: 0 !important;
    }

    body.home-page .CB-5050ImageLeftSection:first-of-type
    .CB-5050ImageLeftSection-content {
        height: auto !important;
        min-height: 0 !important;
        padding: 36px 24px !important;
    }

    body.home-page .CB-5050ImageLeftSection:first-of-type
    .CB-5050ImageLeftSection-content .container {
        padding-left: 0 !important;
        padding-right: 0 !important;
    }
}
/* Homepage categories: four cards per row on desktop */
@media only screen and (min-width: 1024px) {
    body.home-page .shop-cat-block > .col-lg-4 {
        flex: 0 0 25% !important;
        width: 25% !important;
        max-width: 25% !important;
        min-width: 0 !important;
    }
}
