/* ============================================================
DSG SMART — Изолированная тема "Светлый Киберпанк"
Префикс: .dsgsmart
Версия: 2.0 (полная, все 4 модели)
============================================================ */

/* ===== CSS ПЕРЕМЕННЫЕ ===== */
.dsgsmart {
--cyber-primary: #0a0a1a;
--cyber-secondary: #12122a;
--cyber-accent: #00e5ff;
--cyber-accent2: #d500f9;
--cyber-accent3: #00e676;
--cyber-gold: #ffd740;
--cyber-glass: rgba(255, 255, 255, 0.88);
--cyber-glass-strong: rgba(255, 255, 255, 0.96);
--cyber-border: rgba(0, 229, 255, 0.25);
--cyber-border-hover: rgba(0, 229, 255, 0.7);
--cyber-shadow: 0 4px 24px rgba(0, 229, 255, 0.1);
--cyber-shadow-strong: 0 8px 40px rgba(0, 229, 255, 0.25);
--cyber-grid: rgba(0, 229, 255, 0.05);
--cyber-text: #0a0a1a;
--cyber-text-light: #4a4a6a;
--cyber-radius: 18px;
--cyber-radius-sm: 12px;
--cyber-transition: all 0.35s cubic-bezier(0.4, 0, 0.2, 1);
--cyber-font: 'Inter', 'Segoe UI', -apple-system, BlinkMacSystemFont, sans-serif;
--cyber-mono: 'JetBrains Mono', 'Fira Code', 'Courier New', monospace;

font-family: var(--cyber-font);
color: var(--cyber-text);
line-height: 1.75;
max-width: 1440px;
margin: 0 auto;
padding: 24px;
position: relative;
isolation: isolate;
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
}

/* ===== ФОН С АНИМИРОВАННОЙ СЕТКОЙ ===== */
.dsgsmart::before {
content: '';
position: fixed;
top: 0;
left: 0;
width: 100vw;
height: 100vh;
pointer-events: none;
z-index: -1;
background-image:
linear-gradient(var(--cyber-grid) 1px, transparent 1px),
linear-gradient(90deg, var(--cyber-grid) 1px, transparent 1px);
background-size: 44px 44px;
background-position: center center;
animation: dsgGridPulse 5s ease-in-out infinite;
}

@keyframes dsgGridPulse {
0%, 100% {
opacity: 0.4;
}
50% {
opacity: 1;
}
}

/* ===== ГЛОБАЛЬНЫЙ СБРОС ВНУТРИ ИЗОЛЯЦИИ ===== */
.dsgsmart *,
.dsgsmart *::before,
.dsgsmart *::after {
box-sizing: border-box;
}

.dsgsmart img {
max-width: 100%;
height: auto;
border-radius: var(--cyber-radius-sm);
display: block;
}

.dsgsmart a {
color: var(--cyber-accent);
text-decoration: none;
transition: var(--cyber-transition);
}

.dsgsmart a:hover {
color: var(--cyber-accent2);
text-shadow: 0 0 8px rgba(213, 0, 249, 0.4);
}

/* ===== ТИПОГРАФИКА ===== */
.dsgsmart h2 {
font-size: clamp(26px, 4.5vw, 40px);
font-weight: 900;
background: linear-gradient(135deg, var(--cyber-primary) 0%, var(--cyber-accent) 80%);
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
background-clip: text;
margin-bottom: 28px;
letter-spacing: -0.5px;
position: relative;
display: inline-block;
}

.dsgsmart h2::after {
content: '';
position: absolute;
bottom: -8px;
left: 0;
width: 70px;
height: 4px;
background: linear-gradient(90deg, var(--cyber-accent), var(--cyber-accent2));
border-radius: 4px;
box-shadow: 0 0 16px var(--cyber-accent);
animation: dsgUnderlineGlow 3s ease-in-out infinite;
}

@keyframes dsgUnderlineGlow {
0%, 100% {
box-shadow: 0 0 16px var(--cyber-accent);
}
50% {
box-shadow: 0 0 32px var(--cyber-accent2), 0 0 48px var(--cyber-accent);
}
}

.dsgsmart h3 {
font-size: clamp(18px, 3vw, 26px);
font-weight: 700;
color: var(--cyber-primary);
margin-bottom: 20px;
padding-left: 18px;
border-left: 4px solid var(--cyber-accent2);
position: relative;
}

.dsgsmart h3::before {
content: '';
position: absolute;
left: -4px;
top: 0;
height: 100%;
width: 4px;
background: var(--cyber-accent2);
border-radius: 2px;
animation: dsgBorderPulse 2s ease-in-out infinite;
}

@keyframes dsgBorderPulse {
0%, 100% {
box-shadow: 0 0 6px var(--cyber-accent2);
}
50% {
box-shadow: 0 0 18px var(--cyber-accent2), 0 0 30px var(--cyber-accent);
}
}

.dsgsmart h4 {
font-size: clamp(16px, 2.5vw, 22px);
font-weight: 700;
color: var(--cyber-secondary);
margin-bottom: 16px;
}

.dsgsmart h5 {
font-size: clamp(14px, 2vw, 18px);
font-weight: 600;
color: var(--cyber-accent);
margin-bottom: 12px;
}

.dsgsmart p {
margin-bottom: 16px;
font-size: clamp(14px, 1.6vw, 16px);
}

/* ===== НАВИГАЦИЯ ПО МОДЕЛЯМ ===== */
.dsgsmart .dsg-nav {
margin-bottom: 48px;
}

.dsgsmart .dsg-nav-title {
text-align: center;
font-size: clamp(20px, 3.5vw, 30px);
font-weight: 800;
margin-bottom: 24px;
color: var(--cyber-primary);
}

.dsgsmart .dsg-nav-grid {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
gap: 18px;
}

.dsgsmart .dsg-nav-card {
display: flex;
flex-direction: column;
align-items: center;
gap: 8px;
padding: 28px 20px;
background: var(--cyber-glass);
border-radius: var(--cyber-radius);
text-decoration: none;
color: var(--cyber-text);
border: 2px solid var(--cyber-border);
backdrop-filter: blur(12px);
-webkit-backdrop-filter: blur(12px);
transition: var(--cyber-transition);
position: relative;
overflow: hidden;
cursor: pointer;
}

.dsgsmart .dsg-nav-card::before {
content: '';
position: absolute;
top: 0;
left: -120%;
width: 120%;
height: 100%;
background: linear-gradient(90deg, transparent, rgba(0, 229, 255, 0.12), transparent);
transition: left 0.6s cubic-bezier(0.4, 0, 0.2, 1);
z-index: 0;
}

.dsgsmart .dsg-nav-card:hover::before {
left: 120%;
}

