

/* Start:/local/templates/main/assets/css/main.css?178972952666425*/
@font-face {
    font-family: 'Nunito';
    font-style: normal;
    font-weight: 400;
    font-display: swap;
    src: url('/local/templates/main/assets/fonts/nunito/Nunito-Regular.woff2') format('woff2');
}

@font-face {
    font-family: 'Nunito';
    font-style: normal;
    font-weight: 500;
    font-display: swap;
    src: url('/local/templates/main/assets/fonts/nunito/Nunito-Medium.woff2') format('woff2');
}

@font-face {
    font-family: 'Nunito';
    font-style: normal;
    font-weight: 600;
    font-display: swap;
    src: url('/local/templates/main/assets/fonts/nunito/Nunito-SemiBold.woff2') format('woff2');
}

@font-face {
    font-family: 'Nunito';
    font-style: normal;
    font-weight: 700;
    font-display: swap;
    src: url('/local/templates/main/assets/fonts/nunito/Nunito-Bold.woff2') format('woff2');
}

@font-face {
    font-family: 'Nunito';
    font-style: normal;
    font-weight: 800;
    font-display: swap;
    src: url('/local/templates/main/assets/fonts/nunito/Nunito-ExtraBold.woff2') format('woff2');
}

@font-face {
    font-family: 'Nunito Sans';
    font-style: normal;
    font-weight: 100 900;
    font-display: swap;
    src: url('/local/templates/main/assets/fonts/nunito-sans/NunitoSans-VariableFont.woff2') format('woff2');
}

*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}

html{-webkit-tap-highlight-color:transparent;}

/* Keep Yandex SmartCaptcha privacy shield above TUTORRA sticky UI and modals. */
.SmartCaptcha-Shield{
    z-index:20000 !important;
}

