  :root {
      --primary: #4f46e5;
      --primary-dark: #4338ca;
      --secondary: #10b981;
      --dark: #1f2937;
      --light: #f9fafb;
  }

  body {
      font-family: 'Poppins', sans-serif;
      color: #1f2937;
  }

  /* Estilos personalizados */
  .hero-destination {
      height: 70vh;
      min-height: 600px;
      display: flex;
      align-items: flex-end;
      position: relative;
  }

  .gallery-grid {
      display: grid;
      grid-template-columns: 2fr 1fr;
      grid-template-rows: 1fr 1fr;
      gap: 1rem;
      height: 600px;
  }

  .gallery-item-1 {
      grid-row: 1 / -1;
      grid-column: 1;
  }

  .gallery-item-2 {
      grid-row: 1;
      grid-column: 2;
  }

  .gallery-item-3 {
      grid-row: 2;
      grid-column: 2;
  }

  .feature-icon {
      width: 50px;
      height: 50px;
      border-radius: 12px;
      display: flex;
      align-items: center;
      justify-content: center;
      color: white;
      font-size: 1.25rem;
      background: linear-gradient(135deg, #3b82f6, #6366f1);
      flex-shrink: 0;
      box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06);
      transition: all 0.3s ease;
  }

  .feature-icon:hover {
      transform: translateY(-3px);
      box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05);
  }

  .sticky-booking {
      position: -webkit-sticky;
      position: sticky;
      top: 2rem;
      box-shadow: 0 10px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04);
      transition: all 0.3s ease;
  }

  .sticky-booking:hover {
      transform: translateY(-5px);
      box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04);
  }


  .price-tag {
      font-size: 2.5rem;
      font-weight: 800;
      color: #1f2937;
      line-height: 1;
      background: linear-gradient(135deg, #3b82f6, #8b5cf6);
      -webkit-background-clip: text;
      background-clip: text;
      -webkit-text-fill-color: transparent;
      display: inline-block;
  }

  .per-person {
      color: #6b7280;
      font-size: 0.875rem;
      font-weight: 500;
  }

  .btn-book-now {
      background: linear-gradient(135deg, #3b82f6, #6366f1);
      transition: all 0.3s ease;
      position: relative;
      overflow: hidden;
  }

  .btn-book-now::before {
      content: '';
      position: absolute;
      top: 0;
      left: -100%;
      width: 100%;
      height: 100%;
      background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.2), transparent);
      transition: 0.5s;
  }

  .btn-book-now:hover::before {
      left: 100%;
  }

  .btn-book-now:hover {
      transform: translateY(-3px);
      box-shadow: 0 10px 20px -5px rgba(59, 130, 246, 0.4);
  }

  /* Animaciones */
  @keyframes fadeIn {
      from {
          opacity: 0;
          transform: translateY(20px);
      }

      to {
          opacity: 1;
          transform: translateY(0);
      }
  }

  .animate-fade-in {
      animation: fadeIn 0.6s ease-out forwards;
  }

  .delay-100 {
      animation-delay: 0.1s;
  }

  .delay-200 {
      animation-delay: 0.2s;
  }

  .delay-300 {
      animation-delay: 0.3s;
  }

  .delay-400 {
      animation-delay: 0.4s;
  }

  /* Efecto hover para las tarjetas */
  .card-hover {
      transition: all 0.3s ease;
  }

  .card-hover:hover {
      transform: translateY(-5px);
      box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04);
  }

  /* Estilos para el formulario */
  .form-input {
      transition: all 0.3s ease;
      border: 1px solid #e5e7eb;
  }

  .form-input:focus {
      border-color: #3b82f6;
      box-shadow: 0 0 0 3px rgba(59, 130, 246, 0.2);
  }

  /* Estilos para el checkbox personalizado */
  .custom-checkbox {
      -webkit-appearance: none;
      -moz-appearance: none;
      appearance: none;
      width: 1.25rem;
      height: 1.25rem;
      border: 2px solid #d1d5db;
      border-radius: 0.25rem;
      outline: none;
      cursor: pointer;
      position: relative;
      transition: all 0.2s ease;
  }

  .custom-checkbox:checked {
      background-color: #3b82f6;
      border-color: #3b82f6;
  }

  .custom-checkbox:checked::after {
      content: '✓';
      position: absolute;
      color: white;
      font-size: 0.75rem;
      left: 50%;
      top: 50%;
      transform: translate(-50%, -50%);
  }

  @media (max-width: 1024px) {
      .gallery-grid {
          height: 400px;
      }
  }

  @media (max-width: 768px) {
      .gallery-grid {
          grid-template-columns: 1fr;
          grid-template-rows: 300px 200px 200px;
          height: auto;
      }

      .gallery-item-1 {
          grid-row: 1;
          grid-column: 1;
      }

      .gallery-item-2 {
          grid-row: 2;
          grid-column: 1;
      }

      .gallery-item-3 {
          grid-row: 3;
          grid-column: 1;
      }

      .hero-destination {
          height: 60vh;
          min-height: 500px;
      }

      .price-tag {
          font-size: 2rem;
      }
  }

  @media (max-width: 480px) {
      .btn-book-now {
          padding: 0.75rem 1.5rem;
          font-size: 0.875rem;
      }

      .feature-icon {
          width: 40px;
          height: 40px;
          font-size: 1rem;
      }
  }