.dsgsmart .dsg-nav-card:hover {
border-color: var(--cyber-border-hover);
box-shadow: var(--cyber-shadow-strong);
transform: translateY(-5px);
}

.dsgsmart .dsg-nav-card > * {
position: relative;
z-index: 1;
}

.dsgsmart .dsg-nav-badge {
font-size: 12px;
padding: 5px 16px;
border-radius: 20px;
color: #fff;
font-weight: 700;
text-transform: uppercase;
letter-spacing: 1.5px;
margin-bottom: 6px;
}

.dsgsmart .dsg-nav-badge.wet {
background: linear-gradient(135deg, #0055ff, #00ccff);
box-shadow: 0 0 16px rgba(0, 85, 255, 0.5);
animation: dsgWetGlow 3s ease-in-out infinite;
}

@keyframes dsgWetGlow {
0%, 100% {
box-shadow: 0 0 16px rgba(0, 85, 255, 0.5);
}
50% {
box-shadow: 0 0 28px rgba(0, 204, 255, 0.8), 0 0 40px rgba(0, 85, 255, 0.4);
}
}

.dsgsmart .dsg-nav-badge.dry {
background: linear-gradient(135deg, #ff6600, #ffaa00);
box-shadow: 0 0 16px rgba(255, 102, 0, 0.5);
animation: dsgDryGlow 3s ease-in-out infinite;
}

@keyframes dsgDryGlow {
0%, 100% {
box-shadow: 0 0 16px rgba(255, 102, 0, 0.5);
}
50% {
box-shadow: 0 0 28px rgba(255, 170, 0, 0.8), 0 0 40px rgba(255, 102, 0, 0.4);
}
}

.dsgsmart .dsg-nav-card strong {
font-size: 18px;
font-weight: 700;
letter-spacing: -0.3px;
}

.dsgsmart .dsg-nav-card small {
font-family: var(--cyber-mono);
font-size: 12px;
color: var(--cyber-accent);
background: rgba(0, 229, 255, 0.1);
padding: 3px 10px;
border-radius: 6px;
letter-spacing: 0.5px;
}

.dsgsmart .dsg-nav-card .nav-years {
font-size: 12px;
opacity: 0.7;
}

/* ===== ОСНОВНОЙ БЛОК МОДЕЛИ ===== */
.dsgsmart .dsg-wiki-block {
background: var(--cyber-glass-strong);
border-radius: var(--cyber-radius);
border: 2px solid var(--cyber-border);
padding: clamp(24px, 5vw, 44px);
margin: 48px 0;
backdrop-filter: blur(12px);
-webkit-backdrop-filter: blur(12px);
box-shadow: var(--cyber-shadow);
transition: var(--cyber-transition);
position: relative;
scroll-margin-top: 100px;
animation: dsgFadeInUp 0.7s ease-out;
}

@keyframes dsgFadeInUp {
from {
opacity: 0;
transform: translateY(40px);
}
to {
opacity: 1;
transform: translateY(0);
}
}

.dsgsmart .dsg-wiki-block:hover {
box-shadow: var(--cyber-shadow-strong);
border-color: var(--cyber-border-hover);
}

.dsgsmart .dsg-wiki-title {
    font-size: clamp(24px, 4.5vw, 34px);
    font-weight: 900;
    display: flex;
    align-items: center;
    justify-content: center;  /* ← ГОРИЗОНТАЛЬНОЕ ЦЕНТРИРОВАНИЕ */
    text-align: center;       /* ← На случай, если заголовок не влезает в flex */
    gap: 14px;
    padding-bottom: 22px;
    border-bottom: 2px solid var(--cyber-border);
    margin-bottom: 32px;
    flex-wrap: wrap;
}

.dsgsmart .dsg-badge {
font-size: 13px;
padding: 6px 18px;
border-radius: 20px;
color: #fff;
font-weight: 700;
text-transform: uppercase;
letter-spacing: 1.5px;
white-space: nowrap;
animation: dsgBadgeGlow 2.5s ease-in-out infinite;
}

.dsgsmart .dsg-badge.wet {
background: linear-gradient(135deg, #0055ff, #00ccff);
}

.dsgsmart .dsg-badge.dry {
background: linear-gradient(135deg, #ff6600, #ffaa00);
}

@keyframes dsgBadgeGlow {
0%, 100% {
filter: brightness(1);
}
50% {
filter: brightness(1.3);
}
}

/* ===== СЕКЦИИ ВНУТРИ БЛОКА ===== */
.dsgsmart .wiki-section {
margin: 32px 0;
}

/* ===== ОБЁРТКА ТАБЛИЦ ДЛЯ АДАПТИВНОСТИ ===== */
.dsgsmart .table-scroll {
overflow-x: auto;
-webkit-overflow-scrolling: touch;
border-radius: var(--cyber-radius-sm);
border: 1px solid var(--cyber-border);
margin: 18px 0;
background: #fff;
}

.dsgsmart .table-scroll::-webkit-scrollbar {
height: 7px;
}

.dsgsmart .table-scroll::-webkit-scrollbar-track {
background: rgba(0, 229, 255, 0.06);
border-radius: 4px;
}

.dsgsmart .table-scroll::-webkit-scrollbar-thumb {
background: linear-gradient(90deg, var(--cyber-accent), var(--cyber-accent2));
border-radius: 4px;
}

.dsgsmart .table-scroll::-webkit-scrollbar-thumb:hover {
background: var(--cyber-accent);
}

/* ===== ТАБЛИЦЫ ===== */
.dsgsmart .wiki-table {
width: 100%;
border-collapse: collapse;
min-width: 650px;
font-size: clamp(12px, 1.5vw, 14px);
}

.dsgsmart .wiki-table thead th {
background: linear-gradient(135deg, var(--cyber-primary), var(--cyber-secondary));
color: #fff;
padding: 16px 18px;
text-align: left;
font-weight: 700;
font-size: 13px;
text-transform: uppercase;
letter-spacing: 1px;
position: sticky;
top: 0;
z-index: 2;
white-space: nowrap;
}

.dsgsmart .wiki-table tbody td {
padding: 14px 18px;
border-bottom: 1px solid rgba(0, 229, 255, 0.08);
transition: var(--cyber-transition);
vertical-align: top;
}

.dsgsmart .wiki-table tbody tr {
transition: var(--cyber-transition);
}

.dsgsmart .wiki-table tbody tr:hover td {
background: rgba(0, 229, 255, 0.04);
}

.dsgsmart .wiki-table tbody tr:nth-child(even) td {
background: rgba(0, 229, 255, 0.02);
}

.dsgsmart .wiki-table tbody tr:nth-child(even):hover td {
background: rgba(0, 229, 255, 0.06);
}

.dsgsmart .wiki-table td strong {
color: var(--cyber-primary);
font-weight: 700;
}

/* ===== БЕЙДЖИ СРОЧНОСТИ ===== */
.dsgsmart .urgency {
display: inline-block;
padding: 5px 14px;
border-radius: 14px;
font-size: 11px;
font-weight: 700;
text-transform: uppercase;
letter-spacing: 0.8px;
color: #fff;
white-space: nowrap;
}

.dsgsmart .urgency.critical {
background: #ff1744;
animation: dsgUrgencyCritical 1.2s ease-in-out infinite;
}

@keyframes dsgUrgencyCritical {
0%, 100% {
box-shadow: 0 0 6px #ff1744;
}
50% {
box-shadow: 0 0 20px #ff1744, 0 0 36px #ff1744;
}
}

.dsgsmart .urgency.high {
background: #ff6d00;
}

.dsgsmart .urgency.medium {
background: #ffab00;
}

.dsgsmart .urgency.low {
background: #00c853;
}

/* ===== КОДЫ ОШИБОК ===== */
.dsgsmart .error-table code {
background: var(--cyber-primary);
color: var(--cyber-accent);
padding: 4px 12px;
border-radius: 5px;
font-family: var(--cyber-mono);
font-size: 12px;
font-weight: 600;
letter-spacing: 0.8px;
border: 1px solid var(--cyber-border);
white-space: nowrap;
display: inline-block;
}

/* ===== РЕГЛАМЕНТ ===== */
.dsgsmart .reglament-card {
background: linear-gradient(135deg, rgba(0, 229, 255, 0.04), rgba(213, 0, 249, 0.04));
border: 1px solid var(--cyber-border);
border-left: 5px solid var(--cyber-accent);
padding: clamp(18px, 3vw, 28px);
border-radius: 0 var(--cyber-radius-sm) var(--cyber-radius-sm) 0;
margin: 18px 0;
}

.dsgsmart .reglament-item {
padding: 11px 0;
border-bottom: 1px dashed rgba(0, 229, 255, 0.18);
display: flex;
align-items: flex-start;
gap: 14px;
font-size: clamp(13px, 1.5vw, 15px);
}

.dsgsmart .reglament-item:last-child {
border-bottom: none;
}

.dsgsmart .reglament-item strong {
color: var(--cyber-accent);
min-width: 160px;
font-weight: 700;
}

.dsgsmart .reglament-item mark {
background: rgba(0, 229, 255, 0.15);
color: var(--cyber-primary);
padding: 2px 10px;
border-radius: 5px;
font-weight: 700;
}

/* ===== ПРЕДУПРЕЖДЕНИЯ / ЗАМЕТКИ ===== */
.dsgsmart .wiki-note {
padding: 18px 22px;
border-radius: var(--cyber-radius-sm);
margin: 18px 0;
font-size: 14px;
display: flex;
align-items: flex-start;
gap: 14px;
line-height: 1.7;
}

.dsgsmart .wiki-note.warning {
background: rgba(255, 152, 0, 0.08);
border: 1px solid rgba(255, 152, 0, 0.3);
border-left: 5px solid #ff9800;
}

.dsgsmart .wiki-note.info {
background: rgba(0, 229, 255, 0.06);
border: 1px solid rgba(0, 229, 255, 0.3);
border-left: 5px solid var(--cyber-accent);
}

.dsgsmart .wiki-note.tip {
background: rgba(0, 230, 118, 0.06);
border: 1px solid rgba(0, 230, 118, 0.3);
border-left: 5px solid var(--cyber-accent3);
}

.dsgsmart .wiki-note .note-icon {
font-size: 20px;
flex-shrink: 0;
}

/* ===== ИСТОЧНИКИ ===== */
.dsgsmart .wiki-source {
font-size: 12px;
color: var(--cyber-text-light);
margin-top: 10px;
font-style: italic;
padding: 10px 14px;
background: rgba(0, 229, 255, 0.03);
border-radius: 8px;
border-left: 3px solid var(--cyber-border);
}

/* ===== КОММЕРЧЕСКИЙ БЛОК ===== */
.dsgsmart .wiki-commerce-block {
background: linear-gradient(135deg, var(--cyber-primary) 0%, var(--cyber-secondary) 100%);
color: #fff;
border-radius: var(--cyber-radius);
padding: clamp(28px, 5vw, 40px);
margin-top: 36px;
position: relative;
overflow: hidden;
border: 2px solid var(--cyber-border);
}

.dsgsmart .wiki-commerce-block::before {
content: '';
position: absolute;
top: -50%;
left: -50%;
width: 200%;
height: 200%;
background: radial-gradient(circle at 65% 25%, rgba(0, 229, 255, 0.1) 0%, transparent 55%),
radial-gradient(circle at 35% 75%, rgba(213, 0, 249, 0.08) 0%, transparent 55%);
animation: dsgCommerceGlow 7s ease-in-out infinite;
pointer-events: none;
}

@keyframes dsgCommerceGlow {
0%, 100% {
transform: translate(0, 0) scale(1);
}
33% {
transform: translate(12px, -12px) scale(1.05);
}
66% {
transform: translate(-12px, 12px) scale(0.95);
}
}

.dsgsmart .wiki-commerce-block h4 {
color: #fff;
font-size: clamp(18px, 3.5vw, 26px);
margin-top: 0;
position: relative;
z-index: 1;
}

.dsgsmart .wiki-commerce-block > p {
position: relative;
z-index: 1;
opacity: 0.9;
}

/* ===== КАРТОЧКИ ЦЕН ===== */
.dsgsmart .price-cards-grid {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(155px, 1fr));
gap: 14px;
margin: 24px 0;
position: relative;
z-index: 1;
}

.dsgsmart .price-card {
background: rgba(255, 255, 255, 0.07);
border: 1px solid rgba(255, 255, 255, 0.15);
border-radius: var(--cyber-radius-sm);
padding: 18px 16px;
text-align: center;
backdrop-filter: blur(8px);
transition: var(--cyber-transition);
}

.dsgsmart .price-card:hover {
background: rgba(255, 255, 255, 0.14);
border-color: var(--cyber-accent);
transform: translateY(-4px);
box-shadow: 0 10px 28px rgba(0, 0, 0, 0.4);
}

.dsgsmart .price-service {
font-size: 12px;
text-transform: uppercase;
letter-spacing: 1px;
opacity: 0.8;
margin-bottom: 10px;
font-weight: 600;
}

.dsgsmart .price-value {
font-size: clamp(15px, 2vw, 20px);
font-weight: 900;
background: linear-gradient(135deg, var(--cyber-accent), var(--cyber-gold));
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
background-clip: text;
}

.dsgsmart .price-time {
font-size: 11px;
opacity: 0.7;
margin-top: 8px;
font-weight: 500;
}

/* ===== КЕЙС ===== */
.dsgsmart .case-block {
background: rgba(0, 229, 255, 0.06);
border: 1px solid rgba(0, 229, 255, 0.2);
border-radius: var(--cyber-radius-sm);
padding: 22px;
margin: 24px 0;
font-size: clamp(13px, 1.4vw, 15px);
line-height: 1.8;
position: relative;
z-index: 1;
}

.dsgsmart .case-block h5 {
color: var(--cyber-accent);
font-size: 17px;
margin-top: 0;
margin-bottom: 14px;
font-weight: 700;
}

.dsgsmart .case-block p {
margin: 7px 0;
}

.dsgsmart .case-block strong {
color: var(--cyber-accent);
font-weight: 700;
}

/* ===== CTA КНОПКА ===== */
.dsgsmart .cta-button {
display: inline-block;
background: linear-gradient(135deg, var(--cyber-accent), var(--cyber-accent2));
color: #fff;
padding: 18px 40px;
border-radius: 50px;
text-decoration: none;
font-weight: 700;
font-size: 16px;
text-transform: uppercase;
letter-spacing: 1.5px;
transition: var(--cyber-transition);
position: relative;
z-index: 1;
margin-top: 20px;
border: none;
cursor: pointer;
box-shadow: 0 6px 20px rgba(0, 229, 255, 0.35);
text-align: center;
}

.dsgsmart .cta-button:hover {
transform: translateY(-3px);
box-shadow: 0 10px 36px rgba(0, 229, 255, 0.55);
color: #fff;
}

.dsgsmart .cta-button:active {
transform: translateY(0);
box-shadow: 0 4px 16px rgba(0, 229, 255, 0.3);
}

/* ===== АДАПТИВНОСТЬ ===== */
@media (max-width: 1024px) {
.dsgsmart {
padding: 18px;
}
.dsgsmart .dsg-nav-grid {
grid-template-columns: repeat(2, 1fr);
gap: 14px;
}
.dsgsmart .dsg-wiki-block {
padding: 24px;
margin: 32px 0;
}
}

@media (max-width: 768px) {
.dsgsmart {
padding: 14px;
}
.dsgsmart .dsg-nav-grid {
grid-template-columns: 1fr;
gap: 12px;
}
.dsgsmart .dsg-nav-card {
padding: 20px 16px;
}
.dsgsmart .dsg-nav-card strong {
font-size: 16px;
}
.dsgsmart .dsg-wiki-block {
padding: 18px;
margin: 24px 0;
border-radius: var(--cyber-radius-sm);
}
.dsgsmart .dsg-wiki-title {
font-size: 20px;
flex-wrap: wrap;
gap: 8px;
}
.dsgsmart .dsg-badge {
font-size: 11px;
padding: 4px 12px;
}
.dsgsmart .wiki-table thead th,
.dsgsmart .wiki-table tbody td {
padding: 10px 12px;
font-size: 12px;
}
.dsgsmart .price-cards-grid {
grid-template-columns: repeat(2, 1fr);
gap: 10px;
}
.dsgsmart .price-card {
padding: 14px 10px;
}
.dsgsmart .reglament-item {
flex-direction: column;
gap: 6px;
}
.dsgsmart .reglament-item strong {
min-width: auto;
}
.dsgsmart .cta-button {
width: 100%;
padding: 16px 28px;
font-size: 14px;
letter-spacing: 1px;
}
.dsgsmart .case-block {
padding: 16px;
}
}

@media (max-width: 480px) {
.dsgsmart {
padding: 10px;
}
.dsgsmart .price-cards-grid {
grid-template-columns: 1fr;
}
.dsgsmart .dsg-wiki-title {
font-size: 18px;
}
.dsgsmart h2 {
font-size: 22px;
}
.dsgsmart h3 {
font-size: 17px;
}
.dsgsmart h4 {
font-size: 16px;
}
.dsgsmart .dsg-nav-title {
font-size: 20px;
}
.dsgsmart .wiki-table {
min-width: 500px;
}
}

/* ===== УВАЖЕНИЕ К ПОЛЬЗОВАТЕЛЬСКИМ НАСТРОЙКАМ ДВИЖЕНИЯ ===== */
@media (prefers-reduced-motion: reduce) {
.dsgsmart *,
.dsgsmart *::before,
.dsgsmart *::after {
animation-duration: 0.01ms !important;
animation-iteration-count: 1 !important;
transition-duration: 0.01ms !important;
}
}

/* ===== ТЁМНАЯ ТЕМА (автоматически) — СВЕТЛЫЙ ВАРИАНТ ===== */
@media (prefers-color-scheme: dark) {
.dsgsmart {
/* Светлый фон вместо тёмного */
--cyber-glass: rgba(240, 242, 255, 0.9);
--cyber-glass-strong: rgba(248, 249, 255, 0.97);
/* Тёмный контрастный текст */
--cyber-text: #0a0a1a;
--cyber-text-light: #3a3a5a;
--cyber-grid: rgba(0, 150, 200, 0.06);
--cyber-border: rgba(0, 180, 220, 0.3);
--cyber-primary: #0a0a1a;
--cyber-secondary: #1a1a3a;
color: var(--cyber-text);
}

/* Таблицы — светлый фон */
.dsgsmart .table-scroll {
background: #ffffff;
}
.dsgsmart .wiki-table thead th {
background: linear-gradient(135deg, #1a1a3a, #2a2a4a);
color: #ffffff;
}
.dsgsmart .wiki-table tbody td {
border-bottom: 1px solid rgba(0, 0, 0, 0.08);
color: #0a0a1a;
}
.dsgsmart .wiki-table tbody tr:hover td {
background: rgba(0, 180, 220, 0.1);
}
.dsgsmart .wiki-table tbody tr:nth-child(even) td {
background: rgba(0, 150, 200, 0.04);
}

/* Навигационные карточки */
.dsgsmart .dsg-nav-card {
background: var(--cyber-glass);
color: var(--cyber-text);
border-color: rgba(0, 180, 220, 0.4);
}
.dsgsmart .dsg-nav-card strong {
color: #0a0a1a;
}
.dsgsmart .dsg-nav-card small {
color: #005580;
background: rgba(0, 180, 220, 0.15);
}

/* Основной блок */
.dsgsmart .dsg-wiki-block {
background: var(--cyber-glass-strong);
border-color: rgba(0, 180, 220, 0.3);
}

/* Заголовки */
.dsgsmart h2 {
background: linear-gradient(135deg, #0a0a1a 0%, #0066aa 80%);
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
background-clip: text;
}
.dsgsmart h3 {
color: #0a0a1a;
}

/* Регламент */
.dsgsmart .reglament-item strong {
color: #0066aa;
}
.dsgsmart .reglament-item mark {
background: rgba(0, 180, 220, 0.15);
color: #0a0a1a;
}

/* Коды ошибок */
.dsgsmart .error-table code {
background: #1a1a3a;
color: #00e5ff;
}

/* Коммерческий блок */
.dsgsmart .wiki-commerce-block {
background: linear-gradient(135deg, #1a1a3a 0%, #222244 100%);
color: #ffffff;
}
.dsgsmart .wiki-commerce-block h4 {
color: #ffffff;
}
.dsgsmart .wiki-commerce-block p {
color: #e0e0ff;
}
}

/* ===== ПЕЧАТЬ ===== */
@media print {
.dsgsmart {
color: #000;
background: #fff;
}
.dsgsmart::before {
display: none;
}
.dsgsmart .wiki-commerce-block {
background: #f5f5f5;
color: #000;
border: 1px solid #ccc;
}
.dsgsmart .cta-button {
display: none;
}
.dsgsmart .dsg-nav {
display: none;
}
.dsgsmart .dsg-wiki-block {
break-inside: avoid;
box-shadow: none;
border: 1px solid #ccc;
}
}




/* ===== СТИЛИ ДЛЯ БЛОКА ЗАГОЛОВКА С ФОНОМ ===== */
.dsg-header-wrapper {
position: relative;
width: 100%;
min-height: 380px;
border-radius: var(--cyber-radius);
overflow: hidden;
margin-bottom: 32px;
display: flex;
align-items: center;
justify-content: center;
isolation: isolate;
}

/* Фоновое изображение */
.dsg-header-bg {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
background-size: cover;
background-position: center;
background-repeat: no-repeat;
z-index: 1;
}

/* Затемняющий слой (градиент для читаемости текста) */
.dsg-header-overlay {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
background: linear-gradient(
135deg,
rgba(10, 10, 26, 0.85) 0%,
rgba(0, 30, 60, 0.7) 50%,
rgba(0, 180, 220, 0.25) 100%
);
z-index: 2;
}

/* Контент поверх всего */
.dsg-header-content {
position: relative;
z-index: 3;
text-align: center;
padding: 40px clamp(20px, 5vw, 60px);
max-width: 1000px;
}

/* Заголовок */
.dsg-main-title {
font-size: clamp(28px, 5vw, 44px);
font-weight: 900;
line-height: 1.2;
margin-bottom: 16px;
background: linear-gradient(135deg, #ffffff 0%, #00e5ff 80%);
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
background-clip: text;
filter: drop-shadow(0 2px 8px rgba(0, 0, 0, 0.4));
}

/* Подзаголовок */
.dsg-main-subtitle {
font-size: clamp(15px, 2vw, 18px);
color: rgba(255, 255, 255, 0.9);
margin: 0 auto; /* ← auto по бокам — гарантирует центр */
font-weight: 400;
line-height: 1.6;
text-shadow: 0 1px 4px rgba(0, 0, 0, 0.5);
max-width: 700px;
text-align: center; /* ← явное центрирование текста */
display: block; /* ← блочный элемент по центру */
width: fit-content; /* ← ширина по содержимому */
margin-left: auto; /* ← дублируем для надёжности */
margin-right: auto;
}

/* ===== АДАПТИВНОСТЬ ===== */
@media (max-width: 768px) {
.dsg-header-wrapper {
min-height: 280px;
border-radius: var(--cyber-radius-sm);
}
.dsg-header-content {
padding: 28px 16px;
}
}

@media (max-width: 480px) {
.dsg-header-wrapper {
min-height: 240px;
}
.dsg-main-title {
font-size: 22px;
}
.dsg-main-subtitle {
font-size: 14px;
}
}













/* ============================================================
ДОПОЛНИТЕЛЬНЫЕ СТИЛИ ДЛЯ НОВЫХ БЛОКОВ
(FAQ, Видео, Отзывы, Футер)
Вставить внутрь .dsgsmart { ... }
=========================================================== */

/* ===== КАРТИНКА ПОД ЗАГОЛОВКОМ БЛОКА ===== */
.dsgsmart .dsg-block-image {
width: 100%;
max-width: 600px;
aspect-ratio: 1 / 1; /* ← строгий квадрат 1:1 */
margin: 0 auto 32px auto; /* ← центрирование и отступ снизу */
border-radius: var(--cyber-radius);
overflow: hidden;
border: 2px solid var(--cyber-border);
box-shadow: var(--cyber-shadow);
transition: var(--cyber-transition);
background: var(--cyber-primary);
}

.dsgsmart .dsg-block-image:hover {
border-color: var(--cyber-border-hover);
box-shadow: var(--cyber-shadow-strong);
transform: scale(1.01);
}

.dsgsmart .dsg-block-image img {
width: 100%;
height: 100%;
object-fit: cover; /* ← картинка заполнит квадрат, обрезая лишнее */
object-position: center;
display: block;
}

/* ===== АДАПТИВНОСТЬ ДЛЯ КАРТИНКИ ===== */
@media (max-width: 768px) {
.dsgsmart .dsg-block-image {
max-width: 100%; /* ← на телефонах растягивается на всю ширину */
aspect-ratio: 1 / 1; /* ← остаётся квадратом */
margin-bottom: 24px;
border-radius: var(--cyber-radius-sm);
}
}

@media (max-width: 480px) {
.dsgsmart .dsg-block-image {
max-width: 100%;
aspect-ratio: 4 / 3; /* ← на маленьких экранах можно сделать прямоугольнее */
/* или оставить 1/1 если нужен строго квадрат */
}
}

/* ===== СПИСКИ (для FAQ и общих блоков) ===== */
.dsgsmart ul,
.dsgsmart ol {
padding-left: 24px;
margin: 12px 0 20px 0;
}

.dsgsmart ul li,
.dsgsmart ol li {
padding: 6px 0;
line-height: 1.7;
font-size: clamp(14px, 1.5vw, 16px);
}

.dsgsmart ul {
list-style: none;
padding-left: 0;
}

.dsgsmart ul li {
padding-left: 24px;
position: relative;
}

.dsgsmart ul li::before {
content: '▸';
position: absolute;
left: 0;
color: var(--cyber-accent);
font-size: 12px;
top: 8px;
}

/* ===== FAQ: ГРУППИРОВКА ВОПРОСОВ ===== */
.dsgsmart #faq .wiki-section {
background: rgba(0, 229, 255, 0.02);
border: 1px solid var(--cyber-border);
border-radius: var(--cyber-radius-sm);
padding: 24px;
margin: 24px 0;
transform: translateY(0); /* ← для плавной анимации */
animation: dsgFadeIn 0.5s ease-out backwards;
animation-delay: calc(var(--i, 0) * 0.1s);
}

.dsgsmart #faq .wiki-section:nth-child(2) {
--i: 1;
}
.dsgsmart #faq .wiki-section:nth-child(3) {
--i: 2;
}
.dsgsmart #faq .wiki-section:nth-child(4) {
--i: 3;
}
.dsgsmart #faq .wiki-section:nth-child(5) {
--i: 4;
}

.dsgsmart #faq .wiki-section h3 {
margin-top: 0;
padding-bottom: 12px;
border-bottom: 1px dashed var(--cyber-border);
margin-bottom: 20px;
}

.dsgsmart #faq h4 {
color: var(--cyber-primary);
margin-top: 24px;
margin-bottom: 8px;
font-size: clamp(15px, 2vw, 18px);
font-weight: 700;
}

