.tsll-form,.tsll-form *{box-sizing:border-box}.tsll-form{--tsll-ink:#201c19;--tsll-muted:#67615c;--tsll-line:#ded9d2;--tsll-accent:#86683c;max-width:650px;background:#fff;color:var(--tsll-ink);padding:28px;font:inherit;border:1px solid #e9e2da;border-radius:14px;box-shadow:0 12px 36px rgba(24,20,16,.07)}.tsll-heading{margin-bottom:22px}.tsll-eyebrow{display:block;font-size:10px;letter-spacing:.18em;font-weight:700;color:var(--tsll-accent);margin-bottom:9px}.tsll-heading h3{font:600 clamp(24px,3vw,33px)/1.2 Georgia,serif;margin:0 0 7px;color:var(--tsll-ink)}.tsll-heading p{font-size:13px;color:var(--tsll-muted);margin:0}.tsll-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.tsll-grid label{display:flex;flex-direction:column;gap:6px;color:#35302b;font-size:12px;font-weight:650}.tsll-grid label span{display:inline;color:#ae7548}.tsll-grid label .tsll-optional{color:#888;font-weight:400}.tsll-wide{grid-column:1/-1}.tsll-grid input,.tsll-grid select,.tsll-grid textarea{font:inherit;font-size:14px;font-weight:400;color:var(--tsll-ink);background:#fff;border:1px solid var(--tsll-line);border-radius:7px;width:100%;min-width:0;padding:11px 12px;box-shadow:none;outline:0}.tsll-grid input:focus,.tsll-grid select:focus,.tsll-grid textarea:focus{border-color:var(--tsll-accent);box-shadow:0 0 0 3px rgba(134,104,60,.13)}.tsll-grid textarea{resize:vertical}.tsll-consent{display:flex;gap:9px;align-items:flex-start;font-size:11px;line-height:1.6;color:#655f58;margin:17px 0}.tsll-consent input{margin:3px 0 0;flex:none}.tsll-consent a{color:#795d36;text-decoration:underline}.tsll-submit,.tsll-popup-trigger{appearance:none;cursor:pointer;border:0;border-radius:7px;padding:13px 20px;background:#262019;color:#fff;font-size:13px;font-weight:650;letter-spacing:.025em}.tsll-submit{display:flex;justify-content:space-between;gap:10px;align-items:center;width:100%}.tsll-submit:disabled{opacity:.65;cursor:wait}.tsll-submit:hover,.tsll-popup-trigger:hover{background:#785b35}.tsll-feedback{min-height:1.4em;margin:10px 0 0;font-size:12px}.tsll-ok{color:#176c3b}.tsll-error{color:#a12c2c}.tsll-trap{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}.tsll-overlay[hidden]{display:none!important}.tsll-overlay{position:fixed;inset:0;z-index:999999;display:grid;place-items:center;padding:20px}.tsll-backdrop{position:absolute;inset:0;background:rgba(17,15,13,.72)}.tsll-dialog{position:relative;z-index:1;width:min(100%,680px);max-height:min(90vh,900px);overflow:auto;outline:none;border-radius:14px}.tsll-dialog .tsll-form{max-width:none;box-shadow:0 24px 90px rgba(0,0,0,.24);padding:32px}.tsll-close{position:absolute;right:13px;top:9px;z-index:2;display:grid;place-items:center;width:32px;height:32px;background:#f3eee8;color:#2b241d;border:0;border-radius:50%;cursor:pointer;font-size:23px}.tsll-modal-open{overflow:hidden}.tsll-auto>.tsll-popup-wrap>.tsll-popup-trigger{position:fixed;right:20px;bottom:24px;z-index:10000;box-shadow:0 8px 22px rgba(0,0,0,.2)}@media(max-width:540px){.tsll-grid{grid-template-columns:1fr;gap:12px}.tsll-form,.tsll-dialog .tsll-form{padding:22px}.tsll-overlay{padding:12px}.tsll-auto>.tsll-popup-wrap>.tsll-popup-trigger{right:12px;bottom:14px}}@media(prefers-reduced-motion:reduce){.tsll-form *, .tsll-popup-wrap *{transition:none!important}}

/* v2.1: outlined enquiry popup trigger, matching TSOLR reference creative. */
.tsll-popup-wrap>.tsll-popup-trigger{display:inline-flex;align-items:center;justify-content:center;gap:14px;min-height:70px;padding:13px 32px;border:3px solid #d4d4d4;border-radius:15px;background:#050505;color:#dedede;font-family:inherit;font-size:clamp(19px,2.4vw,29px);font-weight:500;line-height:1.15;letter-spacing:0;text-align:center;box-shadow:none;white-space:nowrap;transition:background-color .18s ease,border-color .18s ease,color .18s ease}
.tsll-popup-wrap>.tsll-popup-trigger:hover,.tsll-popup-wrap>.tsll-popup-trigger:focus-visible{background:#171717;border-color:#fff;color:#fff}
.tsll-popup-wrap>.tsll-popup-trigger:focus-visible{outline:2px solid #b18e58;outline-offset:3px}
.tsll-trigger-arrow{display:inline-block;font-size:1.12em;line-height:1;transform:translateY(-1px)}
@media(max-width:540px){.tsll-popup-wrap>.tsll-popup-trigger{min-height:56px;padding:11px 21px;border-width:2px;border-radius:12px;gap:11px;font-size:20px}}

/* v2.2: individual form appearance; safe responsive cap */
.tsll-popup-wrap>.tsll-popup-trigger{width:min(100%,var(--tsll-btn-width,310px));max-width:100%;min-height:var(--tsll-btn-height,70px);font-size:var(--tsll-btn-font,28px);padding:12px var(--tsll-btn-padx,32px);border-radius:var(--tsll-btn-radius,15px);border-width:var(--tsll-btn-border,3px);white-space:normal}
.tsll-popup-wrap .tsll-dialog{width:min(100%,var(--tsll-modal-width,680px))}
@media(max-width:540px){.tsll-popup-wrap>.tsll-popup-trigger{font-size:min(var(--tsll-btn-font,28px),22px);min-height:min(var(--tsll-btn-height,70px),70px);padding:11px min(var(--tsll-btn-padx,32px),22px)}}

/* v2.2.1: keep popup trigger label and arrow aligned on one line even with custom widths. */
.tsll-popup-wrap>.tsll-popup-trigger{
 box-sizing:border-box!important;
 display:inline-flex!important;
 flex-direction:row!important;
 flex-wrap:nowrap!important;
 align-items:center!important;
 justify-content:center!important;
 column-gap:clamp(7px,3%,14px)!important;
 white-space:nowrap!important;
 line-height:1.15!important;
 text-decoration:none;
}
.tsll-popup-wrap>.tsll-popup-trigger .tsll-trigger-label{
 display:block!important;
 flex:0 0 auto!important;
 min-width:0;
 white-space:nowrap!important;
 word-break:normal!important;
 overflow-wrap:normal!important;
 line-height:1.15!important;
}
.tsll-popup-wrap>.tsll-popup-trigger .tsll-trigger-arrow{
 display:block!important;
 flex:0 0 auto!important;
 white-space:nowrap!important;
 line-height:1!important;
 margin:0!important;
}
@media(max-width:540px){
 .tsll-popup-wrap>.tsll-popup-trigger{column-gap:8px!important;}
}
/* v2.3: scoped form themes and layout. Prevent Elementor/theme styles bleeding into form fields. */
.tsll-form{--tsll-ink:#27211c;--tsll-muted:#655d55;--tsll-line:#d9cfc1;background:#faf7f1!important;color:var(--tsll-ink)!important;border:1px solid #e5dccd!important;border-radius:14px;max-width:100%;width:100%;}
.tsll-form.tsll-theme-dark{--tsll-ink:#f5f0e8;--tsll-muted:#d1c4b5;--tsll-line:#6a5d4d;background:#211d1a!important;border-color:#5b4a37!important;}
.tsll-form .tsll-heading{padding-right:26px}.tsll-form .tsll-heading h3{color:var(--tsll-ink)!important;margin:0 0 9px!important}.tsll-form .tsll-heading p{color:var(--tsll-muted)!important;line-height:1.5!important}
.tsll-form .tsll-eyebrow{color:var(--tsll-accent)!important}.tsll-form .tsll-grid{width:100%}.tsll-form .tsll-grid>label{display:flex!important;flex-direction:column!important;gap:7px!important;width:100%!important;min-width:0;color:var(--tsll-ink)!important;font-family:inherit!important;font-size:13px!important;line-height:1.35!important;text-transform:none!important;letter-spacing:0!important}
.tsll-form .tsll-grid input,.tsll-form .tsll-grid select,.tsll-form .tsll-grid textarea{display:block!important;width:100%!important;max-width:100%!important;min-width:0!important;height:auto!important;min-height:45px!important;margin:0!important;background:#fff!important;color:#27211c!important;border:1px solid var(--tsll-line)!important;border-radius:8px!important;padding:12px 13px!important;font-family:inherit!important;font-size:14px!important;font-weight:400!important;line-height:1.35!important;box-shadow:none!important;appearance:auto!important}
.tsll-form .tsll-grid textarea{min-height:90px!important}.tsll-form .tsll-grid input:focus,.tsll-form .tsll-grid select:focus,.tsll-form .tsll-grid textarea:focus{outline:2px solid var(--tsll-accent)!important;outline-offset:1px!important}.tsll-form .tsll-consent{color:var(--tsll-muted)!important}.tsll-form .tsll-consent input{accent-color:var(--tsll-accent)}.tsll-form .tsll-submit{display:flex!important;align-items:center!important;justify-content:space-between!important;width:100%!important;min-height:49px!important;background:var(--tsll-accent)!important;color:#fff!important;border:none!important;border-radius:8px!important;font-family:inherit!important;font-size:14px!important;font-weight:600!important;line-height:1.3!important;padding:14px 18px!important;cursor:pointer!important}.tsll-form .tsll-submit:hover{filter:brightness(.88)}.tsll-form .tsll-feedback{margin:12px 0 0!important;line-height:1.45!important}.tsll-form .tsll-feedback.tsll-ok{color:#167346!important}.tsll-theme-dark .tsll-feedback.tsll-ok{color:#9fe2b5!important}.tsll-form .tsll-feedback.tsll-error{color:#bc3333!important}.tsll-theme-dark .tsll-feedback.tsll-error{color:#ffa9a9!important}
.tsll-dialog{border-radius:14px!important;max-width:100%;}.tsll-dialog .tsll-form{max-width:100%!important;box-shadow:0 24px 90px rgba(0,0,0,.28)!important}.tsll-dialog:has(.tsll-theme-dark)>.tsll-close{background:#3b332b;color:#fff}
@media(max-width:600px){.tsll-form .tsll-grid{grid-template-columns:1fr!important}.tsll-form,.tsll-dialog .tsll-form{padding:22px 18px!important}.tsll-overlay{padding:10px!important}.tsll-dialog{max-height:calc(100dvh - 20px)}}
/* v2.6: clean labels, accessible single-choice radio groups, monochrome dark preset */
.tsll-form .tsll-grid>label{display:block!important;line-height:1.5!important;color:var(--tsll-ink)!important;font-size:14px!important;font-weight:600!important}
.tsll-form .tsll-grid>label>span{display:inline!important;color:#e44848!important;vertical-align:baseline!important}
.tsll-form .tsll-grid>label>input,.tsll-form .tsll-grid>label>select,.tsll-form .tsll-grid>label>textarea{display:block!important;width:100%!important;margin-top:8px!important}
.tsll-form .tsll-radio-options{display:flex;flex-wrap:wrap;gap:12px;margin-top:10px}
.tsll-form .tsll-radio-options .tsll-radio-option{display:inline-flex!important;flex-direction:row!important;align-items:center!important;gap:8px!important;width:auto!important;padding:9px 13px;border:1px solid var(--tsll-line);border-radius:7px;font-size:14px!important;cursor:pointer}
.tsll-form .tsll-radio-options input[type=radio]{display:inline-block!important;width:17px!important;height:17px!important;min-height:0!important;margin:0!important;padding:0!important;accent-color:var(--tsll-accent)}
.tsll-form .tsll-radio-options .tsll-radio-option span{display:inline!important;color:var(--tsll-ink)!important}
.tsll-form.tsll-theme-dark{--tsll-ink:#fff;--tsll-muted:#d2d2d2;--tsll-line:#fff;--tsll-accent:#fff!important;background:#050505!important;border:1px solid #fff!important;color:#fff!important}
.tsll-form.tsll-theme-dark .tsll-heading h3,.tsll-form.tsll-theme-dark .tsll-heading p,.tsll-form.tsll-theme-dark .tsll-eyebrow{color:#fff!important}
.tsll-form.tsll-theme-dark .tsll-grid>label>input,.tsll-form.tsll-theme-dark .tsll-grid>label>select,.tsll-form.tsll-theme-dark .tsll-grid>label>textarea{background:#050505!important;color:#fff!important;border:1.5px solid #fff!important;box-shadow:none!important}
.tsll-form.tsll-theme-dark .tsll-submit{background:#fff!important;color:#050505!important;border:1px solid #fff!important}
.tsll-form.tsll-theme-dark .tsll-consent,.tsll-form.tsll-theme-dark .tsll-consent a{color:#fff!important}
.tsll-dialog:has(.tsll-theme-dark){background:#050505!important}

/* v2.7.1: valid accessible radio fieldset, inline labels and consistent dark theme */
.tsll-form .tsll-grid>label{display:block!important;color:var(--tsll-ink)!important}
.tsll-form .tsll-grid>label>span{display:inline!important;color:#ff3838!important}
.tsll-form .tsll-grid>label>input,.tsll-form .tsll-grid>label>select,.tsll-form .tsll-grid>label>textarea{display:block!important;margin-top:9px!important}
.tsll-form .tsll-radio-field{border:0!important;margin:0!important;padding:0!important;min-width:0;color:var(--tsll-ink)!important}
.tsll-form .tsll-radio-field legend{font-size:13px;font-weight:650;color:var(--tsll-ink)!important;margin:0 0 8px;padding:0}
.tsll-form .tsll-radio-field .tsll-required-mark{color:#ff3838!important}
.tsll-form .tsll-radio-options{display:flex;flex-wrap:wrap;gap:10px}
.tsll-form .tsll-radio-options .tsll-radio-option{display:inline-flex!important;flex-direction:row!important;align-items:center!important;width:auto!important;gap:8px!important;color:var(--tsll-ink)!important}
.tsll-form .tsll-radio-options input[type=radio]{display:inline-block!important;width:17px!important;height:17px!important;min-height:0!important;margin:0!important;padding:0!important}
.tsll-form.tsll-theme-dark .tsll-grid>label>input,.tsll-form.tsll-theme-dark .tsll-grid>label>select,.tsll-form.tsll-theme-dark .tsll-grid>label>textarea{background:#050505!important;color:#fff!important;border:2px solid #fff!important}

/* v2.8 – definitive scoped form layout; no cumulative Elementor/theme interference */
.tsll-form .tsll-grid>label{display:block!important;flex-direction:initial!important;white-space:normal!important;font-size:14px!important;line-height:1.5!important;color:var(--tsll-ink)!important;}
.tsll-form .tsll-grid>label>.tsll-required-mark{display:inline!important;position:static!important;float:none!important;width:auto!important;height:auto!important;line-height:inherit!important;margin:0 0 0 3px!important;padding:0!important;vertical-align:baseline!important;color:#ff3838!important;}
.tsll-form .tsll-grid>label>input,.tsll-form .tsll-grid>label>select,.tsll-form .tsll-grid>label>textarea{display:block!important;clear:both!important;width:100%!important;margin:8px 0 0!important;}
.tsll-form .tsll-radio-field{grid-column:auto}.tsll-form .tsll-radio-field legend{display:block!important;color:var(--tsll-ink)!important}.tsll-form .tsll-radio-field legend>.tsll-required-mark{display:inline!important;color:#ff3838!important}.tsll-form .tsll-radio-option input[type=radio]{width:17px!important;height:17px!important;min-height:0!important;margin:0!important;}
.tsll-form.tsll-theme-dark .tsll-submit{background:#fff!important;color:#050505!important;border:1px solid #fff!important;}
