/* ==========================================================================
   Brightex — brand colour + motion layer
   Additive only. Load AFTER style.css. Nothing in style.css is edited.
   Palette sampled from img/logo.png (#00BEAE).
   ========================================================================== */

:root {
  --bx-teal:       #00BEAE;  /* exact logo teal */
  --bx-teal-dark:  #009083;  /* hover / pressed */
  --bx-teal-deep:  #00695F;  /* deep accent, gradients */
  --bx-tint:       #E8F9F7;  /* pale wash */
  --bx-ink:        #0B1F1D;  /* logo black, warmed to teal */
  --bx-ease:       cubic-bezier(.22, .61, .36, 1);
}

/* --------------------------------------------------------------------------
   1. COLOUR — retheme #35a276 (old theme green) to logo teal
   -------------------------------------------------------------------------- */

/* Solid fills */
.btn_1,
.btn_4,
.footer-area .btn,
.footer-area .single-footer-widget .click-btn,
.genric-btn.primary,
.blog_right_sidebar .tag_cloud_widget ul li a:hover,
.about_part .about_part_text h5:after {
  background-color: var(--bx-teal) !important;
}

/* Text accents */
.banner_part .banner_text h1 span,
.our_service .single_service span,
.about_part .about_part_text ul li span,
.experiance_part .about_text_iner .about_text_counter h2,
.member_counter .single_member_counter span,
.our_project .single_our_project .single_offer .hover_text p,
.our_project .project_menu_item ul li:hover,
.our_project .project_menu_item .active,
.footer-area .copyright_part_text a,
.blog_area a:hover,
.blog_area a :hover,
.single-post-area .blog-author a:hover,
.single_blog_post .single_blog .single_appartment_content p a,
.review_part .owl-nav button span:hover,
sup, sub, u, del {
  color: var(--bx-teal) !important;
}

/* Hover / focus states */
.btn_1:hover,
.btn_4:hover,
.genric-btn.primary:hover {
  background-color: var(--bx-teal-dark) !important;
  border-color: var(--bx-teal-dark) !important;
  color: #fff !important;
}

.btn_3:hover,
.blog_details a:hover,
.dropdown .dropdown-menu .dropdown-item:hover,
.dropdown .dropdown-item:hover,
.footer-area .single-footer-widget ul li a:hover {
  color: var(--bx-teal) !important;
}

.btn_3:hover:after {
  background-color: var(--bx-teal) !important;
}

.genric-btn.primary:hover {
  border: 1px solid var(--bx-teal) !important;
}

/* Nav link colour + animated underline */
.main_menu .navbar-nav .nav-item .nav-link:hover,
.main_menu .navbar-nav .nav-item.active .nav-link {
  color: var(--bx-teal) !important;
}

.main_menu .navbar-nav .nav-item .nav-link {
  position: relative;
}

.main_menu .navbar-nav .nav-item .nav-link:after {
  content: "";
  position: absolute;
  left: 50%;
  bottom: 2px;
  width: 0;
  height: 2px;
  background: var(--bx-teal);
  transform: translateX(-50%);
  transition: width .35s var(--bx-ease);
}

.main_menu .navbar-nav .nav-item .nav-link:hover:after,
.main_menu .navbar-nav .nav-item.active .nav-link:after {
  width: 26px;
}

/* Scrollbar (overrides the inline <style> in index.html) */
::-webkit-scrollbar-thumb {
  background: var(--bx-teal) !important;
}

::-webkit-scrollbar-thumb:hover {
  background: var(--bx-teal-dark) !important;
}

/* Text selection */
::selection {
  background: var(--bx-teal);
  color: #fff;
}

/* --------------------------------------------------------------------------
   2. MOTION — scroll reveals, driven by js/brand.js
   -------------------------------------------------------------------------- */

[data-bx-reveal] {
  opacity: 0;
  transform: translateY(28px);
  transition:
    opacity   .7s var(--bx-ease),
    transform .7s var(--bx-ease);
  will-change: opacity, transform;
}

[data-bx-reveal].bx-in {
  opacity: 1;
  transform: none;
}

/* Stagger children of a revealed group */
[data-bx-reveal][data-bx-delay="1"] { transition-delay: .10s; }
[data-bx-reveal][data-bx-delay="2"] { transition-delay: .20s; }
[data-bx-reveal][data-bx-delay="3"] { transition-delay: .30s; }
[data-bx-reveal][data-bx-delay="4"] { transition-delay: .40s; }

/* --------------------------------------------------------------------------
   3. MICRO-INTERACTIONS
   -------------------------------------------------------------------------- */

