/* --- UNIVERSAL STYLES --- */
      * {
        box-sizing: border-box;
        margin: 0;
        padding: 0;
      }

      body {
        font-family: 'Inter', sans-serif;
        background-color: #000;
        color: #fff;
        line-height: 1.6;
        scroll-behavior: smooth;
        overflow-x: hidden;
      }

      h1, h2 {
        font-family: 'Bebas Neue', cursive;
        text-transform: uppercase;
        letter-spacing: 2px;
      }

      h2 {
        color: #FFD700;
        text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.5);
      }
      
      .website-container {
        max-width: 1200px;
        margin: 0 auto;
      }

      /* --- LOADING SCREEN STYLES --- */
      #loading-screen {
        position: fixed;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        background-color: #000;
        z-index: 9999;
        display: flex;
        flex-direction: column;
        justify-content: center;
        align-items: center;
        overflow: hidden;
        opacity: 1;
        transition: opacity 1s ease-in-out;
      }

      #loading-screen.hidden {
          opacity: 0;
          visibility: hidden;
      }

      .loader-container {
        position: relative;
        width: 150px;
        height: 150px;
        display: flex;
        justify-content: center;
        align-items: center;
      }

      .burger-icon {
        width: 100%;
        height: 100%;
        animation: pulse 1.5s infinite ease-in-out;
      }

      .loader-text {
        position: absolute;
        width: 250px;
        height: 250px;
        font-family: 'Inter', sans-serif;
        font-weight: 300;
        font-size: 1rem;
        color: #F5F5DC;
        text-shadow: 0 0 5px rgba(245, 245, 220, 0.5);
        letter-spacing: -1px;
        opacity: 1;
      }
      
      .loader-text span {
        position: absolute;
        left: 50%;
        top: 0;
        transform-origin: 0 125px;
      }
      
      @keyframes pulse {
        0% { transform: scale(1); }
        50% { transform: scale(1.1); }
        100% { transform: scale(1); }
      }

      /* --- MAIN CONTENT STYLES --- */
      .main-content {
        opacity: 0;
        visibility: hidden;
        transition: opacity 1s ease-in-out;
      }
      
      .main-content.visible {
          opacity: 1;
          visibility: visible;
      }

      section {
        padding: 80px 20px;
        text-align: center;
      }

      .hero-section {
        position: relative;
        height: 100vh;
        display: flex;
        flex-direction: column;
        justify-content: center;
        align-items: center;
        background: url(/images/chef.webp) no-repeat center center/cover;
        text-align: center;
        overflow: hidden;
        gap: 20px;
      }

      /* Base styles for animated elements (initial state) */
      .hero-content,
      .whatsapp-btn,
      .full-menu-btn,
      .menu-item,
      .about-content,
      .contact-section-content {
          opacity: 0;
          transform: translateY(20px);
          transition: opacity 1.2s ease-out, transform 1.2s ease-out;
      }

      /* Animated state (final state) */
      .animated {
          opacity: 1;
          transform: none;
      }

      .hero-content {
        background: rgba(0, 0, 0, 0.6);
        padding: 40px;
        border: 2px solid #FFD700;
        border-radius: 10px;
      }
      .hero-content h1, .hero-content p {margin: 0;}
      .hero-content h1 { margin-bottom: 10px; }
      .hero-title {
        font-size: clamp(2rem, 8vw, 4rem);
        color: #fff;
        text-shadow: 4px 4px 8px rgba(0, 0, 0, 0.8);
      }

      .hero-tagline {
        font-size: clamp(1rem, 4vw, 1.5rem);
        color: #FFD700;
        font-style: italic;
      }
      .menu-section {background-color: #333;}
      
      .menu-item-container {
        display: flex;
        flex-direction: row; /* Desktop layout */
        justify-content: center;
        gap: 20px;
        max-width: 900px;
        margin: 40px auto;
      }
      
      @media (max-width: 768px) {
          .menu-item-container {
              flex-direction: column; /* Mobile layout */
              align-items: center;
          }
      }

      .menu-item {
          width: 250px;
          height: 250px;
          perspective: 1000px;
          border-radius: 10px;
          transition: opacity 1.2s ease-out;
      }
      
      .menu-item.animated {opacity: 1;}
      .flip-card-inner {
          position: relative;
          width: 100%;
          height: 100%;
          text-align: center;
          transition: transform 0.8s;
          transform-style: preserve-3d;
      }
      .menu-item.flipped .flip-card-inner {transform: rotateY(180deg);}
      .flip-card-front, .flip-card-back {
          position: absolute;
          width: 100%;
          height: 100%;
          -webkit-backface-visibility: hidden;
          backface-visibility: hidden;
          border-radius: 10px;
          display: flex;
          flex-direction: column;
          justify-content: space-between;
          padding: 20px;
      }

      .flip-card-front {
          background-color: #111;
          color: white;
          background-size: cover;
          background-position: center;
          border: 1px solid #FFD700;
          box-shadow: 0 4px 8px rgba(0,0,0,0.5);
      }
      
      .flip-card-back {
          background-color: #222;
          color: white;
          transform: rotateY(180deg);
          border: 1px solid #FFD700;
          box-shadow: 0 4px 8px rgba(0,0,0,0.5);
      }

      .menu-item[data-menu-item="smash-burger"] .flip-card-front {
          background-image: url(images/2.webp);}
      .menu-item[data-menu-item="hot-dog"] .flip-card-front {
          background-image: url(images/1.webp);}
      .menu-item[data-menu-item="burrito"] .flip-card-front {
          background-image: url(images/Untitled\ design.webp);}

      .flip-card-front h3 {
          margin: 0 auto;
          color: #fff;
          background-color: rgba(0,0,0,0.7);
          padding: 5px 10px;
          border-radius: 5px;
      }

      .show-more-btn {
          background-color: #FFD700;
          color: #000;
          border: none;
          padding: 8px 15px;
          border-radius: 5px;
          cursor: pointer;
          font-family: 'Inter', sans-serif;
          font-weight: bold;
          transition: transform 0.2s ease-in-out;
      }
      
      .show-more-btn:hover {transform: scale(1.05);}
      
      .flip-card-back p {
          color: #bbb;
          font-size: 0.9rem;
          margin-top: 10px;
      }

      .menu-item-price {
          color: #FFD700;
          font-family: 'Bebas Neue', cursive;
          font-size: 1.5rem;
          margin-top: auto;
      }
      
      .about-section {background-color: #222;}
      
      .vibe-generator-container {
          max-width: 600px;
          margin: 20px auto;
          display: flex;
          flex-direction: column;
          gap: 15px;
          align-items: center;
      }
      
      .vibe-generator-container input {
          width: 100%;
          padding: 10px;
          border: 1px solid #FFD700;
          background-color: #111;
          color: #fff;
          border-radius: 5px;
          font-family: 'Inter', sans-serif;
      }
      .vibe-generator-container button {
          background-color: #FFD700;
          color: #000;
          border: none;
          padding: 10px 20px;
          border-radius: 5px;
          cursor: pointer;
          font-family: 'Bebas Neue', cursive;
          font-size: 1.2rem;
          transition: transform 0.2s ease-in-out;
      }
      .vibe-generator-container button:hover {transform: scale(1.05);}      
      #vibe-output {
          background-color: #111;
          padding: 15px;
          border-left: 3px solid #FFD700;
          color: #fff;
          font-style: italic;
          width: 100%;
          text-align: left;
          min-height: 50px;
          display: flex;
          align-items: center;
          justify-content: center;
      }
      
      .loading-spinner {
          border: 4px solid rgba(255, 255, 255, 0.3);
          border-radius: 50%;
          border-top: 4px solid #FFD700;
          width: 25px;
          height: 25px;
          animation: spin 1s linear infinite;
      }
      
      @keyframes spin {
          0% { transform: rotate(0deg); }
          100% { transform: rotate(360deg); }
      }

      .about-content {
          opacity: 0;
          transform: translateY(50px);
          transition: opacity 1.2s ease-out, transform 1.2s ease-out;
      }
      .about-content.animated {
          opacity: 1;
          transform: none;
      }
      
      .about-content-text {
          max-width: 800px;
          margin: 20px auto;
          font-size: 1.2rem;
      }

      .about-content-images {
        display: flex;
        flex-direction: row; /* Desktop layout */
        justify-content: center;
        gap: 10px;
        margin: 40px auto;
        padding: 0 20px;
        overflow-x: hidden;
      }
      
      @media (max-width: 768px) {
          .about-content-images {
              flex-wrap: nowrap;
              overflow-x: scroll;
              -webkit-overflow-scrolling: touch;
              justify-content: flex-start;
          }
      }

      .about-image {
        width: 150px;
        height: 150px;
        flex-shrink: 0;
        background-color: #444;
        border-radius: 10px;
        border: 1px solid #FFD700;
        background-size: cover;
        background-position: center;
        box-shadow: 0 4px 8px rgba(0,0,0,0.5);
      }

      .about-image:nth-child(1) { background-image: url(images/3.webp); }
      .about-image:nth-child(2) { background-image: url(images/bridge.webp); }
      .about-image:nth-child(3) { background-image: url(images/StoreFront.png); }
      .about-image:nth-child(4) { background-image: url(images/cablecar.webp); }
      .about-image:nth-child(5) { background-image: url(images/location.webp); }

      .contact-section {
        background-color: #000;
        border-top: 2px solid #FFD700;
        padding: 40px 20px;
      }
      
      .contact-section h2 {
          text-align: center;
          margin-bottom: 20px;
      }

      .contact-section-content {
        display: flex;
        flex-direction: row;
        justify-content: center;
        gap: 20px;
        flex-wrap: wrap;
      }

      @media (max-width: 768px) {
        .contact-section-content {
            flex-direction: column-reverse;
        }
      }
      
      .contact-block {
          flex: 1;
          min-width: 300px;
          text-align: left;
      }
      
      .contact-content {
        margin-top: 20px;
        display: flex;
        flex-direction: column;
        align-items: flex-start;
        gap: 10px;
      }
      
      .contact-content p, .contact-content a {
          margin: 0;
      }
      
      .contact-link {
          color: #FFD700;
          text-decoration: underline;
          font-weight: bold;
          font-family: 'Bebas Neue', cursive;
          font-size: 1.2rem;
      }
      
      .google-map {
          width: 100%;
          height: 300px;
          border-radius: 10px;
          border: 1px solid #FFD700;
      }
      
      .whatsapp-btn {
          background-color: #25D366;
          color: #fff;
          border: none;
          padding: 12px 24px;
          border-radius: 50px;
          text-decoration: none;
          font-family: 'Bebas Neue', cursive;
          font-size: 1.5rem;
          display: flex;
          align-items: center;
          gap: 10px;
          transition: transform 0.2s ease-in-out;
      }
      
      .whatsapp-btn:hover {
          transform: scale(1.05);
      }
      
      .whatsapp-icon {
          width: 24px;
          height: 24px;
      }
      
      .full-menu-btn {
          background-color: #FFD700;
          color: #000;
          border: none;
          padding: 12px 24px;
          border-radius: 50px;
          text-decoration: none;
          font-family: 'Bebas Neue', cursive;
          font-size: 1.5rem;
          display: inline-block;
          margin-top: 40px;
          transition: transform 0.2s ease-in-out;
      }
      .full-menu-btn:hover {
          transform: scale(1.05);
      }