/* ==========================================================================
   СЕКЦИЯ 0: БАЗОВЫЕ СТИЛИ
   ========================================================================== */
:root {
    --color-bg: #101010;
    --color-rapido-teal: #17c4c4;
    --color-rapido-orange: #ff9100;
    --color-rapido-pink: #f72585;
    --color-rapido-gold: #ffc300;
    --color-white: #FFFFFF;
    --color-text-secondary: #adb5bd;
    --color-glow: rgba(255, 195, 0, 0.6);
    --font-family-headings: 'Exo 2', sans-serif;
    --font-family-base: 'Roboto', sans-serif;
}
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }

html {
    scroll-behavior: smooth;
}
body {
    font-family: var(--font-family-base);
    background-color: var(--color-bg);
    color: var(--color-white);
    line-height: 1.6;
    overflow-x: hidden;
}
.container { max-width: 1240px; margin: 0 auto; padding: 0 20px; }
.action-button { cursor: pointer; }
a, button { -webkit-tap-highlight-color: transparent; }
/* ==========================================================================
   КОНЕЦ СЕКЦИИ 0
   ========================================================================== */

/* ==========================================================================
   БОКОВАЯ НАВИГАЦИЯ
   ========================================================================== */
.side-navigation {
    position: fixed;
    top: 50%;
    right: 25px;
    transform: translateY(-50%);
    z-index: 1000;
    will-change: transform;
}
.side-navigation ul {
    list-style: none;
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
}
.side-navigation ul::before {
    content: '';
    position: absolute;
    top: 0;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 2px;
    background: linear-gradient(to bottom, rgba(255,195,0,0.5), transparent);
    z-index: -1;
}
.side-navigation li {
    margin-bottom: 28px;
    position: relative;
}
.side-navigation li:last-child { margin-bottom: 0; }

.nav-highlight {
    position: absolute;
    width: 14px;
    height: 14px;
    background-color: var(--color-rapido-gold);
    border-radius: 50%;
    box-shadow: 0 0 12px var(--color-rapido-gold), 0 0 4px rgba(255, 255, 255, 0.5);
    top: 7px;
    left: 50%;
    transform: translate(-50%, -50%);
    /* Плавная анимация для десктопа */
    transition: top 0.4s cubic-bezier(0.4, 0, 0.2, 1);
    z-index: 1;
}

.side-navigation a {
    display: block;
    width: 14px;
    height: 14px;
    background-color: transparent;
    border: 2px solid var(--color-rapido-gold);
    opacity: 0.6;
    border-radius: 50%;
    transition: all 0.3s ease;
    position: relative;
    z-index: 2;
}

.side-navigation a.active, .side-navigation li:hover a {
    transform: scale(1.4);
    opacity: 1;
}

.side-navigation a.active::after, .side-navigation li:hover a::after {
    content: none;
}

.side-navigation .tooltip {
    position: absolute;
    top: 50%;
    right: 180%;
    transform: translateY(-50%);
    background: rgba(16, 16, 16, 0.8);
    color: var(--color-white);
    border: 1px solid rgba(255, 255, 255, 0.1);
    backdrop-filter: blur(8px);
    padding: 6px 14px;
    border-radius: 8px;
    font-size: 14px;
    font-weight: 700;
    white-space: nowrap;
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.3s ease, right 0.3s ease;
    pointer-events: none;
}
.side-navigation li:hover .tooltip {
    opacity: 1;
    visibility: visible;
    right: 200%;
}
@media (max-width: 992px) {
    .side-navigation { right: 15px; }
    .side-navigation a, .nav-highlight { width: 12px; height: 12px; }
    .nav-highlight { 
        top: 6px;
        /* КРИТИЧНО: Убираем анимацию полностью на мобильных */
        transition: none;
    }
    .side-navigation .tooltip { display: none; }
}
/* ==========================================================================
   КОНЕЦ БОКОВОЙ НАВИГАЦИИ
   ========================================================================== */

/* ==========================================================================
   ПОЛОСА-РАЗДЕЛИТЕЛЬ ДЛЯ ВСЕХ СЕКЦИЙ
   ========================================================================== */
.main-screen-section::after,
.rapido-start-section::after,
.rapido-drive-section::after,
.rapido-pro-section::after,
.rapido-ultra-section::after,
.rapido-generator-section::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 4px;
    background: var(--color-rapido-gold); /* Сплошной цвет */
    box-shadow: 0 0 15px var(--color-rapido-gold);
    animation: none; /* Убираем любую анимацию */
}

/* Применение уникальных цветов для каждой секции */
.rapido-start-section::after {
    background: var(--start-gold);
    box-shadow: 0 0 15px var(--start-gold);
}
.rapido-drive-section::after {
    background: var(--drive-accent);
    box-shadow: 0 0 15px var(--drive-accent);
}
.rapido-pro-section::after {
    background: var(--pro-accent);
    box-shadow: 0 0 15px var(--pro-accent);
}
.rapido-ultra-section::after {
    background: var(--ultra-accent);
    box-shadow: 0 0 15px var(--ultra-accent);
}
.rapido-generator-section::after {
    background: var(--color-rapido-gold);
    box-shadow: 0 0 15px var(--color-rapido-gold);
}
/* ==========================================================================
   КОНЕЦ ПОЛОСЫ
   ========================================================================== */


/* ==========================================================================
   СЕКЦИЯ 1: ГЛАВНЫЙ ЭКРАН
   ========================================================================== */
.main-screen-section {
    min-height: 100vh;
    min-height: 100svh;
    padding: 2rem 0;
    position: relative;
    background-color: var(--color-bg);
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    overflow: hidden;
}
.main-screen-section::before { content: ''; position: absolute; z-index: 1; border-radius: 50%; filter: blur(120px); animation: aurora-1 20s ease-in-out infinite alternate; top: -20%; left: -20%; width: 600px; height: 600px; background-color: var(--color-rapido-teal); opacity: 0.3; }
.main-screen-container { position: relative; z-index: 2; width: 100%; text-align: center; }
.main-screen-container::before { content: ''; position: absolute; z-index: 1; border-radius: 50%; filter: blur(150px); animation: aurora-3 25s ease-in-out infinite alternate; top: 0; right: -20%; width: 400px; height: 400px; background-color: var(--color-rapido-pink); opacity: 0.3; }
.main-screen-container::after { content: ''; position: absolute; z-index: 1; border-radius: 50%; filter: blur(150px); animation: aurora-4 18s ease-in-out infinite alternate; bottom: 0; left: 0; width: 300px; height: 300px; background-color: var(--color-rapido-gold); opacity: 0.4; }
@keyframes aurora-1 { 0% { transform: translate(0, 0); } 100% { transform: translate(100px, 80px); } }
@keyframes aurora-3 { 0% { transform: translate(0, 0); } 100% { transform: translate(-50px, 100px); } }
@keyframes aurora-4 { 0% { transform: translate(0, 0); } 100% { transform: translate(80px, -110px); } }
.main-screen-content { display: flex; flex-direction: column; align-items: center; gap: 1rem; }
.official-organizers-badge { font-size: 1rem; font-weight: 700; color: var(--color-white); border: 1px solid rgba(255, 255, 255, 0.2); padding: 0.75rem 2rem; border-radius: 30px; background: rgba(16, 16, 16, 0.5); backdrop-filter: blur(8px); }
.rapido-logos-gallery { display: flex; justify-content: center; align-items: center; gap: 1.5rem; flex-wrap: wrap; margin-top: 1rem; }
.rapido-logo { width: 80px; height: auto; transition: transform 0.4s cubic-bezier(0.25, 1, 0.5, 1), filter 0.3s ease; }
.rapido-logo:hover { transform: scale(1.15) translateY(-5px); filter: drop-shadow(0 10px 20px rgba(0, 0, 0, 0.5)); }
.main-screen-pre-title { font-family: var(--font-family-base); font-size: 1.2rem; color: var(--color-rapido-gold); text-transform: uppercase; letter-spacing: 2px; margin-top: 1rem; }
.main-screen-title { font-family: var(--font-family-headings); font-size: clamp(3rem, 7vw, 5.5rem); color: var(--color-white); text-transform: uppercase; line-height: 1.1; letter-spacing: 2px; text-shadow: 0 5px 30px rgba(0, 0, 0, 0.7); margin-top: 0; display: flex; flex-direction: column; align-items: center; gap: 1rem; }
.title-line { display: block; }
.title-divider { display: block; width: 200px; height: 2px; background: linear-gradient(90deg, transparent, var(--color-rapido-gold), transparent); position: relative; overflow: hidden; }
.title-divider::after { content: ''; position: absolute; top: 0; left: -100%; width: 50%; height: 100%; background: linear-gradient(90deg, transparent, rgba(255,255,255,0.6), transparent); animation: shimmer 4s infinite linear; }
@keyframes shimmer { 0% { left: -100%; } 100% { left: 150%; } }
.main-screen-seo-text { font-size: clamp(1rem, 2.5vw, 1.2rem); line-height: 1.7; color: var(--color-text-secondary); text-shadow: 0 2px 10px rgba(0, 0, 0, 0.5); max-width: 700px; font-weight: 400; margin-top: 1rem; }
.seo-text-link { color: var(--color-white); font-weight: 700; text-decoration: none; background-image: linear-gradient(var(--color-rapido-gold), var(--color-rapido-gold)); background-size: 0% 2px; background-position: 0% 100%; background-repeat: no-repeat; padding-bottom: 2px; transition: background-size 0.3s ease; }
.seo-text-link:hover { background-size: 100% 2px; }
.main-screen-cta-area { margin-top: 2rem; }

/* ИСПРАВЛЕНИЕ #2: Убрана тень по умолчанию, оставлена только при наведении */
.main-cta-button, .drive-cta-button, .ultra-cta-button, .rapido-start-section .main-cta-button { 
    display: inline-block; 
    padding: 18px 40px; 
    font-family: var(--font-family-headings); 
    font-size: 1.3rem; 
    font-weight: 800; 
    text-transform: uppercase; 
    letter-spacing: 1px; 
    color: #101010; 
    background-color: var(--color-rapido-gold); 
    border: none; 
    border-radius: 12px; 
    box-shadow: none; /* Убираем тень */
    transition: all 0.3s ease-out; 
    position: relative; 
    overflow: hidden; 
}
.main-cta-button:hover, .drive-cta-button:hover, .ultra-cta-button:hover, .rapido-start-section .main-cta-button:hover { 
    transform: translateY(-3px); 
    box-shadow: 0 12px 35px var(--color-glow); /* Добавляем тень только при наведении */
    background-color: #ffb700; 
}

@media (max-width: 768px) {
    .main-screen-section { padding: 4rem 1rem 2rem; }
    .main-screen-content { padding-top: 2rem; }
    .main-screen-section::before { filter: blur(90px); opacity: 0.2; }
    .main-screen-container::before, .main-screen-container::after { display: none; }
    .main-screen-pre-title { font-size: 1rem; }
    .main-screen-title { font-size: 2.5rem; gap: 0.8rem; }
    .main-screen-seo-text { font-size: 1rem; }
    .rapido-logo { width: 50px; }
    .rapido-logos-gallery { gap: 1rem; }
    .main-cta-button, .drive-cta-button, .ultra-cta-button, .rapido-start-section .main-cta-button { padding: 16px 24px; font-size: 1.1rem; }
    .title-divider { width: 150px; }
}
/* ==========================================================================
   КОНЕЦ СЕКЦИИ 1
   ========================================================================== */


/* ==========================================================================
   СЕКЦИЯ 2: РАПИДО СТАРТ
   ========================================================================== */
.rapido-start-section {
    --start-bg: #011a1c;
    --start-accent: #04C6BA;
    --start-accent-glow: rgba(4, 198, 186, 0.7);
    --start-text: #ffffff;
    --start-text-secondary: #c2f0ed;
    --start-gold: #ffc300;
    --start-glass-bg: rgba(3, 41, 46, 0.7);
    --start-glass-border: rgba(4, 198, 186, 0.4);
    --start-shadow-color: rgba(0,0,0,0.5);

    background-color: var(--start-bg);
    color: var(--start-text);
    min-height: 100vh;
    min-height: 100svh;
    padding: 6rem 1rem;
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
    overflow: hidden;
}

#particles-js { position: absolute; width: 100%; height: 100%; top: 0; left: 0; z-index: 1; }
.rapido-start-section::before {
    content: '';
    position: absolute;
    top: -50%;
    left: 50%;
    transform: translateX(-50%);
    width: 150%;
    padding-bottom: 150%;
    background: radial-gradient(ellipse at center, rgba(4, 198, 186, 0.2) 0%, transparent 60%);
    z-index: 0;
    animation: pulse-light 10s infinite ease-in-out;
}
@keyframes pulse-light {
    0%, 100% { opacity: 0.7; transform: translateX(-50%) scale(1); }
    50% { opacity: 1; transform: translateX(-50%) scale(1.05); }
}

.rapido-start-container {
    position: relative;
    z-index: 2;
    display: flex; flex-direction: column; align-items: center; gap: 2.5rem; width: 100%;
}
.rapido-start-header, .features-grid, .description-block, .calculator-wrapper, .rules-wrapper {
    width: 100%; max-width: 940px; text-align: center;
}
.rapido-start-logo {
    width: 100px; margin-bottom: 1.5rem; filter: drop-shadow(0 5px 20px rgba(0,0,0,0.8)); transition: transform 0.3s ease;
}
.rapido-start-logo:hover { transform: scale(1.1); }
.rapido-start-title {
    font-family: var(--font-family-headings); font-size: clamp(2.5rem, 5vw, 3.5rem); text-shadow: 0 0 15px var(--start-accent-glow), 0 0 30px var(--start-accent-glow); color: var(--start-text);
}

.features-grid, .description-block, .calculator-module, .result-item, .rule-card {
    background: var(--start-glass-bg); border: 1px solid var(--start-glass-border); backdrop-filter: blur(10px); border-radius: 16px; box-shadow: 0 0 25px rgba(4, 198, 186, 0.2), 0 10px 30px var(--start-shadow-color);
}
.features-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); padding: 1.5rem; gap: 1.5rem; }
.feature-item h4 { font-family: var(--font-family-headings); font-size: 1rem; color: var(--start-text); opacity: 0.8; text-transform: uppercase; margin-bottom: 0.5rem; }
.feature-item p { font-size: 1.5rem; font-weight: 700; color: var(--start-gold); margin: 0; text-shadow: 0 0 10px rgba(255,195,0,0.5); white-space: nowrap; }
.description-block { padding: 2rem; }
.description-block h3 { font-family: var(--font-family-headings); color: var(--start-text); font-size: 1.8rem; margin-bottom: 1rem; }
.description-block p { font-size: 1.1rem; line-height: 1.7; color: var(--start-text-secondary); margin: 0 auto; max-width: 700px; }
.description-block a {
    color: var(--start-gold);
    text-decoration: none;
    font-weight: 700;
    text-shadow: 0 0 5px rgba(255, 195, 0, 0.5);
    transition: text-shadow 0.3s ease, color 0.3s ease;
}
.description-block a:hover {
    text-decoration: underline;
    color: #ffdd70;
    text-shadow: 0 0 10px rgba(255, 195, 0, 0.8);
}

