:root {
    --ofd-wine: #5a1d3a;
    --ofd-rose: #d6336c;
    --ofd-rose-dark: #a61e4d;
    --ofd-blush: #fdeef3;
    --ofd-blush-2: #f9d9e6;
    --ofd-cream: #fffaf7;
    --ofd-ink: #3a2430;
    --ofd-muted: #6b5560;
    --ofd-line: #f0d9e3;
    --ofd-gold: #e9b44c;
    --ofd-serif: Georgia, "Times New Roman", serif;
}

.header *, main *, .footer *, main, .header, .footer {
    box-shadow: none !important;
    text-shadow: none !important;
}

body {
    background: var(--ofd-cream);
    color: var(--ofd-ink);
    -webkit-font-smoothing: antialiased;
}

main h1, main h2, main h3,
.light_description_section_content h1, .light_description_section_content h2, .light_description_section_content h3 {
    font-family: var(--ofd-serif);
    font-weight: 700;
    color: var(--ofd-wine);
}

main h1 {
    font-size: clamp(1.7rem, 4vw, 2.4rem);
    line-height: 1.2;
}

.light_description_section_content p, .description_section_content p {
    color: #4a3440;
}

a:focus-visible, button:focus-visible, .normal-btn:focus-visible, .select_country:focus-visible {
    outline: 3px solid rgba(214, 51, 108, .45);
    outline-offset: 2px;
}

.header .header_top {
    background: var(--ofd-blush-2);
    background-image: none;
}

    .header .header_top span, .header .header_top a, .header .header_top .header_top_item {
        color: var(--ofd-wine) !important;
    }

    .header .header_top .header_top_item i, .header .header_top .select_country {
        color: var(--ofd-rose-dark) !important;
        animation: none !important;
    }

    .header .header_top select {
        color: var(--ofd-rose-dark);
        background-color: transparent;
    }

        .header .header_top select option {
            color: #222;
        }

.header .header_top .header_currency_drop, .header .header_top .country-down, .header .header_top .flaticon-coins, .header .header_top .flaticon-worldwide, .header .header_top select {
    animation: none !important;
    color: var(--ofd-rose-dark) !important;
    font-weight: 700;
}

.header .header_body {
    background: #fff;
    border-bottom: 1px solid var(--ofd-line);
}

.header .logo_container img {
    filter: none;
}

.header .header_body .menu_container ul > li > a {
    font-weight: 700;
    letter-spacing: .03em;
    color: var(--ofd-wine);
    transition: color .2s;
}

    .header .header_body .menu_container ul > li > a:hover {
        color: var(--ofd-rose);
    }

.header .header_body .menu_container ul > li > ul {
    border-radius: 6px;
    border: 1px solid var(--ofd-line);
}

.header .header_body .search_container form {
    border-radius: 6px;
    border: 1px solid var(--ofd-line);
    background: var(--ofd-cream);
}

.intro_reliability {
    background: #fff;
    color: var(--ofd-wine) !important;
    border: 1px solid var(--ofd-line);
    border-radius: 8px;
}

    .intro_reliability > div span {
        color: var(--ofd-wine);
        letter-spacing: .02em;
    }

    .intro_reliability > div i {
        color: var(--ofd-rose) !important;
    }

.normal-btn {
    background: var(--ofd-rose);
    background-image: none;
    border-radius: 6px;
    padding: .7em 1.4em;
    font-weight: 700;
    letter-spacing: .02em;
    transition: background-color .15s ease;
}

    .normal-btn:hover {
        background: var(--ofd-rose-dark);
    }

.single_flower_block_img_hover > a {
    background: var(--ofd-rose);
    background-image: none;
    border-radius: 6px;
}

.flowers_wide_list .maxwidth, .flowers_wide_list.cat .maxwidth {
    background: var(--ofd-blush);
    border-radius: 10px;
}

.flowers_wide_list h2 {
    color: var(--ofd-wine);
    font-family: var(--ofd-serif);
}

