/* =========================================================
   Pagini locații (Sibiu, Casa Nora, București, Casa Robert)
   Limbaj vizual comun v3 – toate selectoarele încep cu .p-loc
   Structură: hero → split cu text roșu (+2 poze) → galerie pe fundal cald / bandă foto
   ========================================================= */

/* Text paragraf lizibil */
.p-loc .loc-text, .p-loc .split-body p { max-width: 62ch; line-height: 1.7; }

/* Split cu panou roșu: titlu + text + (opțional) 2 poze */
.p-loc .loc-red-body { background: linear-gradient(150deg, var(--el-red-dark) 0%, #940707 100%); }
.p-loc .loc-red-body h2 { color: #fff; margin-bottom: 1.25rem; }
.p-loc .loc-red-body p { color: rgba(255, 255, 255, .92); font-size: 1.05rem; }
.p-loc .split-media { min-height: clamp(420px, 48vw, 680px); }
.p-loc .loc-red-gallery { margin-top: clamp(24px, 3vw, 40px); max-width: 560px; }
.p-loc .loc-red-gallery > * { box-shadow: 0 10px 26px rgba(0, 0, 0, .25); }

/* Carousel full-bleed cu înălțime fixă */
.p-loc.loc-carousel .carousel-item { height: clamp(460px, 78vh, 780px); background: #111; }
.p-loc.loc-carousel .carousel-item img { width: 100%; height: 100%; object-fit: cover; display: block; }
.p-loc.loc-carousel .loc-caption {
  left: 0; right: 0; bottom: 0; top: 0; padding: 0 max(24px, calc((100vw - 1296px) / 2 + 12px)) clamp(64px, 8vw, 110px);
  display: flex; flex-direction: column; justify-content: flex-end; text-align: left;
  background: linear-gradient(90deg, rgba(0, 0, 0, .72) 0%, rgba(0, 0, 0, .35) 55%, rgba(0, 0, 0, 0) 100%);
}
.p-loc.loc-carousel .loc-caption h2 { color: #fff; max-width: 560px; margin-bottom: 1rem; }
.p-loc.loc-carousel .loc-caption p { max-width: 520px; margin: 0; line-height: 1.7; color: rgba(255, 255, 255, .92); }
.p-loc.loc-carousel .carousel-control-prev-icon, .p-loc.loc-carousel .carousel-control-next-icon {
  background-color: rgba(0, 0, 0, .45); border-radius: 50%; background-size: 50%; width: 3rem; height: 3rem;
}
.p-loc.loc-carousel .carousel-indicators [data-bs-target] { width: 28px; height: 4px; border-radius: 4px; }

@media (max-width: 991.98px) {
  .p-loc .split-media { min-height: 320px; }
}
@media (max-width: 575.98px) {
  .p-loc .split-media { min-height: 280px; }
  /* săgețile rămân vizibile și pe mobil (mai mici) */
  .p-loc.loc-carousel .loc-caption { background: linear-gradient(0deg, rgba(0, 0, 0, .8) 0%, rgba(0, 0, 0, .3) 70%, rgba(0, 0, 0, 0) 100%); }
}

/* Pozele mici din panoul roșu – mai mari */
.p-loc .loc-red-gallery { max-width: none; gap: 16px; }
.p-loc .loc-red-gallery > * { aspect-ratio: 4 / 3; }
@media (min-width: 992px) { .p-loc .loc-red-body { padding-right: clamp(40px, 5vw, 96px); } }

@media (min-width: 1400px) { .p-loc.loc-carousel .carousel-item { height: calc(100vh - 88px); } }
@media (min-width: 1400px) { .p-loc .split-media { min-height: calc(100vh - 88px); } }
