/* BHROMI — shared animated empty state */
.bhe{display:flex;flex-direction:column;align-items:center;text-align:center;padding:18px 20px 30px;margin:0 auto;max-width:560px;color:#0b1b3a}
.bhe-art{width:min(380px,88vw);line-height:0}
.bhe-svg{width:100%;height:auto;display:block;overflow:visible}
.bhe-h{margin:6px 0 0;font-size:clamp(26px,7vw,34px);line-height:1.12;font-weight:800;letter-spacing:-.6px;color:#0b1b3a;font-family:inherit}
.bhe-p{margin:10px 0 0;font-size:clamp(15px,4vw,17px);line-height:1.45;color:#6b7a93;max-width:340px;font-family:inherit}
.bhe-cta{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-width:220px;height:54px;padding:0 30px;margin-top:26px;border-radius:999px;background:linear-gradient(180deg,#1a63f2,#0b4fdc);color:#fff;font-size:17px;font-weight:700;text-decoration:none;font-family:inherit;box-shadow:0 12px 26px rgba(20,86,240,.28);transition:transform .15s ease,box-shadow .15s ease;-webkit-tap-highlight-color:transparent}
.bhe-cta:hover{transform:translateY(-1px);box-shadow:0 16px 30px rgba(20,86,240,.34)}
.bhe-cta:active{transform:scale(.97)}
.bhe-cta-ic{display:inline-flex;transition:transform .2s ease}
.bhe-cta:hover .bhe-cta-ic{transform:translateX(3px)}
.bhe-compact{padding:6px 16px 20px}
.bhe-compact .bhe-art{width:min(300px,80vw)}
.bhe-compact .bhe-h{font-size:clamp(22px,6vw,26px)}
.bhe-compact .bhe-cta{height:48px;font-size:15px;margin-top:20px}
/* the old "Save your favorite stays" promo duplicates the empty state */
.bhe + .fk-promo{display:none}
@media (min-width:768px){.bhe{padding:34px 24px 44px}.bhe-art{width:360px}}

/* ---- animation (transform/opacity only, cheap on phones) ---- */
.bhe-svg *{transform-box:fill-box}
.bhe-case{animation:bheFloat 3.8s ease-in-out infinite;transform-origin:50% 100%}
.bhe-ground{animation:bheShadow 3.8s ease-in-out infinite;transform-origin:50% 50%}
.bhe-tag{animation:bheSwing 3.8s ease-in-out infinite;transform-origin:50% 0}
.bhe-map{animation:bheMap 4.6s ease-in-out infinite;transform-origin:50% 100%}
.bhe-pin{animation:bhePin 2.2s cubic-bezier(.3,0,.3,1) infinite;transform-origin:50% 100%}
.bhe-route{animation:bheDash 1.4s linear infinite}
.bhe-palm{animation:bhePalm 3.2s ease-in-out infinite;transform-origin:50% 100%}
.bhe-sun{animation:bheSun 5s ease-in-out infinite;transform-origin:50% 50%}
.bhe-c1{animation:bheCloud 9s ease-in-out infinite alternate}
.bhe-c2{animation:bheCloud 11s ease-in-out infinite alternate-reverse}
.bhe-b1{animation:bheBird 6s ease-in-out infinite}
.bhe-b2{animation:bheBird 7.5s ease-in-out -2s infinite}
@keyframes bheFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-9px)}}
@keyframes bheShadow{0%,100%{transform:scaleX(1);opacity:1}50%{transform:scaleX(.93);opacity:.7}}
@keyframes bheSwing{0%,100%{transform:rotate(-5deg)}50%{transform:rotate(5deg)}}
@keyframes bheMap{0%,100%{transform:translateY(0) rotate(0)}50%{transform:translateY(-4px) rotate(.6deg)}}
@keyframes bhePin{0%,100%{transform:translateY(0)}30%{transform:translateY(-14px)}50%{transform:translateY(0)}62%{transform:translateY(-4px)}74%{transform:translateY(0)}}
@keyframes bheDash{to{stroke-dashoffset:-30}}
@keyframes bhePalm{0%,100%{transform:rotate(-2deg)}50%{transform:rotate(3deg)}}
@keyframes bheSun{0%,100%{transform:scale(1);opacity:.75}50%{transform:scale(1.06);opacity:.95}}
@keyframes bheCloud{from{transform:translateX(-8px)}to{transform:translateX(10px)}}
@keyframes bheBird{0%,100%{transform:translate(0,0)}50%{transform:translate(14px,-8px)}}
@media (prefers-reduced-motion:reduce){.bhe-svg *{animation:none!important}}
