.op-leaflet-kartta {
    --op-map-color: var(--wp--preset--color--primary);
}
.tapahtuma-meta-lohko {
    font-family: var(--wp--preset--font-family--body, inherit);
    color: var(--wp--preset--color--text, inherit);
    background: rgba(0,0,0,0.02);
    padding: 1.5rem;
    border-radius: 8px;
    margin: 1.5rem 0;
}
.op-meta-rivi {
    display: flex;
    margin-bottom: 1rem;
    border-bottom: 1px solid rgba(0,0,0,0.05);
    padding-bottom: 1rem;
}
.framed{
    color: white;
    background-color: #d68061;
    border-radius: 0.15rem;
    -webkit-border-radius: 0.15rem;
    -moz-border-radius: 0.15rem;
    padding; 0.15em;
}
.op-meta-rivi:last-of-type {
    border-bottom: none;
    margin-bottom: 0;
    padding-bottom: 0;
}
.op-meta-label {
    min-width: 140px;
    font-weight: bold;
    color: var(--wp--preset--color--primary, #d68061);
}
.op-meta-arvo {
    flex: 1;
}
.c-emergency-red {
    color: #d9534f;
}
.tapahtuma-kartta-kooste {
    margin-top: 1.5rem;
    border-radius: 4px;
    overflow: hidden;
}
@media (max-width: 600px) {
    .op-meta-rivi {
        flex-direction: column;
        gap: 0.25rem;
    }
}

/* Yksittäisen tapahtuman meta-lohko (esim. itse tapahtumasivulla) */
.tapahtuma-meta-lohko {
    font-family: var(--wp--preset--font-family--body, inherit);
    color: var(--wp--preset--color--text, inherit);
    border-left: 4px solid var(--wp--preset--color--primary, #d68061);
    padding-left: 1rem; margin-top: 1rem; margin-bottom: 2rem;
}

/* Ohjelmakoosteen tyylit */
.op-ohjelmakooste {
    display: grid;
    /* Luo automaattisesti vähintään 300px leveitä sarakkeita vierekkäin.
       Jos näyttö on kapea, ne putoavat automaattisesti allekkain. */
    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
    gap: 1.5rem;
    align-items: start; /* Estää sarakkeita venymästä turhaan pystysuunnassa */

    font-family: var(--wp--preset--font-family--body, inherit);
    color: var(--wp--preset--color--text, inherit);
}

.op-paiva-otsikko {
    margin: .5rem;
}
.op-divder {
    background: var(--wp--preset--gradient--rainbow);
    min-height: 0.4em;
}
.op-tapahtuma-rivi {
    display: flex;
    gap: 1.5rem;
    padding: 1rem;
    border-top: 1px solid rgba(0,0,0,0.1);
}
.op-tapahtuma-aika {
    min-width: 60px;
    font-family: var(--wp--preset--font-family--fira-code, monospace);
    font-feature-settings: "cv11" 1;
    font-weight: 600;
}
.op-tapahtuma-otsikko {
    text-align: left;
}
.op-aika-alkaa {
    color: var(--wp--preset--color--primary, #d68061);
}
.op-aika-loppuu {
    opacity: 0.33;
}
.op-tapahtuma-tiedot h4 {
    margin: 0 0 0.25rem 0;
    font-size: 1.25rem;
}
.op-paiva-ryhma{
    background-color: #fafafa;
    border-radius: 0.75em;
    box-shadow: 0px 0px 35px 0px rgba(0,0,0,0.15);
}
.op-tapahtuma-tiedot a {
    text-decoration: none;
    color: inherit;
}
.op-tapahtuma-tiedot a:hover {
    text-decoration: underline;
}
.op-tapahtuma-paikka {
    font-size: 0.9em;
    opacity: 0.8;
}

/* Responsiivisuus mobiiliin */
@media (max-width: 600px) {
    .op-tapahtuma-rivi {
        flex-direction: column;
        gap: 0.25rem;
    }
    .op-tapahtuma-aika {
        font-size: 1.1em;
    }
}