/* DIGITECH Gravity Forms frontend. Scope: .dt .dt-gf (wrapper added around dt_form output).
   Loads after wordpress.css. Geometry follows dt-close.css (.fld panels) and the contact page. */
.dt .dt-gf{--dt-gf-panel:#0f0f0f;--dt-gf-line:#2a2222;--dt-gf-ink:#fff;--dt-gf-label:#bdb9b1;--dt-gf-err:#ff9d94;
--gf-color-in-ctrl:#0f0f0f;--gf-color-in-ctrl-contrast:#fff;--gf-color-primary:#dd4343;--gf-color-primary-darker:#b92f35;--gf-color-primary-lighter:#e85d5d;--gf-radius:10px;--gf-ctrl-border-color:#2a2222;--gf-ctrl-label-color-primary:#bdb9b1;--gf-ctrl-label-color-secondary:#bdb9b1;--gf-font-size-secondary:16px;--gf-font-size-tertiary:14px;
color:var(--dt-gf-ink);font-family:var(--mono)}
.dt .dt-gf .gform_wrapper{margin:0;color:inherit;font-size:16px;max-width:none}
.dt .dt-gf .gform_wrapper form{display:block;width:100%;max-width:none;margin:0;padding:0}
.dt .dt-gf .gform_wrapper .gform_body{width:100%;min-width:0;max-width:none}
/* A real GF form replaces the entire prototype grid, not one half-width cell. */
.dt .dt-form>.dt-gf{grid-column:1/-1;min-width:0;width:100%;max-width:none}
@media(max-width:700px){
  .dt .dt-form:has(>.dt-gf){padding-inline:16px}
}
.dt .dt-gf{container:dt-inquiry / inline-size}
.dt .dt-gf .gform_wrapper .gform_fields{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:14px 16px;margin:0;padding:0;list-style:none}
.dt .dt-gf .gform_wrapper .gfield{grid-column:1/-1;position:relative;min-width:0;margin:0;padding:6px 16px 4px;border:1px solid var(--dt-gf-line);border-radius:10px;background:var(--dt-gf-panel);transition:border-color .2s ease,box-shadow .25s ease}
/* Defaults only for simple fields with no owner-set width; explicit gfield--width-* wins below. */
.dt .dt-gf .gform_wrapper :is(.gfield--type-text,.gfield--type-email,.gfield--type-phone,.gfield--type-website,.gfield--type-number):not([class*=gfield--width-]){grid-column:span 6}
.dt .dt-gf .gform_wrapper :is(.gfield--type-select,.gfield--type-textarea,.gfield--type-checkbox,.gfield--type-radio,.gfield--type-name,.gfield--type-address,.gfield--type-fileupload,.gfield--type-html,.gfield--type-section,.gfield--type-consent){grid-column:1/-1}
.dt .dt-gf .gform_wrapper .gfield.gfield--width-full{grid-column:span 12}
.dt .dt-gf .gform_wrapper .gfield.gfield--width-half{grid-column:span 6}
.dt .dt-gf .gform_wrapper .gfield.gfield--width-third{grid-column:span 4}
.dt .dt-gf .gform_wrapper .gfield.gfield--width-two-thirds{grid-column:span 8}
.dt .dt-gf .gform_wrapper .gfield.gfield--width-quarter{grid-column:span 3}
.dt .dt-gf .gform_wrapper .gfield.gfield--width-three-quarter{grid-column:span 9}
.dt .dt-gf .gform_wrapper .gfield.gfield--width-five-twelfths{grid-column:span 5}
.dt .dt-gf .gform_wrapper .gfield.gfield--width-seven-twelfths{grid-column:span 7}
.dt .dt-gf .gform_wrapper .gfield:focus-within{border-color:rgba(221,67,67,.9);box-shadow:0 0 0 1px rgba(221,67,67,.55),0 0 22px rgba(221,67,67,.35)}
.dt .dt-gf .gform_wrapper .gfield--type-honeypot,.dt .dt-gf .gform_wrapper .gform_validation_container{grid-column:1/-1}
.dt .dt-gf .gform_wrapper :is(.gfield.gform_hidden,.gfield--type-hidden,.gfield_visibility_hidden){display:none!important}
.dt .dt-gf .gform_wrapper .gfield .gfield_label,.dt .dt-gf .gform_wrapper .gfield legend.gfield_label{display:block;margin:0;padding:0;float:none;width:auto;height:auto;min-height:0;border:0;border-radius:0;background:none;box-shadow:none;font-family:var(--mono);font-size:14px;font-weight:500;line-height:1.4;letter-spacing:.02em;color:var(--dt-gf-label)}
/* Imported service templates also style generic labels and spans. Keep those
   decorative form boxes out of Gravity Forms' labels and required indicators. */