/* Buttons lift and cast a teal shadow */
.btn_1,
.btn_4,
.genric-btn.primary {
  transition:
    background-color .3s var(--bx-ease),
    transform        .3s var(--bx-ease),
    box-shadow       .3s var(--bx-ease) !important;
}

.btn_1:hover,
.btn_4:hover,
.genric-btn.primary:hover {
  transform: translateY(-3px);
  box-shadow: 0 10px 24px -8px rgba(0, 190, 174, .55);
}

/* Service + project cards */
.our_service .single_service,
.our_project .single_our_project {
  transition:
    transform  .4s var(--bx-ease),
    box-shadow .4s var(--bx-ease);
}

.our_service .single_service:hover,
.our_project .single_our_project:hover {
  transform: translateY(-8px);
  box-shadow: 0 18px 40px -18px rgba(0, 105, 95, .35);
}

/* Slow zoom on project imagery */
.our_project .single_our_project img,
.bx-card__media img {
  transition: transform .8s var(--bx-ease);
}

.our_project .single_our_project:hover img,
.bx-card:hover .bx-card__media img {
  transform: scale(1.06);
}

/* Counter numbers get a subtle pop when they land */
.experiance_part .about_text_iner .about_text_counter h2,
.member_counter .single_member_counter span {
  transition: transform .4s var(--bx-ease);
}

.experiance_part:hover .about_text_iner .about_text_counter h2 {
  transform: scale(1.04);
}

/* Sticky header condenses on scroll */
.main_menu {
  transition:
    background-color .35s var(--bx-ease),
    box-shadow       .35s var(--bx-ease),
    padding          .35s var(--bx-ease);
}

.main_menu.bx-stuck {
  background-color: rgba(255, 255, 255, .96);
  box-shadow: 0 6px 24px -12px rgba(11, 31, 29, .28);
  backdrop-filter: saturate(160%) blur(8px);
}

/* Footer + social icons */
.footer-area .single-footer-widget ul li a,
.footer-area .footer_icon a {
  transition: color .3s var(--bx-ease), transform .3s var(--bx-ease);
}

.footer-area .single-footer-widget ul li a:hover {
  transform: translateX(4px);
}

.footer-area .footer_icon a:hover {
  color: var(--bx-teal) !important;
  transform: translateY(-3px);
}

/* --------------------------------------------------------------------------
   4. PROJECTS PAGE — card grid (used by projects.html)
   -------------------------------------------------------------------------- */

.bx-projects { padding: 100px 0 70px; }

.bx-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(310px, 1fr));
  gap: 30px;
}

.bx-card {
  background: #fff;
  border-radius: 8px;
  overflow: hidden;
  border: 1px solid #edeff2;
  display: flex;
  flex-direction: column;
  transition:
    transform  .4s var(--bx-ease),
    box-shadow .4s var(--bx-ease),
    border-color .4s var(--bx-ease);
}

.bx-card:hover {
  transform: translateY(-8px);
  border-color: var(--bx-teal);
  box-shadow: 0 22px 44px -20px rgba(0, 105, 95, .4);
}

.bx-card__media {
  position: relative;
  overflow: hidden;
  aspect-ratio: 4 / 3;
  background: var(--bx-tint);
}

.bx-card__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.bx-card__tag {
  position: absolute;
  top: 14px;
  left: 14px;
  background: var(--bx-teal);
  color: #fff;
  font-size: 11px;
  font-weight: 600;
  letter-spacing: .09em;
  text-transform: uppercase;
  padding: 6px 12px;
  border-radius: 3px;
  z-index: 2;
}

.bx-card__body {
  padding: 26px 24px 28px;
  flex: 1;
  display: flex;
  flex-direction: column;
}

.bx-card__body h3 {
  font-size: 22px;
  font-weight: 600;
  color: var(--bx-ink);
  margin-bottom: 6px;
}

.bx-card__loc {
  font-size: 14px;
  color: var(--bx-teal);
  font-weight: 500;
  margin-bottom: 14px;
  display: flex;
  align-items: center;
  gap: 6px;
}

.bx-card__body p {
  font-size: 15px;
  line-height: 1.7;
  color: #83868c;
  margin-bottom: 20px;
}

.bx-card__meta {
  margin-top: auto;
  padding-top: 18px;
  border-top: 1px solid #edeff2;
  display: flex;
  gap: 26px;
}

.bx-card__meta div span {
  display: block;
  font-size: 11px;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: #999;
  margin-bottom: 3px;
}

.bx-card__meta div strong {
  font-size: 15px;
  color: var(--bx-ink);
  font-weight: 600;
}

/* Editor's note banner — delete once real content is in */
.bx-note {
  background: var(--bx-tint);
  border-left: 3px solid var(--bx-teal);
  padding: 16px 20px;
  border-radius: 4px;
  font-size: 14px;
  color: var(--bx-teal-deep);
  margin-bottom: 40px;
}

