/* Custom Styles for Direct Book - Airbnb Pixel-Perfect */
:root {
    --brand-pink: #FF385C;
    --brand-pink-gradient: linear-gradient(to right, #E61E4D 0%, #E31C5F 50%, #D70466 100%);
    --brand-dark: #222222;
    --text-main: #222222;
    --text-secondary: #717171;
    --border-light: #DDDDDD;
    --shadow-premium: rgba(0, 0, 0, 0.12) 0px 6px 16px;
    --shadow-modal: rgba(0, 0, 0, 0.28) 0px 8px 28px;
    --font-stack: "Airbnb Cereal VF", Circular, -apple-system, BlinkMacSystemFont, Roboto, "Helvetica Neue", sans-serif;
}

body {
    font-family: var(--font-stack);
    color: var(--text-main);
    letter-spacing: -0.01em;
    overflow: visible !important;
    /* Ensure sticky works */
}

/* Fix for potential system scroll locks */
html,
body {
    height: auto !important;
    min-height: 100%;
    overflow: visible !important;
}

h1,
h2,
h3,
h4 {
    letter-spacing: -0.04em !important;
}

.text-balance {
    text-wrap: balance;
}

/* Premium Hero Styles */
.hero-badge {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 8px 16px;
    background: white;
    border: 1px solid var(--border-light);
    border-radius: 99px;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.05);
    font-size: 11px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: var(--text-main);
}

.hero-badge .sparkle {
    color: var(--brand-pink);
}

.premium-slide-up {
    opacity: 0;
    animation: premiumSlide 0.8s cubic-bezier(0.16, 1, 0.3, 1) forwards !important;
}

.premium-fade-in {
    opacity: 0;
    animation: premiumFade 1s ease-out forwards !important;
}

.premium-delay-100 {
    animation-delay: 100ms !important;
}

.premium-delay-200 {
    animation-delay: 200ms !important;
}

.premium-delay-300 {
    animation-delay: 300ms !important;
}

