
/* ================================================================
   BLOCK: core
   ================================================================ */

@font-face {
    font-family: 'Inter';
    font-style: normal;
    font-weight: 100 900;
    font-display: swap;
    src: url('font/inter-cyrillic-ext.woff2') format('woff2');
    unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
@font-face {
    font-family: 'Inter';
    font-style: normal;
    font-weight: 100 900;
    font-display: swap;
    src: url('font/inter-cyrillic.woff2') format('woff2');
    unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
@font-face {
    font-family: 'Inter';
    font-style: normal;
    font-weight: 100 900;
    font-display: swap;
    src: url('font/inter-latin.woff2') format('woff2');
    unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(font/manrope-400-cyrillic-ext.woff2) format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(font/manrope-400-cyrillic.woff2) format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(font/manrope-400-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(font/manrope-400-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(font/manrope-500-cyrillic-ext.woff2) format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(font/manrope-500-cyrillic.woff2) format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(font/manrope-500-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(font/manrope-500-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(font/manrope-600-cyrillic-ext.woff2) format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(font/manrope-600-cyrillic.woff2) format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(font/manrope-600-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(font/manrope-600-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(font/manrope-700-cyrillic-ext.woff2) format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(font/manrope-700-cyrillic.woff2) format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(font/manrope-700-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(font/manrope-700-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 800;
  font-display: swap;
  src: url(font/manrope-800-cyrillic-ext.woff2) format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 800;
  font-display: swap;
  src: url(font/manrope-800-cyrillic.woff2) format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 800;
  font-display: swap;
  src: url(font/manrope-800-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 800;
  font-display: swap;
  src: url(font/manrope-800-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Unbounded';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(font/unbounded-400-cyrillic-ext.woff2) format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
@font-face {
  font-family: 'Unbounded';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(font/unbounded-400-cyrillic.woff2) format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
@font-face {
  font-family: 'Unbounded';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(font/unbounded-400-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Unbounded';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(font/unbounded-400-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Unbounded';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(font/unbounded-500-cyrillic-ext.woff2) format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
@font-face {
  font-family: 'Unbounded';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(font/unbounded-500-cyrillic.woff2) format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
@font-face {
  font-family: 'Unbounded';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(font/unbounded-500-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Unbounded';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(font/unbounded-500-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Unbounded';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(font/unbounded-600-cyrillic-ext.woff2) format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
@font-face {
  font-family: 'Unbounded';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(font/unbounded-600-cyrillic.woff2) format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
@font-face {
  font-family: 'Unbounded';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(font/unbounded-600-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Unbounded';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(font/unbounded-600-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Unbounded';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(font/unbounded-700-cyrillic-ext.woff2) format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
@font-face {
  font-family: 'Unbounded';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(font/unbounded-700-cyrillic.woff2) format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
@font-face {
  font-family: 'Unbounded';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(font/unbounded-700-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Unbounded';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(font/unbounded-700-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Unbounded';
  font-style: normal;
  font-weight: 800;
  font-display: swap;
  src: url(font/unbounded-800-cyrillic-ext.woff2) format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
@font-face {
  font-family: 'Unbounded';
  font-style: normal;
  font-weight: 800;
  font-display: swap;
  src: url(font/unbounded-800-cyrillic.woff2) format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
@font-face {
  font-family: 'Unbounded';
  font-style: normal;
  font-weight: 800;
  font-display: swap;
  src: url(font/unbounded-800-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Unbounded';
  font-style: normal;
  font-weight: 800;
  font-display: swap;
  src: url(font/unbounded-800-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
:root {
    --color-primary: #01b07e;
    --color-primary-rgb: 1, 176, 126;
}
body{
    margin:0 0;
    font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
    min-width:300px;
    background-color:rgba(247, 250, 250, 1);
    font-size: 15px;
    line-height: 1.5;
    color: rgba(0, 65, 65, .95);
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    text-rendering: optimizeLegibility;
}
h1, h2, h3, h4, h5, h6 {
    line-height: 1.25;
    letter-spacing: -0.015em;
}
h1 { font-size: 28px; font-weight: 700; margin: 0; }
h2 { font-size: 24px; font-weight: 600; margin: 0; }
h3 { font-size: 18px; font-weight: 600; margin: 0; }
h4 { font-size: 16px; font-weight: 600; margin: 0; }
h5 { font-size: 14px; font-weight: 600; margin: 0; }
h6 { font-size: 12px; font-weight: 600; margin: 0; }
p {
    line-height: 1.55;
    margin: 0;
}
a{
    text-decoration:none;
}
input, button, select, textarea {
    font-family: inherit;
    font-size: inherit;
    line-height: inherit;
}
.visually_hidden {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}
:focus-visible {
    outline: 2px solid #01b07e;
    outline-offset: 2px;
}
:focus:not(:focus-visible) {
    outline: none;
}
@media screen and (max-width: 767px) {
    body { font-size: 14px; }
    h1 { font-size: 24px; }
    h2 { font-size: 22px; }
    h3 { font-size: 17px; }
}
@media screen and (max-width: 450px) {
    h1 { font-size: 22px; }
    h2 { font-size: 20px; }
    h3 { font-size: 16px; }
}
@media screen and (max-width: 350px) {
    body { font-size: 13px; }
    h1 { font-size: 20px; }
    h2 { font-size: 18px; }
    h3 { font-size: 15px; }
}
header, footer, main{
    width: 100%;
    min-width:300px;
}
.container{
    position:relative;
    width:100%;
    min-width:300px;
}
.container .wrapper{
    width: 100%;
    margin:0 auto;
    max-width:1400px;
}
.page_wrapper{
    position: relative;
    width: 100%;
}
.page_title {
    position: relative;
    margin: 10px 0 0;
}
.page_title .normal {
    font-size: 26px;
    margin:0 10px;
    color: rgba(0, 65, 65, .95);
    font-weight: 400;
}
.page_title .big {
    font-size: 26px;
    margin:0 10px;
    color: rgba(0, 65, 65, .95);
    font-weight: 600;
}
.page_title h1 {
    font-family: "Unbounded", ui-sans-serif, system-ui, sans-serif;
    font-size: 1.4rem;
    line-height: 1;
    margin: 0 10px;
    padding: 0;
    color: rgba(0, 65, 65, .95);
    font-weight: 600;
}
.page_title h2 {
    font-size: 24px;
    margin:0 10px;
    color: rgba(0, 65, 65, .95);
    font-weight: 600;
}
@media screen and (max-width: 450px) {
    .page_title .normal {font-size: 24px;}
    .page_title .big {font-size: 24px;}
    .page_title h2 {font-size: 24px;}
}
@media (max-width: 420px) {
    .page_title h1 { font-size: 1.375rem; line-height: 1.15; }
}
@media screen and (max-width: 350px) {
    .page_title .normal {font-size: 22px;}
    .page_title .big {font-size: 22px;}
    .page_title h1 {font-size: 1.255rem;}
    .page_title h2 {font-size: 22px;}
}
.bp_pill {
    display: inline-block;
    padding: 2px 8px;
    border-radius: 6px;
    font-size: 12px;
    font-weight: 600;
    line-height: 1.45;
    white-space: nowrap;
    vertical-align: middle;
}
.bp_pill--rx       { color: #fff; font-weight: 500; background: linear-gradient(135deg, #e2575c, #fc7f51); }
.bp_pill--otc      { background: rgba(0,0,0,.05); color: rgba(0,0,0,.4); font-weight: 500; }
.bp_pill--sale     { background: #dcfce7; color: #16a34a; }
.bp_pill--markdown { background: #fff7ed; color: #ea580c; }
.bp_pill--md-reason { background: #fef3c7; color: #92400e; border: 1px solid #fcd34d; }
.pis_heart {
    position: absolute;
    right: 8px;
    width: 30px;
    height: 30px;
    background: #fff;
    border: 1px solid rgba(0, 0, 0, .15);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    color: rgba(0, 0, 0, .35);
    transition: border-color .15s, background .15s, transform .12s;
    z-index: 2;
    padding: 0;
}
.pis_heart:hover { border-color: rgba(0, 0, 0, .3); }
.pis_heart_active { border-color: rgba(226, 87, 92, .5); }
.pis_heart_active:hover { border-color: rgba(226, 87, 92, .7); }
.pis_heart:active { transform: scale(.92); }
.ps_meta .pis_heart {
    position: relative;
    right: auto;
    margin-left: auto;
    box-sizing: border-box;
    transform-origin: center center;
}
.ps_meta .pis_heart:active { transform: none; }

/* ================================================================
   BLOCK: header_static
   ================================================================ */

header .container {
    position: relative;
    z-index: 101;
    padding-top: env(safe-area-inset-top, 0px);
}
header .fon_header_bot {
    position: absolute;
    width: 100%;
    height: 100%;
    z-index: -1;
    top: 0;
    left: 0;
    min-width: 280px;
    box-shadow: 0 4px 20px rgba(0, 40, 30, .05);
}
header .fon_header_bot .fon {
    position: absolute;
    width: 100%;
    height: 100%;
    background: rgb(246, 250, 246);  
    overflow: hidden;
}
header .fon_header_bot .fon::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    height: 2px;
    background: linear-gradient(90deg, transparent 0%, #01b07e 30%, #00d4aa 50%, #01b07e 70%, transparent 100%);
}
header .global {
    width: calc(100% - 20px);
    margin-left: 10px;
}
header .header_top {
    position: relative;
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: space-between;
    height: 30px;
    border-bottom: 1px solid rgba(0, 65, 63, .06);
}
header .header_top .city {
    flex: 0 0 auto;
    min-width: 0;
    height: 22px;
    display: inline-flex;
    align-items: center;
    cursor: pointer;
    border: none;
    background: none;
    padding: 0;
    text-align: left;
    line-height: 1;
}
header .header_top .city[disabled] { cursor: default; }
header .header_top .city .city_pill {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    height: 22px;
    padding: 0 7px;
    border-radius: 999px;
    background: linear-gradient(135deg, #01b07e 0%, #00d4aa 100%);
    color: #fff;
    font-size: 12px;
    font-weight: 400;
    letter-spacing: .2px;
    white-space: nowrap;
    box-shadow: 0 2px 8px rgba(1, 176, 126, .28);
    transition: box-shadow .15s, transform .15s, filter .15s;
    max-width: 100%;
}
header .header_top .city:not([disabled]):hover .city_pill {
    box-shadow: 0 3px 12px rgba(1, 176, 126, .4);
    filter: brightness(1.05);
}
header .header_top .city:not([disabled]):active .city_pill {
    transform: translateY(1px);
    filter: brightness(.95);
}
header .header_top .city .city_pill_ico {
    width: 12px;
    height: 12px;
    flex-shrink: 0;
    filter: brightness(0) invert(1);
}
header .header_top .city .city_pill_text {
    overflow: hidden;
    text-overflow: ellipsis;
    min-width: 0;
}
header .header_top .city_hint {
    position: absolute;
    left: 0;
    top: 100%;
    z-index: 200;
    display: inline-flex;
    flex-direction: column;
    align-items: center;
    gap: 6px;
    background: #e8f7f2;
    border-radius: 8px;
    max-height: 0;
    overflow: hidden;
    opacity: 0;
    transition: max-height .45s cubic-bezier(.4, 0, .2, 1), opacity .35s ease, padding .45s ease;
    padding: 0 14px;
    width: auto;
}
header .header_top .city_hint.city_hint_visible {
    max-height: 80px;
    opacity: 1;
    padding: 10px 40px 16px;
    margin-top: 3px;
}
header .header_top .city_hint .city_hint_text {
    font-size: 13px;
    font-weight: 500;
    color: rgba(0, 65, 63, .65);
    text-align: center;
}
header .header_top .city_hint .city_hint_btns {
    display: flex;
    gap: 6px;
}
header .header_top .city_hint .city_hint_yes,
header .header_top .city_hint .city_hint_change {
    border: none;
    border-radius: 6px;
    padding: 4px 16px;
    font-size: 12px;
    font-weight: 600;
    cursor: pointer;
    transition: background .15s, transform .1s;
    line-height: 1.4;
}
header .header_top .city_hint .city_hint_yes:active,
header .header_top .city_hint .city_hint_change:active {
    transform: scale(.96);
}
header .header_top .city_hint .city_hint_yes {
    background: #01b07e;
    color: #fff;
}
header .header_top .city_hint .city_hint_yes:hover {
    background: #019a6e;
}
header .header_top .city_hint .city_hint_change {
    background: rgba(0, 65, 63, .08);
    color: #00413f;
}
header .header_top .city_hint .city_hint_change:hover {
    background: rgba(0, 65, 63, .14);
}
header .header_top .time {
    flex: 0 0 auto;
    height: 22px;
    margin-left: 10px;
    display: inline-flex;
    align-items: center;
    cursor: default;
    line-height: 1;
}
header .header_top .time .time_pill {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    height: 22px;
    padding: 0 7px;
    border-radius: 999px;
    background: linear-gradient(
        90deg,
        #ff6a3d 0%,
        #ff3d68 25%,
        #ff8a3d 50%,
        #ff3d68 75%,
        #ff6a3d 100%
    );
    background-size: 250% 100%;
    color: #fff;
    font-size: 12px;
    font-weight: 400;
    letter-spacing: .2px;
    white-space: nowrap;
    box-shadow: 0 2px 8px rgba(255, 90, 54, .3);
    animation: time_pill_shimmer 4s linear infinite;
}
@keyframes time_pill_shimmer {
    0%   { background-position: 0% 50%; }
    100% { background-position: 250% 50%; }
}
header .header_top .time .time_pill_dot {
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: #fff;
    box-shadow: 0 0 0 3px rgba(255, 255, 255, .35);
    animation: time_pill_pulse 1.6s ease-in-out infinite;
}
@keyframes time_pill_pulse {
    0%, 100% { opacity: 1; transform: scale(1); }
    50%      { opacity: .55; transform: scale(.8); }
}
header .header_top .impaired {
    flex-shrink: 0;
    cursor: pointer;
    display: none;
}
header .header_top .impaired .impaired_wrapper {
    position: relative;
    cursor: pointer;
}
header .header_top .impaired p {
    display: flex;
    align-items: center;
    gap: 6px;
    margin: 0;
    padding: 0 10px;
    font-size: 12px;
    color: rgba(0, 65, 63, .6);
    height: 30px;
}
header .header_top .impaired:hover p {
    color: rgba(0, 65, 63, .95);
}
header .header_top .impaired:active p {
    color: rgba(0, 65, 63, .3);
}
header .header_top .impaired img {
    width: 15px;
    height: 15px;
    flex-shrink: 0;
    opacity: .5;
}
header .header_top .impaired:hover img {
    opacity: 1;
}
header .header_top .impaired:active img {
    opacity: .3;
}
header .header_bot {
    position: relative;
    width: 100%;
    box-sizing: border-box;
    display: flex;
    align-items: center;
    gap: 0;
    row-gap: 10px;
    padding: 10px 0;
}
header .header_bot .logo {
    display: flex;
    align-items: center;
    gap: 10px;
    text-decoration: none;
    flex-shrink: 0;
}
header .header_bot .logo .logo_icon {
    width: 38px;
    height: 38px;
    flex-shrink: 0;
    object-fit: contain;
}
header .header_bot .logo .logo_text {
    display: flex;
    flex-direction: column;
    gap: 3px;
    white-space: nowrap;
    line-height: 1.1;
}
header .header_bot .logo .logo_brand {
    display: inline-flex;
    align-items: baseline;
    gap: 6px;
    font-family: "Unbounded", ui-sans-serif, system-ui, sans-serif;
    font-weight: 700;
    font-size: 17px;
    letter-spacing: -0.015em;
    line-height: 1.1;
}
header .header_bot .logo .logo_brand_first  { color: rgba(0, 65, 65, .95); }
header .header_bot .logo .logo_brand_second { color: #0E8A5F; }
header .header_bot .logo .logo_sub {
    font-size: 11px;
    color: rgba(0, 65, 65, .55);
    line-height: 1.3;
}
header .header_bot .button_catalog {
    height: 44px;
    padding: 0 22px 0 16px;
    border-radius: 14px;
    border: none;
    background: linear-gradient(135deg, rgba(1, 186, 150, 1) 0%, rgba(1, 156, 116, 1) 100%);
    box-shadow: 0 2px 8px rgba(1, 176, 126, .35), inset 0 1px 0 rgba(255, 255, 255, .15);
    cursor: pointer;
    flex-shrink: 0;
    display: flex;
    align-items: center;
    gap: 10px;
    margin-left: 20px;
    transition: transform .2s ease, box-shadow .2s ease, background .2s ease;
}
header .header_bot .button_catalog:hover {
    background: linear-gradient(135deg, rgba(1, 196, 160, 1) 0%, rgba(1, 166, 126, 1) 100%);
    box-shadow: 0 4px 16px rgba(1, 176, 126, .45), inset 0 1px 0 rgba(255, 255, 255, .2);
    transform: scale(1.04);
}
header .header_bot .button_catalog:active {
    background: linear-gradient(135deg, rgba(1, 166, 130, 1) 0%, rgba(1, 136, 100, 1) 100%);
    box-shadow: 0 1px 4px rgba(1, 176, 126, .25);
    transform: scale(.97);
}
header .header_bot .button_catalog .catalog_text {
    font-size: 15px;
    font-weight: 600;
    color: #fff;
    letter-spacing: .3px;
    line-height: 1;
    white-space: nowrap;
}
header .header_bot .button_catalog .catalog_icon {
    position: relative;
    width: 18px;
    height: 14px;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}
header .header_bot .button_catalog .catalog_icon .bar {
    display: block;
    height: 2px;
    background-color: #fff;
    border-radius: 2px;
    transition: width .3s ease, transform .35s cubic-bezier(.4, 0, .2, 1), opacity .25s ease;
    transform-origin: center center;
}
header .header_bot .button_catalog .catalog_icon .bar1 {
    width: 100%;
}
header .header_bot .button_catalog .catalog_icon .bar2 {
    width: 70%;
}
header .header_bot .button_catalog .catalog_icon .bar3 {
    width: 85%;
}
header .header_bot .button_catalog:hover .bar2 {
    width: 100%;
}
header .header_bot .button_catalog:hover .bar3 {
    width: 100%;
}
header .header_bot .button_catalog.active {
    padding: 0 16px;
    background: linear-gradient(135deg, rgba(1, 156, 126, 1) 0%, rgba(1, 130, 100, 1) 100%);
    box-shadow: 0 1px 4px rgba(1, 150, 120, .3), inset 0 2px 4px rgba(0, 0, 0, .1);
}
header .header_bot .button_catalog.active:hover {
    background: linear-gradient(135deg, rgba(1, 166, 136, 1) 0%, rgba(1, 140, 110, 1) 100%);
    box-shadow: 0 2px 8px rgba(1, 150, 120, .35), inset 0 2px 4px rgba(0, 0, 0, .08);
    transform: scale(1.04);
}
header .header_bot .button_catalog.active:active {
    background: linear-gradient(135deg, rgba(1, 140, 110, 1) 0%, rgba(1, 116, 90, 1) 100%);
    box-shadow: 0 0 2px rgba(1, 150, 120, .2), inset 0 2px 6px rgba(0, 0, 0, .15);
    transform: scale(.97);
}
header .header_bot .button_catalog.active .catalog_text {
    display: none;
}
header .header_bot .button_catalog.active .bar1 {
    width: 18px;
    transform: translate(0, 6px) rotate(45deg);
}
header .header_bot .button_catalog.active .bar2 {
    width: 18px;
    opacity: 0;
    transform: scaleX(0);
}
header .header_bot .button_catalog.active .bar3 {
    width: 18px;
    transform: translate(0, -6px) rotate(-45deg);
}
header .header_bot .button_center_right {
    display: flex;
    align-items: center;
    flex-shrink: 0;
    margin-left: 20px;
}
header .header_bot .button_center_right .block {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    min-width: 44px;
    height: 44px;
    padding: 0 6px;
    border: none;
    background: none;
}
header .header_bot .button_center_right .block img {
    width: 22px;
    height: 22px;
    opacity: 1;
}
header .header_bot .button_center_right .block .text {
    margin-top: 5px;
}
header .header_bot .button_center_right .block .text p {
    font-size: 11px;
    padding: 0;
    color: rgba(8, 112, 109, .8);
    margin: 0;
    line-height: 1;
}
header .header_bot .button_center_right .block .count {
    position: absolute;
    background: linear-gradient(0deg, rgba(226, 87, 92, 1) 13%, rgba(252, 127, 81, 1) 100%);
    border: 2px solid rgba(247, 253, 252, 1);
    top: -6px;
    right: 2px;
    border-radius: 100%;
    display: none;
}
header .header_bot .button_center_right .block .count_rotate {
    animation: rotate-basket-count 1s infinite normal;
}
@keyframes rotate-basket-count {
    0% { transform: rotateY(0deg) }
    100% { transform: rotateY(360deg) }
}
header .header_bot .button_center_right .block .count p {
    width: 19px;
    height: 19px;
    padding: 0;
    margin: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    color: rgba(255, 255, 255, 1);
    font-size: 8px;
    line-height: 1;
}
header .header_bot .button_center_right .block:hover .text p {
    color: rgba(8, 112, 109, .6);
}
header .header_bot .button_center_right .block:active .text p {
    color: rgba(8, 112, 109, .3);
}
header .header_bot .button_center_right .block:hover img {
    opacity: .7;
}
header .header_bot .button_center_right .block:active img {
    opacity: .3;
}
header .search_form {
    position: relative;
    flex: 1;
    min-width: 0;
    z-index: 101;
    margin-left: 16px;
}
header .search_form .search_form_wrapper {
    position: relative;
    height: 44px;
    display: flex;
    align-items: center;
    background-color: rgba(255, 255, 255, 1);
    border-radius: 14px;
    border: 2px solid rgba(1, 176, 126, .4);
    box-sizing: border-box;
    width: 100%;
    box-shadow: 0 1px 4px rgba(1, 176, 126, .08);
    transition: border-color .25s ease, box-shadow .25s ease, transform .2s ease;
}
header .search_form .search_form_wrapper:hover {
    border-color: rgba(1, 176, 126, .7);
    box-shadow: 0 2px 12px rgba(1, 176, 126, .18);
}
header .search_form .search_form_wrapper:focus-within {
    border-color: rgba(1, 176, 126, .9);
    box-shadow: 0 3px 16px rgba(1, 176, 126, .25), 0 0 0 3px rgba(1, 176, 126, .08);
}
header .search_form .search_form_wrapper input {
    flex: 1;
    min-width: 0;
    margin-left: 20px;
    border: none;
    outline: none;
    font-size: 16px;
    color: rgba(0, 0, 0, .9);
    background-color: transparent;
}
header .search_form .search_form_wrapper input[type="search"]::-webkit-search-cancel-button,
header .search_form .search_form_wrapper input[type="search"]::-webkit-search-decoration {
    -webkit-appearance: none;
    appearance: none;
    display: none;
}
header .search_form .search_form_wrapper input::placeholder {
    color: rgba(0, 60, 60, .35);
    transition: color .2s ease;
}
header .search_form .search_form_wrapper:focus-within input::placeholder {
    color: rgba(0, 60, 60, .2);
}
header .search_form .search_form_wrapper .button_close {
    width: 20px;
    height: 20px;
    flex-shrink: 0;
    margin: 0 60px 0 12px;
    cursor: pointer;
    display: none;
    border: none;
    background: none;
    padding: 0;
    transition: transform .2s ease, opacity .2s ease;
}
header .search_form .search_form_wrapper .button_close img {
    width: 100%;
    height: 100%;
    opacity: .7;
    transition: opacity .2s ease;
}
header .search_form .search_form_wrapper .button_close:hover img {
    opacity: 1;
}
header .search_form .search_form_wrapper .button_close:hover {
    transform: scale(1.1);
}
header .search_form .search_form_wrapper .button_close:active {
    transform: scale(.9);
}
header .search_form .search_form_wrapper .button_close:active img {
    opacity: .3;
}
header .search_form .search_form_wrapper .button_search {
    position: absolute;
    right: 4px;
    top: 50%;
    transform: translateY(-50%);
    background: linear-gradient(135deg, rgba(1, 186, 150, 1) 0%, rgba(1, 156, 116, 1) 100%);
    box-shadow: 0 2px 6px rgba(1, 176, 126, .3);
    width: 50px;
    height: 34px;
    border-radius: 11px;
    border: none;
    padding: 0;
    cursor: pointer;
    flex-shrink: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: transform .2s ease, box-shadow .2s ease, background .2s ease;
}
header .search_form .search_form_wrapper .button_search img {
    width: 16px;
    height: 16px;
    transition: transform .2s ease;
}
header .search_form .search_form_wrapper .button_search:hover {
    background: linear-gradient(135deg, rgba(1, 196, 160, 1) 0%, rgba(1, 166, 126, 1) 100%);
    box-shadow: 0 3px 10px rgba(1, 176, 126, .4);
    transform: translateY(-50%) scale(1.06);
}
header .search_form .search_form_wrapper .button_search:active {
    background: linear-gradient(135deg, rgba(1, 156, 126, 1) 0%, rgba(1, 130, 100, 1) 100%);
    box-shadow: 0 1px 3px rgba(1, 176, 126, .2);
    transform: translateY(-50%) scale(.95);
}
header .search_form .search_form_wrapper .button_search:active img {
    transform: scale(.9);
}
header .search_form .search_form_wrapper.search_shake {
    animation: search-shake .4s ease;
    border-color: rgba(226, 87, 92, .5);
}
@keyframes search-shake {
    0%, 100% { transform: translateX(0); }
    20% { transform: translateX(-6px); }
    40% { transform: translateX(6px); }
    60% { transform: translateX(-4px); }
    80% { transform: translateX(4px); }
}
@media screen and (max-width: 900px) {
    
    header .header_bot {
        flex-wrap: wrap;
    }
    
    header .header_bot .button_catalog {
        margin-left: 16px;
    }
    
    header .header_bot .button_center_right {
        margin-left: auto;
    }
    
    header .search_form {
        order: 5;
        flex: 0 0 100%;
        margin-left: 0;
    }
    
    header .search_form .search_promo {
        width: 230px;
    }
}
@media screen and (max-width: 640px) {
    
    header .header_bot {
        padding: 8px 0;
    }
    
    header .header_bot .button_catalog {
        margin-left: auto;
    }
    
    header .header_bot .button_center_right {
        display: none;
    }
    
    header .search_form .search_help_body {
        flex-direction: column;
    }
    header .search_form .search_help_body .search_suggestions {
        border-right: none;
        border-bottom: 1px solid rgba(0, 0, 0, .06);
    }
    header .search_form .search_promo {
        width: 100%;
    }
    header .search_form .search_promo_items {
        flex-direction: row;
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
        gap: 0;
        padding-bottom: 4px;
    }
    header .search_form .search_promo_card {
        flex-direction: column;
        align-items: center;
        text-align: center;
        min-width: 120px;
        flex-shrink: 0;
        padding: 8px 10px;
        gap: 8px;
    }
    header .search_form .search_promo_info {
        text-align: center;
    }
    header .search_form .search_promo_prices {
        justify-content: center;
    }
}
@media screen and (max-width: 440px) {
    
    header .header_bot {
        padding: 6px 0;
    }
    
    header .header_bot .button_catalog {
        padding: 0 14px;
    }
    header .header_bot .button_catalog .catalog_text {
        font-size: 13px;
    }
}
@media screen and (max-width: 410px) {
    
    header .header_bot .button_catalog {
        padding: 0 14px;
    }
    header .header_bot .button_catalog .catalog_text {
        display: none;
    }
}
@media screen and (max-width: 380px) {
    
    header .header_top .city .city_pill_count {
        display: none;
    }
}
@media screen and (max-width: 340px) {
    header .header_bot .logo .logo_brand { font-size: 14px; }
    header .header_bot .logo .logo_sub   { font-size: 9px; }
}

/* ================================================================
   BLOCK: header_fixed
   ================================================================ */

.header_fixed {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    z-index: 1000;
    pointer-events: none;
    transform: translateY(-100%);
    transition: transform .35s ease;
}
.header_fixed.hf_visible {
    pointer-events: auto;
    transform: translateY(0);
}
.header_fixed .hf_container {
    position: relative;
    max-width: 1400px;
    margin: 0 auto;
    padding-top: env(safe-area-inset-top, 0px);
}
.header_fixed .hf_fon {
    position: absolute;
    width: 100%;
    height: 100%;
    z-index: -1;
    top: 0;
    left: 0;
}
.header_fixed .hf_fon .hf_fon_inner {
    position: absolute;
    width: 100%;
    height: 100%;
    background: rgb(246, 250, 246);  
    overflow: hidden;
    box-shadow: 0 4px 20px rgba(0, 40, 30, .05);
}
.header_fixed .hf_fon .hf_fon_inner::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    height: 2px;
    background: linear-gradient(90deg, transparent 0%, #01b07e 30%, #00d4aa 50%, #01b07e 70%, transparent 100%);
}
.header_fixed .hf_body {
    width: calc(100% - 20px);
    margin-left: 10px;
}
.header_fixed .header_bot {
    position: relative;
    width: 100%;
    box-sizing: border-box;
    display: flex;
    align-items: center;
    gap: 0;
    row-gap: 10px;
    padding: 10px 0;
}
.header_fixed .header_bot .logo {
    display: flex;
    align-items: center;
    gap: 10px;
    text-decoration: none;
    flex-shrink: 0;
}
.header_fixed .header_bot .logo .logo_icon {
    width: 38px;
    height: 38px;
    flex-shrink: 0;
    object-fit: contain;
}
.header_fixed .header_bot .logo .logo_text {
    display: flex;
    flex-direction: column;
    gap: 3px;
    white-space: nowrap;
    line-height: 1.1;
}
.header_fixed .header_bot .logo .logo_brand {
    display: inline-flex;
    align-items: baseline;
    gap: 6px;
    font-family: "Unbounded", ui-sans-serif, system-ui, sans-serif;
    font-weight: 700;
    font-size: 17px;
    letter-spacing: -0.015em;
    line-height: 1.1;
}
.header_fixed .header_bot .logo .logo_brand_first  { color: rgba(0, 65, 65, .95); }
.header_fixed .header_bot .logo .logo_brand_second { color: #0E8A5F; }
.header_fixed .header_bot .logo .logo_sub {
    font-size: 11px;
    color: rgba(0, 65, 65, .55);
    line-height: 1.3;
}
.header_fixed .header_bot .button_catalog {
    height: 44px;
    padding: 0 22px 0 16px;
    border-radius: 14px;
    border: none;
    background: linear-gradient(135deg, rgba(1, 186, 150, 1) 0%, rgba(1, 156, 116, 1) 100%);
    box-shadow: 0 2px 8px rgba(1, 176, 126, .35), inset 0 1px 0 rgba(255, 255, 255, .15);
    cursor: pointer;
    flex-shrink: 0;
    display: flex;
    align-items: center;
    gap: 10px;
    margin-left: 20px;
    transition: transform .2s ease, box-shadow .2s ease, background .2s ease;
}
.header_fixed .header_bot .button_catalog:hover {
    background: linear-gradient(135deg, rgba(1, 196, 160, 1) 0%, rgba(1, 166, 126, 1) 100%);
    box-shadow: 0 4px 16px rgba(1, 176, 126, .45), inset 0 1px 0 rgba(255, 255, 255, .2);
    transform: scale(1.04);
}
.header_fixed .header_bot .button_catalog:active {
    background: linear-gradient(135deg, rgba(1, 166, 130, 1) 0%, rgba(1, 136, 100, 1) 100%);
    box-shadow: 0 1px 4px rgba(1, 176, 126, .25);
    transform: scale(.97);
}
.header_fixed .header_bot .button_catalog .catalog_text {
    font-size: 15px;
    font-weight: 600;
    color: #fff;
    letter-spacing: .3px;
    line-height: 1;
    white-space: nowrap;
}
.header_fixed .header_bot .button_catalog .catalog_icon {
    position: relative;
    width: 18px;
    height: 14px;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}
.header_fixed .header_bot .button_catalog .catalog_icon .bar {
    display: block;
    height: 2px;
    background-color: #fff;
    border-radius: 2px;
    transition: width .3s ease, transform .35s cubic-bezier(.4, 0, .2, 1), opacity .25s ease;
    transform-origin: center center;
}
.header_fixed .header_bot .button_catalog .catalog_icon .bar1 { width: 100%; }
.header_fixed .header_bot .button_catalog .catalog_icon .bar2 { width: 70%; }
.header_fixed .header_bot .button_catalog .catalog_icon .bar3 { width: 85%; }
.header_fixed .header_bot .button_catalog:hover .bar2 { width: 100%; }
.header_fixed .header_bot .button_catalog:hover .bar3 { width: 100%; }
.header_fixed .header_bot .button_catalog.active {
    padding: 0 16px;
    background: linear-gradient(135deg, rgba(1, 156, 126, 1) 0%, rgba(1, 130, 100, 1) 100%);
    box-shadow: 0 1px 4px rgba(1, 150, 120, .3), inset 0 2px 4px rgba(0, 0, 0, .1);
}
.header_fixed .header_bot .button_catalog.active:hover {
    background: linear-gradient(135deg, rgba(1, 166, 136, 1) 0%, rgba(1, 140, 110, 1) 100%);
    box-shadow: 0 2px 8px rgba(1, 150, 120, .35), inset 0 2px 4px rgba(0, 0, 0, .08);
    transform: scale(1.04);
}
.header_fixed .header_bot .button_catalog.active:active {
    background: linear-gradient(135deg, rgba(1, 140, 110, 1) 0%, rgba(1, 116, 90, 1) 100%);
    box-shadow: 0 0 2px rgba(1, 150, 120, .2), inset 0 2px 6px rgba(0, 0, 0, .15);
    transform: scale(.97);
}
.header_fixed .header_bot .button_catalog.active .catalog_text { display: none; }
.header_fixed .header_bot .button_catalog.active .bar1 {
    width: 18px;
    transform: translate(0, 6px) rotate(45deg);
}
.header_fixed .header_bot .button_catalog.active .bar2 {
    width: 18px;
    opacity: 0;
    transform: scaleX(0);
}
.header_fixed .header_bot .button_catalog.active .bar3 {
    width: 18px;
    transform: translate(0, -6px) rotate(-45deg);
}
.header_fixed .header_bot .button_center_right {
    display: flex;
    align-items: center;
    flex-shrink: 0;
    margin-left: 20px;
}
.header_fixed .header_bot .button_center_right .block {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    min-width: 44px;
    height: 44px;
    padding: 0 6px;
    border: none;
    background: none;
}
.header_fixed .header_bot .button_center_right .block img {
    width: 22px;
    height: 22px;
    opacity: 1;
}
.header_fixed .header_bot .button_center_right .block .text { margin-top: 5px; }
.header_fixed .header_bot .button_center_right .block .text p {
    font-size: 11px;
    padding: 0;
    color: rgba(8, 112, 109, .8);
    margin: 0;
    line-height: 1;
}
.header_fixed .header_bot .button_center_right .block .count {
    position: absolute;
    background: linear-gradient(0deg, rgba(226, 87, 92, 1) 13%, rgba(252, 127, 81, 1) 100%);
    border: 2px solid rgba(247, 253, 252, 1);
    top: -6px;
    right: 2px;
    border-radius: 100%;
    display: none;
}
.header_fixed .header_bot .button_center_right .block .count p {
    width: 19px;
    height: 19px;
    padding: 0;
    margin: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    color: rgba(255, 255, 255, 1);
    font-size: 8px;
    line-height: 1;
}
.header_fixed .header_bot .button_center_right .block:hover .text p { color: rgba(8, 112, 109, .6); }
.header_fixed .header_bot .button_center_right .block:active .text p { color: rgba(8, 112, 109, .3); }
.header_fixed .header_bot .button_center_right .block:hover img { opacity: .7; }
.header_fixed .header_bot .button_center_right .block:active img { opacity: .3; }
.header_fixed .search_form {
    position: relative;
    flex: 1;
    min-width: 0;
    z-index: 101;
    margin-left: 16px;
}
.header_fixed .search_form .search_form_wrapper {
    position: relative;
    height: 44px;
    display: flex;
    align-items: center;
    background-color: rgba(255, 255, 255, 1);
    border-radius: 14px;
    border: 2px solid rgba(1, 176, 126, .4);
    box-sizing: border-box;
    width: 100%;
    box-shadow: 0 1px 4px rgba(1, 176, 126, .08);
    transition: border-color .25s ease, box-shadow .25s ease, transform .2s ease;
}
.header_fixed .search_form .search_form_wrapper:hover {
    border-color: rgba(1, 176, 126, .7);
    box-shadow: 0 2px 12px rgba(1, 176, 126, .18);
}
.header_fixed .search_form .search_form_wrapper:focus-within {
    border-color: rgba(1, 176, 126, .9);
    box-shadow: 0 3px 16px rgba(1, 176, 126, .25), 0 0 0 3px rgba(1, 176, 126, .08);
}
.header_fixed .search_form .search_form_wrapper input {
    flex: 1;
    min-width: 0;
    margin-left: 20px;
    border: none;
    outline: none;
    font-size: 16px;
    color: rgba(0, 0, 0, .9);
    background-color: transparent;
}
.header_fixed .search_form .search_form_wrapper input::placeholder {
    color: rgba(0, 60, 60, .35);
    transition: color .2s ease;
}
.header_fixed .search_form .search_form_wrapper:focus-within input::placeholder {
    color: rgba(0, 60, 60, .2);
}
.header_fixed .search_form .search_form_wrapper input[type="search"]::-webkit-search-cancel-button,
.header_fixed .search_form .search_form_wrapper input[type="search"]::-webkit-search-decoration {
    -webkit-appearance: none;
    appearance: none;
    display: none;
}
.header_fixed .search_form .search_form_wrapper .button_close {
    width: 20px;
    height: 20px;
    flex-shrink: 0;
    margin: 0 60px 0 12px;
    cursor: pointer;
    display: none;
    border: none;
    background: none;
    padding: 0;
    transition: transform .2s ease, opacity .2s ease;
}
.header_fixed .search_form .search_form_wrapper .button_close img {
    width: 100%;
    height: 100%;
    opacity: .5;
    transition: opacity .2s ease;
}
.header_fixed .search_form .search_form_wrapper .button_close:hover img { opacity: .8; }
.header_fixed .search_form .search_form_wrapper .button_close:hover { transform: scale(1.1); }
.header_fixed .search_form .search_form_wrapper .button_close:active { transform: scale(.9); }
.header_fixed .search_form .search_form_wrapper .button_close:active img { opacity: .3; }
.header_fixed .search_form .search_form_wrapper .button_search {
    position: absolute;
    right: 4px;
    top: 50%;
    transform: translateY(-50%);
    background: linear-gradient(135deg, rgba(1, 186, 150, 1) 0%, rgba(1, 156, 116, 1) 100%);
    box-shadow: 0 2px 6px rgba(1, 176, 126, .3);
    width: 50px;
    height: 34px;
    border-radius: 11px;
    border: none;
    padding: 0;
    cursor: pointer;
    flex-shrink: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: transform .2s ease, box-shadow .2s ease, background .2s ease;
}
.header_fixed .search_form .search_form_wrapper .button_search img {
    width: 16px;
    height: 16px;
    transition: transform .2s ease;
}
.header_fixed .search_form .search_form_wrapper .button_search:hover {
    background: linear-gradient(135deg, rgba(1, 196, 160, 1) 0%, rgba(1, 166, 126, 1) 100%);
    box-shadow: 0 3px 10px rgba(1, 176, 126, .4);
    transform: translateY(-50%) scale(1.06);
}
.header_fixed .search_form .search_form_wrapper .button_search:active {
    background: linear-gradient(135deg, rgba(1, 156, 126, 1) 0%, rgba(1, 130, 100, 1) 100%);
    box-shadow: 0 1px 3px rgba(1, 176, 126, .2);
    transform: translateY(-50%) scale(.95);
}
.header_fixed .search_form .search_form_wrapper .button_search:active img {
    transform: scale(.9);
}
.header_fixed .search_form .search_form_wrapper.search_shake {
    animation: search-shake .4s ease;
    border-color: rgba(226, 87, 92, .5);
}
.header_fixed.catm_header_active .hf_fon .hf_fon_inner::after {
    opacity: 0;
}
@media screen and (max-width: 900px) {
    .header_fixed .header_bot {
        flex-wrap: wrap;
    }
    .header_fixed .header_bot .button_catalog {
        margin-left: 16px;
    }
    .header_fixed .header_bot .button_center_right {
        margin-left: auto;
    }
    .header_fixed .search_form {
        order: 5;
        flex: 0 0 100%;
        margin-left: 0;
    }
}
@media screen and (max-width: 640px) {
    .header_fixed .header_bot {
        padding: 8px 0;
    }
    .header_fixed .header_bot .button_catalog {
        margin-left: auto;
    }
    .header_fixed .header_bot .button_center_right {
        display: none;
    }
}
@media screen and (max-width: 440px) {
    .header_fixed .header_bot {
        padding: 6px 0;
    }
    .header_fixed .header_bot .button_catalog {
        padding: 0 14px;
    }
    .header_fixed .header_bot .button_catalog .catalog_text {
        font-size: 13px;
    }
}
@media screen and (max-width: 410px) {
    .header_fixed .header_bot .button_catalog .catalog_text {
        display: none;
    }
}
@media screen and (max-width: 340px) {
    .header_fixed .header_bot .logo .logo_brand { font-size: 14px; }
    .header_fixed .header_bot .logo .logo_sub   { font-size: 9px; }
}

/* ================================================================
   BLOCK: footer
   ================================================================ */

.site_footer {
    --ft-bg:            rgb(246, 250, 246);            
    --ft-bg-soft:       rgba(21, 32, 25, 0.04);
    --ft-card:          #FFFFFF;
    --ft-card-border:   rgba(21, 32, 25, 0.10);
    --ft-card-hover:    rgba(21, 32, 25, 0.04);
    --ft-accent:        #0E8A5F;
    --ft-accent-bright: #0C6B4A;                       
    --ft-text:          #152019;
    --ft-text-soft:     #5A6A60;
    --ft-text-mute:     #8A9690;
    --ft-divider:       rgba(21, 32, 25, 0.10);
    --ft-radius:        16px;
    --ft-radius-card:   24px;
    --ft-h-font:        "Unbounded", ui-sans-serif, system-ui, sans-serif;
    --ft-b-font:        "Manrope", ui-sans-serif, system-ui, sans-serif;
    background: var(--ft-bg);
    color: var(--ft-text);
    font-family: var(--ft-b-font);
    -webkit-font-smoothing: antialiased;
    margin-top: 30px;
    position: relative;
    overflow: hidden;
}
.site_footer::before {
    content: "";
    position: absolute;
    inset: 0;
    background:
        radial-gradient(circle at 12% 18%, color-mix(in oklch, var(--ft-accent) 14%, transparent) 0%, transparent 40%),
        radial-gradient(circle at 88% 82%, color-mix(in oklch, var(--ft-accent) 8%, transparent) 0%, transparent 48%);
    pointer-events: none;
}
.site_footer::after {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 2px;
    background: linear-gradient(90deg, transparent 0%, #01b07e 30%, #00d4aa 50%, #01b07e 70%, transparent 100%);
    pointer-events: none;
    z-index: 1;
}
.site_footer *,
.site_footer *::before,
.site_footer *::after { box-sizing: border-box; }
.ft_inner {
    position: relative;
    max-width: 1400px;
    margin: 0 auto;
    padding: 56px 10px 28px;
}
.ft_brand_row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 36px;
    margin-bottom: 36px;
}
.ft_brand {
    display: flex;
    align-items: center;
    gap: 12px;
    text-decoration: none;
    color: inherit;
}
.ft_logo {
    width: 50px;
    height: 50px;
    flex-shrink: 0;
    object-fit: contain;
}
.ft_brand_text { display: flex; flex-direction: column; gap: 4px; min-width: 0; }
.ft_brand_name {
    display: inline-flex;
    align-items: baseline;
    gap: 6px;
    font-family: var(--ft-h-font);
    font-weight: 700;
    font-size: 1.25rem;
    letter-spacing: -0.015em;
    line-height: 1.1;
}
.ft_brand_first  { color: rgba(0, 65, 65, .95); }
.ft_brand_second { color: #0E8A5F; }
.ft_brand_sub {
    color: var(--ft-text-soft);
    font-size: 0.85rem;
    line-height: 1.4;
}
.ft_cta_btn {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    padding: 16px 26px;
    border-radius: 999px;
    border: none;            
    cursor: pointer;
    background: var(--ft-accent);
    color: #fff;
    font-family: var(--ft-b-font);
    font-weight: 600;
    font-size: 0.94rem;
    text-decoration: none;
    white-space: nowrap;
    transition: filter .15s, transform .15s;
}
.ft_cta_btn:hover  { filter: brightness(1.08); }
.ft_cta_btn:active { transform: translateY(1px); }
.ft_cards {
    position: relative;
    margin-bottom: 48px;
    --ft-accent:        #0E8A5F;
    --ft-accent-bright: #0C6B4A;
    --ft-card:          #FFFFFF;
    --ft-card-border:   rgba(21, 32, 25, 0.10);
    --ft-card-hover:    rgba(21, 32, 25, 0.04);
}
.ft_cards_viewport {
    display: flex;
    gap: 18px;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    scroll-behavior: smooth;
    scrollbar-width: none;
    -ms-overflow-style: none;
}
.ft_cards_viewport::-webkit-scrollbar { display: none; }
.ft_cards_viewport > * {   
    flex: 0 0 calc((100% - 18px) / 2);   
    box-sizing: border-box;
    scroll-snap-align: start;
}
.ft_cards_viewport.ft_dragging {
    scroll-behavior: auto;
    scroll-snap-type: none;   
    cursor: grabbing;
    user-select: none;
}
.ft_cards_viewport.ft_dragging > * { pointer-events: none; }
.ft_cards_arrow {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: 40px; height: 40px;
    border-radius: 50%;
    display: flex; align-items: center; justify-content: center;
    background: rgba(21, 32, 25, .06);
    border: 1px solid rgba(21, 32, 25, .14);
    color: var(--ft-text-mute);
    cursor: pointer;
    z-index: 3;
    -webkit-backdrop-filter: blur(2px);
    backdrop-filter: blur(2px);
    transition: opacity .25s, background .2s, border-color .2s, color .2s;
}
.ft_cards_arrow:hover { background: rgba(21, 32, 25, .12); border-color: rgba(21, 32, 25, .22); color: var(--ft-text); }
.ft_cards_arrow svg { width: 18px; height: 18px; }
.ft_cards_arrow_prev { left: 6px; }
.ft_cards_arrow_prev svg { transform: scaleX(-1); }
.ft_cards_arrow_next { right: 6px; }
.ft_cards_arrow_hidden { opacity: 0; pointer-events: none; }
.ft_cards_more {
    display: none;
    align-items: center;
    justify-content: center;
    gap: 8px;
    width: 100%;
    margin-top: 16px;
    padding: 13px 20px;
    border-radius: 999px;
    border: 1px solid var(--ft-card-border);
    background: var(--ft-card);
    color: var(--ft-accent);
    font-family: var(--ft-b-font);
    font-weight: 600;
    font-size: 0.9rem;
    cursor: pointer;
    transition: background .15s, color .15s;
}
.ft_cards_more:hover { background: var(--ft-accent); color: #fff; }
.ft_cards_more svg { color: currentColor; }
.ft_info_list { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 8px; }
.ft_info_list li a {
    display: flex; justify-content: space-between; align-items: center; gap: 12px;
    padding: 11px 15px; border-radius: 14px;
    background: var(--ft-bg-soft);
    text-decoration: none; color: inherit;
    transition: background .15s;
}
.ft_info_list li a:hover { background: var(--ft-card-hover); }
.ft_info_city { font-weight: 600; color: var(--ft-text); }
.ft_info_cnt { color: var(--ft-accent); font-size: .9rem; white-space: nowrap; }
.ft_pharm {
    background: var(--ft-card);
    border: 1px solid var(--ft-card-border);
    border-radius: var(--ft-radius-card);
    padding: 24px 26px;
    display: flex;
    flex-direction: column;
    gap: 14px;
}
.ft_pharm_head {
    display: flex;
    align-items: center;
    gap: 10px;
    height: 15px;
}
.ft_pharm_kicker {
    font-size: 0.7rem;
    color: var(--ft-text-mute);
    letter-spacing: 0.12em;
    text-transform: uppercase;
    font-weight: 600;
    line-height: 1.3;
    min-width: 0;
}
.ft_pharm_247 {
    flex-shrink: 0;
    display: inline-flex;
    align-items: center;
    margin-top: -2px;
    padding: 4px 10px 2px;
    border-radius: 999px;
    color: #fff;
    font-size: 0.72rem;
    font-weight: 700;
    letter-spacing: 0.04em;
    line-height: 1.3;
    background: linear-gradient(
        90deg,
        #0E8A5F 0%,
        #12A574 25%,
        #1FBF89 50%,
        #12A574 75%,
        #0E8A5F 100%
    );
    background-size: 250% 100%;
    box-shadow: 0 2px 8px rgba(14, 138, 95, .25);
    animation: ft_pharm_247_shimmer 4s linear infinite;
    white-space: nowrap;
}
@keyframes ft_pharm_247_shimmer {
    0%   { background-position: 0% 50%; }
    100% { background-position: 250% 50%; }
}
.ft_pharm_name {
    margin: 0;
    font-family: var(--ft-h-font);
    font-weight: 700;
    font-size: 1.5rem;
    letter-spacing: -0.02em;
    line-height: 1.15;
    color: rgba(0, 65, 65, .95);
}
.ft_pharm_grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 10px 24px;
    color: var(--ft-text);
    font-size: 0.86rem;
    line-height: 1.5;
}
.ft_pharm_cell {
    display: inline-flex;
    align-items: flex-start;
    gap: 10px;
    color: var(--ft-text);
    text-decoration: none;
    min-width: 0;
}
.ft_pharm_ico {
    flex-shrink: 0;
    margin-top: 2px;
    color: var(--ft-accent-bright);
}
.ft_pharm_ico {
    width: 16px;
    height: 16px;
}
.ft_pharm_cell > span {
    min-width: 0;
    overflow-wrap: anywhere;
}
.ft_pharm_phone:hover { color: var(--ft-accent-bright); }
.ft_pharm_link {
    color: inherit;
    text-decoration: none;
    transition: color .15s ease;
}
.ft_pharm_link:hover { color: var(--ft-accent-bright); }
@media (min-width: 1025px) {
    .ft_pharm_cell { align-items: center; }
    .ft_pharm_ico { margin-top: 0; }
    .ft_pharm_cell > span {
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
    }
}
.ft_pharm_map {
    margin-top: 15px;
    align-self: flex-start;
    display: inline-flex;
    align-items: center;
    gap: 10px;
    padding: 13px 20px;
    border-radius: 999px;
    background: var(--ft-bg-soft);
    border: 1px solid var(--ft-card-border);
    color: var(--ft-text);
    text-decoration: none;
    font-weight: 500;
    font-size: 0.86rem;
    transition: background .15s, border-color .15s;
}
.ft_pharm_map:hover {
    background: var(--ft-card-hover);
    border-color: var(--ft-accent);
    color: var(--ft-accent);
}
.ft_info_card .ft_info_btn { margin-top: auto; }
.ft_main_row {
    display: grid;
    grid-template-columns: 40% 1fr;
    gap: 48px;
    padding: 36px 0;
    border-top: 1px solid var(--ft-divider);
    border-bottom: 1px solid var(--ft-divider);
    align-items: start;
}
.ft_contact_col {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 22px;
}
.ft_nav {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 24px;
    width: 100%;
}
.ft_phone_block {
    display: inline-flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 6px;
    text-decoration: none;
    color: inherit;
}
.ft_phone_label {
    font-size: 0.7rem;
    color: var(--ft-text-mute);
    letter-spacing: 0.12em;
    text-transform: uppercase;
    font-weight: 600;
    line-height: 1.2;
}
.ft_phone_value {
    font-family: var(--ft-h-font);
    font-weight: 600;
    font-size: 1.35rem;
    color: rgba(0, 65, 65, .95);
    letter-spacing: -0.02em;
    line-height: 1.15;
    white-space: nowrap;
    transition: color .15s;
}
.ft_phone_block:hover .ft_phone_value { color: var(--ft-accent-bright); }
.ft_change_city {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: transparent;
    border: 1px solid var(--ft-card-border);
    border-radius: 999px;
    padding: 9px 16px;
    color: var(--ft-text-soft);
    font-family: var(--ft-b-font);
    font-size: 0.82rem;
    cursor: pointer;
    transition: border-color .15s, color .15s;
}
.ft_change_city:hover { border-color: var(--ft-accent); color: var(--ft-accent-bright); }
.ft_change_city svg   { color: var(--ft-accent-bright); }
.ft_payments {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 8px;
}
.ft_payments_label {
    font-size: 0.7rem;
    color: var(--ft-text-mute);
    letter-spacing: 0.12em;
    text-transform: uppercase;
    font-weight: 600;
    line-height: 1.2;
}
.ft_payments_icons {
    display: flex;
    align-items: center;
    gap: 10px;
    flex-wrap: wrap;
}
.ft_payments_icons img {
    height: 24px;
    width: auto;
    display: block;
}
.ft_pay_pill {
    display: inline-flex;
    align-items: center;
    height: 24px;
    padding: 0 12px;
    border-radius: 999px;
    background: rgba(14, 138, 95, 0.7); 
    color: #fff;
    font-family: var(--ft-b-font);
    font-size: 0.72rem;
    font-weight: 600;
    line-height: 1;
    white-space: nowrap;
}
.ft_pay_pill sup {
    font-size: 0.85em;
    font-weight: 700;
    margin-left: 2px;
    top: -0.4em;
}
.ft_pay_note {
    margin: 4px 0 0;
    font-size: 0.74rem;
    color: var(--ft-text-mute);
    line-height: 1.5;
    max-width: 380px;
}
.ft_pay_note sup {
    color: var(--ft-accent-bright);
    font-weight: 700;
    margin-right: 2px;
}
.ft_nav_head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    margin-bottom: 14px;
    user-select: none;
}
.ft_nav_head span:first-child {
    font-size: .7rem;
    color: rgba(0, 65, 65, .95);
    letter-spacing: 0.12em;
    text-transform: uppercase;
    font-weight: 600;
    font-family: var(--ft-h-font);
}
.ft_chevron {
    display: none;
    color: var(--ft-text-mute);
    transition: transform .2s;
}
.ft_nav_list {
    margin: 0;
    padding: 0;
    list-style: none;
    display: flex;
    flex-direction: column;
    gap: 10px;
}
.ft_nav_list a {
    color: var(--ft-text);
    text-decoration: none;
    font-size: 0.92rem;
    line-height: 1.4;
    transition: color .15s;
}
.ft_nav_list a:hover { color: var(--ft-accent-bright); }
.ft_nav_list .ft_city_link { cursor: pointer; }  
.ft_legal_row {
    margin-top: 24px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    color: var(--ft-text-mute);
    font-size: 0.78rem;
}
.ft_made_in { text-align: right; }
@media (max-width: 1024px) {
    .ft_main_row       { grid-template-columns: 1fr; gap: 32px; }
    .ft_legal_row      { flex-direction: column; align-items: flex-start; gap: 12px; }
    .ft_made_in        { text-align: left; }
    
    .ft_cards[data-ft-slider] .ft_cards_viewport {
        flex-direction: column;
        overflow: visible;
        scroll-snap-type: none;
    }
    .ft_cards[data-ft-slider] .ft_cards_viewport > * { flex-basis: auto; }
    .ft_cards[data-ft-slider]:not(.ft_cards_expanded) .ft_cards_viewport > *:nth-child(n+3) { display: none; }
    .ft_cards_arrow { display: none !important; }  
    .ft_cards.ft_has_more:not(.ft_cards_expanded) .ft_cards_more { display: flex; }
}
@media (max-width: 700px) {
    .ft_brand_row      { flex-direction: column; gap: 22px; align-items: flex-start; }
    .ft_main_row       { padding: 20px 0 0; }
    .ft_cta_btn        { width: 100%; justify-content: center; padding: 14px 22px; }
    .ft_pharm          { padding: 22px; }
    .ft_pharm_name     { font-size: 1.25rem; }
    .ft_pharm_grid     { grid-template-columns: 1fr; }
    
    .ft_contact_col    { gap: 18px; align-items: stretch; }
    .ft_phone_block    { justify-content: flex-start; gap: 12px; }
    .ft_phone_value    { font-size: 1.35rem; }
    .ft_change_city    { align-self: flex-start; }
    .ft_payments       { padding-top: 14px; border-top: 1px solid var(--ft-divider); }
    
    .ft_nav            { grid-template-columns: 1fr; gap: 0; }
    .ft_nav_col        { border-bottom: 1px solid var(--ft-divider); }
    .ft_nav_col:last-child { border-bottom: none; }
    .ft_nav_head       {
        margin-bottom: 0;
        padding: 16px 0;
        cursor: pointer;
    }
    .ft_chevron        { display: inline-flex; }
    .ft_nav_list       {
        max-height: 0;
        overflow: hidden;
        transition: max-height .25s ease, padding .25s ease;
        padding: 0;
    }
    .ft_open .ft_nav_list   { max-height: 400px; padding: 0 0 16px; }
    .ft_open .ft_chevron    { transform: rotate(180deg); }
}
@media (max-width: 640px) {
    body:not(.lp_body) .site_footer .ft_inner {
        padding-bottom: calc(80px + env(safe-area-inset-bottom, 0px));
    }
}
@media (max-width: 360px) {
    .ft_logo       { width: 44px; height: 44px; }
    .ft_brand_name { font-size: 1.15rem; }
    .ft_brand_sub  { font-size: 0.79rem; }
}

/* ================================================================
   BLOCK: bottom_menu_header
   ================================================================ */

.bottom_menu_mobile {
    position: fixed;
    bottom: 0;
    width: calc(100% - 22px);
    min-width: 278px;
    left: 10px;
    z-index: 12;
    display: none;
    background: rgb(255,255,255);
    border: 1px solid rgba(200, 200, 200, .35);
    box-shadow: 0 4px 20px rgba(0, 0, 0, .1);
    border-radius: 20px 20px 0 0;
    align-items: stretch;
    padding-bottom: env(safe-area-inset-bottom, 0px);
}
.bottom_menu_mobile .block {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    flex: 1;
    text-align: center;
    cursor: pointer;
    padding: 12px 0 10px;
    text-decoration: none;
    border: none;
    background: none;
}
.bottom_menu_mobile a {
    flex: 1;
    display: flex;
    text-decoration: none;
}
.bottom_menu_mobile a .block {
    width: 100%;
}
.bottom_menu_mobile .block img {
    width: 22px;
    height: 22px;
    opacity: 1;
}
.bottom_menu_mobile .block .text {
    margin-top: 4px;
}
.bottom_menu_mobile .block .text p {
    font-size: 11px;
    padding: 0;
    color: rgba(8, 112, 109, .8);
    margin: 0;
    white-space: nowrap;
}
.bottom_menu_mobile .block .count {
    position: absolute;
    background: linear-gradient(0deg, rgba(226, 87, 92, 1) 13%, rgba(252, 127, 81, 1) 100%);
    border: 2px solid rgba(247, 253, 252, 1);
    top: 4px;
    right: 50%;
    margin-right: -25px;
    border-radius: 100%;
    display: none;
}
.bottom_menu_mobile .block .count_rotate {
    animation: rotate-basket-count-mob 1s infinite normal;
}
@keyframes rotate-basket-count-mob {
    0% { transform: rotateY(0deg) }
    100% { transform: rotateY(360deg) }
}
.bottom_menu_mobile .block .count p {
    width: 19px;
    height: 19px;
    padding: 0;
    margin: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    color: rgba(255, 255, 255, 1);
    font-size: 8px;
    line-height: 1;
}
.bottom_menu_mobile .block:hover .text p {
    color: rgba(8, 112, 109, .6);
}
.bottom_menu_mobile .block:active .text p {
    color: rgba(8, 112, 109, .3);
}
.bottom_menu_mobile .block:hover img {
    opacity: .7;
}
.bottom_menu_mobile .block:active img {
    opacity: .3;
}
@media screen and (max-width: 640px) {
    .bottom_menu_mobile {
        display: flex;
        transition: transform .3s ease, opacity .3s ease;
    }
    
    .bottom_menu_mobile.bmh_hidden {
        transform: translateY(100%);
        opacity: 0;
        pointer-events: none;
    }
}

/* ================================================================
   BLOCK: search_help
   ================================================================ */

.fon_header_modal {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, .3);
    backdrop-filter: blur(4px);
    -webkit-backdrop-filter: blur(4px);
    z-index: 100;
    display: none;
}
.search_help_wrapper {
    position: absolute;
    margin-top: 2px;
    background-color: rgba(255, 255, 255, 1);
    width: 100%;
    border: 1px solid rgba(1, 176, 126, .25);
    border-radius: 14px;
    display: none;
    box-sizing: border-box;
    box-shadow: 0 8px 24px rgba(0, 0, 0, .08), 0 2px 8px rgba(1, 176, 126, .1);
    container-type: inline-size;
    overflow: hidden;
    z-index: 101;
}
.search_help_body {
    display: none;
    flex-direction: row;
    width: 100%;
}
.search_help_body .search_suggestions {
    flex: 1;
    min-width: 0;
    padding: 6px 0;
    display: none;
    border-right: 1px solid rgba(0, 0, 0, .06);
}
.search_suggestions .line {
    position: relative;
    width: 100%;
    cursor: pointer;
    transition: background-color .15s ease;
}
.search_suggestions .line:hover {
    background-color: rgba(1, 176, 126, .06);
}
.search_suggestions .line:active {
    background-color: rgba(1, 176, 126, .12);
}
.search_suggestions .line p {
    padding: 10px 16px 10px 48px;
    margin: 0;
    font-size: 14px;
    color: rgba(0, 0, 0, .8);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
.search_suggestions .line::before {
    content: "";
    position: absolute;
    top: 50%;
    left: 18px;
    width: 14px;
    height: 10px;
    margin-top: -5px;
    opacity: .3;
    background-image:
        linear-gradient(currentColor, currentColor),
        linear-gradient(currentColor, currentColor),
        linear-gradient(currentColor, currentColor);
    background-size: 100% 2px, 80% 2px, 60% 2px;
    background-position: 0 0, 0 50%, 0 100%;
    background-repeat: no-repeat;
    transition: opacity .15s ease;
}
.search_suggestions .line:hover::before {
    opacity: .55;
}
.search_suggestions .search_all_results {
    cursor: pointer;
    border-top: 1px solid rgba(0, 0, 0, .05);
    margin-top: 4px;
    padding-top: 2px;
    transition: background-color .15s ease;
}
.search_suggestions .search_all_results:hover {
    background-color: rgba(1, 176, 126, .06);
}
.search_suggestions .search_all_results p {
    padding: 10px 16px;
    margin: 0;
    font-size: 13px;
    font-weight: 600;
    color: rgba(1, 156, 116, 1);
}
.search_suggestions .search_did_you_mean {
    padding: 10px 16px;
    background: rgba(1, 176, 126, .06);
    border-bottom: 1px solid rgba(0, 0, 0, .04);
    font-size: 13px;
    color: rgba(0, 0, 0, .65);
}
.search_suggestions .sdym_link {
    border: none;
    background: none;
    padding: 0;
    margin: 0;
    cursor: pointer;
    color: rgba(1, 156, 116, 1);
    font-weight: 600;
    font-size: 13px;
    font-family: inherit;
    text-decoration: none;
    transition: color .15s ease;
}
.search_suggestions .sdym_link:hover {
    color: rgba(1, 130, 96, 1);
    text-decoration: underline;
}
.search_suggestions .sf_cats_head {
    padding: 8px 16px 4px;
    font-size: 11px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: .04em;
    color: rgba(0, 0, 0, .35);
    border-top: 1px solid rgba(0, 0, 0, .05);
    margin-top: 4px;
}
.search_suggestions .sf_cat_line {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 8px 16px;
    text-decoration: none;
    color: rgba(0, 0, 0, .85);
    font-size: 13.5px;
    transition: background-color .15s ease;
}
.search_suggestions .sf_cat_line:hover {
    background-color: rgba(1, 176, 126, .06);
}
.search_suggestions .sf_cat_icon {
    flex-shrink: 0;
    color: rgba(1, 176, 126, .8);
}
.search_suggestions .sf_cat_name {
    flex: 1 1 auto;
    line-height: 1.3;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.search_suggestions .sf_cat_count {
    flex-shrink: 0;
    font-size: 12px;
    color: rgba(0, 0, 0, .35);
    font-variant-numeric: tabular-nums;
}
.search_suggestions .search_no_results {
    padding: 20px 18px;
    text-align: center;
}
.search_suggestions .search_no_results p {
    margin: 0;
    font-size: 14px;
    color: rgba(0, 0, 0, .6);
}
.search_suggestions .search_no_results span {
    display: block;
    margin-top: 4px;
    font-size: 12px;
    color: rgba(0, 0, 0, .3);
}
@container (max-width: 599px) {
    .search_promo { display: none !important; }
    .search_suggestions { border-right: none !important; }
}
.search_promo {
    width: 260px;
    flex-shrink: 0;
    padding: 10px;
    display: none;
    box-sizing: border-box;
}
.search_promo_head {
    font-size: 12px;
    font-weight: 600;
    color: rgba(0, 0, 0, .4);
    text-transform: uppercase;
    letter-spacing: .5px;
    padding: 2px 6px 8px;
}
.search_promo_items {
    display: flex;
    flex-direction: column;
    gap: 2px;
}
.search_promo_card {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 8px;
    text-decoration: none;
    border-radius: 10px;
    transition: background-color .15s ease;
}
.search_promo_card:hover {
    background-color: rgba(1, 176, 126, .06);
}
.search_promo_card:active {
    background-color: rgba(1, 176, 126, .1);
}
.search_promo_img {
    width: 48px;
    height: 48px;
    flex-shrink: 0;
    border-radius: 10px;
    overflow: hidden;
    background-color: rgba(0, 0, 0, .03);
    border: 1px solid rgba(0, 0, 0, .05);
    padding: 5px;
}
.search_promo_img img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}
.search_promo_info {
    flex: 1;
    min-width: 0;
}
.search_promo_name {
    margin: 0;
    font-size: 13px;
    line-height: 1.3;
    color: rgba(0, 0, 0, .75);
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}
.search_promo_prices {
    display: flex;
    align-items: baseline;
    gap: 6px;
    margin-top: 3px;
}
.search_promo_price {
    font-size: 15px;
    font-weight: 700;
    color: rgba(1, 156, 116, 1);
}
.search_promo_old {
    font-size: 12px;
    color: rgba(0, 0, 0, .3);
    text-decoration: line-through;
}
.search_suggestions .sf_products_head {
    padding: 8px 16px 4px;
    font-size: 11px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: .4px;
    color: rgba(0, 0, 0, .35);
    border-top: 1px solid rgba(0, 0, 0, .05);
    margin-top: 4px;
}
.search_suggestions .sf_product_line {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 8px 16px;
    cursor: pointer;
    transition: background-color .15s ease;
    text-decoration: none;
    color: inherit;
}
.search_suggestions .sf_product_line:hover {
    background-color: rgba(1, 176, 126, .06);
}
.search_suggestions .sf_product_line:active {
    background-color: rgba(1, 176, 126, .12);
}
.search_suggestions .sf_product_img {
    width: 36px;
    height: 36px;
    object-fit: contain;
    flex-shrink: 0;
    border-radius: 6px;
    background: rgba(0, 0, 0, .02);
}
.search_suggestions .sf_product_name {
    flex: 1;
    min-width: 0;
    font-size: 13px;
    color: rgba(0, 0, 0, .75);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
.search_suggestions .sf_product_price {
    flex-shrink: 0;
    font-size: 13px;
    font-weight: 600;
    color: rgba(1, 156, 116, 1);
    white-space: nowrap;
}
.search_help_wrapper .icon_load {
    display: none;
    justify-content: center;
    align-items: center;
    padding: 20px 0;
}
.search_help_wrapper .icon_load .spinner {
    display: block;
    width: 26px;
    height: 26px;
    border-radius: 50%;
    border: 2.5px solid rgba(1, 176, 126, .12);
    border-top-color: rgba(1, 176, 126, .8);
    animation: search-spin .65s linear infinite;
}
@keyframes search-spin {
    to { transform: rotate(360deg); }
}

/* ================================================================
   BLOCK: city_modal
   ================================================================ */

.city_modal {
    position: fixed;
    inset: 0;
    z-index: 1050;
    background: rgba(0, 20, 15, .45);
    backdrop-filter: blur(4px);
    -webkit-backdrop-filter: blur(4px);
    display: none;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
}
.city_modal .city_modal_wrapper {
    position: relative;
    width: 460px;
    min-width: 300px;
    max-width: calc(100% - 32px);
    margin: 60px auto 40px;
    background: #fff;
    border-radius: 20px;
    box-shadow: 0 20px 60px rgba(0, 40, 30, .18);
    overflow: hidden;
    opacity: 0;
    transform: translateY(-30px) scale(.97);
    transition: opacity .25s ease, transform .25s ease;
}
.city_modal.cm_visible .city_modal_wrapper {
    opacity: 1;
    transform: translateY(0) scale(1);
}
.city_modal .cm_header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 24px 20px 4px;
}
.city_modal .cm_title {
    font-size: 20px;
    font-weight: 600;
    color: rgba(0, 65, 65, .95);
    margin: 0;
    line-height: 1.2;
}
.city_modal .cm_subtitle {
    font-size: 13px;
    color: #8a9a97;
    margin-top: 2px;
}
.city_modal .cm_close {
    width: 36px;
    height: 36px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 10px;
    cursor: pointer;
    color: rgba(0, 0, 0, .4);
    flex-shrink: 0;
    transition: background .15s, color .2s;
}
.city_modal .cm_close:hover {
    background: rgba(0, 65, 63, .07);
    color: rgba(0, 0, 0, .8);
}
.city_modal .cm_body {
    padding: 16px 20px 28px;
}
.city_modal .cm_search {
    position: relative;
}
.city_modal .cm_search_icon {
    position: absolute;
    left: 14px;
    top: 50%;
    transform: translateY(-50%);
    color: #8a9a97;
    pointer-events: none;
}
.city_modal .cm_search_input {
    width: 100%;
    height: 46px;
    padding: 0 40px 0 42px;
    border: 2px solid #e4ebe9;
    border-radius: 12px;
    font-size: 16px;
    color: #00413f;
    background: #f7faf9;
    outline: none;
    transition: border-color .2s, background .2s, box-shadow .2s;
    box-sizing: border-box;
}
.city_modal .cm_search_input::placeholder {
    color: #8a9a97;
}
.city_modal .cm_search_input:focus {
    border-color: #01b07e;
    background: #fff;
    box-shadow: 0 0 0 3px rgba(1, 176, 126, .12);
}
.city_modal .cm_search_clear {
    position: absolute;
    right: 8px;
    top: 50%;
    transform: translateY(-50%);
    width: 30px;
    height: 30px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    cursor: pointer;
    color: #8a9a97;
    transition: background .15s, color .15s;
}
.city_modal .cm_search_clear:hover {
    background: rgba(0, 65, 60, .07);
    color: #00413f;
}
.city_modal .cm_list {
    margin-top: 12px;
    max-height: 222px;
    overflow-y: auto;
    scrollbar-width: thin;
    scrollbar-color: #d0dbd8 transparent;
}
.city_modal .cm_list::-webkit-scrollbar {
    width: 5px;
}
.city_modal .cm_list::-webkit-scrollbar-track {
    background: transparent;
}
.city_modal .cm_list::-webkit-scrollbar-thumb {
    background: #d0dbd8;
    border-radius: 10px;
}
.city_modal .cm_card {
    padding: 12px 14px;
    border-radius: 12px;
    border: 2px solid #eef2f1;
    cursor: pointer;
    transition: border-color .2s, background .2s;
    margin-bottom: 6px;
}
.city_modal .cm_card:last-child {
    margin-bottom: 0;
}
.city_modal .cm_card:hover {
    border-color: #c8e6dc;
    background: #f7fdfb;
}
.city_modal .cm_card:active {
    transform: scale(.99);
}
.city_modal .cm_card_active {
    border-color: #01b07e;
    background: linear-gradient(135deg, rgba(1, 176, 126, .05) 0%, rgba(1, 176, 150, .08) 100%);
}
.city_modal .cm_card_active:hover {
    border-color: #01b07e;
    background: linear-gradient(135deg, rgba(1, 176, 126, .08) 0%, rgba(1, 176, 150, .11) 100%);
}
.city_modal .cm_card_row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
}
.city_modal .cm_card_city {
    font-size: 15px;
    font-weight: 600;
    color: #00413f;
    margin: 0;
    line-height: 1.3;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    min-width: 0;
}
.city_modal .cm_card_address {
    font-size: 13px;
    color: #4a6562;
    margin: 3px 0 0;
    line-height: 1.3;
}
.city_modal .cm_notice {
    display: flex;
    gap: 10px;
    margin-top: 12px;
    padding: 12px 14px;
    background: #fef9ec;
    border: 1px solid #f5e6b8;
    border-radius: 10px;
}
.city_modal .cm_notice svg {
    flex-shrink: 0;
    color: #b8860b;
    margin-top: 1px;
}
.city_modal .cm_notice p {
    font-size: 12.5px;
    line-height: 1.45;
    color: #7a6520;
    margin: 0;
}
.city_modal .cm_empty {
    display: none;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    min-height: 200px;
    text-align: center;
    color: #8a9a97;
}
.city_modal .cm_empty svg {
    margin-bottom: 12px;
    opacity: .4;
}
.city_modal .cm_empty p {
    font-size: 16px;
    font-weight: 600;
    color: #6b7f7c;
    margin: 0;
}
.city_modal .cm_empty span {
    font-size: 13px;
    color: #8a9a97;
    margin-top: 4px;
}
.city_modal .cm_loader {
    display: none;
    justify-content: center;
    padding: 40px 0;
}
.city_modal .cm_spinner {
    width: 36px;
    height: 36px;
    border: 3px solid #e4ebe9;
    border-top-color: #01b07e;
    border-radius: 50%;
    animation: cm-spin .7s linear infinite;
}
@keyframes cm-spin {
    to { transform: rotate(360deg); }
}
@media screen and (max-width: 520px) {
    .city_modal .city_modal_wrapper {
        width: 100%;
        max-width: 100%;
        margin: 0;
        min-height: 100dvh;
        border-radius: 0;
        box-shadow: none;
    }
    .city_modal .cm_list {
        max-height: none;
        padding-bottom: 40px;
    }
}
@media screen and (max-width: 380px) {
    .city_modal .cm_body {
        padding: 14px 20px 20px;
    }
    .city_modal .cm_card {
        padding: 10px 12px;
    }
    .city_modal .cm_card_city {
        font-size: 14px;
    }
    .city_modal .cm_card_address {
        font-size: 12px;
    }
}

/* ================================================================
   BLOCK: catalog_modal
   ================================================================ */

.catalog_modal {
    position: fixed;
    inset: 0;
    z-index: 1050;
    display: none;
    opacity: 0;
    transition: opacity .25s ease;
}
.catalog_modal.catm_visible {
    opacity: 1;
}
.catalog_modal .catm_overlay {
    position: absolute;
    inset: 0;
    background: rgba(0, 30, 30, .45);
    backdrop-filter: blur(4px);
    -webkit-backdrop-filter: blur(4px);
}
.catalog_modal .catm_panel {
    position: relative;
    display: flex;
    width: calc(100% - 20px);
    min-width: 300px;
    max-width: 1200px;
    height: calc(100vh - 60px);
    height: calc(100dvh - 60px);
    max-height: 720px;
    margin: 30px auto 0;
    background: #fff;
    border-radius: 20px;
    box-shadow: 0 12px 48px rgba(0, 30, 30, .18);
    overflow: hidden;
    box-sizing: border-box;
}
.catalog_modal .catm_left {
    width: 300px;
    min-width: 300px;
    display: flex;
    flex-direction: column;
    min-height: 0;
    background: rgb(246, 250, 246);
    border-right: 1px solid rgba(0, 65, 63, .04);
    box-sizing: border-box;
}
.catalog_modal .catm_left_head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 16px 20px;
    box-sizing: border-box;
}
.catalog_modal .catm_left_head span {
    font-family: "Unbounded", ui-sans-serif, system-ui, sans-serif;
    font-size: 18px;
    font-weight: 500;
    color: rgba(0, 65, 65, .95);
}
.catalog_modal .catm_close {
    width: 36px;
    height: 36px;
    padding: 0;
    border: none;
    background: transparent;
    border-radius: 10px;
    color: rgba(0, 0, 0, .4);
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: background .15s, color .2s;
}
.catalog_modal .catm_close:hover {
    background: rgba(0, 65, 63, .07);
    color: rgba(0, 0, 0, .8);
}
.catalog_modal .catm_categories {
    flex: 1;
    overflow-y: auto;
    padding: 0 12px;
    box-sizing: border-box;
}
.catalog_modal .catm_categories::-webkit-scrollbar {
    width: 4px;
}
.catalog_modal .catm_categories::-webkit-scrollbar-track {
    background: transparent;
}
.catalog_modal .catm_categories::-webkit-scrollbar-thumb {
    background: rgba(0, 65, 63, .12);
    border-radius: 4px;
}
.catalog_modal .catm_cat {
    display: flex;
    align-items: center;
    gap: 12px;
    width: 100%;
    padding: 11px 14px;
    border-radius: 12px;
    border: none;
    background: none;
    cursor: pointer;
    transition: background .15s, color .15s;
    user-select: none;
    box-sizing: border-box;
    text-align: left;
}
.catalog_modal .catm_cat:hover {
    background: rgba(0, 65, 63, .03);
}
.catalog_modal .catm_cat.catm_cat_active {
    background: rgba(1, 176, 126, .75);
}
.catalog_modal .catm_cat_ico {
    width: 28px;
    height: 28px;
    flex-shrink: 0;
    display: flex;
    align-items: center;
    justify-content: center;
}
.catalog_modal .catm_cat_ico svg,
.catalog_modal .catm_cat_ico img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}
.catalog_modal .catm_cat span {
    flex: 1;
    font-size: 14px;
    font-weight: 500;
    color: #00413f;
    line-height: 1.3;
    transition: color .15s;
}
.catalog_modal .catm_cat.catm_cat_active span {
    color: #fff;
}
.catalog_modal .catm_cat_arrow {
    flex-shrink: 0;
    color: #b0c0c0;
    transition: color .15s, transform .15s;
}
.catalog_modal .catm_cat.catm_cat_active .catm_cat_arrow {
    color: rgba(255, 255, 255, .7);
    transform: translateX(2px);
}
.catalog_modal .catm_all_link {
    display: flex;
    align-items: center;
    gap: 6px;
    padding: 16px 24px;
    font-size: 13px;
    font-weight: 600;
    color: #01b07e;
    text-decoration: none;
    border-top: 1px solid rgba(0, 65, 63, .08);
    transition: color .15s;
    box-sizing: border-box;
}
.catalog_modal .catm_all_link:hover {
    color: #009a6d;
}
.catalog_modal .catm_right {
    flex: 1;
    display: flex;
    flex-direction: column;
    min-width: 0;
    min-height: 0;
    overflow: hidden;
    background: rgb(246, 250, 246);
    box-sizing: border-box;
}
.catalog_modal .catm_right_head {
    display: flex;
    flex-direction: column;
    gap: 12px;
    padding: 24px 28px 16px;
    flex-shrink: 0;
    box-sizing: border-box;
}
.catalog_modal .catm_right_title {
    font-size: 18px;
    font-weight: 700;
    color: #00413f;
    margin: 0;
}
.catalog_modal .catm_search {
    position: relative;
    width: 100%;
}
.catalog_modal .catm_search svg:first-child {
    position: absolute;
    left: 12px;
    top: 50%;
    transform: translateY(-50%);
    color: #9ab0b0;
    pointer-events: none;
}
.catalog_modal .catm_search input {
    width: 100%;
    height: 40px;
    padding: 0 36px 0 38px;
    border: 1.5px solid rgba(0, 65, 63, .12);
    border-radius: 12px;
    font-size: 16px;
    color: #00413f;
    background: #f7fafa;
    outline: none;
    transition: border-color .15s, background .15s;
    box-sizing: border-box;
}
.catalog_modal .catm_search input::placeholder {
    color: #9ab0b0;
}
.catalog_modal .catm_search input:focus {
    border-color: #01b07e;
    background: #fff;
}
.catalog_modal .catm_search_clear {
    position: absolute;
    right: 6px;
    top: 50%;
    transform: translateY(-50%);
    width: 28px;
    height: 28px;
    border: none;
    background: transparent;
    border-radius: 8px;
    color: #9ab0b0;
    cursor: pointer;
    display: none;
    align-items: center;
    justify-content: center;
    transition: background .15s, color .15s;
}
.catalog_modal .catm_search_clear.catm_search_clear_show {
    display: flex;
}
.catalog_modal .catm_search_clear:hover {
    background: rgba(0, 65, 63, .07);
    color: #00413f;
}
.catalog_modal .catm_subs_wrap {
    flex: 1;
    overflow-y: auto;
    padding: 0 28px 8px;
    box-sizing: border-box;
}
.catalog_modal .catm_subs_wrap::-webkit-scrollbar {
    width: 5px;
}
.catalog_modal .catm_subs_wrap::-webkit-scrollbar-track {
    background: transparent;
}
.catalog_modal .catm_subs_wrap::-webkit-scrollbar-thumb {
    background: rgba(0, 65, 63, .1);
    border-radius: 4px;
}
.catalog_modal .catm_subs {
    column-count: 3;
    column-gap: 24px;
}
.catalog_modal .catm_letter_group {
    break-inside: avoid;
    margin-bottom: 20px;
}
.catalog_modal .catm_letter {
    font-size: 13px;
    font-weight: 700;
    color: #01b07e;
    text-transform: uppercase;
    letter-spacing: .5px;
    padding-bottom: 6px;
    margin-bottom: 4px;
    border-bottom: 1px solid rgba(1, 176, 126, .15);
}
.catalog_modal .catm_sub {
    display: block;
    padding: 5px 0;
    font-size: 14px;
    color: #2a4a4a;
    text-decoration: none;
    line-height: 1.35;
    transition: color .12s;
    border-radius: 4px;
}
.catalog_modal .catm_sub:hover {
    color: #01b07e;
}
.catalog_modal .catm_sub_count {
    display: inline-block;
    margin-left: 6px;
    padding: 1px 7px;
    font-size: 11px;
    font-weight: 500;
    line-height: 1.4;
    color: rgba(1, 176, 126, .85);
    background: rgba(1, 176, 126, .08);
    border-radius: 10px;
    white-space: nowrap;
    vertical-align: middle;
}
.catalog_modal .catm_sub mark {
    background: rgba(1, 176, 126, .18);
    color: inherit;
    border-radius: 2px;
    padding: 0 1px;
}
.catalog_modal .catm_empty {
    display: none;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 12px;
    padding: 60px 20px;
    color: #9ab0b0;
    text-align: center;
}
.catalog_modal .catm_empty p {
    font-size: 15px;
    font-weight: 500;
    margin: 0;
}
.catalog_modal .catm_empty.catm_empty_show {
    display: flex;
}
.catalog_modal .catm_view_all {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    padding: 14px 28px;
    font-size: 14px;
    font-weight: 600;
    color: #01b07e;
    text-decoration: none;
    border-top: 1px solid rgba(0, 65, 63, .06);
    flex-shrink: 0;
    transition: background .15s, color .15s;
    box-sizing: border-box;
}
.catalog_modal .catm_view_all:hover {
    background: rgba(1, 176, 126, .04);
    color: #009a6d;
}
@media (min-width: 901px) {
    .catalog_modal {
        transition: opacity .35s ease;
    }
    
    .catalog_modal .catm_panel {
        position: absolute;
        top: var(--catm-header-bottom, 90px);
        left: 0;
        right: 0;
        width: calc(100% - 20px);
        max-width: 1380px;
        margin: 0 auto;
        height: calc(100vh - var(--catm-header-bottom, 90px) - 20px);
        height: calc(100dvh - var(--catm-header-bottom, 90px) - 20px);
        max-height: 680px;
        background: #fff;
        border-radius: 0 0 20px 20px;
        transform: translateY(-100%);
        transition: transform .35s cubic-bezier(.4, 0, .2, 1);
    }
    .catalog_modal.catm_visible .catm_panel {
        transform: translateY(0);
    }
    
    .catalog_modal .catm_close {
        display: none;
    }
    
    .catalog_modal .catm_all_link,
    .catalog_modal .catm_view_all {
        padding: 14px 24px;
        font-size: 14px;
    }
    
    header.catm_header_active .container {
        z-index: 1052;
    }
    header.catm_header_active .fon_header_bot .fon::after {
        opacity: 0;
    }
}
@media (min-width: 901px) and (max-width: 1200px) {
    .catalog_modal .catm_subs {
        column-count: 2;
    }
}
@media (max-width: 900px) {
    .catalog_modal .catm_panel {
        flex-direction: column;
        width: 100%;
        max-width: 100%;
        height: 100vh;
        height: 100dvh;
        max-height: 100vh;
        max-height: 100dvh;
        margin: 0;
        border-radius: 0;
    }
    .catalog_modal .catm_left {
        width: 100%;
        min-width: unset;
        flex: none;
        margin-top: 0;
        border-right: none;
        border-bottom: 1px solid rgba(0, 65, 63, .08);
    }
    .catalog_modal .catm_right {
        flex: 1;
        min-height: 0;
    }
    
    .catalog_modal .catm_categories {
        display: flex;
        flex-wrap: nowrap;
        overflow-x: auto;
        overflow-y: hidden;
        padding: 0 12px 12px;
        gap: 6px;
        scrollbar-width: none;
        cursor: grab;
    }
    .catalog_modal .catm_categories.catm_dragging {
        cursor: grabbing;
        scroll-behavior: auto;
    }
    .catalog_modal .catm_categories.catm_dragging * {
        pointer-events: none;
    }
    .catalog_modal .catm_categories::-webkit-scrollbar {
        display: none;
    }
    
    .catalog_modal .catm_cat {
        flex-direction: row;
        flex-shrink: 0;
        align-items: center;
        gap: 10px;
        padding: 6px 14px 6px 6px;
        background: linear-gradient(0deg, #e8f7f2 15%, #e7f7f3 89%);
        border: none;
        border-radius: 20px;
        max-width: 240px;
        min-width: 0;
        width: auto;             
        transition: background .2s;
    }
    
    .catalog_modal .catm_cat:hover,
    .catalog_modal .catm_cat.catm_cat_active {
        background: rgba(1, 176, 126, .75);
    }
    .catalog_modal .catm_cat_arrow {
        display: none;
    }
    
    .catalog_modal .catm_cat_ico {
        width: 32px;
        height: 32px;
        border-radius: 50%;
    }
    .catalog_modal .catm_cat_ico svg,
    .catalog_modal .catm_cat_ico img {
        width: 70%;
        height: 70%;
    }
    
    .catalog_modal .catm_cat span {
        font-size: 13px;
        font-weight: 500;
        color: #2a4a4a;
        text-align: left;
        line-height: 1.2;
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
        min-width: 0;
    }
    .catalog_modal .catm_cat:hover span,
    .catalog_modal .catm_cat.catm_cat_active span {
        color: #fff;
    }
    @media screen and (max-width: 520px) {
        .catalog_modal .catm_cat {
            gap: 8px;
            padding: 5px 12px 5px 5px;
            max-width: 200px;
        }
        .catalog_modal .catm_cat_ico {
            width: 28px;
            height: 28px;
        }
        .catalog_modal .catm_cat span {
            font-size: 12px;
        }
    }
    .catalog_modal .catm_all_link {
        display: none;
    }
    
    .catalog_modal .catm_right_head {
        flex-direction: column;
        align-items: stretch;
        gap: 12px;
        padding: 16px 20px 12px;
    }
    .catalog_modal .catm_right_title {
        font-size: 16px;
    }
    .catalog_modal .catm_search {
        max-width: none;
        margin-left: 0;
    }
    .catalog_modal .catm_subs_wrap {
        padding: 0 20px 8px;
    }
    .catalog_modal .catm_subs {
        column-count: 2;
        column-gap: 16px;
    }
    .catalog_modal .catm_view_all {
        padding: 12px 20px;
        font-size: 13px;
    }
}
@media (max-width: 768px) {
    .catalog_modal .catm_subs {
        column-count: 1;
    }
}
@media (max-width: 520px) {
    .catalog_modal .catm_right_head {
        padding: 12px 16px 10px;
    }
    .catalog_modal .catm_subs_wrap {
        padding: 0 16px 8px;
    }
    .catalog_modal .catm_view_all {
        padding: 12px 16px;
    }
}

/* ================================================================
   BLOCK: authorization_modal
   ================================================================ */

.authorization_modal {
    position: fixed;
    inset: 0;
    z-index: 1050;
    background: rgba(0, 20, 15, .45);
    backdrop-filter: blur(4px);
    -webkit-backdrop-filter: blur(4px);
    display: none;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
}
.authorization_modal .authorization_modal_wrapper {
    position: relative;
    width: 420px;
    min-width: 300px;
    max-width: calc(100% - 32px);
    margin: 60px auto 40px;
    padding: 32px 32px 28px;
    background: #fff;
    border-radius: 20px;
    box-shadow: 0 20px 60px rgba(0, 40, 30, .18);
    box-sizing: border-box;
    opacity: 0;
    transform: translateY(-30px) scale(.97);
    transition: opacity .25s ease, transform .25s ease;
}
.authorization_modal.am_visible .authorization_modal_wrapper {
    opacity: 1;
    transform: translateY(0) scale(1);
}
.authorization_modal .am_header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 16px;
}
.authorization_modal .am_title {
    font-family: "Unbounded", ui-sans-serif, system-ui, sans-serif;
    font-size: 18px;
    font-weight: 500;
    color: rgba(0, 65, 65, .95);
    line-height: 1.3;
}
.authorization_modal .am_close {
    width: 36px;
    height: 36px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 10px;
    cursor: pointer;
    color: rgba(0, 0, 0, .4);
    flex-shrink: 0;
    border: none;
    background: none;
    padding: 0;
    transition: background .15s, color .2s;
}
.authorization_modal .am_close:hover {
    background: rgba(0, 65, 63, .07);
    color: rgba(0, 0, 0, .8);
}
.authorization_modal .content_wrapper {
    position: relative;
    display: block;
}
.authorization_modal .am_promo {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 14px;
    padding: 12px 14px;
    background: linear-gradient(0deg, rgba(1, 176, 126, .08), rgba(1, 176, 150, .12));
    border: 1px solid rgba(1, 176, 126, .22);
    border-radius: 12px;
}
.authorization_modal .am_promo_icon {
    flex-shrink: 0;
    width: 32px;
    height: 32px;
    display: flex;
    align-items: center;
    justify-content: center;
}
.authorization_modal .am_promo_icon img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    display: block;
}
.authorization_modal .am_promo p {
    margin: 0;
    font-size: 13px;
    font-weight: 600;
    color: #00413f;
    line-height: 1.35;
}
.authorization_modal .am_promo a {
    color: #01906a;
    text-decoration: underline;
    text-decoration-color: rgba(1, 144, 106, .4);
    transition: color .15s, text-decoration-color .15s;
}
.authorization_modal .am_promo a:hover {
    color: #017056;
    text-decoration-color: #017056;
}
.authorization_modal .description {
    margin-bottom: 20px;
}
.authorization_modal .description p {
    font-size: 13px;
    color: #8a9a97;
    margin: 0;
    line-height: 1.5;
}
.authorization_modal .line {
    margin-bottom: 10px;
}
.authorization_modal .line input {
    width: 100%;
    height: 50px;
    padding: 0 16px;
    font-size: 16px;
    text-align: center;
    color: #00413f;
    border: 2px solid #e4ebe9;
    border-radius: 12px;
    background: #f7faf9;
    outline: none;
    box-sizing: border-box;
    transition: border-color .2s, background .2s, box-shadow .2s;
}
.authorization_modal .line input::placeholder {
    color: #8a9a97;
}
.authorization_modal .line input:focus {
    border-color: #01b07e;
    background: #fff;
    box-shadow: 0 0 0 3px rgba(1, 176, 126, .12);
}
.authorization_modal .line input:disabled {
    background: #eef2f1;
    color: #6b7f7c;
    cursor: default;
}
.authorization_modal .line_authorization_notification {
    display: none;
    margin-bottom: 4px;
}
.authorization_modal .line_authorization_notification p {
    text-align: center;
    font-size: 13px;
    font-weight: 600;
    color: #e2575c;
    margin: 0;
    padding: 10px 16px;
    background: #fef5f5;
    border: 1px solid rgba(226, 87, 92, .15);
    border-radius: 12px;
    box-sizing: border-box;
}
.authorization_modal .am_buttons {
    margin-top: 18px;
}
.authorization_modal .button {
    width: 100%;
    padding: 15px 0;
    border: none;
    border-radius: 12px;
    background: linear-gradient(0deg, #01b07e 15%, #01b096 89%);
    text-align: center;
    cursor: pointer;
    box-sizing: border-box;
    transition: opacity .15s;
}
.authorization_modal .button:hover {
    opacity: .85;
}
.authorization_modal .button:active {
    opacity: .65;
}
.authorization_modal .button p {
    color: #fff;
    font-size: 16px;
    font-weight: 700;
    margin: 0;
}
.authorization_modal .button_throw {
    width: 100%;
    padding: 13px 0;
    margin-top: 8px;
    border: 2px solid #e4ebe9;
    border-radius: 12px;
    text-align: center;
    cursor: pointer;
    color: #00413f;
    background: transparent;
    display: none;
    box-sizing: border-box;
    transition: border-color .15s, background .15s;
}
.authorization_modal .button_throw:hover {
    border-color: #01b07e;
    background: rgba(1, 176, 126, .05);
}
.authorization_modal .button_throw:active {
    background: rgba(1, 176, 126, .1);
}
.authorization_modal .button_throw p {
    font-size: 15px;
    font-weight: 600;
    margin: 0;
}
.authorization_modal .button_recover_password {
    width: 100%;
    text-align: center;
    margin-top: 14px;
    cursor: pointer;
    display: none;
    border: none;
    background: none;
    padding: 0;
}
.authorization_modal .button_recover_password p {
    font-size: 14px;
    color: #8a9a97;
    margin: 0;
    transition: color .15s;
}
.authorization_modal .button_recover_password:hover p {
    color: #01b07e;
}
.authorization_modal .am_consent {
    margin-top: 14px;
}
.authorization_modal .am_consent p {
    margin: 0;
    text-align: center;
    font-size: 11px;
    line-height: 1.4;
    color: #8a9a97;
}
.authorization_modal .am_consent a {
    color: #01906a;
    text-decoration: underline;
    text-decoration-color: rgba(1, 144, 106, .3);
    transition: text-decoration-color .15s, color .15s;
}
.authorization_modal .am_consent a:hover {
    color: #017056;
    text-decoration-color: #017056;
}
.authorization_modal .am_success_view {
    text-align: center;
    padding: 4px 0 0;
}
.authorization_modal .am_success_icon {
    display: flex;
    justify-content: center;
    margin-bottom: 14px;
}
.authorization_modal .am_success_title p {
    font-size: 18px;
    font-weight: 700;
    color: #00413f;
    margin: 0 0 10px;
    line-height: 1.3;
}
.authorization_modal .am_success_bonus {
    margin: 12px 0 4px;
    padding: 14px 16px;
    background: rgba(1, 176, 126, .08);
    border: 1px solid rgba(1, 176, 126, .18);
    border-radius: 12px;
}
.authorization_modal .am_success_bonus p {
    font-size: 14px;
    color: #00413f;
    margin: 0;
    line-height: 1.4;
}
.authorization_modal .am_success_bonus p b {
    color: #01906a;
    font-weight: 700;
}
.authorization_modal .am_success_buttons {
    display: flex;
    flex-direction: column;
    gap: 8px;
    margin-top: 20px;
}
.authorization_modal .am_success_btn {
    display: block;
    width: 100%;
    padding: 15px 0;
    border-radius: 12px;
    text-align: center;
    text-decoration: none;
    box-sizing: border-box;
    cursor: pointer;
    transition: opacity .15s, border-color .15s, background .15s;
}
.authorization_modal .am_success_btn p {
    margin: 0;
    font-size: 16px;
    font-weight: 700;
}
.authorization_modal .am_success_btn_lk {
    background: linear-gradient(0deg, #01b07e 15%, #01b096 89%);
    border: none;
}
.authorization_modal .am_success_btn_lk p {
    color: #fff;
}
.authorization_modal .am_success_btn_lk:hover {
    opacity: .85;
}
.authorization_modal .am_success_btn_lk:active {
    opacity: .65;
}
.authorization_modal .am_success_btn_catalog {
    padding: 13px 0;
    border: 2px solid #e4ebe9;
    background: transparent;
}
.authorization_modal .am_success_btn_catalog p {
    color: #00413f;
    font-size: 15px;
    font-weight: 600;
}
.authorization_modal .am_success_btn_catalog:hover {
    border-color: #01b07e;
    background: rgba(1, 176, 126, .05);
}
.authorization_modal .am_success_btn_catalog:active {
    background: rgba(1, 176, 126, .1);
}
.authorization_modal .animate_load {
    display: none;
    justify-content: center;
    padding: 40px 0 10px;
}
.authorization_modal .am_spinner {
    width: 36px;
    height: 36px;
    border: 3px solid #e4ebe9;
    border-top-color: #01b07e;
    border-radius: 50%;
    animation: am-spin .7s linear infinite;
}
@keyframes am-spin {
    to { transform: rotate(360deg); }
}
.authorization_modal .am_phone_prefix {
    position: absolute;
    left: 14px;
    top: 50%;
    transform: translateY(-50%);
    pointer-events: none;
    z-index: 1;
    line-height: 0;
}
.authorization_modal .am_phone_prefix .am_flag {
    border-radius: 3px;
    display: block;
}
.authorization_modal .am_eye {
    position: absolute;
    right: 8px;
    top: 50%;
    transform: translateY(-50%);
    width: 36px;
    height: 36px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    cursor: pointer;
    color: #8a9a97;
    transition: background .15s, color .15s;
}
.authorization_modal .am_eye:hover {
    background: rgba(0, 65, 60, .07);
    color: #00413f;
}
.authorization_modal .am_eye.am_eye_open {
    color: #01b07e;
}
.authorization_modal .am_eye.am_eye_open:hover {
    color: #01906a;
}
@keyframes am-shake {
    0%, 100% { transform: translateX(0); }
    20% { transform: translateX(-12px); }
    40% { transform: translateX(10px); }
    60% { transform: translateX(-6px); }
    80% { transform: translateX(4px); }
}
.am_shake {
    animation: am-shake .4s ease;
}
@media screen and (max-width: 520px) {
    .authorization_modal .authorization_modal_wrapper {
        width: 100%;
        max-width: 100%;
        margin: 0;
        min-height: 100dvh;
        border-radius: 0;
        box-shadow: none;
        padding: 24px 20px;
    }
    .authorization_modal .line input {
        height: 60px;
        font-size: 19px;
    }
    .authorization_modal .button {
        padding: 19px 0;
    }
    .authorization_modal .button p {
        font-size: 19px;
    }
    .authorization_modal .button_throw {
        padding: 17px 0;
    }
    .authorization_modal .button_throw p {
        font-size: 18px;
    }
    .authorization_modal .button_recover_password p {
        font-size: 17px;
    }
    .authorization_modal .description p {
        font-size: 14px;
    }
    .authorization_modal .am_promo {
        padding: 14px 16px;
    }
    .authorization_modal .am_promo p {
        font-size: 15px;
    }
    .authorization_modal .am_promo_icon {
        width: 36px;
        height: 36px;
    }
    .authorization_modal .am_consent p {
        font-size: 13px;
    }
    .authorization_modal .line_authorization_notification p {
        font-size: 16px;
    }
    .authorization_modal .am_success_title p {
        font-size: 21px;
    }
    .authorization_modal .am_success_bonus p {
        font-size: 16px;
    }
    .authorization_modal .am_success_btn {
        padding: 19px 0;
    }
    .authorization_modal .am_success_btn p {
        font-size: 19px;
    }
    .authorization_modal .am_success_btn_catalog {
        padding: 17px 0;
    }
    .authorization_modal .am_success_btn_catalog p {
        font-size: 18px;
    }
}
.authorization_modal .am_methods {
    display: flex;
    flex-direction: column;
    gap: 10px;
    margin: 14px 0 8px;
}
.authorization_modal .am_method_card {
    display: flex;
    flex-direction: column;
    gap: 0;
    padding: 14px 16px;
    background: #fff;
    border: 1.5px solid #e5e9ec;
    border-radius: 14px;
    cursor: pointer;
    text-align: left;
    width: 100%;
    font: inherit;
    color: inherit;
    transition: transform .15s ease, border-color .15s ease, box-shadow .15s ease, background .15s ease;
}
.authorization_modal .am_method_card_top {
    display: flex;
    align-items: center;
    gap: 14px;
    width: 100%;
}
.authorization_modal .am_method_card:hover {
    border-color: #01b07e;
    background: #f7fbf9;
    transform: translateY(-1px);
    box-shadow: 0 6px 18px rgba(1, 176, 126, .12);
}
.authorization_modal .am_method_card:active {
    transform: translateY(0);
    box-shadow: 0 2px 6px rgba(1, 176, 126, .12);
}
.authorization_modal .am_method_icon {
    flex: 0 0 auto;
    width: 46px;
    height: 46px;
    border-radius: 13px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: #fff;
    background: linear-gradient(135deg, #01b07e, #00d4aa);
}
.authorization_modal .am_method_icon_telegram {
    background: linear-gradient(135deg, #0088cc, #229ed9);
}
.authorization_modal .am_method_icon_phone {
    background: linear-gradient(135deg, #01b07e, #00d4aa);
}
.authorization_modal .am_method_body {
    display: flex;
    flex-direction: column;
    gap: 2px;
    flex: 1 1 auto;
    min-width: 0;
}
.authorization_modal .am_method_title {
    font-weight: 600;
    color: rgba(0, 65, 65, .95);
    font-size: 15px;
}
.authorization_modal .am_method_hint {
    color: #999;
    font-size: 12px;
}
.authorization_modal .am_method_arrow {
    flex: 0 0 auto;
    color: #cfd6da;
    display: inline-flex;
    align-items: center;
    transition: color .15s ease, transform .15s ease;
}
.authorization_modal .am_method_card:hover .am_method_arrow {
    color: #01b07e;
    transform: translateX(2px);
}
.authorization_modal .am_retry_link {
    margin-top: 14px;
    text-align: center;
}
.authorization_modal .am_retry_btn {
    background: none;
    border: none;
    padding: 8px 10px;
    font-size: 13px;
    color: #888;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    gap: 6px;
}
.authorization_modal .am_retry_btn:not(:disabled):hover .am_retry_action {
    text-decoration: underline;
}
.authorization_modal .am_retry_btn:not(:disabled) .am_retry_action {
    color: #01b07e;
    font-weight: 500;
}
.authorization_modal .am_retry_btn:disabled {
    cursor: default;
}
.authorization_modal .am_retry_link.is-blocked .am_retry_action {
    color: #e2575c;
    font-weight: 500;
}
.authorization_modal .am_retry_meta {
    color: #aaa;
    font-variant-numeric: tabular-nums;
}
@media (max-width: 520px) {
    .authorization_modal .am_method_icon { width: 42px; height: 42px; border-radius: 12px; }
    .authorization_modal .am_method_title { font-size: 16px; }
}
.authorization_modal .am_phone_visual {
    margin: 12px 0;
    padding: 12px 14px;
    background: #f7fbf9;
    border: 1px dashed #b9e2d5;
    border-radius: 10px;
    text-align: center;
}
.authorization_modal .am_phone_visual_label {
    font-size: 12px;
    color: #6c7a78;
}
.authorization_modal .am_phone_visual_number {
    font-size: 18px;
    font-weight: 600;
    letter-spacing: .5px;
    color: rgba(0, 65, 65, .55);
    font-variant-numeric: tabular-nums;
    margin-top: 6px;
}
.authorization_modal .am_phone_visual_digits {
    color: #01b07e;
    background: rgba(1, 176, 126, .12);
    padding: 2px 8px;
    border-radius: 6px;
    margin-left: 2px;
    letter-spacing: 3px;
}
@media (max-width: 380px) {
    .authorization_modal .am_phone_visual_number { font-size: 16px; }
}
.authorization_modal .am_code_boxes {
    display: flex;
    gap: 10px;
    justify-content: center;
}
.authorization_modal .am_code_boxes .am_code_box {
    width: 56px;
    height: 64px;
    padding: 0;
    font-size: 28px;
    font-weight: 700;
    text-align: center;
    color: #00413f;
    border: 2px solid #e4ebe9;
    border-radius: 14px;
    background: #f7faf9;
    outline: none;
    box-sizing: border-box;
    transition: border-color .15s, background .15s, box-shadow .15s, transform .1s;
    caret-color: #01b07e;
}
.authorization_modal .am_code_boxes .am_code_box:focus {
    border-color: #01b07e;
    background: #fff;
    box-shadow: 0 0 0 3px rgba(1, 176, 126, .15);
}
.authorization_modal .am_code_boxes .am_code_box:not(:placeholder-shown),
.authorization_modal .am_code_boxes .am_code_box[value]:not([value=""]) {
    border-color: #01b07e;
    background: #f0fbf6;
}
.authorization_modal .am_code_boxes .am_code_box:disabled {
    background: #eef2f1;
    color: #6b7f7c;
    cursor: default;
}
@media (max-width: 420px) {
    .authorization_modal .am_code_boxes { gap: 8px; }
    .authorization_modal .am_code_boxes .am_code_box {
        width: 46px;
        height: 56px;
        font-size: 24px;
        border-radius: 12px;
    }
}
@media (max-width: 340px) {
    .authorization_modal .am_code_boxes { gap: 6px; }
    .authorization_modal .am_code_boxes .am_code_box {
        width: 40px;
        height: 50px;
        font-size: 22px;
    }
}

/* ================================================================
   BLOCK: notification_modal
   ================================================================ */

.ntf_modal {
    position: fixed;
    min-width: 280px;
    left: 10px;
    right: 10px;
    bottom: 8px;
    bottom: calc(8px + env(safe-area-inset-bottom, 0px));
    z-index: 11;
    display: flex;
    justify-content: center;
    pointer-events: none;
    transition: bottom .3s ease, opacity .35s ease, transform .35s ease, z-index 0s .35s;
    opacity: 1;
    transform: translateY(0);
}
.ntf_modal.ntf_hidden {
    opacity: 0;
    transform: translateY(calc(100% + 20px));
    pointer-events: none !important;
    z-index: -1;
}
.ntf_modal:not(.ntf_hidden) {
    transition: bottom .3s ease, opacity .35s ease, transform .35s ease, z-index 0s 0s;
}
.ntf_content {
    position: relative;
    display: flex;
    max-width: 900px;
    align-items: flex-start;
    gap: 14px;
    width: 100%;
    padding: 16px 48px 16px 18px;
    background: #fff;
    border: 1.5px solid rgba(0, 65, 63, .1);
    border-radius: 20px;
    box-shadow: 0 4px 24px rgba(0, 0, 0, .12);
    pointer-events: auto;
    box-sizing: border-box;
}
.ntf_modal:not(.ntf_p0) .ntf_content {
    cursor: pointer;
}
.ntf_icon {
    flex-shrink: 0;
    width: 24px;
    height: 24px;
    margin-top: -2px;
    display: none;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    align-self: flex-start;
}
.ntf_icon.ntf_icon_visible {
    display: flex;
}
.ntf_modal.ntf_type_info .ntf_icon     { background: rgba(1, 176, 126, .12); }
.ntf_modal.ntf_type_success .ntf_icon  { background: rgba(46, 174, 52, .12); }
.ntf_modal.ntf_type_error .ntf_icon    { background: rgba(226, 87, 92, .12); }
.ntf_modal.ntf_type_warning .ntf_icon  { background: rgba(245, 166, 35, .12); }
.ntf_modal.ntf_type_cookie .ntf_icon   { background: rgba(1, 176, 126, .12); }
.ntf_modal.ntf_type_order .ntf_icon    { background: rgba(1, 176, 126, .12); }
.ntf_modal.ntf_type_basket .ntf_icon   { background: rgba(1, 176, 126, .12); }
.ntf_modal.ntf_type_pharmacy .ntf_icon { background: rgba(1, 176, 126, .12); }
.ntf_icon img {
    width: 14px;
    height: 14px;
    object-fit: contain;
    object-position: center;
    display: block;
    place-self: center;
    margin: 0;
}
.ntf_body {
    flex: 1;
    min-width: 0;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 10px;
}
.ntf_text {
    flex: 1 1 auto;
    min-width: 0;
    font-size: 15.5px;
    line-height: 1.45;
    color: rgba(0, 0, 0, .78);
    word-break: break-word;
}
.ntf_text a {
    color: #01b07e;
    text-decoration: underline;
}
.ntf_buttons {
    display: none;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
    flex-shrink: 0;
}
.ntf_buttons.ntf_buttons_visible {
    display: flex;
}
.ntf_btn {
    border: none;
    border-radius: 8px;
    padding: 7px 16px;
    font-size: 12px;
    font-weight: 600;
    cursor: pointer;
    user-select: none;
    -webkit-user-select: none;
    transition: opacity .15s;
    white-space: nowrap;
}
.ntf_btn:hover { opacity: .85; }
.ntf_btn:active { opacity: .65; }
.ntf_btn_primary {
    background: linear-gradient(to top, rgba(1, 176, 126, 1), rgba(1, 176, 150, 1));
    color: #fff;
}
.ntf_btn_secondary {
    background: rgba(0, 0, 0, .06);
    color: rgba(0, 0, 0, .65);
}
.ntf_btn_link {
    background: none;
    color: #01b07e;
    padding: 7px 8px;
    text-decoration: underline;
}
.ntf_close {
    position: absolute;
    top: 8px;
    right: 8px;
    width: 32px;
    height: 32px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 20px;
    color: rgba(0, 0, 0, .35);
    cursor: pointer;
    border-radius: 8px;
    transition: background .15s, color .15s;
    line-height: 1;
    overflow: hidden;
}
.ntf_close:hover {
    background: rgba(0, 0, 0, .05);
    color: rgba(0, 0, 0, .55);
}
.ntf_close:active {
    background: rgba(0, 0, 0, .08);
    color: rgba(0, 0, 0, .6);
}
.ntf_progress {
    position: absolute;
    left: 16px;
    right: 16px;
    bottom: 6px;
    height: 3px;
    border-radius: 2px;
    background: rgba(0, 0, 0, .06);
    overflow: hidden;
}
.ntf_progress_bar {
    height: 100%;
    border-radius: 2px;
    background: rgba(1, 176, 126, .4);
    width: 100%;
    transition: width linear;
}
.ntf_ph_label {
    white-space: nowrap;
}
.ntf_ph_addr {
    display: inline;
    word-break: break-word;
}
.ntf_ph_city {
    white-space: nowrap;
}
.ntf_ph_street {
    word-break: break-word;
}
@media (max-width: 480px) {
    .ntf_ph_addr { display: block; }
    .ntf_ph_city { display: block; }
    .ntf_ph_street { display: block; }
    .ntf_text { font-size: 14.5px; }
}
@media (min-width: 481px) and (max-width: 640px) {
    .ntf_ph_addr { display: block; }
}
@media (max-width: 640px) {
    .ntf_modal {
        left: 0;
        right: auto;
        width: calc(100% - 20px);
        margin-left: 10px;
    }
    
    .ntf_modal.ntf_p1 {
        bottom: calc(var(--bmh-h, 65px) + 3px);
    }
    
    .ntf_modal.ntf_p0 {
        bottom: 8px;
        bottom: calc(8px + env(safe-area-inset-bottom, 0px));
    }
    .ntf_content {
        border-radius: 16px;
        padding: 14px 40px 14px 14px;
    }
}

/* ================================================================
   BLOCK: catalog_filters_mobile
   ================================================================ */

.cfm_modal {
    position: fixed;
    inset: 0;
    z-index: 1050;
    opacity: 0;
    visibility: hidden;
    transition: opacity .25s ease, visibility .25s ease;
}
.cfm_modal.cfm_open {
    opacity: 1;
    visibility: visible;
}
.cfm_overlay {
    position: absolute;
    inset: 0;
    background: rgba(0, 30, 30, .45);
    backdrop-filter: blur(4px);
    -webkit-backdrop-filter: blur(4px);
}
.cfm_container {
    position: absolute;
    inset: 0;
    display: flex;
    flex-direction: column;
    background: #fff;
    transform: translateY(20px);
    transition: transform .25s ease;
}
.cfm_modal.cfm_open .cfm_container {
    transform: translateY(0);
}
.cfm_head {
    flex-shrink: 0;
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 16px 20px;
    font-family: "Unbounded", ui-sans-serif, system-ui, sans-serif;
    font-weight: 500;
    font-size: 18px;
    color: rgba(0, 65, 65, .95);
    border-bottom: 1px solid rgba(200, 200, 200, .2);
}
.cfm_close {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    border-radius: 10px;
    cursor: pointer;
    color: rgba(0, 0, 0, .4);
    transition: background .15s, color .2s;
}
.cfm_close:hover {
    background: rgba(0, 65, 63, .07);
    color: rgba(0, 0, 0, .8);
}
.cfm_body {
    flex: 1;
    min-height: 0;
    overflow-y: auto;
    padding: 0 20px;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: thin;
    scrollbar-color: rgba(0, 0, 0, .15) transparent;
}
.cfm_body::-webkit-scrollbar {
    width: 4px;
}
.cfm_body::-webkit-scrollbar-thumb {
    background: rgba(0, 0, 0, .15);
    border-radius: 4px;
}
.cfm_footer {
    flex-shrink: 0;
    display: flex;
    gap: 8px;
    padding: 12px 20px;
    padding-bottom: max(12px, env(safe-area-inset-bottom));
    border-top: 1px solid rgba(200, 200, 200, .2);
    background: #fff;
}
.cfm_apply {
    flex: 1;
    padding: 12px 0;
    border: none;
    border-radius: 10px;
    background: rgba(1, 176, 126, 1);
    color: #fff;
    font-size: 15px;
    font-weight: 600;
    cursor: pointer;
    transition: background .2s;
}
.cfm_apply:hover {
    background: rgba(1, 156, 131, 1);
}
.cfm_reset {
    padding: 12px 20px;
    border: 1px solid rgba(200, 200, 200, .5);
    border-radius: 10px;
    background: #fff;
    color: rgba(0, 0, 0, .55);
    font-size: 14px;
    font-weight: 500;
    cursor: pointer;
    transition: border-color .2s, color .2s;
}
.cfm_reset:hover {
    border-color: rgba(1, 176, 126, .5);
    color: rgba(1, 176, 126, 1);
}
@media screen and (min-width: 901px) {
    .cfm_modal {
        display: none !important;
    }
}

/* ================================================================
   BLOCK: page_navigator
   ================================================================ */

.pn {
	position: relative; 
	z-index: 1;
    padding: 15px 10px 0;
    margin-bottom: -5px;
}
.pn_list {
    display: flex;
    align-items: center;
    flex-wrap: nowrap;
    list-style: none;
    margin: 0;
    padding: 0;
}
.pn_item {
    display: flex;
    align-items: center;
    font-size: 13px;
    line-height: 1.4;
    min-width: 0;
    flex-shrink: 0;
}
.pn_item:last-child {
    flex-shrink: 1;
    overflow: hidden;
}
.pn_item:last-child span {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.pn_item + .pn_item::before {
    content: '';
    display: block;
    width: 14px;
    height: 14px;
    margin: 0 6px;
    flex-shrink: 0;
    opacity: .3;
    background: url("data:image/svg+xml,%3Csvg viewBox='0 0 16 16' fill='none' stroke='%2300413f' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M6 3l5 5-5 5'/%3E%3C/svg%3E") center/contain no-repeat;
}
.pn_item a {
    color: rgba(0, 65, 63, .4);
    text-decoration: none;
    white-space: nowrap;
    transition: color .2s ease;
}
.pn_item a:hover {
    color: #01b07e;
}
.pn_item span {
    color: rgba(0, 65, 63, .65);
}
@media screen and (max-width: 900px) {
    .pn {
        overflow: hidden;
    }
    .pn_list {
        overflow: hidden;
        mask-image: linear-gradient(to right, #000 calc(100% - 32px), transparent);
        -webkit-mask-image: linear-gradient(to right, #000 calc(100% - 32px), transparent);
    }
    .pn_item {
        font-size: 12px;
    }
    .pn_item + .pn_item::before {
        margin: 0 4px;
    }
}

/* ================================================================
   BLOCK: banner_global
   ================================================================ */

.bg_modal {
    position: fixed;
    inset: 0;
    z-index: 1060;
    display: none;
    align-items: center;
    justify-content: center;
}
.bg_modal .bg_overlay {
    position: absolute;
    inset: 0;
    background: rgba(0, 20, 15, .5);
    backdrop-filter: blur(4px);
    -webkit-backdrop-filter: blur(4px);
    opacity: 0;
    transition: opacity .3s ease;
}
.bg_modal.bg_visible .bg_overlay {
    opacity: 1;
}
.bg_modal .bg_wrapper {
    position: relative;
    max-width: 460px;
    width: calc(100% - 32px);
    max-height: calc(100dvh - 60px);
    border-radius: 20px;
    overflow: hidden;
    overflow-y: auto;
    opacity: 0;
    transform: scale(.92) translateY(20px);
    transition: opacity .35s ease, transform .35s cubic-bezier(.34, 1.4, .64, 1);
}
.bg_modal.bg_visible .bg_wrapper {
    opacity: 1;
    transform: scale(1) translateY(0);
}
.bg_modal .bg_close {
    -webkit-appearance: none;
    appearance: none;
    -webkit-tap-highlight-color: transparent;
    position: absolute;
    top: 10px;
    right: 10px;
    z-index: 5;
    width: 28px;
    height: 28px;
    padding: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    border: none;
    border-radius: 50%;
    background: rgba(0, 0, 0, .45);
    color: #fff;
    cursor: pointer;
    transition: background .15s;
}
.bg_modal .bg_close svg {
    width: 16px;
    height: 16px;
}
.bg_modal .bg_close:hover {
    background: rgba(0, 0, 0, .65);
}
.bg_modal .bg_image {
    display: block;
    width: 100%;
    height: auto;
    aspect-ratio: 2 / 3;
    object-fit: cover;
    border-radius: 20px;
}
.bg_modal .bg_button {
    position: absolute;
    bottom: 30px;
    left: 40px;
    right: 40px;
    z-index: 5;
    padding: 20px 20px;
    border: none;
    border-radius: 12px;
    background: linear-gradient(135deg, rgba(1, 176, 126, 1), rgba(1, 196, 150, 1), rgba(1, 160, 120, 1), rgba(1, 176, 126, 1));
    background-size: 300% 300%;
    animation: ps_btn_shimmer 4s ease infinite;
    color: #fff;
    font-size: 18px;
    font-weight: 600;
    cursor: pointer;
    transition: background .15s, transform .1s;
}
.bg_modal .bg_button:hover {
    background: #019a6e;
}
.bg_modal .bg_button:active {
    transform: scale(.98);
}
@media screen and (max-width: 520px) {
    .bg_modal .bg_wrapper {
        width: calc(100% - 24px);
        min-width: 280px;
        border-radius: 16px;
    }
    .bg_modal .bg_image {
        border-radius: 16px;
    }
    .bg_modal .bg_button {
        left: 25px;
        right: 25px;
        padding: 16px 20px;
    }
    
    .bg_modal .bg_close {
        top: 10px;
        right: 10px;
        width: 36px;
        height: 36px;
        background: rgba(0, 0, 0, .55);
    }
    .bg_modal .bg_close svg {
        width: 20px;
        height: 20px;
    }
}

/* ================================================================
   BLOCK: catalog_menu_header
   ================================================================ */

.catalog_menu_header {
    margin-top: 20px;
    min-width: 300px;
    box-sizing: border-box;
    position: relative;
}
header .header_menu,
.header_fixed .header_menu {
    margin-top: 5px;
    padding-bottom: 15px;
    overflow: hidden;
}
header .header_menu .catalog_menu_header,
.header_fixed .header_menu .catalog_menu_header {
    margin-top: 0;
}
header.catm_header_active .header_menu,
.header_fixed.catm_header_active .header_menu {
    display: none;
}
.cmh_arrow {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: 30px;
    height: 30px;
    border-radius: 50%;
    background: rgba(255, 255, 255, .92);
    border: 1.5px solid rgba(0, 65, 63, .12);
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    z-index: 2;
    transition: opacity .2s, border-color .2s;
    box-shadow: 0 1px 4px rgba(0, 0, 0, .06);
}
.cmh_arrow:hover {
    border-color: rgba(1, 176, 126, .5);
}
.cmh_arrow:active {
    border-color: rgba(1, 176, 126, .8);
}
.cmh_arrow svg {
    width: 14px;
    height: 14px;
    stroke: rgba(0, 65, 65, .65);
}
.cmh_arrow_prev {
    left: 0;
}
.cmh_arrow_next {
    right: 0;
}
.cmh_arrow_hidden {
    opacity: 0;
    pointer-events: none;
}
@media screen and (max-width: 600px) {
    .cmh_arrow {
        display: none;
    }
}
.cmh_track {
    display: flex;
    gap: 8px;
    overflow-x: auto;
    scrollbar-width: none;
    cursor: grab;
    user-select: none;
    -webkit-user-select: none;
    padding: 0;
    width: 100%;
}
.cmh_track::-webkit-scrollbar {
    display: none;
}
.cmh_track.cmh_dragging {
    cursor: grabbing;
    scroll-behavior: auto;
}
.cmh_track.cmh_dragging * {
    pointer-events: none;
}
.cmh_item {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 10px;
    padding: 6px 14px 6px 6px;
    background: linear-gradient(0deg, #e8f7f2 15%, #e7f7f3 89%);
    border-radius: 20px;
    text-decoration: none;
    transition: background .2s;
    box-sizing: border-box;
    flex-shrink: 0;
    max-width: 240px;
}
.cmh_item:hover {
    background: linear-gradient(0deg, #dbf0e9 15%, #daf0ea 89%);
}
.cmh_icon {
    width: 32px;
    height: 32px;
    flex-shrink: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
}
.cmh_icon svg,
.cmh_icon img {
    width: 70%;
    height: 70%;
    object-fit: contain;
}
.cmh_name {
    font-size: 13px;
    font-weight: 500;
    color: #2a4a4a;
    text-align: left;
    line-height: 1.2;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    min-width: 0;
}
@media screen and (max-width: 520px) {
    .cmh_item {
        gap: 8px;
        padding: 5px 12px 5px 5px;
        max-width: 200px;
    }
    .cmh_icon {
        width: 28px;
        height: 28px;
    }
    .cmh_name {
        font-size: 12px;
    }
}

/* ================================================================
   BLOCK: banner_index
   ================================================================ */

.home_banner {
    margin-top: 20px;
    padding: 0 10px;
    min-width: 300px;
    box-sizing: border-box;
}
.hb_slider {
    position: relative;
    border-radius: 16px;
    overflow: hidden;
    user-select: none;
    -webkit-user-select: none;
    -webkit-mask-image: -webkit-radial-gradient(white, black);
    isolation: isolate;
}
.hb_track {
    display: flex;
    overflow-x: auto;
    scrollbar-width: none;
    cursor: grab;
    user-select: none;
    -webkit-user-select: none;
    border-radius: 16px;
    scroll-snap-type: x mandatory;
    -webkit-overflow-scrolling: touch;
    overscroll-behavior-x: contain;
}
.hb_track::-webkit-scrollbar {
    display: none;
}
.hb_track.hb_dragging {
    scroll-snap-type: none;
}
.hb_track.hb_dragging {
    cursor: grabbing;
}
.hb_track.hb_dragging * {
    pointer-events: none;
}
.hb_slide {
    flex-shrink: 0;
    width: 100%;
    min-height: 340px;
    position: relative;
    overflow: hidden;
    scroll-snap-align: start;
    scroll-snap-stop: always;
}
.hb_slide::before {
    content: '';
    position: absolute;
    inset: 0;
    background: var(--hb-bg) center bottom/cover no-repeat;
    transition: transform 0.6s ease;
    pointer-events: none;
}
.hb_slide:hover::before {
    transform: scale(1.04);
}
.hb_slide_link {
    display: flex;
    align-items: center;
    height: 100%;
    min-height: 340px;
    padding: 40px 60px 40px clamp(30px, 10vw, 140px);
    text-decoration: none;
    color: #fff;
    position: relative;
    z-index: 1;
    box-sizing: border-box;
    background: linear-gradient(to right, rgba(var(--hb-c),.9) 0%, rgba(var(--hb-c),.75) 40%, rgba(var(--hb-c),.4) 65%, rgba(var(--hb-c),.1) 85%, transparent 100%);
}
.hb_slide_content {
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 14px;
    min-width: 0;
    text-shadow: 0 1px 4px rgba(0, 0, 0, .3);
    position: relative;
    z-index: 1;
}
.hb_discount {
    display: inline-block;
    padding: 6px 18px;
    border-radius: 10px;
    font-size: 20px;
    font-weight: 700;
    width: fit-content;
    letter-spacing: .5px;
    background: linear-gradient(
        90deg,
        #ff6a3d 0%,
        #ff3d68 25%,
        #ff8a3d 50%,
        #ff3d68 75%,
        #ff6a3d 100%
    );
    background-size: 250% 100%;
    box-shadow: 0 2px 8px rgba(255, 90, 54, .3);
    animation: hb_discount_shimmer 4s linear infinite;
}
@keyframes hb_discount_shimmer {
    0%   { background-position: 0% 50%; }
    100% { background-position: 250% 50%; }
}
.hb_name {
    font-family: "Unbounded", ui-sans-serif, system-ui, sans-serif;
    font-size: 24px;
    font-weight: 500;
    line-height: 1.35;
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
    word-break: break-word;
}
.hb_pricerow {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 14px;
}
.hb_prices {
    display: flex;
    align-items: baseline;
    gap: 14px;
}
.hb_price_old {
    font-size: 18px;
    font-weight: 500;
    text-decoration: line-through;
    opacity: .55;
}
.hb_price_new {
    font-size: 34px;
    font-weight: 800;
    letter-spacing: -.5px;
}
.hb_cta {
    display: inline-block;
    padding: 11px 28px;
    border: 2px solid rgba(255, 255, 255, .5);
    border-radius: 12px;
    font-size: 14px;
    font-weight: 600;
    width: fit-content;
    transition: background .2s, border-color .2s;
}
.hb_slide_link:hover .hb_cta {
    background: rgba(255, 255, 255, .15);
    border-color: rgba(255, 255, 255, .7);
}
.hb_slide_image {
    flex-shrink: 0;
    width: 38%;
    display: flex;
    align-items: flex-end;
    justify-content: center;
    padding-left: 20px;
    align-self: flex-end;
    position: relative;
    z-index: 1;
}
.hb_slide_image img {
    max-width: 100%;
    max-height: 240px;
    object-fit: contain;
    image-rendering: -webkit-optimize-contrast;
    transition: transform 1.2s ease-out;
}
.hb_slide_link:hover .hb_slide_image img {
    transform: scale(1.05);
}
.hb_arrow {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: 36px;
    height: 36px;
    border-radius: 50%;
    background: rgba(255, 255, 255, .2);
    border: 1.5px solid rgba(255, 255, 255, .35);
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    z-index: 2;
    transition: opacity .25s, background .2s, border-color .2s;
}
.hb_arrow:hover {
    background: rgba(255, 255, 255, .35);
    border-color: rgba(255, 255, 255, .55);
}
.hb_arrow:active {
    background: rgba(255, 255, 255, .45);
}
.hb_arrow svg {
    width: 16px;
    height: 16px;
    stroke: #fff;
}
.hb_arrow_prev {
    left: 14px;
}
.hb_arrow_next {
    right: 14px;
}
.hb_arrow_hidden {
    opacity: 0;
    pointer-events: none;
}
.hb_dots {
    position: absolute;
    bottom: 18px;
    left: 50%;
    transform: translateX(-50%);
    display: flex;
    gap: 8px;
    z-index: 2;
}
.hb_dot {
    width: 10px;
    height: 10px;
    border-radius: 50%;
    border: none;
    background: rgba(255, 255, 255, .35);
    cursor: pointer;
    padding: 0;
    transition: background .25s, transform .25s;
}
.hb_dot:hover {
    background: rgba(255, 255, 255, .6);
}
.hb_dot_active {
    background: #fff;
    transform: scale(1.25);
}
@media screen and (max-width: 768px) {
    .hb_arrow {
        display: none;
    }
    .hb_slide {
        min-height: 300px;
    }
    .hb_slide_link {
        min-height: 300px;
        padding: 32px 36px;
    }
    .hb_name {
        font-size: 22px;
    }
    .hb_price_new {
        font-size: 28px;
    }
    .hb_slide_image img {
        max-height: 200px;
    }
}
@media screen and (max-width: 520px) {
    .hb_slide {
        min-height: auto;
    }
    .hb_slide_link {
        flex-direction: column-reverse;
        min-height: auto;
        padding: 24px 24px 44px;
        gap: 12px;
    }
    .hb_slide_content {
        gap: 10px;
        align-items: flex-start;
        width: 100%;
        flex: 0 0 auto;
    }
    .hb_slide_link {
        background: linear-gradient(to top, rgba(var(--hb-c),.9) 0%, rgba(var(--hb-c),.7) 40%, rgba(var(--hb-c),.3) 65%, transparent 85%);
    }
    .hb_slide_image {
        width: 60%;
        padding-left: 0;
        align-self: center;
    }
    .hb_slide_image img {
        max-height: 190px;
    }
    .hb_discount {
        font-size: 17px;
        padding: 5px 14px;
    }
    .hb_name {
        font-size: 19px;
        -webkit-line-clamp: 2;
    }
    .hb_price_old {
        font-size: 15px;
    }
    .hb_price_new {
        font-size: 24px;
    }
    .hb_cta {
        padding: 9px 14px;
        font-size: 13px;
    }
    
    .hb_pricerow {
        flex-direction: row;
        align-items: center;
        flex-wrap: wrap;
        width: 100%;
    }
    .hb_pricerow .hb_cta {
        margin-left: auto;
    }
    .hb_dots {
        bottom: 14px;
    }
}
@media screen and (max-width: 380px) {
    .hb_slide_link {
        padding: 20px 18px 40px;
    }
    .hb_slide_image {
        width: 55%;
    }
    .hb_slide_image img {
        max-height: 130px;
    }
    .hb_name {
        font-size: 16px;
    }
    .hb_price_new {
        font-size: 22px;
    }
}

/* ================================================================
   BLOCK: product_slider
   ================================================================ */

.product_slider {
    --is-accent: #0E8A5F;
    --is-accent-soft: rgba(14, 138, 95, 0.14); 
    --is-ink: #152019;
    margin-top: 40px;
    min-width: 300px;
    box-sizing: border-box;
}
.product_single .product_slider {
    margin-left: -10px;
    margin-right: -10px;
}
.product_slider .pis_header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding-right: 10px;
    margin-bottom: 5px;
}
.product_slider .pis_header .page_title {
    margin-bottom: 0;
}
.product_slider .pis_header_pill {
    align-items: end;
    margin-bottom: 15px;
}
.product_slider .pis_title_block {
    display: flex;
    flex-direction: column;
    gap: 15px;
    min-width: 0;
    margin-left: 10px;
}
.product_slider .pis_title_block .is_section_title {
    margin: 0;
    text-wrap: balance;
}
.product_slider .pis_title_block .is_pill {
    align-self: flex-start;
}
.product_slider .pis_nav {
    display: flex;
    gap: 8px;
    flex-shrink: 0;
}
.product_slider .pis_arrow {
    width: 36px;
    height: 36px;
    border-radius: 50%;
    background: rgba(255, 255, 255, .92);
    border: 1.5px solid rgba(0, 65, 63, .12);
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    box-shadow: 0 2px 8px rgba(0, 40, 30, .08);
    transition: opacity .2s, background .2s, border-color .2s;
}
.product_slider .pis_arrow:hover {
    background: #fff;
    border-color: rgba(1, 176, 126, .5);
}
.product_slider .pis_arrow:active {
    border-color: rgba(1, 176, 126, .8);
}
.product_slider .pis_arrow svg {
    width: 16px;
    height: 16px;
    stroke: rgba(0, 65, 65, .65);
}
.product_slider .pis_arrow_hidden {
    opacity: .35;
    pointer-events: none;
}
.product_slider .pis_arrow_disabled {
    opacity: .35;
    pointer-events: none;
    cursor: default;
}
.product_slider .pis_arrow_disabled:hover {
    background: rgba(255, 255, 255, .92);
    border-color: rgba(0, 65, 63, .12);
}
@media screen and (max-width: 600px) {
    .product_slider .pis_nav {
        display: none;
    }
}
.product_slider .product_wrapper {
    display: flex;
    gap: 10px;
    overflow-x: auto;
    scrollbar-width: none;
    cursor: grab;
    user-select: none;
    -webkit-user-select: none;
    padding: 8px 0 12px;
    width: calc(100% - 20px);
    margin-left: 10px;
}
.product_slider .product_wrapper::-webkit-scrollbar {
    display: none;
}
.product_slider .product_wrapper.pis_dragging {
    cursor: grabbing;
    scroll-behavior: auto;
}
.product_slider .product_wrapper.pis_dragging * {
    pointer-events: none;
}
.product_slider .product {
    flex-shrink: 0;
    width: 188.6px;
    background: #fff;
    border: 1.5px solid rgba(0, 65, 63, .1);
    border-radius: 12px;
    display: flex;
    flex-direction: column;
    overflow: hidden;
    box-sizing: border-box;
    transition: border-color .2s;
}
.product_slider .product:hover {
    border-color: rgba(1, 176, 126, .35);
}
.product_slider .pis_image {
    position: relative;
    display: block;
    width: 68%;
    margin: 14px auto 0;
    aspect-ratio: 1;
}
.product_slider .pis_image::after {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    width: 24px;
    height: 24px;
    margin: -12px 0 0 -12px;
    border: 2.5px solid rgba(0, 0, 0, .08);
    border-top-color: rgba(1, 176, 126, .6);
    border-radius: 50%;
    animation: pis_spin .7s linear infinite;
    z-index: 0;
}
.product_slider .pis_image img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    position: relative;
    z-index: 1;
    background: #fff;
    opacity: 0;
    transition: opacity .2s;
}
.product_slider .pis_image img.pis_loaded {
    opacity: 1;
}
.product_slider .pis_title {
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    padding: 10px 12px 0;
    font-size: 15px;
    font-weight: 600;
    line-height: 1.3;
    color: rgba(0, 65, 65, .95);
    text-decoration: none;
    word-break: break-word;
}
.product_slider .pis_title:hover {
    color: rgba(1, 176, 126, 1);
}
.product_slider .pis_desc {
    padding: 6px 12px 0;
    display: flex;
    flex-direction: column;
    gap: 3px;
}
.product_slider .pis_recipe {
    font-size: 12px;
    color: rgba(0, 0, 0, .35);
}
.product_slider .pis_recipe_rx {
    display: inline-block;
    font-size: 12px;
    font-weight: 400;
    color: #fff;
    background: linear-gradient(to right, #e2575c, #fc7f51);
    padding: 1px 6px;
    border-radius: 4px;
    width: fit-content;
}
.product_slider .pis_mfr {
    font-size: 12px;
    color: rgba(0, 0, 0, .3);
    line-height: 1.3;
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
    word-break: break-word;
}
.product_slider .pis_price {
    padding: 5px 12px 0px;
    display: flex;
    align-items: baseline;
    gap: 6px;
    margin-top: auto;
}
.product_slider .pis_price_val {
    font-size: 18px;
    font-weight: 700;
    color: rgba(0, 65, 65, .95);
    white-space: nowrap;
}
.product_slider .pis_price_val .pis_rub {
    font-weight: 400;
}
.product_slider .pis_price_from {
    color: rgba(0, 65, 65, .55);
    font-weight: 600;
}
.product_slider .pis_price_sale .pis_price_val {
    color: #e2575c;
}
.product_slider .pis_price_old {
    font-size: 13px;
    color: rgba(0, 0, 0, .4);
    text-decoration: line-through;
    white-space: nowrap;
}
.product_slider .pis_price_none {
    font-size: 14px;
    color: rgba(0, 0, 0, .4);
}
.product_slider .pis_actions {
    padding: 8px 12px 12px;
}
.product_slider .pis_btn {
    display: block;
    width: 100%;
    padding: 9px 0;
    text-align: center;
    border-radius: 10px;
    font-size: 13px;
    font-weight: 500;
    cursor: pointer;
    border: 1px solid rgba(1, 176, 126, .7);
    color: #fff;
    background: linear-gradient(to top, rgba(1, 176, 126, 1), rgba(1, 176, 150, 1));
    box-sizing: border-box;
    transition: opacity .15s;
}
.product_slider .pis_btn:hover {
    opacity: .85;
}
.product_slider .pis_btn_in_basket {
    background: rgba(0, 65, 65, .07);
    border-color: rgba(0, 65, 65, .15);
    color: rgba(0, 65, 65, .6);
}
.product_slider .pis_btn_in_basket:hover {
    background: rgba(0, 65, 65, .12);
    opacity: 1;
}
.product_slider .pis_btn_load {
    display: none;
    width: 100%;
    padding: 9px 0;
    border-radius: 10px;
    background: linear-gradient(to top, rgba(1, 176, 126, 1), rgba(1, 176, 150, 1));
    border: 1px solid rgba(1, 176, 126, .7);
    position: relative;
    box-sizing: border-box;
    font-size: 13px;
    line-height: inherit;
}
.product_slider .pis_btn_load::before {
    content: '\00a0';
    visibility: hidden;
}
.product_slider .pis_spinner {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 20px;
    height: 20px;
    margin: -10px 0 0 -10px;
    border: 2.5px solid rgba(255, 255, 255, .3);
    border-top-color: #fff;
    border-radius: 50%;
    animation: pis_spin .7s linear infinite;
}
@keyframes pis_spin {
    to { transform: rotate(360deg); }
}
@media screen and (max-width: 520px) {
    .product_slider .pis_title {
        padding: 8px 10px 0;
    }
    .product_slider .pis_desc {
        padding: 5px 10px 0;
    }
    .product_slider .pis_price_val {
        font-size: 16px;
    }
    .product_slider .pis_actions {
        padding: 6px 10px 10px;
    }
}
@media screen and (max-width: 380px) {
    .product_slider .pis_image {
        margin-top: 10px;
    }
    .product_slider .pis_price_val {
        font-size: 15px;
    }
}
.product_slider .pis_badge {
    position: absolute;
    top: 8px;
    left: 8px;
    z-index: 2;
    display: inline-block;
    padding: 3px 10px;
    font-size: 11px;
    font-weight: 600;
    line-height: 1.3;
    border-radius: 20px;
    white-space: nowrap;
}
.product_slider .pis_badge_promo {
    color: #fff;
    background: linear-gradient(135deg, #43b581, #f5a623, #43b581);
    background-size: 200% 200%;
    animation: pis_badge_shimmer 2.5s ease infinite;
}
@keyframes pis_badge_shimmer {
    0%   { background-position: 0% 50%; }
    50%  { background-position: 100% 50%; }
    100% { background-position: 0% 50%; }
}

/* ================================================================
   BLOCK: info_slider
   ================================================================ */

.is_section {
    --is-ink: #152019;
    --is-ink-soft: #5A6A60;
    --is-bg: #FFFFFF;
    --is-border: rgba(21, 32, 25, 0.10);
    --is-border-strong: rgba(21, 32, 25, 0.18);
    --is-accent: #0E8A5F;
    --is-accent-soft: rgba(14, 138, 95, 0.14); 
    --is-radius: 16px;
    color: var(--is-ink);
    font-family: "Manrope", ui-sans-serif, system-ui, sans-serif;
    line-height: 1.55;
    margin: 30px 10px 0;
}
.is_section *,
.is_section *::before,
.is_section *::after { box-sizing: border-box; }
.is_section_head {
    display: flex;
    justify-content: space-between;
    align-items: end;
    margin-bottom: 25px;
    flex-wrap: wrap;
    gap: 15px;
}
.is_pill {
    display: inline-flex;
    align-items: center;
    padding: 8px 16px;
    border-radius: 999px;
    background: var(--is-accent-soft);
    color: var(--is-accent);
    font-size: 0.78rem;
    font-weight: 500;
    letter-spacing: 0.02em;
    line-height: 1;
}
.is_section_title {
    font-family: "Unbounded", ui-sans-serif, system-ui, sans-serif;
    font-weight: 600;
    font-size: 1.8rem;
    letter-spacing: -0.03em;
    line-height: 1;
    margin: 15px 0 0;
    color: rgba(0, 65, 65, .95);
    text-wrap: balance;
}
@media (max-width: 420px) {
    .is_section_title {
        font-size: 1.5rem;
        line-height: 1.15;
    }
}
@media (max-width: 350px) {
    .is_section_title { font-size: 1.38rem; }
}
.is_btn {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 12px 22px;
    border-radius: 999px;
    border: 1px solid var(--is-border-strong);
    background: transparent;
    color: var(--is-ink);
    font-family: "Manrope", ui-sans-serif, system-ui, sans-serif;
    font-weight: 600;
    font-size: 0.86rem;
    text-decoration: none;
    cursor: pointer;
    white-space: nowrap;
    transition: border-color .2s, color .2s;
}
.is_btn_ghost:hover {
    border-color: var(--is-accent);
    color: var(--is-accent);
}
.is_grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 20px;
}
.is_card {
    background: var(--is-bg);
    border-radius: calc(var(--is-radius) * 1.5);
    overflow: hidden;
    border: 1px solid var(--is-border);
    text-decoration: none;
    color: var(--is-ink);
    display: flex;
    flex-direction: column;
    transition: transform .25s cubic-bezier(.2, .7, .1, 1);
    transform: translateZ(0);
    isolation: isolate;
}
.is_card:hover { transform: translateY(-3px); }
.is_cover {
    aspect-ratio: 16 / 10;
    position: relative;
    display: flex;
    align-items: flex-start;
    padding: 16px;
    background: var(--is-color, var(--is-accent)); 
    background: linear-gradient(135deg, var(--is-color, var(--is-accent)) 0%, color-mix(in oklch, var(--is-color, var(--is-accent)) 65%, #000) 100%);
    color: #fff;
    overflow: hidden;
    border-radius: calc(var(--is-radius) * 1.5) calc(var(--is-radius) * 1.5) 0 0;
    -webkit-mask-image: -webkit-linear-gradient(#000, #000);
            mask-image:         linear-gradient(#000, #000);
}
.is_cover_pic {
    position: absolute;
    top: 0;
    right: 0;
    height: 100%;
    width: auto;
    pointer-events: none;
    z-index: 1;
}
.is_cover > .is_tags {
    position: relative;
    z-index: 2;
}
.is_tags {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    max-width: 100%;
}
.is_tag {
    padding: 4px 10px;
    border-radius: 999px;
    background: var(--is-color, #0E8A5F); 
    opacity: 0.8;
    color: #fff;
    font-size: 0.76rem;
    font-weight: 600;
}
.is_body {
    padding: 20px;
    display: flex;
    flex-direction: column;
    flex: 1;
}
.is_date {
    font-size: 0.76rem;
    color: var(--is-ink-soft);
    letter-spacing: 0.02em;
}
.is_title {
    font-family: "Unbounded", ui-sans-serif, system-ui, sans-serif;
    font-weight: 600;
    font-size: 1.25rem;
    letter-spacing: -0.015em;
    line-height: 1.2;
    margin: 6px 0 10px;
    text-wrap: balance;
    color: rgba(0, 65, 65, .95);
}
.is_excerpt {
    margin: 0;
    color: var(--is-ink-soft);
    font-size: 0.86rem;
    line-height: 1.5;
    flex: 1;
}
.is_more {
    margin-top: 18px;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    color: var(--is-color, var(--is-accent));
    font-weight: 600;
    font-size: 0.86rem;
}
@media (max-width: 1024px) {
    .is_grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 600px) {
    .is_grid { grid-template-columns: 1fr; gap: 14px; }
    .is_section_head { margin-bottom: 22px; }
    .is_section_head .is_btn { width: 100%; justify-content: center; }
    .is_cover { padding: 14px; aspect-ratio: 16 / 9; }
    .is_body { padding: 18px; }
    .is_title { font-size: 1.15rem; }
    .is_cover_pic {
        inset: 0;
        width: 100%;
        height: 100%;
        object-fit: cover;
        object-position: center;
    }
}

/* ================================================================
   BLOCK: page_description
   ================================================================ */

.pd_section {
    --pd-accent:        #0E8A5F;
    --pd-accent-dark:   #0C6B4A;
    --pd-ink:           #152019;
    --pd-ink-soft:      #5A6A60;
    --pd-bg:            #FFFFFF;
    --pd-surface:       #F6FAF6;
    --pd-border:        rgba(21, 32, 25, 0.10);
    --pd-border-strong: rgba(21, 32, 25, 0.18);
    --pd-accent-soft:   rgba(14, 138, 95, 0.14); 
    --pd-radius:        16px;
    --pd-h-font:        "Unbounded", ui-sans-serif, system-ui, sans-serif;
    --pd-b-font:        "Manrope", ui-sans-serif, system-ui, sans-serif;
    background: var(--pd-surface);
    color: var(--pd-ink);
    font-family: var(--pd-b-font);
    font-size: 1rem;
    line-height: 1.55;
    padding: 20px 0 0;
    -webkit-font-smoothing: antialiased;
}
.pd_section *,
.pd_section *::before,
.pd_section *::after { box-sizing: border-box; }
.pd_section.pd_section--pharmacy { padding: 10px 0 0; }
.pd_wrap {
    max-width: 1400px;
    margin: 0 auto;
    padding: 0 10px;
}
.pd_body { color: var(--pd-ink); }
.pd_body h1,
.pd_body h2,
.pd_body h3,
.pd_body h4 {
    font-family: var(--pd-h-font);
    font-weight: 700;
    letter-spacing: -0.02em;
    line-height: 1.1;
    color: rgba(0, 65, 65, 0.95);
    text-wrap: balance;
}
.pd_body p,
.pd_body li {
    color: var(--pd-ink);
    line-height: 1.6;
}
.pd_body a {
    color: var(--pd-accent);
    text-decoration: none;
    transition: color .15s;
}
.pd_body a:hover { color: var(--pd-accent-dark); }
.pd_body ul,
.pd_body ol {
    padding-left: 1.4em;
    margin: 1em 0;
}
.pd_body img {
    max-width: 100%;
    height: auto;
    border-radius: var(--pd-radius);
}
.pd_body blockquote {
    margin: 1.4em 0;
    padding: 1em 1.4em;
    border-left: 3px solid var(--pd-accent);
    background: var(--pd-accent-soft);
    border-radius: 4px;
    color: var(--pd-ink);
}
.pd_body table {
    border-collapse: collapse;
    width: 100%;
    margin: 1em 0;
}
.pd_body th,
.pd_body td {
    padding: 10px 12px;
    border-bottom: 1px solid var(--pd-border);
    text-align: left;
}
.pd_pill {
    display: inline-flex;
    align-items: center;
    padding: 8px 16px;
    border-radius: 999px;
    background: var(--pd-accent-soft);
    color: var(--pd-accent);
    font-size: 0.78rem;
    font-weight: 500;
    letter-spacing: 0.02em;
    line-height: 1;
}
.pd_btn {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    padding: 14px 24px;
    border-radius: 999px;
    border: none;
    cursor: pointer;
    font-family: var(--pd-b-font);
    font-weight: 600;
    font-size: 0.92rem;
    text-decoration: none;
    white-space: nowrap;
    transition: transform .15s, filter .15s, background .2s, color .2s, border-color .2s;
}
.pd_btn:hover  { filter: brightness(1.04); }
.pd_btn:active { transform: translateY(1px); }
.pd_btn_primary {
    background: var(--pd-accent);
    color: #fff;
}
.pd_btn_outline {
    background: transparent;
    color: var(--pd-ink);
    border: 1px solid var(--pd-border-strong);
}
.pd_btn_outline:hover {
    border-color: var(--pd-accent);
    color: var(--pd-accent);
}

/* ================================================================
   BLOCK: product_catalog
   ================================================================ */

.product_catalog {
    position: relative;
    display: grid;
    grid-template-columns: 280px 1fr;
    gap: 0 24px;
    padding: 15px 0 10px;
    width: calc(100% - 20px);
	left: 10px;
}
.pc_sidebar {
    position: sticky;
    top: 16px;
    align-self: start;
    max-height: calc(100vh - 50px);
    max-height: calc(100dvh - 50px);
	margin-bottom: 10px;
	margin-top: 5px;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    padding: 10px 0 5px;
    background: #fff;
    border: 1px solid rgba(200, 200, 200, .3);
    border-radius: 12px;
}
.pc_sidebar_inner {
    flex: 1;
    min-height: 0;
    overflow-y: auto;
    padding: 5px 20px;
    scrollbar-width: thin;
    scrollbar-color: rgba(0, 0, 0, .15) transparent;
    margin-bottom: 5px;
}
.pc_sidebar_inner::-webkit-scrollbar {
    width: 4px;
}
.pc_sidebar_inner::-webkit-scrollbar-thumb {
    background: rgba(0, 0, 0, .15);
    border-radius: 4px;
}
.pc_filters {
    display: flex;
    flex-direction: column;
    gap: 0;
}
.pc_filter {
    border-bottom: 1px solid rgba(200, 200, 200, .25);
}
.pc_filter:last-child {
    border-bottom: none;
}
.pc_filter_head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 12px 0;
    cursor: pointer;
    user-select: none;
    font-size: 14px;
    font-weight: 500;
    color: rgba(0, 65, 65, .95);
    transition: color .2s;
}
.pc_filter_head:hover {
    color: rgba(1, 176, 126, 1);
}
.pc_filter_chevron {
    flex-shrink: 0;
    transition: transform .25s ease;
    color: rgba(0, 0, 0, .35);
}
.pc_filter_open .pc_filter_chevron {
    transform: rotate(180deg);
}
.pc_filter_body {
    max-height: 0;
    overflow: hidden;
    transition: max-height .3s ease, padding .3s ease;
    padding: 0 2px;
}
.pc_filter_open .pc_filter_body {
    max-height: 500px;
    padding-bottom: 12px;
}
.pc_check_label {
    display: flex;
    align-items: flex-start;
    gap: 8px;
    padding: 2px 0;
    cursor: pointer;
    font-size: 13px;
    color: rgba(0, 0, 0, .7);
    line-height: 1.35;
    box-sizing: border-box;
}
.pc_check_label input[type="checkbox"],
.pc_check_label input[type="radio"] {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    position: relative;
    width: 16px;
    height: 16px;
    margin: 1px 0 0;
    flex-shrink: 0;
    border: 1.5px solid rgba(0, 65, 63, .25);
    border-radius: 4px;
    background: #fff;
    cursor: pointer;
    transition: border-color .15s ease;
}
.pc_check_label input[type="checkbox"]::after,
.pc_check_label input[type="radio"]::after {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    width: 11px;
    height: 11px;
    transform: translate(-50%, -50%) scale(0);
    border-radius: 2px;
    background: rgba(1, 176, 126, 1);
    transition: transform .15s ease;
}
.pc_check_label input[type="checkbox"]:checked,
.pc_check_label input[type="radio"]:checked {
    border-color: rgba(1, 176, 126, 1);
}
.pc_check_label input[type="checkbox"]:checked::after,
.pc_check_label input[type="radio"]:checked::after {
    transform: translate(-50%, -50%) scale(1);
}
.pc_check_label span {
    flex: 1;
    min-width: 0;
    word-break: break-word;
}
.pc_sub_count {
    flex: 0 0 auto !important;
    min-width: 0 !important;
    display: inline-block;
    padding: 0 6px;
    font-size: 10px;
    font-weight: 500;
    line-height: 1.5;
    color: rgba(1, 176, 126, .8);
    background: rgba(1, 176, 126, .08);
    border-radius: 8px;
    margin-left: auto;
    white-space: nowrap;
}
.pc_subcat_search {
    width: 100%;
    padding: 6px 10px;
    border: 1px solid rgba(200, 200, 200, .5);
    border-radius: 8px;
    font-size: 16px;
    outline: none;
    margin-bottom: 8px;
    box-sizing: border-box;
    transition: border-color .2s;
}
.pc_subcat_search:focus {
    border-color: rgba(1, 176, 126, .5);
}
.pc_grid_loading {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 14px;
    padding: 80px 0;
    grid-column: 1 / -1;
}
.pc_reload_text {
    font-size: 14px;
    color: rgba(0, 0, 0, .4);
    letter-spacing: .02em;
}
.pc_cat_link {
    display: flex;
    align-items: center;
    gap: 6px;
    padding: 5px 0;
    font-size: 13px;
    color: rgba(0, 65, 65, .85);
    text-decoration: none;
    line-height: 1.35;
    transition: color .15s;
}
.pc_cat_link span:first-child {
    flex: 1;
    min-width: 0;
}
.pc_cat_link:hover {
    color: rgba(1, 176, 126, 1);
}
.pc_cat_link_active {
    color: rgba(1, 176, 126, 1);
    font-weight: 600;
}
.pc_filter_list {
    max-height: 200px;
    overflow-y: auto;
    overflow-x: hidden;
    scrollbar-width: thin;
    scrollbar-color: rgba(0, 0, 0, .12) transparent;
}
.pc_filter_list::-webkit-scrollbar {
    width: 4px;
}
.pc_filter_list::-webkit-scrollbar-thumb {
    background: rgba(0, 0, 0, .12);
    border-radius: 4px;
}
.pc_subcats_list {
    max-height: 240px;
}
.pc_filter_search {
    display: block;
    width: 100%;
    padding: 7px 10px;
    margin-bottom: 8px;
    border: 1px solid rgba(200, 200, 200, .5);
    border-radius: 8px;
    font-size: 13px;
    color: rgba(0, 65, 65, .95);
    outline: none;
    box-sizing: border-box;
    transition: border-color .2s;
}
.pc_filter_search:focus {
    border-color: rgba(1, 176, 126, .7);
}
.pc_filter_search::placeholder {
    color: rgba(0, 0, 0, .3);
}
.pc_price_range {
    display: flex;
    flex-direction: column;
    gap: 14px;
}
.pc_price_inputs {
    display: flex;
    gap: 8px;
}
.pc_price_field {
    flex: 1;
    display: flex;
    align-items: center;
    min-width: 0;
    padding: 0 10px;
    height: 36px;
    border: 1px solid rgba(200, 200, 200, .5);
    border-radius: 8px;
    background: #fff;
    box-sizing: border-box;
    transition: border-color .2s;
}
.pc_price_field:focus-within {
    border-color: rgba(1, 176, 126, .7);
}
.pc_price_label {
    font-size: 12px;
    color: rgba(0, 0, 0, .35);
    margin-right: 4px;
    flex-shrink: 0;
    user-select: none;
}
.pc_price_field input {
    flex: 1;
    min-width: 0;
    border: none;
    outline: none;
    font-size: 16px;
    font-weight: 500;
    color: rgba(0, 65, 65, .95);
    background: transparent;
    padding: 0;
    -moz-appearance: textfield;
}
.pc_price_field input::-webkit-inner-spin-button,
.pc_price_field input::-webkit-outer-spin-button {
    -webkit-appearance: none;
    margin: 0;
}
.pc_price_currency {
    font-size: 12px;
    color: rgba(0, 0, 0, .3);
    margin-left: 2px;
    flex-shrink: 0;
    user-select: none;
}
.pc_slider {
    position: relative;
    height: 18px;
    user-select: none;
    touch-action: none;
}
.pc_slider_track {
    position: absolute;
    top: 50%;
    left: 9px;
    right: 9px;
    height: 4px;
    margin-top: -2px;
    background: rgba(200, 200, 200, .35);
    border-radius: 2px;
}
.pc_slider_fill {
    position: absolute;
    top: 50%;
    height: 4px;
    margin-top: -2px;
    left: 9px;
    right: 9px;
    background: rgba(1, 176, 126, 1);
    border-radius: 2px;
    pointer-events: none;
}
.pc_slider_thumb {
    position: absolute;
    top: 0;
    width: 14px;
    height: 14px;
    background: #fff;
    border: 2px solid rgba(1, 176, 126, 1);
    border-radius: 50%;
    box-sizing: content-box;
    cursor: grab;
    z-index: 2;
    outline: none;
    transition: box-shadow .15s;
}
.pc_slider_thumb:hover,
.pc_slider_thumb:focus-visible {
    box-shadow: 0 0 0 4px rgba(1, 176, 126, .15);
}
.pc_slider_thumb:active,
.pc_slider_thumb.pc_thumb_active {
    cursor: grabbing;
    box-shadow: 0 0 0 6px rgba(1, 176, 126, .2);
}
.pc_slider_thumb_min { left: 0; }
.pc_slider_thumb_max { left: auto; right: 0; }
.pc_filter_actions {
    display: flex;
    gap: 8px;
    margin-top: 16px;
    padding-top: 16px;
    border-top: 1px solid rgba(200, 200, 200, .25);
}
.pc_filter_reset {
    width: 100%;
    padding: 10px 0;
    border: 1px solid rgba(200, 200, 200, .5);
    border-radius: 10px;
    background: #fff;
    color: rgba(0, 0, 0, .55);
    font-size: 13px;
    font-weight: 500;
    cursor: pointer;
    transition: border-color .2s, color .2s;
}
.pc_filter_reset:hover {
    border-color: rgba(1, 176, 126, .5);
    color: rgba(1, 176, 126, 1);
}
.pc_all_cats_link {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    margin-top: 12px;
    font-size: 13px;
    color: rgba(1, 176, 126, 1);
    text-decoration: none;
    transition: opacity .2s;
}
.pc_all_cats_link:hover {
    opacity: .7;
}
.pc_filter_badge {
    display: none;
    min-width: 18px;
    height: 18px;
    padding: 0 5px;
    border-radius: 9px;
    background: #e2575c;
    color: #fff;
    font-size: 11px;
    font-weight: 600;
    line-height: 18px;
    text-align: center;
    box-sizing: border-box;
}
.pc_filter_badge.pc_badge_show {
    display: inline-block;
}
.pc_empty_filters {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 60px 20px;
    text-align: center;
}
.pc_empty_icon {
    margin-bottom: 16px;
    opacity: .3;
}
.pc_empty_icon img {
    display: block;
}
.pc_empty_filters p {
    margin: 0 0 20px;
    font-size: 16px;
    color: rgba(0, 0, 0, .45);
}
.pc_empty_reset {
    padding: 12px 32px;
    border: 1px solid rgba(1, 176, 126, .5);
    border-radius: 10px;
    background: #fff;
    color: rgba(1, 176, 126, 1);
    font-size: 14px;
    font-weight: 500;
    cursor: pointer;
    transition: background .2s, color .2s;
}
.pc_empty_reset:hover {
    background: rgba(1, 176, 126, 1);
    color: #fff;
}
.pc_reload_spinner {
    width: 32px;
    height: 32px;
    border: 3px solid rgba(1, 176, 126, .15);
    border-top-color: rgba(1, 176, 126, 1);
    border-radius: 50%;
    animation: pc_rotate .7s linear infinite;
}
.pc_main {
    min-width: 0;
}
.pc_title {
    margin-bottom: 15px;
}
.pc_title h1 {
    font-family: "Unbounded", ui-sans-serif, system-ui, sans-serif;
    font-weight: 600;
    color: rgba(0, 65, 65, .95);
    margin: 0;
    padding: 0;
    font-size: 1.4rem;
    line-height: 1;
}
@media (max-width: 420px) {
    .pc_title h1 { font-size: 1.375rem; line-height: 1.15; }
}
@media (max-width: 350px) {
    .pc_title h1 { font-size: 1.255rem; }
}
.pc_toolbar {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 16px;
    flex-wrap: wrap;
}
.pc_count {
    margin: 0;
    font-size: 13px;
    color: rgba(0, 0, 0, .4);
}
.pc_count span {
    font-weight: 500;
    color: rgba(0, 0, 0, .55);
}
.pc_resolved_hint {
    margin: 6px 0 0;
    font-size: 13px;
    line-height: 1.4;
    color: rgba(0, 0, 0, .5);
}
.pc_filter_btn {
    display: none;
    align-items: center;
    gap: 6px;
    padding: 8px 16px 8px 12px;
    border: 1px solid rgba(200, 200, 200, .5);
    border-radius: 10px;
    background: #fff;
    color: rgba(0, 65, 65, .95);
    font-size: 14px;
    font-weight: 400;
    cursor: pointer;
    transition: border-color .2s;
    position: relative;
}
.pc_filter_btn:hover,
.pc_filter_btn:focus {
    border-color: rgba(1, 176, 126, .7);
}
.pc_filter_btn svg {
    flex-shrink: 0;
    color: rgba(0, 0, 0, .35);
}
.pc_sort select {
    padding: 8px 32px 8px 12px;
    border: 1px solid rgba(200, 200, 200, .5);
    border-radius: 10px;
    font-size: 14px;
    color: rgba(0, 65, 65, .95);
    background: #fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23004141' stroke-width='2'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E") no-repeat right 10px center;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    cursor: pointer;
    outline: none;
    transition: border-color .2s;
}
.pc_sort select:focus {
    border-color: rgba(1, 176, 126, .7);
}
.product_content {
    position: relative;
    width: 100%;
    margin-bottom: 10px;
}
.pc_grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
    gap: 12px;
}
#TOVAR_CATALOG_COUNT {
    display: none;
    height: 0;
    width: 0;
    position: absolute;
}
.pc_grid .product {
    position: relative;
    background: #fff;
    border: 1.5px solid rgba(0, 65, 63, .1);
    border-radius: 12px;
    display: flex;
    flex-direction: column;
    overflow: hidden;
    box-sizing: border-box;
    transition: border-color .2s;
}
.pc_grid .product:hover {
    border-color: rgba(1, 176, 126, .35);
}
.pc_grid .pis_image {
    position: relative;
    display: block;
    width: 68%;
    margin: 14px auto 0;
    aspect-ratio: 1;
}
.pc_grid .pis_image::after {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    width: 24px;
    height: 24px;
    margin: -12px 0 0 -12px;
    border: 2.5px solid rgba(0, 0, 0, .08);
    border-top-color: rgba(1, 176, 126, .6);
    border-radius: 50%;
    animation: pc_rotate .7s linear infinite;
    z-index: 0;
}
.pc_grid .pis_image img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    position: relative;
    z-index: 1;
    background: #fff;
    opacity: 0;
    transition: opacity .2s;
}
.pc_grid .pis_image img.pis_loaded {
    opacity: 1;
}
.pc_grid .pis_title {
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    padding: 10px 12px 0;
    font-size: 15px;
    font-weight: 600;
    line-height: 1.3;
    color: rgba(0, 65, 65, .95);
    text-decoration: none;
    word-break: break-word;
}
.pc_grid .pis_title:hover {
    color: rgba(1, 176, 126, 1);
}
.pc_grid .pis_desc {
    padding: 6px 12px 0;
    display: flex;
    flex-direction: column;
    gap: 3px;
}
.pc_grid .pis_recipe {
    font-size: 12px;
    color: rgba(0, 0, 0, .35);
}
.pc_grid .pis_recipe_rx {
    display: inline-block;
    font-size: 12px;
    font-weight: 400;
    color: #fff;
    background: linear-gradient(to right, #e2575c, #fc7f51);
    padding: 1px 6px;
    border-radius: 4px;
    width: fit-content;
}
.pc_grid .pis_mfr {
    font-size: 12px;
    color: rgba(0, 0, 0, .3);
    line-height: 1.3;
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
    word-break: break-word;
}
.pc_grid .pis_price {
    padding: 5px 12px 0px;
    display: flex;
    align-items: baseline;
    gap: 6px;
    margin-top: auto;
}
.pc_grid .pis_price_val {
    font-size: 18px;
    font-weight: 700;
    color: rgba(0, 65, 65, .95);
    white-space: nowrap;
}
.pc_grid .pis_price_val .pis_rub {
    font-weight: 400;
}
.pc_grid .pis_price_from {
    color: rgba(0, 65, 65, .55);
    font-weight: 600;
}
.pc_grid .pis_price_sale .pis_price_val {
    color: #e2575c;
}
.pc_grid .pis_price_old {
    font-size: 13px;
    color: rgba(0, 0, 0, .4);
    text-decoration: line-through;
    white-space: nowrap;
}
.pc_grid .pis_price_none {
    font-size: 14px;
    color: rgba(0, 0, 0, .4);
}
.pc_grid .pis_actions {
    padding: 8px 12px 12px;
}
.pc_grid .pis_btn {
    display: block;
    width: 100%;
    padding: 9px 0;
    text-align: center;
    border-radius: 10px;
    font-size: 13px;
    font-weight: 500;
    cursor: pointer;
    border: 1px solid rgba(1, 176, 126, .7);
    color: #fff;
    background: linear-gradient(to top, rgba(1, 176, 126, 1), rgba(1, 176, 150, 1));
    box-sizing: border-box;
    transition: opacity .15s;
}
.pc_grid .pis_btn:hover {
    opacity: .85;
}
.pc_grid .pis_btn_in_basket {
    background: rgba(0, 65, 65, .07);
    border-color: rgba(0, 65, 65, .15);
    color: rgba(0, 65, 65, .6);
}
.pc_grid .pis_btn_in_basket:hover {
    background: rgba(0, 65, 65, .12);
    opacity: 1;
}
.pc_grid .pis_btn_unavail {
    background: rgba(0, 65, 65, .05);
    border-color: rgba(0, 65, 65, .12);
    color: rgba(0, 65, 65, .45);
    cursor: default;
}
.pc_grid .pis_btn_unavail:hover {
    background: rgba(0, 65, 65, .05);
    opacity: 1;
}
.pc_grid .pis_btn_more {
    background: none;
    color: #0E8A5F;
    text-decoration: none;
    border-color: rgba(14, 138, 95, .5);
}
.pc_grid .pis_btn_more:hover {
    background: rgba(14, 138, 95, .06);
    border-color: rgba(14, 138, 95, .8);
    opacity: 1;
}
.pc_grid .pis_btn_load {
    display: none;
    width: 100%;
    padding: 9px 0;
    border-radius: 10px;
    background: linear-gradient(to top, rgba(1, 176, 126, 1), rgba(1, 176, 150, 1));
    border: 1px solid rgba(1, 176, 126, .7);
    position: relative;
    box-sizing: border-box;
    font-size: 13px;
    line-height: inherit;
}
.pc_grid .pis_btn_load::before {
    content: '\00a0';
    visibility: hidden;
}
.pc_grid .pis_spinner {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 20px;
    height: 20px;
    margin: -10px 0 0 -10px;
    border: 2.5px solid rgba(255, 255, 255, .3);
    border-top-color: #fff;
    border-radius: 50%;
    animation: pc_rotate .7s linear infinite;
}
.pc_load_more_wrap {
    display: none;
    text-align: center;
    padding: 15px 0 10px;
}
.pc_load_more {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 14px 48px;
    border: 1px solid rgba(200, 200, 200, .35);
    border-radius: 12px;
    background: #fff;
    color: rgba(1, 176, 126, 1);
    font-size: 14px;
    font-weight: 600;
    letter-spacing: .01em;
    cursor: pointer;
    outline: none;
    transition: background .3s ease, color .3s ease, border-color .3s ease, box-shadow .3s ease;
}
.pc_load_more_content {
    display: inline-flex;
    align-items: center;
    gap: 8px;
}
.pc_load_more_icon {
    transition: transform .3s ease;
}
.pc_load_more:hover {
    background: linear-gradient(to top, rgba(1, 176, 126, 1), rgba(1, 176, 150, 1));
    border-color: transparent;
    color: #fff;
    box-shadow: 0 4px 20px rgba(1, 176, 126, .2);
}
.pc_load_more:hover .pc_load_more_icon {
    transform: translateY(3px);
}
.pc_load_more:active {
    transform: scale(.997);
    box-shadow: 0 2px 10px rgba(1, 176, 126, .15);
}
.pc_load_more.pc_loading {
    pointer-events: none;
    background: #fff;
    border-color: rgba(200, 200, 200, .3);
    color: transparent;
    box-shadow: none;
}
.pc_load_more.pc_loading .pc_load_more_content {
    visibility: hidden;
}
.pc_load_more_spinner {
    display: none;
}
.pc_load_more.pc_loading .pc_load_more_spinner {
    display: block;
    position: absolute;
    top: 50%;
    left: 50%;
    width: 22px;
    height: 22px;
    margin: -11px 0 0 -11px;
    border: 2.5px solid rgba(1, 176, 126, .15);
    border-top-color: rgba(1, 176, 126, 1);
    border-radius: 50%;
    animation: pc_rotate .7s linear infinite;
}
@keyframes pc_rotate {
    0% { transform: rotate(0deg); }
    100% { transform: rotate(360deg); }
}
.pc_grid .pis_badge {
    position: absolute;
    top: 8px;
    left: 8px;
    z-index: 2;
    display: inline-block;
    padding: 3px 10px;
    font-size: 11px;
    font-weight: 600;
    line-height: 1.3;
    border-radius: 20px;
    white-space: nowrap;
}
.pc_grid .pis_badge_promo {
    color: #fff;
    background: linear-gradient(135deg, #43b581, #f5a623, #43b581);
    background-size: 200% 200%;
    animation: pis_badge_shimmer 2.5s ease infinite;
}
.pc_grid .pis_badge_markdown {
    color: #92400e;
    background: linear-gradient(135deg, #fde68a, #fbbf24, #fde68a);
    background-size: 200% 200%;
    animation: pis_badge_shimmer 2.5s ease infinite;
}
@keyframes pis_badge_shimmer {
    0%   { background-position: 0% 50%; }
    50%  { background-position: 100% 50%; }
    100% { background-position: 0% 50%; }
}
@media screen and (max-width: 900px) {
    .product_catalog {
        grid-template-columns: 1fr;
    }
    
    .pc_sidebar {
        display: none;
    }
    
    .pc_filter_btn {
        display: flex;
        order: 10;
    }
    .pc_sort {
        order: 9;
    }
    
    .pc_grid {
        grid-template-columns: repeat(auto-fill, minmax(180px, 1fr));
    }
}
@media screen and (max-width: 620px) {
    .pc_grid {
        grid-template-columns: repeat(auto-fill, minmax(150px, 1fr));
        gap: 8px;
    }
    .pc_toolbar {
        gap: 8px;
    }
}
@media screen and (max-width: 450px) {
    .pc_grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 8px;
    }
    .pc_grid .pis_title {
        padding: 8px 10px 0;
    }
    .pc_grid .pis_desc {
        padding: 5px 10px 0;
    }
    .pc_grid .pis_price_val {
        font-size: 16px;
    }
    .pc_grid .pis_actions {
        padding: 6px 10px 10px;
    }
    .pc_sort select {
        font-size: 13px;
        padding: 6px 28px 6px 10px;
    }
    .pc_filter_btn {
        font-size: 13px;
        padding: 6px 12px 6px 10px;
    }
}
@media screen and (max-width: 380px) {
    .pc_grid {
        grid-template-columns: 1fr;
    }
}

/* ================================================================
   BLOCK: product_single
   ================================================================ */

.product_single {
    padding: 0 10px;
    margin-top: 20px;
    min-width: 280px;
    box-sizing: border-box;
}
.ps_block {
    background: #fff;
    border: 1.5px solid rgba(0, 65, 63, .08);
    border-radius: 14px;
    padding: 20px;
    box-sizing: border-box;
}
.ps_purchase {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin: 10px 0;
    position: relative;
    min-height: 200px;
}
.ps_loader {
    display: none;
    position: absolute;
    inset: 0;
    background: rgba(255,255,255,0.85);
    z-index: 5;
    align-items: center;
    justify-content: center;
}
.ps_purchase.ps_before_layout .ps_loader { display: flex; }
.ps_purchase.ps_before_layout > .ps_block,
.ps_purchase.ps_before_layout > .ps_delivery_info { visibility: hidden; }
.ps_loader_ring {
    width: 36px;
    height: 36px;
    border: 3px solid #e5e7eb;
    border-top-color: #01b07e;
    border-radius: 50%;
    animation: ps_spin 0.6s linear infinite;
}
@keyframes ps_spin { to { transform: rotate(360deg); } }
.ps_col {
    display: flex;
    flex-direction: column;
    gap: 10px;
    min-width: 0;
}
.ps_col_1 { width: 100%; }
.ps_col_2 { width: 100%; }
.ps_col_3 { width: 100%; }
.ps_col_4 { width: 100%; }
@media screen and (max-width: 768px) {
    .ps_purchase { gap: 0; }
}
@media screen and (min-width: 769px) and (max-width: 1024px) {
    .ps_col_1 { width: 100%; }
    .ps_col_2 { width: 340px; flex-shrink: 0; }
    .ps_col_3 { flex: 1; min-width: 200px; }
    .ps_col_4 { width: 100%; }
}
@media screen and (min-width: 1025px) {
    .ps_purchase { flex-wrap: nowrap; }
    .ps_col_1 { width: 340px; flex-shrink: 0; }
    .ps_col_2 { flex: 1; min-width: 200px; }
    .ps_col_3 { flex: 1; min-width: 200px; }
    .ps_col_4 { display: none; }
}
.ps_b_image {
    display: flex;
    flex-direction: column;
    gap: 12px;
}
.ps_gallery {
    position: relative;
    aspect-ratio: 1;
    border-radius: 12px;
    overflow: hidden;
    cursor: zoom-in;
}
.ps_gallery::after {
    content: 'Увеличить';
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%) translateY(4px);
    display: flex;
    align-items: center;
    gap: 5px;
    padding: 6px 12px 6px 8px;
    background: rgba(0, 40, 40, .55);
    backdrop-filter: blur(6px);
    -webkit-backdrop-filter: blur(6px);
    border-radius: 8px;
    color: #fff;
    font-size: 12px;
    font-weight: 500;
    letter-spacing: .02em;
    background-image: url("/content/img/search_white.svg");
    background-repeat: no-repeat;
    background-position: 9px center;
    background-size: 14px 14px;
    padding-left: 28px;
    opacity: 0;
    transition: opacity .25s ease, transform .25s ease;
    pointer-events: none;
    z-index: 1;
}
@media (hover: hover) {
    .ps_gallery:hover::after {
        opacity: 1;
        transform: translateX(-50%) translateY(0);
    }
}
.ps_gallery_track {
    display: flex;
    width: 100%;
    height: 100%;
    transition: transform .35s cubic-bezier(.4, 0, .2, 1);
    will-change: transform;
}
.ps_gallery_track.ps_gallery_dragging {
    transition: none;
    cursor: grabbing;
}
.ps_gallery[data-count] {
    cursor: grab;
}
.ps_gallery[data-count] .ps_gallery_track.ps_gallery_dragging {
    cursor: grabbing;
}
.ps_gallery_slide {
    flex: 0 0 100%;
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    box-sizing: border-box;
    position: relative;
}
.ps_gallery_slide::after {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    width: 28px;
    height: 28px;
    margin: -14px 0 0 -14px;
    border: 2.5px solid rgba(0, 0, 0, .08);
    border-top-color: rgba(1, 176, 126, .6);
    border-radius: 50%;
    animation: ps_rotate .7s linear infinite;
    z-index: 0;
}
.ps_gallery_slide img {
    max-width: 100%;
    max-height: 100%;
    object-fit: contain;
    -webkit-user-select: none;
    user-select: none;
    position: relative;
    z-index: 1;
    background: #fff;
    opacity: 0;
    transition: opacity .2s;
}
.ps_gallery_slide img.ps_img_loaded {
    opacity: 1;
}
.ps_gallery_row {
    display: flex;
    align-items: center;
    gap: 6px;
}
.ps_gallery_row .ps_gallery {
    flex: 1;
    min-width: 0;
}
.ps_gallery_arrow {
    flex-shrink: 0;
    width: 28px;
    height: 28px;
    border-radius: 50%;
    background: #fff;
    border: 1.5px solid rgba(0, 65, 63, .12);
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: border-color .2s, opacity .2s;
    padding: 0;
}
.ps_gallery_arrow:hover {
    border-color: rgba(1, 176, 126, .5);
}
.ps_gallery_arrow:active {
    border-color: rgba(1, 176, 126, .8);
}
.ps_gallery_arrow svg {
    width: 14px;
    height: 14px;
    stroke: rgba(0, 65, 65, .65);
}
.ps_gallery_arrow_disabled {
    opacity: .25;
    pointer-events: none;
}
.ps_gallery_dots {
    display: flex;
    justify-content: center;
    gap: 6px;
    margin-top: 6px;
}
.ps_gallery_dot {
    width: 7px;
    height: 7px;
    border-radius: 50%;
    border: none;
    background: rgba(0, 65, 63, .15);
    cursor: pointer;
    padding: 0;
    transition: background .2s, transform .2s;
}
.ps_gallery_dot_active {
    background: rgba(1, 176, 126, .8);
}
.ps_thumbs {
    display: flex;
    gap: 6px;
    flex-wrap: nowrap;
    justify-content: center;
}
.ps_thumb {
    width: 56px;
    height: 56px;
    border: 1.5px solid rgba(0, 0, 0, .08);
    border-radius: 8px;
    background: #fff;
    padding: 4px;
    box-sizing: border-box;
    cursor: pointer;
    transition: border-color .2s, box-shadow .2s;
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
    overflow: hidden;
}
.ps_thumb::after {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    width: 18px;
    height: 18px;
    margin: -9px 0 0 -9px;
    border: 2px solid rgba(0, 0, 0, .06);
    border-top-color: rgba(1, 176, 126, .5);
    border-radius: 50%;
    animation: ps_rotate .7s linear infinite;
    z-index: 0;
}
.ps_thumb img {
    max-width: 100%;
    max-height: 100%;
    object-fit: contain;
    position: relative;
    z-index: 1;
    background: #fff;
    opacity: 0;
    transition: opacity .2s;
}
.ps_thumb img.ps_img_loaded {
    opacity: 1;
}
.ps_thumb:hover {
    border-color: rgba(1, 176, 126, .4);
    box-shadow: 0 2px 8px rgba(1, 176, 126, .08);
}
.ps_thumb_active {
    border-color: rgba(1, 176, 126, 1);
    border-width: 2px;
    cursor: default;
}
.ps_thumb_more {
    background: rgba(0, 65, 63, .04);
    position: relative;
    overflow: visible;
}
.ps_thumb_more::after {
    display: none;
}
.ps_thumb_more span {
    font-size: 14px;
    font-weight: 600;
    color: rgba(0, 65, 63, .5);
}
.ps_img_modal {
    display: none;
    position: fixed;
    inset: 0;
    z-index: 1100;
    align-items: center;
    justify-content: center;
    cursor: zoom-out;
    -webkit-user-select: none;
    user-select: none;
}
.ps_img_modal.ps_img_modal_open {
    display: flex;
}
.ps_img_modal_overlay {
    position: absolute;
    inset: 0;
    background: rgba(0, 0, 0, .82);
    backdrop-filter: blur(6px);
    -webkit-backdrop-filter: blur(6px);
    opacity: 0;
    transition: opacity .3s ease;
}
.ps_img_modal_open .ps_img_modal_overlay {
    opacity: 1;
}
.ps_img_modal_content {
    position: relative;
    z-index: 1;
    opacity: 0;
    transform: scale(.9);
    transition: opacity .3s ease, transform .3s ease;
    width: 800px;
    height: 800px;
    max-width: calc(100vw - 40px);
    max-height: calc(100vh - 88px);
    max-height: calc(100dvh - 88px);
    display: flex;
    align-items: center;
    justify-content: center;
    background: #fff;
    border-radius: 12px;
    padding: 20px;
    box-sizing: border-box;
    box-shadow: 0 8px 40px rgba(0, 0, 0, .3);
    overflow: visible;
}
.ps_img_modal_open .ps_img_modal_content {
    opacity: 1;
    transform: scale(1);
}
.ps_modal_track {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%;
    position: relative;
    overflow: hidden;
}
.ps_modal_track::after {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    width: 32px;
    height: 32px;
    margin: -16px 0 0 -16px;
    border: 3px solid rgba(0, 0, 0, .08);
    border-top-color: rgba(1, 176, 126, .6);
    border-radius: 50%;
    animation: ps_modal_spin .7s linear infinite;
    z-index: 0;
}
.ps_modal_img_next {
    display: none;
}
.ps_img_modal_content img {
    display: block;
    max-width: 100%;
    max-height: 100%;
    object-fit: contain;
    position: relative;
    z-index: 1;
    opacity: 0;
    transition: opacity .2s;
}
.ps_img_modal_content img.ps_img_loaded {
    opacity: 1;
}
.ps_img_modal_close {
    position: fixed;
    top: 16px;
    right: 16px;
    width: 40px;
    height: 40px;
    border: none;
    border-radius: 50%;
    background: rgba(255, 255, 255, .12);
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    color: rgba(255, 255, 255, .7);
    transition: background .15s, color .15s;
    z-index: 1102;
}
.ps_img_modal_close:hover {
    background: rgba(255, 255, 255, .25);
    color: #fff;
}
.ps_img_modal_close svg {
    width: 24px;
    height: 24px;
}
.ps_modal_arrow {
    position: fixed;
    top: 50%;
    transform: translateY(-50%);
    width: 44px;
    height: 44px;
    border: none;
    border-radius: 50%;
    background: rgba(0, 0, 0, .45);
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 1102;
    transition: background .2s;
}
.ps_modal_arrow:hover {
    background: rgba(0, 0, 0, .65);
}
.ps_modal_arrow svg {
    width: 22px;
    height: 22px;
    color: #fff;
}
.ps_modal_prev { left: 16px; }
.ps_modal_next { right: 16px; }
.ps_modal_counter {
    position: absolute;
    top: 100%;
    left: 50%;
    transform: translateX(-50%);
    margin-top: 15px;
    font-size: 13px;
    line-height: 1;
    white-space: nowrap;
    color: rgba(255, 255, 255, .7);
    pointer-events: none;
}
@media (max-width: 768px) {
    .ps_img_modal_content {
        width: calc(100vw - 32px);
        height: calc(100vw - 32px);
        max-height: calc(100vh - 120px);
        max-height: calc(100dvh - 120px);
        padding: 12px;
        border-radius: 10px;
    }
    .ps_modal_arrow {
        display: none;
    }
}
@keyframes ps_modal_spin {
    to { transform: rotate(360deg); }
}
.ps_b_title {
    display: flex;
    align-items: center;
    gap: 10px;
}
.ps_b_title h1 {
    flex: 1;
    font-size: 1.4rem;
    font-family: "Unbounded", ui-sans-serif, system-ui, sans-serif;
    font-weight: 400;
    color: rgba(0, 65, 65, .95);
    margin: 0;
    padding: 0;
    line-height: 1;
    letter-spacing: -.015em;
}
.pn_share_btn {
    flex-shrink: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 34px;
    height: 34px;
    border: none;
    border-radius: 8px;
    background: rgba(0, 65, 63, .06);
    cursor: pointer;
    transition: background .2s ease;
}
.pn_share_btn:hover {
    background: rgba(0, 65, 63, .12);
}
.pn_share_btn img {
    width: 18px;
    height: 18px;
    opacity: .55;
    transition: opacity .2s ease;
}
.pn_share_btn:hover img {
    opacity: 1;
}
.pn_share_btn--copied {
    background: rgba(1, 176, 126, .12);
}
.pn_share_btn--copied img {
    opacity: 1;
}
.ps_b_forms {
    display: flex;
    flex-direction: column;
}
.ps_b_forms_title {
    margin: 0 0 10px;
    font-family: "Unbounded", ui-sans-serif, system-ui, sans-serif;
    font-size: 15px;
    font-weight: 400;
    color: rgba(0, 65, 65, .9);
    line-height: 1.3;
}
.ps_b_forms .ps_forms {
    flex-direction: row;
    flex-wrap: wrap;
    max-height: none;
    overflow: visible;
}
.ps_forms {
    display: flex;
    flex-direction: column;
    gap: 8px;
    flex-shrink: 0;
    max-height: 380px;
    overflow-y: auto;
    scrollbar-width: thin;
    scrollbar-color: rgba(0, 0, 0, .1) transparent;
}
.ps_forms::-webkit-scrollbar {
    width: 4px;
}
.ps_forms::-webkit-scrollbar-thumb {
    background: rgba(0, 0, 0, .1);
    border-radius: 4px;
}
.ps_form_thumb {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 4px;
    width: 80px;
    border: 1.5px solid rgba(0, 0, 0, .08);
    border-radius: 10px;
    padding: 6px;
    box-sizing: border-box;
    transition: border-color .2s, box-shadow .2s;
    background: #fff;
    text-decoration: none;
    flex-shrink: 0;
    cursor: pointer;
    position: relative;
    overflow: hidden;
}
.ps_form_thumb::after {
    content: '';
    position: absolute;
    top: calc(50% - 6px);
    left: 50%;
    width: 18px;
    height: 18px;
    margin: -9px 0 0 -9px;
    border: 2px solid rgba(0, 0, 0, .06);
    border-top-color: rgba(1, 176, 126, .5);
    border-radius: 50%;
    animation: ps_rotate .7s linear infinite;
    z-index: 0;
}
.ps_form_thumb img {
    width: 54px;
    height: 54px;
    object-fit: contain;
    position: relative;
    z-index: 1;
    background: #fff;
    opacity: 0;
    transition: opacity .2s;
}
.ps_form_thumb img.ps_img_loaded {
    opacity: 1;
}
.ps_form_dose {
    font-size: 10px;
    color: rgba(0, 0, 0, .5);
    text-align: center;
    line-height: 1.2;
    max-width: 100%;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.ps_form_thumb:hover {
    border-color: rgba(1, 176, 126, .4);
    box-shadow: 0 2px 8px rgba(1, 176, 126, .08);
}
.ps_tabs {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    margin-bottom: 10px;
}
.ps_tab {
    display: inline-block;
    font-size: 13px;
    font-weight: 500;
    padding: 5px 14px;
    border-radius: 20px;
    border: 1.5px solid rgba(0, 0, 0, .08);
    background: #fff;
    color: rgba(0, 65, 65, .7);
    cursor: pointer;
    transition: border-color .2s, background .2s, color .2s;
    line-height: 1.3;
}
.ps_tab:hover {
    border-color: rgba(1, 176, 126, .35);
    color: rgba(1, 176, 126, 1);
}
.ps_tab_active {
    border-color: rgba(1, 176, 126, .8);
    background: rgba(1, 176, 126, .06);
    color: rgba(1, 176, 126, 1);
}
.ps_specs_title {
    margin: 0 0 10px;
    font-family: "Unbounded", ui-sans-serif, system-ui, sans-serif;
    font-size: 15px;
    font-weight: 400;
    color: rgba(0, 65, 65, .95);
}
.ps_specs {
    display: flex;
    flex-direction: column;
    gap: 2px;
}
.ps_spec {
    display: flex;
    align-items: baseline;
    gap: 4px;
    padding: 5px 0;
    overflow: hidden;
}
.ps_spec_label {
    font-size: 14px;
    color: rgba(0, 0, 0, .4);
    white-space: nowrap;
    flex-shrink: 0;
}
.ps_spec_dots {
    flex: 1;
    border-bottom: 1px dotted rgba(0, 0, 0, .12);
    min-width: 20px;
    margin-bottom: 4px;
}
.ps_spec_value {
    font-size: 14px;
    color: rgba(0, 65, 65, .85);
    text-align: right;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    max-width: 60%;
}
.ps_desc_link {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    margin-top: 18px;
    padding: 10px 16px;
    border: 1.5px solid rgba(1, 176, 126, .25);
    border-radius: 10px;
    background: rgba(1, 176, 126, .04);
    font-size: 14px;
    font-weight: 500;
    color: rgba(1, 176, 126, 1);
    cursor: pointer;
    transition: color .2s, background .2s, border-color .2s;
}
.ps_desc_link:hover {
    color: rgba(1, 150, 110, 1);
    background: rgba(1, 176, 126, .08);
    border-color: rgba(1, 176, 126, .4);
}
.ps_desc_link svg,
.ps_desc_link img {
    flex-shrink: 0;
}
.ps_desc_link_chevron {
    transition: transform .2s;
}
.ps_desc_link:hover .ps_desc_link_chevron {
    transform: translateY(2px);
}
.ps_meta {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 8px;
}
.ps_badge {
    display: inline-flex;
    align-items: center;
    font-size: 12px;
    font-weight: 500;
    padding: 4px 12px;
    border-radius: 6px;
    line-height: 1.3;
}
.ps_badge_otc {
    color: rgba(0, 0, 0, .4);
    background: rgba(0, 0, 0, .04);
}
.ps_badge_rx {
    color: #fff;
    background: linear-gradient(135deg, #e2575c, #fc7f51);
}
.ps_badge_sale {
    color: #fff;
    background: linear-gradient(135deg, #43b581, #f5a623);
}
.ps_badge_markdown {
    color: #fff;
    background: #f59e0b;
}
.ps_badge_md_reason {
    display: inline-block;
    padding: 4px 10px;
    border-radius: 6px;
    font-size: 12px;
    font-weight: 600;
    background: #fef3c7;
    color: #92400e;
    border: 1px solid #fcd34d;
    text-align: center;
    line-height: 1.3;
}
.ps_markdown_reason_row {
    margin-bottom: 10px;
}
.ps_markdown_block {
    margin-top: 16px;
    padding: 12px 16px;
    background: linear-gradient(135deg, #fffbeb, #fef3c7, #fffbeb, #fef9e7);
    background-size: 300% 300%;
    animation: ps_md_shimmer 4s ease infinite;
    border: 1px solid #fde68a;
    border-radius: 12px;
}
@keyframes ps_md_shimmer {
    0% { background-position: 0% 50%; }
    50% { background-position: 100% 50%; }
    100% { background-position: 0% 50%; }
}
.ps_markdown_top {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    font-size: 13px;
    font-weight: 600;
    color: #92400e;
}
.ps_markdown_row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin-top: 10px;
}
.ps_markdown_prices {
    display: flex;
    align-items: baseline;
    gap: 8px;
}
.ps_md_price {
    font-size: 18px;
    font-weight: 700;
    color: #92400e;
}
.ps_md_price_old {
    font-size: 14px;
    color: #b8860b;
    text-decoration: line-through;
}
.ps_md_qty {
    font-size: 13px;
    color: #92400e;
    opacity: .6;
}
.ps_md_btn {
    padding: 6px 16px;
    font-size: 12px;
    font-weight: 600;
    border: none;
    border-radius: 8px;
    cursor: pointer;
    color: #fff;
    background: linear-gradient(135deg, #f59e0b, #fbbf24, #ea580c, #f59e0b);
    background-size: 300% 300%;
    animation: ps_btn_shimmer 4s ease infinite;
    box-shadow: 0 2px 6px rgba(245, 158, 11, .25);
    white-space: nowrap;
    transition: box-shadow .2s, transform .15s, opacity .15s;
    -webkit-user-select: none;
    user-select: none;
}
.ps_md_btn:hover {
    box-shadow: 0 4px 12px rgba(245, 158, 11, .3);
    transform: translateY(-1px);
}
.ps_md_btn:active {
    transform: translateY(0) scale(.985);
    box-shadow: 0 1px 3px rgba(245, 158, 11, .2);
}
.ps_md_btn:disabled {
    background: #e5e7eb;
    color: #9ca3af;
    box-shadow: none;
    cursor: not-allowed;
    animation: none;
    transform: none;
}
.ps_md_btn:disabled:hover {
    box-shadow: none;
    transform: none;
}
.ps_md_btn_active {
    opacity: .55;
    box-shadow: none;
    animation-play-state: paused;
}
.ps_md_btn_active:hover {
    opacity: 1;
    animation-play-state: running;
}
.ps_status_row {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 8px;
    margin-bottom: 14px;
}
.ps_badge_instock {
    color: rgba(1, 176, 126, 1);
    background: rgba(1, 176, 126, .08);
}
.ps_badge_nostock {
    color: rgba(0, 0, 0, .4);
    background: rgba(0, 0, 0, .04);
}
.ps_badge_order {
    color: rgba(200, 160, 0, 1);
    background: rgba(200, 160, 0, .08);
}
.ps_price {
    font-size: 34px;
    font-weight: 700;
    color: rgba(0, 65, 65, .95);
    line-height: 1.15;
}
.ps_rub {
    font-weight: 400;
    font-size: 28px;
}
.ps_has_sale .ps_price {
    color: #e2575c;
}
.ps_price_old {
    font-size: 18px;
    color: rgba(0, 0, 0, .35);
    text-decoration: line-through;
    vertical-align: baseline;
}
.ps_price_none {
    font-size: 17px;
    color: rgba(0, 0, 0, .35);
    font-weight: 500;
}
.ps_price_from {
    color: rgba(0, 65, 65, .55);
}
.ps_has_sale {
    display: flex;
    align-items: baseline;
    gap: 10px;
    flex-wrap: wrap;
}
.ps_badge_deal {
    color: #fff;
    background: linear-gradient(135deg, #01b07e 0%, #00d4aa 100%);
    box-shadow: 0 2px 8px rgba(1, 176, 126, .28);
    gap: 4px;
}
.ps_badge_deal img {
    width: 12px;
    height: 12px;
    transform: scaleX(-1);
}
.ps_buy {
	margin-top: 14px;
    margin-bottom: 0;
}
.ps_btn {
    display: block;
    width: 100%;
    max-width: 300px;
    padding: 14px 0;
    text-align: center;
    border-radius: 12px;
    font-size: 16px;
    font-weight: 600;
    cursor: pointer;
    border: none;
    color: #fff;
    background: linear-gradient(135deg, rgba(1, 176, 126, 1), rgba(1, 196, 150, 1), rgba(1, 160, 120, 1), rgba(1, 176, 126, 1));
    background-size: 300% 300%;
    animation: ps_btn_shimmer 4s ease infinite;
    box-shadow: 0 2px 8px rgba(1, 176, 126, .25);
    box-sizing: border-box;
    transition: box-shadow .2s, transform .15s, opacity .15s;
    -webkit-user-select: none;
    user-select: none;
}
@keyframes ps_btn_shimmer {
    0%   { background-position: 0% 50%; }
    50%  { background-position: 100% 50%; }
    100% { background-position: 0% 50%; }
}
.ps_btn:hover {
    box-shadow: 0 4px 16px rgba(1, 176, 126, .3);
    transform: translateY(-1px);
}
.ps_btn:active {
    transform: translateY(0) scale(.985);
    box-shadow: 0 1px 4px rgba(1, 176, 126, .2);
}
.ps_btn_outline {
    background: linear-gradient(135deg, rgba(1, 176, 126, .06), rgba(1, 196, 150, .12), rgba(1, 160, 120, .06), rgba(1, 176, 126, .06));
    background-size: 300% 300%;
    animation: ps_btn_shimmer 4s ease infinite;
    color: rgba(1, 176, 126, 1);
    border: 2px solid rgba(1, 176, 126, .5);
    box-shadow: none;
}
.ps_btn_outline:hover {
    background: linear-gradient(135deg, rgba(1, 176, 126, .1), rgba(1, 196, 150, .18), rgba(1, 160, 120, .1), rgba(1, 176, 126, .1));
    background-size: 300% 300%;
    border-color: rgba(1, 176, 126, .7);
    box-shadow: none;
    transform: none;
}
.ps_btn_disabled {
    background: #e5e7eb;
    color: #9ca3af;
    border: none;
    box-shadow: none;
    cursor: not-allowed;
}
.ps_btn_disabled:hover {
    box-shadow: none;
    transform: none;
}
.ps_btn_load {
    display: none;
    width: 100%;
    max-width: 300px;
    border-radius: 12px;
    background: linear-gradient(to top, rgba(1, 176, 126, 1), rgba(1, 176, 150, 1));
    box-shadow: 0 2px 8px rgba(1, 176, 126, .25);
    position: relative;
    box-sizing: border-box;
    padding: 14px 0;
    font-size: 16px;
    line-height: inherit;
}
.ps_btn_load::before {
    content: '\00a0';
    visibility: hidden;
}
.pis_spinner {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 20px;
    height: 20px;
    margin: -10px 0 0 -10px;
    border: 2.5px solid rgba(255, 255, 255, .3);
    border-top-color: #fff;
    border-radius: 50%;
    animation: ps_rotate .7s linear infinite;
}
@keyframes ps_rotate {
    to { transform: rotate(360deg); }
}
.ps_btn_in_basket {
    background: rgba(0, 65, 65, .07);
    animation: none;
    color: rgba(0, 65, 65, .6);
    box-shadow: none;
}
.ps_btn_in_basket:hover {
    background: rgba(0, 65, 65, .12);
    box-shadow: none;
    transform: none;
}
.ps_delivery_info {
}
.ps_delivery_main {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 12px 14px;
    background: rgba(1, 176, 126, .04);
    border: 1px solid rgba(1, 176, 126, .15);
    border-radius: 10px;
    font-size: 13px;
    line-height: 1.4;
    color: rgba(0, 65, 65, .85);
    font-weight: 500;
}
.ps_delivery_ico {
    flex-shrink: 0;
    width: 22px;
    height: 22px;
    color: #0E8A5F;
}
.ps_delivery_text {
    min-width: 0;
}
.ps_delivery_hl {
    color: #0E8A5F;
    font-weight: 700;
}
.ps_delivery_pay {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-top: 15px;
    padding: 0 14px;
    font-size: 14px;
    color: rgba(0, 0, 0, .5);
    line-height: 1.3;
}
.ps_delivery_pay .ps_delivery_ico {
    width: 18px;
    height: 18px;
    color: rgba(0, 0, 0, .4);
}
.ps_markdown {
    margin-top: 16px;
    padding: 14px 16px;
    background: rgba(255, 193, 7, .06);
    border: 1.5px solid rgba(255, 193, 7, .2);
    border-radius: 10px;
}
.ps_markdown_title {
    font-size: 13px;
    font-weight: 600;
    color: rgba(200, 160, 0, 1);
    margin-bottom: 6px;
}
.ps_markdown_price {
    font-size: 20px;
    font-weight: 700;
    color: rgba(0, 65, 65, .95);
}
.ps_markdown_price s {
    font-size: 14px;
    font-weight: 400;
    color: rgba(0, 0, 0, .35);
    margin-left: 8px;
}
.ps_markdown_reason {
    font-size: 12px;
    color: rgba(0, 0, 0, .5);
    margin-top: 4px;
}
.ps_desc_wrapper {
    background: #fff;
    border: 1.5px solid rgba(0, 65, 63, .08);
    border-radius: 14px;
    padding: 8px 28px;
    margin-bottom: 24px;
}
.ps_desc_section {
    border-bottom: 1px solid rgba(0, 0, 0, .06);
}
.ps_desc_section:last-child {
    border-bottom: none;
}
.ps_desc_head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 16px 0;
    cursor: pointer;
    gap: 12px;
    -webkit-user-select: none;
    user-select: none;
}
.ps_desc_head span {
    font-family: "Unbounded", ui-sans-serif, system-ui, sans-serif;
    font-size: 15px;
    font-weight: 500;
    color: rgba(0, 65, 65, .95);
    flex: 1;
}
.ps_desc_head:hover span {
    color: rgba(1, 176, 126, 1);
}
.ps_desc_chevron {
    flex-shrink: 0;
    color: rgba(0, 0, 0, .35);
    transition: transform .3s ease;
}
.ps_desc_open .ps_desc_chevron {
    transform: rotate(180deg);
}
.ps_desc_head {
    scroll-margin-top: 80px;
}
.ps_desc_body {
    max-height: 0;
    overflow: hidden;
    transition: max-height .35s ease;
}
.ps_desc_body p {
    font-size: 14px;
    color: rgba(0, 0, 0, .75);
    line-height: 1.7;
    margin: 0 0 16px;
    word-break: break-word;
}
@media screen and (max-width: 768px) {
    .ps_gallery {
        max-width: 360px;
        margin: 0 auto;
    }
    .ps_gallery_arrow {
        display: none;
    }
    .ps_price {
        font-size: 30px;
    }
    .ps_rub {
        font-size: 24px;
    }
    .ps_btn,
    .ps_btn_load {
        max-width: 100%;
    }
    .ps_form_thumb {
        width: 70px;
    }
    .ps_b_forms .ps_forms {
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
        flex-wrap: nowrap;
        scrollbar-width: none;
    }
    .ps_b_forms .ps_forms::-webkit-scrollbar {
        display: none;
    }
    
    .ps_b_buy > *:not(.ps_markdown_block) { display: none !important; }
    .ps_b_buy { border: none; box-shadow: none; padding: 0; background: transparent; }
    .ps_b_buy .ps_markdown_block { margin-top: 0; }
    .ps_b_buy:not(:has(.ps_markdown_block)) { display: none; }
    @media screen and (max-width: 480px) {
        .ps_b_buy { padding: 0 !important; }
    }
}
@media screen and (max-width: 100000px) {
    .ps_spec {
        display: block;
        padding: 6px 0;
        border-bottom: 1px solid rgba(0, 0, 0, .06);
        overflow: visible;
    }
    .ps_spec:last-child {
        border-bottom: none;
    }
    
    .ps_spec_label::after {
        content: ":";
    }
    .ps_spec_dots {
        display: none;
    }
    .ps_spec_value {
        margin-left: 5px;
        text-align: left;
        max-width: 100%;
        white-space: normal;
        overflow: visible;
        text-overflow: unset;
    }
}
@media screen and (max-width: 480px) {
    .ps_block {
        padding: 16px;
        border-radius: 12px;
    }
    .ps_gallery {
        max-width: 300px;
    }
    .ps_thumb {
        width: 48px;
        height: 48px;
    }
    .ps_b_forms .ps_tabs {
        flex-wrap: nowrap;
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
        scrollbar-width: none;
    }
    .ps_b_forms .ps_tabs::-webkit-scrollbar {
        display: none;
    }
    
    .ps_price {
        font-size: 26px;
    }
    .ps_rub {
        font-size: 22px;
    }
    .ps_price_old {
        font-size: 15px;
    }
    .ps_desc_wrapper {
        padding: 4px 16px;
        border-radius: 12px;
    }
}
@media screen and (max-width: 420px) {
    .ps_block {
        padding: 14px;
    }
    .ps_gallery {
        max-width: 260px;
    }
    .ps_thumb {
        width: 42px;
        height: 42px;
    }
    .ps_price {
        font-size: 24px;
    }
    .ps_rub {
        font-size: 19px;
    }
    .ps_btn,
    .ps_btn_load {
        padding: 12px 0;
        font-size: 15px;
    }
    .ps_desc_wrapper {
        padding: 2px 12px;
    }
    
    .ps_b_title h1 { font-size: 1.375rem; line-height: 1.15; }
}
@media screen and (max-width: 350px) {
    .ps_b_title h1 { font-size: 1.255rem; }
}
.ps_sticky_bar {
    display: none;
}
@media screen and (max-width: 768px) {
    .ps_sticky_bar {
        display: flex;
        position: fixed;
        left: 10px;
        right: 10px;
        bottom: 8px;
        bottom: calc(8px + env(safe-area-inset-bottom, 0px));
        align-items: center;
        justify-content: space-between;
        gap: 12px;
        padding: 12px 16px;
        background: #fff;
        border: 1.5px solid rgba(0, 65, 63, .1);
        border-radius: 20px;
        box-shadow: 0 4px 20px rgba(0, 0, 0, .1);
        z-index: 11;
        min-width: 278px;
        box-sizing: border-box;
        transition: opacity .3s ease, transform .3s ease;
    }
    .ps_sticky_bar.ps_sticky_hidden {
        opacity: 0;
        transform: translateY(20px);
        pointer-events: none;
    }
    
    .ps_sticky_bar.ps_sticky_ntf_hide {
        transform: translateY(calc(100% + 20px));
        opacity: 0;
        pointer-events: none;
    }
    .ps_sticky_bar .ps_sticky_info {
        flex: 1;
        min-width: 0;
        display: flex;
        flex-direction: column;
        gap: 4px;
    }
    .ps_sticky_bar .ps_sticky_badges {
        display: flex;
        align-items: center;
        gap: 6px;
        flex-wrap: wrap;
    }
    .ps_sticky_bar .ps_sticky_badges .ps_badge {
        font-size: 11px;
        padding: 2px 8px;
    }
    .ps_sticky_bar .ps_sticky_price_row {
        display: flex;
        align-items: baseline;
        gap: 8px;
    }
    .ps_sticky_bar .ps_sticky_price_row .ps_price {
        font-size: 20px;
    }
    .ps_sticky_bar .ps_sticky_price_row .ps_rub {
        font-size: 16px;
    }
    .ps_sticky_bar .ps_sticky_price_row .ps_price_old {
        font-size: 13px;
    }
    .ps_sticky_bar .ps_sticky_price_row .ps_price_none {
        font-size: 13px;
    }
    .ps_sticky_bar .ps_sticky_price_row .ps_price_from {
        font-size: 16px;
    }
    .ps_sticky_bar .ps_btn {
        flex-shrink: 0;
        width: auto;
        max-width: none;
        padding: 12px 24px;
        font-size: 14px;
        border-radius: 10px;
        position: relative;
    }
    
    .ps_sticky_bar .ps_btn.ps_btn_loading {
        color: transparent;
        pointer-events: none;
    }
    .ps_sticky_bar .ps_btn.ps_btn_loading::after {
        content: '';
        position: absolute;
        top: 50%;
        left: 50%;
        width: 20px;
        height: 20px;
        margin: -10px 0 0 -10px;
        border: 2.5px solid rgba(255, 255, 255, .3);
        border-top-color: #fff;
        border-radius: 50%;
        animation: ps_rotate .7s linear infinite;
    }
    .ps_sticky_bar .ps_btn_outline.ps_btn_loading::after {
        border-color: rgba(1, 176, 126, .2);
        border-top-color: rgba(1, 176, 126, 1);
    }
    
    .ps_sticky_bar .ps_btn_load {
        display: none !important;
    }
}
@media (max-width: 640px) {
    .ps_sticky_bar {
        bottom: calc(var(--bmh-h, 65px) + 3px);
    }
    
    .ps_sticky_bar.ps_sticky_ntf_hide {
        transform: translateY(calc(100% + 80px));
    }
}
.product_single .pis_heart::before {
    content: "";
    position: absolute;
    inset: 0;
    background: url("/content/img/favorite_red.svg") center / 50% 50% no-repeat;
    opacity: .35;
    filter: grayscale(1);
    transition: opacity .15s, filter .15s;
    pointer-events: none;
}
.product_single .pis_heart:hover::before { opacity: .7; }
.product_single .pis_heart_active::before {
    opacity: 1;
    filter: none;
}
@media (min-width: 421px) {
    .product_single .product_slider .pis_title_block .is_section_title {
        font-size: 1.6rem;
    }
}

/* ================================================================
   BLOCK: basket_page
   ================================================================ */

.basket_page {
    position: relative;
    width: 100%;
    margin: 20px 0 30px;
}
.basket_page .buffer_block_wrapper {
    display: none;
}
.basket_page .basket_page_width_basket,
.basket_page .basket_page_width_order {
    display: grid;
    grid-template-columns: 1fr 360px;
    gap: 16px;
    max-width: 1400px;
    width: calc(100% - 20px);
    margin: 0 auto;
    position: relative;
    left: 0;
}
@media (max-width: 1420px) {
    .basket_page .basket_page_width_basket,
    .basket_page .basket_page_width_order {
        left: 10px;
        margin: 0;
    }
}
.basket_page .left_block_wrapper {
    min-width: 0;
}
.basket_page .right_block_wrapper {
    align-self: start;
    position: sticky;
    top: 16px;
    transition: top .35s ease;
}
.basket_page .title_content {
    grid-column: 1 / -1;
    margin-bottom: 5px;
    padding: 0 4px;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 6px;
}
.basket_page .title_content h1 {
    font-weight: 600;
    color: rgba(0, 65, 65, .95);
    margin: 0;
    padding: 0;
    font-size: 1.4rem;
    line-height: 1;
    font-family: "Unbounded", ui-sans-serif, system-ui, sans-serif;
}
@media (max-width: 420px) {
    .basket_page .title_content h1 { font-size: 1.375rem; line-height: 1.15; }
}
@media (max-width: 350px) {
    .basket_page .title_content h1 { font-size: 1.255rem; }
}
.basket_page .right_block .bp_clear_basket {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 5px;
    font-size: 13px;
    font-weight: 500;
    color: rgba(0, 0, 0, .35);
    cursor: pointer;
    transition: color .15s;
    user-select: none;
    -webkit-user-select: none;
    white-space: nowrap;
    margin-top: 20px;
}
.basket_page .right_block .bp_clear_basket svg {
    width: 15px;
    height: 15px;
    flex-shrink: 0;
}
.basket_page .right_block .bp_clear_basket:hover {
    color: rgba(226, 87, 92, .8);
}
.basket_page .title_content .bp_clear_basket svg {
    width: 16px;
    height: 16px;
    flex-shrink: 0;
}
.basket_page .title_content .bp_back_link {
    font-size: 14px;
    color: rgba(1, 176, 126, 1);
    text-decoration: none;
    font-weight: 500;
    display: inline-flex;
    align-items: center;
    gap: 6px;
}
.basket_page .title_content .bp_back_link img {
    padding-top: 1px;
}
.basket_page .title_content .bp_back_link:hover {
    text-decoration: underline;
}
@media (max-width: 900px) {
    .basket_page .basket_page_width_basket,
    .basket_page .basket_page_width_order {
        grid-template-columns: 1fr;
    }
    .basket_page .right_block_wrapper {
        position: relative;
        top: auto;
    }
}
@media (max-width: 600px) {
    .basket_page .basket_page_width_basket,
    .basket_page .basket_page_width_order {
        width: calc(100% - 20px);
    }
}
.basket_page .left_block_wrapper .left_block {
    position: relative;
    width: 100%;
    display: flex;
    flex-direction: column;
    gap: 10px;
}
.basket_page .left_block_wrapper .product_wrapper {
    display: flex;
    flex-direction: column;
    gap: 10px;
}
.basket_page .product_wrapper .product {
    position: relative;
}
.basket_page .product_wrapper .product .content {
    display: grid;
    grid-template-columns: 130px 1fr;
    grid-template-rows: 1fr auto;
    column-gap: 48px;
    row-gap: 6px;
    border: 1.5px solid rgba(0, 65, 63, .1);
    background: #fff;
    border-radius: 12px;
    padding: 16px 16px 16px 46px;
    transition: border-color .2s, box-shadow .2s;
    box-sizing: border-box;
}
.basket_page .product_wrapper .product .content:hover {
    border-color: rgba(1, 176, 126, .35);
    box-shadow: 0 2px 12px rgba(1, 176, 126, .08);
}
.basket_page .product_wrapper .product .bp_card_image {
    grid-column: 1;
    grid-row: 1 / -1;
    display: flex;
    align-items: center;
    justify-content: center;
}
.basket_page .product_wrapper .product .bp_card_image img {
    display: block;
    width: 100%;
    max-height: 130px;
    object-fit: contain;
}
.basket_page .product_wrapper .product .bp_card_body {
    grid-column: 2;
    grid-row: 1;
    min-width: 0;
}
.basket_page .product_wrapper .product .title {
    margin-bottom: 4px;
}
.basket_page .product_wrapper .product .title a {
    text-decoration: none;
}
.basket_page .product_wrapper .product .title h3 {
    font-weight: 600;
    color: rgba(0, 65, 65, .95);
    font-size: 15px;
    margin: 0;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    line-height: 1.35;
}
.basket_page .product_wrapper .product .title a:hover h3 {
    color: rgba(24, 187, 156, 1);
}
.basket_page .product_wrapper .product .description_wrapper {
    margin-bottom: 4px;
}
.basket_page .product_wrapper .product .description_wrapper p {
    margin: 2px 0;
    font-size: 12px;
    color: rgba(0, 0, 0, .45);
    line-height: 1.4;
}
.basket_page .product_wrapper .product .description_wrapper .type_1 {
    font-size: 11px;
    color: #fff;
    font-weight: 400;
    background: linear-gradient(0deg, rgba(226, 87, 92, 1) 13%, rgba(252, 127, 81, 1) 100%);
    padding: 1px 6px;
    border-radius: 4px;
}
.basket_page .product_wrapper .product .description_wrapper .type_2 {
    color: rgba(0, 0, 0, .4);
}
.basket_page .product_wrapper .product .price_wrapper {
    margin-top: 4px;
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    gap: 0 8px;
}
.basket_page .product_wrapper .product .tovar_price p {
    margin: 0;
    line-height: 1.3;
    display: inline-flex;
    align-items: baseline;
    gap: 8px;
}
.basket_page .product_wrapper .product .tovar_price .bp_price_val {
    font-weight: 600;
    color: rgba(0, 65, 65, .95);
    font-size: 18px;
}
.basket_page .product_wrapper .product .tovar_price .bp_price_val font {
    font-weight: 300;
    font-size: 18px;
}
.basket_page .product_wrapper .product .tovar_price .bp_price_old {
    color: rgba(0, 0, 0, .4);
    font-size: 14px;
    font-weight: 500;
    text-decoration: line-through;
}
.basket_page .product_wrapper .product .bp_price_breakdown {
    width: 100%;
}
.basket_page .product_wrapper .product .bp_price_breakdown:empty {
    display: none;
}
.basket_page .product_wrapper .product .bp_price_breakdown p {
    font-size: 12px;
    color: rgba(0, 0, 0, .5);
    margin: 2px 0 0;
    line-height: 1.4;
}
.basket_page .product_wrapper .product .price_qtty {
    width: 100%;
    margin-top: 2px;
}
.basket_page .product_wrapper .product .price_qtty p {
    font-size: 12px;
    margin: 0;
    color: rgba(0, 0, 0, .5);
}
.basket_page .product_wrapper .product .price_qtty p font {
    font-size: 14px;
    font-weight: 600;
    color: rgba(0, 65, 65, .95);
}
.basket_page .product_wrapper .product .bp_card_actions {
    grid-column: 2;
    grid-row: 2;
    justify-self: start;
}
.basket_page .product_wrapper .product .button_wrapper {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 8px;
}
.basket_page .product_wrapper .product .quantity {
    display: flex;
    align-items: center;
    border: 1.5px solid rgba(0, 65, 63, .15);
    border-radius: 10px;
    overflow: hidden;
}
.basket_page .product_wrapper .product .quantity .bp_qty_minus,
.basket_page .product_wrapper .product .quantity .bp_qty_plus {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    cursor: pointer;
    transition: background .15s;
    flex-shrink: 0;
}
.basket_page .product_wrapper .product .quantity .bp_qty_minus:hover,
.basket_page .product_wrapper .product .quantity .bp_qty_plus:hover {
    background: rgba(1, 176, 126, .08);
}
.basket_page .product_wrapper .product .quantity .bp_qty_minus:active,
.basket_page .product_wrapper .product .quantity .bp_qty_plus:active {
    background: rgba(1, 176, 126, .15);
}
.basket_page .product_wrapper .product .quantity .bp_qty_disabled {
    opacity: .3;
    cursor: default;
}
.basket_page .product_wrapper .product .quantity .bp_qty_minus svg,
.basket_page .product_wrapper .product .quantity .bp_qty_plus svg {
    width: 16px;
    height: 16px;
    color: rgba(0, 65, 65, .7);
}
.basket_page .product_wrapper .product .quantity .bp_qty_input input {
    width: 40px;
    text-align: center;
    height: 36px;
    font-size: 14px;
    font-weight: 600;
    padding: 0;
    margin: 0;
    outline: none;
    color: rgba(0, 65, 65, .95);
    border: none;
    border-left: 1.5px solid rgba(0, 65, 63, .1);
    border-right: 1.5px solid rgba(0, 65, 63, .1);
    background: transparent;
    box-sizing: border-box;
}
.basket_page .product_wrapper .product .bp_del {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    cursor: pointer;
    border-radius: 10px;
    transition: background .15s;
}
.basket_page .product_wrapper .product .bp_del:hover {
    background: rgba(226, 87, 92, .08);
}
.basket_page .product_wrapper .product .bp_del:active {
    background: rgba(226, 87, 92, .15);
}
.basket_page .product_wrapper .product .bp_del svg {
    width: 18px;
    height: 18px;
    color: rgba(0, 0, 0, .35);
    transition: color .15s;
}
.basket_page .product_wrapper .product .bp_del:hover svg {
    color: rgba(226, 87, 92, .8);
}
@media (max-width: 600px) {
    .basket_page .product_wrapper .product .content {
        grid-template-columns: 90px 1fr;
        grid-template-rows: 1fr auto;
        column-gap: 20px;
        padding: 12px 12px 12px 22px;
    }
    .basket_page .product_wrapper .product .bp_card_image img {
        max-height: 90px;
    }
}
@media (max-width: 380px) {
    .basket_page .product_wrapper .product .content {
        grid-template-columns: 72px 1fr;
        column-gap: 16px;
        padding: 10px 10px 10px 20px;
    }
    .basket_page .product_wrapper .product .bp_card_image img {
        max-height: 72px;
    }
    .basket_page .product_wrapper .product .title h3 { font-size: 14px; }
}
.basket_page .right_block {
    border: 1.5px solid rgba(0, 65, 63, .1);
    background: #fff;
    border-radius: 12px;
    padding: 24px;
}
.basket_page .right_block_wrapper .rb_title {
    font-weight: 600;
    color: rgba(0, 65, 65, .95);
    font-size: 18px;
    margin: 0 0 16px;
}
.basket_page .right_block_wrapper .line {
    display: flex;
    justify-content: space-between;
    margin-bottom: 6px;
}
.basket_page .right_block_wrapper .line .left p {
    font-size: 14px;
    margin: 0;
    font-weight: 500;
    color: rgba(0, 0, 0, .45);
}
.basket_page .right_block_wrapper .line .right p {
    font-size: 14px;
    margin: 0;
    font-weight: 500;
    color: rgba(0, 0, 0, .45);
}
.basket_page .right_block_wrapper .rb_divider {
    height: 1px;
    background: rgba(0, 65, 63, .08);
    margin: 14px 0;
}
.basket_page .right_block_wrapper .price_total {
    display: flex;
    justify-content: space-between;
    align-items: baseline;
}
.basket_page .right_block_wrapper .price_total .left p {
    font-size: 22px;
    font-weight: 600;
    margin: 0;
    color: rgba(0, 65, 65, .95);
}
.basket_page .right_block_wrapper .price_total .right p {
    font-size: 22px;
    font-weight: 600;
    margin: 0;
    color: rgba(0, 65, 65, 1);
}
.basket_page .right_block_wrapper .button_top {
    display: block;
    width: 100%;
    text-align: center;
    border-radius: 12px;
    cursor: pointer;
    border: none;
    background: linear-gradient(to top, rgba(1, 176, 126, 1), rgba(1, 176, 150, 1));
    box-shadow: 0 4px 14px rgba(1, 176, 126, .3);
    margin-top: 24px;
    user-select: none;
    -webkit-user-select: none;
    transition: transform .15s, box-shadow .15s, opacity .15s;
}
.basket_page .right_block_wrapper .button_top:hover {
    transform: translateY(-1px);
    box-shadow: 0 6px 20px rgba(1, 176, 126, .35);
    opacity: .92;
}
.basket_page .right_block_wrapper .button_top:active {
    transform: translateY(0);
    box-shadow: 0 2px 8px rgba(1, 176, 126, .2);
    opacity: .8;
}
.basket_page .right_block_wrapper .button_top p {
    color: #fff;
    font-size: 17px;
    font-weight: 600;
    margin: 0;
    padding: 18px 24px;
    letter-spacing: .3px;
}
.basket_page .right_block_wrapper .button_top a {
    text-decoration: none;
    display: block;
}
.basket_page .right_block_wrapper .bp_order_disabled .button_top,
.basket_page .right_block_wrapper a.bp_order_disabled .button_top {
    background: linear-gradient(to top, rgba(160, 170, 168, 1), rgba(180, 190, 188, 1));
    box-shadow: none;
    cursor: default;
    pointer-events: none;
}
.basket_page .right_block_wrapper a.bp_order_disabled {
    pointer-events: none;
}
.basket_page .right_block_wrapper .button_load {
    display: none;
    width: 100%;
    text-align: center;
    margin-top: 20px;
    border-radius: 10px;
    background: linear-gradient(to top, rgba(1, 176, 126, 1), rgba(1, 176, 150, 1));
    padding: 10px 0;
}
.basket_page .right_block_wrapper .button_load .bp_spinner {
    width: 28px;
    height: 28px;
    border: 3px solid rgba(255, 255, 255, .3);
    border-top-color: #fff;
    border-radius: 50%;
    animation: bp_spin .7s linear infinite;
    margin: 4px auto;
}
@keyframes bp_spin {
    to { transform: rotate(360deg); }
}
.basket_page .bp_bonus_block {
    margin-top: 16px;
    padding: 14px 16px;
    background: linear-gradient(135deg, rgba(1, 176, 126, .06), rgba(1, 176, 126, .12));
    border: 1.5px solid rgba(1, 176, 126, .25);
    border-radius: 12px;
}
.basket_page .bp_bonus_block--disabled {
    background: rgba(0, 0, 0, .02);
    border-color: rgba(0, 0, 0, .08);
}
.basket_page .bp_bonus_toggle {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
}
.basket_page .bp_bonus_info {
    display: flex;
    align-items: center;
    gap: 10px;
}
.basket_page .bp_bonus_ico {
    width: 32px;
    height: 32px;
    flex-shrink: 0;
}
.basket_page .bp_bonus_ico img,
.basket_page .bp_bonus_ico svg {
    width: 100%;
    height: 100%;
    display: block;
    opacity: .85;
    color: rgba(1, 176, 126, 1);
}
.basket_page .bp_bonus_block--disabled .bp_bonus_ico img {
    filter: grayscale(1);
    opacity: .5;
}
.basket_page .bp_bonus_block--disabled .bp_bonus_ico svg {
    color: rgba(0, 0, 0, .3);
}
.basket_page .bp_bonus_label {
    font-size: 14px;
    font-weight: 600;
    color: rgba(0, 65, 65, .9);
    margin: 0;
    line-height: 1.3;
}
.basket_page .bp_bonus_bal {
    font-size: 12px;
    color: rgba(0, 0, 0, .5);
    margin: 2px 0 0;
    line-height: 1.3;
}
.basket_page .bp_bonus_bal b {
    color: rgba(1, 176, 126, 1);
    font-weight: 600;
}
.basket_page .bp_bonus_block--disabled .bp_bonus_bal b {
    color: rgba(0, 0, 0, .5);
}
.basket_page .bp_bonus_hint {
    font-size: 12px;
    color: rgba(1, 176, 126, .8);
    margin: 8px 0 0;
    line-height: 1.4;
}
.basket_page .bp_bonus_block--disabled .bp_bonus_hint {
    color: rgba(0, 0, 0, .35);
}
.basket_page .bp_switch {
    position: relative;
    display: inline-block;
    width: 44px;
    height: 24px;
    flex-shrink: 0;
}
.basket_page .bp_switch input {
    opacity: 0;
    width: 0;
    height: 0;
}
.basket_page .bp_switch_slider {
    position: absolute;
    inset: 0;
    background: rgba(0, 0, 0, .15);
    border-radius: 24px;
    cursor: pointer;
    transition: background .25s;
}
.basket_page .bp_switch_slider::before {
    content: "";
    position: absolute;
    width: 18px;
    height: 18px;
    left: 3px;
    bottom: 3px;
    background: #fff;
    border-radius: 50%;
    transition: transform .25s;
    box-shadow: 0 1px 3px rgba(0, 0, 0, .15);
}
.basket_page .bp_switch input:checked + .bp_switch_slider {
    background: rgba(1, 176, 126, 1);
}
.basket_page .bp_switch input:checked + .bp_switch_slider::before {
    transform: translateX(20px);
}
.basket_page .bp_total_old {
    text-decoration: line-through;
    color: rgba(0, 0, 0, .3) !important;
    font-size: 15px !important;
    font-weight: 500 !important;
}
.basket_page .bp_total_free {
    color: rgba(1, 176, 126, 1) !important;
}
.basket_page .right_block_wrapper .line_bot {
    display: none;
    border-top: 1px solid rgba(0, 65, 63, .08);
    margin-top: 16px;
    padding-top: 12px;
}
.basket_page .right_block_wrapper .line_bot p {
    font-size: 12px;
    margin: 0;
    font-weight: 400;
    color: rgba(0, 0, 0, .4);
    line-height: 1.5;
}
.basket_page .right_block_wrapper .line_bot p font {
    font-weight: 500;
    font-size: 12px;
    color: rgba(0, 65, 65, .7);
}
.basket_page .right_block_wrapper .line_bot p .button {
    text-decoration: underline;
    cursor: pointer;
}
.basket_page .right_block_wrapper .line_bot p .button:hover {
    color: rgba(24, 187, 156, 1);
}
@media (max-width: 600px) {
    .basket_page .right_block { padding: 20px 16px; }
}
.basket_page .bp_section {
    border: 1.5px solid rgba(0, 65, 63, .1);
    background: #fff;
    border-radius: 12px;
    padding: 20px 24px;
}
.basket_page .bp_section_header {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 16px;
}
.basket_page .bp_section_num {
    width: 28px;
    height: 28px;
    border-radius: 50%;
    background: linear-gradient(135deg, #e6f9f1, #d0f5e8, #e0faf0, #c8f2e2);
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 600;
    font-size: 14px;
    color: #00694d;
    flex-shrink: 0;
}
.basket_page .bp_section_title {
    font-weight: 600;
    color: rgba(0, 65, 65, .95);
    font-size: 17px;
    margin: 0;
}
.basket_page .bp_payment_grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 10px;
}
.basket_page .payment_method {
    display: flex;
    align-items: center;
    gap: 12px;
    border: 2px solid rgba(0, 65, 63, .1);
    border-radius: 12px;
    padding: 14px 16px;
    cursor: pointer;
    transition: border-color .2s, background .2s;
    position: relative;
}
.basket_page .payment_method:hover {
    background: rgba(247, 250, 250, 1);
}
.basket_page .payment_method.bp_payment_active {
    border-color: rgba(1, 176, 126, .75);
    background: rgba(1, 176, 126, .04);
}
.basket_page .payment_method.bp_payment_disabled {
    opacity: .45;
    cursor: default;
}
.basket_page .payment_method.bp_payment_disabled:hover {
    background: transparent;
}
.basket_page .payment_method.payment_method--unavailable {
    opacity: .55;
    filter: grayscale(.25);
    cursor: not-allowed;
}
.basket_page .payment_method.payment_method--unavailable:hover {
    background: transparent;
    border-color: var(--border, rgba(0,0,0,.1));
}
.basket_page .payment_method.payment_method--locked {
    opacity: .4;
    pointer-events: none;
    filter: grayscale(.4);
    border-color: rgba(0, 0, 0, .08) !important;
    background: transparent !important;
}
.basket_page .bp_payment_grid--locked {
    position: relative;
}
.basket_page .payment_method .bp_pay_ico {
    width: 40px;
    height: 40px;
    flex-shrink: 0;
    display: flex;
    align-items: center;
    justify-content: center;
}
.basket_page .payment_method .bp_pay_ico svg {
    width: 32px;
    height: 32px;
    color: rgba(0, 65, 65, .6);
}
.basket_page .payment_method .bp_pay_ico_tpay {
    width: auto;
    min-width: 40px;
}
.basket_page .payment_method .bp_pay_ico_tpay img {
    height: 24px;
    width: auto;
    display: block;
}
.basket_page .payment_method .bp_pay_text {
    min-width: 0;
}
.basket_page .payment_method .bp_pay_text .text_1 {
    font-weight: 600;
    color: rgba(0, 65, 63, .85);
    font-size: 15px;
    margin: 0 0 2px;
}
.basket_page .payment_method .bp_pay_text .text_2 {
    font-weight: 400;
    color: rgba(0, 0, 0, .4);
    font-size: 13px;
    margin: 0;
}
@media (max-width: 600px) {
    .basket_page .bp_payment_grid { grid-template-columns: 1fr; }
    .basket_page .bp_section { padding: 16px; }
}
@media (max-width: 380px) {
    .basket_page .payment_method .bp_pay_ico { display: none; }
}
.basket_page .bp_shipping {
    display: flex;
    align-items: center;
    gap: 12px;
}
.basket_page .bp_shipping .bp_ship_ico {
    flex-shrink: 0;
    width: 28px;
    height: 28px;
    display: flex;
    align-items: center;
    justify-content: center;
}
.basket_page .bp_shipping .bp_ship_ico svg {
    width: 24px;
    height: 24px;
    color: rgba(0, 65, 65, .6);
}
.basket_page .bp_shipping .bp_ship_text {
    flex: 1;
    min-width: 0;
}
.basket_page .bp_shipping .bp_ship_text .bp_ship_phone {
    display: inline-block;
    font-weight: 600;
    font-size: 13px;
    color: rgba(1, 176, 126, 1);
    text-decoration: none;
    transition: color .15s;
}
.basket_page .bp_shipping .bp_ship_text .bp_ship_phone:hover {
    color: rgba(1, 140, 100, 1);
}
.basket_page .bp_shipping .bp_ship_text .text_1 {
    font-weight: 600;
    color: rgba(0, 0, 0, .7);
    font-size: 14px;
    margin: 0 0 2px;
}
.basket_page .bp_shipping .bp_ship_text .text_2 {
    font-weight: 400;
    color: rgba(0, 0, 0, .45);
    font-size: 12px;
    margin: 0;
}
.basket_page .bp_shipping .bp_ship_btn {
    flex-shrink: 0;
    display: inline-block;
    border: 1.5px solid rgba(0, 0, 0, .2);
    color: rgba(0, 0, 0, .5);
    background: transparent;
    cursor: pointer;
    border-radius: 10px;
    padding: 6px 14px;
    font-size: 13px;
    font-weight: 600;
    transition: border-color .15s, color .15s;
}
.basket_page .bp_shipping .bp_ship_btn:hover {
    border-color: rgba(0, 0, 0, .4);
    color: rgba(0, 0, 0, .7);
}
@media (max-width: 600px) {
    .basket_page .bp_shipping {
        flex-wrap: wrap;
    }
    .basket_page .bp_shipping .bp_ship_btn {
        margin-left: 40px;
        margin-top: 8px;
    }
}
.basket_page .bp_section_toggle {
    cursor: pointer;
    user-select: none;
    -webkit-user-select: none;
}
.basket_page .bp_section_toggle .bp_chevron {
    width: 20px;
    height: 20px;
    margin-left: auto;
    transition: transform .25s ease;
    color: rgba(0, 0, 0, .35);
    display: flex;
    align-items: center;
    justify-content: center;
}
.basket_page .bp_section_toggle .bp_chevron svg {
    width: 18px;
    height: 18px;
}
.basket_page .bp_section.bp_section_open .bp_chevron {
    transform: rotate(180deg);
}
.basket_page .bp_section_body {
    display: none;
}
.basket_page .bp_section.bp_section_open .bp_section_body {
    display: block;
}
.basket_page .bp_section_subtitle {
    font-size: 13px;
    color: rgba(0, 0, 0, .45);
    margin: 0;
    font-weight: 400;
}
.basket_page .bp_order_products {
    margin-top: 12px;
}
.basket_page .bp_order_product {
    display: grid;
    grid-template-columns: 48px 1fr auto;
    gap: 0 12px;
    align-items: center;
    padding: 8px 0;
    border-top: 1px solid rgba(0, 65, 63, .06);
}
.basket_page .bp_order_product:first-child {
    border-top: none;
}
.basket_page .bp_order_product .bp_op_img {
    width: 48px;
    height: 48px;
    display: flex;
    align-items: center;
    justify-content: center;
}
.basket_page .bp_order_product .bp_op_img img {
    max-width: 44px;
    max-height: 44px;
    object-fit: contain;
}
.basket_page .bp_order_product .bp_op_info {
    min-width: 0;
}
.basket_page .bp_order_product .bp_op_name {
    font-size: 13px;
    color: rgba(0, 0, 0, .7);
    margin: 0;
    display: -webkit-box;
    -webkit-line-clamp: 1;
    -webkit-box-orient: vertical;
    overflow: hidden;
}
.basket_page .bp_order_product .bp_op_meta {
    font-size: 12px;
    color: rgba(0, 0, 0, .5);
    margin: 2px 0 0;
    display: -webkit-box;
    -webkit-line-clamp: 1;
    -webkit-box-orient: vertical;
    overflow: hidden;
}
.basket_page .bp_order_product .bp_op_qty {
    font-size: 12px;
    color: rgba(0, 0, 0, .4);
    margin: 2px 0 0;
}
.basket_page .bp_order_product .bp_op_pills {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 3px 5px;
    margin-top: 2px;
}
.basket_page .bp_order_product .bp_op_pills .bp_pill {
    font-size: 12px;
    padding: 1px 6px;
}
.basket_page .bp_order_product .bp_op_price {
    font-size: 14px;
    font-weight: 600;
    color: rgba(0, 65, 65, .9);
    margin: 0;
    white-space: nowrap;
}
.basket_page .bp_section_unavailable {
    border-color: rgba(220, 38, 38, .15);
    background: rgba(254, 242, 242, .3);
}
.basket_page .bp_section_unavailable .bp_section_num {
    background: rgba(220, 38, 38, .1);
    color: #dc2626;
}
.basket_page .bp_section_unavailable .bp_section_title {
    color: rgba(220, 38, 38, .8);
}
.basket_page .bp_section_unavailable .bp_section_subtitle {
    color: rgba(220, 38, 38, .5);
}
.basket_page .bp_section_unavailable .bp_order_product .bp_op_img img {
    opacity: .45;
    filter: grayscale(.3);
}
.basket_page .bp_section_unavailable .bp_order_product .bp_op_name {
    color: rgba(0, 0, 0, .4);
}
.basket_page .bp_section_unavailable .bp_order_product .bp_op_price {
    color: rgba(0, 0, 0, .35);
    text-decoration: line-through;
}
.basket_page .basket_404 {
    max-width: 480px;
    margin: 48px auto 40px;
    text-align: center;
    padding: 0 16px;
    grid-column: 1 / -1;
}
.basket_page .bp_empty_icon {
    width: 80px;
    height: 80px;
    margin: 0 auto 20px;
    background: rgba(0, 65, 65, .04);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
}
.basket_page .bp_empty_icon img {
    width: 48px;
    height: 48px;
    display: block;
}
.basket_page .bp_empty_title {
    font-family: "Unbounded", ui-sans-serif, system-ui, sans-serif;
    font-size: 1.8rem;
    line-height: 1;
    font-weight: 500;
    color: rgba(0, 65, 65, .85);
    margin: 0 0 12px;
}
@media (max-width: 420px) {
    .basket_page .bp_empty_title { font-size: 1.5rem; line-height: 1.15; }
}
@media (max-width: 350px) {
    .basket_page .bp_empty_title { font-size: 1.38rem; }
}
.basket_page .bp_empty_desc {
    font-size: 15px;
    color: rgba(0, 0, 0, .45);
    line-height: 1.55;
    margin: 0 0 32px;
}
.basket_page .bp_showcase_phone {
    font-size: 15px;
    color: rgba(0, 0, 0, .55);
    line-height: 1.5;
    margin: -14px 0 30px;
}
.basket_page .bp_showcase_tel {
    display: inline-block;
    margin-top: 6px;
    font-size: 22px;
    font-weight: 700;
    color: var(--green, #2f9e44);
    letter-spacing: .2px;
    text-decoration: none;
    white-space: nowrap;
}
.basket_page .bp_showcase_tel:hover { text-decoration: underline; }
.basket_page .bp_empty_actions {
    display: flex;
    justify-content: center;
    gap: 12px;
    flex-wrap: wrap;
}
.basket_page .bp_empty_btn {
    display: inline-block;
    padding: 14px 32px;
    border-radius: 12px;
    font-size: 15px;
    font-weight: 600;
    text-decoration: none;
    cursor: pointer;
    transition: transform .15s, box-shadow .15s, opacity .15s;
}
.basket_page .bp_empty_btn:hover {
    transform: translateY(-1px);
}
.basket_page .bp_empty_btn:active {
    transform: translateY(0);
}
.basket_page .bp_empty_btn_primary {
    color: #fff;
    background: linear-gradient(to top, rgba(1, 176, 126, 1), rgba(1, 176, 150, 1));
    box-shadow: 0 4px 14px rgba(1, 176, 126, .3);
}
.basket_page .bp_empty_btn_primary:hover {
    box-shadow: 0 6px 20px rgba(1, 176, 126, .35);
}
.basket_page .bp_empty_btn_outline {
    color: rgba(0, 65, 65, .7);
    background: transparent;
    border: 1.5px solid rgba(0, 65, 63, .15);
}
.basket_page .bp_empty_btn_outline:hover {
    border-color: rgba(0, 65, 63, .3);
    color: rgba(0, 65, 65, .9);
}
@media (max-width: 380px) {
    .basket_page .basket_404 { margin: 32px auto 28px; }
    .basket_page .bp_empty_desc { font-size: 14px; }
    .basket_page .bp_empty_actions { flex-direction: column; align-items: center; }
    .basket_page .bp_empty_btn { width: 100%; text-align: center; box-sizing: border-box; }
}
.bp_pill_row {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 4px 6px;
    margin-bottom: 4px;
}
.pay_fail_overlay {
    position: fixed;
    inset: 0;
    background: rgba(0, 0, 0, .45);
    backdrop-filter: blur(4px);
    z-index: 2000;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 20px;
    animation: payFailFadeIn .2s ease;
}
@keyframes payFailFadeIn { from { opacity: 0 } to { opacity: 1 } }
.pay_fail_box {
    background: #fff;
    border-radius: 16px;
    padding: 28px 24px 24px;
    max-width: 420px;
    width: 100%;
    text-align: center;
    box-shadow: 0 20px 50px rgba(0, 0, 0, .2);
    animation: payFailSlideIn .25s ease;
}
@keyframes payFailSlideIn { from { transform: translateY(-20px); opacity: 0 } to { transform: none; opacity: 1 } }
.pay_fail_icon {
    width: 56px;
    height: 56px;
    margin: 0 auto 14px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(229, 57, 53, .1);
    border-radius: 50%;
    color: #e53935;
}
.pay_fail_icon svg { width: 28px; height: 28px; }
.pay_fail_title {
    margin: 0 0 8px;
    font-size: 20px;
    font-weight: 700;
    color: #1a1a1a;
}
.pay_fail_text {
    margin: 0 0 20px;
    font-size: 14px;
    line-height: 1.5;
    color: rgba(0, 0, 0, .65);
}
.pay_fail_close {
    padding: 12px 32px;
    min-width: 160px;
    background: #01b07e;
    color: #fff;
    border: none;
    border-radius: 10px;
    font-size: 15px;
    font-weight: 600;
    cursor: pointer;
    transition: background .15s;
}
.pay_fail_close:hover { background: #019267; }
.bp_pickup_list {
    display: flex; flex-direction: column; gap: 8px;
    margin: 12px 0 0;
}
.bp_pickup_card {
    display: flex; align-items: center; gap: 12px;
    padding: 12px 14px;
    border: 2px solid rgba(0, 65, 63, .1);
    border-radius: 10px;
    background: #fff;
    cursor: pointer;
    transition: border-color .15s, background .15s;
}
.bp_pickup_card input[type="radio"] { display: none; }
.bp_pickup_card--active {
    border-color: rgba(1, 176, 126, .6);
    background: rgba(1, 176, 126, .04);
}
.bp_pickup_ico {
    flex-shrink: 0; width: 30px; height: 30px;
    display: flex; align-items: center; justify-content: center;
}
.bp_pickup_ico img { width: 22px; height: 22px; display: block; transition: filter .15s, opacity .15s; }
.bp_pickup_card:not(.bp_pickup_card--active) .bp_pickup_ico img {
    filter: grayscale(1);
    opacity: .4;
}
.bp_pickup_text { flex: 1; min-width: 0; }
.bp_pickup_text .text_1 {
    font-size: 15px; font-weight: 600;
    color: rgba(0, 65, 63, .85); margin: 0 0 2px;
}
.bp_pickup_text .text_2 {
    font-size: 13px; color: rgba(0, 65, 65, .5); margin: 0;
}
.bottom_menu_basket {
    position: fixed;
    left: 10px;
    right: 10px;
    bottom: 8px;
    bottom: calc(8px + env(safe-area-inset-bottom, 0px));
    height: auto;
    display: none;
    align-items: center;
    justify-content: space-between;
    padding: 12px 16px;
    border: 1.5px solid rgba(0, 65, 63, .1);
    background: #fff;
    border-radius: 20px;
    box-shadow: 0 4px 20px rgba(0, 0, 0, .1);
    z-index: 11;
    min-width: 280px;
    box-sizing: border-box;
}
.bottom_menu_basket .text p {
    font-size: 14px;
    margin: 0;
    color: rgba(0, 0, 0, .55);
    line-height: 1.4;
}
.bottom_menu_basket .text p font {
    font-weight: 600;
}
.bottom_menu_basket .button {
    flex-shrink: 0;
    border-radius: 10px;
    border: none;
    background: linear-gradient(to top, rgba(1, 176, 126, 1), rgba(1, 176, 150, 1));
    cursor: pointer;
    user-select: none;
    -webkit-user-select: none;
    transition: opacity .15s;
}
.bottom_menu_basket .button:hover {
    opacity: .85;
}
.bottom_menu_basket .button:active {
    opacity: .65;
}
.bottom_menu_basket .button p {
    color: #fff;
    margin: 10px 18px;
    padding: 0;
    font-size: 14px;
    font-weight: 600;
    white-space: nowrap;
}
@media (max-width: 900px) {
    .bottom_menu_basket {
        display: flex;
        transition: transform .3s ease, opacity .3s ease;
    }
    
    .bottom_menu_basket.bmb_ntf_hide {
        transform: translateY(calc(100% + 20px));
        opacity: 0;
        pointer-events: none;
    }
}
@media (max-width: 640px) {
    .bottom_menu_basket {
        bottom: calc(var(--bmh-h, 65px) + 3px);
    }
    
    .bottom_menu_basket.bmb_ntf_hide {
        transform: translateY(calc(100% + 80px));
    }
}
@media (max-width: 320px) {
    .bottom_menu_basket .button p {
        margin: 10px 10px;
    }
}

/* ================================================================
   BLOCK: lk_controlpanel
   ================================================================ */

.lk_controlpanel {
    width: 100%;
}
.lk_layout {
    display: grid;
    grid-template-columns: 300px 1fr;
    gap: 16px;
    max-width: 1400px;
    margin: 20px auto 30px;
    padding: 0 10px;
    box-sizing: border-box;
}
.lk_sidebar,
.lk_content {
    min-width: 0;
}
@media screen and (max-width: 950px) {
    .lk_layout {
        grid-template-columns: 1fr;
        padding: 10px 12px 0;
        margin: 12px auto;
    }
}
@media screen and (max-width: 475px) {
    .lk_layout {
        padding: 10px 10px 0;
    }
    .lk_content_header {
        flex-direction: row;
        flex-wrap: wrap;
    }
    .lk_content_header .lk_tabs {
        flex: 0 0 calc(100% - 6px);
    }
    .lk_tab {
        flex: 1;
        text-align: center;
    }
}
.lk_sidebar {
    position: sticky;
    top: 16px;
    align-self: start;
    background: #fff;
    border: 1.5px solid rgba(0, 65, 63, .08);
    border-radius: 12px;
    padding: 8px;
}
.lk_nav {
    display: flex;
    flex-direction: column;
    gap: 2px;
}
.lk_nav_item {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 12px 16px;
    border-radius: 8px;
    font-size: 15px;
    color: rgba(0, 65, 63, .95);
    text-decoration: none;
    cursor: pointer;
    transition: background .15s ease, color .15s ease;
    user-select: none;
}
.lk_nav_ico {
    display: inline-block;
    width: 18px;
    height: 18px;
    flex-shrink: 0;
    background: center / contain no-repeat;
    opacity: .5;
    transition: opacity .15s ease;
}
.lk_nav_active .lk_nav_ico { opacity: .85; }
.lk_nav_ico--home      { background-image: url('/content/img/menu_green_4.svg'); }
.lk_nav_ico--order     { background-image: url('/content/img/order_green_4.svg'); }
.lk_nav_ico--bonus     { background-image: url('/content/img/bonus_green_4.svg'); }
.lk_nav_ico--favorites { background-image: url('/content/img/favorite_green_4.svg'); }
.lk_nav_ico--profile   { background-image: url('/content/img/user_green_4.svg'); }
.lk_nav_item:hover {
    background: rgba(0, 65, 63, .04);
    color: rgba(0, 65, 63, .8);
}
.lk_nav_active,
.lk_nav_active:hover {
    background: #01b07e;
    color: #fff;
    font-weight: 600;
}
.lk_nav_active .lk_nav_ico {
    filter: brightness(0) invert(1);
    opacity: 1;
}
@media screen and (max-width: 950px) {
    .lk_sidebar {
        position: static;
        background: transparent;
        border: none;
        border-radius: 0;
        padding: 0;
    }
    .lk_nav {
        flex-direction: row;
        flex-wrap: nowrap;
        overflow-x: auto;
        overflow-y: hidden;
        gap: 8px;
        scrollbar-width: none;
        -webkit-overflow-scrolling: touch;
    }
    .lk_nav::-webkit-scrollbar { display: none; }
    .lk_nav.lk_nav_dragging {
        cursor: grabbing;
        scroll-behavior: auto;
    }
    .lk_nav.lk_nav_dragging * {
        pointer-events: none;
        user-select: none;
    }
}
@media screen and (min-width: 601px) and (max-width: 950px) {
    .lk_nav_item {
        flex: 1 1 0;
        justify-content: center;
        padding: 10px 14px;
        min-width: 0;
        border-radius: 999px;
        border: 1.5px solid rgba(0, 65, 63, .12);
        background: #fff;
        color: rgba(0, 65, 63, .65);
        font-size: 13px;
        font-weight: 500;
        white-space: nowrap;
    }
    .lk_nav_ico { width: 16px; height: 16px; }
    .lk_nav_item:hover {
        border-color: rgba(1, 176, 126, .25);
        background: rgba(1, 176, 126, .05);
    }
    .lk_nav_active,
    .lk_nav_active:hover {
        border-color: #01b07e;
        background: #01b07e;
        color: #fff;
    }
}
@media screen and (max-width: 700px) {
    .lk_nav_item { gap: 6px; }
}
@media screen and (max-width: 500px) {
    .lk_nav { gap: 4px; }
}
@media screen and (max-width: 600px) {
    .lk_nav { cursor: grab; padding-bottom: 4px; }
    .lk_nav_item {
        flex: 1 1 0;
        min-width: 70px;
        flex-direction: column;
        justify-content: center;
        gap: 6px;
        padding: 10px 6px 8px;
        border-radius: 12px;
        border: 1.5px solid rgba(0, 65, 63, .1);
        background: #fff;
        color: rgba(0, 65, 63, .65);
        text-align: center;
        line-height: 1.25;
        font-size: 11px;
        white-space: normal;
        font-weight: 500;
    }
    .lk_nav_item:hover { border-color: rgba(1, 176, 126, .25); }
    .lk_nav_active,
    .lk_nav_active:hover {
        border-color: #01b07e;
        background: #01b07e;
        color: #fff;
    }
    .lk_nav_ico { width: 20px; height: 20px; }
}
.lk_content_header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 12px;
    margin-bottom: 16px;
}
.lk_content_header h2 {
    font-family: "Unbounded", ui-sans-serif, system-ui, sans-serif;
    font-size: 1.4rem;
    font-weight: 600;
    color: rgba(0, 65, 63, .95);
    margin: 0;
    padding: 0;
    line-height: 1;
}
@media (max-width: 420px) {
    .lk_content_header h2 { font-size: 1.375rem; line-height: 1.15; }
}
@media (max-width: 350px) {
    .lk_content_header h2 { font-size: 1.255rem; }
}
.lk_tabs {
    display: flex;
    background: rgba(0, 65, 63, .06);
    border-radius: 10px;
    padding: 3px;
    gap: 2px;
}
.lk_tab {
    padding: 8px 18px;
    border-radius: 8px;
    font-size: 14px;
    font-weight: 500;
    color: rgba(0, 0, 0, .5);
    cursor: pointer;
    transition: background .15s ease, color .15s ease, box-shadow .15s ease;
    user-select: none;
    white-space: nowrap;
}
.lk_tab:hover {
    color: rgba(0, 65, 63, .7);
}
.lk_tab_active {
    background: #fff;
    color: rgba(0, 65, 63, .95);
    font-weight: 600;
    box-shadow: 0 1px 3px rgba(0, 0, 0, .08);
}
.lk_tab_active:hover {
    color: rgba(0, 65, 63, .95);
}
.order_active_wrapper,
.order_old_wrapper {
    display: flex;
    flex-direction: column;
    gap: 10px;
}
.lk_order_card_wrap {
    background: #fff;
    border: 1.5px solid rgba(0, 65, 63, .08);
    border-radius: 12px;
    padding: 16px 18px;
    cursor: pointer;
    overflow: hidden;
    transition: border-color .2s ease, box-shadow .2s ease, transform .2s ease;
}
.lk_order_card_wrap:hover {
    border-color: rgba(1, 176, 126, .35);
    box-shadow: 0 8px 24px rgba(0, 65, 63, .06);
    transform: translateY(-2px);
}
.lk_order_card_wrap:active { transform: translateY(0); }
.lk_order_card_body {
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    gap: 12px;
    min-width: 0;
}
.lk_order_card_info {
    flex: 1 1 0;
    min-width: 250px;
}
@media screen and (max-width: 500px) {
    .lk_order_card_body { flex-direction: column; }
}
.lk_order_badges {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    align-items: center;
    margin-bottom: 10px;
}
.lk_badge_id {
    display: inline-flex;
    align-items: center;
    padding: 5px 12px;
    border-radius: 8px;
    font-size: 13px;
    font-weight: 700;
    color: #fff;
    background: linear-gradient(135deg, #01b07e 0%, #01b096 100%);
}
.lk_badge_status {
    display: inline-flex;
    align-items: center;
    padding: 5px 12px;
    border-radius: 8px;
    font-size: 13px;
    font-weight: 600;
}
.lk_order_card_wrap[data-status="0"] .lk_badge_status {
    background: #e8f4fd;
    color: #2196F3;
}
.lk_order_card_wrap[data-status="1"] .lk_badge_status {
    background: #fff8e1;
    color: #FF9800;
}
.lk_order_card_wrap[data-status="2"] .lk_badge_status {
    background: #e8f5e9;
    color: #4CAF50;
}
.lk_order_card_wrap[data-status="3"] .lk_badge_status {
    background: #f5f5f5;
    color: #9E9E9E;
}
.lk_order_card_wrap[data-status="4"] .lk_badge_status,
.lk_order_card_wrap[data-status="5"] .lk_badge_status {
    background: #fce4ec;
    color: #E53935;
}
.lk_order_meta {
    display: flex;
    flex-direction: column;
    gap: 4px;
}
.lk_order_meta_item {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 13px;
    color: rgba(0, 0, 0, .5);
}
.lk_order_meta_ico {
    display: inline-block;
    width: 16px;
    height: 16px;
    flex-shrink: 0;
    background: center / contain no-repeat;
    opacity: .25;
}
.lk_order_meta_ico--calendar { background-image: url('/content/img/calendar_black.svg'); }
.lk_order_meta_ico--address  { background-image: url('/content/img/address_black.svg'); }
.lk_order_meta_ico--basket   { background-image: url('/content/img/basket_black.svg'); }
.lk_order_thumbs {
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    gap: 8px;
    flex-shrink: 1;            
    min-width: 0;
    max-width: 50%;
    align-items: center;
    align-self: center;
}
@media screen and (max-width: 500px) {
    .lk_order_thumbs {
        max-width: none;
        width: 100%;
        justify-content: flex-start;
        align-self: auto;
        margin-top: 10px;
    }
}
.lk_order_thumb {
    width: 50px;
    display: flex;
    flex-direction: column;
    align-items: center;
    flex-shrink: 0;
}
.lk_order_thumb img {
    width: 50px;
    height: 50px;
    border-radius: 8px;
    background: #f8f9fa;
    object-fit: contain;
}
.lk_order_thumb_qty {
    margin-top: 4px;
    font-size: 10.5px;
    color: rgba(0, 0, 0, .5);
    white-space: nowrap;
    line-height: 1.2;
}
.lk_order_thumb_price {
    font-size: 10.5px;
    font-weight: 600;
    color: rgba(0, 65, 65, .9);
    white-space: nowrap;
    line-height: 1.2;
}
.lk_order_thumb img {
    max-width: 100%;
    max-height: 100%;
    object-fit: contain;
}
.lk_order_thumb_more {
    width: 64px;
    margin-left: 25px;
    border-radius: 10px;
    background: rgba(1, 176, 126, .12);
    border: 1px dashed rgba(1, 176, 126, .35);
    color: #01b07e;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 8px 4px;
    line-height: 1.2;
    flex-shrink: 0;
    text-align: center;
}
.lk_order_thumb_more:first-child { margin-left: 0; }
.lk_order_thumb_more span:first-child { font-size: 15px; font-weight: 700; }
.lk_order_thumb_more span:last-child  { font-size: 9px; font-weight: 500; }
.order_old_wrapper .lk_badge_id {
    background: #bbb;
}
.order_old_wrapper .lk_order_thumb img {
    filter: grayscale(1);
    opacity: .7;
}
.lk_empty {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    padding: 60px 20px 70px;
    background: #fff;
    border: 1.5px solid rgba(0, 65, 63, .08);
    border-radius: 12px;
}
.lk_empty_icon {
    width: 80px;
    height: 80px;
    border-radius: 50%;
    background: rgba(0, 65, 65, .04);
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 24px;
}
.lk_empty_icon img {
    width: 48px;
    height: 48px;
    display: block;
}
.lk_empty_icon--accent {
    background: linear-gradient(135deg, #01b07e 0%, #00c48c 100%);
    box-shadow: 0 4px 16px rgba(1, 176, 126, .25);
}
.lk_empty_icon_img {
    width: 48px;
    height: 48px;
    background: center / contain no-repeat;
    filter: brightness(0) invert(1);
}
.lk_empty_title {
    font-family: "Unbounded", ui-sans-serif, system-ui, sans-serif;
    font-size: 20px;
    font-weight: 400;
    color: rgba(0, 65, 63, .85);
    margin: 0;
}
.lk_empty_desc {
    font-size: 15px;
    color: rgba(0, 65, 63, .4);
    line-height: 1.6;
    margin: 10px 0 0;
}
.lk_empty_btn {
    display: inline-flex;
    align-items: center;
    padding: 12px 32px;
    margin-top: 28px;
    border-radius: 12px;
    font-size: 15px;
    font-weight: 600;
    color: #fff;
    background: linear-gradient(135deg, #01b07e 0%, #00c48c 100%);
    box-shadow: 0 4px 16px rgba(1, 176, 126, .25);
    text-decoration: none;
    transition: transform .15s ease, box-shadow .2s ease;
}
.lk_empty_btn:hover {
    transform: translateY(-2px);
    box-shadow: 0 6px 24px rgba(1, 176, 126, .35);
}
.lk_empty_btn:active {
    transform: translateY(0);
    box-shadow: 0 2px 8px rgba(1, 176, 126, .2);
}
.lk_empty_sm {
    padding: 40px 20px 48px;
}
@media screen and (max-width: 500px) {
    .lk_empty {
        padding: 40px 16px 50px;
    }
    .lk_empty_sm {
        padding: 30px 16px 36px;
    }
    .lk_empty_icon {
        width: 64px;
        height: 64px;
    }
    .lk_empty_icon img,
    .lk_empty_icon_img {
        width: 36px;
        height: 36px;
    }
    .lk_empty_title {
        font-size: 18px;
    }
    .lk_empty_desc {
        font-size: 13px;
    }
}
.lk_order_detail {
    display: grid;
    grid-template-columns: 1fr 340px;
    gap: 16px;
    max-width: 1100px;
    margin: 20px auto 30px;
    padding: 0 20px;
    box-sizing: border-box;
}
@media screen and (max-width: 950px) {
    .lk_order_detail {
        grid-template-columns: 1fr;
        padding: 0 10px;
        margin: 20px auto;
    }
}
.lk_od_main,
.lk_od_aside {
    min-width: 0;
}
.lk_od_main {
    display: flex;
    flex-direction: column;
    gap: 12px;
}
.lk_stepper {
    display: flex;
    align-items: center;
    gap: 20px;
    padding: 20px 24px;
    background: #fff;
    border: 1.5px solid rgba(0, 65, 63, .08);
    border-radius: 12px;
    position: relative;
}
.lk_stepper_id {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    min-width: 80px;
    padding: 10px 14px;
    border-radius: 10px;
    background: linear-gradient(135deg, #e6f9f1, #d0f5e8, #e0faf0, #c8f2e2);
    background-size: 300% 300%;
    animation: lk_id_shimmer 4s ease infinite;
}
@keyframes lk_id_shimmer {
    0% { background-position: 0% 50%; }
    50% { background-position: 100% 50%; }
    100% { background-position: 0% 50%; }
}
.lk_stepper_order_num {
    font-size: 18px;
    font-weight: 700;
    color: #00694d;
    line-height: 1.2;
}
.lk_stepper_date {
    font-size: 11px;
    color: #3a8a6e;
    margin-top: 3px;
    white-space: nowrap;
}
.lk_stepper_notify {
    margin: 0;
    padding: 10px 14px;
    background: #f0fbf6;
    border: 1px solid rgba(1, 176, 126, .25);
    border-radius: 10px;
    font-size: 13px;
    font-weight: 500;
    color: #00413f;
    line-height: 1.5;
}
.lk_stepper_notify a {
    color: #017a57;
    text-decoration: underline;
}
.lk_stepper_notify--warn {
    background: #fff7e0;
    border-color: rgba(217, 154, 0, .35);
    color: #6b4a00;
}
.lk_stepper_notify--warn a {
    color: #a06800;
}
.lk_stepper_id_processing {
    background: linear-gradient(135deg, #a7f3d0, #6ee7b7, #a7f3d0, #34d399, #a7f3d0);
    background-size: 400% 400%;
    animation: lk_proc_shimmer 2s ease infinite;
}
@keyframes lk_proc_shimmer {
    0% { background-position: 0% 50%; }
    50% { background-position: 100% 50%; }
    100% { background-position: 0% 50%; }
}
.lk_processing_icon {
    width: 28px;
    height: 28px;
    color: #065f46;
    animation: lk_proc_spin 1s linear infinite;
}
.lk_processing_icon svg {
    width: 100%;
    height: 100%;
}
@keyframes lk_proc_spin {
    to { transform: rotate(360deg); }
}
.lk_processing_text {
    font-size: 10px;
    font-weight: 600;
    color: #065f46;
    margin-top: 4px;
    text-transform: uppercase;
    letter-spacing: .5px;
}
.lk_stepper_steps {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    flex: 1;
}
.lk_step {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    flex: 1;
    position: relative;
    z-index: 1;
}
.lk_step:not(:last-child)::after {
    content: '';
    position: absolute;
    top: 14px;
    left: calc(50% + 18px);
    width: calc(100% - 36px);
    height: 2px;
    background: rgba(0, 0, 0, .1);
}
.lk_step.lk_step_done:not(:last-child)::after {
    background: #01b07e;
}
.lk_step.lk_step_active:not(:last-child)::after {
    background: linear-gradient(90deg, #01b07e 0%, rgba(0, 0, 0, .1) 100%);
}
.lk_step_circle {
    width: 28px;
    height: 28px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 8px;
    flex-shrink: 0;
    background: rgba(0, 0, 0, .08);
    transition: background .2s ease;
}
.lk_step_circle svg {
    width: 14px;
    height: 14px;
    color: rgba(0, 0, 0, .25);
}
.lk_step_done .lk_step_circle {
    background: #01b07e;
}
.lk_step_done .lk_step_circle svg {
    color: #fff;
}
.lk_step_active .lk_step_circle {
    background: #01b07e;
    animation: lk_pulse 2s ease-in-out infinite;
}
.lk_step_active .lk_step_circle svg {
    color: #fff;
}
@keyframes lk_pulse {
    0%, 100% { box-shadow: 0 0 0 0 rgba(1, 176, 126, .4); }
    50% { box-shadow: 0 0 0 8px rgba(1, 176, 126, 0); }
}
.lk_step_label {
    font-size: 12px;
    color: rgba(0, 0, 0, .35);
    font-weight: 500;
    max-width: 90px;
    line-height: 1.3;
}
.lk_step_done .lk_step_label {
    color: rgba(0, 65, 63, .7);
    font-weight: 600;
}
.lk_step_active .lk_step_label {
    color: rgba(0, 65, 63, .95);
    font-weight: 600;
}
.lk_stepper_cancelled .lk_step_done .lk_step_circle,
.lk_stepper_cancelled .lk_step_active .lk_step_circle {
    background: #E53935;
}
.lk_stepper_cancelled .lk_step_done:not(:last-child)::after {
    background: #E53935;
}
.lk_stepper_cancelled .lk_step_active .lk_step_circle {
    animation-name: lk_pulse_red;
}
@keyframes lk_pulse_red {
    0%, 100% { box-shadow: 0 0 0 0 rgba(229, 57, 53, .4); }
    50% { box-shadow: 0 0 0 8px rgba(229, 57, 53, 0); }
}
@media screen and (max-width: 500px) {
    .lk_stepper {
        padding: 14px 12px;
        gap: 12px;
    }
    .lk_stepper_order_num {
        font-size: 15px;
    }
    .lk_stepper_id {
        min-width: 55px;
    }
    .lk_step_label {
        font-size: 11px;
        max-width: 70px;
    }
    .lk_step_circle {
        width: 24px;
        height: 24px;
    }
    .lk_step_circle svg {
        width: 12px;
        height: 12px;
    }
    .lk_step:not(:last-child)::after {
        top: 12px;
        left: calc(50% + 16px);
        width: calc(100% - 32px);
    }
}
@media screen and (max-width: 440px) {
    .lk_stepper {
        flex-direction: column;
        align-items: stretch;
        gap: 14px;
        padding: 14px;
    }
    .lk_stepper_id {
        flex-direction: row;
        align-items: center;
        gap: 10px;
        min-width: 0;
        padding: 8px 14px;
    }
    .lk_stepper_date,
    .lk_stepper_timer {
        margin-top: 0;
    }
}
.lk_section {
    background: #fff;
    border: 1.5px solid rgba(0, 65, 63, .08);
    border-radius: 12px;
    padding: 20px 24px;
}
.lk_section_header {
    display: flex;
    align-items: center;
    gap: 12px;
}
.lk_section_header_mb {
    margin-bottom: 16px;
}
.lk_section_num {
    width: 28px;
    height: 28px;
    border-radius: 50%;
    background: linear-gradient(135deg, #e6f9f1, #d0f5e8, #e0faf0, #c8f2e2);
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    font-size: 14px;
    font-weight: 700;
    color: #00694d;
}
.lk_section_title {
    font-size: 17px;
    font-weight: 600;
    color: rgba(0, 65, 63, .95);
    margin: 0;
}
.lk_section_subtitle {
    font-size: 13px;
    color: rgba(0, 0, 0, .45);
    margin: 0;
    font-weight: 400;
}
.lk_section_toggle {
    cursor: pointer;
    user-select: none;
}
.lk_chevron {
    width: 20px;
    height: 20px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-left: auto;
    transition: transform .25s ease;
    flex-shrink: 0;
}
.lk_chevron svg {
    width: 20px;
    height: 20px;
    color: rgba(0, 0, 0, .3);
}
.lk_section_body {
    display: none;
}
.lk_section.lk_section_open .lk_chevron {
    transform: rotate(180deg);
}
.lk_section.lk_section_open .lk_section_body {
    display: block;
    margin-top: 16px;
}
.lk_ship_card,
.lk_pay_card {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-top: 12px;
    padding: 14px 16px;
    border: 2px solid rgba(1, 176, 126, .6);
    border-radius: 12px;
    background: rgba(1, 176, 126, .04);
}
.lk_pay_receipt_wrap {
    margin-top: 14px;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 8px;
}
.lk_pay_receipt_badge {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 8px 14px;
    background: rgba(1, 176, 126, .1);
    border: 1px solid rgba(1, 176, 126, .25);
    border-radius: 10px;
    font-size: 14px;
    font-weight: 600;
    color: #01895e;
}
.lk_pay_receipt_badge svg,
.lk_pay_receipt_badge img {
    width: 16px;
    height: 16px;
    color: #01895e;
}
.lk_pay_receipt_line {
    margin: 0;
    font-size: 13px;
    color: rgba(0, 0, 0, .6);
}
.lk_pay_receipt_line b { color: rgba(0, 0, 0, .8); font-weight: 600; }
.lk_pay_receipt_line a {
    color: #01895e;
    text-decoration: underline;
    text-underline-offset: 2px;
}
.lk_pay_receipt_line a:hover { color: #016a47; }
.lk_pay_receipt_badge--refund {
    background: rgba(229, 57, 53, .08);
    border-color: rgba(229, 57, 53, .25);
    color: #c62828;
}
.lk_pay_receipt_badge--refund svg { color: #c62828; }
.lk_ship_card svg,
.lk_pay_card svg,
.lk_ship_card img,
.lk_pay_card > img {
    width: 24px;
    height: 24px;
    flex-shrink: 0;
    color: rgba(0, 65, 63, .6);
    margin-top: 1px;
}
.lk_card_text_primary {
    font-size: 15px;
    font-weight: 600;
    color: rgba(0, 65, 63, .85);
    margin: 0;
}
.lk_card_text_secondary {
    font-size: 13px;
    color: rgba(0, 0, 0, .45);
    margin: 4px 0 0;
}
.lk_card_text_secondary a {
    color: inherit;
    text-decoration: none;
}
@media screen and (max-width: 500px) {
    .lk_section {
        padding: 16px;
    }
}
.lk_od_aside {
    position: sticky;
    top: 16px;
    align-self: start;
}
.lk_aside_card {
    background: #fff;
    border: 1.5px solid rgba(0, 65, 63, .08);
    border-radius: 12px;
    padding: 24px;
}
.lk_aside_order_num {
    display: inline-flex;
    align-items: center;
    padding: 5px 12px;
    border-radius: 8px;
    font-size: 14px;
    font-weight: 700;
    color: #fff;
    background: linear-gradient(135deg, #01b07e 0%, #01b096 100%);
    margin-bottom: 4px;
}
.lk_aside_date {
    font-size: 12px;
    color: rgba(0, 0, 0, .4);
    margin: 0 0 20px;
}
.lk_aside_row {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 6px;
}
.lk_aside_row_label {
    font-size: 15px;
    font-weight: 600;
    color: rgba(0, 0, 0, .4);
    margin: 0;
}
.lk_aside_row_value {
    font-size: 15px;
    font-weight: 600;
    color: rgba(0, 0, 0, .4);
    margin: 0;
}
.lk_aside_total {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-top: 20px;
    padding-top: 16px;
    border-top: 1.5px solid rgba(0, 65, 63, .08);
}
.lk_aside_total_label,
.lk_aside_total_value {
    font-size: 22px;
    font-weight: 700;
    color: rgba(0, 65, 63, .95);
    margin: 0;
}
.lk_btn_cancel {
    display: block;
    width: 100%;
    padding: 14px 0;
    margin-top: 20px;
    border: 1.5px solid rgba(0, 0, 0, .15);
    border-radius: 12px;
    background: transparent;
    color: rgba(0, 0, 0, .4);
    font-size: 15px;
    font-weight: 600;
    text-align: center;
    cursor: pointer;
    transition: background .15s ease, border-color .15s ease, color .15s ease;
    user-select: none;
}
.lk_btn_cancel:hover {
    background: rgba(0, 0, 0, .03);
    border-color: rgba(0, 0, 0, .25);
    color: rgba(0, 0, 0, .55);
}
.lk_order_detail .bp_order_product {
    display: grid;
    grid-template-columns: 48px 1fr auto;
    gap: 0 12px;
    align-items: center;
    padding: 8px 0;
    border-top: 1px solid rgba(0, 65, 63, .06);
}
.lk_order_detail .bp_order_product:first-child {
    border-top: none;
}
.lk_order_detail .bp_op_img {
    width: 48px;
    height: 48px;
    display: flex;
    align-items: center;
    justify-content: center;
}
.lk_order_detail .bp_op_img img {
    max-width: 44px;
    max-height: 44px;
    object-fit: contain;
}
.lk_order_detail .bp_op_info {
    min-width: 0;
}
.lk_order_detail .bp_op_name {
    font-size: 13px;
    color: rgba(0, 0, 0, .7);
    margin: 0;
    line-height: 1.3;
    overflow: hidden;
    text-overflow: ellipsis;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
}
.lk_order_detail .bp_op_meta {
    font-size: 11px;
    color: rgba(0, 0, 0, .5);
    margin: 2px 0 0;
    overflow: hidden;
    text-overflow: ellipsis;
    display: -webkit-box;
    -webkit-line-clamp: 1;
    -webkit-box-orient: vertical;
}
.lk_order_detail .bp_op_qty {
    font-size: 11px;
    color: rgba(0, 0, 0, .4);
    margin: 2px 0 0;
}
.lk_order_detail .bp_op_pills {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 4px;
    margin-top: 4px;
}
.lk_order_detail .bp_op_price {
    font-size: 14px;
    font-weight: 600;
    color: rgba(0, 65, 65, .9);
    white-space: nowrap;
    text-align: right;
}
.lk_btn_loading {
    display: none;
    width: 100%;
    padding: 10px 0;
    margin-top: 20px;
    border-radius: 12px;
    background: linear-gradient(135deg, #01b07e 0%, #01b096 100%);
    justify-content: center;
}
.lk_spinner {
    width: 28px;
    height: 28px;
    border: 3px solid rgba(255, 255, 255, .3);
    border-top-color: #fff;
    border-radius: 50%;
    animation: lk_spin .7s linear infinite;
}
@keyframes lk_spin {
    to { transform: rotate(360deg); }
}
.lk_back_link {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-size: 14px;
    color: rgba(0, 65, 63, .5);
    text-decoration: none;
    margin-bottom: 4px;
    transition: color .15s ease;
    grid-column: 1 / -1;
}
.lk_back_link:hover {
    color: rgba(0, 65, 63, .8);
}
.lk_back_link svg {
    width: 18px;
    height: 18px;
}
.lk_info_grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 16px;
    align-items: start;
}
.lk_info_col {
    display: flex;
    flex-direction: column;
    gap: 16px;
    min-width: 0;
}
@media screen and (max-width: 1024px) and (min-width: 951px) {
    .lk_info_grid { grid-template-columns: 1fr; }
}
@media screen and (max-width: 700px) {
    .lk_info_grid { grid-template-columns: 1fr; }
}
.lk_info_card {
    background: #fff;
    border: 1.5px solid rgba(0, 65, 63, .08);
    border-radius: 12px;
    padding: 24px;
    min-width: 0;
}
.lk_info_card_header {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 16px;
    padding-bottom: 12px;
    border-bottom: 1px solid rgba(0, 0, 0, .06);
}
.lk_info_card_icon {
    width: 36px;
    height: 36px;
    border-radius: 10px;
    background: rgba(1, 176, 126, .08);
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}
.lk_info_card_icon img,
.lk_info_card_icon svg {
    width: 20px;
    height: 20px;
    color: #01b07e;
}
.lk_info_card_title {
    font-family: "Unbounded", ui-sans-serif, system-ui, sans-serif;
    font-size: 16px;
    font-weight: 400;
    color: rgba(0, 65, 63, .95);
    margin: 0;
}
.lk_info_row {
    display: grid;
    grid-template-columns: 18px auto 1fr;
    column-gap: 10px;
    align-items: baseline;
    padding: 10px 0;
}
.lk_info_row > img,
.lk_info_row > svg {
    width: 18px;
    height: 18px;
    color: rgba(0, 0, 0, .3);
    opacity: .25;
    position: relative;
    top: 50%;
    transform: translateY(-8px);
}
.lk_info_label {
    font-size: 14px;
    color: rgba(0, 0, 0, .45);
    margin: 0;
}
.lk_info_value {
    font-size: 15px;
    color: rgba(0, 0, 0, .8);
    margin: 0;
    text-align: right;
    min-width: 0;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
@media screen and (max-width: 360px) {
    .lk_info_label { font-size: 12px; }
}
@media screen and (max-width: 340px) {
    .lk_info_value {
        font-size: 13px;
    }
}
.lk_info_link {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    margin-top: 12px;
    font-size: 14px;
    font-weight: 600;
    color: #01b07e;
    text-decoration: none;
    transition: color .15s ease;
}
.lk_info_link:hover {
    color: #019968;
}
.lk_info_link svg {
    width: 16px;
    height: 16px;
}
.lk_info_buttons {
    display: flex;
    gap: 8px;
    margin-top: 16px;
    padding-top: 12px;
    border-top: 1px solid rgba(0, 0, 0, .06);
}
.lk_info_btn {
    flex: 1 1 0;             
    min-width: 0;
    padding: 10px 20px;
    border: 1.5px solid rgba(0, 65, 63, .15);
    border-radius: 10px;
    font-size: 14px;
    font-weight: 600;
    color: rgba(0, 65, 63, .8);
    background: transparent;
    text-align: center;
    cursor: pointer;
    transition: background .15s ease, border-color .15s ease, color .15s ease;
}
.lk_info_btn:hover {
    background: linear-gradient(135deg, #01b07e 0%, #01b096 100%);
    border-color: transparent;
    color: #fff;
}
.lk_info_btn_primary {
    background: linear-gradient(135deg, #01b07e 0%, #01b096 100%);
    border-color: transparent;
    color: #fff;
}
.lk_info_btn_primary:hover {
    opacity: .85;
}
.lk_info_field {
    margin-bottom: 10px;
}
.lk_info_field_label {
    display: block;
    font-size: 13px;
    color: rgba(0, 0, 0, .45);
    margin-bottom: 4px;
}
.lk_info_input {
    width: 100%;
    height: 44px;
    padding: 0 14px;
    font-size: 16px;
    color: #00413f;
    border: 1.5px solid rgba(0, 65, 63, .15);
    border-radius: 10px;
    background: #f7faf9;
    outline: none;
    box-sizing: border-box;
    transition: border-color .2s, background .2s, box-shadow .2s;
}
.lk_info_input:focus {
    border-color: #01b07e;
    background: #fff;
    box-shadow: 0 0 0 3px rgba(1, 176, 126, .12);
}
.lk_info_input_disabled {
    background: #eef2f1;
    color: #6b7f7c;
    cursor: default;
}
.lk_info_notice {
    font-size: 13px;
    font-weight: 600;
    text-align: center;
    margin-bottom: 6px;
    min-height: 0;
}
.lk_info_notice:empty {
    display: none;
}
.lk_info_notice_error {
    color: #e2575c;
}
.lk_info_notice_success {
    color: #01b07e;
}
@media screen and (max-width: 420px) {
    .lk_info_buttons {
        flex-direction: column;
    }
    .lk_info_btn {
        text-align: center;
    }
}
.lk_info_card_hint {
    margin: 4px 0 12px;
    font-size: 12.5px;
    color: rgba(0, 0, 0, .5);
    line-height: 1.45;
}
.lk_info_field_hint {
    font-size: 11px;
    color: rgba(0, 0, 0, .4);
    font-weight: 400;
    margin-left: 4px;
}
.lk_info_lock {
    display: inline-flex;
    align-items: center;
    vertical-align: middle;
    margin-left: 4px;
    opacity: .45;
    transform: translateY(-1px);
}
.lk_info_lock img {
    width: 12px;
    height: 12px;
    display: block;
}
.lk_info_btn_danger {
    background: #fff;
    color: #e2575c;
    border: 1.5px solid rgba(226, 87, 92, .35);
}
.lk_info_btn_danger:hover {
    background: rgba(226, 87, 92, .06);
    border-color: rgba(226, 87, 92, .55);
}
.lk_switch {
    position: relative;
    display: inline-block;
    width: 42px;
    height: 24px;
    flex-shrink: 0;
}
.lk_switch input {
    opacity: 0;
    width: 0;
    height: 0;
}
.lk_switch_slider {
    position: absolute;
    inset: 0;
    background: rgba(0, 0, 0, .15);
    border-radius: 999px;
    transition: background .2s;
    cursor: pointer;
}
.lk_switch_slider::before {
    content: "";
    position: absolute;
    height: 18px;
    width: 18px;
    left: 3px;
    top: 3px;
    background: #fff;
    border-radius: 50%;
    transition: transform .2s;
    box-shadow: 0 1px 3px rgba(0, 0, 0, .2);
}
.lk_switch input:checked + .lk_switch_slider { background: #01b07e; }
.lk_switch input:checked + .lk_switch_slider::before { transform: translateX(18px); }
.lk_switch_disabled .lk_switch_slider { opacity: .45; cursor: not-allowed; }
.lk_notify_row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 10px 0;
    border-bottom: 1px solid rgba(0, 65, 63, .06);
}
.lk_notify_row:last-child { border-bottom: none; }
.lk_notify_label {
    font-size: 13.5px;
    color: rgba(0, 65, 65, .9);
    line-height: 1.35;
}
.lk_notify_sub {
    display: block;
    font-size: 11.5px;
    color: rgba(0, 0, 0, .45);
    margin-top: 2px;
}
.lk_info_card_locked .lk_notify_label { color: rgba(0, 0, 0, .45); }
.lk_bonus_divider {
    height: 1px;
    background: rgba(0, 65, 63, .08);
    margin: 16px 0;
}
.lk_bonus_balance {
    display: flex;
    align-items: baseline;
    gap: 8px;
    padding: 8px 0 14px;
}
.lk_bonus_balance_num {
    font-size: 36px;
    font-weight: 700;
    color: #01ba96;
    line-height: 1;
}
.lk_bonus_balance_label {
    font-size: 15px;
    color: rgba(0, 65, 63, .45);
    font-weight: 500;
}
.lk_bonus_tx {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 9px 12px;
    background: rgba(255, 255, 255, .25);
    border: 1px solid rgba(0, 65, 63, .06);
    border-radius: 9px;
    color: inherit;
    text-decoration: none;
    font-size: 13px;
    line-height: 1.3;
    transition: border-color .15s, transform .12s;
}
a.lk_bonus_tx:hover {
    border-color: rgba(1, 176, 126, .35);
    transform: translateY(-1px);
}
.lk_bonus_tx_amount {
    flex: 0 0 auto;
    min-width: 56px;
    font-weight: 600;
    font-size: 13.5px;
    font-variant-numeric: tabular-nums;
}
.lk_bonus_tx_earn  .lk_bonus_tx_amount { color: #16a34a; }
.lk_bonus_tx_spend .lk_bonus_tx_amount { color: #ef4444; }
.lk_bonus_tx_desc {
    flex: 1 1 auto;
    min-width: 0;
    color: rgba(0, 65, 63, .75);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
.lk_bonus_tx_date {
    flex: 0 0 auto;
    font-size: 12px;
    color: rgba(0, 65, 63, .4);
    font-variant-numeric: tabular-nums;
}
.lk_order_detail:has(.order_404) {
    grid-template-columns: 1fr;
}
.lk_order_detail:has(.order_404) .lk_od_aside {
    display: none;
}
.order_404 .o404 {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    padding: 50px 20px 70px;
    overflow: hidden;
}
.order_404 .o404_decor {
    position: absolute;
    inset: 0;
    pointer-events: none;
    overflow: hidden;
}
.order_404 .o404_shape {
    position: absolute;
    color: rgba(1, 176, 126, .15);
    opacity: 0;
    animation: o404_float 8s ease-in-out infinite;
}
.order_404 .o404_s1 { width: 28px; top: 12%; left: 8%; animation-duration: 7s; }
.order_404 .o404_s2 { width: 20px; top: 28%; right: 12%; animation-duration: 9s; animation-delay: -2s; }
.order_404 .o404_s3 { width: 14px; bottom: 25%; left: 18%; animation-duration: 6s; animation-delay: -4s; }
.order_404 .o404_s4 { width: 22px; bottom: 18%; right: 8%; animation-duration: 8s; animation-delay: -1s; }
.order_404 .o404_s5 { width: 16px; top: 8%; right: 28%; animation-duration: 10s; animation-delay: -3s; }
@keyframes o404_float {
    0%, 100% { transform: translateY(0) rotate(0deg); opacity: .15; }
    50% { transform: translateY(-24px) rotate(15deg); opacity: .45; }
}
.order_404 .o404_glow {
    position: absolute;
    width: 420px;
    height: 420px;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(1, 176, 126, .07) 0%, transparent 70%);
    top: 35%;
    left: 50%;
    transform: translate(-50%, -50%);
    animation: o404_pulse 4s ease-in-out infinite;
    pointer-events: none;
}
@keyframes o404_pulse {
    0%, 100% { transform: translate(-50%, -50%) scale(1); opacity: 1; }
    50% { transform: translate(-50%, -50%) scale(1.2); opacity: .5; }
}
.order_404 .o404_code {
    font-size: 160px;
    font-weight: 800;
    line-height: 1;
    margin: 0;
    letter-spacing: -4px;
    background: linear-gradient(135deg, #01b07e 0%, #00d4aa 25%, #01c896 50%, #008f65 75%, #01b07e 100%);
    background-size: 300% 300%;
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    animation: o404_gradient 8s ease infinite;
    position: relative;
    z-index: 1;
    user-select: none;
}
@keyframes o404_gradient {
    0% { background-position: 0% 50%; }
    50% { background-position: 100% 50%; }
    100% { background-position: 0% 50%; }
}
.order_404 .o404_title {
    font-size: 24px;
    font-weight: 600;
    color: rgba(0, 65, 63, .85);
    margin: 12px 0 0;
    position: relative;
    z-index: 1;
}
.order_404 .o404_desc {
    font-size: 15px;
    color: rgba(0, 65, 63, .4);
    line-height: 1.6;
    margin: 12px 0 0;
    max-width: 360px;
    position: relative;
    z-index: 1;
}
.order_404 .o404_actions {
    display: flex;
    gap: 12px;
    margin-top: 36px;
    position: relative;
    z-index: 1;
}
.order_404 .o404_btn {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 12px 28px;
    border-radius: 12px;
    font-size: 15px;
    font-weight: 600;
    text-decoration: none;
    transition: background .2s ease, transform .15s ease, box-shadow .2s ease, border-color .2s ease;
    cursor: pointer;
}
.order_404 .o404_btn svg {
    width: 18px;
    height: 18px;
    flex-shrink: 0;
}
.order_404 .o404_primary {
    background: linear-gradient(135deg, #01b07e 0%, #00c48c 100%);
    color: #fff;
    box-shadow: 0 4px 16px rgba(1, 176, 126, .25);
}
.order_404 .o404_primary:hover {
    transform: translateY(-2px);
    box-shadow: 0 6px 24px rgba(1, 176, 126, .35);
}
.order_404 .o404_primary:active {
    transform: translateY(0);
    box-shadow: 0 2px 8px rgba(1, 176, 126, .2);
}
.order_404 .o404_secondary {
    border: 1.5px solid rgba(1, 176, 126, .4);
    color: #01906a;
    background: transparent;
}
.order_404 .o404_secondary:hover {
    background: rgba(1, 176, 126, .08);
    border-color: rgba(1, 176, 126, .7);
}
.order_404 .o404_secondary:active {
    background: rgba(1, 176, 126, .14);
}
@media screen and (max-width: 950px) {
    .order_404 .o404 { padding: 40px 20px 60px; }
    .order_404 .o404_code { font-size: 120px; letter-spacing: -2px; }
    .order_404 .o404_title { font-size: 20px; }
    .order_404 .o404_desc { font-size: 14px; }
    .order_404 .o404_glow { width: 300px; height: 300px; }
}
@media screen and (max-width: 500px) {
    .order_404 .o404 { padding: 30px 16px 50px; }
    .order_404 .o404_code { font-size: 90px; letter-spacing: -1px; }
    .order_404 .o404_title { font-size: 18px; }
    .order_404 .o404_desc { font-size: 13px; }
    .order_404 .o404_actions { flex-direction: column; width: 100%; max-width: 280px; }
    .order_404 .o404_btn { justify-content: center; padding: 12px 20px; }
    .order_404 .o404_glow { width: 220px; height: 220px; }
    .order_404 .o404_decor { display: none; }
}
.lk_dash_locked_notice {
    display: flex;
    align-items: center;
    gap: 14px;
    margin-bottom: 15px;
    padding: 14px 18px;
    background: #fef3c7;
    border: 1px solid #fcd34d;
    border-radius: 12px;
}
.lk_dash_locked_notice_ico {
    flex: 0 0 34px;
    width: 34px;
    height: 34px;
    border-radius: 50%;
    background: url('/content/img/alert_white.svg') center / 66% no-repeat, #b45309;
}
.lk_dash_locked_notice_text {
    margin: 0;
    font-size: 13.5px;
    color: #78350f;
    line-height: 1.5;
}
.lk_dash_locked_notice_text a {
    color: #92400e;
    font-weight: 600;
    border-bottom: 1px solid rgba(146, 64, 14, .35);
    text-decoration: none;
    transition: border-color .15s;
}
.lk_dash_locked_notice_text a:hover { border-bottom-color: #92400e; }
.lk_dash_tiles {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 14px;
}
.lk_dash_tile {
    position: relative;
    overflow: hidden;
    background:
        radial-gradient(circle at 100% 100%, rgba(1, 176, 126, .2) 0%, transparent 55%),
        linear-gradient(135deg, rgba(1, 176, 126, .08), rgba(245, 158, 11, .05));
    border: 1.5px solid rgba(1, 176, 126, .22);
    border-radius: 14px;
    padding: 18px 20px;
    text-decoration: none;
    color: inherit;
    display: flex;
    flex-direction: column;
    gap: 4px;
    min-height: 138px;
    transition: border-color .2s, transform .15s, box-shadow .2s;
}
.lk_dash_tile:hover {
    border-color: rgba(1, 176, 126, .45);
    transform: translateY(-2px);
    box-shadow: 0 6px 18px rgba(1, 176, 126, .12);
}
.lk_dash_tile_head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 10px;
    margin-bottom: 8px;
}
.lk_dash_tile_title {
    font-family: "Unbounded", ui-sans-serif, system-ui, sans-serif;
    margin: 0;
    font-size: 14px;
    font-weight: 500;
    color: rgba(0, 0, 0, .55);
}
.lk_dash_tile_ico {
    position: absolute;
    right: 14px;
    bottom: 12px;
    width: 64px;
    height: 64px;
    pointer-events: none;
    background: center / contain no-repeat;
    opacity: .25;
}
.lk_dash_tile_ico--order     { background-image: url('/content/img/order_green_2.svg'); }
.lk_dash_tile_ico--bonus     { background-image: url('/content/img/bonus_green_2.svg'); }
.lk_dash_tile_ico--favorites { background-image: url('/content/img/favorite_green_2.svg'); }
.lk_dash_tile_ico--profile   { background-image: url('/content/img/user_green_2.svg'); }
.lk_dash_tile_main {
    margin: auto 0 4px;
    padding-right: 56px;       
    font-size: 30px;
    font-weight: 700;
    line-height: 1.05;
    color: rgba(0, 65, 65, .95);
}
.lk_dash_tile_sub {
    margin: 0;
    padding-right: 56px;       
    font-size: 12.5px;
    color: rgba(0, 0, 0, .55);
    line-height: 1.4;
}
.lk_dash_tile--bonus .lk_dash_tile_main { color: #01b07e; }
.lk_dash_tile--profile .lk_dash_tile_main { font-size: 18px; }
.lk_dash_tile--profile.lk_dash_tile--ok .lk_dash_tile_main {
    color: #01b07e;
    font-size: 22px;
}
@media screen and (max-width: 1024px) {
    .lk_dash_tiles { grid-template-columns: repeat(2, 1fr); }
}
@media screen and (max-width: 600px) {
    .lk_dash_tiles { grid-template-columns: 1fr; gap: 12px; }
    .lk_dash_tile { min-height: 0; padding: 16px 18px; }
    .lk_dash_tile_main { font-size: 26px; }
    .lk_dash_tile--profile .lk_dash_tile_main { font-size: 16px; }
    .lk_dash_tile--profile.lk_dash_tile--ok .lk_dash_tile_main { font-size: 22px; }
}
.lk_bonus_page { display: flex; flex-direction: column; }
.lk_bonus_hero {
    display: grid;
    grid-template-columns: 1.4fr 1fr;
    gap: 16px;
    align-items: start;
}
.lk_bonus_card {
    position: relative;
    background: linear-gradient(135deg, rgba(1, 176, 126, .08), rgba(245, 158, 11, .05));
    border: 1.5px solid rgba(1, 176, 126, .22);
    border-radius: 18px;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    min-height: 327px;
}
.lk_bonus_card_top {
    position: relative;
    padding: 22px 26px;
    flex: 1 1 auto;
    display: flex;
    align-items: center;
    gap: 18px;
}
.lk_bonus_card_left {
    flex: 0 0 auto;
    min-width: 0;
}
.lk_bonus_card_decor {
    position: absolute;
    right: -60px; top: -60px;
    width: 220px; height: 220px;
    border-radius: 50%;
    background: radial-gradient(closest-side, rgba(1, 176, 126, .14), transparent 70%);
    pointer-events: none;
}
.lk_bonus_card_head {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 8px;
}
.lk_bonus_hero_pill {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    background: linear-gradient(135deg, #01b07e, #019567);
    color: #fff;
    font-size: 12px;
    font-weight: 600;
    line-height: 1;
    padding: 8px 11px;
    border-radius: 999px;
    box-shadow: 0 2px 6px rgba(1, 176, 126, .3);
    flex-shrink: 0;
}
.lk_bonus_hero_pill img,
.lk_bonus_hero_pill svg {
    width: 12px;
    height: 12px;
    flex-shrink: 0;
    display: block;
    margin-top: -2px;
}
.lk_bonus_hero_balance {
    margin: 0;
    font-size: clamp(36px, 4.5vw, 48px);
    font-weight: 700;
    color: #01b07e;
    line-height: 1;
    letter-spacing: -.01em;
}
.lk_bonus_hero_unit {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 1.6em;
    height: 1.6em;
    margin-left: .12em;
    margin-top: -9px;
    border-radius: 50%;
    background: linear-gradient(135deg, #013a2c 0%, #016a4d 45%, #01b07e 100%);
    color: #fff;
    font-size: .55em;
    font-weight: 600;
    line-height: 1;
    vertical-align: middle;
    box-shadow: 0 4px 12px rgba(1, 71, 55, .25);
}
.lk_bonus_hero_stats {
    flex: 1 1 auto;
    min-width: 0;
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 8px;
}
.lk_bonus_hero_stat {
    background: #fff;
    border-radius: 10px;
    padding: 8px 12px;
    border: 1px solid rgba(0, 0, 0, .06);
    display: flex;
    align-items: center;
    gap: 10px;
    flex: 0 0 110px;
    width: 110px;
    min-width: 0;
}
.lk_bonus_hero_stat_ico {
    width: 28px; height: 28px;
    border-radius: 50%;
    display: flex; align-items: center; justify-content: center;
    flex-shrink: 0;
}
.lk_bonus_hero_stat_ico svg { width: 14px; height: 14px; }
.lk_bonus_hero_stat_text { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.lk_bonus_hero_stat_label { padding-left: 5px; font-size: 11px; color: rgba(0, 0, 0, .45); }
.lk_bonus_hero_stat_value { padding-left: 5px; font-size: 15px; font-weight: 600; line-height: 1.15; }
.lk_bonus_hero_stat--earn  .lk_bonus_hero_stat_ico   { background: rgba(22, 163, 74, .12); color: #16a34a; }
.lk_bonus_hero_stat--earn  .lk_bonus_hero_stat_value { color: #16a34a; }
.lk_bonus_hero_stat--spend .lk_bonus_hero_stat_ico   { background: rgba(239, 68, 68, .12); color: #ef4444; }
.lk_bonus_hero_stat--spend .lk_bonus_hero_stat_value { color: #ef4444; }
.lk_bonus_card_strip {
    position: relative;
    border: 0;
    margin: 0;
    padding: 16px 22px 14px;
    color: #fff;
    text-align: left;
    cursor: pointer;
    overflow: hidden;
    isolation: isolate;
    background:
        radial-gradient(120% 100% at 100% 0%, rgba(255, 255, 255, .12) 0%, transparent 55%),
        linear-gradient(135deg, #013a2c 0%, #016a4d 45%, #01b07e 100%);
    box-shadow:
        0 1px 0 rgba(255, 255, 255, .18) inset,
        0 -1px 0 rgba(0, 0, 0, .25) inset;
    display: flex;
    flex-direction: column;
    gap: 10px;
    transition: filter .2s ease;
    font-family: inherit;
    flex-shrink: 0;
}
.lk_bonus_card_strip:hover { filter: brightness(1.05); }
.lk_bonus_card_strip:active { filter: brightness(.95); }
.lk_bonus_card_strip:focus-visible { outline: 3px solid #fff; outline-offset: -3px; }
.lk_bonus_card_strip_shine {
    position: absolute; inset: 0;
    background: linear-gradient(105deg,
        transparent 0%, transparent 38%,
        rgba(255, 255, 255, .12) 47%,
        rgba(255, 255, 255, .04) 56%,
        transparent 70%);
    pointer-events: none;
    z-index: 0;
}
.lk_bonus_card_strip_main {
    position: relative; z-index: 1;
    display: flex;
    align-items: center;
    gap: 14px;
    background: #fff;
    border-radius: 8px;
    padding: 8px 14px;
    box-shadow: 0 2px 10px rgba(0, 0, 0, .22);
}
.lk_bonus_card_strip_bars {
    display: block;
    flex: 1 1 auto;
    min-width: 0;
    line-height: 0;
}
.lk_bc {
    display: flex;
    width: 100%;
    align-items: stretch;
    overflow: hidden;
}
.lk_bc_b { background: #000; }
.lk_bc_s { background: transparent; }
.lk_bonus_card_strip_num {
    flex: 0 0 auto;
    font-family: 'OCR A', 'Courier New', ui-monospace, monospace;
    font-size: 14px;
    font-weight: 600;
    letter-spacing: .14em;
    color: #1f2937;
    white-space: nowrap;
}
.lk_bonus_card_strip_meta {
    position: relative; z-index: 1;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
}
.lk_bonus_card_holder {
    font-size: 13px;
    font-weight: 600;
    letter-spacing: .04em;
    color: rgba(255, 255, 255, .95);
    white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
    min-width: 0;
}
.lk_bonus_card_strip_hint {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    font-size: 11.5px;
    color: rgba(255, 255, 255, .8);
    font-weight: 500;
    flex-shrink: 0;
}
.lk_bonus_card_strip_hint svg {
    width: 12px; height: 12px;
    transition: transform .15s;
}
.lk_bonus_card_strip:hover .lk_bonus_card_strip_hint svg {
    transform: translateX(2px);
}
.lk_bbar_modal {
    display: none;
    position: fixed; inset: 0;
    background: rgba(15, 23, 32, .55);
    backdrop-filter: blur(4px);
    z-index: 1000;
    align-items: center; justify-content: center;
    padding: 16px;
    opacity: 0;
    transition: opacity .25s ease;
}
.lk_bbar_modal.lk_bbar_visible { opacity: 1; }
.lk_bbar_box {
    position: relative;
    width: 100%;
    max-width: 560px;
    background: #fff;
    border-radius: 22px;
    padding: 28px 24px 24px;
    text-align: center;
    box-shadow: 0 20px 60px rgba(0, 0, 0, .35);
    transform: translateY(12px);
    transition: transform .25s ease;
}
.lk_bbar_modal.lk_bbar_visible .lk_bbar_box { transform: translateY(0); }
.lk_bbar_close {
    position: absolute; top: 12px; right: 12px;
    width: 36px; height: 36px;
    border: 0; border-radius: 50%;
    background: rgba(0, 0, 0, .05);
    color: #1f2937;
    cursor: pointer;
    display: flex; align-items: center; justify-content: center;
    transition: background-color .15s;
}
.lk_bbar_close:hover { background: rgba(0, 0, 0, .12); }
.lk_bbar_close svg { width: 18px; height: 18px; }
.lk_bbar_title { margin: 0 0 4px; font-size: 18px; font-weight: 700; color: #1f2937; }
.lk_bbar_sub   { margin: 0 0 20px; font-size: 13px; color: rgba(0, 0, 0, .55); }
.lk_bbar_canvas {
    background: #fff;
    padding: 8px 4px;
    border-radius: 6px;
    line-height: 0;
    overflow: hidden;
}
.lk_bbar_num {
    margin: 18px 0 0;
    font-family: 'OCR A', 'Courier New', ui-monospace, monospace;
    font-size: 22px;
    font-weight: 600;
    letter-spacing: .18em;
    color: #0f172a;
    word-break: break-all;
}
.lk_bonus_history_block {
    position: relative;
    overflow: hidden;
    background: linear-gradient(135deg, rgba(1, 176, 126, .08), rgba(245, 158, 11, .05));
    border: 1.5px solid rgba(1, 176, 126, .22);
    border-radius: 18px;
    padding: 0;
    display: flex;
    flex-direction: column;
    max-height: 327px;
}
.lk_bonus_history_block.is-full { height: 327px; }
.lk_bonus_history_block::before {
    content: '';
    position: absolute;
    left: -60px; bottom: -60px;
    width: 200px; height: 200px;
    border-radius: 50%;
    background: radial-gradient(closest-side, rgba(1, 176, 126, .12), transparent 70%);
    pointer-events: none;
}
.lk_bonus_history_title {
    position: relative;
    margin: 0;
    padding: 18px 22px 14px;
    font-size: 14px;
    font-weight: 600;
    color: rgba(0, 65, 65, .95);
    text-transform: uppercase;
    letter-spacing: .04em;
    display: flex;
    align-items: center;
    gap: 10px;
    flex: 0 0 auto;
}
.lk_bonus_history_title::before {
    content: '';
    width: 8px; height: 8px;
    border-radius: 50%;
    background: #01b07e;
    box-shadow: 0 0 0 3px rgba(1, 176, 126, .18);
    flex-shrink: 0;
}
.lk_bonus_history_list {
    position: relative;
    display: flex;
    flex-direction: column;
    gap: 6px;
    padding: 4px 12px 12px;
    flex: 0 0 auto;
}
.lk_bonus_history_empty {
    position: relative;
    flex: 1 1 auto;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 8px;
    margin: 4px 12px 14px;
    padding: 28px 16px;
    background: #fff;
    border: 1px solid rgba(0, 65, 63, .06);
    border-radius: 12px;
    text-align: center;
}
.lk_bonus_history_empty svg {
    width: 36px; height: 36px;
    color: rgba(0, 65, 65, .35);
}
.lk_bonus_history_empty p {
    margin: 0;
    font-size: 13.5px;
    color: rgba(0, 65, 65, .75);
    font-weight: 500;
}
.lk_bonus_history_empty p.lk_bonus_history_empty_hint {
    font-size: 12.5px;
    color: rgba(0, 0, 0, .45);
    font-weight: 400;
}
@media screen and (max-width: 1100px) and (min-width: 951px) {
    .lk_bonus_hero { grid-template-columns: 1fr; }
    .lk_bonus_card { min-height: 0; }
    .lk_bonus_history_block,
    .lk_bonus_history_block.is-full { max-height: none; height: auto; }
}
@media screen and (max-width: 767px) {
    .lk_bonus_hero { grid-template-columns: 1fr; }
    .lk_bonus_card { min-height: 0; }
    .lk_bonus_history_block,
    .lk_bonus_history_block.is-full { max-height: none; height: auto; }
}
@media screen and (max-width: 600px) {
    .lk_bonus_card_top { padding: 20px 22px; }
    .lk_bonus_hero_balance { font-size: 40px; }
    .lk_bonus_card_strip { padding: 14px 16px 12px; }
    .lk_bonus_card_strip_main { padding: 6px 10px; gap: 10px; }
    .lk_bonus_card_strip_num { font-size: 12.5px; letter-spacing: .12em; }
    .lk_bbar_box { padding: 22px 18px 20px; }
    .lk_bbar_num { font-size: 18px; letter-spacing: .14em; }
}
@media screen and (max-width: 500px) {
    .lk_bonus_card_strip_main {
        flex-direction: column;
        align-items: stretch;
        gap: 6px;
        padding: 10px 14px 8px;
        width: 100%;
        box-sizing: border-box;
    }
    .lk_bonus_card_strip_bars { width: 100%; }
    .lk_bonus_card_strip_num {
        text-align: center;
        letter-spacing: .14em;
    }
}
@media screen and (max-width: 360px) {
    .lk_bonus_hero_stat_ico { display: none; }
    .lk_bonus_hero_stat {
        flex: 0 0 70px;
        width: 70px;
        padding: 8px 10px;
    }
}
.pc_toolbar--lk {
    display: flex;
    justify-content: flex-start;
    margin: 8px 0 14px;
}
#LK_FAV_GRID .pis_heart {
    top: 8px;
    background: #fff;
    border-color: rgba(0, 0, 0, .15);
    transition: border-color .15s;
}
#LK_FAV_GRID .pis_heart::before {
    content: '';
    position: absolute;
    inset: 0;
    background: url('/content/img/trash_black.svg') center / 18px 18px no-repeat;
    opacity: .4;
    transition: opacity .15s;
    pointer-events: none;
}
#LK_FAV_GRID .pis_heart:hover {
    background-color: #fff;
    border-color: rgba(0, 0, 0, .3);
}
#LK_FAV_GRID .pis_heart:hover::before { opacity: .7; }
.lk_content .pc_count {
    margin: -10px 0 16px;
    font-size: 13px;
    color: rgba(0, 0, 0, .5);
}
.lk_content .pc_count span { color: rgba(0, 65, 63, .9); font-weight: 600; }
.lk_order_repeat {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 5px 12px;
    border-radius: 8px;
    background: #fff;
    border: 1.5px solid rgba(1, 176, 126, .35);
    color: #01b07e;
    font-size: 13px;
    font-weight: 600;
    cursor: pointer;
    transition: background .15s, border-color .15s, transform .12s;
}
.lk_order_repeat_ico {
    width: 14px;
    height: 14px;
    background: url('/content/img/repeat_green_2.svg') center / contain no-repeat;
}
@media screen and (max-width: 349px) {
    .lk_order_repeat_ico { display: none; }
}
.lk_order_repeat:hover { background: rgba(1, 176, 126, .08); border-color: rgba(1, 176, 126, .55); }
.lk_order_repeat:active { transform: scale(.95); }
.lk_order_repeat_busy { opacity: .55; pointer-events: none; }
.lk_order_repeat--block {
    display: flex;
    justify-content: center;
    width: 100%;
    padding: 14px 0;
    margin-top: 20px;
    border-radius: 12px;
    font-size: 15px;
    gap: 8px;
}
.lk_order_repeat--block:active { transform: none; }
.lk_content .product_slider {
    min-width: 280px;
    margin-top: 20px;
}
.lk_content .product_slider .pis_header .page_title h2 {
    margin: 0;
    font-family: "Unbounded", ui-sans-serif, system-ui, sans-serif;
    font-size: 20px;
}
.lk_content .product_slider .product_wrapper {
    margin-left: 0;
    width: 100%;
}
.lk_content .pd_wrap { padding: 0; }

/* ================================================================
   BLOCK: confirmation_modal
   ================================================================ */

.confirm_overlay {
    position: fixed;
    inset: 0;
    z-index: 1200;
    background: rgba(0, 30, 30, .35);
    backdrop-filter: blur(6px);
    -webkit-backdrop-filter: blur(6px);
    display: flex;
    align-items: center;
    justify-content: center;
    opacity: 0;
    transition: opacity .25s ease;
}
.confirm_overlay.confirm_visible {
    opacity: 1;
}
.confirm_box {
    background: #fff;
    border-radius: 16px;
    padding: 28px 24px 24px;
    max-width: 360px;
    width: calc(100% - 32px);
    box-shadow: 0 8px 32px rgba(0, 0, 0, .18);
    text-align: center;
    transform: scale(.92);
    transition: transform .25s ease;
}
.confirm_visible .confirm_box {
    transform: scale(1);
}
.confirm_text {
    font-size: 15px;
    font-weight: 500;
    color: #1a1a1a;
    margin: 0 0 20px;
    line-height: 1.4;
}
.confirm_buttons {
    display: flex;
    gap: 10px;
}
.confirm_buttons button {
    flex: 1;
    padding: 12px 0;
    border-radius: 10px;
    font-size: 14px;
    font-weight: 600;
    cursor: pointer;
    border: none;
    transition: opacity .15s;
}
.confirm_buttons button:hover {
    opacity: .85;
}
.confirm_yes {
    background: #E53935;
    color: #fff;
}
.confirm_no {
    background: rgba(0, 0, 0, .06);
    color: rgba(0, 0, 0, .65);
}
@media screen and (max-width: 440px) {
    .confirm_overlay {
        align-items: flex-start;
        padding-top: 30vh;
    }
    .confirm_box {
        margin: 0 10px;
        min-width: 230px;
    }
}

/* ================================================================
   BLOCK: pharmacies_page
   ================================================================ */

.ph_cards.ft_cards { margin: 15px 10px 40px; }
@media (max-width: 1024px) {
    .ph_cards.ft_cards .ft_cards_viewport > *:nth-child(n+3) { display: flex !important; }
    .ph_cards.ft_cards .ft_cards_more { display: none !important; }
}
.ph_card {
    --ph-accent:        #0E8A5F;
    --ph-ink:           #152019;
    --ph-ink-soft:      #5A6A60;
    --ph-ink-mute:      #8A9690;
    --ph-card-bg:       #FFFFFF;
    --ph-border:        rgba(21, 32, 25, 0.10);
    --ph-radius:        18px;
    display: flex;
    flex-direction: column;
    background: var(--ph-card-bg);
    border: 1px solid var(--ph-border);
    border-radius: var(--ph-radius);
    overflow: hidden;
    color: var(--ph-ink);
    transition: border-color .2s, background .2s;
    transform: translateZ(0);
    isolation: isolate;
}
.ph_card:hover {
    border-color: rgba(1, 176, 126, .55);
    background: rgba(1, 176, 126, .035);
}
.ph_card * { box-sizing: border-box; }
.ph_card_head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
}
.ph_card_badge {
    flex-shrink: 0;
    display: inline-flex;
    align-items: center;
    padding: 5px 11px 4px;
    border-radius: 999px;
    background: var(--ph-accent);
    color: #fff;
    font-family: "Unbounded", ui-sans-serif, system-ui, sans-serif;
    font-size: 0.68rem;
    font-weight: 600;
    letter-spacing: 0.04em;
}
.ph_card_body {
    flex: 1;
    display: flex;
    flex-direction: column;
    padding: 22px 24px 24px;
    gap: 14px;
}
.ph_card_kicker {
    font-family: "Unbounded", ui-sans-serif, system-ui, sans-serif;
    font-size: 0.7rem;
    font-weight: 600;
    letter-spacing: 0.18em;
    color: var(--ph-ink-mute);
}
.ph_card_name {
    font-family: "Unbounded", ui-sans-serif, system-ui, sans-serif;
    font-size: 1.5rem;
    font-weight: 700;
    line-height: 1.15;
    letter-spacing: -0.02em;
    color: rgba(0, 65, 65, .95);
    margin: 0;
    text-wrap: balance;
}
.ph_card_grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 10px 24px;
    margin: 6px 0 0;
    padding: 16px 0 0;
    border-top: 1px solid var(--ph-border);
    color: var(--ph-ink-soft);
    font-size: 0.86rem;
    line-height: 1.5;
}
.ph_card_cell {
    display: inline-flex;
    align-items: flex-start;
    gap: 10px;
    color: var(--ph-ink-soft);
    text-decoration: none;
    min-width: 0;
}
.ph_card_ico {
    flex-shrink: 0;
    width: 16px;
    height: 16px;
    margin-top: 2px;
}
.ph_card_cell > span {
    min-width: 0;
    overflow-wrap: anywhere;
}
.ph_card_phone:hover { color: var(--ph-accent); }
.ph_card_link {
    color: inherit;
    text-decoration: none;
    transition: color .15s ease;
}
.ph_card_link:hover { color: var(--ph-accent); }
@media (min-width: 1025px) {
    .ph_card_cell { align-items: center; }
    .ph_card_ico { margin-top: 0; }
    .ph_card_cell > span {
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
    }
}
.ph_card_actions {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: auto;
    padding-top: 6px;
}
.ph_btn {
    margin-top: 10px;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 12px 20px;
    border-radius: 999px;
    border: none;
    cursor: pointer;
    font-family: "Manrope", ui-sans-serif, system-ui, sans-serif;
    font-size: 0.92rem;
    font-weight: 600;
    text-decoration: none;
    white-space: nowrap;
    transition: transform .15s, filter .15s, background .2s, color .2s, border-color .2s;
}
.ph_btn:hover  { filter: brightness(1.04); }
.ph_btn:active { transform: translateY(1px); }
.ph_btn svg {
    width: 16px;
    height: 16px;
    flex-shrink: 0;
}
.ph_btn_primary {
    background: var(--ph-accent);
    color: #fff;
}
.ph_btn_outline {
    background: transparent;
    color: var(--ph-accent);
    border: 1px solid var(--ph-border);
}
.ph_btn_outline:hover { background: rgba(1, 176, 126, .06); border-color: var(--ph-accent); }
.ph_info_card {
    background: linear-gradient(160deg, rgba(1,176,126,.05), rgba(1,176,126,.015));
}
.ph_info_card .ph_card_body { padding-top: 24px; }
.ph_info_list {
    list-style: none;
    margin: 4px 0 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 8px;
}
.ph_info_list li a {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 12px 14px;
    border-radius: 12px;
    background: var(--ph-card-bg);
    border: 1px solid var(--ph-border);
    color: var(--ph-ink);
    text-decoration: none;
    transition: border-color .15s, background .15s, transform .15s;
}
.ph_info_list li a:hover {
    border-color: rgba(1, 176, 126, .35);
    transform: translateX(2px);
}
.ph_info_city { font-weight: 600; }
.ph_info_cnt {
    flex-shrink: 0;
    font-size: 0.82rem;
    color: var(--ph-ink-mute);
}
@media (max-width: 600px) {
    .ph_card_body { padding: 18px 18px 20px; gap: 12px; }
    .ph_card_name { font-size: 1.3rem; }
    .ph_card_grid { grid-template-columns: 1fr; gap: 10px; }
    .ph_btn { padding: 11px 16px; font-size: 0.88rem; }
    .ph_btn_primary { flex: 1 1 100%; justify-content: center; }
}

/* ================================================================
   BLOCK: pharmacy_single
   ================================================================ */

.pss_wrapper {
    margin: 20px 10px 10px;
}
.pss_grid {
    display: grid;
    grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr);
    gap: 24px;
    margin-bottom: 24px;
}
.pss_info_card {
    margin: 0;
}
.pss_title {
    font-family: "Unbounded", ui-sans-serif, system-ui, sans-serif;
    font-size: 1.4rem;
    font-weight: 600;
    color: rgba(0, 65, 65, .95);
    line-height: 1;
    margin: 0;
    padding: 0;
}
@media (max-width: 420px) {
    .pss_title { font-size: 1.375rem; line-height: 1.15; }
}
@media (max-width: 350px) {
    .pss_title { font-size: 1.255rem; }
}
.pss_info_grid {
    flex: 1;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 18px 28px;
    align-content: space-between;
    margin: 6px 0 0;
    padding: 18px 0 0;
    border-top: 1px solid rgba(21, 32, 25, 0.10);
}
.pss_info_cell {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    min-width: 0;
}
.pss_info_ico {
    flex-shrink: 0;
    width: 22px;
    height: 22px;
    margin-top: 2px;
}
.pss_info_text {
    min-width: 0;
    overflow-wrap: anywhere;
}
.pss_info_text dt {
    font-size: 0.75rem;
    font-weight: 500;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    color: rgba(21, 32, 25, 0.55);
    margin: 0 0 4px;
}
.pss_info_text dd {
    font-size: 1.05rem;
    font-weight: 500;
    line-height: 1.4;
    color: rgba(0, 65, 65, .95);
    margin: 0;
}
.pss_info_text dd a {
    color: inherit;
    text-decoration: none;
    border-bottom: 1px dashed rgba(21, 32, 25, 0.18);
    transition: color .15s, border-color .15s;
}
.pss_info_text dd a:hover {
    color: #0E8A5F;
    border-color: #0E8A5F;
}
@media (max-width: 600px) {
    .pss_info_grid { grid-template-columns: 1fr; gap: 14px; }
    .pss_info_text dd { font-size: 1rem; }
}
.pss_map_card {
    border-radius: 16px;
    overflow: hidden;
    background: rgba(0, 65, 63, .04);
    min-height: 320px;
    display: flex;
    align-items: stretch;
    justify-content: stretch;
}
.pss_map_iframe {
    width: 100%;
    min-height: 320px;
    border: 0;
    display: block;
}
.pss_map_static {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}
.pss_map_placeholder {
    width: 100%;
    min-height: 320px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: rgba(0, 65, 65, .35);
    font-size: 13px;
}
.pss_description {
    padding: 20px 24px;
    border: 1.5px solid rgba(0, 65, 63, .1);
    border-radius: 16px;
    background: #fff;
    margin-bottom: 24px;
    line-height: 1.6;
    color: rgba(0, 65, 65, .85);
}
.pss_desc_photo {
    width: 100%;
    max-height: 360px;
    object-fit: cover;
    border-radius: 12px;
    display: block;
    margin: 0 0 16px;
}
.pss_others {
    margin-top: 30px;
    background: rgb(240 249 244);
    border: 1px solid rgba(21, 32, 25, 0.08);
    padding: 15px 20px;
    border-radius: 18px;
}
.pss_others h2 {
    font-family: "Unbounded", ui-sans-serif, system-ui, sans-serif;
    font-size: 17px;
    font-weight: 500;
    color: rgba(0, 65, 65, .9);
    margin: 0 0 12px;
}
.pss_others_list {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}
.pss_others_list li a {
    display: inline-block;
    padding: 9px 16px;
    background: #fff;
    border: 1px solid rgba(1, 176, 126, .18);
    border-radius: 999px;
    color: rgba(0, 65, 65, .9);
    text-decoration: none;
    font-size: 14px;
    font-weight: 500;
    box-shadow: 0 1px 2px rgba(0, 65, 63, .04);
    transition: background .18s, border-color .18s, color .18s, box-shadow .18s, transform .12s;
}
.pss_others_list li a:hover {
    background: linear-gradient(180deg, rgba(1, 176, 126, 1), rgba(1, 176, 150, 1));
    border-color: transparent;
    color: #fff;
    box-shadow: 0 6px 16px rgba(1, 176, 126, .25);
    transform: translateY(-1px);
}
@media screen and (max-width: 900px) {
    .pss_grid {
        grid-template-columns: 1fr;
        gap: 16px;
    }
    .pss_map_card,
    .pss_map_iframe,
    .pss_map_placeholder { min-height: 260px; }
}

/* ================================================================
   BLOCK: info_single
   ================================================================ */

.is_single {
    margin: 20px 10px 0;
    background: var(--is-bg, #FFFFFF);
    border: 1px solid var(--is-border, rgba(21, 32, 25, 0.10));
    border-radius: calc(var(--is-radius, 16px) * 1.5);
    overflow: hidden;
    max-width: 1380px;
}
.is_single_head {
    padding: 20px 30px 0;
    display: flex;
    align-items: center;
    gap: 12px;
    flex-wrap: wrap;
}
.is_single_head .is_tag {
    padding: 5px 12px;
    font-size: 0.78rem;
}
.is_single_date {
    display: inline-block;
    color: var(--is-ink-soft, #5A6A60);
    font-size: 0.86rem;
    letter-spacing: 0.02em;
}
.is_single_content {
    padding: 10px 30px 20px;
}
.blog_content {
    color: var(--is-ink, #152019);
    font-family: "Manrope", ui-sans-serif, system-ui, sans-serif;
    line-height: 1.65;
    font-size: 1.02rem;
}
.blog_content h1,
.blog_content h2,
.blog_content h3,
.blog_content h4 {
    font-family: "Unbounded", ui-sans-serif, system-ui, sans-serif;
    color: var(--is-ink, #152019);
    letter-spacing: -0.015em;
    line-height: 1.25;
    font-weight: 600;
    text-wrap: balance;
}
.blog_content h1 { font-size: 1.4rem; line-height: 1; margin: 0 0 14px; }
.blog_content h2 { font-size: 1.35rem; margin: 28px 0 10px; }
.blog_content h3 { font-size: 1.15rem; margin: 22px 0 8px; }
.blog_content h4 { font-size: 1.02rem; margin: 18px 0 6px; }
.blog_content p {
    margin: 0 0 12px;
    color: var(--is-ink, #152019);
}
.blog_content p b,
.blog_content strong {
    color: var(--is-ink, #152019);
    font-weight: 600;
}
.blog_content a {
    color: var(--is-color, var(--is-accent, #0E8A5F));
    text-decoration: none;
    border-bottom: 1px solid rgba(14, 138, 95, 0.35); 
    transition: border-color .2s;
}
.blog_content a:hover {
    border-bottom-color: var(--is-color, var(--is-accent, #0E8A5F));
}
.blog_content ul,
.blog_content ol {
    margin: 6px 0 14px 22px;
    padding: 0;
}
.blog_content ul li,
.blog_content ol li {
    padding: 4px 0 0;
}
.blog_content ul li::marker {
    color: var(--is-color, var(--is-accent, #0E8A5F));
    font-size: 1.1em;
}
.blog_content img {
    max-width: 100%;
    height: auto;
    border-radius: 14px;
    margin: 14px 0;
}
.blog_content img.bc_banner {
    width: 100%;
    max-height: 220px;
    object-fit: cover;
    border-radius: 16px;
    margin: 0 0 14px;
}
.bc_features {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 14px;
    margin: 18px 0;
}
.bc_card {
    background: rgba(14, 138, 95, 0.06); 
    border: 1px solid rgba(14, 138, 95, 0.18);
    border-radius: 14px;
    padding: 20px;
}
.bc_card img {
    width: 44px;
    height: 44px;
    margin: 0 0 10px;
    border-radius: 0;
}
.bc_card b {
    display: block;
    color: var(--is-ink, #152019);
    font-family: "Unbounded", ui-sans-serif, system-ui, sans-serif;
    font-size: 1rem;
    font-weight: 600;
    margin-bottom: 6px;
    letter-spacing: -0.01em;
}
.bc_card p {
    color: var(--is-ink-soft, #5A6A60) !important;
    font-size: 0.92rem !important;
    margin: 0 !important;
    line-height: 1.5;
}
.bc_steps {
    display: flex;
    flex-direction: column;
    gap: 14px;
    margin: 18px 0;
}
.bc_step {
    display: flex;
    gap: 16px;
    align-items: flex-start;
    background: rgba(14, 138, 95, 0.06); 
    border: 1px solid rgba(14, 138, 95, 0.18);
    border-radius: 14px;
    padding: 20px;
}
.bc_step_num {
    flex-shrink: 0;
    width: 40px;
    height: 40px;
    background: var(--is-color, #0E8A5F);
    color: #fff;
    font-family: "Unbounded", ui-sans-serif, system-ui, sans-serif;
    font-size: 1.05rem;
    font-weight: 700;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
}
.bc_step_body b {
    display: block;
    color: var(--is-ink, #152019);
    font-family: "Unbounded", ui-sans-serif, system-ui, sans-serif;
    font-size: 1rem;
    font-weight: 600;
    margin-bottom: 4px;
    letter-spacing: -0.01em;
}
.bc_step_body p {
    color: var(--is-ink-soft, #5A6A60) !important;
    font-size: 0.92rem !important;
    margin: 0 !important;
    line-height: 1.5;
}
.bc_note {
    background: rgba(14, 138, 95, 0.08); 
    border-left: 4px solid var(--is-color, #0E8A5F);
    border-radius: 0 12px 12px 0;
    padding: 16px 20px;
    margin: 18px 0;
}
.bc_note p {
    color: var(--is-ink, #152019) !important;
    font-size: 0.95rem !important;
    margin: 0 !important;
    line-height: 1.55;
}
.bc_note b {
    color: var(--is-ink, #152019);
    font-weight: 600;
}
.bc_divider {
    border: none;
    border-top: 1px solid var(--is-border, rgba(21, 32, 25, 0.10));
    margin: 26px 0;
}
@media (max-width: 700px) {
    .is_single { margin: 20px 8px 30px; border-radius: 18px; }
    .is_single_head { padding: 20px 20px 0; }
    .is_single_content { padding: 10px 20px 20px; }
    .blog_content { font-size: 0.97rem; }
    .blog_content h1 { font-size: 1.375rem; line-height: 1.15; }
    .blog_content h2 { font-size: 1.2rem; }
    .blog_content h3 { font-size: 1.05rem; }
    .bc_features { grid-template-columns: 1fr; }
    .bc_step { padding: 16px; }
}
@media (max-width: 360px) {
    .is_single_head { padding: 20px 15px 0; }
    .is_single_content { padding: 10px 15px 20px; }
}
@media (max-width: 350px) {
    .blog_content h1 { font-size: 1.255rem; }
}
.is_single_content .is_zoomable {
    display: block;
    position: relative;
    overflow: hidden;
    isolation: isolate;
    cursor: pointer;
    background: #fff;
}
.is_single_content .is_zoomable img {
    display: block !important;
    width: 100% !important;
    height: auto !important;
    margin: 0 !important;
    border: none !important;
    border-radius: 0 !important;
    transform-origin: center center;
    transition: transform .4s cubic-bezier(.4,0,.2,1), filter .25s ease;
}
.is_single_content .is_zoomable:hover img {
    transform: scale(1.02);
    filter: brightness(1.02);
}
.is_single_content .is_zoomable:active img {
    transform: scale(1.01);
    transition: transform .15s;
}
.is_single_content a img {
    cursor: pointer;
}
.is_img_modal {
    display: none;
    position: fixed;
    inset: 0;
    z-index: 1100;
    align-items: center;
    justify-content: center;
    cursor: zoom-out;
    -webkit-user-select: none;
    user-select: none;
}
.is_img_modal.is_img_modal_open {
    display: flex;
}
.is_img_modal_overlay {
    position: absolute;
    inset: 0;
    background: rgba(0, 0, 0, .82);
    backdrop-filter: blur(6px);
    -webkit-backdrop-filter: blur(6px);
    opacity: 0;
    transition: opacity .3s ease;
}
.is_img_modal_open .is_img_modal_overlay {
    opacity: 1;
}
.is_img_modal_content {
    position: relative;
    z-index: 1;
    opacity: 0;
    transform: scale(.9);
    transition: opacity .3s ease, transform .3s ease;
    width: 900px;
    height: 640px;
    max-width: calc(100vw - 40px);
    max-height: calc(100vh - 40px);
    max-height: calc(100dvh - 40px);
    display: flex;
    align-items: center;
    justify-content: center;
    background: #fff;
    border-radius: 12px;
    padding: 20px;
    box-sizing: border-box;
    box-shadow: 0 8px 40px rgba(0, 0, 0, .3);
    overflow: hidden;
}
.is_img_modal_open .is_img_modal_content {
    opacity: 1;
    transform: scale(1);
}
.is_modal_track {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%;
    position: relative;
}
.is_modal_track::after {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    width: 32px;
    height: 32px;
    margin: -16px 0 0 -16px;
    border: 3px solid rgba(0, 0, 0, .08);
    border-top-color: rgba(1, 176, 126, .6);
    border-radius: 50%;
    animation: is_modal_spin .7s linear infinite;
    z-index: 0;
}
@keyframes is_modal_spin {
    to { transform: rotate(360deg); }
}
.is_modal_img_next {
    display: none;
}
.is_img_modal_content img {
    display: block;
    max-width: 100%;
    max-height: 100%;
    object-fit: contain;
    position: relative;
    z-index: 1;
    opacity: 0;
    transition: opacity .2s;
    cursor: zoom-out;
    margin: 0;
    border: none;
    border-radius: 0;
    background: transparent;
}
.is_img_modal_content img.is_img_loaded {
    opacity: 1;
}
.is_img_modal_close {
    position: fixed;
    top: 16px;
    right: 16px;
    width: 40px;
    height: 40px;
    border: none;
    border-radius: 50%;
    background: rgba(255, 255, 255, .12);
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    color: rgba(255, 255, 255, .7);
    transition: background .15s, color .15s;
    z-index: 1102;
}
.is_img_modal_close:hover {
    background: rgba(255, 255, 255, .25);
    color: #fff;
}
.is_img_modal_close svg {
    width: 24px;
    height: 24px;
}
.is_modal_arrow {
    position: fixed;
    top: 50%;
    transform: translateY(-50%);
    width: 44px;
    height: 44px;
    border: none;
    border-radius: 50%;
    background: rgba(255, 255, 255, .12);
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 1101;
    transition: background .2s;
}
.is_modal_arrow:hover {
    background: rgba(255, 255, 255, .25);
}
.is_modal_arrow svg {
    width: 22px;
    height: 22px;
    color: rgba(255, 255, 255, .8);
}
.is_modal_prev { left: 16px; }
.is_modal_next { right: 16px; }
.is_modal_counter {
    position: fixed;
    bottom: 20px;
    left: 50%;
    transform: translateX(-50%);
    font-size: 14px;
    color: rgba(255, 255, 255, .6);
    z-index: 1101;
    pointer-events: none;
}
@media (max-width: 768px) {
    .is_img_modal_content {
        width: calc(100vw - 32px);
        height: calc(100vw - 32px);
        max-height: calc(100vh - 120px);
        max-height: calc(100dvh - 120px);
        padding: 12px;
        border-radius: 10px;
    }
    .is_modal_arrow {
        display: none;
    }
}

/* ================================================================
   BLOCK: info_page
   ================================================================ */

.ip_page {
    margin: 20px 10px 30px;
}
.ip_head {
    max-width: 760px;
    margin: 0 0 30px;
}
.ip_title {
    margin: 0 0 10px;
    text-wrap: balance;
    font-size: 1.4rem;
}
@media (max-width: 420px) {
    .ip_title { font-size: 1.375rem; line-height: 1.15; }
}
@media (max-width: 350px) {
    .ip_title { font-size: 1.255rem; }
}
.ip_lead {
    margin: 0;
    color: var(--is-ink-soft, #5A6A60);
    font-size: 1.05rem;
    line-height: 1.55;
    max-width: 56ch;
}
@media (max-width: 600px) {
    .ip_page { margin: 20px 10px 40px; }
    .ip_head { margin-bottom: 28px; }
    .ip_title { margin-bottom: 12px; }
    .ip_lead { font-size: 0.95rem; }
}

/* ================================================================
   BLOCK: landing_intro
   ================================================================ */

.lp_body { --lp-y: 50px; }
@media (max-width: 700px) { .lp_body { --lp-y: 48px; } }
@media (max-width: 420px) { .lp_body { --lp-y: 36px; } }
.lp_body .la_hero          { padding: var(--lp-y) 0; }
.lp_body .la_news_section  { padding: var(--lp-y) 0; }
.lp_body .page_description { padding: var(--lp-y) 0 0; }
.lp_body .la_news_section .is_section { margin: 0 10px; }
.la_news_wrap    { max-width: 1400px; margin: 0 auto; }
.la_intro {
    --li-accent:        #0E8A5F;
    --li-ink:           #152019;
    --li-ink-soft:      #5A6A60;
    --li-bg:            #FFFFFF;
    --li-border:        rgba(21, 32, 25, 0.10);
    --li-border-strong: rgba(21, 32, 25, 0.18);
    --li-accent-soft:   rgba(14, 138, 95, 0.14); 
    --li-accent-softer: rgba(14, 138, 95, 0.08);
    --li-radius:        16px;
    --li-h-font:        "Unbounded", ui-sans-serif, system-ui, sans-serif;
    --li-b-font:        "Manrope", ui-sans-serif, system-ui, sans-serif;
    position: relative;
    min-height: 100vh;
    display: flex;
    flex-direction: column;
    overflow: hidden;
    color: var(--li-ink);
    font-family: var(--li-b-font);
    background:
        radial-gradient(ellipse 80% 60% at 50% 15%, var(--li-accent-soft) 0%, transparent 60%),
        radial-gradient(ellipse 60% 50% at 80% 80%, var(--li-accent-softer) 0%, transparent 55%),
        radial-gradient(ellipse 60% 50% at 15% 75%, rgba(14, 138, 95, 0.06) 0%, transparent 55%),
        var(--li-bg);
    -webkit-font-smoothing: antialiased;
}
.la_intro *,
.la_intro *::before,
.la_intro *::after { box-sizing: border-box; }
.la_intro ::selection { background: var(--li-accent); color: #fff; }
.la_intro_wrap {
    max-width: 1400px;
    margin: 0 auto;
    padding: 0 10px;
    width: 100%;
}
.la_intro_accent { color: var(--li-accent); }
.la_grid_bg {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    opacity: 0.04;
    color: var(--li-ink);
    pointer-events: none;
}
.la_topbar {
    position: relative;
    z-index: 2;
}
.la_topbar_inner {
    display: flex;
    align-items: center;
    gap: 20px;
    height: 88px;
}
.la_topbar_left {
    display: inline-flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 6px;
    min-width: 0;
}
.la_topbar_status {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 3px 10px;
    border-radius: 999px;
    font-size: 0.74rem;
    font-weight: 700;
    color: #fff;
    line-height: 1;
    letter-spacing: 0.02em;
    background: linear-gradient(
        90deg,
        #0E8A5F 0%,
        #12A574 25%,
        #1FBF89 50%,
        #12A574 75%,
        #0E8A5F 100%
    );
    background-size: 250% 100%;
    box-shadow: 0 2px 8px rgba(14, 138, 95, .25);
    animation: la_topbar_status_shimmer 4s linear infinite;
    white-space: nowrap;
}
.la_topbar_status_dot {
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: #fff;
    box-shadow: 0 0 0 3px rgba(255, 255, 255, .35);
    animation: la_topbar_status_pulse 1.6s ease-in-out infinite;
}
.la_topbar_status_closed {
    background: linear-gradient(90deg, #6B7280 0%, #9CA3AF 50%, #6B7280 100%);
    background-size: 100% 100%;
    box-shadow: 0 2px 8px rgba(107, 114, 128, .20);
    animation: none;
}
.la_topbar_status_closed .la_topbar_status_dot {
    animation: none;
    box-shadow: 0 0 0 3px rgba(255, 255, 255, .25);
}
@keyframes la_topbar_status_shimmer {
    0%   { background-position: 0% 50%; }
    100% { background-position: 250% 50%; }
}
@keyframes la_topbar_status_pulse {
    0%, 100% { opacity: 1; transform: scale(1); }
    50%      { opacity: .55; transform: scale(.8); }
}
.la_topbar_loc {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-size: 0.86rem;
    color: var(--li-ink-soft);
}
.la_topbar_loc svg { color: var(--li-accent); }
.la_topbar_phone {
    margin-left: auto;
    display: inline-flex;
    flex-direction: column;
    align-items: flex-end;
    line-height: 1.2;
    text-decoration: none;
    color: var(--li-ink);
}
.la_topbar_phone_label {
    font-size: 0.76rem;
    color: var(--li-ink-soft);
    letter-spacing: 0.06em;
    text-transform: uppercase;
    font-weight: 500;
}
.la_topbar_phone_num {
    margin-top: 4px;
    font-family: var(--li-h-font);
    font-weight: 700;
    font-size: 1.1rem;
    letter-spacing: -0.01em;
    color: rgba(0, 65, 65, .95);
}
.la_intro_center {
    flex: 1;
    position: relative;
    z-index: 2;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 40px 32px 80px;
}
.la_intro_brand {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 20px;
    text-align: center;
}
.la_intro .la_logo { width: 108px; height: 108px; }
.la_intro_title {
    font-family: var(--li-h-font);
    font-weight: 700;
    margin: 0;
    font-size: 4.42rem;
    letter-spacing: -0.035em;
    line-height: 0.95;
    color: rgba(0, 65, 65, .95);
    text-wrap: balance;
}
.la_intro_sub {
    margin: 18px auto 0;
    max-width: 60ch;
    font-size: 1.2825rem;
    color: var(--li-ink-soft);
    line-height: 1.45;
    text-wrap: balance;
}
.la_intro_sub a {
    color: var(--li-accent);
    text-decoration: none;
    border-bottom: 1px solid rgba(14, 138, 95, 0.30);
    transition: border-color .15s;
}
.la_intro_sub a:hover {
    border-bottom-color: var(--li-accent);
}
.la_search {
    width: 100%;
    max-width: 960px;
    margin-top: 56px;
}
.la_search_field { position: relative; }
.la_search_icon {
    position: absolute;
    left: 22px;
    top: 50%;
    margin-top: -12px;
    color: var(--li-ink-soft);
    pointer-events: none;
}
.la_search_input {
    width: 100%;
    height: 80px;
    padding: 0 220px 0 70px;
    border: 1px solid var(--li-border-strong);
    border-radius: calc(var(--li-radius) * 1.4);
    background: var(--li-bg);
    color: var(--li-ink);
    font-family: var(--li-b-font);
    font-size: 1.15rem;
    outline: none;
    box-shadow: 0 12px 40px -12px var(--li-accent-soft);
    transition: border-color .2s, box-shadow .2s;
}
.la_search_input:focus {
    border-color: var(--li-accent);
    box-shadow: 0 12px 40px -12px var(--li-accent-soft), 0 0 0 4px var(--li-accent-soft);
}
.la_search_btn {
    position: absolute;
    right: 8px;
    top: 8px;
    height: 64px;
    border-radius: calc(var(--li-radius) * 1.2);
    background: var(--li-accent);
    color: #fff;
    border: none;
    padding: 0 32px;
    display: inline-flex;
    align-items: center;
    gap: 10px;
    cursor: pointer;
    font-family: var(--li-b-font);
    font-weight: 600;
    font-size: 1.05rem;
    transition: filter .15s, transform .15s;
}
.la_search_btn:hover  { filter: brightness(1.05); }
.la_search_btn:active { transform: translateY(1px); }
.la_search_quick {
    margin-top: 22px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    flex-wrap: wrap;
}
.la_search_quick_label {
    font-size: 0.86rem;
    color: var(--li-ink-soft);
    letter-spacing: 0.04em;
    font-weight: 500;
}
.la_chip {
    font-size: 0.86rem;
    font-family: inherit;       
    color: var(--li-ink);
    text-decoration: none;
    padding: 6px 14px;
    border-radius: 999px;
    border: 1px solid var(--li-border);
    background: var(--li-bg);
    cursor: pointer;
    transition: border-color .2s, color .2s, background .2s;
}
.la_chip:hover {
    border-color: var(--li-accent);
    color: var(--li-accent);
    background: var(--li-accent-softer);
}
@media (max-width: 1024px) {
    .la_intro_title { font-size: 3.6rem; }
}
@media (max-width: 720px) {
    .la_topbar_inner { height: 64px; gap: 12px; }
    .la_topbar_phone_label { display: none; }
    .la_topbar_phone_num { font-size: 0.95rem; }
}
@media (max-width: 560px) {
    .la_topbar_inner {
        flex-direction: column;
        align-items: center;
        justify-content: center;
        height: auto;
        padding: 14px 0 6px;
        gap: 10px;
    }
    .la_topbar_left {
        align-items: center;
        gap: 6px;
    }
    .la_topbar_phone {
        margin-left: 0;
        align-items: center;
    }
}
@media (max-width: 720px) {
    .la_intro_center { padding: 24px 20px 80px; }
    .la_intro_title { font-size: 2.6rem; }
    .la_intro_sub { font-size: 1rem; margin-top: 12px; }
    .la_search { margin-top: 36px; }
    .la_search_input {
        height: 60px;
        padding: 0 140px 0 52px;
        font-size: 1rem;
        border-radius: calc(var(--li-radius) * 1.1);
    }
    .la_search_icon { left: 16px; margin-top: -10px; }
    .la_search_icon svg { width: 20px; height: 20px; }
    .la_search_btn {
        height: 48px;
        right: 6px;
        top: 6px;
        padding: 0 16px;
        font-size: 0.86rem;
        border-radius: calc(var(--li-radius) * 0.9);
    }
    .la_search_btn svg { display: none; }
    .la_search_quick { gap: 6px; }
    .la_chip { font-size: 0.78rem; padding: 5px 10px; }
    .la_search_quick_label { width: 100%; text-align: center; }
}
@media (max-width: 420px) {
    .la_intro_title { font-size: 2.1rem; }
    .la_search_input { padding: 0 130px 0 44px; }
    .la_search_icon { left: 12px; }
}
.lp_body .fon_header_modal     { z-index: 130; }
.lp_body .la_intro_center      { z-index: 140; }
body.search-open .la_intro .la_search_quick { visibility: hidden; }
.la_intro { overflow: visible; }
.la_intro .search_form {
    position: relative;
    flex: none;
    margin-left: 0;
    width: 100%;
    max-width: 960px;
    margin-inline: auto;
    z-index: 5;
}
.la_intro .search_form .search_form_wrapper {
    position: relative;
    display: block;
    height: 80px;
    border-radius: calc(var(--li-radius) * 1.4);
    box-sizing: border-box;
    transition: box-shadow .2s;
}
.la_intro .search_form .search_form_wrapper,
.la_intro .search_form .search_form_wrapper:hover,
.la_intro .search_form .search_form_wrapper:focus-within {
    background: var(--li-bg);
    border: 1px solid rgba(1, 176, 126, .25);
    box-shadow: none;
}
.la_intro .search_form .search_form_wrapper:focus-within {
    box-shadow: 0 16px 40px rgba(0, 0, 0, .12), 0 4px 12px rgba(1, 176, 126, .14);
}
.la_intro .search_form .search_form_wrapper input,
.la_intro .search_form .search_form_wrapper input:focus {
    box-shadow: none;
    border-color: transparent;
}
.la_intro .search_form .search_form_wrapper input {
    width: 100%;
    height: 80px;
    margin: 0;
    padding: 0 220px 0 70px;
    border: none;
    outline: none;
    background: transparent;
    color: var(--li-ink);
    font-family: var(--li-b-font);
    font-size: 1.15rem;
    box-sizing: border-box;
}
.la_intro .search_form .search_form_wrapper input::placeholder {
    color: var(--li-ink-soft);
}
.la_intro .la_search_icon {
    z-index: 1;
}
.la_intro .search_form .search_form_wrapper .button_close {
    position: absolute;
    right: 175px;
    top: 50%;
    width: 22px;
    height: 22px;
    margin: -10px 0 0 0;
    padding: 0;
    background: none;
    border: none;
    cursor: pointer;
    transition: transform .15s ease;
}
.la_intro .search_form .search_form_wrapper .button_close:hover {
    transform: scale(1.15);
}
.la_intro .search_form .search_form_wrapper .button_close:active {
    transform: scale(0.95);
}
.la_intro .search_form .search_form_wrapper .button_close img {
    width: 100%;
    height: 100%;
    opacity: .55;
    transition: opacity .15s;
}
.la_intro .search_form .search_form_wrapper .button_close:hover img { opacity: 1; }
.la_intro .search_form .search_form_wrapper .button_search {
    position: absolute;
    right: 8px;
    top: 7px;
    transform: none;
    width: auto;
    height: 64px;
    padding: 0 32px;
    border-radius: calc(var(--li-radius) * 1.2);
    background: var(--li-accent);
    box-shadow: none;
    color: #fff;
    border: none;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    gap: 10px;
    font-family: var(--li-b-font);
    font-weight: 600;
    font-size: 1.05rem;
    transition: filter .15s, transform .15s;
}
.la_intro .search_form .search_form_wrapper .button_search:hover {
    background: var(--li-accent);
    filter: brightness(1.05);
    box-shadow: none;
    transform: none;
}
.la_intro .search_form .search_form_wrapper .button_search:active {
    background: var(--li-accent);
    transform: translateY(1px);
    box-shadow: none;
}
.la_intro .search_help_wrapper {
    margin-top: 5px;
    border-radius: calc(var(--li-radius) * 1.4);
    box-shadow: 0 16px 40px rgba(0, 0, 0, .12), 0 4px 12px rgba(1, 176, 126, .14);
}
@media (max-width: 720px) {
    .la_intro .search_help_wrapper {
        border-radius: calc(var(--li-radius) * 1.1);
    }
}
@media (max-width: 720px) {
    .la_intro .search_form .search_form_wrapper {
        height: 60px;
        border-radius: calc(var(--li-radius) * 1.1);
    }
    .la_intro .search_form .search_form_wrapper input {
        height: 60px;
        padding: 0 140px 0 52px;
        font-size: 16px;
    }
    .la_intro .search_form .search_form_wrapper .button_close {
        right: 110px;
        width: 18px;
        height: 18px;
        margin: -8px 0 0 0;
    }
    .la_intro .search_form .search_form_wrapper .button_search {
        height: 48px;
        right: 6px;
        top: 5px;
        padding: 0 16px;
        font-size: 0.86rem;
        border-radius: calc(var(--li-radius) * 0.9);
    }
    .la_intro .search_form .search_form_wrapper .button_search svg { display: none; }
}
@media (max-width: 420px) {
    .la_intro .search_form .search_form_wrapper input {
        padding: 0 130px 0 44px;
    }
    .la_intro .search_form .search_form_wrapper .button_close { right: 100px; }
}

/* ================================================================
   BLOCK: landing_hero
   ================================================================ */

.la_hero {
    --lh-accent:        #0E8A5F;
    --lh-ink:           #152019;
    --lh-ink-soft:      #5A6A60;
    --lh-bg:            #FFFFFF;
    --lh-surface:       #F6FAF6;
    --lh-border:        rgba(21, 32, 25, 0.10);
    --lh-border-strong: rgba(21, 32, 25, 0.18);
    --lh-accent-soft:   rgba(14, 138, 95, 0.14); 
    --lh-accent-softer: rgba(14, 138, 95, 0.08);
    --lh-radius:        16px;
    --lh-pad:           28px;
    --lh-h-font:        "Unbounded", ui-sans-serif, system-ui, sans-serif;
    --lh-b-font:        "Manrope", ui-sans-serif, system-ui, sans-serif;
    color: var(--lh-ink);
    font-family: var(--lh-b-font);
    background: var(--lh-bg);
    -webkit-font-smoothing: antialiased;
}
.la_hero *,
.la_hero *::before,
.la_hero *::after { box-sizing: border-box; }
.la_hero_wrap {
    max-width: 1400px;
    margin: 0 auto;
    padding: 0 10px;
}
.la_hero_accent { color: var(--lh-accent); }
.la_hero .la_pill {
    display: inline-flex;
    align-items: center;
    padding: 10px 18px;
    border-radius: 999px;
    background: var(--lh-accent-soft);
    color: var(--lh-accent);
    font-size: 0.76rem;
    font-weight: 500;
    line-height: 1;
}
.la_hero_meta {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 25px;
    flex-wrap: wrap;
}
.la_hero_card {
    background: var(--lh-accent-softer);
    border-radius: calc(var(--lh-radius) * 2);
    border: 1px solid var(--lh-border);
    overflow: hidden;
    display: grid;
    grid-template-columns: minmax(0, 1fr) 400px;
    min-height: 460px;
}
.la_hero_card_main {
    padding: calc(var(--lh-pad) + 20px) calc(var(--lh-pad) + 10px);
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    gap: 36px;
}
.la_hero_kicker {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    color: var(--lh-accent);
    font-family: var(--lh-b-font);
    font-size: 0.76rem;
    font-weight: 600;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}
.la_hero_title {
    font-family: var(--lh-h-font);
    font-weight: 700;
    font-size: 5.2rem;
    letter-spacing: -0.035em;
    line-height: 0.95;
    margin: 18px 0 16px;
    text-wrap: balance;
    color: rgba(0, 65, 65, .95);
}
.la_hero_tagline {
    font-size: 1.35rem;
    color: var(--lh-ink-soft);
    max-width: 38ch;
    line-height: 1.45;
    margin: 0;
}
.la_hero_actions {
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
}
.la_hero_btn {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    padding: 14px 24px;
    border-radius: 999px;
    border: none;
    cursor: pointer;
    font-family: var(--lh-b-font);
    font-weight: 600;
    font-size: 0.86rem;
    text-decoration: none;
    background: transparent;
    color: var(--lh-ink);
    white-space: nowrap;
    transition: transform .15s, filter .15s;
}
.la_hero_btn:hover  { filter: brightness(1.04); }
.la_hero_btn:active { transform: translateY(1px); }
.la_hero_btn_primary { background: var(--lh-accent); color: #fff; }
.la_hero_card_aside {
    padding: var(--lh-pad);
    background: var(--lh-bg);
    border-left: 1px solid var(--lh-border);
    display: flex;
    flex-direction: column;
    gap: 12px;
    justify-content: flex-start;
}
@media (max-width: 1250px) { .la_hero_title { font-size: 5rem; } }
@media (max-width: 1200px) { .la_hero_title { font-size: 4.5rem; } }
@media (max-width: 1150px) { .la_hero_title { font-size: 4.2rem; } }
@media (max-width: 1100px) { .la_hero_title { font-size: 3.8rem; } }
@media (max-width: 1050px) { .la_hero_title { font-size: 3.5rem; } }
@media (max-width: 1024px) {
    .la_hero_title { font-size: 4rem; }
    .la_hero_card {
        grid-template-columns: 1fr;
        min-height: 0;
    }
    .la_hero_card_aside {
        border-left: none;
        border-top: 1px solid var(--lh-border);
    }
}
@media (max-width: 720px) {
    .la_hero { --lh-pad: 22px; }
    .la_hero_card_main { padding: 24px 20px; gap: 24px; }
    .la_hero_title { font-size: 2.6rem; }
    .la_hero_tagline { font-size: 1.05rem; }
    .la_hero_actions .la_hero_btn { flex: 1; justify-content: center; }
    .la_hero_card_aside { padding: 20px; }
}
@media (max-width: 420px) {
    .la_hero_title { font-size: 2.1rem; }
}
@media (max-width: 360px) {
    .la_hero { --lh-pad: 16px; }
    .la_hero_card_main { padding: 18px 14px; gap: 18px; }
    .la_hero_kicker { font-size: 0.7rem; letter-spacing: 0.04em; }
    .la_hero_title {
        font-size: 1.7rem;
        letter-spacing: -0.02em;
        margin: 10px 0 12px;
        overflow-wrap: break-word;
        word-break: break-word;
        hyphens: auto;
    }
    .la_hero_tagline { font-size: 0.95rem; line-height: 1.4; }
    .la_hero_btn { padding: 12px 16px; font-size: 0.82rem; }
    .la_hero_card_aside { padding: 16px 14px; }
    .la_city_pick_head { font-size: 1.05rem; padding-bottom: 10px; }
    .la_city_pick { padding: 12px; gap: 10px; }
    .la_city_pick_name { font-size: 1.02rem; overflow-wrap: break-word; }
    .la_city_pick_meta { font-size: 0.82rem; }
    .la_city_pick_arrow { width: 32px; height: 32px; }
    .la_hero_seo { font-size: 0.88rem; padding-top: 14px; }
}
.la_city_pick_head {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 4px;
    padding-bottom: 12px;
    border-bottom: 1px solid var(--lh-border);
    font-family: var(--lh-h-font);
    font-weight: 600;
    font-size: 1.2rem;
    letter-spacing: -0.01em;
    color: rgba(0, 65, 65, .95);
}
.la_city_pick_head svg { color: var(--lh-accent); flex: 0 0 auto; }
.la_city_pick_list {
    display: flex;
    flex-direction: column;
    gap: 10px;
}
.la_city_pick {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    padding: 16px 18px;
    border-radius: var(--lh-radius);
    border: 1px solid var(--lh-border);
    background: var(--lh-surface);
    text-decoration: none;
    color: var(--lh-ink);
    transition: border-color .15s, background .15s, transform .15s;
}
.la_city_pick:hover {
    border-color: var(--lh-accent);
    background: var(--lh-accent-softer);
    transform: translateY(-2px);
}
.la_city_pick_body { display: flex; flex-direction: column; gap: 3px; min-width: 0; }
.la_city_pick_name {
    font-family: var(--lh-h-font);
    font-weight: 600;
    font-size: 1.15rem;
    letter-spacing: -0.01em;
}
.la_city_pick_meta { font-size: 0.92rem; color: var(--lh-ink-soft); }
.la_city_pick_arrow {
    flex: 0 0 auto;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 38px; height: 38px;
    border-radius: 50%;
    background: var(--lh-bg);
    border: 1px solid var(--lh-border);
    color: var(--lh-accent);
    transition: background .15s, color .15s;
}
.la_city_pick:hover .la_city_pick_arrow { background: var(--lh-accent); color: #fff; border-color: var(--lh-accent); }
.la_hero_seo {
    flex: 1 1 auto;
    display: flex;
    flex-direction: column;
    justify-content: center;
    margin-top: 4px;
    padding-top: 18px;
    border-top: 1px solid var(--lh-border);
    font-size: 0.95rem;
    line-height: 1.6;
    color: var(--lh-ink-soft);
}
.la_hero_seo p { margin: 0; }

/* ================================================================
   BLOCK: page_404
   ================================================================ */

.e404 {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    padding: 50px 20px 40px;
    overflow: hidden;
}
.e404_decor {
    position: absolute;
    inset: 0;
    pointer-events: none;
    overflow: hidden;
}
.e404_shape {
    position: absolute;
    color: rgba(1, 176, 126, .15);
    opacity: 0;
    animation: e404_float 8s ease-in-out infinite;
}
.e404_s1 { width: 28px; top: 12%; left: 8%; animation-duration: 7s; }
.e404_s2 { width: 20px; top: 28%; right: 12%; animation-duration: 9s; animation-delay: -2s; }
.e404_s3 { width: 14px; bottom: 25%; left: 18%; animation-duration: 6s; animation-delay: -4s; }
.e404_s4 { width: 22px; bottom: 18%; right: 8%; animation-duration: 8s; animation-delay: -1s; }
.e404_s5 { width: 16px; top: 8%; right: 28%; animation-duration: 10s; animation-delay: -3s; }
@keyframes e404_float {
    0%, 100% { transform: translateY(0) rotate(0deg); opacity: .15; }
    50% { transform: translateY(-24px) rotate(15deg); opacity: .45; }
}
.e404_glow {
    position: absolute;
    width: 420px;
    height: 420px;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(1, 176, 126, .07) 0%, transparent 70%);
    top: 35%;
    left: 50%;
    transform: translate(-50%, -50%);
    animation: e404_pulse 4s ease-in-out infinite;
    pointer-events: none;
}
@keyframes e404_pulse {
    0%, 100% { transform: translate(-50%, -50%) scale(1); opacity: 1; }
    50% { transform: translate(-50%, -50%) scale(1.2); opacity: .5; }
}
.e404_code {
    font-size: 160px;
    font-weight: 800;
    line-height: 1;
    margin: 0;
    letter-spacing: -4px;
    background: linear-gradient(135deg, #01b07e 0%, #00d4aa 25%, #01c896 50%, #008f65 75%, #01b07e 100%);
    background-size: 300% 300%;
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    animation: e404_gradient 8s ease infinite;
    position: relative;
    z-index: 1;
    user-select: none;
}
@keyframes e404_gradient {
    0% { background-position: 0% 50%; }
    50% { background-position: 100% 50%; }
    100% { background-position: 0% 50%; }
}
.e404_title {
    font-family: "Unbounded", ui-sans-serif, system-ui, sans-serif;
    font-size: 1.8rem;
    line-height: 1;
    font-weight: 500;
    color: rgba(0, 65, 63, .85);
    margin: 12px 0 0;
    position: relative;
    z-index: 1;
}
@media (max-width: 420px) {
    .e404_title { font-size: 1.5rem; line-height: 1.15; }
}
@media (max-width: 350px) {
    .e404_title { font-size: 1.38rem; }
}
.e404_desc {
    font-size: 15px;
    color: rgba(0, 65, 63, .4);
    line-height: 1.6;
    margin: 12px 0 0;
    max-width: 360px;
    position: relative;
    z-index: 1;
}
.e404_actions {
    display: flex;
    gap: 12px;
    margin-top: 36px;
    position: relative;
    z-index: 1;
}
.e404_btn {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 12px 28px;
    border-radius: 12px;
    font-size: 15px;
    font-weight: 600;
    text-decoration: none;
    transition: background .2s ease, transform .15s ease, box-shadow .2s ease, border-color .2s ease;
    cursor: pointer;
}
.e404_btn svg {
    width: 18px;
    height: 18px;
    flex-shrink: 0;
}
.e404_primary {
    background: linear-gradient(135deg, #01b07e 0%, #00c48c 100%);
    color: #fff;
    box-shadow: 0 4px 16px rgba(1, 176, 126, .25);
}
.e404_primary:hover {
    transform: translateY(-2px);
    box-shadow: 0 6px 24px rgba(1, 176, 126, .35);
}
.e404_primary:active {
    transform: translateY(0);
    box-shadow: 0 2px 8px rgba(1, 176, 126, .2);
}
.e404_secondary {
    border: 1.5px solid rgba(1, 176, 126, .4);
    color: #01906a;
    background: transparent;
}
.e404_secondary:hover {
    background: rgba(1, 176, 126, .08);
    border-color: rgba(1, 176, 126, .7);
}
.e404_secondary:active {
    background: rgba(1, 176, 126, .14);
}
@media screen and (max-width: 900px) {
    .e404 {
        padding: 40px 20px 30px;
    }
    .e404_code {
        font-size: 120px;
        letter-spacing: -2px;
    }
    .e404_desc {
        font-size: 14px;
    }
    .e404_glow {
        width: 300px;
        height: 300px;
    }
}
@media screen and (max-width: 500px) {
    .e404 {
        padding: 30px 16px 20px;
    }
    .e404_code {
        font-size: 90px;
        letter-spacing: -1px;
    }
    .e404_desc {
        font-size: 13px;
    }
    .e404_actions {
        flex-direction: column;
        width: 100%;
        max-width: 280px;
    }
    .e404_btn {
        justify-content: center;
        padding: 12px 20px;
    }
    .e404_glow {
        width: 220px;
        height: 220px;
    }
    
    .e404_decor {
        display: none;
    }
}
@media (prefers-reduced-motion: reduce) {
    .e404_shape,
    .e404_glow,
    .e404_code { animation: none; }
    .e404_shape { opacity: .3; }
}
