.canvas-quote{border:1px solid var(--color-border-soft, rgba(0, 0, 0, .08));border-radius:16px;padding:28px;background:#fff;display:grid;gap:28px}@media(max-width:640px){.canvas-quote{padding:18px;gap:22px;border-radius:12px}}.canvas-quote__legend{font-family:var(--font-serif);font-weight:500;font-size:18px;color:var(--color-ink);margin-bottom:14px}.canvas-quote__group{border:0;padding:0;margin:0}.canvas-quote__dims{display:flex;flex-wrap:wrap;align-items:end;gap:14px;padding:18px 20px;background:#faf7f1;border:1px solid var(--color-border-soft, rgba(0, 0, 0, .08));border-radius:12px}.canvas-quote__by{align-self:end;padding-bottom:16px;font-family:var(--font-serif);font-size:22px;color:var(--color-subtle)}.canvas-quote__field{display:grid;gap:6px;font-size:13px;font-weight:600;color:var(--color-ink)}.canvas-quote__field input{padding:14px 16px;border:1px solid var(--color-border, rgba(0, 0, 0, .18));border-radius:10px;font-family:var(--font-serif);font-size:24px;font-weight:500;width:130px;font-variant-numeric:tabular-nums;background:#fff;color:var(--color-ink);-webkit-appearance:none;appearance:none}.canvas-quote__field input:focus{outline:2px solid #1a3550;outline-offset:0;border-color:#1a3550}.canvas-quote__units{display:inline-flex;border:1px solid var(--color-border, rgba(0, 0, 0, .15));border-radius:999px;padding:3px;background:#fff;align-self:end}.canvas-quote__units label{cursor:pointer}.canvas-quote__units input{position:absolute;opacity:0;pointer-events:none}.canvas-quote__units span{display:inline-block;padding:7px 16px;border-radius:999px;font-size:13px;font-weight:600;color:var(--color-muted)}@media(max-width:540px){.canvas-quote__dims{flex-direction:column;align-items:stretch;gap:12px;padding:16px}.canvas-quote__by{display:none}.canvas-quote__field input{width:100%}.canvas-quote__units{align-self:flex-start}}.canvas-quote__units label:has(input:checked) span{background:var(--color-selected);color:#fff}.finishing-grid{display:grid;grid-template-columns:1fr;gap:10px}@media(min-width:700px){.finishing-grid{grid-template-columns:1fr 1fr}}.finishing-card{position:relative;display:grid;grid-template-columns:48px 1fr;align-items:center;gap:14px;padding:14px 16px;border:1px solid var(--color-border-soft, rgba(0, 0, 0, .08));border-radius:12px;cursor:pointer;transition:border-color .15s ease-out,background .15s ease-out}.finishing-card:hover{border-color:#0000002e;background:#00000004}.finishing-card:has(input:checked){border-color:var(--color-selected);background:var(--color-selected-bg);box-shadow:inset 0 0 0 1px var(--color-selected)}.finishing-card input{position:absolute;opacity:0;pointer-events:none}.finishing-card__icon{color:var(--color-muted);display:inline-flex}.finishing-card:has(input:checked) .finishing-card__icon{color:var(--color-selected)}.finishing-card__body{display:grid;gap:2px}.finishing-card__title{font-family:var(--font-serif);font-weight:500;font-size:15px;color:var(--color-ink)}.finishing-card__desc{font-size:12px;color:var(--color-subtle)}.canvas-quote__frame-colour{display:none;padding-top:4px}.frame-colour-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}@media(min-width:600px){.frame-colour-grid{grid-template-columns:repeat(3,1fr)}}@media(min-width:900px){.frame-colour-grid{grid-template-columns:repeat(4,1fr)}}.frame-colour{position:relative;display:flex;flex-direction:column;gap:8px;padding:8px 8px 10px;border:1px solid var(--color-border-soft, rgba(0, 0, 0, .08));border-radius:12px;cursor:pointer;background:#fff;transition:border-color .15s ease-out,background .15s ease-out}.frame-colour__zoom{position:absolute;top:12px;right:12px;width:26px;height:26px;appearance:none;border:0;border-radius:999px;background:#ffffffeb;box-shadow:0 2px 6px #0000002e;color:var(--color-petrol);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;z-index:1;opacity:.85;transition:opacity .15s ease-out,background .15s ease-out,transform .12s ease-out}.frame-colour:hover .frame-colour__zoom,.frame-colour__zoom:hover,.frame-colour__zoom:focus-visible{opacity:1;background:#fff}.frame-colour__zoom:hover{transform:scale(1.06)}.frame-colour__zoom:focus-visible{outline:2px solid var(--color-petrol);outline-offset:2px}.frame-colour:hover{border-color:#0000002e}.frame-colour:has(input:checked){border-color:var(--color-selected);background:var(--color-selected-bg);box-shadow:inset 0 0 0 1px var(--color-selected)}.frame-colour__swatch{width:100%;aspect-ratio:3 / 2;border-radius:8px;border:1px solid rgba(0,0,0,.06);object-fit:cover;object-position:center 28%;display:block;background:#f4efe7}.frame-colour__swatch--placeholder{display:flex;align-items:center;justify-content:center;font-family:var(--font-sans);font-size:11.5px;color:var(--color-subtle);text-align:center;background:repeating-linear-gradient(135deg,#f4efe7,#f4efe7 6px,#ece6db 6px 12px);letter-spacing:.02em}.frame-colour__name{font-family:var(--font-sans);font-size:12.5px;font-weight:500;color:var(--color-ink);line-height:1.25;text-align:center;padding:0 4px}.delivery-grid{display:grid;grid-template-columns:1fr;gap:10px}@media(min-width:600px){.delivery-grid{grid-template-columns:1fr 1fr}}.delivery-card{position:relative;display:grid;gap:2px;padding:14px 16px;border:1px solid var(--color-border-soft, rgba(0, 0, 0, .08));border-radius:12px;cursor:pointer;transition:border-color .15s ease-out,background .15s ease-out}.delivery-card:hover{border-color:#0000002e}.delivery-card:has(input:checked){border-color:var(--color-selected);background:var(--color-selected-bg);box-shadow:inset 0 0 0 1px var(--color-selected)}.delivery-card input{position:absolute;opacity:0;pointer-events:none}.delivery-card__title{font-family:var(--font-serif);font-weight:500;font-size:15px;color:var(--color-ink)}.delivery-card__desc{font-size:12.5px;color:var(--color-subtle)}.canvas-quote__output{border-top:1px solid var(--color-border-soft, rgba(0, 0, 0, .08));padding-top:22px}.quote-breakdown{display:grid;gap:8px;margin-bottom:18px}.quote-row{display:flex;justify-content:space-between;align-items:baseline;font-size:13.5px;color:var(--color-muted);font-variant-numeric:tabular-nums}.quote-row__amount{color:var(--color-ink);font-weight:500}.quote-row--min{color:#92400e;font-style:italic}.quote-result__totalbar{border-top:2px solid var(--color-petrol);padding-top:14px;display:flex;justify-content:space-between;align-items:baseline;gap:16px}.quote-result__totalbar .quote-result__label{font-family:var(--font-sans);font-size:13px;color:var(--color-muted);margin:0}.quote-result__totalbar .quote-result__amount{font-family:var(--font-serif);font-weight:500;font-size:clamp(32px,5vw,44px);line-height:1;color:var(--color-petrol);font-variant-numeric:tabular-nums}.canvas-quote__actions{display:flex;flex-wrap:wrap;align-items:center;gap:10px;border-top:1px solid var(--color-border-soft, rgba(0, 0, 0, .08));padding-top:22px}@media(max-width:640px){.canvas-quote__actions .canvas-quote__btn{flex:1 1 auto}}.canvas-quote__btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:12px 18px;border-radius:999px;font-size:14px;font-weight:700;text-decoration:none;transition:background .15s ease-out,color .15s ease-out}.canvas-quote__btn--wa{background:#25d366;color:#fff}.canvas-quote__btn--wa:hover{background:#1ebe5b}.canvas-quote__btn--secondary{border:1px solid rgba(0,0,0,.18);color:var(--color-ink);background:#fff}.canvas-quote__btn--secondary:hover{background:#00000008}