@keyframes premiumSlide {
    from {
        opacity: 0;
        transform: translateY(20px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

@keyframes premiumFade {
    from {
        opacity: 0;
    }

    to {
        opacity: 1;
    }
}

@keyframes slide-up {
    from {
        transform: translateY(100%);
    }

    to {
        transform: translateY(0);
    }
}

.animate-slide-up {
    animation: slide-up 0.4s cubic-bezier(0.16, 1, 0.3, 1);
}

html,
body {
    overflow-x: visible;
    width: 100%;
    position: relative;
    -webkit-overflow-scrolling: touch;
}

/* ========================================
   FLATPICKR CALENDAR - AIRBNB STYLE
   ======================================== */

.flatpickr-calendar {
    font-family: var(--font-stack) !important;
    background: transparent !important;
    box-shadow: none !important;
    border: none !important;
    width: 720px !important;
    /* (336*2) + 48 gap */
    max-width: none !important;
    display: flex !important;
    flex-direction: column !important;
}

.flatpickr-calendar.static,
.flatpickr-calendar.inline {
    margin: 32px auto !important;
    /* Centering inline view */
    justify-content: center !important;
    position: relative !important;
}

/* Response Widths */
@media (max-width: 1150px) {
    .flatpickr-calendar {
        width: 336px !important;
    }
}

/* Hide calendar section completely on mobile per user request */
@media (max-width: 1024px) {
    #calendar-section {
        display: none !important;
    }
}

/* Month headers */
.flatpickr-months {
    display: flex !important;
    flex-direction: row !important;
    margin-bottom: 24px !important;
    justify-content: center !important;
}

.flatpickr-month {
    background: transparent !important;
    height: 34px !important;
    width: 336px !important;
    flex: 0 0 336px !important;
    margin: 0 !important;
    color: #222 !important;
}

.flatpickr-current-month {
    font-size: 16px !important;
    font-weight: 600 !important;
    padding: 0 !important;
}

/* Only apply gap if multiple months exist */
.flatpickr-month:first-child:not(:last-child) {
    margin-right: 48px !important;
}

/* ========================================
   MULTI-MONTH LAYOUT - Force Balance
   ======================================== */

.flatpickr-innerContainer {
    display: flex !important;
    justify-content: center !important;
    width: 100% !important;
    border: none !important;
}

.flatpickr-rContainer {
    display: flex !important;
    flex-direction: column !important;
    /* Stack: Weekdays row, then Days row */
    width: 100% !important;
}

.flatpickr-weekdays {
    display: flex !important;
    flex-direction: row !important;
    width: 100% !important;
    height: 32px !important;
    margin-bottom: 12px !important;
}

.flatpickr-days {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: wrap !important;
    width: 100% !important;
    -webkit-flex-wrap: wrap !important;
}

/* Each Month Container (Header, Weekdays, Days) */
.flatpickr-weekdaycontainer,
.dayContainer {
    width: 336px !important;
    min-width: 336px !important;
    max-width: 336px !important;
    flex: 0 0 336px !important;
    margin: 0 !important;
    display: grid !important;
    grid-template-columns: repeat(7, 48px) !important;
}

.flatpickr-weekdaycontainer:first-child:not(:last-child),
.dayContainer:first-child:not(:last-child) {
    margin-right: 48px !important;
}

/* Weekday styling */
.flatpickr-weekday {
    font-size: 12px !important;
    font-weight: 700 !important;
    color: #222 !important;
    text-align: center !important;
    width: 48px !important;
    height: 32px !important;
    line-height: 32px !important;
}

/* Day individual cells */
.flatpickr-day {
    flex: none !important;
    width: 48px !important;
    max-width: 48px !important;
    /* Force override */
    height: 48px !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: flex-start !important;
    /* Fixed baseline from top */
    padding-top: 10px !important;
    line-height: 1 !important;
    margin: 0 !important;
    border: 1px solid transparent !important;
    border-radius: 50% !important;
    /* Circle style */
    color: #222 !important;
    font-weight: 600 !important;
}

/* Ensure no blue outline on focus */
.flatpickr-day:focus {
    outline: 0 !important;
    border-color: #222 !important;
}

/* Price inside day cell */
.flatpickr-day .day-price {
    font-size: 10px !important;
    font-weight: 500 !important;
    color: #717171 !important;
    height: 12px !important;
    /* Reserved space to prevent row jumps */
    line-height: 12px !important;
    margin-top: 1px !important;
}

/* Hover */
.flatpickr-day:hover:not(.flatpickr-disabled):not(.selected):not(.startRange):not(.endRange) {
    background: transparent !important;
    border: 1.5px solid #222 !important;
    transform: scale(1.05);
    z-index: 10;
}

/* Today - Force Override with Hyper Specificity */
html body .flatpickr-calendar .flatpickr-innerContainer .flatpickr-day.today:not(.selected) {
    border: 2px solid #FF385C !important;
    /* Airbnb Red Border */
    color: #222 !important;
    text-decoration: none !important;
    /* Force Remove underline */
    font-weight: 700 !important;
    border-radius: 50% !important;
    background: transparent !important;
}

/* Ensure hover doesn't break it */
html body .flatpickr-calendar .flatpickr-innerContainer .flatpickr-day.today:not(.selected):hover {
    border-color: #FF385C !important;
    background: #f7f7f7 !important;
}

/* Selected - black circles */
.flatpickr-day.selected,
.flatpickr-day.startRange,
.flatpickr-day.endRange {
    background: #222 !important;
    color: #fff !important;
    border: none !important;
    border-radius: 50% !important;
    z-index: 2 !important;
    box-shadow: none !important;
}

.flatpickr-day.selected .day-price,
.flatpickr-day.startRange .day-price,
.flatpickr-day.endRange .day-price {
    color: #fff !important;
    opacity: 0.9 !important;
}

/* In-range - Clear light gray, no blue */
.flatpickr-day.inRange,
.flatpickr-day.nextMonthDay.inRange,
.flatpickr-day.prevMonthDay.inRange,
.flatpickr-day.today.inRange,
.flatpickr-day.nextMonthDay.today.inRange,
.flatpickr-day.prevMonthDay.today.inRange {
    background: #F7F7F7 !important;
    border-color: #F7F7F7 !important;
    color: #222 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
}

.flatpickr-day.startRange.inRange {
    border-radius: 50% 0 0 50% !important;
}

.flatpickr-day.endRange.inRange {
    border-radius: 0 50% 50% 0 !important;
}

.flatpickr-day.startRange.endRange {
    border-radius: 50% !important;
}

/* Disabled days */
/* Blocked/Unavailable days - Airbnb style (line-through, light gray) */
.flatpickr-day.flatpickr-disabled {
    color: #B0B0B0 !important;
    text-decoration: line-through !important;
    cursor: not-allowed !important;
    background: transparent !important;
    font-weight: 400 !important;
}

.flatpickr-day.flatpickr-disabled::after {
    display: none !important;
}

.flatpickr-day.flatpickr-disabled .day-price {
    display: none !important;
}

/* Hide prev/next month days */
/* Hide prev/next month days - Split logic for alignment */
.flatpickr-day.prevMonthDay {
    visibility: hidden !important;
    /* Must take space for grid alignment */
    pointer-events: none !important;
    background: transparent !important;
    border: none !important;
}

/* CRITICAL: High specificity to override mobile .dayContainer .flatpickr-day { display: flex } */
html body .mobile-airbnb-calendar .dayContainer .flatpickr-day.nextMonthDay,
.flatpickr-day.nextMonthDay {
    display: none !important;
    /* Collapse empty rows at end of month */
}

.flatpickr-day.prevMonthDay .day-price,
.flatpickr-day.nextMonthDay .day-price {
    display: none !important;
}

/* ========================================
   POPOVER CALENDAR
   ======================================== */
.flatpickr-calendar.open {
    background: #fff !important;
    border-radius: 2.5rem !important;
    box-shadow: 0 12px 40px rgba(0, 0, 0, 0.18) !important;
    padding: 0 !important;
    border: 1px solid #eee !important;
    z-index: 9999 !important;
    width: 860px !important;
    /* Buffer for 720px content + 130px padding */
    max-width: 95vw !important;
    position: absolute !important;
    display: flex !important;
    flex-direction: column !important;
    overflow: hidden !important;
}

/* Internal padding for months in popover */
.flatpickr-calendar.open .flatpickr-innerContainer {
    padding: 24px 65px 0 65px !important;
    /* Perfectly centered 720px content */
    width: 100% !important;
}

.flatpickr-calendar.open .flatpickr-months {
    padding: 32px 65px 0 65px !important;
    margin-bottom: -16px !important;
    justify-content: center !important;
    width: 100% !important;
    position: relative !important;
}

/* Nav Arrows Spacing */
.flatpickr-calendar.open .flatpickr-prev-month,
.flatpickr-calendar.open .flatpickr-next-month {
    top: 32px !important;
    /* Match padding-top */
    height: 34px !important;
    padding: 0 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    transition: background 0.2s ease !important;
    border-radius: 50% !important;
    width: 34px !important;
}

.flatpickr-calendar.open .flatpickr-prev-month {
    left: 45px !important;
}

.flatpickr-calendar.open .flatpickr-next-month {
    right: 45px !important;
}

.flatpickr-calendar.open .flatpickr-prev-month:hover,
.flatpickr-calendar.open .flatpickr-next-month:hover {
    background: #f7f7f7 !important;
}

@media (max-width: 1150px) {
    .flatpickr-calendar.open {
        width: 320px !important;
        /* 336 month + 24x2 padding */
    }

    .flatpickr-calendar.open .flatpickr-innerContainer,
    .flatpickr-calendar.open .flatpickr-months {
        padding: 16px 24px 0 24px !important;
    }
}

/* Responsive Scaling Patterns */
@media (max-width: 1150px) {
    .flatpickr-calendar {
        transform: scale(0.95);
        transform-origin: top center;
    }
}

@media (max-width: 768px) {
    .flatpickr-calendar {
        transform: scale(0.85);
        transform-origin: top center;
    }

    /* Center the booking card and form on mobile */
    .sticky.top-24 {
        position: static !important;
        margin: 0 auto !important;
        max-width: 450px !important;
    }
}

@media (max-width: 480px) {
    .flatpickr-calendar {
        transform: scale(0.88);
        transform-origin: top center;
    }
}

/* Hide shortcuts/time */
.shortcut-buttons-flatpickr-buttons,
.flatpickr-time,
.flatpickr-innerContainer::after,
.flatpickr-calendar .flatpickr-innerContainer+.flatpickr-time {
    display: none !important;
}

/* Footer alignment */
.flatpickr-footer {
    width: 100% !important;
    margin: 0 !important;
    padding: 16px 32px 32px 32px !important;
}

/* Airbnb Mobile Calendar - Vertical Scroll */
/* Airbnb Mobile Date Picker High-Fidelity Refinements (Targeted Class Strategy) */

#mobile-date-modal h2#calendar-title {
    color: var(--brand-dark);
    letter-spacing: -0.04em;
}

#mobile-date-modal p#calendar-subtitle {
    color: var(--text-secondary);
    font-size: 14px;
}

