/* Hero Uptown – loaded with shortcode [bh_hero_uptown] */
html {
  scroll-behavior: smooth;
}

/* ---- Hero section (overflow: visible لضمان عدم اختفاء زر التمرير) ---- */
.bh-hero-uptown {
  position: relative;
  min-height: 100vh;
  display: flex;
  align-items: center;
  overflow: visible;
  font-family: 'Cairo', 'Tajawal', -apple-system, BlinkMacSystemFont, sans-serif;
  background: transparent;
  padding: 2rem 0 5rem;
  box-sizing: border-box;
}
.bh-hero-uptown *,
.bh-hero-uptown *::before,
.bh-hero-uptown *::after {
  box-sizing: border-box;
}
.bh-hero-container {
  position: relative;
  z-index: 2;
  width: 100%;
  max-width: 1140px;
  margin: 0 auto;
  padding: 0 15px;
}
.bh-hero-content {
  max-width: 650px;
  padding: 2rem 0;
  margin-left: auto;
  margin-right: auto;
  text-align: center;
}
[dir="rtl"] .bh-hero-content { margin-right: auto; margin-left: auto; }
[dir="ltr"] .bh-hero-content { margin-left: auto; margin-right: auto; }

/* ---- Title ---- */
.bh-hero-title,
.bh-hero-title-line1,
.bh-hero-title-line2 {
  font-family: 'Cairo', 'Tajawal', -apple-system, BlinkMacSystemFont, sans-serif;
}
.bh-hero-title {
  margin: 0 0 1.25rem;
  color: #1a1a1a;
  font-weight: 700;
  font-size: clamp(1.5rem, 4.2vw, 2.5rem);
  line-height: 1.25;
  letter-spacing: -0.02em;
}
.bh-hero-title-line1,
.bh-hero-title-line2 { display: block; }
.bh-hero-title-line1 {
  font-size: 0.95em;
  font-weight: 700;
  color: #1e3a5f;
  letter-spacing: 0.02em;
  margin-bottom: 0.35em;
}
.bh-hero-title-line2 {
  font-weight: 700;
  color: #1e3a5f;
}

/* ---- Subtitle ---- */
.bh-hero-subtitle {
  margin: 0 auto 1.75rem;
  max-width: 28em;
  color: #4a4a4a;
  font-size: 1.0625rem;
  line-height: 1.75;
  font-weight: 400;
}

