/* OPUS-extracted: visual system overrides (was inline 85KB in index.html block 3). Non-critical progressive enhancement. */

:root{--color-brand:#059669;--color-brand-hover:#047857;--color-brand-light:#ecfdf5;--color-brand-lighter:#d1fae5;--color-accent:#2563eb;--color-accent-hover:#1d4ed8;--color-accent-light:#eff6ff;--color-surface:#ffffff;--color-bg:#f8fafc;--color-bg-elevated:#ffffff;--color-text:#0f172a;--color-text-secondary:#334155;--color-text-muted:#64748b;--color-border:#e2e8f0;--color-border-focus:#059669;--color-error:#dc2626;--color-error-light:#fef2f2;--color-warning:#f59e0b;--color-warning-light:#fffbeb;--color-info:#3b82f6;--color-info-light:#eff6ff;--radius-sm:8px;--radius-md:12px;--radius-lg:16px;--radius-xl:24px;--radius-full:9999px;--shadow-sm:0 1px 2px rgb(0 0 0 / 0.05);--shadow-md:0 4px 12px rgb(0 0 0 / 0.08);--shadow-lg:0 12px 28px rgb(0 0 0 / 0.12);--shadow-xl:0 20px 40px rgb(0 0 0 / 0.15);--shadow-inner:inset 0 2px 4px rgb(0 0 0 / 0.06);--transition-fast:100ms ease-out;--transition:150ms ease-out;--transition-slow:250ms ease-out;--font-sans:'Inter',system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;--font-display:'Inter Tight','Inter',system-ui,sans-serif;--font-mono:'JetBrains Mono','Fira Code',monospace;--container-max:80rem;--header-height:4.5rem;--ink:#221d18;--ink-soft:#514b44;--paper:#f4f0e8;--accent:#f8d943;--accent-deep:#e8c623;--line:#d9d2c5;--font-display-weight:800}*{box-sizing:border-box}html{scroll-behavior:smooth}body{font-family:var(--font-sans);background-color:var(--color-bg);color:var(--color-text);line-height:1.6;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}:focus-visible{outline:2px solid var(--color-brand);outline-offset:2px}.skip-link{position:absolute;top:-100%;left:1rem;padding:0.75rem 1rem;background:var(--color-brand);color:white;border-radius:var(--radius-md);z-index:9999;font-weight:600}.skip-link:focus{top:1rem}.hero-bg{background:linear-gradient(135deg,#0f172a 0%,#1e293b 60%,#334155 100%);position:relative}.hero-bg::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse at top,rgba(5,150,105,0.15),transparent 50%),radial-gradient(ellipse at bottom right,rgba(139,92,246,0.12),transparent 50%);pointer-events:none}.marketplace-icon{filter:drop-shadow(0 4px 8px rgb(0 0 0 / 0.1));transition:transform var(--transition),filter var(--transition)}.marketplace-icon:hover{transform:scale(1.05);filter:drop-shadow(0 6px 12px rgb(0 0 0 / 0.15))}.product-card{display:flex;flex-direction:column;height:100%;opacity:1;transform:none}.product-card.visible{opacity:1;transform:none}#catalogGrid>*:nth-child(1).visible{transition-delay:.02s}#catalogGrid>*:nth-child(2).visible{transition-delay:.04s}#catalogGrid>*:nth-child(3).visible{transition-delay:.06s}#catalogGrid>*:nth-child(4).visible{transition-delay:.08s}#catalogGrid>*:nth-child(5).visible{transition-delay:.1s}#catalogGrid>*:nth-child(6).visible{transition-delay:.12s}#catalogGrid>*:nth-child(7).visible{transition-delay:.14s}#catalogGrid>*:nth-child(8).visible{transition-delay:.16s}.product-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg)}@keyframes modalPop{from{opacity:0;transform:scale(0.95)}to{opacity:1;transform:scale(1)}}.catalog-card img{object-fit:cover;transition:transform var(--transition-slow)}.catalog-card:hover img{transform:scale(1.03)}.catalog-card{background:#fff;border:2px solid #0f172a;border-radius:24px;box-shadow:6px 6px 0 #0f172a;overflow:hidden;transition:transform 250ms cubic-bezier(0.4,0,0.2,1),box-shadow 250ms cubic-bezier(0.4,0,0.2,1),opacity var(--transition-slow)}.catalog-card:hover{transform:translate(-4px,-4px);box-shadow:10px 10px 0 var(--jq-coral)}.catalog-card .catalog-image{border-bottom:2px solid #0f172a;background:linear-gradient(135deg,#e0f2fe,#fef3c7)}.catalog-card .catalog-image img{mix-blend-mode:multiply}.catalog-card .catalog-text-banner{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:2.5rem 1.5rem;min-height:180px;background:linear-gradient(135deg,#0f172a 0%,#1e293b 100%);border-bottom:2px solid #0f172a}.catalog-card .catalog-text-banner .ctb-kicker{font-size:.65rem;font-weight:800;letter-spacing:.18em;text-transform:uppercase;color:#f8d943;margin-bottom:.5rem}.catalog-card .catalog-text-banner .ctb-title{font-size:1.4rem;font-weight:900;line-height:1.05;color:#fff;text-transform:uppercase;letter-spacing:-.01em}.catalog-card .catalog-text-banner .ctb-sub{margin-top:.55rem;font-size:.72rem;font-weight:600;color:#94a3b8}.catalog-card .catalog-text-banner .ctb-tag{margin-top:.85rem;display:inline-block;font-size:.62rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:#0f172a;background:#c8f04b;padding:.25rem .6rem;border-radius:9999px}.catalog-card .catalog-category{color:#64748b;font-size:.7rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase}.catalog-card .catalog-title{color:#0f172a;font-weight:800}.catalog-card .catalog-title a:hover{color:var(--jq-coral)}.catalog-card .catalog-price{color:#0f172a;font-size:1.5rem;font-weight:800}.catalog-card .catalog-kwork{border:2px solid #0f172a;color:#0f172a;font-weight:800}.catalog-card .catalog-kwork:hover{background:var(--jq-lime)}.modal{animation:modalPop 0.3s ease}.reviews-scroll::-webkit-scrollbar{display:none}.reviews-scroll{-ms-overflow-style:none;scrollbar-width:none}.btn{display:inline-flex;align-items:center;justify-content:center;gap:0.5rem;font-family:var(--font-sans);font-weight:700;font-size:0.875rem;letter-spacing:0.02em;border-radius:var(--radius-lg);transition:all var(--transition);cursor:pointer;border:none;text-decoration:none;white-space:nowrap;min-height:44px}.btn:active{transform:scale(0.98)}.btn:disabled{opacity:0.5;cursor:not-allowed;transform:none}.btn-primary{background:var(--color-brand);color:white;box-shadow:var(--shadow-md)}.btn-primary:hover:not(:disabled){background:var(--color-brand-hover);box-shadow:var(--shadow-lg);transform:translateY(-2px)}.btn-secondary{background:var(--color-surface);color:var(--color-text);border:1px solid var(--color-border)}.btn-secondary:hover:not(:disabled){background:var(--color-bg);border-color:var(--color-brand);color:var(--color-brand)}.btn-ghost{background:transparent;color:var(--color-text-secondary);border:1px solid transparent}.btn-ghost:hover:not(:disabled){background:var(--color-bg);color:var(--color-brand)}.btn-outline-brand{background:transparent;color:var(--color-brand);border:2px solid var(--color-brand)}.btn-outline-brand:hover:not(:disabled){background:var(--color-brand);color:white}.type-selected{background:var(--color-bg) !important;color:var(--color-text) !important;border:2px solid var(--color-brand) !important;box-shadow:4px 4px 0 var(--color-brand) !important}.type-selected .text-slate-500{color:var(--color-text) !important}.btn-lg{padding:1rem 2rem;font-size:1rem}.btn-md{padding:0.75rem 1.5rem}.btn-sm{padding:0.625rem 1rem;font-size:0.8125rem;min-height:44px}.btn-xl{padding:1.25rem 2.5rem;font-size:1.125rem}.hero-btn-primary{background:white;color:var(--color-text)}.hero-btn-primary:hover{background:var(--color-bg);color:var(--color-brand);box-shadow:var(--shadow-xl)}.hero-btn-secondary{background:transparent;color:white;border:2px solid rgba(255,255,255,0.5);backdrop-filter:blur(4px)}.hero-btn-secondary:hover{background:rgba(255,255,255,0.1);border-color:rgba(255,255,255,0.9)}.hero-btn-ghost{background:transparent;color:white;border:2px solid rgba(255,255,255,0.3)}.hero-btn-ghost:hover{background:rgba(16,185,129,0.1);border-color:rgba(16,185,129,0.6);color:#a7f3d0}.hero-btn-icon{transition:transform var(--transition-fast)}.hero-btn-primary:hover .hero-btn-icon,.hero-btn-secondary:hover .hero-btn-icon,.hero-btn-ghost:hover .hero-btn-icon{transform:translateX(3px)}.hero-btn-text{font-family:var(--font-sans);font-weight:800;letter-spacing:0.04em;text-transform:uppercase;font-size:0.875rem}.dropdown-menu{opacity:0;visibility:hidden;transform:translateY(8px);transition:opacity var(--transition) cubic-bezier(0.4,0,0.2,1),transform var(--transition) cubic-bezier(0.4,0,0.2,1),visibility 0s linear var(--transition)}.dropdown-menu::before{content:"";position:absolute;top:-12px;left:0;right:0;height:12px;background:transparent}.dropdown:hover .dropdown-menu,.dropdown.active .dropdown-menu{opacity:1;visibility:visible;transform:translateY(0)}.dropdown-arrow{transition:transform var(--transition-fast)}.dropdown:hover .dropdown-arrow{transform:rotate(180deg)}.dropdown-item{transition:all var(--transition-fast)}.dropdown-item:hover{padding-left:1.25rem;background:linear-gradient(90deg,var(--color-brand-light),transparent)}.skeleton{background:linear-gradient(90deg,var(--color-border) 25%,var(--color-bg-elevated) 50%,var(--color-border) 75%);background-size:200% 100%;animation:skeleton-loading 1.5s infinite;border-radius:var(--radius-md)}@keyframes skeleton-loading{0%{background-position:200% 0}100%{background-position:-200% 0}}.badge{display:inline-flex;align-items:center;padding:0.25rem 0.625rem;font-size:0.6875rem;font-weight:700;letter-spacing:0.04em;text-transform:uppercase;border-radius:var(--radius-full)}.badge-new{background:var(--color-brand-light);color:#047857}.badge-popular{background:var(--color-warning-light);color:#92400e}.badge-hot{background:#fce7f3;color:#db2777}.card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl);overflow:hidden;transition:box-shadow var(--transition),transform var(--transition),border-color var(--transition)}.card:hover{box-shadow:var(--shadow-md);border-color:var(--color-brand-lighter)}.input{width:100%;padding:0.875rem 1rem;font-family:var(--font-sans);font-size:1rem;color:var(--color-text);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}.input:focus{outline:none;border-color:var(--color-brand);box-shadow:0 0 0 3px var(--color-brand-light)}.input::placeholder{color:var(--color-text-muted)}.input-error{border-color:var(--color-error)}.input-error:focus{box-shadow:0 0 0 3px var(--color-error-light)}.label{display:block;font-size:0.875rem;font-weight:600;color:var(--color-text-secondary);margin-bottom:0.5rem}.stepper{display:flex;align-items:center;gap:0.5rem;margin-bottom:1.5rem}.stepper-step{display:flex;flex-direction:column;align-items:center;flex:1;position:relative}.stepper-step:not(:last-child)::after{content:'';position:absolute;top:1rem;left:50%;width:100%;height:2px;background:var(--color-border);z-index:0}.stepper-step.active:not(:last-child)::after{background:var(--color-brand)}.stepper-circle{width:2rem;height:2rem;border-radius:50%;background:var(--color-bg);border:2px solid var(--color-border);display:flex;align-items:center;justify-content:center;font-weight:700;font-size:0.875rem;color:var(--color-text-muted);position:relative;z-index:1;transition:all var(--transition)}.stepper-step.active .stepper-circle{background:var(--color-brand);border-color:var(--color-brand);color:white}.stepper-step.completed .stepper-circle{background:var(--color-brand);border-color:var(--color-brand);color:white}.stepper-label{margin-top:0.375rem;font-size:0.6875rem;font-weight:600;color:var(--color-text-muted);text-align:center;white-space:nowrap}.stepper-step.active .stepper-label{color:var(--color-brand)}.stepper-step.completed .stepper-label{color:var(--color-text-secondary)}.stepper.grid.grid-cols-3 .stepper-step{display:flex;flex-direction:row;align-items:center;gap:0.625rem;flex:1;position:relative}.stepper.grid.grid-cols-3 .stepper-step:not(:last-child)::after{content:none}.stepper.grid.grid-cols-3{gap:0.5rem;margin-bottom:2rem}.stepper.grid.grid-cols-3 .stepper-step.active{border-color:#0f172a;background:#fff;box-shadow:4px 4px 0 #0f172a}.stepper.grid.grid-cols-3 .stepper-step.active .stepper-circle{background:var(--jq-coral);border-color:#0f172a;color:#fff}.stepper.grid.grid-cols-3 .stepper-step.active .stepper-label{color:#0f172a}.stepper.grid.grid-cols-3 .stepper-step.completed{border-color:#0f172a;background:#ecfdf5}.stepper.grid.grid-cols-3 .stepper-step.completed .stepper-circle{background:#10b981;border-color:#0f172a;color:#fff}.stepper.grid.grid-cols-3 .stepper-step.completed .stepper-circle::before{content:'✓';font-size:0.75rem}.stepper.grid.grid-cols-3 .stepper-step.completed .stepper-circle > *{display:none}.stepper.grid.grid-cols-3 .stepper-step.completed .stepper-label{color:#047857}.stepper.grid.grid-cols-3 .stepper-circle{width:1.75rem;height:1.75rem;border-radius:0.5rem;position:static}.review-avatar{width:3rem;height:3rem;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:1rem;color:white;flex-shrink:0}.carousel-dots{display:flex;justify-content:center;gap:0.5rem;margin-top:1.5rem}.carousel-dot{width:0.625rem;height:0.625rem;border-radius:50%;background:var(--color-border);border:none;padding:0;cursor:pointer;transition:all var(--transition-fast)}.carousel-dot.active{background:var(--color-brand);transform:scale(1.2)}.carousel-dot:hover{background:var(--color-brand-hover)}#orderModal #modal-title{font-family:var(--font-display);font-size:1.375rem;line-height:1.15;letter-spacing:.01em}#orderModal .bg-slate-900 > div:first-child p{font-size:11.5px;font-weight:600;letter-spacing:.02em;color:#cbd5e1}#orderModal .label{font-family:var(--font-display);font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.08em;color:#0f172a;margin-bottom:.625rem}#orderModal .label .text-xs{font-weight:700;letter-spacing:.02em;text-transform:none}#orderTypeSelector [role="radio"] span.font-extrabold{font-family:var(--font-display);font-size:13px;letter-spacing:.04em;line-height:1.2}#orderTypeSelector [role="radio"] span.text-\[11px\]{font-weight:600;line-height:1.35}#parsingCategoriesBlock .label,#geoBlock .label,#readyBasesCatalogBlock .label{line-height:1.5rem}#parsingCatsCounter,#geoCounter,#readyBasesCounter{line-height:1.4;vertical-align:middle}#readyBasesTotal,#selectedBaseSummaryPrice{font-family:var(--font-display);font-variant-numeric:tabular-nums;letter-spacing:-.01em}#readyBasesSummaryBlock .items-baseline{align-items:baseline}#orderModal p.text-xs.text-slate-500{line-height:1.45;font-weight:500}#descCounter{font-variant-numeric:tabular-nums;letter-spacing:.01em}#orderModal #submitBtn{font-family:var(--font-display);font-size:1.0625rem;font-weight:800;letter-spacing:.01em;line-height:1.2;padding-top:1.05rem;padding-bottom:1.05rem}#orderModal .bg-slate-100.border-2.border-slate-200 span:last-child{line-height:1.5}#selectedBaseSummary > div:first-child,#readyBasesSummaryBlock .text-xs.font-extrabold{font-family:var(--font-display);font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.1em}#orderForm > .space-y-6 > * + *{margin-top:1.375rem}#selectedBaseSummaryTitle{font-size:1.0625rem;line-height:1.3;font-weight:700;overflow-wrap:anywhere}#readyBasesTitles{line-height:1.55}#headerInner{padding-top:1rem;padding-bottom:1rem}.payment-modal-dialog{max-height:90dvh}#paymentModal{display:flex;align-items:center;justify-content:center}@media (max-width:640px){html,body{overflow-x:hidden}#main{padding-top:0;padding-bottom:5rem}#headerInner{padding-top:.5rem;padding-bottom:.5rem}#paymentModal{padding:0;align-items:stretch}.payment-modal-dialog{margin:0;border-radius:0;max-height:none;height:100%;height:100dvh;display:flex;flex-direction:column}.payment-modal-dialog > .p-6{flex:1;overflow:auto;display:flex;flex-direction:column}.payment-modal-dialog #paymentSubmitBtn{margin-top:auto;border:2px solid #0f172a;flex-shrink:0;-webkit-transform:translateZ(0);transform:translateZ(0)}.hero-btn-primary,.hero-btn-secondary,.hero-btn-ghost{width:100%}.trust-bar{gap:1rem 1.5rem;padding:1.25rem 1rem;flex-direction:column}.trust-bar-item{white-space:normal;text-align:center;justify-content:center;width:100%}.stepper-label{white-space:normal;line-height:1.3;max-width:5rem}#orderModal .grid.grid-cols-2[role="radiogroup"]{grid-template-columns:1fr}#orderModal .btn-lg{padding-left:.9rem;padding-right:.9rem;font-size:.9rem}#catalogSearch,#catalogCategory,#catalogSort{min-width:0}.modal-bottom-sheet{position:fixed;bottom:0;left:0;right:0;border-radius:var(--radius-xl) var(--radius-xl) 0 0;max-height:85vh;max-width:none;margin:0;animation:slideUp 0.3s ease}#orderModal > div{width:100%;max-width:none;max-height:92vh;margin:0;border-radius:var(--radius-xl) var(--radius-xl) 0 0;align-self:flex-end;animation:slideUp 0.3s ease}#paymentModal > div{width:100%;max-width:none;max-height:none;height:100%;height:100dvh;margin:0;border-radius:0;align-self:stretch;animation:none;display:flex;flex-direction:column}#orderModal{align-items:flex-end}#paymentModal{align-items:stretch}#orderModal > div > div,#paymentModal > div > div{padding:1.5rem}#paymentModal .flex.items-center.justify-center{flex-wrap:wrap;gap:.75rem 1.25rem}#mobileMenuBtn,button[aria-label="Предыдущий отзыв"],button[aria-label="Следующий отзыв"]{min-width:44px;min-height:44px}#catalogPagination,#catalogPaginationTop{flex-wrap:wrap;gap:0.5rem}footer{padding-bottom:4.5rem}@keyframes slideUp{from{transform:translateY(100%);opacity:0}to{transform:translateY(0);opacity:1}}.stepper-label{font-size:0.625rem}.stepper-circle{width:1.75rem;height:1.75rem;font-size:0.75rem}.jq-blob{max-width:65vw;max-height:65vw}h1{font-size:clamp(2rem,9vw,2.75rem) !important}.jq-card{margin-bottom:0.5rem}.jq-mp-logo{width:48px !important;height:48px !important}}.toast{position:fixed;bottom:1.5rem;right:1.5rem;padding:1rem 1.5rem;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-xl);display:flex;align-items:center;gap:0.75rem;z-index:1000;animation:slideIn 0.3s ease;max-width:28rem}@keyframes slideIn{from{transform:translateX(100%);opacity:0}to{transform:translateX(0);opacity:1}}.toast.success{border-left:4px solid var(--color-brand)}.toast.error{border-left:4px solid var(--color-error)}.toast.info{border-left:4px solid var(--color-info)}.trust-bar{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:1.25rem 2.5rem;margin-top:1.5rem;padding:1.5rem 2rem;border-radius:24px;background:white;box-shadow:0 10px 40px rgba(0,0,0,0.08),0 2px 8px rgba(0,0,0,0.04);font-size:0.875rem;color:var(--color-text-secondary);border:1px solid rgba(226,232,240,0.6)}.trust-bar-item{display:flex;align-items:center;gap:0.5rem;white-space:nowrap;transition:transform 0.2s ease}.trust-bar-item svg{flex-shrink:0}.table-mockup{background:var(--color-surface);border-radius:var(--radius-xl);box-shadow:var(--shadow-xl);overflow:hidden;max-width:100%}.table-mockup-header{background:var(--color-bg);border-bottom:1px solid var(--color-border);padding:0.75rem 1rem;display:flex;align-items:center;gap:0.5rem}.table-mockup-dots{display:flex;gap:0.375rem}.table-mockup-dot{width:0.5rem;height:0.5rem;border-radius:50%;background:var(--color-border)}.table-mockup-dot:first-child{background:#ff5f57}.table-mockup-dot:nth-child(2){background:#febc2e}.table-mockup-dot:last-child{background:#28ca42}.table-mockup-body{overflow-x:auto;max-height:30rem}.table-mockup-table{width:100%;border-collapse:collapse;min-width:500px}.table-mockup-table th,.table-mockup-table td{padding:0.75rem 1rem;text-align:left;font-size:0.8125rem}.table-mockup-table th{background:var(--color-bg);font-weight:700;color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:0.05em;border-bottom:1px solid var(--color-border);position:sticky;top:0;z-index:1}.table-mockup-table td{color:var(--color-text);border-bottom:1px solid var(--color-border)}.table-mockup-table tr:last-child td{border-bottom:none}.table-mockup-table tr:hover td{background:var(--color-bg)}.table-mockup-table .cell-name{font-weight:600;color:var(--color-text)}.table-mockup-table .cell-muted{color:var(--color-text-muted);font-size:0.75rem}.sample-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:1rem}.sample-card{padding:1.5rem;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl);text-align:center;transition:all var(--transition);position:relative}.sample-card:hover{border-color:var(--color-brand);box-shadow:var(--shadow-md);transform:translateY(-2px)}.sample-icon{width:44px;height:44px;margin:0 auto .9rem;border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:1.05rem;border:2px solid #0f172a;box-shadow:3px 3px 0 #0f172a}.sample-icon--xlsx{background:#dcfce7;color:#15803d}.sample-icon--csv{background:#e0f2fe;color:#0369a1}.sample-icon--json{background:#fef3c7;color:#b45309}.sample-icon--gsheet{background:#ecfdf5;color:#059669}.sample-icon--phone{background:#fce7f3;color:#be185d}.sample-icon--geo{background:#ede9fe;color:#6d28d9}.sample-card:hover .sample-icon{transform:translate(-2px,-2px);box-shadow:5px 5px 0 var(--jq-coral)}.sample-icon{transition:all 180ms ease-out}.sample-title{font-weight:700;margin-bottom:0.25rem}.sample-meta{font-size:0.75rem;color:var(--color-text-muted)}header.scrolled{box-shadow:0 4px 20px rgba(0,0,0,0.08);background:rgba(255,255,255,0.98);backdrop-filter:blur(12px);border-bottom:1px solid rgba(226,232,240,0.8)}.footer-link{color:#94a3b8;transition:color var(--transition-fast),opacity var(--transition-fast);font-size:.9rem}.footer-link:hover{color:var(--color-brand);opacity:1}.category-chip.active{border-color:var(--color-brand) !important;background:var(--color-brand-light);color:var(--color-brand);font-weight:600}:root{--jq-coral:#ff5b2e;--jq-violet:#7b5cff;--jq-lime:#c8f04b;--jq-yellow:#ffc531;--jq-pink:#ff5fa2;--jq-grad:linear-gradient(120deg,#ff5b2e 0%,#ff5fa2 32%,#7b5cff 65%,#2e5bff 100%)}.jq-ticker{overflow:hidden;white-space:nowrap;background:#0f172a;color:#fff;border-top:3px solid #0f172a;border-bottom:3px solid #0f172a;padding:.9rem 0;font-weight:800;text-transform:uppercase;letter-spacing:.05em;font-size:.95rem}body .jq-ticker-track{display:flex;width:max-content;animation:jq-ticker-scroll 28s linear infinite!important;will-change:transform}.jq-ticker-group{display:inline-flex;align-items:center;gap:2.5rem;padding-right:2.5rem;flex:0 0 auto}.jq-ticker-group .dot{color:var(--jq-lime)}body .jq-ticker:hover .jq-ticker-track{animation-play-state:paused!important}@keyframes jq-ticker-scroll{from{transform:translateX(0)}to{transform:translateX(-50%)}}.jq-marker{background:var(--jq-lime);padding:0 .18em;box-decoration-break:clone;-webkit-box-decoration-break:clone}@keyframes pulse-subtle{0%,100%{transform:scale(1) rotate(3deg)}50%{transform:scale(1.02) rotate(3deg)}}.animate-pulse-subtle{animation:pulse-subtle 3s ease-in-out infinite}@keyframes float{0%,100%{transform:translateY(0px)}50%{transform:translateY(-10px)}}.animate-float{animation:float 3s ease-in-out infinite}.transition-all{transition:all 0.3s cubic-bezier(0.4,0,0.2,1)}.shadow-soft{box-shadow:0 10px 40px rgba(0,0,0,0.1)}.shadow-glow{box-shadow:0 8px 32px rgba(5,150,105,0.2)}.jq-marker-coral{background:var(--jq-coral);color:#fff;padding:0 .18em;box-decoration-break:clone;-webkit-box-decoration-break:clone}.jq-marker-violet{background:var(--jq-violet);color:#fff;padding:0 .18em;box-decoration-break:clone;-webkit-box-decoration-break:clone}.jq-outline{color:transparent;-webkit-text-stroke:2px #0f172a}.jq-grad-text{background:var(--jq-grad);-webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-fill-color:transparent}.jq-blob{position:absolute;border-radius:50%;filter:blur(80px);opacity:.55;pointer-events:none;z-index:0}.jq-btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;font-weight:800;font-size:.875rem;text-transform:uppercase;letter-spacing:.03em;padding:1rem 2rem;border-radius:9999px;background:#0f172a;color:#fff;border:2px solid #0f172a;box-shadow:5px 5px 0 #0f172a;transition:all 200ms cubic-bezier(0.4,0,0.2,1);cursor:pointer;text-decoration:none;white-space:nowrap;font-family:inherit}.jq-btn:hover{background:var(--jq-coral);transform:translate(-3px,-3px);box-shadow:8px 8px 0 #0f172a}.jq-btn:active{transform:translate(2px,2px);box-shadow:2px 2px 0 #0f172a}.jq-btn-light{background:#fff;color:#0f172a}.jq-btn-light:hover{background:var(--jq-lime)}.jq-btn-coral{background:var(--jq-coral);color:#fff}.jq-btn-coral:hover{background:var(--jq-pink)}.jq-btn-primary{background:#c73a14;color:#fff}.jq-btn-primary:hover{background:#be185d}.jq-section-title{font-weight:800;text-transform:uppercase;letter-spacing:-.02em;line-height:.98;font-size:clamp(2rem,5vw,3.5rem)}.jq-chip{display:inline-flex;align-items:center;gap:.4rem;padding:.35rem .85rem;border-radius:9999px;font-weight:800;font-size:.75rem;text-transform:uppercase;letter-spacing:.04em;background:#fff;color:#0f172a;border:2px solid #0f172a;box-shadow:3px 3px 0 #0f172a}.jq-card{background:#fff;border:2px solid #0f172a;border-radius:24px;box-shadow:6px 6px 0 #0f172a;transition:all 250ms cubic-bezier(0.4,0,0.2,1)}.jq-card:hover{transform:translate(-4px,-4px);box-shadow:10px 10px 0 var(--jq-coral)}.jq-card:active{transform:translate(2px,2px);box-shadow:4px 4px 0 #0f172a}.jq-mp-top{height:120px;border-bottom:2px solid #0f172a;display:flex;align-items:center;justify-content:center;font-weight:800;font-size:3rem;color:#fff;text-shadow:3px 3px 0 rgba(0,0,0,.2);position:relative}.jq-mp-logo{width:auto;height:62px;border-radius:16px;border:2px solid #0f172a;box-shadow:4px 4px 0 #0f172a;object-fit:contain;background:#fff}.jq-mp-ozon{background:#eaf3ff}.jq-mp-wb{background:#fdeef6}.jq-mp-yandex{background:#fff8e1}.jq-mp-sber{background:#e6f9f0}.jq-mp-maps{background:#fff1ed}.jq-mp-2gis{background:#edfcf2}.card-date{display:inline-flex;align-items:center;gap:.4rem;font-size:.72rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:#047857;background:#ecfdf5;border:1px solid #a7f3d0;border-radius:9999px;padding:.25rem .65rem;margin-top:.75rem}.card-date i{color:#059669;font-size:.8rem}.card-date--maps{color:#b45309;background:#fffbeb;border-color:#fde68a}.card-date--maps i{color:#d97706}.jq-clickable{position:relative}.jq-clickable .stretched-link::after{content:'';position:absolute;inset:0;z-index:1;border-radius:inherit}.jq-clickable .stretched-link{color:inherit;text-decoration:none}.jq-clickable .stretched-link:hover h3{text-decoration:underline;text-decoration-thickness:3px;text-decoration-color:var(--jq-coral);text-underline-offset:4px}.jq-clickable .jq-btn{position:relative;z-index:2;pointer-events:auto}.jq-card-overlay{position:absolute;inset:0;z-index:1}.fb-strike{position:relative;display:inline-block;color:rgba(255,255,255,.5)}.fb-strike::after{content:'';position:absolute;left:-4px;right:-4px;top:50%;height:clamp(4px,.6vw,7px);background:var(--accent);transform:translateY(-50%)}.fb-hero-grid{position:absolute;inset:0;display:grid;grid-template-columns:repeat(4,1fr);pointer-events:none}.fb-hero-grid > div{border-right:1px solid rgba(255,255,255,.05)}.fb-hero-ring{position:absolute;border-radius:9999px;border:1px solid rgba(248,217,67,.25);pointer-events:none}.fb-badge-spin{animation:fb-spin 22s linear infinite}@keyframes fb-spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.fb-badge-spin{animation:none !important}}.fb-scroll-dot{animation:fb-scroll 1.8s ease-in-out infinite}@keyframes fb-scroll{0%{transform:translateY(-100%)}100%{transform:translateY(400%)}}@media (prefers-reduced-motion:reduce){.fb-scroll-dot{animation:none !important}}.fb-label{display:inline-block;background:var(--accent);color:var(--ink);padding:.35rem .75rem;font-family:var(--font-display);font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.14em;border-radius:2px}.fb-label-lg{font-size:clamp(16px,2vw,22px);padding:.6rem 1.4rem;letter-spacing:.12em;border-radius:3px}.fb-row{display:grid;grid-template-columns:44px minmax(0,1fr) 44px;align-items:center;gap:.75rem 1rem;width:100%;text-align:left;border-bottom:1px solid var(--ink);padding:2rem 1.5rem;transition:background-color .25s ease-out;background:transparent;cursor:pointer}@media (min-width:1024px){.fb-row{grid-template-columns:100px minmax(0,1fr) 300px 180px;gap:2rem;padding:2.75rem 3rem;min-height:9rem}}.fb-row:hover,.fb-row:focus-visible{background:var(--accent)}.fb-row-num{font-family:var(--font-display);font-size:10px;font-weight:600;color:var(--ink-soft);letter-spacing:.1em}.fb-row-title{font-family:var(--font-display);font-size:clamp(1.6rem,4vw,3.2rem);font-weight:850;line-height:1;letter-spacing:-.04em;color:var(--ink);text-transform:uppercase}.fb-row-desc{font-size:1rem;line-height:1.55;color:rgba(34,29,24,.72)}.fb-row-cta{font-family:var(--font-display);font-weight:700;text-align:right;color:var(--ink);white-space:nowrap}@media (max-width:1023.5px){.fb-row-cta{font-size:1.5rem}.fb-row-cta span{display:none}}.fb-grid{display:grid;border-left:1px solid var(--ink);border-top:1px solid var(--ink)}.fb-grid > *{border-right:1px solid var(--ink);border-bottom:1px solid var(--ink)}.fb-cell{display:flex;min-height:6rem;align-items:center;justify-content:center;padding:1.25rem;transition:background-color .2s ease-out}.fb-cell:hover{background:var(--paper)}.fb-footer-logo{font-family:var(--font-display);font-weight:900;font-size:clamp(56px,11vw,150px);line-height:.82;letter-spacing:-.06em;color:transparent;-webkit-text-stroke:1px rgba(248,217,67,.5);user-select:none;text-align:center}.fb-under{text-decoration:underline;text-decoration-color:var(--accent);text-decoration-thickness:.14em;text-underline-offset:.12em}.fb-step-row{display:grid;grid-template-columns:56px minmax(0,1fr);grid-template-areas:"num title" "num desc" "num tag";column-gap:1.25rem;align-items:start;width:100%;padding:1.75rem 1rem;border-bottom:1px solid rgba(255,255,255,.25);text-decoration:none;background:transparent;cursor:pointer;transition:background-color .2s ease-out,padding-left .25s ease-out}.fb-step-row:hover,.fb-step-row:focus-visible{background:var(--accent);padding-left:1.75rem}.fb-step-num{grid-area:num;font-family:var(--font-display);font-size:.9rem;font-weight:700;color:transparent;-webkit-text-stroke:1px var(--accent);letter-spacing:.08em;padding-top:.35rem;transition:-webkit-text-stroke-color .2s ease-out,color .2s ease-out}.fb-step-row:hover .fb-step-num,.fb-step-row:focus-visible .fb-step-num{-webkit-text-stroke-color:var(--ink);color:var(--ink)}.fb-step-title{grid-area:title;display:block;font-family:var(--font-display);font-size:clamp(1.4rem,3vw,2.2rem);font-weight:800;line-height:1.1;letter-spacing:-.03em;color:#fff;margin-bottom:.4rem;transition:color .2s ease-out}.fb-step-row:hover .fb-step-title,.fb-step-row:focus-visible .fb-step-title{color:var(--ink)}.fb-step-desc{grid-area:desc;display:block;font-size:.95rem;line-height:1.55;color:rgba(255,255,255,.65);max-width:46ch;transition:color .2s ease-out}.fb-step-row:hover .fb-step-desc,.fb-step-row:focus-visible .fb-step-desc{color:rgba(34,29,24,.8)}.fb-step-tag{grid-area:tag;justify-self:start;display:inline-block;margin-top:.9rem;font-family:var(--font-display);font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.12em;color:rgba(255,255,255,.55);border:1px solid rgba(255,255,255,.35);border-radius:9999px;padding:.3rem .8rem;transition:color .2s ease-out,border-color .2s ease-out,background-color .2s ease-out}.fb-step-row:hover .fb-step-tag,.fb-step-row:focus-visible .fb-step-tag{color:var(--ink);border-color:var(--ink);background:rgba(34,29,24,.08)}@media (min-width:1024px){.fb-step-row{grid-template-columns:100px minmax(0,1.1fr) minmax(0,1fr) 150px;grid-template-areas:"num title desc tag";align-items:center;column-gap:2rem;padding:2.5rem 2rem}.fb-step-row:hover{padding-left:2.75rem}.fb-step-num{font-size:1.1rem;padding-top:0}.fb-step-desc{max-width:none}.fb-step-tag{margin-top:0;justify-self:end}}@media (max-width:1023.5px){.fb-step-row:hover{padding-left:1.25rem}}.jq-section-title{font-family:var(--font-display) !important;font-weight:800 !important;letter-spacing:-.035em !important}.fb-pill{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:.75rem 1.75rem;border-radius:9999px;font-family:var(--font-display);font-weight:700;font-size:.875rem;background:var(--accent);color:var(--ink);transition:transform .25s ease-out,background-color .25s ease-out,color .25s ease-out;cursor:pointer;border:none;text-decoration:none}.fb-pill:hover{transform:translateY(-2px)}.fb-pill-dark{background:var(--ink);color:#fff}.fb-pill-dark:hover{background:var(--accent);color:var(--ink)}.fb-pill-outline{background:transparent;color:inherit;border:1px solid rgba(255,255,255,.35)}.fb-pill-outline:hover{background:rgba(255,255,255,.08);transform:none}.fb-pill-xl{min-height:88px;padding:1.5rem 3.5rem;font-size:1.75rem;border-radius:9999px;gap:0}.fb-pill-xl:hover{transform:translateY(-4px)}

/* Hero: фоновая карта данных России (hero-data-map.svg) + градиент затемнения для читаемости текста */
.hero-data-bg { position: absolute; inset: 0; background-position: center; background-size: cover; opacity: .9; pointer-events: none; }
.hero-data-bg img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: center; }
.hero-data-bg::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(15,23,42,.65) 0%, rgba(15,23,42,.30) 38%, rgba(15,23,42,.10) 62%, rgba(15,23,42,.20) 100%), linear-gradient(180deg, rgba(15,23,42,.50) 0%, rgba(15,23,42,.15) 55%, rgba(15,23,42,.55) 100%); }
@media (max-width: 767px) { .hero-data-bg { background-size: 175% auto; background-position: 60% center; } .hero-data-bg img { object-position: 60% center; } .hero-data-bg::after { background: linear-gradient(180deg, rgba(15,23,42,.60) 0%, rgba(15,23,42,.30) 55%, rgba(15,23,42,.65) 100%); } }
/* Медленное «приближение» фоновой карты в hero — ОТКЛЮЧЕНО (тормозило страницу). Фон статичен. */
/* @keyframes fb-hero-map-zoom { from { transform: scale(1); } to { transform: scale(1.12); } }
@media (min-width: 768px) { body #hero .hero-data-bg { transform-origin: 54% 42%; animation: fb-hero-map-zoom 26s ease-in-out infinite alternate !important; will-change: transform; } } */
/* MOBILE_FIX_V1: страховка от горизонтального скролла + touch-targets 44px */
  html, body { overflow-x: hidden; }
  @media (max-width: 640px) {
    .jq-blob { max-width: 60vw; max-height: 60vw; }
    #mobileMenuBtn { min-width: 44px; min-height: 44px; }
    #mobileMenu a, #mobileMenu button { min-height: 44px; }
#mobileMenu { max-height: calc(100dvh - 60px); overflow-y: auto; -webkit-overflow-scrolling: touch; }
main > section[id], footer[id], section[id] { scroll-margin-top: 84px; }
    #mobileMenu .mobile-dropdown-toggle { min-height: 48px; }
    button[aria-label="Предыдущий отзыв"],
    button[aria-label="Следующий отзыв"] { min-width: 44px; min-height: 44px; }
    .jq-btn { min-height: 44px; }
    .dropdown-item { min-height: 44px; }
    /* Дизайн-фишки Studio-JQ */
    #mobileMenu a:active { transform: scale(.98); }
    .jq-btn:active { transform: translate(2px,2px); box-shadow: 0 0 0 currentColor; }
    .jq-card:active { transform: translate(2px,2px); box-shadow: 3px 3px 0 var(--jq-coral); }
    .reviews-scroll::-webkit-scrollbar { display: none; }
    body { padding-bottom: env(safe-area-inset-bottom); }
  }
