/*
Theme Name: Luxven Child
Template: generatepress
Version: 1.6
Description: Child theme with unified black/white/gold colors.
*/

/* =========================
   Design Tokens (Global)
========================= */
:root{
  --lux-black: #0b0b0c;
  --lux-black-light: #151517;

  --lux-gold-solid: #caa24a;
  --lux-gold: var(--lux-gold-solid);
  --lux-gold-shine: linear-gradient(135deg,#b98b2f 0%,#f2e6bf 35%,#caa24a 60%,#a7771b 100%);

  --lux-white: #ffffff;
  --lux-gray: #f6f6f7;

  --lux-text: rgba(0,0,0,.86);
  --lux-muted: rgba(0,0,0,.62);
  --lux-border: rgba(0,0,0,.08);

  --lux-r-sm: 12px;
  --lux-r-md: 14px;
  --lux-r-lg: 18px;

  --lux-shadow-sm: 0 10px 26px rgba(0,0,0,.045);
  --lux-shadow-md: 0 16px 36px rgba(0,0,0,.07);
}

/* =========================
   Safety: prevent mobile horizontal shift
========================= */
html, body{ max-width:100%; }
body{ overflow-x:hidden; } /* بدون !important */

/* =========================
   General Container
========================= */
.luxven-container{
  max-width:1200px;
  margin:0 auto;
  padding:40px 20px;
}

.site-content, .luxven-container{
  overflow-x:hidden !important;
  max-width:100%;
}

/* =========================
   Hero (generic)
========================= */
.luxven-hero{
  position:relative;
  margin-bottom:40px;
}
.luxven-hero img{
  width:100%;
  height:60vh;
  object-fit:cover;
  border-radius:var(--lux-r-md);
}
.luxven-badge{
  position:absolute;
  top:20px;
  left:20px;
  background:var(--lux-black);
  color:#fff;
  padding:8px 14px;
  font-size:12px;
  border-radius:999px;
  border:1px solid rgba(202,162,74,.35);
}

/* =========================
   Title + Price
========================= */
.luxven-title{
  font-size:34px;
  font-weight:700;
  line-height:1.2;
  margin:0 0 12px;
  color:#111;
}
.luxven-price{
  font-size:30px;
  font-weight:800;
  color:var(--lux-gold);
}

/* =========================
   Layout
========================= */
.luxven-layout{
  display:grid;
  grid-template-columns:2fr 1fr;
  gap:40px;
}

/* =========================
   Cards (archive generic)
========================= */
.luxven-details-cards{
  display:grid;
  grid-template-columns:repeat(auto-fit, minmax(260px, 1fr));
  gap:24px;
  margin-top:30px;
}

.luxven-detail-card{
  display:flex;
  align-items:center;
  gap:16px;
  padding:22px;
  background:var(--lux-white);
  border-radius:var(--lux-r-lg);
  border:1px solid var(--lux-border);
  box-shadow:var(--lux-shadow-sm);
  transition:.2s ease;
}
.luxven-detail-card:hover{
  transform:translateY(-2px);
  box-shadow:var(--lux-shadow-md);
}
.luxven-detail-icon{
  width:44px;
  height:44px;
  display:flex;
  align-items:center;
  justify-content:center;
  border-radius:14px;
  border:1px solid rgba(202,162,74,.35);
  background:#fff;
}
.luxven-detail-icon svg{
  width:20px;
  height:20px;
  stroke:var(--lux-black);
}
.luxven-detail-card small{
  display:block;
  font-size:11px;
  text-transform:uppercase;
  letter-spacing:1px;
  color:var(--lux-muted);
  margin-bottom:4px;
}
.luxven-detail-card strong{
  font-size:20px;
  font-weight:800;
  color:var(--lux-text);
}

/* =========================
   Sidebar generic
========================= */
.luxven-sidebar{ position:relative; }
.luxven-contact{
  background:#fff;
  padding:28px;
  border-radius:var(--lux-r-lg);
  box-shadow:0 18px 55px rgba(0,0,0,.07);
  position:sticky;
  top:120px;
  border:1px solid var(--lux-border);
}

/* Buttons */
.luxven-btn{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  padding:14px;
  border-radius:14px;
  font-weight:800;
  text-decoration:none;
  margin-bottom:12px;
}

.luxven-btn.black{
  background:var(--lux-black);
  color:var(--lux-gold);
  border:1px solid rgba(202,162,74,.55);
}
.luxven-btn.black:hover{ background:var(--lux-black-light); }

.luxven-btn.gold{
  background:var(--lux-gold-shine);
  color:var(--lux-black);
  border:0;
}
.luxven-btn.gold:hover{
  filter:contrast(1.02);
}

/* =========================================
   LUXVEN UNIFIED FORM STYLES
   (Based on Design Tokens & Theme Identity)
   ========================================= */

/* 1. Container & Typography */
.luxven-form-container,
.wpcf7-form,
.gform_wrapper {
    max-width: 100%;
    margin: 0 auto;
    font-family: inherit; /* Use theme font */
}

/* Section Titles (Like "Contact Details") */
.luxven-form-section-title,
.wpcf7 h4,
.gform_title {
    font-size: 18px;
    font-weight: 800; /* Extra bold for luxury feel */
    color: var(--lux-black, #0b0b0c);
    margin: 24px 0 16px;
    padding-bottom: 8px;
    border-bottom: 2px solid var(--lux-gold-solid, #caa24a);
    display: inline-block;
    letter-spacing: -0.2px;
}

/* Labels */
label,
.wpcf7-list-item-label {
    display: block;
    font-size: 13px;
    font-weight: 700;
    color: var(--lux-text, rgba(0,0,0,.86));
    margin-bottom: 6px;
    letter-spacing: 0.3px;
    text-transform: uppercase; /* Clean look */
}

/* 2. Inputs & Textareas & Selects */
input[type="text"],
input[type="email"],
input[type="tel"],
input[type="number"],
input[type="date"],
input[type="url"],
textarea,
select {
    width: 100%;
    height: 48px; /* Comfortable touch target */
    padding: 0 16px;
    background: #fff;
    border: 1px solid var(--lux-border, rgba(0,0,0,.12));
    border-radius: var(--lux-r-sm, 12px); /* Consistent radius */
    font-size: 14px;
    color: var(--lux-black, #0b0b0c);
    font-weight: 500;
    box-shadow: 0 2px 6px rgba(0,0,0,0.02); /* Very subtle depth */
    transition: all 0.2s ease-in-out;
    outline: none;
    -webkit-appearance: none; /* Normalize appearance */
    appearance: none;
}

textarea {
    height: auto;
    padding: 16px;
    min-height: 120px;
    resize: vertical;
}

/* Focus State (The Gold Touch) */
input:focus,
textarea:focus,
select:focus {
    border-color: var(--lux-gold-solid, #caa24a);
    box-shadow: 0 4px 12px rgba(202,162,74, 0.15); /* Gold glow */
    background: #fff;
}

/* Placeholder Styling */
::placeholder {
    color: var(--lux-muted, rgba(0,0,0,.45));
    font-weight: 400;
}

/* 3. Checkboxes & Radio Buttons */
input[type="checkbox"],
input[type="radio"] {
    accent-color: var(--lux-gold-solid, #caa24a);
    width: 18px;
    height: 18px;
    cursor: pointer;
    vertical-align: middle;
    margin-right: 8px;
}

/* 4. Submit Buttons (Luxven Black & Gold) */
input[type="submit"],
button[type="submit"],
.wpcf7-submit {
    background: var(--lux-black, #0b0b0c) !important;
    color: var(--lux-gold-solid, #caa24a) !important;
    border: 1px solid rgba(202,162,74, 0.4) !important;
    padding: 14px 32px !important;
    font-size: 15px !important;
    font-weight: 800 !important;
    text-transform: uppercase;
    letter-spacing: 0.8px;
    border-radius: var(--lux-r-md, 14px) !important;
    cursor: pointer;
    transition: all 0.25s ease !important;
    width: auto;
    min-width: 180px;
    display: inline-block;
    box-shadow: 0 8px 20px rgba(0,0,0,0.1);
}

input[type="submit"]:hover,
button[type="submit"]:hover,
.wpcf7-submit:hover {
    background: var(--lux-black-light, #151517) !important;
    transform: translateY(-2px);
    box-shadow: 0 12px 25px rgba(0,0,0,0.15);
    color: #fff !important; /* White text on hover for contrast */
    border-color: var(--lux-gold-solid, #caa24a) !important;
}

/* 5. Layout Helpers (Rows & Grids) */
/* For 2 columns */
.luxven-row-2 {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 20px;
    margin-bottom: 20px;
}

/* For 3 columns */
.luxven-row-3 {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    gap: 20px;
    margin-bottom: 20px;
}

/* Field Wrapper Spacing */
.luxven-field,
.wpcf7-form-control-wrap {
    margin-bottom: 20px;
    display: block;
}

/* File Upload Styling (Optional but nice) */
input[type="file"] {
    padding: 10px;
    background: #f9f9f9;
    height: auto;
    border-style: dashed;
	max-width: 100% !important;
    width: 100% !important;
    box-sizing: border-box !important; /* يضمن احتساب الحواف والمسافات الداخلية ضمن العرض الكلي */
}

/* =========================================
   RESPONSIVE ADJUSTMENTS
   ========================================= */
@media (max-width: 768px) {
    .luxven-row-2,
    .luxven-row-3 {
        grid-template-columns: 1fr; /* Stack vertically on mobile */
        gap: 16px;
    }
    
    input[type="submit"],
    button[type="submit"],
    .wpcf7-submit {
        width: 100%; /* Full width button on mobile */
    }
}
/* =========================================
   LUXVEN GLOBAL THEME STYLES (Full Site)
   ========================================= */

/* 1. Global Typography & Body */
body {
    background-color: #fcfcfc; /* لون خلفية هادئ جداً لإبراز الكروت */
    color: var(--lux-text);
    line-height: 1.6;
    font-family: inherit; /* استخدام خط القالب المختار */
}

h1, h2, h3, h4, h5, h6 {
    color: var(--lux-black);
    font-weight: 800; /* خط عريض للفخامة */
    letter-spacing: -0.5px;
    margin-bottom: 20px;
    line-height: 1.2;
}

h1 { font-size: 42px; }
h2 { font-size: 32px; }
h3 { font-size: 24px; }

a {
    color: var(--lux-black);
    text-decoration: none;
    transition: color 0.3s ease;
}

a:hover {
    color: var(--lux-gold-solid);
}

/* =========================================
   2. Header & Navigation (القائمة العلوية)
   ========================================= */
.site-header {
    background: #fff;
    box-shadow: 0 4px 20px rgba(0,0,0,0.04); /* ظل خفيف جداً */
    border-bottom: 1px solid var(--lux-border);
    position: relative;
    z-index: 1000;
}

/* روابط القائمة */
.main-navigation .main-nav ul li a {
    font-size: 14px;
    font-weight: 700;
    text-transform: uppercase;
    color: var(--lux-black);
    letter-spacing: 0.5px;
    padding-left: 18px;
    padding-right: 18px;
}

.main-navigation .main-nav ul li:hover > a,
.main-navigation .main-nav ul li.current-menu-item > a {
    color: var(--lux-gold-solid);
    background: transparent;
}

/* زر "Add Listing" أو CTA في الهيدر (لو موجود) */
.menu-button a {
    background: var(--lux-black) !important;
    color: var(--lux-gold-solid) !important;
    border-radius: var(--lux-r-sm) !important;
    padding: 10px 20px !important;
    margin-top: 10px; /* ضبط المسافة */
    border: 1px solid rgba(202,162,74,0.4);
    transition: all 0.3s ease;
}

.menu-button a:hover {
    background: var(--lux-gold-solid) !important;
    color: var(--lux-black) !important;
}

/* =========================================
   3. Page Headers (عناوين الصفحات الداخلية)
   ========================================= */
.page-header-content {
    background: var(--lux-black);
    padding: 60px 0;
    text-align: center;
    margin-bottom: 40px;
}

.page-header-content h1 {
    color: var(--lux-gold-solid);
    margin: 0;
    text-transform: uppercase;
    letter-spacing: 1px;
}

/* =========================================
   4. Content Area & Cards (المحتوى العام)
   ========================================= */
/* أي حاوية محتوى نعطيها حدود ناعمة */
.inside-article, 
.sidebar .widget {
    background: #fff;
    border: 1px solid var(--lux-border);
    border-radius: var(--lux-r-lg);
    box-shadow: var(--lux-shadow-sm);
    padding: 30px; /* مساحة داخلية مريحة */
    margin-bottom: 30px;
}

/* تحسين صور المقالات */
.post-image img {
    border-radius: var(--lux-r-md);
    width: 100%;
    object-fit: cover;
}

/* =========================================
   5. Buttons (Global Buttons)
   ========================================= */
/* الأزرار الافتراضية في الموقع */
button, 
html input[type="button"], 
input[type="reset"], 
input[type="submit"], 
a.button, 
a.button:visited,
a.wp-block-button__link {
    background: var(--lux-black);
    color: var(--lux-gold-solid);
    border: 1px solid rgba(202,162,74,0.3);
    border-radius: var(--lux-r-md);
    padding: 12px 28px;
    font-weight: 800;
    text-transform: uppercase;
    font-size: 14px;
    letter-spacing: 0.5px;
    transition: all 0.3s ease;
}

button:hover, 
html input[type="button"]:hover, 
input[type="reset"]:hover, 
input[type="submit"]:hover, 
a.button:hover, 
a.wp-block-button__link:hover {
    background: var(--lux-gold-solid);
    color: var(--lux-black);
    border-color: var(--lux-gold-solid);
    transform: translateY(-2px);
    box-shadow: 0 10px 20px rgba(0,0,0,0.1);
}
/* =========================================
   7. Blog & Archive Grid (صفحات المقالات)
   ========================================= */
/* جعل المقالات تظهر كبطاقات */
.blog .type-post, 
.archive .type-post {
    margin-bottom: 30px;
}

/* عنوان المقال في الأرشيف */
.entry-title a {
    font-size: 22px;
    font-weight: 800;
    color: var(--lux-black);
}

.entry-title a:hover {
    color: var(--lux-gold-solid);
}

/* زر اقرأ المزيد */
.read-more-button-container .button {
    background: transparent;
    color: var(--lux-black);
    border: 1px solid var(--lux-border);
    padding: 8px 20px;
    font-size: 12px;
}

.read-more-button-container .button:hover {
    background: var(--lux-black);
    color: #fff;
    border-color: var(--lux-black);
}

/* =========================================
   8. Gutenberg Blocks Tweaks (تعديلات المحرر)
   ========================================= */
/* Quotes */
blockquote {
    border-left: 4px solid var(--lux-gold-solid);
    font-style: italic;
    font-size: 18px;
    color: var(--lux-black);
    background: #f9f9f9;
    padding: 20px;
    border-radius: 0 var(--lux-r-sm) var(--lux-r-sm) 0;
}

/* Tables */
table {
    border-collapse: collapse;
    width: 100%;
    margin-bottom: 20px;
    border: 1px solid var(--lux-border);
}

th {
    background: var(--lux-black);
    color: var(--lux-gold-solid);
    padding: 12px;
    text-align: left;
    font-weight: 700;
}

td {
    padding: 12px;
    border-bottom: 1px solid var(--lux-border);
}

tr:nth-child(even) {
    background: #f9f9f9;
}

/* =====================================================
   Pagination (fix "12Next »" + Lux buttons)
   Works for paginate_links() output (.page-numbers)
===================================================== */
.lx-pagination{
  margin:18px 0;
  display:flex;
  justify-content:center;
  align-items:center;
  gap:8px;
  flex-wrap:wrap;
}

.lx-pagination .page-numbers{
  display:inline-flex;
  align-items:center;
  justify-content:center;

  height:40px;
  min-width:40px;
  padding:0 14px;

  border-radius:12px;
  border:1px solid var(--lux-border, rgba(0,0,0,.08));
  background:#fff;

  color:rgba(0,0,0,.86);
  text-decoration:none;
  font-weight:900;
  letter-spacing:.2px;

  box-shadow: 0 10px 26px rgba(0,0,0,.03);
}

.lx-pagination .page-numbers:hover{
  border-color: rgba(202,162,74,.35);
  box-shadow: 0 14px 30px rgba(0,0,0,.05);
}

.lx-pagination .page-numbers.current{
  background: var(--lux-black);
  color: var(--lux-gold-solid);
  border-color: rgba(202,162,74,.55);
  box-shadow: 0 14px 30px rgba(0,0,0,.10);
}

.lx-pagination .page-numbers.prev,
.lx-pagination .page-numbers.next{
  min-width:40px;
  padding:0 16px;
}

/* Dots */
.lx-pagination .page-numbers.dots{
  background:transparent;
  border-color:transparent;
  box-shadow:none;
  min-width:auto;
  padding:0 6px;
}

/* Also catch GP default pagination (in case template uses it somewhere) */
.paging-navigation .page-numbers{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  height:40px;
  min-width:40px;
  padding:0 14px;
  margin:0 6px 10px 0;

  border-radius:12px;
  border:1px solid var(--lux-border, rgba(0,0,0,.08));
  background:#fff;

  color:rgba(0,0,0,.86);
  text-decoration:none;
  font-weight:900;
}
.paging-navigation .page-numbers.current{
  background: var(--lux-black);
  color: var(--lux-gold-solid);
  border-color: rgba(202,162,74,.55);
}
/* =====================================================
   LUXVEN FILTER BAR — ROOT FIX (Archive + Area + Community)
   Fixes:
   - Overlap (Search above Clear)
   - Select chevron flipping in RTL
   - Button text not vertically centered
   - More Filters hover black fill
   - Mobile More Filters too tall + no close
===================================================== */

/* Apply on ALL listing search pages */
.post-type-archive-property .lx-bar,
.tax-area .lx-bar,
.tax-community .lx-bar{
  width:100%;
}

/* 1) Kill inline/min-width behaviors safely */
.post-type-archive-property .lx-bar .lx-pill,
.tax-area .lx-bar .lx-pill,
.tax-community .lx-bar .lx-pill{
  min-width: 0 !important;
  flex: 1 1 220px;
  max-width: 100%;
}

/* 2) Make form truly responsive everywhere */
.post-type-archive-property .lx-bar form,
.tax-area .lx-bar form,
.tax-community .lx-bar form{
  width:100% !important;
  max-width:100% !important;
  display:flex !important;
  gap:10px !important;
  align-items:center !important;
  flex-wrap:wrap !important;     /* مهم: يمنع التراكب */
}

/* 3) Prevent any item from forcing overflow */
.post-type-archive-property .lx-bar form > *,
.tax-area .lx-bar form > *,
.tax-community .lx-bar form > *{
  min-width:0;
}

/* 4) FIX RTL chevron weird movement (keep select UI LTR, text stays normal) */
.post-type-archive-property .lx-bar select.lx-select,
.tax-area .lx-bar select.lx-select,
.tax-community .lx-bar select.lx-select{
  direction:ltr;                 /* يثبت السهم */
  text-align:left;               /* يمنع إحساس “سهم بيتحرك” */
  background-position: right 12px center !important;
}

/* 5) Fix buttons vertical alignment (Search text bottom issue) */
.post-type-archive-property .lx-bar .lx-btn,
.tax-area .lx-bar .lx-btn,
.tax-community .lx-bar .lx-btn{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  line-height:1 !important;
  padding: 0 14px !important;
  height:40px !important;
}

/* 6) Right actions group: never overlap */
.post-type-archive-property .lx-bar .lx-bar-actions,
.tax-area .lx-bar .lx-bar-actions,
.tax-community .lx-bar .lx-bar-actions{
  margin-left:auto;
  display:flex;
  gap:10px;
  align-items:center;
  flex-wrap:wrap;
  max-width:100%;
}

/* If still using inline selector, keep it safe */
.post-type-archive-property .lx-bar form > div[style*="margin-left:auto"],
.tax-area .lx-bar form > div[style*="margin-left:auto"],
.tax-community .lx-bar form > div[style*="margin-left:auto"]{
  margin-left:auto !important;
  display:flex !important;
  gap:10px !important;
  align-items:center !important;
  flex-wrap:wrap !important;
  max-width:100% !important;
}

/* 7) Fix "More Filters" hover turning fully black */
.post-type-archive-property .lx-bar .lx-btn-ghost:hover,
.tax-area .lx-bar .lx-btn-ghost:hover,
.tax-community .lx-bar .lx-btn-ghost:hover{
  background:#fff !important;
  color: var(--lux-black) !important;
  border-color: rgba(202,162,74,.35) !important;
  box-shadow: 0 10px 26px rgba(0,0,0,.05) !important;
}

/* 8) More Filters panel: mobile usable (scroll + visible close area) */
.post-type-archive-property .lx-more-panel,
.tax-area .lx-more-panel,
.tax-community .lx-more-panel{
  max-height: min(70vh, 520px);
  overflow:auto;
}

/* Mobile bottom sheet behavior: add safe padding so controls visible */
@media (max-width: 980px){
  .post-type-archive-property .lx-more-panel,
  .tax-area .lx-more-panel,
  .tax-community .lx-more-panel{
    padding-bottom: 22px;
  }
}
/* =====================================================
   More Filters: Compact popup on mobile (NOT full sheet)
   Put at the very END of style.css
===================================================== */

@media (max-width: 980px){
  /* override your old bottom-sheet rules */
  .lx-more{ position: relative; }
  .lx-more-panel{
    position: absolute !important;   /* بدل fixed */
    left: auto !important;
    right: 0 !important;
    bottom: auto !important;
    top: calc(100% + 10px) !important;
    width: min(92vw, 360px) !important;
    max-width: 360px !important;
    max-height: 70vh !important;
    overflow: auto !important;
    border-radius: 16px !important;
    z-index: 9999 !important;
  }

  /* remove dark overlay behavior (if you have it) */
  details.lx-more[open]::before{
    content: none !important;
  }
}
/* =====================================================
   FIX: More Filters panel anchor (mobile)
   - Always opens under the button, not far away
   - Overrides old fixed bottom sheet rules
===================================================== */

.lx-more{ position: relative !important; }

@media (max-width: 980px){

  /* stop any previous fixed bottom-sheet */
  .lx-more-panel{
    position: absolute !important;
    inset: auto 0 auto auto !important;  /* reset */
    top: calc(100% + 8px) !important;
    right: 0 !important;
    left: auto !important;
    bottom: auto !important;

    width: min(92vw, 360px) !important;
    max-width: 360px !important;

    max-height: 65vh !important;
    overflow: auto !important;

    border-radius: 16px !important;
    z-index: 9999 !important;

    /* important: ensure panel doesn't inherit weird transforms */
    transform: none !important;
  }

  /* remove overlay rules if exist */
  details.lx-more[open]::before{
    content: none !important;
  }
}
/* Make price row stable inside More Filters */
.lx-more-panel .lx-row{
  display:flex !important;
  flex-wrap:nowrap !important;
  gap:8px !important;
  align-items:center !important;
}

.lx-more-panel .lx-row .lx-input{
  flex:1 1 auto !important;
  width:auto !important;
  min-width:0 !important;
}
/* =====================================================
   FILTER BAR: unified behavior for Archive + Area + Community
   Applies anywhere .lx-wrap .lx-bar exists
===================================================== */

.lx-wrap, .lx-bar{
  overflow: visible !important; /* IMPORTANT: prevent panel cropping */
}

.lx-bar form{
  position: relative;
}

/* actions wrapper (instead of inline style selector) */
.lx-bar-actions{
  margin-left: auto;
  display:flex;
  gap:10px;
  align-items:center;
  flex-wrap:wrap;
}

/* Mobile layout: make items wrap in consistent 2-column / 1-column */
@media (max-width: 980px){
  .lx-bar form{
    flex-wrap: wrap !important;
    overflow: visible !important;
    gap:10px !important;
  }

  .lx-bar .lx-select,
  .lx-bar .lx-pill,
  .lx-bar details.lx-more,
  .lx-bar .lx-bar-actions{
    flex: 1 1 calc(50% - 10px) !important; /* 2 columns */
    width: auto !important;
    min-width: 0 !important;
  }

  /* make location full width */
  .lx-bar .lx-pill{
    flex-basis: 100% !important;
  }

  /* actions full width */
  .lx-bar .lx-bar-actions{
    flex-basis: 100% !important;
    justify-content: space-between;
  }
}
/* =====================================================
   NEW PROJECTS ARCHIVE (/new-projects/)
===================================================== */

.lx-archive-projects .lx-container{
  max-width:1200px;
  margin:0 auto;
  padding:28px 16px;
}

.lx-archive-head{
  margin-bottom:16px;
}

.lx-archive-title{
  font-size:28px;
  margin:0 0 6px;
}

.lx-archive-subtitle{
  margin:0;
  color:#666;
  font-size:15px;
}

/* Filters */
.lx-project-filters{
  background:#fff;
  border:1px solid #eee;
  border-radius:12px;
  padding:14px;
  margin:16px 0 22px;
}

.lx-filter-grid{
  display:grid;
  grid-template-columns:repeat(4, minmax(0, 1fr));
  gap:12px;
}

.lx-filter label{
  display:block;
  font-size:12px;
  color:#666;
  margin-bottom:6px;
}

.lx-filter input{
  width:100%;
  padding:10px 10px;
  border:1px solid #e5e5e5;
  border-radius:10px;
  outline:none;
}

.lx-filter input:focus{
  border-color:#caa24a;
  box-shadow:0 0 0 3px rgba(202,162,74,.15);
}

.lx-filter-actions{
  display:flex;
  align-items:flex-end;
  gap:10px;
}

/* Buttons (safe defaults) */
.lx-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:10px 14px;
  border-radius:10px;
  border:1px solid #111;
  background:#111;
  color:#fff;
  text-decoration:none;
  cursor:pointer;
}

.lx-btn-ghost{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:10px 14px;
  border-radius:10px;
  border:1px solid #ddd;
  background:#fff;
  color:#111;
  text-decoration:none;
}

/* Grid */
.lx-projects-grid--archive{
  grid-template-columns:repeat(auto-fit,minmax(280px,1fr));
}

/* Your card styles (keep them) */
.lx-projects-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(260px,1fr));
  gap:20px;
}

.lx-project-card{
  background:#fff;
  border:1px solid #eee;
  border-radius:10px;
  overflow:hidden;
  transition:transform .2s, box-shadow .2s;
}

.lx-project-card:hover{
  transform:translateY(-3px);
  box-shadow:0 10px 20px rgba(0,0,0,.08);
}

.lx-project-image img{
  width:100%;
  height:210px;
  object-fit:cover;
  display:block;
}

.lx-img-placeholder{
  height:210px;
  background:linear-gradient(135deg,#f3f3f3,#fafafa);
}

.lx-project-body{
  padding:14px;
}

.lx-project-title{
  font-size:18px;
  font-weight:600;
  margin-bottom:6px;
  line-height:1.3;
  color:#111;
}

.lx-project-meta{
  color:#777;
  font-size:14px;
  margin-bottom:8px;
}

.lx-project-price{
  font-weight:700;
  font-size:16px;
  color:#000;
  margin-bottom:10px;
}

.lx-project-details{
  font-size:13px;
  line-height:1.6;
  color:#444;
}

.lx-project-row{
  display:flex;
  gap:6px;
  margin-bottom:3px;
}

.lx-project-row strong{
  font-weight:600;
  color:#222;
}

/* Pagination */
.lx-pagination{
  margin-top:22px;
  display:flex;
  justify-content:center;
}

.lx-pagination .page-numbers{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:38px;
  height:38px;
  margin:0 4px;
  border:1px solid #e5e5e5;
  border-radius:10px;
  text-decoration:none;
  color:#111;
  background:#fff;
}

.lx-pagination .page-numbers.current{
  border-color:#111;
  background:#111;
  color:#fff;
}

/* Empty state */
.lx-empty{
  padding:28px;
  border:1px dashed #ddd;
  border-radius:12px;
  background:#fff;
}

/* Responsive */
@media (max-width:900px){
  .lx-filter-grid{
    grid-template-columns:repeat(2, minmax(0, 1fr));
  }
  .lx-filter-actions{
    grid-column:1 / -1;
  }
}
.lx-filter select{
  width:100%;
  padding:10px 10px;
  border:1px solid #e5e5e5;
  border-radius:10px;
  outline:none;
  background:#fff;
}

.lx-filter select:focus{
  border-color:#caa24a;
  box-shadow:0 0 0 3px rgba(202,162,74,.15);
}
/* =========================
   Single New Project Page
   - Template: single-new_project.php
========================= */

.lx-proj{
  max-width: 1200px;
  margin: 0 auto;
  padding: 22px;
}

.lx-proj-hero{
  margin-bottom: 18px;
}

.lx-proj-title{
  margin: 0 0 10px;
  font-size: 34px;
  line-height: 1.2;
}

.lx-proj-by{
  margin: 0 0 14px;
}

.lx-proj-by-link{
  text-decoration: none;
  font-weight: 700;
}

.lx-proj-cover{
  width: 100%;
  height: auto;
  border-radius: 18px;
  border: 1px solid rgba(0,0,0,.12);
  display: block;
}

.lx-proj-layout{
  display: grid;
  grid-template-columns: 1.2fr .8fr;
  gap: 18px;
  align-items: start;
}

.lx-proj-main{
  min-width: 0;
}

.lx-proj-card{
  padding: 16px;
  border: 1px solid rgba(0,0,0,.12);
  border-radius: 16px;
  margin-top: 16px;
  background: #fff;
}

.lx-proj-main .lx-proj-card:first-child{
  margin-top: 0;
}

.lx-proj-h2{
  margin-top: 0;
}

.lx-proj-h3{
  margin-top: 0;
}

.lx-proj-rich{
  line-height: 1.8;
}

.lx-proj-rich p{
  margin: 0 0 12px;
}

.lx-proj-rich ul,
.lx-proj-rich ol{
  margin: 0 0 12px 18px;
}

/* Sidebar */
.lx-proj-aside{
  min-width: 0;
}

.lx-proj-sticky{
  padding: 16px;
  border: 1px solid rgba(0,0,0,.12);
  border-radius: 16px;
  background: #fff;
  position: sticky;
  top: 18px;
}

.lx-proj-facts{
  margin: 0;
  padding-left: 18px;
  line-height: 1.9;
}

.lx-proj-cta{
  margin-top: 14px;
}

.lx-proj-btn{
  display: inline-block;
  padding: 10px 12px;
  border-radius: 12px;
  border: 1px solid rgba(0,0,0,.12);
  text-decoration: none;
  font-weight: 700;
}

.lx-proj-btn:hover{
  opacity: .9;
}

.lx-proj-cta-note{
  margin-top: 8px;
  font-size: 13px;
  color: rgba(0,0,0,.62);
}

/* Map */
.lx-proj-map{
  margin-top: 14px;
  border-radius: 12px;
  overflow: hidden;
  border: 1px solid rgba(0,0,0,.12);
}

.lx-proj-map iframe{
  width: 100%;
  height: 320px;
  display: block;
  border: 0;
}

/* FAQs */
.lx-faq{
  margin: 10px 0;
  padding: 12px;
  border: 1px solid rgba(0,0,0,.12);
  border-radius: 12px;
  background: #fff;
}

.lx-faq summary{
  cursor: pointer;
  font-weight: 700;
}

.lx-faq-a{
  margin-top: 10px;
  color: rgba(0,0,0,.82);
  line-height: 1.7;
}

/* Responsive */
@media (max-width: 980px){
  .lx-proj-layout{
    grid-template-columns: 1fr;
  }

  .lx-proj-sticky{
    position: static;
  }

  .lx-proj{
    padding: 16px;
  }

  .lx-proj-title{
    font-size: 28px;
  }
}
/* Mobile block hidden on desktop */
.lx-proj-mobile-block{
  display:none;
}

/* Mobile behavior */
@media (max-width: 980px){

  /* show mobile Key Facts block */
  .lx-proj-mobile-block{
    display:block;
    margin-top:16px;
  }

  /* hide desktop sidebar */
  .lx-proj-aside{
    display:none !important;
  }

  /* keep same spacing as other sections */
  .lx-proj-mobile-block .lx-proj-card{
    margin-top:16px;
  }

}
/* Project cover image */
.lx-proj-cover{
  width:100%;
  aspect-ratio:16/9;     /* نفس نسبة المواقع العقارية */
  object-fit:cover;      /* يملأ الإطار بدون تشويه */
  border-radius:18px;
  border:1px solid rgba(0,0,0,.12);
  display:block;
}

/* Mobile */
@media (max-width:980px){
  .lx-proj-cover{
    aspect-ratio:16/10;
  }
}

@media (max-width:640px){
  .lx-proj-cover{
    aspect-ratio:4/3;
    border-radius:12px;
  }
}
/* Home - New Projects: fix spacing under header (scoped, safe) */
.lx-home-projects .lx-section-head{
  margin-bottom: 12px;   /* المسافة اللي كانت ناقصة */
}

.lx-home-projects .lx-section-head p{
  margin-top: 6px;       /* لأنك عامل p margin:0 globally */
}

.lx-home-projects .lx-projects-grid{
  margin-top: 16px;      /* نفس إحساس باقي الأقسام */
}

.lx-proj-related-list{
  display:flex;
  flex-direction:column;
  gap:14px;
}

.lx-related-projects-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:16px;
}

.lx-related-project-card{
  display:block;
  text-decoration:none;
  color:inherit;
  border:1px solid rgba(0,0,0,.08);
  border-radius:16px;
  overflow:hidden;
  background:#fff;
}

.lx-related-project-media img{
  width:100%;
  height:220px;
  object-fit:cover;
  display:block;
}

.lx-related-project-body{
  padding:14px 16px 16px;
}

.lx-related-project-body h3{
  margin:0 0 8px;
  font-size:17px;
  line-height:1.35;
}

.lx-related-project-meta{
  font-size:13px;
  color:rgba(0,0,0,.62);
  margin-bottom:6px;
}

.lx-related-project-price{
  font-size:14px;
  font-weight:800;
  color:#111;
}

@media(max-width:768px){
  .lx-related-projects-grid{
    grid-template-columns:1fr;
  }
}

.lx-updates-page{
  padding-top: 8px;
  padding-bottom: 28px;
}

.lx-updates-head{
  margin-bottom: 20px;
}

.lx-updates-title{
  margin: 0 0 8px;
  font-size: 34px;
  line-height: 1.1;
  color: #111;
  letter-spacing: -.02em;
}

.lx-updates-sub{
  margin: 0;
  font-size: 14px;
  line-height: 1.7;
  color: rgba(0,0,0,.62);
}

.lx-updates-grid{
  display: grid;
  grid-template-columns: repeat(3, minmax(0,1fr));
  gap: 18px;
}

.lx-update-card{
  background: #fff;
  border: 1px solid rgba(0,0,0,.08);
  border-radius: 18px;
  overflow: hidden;
  box-shadow: 0 10px 26px rgba(0,0,0,.04);
}

.lx-update-card-link{
  display: block;
  text-decoration: none;
  color: inherit;
}

.lx-update-media img{
  width: 100%;
  height: 230px;
  object-fit: cover;
  display: block;
}

.lx-update-body{
  padding: 16px;
}

.lx-update-date{
  font-size: 12px;
  color: rgba(0,0,0,.5);
  margin-bottom: 8px;
}

.lx-update-title{
  margin: 0 0 10px;
  font-size: 20px;
  line-height: 1.35;
  color: #111;
}

.lx-update-excerpt{
  font-size: 14px;
  line-height: 1.7;
  color: rgba(0,0,0,.72);
  margin-bottom: 14px;
}

.lx-update-readmore{
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-size: 13px;
  font-weight: 800;
  color: #111;
}

.lx-update-readmore::after{
  content: "→";
}

.lx-updates-empty{
  background: #fff;
  border: 1px solid rgba(0,0,0,.08);
  border-radius: 16px;
  padding: 20px;
}

@media (max-width: 1100px){
  .lx-updates-grid{
    grid-template-columns: repeat(2, minmax(0,1fr));
  }
}

@media (max-width: 768px){
  .lx-updates-title{
    font-size: 26px;
  }

  .lx-updates-grid{
    grid-template-columns: 1fr;
  }

  .lx-update-media img{
    height: 210px;
  }
}

.lx-single-post{
  padding-top: 10px;
  padding-bottom: 30px;
}

.lx-post-article{
  max-width: 100%;
}

.lx-post-hero{
  margin-bottom: 22px;
}

.lx-post-cats{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin-bottom:14px;
}

.lx-post-cat{
  display:inline-flex;
  align-items:center;
  height:32px;
  padding:0 12px;
  border-radius:999px;
  text-decoration:none;
  background:#fff;
  border:1px solid rgba(0,0,0,.08);
  color:#111;
  font-size:12px;
  font-weight:800;
}

.lx-post-title{
  margin:0 0 10px;
  font-size:42px;
  line-height:1.08;
  letter-spacing:-.03em;
  color:#111;
}

.lx-post-meta{
  margin-bottom:12px;
  font-size:13px;
  color:rgba(0,0,0,.58);
}

.lx-post-excerpt{
  max-width:900px;
  font-size:17px;
  line-height:1.8;
  color:rgba(0,0,0,.74);
  margin-bottom:18px;
}

.lx-post-cover-wrap{
  border-radius:20px;
  overflow:hidden;
  border:1px solid rgba(0,0,0,.08);
  background:#fff;
}

.lx-post-cover{
  width:100%;
  max-height:520px;
  object-fit:cover;
  display:block;
}

.lx-post-layout{
  display:grid;
  grid-template-columns:minmax(0,1fr) 320px;
  gap:24px;
  align-items:start;
}

.lx-post-card{
  background:#fff;
  border:1px solid rgba(0,0,0,.08);
  border-radius:20px;
  padding:24px;
}

.lx-post-content{
  color:rgba(0,0,0,.84);
  line-height:1.9;
  font-size:16px;
}

.lx-post-content h2,
.lx-post-content h3,
.lx-post-content h4{
  color:#111;
  margin:24px 0 12px;
  line-height:1.3;
}

.lx-post-content p{
  margin:0 0 16px;
}

.lx-post-content ul,
.lx-post-content ol{
  margin:0 0 18px 20px;
}

.lx-post-content img{
  max-width:100%;
  height:auto;
  border-radius:16px;
}

.lx-post-sticky{
  position:sticky;
  top:110px;
  background:#fff;
  border:1px solid rgba(0,0,0,.08);
  border-radius:18px;
  padding:18px;
}

.lx-post-side-title{
  margin:0 0 14px;
  font-size:18px;
  color:#111;
}

.lx-post-side-list{
  display:flex;
  flex-direction:column;
  gap:12px;
}

.lx-post-side-item{
  display:block;
  text-decoration:none;
  color:inherit;
  padding-bottom:12px;
  border-bottom:1px solid rgba(0,0,0,.06);
}

.lx-post-side-item:last-child{
  border-bottom:0;
  padding-bottom:0;
}

.lx-post-side-item strong{
  display:block;
  font-size:14px;
  line-height:1.5;
  color:#111;
  margin-bottom:4px;
}

.lx-post-side-item span{
  font-size:12px;
  color:rgba(0,0,0,.54);
}

@media (max-width: 980px){
  .lx-post-layout{
    grid-template-columns:1fr;
  }

  .lx-post-sticky{
    position:static;
  }
}

@media (max-width: 768px){
  .lx-post-title{
    font-size:30px;
  }

  .lx-post-excerpt{
    font-size:15px;
  }

  .lx-post-card{
    padding:18px;
    border-radius:16px;
  }

  .lx-post-cover{
    max-height:320px;
  }
}

/* =========================================
   Single Project → Compact related properties
========================================= */

.lx-proj-related-list{
  display:flex;
  flex-direction:column;
  gap:14px;
  margin-top:14px;
}

.lx-proj-prop-card{
  display:grid;
  grid-template-columns:280px 1fr;
  gap:0;
  border:1px solid rgba(0,0,0,.08);
  border-radius:18px;
  overflow:hidden;
  background:#fff;
  box-shadow:0 8px 24px rgba(0,0,0,.04);
}

.lx-proj-prop-media{
  display:block;
  background:#f4f4f4;
}

.lx-proj-prop-media img{
  width:100%;
  height:100%;
  min-height:220px;
  object-fit:cover;
  display:block;
}

.lx-proj-prop-body{
  padding:18px 18px 16px;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  gap:12px;
}

.lx-proj-prop-price{
  font-size:28px;
  font-weight:900;
  line-height:1.1;
  color:#111;
}

.lx-proj-prop-meta{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
}

.lx-proj-prop-meta span{
  display:inline-flex;
  align-items:center;
  min-height:32px;
  padding:0 10px;
  border-radius:999px;
  background:#f7f7f7;
  border:1px solid rgba(0,0,0,.06);
  font-size:13px;
  color:rgba(0,0,0,.78);
  font-weight:600;
}

.lx-proj-prop-title{
  margin:0;
  font-size:24px;
  line-height:1.3;
  font-weight:800;
}

.lx-proj-prop-title a{
  text-decoration:none;
  color:#111;
}

.lx-proj-prop-loc{
  font-size:15px;
  color:rgba(0,0,0,.66);
  line-height:1.6;
}

.lx-proj-prop-actions{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
  margin-top:4px;
}

.lx-proj-prop-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:42px;
  padding:0 16px;
  border-radius:12px;
  background:#111;
  color:#fff;
  text-decoration:none;
  font-weight:700;
  border:1px solid #111;
}

.lx-proj-prop-btn.is-ghost{
  background:#fff;
  color:#111;
  border:1px solid rgba(0,0,0,.12);
}

.lx-proj-prop-btn:hover{
  opacity:.92;
}

.lx-proj-show-all{
  margin-top:16px;
  text-align:center;
}

.lx-proj-show-all a{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:44px;
  padding:0 18px;
  border-radius:12px;
  border:1px solid rgba(0,0,0,.12);
  text-decoration:none;
  font-weight:700;
  color:#111;
  background:#fff;
}

.lx-proj-show-all a:hover{
  background:#111;
  color:#fff;
  border-color:#111;
}

@media (max-width:900px){
  .lx-proj-prop-card{
    grid-template-columns:1fr;
  }

  .lx-proj-prop-media img{
    min-height:220px;
  }

  .lx-proj-prop-price{
    font-size:24px;
  }

  .lx-proj-prop-title{
    font-size:20px;
  }
}

/* Luxven Header Menu Button */

.main-navigation .main-nav ul li.nav-button a{
    background:#ffffff;
    border:1px solid var(--lux-gold);
    color:#000000; /* النص أسود */
    padding:6px 12px;
    font-size:13px;
    font-weight:700;
    line-height:1;
    border-radius:10px;
}

/* Hover */

.main-navigation .main-nav ul li.nav-button a:hover{
    background:var(--lux-gold);
    color:#000;
    border-color:var(--lux-gold);
}

/* Mobile */

@media (max-width:768px){

.main-navigation .main-nav ul li.nav-button a{
    padding:5px 10px;
    font-size:12px;
}

}
@media (max-width:768px){

.main-navigation .main-nav ul li.nav-button{
    text-align:center;
}

.main-navigation .main-nav ul li.nav-button a{
    display:inline-block;
    width:auto;
    padding:8px 18px;
    font-size:14px;
    border-radius:20px;
}

}
.main-navigation .main-nav ul li.nav-button a{
    font-weight:800;
    letter-spacing:.5px;
}

/* =====================================================
   ABOUT PAGE BUTTON FIX
   Put at very end of style.css
===================================================== */

.lx-about a.lx-btn-gold,
.lx-about a.lx-btn-gold:visited,
.lx-about a.lx-btn-gold:hover,
.lx-about a.lx-btn-gold:focus,
.lx-about a.lx-btn-gold:active{
  background: var(--lx-gold, #caa24a) !important;
  color: #000 !important;
  border: 1px solid var(--lx-gold, #caa24a) !important;
  text-decoration: none !important;
}

.lx-about a.lx-btn-gold:hover,
.lx-about a.lx-btn-gold:focus,
.lx-about a.lx-btn-gold:active{
  background: #d4ad57 !important;
  color: #000 !important;
  border-color: #d4ad57 !important;
}

.lx-about a.lx-btn-outline,
.lx-about a.lx-btn-outline:visited,
.lx-about a.lx-btn-outline:hover,
.lx-about a.lx-btn-outline:focus,
.lx-about a.lx-btn-outline:active{
  background: transparent !important;
  color: #fff !important;
  border: 1px solid rgba(255,255,255,.35) !important;
  text-decoration: none !important;
}

.lx-about a.lx-btn-outline:hover,
.lx-about a.lx-btn-outline:focus,
.lx-about a.lx-btn-outline:active{
  background: rgba(202,162,74,.14) !important;
  color: #fff !important;
  border-color: var(--lx-gold, #caa24a) !important;
}

.lx-about a.lx-btn-ghost,
.lx-about a.lx-btn-ghost:visited,
.lx-about a.lx-btn-ghost:hover,
.lx-about a.lx-btn-ghost:focus,
.lx-about a.lx-btn-ghost:active{
  background: #fff !important;
  color: var(--lx-text, rgba(0,0,0,.86)) !important;
  border: 1px solid rgba(0,0,0,.10) !important;
  text-decoration: none !important;
}

.lx-about a.lx-btn-ghost:hover,
.lx-about a.lx-btn-ghost:focus,
.lx-about a.lx-btn-ghost:active{
  background: #fff !important;
  color: var(--lx-gold, #caa24a) !important;
  border-color: var(--lx-gold, #caa24a) !important;
}

.lx-about .lx-about-cta-box h2{
  color:#fff !important;
}