/* --------------------------------------------------
   Reset & variables
-------------------------------------------------- */
*,
*::before,
*::after { box-sizing: border-box; }

:root {
    --gap: 1.25rem;                 /* 20 px */
    --clr-primary: #311754;
    --clr-primary-hover: #754ef9;
}

/* --------------------------------------------------
   Encabezado interno
-------------------------------------------------- */
.anuncios-header {
    background: var(--clr-primary);
    color: #fff;
    text-align: center;
    padding: 0.9rem 1rem;
    margin-bottom: 1.75rem;
}
.anuncios-header h1 { margin: 0; font-size: clamp(1.6rem, 2vw, 2.2rem); }
.anuncios-header p  { margin: 0; font-size: clamp(1.05rem, 1.3vw, 1.25rem); }

/* --------------------------------------------------
   Contenedor FLEX 100 %
-------------------------------------------------- */
.container {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;   /* centra filas incompletas */
    align-items: stretch;      /* iguala alturas en cada fila */
    gap: var(--gap);
    padding: 0 var(--gap) 2rem;
    width: 100%;
}

/* Ancho por columnas (6-5-4-3-2-1) */
.card          { flex: 1 1 calc((100% - var(--gap)*5)/6); max-width: calc((100% - var(--gap)*5)/6); }
@media (max-width:1400px){ .card{flex:1 1 calc((100% - var(--gap)*4)/5); max-width:calc((100% - var(--gap)*4)/5);} }
@media (max-width:1200px){ .card{flex:1 1 calc((100% - var(--gap)*3)/4); max-width:calc((100% - var(--gap)*3)/4);} }
@media (max-width:992px) { .card{flex: 1 1 calc((100% - var(--gap)*2)/3); max-width:calc((100% - var(--gap)*2)/3);} }
@media (max-width:768px) { .card{flex: 1 1 calc((100% - var(--gap)*1)/2); max-width:calc((100% - var(--gap)*1)/2);} }
@media (max-width:576px) { .card{flex: 1 1 100%; max-width:100%;} }

/* --------------------------------------------------
   Tarjeta
-------------------------------------------------- */
.card {
    display: flex;
    flex-direction: column;
    background: #fff;
    border-radius: 0.5rem;
    box-shadow: 0 0.125rem 0.25rem rgba(0,0,0,.1);
    overflow: hidden;
    transition: transform .22s;
}
.card:hover { transform: translateY(-3px) scale(1.02); }

/* Imagen 16 : 9 */
.card img {
    width: 100%;
    aspect-ratio: 16 / 9;
    object-fit: cover;
}

/* --------------------------------------------------
   Contenido
-------------------------------------------------- */
.card-content {
    flex: 1 1 auto;
    display: flex;
    flex-direction: column;
    padding: 1rem;
}

.card-title  {
    font-size: clamp(1.3rem, 1.55vw, 1.6rem);
    font-weight: 700;
    margin: 0;
    color: #222;
}
.card-text   {
    font-size: clamp(1.05rem, 1.25vw, 1.2rem);
    color: #444;
    margin-top: 0.6rem;
    line-height: 1.45;
}

/* --------------------------------------------------
   Botón “Ir” – con márgenes alrededor
-------------------------------------------------- */
.card-button {
    margin: 1rem;
    width: calc(100% - 2rem);
    padding: 0.6rem 1rem; /* menos alto */
    font-size: clamp(1.3rem, 1.2vw, 1.4rem); /* más pequeño */
    text-align: center;
    background: var(--clr-primary);
    color: #fff;
    border: none;
    border-radius: 0.4rem;
    text-decoration: none;
    display: block;
    transition: background-color .22s;
}
.card-button:hover { background: var(--clr-primary-hover); }

/* --------------------------------------------------
   Mobile padding tweak
-------------------------------------------------- */
@media (max-width:576px){
    .container  { padding: 0 0.75rem 2rem; }
}