.dsgsmart #faq h4::before {
content: '❓ ';
font-size: 14px;
}

/* ===== FAQ: ТАБЛИЦЫ ВНУТРИ ОТВЕТОВ ===== */
.dsgsmart #faq .table-scroll {
margin: 12px 0 20px 0;
}

.dsgsmart #faq .wiki-table {
min-width: 500px;
}

/* ===== ВИДЕО КОНТЕЙНЕРЫ ===== */
.dsgsmart #video .wiki-section {
margin: 28px 0;
}

.dsgsmart #video h3 {
margin-bottom: 12px;
}

.dsgsmart #video .wiki-source {
margin-top: 8px;
}

/* Эффект при наведении на видео */
.dsgsmart #video div[style*="padding-bottom"] {
transition: var(--cyber-transition);
box-shadow: 0 0 0 0 rgba(0, 229, 255, 0);
}

.dsgsmart #video div[style*="padding-bottom"]:hover {
box-shadow: 0 0 0 3px rgba(0, 229, 255, 0.4), 0 12px 40px rgba(0, 0, 0, 0.3);
transform: translateY(-2px);
}

/* ===== ОТЗЫВЫ: КАРТОЧКИ ===== */
.dsgsmart #testimonials div[style*="display: grid"] > div {
transition: var(--cyber-transition);
position: relative;
}

