/* v3.21.0 — Visual Groupwear Configurator. Scoped to Group Orders. */
.ffgw3210-hero{background:#f6f8fb;border-bottom:1px solid #e5eaf0}
.ffgw3210-hero>.ffedu-shell{padding:30px 0 24px}
.ffgw3210-hero h1{margin:6px 0 9px;font-size:43px;line-height:1.03;letter-spacing:-.045em;color:#102544;font-weight:700}
.ffgw3210-hero p{margin:0;max-width:760px;font-size:15px;line-height:1.5;color:#40536b}
.ffgw3210-hero-points{display:flex;flex-wrap:wrap;gap:6px;margin-top:14px}
.ffgw3210-hero-points span{padding:5px 8px;border-radius:999px;background:#eaf6ef;color:#087a41;font-size:8px;font-weight:800}

.ffgw3210-form{padding:0 0 40px;background:#fff}
.ffgw3210-layout{display:grid;grid-template-columns:minmax(0,1fr) 400px;gap:34px;align-items:start}
.ffgw3210-options{min-width:0}
.ffgw3210-section{padding:28px 0;border-bottom:1px solid #edf1f5;scroll-margin-top:100px}
.ffgw3210-section:last-child{border-bottom:0}
.ffgw3210-section-head{display:flex;align-items:flex-start;gap:11px;margin-bottom:16px}
.ffgw3210-section-head>span{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;flex:none;background:#102b49;color:#fff;font-size:9px;font-weight:800}
.ffgw3210-section-head h2{margin:0;font-size:22px;line-height:1.15;letter-spacing:-.03em;color:#102544}
.ffgw3210-section-head p{margin:4px 0 0;font-size:10px;color:#6c7b8d}

.ffgw3210-choice-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px}
.ffgw3210-choice{position:relative}
.ffgw3210-choice>input{position:absolute;opacity:0;pointer-events:none}
.ffgw3210-choice>span{min-height:82px;display:flex;flex-direction:column;justify-content:center;gap:4px;border:1px solid #dce4ec;border-radius:8px;background:#fff;padding:11px;cursor:pointer}
.ffgw3210-choice strong{font-size:10px;color:#14243b}.ffgw3210-choice small{font-size:8px;line-height:1.4;color:#6c7b8d}
.ffgw3210-choice.compact>span{min-height:54px}
.ffgw3210-choice>input:checked+span{border-color:#0aa457;background:#f2fbf6;box-shadow:0 0 0 2px rgba(10,164,87,.12)}
.ffgw3210-choice>input:focus-visible+span{outline:3px solid #1676c4;outline-offset:2px}

.ffgw3210-segmented{display:inline-flex;border:1px solid #dce4ec;border-radius:7px;overflow:hidden;background:#fff}
.ffgw3210-segmented label{position:relative}.ffgw3210-segmented input{position:absolute;opacity:0}
.ffgw3210-segmented span{display:block;min-width:94px;text-align:center;padding:9px 15px;font-size:10px;font-weight:800;cursor:pointer}
.ffgw3210-segmented input:checked+span{background:#102b49;color:#fff}

.ffgw3210-garment-toolbar{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:12px}
.ffgw3210-garment-toolbar>span{font-size:9px;color:#53657a}
.ffgw3210-garment-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.ffgw3210-garment{position:relative;display:block;color:#14243b}
.ffgw3210-garment>input{position:absolute;opacity:0;pointer-events:none}
.ffgw3210-garment>span{display:block;border:1px solid #e1e7ed;border-radius:8px;background:#fff;overflow:hidden;cursor:pointer}
.ffgw3210-garment:hover>span{border-color:#c7d4e1;box-shadow:0 4px 14px rgba(10,35,66,.06)}
.ffgw3210-garment>input:checked+span{border-color:#0aa457;box-shadow:0 0 0 2px rgba(10,164,87,.12)}
.ffgw3210-garment-media{height:165px;background:#f3f6f9;display:grid;place-items:center;padding:12px}
.ffgw3210-garment-media img{width:100%;height:100%;object-fit:contain}.ffgw3210-garment-media svg{width:58px;height:58px;color:#71849a}
.ffgw3210-garment>span>strong,.ffgw3210-garment>span>small{display:block;padding-inline:10px}
.ffgw3210-garment>span>strong{font-size:10px;padding-top:9px}
.ffgw3210-garment>span>small{font-size:8px;color:#6c7b8d;padding-top:3px;padding-bottom:10px}

.ffgw3210-colours{display:flex;flex-wrap:wrap;gap:8px}
.ffgw3210-colour{display:flex;align-items:center;gap:7px;min-height:38px;border:1px solid #dce4ec;border-radius:7px;background:#fff;padding:5px 9px;font-size:9px;color:#30455f}
.ffgw3210-colour>span{width:24px;height:24px;border-radius:5px;background:var(--swatch);border:1px solid rgba(0,0,0,.12)}
.ffgw3210-colour strong{font-size:9px}.ffgw3210-colour.is-selected{border-color:#102b49;box-shadow:0 0 0 1px #102b49}
.ffgw3210-placeholder{display:block;font-size:9px;color:#718096;padding:10px 0}

.ffgw3210-template-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:10px}
.ffgw3210-mini-choice,.ffgw3210-upload>span{height:34px;display:inline-flex;align-items:center;border:1px solid #dce4ec;border-radius:6px;background:#fff;padding:0 10px;font-size:9px;font-weight:700;color:#30455f;cursor:pointer}
.ffgw3210-mini-choice.is-selected{border-color:#102b49;background:#f1f6fb}
.ffgw3210-upload{position:relative}.ffgw3210-upload input{position:absolute;opacity:0;inset:0;width:100%;cursor:pointer}
.ffgw3210-upload>span{background:#f6f8fb}
.ffgw3210-template-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px}
.ffgw3210-template{border:1px solid #e1e7ed;border-radius:8px;background:#fff;padding:7px;text-align:left;cursor:pointer}
.ffgw3210-template.is-selected{border-color:#0aa457;box-shadow:0 0 0 2px rgba(10,164,87,.12)}
.ffgw3210-template img,.ffgw3210-template-mask{display:block;width:100%;height:110px;object-fit:contain;background:#eef2f6;border-radius:5px}
.ffgw3210-template-mask{background-color:#102b49;mask:var(--asset) center/contain no-repeat;-webkit-mask:var(--asset) center/contain no-repeat}
.ffgw3210-template strong,.ffgw3210-template small{display:block}
.ffgw3210-template strong{font-size:9px;margin-top:7px}.ffgw3210-template small{font-size:7px;color:#6c7b8d;margin-top:2px}

.ffgw3210-design-colours{display:flex;flex-wrap:wrap;gap:9px}
.ffgw3210-design-text-fields{display:grid;grid-template-columns:1fr 150px;gap:10px;margin-top:12px}
.ffgw3210-design-swatch{width:36px;height:36px;border-radius:50%;background:var(--swatch);border:3px solid #fff;outline:1px solid #cbd5e1}
.ffgw3210-design-swatch.is-selected{outline:2px solid #102b49;transform:scale(1.05)}

.ffgw3210-personalisation-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
.ffgw3210-field{display:block;margin-top:12px}
.ffgw3210-field>span{display:block;margin-bottom:5px;font-size:9px;font-weight:700;color:#30455f}
.ffgw3210-field input,.ffgw3210-field select,.ffgw3210-field textarea{width:100%;border:1px solid #dce4ec;border-radius:6px;background:#fff;padding:9px 10px;font-size:10px}
.ffgw3210-order-methods{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.ffgw3210-order-methods label{position:relative}.ffgw3210-order-methods input{position:absolute;opacity:0}
.ffgw3210-order-methods label>span{display:block;min-height:78px;border:1px solid #dce4ec;border-radius:8px;padding:11px;cursor:pointer}
.ffgw3210-order-methods strong,.ffgw3210-order-methods small{display:block}.ffgw3210-order-methods strong{font-size:10px}.ffgw3210-order-methods small{font-size:8px;color:#6c7b8d;line-height:1.45;margin-top:4px}
.ffgw3210-order-methods input:checked+span{border-color:#0aa457;background:#f2fbf6}
.ffgw3210-order-fields,.ffgw3210-details-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.ffgw3210-bulk-sizes{margin-top:14px;padding:12px;border:1px solid #e1e7ed;border-radius:8px;background:#f8fafc}
.ffgw3210-bulk-sizes h3{margin:0 0 3px;font-size:12px}.ffgw3210-bulk-sizes p{margin:0 0 10px;font-size:8px;color:#6c7b8d}
.ffgw3210-bulk-sizes [data-ffgw-size-quantity-grid]{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:7px}
.ffgw3210-bulk-sizes label span{display:block;font-size:8px;font-weight:700;margin-bottom:4px}.ffgw3210-bulk-sizes input{width:100%;height:34px;border:1px solid #dce4ec;border-radius:5px;text-align:center}
.ffgw3210-check{display:flex;align-items:flex-start;gap:8px;margin-top:10px;font-size:8px;color:#53657a}
.ffgw3210-submit{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-top:16px;padding:14px;border:1px solid #dfe7ef;border-radius:8px;background:#f8fafc}
.ffgw3210-submit strong,.ffgw3210-submit small{display:block}.ffgw3210-submit strong{font-size:10px}.ffgw3210-submit small{font-size:8px;color:#6c7b8d;margin-top:3px;max-width:500px}

.ffgw3210-preview-column{padding-top:28px}
.ffgw3210-preview-card{position:sticky;top:92px;border:1px solid #dce4ec;border-radius:10px;background:#fff;padding:12px;box-shadow:0 8px 24px rgba(10,35,66,.08)}
.ffgw3210-preview-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;padding:2px 2px 10px}
.ffgw3210-preview-head span,.ffgw3210-preview-head strong{display:block}.ffgw3210-preview-head span{font-size:8px;color:#6c7b8d}.ffgw3210-preview-head strong{font-size:13px;color:#102544;margin-top:2px}
.ffgw3210-preview-badge{border-radius:99px;background:#eaf6ef;color:#087a41!important;padding:4px 7px!important;font-size:7px!important;font-weight:800}
.ffgw3210-view-tabs{display:flex;gap:6px;margin-bottom:8px}
.ffgw3210-view-tabs button{height:30px;border:1px solid #dce4ec;border-radius:5px;background:#fff;padding:0 10px;font-size:8px;font-weight:800;color:#30455f}
.ffgw3210-view-tabs button.is-selected{background:#102b49;color:#fff;border-color:#102b49}
.ffgw3210-stage{position:relative;height:430px;overflow:hidden;border-radius:8px;background:#f3f6f9;display:grid;place-items:center}
.ffgw3210-stage>img[data-ffgw-garment-image]{width:100%;height:100%;object-fit:contain;padding:16px}
.ffgw3210-empty{display:flex;flex-direction:column;align-items:center;text-align:center;gap:7px;color:#71849a}.ffgw3210-empty svg{width:80px;height:80px}.ffgw3210-empty strong{font-size:11px;color:#40536b}.ffgw3210-empty small{font-size:8px}
.ffgw3210-template-layer,.ffgw3210-artwork-layer,.ffgw3210-group-text-layer,.ffgw3210-year-layer,.ffgw3210-personalisation-layer{position:absolute;z-index:4;pointer-events:none}
.ffgw3210-template-layer.is-mask{background:var(--design-colour);mask:var(--asset) center/contain no-repeat;-webkit-mask:var(--asset) center/contain no-repeat}
.ffgw3210-template-layer.is-image{background-position:center;background-repeat:no-repeat;background-size:contain}
.ffgw3210-artwork-layer{object-fit:contain}
.ffgw3210-group-text-layer,.ffgw3210-year-layer{display:flex;align-items:center;justify-content:center;text-align:center;overflow:hidden;color:#fff;text-shadow:0 1px 3px rgba(0,0,0,.8);font-weight:900;line-height:1.05;text-transform:uppercase}
.ffgw3210-group-text-layer{font-size:clamp(9px,1vw,15px)}.ffgw3210-year-layer{font-size:clamp(18px,2.4vw,34px)}
.ffgw3210-personalisation-layer{display:flex;align-items:center;justify-content:center;text-align:center;color:#fff;text-shadow:0 1px 3px rgba(0,0,0,.8);font-size:12px;font-weight:800;line-height:1.05;overflow:hidden}
.ffgw3210-preview-summary{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin-top:9px}
.ffgw3210-preview-summary>div{border:1px solid #e7edf3;border-radius:6px;padding:7px}.ffgw3210-preview-summary span,.ffgw3210-preview-summary strong{display:block}.ffgw3210-preview-summary span{font-size:7px;color:#718096}.ffgw3210-preview-summary strong{font-size:8px;margin-top:2px;color:#30455f}
.ffgw3210-preview-card>p{margin:8px 2px 0;font-size:7px;line-height:1.45;color:#718096}
.ffgw3210-mobile-review{display:none}

@media(max-width:1100px){
 .ffgw3210-layout{grid-template-columns:minmax(0,1fr) 350px;gap:24px}
 .ffgw3210-choice-grid{grid-template-columns:repeat(3,1fr)}
 .ffgw3210-template-grid{grid-template-columns:repeat(3,1fr)}
 .ffgw3210-stage{height:390px}
}
@media(max-width:820px){
 .ffgw3210-hero h1{font-size:38px}
 .ffgw3210-layout{grid-template-columns:1fr}
 .ffgw3210-preview-column{order:-1;padding-top:18px}
 .ffgw3210-preview-card{position:relative;top:auto}
 .ffgw3210-stage{height:360px}
 .ffgw3210-garment-grid{grid-template-columns:repeat(3,1fr)}
 .ffgw3210-choice-grid{grid-template-columns:repeat(2,1fr)}
 .ffgw3210-template-grid{grid-template-columns:repeat(4,1fr)}
}
@media(max-width:560px){
 .ffgw3210-hero>.ffedu-shell{padding:24px 0 18px}.ffgw3210-hero h1{font-size:32px}.ffgw3210-hero p{font-size:13px}
 .ffgw3210-layout{width:calc(100% - 24px)!important}.ffgw3210-section{padding:22px 0}
 .ffgw3210-section-head h2{font-size:19px}
 .ffgw3210-choice-grid,.ffgw3210-garment-grid,.ffgw3210-template-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
 .ffgw3210-garment-media{height:135px}.ffgw3210-template img,.ffgw3210-template-mask{height:92px}
 .ffgw3210-preview-column{order:0;padding-top:0}.ffgw3210-preview-card{margin-top:4px}.ffgw3210-stage{height:310px}
 .ffgw3210-order-methods,.ffgw3210-order-fields,.ffgw3210-details-grid,.ffgw3210-personalisation-grid{grid-template-columns:1fr}
 .ffgw3210-bulk-sizes [data-ffgw-size-quantity-grid]{grid-template-columns:repeat(3,1fr)}
 .ffgw3210-submit{align-items:flex-start;flex-direction:column}.ffgw3210-submit .button{width:100%}
 .ffgw3210-mobile-review{display:block;position:sticky;bottom:0;z-index:25;background:rgba(255,255,255,.96);border-top:1px solid #e1e7ed;padding:8px 12px}.ffgw3210-mobile-review .button{width:100%}
}

@media(max-width:560px){.ffgw3210-design-text-fields{grid-template-columns:1fr}}