/* Base Mobile Calendar Styling */
.mobile-airbnb-calendar {
    width: 100% !important;
    max-width: none !important;
    display: flex !important;
    flex-direction: column !important;
    background: transparent !important;
    box-shadow: none !important;
    position: static !important;
}

/* Ensure native header Flex box works */
.mobile-airbnb-calendar .flatpickr-months {
    display: flex !important;
    flex-direction: row !important;
    justify-content: flex-start !important;
    padding: 0 4px !important;
    margin-bottom: 24px !important;
}

.mobile-airbnb-calendar .flatpickr-month {
    height: auto !important;
    text-align: left !important;
    color: #222 !important;
    flex: 1 !important;
    overflow: visible !important;
}

.mobile-airbnb-calendar .flatpickr-current-month {
    position: static !important;
    display: block !important;
    padding: 0 !important;
    font-size: 18px !important;
    font-weight: 800 !important;
    width: 100% !important;
    text-align: left !important;
    left: 0 !important;
}

/* STRICT: Hide navigation arrows and year spinners */
html body .mobile-airbnb-calendar .flatpickr-prev-month,
html body .mobile-airbnb-calendar .flatpickr-next-month,
html body .mobile-airbnb-calendar .flatpickr-current-month .numInputWrapper,
html body .mobile-airbnb-calendar .flatpickr-monthDropdown-months {
    display: none !important;
    opacity: 0 !important;
    pointer-events: none !important;
    visibility: hidden !important;
}

