/* Nefertiti premium look for the whole site (Homey theme). Colours, fonts and spacing only — no layout or function changes. */
:root {
	--nf-bg: #0b0809; --nf-bg2: #120c0d; --nf-card: #1a1213; --nf-card2: #22181a; --nf-line: rgba(212,175,55,.2); --nf-line2: rgba(255,255,255,.09);
	--nf-burgundy: #7a121e; --nf-burgundy2: #9b1b2a; --nf-gold: #d4af37; --nf-gold-l: #f1d58a; --nf-gold-d: #b8892f;
	--nf-text: #f2ebe2; --nf-muted: #b8ab9f; --nf-serif: "Cormorant Garamond", Georgia, serif; --nf-sans: Inter, system-ui, -apple-system, "Segoe UI", sans-serif;
	--nf-goldgrad: linear-gradient(180deg, #f1d58a, #d4af37 60%, #b8892f);
}

/* ---------- base ---------- */
body.nf, body.nf #section-body, body.nf .main-wrap, body.nf #wrapper, body.nf .page-wrap { background: var(--nf-bg) !important; color: var(--nf-text); font-family: var(--nf-sans); }
body.nf h1, body.nf h2, body.nf h3, body.nf .title, body.nf .page-title h1, body.nf .listing-title, body.nf .block-title h2, body.nf .widget-title, body.nf .modal-title { color: var(--nf-text); }
body.nf h1, body.nf .page-title h1, body.nf .title-section h1 { font-family: var(--nf-serif); font-weight: 600; letter-spacing: .005em; }
body.nf h2, body.nf .block-title h2, body.nf .section-title h2 { font-family: var(--nf-serif); font-weight: 600; }
body.nf p, body.nf li, body.nf label, body.nf td, body.nf th, body.nf dd, body.nf dt, body.nf .text-muted { color: var(--nf-muted); }
body.nf strong, body.nf b { color: var(--nf-text); }
body.nf a { color: var(--nf-gold-l); }
body.nf a:hover, body.nf a:focus { color: #fff; }
body.nf hr, body.nf .block-section, body.nf .block-col, body.nf .block-left { border-color: var(--nf-line2) !important; }
body.nf ::selection { background: var(--nf-burgundy); color: #fff; }

/* ---------- header (desktop + mobile) ---------- */
body.nf .nav-area, body.nf .header-nav, body.nf .header-mobile, body.nf .header-mobile-wrap, body.nf .top-bar-wrap, body.nf #homey_nav_sticky, body.nf #homey_nav_sticky_mobile { background: rgba(11,8,9,.97) !important; border-color: var(--nf-line) !important; box-shadow: 0 1px 0 var(--nf-line); }
body.nf .header-nav .main-menu > li > a, body.nf .navi .main-menu > li > a, body.nf .login-register a, body.nf .header-mobile a { color: #e9dfd3 !important; font-family: var(--nf-sans); font-weight: 500; }
body.nf .header-nav .main-menu > li > a:hover, body.nf .header-nav .main-menu > li.current-menu-item > a { color: var(--nf-gold-l) !important; }
body.nf .login-register .homey-icon { color: var(--nf-gold) !important; }
body.nf .main-menu .sub-menu, body.nf .navi .sub-menu, body.nf .dropdown-menu, body.nf .account-dropdown, body.nf .user-dashboard-menu { background: var(--nf-card) !important; border: 1px solid var(--nf-line) !important; box-shadow: 0 18px 40px rgba(0,0,0,.5) !important; }
body.nf .main-menu .sub-menu a, body.nf .dropdown-menu > li > a, body.nf .account-dropdown a { color: #e9dfd3 !important; }
body.nf .main-menu .sub-menu a:hover, body.nf .dropdown-menu > li > a:hover { background: var(--nf-card2) !important; color: var(--nf-gold-l) !important; }
body.nf .homey_logo img, body.nf .mobile-logo img { width: auto !important; height: 46px !important; max-width: 180px; object-fit: contain; }
body.nf .mobile-logo img { height: 36px !important; }
body.nf .header-mobile .mobile-logo { padding-left: 52px; padding-right: 52px; }
body.nf .header-mobile .mobile-menu-btn, body.nf .header-mobile .user-mobile-link, body.nf .header-mobile .homey-icon, body.nf .header-mobile i { color: var(--nf-gold-l) !important; }
body.nf .offcanvas-menu, body.nf .mobile-nav, body.nf .nav-mobile, body.nf .sidebar-mobile-menu { background: var(--nf-bg2) !important; }
body.nf .offcanvas-menu a, body.nf .nav-mobile a { color: #e9dfd3 !important; border-color: var(--nf-line2) !important; }

/* ---------- buttons ---------- */
body.nf .btn-primary, body.nf .btn-add-new-listing, body.nf .btn-search, body.nf .btn-full-width.btn-primary, body.nf button[type="submit"].btn, body.nf .btn-book-now, body.nf .woocommerce a.button, body.nf .woocommerce button.button, body.nf .woocommerce input.button, body.nf .woocommerce #respond input#submit, body.nf .wpcf7-submit, body.nf .homey_login_button, body.nf .btn-reserve {
	background: var(--nf-goldgrad) !important; border: 0 !important; color: #241708 !important; font-weight: 700 !important; border-radius: 8px !important; box-shadow: 0 6px 18px rgba(212,175,55,.18); transition: filter .15s, transform .15s;
}
body.nf .btn-primary:hover, body.nf .btn-add-new-listing:hover, body.nf .btn-search:hover, body.nf .woocommerce a.button:hover, body.nf .woocommerce button.button:hover { filter: brightness(1.07); transform: translateY(-1px); color: #241708 !important; }
body.nf .header-comp-right .btn-add-new-listing { background: transparent !important; color: var(--nf-gold-l) !important; border: 1px solid rgba(212,175,55,.6) !important; box-shadow: none; }
body.nf .btn-secondary, body.nf .btn-grey, body.nf .btn-default, body.nf .btn-grey-outlined, body.nf .btn-secondary-outlined, body.nf .btn-primary-outlined { background: transparent !important; color: var(--nf-gold-l) !important; border: 1px solid rgba(212,175,55,.5) !important; border-radius: 8px !important; }
body.nf .btn-secondary:hover, body.nf .btn-grey-outlined:hover { background: var(--nf-burgundy) !important; color: #fff !important; border-color: var(--nf-burgundy) !important; }
body.nf .homey-google-login, body.nf .btn-google-plus, body.nf .btn-social.btn-google { background: #fff !important; color: #1f1f1f !important; border: 1px solid #dadce0 !important; border-radius: 8px !important; font-weight: 600 !important; }

/* ---------- forms ---------- */
body.nf .form-control, body.nf input[type="text"], body.nf input[type="email"], body.nf input[type="password"], body.nf input[type="tel"], body.nf input[type="number"], body.nf input[type="search"], body.nf textarea, body.nf select, body.nf .bootstrap-select > .dropdown-toggle, body.nf .woocommerce form .form-row input.input-text, body.nf .woocommerce form .form-row textarea, body.nf .select2-container .select2-selection {
	background: #fff !important; color: #1d1414 !important; border: 1px solid #e3d6c6 !important; border-radius: 8px !important; box-shadow: none !important;
}
body.nf .form-control:focus, body.nf input:focus, body.nf textarea:focus { border-color: var(--nf-gold) !important; box-shadow: 0 0 0 3px rgba(212,175,55,.25) !important; }
body.nf .form-control::placeholder, body.nf input::placeholder, body.nf textarea::placeholder { color: #8c8179 !important; }
body.nf .control-label, body.nf .form-group label, body.nf .woocommerce form .form-row label { color: #e9dfd3 !important; font-weight: 600; }
body.nf .search-icon, body.nf .input-group-addon, body.nf .homey-icon-calendar-3, body.nf .search-banner .homey-icon { color: var(--nf-burgundy) !important; }

/* ---------- boxes, cards, blocks ---------- */
body.nf .block, body.nf .block-body, body.nf .block-head, body.nf .block-title, body.nf .widget, body.nf .sidebar .widget, body.nf .dashboard-area, body.nf .page-wrap .content-area > .block, body.nf .user-dashboard-right, body.nf .board-header, body.nf .profile-area, body.nf .woocommerce-MyAccount-content, body.nf .woocommerce-MyAccount-navigation, body.nf .module-wrap, body.nf .featured-listings-wrap, body.nf .host-section, body.nf .reviews-section, body.nf .listing-nav, body.nf .compare-property-wrap {
	background: var(--nf-card) !important; border-color: var(--nf-line2) !important; color: var(--nf-text);
}
body.nf .block, body.nf .widget { border-radius: 14px !important; box-shadow: 0 10px 30px rgba(0,0,0,.35); }
body.nf .block-title, body.nf .block-head { border-bottom: 1px solid var(--nf-line2) !important; }
body.nf .item-wrap, body.nf .item-body, body.nf .item-footer, body.nf .property-item, body.nf .listing-item { background: var(--nf-card) !important; border-color: var(--nf-line2) !important; }
body.nf .item-wrap { border-radius: 14px !important; overflow: hidden; box-shadow: 0 10px 28px rgba(0,0,0,.4); transition: transform .35s cubic-bezier(.2,.8,.2,1), box-shadow .35s; }
@media (hover: hover) { body.nf .item-wrap:hover { transform: translateY(-5px); box-shadow: 0 22px 46px rgba(0,0,0,.6), 0 0 0 1px rgba(212,175,55,.35); } }
body.nf .item-wrap .title a, body.nf .item-title a, body.nf .listing-title a { color: var(--nf-text) !important; }
body.nf .item-price, body.nf .item-price-block, body.nf .price, body.nf .item-price .price, body.nf .label-price { color: #fff !important; }
body.nf .label-featured, body.nf .label-wrap .label { background: var(--nf-goldgrad) !important; color: #241708 !important; border-radius: 6px; font-weight: 700; }
body.nf .item-amenities, body.nf .item-amenities li, body.nf .item-address, body.nf .item-user-image + * { color: var(--nf-muted) !important; }
body.nf .item-amenities i, body.nf .homey-icon:not(.homey-icon-circle) { color: var(--nf-gold); }

/* ---------- page titles + breadcrumbs ---------- */
body.nf .page-title, body.nf .title-section, body.nf .breadcrumb-wrap { background: transparent !important; }
body.nf .breadcrumb, body.nf .breadcrumb li, body.nf .breadcrumb a { background: transparent !important; color: var(--nf-muted) !important; }
body.nf .breadcrumb a:hover { color: var(--nf-gold-l) !important; }
body.nf .page-title h1, body.nf .title-section h1 { font-size: clamp(30px, 4vw, 44px); }

/* ---------- single apartment page ---------- */
body.nf .single-listing-wrap, body.nf .listing-wrap, body.nf .content-area { background: transparent !important; }
body.nf .sidebar-booking-module, body.nf .sidebar-booking-module-body, body.nf .booking-sidebar, body.nf .block-booking, body.nf #homey_remove_on_mobile .sidebar-booking-module, body.nf .overlay-booking-module { background: var(--nf-card) !important; border: 1px solid var(--nf-line) !important; border-radius: 14px !important; box-shadow: 0 18px 46px rgba(0,0,0,.5) !important; }
body.nf .sidebar-booking-module .block-head, body.nf .booking-sidebar .block-head, body.nf .sidebar-booking-module .price-title, body.nf .sidebar-booking-module-header { background: linear-gradient(180deg, var(--nf-burgundy2), var(--nf-burgundy)) !important; color: #fff !important; border: 0 !important; }
body.nf .sidebar-booking-module .item-price, body.nf .sidebar-booking-module .price, body.nf .sidebar-booking-module-header * { color: #fff !important; }
body.nf .search-date-range, body.nf .search-guests, body.nf .search-date-range-arrive, body.nf .search-date-range-depart { background: #fff !important; border-radius: 8px; }
body.nf .search-date-range input, body.nf .search-guests input { background: #fff !important; color: #1d1414 !important; }
body.nf .payment-list, body.nf .payment-list li, body.nf .cost-list, body.nf .cost-list li { color: var(--nf-text) !important; border-color: var(--nf-line2) !important; }
body.nf .payment-list-price-detail, body.nf .total-price, body.nf .payment-list .total { color: var(--nf-gold-l) !important; font-weight: 700; }
body.nf .detail-wrap, body.nf .detail-wrap li, body.nf .detail-list li, body.nf .amenities-list li, body.nf .features-list li { color: var(--nf-muted) !important; border-color: var(--nf-line2) !important; }
body.nf .detail-wrap strong, body.nf .detail-list strong { color: var(--nf-text) !important; }
body.nf .listing-nav, body.nf .listing-nav a { color: #e9dfd3 !important; }
body.nf .listing-nav a.active, body.nf .listing-nav a:hover { color: var(--nf-gold-l) !important; border-color: var(--nf-gold) !important; }
body.nf .fancybox-bg { background: #050304; }
body.nf .slick-prev, body.nf .slick-next, body.nf .slick-arrow { background: rgba(11,8,9,.85) !important; color: var(--nf-gold-l) !important; border: 1px solid var(--nf-line) !important; border-radius: 50% !important; }

/* ---------- calendars / datepickers (stay readable: white card, burgundy selection) ---------- */
body.nf .search-calendar, body.nf .single-listing-booking-calendar-js, body.nf .homey_month_wrap, body.nf .ui-datepicker, body.nf .daterangepicker, body.nf .search-calendar-main, body.nf .single-listing-calendar-wrap { background: #fff !important; color: #1d1414 !important; border-radius: 12px !important; }
body.nf .search-calendar *, body.nf .single-listing-booking-calendar-js *, body.nf .homey_month_wrap *, body.nf .single-listing-calendar-wrap * { color: #1d1414; }
body.nf .search-calendar .selected, body.nf .search-calendar .in-between, body.nf .single-listing-booking-calendar-js .selected, body.nf .day-selected, body.nf .homey_month_wrap .selected { background: var(--nf-burgundy) !important; color: #fff !important; }
body.nf .search-calendar .in-between, body.nf .single-listing-booking-calendar-js .in-between { background: #f6e9d6 !important; color: #1d1414 !important; }
body.nf .search-guests-wrap, body.nf .guest-dropdown, body.nf .search-guests-wrap * { background: #fff; color: #1d1414; }

/* ---------- search results + half map ---------- */
body.nf .search-wrap, body.nf .half-map-wrap, body.nf .half-map-left-wrap, body.nf .listing-wrap.listing-v1, body.nf .sort-wrap, body.nf .search-banner, body.nf .main-search, body.nf .advanced-search-wrap { background: var(--nf-bg) !important; border-color: var(--nf-line2) !important; }
body.nf .sort-wrap, body.nf .sort-wrap * { color: var(--nf-muted) !important; }
body.nf .sort-wrap .bootstrap-select > .dropdown-toggle { background: var(--nf-card) !important; color: var(--nf-text) !important; border-color: var(--nf-line) !important; }
body.nf .widget_newsletter, body.nf .newsletter-widget, body.nf .widget-newsletter, body.nf .widget_mc4wp_form_widget { display: none !important; }
body.nf .pagination > li > a, body.nf .pagination > li > span { background: var(--nf-card) !important; color: var(--nf-text) !important; border-color: var(--nf-line2) !important; }
body.nf .pagination > .active > a, body.nf .pagination > .active > span { background: var(--nf-gold) !important; color: #241708 !important; }

/* ---------- modals (login, register, booking) ---------- */
body.nf .modal-backdrop.in { opacity: .75; background: #050304; }
body.nf .modal-content, body.nf .modal-header, body.nf .modal-body, body.nf .modal-footer, body.nf .modal-login-form { background: var(--nf-card) !important; color: var(--nf-text) !important; border-color: var(--nf-line) !important; }
body.nf .modal-content { border-radius: 16px !important; box-shadow: 0 30px 80px rgba(0,0,0,.6) !important; border: 1px solid var(--nf-line) !important; overflow: hidden; }
body.nf .modal-header { border-bottom: 1px solid var(--nf-line2) !important; }
body.nf .modal-header .close, body.nf .modal .close { color: var(--nf-gold-l) !important; opacity: .9; text-shadow: none; }
body.nf .modal-login-form .checkbox label, body.nf .modal-body p, body.nf .modal-body label { color: var(--nf-muted) !important; }
body.nf .login-register-form .or-divider, body.nf .modal .text-center { color: var(--nf-muted) !important; }
body.nf .modal-dialog .modal-content .modal-image, body.nf .login-image { filter: saturate(.9) brightness(.85); }

/* ---------- WooCommerce: basket, checkout, my account ---------- */
body.nf .woocommerce, body.nf .woocommerce-page .woocommerce { color: var(--nf-text); }
body.nf .woocommerce table.shop_table, body.nf .woocommerce-checkout-review-order-table, body.nf #order_review, body.nf .woocommerce-checkout #payment, body.nf .woocommerce-cart .cart-collaterals .cart_totals, body.nf .woocommerce-info, body.nf .woocommerce-message, body.nf .woocommerce-error, body.nf .woocommerce form.login, body.nf .woocommerce form.register, body.nf .woocommerce form.checkout_coupon, body.nf .woocommerce-MyAccount-content, body.nf .wc-block-components-sidebar, body.nf .wp-block-woocommerce-checkout, body.nf .wp-block-woocommerce-cart, body.nf .wc-block-cart, body.nf .wc-block-checkout {
	background: var(--nf-card) !important; color: var(--nf-text) !important; border-color: var(--nf-line2) !important; border-radius: 12px;
}
body.nf .woocommerce table.shop_table th, body.nf .woocommerce table.shop_table td { color: var(--nf-text) !important; border-color: var(--nf-line2) !important; }
body.nf .woocommerce-checkout #payment div.payment_box { background: var(--nf-card2) !important; color: var(--nf-muted) !important; }
body.nf .woocommerce-checkout #payment div.payment_box::before { border-bottom-color: var(--nf-card2) !important; }
body.nf .woocommerce-info, body.nf .woocommerce-message { border-top-color: var(--nf-gold) !important; }
body.nf .woocommerce-info::before, body.nf .woocommerce-message::before { color: var(--nf-gold) !important; }
body.nf .woocommerce-MyAccount-navigation ul li a { color: #e9dfd3 !important; }
body.nf .woocommerce-MyAccount-navigation ul li.is-active a { color: var(--nf-gold-l) !important; }
body.nf .wc-block-components-text-input input, body.nf .wc-block-components-textarea, body.nf .wc-blocks-components-select__select { background: #fff !important; color: #1d1414 !important; }
body.nf .wc-block-components-checkout-step__title, body.nf .wc-block-components-totals-item__label, body.nf .wc-block-components-totals-item__value, body.nf .wc-block-components-product-name, body.nf .wc-block-components-title { color: var(--nf-text) !important; }
/* Labels sit inside the white fields: dark, readable. Saved address card: light text on the dark card. */
body.nf .wc-block-components-text-input label, body.nf .wc-blocks-components-select__label, body.nf .wc-block-components-country-input label, body.nf .wc-block-components-state-input label { color: #6f625a !important; }
body.nf .wc-block-components-address-card, body.nf .wc-block-components-address-card address, body.nf .wc-block-components-address-card address * { color: var(--nf-text) !important; opacity: 1 !important; }
body.nf .wc-block-components-button:not(.is-link) { background: var(--nf-goldgrad) !important; color: #241708 !important; border-radius: 8px !important; }

/* ---------- dashboard (host/guest area) ---------- */
body.nf .user-dashboard-left, body.nf .dashboard-sidebar, body.nf .board-panel-menu { background: var(--nf-bg2) !important; border-color: var(--nf-line) !important; }
body.nf .user-dashboard-left a, body.nf .board-panel-menu a { color: #e9dfd3 !important; }
body.nf .user-dashboard-left .active a, body.nf .board-panel-menu .active a { color: var(--nf-gold-l) !important; background: var(--nf-card) !important; }
body.nf .table, body.nf .table > thead > tr > th, body.nf .table > tbody > tr > td { color: var(--nf-text) !important; border-color: var(--nf-line2) !important; background: transparent !important; }

/* ---------- footer ---------- */
body.nf .footer-wrap, body.nf .footer-top-wrap, body.nf .footer-bottom-wrap, body.nf .footer, body.nf footer.footer-wrap { background: linear-gradient(180deg, #120c0d, #0a0708) !important; border-top: 1px solid var(--nf-line) !important; color: var(--nf-muted) !important; }
body.nf .footer-wrap *, body.nf .footer-wrap a { color: var(--nf-muted) !important; }
body.nf .footer-wrap a:hover { color: var(--nf-gold-l) !important; }
body.nf .footer-wrap .widget-title, body.nf .footer-wrap h3, body.nf .footer-wrap h4 { color: var(--nf-gold-l) !important; font-size: 12px; letter-spacing: .2em; text-transform: uppercase; font-family: var(--nf-sans); }
body.nf .footer-wrap .widget, body.nf .footer-wrap .block { background: transparent !important; box-shadow: none !important; }
body.nf .footer-wrap .footer-copyright, body.nf .footer-bottom-wrap { border-top: 1px solid var(--nf-line2) !important; }
body.nf .footer-wave, body.nf .footer-shape, body.nf .elementor-shape { display: none !important; }

/* ---------- misc ---------- */
body.nf .homey-loader, body.nf .loader-overlay { background: rgba(11,8,9,.75) !important; }
body.nf .tooltip-inner { background: var(--nf-card2); color: var(--nf-text); }
body.nf .alert, body.nf .alert-info, body.nf .alert-success { background: var(--nf-card2) !important; border-color: var(--nf-line) !important; color: var(--nf-text) !important; }
@media (prefers-reduced-motion: reduce) { body.nf * { transition: none !important; animation: none !important; } }

/* ---------- fixes after first live preview ---------- */
body.nf .header-nav .main-menu > li > a, body.nf .header-nav .navi > ul > li > a, body.nf .header-nav .main-menu > li { background: transparent !important; }
body.nf .block-bordered, body.nf .sidebar-booking-module-footer, body.nf .block-bordered .block-col, body.nf .listing-features, body.nf .single-listing-info { background: var(--nf-card) !important; border-color: var(--nf-line2) !important; }
body.nf .block-bordered *, body.nf .sidebar-booking-module-footer * { color: var(--nf-muted); }
body.nf .block-bordered strong, body.nf .block-bordered .text-uppercase, body.nf .block-bordered b { color: var(--nf-text) !important; }
body.nf .sidebar-booking-module-footer .btn { color: var(--nf-gold-l) !important; }
body.nf .compare-property-panel, body.nf .overlay-search-module, body.nf .overlay-search-advanced-module { background: var(--nf-bg2) !important; color: var(--nf-text) !important; }
body.nf .overlay-search-module .search-date-range, body.nf .overlay-search-module .search-guests { background: #fff !important; }

/* An old custom style paints the word NEFERTITI over the header (body::before); the gold logo replaces it. */
body.nf::before { display: none !important; content: none !important; }

/* sidebar widgets on search results / blog */
body.nf .widget a, body.nf .widget .item-title a, body.nf .widget h2 a, body.nf .widget .title a { color: var(--nf-text) !important; }
body.nf .widget .item-price, body.nf .widget .price { color: var(--nf-gold-l) !important; }
body.nf .widget_homey_latest_reviews, body.nf .widget_recent_entries, body.nf .widget_homey_latest_posts, body.nf .widget-latest-reviews, body.nf .widget_homey_reviews { display: none !important; }

/* phone: sticky booking bar + booking overlay on the apartment page */
body.nf .overlay-booking-btn, body.nf .overlay-booking-module { background: rgba(18,12,13,.98) !important; border-top: 1px solid var(--nf-line) !important; color: var(--nf-text) !important; }
body.nf .overlay-booking-btn *, body.nf .overlay-booking-btn .pull-left { color: var(--nf-text) !important; }
body.nf .overlay-booking-btn .price, body.nf .overlay-booking-btn .item-price { color: var(--nf-gold-l) !important; }

/* phone header: logo centred between the two buttons */
body.nf .header-mobile .mobile-logo { padding: 0 !important; display: flex; justify-content: center; align-items: center; height: 60px; }
body.nf .header-mobile .mobile-logo img { height: 34px !important; max-width: 100%; }
body.nf .header-mobile .btn-mobile-nav { background: transparent !important; color: var(--nf-gold-l) !important; border: 0 !important; box-shadow: none !important; }
body.nf .homey_logo img, body.nf .mobile-logo img, body.nf .header-comp-logo img { opacity: 1 !important; visibility: visible !important; }
body.nf .nf-footer-links { list-style: none; padding: 0; margin: 0; }
body.nf .nf-footer-links li { padding: 4px 0; }

/* ---------- Nefertiti pages (About, FAQ, Contact) ---------- */
body.nf .nf-page { background: var(--nf-bg); color: var(--nf-text); }
body.nf .nf-page-hero { position: relative; min-height: 46vh; display: flex; align-items: flex-end; padding: 60px clamp(16px, 5vw, 64px); background-size: cover; background-position: center; }
body.nf .nf-page-hero::before { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(11,8,9,.92), rgba(11,8,9,.45) 60%, rgba(11,8,9,.2)), linear-gradient(0deg, var(--nf-bg), rgba(11,8,9,0) 50%); }
body.nf .nf-page-hero-sm { min-height: 34vh; }
body.nf .nf-page-hero-in { position: relative; max-width: 720px; }
body.nf .nf-page-hero h1 { font-family: var(--nf-serif); font-size: clamp(36px, 5.5vw, 64px); line-height: 1.05; margin: 10px 0; color: var(--nf-text); }
body.nf .nf-page-hero p { color: #e2d7cb; font-size: 18px; margin: 0; }
body.nf .nf-kicker { display: inline-flex; align-items: center; gap: 10px; color: var(--nf-gold-l); font-size: 12px; letter-spacing: .28em; text-transform: uppercase; font-weight: 600; }
body.nf .nf-kicker::before { content: ""; width: 34px; height: 1px; background: var(--nf-gold); }
body.nf .nf-gold { background: var(--nf-goldgrad); -webkit-background-clip: text; background-clip: text; color: transparent; }
body.nf .nf-page-body { max-width: 1120px; margin: 0 auto; padding: 40px clamp(16px, 5vw, 64px) 70px; }
body.nf .nf-page-body h2 { font-family: var(--nf-serif); font-size: 32px; color: var(--nf-text); margin: 0 0 14px; }
body.nf .nf-page-body p { color: #d6cabd; font-size: 16.5px; line-height: 1.7; }
body.nf .nf-cols { display: grid; grid-template-columns: 1.4fr 1fr; gap: 40px; align-items: start; }
@media (max-width: 900px) { body.nf .nf-cols { grid-template-columns: 1fr; } }
body.nf .nf-facts { display: grid; gap: 12px; }
body.nf .nf-facts > div { background: linear-gradient(180deg, rgba(122,18,30,.22), rgba(122,18,30,.05)); border: 1px solid var(--nf-line); border-radius: 14px; padding: 16px 18px; }
body.nf .nf-facts b { display: block; color: var(--nf-gold-l); font-size: 16px; }
body.nf .nf-facts span { display: block; color: var(--nf-muted); font-size: 14.5px; margin-top: 2px; }
body.nf .nf-facts .nf-btn { margin-top: 12px; }
body.nf .nf-btn { display: inline-flex; align-items: center; justify-content: center; padding: 12px 22px; border-radius: 8px; font-weight: 700; background: var(--nf-goldgrad); color: #241708 !important; text-decoration: none !important; }
body.nf .nf-btn-line { background: transparent; color: var(--nf-gold-l) !important; border: 1px solid rgba(212,175,55,.6); }
body.nf .nf-link { display: inline-block; margin-top: 8px; color: var(--nf-gold-l) !important; }
body.nf .nf-cta { display: flex; flex-wrap: wrap; gap: 12px; align-items: center; margin-top: 30px; color: var(--nf-muted); }
body.nf .nf-faq { max-width: 860px; }
body.nf .nf-q { background: var(--nf-card); border: 1px solid var(--nf-line2); border-radius: 12px; margin: 0 0 10px; padding: 0 18px; transition: border-color .2s; }
body.nf .nf-q[open] { border-color: var(--nf-line); }
body.nf .nf-q summary { cursor: pointer; list-style: none; padding: 16px 0; font-weight: 600; color: var(--nf-text); display: flex; justify-content: space-between; gap: 12px; }
body.nf .nf-q summary::-webkit-details-marker { display: none; }
body.nf .nf-q summary::after { content: "+"; color: var(--nf-gold); font-size: 22px; line-height: 1; }
body.nf .nf-q[open] summary::after { content: "–"; }
body.nf .nf-q p { margin: 0 0 16px; }
body.nf .nf-form .wpcf7 input[type="submit"] { width: auto; padding: 12px 26px; }
/* legal pages */
body.nf.page .page-content h2, body.nf .entry-content h2 { font-size: 24px; margin-top: 28px; }
body.nf .entry-content ul li, body.nf .page-content ul li { color: var(--nf-muted); margin-bottom: 6px; }
/* go-live polish (3 Nov) */
body.nf .payment-list-price-detail-total-price, body.nf .payment-list-price-detail-total-price + .pull-right, body.nf .payment-list-price-detail .pull-left { color: var(--nf-text) !important; }
body.nf .payment-list-price-detail .pull-right { color: var(--nf-gold-l) !important; }
body.nf .dashboard-page-title { background: var(--nf-card) !important; border-bottom: 1px solid var(--nf-line2) !important; }
body.nf .dashboard-page-title h1, body.nf .dashboard-page-title h2, body.nf .dashboard-page-title .page-title { color: var(--nf-gold-l) !important; }
body.nf .btn-success, body.nf .homey-woo-reservation-pay { background: var(--nf-goldgrad) !important; border-color: transparent !important; color: #241708 !important; font-weight: 700; }
/* mobile: the WhatsApp chat button sits above the sticky "Request to Book" bar on apartment pages */
@media (max-width: 991px) { body.nf.single-listing #ht-ctc-chat { bottom: 86px !important; } }

/* Mobile main menu (☰) and account menu (👤), logged out and logged in: dark panel, light text, gold accents. */
body.nf .mobile-nav-wrap, body.nf .user-nav-wrap { background: var(--nf-bg2) !important; border-top: 1px solid var(--nf-line) !important; border-bottom: 1px solid var(--nf-line) !important; box-shadow: 0 18px 40px rgba(0,0,0,.55); }
body.nf .mobile-nav-wrap nav, body.nf .user-nav-wrap nav, body.nf .mobile-nav-wrap ul, body.nf .user-nav-wrap ul, body.nf .mobile-nav-wrap li, body.nf .user-nav-wrap li { background: transparent !important; }
body.nf .mobile-nav-wrap li, body.nf .user-nav-wrap li { border-color: var(--nf-line2) !important; }
body.nf .mobile-nav-wrap a, body.nf .user-nav-wrap a, body.nf .mobile-nav-wrap li > span, body.nf .user-nav-wrap li > span { color: var(--nf-text) !important; font-weight: 500; }
body.nf .mobile-nav-wrap a i, body.nf .user-nav-wrap a i, body.nf .mobile-nav-wrap .homey-icon, body.nf .user-nav-wrap .homey-icon { color: var(--nf-gold) !important; }
body.nf .mobile-nav-wrap a:hover, body.nf .mobile-nav-wrap a:focus, body.nf .user-nav-wrap a:hover, body.nf .user-nav-wrap a:focus, body.nf .mobile-nav-wrap .current-menu-item > a, body.nf .user-nav-wrap .active > a { color: var(--nf-gold-l) !important; background: rgba(212,175,55,.07) !important; }
body.nf .mobile-nav-wrap .sub-menu, body.nf .user-nav-wrap .sub-menu, body.nf .mobile-nav-wrap .dropdown-menu, body.nf .user-nav-wrap .dropdown-menu { background: var(--nf-card) !important; border: 0 !important; }
body.nf .mobile-nav-wrap .nf-menu-app a { padding-left: 15px !important; }