/* ========== Search form (pill: أبيض + زر بلون الموقع) ========== */
.bh-hero-uptown .search-location {
  max-width: 560px;
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 1.75rem;
}
.bh-hero-uptown .search-location .form-group {
  margin: 0;
}
.bh-hero-uptown .search-location .form-field {
  position: relative;
  display: block;
  border-radius: 20px;
  overflow: hidden;
  border: none;
  background: #fff;
  box-shadow: none;
  transition: box-shadow 0.2s ease;
}
.bh-hero-uptown .search-location .form-field:focus-within {
  box-shadow: 0 2px 12px rgba(0,0,0,0.08);
}
@media (prefers-reduced-motion: reduce) {
  .bh-hero-uptown .search-location .form-field { transition: none; }
}
.bh-hero-uptown .search-location .form-control {
  display: block;
  width: 100%;
  height: 54px;
  min-height: 54px;
  padding: 0.75rem 1.25rem;
  padding-right: 56px;
  margin: 0;
  font-family: inherit;
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.5;
  color: #212529;
  border: none;
  background: #fff;
  outline: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
}
[dir="rtl"] .bh-hero-uptown .search-location .form-control {
  padding-right: 1.25rem;
  padding-left: 56px;
}
.bh-hero-uptown .search-location .form-control::-webkit-search-cancel-button,
.bh-hero-uptown .search-location .form-control::-webkit-search-decoration {
  -webkit-appearance: none;
  appearance: none;
}
.bh-hero-uptown .search-location .form-control::placeholder {
  color: #5c5c5c;
  opacity: 1;
}
.bh-hero-uptown .search-location .form-control:focus,
.bh-hero-uptown .search-location .form-control:focus-visible {
  outline: none;
}
.bh-hero-uptown .search-location .form-field button[type="submit"] {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  width: 56px;
  min-width: 56px;
  margin: 0;
  padding: 0;
  border: none;
  clip-path: path('M 0 0 L 0 54 L 42 54 Q 56 54 56 40 L 56 14 Q 56 0 42 0 Z');
  -webkit-clip-path: path('M 0 0 L 0 54 L 42 54 Q 56 54 56 40 L 56 14 Q 56 0 42 0 Z');
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 0;
  line-height: 0;
  color: #fff;
  background: linear-gradient(165deg, #243d5e 0%, #1e3a5f 45%, #1a3356 100%);
  box-shadow: inset 0 1px 0 rgba(255,255,255,0.12), 0 2px 6px rgba(30,58,95,0.2);
  cursor: pointer;
  transition: background 0.25s ease, box-shadow 0.25s ease, color 0.2s ease;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  -webkit-tap-highlight-color: transparent;
}
[dir="rtl"] .bh-hero-uptown .search-location .form-field button[type="submit"] {
  right: auto;
  left: 0;
  clip-path: path('M 56 0 L 56 54 L 14 54 Q 0 54 0 40 L 0 14 Q 0 0 14 0 Z');
  -webkit-clip-path: path('M 56 0 L 56 54 L 14 54 Q 0 54 0 40 L 0 14 Q 0 0 14 0 Z');
}
.bh-hero-uptown .search-location .form-field button[type="submit"]:hover {
  background: linear-gradient(165deg, #1f3859 0%, #172f4a 45%, #142a44 100%);
  box-shadow: inset 0 1px 0 rgba(255,255,255,0.1), 0 3px 10px rgba(30,58,95,0.28);
  color: rgba(255,255,255,0.95);
}
.bh-hero-uptown .search-location .form-field button[type="submit"]:active {
  background: linear-gradient(165deg, #1a3252 0%, #152a47 45%, #12253f 100%);
  box-shadow: inset 0 2px 4px rgba(0,0,0,0.2), 0 1px 3px rgba(30,58,95,0.15);
}
.bh-hero-uptown .search-location .form-field button[type="submit"]:focus {
  outline: none;
}
.bh-hero-uptown .search-location .form-field button[type="submit"]:focus-visible {
  outline: 2px solid rgba(255,255,255,0.7);
  outline-offset: 2px;
  box-shadow: inset 0 1px 0 rgba(255,255,255,0.12), 0 0 0 4px rgba(30,58,95,0.35);
}
@media (prefers-reduced-motion: reduce) {
  .bh-hero-uptown .search-location .form-field button[type="submit"] { transition: none; }
}
.bh-hero-uptown .search-location .bh-search-icon {
  width: 24px;
  height: 24px;
  flex-shrink: 0;
  fill: currentColor;
  pointer-events: none;
  transition: transform 0.2s ease;
}
.bh-hero-uptown .search-location .form-field button[type="submit"]:hover .bh-search-icon {
  transform: scale(1.06);
}
.bh-hero-uptown .search-location .form-field button[type="submit"]:active .bh-search-icon {
  transform: scale(0.98);
}
@media (prefers-reduced-motion: reduce) {
  .bh-hero-uptown .search-location .bh-search-icon,
  .bh-hero-uptown .search-location .form-field button[type="submit"]:hover .bh-search-icon,
  .bh-hero-uptown .search-location .form-field button[type="submit"]:active .bh-search-icon {
    transform: none;
  }
}
.bh-hero-uptown .search-location .screen-reader-text {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0,0,0,0) !important;
  clip-path: inset(50%) !important;
  border: 0 !important;
  white-space: nowrap !important;
}

/* ---- Mouse scroll: نصف داخل الهيرو ونصف خارج على كل الشاشات ---- */
.bh-hero-uptown .mouse {
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translate(-50%, 50%);
  z-index: 10;
  margin: 0;
  padding: 0;
  pointer-events: auto;
}
.bh-hero-uptown .mouse .mouse-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 56px;
  height: 56px;
  border: none;
  border-radius: 50%;
  background: #1e3a5f;
  color: #fff;
  text-decoration: none;
  transition: background 0.2s ease, box-shadow 0.2s ease, transform 0.2s ease;
  box-shadow: 0 4px 16px rgba(30,58,95,0.35);
}
.bh-hero-uptown .mouse .mouse-icon:hover {
  background: #172f4a;
  box-shadow: 0 6px 20px rgba(30,58,95,0.45);
  transform: scale(1.08);
}
.bh-hero-uptown .mouse .mouse-icon:active {
  transform: scale(0.98);
}
.bh-hero-uptown .mouse .mouse-icon:focus {
  outline: none;
}
.bh-hero-uptown .mouse .mouse-icon:focus-visible {
  outline: 2px solid rgba(255,255,255,0.6);
  outline-offset: 3px;
}
.bh-hero-uptown .mouse .mouse-wheel {
  display: flex;
  align-items: center;
  justify-content: center;
  line-height: 1;
  pointer-events: none;
}
.bh-hero-uptown .mouse .mouse-wheel svg {
  width: 22px;
  height: 22px;
  fill: none;
  stroke: currentColor;
  animation: bh-mouse-bounce 2s ease-in-out infinite;
  pointer-events: none;
}
@keyframes bh-mouse-bounce {
  0%, 100% { transform: translateY(0); }
  50% { transform: translateY(-4px); }
}
@media (prefers-reduced-motion: reduce) {
  .bh-hero-uptown .mouse .mouse-wheel svg { animation: none; }
  .bh-hero-uptown .mouse .mouse-icon:hover { transform: none; }
  .bh-hero-uptown .mouse .mouse-icon:active { transform: none; }
}

/* ---- Tablet (992px and below) ---- */
@media (max-width: 992px) {
  .bh-hero-uptown {
    min-height: 100vh;
    padding: 2rem 0 4.5rem;
    overflow: visible;
  }
  .bh-hero-container {
    padding: 0 max(20px, env(safe-area-inset-left));
    padding-right: max(20px, env(safe-area-inset-right));
  }
  .bh-hero-title {
    font-size: clamp(1.5rem, 4vw, 2.25rem);
    margin-bottom: 1rem;
  }
  .bh-hero-subtitle {
    font-size: 1rem;
    margin-bottom: 1.5rem;
    padding: 0 0.5rem;
  }
  .bh-hero-uptown .search-location {
    max-width: 100%;
    margin-bottom: 1.5rem;
    padding: 0 0.25rem;
  }
  .bh-hero-uptown .search-location .form-control {
    height: 52px;
    min-height: 52px;
    padding-right: 54px;
  }
  [dir="rtl"] .bh-hero-uptown .search-location .form-control {
    padding-left: 54px;
  }
  .bh-hero-uptown .search-location .form-field button[type="submit"] {
    width: 54px;
    min-width: 54px;
    clip-path: path('M 0 0 L 0 52 L 41 52 Q 54 52 54 39 L 54 13 Q 54 0 41 0 Z');
    -webkit-clip-path: path('M 0 0 L 0 52 L 41 52 Q 54 52 54 39 L 54 13 Q 54 0 41 0 Z');
  }
  [dir="rtl"] .bh-hero-uptown .search-location .form-field button[type="submit"] {
    clip-path: path('M 54 0 L 54 52 L 13 52 Q 0 52 0 39 L 0 13 Q 0 0 13 0 Z');
    -webkit-clip-path: path('M 54 0 L 54 52 L 13 52 Q 0 52 0 39 L 0 13 Q 0 0 13 0 Z');
  }
  .bh-hero-uptown .mouse {
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translate(-50%, 50%);
  }
  .bh-hero-uptown .mouse .mouse-icon {
    width: 52px;
    height: 52px;
  }
  .bh-hero-uptown .mouse .mouse-wheel svg {
    width: 20px;
    height: 20px;
  }
}

/* ---- Phone (768px and below) ---- */
@media (max-width: 768px) {
  .bh-hero-uptown {
    min-height: 100vh;
    padding: 1.75rem 0 4rem;
    overflow: visible;
  }
  .bh-hero-container {
    padding: 0 max(16px, env(safe-area-inset-left));
    padding-right: max(16px, env(safe-area-inset-right));
    display: flex;
    justify-content: center;
  }
  .bh-hero-content {
    max-width: 100%;
    text-align: center;
    margin-left: auto !important;
    margin-right: auto !important;
    padding: 1.5rem 0;
  }
  .bh-hero-title {
    font-size: clamp(1.35rem, 6.5vw, 2rem);
    margin-bottom: 0.75rem;
  }
  .bh-hero-subtitle {
    font-size: 0.9375rem;
    margin-bottom: 1.25rem;
    line-height: 1.65;
    padding: 0;
  }
  .bh-hero-uptown .search-location {
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 1.25rem;
    max-width: 100%;
    padding: 0;
  }
  .bh-hero-uptown .search-location .form-field {
    border-radius: 20px;
  }
  .bh-hero-uptown .search-location .form-control {
    min-height: 50px;
    height: 50px;
    padding-top: 0.65rem;
    padding-bottom: 0.65rem;
    padding-right: 52px;
    padding-left: 1.1rem;
    font-size: 0.9375rem;
  }
  [dir="rtl"] .bh-hero-uptown .search-location .form-control {
    padding-right: 1.1rem;
    padding-left: 52px;
  }
  .bh-hero-uptown .search-location .form-field button[type="submit"] {
    top: 0;
    right: 0;
    bottom: 0;
    width: 52px;
    min-width: 52px;
    clip-path: path('M 0 0 L 0 50 L 40 50 Q 52 50 52 38 L 52 12 Q 52 0 40 0 Z');
    -webkit-clip-path: path('M 0 0 L 0 50 L 40 50 Q 52 50 52 38 L 52 12 Q 52 0 40 0 Z');
  }
  [dir="rtl"] .bh-hero-uptown .search-location .form-field button[type="submit"] {
    right: auto;
    left: 0;
    clip-path: path('M 52 0 L 52 50 L 12 50 Q 0 50 0 38 L 0 12 Q 0 0 12 0 Z');
    -webkit-clip-path: path('M 52 0 L 52 50 L 12 50 Q 0 50 0 38 L 0 12 Q 0 0 12 0 Z');
  }
  .bh-hero-uptown .search-location .bh-search-icon {
    width: 22px;
    height: 22px;
  }
  .bh-hero-uptown .mouse {
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translate(-50%, 50%);
  }
  .bh-hero-uptown .mouse .mouse-icon {
    width: 48px;
    height: 48px;
  }
  .bh-hero-uptown .mouse .mouse-wheel svg {
    width: 18px;
    height: 18px;
  }
}

/* ---- Small phone (576px and below) ---- */
@media (max-width: 576px) {
  .bh-hero-uptown {
    min-height: 100vh;
    padding: 1.5rem 0 3.5rem;
    overflow: visible;
  }
  .bh-hero-container {
    padding: 0 max(12px, env(safe-area-inset-left));
    padding-right: max(12px, env(safe-area-inset-right));
  }
  .bh-hero-title {
    font-size: clamp(1.25rem, 5.5vw, 1.75rem);
    margin-bottom: 0.5rem;
  }
  .bh-hero-subtitle {
    font-size: 0.875rem;
    margin-bottom: 1rem;
  }
  .bh-hero-uptown .search-location .form-control {
    min-height: 48px;
    height: 48px;
    padding-right: 48px;
    padding-left: 1rem;
    font-size: 16px;
  }
  [dir="rtl"] .bh-hero-uptown .search-location .form-control {
    padding-right: 1rem;
    padding-left: 48px;
  }
  .bh-hero-uptown .search-location .form-field button[type="submit"] {
    width: 48px;
    min-width: 48px;
    clip-path: path('M 0 0 L 0 48 L 38 48 Q 48 48 48 36 L 48 12 Q 48 0 38 0 Z');
    -webkit-clip-path: path('M 0 0 L 0 48 L 38 48 Q 48 48 48 36 L 48 12 Q 48 0 38 0 Z');
  }
  [dir="rtl"] .bh-hero-uptown .search-location .form-field button[type="submit"] {
    clip-path: path('M 48 0 L 48 48 L 10 48 Q 0 48 0 36 L 0 12 Q 0 0 10 0 Z');
    -webkit-clip-path: path('M 48 0 L 48 48 L 10 48 Q 0 48 0 36 L 0 12 Q 0 0 10 0 Z');
  }
  .bh-hero-uptown .search-location .bh-search-icon {
    width: 20px;
    height: 20px;
  }
  .bh-hero-uptown .mouse {
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translate(-50%, 50%);
  }
  .bh-hero-uptown .mouse .mouse-icon {
    width: 44px;
    height: 44px;
  }
  .bh-hero-uptown .mouse .mouse-wheel svg {
    width: 16px;
    height: 16px;
  }
}