.dsgsmart #testimonials div[style*="display: grid"] > div:hover {
transform: translateY(-4px);
box-shadow: 0 12px 32px rgba(0, 229, 255, 0.2);
border-color: var(--cyber-border-hover);
}

/* Аватарки в отзывах */
.dsgsmart #testimonials div[style*="width: 48px"] {
transition: var(--cyber-transition);
}

.dsgsmart #testimonials div[style*="display: grid"] > div:hover div[style*="width: 48px"] {
transform: scale(1.1);
}

/* ===== ФУТЕР: КОНТАКТЫ ===== */
.dsgsmart #contacts ul {
list-style: none;
padding-left: 0;
}

.dsgsmart #contacts ul li {
padding: 8px 0;
padding-left: 28px;
position: relative;
font-size: clamp(13px, 1.4vw, 15px);
}

.dsgsmart #contacts ul li::before {
display: none;
}

.dsgsmart #contacts h4 {
padding-bottom: 10px;
border-bottom: 1px solid var(--cyber-border);
margin-bottom: 16px;
font-weight: 700;
}

/* Социальные иконки в футере */
.dsgsmart #contacts a[aria-label] {
text-decoration: none;
transition: var(--cyber-transition);
}

.dsgsmart #contacts a[aria-label]:hover {
transform: translateY(-3px);
box-shadow: 0 6px 20px rgba(0, 229, 255, 0.3);
border-color: var(--cyber-accent);
background: rgba(0, 229, 255, 0.1);
}

