/* Tiger Forms — frontend styles (v2 "modern"). Compiled from scss/tigform-form.scss. */
.tigform-form{--tigform-col-gap:1.25rem;--tigform-row-gap:1.4rem;--tigform-submit-align:start;--tigform-input-radius:10px;--tigform-focus-ring:4px;--tigform-accent:#6f42c1;--tigform-accent-hover:#5a35a1;--tigform-accent-contrast:#fff;--tigform-accent-soft:rgba(111,66,193,.14);--tigform-text:#1f2533;--tigform-muted:#6b7280;--tigform-border:#d9dee8;--tigform-border-strong:#c2c9d6;--tigform-surface:#fff;--tigform-surface-subtle:#f6f7fb;--tigform-error:#e5484d;--tigform-error-soft:rgba(229,72,77,.12);--tigform-success:#2ba26b;--tigform-success-soft:rgba(43,162,107,.12);--tigform-shadow-sm:0 1px 2px rgba(16,24,40,.06);--tigform-shadow-md:0 6px 18px -6px rgba(16,24,40,.18);--tigform-control-h:2.875rem;display:block;max-width:100%;color:var(--tigform-text);font-feature-settings:"kern";-webkit-font-smoothing:antialiased;contain:layout style}
.tigform-form *,.tigform-form *::before,.tigform-form *::after{box-sizing:border-box}
/* Explicit form width (builder default / shortcode width="" / block control).
   Doubled class on purpose: WordPress' constrained-layout rule
   `.is-layout-constrained > :where(...)` caps children at the theme content
   width with the SAME specificity, and won on source order — an 800px form
   silently rendered at the theme width. (0,2,0) beats it, and still loses to
   Elementor's `{{WRAPPER}} .tigform-form` so the Style tab stays the final word.
   max-width:100% keeps a fixed width from overflowing narrow screens. */
.tigform-form.tigform-form--width{width:var(--tigform-w);max-width:100%;margin-inline:auto}
.tigform-form--dark{--tigform-text:#e7e9ee;--tigform-muted:#9aa3b2;--tigform-border:#353b49;--tigform-border-strong:#454c5c;--tigform-surface:#1c1f27;--tigform-surface-subtle:#232733;--tigform-shadow-md:0 8px 24px -8px rgba(0,0,0,.6)}

.tigform-fields{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:var(--tigform-row-gap) var(--tigform-col-gap)}
.tigform-field{grid-column:span 12;min-width:0}
.tigform-field[data-width="50"]{grid-column:span 6}
.tigform-field[data-width="33"]{grid-column:span 4}
.tigform-field[data-width="25"]{grid-column:span 3}
.tigform-field[data-width="100"]{grid-column:span 12}
.tigform-field--hidden,.tigform-hidden{display:none !important}

.tigform-field-label{display:block;margin-bottom:.45rem;font-weight:600;font-size:.9375rem;line-height:1.35;letter-spacing:.005em;color:var(--tigform-text)}
.tigform-required{margin-left:3px;color:var(--tigform-error);font-weight:700}

.tigform-input{display:block;width:100%;min-height:var(--tigform-control-h);padding:.4375rem .875rem;border:1.5px solid var(--tigform-border);border-radius:var(--tigform-input-radius);background-color:var(--tigform-surface);color:var(--tigform-text);font:inherit;font-size:1rem;line-height:1.4;box-shadow:var(--tigform-shadow-sm);transition:border-color 140ms ease,box-shadow 140ms ease,background-color 140ms ease;appearance:none}
.tigform-input::placeholder{color:var(--tigform-muted);opacity:1}
.tigform-input:hover:not(:focus):not([disabled]){border-color:var(--tigform-border-strong)}
.tigform-input:focus,.tigform-input:focus-visible{outline:none;border-color:var(--tigform-accent);box-shadow:0 0 0 var(--tigform-focus-ring) var(--tigform-accent-soft)}
.tigform-input[disabled],.tigform-input[readonly]{background-color:var(--tigform-surface-subtle);opacity:.7;cursor:not-allowed}
textarea.tigform-input{min-height:7rem;line-height:1.55;resize:vertical}
select.tigform-input{padding-right:2.5rem;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%236b7280' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .9rem center;cursor:pointer}
select[multiple].tigform-input{background-image:none;padding-right:.875rem;min-height:8rem}

.tigform-has-error .tigform-input{border-color:var(--tigform-error) !important;box-shadow:0 0 0 var(--tigform-focus-ring) var(--tigform-error-soft)}
.tigform-has-error .tigform-field-label{color:var(--tigform-error)}
.tigform-field-error{display:flex;align-items:center;gap:.35rem;min-height:1.25rem;margin:.4rem 0 0;color:var(--tigform-error);font-size:.8125rem;font-weight:500;line-height:1.3}
.tigform-field-error:empty{display:none}
.tigform-field-error::before{content:"";flex:0 0 auto;width:14px;height:14px;background:currentColor;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2a10 10 0 100 20 10 10 0 000-20zm0 5a1 1 0 011 1v5a1 1 0 01-2 0V8a1 1 0 011-1zm0 11a1.25 1.25 0 110-2.5 1.25 1.25 0 010 2.5z'/%3E%3C/svg%3E") center/contain no-repeat;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2a10 10 0 100 20 10 10 0 000-20zm0 5a1 1 0 011 1v5a1 1 0 01-2 0V8a1 1 0 011-1zm0 11a1.25 1.25 0 110-2.5 1.25 1.25 0 010 2.5z'/%3E%3C/svg%3E") center/contain no-repeat}
.tigform-field-help{margin:.4rem 0 0;font-size:.8125rem;line-height:1.4;color:var(--tigform-muted)}

.tigform-choices{display:flex;flex-direction:column;gap:.625rem}
.tigform-choice,.tigform-checkbox{display:inline-flex;align-items:center;gap:.625rem;cursor:pointer;font-size:.9375rem;line-height:1.4;color:var(--tigform-text);user-select:none}
.tigform-checkbox{align-items:flex-start}
.tigform-choice input[type="radio"],.tigform-choice input[type="checkbox"],.tigform-checkbox input[type="checkbox"]{appearance:none;-webkit-appearance:none;flex:0 0 auto;display:grid;place-content:center;width:1.2em;height:1.2em;margin:.1em 0 0;border:1.5px solid var(--tigform-border-strong);background:var(--tigform-surface);cursor:pointer;transition:background-color 120ms ease,border-color 120ms ease,box-shadow 120ms ease}
.tigform-choice input[type="radio"]::before,.tigform-choice input[type="checkbox"]::before,.tigform-checkbox input[type="checkbox"]::before{content:"";transform:scale(0);transition:transform 120ms ease}
.tigform-choice input[type="radio"]:focus-visible,.tigform-choice input[type="checkbox"]:focus-visible,.tigform-checkbox input[type="checkbox"]:focus-visible{outline:2px solid var(--tigform-accent);outline-offset:2px}
.tigform-choice input[type="radio"]{border-radius:50%}
.tigform-choice input[type="radio"]::before{width:.6em;height:.6em;border-radius:50%;box-shadow:inset 1em 1em var(--tigform-accent)}
.tigform-choice input[type="radio"]:checked{border-color:var(--tigform-accent)}
.tigform-choice input[type="radio"]:checked::before{transform:scale(1)}
.tigform-choice input[type="checkbox"],.tigform-checkbox input[type="checkbox"]{border-radius:.375em}
.tigform-choice input[type="checkbox"]::before,.tigform-checkbox input[type="checkbox"]::before{width:.7em;height:.7em;clip-path:polygon(14% 44%,0 65%,50% 100%,100% 16%,80% 0,43% 62%);box-shadow:inset 1em 1em var(--tigform-accent-contrast)}
.tigform-choice input[type="checkbox"]:checked,.tigform-checkbox input[type="checkbox"]:checked{background:var(--tigform-accent);border-color:var(--tigform-accent)}
.tigform-choice input[type="checkbox"]:checked::before,.tigform-checkbox input[type="checkbox"]:checked::before{transform:scale(1)}

.tigform-dropzone{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.35rem;min-height:9rem;padding:1.5rem 1rem;border:2px dashed var(--tigform-border-strong);border-radius:var(--tigform-input-radius);background-color:var(--tigform-surface-subtle);text-align:center;transition:background-color 140ms ease,border-color 140ms ease}
.tigform-dropzone::before{content:"";width:28px;height:28px;margin-bottom:.25rem;background:var(--tigform-muted);mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M21 15v4a2 2 0 01-2 2H5a2 2 0 01-2-2v-4'/%3E%3Cpolyline points='17 8 12 3 7 8'/%3E%3Cline x1='12' y1='3' x2='12' y2='15'/%3E%3C/svg%3E") center/contain no-repeat;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M21 15v4a2 2 0 01-2 2H5a2 2 0 01-2-2v-4'/%3E%3Cpolyline points='17 8 12 3 7 8'/%3E%3Cline x1='12' y1='3' x2='12' y2='15'/%3E%3C/svg%3E") center/contain no-repeat}
.tigform-dropzone--active,.tigform-dropzone.tigform-dropzone--active{background-color:var(--tigform-accent-soft);border-color:var(--tigform-accent)}
.tigform-dropzone--active::before,.tigform-dropzone.tigform-dropzone--active::before{background:var(--tigform-accent)}
.tigform-dropzone .tigform-file{max-width:100%;font-size:.875rem;color:var(--tigform-muted);cursor:pointer}
.tigform-dropzone .tigform-file::file-selector-button{margin-right:.75rem;padding:.45rem .95rem;border:1.5px solid var(--tigform-border-strong);border-radius:calc(var(--tigform-input-radius) - 3px);background:var(--tigform-surface);color:var(--tigform-text);font:inherit;font-weight:600;font-size:.8125rem;cursor:pointer;transition:background-color 120ms ease,border-color 120ms ease}
.tigform-dropzone .tigform-file::file-selector-button:hover{background:var(--tigform-accent-soft);border-color:var(--tigform-accent)}
.tigform-dropzone-hint{margin:0;font-size:.875rem;font-weight:500;color:var(--tigform-muted)}
.tigform-upload-list{margin:.75rem 0 0;padding:0;list-style:none;width:100%}
.tigform-upload-list li{display:flex;align-items:center;gap:.5rem;padding:.5rem .625rem;margin-bottom:.375rem;font-size:.8125rem;background:var(--tigform-surface-subtle);border:1px solid var(--tigform-border);border-radius:calc(var(--tigform-input-radius) - 3px)}
.tigform-upload-list li progress{flex:0 0 8rem;height:6px;margin-left:auto;accent-color:var(--tigform-accent)}
.tigform-upload-status{font-size:.75rem;color:var(--tigform-muted)}
.tigform-upload-remove{margin-left:.25rem;flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;width:1.75rem;height:1.75rem;padding:0;border:0;border-radius:6px;background:transparent;color:var(--tigform-muted);cursor:pointer;transition:background-color 120ms ease,color 120ms ease}
.tigform-upload-remove:hover,.tigform-upload-remove:focus-visible{background:rgba(229,57,53,.12);color:#e53935;outline:none}
.tigform-upload-remove svg{display:block;width:16px;height:16px}
.tigform-upload-item--notice{justify-content:center;color:var(--tigform-muted);font-style:italic}
.tigform-upload-item--error .tigform-upload-status{color:#e53935}
.tigform-confirm-backdrop{position:fixed;inset:0;z-index:100000;display:flex;align-items:center;justify-content:center;padding:1rem;background:rgba(15,23,42,.55);animation:tigform-confirm-in 120ms ease}
.tigform-confirm{width:100%;max-width:24rem;background:var(--tigform-surface,#fff);color:var(--tigform-text,#1a1a1a);border-radius:12px;box-shadow:0 20px 60px rgba(0,0,0,.28);padding:1.25rem 1.25rem 1rem;font-family:inherit}
.tigform-confirm-title{margin:0 0 .4rem;font-size:1.0625rem;font-weight:700;line-height:1.3}
.tigform-confirm-msg{margin:0 0 1rem;font-size:.9rem;line-height:1.45;color:var(--tigform-muted,#555);word-break:break-word}
.tigform-confirm-actions{display:flex;justify-content:flex-end;gap:.5rem}
.tigform-confirm-btn{appearance:none;-webkit-appearance:none;border:1px solid transparent;border-radius:8px;padding:.5rem .9rem;font:inherit;font-size:.875rem;font-weight:600;cursor:pointer;transition:background-color 120ms ease,border-color 120ms ease,color 120ms ease}
.tigform-confirm-btn--ghost{background:transparent;border-color:var(--tigform-border,#d1d5db);color:var(--tigform-text,#1a1a1a)}
.tigform-confirm-btn--ghost:hover{background:var(--tigform-surface-subtle,#f3f4f6)}
.tigform-confirm-btn--danger{background:#e53935;color:#fff}
.tigform-confirm-btn--danger:hover{background:#c62828}
.tigform-confirm-btn:focus-visible{outline:2px solid var(--tigform-accent,#6d28d9);outline-offset:2px}
@keyframes tigform-confirm-in{from{opacity:0}to{opacity:1}}
/* File field: icon lives inside a centered trigger button; hide the raw input. */
.tigform-dropzone::before{content:none}
.tigform-dropzone{gap:.55rem}
.tigform-dropzone .tigform-file{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0;opacity:0}
.tigform-file-button{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;margin:0 auto;padding:.55rem 1.15rem;border:1.5px solid var(--tigform-border-strong);border-radius:calc(var(--tigform-input-radius) - 3px);background:var(--tigform-surface);color:var(--tigform-text);font:inherit;font-weight:600;font-size:.8125rem;line-height:1;cursor:pointer;transition:background-color 120ms ease,border-color 120ms ease,color 120ms ease}
.tigform-file-button:hover,.tigform-file-button:focus-within{background:var(--tigform-accent-soft);border-color:var(--tigform-accent);color:var(--tigform-text)}
.tigform-file-button:focus-within{outline:2px solid var(--tigform-accent);outline-offset:2px}
.tigform-file-button-icon{flex:0 0 auto;width:18px;height:18px}

.tigform-calc{display:inline-flex;align-items:center;min-height:var(--tigform-control-h);padding:.625rem .875rem;background-color:var(--tigform-surface-subtle);border:1.5px solid var(--tigform-border);border-radius:var(--tigform-input-radius);font-variant-numeric:tabular-nums;font-weight:700;font-size:1.0625rem;color:var(--tigform-text)}

.tigform-step:not(.tigform-step--active){display:none}
.tigform-step-heading{margin:0 0 1.25rem;font-size:1.25rem;font-weight:700;line-height:1.3;color:var(--tigform-text)}
.tigform-step-nav{display:flex;justify-content:space-between;gap:.75rem;margin-top:1.5rem}
.tigform-btn-prev,.tigform-btn-next{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;min-height:var(--tigform-control-h);padding:.625rem 1.35rem;border-radius:var(--tigform-input-radius);font:inherit;font-weight:600;cursor:pointer;transition:background-color 140ms ease,border-color 140ms ease,transform 80ms ease,box-shadow 140ms ease}
.tigform-btn-prev:active,.tigform-btn-next:active{transform:translateY(1px)}
.tigform-btn-prev:focus-visible,.tigform-btn-next:focus-visible{outline:2px solid var(--tigform-accent);outline-offset:2px}
.tigform-btn-prev{border:1.5px solid var(--tigform-border-strong);background:var(--tigform-surface);color:var(--tigform-text)}
.tigform-btn-prev:hover{background:var(--tigform-surface-subtle)}
.tigform-btn-next{margin-left:auto;border:1.5px solid var(--tigform-accent);background:var(--tigform-accent);color:var(--tigform-accent-contrast);box-shadow:var(--tigform-shadow-sm)}
.tigform-btn-next:hover{background:var(--tigform-accent-hover);border-color:var(--tigform-accent-hover)}

.tigform-progress{margin-bottom:1.75rem}
.tigform-progress-list{display:flex;justify-content:space-between;gap:.5rem;list-style:none;padding:0;margin:0 0 .75rem;counter-reset:tigform-step;font-size:.8125rem}
.tigform-progress-step{counter-increment:tigform-step;position:relative;flex:1 1 0;display:flex;flex-direction:column;align-items:center;gap:.5rem;text-align:center;color:var(--tigform-muted);font-weight:500}
.tigform-progress-step::before{content:counter(tigform-step);display:grid;place-content:center;width:2rem;height:2rem;border-radius:50%;border:2px solid var(--tigform-border-strong);background:var(--tigform-surface);color:var(--tigform-muted);font-weight:700;transition:background-color 160ms ease,border-color 160ms ease,color 160ms ease}
.tigform-progress-step:not(:last-child)::after{content:"";position:absolute;top:1rem;left:calc(50% + 1.25rem);right:calc(-50% + 1.25rem);height:2px;background:var(--tigform-border-strong)}
.tigform-progress-step.is-active::before{border-color:var(--tigform-accent);color:var(--tigform-accent);box-shadow:0 0 0 4px var(--tigform-accent-soft)}
.tigform-progress-step.is-active{color:var(--tigform-text);font-weight:600}
.tigform-progress-step.is-complete::before{background:var(--tigform-accent);border-color:var(--tigform-accent);color:var(--tigform-accent-contrast)}
.tigform-progress-step.is-complete::after{background:var(--tigform-accent)}
.tigform-progress-bar{height:6px;background-color:var(--tigform-accent);border-radius:999px;width:0;transition:width 260ms ease}
.tigform-progress--bar .tigform-progress-bar{box-shadow:0 0 0 100rem var(--tigform-surface-subtle) inset}

.tigform-field--gdpr .tigform-checkbox span{font-size:.875rem;color:var(--tigform-muted);line-height:1.5}
.tigform-field--gdpr a{color:var(--tigform-accent)}

.tigform-submit-row:not([hidden]){display:flex;justify-content:var(--tigform-submit-align,start);margin-top:1.75rem}
.tigform-submit-row[data-align="center"]{justify-content:center}
.tigform-submit-row[data-align="right"]{justify-content:flex-end}
.tigform-submit-row[data-align="stretch"] .tigform-submit{width:100%}
.tigform-submit{display:inline-flex;align-items:center;justify-content:center;gap:.55rem;min-height:var(--tigform-control-h);padding:.75rem 1.75rem;border:0;border-radius:var(--tigform-input-radius);cursor:pointer;font:inherit;font-size:1rem;font-weight:600;letter-spacing:.01em;background-color:var(--tigform-accent);color:var(--tigform-accent-contrast);box-shadow:var(--tigform-shadow-sm);transition:background-color 140ms ease,box-shadow 160ms ease,transform 90ms ease}
.tigform-submit:hover:not([disabled]){background-color:var(--tigform-accent-hover);box-shadow:var(--tigform-shadow-md);transform:translateY(-1px)}
.tigform-submit:active:not([disabled]){transform:translateY(0);box-shadow:var(--tigform-shadow-sm)}
.tigform-submit:focus-visible{outline:2px solid var(--tigform-accent);outline-offset:3px}
.tigform-submit[disabled],.tigform-submit:disabled{opacity:.6;cursor:not-allowed;transform:none}
.tigform-submit--full{width:100%}
.tigform-submit-loading:not([hidden]){display:inline-flex;align-items:center;gap:.45rem}
.tigform-form.tigform-is-busy .tigform-submit-text{display:none}
.tigform-form.tigform-is-busy .tigform-submit-loading{display:inline-flex !important}
.tigform-form.tigform-is-busy .tigform-submit{cursor:progress}
.tigform-spinner{width:15px;height:15px;border:2px solid rgba(255,255,255,.45);border-top-color:currentColor;border-radius:50%;animation:tigform-spin 700ms linear infinite}
@keyframes tigform-spin{to{transform:rotate(360deg)}}

.tigform-success:not([hidden]),.tigform-form-error:not([hidden]){display:flex;align-items:flex-start;gap:.625rem;padding:.875rem 1.05rem;border-radius:var(--tigform-input-radius);border:1px solid transparent;margin:0 0 1.25rem;font-size:.9375rem;line-height:1.45;animation:tigform-banner-in 220ms ease}
.tigform-success::before,.tigform-form-error::before{content:"";flex:0 0 auto;width:18px;height:18px;margin-top:1px;background:currentColor}
.tigform-success{background-color:var(--tigform-success-soft);border-color:rgba(43,162,107,.3);color:var(--tigform-success)}
.tigform-success::before{mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2a10 10 0 100 20 10 10 0 000-20zm-1.1 14.3l-3.6-3.6 1.4-1.4 2.2 2.2 4.9-4.9 1.4 1.4-6.3 6.3z'/%3E%3C/svg%3E") center/contain no-repeat;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2a10 10 0 100 20 10 10 0 000-20zm-1.1 14.3l-3.6-3.6 1.4-1.4 2.2 2.2 4.9-4.9 1.4 1.4-6.3 6.3z'/%3E%3C/svg%3E") center/contain no-repeat}
.tigform-form-error{background-color:var(--tigform-error-soft);border-color:rgba(229,72,77,.3);color:var(--tigform-error)}
.tigform-form-error::before{mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2a10 10 0 100 20 10 10 0 000-20zm0 5a1 1 0 011 1v5a1 1 0 01-2 0V8a1 1 0 011-1zm0 11a1.25 1.25 0 110-2.5 1.25 1.25 0 010 2.5z'/%3E%3C/svg%3E") center/contain no-repeat;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2a10 10 0 100 20 10 10 0 000-20zm0 5a1 1 0 011 1v5a1 1 0 01-2 0V8a1 1 0 011-1zm0 11a1.25 1.25 0 110-2.5 1.25 1.25 0 010 2.5z'/%3E%3C/svg%3E") center/contain no-repeat}
@keyframes tigform-banner-in{from{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}

.tigform-labels--left .tigform-field{display:grid;grid-template-columns:9rem 1fr;align-items:center;gap:.5rem 1.25rem}
.tigform-labels--left .tigform-field-label{margin-bottom:0}
.tigform-labels--left .tigform-field-error,.tigform-labels--left .tigform-field-help{grid-column:2}
.tigform-labels--inside .tigform-field{position:relative}
.tigform-labels--inside .tigform-field-label{position:absolute;top:0;left:.65rem;margin:0;padding:0 .35rem;background:var(--tigform-surface);color:var(--tigform-muted);font-weight:500;transform:translateY(.85rem);pointer-events:none;transition:transform 130ms ease,font-size 130ms ease,color 130ms ease}
.tigform-labels--inside .tigform-field:focus-within .tigform-field-label,.tigform-labels--inside .tigform-field:has(.tigform-input:not(:placeholder-shown)) .tigform-field-label{transform:translateY(-.65rem);font-size:.75rem;color:var(--tigform-accent)}

.tigform-honeypot{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}
.tigform-sr-only,.tigform-labels--hidden .tigform-field-label{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

@media (max-width:640px){
.tigform-field{grid-column:span 12 !important}
.tigform-form{--tigform-col-gap:.9rem;--tigform-row-gap:1.15rem}
.tigform-labels--left .tigform-field{grid-template-columns:1fr}
.tigform-labels--left .tigform-field-error,.tigform-labels--left .tigform-field-help{grid-column:1}
.tigform-step-nav{flex-direction:column-reverse}
.tigform-step-nav .tigform-btn-prev,.tigform-step-nav .tigform-btn-next{width:100%;margin-left:0}
.tigform-submit-row{justify-content:stretch}
.tigform-submit{width:100%}
.tigform-progress-list{font-size:.6875rem}
.tigform-progress-step::after{display:none}
}

/* Image choice — a grid of selectable image tiles. Column count comes from the
   field's `columns` (1–8) via the --tigform-ic-cols custom property set inline. */
.tigform-image-choice{display:grid;gap:.75rem;grid-template-columns:repeat(var(--tigform-ic-cols,3),minmax(0,1fr))}
.tigform-image-choice__tile{display:block;cursor:pointer}
.tigform-image-choice__input{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);border:0}
.tigform-image-choice__thumb{display:flex;align-items:center;justify-content:center;aspect-ratio:4/3;overflow:hidden;border:2px solid var(--tigform-border);border-radius:var(--tigform-input-radius);background:var(--tigform-surface-subtle);box-shadow:var(--tigform-shadow-sm);transition:border-color 140ms ease,box-shadow 140ms ease}
.tigform-image-choice__thumb img{width:100%;height:100%;object-fit:cover;display:block}
.tigform-image-choice__tile:hover .tigform-image-choice__thumb{border-color:var(--tigform-border-strong)}
.tigform-image-choice__input:focus-visible+.tigform-image-choice__thumb,
.tigform-image-choice__input:checked+.tigform-image-choice__thumb{outline:none;border-color:var(--tigform-accent);box-shadow:0 0 0 var(--tigform-focus-ring) var(--tigform-accent-soft)}
.tigform-image-choice__caption{display:block;margin-top:.45rem;font-size:.875rem;font-weight:500;line-height:1.35;color:var(--tigform-text)}

@media (prefers-reduced-motion:reduce){
.tigform-spinner{animation:none}
.tigform-submit,.tigform-btn-prev,.tigform-btn-next,.tigform-progress-bar,.tigform-progress-step::before,.tigform-dropzone,.tigform-input,.tigform-success,.tigform-form-error,.tigform-labels--inside .tigform-field-label{transition:none;animation:none}
}

@media (prefers-contrast:more){
.tigform-form{--tigform-border:#6b7280;--tigform-border-strong:#4b5563}
}
.tigform-signature{display:flex;flex-direction:column;gap:.5rem}
.tigform-signature-canvas{display:block;width:100%;height:200px;border:2px solid var(--tigform-border-strong);border-radius:var(--tigform-input-radius);background:var(--tigform-surface);cursor:crosshair;touch-action:none}
.tigform-signature-bar{display:flex;align-items:center;justify-content:space-between;gap:.5rem}
.tigform-signature-hint{font-size:.8125rem;color:var(--tigform-muted)}
.tigform-signature.is-signed .tigform-signature-hint{visibility:hidden}
.tigform-signature-clear{padding:.4rem .9rem;border:1.5px solid var(--tigform-border-strong);border-radius:calc(var(--tigform-input-radius) - 3px);background:var(--tigform-surface);color:var(--tigform-text);font:inherit;font-weight:600;font-size:.8125rem;cursor:pointer;transition:background-color 120ms ease,border-color 120ms ease}
.tigform-signature-clear:hover{background:var(--tigform-accent-soft);border-color:var(--tigform-accent)}
.tigform-range{display:flex;align-items:center;gap:.75rem}
.tigform-range-input{flex:1;min-width:0;accent-color:var(--tigform-accent,#ec7002);cursor:pointer}
.tigform-range-value{min-width:3ch;padding:.15rem .5rem;border-radius:calc(var(--tigform-input-radius) - 4px);background:var(--tigform-surface-subtle,#f4f7f6);color:var(--tigform-text);font-weight:600;font-size:.875rem;text-align:center;font-variant-numeric:tabular-nums}
.tigform-composite{display:flex;flex-wrap:wrap;gap:.75rem}
.tigform-composite-cell{flex:1 1 calc(var(--tigform-cw,50%) - .75rem);min-width:8rem;display:flex;flex-direction:column;gap:.3rem}
.tigform-composite-label{font-size:.8125rem;font-weight:500;color:var(--tigform-muted)}

.tigform-product--list,.tigform-product--cards{display:grid;gap:.75rem}
.tigform-product--list{grid-template-columns:1fr}
.tigform-product--cards{grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}
.tigform-product-option{position:relative;display:flex;flex-direction:column;cursor:pointer;border:1px solid var(--tigform-border);border-radius:var(--tigform-input-radius);background:var(--tigform-surface);transition:border-color .15s,box-shadow .15s}
.tigform-product-option:hover{border-color:var(--tigform-border-strong)}
.tigform-product--list .tigform-product-option{flex-direction:row;align-items:center;gap:.75rem;padding:.85rem 1rem}
.tigform-product-radio{position:absolute;top:.85rem;left:.85rem;accent-color:var(--tigform-accent)}
.tigform-product--list .tigform-product-radio{position:static;flex:0 0 auto}
.tigform-product-option:has(.tigform-product-radio:checked){border-color:var(--tigform-accent);box-shadow:0 0 0 1px var(--tigform-accent)}
.tigform-product-option:has(.tigform-product-radio:focus-visible){box-shadow:0 0 0 var(--tigform-focus-ring) var(--tigform-accent-soft)}
.tigform-product-media{display:block;width:100%;aspect-ratio:16/10;background:var(--tigform-surface-subtle);border-radius:calc(var(--tigform-input-radius) - 1px) calc(var(--tigform-input-radius) - 1px) 0 0;overflow:hidden}
.tigform-product-media img{width:100%;height:100%;object-fit:cover;display:block}
.tigform-product--cards .tigform-product-body{padding:.75rem .9rem 0}
.tigform-product--cards .tigform-product-price{padding:.25rem .9rem .85rem}
.tigform-product-body{display:flex;flex-direction:column;gap:.15rem;flex:1;min-width:0}
.tigform-product--list .tigform-product-body{padding:0}
.tigform-product-name{font-weight:600;color:var(--tigform-text)}
.tigform-product-desc{font-size:.8125rem;color:var(--tigform-muted);line-height:1.4}
.tigform-product-price{font-weight:600;color:var(--tigform-accent);white-space:nowrap}
.tigform-product--list .tigform-product-price{margin-left:auto}

.tigform-field--heading{margin-bottom:.5rem}
.tigform-heading{margin:0;font-weight:700;color:var(--tigform-text);line-height:1.3}
h2.tigform-heading{font-size:1.4rem}h3.tigform-heading{font-size:1.15rem}h4.tigform-heading{font-size:1rem}
.tigform-heading-sub{margin:.25rem 0 0;font-size:.875rem;color:var(--tigform-muted);line-height:1.5}
.tigform-divider{border:0;border-top:1px solid var(--tigform-border);margin:.5rem 0}
.tigform-divider--text{display:flex;align-items:center;gap:.75rem;color:var(--tigform-muted);font-size:.8125rem;border:0;margin:.25rem 0}
.tigform-divider--text::before,.tigform-divider--text::after{content:"";flex:1;height:1px;background:var(--tigform-border)}
.tigform-field--html{color:var(--tigform-text);font-size:.9375rem;line-height:1.6}
.tigform-field--section{margin-bottom:.5rem}
.tigform-section{border:1px solid var(--tigform-border);border-radius:8px;padding:.85rem 1rem;background:var(--tigform-surface,transparent)}
.tigform-section-title{margin:0;font-weight:700;font-size:1.05rem;color:var(--tigform-text);line-height:1.3}
.tigform-section-desc{margin:.25rem 0 0;font-size:.875rem;color:var(--tigform-muted);line-height:1.5}
.tigform-field--spacer{margin:0}
.tigform-spacer{width:100%}
.tigform-field--image{margin-bottom:.5rem}
.tigform-image-wrap{display:flex}
.tigform-image-wrap--left{justify-content:flex-start}
.tigform-image-wrap--center{justify-content:center}
.tigform-image-wrap--right{justify-content:flex-end}
.tigform-image{max-width:100%;height:auto;border-radius:6px}
.tigform-consent{display:flex;align-items:flex-start;gap:.55rem;cursor:pointer;font-size:.9375rem;line-height:1.5;color:var(--tigform-text)}
.tigform-consent-box{margin-top:.2rem;flex:0 0 auto;width:1rem;height:1rem;accent-color:var(--tigform-accent)}
.tigform-consent-text a{color:var(--tigform-accent);text-decoration:underline}
.tigform-toggle{display:inline-flex;align-items:center;cursor:pointer;-webkit-tap-highlight-color:transparent}
.tigform-toggle-input{position:absolute;opacity:0;width:0;height:0}
.tigform-toggle-track{position:relative;display:inline-block;width:2.75rem;height:1.5rem;border-radius:999px;background:var(--tigform-border-strong);transition:background 150ms ease}
.tigform-toggle-thumb{position:absolute;top:2px;left:2px;width:1.125rem;height:1.125rem;border-radius:50%;background:var(--tigform-surface);box-shadow:var(--tigform-shadow-sm);transition:transform 150ms ease}
.tigform-toggle-input:checked~.tigform-toggle-track{background:var(--tigform-accent)}
.tigform-toggle-input:checked~.tigform-toggle-track .tigform-toggle-thumb{transform:translateX(1.25rem)}
.tigform-toggle-input:focus-visible~.tigform-toggle-track{box-shadow:0 0 0 var(--tigform-focus-ring) var(--tigform-accent-soft)}
.tigform-nps{display:flex;flex-wrap:wrap;gap:.4rem}
.tigform-nps-btn{position:relative;flex:1 1 2.25rem;min-width:2.25rem}
.tigform-nps-btn input{position:absolute;opacity:0;width:0;height:0}
.tigform-nps-btn span{display:flex;align-items:center;justify-content:center;height:2.5rem;border:1.5px solid var(--tigform-border);border-radius:8px;background:var(--tigform-surface);color:var(--tigform-text);font-weight:600;font-size:.9375rem;cursor:pointer;transition:border-color 140ms ease,background 140ms ease,color 140ms ease}
.tigform-nps-btn:hover span{border-color:var(--tigform-border-strong)}
.tigform-nps-btn input:checked~span{border-color:var(--tigform-accent);background:var(--tigform-accent);color:var(--tigform-accent-contrast)}
.tigform-nps-btn input:focus-visible~span{box-shadow:0 0 0 var(--tigform-focus-ring) var(--tigform-accent-soft)}
.tigform-nps-ends{display:flex;justify-content:space-between;margin-top:.4rem;font-size:.8125rem;color:var(--tigform-muted)}
.tigform-input[type=color]{max-width:4rem;min-height:2.875rem;padding:.25rem;cursor:pointer}

/* Repeater — repeatable group of child fields. Each row is a bordered card with
   a small remove × top-right; the add control is a full-width dashed ghost button. */
.tigform-repeater{display:flex;flex-direction:column;gap:.9rem}
.tigform-repeater-rows{display:flex;flex-direction:column;gap:.9rem}
.tigform-repeater-row{position:relative;padding:1.1rem 1.1rem 1rem;border:1.5px solid var(--tigform-border);border-radius:var(--tigform-input-radius);background:var(--tigform-surface-subtle);box-shadow:var(--tigform-shadow-sm)}
.tigform-repeater-row-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}
.tigform-repeater-row-fields>.tigform-field{margin:0}
.tigform-repeater-row-fields>.tigform-field[data-width="100"]{grid-column:1 / -1}
@media (max-width:560px){.tigform-repeater-row-fields{grid-template-columns:1fr}.tigform-repeater-row-fields>.tigform-field{grid-column:1 / -1}}
.tigform-repeater-remove{position:absolute;top:.55rem;right:.55rem;display:inline-flex;align-items:center;justify-content:center;width:1.75rem;height:1.75rem;padding:0;border:1.5px solid var(--tigform-border-strong);border-radius:50%;background:var(--tigform-surface);color:var(--tigform-muted);font-size:1.15rem;line-height:1;cursor:pointer;transition:background-color 120ms ease,border-color 120ms ease,color 120ms ease}
.tigform-repeater-remove:hover{background:var(--tigform-error-soft);border-color:var(--tigform-error);color:var(--tigform-error)}
.tigform-repeater-remove:focus-visible{outline:2px solid var(--tigform-accent);outline-offset:2px}
.tigform-repeater-remove[disabled]{opacity:.4;cursor:not-allowed}
.tigform-repeater-add{display:inline-flex;align-items:center;justify-content:center;gap:.4rem;width:100%;min-height:var(--tigform-control-h);padding:.6rem 1rem;border:1.5px dashed var(--tigform-border-strong);border-radius:var(--tigform-input-radius);background:transparent;color:var(--tigform-accent);font:inherit;font-weight:600;cursor:pointer;transition:background-color 140ms ease,border-color 140ms ease,color 140ms ease}
.tigform-repeater-add::before{content:"+";font-size:1.15rem;line-height:1;font-weight:700}
.tigform-repeater-add:hover{background:var(--tigform-accent-soft);border-color:var(--tigform-accent)}
.tigform-repeater-add:focus-visible{outline:2px solid var(--tigform-accent);outline-offset:2px}
.tigform-repeater-add[disabled]{opacity:.45;cursor:not-allowed;color:var(--tigform-muted)}

/* Matrix (Likert grid) — statement rows × scale columns. The wrapper allows the
   grid to scroll horizontally on narrow screens rather than crushing columns or
   breaking the page layout; the table itself stays full-width when it fits. */
/* Star rating — CSS only. Stars are emitted highest-first by
   Form_Renderer::render_rating and flipped here, so `:checked ~ star` can fill
   every star up to the chosen one (and `:hover ~ star` preview it) with no JS. */
.tigform-rating{display:inline-flex;flex-direction:row-reverse;justify-content:flex-end;align-items:center;gap:.15rem;font-size:1.5rem;line-height:1}
.tigform-rating-star{display:inline-flex;align-items:center;justify-content:center;min-width:1.5em;min-height:1.5em;color:var(--tigform-border-strong);cursor:pointer;border-radius:6px;transition:color 120ms ease,transform 120ms ease}
.tigform-rating-input:checked ~ .tigform-rating-star{color:var(--tigform-accent)}
.tigform-rating:hover .tigform-rating-star{color:var(--tigform-border-strong)}
.tigform-rating-star:hover,.tigform-rating-star:hover ~ .tigform-rating-star{color:var(--tigform-accent);transform:scale(1.06)}
.tigform-rating-input:focus-visible + .tigform-rating-star{outline:none;box-shadow:0 0 0 var(--tigform-focus-ring) var(--tigform-accent-soft)}
.tigform-has-error .tigform-rating-star{color:var(--tigform-error)}

.tigform-matrix-wrap{width:100%;max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;border:1.5px solid var(--tigform-border);border-radius:var(--tigform-input-radius);background:var(--tigform-surface)}
.tigform-matrix{width:100%;border-collapse:collapse;font-size:.9375rem;color:var(--tigform-text)}
.tigform-matrix th,.tigform-matrix td{padding:.7rem .85rem;text-align:center;border-bottom:1px solid var(--tigform-border);vertical-align:middle}
.tigform-matrix thead th{background:var(--tigform-surface-subtle);font-weight:600;line-height:1.3;white-space:normal;position:sticky;top:0}
.tigform-matrix .tigform-matrix-col{min-width:5.5rem}
.tigform-matrix .tigform-matrix-corner{background:var(--tigform-surface-subtle);border-bottom:1px solid var(--tigform-border)}
.tigform-matrix tbody tr:last-child th,.tigform-matrix tbody tr:last-child td{border-bottom:0}
.tigform-matrix tbody tr:nth-child(even) td,.tigform-matrix tbody tr:nth-child(even) .tigform-matrix-row{background:var(--tigform-surface-subtle)}
.tigform-matrix .tigform-matrix-row{text-align:left;font-weight:600;line-height:1.4;min-width:9rem;white-space:normal}
.tigform-matrix-cell{cursor:pointer}
.tigform-matrix-option{display:inline-flex;align-items:center;justify-content:center;margin:0;cursor:pointer}
.tigform-matrix-option input[type="radio"]{appearance:none;-webkit-appearance:none;flex:0 0 auto;display:grid;place-content:center;width:1.2em;height:1.2em;margin:0;border:1.5px solid var(--tigform-border-strong);border-radius:50%;background:var(--tigform-surface);cursor:pointer;transition:background-color 120ms ease,border-color 120ms ease,box-shadow 120ms ease}
.tigform-matrix-option input[type="radio"]::before{content:"";width:.6em;height:.6em;border-radius:50%;transform:scale(0);transition:transform 120ms ease;box-shadow:inset 1em 1em var(--tigform-accent)}
.tigform-matrix-option input[type="radio"]:checked{border-color:var(--tigform-accent)}
.tigform-matrix-option input[type="radio"]:checked::before{transform:scale(1)}
.tigform-matrix-option input[type="radio"]:hover:not(:checked){border-color:var(--tigform-accent)}
.tigform-matrix-option input[type="radio"]:focus-visible{outline:none;box-shadow:0 0 0 var(--tigform-focus-ring) var(--tigform-accent-soft)}

/* Matrix on phones: STACK instead of side-scroll.
   A Likert grid needs row-label + one column per scale point — ~584px minimum,
   which on a 325px form left the table scrolling sideways inside its box with
   no affordance that it could. Below 640px each row becomes its own labelled
   group and each option a full-width, thumb-sized line. The column heading is
   already in the cell as an sr-only span (Form_Renderer::render_matrix), so it
   is simply unhidden here — no markup duplication, and the accessible name of
   every radio stays exactly what it was. */
@media (max-width:640px){
.tigform-rating{font-size:1.9rem;gap:.25rem}
.tigform-matrix-wrap{overflow-x:visible}
.tigform-matrix,.tigform-matrix tbody,.tigform-matrix tr,.tigform-matrix td,.tigform-matrix th{display:block;width:auto}
.tigform-matrix thead{display:none}
.tigform-matrix tbody tr{border-bottom:1.5px solid var(--tigform-border);padding:.15rem 0 .4rem}
.tigform-matrix tbody tr:last-child{border-bottom:0}
.tigform-matrix tbody tr:nth-child(even) td{background:none}
.tigform-matrix .tigform-matrix-row{min-width:0;padding:.7rem .85rem .3rem;border-bottom:0}
.tigform-matrix .tigform-matrix-cell{padding:0;border-bottom:0}
.tigform-matrix-option{display:flex;align-items:center;justify-content:flex-start;gap:.65rem;width:100%;min-height:44px;padding:.35rem .85rem;text-align:left}
.tigform-matrix-option .tigform-sr-only{position:static;width:auto;height:auto;padding:0;margin:0;overflow:visible;clip:auto;white-space:normal;font-size:.9375rem}
}

/* ── Date / time picker ─────────────────────────────────────────────────────
   Custom control replacing the native date/time widget: the whole field opens
   the panel (natives only respond to their tiny glyph) and it inherits the
   form's tokens, so light/dark and custom accents work with no extra config. */
.tigform-dt{position:relative}
.tigform-dt-trigger{display:flex;align-items:center;gap:.625rem;width:100%;text-align:left;cursor:pointer}
.tigform-dt-value{flex:0 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.tigform-dt-trigger.is-empty .tigform-dt-value{color:var(--tigform-muted)}
.tigform-dt-icon{flex:0 0 auto;margin-left:auto;display:inline-flex;color:var(--tigform-muted);transition:color 140ms ease}
.tigform-dt-icon svg{width:1.125rem;height:1.125rem}
.tigform-dt-trigger:hover .tigform-dt-icon,.tigform-dt-trigger[aria-expanded="true"] .tigform-dt-icon{color:var(--tigform-accent)}
.tigform-dt-trigger[aria-expanded="true"]{border-color:var(--tigform-accent);box-shadow:0 0 0 var(--tigform-focus-ring) var(--tigform-accent-soft)}

/* position:fixed + JS-computed coords: an absolutely positioned panel gets
   cropped by any ancestor overflow (theme section wrappers do this), fixed
   is measured against the viewport instead. */
.tigform-dt-panel{position:fixed;z-index:2147483000;top:0;left:0;display:flex;flex-direction:column;gap:.25rem;width:max-content;padding:.875rem;border:1px solid var(--tigform-border);border-radius:14px;background:var(--tigform-surface);box-shadow:var(--tigform-shadow-md);animation:tigform-dt-in 120ms ease-out;overflow:auto}
/* flex-start so the CALENDAR sets the row height; the time block alone opts
   into stretch to match it. With `stretch` here both grew and fed back into
   each other, leaving a tall panel with dead space under the day grid. */
.tigform-dt-body{display:flex;align-items:flex-start;gap:.875rem}
.tigform-dt-panel[hidden]{display:none}
@keyframes tigform-dt-in{from{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}
@media (prefers-reduced-motion:reduce){.tigform-dt-panel{animation:none}}

.tigform-dt-cal{width:16.5rem;flex:0 0 auto}
.tigform-dt-head{display:flex;align-items:center;justify-content:space-between;gap:.5rem;margin-bottom:.5rem}
.tigform-dt-title{font-size:.9375rem;font-weight:600;color:var(--tigform-text)}
.tigform-dt-nav{display:inline-flex;align-items:center;justify-content:center;width:1.875rem;height:1.875rem;border:0;border-radius:8px;background:transparent;color:var(--tigform-muted);cursor:pointer;transition:background-color 120ms ease,color 120ms ease}
.tigform-dt-nav svg{width:1rem;height:1rem}
.tigform-dt-nav:hover{background:var(--tigform-surface-subtle);color:var(--tigform-text)}
.tigform-dt-nav:focus-visible{outline:none;box-shadow:0 0 0 3px var(--tigform-accent-soft)}

.tigform-dt-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:2px}
.tigform-dt-dow{display:flex;align-items:center;justify-content:center;height:1.75rem;font-size:.6875rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--tigform-muted)}
.tigform-dt-day{display:flex;align-items:center;justify-content:center;height:2.125rem;border:0;border-radius:9px;background:transparent;color:var(--tigform-text);font:inherit;font-size:.875rem;cursor:pointer;transition:background-color 120ms ease,color 120ms ease}
.tigform-dt-day:hover:not(:disabled):not(.is-selected){background:var(--tigform-surface-subtle)}
.tigform-dt-day:focus-visible{outline:none;box-shadow:0 0 0 3px var(--tigform-accent-soft)}
.tigform-dt-day.is-today{font-weight:700;color:var(--tigform-accent)}
.tigform-dt-day.is-selected{background:var(--tigform-accent);color:var(--tigform-accent-contrast);font-weight:600}
.tigform-dt-day:disabled{opacity:.3;cursor:not-allowed}

.tigform-dt-time{display:flex;gap:.375rem;flex:0 0 auto}
/* datetime: clock columns sit beside the calendar, separated by a rule */
.tigform-dt-panel--datetime .tigform-dt-time{border-left:1px solid var(--tigform-border);padding-left:.875rem}
.tigform-dt-col{display:flex;flex-direction:column;width:3.5rem}
.tigform-dt-col--ampm{width:3.25rem}
.tigform-dt-col-cap{height:1.75rem;display:flex;align-items:center;justify-content:center;font-size:.6875rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--tigform-muted)}
/* Scrollbars are hidden rather than styled: the native ones render as thick
   arrow-button tracks on Windows and blow the column width out. Scrollability
   is signalled by a fade mask top/bottom instead, and snap points stop rows
   from resting half-clipped. */
.tigform-dt-list{display:flex;flex-direction:column;gap:2px;flex:0 0 auto;height:13.625rem;overflow-y:auto;overscroll-behavior:contain;scroll-snap-type:y proximity;scrollbar-width:none;-ms-overflow-style:none;-webkit-mask-image:linear-gradient(to bottom,transparent 0,#000 14%,#000 86%,transparent 100%);mask-image:linear-gradient(to bottom,transparent 0,#000 14%,#000 86%,transparent 100%)}
.tigform-dt-list::-webkit-scrollbar{width:0;height:0;display:none}
/* AM/PM has two fixed options — no scroll, no fade. */
.tigform-dt-col--ampm .tigform-dt-list{height:auto;overflow:visible;-webkit-mask-image:none;mask-image:none}
.tigform-dt-slot{flex:0 0 auto;display:flex;align-items:center;justify-content:center;height:2rem;padding:0 .5rem;border:0;border-radius:8px;background:transparent;color:var(--tigform-text);font:inherit;font-size:.875rem;font-variant-numeric:tabular-nums;text-align:center;scroll-snap-align:center;cursor:pointer;transition:background-color 120ms ease,color 120ms ease}
.tigform-dt-slot:hover:not(.is-selected){background:var(--tigform-surface-subtle)}
.tigform-dt-slot:focus-visible{outline:none;box-shadow:0 0 0 3px var(--tigform-accent-soft)}
.tigform-dt-slot.is-selected{background:var(--tigform-accent);color:var(--tigform-accent-contrast);font-weight:600}

.tigform-dt-foot{display:flex;align-items:center;gap:.5rem;padding-top:.75rem;margin-top:.25rem;border-top:1px solid var(--tigform-border)}
/* NOT flex-grow: a growing spacer inflates the flex container's max-content
   contribution, which blew `width:max-content` on the panel out to the full
   viewport. margin-left:auto right-aligns Done without affecting intrinsic size. */
.tigform-dt-spacer{display:none}
.tigform-dt-done{margin-left:auto}
.tigform-dt-link{padding:.25rem .5rem;border:0;border-radius:7px;background:transparent;color:var(--tigform-muted);font:inherit;font-size:.8125rem;font-weight:500;cursor:pointer;transition:color 120ms ease,background-color 120ms ease}
.tigform-dt-link:hover{background:var(--tigform-surface-subtle);color:var(--tigform-text)}
.tigform-dt-link:focus-visible{outline:none;box-shadow:0 0 0 3px var(--tigform-accent-soft)}
.tigform-dt-done{padding:.3125rem .875rem;border:0;border-radius:8px;background:var(--tigform-accent);color:var(--tigform-accent-contrast);font:inherit;font-size:.8125rem;font-weight:600;cursor:pointer;transition:background-color 120ms ease}
.tigform-dt-done:hover{background:var(--tigform-accent-hover)}
.tigform-dt-done:focus-visible{outline:none;box-shadow:0 0 0 3px var(--tigform-accent-soft)}

/* Narrow screens: let the panel use the field width and keep it on-screen. */
/* Explicit stacked layout. The panel is portalled to <body>, so inside the
   builder's device emulator the viewport media query can't fire - the preview
   toggles this class instead, keeping emulated mobile honest. */
.tigform-dt-panel--stacked{max-width:calc(100vw - 1rem);width:auto}
.tigform-dt-panel--stacked .tigform-dt-body{flex-direction:column}
.tigform-dt-panel--stacked .tigform-dt-cal{width:100%}
.tigform-dt-panel--stacked.tigform-dt-panel--datetime .tigform-dt-time{width:100%;border-left:0;padding-left:0;border-top:1px solid var(--tigform-border);padding-top:.75rem;justify-content:center}
.tigform-dt-panel--stacked .tigform-dt-list{max-height:9rem}
@media (max-width:34rem){
	.tigform-dt-panel{max-width:calc(100vw - 1rem);width:auto}
	.tigform-dt-body{flex-direction:column}
	.tigform-dt-cal{width:100%}
	.tigform-dt-panel--datetime .tigform-dt-time{width:100%;border-left:0;padding-left:0;border-top:1px solid var(--tigform-border);padding-top:.75rem;justify-content:center}
	.tigform-dt-list{max-height:9rem}
}

/* Picker layout hardening.
   The trigger also carries .tigform-input so that it inherits field styling, but
   that means the Elementor Styler widget (and themes) can hit it with a
   higher-specificity rule and flatten display:flex back to block. When that
   happened the calendar icon stopped being pushed to the right edge and sat
   next to the label instead, drifting with the value's length. These two
   properties are the picker's own structure rather than styling, so they are
   pinned. */
.tigform-form .tigform-dt .tigform-dt-trigger{display:flex !important;align-items:center;gap:.625rem;text-align:left}
.tigform-form .tigform-dt .tigform-dt-trigger .tigform-dt-value{flex:0 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.tigform-form .tigform-dt .tigform-dt-trigger .tigform-dt-icon{flex:0 0 auto;margin-left:auto !important}
