/* ==========================================================================
   Profi Imobiliare — CSS specific paginilor de proiecte rezidentiale
   (lista-proiecte.asp, detalii-ansamblu.asp). Refoloseste .proj-card din
   index (tema 07) si blocurile pd-* din property-detail.
   ========================================================================== */

/* ---------- Lista ansambluri ---------- */
.projects-list__head { align-items: flex-end; gap: 20px; }
.projects-filter { display: flex; flex-wrap: wrap; gap: 10px; }
.projects-list__count { margin: 0 0 22px; font-size: 14px; color: var(--color-text-soft); }
.projects-list__count strong { color: var(--color-ink); font-size: 16px; }
.projects-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(380px, 1fr));
    gap: 26px;
}
.projects-grid .proj-card { aspect-ratio: 16 / 10; }
.projects-grid .proj-card__body { width: 56%; }
.projects-grid .proj-card__desc i { color: var(--color-gold); margin-right: 4px; }
@media (max-width: 860px) {
    .projects-list__head { flex-direction: column; align-items: flex-start; }
    .projects-grid { grid-template-columns: 1fr; }
    .projects-grid .proj-card { aspect-ratio: 16 / 11; }
    .projects-grid .proj-card__body { width: 65%; }
}
@media (max-width: 480px) {
    .projects-grid .proj-card { aspect-ratio: 4 / 3.4; }
    .projects-grid .proj-card__body { width: 80%; padding: 18px; }
    .projects-grid .proj-card__name { font-size: 19px; }
}
.projects-seo .two-col { align-items: center; }

/* ---------- Detaliu ansamblu ---------- */
.page-banner + .pd-hero { padding-top: 40px; }
/* galerie: o singura imagine (fara poze reale) */
.pd-gallery-static { position: relative; overflow: hidden; aspect-ratio: 4 / 3; background: var(--color-bg-alt); }
.pd-gallery-static img { width: 100%; height: 100%; object-fit: cover; display: block; }
.pd-hero__pills li span { white-space: nowrap; }
/* butoanele din topbar sunt linkuri (share) sau butoane (print) */
a.pd-hero__action { text-decoration: none; }
/* panoul: motto + stadiu */
.pd-hero__panel-motto { margin: 0 0 14px; font-size: 14px; line-height: 1.55; font-style: italic; color: rgba(var(--rgb-white), 0.78); }
/* descriere: textul vine ca text simplu cu <br />, nu paragrafe */
.pd-desc__content--plain { font-family: var(--font-body); font-size: 15.5px; line-height: 1.75; color: var(--color-text, var(--color-ink)); }
/* tabel tipuri de locuinte (tbl_ansamblu_tipuri) */
.pd-types-wrap { overflow-x: auto; }
.pd-types-table { width: 100%; border-collapse: collapse; font-size: 14px; }
.pd-types-table th, .pd-types-table td { padding: 10px 12px; border-bottom: 1px solid var(--color-line); text-align: left; white-space: nowrap; }
.pd-types-table th { font-family: var(--font-body); font-size: 11px; font-weight: 700; text-transform: uppercase; letter-spacing: 0.08em; color: var(--color-text-soft); }
.pd-types-table td strong { color: var(--color-gold); }
/* formular contact (pd-lead): campul captcha + alerte */
.pd-lead__field--captcha { display: flex; flex-direction: column; gap: 6px; }
.pd-lead .captcha-row input { max-width: 160px; }
.pd-lead .alert { margin-bottom: 14px; }
.pd-lead__anchor { display: block; position: relative; top: -110px; visibility: hidden; height: 0; }
/* agent: telefon + email sub nume */
.pd-agent__contacts { display: flex; flex-direction: column; gap: 4px; margin: 12px 0 0; font-size: 13px; color: var(--color-text-soft); }
.pd-agent__contacts a { color: inherit; text-decoration: none; }
.pd-agent__contacts a:hover { color: var(--color-sapphire); }
.pd-agent__contacts i { width: 16px; color: var(--color-gold); }
/* card contact agentie */
.pd-office {
    padding: 24px;
    background: var(--color-sapphire);
    color: var(--color-white);
}
.pd-office__eyebrow { display: block; font-family: var(--font-body); font-size: 11px; font-weight: 700; letter-spacing: 0.16em; text-transform: uppercase; color: var(--color-gold); margin-bottom: 8px; }
.pd-office__title { margin: 0 0 8px; font-family: var(--font-head); font-size: 19px; font-weight: 700; color: var(--color-white); }
.pd-office__text { margin: 0 0 16px; font-size: 13px; line-height: 1.6; color: rgba(var(--rgb-white), 0.78); }
.pd-office__phone { display: inline-flex; align-items: center; gap: 10px; font-family: var(--font-head); font-size: 20px; font-weight: 700; color: var(--color-white); text-decoration: none; }
.pd-office__phone:hover { color: var(--color-gold); }
.pd-office__wa { display: inline-flex; align-items: center; gap: 8px; margin-top: 10px; font-size: 13px; font-weight: 600; color: var(--color-gold); text-decoration: none; }
.pd-office__wa:hover { color: var(--color-white); }
@media (max-width: 960px) {
    .pd-hero__grid { grid-template-columns: 1fr; }
    .pd-body__grid { grid-template-columns: 1fr; }
    .pd-body__sidebar { position: static; }
}
