/*
Theme Name: Twenty Twenty-Five
Theme URI: https://wordpress.org/themes/twentytwentyfive/
Author: the WordPress team
Author URI: https://wordpress.org
Description: Twenty Twenty-Five emphasizes simplicity and adaptability. It offers flexible design options, supported by a variety of patterns for different page types, such as services and landing pages, making it ideal for building personal blogs, professional portfolios, online magazines, or business websites. Its templates cater to various blog styles, from text-focused to image-heavy layouts. Additionally, it supports international typography and diverse color palettes, ensuring accessibility and customization for users worldwide.
Requires at least: 6.7
Tested up to: 7.0
Requires PHP: 7.2
Version: 1.5
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: twentytwentyfive
Tags: one-column, custom-colors, custom-menu, custom-logo, editor-style, featured-images, full-site-editing, block-patterns, rtl-language-support, sticky-post, threaded-comments, translation-ready, wide-blocks, block-styles, style-variations, accessibility-ready, blog, portfolio, news
*/

/*
 * IMPORTANT: This file is only served on the frontend when `SCRIPT_DEBUG` is enabled;
 * in most instances, the `style.min.css` file will be served. It is not recommended that you
 * use the Theme File Editor to modify this stylesheet. Instead, add the necessary style
 * overrides via "Additional CSS" in the Site Editor.
 */

/*
 * Link styles
 * https://github.com/WordPress/gutenberg/issues/42319
 */
a {
	text-decoration-thickness: 1px !important;
	text-underline-offset: .1em;
}

/* Focus styles */
:where(.wp-site-blocks *:focus) {
	outline-width: 2px;
	outline-style: solid;
}

/* Increase the bottom margin on submenus, so that the outline is visible. */
.wp-block-navigation .wp-block-navigation-submenu .wp-block-navigation-item:not(:last-child) {
	margin-bottom: 3px;
}

/* Increase the outline offset on the parent menu items, so that the outline does not touch the text. */
.wp-block-navigation .wp-block-navigation-item .wp-block-navigation-item__content {
	outline-offset: 4px;
}

/* Remove outline offset from the submenus, otherwise the outline is visible outside the submenu container. */
.wp-block-navigation .wp-block-navigation-item ul.wp-block-navigation__submenu-container .wp-block-navigation-item__content {
	outline-offset: 0;
}

/*
 * Progressive enhancement to reduce widows and orphans
 * https://github.com/WordPress/gutenberg/issues/55190
 */
h1, h2, h3, h4, h5, h6, blockquote, caption, figcaption, p {
	text-wrap: pretty;
}

/*
 * Change the position of the more block on the front, by making it a block level element.
 * https://github.com/WordPress/gutenberg/issues/65934
*/
.more-link {
	display: block;
}

/*
 * Prevents unnecessary scrollbars while handling long lines of preformatted text.
 * https://core.trac.wordpress.org/ticket/63875
 */
:where(pre) {
	overflow-x: auto;
}

/* Add custom line behind text style */
.has-line-behind {
    position: relative;
    z-index: 1;
    overflow: hidden;
    text-align: center;
}
.has-line-behind:before,
.has-line-behind:after {
    content: "";
    position: absolute;
    top: 50%;
    width: 50%;
    height: 2px;
    background-color: var(--wp--preset--color--accent-1); /* Gold line */
    z-index: -1;
}
.has-line-behind:before {
    left: 0;
    margin-left: -20px; /* Spacing */
}
.has-line-behind:after {
    right: 0;
    margin-right: -20px; /* Spacing */
}
.line-behind-text {
    background-color: var(--wp--preset--color--base);
    padding: 0 20px;
}

/* Luxury Real Estate Custom Styles */
:root {
    --primary-black: #0a0a0a;
    --luxury-gold: #c5a059;
    --clean-bg: #ffffff;
}

/* Luxury Hero Section */
.luxury-hero-container {
    position: relative;
    background-color: var(--primary-black);
    color: var(--clean-bg);
    min-height: 80vh;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    background-image: url('assets/images/hero-bg.jpg'); /* fallback */
    background-size: cover;
    background-position: center;
    z-index: 1;
    padding-bottom: 80px; /* Space for floating search bar */
}

.luxury-hero-overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: linear-gradient(180deg, rgba(10, 10, 10, 0.6) 0%, rgba(10, 10, 10, 0.85) 100%);
    z-index: -1;
}

.luxury-hero-content {
    text-align: center;
    max-width: 800px;
    padding: 20px;
    z-index: 2;
}

.luxury-hero-title {
    font-family: "Playfair Display", "Didot", "Cinzel", serif;
    font-size: clamp(2.5rem, 5vw, 4.5rem);
    font-weight: 300;
    letter-spacing: 4px;
    text-transform: uppercase;
    color: var(--clean-bg) !important;
    margin-bottom: 10px;
    line-height: 1.2;
}

.luxury-hero-subtitle {
    font-size: clamp(1rem, 2vw, 1.25rem);
    letter-spacing: 2px;
    text-transform: uppercase;
    color: var(--luxury-gold) !important;
    margin-bottom: 30px;
}

/* Elegant gold buttons */
.btn-gold {
    display: inline-block;
    background-color: transparent;
    color: var(--luxury-gold) !important;
    border: 2px solid var(--luxury-gold) !important;
    padding: 12px 30px;
    text-transform: uppercase;
    font-size: 0.85rem;
    font-weight: 600;
    letter-spacing: 2px;
    transition: all 0.3s ease;
    cursor: pointer;
    text-decoration: none;
    margin: 5px;
}

