/*
/project-root
│
├── public/
│   ├── css/
│   │   ├── base.css        # Reset, tipografía, colores globales
│   │   ├── layout.css      # Grid, contenedores, estructura
│   │   ├── components.css  # Botones, formularios, tarjetas
│   │   ├── utilities.css   # Clases rápidas (.text-center, .mt-2, etc.)
│   │   └── main.css        # Importa y combina todo
│   └── index.php


- Base (base.css)
- Reset CSS (normalize o custom).
- Tipografía global (body { font-family: ... }).
- Paleta de colores en variables CSS.
- Layout (layout.css)
- Contenedores (.container, .row, .col).
- Header, footer, sidebar.
- Components (components.css)
- Botones (.btn, .btn-primary).
- Formularios (.form-control, .form-label).
- Tarjetas (.form-card).
- Utilities (utilities.css)
- Clases rápidas: .mt-2, .text-danger, .w-100.
- Helpers para márgenes, paddings, alineaciones.


*/
/* main.css */

@import url('base.css');
@import url('layout.css');
@import url('components.css');
@import url('utilities.css');


/* ===== Collage general ===== */
.collage-group {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  grid-auto-rows: 150px;
}

.item {
  position: relative;
}

.item img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

/* Bloque grande ocupa dos filas */
.item.tall {
  grid-row: span 2;
}

/* Patrón: bloque grande a la derecha */
.collage-group.right .item:nth-child(1) { grid-column: 1; grid-row: 1; }
.collage-group.right .item:nth-child(2) { grid-column: 2; grid-row: 1; }
.collage-group.right .item.tall         { grid-column: 3; grid-row: 1 / span 2; }
.collage-group.right .item:nth-child(4) { grid-column: 1; grid-row: 2; }
.collage-group.right .item:nth-child(5) { grid-column: 2; grid-row: 2; }

/* Patrón: bloque grande a la izquierda */
.collage-group.left .item:nth-child(1)  { grid-column: 1; grid-row: 1 / span 2; }
.collage-group.left .item:nth-child(2)  { grid-column: 2; grid-row: 1; }
.collage-group.left .item:nth-child(3)  { grid-column: 3; grid-row: 1; }
.collage-group.left .item:nth-child(4)  { grid-column: 2; grid-row: 2; }
.collage-group.left .item:nth-child(5)  { grid-column: 3; grid-row: 2; }

/* Icono de múltiples imágenes */
.item.has-multiple::after {
  content: "📷"; /* puedes cambiar por Font Awesome */
  position: absolute;
  top: 6px;
  right: 6px;
  font-size: 14px;
  background: rgba(0,0,0,0.6);
  color: #fff;
  border-radius: 4px;
  padding: 2px 4px;
}

/* Overlay con título */
.item .overlay {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  background: rgba(0,0,0,0.5);
  color: #fff;
  font-size: 14px;
  padding: 4px 6px;
  opacity: 0;
  transition: opacity 0.3s;
}

.item:hover .overlay {
  opacity: 1;
}

/* ===== Modal detalle ===== */
#detail-modal {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0,0,0,0.8);
  display: none;
  justify-content: center;
  align-items: center;
  z-index: 9999;
}

#detail-content {
  background: black;
  width: 100%;
  height: 100%;
  overflow-y: auto;
  padding: 5px;
}

/* ===== Post dentro del modal ===== */
#detail-content .post-images {
  display: flex;
  gap: 10px;
  overflow-x: auto;
  margin-bottom: 15px;
}

#detail-content .post-images img {
  width: 100%;
  max-width: 180px;
  border-radius: 8px;
  object-fit: cover;
}

#detail-content .like-icon {
  font-size: 24px;
  cursor: pointer;
  color: #e74c3c;
  user-select: none;
}

#detail-content .post-description {
  margin-top: 10px;
}

.detail-header {
  display: flex;
  align-items: center;
  padding: 10px;
}

.close-modal {
  font-size: 24px;
  cursor: pointer;
}

.detail-gallery {
  width: 100%;
  max-width: 600px;
  height: 420px;
}
.swiper-slide {
  display: flex;
  justify-content: center; /* centra horizontalmente */
  align-items: center;     /* centra verticalmente */
}


.detail-gallery .swiper-slide img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.post-actions {

  margin: 10px 0;
}



.swiper-pagination {
  bottom: 10px !important;
}
.like-icon {
  font-size: 28px;
  cursor: pointer;
  user-select: none;
}
.like-icon.fa-solid {
  animation: heartbeat 0.3s ease;
}

.search-icon {
  margin-right: 6px;    
  margin-left:10px;
  
  font-size: 24px;
  cursor: pointer;
  user-select: none;
}
.search-icon.fa-solid {
  animation: heartbeat 0.3s ease;
}

.like-count{
    font-size: 18px;
    line-height: 24px;
    vertical-align: text-bottom;
    color: #666;
    transition: transform 0.3s ease, color 0.3s ease;    
}
.search-icon.fa-solid.fa-star {
  color: gold !important; /* amarillo dorado */
}


.search-count {
    font-size: 18px;
    line-height: 24px;
    vertical-align: text-bottom;
    color: #666;
    transition: transform 0.3s ease, color 0.3s ease;    
}


.like-count.bump {
  transform: scale(1.4);
  color: #e74c3c; /* rojo al animar */
}
@keyframes heartbeat {
  0%   { transform: scale(1); }
  25%  { transform: scale(1.3); }
  50%  { transform: scale(1); }
  75%  { transform: scale(1.2); }
  100% { transform: scale(1); }
}


.user-info {
  display: flex;
  align-items: center; /* alinea verticalmente */
  gap: 8px;            /* espacio entre imagen y texto */
  cursor: pointer;     /* indica que se puede pulsar */
}

.user-pic {
  width: 30px;
  height: 30px;
  object-fit: cover;
  border-radius: 50%;
}

.user-name {
  font-weight: 500;
}

.competition-info {
  display: flex;
  align-items: center;   /* alinea verticalmente */
  gap: 8px;              /* espacio entre logo y texto */
  margin: 0;             /* elimina margen extra del <p> */
}

.competition-logo {
  max-height: 36px;      /* altura máxima */
  width: auto;           /* mantiene proporción */
}

.competition-name {
  font-size: 18px;
  line-height: 1;        /* evita desajustes verticales */
}


.club-stories {
  display: flex;
  overflow-x: auto;
  padding: 10px 0;
}

.club-story {
  flex: 0 0 auto;
}

.story-circle {
  width: 70px;
  height: 70px;
  border-radius: 50%;
  border: 3px solid #ddd;   /* borde por defecto */
  display: flex;
  align-items: center;
  justify-content: center;
  background: #fff;
  transition: border-color 0.3s ease;
}

.story-circle.selected {
  border-color: #28a745;    /* verde Bootstrap */
}

.club-logo {
  width: 80%;
  height: 80%;
  object-fit: contain;
 
}

#season-filters { display: flex; flex-wrap: wrap; gap: 8px; }

.season-card {
  padding: 10px 14px;
  border: 2px solid #ddd;
  border-radius: 8px;
  background: #f9f9f9;
  cursor: pointer;
  font-weight: 600;
  transition: all 0.25s ease;
  color:black;
}

.season-card:hover { background: #e9ecef; }
.season-card.active { border-color: #28a745; background: #d4edda; color: #155724; }