/* Disable interactivity on month title */
html body .mobile-airbnb-calendar .flatpickr-month {
    pointer-events: none !important;
    height: auto !important;
}

/* Adjust title text */
html body .mobile-airbnb-calendar .flatpickr-current-month .cur-month {
    font-weight: 600 !important;
    margin-right: 4px !important;
    font-size: 18px !important;
}

/* Show prices on ALL calendars including mobile modal */
.flatpickr-day .day-price {
    display: block !important;
}

/* STRICT: Per-Month Weekday Hiding */
html body .mobile-airbnb-calendar .flatpickr-weekdays,
html body .mobile-airbnb-calendar .flatpickr-weekdaycontainer {
    display: none !important;
    height: 0 !important;
    visibility: hidden !important;
    margin: 0 !important;
    padding: 0 !important;
    opacity: 0 !important;
}

/* Ensure Days container uses GRID for perfect alignment */
html body .mobile-airbnb-calendar .flatpickr-days {
    width: 100% !important;
    border: none !important;
    padding: 0 !important;
}

/* Force Flatpickr's internal container to be fluid */
.mobile-airbnb-calendar.flatpickr-calendar {
    width: 100% !important;
    max-width: none !important;
    box-shadow: none !important;
    border: none !important;
}

/* Mobile Calendar - Day Grid Container (14.2857% = exactly 1/7th width per column) */
html body .mobile-airbnb-calendar .dayContainer {
    width: 100% !important;
    min-width: 100% !important;
    max-width: 100% !important;
    padding: 0 !important;
    box-sizing: border-box !important;
    display: grid !important;
    grid-template-columns: repeat(7, 14.2857%) !important;
    column-gap: 0px !important;
    row-gap: 4px !important;
    justify-items: center !important;
}

/* Parent container for the mobile calendar grid */
.airbnb-mobile-calendar-container {
    width: 95% !important;
    margin: 0 auto !important;
}

