@media only screen and (max-width: 991px) {
    :root {
        --mobile-accent: #a64d84;
        --mobile-on-accent: #ffffff;
        --mobile-tint: #fcf2f8;
    }
}

@media only screen and (max-width: 767px) {
    .page-header .header.content a.logo {
        width: calc(100% - 96px);
        max-width: 240px;
    }

    .page-header .header.content a.logo img {
        width: 100%;
        height: auto;
    }
}
/* Keep the three pattern guides centered at every screen size. */
.cms-index-index figure[data-content-type="image"] > a {
    display: block;
    text-align: center;
}
.cms-index-index figure[data-content-type="image"] img {
    margin-left: auto !important;
    margin-right: auto !important;
    max-width: 100%;
    height: auto;
}
@media only screen and (max-width: 767px) {
    .cms-index-index .shop-features {
        margin: 24px 0;
    }

    .cms-index-index .shop-features .shop-features-title {
        margin: 0 0 20px;
        font-size: 20px;
        line-height: 1.35;
    }

    .cms-index-index .shop-features > .row {
        display: grid;
        grid-template-columns: minmax(0, 1fr);
        gap: 16px;
        margin: 0;
    }

    .cms-index-index .shop-features .col-sm-4 {
        display: flex;
        flex-direction: column;
        align-items: center;
        gap: 10px;
        float: none;
        width: 100%;
        height: auto;
        margin: 0;
        padding: 20px 16px 12px;
        border: 1px solid #eee0e9;
        border-radius: 12px;
        background: #fcf6fa;
        box-sizing: border-box;
        text-align: center;
    }

    .cms-index-index .shop-features .col-sm-4 > i {
        display: flex;
        align-items: center;
        justify-content: center;
        flex: 0 0 56px;
        width: 56px;
        height: 56px;
        margin: 0 0 2px;
        border-color: #e6c9db;
        background: #ffffff;
        color: #a64d84;
        font-size: 26px;
        line-height: 1;
        box-sizing: border-box;
    }

    .cms-index-index .shop-features .col-sm-4 > h3 {
        margin: 0;
        font-size: 16px;
        line-height: 1.35;
    }

    .cms-index-index .shop-features .col-sm-4 > p {
        margin: 0;
        padding: 0;
        font-size: 14px;
        line-height: 1.5;
    }

    .cms-index-index .shop-features .col-sm-4 > a {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        min-height: 44px;
        margin: 0;
        padding: 0 12px;
        font-size: 14px;
        line-height: 1.4;
    }
}

/* Use this storefront's palette for the footer cart on desktop and mobile. */
body #cart-footer {
    --mobile-accent: #a64d84;
    --mobile-on-accent: #ffffff;
    --mobile-tint: #fcf2f8;
}
body #cart-footer .footer-mini-cart,
body #cart-footer .cart-qty,
body #cart-footer .cart-items .item > .product {
    border-color: #ead9e4;
}
body #cart-footer .footer-mini-cart {
    box-shadow: 0 -8px 32px rgba(166, 77, 132, 0.12);
}
body #cart-footer .cart-items .item .item-qty,
body #cart-footer .cart-qty .number {
    color: var(--mobile-on-accent);
}
body #cart-footer #footer-cart-btn-checkout {
    box-shadow: 0 4px 12px rgba(166, 77, 132, 0.18);
}
body #cart-footer #footer-cart-btn-checkout:focus-visible,
body #cart-footer .fyb-cart-remove:focus-visible {
    outline-color: var(--mobile-accent);
}
body #cart-footer .free-delivery-progress {
    background: var(--mobile-tint) !important;
}
body #cart-footer .free-progress-bar {
    background: var(--mobile-accent) !important;
}

/* Carry the storefront palette through checkout at every screen size. */
#checkout,
.billing-modal-form {
    --mobile-accent: #a64d84;
    --mobile-on-accent: #ffffff;
    --mobile-tint: #fcf2f8;
}
body #checkout a,
body #checkout .iwd_opc_clickable_title,
body #checkout .payment-option-title,
body #checkout .billing-address-actions > button.action {
    color: var(--mobile-accent);
}
body #checkout #iwd_opc_discount button.iwd_opc_button.active,
body #checkout .iwd_opc_button,
body #checkout .iwd_opc_small_button,
body #checkout .payment-option-title {
    color: var(--mobile-accent) !important;
    border-color: var(--mobile-accent) !important;
}
body #checkout .iwd_opc_place_order_button.active {
    background: var(--mobile-accent) !important;
    color: var(--mobile-on-accent) !important;
}
body #checkout .field-select-billing .iwd_opc_select_option.selected {
    background: var(--mobile-tint);
}
body #checkout .field-select-billing .iwd_opc_select_option.selected::before {
    color: var(--mobile-accent);
}
body #checkout input:focus-visible,
body #checkout .fyb-billing-options input:focus-visible + label,
.billing-modal-form input:focus-visible {
    outline-color: var(--mobile-accent);
}

body #checkout #co-agreements-form .checkout-agreement > label,
body #checkout #co-agreements-form .checkout-agreement > label .iwd_opc_collapsible_title,
body #checkout #co-agreements-form .checkout-agreement > label .iwd_opc_collapsible_title::after,
body #checkout label[for="subscribe_newsletter"] .iwd_opc_clickable_title,
body #checkout label[for="subscribe_review"] .iwd_opc_clickable_title {
    color: var(--mobile-accent) !important;
}
