.fs-portada { border-radius: 14px; overflow: hidden; background: #2b9a9c; margin-bottom: 28px; }
.fs-portada img { width: 100%; max-height: 520px; object-fit: cover; }
.fs-bienvenida summary { cursor: pointer; display: flex; flex-wrap: wrap; gap: 4px 14px; align-items: baseline; list-style: none; }
.fs-bienvenida summary::-webkit-details-marker { display: none; }
.fs-mensaje { display: grid; grid-template-columns: 96px minmax(0, 1fr); gap: 18px; margin-top: 16px; }
.fs-mensaje img { width: 96px; height: 96px; border-radius: 50%; object-fit: cover; }
.fs-mensaje .lectura { max-width: none; font-size: 16px; }
.fs-lugares { margin-top: 10px; }
.fs-dia { margin-bottom: 32px; scroll-margin-top: 90px; }
.fs-dia > h2 { font-size: 21px; font-weight: 700; margin-bottom: 12px; display: flex; flex-wrap: wrap; gap: 8px 12px; align-items: center; }
.fs-dia > h2 .etiqueta-suave { text-transform: none; }
.fs-evento { display: grid; grid-template-columns: 52px 40px minmax(0, 1fr); gap: 12px; align-items: center; padding: 12px 16px; }
.fs-evento + .fs-evento { border-top: 1px solid var(--linea); }
.fs-hora { font-weight: 700; font-size: 16px; color: var(--acento-texto); }
.fs-logo { width: 40px; height: 40px; border-radius: 10px; background: #fff; display: grid; place-items: center; overflow: hidden; }
.fs-logo img { width: 100%; height: 100%; object-fit: contain; }
.fs-texto { display: grid; min-width: 0; }
.fs-nombre { font-size: 16.5px; font-weight: 600; line-height: 1.3; overflow-wrap: anywhere; }
.fs-lugar { color: var(--tinta-tenue); font-size: 14.5px; }
.fs-lugar.estelar { color: var(--acento-texto); }
.fs-evento.pasado { opacity: .5; }
@media (max-width: 520px) { .fs-evento { grid-template-columns: 46px minmax(0, 1fr); } .fs-logo { display: none; } .fs-mensaje { grid-template-columns: 1fr; } }