/* FirmBaza visual system: Apple-inspired restraint without changing page behavior. */
:root {
  --fb-surface: #ffffff;
  --fb-surface-muted: #f5f5f7;
  --fb-text: #1d1d1f;
  --fb-text-secondary: #6e6e73;
  --fb-line: #d2d2d7;
  --fb-accent: #059669;
  --fb-accent-dark: #047857;
  --fb-radius: 18px;
  --fb-shadow: 0 8px 30px rgb(0 0 0 / 0.07);
}

html { background: var(--fb-surface-muted); }
body {
  color: var(--fb-text);
  background: var(--fb-surface-muted);
  font-family: -apple-system, BlinkMacSystemFont, "SF Pro Display", "SF Pro Text", "Segoe UI", Roboto, Helvetica, Arial, sans-serif !important;
  font-weight: 400;
  letter-spacing: -0.01em;
  font-variant-numeric: tabular-nums;
  font-feature-settings: "tnum" on, "cv11" on;
}

body h1,
body h2,
body h3,
body h4 {
  font-family: inherit !important;
  color: var(--fb-text);
  letter-spacing: -0.02em;
  text-wrap: balance;
  overflow-wrap: break-word;
}
body h1 {
  font-size: clamp(2rem, 1.3rem + 3.4vw, 4rem) !important;
  font-weight: 700 !important;
  line-height: 1.06 !important;
}
body h2 {
  font-size: clamp(1.55rem, 1.2rem + 1.9vw, 2.6rem) !important;
  font-weight: 700 !important;
  line-height: 1.12 !important;
}
body h3,
body h4 {
  font-weight: 600 !important;
  line-height: 1.25 !important;
}
body p,
body li,
body label {
  letter-spacing: -0.005em;
  text-wrap: pretty;
}
.hero-bg h1,
.hero-bg h2,
.hero-bg h3,
.hero-bg h4,
.hero-bg p,
.jq-hero h1.text-white,
.jq-hero h2.text-white,
.jq-hero h3.text-white,
.jq-hero p.text-white {
  color: #ffffff !important;
}

