/* v0.8: colourful, readable forms with native radio and input behaviour. */
body[data-surface=public] dialog.contact-dialog,
dialog.contact-dialog{
  width:min(740px,calc(100% - 32px));padding:0;border:1px solid #a86cff80;border-radius:22px;
  background:linear-gradient(130deg,#f2eaff,#f5f3ff 42%,#e7f6ff);color:#17172b;color-scheme:light;
  --muted:#5d6475;--line:#dfe3eb;--mist:#f5f7fb;--action-blend:linear-gradient(105deg,#a56aff,#718aff 48%,#00b4ff);
  scrollbar-color:#a889dc #eee9f7;box-shadow:0 30px 100px #0008;
}
.contact-dialog .close-dialog{z-index:2;top:18px;right:18px;color:#fff;background:#ffffff20;border:1px solid #c4a7ff66;width:36px;height:36px;font-size:22px;display:grid;place-items:center}
.contact-dialog .close-dialog:hover{background:#8048b9}.contact-dialog .close-dialog:focus-visible{outline:3px solid #7ddcff;outline-offset:4px}
.dialog-close-bar{display:contents}.contact-dialog .dialog-close-bar{display:block;position:sticky;top:0;height:0;z-index:5;pointer-events:none}.contact-dialog .dialog-close-bar .close-dialog{pointer-events:auto;background:#463465e6;backdrop-filter:blur(6px)}
.contact-intro{position:relative;overflow:hidden;padding:28px 34px 25px;background:radial-gradient(ellipse at 95% 0%,#006e9e55,transparent 64%),linear-gradient(115deg,#2e174e,#14243b);color:white;border-bottom:3px solid transparent;border-image:linear-gradient(90deg,#7c3aed,#00b4ff) 1}
.contact-intro:before{content:'';position:absolute;right:-25px;bottom:-100px;width:290px;height:290px;background:url('assets/symbol.svg') center/contain no-repeat;opacity:.1;pointer-events:none}
.contact-kicker{display:block;color:#d4bcff;text-transform:uppercase;font-size:10px;letter-spacing:.14em;font-weight:750;margin-bottom:13px;padding-right:40px}
.contact-intro h2{font-size:33px;line-height:1.12;color:#fff;margin:0 0 14px;max-width:570px;padding-right:30px;position:relative}
.contact-intro p{font-size:14px;line-height:1.7;color:#d0d8ed;margin:0;position:relative;max-width:560px}
.contact-body{padding:24px 34px 27px}.contact-form{margin:0;gap:19px 17px}
.contact-choices{border:0;padding:0;margin:0;min-width:0;grid-column:1/-1}
.contact-choices legend{font-size:12px;font-weight:800;color:#29243c;padding:0;margin-bottom:9px}
.choice-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.service-choices .choice-grid,.support-choices .choice-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.service-choices .choice-card:last-child,.support-choices .choice-card:last-child{grid-column:span 2}
.choice-card{display:block;position:relative;cursor:pointer;min-width:0}
.choice-card input{position:absolute;opacity:0;width:1px;height:1px;left:15px;top:50%;margin:0}
.choice-surface{display:flex;align-items:center;gap:9px;min-height:47px;height:100%;padding:10px 12px;background:#ffffffb8;border:1px solid #c7bce0;border-radius:10px;color:#39354c;font-size:12px;font-weight:700;line-height:1.35;transition:background .15s,border-color .15s,box-shadow .15s}
.choice-surface>.icon{width:17px;height:17px;flex-shrink:0;color:#713bb6}.choice-label{min-width:0}.choice-tick{display:grid;place-items:center;margin-left:auto;width:18px;height:18px;flex-shrink:0;border:1px solid #a89aba;border-radius:50%;color:transparent;font-size:12px;line-height:1}
.choice-card:hover .choice-surface{background:linear-gradient(110deg,#e4d1ff,#d8f1ff);border-color:#9564d4;box-shadow:0 3px 12px #7c3aed15}
.choice-card input:focus-visible+.choice-surface{outline:3px solid #7035b7;outline-offset:3px;background:linear-gradient(110deg,#e6d4ff,#d8f1ff)}
.choice-card input:checked+.choice-surface{background:var(--action-blend);border-color:#8272d3;color:#111429;box-shadow:0 4px 12px #693bba20}
.choice-card input:checked+.choice-surface .icon{color:#20214b}.choice-card input:checked+.choice-surface .choice-tick{background:#18203e;color:white;border-color:#18203e}
.contact-field{padding:12px 13px 13px;border:1px solid #d0c5e2;border-radius:12px;background:#ffffff72;transition:background .15s,border-color .15s;min-width:0}
.contact-field .field-label{display:flex;align-items:center;justify-content:space-between;gap:10px;color:#29243c;min-height:20px;font-weight:800;font-size:12px}
.contact-field .field-tick{opacity:0;display:grid;place-items:center;width:19px;height:19px;border-radius:50%;background:#6535ae;color:white;font-size:12px;transition:opacity .15s}
.contact-field input,.contact-field textarea{margin-top:7px;background:#ffffffbf;color:#19172a;border-color:#c1b6d3;min-height:43px;font-size:14px;padding:10px 11px;box-shadow:none}
.contact-field input::placeholder,.contact-field textarea::placeholder{color:#716d82;opacity:1}
.contact-field textarea{min-height:85px;line-height:1.6}
.contact-field:hover{background:linear-gradient(115deg,#ece0ffbb,#e4f5ffbb);border-color:#a785d4}
.contact-field:focus-within{background:linear-gradient(115deg,#edddff,#e0f3ff);border-color:#965ccf;box-shadow:0 0 0 2px #7c3aed12}
.contact-field input:focus-visible,.contact-field textarea:focus-visible{outline:2px solid #7841bb;outline-offset:2px;border-color:#915ccd}
.contact-field.is-complete{background:linear-gradient(115deg,#e7d9ff,#daf0ff);border-color:#9c79d0}
.contact-field.is-complete .field-tick{opacity:1}
.contact-field.is-invalid{border-color:#b94377;background:#fff3f7}.contact-field.is-invalid input,.contact-field.is-invalid textarea{border-color:#c55b89}
.field-error{display:block;font-size:11px;font-weight:600;line-height:1.6;color:#9b2452;margin-top:7px}.field-error:empty{display:none}
.contact-submit{grid-column:1/-1;display:flex;gap:18px;align-items:center;flex-wrap:wrap;margin-top:1px}
.contact-submit .button{background:var(--action-blend);color:#0b0f1a;border:1px solid #997bd950;min-height:46px;font-size:13px;font-weight:800;box-shadow:0 5px 20px #744ac522}
.contact-submit .button:hover{background:var(--action-blend);color:#0b0f1a;filter:brightness(1.05)}
.contact-submit>span{font-size:11px;color:#62576e}
.contact-body .form-note{background:transparent;border-top:1px solid #c9b8df;padding:13px 0 0;border-radius:0;margin:19px 0 0!important;font-size:11px!important;line-height:1.65;color:#61576d}
body[data-surface=public] dialog.contact-result-dialog{background:linear-gradient(130deg,#f0e6ff,#e5f5ff);border:1px solid #a688d2}
.contact-result-dialog .request-summary{background:#ffffffb8;border:1px solid #bfa4dd;border-radius:12px;border-top:3px solid #8d5bdd}
@media(max-width:600px){.contact-dialog .close-dialog{top:13px;right:13px;width:34px;height:34px}.contact-intro{padding:25px 22px 23px}.contact-intro h2{font-size:29px;padding-right:20px}.contact-intro p{font-size:13px;max-width:450px}.contact-kicker{font-size:9px;margin-bottom:12px}.contact-body{padding:22px}.contact-form{gap:17px}.contact-field{padding:11px}.service-choices .choice-grid,.support-choices .choice-grid{grid-template-columns:1fr 1fr}.service-choices .choice-card:last-child,.support-choices .choice-card:last-child{grid-column:1/-1}.choice-surface{font-size:12px;padding:10px;min-height:49px;gap:7px}.contact-submit{gap:13px}.contact-submit>span{font-size:11px}}
@media(max-width:420px){.contact-body{padding:20px 17px}.contact-intro{padding-left:20px;padding-right:20px}.contact-intro h2{font-size:28px}.choice-surface>.icon{display:none}.choice-surface{font-size:11px;gap:5px}.choice-grid{gap:7px}.choice-tick{width:17px;height:17px}.contact-submit>span{display:none}}
@media(prefers-reduced-motion:reduce){.choice-surface,.contact-field,.field-tick{transition:none}}

/* v0.9: independent services and a native select-all checkbox. */
.choice-hint{font-size:11px;line-height:1.5;margin:-2px 0 10px;color:#62576e}
.choice-card input[type=checkbox]+.choice-surface .choice-tick{border-radius:5px}
.choice-card input:indeterminate+.choice-surface{background:linear-gradient(110deg,#e4d1ff,#d8f1ff);border-color:#9564d4}
.choice-card input:indeterminate+.choice-surface .choice-tick{background:#68469b;border-color:#68469b;color:transparent;position:relative}
.choice-card input:indeterminate+.choice-surface .choice-tick:after{content:'';position:absolute;width:8px;height:2px;border-radius:1px;background:#fff}
.service-choices.is-invalid .choice-surface{border-color:#b94377}

/* A real contact option while the enquiry form remains a private preview. */
.contact-direct{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:16px 18px;margin-bottom:24px;border:1px solid #b7a0df;border-radius:14px;background:linear-gradient(110deg,#ece1ff,#e3f4ff)}
.contact-direct b{font-size:14px}.contact-direct p{font-size:12px;margin:3px 0 0;color:#4f5268}.contact-direct a{flex-shrink:0}.header-signin{border:0}
@media(max-width:520px){.contact-direct{align-items:flex-start;flex-direction:column;gap:12px}}

/* Confirmed shared sales inbox alongside the main telephone. */
.contact-direct-actions{display:flex;flex-direction:column;align-items:flex-start;gap:9px;min-width:0;max-width:100%}
.contact-direct .contact-direct-email{color:#57308b;font-size:12px;font-weight:750;line-height:1.5;text-decoration:underline;text-underline-offset:3px;overflow-wrap:anywhere;max-width:100%}
.contact-direct-email:focus-visible{outline:2px solid #7841bb;outline-offset:4px;border-radius:2px}

/* Schema-driven enquiry states preserve the existing contact design. */
#enquiry-mount [hidden]{display:none!important}
#wix-enquiry-form>.form-grid{grid-column:1/-1;min-width:0}
#enquiry-mount .form-note:empty{display:none}
#enquiry-mount .button:disabled{cursor:wait;filter:saturate(.45);opacity:.7}
#enquiry-mount [role=status]:focus{outline:2px solid #7841bb;outline-offset:5px}
#enquiry-mount .enquiry-confirmation{padding:20px;border:1px solid #bfa4dd;border-radius:12px;background:linear-gradient(115deg,#e7d9ff,#daf0ff)}
#enquiry-mount .enquiry-confirmation h3{margin:0 0 10px;font-size:23px;color:#29243c}
#enquiry-mount .enquiry-confirmation p{margin:0;color:#4f5268}
