.sgcal{--navy:#0A2A57;--red:#C6281E;color:var(--navy);font-family:inherit}.sgcal *{box-sizing:border-box}.sgcal-month{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:24px}.sgcal-month h2{margin:0!important;font-size:clamp(24px,3vw,36px);text-transform:capitalize;scroll-margin-top:30px}.sgcal-month>a{display:grid;place-items:center;width:46px;height:46px;background:white;border:1px solid #dce4ee;border-radius:12px;text-decoration:none;color:var(--navy);font-size:24px}.sgcal a:focus-visible{outline:3px solid var(--red);outline-offset:3px}.sgcal-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:1px;border:1px solid #dce4ee;background:#dce4ee;border-radius:18px;overflow:hidden;margin-bottom:30px}.sgcal-weekday{background:#edf3f9;text-align:center;padding:12px;font-weight:700}.sgcal-empty{background:#f7f9fc}.sgcal-day{background:white;min-height:105px;padding:12px;min-width:0}.sgcal-day>span{font-size:14px;font-weight:700}.sgcal-day a{display:block;background:#edf3f9;color:var(--navy);text-decoration:none;padding:7px;border-radius:6px;font-size:12px;line-height:1.4;margin-top:8px;overflow-wrap:anywhere}.sgcal-today{box-shadow:inset 0 3px var(--red)}.sgcal-list{display:grid;gap:20px}.sgcal-card{display:flex;justify-content:space-between;gap:28px;background:#fff;border:1px solid #dce4ee;border-radius:20px;padding:30px;scroll-margin-top:30px}.sgcal-card h3{font-size:26px;line-height:1.3;margin:8px 0 16px;color:var(--navy)}.sgcal-card p{margin:6px 0!important;line-height:1.6}.sgcal-card .sgcal-label{color:var(--red);font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.sgcal-places{font-weight:700}.sgcal-book{display:flex;flex-direction:column;justify-content:center;align-items:flex-end;gap:18px;flex-shrink:0}.sgcal-price{font-size:26px;font-weight:700}.sgcal-price small{display:block;font-size:13px;font-weight:400;color:#667085;text-align:right}.sgcal-button{background:var(--red);color:white!important;text-decoration:none!important;border-radius:10px;padding:14px 20px;font-size:15px;font-weight:700;line-height:1.4;text-align:center}.sgcal-button:hover{background:#a82019}.sgcal-closed{padding:12px 18px;background:#edf3f9;border-radius:10px;color:#667085}.sgcal-note{text-align:center;font-size:13px!important;color:#667085;margin-top:22px!important}@media(max-width:800px){.sgcal-grid{display:none}.sgcal-card{flex-direction:column;padding:24px}.sgcal-book{align-items:flex-start}.sgcal-price small{text-align:left}.sgcal-card h3{font-size:23px}.sgcal-button{width:100%}}

.sgcal-minimum{font-size:14px;line-height:1.6;padding:12px 16px;border-radius:10px;margin:14px 0 0;max-width:100%;overflow-wrap:break-word}.sgcal-minimum-pending{background:#fff5e6;color:#724614;border:1px solid #f0d6b0}.sgcal-minimum-ready{background:#edf6ef;color:#285839;border:1px solid #cde4d3}

.sgcal .sgcal-empty-state{display:block}.sgcal .sgcal-empty-state h3{margin:0 0 12px}.sgcal .sgcal-empty-state p{margin:0!important}

/* Full sessions do not display a minimum-participant warning. */
.sgcal-minimum.sgcal-minimum-full { background:#EDF3F9; border:1px solid #D8E3F0; color:#0A2A57; }

/* Shared pastel palette: retain dark text and explicit training names. */
.sgcal-tone-green { --sgcal-pastel:#E2F1E5; --sgcal-edge:#A9CEB2; }
.sgcal-tone-blue { --sgcal-pastel:#E1EFFB; --sgcal-edge:#A7C9E7; }
.sgcal-tone-purple { --sgcal-pastel:#EEE5F7; --sgcal-edge:#CBB4E1; }
.sgcal-tone-yellow { --sgcal-pastel:#FFF3CC; --sgcal-edge:#E5D18C; }
.sgcal-tone-peach { --sgcal-pastel:#FBE5D9; --sgcal-edge:#E5BAA4; }
.sgcal-tone-neutral { --sgcal-pastel:#EDF3F9; --sgcal-edge:#D8E3F0; }
.sgcal-day a[class*="sgcal-tone-"] { background:var(--sgcal-pastel); border:1px solid var(--sgcal-edge); color:#0A2A57; }
.sgcal-card[class*="sgcal-tone-"] { background:#FFFFFF; border-color:#DCE4EE; }
.sgcal-card[class*="sgcal-tone-"] .sgcal-label { color:#C6281E; }

/* Calendar page CTA: quote button below the text. */

.sg-planning .sg-planning-cta{display:block!important}
.sg-planning .sg-planning-cta .wp-block-buttons{justify-content:flex-start!important;margin-top:24px!important}