.section-subtitle { font-family: var(--font-family-headings); font-size: 2rem; color: var(--start-text); margin-bottom: 2rem; text-shadow: 0 2px 15px rgba(0,0,0,0.5); }
.rules-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap: 1.5rem; }
.rule-card { padding: 2rem; text-align: left; transition: transform 0.3s ease, box-shadow 0.3s ease; }
.rule-card:hover { transform: translateY(-5px); box-shadow: 0 0 35px rgba(4, 198, 186, 0.4), 0 15px 40px var(--start-shadow-color); }
.rule-icon { margin-bottom: 1.5rem; }
.rule-icon svg { width: 40px; height: 40px; color: var(--start-gold); filter: drop-shadow(0 0 10px rgba(255,195,0,0.7)); }
.rule-card h4 { font-family: var(--font-family-headings); font-size: 1.3rem; margin-bottom: 1rem; color: var(--start-text); }
.rule-card p { color: var(--start-text-secondary); line-height: 1.7; }

.calculator-wrapper { display: flex; flex-direction: column; gap: 1.5rem; }
.calculator-module { padding: 2.5rem; }
.calculator-header h3 { font-family: var(--font-family-headings); font-size: 1.8rem; color: var(--start-text); margin-bottom: 2rem; }
.calculator-body { display: flex; flex-direction: column; gap: 1.5rem; }
.calc-row { display: grid; grid-template-columns: 200px 1fr; align-items: center; gap: 1.5rem; }
.calc-label { font-size: 1rem; font-weight: 700; text-align: left; color: var(--start-text); }
.calc-controls { display: grid; grid-template-columns: auto 40px auto 1fr; align-items: center; gap: 1rem; }
.calc-btn { width: 38px; height: 38px; border-radius: 10px; background: rgba(0,0,0,0.3); border: 1px solid var(--start-glass-border); color: var(--start-text); font-size: 1.5rem; cursor: pointer; transition: all 0.2s ease; }
.calc-btn:hover { background-color: var(--start-accent); transform: scale(1.05); box-shadow: 0 0 15px var(--start-accent-glow); }
.calc-value { font-family: var(--font-family-headings); font-size: 1.5rem; color: var(--start-gold); text-align: center; }
.calc-slider-wrapper { display: flex; align-items: center; }
.calc-slider { -webkit-appearance: none; appearance: none; width: 100%; height: 6px; background: rgba(0,0,0,0.5); border-radius: 3px; outline: none; cursor: pointer; background-image: linear-gradient(var(--start-accent), var(--start-accent)); background-size: 0% 100%; background-repeat: no-repeat; }
.calc-slider::-webkit-slider-thumb { -webkit-appearance: none; appearance: none; width: 20px; height: 20px; border-radius: 50%; background: var(--start-text); border: 3px solid var(--start-accent); box-shadow: 0 0 10px var(--start-accent-glow); transition: transform 0.2s ease; }

.calculator-results { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1.5rem; }
.result-item { padding: 1.5rem; display: flex; flex-direction: column; justify-content: center; text-align: center; }
.result-item span:first-child { font-size: 0.9rem; margin-bottom: 0.5rem; text-transform: uppercase; display: block; color: var(--start-text-secondary); }
.result-item .result-value { font-family: var(--font-family-headings); font-size: clamp(1.2rem, 4vw, 2.2rem); font-weight: 700; color: var(--start-text); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }

.limit-message {
    margin-top: 1rem; padding: 1rem 1.5rem; background: var(--start-glass-bg); border: 1px solid var(--start-gold); color: var(--start-text); border-radius: 12px; font-weight: 700; max-width: 940px; width: 100%; text-align: center; box-shadow: 0 0 20px rgba(255,195,0,0.5); opacity: 0; transform: translateY(20px); transition: opacity 0.4s ease, transform 0.4s ease; display: none;
}
.limit-message.visible { display: block; opacity: 1; transform: translateY(0); }
.limit-message::before {
    content: ''; display: inline-block; width: 20px; height: 20px; margin-right: 0.75rem; vertical-align: -4px; background-color: var(--start-gold); mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='white'%3E%3Cpath d='M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm1 15h-2v-6h2v6zm0-8h-2V7h2v2z'/%3E%3C/svg%3E"); mask-size: contain; mask-repeat: no-repeat;
}

@media (max-width: 768px) {
    .rapido-start-section { padding: 4rem 1rem; }
    .description-block, .calculator-module, .result-item, .features-grid, .rule-card { padding: 1.5rem; }
    .rules-grid { grid-template-columns: 1fr; }
    .calc-row { grid-template-columns: 1fr; gap: 1rem; }
    .calc-label { text-align: center; }
    .calc-controls {
        display: grid; grid-template-columns: auto 1fr auto; grid-template-areas: "decrease value increase" "slider slider slider"; gap: 1rem; justify-items: center;
    }
    .calc-btn[data-action="decrease"] { grid-area: decrease; }
    .calc-value { grid-area: value; }
    .calc-btn[data-action="increase"] { grid-area: increase; }
    .calc-slider-wrapper { grid-area: slider; width: 100%; }
    .calculator-results { grid-template-columns: 1fr; }
    .limit-message p { word-wrap: break-word; white-space: normal; }
}
/* ==========================================================================
   КОНЕЦ СЕКЦИИ 2
   ========================================================================== */


/* ==========================================================================
   СЕКЦИЯ 3: РАПИДО ДРАЙВ
   ========================================================================== */
.rapido-drive-section {
    --drive-accent: #FF7300;
    --drive-accent-glow: rgba(255, 115, 0, 0.8);
    --drive-gold-color: #ffc300;
    --drive-gold-glow: rgba(255, 195, 0, 0.6);
    --drive-text: #ffffff;
    --drive-text-secondary: #ffead6;
    --drive-glass-bg: rgba(10, 5, 0, 0.5);
    --drive-glass-border: rgba(255, 115, 0, 0.5);
    --drive-shadow-color: rgba(0,0,0,0.6);
    background: radial-gradient(ellipse at center, #8a3d00 0%, #4d2300 70%, #331600 100%);
    color: var(--drive-text);
    min-height: 100vh;
    min-height: 100svh;
    padding: 6rem 1rem;
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
    overflow: hidden;
}

#particles-drive {
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    z-index: 1;
}

