/* ============================================
   Feeling Studio — Uniformidad de imágenes
   Se carga después de main.css
   ============================================ */

/* ---- PORTFOLIO GRID (portfolio.html) ----
   Todas las tarjetas con la misma proporción 4:5 (vertical, como el
   template original 515x650). La foto se recorta centrada sin deformar. */
.tp-project-5-2-thumb {
  overflow: hidden;
}

.tp-project-5-2-thumb img {
  width: 100%;
  aspect-ratio: 4 / 5;
  object-fit: cover;
  object-position: center;
}

/* ---- INDEX: proyectos destacados ----
   Las imágenes llenan su contenedor fijo (height-1..6) sin deformarse. */
.tp-project-img {
  overflow: hidden;
}

.tp-project-img img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover;
  object-position: center;
}

/* ---- HERO PORTFOLIO (fondo) ---- */
.tm-hero-area[data-background] {
  background-size: cover;
  background-position: center;
}

/* ---- DETALLE DE PROYECTO (portfolio-details-1.html) ---- */
.project-details-1-thumb {
  overflow: hidden;
}

.project-details-1-thumb img {
  width: 100%;
  height: auto;
  display: block;
  transition: transform .6s ease;
}

.project-details-1-thumb:hover img {
  transform: scale(1.03);
}

/* ---- HERO INDEX: imagen del título (recorte tipo polaroid) ---- */
.tp-hero-title-img img {
  width: 170px !important;
  height: 200px !important;
  object-fit: cover;
  object-position: center;
  border-radius: 14px;
  margin: 0 10px;
  display: inline-block;
  vertical-align: middle;
}

/* ============================================
   DETALLE DE PROYECTO — Layout hero
   Texto IZQUIERDA / Fotos DERECHA (solo derecha)
   ============================================ */

/* Panel de texto: sin altura fija ni scroll interno.
   El texto completo queda visible arriba a la izquierda. */
.project-details-1-right {
  height: auto !important;
  overflow: visible !important;
  padding: 60px 70px 60px 60px;
  overscroll-behavior: unset;
  scrollbar-width: auto;
}

@media (max-width: 1199.98px) {
  .project-details-1-right {
    padding: 50px 25px 40px;
  }
}

/* Columna de fotos: collage 1 grande + 2 apiladas, SOLO al lado derecho.
   Llena toda la altura de la columna sin deformar (object-fit: cover). */
.project-details-1-left {
  height: 100%;
  display: flex;
  align-items: stretch;
}

.project-details-1-left .row.g-2 {
  display: flex !important;
  flex-wrap: nowrap;
  gap: 12px;
  width: 100%;
  margin: 0;
  height: 100%;
}

.project-details-1-left .collage-big,
.project-details-1-left .collage-stack {
  flex: 1 1 0 !important;
  width: auto !important;
  max-width: none;
  padding: 0;
  min-width: 0;
  display: flex;
}

.project-details-1-left .collage-big {
  height: 100%;
}

.project-details-1-left .collage-stack {
  flex-direction: column;
  gap: 12px;
}

.project-details-1-left .project-details-1-thumb {
  margin-bottom: 0 !important;
  flex: 1;
  min-height: 0;
  overflow: hidden;
  border-radius: 14px;
}

.project-details-1-left .collage-stack .project-details-1-thumb {
  aspect-ratio: auto;
}

.project-details-1-left .project-details-1-thumb img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover;
  object-position: center;
  transition: transform .6s ease;
}

.project-details-1-left .project-details-1-thumb:hover img {
  transform: scale(1.03);
}

@media (max-width: 1199.98px) {
  .project-details-1-left {
    height: auto;
    margin-top: 30px;
  }
  .project-details-1-left .row.g-2 {
    flex-wrap: wrap;
    height: auto;
  }
  .project-details-1-left .collage-big,
  .project-details-1-left .collage-stack {
    flex: 1 1 100% !important;
    height: auto;
  }
  .project-details-1-left .project-details-1-thumb {
    aspect-ratio: 3 / 4;
  }
}

/* ============================================
   DETALLE DE PROYECTO — Secciones de texto
   (La Boda / El Día)
   ============================================ */
.showcase-details-2-area {
  padding-top: 100px;
  padding-bottom: 80px;
}

.showcase-details-2-section-box {
  margin-bottom: 40px;
}

.showcase-details-2-section-title {
  font-size: 72px;
  font-weight: 600;
  line-height: 1.05;
  letter-spacing: -2px;
  color: var(--tp-common-white);
  margin-bottom: 40px;
}

.showcase-details-2-section-left {
  margin-bottom: 20px;
}

.showcase-details-2-section-left .ab-inner-subtitle {
  font-size: 18px;
  font-weight: 500;
  color: #00c2cb;
  display: inline-flex;
  align-items: center;
  gap: 6px;
}

.showcase-details-2-content-right p {
  color: rgba(245, 247, 245, 0.75);
  font-size: 22px;
  font-weight: 400;
  line-height: 34px;
  max-width: 720px;
  margin-bottom: 24px;
}

.showcase-details-2-content-right p.pb-25 {
  padding-bottom: 0;
}

@media (max-width: 767px) {
  .showcase-details-2-section-title {
    font-size: 42px;
  }
  .showcase-details-2-content-right p {
    font-size: 18px;
    line-height: 28px;
  }
}
