/* Jarden: elegant header and menu. Styling only; delete this file to return the old look.
   Typefaces (both SIL Open Font License, hosted on this site): Oranienbaum for headings, Golos Text for text. */
@font-face { font-family: "Oranienbaum"; font-style: normal; font-weight: 400; font-display: swap;
  src: url(fonts/oranienbaum-cyrillic-400-normal.woff2) format("woff2");
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116; }
@font-face { font-family: "Oranienbaum"; font-style: normal; font-weight: 400; font-display: swap;
  src: url(fonts/oranienbaum-latin-400-normal.woff2) format("woff2");
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+20AC, U+2122, U+2212, U+2215; }
@font-face { font-family: "Golos Text"; font-style: normal; font-weight: 400; font-display: swap;
  src: url(fonts/golos-text-cyrillic-400-normal.woff2) format("woff2");
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116; }
@font-face { font-family: "Golos Text"; font-style: normal; font-weight: 400; font-display: swap;
  src: url(fonts/golos-text-latin-400-normal.woff2) format("woff2");
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+20AC, U+2122, U+2212, U+2215; }
@font-face { font-family: "Golos Text"; font-style: normal; font-weight: 500; font-display: swap;
  src: url(fonts/golos-text-cyrillic-500-normal.woff2) format("woff2");
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116; }
@font-face { font-family: "Golos Text"; font-style: normal; font-weight: 500; font-display: swap;
  src: url(fonts/golos-text-latin-500-normal.woff2) format("woff2");
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+20AC, U+2122, U+2212, U+2215; }

:root {
    --jd-display: "Oranienbaum", "PT Serif", Georgia, serif;
    --jd-text: "Golos Text", "PT Serif", Arial, sans-serif;
    --jd-pink: var(--theme-base-color, #da3b64);
}

/* type across the site */
body, button, input, select, textarea, .btn { font-family: var(--jd-text) !important; }
h1, h2, h3, h4, .top_block_title, #pagetitle {
    font-family: var(--jd-display) !important;
    font-weight: 400 !important;
    letter-spacing: .005em;
}
h1, #pagetitle { font-size: 46px; line-height: 1.1; }

/* header strip */
.header__top-part a[href^="tel"], .header__top-part .phone { font-weight: 500; letter-spacing: .02em; }

/* menu row: display serif, sentence case */
.menu-row .mega-menu .table-menu td.menu-item > .wrap > a {
    font-family: var(--jd-display) !important;
    font-weight: 400 !important;
    font-size: 18.5px !important;
    letter-spacing: .01em !important;
    text-transform: none !important;
    padding-left: 13px !important;
    padding-right: 13px !important;
    opacity: .9;
    transition: opacity .2s ease, color .2s ease;
}
.menu-row .mega-menu .table-menu td.menu-item:hover > .wrap > a,
.menu-row .mega-menu .table-menu td.menu-item.active > .wrap > a { opacity: 1; }
.menu-row .mega-menu .table-menu td.menu-item > .wrap > a > div { position: relative; display: inline-block; }
.menu-row .mega-menu .table-menu td.menu-item > .wrap > a .line-wrapper { display: none !important; }
.menu-row .mega-menu .table-menu td.menu-item > .wrap > a > div::after {
    content: "";
    position: absolute;
    left: 0; right: 0; bottom: -8px;
    height: 1px;
    background: var(--jd-pink);
    transform: scaleX(0);
    transform-origin: left center;
    transition: transform .28s ease;
}
.menu-row .mega-menu .table-menu td.menu-item:hover > .wrap > a > div::after,
.menu-row .mega-menu .table-menu td.menu-item.active > .wrap > a > div::after { transform: scaleX(1); }

/* "Собрать букет" as an outlined button */
.menu-row .mega-menu .table-menu td.menu-item > .wrap > a[href="/sobrat-buket/"] { opacity: 1; }
.menu-row .mega-menu .table-menu td.menu-item > .wrap > a[href="/sobrat-buket/"] > div {
    padding: 6px 20px 7px;
    margin: -8px 0;
    border: 1px solid var(--jd-pink);
    border-radius: 999px;
    color: var(--jd-pink);
    transition: background .2s ease, color .2s ease;
}
.menu-row .mega-menu .table-menu td.menu-item > .wrap > a[href="/sobrat-buket/"] > div::after { display: none; }
.menu-row .mega-menu .table-menu td.menu-item:hover > .wrap > a[href="/sobrat-buket/"] > div {
    background: var(--jd-pink);
    color: #fff;
}

/* dropdown panels */
.menu-row .mega-menu .table-menu td.menu-item > .wrap > .dropdown-menu {
    border-radius: 0 0 16px 16px;
    box-shadow: 0 22px 44px rgba(0, 0, 0, .32);
    overflow: hidden;
}
.menu-row .mega-menu .table-menu .dropdown-menu .menu-wrapper > li > a .name {
    font-family: var(--jd-display) !important;
    font-weight: 400 !important;
    font-size: 19px;
    transition: color .2s ease;
}
.menu-row .mega-menu .table-menu .dropdown-menu .menu-wrapper > li:hover > a .name { color: var(--jd-pink); }
.menu-row .mega-menu .table-menu .dropdown-menu .menu_img img { border-radius: 10px; }
.menu-row .mega-menu .table-menu td.menu-item:not(.wide_menu) > .wrap > .dropdown-menu { min-width: 330px; }
.menu-row .mega-menu .table-menu td.menu-item:not(.wide_menu) > .wrap > .dropdown-menu a,
.menu-row .mega-menu .table-menu td.menu-item:not(.wide_menu) > .wrap > .dropdown-menu a .name {
    font-family: var(--jd-display) !important;
    font-size: 18px;
    font-weight: 400 !important;
    white-space: normal !important;
    overflow: visible !important;
    text-overflow: clip !important;
}
.menu-row .mega-menu .table-menu td.menu-item:not(.wide_menu) > .wrap > .dropdown-menu a:hover { color: var(--jd-pink); }

/* footer */
#footer .bottom-menu .items > .item > .title a {
    font-family: var(--jd-display);
    font-size: 21px;
    font-weight: 400;
    text-transform: none;
    letter-spacing: .01em;
}
#footer .bottom-menu .wrap .item .title a {
    font-family: var(--jd-text);
    font-size: 14.5px;
    line-height: 1.5;
    opacity: .74;
}
#footer .bottom-menu .wrap .item .title a:hover { opacity: 1; }
body.theme-dark #footer .social-icons ul { background-color: var(--darkerblack_bg_black); }
#footer .social-icons li > a { border-radius: 50% !important; transition: transform .22s ease; }
#footer .social-icons li > a:hover { transform: translateY(-3px) scale(1.08); }
/* footer icons are drawn by the theme itself, which has its own coloured version for hover; only the lift is added here */
body.theme-dark #footer .subscribe_button .btn {
    background-color: var(--card_bg_black);
    border-color: var(--stroke_black);
    border-radius: 999px;
    transition: background .22s ease, border-color .22s ease;
}
body.theme-dark #footer .subscribe_button .btn:hover { background-color: var(--jd-pink); border-color: var(--jd-pink); }

@media (prefers-reduced-motion: reduce) {
    .menu-row .mega-menu *, .menu-row .mega-menu *::after { transition: none !important; }
}

