/* cruiseitis_login_custom.css */

/* Login-only background */
body.page-login,
body.signin,
body.login,
body[data-page="signin"],
body[data-page="login"]{
  background:
    radial-gradient(1200px 600px at 20% 10%, rgba(63,169,166,0.10), transparent 60%),
    radial-gradient(900px 500px at 85% 20%, rgba(200,168,90,0.10), transparent 55%),
    var(--ct-white) !important;
}

/* Safety overrides for global gold links + svg icon normalization */
body.page-login a,
body.signin a,
body.login a{ color: var(--ct-navy-2) !important; }
body.page-login a:hover,
body.signin a:hover,
body.login a:hover{ color: #B8984A !important; }

body.page-login a svg,
body.page-login a svg *,
body.signin a svg,
body.signin a svg *,
body.login a svg,
body.login a svg *{
  fill: initial !important;
  stroke: initial !important;
}

body.page-login .main-header a svg,
body.page-login .main-header a svg *,
body.page-login .left-sidebar a svg,
body.page-login .left-sidebar a svg *{
  fill: currentColor !important;
  stroke: currentColor !important;
}

/* Card polish */
.page-login .panel,
.page-login .card,
.signin .panel,
.signin .card,
.login .panel,
.login .card{
  border: 1px solid var(--ct-border) !important;
  border-radius: 22px !important;
  box-shadow: 0 18px 44px rgba(11,30,60,0.12) !important;
  background: #fff !important;
}

/* Headline */
.page-login h1, .page-login h2,
.signin h1, .signin h2,
.login h1, .login h2{
  color: var(--ct-navy) !important;
  font-weight: 800 !important;
  letter-spacing: -0.02em;
}

/* Inputs */
.page-login .form-control,
.signin .form-control,
.login .form-control{
  background: rgba(18,43,82,0.04) !important;
  border: 1px solid rgba(18,43,82,0.14) !important;
  border-radius: 14px !important;
  padding: 12px 14px !important;
}
.page-login .form-control:focus,
.signin .form-control:focus,
.login .form-control:focus{
  background: #fff !important;
  border-color: rgba(63,169,166,0.55) !important;
  box-shadow: 0 0 0 4px rgba(63,169,166,0.16) !important;
}

/* Button */
.page-login .btn-primary,
.signin .btn-primary,
.login .btn-primary{
  background: linear-gradient(135deg, var(--ct-teal) 0%, #2C8E8B 100%) !important;
  border: 0 !important;
  border-radius: 14px !important;
  padding: 12px 16px !important;
  font-weight: 800 !important;
  box-shadow: 0 12px 22px rgba(63,169,166,0.20) !important;
}

/* Logo sizing */
.page-login .logo img,
.signin .logo img,
.login .logo img{
  height: 52px !important;
  width: auto !important;
  max-width: 260px !important;
}

/* Hero overlay (you may need to replace selector once we confirm the class) */
.page-login .welcome-box,
.page-login .welcome-side,
.page-login .login-side{
  position: relative;
  border-radius: 22px !important;
  overflow: hidden;
}
.page-login .welcome-box::before,
.page-login .welcome-side::before,
.page-login .login-side::before{
  content:"";
  position:absolute;
  inset:0;
  background: linear-gradient(
    180deg,
    rgba(11,30,60,0.12) 0%,
    rgba(11,30,60,0.58) 55%,
    rgba(11,30,60,0.78) 100%
  );
  pointer-events:none;
}

/* Mobile */
@media (max-width: 768px){
  .page-login .logo img{ height: 42px !important; max-width: 220px !important; }
  .page-login .btn{ width: 100%; }
}


/* ===== LOGIN LOGO: brute force sizing ===== */

/* If the login logo is an IMG anywhere near the login form */
body.page-login img,
body.signin img,
body.login img{
  /* nothing here yet (don’t style every image) */
}

/* Most common: logo in a link or a logo block above the form */
body.page-login a img,
body.signin a img,
body.login a img{
  max-height: none !important;
}

/* Target images that are likely the brand logo (common patterns) */
body.page-login img[alt*="Cruise" i],
body.signin img[alt*="Cruise" i],
body.login img[alt*="Cruise" i],
body.page-login img[src*="logo" i],
body.signin img[src*="logo" i],
body.login img[src*="logo" i],
body.page-login .logo img,
body.signin .logo img,
body.login .logo img,
body.page-login .navbar-brand img,
body.signin .navbar-brand img,
body.login .navbar-brand img{
  height: 56px !important;      /* bump this */
  width: auto !important;
  max-width: 280px !important;
  max-height: none !important;
  display: block !important;
}

/* Remove common parent constraints that keep it tiny */
body.page-login .logo,
body.signin .logo,
body.login .logo,
body.page-login .navbar-brand,
body.signin .navbar-brand,
body.login .navbar-brand{
  height: auto !important;
  max-height: none !important;
  padding: 0 !important;
  line-height: 1 !important;
}

/* ===== Cruiseitis Login Logo Fix (Sngine fr_welcome_sign) ===== */

/* Give the wrapper a real box and align nicely */
.fr_welcome_sign .logo-wrapper{
  display: flex !important;
  align-items: center !important;
  justify-content: flex-start !important;

  height: 64px !important;          /* adjust: 56–72 */
  padding: 0 !important;
  overflow: visible !important;      /* stop cropping */
  line-height: 1 !important;
}

/* Let the image fill that box without overflowing */
.fr_welcome_sign .logo-wrapper img{
  height: 100% !important;           /* fills wrapper height */
  width: auto !important;
  max-height: 100% !important;       /* override max-height:45px */
  max-width: 260px !important;       /* override max-width:150px */
  object-fit: contain !important;
  display: block !important;
  transform: none !important;        /* override translateZ(0px) */
}

/* Mobile tune */
@media (max-width: 576px){
  .fr_welcome_sign .logo-wrapper{
    height: 52px !important;
  }
  .fr_welcome_sign .logo-wrapper img{
    max-width: 220px !important;
  }
}