/* Навигационные ссылки в футере */
.dsgsmart #contacts div[style*="flex-wrap: wrap"] a {
font-size: 13px;
color: var(--cyber-text-light);
transition: var(--cyber-transition);
text-decoration: none;
padding: 4px 0;
}

.dsgsmart #contacts div[style*="flex-wrap: wrap"] a:hover {
color: var(--cyber-accent);
text-shadow: 0 0 8px rgba(0, 229, 255, 0.3);
}

/* ===== ПРОЦЕСС РЕМОНТА: СТИЛИЗАЦИЯ ТАБЛИЦЫ ===== */
.dsgsmart #process .wiki-table tbody td:first-child {
font-size: 20px;
font-weight: 900;
color: var(--cyber-accent);
text-align: center;
width: 50px;
}

.dsgsmart #process .wiki-table tbody td:nth-child(2) {
font-weight: 700;
white-space: nowrap;
}

/* ===== ОБЩИЕ УЛУЧШЕНИЯ ДЛЯ МОБИЛЬНЫХ ===== */
@media (max-width: 768px) {
/* FAQ: меньше отступов */
.dsgsmart #faq .wiki-section {
padding: 16px;
margin: 16px 0;
}

.dsgsmart #faq h4 {
margin-top: 18px;
font-size: 16px;
}