.rapido-drive-container { position: relative; z-index: 2; display: flex; flex-direction: column; align-items: center; gap: 2.5rem; width: 100%; }
.rapido-drive-header, .drive-features-grid, .drive-description-block, .drive-calculator-wrapper, .drive-rules-wrapper { width: 100%; max-width: 940px; text-align: center; }
.rapido-drive-logo { width: 100px; margin-bottom: 1.5rem; filter: drop-shadow(0 5px 25px rgba(0,0,0,0.8)); }
.rapido-drive-title { font-family: var(--font-family-headings); font-size: clamp(2.5rem, 5vw, 3.5rem); text-shadow: 0 0 15px var(--drive-accent-glow), 0 0 30px var(--drive-accent-glow); color: var(--drive-text); }
.drive-features-grid, .drive-description-block, .drive-calculator-module, .drive-result-item, .drive-rule-card { background: var(--drive-glass-bg); border: 1px solid var(--drive-glass-border); backdrop-filter: blur(12px); border-radius: 16px; box-shadow: 0 0 30px rgba(255, 115, 0, 0.3), 0 10px 40px var(--drive-shadow-color); transition: transform 0.4s ease, box-shadow 0.4s ease; }
.drive-features-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); padding: 1.5rem; gap: 1.5rem; }
.drive-feature-item { perspective: 1000px; }
.drive-feature-item:hover { transform: translateY(-5px) scale(1.03) rotateY(5deg); }
.drive-feature-item h4 { font-family: var(--font-family-headings); font-size: 1rem; color: var(--drive-text); opacity: 0.8; text-transform: uppercase; margin-bottom: 0.5rem; }
.drive-feature-item p { font-size: 1.5rem; font-weight: 700; color: var(--drive-accent); margin: 0; text-shadow: 0 0 10px var(--drive-accent-glow); white-space: nowrap; }
.drive-description-block { padding: 2rem; }
.drive-description-block h3 { font-family: var(--font-family-headings); color: var(--drive-text); font-size: 1.8rem; margin-bottom: 1rem; }
.drive-description-block p { font-size: 1.1rem; line-height: 1.7; color: var(--drive-text-secondary); margin: 0 auto; max-width: 700px; }
.drive-description-block a { color: var(--drive-accent); text-decoration: none; font-weight: 700; text-shadow: 0 0 8px var(--drive-accent-glow); transition: all 0.3s ease; }
.drive-description-block a:hover { text-decoration: underline; color: #ff9d4d; }
.drive-section-subtitle { font-family: var(--font-family-headings); font-size: 2rem; color: var(--drive-text); margin-bottom: 2rem; text-shadow: 0 2px 15px var(--drive-shadow-color); }
.drive-rules-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap: 1.5rem; }
.drive-rule-card { padding: 2rem; text-align: left; perspective: 1000px; }
.drive-rule-card:hover { transform: translateY(-8px) rotateY(8deg) scale(1.05); box-shadow: 0 0 40px rgba(255, 115, 0, 0.5), 0 20px 50px var(--drive-shadow-color); }
.drive-rule-icon { margin-bottom: 1.5rem; }
.drive-rule-icon svg { width: 40px; height: 40px; color: var(--drive-accent); filter: drop-shadow(0 0 10px var(--drive-accent-glow)); }
.drive-rule-card h4 { font-family: var(--font-family-headings); font-size: 1.3rem; margin-bottom: 1rem; color: var(--drive-text); }
.drive-rule-card p { color: var(--drive-text-secondary); line-height: 1.7; }
.drive-calculator-wrapper { display: flex; flex-direction: column; gap: 1.5rem; }
.drive-calculator-module { padding: 2.5rem; }
.drive-calculator-header h3 { font-family: var(--font-family-headings); font-size: 1.8rem; margin-bottom: 2rem; }
.drive-calculator-body { display: flex; flex-direction: column; gap: 1.5rem; }
.drive-calc-row { display: grid; grid-template-columns: 200px 1fr; align-items: center; gap: 1.5rem; }
.drive-calc-label { font-size: 1rem; font-weight: 700; text-align: left; }
.drive-calc-controls { display: grid; grid-template-columns: auto 40px auto 1fr; align-items: center; gap: 1rem; }
.drive-calc-btn { width: 38px; height: 38px; border-radius: 10px; background: rgba(0,0,0,0.3); border: 1px solid var(--drive-glass-border); color: var(--drive-text); font-size: 1.5rem; cursor: pointer; transition: all 0.2s ease; }
.drive-calc-btn:hover { background-color: var(--drive-accent); transform: scale(1.05); box-shadow: 0 0 15px var(--drive-accent-glow); }
.drive-calc-value { font-family: var(--font-family-headings); font-size: 1.5rem; color: var(--drive-accent); text-align: center; }
.drive-calc-slider-wrapper { display: flex; align-items: center; }
.drive-calc-slider { -webkit-appearance: none; appearance: none; width: 100%; height: 6px; background: rgba(0,0,0,0.5); border-radius: 3px; outline: none; cursor: pointer; background-image: linear-gradient(var(--drive-accent), var(--drive-accent)); background-size: 0% 100%; background-repeat: no-repeat; }
.drive-calc-slider::-webkit-slider-thumb { -webkit-appearance: none; appearance: none; width: 20px; height: 20px; border-radius: 50%; background: var(--drive-text); border: 3px solid var(--drive-accent); box-shadow: 0 0 10px var(--drive-accent-glow); }
.drive-calculator-results { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1.5rem; }
.drive-result-item { padding: 1.5rem; display: flex; flex-direction: column; justify-content: center; text-align: center; }
.drive-result-item span:first-child { font-size: 0.9rem; margin-bottom: 0.5rem; text-transform: uppercase; display: block; color: var(--drive-text-secondary); }
.drive-result-item .drive-result-value { font-family: var(--font-family-headings); font-size: clamp(1.2rem, 4vw, 2.2rem); font-weight: 700; color: var(--drive-text); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.drive-limit-message { margin-top: 1rem; padding: 1rem 1.5rem; background: var(--drive-glass-bg); border: 1px solid var(--drive-accent); color: var(--drive-text); border-radius: 12px; font-weight: 700; max-width: 940px; width: 100%; text-align: center; box-shadow: 0 0 20px var(--drive-accent-glow); opacity: 0; transform: translateY(20px); transition: opacity 0.4s ease, transform 0.4s ease; display: none; }
.drive-limit-message.visible { display: block; opacity: 1; transform: translateY(0); }
.drive-limit-message::before { content: ''; display: inline-block; width: 20px; height: 20px; margin-right: 0.75rem; vertical-align: -4px; background-color: var(--drive-accent); mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='white'%3E%3Cpath d='M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm1 15h-2v-6h2v6zm0-8h-2V7h2v2z'/%3E%3C/svg%3E"); mask-size: contain; mask-repeat: no-repeat; }

.drive-cta-button { 
    background: var(--drive-gold-color);
}
.drive-cta-button:hover { 
    transform: translateY(-3px); 
    box-shadow: 0 12px 40px var(--drive-gold-glow); 
    background: #ffdd70;
}

@media (max-width: 768px) {
    .rapido-drive-section { padding: 4rem 1rem; }
    .drive-description-block, .drive-calculator-module, .drive-result-item, .drive-features-grid, .drive-rule-card { padding: 1.5rem; }
    .drive-rules-grid, .drive-features-grid { grid-template-columns: 1fr; }
    .drive-feature-item:hover, .drive-rule-card:hover { transform: translateY(-5px) scale(1.02); }
    .drive-calc-row { grid-template-columns: 1fr; gap: 1rem; }
    .drive-calc-label { text-align: center; }
    .drive-calc-controls { grid-template-columns: auto 1fr auto; grid-template-areas: "decrease value increase" "slider slider slider"; justify-items: center; }
    .drive-calc-slider-wrapper { grid-area: slider; width: 100%; }
    .drive-calculator-results { grid-template-columns: 1fr; }
}
/* ==========================================================================
   КОНЕЦ СЕКЦИИ 3
   ========================================================================== */


/* ==========================================================================
   СЕКЦИЯ 4: РАПИДО ПРО
   ========================================================================== */
.rapido-pro-section {
    --pro-bg: #10001C;
    --pro-accent: #FF0092;
    --pro-accent-glow: rgba(255, 0, 146, 0.7);
    --pro-text: #FFFFFF;
    --pro-text-secondary: #E9D8FF;
    --pro-glass-bg: rgba(36, 1, 56, 0.6);
    --pro-glass-border: rgba(255, 0, 146, 0.4);
    --pro-shadow-color: rgba(0,0,0,0.5);
    --pro-gold-color: #ffc300;
    --pro-gold-glow: rgba(255, 195, 0, 0.6);

    background-color: var(--pro-bg);
    color: var(--pro-text);
    min-height: 100vh;
    min-height: 100svh;
    padding: 6rem 1rem;
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
    overflow: hidden;
}

.pro-aurora-glow {
    position: absolute;
    border-radius: 50%;
    filter: blur(140px);
    will-change: transform;
    pointer-events: none;
    z-index: 0;
}
.pro-aurora-1 { top: -50%; left: -40%; width: 1000px; height: 1000px; background-color: var(--pro-accent); opacity: 0.3; animation: pro-aurora-1 20s ease-in-out infinite alternate; }
.pro-aurora-2 { bottom: -60%; right: -40%; width: 1200px; height: 1200px; background-color: #7209B7; opacity: 0.3; animation: pro-aurora-2 25s ease-in-out infinite alternate; }
.pro-aurora-3 { top: 20%; left: 30%; width: 800px; height: 800px; background-color: #3A0CA3; opacity: 0.2; animation: pro-aurora-3 18s ease-in-out infinite alternate; }
@keyframes pro-aurora-1 { from { transform: translate(0, 0) scale(1); } to { transform: translate(100px, 80px) scale(1.2); } }
@keyframes pro-aurora-2 { from { transform: translate(0, 0) scale(1); } to { transform: translate(-80px, -100px) scale(0.8); } }
@keyframes pro-aurora-3 { from { transform: translate(-50%, -50%) rotate(0deg); } to { transform: translate(-40%, -60%) rotate(90deg); } }

#particles-pro {
    position: absolute; width: 100%; height: 100%; top: 0; left: 0; z-index: 1;
}
.rapido-pro-container {
    position: relative; z-index: 2; display: flex; flex-direction: column; align-items: center; gap: 2.5rem; width: 100%;
}
.rapido-pro-header, .pro-features-grid, .pro-description-block, .pro-calculator-wrapper, .pro-rules-wrapper {
    width: 100%; max-width: 940px; text-align: center;
}
.rapido-pro-logo {
    width: 100px; margin-bottom: 1.5rem; filter: drop-shadow(0 5px 25px var(--pro-shadow-color));
}
.rapido-pro-title {
    font-family: var(--font-family-headings); font-size: clamp(2.2rem, 5vw, 3.5rem); text-shadow: 0 0 15px var(--pro-accent-glow), 0 0 30px var(--pro-accent-glow); color: var(--pro-text);
}
.pro-features-grid, .pro-description-block, .pro-calculator-module, .pro-result-item, .pro-rule-card {
    background: var(--pro-glass-bg); border: 1px solid var(--pro-glass-border); backdrop-filter: blur(12px); border-radius: 16px; box-shadow: 0 10px 30px var(--pro-shadow-color);
}
.pro-features-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); padding: 1.5rem; gap: 1.5rem; }
.pro-feature-item h4 { font-family: var(--font-family-headings); font-size: 1rem; color: var(--pro-text); opacity: 0.8; text-transform: uppercase; margin-bottom: 0.5rem; }
.pro-feature-item p { font-size: 1.5rem; font-weight: 700; color: var(--pro-text); margin: 0; text-shadow: 0 0 10px var(--pro-accent-glow); white-space: nowrap; }
.pro-description-block { padding: 2rem; }
.pro-description-block h3 { font-family: var(--font-family-headings); color: var(--pro-text); font-size: 1.8rem; margin-bottom: 1rem; }
.pro-description-block p { font-size: 1.1rem; line-height: 1.7; color: var(--pro-text-secondary); margin: 0 auto; max-width: 700px; }
.pro-description-block a { color: var(--pro-accent); text-decoration: none; font-weight: 700; }
.pro-description-block a:hover { text-decoration: underline; }

.pro-section-subtitle { font-family: var(--font-family-headings); font-size: 2rem; color: var(--pro-text); margin-bottom: 2rem; }
.pro-rules-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap: 1.5rem; }
.pro-rule-card { padding: 2rem; text-align: left; position: relative; overflow: hidden; transition: transform 0.3s ease; }
.pro-rule-card:hover { transform: translateY(-5px); }
.pro-rule-card::before { content: ''; position: absolute; top: 0; left: 0; right: 0; bottom: 0; border-radius: 16px; border: 2px solid transparent; background: linear-gradient(120deg, var(--pro-accent), #7209B7) border-box; mask: linear-gradient(#fff 0 0) padding-box, linear-gradient(#fff 0 0); -webkit-mask-composite: destination-out; mask-composite: exclude; opacity: 0; transition: opacity 0.4s ease; }
.pro-rule-card:hover::before { opacity: 1; }
.pro-rule-icon { margin-bottom: 1.5rem; }
.pro-rule-icon svg { width: 40px; height: 40px; color: var(--pro-accent); filter: drop-shadow(0 0 10px var(--pro-accent-glow)); }
.pro-rule-card h4 { font-family: var(--font-family-headings); font-size: 1.3rem; margin-bottom: 1rem; color: var(--pro-text); }
.pro-rule-card p { color: var(--pro-text-secondary); line-height: 1.7; }

.pro-calculator-wrapper { display: flex; flex-direction: column; gap: 1.5rem; }
.pro-calculator-module { padding: 2.5rem; }
.pro-calculator-body { display: flex; flex-direction: column; gap: 1.5rem; }
.pro-calc-row { display: grid; grid-template-columns: 200px 1fr; align-items: center; gap: 1.5rem; }
.pro-calc-label { font-size: 1rem; font-weight: 700; text-align: left; color: var(--pro-text); }
.pro-calc-controls { display: grid; grid-template-columns: auto 40px auto 1fr; align-items: center; gap: 1rem; }
.pro-calc-btn { width: 38px; height: 38px; border-radius: 10px; background: rgba(0,0,0,0.3); border: 1px solid var(--pro-glass-border); color: var(--pro-text); font-size: 1.5rem; cursor: pointer; transition: all 0.2s ease; }
.pro-calc-btn:hover { background-color: var(--pro-accent); transform: scale(1.05); box-shadow: 0 0 15px var(--pro-accent-glow); }
.pro-calc-value { font-family: var(--font-family-headings); font-size: 1.5rem; color: var(--pro-text); text-align: center; }
.pro-calc-slider-wrapper { display: flex; align-items: center; }
.pro-calc-slider { -webkit-appearance: none; appearance: none; width: 100%; height: 6px; background: rgba(0,0,0,0.5); border-radius: 3px; outline: none; cursor: pointer; background-image: linear-gradient(var(--pro-accent), var(--pro-accent)); background-size: 0% 100%; background-repeat: no-repeat; }
.pro-calc-slider::-webkit-slider-thumb { -webkit-appearance: none; appearance: none; width: 20px; height: 20px; border-radius: 50%; background: var(--pro-text); border: 3px solid var(--pro-accent); box-shadow: 0 0 10px var(--pro-accent-glow); transition: transform 0.2s ease; }

.pro-calculator-results { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1.5rem; }
.pro-result-item { padding: 1.5rem; display: flex; flex-direction: column; justify-content: center; text-align: center; }
.pro-result-item span:first-child { font-size: 0.9rem; margin-bottom: 0.5rem; text-transform: uppercase; display: block; color: var(--pro-text-secondary); }
.pro-result-item .pro-result-value { font-family: var(--font-family-headings); font-size: clamp(1.2rem, 4vw, 2.2rem); font-weight: 700; color: var(--pro-text); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }

.pro-limit-message { margin-top: 1rem; padding: 1rem 1.5rem; background: var(--pro-glass-bg); border: 1px solid var(--pro-accent); color: var(--pro-text); border-radius: 12px; font-weight: 700; max-width: 940px; width: 100%; text-align: center; box-shadow: 0 0 20px var(--pro-accent-glow); opacity: 0; transform: translateY(20px); transition: opacity 0.4s ease, transform 0.4s ease; display: none; }
.pro-limit-message.visible { display: block; opacity: 1; transform: translateY(0); }
.pro-limit-message p { word-wrap: break-word; white-space: normal; }

.rapido-pro-section .main-cta-button {
    background-color: var(--pro-gold-color);
    color: #101010;
}
.rapido-pro-section .main-cta-button:hover {
    transform: translateY(-3px);
    box-shadow: 0 12px 35px var(--pro-gold-glow);
    background-color: #ffdd70;
}

@media (max-width: 768px) {
    .rapido-pro-section { padding: 4rem 1rem; }
    .rapido-pro-title { font-size: 2rem; }
    .pro-description-block, .pro-calculator-module, .pro-result-item, .pro-features-grid, .pro-rule-card { padding: 1.5rem; }
    .pro-rules-grid, .pro-calculator-results { grid-template-columns: 1fr; }
    .pro-calc-row { grid-template-columns: 1fr; gap: 1rem; }
    .pro-calc-label { text-align: center; }

    .pro-calc-controls {
        grid-template-columns: auto 1fr auto;
        grid-template-areas:
            "decrease value increase"
            "slider slider slider";
        gap: 1rem;
        justify-items: center;
    }
    .pro-calc-btn[data-action="decrease"] { grid-area: decrease; }
    .pro-calc-value { grid-area: value; }
    .pro-calc-btn[data-action="increase"] { grid-area: increase; }
    .pro-calc-slider-wrapper {
        grid-area: slider;
        width: 100%;
    }
}
/* ==========================================================================
   КОНЕЦ СЕКЦИИ 4
   ========================================================================== */


/* ==========================================================================
   СЕКЦИЯ 5: РАПИДО УЛЬТРА
   ========================================================================== */
.rapido-ultra-section {
    --ultra-bg: #1A1206;
    --ultra-accent: #E3B665;
    --ultra-accent-glow: rgba(227, 182, 101, 0.7);
    --ultra-text: #FFFFFF;
    --ultra-text-secondary: #FFF5E1;
    --ultra-glass-bg: rgba(41, 29, 9, 0.6);
    --ultra-glass-border: rgba(227, 182, 101, 0.4);
    --ultra-shadow-color: rgba(0, 0, 0, 0.6);
    --ultra-gold-color: #ffc300;
    --ultra-gold-glow: rgba(255, 195, 0, 0.6);

    background-color: var(--ultra-bg);
    color: var(--ultra-text);
    min-height: 100vh;
    min-height: 100svh;
    padding: 6rem 1rem;
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
    overflow: hidden;
}

.ultra-aurora-glow {
    position: absolute;
    border-radius: 50%;
    pointer-events: none;
    filter: blur(140px);
    z-index: 0; 
}
.ultra-aurora-1 {
    top: -30%;
    right: -30%;
    width: 800px;
    height: 800px;
    background-color: rgba(255, 220, 150, 0.4);
    animation: pulse-light-ultra 12s infinite ease-in-out;
}
.ultra-aurora-2 {
    bottom: -40%;
    left: -30%;
    width: 900px;
    height: 900px;
    background-color: rgba(227, 182, 101, 0.3);
    animation: pulse-light-ultra 15s infinite ease-in-out reverse;
}
@keyframes pulse-light-ultra {
    50% { transform: scale(1.1); }
}

#particles-ultra {
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    z-index: 1; 
}

.rapido-ultra-container {
    position: relative;
    z-index: 2; 
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 2.5rem;
    width: 100%;
}

.rapido-ultra-header, .ultra-features-grid, .ultra-description-block, .ultra-calculator-wrapper, .ultra-rules-wrapper {
    width: 100%;
    max-width: 940px;
    text-align: center;
}
.rapido-ultra-logo {
    width: 100px;
    margin-bottom: 1.5rem;
    filter: drop-shadow(0 5px 25px var(--ultra-shadow-color));
}
.rapido-ultra-title {
    font-family: var(--font-family-headings);
    font-size: clamp(2.2rem, 5vw, 3.5rem);
    text-shadow: 0 0 15px var(--ultra-accent-glow), 0 0 30px var(--ultra-accent-glow);
    color: var(--ultra-text);
}
.ultra-features-grid, .ultra-description-block, .ultra-calculator-module, .ultra-result-item, .ultra-rule-card {
    background: var(--ultra-glass-bg);
    border: 1px solid var(--ultra-glass-border);
    backdrop-filter: blur(12px);
    border-radius: 16px;
    box-shadow: 0 10px 30px var(--ultra-shadow-color);
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}
.ultra-features-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    padding: 1.5rem;
    gap: 1.5rem;
}
.ultra-feature-item:hover {
    transform: translateY(-5px);
    box-shadow: 0 15px 40px var(--ultra-shadow-color), 0 0 20px var(--ultra-accent-glow);
}
.ultra-feature-item h4 {
    font-family: var(--font-family-headings);
    font-size: 1rem;
    color: var(--ultra-text);
    opacity: 0.8;
    text-transform: uppercase;
    margin-bottom: 0.5rem;
}
.ultra-feature-item p {
    font-size: 1.5rem;
    font-weight: 700;
    color: var(--ultra-accent);
    margin: 0;
    text-shadow: 0 0 10px var(--ultra-accent-glow);
    white-space: nowrap;
}
.ultra-description-block { padding: 2rem; }
.ultra-description-block h3 {
    font-family: var(--font-family-headings);
    color: var(--ultra-text);
    font-size: 1.8rem;
    margin-bottom: 1rem;
}
.ultra-description-block p {
    font-size: 1.1rem;
    line-height: 1.7;
    color: var(--ultra-text-secondary);
    margin: 0 auto;
    max-width: 700px;
}
.ultra-description-block a {
    color: var(--ultra-accent);
    text-decoration: none;
    font-weight: 700;
    border-bottom: 2px solid transparent;
    transition: color 0.3s ease, border-color 0.3s ease;
}
.ultra-description-block a:hover {
    color: #FFD700;
    border-bottom-color: #FFD700;
}
.ultra-section-subtitle {
    font-family: var(--font-family-headings);
    font-size: 2rem;
    color: var(--ultra-text);
    margin-bottom: 2rem;
}
.ultra-rules-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    gap: 1.5rem;
}
.ultra-rule-card {
    padding: 2rem;
    text-align: left;
}
.ultra-rule-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 15px 40px var(--ultra-shadow-color), 0 0 20px var(--ultra-accent-glow);
}
.ultra-rule-icon { margin-bottom: 1.5rem; }
.ultra-rule-icon svg {
    width: 40px;
    height: 40px;
    color: var(--ultra-accent);
    filter: drop-shadow(0 0 10px var(--ultra-accent-glow));
}
.ultra-rule-card h4 {
    font-family: var(--font-family-headings);
    font-size: 1.3rem;
    margin-bottom: 1rem;
    color: var(--ultra-text);
}
.ultra-rule-card p {
    color: var(--ultra-text-secondary);
    line-height: 1.7;
}
.ultra-calculator-wrapper {
    display: flex;
    flex-direction: column;
    gap: 1.5rem;
}
.ultra-calculator-module { padding: 2.5rem; }
.ultra-calculator-header h3 {
    font-family: var(--font-family-headings);
    font-size: 1.8rem;
    margin-bottom: 2rem;
}
.ultra-calculator-body {
    display: flex;
    flex-direction: column;
    gap: 1.5rem;
}
.ultra-calc-row {
    display: grid;
    grid-template-columns: 200px 1fr;
    align-items: center;
    gap: 1.5rem;
}
.ultra-calc-label {
    font-size: 1rem;
    font-weight: 700;
    text-align: left;
}
.ultra-calc-controls {
    display: grid;
    grid-template-columns: auto 40px auto 1fr;
    align-items: center;
    gap: 1rem;
}
.ultra-calc-btn {
    width: 38px;
    height: 38px;
    border-radius: 10px;
    background: rgba(0,0,0,0.3);
    border: 1px solid var(--ultra-glass-border);
    color: var(--ultra-text);
    font-size: 1.5rem;
    cursor: pointer;
    transition: all 0.2s ease;
}
.ultra-calc-btn:hover {
    background-color: var(--ultra-accent);
    transform: scale(1.05);
    box-shadow: 0 0 15px var(--ultra-accent-glow);
}
.ultra-calc-value {
    font-family: var(--font-family-headings);
    font-size: 1.5rem;
    color: var(--ultra-accent);
    text-align: center;
}
.ultra-calc-slider-wrapper { display: flex; align-items: center; }
.ultra-calc-slider {
    -webkit-appearance: none;
    appearance: none;
    width: 100%;
    height: 6px;
    background: rgba(0,0,0,0.5);
    border-radius: 3px;
    outline: none;
    cursor: pointer;
    background-image: linear-gradient(var(--ultra-accent), var(--ultra-accent));
    background-size: 0% 100%;
    background-repeat: no-repeat;
}
.ultra-calc-slider::-webkit-slider-thumb {
    -webkit-appearance: none;
    appearance: none;
    width: 20px;
    height: 20px;
    border-radius: 50%;
    background: var(--ultra-text);
    border: 3px solid var(--ultra-accent);
    box-shadow: 0 0 10px var(--ultra-accent-glow);
}
.ultra-calculator-results {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 1.5rem;
}
.ultra-result-item {
    padding: 1.5rem;
    display: flex;
    flex-direction: column;
    justify-content: center;
    text-align: center;
}
.ultra-result-item span:first-child {
    font-size: 0.9rem;
    margin-bottom: 0.5rem;
    text-transform: uppercase;
    display: block;
    color: var(--ultra-text-secondary);
}
.ultra-result-item .ultra-result-value {
    font-family: var(--font-family-headings);
    font-size: clamp(1.2rem, 4vw, 2.2rem);
    font-weight: 700;
    color: var(--ultra-text);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
.ultra-limit-message {
    margin-top: 1rem; padding: 1rem 1.5rem; background: var(--ultra-glass-bg); border: 1px solid var(--ultra-accent); color: var(--ultra-text); border-radius: 12px; font-weight: 700; max-width: 940px; width: 100%; text-align: center; box-shadow: 0 0 20px var(--ultra-accent-glow); opacity: 0; transform: translateY(20px); transition: opacity 0.4s ease, transform 0.4s ease; display: none;
}
.ultra-limit-message.visible {
    display: block; opacity: 1; transform: translateY(0);
}

.ultra-cta-button:hover { 
    transform: translateY(-3px);
    box-shadow: 0 12px 40px var(--ultra-gold-glow);
    background: #ffdd70; 
}

@media (max-width: 768px) {
    .rapido-ultra-section { padding: 4rem 1rem; }
    .ultra-description-block, .ultra-calculator-module, .ultra-result-item, .ultra-features-grid, .ultra-rule-card { padding: 1.5rem; }
    .ultra-rules-grid, .ultra-calculator-results { grid-template-columns: 1fr; }
    .ultra-calc-row { grid-template-columns: 1fr; gap: 1rem; }
    .ultra-calc-label { text-align: center; }
    .ultra-calc-controls {
        grid-template-columns: auto 1fr auto;
        grid-template-areas: "decrease value increase" "slider slider slider";
        justify-items: center; gap: 1rem;
    }
    .ultra-calc-btn[data-action="decrease"] { grid-area: decrease; }
    .ultra-calc-value { grid-area: value; }
    .ultra-calc-btn[data-action="increase"] { grid-area: increase; }
    .ultra-calc-slider-wrapper { grid-area: slider; width: 100%; }
}
/* ==========================================================================
   КОНЕЦ СЕКЦИИ 5
   ========================================================================== */
/* ==========================================================================
   СЕКЦИЯ 6: ГЕНЕРАТОР ЧИСЕЛ РАПИДО
   ========================================================================== */
.rapido-generator-section {
    --color-rapido-bg: #0c0a00;
    --color-rapido-gold: #ffc300;
    --color-rapido-glow: rgba(255, 195, 0, 0.7);
    --color-rapido-text: #FFFFFF;
    --color-rapido-text-secondary: #ffeebb;
    --color-rapido-glass-bg: rgba(25, 22, 5, 0.7);
    --color-rapido-glass-border: rgba(255, 195, 0, 0.4);
    --color-rapido-shadow: rgba(0,0,0,0.6);

    background-color: var(--color-rapido-bg);
    color: var(--color-rapido-text);
    min-height: 100vh;
    padding: clamp(3rem, 6vw, 6rem) 1rem;
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
    overflow: hidden;
}

#particles-generator {
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    z-index: 0;
}