.dt .dt-gf .gform_wrapper .gfield .gfield_label :is(.gform-field-label__text,.gfield_required){display:inline;min-height:0;margin-block:0;margin-inline-end:0;padding:0;border:0;background:none;box-shadow:none;line-height:inherit;letter-spacing:inherit;text-transform:none}
.dt .dt-gf .gform_wrapper .gfield_required,.dt .dt-gf .gform_wrapper .gfield_required .gfield_required_text{font-size:14px;font-style:normal;font-weight:400;color:#ff8f86;margin-left:8px}
.dt .dt-gf .gform_wrapper .gfield .gfield_required .gfield_required{margin-left:0}
/* Keep native required semantics without a second line for "(Required)". */
.dt .dt-gf .gform_wrapper .gfield .gfield_required .gfield_required_text{position:absolute;width:1px;height:1px;padding:0;margin:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.dt .dt-gf .gform_wrapper .gfield .gfield_required:not(.gfield_required_text)::after{content:"*";font-size:16px;line-height:1}
@container dt-inquiry (max-width:420px){
  .dt .dt-gf .gform_wrapper .gfield:not(.gfield--type-honeypot){grid-column:1/-1}
}
.dt .dt-gf .gform_wrapper .ginput_container{margin:0;min-width:0}
.dt .dt-gf .gform_wrapper .ginput_container :is(input:not([type=checkbox],[type=radio],[type=submit],[type=hidden],[type=file]),select,textarea){display:block;width:100%;max-width:100%;margin:0;padding:2px 0;border:0;border-radius:0;outline:0;box-shadow:none;background:transparent;color:var(--dt-gf-ink);font-family:var(--mono);font-size:16px;font-weight:400;font-stretch:normal;line-height:24px;letter-spacing:0;text-transform:none}
.dt .dt-gf .gform_wrapper .ginput_container :is(input:not([type=checkbox],[type=radio],[type=submit],[type=hidden],[type=file]),select){height:28px;min-height:28px}
.dt .dt-gf .gform_wrapper .ginput_container textarea{height:96px;min-height:96px;resize:vertical}
.dt .dt-gf .gform_wrapper .ginput_container select[multiple]{height:auto;min-height:120px;padding:8px 0}
.dt .dt-gf .gform_wrapper .ginput_container select:not([multiple]){appearance:none;-webkit-appearance:none;padding-right:34px;cursor:pointer;background:transparent url("data:image/svg+xml,%3Csvg width='12' height='8' viewBox='0 0 12 8' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%23dd4343' stroke-width='1.6'/%3E%3C/svg%3E") no-repeat right 4px center}
.dt .dt-gf .gform_wrapper select option{background:#0f0f0f;color:#fff}
/* The real select remains the submitted control. Supporting browsers get a
   styled native picker instead of the operating system's cramped blue menu. */
.dt .dt-gf .gform_wrapper select:not([multiple]){color-scheme:dark}
@supports (appearance:base-select){
  .dt .dt-gf .gform_wrapper .ginput_container select:not([multiple]),
  .dt .dt-gf .gform_wrapper .ginput_container select:not([multiple])::picker(select){appearance:base-select}
  .dt .dt-gf .gform_wrapper .ginput_container select:not([multiple]){display:flex;align-items:center;justify-content:space-between;background-image:none;padding-right:2px;min-height:28px}
  .dt .dt-gf .gform_wrapper select::picker-icon{color:#dd6666;transition:transform .2s ease}
  .dt .dt-gf .gform_wrapper select:open::picker-icon{transform:rotate(180deg)}
  .dt .dt-gf .gform_wrapper select::picker(select){box-sizing:border-box;background:#151212;color:#f7f5ee;border:1px solid #92524e;border-radius:12px;padding:7px;box-shadow:0 18px 44px #0009;margin-block:8px;max-height:min(360px,60vh);overflow-y:auto;font-family:var(--mono);font-size:16px;line-height:1.5}
  .dt .dt-gf .gform_wrapper select option{display:flex;align-items:center;gap:12px;min-height:46px;padding:11px 14px;border-radius:7px;background:transparent;color:#f7f5ee;white-space:normal;cursor:pointer}
  .dt .dt-gf .gform_wrapper select option:is(:hover,:focus){background:#382020;outline:0}
  .dt .dt-gf .gform_wrapper select option:checked{background:#542626;color:#fff}
  .dt .dt-gf .gform_wrapper select option::checkmark{color:#f28a81}
  .dt .dt-gf .gform_wrapper select option[value=""]{color:#bdb5af}
}
.dt .dt-gf .gform_wrapper ::placeholder{color:#8c8a85;opacity:1}
.dt .dt-gf .gform_wrapper :is(input,select,textarea):focus-visible{outline:0}
.dt .dt-gf .gform_wrapper .gfield--type-honeypot{padding:0;border:0;background:none}
/* consent / choices */
.dt .dt-gf .gform_wrapper fieldset.gfield{margin-inline:0;min-inline-size:0;padding:12px 16px}
.dt .dt-gf .gform_wrapper fieldset.gfield>legend.gfield_label{float:left;width:100%;margin-bottom:8px}
.dt .dt-gf .gform_wrapper fieldset.gfield>.ginput_container{clear:both}
.dt .dt-gf .gform_wrapper .gchoice{display:flex;align-items:flex-start;gap:12px;margin:6px 0}
.dt .dt-gf .gform_wrapper .gchoice input{flex:0 0 22px;width:22px;min-width:22px;height:22px;min-height:22px;max-height:22px;padding:0;margin:2px 0 0;border-radius:4px;accent-color:#dd4343;background:#0f0f0f;border:1px solid #6d6a65}
.dt .dt-gf .gform_wrapper .gchoice label{flex:1;min-width:0;height:auto;min-height:0;margin:0;padding:0;max-width:none;border:0;border-radius:0;background:none;box-shadow:none;overflow-wrap:anywhere;font-family:var(--mono);font-size:16px;line-height:1.55;letter-spacing:0;color:var(--dt-gf-ink);cursor:pointer}
.dt .dt-gf .gform_wrapper .gchoice a{color:#ff8f86;text-decoration:underline;text-underline-offset:3px}
.dt .dt-gf .gform_wrapper .gfield_description{margin:8px 0 0;padding:0;font-size:16px;line-height:1.5;color:var(--dt-gf-label)}
/* validation + confirmation (native messages kept) */
.dt .dt-gf .gform_wrapper .gfield_error{border-color:#ff6b61}
.dt .dt-gf .gform_wrapper .gfield_error .gfield_label,.dt .dt-gf .gform_wrapper .gfield_error legend{color:#ffd2cd}
.dt .dt-gf .gform_wrapper .gfield_validation_message,.dt .dt-gf .gform_wrapper .validation_message{margin:8px 0 0;padding:0;border:0;background:none;font-size:16px;line-height:1.5;color:var(--dt-gf-err)}
.dt .dt-gf .gform_wrapper .gform_validation_errors{margin:0 0 20px;padding:16px 18px;border:1px solid #ff6b61;border-radius:10px;background:#1b0b0b;color:#ffd2cd;box-shadow:none}
.dt .dt-gf .gform_wrapper .gform_validation_errors :is(h2,.gform_submission_error){margin:0;font-size:16px;line-height:1.5;color:#ffd2cd;font-family:var(--mono)}
.dt .dt-gf .gform_wrapper .gform_validation_errors ol{margin:10px 0 0;padding-left:20px}
.dt .dt-gf .gform_wrapper .gform_validation_errors a{color:#fff;text-decoration:underline}
.dt .dt-gf .gform_confirmation_message,.dt .dt-gf.gform_confirmation_wrapper .gform_confirmation_message{padding:22px 24px;border:1px solid #dd4343;border-radius:10px;background:#140808;color:#fff;font-size:16px;line-height:1.6}
.dt .dt-gf .gform_confirmation_message *{font-size:16px}
/* submit: label + arrow everywhere by default */
.dt .dt-gf .gform_wrapper .gform_footer{display:block;margin:20px 0 0;padding:0;border:0}
.dt .dt-gf .gform_wrapper .gform_footer :is(.gform_button,button[type=submit],input[type=submit]){display:inline-flex;align-items:center;justify-content:center;gap:14px;min-height:56px;padding:0 28px;border:0;border-radius:999px;background:#dd4343;color:#fff;font-family:var(--mono);font-size:16px;font-weight:600;line-height:1.2;letter-spacing:.02em;white-space:normal;cursor:pointer;transition:transform .3s ease,background-color .2s ease}
.dt .dt-gf .gform_wrapper .gform_footer .gform_button:hover{background:var(--red-hi,#e85d5d);transform:translateY(-1px)}
.dt .dt-gf .gform_wrapper .gform_footer .gform_button:focus-visible{outline:2px solid #fff;outline-offset:4px}
.dt .dt-gf .dt-gf-submit-icon{flex:none;width:34px;height:12px;transition:transform .3s ease}
.dt .dt-gf .gform_button:hover .dt-gf-submit-icon{transform:translateX(4px)}
.dt .dt-gf .gform_wrapper .gform_footer .gform_ajax_spinner{margin-left:12px}
/* Compact field sizing above is shared by every form, not just the homepage. */
/* ---------- homepage: native submit occupies the round .go .disc slot ---------- */
.dt .dt-gf .gform_wrapper .gchoice{margin:0}
/* Keep Google's real widget unboxed so its standard 304px width fits the narrow form column. */
.dt .dt-gf .gform_wrapper .gfield.gfield--type-captcha,.dt .dt-cframe .fields .dt-gf .gform_wrapper .gfield.gfield--type-captcha{padding:0;border:0;background:none;box-shadow:none}
.dt-cframe .head{height:auto;min-height:272px}
.dt-cframe .fields{padding:36px 23px 28px 21px}
.dt-cframe .fields,.dt-cframe .fields .dt-gf,.dt-cframe .fields .gform_wrapper,.dt-cframe .fields form,.dt-cframe .fields .gform_footer{position:static!important;transform:none!important;filter:none!important;contain:none!important;will-change:auto!important;perspective:none!important}
.dt-cframe .fields .gform_wrapper .gform_footer{margin:0;padding:0;height:0}
.dt-cframe .go .disc{min-width:90px}
.dt .dt-cframe .fields .dt-gf .gform_wrapper .gform_footer :is(.gform_button,button[type=submit]){position:absolute;right:20px;bottom:16px;z-index:3;width:90px;height:90px;min-height:0;padding:0;gap:0;border-radius:50%;background:#dd4343}
.dt .dt-cframe .fields .dt-gf .gform_button .dt-gf-submit-label{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);clip-path:inset(50%);white-space:nowrap;border:0}
.dt .dt-cframe .fields .dt-gf .gform_button:hover{transform:scale(1.06)}
.dt .dt-cframe .fields .dt-gf .gform_button:focus-visible{outline:2px solid #fff;outline-offset:4px}
.dt .dt-cframe .fields .dt-gf .gform_button::after{content:"";position:absolute;inset:-2px;border-radius:50%;border:2px solid #dd4343;opacity:0;pointer-events:none}
body.home.dt-motion .dt-cframe.is-in .fields .gform_button::after{animation:dt-ring 1.3s ease-out 1.2s 2}
@media(max-width:1280px){.dt .dt-cframe .fields .dt-gf .gform_wrapper .gform_footer :is(.gform_button,button[type=submit]){right:10px}}
@media(max-width:900px){
.dt-cframe .head{min-height:0}
.dt-cframe .fields{padding:24px 16px}
.dt-cframe .go .disc{min-width:92px;min-height:108px}
.dt .dt-cframe .fields .dt-gf .gform_wrapper .gform_footer :is(.gform_button,button[type=submit]){right:16px;bottom:16px;width:76px;height:76px}}
@media(max-width:600px){.dt .dt-gf .gform_wrapper .gform_fields{grid-template-columns:1fr}.dt .dt-gf .gform_wrapper .gfield{grid-column:1/-1!important}}
/* ---------- service pages: the closing frame ----------
   The prototype kept a round submit in a third column; the export removes it, so the real
   form takes the whole width and its last row pairs Google's widget with the submit. */
.dt .dt-native-service .dt-frame .fr-body{grid-template-columns:447px minmax(0,1fr)}
@media(min-width:701px){.dt .dt-native-service .dt-frame .dt-form{padding:28px 30px 30px}}
.dt .dt-native-service .dt-frame .dt-gf .gform_wrapper form{display:flex;flex-wrap:wrap;align-items:flex-end;gap:14px 16px}
.dt .dt-native-service .dt-frame .dt-gf .gform_wrapper :is(.gform_body,.gform_fields){display:contents}
.dt .dt-native-service .dt-frame .dt-gf .gform_wrapper :is(.gform_heading,.gform_validation_errors,.gfield){flex:1 1 100%;min-width:0;margin:0}
.dt .dt-native-service .dt-frame .dt-gf .gform_wrapper .gfield:is(.gfield--type-text,.gfield--type-email,.gfield--type-phone,.gfield--type-website,.gfield--type-number):not([class*=gfield--width-]){flex:1 1 calc(50% - 8px)}
.dt .dt-native-service .dt-frame .dt-gf .gform_wrapper .gfield.gfield--type-captcha{flex:0 0 auto;width:304px;max-width:100%}
.dt .dt-native-service .dt-frame .dt-gf .gform_wrapper .gform_footer{flex:1 1 auto;display:flex;justify-content:flex-end;align-items:center;margin:0;padding:0}
@media(max-width:1100px){.dt .dt-native-service .dt-frame .fr-body{grid-template-columns:360px minmax(0,1fr)}}
@media(max-width:900px){.dt .dt-native-service .dt-frame .fr-body{grid-template-columns:1fr}}
@media(max-width:600px){.dt .dt-native-service .dt-frame .dt-gf .gform_wrapper .gfield:is(.gfield--type-text,.gfield--type-email,.gfield--type-phone,.gfield--type-website,.gfield--type-number):not([class*=gfield--width-]){flex-basis:100%}}
@container dt-inquiry (max-width:420px){.dt .dt-native-service .dt-frame .dt-gf .gform_wrapper .gfield:is(.gfield--type-text,.gfield--type-email,.gfield--type-phone,.gfield--type-website,.gfield--type-number):not([class*=gfield--width-]){flex-basis:100%}}
/* The side column's own call to action keeps to one line where the column allows. */
.dt .dt-native-service .dt-frame .fr-side .dt-btn{letter-spacing:.1em}
/* contact page cell */
.dt .dt-mm-form .gform_wrapper .gform_fields{gap:12px;grid-template-columns:repeat(2,minmax(0,1fr))}
.dt .dt-mm-form .gform_wrapper .gfield{grid-column:1/-1}
.dt .dt-mm-form .gform_wrapper .gfield--type-text,.dt .dt-mm-form .gform_wrapper .gfield--type-email{grid-column:span 1}
.dt .dt-mm-form .gform_wrapper textarea{min-height:96px}
.dt .dt-mm-form .gform_wrapper .gform_footer{margin-top:16px}
.dt .dt-mm-form .gform_wrapper .gform_button{min-height:48px;padding:14px 22px}
@media(max-width:600px){.dt .dt-mm-form .gform_wrapper .gfield{grid-column:1/-1}}
.ct-formcell .dt-gf .gform_wrapper .gform_footer{margin-top:24px}
@media(prefers-reduced-motion:reduce){.dt .dt-gf *{transition:none!important}}
