:root{--gme-line:rgba(17,17,17,.18);--gme-text:#111;--gme-muted:#666}.gemonio-meets{color:var(--gme-text);font:inherit}.gemonio-meets__group{margin:0 0 clamp(3rem,7vw,7rem)}.gemonio-meets__heading{margin:0 0 1rem;font:inherit;font-size:clamp(1.8rem,3.8vw,4rem);font-weight:500;letter-spacing:.035em;text-transform:uppercase}.gemonio-meets__year-divider{display:flex;align-items:center;gap:1rem;margin:1.2rem 0 .1rem;color:var(--gme-muted);font-size:.7rem;font-weight:700;letter-spacing:.12em}.gemonio-meets__year-divider:after{content:"";height:1px;background:var(--gme-line);flex:1}.gemonio-meet{border-bottom:1px solid var(--gme-line)}.gemonio-meet__toggle{appearance:none;border:0;background:none;color:inherit;font:inherit;width:100%;display:grid;grid-template-columns:110px 58px minmax(0,1fr) auto 20px;align-items:center;gap:1rem;text-align:left;padding:.72rem 0;cursor:pointer}.gemonio-meet__date{display:grid;grid-template-columns:auto 1fr;gap:.75rem;align-items:center}.gemonio-meet__date strong{font-size:clamp(2rem,3.8vw,4.3rem);line-height:.9;font-weight:700;letter-spacing:-.055em}.gemonio-meet__date span{display:flex;flex-direction:column;line-height:1.02}.gemonio-meet__date b,.gemonio-meet__date small{font-size:.66rem;font-weight:700;text-transform:uppercase}.gemonio-meet__year{font-size:.68rem;color:var(--gme-muted);font-weight:700}.gemonio-meet__where{min-width:0;display:flex;flex-direction:column;gap:.12rem}.gemonio-meet__where strong{font-size:.8rem;font-weight:600;text-transform:uppercase;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.gemonio-meet__where small{font-size:.7rem;color:var(--gme-muted)}.gemonio-meet__action{font-size:.72rem;font-weight:700;text-transform:uppercase;text-decoration:underline;text-underline-offset:.16em;white-space:nowrap}.gemonio-meet__plus{font-size:1.15rem;transition:transform .18s ease}.gemonio-meet.is-open .gemonio-meet__plus{transform:rotate(45deg)}.gemonio-meet__details-inner{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(220px,.85fr);gap:clamp(1.5rem,4vw,4rem);padding:1rem 0 2.2rem}.gemonio-meet__details-inner h3{margin:0 0 .45rem;font:inherit;font-size:clamp(1.2rem,2vw,2rem);font-weight:600}.gemonio-meet__meta{color:var(--gme-muted)}.gemonio-meet__details-inner figure{margin:0}.gemonio-meet__details-inner img{display:block;width:100%;height:auto}@media(max-width:780px){.gemonio-meet__toggle{grid-template-columns:84px 46px minmax(0,1fr) 18px;gap:.7rem}.gemonio-meet__action{grid-column:3/4;font-size:.66rem}.gemonio-meet__plus{grid-column:4;grid-row:1/3}.gemonio-meet__where strong{white-space:normal}.gemonio-meet__details-inner{grid-template-columns:1fr}}

/* 0.2.9 — corrected desktop hierarchy.
   Mobile keeps the established 0.2.7 proportions. */
@media (min-width:781px){
    .gemonio-meet__toggle{
        grid-template-columns:118px minmax(0,1fr) auto 20px;
        gap:1rem;
    }

    .gemonio-meet__date{
        display:grid;
        grid-template-columns:auto auto;
        align-items:center;
        justify-content:start;
        column-gap:.38rem;
    }

    .gemonio-meet__date strong{
        align-self:center;
    }

    .gemonio-meet__date>span{
        display:flex;
        flex-direction:column;
        justify-content:center;
        gap:.13rem;
        align-self:center;
        line-height:.92;
        padding:0;
    }

    .gemonio-meet__date b,
    .gemonio-meet__date small{
        font-size:.69rem;
        line-height:.92;
    }

    .gemonio-meet__date .gemonio-meet__year{
        font-size:.61rem;
        line-height:.92;
        color:var(--gme-muted);
        font-weight:700;
        letter-spacing:.035em;
    }

    .gemonio-meet__where{
        gap:.2rem;
    }

    .gemonio-meet__where strong{
        font-size:.94rem;
        line-height:1.15;
        font-weight:700;
    }

    .gemonio-meet__where small{
        font-size:.82rem;
        line-height:1.2;
        color:rgba(17,17,17,.72);
    }
}

.gemonio-meets__year-divider{display:none}


/* 0.2.11 — desktop venue/artist hierarchy: intentionally visible */
@media (min-width:781px){
    .gemonio-meet__where strong{
        font-size:1.12rem;
        line-height:1.12;
        font-weight:700;
        letter-spacing:.005em;
    }

    .gemonio-meet__where small{
        font-size:.94rem;
        line-height:1.22;
        color:rgba(17,17,17,.72);
    }

    .gemonio-meet__where{
        gap:.26rem;
    }
}


/* 0.2.12 — hard desktop override in case theme or cache muted the hierarchy */
@media (min-width:781px){
    .gemonio-meets .gemonio-meet .gemonio-meet__where > strong{
        font-size:1.18rem !important;
        line-height:1.12 !important;
        font-weight:700 !important;
        letter-spacing:.004em !important;
    }

    .gemonio-meets .gemonio-meet .gemonio-meet__where > small{
        display:block !important;
        font-size:1rem !important;
        line-height:1.24 !important;
        color:rgba(17,17,17,.72) !important;
        font-weight:400 !important;
    }

    .gemonio-meets .gemonio-meet .gemonio-meet__where{
        gap:.3rem !important;
    }
}


/* 0.2.13 — desktop hierarchy + date micro-position */
@media (min-width:781px){
    .gemonio-meets .gemonio-meet .gemonio-meet__where > strong{
        font-size:1.4rem !important;
        line-height:1.08 !important;
        font-weight:700 !important;
    }

    .gemonio-meets .gemonio-meet .gemonio-meet__where > small{
        font-size:1.12rem !important;
        line-height:1.18 !important;
        color:rgba(17,17,17,.78) !important;
        font-weight:400 !important;
    }

    .gemonio-meets .gemonio-meet .gemonio-meet__where{
        gap:.22rem !important;
    }

    .gemonio-meets .gemonio-meet .gemonio-meet__date > span{
        transform:translateY(5px);
    }
}

/* 0.4.1 — precise typography with concrete font selections */
.gemonio-meets .gemonio-meets__group{margin-bottom:var(--gme-section-gap)!important}
.gemonio-meets .gemonio-meets__heading{
    font-family:var(--gme-heading-font)!important;font-size:var(--gme-heading-size)!important;font-weight:var(--gme-heading-weight)!important;
    line-height:var(--gme-heading-line)!important;letter-spacing:var(--gme-heading-track)!important;text-transform:var(--gme-heading-transform)!important;color:var(--gme-heading-color)!important
}
.gemonio-meets .gemonio-meet{border-bottom-color:rgba(17,17,17,var(--gme-line-opacity))!important}
.gemonio-meets .gemonio-meet__toggle{
    grid-template-columns:var(--gme-date-width) minmax(0,1fr) auto 20px!important;gap:var(--gme-column-gap)!important;
    padding-top:var(--gme-row-padding)!important;padding-bottom:var(--gme-row-padding)!important
}
.gemonio-meets .gemonio-meet__date{column-gap:var(--gme-date-inner-gap)!important}
.gemonio-meets .gemonio-meet__date>strong{
    font-family:var(--gme-day-font)!important;font-size:var(--gme-day-size)!important;font-weight:var(--gme-day-weight)!important;
    line-height:var(--gme-day-line)!important;letter-spacing:var(--gme-day-track)!important;text-transform:var(--gme-day-transform)!important;color:var(--gme-day-color)!important
}
.gemonio-meets .gemonio-meet__date>span{
    font-family:var(--gme-date-meta-font)!important;gap:var(--gme-date-meta-gap)!important;transform:translateY(var(--gme-date-meta-offset-y))!important
}
.gemonio-meets .gemonio-meet__date b,.gemonio-meets .gemonio-meet__date small{
    font-size:var(--gme-date-meta-size)!important;font-weight:var(--gme-date-meta-weight)!important;line-height:var(--gme-date-meta-line)!important;
    letter-spacing:var(--gme-date-meta-track)!important;text-transform:var(--gme-date-meta-transform)!important;color:var(--gme-date-meta-color)!important
}
.gemonio-meets .gemonio-meet__where{gap:var(--gme-venue-artist-gap)!important}
.gemonio-meets .gemonio-meet__where>strong{
    font-family:var(--gme-venue-font)!important;font-size:var(--gme-venue-size)!important;font-weight:var(--gme-venue-weight)!important;
    line-height:var(--gme-venue-line)!important;letter-spacing:var(--gme-venue-track)!important;text-transform:var(--gme-venue-transform)!important;color:var(--gme-venue-color)!important
}
.gemonio-meets .gemonio-meet__where>small{
    font-family:var(--gme-artist-font)!important;font-size:var(--gme-artist-size)!important;font-weight:var(--gme-artist-weight)!important;
    line-height:var(--gme-artist-line)!important;letter-spacing:var(--gme-artist-track)!important;text-transform:var(--gme-artist-transform)!important;color:var(--gme-artist-color)!important
}
.gemonio-meets .gemonio-meet__action{
    font-family:var(--gme-action-font)!important;font-size:var(--gme-action-size)!important;font-weight:var(--gme-action-weight)!important;
    line-height:var(--gme-action-line)!important;letter-spacing:var(--gme-action-track)!important;text-transform:var(--gme-action-transform)!important;color:var(--gme-action-color)!important
}
.gemonio-meets .gemonio-meet__plus{font-size:var(--gme-plus-size)!important}
@media(max-width:780px){
    .gemonio-meets .gemonio-meets__heading{font-size:var(--gme-heading-mobile-size)!important}
    .gemonio-meets .gemonio-meet__date>strong{font-size:var(--gme-day-mobile-size)!important}
    .gemonio-meets .gemonio-meet__date b,.gemonio-meets .gemonio-meet__date small{font-size:var(--gme-date-meta-mobile-size)!important}
    .gemonio-meets .gemonio-meet__where>strong{font-size:var(--gme-venue-mobile-size)!important}
    .gemonio-meets .gemonio-meet__where>small{font-size:var(--gme-artist-mobile-size)!important}
    .gemonio-meets .gemonio-meet__action{font-size:var(--gme-action-mobile-size)!important}
    .gemonio-meets .gemonio-meet__date>span{transform:none!important}
}

/* 0.4.3 — font-aware vertical alignment controls */
.gemonio-meets .gemonio-meets__heading{
    position:relative;
    transform:translateY(var(--gme-heading-offset-y))!important;
}
.gemonio-meets .gemonio-meet__date>strong{
    position:relative;
    transform:translateY(var(--gme-day-offset-y))!important;
}
.gemonio-meets .gemonio-meet__date>span{
    position:relative;
    transform:translateY(var(--gme-date-meta-block-offset-y))!important;
}
.gemonio-meets .gemonio-meet__where>strong{
    position:relative;
    transform:translateY(var(--gme-venue-offset-y))!important;
}
.gemonio-meets .gemonio-meet__where>small{
    position:relative;
    transform:translateY(var(--gme-artist-offset-y))!important;
}
.gemonio-meets .gemonio-meet__action{
    position:relative;
    transform:translateY(var(--gme-action-offset-y))!important;
}

/* Keep the year optical correction from 0.4.2. */
.gemonio-meets .gemonio-meet__date .gemonio-meet__year{
    position:relative;
    top:-2px;
}

/* Mobile gets the same explicit controls; no hidden hardcoded reset. */

/* 0.6.4 — category separator exactly centered in the date/content grid gap */
.gemonio-meets .gemonio-meet__category{
    display:none!important;
}

.gemonio-meets .gemonio-meet__toggle{
    position:relative;
}

.gemonio-meets.gemonio-meets--category-bar .gemonio-meet__toggle:has(.gemonio-meet__category)::before{
    content:"";
    position:absolute;
    left:calc(var(--gme-date-width) + 12px);
    top:16%;
    width:1px;
    height:68%;
    background:var(--gme-category-color,#111111);
    transform:translateX(-50%);
    pointer-events:none;
}


/* 0.6.7 — restore the compact mobile language:
   date block + locality/venue only. No ticket/action chrome. */
.gemonio-meet__where-mobile{
    display:none;
}

@media(max-width:780px){
    .gemonio-meets .gemonio-meet__toggle{
        grid-template-columns:86px minmax(0,1fr)!important;
        gap:16px!important;
        align-items:center!important;
        padding-top:14px!important;
        padding-bottom:14px!important;
    }

    .gemonio-meets .gemonio-meet__date{
        grid-column:1!important;
        min-width:0;
        align-self:center;
    }

    .gemonio-meets .gemonio-meet__where{
        grid-column:2!important;
        min-width:0;
        gap:2px!important;
        justify-self:stretch;
    }

    .gemonio-meets .gemonio-meet__where-desktop,
    .gemonio-meets .gemonio-meet__artist,
    .gemonio-meets .gemonio-meet__action,
    .gemonio-meets .gemonio-meet__plus{
        display:none!important;
    }

    .gemonio-meets .gemonio-meet__where-mobile{
        display:flex;
        flex-direction:column;
        gap:2px;
        min-width:0;
    }

    .gemonio-meets .gemonio-meet__where-mobile>strong{
        display:block;
        min-width:0;
        font-family:var(--gme-venue-font)!important;
        font-size:var(--gme-venue-mobile-size)!important;
        font-weight:var(--gme-venue-weight)!important;
        line-height:1.15!important;
        letter-spacing:var(--gme-venue-track)!important;
        text-transform:var(--gme-venue-transform)!important;
        color:var(--gme-venue-color)!important;
        white-space:normal;
        overflow-wrap:normal;
        word-break:normal;
    }

    .gemonio-meets .gemonio-meet__where-mobile>small{
        display:block;
        min-width:0;
        font-family:var(--gme-artist-font)!important;
        font-size:var(--gme-artist-mobile-size)!important;
        font-weight:400!important;
        line-height:1.2!important;
        letter-spacing:normal!important;
        text-transform:none!important;
        color:var(--gme-artist-color)!important;
        white-space:normal;
        overflow-wrap:normal;
        word-break:normal;
    }

    /* If enabled, keep the category accent between date and information,
       without stealing any width from the information column. */
    .gemonio-meets.gemonio-meets--category-bar .gemonio-meet__toggle:has(.gemonio-meet__category)::before{
        left:94px!important;
        top:18%!important;
        height:64%!important;
    }
}