.rapido-generator-container {
    position: relative;
    z-index: 1;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 2.5rem;
    width: 100%;
}

.generator-title {
    font-family: var(--font-family-headings);
    font-size: clamp(2.5rem, 5vw, 3.5rem);
    text-shadow: 0 0 15px var(--color-rapido-glow);
    color: var(--color-rapido-text);
    text-align: center;
}

.generator-subtitle {
    font-size: 1.1rem;
    line-height: 1.7;
    color: var(--color-rapido-text-secondary);
    text-align: center;
    max-width: 900px;
    opacity: 0.9;
}

.generator-calculator-wrapper {
    display: grid;
    grid-template-columns: 1fr;
    gap: 2rem;
    width: 100%;
    max-width: 1100px;
    margin-top: 2rem;
}

.generator-module, .calculator-results-module, .how-to-use {
    background: var(--color-rapido-glass-bg);
    border: 1px solid var(--color-rapido-glass-border);
    backdrop-filter: blur(12px);
    border-radius: 20px;
    box-shadow: 0 10px 40px var(--color-rapido-shadow);
    padding: clamp(1.5rem, 3vw, 2.5rem);
}

.ticket-header { margin-bottom: 2rem; text-align: center; }
.ticket-header h3 { font-family: var(--font-family-headings); font-size: 1.5rem; color: var(--color-rapido-text); }
.fields-wrapper { display: flex; flex-direction: column; gap: 2.5rem; }

.field-header { text-align: center; margin-bottom: 1.5rem; }
.field-title { display: block; font-size: 1.5rem; font-weight: 700; color: var(--color-rapido-gold); }
.field-subtitle { display: block; font-size: 1rem; color: #cccccc; margin-top: 0.25rem; }

.numbers-grid {
    display: grid;
    gap: clamp(0.5rem, 1.5vw, 1rem);
}

#field-1-grid, #field-2-grid {
    grid-template-columns: repeat(5, 1fr);
}

#field-2-grid {
    padding: 0 calc(10% + 0.4rem);
    grid-template-columns: repeat(4, 1fr);
}