/* Отзывы: одна колонка */
.dsgsmart #testimonials div[style*="display: grid"] {
grid-template-columns: 1fr;
gap: 14px;
}

/* Отзывы: меньше padding */
.dsgsmart #testimonials div[style*="display: grid"] > div {
padding: 18px;
}

/* Видео: убрать ховер-эффекты (сенсорные экраны) */
.dsgsmart #video div[style*="padding-bottom"]:hover {
box-shadow: none;
transform: none;
}

.dsgsmart #testimonials div[style*="display: grid"] > div:hover {
transform: none;
}

/* Футер: навигационные ссылки столбиком */
.dsgsmart #contacts div[style*="flex-wrap: wrap"] {
flex-direction: column;
align-items: center;
gap: 8px;
}

.dsgsmart #contacts div[style*="flex-wrap: wrap"] span {
display: none;
}

/* Футер: карта меньше */
.dsgsmart #contacts iframe {
height: 220px;
}
}

@media (max-width: 480px) {
.dsgsmart #faq .wiki-section {
padding: 12px;
}

.dsgsmart #faq h3 {
font-size: 16px;
}

.dsgsmart #faq h4 {
font-size: 15px;
}

.dsgsmart ul li,
.dsgsmart ol li {
font-size: 13px;
}

.dsgsmart #process .wiki-table tbody td {
padding: 8px 10px;
font-size: 11px;
}

.dsgsmart #process .wiki-table tbody td:first-child {
font-size: 16px;
}
}

/* ===== АНИМАЦИЯ ПОЯВЛЕНИЯ ДЛЯ FAQ (при скролле) ===== */
@keyframes dsgFadeIn {
from {
opacity: 0;
transform: translateY(16px);
}
to {
opacity: 1;
transform: translateY(0);
}
}

/* ===== КАРТА: АДАПТИВНЫЙ IFrame ===== */
.dsgsmart #contacts iframe {
width: 100%;
transition: var(--cyber-transition);
}

.dsgsmart #contacts div[style*="overflow: hidden"]:hover iframe {
filter: brightness(1.05);
}