.btn-gold:hover {
    background-color: var(--luxury-gold) !important;
    color: var(--primary-black) !important;
    box-shadow: 0 0 15px rgba(197, 160, 89, 0.4);
}

.btn-gold-filled {
    background-color: var(--luxury-gold) !important;
    color: var(--primary-black) !important;
}

.btn-gold-filled:hover {
    background-color: transparent !important;
    color: var(--luxury-gold) !important;
}

/* Floating Search Filter Bar */
.luxury-hero-container {
    position: relative;
    padding-bottom: 120px;
}

.floating-search-bar {
    position: relative;
    z-index: 10;
    max-width: 1100px;
    width: 100%;
    margin: 40px auto 0;
    padding: 30px;
    background: rgba(255, 255, 255, 0.98);
    border: 1px solid rgba(197, 160, 89, 0.2);
    border-radius: 16px;
    box-shadow: 0 22px 55px rgba(10, 10, 10, 0.16);
}

.luxury-search-tabs {
    display: flex;
    justify-content: center;
    align-items: center;
    flex-wrap: wrap;
    gap: 12px;
    margin: 0 auto 20px;
    position: relative;
    z-index: 2;
}

.search-status-tab {
    border: 1px solid rgba(10, 10, 10, 0.08);
    background: rgba(255, 255, 255, 0.15);
    color: #1f1f1f;
    border-radius: 999px;
    padding: 10px 18px;
    font-size: 0.72rem;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    cursor: pointer;
    transition: all 0.25s ease;
}

.search-status-tab.is-active,
.search-status-tab:hover {
    background: linear-gradient(135deg, #111111 0%, #212121 100%);
    color: var(--luxury-gold);
    border-color: rgba(197, 160, 89, 0.7);
    box-shadow: 0 8px 18px rgba(10, 10, 10, 0.12);
}

.floating-search-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(180px, 1fr));
    gap: 15px;
    align-items: end;
}

.search-field-group {
    display: flex;
    flex-direction: column;
    gap: 8px;
    min-width: 0;
}

.search-field-group label {
    font-size: 0.72rem;
    text-transform: uppercase;
    letter-spacing: 0.12em;
    color: #4d4d4d;
    font-weight: 700;
    text-align: left;
}

.search-field-group select,
.search-field-group input {
    width: 100%;
    padding: 12px;
    border: 1px solid #e0e0e0;
    border-radius: 8px;
    background-color: #ffffff;
    font-size: 0.94rem;
    color: var(--primary-black);
    text-align: left;
    outline: none;
    transition: border-color 0.3s ease, box-shadow 0.3s ease;
    min-height: 45px;
    box-sizing: border-box;
}

.search-field-group select:focus,
.search-field-group input:focus {
    border-color: rgba(197, 160, 89, 0.8);
    box-shadow: 0 0 0 3px rgba(197, 160, 89, 0.12);
}