.number-ball {
    aspect-ratio: 1 / 1;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: linear-gradient(145deg, #383838, #1e1e1e);
    color: var(--color-rapido-text);
    font-weight: 700;
    font-size: clamp(1.4rem, 3vw, 1.8rem);
    box-shadow: inset 0 2px 4px rgba(0,0,0,0.5), 0 5px 10px rgba(0,0,0,0.4);
    transition: all 0.2s ease-out;
    cursor: pointer;
}

.number-ball.selected {
    background: linear-gradient(135deg, #ffc300, #ff8a00);
    transform: scale(1.1);
    color: #101010;
    box-shadow: inset 0 -2px 5px rgba(0,0,0,0.3), 0 0 20px var(--color-rapido-glow);
}

.calculator-results-module { display: flex; flex-direction: column; }
.calculator-results-module h4 { font-family: var(--font-family-headings); font-size: 1.5rem; margin-bottom: 1.5rem; text-align: center; }
.result-item { display: flex; flex-direction: column; justify-content: center; text-align: center; padding: 1.25rem 0; border-bottom: 1px solid var(--color-rapido-glass-border); }
.result-item span:first-child { font-size: 1rem; color: var(--color-rapido-text-secondary); margin-bottom: 0.5rem; }
.result-item .result-value { font-family: var(--font-family-headings); font-size: 1.8rem; font-weight: 700; color: var(--color-rapido-text); }
.price-disclaimer { font-size: 0.8rem; color: var(--color-rapido-text-secondary); opacity: 0.7; text-align: center; margin-top: 1.5rem; }

.generator-controls { display: flex; flex-direction: column; gap: 1rem; margin: 2rem 0; }
.control-btn { padding: 14px 20px; font-family: var(--font-family-headings); font-size: 1.1rem; font-weight: 700; border-radius: 10px; cursor: pointer; transition: all 0.3s ease; text-transform: uppercase; }
.control-btn.primary { background: var(--color-rapido-gold); color: #101010; border: none; }
.control-btn.primary:hover { transform: translateY(-3px); box-shadow: 0 8px 25px var(--color-rapido-glow); background: #ffcf40; }
.control-btn.secondary { background-color: transparent; color: var(--color-rapido-gold); border: 2px solid var(--color-rapido-gold); }
.control-btn.secondary:hover { background-color: rgba(255, 195, 0, 0.2); }
.control-btn:disabled { background: #3a3a3a; color: #888; border-color: #3a3a3a; cursor: not-allowed; transform: none; box-shadow: none; }

.expert-verdict { background: rgba(0,0,0,0.3); border-radius: 10px; padding: 1rem; color: var(--color-rapido-text-secondary); font-style: italic; border-top: 1px solid var(--color-rapido-glass-border); margin-top: auto; }

/* ================================================================ */
/* СТИЛИ ДЛЯ УСТРАНЕНИЯ СИНЕГО КВАДРАТА                             */
/* ================================================================ */
.number-ball, .control-btn {
    -webkit-tap-highlight-color: transparent; /* Для мобильных браузеров */
}
.number-ball:focus, .control-btn:focus {
    outline: none; /* Убираем стандартную рамку */
}
/* Добавляем кастомное золотое свечение при фокусе */
.number-ball:focus-visible, .control-btn:focus-visible {
    box-shadow: 0 0 0 3px var(--color-rapido-bg), 0 0 0 5px var(--color-rapido-gold);
}
/* ================================================================ */

.how-to-use { width: 100%; max-width: 1100px; text-align: left; }
.how-to-use h3 { font-family: var(--font-family-headings); font-size: 1.8rem; margin-bottom: 1.5rem; text-align: center; word-break: break-word; hyphens: auto; }
.how-to-use ol { list-style: none; padding-left: 0; }
.how-to-use li { display: flex; align-items: flex-start; margin-bottom: 1rem; font-size: 1.1rem; line-height: 1.6; }
.how-to-use li span { font-family: var(--font-family-headings); font-size: 1.5rem; color: var(--color-rapido-gold); margin-right: 1rem; line-height: 1.2; }
.how-to-use li:last-child { margin-bottom: 0; }

.rapido-generator-section .main-cta-button { background-color: var(--color-rapido-gold); }
.rapido-generator-section .main-cta-button:hover { background-color: #ffcf40; box-shadow: 0 12px 35px var(--color-rapido-glow); }

@media (min-width: 992px) {
    .generator-calculator-wrapper { grid-template-columns: 3fr 2fr; }
    .generator-module { order: 1; }
    .calculator-results-module { order: 2; }
}

@media (max-width: 991px) {
    .generator-calculator-wrapper { display: flex; flex-direction: column; }
    .generator-module { order: 1; }
    .calculator-results-module { order: 2; }
}

@media (max-width: 600px) {
    #field-1-grid {
        grid-template-columns: repeat(4, 1fr);
    }
    #field-2-grid {
        padding: 0; 
        grid-template-columns: repeat(4, 1fr);
    }
}
/* ==========================================================================
   КОНЕЦ СЕКЦИИ 6
   ========================================================================== */
/* ==========================================================================
   СЕКЦИЯ 7: КАК КУПИТЬ БИЛЕТ РАПИДО (НОВАЯ)
   ========================================================================== */
@keyframes rotating-vortex-purchase {
    from { transform: translate(-50%, -50%) rotate(0deg); }
    to { transform: translate(-50%, -50%) rotate(360deg); }
}

.rapido-purchase-section {
    --purchase-accent: #17c4c4; /* Бирюзовый цвет */
    --purchase-glow: rgba(23, 196, 196, 0.6);
    --purchase-bg: #021a1d;

    padding: 6rem 1rem;
    position: relative;
    overflow: hidden;
    background-color: var(--purchase-bg);
    border-top: 1px solid rgba(23, 196, 196, 0.2);
}

.purchase-vortex-background {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 150vmax;
    height: 150vmax;
    background-image:
        radial-gradient(circle at center, rgba(0,0,0,0) 0%, rgba(0,0,0,0) 40%, var(--purchase-bg) 70%),
        conic-gradient(from 0deg at 50% 50%, 
            transparent 0%, 
            var(--purchase-accent) 5%, 
            transparent 10%,
            transparent 25%,
            var(--purchase-accent) 30%,
            transparent 35%,
            transparent 50%,
            var(--purchase-accent) 55%,
            transparent 60%,
            transparent 80%,
            var(--purchase-accent) 85%,
            transparent 90%
        );
    animation: rotating-vortex-purchase 50s linear infinite;
    opacity: 0.2;
}

.rapido-purchase-section::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 4px;
    background: var(--purchase-accent);
    box-shadow: 0 0 15px var(--purchase-accent);
}

.purchase-container {
    position: relative;
    z-index: 2;
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
}

.purchase-title {
    font-family: var(--font-family-headings);
    font-size: clamp(2.5rem, 5vw, 3.5rem);
    color: var(--color-white);
    margin-bottom: 1.5rem;
    text-shadow: 0 0 15px var(--purchase-glow);
}

.purchase-subtitle {
    font-size: clamp(1.1rem, 2.5vw, 1.3rem);
    color: var(--color-text-secondary);
    max-width: 800px;
    margin-bottom: 4rem;
    line-height: 1.7;
}

.purchase-steps-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
    gap: 2rem;
    width: 100%;
    max-width: 1100px;
}

.purchase-step-card {
    background: rgba(2, 26, 29, 0.7);
    border: 1px solid rgba(23, 196, 196, 0.4);
    border-radius: 20px;
    padding: 2.5rem;
    backdrop-filter: blur(10px);
    text-align: center;
    transition: transform 0.3s ease, box-shadow 0.3s ease;
    position: relative;
    overflow: hidden;
}

.purchase-step-card:hover {
    transform: translateY(-10px);
    box-shadow: 0 15px 40px rgba(0,0,0,0.5), 0 0 20px var(--purchase-glow);
}

.purchase-step-number {
    position: absolute;
    top: -20px;
    left: -10px;
    font-family: var(--font-family-headings);
    font-size: 10rem;
    font-weight: 800;
    color: rgba(23, 196, 196, 0.1);
    line-height: 1;
    z-index: 1;
    transition: transform 0.4s ease;
}

.purchase-step-card:hover .purchase-step-number {
    transform: scale(1.1) rotate(-5deg);
}

.purchase-step-content {
    position: relative;
    z-index: 2;
}

.purchase-step-card h3 {
    font-family: var(--font-family-headings);
    font-size: 1.8rem;
    color: var(--color-rapido-gold);
    margin-bottom: 1rem;
    text-shadow: 0 0 10px rgba(255, 195, 0, 0.5);
}

.purchase-step-card p {
    color: var(--color-text-secondary);
    line-height: 1.6;
    font-size: 1.1rem;
}

.purchase-cta-wrapper {
    margin-top: 4rem;
}

/* Стили для кнопки в новой секции будут наследоваться от .main-cta-button, сохраняя золотой цвет */

@media (max-width: 768px) {
    .rapido-purchase-section {
        padding: 4rem 1rem;
    }
    .purchase-title {
        font-size: 2.2rem;
    }
    .purchase-subtitle {
        font-size: 1rem;
    }
}
/* ==========================================================================
   СЕКЦИЯ 8: СРАВНИТЕЛЬНАЯ ТАБЛИЦА ЛОТЕРЕЙ (НОВАЯ)
   ========================================================================== */
.rapido-comparison-section {
    --comparison-accent: #F18D15; /* Новый оранжевый цвет */
    --comparison-glow: rgba(241, 141, 21, 0.6);
    --comparison-bg: #1a1a1a;
    --comparison-card-bg: #110900;

    padding: 6rem 1rem;
    position: relative;
    overflow: hidden;
    background-color: var(--comparison-bg);
    background-image: 
        radial-gradient(ellipse at 50% 100%, rgba(241, 141, 21, 0.2) 0%, transparent 60%);
    border-top: 1px solid rgba(241, 141, 21, 0.2);
}

.rapido-comparison-section::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 4px;
    background: var(--comparison-accent);
    box-shadow: 0 0 15px var(--comparison-accent);
}

.comparison-container {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
}

.comparison-title {
    font-family: var(--font-family-headings);
    font-size: clamp(2.5rem, 5vw, 3.5rem);
    margin-bottom: 1.5rem;
    color: var(--color-white);
    text-shadow: 0 0 15px var(--comparison-glow);
}

.comparison-subtitle {
    font-size: clamp(1.1rem, 2.5vw, 1.3rem);
    color: var(--color-text-secondary);
    max-width: 800px;
    margin-bottom: 4rem;
}

.comparison-table-wrapper {
    width: 100%;
    max-width: 1100px;
}

.comparison-table {
    width: 100%;
    border-collapse: separate;
    border-spacing: 0 8px;
    text-align: center;
}

.comparison-table th {
    font-family: var(--font-family-headings);
    font-size: 1.25rem;
    padding: 1rem;
    color: var(--comparison-accent);
}

.comparison-table td {
    background: var(--comparison-card-bg);
    padding: 1.5rem 1rem;
    color: var(--color-text-secondary);
    font-size: 1.1rem;
    transition: background-color 0.3s ease;
}

.comparison-table tr:hover td {
    background: #221200;
}

.comparison-table td:first-child {
    font-weight: 700;
    color: var(--color-white);
    text-align: left;
    border-top-left-radius: 12px;
    border-bottom-left-radius: 12px;
}

.comparison-table td:last-child {
    border-top-right-radius: 12px;
    border-bottom-right-radius: 12px;
}

.highlight-row td {
    background: linear-gradient(90deg, #3d2300, var(--comparison-card-bg) 60%);
    border-top: 1px solid var(--comparison-accent);
    border-bottom: 1px solid var(--comparison-accent);
}

.highlight-row td:first-child {
    border-left: 1px solid var(--comparison-accent);
}

.highlight-row td:last-child {
    border-right: 1px solid var(--comparison-accent);
}

.comparison-cta-wrapper {
    margin-top: 3rem;
}

@media (max-width: 768px) {
    .rapido-comparison-section {
        padding: 4rem 1rem;
    }
    .comparison-table-wrapper {
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
        border: 1px solid #333;
        border-radius: 12px;
        padding-bottom: 8px;
    }

    .comparison-table {
        min-width: 700px;
    }
    
    .comparison-table-wrapper::-webkit-scrollbar {
        height: 12px;
    }

    .comparison-table-wrapper::-webkit-scrollbar-track {
        background: #1c1c1c;
        border-radius: 6px;
    }

    .comparison-table-wrapper::-webkit-scrollbar-thumb {
        background-color: var(--comparison-accent);
        border-radius: 6px;
        border: 3px solid #1c1c1c;
    }
    
    .comparison-table-wrapper {
      scrollbar-width: auto;
      scrollbar-color: var(--comparison-accent) #1c1c1c;
    }
}
/* ==========================================================================
   СЕКЦИЯ 9: СОВЕТЫ И СТРАТЕГИИ
   ========================================================================== */
.rapido-strategy-section {
    --strategy-bg: #10001C;
    --strategy-accent: #9D00FF; /* Фиолетовый */
    --strategy-accent-secondary: #7209B7;
    --strategy-glow: rgba(157, 0, 255, 0.7);
    --strategy-glass-bg: rgba(36, 1, 56, 0.7);
    --strategy-glass-border: rgba(157, 0, 255, 0.4);

    padding: 6rem 1rem;
    position: relative;
    overflow: hidden;
    background-color: var(--strategy-bg);
    border-top: 1px solid rgba(157, 0, 255, 0.2);
}

.strategy-aurora-glow {
    position: absolute;
    border-radius: 50%;
    filter: blur(140px);
    will-change: transform;
    pointer-events: none;
    z-index: 0;
}
.strategy-aurora-glow.aurora-1 { top: -40%; left: -30%; width: 900px; height: 900px; background-color: var(--strategy-accent); opacity: 0.3; animation: pro-aurora-1 20s ease-in-out infinite alternate; }
.strategy-aurora-glow.aurora-2 { bottom: -50%; right: -30%; width: 1000px; height: 1000px; background-color: var(--strategy-accent-secondary); opacity: 0.3; animation: pro-aurora-2 25s ease-in-out infinite alternate; }
.strategy-aurora-glow.aurora-3 { top: 10%; left: 20%; width: 700px; height: 700px; background-color: #3A0CA3; opacity: 0.2; animation: pro-aurora-3 18s ease-in-out infinite alternate; }

.rapido-strategy-section::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 4px;
    background: var(--strategy-accent);
    box-shadow: 0 0 15px var(--strategy-accent);
}

.strategy-container {
    position: relative;
    z-index: 2;
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
}

.strategy-title {
    font-family: var(--font-family-headings);
    font-size: clamp(2.5rem, 5vw, 3.5rem);
    color: var(--color-white);
    text-shadow: 0 0 15px var(--strategy-glow);
    margin-bottom: 1.5rem;
}

.strategy-subtitle {
    font-size: clamp(1.1rem, 2.5vw, 1.3rem);
    color: var(--color-text-secondary);
    max-width: 800px;
    margin-bottom: 4rem;
}

.strategy-grid {
    display: grid;   
    grid-template-columns: repeat(auto-fit, 320px);    
    justify-content: center;
    gap: 2rem;
    width: 100%;
    max-width: 1100px;
}

.strategy-card {
    background: var(--strategy-glass-bg);
    border: 1px solid var(--strategy-glass-border);
    backdrop-filter: blur(10px);
    border-radius: 20px;
    padding: 2.5rem 2rem;
    text-align: center;
    transition: transform 0.3s ease, box-shadow 0.3s ease;
    box-shadow: 0 10px 30px rgba(0,0,0,0.5);
    display: flex;
    flex-direction: column;
    align-items: center;
}

.strategy-card:hover {
    transform: translateY(-10px);
    box-shadow: 0 20px 40px rgba(0,0,0,0.6), 0 0 25px var(--strategy-glow);
}

.strategy-icon {
    width: 50px;
    height: 50px;
    margin-bottom: 1.5rem;
    color: var(--strategy-accent);
    filter: drop-shadow(0 0 10px var(--strategy-glow));
}

.strategy-card h3 {
    font-family: var(--font-family-headings);
    font-size: 1.6rem;
    color: var(--color-rapido-gold);
    margin-bottom: 1rem;
}

.strategy-card p {
    color: var(--color-text-secondary);
    line-height: 1.7;
}

.strategy-cta-wrapper {
    margin-top: 4rem;
}
/* ==========================================================================
   СЕКЦИЯ 8: ПРЕИМУЩЕСТВА
   ========================================================================== */
@keyframes gold-wave-animation {
    0% { transform: translateX(-50%) translateY(-50%) rotate(0deg); }
    100% { transform: translateX(-50%) translateY(-50%) rotate(360deg); }
}

.rapido-benefits-section {
    --benefits-accent: #B09260; /* Темно-золотой */
    --benefits-glow: rgba(176, 146, 96, 0.6);
    --benefits-bg: #1A1206; /* Темный фон, как у Ультра */

    padding: 6rem 1rem;
    position: relative;
    overflow: hidden;
    background-color: var(--benefits-bg);
    color: var(--color-white);
    border-top: 1px solid rgba(176, 146, 96, 0.2);
}

.rapido-benefits-section::before {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    width: 150vmax;
    height: 150vmax;
    background-image:
        radial-gradient(ellipse at 70% 80%, rgba(176, 146, 96, 0.15) 0%, transparent 50%),
        radial-gradient(ellipse at 30% 20%, rgba(176, 146, 96, 0.1) 0%, transparent 40%);
    animation: gold-wave-animation 60s linear infinite;
    z-index: 0;
}

.rapido-benefits-section::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 4px;
    background: var(--benefits-accent);
    box-shadow: 0 0 15px var(--benefits-accent);
}

.benefits-container {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    position: relative;
    z-index: 1;
}

.benefits-title {
    font-family: var(--font-family-headings);
    font-size: clamp(2.5rem, 5vw, 3.5rem);
    margin-bottom: 1.5rem;
    text-shadow: 0 0 15px var(--benefits-glow);
}

.benefits-subtitle {
    font-size: clamp(1.1rem, 2.5vw, 1.3rem);
    color: var(--color-text-secondary);
    max-width: 800px;
    margin-bottom: 4rem;
    line-height: 1.7;
}

.benefits-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 1.5rem;
    width: 100%;
    max-width: 900px;
}

.benefit-card {
    background: rgba(41, 29, 9, 0.6);
    border: 1px solid rgba(176, 146, 96, 0.4);
    border-radius: 15px;
    padding: 1.5rem;
    transition: all 0.3s ease;
    display: flex;
    align-items: center;
    text-align: left;
    position: relative;
    overflow: hidden;
    backdrop-filter: blur(8px);
}

.benefit-card::before {
    content: '';
    position: absolute;
    inset: 0;
    border-radius: 15px;
    background: radial-gradient(circle at center, var(--benefits-glow) 0%, transparent 70%);
    opacity: 0;
    transition: opacity 0.4s ease;
    z-index: 1;
}

.benefit-card:hover {
    transform: scale(1.03);
    border-color: var(--benefits-accent);
    box-shadow: 0 10px 30px rgba(0,0,0,0.4);
}

.benefit-card:hover::before {
    opacity: 0.5;
}

.benefit-icon {
    flex-shrink: 0;
    width: 50px;
    height: 50px;
    margin-right: 1.5rem;
    color: var(--benefits-accent);
    position: relative;
    z-index: 2;
}

.benefit-text {
    position: relative;
    z-index: 2;
}

.benefit-card h3 {
    font-family: var(--font-family-headings);
    font-size: 1.5rem;
    margin-bottom: 0.5rem;
    color: var(--color-white);
}

.benefit-card p {
    line-height: 1.6;
    color: var(--color-text-secondary);
}

.benefits-cta-wrapper {
    margin-top: 4rem;
}

@media (max-width: 768px) {
    .rapido-benefits-section {
        padding: 4rem 1rem;
    }
    .benefits-title {
        font-size: 2.2rem;
    }
    .benefits-subtitle {
        font-size: 1rem;
    }
}
/* ==========================================================================
   СЕКЦИЯ 11: КАК ПОЛУЧИТЬ ВЫИГРЫШ
   ========================================================================== */
.rapido-payout-section {
    --payout-accent: #17c4c4; /* Используем тот же бирюзовый */
    --payout-glow: rgba(23, 196, 196, 0.7);
    --payout-bg: #021a1d;

    padding: 6rem 1rem;
    position: relative;
    overflow: hidden;
    background-color: var(--payout-bg);
    background-image: 
        radial-gradient(ellipse at 50% 0%, rgba(23, 196, 196, 0.3) 0%, transparent 50%);
    border-top: 1px solid rgba(23, 196, 196, 0.2);
}

.rapido-payout-section::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 4px;
    background: var(--payout-accent);
    box-shadow: 0 0 15px var(--payout-accent);
}

.payout-container {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    position: relative;
    z-index: 2;
}

.payout-title {
    font-family: var(--font-family-headings);
    font-size: clamp(2.5rem, 5vw, 3.5rem);
    color: var(--color-white);
    margin-bottom: 1.5rem;
    text-shadow: 0 0 15px var(--payout-glow);
}

.payout-subtitle {
    font-size: clamp(1.1rem, 2.5vw, 1.3rem);
    color: var(--color-text-secondary);
    max-width: 800px;
    margin-bottom: 4rem;
    line-height: 1.7;
}

.payout-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
    gap: 2rem;
    width: 100%;
    /* ДОБАВЛЕНО: Это свойство центрирует карточки по горизонтали */
    justify-content: center;
}

