/* ==========================================================================
   Theme Components CSS — extracted from inline styles
   ========================================================================== */

/* Filter modal (sidebar variant) */
@media (max-width: 1023.98px) {
    #filterModal { width: 100% !important; max-width: 100% !important; left: 0 !important; right: 0 !important; }
}
@media (min-width: 1024px) {
    #filterModal { width: min(100%, 340px) !important; }
}
body.filter-modal-open #mobileBottomNav { display: none !important; }
body.filter-modal-open [data-model-card],
body.filter-modal-open [data-model-card] * { z-index: 0 !important; }
body.filter-modal-open #filterOverlay,
body.filter-modal-open #filterModal { z-index: 2147483646 !important; isolation: isolate; }
body.filter-modal-open #filterModal { z-index: 2147483647 !important; }

/* Favorites */
.fav-btn.is-active { background-color: #ef4444 !important; border-color: #ef4444 !important; color: white !important; }
.fav-btn.is-active:hover { background-color: #dc2626 !important; }

/* SEO block typography */
/* ================================================================
   SEO-ТЕКСТ — стили для WYSIWYG-контента в SEO-блоках
   Цвета: --seo-text-color, --seo-border-color (из Стили > SEO-блок)
   ================================================================ */
.seo-block { color: var(--seo-text-color, inherit) !important; border-color: var(--seo-border-color, var(--sidebar-border)) !important; }
.seo-block p, .seo-block li, .seo-block td, .seo-block th, .seo-block span, .seo-block a, .seo-block blockquote { color: inherit !important; }
.seo-block h1, .seo-block h2, .seo-block h3,
.seo-block h4, .seo-block h5, .seo-block h6 { font-weight: 700; line-height: 1.3; margin-top: 1.5em; margin-bottom: 0.5em; }
.seo-block h1 { font-size: 1.75em; }
.seo-block h2 { font-size: 1.45em; }
.seo-block h3 { font-size: 1.25em; }
.seo-block h4 { font-size: 1.1em; }
.seo-block > *:first-child { margin-top: 0; }
.seo-block p { margin: 0.75em 0; line-height: 1.7; }
.seo-block ul, .seo-block ol { margin: 0.75em 0; padding-left: 1.5em; }
.seo-block ul { list-style: disc; }
.seo-block ol { list-style: decimal; }
.seo-block li { margin: 0.3em 0; line-height: 1.6; }
.seo-block a { text-decoration: underline; text-underline-offset: 2px; opacity: 0.85; }
.seo-block a:hover { opacity: 1; }
.seo-block strong, .seo-block b { font-weight: 700; }
.seo-block em, .seo-block i { font-style: italic; }
.seo-block blockquote { border-left: 3px solid currentColor; padding-left: 1em; margin: 1em 0; opacity: 0.8; font-style: italic; }
/* SEO-текст: таблицы */
.seo-block table { width: 100%; border-collapse: collapse; margin: 1em 0; font-size: 0.95em; }
.seo-block th, .seo-block td { border: 1px solid color-mix(in srgb, currentColor 20%, transparent); padding: 0.5em 0.75em; text-align: left; }
.seo-block th { font-weight: 700; opacity: 0.9; background: color-mix(in srgb, currentColor 8%, transparent); }
.seo-block tr:nth-child(even) td { background: color-mix(in srgb, currentColor 5%, transparent); }
.seo-block thead { border-bottom: 2px solid color-mix(in srgb, currentColor 25%, transparent); }
/* SEO-текст: медиа */
.seo-block img { max-width: 100%; height: auto; border-radius: 6px; margin: 1em 0; }
.seo-block hr { border: none; border-top: 1px solid currentColor; opacity: 0.2; margin: 1.5em 0; }
.seo-block code { background: color-mix(in srgb, currentColor 10%, transparent); padding: 0.15em 0.4em; border-radius: 4px; font-size: 0.9em; }
.seo-block pre { background: color-mix(in srgb, currentColor 8%, transparent); padding: 1em; border-radius: 6px; overflow-x: auto; margin: 1em 0; }
.seo-block pre code { background: none; padding: 0; }

/* ================================================================
   БЛОГ / СТАТЬЯ — стили для WYSIWYG-контента на странице статьи
   Цвета: --blog-text, --blog-heading, --blog-link, --blog-muted,
          --blog-border, --blog-card-bg (из Блог > Стили статьи)
   ================================================================ */
/* Блог: таблицы */
.prose table { width: 100%; border-collapse: collapse; margin: 1.5em 0; font-size: 0.9em; }
.prose th, .prose td { border: 1px solid var(--blog-border, #374151); padding: 0.6em 1em; text-align: left; }
.prose th { font-weight: 700; color: var(--blog-heading, inherit); background: color-mix(in srgb, var(--blog-border, #374151) 30%, transparent); }
.prose td { color: var(--blog-text, inherit); }
.prose tr:nth-child(even) td { background: color-mix(in srgb, var(--blog-border, #374151) 15%, transparent); }
.prose thead { border-bottom: 2px solid var(--blog-border, #374151); }
/* Блог: заголовки */
.prose h2, .prose h3, .prose h4 { color: var(--blog-heading, inherit); font-weight: 700; }
.prose h2 { font-size: 1.5em; margin: 1.5em 0 0.5em; }
.prose h3 { font-size: 1.25em; margin: 1.3em 0 0.4em; }
.prose h4 { font-size: 1.1em; margin: 1.2em 0 0.3em; }
/* Блог: текст */
.prose p { margin: 0.75em 0; line-height: 1.8; }
.prose a { color: var(--blog-link, #3b82f6); text-decoration: underline; text-underline-offset: 2px; }
.prose a:hover { opacity: 0.8; }
.prose strong, .prose b { font-weight: 700; color: var(--blog-heading, inherit); }
/* Блог: списки */
.prose ul, .prose ol { margin: 0.75em 0; padding-left: 1.5em; }
.prose ul { list-style: disc; }
.prose ol { list-style: decimal; }
.prose li { margin: 0.3em 0; line-height: 1.7; }
/* Блог: цитаты */
.prose blockquote { border-left: 3px solid var(--blog-link, #3b82f6); padding: 0.5em 1em; margin: 1em 0; color: var(--blog-muted, #9ca3af); font-style: italic; }
/* Блог: медиа и код */
.prose img { max-width: 100%; height: auto; border-radius: 8px; margin: 1.5em 0; }
.prose hr { border: none; border-top: 1px solid var(--blog-border, #374151); margin: 2em 0; }
.prose code { background: color-mix(in srgb, var(--blog-border, #374151) 40%, transparent); padding: 0.15em 0.4em; border-radius: 4px; font-size: 0.88em; }
.prose pre { background: color-mix(in srgb, var(--blog-card-bg, #1f2937) 80%, transparent); padding: 1em; border-radius: 8px; overflow-x: auto; margin: 1em 0; }
.prose pre code { background: none; padding: 0; }

/* Model cards: elegant frame animation */
.mc-elegant .mc-frame-top, .mc-elegant .mc-frame-right,
.mc-elegant .mc-frame-bottom, .mc-elegant .mc-frame-left {
    position: absolute; z-index: 20; pointer-events: none;
    background: var(--mc-frame_color, #ffffff);
    transition: all .45s cubic-bezier(.4,0,.2,1);
}
.mc-elegant .mc-frame-top, .mc-elegant .mc-frame-bottom { height: 1px; width: 0; }
.mc-elegant .mc-frame-left, .mc-elegant .mc-frame-right { width: 1px; height: 0; }
.mc-elegant .mc-frame-top { top: 8px; left: 8px; }
.mc-elegant .mc-frame-right { top: 8px; right: 8px; }
.mc-elegant .mc-frame-bottom { bottom: 8px; right: 8px; }
.mc-elegant .mc-frame-left { bottom: 8px; left: 8px; }
.mc-elegant:hover .mc-frame-top, .mc-elegant:hover .mc-frame-bottom { width: calc(100% - 16px); }
.mc-elegant:hover .mc-frame-left, .mc-elegant:hover .mc-frame-right { height: calc(100% - 16px); }
.mc-elegant .mc-elegant-overlay { opacity: 0; transition: opacity .4s ease; }
.mc-elegant:hover .mc-elegant-overlay { opacity: 1; }

/* Model cards: showcase photo swap */
.mc-showcase:hover .mc-showcase-img1 { opacity: 0; }
.mc-showcase:hover .mc-showcase-img2 { opacity: 1; }

/* Model cards: custom photo swap + hover panel */
.mc-custom:hover .mc-custom-img1 { opacity: 0; }
.mc-custom:hover .mc-custom-img2 { opacity: 1; }


/* Filter: pills variant */
.sf-pill input { display: none; }
.sf-pill span {
    display: inline-flex; align-items: center; padding: 6px 14px;
    border: 1px solid var(--sf-border); background: var(--sf-input_bg);
    color: var(--sf-text); font-size: 13px; line-height: 1.3;
    cursor: pointer; transition: all .2s ease; white-space: nowrap;
}
.sf-pill input:checked + span { background: var(--sf-accent); border-color: var(--sf-accent); color: var(--sf-accent_text, #000000); }
.sf-pill-radio input { display: none; }
.sf-pill-radio span {
    display: inline-flex; align-items: center; padding: 6px 14px;
    border: 1px solid var(--sf-border); background: var(--sf-input_bg);
    color: var(--sf-text); font-size: 13px; cursor: pointer;
    transition: all .2s ease; white-space: nowrap;
}
.sf-pill-radio input:checked + span { background: var(--sf-accent); border-color: var(--sf-accent); color: var(--sf-accent_text, #000000); }

/* Filter: modern variant */
.sf-modern-section { background: var(--sf-card_bg, var(--sf-bg)); border: 1px solid var(--sf-border); padding: 14px 16px; margin-bottom: 10px; }
.sf-toggle { position: relative; width: 36px; height: 20px; cursor: pointer; display: inline-block; }
.sf-toggle input { display: none; }
.sf-toggle-track { position: absolute; inset: 0; background: var(--sf-border); transition: background .2s; }
.sf-toggle input:checked + .sf-toggle-track { background: var(--sf-accent); }
.sf-toggle-thumb { position: absolute; top: 2px; left: 2px; width: 16px; height: 16px; background: white; transition: transform .2s; box-shadow: 0 1px 3px rgba(0,0,0,.2); }
.sf-toggle input:checked ~ .sf-toggle-thumb { transform: translateX(16px); }
.sf-modern-check input { display: none; }
.sf-modern-check { display: flex; align-items: center; gap: 10px; padding: 8px 12px; cursor: pointer; transition: background .15s; }
.sf-modern-check:hover { background: var(--sf-hover_bg, color-mix(in oklab, var(--sf-bg) 90%, var(--sf-text) 10%)); }
.sf-modern-check .sf-check-box { width: 18px; height: 18px; border: 2px solid var(--sf-border); display: flex; align-items: center; justify-content: center; transition: all .2s; flex-shrink: 0; }
.sf-modern-check input:checked + .sf-check-box { background: var(--sf-accent); border-color: var(--sf-accent); }
.sf-modern-check .sf-check-icon { opacity: 0; color: var(--sf-accent_text, #ffffff); transition: opacity .15s; }
.sf-modern-check input:checked + .sf-check-box .sf-check-icon { opacity: 1; }

/* Header: shared nav styles */
#main-nav .header-nav-link .header-nav-link-underline { background: var(--hd-accent); }
#main-nav .header-nav-link:hover .header-nav-link-text,
#main-nav .header-nav-link:focus-visible .header-nav-link-text { color: var(--hd-accent); }
#burger-btn:hover { filter: brightness(0.92); }
#mobile-drawer-close:hover,
#mobile-drawer-close:focus-visible { border-color: var(--hd-accent); color: var(--hd-accent); outline: none; }
#mobile-drawer .mobile-drawer-link:hover,
#mobile-drawer .mobile-drawer-link:focus-visible { background-color: color-mix(in srgb, var(--hd-bg) 94%, var(--hd-text_active) 6%); color: var(--hd-accent); outline: none; }
#mobile-drawer .mobile-drawer-link:hover svg,
#mobile-drawer .mobile-drawer-link:focus-visible svg { color: var(--hd-accent); }
.sc-header-split #main-nav .header-nav-link:hover .header-nav-link-text { color: var(--hd-text_active); }
.sc-header-icon-nav .hd-nav-icon { transition: filter .2s ease; }
.sc-header-icon-nav .header-nav-link:hover .header-nav-link-text { color: var(--hd-accent) !important; }

/* Header: contact icons */
.hd-contact-icon { overflow: visible; border: 1px solid var(--hd-border) !important; color: var(--hd-text); }
.hd-contact-icon > svg { width: 16px !important; height: 16px !important; overflow: visible !important; flex-shrink: 0; }
#mobile-drawer .hd-contact-icon { color: var(--hd-text_active); }
#mobile-drawer .hd-contact-icon > svg { width: 20px !important; height: 20px !important; }
.hd-contact-icon:hover { border-color: var(--hd-accent) !important; color: var(--hd-accent) !important; }

/* Footer: contact icons */
.ft-contact-icon { overflow: visible; border: 1px solid var(--ft-border); }
.ft-contact-icon > svg { width: 16px !important; height: 16px !important; overflow: visible !important; flex-shrink: 0; }
.ft-contact-icon:hover { border-color: var(--ft-accent) !important; color: var(--ft-accent) !important; }
.sc-footer .footer-link:hover,
.sc-footer .footer-link:focus-visible { color: var(--ft-accent) !important; }

/* Filter: dividers stay flat */
.accordion-item.border-t, .accordion-item.border-b,
.accordion-content.border-t, .accordion-content.border-b,
#mainFilterForm > .border-t, #mainFilterForm > .border-b { border-radius: 0 !important; }
/* Sidebar scrollbar */
aside.lg\:overflow-y-auto { scrollbar-width: thin; scrollbar-color: var(--sidebar-border, #333) transparent; }
aside.lg\:overflow-y-auto::-webkit-scrollbar { width: 4px; }
aside.lg\:overflow-y-auto::-webkit-scrollbar-track { background: transparent; }
aside.lg\:overflow-y-auto::-webkit-scrollbar-thumb { background: var(--sidebar-border, #333); border-radius: 4px; }

.pf-slider-wrapper, .pf-track-fill { border-radius: 9999px !important; }

/* Verified photos badge — expands label on card hover */
.mc-verified-badge { transition: all .3s ease; }
article:hover .mc-verified-badge .mc-verified-label,
.group:hover .mc-verified-badge .mc-verified-label { max-width: 200px !important; opacity: 1 !important; padding: 0 12px 0 8px !important; }
.pf-slider-wrapper { background: color-mix(in srgb, var(--sidebar, #fff) 70%, var(--sidebar-ring, #999) 30%) !important; height: 6px !important; }
.pf-track-fill { background: var(--sidebar-primary, #e91e8c) !important; height: 100% !important; top: 0 !important; }
.pf-slider-wrapper .thumb-left,
.pf-slider-wrapper .thumb-right { width: 18px !important; height: 18px !important; background: #fff !important; border: 3px solid var(--sidebar-primary, #e91e8c) !important; top: -6px !important; box-shadow: 0 1px 4px rgba(0,0,0,.3); }

/* Filter popup modal */
.sc-fp-overlay{position:fixed;inset:0;background:rgba(0,0,0,.6);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);z-index:2147483646;opacity:0;transition:opacity .3s;pointer-events:none;}
.sc-fp-overlay.is-open{opacity:1;pointer-events:auto;}
.sc-fp-modal{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%) scale(.95);width:min(520px,94vw);max-height:85vh;display:flex;flex-direction:column;z-index:2147483647;opacity:0;pointer-events:none;transition:opacity .3s,transform .3s;border:1px solid var(--sf-border,#333);}
.sc-fp-modal.is-open{opacity:1;pointer-events:auto;transform:translate(-50%,-50%) scale(1);}
.sc-fp-slider{position:relative;width:100%;height:6px;border-radius:3px !important;margin:8px 0;}
.sc-fp-slider-fill{position:absolute;height:100%;border-radius:3px !important;pointer-events:none;}
.sc-fp-slider input[type=range]{position:absolute;width:100%;top:-7px;height:20px;margin:0;padding:0;background:none;-webkit-appearance:none;appearance:none;pointer-events:none;z-index:2;}
.sc-fp-slider input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:22px;height:22px;border-radius:50% !important;background:#fff;border:3px solid var(--sf-accent,#e91e8c);box-shadow:0 1px 4px rgba(0,0,0,.3);cursor:pointer;pointer-events:auto;}
.sc-fp-slider input[type=range]::-moz-range-thumb{width:22px;height:22px;border-radius:50% !important;background:#fff;border:3px solid var(--sf-accent,#e91e8c);box-shadow:0 1px 4px rgba(0,0,0,.3);cursor:pointer;pointer-events:auto;}
.sc-fp-slider input[type=range]::-webkit-slider-runnable-track{background:transparent;}
.sc-fp-slider input[type=range]::-moz-range-track{background:transparent;border:none;}
.sc-fp-modal h1,.sc-fp-modal h2,.sc-fp-modal h3,.sc-fp-modal h4,.sc-fp-modal h5,.sc-fp-modal h6,.sc-fp-modal p,
#filterModal h1,#filterModal h2,#filterModal h3,#filterModal h4,#filterModal h5,#filterModal h6,#filterModal p{color:var(--sf-text,#fff) !important;font-size:inherit !important;font-weight:inherit !important;}
.sc-fp-acc .sc-fp-acc-body{max-height:0;overflow:hidden;transition:max-height .25s ease;}
.sc-fp-acc.is-open .sc-fp-acc-body{max-height:500px;}
.sc-fp-acc.is-open .sc-fp-acc-arrow{transform:rotate(180deg);}