header {
  background: rgb(255 255 255 / 0.92) !important;
  border-bottom: 1px solid var(--fb-line) !important;
  -webkit-backdrop-filter: saturate(180%) blur(16px);
  backdrop-filter: saturate(180%) blur(16px);
}

main > section:not(.hero-bg):not(.jq-hero) { border-color: var(--fb-line); }

.jq-card,
.product-card,
.catalog-card,
.card {
  border: 1px solid var(--fb-line) !important;
  border-radius: var(--fb-radius) !important;
  box-shadow: var(--fb-shadow) !important;
  transition: transform 220ms ease, box-shadow 220ms ease, border-color 220ms ease;
}
.jq-card:hover,
.product-card:hover,
.catalog-card:hover,
.card:hover {
  border-color: #a7a7ad !important;
  box-shadow: 0 14px 36px rgb(0 0 0 / 0.11) !important;
  transform: translateY(-3px);
}

/* Keep bundle offers readable when the global light theme meets a dark card. */
a.jq-card[style*="background:#0f172a"] h1,
a.jq-card[style*="background:#0f172a"] h2,
a.jq-card[style*="background:#0f172a"] h3,
a.jq-card[style*="background:#0f172a"] h4,
a.jq-card[style*="background:#0f172a"] p,
a.jq-card[style*="background:#0f172a"] .text-slate-400,
a.jq-card[style*="background:#0f172a"] .text-slate-500,
a.jq-card[style*="background:#0f172a"] .text-slate-300 {
  color: #ffffff !important;
}
a.jq-card[style*="background:#0f172a"] .badge {
  color: #0f172a !important;
}
section[style*="background:#0f172a"] h1,
section[style*="background:#0f172a"] h2,
section[style*="background:#0f172a"] h3,
section[style*="background:#0f172a"] h4,
section[style*="background:#0f172a"] p,
section[style*="background:#0f172a"] .text-slate-300,
section[style*="background:#0f172a"] .text-slate-400,
section[style*="background:#0f172a"] .text-slate-500 {
  color: #ffffff !important;
}
section.bg-slate-900 h1,
section.bg-slate-900 h2,
section.bg-slate-900 h3,
section.bg-slate-900 h4,
section.bg-slate-900 p,
section.bg-slate-900 .text-slate-200,
section.bg-slate-900 .text-slate-300,
section.bg-slate-900 .text-slate-400,
section.bg-slate-900 .text-slate-500 {
  color: #ffffff !important;
}
.jq-hero h1, .jq-hero h2, .jq-hero h3, .jq-hero h4,
.jq-hero p, .jq-hero span, .jq-hero a,
.jq-hero .text-slate-200, .jq-hero .text-slate-300,
.jq-hero .text-slate-400, .jq-hero .text-slate-500 {
  color: #ffffff !important;
}
.jq-hero .jq-chip,
.jq-hero .jq-chip span {
  color: #0f172a !important;
}
.jq-hero .jq-btn-light,
.jq-hero .jq-btn-light span,
.jq-hero .jq-btn-light i {
  color: #0f172a !important;
}
/* Hero статей блога: тёмная секция bg-slate-950 — заголовок и подзаголовок белые */
section.bg-slate-950 h1,
section.bg-slate-950 h2,
section.bg-slate-950 h3,
section.bg-slate-950 h4,
section.bg-slate-950 p {
  color: #ffffff !important;
}
a.jq-hero .jq-btn[style*="background:transparent"][href*="marketplaces-bundle"] {
  background: var(--fb-text) !important;
  border-color: var(--fb-text) !important;
  color: #ffffff !important;
}
a.jq-hero .jq-btn[style*="background:transparent"][href*="marketplaces-bundle"] span {
  color: #ffffff !important;
}