.single_flower_block {
    background: #fff;
    border: 1px solid var(--ofd-line);
    border-radius: 10px;
    transition: border-color .2s ease;
}

    .single_flower_block:hover {
        border-color: var(--ofd-rose);
    }

.single_flower_block_img {
    background: #fff;
    border-radius: 10px 0 0 10px;
}

.single_flower_block_title {
    font-family: var(--ofd-serif);
    color: var(--ofd-wine);
    font-size: 1.3em;
}

.single_flower_block_price {
    color: var(--ofd-rose-dark);
    font-weight: 700;
    font-size: 1.1em;
}

.single_flower_block_content p {
    color: var(--ofd-muted);
}

.top-prod:after {
    border-top-color: var(--ofd-gold);
}

.top-prod span {
    background: var(--ofd-gold);
    color: var(--ofd-wine);
    letter-spacing: .08em;
}

    .top-prod span:before {
        background: var(--ofd-gold);
    }

    .top-prod span:after {
        background: #9a6d1a;
    }

.single-product-container {
    background: #fff;
    border: 1px solid var(--ofd-line);
    border-radius: 10px;
}

.footer {
    background: var(--ofd-blush-2) !important;
    border-top: 3px solid var(--ofd-rose);
}

    .footer a, .footer p, .footer li, .footer span, .footer .footer_aside a, .footer .footer_aside p {
        color: var(--ofd-wine) !important;
    }

        .footer a:hover, .footer .footer_aside a:hover {
            color: var(--ofd-rose) !important;
        }

    .footer .footer-social a {
        background: #fff;
        border-radius: 6px;
    }

        .footer .footer-social a i {
            color: var(--ofd-rose-dark) !important;
        }

    .footer h6 {
        color: var(--ofd-rose-dark);
        font-family: var(--ofd-serif);
        font-size: 1.1rem;
        letter-spacing: .04em;
    }

.single-product-container {
    gap: 0;
    align-items: stretch;
}

.single-product-left-container {
    padding: 1.2em;
}

.single-product-gallery {
    height: calc(17rem + 40px);
    overflow: hidden;
    align-items: center;
    background: #fff;
    border: 1px solid var(--ofd-line);
    border-radius: 10px;
}

    .single-product-gallery img {
        width: 100%;
        height: 100%;
        object-fit: contain;
        transform: scale(var(--ofd-zoom, 2.1));
    }

.single-product-content {
    margin-top: 1em;
    padding: 0 .3em;
}

    .single-product-content h1 {
        font-size: clamp(1.6rem, 3vw, 2rem);
        margin-bottom: .4em;
    }

    .single-product-content p {
        color: #4a3440;
        line-height: 1.6;
        font-size: .95rem;
    }

.single-product-select-and-buy {
    padding: 1.2em;
}

.single-product-bouquet-size {
    padding: 0;
    gap: .7em;
    justify-content: flex-start;
}

    .single-product-bouquet-size > div {
        width: calc(33.333% - .5em);
        margin: 0;
        border: 1px solid var(--ofd-line);
        border-radius: 8px !important;
        background: #fff;
        transition: border-color .15s, background-color .15s;
    }

        .single-product-bouquet-size > div:hover {
            background: var(--ofd-blush);
            border-color: var(--ofd-rose);
        }

        .single-product-bouquet-size > div > div:nth-of-type(1) i {
            color: var(--ofd-rose);
        }

    .single-product-bouquet-size .selected-size {
        border-color: var(--ofd-rose);
        background: var(--ofd-blush);
    }

        .single-product-bouquet-size .selected-size .size-name {
            color: var(--ofd-wine) !important;
        }

    .single-product-bouquet-size .size-name {
        font-weight: 700;
        color: var(--ofd-wine);
    }

    .single-product-bouquet-size .size-price {
        font-weight: 700;
        color: var(--ofd-rose-dark);
    }

