/* Shared real-estate listing #slider hero (Punta Cana + global /real-estate/properties) */
#slider.nfr-real-estate-hero {
min-height: clamp(300px, 42vh, 520px);
}
#slider.nfr-real-estate-hero.slider-element {
padding-top: clamp(5rem, 18vmin, 11rem) !important;
padding-bottom: clamp(1.25rem, 5vmin, 2.75rem) !important;
}
.nfr-listing-hero-place {
min-height: 200px;
display: flex;
align-items: flex-start;
justify-content: center;
padding-top: 0.5rem;
padding-bottom: 0.75rem;
margin-top: 0;
}
.nfr-hero-place-title {
font-size: clamp(2.25rem, 7vw, 4.25rem);
font-weight: 700;
line-height: 1.1;
letter-spacing: 0.04em;
text-shadow: 0 4px 28px rgba(0, 0, 0, 0.55), 0 1px 3px rgba(0, 0, 0, 0.35);
}
.nfr-hero-headline-stack {
display: flex;
flex-direction: column;
align-items: center;
width: 100%;
}
@keyframes nfr-hero-tagline-glow-pulse {
0%, 100% {
color: #f0f7ff;
text-shadow:
0 0 8px rgba(255, 255, 255, 0.42),
0 0 16px rgba(255, 255, 255, 0.28),
0 0 28px rgba(255, 255, 255, 0.14),
0 1px 2px rgba(0, 0, 0, 0.4);
box-shadow:
0 0 0 1px rgba(41, 128, 185, 0.4) inset,
0 4px 18px rgba(0, 0, 0, 0.28),
0 0 22px rgba(255, 255, 255, 0.12);
}
50% {
color: #ffffff;
text-shadow:
0 0 14px rgba(255, 255, 255, 0.72),
0 0 28px rgba(255, 255, 255, 0.45),
0 0 44px rgba(255, 255, 255, 0.28),
0 1px 3px rgba(0, 0, 0, 0.3);
box-shadow:
0 0 0 1px rgba(52, 152, 219, 0.65) inset,
0 4px 22px rgba(0, 0, 0, 0.22),
0 0 32px rgba(255, 255, 255, 0.22),
0 0 48px rgba(186, 230, 253, 0.4);
}
}
@media (prefers-reduced-motion: reduce) {
label.nfr-hero-tagline {
animation: none !important;
text-shadow: 0 0 12px rgba(255, 255, 255, 0.35), 0 1px 2px rgba(0, 0, 0, 0.45);
box-shadow:
0 0 0 1px rgba(41, 128, 185, 0.35) inset,
0 4px 20px rgba(0, 0, 0, 0.25),
0 0 22px rgba(52, 152, 219, 0.2);
}
}
label.nfr-hero-tagline {
display: block;
margin: 0.75rem auto 0;
max-width: 34rem;
padding: 0.55rem 1.85rem 0.6rem;
font-family: 'Lora', Georgia, 'Times New Roman', serif;
font-size: clamp(0.9375rem, 2.1vw, 1.125rem);
font-weight: 500;
font-style: italic;
line-height: 1.4;
letter-spacing: 0.02em;
text-transform: none;
text-align: center;
border: 1px solid rgba(52, 152, 219, 0.9);
border-radius: 9999px;
background: linear-gradient(180deg, rgba(12, 48, 82, 0.62) 0%, rgba(6, 28, 52, 0.82) 100%);
animation: nfr-hero-tagline-glow-pulse 2s ease-in-out infinite;
cursor: default;
}