.jq-btn,
.btn {
  border-radius: 999px !important;
  font-family: inherit !important;
  font-weight: 600 !important;
  letter-spacing: -0.01em !important;
  text-transform: none !important;
  box-shadow: 0 3px 10px rgb(0 0 0 / 0.08) !important;
  transition: transform 180ms ease, background-color 180ms ease, border-color 180ms ease, box-shadow 180ms ease;
}
.jq-btn:hover,
.btn:hover:not(:disabled) {
  transform: translateY(-1px);
  box-shadow: 0 6px 16px rgb(0 0 0 / 0.12) !important;
}
.jq-btn-primary,
.btn-primary {
  background: var(--fb-accent) !important;
}
.jq-btn-primary:hover,
.btn-primary:hover:not(:disabled) {
  background: var(--fb-accent-dark) !important;
}
.jq-btn-light,
.btn-secondary {
  background: var(--fb-surface) !important;
  border-color: var(--fb-line) !important;
  color: var(--fb-text) !important;
}
.jq-btn-light:hover,
.btn-secondary:hover:not(:disabled) {
  background: var(--fb-surface-muted) !important;
  border-color: #a7a7ad !important;
}
.jq-btn-light.in-cart,
.jq-btn-light.in-cart:hover {
  background: #ecfdf5 !important;
  border-color: #059669 !important;
  color: #047857 !important;
}

input,
textarea,
select,
.input {
  font-family: inherit !important;
  font-size: 1rem !important;
  letter-spacing: -0.01em;
  border-color: var(--fb-line) !important;
  border-radius: 12px !important;
  background: var(--fb-surface) !important;
  color: var(--fb-text) !important;
  transition: border-color 180ms ease, box-shadow 180ms ease;
}
input:focus,
textarea:focus,
select:focus,
.input:focus {
  border-color: var(--fb-accent) !important;
  box-shadow: 0 0 0 4px rgb(5 150 105 / 0.12) !important;
  outline: 0;
}

