

      /* Base styles */

      * {

        margin: 0;

        padding: 0;

        box-sizing: border-box;

        font-family: 'Roboto', sans-serif;

      }

     
      /* ========================= */
      /* Tropical Spins Homepage   */
      /* ========================= */

      :root {
        --trop-bg: #1A1A2E;
        --trop-text: #E6E6E6;
        --trop-accent: #FF9E3D; /* sunset orange */
        --trop-accent-2: #6C63FF; /* violet */
        --trop-shadow: rgba(0,0,0,0.3);
        --trop-gradient: linear-gradient(135deg, #FFD166 0%, #FF6F61 50%, #00C2FF 100%);
        --trop-gradient-accent: linear-gradient(135deg, #FF9E3D, #6C63FF);
      }

      /* Generic buttons */
      .btn {
        display: inline-block;
        padding: 0.9rem 1.6rem;
        border-radius: 999px;
        text-decoration: none;
        font-weight: 700;
        transition: transform 0.2s ease, box-shadow 0.3s ease, opacity 0.2s ease;
        box-shadow: 0 8px 24px var(--trop-shadow);
        color: #ffffff;
        will-change: transform;
      }
      .btn:hover { transform: translateY(-2px); }
      .btn:active { transform: translateY(0); opacity: 0.9; }
      .btn-primary { background: var(--trop-gradient-accent); }
      .btn-secondary { background: #ffffff10; border: 1px solid #ffffff40; color: var(--trop-text); backdrop-filter: blur(6px); }
      .btn-outline { background: transparent; border: 2px solid #ffffffaa; color: #ffffff; }

      /* 1) Hero */
      .tropical-hero {
        position: relative;
        min-height: 100vh;
        display: grid;
        place-items: center;
        text-align: center;
        color: var(--trop-text);
        overflow: hidden;
        background: #21213A; /* solid and slightly lighter */
      }
      .tropical-hero__bg { 
        position: absolute;
        top: 0;
        left: 0;
        right: 0;
        bottom: 0;
        width: 100%;
        height: 100%;
        object-fit: contain; /* не режет изображение */
        object-position: center;
        z-index: 1;
      }
      .tropical-hero__overlay { 
        position: absolute;
        top: 0;
        left: 0;
        right: 0;
        bottom: 0;
        background: linear-gradient(180deg, rgba(0,0,0,0.35) 0%, rgba(0,0,0,0.55) 100%);
        z-index: 1;
      }
      .tropical-hero__content { position: relative; z-index: 2; }

      @media (min-width: 992px) {
        .tropical-hero__bg { object-fit: contain; }
      }
      .tropical-hero__content { position: relative; z-index: 2; padding: 0 1.25rem; max-width: 960px; }
      .tropical-hero__title { font-size: 3rem; font-weight: 900; letter-spacing: 0.02em; margin-bottom: 1rem; background: var(--trop-gradient-accent); -webkit-background-clip: text; -webkit-text-fill-color: transparent; }
      .tropical-hero__subtitle { font-size: 1.2rem; opacity: 0.95; margin-bottom: 0.75rem; }
      .tropical-hero__description { font-size: 1.05rem; opacity: 0.9; margin-bottom: 1.5rem; }
      .tropical-hero__actions { display: flex; gap: 0.75rem; justify-content: center; flex-wrap: wrap; }

      @media (min-width: 768px) {
        .tropical-hero__title { font-size: 4rem; }
        .tropical-hero__subtitle { font-size: 1.35rem; }
        .tropical-hero__description { font-size: 1.15rem; }
      }

      /* 2) Мини‑игра */
      .game-section { background: #21213A; color: var(--trop-text); }
      .game-wrapper { display: grid; grid-template-columns: 1fr; gap: 1.5rem; align-items: start; }
      @media (min-width: 992px) { .game-wrapper { grid-template-columns: minmax(0, 1fr) 320px; } }
      .game-container { width: 100%; aspect-ratio: 4/3; max-width: 800px; max-height: 600px; margin: 0 auto; border-radius: 16px; background: #0e1630; border: 1px solid #ffffff1a; box-shadow: 0 20px 60px var(--trop-shadow); padding: 12px; display: flex; }
      .game-cards { display: grid; grid-template-columns: repeat(5, 1fr); grid-auto-rows: minmax(90px, 1fr); gap: 12px; width: 100%; }
      .game-card { display: flex; align-items: center; justify-content: center; text-align: center; padding: 10px; border-radius: 12px; background: #121c3a; border: 1px solid #ffffff14; color: #eef; font-weight: 600; cursor: pointer; transition: transform .15s ease, box-shadow .2s ease, border-color .2s ease; user-select: none; }
      .game-card:hover { transform: translateY(-2px); box-shadow: 0 10px 30px rgba(0,0,0,0.35); border-color: #ffffff33; }
      .game-card[data-type="fruit"] { background: linear-gradient(135deg, #1b2a4f, #1a3a3a); }
      .game-card[data-type="cocktail"] { background: linear-gradient(135deg, #2a1b4f, #3a1a3a); }
      .game-card[data-type="garnish"] { background: linear-gradient(135deg, #1b4f2a, #1a3a2a); }
      .game-sidebar { display: grid; gap: 1rem; align-content: start; }
      .game-side-image { width: 100%; height: auto; border-radius: 14px; border: 1px solid #ffffff1a; box-shadow: 0 15px 40px var(--trop-shadow); object-fit: cover; }
      .game-controls { display: flex; gap: 0.5rem; flex-wrap: wrap; }
      .game-card.selected { outline: 2px solid #ffffffcc; outline-offset: -2px; box-shadow: 0 0 0 4px #ffffff22, 0 10px 30px rgba(0,0,0,0.35); }

      /* 🍹 Новая мини‑игра: Cocktail Game */
      .cocktail-game { position: relative; max-width: 960px; margin: 0 auto; }
      .cg-screen { text-align: center; color: var(--trop-text); }
      .cg-screen.hidden { display: none; }
      .cg-title { font-size: 2rem; font-weight: 900; margin-bottom: 0.5rem; background: var(--trop-gradient-accent); -webkit-background-clip: text; -webkit-text-fill-color: transparent; }
      .cg-subtitle { opacity: 0.95; margin-bottom: 1rem; }
      .cg-start-btn { margin-top: 0.5rem; }

      .cg-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; margin: 1rem auto 1.25rem; max-width: 560px; }
      .cg-card { display: grid; grid-template-rows: auto 1fr; align-items: center; justify-items: center; gap: 6px; padding: 14px 10px; border-radius: 14px; background: #121c3a; border: 1px solid #ffffff14; color: #eef; font-weight: 700; cursor: pointer; transition: transform .15s ease, box-shadow .2s ease, border-color .2s ease, outline-color .2s ease; }
      .cg-card span { font-size: 0.9rem; opacity: 0.95; }
      .cg-card:focus { outline: 2px solid #ffffff66; outline-offset: 2px; }
      .cg-card:hover { transform: translateY(-2px); box-shadow: 0 10px 30px rgba(0,0,0,0.35); border-color: #ffffff33; }
      .cg-card.active { outline: 2px solid #6C63FF; box-shadow: 0 0 8px #6C63FF66, 0 10px 30px rgba(0,0,0,0.35); }

      .cg-hint { font-size: 0.95rem; color: #dfe6ff; opacity: 0.9; min-height: 1.2em; }
      .cg-actions { display: flex; gap: 0.5rem; justify-content: center; flex-wrap: wrap; margin-top: 0.5rem; }
      .cg-create.disabled { opacity: 0.5; pointer-events: none; }

      .cg-stage { position: relative; margin: 1.25rem auto 0; width: min(520px, 90%); height: 200px; border-radius: 16px; background: #0e1630; border: 1px solid #ffffff14; box-shadow: 0 20px 60px var(--trop-shadow) inset; overflow: hidden; }
      .cg-shaker { position: absolute; left: 50%; top: 50%; width: 90px; height: 140px; transform: translate(-50%, -50%); border-radius: 20px 20px 28px 28px; background: linear-gradient(180deg, #b7c1ff, #7f8cff); box-shadow: inset 0 6px 16px #ffffff88, inset 0 -10px 18px #3b4dff55, 0 8px 24px rgba(0,0,0,0.35); }
      .cg-cocktail { position: absolute; left: 50%; top: 50%; width: 120px; height: 120px; transform: translate(-50%, -50%); border-radius: 0 0 16px 16px; background: linear-gradient(180deg, #ffb06b, #ff6fa2); box-shadow: inset 0 10px 18px #ffffff66, 0 10px 24px rgba(0,0,0,0.35); }
      .cg-cocktail::after { content: ""; position: absolute; left: 10px; right: 10px; top: 12px; height: 6px; border-radius: 6px; background: radial-gradient(ellipse at center, #fff 0%, #fff0 70%); opacity: 0.9; animation: cgSparkle 1.2s ease-in-out infinite; }

      @keyframes cgShake { 0% { transform: translate(-50%, -50%) rotate(0deg); } 20% { transform: translate(calc(-50% + 4px), calc(-50% - 2px)) rotate(3deg); } 40% { transform: translate(calc(-50% - 3px), calc(-50% + 2px)) rotate(-3deg); } 60% { transform: translate(calc(-50% + 2px), calc(-50% - 3px)) rotate(2deg); } 80% { transform: translate(calc(-50% - 1px), calc(-50% + 3px)) rotate(-2deg); } 100% { transform: translate(-50%, -50%) rotate(0deg); } }
      @keyframes cgFlyIn { from { transform: translate(var(--sx,0), var(--sy,0)) scale(1); opacity: 1; } to { transform: translate(0,0) scale(0); opacity: 0; } }
      @keyframes cgSparkle { 0%, 100% { opacity: 0.6; } 50% { opacity: 1; } }

      /* Модал результата */
      .cg-modal { position: fixed; inset: 0; background: rgba(0,0,0,0.5); backdrop-filter: blur(6px); display: grid; place-items: center; z-index: 1000; }
      .cg-modal.hidden { display: none; }
      .cg-modal-content { width: min(560px, 92%); background: #101a36; color: var(--trop-text); border: 1px solid #ffffff22; border-radius: 16px; padding: 1.25rem; box-shadow: 0 20px 60px rgba(0,0,0,0.35); text-align: center; animation: fadeInUp .35s ease both; }
      .cg-modal-content h3 { color: #fff; font-size: 1.6rem; margin-bottom: 0.5rem; }
      .cg-modal-content p { margin-bottom: 0.5rem; }
      .cg-modal .cg-cta { display: inline-block; margin: 0.5rem 0.25rem 0; }
      .cg-modal .cg-close { margin: 0.5rem 0.25rem 0; }

      /* Мобильная оптимизация */
      @media (max-width: 640px) {
        .cg-title { font-size: 1.6rem; }
        .cg-grid { grid-template-columns: repeat(3, 1fr); gap: 10px; max-width: 420px; }
        .cg-card { padding: 12px 8px; border-radius: 12px; }
        .cg-stage { height: 180px; }
        .cg-shaker { width: 80px; height: 120px; }
        .cg-cocktail { width: 100px; height: 100px; }
      }

      /* 3) Особенности */
      .features-section { background: #21213A; color: var(--trop-text); }
      .feature-card { background: #101a36; border: 1px solid #ffffff14; }
      .feature-card .card-title { color: #ffffff; }
      .feature-card .card-content { color: #D7DAE0; }
      .section-actions { text-align: center; margin-top: 1rem; }

      /* Темная текстовая панель вместо карточек */
      .feature-panel { background: #0f1832; border: 1px solid #ffffff14; color: var(--trop-text); border-radius: 16px; padding: 1.25rem; box-shadow: 0 20px 60px var(--trop-shadow); max-width: 1000px; margin: 0 auto; }
      .feature-panel .fp-block { font-size: 1.05rem; line-height: 1.65; color: #D7DAE0; opacity: 0.95; }
      .feature-panel .fp-block + .fp-block { margin-top: 1rem; }
      .feature-panel strong { color: #fff; }

      @media (max-width: 640px) {
        .feature-panel { padding: 1rem; border-radius: 14px; }
        .feature-panel .fp-block { font-size: 1rem; }
      }

      /* 4) Как играть */
      .how-to-section { background: #21213A; color: var(--trop-text); }
      .steps { max-width: 760px; margin: 0 auto; counter-reset: step; list-style: none; padding-left: 0; display: grid; gap: 0.75rem; }
      .steps li { position: relative; background: #0f1832; border: 1px solid #ffffff12; border-radius: 12px; padding: 0.9rem 1rem 0.9rem 3rem; color: #E8EAF0; }
      .steps li::before { counter-increment: step; content: counter(step); position: absolute; left: 0.9rem; top: 50%; transform: translateY(-50%); width: 26px; height: 26px; border-radius: 50%; display: grid; place-items: center; color: #fff; font-weight: 800; background: var(--trop-gradient-accent); box-shadow: 0 6px 16px var(--trop-shadow); }

      /* 5) Ингредиенты */
      .ingredients-section { background: #21213A; color: var(--trop-text); }
      .ingredients-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; max-width: 900px; margin: 0 auto; }
      @media (min-width: 768px) { .ingredients-grid { grid-template-columns: repeat(4, 1fr); } }
      .ingredient-card { text-align: center; background: #0f1832; border: 1px solid #ffffff12; border-radius: 14px; padding: 1.1rem; transition: transform .2s ease, box-shadow .2s ease; }
      .ingredient-card:hover { transform: translateY(-3px); box-shadow: 0 12px 28px rgba(0,0,0,0.35); }
      .ingredient-icon { font-size: 1.8rem; margin-bottom: 0.3rem; }
      .ingredient-title { font-weight: 700; color: #fff; margin-bottom: 0.15rem; }
      .ingredient-note { color: #D7DAE0; opacity: 0.85; }

      /* 6) Секреты */
      .secrets-section { background: #21213A; color: var(--trop-text); }
      .cards-3col { display: grid; grid-template-columns: 1fr; gap: 1rem; }
      @media (min-width: 992px) { .cards-3col { grid-template-columns: repeat(3, 1fr); } }
      .secret-card { background: #21213A; border: 1px solid #ffffff14; }
      .secret-card .card-title { 
        color: transparent; 
        background: var(--trop-gradient-accent); 
        -webkit-background-clip: text; 
        background-clip: text; 
      }
      .secret-card .card-content { 
        color: transparent; 
        background: linear-gradient(135deg, #A0E9FF 0%, #FFD166 50%, #FF6F61 100%);
        -webkit-background-clip: text; 
        background-clip: text; 
        display: inline-block; 
      }
      .secret-card__image-wrap { width: 100%; border-radius: 12px; overflow: hidden; margin-bottom: 0.75rem; background: #21213A; border: 1px solid #ffffff10; }
      .secret-card__image { display: block; width: 100%; height: 180px; object-fit: cover; }

      /* 7) Сообщество */
      .community-section { background: #21213A; color: var(--trop-text); }
      .testimonials { display: grid; grid-template-columns: 1fr; gap: 1rem; max-width: 1000px; margin: 0 auto; }
      @media (min-width: 992px) { .testimonials { grid-template-columns: repeat(3, 1fr); } }
      .testimonial { background: linear-gradient(180deg, #0f1832 0%, #0e1730 100%); border: 1px solid #ffffff12; border-radius: 14px; padding: 1.1rem; box-shadow: 0 10px 26px var(--trop-shadow); }
      .testimonial-text { color: #E8EAF0; margin-bottom: 0.5rem; }
      .testimonial-author { color: #ffffff; opacity: 0.9; font-weight: 700; }


      /* 🧹 СТИЛИ ШАПКИ УДАЛЕНЫ - теперь работают только из header.js */












































        display: inline-block;

        border: none !important;

        box-shadow: none !important;

        font-size: 0.85rem;

        line-height: 1.5;

        white-space: nowrap;

      }



      /* 🗑️ СТИЛИ НАВИГАЦИИ УДАЛЕНЫ - создаются вручную */

        box-shadow: 0 2px 8px rgba(25, 118, 210, 0.3) !important;

        transition: all 0.3s ease !important;

      }



      /* Mobile responsiveness */

      /* 🗑️ МОБИЛЬНЫЕ СТИЛИ НАВИГАЦИИ УДАЛЕНЫ - создаются вручную */



      /* Styles for sections without cards */

      .section-nocards {

        background: linear-gradient(135deg, #f6f9fc 0%, #ffffff 100%);

        border-radius: 40px;

        padding: 5rem 3rem;

        margin: 4rem auto;

        max-width: 1400px;

        box-shadow: 0 30px 60px rgba(0,0,0,0.15);

        position: relative;

        overflow: hidden;

      }



      .section-nocards::before {

        content: "";

        position: absolute;

        top: 0;

        left: 0;

        right: 0;

        height: 8px;

        background: linear-gradient(90deg, #FF6B6B, #4ECDC4);

      }



      .section-nocards h2 {

        font-size: 3rem;

        font-weight: 900;

        text-align: center;

        margin-bottom: 3rem;

        background: linear-gradient(45deg, #2C3E50, #3498DB);

        -webkit-background-clip: text;

        -webkit-text-fill-color: transparent;

        text-transform: uppercase;

        letter-spacing: 3px;

        font-family: "Montserrat", sans-serif;

        text-shadow: 3px 3px 6px rgba(0,0,0,0.2);

      }



      .section-nocards p {

        font-size: 1.8rem;

        text-align: center;

        margin-bottom: 5rem;

        color: #34495E;

        font-family: "Playfair Display", serif;

        font-style: italic;

        line-height: 1.8;

        max-width: 800px;

        margin: 0 auto 5rem;

        padding: 0 1.5rem;

      }



      /* Styles for blocks in sections without cards */

      .section-nocards .service-block {

        background: rgba(255, 255, 255, 0.95);

        border-radius: 30px;

        padding: 4rem;

        box-shadow: 0 15px 45px rgba(0,0,0,0.08);

        border: 2px solid rgba(0,0,0,0.08);

        transition: all 0.6s cubic-bezier(0.4, 0, 0.2, 1);

        transform: translateY(0);

        margin-bottom: 4rem;

      }



      .section-nocards .service-block:hover {

        transform: translateY(-20px);

        box-shadow: 0 30px 60px rgba(0,0,0,0.15);

        border-color: #4ECDC4;

        border-width: 3px;

      }



      .section-nocards .service-block h3 {

        font-size: 2.8rem;

        font-weight: 800;

        margin-bottom: 2.5rem;

        color: #2C3E50;

        font-family: "Montserrat", sans-serif;

        border-bottom: 4px solid #4ECDC4;

        padding-bottom: 1.5rem;

      }



      .section-nocards .service-block p {

        font-size: 1.5rem;

        line-height: 2;

        color: #34495E;

        font-family: "Playfair Display", serif;

        white-space: pre-wrap;

        text-align: left;

        margin: 0;

      }



      /* Styles for sections without cards with images */

      .section-nocards.with-image {

        display: flex;

        flex-direction: row;

        align-items: flex-start;

        gap: 4rem;

      }



      .section-nocards.with-image .content {

        flex: 1;

      }



      .section-nocards.with-image .image-container {

        flex: 0 0 40%;

        position: relative;

        border-radius: 20px;

        overflow: hidden;

        box-shadow: 0 20px 40px rgba(0,0,0,0.15);

        transition: all 0.4s ease;

      }



      .section-nocards.with-image .image-container:hover {

        transform: translateY(-10px);

        box-shadow: 0 30px 60px rgba(0,0,0,0.2);

      }



      .section-nocards.with-image .image-container img {

        width: 100%;

        height: auto;

        display: block;

        transition: transform 0.4s ease;

      }



      .section-nocards.with-image .image-container:hover img {

        transform: scale(1.05);

      }



      /* Animations */

      @keyframes fadeInUp {

        from {

          opacity: 0;

          transform: translateY(20px);

        }

        to {

          opacity: 1;

          transform: translateY(0);

        }

      }



      .section-nocards .service-block {

        animation: fadeInUp 0.7s ease-out forwards;

      }



      /* Responsiveness */

      @media (max-width: 768px) {

        .section-nocards {

          padding: 3rem 1.5rem;

          margin: 2rem auto;

          border-radius: 20px;

        }



        .section-nocards h2 {

          font-size: 2rem;

          margin-bottom: 2rem;

        }



        .section-nocards p {

          font-size: 1.2rem;

          margin-bottom: 3rem;

        }



        .section-nocards .service-block {

          padding: 2rem;

          margin-bottom: 2rem;

        }



        .section-nocards .service-block h3 {

          font-size: 1.8rem;

          margin-bottom: 1.5rem;

        }



        .section-nocards .service-block p {

          font-size: 1.1rem;

          line-height: 1.6;

        }



        .section-nocards.with-image {

          flex-direction: column;

        }



        .section-nocards.with-image .image-container {

          flex: 0 0 100%;

          margin-bottom: 2rem;

        }

      }



      /* Old header styles removed - now using header.js */



      body {

        line-height: 1.6;

        color: #333;

        min-height: 100vh;

        display: flex;

        flex-direction: column;

        overflow-x: hidden;

        margin: 0;

        padding: 0;

        width: 100%;

      }



      /* СТИЛИ ДЛЯ АКТИВНОЙ ССЫЛКИ УДАЛЕНЫ - теперь в header.js */

      

      /* Styles for image gallery */

      .section-gallery {

        position: relative;

        overflow: hidden;

        border-radius: 12px;

        box-shadow: 0 4px 12px rgba(0,0,0,0.15);

      }

      

      .gallery-img {

        width: 100%;

        height: 100%;

        object-fit: cover;

        transition: opacity 0.5s ease;

      }

      

      .gallery-dot {

        cursor: pointer;

        transition: background-color 0.3s ease;

      }

      

      /* Styles for images inside sections with text wrapping */

      section p + .section-gallery,

      section h2 + .section-gallery {

        margin-top: 1rem;

        margin-bottom: 1rem;

      }



      /* Styles for section borders */

      section {

        position: relative;

        padding: 6rem 0;

        margin: 2rem 0;

        overflow: hidden;

      }



      section:first-child {

        margin-top: 0;

      }



      section:last-child {

        margin-bottom: 0;

      }








      /* СТИЛИ MAIN С ОТСТУПОМ ДЛЯ ШАПКИ УДАЛЕНЫ - теперь в header.js */



      .hero {

        height: 100vh;

        display: flex;

        align-items: center;

        justify-content: center;

        text-align: center;

        padding: 0 2rem;

        position: relative;

        overflow: hidden;

      }



      .hero {

        position: relative;

        overflow: hidden;

      }



      .hero-bg-animation {

        position: absolute;

        top: -5%;

        left: -5%;

        width: 110%;

        height: 110%;

        background-size: cover;

        background-position: center;

        background-repeat: no-repeat;

        z-index: -1;

        animation: heroBackgroundZoom 15s ease-in-out infinite;

      }



      @keyframes heroBackgroundZoom {

        0% { 

          transform: scale(1);

        }

        50% { 

          transform: scale(1.05);

        }

        100% { 

          transform: scale(1);

        }

      }



      @keyframes zoomIn {

        0% {

          transform: scale(1);

        }

        100% {

          transform: scale(1.1);

        }

      }



      .hero-overlay {

        position: absolute;

        top: 0;

        left: 0;

        right: 0;

        bottom: 0;

        z-index: 1;

        animation: fadeIn 1s ease-in-out;

      }



      @keyframes fadeIn {

        from {

          opacity: 0;

        }

        to {

          opacity: 1;

        }

      }



      .hero-content {

        max-width: 800px;

        z-index: 2;

        position: relative;

        animation: slideUp 1s ease-out;

      }



      @keyframes slideUp {

        from {

          transform: translateY(50px);

          opacity: 0;

        }

        to {

          transform: translateY(0);

          opacity: 1;

        }

      }



      .hero h1 {

        font-size: 2.5rem;

        margin-bottom: 0.5rem;

        line-height: 1.1;

        text-shadow: 2px 2px 4px rgba(0,0,0,0.3);

        animation: none !important;

      }



      .hero p {

        font-size: 1.2rem;

        margin-bottom: 1rem;

        line-height: 1.3;

        max-width: 600px;

        margin-left: auto;

        margin-right: auto;

        text-shadow: 1px 1px 2px rgba(0,0,0,0.3);

        animation: none !important;

      }



      .hero button {

        padding: 1rem 2rem;

        font-size: 1.1rem;

        border: none;

        border-radius: 4px;

        cursor: pointer;

        transition: all 0.3s ease;

        box-shadow: 0 2px 4px rgba(0,0,0,0.2);

        animation: none !important;

      }



      .hero button:hover {

        transform: translateY(-2px);

        box-shadow: 0 4px 8px rgba(0,0,0,0.3);

      }



      .section {

        padding: 6rem 1rem;

        width: 100%;

        box-sizing: border-box;

        position: relative;

        overflow: hidden;

        background-color: var(--section-background-color, transparent);

        z-index: 1;

      }



      .section[data-show-background="false"] {

        background-color: transparent !important;

        background-image: none !important;

      }



      .section[data-show-background="false"] .section-background-blur,

      .section[data-show-background="false"] .section-overlay {

        display: none !important;

      }



      .section-background-blur {

        position: absolute;

        top: 0;

        left: 0;

        right: 0;

        bottom: 0;

        background-size: cover;

        background-position: center;

        z-index: 0;

        animation: zoomIn 20s ease-in-out infinite alternate;

      }



      .section-container {

        position: relative;

        z-index: 2;

        max-width: 1200px;

        margin: 0 auto;

        padding: 0 1rem;

      }



      .section-header {

        text-align: center;

        margin-bottom: 3rem;

      }

      .section-header h2 {

        font-size: 2.5rem;

        margin-bottom: 1rem;

        position: relative;

      }



      .section-header h2::after {

        content: '';

        position: absolute;

        bottom: -10px;

        left: 50%;

        transform: translateX(-50%);

        width: 50px;

        height: 3px;

        background-color: #1976d2;

        transition: width 0.3s ease-in-out;

      }



      .section-header h2:hover::after {

        width: 100px;

      }



      .section-header p {

        font-size: 1.2rem;

        max-width: 800px;

        margin: 0 auto;

        line-height: 1.6;

      }



      .about-section {

        display: flex;

        align-items: flex-start;

        gap: 2rem;

        padding: 2rem;

        position: relative;

        border-radius: 16px;

        background: linear-gradient(145deg, #ffffff, #f5f5f5);

        box-shadow: 0 4px 20px rgba(0,0,0,0.1);

      }





      .about-content {

        flex: 1;

        display: flex;

        flex-direction: column;

        gap: 1rem;

        padding-left: 1rem;

        text-align: left;

        position: relative;

      }



      .about-content::before {

        content: "";

        position: absolute;

        left: 0;

        top: 0;

        bottom: 0;

        width: 4px;

        background: linear-gradient(to bottom, #1976d2, #42a5f5);

        border-radius: 2px;

      }



      .about-content h2 {

        font-size: 2.5rem;

        font-weight: 700;

        margin-bottom: 1rem;

        text-align: left;

        position: relative;

      }



      .about-content h2::after {

        content: "";

        position: absolute;

        bottom: -8px;

        left: 0;

        width: 60px;

        height: 4px;

        background: linear-gradient(to right, #1976d2, #42a5f5);

        border-radius: 2px;

      }



      .about-content p {

        font-size: 1.1rem;

        line-height: 1.6;

        text-align: left;

      }



      .section-image {

        width: 100%;

        margin: 2rem auto;

        text-align: center;

        max-width: 800px;

      }



      .section-image img {

        width: 100%;

        height: auto;

        border-radius: 12px;

        box-shadow: 0 4px 12px rgba(0,0,0,0.15);

        transition: transform 0.3s ease;

      }



      .section-image img:hover {

        transform: scale(1.02);

      }



      @media (max-width: 768px) {

        .about-section {

          flex-direction: column;

        }

        

        .about-content {

          padding-left: 0;

          padding-top: 1rem;

        }

      }



      .section h2 {

        font-size: 2.5rem;

        margin-bottom: 1rem;

        text-align: center;

        position: relative;

      }



      .section h2::after {

        content: '';

        position: absolute;

        bottom: -10px;

        left: 50%;

        transform: translateX(-50%);

        width: 50px;

        height: 3px;

        background-color: #1976d2;

        transition: width 0.3s ease-in-out;

      }

      .section h2:hover::after {

        width: 100px;

      }

      .section p {

        font-size: 1.1rem;

        margin-bottom: 3rem;

        text-align: center;

        max-width: 800px;

        margin-left: auto;

        margin-right: auto;

      }



      /* Container for cards */

      .cards-container {

        display: grid;

        grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));

        gap: 2rem;

        padding: 1rem;

        position: relative;

        z-index: 2;

        pointer-events: auto;

      }



      @media (max-width: 1024px) {

        .cards-container {

          grid-template-columns: repeat(2, 1fr);

        }

      }



      @media (max-width: 768px) {

        .cards-container {

          grid-template-columns: 1fr;

        }

      }



      /* Basic card styles with animations */

      .card {

        transition: all 0.3s ease-in-out;

        padding: 1.5rem;

        display: flex;

        flex-direction: column;

        background-color: #ffffff;

        width: 100%;

        max-width: 280px;

        border-radius: 12px;

        overflow: hidden;

        height: 100%;

        margin: 1rem;

        position: relative;

        z-index: 2;

      }



      /* Service image styles for image cards */

      .service-image {

        width: 100%;

        overflow: hidden;

        position: relative;

        background: #f8f9fa;

        display: flex;

        align-items: center;

        justify-content: center;

        border-radius: 8px;

      }



      .service-image img {

        width: 100%;

        height: 100%;

        object-fit: cover;

        transition: transform 0.3s ease;

      }



      .service-image:hover img {

        transform: scale(1.05);

      }



      /* Card headings and text */

      .card-title {

        color: #1a237e;

        margin-bottom: 0.7rem;

        font-size: 1.5rem;

        font-weight: 600;

        transition: all 0.3s ease-in-out;

      }



      .card-text {

        color: #455a64;

        font-size: 1rem;

        line-height: 1.6;

        transition: all 0.3s ease-in-out;

      }



      /* Simple Card */

      .card.simple {

        background-color: transparent;

        border: 3px solid #e0e0e0;

      }



      .card.simple:hover {

        transform: scale(1.2);

        z-index: 3;

      }



      /* Elevated Card */

      .card.elevated {

        background-color: #ffffff;

        border: 3px solid #e0e0e0;

        box-shadow: 0 2px 4px rgba(0,0,0,0.1);

      }



      .card.elevated:hover {

        transform: rotate(3deg) scale(1.05);

        box-shadow: 0 8px 16px rgba(0,0,0,0.2);

        z-index: 3;

      }



      .card.elevated:hover .card-title {

        color: #1976d2;

        transform: translateX(4px);

      }



      /* Outlined Card */

      .card.outlined {

        background: linear-gradient(to right, #e8f5e9, #c8e6c9);

        border: 3px solid #e0e0e0;

      }



      .card.outlined:hover {

        transform: skew(-5deg) translateY(-5px);

        border-color: #1976d2;

        z-index: 3;

      }



      .card.outlined:hover .card-title {

        color: #1976d2;

      }



      /* Accent Card */

      .card.accent {

        background-color: #ffffff;

        border: 3px solid #e0e0e0;

        position: relative;

      }



      .card.accent::before {

        content: "";

        position: absolute;

        left: 0;

        top: 0;

        bottom: 0;

        width: 4px;

        background: linear-gradient(to bottom, #1976d2, #42a5f5);

        transition: width 0.3s ease-in-out;

        z-index: 1;

      }



      .card.accent:hover {

        transform: translateX(10px) translateY(-5px);

        box-shadow: 0 4px 12px rgba(0,0,0,0.15);

        z-index: 3;

      }



      .card.accent:hover::before {

        width: 6px;

      }



      .card.accent:hover .card-title {

        color: #1976d2;

      }



      /* Gradient Card */

      .card.gradient {

        background: linear-gradient(135deg, #ffffff 0%, #f5f5f5 100%);

        border: 3px solid #e0e0e0;

        box-shadow: 0 2px 4px rgba(0,0,0,0.1);

        transition: all 0.3s ease-in-out;

        position: relative;

        z-index: 2;

      }



      .card.gradient:hover {

        transform: scale(1.2);

        box-shadow: 0 8px 16px rgba(0,0,0,0.2);

        z-index: 3;

      }



      .card.gradient:hover h3 {

        color: #1976d2;

      }



      .card.gradient:hover p {

        color: #455a64;

      }



      /* Container for sections */

      .section-container {

        max-width: 1200px;

        margin: 0 auto;

        padding: 0 2rem;

      }



      /* Section heading */

      .section-header {

        text-align: center;

        margin-bottom: 4rem;

      }



      .section-header h2 {

        font-size: 2.5rem;

        margin-bottom: 1rem;

        position: relative;

        display: inline-block;

      }



      .section-header p {

        font-size: 1.2rem;

        max-width: 800px;

        margin: 0 auto;

        line-height: 1.6;

      }



      @media (max-width: 768px) {

        .contact-grid {

          grid-template-columns: 1fr !important;

          gap: 1.5rem !important;

        }

      }



      .section-image img:hover {

        transform: scale(1.02);

      }



      .image-upload-control {

        margin-top: 1rem;

        display: flex;

        justify-content: flex-start;

      }







      @keyframes fadeInSection {

        from {

          opacity: 0;

          transform: translateY(20px);

        }

        to {

          opacity: 1;

          transform: translateY(0);

        }

      }



      .upload-button {

        display: flex;

        align-items: center;

        gap: 0.5rem;

        padding: 0.5rem 1rem;

        background-color: #1976d2;

        color: white;

        border: none;

        border-radius: 4px;

        cursor: pointer;

        transition: background-color 0.3s ease;

      }



      .upload-button:hover {

        background-color: #1565c0;

      }



      .upload-button i {

        font-size: 1.2rem;

      }






      .cards-container.cards-2 {

        max-width: 1200px;

        margin-left: auto;

        margin-right: auto;

        display: grid;

        grid-template-columns: repeat(2, 1fr);

        gap: 2rem;

      }

      .cards-container.cards-3 {

        max-width: 1200px;

        margin-left: auto;

        margin-right: auto;

        display: grid;

        grid-template-columns: repeat(3, 1fr);

        gap: 2rem;

      }

      

      @media (max-width: 1024px) {

        .cards-container.cards-2,

        .cards-container.cards-3 {

          grid-template-columns: 1fr;

        }

      }

      

      .cards-container.cards-2 .card,

      .cards-container.cards-3 .card {

        max-width: 100%;

        width: 100%;

      }



      .card, .section-image img, .about-image img {

        opacity: 0;

        transform: translateY(40px);

        transition: opacity 0.8s cubic-bezier(0.4,0,0.2,1), transform 0.8s cubic-bezier(0.4,0,0.2,1);

      }

      .card.animate-on-scroll, .section-image img.animate-on-scroll, .about-image img.animate-on-scroll {

        opacity: 1;

        transform: translateY(0);

      }





      @media (max-width: 1024px) {

        .no-card-section {

          flex-direction: column;

          align-items: center;

        }

        

        .no-card-section .about-image {

          min-width: 100%;

          max-width: 500px;

          margin: 0 auto 2rem auto;

          order: -1;

        }

        

        .no-card-section .about-content {

          width: 100%;

          text-align: center;

        }

        

        .no-card-section .about-content h2,

        .no-card-section .about-content p,

        .no-card-section .about-content div {

          text-align: center !important;

        }

        

        .no-card-section .about-content div br {

          display: none;

        }

        

        .no-card-section .about-content div strong {

          display: block;

          margin-top: 1rem;

          margin-bottom: 0.5rem;

        }

      }



      /* Styles for text in sections */

      .section h2 {

        font-size: 2.5rem;

        font-weight: 700;

        line-height: 1.2;

        letter-spacing: -0.01562em;

        text-transform: none;

        margin-bottom: 1.5rem;

        text-align: center;

        color: inherit;

        word-wrap: break-word;

      }



      .section p {

        font-size: 1.25rem;

        font-weight: 400;

        line-height: 1.5;

        letter-spacing: 0.00938em;

        text-align: center;

        margin-bottom: 2rem;

        color: inherit;

        max-width: 100%;

        word-wrap: break-word;

      }



      @media (max-width: 600px) {

        .section h2 {

          font-size: 2rem;

        }

        .section p {

          font-size: 1rem;

        }

      }



      @media (max-width: 960px) {

        .section h2 {

          font-size: 2.25rem;

        }

        .section p {

          font-size: 1.1rem;

        }

      }



      /* Old multi-page header styles removed - now using header.js */















      /* Hero Section for index page */

      .hero-section {

        background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);

        color: white;

        padding: 4rem 0;

        text-align: center;

      }



      .hero-section .container {

        max-width: 1200px;

        margin: 0 auto;

        padding: 0 1rem;

      }



      .hero-title {

        font-size: 3rem;

        font-weight: 700;

        margin-bottom: 1rem;

      }



      .hero-subtitle {

        font-size: 1.5rem;

        font-weight: 300;

        margin-bottom: 1rem;

        opacity: 0.9;

      }



      .hero-description {

        font-size: 1.2rem;

        margin-bottom: 2rem;

        opacity: 0.8;

      }



      .hero-button {

        display: inline-block;

        background: #ff6b6b;

        color: white;

        padding: 1rem 2rem;

        text-decoration: none;

        border-radius: 50px;

        font-weight: 600;

        transition: all 0.3s ease;

      }



      .hero-button:hover {

        background: #ff5252;

        transform: translateY(-2px);

        box-shadow: 0 5px 15px rgba(255, 107, 107, 0.4);

      }



      /* Sections Preview Grid */

      .sections-preview {

        padding: 4rem 0;

      }



      .sections-preview .container {

        max-width: 1200px;

        margin: 0 auto;

        padding: 0 1rem;

      }



      .sections-preview h2 {

        text-align: center;

        font-size: 2.5rem;

        margin-bottom: 3rem;

        color: #2c3e50;

      }



      .preview-grid {

        display: grid;

        grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));

        gap: 2rem;

      }



      .preview-card {

        background: white;

        border-radius: 15px;

        padding: 2rem;

        box-shadow: 0 10px 30px rgba(0,0,0,0.1);

        transition: all 0.3s ease;

        border: 1px solid #e9ecef;

      }



      .preview-card:hover {

        transform: translateY(-10px);

        box-shadow: 0 20px 40px rgba(0,0,0,0.15);

      }



      .preview-card h3 {

        color: #2c3e50;

        font-size: 1.5rem;

        margin-bottom: 1rem;

      }



      .preview-card p {

        color: #6c757d;

        line-height: 1.6;

        margin-bottom: 1.5rem;

      }



      .preview-link {

        display: inline-block;

        background: #007bff;

        color: white;

        padding: 0.75rem 1.5rem;

        text-decoration: none;

        border-radius: 8px;

        font-weight: 500;

        transition: all 0.3s ease;

      }



      .preview-link:hover {

        background: #0056b3;

        transform: translateY(-2px);

      }

      /* Active nav link fallback (header styles are primary in header.js) */
      .nav-link.active {
        background: #ffd300 !important;
        color: #0e1a2b !important;
        font-weight: 700 !important;
        border-radius: 20px !important;
        padding: 0.5rem 1rem !important;
        box-shadow: 0 2px 8px rgba(255, 211, 0, 0.25) !important;
        transition: all 0.2s ease !important;
      }



      /* Стили для выделенного раздела */

      .featured-section {

        position: relative;

        overflow: hidden;

      }



      .featured-content {

        position: relative;

        z-index: 2;

      }



      .featured-image {

        border-radius: 15px;

        overflow: hidden;

        box-shadow: 0 15px 35px rgba(0,0,0,0.1);

      }



      .featured-image img {

        width: 100%;

        height: auto;

        display: block;

        transition: transform 0.3s ease;

      }



      .featured-image:hover img {

        transform: scale(1.05);

      }



      .featured-button:hover {

        transform: translateY(-2px);

        box-shadow: 0 8px 25px rgba(25, 118, 210, 0.3);

      }



      /* Стили для разных режимов отображения разделов */

      .sections-preview.mode-cards .preview-grid {

        display: grid;

        grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));

        gap: 2rem;

      }







      /* Стили для превью контактов */

      .contact-preview {

        position: relative;

        overflow: hidden;

      }



      .contact-preview-content {

        position: relative;

        z-index: 2;

      }



      .contact-preview-button:hover {

        transform: translateY(-2px);

        box-shadow: 0 8px 25px rgba(255,255,255,0.2);

      }



      /* Адаптивность для новых режимов */

      @media (max-width: 768px) {

        .featured-content {

          grid-template-columns: 1fr !important;

          gap: 2rem !important;
        }

        .featured-section .container {
          padding: 0 1rem !important;
        }

        .featured-text h2 {
          font-size: 2rem !important;
          text-align: center !important;
        }

        .featured-text p {
          font-size: 1.1rem !important;
          text-align: center !important;
        }

        .featured-elements {
          text-align: center !important;
        }

        .featured-actions {
          text-align: center !important;
        }



        .sections-preview.mode-cards .preview-grid {

          grid-template-columns: 1fr;

        }



        .contact-preview-info {

          flex-direction: column;

          gap: 1rem;

        }


        .contact-preview-content {
          grid-template-columns: 1fr !important;
          gap: 2rem !important;
        }
      }



      /* Section Content Pages */

      .section-content {

        padding: 2rem 0;

      }



      .section-content .container {

        max-width: 1200px;

        margin: 0 auto;

        padding: 0 1rem;

      }



      .section-title {

        font-size: 2.5rem;

        color: #2c3e50;

        margin-bottom: 1rem;

        text-align: center;

      }



      .section-description {

        font-size: 1.2rem;

        color: #6c757d;

        text-align: center;

        margin-bottom: 3rem;

        line-height: 1.6;

      }



      .cards-grid {

        display: grid;

        grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));

        gap: 2rem;

      }



      .cards-grid .card {

        background: white;

        border-radius: 15px;

        padding: 2rem;

        box-shadow: 0 10px 30px rgba(0,0,0,0.1);

        transition: all 0.3s ease;

        border: 1px solid #e9ecef;

      }



      .cards-grid .card:hover {

        transform: translateY(-5px);

        box-shadow: 0 15px 35px rgba(0,0,0,0.15);

      }



      .card-title {

        color: #2c3e50;

        font-size: 1.3rem;

        margin-bottom: 1rem;

      }



      .card-content {

        color: #6c757d;

        line-height: 1.6;

      }



      /* Contact Section */

      .contact-section {

        padding: 2rem 0;

      }



      .contact-section .container {

        max-width: 800px;

        margin: 0 auto;

        padding: 0 1rem;

      }



      .contact-section h1 {

        font-size: 2.5rem;

        color: #2c3e50;

        text-align: center;

        margin-bottom: 2rem;

      }



      .contact-section p {

        font-size: 1.2rem;

        color: #6c757d;

        text-align: center;

        margin-bottom: 2rem;

        line-height: 1.6;

      }



      .contact-info {

        background: inherit; /* Наследует фон от родительского контейнера */

        border-radius: 15px;

        padding: 2rem;

        box-shadow: 0 4px 12px rgba(0,0,0,0.1), 0 1px 3px rgba(0,0,0,0.08);

        border: 1px solid rgba(255,255,255,0.1);

      }



      .contact-info p {

        margin-bottom: 1rem;

        text-align: left;

        font-size: 1.1rem;

      }



      .contact-info strong {

        color: #2c3e50;

      }



      /* Legal Content */

      .legal-content {

        padding: 2rem 0;

      }



      .legal-content .container {

        max-width: 900px;

        margin: 0 auto;

        padding: 0 1rem;

      }



      .legal-content h1 {

        font-size: 2.5rem;

        color: #2c3e50;

        text-align: center;

        margin-bottom: 2rem;

      }



      .legal-content .content {

        background: white;

        border-radius: 15px;

        padding: 2rem;

        box-shadow: 0 10px 30px rgba(0,0,0,0.1);

        border: 1px solid #e9ecef;

        line-height: 1.6;

        color: #495057;

      }

      /* МОБИЛЬНЫЕ СТИЛИ ШАПКИ УДАЛЕНЫ - теперь в header.js */

      @media (max-width: 768px) {















        .hero-title {

          font-size: 2rem;

        }



        .hero-subtitle {

          font-size: 1.2rem;

        }



        .sections-preview h2 {

          font-size: 2rem;

        }



        .preview-grid {

          grid-template-columns: 1fr;

        }



        .section-title {

          font-size: 2rem;

        }



        .cards-grid {

          grid-template-columns: 1fr;

        }

      }



      /* Enhanced section styles from EnhancedSectionEditor */

      



      /* Animation keyframes */

      @keyframes fadeIn {

        from { opacity: 0; }

        to { opacity: 1; }

      }

      

      @keyframes slideInLeft {

        from { transform: translateX(-100%); opacity: 0; }

        to { transform: translateX(0); opacity: 1; }

      }

      

      @keyframes slideInRight {

        from { transform: translateX(100%); opacity: 0; }

        to { transform: translateX(0); opacity: 1; }

      }

      

      @keyframes slideInUp {

        from { transform: translateY(100%); opacity: 0; }

        to { transform: translateY(0); opacity: 1; }

      }

      

      @keyframes slideInDown {

        from { transform: translateY(-100%); opacity: 0; }

        to { transform: translateY(0); opacity: 1; }

      }

      

      @keyframes zoomIn {

        from { transform: scale(0.8); opacity: 0; }

        to { transform: scale(1); opacity: 1; }

      }

      

      @keyframes bounce {

        0%, 20%, 53%, 80%, 100% { transform: translateY(0); }

        40%, 43% { transform: translateY(-20px); }

        70% { transform: translateY(-10px); }

        90% { transform: translateY(-4px); }

      }

      

      @keyframes pulse {

        0% { transform: scale(1); }

        50% { transform: scale(1.05); }

        100% { transform: scale(1); }

      }

      

      /* Chart Components */

      .chart-component {

        animation: fadeInUp 0.6s ease-out;

      }

      

      .chart-component canvas {

        border-radius: 8px;

        box-shadow: 0 2px 8px rgba(0,0,0,0.1);

      }

      

      .chart-component div[id^="chart-"] {

        border-radius: 8px;

        box-shadow: 0 2px 8px rgba(0,0,0,0.1);

      }

      

      @keyframes fadeInUp {

        from {

          opacity: 0;

          transform: translateY(30px);

        }

        to {

          opacity: 1;

          transform: translateY(0);

        }

      }

      /* Общие стили для счетчиков */
      .animated-counter {
        text-align: center !important;
        width: 100% !important;
        max-width: 100% !important;
        overflow: hidden !important;
        box-sizing: border-box !important;
      }
      
      .counter-description {
        word-break: break-word !important;
        overflow-wrap: break-word !important;
        hyphens: auto !important;
        text-align: center !important;
        width: 100% !important;
        max-width: 100% !important;
        box-sizing: border-box !important;
      }

      /* Мобильные стили для счетчиков */
      @media (max-width: 768px) {
        .animated-counter {
          text-align: center !important;
          max-width: 100% !important;
          overflow: hidden !important;
          width: 100% !important;
          margin: 0 auto !important;
          padding: 1rem !important;
          box-sizing: border-box !important;
        }
        
        .counter-container {
          width: 100% !important;
          max-width: 100% !important;
          overflow: hidden !important;
          text-align: center !important;
          margin: 0 auto !important;
        }
        
        .counter-number-wrapper {
          width: 100% !important;
          max-width: 100% !important;
          justify-content: center !important;
          flex-wrap: wrap !important;
          text-align: center !important;
        }
        
        .counter {
          display: inline-block !important;
          text-align: center !important;
          width: auto !important;
          max-width: 100% !important;
        }
        
        .counter-suffix {
          display: inline-block !important;
          text-align: center !important;
          max-width: 100% !important;
        }
        
        .counter-description {
          text-align: center !important;
          width: 100% !important;
          max-width: 100% !important;
          margin: 0.5rem auto !important;
          display: block !important;
          word-break: break-word !important;
          overflow-wrap: break-word !important;
          hyphens: auto !important;
          line-height: 1.4 !important;
          padding: 0 5px !important;
          box-sizing: border-box !important;
        }
        
        .content-element.animated-counter {
          text-align: center !important;
          width: 100% !important;
          max-width: 100% !important;
          margin: 0 auto !important;
        }
      }

    