.payout-card {
    background: rgba(2, 26, 29, 0.7);
    padding: 2.5rem 2rem;
    text-align: center; /* Выравнивание по центру */
    transition: transform 0.3s ease, background-color 0.3s ease;
    clip-path: polygon(0 0, 100% 0, 100% calc(100% - 20px), calc(100% - 20px) 100%, 0 100%);
    position: relative;
    overflow: hidden;
    border: 1px solid rgba(23, 196, 196, 0.3);
    backdrop-filter: blur(8px);
}

.payout-card::before {
    content: '';
    position: absolute;
    inset: 0;
    background: radial-gradient(circle at center, var(--payout-glow) 0%, transparent 70%);
    opacity: 0;
    transition: opacity 0.4s ease;
    z-index: 0;
}

.payout-card:hover {
    transform: translateY(-10px);
    background-color: rgba(2, 26, 29, 0.9);
}

.payout-card:hover::before {
    opacity: 0.5;
}

.payout-icon {
    width: 50px;
    height: 50px;
    margin: 0 auto 1.5rem auto; /* Центрирование иконки */
    color: var(--payout-accent);
    filter: drop-shadow(0 0 10px var(--payout-glow));
    position: relative;
    z-index: 2;
}

.payout-card h3 {
    font-family: var(--font-family-headings);
    font-size: 1.8rem;
    color: var(--color-white);
    margin-bottom: 1rem;
    position: relative;
    z-index: 2;
}

.payout-card p {
    color: var(--color-text-secondary);
    line-height: 1.6;
    position: relative;
    z-index: 2;
}

.payout-cta-wrapper {
    margin-top: 4rem;
}

@media (max-width: 768px) {
    .rapido-payout-section {
        padding: 4rem 1rem;
    }
    .payout-title {
        font-size: 2.2rem;
    }
    .payout-subtitle {
        font-size: 1rem;
    }
}
/* ==========================================================================
   СЕКЦИЯ 12: ИСТОРИИ ПОБЕДИТЕЛЕЙ
   ========================================================================== */
.rapido-winners-section {
    --winners-bg: #10001C;
    --winners-accent: #FF0092; /* Розовый акцент */
    --winners-accent-2: #7209B7; /* Фиолетовый акцент */
    --winners-glow: rgba(255, 0, 146, 0.6);
    --winners-gold: #ffc300;

    padding: 6rem 1rem;
    position: relative;
    overflow: hidden;
    background-color: var(--winners-bg);
    border-top: 1px solid rgba(255, 0, 146, 0.2);
}

.winners-aurora-glow {
    position: absolute;
    border-radius: 50%;
    filter: blur(140px);
    will-change: transform;
    pointer-events: none;
    z-index: 0;
}
.winners-aurora-1 {
    top: -40%; left: -30%; width: 900px; height: 900px;
    background-color: var(--winners-accent); opacity: 0.25;
    animation: pro-aurora-1 22s ease-in-out infinite alternate;
}
.winners-aurora-2 {
    bottom: -50%; right: -30%; width: 1000px; height: 1000px;
    background-color: var(--winners-accent-2); opacity: 0.25;
    animation: pro-aurora-2 27s ease-in-out infinite alternate;
}

.rapido-winners-section::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 4px;
    background: var(--winners-accent);
    box-shadow: 0 0 15px var(--winners-accent);
}

.winners-container {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    position: relative;
    z-index: 1;
}

.winners-title {
    font-family: var(--font-family-headings);
    font-size: clamp(2.5rem, 5vw, 3.5rem);
    margin-bottom: 1.5rem;
    text-shadow: 0 0 15px var(--winners-glow);
}

.winners-subtitle {
    font-size: clamp(1.1rem, 2.5vw, 1.3rem);
    color: var(--color-text-secondary);
    max-width: 800px;
    margin-bottom: 4rem;
    line-height: 1.7;
}

.winners-story-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(340px, 1fr));
    gap: 2rem;
    width: 100%;
    max-width: 1200px;
    justify-content: center;
}

.winner-story-block {
    background: rgba(36, 1, 56, 0.5);
    border: 1px solid rgba(255, 0, 146, 0.3);
    backdrop-filter: blur(10px);
    padding: 2rem;
    border-radius: 20px;
    text-align: left;
    box-shadow: 0 10px 30px rgba(0,0,0,0.5);
    display: flex;
    flex-direction: column;
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.winner-story-block:hover {
    transform: translateY(-10px);
    box-shadow: 0 20px 40px rgba(0,0,0,0.6), 0 0 25px var(--winners-glow);
}

.story-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 1rem;
    margin-bottom: 0.5rem;
}

.story-game-badge {
    font-size: 0.8rem;
    font-weight: 700;
    padding: 0.3rem 0.8rem;
    border-radius: 20px;
    color: #fff;
    text-transform: uppercase;
}
.story-game-badge.rapido-pro { background-color: var(--winners-accent); }
.story-game-badge.rapido-start { background-color: #04C6BA; }
.story-game-badge.rapido-ultra { background-color: #E3B665; }

.story-winner-name {
    font-family: var(--font-family-headings);
    font-size: 1.3rem;
    color: var(--color-white);
    text-align: right;
}

.story-win-amount {
    font-family: var(--font-family-headings);
    font-size: clamp(2.5rem, 6vw, 3.2rem); /* Уменьшил максимальный размер шрифта */
    font-weight: 800;
    color: var(--winners-gold);
    line-height: 1.1;
    margin-bottom: 1.5rem;
    text-shadow: 0 0 15px rgba(255, 195, 0, 0.5);
    white-space: nowrap; /* Оставляем это свойство, чтобы знак рубля не переносился */
}

.story-body p {
    color: var(--color-text-secondary);
    line-height: 1.7;
    margin-bottom: 1.5rem;
    font-size: 1rem;
    flex-grow: 1; /* Растягивает блок, чтобы карточки были одной высоты */
}

.story-details {
    padding-top: 1.5rem;
    border-top: 1px solid rgba(255, 0, 146, 0.2);
}

.story-details h4 {
    font-family: var(--font-family-headings);
    color: var(--color-white);
    margin-bottom: 0.75rem;
    font-size: 1rem;
}

.story-details p {
    color: var(--color-text-secondary);
    font-size: 0.9rem;
    line-height: 1.6;
    margin: 0;
}

.winning-combo span {
    display: inline-block;
    width: 30px;
    height: 30px;
    line-height: 30px;
    text-align: center;
    background-color: var(--winners-accent);
    color: var(--color-white);
    border-radius: 50%;
    margin: 2px;
    font-weight: 700;
    font-size: 0.9rem;
}
.winning-combo span:last-child {
    background-color: var(--winners-gold);
    color: #101010;
}

.winners-cta-wrapper {
    margin-top: 4rem;
}
/* ==========================================================================
   СЕКЦИЯ 13: НАЛОГИ НА ВЫИГРЫШ В РАПИДО
   ========================================================================== */
.rapido-tax-section {
    --tax-accent: #B09260; /* Темно-золотой */
    --tax-glow: rgba(176, 146, 96, 0.6);
    --tax-bg: #1A1206; /* Темный фон, как у Ультра */
    --tax-bright-gold: #ffc300;
    --tax-text-secondary: #FFF5E1;

    padding: 6rem 1rem;
    position: relative;
    overflow: hidden;
    background-color: var(--tax-bg);
    border-top: 1px solid rgba(176, 146, 96, 0.2);
}

.rapido-tax-section::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 4px;
    background: var(--tax-accent);
    box-shadow: 0 0 15px var(--tax-accent);
}

.rapido-tax-container {
    position: relative;
    z-index: 2;
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    max-width: 1240px; 
    margin: 0 auto; 
    padding: 0 20px;
}

.rapido-tax-title {
    font-family: var(--font-family-headings);
    font-size: clamp(2.5rem, 5vw, 3.5rem);
    color: var(--color-white);
    margin-bottom: 1.5rem;
    text-shadow: 0 0 15px var(--tax-glow);
}

.rapido-tax-subtitle {
    font-size: clamp(1.1rem, 2.5vw, 1.3rem);
    color: var(--tax-text-secondary);
    max-width: 800px;
    margin-bottom: 4rem;
    line-height: 1.7;
}

.rapido-tax-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 2rem;
    width: 100%;
    max-width: 1000px;
}

.rapido-tax-card {
    background: rgba(41, 29, 9, 0.6);
    border: 1px solid rgba(176, 146, 96, 0.4);
    border-radius: 15px;
    padding: 1.5rem;
    transition: transform 0.3s ease, box-shadow 0.3s ease;
    box-shadow: 0 10px 30px rgba(0,0,0,0.4);
    display: flex;
    align-items: center;
    text-align: left;
    backdrop-filter: blur(8px);
}

.rapido-tax-card:hover {
    transform: translateY(-10px);
    box-shadow: 0 20px 40px rgba(0,0,0,0.5), 0 0 15px var(--tax-glow);
}

.rapido-tax-icon {
    flex-shrink: 0;
    width: 50px;
    height: 50px;
    margin-right: 1.5rem;
    color: var(--tax-accent);
    filter: drop-shadow(0 0 10px var(--tax-glow));
}

.rapido-tax-card h3 {
    font-family: var(--font-family-headings);
    font-size: 1.5rem;
    color: var(--color-white);
    margin-bottom: 0.5rem;
}

.rapido-tax-card p {
    color: var(--tax-text-secondary);
    line-height: 1.6;
}

.rapido-tax-cta-wrapper {
    margin-top: 4rem;
}

@media (max-width: 768px) {
    .rapido-tax-section {
        padding: 4rem 1rem;
    }
    .rapido-tax-grid {
        grid-template-columns: 1fr;
    }
}
/* СТИЛИ ДЛЯ КАЛЬКУЛЯТОРА НАЛОГОВ */
.rapido-tax-calculator-module {
    width: 100%;
    max-width: 800px;
    margin: 4rem auto 0 auto;
    background: rgba(26, 18, 6, 0.8);
    border: 1px solid var(--tax-accent);
    border-radius: 20px;
    padding: 2.5rem;
    box-shadow: 0 15px 40px rgba(0,0,0,0.4), 0 0 30px var(--tax-glow);
    backdrop-filter: blur(10px);
}

.rapido-tax-calculator-module h3 {
    font-family: var(--font-family-headings);
    font-size: 2rem;
    text-align: center;
    color: var(--tax-bright-gold);
    margin: 0 auto 2rem auto;
}

.rapido-calculator-body {
    display: grid;
    grid-template-columns: 1fr;
    gap: 1.5rem;
    margin-bottom: 2rem;
}

.rapido-calculator-input-group {
    display: flex;
    flex-direction: column;
}

.rapido-calculator-input-group label {
    text-align: left;
    margin-bottom: 0.75rem;
    color: var(--tax-text-secondary);
    font-weight: 700;
}

.rapido-tax-input {
    width: 100%;
    padding: 15px;
    background: #1A1206;
    border: 1px solid #5a4d3c;
    border-radius: 10px;
    color: var(--color-white);
    font-size: 1.25rem;
    font-family: var(--font-family-headings);
    outline: none;
    transition: all 0.3s ease;
}

.rapido-tax-input:focus {
    border-color: var(--tax-bright-gold);
    box-shadow: 0 0 15px rgba(255, 195, 0, 0.3);
}

.rapido-status-selector {
    display: flex;
    background: #1A1206;
    border-radius: 10px;
    padding: 5px;
    border: 1px solid #5a4d3c;
}

.rapido-status-btn {
    flex: 1;
    padding: 12px 10px;
    font-size: 0.9rem;
    font-weight: 700;
    border: none;
    background: transparent;
    color: var(--tax-text-secondary);
    border-radius: 8px;
    cursor: pointer;
    transition: all 0.3s ease;
    white-space: nowrap;
    /* FIX: Предотвращение "прыжков" */
    transform: translateZ(0); 
}

.rapido-status-btn.active {
    background: var(--tax-accent);
    color: var(--color-white);
    box-shadow: inset 0 2px 4px rgba(0,0,0,0.4);
}

.rapido-calculator-results {
    background: #1A1206;
    border-radius: 10px;
    padding: 1.5rem;
    border: 1px solid #5a4d3c;
}

.rapido-result-line {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 0.75rem 0;
    font-size: 1.1rem;
    color: var(--tax-text-secondary);
}

.rapido-result-line:not(:last-child) {
    border-bottom: 1px solid #3a3022;
}

.rapido-result-line span:last-child {
    font-weight: 700;
    color: var(--color-white);
    text-align: right;
    /* FIX: Правильный перенос больших чисел */
    word-break: break-all;
    overflow-wrap: break-word;
}

.rapido-final-amount {
    font-size: 1.3rem;
}

.rapido-final-amount .rapido-amount {
    font-family: var(--font-family-headings);
    /* FIX: Адаптивный размер шрифта, чтобы помещались большие суммы */
    font-size: clamp(1.8rem, 8vw, 2.8rem);
    color: var(--tax-bright-gold);
    text-shadow: 0 2px 10px rgba(255, 195, 0, 0.4);
}

@media (max-width: 600px) {
    .rapido-tax-calculator-module {
        padding: 1.5rem;
    }
    .rapido-status-selector {
        flex-direction: column;
        gap: 0.5rem;
        padding: 8px;
    }
    .rapido-status-btn {
        font-size: 1rem;
        white-space: normal;
    }
    .rapido-result-line {
        flex-direction: column;
        align-items: flex-start;
        gap: 0.5rem;
    }
    .rapido-result-line span:last-child {
        align-self: flex-end;
    }
}
/* ==========================================================================
   КОНЕЦ СЕКЦИИ 13
   ========================================================================== */
/* ==========================================================================
   СЕКЦИЯ 14: FAQ ДЛЯ РАПИДО (ФИНАЛЬНАЯ ВЕРСИЯ - ДИЗАЙН 1.0 С ИСПРАВЛЕНИЕМ)
   ========================================================================== */

@keyframes faq-fade-in {
    from { opacity: 0; transform: translateY(-10px); }
    to { opacity: 1; transform: translateY(0); }
}

.rapido-faq-section {
    --faq-bg: #10001C; 
    --faq-accent: #FF0092;
    --faq-accent-2: #7209B7;
    --faq-glow: rgba(255, 0, 146, 0.6);
    --faq-gold: #ffc300;

    padding: 6rem 1rem;
    position: relative;
    overflow: hidden;
    background-color: var(--faq-bg);
    border-top: 1px solid rgba(255, 0, 146, 0.2);
}

