/* ================= LOGIN MODAL (FINAL CLEAN VERSION) ================= */

body.modal-open {
  overflow: hidden;
}

/* OVERLAY */
.login-overlay {
  position: fixed;
  inset: 0;
  background: rgba(0,0,0,0.6);
  display: none;
  align-items: center;
  justify-content: center;
  z-index: 10000;
}

.login-overlay.active {
  display: flex;
}

/* MODAL */
.login-modal {
  width: 950px;
  max-width: 95%;
  height: 540px;
  background: #fff;
  border-radius: 10px;
  display: flex;
  overflow: hidden;
  position: relative;
}

/* CLOSE BUTTON */
.close-btn {
  position: absolute;
  top: 14px;
  right: 14px;
  width: 36px;
  height: 36px;
  background: #000;
  border-radius: 50%;
  border: none;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 20;
}

.close-btn svg {
  width: 14px;
  height: 14px;
  stroke: #fff;
  stroke-width: 2.6;
  stroke-linecap: round;
}

/* ================= LEFT IMAGE ================= */

.login-left {
  width: 45%;
  background: #f5eee8;
  position: relative;
}

.login-image {
  width: 100%;
  height: 100%;
  background:
    linear-gradient(
      to bottom,
      rgba(0,0,0,0.15),
      rgba(0,0,0,0.45)
    ),
    url("/images/login-banner.jpg") center / contain no-repeat;
    display: flex;
  align-items: flex-end;
  padding: 28px;
}

/* BRAND OVER IMAGE */
.brand-overlay {
  position: absolute;
  bottom: 30px;
  left: 75px;
  color: #fff;
  max-width: 90%;
}

.brand-overlay img {
  width: 140px;
  margin-bottom: 8px;
}

.brand-overlay p {
  font-size: 14px;
  opacity: 0.9;
  margin-bottom: 18px;
}

.brand-overlay h2 {
  font-size: 18px;
  margin: 0;
}

.brand-overlay h1 {
  font-size: 30px;
  font-weight: 700;
  margin: 6px 0;
}

.brand-overlay span {
  font-size: 18px;
  opacity: 0.9;
}
/*welcome 51 CSS*/
.offer-text {
  display: block;
  font-size: 14px;
  margin-top: 6px;
  opacity: 0.9;
}
/* ✅ USE CODE – FIXED BELOW */
.offer-code {
  margin-top: 20px;
  display: inline-block;
  background: rgba(0,0,0,0.6);
  padding: 6px 12px;
  border-radius: 4px;
  font-size: 18px;
  letter-spacing: 1px;
}


/* ================= RIGHT PANEL ================= */

.login-right {
  width: 55%;
  padding: 48px 56px;
  display: flex;
  flex-direction: column;
  justify-content: center;
}

/* BRAND ICON + WELCOME */
.login-brand {
  text-align: center;
  margin-bottom: 22px;
}

.login-brand img {
  width: 32px;
  margin-bottom: 6px;
}

.login-brand p {
  font-size: 14px;
  color: #444;
  margin: 0;
}

/* TITLES */
.login-title {
  text-align: center;
  font-size: 24px;
  font-weight: 600;
  margin-bottom: 4px;
  letter-spacing: 0.4px;
}

.login-subtitle {
  text-align: center;
  font-size: 13px;
  color: #777;
  margin-bottom: 28px;
}

/* INPUT */
.login-right input {
  width: 100%;
  padding: 12px 6px;
  border: none;
  border-bottom: 1px solid #ccc;
  font-size: 14px;
  outline: none;
  margin-bottom: 18px;
}

/* REMEMBER ME */
.remember-label {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 13px;
  color: #333;
  cursor: pointer;
  margin-bottom: 26px;
}

.remember-label input {
  width: 14px;
  height: 14px;
  margin: 0;
}

/* BUTTON */
.login-btn {
  width: 100%;
  padding: 14px;
  background: #8b1d1d;
  color: #fff;
  border: none;
  font-size: 14px;
  cursor: pointer;
  letter-spacing: 0.6px;
}

/* ERROR */
.error-box {
  display: none;
  background: #fde2e2;
  color: #b00020;
  padding: 8px;
  font-size: 13px;
  margin-bottom: 10px;
  border-radius: 4px;
}

/* STEPS */
.step {
  display: none;
}

.step.active {
  display: block;
}

/* =====================================================
   BIBA STYLE HEADER HOVER + MENU FIX
   Added on: 26-01-2026
===================================================== */

/* Remove white gap between header and menu */
#header {
  margin-bottom: 0 !important;
  padding-bottom: 0 !important;
}

.category-nav {
  margin-top: 0 !important;
  padding-top: 0 !important;
}

/* Default header (dark) */
#header {
  background: #000;
  transition: all 0.3s ease;
}

/* Default icon & text color */
#header a,
#header i,
#header svg {
  color: #fff;
  transition: color 0.3s ease;
}

/* Logo default (white) */
#header .logo img {
  filter: brightness(0) invert(1);
  transition: filter 0.3s ease;
}

/* Hover effect like BIBA */
#header:hover,
#header:hover + .category-nav,
.category-nav:hover {
  background: #fff;
}

/* Icon color change on hover */
#header:hover a,
#header:hover i,
#header:hover svg,
.category-nav:hover a {
  color: #000 !important;
}

/* Logo color on hover */
#header:hover .logo img {
  filter: brightness(1) invert(0);
}

/* Smooth menu connection */
.category-nav {
  background: transparent;
  transition: background 0.3s ease;
}

#header:hover + .category-nav {
  background: #fff;
}

/* Mobile safety */
@media (max-width: 768px) {
  #header:hover,
  .category-nav:hover {
    background: #000;
  }

  #header a,
  #header i {
    color: #fff !important;
  }
}





/* ================= MOBILE ================= */

/* =========================
   MOBILE LOGIN FIX (LIKE BIBA)
========================= */

@media (max-width: 768px) {

  /* Hide banner image completely */
  .login-left,
  .login-banner,
  .login-image {
    display: none !important;
  }

  /* Center login box */
  .login-container,
  .login-box {
    flex-direction: column;
    width: 100%;
    max-width: 100%;
  }

  /* Make form full width */
  .login-right,
  .login-form {
    width: 100% !important;
    padding: 24px 20px;
  }

  /* Fix modal height */
  .login-modal,
  .login-overlay {
    align-items: center;
    padding: 10px;
  }

  /* Prevent horizontal scroll */
  body.modal-open {
    overflow: hidden;
  }
}
