/* Catálogo público sin precios y aterrizajes por edición (12-sep-2026).
   Colores de la casa: crema #FAF3E7, marino #1A1A2E, cabeceras #0E1B4D, rojo #DC143C, azul #4770DB. */

.migas {
    font-family: 'Inter', sans-serif;
    font-size: 0.8rem;
    color: rgba(26, 26, 46, 0.6);
    display: flex;
    flex-wrap: wrap;
    gap: 0.35rem 0.5rem;
    align-items: center;
    margin-bottom: 1.5rem;
}
.migas a { color: #4770DB; text-decoration: none; }
.migas a:hover, .migas a:focus-visible { text-decoration: underline; }
.migas span[aria-current] { color: #1A1A2E; font-weight: 600; }

.cat-ancla {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 0.6rem;
    margin: 1.5rem 0 2.5rem;
}
.cat-ancla a {
    font-family: 'Inter', sans-serif;
    font-size: 0.85rem;
    font-weight: 600;
    color: #1A1A2E;
    text-decoration: none;
    padding: 8px 16px;
    border: 1px solid rgba(26, 26, 46, 0.15);
    border-radius: 999px;
    background: #fff;
}
.cat-ancla a:hover, .cat-ancla a:focus-visible { border-color: #DC143C; color: #DC143C; }

.cat-seccion { padding: 2.5rem 0 1rem; }
.cat-seccion-cab {
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    justify-content: space-between;
    gap: 0.5rem 1.5rem;
    margin-bottom: 1.25rem;
}
.cat-seccion-cab h2 { margin: 0; font-size: 1.6rem; }
.cat-seccion-cab a { font-family: 'Inter', sans-serif; font-size: 0.85rem; font-weight: 600; color: #4770DB; text-decoration: none; }
.cat-seccion-cab a:hover, .cat-seccion-cab a:focus-visible { text-decoration: underline; }

.cat-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(180px, 1fr));
    gap: 18px;
}
.cat-card {
    display: grid;
    grid-template-rows: auto 1fr auto;
    gap: 8px;
    background: #fff;
    border: 1px solid rgba(26, 26, 46, 0.09);
    border-radius: 12px;
    padding: 12px;
    text-decoration: none;
    color: #1A1A2E;
    transition: transform 0.2s ease, box-shadow 0.2s ease;
    min-width: 0;
}
.cat-card:hover, .cat-card:focus-visible {
    transform: translateY(-3px);
    box-shadow: 0 8px 24px rgba(26, 26, 46, 0.1);
    outline: none;
}
.cat-card:focus-visible { box-shadow: 0 0 0 3px rgba(71, 112, 219, 0.45); }
.cat-card img {
    width: 100%;
    max-width: 100%;
    aspect-ratio: 1;
    object-fit: contain;
    background: #fff;
    border-radius: 8px;
}
.cat-card h3 {
    font-family: 'Inter', sans-serif;
    font-weight: 600;
    font-size: 0.95rem;
    line-height: 1.3;
    margin: 0;
    overflow-wrap: anywhere;
}
.cat-card .cat-meta {
    font-family: 'Inter', sans-serif;
    font-size: 0.78rem;
    color: #4B4F63;
}

.cat-nota {
    font-family: 'Inter', sans-serif;
    font-size: 0.9rem;
    color: rgba(26, 26, 46, 0.7);
    text-align: center;
    margin: 1.5rem auto 0;
    max-width: 640px;
}

/* Ficha de producto */
.ficha {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    gap: 3rem;
    align-items: start;
}
.ficha-imagen img {
    width: 100%;
    max-width: 520px;
    height: auto;
    border-radius: 12px;
    border: 1px solid rgba(26, 26, 46, 0.09);
    background: #fff;
    display: block;
}
.ficha h1 { margin-bottom: 0.5rem; }
.ficha-contexto {
    font-family: 'Inter', sans-serif;
    font-size: 0.95rem;
    color: rgba(26, 26, 46, 0.65);
    margin: 0 0 1.5rem;
}
.ficha dl {
    display: grid;
    grid-template-columns: max-content minmax(0, 1fr);
    gap: 10px 18px;
    margin: 0 0 1.5rem;
    font-size: 0.95rem;
}
.ficha dt {
    font-family: 'Inter', sans-serif;
    font-weight: 600;
    font-size: 0.78rem;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    color: #4B4F63;
    padding-top: 2px;
}
.ficha dd { margin: 0; overflow-wrap: anywhere; }
.ficha-texto { line-height: 1.7; margin-bottom: 1.5rem; }
.ficha-texto a { color: #4770DB; }
.ficha-cta {
    background: #FAF3E7;
    border: 1px solid rgba(26, 26, 46, 0.09);
    border-radius: 12px;
    padding: 20px;
    display: grid;
    gap: 12px;
}
.ficha-cta p {
    font-family: 'Inter', sans-serif;
    font-weight: 600;
    margin: 0;
    color: #1A1A2E;
}
.ficha-cta-botones { display: flex; flex-wrap: wrap; gap: 0.6rem; }
.ficha-cta-botones .btn { padding: 12px 22px; font-size: 0.8rem; }

@media (max-width: 760px) {
    .ficha { grid-template-columns: 1fr; gap: 1.75rem; }
    .ficha dl { grid-template-columns: 1fr; gap: 4px; }
    .ficha dt { margin-top: 8px; }
    .cat-grid { grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); gap: 12px; }
}

/* Migas en lista y relacionados de la ficha */
.catalogo-main { padding-top: 120px; }
.migas ol { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 0.35rem 0.5rem; }
.migas li + li::before { content: "/"; margin-right: 0.5rem; color: rgba(26, 26, 46, 0.35); }
.ficha-relacionados { margin-top: 3.5rem; }
.ficha-relacionados h2 { font-size: 1.4rem; margin: 0 0 1.25rem; }
.ficha-relacionados-enlaces { display: flex; flex-wrap: wrap; gap: 1.5rem; margin: 1.25rem 0 0; font-family: 'Inter', sans-serif; font-size: 0.9rem; }
.ficha-relacionados-enlaces a { color: #4770DB; text-decoration: none; }
.ficha-relacionados-enlaces a:hover, .ficha-relacionados-enlaces a:focus-visible { text-decoration: underline; }