.search-submit-btn {
    width: 100%;
    background: linear-gradient(135deg, #111111 0%, #0a0a0a 100%);
    color: var(--luxury-gold);
    border: 1px solid rgba(197, 160, 89, 0.45);
    padding: 12px 18px;
    text-transform: uppercase;
    font-size: 0.8rem;
    font-weight: 700;
    letter-spacing: 0.12em;
    border-radius: 8px;
    cursor: pointer;
    transition: all 0.3s ease;
    min-height: 45px;
    align-self: end;
}

.search-submit-btn:hover {
    background: var(--luxury-gold);
    color: var(--primary-black);
    box-shadow: 0 12px 22px rgba(197, 160, 89, 0.28);
}

@media (max-width: 820px) {
    .floating-search-grid {
        grid-template-columns: 1fr 1fr;
    }

    .search-submit-btn {
        grid-column: 1 / -1;
    }
}

@media (max-width: 560px) {
    .floating-search-bar {
        padding: 18px 16px 14px;
        border-radius: 12px;
    }

    .floating-search-grid {
        grid-template-columns: 1fr;
    }

    .luxury-search-tabs {
        gap: 8px;
    }

    .search-status-tab {
        flex: 1 1 calc(50% - 8px);
    }
}

/* Luxury Property Cards */
.luxury-property-card {
    background-color: var(--clean-bg);
    border: 1px solid rgba(10, 10, 10, 0.08);
    border-radius: 18px;
    overflow: hidden;
    transition: all 0.3s cubic-bezier(0.25, 0.8, 0.25, 1);
    position: relative;
    margin-bottom: 30px;
    box-shadow: 0 18px 38px rgba(0, 0, 0, 0.04);
}

.luxury-property-card:hover {
    transform: translateY(-8px);
    border-color: rgba(197, 160, 89, 0.8) !important;
    box-shadow: 0 18px 35px rgba(10, 10, 10, 0.08);
}

.luxury-property-card .property-badge {
    position: absolute;
    top: 15px;
    left: 15px;
    background-color: var(--luxury-gold);
    color: var(--primary-black);
    padding: 5px 15px;
    font-size: 0.75rem;
    text-transform: uppercase;
    font-weight: 700;
    letter-spacing: 1px;
    z-index: 2;
}

.luxury-property-card img {
    width: 100%;
    height: 260px;
    object-fit: cover;
    transition: transform 0.5s ease;
}

.luxury-property-card:hover img {
    transform: scale(1.04);
}

.luxury-property-info {
    padding: 25px;
}

.luxury-property-location {
    font-size: 0.8rem;
    color: var(--luxury-gold);
    text-transform: uppercase;
    letter-spacing: 0.14em;
    margin-bottom: 10px;
    display: flex;
    align-items: center;
    gap: 8px;
    font-weight: 700;
}

.luxury-property-title {
    font-family: "Playfair Display", "Didot", serif;
    font-size: clamp(1.4rem, 2vw, 1.8rem);
    color: var(--primary-black);
    margin-bottom: 12px;
    font-weight: 500;
    line-height: 1.3;
}

.luxury-property-meta {
    display: flex;
    gap: 18px;
    flex-wrap: wrap;
    align-items: center;
    font-size: 0.82rem;
    color: #5a5a5a;
    margin-bottom: 0;
    border-top: 1px solid #efefef;
    padding-top: 14px;
}

.luxury-property-meta span {
    display: inline-flex;
    align-items: center;
    gap: 6px;
}

.luxury-property-price {
    font-size: 1.3rem;
    font-weight: 700;
    color: var(--primary-black);
}

/* Float header transparently on homepage */
.home header.wp-block-template-part {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    z-index: 100;
}

.home header.wp-block-template-part .wp-block-group {
    background-color: transparent !important;
}

.home header.wp-block-template-part a,
.home header.wp-block-template-part .wp-block-site-title {
    color: var(--clean-bg) !important;
}

.home header.wp-block-template-part a:hover {
    color: var(--luxury-gold) !important;
}

/* OREN luxury landing page */
:root {
    --oren-black: #0d0d0d;
    --oren-black-soft: #171717;
    --oren-gold: #d1ad66;
    --oren-gold-soft: rgba(209, 173, 102, 0.12);
    --oren-ivory: #f5f1ea;
    --oren-text: #1b1b1b;
    --oren-muted: rgba(26, 26, 26, 0.72);
    --oren-line: rgba(255, 255, 255, 0.15);
}

body {
    font-family: "Manrope", "Segoe UI", sans-serif;
}

.oren-real-estate-page {
    background: var(--oren-ivory);
    color: var(--oren-text);
    line-height: 1.6;
}

.oren-real-estate-page img {
    max-width: 100%;
    display: block;
}

.oren-real-estate-page a {
    text-decoration: none;
}

.oren-hero {
    position: relative;
    min-height: 760px;
    background: linear-gradient(90deg, rgba(12, 12, 12, 0.72) 0%, rgba(12, 12, 12, 0.48) 35%, rgba(12, 12, 12, 0.55) 100%),
        url('https://images.unsplash.com/photo-1494526585095-c41746248156?auto=format&fit=crop&w=1800&q=80') center/cover no-repeat;
    color: #fff;
    overflow: hidden;
}

.oren-header {
    position: relative;
    z-index: 2;
    max-width: 1280px;
    margin: 0 auto;
    padding: 28px 32px 0;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
}

.oren-brand {
    display: flex;
    align-items: center;
    gap: 12px;
    letter-spacing: 0.16em;
    font-size: 0.82rem;
    font-weight: 700;
    text-transform: uppercase;
}

.oren-brand-wordmark,
.oren-brand-sub {
    color: #fff;
}

.oren-brand-wordmark {
    font-size: 1.2rem;
    letter-spacing: 0.2em;
}

.oren-brand-divider {
    color: var(--oren-gold);
    font-size: 1.2rem;
}

.oren-top-nav {
    display: flex;
    align-items: center;
    gap: 18px;
}

.oren-top-link {
    color: rgba(255, 255, 255, 0.85);
    font-weight: 600;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    font-size: 0.72rem;
}

.oren-primary-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 48px;
    padding: 0 22px;
    border: 1px solid rgba(209, 173, 102, 0.8);
    color: var(--oren-black);
    background: var(--oren-gold);
    text-transform: uppercase;
    letter-spacing: 0.12em;
    font-weight: 800;
    font-size: 0.72rem;
    transition: all 0.25s ease;
}

.oren-primary-btn:hover {
    background: transparent;
    color: var(--oren-gold);
}

.oren-hero-inner {
    position: relative;
    z-index: 2;
    max-width: 1280px;
    margin: 0 auto;
    padding: 150px 32px 120px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    min-height: 620px;
}

.oren-kicker,
.section-tag {
    margin: 0 0 16px;
    color: var(--oren-gold);
    font-size: 0.72rem;
    letter-spacing: 0.18em;
    text-transform: uppercase;
    font-weight: 700;
}

.oren-hero h1 {
    max-width: 780px;
    margin: 0;
    font-family: "Cormorant Garamond", Georgia, serif;
    font-size: clamp(3.4rem, 6vw, 7rem);
    line-height: 0.9;
    letter-spacing: 0.02em;
    text-transform: uppercase;
    font-weight: 600;
    color: #fff;
}

.oren-hero h1 span {
    display: block;
    font-weight: 500;
}

.oren-subtitle {
    max-width: 760px;
    margin-top: 24px;
    font-size: clamp(1.02rem, 1.6vw, 1.4rem);
    line-height: 1.8;
    color: rgba(255, 255, 255, 0.9);
}

.oren-story,
.oren-specialized,
.oren-values,
.oren-footer {
    max-width: 1280px;
    margin: 0 auto;
    padding: 0 32px;
}

.oren-story {
    display: grid;
    grid-template-columns: 1.15fr 0.85fr;
    align-items: center;
    gap: 42px;
    padding-top: 94px;
    padding-bottom: 56px;
}

.oren-story-copy h2,
.oren-section-heading h2,
.oren-experience h2,
.oren-specialized-copy h2,
.oren-values-header h2 {
    margin: 0 0 18px;
    font-family: "Cormorant Garamond", Georgia, serif;
    font-size: clamp(2.5rem, 4vw, 4rem);
    line-height: 0.98;
    color: var(--oren-text);
    font-weight: 600;
}

