/* ============================================================
   Luxuria — project / development detail page
   Hand-written, scoped with the px- prefix.
   Used by silversands.html (EN) and ar/silversands.html (AR).
   ============================================================ */

:root {
    --px-accent: #FFCA3A;
    --px-on-accent: #171B2A;
    --px-dark: #171B2A;
    --px-body: #5C727D;
    --px-line: #E7EBEE;
    --px-soft: #F6F8F9;
    --px-radius: 8px;
    --px-shadow: 0 10px 30px rgba(23, 27, 42, .09);
}

.px-section { padding: 90px 0; }
.px-section--soft { background: var(--px-soft); }
.px-section .container { max-width: 1290px; }

.px-sechead { margin-bottom: 46px; }
.px-sechead__eyebrow {
    display: inline-block;
    font-family: var(--ltn__heading-font);
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 1.5px;
    text-transform: uppercase;
    color: var(--px-dark);
    background: var(--px-accent);
    padding: 6px 12px 5px;
    border-radius: 4px;
    margin-bottom: 16px;
}
.px-sechead__title {
    font-family: var(--ltn__heading-font);
    font-size: 38px;
    line-height: 1.22;
    font-weight: 700;
    color: var(--px-dark);
    margin: 0 0 14px;
}
.px-sechead__lede {
    max-width: 780px;
    margin: 0;
    font-size: 16px;
    line-height: 1.8;
    color: var(--px-body);
}

/* ---------- Banner ---------- */
.px-banner { margin-bottom: 0; }
.px-banner img {
    width: 100%;
    height: auto;
    border-radius: var(--px-radius);
    display: block;
}

/* ---------- Key stats ---------- */
.px-stats {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 24px;
    margin-top: 46px;
}
.px-stat {
    background: #fff;
    border: 1px solid var(--px-line);
    border-radius: var(--px-radius);
    padding: 28px 22px;
    text-align: center;
    box-shadow: var(--px-shadow);
}
.px-stat__num {
    font-family: var(--ltn__heading-font);
    font-size: 30px;
    font-weight: 700;
    color: var(--px-dark);
    line-height: 1.1;
    margin: 0 0 8px;
}
.px-stat__label {
    font-size: 13px;
    letter-spacing: .04em;
    text-transform: uppercase;
    color: var(--px-body);
    margin: 0;
}

/* ---------- Fact list ---------- */
.px-facts { list-style: none; padding: 0; margin: 0; }
.px-facts li {
    position: relative;
    padding-left: 26px;
    margin-bottom: 13px;
    font-size: 16px;
    line-height: 1.7;
    color: var(--px-body);
}
.px-facts li::before {
    content: "";
    position: absolute;
    left: 0;
    top: 11px;
    width: 10px;
    height: 2px;
    background: var(--px-accent);
}

/* ---------- Phase cards ---------- */
.px-phase {
    background: #fff;
    border: 1px solid var(--px-line);
    border-radius: var(--px-radius);
    padding: 32px 34px;
    margin-bottom: 26px;
    box-shadow: var(--px-shadow);
}
.px-phase__head {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 18px;
    flex-wrap: wrap;
    margin-bottom: 8px;
}
.px-phase__title {
    font-family: var(--ltn__heading-font);
    font-size: 24px;
    font-weight: 700;
    color: var(--px-dark);
    margin: 0;
}
.px-phase__tag {
    font-family: var(--ltn__heading-font);
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 1.2px;
    text-transform: uppercase;
    color: var(--px-on-accent);
    background: var(--px-accent);
    padding: 5px 11px 4px;
    border-radius: 4px;
    white-space: nowrap;
}
.px-phase__note {
    font-size: 15px;
    line-height: 1.7;
    color: var(--px-body);
    margin: 0 0 18px;
}

/* ---------- Tables ---------- */
.px-tablewrap { overflow-x: auto; }
.px-table {
    width: 100%;
    border-collapse: collapse;
    min-width: 520px;
}
.px-table th,
.px-table td {
    text-align: left;
    padding: 13px 14px;
    border-bottom: 1px solid var(--px-line);
    font-size: 15px;
    color: var(--px-dark);
    vertical-align: top;
}
.px-table thead th {
    font-family: var(--ltn__heading-font);
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 1.2px;
    text-transform: uppercase;
    color: var(--px-body);
    background: var(--px-soft);
    border-bottom: 1px solid var(--px-line);
    white-space: nowrap;
}
.px-table tbody tr:last-child td { border-bottom: 0; }
.px-table .px-price { font-weight: 700; white-space: nowrap; }