/* ---------- header that reacts to the pointer (desktop) ---------- */
@media (min-width: 992px) {
    .header_wrap .menu-row { border: 0 !important; }
    .header_wrap .menu-row hr { display: none; }

    /* menu items: colour shift, a line that grows from the middle, a 1px lift */
    .menu-row .mega-menu .table-menu td.menu-item > .wrap > a { opacity: 1; }
    .menu-row .mega-menu .table-menu td.menu-item > .wrap > a > div {
        transition: color .22s ease, transform .22s ease;
    }
    .menu-row .mega-menu .table-menu td.menu-item > .wrap > a > div::after {
        display: block;
        bottom: -7px;
        height: 2px;
        border-radius: 2px;
        background: var(--jd-pink);
        transform: scaleX(0);
        transform-origin: center;
        transition: transform .3s cubic-bezier(.2, .7, .2, 1);
    }
    .menu-row .mega-menu .table-menu td.menu-item:hover > .wrap > a > div,
    .menu-row .mega-menu .table-menu td.menu-item.active > .wrap > a > div {
        color: #ffb1c5;
        transform: translateY(-1px);
    }
    .menu-row .mega-menu .table-menu td.menu-item:hover > .wrap > a > div::after,
    .menu-row .mega-menu .table-menu td.menu-item.active > .wrap > a > div::after { transform: scaleX(1); }

    /* "Собрать букет": the main button, filled, with a glow that grows on hover */
    .menu-row .mega-menu .table-menu td.menu-item > .wrap > a[href="/sobrat-buket/"] > div {
        margin: -8px 0;
        padding: 7px 22px 8px;
        background: var(--jd-pink);
        border: 1px solid var(--jd-pink);
        color: #fff;
        box-shadow: 0 6px 20px rgba(218, 59, 100, .45);
        transition: background .22s ease, box-shadow .22s ease, transform .22s ease;
    }
    .menu-row .mega-menu .table-menu td.menu-item > .wrap > a[href="/sobrat-buket/"] > div::after { display: none; }
    .menu-row .mega-menu .table-menu td.menu-item:hover > .wrap > a[href="/sobrat-buket/"] > div {
        background: #ea5c82;
        border-color: #ea5c82;
        color: #fff;
        transform: translateY(-2px);
        box-shadow: 0 12px 30px rgba(234, 92, 130, .6);
    }

    /* dropdowns: a glass panel, detached from the menu, that rises in */
    .menu-row .mega-menu .table-menu td.menu-item > .wrap > .dropdown-menu {
        margin-top: 10px;
        overflow: visible;
        border-radius: 22px;
        background: color-mix(in srgb, var(--card_bg_black) 90%, transparent) !important;
        border: 1px solid rgba(255, 255, 255, .11);
        box-shadow: 0 30px 60px rgba(14, 2, 7, .5);
        -webkit-backdrop-filter: blur(22px) saturate(1.3);
        backdrop-filter: blur(22px) saturate(1.3);
    }
    .menu-row .mega-menu .table-menu td.menu-item > .wrap > .dropdown-menu::before {
        content: "";
        position: absolute;
        left: 0; right: 0; top: -12px;
        height: 12px;                      /* keeps the panel open while the pointer crosses the gap */
    }
    .menu-row .mega-menu .table-menu td.menu-item > .wrap > .dropdown-menu > .customScrollbar { border-radius: 22px; }
    .menu-row .mega-menu .table-menu td.menu-item:hover > .wrap > .dropdown-menu { animation: jd-dd-in .26s cubic-bezier(.2, .7, .2, 1) both; }
    .menu-row .mega-menu .table-menu .dropdown-menu .menu-wrapper { padding-top: 14px; padding-bottom: 14px; }
    .menu-row .mega-menu .table-menu .dropdown-menu .menu-wrapper > li {
        border-radius: 16px;
        transition: background .2s ease;
    }
    .menu-row .mega-menu .table-menu .dropdown-menu .menu-wrapper > li:hover { background: rgba(255, 255, 255, .075); }
    .menu-row .mega-menu .table-menu .dropdown-menu .menu-wrapper > li .menu_img img { transition: transform .3s ease; }
    .menu-row .mega-menu .table-menu .dropdown-menu .menu-wrapper > li:hover .menu_img img { transform: scale(1.12) rotate(-2deg); }
    .menu-row .mega-menu .table-menu .dropdown-menu .menu-wrapper > li:hover > a .name { color: #ffb1c5; }
    .menu-row .mega-menu .table-menu td.menu-item:not(.wide_menu) > .wrap > .dropdown-menu a { transition: color .2s ease, padding-left .2s ease; }
    .menu-row .mega-menu .table-menu td.menu-item:not(.wide_menu) > .wrap > .dropdown-menu a:hover { color: #ffb1c5; }

    /* top strip */
    .header_wrap .header__top-part .svg { filter: none; }
    .header_wrap .right-icons svg use,
    .header_wrap .right-icons svg path,
    .header_wrap .social-icons svg use,
    .header_wrap .social-icons svg path { fill: #fff; transition: fill .2s ease; }
    .header_wrap .right-icons .svg { display: inline-block; transition: transform .22s ease; }
    .header_wrap .right-icons a:hover .svg,
    .header_wrap .right-icons button:hover .svg { transform: translateY(-3px) scale(1.1); }
    .header_wrap .right-icons a:hover svg use,
    .header_wrap .right-icons a:hover svg path,
    .header_wrap .right-icons button:hover svg use,
    .header_wrap .right-icons button:hover svg path { fill: #ff8fae; }
    .header_wrap .header__top-part a[href^="tel"] { font-size: 17px; letter-spacing: .035em; color: #fff; transition: color .2s ease; }
    .header_wrap .header__top-part a[href^="tel"]:hover { color: #ff8fae; }
    .header_wrap .logo-block img { transform: scale(1.12); transform-origin: center; transition: transform .35s ease; }
    .header_wrap .logo-block .jd-logo img { transform: none; }

    /* one entrance on the homepage */
    .wrapper1.front_page .header_wrap { animation: jd-header-in .8s cubic-bezier(.2, .7, .2, 1) both; }
}

/* social icons: each takes its own brand colour under the pointer (header and footer) */
.social-icons__list-item > a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 36px; height: 36px;
    border-radius: 50%;
    transition: background .22s ease, transform .22s ease;
}
.social-icons__list-item > a svg path,
.social-icons__list-item > a svg use { transition: fill .22s ease; }
.social-icons__list-item > a:hover { transform: translateY(-3px) scale(1.08); }
.social-icons__list-item.vk > a:hover { background: #0077ff; }
.social-icons__list-item.telegram > a:hover { background: #27a7e7; }
.social-icons__list-item.max > a:hover { background: linear-gradient(135deg, #3d7bff, #8a4dff); }
.social-icons__list-item.vk > a:hover svg path, .social-icons__list-item.vk > a:hover svg use,
.social-icons__list-item.telegram > a:hover svg path, .social-icons__list-item.telegram > a:hover svg use,
.social-icons__list-item.max > a:hover svg path, .social-icons__list-item.max > a:hover svg use { fill: #fff !important; }

@keyframes jd-header-in {
    from { opacity: 0; transform: translateY(-14px); }
    to { opacity: 1; transform: none; }
}
@keyframes jd-dd-in {
    from { opacity: 0; transform: translateY(8px); }
    to { opacity: 1; transform: none; }
}
@media (prefers-reduced-motion: reduce) {
    .wrapper1.front_page .header_wrap,
    .menu-row .mega-menu .table-menu td.menu-item:hover > .wrap > .dropdown-menu { animation: none; }
    .header_wrap *, .social-icons__list-item > a { transition: none !important; }
}

/* header social icons: always show all of them in one row, never behind the "…" */
.header_wrap .social-header-wrapper { min-width: 132px; }
.header_wrap .social-icons__list--top { overflow: visible !important; white-space: nowrap; }
.header_wrap .social-icons__list--top > .social-icons__list-item { display: inline-block !important; visibility: visible !important; }
.header_wrap .social-icons__list-item--more { display: inline-block !important; visibility: visible !important; }
.header_wrap .social-icons__list-item--more > span { display: none !important; }
.header_wrap .social-icons__list-item--more > .dropdown {
    position: static !important;
    display: inline-flex !important;
    visibility: visible !important;
    opacity: 1 !important;
    margin: 0 !important;
    padding: 0 !important;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    transform: none !important;
}
.header_wrap .social-icons__list-item--more > .dropdown:empty,
.header_wrap .social-icons__list-item--more:not(:has(.dropdown li)) { display: none !important; }
.header_wrap .social-icons__list-item--more > .dropdown > li { display: inline-block !important; list-style: none; }

/* header logo comes alive under the pointer: it grows, glows, and the flower fills with colour */
.jd-logo {
    position: relative;
    display: inline-block;
    line-height: 0;
    transform: scale(1.12);
    transform-origin: center;
    transition: transform .5s cubic-bezier(.2, .7, .2, 1), filter .5s ease;
}
.jd-logo:hover {
    transform: scale(1.2);
    filter: drop-shadow(0 0 16px rgba(255, 122, 162, .6));
}
.jd-logo__bloom {
    position: absolute;
    inset: 0;
    pointer-events: none;
    -webkit-mask-size: 100% 100%;
    mask-size: 100% 100%;
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    clip-path: inset(0 75% 0 0);          /* the flower is the left quarter of the logo */
    background: radial-gradient(circle at 12.5% 48%, #ffd978 0, #ffd978 5%, #ff9dba 16%, #ea4a78 48%, #b8204f 100%);
    opacity: 0;
    transition: opacity .5s ease;
}
.jd-logo:hover .jd-logo__bloom { opacity: 1; animation: jd-bloom 2.4s ease-in-out .5s infinite; }
@keyframes jd-bloom {
    0%, 100% { filter: saturate(1) brightness(1); }
    50% { filter: saturate(1.25) brightness(1.12); }
}
@media (prefers-reduced-motion: reduce) {
    .jd-logo, .jd-logo__bloom { transition: none; }
    .jd-logo:hover .jd-logo__bloom { animation: none; }
}

/* header social icons: three matching round glass buttons */
.header_wrap .social-icons__list--top > .social-icons__list-item,
.header_wrap .social-icons__list-item--more > .dropdown > li { margin: 0 4px !important; padding: 0 !important; vertical-align: middle; }
.header_wrap .social-icons__list-item > a,
.header_wrap .social-icons__list-item--more > .dropdown > li > a {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    width: 36px !important;
    height: 36px !important;
    overflow: visible !important;
    border-radius: 50%;
    border: 1px solid rgba(255, 255, 255, .34);
    background: rgba(255, 255, 255, .09);
    -webkit-backdrop-filter: blur(6px);
    backdrop-filter: blur(6px);
    transition: background .22s ease, border-color .22s ease, transform .22s ease, box-shadow .22s ease;
}
.header_wrap .social-icons__list-item > a .svg,
.header_wrap .social-icons__list-item--more > .dropdown > li > a .svg {
    opacity: 1 !important;
    display: flex !important;
    align-items: center;
    justify-content: center;
    width: 17px; height: 17px;
    filter: none;
}
.header_wrap .social-icons__list-item > a svg,
.header_wrap .social-icons__list-item--more > .dropdown > li > a svg {
    width: 17px !important;
    height: 17px !important;
    overflow: visible !important;
}
.header_wrap .social-icons__list-item > a:hover,
.header_wrap .social-icons__list-item--more > .dropdown > li > a:hover { transform: translateY(-3px); }
.header_wrap .social-icons__list-item.vk > a:hover,
.header_wrap .dropdown > li.vk > a:hover { background: #0077ff; border-color: #0077ff; box-shadow: 0 8px 22px rgba(0, 119, 255, .5); }
.header_wrap .social-icons__list-item.telegram > a:hover,
.header_wrap .dropdown > li.telegram > a:hover { background: #27a7e7; border-color: #27a7e7; box-shadow: 0 8px 22px rgba(39, 167, 231, .5); }
.header_wrap .social-icons__list-item.max > a:hover,
.header_wrap .dropdown > li.max > a:hover { background: linear-gradient(135deg, #3d7bff, #8a4dff); border-color: transparent; box-shadow: 0 8px 22px rgba(120, 90, 255, .5); }

/* keep the whole menu on one line */
@media (min-width: 992px) {
    .menu-row .mega-menu .table-menu td.menu-item > .wrap > a {
        font-size: 18px !important;
        padding-left: 10px !important;
        padding-right: 10px !important;
    }
    .menu-row .mega-menu .table-menu td.menu-item > .wrap > a[href="/sobrat-buket/"] > div { padding: 7px 18px 8px; }
}

/* social icons, hover: the glass keeps its shape; the ring and the icon take the brand colour */
.header_wrap .social-icons__list--top { position: relative; top: -4px; }
.header_wrap .social-icons__list-item > a:hover,
.header_wrap .social-icons__list-item--more > .dropdown > li > a:hover { transform: translateY(-2px) scale(1.06); }
.header_wrap .social-icons__list-item.vk > a:hover,
.header_wrap .dropdown > li.vk > a:hover {
    background: rgba(0, 119, 255, .2); border-color: #5aa5ff;
    box-shadow: 0 0 0 4px rgba(0, 119, 255, .16), 0 8px 22px rgba(0, 60, 140, .35);
}
.header_wrap .social-icons__list-item.telegram > a:hover,
.header_wrap .dropdown > li.telegram > a:hover {
    background: rgba(39, 167, 231, .2); border-color: #6fcbf5;
    box-shadow: 0 0 0 4px rgba(39, 167, 231, .16), 0 8px 22px rgba(10, 80, 120, .35);
}
.header_wrap .social-icons__list-item.max > a:hover,
.header_wrap .dropdown > li.max > a:hover {
    background: rgba(125, 95, 255, .22); border-color: #a894ff;
    box-shadow: 0 0 0 4px rgba(125, 95, 255, .16), 0 8px 22px rgba(60, 40, 140, .35);
}
.header_wrap .social-icons__list-item.vk > a:hover svg path, .header_wrap .social-icons__list-item.vk > a:hover svg use { fill: #8ec2ff !important; }
.header_wrap .social-icons__list-item.telegram > a:hover svg path, .header_wrap .social-icons__list-item.telegram > a:hover svg use { fill: #9bdcfb !important; }
.header_wrap .social-icons__list-item.max > a:hover svg path, .header_wrap .social-icons__list-item.max > a:hover svg use { fill: #c6b8ff !important; }

/* social icons, hover: each button becomes that app's own icon (shape, colour, white symbol) */
.header_wrap .social-icons__list-item > a,
.header_wrap .social-icons__list-item--more > .dropdown > li > a {
    transition: background .25s ease, border-color .25s ease, border-radius .25s ease, transform .25s ease, box-shadow .25s ease;
}
.header_wrap .social-icons__list-item > a:hover,
.header_wrap .social-icons__list-item--more > .dropdown > li > a:hover { transform: translateY(-3px) scale(1.12); }
.header_wrap .social-icons__list-item.vk > a:hover,
.header_wrap .dropdown > li.vk > a:hover {
    background: #0077ff;
    border-color: #0077ff;
    border-radius: 28%;
    box-shadow: 0 8px 20px rgba(0, 70, 170, .45);
}
.header_wrap .social-icons__list-item.telegram > a:hover,
.header_wrap .dropdown > li.telegram > a:hover {
    background: linear-gradient(180deg, #2aabee 0%, #229ed9 100%);
    border-color: transparent;
    border-radius: 50%;
    box-shadow: 0 8px 20px rgba(20, 110, 170, .45);
}
.header_wrap .social-icons__list-item.max > a:hover,
.header_wrap .dropdown > li.max > a:hover {
    background: linear-gradient(135deg, #2f7bff 0%, #5b5cff 48%, #9a4dff 100%);
    border-color: transparent;
    border-radius: 30%;
    box-shadow: 0 8px 20px rgba(80, 60, 190, .45);
}
.header_wrap .social-icons__list-item.vk > a:hover svg path, .header_wrap .social-icons__list-item.vk > a:hover svg use,
.header_wrap .social-icons__list-item.telegram > a:hover svg path, .header_wrap .social-icons__list-item.telegram > a:hover svg use,
.header_wrap .social-icons__list-item.max > a:hover svg path, .header_wrap .social-icons__list-item.max > a:hover svg use { fill: #fff !important; }
.header_wrap .social-icons__list-item > a:hover svg { width: 19px !important; height: 19px !important; }

/* header logo, the lettering: on hover it takes a rose-to-champagne colour and a slow light passes across it */
.jd-logo__name {
    position: absolute;
    inset: 0;
    pointer-events: none;
    -webkit-mask-size: 100% 100%;
    mask-size: 100% 100%;
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    clip-path: inset(0 0 0 27%);          /* everything to the right of the flower */
    background: linear-gradient(100deg, #ffc9d8 0%, #ff8fb0 22%, #ffe2b8 40%, #ffffff 50%, #ffe2b8 60%, #ff8fb0 78%, #ffc9d8 100%);
    background-size: 240% 100%;
    background-position: 100% 0;
    opacity: 0;
    transition: opacity .45s ease;
}
.jd-logo:hover .jd-logo__name { opacity: 1; animation: jd-name-light 2.6s ease-in-out infinite; }
@keyframes jd-name-light {
    0% { background-position: 100% 0; }
    100% { background-position: 0% 0; }
}
@media (prefers-reduced-motion: reduce) {
    .jd-logo__name { transition: none; }
    .jd-logo:hover .jd-logo__name { animation: none; background-position: 50% 0; }
}

/* ---------- contact panel on the right edge (desktop) ---------- */
.jd-side { display: none; }
.jd-side__toggle { display: none; }
@media (min-width: 992px) {
    .jd-side {
        position: fixed;
        right: 0;
        top: 50%;
        z-index: 900;
        display: flex;
        flex-direction: column;
        transform: translateY(-50%);
        border-radius: 16px 0 0 16px;
        background: color-mix(in srgb, var(--card_bg_black, #2f1b23) 92%, transparent);
        border: 1px solid rgba(255, 255, 255, .12);
        border-right: 0;
        box-shadow: 0 16px 40px rgba(14, 2, 7, .45);
        -webkit-backdrop-filter: blur(14px);
        backdrop-filter: blur(14px);
    }
    .jd-side__btn {
        position: relative;
        display: flex;
        align-items: center;
        justify-content: center;
        width: 60px;
        height: 62px;
        color: #fff !important;
        text-decoration: none !important;
        transition: color .2s ease, background .2s ease;
    }
    .jd-side__btn + .jd-side__btn { border-top: 1px solid rgba(255, 255, 255, .1); }
    .jd-side__btn:first-child { border-radius: 16px 0 0 0; }
    .jd-side__btn:last-child { border-radius: 0 0 0 16px; }
    .jd-side__btn svg { transition: transform .22s ease; }
    .jd-side__btn:hover { background: var(--jd-pink); color: #fff !important; }
    .jd-side__btn:hover svg { transform: scale(1.14); }
    .jd-side__label {
        position: absolute;
        right: 100%;
        top: 50%;
        margin-right: 10px;
        padding: 9px 14px;
        border-radius: 10px;
        background: #fff;
        color: #24131a;
        font-family: var(--jd-text);
        font-size: 13.5px;
        font-weight: 500;
        white-space: nowrap;
        box-shadow: 0 8px 24px rgba(14, 2, 7, .35);
        opacity: 0;
        pointer-events: none;
        transform: translate(8px, -50%);
        transition: opacity .2s ease, transform .2s ease;
    }
    .jd-side__btn:hover .jd-side__label,
    .jd-side__btn:focus-visible .jd-side__label { opacity: 1; transform: translate(0, -50%); }
    .jd-side__btn:focus-visible { outline: 2px solid #fff; outline-offset: -3px; }
}
@media (prefers-reduced-motion: reduce) {
    .jd-side__btn, .jd-side__btn svg, .jd-side__label { transition: none; }
}

/* ================= phones and tablets (below 992px) ================= */
@media (max-width: 991px) {
    /* contact panel on phones: one round button in the corner; tap it and the three ways to reach the shop open above it */
    .jd-side {
        position: fixed;
        left: auto; top: auto;
        right: 12px;
        bottom: calc(16px + env(safe-area-inset-bottom, 0px));
        z-index: 900;
        display: flex;
        flex-direction: column;
        align-items: center;
        gap: 10px;
        width: 52px;
        overflow: visible;
        transform: none;
        border: 0;
        border-radius: 0;
        background: none;
        box-shadow: none;
        -webkit-backdrop-filter: none;
        backdrop-filter: none;
    }
    .jd-side__toggle {
        order: 9;
        position: relative;
        display: flex;
        align-items: center;
        justify-content: center;
        width: 52px; height: 52px;
        padding: 0;
        border: 0;
        border-radius: 50%;
        background: linear-gradient(135deg, #ff6f98, var(--jd-pink));
        color: #fff;
        box-shadow: 0 10px 26px -6px rgba(216, 53, 95, .75);
        transition: transform .4s cubic-bezier(.3, 1.5, .5, 1), background .3s ease;
    }
    .jd-side__toggle svg { width: 23px; height: 23px; transition: transform .35s ease, opacity .25s ease; }
    .jd-side__toggle::before, .jd-side__toggle::after {
        content: "";
        position: absolute;
        left: 50%; top: 50%;
        width: 18px; height: 1.6px;
        border-radius: 2px;
        background: #fff;
        opacity: 0;
        transition: transform .35s ease, opacity .25s ease;
    }
    .jd-side__toggle::before { transform: translate(-50%, -50%) rotate(0deg); }
    .jd-side__toggle::after { transform: translate(-50%, -50%) rotate(0deg); }
    .jd-side.is-open .jd-side__toggle { background: #3a2029; box-shadow: 0 8px 22px rgba(0, 0, 0, .5); }
    .jd-side.is-open .jd-side__toggle svg { opacity: 0; transform: scale(.5) rotate(90deg); }
    .jd-side.is-open .jd-side__toggle::before { opacity: 1; transform: translate(-50%, -50%) rotate(45deg); }
    .jd-side.is-open .jd-side__toggle::after { opacity: 1; transform: translate(-50%, -50%) rotate(-45deg); }
    .jd-side__toggle:active { transform: scale(.9); transition: none; }
    .jd-side__btn {
        display: flex;
        align-items: center;
        justify-content: center;
        width: 46px;
        height: 46px;
        padding: 0;
        border: 1px solid rgba(255, 255, 255, .16);
        border-radius: 50%;
        background: color-mix(in srgb, var(--card_bg_black, #2f1b23) 94%, transparent);
        box-shadow: 0 8px 22px rgba(0, 0, 0, .45);
        color: #fff !important;
        text-decoration: none !important;
        opacity: 0;
        visibility: hidden;
        transform: translateY(18px) scale(.6);
        transition: opacity .25s ease, transform .4s cubic-bezier(.3, 1.4, .5, 1), visibility 0s linear .3s;
    }
    .jd-side.is-open .jd-side__btn { opacity: 1; visibility: visible; transform: none; transition-delay: 0s; }
    .jd-side.is-open .jd-side__btn:nth-child(3) { transition-delay: .03s; }
    .jd-side.is-open .jd-side__btn:nth-child(2) { transition-delay: .08s; }
    .jd-side.is-open .jd-side__btn:nth-child(1) { transition-delay: .13s; }
    .jd-side:not(.is-open) { pointer-events: none; }
    .jd-side:not(.is-open) .jd-side__toggle { pointer-events: auto; }
    .jd-side__btn + .jd-side__btn { border-left: 1px solid rgba(255, 255, 255, .16); }
    .jd-side__btn svg { width: 21px; height: 21px; }
    .jd-side__btn:active { background: var(--jd-pink); }
    .jd-side__label { display: none; }
    body:has(.jd-side) #scrollToTop { bottom: calc(82px + env(safe-area-inset-bottom, 0px)) !important; right: 15px !important; }
    /* the bouquet builder has its own bottom bar */
    body:has(#jb) .jd-side { display: none; }

    /* phone header and slide-out menu */
    #mobileheader .mobileheader-v1 { background: var(--black_bg_black, #24131a) !important; }
    #mobilemenu { background: var(--black_bg_black, #24131a) !important; }
    #mobilemenu .menu a[href="/sobrat-buket/"] span {
        display: inline-block;
        padding: 6px 16px;
        border-radius: 999px;
        background: var(--jd-pink);
        color: #fff;
    }
}

/* ================= touch screens: the "hover" life, as a response to the finger ================= */
@media (hover: none), (max-width: 991px) {
    a, button, .btn { -webkit-tap-highlight-color: transparent; }

    /* corner contact stack: slides in, the call icon rings now and then, each icon lights up when pressed */
    .jd-side__btn svg { transition: transform .25s cubic-bezier(.3, 1.6, .5, 1); }
    .jd-side__btn:active { background: var(--jd-pink); transition: none; }
    .jd-side__btn:active svg { transform: scale(1.22); transition: none; }

    /* phone header icons and burger */
    #mobileheader a, #mobileheader .burger, #mobileheader .wrap_icon {
        transition: transform .3s cubic-bezier(.3, 1.6, .5, 1), filter .3s ease;
    }
    #mobileheader .logo-block a:active { transform: scale(.96); transition: none; }
    /* logo: the flower and lettering light up while pressed */
    .jd-logo:active .jd-logo__bloom, .jd-logo:active .jd-logo__name { opacity: 1; }

    /* first-screen buttons */
    .jd-btn { transition: transform .3s cubic-bezier(.3, 1.6, .5, 1), box-shadow .3s ease, background .3s ease; }
    .jd-btn:active { transform: scale(.95); transition: none; }
    .jd-btn--fill { box-shadow: 0 8px 22px -8px var(--jd-pink); }
    .jd-btn--fill:active { box-shadow: 0 2px 10px -4px var(--jd-pink); filter: brightness(1.12); }
    .jd-btn--glass:active { background: rgba(255, 255, 255, .2); }

    /* category tiles and product cards: press in softly, photo comes closer */
    .drag-block .float_banners .item,
    .catalog_block .catalog_item { transition: transform .35s cubic-bezier(.3, 1.4, .5, 1); }
    .drag-block .float_banners .item:active,
    .catalog_block .catalog_item:active { transform: scale(.97); transition: none; }
    .drag-block .float_banners .item .image img,
    .drag-block .float_banners .item .image .image__fon { transition: transform .6s ease; }
    .drag-block .float_banners .item:active .image img,
    .drag-block .float_banners .item:active .image .image__fon { transform: scale(1.06); }
    .drag-block .float_banners .item:active .title a { color: var(--jd-pink); }

    /* buy / quick view buttons, slide-out menu rows, footer socials */
    .catalog_block .catalog_item .footer_button .btn:active,
    .catalog_block .catalog_item .jd-quick:active { transform: scale(.94); filter: brightness(1.15); }
    footer .social-icons li a { transition: transform .3s cubic-bezier(.3, 1.6, .5, 1); }
    footer .social-icons li a:active { transform: translateY(-4px) scale(1.08); transition: none; }
}
@media (max-width: 991px) {
}
@keyframes jd-side-in { from { opacity: 0; transform: translateX(70px); } to { opacity: 1; transform: none; } }
@keyframes jd-ring {
    0%, 86%, 100% { transform: rotate(0); }
    88% { transform: rotate(-14deg); } 90% { transform: rotate(12deg); }
    92% { transform: rotate(-10deg); } 94% { transform: rotate(8deg); } 96% { transform: rotate(-4deg); }
}
@media (prefers-reduced-motion: reduce) {
    .jd-side, .jd-side__btn:first-child svg { animation: none !important; }
}

/* ================= the shop's logo, alive: it stays the same picture, colour and light move over it ================= */
.jd-logo { transform: none; max-width: 100%; vertical-align: middle; }
.jd-logo img { display: block; max-width: 100%; height: auto; }
.jd-logo:hover, a:hover > .jd-logo { transform: scale(1.07); }
/* when the page opens, one slow band of light crosses the lettering */
.jd-logo__name { animation: jd-logo-hello 2.4s ease-in-out .7s 1 both; }
@keyframes jd-logo-hello {
    0% { opacity: 0; background-position: 100% 0; }
    25%, 75% { opacity: 1; }
    100% { opacity: 0; background-position: 0 0; }
}
/* every few seconds the orchid blushes pink on its own */
.jd-logo__bloom { animation: jd-logo-blush 8s ease-in-out 3.5s infinite; }
@keyframes jd-logo-blush {
    0%, 62%, 100% { opacity: 0; }
    76%, 86% { opacity: .9; }
}
/* under the pointer or the finger: full colour and moving light */
.jd-logo:hover .jd-logo__bloom, .jd-logo:active .jd-logo__bloom,
a:active > .jd-logo .jd-logo__bloom { opacity: 1; animation: jd-bloom 2.4s ease-in-out infinite; }
.jd-logo:hover .jd-logo__name, .jd-logo:active .jd-logo__name,
a:active > .jd-logo .jd-logo__name { opacity: 1; animation: jd-name-light 2.6s ease-in-out infinite; }
.jd-logo:active, a:active > .jd-logo { filter: drop-shadow(0 0 14px rgba(255, 122, 162, .6)); }
@media (prefers-reduced-motion: reduce) {
    .jd-logo__name, .jd-logo__bloom { animation: none !important; }
}

/* ================= header icons, alive (phone header and desktop header) ================= */
#mobileheader .right-icons i.svg,
.header_wrap .right-icons i.svg {
    position: relative;
    transform-origin: 50% 60%;
}
#mobileheader .burger i.svg { position: relative; }   /* the theme itself shows either the lines or the cross */
/* a soft round halo that opens behind the icon */
#mobileheader .right-icons i.svg::after,
#mobileheader .burger i.svg::after,
.header_wrap .right-icons i.svg::after {
    content: "";
    position: absolute;
    left: 50%; top: 50%;
    width: 40px; height: 40px;
    margin: -20px 0 0 -20px;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(255, 143, 174, .32) 0%, rgba(255, 143, 174, .12) 60%, rgba(255, 143, 174, 0) 72%);
    transform: scale(0);
    opacity: 0;
    transition: transform .45s cubic-bezier(.2, 1.4, .4, 1), opacity .35s ease;
    pointer-events: none;
}
#mobileheader .right-icons svg use, #mobileheader .right-icons svg path,
#mobileheader .burger svg path { transition: fill .3s ease; }

/* the page opens: icons drop in one after another */
#mobileheader .right-icons > .pull-right,
#mobileheader .burger { animation: jd-ic-in .6s cubic-bezier(.2, .9, .3, 1.2) backwards; }   /* 'backwards' only: a transform left on the column afterwards would trap the account and phone drop-downs behind the page */
#mobileheader .burger { animation-delay: .05s; }
#mobileheader .right-icons > .pull-right:nth-child(4) { animation-delay: .15s; }
#mobileheader .right-icons > .pull-right:nth-child(3) { animation-delay: .23s; }
#mobileheader .right-icons > .pull-right:nth-child(2) { animation-delay: .31s; }
#mobileheader .right-icons > .pull-right:nth-child(1) { animation-delay: .39s; }
@keyframes jd-ic-in { from { opacity: 0; transform: translateY(-14px); } to { opacity: 1; transform: none; } }

/* on its own: the heart beats now and then; a filled basket counter glows */
#mobileheader .right-icons i.svg.wish,
.header_wrap .right-icons i.svg.wish { animation: jd-ic-beat 7s ease-in-out 4s infinite; }
#mobileheader .right-icons .count,
.header_wrap .right-icons .count {
    background: linear-gradient(135deg, #ff6f98, var(--jd-pink, #d8355f)) !important;
    color: #fff !important;
    transition: transform .3s cubic-bezier(.3, 1.6, .5, 1);
}
#mobileheader .right-icons .count:not(.empted),
.header_wrap .right-icons .count:not(.empted) { animation: jd-ic-count 2.6s ease-out infinite; }
#mobileheader .right-icons .count.empted,
.header_wrap .right-icons .count.empted { opacity: .55; animation: none; }
@keyframes jd-ic-count {
    0% { box-shadow: 0 0 0 0 rgba(255, 111, 152, .6); }
    70%, 100% { box-shadow: 0 0 0 8px rgba(255, 111, 152, 0); }
}

/* each icon has its own small gesture */
@keyframes jd-ic-beat {
    0%, 84%, 100% { transform: scale(1); }
    88% { transform: scale(1.22); } 91% { transform: scale(1); }
    94% { transform: scale(1.16); } 97% { transform: scale(1); }
}
@keyframes jd-ic-beat-now { 0%, 100% { transform: scale(1); } 30% { transform: scale(1.28); } 50% { transform: scale(1); } 70% { transform: scale(1.18); } }
@keyframes jd-ic-rock { 0%, 100% { transform: rotate(0); } 25% { transform: rotate(-14deg) translateX(-1px); } 60% { transform: rotate(10deg) translateX(2px); } 80% { transform: rotate(-4deg); } }
@keyframes jd-ic-nod { 0%, 100% { transform: translateY(0); } 35% { transform: translateY(-4px) scale(1.1); } 65% { transform: translateY(1px); } }
@keyframes jd-ic-look { 0%, 100% { transform: rotate(0) scale(1); } 40% { transform: rotate(-18deg) scale(1.18); } 75% { transform: rotate(8deg) scale(1.1); } }
@keyframes jd-ic-ring { 0%, 100% { transform: rotate(0); } 15% { transform: rotate(-16deg); } 30% { transform: rotate(14deg); } 45% { transform: rotate(-11deg); } 60% { transform: rotate(8deg); } 80% { transform: rotate(-4deg); } }

/* pointer (desktop) */
@media (hover: hover) {
    #mobileheader .right-icons a:hover i.svg::after, #mobileheader .right-icons button:hover i.svg::after,
    #mobileheader .burger:hover i.svg::after,
    .header_wrap .right-icons a:hover i.svg::after, .header_wrap .right-icons button:hover i.svg::after { transform: scale(1); opacity: 1; }
    .header_wrap .right-icons a:hover i.svg.wish, #mobileheader .right-icons a:hover i.svg.wish { animation: jd-ic-beat-now .8s ease-in-out infinite; }
    .header_wrap .right-icons a:hover i.svg.basket, #mobileheader .right-icons a:hover i.svg.basket { animation: jd-ic-rock .7s ease-in-out; }
    .header_wrap .right-icons a:hover i.svg-inline-cabinet, #mobileheader .right-icons a:hover i.svg-inline-cabinet { animation: jd-ic-nod .6s ease-in-out; }
    .header_wrap .right-icons button:hover i.svg-inline-search, #mobileheader .right-icons button:hover i.svg-inline-search { animation: jd-ic-look .7s ease-in-out; }
    .header_wrap .right-icons button:hover i.svg-inline-phone, #mobileheader .right-icons button:hover i.svg-inline-phone { animation: jd-ic-ring .8s ease-in-out; }
    .header_wrap .right-icons a:hover .count { transform: scale(1.18); }
    #mobileheader .right-icons a:hover svg use, #mobileheader .right-icons a:hover svg path,
    #mobileheader .right-icons button:hover svg use, #mobileheader .right-icons button:hover svg path,
    #mobileheader .burger:hover svg path { fill: #ff8fae; }
}
/* finger (phone) */
#mobileheader .right-icons a:active i.svg::after, #mobileheader .right-icons button:active i.svg::after,
#mobileheader .burger:active i.svg::after { transform: scale(1.15); opacity: 1; transition: none; }
#mobileheader .right-icons a:active svg use, #mobileheader .right-icons a:active svg path,
#mobileheader .right-icons button:active svg use, #mobileheader .right-icons button:active svg path,
#mobileheader .burger:active svg path { fill: #ff8fae; transition: none; }
#mobileheader .right-icons a:active i.svg.wish { animation: jd-ic-beat-now .6s ease-in-out; }
#mobileheader .right-icons a:active i.svg.basket { animation: jd-ic-rock .6s ease-in-out; }
#mobileheader .right-icons a:active i.svg-inline-cabinet { animation: jd-ic-nod .5s ease-in-out; }
#mobileheader .right-icons button:active i.svg-inline-search { animation: jd-ic-look .6s ease-in-out; }
#mobileheader .right-icons button:active i.svg-inline-phone { animation: jd-ic-ring .7s ease-in-out; }
#mobileheader .burger:active i.svg { transform: scaleX(.75); }
#mobileheader .burger i.svg { transition: transform .35s cubic-bezier(.3, 1.6, .5, 1); }
@media (prefers-reduced-motion: reduce) {
    #mobileheader .right-icons > .pull-right, #mobileheader .burger,
    #mobileheader .right-icons i.svg, .header_wrap .right-icons i.svg,
    #mobileheader .right-icons .count, .header_wrap .right-icons .count { animation: none !important; }
}

/* ================= phone menu: a soft full-screen page (flowers, serif, no boxes) ================= */
#mobilemenu {
    width: 100% !important;
    max-width: 520px;
    background:
        linear-gradient(180deg, rgba(36, 19, 26, .30) 0, rgba(36, 19, 26, .72) 130px, var(--black_bg_black, #24131a) 300px),
        url("/local/jarden/img/hero-phone.jpg") 60% 0 / 150% auto no-repeat,
        var(--black_bg_black, #24131a) !important;
    box-shadow: none;
    border: 0;
}
#mobilemenu .mobilemenu-v1 > .wrap {
    display: flex;
    flex-wrap: wrap;
    align-content: flex-start;
    justify-content: center;
    padding: 0 0 56px;
}
#mobilemenu .mobilemenu-v1 > .wrap > * { flex: 0 0 100%; max-width: 100%; box-sizing: border-box; }
#mobilemenu a, #mobilemenu button { -webkit-tap-highlight-color: transparent; }

/* top: the logo in the middle over the flowers, a quiet close button */
.jd-mm-top {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    height: 132px;
    padding: 0 22px;
}
.jd-mm-top img { height: 58px; width: auto; display: block; filter: drop-shadow(0 2px 14px rgba(0, 0, 0, .55)); }
.jd-mm-close {
    position: absolute;
    right: 14px; top: 14px;
    width: 42px; height: 42px;
    border-radius: 50%;
    border: 0;
    background: rgba(36, 19, 26, .45);
    -webkit-backdrop-filter: blur(8px);
    backdrop-filter: blur(8px);
    transition: transform .4s cubic-bezier(.3, 1.5, .5, 1), background .25s ease;
}
.jd-mm-close::before, .jd-mm-close::after {
    content: "";
    position: absolute;
    left: 50%; top: 50%;
    width: 16px; height: 1.5px;
    background: #fff;
    border-radius: 2px;
}
.jd-mm-close::before { transform: translate(-50%, -50%) rotate(45deg); }
.jd-mm-close::after { transform: translate(-50%, -50%) rotate(-45deg); }
.jd-mm-close:active { transform: rotate(90deg) scale(.92); background: var(--jd-pink); transition: none; }

/* sections: centred serif names with air between them, nothing else */
#mobilemenu .menu.top { padding: 6px 0 0; }
#mobilemenu .menu.top > ul > li { border: 0 !important; position: static; }
#mobilemenu .menu.top > ul > li > a {
    position: relative;
    display: block;
    padding: 12px 52px !important;
    background: transparent !important;
    font-family: var(--jd-display) !important;
    font-size: 25px !important;
    font-weight: 400 !important;
    line-height: 1.18;
    letter-spacing: .01em;
    text-align: center;
    color: #fdf6f2 !important;
    transition: color .3s ease, letter-spacing .5s ease;
}
#mobilemenu .menu.top > ul > li > a:active { color: #ffb3c8 !important; letter-spacing: .035em; transition: none; }
#mobilemenu .menu.top > ul > li > a[href="/sobrat-buket/"] span:first-child { padding: 5px 18px 6px; font-size: 21px; }
#mobilemenu .menu.top > ul > li > a .arrow {
    position: absolute;
    right: 8px; top: 50%;
    width: 44px; height: 44px;
    margin-top: -22px;
    padding: 0 !important;
    border: 0;
}
#mobilemenu .menu .arrow i { display: none !important; }
#mobilemenu .menu .arrow::after {
    content: "";
    position: absolute;
    left: 50%; top: 50%;
    width: 6px; height: 6px;
    border-top: 1px solid rgba(255, 179, 200, .75);
    border-right: 1px solid rgba(255, 179, 200, .75);
    transform: translate(-70%, -50%) rotate(45deg);
}
/* a small flower closes the list */
#mobilemenu .menu.top::after {
    content: "✿";
    display: block;
    padding: 14px 0 4px;
    text-align: center;
    font-size: 15px;
    line-height: 1;
    color: var(--jd-pink);
    opacity: .9;
}

/* second level (inside a section) */
#mobilemenu .menu ul.dropdown { background: var(--black_bg_black, #24131a) !important; }
#mobilemenu .menu ul.dropdown li { border-color: rgba(255, 255, 255, .07) !important; }
#mobilemenu .menu ul.dropdown li > a {
    padding-left: 26px !important;
    background: transparent !important;
    font-family: var(--jd-text) !important;
    font-size: 16px !important;
    font-weight: 400 !important;
    color: #f3e9e6 !important;
}
#mobilemenu .menu ul.dropdown li.menu_title,
#mobilemenu .menu ul.dropdown li.menu_title > a { font-family: var(--jd-display) !important; font-size: 24px !important; color: #fff !important; }
#mobilemenu .menu ul.dropdown li > a:active { color: #ffb3c8 !important; }

/* basket, favourites, account, city: four soft round icons in a row with a word under each */
#mobilemenu .menu.middle { margin: 0; padding: 0; border: 0; border-radius: 0; background: none; overflow: visible; }
#mobilemenu .menu.middle li { border: 0 !important; }
#mobilemenu .menu.middle li > a {
    position: relative;
    display: flex !important;
    flex-direction: column;
    align-items: center;
    justify-content: flex-start;
    padding: 0 2px !important;
    border: 0;
    background: transparent !important;
    font-family: var(--jd-text) !important;
    font-size: 12px !important;
    font-weight: 400 !important;
    line-height: 1.25;
    text-align: center;
    color: rgba(253, 246, 242, .82) !important;
}
#mobilemenu .menu.middle li > a > span { position: static !important; }
#mobilemenu .menu.middle li > a > i.svg {
    position: static !important;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 54px; height: 54px;
    margin: 0 0 9px !important;
    border-radius: 50%;
    background: rgba(255, 157, 186, .13);
    line-height: 0;
    transition: transform .35s cubic-bezier(.3, 1.5, .5, 1), background .3s ease;
}
#mobilemenu .menu.middle li > a:active > i.svg { transform: scale(.9); background: rgba(255, 157, 186, .34); transition: none; }
#mobilemenu .menu.middle li > a .arrow { display: none; }
#mobilemenu .mobilemenu-v1 > .wrap > .menu.middle { order: 3; flex: 0 0 23%; max-width: 23%; padding: 22px 0 0; }
#mobilemenu .mobilemenu-v1 > .wrap > .menu.middle:has(li.counters) { order: 2; flex: 0 0 46%; max-width: 46%; }
#mobilemenu .menu.middle:has(li.counters) > ul { display: flex; }
#mobilemenu .menu.middle:has(li.counters) > ul > li { flex: 1 1 0; min-width: 0; }
/* counters: a small pink dot-badge on the round icon; nothing when zero */
#mobilemenu .menu.middle li.counters > a .count {
    position: absolute !important;
    top: -3px !important; left: 50% !important; right: auto !important; bottom: auto !important;
    margin: 0 0 0 10px !important;
    transform: none !important;
    min-width: 20px; height: 20px;
    padding: 0 5px;
    box-sizing: border-box;
    border-radius: 10px;
    background: var(--jd-pink) !important;
    color: #fff !important;
    font-size: 11px;
    line-height: 20px !important;
    text-align: center;
}
#mobilemenu .menu.middle li.counters > a .count.empted { display: none !important; }

/* the phone number: a calm line, not a button */
#mobilemenu .mobilemenu-v1 > .wrap > .menu.middle.mobile-menu-contacts { order: 4; flex: 0 0 100%; max-width: 100%; padding: 30px 22px 0; }
#mobilemenu .menu.middle.mobile-menu-contacts li > a {
    flex-direction: column !important;
    align-items: center !important;
    padding: 0 !important;
    color: #fff !important;
}
#mobilemenu .menu.middle.mobile-menu-contacts li > a > i.svg { display: none !important; }
#mobilemenu .menu.middle.mobile-menu-contacts li > a > span {
    display: flex;
    flex-direction: column-reverse;
    align-items: center;
    gap: 6px;
    font-family: var(--jd-display);
    font-size: 27px;
    letter-spacing: .04em;
    white-space: nowrap;
    line-height: 1.1;
}
#mobilemenu .menu.middle.mobile-menu-contacts .phones__phone-descript { display: block; }
#mobilemenu .menu.middle.mobile-menu-contacts .descr {
    font-family: var(--jd-text);
    font-size: 11px;
    font-weight: 500;
    letter-spacing: .2em;
    text-transform: uppercase;
    color: #ff9dba;
}
#mobilemenu .menu.middle.mobile-menu-contacts li > a:active > span { color: #ffb3c8; }

/* foot: mail, then the socials, all centred */
#mobilemenu .mobilemenu-v1 > .wrap > .contacts { order: 5; padding: 12px 0 0; text-align: center; }
#mobilemenu .contacts .title { display: none; }
#mobilemenu .contacts .email { padding: 0 !important; }
#mobilemenu .contacts .email > i.svg { display: none; }
#mobilemenu .contacts .email a { font-size: 14px; color: rgba(253, 246, 242, .7); text-decoration: none; }
#mobilemenu .mobilemenu-v1 > .wrap > .social-icons { order: 6; padding: 22px 0 0 !important; border: 0 !important; }
#mobilemenu .social-icons ul { display: flex; justify-content: center; gap: 12px; margin: 0; padding: 0; }
#mobilemenu .social-icons li { margin: 0 !important; }
#mobilemenu .social-icons li a {
    border-radius: 50% !important;
    overflow: hidden;
    transition: transform .3s cubic-bezier(.3, 1.6, .5, 1);
}
#mobilemenu .social-icons li a:active { transform: scale(.88); transition: none; }
/* light / dark switch at the bottom of the phone menu */
#mobilemenu .mobilemenu-v1 > .wrap > .theme-swither-mobile { display: flex !important; justify-content: center; width: 100%; box-sizing: border-box; order: 9; flex: 0 0 100%; max-width: 100%; margin: 0 !important; padding: 26px 22px 36px !important; border: 0 !important; background: none !important; text-align: center; }
#mobilemenu .theme-swither-mobile .theme-selector {
    display: inline-flex !important; align-items: center; justify-content: center; height: 48px; padding: 0 24px !important;
    border: 1px solid rgba(255, 255, 255, .28) !important; border-radius: 999px !important; background: rgba(255, 255, 255, .07) !important;
    color: #fff !important; cursor: pointer; transition: background .25s ease, border-color .25s ease, transform .2s ease;
}
#mobilemenu .theme-swither-mobile .theme-selector:active { transform: scale(.96); background: rgba(255, 157, 186, .2) !important; border-color: #ff9dba !important; }
#mobilemenu .theme-swither-mobile .theme-selector__item-text { font-family: var(--jd-text) !important; font-size: 14px !important; font-weight: 500 !important; letter-spacing: .02em; color: #fff !important; }
#mobilemenu .theme-swither-mobile .theme-selector svg path, #mobilemenu .theme-swither-mobile .theme-selector svg circle { fill: #fff !important; }
#mobilemenu .theme-swither-mobile .line-block { display: inline-flex; align-items: center; gap: 10px; }

/* opening: everything settles in softly, like petals, top to bottom */
#mobilemenu.show .jd-mm-top img,
#mobilemenu.show .menu.top > ul > li,
#mobilemenu.show .menu.top::after,
#mobilemenu.show .menu.middle,
#mobilemenu.show .contacts,
#mobilemenu.show .social-icons { animation: jd-mm-in .9s cubic-bezier(.16, .8, .24, 1) backwards; }
#mobilemenu.show .menu.top > ul > li:nth-child(1) { animation-delay: .10s; }
#mobilemenu.show .menu.top > ul > li:nth-child(2) { animation-delay: .17s; }
#mobilemenu.show .menu.top > ul > li:nth-child(3) { animation-delay: .24s; }
#mobilemenu.show .menu.top > ul > li:nth-child(4) { animation-delay: .31s; }
#mobilemenu.show .menu.top > ul > li:nth-child(5) { animation-delay: .38s; }
#mobilemenu.show .menu.top > ul > li:nth-child(6) { animation-delay: .45s; }
#mobilemenu.show .menu.top > ul > li:nth-child(n+7) { animation-delay: .52s; }
#mobilemenu.show .menu.top::after { animation-delay: .56s; }
#mobilemenu.show .menu.middle { animation-delay: .62s; }
#mobilemenu.show .contacts, #mobilemenu.show .social-icons { animation-delay: .74s; }
@keyframes jd-mm-in { from { opacity: 0; transform: translateY(12px); filter: blur(4px); } to { opacity: 1; transform: none; filter: none; } }
@media (prefers-reduced-motion: reduce) {
    #mobilemenu.show .jd-mm-top img, #mobilemenu.show .menu.top > ul > li, #mobilemenu.show .menu.top::after,
    #mobilemenu.show .menu.middle, #mobilemenu.show .contacts, #mobilemenu.show .social-icons { animation: none; }
}
/* the corner contact stack steps aside while the menu is open */
body:has(#mobilemenu.show) .jd-side { visibility: hidden; }

/* ---- header icons: fixes ---- */
/* the light/dark switch keeps the theme's own behaviour: no halo, no gestures */
.header_wrap .right-icons .theme-selector i.svg::after,
#mobileheader .right-icons .theme-selector i.svg::after { display: none; }
/* phone header: the whole 44px column around an icon reacts, not only the 18px drawing */
#mobileheader .right-icons .top-btn,
#mobileheader .right-icons .personal-link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 44px;
    height: 62px;
    margin: 0 -13px;
    padding: 0 13px;
    box-sizing: border-box;
    vertical-align: top;
}
#mobileheader .right-icons i.svg { display: inline-block; }
/* slide-out menu icons in pink */

/* ---- phone header: the account drop-down (signed-in users) ---- */
#mobileheader .auth_wr_inner .dropdown-menu {
    top: calc(100% + 4px) !important;
    right: -6px !important;
    left: auto !important;
    min-width: 232px;
    margin: 0 !important;
    padding: 6px !important;
    border-radius: 18px !important;
    border: 1px solid rgba(255, 255, 255, .09) !important;
    background: #2f1b23 !important;
    box-shadow: 0 26px 54px rgba(0, 0, 0, .6);
    line-height: normal;
    z-index: 1200;
    animation: jd-dd-in .28s cubic-bezier(.2, .8, .2, 1);
    transform-origin: 85% 0;
}
@keyframes jd-dd-in { from { opacity: 0; transform: translateY(-8px) scale(.96); } to { opacity: 1; transform: none; } }
#mobileheader .auth_wr_inner .dropdown-menu li { background: transparent !important; }
#mobileheader .auth_wr_inner .dropdown-menu li a {
    padding: 12px 16px !important;
    border: 0 !important;
    border-radius: 12px !important;
    font-family: var(--jd-text);
    font-size: 15px;
    line-height: 1.3;
    color: #f3e9e6 !important;
    background: transparent !important;
}
#mobileheader .auth_wr_inner .dropdown-menu li.active a { color: #ff9dba !important; font-weight: 500; }
#mobileheader .auth_wr_inner .dropdown-menu li a:active { background: rgba(255, 143, 174, .18) !important; }
#mobileheader .auth_wr_inner .dropdown-menu > li:last-child { margin-top: 4px; padding-top: 4px; border-top: 1px solid rgba(255, 255, 255, .09); }
#mobileheader .auth_wr_inner .dropdown-menu > li:last-child a { color: #ff9dba !important; }
@media (prefers-reduced-motion: reduce) { #mobileheader .auth_wr_inner .dropdown-menu { animation: none; } }

/* ---- phone header: every icon on one centre line ---- */
#mobileheader .mobileheader-v1 .burger { display: flex !important; align-items: center; height: 62px; padding-top: 0 !important; padding-bottom: 0 !important; line-height: 0; }
#mobileheader .burger i.svg-inline-burger { height: auto !important; min-height: 0 !important; }
#mobileheader .burger i.svg, #mobileheader .right-icons i.svg { top: 0 !important; margin-top: 0 !important; margin-bottom: 0 !important; line-height: 0 !important; vertical-align: middle; }
#mobileheader .burger i.svg svg, #mobileheader .right-icons i.svg svg { display: block; }
#mobileheader .right-icons .wrap_icon { height: 62px; line-height: 62px; }
#mobileheader .right-icons .basket-link.basket { display: inline-flex; align-items: center; height: 62px; padding-top: 0 !important; padding-bottom: 0 !important; margin-top: 0 !important; vertical-align: top; }
#mobileheader .right-icons .basket-link.basket .js-basket-block { display: inline-flex; align-items: center; position: relative; line-height: 0; }
#mobileheader .right-icons .basket-link.basket .count { top: 2px !important; line-height: 15px; }
#mobileheader .right-icons .top-btn, #mobileheader .right-icons .personal-link { padding-top: 0 !important; padding-bottom: 0 !important; margin-top: 0 !important; line-height: 0; }
#mobileheader .right-icons .auth_wr_inner { height: 62px; padding: 0 !important; }

#mobilemenu .menu.middle li > a > i.svg svg path,
#mobilemenu .menu.middle li > a > i.svg svg use { fill: #ffb3c8 !important; }

@media (max-width: 991px) {
    .jd-side__toggle { display: flex; animation: jd-side-in .6s cubic-bezier(.2, .8, .2, 1) .6s backwards; }
    .jd-side__toggle svg { animation: jd-ring 7s ease-in-out 3s infinite; transform-origin: 50% 50%; }
    .jd-side.is-open .jd-side__toggle svg { animation: none; }
}

/* ================= homepage: follow-us row ================= */
.jd-follow { padding: 30px 16px 6px; text-align: center; }
.jd-follow__line {
    margin: 0 0 16px;
    font-family: var(--jd-display);
    font-size: 22px;
    line-height: 1.2;
    color: #fdf6f2;
}
.jd-follow__btns { display: flex; flex-wrap: wrap; justify-content: center; gap: 10px; }
.jd-follow__btn {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    height: 50px;
    padding: 0 24px;
    border: 1px solid rgba(255, 255, 255, .3);
    border-radius: 999px;
    background: rgba(255, 255, 255, .04);
    font-family: var(--jd-text);
    font-size: 14.5px;
    font-weight: 500;
    letter-spacing: .02em;
    color: #fff !important;
    text-decoration: none !important;
    transition: background .3s ease, border-color .3s ease, transform .35s cubic-bezier(.3, 1.5, .5, 1), box-shadow .3s ease;
}
.jd-follow__btn svg { flex: none; transition: transform .35s cubic-bezier(.3, 1.5, .5, 1); }
.jd-follow__btn:hover { transform: translateY(-3px); }
.jd-follow__btn:hover svg { transform: scale(1.15) rotate(-6deg); }
.jd-follow__btn--vk:hover, .jd-follow__btn--vk:active { background: #0077ff; border-color: #0077ff; box-shadow: 0 12px 26px -12px #0077ff; }
.jd-follow__btn--ig:hover, .jd-follow__btn--ig:active { background: linear-gradient(45deg, #f9a23c 0%, #ee2a7b 50%, #6228d7 100%); border-color: transparent; box-shadow: 0 12px 26px -12px #ee2a7b; }
.jd-follow__btn:active { transform: scale(.96); transition: none; }
@media (min-width: 992px) {
    .jd-follow { padding: 46px 16px 10px; }
    .jd-follow__line { font-size: 30px; margin-bottom: 22px; }
}

/* ================= gift: 10% from the Telegram bot ================= */
.jd-gift {
    position: fixed;
    left: 14px;
    bottom: calc(18px + env(safe-area-inset-bottom, 0px));
    z-index: 890;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 12px;
    pointer-events: none;
}
.jd-gift__pill {
    pointer-events: auto;
    display: inline-flex;
    align-items: center;
    gap: 9px;
    height: 48px;
    padding: 0 18px 0 15px;
    border: 0;
    border-radius: 999px;
    background: linear-gradient(135deg, #ffb3c8, #ff7da3);
    color: #3a0f1e;
    font-family: var(--jd-text);
    font-size: 14px;
    font-weight: 500;
    box-shadow: 0 12px 28px -8px rgba(255, 125, 163, .7);
    cursor: pointer;
    animation: jd-gift-in .7s cubic-bezier(.2, .8, .2, 1) 1.2s backwards;
    transition: transform .35s cubic-bezier(.3, 1.5, .5, 1);
}
.jd-gift__pill svg { animation: jd-gift-shake 6s ease-in-out 3s infinite; transform-origin: 50% 80%; }
.jd-gift__pill:hover { transform: translateY(-3px); }
.jd-gift__pill:active { transform: scale(.94); transition: none; }
.jd-gift.is-open .jd-gift__pill svg { animation: none; }
.jd-gift__card {
    pointer-events: none;
    position: relative;
    width: min(300px, calc(100vw - 28px));
    padding: 24px 22px 22px;
    border: 1px solid rgba(255, 255, 255, .1);
    border-radius: 24px;
    background:
        radial-gradient(120% 90% at 0 0, rgba(255, 125, 163, .28) 0%, rgba(255, 125, 163, 0) 60%),
        #2f1b23;
    box-shadow: 0 26px 60px rgba(0, 0, 0, .6);
    box-sizing: border-box;
    opacity: 0;
    visibility: hidden;
    transform: translateY(14px) scale(.96);
    transform-origin: 0 100%;
    transition: opacity .25s ease, transform .4s cubic-bezier(.3, 1.3, .5, 1), visibility 0s linear .3s;
}
.jd-gift.is-open .jd-gift__card { pointer-events: auto; opacity: 1; visibility: visible; transform: none; transition-delay: 0s; }
.jd-gift__eyebrow {
    margin: 0 0 8px;
    font-family: var(--jd-text);
    font-size: 11px;
    font-weight: 500;
    letter-spacing: .2em;
    text-transform: uppercase;
    color: #ff9dba;
}
.jd-gift__title { margin: 0 0 10px; font-family: var(--jd-display); font-size: 28px; line-height: 1.1; color: #fff; }
.jd-gift__text { margin: 0 0 18px; font-family: var(--jd-text); font-size: 14px; line-height: 1.45; color: rgba(253, 246, 242, .78); }
.jd-gift__go {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 48px;
    border-radius: 999px;
    background: var(--jd-pink);
    font-family: var(--jd-text);
    font-size: 15px;
    font-weight: 500;
    color: #fff !important;
    text-decoration: none !important;
    box-shadow: 0 12px 26px -12px var(--jd-pink);
    transition: filter .25s ease, transform .3s cubic-bezier(.3, 1.5, .5, 1);
}
.jd-gift__go:hover { filter: brightness(1.1); }
.jd-gift__go:active { transform: scale(.97); transition: none; }
.jd-gift__close { position: absolute; right: 10px; top: 10px; width: 34px; height: 34px; border: 0; border-radius: 50%; background: rgba(255, 255, 255, .07); cursor: pointer; }
.jd-gift__close::before, .jd-gift__close::after { content: ""; position: absolute; left: 50%; top: 50%; width: 13px; height: 1.5px; background: #fff; border-radius: 2px; }
.jd-gift__close::before { transform: translate(-50%, -50%) rotate(45deg); }
.jd-gift__close::after { transform: translate(-50%, -50%) rotate(-45deg); }
@keyframes jd-gift-in { from { opacity: 0; transform: translateX(-60px); } to { opacity: 1; transform: none; } }
@keyframes jd-gift-shake {
    0%, 88%, 100% { transform: rotate(0); }
    90% { transform: rotate(-14deg); } 92% { transform: rotate(12deg); } 94% { transform: rotate(-9deg); } 96% { transform: rotate(6deg); } 98% { transform: rotate(-3deg); }
}
body:has(#mobilemenu.show) .jd-gift, body:has(#jb) .jd-gift { display: none; }
@media (max-width: 991px) {
    body:has(.counter_wrapp.big.fixed) .jd-gift { bottom: calc(84px + env(safe-area-inset-bottom, 0px)); }
}
@media (min-width: 992px) { .jd-gift { left: 24px; bottom: 24px; } }
@media (prefers-reduced-motion: reduce) { .jd-gift__pill, .jd-gift__pill svg { animation: none; } }

/* ================= phones: bottom bar (Главная / Каталог / Корзина / Связь / Кабинет) ================= */
.jd-tab { display: none; }
@media (max-width: 991px) {
    .jd-tab {
        position: fixed;
        left: 0; right: 0; bottom: 0;
        z-index: 880;
        display: flex;
        height: calc(62px + env(safe-area-inset-bottom, 0px));
        padding-bottom: env(safe-area-inset-bottom, 0px);
        background: rgba(29, 14, 21, .92);
        -webkit-backdrop-filter: blur(18px);
        backdrop-filter: blur(18px);
        border-top: 1px solid rgba(255, 255, 255, .09);
        box-sizing: border-box;
        animation: jd-tab-in .5s cubic-bezier(.2, .8, .2, 1) .3s backwards;
    }
    @keyframes jd-tab-in { from { transform: translateY(100%); } to { transform: none; } }
    .jd-tab__item {
        position: relative;
        flex: 1 1 0;
        min-width: 0;
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        gap: 4px;
        color: rgba(253, 246, 242, .62) !important;
        text-decoration: none !important;
        -webkit-tap-highlight-color: transparent;
        transition: color .25s ease;
    }
    .jd-tab__ico { position: relative; display: block; line-height: 0; transition: transform .35s cubic-bezier(.3, 1.6, .5, 1); }
    .jd-tab__txt { font-family: var(--jd-text); font-size: 10.5px; font-weight: 500; letter-spacing: .02em; line-height: 1; white-space: nowrap; }
    .jd-tab__item.is-on { color: #ff8fae !important; }
    .jd-tab__item.is-on .jd-tab__ico { transform: translateY(-2px); }
    .jd-tab__item.is-on::before {
        content: "";
        position: absolute;
        top: 0; left: 50%;
        width: 26px; height: 2px;
        margin-left: -13px;
        border-radius: 0 0 2px 2px;
        background: var(--jd-pink);
    }
    .jd-tab__item:active { color: #fff !important; }
    .jd-tab__item:active .jd-tab__ico { transform: scale(.86); transition: none; }
    .jd-tab__count {
        position: absolute;
        top: -5px; right: -9px;
        min-width: 17px; height: 17px;
        padding: 0 4px;
        border-radius: 9px;
        background: var(--jd-pink);
        color: #fff;
        font-family: var(--jd-text);
        font-size: 10.5px;
        font-weight: 500;
        line-height: 17px;
        text-align: center;
        box-sizing: border-box;
    }
    .jd-tab__count[hidden] { display: none; }
    body:has(.jd-tab) { padding-bottom: calc(62px + env(safe-area-inset-bottom, 0px)); }
    body:has(#mobilemenu.show) .jd-tab, body:has(#jb) .jd-tab { display: none; }
    body:has(#jb) { padding-bottom: 0; }

    /* everything else that floats moves up above the bar */
    .jd-gift { bottom: calc(76px + env(safe-area-inset-bottom, 0px)); }
    body:has(.jd-tab) #scrollToTop { bottom: calc(78px + env(safe-area-inset-bottom, 0px)) !important; }
    .counter_wrapp.big.fixed { bottom: calc(62px + env(safe-area-inset-bottom, 0px)) !important; padding-bottom: 8px !important; }
    body:has(.counter_wrapp.big.fixed) .jd-gift { bottom: calc(146px + env(safe-area-inset-bottom, 0px)); }

    /* the contact buttons now open from "Связь": a row above the bar, no separate round button */
    .jd-side__toggle { display: none !important; }
    .jd-side, body:has(.counter_wrapp.big.fixed) .jd-side {
        left: 0; right: 0;
        bottom: calc(74px + env(safe-area-inset-bottom, 0px));
        width: auto;
        flex-direction: row;
        justify-content: center;
        gap: 14px;
        padding-left: 40%;
    }
    .jd-side__btn { width: 52px; height: 52px; background: #3a2029; }
}
@media (max-width: 991px) {
    body:has(.counter_wrapp.big.fixed) .jd-side { bottom: calc(142px + env(safe-area-inset-bottom, 0px)); }
}
/* phone menu: the theme's "current page" marker (a pink bar on the left of a row) has no place on the round icons */
#mobilemenu .menu.middle li::before, #mobilemenu .menu.middle li::after,
#mobilemenu .menu.middle li > a::before, #mobilemenu .menu.middle li > a::after,
#mobilemenu .menu.top > ul > li::before, #mobilemenu .menu.top > ul > li > a::before { display: none !important; content: none !important; }
#mobilemenu .menu li > a { border-left: 0 !important; box-shadow: none !important; }

/* ================= phone menu, second level: same language as the first — centred serif, no rows ================= */
#mobilemenu .menu ul.dropdown { background: transparent !important; padding: 0 0 40px !important; }
#mobilemenu .menu ul.dropdown > li { border: 0 !important; background: transparent !important; text-align: center; }
#mobilemenu .menu ul.dropdown > li::before, #mobilemenu .menu ul.dropdown > li::after,
#mobilemenu .menu ul.dropdown > li > a::before { display: none !important; content: none !important; }
#mobilemenu .menu ul.dropdown > li > a {
    position: relative;
    display: block;
    padding: 10px 52px !important;
    border: 0 !important;
    background: transparent !important;
    font-family: var(--jd-display) !important;
    font-size: 21px !important;
    font-weight: 400 !important;
    line-height: 1.2;
    text-align: center;
    color: #fdf6f2 !important;
    transition: color .3s ease, letter-spacing .5s ease;
}
#mobilemenu .menu ul.dropdown > li > a:active { color: #ffb3c8 !important; letter-spacing: .03em; transition: none; }
#mobilemenu .menu ul.dropdown > li.active > a,
#mobilemenu .menu ul.dropdown > li.selected > a,
#mobilemenu .menu ul.dropdown > li.current > a { color: #ff9dba !important; }
#mobilemenu .menu ul.dropdown > li > a .arrow { position: absolute; right: 8px; top: 50%; width: 44px; height: 44px; margin-top: -22px; padding: 0 !important; border: 0; }
/* back: a small quiet pill in the corner */
#mobilemenu .menu ul.dropdown > li.menu_back { text-align: left; padding: 0 0 4px 20px !important; }
#mobilemenu .menu ul.dropdown > li.menu_back > a {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 8px 16px 8px 12px !important;
    border: 1px solid rgba(255, 255, 255, .22) !important;
    border-radius: 999px;
    font-family: var(--jd-text) !important;
    font-size: 13px !important;
    letter-spacing: .02em;
    color: rgba(253, 246, 242, .85) !important;
}
#mobilemenu .menu ul.dropdown > li.menu_back > a i.svg { position: static !important; margin: 0 !important; line-height: 0; transform: scale(.8); }
#mobilemenu .menu ul.dropdown > li.menu_back > a i.svg svg path { fill: #ff9dba !important; }
#mobilemenu .menu ul.dropdown > li.menu_back > a:active { background: rgba(255, 157, 186, .2) !important; letter-spacing: .02em; }
/* the section's own name: the heading of this page of the menu */
#mobilemenu .menu ul.dropdown > li.menu_title { padding: 14px 0 12px !important; }
#mobilemenu .menu ul.dropdown > li.menu_title > a {
    padding: 0 28px !important;
    font-size: 30px !important;
    line-height: 1.12;
    color: #fff !important;
}
#mobilemenu .menu ul.dropdown > li.menu_title::after {
    content: "✿" !important;
    display: block !important;
    margin-top: 10px;
    font-size: 13px;
    line-height: 1;
    color: var(--jd-pink);
}
#mobilemenu.show .menu ul.dropdown > li { animation: none; }

/* phone menu: the logo bar must not push the lists down — the theme measures a list's height to decide how far the menu
   scrolls, and anything above the list that it doesn't know about gets cut off the bottom. So the bar floats over the top
   and each list carries its own space for it. */
#mobilemenu .mobilemenu-v1 { position: relative; }
#mobilemenu .jd-mm-top { position: absolute; top: 0; left: 0; right: 0; z-index: 6; }
#mobilemenu .mobilemenu-v1 > .wrap { padding-top: 132px; }
#mobilemenu .menu ul.dropdown { top: 0 !important; padding: 132px 0 140px !important; box-sizing: border-box; min-height: 100%; }
#mobilemenu .menu ul.dropdown > li.menu_back { padding-top: 6px !important; }
#mobilemenu .mobilemenu-v1.scroller { height: auto !important; min-height: 100%; }
#mobilemenu .menu ul.dropdown { min-height: 0; }

/* ===== phone menu: romantic touch (stars, aurora, breathing logo, glowing flower) ===== */
#mobilemenu .mobilemenu-v1 { position: relative; }
#mobilemenu .jd-mm-sky { position: absolute; inset: 0; z-index: 0; overflow: hidden; pointer-events: none; }
#mobilemenu .mobilemenu-v1 > *:not(.jd-mm-sky) { position: relative; z-index: 1; }
#mobilemenu .mobilemenu-v1 > .jd-mm-top { position: absolute; z-index: 6; }
/* drifting pink aurora */
#mobilemenu .jd-mm-sky b {
  position: absolute; left: -30%; top: 30%; width: 160%; height: 55%;
  background: radial-gradient(ellipse 35% 45% at 30% 50%, rgba(240, 98, 143, .22), transparent 70%),
              radial-gradient(ellipse 30% 40% at 70% 60%, rgba(255, 190, 210, .14), transparent 70%);
  filter: blur(18px);
  animation: jd-aurora 14s ease-in-out infinite alternate;
}
@keyframes jd-aurora { from { transform: translate(-6%, -4%) rotate(-4deg); } to { transform: translate(8%, 6%) rotate(5deg); } }
/* twinkling four-point stars */
#mobilemenu .jd-mm-sky i {
  position: absolute; width: 10px; height: 10px;
  background: radial-gradient(circle, #fff 0 18%, rgba(255, 200, 220, .9) 30%, transparent 70%);
  clip-path: polygon(50% 0, 60% 40%, 100% 50%, 60% 60%, 50% 100%, 40% 60%, 0 50%, 40% 40%);
  opacity: 0; animation: jd-twinkle 4.8s ease-in-out infinite;
}
#mobilemenu .jd-mm-sky i:nth-child(3n) { width: 14px; height: 14px; }
#mobilemenu .jd-mm-sky i:nth-child(4n) { width: 7px; height: 7px; }
@keyframes jd-twinkle { 0%, 100% { opacity: 0; transform: scale(.4) rotate(0deg); } 45% { opacity: .95; transform: scale(1) rotate(45deg); } 60% { opacity: .6; } }
/* soft breathing glow behind the logo */
#mobilemenu .jd-mm-top a { position: relative; display: inline-block; }
#mobilemenu .jd-mm-top a::before {
  content: ""; position: absolute; left: 50%; top: 50%; width: 190px; height: 110px; transform: translate(-50%, -50%);
  background: radial-gradient(ellipse, rgba(255, 170, 200, .35), transparent 65%); filter: blur(6px); z-index: -1;
  animation: jd-breathe 4.5s ease-in-out infinite;
}
@keyframes jd-breathe { 0%, 100% { opacity: .45; transform: translate(-50%, -50%) scale(.9); } 50% { opacity: 1; transform: translate(-50%, -50%) scale(1.08); } }
/* the little flower divider turns slowly and glows */
#mobilemenu.show .menu.top::after { animation: jd-mm-in .9s cubic-bezier(.16, .8, .24, 1) .56s backwards, jd-bloom 9s linear 1.5s infinite; text-shadow: 0 0 12px rgba(255, 120, 165, .8); display: block; }
@keyframes jd-bloom { from { transform: rotate(0deg); } to { transform: rotate(360deg); } }
/* gentle shine across "Собрать букет" */
#mobilemenu .menu.top > ul > li > a[href*="sobrat"] { position: relative; overflow: hidden; }
#mobilemenu .menu.top > ul > li > a[href*="sobrat"]::after {
  content: ""; position: absolute; top: 0; bottom: 0; left: -60%; width: 40%;
  background: linear-gradient(100deg, transparent, rgba(255, 255, 255, .45), transparent); transform: skewX(-20deg);
  animation: jd-shine 4s ease-in-out 1.2s infinite; display: block !important;
}
@keyframes jd-shine { 0% { left: -60%; } 40%, 100% { left: 130%; } }
@media (prefers-reduced-motion: reduce) {
  #mobilemenu .jd-mm-sky, #mobilemenu .jd-mm-top a::before { display: none; }
  #mobilemenu .menu.top > ul > li > a[href*="sobrat"]::after { animation: none; display: none !important; }
}

/* ===== small romantic touches on the top and bottom bars ===== */
@media (max-width: 991px) {
  /* top bar: a thin pink line of light slowly travels along the bottom edge */
  body.theme-dark #mobileheader { position: relative; }
  body.theme-dark #mobileheader::after {
    content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 1px; pointer-events: none;
    background: linear-gradient(90deg, rgba(255, 143, 174, 0) 0%, rgba(255, 143, 174, .85) 50%, rgba(255, 143, 174, 0) 100%) no-repeat;
    background-size: 40% 100%; animation: jd-hairline 7s ease-in-out infinite;
  }
  /* the orchid in the logo glows softly */
  body.theme-dark #mobileheader .logo img { animation: jd-logo-glow 6s ease-in-out infinite; }
  /* bottom bar: same travelling light on its top edge, the other way */
  body.theme-dark .jd-tab::after {
    content: ""; position: absolute; left: 0; right: 0; top: -1px; height: 1px; pointer-events: none;
    background: linear-gradient(90deg, rgba(255, 143, 174, 0) 0%, rgba(255, 143, 174, .7) 50%, rgba(255, 143, 174, 0) 100%) no-repeat;
    background-size: 40% 100%; animation: jd-hairline 9s ease-in-out infinite reverse;
  }
  /* active tab: the pink mark glows and breathes, a soft halo sits behind the icon */
  body.theme-dark .jd-tab__item.is-on::before { box-shadow: 0 0 10px 1px rgba(232, 71, 122, .8); animation: jd-tab-breathe 3s ease-in-out infinite; }
  body.theme-dark .jd-tab__item.is-on .jd-tab__ico::before {
    content: ""; position: absolute; left: 50%; top: 50%; width: 38px; height: 38px; margin: -19px 0 0 -19px; border-radius: 50%;
    background: radial-gradient(circle, rgba(232, 71, 122, .28), transparent 70%); z-index: -1;
    animation: jd-tab-breathe 3s ease-in-out infinite;
  }
  /* a tap leaves a small pink ripple */
  body.theme-dark .jd-tab__item::after {
    content: ""; position: absolute; left: 50%; top: 50%; width: 46px; height: 46px; margin: -23px 0 0 -23px; border-radius: 50%;
    background: rgba(255, 143, 174, .22); transform: scale(0); opacity: 0; pointer-events: none; transition: transform .45s ease, opacity .6s ease;
  }
  body.theme-dark .jd-tab__item:active::after { transform: scale(1); opacity: 1; transition: none; }
  /* counters pop in like a little heartbeat */
  body.theme-dark .jd-tab__count:not([hidden]) { animation: jd-pop .6s cubic-bezier(.3, 1.8, .5, 1), jd-beat 4s ease-in-out 1s infinite; box-shadow: 0 0 0 2px rgba(29, 14, 21, .9), 0 0 10px rgba(232, 71, 122, .6); }
}
@keyframes jd-hairline { 0% { background-position: -40% 0; } 100% { background-position: 140% 0; } }
@keyframes jd-logo-glow { 0%, 100% { filter: drop-shadow(0 0 0 rgba(255, 150, 185, 0)); } 50% { filter: drop-shadow(0 0 8px rgba(255, 150, 185, .55)); } }
@keyframes jd-tab-breathe { 0%, 100% { opacity: .65; } 50% { opacity: 1; } }
@keyframes jd-pop { from { transform: scale(0); } to { transform: scale(1); } }
@keyframes jd-beat { 0%, 70%, 100% { transform: scale(1); } 76% { transform: scale(1.22); } 82% { transform: scale(1); } 88% { transform: scale(1.14); } }
/* desktop sticky header: the same travelling line */
@media (min-width: 992px) {
  body.theme-dark #headerfixed::after {
    content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 1px; pointer-events: none;
    background: linear-gradient(90deg, rgba(255, 143, 174, 0) 0%, rgba(255, 143, 174, .8) 50%, rgba(255, 143, 174, 0) 100%) no-repeat;
    background-size: 35% 100%; animation: jd-hairline 8s ease-in-out infinite;
  }
}
@media (prefers-reduced-motion: reduce) {
  body.theme-dark #mobileheader::after, body.theme-dark .jd-tab::after, body.theme-dark #headerfixed::after, body.theme-dark #mobileheader .logo img,
  body.theme-dark .jd-tab__item.is-on::before, body.theme-dark .jd-tab__item.is-on .jd-tab__ico::before, body.theme-dark .jd-tab__count:not([hidden]) { animation: none !important; }
}

/* ===== "Собрать букет" in the phone menu: much more noticeable ===== */
#mobilemenu .menu.top > ul > li > a[href*="sobrat"] { overflow: visible !important; }
#mobilemenu .menu.top > ul > li > a[href*="sobrat"]::after { display: none !important; animation: none !important; }
#mobilemenu .menu.top > ul > li > a[href="/sobrat-buket/"] span:first-child {
  position: relative; overflow: hidden; isolation: isolate;
  padding: 9px 26px 10px !important; font-size: 22px !important;
  background: linear-gradient(135deg, #ff7aa5 0%, #e8477a 45%, #b8204f 100%) !important;
  box-shadow: 0 0 0 1px rgba(255, 200, 220, .55), 0 10px 26px rgba(232, 71, 122, .55);
  animation: jd-cta-pulse 2.6s ease-in-out infinite;
}
/* light shine running across the pill */
#mobilemenu .menu.top > ul > li > a[href="/sobrat-buket/"] span:first-child::after {
  content: ""; position: absolute; top: -20%; bottom: -20%; left: -70%; width: 45%; z-index: 1;
  background: linear-gradient(100deg, transparent, rgba(255, 255, 255, .7), transparent); transform: skewX(-20deg);
  animation: jd-cta-shine 3.2s ease-in-out .8s infinite;
}
/* sparkles on both sides of the pill */
#mobilemenu .menu.top > ul > li > a[href="/sobrat-buket/"] span:first-child::before {
  content: "✦"; position: absolute; right: 8px; top: 2px; font-size: 11px; color: #fff; z-index: 2;
  animation: jd-cta-spark 1.8s ease-in-out infinite;
}
#mobilemenu .menu.top > ul > li:has(> a[href="/sobrat-buket/"]) { position: relative; }
#mobilemenu .menu.top > ul > li:has(> a[href="/sobrat-buket/"])::before,
#mobilemenu .menu.top > ul > li:has(> a[href="/sobrat-buket/"])::after {
  content: "✦" !important; display: block !important; position: absolute; top: 50%; color: #ffc3d4; pointer-events: none;
  text-shadow: 0 0 8px rgba(255, 120, 165, .9); animation: jd-cta-spark 2.2s ease-in-out infinite;
}
#mobilemenu .menu.top > ul > li:has(> a[href="/sobrat-buket/"])::before { left: 22%; margin-top: -18px; font-size: 13px; }
#mobilemenu .menu.top > ul > li:has(> a[href="/sobrat-buket/"])::after { right: 22%; margin-top: 4px; font-size: 10px; animation-delay: 1.1s; }
@keyframes jd-cta-pulse {
  0%, 100% { transform: scale(1); box-shadow: 0 0 0 1px rgba(255, 200, 220, .55), 0 10px 26px rgba(232, 71, 122, .5), 0 0 0 0 rgba(232, 71, 122, .45); }
  50% { transform: scale(1.05); box-shadow: 0 0 0 1px rgba(255, 220, 232, .8), 0 14px 34px rgba(232, 71, 122, .7), 0 0 0 10px rgba(232, 71, 122, 0); }
}
@keyframes jd-cta-shine { 0% { left: -70%; } 45%, 100% { left: 140%; } }
@keyframes jd-cta-spark { 0%, 100% { opacity: .2; transform: scale(.6) rotate(0deg); } 50% { opacity: 1; transform: scale(1.15) rotate(90deg); } }
@media (prefers-reduced-motion: reduce) {
  #mobilemenu .menu.top > ul > li > a[href="/sobrat-buket/"] span:first-child,
  #mobilemenu .menu.top > ul > li > a[href="/sobrat-buket/"] span:first-child::after,
  #mobilemenu .menu.top > ul > li > a[href="/sobrat-buket/"] span:first-child::before { animation: none !important; }
}
/* jb232: follow row — Instagram replaced by Telegram and MAX */
.jd-follow__btn--tg:hover, .jd-follow__btn--tg:active { background: #27a7e7; border-color: #27a7e7; box-shadow: 0 12px 26px -12px #27a7e7; color: #fff !important; }
.jd-follow__btn--max:hover, .jd-follow__btn--max:active { background: #6a5cff; border-color: #6a5cff; box-shadow: 0 12px 26px -12px #6a5cff; color: #fff !important; }
body:not(.theme-dark) .jd-follow__btn--tg:hover, body:not(.theme-dark) .jd-follow__btn--max:hover { color: #fff !important; }