.oren-story-copy p,
.oren-section-heading p,
.oren-specialized-copy p,
.oren-value-item p,
.oren-card-copy p,
.oren-footer-brand p,
.oren-footer-meta p {
    margin: 0;
    color: var(--oren-muted);
    font-size: 1rem;
    line-height: 1.8;
}

.oren-story-copy p + p {
    margin-top: 18px;
}

.oren-story-image img {
    width: 100%;
    height: 520px;
    object-fit: cover;
    border-radius: 0;
    box-shadow: 0 30px 60px rgba(0,0,0,0.12);
}

.oren-collection {
    padding: 72px 32px 36px;
    max-width: 1280px;
    margin: 0 auto;
}

.oren-section-heading {
    max-width: 760px;
    margin-bottom: 30px;
}

.oren-card-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 28px;
}

.oren-feature-card {
    background: #fff;
    border: 1px solid rgba(13,13,13,0.06);
    box-shadow: 0 18px 40px rgba(0,0,0,0.05);
    overflow: hidden;
}

.oren-feature-card img {
    width: 100%;
    height: 330px;
    object-fit: cover;
}

.oren-card-copy {
    padding: 26px 24px 28px;
}

.oren-card-copy h3,
.oren-value-item h3,
.oren-footer-brand h3 {
    margin: 0 0 10px;
    font-family: "Cormorant Garamond", Georgia, serif;
    font-size: clamp(2rem, 2vw, 2.5rem);
    line-height: 1;
    color: var(--oren-text);
    font-weight: 600;
}

.oren-experience {
    max-width: 1280px;
    margin: 0 auto;
    padding: 92px 32px 30px;
    text-align: center;
}

.oren-experience h2 {
    max-width: 900px;
    margin: 0 auto;
    font-size: clamp(2.6rem, 4vw, 4.2rem);
}

.oren-specialized {
    display: grid;
    grid-template-columns: 1.1fr 0.9fr;
    gap: 32px;
    align-items: center;
    padding-top: 48px;
    padding-bottom: 72px;
}

.oren-specialized-image img {
    width: 100%;
    height: 560px;
    object-fit: cover;
    box-shadow: 0 22px 60px rgba(0,0,0,0.12);
}

.oren-values {
    padding-top: 8px;
    padding-bottom: 90px;
}

.oren-values-header {
    margin-bottom: 34px;
}

.oren-values-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 24px;
}

.oren-value-item {
    background: rgba(255,255,255,0.58);
    border: 1px solid rgba(13,13,13,0.07);
    padding: 28px 22px 24px;
}

.oren-value-item span {
    display: block;
    margin-bottom: 16px;
    color: var(--oren-gold);
    font-size: 1.05rem;
    letter-spacing: 0.12em;
    font-weight: 700;
}

.oren-footer {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 32px;
    padding-top: 12px;
    padding-bottom: 54px;
    border-top: 1px solid rgba(13,13,13,0.08);
}

.oren-footer-brand {
    display: flex;
    align-items: center;
    gap: 20px;
}

.oren-footer-brand img {
    width: 86px;
    height: 86px;
    border-radius: 50%;
    object-fit: cover;
}

.oren-footer-brand h3 {
    font-size: 2.1rem;
}

.oren-footer-meta {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 6px;
}

.oren-footer-meta a {
    color: var(--oren-text);
    font-weight: 700;
}

@media (max-width: 960px) {
    .oren-story,
    .oren-specialized,
    .oren-card-grid,
    .oren-values-grid,
    .oren-footer {
        grid-template-columns: 1fr;
        display: grid;
    }

    .oren-story,
    .oren-specialized {
        gap: 28px;
    }

    .oren-footer {
        display: grid;
        justify-content: stretch;
    }

    .oren-footer-meta {
        align-items: flex-start;
    }
}

@media (max-width: 680px) {
    .oren-header {
        padding-top: 20px;
        flex-direction: column;
        align-items: flex-start;
    }

    .oren-top-nav {
        width: 100%;
        justify-content: space-between;
    }

    .oren-hero-inner,
    .oren-story,
    .oren-collection,
    .oren-experience,
    .oren-specialized,
    .oren-values,
    .oren-footer {
        padding-left: 20px;
        padding-right: 20px;
    }

    .oren-hero h1 {
        letter-spacing: 0.01em;
    }

    .oren-brand {
        flex-wrap: wrap;
        row-gap: 4px;
    }

    .oren-brand-wordmark {
        font-size: 1rem;
    }
}

/* ==========================================
   ORE Layout Streamlining & Height Reduction
   ========================================== */

/* 1. Map Container & Interactive Pin */
.map-container {
    position: relative;
    z-index: 1;
    width: 100%;
    height: 420px;
    border-radius: 16px;
    overflow: hidden;
    border: 2px solid #c5a059;
    box-shadow: 0 20px 40px rgba(0,0,0,0.1);
}

.map-container iframe {
    width: 100%;
    height: 100%;
    border: none;
}

/* 2. Heritage Tradition Section Fix */
.ore-heritage-compact {
    padding: 25px 0;
    background: #ffffff;
}

.ore-heritage-container {
    max-width: 800px;
    margin: 0 auto;
    padding: 25px 0;
    text-align: center;
}

.ore-heritage-text-box {
    max-width: 800px;
    margin: 0 auto;
    padding: 25px 0;
    text-align: center;
}

.ore-gold-sub {
    color: #c5a059;
    font-weight: 700;
    letter-spacing: 2px;
    font-size: 0.8rem;
    display: block;
    margin-bottom: 8px;
    text-align: center;
}