/* Parent container for the INLINE/Desktop calendar grid */
.airbnb-inline-calendar-container {
    width: 95% !important;
    margin: 0 auto !important;
}

.airbnb-inline-calendar-container .flatpickr-calendar {
    width: 100% !important;
    max-width: none !important;
    box-shadow: none !important;
}

.airbnb-inline-calendar-container .dayContainer {
    width: 100% !important;
    min-width: 100% !important;
    max-width: 100% !important;
}

/* Mobile Calendar - Weekday Header (HIDE flatpickr's built-in headers) */
html body .mobile-airbnb-calendar .flatpickr-weekdays,
html body .mobile-airbnb-calendar .flatpickr-weekdaycontainer {
    display: none !important;
    /* Hidden - we use global header instead */
}

/* Day Cell - Global Improvements (Perfect Circles) */
.flatpickr-day {
    position: relative !important;
    border-radius: 50% !important;
    /* Forces perfect circle for selection/hover */
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    transition: all 0.2s cubic-bezier(0.2, 0.8, 0.2, 1);
    transform: scale(1);
}

.mobile-airbnb-calendar .dayContainer .flatpickr-day {
    width: 100% !important;
    aspect-ratio: 1 / 1 !important;
    height: auto !important;
    max-width: none !important;
    line-height: normal !important;
    margin: 0 !important;
    font-size: 17px !important;
    font-weight: 600 !important;
    color: #222 !important;
    flex-basis: auto !important;
}

/* Day Cell - Airbnb Style Selection (Unified for Mobile/Inline) */
.flatpickr-day {
    z-index: 1;
    border: none !important;
    /* Reset default borders */
}

/* Universal Reset for Selected Dots - Force ALL nested text to white */
html body .flatpickr-day.selected,
html body .flatpickr-day.startRange,
html body .flatpickr-day.endRange,
html body .mobile-airbnb-calendar .dayContainer .flatpickr-day.selected,
html body .mobile-airbnb-calendar .dayContainer .flatpickr-day.startRange,
html body .mobile-airbnb-calendar .dayContainer .flatpickr-day.endRange,
html body .flatpickr-day.selected:hover,
html body .flatpickr-day.startRange:hover,
html body .flatpickr-day.endRange:hover {
    color: #ffffff !important;
    background: #222222 !important;
}

/* Specific override for any nested spans (like day-price) inside selected dots */
html body .flatpickr-day.selected *,
html body .flatpickr-day.startRange *,
html body .flatpickr-day.endRange *,
html body .mobile-airbnb-calendar .dayContainer .flatpickr-day.selected *,
html body .mobile-airbnb-calendar .dayContainer .flatpickr-day.startRange *,
html body .mobile-airbnb-calendar .dayContainer .flatpickr-day.endRange *,
html body .flatpickr-day.selected:hover *,
html body .flatpickr-day.startRange:hover *,
html body .flatpickr-day.endRange:hover * {
    color: #ffffff !important;
    opacity: 1 !important;
}

/* Today state - subtle circular border */
.flatpickr-day.today:not(.selected):not(.startRange):not(.endRange) {
    border: 1px solid #222 !important;
    border-radius: 50% !important;
}

/* Clearer selection on mobile where we use aspect-ratio */
.mobile-airbnb-calendar .flatpickr-day.selected::after {
    display: none !important;
}

/* Day Price - Consistent across all calendars */
.flatpickr-day .day-price {
    display: block !important;
    font-size: 11px !important;
    font-weight: 500 !important;
    color: #717171 !important;
    line-height: 12px !important;
    margin-top: 1px !important;
}

/* Mobile Modal Pinning & Scroller */
#mobile-date-modal {
    overscroll-behavior: contain;
}

#mobile-inline-calendar {
    flex: 1;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
}

/* Load More Dates Button */
#load-more-container button {
    border: 1px solid #222222 !important;
    background: white !important;
    color: #222222 !important;
    font-weight: 800 !important;
    padding: 14px 24px !important;
    border-radius: 8px !important;
    transition: all 0.2s ease !important;
}

#load-more-container button:active {
    scale: 0.96 !important;
    background: #f7f7f7 !important;
}