.single-product-add-ons {
    margin: 1.1em 0;
}

    .single-product-add-ons h4, .single-product-add-ons h5, .single-product-add-ons h6 {
        font-family: var(--ofd-serif);
        color: var(--ofd-wine);
        padding-left: 0;
        font-size: 1.1em;
        margin-bottom: .5em;
    }

    .single-product-add-ons > div {
        padding: 0;
        justify-content: flex-start;
        gap: .6em;
    }

    .single-product-add-ons .single-product-single-add-on {
        width: calc(20% - .5em);
        min-width: 5.6em;
        margin: 0;
        border: 1px solid var(--ofd-line);
        border-radius: 8px;
        background: #fff;
        transition: border-color .15s, background-color .15s;
    }

        .single-product-add-ons .single-product-single-add-on:hover {
            border-color: var(--ofd-rose);
        }

    .single-product-add-ons .selected-add-on {
        border-color: var(--ofd-rose);
        background: var(--ofd-blush);
    }

    .single-product-add-ons .add-on-image img {
        max-width: 60%;
        max-height: 4.2em;
        object-fit: contain;
    }

    .single-product-add-ons .add-on-price {
        color: var(--ofd-rose-dark);
        font-weight: 700;
    }

.single-product-message textarea {
    border: 1px solid var(--ofd-line);
    border-radius: 6px;
}

.single-product-buy-button {
    padding: 0;
    margin: 1em 0 .4em;
}

    .single-product-buy-button .normal-btn {
        width: 100%;
        text-align: center;
        font-size: 1.05em;
        padding: .8em 1.4em;
    }

.single-product-prices {
    padding: .6em 0 0 !important;
}

.single-product-price-line {
    border-top: 1px solid var(--ofd-line);
    color: var(--ofd-muted);
}

.total-price-line {
    color: var(--ofd-wine);
    font-weight: 700;
    font-size: 1.1em;
}

.single-product-country-date > div input, .single-product-country-date > div select {
    border: 1px solid var(--ofd-line);
    border-radius: 6px;
}

.checkout-container {
    background: #fff;
    border: 1px solid var(--ofd-line);
    border-radius: 10px;
}

.checkout-details {
    padding: 1.2em;
}

    .checkout-details .required-alert {
        color: var(--ofd-muted);
    }

    .checkout-details h1, .checkout-details h2, .checkout-details h3, .checkout-details h4 {
        font-family: var(--ofd-serif);
        color: var(--ofd-wine);
        font-size: 1.3em !important;
        font-weight: 700;
        margin-top: 1.4rem;
        padding-bottom: .4rem;
        border-bottom: 1px solid var(--ofd-line);
    }

    .checkout-details label {
        color: var(--ofd-rose-dark) !important;
        font-weight: 700;
    }

    .checkout-details input:not([type=submit]), .checkout-details select, .checkout-details textarea {
        background: #fff;
        border: 1px solid var(--ofd-line);
        border-radius: 6px;
        color: var(--ofd-ink);
    }

        .checkout-details input:focus, .checkout-details select:focus, .checkout-details textarea:focus {
            border: 1px solid var(--ofd-rose) !important;
        }

        .checkout-details input.invalid, .checkout-details select.invalid, .checkout-details textarea.invalid {
            border-color: #c0392b !important;
            background: #fff5f4;
        }

    .checkout-details .choose-payment-container > div {
        border: 1px solid var(--ofd-line);
        border-radius: 8px;
        background: #fff;
    }

    .checkout-details .choose-payment-container .selected-payment {
        border-color: var(--ofd-rose);
        background: var(--ofd-blush);
    }

.cart-info {
    background: var(--ofd-blush);
    border: 1px solid var(--ofd-line);
    border-radius: 10px;
}

    .cart-info h1, .cart-info h2, .cart-info h3, .cart-info h4 {
        font-family: var(--ofd-serif);
        color: var(--ofd-wine);
    }

.cart-list .single-product-in-cart {
    background: #fff;
    border: 1px solid var(--ofd-line);
    border-radius: 8px;
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: .6em;
    padding: .5em;
}