.ore-section-title {
    font-family: 'Playfair Display', Georgia, serif;
    font-size: 2.2rem;
    font-weight: 400;
    letter-spacing: 1px;
    text-transform: uppercase;
    color: #0a0a0a;
    margin: 0 0 1.5rem;
    text-align: center;
}

.ore-heritage-text-box p {
    font-size: 1rem;
    color: #555;
    line-height: 1.8;
    margin-bottom: 1rem;
    text-align: center;
}

/* 3. Scale Down Branding Image Container */
.heritage-image-block,
.branding-image-container {
    max-width: 220px !important;
    margin: 0 auto !important;
    border-radius: 8px !important;
    overflow: hidden !important;
    flex: 0 0 220px;
}

.heritage-image-styled {
    width: 100%;
    height: auto;
    display: block;
    border-radius: 8px;
}

/* 4. Sleek Gold/Grey Horizontal Divider Line */
hr.ore-divider,
.ore-divider {
    border: none !important;
    border-top: 1px solid #c5a059 !important;
    opacity: 0.3 !important;
    margin: 30px auto !important;
    max-width: 80% !important;
}

/* ==========================================
   ORE Luxury Standalone Page Styles
   ========================================== */
body.ore-luxury-body {
    font-family: 'Inter', sans-serif;
    background-color: #f8f8f8;
    color: #1a1a1a;
    margin: 0;
    padding: 0;
}

.ore-topbar {
    background: #000000;
    color: #ffffff;
    padding: 10px 0;
    text-align: center;
    font-size: 0.85rem;
    letter-spacing: 1px;
    font-weight: 600;
}

.ore-topbar a.ore-wa-link {
    color: #c5a059;
    text-decoration: none;
    margin-left: 8px;
}

.ore-navbar {
    background: #ffffff;
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 20px 5%;
    border-bottom: 1px solid rgba(0,0,0,0.06);
    position: sticky;
    top: 0;
    z-index: 100;
}

.ore-logo {
    font-size: 1.5rem;
    font-weight: 700;
    letter-spacing: 2px;
    color: #000;
}

.ore-logo span {
    font-weight: 300;
    font-size: 0.9rem;
    color: #c5a059;
    letter-spacing: 1px;
}

.ore-nav-links {
    list-style: none;
    display: flex;
    gap: 25px;
    margin: 0;
    padding: 0;
    align-items: center;
}

.ore-nav-links a {
    text-decoration: none;
    color: #1a1a1a;
    font-size: 0.85rem;
    font-weight: 600;
    letter-spacing: 1px;
    transition: color 0.3s;
}

.ore-nav-links a:hover,
.ore-nav-links a.active {
    color: #c5a059;
}

.ore-btn-gold {
    background: #c5a059 !important;
    color: #000 !important;
    padding: 8px 18px !important;
    border-radius: 4px;
}

.ore-page-hero {
    background: #0d0d0d;
    color: #fff;
    padding: 80px 20px;
    text-align: center;
}

.ore-gold-sub {
    color: #c5a059;
    letter-spacing: 2px;
    font-weight: 700;
    font-size: 0.8rem;
    display: block;
    margin-bottom: 10px;
}

.ore-page-hero h1 {
    font-family: 'Playfair Display', serif;
    font-size: 3rem;
    margin-bottom: 15px;
}

.ore-page-hero p {
    color: #aaa;
    max-width: 650px;
    margin: 0 auto;
}

.ore-container {
    max-width: 1300px;
    margin: 0 auto;
    padding: 60px 20px;
}

.ore-property-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(340px, 1fr));
    gap: 30px;
}

.ore-card {
    background: #ffffff;
    border-radius: 12px;
    overflow: hidden;
    box-shadow: 0 4px 20px rgba(0,0,0,0.06);
    border: 1px solid #e8e8e8;
    transition: transform 0.3s ease, box-shadow 0.3s ease;
    display: flex;
    flex-direction: column;
}

.ore-card:hover {
    transform: translateY(-8px);
    box-shadow: 0 16px 40px rgba(0,0,0,0.12);
    border-color: #c5a059;
}

.ore-card-img-wrap {
    position: relative;
    height: 240px;
    overflow: hidden;
}

.ore-card-img-wrap img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.5s ease;
}

.ore-card:hover .ore-card-img-wrap img {
    transform: scale(1.06);
}

.ore-badge {
    position: absolute;
    top: 14px;
    left: 14px;
    padding: 5px 14px;
    font-size: 0.7rem;
    font-weight: 700;
    letter-spacing: 1.5px;
    text-transform: uppercase;
    border-radius: 4px;
    z-index: 2;
}

