﻿* { margin:0; padding:0; box-sizing:border-box; }
html,body { max-width:100%; overflow-x:hidden; }
body { font-family:'Inter', Arial, sans-serif; background:#f4f6fa; color:#1e293b; }
.header { background:linear-gradient(135deg,#0f2b3d 0%,#1b4a6e 100%); color:#fff; padding:1.35rem 2rem; box-shadow:0 10px 20px rgba(0,0,0,.1); position:sticky; top:0; z-index:100; }
.header-container { max-width:1300px; margin:0 auto; display:flex; align-items:center; justify-content:space-between; gap:1rem; flex-wrap:wrap; }
.logo h1 { font-size:1.8rem; font-weight:800; letter-spacing:0; }
.logo p { font-size:.82rem; opacity:.82; margin-top:.15rem; }
.search-cart { display:flex; align-items:center; gap:.9rem; flex-wrap:wrap; }
.search-box { background:#fff; border-radius:40px; padding:.55rem 1rem; display:flex; align-items:center; gap:.55rem; min-width:270px; max-width:100%; }
.search-box input { border:none; outline:none; font:inherit; font-size:.9rem; width:100%; }
.search-box i { color:#1b4a6e; }
.tariff-special-btn { border:none; border-radius:30px; background:linear-gradient(135deg,#0f2b3d 0%,#2563eb 100%); color:#fff; display:flex; align-items:center; justify-content:center; gap:.45rem; cursor:pointer; font-family:inherit; transition:.2s; }
.header-tariff-btn { min-width:112px; padding:.48rem .78rem; box-shadow:0 10px 20px -14px rgba(15,43,61,.7); }
.header-compare-btn { min-width:132px; }
.header-tariff-btn:hover,.header-tariff-btn.active { transform:translateY(-1px); background:linear-gradient(135deg,#ffb347 0%,#ff9f1c 100%); color:#0f172a; }
.header-tariff-btn .tariff-icon { width:28px; height:28px; border-radius:50%; background:rgba(255,255,255,.16); display:flex; align-items:center; justify-content:center; font-size:.9rem; }
.header-tariff-btn .tariff-title { font-size:.86rem; line-height:1; white-space:nowrap; font-weight:800; }
.cart-icon { background:#ffb347; color:#0f172a; border-radius:30px; padding:.55rem 1.15rem; font-weight:800; display:flex; align-items:center; gap:.5rem; cursor:pointer; transition:.2s; }
.cart-icon:hover { background:#ff9f1c; transform:scale(1.02); }
.home-header-actions { display:flex; align-items:center; gap:.65rem; flex-wrap:wrap; }
.auth-actions { display:flex; align-items:center; gap:.55rem; flex-wrap:wrap; }
.header-link-btn,.header-phone-link { min-height:38px; border-radius:999px; padding:.55rem .9rem; display:inline-flex; align-items:center; justify-content:center; text-decoration:none; font-weight:900; font-size:.86rem; }
.header-link-btn { background:#ffb347; color:#0f172a; }
.header-phone-link { background:rgba(255,255,255,.12); color:#fff; border:1px solid rgba(255,255,255,.2); }
.home-hero { max-width:1300px; margin:1.4rem auto 0; padding:0 1.5rem; }
.home-hero-inner { background:#fff; border:1px solid #e2e8f0; border-radius:28px; padding:2rem; display:grid; grid-template-columns:minmax(0,1.1fr) minmax(300px,.9fr); gap:1.5rem; align-items:center; box-shadow:0 16px 36px -28px rgba(15,43,61,.45); }
.home-kicker { display:inline-flex; color:#164160; background:#e6f0fa; border-radius:999px; padding:.35rem .75rem; font-size:.78rem; font-weight:900; margin-bottom:.75rem; }
.home-hero h2,.home-section-head h2,.catalog-intro h2 { color:#0f2b3d; font-size:2rem; line-height:1.1; margin-bottom:.55rem; }
.home-hero-subtitle { color:#1b4a6e; font-size:1.08rem; font-weight:900; margin-bottom:.65rem; }
.home-hero-text,.home-section-head p,.home-about-text p { color:#475569; line-height:1.55; font-size:.94rem; }
.home-hero-actions,.contact-actions { display:flex; flex-wrap:wrap; gap:.7rem; margin:1.1rem 0; }
.home-primary-btn,.home-secondary-btn { border:none; min-height:42px; border-radius:999px; padding:.72rem 1rem; font-family:inherit; font-weight:900; cursor:pointer; text-decoration:none; display:inline-flex; align-items:center; justify-content:center; transition:.2s; }
.home-primary-btn { background:#0f2b3d; color:#fff; }
.home-primary-btn:hover { background:#1b4a6e; transform:translateY(-1px); }
.home-secondary-btn { background:#f8fafc; color:#0f2b3d; border:1px solid #cbd5e1; }
.home-secondary-btn:hover { background:#e6f0fa; border-color:#94a3b8; transform:translateY(-1px); }
.home-quick-info { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:.55rem; margin-top:.6rem; }
.home-quick-info span { background:#f8fafc; border:1px solid #e2e8f0; border-radius:14px; padding:.65rem; color:#334155; font-size:.82rem; font-weight:800; display:flex; align-items:center; gap:.45rem; min-width:0; }
.home-quick-info i,.contact-row i { color:#1b4a6e; }
.home-hero-visual { min-height:300px; display:flex; align-items:center; justify-content:center; background:linear-gradient(135deg,#eef6ff 0%,#f8fafc 100%); border-radius:24px; border:1px solid #e5edf5; overflow:hidden; }
.hero-device-card { width:min(360px,100%); background:#fff; border:1px solid #dbe7f3; border-radius:24px; padding:1.2rem; box-shadow:0 18px 36px -28px rgba(15,43,61,.55); }
.hero-phone-shape { height:180px; border-radius:24px; background:linear-gradient(135deg,#0f2b3d,#2563eb); color:#fff; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:.6rem; margin-bottom:1rem; }
.hero-phone-shape span { width:44px; height:8px; border-radius:999px; background:rgba(255,255,255,.34); }
.hero-phone-shape i { font-size:3rem; }
.hero-category-icons { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.55rem; }
.hero-category-icons span { background:#f8fafc; color:#0f2b3d; border:1px solid #e2e8f0; border-radius:14px; padding:.6rem; font-size:.8rem; font-weight:900; display:flex; align-items:center; gap:.4rem; }
.home-section { max-width:1300px; margin:1.25rem auto 0; padding:0 1.5rem; }
.home-section-head { margin-bottom:.8rem; }
.home-section-head h2 { font-size:1.45rem; }
.advantage-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:.85rem; }
.advantage-card,.contacts-card,.home-about-text,.map-frame,.catalog-intro { background:#fff; border:1px solid #e2e8f0; border-radius:20px; padding:1rem; box-shadow:0 12px 24px -24px rgba(15,43,61,.32); }
.advantage-card i { width:38px; height:38px; border-radius:14px; background:#e6f0fa; color:#0f2b3d; display:flex; align-items:center; justify-content:center; margin-bottom:.65rem; }
.advantage-card h3 { color:#0f172a; font-size:.96rem; margin-bottom:.35rem; }
.advantage-card p { color:#475569; font-size:.82rem; line-height:1.45; }
.home-category-list { display:flex; flex-wrap:wrap; gap:.65rem; background:#fff; border:1px solid #e2e8f0; border-radius:20px; padding:.8rem; }
.home-category-list button { border:1px solid #cbd5e1; background:#f8fafc; color:#0f2b3d; border-radius:999px; min-height:40px; padding:.55rem .85rem; font-family:inherit; font-weight:900; cursor:pointer; display:inline-flex; align-items:center; gap:.45rem; transition:.2s; }
.home-category-list button:hover { background:#e6f0fa; border-color:#1b4a6e; transform:translateY(-1px); }
.home-about-text { display:grid; gap:.75rem; }
.contacts-grid { display:grid; grid-template-columns:minmax(0,1fr); }
.contact-row { display:flex; align-items:flex-start; gap:.65rem; color:#334155; font-weight:800; line-height:1.45; padding:.35rem 0; }
.contact-actions { margin:.9rem 0 0; }
.map-frame { overflow:hidden; padding:0; }
.map-frame iframe { display:block; width:100%; height:320px; }
.catalog-intro { margin-bottom:1rem; }
.catalog-intro h2 { font-size:1.45rem; }
.catalog-intro p { color:#64748b; font-size:.9rem; font-weight:700; line-height:1.45; }
.container { max-width:1300px; margin:2rem auto; padding:0 1.5rem; }
.categories { display:flex; flex-wrap:wrap; gap:.8rem; margin-bottom:1.25rem; justify-content:center; }
.cat-btn { background:#fff; border:1px solid #cbd5e1; padding:.65rem 1.25rem; border-radius:40px; font-weight:700; cursor:pointer; transition:.2s; font-family:inherit; color:#1e293b; min-height:42px; overflow-wrap:anywhere; text-align:center; }
.cat-btn:hover { border-color:#1b4a6e; color:#1b4a6e; }
.cat-btn.active { background:#1b4a6e; color:#fff; border-color:#1b4a6e; box-shadow:0 4px 10px rgba(0,0,0,.08); }

.phone-filters { display:none; background:#fff; border:1px solid #e2e8f0; border-radius:18px; padding:.85rem .95rem; margin:0 auto 1rem; box-shadow:0 10px 24px -22px rgba(15,43,61,.32); max-width:1220px; }
.phone-filters.visible { display:block; }
.phone-filters-header { display:flex; align-items:center; justify-content:space-between; gap:.75rem; margin:0; flex-wrap:wrap; }
.phone-filters-title { display:flex; align-items:baseline; gap:.65rem; flex-wrap:wrap; min-width:0; }
.phone-filters-header h3 { font-size:.98rem; color:#0f2b3d; white-space:nowrap; }
.phone-filters-header p { color:#64748b; font-size:.78rem; margin-top:0; font-weight:700; }
.filter-actions { display:flex; align-items:center; gap:.45rem; flex-wrap:wrap; margin-left:auto; }
.filter-toggle,.clear-filters { border:1px solid #cbd5e1; background:#f8fafc; color:#1e293b; padding:.42rem .75rem; border-radius:999px; cursor:pointer; font-weight:800; font-family:inherit; font-size:.78rem; line-height:1.1; min-height:40px; }
.filter-toggle { background:#0f2b3d; border-color:#0f2b3d; color:#fff; }
.filter-toggle:hover { background:#1b4a6e; border-color:#1b4a6e; }
.clear-filters:hover { background:#eef4fb; border-color:#94a3b8; }
.filter-groups { display:none; grid-template-columns:minmax(170px,.9fr) minmax(185px,.95fr) minmax(300px,1.5fr) minmax(220px,1fr); gap:.55rem; align-items:start; margin-top:.65rem; }
.phone-filters.open .filter-groups { display:grid; }
.filter-group { background:#f8fafc; border:1px solid #e5edf5; border-radius:14px; padding:.7rem; overflow:hidden; min-width:0; }
.filter-group-title { font-weight:800; margin-bottom:.45rem; color:#0f172a; font-size:.78rem; }
.check-list { display:grid; gap:.35rem; align-items:start; }
#brandFilters { grid-template-columns:repeat(2,minmax(0,1fr)); }
#storageFilters { grid-template-columns:repeat(2,minmax(0,1fr)); }
#colorFilters { grid-template-columns:repeat(3,minmax(0,1fr)); }
#simOperatorFilters { grid-template-columns:repeat(4,minmax(0,1fr)); gap:.9rem 1rem; }
#simFilters .filter-groups { gap:.95rem; margin-top:.85rem; }
#simOperatorFilters .check-pill { justify-content:center; padding:.48rem .7rem; }
.check-pill { display:flex; align-items:center; gap:.32rem; border:1px solid #cbd5e1; background:#fff; border-radius:999px; padding:.38rem .5rem; font-size:.72rem; font-weight:700; cursor:pointer; user-select:none; white-space:nowrap; width:100%; min-width:0; max-width:100%; min-height:36px; line-height:1.05; transition:background .18s ease,border-color .18s ease,color .18s ease; }
.check-pill input { accent-color:#1b4a6e; margin:0; flex:0 0 auto; width:13px; height:13px; }
.check-pill:hover { border-color:#94a3b8; background:#f8fafc; }
.check-pill.is-checked { border-color:#1b4a6e; background:#e6f0fa; color:#0f2b3d; }
.price-range { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.45rem; max-width:none; }
.price-range label { font-size:.72rem; font-weight:800; color:#475569; display:flex; flex-direction:column; gap:.25rem; min-width:0; }
.price-range input { border:1px solid #cbd5e1; border-radius:12px; padding:.42rem .5rem; font:inherit; font-size:.78rem; font-weight:700; background:#fff; outline:none; min-width:0; width:100%; min-height:40px; }
.price-range input:focus { border-color:#1b4a6e; box-shadow:0 0 0 3px rgba(27,74,110,.12); }

.catalog-status { max-width:1220px; margin:0 auto 1.15rem; display:flex; align-items:center; justify-content:space-between; gap:.8rem; flex-wrap:wrap; background:#fff; border:1px solid #e2e8f0; border-radius:18px; padding:.8rem .95rem; box-shadow:0 10px 24px -24px rgba(15,43,61,.32); }
.catalog-status-info { display:flex; align-items:baseline; gap:.65rem; flex-wrap:wrap; min-width:0; }
.catalog-status-info strong { color:#0f2b3d; font-size:.95rem; }
.catalog-status-info span { color:#64748b; font-size:.82rem; font-weight:700; }
.catalog-reset-btn { margin-left:auto; background:#fff; }
.empty-results { grid-column:1/-1; text-align:center; padding:3rem 1.5rem; color:#475569; font-weight:800; background:#fff; border:1px dashed #cbd5e1; border-radius:18px; }
.empty-results strong { display:block; color:#0f2b3d; font-size:1.1rem; margin-bottom:.35rem; }
.empty-results span { display:block; color:#64748b; font-size:.9rem; font-weight:700; }

.compare-module { display:none; background:#fff; border:1px solid #e2e8f0; border-radius:30px; padding:1.35rem; margin:0 auto 2rem; box-shadow:0 16px 30px -22px rgba(15,43,61,.38); max-width:1180px; }
.compare-module.visible { display:block; }
.compare-header { display:flex; justify-content:space-between; align-items:flex-start; gap:1rem; flex-wrap:wrap; margin-bottom:1rem; }
.compare-header h2 { font-size:1.35rem; color:#0f2b3d; margin-bottom:.25rem; }
.compare-header p { color:#64748b; font-size:.9rem; line-height:1.45; }
.compare-controls { display:grid; grid-template-columns:minmax(220px, 1fr) auto auto; gap:.75rem; align-items:center; margin:1rem 0; }
.compare-controls select { border:1px solid #cbd5e1; border-radius:18px; padding:.75rem .9rem; font-family:inherit; font-weight:700; color:#1e293b; background:#f8fafc; outline:none; min-width:0; max-width:100%; min-height:44px; }
.compare-controls button,.compare-card-btn,.compare-current-btn,.compare-chip button { border:none; border-radius:18px; cursor:pointer; font-family:inherit; font-weight:800; transition:.2s; }
.compare-controls button { padding:.78rem 1rem; min-height:44px; }
.compare-add-main { background:#0f2b3d; color:#fff; }
.compare-add-main:hover { background:#1b4a6e; transform:translateY(-1px); }
.compare-add-main:disabled { opacity:.55; cursor:not-allowed; transform:none; }
.compare-clear { background:#f8fafc; color:#1e293b; border:1px solid #cbd5e1!important; }
.compare-clear:disabled { opacity:.55; cursor:not-allowed; }
.compare-selected { display:flex; flex-wrap:wrap; gap:.6rem; margin:.8rem 0 1rem; }
.compare-chip { display:inline-flex; align-items:center; gap:.45rem; background:#e6f0fa; color:#0f2b3d; border-radius:999px; padding:.45rem .55rem .45rem .8rem; font-size:.82rem; font-weight:800; max-width:100%; overflow-wrap:anywhere; }
.compare-chip button { width:24px; height:24px; border-radius:50%; background:#fff; color:#0f2b3d; display:flex; align-items:center; justify-content:center; }
.compare-table-wrap { overflow-x:auto; border:1px solid #e2e8f0; border-radius:22px; background:#f8fafc; }
.compare-table { width:100%; border-collapse:collapse; min-width:720px; }
.compare-table th,.compare-table td { padding:.85rem .9rem; text-align:left; vertical-align:top; border-bottom:1px solid #e2e8f0; font-size:.88rem; }
.compare-table th { background:#0f2b3d; color:#fff; font-weight:800; position:sticky; top:0; z-index:1; }
.compare-table th:first-child,.compare-table td:first-child { width:190px; font-weight:800; color:#0f172a; background:#eef4fb; }
.compare-table tr:last-child td { border-bottom:none; }
.compare-empty { padding:1.4rem; color:#64748b; font-weight:700; text-align:center; }
.compare-ai { margin-top:1rem; background:#f8fafc; border:1px solid #e2e8f0; border-radius:22px; padding:1rem; }
.compare-ai-header { display:flex; justify-content:space-between; gap:.8rem; align-items:flex-start; flex-wrap:wrap; margin-bottom:.9rem; }
.compare-ai-header h3 { color:#0f2b3d; font-size:1.12rem; }
.compare-ai-header p { color:#64748b; font-size:.86rem; line-height:1.45; max-width:560px; }
.compare-ai-note { background:#fff; border:1px dashed #cbd5e1; border-radius:16px; padding:1rem; color:#64748b; font-weight:800; text-align:center; }
.compare-ai-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.75rem; }
.compare-ai-card { background:#fff; border:1px solid #e5edf5; border-radius:16px; padding:.9rem; min-height:132px; }
.compare-ai-card.is-best { border-color:#bcd7ff; box-shadow:0 12px 22px -22px rgba(15,43,61,.42); }
.compare-ai-card h4,.compare-ai-recommend h4 { color:#0f172a; font-size:.9rem; margin-bottom:.45rem; }
.compare-ai-card p { color:#475569; font-size:.84rem; line-height:1.45; margin-top:.45rem; overflow-wrap:anywhere; }
.compare-ai-best { display:inline-flex; align-items:center; background:#e6f0fa; color:#0f2b3d; border-radius:999px; padding:.3rem .65rem; font-size:.76rem; font-weight:900; }
.compare-ai-recommend { margin-top:.85rem; background:#fff; border:1px solid #e5edf5; border-radius:16px; padding:.9rem; }
.compare-ai-recommend ul { list-style:none; display:grid; gap:.45rem; }
.compare-ai-recommend li { color:#334155; font-size:.86rem; line-height:1.4; padding-left:1rem; position:relative; overflow-wrap:anywhere; }
.compare-ai-recommend li:before { content:""; width:6px; height:6px; border-radius:50%; background:#1b4a6e; position:absolute; left:0; top:.55em; }
.product-card-actions { display:flex; align-items:center; justify-content:space-between; gap:.65rem; margin-top:auto; flex-wrap:wrap; min-height:36px; }
.compare-card-btn { background:#f8fafc; color:#0f2b3d; border:1px solid #cbd5e1; min-height:38px; min-width:104px; padding:.42rem .82rem; font-size:.76rem; display:inline-flex; align-items:center; justify-content:center; }
.compare-card-btn:hover { background:#e6f0fa; border-color:#1b4a6e; transform:translateY(-1px); }
.compare-current-btn { background:#e6f0fa; color:#0f2b3d; }
.compare-current-btn:hover { background:#cfe2f5; transform:scale(.98); }
.favorite-card-btn { width:38px; height:38px; border:1px solid #cbd5e1; border-radius:999px; background:#fff; color:#b91c1c; display:inline-flex; align-items:center; justify-content:center; cursor:pointer; transition:.2s; font-size:.95rem; }
.favorite-card-btn:hover,.favorite-card-btn.active { background:#fee2e2; border-color:#dc2626; transform:translateY(-1px); }

.products-grid { display:grid; grid-template-columns:repeat(auto-fill, minmax(270px, 1fr)); grid-auto-rows:1fr; gap:1.35rem; align-items:stretch; }
.product-card { background:#fff; border-radius:18px; overflow:hidden; box-shadow:0 12px 24px -18px rgba(15,43,61,.22); transition:transform .22s ease, box-shadow .22s ease, border-color .22s ease; cursor:pointer; display:flex; flex-direction:column; min-height:438px; height:100%; min-width:0; border:1px solid #e5edf5; }
.product-card:hover { transform:translateY(-3px); box-shadow:0 18px 32px -20px rgba(15,43,61,.32); border-color:#cbd9e8; }
.product-card.tariff-product { border:1px solid #bcd7ff; background:linear-gradient(180deg,#fff 0%,#f4f8ff 100%); }
.product-img { background:#f8fafc; padding:1.15rem; text-align:center; height:218px; min-height:218px; display:flex; align-items:center; justify-content:center; position:relative; }
.product-img img { width:100%; max-width:210px; height:176px; max-height:176px; object-fit:contain; transition:transform .22s ease; }
.product-card:hover .product-img img { transform:scale(1.025); }
.tariff-visual { width:100%; height:176px; border-radius:16px; background:linear-gradient(135deg,#0f2b3d,#2563eb); color:#fff; display:flex; align-items:center; justify-content:center; flex-direction:column; gap:.6rem; box-shadow:inset 0 0 0 1px rgba(255,255,255,.16); }
.tariff-visual i { font-size:2.4rem; }
.tariff-modal-visual { max-width:360px; min-height:240px; height:240px; padding:1.5rem; text-align:center; }
.tariff-modal-visual strong { font-size:1.35rem; line-height:1.25; }
.product-info { padding:1.05rem 1.1rem 1.15rem; border-top:1px solid #eef2f6; flex:1; display:flex; flex-direction:column; min-height:220px; min-width:0; }
.product-title { font-weight:800; font-size:1.04rem; line-height:1.25; margin-bottom:.45rem; color:#0f172a; min-height:2.6em; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; overflow-wrap:anywhere; }
.product-price { font-weight:900; color:#0f2b3d; font-size:1.32rem; line-height:1.1; margin:.25rem 0 .55rem; letter-spacing:0; }
.product-desc { font-size:.84rem; color:#475569; margin-bottom:1rem; line-height:1.45; min-height:3.65em; display:-webkit-box; -webkit-line-clamp:3; -webkit-box-orient:vertical; overflow:hidden; overflow-wrap:anywhere; }
.badge { background:#e6f0fa; color:#164160; display:inline-flex; align-items:center; justify-content:center; min-height:30px; max-width:100%; padding:.32rem .72rem; border-radius:999px; font-size:.72rem; line-height:1.1; font-weight:800; width:max-content; margin-top:auto; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.modal { display:none; position:fixed; inset:0; background:rgba(0,0,0,.76); backdrop-filter:blur(5px); justify-content:center; align-items:center; z-index:1000; padding:1.5rem; overflow-y:auto; }
.modal.active { display:flex; }
.modal-content { background:#fff; max-width:1040px; width:94%; max-height:92vh; border-radius:28px; display:grid; grid-template-columns:minmax(320px,1.08fr) minmax(340px,1.12fr); overflow:hidden; animation:fadeInUp .3s ease; position:relative; box-shadow:0 24px 60px rgba(0,0,0,.28); }
.spec-modal-content { max-width:740px; display:block; padding:2rem; overflow-y:auto; }
@keyframes fadeInUp { from{opacity:0;transform:translateY(40px)} to{opacity:1;transform:translateY(0)} }
.modal-left { min-width:0; background:#f9fbfd; padding:2rem; display:flex; align-items:center; justify-content:center; flex-direction:column; border-right:1px solid #eef2f6; }
.image-viewer { width:100%; min-height:380px; display:flex; align-items:center; justify-content:center; position:relative; background:#fff; border:1px solid #eef2f6; border-radius:22px; padding:1.2rem; }
.image-viewer img { width:100%; max-width:430px; max-height:340px; object-fit:contain; transition:.2s; }
.gallery-nav { position:absolute; top:50%; transform:translateY(-50%); width:42px; height:42px; border:none; border-radius:50%; background:rgba(15,43,61,.88); color:#fff; font-size:1.8rem; line-height:1; cursor:pointer; display:flex; align-items:center; justify-content:center; transition:.2s; }
.gallery-nav:hover { background:#ff9f1c; color:#0f172a; }
.gallery-nav.prev { left:.65rem; } .gallery-nav.next { right:.65rem; }
.image-counter { margin-top:.7rem; color:#64748b; font-size:.85rem; font-weight:700; text-align:center; }
.modal-thumbs { display:flex; gap:.65rem; flex-wrap:wrap; justify-content:center; margin-top:.9rem; width:100%; }
.thumb-btn { border:2px solid transparent; background:#fff; border-radius:14px; padding:.25rem; cursor:pointer; width:74px; height:68px; display:flex; align-items:center; justify-content:center; transition:border-color .18s ease, transform .18s ease; }
.thumb-btn:hover { border-color:#cbd5e1; transform:translateY(-1px); }
.thumb-btn.active { border-color:#1b4a6e; }
.thumb-btn img { max-width:100%; max-height:56px; object-fit:contain; border-radius:10px; }
.modal-right { min-width:0; padding:2rem; overflow-y:auto; max-height:92vh; }
.modal-meta { display:flex; flex-wrap:wrap; gap:.5rem; margin-bottom:.65rem; padding-right:2.2rem; }
.modal-category { display:inline-flex; align-items:center; justify-content:center; background:#e6f0fa; color:#0f2b3d; border-radius:999px; padding:.35rem .75rem; font-size:.76rem; line-height:1.1; font-weight:900; }
.modal-right h2 { font-size:1.8rem; margin-bottom:.4rem; padding-right:2.2rem; color:#0f172a; }
.modal-desc { color:#475569; font-size:.92rem; line-height:1.55; margin:.4rem 0 .8rem; overflow-wrap:anywhere; }
.price-modal { font-size:1.65rem; font-weight:800; color:#1b4a6e; margin:.8rem 0; }
.specs { background:#f1f5f9; padding:1rem; border-radius:20px; margin:1rem 0; list-style:none; }
.specs li { margin:.5rem 0; font-size:.9rem; color:#334155; display:flex; gap:.5rem; overflow-wrap:anywhere; }
.options { margin:1.2rem 0; }
.option-group { margin-bottom:1.1rem; }
.option-group label { font-weight:800; display:block; margin-bottom:.55rem; color:#0f172a; }
.color-btns,.storage-btns { display:flex; flex-wrap:wrap; gap:.75rem; }
.color-option,.storage-option { padding:.5rem 1.05rem; border:2px solid #cbd5e1; border-radius:40px; background:#fff; cursor:pointer; font-weight:700; transition:.1s; display:flex; align-items:center; gap:.5rem; min-height:42px; }
.swatch { width:16px; height:16px; border-radius:50%; border:1px solid rgba(0,0,0,.18); }
.color-option.selected,.storage-option.selected { background:#1b4a6e; border-color:#1b4a6e; color:#fff; }
.color-option.out-of-stock,.storage-option.out-of-stock { opacity:.6; border-style:dashed; }
.color-option.out-of-stock small,.storage-option.out-of-stock small { color:#991b1b; font-weight:800; }
.stock-message { display:none; margin:.65rem 0; padding:.7rem .85rem; border-radius:16px; font-weight:800; font-size:.9rem; }
.stock-message.available { display:block; background:#ecfdf5; color:#166534; border:1px solid #bbf7d0; }
.stock-message.unavailable { display:block; background:#fef2f2; color:#991b1b; border:1px solid #fecaca; }
.add-to-cart:disabled { background:#cbd5e1; color:#64748b; cursor:not-allowed; transform:none; }
.add-to-cart:disabled:hover { background:#cbd5e1; transform:none; }
.modal-actions { display:grid; grid-template-columns:repeat(auto-fit,minmax(170px,1fr)); gap:.8rem; margin-top:1rem; }
.add-to-cart,.details-btn { border:none; width:100%; padding:1rem; font-size:1rem; font-weight:800; border-radius:60px; cursor:pointer; font-family:inherit; transition:.2s; }
.add-to-cart { background:#ffb347; color:#0f172a; } .add-to-cart:hover { background:#ff9f1c; transform:scale(.98); }
.details-btn { background:#0f2b3d; color:#fff; } .details-btn:hover { background:#1b4a6e; transform:scale(.98); }
.close-modal { position:absolute; top:1rem; right:1.5rem; font-size:1.8rem; cursor:pointer; background:rgba(0,0,0,.05); width:36px; height:36px; border-radius:50%; display:flex; align-items:center; justify-content:center; transition:.2s; z-index:3; }
.close-modal:hover { background:#e2e8f0; }
.spec-table { width:100%; border-collapse:collapse; margin-top:1.2rem; }
.spec-table td { border-bottom:1px solid #e2e8f0; padding:.85rem .4rem; vertical-align:top; }
.spec-table td:first-child { width:36%; color:#64748b; font-weight:800; }
.checkout-modal-content { max-width:720px; display:block; padding:2rem; overflow-y:auto; }
.checkout-modal-content h2 { color:#0f172a; margin-bottom:.35rem; padding-right:2.2rem; }
.checkout-note { color:#64748b; font-size:.9rem; line-height:1.45; margin-bottom:1rem; }
.checkout-form { display:grid; gap:.9rem; }
.checkout-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.85rem; }
.checkout-form label { display:flex; flex-direction:column; gap:.35rem; color:#0f172a; font-weight:800; font-size:.85rem; }
.checkout-form input,.checkout-form select,.checkout-form textarea { width:100%; border:1px solid #cbd5e1; border-radius:16px; padding:.72rem .85rem; font:inherit; color:#1e293b; background:#fff; outline:none; }
.checkout-form textarea { resize:vertical; min-height:86px; }
.checkout-form input:focus,.checkout-form select:focus,.checkout-form textarea:focus { border-color:#1b4a6e; box-shadow:0 0 0 3px rgba(27,74,110,.12); }
.delivery-address { display:none!important; }
.delivery-address.visible { display:flex!important; }
.checkout-error,.checkout-success { display:none; padding:.75rem .9rem; border-radius:16px; font-weight:800; font-size:.9rem; line-height:1.4; }
.checkout-error.visible { display:block; background:#fef2f2; color:#991b1b; border:1px solid #fecaca; }
.checkout-success.visible { display:block; background:#ecfdf5; color:#166534; border:1px solid #bbf7d0; }
.checkout-submit { background:#0f2b3d; color:#fff; border:none; padding:.9rem 1rem; border-radius:40px; font-weight:800; cursor:pointer; font-family:inherit; transition:.2s; }
.checkout-submit:hover { background:#1b4a6e; transform:scale(.99); }
.cart-sidebar { position:fixed; top:0; right:-420px; width:380px; height:100%; background:#fff; box-shadow:-5px 0 20px rgba(0,0,0,.2); z-index:1100; transition:.3s ease; padding:1.5rem; display:flex; flex-direction:column; overflow-y:auto; }
.cart-sidebar.open { right:0; }
.cart-header { font-size:1.5rem; font-weight:800; border-bottom:2px solid #e2e8f0; padding-bottom:.8rem; display:flex; justify-content:space-between; }
.cart-items { flex:1; margin:1rem 0; }
.cart-item { display:flex; gap:.8rem; margin-bottom:1rem; border-bottom:1px solid #eef2f6; padding-bottom:.8rem; }
.cart-item-img { width:60px; height:60px; object-fit:contain; background:#f1f5f9; border-radius:12px; }
.cart-total { font-weight:800; font-size:1.3rem; margin-bottom:1rem; }
.empty-cart { text-align:center; color:#64748b; margin-top:2rem; }
.checkout-btn { background:#0f2b3d; color:#fff; border:none; padding:.8rem; border-radius:40px; font-weight:800; cursor:pointer; font-family:inherit; min-height:44px; }
.overlay { display:none; position:fixed; inset:0; background:rgba(0,0,0,.4); z-index:1050; }
footer { text-align:center; padding:2rem; color:#5b6e8c; font-size:.82rem; }
.image-error { width:100%; min-height:240px; border-radius:18px; background:#eef2f6; color:#64748b; display:flex; align-items:center; justify-content:center; font-weight:800; text-align:center; padding:1rem; }
@media (max-width:1180px) { .filter-groups{grid-template-columns:repeat(2,minmax(0,1fr))} #colorFilters{grid-template-columns:repeat(4,minmax(0,1fr))} }
@media (max-width:900px) { .filter-groups{grid-template-columns:1fr} .modal-actions{grid-template-columns:1fr} .compare-controls{grid-template-columns:1fr} .compare-ai-grid{grid-template-columns:1fr} #brandFilters,#storageFilters{grid-template-columns:repeat(3,minmax(0,1fr))} #colorFilters{grid-template-columns:repeat(4,minmax(0,1fr))} #simOperatorFilters{grid-template-columns:repeat(2,minmax(0,1fr))} .price-range{grid-template-columns:repeat(2,minmax(0,1fr))} }
@media (max-width:760px) { .products-grid{grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:1rem}.product-card{min-height:410px}.product-img{height:190px;min-height:190px}.product-img img{height:150px;max-height:150px}.tariff-visual{height:150px}.product-info{min-height:210px}.product-price{font-size:1.22rem} }
@media (max-width:520px) { .phone-filters-header{align-items:flex-start} .phone-filters-title{display:block} .filter-actions{width:100%;margin-left:0} .filter-toggle,.clear-filters{flex:1} .catalog-status{align-items:flex-start} .catalog-status-info{display:block} .catalog-reset-btn{width:100%;margin-left:0} #brandFilters,#storageFilters,#colorFilters,#simOperatorFilters,.price-range{grid-template-columns:1fr} }
@media (max-width:700px) { .modal{align-items:flex-start;padding:.75rem}.modal-content{width:100%;max-height:none;grid-template-columns:1fr;border-radius:22px}.modal-left,.modal-right{width:100%;padding:1rem;border-right:none}.image-viewer{min-height:280px}.image-viewer img{max-height:250px}.modal-right{max-height:none}.modal-right h2{font-size:1.35rem}.modal-actions{gap:.6rem}.thumb-btn{width:62px;height:58px}.checkout-grid{grid-template-columns:1fr} .cart-sidebar{width:100%;right:-100%} .search-box{min-width:220px} .header{padding:1rem} }
@media (max-width:1024px) {
  .home-hero-inner { grid-template-columns:minmax(0,1.1fr) minmax(240px,.9fr); }
  .home-hero-visual { min-height:220px; }
  .advantage-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .container { margin:1.5rem auto; padding:0 1.25rem; }
  .modal-content { grid-template-columns:minmax(280px,1fr) minmax(320px,1fr); }
  .compare-module { border-radius:22px; }
}
@media (max-width:768px) {
  .home-hero,.home-section { padding:0 1.25rem; }
  .home-hero-inner { padding:1.25rem; border-radius:22px; gap:1rem; }
  .home-hero h2 { font-size:1.55rem; }
  .home-quick-info { grid-template-columns:1fr; }
  .hero-phone-shape { height:140px; }
  .home-category-list { flex-wrap:nowrap; overflow-x:auto; scrollbar-width:thin; }
  .home-category-list button { flex:0 0 auto; }
  .header-container { align-items:flex-start; }
  .search-cart { width:100%; }
  .search-box { flex:1 1 260px; }
  .categories { justify-content:flex-start; gap:.6rem; }
  .cat-btn { flex:1 1 calc(25% - .6rem); padding:.6rem .8rem; }
  .products-grid { grid-template-columns:repeat(auto-fill,minmax(230px,1fr)); }
  .compare-table { min-width:680px; }
  footer { padding:1.5rem 1rem; line-height:1.4; }
}
@media (max-width:520px) {
  .header-container { display:block; }
  .logo { text-align:center; margin-bottom:.8rem; }
  .logo h1 { font-size:1.5rem; }
  .logo p { font-size:.76rem; }
  .search-cart { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.55rem; }
  .search-box { grid-column:1/-1; width:100%; min-width:0; padding:.65rem .85rem; }
  .header-tariff-btn,.header-compare-btn { width:100%; min-width:0; min-height:44px; padding:.5rem .55rem; }
  .cart-icon { grid-column:1/-1; justify-content:center; min-height:44px; width:100%; }
  .container { margin:1rem auto; padding:0 .75rem; }
  .categories { gap:.5rem; margin-bottom:1rem; }
  .categories { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); }
  .cat-btn { flex:1 1 calc(50% - .5rem); padding:.55rem .55rem; font-size:.84rem; }
  .phone-filters,.catalog-status,.compare-module { border-radius:16px; padding:.75rem; }
  .phone-filters-header h3 { white-space:normal; }
  .phone-filters-header p,.catalog-status-info span { line-height:1.35; }
  .check-pill { white-space:normal; border-radius:14px; line-height:1.2; align-items:flex-start; padding:.55rem .6rem; }
  .price-range input { min-height:44px; }
  .products-grid { grid-template-columns:1fr; gap:.9rem; }
  .product-card { min-height:auto; border-radius:16px; }
  .product-info { min-height:auto; }
  .product-card-actions { flex-direction:column; align-items:stretch; }
  .badge { width:100%; }
  .compare-card-btn { width:100%; min-height:42px; }
  .compare-controls button,.compare-controls select { width:100%; }
  .compare-table { min-width:620px; }
  .compare-empty { padding:1rem; line-height:1.4; }
  .compare-ai { padding:.75rem; border-radius:16px; }
  .compare-ai-card,.compare-ai-recommend { border-radius:14px; padding:.75rem; }
  .modal { padding:.5rem; }
  .modal-content { border-radius:18px; }
  .image-viewer { min-height:240px; padding:.8rem; border-radius:16px; }
  .image-viewer img { max-height:210px; }
  .gallery-nav { width:38px; height:38px; }
  .modal-right h2 { font-size:1.25rem; line-height:1.2; }
  .modal-meta,.modal-right h2 { padding-right:2.4rem; }
  .modal-actions { grid-template-columns:1fr; }
  .color-option,.storage-option { width:100%; justify-content:center; }
  .cart-sidebar { padding:1rem; }
  .cart-header { font-size:1.25rem; }
  .cart-item { flex-wrap:wrap; }
  .cart-item-img { flex:0 0 56px; }
  .cart-total { font-size:1.1rem; }
  footer { padding:1.25rem .75rem; font-size:.78rem; }
}
@media (max-width:360px) {
  .header { padding:.85rem; }
  .search-cart { grid-template-columns:1fr; }
  .categories { grid-template-columns:1fr; }
  .tariff-title { font-size:.78rem; }
  .header-tariff-btn .tariff-icon { width:24px; height:24px; }
  .cat-btn { font-size:.8rem; }
  .product-img { height:176px; min-height:176px; }
  .product-img img { height:138px; max-height:138px; }
  .modal-left,.modal-right { padding:.8rem; }
  .thumb-btn { width:56px; height:54px; }
}
@media (max-width:700px) {
  .home-hero-inner { grid-template-columns:1fr; }
  .modal { align-items:flex-start; padding:.75rem; }
  .modal-content { width:100%; max-height:none; grid-template-columns:1fr; border-radius:22px; }
  .modal-left,.modal-right { width:100%; padding:1rem; border-right:none; }
  .image-viewer { min-height:280px; }
  .image-viewer img { max-height:250px; }
  .modal-right { max-height:none; }
  .modal-actions { grid-template-columns:1fr; }
  .cart-sidebar { width:100%; right:-100%; }
  .search-box { min-width:0; }
}
@media (max-width:360px) {
  .modal-left,.modal-right { padding:.8rem; }
  .image-viewer { min-height:230px; }
  .image-viewer img { max-height:200px; }
}
@media (max-width:520px) {
  .home-header-actions { justify-content:center; gap:.4rem; margin-top:.45rem; }
  .auth-actions { width:100%; justify-content:center; gap:.4rem; }
  .header-link-btn,.header-phone-link { min-height:34px; padding:.42rem .65rem; font-size:.76rem; }
  .home-hero,.home-section { margin-top:.7rem; padding:0 .55rem; }
  .home-hero-inner { padding:.85rem; border-radius:18px; }
  .home-kicker { font-size:.68rem; padding:.28rem .55rem; margin-bottom:.45rem; }
  .home-hero h2 { font-size:1.22rem; margin-bottom:.35rem; }
  .home-hero-subtitle { font-size:.86rem; margin-bottom:.35rem; }
  .home-hero-text,.home-section-head p,.home-about-text p { font-size:.78rem; line-height:1.42; }
  .home-hero-actions,.contact-actions { gap:.45rem; margin:.65rem 0; }
  .home-primary-btn,.home-secondary-btn { min-height:36px; padding:.5rem .7rem; font-size:.78rem; }
  .home-quick-info { gap:.35rem; }
  .home-quick-info { display:flex; overflow-x:auto; scrollbar-width:thin; margin-top:.35rem; }
  .home-quick-info span { flex:0 0 auto; padding:.42rem .55rem; border-radius:12px; font-size:.7rem; }
  .home-hero-visual { display:none; }
  .hero-device-card { padding:.65rem; border-radius:16px; }
  .hero-phone-shape { height:86px; border-radius:15px; margin-bottom:.55rem; }
  .hero-phone-shape i { font-size:1.75rem; }
  .hero-phone-shape span { width:32px; height:6px; }
  .hero-category-icons { gap:.35rem; }
  .hero-category-icons span { padding:.42rem; border-radius:11px; font-size:.68rem; }
  .home-section-head { margin-bottom:.45rem; }
  .home-section-head h2,.catalog-intro h2 { font-size:1.05rem; margin-bottom:.25rem; }
  .advantage-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:.5rem; }
  .advantage-card,.contacts-card,.home-about-text,.map-frame,.catalog-intro { padding:.7rem; border-radius:15px; }
  .advantage-card { display:grid; grid-template-columns:auto 1fr; column-gap:.6rem; align-items:start; }
  .advantage-card i { width:32px; height:32px; border-radius:11px; margin-bottom:0; grid-row:1/3; }
  .advantage-card h3 { font-size:.82rem; margin-bottom:.2rem; }
  .advantage-card p { font-size:.72rem; line-height:1.35; }
  .home-category-list { padding:.55rem; gap:.4rem; border-radius:15px; margin:0 -.55rem; border-left:none; border-right:none; border-radius:0; }
  .home-category-list button { min-height:34px; padding:.38rem .62rem; font-size:.72rem; }
  .contact-row { gap:.45rem; padding:.25rem 0; font-size:.76rem; }
  .map-frame iframe { height:240px; }
  .catalog-intro { margin-bottom:.55rem; }
  .catalog-intro p { font-size:.75rem; }
  .header { padding:.55rem .75rem; }
  .logo { margin-bottom:.45rem; }
  .logo h1 { font-size:1.28rem; line-height:1.1; }
  .logo p { font-size:.68rem; margin-top:.08rem; line-height:1.2; }
  .search-cart { grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto; gap:.38rem; }
  .search-box { min-height:38px; padding:.42rem .72rem; border-radius:24px; }
  .search-box input { font-size:.82rem; }
  .header-tariff-btn,.header-compare-btn { min-height:38px; padding:.35rem .45rem; border-radius:22px; }
  .header-tariff-btn .tariff-icon { width:24px; height:24px; font-size:.78rem; }
  .header-tariff-btn .tariff-title { font-size:.78rem; }
  .cart-icon { grid-column:auto; justify-content:center; min-width:54px; min-height:38px; width:auto; padding:.35rem .55rem; border-radius:22px; }
  .search-cart .auth-actions { grid-column:1/-1; }

  .container { margin:.65rem auto 1rem; padding:0 .55rem; }
  .categories { display:flex; flex-wrap:nowrap; overflow-x:auto; justify-content:flex-start; gap:.4rem; margin:0 -.55rem .55rem; padding:0 .55rem .25rem; scrollbar-width:thin; }
  .cat-btn { flex:0 0 auto; min-height:34px; padding:.42rem .75rem; font-size:.78rem; white-space:nowrap; border-radius:999px; }

  .phone-filters,.catalog-status,.compare-module { padding:.55rem; margin-bottom:.55rem; border-radius:14px; }
  .phone-filters-header { gap:.4rem; }
  .phone-filters-header h3 { font-size:.86rem; }
  .phone-filters-header p,.catalog-status-info span { font-size:.72rem; }
  .filter-actions { gap:.35rem; }
  .filter-toggle,.clear-filters { min-height:34px; padding:.32rem .55rem; font-size:.72rem; }
  .filter-groups { margin-top:.45rem; gap:.45rem; }
  .filter-group { padding:.5rem; border-radius:12px; }
  .filter-group-title { margin-bottom:.32rem; font-size:.72rem; }
  .check-list { gap:.28rem; }
  .check-pill { min-height:32px; padding:.38rem .5rem; font-size:.68rem; }
  .price-range { gap:.35rem; }
  .price-range label { font-size:.68rem; }
  .price-range input { min-height:36px; padding:.35rem .45rem; font-size:.74rem; }
  .catalog-status { gap:.4rem; }
  .catalog-status { display:grid; grid-template-columns:1fr; align-items:start; }
  .catalog-status-info strong { font-size:.84rem; }
  .catalog-status-info span { display:block; margin-top:.12rem; }
  .catalog-reset-btn { width:max-content; max-width:100%; min-height:32px; margin-left:0; padding:.28rem .55rem; }

  .products-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:.55rem; }
  .product-card { border-radius:13px; min-height:auto; }
  .product-img { height:126px; min-height:126px; padding:.55rem; }
  .product-img img { height:104px; max-height:104px; max-width:128px; }
  .tariff-visual { height:104px; border-radius:12px; gap:.35rem; }
  .tariff-visual i { font-size:1.55rem; }
  .product-info { padding:.65rem .68rem .72rem; min-height:auto; }
  .product-title { font-size:.86rem; line-height:1.2; min-height:2.35em; margin-bottom:.3rem; }
  .product-price { font-size:1.02rem; margin:.12rem 0 .35rem; }
  .product-desc { font-size:.74rem; line-height:1.32; min-height:2.65em; margin-bottom:.5rem; -webkit-line-clamp:2; }
  .product-card-actions { gap:.4rem; min-height:0; }
  .badge { min-height:25px; padding:.25rem .48rem; font-size:.64rem; }
  .compare-card-btn { min-height:34px; min-width:0; padding:.35rem .45rem; font-size:.68rem; }

  .modal { padding:.4rem; }
  .modal-left,.modal-right { padding:.75rem; }
  .image-viewer { min-height:210px; padding:.6rem; }
  .image-viewer img { max-height:185px; }
  .modal-thumbs { gap:.4rem; margin-top:.55rem; }
  .thumb-btn { width:52px; height:48px; border-radius:10px; }
  .modal-right h2 { font-size:1.15rem; }
  .price-modal { font-size:1.32rem; margin:.45rem 0; }
  .specs { padding:.65rem; margin:.65rem 0; border-radius:14px; }
  .specs li { font-size:.78rem; margin:.35rem 0; }
  .options { margin:.75rem 0; }
  .option-group { margin-bottom:.65rem; }
  .color-btns,.storage-btns { gap:.45rem; }
  .color-option,.storage-option { min-height:36px; padding:.38rem .65rem; font-size:.78rem; }
  .modal-actions { margin-top:.65rem; gap:.45rem; }
  .add-to-cart,.details-btn { min-height:40px; padding:.65rem .8rem; font-size:.86rem; }

  .cart-sidebar { padding:.8rem; }
  .cart-item { gap:.55rem; margin-bottom:.65rem; padding-bottom:.65rem; }
  .cart-item-img { width:50px; height:50px; }
  .checkout-btn { min-height:40px; padding:.65rem; }

  .compare-header { gap:.45rem; margin-bottom:.6rem; }
  .compare-header h2 { font-size:1.05rem; }
  .compare-header p { font-size:.78rem; line-height:1.35; }
  .compare-controls { gap:.45rem; margin:.6rem 0; }
  .compare-controls select,.compare-controls button { min-height:38px; padding:.55rem .65rem; font-size:.78rem; }
  .compare-ai { margin-top:.6rem; padding:.55rem; }
  .compare-ai-card { min-height:auto; padding:.65rem; }
  footer { padding:.8rem .6rem; font-size:.72rem; }
}
@media (max-width:425px) {
  .product-img { height:116px; min-height:116px; }
  .product-img img { height:94px; max-height:94px; max-width:116px; }
  .tariff-visual { height:94px; }
  .product-info { padding:.58rem .6rem .65rem; }
  .product-title { font-size:.82rem; }
  .product-price { font-size:.98rem; }
  .product-desc { font-size:.72rem; }
}
@media (max-width:360px) {
  .advantage-grid { grid-template-columns:1fr; }
  .logo p { display:none; }
  .search-cart { grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto; }
  .header-tariff-btn,.header-compare-btn { min-height:36px; }
  .cart-icon { min-height:36px; }
  .products-grid { grid-template-columns:1fr; gap:.65rem; }
  .product-img { height:132px; min-height:132px; }
  .product-img img { height:108px; max-height:108px; max-width:132px; }
  .tariff-visual { height:108px; }
  .product-info { padding:.65rem .72rem .75rem; }
  .product-title { font-size:.88rem; min-height:0; }
  .product-price { font-size:1.05rem; }
  .product-desc { min-height:2.55em; }
  .cat-btn { min-height:32px; padding:.38rem .68rem; }
}

/* Red and black Евросвязь theme */
.header { background:linear-gradient(135deg,#111 0%,#2a0b0b 52%,#b91c1c 100%); box-shadow:0 12px 26px rgba(17,17,17,.18); }
.logo h1 { display:flex; align-items:center; gap:.55rem; color:#fff; }
.logo-mark { width:34px; height:34px; border-radius:10px; background:#dc2626; color:#fff; display:inline-flex; align-items:center; justify-content:center; box-shadow:0 10px 20px -14px rgba(220,38,38,.9); }
.search-box i,.home-quick-info i,.contact-row i { color:#dc2626; }
.tariff-special-btn,.home-primary-btn,.filter-toggle,.compare-add-main,.details-btn,.checkout-submit,.checkout-btn { background:linear-gradient(135deg,#111 0%,#b91c1c 100%); color:#fff; }
.tariff-special-btn:hover,.header-tariff-btn:hover,.header-tariff-btn.active,.home-primary-btn:hover,.filter-toggle:hover,.compare-add-main:hover,.details-btn:hover,.checkout-submit:hover { background:linear-gradient(135deg,#7f1d1d 0%,#dc2626 100%); color:#fff; }
.header-link-btn,.cart-icon,.add-to-cart { background:#dc2626; color:#fff; }
.header-link-btn:hover,.cart-icon:hover,.add-to-cart:hover { background:#b91c1c; color:#fff; }
.home-kicker,.badge,.modal-category,.compare-chip,.compare-ai-best { background:#fee2e2; color:#7f1d1d; }
.home-hero h2,.home-section-head h2,.catalog-intro h2,.phone-filters-header h3,.catalog-status-info strong,.compare-header h2,.compare-ai-header h3,.product-price,.price-modal { color:#111; }
.home-hero-subtitle,.home-secondary-btn,.hero-category-icons span,.cat-btn:hover,.compare-card-btn,.compare-current-btn { color:#b91c1c; }
.home-secondary-btn:hover,.compare-card-btn:hover,.compare-current-btn:hover,.check-pill.is-checked { background:#fee2e2; border-color:#dc2626; color:#7f1d1d; }
.cat-btn.active,.color-option.selected,.storage-option.selected { background:#b91c1c; border-color:#b91c1c; color:#fff; }
.cat-btn:hover,.thumb-btn.active,.price-range input:focus,.checkout-form input:focus,.checkout-form select:focus,.checkout-form textarea:focus { border-color:#dc2626; }
.price-range input:focus,.checkout-form input:focus,.checkout-form select:focus,.checkout-form textarea:focus { box-shadow:0 0 0 3px rgba(220,38,38,.12); }
.check-pill input { accent-color:#dc2626; }
.hero-phone-shape,.tariff-visual { background:linear-gradient(135deg,#111,#b91c1c); }
.advantage-card i { background:#fee2e2; color:#b91c1c; }
.compare-table th { background:#111; }
.compare-ai-recommend li:before { background:#dc2626; }
.product-card:hover,.compare-ai-card.is-best { border-color:#fecaca; }

/* Static admin panel */
.admin-page { background:#f8fafc; }
.is-hidden { display:none !important; }
.admin-login { min-height:calc(100vh - 170px); display:flex; align-items:center; justify-content:center; padding:1rem; }
.admin-login-card { width:min(440px,100%); background:#fff; border:1px solid #e5e7eb; border-radius:22px; padding:1.4rem; box-shadow:0 18px 42px -34px rgba(17,24,39,.35); }
.admin-login-card h2 { margin:.55rem 0 .35rem; color:#111; }
.admin-login-card p,.admin-login-card small { display:block; color:#64748b; line-height:1.45; }
.admin-login-card label,.admin-product-form label { display:flex; flex-direction:column; gap:.35rem; color:#334155; font-weight:700; font-size:.86rem; }
.admin-login-card input,.admin-product-form input,.admin-product-form select,.admin-product-form textarea { width:100%; border:1px solid #e5e7eb; border-radius:14px; padding:.7rem .8rem; font:inherit; color:#111; background:#fff; outline:0; }
.admin-login-card input:focus,.admin-product-form input:focus,.admin-product-form select:focus,.admin-product-form textarea:focus { border-color:#dc2626; box-shadow:0 0 0 3px rgba(220,38,38,.12); }
.admin-login-card .checkout-submit { width:100%; margin:.85rem 0 .6rem; }
.admin-login-error { min-height:1.2rem; margin-top:.55rem; color:#b91c1c; font-weight:700; font-size:.84rem; }
.admin-logout-btn { display:none; border:0; cursor:pointer; font:inherit; }
.admin-logout-btn.is-visible { display:inline-flex; }
.admin-shell { width:min(1180px,100%); margin:1.5rem auto 2rem; padding:0 1rem; }
.admin-hero { display:grid; grid-template-columns:1fr; gap:1rem; align-items:stretch; background:#fff; border:1px solid #e5e7eb; border-radius:22px; padding:1.5rem; box-shadow:0 18px 42px -34px rgba(17,24,39,.35); }
.admin-hero h2 { margin:.5rem 0 .35rem; font-size:2rem; color:#111; }
.admin-hero p { color:#475569; line-height:1.6; }
.admin-note { display:flex; gap:.75rem; align-items:flex-start; background:#111; color:#fff; border-radius:18px; padding:1rem; line-height:1.5; }
.admin-note i { color:#ef4444; margin-top:.2rem; }
.admin-stats { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:.8rem; margin:1rem 0; }
.admin-stat-card { display:flex; align-items:center; gap:.8rem; min-height:96px; background:#fff; border:1px solid #e5e7eb; border-radius:18px; padding:1rem; box-shadow:0 14px 34px -32px rgba(17,24,39,.35); }
.admin-stat-card i { width:42px; height:42px; border-radius:14px; display:inline-flex; align-items:center; justify-content:center; background:#fee2e2; color:#b91c1c; }
.admin-stat-card strong { display:block; font-size:1.35rem; color:#111; }
.admin-stat-card span { display:block; margin-top:.12rem; color:#64748b; font-size:.86rem; line-height:1.35; }
.admin-panel { background:#fff; border:1px solid #e5e7eb; border-radius:22px; padding:1.2rem; margin-top:1rem; box-shadow:0 18px 42px -34px rgba(17,24,39,.35); }
.admin-panel-head { display:flex; justify-content:space-between; gap:1rem; align-items:flex-start; margin-bottom:1rem; }
.admin-panel-head h2 { margin:0 0 .25rem; color:#111; }
.admin-panel-head p { color:#64748b; line-height:1.45; }
.admin-toolbar { display:flex; gap:.6rem; align-items:center; flex-wrap:wrap; justify-content:flex-end; }
.admin-search { min-width:280px; min-height:44px; display:flex; align-items:center; gap:.55rem; background:#f8fafc; border:1px solid #e5e7eb; border-radius:999px; padding:.55rem .9rem; }
.admin-search i { color:#dc2626; }
.admin-search input { border:0; outline:0; background:transparent; width:100%; font:inherit; color:#111; }
.admin-toolbar select { min-height:44px; border:1px solid #e5e7eb; border-radius:999px; padding:.55rem .9rem; background:#fff; color:#111; font:inherit; }
.admin-search:focus-within,.admin-toolbar select:focus { border-color:#dc2626; box-shadow:0 0 0 3px rgba(220,38,38,.12); outline:0; }
.admin-product-form { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:.85rem; }
.admin-product-form .admin-form-wide { grid-column:span 3; }
.admin-product-form textarea { resize:vertical; min-height:92px; }
.admin-spec-fieldset { border:1px solid #e5e7eb; border-radius:16px; padding:1rem; margin:0; }
.admin-spec-fieldset legend { padding:0 .45rem; font-size:.86rem; font-weight:800; color:#334155; }
.admin-spec-grid { display:grid; grid-template-columns:minmax(120px,.65fr) minmax(180px,1fr); gap:.65rem; margin-bottom:.75rem; }
.admin-spec-key { font-weight:700; }
.admin-form-actions { grid-column:span 3; display:flex; align-items:center; gap:.65rem; flex-wrap:wrap; }
.admin-form-message { display:none; grid-column:span 3; padding:.8rem; border-radius:14px; font-weight:700; }
.admin-form-message.is-visible { display:block; }
.admin-form-message.success { background:#dcfce7; color:#166534; }
.admin-form-message.warning { background:#fee2e2; color:#7f1d1d; }
.admin-delete-btn { min-height:34px; border:0; border-radius:999px; background:#fee2e2; color:#991b1b; font:inherit; font-weight:800; padding:.45rem .75rem; cursor:pointer; transition:.2s; }
.admin-delete-btn:hover { background:#fecaca; transform:translateY(-1px); }
.admin-table-wrap { overflow-x:auto; border:1px solid #e5e7eb; border-radius:16px; }
.admin-table { width:100%; border-collapse:collapse; min-width:860px; }
.admin-table th { background:#111; color:#fff; padding:.85rem; text-align:left; font-size:.84rem; }
.admin-table td { padding:.85rem; border-bottom:1px solid #eef2f7; color:#334155; vertical-align:top; }
.admin-table td strong { display:block; color:#111; }
.admin-table td span { display:block; color:#64748b; margin-top:.25rem; font-size:.82rem; line-height:1.35; max-width:420px; }
.admin-table tr:last-child td { border-bottom:0; }
.admin-empty { display:none; margin-top:.8rem; padding:.9rem; border-radius:14px; background:#fee2e2; color:#7f1d1d; }
.admin-empty.is-visible { display:block; }
.admin-demo-order { display:flex; gap:.8rem; align-items:flex-start; background:#f8fafc; border:1px dashed #fecaca; border-radius:16px; padding:1rem; }
.admin-demo-order i { color:#dc2626; font-size:1.3rem; margin-top:.15rem; }
.admin-demo-order strong,.admin-demo-order span { display:block; }
.admin-demo-order span { margin-top:.18rem; color:#64748b; line-height:1.45; }
.auth-user { min-height:38px; border-radius:999px; padding:.55rem .75rem; display:inline-flex; align-items:center; color:#fff; background:rgba(255,255,255,.12); border:1px solid rgba(255,255,255,.2); font-weight:900; font-size:.82rem; }
.auth-register-link { background:#111; }
.auth-page { min-height:calc(100vh - 170px); display:flex; align-items:center; justify-content:center; padding:1.5rem; }
.auth-card { width:min(480px,100%); background:#fff; border:1px solid #e5e7eb; border-radius:22px; padding:1.4rem; box-shadow:0 18px 42px -34px rgba(17,24,39,.35); }
.auth-card h2 { margin:.55rem 0 .35rem; color:#111; font-size:1.7rem; }
.auth-card p { color:#64748b; line-height:1.45; }
.auth-form { display:grid; gap:.85rem; margin-top:1rem; }
.auth-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.75rem; }
.auth-form label,.account-form label { display:flex; flex-direction:column; gap:.35rem; color:#334155; font-weight:800; font-size:.86rem; }
.auth-form input,.account-form input,.account-form textarea { width:100%; border:1px solid #e5e7eb; border-radius:14px; padding:.72rem .82rem; font:inherit; color:#111; background:#fff; outline:0; }
.auth-form input:focus,.account-form input:focus,.account-form textarea:focus { border-color:#dc2626; box-shadow:0 0 0 3px rgba(220,38,38,.12); }
.auth-hint,.auth-switch { font-size:.82rem; }
.auth-switch { margin-top:1rem; text-align:center; }
.auth-switch a { color:#b91c1c; font-weight:900; }
.auth-message { display:none; padding:.75rem .85rem; border-radius:14px; font-weight:800; line-height:1.4; }
.auth-message.is-visible { display:block; }
.auth-message.error { background:#fee2e2; color:#7f1d1d; border:1px solid #fecaca; }
.auth-message.success { background:#dcfce7; color:#166534; border:1px solid #bbf7d0; }
.account-page { width:min(1180px,100%); margin:1.5rem auto 2rem; padding:0 1rem; }
.account-hero,.account-panel { background:#fff; border:1px solid #e5e7eb; border-radius:22px; padding:1.3rem; box-shadow:0 18px 42px -34px rgba(17,24,39,.35); }
.account-hero { display:flex; align-items:flex-start; justify-content:space-between; gap:1rem; }
.account-hero h2 { margin:.5rem 0 .35rem; color:#111; font-size:1.8rem; }
.account-hero p,.account-panel-head p { color:#64748b; line-height:1.45; }
.account-logout { background:#fff; }
.account-tabs { display:flex; gap:.6rem; flex-wrap:wrap; margin:1rem 0; }
.account-tabs button { border:1px solid #e5e7eb; background:#fff; color:#111; border-radius:999px; min-height:40px; padding:.55rem .95rem; font:inherit; font-weight:900; cursor:pointer; }
.account-tabs button.active { background:#b91c1c; border-color:#b91c1c; color:#fff; }
.account-panel { display:none; margin-top:1rem; }
.account-panel.active { display:block; }
.account-panel-head { display:flex; justify-content:space-between; gap:1rem; align-items:flex-start; margin-bottom:1rem; }
.account-panel-head h3 { color:#111; font-size:1.25rem; margin:0 0 .25rem; }
.account-form { display:grid; gap:.9rem; }
.account-form-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.85rem; }
.account-form h4,.account-order-details h4 { color:#111; margin:.35rem 0 0; }
.account-form textarea { min-height:92px; resize:vertical; }
.account-orders-list { display:grid; gap:.75rem; }
.account-order-card { display:grid; grid-template-columns:1fr 1fr auto; gap:.8rem; align-items:center; border:1px solid #e5e7eb; border-radius:16px; padding:.85rem; background:#f8fafc; }
.account-order-card strong,.account-favorite-card strong { display:block; color:#111; }
.account-order-card span,.account-favorite-card span { display:block; margin-top:.2rem; color:#64748b; font-size:.84rem; }
.account-order-actions,.account-favorite-actions { display:flex; gap:.45rem; flex-wrap:wrap; justify-content:flex-end; }
.account-order-details { display:none; margin-top:1rem; border:1px solid #e5e7eb; border-radius:18px; padding:1rem; background:#fff; }
.account-order-details:not(:empty) { display:block; }
.account-details-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:.65rem; margin:.85rem 0; }
.account-details-grid div { background:#f8fafc; border:1px solid #e5e7eb; border-radius:14px; padding:.7rem; }
.account-details-grid dt { color:#64748b; font-size:.76rem; font-weight:900; margin-bottom:.2rem; }
.account-details-grid dd { color:#111; font-weight:900; }
.account-order-items { display:grid; gap:.45rem; margin:.65rem 0 .9rem; }
.account-order-items div { display:flex; justify-content:space-between; gap:.75rem; border-bottom:1px solid #eef2f7; padding:.45rem 0; }
.account-favorites-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(240px,1fr)); gap:.85rem; }
.account-favorite-card { border:1px solid #e5e7eb; border-radius:18px; padding:.8rem; background:#f8fafc; display:grid; gap:.65rem; }
.account-favorite-img { height:150px; border-radius:14px; background:#fff; display:flex; align-items:center; justify-content:center; }
.account-favorite-img img { max-width:100%; max-height:130px; object-fit:contain; }
.account-empty { padding:1rem; border:1px dashed #fecaca; border-radius:16px; color:#7f1d1d; background:#fff7f7; font-weight:800; }
.checkout-submit:disabled { opacity:.72; cursor:wait; transform:none; }
.order-result { max-width:820px; margin:1.5rem auto 2rem; padding:0 1.5rem; }
.order-result-card { background:#fff; border:1px solid #e2e8f0; border-radius:22px; padding:1.5rem; box-shadow:0 18px 42px -34px rgba(17,24,39,.35); }
.order-result-card h2 { color:#111; font-size:1.8rem; line-height:1.15; margin:.4rem 0 .55rem; }
.order-result-card p { color:#475569; line-height:1.55; }
.order-result-details { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:.75rem; margin:1rem 0; }
.order-result-details div { background:#f8fafc; border:1px solid #e2e8f0; border-radius:14px; padding:.75rem; }
.order-result-details dt { color:#64748b; font-size:.78rem; font-weight:800; margin-bottom:.25rem; }
.order-result-details dd { color:#111; font-weight:900; }

@media (max-width:900px) {
  .admin-hero { grid-template-columns:1fr; }
  .admin-stats { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .admin-panel-head { flex-direction:column; }
  .admin-toolbar { width:100%; justify-content:stretch; }
  .admin-search,.admin-toolbar select { width:100%; min-width:0; }
  .admin-product-form { grid-template-columns:1fr 1fr; }
  .admin-product-form .admin-form-wide,.admin-form-actions,.admin-form-message { grid-column:span 2; }
}

@media (max-width:520px) {
  .admin-login { align-items:flex-start; min-height:auto; padding:.75rem .55rem; }
  .admin-login-card { border-radius:16px; padding:.85rem; }
  .admin-shell { margin:.75rem auto 1rem; padding:0 .55rem; }
  .admin-hero,.admin-panel { border-radius:16px; padding:.85rem; }
  .admin-hero h2 { font-size:1.35rem; }
  .admin-hero p,.admin-note { font-size:.8rem; }
  .admin-stats { grid-template-columns:1fr; gap:.55rem; margin:.65rem 0; }
  .admin-stat-card { min-height:72px; padding:.75rem; border-radius:14px; }
  .admin-stat-card i { width:34px; height:34px; border-radius:11px; }
  .admin-stat-card strong { font-size:1.08rem; }
  .admin-stat-card span { font-size:.76rem; }
  .admin-panel-head { gap:.6rem; margin-bottom:.7rem; }
  .admin-panel-head h2 { font-size:1.05rem; }
  .admin-panel-head p { font-size:.78rem; }
  .admin-search,.admin-toolbar select { min-height:38px; font-size:.78rem; }
  .admin-product-form { grid-template-columns:1fr; gap:.6rem; }
  .admin-product-form .admin-form-wide,.admin-form-actions,.admin-form-message { grid-column:span 1; }
  .admin-product-form input,.admin-product-form select,.admin-product-form textarea,.admin-login-card input { min-height:38px; padding:.55rem .65rem; font-size:.8rem; }
  .admin-spec-grid { grid-template-columns:1fr; }
  .admin-form-actions { align-items:stretch; }
  .admin-form-actions button { width:100%; }
  .admin-table { min-width:0; }
  .admin-table thead { display:none; }
  .admin-table,.admin-table tbody,.admin-table tr,.admin-table td { display:block; width:100%; }
  .admin-table tr { padding:.75rem; border-bottom:1px solid #e5e7eb; }
  .admin-table td { display:flex; justify-content:space-between; gap:.75rem; padding:.35rem 0; border-bottom:0; font-size:.8rem; }
  .admin-table td:before { content:attr(data-label); flex:0 0 86px; color:#64748b; font-weight:700; }
  .admin-table td span { max-width:none; font-size:.74rem; }
  .admin-demo-order { padding:.75rem; font-size:.8rem; }
  .auth-page { align-items:flex-start; min-height:auto; padding:.75rem .55rem; }
  .auth-card { border-radius:16px; padding:.9rem; }
  .auth-card h2 { font-size:1.25rem; }
  .auth-grid,.account-form-grid,.account-details-grid { grid-template-columns:1fr; gap:.55rem; }
  .auth-form input,.account-form input,.account-form textarea { min-height:38px; padding:.55rem .65rem; font-size:.8rem; }
  .auth-user { width:100%; justify-content:center; min-height:34px; padding:.42rem .65rem; font-size:.76rem; }
  .account-page { margin:.75rem auto 1rem; padding:0 .55rem; }
  .account-hero,.account-panel { border-radius:16px; padding:.85rem; }
  .account-hero { display:grid; }
  .account-hero h2 { font-size:1.25rem; }
  .account-tabs { display:grid; grid-template-columns:1fr; gap:.45rem; }
  .account-panel-head { display:block; margin-bottom:.7rem; }
  .account-order-card { grid-template-columns:1fr; align-items:start; }
  .account-order-actions,.account-favorite-actions { justify-content:stretch; }
  .account-order-actions button,.account-favorite-actions a,.account-favorite-actions button { flex:1; text-align:center; }
  .account-order-items div { display:grid; }
  .account-favorites-grid { grid-template-columns:1fr; }
  .order-result { margin:.75rem auto 1rem; padding:0 .55rem; }
  .order-result-card { border-radius:16px; padding:.9rem; }
  .order-result-card h2 { font-size:1.25rem; }
  .order-result-details { grid-template-columns:1fr; gap:.45rem; }
}
:root {
  --color-primary:#d71920;
  --color-primary-dark:#b51218;
  --color-primary-soft:#fff1f2;
  --color-accent:#ef4444;
  --color-bg:#f6f7f9;
  --color-surface:#ffffff;
  --color-text:#111827;
  --color-muted:#6b7280;
  --color-border:#e5e7eb;
  --color-danger:#dc2626;
  --color-warning:#f59e0b;
  --color-success:#16a34a;
  --color-soft:var(--color-primary-soft);
  --radius-sm:8px;
  --radius-md:14px;
  --radius-lg:20px;
  --shadow-sm:0 4px 12px rgba(15,23,42,.06);
  --shadow-md:0 12px 30px rgba(15,23,42,.1);
  --container-width:1180px;
}

/* Diploma design refresh */
body { background:var(--color-bg); color:var(--color-text); }
a,button { -webkit-tap-highlight-color:transparent; }
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible { outline:3px solid rgba(215,25,32,.22); outline-offset:2px; }
.container,.home-hero,.home-section,.admin-shell,.account-page,.order-result { max-width:var(--container-width); }
.section,.card,.catalog-intro,.phone-filters,.catalog-status,.compare-module,.advantage-card,.contacts-card,.home-about-text,.map-frame,.auth-card,.account-hero,.account-panel,.admin-login-card,.admin-hero,.admin-panel,.order-result-card {
  background:var(--color-surface);
  border:1px solid var(--color-border);
  border-radius:var(--radius-lg);
  box-shadow:var(--shadow-sm);
}
.section { padding:1.25rem; }
.section-title { color:var(--color-text); font-size:1.45rem; line-height:1.15; margin-bottom:.35rem; }
.section-subtitle { color:var(--color-muted); line-height:1.5; }
.card { padding:1rem; }
.form-group { display:grid; gap:.35rem; }
.form-label { color:#334155; font-weight:800; font-size:.86rem; }
.form-input,.form-select,.form-textarea {
  width:100%;
  border:1px solid var(--color-border);
  border-radius:var(--radius-md);
  padding:.72rem .82rem;
  font:inherit;
  color:var(--color-text);
  background:#fff;
}
.form-error { color:#991b1b; background:#fee2e2; border:1px solid #fecaca; border-radius:var(--radius-md); padding:.7rem .8rem; font-weight:800; }
.form-success { color:#166534; background:#dcfce7; border:1px solid #bbf7d0; border-radius:var(--radius-md); padding:.7rem .8rem; font-weight:800; }
.loading-state { color:var(--color-muted); background:#fff; border:1px solid var(--color-border); border-radius:var(--radius-lg); padding:1rem; }
.btn,.home-primary-btn,.home-secondary-btn,.header-link-btn,.header-phone-link,.checkout-submit,.checkout-btn,.filter-toggle,.clear-filters,.compare-add-main,.compare-clear,.compare-card-btn,.compare-current-btn,.add-to-cart,.details-btn,.card-buy-btn,.card-more-btn {
  min-height:42px;
  border-radius:999px;
  font-family:inherit;
  font-weight:800;
  text-decoration:none;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:.45rem;
  transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease, background .18s ease, color .18s ease;
}
.btn-primary,.home-primary-btn,.checkout-submit,.checkout-btn,.filter-toggle,.compare-add-main,.details-btn,.card-buy-btn {
  background:linear-gradient(135deg,var(--color-primary),var(--color-primary-dark));
  color:#fff;
  border:0;
  box-shadow:0 10px 22px -16px rgba(215,25,32,.8);
}
.btn-primary:hover,.home-primary-btn:hover,.checkout-submit:hover,.checkout-btn:hover,.filter-toggle:hover,.compare-add-main:hover,.details-btn:hover,.card-buy-btn:hover {
  background:linear-gradient(135deg,var(--color-primary-dark),#991b1b);
  color:#fff;
  transform:translateY(-1px);
  box-shadow:0 14px 28px -18px rgba(215,25,32,.85);
}
.btn-secondary,.home-secondary-btn,.clear-filters,.compare-clear,.compare-card-btn,.compare-current-btn,.card-more-btn {
  background:#fff;
  color:var(--color-primary-dark);
  border:1px solid #fecaca;
}
.btn-secondary:hover,.home-secondary-btn:hover,.clear-filters:hover,.compare-clear:hover,.compare-card-btn:hover,.compare-current-btn:hover,.card-more-btn:hover {
  background:var(--color-soft);
  border-color:#fca5a5;
  color:var(--color-primary-dark);
  transform:translateY(-1px);
}
.btn-danger,.admin-delete-btn { background:#fee2e2; color:#991b1b; border:1px solid #fecaca; }
.btn-success { background:#dcfce7; color:#166534; border:1px solid #bbf7d0; }
.badge { background:var(--color-soft); color:var(--color-primary-dark); border:1px solid #fecaca; }
.badge-success { background:#dcfce7; color:#166534; border-color:#bbf7d0; }
.badge-warning { background:#fef3c7; color:#92400e; border-color:#fde68a; }
.badge-danger { background:#fee2e2; color:#991b1b; border-color:#fecaca; }
.badge-muted { background:#f3f4f6; color:#4b5563; border-color:#e5e7eb; }

.header {
  background:rgba(255,255,255,.92);
  color:var(--color-text);
  border-bottom:1px solid rgba(229,231,235,.9);
  box-shadow:0 12px 32px -30px rgba(15,23,42,.45);
  backdrop-filter:blur(14px);
}
.header-container { max-width:var(--container-width); }
.logo h1 { color:var(--color-text); }
.logo p { color:var(--color-muted); opacity:1; }
.logo-mark { background:linear-gradient(135deg,var(--color-primary),var(--color-accent)); box-shadow:0 10px 20px -16px rgba(215,25,32,.9); }
.header-link-btn { background:#fff; color:var(--color-primary-dark); border:1px solid #fecaca; }
.header-link-btn:hover,.header-link-btn[aria-current="page"] { background:var(--color-soft); border-color:#fca5a5; color:var(--color-primary-dark); transform:translateY(-1px); }
.header-phone-link,.auth-user { background:var(--color-soft); color:var(--color-primary-dark); border:1px solid #fecaca; }
.auth-register-link { background:var(--color-primary); color:#fff; border-color:var(--color-primary); }
.search-box { border:1px solid var(--color-border); box-shadow:var(--shadow-sm); }
.search-box i,.home-quick-info i,.contact-row i,.admin-search i { color:var(--color-primary); }
.cart-icon { background:var(--color-primary); color:#fff; box-shadow:0 12px 24px -18px rgba(215,25,32,.85); }
.cart-icon:hover { background:var(--color-primary-dark); color:#fff; }
.tariff-special-btn { background:#fff; color:var(--color-primary-dark); border:1px solid #fecaca; box-shadow:var(--shadow-sm); }
.tariff-special-btn:hover,.header-tariff-btn:hover,.header-tariff-btn.active { background:var(--color-soft); color:var(--color-primary-dark); border-color:#fca5a5; }
.header-tariff-btn .tariff-icon { background:#fee2e2; color:var(--color-primary-dark); }

.home-hero-inner {
  background:
    radial-gradient(circle at 88% 12%,rgba(215,25,32,.12),transparent 28%),
    radial-gradient(circle at 12% 20%,rgba(239,68,68,.10),transparent 32%),
    #fff;
  border-radius:28px;
  border:1px solid #fecaca;
  box-shadow:var(--shadow-md);
}
.home-kicker { background:var(--color-soft); color:var(--color-primary-dark); border:1px solid #fecaca; }
.home-hero h2,.home-section-head h2,.catalog-intro h2,.phone-filters-header h3,.catalog-status-info strong,.compare-header h2,.compare-ai-header h3,.product-price,.price-modal,.admin-panel-head h2,.account-panel-head h3 { color:var(--color-text); }
.product-price,.price-modal { color:var(--color-primary-dark); }
.home-hero-subtitle { color:var(--color-primary-dark); }
.home-quick-info span,.hero-category-icons span { border-color:var(--color-border); background:#fff; box-shadow:0 8px 18px -18px rgba(15,23,42,.35); }
.home-hero-visual { background:linear-gradient(135deg,#fff1f2 0%,#ffffff 100%); border-color:#fecaca; }
.hero-phone-shape,.tariff-visual { background:linear-gradient(135deg,var(--color-primary),var(--color-accent)); }
.home-category-grid { display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); gap:.85rem; }
.home-category-card {
  min-height:150px;
  padding:1rem;
  border-radius:var(--radius-lg);
  background:#fff;
  border:1px solid var(--color-border);
  box-shadow:var(--shadow-sm);
  display:flex;
  flex-direction:column;
  gap:.55rem;
  text-decoration:none;
  color:var(--color-text);
  transition:.2s ease;
}
.home-category-card i,.advantage-card i {
  width:42px;
  height:42px;
  border-radius:14px;
  background:var(--color-soft);
  color:var(--color-primary-dark);
  display:flex;
  align-items:center;
  justify-content:center;
}
.home-category-card strong { font-size:.96rem; }
.home-category-card span { color:var(--color-muted); font-size:.82rem; line-height:1.4; }
.home-category-card:hover,.advantage-card:hover,.product-card:hover {
  transform:translateY(-3px);
  border-color:#fca5a5;
  box-shadow:var(--shadow-md);
}
.contacts-card,.home-about-text { display:grid; gap:.45rem; }
.map-frame { overflow:hidden; }

.categories { justify-content:flex-start; background:#fff; border:1px solid var(--color-border); border-radius:var(--radius-lg); padding:.65rem; box-shadow:var(--shadow-sm); }
.cat-btn { border-color:var(--color-border); background:#f9fafb; color:var(--color-text); }
.cat-btn:hover { border-color:#fca5a5; color:var(--color-primary-dark); background:var(--color-soft); }
.cat-btn.active { background:var(--color-primary); border-color:var(--color-primary); color:#fff; box-shadow:0 10px 20px -16px rgba(215,25,32,.8); }
.phone-filters,.catalog-status { max-width:none; }
.phone-filters { border-radius:var(--radius-lg); }
.filter-group { background:#f9fafb; border-color:var(--color-border); }
.check-pill { background:#fff; border-color:var(--color-border); }
.check-pill.is-checked { background:var(--color-soft); border-color:#fca5a5; color:var(--color-primary-dark); }
.price-range input,.checkout-form input,.checkout-form select,.checkout-form textarea,.auth-form input,.account-form input,.account-form textarea,.admin-login-card input,.admin-product-form input,.admin-product-form select,.admin-product-form textarea {
  border-color:var(--color-border);
  border-radius:var(--radius-md);
  background:#fff;
}
.price-range input:focus,.checkout-form input:focus,.checkout-form select:focus,.checkout-form textarea:focus,.auth-form input:focus,.account-form input:focus,.account-form textarea:focus,.admin-login-card input:focus,.admin-product-form input:focus,.admin-product-form select:focus,.admin-product-form textarea:focus {
  border-color:var(--color-primary);
  box-shadow:0 0 0 3px rgba(215,25,32,.14);
}

.products-grid { grid-template-columns:repeat(auto-fill,minmax(240px,1fr)); gap:1.15rem; }
.product-card { border-radius:var(--radius-lg); border-color:var(--color-border); box-shadow:var(--shadow-sm); min-height:450px; }
.product-img { background:linear-gradient(180deg,#ffffff 0%,#f9fafb 100%); }
.product-info { border-top:1px solid var(--color-border); }
.product-desc { color:var(--color-muted); }
.product-buy-actions { display:grid; grid-template-columns:1fr 1fr; gap:.55rem; margin-top:.75rem; }
.card-more-btn,.card-buy-btn { min-height:38px; padding:.45rem .65rem; font-size:.78rem; border:none; cursor:pointer; }
.card-more-btn { border:1px solid #fecaca; }
.favorite-card-btn { border-color:#fecaca; color:var(--color-primary-dark); }
.favorite-card-btn:hover,.favorite-card-btn.active { background:#fef3c7; border-color:#fbbf24; color:#b45309; }
.empty-results,.empty-state,.account-empty,.admin-empty {
  background:#fff;
  border:1px dashed #fecaca;
  border-radius:var(--radius-lg);
  color:var(--color-muted);
}
.empty-cart {
  min-height:220px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:.65rem;
  text-align:center;
  color:var(--color-muted);
}
.empty-cart strong { color:var(--color-text); font-size:1.05rem; }
.empty-cart span { max-width:260px; line-height:1.45; }

.modal { background:rgba(15,23,42,.68); }
.modal-content { border-radius:26px; box-shadow:0 28px 80px rgba(15,23,42,.34); }
.close-modal { background:#fff; border:1px solid var(--color-border); color:var(--color-text); }
.close-modal:hover { background:var(--color-soft); color:var(--color-primary-dark); }
.specs { background:#f8fafc; border:1px solid var(--color-border); }
.color-option,.storage-option { border-color:var(--color-border); }
.color-option.selected,.storage-option.selected { background:var(--color-primary); border-color:var(--color-primary); }
.stock-message.available,.checkout-success.visible,.auth-message.success,.admin-form-message.success { background:#dcfce7; color:#166534; border-color:#bbf7d0; }
.stock-message.unavailable,.checkout-error.visible,.auth-message.error,.admin-form-message.warning,.admin-login-error { background:#fee2e2; color:#991b1b; border-color:#fecaca; }
.admin-login-error:empty { background:transparent; border:0; padding:0; }
.admin-login-error:not(:empty) { padding:.65rem .75rem; border-radius:var(--radius-md); border:1px solid #fecaca; }

.cart-sidebar { box-shadow:-20px 0 50px -36px rgba(15,23,42,.75); border-left:1px solid var(--color-border); }
.cart-header { border-bottom:1px solid var(--color-border); color:var(--color-text); }
.cart-item { border-bottom:1px solid var(--color-border); }
.cart-qty-minus,.cart-qty-plus,.cart-remove {
  min-width:28px;
  min-height:28px;
  border:1px solid var(--color-border);
  border-radius:9px;
  background:#fff;
  color:var(--color-text);
  cursor:pointer;
}
.cart-remove { color:var(--color-danger); }
.cart-total { color:var(--color-text); border-top:1px solid var(--color-border); padding-top:.85rem; }
.checkout-modal-content { border-radius:24px; }
.checkout-note { background:var(--color-soft); border:1px solid #fecaca; border-radius:var(--radius-md); padding:.75rem .9rem; color:var(--color-primary-dark); }

.order-result-card { text-align:left; position:relative; overflow:hidden; }
.order-result-card:before {
  content:"";
  position:absolute;
  width:160px;
  height:160px;
  border-radius:50%;
  background:rgba(215,25,32,.10);
  right:-50px;
  top:-60px;
}
.order-result-card > * { position:relative; }
.order-result-card.is-loading .home-kicker:before {
  content:"";
  width:10px;
  height:10px;
  border-radius:50%;
  border:2px solid currentColor;
  border-right-color:transparent;
  display:inline-block;
  margin-right:.45rem;
  animation:evr-spin .8s linear infinite;
}
.order-result-card.is-success .home-kicker { background:#dcfce7; color:#166534; border-color:#bbf7d0; }
.order-result-card.is-warning .home-kicker { background:#fef3c7; color:#92400e; border-color:#fde68a; }
.order-result-card.is-error .home-kicker { background:#fee2e2; color:#991b1b; border-color:#fecaca; }
.order-result-details div { background:#f8fafc; border-color:var(--color-border); }
@keyframes evr-spin { to { transform:rotate(360deg); } }

.admin-page { background:var(--color-bg); }
.admin-login-card,.auth-card { box-shadow:var(--shadow-md); }
.admin-stats { grid-template-columns:repeat(auto-fit,minmax(180px,1fr)); }
.admin-stat-card { border-radius:var(--radius-lg); border-color:var(--color-border); box-shadow:var(--shadow-sm); }
.admin-stat-card i { background:var(--color-soft); color:var(--color-primary-dark); }
.admin-table th,.compare-table th { background:var(--color-text); }
.admin-table-wrap,.compare-table-wrap { border-color:var(--color-border); border-radius:var(--radius-lg); }
.admin-delete-btn:hover { background:#fecaca; }
.account-tabs button { border-color:var(--color-border); }
.account-tabs button.active { background:var(--color-primary); border-color:var(--color-primary); }
.account-order-card,.account-favorite-card,.account-details-grid div { background:#f8fafc; border-color:var(--color-border); }
.account-favorite-img { background:#fff; border:1px solid var(--color-border); }

footer {
  background:#fff;
  border-top:1px solid var(--color-border);
  color:var(--color-muted);
  margin-top:2rem;
}
.site-footer { padding:1.25rem 1rem; text-align:left; }
.site-footer-inner {
  max-width:var(--container-width);
  margin:0 auto;
  display:grid;
  grid-template-columns:minmax(220px,1fr) auto minmax(180px,.7fr);
  gap:1rem;
  align-items:center;
}
.site-footer strong,.site-footer span,.site-footer a { display:block; }
.site-footer strong { color:var(--color-text); font-size:1rem; margin-bottom:.2rem; }
.site-footer span { color:var(--color-muted); font-size:.82rem; line-height:1.45; }
.site-footer nav { display:flex; flex-wrap:wrap; gap:.45rem; justify-content:center; }
.site-footer a {
  color:var(--color-primary-dark);
  background:var(--color-soft);
  border:1px solid #fecaca;
  border-radius:999px;
  padding:.42rem .65rem;
  text-decoration:none;
  font-weight:800;
  font-size:.78rem;
}
.site-footer a:hover { background:#fee2e2; }

@media (max-width:1024px) {
  .home-category-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
  .products-grid { grid-template-columns:repeat(auto-fill,minmax(220px,1fr)); }
}
@media (max-width:768px) {
  .header { position:sticky; }
  .home-category-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .categories { flex-wrap:nowrap; overflow-x:auto; scrollbar-width:thin; }
  .cat-btn { flex:0 0 auto; }
  .product-buy-actions { grid-template-columns:1fr; }
  .site-footer-inner { grid-template-columns:1fr; text-align:center; }
  .site-footer nav { justify-content:center; }
}
@media (max-width:520px) {
  .home-category-grid { grid-template-columns:1fr; }
  .home-category-card { min-height:auto; }
  .products-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:.65rem; }
  .product-card { min-height:auto; }
  .card-more-btn,.card-buy-btn { min-height:34px; font-size:.7rem; padding:.35rem .45rem; }
  .auth-actions .header-link-btn { flex:1; }
  .order-result-card,.auth-card,.account-hero,.account-panel,.admin-panel { border-radius:16px; }
}
@media (max-width:360px) {
  .products-grid { grid-template-columns:1fr; }
}

/* Mobile brand refinement */
:root {
  --radius-xl:24px;
  --shadow-mobile:0 8px 24px rgba(15,23,42,.08);
}

.mobile-bottom-nav { display:none; }

@media (hover:hover) {
  .product-card,.home-category-card,.advantage-card,.auth-card,.account-panel,.admin-panel {
    transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease;
  }
  .product-card:hover,.home-category-card:hover,.advantage-card:hover { transform:translateY(-2px); }
}

@media (max-width:768px) {
  html { scroll-padding-top:86px; }
  body { padding-bottom:76px; }

  .mobile-bottom-nav {
    position:fixed;
    left:0;
    right:0;
    bottom:0;
    z-index:900;
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    padding:6px max(8px, env(safe-area-inset-left)) calc(6px + env(safe-area-inset-bottom)) max(8px, env(safe-area-inset-right));
    background:rgba(255,255,255,.96);
    border-top:1px solid var(--color-border);
    box-shadow:0 -8px 24px rgba(15,23,42,.08);
    backdrop-filter:blur(14px);
  }
  .mobile-bottom-nav-item {
    min-width:0;
    min-height:58px;
    border:0;
    border-radius:16px;
    background:transparent;
    color:var(--color-muted);
    font:inherit;
    font-size:.74rem;
    font-weight:800;
    text-decoration:none;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    gap:.24rem;
    cursor:pointer;
  }
  .mobile-bottom-nav-item i {
    width:30px;
    height:28px;
    border-radius:12px;
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:1rem;
  }
  .mobile-bottom-nav-item.active { color:var(--color-primary); }
  .mobile-bottom-nav-item.active i { background:var(--color-primary-soft); color:var(--color-primary); }
}

@media (max-width:600px) {
  body { background:var(--color-bg); color:var(--color-text); }

  .header {
    padding:.72rem 1rem;
    background:rgba(255,255,255,.96);
    border-bottom:1px solid var(--color-border);
    box-shadow:0 10px 26px -24px rgba(15,23,42,.5);
  }
  .header-container {
    width:100%;
    display:grid;
    grid-template-columns:1fr;
    gap:.6rem;
    align-items:start;
  }
  .logo { margin:0; text-align:left; }
  .logo h1 {
    justify-content:flex-start;
    color:var(--color-text);
    font-size:1.38rem;
    line-height:1.15;
  }
  .logo p {
    display:block;
    color:var(--color-muted);
    font-size:.74rem;
    line-height:1.25;
    margin-top:.14rem;
  }
  .logo-mark {
    width:32px;
    height:32px;
    border-radius:11px;
    background:var(--color-primary);
    box-shadow:0 8px 18px -14px rgba(215,25,32,.9);
  }
  .home-header-actions,.auth-actions {
    width:100%;
    justify-content:flex-start;
    gap:.45rem;
    margin:0;
  }
  .auth-actions { display:flex; }
  .header-link-btn,.header-phone-link,.auth-user {
    min-height:40px;
    border-radius:14px;
    padding:.55rem .72rem;
    font-size:.78rem;
  }
  .auth-user {
    width:auto;
    color:var(--color-primary-dark);
    background:var(--color-primary-soft);
    border-color:#fecaca;
  }
  .search-cart {
    width:100%;
    display:grid;
    grid-template-columns:1fr 1fr auto;
    gap:.5rem;
    align-items:center;
  }
  .search-box {
    grid-column:1/-1;
    width:100%;
    min-width:0;
    min-height:44px;
    border-radius:15px;
    padding:.6rem .78rem;
  }
  .search-box input { font-size:16px; }
  .header-tariff-btn,.header-compare-btn {
    min-width:0;
    min-height:42px;
    border-radius:14px;
    padding:.48rem .58rem;
  }
  .header-tariff-btn .tariff-icon { width:26px; height:26px; }
  .header-tariff-btn .tariff-title { font-size:.76rem; }
  .search-cart .auth-actions { grid-column:1/-1; }
  .cart-icon {
    grid-column:auto;
    width:auto;
    min-width:52px;
    min-height:42px;
    justify-content:center;
    border-radius:14px;
    padding:.48rem .62rem;
  }

  .container,.home-hero,.home-section,.admin-shell,.account-page,.order-result,.auth-page,.admin-login {
    width:100%;
    margin:1rem auto 0;
    padding-left:16px;
    padding-right:16px;
  }
  .home-hero { margin-top:.9rem; }
  .home-section { margin-top:.95rem; }
  .section,.card,.catalog-intro,.phone-filters,.catalog-status,.compare-module,.advantage-card,.contacts-card,.home-about-text,.map-frame,.auth-card,.account-hero,.account-panel,.admin-login-card,.admin-hero,.admin-panel,.order-result-card {
    border-radius:18px;
    box-shadow:var(--shadow-mobile);
  }

  .home-hero-inner {
    display:grid;
    grid-template-columns:1fr;
    gap:.9rem;
    padding:1rem;
    border-radius:22px;
    background:
      radial-gradient(circle at 100% 0,rgba(215,25,32,.14),transparent 34%),
      linear-gradient(180deg,#fff 0%,#fff7f7 100%);
  }
  .home-hero h2 {
    font-size:1.48rem;
    line-height:1.12;
    margin-bottom:.45rem;
  }
  .home-hero-subtitle {
    font-size:.98rem;
    line-height:1.35;
    margin-bottom:.45rem;
  }
  .home-hero-actions,.contact-actions {
    display:grid;
    grid-template-columns:1fr;
    gap:.55rem;
    margin:.9rem 0;
  }
  .home-primary-btn,.home-secondary-btn,.checkout-submit,.checkout-btn,.filter-toggle,.clear-filters,.compare-add-main,.compare-clear,.compare-card-btn,.compare-current-btn,.card-buy-btn,.card-more-btn,.details-btn,.add-to-cart {
    min-height:44px;
    border-radius:14px;
    padding:.72rem .95rem;
    font-size:.9rem;
  }
  .home-quick-info {
    display:grid;
    grid-template-columns:1fr;
    gap:.45rem;
    overflow:visible;
  }
  .home-quick-info span {
    min-height:44px;
    padding:.62rem .72rem;
    border-radius:14px;
    font-size:.78rem;
    white-space:normal;
  }
  .home-hero-visual {
    display:flex;
    min-height:178px;
    border-radius:18px;
  }
  .hero-device-card {
    border-radius:18px;
    padding:.75rem;
  }
  .hero-phone-shape {
    height:106px;
    border-radius:16px;
    margin-bottom:.6rem;
  }
  .hero-phone-shape i { font-size:2rem; }
  .hero-category-icons { gap:.42rem; }
  .hero-category-icons span {
    border-radius:12px;
    padding:.48rem;
    font-size:.7rem;
  }

  .home-section-head { margin-bottom:.65rem; }
  .home-section-head h2,.catalog-intro h2,.compare-header h2,.admin-panel-head h2 {
    font-size:1.24rem;
    line-height:1.18;
  }
  .home-section-head p,.catalog-intro p,.home-about-text p,.contacts-card,.compare-header p,.admin-panel-head p {
    font-size:.86rem;
    line-height:1.5;
  }
  .home-category-grid {
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:.7rem;
  }
  .home-category-card {
    min-height:138px;
    border-radius:18px;
    padding:.88rem;
  }
  .home-category-card i,.advantage-card i {
    width:38px;
    height:38px;
    border-radius:13px;
  }
  .home-category-card strong { font-size:.9rem; }
  .home-category-card span { font-size:.76rem; }
  .advantage-grid {
    grid-template-columns:1fr;
    gap:.7rem;
  }
  .advantage-card {
    display:grid;
    grid-template-columns:auto 1fr;
    gap:.35rem .7rem;
    padding:.95rem;
  }
  .advantage-card i { grid-row:1/3; margin:0; }
  .advantage-card h3 { font-size:.94rem; margin:0; }
  .advantage-card p { font-size:.82rem; margin:0; }
  .contacts-card,.home-about-text { padding:1rem; }
  .contact-row {
    min-height:42px;
    align-items:center;
    padding:.2rem 0;
    font-size:.86rem;
  }
  .map-frame iframe { height:250px; }

  .catalog-intro {
    padding:1rem;
    margin-bottom:.75rem;
  }
  .categories {
    display:flex;
    flex-wrap:nowrap;
    gap:.48rem;
    overflow-x:auto;
    margin:0 -16px .8rem;
    padding:0 16px .35rem;
    background:transparent;
    border:0;
    border-radius:0;
    box-shadow:none;
    scrollbar-width:none;
  }
  .categories::-webkit-scrollbar { display:none; }
  .cat-btn {
    flex:0 0 auto;
    min-height:42px;
    border-radius:999px;
    padding:.55rem .9rem;
    font-size:.82rem;
    white-space:nowrap;
  }
  .phone-filters,.catalog-status,.compare-module {
    padding:1rem;
    margin-bottom:.8rem;
  }
  .phone-filters-header {
    display:grid;
    grid-template-columns:1fr;
    gap:.65rem;
  }
  .phone-filters-title {
    display:grid;
    gap:.18rem;
  }
  .phone-filters-header h3 { font-size:1rem; white-space:normal; }
  .phone-filters-header p,.catalog-status-info span { font-size:.8rem; line-height:1.4; }
  .filter-actions {
    width:100%;
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:.55rem;
    margin-left:0;
  }
  .filter-groups {
    grid-template-columns:1fr;
    gap:.65rem;
    margin-top:.75rem;
  }
  .filter-group {
    border-radius:16px;
    padding:.78rem;
  }
  #brandFilters,#storageFilters,#colorFilters,#simOperatorFilters,.price-range {
    grid-template-columns:1fr;
  }
  .check-pill {
    min-height:42px;
    border-radius:13px;
    padding:.55rem .68rem;
    white-space:normal;
    font-size:.78rem;
  }
  .price-range input,.checkout-form input,.checkout-form select,.checkout-form textarea,.auth-form input,.account-form input,.account-form textarea,.admin-login-card input,.admin-product-form input,.admin-product-form select,.admin-product-form textarea {
    min-height:44px;
    border-radius:13px;
    font-size:16px;
    padding:.68rem .78rem;
  }
  .catalog-status {
    display:grid;
    grid-template-columns:1fr;
    gap:.7rem;
  }
  .catalog-status-info {
    display:grid;
    gap:.18rem;
  }
  .catalog-reset-btn {
    width:100%;
    margin-left:0;
  }

  .products-grid {
    grid-template-columns:1fr;
    gap:.9rem;
  }
  .product-card {
    min-height:auto;
    border-radius:20px;
    overflow:hidden;
    box-shadow:var(--shadow-mobile);
  }
  .product-img {
    height:190px;
    min-height:190px;
    padding:1rem;
    background:linear-gradient(180deg,#fff 0%,#f9fafb 100%);
  }
  .product-img img {
    height:156px;
    max-height:156px;
    max-width:210px;
  }
  .tariff-visual {
    height:156px;
    border-radius:16px;
  }
  .product-info {
    padding:1rem;
    min-height:auto;
  }
  .product-title {
    min-height:auto;
    font-size:1rem;
    line-height:1.25;
  }
  .product-price {
    font-size:1.28rem;
    margin:.2rem 0 .5rem;
  }
  .product-desc {
    min-height:auto;
    font-size:.84rem;
    line-height:1.45;
    -webkit-line-clamp:3;
  }
  .product-card-actions {
    align-items:stretch;
    gap:.55rem;
  }
  .product-buy-actions {
    grid-template-columns:1fr;
    gap:.5rem;
  }
  .card-buy-btn,.card-more-btn,.compare-card-btn { width:100%; }
  .favorite-card-btn {
    width:42px;
    height:42px;
    flex:0 0 42px;
  }

  .modal {
    align-items:flex-start;
    padding:12px;
  }
  .modal-content {
    width:100%;
    max-height:calc(100dvh - 24px);
    grid-template-columns:1fr;
    border-radius:22px;
    overflow:auto;
  }
  .modal-left,.modal-right {
    width:100%;
    padding:1rem;
    border-right:0;
  }
  .modal-right { max-height:none; }
  .close-modal {
    top:.75rem;
    right:.75rem;
    width:42px;
    height:42px;
    font-size:1.55rem;
  }
  .image-viewer {
    min-height:250px;
    border-radius:18px;
  }
  .image-viewer img { max-height:220px; }
  .modal-right h2 {
    font-size:1.32rem;
    line-height:1.18;
  }
  .modal-meta,.modal-right h2 { padding-right:2.6rem; }
  .price-modal { font-size:1.45rem; }
  .modal-actions {
    grid-template-columns:1fr;
    gap:.55rem;
  }
  .color-option,.storage-option {
    min-height:42px;
    border-radius:13px;
    justify-content:center;
  }
  .spec-modal-content { padding:1rem; }

  .cart-sidebar {
    top:0;
    right:-100%;
    width:100%;
    height:100dvh;
    z-index:1100;
    padding:1rem 1rem calc(1rem + env(safe-area-inset-bottom));
    border-left:0;
  }
  .cart-header {
    font-size:1.25rem;
    padding-bottom:.9rem;
  }
  .cart-items {
    display:grid;
    align-content:start;
    gap:.7rem;
  }
  .cart-item {
    margin:0;
    padding:.72rem;
    border:1px solid var(--color-border);
    border-radius:16px;
    background:#fff;
    box-shadow:var(--shadow-sm);
  }
  .cart-total {
    margin:.75rem 0;
    padding:.9rem;
    border:1px solid var(--color-border);
    border-radius:16px;
    background:#fff;
    font-size:1.12rem;
  }
  .empty-cart {
    min-height:260px;
    border:1px dashed #fecaca;
    border-radius:18px;
    padding:1rem;
    background:#fff;
  }

  .checkout-modal-content {
    padding:1rem;
    border-radius:22px;
  }
  .checkout-grid {
    grid-template-columns:1fr;
    gap:.7rem;
  }
  .checkout-note {
    font-size:.84rem;
    line-height:1.45;
  }
  .checkout-submit,.checkout-btn { width:100%; }

  .auth-page,.admin-login {
    min-height:auto;
    align-items:flex-start;
    justify-content:flex-start;
    padding-top:1rem;
  }
  .auth-card,.admin-login-card {
    width:100%;
    padding:1rem;
  }
  .auth-card h2,.admin-login-card h2 {
    font-size:1.32rem;
    line-height:1.2;
  }
  .auth-grid,.account-form-grid,.account-details-grid {
    grid-template-columns:1fr;
  }
  .auth-form,.account-form,.admin-product-form {
    gap:.8rem;
  }
  .account-hero {
    display:grid;
    gap:.85rem;
    padding:1rem;
  }
  .account-hero h2 {
    font-size:1.35rem;
    line-height:1.2;
  }
  .account-tabs {
    display:flex;
    flex-wrap:nowrap;
    overflow-x:auto;
    margin:.85rem -16px;
    padding:0 16px .3rem;
    scrollbar-width:none;
  }
  .account-tabs::-webkit-scrollbar { display:none; }
  .account-tabs button {
    flex:0 0 auto;
    min-height:42px;
    border-radius:999px;
  }
  .account-panel {
    padding:1rem;
    margin-top:.85rem;
  }
  .account-panel-head {
    display:grid;
    gap:.25rem;
  }
  .account-order-card,.account-favorite-card,.account-details-grid div {
    border-radius:16px;
    background:#fff;
    box-shadow:var(--shadow-sm);
  }
  .account-order-card {
    grid-template-columns:1fr;
    align-items:start;
  }
  .account-order-actions,.account-favorite-actions {
    justify-content:stretch;
  }
  .account-order-actions button,.account-favorite-actions a,.account-favorite-actions button {
    flex:1;
  }
  .account-favorites-grid { grid-template-columns:1fr; }

  .admin-shell {
    margin:1rem auto 0;
    padding-left:16px;
    padding-right:16px;
  }
  .admin-hero,.admin-panel { padding:1rem; }
  .admin-hero h2 { font-size:1.35rem; }
  .admin-stats {
    grid-template-columns:1fr;
    gap:.7rem;
  }
  .admin-stat-card {
    min-height:78px;
    border-radius:16px;
  }
  .admin-panel-head {
    display:grid;
    gap:.6rem;
  }
  .admin-toolbar {
    display:grid;
    grid-template-columns:1fr;
    width:100%;
  }
  .admin-search,.admin-toolbar select {
    width:100%;
    min-width:0;
    min-height:44px;
    border-radius:14px;
  }
  .admin-product-form { grid-template-columns:1fr; }
  .admin-product-form .admin-form-wide,.admin-form-actions,.admin-form-message {
    grid-column:span 1;
  }
  .admin-form-actions {
    display:grid;
    grid-template-columns:1fr;
  }
  .admin-table-wrap,.compare-table-wrap {
    border-radius:16px;
    overflow-x:auto;
  }

  .order-result {
    max-width:100%;
    padding-left:16px;
    padding-right:16px;
  }
  .order-result-card {
    padding:1.1rem;
    text-align:center;
  }
  .order-result-card:before {
    width:120px;
    height:120px;
    right:-42px;
    top:-48px;
  }
  .order-result-card h2 {
    font-size:1.4rem;
    line-height:1.2;
  }
  .order-result-details {
    grid-template-columns:1fr;
    text-align:left;
  }
  .order-result-card .home-hero-actions { margin-top:1rem; }

  .empty-cart:before,.empty-results:before,.account-empty:before,.admin-empty:before {
    content:"";
    width:44px;
    height:44px;
    border-radius:50%;
    background:radial-gradient(circle at 50% 50%,rgba(215,25,32,.24),rgba(215,25,32,.08));
    display:block;
    margin:0 auto .7rem;
  }
}

@media (max-width:360px) {
  .home-category-grid { grid-template-columns:1fr; }
  .logo p { display:none; }
  .search-cart { grid-template-columns:1fr; }
  .header-tariff-btn,.header-compare-btn,.cart-icon,.search-cart .auth-actions { grid-column:1/-1; }
  .home-hero h2 { font-size:1.34rem; }
  .home-hero-visual { min-height:150px; }
  .product-img {
    height:176px;
    min-height:176px;
  }
  .product-img img {
    height:142px;
    max-height:142px;
  }
  .mobile-bottom-nav-item { font-size:.68rem; }
}

@media (max-width:600px) {
  .header-link-btn,.header-phone-link,.auth-user,.tariff-special-btn,.cart-icon {
    width:100%;
    max-width:100%;
    min-width:0;
    text-align:center;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
  }
  .home-header-actions {
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .home-header-actions > .auth-actions {
    grid-column:1/-1;
  }
  .auth-actions {
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .auth-user {
    grid-column:1/-1;
  }
  .auth-logout-btn {
    width:100%;
  }
  .search-cart {
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .search-box,.search-cart .auth-actions,.cart-icon {
    grid-column:1/-1;
  }
  .header-tariff-btn .tariff-title {
    min-width:0;
    overflow:hidden;
    text-overflow:ellipsis;
  }
  .container,.products-grid,.product-card,.catalog-intro,.phone-filters,.catalog-status,.compare-module {
    max-width:100%;
    min-width:0;
  }
  .product-card,.card-buy-btn,.card-more-btn,.checkout-submit,.checkout-btn {
    width:100%;
  }
}

@media (max-width:360px) {
  .home-header-actions,.auth-actions,.search-cart {
    grid-template-columns:1fr;
  }
  .home-header-actions > *,.auth-actions > *,.search-cart > * {
    grid-column:1/-1;
  }
}

/* Hero storefront image */
.home-hero-photo {
  position:relative;
  height:clamp(380px,38vw,520px);
  min-height:380px;
  padding:0;
  align-self:stretch;
  overflow:hidden;
  background:#1f0b0b;
  border:1px solid #fecaca;
  box-shadow:0 18px 46px -34px rgba(127,29,29,.65);
  isolation:isolate;
}

.home-hero-photo-img {
  display:block;
  width:100%;
  height:100%;
  min-height:0;
  object-fit:cover;
  object-position:center 58%;
  transform:scale(1.01);
}

.home-hero-photo::after {
  content:"";
  position:absolute;
  inset:0;
  z-index:1;
  background:
    linear-gradient(180deg,rgba(17,24,39,.12) 0%,rgba(17,24,39,0) 38%,rgba(17,24,39,.28) 100%),
    radial-gradient(circle at 20% 18%,rgba(255,255,255,.18),transparent 28%);
  pointer-events:none;
}

.home-hero-photo-badge {
  position:absolute;
  left:1rem;
  right:1rem;
  bottom:1rem;
  z-index:2;
  display:grid;
  gap:.24rem;
  padding:.8rem .9rem;
  border:1px solid rgba(255,255,255,.38);
  border-radius:18px;
  color:#fff;
  background:linear-gradient(135deg,rgba(17,24,39,.72),rgba(181,18,24,.62));
  box-shadow:0 14px 30px -22px rgba(0,0,0,.65);
  backdrop-filter:blur(10px);
}

.home-hero-photo-badge span {
  display:inline-flex;
  align-items:center;
  gap:.38rem;
  width:max-content;
  max-width:100%;
  color:#ffe4e6;
  font-size:.78rem;
  font-weight:900;
}

.home-hero-photo-badge strong {
  color:#fff;
  font-size:1rem;
  line-height:1.25;
}

@media (max-width:1024px) {
  .home-hero-photo {
    height:420px;
    min-height:330px;
  }
}

@media (max-width:600px) {
  .home-hero-photo {
    height:320px;
    min-height:300px;
    border-radius:18px;
  }

  .home-hero-photo-img {
    object-position:center 60%;
  }

  .home-hero-photo-badge {
    left:.75rem;
    right:.75rem;
    bottom:.75rem;
    border-radius:15px;
    padding:.68rem .72rem;
  }

  .home-hero-photo-badge span {
    font-size:.72rem;
  }

  .home-hero-photo-badge strong {
    font-size:.88rem;
  }
}

@media (max-width:360px) {
  .home-hero-photo {
    height:280px;
    min-height:260px;
  }
}

/* Mobile navigation simplification */
.mobile-header-call {
  display:none;
}

@media (max-width:600px) {
  .header {
    padding:.68rem 1rem;
  }

  .header-container {
    position:relative;
    display:block;
    width:100%;
  }

  .logo {
    min-width:0;
    max-width:calc(100% - 96px);
  }

  .logo h1 {
    font-size:1.28rem;
    line-height:1.1;
  }

  .logo p {
    display:none;
  }

  .mobile-header-call {
    display:inline-flex;
    position:absolute;
    top:0;
    right:0;
    align-items:center;
    justify-content:center;
    gap:.35rem;
    min-height:40px;
    max-width:100%;
    border:1px solid var(--color-primary);
    border-radius:999px;
    padding:.52rem .72rem;
    background:var(--color-primary);
    color:#fff;
    box-shadow:0 10px 22px -18px rgba(215,25,32,.9);
    font-size:.78rem;
    font-weight:900;
    line-height:1;
    text-decoration:none;
    white-space:nowrap;
  }

  .mobile-header-call:hover {
    background:var(--color-primary-dark);
    border-color:var(--color-primary-dark);
  }

  .mobile-header-call i {
    font-size:.84rem;
  }

  .home-header-actions,
  .header-container > .auth-actions {
    display:none;
  }

  .search-cart {
    display:grid;
    grid-template-columns:1fr;
    gap:.55rem;
    width:100%;
    margin-top:.65rem;
  }

  .search-cart > .tariff-special-btn,
  .search-cart > .header-compare-btn,
  .search-cart > .auth-actions,
  .search-cart > .cart-icon {
    display:none;
  }

  .search-box {
    grid-column:1/-1;
  }

  .home-hero-actions {
    grid-template-columns:1fr;
  }

  .home-hero .home-hero-actions .home-secondary-btn {
    display:none;
  }
}

@media (max-width:360px) {
  .logo {
    max-width:calc(100% - 54px);
  }

  .mobile-header-call {
    width:42px;
    height:40px;
    padding:0;
    border-radius:14px;
  }

  .mobile-header-call span {
    display:none;
  }
}

/* Admin demo access */
.admin-demo-credentials,
.admin-demo-banner {
  display:flex;
  align-items:flex-start;
  gap:.7rem;
  border:1px solid #fecaca;
  border-radius:14px;
  background:var(--color-primary-soft);
  color:var(--color-primary-dark);
  padding:.78rem .85rem;
}

.admin-demo-credentials {
  margin:.85rem 0;
  font-size:.84rem;
  font-weight:700;
  line-height:1.45;
}

.admin-demo-credentials i,
.admin-demo-banner i {
  margin-top:.16rem;
  color:var(--color-primary);
}

.admin-demo-banner strong,
.admin-demo-banner span {
  display:block;
}

.admin-demo-banner strong {
  margin-bottom:.2rem;
}

.admin-demo-banner span {
  color:var(--color-muted);
  font-size:.86rem;
  line-height:1.45;
}

.admin-readonly-label {
  display:inline-flex;
  min-height:34px;
  align-items:center;
  justify-content:center;
  border:1px solid var(--color-border);
  border-radius:999px;
  background:var(--color-bg);
  color:var(--color-muted);
  padding:.4rem .7rem;
  font-size:.76rem;
  font-weight:800;
}