/* ===== ПАРТНЁРЫ: ЭФФЕКТ ПРИ НАВЕДЕНИИ ===== */
.dsgsmart #contacts a img {
transition: var(--cyber-transition);
}

.dsgsmart #contacts a:hover img {
transform: scale(1.05);
box-shadow: 0 8px 24px rgba(0, 229, 255, 0.2);
}

/* ===== ТЕЛЕФОН В ФУТЕРЕ: АКЦЕНТ ===== */
.dsgsmart #contacts a[href^="tel:"] {
font-weight: 700;
background: linear-gradient(135deg, var(--cyber-accent), var(--cyber-accent2));
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
background-clip: text;
font-size: 16px;
letter-spacing: 0.5px;
}

.dsgsmart #contacts a[href^="tel:"]:hover {
text-shadow: 0 0 8px rgba(0, 229, 255, 0.5);
}

/* ===== EMAIL В ФУТЕРЕ ===== */
.dsgsmart #contacts a[href^="mailto:"] {
color: var(--cyber-accent);
text-decoration: underline;
text-underline-offset: 2px;
}

.dsgsmart #contacts a[href^="mailto:"]:hover {
color: var(--cyber-accent2);
}

/* ===== РЕЙТИНГ В ОТЗЫВАХ ===== */
.dsgsmart #testimonials div[style*="color: #ffd740"] {
user-select: none;
letter-spacing: 2px;
}

/* ===== ИНФО-БЛОКИ (info/warning/tip) — УТОЧНЕНИЕ ===== */
.dsgsmart .wiki-note.info strong,
.dsgsmart .wiki-note.tip strong,
.dsgsmart .wiki-note.warning strong {
color: inherit;
font-weight: 700;
}

/* ===== ПРОКРУТКА ТАБЛИЦ — ИНДИКАТОР ===== */
.dsgsmart .table-scroll {
position: relative;
}

.dsgsmart .table-scroll::after {
content: '';
position: absolute;
top: 0;
right: 0;
width: 30px;
height: 100%;
background: linear-gradient(to right, transparent, rgba(0, 229, 255, 0.05));
pointer-events: none;
z-index: 1;
border-radius: 0 var(--cyber-radius-sm) var(--cyber-radius-sm) 0;
}

/* На мобильных показываем индикатор прокрутки */
@media (max-width: 768px) {
.dsgsmart .table-scroll::after {
width: 20px;
}
}

/* ===== УЛУЧШЕНИЕ ЧИТАЕМОСТИ ТЕКСТА ===== */
.dsgsmart strong {
color: var(--cyber-primary);
font-weight: 700;
}

.dsgsmart mark {
background: rgba(0, 229, 255, 0.15);
color: var(--cyber-primary);
padding: 1px 6px;
border-radius: 3px;
font-weight: 600;
}

/* ===== КНОПКА CTA: ДОПОЛНИТЕЛЬНЫЙ ЭФФЕКТ ===== */
.dsgsmart .cta-button {
position: relative;
overflow: hidden;
}

.dsgsmart .cta-button::after {
content: '';
position: absolute;
top: 50%;
left: 50%;
width: 0;
height: 0;
background: rgba(255, 255, 255, 0.3);
border-radius: 50%;
transform: translate(-50%, -50%);
transition: width 0.6s, height 0.6s;
}

.dsgsmart .cta-button:active::after {
width: 300px;
height: 300px;
}

/* ===== КОПИРАЙТ: РАЗДЕЛИТЕЛЬНАЯ ЛИНИЯ ===== */
.dsgsmart #contacts div[style*="border-top"] {
border-top-color: var(--cyber-border);
}

/* ===== УВАЖЕНИЕ К ТЁМНОЙ ТЕМЕ (дополнение) ===== */
@media (prefers-color-scheme: dark) {
.dsgsmart #faq .wiki-section {
background: rgba(0, 229, 255, 0.03);
border-color: rgba(0, 229, 255, 0.15);
}

.dsgsmart #testimonials div[style*="display: grid"] > div {
background: rgba(10, 10, 26, 0.85);
}

.dsgsmart #process .wiki-table tbody td:first-child {
color: var(--cyber-accent);
}

.dsgsmart ul li::before {
color: var(--cyber-accent);
}
}

/* ============================================================
СТИЛИ ДЛЯ ВИДЕО С АВТОПЛЕЕМ
============================================================ */

/* Обёртка видео */
.dsgsmart .dsg-video-wrapper {
position: relative;
padding-bottom: 56.25%; /* 16:9 */
height: 0;
overflow: hidden;
border-radius: var(--cyber-radius-sm);
border: 2px solid var(--cyber-border);
margin: 16px 0;
background: #000;
cursor: pointer;
transition: var(--cyber-transition);
box-shadow: 0 0 0 0 rgba(0, 229, 255, 0);
outline: none;
}

.dsgsmart .dsg-video-wrapper:hover {
box-shadow: 0 0 0 3px rgba(0, 229, 255, 0.5), 0 12px 40px rgba(0, 0, 0, 0.4);
border-color: var(--cyber-border-hover);
}

.dsgsmart .dsg-video-wrapper:focus-visible {
box-shadow: 0 0 0 3px var(--cyber-accent), 0 0 20px rgba(0, 229, 255, 0.6);
border-color: var(--cyber-accent);
outline: none;
}

/* Само видео */
.dsgsmart .dsg-autoplay-video {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
object-fit: contain;
background: #000;
border-radius: calc(var(--cyber-radius-sm) - 2px);
display: block;
}

/* Кнопка включения/выключения звука */
.dsgsmart .dsg-video-sound-btn {
position: absolute;
bottom: 16px;
right: 16px;
z-index: 10;
width: 44px;
height: 44px;
border-radius: 50%;
background: rgba(0, 0, 0, 0.7);
border: 1px solid rgba(255, 255, 255, 0.3);
color: #fff;
font-size: 18px;
cursor: pointer;
display: flex;
align-items: center;
justify-content: center;
backdrop-filter: blur(6px);
-webkit-backdrop-filter: blur(6px);
transition: var(--cyber-transition);
padding: 0;
line-height: 1;
}

.dsgsmart .dsg-video-sound-btn:hover {
background: rgba(0, 229, 255, 0.4);
border-color: var(--cyber-accent);
box-shadow: 0 0 16px rgba(0, 229, 255, 0.5);
transform: scale(1.1);
}

.dsgsmart .dsg-video-sound-btn.unmuted {
background: rgba(0, 229, 255, 0.6);
border-color: var(--cyber-accent);
box-shadow: 0 0 12px rgba(0, 229, 255, 0.4);
}