.ore-badge-sale { background: #000; color: #c5a059; }
.ore-badge-exclusive { background: #c5a059; color: #ffffff; left: auto; right: 14px; }

.ore-card-body {
    padding: 24px;
    flex: 1;
    display: flex;
    flex-direction: column;
}

.ore-card-meta {
    display: flex;
    justify-content: space-between;
    font-size: 0.82rem;
    color: #c5a059;
    font-weight: 600;
    margin-bottom: 12px;
}

.ore-id { color: #999; font-weight: 400; }

.ore-card-body h3 {
    font-family: 'Playfair Display', serif;
    font-size: 1.25rem;
    margin: 0 0 10px;
    color: #0a0a0a;
}

.ore-card-body p {
    font-size: 0.92rem;
    color: #666;
    line-height: 1.6;
    margin-bottom: 20px;
    flex-grow: 1;
}

.ore-card-specs {
    display: flex;
    justify-content: space-between;
    align-items: center;
    border-top: 1px solid #f0f0f0;
    padding-top: 16px;
    font-size: 0.88rem;
    color: #555;
}

.ore-price {
    font-weight: 700;
    font-size: 1.1rem;
    color: #c5a059;
    margin-left: auto;
}

.ore-footer {
    background: #0d0d0d;
    color: #888;
    text-align: center;
    padding: 30px 20px;
    font-size: 0.85rem;
    border-top: 1px solid rgba(255,255,255,0.1);
}

/* ==========================================
   ORE Badge, Hero & View All Styles
   ========================================== */
.ore-page-hero {
    background: #0d0d0d;
    color: #ffffff;
    padding: 80px 20px;
    text-align: center;
}

.ore-badge-sale {
    background: #000000 !important;
    color: #c5a059 !important;
}

.ore-badge-rent {
    background: #00a896 !important;
    color: #ffffff !important;
}

.ore-view-all {
    display: inline-block;
    color: #c5a059;
    font-weight: 700;
    font-size: 0.85rem;
    letter-spacing: 1.5px;
    text-transform: uppercase;
    text-decoration: none;
    padding: 8px 18px;
    border: 1px solid #c5a059;
    border-radius: 4px;
    transition: all 0.3s ease;
}

.ore-view-all:hover {
    background: #c5a059;
    color: #000000;
    box-shadow: 0 4px 15px rgba(197, 160, 89, 0.3);
}
/* WhatsApp inquiry button for property cards */
.ore-wa-card-btn {
  margin-top: 15px;
  width: fit-content;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  background: #25D366; /* WhatsApp green */
  color: #fff;
  padding: 6px 12px;
  border-radius: 20px;
  font-size: 0.8rem;
  font-weight: 600;
  text-decoration: none;
  transition: background 0.3s ease;
}
.ore-wa-card-btn:hover {
  background: #128C7E;
}

/* ==========================================
   Articles & Insights System Styles
   ========================================== */

/* Articles Grid */
.ore-articles-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(320px, 1fr));
  gap: 2.5rem;
  margin-top: 2rem;
}

/* Article Card */
.ore-article-card {
  background: #ffffff;
  border-radius: 12px;
  overflow: hidden;
  border: 1px solid #e2e8f0;
  box-shadow: 0 10px 25px rgba(0, 0, 0, 0.05);
  transition: transform 0.35s ease, box-shadow 0.35s ease, border-color 0.35s ease;
  display: flex;
  flex-direction: column;
}

.ore-article-card:hover {
  transform: translateY(-8px);
  box-shadow: 0 20px 40px rgba(197, 160, 89, 0.15);
  border-color: #c5a059;
}

.ore-article-card-img {
  position: relative;
  width: 100%;
  height: 220px;
  overflow: hidden;
}

.ore-article-card-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.4s ease;
}

.ore-article-card:hover .ore-article-card-img img {
  transform: scale(1.06);
}

.ore-badge-article {
  position: absolute;
  top: 1rem;
  right: 1rem;
  background-color: #c5a059;
  color: #ffffff;
  padding: 4px 12px;
  border-radius: 4px;
  font-size: 0.75rem;
  font-weight: 600;
  letter-spacing: 1px;
  text-transform: uppercase;
  z-index: 2;
}

.ore-article-card-body {
  padding: 1.75rem;
  display: flex;
  flex-direction: column;
  flex-grow: 1;
}

.ore-article-meta {
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-size: 0.825rem;
  color: #64748b;
  margin-bottom: 0.75rem;
}

.ore-article-card-body h2 {
  font-size: 1.25rem;
  font-weight: 600;
  color: #0f172a;
  line-height: 1.4;
  margin-bottom: 0.85rem;
  text-transform: none;
}

.ore-article-excerpt {
  font-size: 0.95rem;
  color: #475569;
  line-height: 1.6;
  margin-bottom: 1.5rem;
  flex-grow: 1;
}

.ore-article-coming-soon {
  opacity: 0.75;
}

.ore-btn-disabled {
  background-color: #cbd5e1 !important;
  color: #64748b !important;
  border-color: #cbd5e1 !important;
  cursor: not-allowed;
  pointer-events: none;
}

/* Single Article Styling */
.ore-article-content {
  max-width: 900px;
  margin: 0 auto;
  background: #ffffff;
  padding: 3rem 3.5rem;
  border-radius: 16px;
  box-shadow: 0 15px 35px rgba(0, 0, 0, 0.04);
  border: 1px solid #f1f5f9;
  font-size: 1.05rem;
  line-height: 1.85;
  color: #334155;
}

.ore-article-hero {
  text-align: center;
  padding: 4rem 1rem;
}

.ore-article-content h2 {
  font-size: 1.6rem;
  color: #0f172a;
  margin: 2.25rem 0 1rem;
  padding-bottom: 0.5rem;
  border-bottom: 2px solid rgba(197, 160, 89, 0.3);
  text-transform: none;
  font-weight: 600;
}

.ore-article-content h3 {
  font-size: 1.25rem;
  color: #1e293b;
  margin: 1.5rem 0 0.75rem;
  text-transform: none;
}

.ore-lead {
  font-size: 1.2rem;
  font-weight: 400;
  line-height: 1.8;
  color: #1e293b;
  background: #f8fafc;
  padding: 1.5rem;
  border-right: 4px solid #c5a059;
  border-radius: 0 8px 8px 0;
  margin-bottom: 2rem;
}

/* Responsive SEO Table */
.ore-table-wrap {
  width: 100%;
  overflow-x: auto;
  margin: 2rem 0;
  border-radius: 8px;
  border: 1px solid #e2e8f0;
}

