@font-face{font-family:WeddingScript;src:url(wedding-script.ttf)}@font-face{font-family:WeddingSerif;src:url(wedding-serif.ttf)}@font-face{font-family:WeddingSymbols;src:url(wedding-symbols.ttf)}
.wedding-layout{display:grid;grid-template-columns:1.3fr 1fr;min-height:90vh}.wedding-preview{background:#ddd8cf;padding:38px 4vw;position:sticky;top:76px;align-self:start}.preview-heading{display:flex;justify-content:space-between;align-items:center;gap:12px;font-size:14px;margin-bottom:38px}.preview-heading>span{letter-spacing:.1em;font-size:12px;font-weight:700}.preview-heading label{display:flex;align-items:center;gap:8px}.preview-heading input{width:18px;height:18px}.wedding-board{box-shadow:12px 18px 30px #201e192f;border:1px solid #93836c;background:#b9ac96}#art{display:block;width:100%;height:auto}.preview-help,#status{font-size:14px;line-height:1.5;color:#4e514f}.wedding-preview details{margin-top:30px}.wedding-preview img{max-height:350px;max-width:100%;margin-top:15px}.wedding-controls{padding:48px 3.5vw;background:#fffdf8}.wedding-controls h1{font-size:44px;line-height:1.05}.wedding-controls .intro{font-size:16px;margin:20px 0 30px}fieldset{border:0;padding:0;margin:0 0 28px}legend{font-weight:750;margin-bottom:18px}#fields{display:grid;grid-template-columns:1fr 1fr;gap:17px}#fields label:first-child,#fields label:nth-child(4){grid-column:1/-1}label{font-size:14px}label input,label select{display:block;margin-top:7px}input[type=color]{padding:4px;cursor:pointer}.colour-fields{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.geometry{display:grid;grid-template-columns:1fr 1fr;gap:12px}.advanced{border-top:1px solid #10233f25;border-bottom:1px solid #10233f25;padding:18px 0}.advanced p{font-size:14px;line-height:1.5;color:#677182}.advanced>label{display:block;margin-bottom:16px}summary{font-size:16px;font-weight:700;cursor:pointer}.actions{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:24px}.actions button,.import-label{border:1px solid #10233f40;border-radius:8px;padding:13px;background:transparent;cursor:pointer;text-align:center;font-size:14px}.actions .primary-button{grid-column:1/-1;background:#10233f;color:#fff;justify-content:center;font-size:16px}.import-label input{max-width:100%;font-size:12px;height:auto;padding:6px}.small-print{font-size:13px;line-height:1.6}.draft-label{justify-self:end;font-size:14px}button:disabled{opacity:.5;cursor:wait}:focus-visible{outline:3px solid #b5603e;outline-offset:3px}@media(max-width:1000px){.wedding-layout{grid-template-columns:1fr}.wedding-preview{position:static}.wedding-board{max-width:730px;margin:auto}.wedding-controls{padding:34px 24px}.wedding-preview details{margin-top:14px}}@media(max-width:600px){.site-header{grid-template-columns:1fr auto}.wedding-preview{padding:24px 16px}.preview-heading{margin-bottom:20px}.wedding-controls h1{font-size:38px}.colour-fields{gap:8px}.actions{grid-template-columns:1fr}.wedding-controls{padding:30px 18px}}
.personalise-field{margin:0}.personalise-field>.personalise-text-label{display:block;margin:0 0 8px}.personalise-colour{display:flex!important;align-items:center;justify-content:space-between;gap:12px;margin:0!important;color:#677182;font-size:13px!important;font-weight:600!important}.personalise-colour input[type=color]{width:54px!important;height:34px!important;margin:0!important;padding:3px;flex:0 0 54px}
.personalise-colour-control{margin-top:8px}.personalise-colour-heading{display:block;margin-bottom:7px;color:#677182;font-size:13px;font-weight:650}.personalise-colour-swatches{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.personalise-colour-swatch{width:30px;height:30px;padding:0;border:2px solid #fff;border-radius:50%;box-shadow:0 0 0 1px #10233f55;cursor:pointer}.personalise-colour-swatch[aria-pressed=true]{box-shadow:0 0 0 2px #fff,0 0 0 4px #831b49}.personalise-custom-colour{display:flex!important;align-items:center;justify-content:space-between;gap:12px;margin:10px 0 0!important;color:#677182;font-size:13px!important;font-weight:600!important}.personalise-custom-colour input[type=color]{width:54px!important;height:34px!important;margin:0!important;padding:3px;flex:0 0 54px}.colour-status{margin:8px 0 0;color:#8b5b20;font-size:13px;line-height:1.45}.colour-status.good{display:none}.personalise-colour-note{display:block;margin-top:9px;color:#677182;font-size:13px;line-height:1.45}.colour-print-note{margin:12px 0 0;color:#677182;font-size:13px;line-height:1.55}
.product-variant-picker{margin:20px 0 24px}.product-variant-fieldset{border:0!important;padding:0!important;margin:0!important}.product-variant-fieldset legend{margin-bottom:10px}.product-variant-picker .variant-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(112px,1fr));gap:10px}.product-variant-picker .variant-choice{display:flex;flex-direction:column;gap:8px;min-width:0;padding:8px;border:1px solid #10233f30;border-radius:10px;background:#fffdf8;text-align:left;cursor:pointer}.product-variant-picker .variant-choice[aria-pressed=true]{border-color:#831b49;box-shadow:0 0 0 2px #831b4930}.product-variant-picker .variant-choice img{display:block;width:100%;aspect-ratio:1/1;object-fit:cover;border-radius:6px;background:#f1e9e0}.product-variant-picker .variant-choice span{font-size:13px;font-weight:700;line-height:1.25}.product-variant-picker .variant-choice:focus-visible{outline:3px solid #b5603e;outline-offset:2px}