.cart-list .single-product-in-cart-img {
    flex: 0 0 5em;
    width: 5em;
}

    .cart-list .single-product-in-cart-img img {
        display: block;
        width: 100%;
        height: auto;
    }

.cart-list .single-product-in-cart-content .name {
    color: var(--ofd-wine);
    font-weight: 700;
}

.cart-list .single-product-in-cart-content .price {
    color: var(--ofd-rose-dark);
}

.cart-list .single-product-in-cart-remove span {
    background: var(--ofd-blush-2);
    color: var(--ofd-wine);
    transition: background-color .15s, color .15s;
}

    .cart-list .single-product-in-cart-remove span:hover {
        background: var(--ofd-rose);
        color: #fff;
    }

.cart-prices .price-line {
    border-top: 1px solid var(--ofd-line);
    color: var(--ofd-muted);
}

.cart-prices .total-price-line {
    color: var(--ofd-wine) !important;
}

.cart-page-details p {
    color: var(--ofd-muted);
}

.tingle-modal-box {
    border-radius: 10px;
}

    .tingle-modal-box h2 {
        font-family: var(--ofd-serif);
        color: var(--ofd-wine);
    }

.tingle-btn {
    border-radius: 6px;
    font-weight: 700;
}

.tingle-btn--primary {
    background: var(--ofd-rose);
    color: #fff;
}

.tingle-btn--danger {
    background: var(--ofd-wine);
    color: #fff;
}

.tingle-btn--default {
    background: var(--ofd-blush-2);
    color: var(--ofd-wine);
}

.intro_specials {
    background: var(--ofd-blush);
    background-image: none;
    border: 0;
    outline: 1px solid var(--ofd-line);
    outline-offset: -1px;
    border-radius: 10px;
}

    .intro_specials h2, .intro_specials h3, .intro_specials h4 {
        color: var(--ofd-wine) !important;
        font-family: var(--ofd-serif);
        font-size: 1.25em;
    }

.specials-header i {
    color: var(--ofd-rose);
}

.specials-list > a {
    background: #fff;
    border: 1px solid var(--ofd-line);
    border-radius: 8px;
    transition: border-color .15s;
}

    .specials-list > a:hover {
        transform: none;
        border-color: var(--ofd-rose);
    }

    .specials-list > a > div:nth-of-type(2) > span:nth-of-type(1) {
        font-family: var(--ofd-serif);
        font-weight: 700;
        color: var(--ofd-wine);
    }

    .specials-list > a > div:nth-of-type(2) > span:nth-of-type(2) {
        color: var(--ofd-rose-dark) !important;
        font-weight: 700;
    }

.intro_slider, .intro_search_fields, .intro_specials {
    box-sizing: border-box;
}

.intro_slider, .intro_search_fields {
    background: #fff;
    border: 0;
    outline: 1px solid var(--ofd-line);
    outline-offset: -1px;
    border-radius: 10px;
}

.intro_search_fields input, .intro_search_fields select {
    border: 1px solid var(--ofd-line);
    border-radius: 6px;
    color: var(--ofd-ink);
}

    .intro_search_fields input:focus, .intro_search_fields select:focus {
        border-color: var(--ofd-rose);
    }

.intro_search_fields h2, .intro_search_fields h3, .intro_search_fields h4, .intro_slider h2, .intro_slider h3, .intro .swiper-slide h2, .intro .swiper-slide h3 {
    font-family: var(--ofd-serif);
    color: var(--ofd-wine);
}

.intro .swiper-button-prev:after, .intro .swiper-button-next:after {
    color: var(--ofd-rose);
}

@media (max-width: 600px) {
    .normal-btn {
        padding: .85em 1.4em;
    }

    main h1 {
        font-size: 1.6rem;
    }

    .single_flower_block_img {
        border-radius: 10px 10px 0 0;
    }
}

@media (prefers-reduced-motion: reduce) {
    .single_flower_block, .normal-btn {
        transition: none;
    }
}
