.kws-opening-times{margin:1.5rem 0;padding:1rem 0;text-align:center}.kws-opening-times h2{margin:0 0 1.25em;text-align:center}.kws-opening-times-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.5rem 1rem;max-width:700px;margin:auto}.kws-opening-times-day{display:flex;flex-direction:column;gap:.25em;min-width:0;overflow-wrap:anywhere}.kws-opening-times-day strong{font-size:1.1em}.kws-contact-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.5rem;margin:1.5rem auto}.kws-contact-card{padding:2rem 1rem;text-align:center;background:rgba(255,255,255,.9);color:#333;overflow-wrap:anywhere}.kws-contact-card h3{margin:1.3rem 0 .8rem;letter-spacing:.1em;text-transform:uppercase}.kws-contact-card p{margin:0}.kws-contact-icon{display:flex;align-items:center;justify-content:center;width:80px;height:80px;margin:auto;border-radius:50%;background:#57574f;color:white;font-size:30px}.kws-contact-card a{color:inherit}@media(max-width:767px){.kws-contact-cards{grid-template-columns:1fr}.kws-opening-times-grid{gap:1.25rem .6rem}}

/* Reusable shortcode stays centred; compact footer display is one left-aligned day per line. */
.kws-opening-times--footer{margin:0;padding:0;text-align:left;font-size:inherit}
.kws-opening-times--footer h2{font-size:1.1em;text-align:left;margin:0 0 .55em}
.kws-opening-times--footer .kws-opening-times-grid{display:flex;flex-direction:column;gap:.2em;max-width:none;margin:0;padding-top:.45em}
.kws-opening-times--footer .kws-opening-times-day{display:flex;flex-direction:row;flex-wrap:wrap;align-items:baseline;gap:.3em;text-align:left}
.kws-opening-times--footer .kws-opening-times-day strong{font-size:inherit;font-weight:600}


.kws-opening-times:not(.kws-opening-times--footer) .kws-opening-times-grid{display:flex;flex-wrap:wrap;justify-content:center;align-items:flex-start;max-width:760px;margin-inline:auto;gap:1.5rem 1rem}
.kws-opening-times:not(.kws-opening-times--footer) .kws-opening-times-day{flex:0 1 calc(50% - .5rem);text-align:center}

/* Each session is an independent line: no mid-time wrapping or comma fragments. */
.kws-opening-times .kws-opening-times-sessions{display:flex;flex-direction:column;align-items:center;gap:.15em;min-width:0}
.kws-opening-times .kws-opening-times-session{display:block;white-space:nowrap;overflow-wrap:normal;line-height:1.4}
.kws-opening-times:not(.kws-opening-times--footer) .kws-opening-times-day{align-items:center;min-width:0}
.kws-opening-times--footer .kws-opening-times-day{flex-wrap:nowrap;align-items:flex-start}
.kws-opening-times--footer .kws-opening-times-sessions{align-items:flex-start}
@media(max-width:420px){.kws-opening-times:not(.kws-opening-times--footer) .kws-opening-times-grid{gap:1rem .4rem}.kws-opening-times:not(.kws-opening-times--footer) .kws-opening-times-day{flex-basis:calc(50% - .2rem)}}