.faq-aurora-glow { position: absolute; border-radius: 50%; filter: blur(150px); will-change: transform; pointer-events: none; z-index: 0; }
.faq-aurora-1 { top: -30%; left: -20%; width: 800px; height: 800px; background-color: var(--faq-accent); opacity: 0.25; animation: pro-aurora-1 20s ease-in-out infinite alternate; }
.faq-aurora-2 { bottom: -40%; right: -20%; width: 1000px; height: 1000px; background-color: var(--faq-accent-2); opacity: 0.25; animation: pro-aurora-2 25s ease-in-out infinite alternate; }
.faq-aurora-3 { top: 50%; right: 40%; width: 700px; height: 700px; background-color: #3A0CA3; opacity: 0.2; animation: pro-aurora-3 18s ease-in-out infinite alternate; }

.rapido-faq-section::after { content: ''; position: absolute; bottom: 0; left: 0; width: 100%; height: 4px; background: var(--faq-accent); box-shadow: 0 0 15px var(--faq-accent); }
.rapido-faq-container { max-width: 900px; display: flex; flex-direction: column; align-items: center; text-align: center; position: relative; z-index: 1; }
.rapido-faq-title { font-family: var(--font-family-headings); font-size: clamp(2.5rem, 5vw, 3.5rem); color: var(--color-white); margin-bottom: 1.5rem; text-shadow: 0 0 15px var(--faq-glow); }
.rapido-faq-subtitle { font-size: clamp(1.1rem, 2.5vw, 1.3rem); color: var(--color-text-secondary); max-width: 800px; margin-bottom: 4rem; line-height: 1.7; }
.rapido-faq-cta-wrapper { margin-top: 4rem; }

/* ВОЗВРАЩЕНИЕ К ДИЗАЙНУ 1.0 С ИСПРАВЛЕНИЕМ */
.rapido-faq-accordion {
    width: 100%;
    display: flex;
    flex-direction: column;
    gap: 1.25rem;
}

.rapido-faq-accordion details {
    background: rgba(36, 1, 56, 0.5);
    border: 1px solid rgba(255, 0, 146, 0.3);
    backdrop-filter: blur(10px);
    border-radius: 15px;
    transition: transform 0.3s ease;
    position: relative; /* Для псевдо-элемента свечения */
    transform: translateZ(0); /* Для плавности на мобильных */
}

/* ИСПРАВЛЕНО: Псевдо-элемент для свечения, который анимируется по прозрачности */
.rapido-faq-accordion details::before {
    content: '';
    position: absolute;
    inset: -1px; /* Покрывает border */
    border-radius: inherit; /* Наследует скругление */
    box-shadow: 0 8px 30px rgba(0,0,0,0.5), 0 0 20px var(--faq-glow);
    opacity: 0; /* Изначально прозрачный */
    transition: opacity 0.4s ease;
    pointer-events: none; /* Не мешает кликам */
    z-index: -1;
}

.rapido-faq-accordion details:hover {
    transform: translateY(-5px);
}

/* ИСПРАВЛЕНО: Свечение плавно появляется на hover и при открытии */
.rapido-faq-accordion details:hover::before,
.rapido-faq-accordion details[open]::before {
    opacity: 1;
}

.rapido-faq-accordion details[open] {
    border-color: var(--faq-accent);
}

.rapido-faq-accordion summary {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 1.5rem;
    cursor: pointer;
    font-family: var(--font-family-headings);
    font-size: 1.3rem;
    font-weight: 700;
    color: var(--color-white);
    list-style: none; 
    text-align: left;
    width: 100%;
    transition: color 0.3s ease;
    position: relative;
    outline: none;
    -webkit-tap-highlight-color: transparent;
}

.rapido-faq-accordion summary::-webkit-details-marker { display: none; }

.rapido-faq-accordion summary:hover,
.rapido-faq-accordion details[open] summary {
    color: var(--faq-gold);
}

.rapido-faq-accordion summary::after {
    content: '+';
    font-size: 2.5rem;
    color: var(--faq-accent);
    font-weight: 300;
    flex-shrink: 0;
    margin-left: 1rem;
    transition: transform 0.4s cubic-bezier(0.25, 1, 0.5, 1), color 0.3s ease;
    line-height: 1;
}

.rapido-faq-accordion details[open] summary::after {
    transform: rotate(45deg);
    color: var(--faq-gold);
}

.rapido-faq-answer {
    padding: 0 2rem 1.5rem 2rem; 
    text-align: left;
    color: var(--color-text-secondary); 
    line-height: 1.8;
    font-size: 1.1rem;
}

.rapido-faq-answer p {
    margin: 0;
    padding-top: 1.5rem;
    border-top: 1px solid rgba(255, 0, 146, 0.2);
}

.rapido-faq-accordion details[open] .rapido-faq-answer {
    animation: faq-fade-in 0.5s ease-out;
}

@media (max-width: 768px) {
    .rapido-faq-section { padding: 4rem 1rem; }
    .rapido-faq-accordion summary { font-size: 1.1rem; padding: 1.25rem; }
    .rapido-faq-accordion summary::after { font-size: 2rem; }
    .rapido-faq-answer { padding: 0 1.25rem 1.25rem 1.25rem; font-size: 1rem; }
    .rapido-faq-answer p { padding-top: 1.25rem; }
}
/* ==========================================================================
   СЕКЦИЯ 15: НАША МИССИЯ (НОВЫЙ УНИКАЛЬНЫЙ ДИЗАЙН)
   ========================================================================== */
.rapido-mission-section {
    --mission-bg: #1A1206;
    --mission-accent: #B09260;
    --mission-glow: rgba(176, 146, 96, 0.5);
    --mission-gold: #ffc300;

    padding: 6rem 1rem;
    position: relative;
    overflow: hidden;
    background-color: var(--mission-bg);
    border-top: 1px solid rgba(176, 146, 96, 0.2);
}

.mission-aurora-glow { position: absolute; border-radius: 50%; filter: blur(140px); will-change: transform; pointer-events: none; z-index: 0; }
.mission-aurora-1 { top: -20%; right: -20%; width: 900px; height: 900px; background-color: var(--mission-accent); opacity: 0.3; animation: pro-aurora-1 22s ease-in-out infinite alternate; }
.mission-aurora-2 { bottom: -30%; left: -20%; width: 1000px; height: 1000px; background-color: rgba(255, 195, 0, 0.15); opacity: 0.3; animation: pro-aurora-2 27s ease-in-out infinite alternate; }

.rapido-mission-container { text-align: center; position: relative; z-index: 2; }
.rapido-mission-title { font-family: var(--font-family-headings); font-size: clamp(2.5rem, 5vw, 3.5rem); margin-bottom: 1.5rem; text-shadow: 0 0 15px var(--mission-glow); }
.rapido-mission-subtitle { font-size: clamp(1.1rem, 2.5vw, 1.3rem); color: var(--color-text-secondary); max-width: 800px; margin: 0 auto 4rem auto; }
.rapido-mission-cta-wrapper { margin-top: 4rem; }

.mission-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 2rem;
    max-width: 1000px;
    margin: 0 auto;
}

.mission-card {
    perspective: 1000px; /* Создаем 3D-пространство для карточки */
}

.card-inner {
    padding: 2.5rem 2rem;
    background: rgba(41, 29, 9, 0.6);
    border: 1px solid rgba(176, 146, 96, 0.4);
    border-radius: 15px;
    backdrop-filter: blur(8px);
    height: 100%; /* Карточки одинаковой высоты */
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    box-shadow: 0 10px 30px rgba(0,0,0,0.5);

    /* Начальное 3D-положение */
    transform: rotateY(-8deg) rotateX(10deg);
    transition: transform 0.4s cubic-bezier(0.25, 1, 0.5, 1), box-shadow 0.4s ease;
}

.mission-card:hover .card-inner {
    transform: rotateY(0) rotateX(0); /* Возвращаем в плоскость */
    box-shadow: 0 20px 40px rgba(0,0,0,0.6), 0 0 25px var(--mission-glow);
}

.card-icon {
    width: 50px;
    height: 50px;
    margin-bottom: 1.5rem;
    color: var(--mission-accent);
    transition: color 0.3s ease, transform 0.3s ease;
}

.mission-card:hover .card-icon {
    color: var(--mission-gold);
    transform: scale(1.1);
}

.card-inner h3 {
    font-family: var(--font-family-headings);
    font-size: 1.6rem;
    color: var(--color-white);
    margin-bottom: 1rem;
}

.card-inner p {
    color: var(--color-text-secondary);
    line-height: 1.7;
    flex-grow: 1; /* Текст растягивается, выравнивая кнопки внизу */
}

/* Адаптация для мобильных */
@media (max-width: 768px) {
    .mission-grid {
        grid-template-columns: 1fr;
    }
    .card-inner {
        /* Убираем 3D-эффект на мобильных для лучшей читаемости */
        transform: rotateY(0) rotateX(0);
    }
    .mission-card:hover .card-inner {
        transform: translateY(-5px); /* Простое смещение вверх */
    }
}
/* ==========================================================================
   СЕКЦИЯ 16: ПОДВАЛ (FOOTER)
   ========================================================================== */

/* Анимация вращения остаётся прежней */
@keyframes rotate-glow {
    from { transform: rotate(0deg); }
    to { transform: rotate(360deg); }
}

.rapido-footer {
    padding: 3rem 1rem;
    position: relative;
    overflow: hidden;
    z-index: 1;
}

/* ПСЕВДО-ЭЛЕМЕНТ №1: ПОДСВЕТКА */
.rapido-footer::before {
    content: '';
    position: absolute;
    z-index: -2;
    inset: -200%;

    background: conic-gradient(
        from 90deg,
        transparent 0%,
        transparent 70%,
        #FFB700 95%, 
        transparent 100% 
    );
   
    animation: rotate-glow 8s linear infinite;
}

/* ПСЕВДО-ЭЛЕМЕНТ №2: МАСКА-ФОН */
.rapido-footer::after {
    content: '';
    position: absolute;
    z-index: -1;
    inset: 3px;    
    background-color: #121212; 
    
    border-radius: 0;
}

.rapido-footer-container {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
}

.footer-logo {
    width: 80px;
    margin-bottom: 2rem;
    opacity: 0.9;
}

.footer-disclaimer-box {
    width: 100%;
    max-width: 800px;
    margin-bottom: 2rem;
    padding: 1.5rem;
    background: rgba(41, 29, 9, 0.5);
    border: 1px solid rgba(176, 146, 96, 0.3);
    border-radius: 12px;
    backdrop-filter: blur(5px);
    font-size: 0.95rem;
    line-height: 1.7;
}

.footer-disclaimer-box p:first-child {
    margin-bottom: 1rem;
}

.footer-legal-links {
    margin-bottom: 2rem;
    display: flex;
    gap: 2rem;
    flex-wrap: wrap;
    justify-content: center;
}

.footer-legal-links a {    
    color: #BFAE8A; 
    text-decoration: none;
    transition: color 0.3s ease;
}

.footer-legal-links a:hover {   
    color: #FFB700; 
    text-decoration: underline;
}

.footer-bottom-info {
    font-size: 0.85rem;
    color: rgba(255, 255, 255, 0.4);
    line-height: 1.6;
}

.footer-bottom-info p {
    margin-bottom: 0.5rem;
}
.footer-bottom-info p:last-child {
    margin-bottom: 0;
}

/* ==========================================================================
   Стили для служебных страниц (Политика, Отказ от ответственности)
   ========================================================================== */

/* Фон для страниц, если нужен */
.legal-page-background {
    /* Можно добавить фоновое изображение или градиент */
}

/* Минималистичная шапка для этих страниц */
.minimal-header {
    background: rgba(0, 0, 0, 0.3);
    backdrop-filter: blur(10px);
    border-bottom: 1px solid rgba(255, 255, 255, 0.1);
}

.header-container-minimal {
    padding-top: 1rem;
    padding-bottom: 1rem;
    display: flex;
    justify-content: center; /* Центрируем лого */
}

.header-brand-minimal {
    display: flex;
    align-items: center;
    gap: 1rem;
    text-decoration: none;
    color: #fff;
    font-family: 'Exo 2', sans-serif;
    font-size: 1.25rem;
    opacity: 0.8;
    transition: opacity 0.3s ease;
}

.header-brand-minimal:hover {
    opacity: 1;
}

.brand-logo-img-minimal {
    width: 40px;
    height: 40px;
}


/* Контейнер для текста */
.text-page-container {
    max-width: 800px; /* Ограничиваем ширину для читаемости */
    margin: 3rem auto; /* Отступы сверху/снизу и центрирование */
    padding: 2.5rem;
    background-color: rgba(22, 17, 7, 0.7); /* Полупрозрачный фон */
    border: 1px solid rgba(176, 146, 96, 0.3);
    border-radius: 12px;
    color: #ccc;
    line-height: 1.8;
}

/* Заголовки */
.text-page-container h2 {
    font-family: 'Exo 2', sans-serif;
    font-size: 2.5rem; /* Размер для десктопа */
    color: #FFB700;
    text-align: center;
    margin-bottom: 2rem;
    line-height: 1.2;
}

.text-page-container h3 {
    font-family: 'Exo 2', sans-serif;
    font-size: 1.5rem;
    color: #fff;
    margin-top: 2.5rem;
    margin-bottom: 1rem;
    border-bottom: 1px solid rgba(176, 146, 96, 0.2);
    padding-bottom: 0.5rem;
}

/* Текстовые элементы */
.text-page-container p {
    margin-bottom: 1rem;
}

.text-page-container ul {
    list-style-type: disc;
    padding-left: 20px;
    margin-bottom: 1rem;
}

.text-page-container li {
    margin-bottom: 0.5rem;
}

.text-page-container strong {
    color: #fff;
    font-weight: 700;
}

/* Ссылка "Вернуться на главную" */
.back-to-home {
    display: inline-block;
    margin-top: 2.5rem;
    color: #FFB700;
    text-decoration: none;
    font-weight: 700;
    transition: color 0.3s ease;
}

.back-to-home:hover {
    color: #fff;
    text-decoration: underline;
}


/* ==========================================================================
   Адаптивность для служебных страниц
   ========================================================================== */
