
:root{
  --primary:#f4c431;
  --primary-dark:#041f4f;
  --brand-gold:#f4c431;
  --brand-navy:#041f4f;
  --brand-blue:#006fd6;
  --brand-silver:#e7edf6;
  --ink:#0b1730;
  --ink-2:#17263f;
  --muted:#64748b;
  --bg:#f8fafc;
  --line:#d9e2ef;
  --soft:#fff8df;
  --success:#16a34a;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#334155;background:#fff}
a{text-decoration:none}
.navbar{background:rgba(4,31,79,.97)!important;backdrop-filter:blur(10px);z-index:1050}
.navbar-brand{letter-spacing:-.7px}
.brand-dot{color:#60a5fa}
.navbar .nav-link{color:#cbd5e1!important}
.navbar .nav-link:hover,.navbar .nav-link.active{color:#fff!important}
@media(max-width:991.98px){
 .navbar-collapse{position:absolute;top:100%;left:0;right:0;background:#0f172a;padding:1.25rem;border-top:1px solid rgba(255,255,255,.08);box-shadow:0 14px 30px rgba(0,0,0,.25)}
}
.hero h1,.display-tight{letter-spacing:-1.4px}
.hero-card{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.12);border-radius:22px;backdrop-filter:blur(16px)}
.hero-card .metric{background:rgba(15,23,42,.62);border:1px solid rgba(255,255,255,.10);border-radius:14px}
.eyebrow{font-size:.78rem;letter-spacing:.12em;text-transform:uppercase;font-weight:800;color:var(--primary)}
.section{padding:76px 0}
.section-sm{padding:54px 0}
.bg-soft{background:var(--bg)}
.max-copy{max-width:720px}
.feature-card,.portal-card,.mini-card,.pricing-card,.listing-card{border:1px solid var(--line);border-radius:18px;background:#fff;transition:.2s ease}
.feature-card:hover,.portal-card:hover,.pricing-card:hover,.listing-card:hover{transform:translateY(-3px);box-shadow:0 16px 40px rgba(15,23,42,.08)}
.icon-box{width:46px;height:46px;border-radius:12px;background:var(--soft);color:var(--primary);display:inline-flex;align-items:center;justify-content:center;font-size:1.35rem;flex:none}
.check-list{list-style:none;padding-left:0;margin:0}
.check-list li{padding:.34rem 0;color:#475569}
.check-list i{color:var(--success);margin-right:.55rem}
.pill{display:inline-flex;gap:.4rem;align-items:center;padding:.42rem .78rem;border:1px solid #bfdbfe;background:#eff6ff;color:#1d4ed8;border-radius:999px;font-weight:700;font-size:.82rem}
.cta{background:linear-gradient(135deg,#1e3a8a,#2563eb);border-radius:26px;color:#fff}
.tabs-note{border-left:4px solid var(--primary);background:#f8fafc;padding:1rem 1.2rem;border-radius:0 12px 12px 0}
.pricing-card.popular{border:2px solid var(--primary)}
.price{font-size:2.4rem;font-weight:800;color:var(--ink)}
.listing-image{height:220px;object-fit:cover;width:100%}
.status{position:absolute;top:14px;left:14px}
.footer{background:#041f4f;color:#e7edf6}
.footer a{color:#e7edf6}
.footer a:hover{color:#fff}
.logo-mark{width:34px;height:34px;border-radius:9px;background:linear-gradient(135deg,#60a5fa,#2563eb);display:inline-flex;align-items:center;justify-content:center;color:#fff}
.table-clean th{font-size:.78rem;text-transform:uppercase;letter-spacing:.06em;color:#64748b}
.table-clean td{vertical-align:middle}
.badge-soft{background:#eff6ff;color:#1d4ed8}
.step-num{width:38px;height:38px;border-radius:999px;background:#dbeafe;color:#1d4ed8;font-weight:800;display:flex;align-items:center;justify-content:center;flex:none}
.form-control,.form-select{border-color:#cbd5e1;padding:.72rem .85rem}
.form-control:focus,.form-select:focus{border-color:#60a5fa;box-shadow:0 0 0 .2rem rgba(37,99,235,.12)}

.page-hero{position:relative;color:#fff;padding:92px 0 82px;background-size:cover;background-position:center;isolation:isolate}
.page-hero::before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(15,23,42,.76) 0%,rgba(15,23,42,.58) 48%,rgba(15,23,42,.38) 100%);z-index:-1}
.page-hero.hero-home{background-image:url("https://images.unsplash.com/photo-1560518883-ce09059eeffa?auto=format&fit=crop&w=1800&q=85")}
.page-hero.hero-features{background-image:url("https://images.unsplash.com/photo-1486406146926-c627a92ad1ab?auto=format&fit=crop&w=1800&q=85")}
.page-hero.hero-airbnb{background-image:url("https://images.unsplash.com/photo-1600607687920-4e2a09cf159d?auto=format&fit=crop&w=1800&q=85")}
.page-hero.hero-listings{background-image:url("https://images.unsplash.com/photo-1600585154340-be6161a56a0c?auto=format&fit=crop&w=1800&q=85")}
.page-hero.hero-pricing{background-image:url("https://images.unsplash.com/photo-1554469384-e58fac16e23a?auto=format&fit=crop&w=1800&q=85")}
.page-hero.hero-about{background-image:url("https://images.unsplash.com/photo-1497366754035-f200968a6e72?auto=format&fit=crop&w=1800&q=85")}
.page-hero.hero-contact{background-image:url("https://images.unsplash.com/photo-1497366811353-6870744d04b2?auto=format&fit=crop&w=1800&q=85")}
.page-hero.hero-faq{background-image:url("https://images.unsplash.com/photo-1497366216548-37526070297c?auto=format&fit=crop&w=1800&q=85")}
.page-hero.hero-legal{background-image:url("https://images.unsplash.com/photo-1497366754035-f200968a6e72?auto=format&fit=crop&w=1800&q=85")}
.page-hero .lead,.page-hero .text-white-50{color:rgba(255,255,255,.78)!important}
.demo-calendar{border:1px solid var(--line);border-radius:18px;overflow:hidden;background:#fff}
.demo-calendar table{margin:0}
.demo-calendar th,.demo-calendar td{text-align:center;padding:.78rem .35rem}
.demo-calendar td{height:58px}
.demo-calendar .available{background:#eff6ff;color:#1d4ed8;font-weight:700}
.demo-calendar .muted-day{color:#cbd5e1}

.page-hero{min-height:420px;display:flex;align-items:center;background-size:cover;background-position:center}
.listing-image{height:235px;object-fit:cover;width:100%}



/* iFixRent approved navy / metallic-gold / silver visual system */
.navbar{background:rgba(4,31,79,.97)!important;border-bottom:1px solid rgba(244,196,49,.22)}
.site-logo{display:block;width:auto;height:52px;object-fit:contain}
.footer-logo{display:block;width:auto;height:72px;object-fit:contain}
@media(max-width:575.98px){.site-logo{height:44px}.footer-logo{height:62px}}

.btn-primary{
  --bs-btn-color:#041f4f;
  --bs-btn-bg:#f4c431;
  --bs-btn-border-color:#f4c431;
  --bs-btn-hover-color:#041f4f;
  --bs-btn-hover-bg:#ffd45d;
  --bs-btn-hover-border-color:#ffd45d;
  --bs-btn-active-color:#041f4f;
  --bs-btn-active-bg:#e4a900;
  --bs-btn-active-border-color:#e4a900;
  font-weight:700;
}
.btn-outline-primary{
  --bs-btn-color:#9b6a00;
  --bs-btn-border-color:#d9a514;
  --bs-btn-hover-color:#041f4f;
  --bs-btn-hover-bg:#f4c431;
  --bs-btn-hover-border-color:#f4c431;
}
.text-primary{color:#b77b00!important}
.bg-primary{background-color:#dca80e!important}
.border-primary{border-color:#dca80e!important}
.badge-soft{background:#fff5cf;color:#7b5300}
.icon-box{background:#fff5cf;color:#8a5d00}
.eyebrow{color:#a46d00}
.pill{border-color:#efd67c;background:rgba(255,248,218,.95);color:#7a5200}
.footer{background:#041f4f}
.page-hero::before{background:linear-gradient(90deg,rgba(3,22,57,.74) 0%,rgba(3,22,57,.55) 48%,rgba(3,22,57,.30) 100%)}
.cta{background:linear-gradient(135deg,#041f4f,#006fd6 62%,#f4c431)}
.feature-card:hover,.portal-card:hover,.pricing-card:hover,.listing-card:hover{box-shadow:0 16px 40px rgba(4,31,79,.11)}
a{color:#075eaf}
a:hover{color:#8a5d00}

.turnstile-wrap{
  border:1px solid var(--line);
  background:#fff;
  border-radius:12px;
  padding:1rem;
}
.cf-turnstile{min-height:65px}


/* ============================================================
   iFixRent premium public-site polish + backend-ready UX layer
   September 2026
   ============================================================ */
:root{
  --premium-shadow:0 24px 70px rgba(4,31,79,.10);
  --premium-shadow-hover:0 28px 76px rgba(4,31,79,.16);
  --radius-xl:28px;
  --radius-lg:22px;
  --surface-blue:#f4f8fd;
  --surface-gold:#fff9e8;
}
body{
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
  overflow-x:hidden;
}
.container{--bs-gutter-x:1.65rem}
h1,h2,h3,h4,h5,h6{color:var(--ink);text-wrap:balance}
.page-hero h1,.page-hero h2,.page-hero h3{color:#fff}
p{line-height:1.72}
.section{padding:clamp(4rem,7vw,6.8rem) 0}
.section-sm{padding:clamp(3rem,5vw,4.8rem) 0}

.navbar{
  padding-top:.72rem!important;
  padding-bottom:.72rem!important;
  box-shadow:0 8px 28px rgba(4,31,79,.18);
}
.navbar .nav-link{
  font-size:.94rem;
  font-weight:650;
  padding:.75rem .68rem!important;
  position:relative;
}
.navbar .nav-link::after{
  content:"";
  position:absolute;
  height:2px;
  left:.68rem;right:.68rem;bottom:.35rem;
  transform:scaleX(0);
  transform-origin:center;
  background:linear-gradient(90deg,var(--brand-gold),#ffe58a);
  transition:transform .2s ease;
}
.navbar .nav-link:hover::after,.navbar .nav-link.active::after{transform:scaleX(1)}
.dropdown-menu{
  border:1px solid rgba(4,31,79,.10);
  border-radius:16px;
  padding:.6rem;
}
.dropdown-item{border-radius:10px;padding:.7rem .85rem}
.dropdown-item:hover{background:#f7f9fc}

.btn{
  border-radius:12px;
  padding:.72rem 1.08rem;
  letter-spacing:.005em;
  transition:transform .18s ease,box-shadow .18s ease,background-color .18s ease,border-color .18s ease;
}
.btn:hover{transform:translateY(-1px)}
.btn-primary{box-shadow:0 10px 24px rgba(233,179,23,.18)}
.btn-primary:hover{box-shadow:0 13px 30px rgba(233,179,23,.28)}
.btn-lg{padding:.88rem 1.3rem;border-radius:14px}

.page-hero{
  min-height:clamp(440px,62vh,670px);
  padding:clamp(5.4rem,9vw,8.5rem) 0;
  background-position:center;
}
.page-hero::after{
  content:"";
  position:absolute;
  inset:0;
  z-index:-1;
  background:
    radial-gradient(circle at 78% 34%,rgba(244,196,49,.12),transparent 25%),
    linear-gradient(180deg,transparent 72%,rgba(4,31,79,.24));
}
.page-hero h1{
  font-size:clamp(2.45rem,5vw,4.9rem);
  line-height:1.02;
  max-width:13ch;
}
.page-hero .lead{
  max-width:660px;
  font-size:clamp(1rem,1.45vw,1.22rem);
  line-height:1.68;
}
.hero-card{
  border-radius:var(--radius-xl);
  box-shadow:0 30px 90px rgba(0,0,0,.22);
  overflow:hidden;
  position:relative;
}
.hero-card::before{
  content:"";
  height:3px;
  position:absolute;left:24px;right:24px;top:0;
  background:linear-gradient(90deg,transparent,var(--brand-gold),transparent);
}
.hero-card .metric{min-height:86px}

.eyebrow{display:inline-block;margin-bottom:.15rem}
.max-copy{max-width:760px}
.feature-card,.portal-card,.mini-card,.pricing-card,.listing-card{
  border-color:rgba(4,31,79,.09);
  box-shadow:0 8px 26px rgba(4,31,79,.045);
}
.feature-card{
  border-top:3px solid rgba(244,196,49,.78);
}
.portal-card{
  background:linear-gradient(145deg,#fff,#f7faff);
}
.mini-card{
  background:linear-gradient(145deg,#fff,var(--surface-blue));
}
.pricing-card{overflow:hidden}
.pricing-card.popular{
  transform:translateY(-8px);
  box-shadow:var(--premium-shadow);
}
.listing-card{
  display:flex;
  flex-direction:column;
  overflow:hidden;
}
.listing-card>.p-4,
.listing-card>div:last-child{
  flex:1;
}
.listing-card:hover{box-shadow:var(--premium-shadow-hover)}
.listing-image{
  height:clamp(220px,22vw,285px);
  transition:transform .5s ease;
}
.listing-card:hover .listing-image{transform:scale(1.025)}
.listing-card .status{
  top:16px;left:16px;
  padding:.48rem .72rem;
  border-radius:999px;
  box-shadow:0 5px 16px rgba(0,0,0,.12);
}
.listing-meta{
  display:flex;
  flex-wrap:wrap;
  gap:.5rem;
}
.listing-meta span{
  padding:.38rem .58rem;
  border:1px solid var(--line);
  border-radius:999px;
  font-size:.8rem;
  color:#64748b;
  background:#fff;
}
.availability-panel{
  background:linear-gradient(145deg,#f8fbff,#eef5fc);
  border:1px solid #d9e9f8!important;
}
.card{
  border-radius:var(--radius-lg)!important;
}
.form-shell{
  border:1px solid rgba(4,31,79,.08)!important;
  box-shadow:var(--premium-shadow)!important;
}
.form-label{
  font-size:.88rem;
  font-weight:700;
  color:#253752;
  margin-bottom:.42rem;
}
.form-control,.form-select{
  border-radius:11px;
  min-height:48px;
  background:#fff;
}
textarea.form-control{min-height:auto}
.form-control::placeholder{color:#9aa8ba}
.form-control:focus,.form-select:focus{
  border-color:#d8a916;
  box-shadow:0 0 0 .2rem rgba(244,196,49,.14);
}
.turnstile-wrap{background:#fbfcfe}

.cta{
  padding:clamp(2.3rem,5vw,4.5rem)!important;
  border:1px solid rgba(244,196,49,.16);
  box-shadow:0 24px 70px rgba(4,31,79,.16);
  position:relative;
  overflow:hidden;
}
.cta::before{
  content:"";
  position:absolute;width:300px;height:300px;
  border-radius:50%;right:-110px;top:-150px;
  background:rgba(244,196,49,.10);
}
.cta>*{position:relative}

.footer{position:relative}
.footer::before{
  content:"";
  position:absolute;left:0;right:0;top:0;height:1px;
  background:linear-gradient(90deg,transparent,rgba(244,196,49,.6),transparent);
}
.footer h6{color:#fff!important;margin-bottom:1rem}
.footer a{transition:color .18s ease,transform .18s ease}
.footer a:hover{transform:translateX(2px)}

.demo-calendar{box-shadow:inset 0 0 0 1px rgba(4,31,79,.02)}
.demo-calendar .available{
  position:relative;
  border-radius:10px;
  background:#eef6ff;
}
.demo-calendar .available::after{
  content:"";
  position:absolute;
  width:5px;height:5px;border-radius:50%;
  background:var(--brand-gold);
  bottom:7px;left:50%;transform:translateX(-50%);
}

.backend-note{
  border:1px dashed #b9c9dc;
  background:#f9fbfe;
  border-radius:14px;
  padding:.85rem 1rem;
  font-size:.84rem;
  color:#64748b;
}
.public-search{
  border:1px solid rgba(4,31,79,.08)!important;
  box-shadow:0 16px 48px rgba(4,31,79,.08)!important;
}
.public-search .btn{min-height:48px}
.modal-content{
  border:0;
  box-shadow:0 28px 90px rgba(4,31,79,.22);
}
.modal-header,.modal-footer{border-color:#edf1f6}
.modal-body{padding:1.4rem 1.4rem .8rem}
.modal-header,.modal-footer{padding:1.2rem 1.4rem}
.modal-title{color:var(--ink)}

@media(max-width:1199.98px){
  .navbar .nav-link{padding-left:.52rem!important;padding-right:.52rem!important;font-size:.9rem}
  .site-logo{height:48px}
}
@media(max-width:991.98px){
  .navbar-collapse{
    top:calc(100% + 1px);
    left:.75rem;right:.75rem;
    border:1px solid rgba(255,255,255,.08);
    border-radius:0 0 20px 20px;
    padding:1rem 1.1rem 1.25rem;
  }
  .navbar .nav-link{padding:.75rem .25rem!important}
  .navbar .nav-link::after{left:.25rem;right:auto;width:34px;bottom:.35rem;transform-origin:left}
  .navbar-collapse .d-flex{flex-direction:column}
  .navbar-collapse .dropdown,.navbar-collapse .btn{width:100%}
  .navbar-collapse .dropdown-toggle{width:100%}
  .page-hero{min-height:auto;text-align:left}
  .hero-card{margin-top:.7rem}
  .pricing-card.popular{transform:none}
}
@media(max-width:767.98px){
  .container{--bs-gutter-x:1.25rem}
  .section{padding:3.7rem 0}
  .page-hero{padding:4.7rem 0 4.4rem;background-position:55% center}
  .page-hero::before{background:linear-gradient(90deg,rgba(3,22,57,.88),rgba(3,22,57,.68))}
  .page-hero h1{font-size:clamp(2.25rem,10vw,3.25rem);max-width:15ch}
  .hero-card{padding:1.15rem!important;border-radius:20px}
  .hero-card .metric{min-height:82px}
  .feature-card,.portal-card,.mini-card,.pricing-card{padding:1.3rem!important}
  .listing-image{height:250px}
  .cta{text-align:left!important;border-radius:22px}
  .cta .d-flex{justify-content:flex-start!important}
  .demo-calendar{overflow-x:auto}
  .demo-calendar table{min-width:620px}
}
@media(max-width:575.98px){
  .site-logo{height:42px;max-width:178px}
  .navbar-toggler{padding:.44rem .55rem}
  .page-hero{padding:4rem 0}
  .pill{font-size:.74rem}
  .hero-card .row>[class*="col-6"]{width:100%}
  .hero-card .metric{min-height:auto}
  .portal-card-grid>[class*="col-6"]{width:100%}
  .public-search .row>[class*="col-"]{width:100%}
  .listing-card .d-flex.justify-content-between.align-items-center{
    align-items:flex-start!important;
    gap:.75rem;
    flex-wrap:wrap;
  }
  .listing-card .d-flex.justify-content-between.align-items-center .btn{width:100%}
  .modal-dialog{margin:.65rem}
  .modal-body,.modal-header,.modal-footer{padding-left:1rem;padding-right:1rem}
  .footer-logo{max-width:210px;width:100%;height:auto}
}


/* ============================================================
   iFixRent portal login shells
   ============================================================ */
.login-page{
  min-height:100vh;
  background:
    radial-gradient(circle at 12% 18%,rgba(0,111,214,.08),transparent 24rem),
    radial-gradient(circle at 88% 80%,rgba(244,196,49,.08),transparent 26rem),
    linear-gradient(145deg,#f7f9fc,#edf4fb);
  position:relative;
  overflow:hidden;
}
.login-page::before,
.login-page::after{
  content:"";
  position:absolute;
  border:2px solid rgba(0,111,214,.07);
  border-radius:42% 58% 63% 37% / 42% 46% 54% 58%;
  pointer-events:none;
}
.login-page::before{
  width:620px;height:420px;left:-220px;top:-110px;
  transform:rotate(-10deg);
}
.login-page::after{
  width:700px;height:500px;right:-300px;bottom:-240px;
  transform:rotate(12deg);
}
.login-shell{
  width:min(1060px,calc(100% - 2rem));
  min-height:640px;
  margin:auto;
  border-radius:30px;
  overflow:hidden;
  background:#fff;
  box-shadow:0 35px 100px rgba(4,31,79,.15);
  position:relative;
  z-index:1;
}
.login-brand-panel{
  background:
    radial-gradient(circle at 50% 38%,rgba(0,111,214,.18),transparent 18rem),
    linear-gradient(155deg,#061f4a,#03152f 74%);
  color:#fff;
  min-height:640px;
  padding:3rem;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  position:relative;
  overflow:hidden;
}
.login-brand-panel::after{
  content:"";
  position:absolute;
  width:250px;height:250px;
  border-radius:50%;
  border:1px solid rgba(244,196,49,.18);
  right:-95px;bottom:-95px;
  box-shadow:0 0 0 38px rgba(244,196,49,.035),0 0 0 78px rgba(244,196,49,.02);
}
.login-panel-label{
  display:inline-flex;
  align-items:center;
  gap:.6rem;
  font-weight:800;
  letter-spacing:.01em;
  font-size:1rem;
}
.login-role-icon{
  width:104px;height:104px;
  border-radius:28px;
  display:grid;
  place-items:center;
  margin:1rem 0 1.6rem;
  background:linear-gradient(145deg,rgba(0,111,214,.28),rgba(244,196,49,.13));
  border:1px solid rgba(255,255,255,.11);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.08),0 18px 45px rgba(0,0,0,.18);
}
.login-role-icon i{
  font-size:3.15rem;
  background:linear-gradient(135deg,#54c7f3,#f4c431);
  -webkit-background-clip:text;
  background-clip:text;
  color:transparent;
}
.login-brand-copy{
  max-width:360px;
  color:rgba(255,255,255,.76);
  line-height:1.7;
}
.login-brand-meta{
  display:flex;
  gap:.65rem;
  flex-wrap:wrap;
  position:relative;
  z-index:1;
}
.login-brand-meta span{
  padding:.42rem .68rem;
  border-radius:999px;
  background:rgba(255,255,255,.07);
  border:1px solid rgba(255,255,255,.08);
  font-size:.77rem;
  color:rgba(255,255,255,.75);
}
.login-form-panel{
  min-height:640px;
  padding:3.4rem clamp(2rem,5vw,5rem);
  display:flex;
  align-items:center;
}
.login-form-wrap{width:100%;max-width:470px;margin:auto}
.login-brand-logo{
  display:block;
  height:78px;
  max-width:270px;
  object-fit:contain;
  margin:0 auto 1.8rem;
}
.login-title{
  font-size:clamp(1.8rem,3vw,2.35rem);
  margin-bottom:.45rem;
  text-align:center;
}
.login-subtitle{
  color:#6b7a90;
  text-align:center;
  max-width:430px;
  margin:0 auto 2rem;
}
.login-form-panel .form-control{
  min-height:52px;
  background:#f8fafc;
  border-color:#dce4ee;
}
.login-password-wrap{position:relative}
.login-password-wrap .form-control{padding-right:3.2rem}
.password-toggle{
  position:absolute;
  right:.35rem;top:50%;
  transform:translateY(-50%);
  border:0;background:transparent;
  width:42px;height:42px;border-radius:10px;
  display:grid;place-items:center;
  color:#607087;
}
.password-toggle:hover{background:#eef3f8;color:var(--brand-navy)}
.login-form-actions{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:1rem;
  margin-top:.55rem;
}
.login-form-actions a{
  text-decoration:none;
  font-weight:650;
  color:#607087;
}
.login-form-actions a:hover{color:var(--brand-blue)}
.login-security-note{
  border-top:1px solid #edf1f6;
  margin-top:1.8rem;
  padding-top:1.1rem;
  font-size:.82rem;
  color:#7a8797;
  display:flex;
  gap:.55rem;
  align-items:flex-start;
}
.login-back{
  position:absolute;
  left:clamp(1rem,3vw,2rem);
  top:clamp(1rem,3vw,2rem);
  z-index:3;
}
.login-back a{
  display:inline-flex;
  align-items:center;
  gap:.5rem;
  text-decoration:none;
  background:rgba(255,255,255,.82);
  backdrop-filter:blur(10px);
  padding:.65rem .9rem;
  border-radius:999px;
  color:var(--brand-navy);
  border:1px solid rgba(4,31,79,.08);
  box-shadow:0 8px 25px rgba(4,31,79,.08);
}
.login-footer-note{
  text-align:center;
  color:#7e8b9d;
  font-size:.78rem;
  margin-top:1.1rem;
}
.portal-switcher{
  display:flex;
  justify-content:center;
  gap:.45rem;
  flex-wrap:wrap;
  margin-top:1rem;
}
.portal-switcher a{
  font-size:.78rem;
  padding:.36rem .62rem;
  border-radius:999px;
  text-decoration:none;
  background:#f6f8fb;
  border:1px solid #e5eaf1;
  color:#64748b;
}
.portal-switcher a:hover,.portal-switcher a.active{
  color:var(--brand-navy);
  border-color:#d5b33c;
  background:#fff9e8;
}
@media(max-width:991.98px){
  .login-shell{margin-top:4.7rem;margin-bottom:2rem;min-height:auto}
  .login-brand-panel{min-height:auto;padding:2rem 2rem 2.2rem}
  .login-role-icon{width:82px;height:82px;border-radius:22px;margin:.8rem 0 1rem}
  .login-role-icon i{font-size:2.5rem}
  .login-brand-copy{max-width:100%}
  .login-form-panel{min-height:auto;padding:2.6rem 2rem}
}
@media(max-width:575.98px){
  .login-page{align-items:flex-start!important;padding-top:1rem!important}
  .login-shell{width:calc(100% - 1rem);border-radius:22px;margin-top:4.4rem}
  .login-brand-panel{padding:1.5rem}
  .login-brand-panel .display-6{font-size:1.75rem}
  .login-form-panel{padding:2rem 1.2rem 1.7rem}
  .login-brand-logo{height:62px;max-width:220px}
  .login-form-actions{align-items:stretch;flex-direction:column-reverse}
  .login-form-actions .btn{width:100%}
  .login-form-actions a{text-align:center}
}


/* ============================================================
   FINAL HERO + LOGIN PROPORTION POLISH
   Compact inner heroes + 100vh-safe login
   ============================================================ */

/* Home keeps a fuller landing-page hero. */
.page-hero.hero-home{
  min-height:calc(100vh - 74px);
  padding:clamp(4.75rem,8vw,7.5rem) 0;
  display:flex;
  align-items:center;
}
.page-hero.hero-home h1{
  font-size:clamp(2.55rem,4.7vw,4.55rem);
  font-weight:650!important;
  line-height:1.04;
}

/* Inner page heroes: compact, left-aligned and medium-weight. */
.page-hero:not(.hero-home){
  min-height:0!important;
  height:auto!important;
  padding:clamp(3.15rem,5.2vw,4.6rem) 0!important;
  display:flex;
  align-items:center;
  text-align:left!important;
  background-position:center 48%;
}
.page-hero:not(.hero-home) .container{width:100%}
.page-hero:not(.hero-home) .row{justify-content:flex-start!important}
.page-hero:not(.hero-home) .col-lg-7,
.page-hero:not(.hero-home) .col-xl-6{text-align:left!important}

.page-hero:not(.hero-home) h1{
  max-width:18ch!important;
  margin-bottom:.85rem!important;
  font-size:clamp(2rem,3.2vw,2.9rem)!important;
  font-weight:560!important;
  line-height:1.12!important;
  letter-spacing:-.02em!important;
  color:#fff!important;
}
.page-hero:not(.hero-home) .lead{
  max-width:680px!important;
  margin-left:0!important;
  margin-right:0!important;
  margin-bottom:0;
  font-size:clamp(.98rem,1.1vw,1.1rem)!important;
  font-weight:400!important;
  line-height:1.62!important;
  color:rgba(255,255,255,.82)!important;
}
.page-hero:not(.hero-home) .pill{margin-bottom:1rem!important}
.page-hero .fw-bold{font-weight:560!important}

/* White headings on dark sections. */
.bg-dark h1,.bg-dark h2,.bg-dark h3,.bg-dark h4,.bg-dark h5,.bg-dark h6,
.bg-navy h1,.bg-navy h2,.bg-navy h3,.bg-navy h4,.bg-navy h5,.bg-navy h6,
.cta h1,.cta h2,.cta h3,.cta h4,.cta h5,.cta h6,
.footer h1,.footer h2,.footer h3,.footer h4,.footer h5,.footer h6,
.login-brand-panel h1,.login-brand-panel h2,.login-brand-panel h3,
.page-hero h1,.page-hero h2,.page-hero h3{
  color:#fff!important;
}

/* Login pages: smaller and kept inside 100vh on desktop. */
.login-page{
  min-height:100vh!important;
  height:100vh;
  padding:clamp(.6rem,1.6vh,1rem) 0!important;
  display:flex!important;
  align-items:center!important;
}
.login-shell{
  width:min(900px,calc(100% - 2rem))!important;
  min-height:0!important;
  height:min(585px,calc(100vh - 1.5rem))!important;
  max-height:calc(100vh - 1.5rem)!important;
  border-radius:22px!important;
}
.login-shell>.row{height:100%}
.login-brand-panel{
  min-height:0!important;
  height:100%;
  padding:1.8rem 2rem!important;
}
.login-form-panel{
  min-height:0!important;
  height:100%;
  padding:1.75rem clamp(1.6rem,3.4vw,3.2rem)!important;
  overflow:auto;
}
.login-form-wrap{max-width:395px!important}
.login-brand-logo{
  height:54px!important;
  max-width:210px!important;
  margin-bottom:.8rem!important;
}
.login-title{
  font-size:clamp(1.5rem,2vw,1.85rem)!important;
  font-weight:560!important;
  margin-bottom:.25rem!important;
}
.login-subtitle{
  font-size:.86rem!important;
  line-height:1.45!important;
  margin-bottom:1rem!important;
}
.login-role-icon{
  width:72px!important;
  height:72px!important;
  border-radius:18px!important;
  margin:.65rem 0 .9rem!important;
}
.login-role-icon i{font-size:2.15rem!important}
.login-brand-panel .display-6{
  font-size:clamp(1.55rem,2.25vw,2rem)!important;
  font-weight:560!important;
  line-height:1.12!important;
}
.login-brand-copy{
  font-size:.86rem!important;
  line-height:1.52!important;
}
.login-brand-meta{gap:.35rem!important}
.login-brand-meta span{
  font-size:.67rem!important;
  padding:.28rem .48rem!important;
}
.login-form-panel .form-control{min-height:44px!important}
.login-form-panel .form-label{
  margin-bottom:.25rem!important;
  font-size:.8rem!important;
}
.login-form-panel .mb-3{margin-bottom:.7rem!important}
.login-form-panel .my-3{
  margin-top:.55rem!important;
  margin-bottom:.55rem!important;
}
.login-security-note{
  margin-top:.9rem!important;
  padding-top:.65rem!important;
  font-size:.7rem!important;
  line-height:1.38!important;
}
.login-footer-note{
  margin-top:.5rem!important;
  font-size:.69rem!important;
}
.portal-switcher{margin-top:.55rem!important}
.portal-switcher a{font-size:.69rem!important}
.login-back{
  top:.65rem!important;
  left:.65rem!important;
}
.login-back a{
  padding:.42rem .64rem!important;
  font-size:.76rem!important;
}

/* Short desktop heights */
@media (min-width:992px) and (max-height:680px){
  .login-shell{
    height:calc(100vh - .8rem)!important;
    max-height:calc(100vh - .8rem)!important;
  }
  .login-page{padding:.4rem 0!important}
  .login-brand-panel{padding:1.35rem 1.65rem!important}
  .login-form-panel{padding:1.2rem 2.1rem!important}
  .login-brand-logo{height:46px!important;margin-bottom:.5rem!important}
  .login-subtitle{margin-bottom:.65rem!important}
  .login-security-note{margin-top:.6rem!important}
}

/* Tablet/mobile */
@media(max-width:991.98px){
  .page-hero:not(.hero-home){padding:2.9rem 0!important}
  .page-hero:not(.hero-home) h1{
    font-size:clamp(1.9rem,6vw,2.45rem)!important;
    max-width:18ch!important;
  }
  .login-page{
    height:auto!important;
    min-height:100vh!important;
    padding:4rem .5rem 1rem!important;
    align-items:flex-start!important;
  }
  .login-shell{
    width:min(700px,100%)!important;
    height:auto!important;
    max-height:none!important;
    margin:0 auto!important;
  }
  .login-brand-panel,.login-form-panel{height:auto!important}
  .login-brand-panel{padding:1.35rem!important}
  .login-form-panel{padding:1.65rem 1.4rem!important}
}
@media(max-width:575.98px){
  .page-hero:not(.hero-home){padding:2.45rem 0!important}
  .page-hero:not(.hero-home) h1{font-size:1.9rem!important}
  .page-hero:not(.hero-home) .lead{font-size:.94rem!important}
  .login-brand-panel{padding:1.15rem!important}
  .login-form-panel{padding:1.4rem 1rem!important}
}


/* PHP/backend-ready final presentation fixes */
.hero-home .hero-card .portfolio-snapshot-label,
.hero-home .hero-card .portfolio-snapshot-title{
  color:#fff!important;
}
.hero-home .hero-card .portfolio-snapshot-label{opacity:.82}
.form-error{color:#b42318;font-size:.82rem;margin-top:.35rem}
.form-control.is-invalid,.form-select.is-invalid{border-color:#dc3545}
.form-status{border-radius:12px;padding:.75rem .9rem;font-size:.9rem;display:none}
.form-status.is-success{display:block;background:#eaf7ee;color:#176b39}
.form-status.is-error{display:block;background:#fff0ef;color:#9f1c14}


/* ============================================================
   IFIXRENT COMPACT POLISH + BRAND + TRUE FLOATING ACTIONS
   ============================================================ */
.brand-name{display:inline;white-space:nowrap;font-weight:600}
.brand-ifix{color:var(--brand-navy)}
.brand-rent{color:var(--brand-gold)}
.page-hero .brand-ifix,.cta .brand-ifix,.footer .brand-ifix,.bg-dark .brand-ifix,
.bg-navy .brand-ifix,.login-brand-panel .brand-ifix{color:#fff}
.page-hero .brand-rent,.cta .brand-rent,.footer .brand-rent,.bg-dark .brand-rent,
.bg-navy .brand-rent,.login-brand-panel .brand-rent{color:var(--brand-gold)}

.page-hero.hero-home h1{
  font-size:clamp(2.2rem,4vw,3.9rem)!important;
  font-weight:600!important;line-height:1.08!important;max-width:15ch!important
}
.page-hero.hero-home .btn-lg{
  padding:.68rem 1.05rem!important;font-size:.96rem!important;border-radius:11px!important
}
.page-hero.hero-home .d-flex.gap-3{gap:.75rem!important}

.section{padding:3.25rem 0!important}
.section-sm{padding:2.5rem 0!important}
.page-hero + .section{padding-top:2.1rem!important}
.page-hero + .section-sm{padding-top:1.8rem!important}
.section .mb-5{margin-bottom:2.2rem!important}
.section .mt-5{margin-top:2.2rem!important}
@media(min-width:1200px){
  .section{padding:4rem 0!important}
  .section-sm{padding:3rem 0!important}
  .page-hero + .section{padding-top:2.35rem!important}
}
@media(max-width:575.98px){
  .page-hero.hero-home h1{font-size:2.2rem!important;line-height:1.08!important}
  .page-hero.hero-home .btn-lg{padding:.62rem .92rem!important;font-size:.92rem!important}
  .section{padding:2.65rem 0!important}
  .section-sm{padding:2.15rem 0!important}
  .page-hero + .section{padding-top:1.7rem!important}
  .page-hero + .section-sm{padding-top:1.45rem!important}
}

.contact-details-card{display:grid;gap:.9rem}
.contact-detail{display:flex;align-items:center;gap:.85rem}
.contact-detail .icon-box{flex:0 0 auto;width:42px;height:42px}
.contact-detail a{color:inherit;text-decoration:none}
.contact-detail a:hover{color:var(--brand-blue)}
.social-links{display:flex;align-items:center;gap:.55rem;flex-wrap:wrap}
.social-links a{
  width:37px;height:37px;border-radius:50%;display:grid;place-items:center;color:#fff;
  text-decoration:none;border:1px solid rgba(255,255,255,.15);background:rgba(255,255,255,.06);
  transition:transform .18s ease,background .18s ease,border-color .18s ease,color .18s ease
}
.social-links a:hover{
  transform:translateY(-2px);color:var(--brand-gold);border-color:rgba(244,196,49,.55);
  background:rgba(244,196,49,.08)
}
.social-links-light a{
  color:var(--brand-navy);border-color:#dfe7f0;background:#fff;
  box-shadow:0 5px 15px rgba(4,31,79,.06)
}
.footer-contact-list{display:grid;gap:.55rem}
.footer-contact-list>div{display:flex;gap:.6rem;align-items:flex-start}
.footer-contact-list i{color:var(--brand-gold);width:17px}
.footer-contact-list a,.footer-contact-list span{color:rgba(255,255,255,.72);text-decoration:none}
.footer-contact-list a:hover{color:#fff}

/* True viewport-fixed controls. */
.ifix-floating-cluster{
  position:fixed!important;
  right:12px!important;
  bottom:max(12px,env(safe-area-inset-bottom))!important;
  z-index:2147483000!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:flex-end!important;
  gap:9px!important;
  pointer-events:none
}
.ifix-floating-cluster>*{pointer-events:auto}
.floating-action{
  width:46px;height:46px;border-radius:50%;display:grid;place-items:center;
  text-decoration:none;border:1px solid rgba(4,31,79,.10);
  box-shadow:0 12px 30px rgba(4,31,79,.22);cursor:pointer;
  transition:transform .18s ease,opacity .18s ease,visibility .18s ease,box-shadow .18s ease
}
.floating-action:hover{transform:translateY(-2px);box-shadow:0 15px 36px rgba(4,31,79,.28)}
.floating-action i{font-size:1.15rem}
.whatsapp-action{background:#25D366;color:#fff;border-color:#25D366}
.ai-action{
  width:52px;height:52px;background:linear-gradient(145deg,var(--brand-navy),#0a4d91);
  color:var(--brand-gold);border:1px solid rgba(244,196,49,.38)
}
.ai-action i{font-size:1.35rem}
.back-to-top{
  background:#fff;color:var(--brand-navy);opacity:0;visibility:hidden;
  transform:translateY(8px) scale(.96)
}
.back-to-top.is-visible{opacity:1;visibility:visible;transform:translateY(0) scale(1)}

/* AI swells from launcher like a speech bubble. */
.public-ai-panel{
  position:fixed!important;
  right:14px!important;
  bottom:82px!important;
  z-index:2147482999!important;
  width:min(370px,calc(100vw - 28px));
  max-height:min(610px,calc(100vh - 105px));
  background:#fff;border:1px solid rgba(4,31,79,.10);
  border-radius:22px 22px 8px 22px;
  box-shadow:0 26px 80px rgba(4,31,79,.28);
  overflow:visible;display:flex;flex-direction:column;
  opacity:0;visibility:hidden;
  transform:translate(14px,18px) scale(.18);
  transform-origin:calc(100% - 25px) 100%;
  transition:opacity .20s ease,visibility .20s ease,
             transform .28s cubic-bezier(.2,.85,.25,1.18)
}
.public-ai-panel::after{
  content:"";position:absolute;right:18px;bottom:-11px;width:22px;height:22px;
  background:#fff;border-right:1px solid rgba(4,31,79,.10);
  border-bottom:1px solid rgba(4,31,79,.10);
  transform:rotate(45deg);border-bottom-right-radius:4px;z-index:-1
}
.public-ai-panel.is-open{opacity:1;visibility:visible;transform:translate(0,0) scale(1)}
.public-ai-panel-inner{
  overflow:hidden;border-radius:21px 21px 8px 21px;
  display:flex;flex-direction:column;min-height:0
}
.public-ai-header{
  padding:1rem 1.05rem;background:linear-gradient(145deg,#041f4f,#07396f);
  color:#fff;display:flex;align-items:center;justify-content:space-between;gap:1rem
}
.public-ai-kicker{font-size:.76rem;color:rgba(255,255,255,.75);margin-bottom:.12rem}
.public-ai-header strong{font-size:1rem}
.public-ai-close{
  width:35px;height:35px;border:0;border-radius:10px;color:#fff;
  background:rgba(255,255,255,.08);display:grid;place-items:center
}
.public-ai-body{padding:1rem;overflow:auto;min-height:225px;max-height:385px;background:#f7f9fc}
.ai-message{
  max-width:88%;padding:.7rem .8rem;border-radius:14px;
  font-size:.86rem;line-height:1.48;margin-bottom:.7rem
}
.ai-message-assistant{
  background:#fff;color:#34465f;border:1px solid #e6ebf2;border-bottom-left-radius:5px
}
.ai-message-user{margin-left:auto;background:#07396f;color:#fff;border-bottom-right-radius:5px}
.ai-starters{display:flex;flex-wrap:wrap;gap:.4rem}
.ai-starters button{
  border:1px solid #d7e2ee;background:#fff;color:#50647d;
  font-size:.72rem;padding:.4rem .55rem;border-radius:999px
}
.ai-starters button:hover{border-color:#c4a435;color:var(--brand-navy)}
.public-ai-form{
  padding:.7rem;border-top:1px solid #e9eef4;display:flex;gap:.45rem;background:#fff
}
.public-ai-form input[type="text"]{
  flex:1;min-width:0;border:1px solid #dbe4ee;border-radius:12px;
  padding:.68rem .75rem;font-size:.86rem;outline:none
}
.public-ai-form input:focus{
  border-color:#d5b13c;box-shadow:0 0 0 .18rem rgba(244,196,49,.12)
}
.public-ai-form button{
  width:42px;height:42px;border:0;border-radius:11px;color:#fff;background:var(--brand-navy)
}
.public-ai-disclaimer{padding:0 .8rem .65rem;color:#8a97a8;font-size:.66rem;background:#fff}

/* Password recovery pages. */
.password-recovery-page{
  min-height:100vh;
  background:radial-gradient(circle at 90% 12%,rgba(0,111,214,.08),transparent 28%),
             linear-gradient(180deg,#f8fbff,#eef3f9)
}
.password-recovery-card{
  width:min(760px,calc(100% - 1.5rem));background:#fff;border:1px solid #e1e8f1;
  border-radius:22px;box-shadow:0 24px 70px rgba(4,31,79,.12);
  padding:clamp(1.35rem,3vw,2.2rem)
}
.password-recovery-logo{height:52px;width:auto;margin-bottom:.7rem}
.password-recovery-card h1{font-size:clamp(1.55rem,3vw,2.15rem);font-weight:600}
.password-recovery-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
.password-recovery-note{
  background:#f5f8fc;border:1px solid #e3e9f1;border-radius:13px;
  padding:.8rem .9rem;color:#67788d;font-size:.8rem;line-height:1.5
}
@media(max-width:575.98px){
  .ifix-floating-cluster{
    right:10px!important;
    bottom:max(10px,env(safe-area-inset-bottom))!important
  }
  .floating-action{width:42px;height:42px}
  .ai-action{width:48px;height:48px}
  .public-ai-panel{
    left:10px!important;right:10px!important;bottom:72px!important;
    width:auto;max-height:calc(100vh - 90px);
    transform-origin:calc(100% - 22px) 100%
  }
  .public-ai-panel::after{right:15px}
  .password-recovery-grid{grid-template-columns:1fr}
}


/* ============================================================
   IFIXRENT FINAL SPACING / BUTTON / HOME HERO STANDARD
   ============================================================ */

/* Every normal content section uses exactly 70px top + 70px bottom.
   This also removes the special smaller padding previously used
   immediately after hero sections. */
.section,
.section-sm{
  padding-top:70px!important;
  padding-bottom:70px!important;
}
.page-hero + .section,
.page-hero + .section-sm{
  padding-top:70px!important;
}

/* Standardize all normal Bootstrap text/action buttons to the same
   dimensions used by the refined Home hero CTAs. Icon-only floating,
   social, password-toggle and AI-send controls are separate components
   and are intentionally not affected. */
.btn:not(.btn-sm){
  padding:.68rem 1.05rem!important;
  font-size:.96rem!important;
  line-height:1.5!important;
  border-radius:11px!important;
  min-height:44px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:.4rem;
}
.btn-lg{
  padding:.68rem 1.05rem!important;
  font-size:.96rem!important;
  line-height:1.5!important;
  border-radius:11px!important;
  min-height:44px;
}

/* Home hero title: one further small reduction. */
.page-hero.hero-home h1{
  font-size:clamp(2.05rem,3.6vw,3.55rem)!important;
  line-height:1.08!important;
  font-weight:600!important;
  max-width:16ch!important;
}

@media(max-width:575.98px){
  .section,
  .section-sm,
  .page-hero + .section,
  .page-hero + .section-sm{
    padding-top:70px!important;
    padding-bottom:70px!important;
  }

  .btn:not(.btn-sm),
  .btn-lg{
    padding:.68rem 1.05rem!important;
    font-size:.96rem!important;
    min-height:44px;
  }

  .page-hero.hero-home h1{
    font-size:2.05rem!important;
    line-height:1.08!important;
  }
}


/* IFIXRENT BUTTON/HERO/CONTACT CORRECTION - AUTHORITATIVE */

/* Home hero: visibly smaller than the previous version. */
.page-hero.hero-home h1,
.page-hero.hero-home .display-4,
.page-hero.hero-home .display-tight{
  font-size:clamp(2rem,3.25vw,3.15rem)!important;
  line-height:1.09!important;
  font-weight:600!important;
  max-width:17ch!important;
}

/* One exact visual standard for EVERY normal Bootstrap button.
   btn-sm and btn-lg no longer create different heights.
   btn-close is excluded because it is an icon-only modal close control. */
.btn:not(.btn-close),
.btn-sm:not(.btn-close),
.btn-lg:not(.btn-close){
  padding:.68rem 1.05rem!important;
  font-size:.96rem!important;
  line-height:1.5!important;
  border-radius:11px!important;
  min-height:44px!important;
  height:auto;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:.4rem;
}

/* Buttons placed after hero/CTA copy always get clear breathing room. */
.page-hero .lead + .cta-actions,
.page-hero .lead + .d-flex,
.cta-copy + .cta-actions,
p + .cta-actions{
  margin-top:1.5rem!important;
}

/* Feature-page hero CTA spacing. */
.hero-features .cta-actions{
  margin-top:1.5rem!important;
}

/* Keep exact 70px section rhythm requested. */
.section,
.section-sm,
.page-hero + .section,
.page-hero + .section-sm{
  padding-top:70px!important;
  padding-bottom:70px!important;
}

@media(max-width:575.98px){
  .page-hero.hero-home h1,
  .page-hero.hero-home .display-4,
  .page-hero.hero-home .display-tight{
    font-size:1.9rem!important;
    line-height:1.1!important;
    max-width:18ch!important;
  }

  .btn:not(.btn-close),
  .btn-sm:not(.btn-close),
  .btn-lg:not(.btn-close){
    padding:.68rem 1.05rem!important;
    font-size:.96rem!important;
    min-height:44px!important;
  }
}


/* LOGIN / RECOVERY VERIFIED STATUS UI */
.login-inline-status,.form-status{display:none;border-radius:11px;padding:.7rem .8rem;margin-bottom:.9rem;font-size:.84rem;line-height:1.45}
.login-inline-status.is-error,.form-status.is-error{display:block;color:#842029;background:#f8d7da;border:1px solid #f5c2c7}
.login-inline-status.is-success,.form-status.is-success{display:block;color:#0f5132;background:#d1e7dd;border:1px solid #badbcc}


/* PUBLIC NAV CURRENT-PAGE STATE - CANONICAL */
.navbar .navbar-nav .nav-link{
  position:relative;
  border-radius:9px;
  transition:background-color .18s ease,color .18s ease;
}
.navbar .navbar-nav .nav-link:hover,
.navbar .navbar-nav .nav-link:focus-visible{
  color:#fff!important;
  background:rgba(255,255,255,.08);
}
.navbar .navbar-nav .nav-link.active,
.navbar .navbar-nav .nav-link[aria-current="page"]{
  color:#fff!important;
  background:rgba(244,196,49,.10);
  font-weight:600;
}
.navbar .navbar-nav .nav-link.active::after,
.navbar .navbar-nav .nav-link[aria-current="page"]::after{
  content:"";
  position:absolute;
  left:.65rem;
  right:.65rem;
  bottom:.18rem;
  height:2px;
  border-radius:999px;
  background:#f4c431;
}
.navbar .btn.current-page,
.navbar .btn[aria-current="page"]{
  box-shadow:0 0 0 3px rgba(244,196,49,.24);
  border-color:#f4c431!important;
}
@media(max-width:991.98px){
  .navbar .navbar-nav .nav-link.active::after,
  .navbar .navbar-nav .nav-link[aria-current="page"]::after{
    left:0;
    right:auto;
    top:.45rem;
    bottom:.45rem;
    width:3px;
    height:auto;
  }
  .navbar .navbar-nav .nav-link.active,
  .navbar .navbar-nav .nav-link[aria-current="page"]{
    padding-left:.85rem;
  }
}


/* ============================================================
   IFIXRENT 2026-09 PUBLIC WEBSITE REFINEMENTS
   ============================================================ */
/* Desktop: tighter item hit styling, slightly wider overall menu rhythm. */
@media(min-width:992px){
  .navbar .navbar-nav{gap:.34rem}
  .navbar .navbar-nav .nav-link{padding:.42rem .52rem!important;margin:0!important}
}
/* Mobile: breathing room between rows; no gold/orange side rule. */
@media(max-width:991.98px){
  .navbar .navbar-nav{gap:.22rem;padding:.3rem 0}
  .navbar .navbar-nav .nav-link{margin:.08rem 0!important;padding:.62rem .7rem!important}
  .navbar .navbar-nav .nav-link.active::after,
  .navbar .navbar-nav .nav-link[aria-current="page"]::after{display:none!important;content:none!important}
}
/* Footer outline button must never invert to white-on-white. */
.footer .btn-outline-light:hover,.footer .btn-outline-light:focus-visible{
  color:var(--brand-navy)!important;background:var(--brand-gold)!important;border-color:var(--brand-gold)!important
}
/* AI header branding obeys two-colour rule on navy. */
.public-ai-kicker>i{color:var(--brand-gold)!important}
.public-ai-header .brand-ifix{color:#fff!important}
.public-ai-header .brand-rent{color:var(--brand-gold)!important}
.public-ai-header .ai-suffix{color:#fff}
.public-ai-header .brand-name{font-weight:700}

/* Listing card action buttons stay compact and aligned. */
.listing-card-actions{display:flex;gap:.4rem;align-items:center;flex-wrap:wrap;justify-content:flex-end}
@media(max-width:575.98px){.listing-card-actions{width:100%}.listing-card-actions .btn{flex:1}}

/* Premium reservation journey fills the full content width. */
.reservation-journey{overflow:hidden}
.reservation-steps{position:relative;display:grid;grid-template-columns:repeat(5,1fr);gap:1rem}
.reservation-steps::before{content:"";position:absolute;left:8%;right:8%;top:43px;height:2px;background:linear-gradient(90deg,rgba(244,196,49,.15),var(--brand-gold),rgba(0,111,214,.25));z-index:0}
.reservation-step{position:relative;z-index:1;background:#fff;border:1px solid #e3eaf3;border-radius:20px;padding:1.3rem 1rem 1.15rem;box-shadow:0 12px 30px rgba(4,31,79,.06);text-align:center;transition:transform .2s ease,box-shadow .2s ease}
.reservation-step:hover{transform:translateY(-4px);box-shadow:0 18px 40px rgba(4,31,79,.11)}
.reservation-step>i{width:54px;height:54px;border-radius:17px;margin:0 auto .85rem;display:grid;place-items:center;background:var(--brand-navy);color:var(--brand-gold);font-size:1.3rem;box-shadow:0 8px 20px rgba(4,31,79,.18)}
.reservation-step-num{position:absolute;top:.65rem;right:.75rem;font-size:.69rem;font-weight:800;letter-spacing:.06em;color:#94a3b8}
.reservation-step h6{font-weight:800;color:var(--brand-navy);margin-bottom:.45rem}
.reservation-step p{font-size:.79rem;line-height:1.5;color:#6b7b90;margin:0}
@media(max-width:991.98px){.reservation-steps{grid-template-columns:repeat(2,1fr)}.reservation-steps::before{display:none}.reservation-step:last-child{grid-column:1/-1;max-width:480px;width:100%;margin:auto}}
@media(max-width:575.98px){.reservation-steps{grid-template-columns:1fr}.reservation-step:last-child{grid-column:auto;max-width:none}}

/* Property detail page. */
.listing-detail-head{background:linear-gradient(180deg,#f8fbff,#fff);border-bottom:1px solid #e7edf5}
.listing-detail-head .breadcrumb a{text-decoration:none;color:var(--brand-blue)}
.listing-price-block{min-width:190px;text-align:right;align-self:flex-end}.listing-price-block span{display:block;color:#73849a;font-size:.75rem}.listing-price-block strong{display:block;color:var(--brand-navy);font-size:1.35rem}
.verified-badge{background:rgba(244,196,49,.14);color:#7a5c00;border:1px solid rgba(244,196,49,.35)}
.listing-gallery{display:grid;grid-template-columns:2fr 1fr;gap:.65rem;height:500px;border-radius:22px;overflow:hidden}.listing-gallery img{width:100%;height:100%;object-fit:cover}.listing-gallery-side{display:grid;grid-template-rows:repeat(3,1fr);gap:.65rem;min-height:0}
.detail-facts{display:flex;flex-wrap:wrap;gap:.65rem}.detail-facts>div{min-width:125px;flex:1;border:1px solid #e5ebf3;border-radius:15px;padding:.8rem;background:#fff}.detail-facts i{color:var(--brand-gold);margin-right:.4rem}.detail-facts strong{color:var(--brand-navy)}.detail-facts span{display:block;font-size:.7rem;color:#8492a5;margin-top:.25rem}
.detail-section{padding:1.45rem 0;border-top:1px solid #e9eef4}.detail-section h3{font-size:1.2rem;font-weight:800;color:var(--brand-navy);margin-bottom:1rem}.amenity-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:.7rem}.amenity-grid div{display:flex;gap:.5rem;align-items:center}.amenity-grid i{color:var(--brand-gold)}
.stay-rules-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:.75rem}.stay-rules-grid>div{background:#f7f9fc;border:1px solid #e6ebf2;border-radius:13px;padding:.8rem}.stay-rules-grid span{font-size:.7rem;color:#7c8b9d;display:block}.stay-rules-grid strong{font-size:.86rem;color:var(--brand-navy)}
.map-placeholder{min-height:160px;border:1px dashed #cfd9e6;border-radius:17px;background:linear-gradient(135deg,#f7faff,#eef4fb);display:flex;align-items:center;justify-content:center;gap:1rem;padding:1rem;text-align:left}.map-placeholder>i{font-size:2rem;color:var(--brand-gold)}.map-placeholder span{display:block;color:#7a899c;font-size:.78rem}
.detail-action-card{top:105px;background:#fff;border:1px solid #e0e8f1;border-radius:20px;padding:1.2rem;box-shadow:0 18px 50px rgba(4,31,79,.10)}
@media(max-width:991.98px){.listing-gallery{height:430px}.stay-rules-grid{grid-template-columns:repeat(2,1fr)}.listing-price-block{text-align:left;align-self:auto}}
@media(max-width:575.98px){.listing-gallery{grid-template-columns:1fr;height:auto}.listing-gallery-main{height:260px!important}.listing-gallery-side{grid-template-columns:repeat(3,1fr);grid-template-rows:1fr;height:100px}.amenity-grid,.stay-rules-grid{grid-template-columns:1fr}.detail-facts>div{min-width:calc(50% - .5rem)}}

.listing-verified{position:absolute;right:.7rem;top:.7rem;background:rgba(4,31,79,.9);color:#fff;border:1px solid rgba(244,196,49,.45);border-radius:999px;padding:.3rem .55rem;font-size:.68rem;font-weight:700}.listing-verified i{color:var(--brand-gold);margin-right:.2rem}

/* Canonical iFixRent two-colour wordmark rule */
.brand-name .brand-ifix{color:var(--brand-navy)}
.brand-name .brand-rent{color:var(--brand-gold)}
.public-ai-kicker>i,.ai-action>i{color:var(--brand-gold)!important}
.public-ai-header .brand-ifix{color:#fff!important}
.public-ai-header .brand-rent{color:var(--brand-gold)!important}

/* 2026-09-03 compact public listing detail refresh */
.listing-detail-title{font-size:clamp(1.55rem,3vw,2.25rem);font-weight:800;color:var(--brand-navy)}
.listing-gallery-wrap{padding:1rem 0 0}
.listing-gallery{height:390px;border-radius:18px;gap:.5rem;background:#eef3f8}
.listing-gallery-main{cursor:default}
.listing-gallery-side{gap:.5rem}
.listing-gallery-thumb{display:block;width:100%;height:100%;padding:0;border:0;background:transparent;overflow:hidden;cursor:pointer;position:relative}
.listing-gallery-thumb::after{content:"";position:absolute;inset:0;border:2px solid transparent;transition:border-color .18s ease,background .18s ease}
.listing-gallery-thumb:hover::after,.listing-gallery-thumb:focus-visible::after{border-color:var(--brand-gold);background:rgba(244,196,49,.06)}
.listing-gallery-thumb:focus-visible{outline:0}
.listing-detail-body{padding:1.3rem 0 2rem}
.listing-detail-body .row{--bs-gutter-x:1.5rem}
.detail-facts{gap:.5rem}
.detail-facts>div{min-width:105px;padding:.65rem .7rem;border-radius:12px;box-shadow:none}
.detail-facts strong{font-size:.88rem}
.detail-section{padding:1rem 0}
.detail-section h2{font-size:1.05rem;font-weight:800;color:var(--brand-navy);margin-bottom:.65rem}
.detail-copy{max-width:760px}
.listing-rich-text{color:#64748b;font-size:.94rem;line-height:1.65}
.listing-rich-text p:last-child,.listing-rich-text ul:last-child,.listing-rich-text ol:last-child{margin-bottom:0}
.listing-rich-text strong,.listing-rich-text b{color:#334155}
.listing-rich-text ul,.listing-rich-text ol{padding-left:1.2rem;margin-bottom:.4rem}
.listing-offers ul{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.4rem .9rem;list-style:none;padding:0}
.listing-offers li{position:relative;padding-left:1.25rem}
.listing-offers li::before{content:"\F26E";font-family:"bootstrap-icons";position:absolute;left:0;color:var(--brand-gold)}
.stay-rules-grid.compact{gap:.5rem}
.stay-rules-grid.compact>div{padding:.65rem .7rem;border-radius:11px}
.map-placeholder.compact{min-height:110px;border-radius:13px}
.detail-action-card{top:96px;border-radius:16px;padding:1rem;box-shadow:0 12px 34px rgba(4,31,79,.08)}
.detail-action-price{font-size:1.12rem;font-weight:800;color:var(--brand-navy)}
.compact-modal .modal-header,.compact-modal .modal-footer{padding:.85rem 1rem}
.compact-modal .modal-body{padding:1rem}
.compact-modal{border:0;border-radius:18px;overflow:hidden;box-shadow:0 24px 70px rgba(4,31,79,.2)}
.listing-related{padding-top:2rem;padding-bottom:2rem}
.listing-image-compact{height:160px!important}
@media(max-width:991.98px){.listing-gallery{height:340px}.detail-action-card{position:static!important}.listing-detail-body{padding-top:1rem}}
@media(max-width:575.98px){.listing-gallery{height:auto;grid-template-columns:1fr;border-radius:14px;overflow:visible;background:transparent}.listing-gallery-main{height:235px!important;border-radius:14px}.listing-gallery-side{height:76px;gap:.4rem}.listing-gallery-thumb{border-radius:10px}.listing-gallery-thumb img{border-radius:10px}.listing-offers ul{grid-template-columns:1fr}.detail-facts>div{min-width:calc(50% - .5rem)}.listing-detail-head .container{padding-top:.8rem!important;padding-bottom:.8rem!important}.listing-price-block strong{font-size:1.1rem}.listing-related .col-md-6:nth-child(n+3){display:none}}

/* 2026-09-03 definitive compact listing-details layout.
   Deliberately independent from the older detail-grid rules above to avoid
   distortion from legacy Bootstrap/row sizing on both long-term and short stay. */
.compact-listing-page{background:#fff;min-height:70vh}
.compact-listing-shell{max-width:1180px;padding-top:1rem;padding-bottom:2.25rem}
.compact-breadcrumb{margin-bottom:.75rem}.compact-breadcrumb a{text-decoration:none;color:var(--brand-blue)}
.compact-listing-summary{display:flex;justify-content:space-between;align-items:flex-end;gap:1rem;margin-bottom:.85rem}
.compact-listing-heading{min-width:0}.compact-badges{display:flex;flex-wrap:wrap;gap:.4rem;margin-bottom:.45rem}
.compact-listing-heading h1{font-size:clamp(1.5rem,2.5vw,2rem);line-height:1.15;font-weight:800;color:var(--brand-navy);margin:0 0 .3rem}
.compact-listing-heading p{font-size:.9rem;color:#64748b;margin:0}
.compact-listing-price{flex:0 0 auto;font-size:1.2rem;font-weight:800;color:var(--brand-navy);white-space:nowrap}
.compact-gallery{display:grid;grid-template-columns:minmax(0,2fr) minmax(180px,.82fr);gap:.5rem;height:340px;overflow:hidden;border-radius:16px;background:#eef3f8;margin-bottom:1rem}
.compact-gallery-main-wrap,.compact-gallery-thumb{min-width:0;min-height:0;overflow:hidden;background:#e8eef5}
.compact-gallery-main{display:block;width:100%;height:100%;object-fit:cover;object-position:center}
.compact-gallery-thumbs{display:grid;grid-template-rows:repeat(3,minmax(0,1fr));gap:.5rem;min-height:0}
.compact-gallery-thumb{display:block;width:100%;height:100%;padding:0;border:0;cursor:pointer;position:relative}
.compact-gallery-thumb img{display:block;width:100%;height:100%;object-fit:cover;object-position:center;transition:transform .18s ease}
.compact-gallery-thumb:hover img,.compact-gallery-thumb:focus-visible img{transform:scale(1.025)}
.compact-gallery-thumb:focus-visible{outline:3px solid var(--brand-gold);outline-offset:-3px}
.compact-detail-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(250px,320px);gap:1rem;align-items:start}
.compact-detail-main{min-width:0}
.compact-facts{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:.5rem;margin-bottom:.75rem}
.compact-facts>div{display:flex;align-items:center;gap:.5rem;min-width:0;border:1px solid #e5ebf3;border-radius:12px;padding:.65rem;background:#fff}
.compact-facts i{flex:0 0 auto;color:var(--brand-gold);font-size:1rem}.compact-facts span{min-width:0}.compact-facts strong{display:block;color:var(--brand-navy);font-size:.82rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.compact-facts small{display:block;color:#8290a3;font-size:.66rem;margin-top:.1rem}
.compact-copy-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;margin-bottom:.75rem}
.compact-info-card{border:1px solid #e5ebf3;border-radius:14px;background:#fff;padding:.9rem 1rem;min-width:0}
.compact-info-card h2{font-size:1rem;font-weight:800;color:var(--brand-navy);margin:0 0 .5rem}
.compact-info-card .listing-rich-text{font-size:.875rem;line-height:1.55;color:#5f6f82}
.compact-info-card .listing-rich-text p{margin-bottom:.5rem}.compact-info-card .listing-rich-text p:last-child{margin-bottom:0}
.compact-info-card .listing-rich-text ul,.compact-info-card .listing-rich-text ol{margin:.15rem 0 0;padding-left:1.1rem}
.compact-info-card .listing-rich-text li{margin-bottom:.18rem}
.compact-info-card .listing-offers ul{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.25rem .7rem;list-style:none;padding-left:0}
.compact-info-card .listing-offers li{position:relative;padding-left:1.15rem}.compact-info-card .listing-offers li::before{content:"\F26E";font-family:"bootstrap-icons";position:absolute;left:0;color:var(--brand-gold)}
.compact-stay-card{margin-bottom:.75rem}.compact-stay-facts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.5rem}.compact-stay-facts>div{border-radius:10px;background:#f7f9fc;padding:.6rem .7rem}.compact-stay-facts small{display:block;color:#8290a3;font-size:.67rem}.compact-stay-facts strong{display:block;color:var(--brand-navy);font-size:.82rem;margin-top:.1rem}.compact-note{font-size:.78rem;color:#64748b;margin:.6rem 0 0}
.compact-location{display:flex;align-items:center;gap:.75rem}.compact-location>i{font-size:1.45rem;color:var(--brand-gold)}.compact-location h2{margin-bottom:.15rem}.compact-location strong{font-size:.86rem;color:var(--brand-navy)}.compact-location p{font-size:.75rem;color:#7a899c;margin-top:.12rem}
.compact-action-card{position:sticky;top:94px;border:1px solid #e0e8f1;border-radius:15px;background:#fff;padding:1rem;box-shadow:0 12px 32px rgba(4,31,79,.08)}
.compact-action-card>small{display:block;color:#8290a3;font-size:.72rem}.compact-action-price{font-size:1.18rem;font-weight:800;color:var(--brand-navy);margin:.15rem 0}.compact-action-card p{font-size:.8rem;line-height:1.45;color:#66768a;margin:.65rem 0 .8rem}
.compact-modal{border:0;border-radius:16px;overflow:hidden;box-shadow:0 24px 70px rgba(4,31,79,.2)}
.compact-modal .modal-header,.compact-modal .modal-footer{padding:.8rem 1rem}.compact-modal .modal-body{padding:1rem}
@media(max-width:1199.98px){.compact-facts{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:991.98px){.compact-listing-shell{padding-top:.8rem}.compact-gallery{height:300px;grid-template-columns:minmax(0,1.7fr) minmax(150px,.8fr)}.compact-detail-layout{grid-template-columns:1fr}.compact-action-card{position:static;order:-1}.compact-action-card p{max-width:620px}.compact-copy-grid{grid-template-columns:1fr 1fr}}
@media(max-width:767.98px){.compact-listing-summary{align-items:flex-start;flex-direction:column;gap:.45rem}.compact-listing-price{font-size:1.05rem}.compact-gallery{height:auto;display:block;overflow:visible;background:transparent}.compact-gallery-main-wrap{height:240px;border-radius:14px}.compact-gallery-thumbs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-template-rows:76px;height:76px;gap:.4rem;margin-top:.4rem}.compact-gallery-thumb{border-radius:9px}.compact-copy-grid{grid-template-columns:1fr}.compact-facts{grid-template-columns:repeat(2,minmax(0,1fr))}.compact-stay-facts{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:420px){.compact-listing-shell{padding-left:.75rem;padding-right:.75rem}.compact-gallery-main-wrap{height:215px}.compact-gallery-thumbs{grid-template-rows:66px;height:66px}.compact-info-card .listing-offers ul{grid-template-columns:1fr}.compact-facts>div{padding:.55rem}.compact-action-card,.compact-info-card{border-radius:12px}}

/* ============================================================
   iFixRent compact listing-detail hero + stay quote preview
   September 2026
   ============================================================ */
.listing-mini-hero{
  background:
    radial-gradient(circle at 82% 30%,rgba(244,196,49,.12),transparent 20rem),
    linear-gradient(135deg,#041f4f,#0b376b 68%,#006fd6);
  border-bottom:1px solid rgba(244,196,49,.22);
  padding:.72rem 0;
  color:#fff;
}
.listing-mini-hero .compact-breadcrumb{margin:0}
.listing-mini-hero .breadcrumb{--bs-breadcrumb-divider-color:rgba(255,255,255,.45)}
.listing-mini-hero .breadcrumb-item,
.listing-mini-hero .breadcrumb-item.active{color:rgba(255,255,255,.78)}
.listing-mini-hero .compact-breadcrumb a{color:#fff;font-weight:650}
.listing-mini-hero .compact-breadcrumb a:hover{color:var(--brand-gold)}
.compact-listing-shell{padding-top:.9rem}
.stay-quote-preview{
  display:flex;
  justify-content:space-between;
  gap:1rem;
  align-items:center;
  border:1px solid #e1e8f1;
  background:linear-gradient(135deg,#f8fbff,#fffaf0);
  border-radius:12px;
  padding:.72rem .82rem;
}
.stay-quote-preview small{display:block;color:#7a8798;font-size:.68rem;text-transform:uppercase;letter-spacing:.045em;font-weight:700}
.stay-quote-preview strong{display:block;color:var(--brand-navy);font-size:.93rem;margin-top:.08rem}
@media(max-width:575.98px){
  .listing-mini-hero{padding:.58rem 0}
  .listing-mini-hero .breadcrumb{font-size:.73rem!important;white-space:nowrap;overflow:hidden}
  .listing-mini-hero .breadcrumb-item.active{max-width:46vw;overflow:hidden;text-overflow:ellipsis}
  .stay-quote-preview{padding:.65rem .7rem}
}

/* Interactive short-stay booking calendar, based on the approved compact two-month flow. */
.stay-booking-section{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(290px,.75fr);gap:1rem;margin-top:1rem;padding-top:1rem;border-top:1px solid #e7edf6;scroll-margin-top:92px}
.stay-calendar-pane,.stay-booking-card{border:1px solid #e1e8f1;border-radius:15px;background:#fff}
.stay-calendar-pane{padding:1rem;min-width:0}
.stay-calendar-head{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:.75rem}
.stay-calendar-head h2{font-size:1.05rem;font-weight:800;color:var(--brand-navy);margin:0 0 .2rem}
.stay-calendar-head p{font-size:.78rem;color:#65758a;margin:0}
.stay-calendar-nav{display:flex;gap:.35rem}
.stay-calendar-nav button{width:32px;height:32px;border:1px solid #dfe7f0;border-radius:50%;background:#fff;color:var(--brand-navy);display:grid;place-items:center;transition:.15s ease}
.stay-calendar-nav button:hover,.stay-calendar-nav button:focus-visible{border-color:var(--brand-gold);background:#fffaf0;outline:0}
.stay-months{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}
.stay-month{min-width:0}.stay-month h4{font-size:.8rem;font-weight:800;color:var(--brand-navy);margin:0 0 .4rem;text-align:center}
.stay-calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(28px,1fr));gap:.18rem;align-items:center}
.stay-weekday{height:26px;display:grid;place-items:center;font-size:.64rem;color:#7a899c;font-weight:700}
.stay-day{position:relative;min-width:0;height:34px;border:0;border-radius:9px;background:transparent;color:#10213a;font-size:.75rem;font-weight:650;display:grid;place-items:center;padding:0;z-index:1}
.stay-day:not(:disabled):hover,.stay-day:not(:disabled):focus-visible{background:#eef5ff;color:var(--brand-blue);outline:0}
.stay-day.is-range{border-radius:0;background:#eef3f8}
.stay-day.is-start,.stay-day.is-end{border-radius:50%;background:var(--brand-navy);color:#fff;box-shadow:0 0 0 2px rgba(4,31,79,.08)}
.stay-day.is-start.is-end{background:var(--brand-navy)}
.stay-day.is-past{color:#c4ceda;cursor:not-allowed}.stay-day.is-blocked{color:#a3afbd;text-decoration:line-through;background:#f6f7f9;cursor:not-allowed}
.stay-day.is-blank{height:34px}
.stay-calendar-help{font-size:.7rem;color:#748398;margin-top:.7rem}
.stay-booking-card{padding:1rem;align-self:start;position:sticky;top:94px;box-shadow:0 12px 30px rgba(4,31,79,.07)}
.stay-fee-badge{display:inline-block;border-radius:7px;background:#fff4df;color:#c76900;font-size:.66rem;font-weight:700;padding:.24rem .45rem;margin-bottom:.55rem}
.stay-booking-card h3{font-size:1.08rem;font-weight:800;color:var(--brand-navy);margin:0 0 .85rem}.stay-booking-card h3 small{font-size:.72rem;font-weight:600;color:#607087}
.stay-booking-card .form-label{font-size:.65rem;text-transform:uppercase;letter-spacing:.035em;font-weight:750;color:#708096;margin-bottom:.2rem}
.stay-booking-card .form-control,.stay-booking-card .form-select{font-size:.82rem;min-height:40px}
.stay-policy{display:flex;align-items:flex-start;gap:.4rem;font-size:.72rem;color:#607087;line-height:1.42;margin:.75rem 0}.stay-policy i{color:var(--brand-gold);margin-top:.04rem}
.stay-no-charge{display:block;text-align:center;color:#718198;font-size:.69rem;margin-top:.55rem}
.stay-request-summary{display:flex;justify-content:space-between;gap:1rem;border:1px solid #e4eaf1;background:#f8fafc;border-radius:11px;padding:.65rem .75rem}
.stay-request-summary small{display:block;color:#7b899a;font-size:.65rem;text-transform:uppercase;letter-spacing:.04em}.stay-request-summary strong{display:block;color:var(--brand-navy);font-size:.83rem;margin-top:.08rem}
@media(max-width:991.98px){.stay-booking-section{grid-template-columns:1fr}.stay-booking-card{position:static}.stay-months{gap:.65rem}}
@media(max-width:767.98px){.stay-calendar-pane,.stay-booking-card{border-radius:13px}.stay-months{grid-template-columns:1fr}.stay-month:nth-child(2){border-top:1px solid #edf1f6;padding-top:.7rem}.stay-calendar-grid{grid-template-columns:repeat(7,minmax(34px,1fr))}.stay-day{height:38px}.stay-calendar-head{align-items:center}}
@media(max-width:420px){.stay-calendar-pane,.stay-booking-card{padding:.8rem}.stay-calendar-grid{grid-template-columns:repeat(7,minmax(30px,1fr))}.stay-day{height:34px;font-size:.7rem}}


/* 2026-09-03 latest supplied iFixRent brand assets */
.site-logo,.footer-logo,.login-brand-logo{object-fit:contain;object-position:left center}
.navbar .site-logo{max-height:52px;width:auto}
.footer .footer-logo{max-height:76px;width:auto}
.login-form-panel .login-brand-logo{max-height:82px;width:auto;max-width:min(100%,320px);object-position:center}
.footer-domain{white-space:nowrap}
.footer-domain .brand-name{font-weight:600}
.footer .brand-domain-suffix{color:var(--brand-silver,#E7EDF6)}
@media(max-width:575.98px){.navbar .site-logo{max-height:44px}.footer .footer-logo{max-height:64px}.login-form-panel .login-brand-logo{max-height:68px}}

/* 2026-09-03 footer wordmark contrast fix: dark footer always uses white iFix + gold Rent */
.footer .brand-name .brand-ifix,
.footer .footer-domain .brand-name .brand-ifix,
.footer h6 .brand-name .brand-ifix{color:#fff!important}
.footer .brand-name .brand-rent,
.footer .footer-domain .brand-name .brand-rent,
.footer h6 .brand-name .brand-rent{color:var(--brand-gold)!important}

/* Listing card image is a primary View Details action. */
.listing-image-link{display:block;overflow:hidden;cursor:pointer;line-height:0}
.listing-image-link:focus-visible{outline:3px solid var(--gold);outline-offset:-3px;border-radius:inherit}
.listing-image-link .listing-image{transition:transform .22s ease,filter .22s ease}
.listing-image-link:hover .listing-image,.listing-image-link:focus-visible .listing-image{transform:scale(1.035);filter:brightness(.96)}