/* Estilos limitados a la guía de lugares de una comarca. */
.comarca-lugares {
    --comarca-verde: #08764d;
    --comarca-texto: #18382d;
    --comarca-secundario: #51645b;
}

.comarca-lugares .texto-presentacion p {
    line-height: 1.7;
}

.comarca-explorar {
    margin: 1.75rem 0 2.5rem;
    padding: 1.25rem;
    background: #f0f7f2;
    border: 1px solid #d9e8dd;
    border-radius: 16px;
}

.comarca-explorar p {
    margin: 0 0 .85rem;
    color: var(--comarca-texto);
    font-weight: 700;
}

.comarca-explorar ul {
    display: flex;
    flex-wrap: wrap;
    gap: .75rem;
    list-style: none;
    margin: 0;
    padding: 0;
}

.comarca-explorar a {
    display: flex;
    align-items: center;
    gap: .75rem;
    min-height: 44px;
    box-sizing: border-box;
    padding: .65rem 1rem;
    border: 1px solid #b2cdbd;
    border-radius: 10px;
    background: #fff;
    color: var(--comarca-verde);
    text-decoration: none;
    font-weight: 600;
}

.comarca-explorar a span {
    padding: .15rem .5rem;
    border-radius: 6px;
    background: #e7f2ea;
    font-size: .85rem;
}

.comarca-explorar a:hover {
    border-color: var(--comarca-verde);
    background: #f9fcfa;
}

.comarca-seccion {
    margin: 0 0 3.5rem;
    scroll-margin-top: 2rem;
}

.comarca-seccion + .comarca-seccion {
    border-top: 1px solid #dfe8e2;
    padding-top: 2.5rem;
}

.comarca-seccion__cabecera {
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    gap: .65rem 1rem;
}

.comarca-seccion__cabecera h2 {
    margin: 0;
    color: var(--comarca-texto);
    font-size: clamp(1.4rem, 2.5vw, 1.9rem);
    line-height: 1.25;
}

.comarca-seccion__total {
    color: var(--comarca-secundario);
    font-size: .9rem;
}

.comarca-seccion__descripcion {
    margin: .8rem 0 1.5rem;
    color: var(--comarca-secundario);
    line-height: 1.6;
}

.comarca-lugares-grid {
    list-style: none;
    margin: 0;
    padding: 0;
}

.comarca-lugares-grid > li {
    min-width: 0;
}

.comarca-lugar-card {
    display: block;
    color: #fff;
    text-decoration: none;
}

.comarca-lugar-card__sin-imagen {
    display: grid;
    place-items: center;
    height: 300px;
    background: #334b40;
    color: #c4d4ca;
}

.comarca-lugar-card__sin-imagen svg {
    width: 64px;
    height: 64px;
}

.comarca-lugar-card .caption {
    box-sizing: border-box;
    width: 100%;
    max-width: none;
    padding: 24px 16px 16px;
    background: linear-gradient(to top, rgb(0 0 0 / 85%), transparent);
}

.comarca-lugar-card h3 {
    margin: 0;
    font-size: inherit;
    line-height: 1.25;
    overflow-wrap: anywhere;
}

.comarca-lugar-card__ubicacion {
    margin: .4rem 0 0;
    color: #fff;
    font-size: .9rem;
    font-weight: 400;
    line-height: 1.4;
}

.comarca-informacion {
    margin: 2rem 0;
    padding: 1rem 1.25rem;
    border: 1px solid #dfe8e2;
    border-radius: 12px;
}

.comarca-informacion summary {
    padding: .5rem 0;
    color: var(--comarca-verde);
    font-weight: 600;
    cursor: pointer;
}

.comarca-texto-final {
    margin: 2rem 0;
}

.comarca-explorar a:focus-visible,
.comarca-lugar-card:focus-visible,
.comarca-informacion summary:focus-visible {
    outline: 3px solid var(--comarca-verde);
    outline-offset: 4px;
}

@media (min-width: 1024px) and (max-width: 1199px) {
    .comarca-lugar-card__sin-imagen {
        height: 400px;
    }
}