@media (max-width: 768px) {
    .text-page-container {
        margin: 2rem auto;
        padding: 1.5rem;
    }

    /* РЕШЕНИЕ ПРОБЛЕМЫ: Уменьшаем заголовок на мобильных */
    .text-page-container h2 {
        font-size: 1.8rem; /* Уменьшенный размер для мобильных */
    }

    .text-page-container h3 {
        font-size: 1.3rem;
    }
}
/* Hub and individual pages retain the established Rapido visual system. */
.hub-game,.single-hero {--game-accent:var(--color-rapido-gold);}
.hub-game .container,.single-hero .container,.hub-section .container {max-width:1100px;position:relative;z-index:2;width:100%;}
.hub-game .container {display:block;}
.hub-game {min-height:0;padding:5rem 1rem;}
.hub-game-header {display:flex;align-items:center;justify-content:center;gap:28px;margin-bottom:26px;}
.hub-game-header img {width:112px;height:112px;object-fit:contain;flex-shrink:0;filter:drop-shadow(0 8px 22px #0008);}
.hub-kicker {display:block;font-size:14px;color:#fffccf;margin-bottom:8px;letter-spacing:.05em;}
.hub-game-header h1,.hub-game-header h2 {font-family:var(--font-family-headings);font-size:clamp(2rem,4.3vw,3.8rem);line-height:1.18;color:#fff;}
.hub-game-header h2 a {color:inherit;text-decoration:none;}
.hub-game-header h2 a:hover {color:var(--game-accent);}
.hub-game-description {max-width:800px;margin:0 auto 30px;text-align:center;font-size:18px;line-height:1.8;color:#f0ece9;}
.hub-game-actions,.single-hero-actions {display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:20px;margin-top:30px;}
.single-hero-actions {margin:26px 0 32px;}
.main-screen-cta-area {display:flex;justify-content:center;align-items:center;gap:20px;flex-wrap:wrap;}
.hub-secondary {display:inline-flex;justify-content:center;align-items:center;min-height:58px;padding:14px 24px;border:1px solid var(--game-accent,var(--color-rapido-gold));border-radius:12px;color:#fff;font-weight:700;text-decoration:none;background:#10101055;}
.hub-secondary:hover {background:#ffffff12;color:#ffdd70;}
.rapido-logos-gallery a {display:inline-flex;border-radius:50%;}
.draw-widget {background:#080a0dcc;border:1px solid #ffffff30;border-left:4px solid var(--game-accent);border-radius:20px;padding:28px 32px;box-shadow:0 15px 35px #0005;margin:0 auto;max-width:940px;width:100%;}
.draw-heading,.draw-end {display:flex;justify-content:space-between;align-items:center;gap:22px;}
.draw-heading strong {display:block;font-family:var(--font-family-headings);font-size:28px;line-height:1.3;color:#fff;margin-top:6px;}
.draw-heading p,.draw-end p {font-weight:700;color:#fff;font-size:16px;margin-top:5px;}
.draw-label,.draw-facts>div>span,.draw-end>div>span {display:block;color:#c6c7c9;font-size:14px;}
.draw-facts {display:grid;grid-template-columns:1fr 1.3fr .7fr;gap:24px;padding:23px 0;margin:22px 0;border-top:1px solid #ffffff26;border-bottom:1px solid #ffffff26;}
.draw-facts strong {display:block;color:#ffdb70;font-size:25px;line-height:1.35;margin-top:6px;overflow-wrap:anywhere;font-variant-numeric:tabular-nums;}
.draw-end>div:last-child {text-align:right;}
.draw-end strong {display:block;font-size:22px;color:var(--game-accent);font-variant-numeric:tabular-nums;}
.draw-updated {font-size:13px;color:#c6c7c9;margin-top:20px;}
.hub-section {padding:5rem 1rem;}
.hub-section-title {font-family:var(--font-family-headings);font-size:clamp(1.9rem,3.6vw,2.8rem);text-align:center;line-height:1.2;margin:0 auto 36px;max-width:900px;color:#fff;}
.hub-intro {font-size:18px;line-height:1.8;text-align:center;max-width:820px;margin:0 auto 30px;color:#e5e2e0;}
.hub-info-grid {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;}
.hub-info-card {padding:30px;border:1px solid #ffffff28;border-radius:18px;background:#10101088;box-shadow:0 12px 26px #0003;}
.hub-info-card h3 {font-family:var(--font-family-headings);font-size:23px;line-height:1.25;margin-bottom:18px;color:#ffdb70;}
.hub-info-icon {color:#17c4c4;width:42px;height:42px;margin-bottom:22px;}
.hub-info-icon svg {width:100%;height:100%;}
.hub-info-card p {color:#dedbd8;font-size:17px;line-height:1.8;}
.hub-table-wrapper {overflow-x:auto;border:1px solid #f18d1560;border-radius:18px;background:#100c09;}
.hub-table {width:100%;border-collapse:collapse;min-width:560px;font-size:17px;}
.hub-table caption {text-align:left;padding:20px 24px;color:#ddd;}
.hub-table th,.hub-table td {padding:20px 24px;text-align:left;border-top:1px solid #ffffff20;}
.hub-table thead th {background:#ffffff08;font-size:15px;}
.hub-table a,.hub-reading a,.hub-intro a {color:#ffdb70;text-underline-offset:4px;}
.hub-reading {max-width:850px;margin:30px auto 0;color:#e5e2e0;font-size:18px;line-height:1.85;}
.hub-reading p+p {margin-top:20px;}
.hub-reading h3 {font-family:var(--font-family-headings);color:#ffdb70;font-size:26px;margin:30px 0 18px;}
.hub-note {font-size:15px;line-height:1.7;color:#dbd4c8;max-width:850px;margin:20px auto;text-align:center;}
.hub-centered {text-align:center;margin-top:30px;}
.lottery-page .section-cta {margin-top:32px;}
.lottery-page #lottery-rules .hub-info-grid+.hub-intro {margin-top:32px;margin-bottom:0;}
.breadcrumbs {display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:0 0 42px;font-size:15px;}
.breadcrumbs a {color:#ffdb70;text-underline-offset:4px;}
.breadcrumbs span {color:#e5e2e0;}
.single-hero {padding:50px 1rem 70px;min-height:0;}
.single-hero-content {position:relative;z-index:2;}
.related-games {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;margin:0 auto 30px;}
.related-game {display:flex;flex-direction:column;gap:15px;align-items:center;padding:28px;border:1px solid #ffffff30;border-radius:18px;color:#fff;text-decoration:none;background:#10101099;font-size:21px;font-family:var(--font-family-headings);}
.related-game:hover {border-color:#ffc300;}
.related-game img {width:88px;height:88px;}
.lottery-legal {font-size:14px;color:#ccc;text-align:center;line-height:1.8;max-width:900px;margin:0 auto;}
.rapido-faq-item details {margin-bottom:14px;border:1px solid #ff009245;border-radius:16px;background:#10001c;}
.rapido-faq-item summary {display:flex;justify-content:space-between;align-items:center;gap:20px;cursor:pointer;list-style:none;padding:24px 28px;font-weight:700;font-size:19px;}
.rapido-faq-item summary::-webkit-details-marker {display:none;}
.rapido-faq-item summary::after {display:none;}
.rapido-faq-item summary>span {font-size:24px;color:#ff6ebe;flex-shrink:0;}
.rapido-faq-item details[open] summary>span {transform:rotate(45deg);}
.tax-fields {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;margin:24px 0;}
.tax-fields label {display:flex;flex-direction:column;gap:10px;color:#f4ead6;font-weight:700;}
.tax-fields input,.tax-fields select {width:100%;min-height:52px;padding:12px 16px;background:#101010;color:#fff;border:1px solid #b09260;border-radius:10px;font:inherit;font-weight:400;}
#tax-output {display:block;background:#ffffff09;border-radius:12px;padding:22px;font-size:20px;color:#ffdb70;line-height:1.6;margin:24px 0;}
.rapido-tax-calculator-module>.main-cta-button {display:block;margin:0 auto;font-size:17px;}
.legal-shell {max-width:1000px;padding:40px 30px 60px;color:#e5e2e0;}
.legal-shell h1 {font-family:var(--font-family-headings);font-size:clamp(1.9rem,4vw,3rem);line-height:1.2;color:#ffdb70;margin:35px 0;overflow-wrap:anywhere;}
.legal-shell h2 {font-family:var(--font-family-headings);font-size:24px;color:#fff;margin:35px 0 15px;line-height:1.3;}
.legal-shell p {font-size:17px;line-height:1.85;}
.legal-home {color:#ffdb70;text-underline-offset:5px;}
.footer-partner-link {color:#ffdb70;text-underline-offset:4px;}
.footer-disclaimer-box p+p {margin-top:15px;}
.side-navigation a:focus-visible {outline:3px solid #fff;outline-offset:6px;}
.side-navigation li:focus-within .tooltip {opacity:1;visibility:visible;right:200%;}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible {outline:3px solid #ffc300;outline-offset:5px;}
.main-cta-button {text-decoration:none;text-align:center;}
@media(max-width:1100px) {
    .side-navigation {right:13px;}
    main,footer {padding-right:30px;}
    .hub-info-grid {grid-template-columns:1fr;}
    .hub-info-card {padding:25px;}
    .hub-game,.hub-section {padding:4rem 0;}
}
@media(max-width:600px) {
    .side-navigation li {margin-bottom:20px;}
    .side-navigation a,.nav-highlight {width:10px;height:10px;}
    .main-screen-title {font-size:clamp(1.7rem,7.4vw,2.5rem);letter-spacing:.5px;}
    .main-screen-section {padding:30px 0;min-height:0;}
    .main-screen-content {padding:0;}
    .main-screen-seo-text {font-size:17px;}
    .rapido-logos-gallery {gap:15px;flex-wrap:wrap;}
    .rapido-logos-gallery .rapido-logo {width:55px;height:55px;}
    .official-organizers-badge {padding:10px 14px;font-size:12px;}
    .container {padding:0 18px;}
    .hub-game-header {gap:15px;justify-content:flex-start;}
    .hub-game-header img {width:74px;height:74px;}
    .hub-game-header h1,.hub-game-header h2 {font-size:clamp(1.7rem,6.2vw,2.1rem);}
    .hub-kicker {font-size:12px;letter-spacing:0;}
    .hub-game-description,.hub-intro,.hub-reading {font-size:17px;text-align:left;}
    .hub-game,.hub-section {padding:42px 0;}
    .hub-section-title {font-size:27px;line-height:1.25;text-align:left;margin-bottom:25px;}
    .draw-widget {padding:20px 18px;border-radius:16px;}
    .draw-heading,.draw-end {display:block;}
    .draw-heading p {margin-top:14px;}
    .draw-heading strong {font-size:26px;}
    .draw-facts {grid-template-columns:1fr 1fr;gap:22px 14px;padding:20px 0;margin:20px 0;}
    .draw-facts>div:nth-child(2) {grid-column:1/-1;grid-row:2;}
    .draw-facts strong {font-size:23px;}
    .draw-end>div:last-child {text-align:left;margin-top:18px;}
    .draw-end p,.draw-heading p {font-size:15px;}
    .draw-updated {font-size:12px;}
    .hub-game-actions,.single-hero-actions {gap:14px;}
    .main-cta-button,.hub-secondary {width:100%;padding:16px 18px;font-size:16px;min-height:55px;}
    .hub-info-card h3 {font-size:22px;}
    .hub-info-card {padding:24px 20px;}
    .hub-table-wrapper {overflow:visible;}
    .hub-table {display:block;min-width:0;}
    .hub-table caption {display:block;padding:20px;font-size:15px;}
    .hub-table thead {display:none;}
    .hub-table tbody {display:block;}
    .hub-table tr {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border-top:1px solid #ffffff26;padding:20px;gap:18px;}
    .hub-table th,.hub-table td {display:block;border:0;padding:0;overflow-wrap:anywhere;}
    .hub-table th {grid-column:1/-1;font-size:21px;}
    .hub-table td:last-child {grid-column:1/-1;}
    .hub-table td::before {content:attr(data-label);display:block;font-size:13px;color:#ccc;margin-bottom:6px;}
    .single-hero {padding:26px 0 42px;}
    .breadcrumbs {margin-bottom:30px;font-size:14px;}
    .related-games {grid-template-columns:1fr;gap:15px;}
    .related-game {flex-direction:row;padding:20px;gap:22px;}
    .related-game img {width:64px;height:64px;}
    .tax-fields {grid-template-columns:1fr;gap:18px;}
    .rapido-tax-calculator-module {padding:20px;margin-top:30px;}
    .rapido-tax-calculator-module h3 {font-size:25px;}
    #tax-output {font-size:18px;padding:18px;}
    .rapido-faq-item summary {padding:20px;font-size:17px;}
    .rapido-faq-answer {padding:0 20px 20px;}
    .legal-shell {padding:25px 22px 45px;}
    .legal-shell h1 {font-size:clamp(1.35rem,6vw,1.65rem);overflow-wrap:normal;}
    .legal-shell .hub-note {text-align:left;}
    .rapido-footer {padding-left:0;padding-right:30px;}
    .rapido-footer-container {padding:0 18px;}
    .footer-disclaimer-box {padding:24px 20px;}
}
@media(prefers-reduced-motion:reduce) {
    html {scroll-behavior:auto;}
    *,*::before,*::after {animation:none!important;transition:none!important;}
}

/* Classic-formula budget comparison. */
.classic-budget{background:#061b20;color:#fff}.classic-budget .budget-kicker{color:#5cf0d6;font-size:12px;letter-spacing:.1em;text-transform:uppercase;margin-bottom:18px}.classic-budget .budget-intro{max-width:950px;font-size:18px;line-height:1.75;margin:24px 0 36px}.classic-budget-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:35px;align-items:start}.classic-budget figure{margin:0}.classic-budget img{display:block;width:100%;height:auto;border-radius:22px}.classic-budget figcaption{font-size:12px;line-height:1.6;color:#bed4d4;margin-top:12px}.classic-budget-tool{padding:28px;border:1px solid #367274;border-radius:22px;background:#0b292c}.classic-budget h3{font-family:'Exo 2',sans-serif;font-size:25px;line-height:1.3;margin:0 0 21px}.classic-budget-inputs{display:grid;grid-template-columns:1fr 1fr;gap:17px}.classic-budget-inputs label{display:grid;gap:12px;font-size:13px;line-height:1.5}.classic-budget-inputs select{width:100%;min-width:0;min-height:51px;border:1px solid #5ea3a0;border-radius:9px;padding:11px;font:600 18px Roboto,sans-serif;background:#071d20;color:#fff;color-scheme:dark}.classic-budget select:focus-visible{outline:3px solid #5cf0d6;outline-offset:4px}.classic-budget-output{border-top:1px solid #367274;padding-top:22px;margin-top:24px}.classic-budget-output>strong{font-size:31px;color:#5cf0d6;display:block;line-height:1.25}.classic-budget-output p{font-size:15px;line-height:1.6;margin-top:15px;display:flex;gap:20px;justify-content:space-between;flex-wrap:wrap}.classic-budget-output strong{white-space:normal}.classic-budget .classic-budget-small{font-size:12px;line-height:1.7;color:#bed4d4;margin-top:25px}.budget-method{margin-top:35px;padding-top:29px;border-top:1px solid #367274}.budget-method p{font-size:16px;line-height:1.8;max-width:1070px;margin:0 0 20px}.budget-method span{overflow-wrap:anywhere}.budget-method .action-button{margin-top:10px}
@media(max-width:1050px){.classic-budget-grid{grid-template-columns:1fr}.classic-budget figure{max-width:950px}}
@media(max-width:600px){.classic-budget-tool{padding:23px}.classic-budget .budget-intro{font-size:16px}.classic-budget-inputs{gap:13px}.classic-budget-inputs label{font-size:12px}.classic-budget h3{font-size:23px}.budget-method p{font-size:15px}.classic-budget-grid{gap:27px}}