.ore-seo-table {
  width: 100%;
  border-collapse: collapse;
  text-align: right;
  font-size: 0.95rem;
  background: #ffffff;
}

.ore-seo-table th {
  background-color: #0f172a;
  color: #ffffff;
  padding: 1rem 1.25rem;
  font-weight: 600;
  border-bottom: 3px solid #c5a059;
}

.ore-seo-table td {
  padding: 1rem 1.25rem;
  border-bottom: 1px solid #e2e8f0;
  color: #334155;
}

.ore-seo-table tbody tr:nth-child(even) {
  background-color: #f8fafc;
}

.ore-seo-table tbody tr:hover {
  background-color: #f1f5f9;
}

/* Highlight Box */
.ore-highlight-box {
  background: linear-gradient(135deg, #fefce8 0%, #fef9c3 100%);
  border: 1px solid #fef08a;
  border-right: 5px solid #c5a059;
  padding: 1.5rem 2rem;
  border-radius: 8px;
  margin: 2rem 0;
}

.ore-highlight-box h3 {
  color: #854d0e;
  margin-top: 0;
}

.ore-highlight-box p {
  margin-bottom: 0;
  color: #713f12;
}

/* Article CTA Box */
.ore-article-cta {
  background: linear-gradient(135deg, #0f172a 0%, #1e293b 100%);
  color: #ffffff;
  padding: 2.5rem;
  border-radius: 12px;
  text-align: center;
  margin-top: 3.5rem;
  border: 1px solid rgba(197, 160, 89, 0.4);
  box-shadow: 0 15px 30px rgba(0, 0, 0, 0.15);
}

.ore-article-cta h3 {
  color: #c5a059;
  font-size: 1.5rem;
  margin-top: 0;
  margin-bottom: 0.75rem;
}

.ore-article-cta p {
  color: #cbd5e1;
  font-size: 1.05rem;
  margin-bottom: 1.75rem;
  line-height: 1.6;
}

.ore-wa-cta-btn {
  display: inline-block;
  background: #25D366;
  color: #ffffff;
  font-weight: 700;
  font-size: 1.05rem;
  padding: 14px 28px;
  border-radius: 30px;
  text-decoration: none;
  transition: all 0.3s ease;
  box-shadow: 0 6px 20px rgba(37, 211, 102, 0.35);
}

.ore-wa-cta-btn:hover {
  background: #128C7E;
  transform: translateY(-2px);
  box-shadow: 0 10px 25px rgba(37, 211, 102, 0.45);
}

.ore-article-back {
  margin-top: 2.5rem;
  text-align: center;
}

/* ==========================================
   ORE Luxury Card & Page System Styles
   ========================================== */

body.ore-luxury-body {
  font-family: 'Inter', system-ui, -apple-system, sans-serif;
  background-color: #f8fafc;
  color: #0f172a;
  margin: 0;
  padding: 0;
  line-height: 1.6;
}

/* Top Bar */
.ore-topbar {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  background-color: #000000;
  z-index: 400;
  padding: 8px 0;
  text-align: center;
}

.ore-topbar-content {
  max-width: 1300px;
  margin: 0 auto;
  padding: 0 1rem;
  font-size: 0.875rem;
  color: #ffffff;
  font-weight: 500;
  letter-spacing: 0.05em;
}

.ore-wa-link {
  color: #ffffff;
  text-decoration: none;
  font-weight: 600;
  transition: color 0.3s ease;
}

.ore-wa-link:hover {
  color: #c5a059;
}

/* Navigation Bar */
.ore-navbar {
  position: fixed;
  top: 35px;
  left: 0;
  width: 100%;
  height: 80px;
  background: rgba(255, 255, 255, 0.96);
  backdrop-filter: blur(10px);
  z-index: 300;
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 0 5%;
  border-bottom: 1px solid rgba(0, 0, 0, 0.08);
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.03);
}

.ore-logo a {
  font-family: 'Playfair Display', serif;
  font-size: 1.6rem;
  font-weight: 700;
  color: #0a0a0a;
  letter-spacing: 0.08em;
  text-decoration: none;
}

.ore-logo span {
  font-size: 0.8rem;
  font-weight: 500;
  color: #c5a059;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  border-left: 2px solid #c5a059;
  padding-left: 0.6rem;
  margin-left: 0.6rem;
}

.ore-nav-links {
  display: flex;
  gap: 2rem;
  align-items: center;
  list-style: none;
  margin: 0;
  padding: 0;
}

.ore-nav-links a {
  text-decoration: none;
  color: #1e293b;
  font-size: 0.875rem;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  font-weight: 600;
  transition: color 0.3s ease;
}

.ore-nav-links a:hover,
.ore-nav-links a.active {
  color: #c5a059;
}

.ore-btn-gold {
  display: inline-block;
  background-color: #c5a059;
  color: #ffffff !important;
  padding: 9px 20px;
  text-decoration: none;
  text-transform: uppercase;
  font-size: 0.8rem;
  letter-spacing: 0.1em;
  font-weight: 700;
  border-radius: 4px;
  transition: all 0.3s ease;
}

.ore-btn-gold:hover {
  background-color: #b08c46;
  box-shadow: 0 4px 15px rgba(197, 160, 89, 0.4);
}

/* Page Hero Header */
.ore-page-hero {
  background: linear-gradient(180deg, #0f172a 0%, #1e293b 100%);
  color: #ffffff;
  text-align: center;
  padding: 7rem 1.5rem 4rem;
  margin-top: 115px;
  position: relative;
}

.ore-page-hero::after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 80px;
  height: 3px;
  background-color: #c5a059;
}

.ore-gold-sub {
  color: #c5a059;
  text-transform: uppercase;
  letter-spacing: 2.5px;
  font-size: 0.85rem;
  font-weight: 700;
  display: block;
  margin-bottom: 0.75rem;
}

.ore-page-hero h1 {
  font-family: 'Playfair Display', serif;
  font-size: clamp(2.2rem, 4vw, 3.5rem);
  font-weight: 700;
  color: #ffffff;
  margin: 0 0 1rem;
  letter-spacing: 1px;
}

.ore-page-hero p {
  font-size: 1.15rem;
  color: #cbd5e1;
  max-width: 700px;
  margin: 0 auto;
}

/* Main Container & Property Grid */
.ore-container {
  width: 100%;
  max-width: 1300px;
  margin: 0 auto;
  padding: 3.5rem 1.5rem 5rem;
}

.ore-property-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(350px, 1fr));
  gap: 2.5rem;
}