.px-terms {
    margin: 16px 0 0;
    padding: 13px 16px;
    background: var(--px-soft);
    border-left: 3px solid var(--px-accent);
    border-radius: 4px;
    font-size: 14px;
    line-height: 1.7;
    color: var(--px-body);
}
.px-terms strong { color: var(--px-dark); }

/* ---------- Facilities ---------- */
.px-faccols {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 28px;
}
.px-faccol {
    background: #fff;
    border: 1px solid var(--px-line);
    border-radius: var(--px-radius);
    padding: 30px 28px;
}
.px-faccol h4 {
    font-family: var(--ltn__heading-font);
    font-size: 17px;
    font-weight: 700;
    color: var(--px-dark);
    margin: 0 0 16px;
    letter-spacing: .02em;
}

/* ---------- Gallery ---------- */
.px-gallery {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 22px;
}
.px-gallery img {
    width: 100%;
    height: 240px;
    object-fit: cover;
    border-radius: var(--px-radius);
    display: block;
}
.px-plan img {
    width: 100%;
    height: auto;
    border-radius: var(--px-radius);
    display: block;
    box-shadow: var(--px-shadow);
}

/* ---------- Enquiry band ---------- */
.px-cta {
    background: var(--px-accent);
    border-radius: var(--px-radius);
    padding: 44px 46px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 30px;
    flex-wrap: wrap;
}
.px-cta h2 {
    font-family: var(--ltn__heading-font);
    font-size: 30px;
    font-weight: 700;
    color: var(--px-on-accent);
    margin: 0 0 8px;
}
.px-cta p { margin: 0; color: var(--px-on-accent); font-size: 16px; }
.px-cta__actions { display: flex; gap: 12px; flex-wrap: wrap; }
.px-btn {
    display: inline-flex;
    align-items: center;
    gap: 9px;
    padding: 15px 30px;
    border-radius: 4px;
    font-family: var(--ltn__heading-font);
    font-size: 14px;
    font-weight: 700;
    letter-spacing: .04em;
    text-transform: uppercase;
    text-decoration: none;
    transition: all .3s ease;
    white-space: nowrap;
}
.px-btn--dark { background: var(--px-dark); color: #fff; }
.px-btn--dark:hover { background: #fff; color: var(--px-dark); }
.px-btn--outline { background: transparent; color: var(--px-on-accent); box-shadow: inset 0 0 0 2px var(--px-on-accent); }
.px-btn--outline:hover { background: var(--px-dark); color: #fff; box-shadow: none; }

/* ---------- Disclaimer ---------- */
.px-disclaimer {
    margin-top: 34px;
    font-size: 13px;
    line-height: 1.75;
    color: var(--px-body);
    border-top: 1px solid var(--px-line);
    padding-top: 18px;
}

/* ============================================================
   RESPONSIVE
   ============================================================ */
@media (max-width: 1199px) {
    .px-stats { grid-template-columns: repeat(2, 1fr); }
    .px-sechead__title { font-size: 32px; }
}
@media (max-width: 991px) {
    .px-section { padding: 70px 0; }
    .px-faccols { grid-template-columns: 1fr; }
    .px-gallery { grid-template-columns: repeat(2, 1fr); }
    .px-cta { padding: 36px 30px; }
}
@media (max-width: 767px) {
    .px-section { padding: 56px 0; }
    .px-stats { grid-template-columns: 1fr; }
    .px-sechead__title { font-size: 27px; }
    .px-phase { padding: 24px 20px; }
    .px-gallery { grid-template-columns: 1fr; }
    .px-gallery img { height: 200px; }
    .px-cta h2 { font-size: 24px; }
}

/* ============================================================
   RTL (Arabic)
   ============================================================ */
html[dir="rtl"] .px-facts li,
body.px-rtl .px-facts li { padding-left: 0; padding-right: 26px; }
html[dir="rtl"] .px-facts li::before,
body.px-rtl .px-facts li::before { left: auto; right: 0; }
html[dir="rtl"] .px-table th,
html[dir="rtl"] .px-table td,
body.px-rtl .px-table th,
body.px-rtl .px-table td { text-align: right; }
html[dir="rtl"] .px-terms,
body.px-rtl .px-terms { border-left: 0; border-right: 3px solid var(--px-accent); }