/* --------------------------------------------------------------------------
   5. ACCESSIBILITY
   -------------------------------------------------------------------------- */

a:focus-visible,
button:focus-visible,
.btn_1:focus-visible,
.btn_4:focus-visible {
  outline: 2px solid var(--bx-teal);
  outline-offset: 3px;
  border-radius: 2px;
}

@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    animation-duration: .001ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: .001ms !important;
    scroll-behavior: auto !important;
  }

  [data-bx-reveal] {
    opacity: 1 !important;
    transform: none !important;
  }
}

/* ==========================================================================
   6. PROJECTS PAGE v2 — entity groups, stats, counters
   ========================================================================== */

/* --- Hero stat band ----------------------------------------------------- */
.bx-stats {
  background: linear-gradient(135deg, var(--bx-teal-deep) 0%, var(--bx-teal) 100%);
  padding: 54px 0;
  margin-bottom: 76px;
  border-radius: 8px;
  position: relative;
  overflow: hidden;
}

/* slow drifting sheen */
.bx-stats:after {
  content: "";
  position: absolute;
  top: -50%; left: -60%;
  width: 55%; height: 200%;
  background: linear-gradient(90deg, transparent, rgba(255,255,255,.13), transparent);
  transform: rotate(18deg);
  animation: bx-sheen 7s ease-in-out infinite;
}

@keyframes bx-sheen {
  0%, 100% { left: -60%; }
  50%      { left: 120%; }
}

.bx-stats__grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
  gap: 24px;
  position: relative;
  z-index: 1;
}