/* Luxury Property Card */
.ore-card {
  background: #ffffff;
  border-radius: 14px;
  overflow: hidden;
  border: 1px solid #e2e8f0;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.05);
  transition: all 0.35s ease;
  display: flex;
  flex-direction: column;
}

.ore-card:hover {
  transform: translateY(-8px);
  box-shadow: 0 20px 45px rgba(197, 160, 89, 0.18);
  border-color: #c5a059;
}

.ore-card-img-wrap {
  position: relative;
  width: 100%;
  height: 260px;
  overflow: hidden;
}

.ore-card-img-wrap img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.5s ease;
}

.ore-card:hover .ore-card-img-wrap img {
  transform: scale(1.06);
}

.ore-badge {
  position: absolute;
  top: 1rem;
  left: 1rem;
  background-color: #c5a059;
  color: #ffffff;
  padding: 5px 14px;
  border-radius: 4px;
  font-size: 0.75rem;
  font-weight: 700;
  letter-spacing: 1px;
  text-transform: uppercase;
  z-index: 2;
}

.ore-badge-sale {
  background-color: #06b6d4;
}

.ore-badge-rent {
  background-color: #059669;
}

.ore-badge-exclusive {
  top: 3rem;
  background-color: #c5a059;
}

.ore-card-body {
  padding: 1.75rem;
  display: flex;
  flex-direction: column;
  flex-grow: 1;
}

.ore-card-meta {
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-size: 0.85rem;
  color: #64748b;
  margin-bottom: 0.75rem;
  font-weight: 500;
}

.ore-id {
  font-weight: 700;
  color: #0f172a;
}

.ore-card-body h3 {
  font-family: 'Playfair Display', serif;
  font-size: 1.35rem;
  font-weight: 700;
  color: #0f172a;
  line-height: 1.35;
  margin: 0 0 0.75rem;
}

.ore-card-body p {
  font-size: 0.95rem;
  color: #475569;
  line-height: 1.6;
  margin: 0 0 1.5rem;
  flex-grow: 1;
}

.ore-card-specs {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 0.75rem;
  padding-top: 1rem;
  border-top: 1px solid #f1f5f9;
  font-size: 0.875rem;
  color: #475569;
}

.ore-price {
  font-weight: 800;
  font-size: 1.15rem;
  color: #c5a059;
}

.ore-wa-card-btn {
  margin-top: 15px;
  width: fit-content;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  background: #25D366;
  color: #ffffff !important;
  padding: 7px 16px;
  border-radius: 20px;
  font-size: 0.825rem;
  font-weight: 700;
  text-decoration: none;
  transition: all 0.3s ease;
  box-shadow: 0 4px 12px rgba(37, 211, 102, 0.25);
}

.ore-wa-card-btn:hover {
  background: #128C7E;
  transform: translateY(-1px);
  box-shadow: 0 6px 16px rgba(37, 211, 102, 0.35);
}

.ore-footer {
  background-color: #000000;
  color: #ffffff;
  padding: 3rem 1.5rem;
  text-align: center;
  border-top: 1px solid rgba(255, 255, 255, 0.1);
}

.ore-footer p {
  margin: 0;
  font-size: 0.9rem;
  color: #94a3b8;
}

/* Language Switcher Button */
.ore-lang-btn {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  background-color: transparent;
  color: #c5a059 !important;
  border: 1px solid #c5a059 !important;
  padding: 6px 14px;
  border-radius: 20px;
  font-size: 0.8rem;
  font-weight: 700;
  text-transform: uppercase;
  text-decoration: none;
  letter-spacing: 0.5px;
  transition: all 0.3s ease;
  cursor: pointer;
}

.ore-lang-btn:hover {
  background-color: #c5a059 !important;
  color: #0a0a0a !important;
  box-shadow: 0 4px 12px rgba(197, 160, 89, 0.3);
}

/* RTL Global Layout Overrides */
html[dir="rtl"] body {
  direction: rtl;
  text-align: right;
}

html[dir="rtl"] .logo-sub {
  border-left: none;
  border-right: 1px solid #c5a059;
  padding-left: 0;
  padding-right: 0.75rem;
}

html[dir="rtl"] .ore-logo span {
  border-left: none;
  border-right: 2px solid #c5a059;
  padding-left: 0;
  padding-right: 0.6rem;
  margin-left: 0;
  margin-right: 0.6rem;
}

html[dir="rtl"] .ore-badge {
  left: auto;
  right: 1rem;
}

html[dir="rtl"] .ore-price {
  margin-left: 0;
  margin-right: auto;
}

@media (max-width: 768px) {
  .ore-nav-links {
    display: none;
  }
  .ore-property-grid {
    grid-template-columns: 1fr;
  }
}

