.jsg-meetings{margin:3rem 0;padding:clamp(1rem,3vw,2rem);border:1px solid var(--line);border-radius:20px;background:#fff;box-shadow:0 12px 36px #183e4910;scroll-margin-top:2rem}.jsg-calendar-heading{display:flex;align-items:center;justify-content:space-between;gap:1.5rem;flex-wrap:wrap}.jsg-calendar-heading h2,.jsg-giftaid-heading h2{margin:.3rem 0 .7rem}.jsg-meetings .eyebrow{margin:0 0 .5rem}.jsg-postcode-form{display:flex;align-items:end;flex-wrap:wrap;gap:1rem;margin:1.5rem 0;padding:1.25rem;background:#edf6ff;border-radius:14px}.jsg-postcode-form label{flex:1 1 190px;font-weight:700}.jsg-postcode-form input,.jsg-gift-form input:not([type=checkbox]),.jsg-gift-form textarea,.jsg-gift-form select{display:block;width:100%;padding:.8rem;border:1px solid #8ca8b2;border-radius:7px;background:#fff;color:var(--ink);font:inherit;margin-top:.4rem;box-sizing:border-box}.jsg-postcode-form button{margin:0;min-height:49px}.jsg-help{font-size:.9rem;line-height:1.6;color:#415e69}.jsg-postcode-form .jsg-help{flex-basis:100%;margin:0}.jsg-month-controls{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin:1.5rem 0 1rem}.jsg-month-controls h3{margin:0;text-align:center}.jsg-month-controls button{min-width:45px;min-height:45px;padding:.6rem}.jsg-month-controls button:disabled{opacity:.4;cursor:default}.jsg-month-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:5px;margin-bottom:1.5rem}.jsg-weekday{text-align:center;padding:.5rem 0;font-size:.8rem;font-weight:700;color:#466776}.jsg-calendar-day{display:flex;min-height:66px;flex-direction:column;gap:5px;border:1px solid var(--line);border-radius:7px;background:#f6f9fa;padding:.5rem;font:inherit;color:#466776;text-align:left;min-width:0}.jsg-calendar-day small{font-size:.72rem;line-height:1.2;overflow-wrap:anywhere}.jsg-calendar-day.has-meetings{background:#e2f1ff;border-color:#648b99;color:var(--navy);font-weight:700;cursor:pointer}.jsg-calendar-day.has-meetings:hover,.jsg-calendar-day[aria-pressed=true]{background:var(--navy);color:white}.jsg-meeting-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr));gap:1rem}.jsg-meeting-card{padding:1.25rem;border:1px solid var(--line);border-radius:12px;background:#fff}.jsg-meeting-card h3{margin:.25rem 0 .75rem}.jsg-meeting-card p{margin:.4rem 0}.jsg-meeting-card .eyebrow{font-size:.8rem;letter-spacing:.04em}.jsg-nearest-card{border:2px solid var(--blue);background:#edf6ff}.jsg-result-status:empty{display:none}.jsg-result-status{padding:1rem;border-left:4px solid var(--blue);background:#edf6ff}.jsg-distance{font-weight:700}.jsg-meetings [data-nearest-results]{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));gap:1rem}.jsg-giftaid-section{background:#f2f8ff}.jsg-giftaid-heading{max-width:800px}.jsg-gift-details{margin:1.5rem 0;border:1px solid #a8c1ca;border-radius:12px;background:#fff;padding:1.25rem}.jsg-gift-details summary{font-size:1.15rem;font-weight:700;cursor:pointer;padding:.5rem;min-height:40px}.jsg-gift-form{max-width:760px;padding-top:1.25rem}.jsg-gift-form>label,.jsg-form-grid{display:block;margin-bottom:1.25rem}.jsg-gift-form label{font-weight:700}.jsg-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.25rem}.jsg-gift-form small{display:block;font-weight:400;margin-top:.5rem}.jsg-gift-form .jsg-checkbox{display:flex;align-items:flex-start;gap:.8rem;padding:1rem;background:#edf6ff;border-radius:8px;line-height:1.6;font-weight:400}.jsg-checkbox input{margin-top:.3rem;width:22px;height:22px;flex-shrink:0;accent-color:var(--blue)}.jsg-gift-form .is-success{padding:1rem;background:#e6f5eb;color:#1e5b36}.jsg-gift-form .is-error{padding:1rem;background:#fff0eb;color:#8b3020}.jsg-canmore-wordmark{font-size:1.5rem;font-weight:700;letter-spacing:.02em;color:var(--navy);padding:2rem;min-height:130px}.jsg-gift-form button:disabled{opacity:.6}.jsg-meetings :focus-visible,.jsg-gift-details :focus-visible{outline:3px solid #d18b24;outline-offset:3px}.jsg-meetings [hidden]{display:none!important}@media(max-width:600px){.jsg-form-grid{grid-template-columns:1fr}.jsg-calendar-day{min-height:56px;padding:.3rem;font-size:.85rem}.jsg-calendar-day small{font-size:.62rem}.jsg-postcode-form{padding:.9rem}.jsg-postcode-form button{width:100%}.jsg-calendar-heading .button{width:100%;white-space:normal;text-align:center}.jsg-calendar-heading{gap:.7rem}.jsg-month-controls h3{font-size:1.1rem}.jsg-gift-details{padding:.8rem}.jsg-month-grid{gap:3px}}