.bx-stat { text-align: center; color: #fff; }

.bx-stat strong {
  display: block;
  font-size: 44px;
  font-weight: 700;
  line-height: 1.1;
  letter-spacing: -.02em;
}

.bx-stat span {
  display: block;
  margin-top: 6px;
  font-size: 13px;
  letter-spacing: .1em;
  text-transform: uppercase;
  opacity: .88;
}

/* --- Entity group heading ---------------------------------------------- */
.bx-group { margin-bottom: 80px; }

.bx-group__head {
  border-left: 3px solid var(--bx-teal);
  padding-left: 20px;
  margin-bottom: 34px;
}

.bx-group__eyebrow {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .16em;
  text-transform: uppercase;
  color: var(--bx-teal);
  margin-bottom: 8px;
  display: block;
}

.bx-group__head h2 {
  font-size: 30px;
  font-weight: 600;
  color: var(--bx-ink);
  margin: 0 0 8px;
  line-height: 1.25;
}

.bx-group__head p {
  font-size: 15px;
  color: #83868c;
  margin: 0;
  max-width: 760px;
  line-height: 1.7;
}

/* --- Status pill -------------------------------------------------------- */
.bx-card__tag--done {
  background: var(--bx-ink);
}

.bx-card__tag--live {
  background: var(--bx-teal);
}

.bx-card__tag--live:before {
  content: "";
  display: inline-block;
  width: 6px; height: 6px;
  border-radius: 50%;
  background: #fff;
  margin-right: 7px;
  vertical-align: middle;
  animation: bx-pulse 1.8s ease-in-out infinite;
}

@keyframes bx-pulse {
  0%, 100% { opacity: 1;   transform: scale(1); }
  50%      { opacity: .35; transform: scale(.75); }
}

/* --- Value chip --------------------------------------------------------- */
.bx-card__value {
  position: absolute;
  bottom: 0; right: 0;
  background: rgba(11, 31, 29, .82);
  backdrop-filter: blur(6px);
  color: #fff;
  font-size: 15px;
  font-weight: 600;
  padding: 9px 16px;
  border-top-left-radius: 6px;
  z-index: 2;
  transform: translateY(100%);
  transition: transform .45s var(--bx-ease);
}

.bx-card:hover .bx-card__value { transform: none; }

/* Always visible on touch — no hover to reveal it */
@media (hover: none) {
  .bx-card__value { transform: none; }
}

/* --- Placeholder tile for projects with no photograph ------------------- */
.bx-card__media--none {
  display: flex;
  align-items: center;
  justify-content: center;
  background:
    repeating-linear-gradient(45deg,
      var(--bx-tint) 0 12px,
      #ddf4f1 12px 24px);
}

.bx-card__media--none span {
  font-size: 58px;
  font-weight: 700;
  color: var(--bx-teal);
  opacity: .5;
  letter-spacing: -.03em;
}

/* --- Gallery strip ------------------------------------------------------ */
.bx-strip {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
  gap: 14px;
  margin-top: 14px;
}

.bx-strip figure {
  margin: 0;
  border-radius: 6px;
  overflow: hidden;
  aspect-ratio: 4 / 3;
}

.bx-strip img {
  width: 100%; height: 100%;
  object-fit: cover;
  display: block;
  transition: transform .7s var(--bx-ease), filter .4s var(--bx-ease);
  filter: saturate(.92);
}

.bx-strip figure:hover img {
  transform: scale(1.07);
  filter: saturate(1.1);
}

@media (max-width: 575px) {
  .bx-stat strong { font-size: 34px; }
  .bx-group__head h2 { font-size: 24px; }
  .bx-projects { padding: 60px 0 40px; }
}

/* ==========================================================================
   7. HERO SLIDER — replaces the static banner_img background
   ========================================================================== */

.banner_part {
  background-image: none !important;   /* kill the theme's stock photo */
  position: relative;
  height: 760px !important;
}

@media (max-width: 991px) { .banner_part { height: 640px !important; } }
@media (max-width: 575px) { .banner_part { height: 580px !important; } }

.bx-hero {
  position: absolute;
  inset: 0;
  overflow: hidden;
  z-index: 0;
}

.bx-hero__slide {
  position: absolute;
  inset: 0;
  opacity: 0;
  background-size: cover;
  background-position: center;
  transition: opacity 1.1s var(--bx-ease);
  transform: scale(1.06);
}

.bx-hero__slide.is-on {
  opacity: 1;
  animation: bx-kenburns 9s linear forwards;   /* slow drift while visible */
}

@keyframes bx-kenburns {
  from { transform: scale(1.06); }
  to   { transform: scale(1.14); }
}

/* Scrim so the headline stays readable over any photo */
.bx-hero:after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(100deg,
    rgba(255,255,255,.97) 0%,
    rgba(255,255,255,.93) 28%,
    rgba(255,255,255,.55) 48%,
    rgba(0,105,95,.28)    72%,
    rgba(0,105,95,.45)    100%);
}

@media (max-width: 991px) {
  .bx-hero:after {
    background: linear-gradient(180deg,
      rgba(255,255,255,.96) 0%,
      rgba(255,255,255,.88) 45%,
      rgba(0,105,95,.55)   100%);
  }
}

/* Keep the theme's text above the slider */
.banner_part .container { position: relative; z-index: 2; }

/* --- Caption ------------------------------------------------------------ */
.bx-hero__cap {
  position: absolute;
  right: 40px;
  bottom: 92px;
  z-index: 3;
  text-align: right;
  color: #fff;
  text-shadow: 0 2px 14px rgba(0,0,0,.5);
  max-width: 46%;
}

.bx-hero__cap b {
  display: block;
  font-size: 19px;
  font-weight: 600;
  letter-spacing: .01em;
}

.bx-hero__cap span {
  display: block;
  font-size: 12px;
  letter-spacing: .12em;
  text-transform: uppercase;
  opacity: .9;
  margin-top: 3px;
}

@media (max-width: 991px) { .bx-hero__cap { display: none; } }

/* --- Dots --------------------------------------------------------------- */
.bx-hero__dots {
  position: absolute;
  right: 40px;
  bottom: 48px;
  z-index: 3;
  display: flex;
  gap: 10px;
}

.bx-hero__dots button {
  width: 30px;
  height: 4px;
  border: 0;
  padding: 0;
  border-radius: 2px;
  background: rgba(255,255,255,.5);
  cursor: pointer;
  position: relative;
  overflow: hidden;
  transition: background .3s var(--bx-ease);
}

.bx-hero__dots button:hover { background: rgba(255,255,255,.8); }

.bx-hero__dots button[aria-current="true"] { background: rgba(255,255,255,.35); }

.bx-hero__dots button[aria-current="true"]:after {
  content: "";
  position: absolute;
  inset: 0;
  background: var(--bx-teal);
  transform-origin: left;
  animation: bx-dotfill 6s linear forwards;
}

@keyframes bx-dotfill { from { transform: scaleX(0); } to { transform: scaleX(1); } }

.bx-hero.is-paused .bx-hero__dots button[aria-current="true"]:after,
.bx-hero.is-paused .bx-hero__slide.is-on { animation-play-state: paused; }

@media (max-width: 991px) {
  .bx-hero__dots { right: 50%; transform: translateX(50%); bottom: 26px; }
}

@media (prefers-reduced-motion: reduce) {
  .bx-hero__slide.is-on,
  .bx-hero__dots button[aria-current="true"]:after { animation: none !important; }
  .bx-hero__slide { transform: none !important; }
  .bx-hero__dots button[aria-current="true"] { background: var(--bx-teal); }
}
