/* Shared Totobi footer. Native details work without JS; all links stay in HTML. */
footer.tf-footer{background:#f7f6fa;border-top:1px solid #e8e4ef;padding-top:44px;color:#303039}
.tf-footer .footer__top{display:flex;flex-wrap:wrap;gap:8px 28px;margin:0 0 26px;padding:0;list-style:none}
.tf-footer .footer__top-item{margin:0;padding:0}
.tf-footer .footer__top-link{display:inline-flex;align-items:center;min-height:44px;font-size:15px;font-weight:600;color:#5c5866;text-decoration:none}
.tf-footer>.container>.--hr{display:none}
.tf-footer .tf-catalog{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;align-items:start;margin:0 0 36px}
.tf-footer .tf-column{display:grid;gap:12px;min-width:0}
.tf-footer .tf-category{min-width:0;margin:0;background:#fff;border:1px solid #e6e1ed;border-radius:16px;overflow:hidden;box-shadow:0 3px 12px #29203804}
.tf-footer .tf-category>summary{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:19px 20px;min-height:68px;box-sizing:border-box;cursor:pointer;list-style:none;font-size:16px;font-weight:700;line-height:1.4;color:#302c38;transition:background .18s,color .18s}
.tf-footer .tf-category>summary::-webkit-details-marker{display:none}
.tf-footer .tf-category>summary::marker{content:''}
.tf-footer .tf-category>summary>span:first-child{min-width:0;overflow-wrap:anywhere}
.tf-footer .tf-plus{position:relative;flex:0 0 28px;width:28px;height:28px;border-radius:50%;background:#f2ecfc;color:#7d45d5}
.tf-footer .tf-plus:before,.tf-footer .tf-plus:after{content:'';position:absolute;left:8px;top:13px;width:12px;height:2px;border-radius:2px;background:currentColor;transition:transform .18s}
.tf-footer .tf-plus:after{transform:rotate(90deg)}
.tf-footer .tf-category[open]>.tf-panel{display:block}
.tf-footer .tf-category[open]>summary{color:#713cd0;background:#f7f2ff;border-bottom:1px solid #eee6fa}
.tf-footer .tf-category[open]>summary .tf-plus:after{transform:rotate(0)}
.tf-footer .tf-panel{padding:16px 20px 19px}
.tf-footer .tf-category-link{display:inline;color:#7742c7;font-size:14px;font-weight:700;line-height:1.5;text-decoration:underline;text-underline-offset:3px}
.tf-footer .tf-category-hint{color:#7742c7;margin-left:8px}
.tf-footer .tf-links{display:grid;grid-template-columns:minmax(0,1fr);gap:0;list-style:none;margin:12px 0 0;padding:0}
.tf-footer .tf-link-item{margin:0;padding:0;min-width:0}
.tf-footer .tf-link{display:flex;align-items:center;min-height:44px;padding:8px 0;box-sizing:border-box;color:#625d6b;text-decoration:none;line-height:1.45;font-size:14px;overflow-wrap:anywhere}
.tf-footer .tf-link-item+.tf-link-item{border-top:1px solid #f2eff6}
.tf-footer .tf-direct{display:flex;align-items:center;gap:12px;padding:0 20px}
.tf-footer .tf-direct-link{display:flex;align-items:center;flex:1;min-height:64px;padding:16px 0;color:#302c38;text-decoration:none;font-size:16px;font-weight:700;line-height:1.4;box-sizing:border-box}
.tf-footer .tf-direct>span{color:#9571c0}
.tf-footer .footer__contacts{border-top:1px solid #e3ddeb;padding-top:28px;gap:24px;margin-top:0;align-items:start}
.tf-footer .footer__contacts-block{min-width:0}
.tf-footer .footer__contacts-link,.tf-footer .footer__contacts-email{overflow-wrap:anywhere}
.tf-footer .tf-category>summary:focus-visible,.tf-footer a:focus-visible{outline:3px solid #a775f0;outline-offset:-3px;border-radius:6px}
@media(hover:hover){.tf-footer .tf-category>summary:hover{background:#f7f2ff;color:#713cd0}.tf-footer .tf-link:hover,.tf-footer .tf-direct-link:hover,.tf-footer .footer__top-link:hover{color:#793ed1}}
@media(max-width:1000px){.tf-footer .tf-catalog{grid-template-columns:repeat(2,minmax(0,1fr))}.tf-footer .tf-column:last-child{grid-column:1/-1;grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}}
@media(max-width:640px){footer.tf-footer{padding-top:26px}.tf-footer .footer__top{gap:4px 20px;margin-bottom:18px}.tf-footer .tf-catalog{display:block;margin-bottom:26px}.tf-footer .tf-column,.tf-footer .tf-column:last-child{display:grid;grid-template-columns:minmax(0,1fr);gap:10px;margin-bottom:10px}.tf-footer .tf-category{border-radius:13px}.tf-footer .tf-category>summary{padding:15px 16px;min-height:62px;font-size:15px}.tf-footer .tf-panel{padding:14px 16px 16px}.tf-footer .tf-direct{padding:0 16px}.tf-footer .tf-direct-link{font-size:15px;min-height:58px}.tf-footer .footer__contacts{gap:20px;padding-top:24px}}
@media(prefers-reduced-motion:reduce){.tf-footer *{transition:none!important}}
.tf-footer .tf-category-link{display:inline-flex;align-items:center;min-height:44px}