/* Global Overflow Protection */
body,
html {
    overflow-x: hidden !important;
    width: 100% !important;
    max-width: 100vw !important;
    position: relative !important;
}

/* Fix Swiper Infinite Width Issue */
.property-swiper .swiper-wrapper {
    width: 100% !important;
    box-sizing: border-box !important;
}

/* Title Wrapping Fix */
h1 {
    white-space: normal !important;
    overflow-wrap: break-word !important;
    word-break: break-word !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    /* flex fix */
    box-sizing: border-box !important;
    line-height: 1.25 !important;
    padding-right: 16px !important;
    /* Safety padding */
}

/* Fix Swiper Scaling - Mobile Parity */
.property-swiper {
    background: #f7f7f7 !important;
    width: 100% !important;
    max-width: 100vw !important;
    overflow: hidden !important;
    aspect-ratio: 4/3 !important;
    /* Airbnb mobile standard */
    height: auto !important;
    margin: 0 !important;
    padding: 0 !important;
}

.property-swiper .swiper-slide {
    width: 100vw !important;
    height: 100% !important;
    box-sizing: border-box !important;
}

.property-swiper .swiper-slide img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    /* Fill frame cleanly */
    display: block !important;
}

/* Alignment Fix: EXACT match to Flatpickr Grid */
.mobile-weekday-header {
    display: flex !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 auto 8px auto !important;
    padding: 0 !important;
    box-sizing: border-box !important;
}

.mobile-weekday-header span {
    flex: 0 0 14.28% !important;
    width: 14.28% !important;
    max-width: 14.28% !important;
    text-align: center !important;
    font-size: 12px !important;
    font-weight: 600 !important;
    color: #717171 !important;
    box-sizing: border-box !important;
}

/* Ensure mobile reserve bar is clean */
#mobile-reserve-bar {
    border-top: 1px solid #ebebeb !important;
    box-shadow: 0 -4px 12px rgba(0, 0, 0, 0.05) !important;
}

/* ========================================
   TOAST NOTIFICATION
   ======================================== */
.toast-notification {
    position: fixed;
    bottom: 24px;
    left: 50%;
    transform: translateX(-50%) translateY(20px);
    background: #222;
    color: #fff;
    padding: 12px 24px;
    border-radius: 8px;
    font-size: 14px;
    font-weight: 500;
    opacity: 0;
    transition: all 0.3s ease;
    z-index: 9999;
}

.toast-notification.show {
    opacity: 1;
    transform: translateX(-50%) translateY(0);
}

/* ========================================
   UTILITIES
   ======================================== */
.no-scrollbar::-webkit-scrollbar {
    display: none;
}

.no-scrollbar {
    -ms-overflow-style: none;
    scrollbar-width: none;
}

.gallery-tag {
    backdrop-filter: blur(8px);
    background: rgba(255, 255, 255, 0.85);
}

@keyframes fade-in {
    from {
        opacity: 0;
        transform: translateY(8px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.animate-fade-in {
    animation: fade-in 0.3s ease-out;
}

.btn-clear-dates {
    background: transparent;
    color: #222;
    font-size: 14px;
    font-weight: 600;
    text-decoration: underline;
    cursor: pointer;
}

.btn-clear-dates:hover {
    opacity: 0.6;
}

/* Premium Enhancements */
.property-card-glow {
    position: relative;
}

.property-card-glow::after {
    content: '';
    position: absolute;
    inset: -1px;
    background: linear-gradient(to bottom right, rgba(255, 56, 92, 0.2), transparent, rgba(255, 56, 92, 0.05));
    border-radius: 1.5rem;
    z-index: -1;
    opacity: 0;
    transition: opacity 0.3s ease;
}

.property-card-glow:hover::after {
    opacity: 1;
}

#about h3 {
    letter-spacing: -0.02em !important;
}

#newsletter-form input:focus {
    box-shadow: 0 0 0 4px rgba(255, 56, 92, 0.1);
}

/* Force consistency for property info alignment */
#photos,
.main-property-grid {
    width: 100% !important;
    max-width: 1250px !important;
    margin-left: auto !important;
    margin-right: auto !important;
}