

      /* Base styles */
      :root {
        --bg: #041C1A;
        --surface: #082E27;
        --text: #A3F7BF;
        --text-muted: rgba(163, 247, 191, 0.75);
        --primary: #00C78C;
        --accent-neon: #00FF9C;
        --contrast: #00E5FF;
        --accent-rare: #8B5CF6;
        --warning: #FFC857;
        --error: #FF4D6D;
        --border: rgba(163, 247, 191, 0.2);
        --disabled: rgba(163, 247, 191, 0.5);
        --glow-weak: rgba(0, 255, 156, 0.3);
        --glow-strong: rgba(0, 255, 156, 0.6);
      }

      * {

        margin: 0;

        padding: 0;

        box-sizing: border-box;

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

      }


/* Readability overrides on dark background */
/* Делает текст более контрастным в разделах без светлых карточек */
.section p,
.section li,
.section h1,
.section h2,
.section h3,
.section h4,
.section h5,
.section h6 {
  color: var(--text);
}

/* Контактные страницы: абзацы были серыми */
.contact-section p,
.contact-info p { color: var(--text); }


      /* 🧹 СТИЛИ ШАПКИ УДАЛЕНЫ - теперь работают только из 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;

        }

      /* Secret Ingredient mini-game */
      .secret-ingredient {
        background: linear-gradient(180deg, rgba(0,0,0,0.02) 0%, rgba(0,0,0,0.06) 100%);
      }

      .secret-subtitle {
        opacity: 0.9;
      }

      /* Neon bar ambient for start screen */
      .secret-ambient {
        position: relative;
        height: 160px;
        border-radius: 18px;
        margin: 0 auto;
        max-width: 920px;
        background:
          radial-gradient(800px 140px at 50% 120%, rgba(255,255,255,0.08), rgba(0,0,0,0) 60%),
          linear-gradient(135deg, rgba(118,75,162,0.25), rgba(102,126,234,0.25));
        border: 1px solid rgba(255,255,255,0.12);
        box-shadow: 0 20px 40px rgba(0,0,0,0.12), inset 0 0 40px rgba(102,126,234,0.25);
        overflow: hidden;
      }
      .secret-ambient::before,
      .secret-ambient::after {
        content: "";
        position: absolute;
        inset: -20% -10% auto -10%;
        height: 120%;
        background: repeating-linear-gradient(90deg, rgba(255,255,255,0.08) 0 2px, transparent 2px 8px);
        filter: blur(2px);
        opacity: 0.35;
        animation: ambientScan 8s linear infinite;
      }
      .secret-ambient::after { animation-duration: 12s; opacity: 0.25; }
      @keyframes ambientScan {
        from { transform: translateX(-5%); }
        to { transform: translateX(5%); }
      }

      .secret-stage {
        position: relative;
        max-width: 920px;
        margin: 0 auto 1.25rem auto;
        height: 140px;
        border-radius: 18px;
        overflow: hidden;
        background: radial-gradient(1200px 200px at 50% 120%, rgba(255,255,255,0.08), rgba(0,0,0,0) 60%),
                    linear-gradient(135deg, rgba(25,118,210,0.12), rgba(255,255,255,0.06));
        border: 1px solid rgba(255,255,255,0.12);
        box-shadow: 0 20px 40px rgba(0,0,0,0.1);
      }

      .secret-cocktail {
        position: absolute;
        inset: 0;
        background-image: url('assets/images/hero.jpg');
        background-size: cover;
        background-position: center;
        filter: blur(6px) saturate(1.05);
        transform: scale(1.05);
        opacity: 0.45;
      }

      .secret-cocktail::before {
        /* Glass silhouette */
        content: "";
        position: absolute;
        left: 50%;
        top: 50%;
        transform: translate(-50%, -50%);
        width: 140px;
        height: 160px;
        border-radius: 10px 10px 26px 26px;
        box-shadow: inset 0 0 0 2px rgba(255,255,255,0.55), inset 0 0 40px rgba(255,255,255,0.25);
        background: linear-gradient(180deg, rgba(255,255,255,0.08), rgba(255,255,255,0.02));
        backdrop-filter: blur(2px);
      }

      .cocktail-glow {
        position: absolute;
        left: 50%;
        top: 58%;
        transform: translateX(-50%);
        width: 110px;
        height: 60px;
        border-radius: 50%;
        filter: blur(14px);
        background: radial-gradient(circle at 50% 50%, rgba(255,255,255,0.7), rgba(255,255,255,0) 60%);
        animation: glowPulse 2.6s ease-in-out infinite;
      }
      .cocktail-glow.success { background: radial-gradient(circle at 50% 50%, rgba(82,196,26,0.95), rgba(82,196,26,0) 60%); filter: blur(18px); }
      @keyframes glowPulse { 0%,100%{opacity:.5;} 50%{opacity:1;} }

      .cocktail-bubbles {
        position: absolute;
        left: 50%;
        top: 54%;
        width: 0;
        height: 0;
      }
      .cocktail-bubbles::before,
      .cocktail-bubbles::after {
        content: "";
        position: absolute;
        left: -40px;
        width: 6px;
        height: 6px;
        border-radius: 50%;
        background: rgba(255,255,255,0.9);
        animation: bubbleUp 3s ease-in-out infinite;
      }
      .cocktail-bubbles::after { left: 20px; animation-duration: 2.4s; animation-delay: .5s; }
      @keyframes bubbleUp {
        0% { transform: translate(-10px, 24px) scale(.8); opacity: .0; }
        15% { opacity: .9; }
        100% { transform: translate(10px, -40px) scale(1.3); opacity: 0; }
      }

      .ingredients-grid {
        display: grid;
        grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
        gap: 1.25rem;
        max-width: 1000px;
        margin: 0 auto;
      }

      .ingredient-option {
        display: flex;
        align-items: center;
        justify-content: flex-start;
        gap: 14px;
        width: 100%;
        min-height: 96px;
        background: #ffffff;
        color: #1f2937;
        border: 1px solid #e5e7eb;
        border-radius: 18px;
        padding: 1.1rem 1.2rem;
        font-size: 1.05rem;
        font-weight: 800;
        cursor: pointer;
        transition: transform 0.18s ease, box-shadow 0.18s ease, border-color 0.18s ease, background-color 0.18s ease;
        box-shadow: 0 10px 22px rgba(0,0,0,0.06);
        text-align: left;
        user-select: none;
        appearance: none;
        -webkit-appearance: none;
        outline: none;
      }

      .ingredient-option:hover {
        transform: translateY(-4px) scale(1.01);
        box-shadow: 0 18px 34px rgba(0,0,0,0.12);
        border-color: #d1d5db;
        background-color: #fcfcfd;
      }
      .ingredient-option:focus-visible {
        box-shadow: 0 0 0 3px rgba(25,118,210,0.25), 0 14px 28px rgba(0,0,0,0.1);
        border-color: #1976d2;
      }

      .ingredient-emoji {
        width: 48px;
        height: 48px;
        border-radius: 14px;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        font-size: 24px;
        background: linear-gradient(135deg, #ffffff, #f3f7fb);
        box-shadow: inset 0 1px 0 rgba(255,255,255,0.7), 0 8px 16px rgba(0,0,0,0.06);
      }

      .ingredient-label {
        line-height: 1.2;
        letter-spacing: 0.2px;
      }

      .ingredient-option.correct {
        background: linear-gradient(135deg, #2ecc71, #27ae60);
        color: #ffffff;
        border-color: transparent;
        transform: translateY(-2px) scale(1.01);
        box-shadow: 0 18px 36px rgba(46, 204, 113, 0.35);
      }

      .ingredient-option.incorrect {
        background: linear-gradient(135deg, #ff7675, #d63031);
        color: #ffffff;
        border-color: transparent;
        animation: shakeX 0.35s ease;
      }

      .ingredient-option:disabled {
        cursor: default;
        opacity: 0.85;
        transform: none;
      }

      .secret-result-box {
        display: inline-block;
        background: linear-gradient(135deg, #1976d2, #42a5f5);
        color: #ffffff;
        border-radius: 14px;
        padding: 1rem 1.25rem;
        box-shadow: 0 10px 24px rgba(25,118,210,0.3);
        font-weight: 700;
      }

      .secret-feedback-box {
        display: inline-block;
        background: linear-gradient(135deg, #ffa8a8, #ff6b6b);
        color: #fff;
        border-radius: 12px;
        padding: .6rem 1rem;
        box-shadow: 0 10px 24px rgba(255,107,107,0.25);
        font-weight: 700;
      }

      /* Confetti */
      .confetti {
        position: fixed;
        top: -10px;
        width: 10px;
        height: 14px;
        opacity: 0.9;
        z-index: 9999;
        pointer-events: none;
        animation: fall var(--t, 2.8s) linear forwards;
      }

      @keyframes fall {
        0% { transform: translateY(-10px) translateX(0) rotate(0); }
        100% { transform: translateY(110vh) translateX(var(--x, 0)) rotate(720deg); opacity: 0.95; }
      }

      @keyframes shakeX {
        0%, 100% { transform: translateX(0); }
        20% { transform: translateX(-6px); }
        40% { transform: translateX(6px); }
        60% { transform: translateX(-3px); }
        80% { transform: translateX(3px); }
      }

      @media (max-width: 1024px) {
        .ingredients-grid { grid-template-columns: repeat(2, 1fr); }
      }

      @media (max-width: 560px) {
        .ingredients-grid { grid-template-columns: 1fr; }
        .ingredient-option { padding: 0.9rem 1rem; }
      }



        .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: var(--text);

        background: radial-gradient(1200px 600px at 50% -10%, rgba(0, 255, 156, 0.06), transparent 60%),
                    linear-gradient(180deg, var(--bg), var(--surface));

        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);

      }

      
/* Active link styles for header navigation */
.nav-link.active {
  background: #1976d2 !important;
  color: #ffffff !important;
  font-weight: bold !important;
  border-radius: 20px !important;
  padding: 0.5rem 1rem !important;
  box-shadow: 0 2px 8px rgba(25, 118, 210, 0.3) !important;
  transition: all 0.3s ease !important;
}


      .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 {
        position: relative;
        color: var(--text);
        text-align: center;
        padding: 0; /* image controls height */
      }



      .hero-section .container {

        max-width: 1200px;

        margin: 0 auto;

        padding: 0 1rem;

      }

      /* Ensure hero image displays full size without cropping */
      .hero-media img {
        width: 100%;
        height: auto;
        display: block;
      }



      .hero-title {

        font-size: 3rem;

        font-weight: 800;

        margin-bottom: 1rem;

        text-shadow: 0 0 20px var(--glow-weak);

      }



      .hero-subtitle {

        font-size: 1.15rem;

        font-weight: 500;

        margin-bottom: 1rem;

        opacity: 0.95;

        color: var(--text);

      }



      .hero-description {

        font-size: 1.2rem;

        margin-bottom: 2rem;

        opacity: 0.8;

      }



      .hero-button {

        display: inline-block;

        color: #041C1A;

        padding: 0.9rem 1.6rem;

        text-decoration: none;

        border-radius: 50px;

        font-weight: 700;

        letter-spacing: 0.2px;

        transition: all 0.25s ease;

        box-shadow: 0 0 0 0 var(--glow-weak);

      }

      .hero-button-primary { background: linear-gradient(135deg, var(--primary), #00E39E); box-shadow: 0 8px 24px rgba(0, 199, 140, 0.35); }
      .hero-button-secondary { background: rgba(0,0,0,0.25); border: 1px solid var(--border); color: var(--text); }



      .hero-button:hover {

        transform: translateY(-2px);

        box-shadow: 0 0 0 6px var(--glow-weak), 0 12px 28px rgba(0,0,0,0.25);

        filter: saturate(1.05);

      }

      /* Responsive typography and layout for hero */
      @media (max-width: 992px) {
        .hero-title { font-size: 2.4rem; }
        .hero-subtitle { font-size: 1rem; }
        .hero-text-wrapper { padding: 1.5rem !important; }
      }

      @media (max-width: 600px) {
        .hero-title { font-size: 1.9rem; }
        .hero-subtitle { font-size: 0.95rem; }
        .hero-button { width: 100%; text-align: center; padding: 0.9rem 1.2rem; }
        .hero-actions { gap: 8px !important; }
      }



      /* 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;

      }


      /* Game Features section */
      .game-features {
        background: linear-gradient(180deg, rgba(255,255,255,0.02) 0%, rgba(255,255,255,0.06) 100%);
      }

      .features-grid {
        display: grid;
        grid-template-columns: repeat(3, 1fr);
        gap: 1.5rem;
      }

      .feature-card {
        background: rgba(0,0,0,0.25);
        border: 1px solid var(--border);
        border-radius: 16px;
        padding: 1.75rem;
        box-shadow: 0 10px 24px rgba(0,0,0,0.20);
        transition: transform 0.25s ease, box-shadow 0.25s ease;
        color: var(--text);
      }

      .feature-card:hover {
        transform: translateY(-6px);
        box-shadow: 0 16px 36px rgba(0,0,0,0.28);
      }

      .feature-card h3 {
        font-size: 1.35rem;
        margin-bottom: 0.5rem;
        color: var(--text);
        font-weight: 800;
        text-shadow: 0 0 20px var(--glow-weak);
      }

      .feature-card p {
        font-size: 1.05rem;
        margin: 0;
        color: var(--text);
        opacity: 0.9;
        line-height: 1.5;
        text-align: left;
      }

      @media (max-width: 1024px) {
        .features-grid { grid-template-columns: repeat(2, 1fr); }
      }

      @media (max-width: 640px) {
        .features-grid { grid-template-columns: 1fr; }
        .feature-card { padding: 1.25rem; }
      }



      .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);

      }



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

      .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;
        }
      }

    