/* Индикатор воспроизведения */
.dsgsmart .dsg-video-playing-indicator {
position: absolute;
top: 16px;
left: 16px;
z-index: 10;
display: flex;
align-items: center;
gap: 8px;
padding: 6px 14px;
background: rgba(0, 0, 0, 0.7);
border-radius: 20px;
color: #fff;
font-size: 12px;
font-weight: 500;
backdrop-filter: blur(6px);
-webkit-backdrop-filter: blur(6px);
border: 1px solid rgba(255, 255, 255, 0.2);
opacity: 0;
transform: translateY(-8px);
transition: all 0.3s ease;
pointer-events: none;
letter-spacing: 0.5px;
}

.dsgsmart .dsg-video-playing-indicator.active {
opacity: 1;
transform: translateY(0);
}

/* Точка-индикатор */
.dsgsmart .dsg-playing-dot {
width: 8px;
height: 8px;
border-radius: 50%;
background: var(--cyber-accent3);
animation: dsgPlayingPulse 1.5s ease-in-out infinite;
flex-shrink: 0;
}

@keyframes dsgPlayingPulse {
0%,
100% {
box-shadow: 0 0 4px var(--cyber-accent3);
opacity: 1;
}
50% {
box-shadow: 0 0 12px var(--cyber-accent3), 0 0 24px var(--cyber-accent3);
opacity: 0.6;
}
}

/* На мобильных — кнопка звука больше (для пальца) */
@media (max-width: 768px) {
.dsgsmart .dsg-video-sound-btn {
width: 48px;
height: 48px;
bottom: 12px;
right: 12px;
font-size: 20px;
}

.dsgsmart .dsg-video-playing-indicator {
top: 10px;
left: 10px;
font-size: 11px;
padding: 4px 10px;
}

.dsgsmart .dsg-video-wrapper:hover {
box-shadow: none;
border-color: var(--cyber-border);
}

.dsgsmart .dsg-video-wrapper:active {
box-shadow: 0 0 0 2px rgba(0, 229, 255, 0.4);
}
}

@media (max-width: 480px) {
.dsgsmart .dsg-video-sound-btn {
width: 40px;
height: 40px;
bottom: 8px;
right: 8px;
font-size: 16px;
}

.dsgsmart .dsg-video-playing-indicator {
top: 8px;
left: 8px;
font-size: 10px;
}
}

/* Уважение к настройкам движения */
@media (prefers-reduced-motion: reduce) {
.dsgsmart .dsg-playing-dot {
animation: none;
opacity: 1;
box-shadow: 0 0 4px var(--cyber-accent3);
}

.dsgsmart .dsg-video-playing-indicator {
transition: none;
}
}

/* ============================================================
СТИЛИ ДЛЯ БЛОКА КОНТАКТОВ В ФУТЕРЕ
============================================================ */

/* Список контактов */
.dsgsmart .dsg-contact-list {
list-style: none;
padding-left: 0;
margin: 0;
}

.dsgsmart .dsg-contact-list li {
display: flex;
align-items: flex-start;
gap: 12px;
padding: 10px 0;
border-bottom: 1px dashed rgba(0, 229, 255, 0.12);
font-size: clamp(13px, 1.4vw, 15px);
line-height: 1.5;
}

.dsgsmart .dsg-contact-list li:last-child {
border-bottom: none;
}

/* Иконка контакта */
.dsgsmart .dsg-contact-icon {
flex-shrink: 0;
width: 32px;
height: 32px;
display: flex;
align-items: center;
justify-content: center;
background: rgba(0, 229, 255, 0.08);
border-radius: 50%;
font-size: 16px;
margin-top: 2px;
transition: var(--cyber-transition);
}

.dsgsmart .dsg-contact-list li:hover .dsg-contact-icon {
background: rgba(0, 229, 255, 0.2);
transform: scale(1.1);
box-shadow: 0 0 12px rgba(0, 229, 255, 0.25);
}

/* Текст контакта */
.dsgsmart .dsg-contact-list li div {
flex: 1;
}

.dsgsmart .dsg-contact-list li strong {
color: var(--cyber-primary);
font-weight: 600;
display: inline-block;
margin-right: 4px;
}

/* Телефон — градиент */
.dsgsmart .dsg-contact-list li a[href^="tel:"] {
background: linear-gradient(135deg, var(--cyber-accent), var(--cyber-accent2));
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
background-clip: text;
font-weight: 700;
font-size: 16px;
letter-spacing: 0.5px;
text-decoration: none;
transition: var(--cyber-transition);
}

.dsgsmart .dsg-contact-list li a[href^="tel:"]:hover {
filter: brightness(1.2);
text-shadow: 0 0 10px rgba(0, 229, 255, 0.4);
}

/* Email — подчёркнутый */
.dsgsmart .dsg-contact-list li a[href^="mailto:"] {
color: var(--cyber-accent);
text-decoration: underline;
text-underline-offset: 3px;
text-decoration-thickness: 1px;
transition: var(--cyber-transition);
}

.dsgsmart .dsg-contact-list li a[href^="mailto:"]:hover {
color: var(--cyber-accent2);
text-decoration-thickness: 2px;
}

/* Социальные ссылки */
.dsgsmart .dsg-social-link {
display: inline-flex;
width: 42px;
height: 42px;
border-radius: 50%;
background: var(--cyber-glass);
border: 1px solid var(--cyber-border);
align-items: center;
justify-content: center;
transition: var(--cyber-transition);
text-decoration: none;
color: var(--cyber-primary);
font-size: 18px;
position: relative;
overflow: hidden;
}

.dsgsmart .dsg-social-link::before {
content: '';
position: absolute;
inset: 0;
border-radius: 50%;
background: radial-gradient(circle at center, rgba(0, 229, 255, 0.2) 0%, transparent 70%);
opacity: 0;
transition: opacity 0.3s;
}

.dsgsmart .dsg-social-link:hover {
transform: translateY(-4px);
border-color: var(--cyber-accent);
box-shadow: 0 8px 24px rgba(0, 229, 255, 0.35);
color: var(--cyber-accent);
}

.dsgsmart .dsg-social-link:hover::before {
opacity: 1;
}

.dsgsmart .dsg-social-link:active {
transform: translateY(-1px);
}

/* Адаптивность */
@media (max-width: 768px) {
.dsgsmart .dsg-contact-list li {
padding: 8px 0;
gap: 10px;
}

.dsgsmart .dsg-contact-icon {
width: 28px;
height: 28px;
font-size: 14px;
}

.dsgsmart .dsg-contact-list li a[href^="tel:"] {
font-size: 15px;
}

.dsgsmart .dsg-social-link {
width: 38px;
height: 38px;
font-size: 16px;
}
}

@media (max-width: 480px) {
.dsgsmart .dsg-contact-list li {
font-size: 13px;
}

.dsgsmart .dsg-contact-list li a[href^="tel:"] {
font-size: 14px;
}

.dsgsmart .dsg-social-link {
width: 36px;
height: 36px;
font-size: 15px;
}
}
