/* Flagship Rentals — thin Home promo strip + slide-in offer box.
   Home page only. Brand: teal #0f4b66, button #a91e1f, type Alegreya Sans.
   Offer auto-hides after 30 Apr 2027 (handled in JS). */

/* ===== Thin one-line strip under the hero ===== */
body .fr-new .fr-promo.fr-promo-thin{
  background:#0f4b66;
  color:#fff;
  text-align:center;
  padding:7px 20px;
  font-family:'Alegreya Sans',Helvetica,Arial,sans-serif;
}
body .fr-new .fr-promo.fr-promo-thin p.fr-promo-thin-line{
  margin:0;
  font-size:16px!important;
  line-height:1.3!important;
  color:#fff!important;
  white-space:nowrap;
}
body .fr-new .fr-promo.fr-promo-thin .fr-promo-thin-offer,
body .fr-new .fr-promo.fr-promo-thin .fr-promo-thin-dates,
body .fr-new .fr-promo.fr-promo-thin .fr-promo-thin-sep{
  color:#fff!important;
}
body .fr-new .fr-promo.fr-promo-thin a.fr-promo-thin-link,
body .fr-new .fr-promo.fr-promo-thin a.fr-promo-thin-link:visited{
  color:#fff!important;
  font-weight:700;
  text-decoration:underline!important;
  text-underline-offset:2px;
  white-space:nowrap;
  margin-left:.7em;
  letter-spacing:0;
  text-transform:none;
  background:none!important;
  padding:0;
  border:0;
  border-radius:0;
}
body .fr-new .fr-promo.fr-promo-thin a.fr-promo-thin-link:hover,
body .fr-new .fr-promo.fr-promo-thin a.fr-promo-thin-link:focus-visible{
  opacity:.9;
  outline:2px solid #fff;
  outline-offset:3px;
}

@media (max-width:767px){
  body .fr-new .fr-promo.fr-promo-thin{padding:7px 12px}
  body .fr-new .fr-promo.fr-promo-thin p.fr-promo-thin-line{
    white-space:normal;
    font-size:14.5px!important;
    line-height:1.3!important;
  }
  body .fr-new .fr-promo.fr-promo-thin .fr-promo-thin-offer{display:block}
  body .fr-new .fr-promo.fr-promo-thin .fr-promo-thin-sep{display:none}
  body .fr-new .fr-promo.fr-promo-thin a.fr-promo-thin-link{margin-left:.55em}
}

/* ===== Corner / bottom slide-in box ===== */
.fr-promo-popup{
  position:fixed;
  z-index:100000;
  right:24px;
  bottom:24px;
  width:min(360px, calc(100vw - 48px));
  box-sizing:border-box;
  background:#0f4b66;
  color:#fff;
  font-family:'Alegreya Sans',Helvetica,Arial,sans-serif;
  padding:20px 22px 16px;
  border-radius:8px;
  box-shadow:0 8px 28px rgba(0,0,0,.28);
  text-align:left;
  opacity:0;
  transform:translateY(16px);
  pointer-events:none;
  visibility:hidden;
  transition:opacity .35s ease, transform .35s ease, visibility 0s linear .35s;
}
.fr-promo-popup.is-open{
  opacity:1;
  transform:translateY(0);
  pointer-events:auto;
  visibility:visible;
  transition:opacity .35s ease, transform .35s ease, visibility 0s linear 0s;
}
.fr-promo-popup[hidden]{display:none!important}

.fr-promo-popup-close{
  position:absolute;
  top:4px;
  right:4px;
  width:44px;
  height:44px;
  margin:0;
  padding:0;
  border:0;
  border-radius:4px;
  background:transparent;
  color:#fff;
  cursor:pointer;
  display:flex;
  align-items:center;
  justify-content:center;
  line-height:1;
}
.fr-promo-popup-close svg{
  width:16px;
  height:16px;
  display:block;
  pointer-events:none;
}
.fr-promo-popup-close:hover{background:rgba(255,255,255,.12)}
.fr-promo-popup-close:focus{outline:none}
.fr-promo-popup-close:focus-visible{
  outline:2px solid #fff;
  outline-offset:0;
}

.fr-promo-popup-title{
  margin:0 28px 8px 0;
  padding:0;
  font-size:20px;
  font-weight:800;
  line-height:1.25;
  color:#fff;
}
.fr-promo-popup-dates{
  margin:0 0 14px;
  padding:0;
  font-size:15px;
  line-height:1.35;
  color:#fff;
  opacity:.94;
}
body a.fr-btn.fr-promo-popup-btn,
body a.fr-btn.fr-promo-popup-btn:visited{
  display:inline-block;
  background:#a91e1f!important;
  color:#fff!important;
  text-decoration:none!important;
  padding:9px 20px;
  border-radius:4px;
  font-weight:700;
  letter-spacing:.04em;
  text-transform:uppercase;
  font-size:15px;
  border:0;
}
body a.fr-btn.fr-promo-popup-btn:hover{opacity:.92}
body a.fr-btn.fr-promo-popup-btn:focus-visible{
  outline:2px solid #fff;
  outline-offset:3px;
}
.fr-promo-popup-fine{
  margin:10px 0 0;
  padding:0;
  font-size:13px;
  line-height:1.35;
  color:#fff;
  opacity:.9;
}

/* Phone: compact bottom card, well under 30% of the viewport.
   Sits above the fixed Call / Book bar (~64px). */
@media (max-width:980px){
  .fr-promo-popup{
    right:10px;
    left:10px;
    width:auto;
    bottom:72px;
    padding:12px 14px 10px;
    border-radius:8px;
    max-height:26vh;
    overflow:hidden;
  }
  .fr-promo-popup-title{
    font-size:16.5px;
    margin:0 36px 6px 0;
  }
  .fr-promo-popup-dates{
    font-size:13.5px;
    margin:0 0 10px;
  }
  body a.fr-btn.fr-promo-popup-btn,
  body a.fr-btn.fr-promo-popup-btn:visited{
    padding:8px 16px;
    font-size:14px;
  }
  .fr-promo-popup-fine{
    font-size:12px;
    margin:8px 0 0;
  }
}

@media (prefers-reduced-motion:reduce){
  .fr-promo-popup,
  .fr-promo-popup.is-open{transition:none}
}
