/* All rules are scoped to explicitly enabled GF wrappers. Keep GF visibility rules intact. */
.gform_wrapper.mtfgf-design {
    /* Shared design tokens. Adjust here once; dashboard presets override these tokens. */
    --mtfgf-orange: #ff8000;
    --mtfgf-action-ink: #171c22;
    --mtfgf-accent: #a94500;
    --mtfgf-accent-rgb: 169, 69, 0;
    --mtfgf-ink: #202a32;
    --mtfgf-muted: #53616b;
    --mtfgf-line: #b7c0c6;
    --mtfgf-soft: #f6f8f8;
    --mtfgf-selected: #fff4e8;
    --mtfgf-font: var(--wp--preset--font-family--system, Tahoma, sans-serif);
    --mtfgf-text: 18px;
    --mtfgf-help: 16px;
    --mtfgf-radius: 10px;
    --mtfgf-gap: 28px;
    --mtfgf-control-height: 52px;
    --gf-color-primary: var(--mtfgf-accent);
    --gf-color-primary-rgb: var(--mtfgf-accent-rgb);
    --gf-color-primary-contrast: #fff;
    --gf-color-in-ctrl: var(--mtfgf-ink);
    --gf-color-in-ctrl-primary: var(--mtfgf-accent);
    --gf-color-in-ctrl-border: var(--mtfgf-line);
    --gf-ctrl-border-color: var(--mtfgf-line);
    --gf-font-family: var(--mtfgf-font);
    --gf-font-family-primary: var(--mtfgf-font);
    --gf-font-size-primary: var(--mtfgf-text);
    --gf-font-size-secondary: var(--mtfgf-help);
    --gf-ctrl-font-size: var(--mtfgf-text);
    --gf-ctrl-label-font-size-primary: var(--mtfgf-text);
    --gf-ctrl-label-font-size-secondary: var(--mtfgf-help);
    --gf-ctrl-desc-font-size: var(--mtfgf-help);
    --gf-ctrl-border-radius: var(--mtfgf-radius);
    --gf-radius: var(--mtfgf-radius);
    --gf-ctrl-size: var(--mtfgf-control-height);
    --gf-form-gap-y: var(--mtfgf-gap);
    font-family: var(--mtfgf-font);
    font-size: var(--mtfgf-text);
    line-height: 1.5;
    color: var(--mtfgf-ink);
    width: 100%;
    max-width: 880px;
    margin-inline: 0;
    text-align: left;
    container-type: inline-size;
    container-name: mtfgf;
}
.gform_wrapper.mtfgf-design[data-mtfgf-palette="ocean"] {
    --mtfgf-orange: #075b78; --mtfgf-action-ink: #fff;
    --mtfgf-accent: #075b78; --mtfgf-accent-rgb: 7, 91, 120; --mtfgf-selected: #edf7fb;
}
.gform_wrapper.mtfgf-design[data-mtfgf-palette="forest"] {
    --mtfgf-orange: #236044; --mtfgf-action-ink: #fff;
    --mtfgf-accent: #236044; --mtfgf-accent-rgb: 35, 96, 68; --mtfgf-selected: #eef7f1;
}
.gform_wrapper.mtfgf-design[data-mtfgf-spacing="compact"] { --mtfgf-gap: 20px; }
.gform_wrapper.mtfgf-design[data-mtfgf-corners="square"] { --mtfgf-radius: 4px; }
.gform_wrapper.mtfgf-design[data-mtfgf-font="system"] { --mtfgf-font: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; }
.gform_wrapper.mtfgf-design[data-mtfgf-font="tahoma"] { --mtfgf-font: Tahoma, sans-serif; }

