@import url('https://fonts.googleapis.com/css2?family=Playfair+Display:ital,wght@0,400;0,500;0,600;0,700;1,400&family=Inter:wght@300;400;500;600;700&display=swap');

    * { box-sizing: border-box; margin: 0; padding: 0; }
    html { scroll-behavior: smooth; }
    body { font-family: 'Inter', sans-serif; overflow-x: hidden; }

    .font-playfair { font-family: 'Playfair Display', serif; }

    /* Navbar */
    .navbar { background: #fff; border-bottom: 1px solid #e8e0f0; }
    .logo-icon { width: 44px; height: 44px; }

    /* Gradient text for headings */
    .gradient-heading {
      background: linear-gradient(135deg, #8b2fc9 0%, #c45c8e 100%);
      -webkit-background-clip: text;
      -webkit-text-fill-color: transparent;
      background-clip: text;
    }

    /* Hero */
    .hero-section {
      min-height: 520px;
      background: #fff;
    }
    .hero-img-wrap {
      position: relative;
      overflow: hidden;
    }
    .hero-img-wrap img {
      width: 100%;
      height: 520px;
      object-fit: cover;
      object-position: center top;
    }

    /* Service Cards */
    .service-card {
      background: linear-gradient(160deg, #3d2f4e 0%, #2a2038 100%);
      border-radius: 16px;
      transition: transform 0.3s ease, box-shadow 0.3s ease;
    }
    .service-card:hover {
      transform: translateY(-6px);
      box-shadow: 0 20px 40px rgba(0,0,0,0.35);
    }
    .service-icon-wrap {
      width: 46px;
      height: 46px;
      border-radius: 50%;
      background: rgba(196,92,142,0.18);
      display: flex;
      align-items: center;
      justify-content: center;
    }

    /* Booking section */
    .booking-section {
      background: linear-gradient(160deg, #1e1b27 0%, #2d2540 100%);
    }

    /* Review cards */
    .review-card {
      background: #fff;
      border: 1px solid #ede9f5;
      border-radius: 14px;
      transition: box-shadow 0.3s;
    }
    .review-card:hover { box-shadow: 0 12px 30px rgba(90,61,107,0.12); }

    /* Footer */
    .footer { background: #1a1524; }

    /* Book Now button pulse */
    .book-btn-pulse {
      animation: pulse-border 2.5s infinite;
    }
    @keyframes pulse-border {
      0%, 100% { box-shadow: 0 0 0 0 rgba(196,92,142,0.5); }
      50% { box-shadow: 0 0 0 8px rgba(196,92,142,0); }
    }

    /* Scrollbar */
    ::-webkit-scrollbar { width: 6px; }
    ::-webkit-scrollbar-track { background: #f1f1f1; }
    ::-webkit-scrollbar-thumb { background: #8b5fa0; border-radius: 3px; }

    /* Mobile nav */
    #mobile-menu { display: none; }
    #mobile-menu.open { display: block; }

    /* Gallery mosaic */
    .gallery-grid { display: grid; grid-template-columns: 1fr 1fr; grid-template-rows: auto auto; gap: 10px; }
    .gallery-grid .big { grid-row: 1 / 3; }
    .gallery-grid img { width: 100%; height: 100%; object-fit: cover; border-radius: 10px; }
    .gallery-grid .big img { height: 340px; }
    .gallery-grid .small img { height: 160px; }

    /* Whatsapp float */
    .whatsapp-btn {
      background: #25D366;
      width: 52px; height: 52px;
      border-radius: 50%;
      display: flex; align-items: center; justify-content: center;
      box-shadow: 0 4px 14px rgba(37,211,102,0.45);
      transition: transform 0.2s;
    }
    .whatsapp-btn:hover { transform: scale(1.1); }

    /* Stars */
    .stars { color: #f5c518; }

    /* Top bar */
    .top-bar { background: #5a3d6b; }

    /* Arabic RTL elements */
    [dir="rtl"] { text-align: right; }