/* Forge Core block styles. Plate colours code intensity: red high, blue medium, green low, yellow all levels. */
:root{--fg-high:var(--wp--preset--color--accent,#c2261e);--fg-medium:var(--wp--preset--color--plate-blue,#1d4e9e);--fg-low:var(--wp--preset--color--plate-green,#25784a);--fg-all:var(--wp--preset--color--plate-yellow,#f2c230)}
.fg-badge{display:inline-block;font-size:.8125rem;font-weight:600;padding:.3em .7em;border-radius:4px;color:#fff;background:var(--wp--preset--color--ink,#1c1e21)}
.fg-badge--high{background:var(--fg-high)}
.fg-badge--medium{background:var(--fg-medium)}
.fg-badge--low{background:var(--fg-low)}
.fg-badge--all{background:var(--fg-all);color:var(--wp--preset--color--ink,#1c1e21)}

.fg-class-grid,.fg-trainer-grid{display:grid;gap:var(--wp--preset--spacing--40,1.25rem);margin:0;padding:0;list-style:none;grid-template-columns:1fr}
@media (min-width:600px){.fg-class-grid,.fg-trainer-grid{grid-template-columns:repeat(2,1fr)}}
@media (min-width:1024px){.fg-class-grid{grid-template-columns:repeat(4,1fr)}.fg-trainer-grid{grid-template-columns:repeat(4,1fr)}}
.fg-class-card,.fg-trainer-card{position:relative;background:#fff;border-radius:4px;overflow:hidden;border:1px solid var(--wp--preset--color--line,#d3d3ce)}
.fg-class-card__media,.fg-trainer-card__photo{position:relative;margin:0;overflow:hidden;background:var(--wp--preset--color--surface,#e7e7e3)}
.fg-class-card__media{aspect-ratio:4/3}
.fg-trainer-card__photo{aspect-ratio:4/5}
.fg-class-card .fg-class-card__media img,.fg-trainer-card .fg-trainer-card__photo img{width:100%;height:100%;object-fit:cover;display:block}
.fg-trainer-card .fg-trainer-card__photo img{object-position:50% 20%}
.fg-class-card__media .fg-badge{position:absolute;left:.85rem;top:.85rem}
.fg-class-card__body,.fg-trainer-card__body{padding:1rem 1.15rem 1.25rem}
.fg-class-card__title,.fg-trainer-card__name{margin:0;font-family:var(--wp--preset--font-family--display,inherit);font-size:1.875rem;font-weight:800;line-height:1}
.fg-class-card__title a,.fg-trainer-card__name a{color:inherit;text-decoration:none}
.fg-class-card__title a::after,.fg-trainer-card__name a::after{content:"";position:absolute;inset:0}
.fg-class-card__title a:focus-visible,.fg-trainer-card__name a:focus-visible{outline:none}
.fg-class-card:focus-within,.fg-trainer-card:focus-within{outline:3px solid var(--fg-high);outline-offset:2px}
.fg-class-card__meta,.fg-trainer-card__specialty{margin:.45rem 0 0;font-size:.875rem;font-weight:600;color:var(--wp--preset--color--accent,#c2261e)}
.fg-class-card__trainer,.fg-trainer-card__certs{margin:.3rem 0 0;font-size:.875rem;color:var(--wp--preset--color--muted,#55595e)}

.fg-details{margin:0}
.fg-details__row{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:.8rem 0;border-bottom:1px solid var(--wp--preset--color--line,#d3d3ce)}
.fg-details dt,.fg-details__label{font-size:.9375rem;color:var(--wp--preset--color--muted,#55595e);margin:1.25rem 0 .25rem}
.fg-details dt{margin:0}
.fg-details dd{margin:0;font-weight:600;text-align:right}
.fg-details__value{margin:0;font-size:1.125rem;font-weight:600}
.fg-certs{margin:.25rem 0 0;padding-left:1.1rem}
.fg-certs li::marker{color:var(--fg-high)}

/* Weekly timetable. */
.fg-schedule__scroll{overflow-x:auto;background:#fff;border:1px solid var(--wp--preset--color--line,#d3d3ce);border-radius:4px}
.fg-schedule__scroll:focus-visible{outline:3px solid var(--fg-high)}
.fg-schedule__table{width:100%;min-width:56rem;border-collapse:collapse;font-size:.875rem}
.fg-schedule__table caption{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.fg-schedule__table th,.fg-schedule__table td{border-top:1px solid var(--wp--preset--color--line,#d3d3ce);padding:.55rem;vertical-align:top;text-align:left}
.fg-schedule__table thead th{font-family:var(--wp--preset--font-family--display,inherit);font-weight:800;font-size:1.375rem;border-top:0;background:var(--wp--preset--color--ink,#1c1e21);color:#fff}
.fg-schedule__table thead abbr{text-decoration:none}
.fg-schedule__table tbody th{font-weight:600;white-space:nowrap;color:var(--wp--preset--color--ink,#1c1e21)}
.fg-slot{display:block;padding:.5rem .6rem;margin-bottom:.35rem;background:var(--wp--preset--color--base,#f4f4f2);border-left:4px solid var(--fg-all);color:inherit;text-decoration:none;line-height:1.3;border-radius:0 4px 4px 0}
.fg-slot:hover,.fg-slot:focus-visible{background:var(--wp--preset--color--surface,#e7e7e3)}
.fg-slot__name{display:block;font-weight:700}
.fg-slot__trainer,.fg-slot__meta{display:block;font-size:.75rem;color:var(--wp--preset--color--muted,#55595e)}
.fg-slot--high{border-color:var(--fg-high)}
.fg-slot--medium{border-color:var(--fg-medium)}
.fg-slot--low{border-color:var(--fg-low)}
.fg-slot--all{border-color:var(--fg-all)}
.fg-schedule__legend{display:flex;flex-wrap:wrap;gap:1.25rem;margin:1rem 0 0;padding:0;list-style:none;font-size:.875rem}
.fg-schedule__legend li{padding-left:.6rem;border-left:4px solid}
.fg-schedule__legend .fg-slot--high{border-color:var(--fg-high)}
.fg-schedule__legend .fg-slot--medium{border-color:var(--fg-medium)}
.fg-schedule__legend .fg-slot--low{border-color:var(--fg-low)}
.fg-schedule__legend .fg-slot--all{border-color:var(--fg-all)}

.fg-form__grid{display:grid;gap:1.25rem}
@media (min-width:600px){.fg-form__grid{grid-template-columns:1fr 1fr}.fg-form__field--wide,.fg-form__actions{grid-column:1/-1}}
.fg-form__field{display:flex;flex-direction:column;gap:.4rem;margin:0;min-width:0}
.fg-form__field label{font-size:.9375rem;font-weight:600}
.fg-form__req{color:var(--wp--preset--color--accent,#c2261e)}
.fg-form input,.fg-form select,.fg-form textarea{box-sizing:border-box;font:inherit;width:100%;padding:.85rem 1rem;border:1px solid var(--wp--preset--color--line,#d3d3ce);border-radius:4px;background:#fff;color:inherit}
.fg-form input:focus-visible,.fg-form select:focus-visible,.fg-form textarea:focus-visible{outline:3px solid var(--wp--preset--color--accent,#c2261e);outline-offset:0;border-color:transparent}
.fg-form__actions{display:flex;flex-wrap:wrap;align-items:center;gap:1rem;margin:0}
.fg-form__submit{cursor:pointer;border:0}
.fg-form__hint{font-size:.8125rem;color:var(--wp--preset--color--muted,#a1a1aa)}
.fg-form__hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.fg-form__notice{padding:1rem 1.25rem;margin:0 0 1.5rem;border-left:4px solid var(--wp--preset--color--accent,#c2261e);background:var(--wp--preset--color--surface,#e7e7e3)}
.fg-form__notice--error{border-color:#ff5c5c}
.fg-editor-empty{padding:1rem;border:1px dashed currentColor;opacity:.7}