.gform_wrapper.mtfgf-design *, .gform_wrapper.mtfgf-design *::before, .gform_wrapper.mtfgf-design *::after { box-sizing: border-box; }
.gform_wrapper.mtfgf-design .gform_fields { row-gap: var(--mtfgf-gap); column-gap: 20px; }
.gform_wrapper.mtfgf-design .gfield { min-width: 0; text-align: left; }
.gform_wrapper.mtfgf-design .gform_heading,
.gform_wrapper.mtfgf-design .gform_title,
.gform_wrapper.mtfgf-design .gsection_title,
.gform_wrapper.mtfgf-design .gfield_html p { text-align: left; }
.gform_wrapper.mtfgf-design .gfield_label,
.gform_wrapper.mtfgf-design .gform-field-label,
.gform_wrapper.mtfgf-design .gfield_description,
.gform_wrapper.mtfgf-design .ginput_complex label,
.gform_wrapper.mtfgf-design .ginput_container label,
.gform_wrapper.mtfgf-design .gfield_html,
.gform_wrapper.mtfgf-design .gfield_html p,
.gform_wrapper.mtfgf-design .gform_description,
.gform_wrapper.mtfgf-design .ginput_product_price,
.gform_wrapper.mtfgf-design .ginput_product_price_label {
    font-family: var(--mtfgf-font, Tahoma), sans-serif;
    font-size: var(--mtfgf-text) !important;
    line-height: 1.5;
    color: var(--mtfgf-ink);
    text-align: left;
}
.gform_wrapper.mtfgf-design .gfield_label,
.gform_wrapper.mtfgf-design legend.gfield_label { font-weight: 600; margin-bottom: 10px; }
.gform_wrapper.mtfgf-design .ginput_complex label,
.gform_wrapper.mtfgf-design .ginput_container label { font-weight: 400; }
.gform_wrapper.mtfgf-design .gfield_required { color: #9d2b17; }
.gform_wrapper.mtfgf-design .gfield_description { padding-top: 8px; }
.gform_wrapper.mtfgf-design .gfield_html p { margin: 0 0 14px; }
.gform_wrapper.mtfgf-design .gsection { border-bottom: 1px solid var(--mtfgf-line); padding: 16px 0 12px; margin: 8px 0 0; }
.gform_wrapper.mtfgf-design .gsection_title { font: 600 24px/1.35 var(--mtfgf-font, Tahoma), sans-serif; color: var(--mtfgf-ink); margin: 0; }
.gform_wrapper.mtfgf-design .gform_title { font: 600 28px/1.3 var(--mtfgf-font, Tahoma), sans-serif; color: var(--mtfgf-ink); }
.gform_wrapper.mtfgf-design input:is([type=text], [type=email], [type=tel], [type=url], [type=number], [type=date], [type=time], [type=password]),
.gform_wrapper.mtfgf-design select,
.gform_wrapper.mtfgf-design textarea {
    font-family: var(--mtfgf-font, Tahoma), sans-serif;
    font-size: var(--mtfgf-text) !important;
    line-height: 1.4;
    color: var(--mtfgf-ink);
    background-color: #fff;
    border: 1px solid var(--mtfgf-line);
    border-radius: var(--mtfgf-radius);
    min-height: var(--mtfgf-control-height);
    padding-block: 10px;
    max-width: 100%;
    box-shadow: none;
    text-align: left;
}
/* Leave telephone horizontal padding to the international country-selector add-on. */
.gform_wrapper.mtfgf-design input:is([type=text], [type=email], [type=url], [type=number], [type=date], [type=time], [type=password]),
.gform_wrapper.mtfgf-design select,
.gform_wrapper.mtfgf-design textarea { padding-inline: 12px; }
.gform_wrapper.mtfgf-design select { padding-inline-end: 34px; }
.gform_wrapper.mtfgf-design textarea { resize: vertical; min-height: 115px; }
.gform_wrapper.mtfgf-design input[type=checkbox],
.gform_wrapper.mtfgf-design input[type=radio] { accent-color: var(--mtfgf-accent, #a94500); min-width: 22px; min-height: 22px; flex-shrink: 0; }
.gform_wrapper.mtfgf-design input:focus-visible,
.gform_wrapper.mtfgf-design select:focus-visible,
.gform_wrapper.mtfgf-design textarea:focus-visible,
.gform_wrapper.mtfgf-design button:focus-visible,
.gform_wrapper.mtfgf-design a:focus-visible { outline: 3px solid var(--mtfgf-accent, #a94500); outline-offset: 3px; }
.gform_wrapper.mtfgf-design .gfield_error input,
.gform_wrapper.mtfgf-design .gfield_error select,
.gform_wrapper.mtfgf-design .gfield_error textarea { border-color: #b3261e; }
.gform_wrapper.mtfgf-design .validation_message,
.gform_wrapper.mtfgf-design .gfield_validation_message { color: #9d2018; font-size: var(--mtfgf-text); background: #fff5f4; border-radius: 4px; padding: 10px 12px; }
.gform_wrapper.mtfgf-design .gform_validation_errors { border: 1px solid #b3261e; border-radius: var(--mtfgf-radius); box-shadow: none; }
.gform_wrapper.mtfgf-design .gform_validation_errors h2 { font: 600 var(--mtfgf-text)/1.5 var(--mtfgf-font, Tahoma), sans-serif; }
/* Modern .gchoice and legacy list-item markup. Native inputs remain visible and focusable. */
.gform_wrapper.mtfgf-design .mtfgf-choices .gfield_radio,
.gform_wrapper.mtfgf-design .mtfgf-choices .gfield_checkbox { margin: 0; padding: 0; list-style: none; }
.gform_wrapper.mtfgf-design .mtfgf-choices .gchoice,
.gform_wrapper.mtfgf-design .mtfgf-choices .gfield_radio > li,
.gform_wrapper.mtfgf-design .mtfgf-choices .gfield_checkbox > li {
    display: flex; align-items: center; gap: 12px; width: 100%; min-height: 54px;
    margin: 0 0 8px; padding: 8px 12px; border: 1px solid var(--mtfgf-line); border-radius: var(--mtfgf-radius); background: #fff;
}
.gform_wrapper.mtfgf-design .mtfgf-choices .gchoice:has(input:checked),
.gform_wrapper.mtfgf-design .mtfgf-choices li:has(input:checked) { border-color: var(--mtfgf-accent, #a94500); background: var(--mtfgf-selected, #fff4e8); }
.gform_wrapper.mtfgf-design .mtfgf-choices .gchoice:focus-within,
.gform_wrapper.mtfgf-design .mtfgf-choices li:focus-within { border-color: var(--mtfgf-accent, #a94500); }
.gform_wrapper.mtfgf-design .mtfgf-choices label { flex: 1; max-width: none; margin: 0; padding: 3px 0; cursor: pointer; }
.gform_wrapper.mtfgf-design .mtfgf-choices input { margin: 0; }
.gform_wrapper.mtfgf-design .mtfgf-stepper { display: inline-grid; grid-template-columns: 44px minmax(54px, 78px) 44px; align-items: stretch; vertical-align: middle; max-width: 100%; margin: 4px 0; }
.gform_wrapper.mtfgf-design .mtfgf-stepper input.ginput_quantity { width: 100% !important; min-width: 0; margin: 0 !important; border-radius: 0; text-align: center; padding: 8px 4px; }
.gform_wrapper.mtfgf-design .mtfgf-step { appearance: none; background: var(--mtfgf-soft); color: #111; border: 1px solid var(--mtfgf-line); font: 400 24px/1 var(--mtfgf-font, Tahoma), sans-serif; padding: 0; min-width: 44px; min-height: var(--mtfgf-control-height); cursor: pointer; box-shadow: none; }
.gform_wrapper.mtfgf-design .mtfgf-step:first-child { border-radius: var(--mtfgf-radius) 0 0 var(--mtfgf-radius); border-right: 0; }
.gform_wrapper.mtfgf-design .mtfgf-step:last-child { border-radius: 0 var(--mtfgf-radius) var(--mtfgf-radius) 0; border-left: 0; }
.gform_wrapper.mtfgf-design .mtfgf-step:hover:not(:disabled) { background: var(--mtfgf-selected, #fff4e8); }
.gform_wrapper.mtfgf-design .mtfgf-step:disabled { color: #777; cursor: default; background: #f5f5f5; }
.gform_wrapper.mtfgf-design .mtfgf-price { grid-column: 1 / -1; width: 100%; max-width: 100%; margin-inline: 0; padding: 12px 16px; border: 1px solid #e6e3df; border-radius: var(--mtfgf-radius); background: var(--mtfgf-soft); }
.gform_wrapper.mtfgf-design .mtfgf-price .gfield_label { margin-bottom: 4px; font-weight: 400; }
.gform_wrapper.mtfgf-design .mtfgf-price > .gfield_label { display: inline-block; margin-inline-end: 16px; }
.gform_wrapper.mtfgf-design .mtfgf-price > .ginput_container { display: block; width: 100%; max-width: 100%; min-width: 0; }
.gform_wrapper.mtfgf-design .mtfgf-price .ginput_container,
.gform_wrapper.mtfgf-design .mtfgf-price input { font: 400 var(--mtfgf-text)/1.5 var(--mtfgf-font, Tahoma), sans-serif; color: #111; }
.gform_wrapper.mtfgf-design .mtfgf-price-total { background: var(--mtfgf-selected, #fff4e8); border-color: var(--mtfgf-accent, #a94500); }
.gform_wrapper.mtfgf-design .mtfgf-price-total .gfield_label,
.gform_wrapper.mtfgf-design .mtfgf-price-total .ginput_total,
.gform_wrapper.mtfgf-design .mtfgf-price-total .ginput_container_total { font-weight: 700; font-size: 22px !important; color: #111; }
.gform_wrapper.mtfgf-design .gform_footer,
.gform_wrapper.mtfgf-design .gform_page_footer { justify-content: flex-start; text-align: left; padding: 20px 0 0; margin: 4px 0 0; }
.gform_wrapper.mtfgf-design .gform_footer .gform_button,
.gform_wrapper.mtfgf-design .gform_page_footer .gform_next_button,
.gform_wrapper.mtfgf-design .gform_page_footer .gform_button {
    appearance: none; background: var(--mtfgf-orange); color: var(--mtfgf-action-ink); border: 1px solid var(--mtfgf-orange);
    border-radius: var(--mtfgf-radius); min-height: 52px; padding: 12px 24px; font: 600 var(--mtfgf-text)/1.35 var(--mtfgf-font, Tahoma), sans-serif; cursor: pointer; box-shadow: none;
}
.gform_wrapper.mtfgf-design .gform_footer .gform_button:hover:not(:disabled) { filter: brightness(.94); }
.gform_wrapper.mtfgf-design .gform_footer .gform_button:disabled { opacity: .65; cursor: default; }
.gform_wrapper.mtfgf-design .mtfgf-icon > .gfield_label::before {
    content: ''; display: inline-block; width: 21px; height: 21px; margin-inline-end: 9px; vertical-align: -3px;
    background-color: var(--mtfgf-accent, #a94500); mask: var(--mtfgf-icon) center / contain no-repeat; -webkit-mask: var(--mtfgf-icon) center / contain no-repeat;
}
@media (max-width: 640px) {
    .gform_wrapper.mtfgf-design .gform_fields { column-gap: 12px; row-gap: 20px; }
    .gform_wrapper.mtfgf-design .gform_footer .gform_button { width: 100%; }
    .gform_wrapper.mtfgf-design .mtfgf-price { grid-column: 1 / -1; width: 100%; max-width: 100%; margin-inline: 0; padding: 12px; }
    .gform_wrapper.mtfgf-design .gfield_label { overflow-wrap: anywhere; }
}
@media (forced-colors: active) {
    .gform_wrapper.mtfgf-design .mtfgf-choices .gchoice:has(input:checked) { outline: 2px solid Highlight; }
    .gform_wrapper.mtfgf-design .mtfgf-icon > .gfield_label::before { display: none; }
}

/* Read-only amounts are part of the summary, not editable white input boxes. */
.gform_wrapper.mtfgf-design .mtfgf-price input[readonly],
.gform_wrapper.mtfgf-design .mtfgf-price input.ginput_total {
    width: 100% !important; max-width: 100% !important; min-width: 0;
    background: transparent !important; border: 0 !important; box-shadow: none !important;
    border-radius: 0; min-height: 0; height: auto; padding: 0 !important; margin: 0;
    text-align: left;
}
/* Keep the native Quantity label available to screen readers. */
.gform_wrapper.mtfgf-design .mtfgf-quantity-label {
    position: absolute !important; width: 1px !important; height: 1px !important;
    padding: 0 !important; margin: -1px !important; overflow: hidden !important;
    clip: rect(0, 0, 0, 0); clip-path: inset(50%); white-space: nowrap; border: 0;
}
.gform_wrapper.mtfgf-design .ginput_container_date { cursor: pointer; }
.gform_wrapper.mtfgf-design input.gform-datepicker,
.gform_wrapper.mtfgf-design input.datepicker { cursor: pointer; }
/* Existing WhatSock/GF calendar, scoped by an added class. No replacement engine. */
.mtfgf-calendar.mtfgf-calendar {
    font: 400 16px/1.4 var(--mtfgf-font, Tahoma), sans-serif; color: #111; background: #fff;
    border: 1px solid #dedbd6; border-radius: 12px; padding: 12px;
    box-shadow: 0 8px 28px rgb(0 0 0 / 14%); width: 340px; max-width: calc(100vw - 24px);
    box-sizing: border-box;
}
.mtfgf-calendar *, .mtfgf-calendar *::before, .mtfgf-calendar *::after { box-sizing: border-box; }
.mtfgf-calendar table { width: 100%; margin: 0; border: 0; border-spacing: 3px; border-collapse: separate; background: transparent; table-layout: fixed; }
.mtfgf-calendar th, .mtfgf-calendar td { border: 0; padding: 0; text-align: center; background: transparent; font: inherit; }
.mtfgf-calendar .week { color: #666; font-size: 13px; font-weight: 400; height: 32px; }
.mtfgf-calendar .day, .mtfgf-calendar .nav.btn { height: 40px; border-radius: 7px; cursor: pointer; }
.mtfgf-calendar .day:hover:not([aria-disabled=true]),
.mtfgf-calendar .nav.btn:hover:not([aria-disabled=true]) { background: var(--mtfgf-selected, #fff4e8); color: #111; }
.mtfgf-calendar .dayToday { box-shadow: inset 0 0 0 1px var(--mtfgf-accent, #a94500); }
.mtfgf-calendar [aria-current=date], .mtfgf-calendar .dayMarked { background: var(--mtfgf-orange, #ff8000); color: var(--mtfgf-action-ink, #111); font-weight: 700; }
.mtfgf-calendar [aria-disabled=true] { color: #999; background: #f5f5f5; cursor: default; }
.mtfgf-calendar select { font: 400 16px/1.4 var(--mtfgf-font, Tahoma), sans-serif; color: #111; background: #fff; min-height: 38px; padding: 4px; max-width: 100%; border: 1px solid #dedbd6; border-radius: var(--mtfgf-radius); }
.mtfgf-calendar :focus-visible { outline: 2px solid var(--mtfgf-accent, #a94500); outline-offset: 1px; }
.mtfgf-calendar .esc-button { font: 400 18px/1.4 var(--mtfgf-font, Tahoma), sans-serif; color: #111; background: var(--mtfgf-selected, #fff4e8); border: 1px solid #dedbd6; border-radius: var(--mtfgf-radius); min-width: 40px; min-height: 40px; cursor: pointer; }
/* Legacy GF installations still use jQuery UI. Only the active styled form gets this class. */
#ui-datepicker-div.mtfgf-calendar .ui-datepicker-header { background: var(--mtfgf-selected, #fff4e8); border: 0; border-radius: 7px; padding: 8px 0; }
#ui-datepicker-div.mtfgf-calendar .ui-state-default { background: #fff; color: #111; border: 0; border-radius: var(--mtfgf-radius); text-align: center; padding: 9px 0; }
#ui-datepicker-div.mtfgf-calendar .ui-state-active { background: var(--mtfgf-orange, #ff8000); color: var(--mtfgf-action-ink, #111); }
#ui-datepicker-div.mtfgf-calendar .ui-state-hover { background: var(--mtfgf-selected, #fff4e8); }

/* Small built-in vector icons: no icon font or network request. */
.gform_wrapper.mtfgf-design .mtfgf-icon-calendar { --mtfgf-icon: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22currentColor%22%20stroke-width%3D%221.8%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Crect%20x%3D%223%22%20y%3D%225%22%20width%3D%2218%22%20height%3D%2216%22%20rx%3D%222%22%2F%3E%3Cpath%20d%3D%22M16%203v4M8%203v4M3%2011h18%22%2F%3E%3C%2Fsvg%3E"); }
.gform_wrapper.mtfgf-design .mtfgf-icon-clock { --mtfgf-icon: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22currentColor%22%20stroke-width%3D%221.8%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Ccircle%20cx%3D%2212%22%20cy%3D%2212%22%20r%3D%229%22%2F%3E%3Cpath%20d%3D%22M12%207v5l3%202%22%2F%3E%3C%2Fsvg%3E"); }
.gform_wrapper.mtfgf-design .mtfgf-icon-users { --mtfgf-icon: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22currentColor%22%20stroke-width%3D%221.8%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Ccircle%20cx%3D%229%22%20cy%3D%227%22%20r%3D%223%22%2F%3E%3Cpath%20d%3D%22M3%2021v-3a6%206%200%200%201%2012%200v3M17%204a3%203%200%200%201%200%206M18%2014a5%205%200%200%201%203%205v2%22%2F%3E%3C%2Fsvg%3E"); }
.gform_wrapper.mtfgf-design .mtfgf-icon-person { --mtfgf-icon: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22currentColor%22%20stroke-width%3D%221.8%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Ccircle%20cx%3D%2212%22%20cy%3D%227%22%20r%3D%224%22%2F%3E%3Cpath%20d%3D%22M4%2021v-2a8%208%200%200%201%2016%200v2%22%2F%3E%3C%2Fsvg%3E"); }
.gform_wrapper.mtfgf-design .mtfgf-icon-location { --mtfgf-icon: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22currentColor%22%20stroke-width%3D%221.8%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M20%2010c0%206-8%2012-8%2012S4%2016%204%2010a8%208%200%200%201%2016%200Z%22%2F%3E%3Ccircle%20cx%3D%2212%22%20cy%3D%2210%22%20r%3D%222.5%22%2F%3E%3C%2Fsvg%3E"); }
.gform_wrapper.mtfgf-design .mtfgf-icon-email { --mtfgf-icon: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22currentColor%22%20stroke-width%3D%221.8%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Crect%20x%3D%223%22%20y%3D%225%22%20width%3D%2218%22%20height%3D%2214%22%20rx%3D%222%22%2F%3E%3Cpath%20d%3D%22m3%206%209%207%209-7%22%2F%3E%3C%2Fsvg%3E"); }
.gform_wrapper.mtfgf-design .mtfgf-icon-phone { --mtfgf-icon: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22currentColor%22%20stroke-width%3D%221.8%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Crect%20x%3D%226%22%20y%3D%222%22%20width%3D%2212%22%20height%3D%2220%22%20rx%3D%222%22%2F%3E%3Cpath%20d%3D%22M10%2018h4%22%2F%3E%3C%2Fsvg%3E"); }
.gform_wrapper.mtfgf-design .mtfgf-icon-transport { --mtfgf-icon: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22currentColor%22%20stroke-width%3D%221.8%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Crect%20x%3D%224%22%20y%3D%223%22%20width%3D%2216%22%20height%3D%2216%22%20rx%3D%223%22%2F%3E%3Cpath%20d%3D%22M4%2011h16M7%2019v3M17%2019v3M8%2015h.01M16%2015h.01%22%2F%3E%3C%2Fsvg%3E"); }
.gform_wrapper.mtfgf-design .mtfgf-icon-ticket { --mtfgf-icon: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22currentColor%22%20stroke-width%3D%221.8%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M3%205h18v5a2%202%200%200%200%200%204v5H3v-5a2%202%200%200%200%200-4V5Z%22%2F%3E%3Cpath%20d%3D%22M15%205v3m0%203v2m0%203v3%22%2F%3E%3C%2Fsvg%3E"); }

/* Hierarchy: labels describe the question; helper text supports it. */
.gform_wrapper.mtfgf-design :is(.gfield_description, .gform_description, .ginput_complex label, .gform-field-label--type-sub) {
    font-size: var(--mtfgf-help) !important;
    color: var(--mtfgf-muted);
    line-height: 1.6;
}
.gform_wrapper.mtfgf-design :is(.gform_title, .gsection_title, .gfield_label, .gfield_description, .gfield_html, .gform_description) { overflow-wrap: anywhere; }
.gform_wrapper.mtfgf-design .gsection { border: 0; border-top: 1px solid var(--mtfgf-line); padding: 24px 0 0; }
.gform_wrapper.mtfgf-design .gfield_validation_message { color: #9d2018; }
.gform_wrapper.mtfgf-design :is(input, select, textarea):disabled { opacity: .65; cursor: not-allowed; }
.gform_wrapper.mtfgf-design :is(input, textarea)[readonly] { background-color: var(--mtfgf-soft); }
.gform_wrapper.mtfgf-design .gfield input[type=file] { max-width: 100%; font: inherit; }
.gform_wrapper.mtfgf-design .gfield input[type=file]::file-selector-button {
    font: inherit; padding: 10px 14px; min-height: 48px; margin-inline-end: 12px;
    background: var(--mtfgf-soft); border: 1px solid var(--mtfgf-line); border-radius: var(--mtfgf-radius); cursor: pointer;
}
.gform_wrapper.mtfgf-design :is(.gform_footer, .gform_page_footer) { display: flex; gap: 12px; flex-wrap: wrap; align-items: center; }
.gform_wrapper.mtfgf-design .gform_page_footer .gform_previous_button {
    background: #fff; border: 1px solid var(--mtfgf-line); color: var(--mtfgf-ink);
    font: 600 var(--mtfgf-text)/1.35 var(--mtfgf-font); padding: 12px 22px;
    min-height: var(--mtfgf-control-height); border-radius: var(--mtfgf-radius); cursor: pointer;
}
.gform_wrapper.mtfgf-design :is(.gform_button, .gform_next_button, .gform_previous_button) { max-width: 100%; white-space: normal; }
.gform_wrapper.mtfgf-design :is(.gform_button, .gform_next_button):disabled { opacity: .65; cursor: wait; }
.gform_wrapper.mtfgf-design .gf_progressbar { border-radius: 999px; background: var(--mtfgf-soft); overflow: hidden; }
.gform_wrapper.mtfgf-design .gf_progressbar_percentage { background: var(--mtfgf-accent); color: #fff; min-height: 24px; }
.gform_wrapper.mtfgf-design .gf_progressbar_title { font: 600 var(--mtfgf-text)/1.5 var(--mtfgf-font); color: var(--mtfgf-ink); }
.gform_wrapper.mtfgf-design .gf_page_steps { display: flex; flex-wrap: wrap; gap: 12px; padding-bottom: 16px; border-bottom: 1px solid var(--mtfgf-line); }
.gform_wrapper.mtfgf-design .gf_step { margin: 0; font: 400 var(--mtfgf-help)/1.5 var(--mtfgf-font); }
.gform_wrapper.mtfgf-design .gf_step_active { color: var(--mtfgf-accent); font-weight: 700; }
/* Applies inside narrow desktop booking panels too. Never set display on fields,
   so conditional logic, administrative/hidden fields and native page visibility win. */
@container mtfgf (max-width: 520px) {
    .mtfgf-design .gform_fields > .gfield { grid-column: 1 / -1; width: 100%; margin-inline: 0; }
    .mtfgf-design .gform_fields > .spacer { display: none; }
    .mtfgf-design .ginput_complex:not(.ginput_container_time):not(.ginput_container_date) { flex-wrap: wrap; }
    .mtfgf-design .ginput_complex:not(.ginput_container_time):not(.ginput_container_date) > span:not(.ginput_full) { flex-basis: 100%; width: 100%; padding-inline: 0; margin-inline: 0; }
    .mtfgf-design :is(.gform_footer, .gform_page_footer) :is(.gform_button, .gform_next_button, .gform_previous_button) { width: 100%; }
    .mtfgf-design :is(input[type=text], input[type=email], input[type=tel], input[type=url], input[type=password], textarea) { width: 100%; }
}
@media (max-width: 640px) {
    .gform_wrapper.mtfgf-design .gform_fields > .gfield { grid-column: 1 / -1; width: 100%; margin-inline: 0; }
    .gform_wrapper.mtfgf-design .gform_fields > .spacer { display: none; }
    .gform_wrapper.mtfgf-design :is(.gform_footer, .gform_page_footer) :is(.gform_button, .gform_next_button, .gform_previous_button) { width: 100%; }
}
@media (forced-colors: active) {
    .gform_wrapper.mtfgf-design .mtfgf-choices li:has(input:checked) { outline: 2px solid Highlight; }
}

/* Keep the label of a standard consent/choice control easy to tap too. */
.gform_wrapper.mtfgf-design .ginput_container_consent label,
.gform_wrapper.mtfgf-design .gchoice label { min-height: 44px; display: inline-flex; align-items: center; }