:root{
    --burg:#8b1a4a; --burg-d:#6a1238; --burg-l:#b52460;
    --pink:#e8185c;
    --grad:linear-gradient(135deg,#e8185c 0%,#8b1a4a 100%);
    --white:#ffffff; --bg:#f7f3f5; --bg-light:#fdf9fb;
    --text:#1a0a10; --muted:#7a5060; --border:#ead5dd;
    --shadow-sm:0 2px 12px rgba(139,26,74,.10);
    --shadow-md:0 8px 40px rgba(139,26,74,.18);
    --r:10px; --r-sm:6px; --r-xs:4px;
    --ff:'Nunito',sans-serif; --ff-body:'Nunito Sans',sans-serif;
    --t:160ms ease;
}

body{font-family:var(--ff-body);background:var(--bg);color:var(--text);min-height:100vh;display:flex;flex-direction:column;}



.header{background:var(--white);position:sticky;top:0;z-index:200;box-shadow:var(--shadow-sm);}

.header__main{max-width:1280px;margin:0 auto;padding:0 1.25rem;height:64px;display:flex;align-items:center;gap:1rem;}


.header__lower{
    position:sticky;
    top:64px;
    z-index:199;
    background:var(--white);
}




.header__search-sticky{
    display:none;
    overflow:hidden;
    max-height:0;
    background:var(--bg-light);
    border-bottom:1px solid transparent;
    transition:max-height 240ms ease, border-bottom-color 240ms ease;
}
.header__search-sticky-inner{
    padding:.45rem .875rem;
}
.header__search-sticky.is-open{
    max-height:60px;
    border-bottom-color:var(--border);
}
.nav-item__badge[hidden] {
    display: none !important;
}
.search-sticky-close{
    position:absolute;
    right:52px;
    top:50%;
    transform:translateY(-50%);
    width:28px;height:28px;
    border-radius:50%;
    border:none;background:none;
    cursor:pointer;
    display:flex;align-items:center;justify-content:center;
    color:var(--muted);
    transition:background var(--t),color var(--t);
    z-index:2;
}
.search-sticky-close:hover{background:var(--bg);color:var(--burg);}
.search-sticky-close svg{width:14px;height:14px;stroke:currentColor;fill:none;stroke-width:2.5;stroke-linecap:round;}

.header__search-sticky .search input{padding-right:2.5rem;}


.header__sub{background:var(--white);border-bottom:1px solid var(--border);}
.header__sub-inner{max-width:1280px;margin:0 auto;padding:0 1.25rem;height:38px;display:flex;align-items:center;gap:.2rem;overflow-x:auto;scrollbar-width:none;}
.header__sub-inner::-webkit-scrollbar{display:none;}

.header__lower{border-top:1px solid var(--border);}


.logo{display:flex;align-items:center;gap:.5rem;text-decoration:none;flex-shrink:0;}
.logo__icon{width:34px;height:34px;background:var(--grad);border-radius:9px;display:flex;align-items:center;justify-content:center;font-family:var(--ff);font-size:1.05rem;font-weight:800;color:#fff;flex-shrink:0;}
.logo__image{display:block;width:32px;height:32px;object-fit:cover;border-radius:8px;}
.logo__text{font-family:var(--ff);font-size:1.3rem;font-weight:800;background:var(--grad);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;letter-spacing:-.3px;white-space:nowrap;}


.catalog-wrap{position:relative;flex-shrink:0;}
.btn-catalog{display:flex;align-items:center;gap:.45rem;background:var(--grad);color:#fff;border:none;border-radius:var(--r-sm);padding:.5rem 1rem;font-family:var(--ff);font-size:.875rem;font-weight:700;cursor:pointer;white-space:nowrap;transition:opacity var(--t),box-shadow var(--t);box-shadow:0 2px 12px rgba(232,24,92,.28);user-select:none;}
.btn-catalog:hover{opacity:.9;box-shadow:0 4px 20px rgba(232,24,92,.38);}
.btn-catalog svg{width:16px;height:16px;stroke:#fff;fill:none;stroke-width:2.2;stroke-linecap:round;flex-shrink:0;}


.catalog-menu{
    position:absolute;top:calc(100% + 8px);left:0;
    width:720px;max-width:calc(100vw - 2.5rem);
    background:var(--white);border:1px solid var(--border);border-radius:var(--r);
    box-shadow:var(--shadow-md);
    display:grid;grid-template-columns:205px 1fr;
    overflow:hidden;
    opacity:0;transform:translateY(-6px);pointer-events:none;
    transition:opacity 200ms ease,transform 200ms ease;
    z-index:300;
}
.catalog-menu.is-open{opacity:1;transform:translateY(0);pointer-events:all;}

.catalog-menu__sidebar{background:var(--bg);border-right:1px solid var(--border);padding:.5rem 0;}
.catalog-cat{display:flex;align-items:center;gap:.55rem;padding:.62rem 1rem;font-family:var(--ff);font-size:.82rem;font-weight:700;color:var(--muted);cursor:pointer;transition:background var(--t),color var(--t);border:none;background:none;width:100%;text-align:left;position:relative;}
.catalog-cat:hover{background:var(--white);color:var(--burg);}
.catalog-cat.is-active{background:var(--white);color:var(--burg);}
.catalog-cat.is-active::after{content:'';position:absolute;right:0;top:18%;bottom:18%;width:3px;border-radius:3px 0 0 3px;background:var(--grad);}
.catalog-cat__icon{width:18px;height:18px;flex-shrink:0;display:flex;align-items:center;justify-content:center;}
.catalog-cat__icon svg{width:100%;height:100%;stroke:currentColor;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;}
.catalog-cat .arr{width:13px;height:13px;stroke:currentColor;fill:none;stroke-width:2.2;stroke-linecap:round;margin-left:auto;opacity:.4;}

.catalog-menu__panel{padding:1.25rem;display:none;}
.catalog-menu__panel.is-active{display:block;}
.catalog-panel__title{font-family:var(--ff);font-size:.68rem;font-weight:800;text-transform:uppercase;letter-spacing:.1em;color:var(--burg);margin-bottom:.75rem;padding-bottom:.5rem;border-bottom:1.5px solid var(--border);}
.catalog-panel__grid{display:grid;grid-template-columns:1fr 1fr;gap:.15rem .75rem;}
.catalog-panel__link{display:flex;align-items:center;gap:.35rem;padding:.38rem .5rem;font-size:.82rem;color:var(--text);font-family:var(--ff-body);text-decoration:none;border-radius:var(--r-sm);transition:background var(--t),color var(--t);}
.catalog-panel__link:hover{background:var(--bg);color:var(--burg);}
.catalog-panel__link--hot{color:var(--pink);font-weight:600;}
.catalog-panel__link--hot:hover{background:rgba(232,24,92,.06);}
.catalog-panel__link svg{width:14px;height:14px;flex-shrink:0;stroke:var(--burg);fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;}
.catalog-panel__footer{margin-top:.9rem;padding-top:.75rem;border-top:1px solid var(--border);display:flex;gap:.45rem;flex-wrap:wrap;}
.catalog-tag{display:inline-flex;align-items:center;padding:.22rem .6rem;border-radius:50px;border:1.5px solid var(--border);font-size:.72rem;font-weight:600;font-family:var(--ff);color:var(--muted);text-decoration:none;transition:border-color var(--t),color var(--t);}
.catalog-tag:hover{border-color:var(--burg);color:var(--burg);}


.btn-search-mobile{
    display:flex;align-items:center;justify-content:center;
    height:36px;
    padding:0 .55rem;
    background:none;
    border:none;
    border-radius:var(--r-sm);
    cursor:pointer;
    flex-shrink:0;
    position:relative;
    transition:opacity 200ms ease, transform 200ms ease;
}
.btn-search-mobile:hover{opacity:.75;}
.btn-search-mobile svg{
    width:22px;height:22px;
    stroke:var(--burg);fill:none;stroke-width:2.2;stroke-linecap:round;
    display:block;
}

.btn-search-mobile.is-open::after{
    content:'';
    position:absolute;
    top:2px;right:2px;
    width:8px;height:8px;
    background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 10 10'%3E%3Cline x1='1' y1='1' x2='9' y2='9' stroke='%238b1a4a' stroke-width='2' stroke-linecap='round'/%3E%3Cline x1='9' y1='1' x2='1' y2='9' stroke='%238b1a4a' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E");
    background-repeat:no-repeat;
    background-position:center;
    background-size:100%;
}

.search-wrap{flex:1;position:relative;min-width:0;}
.search{display:flex;align-items:center;background:var(--bg);border:1.5px solid var(--border);border-radius:50px;overflow:hidden;transition:border-color var(--t),box-shadow var(--t);height:40px;width:100%;}
.search:focus-within{border-color:var(--burg-l);box-shadow:0 0 0 3px rgba(139,26,74,.10);}
.search input{flex:1;border:none;background:none;padding:0 1rem;font-size:.88rem;color:var(--text);font-family:var(--ff-body);outline:none;min-width:0;}
.search input::placeholder{color:var(--muted);}
.search__btn{width:42px;height:40px;background:var(--grad);border:none;border-radius:0 50px 50px 0;cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:opacity var(--t);}
.search__btn:hover{opacity:.88;}
.search__btn svg{width:16px;height:16px;stroke:#fff;fill:none;stroke-width:2.5;stroke-linecap:round;}


.search-dropdown{
    position:absolute;top:calc(100% + 6px);left:0;right:0;
    background:var(--white);border:1px solid var(--border);border-radius:var(--r);
    box-shadow:var(--shadow-md);z-index:400;
    max-height:min(70vh,540px);overflow-x:hidden;overflow-y:auto;
    opacity:0;transform:translateY(-4px);pointer-events:none;
    transition:opacity 180ms ease,transform 180ms ease;
}
.search-dropdown.is-open{opacity:1;transform:translateY(0);pointer-events:all;}
.search-dropdown__section{padding:.55rem 0 .35rem;}
.search-dropdown__section + .search-dropdown__section{border-top:1px solid var(--border);}
.search-dropdown__label{padding:.1rem .9rem .45rem;font-family:var(--ff);font-size:.65rem;font-weight:800;text-transform:uppercase;letter-spacing:.09em;color:var(--muted);}
.search-dropdown__item{display:flex;align-items:center;gap:.7rem;padding:.48rem .9rem;text-decoration:none;color:var(--text);transition:background var(--t);}
.search-dropdown__item:hover{background:var(--bg);}
.search-dropdown__item-icon{width:32px;height:32px;border-radius:var(--r-xs);background:var(--bg);border:1px solid var(--border);display:flex;align-items:center;justify-content:center;flex-shrink:0;overflow:hidden;}
.search-dropdown__item-icon img{width:100%;height:100%;object-fit:cover;}
.search-dropdown__item-icon svg{width:16px;height:16px;stroke:var(--burg);fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;}
.search-dropdown__item-icon--author{border-radius:50%;}
.search-dropdown__item-text{flex:1;min-width:0;}
.search-dropdown__item-name{font-size:.83rem;font-weight:600;font-family:var(--ff);color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.search-dropdown__item-sub{font-size:.71rem;color:var(--muted);font-family:var(--ff-body);}
.search-dropdown__item-price{font-size:.82rem;font-weight:700;font-family:var(--ff);color:var(--burg);flex-shrink:0;white-space:nowrap;}
.search-dropdown__item-price.is-free{font-size:.74rem;}
.search-dropdown__state{padding:1rem .9rem;font-size:.8rem;color:var(--muted);text-align:center;}
.search-dropdown__state.is-loading::before{content:'';display:inline-block;width:12px;height:12px;margin-right:.45rem;border:2px solid var(--border);border-top-color:var(--burg);border-radius:50%;vertical-align:-2px;animation:header-search-spin .7s linear infinite;}
.search-dropdown__state.is-error{color:var(--burg);}
@keyframes header-search-spin{to{transform:rotate(360deg);}}
.search-dropdown__footer{padding:.5rem .9rem;border-top:1px solid var(--border);}
.search-dropdown__all{font-size:.78rem;font-weight:600;font-family:var(--ff);color:var(--burg);text-decoration:none;display:flex;align-items:center;gap:.3rem;transition:opacity var(--t);}
.search-dropdown__all:hover{opacity:.75;}
.search-dropdown__all svg{width:13px;height:13px;stroke:currentColor;fill:none;stroke-width:2.5;stroke-linecap:round;}


.header__nav{display:flex;align-items:center;gap:.2rem;flex-shrink:0;}
.nav-item{display:flex;flex-direction:column;align-items:center;gap:.15rem;padding:.4rem .6rem;border-radius:var(--r-sm);text-decoration:none;color:var(--muted);transition:background var(--t),color var(--t);cursor:pointer;border:none;background:none;position:relative;}
.nav-item:hover{background:var(--bg);color:var(--burg);}
.nav-item svg{width:22px;height:22px;stroke:currentColor;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;}
.nav-item__label{font-size:.68rem;font-weight:600;font-family:var(--ff);white-space:nowrap;}
.nav-item__badge{position:absolute;top:3px;right:5px;background:var(--pink);color:#fff;font-size:.58rem;font-weight:700;font-family:var(--ff);min-width:16px;height:16px;padding:0 3px;border-radius:50px;display:flex;align-items:center;justify-content:center;border:2px solid var(--white);}


.sub-link{display:flex;align-items:center;gap:.3rem;padding:.2rem .65rem;border-radius:50px;font-size:.78rem;font-weight:600;font-family:var(--ff);color:var(--muted);text-decoration:none;white-space:nowrap;transition:background var(--t),color var(--t);}
.sub-link:hover{background:var(--bg);color:var(--burg);}
.sub-link--hot{color:var(--pink);}
.sub-link--hot:hover{background:rgba(232,24,92,.07);}
.sub-link svg{width:14px;height:14px;stroke:currentColor;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0;}


.catalog-mobile{display:none;position:fixed;inset:0;z-index:500;background:var(--white);flex-direction:column;overflow:hidden;transform:translateX(-100%);transition:transform 280ms cubic-bezier(.4,0,.2,1);}
.catalog-mobile.is-visible{display:flex;}
.catalog-mobile.is-open{transform:translateX(0);}
.catalog-mobile__head{display:flex;align-items:center;justify-content:space-between;padding:0 1rem;height:56px;border-bottom:1px solid var(--border);flex-shrink:0;}
.catalog-mobile__head-title{font-family:var(--ff);font-size:1rem;font-weight:800;background:var(--grad);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;}
.catalog-mobile__close{width:36px;height:36px;border-radius:50%;border:1.5px solid var(--border);background:none;cursor:pointer;display:flex;align-items:center;justify-content:center;color:var(--muted);transition:all var(--t);}
.catalog-mobile__close:hover{background:var(--bg);color:var(--burg);}
.catalog-mobile__close svg{width:16px;height:16px;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;}
.catalog-mobile__body{display:flex;flex:1;overflow:hidden;}
.catalog-mobile__sidebar{width:36%;border-right:1px solid var(--border);overflow-y:auto;background:var(--bg);padding:.5rem 0;flex-shrink:0;}
.catalog-mobile__sidebar .catalog-cat{padding:.75rem .85rem;font-size:.82rem;}
.catalog-mobile__sidebar .catalog-cat.is-active{background:var(--white);}
.catalog-mobile__panels{flex:1;overflow-y:auto;}
.catalog-mobile__panel{display:none;padding:1rem;flex-direction:column;gap:.25rem;}
.catalog-mobile__panel.is-active{display:flex;}
.catalog-mobile__panel-title{font-family:var(--ff);font-size:.68rem;font-weight:800;text-transform:uppercase;letter-spacing:.1em;color:var(--burg);padding-bottom:.5rem;margin-bottom:.25rem;border-bottom:1.5px solid var(--border);}
.catalog-mobile__link{display:flex;align-items:center;gap:.4rem;padding:.55rem .5rem;font-size:.84rem;color:var(--text);font-family:var(--ff-body);text-decoration:none;border-radius:var(--r-sm);transition:background var(--t),color var(--t);}
.catalog-mobile__link:hover{background:var(--bg);color:var(--burg);}
.catalog-mobile__link--hot{color:var(--pink);font-weight:600;}
.catalog-mobile__link svg{width:14px;height:14px;flex-shrink:0;stroke:var(--burg);fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;}
.catalog-mobile__tags{display:flex;flex-wrap:wrap;gap:.4rem;margin-top:.5rem;padding-top:.75rem;border-top:1px solid var(--border);}


.prose{
    font-family:var(--ff-body);
    font-size:1rem;
    line-height:1.75;
    color:var(--text);
    max-width:68ch;
}

.prose h1,.prose h2,.prose h3,
.prose h4,.prose h5,.prose h6{
    font-family:var(--ff);
    font-weight:800;
    line-height:1.25;
    color:var(--text);
    margin-top:1.75em;
    margin-bottom:.5em;
}
.prose h1{ font-size:2rem; }
.prose h2{ font-size:1.5rem; padding-bottom:.35em; border-bottom:2px solid var(--border); }
.prose h3{ font-size:1.2rem; }
.prose h4{ font-size:1rem; font-weight:700; }
.prose h5{ font-size:.9rem; font-weight:700; color:var(--muted); }
.prose h6{ font-size:.85rem; font-weight:700; color:var(--muted); text-transform:uppercase; letter-spacing:.07em; }

.prose > h1:first-child,
.prose > h2:first-child,
.prose > h3:first-child{ margin-top:0; }

.prose p{ margin:0 0 1em; }
.prose p:last-child{ margin-bottom:0; }

.prose strong{ font-weight:700; color:var(--text); }
.prose em{ font-style:italic; color:var(--muted); }
.prose b{ font-weight:700; }
.prose i{ font-style:italic; }

.prose a{
    color:var(--burg);
    text-decoration:underline;
    text-underline-offset:3px;
    text-decoration-color:rgba(139,26,74,.35);
    transition:text-decoration-color var(--t), color var(--t);
}
.prose a:hover{
    color:var(--burg-d);
    text-decoration-color:var(--burg);
}

.prose ul,.prose ol{
    margin:0 0 1em;
    padding-left:1.5em;
}
.prose ul{ list-style:none; }
.prose ul li{ position:relative; padding-left:.25em; margin-bottom:.35em; }
.prose ul li::before{
    content:'';
    position:absolute;
    left:-1em;
    top:.65em;
    width:6px;height:6px;
    border-radius:50%;
    background:var(--burg);
}
.prose ol{ list-style:decimal; }
.prose ol li{ margin-bottom:.35em; padding-left:.25em; }
.prose ol li::marker{ color:var(--burg); font-weight:700; font-family:var(--ff); }

.prose ul ul,.prose ol ol,
.prose ul ol,.prose ol ul{
    margin-top:.35em;
    margin-bottom:.35em;
}
.prose ul ul li::before{ background:var(--muted); width:4px; height:4px; top:.7em; }

.prose blockquote{
    margin:1.5em 0;
    padding:.75em 1.25em;
    border-left:4px solid var(--burg);
    background:rgba(139,26,74,.04);
    border-radius:0 var(--r-sm) var(--r-sm) 0;
    color:var(--muted);
    font-style:italic;
}
.prose blockquote p{ margin:0; }
.prose blockquote cite{
    display:block;
    margin-top:.5em;
    font-size:.82rem;
    font-style:normal;
    font-weight:600;
    color:var(--burg);
}

.prose code{
    background:rgba(139,26,74,.07);
    color:var(--burg-d);
    padding:.1em .4em;
    border-radius:var(--r-xs);
    font-size:.88em;
    font-family:'SFMono-Regular',Consolas,'Liberation Mono',Menlo,monospace;
    border:1px solid rgba(139,26,74,.14);
}

.prose pre{
    background:#1a0a10;
    color:#f8d7da;
    padding:1.1em 1.25em;
    border-radius:var(--r-sm);
    overflow-x:auto;
    margin:1.25em 0;
    font-size:.875em;
    line-height:1.65;
}
.prose pre code{
    background:none;
    color:inherit;
    padding:0;
    border:none;
    font-size:1em;
}

.prose hr{
    border:none;
    border-top:1px solid var(--border);
    margin:2em 0;
}

.prose table{
    width:100%;
    border-collapse:collapse;
    margin:1.25em 0;
    font-size:.9rem;
}
.prose thead tr{
    background:rgba(139,26,74,.06);
    border-bottom:2px solid var(--border);
}
.prose th{
    font-family:var(--ff);
    font-weight:700;
    font-size:.8rem;
    text-transform:uppercase;
    letter-spacing:.05em;
    color:var(--burg);
    padding:.6em .85em;
    text-align:left;
}
.prose td{
    padding:.55em .85em;
    border-bottom:1px solid var(--border);
    color:var(--text);
    vertical-align:top;
}
.prose tbody tr:last-child td{ border-bottom:none; }
.prose tbody tr:hover td{ background:rgba(139,26,74,.02); }

.prose img{
    max-width:100%;
    height:auto;
    border-radius:var(--r);
    display:block;
    margin:1.25em 0;
}
.prose figure{
    margin:1.5em 0;
}
.prose figcaption{
    font-size:.78rem;
    color:var(--muted);
    text-align:center;
    margin-top:.5em;
}

.prose mark{
    background:rgba(232,24,92,.14);
    color:var(--burg-d);
    padding:.05em .25em;
    border-radius:2px;
}

.prose kbd{
    background:var(--bg);
    border:1px solid var(--border);
    border-bottom-width:2px;
    border-radius:var(--r-xs);
    padding:.1em .4em;
    font-size:.82em;
    font-family:inherit;
    color:var(--text);
}

.prose abbr[title]{
    text-decoration:underline dotted;
    cursor:help;
    color:var(--muted);
}

.prose details{
    border:1px solid var(--border);
    border-radius:var(--r-sm);
    padding:.65em 1em;
    margin:1em 0;
}
.prose summary{
    font-family:var(--ff);
    font-weight:700;
    font-size:.9rem;
    color:var(--burg);
    cursor:pointer;
    user-select:none;
    list-style:none;
    display:flex;
    align-items:center;
    gap:.5rem;
}
.prose summary::before{
    content:'▶';
    font-size:.65rem;
    transition:transform var(--t);
    color:var(--muted);
    flex-shrink:0;
}
.prose details[open] summary::before{ transform:rotate(90deg); }
.prose details[open] summary{ margin-bottom:.5em; }

@media (max-width: 768px) {
    .header__lower {
        position: static;
    }
}


.container{width:100%;margin-left:auto;margin-right:auto;padding-left:1rem;padding-right:1rem;}

.container--default{max-width:1280px;margin:0 auto;padding:1.5rem 1.25rem 4rem;}
.container--no-pb{padding-bottom:0;}
.container--no-pt{padding-top:0;}
.container--pt-sm{padding-top:.75rem;}


.page-body{flex:1;background:var(--bg);overflow-x:clip;}


.sg-section{margin-bottom:3.5rem;}
.sg-section:last-child{margin-bottom:0;}
.sg-section__title{font-family:var(--ff);font-size:1.1rem;font-weight:800;color:var(--text);margin-bottom:.3rem;display:flex;align-items:center;gap:.6rem;}
.sg-section__title::after{content:'';flex:1;height:1px;background:var(--border);}
.sg-section__desc{font-size:.8rem;color:var(--muted);margin-bottom:1.25rem;}


.bp-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:.5rem;}
.bp-card{background:var(--white);border:1px solid var(--border);border-radius:var(--r-sm);padding:.75rem .5rem;text-align:center;}
.bp-card__name{font-family:var(--ff);font-size:.7rem;font-weight:800;color:var(--burg);margin-bottom:.2rem;}
.bp-card__px{font-family:var(--ff);font-size:.85rem;font-weight:700;color:var(--text);}
.bp-card__dev{font-size:.65rem;color:var(--muted);margin-top:.15rem;}
.bp-card__icon{font-size:1.2rem;margin-bottom:.3rem;}


.colors-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(90px,1fr));gap:.75rem;}
.color-swatch{border-radius:var(--r-sm);overflow:hidden;border:1px solid var(--border);}
.color-swatch__block{height:60px;}
.color-swatch__info{padding:.4rem .5rem;background:var(--white);}
.color-swatch__name{font-family:var(--ff);font-size:.68rem;font-weight:700;color:var(--text);}
.color-swatch__hex{font-size:.65rem;color:var(--muted);font-family:monospace;}


.type-row{padding:.6rem 0;border-bottom:1px solid var(--border);display:flex;align-items:baseline;gap:1rem;}
.type-row:last-child{border-bottom:none;}
.type-row__meta{font-size:.7rem;color:var(--muted);font-family:var(--ff);font-weight:600;min-width:100px;flex-shrink:0;}
.type-row__sample{flex:1;}
.type-row__sample--h1{font-family:var(--ff);font-size:2rem;font-weight:800;line-height:1.2;}
.type-row__sample--h2{font-family:var(--ff);font-size:1.5rem;font-weight:800;line-height:1.25;}
.type-row__sample--h3{font-family:var(--ff);font-size:1.2rem;font-weight:700;line-height:1.3;}
.type-row__sample--small{font-size:.85rem;color:var(--muted);}
.type-row__sample--caption{font-size:.72rem;font-weight:600;font-family:var(--ff);text-transform:uppercase;letter-spacing:.08em;color:var(--muted);}


.btn--sm.btn svg{width:13px;height:13px;}








.btn--primary{background:var(--grad);color:#fff;box-shadow:0 2px 10px rgba(232,24,92,.25);}
.btn--primary:hover{opacity:.88;box-shadow:0 4px 18px rgba(232,24,92,.36);}
.btn--ghost{background:transparent;color:var(--burg);border:1.5px solid var(--burg);}
.btn--ghost:hover{background:rgba(139,26,74,.05);}
.btn--muted{background:var(--bg);color:var(--muted);border:1.5px solid var(--border);}
.btn--muted:hover{border-color:var(--burg);color:var(--burg);}
.btn--danger{background:#fee2e2;color:#b91c1c;border:1.5px solid #fca5a5;}
.btn--danger:hover{background:#fecaca;}
.btn--success{background:#d8f3d8;color:#1b5e20;border:1.5px solid #57b357;}
.btn--success:hover{background:#c5ecc5;}
.btn--icon{padding:.5rem;border-radius:50%;width:38px;height:38px;justify-content:center;}
.btn--sm{font-size:.78rem;padding:.38rem .85rem;}
.btn--lg{font-size:1rem;padding:.7rem 1.6rem;}

.btn--cart{background:var(--grad);color:#fff;box-shadow:0 2px 8px rgba(232,24,92,.22);}
.btn--added{background:#f0e8ec;color:var(--burg);border:1px solid #d4a0b5;}
.btn--bought{background:#d8f3d8;color:#1b5e20;}
.btn--view{background:var(--bg);color:var(--text);border:1px solid var(--border);}
.btn--download{background:var(--bg);color:var(--text);border:1px solid var(--border);}




.btn--primary{background:var(--grad);color:#fff;box-shadow:0 2px 10px rgba(232,24,92,.25);}
.btn--primary:hover{opacity:.88;box-shadow:0 4px 18px rgba(232,24,92,.36);}
.btn--ghost{background:transparent;color:var(--burg);border:1.5px solid var(--burg);}
.btn--ghost:hover{background:rgba(139,26,74,.05);}
.btn--muted{background:var(--bg);color:var(--muted);border:1.5px solid var(--border);}
.btn--muted:hover{border-color:var(--burg);color:var(--burg);}
.btn--danger{background:#fee2e2;color:#b91c1c;border:1.5px solid #fca5a5;}
.btn--danger:hover{background:#fecaca;}
.btn--success{background:#d8f3d8;color:#1b5e20;border:1.5px solid #57b357;}
.btn--success:hover{background:#c5ecc5;}
.btn--icon{padding:.5rem;border-radius:50%;width:38px;height:38px;justify-content:center;}
.btn--sm{font-size:.68rem;padding:.3rem .7rem;height:26px;}
.btn--lg{font-size:.875rem;font-weight:700;padding:.55rem 1.25rem;height:auto;gap:.4rem;}
.btn--lg svg{width:16px;height:16px;}
.btn--cart{background:var(--grad);color:#fff;box-shadow:0 2px 8px rgba(232,24,92,.22);}
.btn--added{background:#f0e8ec;color:var(--burg);border:1px solid #d4a0b5;}
.btn--bought{background:#d8f3d8;color:#1b5e20;}
.btn--view{background:var(--bg);color:var(--text);border:1px solid var(--border);}
.btn--download{background:var(--bg);color:var(--text);border:1px solid var(--border);}


.btn-grid{display:flex;flex-wrap:wrap;gap:.75rem;align-items:center;}

.btn{position: relative;display:inline-flex;align-items:center;justify-content:center;gap:5px;height:32px;padding:0 12px;border-radius:var(--r-sm);border:none;font-family:var(--ff);font-size:.75rem;font-weight:700;cursor:pointer;white-space:nowrap;flex-shrink:0;transition:opacity var(--t),filter var(--t);text-decoration:none;}
.btn:hover{opacity:.85;}
.btn svg{width:14px;height:14px;stroke:currentColor;fill:none;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round;}

.btn--cart{background:var(--grad);color:#fff;box-shadow:0 2px 8px rgba(232,24,92,.22);}
.btn--added{background:#f0e8ec;color:var(--burg);border:1px solid #d4a0b5;}
.btn--bought{background:#d8f3d8;color:#1b5e20;}
.btn--view{background:var(--bg);color:var(--text);border:1px solid var(--border);}
.btn--download{background:var(--bg);color:var(--text);border:1px solid var(--border);}

.btn--primary{background:var(--grad);color:#fff;box-shadow:0 2px 10px rgba(232,24,92,.25);}
.btn--primary:hover{opacity:.88;box-shadow:0 4px 18px rgba(232,24,92,.36);}
.btn--ghost{background:transparent;color:var(--burg);border:1.5px solid var(--burg);}
.btn--ghost:hover{background:rgba(139,26,74,.05);}
.btn--muted{background:var(--bg);color:var(--muted);border:1.5px solid var(--border);}
.btn--muted:hover{border-color:var(--burg);color:var(--burg);}
.btn--danger{background:#fee2e2;color:#b91c1c;border:1.5px solid #fca5a5;}
.btn--danger:hover{background:#fecaca;}
.btn--success{background:#d8f3d8;color:#1b5e20;border:1.5px solid #57b357;}
.btn--success:hover{background:#c5ecc5;}
.btn--icon{padding:.5rem;border-radius:50%;width:38px;height:38px;justify-content:center;}
.btn--sm{font-size:.68rem;padding:.3rem .7rem;height:26px;}
.btn--lg{font-size:.875rem;padding:.55rem 1.25rem;height:auto;gap:.4rem;}
.btn--lg.btn svg{width:16px;height:16px;}

.card .btn{position:relative;z-index:2;}

.badge-grid{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center;}
.badge{display:inline-flex;align-items:center;gap:.3rem;padding:.2rem .55rem;border-radius:50px;font-size:.72rem;font-weight:700;font-family:var(--ff);}
.badge svg{width:11px;height:11px;stroke:currentColor;fill:none;stroke-width:2.5;}
.badge--primary{background:var(--grad);color:#fff;}
.badge--burg-soft{background:rgba(139,26,74,.1);color:var(--burg);}
.badge--new{background:#e8f5e9;color:#2e7d32;}
.badge--sale{background:var(--pink);color:#fff;}
.badge--hit{background:linear-gradient(135deg,#f5a623,#e8185c);color:#fff;}
.badge--info{background:#e3f2fd;color:#1565c0;}
.badge--warn{background:#fdf6e3;color:#8a5c00;}
.badge--neutral{background:var(--bg);color:var(--muted);border:1px solid var(--border);}


.form-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:1rem;align-items:start;}
.form-group{display:flex;flex-direction:column;gap:.35rem;}
.form{display:flex;flex-direction:column;gap:.85rem;}
.form-label{font-size:.78rem;font-weight:700;font-family:var(--ff);color:var(--text);min-height:1.2em;}
.form-label span{color:var(--pink);margin-left:.15rem;}
.form-input{width:100%;border:1.5px solid var(--border);border-radius:var(--r-sm);padding:.55rem .75rem;font-size:.875rem;font-family:var(--ff-body);color:var(--text);outline:none;background:var(--white);transition:border-color var(--t),box-shadow var(--t);}
.form-input:focus{border-color:var(--burg-l);box-shadow:0 0 0 3px rgba(139,26,74,.10);}
.form-input--error{border-color:#e53e3e;}
.form-input--success{border-color:#38a169;}
.field-error-msg{font-size:.72rem;color:#e53e3e;font-family:var(--ff-body);margin-top:.2rem;}
.field-success-msg{font-size:.72rem;color:#38a169;font-family:var(--ff-body);margin-top:.2rem;}
textarea.form-input{resize:vertical;min-height:100px;line-height:1.6;}
.form-hint{font-size:.72rem;color:var(--muted);}
.form-hint--error{color:#e53e3e;}
.form-hint--success{color:#38a169;}
.form-select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24'%3E%3Cpolyline points='6 9 12 15 18 9' stroke='%237a5060' stroke-width='2' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .75rem center;padding-right:2rem;}


.check-group{display:flex;flex-direction:column;gap:.5rem;}
.check-item{display:flex;align-items:center;gap:.55rem;cursor:pointer;user-select:none;}
.check-item input[type=checkbox]{
    appearance:none;-webkit-appearance:none;
    width:18px;height:18px;flex-shrink:0;
    border:1.5px solid var(--border);border-radius:4px;
    background:var(--white);cursor:pointer;
    transition:background var(--t),border-color var(--t);
    position:relative;
}
.check-item input[type=checkbox]:checked{background:var(--burg);border-color:var(--burg);}
.check-item input[type=checkbox]:checked::after{
    content:'';position:absolute;
    left:4px;top:1px;
    width:6px;height:10px;
    border:2px solid #fff;border-top:none;border-left:none;
    transform:rotate(45deg);
}
.check-item input[type=checkbox]:focus-visible{box-shadow:0 0 0 3px rgba(139,26,74,.15);}
.check-item__label{font-size:.85rem;color:var(--text);font-family:var(--ff-body);}
.check-item__label a{color:var(--burg);text-decoration:underline;text-underline-offset:2px;}




.alert-grid{display:flex;flex-direction:column;gap:.65rem;}
.alert{display:flex;align-items:flex-start;gap:.75rem;padding:.75rem 1rem;border-radius:var(--r-sm);border:1px solid transparent;}
.alert svg{width:18px;height:18px;flex-shrink:0;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;margin-top:.05rem;}
.alert__text{flex:1;font-size:.83rem;font-family:var(--ff-body);line-height:1.5;}
.alert__title{font-family:var(--ff);font-weight:700;font-size:.83rem;margin-bottom:.15rem;}
.alert--info{background:#e3f2fd;border-color:#90caf9;color:#1565c0;}
.alert--success{background:#e8f5e9;border-color:#a5d6a7;color:#2e7d32;}
.alert--warn{background:#fdf6e3;border-color:#f6d86e;color:#8a5c00;}
.alert--error{background:#fce8e8;border-color:#f5aaaa;color:#b91c1c;}


.tags-row{display:flex;flex-wrap:wrap;gap:.4rem;}
.tag{display:inline-flex;align-items:center;padding:.22rem .6rem;border-radius:50px;font-size:.75rem;font-weight:600;font-family:var(--ff);cursor:pointer;transition:all var(--t);}
.tag--outline{border:1.5px solid var(--border);color:var(--muted);background:none;}
.tag--outline:hover{border-color:var(--burg);color:var(--burg);}
.tag--filled{background:rgba(139,26,74,.09);border:1px solid rgba(139,26,74,.18);color:var(--burg);}
.tag--filled:hover{background:rgba(139,26,74,.15);}
.tag--solid{background:var(--burg);color:#fff;border:1px solid var(--burg);}
.tag--solid:hover{background:var(--burg-d);}


.dividers-col{display:flex;flex-direction:column;gap:1rem;}
hr.divider{border:none;border-top:1px solid var(--border);}
hr.divider--dashed{border-top-style:dashed;}
hr.divider--thick{border-top-width:2px;border-color:var(--burg);}
hr.divider--grad{border:none;height:2px;background:var(--grad);}


.avatars-row{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap;}
.avatar{border-radius:50%;border:2px solid var(--white);box-shadow:0 0 0 1.5px var(--border);object-fit:cover;flex-shrink:0;}
.avatar--xs{width:24px;height:24px;}
.avatar--sm{width:32px;height:32px;}
.avatar--md{width:48px;height:48px;}
.avatar--lg{width:64px;height:64px;}
.avatar--xl{width:80px;height:80px;}
.avatar-stack{display:flex;}
.avatar-stack .avatar{margin-left:-10px;}
.avatar-stack .avatar:first-child{margin-left:0;}
.avatar-placeholder{background:var(--grad);color:#fff;font-family:var(--ff);font-weight:800;display:flex;align-items:center;justify-content:center;font-size:.85rem;}


.icons-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(80px,1fr));gap:.5rem;}
.icon-cell{display:flex;flex-direction:column;align-items:center;gap:.35rem;padding:.6rem .3rem;background:var(--white);border:1px solid var(--border);border-radius:var(--r-sm);}
.icon-cell svg{width:22px;height:22px;stroke:var(--burg);fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;}
.icon-cell span{font-size:.6rem;color:var(--muted);font-family:var(--ff);text-align:center;}


.stars-row{display:flex;gap:2px;}
.star-icon{width:18px;height:18px;}
.star-icon path{fill:#f5a623;}
.star-icon.empty path{fill:var(--border);}


.progress{height:8px;background:var(--border);border-radius:4px;overflow:hidden;margin:.25rem 0;}
.progress__fill{height:100%;background:var(--grad);border-radius:4px;}
.skel{background:linear-gradient(90deg,var(--bg) 25%,var(--border) 50%,var(--bg) 75%);background-size:200% 100%;animation:shim 1.5s infinite;border-radius:4px;}
@keyframes shim{0%{background-position:200% 0}100%{background-position:-200% 0}}


.footer{background:var(--white);border-top:1px solid var(--border);}
.footer__seo{max-width:1280px;margin:0 auto;padding:2.5rem 1.25rem 2rem;display:grid;grid-template-columns:repeat(4,1fr);gap:2rem;}
.footer__col-title{font-family:var(--ff);font-size:.8rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em;color:var(--burg);margin-bottom:.85rem;padding-bottom:.5rem;border-bottom:2px solid var(--border);}
.footer__links{list-style:none;display:flex;flex-direction:column;gap:.4rem;}
.footer__links a{font-size:.8rem;color:var(--muted);text-decoration:none;font-family:var(--ff-body);line-height:1.4;transition:color var(--t);}
.footer__links a:hover{color:var(--burg);}
.footer__mid{border-top:1px solid var(--border);max-width:1280px;margin:0 auto;padding:1.5rem 1.25rem;display:flex;align-items:flex-start;gap:2rem;flex-wrap:wrap;}
.footer__quick{display:flex;gap:3rem;flex-wrap:wrap;flex:1;}
.footer__quick-col h4{font-family:var(--ff);font-size:.75rem;font-weight:800;text-transform:uppercase;letter-spacing:.07em;color:var(--text);margin-bottom:.6rem;}
.footer__quick-col ul{list-style:none;display:flex;flex-direction:column;gap:.35rem;}
.footer__quick-col a{font-size:.78rem;color:var(--muted);text-decoration:none;transition:color var(--t);}
.footer__quick-col a:hover{color:var(--burg);}
.footer__social{display:flex;flex-direction:column;align-items:flex-end;gap:.75rem;margin-left:auto;flex-shrink:0;}
.social-icons{display:flex;gap:.5rem;}
.social-icon{width:36px;height:36px;display:flex;align-items:center;justify-content:center;color:#fff;text-decoration:none;overflow:hidden;box-shadow:0 4px 12px rgba(13,0,26,.14);transition:transform var(--t),box-shadow var(--t),opacity var(--t);}
.social-icon--max{border-radius:10px;}
.social-icon--vk{border-radius:50%;}
.social-icon:hover{color:#fff;transform:translateY(-2px);box-shadow:0 7px 18px rgba(13,0,26,.22);}
.social-icon:active{transform:translateY(0);}
.social-icon:focus-visible{outline:3px solid rgba(139,26,74,.24);outline-offset:3px;}
.social-icon img,.social-icon svg{display:block;width:36px;height:36px;}
.social-icon--vk circle{fill:#0077ff;}
.social-icon--vk path{fill:#fff;}
.footer__bottom{border-top:1px solid var(--border);background:var(--bg-light);}
.footer__bottom-inner{max-width:1280px;margin:0 auto;padding:1rem 1.25rem;display:flex;align-items:center;gap:1rem;flex-wrap:wrap;}
.footer__copyright{font-size:.72rem;color:var(--muted);line-height:1.6;flex:1;}
.footer__copyright a{color:var(--burg);text-decoration:none;}
.footer__legal{display:flex;gap:1.25rem;flex-wrap:wrap;}
.footer__legal a{font-size:.72rem;color:var(--muted);text-decoration:none;transition:color var(--t);}
.footer__legal a:hover{color:var(--burg);}


@media(max-width:1024px){
    .footer__seo{grid-template-columns:repeat(2,1fr);}
    .catalog-menu{width:500px;}
    .catalog-panel__grid{grid-template-columns:1fr;}
    .bp-grid{grid-template-columns:repeat(4,1fr);}
}
@media(max-width:768px){

    .search-wrap.search-wrap--inline{display:none;}

    .header__search-sticky{
        display:block;
        position:absolute;
        top:100%;
        left:0;right:0;
        z-index:198;
        box-shadow:0 4px 16px rgba(139,26,74,.10);
    }
    .header__main{padding:0 1rem;gap:.75rem;height:56px;}
    .nav-item__label{display:none;}
    .nav-item{padding:.4rem .5rem;}
    .header__sub-inner{padding:0 1rem;}

    .header__nav{margin-left:auto;}
    .footer__seo{grid-template-columns:1fr 1fr;gap:1.25rem;padding:1.75rem 1rem 1.5rem;}
    .footer__mid{padding:1.25rem 1rem;}
    .footer__social{margin-left:0;width:100%;flex-direction:row;align-items:center;justify-content:space-between;}
    .footer__bottom-inner{padding:.875rem 1rem;flex-direction:column;align-items:flex-start;gap:.5rem;}
    .bp-grid{grid-template-columns:repeat(3,1fr);}
}
@media(max-width:560px){
    .logo__text{display:none;}
    .btn-catalog span{display:none;}
    .footer__seo{grid-template-columns:1fr 1fr;gap:1rem;padding:1.5rem .875rem;}
    .footer__quick{display:none;}
    .footer__bottom-inner{padding:.75rem .875rem;}
    .bp-grid{grid-template-columns:repeat(2,1fr);}
    .colors-grid{grid-template-columns:repeat(auto-fill,minmax(75px,1fr));}
}


*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
:root{
    --burg:#8b1a4a; --burg-d:#6a1238; --burg-l:#b52460;
    --pink:#e8185c;
    --grad:linear-gradient(135deg,#e8185c 0%,#8b1a4a 100%);
    --white:#fff; --bg:#f7f3f5; --bg-light:#fdf9fb;
    --text:#1a0a10; --muted:#7a5060; --border:#ead5dd;
    --shadow-sm:0 2px 8px rgba(139,26,74,.08);
    --shadow-md:0 6px 24px rgba(139,26,74,.13);
    --r:10px; --r-sm:6px; --r-xs:4px;
    --ff:'Nunito',sans-serif; --ff-body:'Nunito Sans',sans-serif;
    --t:150ms ease;
    --sidebar:260px;
}
body{font-family:var(--ff-body);background:var(--bg);color:var(--text);min-height:100vh;}




.page-breadcrumbs{min-width:0;max-width:100%;overflow:hidden;}
.breadcrumb{display:flex;align-items:center;gap:.35rem;flex-wrap:nowrap;min-width:0;overflow:hidden;margin-bottom:.65rem;white-space:nowrap;}
.breadcrumb a{font-size:.76rem;color:var(--muted);text-decoration:none;transition:color var(--t);white-space:nowrap;flex:0 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;}
.breadcrumb a:hover{color:var(--burg);}
.breadcrumb__sep{font-size:.72rem;color:var(--muted);flex:0 0 auto;}
.breadcrumb__current{font-size:.76rem;color:var(--burg);font-weight:600;white-space:nowrap;min-width:0;overflow:hidden;text-overflow:ellipsis;flex:1 1 auto;}


.page-h1{font-family:var(--ff);font-size:clamp(1.35rem,3vw,1.75rem);font-weight:800;color:var(--text);margin-bottom:0;line-height:1.2;}


.catalog-layout{display:grid;grid-template-columns:var(--sidebar) 1fr;gap:1.5rem;align-items:start;}

.preloader {
    position: absolute;
    inset: 0;
    z-index: 100;

    display: none;
    align-items: center;
    justify-content: center;

    padding: 1rem;

    background: rgba(247, 243, 245, .84);
    backdrop-filter: blur(3px);

    border-radius: var(--r);

    visibility: hidden;
    pointer-events: none;
}

.preloader.show {
    display:flex;
    visibility: visible;
    pointer-events: all;
}

.preloader__panel {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: .75rem;
    min-width: 150px;
    padding: 1.1rem 1.25rem;
}

.preloader__text {
    font-family: var(--ff);
    font-size: .78rem;
    font-weight: 700;
    line-height: 1.4;
    text-align: center;
    color: var(--muted);
}

.sk-fading-circle {
    position: relative;

    width: 52px;
    height: 52px;
    flex-shrink: 0;
}

.sk-fading-circle .sk-circle {
    position: absolute;
    inset: 0;
}

.sk-fading-circle .sk-circle::before {
    content: '';

    display: block;

    width: 12%;
    height: 12%;
    margin: 0 auto;

    background: var(--grad);
    border-radius: 50%;

    box-shadow: 0 2px 7px rgba(139, 26, 74, .2);

    animation:
            sk-fading-circle-delay
            1.2s
            infinite
            ease-in-out
            both;
}

.sk-fading-circle .sk-circle-1 {
    transform: rotate(0deg);
}

.sk-fading-circle .sk-circle-2 {
    transform: rotate(30deg);
}

.sk-fading-circle .sk-circle-3 {
    transform: rotate(60deg);
}

.sk-fading-circle .sk-circle-4 {
    transform: rotate(90deg);
}

.sk-fading-circle .sk-circle-5 {
    transform: rotate(120deg);
}

.sk-fading-circle .sk-circle-6 {
    transform: rotate(150deg);
}

.sk-fading-circle .sk-circle-7 {
    transform: rotate(180deg);
}

.sk-fading-circle .sk-circle-8 {
    transform: rotate(210deg);
}

.sk-fading-circle .sk-circle-9 {
    transform: rotate(240deg);
}

.sk-fading-circle .sk-circle-10 {
    transform: rotate(270deg);
}

.sk-fading-circle .sk-circle-11 {
    transform: rotate(300deg);
}

.sk-fading-circle .sk-circle-12 {
    transform: rotate(330deg);
}

.sk-fading-circle .sk-circle-1::before {
    animation-delay: -1.1s;
}

.sk-fading-circle .sk-circle-2::before {
    animation-delay: -1s;
}

.sk-fading-circle .sk-circle-3::before {
    animation-delay: -.9s;
}

.sk-fading-circle .sk-circle-4::before {
    animation-delay: -.8s;
}

.sk-fading-circle .sk-circle-5::before {
    animation-delay: -.7s;
}

.sk-fading-circle .sk-circle-6::before {
    animation-delay: -.6s;
}

.sk-fading-circle .sk-circle-7::before {
    animation-delay: -.5s;
}

.sk-fading-circle .sk-circle-8::before {
    animation-delay: -.4s;
}

.sk-fading-circle .sk-circle-9::before {
    animation-delay: -.3s;
}

.sk-fading-circle .sk-circle-10::before {
    animation-delay: -.2s;
}

.sk-fading-circle .sk-circle-11::before {
    animation-delay: -.1s;
}

.sk-fading-circle .sk-circle-12::before {
    animation-delay: 0s;
}

@keyframes sk-fading-circle-delay {
    0%,
    39%,
    100% {
        opacity: .12;
        transform: scale(.65);
    }

    40% {
        opacity: 1;
        transform: scale(1);
    }
}

@media (prefers-reduced-motion: reduce) {
    .sk-fading-circle .sk-circle::before {
        animation-duration: 2.4s;
    }

    .preloader {
        transition: none;
    }
}

.sidebar{position:sticky;top:1rem;}

.filter{
    background:var(--white);
    border:1px solid var(--border);
    border-radius:var(--r);
    overflow:hidden;
}
.filter__head{
    padding:.75rem 1rem;
    border-bottom:1px solid var(--border);
    display:flex;align-items:center;justify-content:space-between;
}
.filter__title{font-family:var(--ff);font-size:.82rem;font-weight:800;color:var(--text);}
.filter__reset{
    font-family:var(--ff);font-size:.72rem;font-weight:700;
    color:var(--muted);background:none;border:none;cursor:pointer;
    transition:color var(--t);padding:0;
}
.filter__reset:hover{color:var(--burg);}


.filter__section{padding:.85rem 1rem;}
.filter__section + .filter__section{border-top:1px solid var(--border);}
.filter__section-label{
    font-family:var(--ff);font-size:.68rem;font-weight:800;
    text-transform:uppercase;letter-spacing:.08em;
    color:var(--muted);margin-bottom:.65rem;
}
.filter__section .form-group{margin-bottom:.65rem;}
.filter__section .form-group:last-child{margin-bottom:0;}
.filter__section .form-label{font-size:.76rem;}
.filter__section .multiselect-input{display:block;margin-bottom:.65rem;}
.filter__section .multiselect-input:last-child{margin-bottom:0;}
.filter__section .multiselect-tags{margin-top:.4rem;}

@media(min-width:769px){
    .catalog-layout,
    .catalog-layout .sidebar,
    .catalog-layout .filter,
    .catalog-layout .filter__section{overflow:visible;}

    .catalog-layout .sidebar{z-index:30;}
    .catalog-layout .filter{position:relative;z-index:30;}
    .catalog-layout .filter__section .multiselect-input,
    .catalog-layout .filter__section .select-wrapper{position:relative;z-index:1;}
    .catalog-layout .filter__section .multiselect-input:focus-within,
    .catalog-layout .filter__section .select-wrapper:focus-within{z-index:60;}
    .catalog-layout .filter .multiselect-dropdown,
    .catalog-layout .filter .select-dropdown{z-index:80;}
}

.multiselect-input label,
.single-select label{display:block;font-size:.78rem;font-weight:700;font-family:var(--ff);color:var(--text);margin-bottom:.35rem;min-height:1.2em;}


.price-range{display:flex;flex-direction:column;gap:.65rem;}
.price-inputs{display:flex;align-items:center;gap:.45rem;}
.price-input-wrap{flex:1;display:flex;flex-direction:column;gap:.2rem;}
.price-input-wrap label{font-size:.67rem;color:var(--muted);font-family:var(--ff);font-weight:600;text-transform:uppercase;letter-spacing:.05em;}
.price-input-wrap input{
    width:100%;height:32px;
    border:1px solid var(--border);border-radius:var(--r-xs);
    padding:0 .55rem;
    font-size:.8rem;font-family:var(--ff-body);color:var(--text);
    background:var(--bg-light);outline:none;
    transition:border-color var(--t);
}
.price-input-wrap input:focus{border-color:var(--burg-l);}
.price-sep{color:var(--muted);font-size:.85rem;padding-top:1.1rem;flex-shrink:0;}


.range-wrap{position:relative;height:20px;display:flex;align-items:center;}
.range-track{
    position:absolute;left:0;right:0;height:4px;
    background:var(--border);border-radius:2px;
    pointer-events:none;
}
.range-fill{
    position:absolute;height:4px;
    background:var(--grad);border-radius:2px;
    pointer-events:none;
}
input[type=range].range-input{
    position:absolute;width:100%;
    -webkit-appearance:none;appearance:none;
    background:transparent;pointer-events:none;
    height:4px;outline:none;
}
input[type=range].range-input::-webkit-slider-thumb{
    -webkit-appearance:none;appearance:none;
    width:16px;height:16px;border-radius:50%;
    background:var(--white);
    border:2px solid var(--burg);
    cursor:pointer;pointer-events:all;
    transition:box-shadow var(--t);
    position:relative;z-index:2;
}
input[type=range].range-input::-webkit-slider-thumb:hover{box-shadow:0 0 0 4px rgba(139,26,74,.15);}
input[type=range].range-input::-moz-range-thumb{
    width:16px;height:16px;border-radius:50%;
    background:var(--white);border:2px solid var(--burg);
    cursor:pointer;pointer-events:all;
}


.free-check{
    display:flex;align-items:center;gap:.55rem;
    padding:.55rem .65rem;
    background:var(--bg-light);
    border:1px solid var(--border);border-radius:var(--r-sm);
    cursor:pointer;
    transition:border-color var(--t),background var(--t);
    user-select:none;
}
.free-check:hover{border-color:var(--burg-l);}
.free-check.is-checked{background:rgba(139,26,74,.05);border-color:rgba(139,26,74,.3);}
.free-check__box{
    width:18px;height:18px;flex-shrink:0;
    border:1.5px solid var(--border);border-radius:4px;
    display:flex;align-items:center;justify-content:center;
    background:var(--white);
    transition:background var(--t),border-color var(--t);
}
.free-check.is-checked .free-check__box{background:var(--burg);border-color:var(--burg);}
.free-check__box svg{width:11px;height:11px;stroke:#fff;fill:none;stroke-width:2.5;stroke-linecap:round;opacity:0;transition:opacity var(--t);}
.free-check.is-checked .free-check__box svg{opacity:1;}
.free-check__label{font-family:var(--ff);font-size:.8rem;font-weight:700;color:var(--text);}


.catalog-main{}


.sort-select{display:none;}
.sort-filter-btn{display:none;}

.sort-bar{
    display:flex;align-items:center;gap:.5rem;
    padding:.5rem .75rem;
    background:var(--white);border:1px solid var(--border);border-radius:var(--r);
    margin-bottom:.85rem;flex-wrap:wrap;
}
.sort-bar__label{font-family:var(--ff);font-size:.72rem;font-weight:700;color:var(--muted);white-space:nowrap;flex-shrink:0;}
.sort-options{display:flex;gap:.25rem;flex-wrap:wrap;flex:1;}
.sort-btn{
    padding:.22rem .6rem;border-radius:50px;
    border:1.5px solid var(--border);background:none;
    font-size:.72rem;font-weight:700;font-family:var(--ff);color:var(--muted);
    cursor:pointer;transition:all var(--t);white-space:nowrap;
}
.sort-btn:hover{border-color:var(--burg);color:var(--burg);}
.sort-btn.is-active{background:var(--burg);border-color:var(--burg);color:#fff;}
.sort-bar__count{margin-left:auto;font-size:.72rem;color:var(--muted);font-family:var(--ff);white-space:nowrap;flex-shrink:0;}
.sort-bar__count strong{color:var(--burg);}


.cards-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;min-width:0;}


a.card{text-decoration:none;color:inherit;display:flex;flex-direction:column;}
.card{
    background:var(--white);border:1px solid var(--border);border-radius:var(--r);
    overflow:hidden;display:flex;flex-direction:column;position:relative;
    width:100%;min-width:0;
    transition:box-shadow var(--t),transform var(--t);cursor:pointer;
}
.card:hover{box-shadow:var(--shadow-md);transform:translateY(-2px);}
.card__img-wrap{width:100%;aspect-ratio:3/4;overflow:hidden;flex-shrink:0;position:relative;font-size:0;line-height:0;box-shadow:inset 0 -1px 0 var(--border);background:#fff;}
.card__img{width:100%;height:100%;object-fit:cover;display:block;}
.card__img--native-3x4{width:auto;height:auto;max-width:100%;max-height:100%;object-fit:contain;}
.card__format{position:absolute;bottom:7px;right:7px;background:rgba(26,10,16,.62);backdrop-filter:blur(4px);color:#fff;font-family:var(--ff);font-size:.65rem;font-weight:700;padding:.4rem .8rem;border-radius:50px;}
.card__badges{position:absolute;top:8px;left:8px;display:flex;flex-direction:column;gap:4px;z-index:1;}
.badge{display:inline-flex;align-items:center;gap:3px;padding:.18rem .5rem;border-radius:50px;font-family:var(--ff);font-size:.65rem;font-weight:700;width:fit-content;line-height:1.3;}
.badge--free {background:#d8f3d8;color:#1b5e20;}
.badge--hit  {background:var(--burg);color:#fff;}
.badge--new  {background:#dbeafe;color:#1e40af;}
.badge--sale {background:var(--pink);color:#fff;}
.badge--pdf  {background:rgba(255,255,255,.88);color:var(--muted);border:1px solid var(--border);backdrop-filter:blur(4px);}
.card__fav{position:absolute;top:8px;right:8px;z-index:2;width:28px;height:28px;border-radius:50%;background:rgba(255,255,255,.9);border:1px solid var(--border);display:flex;align-items:center;justify-content:center;cursor:pointer;backdrop-filter:blur(4px);transition:border-color var(--t),background var(--t);}
.card__fav:hover{border-color:var(--pink);}
.card__fav svg{width:14px;height:14px;stroke:var(--muted);fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;}
.card__fav.is-fav svg{stroke:var(--pink);fill:var(--pink);}
.card .card__fav{z-index:2;}
.card__body{padding:10px 10px 0;flex:1;display:flex;flex-direction:column;gap:4px;}
.card__type{font-size:.67rem;font-weight:700;font-family:var(--ff);text-transform:uppercase;letter-spacing:.07em;color:var(--muted);}
.card__title{font-family:var(--ff);font-size:.88rem;font-weight:700;color:var(--text);line-height:1.3;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;}
.card__author{display:flex;align-items:center;gap:5px;font-size:.72rem;color:var(--muted);font-family:var(--ff-body);}
.card__author svg{width:12px;height:12px;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0;}
.card__author-avatar{width:18px;height:18px;border-radius:50%;object-fit:cover;flex-shrink:0;border:1px solid var(--border);}
.card__meta{display:flex;align-items:center;gap:5px;margin-top:1px;}
.card__rating{display:flex;align-items:center;gap:2px;font-family:var(--ff);font-size:.75rem;font-weight:700;color:var(--text);}
.card__rating svg{width:11px;height:11px;}
.card__rating svg path{fill:#f5a623;}
.card__reviews{font-size:.7rem;color:var(--muted);}
.card__footer{padding:8px 10px 10px;display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:auto;}
.price-block{display:flex;flex-direction:column;gap:1px;}
.price{font-family:var(--ff);font-size:1rem;font-weight:800;color:var(--text);line-height:1;}
.price-old{font-size:.7rem;color:var(--muted);text-decoration:line-through;}
.price-row{display:flex;align-items:baseline;gap:4px;}
.price-discount{font-size:.7rem;font-weight:700;color:var(--pink);font-family:var(--ff);}
.price-free{font-family:var(--ff);font-size:.9rem;font-weight:700;color:#1b5e20;}


@media(max-width:1100px){
    :root{--sidebar:220px;}
    .cards-grid{grid-template-columns:repeat(2,1fr);}
}
@media(max-width:768px){
    .catalog-layout{grid-template-columns:1fr;}
    .sidebar{display:none;}
    .cards-grid{grid-template-columns:repeat(2,1fr);}
    .sort-bar{padding:.45rem .6rem;gap:.5rem;flex-wrap:nowrap;}
    .sort-bar__label{display:none;}
    .sort-bar__count{display:none;}
    .sort-options{display:none;}
    .sort-select{
        display:block;flex:1;min-width:0;
        height:32px;padding:0 1.8rem 0 .65rem;
        border:1.5px solid var(--border);border-radius:var(--r-sm);
        background:var(--bg-light);
        color:var(--text);font-family:var(--ff);font-size:.78rem;font-weight:700;
        cursor:pointer;outline:none;appearance:none;
        background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='10' viewBox='0 0 24 24'%3E%3Cpolyline points='6 9 12 15 18 9' stroke='%237a5060' stroke-width='2.5' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");
        background-repeat:no-repeat;background-position:right 6px center;
    }
    .sort-filter-btn{
        display:inline-flex;align-items:center;gap:.35rem;
        height:32px;padding:0 .75rem;
        background:var(--bg-light);border:1.5px solid var(--border);border-radius:var(--r-sm);
        font-family:var(--ff);font-size:.78rem;font-weight:700;color:var(--text);
        cursor:pointer;white-space:nowrap;flex-shrink:0;
    }
    .sort-filter-btn svg{stroke:var(--muted);}
}
@media(max-width:480px){
    .cards-grid{grid-template-columns:1fr;}
    .container--default{padding:1rem .5rem 1rem;}
}

@media(max-width:480px){
    .container--no-pb{padding-top:.75rem;}
    .breadcrumb{margin-bottom:.35rem;}
    .container--no-pb + .container--default{padding-top:.5rem;}
}
.filter-drawer-overlay{display:none;position:fixed;inset:0;background:rgba(26,10,16,.45);z-index:490;backdrop-filter:blur(2px);}
.filter-drawer{
    display:none;position:fixed;bottom:0;left:0;right:0;z-index:491;
    background:var(--white);border-radius:var(--r) var(--r) 0 0;
    max-height:90vh;flex-direction:column;
    transform:translateY(100%);transition:transform 280ms cubic-bezier(.4,0,.2,1);
}
.filter-drawer.is-visible{display:flex;}
.filter-drawer-overlay.is-visible{display:block;}
.filter-drawer.is-open{transform:translateY(0);}
.filter-drawer-overlay.is-open{opacity:1;}
.filter-drawer__head{display:flex;align-items:center;justify-content:space-between;padding:.85rem 1rem;border-bottom:1px solid var(--border);flex-shrink:0;}
.filter-drawer__title{font-family:var(--ff);font-size:.95rem;font-weight:800;color:var(--text);}
.filter-drawer__close{width:32px;height:32px;border-radius:50%;border:1px solid var(--border);background:none;cursor:pointer;display:flex;align-items:center;justify-content:center;color:var(--muted);}
.filter-drawer__close:hover{border-color:var(--burg);color:var(--burg);}
.filter-drawer__body{flex:1;overflow-y:auto;padding:.25rem 1rem;}
.filter-drawer__footer{display:flex;gap:.75rem;padding:.85rem 1rem;border-top:1px solid var(--border);flex-shrink:0;}
.filter-drawer__reset{flex:1;height:44px;background:none;border:1.5px solid var(--border);border-radius:var(--r-sm);font-family:var(--ff);font-size:.8rem;font-weight:700;color:var(--muted);cursor:pointer;}
.filter-drawer__reset:hover{border-color:var(--burg);color:var(--burg);}
.filter-drawer__apply{flex:2;height:44px;background:var(--grad);border:none;border-radius:var(--r-sm);font-family:var(--ff);font-size:.875rem;font-weight:700;color:#fff;cursor:pointer;}
.filter-drawer__apply:hover{opacity:.9;}

.filter-drawer__body .filter__head{display:none;}
.filter-drawer__body .filter{border:none;border-radius:0;}
.filter-drawer__body .filter__section{padding:.75rem 0;}

.pagination{display:flex;align-items:center;justify-content:center;gap:.25rem;flex-wrap:wrap;padding:1.5rem 0;}
.page-btn{
    display:inline-flex;align-items:center;justify-content:center;
    min-width:36px;height:36px;padding:0 .5rem;
    border-radius:var(--r-sm);border:1.5px solid var(--border);
    background:var(--white);
    font-family:var(--ff);font-size:.82rem;font-weight:700;color:var(--muted);
    cursor:pointer;text-decoration:none;
    transition:border-color var(--t),color var(--t),background var(--t);
    flex-shrink:0;
}
.page-btn:hover{border-color:var(--burg);color:var(--burg);}
.page-btn.is-active{background:var(--burg);border-color:var(--burg);color:#fff;cursor:default;}
.page-btn.is-disabled{opacity:.35;pointer-events:none;}
.page-btn--prev svg,.page-btn--next svg{width:14px;height:14px;stroke:currentColor;fill:none;stroke-width:2.5;stroke-linecap:round;}
.page-ellipsis{display:inline-flex;align-items:center;justify-content:center;min-width:36px;height:36px;font-family:var(--ff);font-size:.82rem;font-weight:700;color:var(--muted);}

.btn-preloader__content {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: inherit;
}

/*
 * Общий компактный прелоадер для кнопок.
 * Цвет наследуется от кнопки.
 */
.btn-preloader {
    position: absolute;
    top: 50%;
    left: 50%;

    display: none;

    width: 16px;
    height: 16px;
    margin-top: -8px;
    margin-left: -8px;

    border: 2px solid currentColor;
    border-bottom-color: transparent;
    border-radius: 50%;

    animation: btn-preloader-rotation .7s linear infinite;
}

.btn.is-loading,
.btn[data-loading="true"] {
    cursor: wait;
    pointer-events: none;
}

.btn.is-loading .btn-preloader__content,
.btn[data-loading="true"] .btn-preloader__content {
    visibility: hidden;
}

.btn.is-loading .btn-preloader,
.btn[data-loading="true"] .btn-preloader {
    display: block;
}

/*
 * На градиентной кнопке делаем кольцо мягче.
 */
.btn--primary .btn-preloader,
.btn--cart .btn-preloader {
    border-color: rgba(255, 255, 255, .4);
    border-bottom-color: var(--white);
}

.btn--ghost .btn-preloader,
.btn--muted .btn-preloader {
    border-color: rgba(139, 26, 74, .25);
    border-bottom-color: var(--burg);
}

@keyframes btn-preloader-rotation {
    to {
        transform: rotate(360deg);
    }
}

@media (prefers-reduced-motion: reduce) {
    .btn-preloader {
        animation-duration: 1.4s;
    }
}
/* Common checkbox */
.form-check-card {
    position: relative;
    display: inline-flex;
    align-items: center;
    width: fit-content;
    gap: .55rem;
    padding: 0;
    background: transparent;
    border: 0;
    border-radius: 0;
    cursor: pointer;
    user-select: none;
}

.form-check-card__input {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    opacity: 0;
    pointer-events: none;
}

.form-check-card__box {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 18px;
    height: 18px;
    flex: 0 0 18px;
    border: 1.5px solid var(--border);
    border-radius: 4px;
    background: var(--white);
    transition: background var(--t), border-color var(--t), box-shadow var(--t);
}

.form-check-card__box svg {
    width: 11px;
    height: 11px;
    fill: none;
    stroke: #fff;
    stroke-width: 2.5;
    stroke-linecap: round;
    stroke-linejoin: round;
    opacity: 0;
    transition: opacity var(--t);
}

.form-check-card__input:focus-visible + .form-check-card__box {
    box-shadow: 0 0 0 3px rgba(139, 26, 74, .15);
}

.form-check-card__input:checked + .form-check-card__box {
    background: var(--burg);
    border-color: var(--burg);
}

.form-check-card__input:checked + .form-check-card__box svg {
    opacity: 1;
}

.form-check-card__text {
    color: var(--text);
    font-family: var(--ff);
    font-size: .8rem;
    line-height: 1.35;
    font-weight: 700;
}

.footer__feedback-link {
    padding: 0;
    border: 0;
    background: transparent;
    color: var(--muted);
    font: inherit;
    font-size: .72rem;
    cursor: pointer;
    transition: color var(--t);
}

.footer__feedback-link:hover,
.footer__feedback-link:focus-visible {
    color: var(--burg);
}


/* Public material card: shared visual rules regardless of parent listing component. */
.card--material .card__catalog-meta{
    display:block;
    min-width:0;
    margin-top:1px;
    overflow:hidden;
    color:var(--muted);
    font-family:var(--ff-body);
    font-size:12px;
    line-height:1.35;
    text-overflow:ellipsis;
    white-space:nowrap;
}
.card--material .card__catalog-meta-separator{
    margin:0 4px;
    color:var(--border-dark,#b7a8ae);
}
.card--material .card__author{margin-top:5px;}

/* Favourites renders catalog.item directly, so its grid must not depend on catalog.list assets. */
.cards-grid.favourites-page__grid{
    grid-template-columns:repeat(4,minmax(0,1fr));
}

@media(max-width:900px){
    .cards-grid.favourites-page__grid{
        grid-template-columns:repeat(2,minmax(0,1fr));
    }
}

@media(max-width:480px){
    /* Standard public material listings use the same dense mobile grid everywhere. */
    .cards-grid--public-materials{
        grid-template-columns:repeat(2,minmax(0,1fr));
        gap:9px;
    }

    .cards-grid.favourites-page__grid{
        grid-template-columns:repeat(2,minmax(0,1fr));
        gap:9px;
    }

    .card--material{border-radius:12px;}
    .card--material:hover{transform:none;}
    .card--material .card__body{
        gap:3px;
        padding:8px 7px 0;
    }
    .card--material .card__title{
        min-height:2.5em;
        font-size:12.5px;
        line-height:1.25;
        -webkit-line-clamp:2;
    }
    .card--material .card__catalog-meta{font-size:10.5px;}
    .card--material .card__author{display:none;}
    .card--material .card__fav{
        top:6px;
        right:6px;
        width:40px;
        height:40px;
    }
    .card--material .card__fav svg{
        width:17px;
        height:17px;
    }
    .card--material .card__footer{
        display:grid;
        grid-template-columns:minmax(0,1fr) 100px;
        align-items:center;
        column-gap:10px;
        padding:7px 7px 8px;
    }
    .card--material .card__footer .price-block,
    .card--material .card__footer .price-free{
        min-width:0;
        justify-self:stretch;
        text-align:center;
    }
    .card--material .card__footer .btn{
        width:80px;
        min-width:80px;
        height:38px;
        min-height:38px;
        justify-self:end;
        display:inline-flex;
        align-items:center;
        justify-content:center;
        padding:0;
        gap:0;
        line-height:0;
    }
    .card--material .card__footer .btn svg{
        display:block;
        width:17px;
        height:17px;
        flex:0 0 17px;
        margin:0;
        transform:none;
    }
    .card--material .card__action-label{
        position:absolute!important;
        width:1px!important;
        height:1px!important;
        padding:0!important;
        margin:-1px!important;
        overflow:hidden!important;
        clip:rect(0,0,0,0)!important;
        white-space:nowrap!important;
        border:0!important;
    }
    .card--material .price{font-size:14px;}
    .card--material .price-free{font-size:12px;}
}

/* End */


/* Start:/local/templates/main/assets/css/popup.css?178884972025180*/
/* =============================================================
   MODALS.CSS — адаптирован под ТУТОРРА
   Подключать после tutorra.css
============================================================= */

/* ─── Маппинг токенов библиотеки на наши переменные ─── */
:root {
    --clr-burgundy:    var(--burg);
    --clr-burgundy-dk: var(--burg-d);
    --clr-burgundy-lt: var(--burg-l);
    --clr-burgundy-bg: var(--bg-light);
    --clr-white:       var(--white);
    --clr-text:        var(--text);
    --clr-muted:       var(--muted);
    --clr-border:      var(--border);
    --clr-success:     #1b5e20;
    --radius:          var(--r-xs);
    --radius-lg:       var(--r);
    --shadow-overlay:  var(--shadow-md);
    --t-fast:          var(--t);
    --t-base:          280ms cubic-bezier(.4,0,.2,1);
    --t-spring:        320ms cubic-bezier(.34,1.56,.64,1);
    --ff-display:      var(--ff);
    --fs-lg:           1.25rem;
    --fs-sm:           .875rem;
    --fs-xs:           .75rem;
    --sp-1: .25rem; --sp-2: .5rem;  --sp-3: .75rem;
    --sp-4: 1rem;   --sp-5: 1.25rem;--sp-6: 1.5rem;
    --sp-8: 2rem;
}

/* ─── .btn блок намеренно удалён — используем tutorra.css ─── */

/* ─────────────────────────────────────────
   CLOSE BUTTON
───────────────────────────────────────── */
.close-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 32px;
    height: 32px;
    border-radius: 50%;
    color: var(--muted);
    background: none;
    border: 1px solid var(--border);
    cursor: pointer;
    flex-shrink: 0;
    transition: background var(--t), color var(--t), border-color var(--t);
}
.close-btn:hover {
    background: var(--bg);
    color: var(--burg);
    border-color: var(--burg);
}
.close-btn svg {
    width: 16px;
    height: 16px;
    stroke: currentColor;
    fill: none;
    stroke-width: 2;
    stroke-linecap: round;
    pointer-events: none;
}

/* ─────────────────────────────────────────
   OVERLAY
───────────────────────────────────────── */
.modal-overlay {
    position: fixed;
    inset: 0;
    padding-right: calc(var(--scrollbar-w, 0px) + 1rem);
    padding-left: 1rem;
    padding-top: 1rem;
    padding-bottom: 1rem;
    z-index: 1000;
    background: rgba(26,10,16,.55);
    backdrop-filter: blur(4px);
    -webkit-backdrop-filter: blur(4px);
    display: flex;
    align-items: center;
    justify-content: center;
    opacity: 0;
    pointer-events: none;
    transition: opacity var(--t-base);
}
.modal-overlay.is-open {
    opacity: 1;
    pointer-events: all;
}

/* ─────────────────────────────────────────
   MODAL PANEL
───────────────────────────────────────── */
.modal {
    background: var(--white);
    border-radius: var(--r);
    box-shadow: var(--shadow-md);
    width: 100%;
    max-height: calc(100dvh - 2rem);
    overflow-y: auto;
    overscroll-behavior: contain;
    display: flex;
    flex-direction: column;
    opacity: 0;
    transition: opacity 120ms ease;
}
.modal-overlay.is-open .modal { opacity: 1; }

.modal--sm  { max-width: 400px; }
.modal--md  { max-width: 560px; }
.modal--lg  { max-width: 720px; }
.modal--xl  { max-width: 900px; }

.modal--fullscreen {
    max-width: none;
    width: 100%;
    height: 100dvh;
    max-height: 100dvh;
    border-radius: 0;
}
.modal-overlay:has(.modal--fullscreen) { padding: 0; }

/* ─────────────────────────────────────────
   MODAL HEADER
───────────────────────────────────────── */
.modal__header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1rem;
    padding: 1.5rem 1.5rem 1.25rem;
    border-bottom: 1px solid var(--border);
    flex-shrink: 0;
}
.modal__header-left {
    display: flex;
    align-items: flex-start;
    gap: 1rem;
}
.modal__icon {
    width: 40px;
    height: 40px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}
.modal__icon svg {
    width: 20px;
    height: 20px;
}
.modal__title {
    font-family: var(--ff);
    font-size: 1.15rem;
    font-weight: 800;
    line-height: 1.25;
    color: var(--text);
}
.modal__subtitle {
    font-size: .82rem;
    color: var(--muted);
    margin-top: .25rem;
    font-family: var(--ff-body);
}

/* ─────────────────────────────────────────
   MODAL BODY
───────────────────────────────────────── */
.modal__body {
    padding: 1.5rem;
    flex: 1;
}
.modal__body p {
    font-size: .875rem;
    color: var(--muted);
    line-height: 1.7;
    font-family: var(--ff-body);
}
.modal__body p + p { margin-top: 1rem; }

/* ─────────────────────────────────────────
   MODAL FOOTER
───────────────────────────────────────── */
.modal__footer {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: flex-end;
    gap: .75rem;
    padding: 1.25rem 1.5rem;
    border-top: 1px solid var(--border);
    flex-shrink: 0;
}
.modal__footer--space { justify-content: space-between; }

/* ─────────────────────────────────────────
   MODAL CONFIRM
───────────────────────────────────────── */
.modal--confirm .modal__header { display: none; }
.modal--confirm .modal__body {
    text-align: center;
    padding: 2rem 1.5rem 1.5rem;
}
.modal--confirm .modal__icon {
    width: 56px;
    height: 56px;
    margin-inline: auto;
    margin-bottom: 1rem;
}
.modal--confirm .modal__icon svg { width: 24px; height: 24px; }
.modal--confirm .modal__title { margin-bottom: .75rem; }
.modal--confirm .modal__footer { justify-content: center; }

/* ─────────────────────────────────────────
   ICON VARIANTS
───────────────────────────────────────── */
.icon--burgundy { background: var(--bg-light); }
.icon--burgundy svg { stroke: var(--burg); fill: none; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }

.icon--info    { background: #edf2fb; }
.icon--info svg    { stroke: #1a3d6e; fill: none; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }

.icon--success { background: #e8f5e9; }
.icon--success svg { stroke: #1b5e20; fill: none; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }

.icon--warning { background: #fdf6e3; }
.icon--warning svg { stroke: #8a5c00; fill: none; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }

.icon--danger  { background: var(--bg-light); }
.icon--danger svg  { stroke: var(--burg); fill: none; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }

/* ─────────────────────────────────────────
   TOAST STACK
───────────────────────────────────────── */
#toast-stack {
    position: fixed;
    top: 1.25rem;
    right: 1.25rem;
    z-index: 1100;
    display: flex;
    flex-direction: column;
    gap: .75rem;
    width: min(380px, calc(100vw - 2.5rem));
    pointer-events: none;
}

/* ─────────────────────────────────────────
   TOAST
───────────────────────────────────────── */
.toast {
    position: relative;
    display: flex;
    align-items: flex-start;
    gap: .75rem;
    padding: 1rem 1.25rem;
    border-radius: var(--r);
    overflow: hidden;
    background: var(--white);
    border: 1px solid var(--border);
    box-shadow: var(--shadow-md);
    pointer-events: all;
    animation: toastIn var(--t-spring) forwards;
}
.toast.is-leaving { animation: toastOut 260ms ease forwards; }

@keyframes toastIn {
    from { opacity: 0; transform: translateX(100%) scale(.95); }
    to   { opacity: 1; transform: translateX(0) scale(1); }
}
@keyframes toastOut {
    from { opacity: 1; transform: translateX(0); max-height: 120px; }
    to   { opacity: 0; transform: translateX(100%); max-height: 0; padding-block: 0; margin-bottom: -.75rem; overflow: hidden; }
}

.toast__icon {
    width: 32px;
    height: 32px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}
.toast__icon svg {
    width: 15px;
    height: 15px;
    fill: none;
    stroke-width: 2;
    stroke-linecap: round;
    stroke-linejoin: round;
}
.toast__content { flex: 1; min-width: 0; }
.toast__title   { font-size: .875rem; font-weight: 700; font-family: var(--ff); color: var(--text); line-height: 1.3; }
.toast__message { font-size: .75rem; color: var(--muted); margin-top: .25rem; line-height: 1.5; font-family: var(--ff-body); white-space: pre-line; }

.toast__close {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 24px;
    height: 24px;
    border-radius: 50%;
    color: var(--muted);
    background: none;
    border: none;
    cursor: pointer;
    flex-shrink: 0;
    transition: background var(--t), color var(--t);
}
.toast__close:hover { background: var(--bg); color: var(--burg); }
.toast__close svg {
    width: 12px;
    height: 12px;
    stroke: currentColor;
    fill: none;
    stroke-width: 2.5;
    stroke-linecap: round;
    pointer-events: none;
}
.toast__progress {
    position: absolute;
    bottom: 0;
    left: 0;
    height: 3px;
    width: 100%;
    background: var(--burg);
}

.toast--success .toast__icon     { background: #e8f5e9; }
.toast--success .toast__icon svg { stroke: #1b5e20; }
.toast--success .toast__progress { background: #1b5e20; }

.toast--error .toast__icon       { background: var(--bg-light); }
.toast--error .toast__icon svg   { stroke: var(--burg); }
.toast--error .toast__progress   { background: var(--burg); }

.toast--warning .toast__icon     { background: #fdf6e3; }
.toast--warning .toast__icon svg { stroke: #8a5c00; }
.toast--warning .toast__progress { background: #8a5c00; }

.toast--info .toast__icon        { background: #edf2fb; }
.toast--info .toast__icon svg    { stroke: #1a3d6e; }
.toast--info .toast__progress    { background: #1a3d6e; }

/* ─────────────────────────────────────────
   LIGHTBOX GALLERY
───────────────────────────────────────── */
.lightbox-gallery__close {
    position: absolute;
    top: 1.25rem;
    right: 1.25rem;
    z-index: 10;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    border-radius: 50%;
    background: rgba(255,255,255,.14);
    border: 1px solid rgba(255,255,255,.22);
    color: rgba(255,255,255,.85);
    cursor: pointer;
    backdrop-filter: blur(6px);
    -webkit-backdrop-filter: blur(6px);
    transition: background var(--t), color var(--t);
    user-select: none;
}
.lightbox-gallery__close:hover { background: rgba(255,255,255,.26); color: #fff; }
.lightbox-gallery__close:focus-visible { outline: none; }
.lightbox-gallery__close svg {
    width: 16px; height: 16px;
    stroke: currentColor; fill: none; stroke-width: 2; stroke-linecap: round; display: block;
}

.lightbox-gallery__arrow {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    z-index: 10;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 44px;
    height: 44px;
    border-radius: 50%;
    background: var(--white);
    border: none;
    color: var(--text);
    cursor: pointer;
    box-shadow: var(--shadow-sm);
    transition: background var(--t), color var(--t), box-shadow var(--t), opacity var(--t-base);
}
.lightbox-gallery__arrow:hover {
    background: var(--bg-light);
    color: var(--burg);
    box-shadow: var(--shadow-md);
}
.lightbox-gallery__arrow:disabled { opacity: .18; cursor: default; pointer-events: none; }
.lightbox-gallery__arrow svg {
    width: 18px; height: 18px;
    stroke: currentColor; fill: none; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; flex-shrink: 0;
}
.lightbox-gallery__arrow--prev { left:  1.25rem; }
.lightbox-gallery__arrow--next { right: 1.25rem; }

@media (max-width: 600px) {
    #lightbox-gallery { padding: .75rem; }
    .lightbox-gallery__arrow--prev { left:  .5rem; }
    .lightbox-gallery__arrow--next { right: .5rem; }
    .lightbox-gallery__arrow { width: 36px; height: 36px; }
    .lightbox-gallery__stage {
        touch-action: none;
        overscroll-behavior: contain;
    }
}

.lightbox-gallery {
    display: flex;
    flex-direction: column;
    align-items: center;
    width: 100%;
    max-width: min(1200px, calc(100vw - 8rem));
    transform: scale(.96);
    transition: transform var(--t-spring);
}
#lightbox-gallery.is-open .lightbox-gallery { transform: scale(1); }

@media (max-width: 600px) {
    .lightbox-gallery { max-width: calc(100vw - 5rem); }
}

.lightbox-gallery__slider { width: 100%; }

.lightbox-gallery__stage {
    overflow: hidden;
    border-radius: var(--r);
    user-select: none;
    -webkit-user-select: none;
    transform: translateZ(0);
    -webkit-transform: translateZ(0);
    isolation: isolate;
}

#lightbox-gallery { user-select: none; -webkit-user-select: none; }

.lightbox-gallery__track {
    display: flex;
    gap: 0;
    transition: transform 350ms cubic-bezier(.4,0,.2,1);
    will-change: transform;
}

@media (max-width: 600px), (pointer: coarse) {
    .lightbox-gallery__track {
        gap: 16px;
    }
}

.lightbox-gallery__slide {
    flex: 0 0 100%;
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 200px;
    max-height: 78dvh;
}
.lightbox-gallery__slide img {
    display: block;
    max-width: 100%;
    max-height: 78dvh;
    width: auto;
    height: auto;
    object-fit: contain;
    border-radius: var(--r);
    user-select: none;
    -webkit-user-drag: none;
    cursor: zoom-in;
}

#lightbox-gallery.is-zoomed { padding: 1.5rem; }
#lightbox-gallery.is-zoomed .lightbox-gallery { max-width: 100%; width: 100%; }
#lightbox-gallery.is-zoomed .lightbox-gallery__slider { width: 100%; }
#lightbox-gallery.is-zoomed .lightbox-gallery__stage { border-radius: 0; }
#lightbox-gallery.is-zoomed .lightbox-gallery__slide { height: auto; max-height: calc(100dvh - 3rem); }
#lightbox-gallery.is-zoomed .lightbox-gallery__slide img {
    max-height: calc(100dvh - 3rem);
    max-width: calc(100vw - 3rem);
    width: auto; height: auto;
    border-radius: 0;
    cursor: zoom-out;
}
#lightbox-gallery.is-zoomed .lightbox-gallery__caption,
#lightbox-gallery.is-zoomed .lightbox-gallery__thumbs,
#lightbox-gallery.is-zoomed .lightbox-gallery__dots { display: none; }
#lightbox-gallery.is-zoomed .lightbox-gallery__arrow {
    opacity: 0;
    pointer-events: none;
    transition: opacity var(--t-base);
}

@media (max-width: 600px) {
    /*
     * На touch-устройствах не меняем ширину slider/track при zoom.
     * Иначе translateX текущего слайда пересчитывается относительно новой
     * ширины и изображение может уехать за viewport. Увеличиваем только
     * изображение внутри неизменного stage.
     */
    #lightbox-gallery.is-zoomed {
        padding: .75rem;
    }
    #lightbox-gallery.is-zoomed .lightbox-gallery {
        width: 100%;
        max-width: calc(100vw - 5rem);
    }
    #lightbox-gallery.is-zoomed .lightbox-gallery__slider,
    #lightbox-gallery.is-zoomed .lightbox-gallery__stage {
        width: 100%;
    }
    #lightbox-gallery.is-zoomed .lightbox-gallery__stage {
        min-height: 0;
        display: block;
        overflow: hidden;
        border-radius: var(--r);
    }
    #lightbox-gallery.is-zoomed .lightbox-gallery__slide {
        min-height: 200px;
        height: auto;
        max-height: 78dvh;
    }
    .lightbox-gallery__slide img {
        transform: scale(1);
        transform-origin: 50% 50%;
        transition: transform 180ms cubic-bezier(.4,0,.2,1);
    }
    #lightbox-gallery.is-zoomed .lightbox-gallery__slide img {
        max-width: 100%;
        max-height: 78dvh;
        transform: scale(1.45);
    }
}


/*
 * Mobile zoom is rendered in its own fullscreen layer instead of enlarging
 * the active slide inside the track. This keeps neighbouring slides out of
 * view and prevents translateX of the carousel from shifting the zoomed image.
 */
.lightbox-gallery__mobile-zoom {
    position: fixed;
    inset: 0;
    z-index: 9;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    overscroll-behavior: contain;
    padding: env(safe-area-inset-top) env(safe-area-inset-right)
        env(safe-area-inset-bottom) env(safe-area-inset-left);
    background: rgba(12, 8, 10, .98);
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    touch-action: none;
    transition: opacity 160ms ease, visibility 0s linear 160ms;
}
.lightbox-gallery__mobile-zoom img {
    display: block;
    width: auto;
    height: auto;
    max-width: 92vw;
    max-height: 86dvh;
    object-fit: contain;
    border-radius: 0;
    user-select: none;
    -webkit-user-drag: none;
    transform: translate3d(0, 0, 0) scale(1);
    transform-origin: 50% 50%;
    transition: none;
    will-change: transform;
    cursor: grab;
}
.lightbox-gallery__mobile-zoom.is-animating img {
    transition: transform 180ms cubic-bezier(.4,0,.2,1);
}
.lightbox-gallery__mobile-zoom.is-manipulating img {
    transition: none;
    cursor: grabbing;
}
#lightbox-gallery.is-mobile-zoomed .lightbox-gallery__mobile-zoom {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    transition-delay: 0s;
}
#lightbox-gallery.is-mobile-zoomed .lightbox-gallery__arrow,
#lightbox-gallery.is-mobile-zoomed .lightbox-gallery__caption,
#lightbox-gallery.is-mobile-zoomed .lightbox-gallery__thumbs,
#lightbox-gallery.is-mobile-zoomed .lightbox-gallery__dots {
    opacity: 0;
    pointer-events: none;
}
#lightbox-gallery.is-mobile-zoomed .lightbox-gallery__close {
    z-index: 11;
}
@media (min-width: 601px) and (pointer: fine) {
    .lightbox-gallery__mobile-zoom {
        display: none;
    }
}

.lightbox-gallery__caption {
    font-size: .82rem;
    color: rgba(255,255,255,.5);
    font-family: var(--ff-body);
    margin-top: 1rem;
    text-align: center;
    min-height: 1.4em;
    transition: opacity 200ms ease;
}
.lightbox-gallery__caption.is-fading { opacity: 0; }

.lightbox-gallery__thumbs {
    display: flex;
    justify-content: center;
    gap: .5rem;
    margin-top: 1rem;
    overflow-x: auto;
    scrollbar-width: none;
    padding-bottom: 2px;
    max-width: 100%;
}
.lightbox-gallery__thumbs::-webkit-scrollbar { display: none; }

.lightbox-gallery__thumb {
    flex: 0 0 60px;
    height: 44px;
    border-radius: var(--r-xs);
    overflow: hidden;
    border: 2px solid transparent;
    cursor: pointer;
    opacity: .45;
    transition: opacity var(--t), border-color var(--t);
}
.lightbox-gallery__thumb img { width: 100%; height: 100%; object-fit: cover; display: block; pointer-events: none; }
.lightbox-gallery__thumb:hover { opacity: .75; }
.lightbox-gallery__thumb.is-active { opacity: 1; border-color: var(--burg-l); }

.lightbox-gallery__dots {
    display: flex;
    justify-content: center;
    gap: .4rem;
    margin-top: 1rem;
}
.lightbox-gallery__dot {
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: rgba(255,255,255,.25);
    cursor: pointer;
    transition: background var(--t), transform var(--t);
    border: none;
    padding: 0;
}
.lightbox-gallery__dot.is-active { background: #fff; transform: scale(1.35); }

/* ─────────────────────────────────────────
   TOAST NOTIFICATION — расширенный вариант
   С картинкой, длинным текстом и ссылкой
───────────────────────────────────────── */
.toast-notify {
    position: relative;
    display: flex;
    flex-direction: column;
    border-radius: var(--r);
    background: var(--white);
    border: 1px solid var(--border);
    box-shadow: var(--shadow-md);
    overflow: hidden;
    pointer-events: all;
    cursor: pointer;
    text-decoration: none;
    color: inherit;
    animation: toastIn var(--t-spring) forwards;
    transition: box-shadow var(--t), transform var(--t);
}
.toast-notify:hover {
    box-shadow: 0 8px 32px rgba(139,26,74,.18);
    transform: translateY(-1px);
}
.toast-notify.is-leaving { animation: toastOut 260ms ease forwards; }

.toast-notify__img {
    width: 100%;
    height: 120px;
    object-fit: cover;
    display: block;
    flex-shrink: 0;
}

.toast-notify__body {
    display: flex;
    align-items: flex-start;
    gap: .65rem;
    padding: .85rem 1rem;
}

.toast-notify__icon {
    width: 32px;
    height: 32px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    margin-top: .1rem;
}
.toast-notify__icon svg {
    width: 15px;
    height: 15px;
    fill: none;
    stroke-width: 2;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.toast-notify__content { flex: 1; min-width: 0; }
.toast-notify__title {
    font-size: .875rem;
    font-weight: 700;
    font-family: var(--ff);
    color: var(--text);
    line-height: 1.3;
}
.toast-notify__message {
    font-size: .78rem;
    color: var(--muted);
    margin-top: .3rem;
    line-height: 1.55;
    font-family: var(--ff-body);
    white-space: pre-line;
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
}
.toast-notify__link {
    font-size: .72rem;
    font-weight: 700;
    font-family: var(--ff);
    color: var(--burg);
    margin-top: .45rem;
    display: flex;
    align-items: center;
    gap: .25rem;
}
.toast-notify__link svg {
    width: 11px;
    height: 11px;
    stroke: currentColor;
    fill: none;
    stroke-width: 2.5;
    stroke-linecap: round;
}

.toast-notify__close {
    position: absolute;
    top: .5rem;
    right: .5rem;
    width: 26px;
    height: 26px;
    border-radius: 50%;
    background: rgba(255,255,255,.85);
    backdrop-filter: blur(4px);
    border: 1px solid var(--border);
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--muted);
    transition: background var(--t), color var(--t);
    z-index: 1;
}
.toast-notify__close:hover { background: var(--white); color: var(--burg); }
.toast-notify__close svg {
    width: 11px;
    height: 11px;
    stroke: currentColor;
    fill: none;
    stroke-width: 2.5;
    stroke-linecap: round;
    pointer-events: none;
}

.toast-notify__progress {
    position: absolute;
    bottom: 0;
    left: 0;
    height: 3px;
    width: 100%;
    background: var(--burg);
}

/* Варианты иконки */
.toast-notify--success .toast-notify__icon { background: #e8f5e9; }
.toast-notify--success .toast-notify__icon svg { stroke: #1b5e20; }
.toast-notify--success .toast-notify__progress { background: #1b5e20; }

.toast-notify--error .toast-notify__icon { background: var(--bg-light); }
.toast-notify--error .toast-notify__icon svg { stroke: var(--burg); }

.toast-notify--warning .toast-notify__icon { background: #fdf6e3; }
.toast-notify--warning .toast-notify__icon svg { stroke: #8a5c00; }
.toast-notify--warning .toast-notify__progress { background: #8a5c00; }

.toast-notify--info .toast-notify__icon { background: #edf2fb; }
.toast-notify--info .toast-notify__icon svg { stroke: #1a3d6e; }
.toast-notify--info .toast-notify__progress { background: #1a3d6e; }
/* End */


/* Start:/local/templates/main/assets/css/dynamic_html.css?17894848733646*/
/*
 * TUTORRA — Dynamic catalog HTML blocks
 * Used by DynamicCatalogPage HTML_BEFORE / HTML_AFTER.
 *
 * Depends only on global template tokens/classes from main.css:
 * --text, --muted, --burg, --white, --border, --ff, --ff-body, --t
 * and global .container / .container--default helpers.
 *
 * All component selectors are scoped with tutorra-dynamic-html__
 * to avoid collisions with the rest of the site.
 */

/* =========================
   Shared
   ========================= */

.tutorra-dynamic-html {
    width: 100%;
    color: var(--text);
    font-family: var(--ff-body, "Nunito Sans", sans-serif);
}

.tutorra-dynamic-html *,
.tutorra-dynamic-html *::before,
.tutorra-dynamic-html *::after {
    box-sizing: border-box;
}


/* =========================
   HTML_BEFORE
   Compact text below H1
   ========================= */

.tutorra-dynamic-html__before {
    width: 100%;
    padding: .65rem 0 1.25rem;
}

.tutorra-dynamic-html__before-text {
    max-width: 900px;
    margin: 0;
    color: var(--muted);
    font-family: var(--ff-body, "Nunito Sans", sans-serif);
    font-size: 15px;
    font-weight: 500;
    line-height: 1.6;
}

.tutorra-dynamic-html__before-tags {
    display: flex;
    flex-wrap: wrap;
    gap: .45rem;
    margin-top: .7rem;
}

.tutorra-dynamic-html__before-tag {
    display: inline-flex;
    min-height: 28px;
    align-items: center;
    padding: .25rem .65rem;
    border: 1px solid var(--border);
    border-radius: 50px;
    background: var(--white);
    color: var(--burg);
    font-family: var(--ff);
    font-size: .7rem;
    font-weight: 700;
    line-height: 1.4;
}


/* =========================
   HTML_AFTER
   SEO text + internal links
   ========================= */

.tutorra-dynamic-html__after {
    width: 100%;
    padding-bottom: 2.5rem;
}

.tutorra-dynamic-html__after-article {
    width: 100%;
    max-width: none;
}

.tutorra-dynamic-html__after-title {
    margin: 0;
    color: var(--text);
    font-family: var(--ff);
    font-size: clamp(22px, 2.2vw, 30px);
    font-weight: 800;
    letter-spacing: -.02em;
    line-height: 1.18;
}

.tutorra-dynamic-html__after-text {
    max-width: none;
    margin: 13px 0 0;
    color: var(--muted);
    font-family: var(--ff-body, "Nunito Sans", sans-serif);
    font-size: 16px;
    font-weight: 500;
    line-height: 1.62;
}

.tutorra-dynamic-html__after-text a {
    color: var(--burg);
}

.tutorra-dynamic-html__after-links {
    display: flex;
    flex-wrap: wrap;
    gap: 9px;
    margin-top: 20px;
}

.tutorra-dynamic-html__after-link {
    display: inline-flex;
    align-items: center;
    padding: 8px 12px;
    border: 1px solid var(--border);
    border-radius: 8px;
    background: var(--white);
    color: var(--burg);
    font-family: var(--ff-body, "Nunito Sans", sans-serif);
    font-size: 14px;
    line-height: 1.4;
    text-decoration: none;
    transition: border-color var(--t), background var(--t);
}

.tutorra-dynamic-html__after-link:hover {
    border-color: var(--burg);
    background: var(--white);
}

.tutorra-dynamic-html__after-link:focus-visible {
    outline: 3px solid rgba(139, 26, 74, .18);
    outline-offset: 3px;
}


/* =========================
   Responsive
   ========================= */

@media (max-width: 480px) {
    .tutorra-dynamic-html__before {
        padding: .45rem 0 1rem;
    }

    .tutorra-dynamic-html__before-text {
        font-size: 14px;
    }

    .tutorra-dynamic-html__after {
        padding-bottom: 1.75rem;
    }

    .tutorra-dynamic-html__after-title {
        font-size: 22px;
    }

    .tutorra-dynamic-html__after-text {
        font-size: 15px;
    }
}

/* End */


/* Start:/local/templates/main/assets/css/tabs.css?17792834842770*/
.js-tabs {
    visibility: hidden;
    border: 1px solid var(--border);
    border-radius: var(--r);
    overflow: hidden;
    background: var(--white);
}

.js-tabs__header {
    display: flex;
    border-bottom: 1px solid var(--border);
    background: var(--bg-light);
    overflow-x: auto;
    scrollbar-width: none;
}
.js-tabs__header::-webkit-scrollbar { display: none; }
.js-tabs__header:empty { display: none; }

.js-tabs__header [data-id] {
    padding: .65rem 1.1rem;
    border: none;
    background: none;
    cursor: pointer;
    font-size: .8rem;
    font-family: var(--ff);
    font-weight: 600;
    color: var(--muted);
    border-bottom: 2px solid transparent;
    white-space: nowrap;
    transition: color var(--t);
    text-decoration: none;
}
.js-tabs__header [data-id]:hover { color: var(--text); }
.js-tabs__header [data-id].is-active {
    color: var(--burg);
    font-weight: 700;
    border-bottom-color: var(--burg);
}

.js-tabs__body { position: relative; }

.js-tabs-slide {
    display: none;
    padding: 1.5rem;
    min-height: 140px;
}
.js-tabs-slide.is-active { display: block; }

.js-tabs-slide h3 {
    font-size: .9rem;
    font-weight: 700;
    font-family: var(--ff);
    color: var(--text);
    margin-bottom: .5rem;
}
.js-tabs-slide p {
    font-size: .875rem;
    color: var(--muted);
    line-height: 1.65;
    font-family: var(--ff-body);
}
.js-tabs-slide code {
    font-family: 'SFMono-Regular', Consolas, monospace;
    font-size: .82em;
    background: var(--bg);
    border: 1px solid var(--border);
    padding: .1em .4em;
    border-radius: var(--r-xs);
    color: var(--burg-d);
}

.js-tabs__footer {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: .65rem 1rem;
    border-top: 1px solid var(--border);
    background: var(--bg-light);
    min-height: 52px;
}

/* js-tabs__btn удалён — используются классы .btn .btn--ghost из tutorra.css */

/* Кнопки prev/next скрыты по умолчанию, появляются когда нужны */
[data-prev].btn,
[data-next].btn {
    visibility: hidden;
}
[data-prev].btn.is-visible,
[data-next].btn.is-visible {
    visibility: visible;
}

.js-tabs__counter {
    font-size: .75rem;
    color: var(--muted);
    font-family: var(--ff);
}

/* ─── Flat mode — без рамки и фона ─── */
.js-tabs--flat {
    border: none;
    border-radius: 0;
    background: transparent;
}
.js-tabs--flat .js-tabs__header {
    background: transparent;
    border-bottom: 1px solid var(--border);
}
.js-tabs--flat .js-tabs__footer {
    background: transparent;
    border-top: 1px solid var(--border);
}
.js-tabs--flat .js-tabs-slide {
    padding-left: 0;
    padding-right: 0;
}
/* End */


/* Start:/local/templates/main/assets/css/hint.css?17809121602718*/
.main-hint-tooltip {
    position: fixed;
    z-index: 1200;
    width: max-content;
    max-width: min(320px, calc(100vw - 16px));
    padding: .65rem .75rem;
    background: var(--bg-light);
    border: 1px solid var(--burg);
    border-radius: var(--r-sm);
    box-shadow: var(--shadow-md);
    color: var(--burg);
    font-family: var(--ff-body);
    font-size: .76rem;
    line-height: 1.5;
    white-space: normal;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transform: scale(.98);
    transform-origin: center;

    transition:
            opacity var(--t),
            visibility var(--t),
            transform var(--t);
}

.main-hint-tooltip.is-visible {
    opacity: 1;
    visibility: visible;
    transform: scale(1);
}

.main-hint-tooltip__title {
    margin-bottom: .25rem;
    font-family: var(--ff);
    font-size: .76rem;
    font-weight: 800;
    line-height: 1.35;
    color: var(--burg);
}

.main-hint-tooltip__content {
    color: var(--burg);
    white-space: pre-line;
}

.main-hint-tooltip__arrow {
    position: absolute;
    width: 9px;
    height: 9px;
    background: var(--bg-light);
    transform: rotate(45deg);
    border-bottom: 1px solid var(--burg);
    border-right: 1px solid var(--burg);
}

.main-hint-tooltip[data-position="top"]
.main-hint-tooltip__arrow {
    bottom: -5px;
    left: 50%;
    transform: translateX(-50%) rotate(45deg);
}

.main-hint-tooltip[data-position="bottom"]
.main-hint-tooltip__arrow {
    top: -5px;
    left: 50%;
    transform: translateX(-50%) rotate(45deg);
}

.main-hint-tooltip[data-position="left"]
.main-hint-tooltip__arrow {
    top: 50%;
    right: -5px;
    transform: translateY(-50%) rotate(45deg);
}

.main-hint-tooltip[data-position="right"]
.main-hint-tooltip__arrow {
    top: 50%;
    left: -5px;
    transform: translateY(-50%) rotate(45deg);
}

.main-hint-modal__content {
    font-family: var(--ff-body);
    font-size: .88rem;
    line-height: 1.65;
    color: var(--muted);
}

[data-main-tooltip] {
    cursor: help;
}

.hit-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 20px;
    height: 20px;
    flex-shrink: 0;

    color: var(--burg);

    transition:
            color var(--t),
            background var(--t),
            border-color var(--t),
            transform var(--t);
}

.hit-icon svg {
    width: 100%;
    height: 100%;
    fill: none;
}
.hit-icon__ring{
    stroke: currentColor;
}
.hit-icon__dot, .hit-icon__line{
    fill: currentColor;
}

.hit-icon:hover {
    color: var(--pink);
    transform: translateY(-1px);
}

.hit-icon--sm {
    width: 32px;
    height: 32px;
}

.hit-icon--sm svg {
    width: 17px;
    height: 17px;
}
/* End */


/* Start:/local/templates/main/assets/css/site-auth-modals.css?178844943812321*/
.site-required-agreement {
    display: grid;
    gap: 18px;
}

.site-required-agreement__text {
    color: var(--text);
    line-height: 1.55;
}

.site-required-agreement__list,
.site-checkout-auth-modal .auth-agreements {
    display: grid;
    gap: .65rem;
}

.site-required-agreement .auth-agreement,
.site-checkout-auth-modal .auth-agreement {
    position: relative;
    display: inline-flex;
    align-items: center;
    width: fit-content;
    gap: .55rem;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    cursor: pointer;
    user-select: none;
}

.site-required-agreement .auth-agreement__input,
.site-checkout-auth-modal .auth-agreement__input {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    opacity: 0;
    pointer-events: none;
}

.site-required-agreement .auth-agreement__box,
.site-checkout-auth-modal .auth-agreement__box {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 18px;
    height: 18px;
    flex: 0 0 18px;
    margin-top: 0;
    border: 1.5px solid var(--border);
    border-radius: 4px;
    background: var(--white);
    color: #fff;
    box-shadow: none;
    transition: background var(--t), border-color var(--t), box-shadow var(--t);
}

.site-required-agreement .auth-agreement__box svg,
.site-checkout-auth-modal .auth-agreement__box svg {
    display: block;
    width: 11px;
    height: 11px;
    fill: none;
    stroke: #fff;
    stroke-width: 2.5;
    stroke-linecap: round;
    stroke-linejoin: round;
    opacity: 0;
    transition: opacity var(--t);
}

.site-required-agreement .auth-agreement__box polyline,
.site-checkout-auth-modal .auth-agreement__box polyline {
    fill: none;
    stroke: currentColor;
    stroke-width: 2.5;
    stroke-linecap: round;
    stroke-linejoin: round;
    opacity: 1;
}

.site-required-agreement .auth-agreement__input:checked + .auth-agreement__box,
.site-checkout-auth-modal .auth-agreement__input:checked + .auth-agreement__box {
    background: var(--burg);
    border-color: var(--burg);
    box-shadow: none;
}

.site-required-agreement .auth-agreement__input:checked + .auth-agreement__box svg,
.site-checkout-auth-modal .auth-agreement__input:checked + .auth-agreement__box svg {
    opacity: 1;
}

.site-required-agreement .auth-agreement__input:focus-visible + .auth-agreement__box,
.site-checkout-auth-modal .auth-agreement__input:focus-visible + .auth-agreement__box {
    box-shadow: 0 0 0 3px rgba(139, 26, 74, .15);
}

.site-required-agreement .auth-agreement__text,
.site-checkout-auth-modal .auth-agreement__text {
    display: block;
    color: var(--text);
    font-family: var(--ff);
    font-size: .8rem;
    line-height: 1.35;
    font-weight: 700;
}

.site-required-agreement .auth-agreement__required,
.site-checkout-auth-modal .auth-agreement__required {
    margin-left: 3px;
    color: var(--burg);
    font-weight: 900;
}

.site-required-agreement .auth-agreement__link,
.site-checkout-auth-modal .auth-agreement__link {
    display: inline;
    margin-left: 0;
    color: var(--burg);
    font-weight: 800;
    text-decoration: underline;
    text-underline-offset: 2px;
    text-decoration-thickness: 1px;
}

.site-required-agreement .auth-agreement__link:hover,
.site-checkout-auth-modal .auth-agreement__link:hover {
    color: color-mix(in srgb, var(--burg) 78%, #000);
}

.site-required-agreement__message {
    padding: 12px 14px;
    border-radius: var(--r-xs);
    background: #fff1f1;
    color: #9f1d2a;
    border: 1px solid rgba(159, 29, 42, .18);
}

.site-required-agreement__submit {
    justify-self: start;
    width: auto;
    min-width: 180px;
    display: inline-flex;
    justify-content: center;
    text-align: center;
}

.site-checkout-auth-modal__note {
    margin: 0 0 18px;
    padding: 14px 16px;
    border: 1px solid rgba(139, 26, 74, .14);
    border-radius: var(--r-sm);
    background: rgba(139, 26, 74, .045);
    color: var(--text);
    font-family: var(--ff-body, var(--ff));
    font-size: .94rem;
    font-weight: 700;
    line-height: 1.5;
}

.site-checkout-auth-modal__note strong {
    display: block;
    margin-bottom: 4px;
    font-family: var(--ff);
    font-size: 1rem;
    font-weight: 900;
}

@media (max-width: 560px) {
    .site-required-agreement .auth-agreement__text,
    .site-checkout-auth-modal .auth-agreement__text {
        font-size: .8rem;
    }

    .site-required-agreement__submit {
        width: 100%;
        justify-self: stretch;
    }
}

/* Checkout auth flow: compact forms inside the order modal. */
.modal--checkout-auth {
    max-width: 520px;
}

.site-checkout-auth-modal .auth-card--checkout-choice,
.site-checkout-auth-modal .auth-card--checkout,
.site-checkout-auth-modal .auth-card--checkout-flow {
    max-width: 100%;
    margin: 0 auto;
}

.site-checkout-auth-modal .auth-card--checkout .auth-layout,
.site-checkout-auth-modal .auth-card--checkout-flow .auth-layout {
    display: block;
}

.site-checkout-auth-modal .auth-card--checkout .auth-layout__side,
.site-checkout-auth-modal .auth-card--checkout-flow .auth-layout__side {
    display: none;
}

.site-checkout-auth-modal .auth-panel__head {
    margin-bottom: 1rem;
}

.site-checkout-auth-modal .auth-checkout-choice {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: .75rem;
}

.site-checkout-auth-modal .auth-checkout-choice__button {
    min-height: 58px;
    justify-content: center;
    text-align: center;
    font-size: 1rem;
    line-height: 1.2;
    font-weight: 900;
}

.site-checkout-auth-modal .auth-checkout-choice__social {
    margin-top: 1.1rem;
    padding-top: 1rem;
    padding-bottom: .65rem;
    border-top: 1px solid color-mix(in srgb, var(--border, #eadde3) 86%, transparent);
}

.site-checkout-auth-modal .auth-checkout-choice__social .auth-socials__label {
    font-size: .85rem;
    text-align: center;
}

.site-checkout-auth-modal .auth-checkout-back {
    justify-self: start;
    width: fit-content;
    margin: 0 0 .75rem;
    padding: 0;
    border: 0;
    background: transparent;
    color: var(--burg);
    font: inherit;
    font-size: .82rem;
    font-weight: 800;
    text-align: left;
    cursor: pointer;
}

.site-checkout-auth-modal .auth-checkout-password-note {
    margin: -.1rem 0 .75rem;
    padding: .65rem .75rem;
    border-radius: var(--r-xs, 8px);
    background: color-mix(in srgb, var(--bg-light, #f7f4f5) 78%, #fff);
    color: var(--muted);
    font-size: .78rem;
    line-height: 1.4;
}

.site-checkout-auth-modal .auth-agreements {
    gap: .45rem;
}

.site-checkout-auth-modal .auth-agreement {
    gap: .45rem;
}

.site-checkout-auth-modal .auth-agreement__text {
    font-size: .75rem;
    line-height: 1.32;
    font-weight: 600;
}

.site-checkout-auth-modal .auth-registration-acceptance {
    margin: .45rem 0 .65rem;
    font-size: .74rem;
    line-height: 1.35;
    text-align: left;
}

.site-checkout-auth-modal .auth-checkout-acceptance {
    margin: -.15rem 0 .7rem;
    color: var(--text);
    font-size: .74rem;
    line-height: 1.38;
    font-weight: 600;
}

.site-checkout-auth-modal .auth-checkout-acceptance__own {
    display: block;
    margin-top: .3rem;
}

.site-checkout-auth-modal .auth-checkout-terms-error {
    margin: 0 0 .7rem;
    padding: .65rem .75rem;
    font-size: .76rem;
    line-height: 1.35;
}

.site-checkout-auth-modal .auth-layout__main {
    width: 100%;
}

@media (max-width: 560px) {
    .site-checkout-auth-modal .auth-checkout-choice {
        grid-template-columns: 1fr;
    }

    .site-checkout-auth-modal .auth-socials {
        width: 100%;
        gap: .65rem;
    }

    .site-checkout-auth-modal .auth-socials__list {
        display: grid;
        grid-template-columns: repeat(4, minmax(0, 1fr));
        gap: 6px;
        width: 100%;
    }

    .site-checkout-auth-modal .auth-social {
        width: 100%;
        min-width: 0;
        gap: .3rem;
    }

    .site-checkout-auth-modal .auth-social__icon {
        width: 44px;
        height: 44px;
        flex-basis: 44px;
    }

    .site-checkout-auth-modal .auth-social__text {
        max-width: 100%;
        font-size: 10px;
    }
}


/* Checkout registration: keep legal confirmations compact and visually secondary. */
.site-checkout-auth-modal .auth-agreements--compact {
    gap: .25rem;
    margin-top: .1rem;
}

.site-checkout-auth-modal .auth-agreement--compact {
    align-items: flex-start;
    gap: .45rem;
}

.site-checkout-auth-modal .auth-agreement--compact .auth-agreement__box {
    flex: 0 0 16px;
    width: 16px;
    height: 16px;
    margin-top: 1px;
}

.site-checkout-auth-modal .auth-agreement--compact .auth-agreement__box svg {
    width: 10px;
    height: 10px;
}

.site-checkout-auth-modal .auth-agreement--compact .auth-agreement__text {
    display: grid;
    gap: .12rem;
    color: var(--text);
    font-size: .76rem;
    line-height: 1.32;
    font-weight: 500;
}

.site-checkout-auth-modal .auth-agreement__title {
    font-size: .78rem;
    line-height: 1.28;
    font-weight: 700;
}

.site-checkout-auth-modal .auth-agreement__details--compact {
    display: block;
    color: var(--muted);
    font-size: .68rem;
    line-height: 1.3;
    font-weight: 400;
}

.site-checkout-auth-modal .auth-agreement--compact .auth-agreement__link,
.site-checkout-auth-modal .auth-checkout-acceptance .auth-agreement__link {
    font-weight: 600;
    text-decoration: none;
}

.site-checkout-auth-modal .auth-agreement--compact .auth-agreement__link:hover,
.site-checkout-auth-modal .auth-checkout-acceptance .auth-agreement__link:hover {
    text-decoration: underline;
    text-underline-offset: 2px;
}

.site-checkout-auth-modal .auth-checkout-acceptance {
    margin: .35rem 0 .55rem;
    color: var(--muted);
    font-size: .7rem;
    line-height: 1.38;
    font-weight: 400;
    text-align: center;
}

.site-checkout-auth-modal .auth-checkout-acceptance__own {
    margin-top: .22rem;
}

.site-checkout-auth-modal .auth-checkout-step-note {
    margin: 0 0 .75rem;
    color: var(--muted);
    font-size: .8rem;
    line-height: 1.4;
}

/* Invisible SmartCaptcha must not create an extra grid gap in checkout forms. */
.site-checkout-auth-modal .auth-form > .auth-captcha[data-smartcaptcha-invisible="Y"] {
    position: absolute;
    width: 0;
    height: 0;
    min-height: 0;
    margin: 0;
    padding: 0;
    overflow: hidden;
}


/* Checkout auth modal mobile polish: keep the existing flow, improve touch/keyboard UX. */
.site-checkout-auth-modal .auth-submit.is-loading {
    gap: .5rem;
    cursor: wait;
}

.site-checkout-auth-modal .auth-submit.is-loading::before {
    content: "";
    width: 14px;
    height: 14px;
    flex: 0 0 14px;
    border: 2px solid rgba(255, 255, 255, .45);
    border-top-color: currentColor;
    border-radius: 50%;
    animation: checkoutAuthSpin .7s linear infinite;
}

@keyframes checkoutAuthSpin {
    to { transform: rotate(360deg); }
}

@media (max-width: 560px) {
    .modal--checkout-auth {
        max-height: calc(100dvh - 12px - env(safe-area-inset-bottom, 0px));
    }

    .modal--checkout-auth .modal__header {
        position: sticky;
        top: 0;
        z-index: 4;
        align-items: center;
        padding: .65rem .8rem;
        background: var(--white);
    }

    .modal--checkout-auth .modal__header-left {
        align-items: center;
        gap: .5rem;
        min-width: 0;
    }

    .modal--checkout-auth .modal__icon,
    .modal--checkout-auth .modal__subtitle {
        display: none;
    }

    .modal--checkout-auth .modal__title {
        font-size: 1rem;
        line-height: 1.2;
    }

    .modal--checkout-auth .close-btn {
        width: 40px;
        height: 40px;
        flex: 0 0 40px;
    }

    .modal--checkout-auth .modal__body {
        padding: .9rem .9rem calc(.9rem + env(safe-area-inset-bottom, 0px));
    }

    .site-checkout-auth-modal .form-input,
    .site-checkout-auth-modal input.form-input,
    .site-checkout-auth-modal textarea.form-input,
    .site-checkout-auth-modal select.form-input {
        font-size: 16px;
    }

    .site-checkout-auth-modal .auth-checkout-back {
        display: inline-flex;
        align-items: center;
        min-height: 40px;
        margin: -.2rem 0 .45rem -6px;
        padding: 0 6px;
    }
}

/* End */


/* Start:/local/templates/main/assets/css/subscription-access.css?17842005941481*/
.subscription-plan-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.subscription-plan-card{display:flex;flex-direction:column;min-width:0;border:1px solid #e2e8f0;border-radius:18px;background:#fff;overflow:hidden;box-shadow:0 8px 24px rgba(15,23,42,.06)}.subscription-plan-card__image{display:block;aspect-ratio:16/9;background:#f1f5f9}.subscription-plan-card__image img{width:100%;height:100%;object-fit:cover}.subscription-plan-card__body{display:flex;flex:1;flex-direction:column;padding:20px}.subscription-plan-card__title{margin:0 0 12px;font-size:22px}.subscription-plan-card__title a{text-decoration:none;color:inherit}.subscription-plan-card__description{margin-bottom:18px;color:#475467}.subscription-plan-card__price{margin-top:auto;margin-bottom:16px;font-size:18px;font-weight:700}.subscription-plan-card__button{width:100%;justify-content:center;text-align:center}.subscription-access-modal__message{margin:0 0 20px;color:#344054;font-size:16px;line-height:1.55}.subscription-access-modal__empty{padding:24px;border:1px dashed #cbd5e1;border-radius:14px;text-align:center;color:#667085}.subscription-plan-grid--modal{grid-template-columns:repeat(2,minmax(0,1fr))}.subscription-plan-grid--modal .subscription-plan-card__title{font-size:20px}@media(max-width:980px){.subscription-plan-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:700px){.subscription-plan-grid,.subscription-plan-grid--modal{grid-template-columns:1fr}}

/* End */


/* Start:/local/templates/main/assets/css/cookie-consent.css?17887891388144*/
.cookie-consent__banner[hidden] {
    display: none !important;
}

.cookie-consent__banner {
    position: fixed;
    right: 20px;
    bottom: 20px;
    left: 20px;
    z-index: 1200;
    opacity: 0;
    transform: translateY(16px);
    transition: opacity 180ms ease, transform 180ms ease;
    pointer-events: none;
}

.cookie-consent__banner.is-visible {
    opacity: 1;
    transform: translateY(0);
    pointer-events: auto;
}

.cookie-consent__banner-content {
    display: flex;
    align-items: center;
    gap: 24px;
    width: min(1180px, 100%);
    margin: 0 auto;
    padding: 18px 20px;
    border: 1px solid var(--border);
    border-radius: 14px;
    background: var(--white);
    box-shadow: 0 14px 42px rgba(49, 15, 29, .18);
}

.cookie-consent__copy {
    min-width: 0;
    flex: 1;
}

.cookie-consent__title,
.cookie-consent__modal-title {
    margin: 0;
    color: var(--text);
    font-family: var(--ff);
    font-weight: 800;
}

.cookie-consent__title {
    margin-bottom: 4px;
    font-size: 1rem;
}

.cookie-consent__text,
.cookie-consent__modal-intro,
.cookie-consent__policy {
    margin: 0;
    color: var(--muted);
    font-size: .82rem;
    line-height: 1.5;
}

.cookie-consent a {
    color: var(--burg);
    font-weight: 700;
    text-decoration: none;
}

.cookie-consent a:hover {
    text-decoration: underline;
}

.cookie-consent__actions,
.cookie-consent__modal-actions {
    display: flex;
    align-items: center;
    gap: 10px;
    flex-wrap: wrap;
}

.cookie-consent__button {
    min-height: 40px;
    padding: 0 16px;
    border: 1.5px solid var(--border);
    border-radius: var(--r-sm);
    background: var(--white);
    color: var(--text);
    font-family: var(--ff);
    font-size: .78rem;
    font-weight: 800;
    cursor: pointer;
    transition: border-color var(--t), color var(--t), opacity var(--t), transform var(--t);
}

.cookie-consent__button:hover {
    border-color: var(--burg);
    color: var(--burg);
}

.cookie-consent__button:active {
    transform: translateY(1px);
}

.cookie-consent__button:focus-visible,
.cookie-consent__close:focus-visible,
.cookie-consent__category input:focus-visible + .cookie-consent__checkbox {
    outline: 3px solid rgba(139, 26, 74, .18);
    outline-offset: 2px;
}

.cookie-consent__button--primary {
    border-color: transparent;
    background: var(--grad);
    color: var(--white);
}

.cookie-consent__button--primary:hover {
    border-color: transparent;
    color: var(--white);
    opacity: .9;
}

.cookie-consent__button--link {
    padding-right: 6px;
    padding-left: 6px;
    border-color: transparent;
    background: transparent;
    color: var(--burg);
}

.cookie-consent__overlay[hidden] {
    display: none !important;
}

.cookie-consent__overlay {
    position: fixed;
    inset: 0;
    z-index: 1250;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 20px;
    background: rgba(26, 10, 16, .52);
    opacity: 0;
    pointer-events: none;
    transition: opacity 180ms ease;
}

.cookie-consent__overlay.is-visible {
    opacity: 1;
    pointer-events: auto;
}

.cookie-consent__modal {
    position: relative;
    z-index: 1;
    width: min(620px, 100%);
    max-height: calc(100vh - 40px);
    overflow-y: auto;
    padding: 24px;
    border-radius: 16px;
    background: var(--white);
    box-shadow: 0 24px 70px rgba(26, 10, 16, .28);
    transform: translateY(12px) scale(.985);
    transition: transform 180ms ease;
}

.cookie-consent__overlay.is-visible .cookie-consent__modal {
    transform: translateY(0) scale(1);
}

.cookie-consent__modal-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 18px;
    margin-bottom: 20px;
}

.cookie-consent__modal-title {
    margin-bottom: 6px;
    font-size: 1.3rem;
}

.cookie-consent__close {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 34px;
    height: 34px;
    flex: 0 0 34px;
    border: 1px solid var(--border);
    border-radius: 50%;
    background: var(--white);
    color: var(--muted);
    cursor: pointer;
}

.cookie-consent__close:hover {
    border-color: var(--burg);
    color: var(--burg);
}

.cookie-consent__close svg {
    width: 16px;
    height: 16px;
    fill: none;
    stroke: currentColor;
    stroke-width: 2;
    stroke-linecap: round;
}

.cookie-consent__categories {
    display: flex;
    flex-direction: column;
    gap: 12px;
    margin-bottom: 20px;
}

.cookie-consent__category {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    padding: 16px;
    border: 1.5px solid var(--border);
    border-radius: 12px;
    background: var(--bg-light);
    cursor: pointer;
}

.cookie-consent__category:hover {
    border-color: rgba(139, 26, 74, .45);
}

.cookie-consent__category--locked {
    cursor: default;
}

.cookie-consent__category-main {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    min-width: 0;
}

.cookie-consent__category input {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    opacity: 0;
}

.cookie-consent__checkbox {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 20px;
    height: 20px;
    flex: 0 0 20px;
    margin-top: 1px;
    border: 1.5px solid var(--border);
    border-radius: 5px;
    background: var(--white);
    transition: background var(--t), border-color var(--t), box-shadow var(--t);
}

.cookie-consent__checkbox svg {
    width: 13px;
    height: 13px;
    fill: none;
    stroke: var(--white);
    stroke-width: 2.2;
    stroke-linecap: round;
    stroke-linejoin: round;
    opacity: 0;
}

.cookie-consent__category input:checked + .cookie-consent__checkbox {
    border-color: var(--burg);
    background: var(--burg);
}

.cookie-consent__category input:checked + .cookie-consent__checkbox svg {
    opacity: 1;
}

.cookie-consent__category strong {
    display: block;
    margin-bottom: 4px;
    color: var(--text);
    font-family: var(--ff);
    font-size: .9rem;
    font-weight: 800;
}

.cookie-consent__category small {
    display: block;
    color: var(--muted);
    font-size: .76rem;
    line-height: 1.45;
}

.cookie-consent__required {
    flex: 0 0 auto;
    padding: 4px 8px;
    border-radius: 999px;
    background: rgba(139, 26, 74, .08);
    color: var(--burg);
    font-family: var(--ff);
    font-size: .66rem;
    font-weight: 800;
    white-space: nowrap;
}

.cookie-consent__modal-actions {
    justify-content: flex-end;
    margin-bottom: 12px;
}

.cookie-consent__policy {
    text-align: right;
}

.cookie-settings-link {
    padding: 0;
    border: 0;
    background: transparent;
    color: var(--muted);
    font: inherit;
    font-size: .72rem;
    cursor: pointer;
    transition: color var(--t);
}

.cookie-settings-link:hover {
    color: var(--burg);
}

@media (max-width: 860px) {
    .cookie-consent__banner-content {
        align-items: flex-start;
        flex-direction: column;
        gap: 14px;
    }

    .cookie-consent__actions {
        width: 100%;
    }
}

@media (max-width: 560px) {
    .cookie-consent__banner {
        right: 10px;
        bottom: 10px;
        left: 10px;
    }

    .cookie-consent__banner-content,
    .cookie-consent__modal {
        padding: 16px;
    }

    .cookie-consent__actions,
    .cookie-consent__modal-actions {
        align-items: stretch;
        flex-direction: column;
        width: 100%;
    }

    .cookie-consent__button {
        width: 100%;
    }

    .cookie-consent__overlay {
        align-items: flex-end;
        padding: 10px;
    }

    .cookie-consent__modal {
        width: 100%;
        max-height: calc(100vh - 20px);
        border-radius: 16px 16px 10px 10px;
    }

    .cookie-consent__category {
        flex-direction: column;
    }

    .cookie-consent__required {
        margin-left: 32px;
    }

    .cookie-consent__policy {
        text-align: left;
    }
}

@media (prefers-reduced-motion: reduce) {
    .cookie-consent__banner,
    .cookie-consent__overlay,
    .cookie-consent__modal {
        transition: none;
    }
}

/* End */


/* Start:/local/templates/main/assets/css/select.css?17850545978013*/
/* ─── Общие ─── */
.search-wrapper,
.select-wrapper {
    position: relative;
}

.multiselect-dropdown,
.select-dropdown {
    position: absolute;
    top: calc(100% + 4px);
    left: 0;
    right: 0;
    z-index: 100;
    background: var(--white);
    border: 1px solid var(--border);
    border-radius: var(--r-sm);
    box-shadow: var(--shadow-md);
    max-height: 260px;
    overflow-y: auto;
    display: none;
}

.multiselect-dropdown.show,
.select-dropdown.show {
    display: block;
}

/* ─── Инпут-триггер ─── */
/*
 * До завершения JS-инициализации скрываем только технический input
 * мультиселектора. visibility сохраняет размеры поля и исключает скачок формы.
 */
.multiselect-input:not([data-initialized="true"]) > input[type="text"] {
    visibility: hidden;
    pointer-events: none;
}

.multiselect-search,
.single-select-input {
    width: 100%;
    height: 36px;
    padding: 0 2rem 0 .75rem;
    border: 1.5px solid var(--border);
    border-radius: var(--r-sm);
    background: var(--white);
    box-sizing: border-box;
    font-family: var(--ff-body);
    font-size: .82rem;
    color: var(--text);
    outline: none;
    cursor: pointer;
    transition: border-color var(--t), box-shadow var(--t);
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24'%3E%3Cpolyline points='6 9 12 15 18 9' stroke='%237a5060' stroke-width='2.5' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right .65rem center;
}

/* Вариант с иконкой поиска */
.multiselect-input[data-icon="search"] .multiselect-search,
.single-select[data-icon="search"] .single-select-input {
    padding-left: 2rem;
    padding-right: .75rem;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='13' height='13' viewBox='0 0 24 24' fill='none' stroke='%237a5060' stroke-width='2' stroke-linecap='round'%3E%3Ccircle cx='11' cy='11' r='8'/%3E%3Cline x1='21' y1='21' x2='16.65' y2='16.65'/%3E%3C/svg%3E");
    background-position: left .65rem center;
}

.multiselect-search:focus,
.single-select-input:focus {
    border-color: var(--burg-l);
    box-shadow: 0 0 0 3px rgba(139,26,74,.10);
}

.multiselect-search::placeholder,
.single-select-input::placeholder {
    color: var(--muted);
}

/* ─── Группы ─── */
.multiselect-group-header {
    padding: .5rem .75rem .2rem;
    font-size: .65rem;
    font-weight: 800;
    font-family: var(--ff);
    text-transform: uppercase;
    letter-spacing: .07em;
    color: var(--muted);
    margin-top: .2rem;
    user-select: none;
}

.multiselect-group-header:first-child {
    margin-top: 0;
}

/* ─── Опции ─── */
.multiselect-option,
.select-option {
    padding: .45rem .75rem;
    margin: .1rem .3rem;
    border-radius: var(--r-xs);
    cursor: pointer;
    display: flex;
    align-items: center;
    gap: .5rem;
    font-size: .82rem;
    font-family: var(--ff-body);
    color: var(--text);
    line-height: 1.25;
    transition: background var(--t), color var(--t);
    position: relative;
    box-sizing: border-box;
}

/* Сброс ссылочных стилей, когда option стал <a> */
a.multiselect-option,
a.select-option,
a.multiselect-option:visited,
a.select-option:visited,
a.multiselect-option:hover,
a.select-option:hover,
a.multiselect-option:active,
a.select-option:active,
a.multiselect-option:focus,
a.select-option:focus {
    color: var(--text);
    text-decoration: none;
    outline: none;
}

.multiselect-option::before,
.select-option::before {
    content: '';
    width: 14px;
    height: 14px;
    flex-shrink: 0;
    border: 1.5px solid var(--border);
    border-radius: 3px;
    background: var(--white);
    transition: background var(--t), border-color var(--t);
}

.multiselect-option:hover,
.select-option:hover {
    background: var(--bg);
    text-decoration: none;
}

.multiselect-option:focus-visible,
.select-option:focus-visible {
    box-shadow: 0 0 0 3px rgba(139,26,74,.10);
}

.multiselect-option.selected,
.select-option.selected,
a.multiselect-option.selected,
a.select-option.selected,
a.multiselect-option.selected:visited,
a.select-option.selected:visited,
a.multiselect-option.selected:hover,
a.select-option.selected:hover,
a.multiselect-option.selected:active,
a.select-option.selected:active,
a.multiselect-option.selected:focus,
a.select-option.selected:focus {
    color: var(--burg);
    font-weight: 600;
    text-decoration: none;
}

.multiselect-option.selected::before,
.select-option.selected::before {
    background: var(--burg);
    border-color: var(--burg);
}

.multiselect-option.selected::after,
.select-option.selected::after {
    content: '';
    position: absolute;
    left: 1.05rem;
    top: 50%;
    transform: translateY(-60%) rotate(45deg);
    width: 4px;
    height: 7px;
    border: 2px solid #fff;
    border-top: none;
    border-left: none;
}

/* ─── Пустое состояние ─── */
.multiselect-empty,
.select-empty {
    padding: 1.25rem 1rem;
    color: var(--muted);
    text-align: center;
    font-size: .8rem;
    font-family: var(--ff-body);
}

/* ─── Теги (multiselect) ─── */
.multiselect-tags {
    display: flex;
    flex-wrap: wrap;
    gap: .35rem;
    margin-top: .5rem;
}

.multiselect-tag {
    display: inline-flex;
    align-items: center;
    gap: .3rem;
    background: rgba(139,26,74,.08);
    color: var(--burg);
    padding: .2rem .55rem;
    border-radius: 50px;
    font-size: .72rem;
    font-weight: 700;
    font-family: var(--ff);
    border: 1px solid rgba(139,26,74,.2);
}

.multiselect-tag .tag-remove-btn {
    background: none;
    border: none;
    line-height: 1;
    cursor: pointer;
    color: var(--burg);
    padding: 0 1px;
    display: flex;
    align-items: center;
    font-size: .65rem;
    opacity: .55;
    transition: opacity var(--t);
}

.multiselect-tag .tag-remove-btn:hover {
    opacity: 1;
}

/* ─── Подсказка и ошибка ─── */
.hint {
    font-size: .72rem;
    color: var(--muted);
    font-family: var(--ff-body);
    margin-top: .35rem;
}

.multiselect-input.is-error .multiselect-search,
.single-select.is-error .single-select-input {
    border-color: #e53e3e;
}

.multiselect-input.is-success .multiselect-search,
.single-select.is-success .single-select-input {
    border-color: #38a169;
}

.select-error-msg {
    font-size: .72rem;
    color: #e53e3e;
    font-family: var(--ff-body);
    margin-top: .25rem;
}

.select-success-msg {
    font-size: .72rem;
    color: #38a169;
    font-family: var(--ff-body);
    margin-top: .25rem;
}

/* Одиночный селектор: без чекбоксов, они остаются только у мультиселекта. */
.single-select .select-option {
    gap: 0;
}

.single-select .select-option::before,
.single-select .select-option::after {
    display: none;
    content: none;
}


/* ─── Перестановка выбранных значений ─── */
.multiselect-input.is-sortable-selected .multiselect-tag.is-sortable {
    cursor: grab;
    touch-action: none;
    user-select: none;
    -webkit-user-select: none;
}

.multiselect-input.is-sortable-selected .multiselect-tag.is-sortable::before {
    content: '⋮⋮';
    display: inline-block;
    margin-right: .05rem;
    color: currentColor;
    font-size: 0.72rem;
    opacity: .45;
    margin-bottom: -2px;
}

.multiselect-input.is-sortable-selected .multiselect-tag.is-sortable:focus-visible {
    outline: 2px solid var(--burg-l);
    outline-offset: 2px;
}

.multiselect-input.is-sortable-selected .multiselect-tag.is-sorting {
    cursor: grabbing;
    opacity: .72;
    border-color: var(--burg);
    box-shadow: var(--shadow-sm);
}

/* End */


/* Start:/local/components/main/feedback.form/templates/.default/style.css?17888580344748*/
.feedback-form-modal-content[hidden] {
    display: none !important;
}

.feedback-form-modal-content {
    min-width: 0;
}

.feedback-form {
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.feedback-form__field {
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.feedback-form__label {
    color: var(--text);
    font-size: .8rem;
    font-weight: 700;
}

.feedback-form__textarea {
    min-height: 170px;
    resize: vertical;
}

.feedback-form__hint {
    color: var(--muted);
    font-size: .72rem;
}

.feedback-form__authorized-email {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    padding: 12px 14px;
    border: 1px solid var(--border);
    border-radius: var(--r-sm);
    background: var(--bg-light);
    color: var(--muted);
    font-size: .84rem;
}

.feedback-form__authorized-email strong {
    color: var(--text);
    overflow-wrap: anywhere;
}

.feedback-form__captcha {
    min-height: 0;
}

.feedback-form__message {
    padding: 11px 13px;
    border-radius: var(--r-sm);
    font-size: .84rem;
    line-height: 1.5;
}

.feedback-form__message.is-success {
    border: 1px solid rgba(46, 125, 50, .24);
    background: #edf7ee;
    color: #256229;
}

.feedback-form__message.is-error {
    border: 1px solid rgba(198, 40, 40, .22);
    background: #fff0f0;
    color: #9f2020;
}

.feedback-form__actions {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 10px;
}

@media (max-width: 640px) {
    .feedback-form__actions .btn {
        flex: 1 1 100%;
    }
}

.feedback-form__select {
    width: 100%;
}

.feedback-form .form-input[readonly] {
    background: var(--bg-light);
    color: var(--muted);
    cursor: default;
}

.feedback-form__manual-note {
    margin-top: -4px;
    color: var(--muted);
    font-size: .76rem;
    line-height: 1.45;
}

.feedback-form__manual-note[hidden] {
    display: none !important;
}

.feedback-form__legal {
    display: flex;
    flex-direction: column;
    gap: 7px;
}

.feedback-form__consent {
    display: flex;
    align-items: flex-start;
    gap: 9px;
    color: var(--text);
    font-size: .78rem;
    line-height: 1.45;
    cursor: pointer;
}

.feedback-form__consent input {
    flex: 0 0 auto;
    margin: 3px 0 0;
}

.feedback-form__legal-link {
    display: inline;
    color: var(--burg);
    font-weight: 800;
    text-decoration: underline;
    text-underline-offset: 2px;
    text-decoration-thickness: 1px;
}

.feedback-form__legal-link:hover {
    color: color-mix(in srgb, var(--burg) 78%, #000);
}

.feedback-form__privacy-note {
    color: var(--muted);
    font-size: .72rem;
    line-height: 1.45;
}

.feedback-form__privacy-note--authorized {
    margin-top: -2px;
}

.feedback-form__fields {
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.feedback-form__optional {
    margin-left: 5px;
    color: var(--muted);
    font-weight: 500;
}

.feedback-form__attachments {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.feedback-form__attachments[hidden] {
    display: none !important;
}

.feedback-form__upload {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 10px 12px;
    padding: 13px;
    border: 1px dashed var(--border);
    border-radius: var(--r-sm);
    background: var(--bg-light);
}

.feedback-form__file-input {
    position: absolute;
    width: 1px;
    height: 1px;
    opacity: 0;
    pointer-events: none;
}

.feedback-form__file-button {
    flex: 0 0 auto;
}

.feedback-form__file-list {
    display: flex;
    flex-direction: column;
    gap: 7px;
}

.feedback-form__file-list[hidden] {
    display: none !important;
}

.feedback-form__file-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 9px 11px;
    border: 1px solid var(--border);
    border-radius: var(--r-sm);
    background: #fff;
}

.feedback-form__file-info {
    display: flex;
    min-width: 0;
    flex-direction: column;
    gap: 2px;
}

.feedback-form__file-info strong {
    overflow: hidden;
    color: var(--text);
    font-size: .78rem;
    font-weight: 700;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.feedback-form__file-info span {
    color: var(--muted);
    font-size: .7rem;
}

.feedback-form__file-remove {
    flex: 0 0 auto;
    padding: 0;
    border: 0;
    background: transparent;
    color: var(--burg);
    font: inherit;
    font-size: .72rem;
    font-weight: 700;
    text-decoration: underline;
    text-underline-offset: 2px;
    cursor: pointer;
}

@media (max-width: 640px) {
    .feedback-form__upload {
        align-items: stretch;
        flex-direction: column;
    }

    .feedback-form__file-button {
        width: 100%;
    }
}

/* End */


/* Start:/local/components/main/auth.email/templates/.default/style.css?178844847217550*/
.auth-page {
    width: 100%;
}

.auth-panel {
    width: 100%;
    padding: 1.25rem;
    border-radius: var(--r);
    background: var(--white);
    box-shadow: var(--shadow-sm);
}

.auth-panel__content {
    width: 100%;
}

.auth-card {
    display: grid;
    gap: 1rem;
    width: 100%;
    background: var(--white);
}

.auth-card--wide,
.auth-card--narrow,
.auth-card--split {
    width: 100%;
}

.auth-card--narrow {
    max-width: 720px;
}

.auth-page--form .auth-panel__content {
    display: block;
}

.auth-page--form .auth-card--narrow,
.auth-page--form .auth-card--wide {
    margin: 0 auto;
}

.auth-layout {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    gap: 1.8rem;
    align-items: stretch;
}

.auth-layout__main {
    display: grid;
    gap: 1rem;
    min-width: 0;
}

.auth-layout__side {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    align-self: stretch;
    gap: 1.35rem;
    min-width: 0;
    height: 100%;
    min-height: 100%;
    padding: 2rem 1rem 2rem 2.2rem;
    border-left: 1px solid var(--border);
    text-align: center;
}

.auth-layout__side > * {
    width: 100%;
    max-width: 360px;
}

.auth-panel__head {
    display: grid;
    gap: .25rem;
}

.auth-panel__title {
    margin: 0;
    font-family: var(--ff);
    font-size: 2rem;
    line-height: 1.16;
    font-weight: 800;
    color: var(--text);
}


.auth-panel__sections {
    display: grid;
    gap: 1rem;
}

.auth-panel__footer,
.auth-actions {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 10px;
}

.auth-socials {
    display: grid;
    justify-items: center;
    gap: 1rem;
}

.auth-socials__label {
    font-family: var(--ff);
    font-size: 22px;
    line-height: 1.2;
    font-weight: 800;
    color: var(--text);
}

.auth-side-link__title {
    font-family: var(--ff);
    font-size: 1rem;
    line-height: 1.25;
    font-weight: 800;
    color: var(--text);
}

.auth-socials__list {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: .9rem;
}

.auth-social {
    display: inline-grid;
    grid-template-rows: auto auto;
    justify-items: center;
    align-items: center;
    gap: .45rem;
    min-width: 74px;
    padding: 0;
    border: 0;
    background: transparent;
    color: var(--text);
    font-family: var(--ff);
    font-size: .82rem;
    font-weight: 800;
    line-height: 1.1;
    text-decoration: none;
    cursor: pointer;
    transition: color var(--t), transform var(--t), opacity var(--t);
}

.auth-social:hover {
    color: var(--burg);
    transform: translateY(-1px);
}

.auth-social.is-disabled {
    opacity: .5;
    cursor: not-allowed;
}

.auth-social.is-disabled:hover {
    color: var(--text);
    transform: none;
}

.auth-social__icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 60px;
    height: 60px;
    flex: 0 0 60px;
    border-radius: 50%;
    box-sizing: border-box;
    overflow: hidden;
    box-shadow: 0 8px 20px rgba(34, 34, 34, .08), 0 0 0 1px color-mix(in srgb, var(--border) 70%, transparent);
}

.auth-social__icon svg {
    display: block;
    width: 100%;
    height: 100%;
}

.auth-social__letter {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%;
    font-family: var(--ff);
    font-size: 30px;
    line-height: 1;
    font-weight: 900;
    color: #fff;
}

.auth-social__icon circle {
    fill: var(--bg-light);
}

.auth-social__icon path {
    fill: currentColor;
}

.auth-social--yandex .auth-social__icon {
    background: #fc3f1d;
}

.auth-social--yandex .auth-social__icon circle {
    fill: #fc3f1d;
}

.auth-social--yandex .auth-social__icon path,
.auth-social--vk .auth-social__icon path,
.auth-social--ok .auth-social__icon path {
    fill: #fff;
}

.auth-social--vk .auth-social__icon circle {
    fill: #0077ff;
}

.auth-social--ok .auth-social__icon circle {
    fill: #ee8208;
}

.auth-social--mail .auth-social__icon {
    background: #168de2;
}

.auth-social__text {
    display: block;
    max-width: 64px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.auth-side-link {
    display: grid;
    justify-items: center;
    gap: .85rem;
    padding-top: 1.25rem;
    border-top: 1px solid var(--border);
}

.auth-side-link .btn {
    justify-self: center;
}

.auth-form {
    display: grid;
    gap: .9rem;
    width: 100%;
}

.auth-form__passwords {
    gap: .9rem;
}

.auth-page--body .auth-form__passwords {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.auth-card--split .auth-form__passwords {
    grid-template-columns: 1fr;
}

.auth-password {
    position: relative;
}

.auth-password__input {
    padding-right: 46px;
}

.auth-password__toggle {
    position: absolute;
    top: 50%;
    right: 8px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 34px;
    height: 34px;
    padding: 0;
    border: 0;
    border-radius: 50%;
    background: transparent;
    color: var(--muted);
    cursor: pointer;
    transform: translateY(-50%);
    transition: background var(--t), color var(--t);
}

.auth-password__toggle:hover {
    background: var(--bg-light);
    color: var(--burg);
}

.auth-password__toggle svg {
    display: block;
    width: 20px;
    height: 20px;
}

.auth-password__toggle path {
    fill: currentColor;
}

.auth-password__toggle.is-active {
    color: var(--burg);
}

.auth-hint {
    margin-top: .35rem;
    font-family: var(--ff-body);
    font-size: .76rem;
    line-height: 1.35;
    color: var(--muted);
}

.auth-captcha {
    min-height: 0;
}

.auth-message {
    border-radius: var(--r-sm);
    padding: .8rem .9rem;
    border: 1px solid color-mix(in srgb, var(--border) 80%, transparent);
    background: var(--bg-light);
    color: var(--text);
    font-family: var(--ff-body);
    font-size: .84rem;
    line-height: 1.45;
}

.auth-message[hidden] {
    display: none;
}

.auth-message--success {
    border-color: #bfe2cb;
    background: #f1fbf4;
    color: #23663a;
}

.auth-message--error {
    border-color: #efb9b9;
    background: #fff0f0;
    color: #8c2020;
}

.auth-submit {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: auto;
    min-width: 132px;
    min-height: 46px;
    padding-right: 1.4rem;
    padding-left: 1.4rem;
    font-size: 17px;
    line-height: 1.2;
    text-align: center;
}

.auth-submit:disabled {
    opacity: .65;
    cursor: not-allowed;
    pointer-events: none;
}

@media (max-width: 900px) {
    .auth-layout {
        grid-template-columns: 1fr;
        gap: 1.2rem;
    }

    .auth-layout__side {
        padding: 1.4rem 0 0;
        border-top: 1px solid var(--border);
        border-left: 0;
    }

    .auth-socials {
        grid-template-columns: 1fr;
        align-items: center;
    }

    .auth-socials__list {
        justify-content: center;
    }

    .auth-side-link {
        padding-top: 0;
        border-top: 0;
    }
}

@media (max-width: 768px) {
    .auth-page--body .auth-form__passwords,
    .auth-card--split .auth-form__passwords {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 560px) {
    .auth-panel {
        padding: 1rem;
        border-radius: var(--r-sm);
    }

    .auth-panel__title {
        font-size: 1.5rem;
    }

    .auth-socials {
        grid-template-columns: 1fr;
        align-items: center;
    }

}

button.btn.btn--primary.auth-submit {
    font-size: 17px;
}

.auth-social--yandex .auth-social__icon {
    padding: 12px;
    background: #fc3f1d;
    color: #fff;
}

.auth-social__svg {
    display: block;
    width: 100%;
    height: 100%;
}

.auth-social__svg path {
    fill: currentColor;
}

.auth-social__svg--yandex {
    width: 36px;
    height: 36px;
    transform: translateX(2px);
}

.auth-side-link--plain {
    padding-top: 0;
    border-top: 0;
}

.auth-side-link__text {
    font-family: var(--ff-body);
    font-size: .95rem;
    line-height: 1.5;
    color: var(--muted);
}

.auth-panel__text {
    font-family: var(--ff-body);
    font-size: .95rem;
    line-height: 1.5;
    color: var(--muted);
}

.auth-forgot {
    margin-top: -.25rem;
    text-align: right;
}

.auth-forgot__link {
    font-family: var(--ff-body);
    font-size: .88rem;
    line-height: 1.35;
    font-weight: 700;
    color: var(--burg);
    text-decoration: none;
}

.auth-forgot__link:hover {
    text-decoration: underline;
}

.auth-page--body {
    width: 100%;
}

.auth-page--body .auth-panel {
    padding: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
}

.auth-page--body .auth-card {
    background: transparent;
}

.auth-mobile-top {
    display: none;
}

.auth-panel__text--mobile {
    display: none;
}

.auth-mode-tabs {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
    width: 100%;
}

.auth-mode-tab {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 42px;
    padding: 10px 14px;
    border: 1px solid color-mix(in srgb, var(--border) 86%, transparent);
    border-radius: 999px;
    background: var(--white);
    color: var(--burg);
    font-family: var(--ff);
    font-size: 14px;
    line-height: 1.1;
    font-weight: 900;
    text-decoration: none;
    transition: background var(--t), color var(--t), border-color var(--t), box-shadow var(--t);
}

.auth-mode-tab.is-active {
    border-color: transparent;
    background: var(--grad);
    color: #fff;
    box-shadow: 0 10px 22px rgba(122, 31, 61, .16);
}

.auth-divider {
    display: flex;
    align-items: center;
    gap: 12px;
    width: 100%;
    color: var(--muted);
    font-family: var(--ff-body);
    font-size: 13px;
    line-height: 1.3;
    font-weight: 800;
}

.auth-divider::before,
.auth-divider::after {
    content: "";
    height: 1px;
    flex: 1 1 auto;
    background: color-mix(in srgb, var(--border) 88%, transparent);
}

.auth-divider span {
    white-space: nowrap;
}

@media (max-width: 900px) {
    .auth-card--account .auth-layout__side {
        display: none;
    }

    .auth-mobile-top {
        display: grid;
        gap: 1rem;
    }

    .auth-panel__text--mobile {
        display: block;
    }

    .auth-card--account .auth-layout {
        display: block;
    }

    .auth-card--account .auth-layout__main {
        gap: 1rem;
    }

    .auth-mobile-top .auth-socials {
        width: 100%;
        gap: .75rem;
        padding: .95rem;
        border: 1px solid color-mix(in srgb, var(--border) 86%, transparent);
        border-radius: var(--r-sm);
        background: linear-gradient(180deg, rgba(122, 31, 61, .045), rgba(232, 95, 147, .035));
    }

    .auth-mobile-top .auth-socials__label {
        font-size: 16px;
        line-height: 1.2;
    }

    .auth-mobile-top .auth-socials__list {
        display: grid;
        grid-template-columns: repeat(4, minmax(0, 1fr));
        gap: 6px;
        width: 100%;
    }

    .auth-mobile-top .auth-social {
        min-width: 0;
        width: 100%;
        padding: 8px 3px;
        border: 1px solid color-mix(in srgb, var(--border) 84%, transparent);
        border-radius: 16px;
        background: var(--white);
    }

    .auth-mobile-top .auth-social__icon {
        width: 40px;
        height: 40px;
        flex-basis: 40px;
    }

    .auth-mobile-top .auth-social__text {
        max-width: 100%;
        font-size: 11px;
    }
}

@media (max-width: 560px) {
    .auth-page.container--default {
        padding-right: .875rem;
        padding-left: .875rem;
    }

    .auth-panel {
        padding: .9rem;
    }

    .auth-mobile-top .auth-socials {
        padding: .85rem;
    }

    .auth-mobile-top .auth-socials__list {
        gap: 5px;
    }

    .auth-mobile-top .auth-social {
        padding: 7px 2px;
        border-radius: 14px;
    }

    .auth-mobile-top .auth-social__icon {
        width: 36px;
        height: 36px;
        flex-basis: 36px;
    }

    .auth-mobile-top .auth-social__text {
        font-size: 10px;
    }

    .auth-mode-tab {
        min-height: 40px;
        font-size: 13px;
    }
}

/* Shared auth modal rendered in the main footer for guest-only flows. */
.modal--container {
    max-width: 1280px;
}

.modal--container .modal__body {
    padding: 1.25rem;
}

.site-auth-modal[hidden],
.site-auth-modal-panel[hidden] {
    display: none !important;
}

.site-auth-modal {
    display: grid;
    gap: 1rem;
}

.site-auth-modal-tabs {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
}

.site-auth-modal-tab {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 42px;
    padding: 10px 14px;
    border: 1px solid color-mix(in srgb, var(--border, #eadde3) 86%, transparent);
    border-radius: 999px;
    background: var(--white, #fff);
    color: var(--burg, #7a1f3d);
    font-family: var(--ff, "Nunito", "Nunito Sans", system-ui, sans-serif);
    font-size: 14px;
    line-height: 1.1;
    font-weight: 900;
    cursor: pointer;
    transition: background var(--t, .2s ease), color var(--t, .2s ease), border-color var(--t, .2s ease), box-shadow var(--t, .2s ease);
}

.site-auth-modal-tab.is-active {
    border-color: transparent;
    background: var(--grad, linear-gradient(135deg, #7a1f3d 0%, #e85f93 100%));
    color: #fff;
    box-shadow: 0 10px 22px rgba(122, 31, 61, .16);
}

.site-auth-modal .auth-page--body .auth-panel__title {
    font-size: 1.5rem;
}

.site-auth-modal .auth-page--body .auth-panel__text--mobile,
.site-auth-modal .auth-page--body .auth-mobile-top .auth-mode-tabs {
    display: none;
}

.site-auth-modal .auth-page--body .auth-layout {
    grid-template-columns: minmax(0, 1fr) minmax(260px, .55fr);
    gap: 1.4rem;
}

.site-auth-modal .auth-page--body .auth-layout__side {
    padding: 1.2rem 0 1.2rem 1.4rem;
}

.site-auth-modal .auth-page--body .auth-socials__label {
    font-size: 18px;
}

.site-auth-modal .auth-page--body .auth-side-link {
    display: none;
}

@media (max-width: 900px) {
    .modal--container {
        max-width: calc(100vw - 1.5rem);
    }

    .modal--container .modal__body {
        padding: 1rem;
    }

    .site-auth-modal .auth-page--body .auth-layout {
        display: block;
    }

    .site-auth-modal .auth-page--body .auth-layout__side {
        display: none;
    }

    .site-auth-modal .auth-page--body .auth-mobile-top {
        display: grid;
    }

    .site-auth-modal .auth-page--body .auth-mobile-top .auth-socials {
        margin-top: 0;
    }
}

@media (max-width: 560px) {
    .modal--container .modal__body {
        padding: .85rem;
    }

    .site-auth-modal-tabs {
        gap: 6px;
    }

    .site-auth-modal-tab {
        min-height: 40px;
        font-size: 13px;
    }
}

.auth-agreements {
    display: grid;
    gap: .65rem;
}

.auth-agreement {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    align-items: flex-start;
    gap: .65rem;
    padding: .75rem .85rem;
    border: 1px solid color-mix(in srgb, var(--border) 86%, transparent);
    border-radius: var(--r-sm);
    background: color-mix(in srgb, var(--bg-light) 72%, #fff);
    cursor: pointer;
}

.auth-agreement__input {
    position: absolute;
    opacity: 0;
    pointer-events: none;
}

.auth-agreement__box {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 22px;
    height: 22px;
    margin-top: 1px;
    border: 1px solid color-mix(in srgb, var(--burg) 30%, var(--border));
    border-radius: 7px;
    background: var(--white);
    color: #fff;
    transition: background var(--t), border-color var(--t), box-shadow var(--t);
}

.auth-agreement__box svg {
    display: block;
    width: 15px;
    height: 15px;
}

.auth-agreement__box polyline {
    fill: none;
    stroke: currentColor;
    stroke-width: 2.4;
    stroke-linecap: round;
    stroke-linejoin: round;
    opacity: 0;
    transition: opacity var(--t);
}

.auth-agreement__input:checked + .auth-agreement__box {
    border-color: transparent;
    background: var(--grad);
    box-shadow: 0 8px 18px rgba(122, 31, 61, .16);
}

.auth-agreement__input:checked + .auth-agreement__box polyline {
    opacity: 1;
}

.auth-agreement__input:focus-visible + .auth-agreement__box {
    box-shadow: 0 0 0 3px color-mix(in srgb, var(--pink) 20%, transparent);
}

.auth-agreement__text {
    display: block;
    color: var(--text);
    font-family: var(--ff-body);
    font-size: .84rem;
    line-height: 1.4;
}

.auth-agreement__required {
    margin-left: 3px;
    color: var(--burg);
    font-weight: 900;
}

.auth-agreement__link {
    display: inline;
    margin-left: 0;
    color: var(--burg);
    font-weight: 800;
    text-decoration: underline;
    text-underline-offset: 2px;
    text-decoration-thickness: 1px;
}

.auth-agreement__link:hover {
    color: color-mix(in srgb, var(--burg) 78%, #000);
}

.auth-agreement--fixed {
    cursor: default;
}

.auth-agreement__details {
    display: block;
    margin-top: .2rem;
}

.auth-registration-acceptance {
    margin-top: .65rem;
    color: var(--muted);
    font-family: var(--ff-body);
    font-size: .8rem;
    line-height: 1.45;
    text-align: center;
}

.auth-registration-acceptance .auth-agreement__link {
    font-weight: 700;
}

@media (max-width: 560px) {
    .auth-agreement {
        padding: .7rem .75rem;
    }

    .auth-agreement__text {
        font-size: .8rem;
    }
}


/* End */
/* /local/templates/main/assets/css/main.css?178972952666425 */
/* /local/templates/main/assets/css/popup.css?178884972025180 */
/* /local/templates/main/assets/css/dynamic_html.css?17894848733646 */
/* /local/templates/main/assets/css/tabs.css?17792834842770 */
/* /local/templates/main/assets/css/hint.css?17809121602718 */
/* /local/templates/main/assets/css/site-auth-modals.css?178844943812321 */
/* /local/templates/main/assets/css/subscription-access.css?17842005941481 */
/* /local/templates/main/assets/css/cookie-consent.css?17887891388144 */
/* /local/templates/main/assets/css/select.css?17850545978013 */
/* /local/components/main/feedback.form/templates/.default/style.css?17888580344748 */
/* /local/components/main/auth.email/templates/.default/style.css?178844847217550 */