.jq-hero {
  background: linear-gradient(135deg, #0f172a 0%, #1e293b 60%, #334155 100%) !important;
  color: #ffffff !important;
}
.jq-hero .flex a.jq-btn:not(.jq-btn-light),
.jq-hero .flex button.jq-btn:not(.jq-btn-light) {
  background: var(--fb-text) !important;
  border-color: var(--fb-text) !important;
  color: #ffffff !important;
}
.jq-hero .flex a.jq-btn:not(.jq-btn-light):hover,
.jq-hero .flex button.jq-btn:not(.jq-btn-light):hover {
  background: var(--fb-accent) !important;
  border-color: var(--fb-accent) !important;
}
.jq-hero h1,
.jq-hero h2,
.jq-hero h3,
.jq-hero p { color: #ffffff !important; }
.jq-hero .jq-blob { opacity: .35 !important; }
.hero-bg {
  background: linear-gradient(180deg, #1d1d1f 0%, #303033 100%) !important;
}

.jq-marker,
.jq-marker-coral,
.jq-marker-violet {
  background: transparent !important;
  color: inherit !important;
  padding: 0 !important;
  box-decoration-break: initial;
  -webkit-box-decoration-break: initial;
  border-bottom: 3px solid var(--fb-accent);
}

.breadcrumb-nav,
nav[aria-label="Хлебные крошки"] {
  background: var(--fb-surface-muted) !important;
  border-color: var(--fb-line) !important;
}

a { text-underline-offset: 3px; }
a:focus-visible,
button:focus-visible,
summary:focus-visible {
  outline: 2px solid var(--fb-accent) !important;
  outline-offset: 3px;
}

/* Полностью кликабельные карточки */
/* Паттерн 1: stretched-link — заголовок-ссылка растягивается на всю карточку */
.jq-clickable { position: relative; }
.jq-clickable .stretched-link::after {
  content: ''; position: absolute; inset: 0; z-index: 1; border-radius: inherit;
}
.jq-clickable .stretched-link { color: inherit; text-decoration: none; }
.jq-clickable .stretched-link:hover h3 {
  text-decoration: underline;
  text-decoration-thickness: 3px;
  text-decoration-color: var(--jq-coral, #ff5b2e);
  text-underline-offset: 4px;
}
/* Кнопки/ссылки внутри карточки кликабельны поверх растянутой ссылки */
.jq-clickable .jq-btn,
.jq-clickable .btn { position: relative; z-index: 2; }
/* Паттерн 2: overlay-ссылка, invisibly покрывающая карточку (каталожные карточки) */
a.jq-card-overlay {
  position: absolute; inset: 0; z-index: 1; border-radius: inherit;
  color: inherit; text-decoration: none;
}

@media (max-width: 767px) {
  body { overflow-x: hidden; }
  body h1 {
    font-size: clamp(2rem, 10vw, 2.75rem) !important;
  }
  body h2 {
    font-size: clamp(1.7rem, 8vw, 2.25rem) !important;
  }
  .jq-btn,
  .btn { min-height: 44px; }
  /* Кнопки уже экрана: разрешаем перенос текста и вписываем по ширине */
  .jq-btn {
    white-space: normal !important;
    text-align: center;
    max-width: calc(100vw - 3rem);
    padding-left: 1.1rem;
    padding-right: 1.1rem;
    font-size: .85rem !important;
  }
  .jq-btn > span,
  .jq-btn > i {
    flex-shrink: 0;
  }
  .jq-hero { padding-top: 4.5rem !important; padding-bottom: 4.5rem !important; }
  .jq-hero .jq-blob { display: none; }
  main > section:not(.hero-bg):not(.jq-hero) { padding-top: 4rem; padding-bottom: 4rem; }
  .jq-card:hover,
  .product-card:hover,
  .catalog-card:hover,
  .card:hover { transform: none; }
}

/* На телефонах (контейнеры кнопок — колонки) центрируем кнопки по экрану */
@media (max-width: 639px) {
  .jq-btn {
    margin-left: auto;
    margin-right: auto;
  }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
    scroll-behavior: auto !important;
    transition-duration: .01ms !important;
  }
}
/* Local Apple-like typography. SF Pro is not redistributed; Inter is the closest local fallback. */
@font-face {
  font-family: "FB Inter";
  src: url("/assets/fonts/inter/inter-cyrillic-ext.woff2") format("woff2");
  font-style: normal;
  font-weight: 100 900;
  font-display: optional;
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E, U+FE2F;
}

@font-face {
  font-family: "FB Inter";
  src: url("/assets/fonts/inter/inter-cyrillic.woff2") format("woff2");
  font-style: normal;
  font-weight: 100 900;
  font-display: optional;
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}

@font-face {
  font-family: "FB Inter";
  src: url("/assets/fonts/inter/inter-latin.woff2") format("woff2");
  font-style: normal;
  font-weight: 100 900;
  font-display: optional;
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

:root {
  --font-apple: -apple-system, BlinkMacSystemFont, "SF Pro Display", "SF Pro Text", "FB Inter", "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
  --font-sans: var(--font-apple) !important;
  --font-display: var(--font-apple) !important;
}

html,
body,
button,
input,
select,
textarea {
  font-family: var(--font-apple) !important;
}

.font-sans {
  font-family: var(--font-apple) !important;
}

body {
  letter-spacing: -0.012em;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  font-family: var(--font-apple) !important;
  letter-spacing: -0.032em;
}

code,
pre,
kbd,
samp {
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace !important;
}
/* Firmbaza: calm data-oriented visual system. Shared by public storefront pages. */
html { scroll-padding-top: 100px; }
body { --fb-design-ink: #142b3b; --fb-design-accent: #087f75; }
body header { background: rgba(255,255,255,.97) !important; border-bottom: 1px solid #e2e9ec !important; box-shadow: 0 4px 24px #142b3b06 !important; }
body .hero-bg, body section.jq-hero {
  background: radial-gradient(ellipse at 90% 15%, #176862 0%, transparent 52%), linear-gradient(120deg,#102a3c,#123c45) !important;
  border: 0 !important;
}
body .hero-data-bg { opacity: .7 !important; filter: saturate(1.35) brightness(1.2); }
body .jq-blob { display: none !important; }
body #hero { padding: 76px 0 88px !important; }
body #hero h1 { font-size: clamp(2.2rem,4.15vw,3.65rem) !important; line-height: 1.1 !important; letter-spacing: -.045em !important; text-wrap: balance; }
body section.jq-hero h1 { font-size: clamp(2rem,4vw,3.6rem) !important; line-height: 1.12 !important; letter-spacing: -.035em !important; text-wrap: balance; }
body section.jq-hero { padding: 64px 0 72px !important; }
body section.jq-hero p { font-size: clamp(1rem,1.5vw,1.2rem) !important; line-height: 1.75 !important; color: #d1e4e7 !important; }
body #hero p { color: #d1e4e7 !important; font-weight: 400 !important; }
body #hero .hero-eyebrow { background: #ffffff09 !important; border-color: #ffffff26 !important; box-shadow: none !important; font-size: 12px; padding: 9px 14px; letter-spacing: .025em; }
body #hero .hero-eyebrow > span { background: #70dac2 !important; box-shadow: none !important; animation: none !important; }
body #hero .hero-actions { flex-wrap: wrap; gap: 12px; }
body #hero .hero-actions .jq-btn { padding: 15px 19px !important; font-size: 14px !important; }
body .jq-btn, body .fb-pill, body .btn {
  border-radius: 12px !important; border: 1px solid transparent !important;
  box-shadow: none !important; text-transform: none !important; letter-spacing: 0 !important;
  font-weight: 650 !important; background: #087f75 !important; color: #fff !important;
  transition: background 160ms ease, box-shadow 160ms ease, transform 160ms ease !important;
}
body .jq-btn:hover, body .fb-pill:hover { background: #06665f !important; transform: translateY(-2px) !important; box-shadow: 0 6px 18px #087f7524 !important; }
body .jq-btn-light { background: #fff !important; color: #254553 !important; border-color: #d7e2e5 !important; }
body .jq-btn-light:hover { background: #edf6f3 !important; color: #076a62 !important; border-color: #9dc9bc !important; }
body #hero .jq-btn-light { background: #ffffff08 !important; color: #fff !important; border-color: #ffffff55 !important; }
body #hero .jq-btn-light:hover { background: #ffffff18 !important; }
body .jq-chip { border: 1px solid #c9e5dd !important; background: #edf7f3 !important; color: #076a62 !important; border-radius: 8px !important; box-shadow: none !important; letter-spacing: .035em !important; font-size: 11px !important; }
body section.jq-hero .jq-chip, body section.jq-hero .jq-chip span { color: #076a62 !important; }
body .jq-marker, body .jq-marker-coral, body .jq-marker-violet { background: transparent !important; color: inherit !important; padding: 0 !important; text-decoration: underline; text-decoration-color: #51b6a3; text-underline-offset: .13em; text-decoration-thickness: .06em; }
body #hero .stat-tile { background: transparent !important; border: 0 !important; border-left: 1px solid #ffffff30 !important; border-radius: 0 !important; padding: 0 12px !important; box-shadow: none !important; transform: none !important; backdrop-filter: none; }
body #hero .stat-tile > div:first-child { color: #fff !important; filter: none !important; font-size: 27px; letter-spacing: -.03em; }
body #hero .stat-tile > div:last-child { color: #b6d0d5 !important; text-transform: none; font-weight: 400; letter-spacing: 0; line-height: 1.5; }
body .hero-preview { padding-top: 20px; padding-bottom: 20px; }
body .hero-preview > .absolute { display: none; }
body .hero-preview > .bg-white { border: 1px solid #ffffff70 !important; border-radius: 20px !important; box-shadow: 0 24px 70px #00192355 !important; transform: none; }
body .hero-preview > .bg-white > .border-b-2,
body .hero-preview > .bg-white > .border-t-2 { border-color: #e4edef !important; border-width: 1px !important; background: #f5f9fa !important; }
body .hero-table-row { border: 1px solid #e9eff1; padding-top: 12px; padding-bottom: 12px; }
body .trust-bar { border: 1px solid #e1e9eb !important; border-radius: 16px !important; box-shadow: 0 8px 28px #142b3b08 !important; background: #fff !important; }
body .trust-bar-item { transform: none !important; font-size: 12px; color: #49606c; }
body main > section:not(.hero-bg):not(.jq-hero) { border-color: #e4ebed !important; }
body #catalog { background: #f4f7f8 !important; }
body .jq-section-title { font-size: clamp(1.8rem,3vw,2.75rem) !important; letter-spacing: -.035em; line-height: 1.18; }
body .fb-label { color: #087f75 !important; font-size: 12px !important; letter-spacing: .12em !important; }
body .jq-card, body .product-card, body .rel-card {
  border: 1px solid #dde6e9 !important; border-radius: 18px !important;
  box-shadow: 0 3px 12px #142b3b04 !important;
  transition: border-color 180ms ease, box-shadow 180ms ease, transform 180ms ease !important;
}
body .jq-card:hover, body .product-card:hover, body .rel-card:hover { border-color: #97bfb6 !important; box-shadow: 0 12px 32px #142b3b10 !important; transform: translateY(-4px) !important; }
body .jq-card h3, body .product-card h3 { text-transform: none !important; letter-spacing: -.02em; }
body .jq-mp-top { border-bottom: 1px solid #e4ebed !important; transform: none !important; }
body .jq-mp-logo { transform: none !important; }
body .card-date { text-transform: none; letter-spacing: 0; font-weight: 500; background: #f0f8f4; border-color: #dceee3; }
body .catalog-filter-field { color: #49606c; font-size: 12px; }
body .catalog-filter-field input, body .catalog-filter-field select { background: #f8fafb; border: 1px solid #dbe5e8; border-radius: 10px; padding: 13px 12px; color: #243d4c; }
body #catalogCount { white-space: nowrap; font-size: 13px; }
body .catalog-filters { border: 1px solid #e0e8eb; border-radius: 16px !important; align-items: end; }
@media (max-width: 1023px) {
  body .catalog-filters { align-items: stretch; }
}
body .catalog-demo { border: 1px solid #dbe8e3 !important; box-shadow: 0 6px 24px #142b3b06 !important; border-radius: 16px !important; }
body .catalog-demo .flex-1 > .flex { flex-wrap: wrap; }
body .cart-checkout { background: #087f75; box-shadow: none; }
body .cart-checkout:hover { background: #06665f; box-shadow: none; }
body .cart-checkout:disabled { background: #cbd5e1; }
body :is(a,button,input,select,textarea):focus-visible { outline: 3px solid #35a894 !important; outline-offset: 3px !important; }
@media (min-width: 1024px) {
  body #hero > .max-w-7xl > .grid { grid-template-columns: 1.12fr 1fr; gap: 48px; }
}
@media (max-width: 767px) {
  body #hero { padding: 40px 0 48px !important; }
  body section.jq-hero { padding: 44px 0 52px !important; }
  body #hero h1 { font-size: clamp(2rem,7.8vw,3rem) !important; }
  body #hero > .max-w-7xl > .grid { gap: 28px; grid-template-columns: minmax(0, 1fr); }
  /* Колонка героя не должна раздуваться по min-content и обрезаться по краю
     на узких экранах (иначе заголовок и кнопки уходят за overflow-hidden). */
  body #hero > .max-w-7xl > .grid > * { min-width: 0; }
  /* На мобильных скрываем превью-табличку селлеров в hero-блоке */
  body .hero-preview { display: none !important; }
  body .hero-table-row { gap: 6px; }
  body .trust-bar { margin: 0 16px !important; max-width: calc(100% - 32px); }
  body #hero .stat-tile > div:first-child { font-size: 24px; }
  body #hero .stat-tile > div:last-child { font-size: 11px; }
  body .catalog-demo { padding: 20px !important; }
  body .catalog-demo .text-2xl { font-size: 20px; }
  body .catalog-demo p { font-size: 15px; }
  body .jq-btn { white-space: normal !important; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto !important; }
  body *:not(#siteHeader):not(#siteHeader *), body *:not(#siteHeader):not(#siteHeader *)::before, body *:not(#siteHeader):not(#siteHeader *)::after { animation: none !important; transition: none !important; }
  body .jq-card:hover, body .product-card:hover, body .jq-btn:hover { transform: none !important; }
}
/* ============================================================
   Мобильная навигация: хлебные крошки должны переноситься,
   а не обрезаться за экраном (overflow-x на body скрыт).
   ============================================================ */
.breadcrumb-nav ol { flex-wrap: wrap; row-gap: .3rem; }
.breadcrumb-nav ol > li { min-width: 0; max-width: 100%; }
.breadcrumb-nav ol a,
.breadcrumb-nav ol [class*="font-medium"] { white-space: normal; }

/* ============================================================
   firmbaza top-pages.css — фирменные стили кнопок для страниц
   баз (top/*.html). Копия стилей Studio-JQ с главной страницы,
   чтобы кнопки «Купить» / «Примеры выгрузок» / CTA выглядели
   как в карточках маркетплейсов.
   ============================================================ */

/* ===== Firma Studio-JQ: переменные ===== */
:root {
  --jq-coral: #ff5b2e;
  --jq-violet: #7b5cff;
  --jq-lime: #c8f04b;
  --jq-yellow: #ffc531;
  --jq-pink: #ff5fa2;
  --jq-blue: #2e5bff;
  --jq-ink: #0f172a;
  --jq-grad: linear-gradient(120deg, #ff5b2e 0%, #ff5fa2 32%, #7b5cff 65%, #2e5bff 100%);
}

/* ===== Skip-link (скрыт, показывается только при фокусе с клавиатуры) ===== */
.skip-link {
  position: absolute;
  top: -100%;
  left: 1rem;
  padding: .75rem 1rem;
  background: var(--fb-accent, #059669);
  color: #fff;
  border-radius: 12px;
  z-index: 99999;
  font-weight: 700;
  font-size: .9rem;
  text-decoration: none;
  transition: top 150ms ease-out;
}
.skip-link:focus {
  top: 1rem;
  outline: 3px solid #0f172a;
  outline-offset: 2px;
}

/* ===== Базовая jq-кнопка (как на главной и в карточках MP) ===== */
.jq-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: .5rem;
  font-weight: 800;
  font-size: .875rem;
  text-transform: uppercase;
  letter-spacing: .03em;
  padding: .9rem 1.8rem;
  border-radius: 9999px;
  background: #0f172a;
  color: #fff;
  border: 2px solid #0f172a;
  box-shadow: 5px 5px 0 #0f172a;
  transition: all 180ms ease-out;
  cursor: pointer;
  text-decoration: none;
  white-space: nowrap;
  font-family: inherit;
}
.jq-btn:hover {
  background: var(--jq-coral);
  transform: translate(-3px,-3px);
  box-shadow: 8px 8px 0 #0f172a;
}
.jq-btn:active {
  transform: translate(2px,2px);
  box-shadow: 0 0 0 #0f172a;
}
.jq-btn-light {
  background: #fff;
  color: #0f172a;
}
.jq-btn-light:hover { background: var(--jq-lime); }
.jq-btn-coral {
  background: var(--jq-coral);
  color: #fff;
}
.jq-btn-coral:hover { background: var(--jq-pink); }
.jq-btn-primary { background: var(--jq-coral); color: #fff; }
.jq-btn-primary:hover { background: var(--jq-pink); }
.jq-btn-lime { background: var(--jq-lime); color: #0f172a; }
.jq-btn-lime:hover { background: var(--jq-yellow); }

/* ===== Чип (бейдж в hero «Популярное (ТОП) · 1 000 ₽») ===== */
.jq-chip {
  display: inline-flex;
  align-items: center;
  gap: .4rem;
  padding: .35rem .85rem;
  border-radius: 9999px;
  font-weight: 800;
  font-size: .75rem;
  text-transform: uppercase;
  letter-spacing: .04em;
  background: #fff;
  color: #0f172a;
  border: 2px solid #0f172a;
  box-shadow: 3px 3px 0 #0f172a;
}

/* ===== Дата-пилюля «Обновлено …» на карточках ===== */
.card-date {
  display: inline-flex;
  align-items: center;
  gap: .4rem;
  font-size: .72rem;
  font-weight: 700;
  letter-spacing: .04em;
  text-transform: uppercase;
  color: #047857;
  background: #ecfdf5;
  border: 1px solid #a7f3d0;
  border-radius: 9999px;
  padding: .25rem .65rem;
  margin-top: .75rem;
}
.card-date i { color: #059669; font-size: .8rem; }
.card-date--maps { color: #b45309; background: #fffbeb; border-color: #fde68a; }
.card-date--maps i { color: #d97706; }

/* ===== Мобильные тап-таргеты ===== */
@media (max-width: 640px) {
  .jq-btn {
    min-height: 44px;
    width: 100%;
    justify-content: center;
    padding: .9rem 1.2rem;
    font-size: .8rem;
  }
  .jq-chip { font-size: .7rem; }
}

/* ============================================================
   Related-bases v2 — научная перелинковка (тематические кластеры)
   ============================================================ */
.rel-grid { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 1rem; }
@media (max-width: 900px) { .rel-grid { grid-template-columns: repeat(2, minmax(0,1fr)); } }
@media (max-width: 600px) { .rel-grid { grid-template-columns: 1fr; } }

.rel-card {
  display: flex; align-items: flex-start; gap: .75rem;
  padding: 1rem 1.1rem;
  background: #fff;
  border: 1.5px solid #e2e8f0;
  border-radius: 18px;
  text-decoration: none;
  transition: border-color 160ms ease-out, box-shadow 160ms ease-out, transform 160ms ease-out;
  min-height: 44px;
}
.rel-card:hover {
  border-color: var(--jq-coral, #ff5b2e);
  box-shadow: 4px 4px 0 rgba(15,23,42,.06);
  transform: translateY(-2px);
}
.rel-icon {
  flex: 0 0 auto;
  width: 40px; height: 40px;
  border-radius: 12px;
  display: inline-flex; align-items: center; justify-content: center;
  font-size: 1rem;
  background: #f1f5f9;
  color: #475569;
  transition: background 160ms ease-out, color 160ms ease-out;
}
.rel-card:hover .rel-icon { background: var(--jq-coral, #ff5b2e); color: #fff; }
.rel-body { display: flex; flex-direction: column; gap: .2rem; min-width: 0; }
.rel-title {
  font-weight: 700; font-size: .92rem; line-height: 1.3; color: #0f172a;
  text-decoration: none;
}
.rel-card:hover .rel-title { color: var(--jq-coral, #ff5b2e); text-decoration: none; }
.rel-hint { font-size: .78rem; line-height: 1.35; color: #64748b; }
.rel-price {
  margin-top: .3rem;
  display: inline-flex; align-items: center; gap: .3rem;
  font-size: .72rem; font-weight: 800; letter-spacing: .02em;
  color: #059669; background: #ecfdf5;
  border: 1px solid #a7f3d0;
  border-radius: 999px; padding: .12rem .55rem;
  align-self: flex-start;
}
.rel-footer {
  display: flex; flex-wrap: wrap; gap: .5rem .5rem; align-items: center;
  margin-top: 1.6rem; padding-top: 1.2rem;
  border-top: 1px dashed #cbd5e1;
}
.rel-footer a {
  display: inline-flex; align-items: center; gap: .4rem;
  padding: .5rem 1rem;
  border-radius: 999px;
  font-size: .8rem; font-weight: 700;
  color: #334155; background: #fff;
  border: 1.5px solid #e2e8f0;
  text-decoration: none;
  transition: all 150ms ease-out;
  min-height: 44px;
}
.rel-footer a:hover { background: #0f172a; color: #fff; border-color: #0f172a; text-decoration: none; }

/* ============================================================
   Atria UX-fix: единый UX обратной связи на top-страницах
   (тосты + попап успеха вместо системных alert)
   ============================================================ */
.toast {
  position: fixed; bottom: 1.5rem; right: 1.5rem; z-index: 99999;
  display: flex; align-items: center; gap: .75rem;
  max-width: 24rem; padding: .9rem 1.2rem;
  background: #fff; border: 1px solid #e2e8f0; border-left: 4px solid #059669;
  border-radius: 16px; box-shadow: 0 20px 40px -12px rgb(15 23 42 / .35);
  font-weight: 600; font-size: .9rem; color: #0f172a;
  animation: fbToastIn .3s ease;
}
.toast.error { border-left-color: #e50914; }
.toast.info { border-left-color: #3b82f6; }
.toast i { flex-shrink: 0; font-size: 1.1rem; }
.toast .text-success-600, .toast .text-emerald-600 { color: #059669; }
.toast .text-red-600 { color: #e50914; }
.toast .text-blue-600 { color: #3b82f6; }
@keyframes fbToastIn { from { transform: translateX(110%); opacity: 0; } to { transform: translateX(0); opacity: 1; } }
@media (max-width: 640px) { .toast { left: 1rem; right: 1rem; max-width: none; } }

#orderSuccessPopup { position: fixed; inset: 0; z-index: 99999; background: rgb(15 23 42 / .75);
  display: flex; align-items: center; justify-content: center; padding: 1rem; }
#orderSuccessPopup .osp-box { background: #fff; border-radius: 24px; border: 2px solid #0f172a;
  box-shadow: 8px 8px 0 #22c55e; max-width: 28rem; width: 100%; text-align: center;
  animation: orderSuccessPop .25s ease-out; }
#orderSuccessPopup .osp-inner { padding: 2rem 1.75rem; }
#orderSuccessPopup .osp-ico { width: 5rem; height: 5rem; margin: 0 auto 1.25rem; border-radius: 999px;
  background: #ecfdf5; border: 2px solid #22c55e; display: flex; align-items: center; justify-content: center; }
#orderSuccessPopup .osp-ico i { font-size: 2.25rem; color: #059669; }
#orderSuccessPopup h3 { font-size: 1.5rem; font-weight: 800; color: #0f172a; margin-bottom: .75rem; line-height: 1.2; }
#orderSuccessPopup .osp-mail { font-weight: 700; color: #334155; word-break: break-all; margin-bottom: 1.5rem; font-size: .9rem; }
#orderSuccessPopup .osp-note { color: #64748b; font-size: .8rem; margin-bottom: 1.5rem; }
#orderSuccessPopup button { width: 100%; padding: .9rem; border-radius: 16px; background: #0f172a; color: #fff;
  font-weight: 700; border: 0; cursor: pointer; min-height: 48px; }
#orderSuccessPopup button:hover { background: #1e293b; }
@media (max-width: 640px) { #orderSuccessPopup .osp-box { max-width: none; } }
@keyframes orderSuccessPop { from { transform: scale(.92); opacity: 0; } to { transform: scale(1); opacity: 1; } }

/* ============================================================
   Atria: CTA-кнопка «Купить» на страницах селлеров маркетплейсов
   Красный стиль. Лучшие практики: единый акцентный градиент,
   WCAG-контраст, состояния hover/active/focus, адаптив.
   ============================================================ */
.mp-buy-cta {
  --mp-red: #e50914;
  --mp-red-deep: #b20710;

  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: .7rem;
  padding: .95rem 2rem !important;
  font-weight: 700 !important;
  font-size: 1rem !important;
  line-height: 1.2;
  letter-spacing: -.005em;
  color: #fff !important;
  /* Верхняя точка была #ef4444 (3.76:1) — ниже AA для белого текста.
     #e12121 даёт 4.73:1 и сохраняет красный характер кнопки. */
  background: linear-gradient(180deg, #e12121 0%, var(--mp-red) 55%, var(--mp-red-deep) 100%) !important;
  border: 1px solid var(--mp-red-deep) !important;
  border-radius: 9999px !important;
  box-shadow: 0 1px 0 rgb(255 255 255 / .25) inset, 0 4px 12px rgb(229 9 20 / .28) !important;
  cursor: pointer;
  text-decoration: none;
  transition: background 180ms ease, box-shadow 180ms ease, transform 120ms ease;
}
.mp-buy-cta:hover {
  /* Верхняя точка была #f87171 (2.77:1) — самый слабый контраст на кнопке.
     #e12b2b даёт 4.58:1, hover остаётся светлее базового состояния. */
  background: linear-gradient(180deg, #e12b2b 0%, #e50914 55%, #991b1b 100%) !important;
  box-shadow: 0 1px 0 rgb(255 255 255 / .3) inset, 0 6px 18px rgb(229 9 20 / .38) !important;
  transform: translateY(-1px);
}
.mp-buy-cta:active {
  background: linear-gradient(180deg, #e50914 0%, #b20710 60%, #7f1d1d 100%) !important;
  box-shadow: 0 1px 3px rgb(127 29 29 / .35) inset, 0 2px 6px rgb(229 9 20 / .2) !important;
  transform: translateY(0);
}
.mp-buy-cta:focus-visible {
  outline: 3px solid #fca5a5;
  outline-offset: 3px;
}
.mp-buy-cta .mp-buy-ico {
  width: 30px;
  height: 30px;
  border-radius: 8px;
  background: rgb(255 255 255 / .16);
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  border: 1px solid rgb(255 255 255 / .28);
}
.mp-buy-cta .mp-buy-price { position: relative; z-index: 1; }
@media (max-width: 640px) {
  .mp-buy-cta { width: 100%; max-width: 30rem; margin: 0 auto; }
}

/* ============================================================
   Atria: Единый хедер на всех страницах
   ============================================================ */
#headerInner { padding-top: 1rem; padding-bottom: 1rem; }
#headerInner .fb-pill { line-height: 1.6; }
@media (max-width: 640px) {
  #headerInner { padding-top: .5rem; padding-bottom: .5rem; }
}

/* Логотип хедера ближе к левому краю в мобильной версии */
@media (max-width: 767px) {
  #headerInner { padding-left: 12px !important; }
}

/* Красная CTA-кнопка «Купить» в hero-блоках страниц баз (как mp-buy-cta) */
.jq-hero .jq-btn-coral {
  /* Верхняя точка была #ef4444 (3.76:1) — ниже AA для белого текста. */
  background: linear-gradient(180deg, #e12121 0%, #e50914 55%, #b20710 100%) !important;
  border-color: #b20710 !important;
  box-shadow: 0 1px 0 rgb(255 255 255 / .25) inset, 0 4px 12px rgb(229 9 20 / .28) !important;
}
.jq-hero .jq-btn-coral:hover {
  /* Верхняя точка была #f87171 (2.77:1). */
  background: linear-gradient(180deg, #e12b2b 0%, #e50914 55%, #991b1b 100%) !important;
  box-shadow: 0 1px 0 rgb(255 255 255 / .3) inset, 0 6px 18px rgb(229 9 20 / .38) !important;
}
.jq-hero .jq-btn-coral:active {
  background: linear-gradient(180deg, #e50914 0%, #b20710 60%, #7f1d1d 100%) !important;
  box-shadow: 0 1px 3px rgb(127 29 29 / .35) inset, 0 2px 6px rgb(229 9 20 / .2) !important;
}

/* ============================================================
   Atria: Корзина — значок в хедере, drawer, кнопки на карточках
   ============================================================ */
:root {
  --fb-cart-accent: #e50914;
}

/* --- Значок корзины в хедере --- */
.cart-btn {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 42px;
  height: 42px;
  border-radius: 12px;
  background: #ffffff;
  color: #000000;
  border: 1.5px solid #0f172a;
  cursor: pointer;
  transition: background-color 160ms ease, color 160ms ease, transform 160ms ease;
  text-decoration: none;
  flex-shrink: 0;
}
.cart-btn:hover { background: #f8fafc; transform: translateY(-1px); }
.cart-btn:active { transform: translateY(0); }
.cart-btn:focus-visible { outline: 2px solid var(--fb-cart-accent); outline-offset: 3px; }
.cart-btn i { font-size: 1.05rem; }
.cart-icon {
  width: 20px;
  height: 20px;
  color: #000000;
  flex-shrink: 0;
  display: block;
}
.cart-badge {
  position: absolute;
  top: -6px;
  right: -6px;
  min-width: 20px;
  height: 20px;
  padding: 0 5px;
  border-radius: 9999px;
  background: var(--fb-cart-accent);
  color: #fff;
  font-size: .68rem;
  font-weight: 800;
  display: flex;
  align-items: center;
  justify-content: center;
  border: 2px solid #fff;
  line-height: 1;
  transform: scale(0);
  transition: transform 200ms cubic-bezier(.34,1.56,.64,1);
}
.cart-badge:not(:empty) { transform: scale(1); }
.cart-badge.pop { animation: cartBadgePop 420ms cubic-bezier(.34,1.56,.64,1); }
@keyframes cartBadgePop {
  0% { transform: scale(1); }
  45% { transform: scale(1.45); }
  100% { transform: scale(1); }
}

/* --- Drawer корзины --- */
.cart-overlay {
  position: fixed; inset: 0; z-index: 99998;
  background: rgb(15 23 42 / .55);
  opacity: 0; visibility: hidden;
  transition: opacity 220ms ease, visibility 220ms;
}
.cart-overlay.open { opacity: 1; visibility: visible; }
.cart-drawer {
  position: fixed; top: 0; right: 0; bottom: 0; z-index: 99999;
  width: 100%; max-width: 26rem;
  background: #fff;
  display: flex; flex-direction: column;
  box-shadow: -12px 0 40px rgb(15 23 42 / .25);
  transform: translateX(100%);
  transition: transform 300ms cubic-bezier(.22,.61,.36,1);
}
.cart-drawer.open { transform: translateX(0); }
.cart-drawer header {
  display: flex; align-items: center; justify-content: space-between;
  gap: .75rem;
  padding: 1.1rem 1.25rem;
  border-bottom: 1px solid #e2e8f0;
  background: #0f172a !important; color: #fff !important;
  border-radius: 0;
}
.cart-drawer header h2 {
  font-size: 1.05rem !important; font-weight: 800; color: #fff !important;
  margin: 0; letter-spacing: -.01em; line-height: 1.2;
}
.cart-close {
  width: 38px; height: 38px; border-radius: 10px;
  background: #e50914; color: #fff;
  border: 2px solid #fff;
  display: inline-flex; align-items: center; justify-content: center;
  cursor: pointer; font-size: 1.15rem; line-height: 1; flex-shrink: 0;
  transition: background-color 160ms ease, transform 160ms ease;
  box-shadow: 0 2px 8px rgb(229 9 20 / .45);
}
.cart-close:hover { background: #b20710; transform: scale(1.07); }
.cart-close:focus-visible { outline: 2px solid #fca5a5; outline-offset: 2px; }

.cart-items { flex: 1; overflow-y: auto; padding: .75rem 1.25rem; }
.cart-empty { text-align: center; padding: 3rem 1rem; color: #94a3b8; }
.cart-empty i { font-size: 2.6rem; opacity: .35; margin-bottom: .85rem; }
.cart-empty p { font-size: .9rem; font-weight: 600; margin: 0; }

.cart-item {
  display: flex; align-items: flex-start; gap: .75rem;
  padding: .8rem 0;
  border-bottom: 1px solid #f1f5f9;
  animation: cartItemIn 280ms ease;
}
@keyframes cartItemIn { from { opacity: 0; transform: translateX(18px); } to { opacity: 1; transform: none; } }
.cart-item-body { flex: 1; min-width: 0; }
.cart-item-title {
  font-size: .87rem; font-weight: 700; color: #0f172a; line-height: 1.35;
  margin: 0 0 .3rem;
  display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical;
  overflow: hidden;
}
.cart-item-meta { font-size: .72rem; color: #94a3b8; font-weight: 600; }
.cart-item-price { font-size: .92rem; font-weight: 800; color: #0f172a; white-space: nowrap; }
.cart-item-remove {
  width: 26px; height: 26px; border-radius: 7px;
  background: transparent; color: #e50914; border: 0; cursor: pointer;
  display: inline-flex; align-items: center; justify-content: center;
  flex-shrink: 0; font-size: 1.15rem; line-height: 1; font-weight: 700;
  transition: all 160ms ease; align-self: center; padding: 0;
}
.cart-item-remove:hover { background: #fee2e2; color: #b20710; }
.cart-item-remove:active { transform: scale(.92); }
.cart-item-remove:focus-visible { outline: 2px solid var(--fb-cart-accent); outline-offset: 2px; }

.cart-footer { padding: 1rem 1.25rem 1.25rem; border-top: 1px solid #e2e8f0; background: #f8fafc; }
.cart-total-row { display: flex; align-items: baseline; justify-content: space-between; margin-bottom: .9rem; }
.cart-total-label { font-size: .82rem; font-weight: 700; color: #64748b; }
.cart-total-value { font-size: 1.5rem; font-weight: 800; color: #0f172a; letter-spacing: -.02em; }
.cart-checkout {
  display: flex; align-items: center; justify-content: center; gap: .55rem;
  width: 100%; padding: .9rem 1rem;
  background: var(--fb-cart-accent); color: #fff;
  border: 0; border-radius: 12px;
  font-size: 1rem; font-weight: 700;
  cursor: pointer;
  box-shadow: 0 4px 12px rgb(229 9 20 / .28);
  transition: background 180ms ease, box-shadow 180ms ease, transform 120ms ease;
}
.cart-checkout:hover { background: #b20710; box-shadow: 0 6px 18px rgb(229 9 20 / .38); transform: translateY(-1px); }
.cart-checkout:active { transform: translateY(0); background: #991b1b; }
.cart-checkout:disabled { background: #cbd5e1; cursor: not-allowed; transform: none; box-shadow: none; }
.cart-checkout:focus-visible { outline: 3px solid #fca5a5; outline-offset: 3px; }
.cart-note { font-size: .7rem; color: #94a3b8; text-align: center; margin: .7rem 0 0; font-weight: 600; }

/* --- Кнопка «В корзину» на карточках баз --- */
.card-cart-btn {
  display: inline-flex; align-items: center; justify-content: center; gap: .35rem;
  padding: .45rem .7rem;
  border-radius: 10px;
  background: #fff; color: #0f172a;
  border: 1.5px solid #e2e8f0;
  font-size: .76rem; font-weight: 700;
  cursor: pointer;
  transition: all 160ms ease;
  flex-shrink: 0;
}
.card-cart-btn:hover { border-color: var(--fb-cart-accent); color: var(--fb-cart-accent); background: #fff; }
.card-cart-btn:active { transform: scale(.96); }
.card-cart-btn:focus-visible { outline: 2px solid var(--fb-cart-accent); outline-offset: 2px; }
.card-cart-btn.in-cart {
  background: #fef2f2; border-color: #fca5a5; color: var(--fb-cart-accent);
}
.jq-btn-light.in-cart,
.jq-btn-light.in-cart:hover {
  background: #ecfdf5 !important; color: #047857 !important;
  border-color: #059669 !important;
}
.jq-btn-light.in-cart:hover { background: #d1fae5 !important; }
.card-cart-btn i { font-size: .8rem; }

@media (max-width: 640px) {
  .cart-drawer { max-width: 100%; }
}
@media (prefers-reduced-motion: reduce) {
  .cart-badge.pop { animation: none; }
  .cart-item { animation: none; }
  .cart-drawer { transition: none; }
}

/* === Выпадающее меню «Готовые базы»: переработанный дизайн === */
.fb-dd-item {
  display: flex; align-items: center; gap: .75rem;
  padding: .625rem .75rem; border-radius: .75rem;
  color: #334155; text-decoration: none;
  transition: background 150ms ease, color 150ms ease;
}
.fb-dd-item:hover { background: #f8fafc; color: #047857; }
.fb-dd-featured { background: #ecfdf5; }
.fb-dd-featured:hover { background: #d1fae5; color: #065f46; }
.fb-dd-tile {
  width: 2rem; height: 2rem; border-radius: .625rem;
  display: flex; align-items: center; justify-content: center;
  font-size: .8125rem; flex-shrink: 0;
}
.fb-dd-title { font-weight: 600; font-size: .875rem; line-height: 1.3; }
.fb-dd-sub { font-size: .75rem; color: #94a3b8; line-height: 1.35; margin-top: .05rem; }
.fb-dd-label {
  padding: .625rem .75rem .25rem;
  font-size: .625rem; font-weight: 700; text-transform: uppercase; letter-spacing: .08em;
  color: #94a3b8;
}
.fb-dd-badge {
  font-size: .625rem; font-weight: 800; white-space: nowrap;
  color: #047857; background: #a7f3d0; padding: .1rem .3rem; border-radius: .25rem;
}

/* ============================================================
   Мобильный хедер: логотип прижат к левому краю экрана
   (на остальных разрешениях контейнер max-w-7xl не трогаем)
   ============================================================ */
@media (max-width: 767.5px) {
  #headerInner { padding-left: 12px !important; padding-right: 12px !important; }
}

/* UX: доступные элементы управления и компактная мобильная шапка. */
.fb-dd-sub, .fb-dd-label { color: #64748b; }
#orderModal, #paymentModal { z-index: 100000 !important; }
#orderFeedback { background: #fef2f2; border-radius: 12px; padding: 12px; }
#orderFeedback[hidden] { display: none; }
#orderModal [aria-invalid="true"] { border-color: #b20710; outline-color: #b20710; }
#orderModal button[aria-label="Закрыть"], #paymentModal button[aria-label="Закрыть"],
.cart-item-remove, #orderModal [data-remove-base] { min-width: 44px; min-height: 44px; }
.catalog-filter-field { display: flex; flex: 1; flex-direction: column; gap: 8px; min-width: 0; font-size: 14px; font-weight: 600; }
.catalog-filter-field select, .catalog-filter-field input { width: 100%; min-width: 0 !important; font-weight: 400; }
@media (max-width: 767.5px) {
  #headerInner > a > span { font-size: 20px; }
  #headerInner > a { gap: 6px; }
  #headerInner .md\:hidden { gap: 4px; }
  #headerInner .cart-btn, #headerInner .fb-qs-btn { min-width: 44px; min-height: 44px; }
  #orderModal input, #orderModal textarea, #paymentModal input { font-size: 16px; }
  .ozon-demo-table { font-size: .875rem; }
  .ozon-demo-table thead th { font-size: .8125rem; }
}
@media (max-width: 374px) {
  #headerInner > a > span { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
}
/* FirmBaza: быстрый поиск — кнопка-лупа + модальное окно (базы + статьи) */
#headerInner { gap: .5rem; }

#fbQuickSearchBtn { margin-right: .25rem; }

/* ===== Кнопка-лупа в шапке (стиль как у корзины: силуэт без тени) ===== */
#fbQuickSearchBtn,
.fb-qs-btn {
  flex-shrink: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 42px;
  height: 42px;
  border: 1.5px solid #0f172a;
  border-radius: 12px;
  background: #fff;
  color: #000;
  cursor: pointer;
  transition: background-color 160ms ease, color 160ms ease, transform 160ms ease;
}

#fbQuickSearchBtn i,
.fb-qs-btn i { font-size: 1.05rem; }

#fbQuickSearchBtn svg,
.fb-qs-btn svg { width: 20px; height: 20px; display: block; }

#fbQuickSearchBtn:hover,
.fb-qs-btn:hover { background: #f8fafc; transform: translateY(-1px); }

#fbQuickSearchBtn:active,
.fb-qs-btn:active { transform: translateY(0); }

#fbQuickSearchBtn:focus-visible,
.fb-qs-btn:focus-visible { outline: 2px solid #dc2626; outline-offset: 3px; }

.fb-qs-btn--fixed { position: fixed; top: 1rem; right: 1rem; z-index: 1100; }

/* ===== Модальное окно ===== */
.fb-qs-modal[hidden] { display: none !important; }
.fb-qs-modal { position: fixed; inset: 0; z-index: 1200; display: grid; align-items: start; justify-items: center; padding: 10vh 1rem 1.5rem; }

.fb-qs-backdrop {
  position: absolute;
  inset: 0;
  background: rgba(15, 23, 32, .42);
  -webkit-backdrop-filter: saturate(140%) blur(14px);
  backdrop-filter: saturate(140%) blur(14px);
  animation: fbQsFade .2s cubic-bezier(.4, 0, .6, 1);
}

.fb-qs-dialog {
  position: relative;
  width: min(44rem, 100%);
  max-height: min(86vh, 48rem);
  display: flex;
  flex-direction: column;
  background: #fff;
  border: 1px solid #e6ebed;
  border-radius: 20px;
  box-shadow: 0 24px 70px rgba(16, 24, 32, .22), 0 2px 8px rgba(16, 24, 32, .06);
  overflow: hidden;
  animation: fbQsPop .28s cubic-bezier(.22, 1, .36, 1);
}

.fb-qs-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 16px 16px 14px 22px;
  border-bottom: 1px solid #eef1f2;
  flex-shrink: 0;
}

.fb-qs-head-title {
  margin: 0;
  color: #18333f;
  font-size: 15px;
  font-weight: 750;
  letter-spacing: -.02em;
  line-height: 1.2;
}

.fb-qs-head-sub {
  margin: 2px 0 0;
  color: #8b969c;
  font-size: 12px;
  font-weight: 550;
  line-height: 1.3;
}

.fb-qs-close {
  flex-shrink: 0;
  width: 36px;
  height: 36px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 0;
  border-radius: 10px;
  background: transparent;
  color: #627681;
  cursor: pointer;
}

.fb-qs-close:hover { background: #f3f6f7; color: #18333f; }
.fb-qs-close:focus-visible { outline: 2px solid #087f75; outline-offset: 2px; }
.fb-qs-close svg { width: 18px; height: 18px; display: block; }

.fb-qs-field {
  position: relative;
  display: flex;
  align-items: center;
  gap: 0;
  height: 44px;
  margin: 12px 16px 0;
  padding: 0 12px 0 14px;
  border: 1px solid #e4e8ea;
  border-radius: 10px;
  background: #fff;
  flex-shrink: 0;
}

.fb-qs-field-icon { color: #087f75; flex-shrink: 0; display: inline-flex; order: 2; margin-left: 14px; }
.fb-qs-field-icon svg { width: 22px; height: 22px; display: block; }
.fb-qs-field:focus-within { border-color: #e4e8ea; box-shadow: none; }

.fb-qs-field-input {
  flex: 1;
  min-width: 0;
  height: 100%;
  border: none;
  outline: none;
  background: transparent;
  font-family: var(--font-sans, inherit);
  font-size: 15px;
  font-weight: 450;
  letter-spacing: -.01em;
  line-height: 1.2;
  color: #18333f;
  order: 1;
  padding: 0;
  caret-color: #18333f;
  -webkit-appearance: none;
  appearance: none;
}

.fb-qs-field-input:focus,
.fb-qs-field-input:focus-visible,
body .fb-qs-field-input:focus,
body .fb-qs-field-input:focus-visible {
  border: 0 !important;
  border-color: transparent !important;
  outline: none !important;
  outline-offset: 0 !important;
  box-shadow: none !important;
}

.fb-qs-field-input::placeholder { color: #9aa4aa; font-weight: 450; }
.fb-qs-field-input::-webkit-search-cancel-button { -webkit-appearance: none; appearance: none; }

.fb-qs-field-clear {
  flex-shrink: 0;
  width: 28px;
  height: 28px;
  order: 2;
  margin-right: 8px;
  border: none;
  border-radius: 999px;
  background: #f3f6f7;
  color: #627681;
  cursor: pointer;
  transition: background-color .18s ease, color .18s ease;
}

.fb-qs-field-clear:hover { background: #e7eeef; color: #18333f; }
.fb-qs-field-clear[hidden] { display: none; }

.fb-qs-status {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

.fb-qs-meta {
  flex-shrink: 0;
  min-height: 1.7rem;
  margin: 8px 22px 0;
  color: #8b969c;
  font-size: .75rem;
  font-weight: 650;
  letter-spacing: .01em;
}

.fb-qs-results {
  flex: 1;
  min-height: 8.5rem;
  overflow-y: auto;
  overscroll-behavior: contain;
  margin: 6px 8px 8px;
  padding: .25rem;
  border-radius: 14px;
  scrollbar-width: thin;
}

.fb-qs-results::-webkit-scrollbar { width: 10px; }
.fb-qs-results::-webkit-scrollbar-thumb { background: #cbd5e1; border-radius: 9999px; border: 3px solid #fff; }

.fb-qs-group {
  padding: .85rem .85rem .25rem;
  font-size: .72rem;
  font-weight: 700;
  letter-spacing: .06em;
  text-transform: uppercase;
  color: #8b969c;
}

.fb-qs-item {
  display: flex;
  align-items: center;
  gap: .8rem;
  width: 100%;
  padding: .65rem .8rem;
  border-radius: 14px;
  text-decoration: none;
  color: inherit;
  text-align: left;
  cursor: pointer;
  transition: background-color .12s ease;
}

.fb-qs-item:hover { background: #f4f8f7; }
.fb-qs-item.is-active { background: #e8f4f1; }

.fb-qs-ic {
  flex-shrink: 0;
  width: 38px;
  height: 38px;
  border-radius: 11px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: .85rem;
  color: #087f75;
  background: #edf5f3;
  overflow: hidden;
}

.fb-qs-ic img { width: 100%; height: 100%; object-fit: cover; border-radius: 11px; }

.fb-qs-txt { min-width: 0; flex: 1; }

.fb-qs-title {
  display: block;
  font-size: .98rem;
  font-weight: 650;
  letter-spacing: -.01em;
  color: #18333f;
  line-height: 1.3;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.fb-qs-sub {
  display: block;
  font-size: .76rem;
  color: #64748b;
  margin-top: .1rem;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.fb-qs-price { flex-shrink: 0; font-size: .88rem; font-weight: 800; color: #047857; white-space: nowrap; }

.fb-qs-empty { padding: 1.4rem 1.1rem 1.6rem; font-size: .95rem; line-height: 1.45; color: #627681; text-align: left; }

.fb-qs-all {
  display: block;
  flex-shrink: 0;
  width: auto;
  margin: 0 16px 16px;
  padding: .95rem 1rem;
  border: none;
  border-radius: 14px;
  background: #087f75;
  color: #fff;
  font-family: var(--font-display, inherit);
  font-size: .9rem;
  font-weight: 700;
  text-align: center;
  cursor: pointer;
  transition: background-color .15s ease;
}

.fb-qs-all:hover { background: #06665f; }

.fb-qs mark { background: #d7f3ec; color: inherit; padding: 0 .12em; border-radius: 4px; }

.fb-qs-foot {
  flex-shrink: 0;
  display: flex;
  flex-wrap: wrap;
  gap: .35rem 1.1rem;
  padding: .75rem 1.15rem;
  border-top: 1px solid #eef2f3;
  background: #fafbfb;
  font-size: .72rem;
  color: #8b969c;
}

.fb-qs-foot kbd {
  display: inline-block;
  min-width: 1.4em;
  padding: .05rem .35rem;
  margin-right: .15rem;
  font-family: var(--font-mono, monospace);
  font-size: .72rem;
  text-align: center;
  color: #0f172a;
  background: #fff;
  border: 1px solid #cbd5e1;
  border-bottom-width: 2px;
  border-radius: 5px;
}

body.fb-qs-open { overflow: hidden; }
.fb-qs-modal.is-closing .fb-qs-backdrop { animation: fbQsFade .16s cubic-bezier(.4,0,.6,1) reverse both; }
.fb-qs-modal.is-closing .fb-qs-dialog { animation: fbQsPop .16s cubic-bezier(.4,0,.6,1) reverse both; }

@keyframes fbQsFade { from { opacity: 0; } to { opacity: 1; } }
@keyframes fbQsPop { from { opacity: 0; transform: translateY(8px) scale(.985); } to { opacity: 1; transform: none; } }

@media (max-width: 640px) {
  .fb-qs-modal { padding: 0; align-items: start; }
  .fb-qs-dialog {
    width: 100%;
    max-height: 100dvh;
    height: auto;
    border-radius: 0 0 20px 20px;
    box-shadow: none;
    animation-name: fbQsSheet;
  }
  .fb-qs-modal.is-closing .fb-qs-dialog { animation-name: fbQsSheet; }
  .fb-qs-foot { display: none; }
  .fb-qs-head { padding-top: 18px; }
}

@keyframes fbQsSheet { from { transform: translateY(-16px); } to { transform: none; } }

/* Десктопная лупа не дублируется на мобильном (там своя, в блоке действий) */
@media (max-width: 767.5px) {
  #fbQuickSearchBtn:not(.fb-qs-btn--fixed) { display: none !important; }
}

@media (prefers-reduced-motion: reduce) {
  .fb-qs-dialog, .fb-qs-backdrop, .fb-qs-btn { animation: none !important; transition: none !important; }
}
/* Catalog toolbar styles: /assets/css/catalog-filters.css */
/* Mobile: full-width marketplace logo banners in cards */
@media (max-width: 767px) {
  .jq-card .jq-mp-top { height: auto !important; }
  .jq-card .jq-mp-top .jq-mp-logo {
    width: 100% !important; height: auto !important; display: block;
    border: 0 !important; border-radius: 0 !important;
    box-shadow: none !important; background: transparent !important;
  }
}
  