

    /* demo card – just to show the modal trigger */
    .demo-card {
      background: rgba(255, 255, 255, 0.7);
      backdrop-filter: blur(8px);
      -webkit-backdrop-filter: blur(8px);
      border-radius: 2.5rem;
      padding: 3rem 2.5rem;
      max-width: 480px;
      width: 100%;
      box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.15), 0 0 0 1px rgba(255, 255, 255, 0.5) inset;
      text-align: center;
      transition: all 0.2s ease;
    }

    .demo-card h2 {
      font-weight: 600;
      font-size: 1.8rem;
      letter-spacing: -0.02em;
      color: #0b1c2e;
      margin-bottom: 0.5rem;
    }

    .demo-card p {
      color: #2c3e50;
      margin-bottom: 2rem;
      font-size: 1rem;
      opacity: 0.8;
    }

    .btn-trigger {
      background: #0b1c2e;
      border: none;
      padding: 0.85rem 2.2rem;
      border-radius: 60px;
      font-weight: 500;
      font-size: 1rem;
      color: white;
      box-shadow: 0 8px 20px rgba(11, 28, 46, 0.2);
      transition: 0.25s ease;
      display: inline-flex;
      align-items: center;
      gap: 0.5rem;
    }

    .btn-trigger:hover {
      background: #1a2f44;
      transform: scale(1.02);
      box-shadow: 0 12px 28px rgba(11, 28, 46, 0.25);
      color: white;
    }

    .btn-trigger i {
      font-size: 1.2rem;
    }

    /* -------- MODAL OVERRIDE (clean, minimal, airy) -------- */
    .modal-content {
      border: none;
      border-radius: 2rem;
      background: rgba(255, 255, 255, 0.96);
      backdrop-filter: blur(4px);
      -webkit-backdrop-filter: blur(4px);
      box-shadow: 0 40px 70px -20px rgba(0, 0, 0, 0.25), 0 0 0 1px rgba(255, 255, 255, 0.6) inset;
      padding: 0.25rem;
      transition: all 0.2s;
    }

    .modal-header {
      border-bottom: none;
      padding: 1.5rem 2rem 0.5rem 2rem;
    }

    .modal-header .modal-title {
      font-weight: 600;
      font-size: 1.6rem;
      letter-spacing: -0.02em;
      color: #0b1c2e;
      display: flex;
      align-items: center;
      gap: 0.5rem;
    }

    .modal-header .modal-title i {
      color: #2a6f8f;
      font-size: 1.8rem;
    }

    .btn-close {
      background: transparent url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%231b2f44'%3E%3Cpath d='M.293.293a1 1 0 011.414 0L8 6.586 14.293.293a1 1 0 111.414 1.414L9.414 8l6.293 6.293a1 1 0 01-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 01-1.414-1.414L6.586 8 .293 1.707a1 1 0 010-1.414z'/%3E%3C/svg%3E") center/1.2rem auto no-repeat;
      opacity: 0.6;
      transition: 0.2s;
      padding: 1.5rem;
    }

    .btn-close:hover {
      opacity: 1;
      transform: rotate(90deg);
    }

    .modal-body {
      padding: 1.5rem 2rem 2rem 2rem;
    }

    /* form styling */
    #bookingForm .form-label {
      font-weight: 500;
      font-size: 0.85rem;
      text-transform: uppercase;
      letter-spacing: 0.03em;
      color: #2c3e50;
      margin-bottom: 0.3rem;
      display: flex;
      align-items: center;
      gap: 0.4rem;
    }

    #bookingForm .form-label i {
      font-size: 1rem;
      color: #2a6f8f;
      opacity: 0.7;
    }

    .form-control {
      border-radius: 60px;
      padding: 0.7rem 1.2rem;
      border: 1px solid rgba(0, 0, 0, 0.06);
      background: rgba(255, 255, 255, 0.7);
      backdrop-filter: blur(2px);
      -webkit-backdrop-filter: blur(2px);
      font-size: 0.95rem;
      transition: 0.2s ease;
      box-shadow: 0 2px 6px rgba(0, 0, 0, 0.02);
    }

    .form-control:focus {
      border-color: #0b1c2e;
      box-shadow: 0 0 0 4px rgba(11, 28, 46, 0.08), 0 4px 12px rgba(0, 0, 0, 0.02);
      background: white;
    }

    .form-control::placeholder {
      color: #9aaebf;
      font-weight: 300;
    }

    .mb-3 {
      margin-bottom: 1.1rem;
    }

    /* hidden product field – subtle hint */
    #productName {
      display: none;
    }

    .btn-dark {
      background: #0b1c2e;
      border: none;
      border-radius: 60px;
      padding: 0.8rem 1.2rem;
      font-weight: 500;
      font-size: 1rem;
      letter-spacing: 0.01em;
      transition: 0.25s ease;
      box-shadow: 0 8px 20px rgba(11, 28, 46, 0.15);
      margin-top: 0.5rem;
      display: flex;
      align-items: center;
      justify-content: center;
      gap: 0.5rem;
    }

    .btn-dark:hover {
      background: #1a2f44;
      transform: scale(1.01);
      box-shadow: 0 12px 28px rgba(11, 28, 46, 0.25);
    }

    .btn-dark i {
      font-size: 1.2rem;
    }

    /* small responsive */
    @media (max-width: 420px) {
      .modal-header .modal-title {
        font-size: 1.3rem;
      }
      .modal-body {
        padding: 1rem 1.25rem 1.5rem;
      }
      .demo-card {
        padding: 2rem 1.5rem;
      }
    }



