
.gmap-plan,
.gmap-plan input,
.gmap-plan select,
.gmap-plan button,
.gmap-plan a,
.gmap-plan div,
.gmap-plan span,
.gmap-plan strong,
.gmap-plan small,
.gmap-plan p,
.gmap-plan h2,
.gmap-plan h3{
    font-family:"HelveticaNeue","Helvetica Neue",Helvetica,Arial,sans-serif !important;
}


.gmap-plan,
.gmap-plan *{box-sizing:border-box}

.gmap-plan{
    background:#fff !important;
    color:#3f454c !important;
    border-radius:5px;
    padding:30px 36px 34px;
    font-family:"HelveticaNeue","Helvetica Neue",Helvetica,Arial,sans-serif !important;
    font-size:15px;
    line-height:1.4;
}

.gmap-plan h2,
.gmap-plan h3,
.gmap-plan strong,
.gmap-plan span,
.gmap-plan small,
.gmap-plan div,
.gmap-plan p,
.gmap-plan a{
    text-shadow:none !important;
}

.gmap-plan-head{
    display:flex;
    justify-content:space-between;
    align-items:flex-start;
    gap:20px;
    margin-bottom:16px;
}

.gmap-plan-head h2{
    margin:0 !important;
    padding:0 !important;
    color:#3f454c !important;
    font-size:24px !important;
    font-weight:600 !important;
    letter-spacing:normal !important;
    line-height:1.25 !important;
}

.gmap-plan-sub{
    margin-top:5px;
    color:#7a8188 !important;
    font-size:13px;
}

.gmap-plan-count{
    color:#6a7178 !important;
    font-size:13px;
    white-space:nowrap;
}

.gmap-plan-legend{
    display:flex;
    gap:34px;
    flex-wrap:wrap;
    margin:6px 0 24px;
    font-size:13px;
}

.gmap-plan-legend span{font-weight:500}
.gmap-plan-legend .lg-confirmed{color:#3f454c !important}
.gmap-plan-legend .lg-expected{color:#ef7c00 !important}
.gmap-plan-legend .lg-rumour{color:#969696 !important;font-style:italic}

.gmap-plan-filters{
    display:grid;
    grid-template-columns:180px 180px minmax(240px,1fr) 90px;
    gap:8px;
    margin-bottom:20px;
}

.gmap-plan-filters select,
.gmap-plan-filters input,
.gmap-plan-filters button{
    height:36px !important;
    min-height:36px !important;
    margin:0 !important;
    border:1px solid #d4d8dc !important;
    border-radius:3px !important;
    background:#fff !important;
    color:#3f454c !important;
    box-shadow:none !important;
    font-family:"HelveticaNeue","Helvetica Neue",Helvetica,Arial,sans-serif !important;
    font-size:13px !important;
    padding:0 10px !important;
}

.gmap-plan-filters button{
    background:#f2f3f4 !important;
    cursor:pointer;
}

.gmap-plan-columns,
.gmap-plan-row{
    display:grid;
    grid-template-columns:100px minmax(320px,2.5fr) minmax(160px,1.25fr) 120px 100px 120px;
    column-gap:14px;
    align-items:start;
}

.gmap-plan-columns{
    color:#7c838a !important;
    font-size:11px;
    text-transform:uppercase;
    font-weight:700;
    padding:0 8px 7px;
    border-bottom:1px solid #e5e7e9;
}

.gmap-plan-month{
    margin:28px 0 7px !important;
    padding:0 8px !important;
    color:#444b52 !important;
    background:transparent !important;
    font-size:14px !important;
    font-weight:700 !important;
}

.gmap-plan-row{
    background:#fff !important;
    color:#4a5057 !important;
    padding:7px 8px !important;
    border:0 !important;
    min-height:36px;
}

.gmap-plan-row:hover{background:#fafbfc !important}

.gmap-plan-row > div{
    background:transparent !important;
    color:#4a5057 !important;
    border:0 !important;
    padding:0 !important;
}

.gmap-col-date{
    white-space:nowrap;
    color:#555d65 !important;
}

.gmap-col-event strong{
    display:block;
    color:#3e454c !important;
    font-weight:500 !important;
}

.gmap-col-event small{
    display:block;
    margin-top:2px;
    color:#8a9096 !important;
    font-size:11px;
}

.gmap-col-location,
.gmap-col-type{
    color:#555c63 !important;
}

.gmap-status-text{
    background:none !important;
    border:0 !important;
    border-radius:0 !important;
    padding:0 !important;
    font-size:13px !important;
    font-weight:500 !important;
    text-transform:none !important;
}

.gmap-status-text.confirmed{color:#3f454c !important}
.gmap-status-text.expected{color:#ef7c00 !important}
.gmap-status-text.rumour{color:#969696 !important;font-style:italic}

.gmap-col-links a{
    display:inline !important;
    margin:0 10px 0 0 !important;
    padding:0 !important;
    border:0 !important;
    background:none !important;
    color:#1f56a8 !important;
    text-decoration:none !important;
    font-size:13px !important;
    font-weight:500 !important;
}

.gmap-col-links a:hover{text-decoration:underline !important}

.gmap-plan-empty{
    padding:30px 8px !important;
    color:#777f86 !important;
}

@media(max-width:1000px){
    .gmap-plan{padding:24px}
    .gmap-plan-columns,
    .gmap-plan-row{
        grid-template-columns:86px minmax(260px,2fr) minmax(140px,1.1fr) 100px 90px 100px;
        column-gap:10px;
    }
}

@media(max-width:760px){
    .gmap-plan{padding:18px}
    .gmap-plan-filters{grid-template-columns:1fr 1fr}
    .gmap-plan-columns{display:none}
    .gmap-plan-row{
        grid-template-columns:72px 1fr;
        gap:4px 10px;
        padding:10px 4px !important;
        border-bottom:1px solid #eceef0 !important;
    }
    .gmap-col-event{grid-column:2}
    .gmap-col-location,
    .gmap-col-type,
    .gmap-col-status,
    .gmap-col-links{grid-column:2}
    .gmap-col-type:before{content:"Type: ";color:#949aa0}
    .gmap-col-location:before{content:"Location: ";color:#949aa0}
}

@media(max-width:500px){
    .gmap-plan-filters{grid-template-columns:1fr}
    .gmap-plan-head{display:block}
    .gmap-plan-count{margin-top:6px}
}


/* v1.4.2: force the same sans-serif stack used by Enfold/GMAP.
   This intentionally overrides any monospace font inherited from the shortcode container. */
.gmap-plan,
.gmap-plan *,
.gmap-plan input,
.gmap-plan select,
.gmap-plan button,
.gmap-plan textarea,
.gmap-plan option {
    font-family:"HelveticaNeue","Helvetica Neue",Helvetica,Arial,sans-serif !important;
    font-variant:normal !important;
}
