/* TGT Flexible Reservation Forms v1.13.0 — Universal Appearance System */

/* Structural layer shared by every appearance mode. */
.tgt-ff-form{--tgt-ff-accent:#c58b45;--tgt-ff-border:#e5e7eb;--tgt-ff-text:#111827;--tgt-ff-label:var(--tgt-ff-text);--tgt-ff-muted:#6b7280;--tgt-ff-input-bg:#fff;--tgt-ff-input-radius:12px;--tgt-ff-input-height:46px;--tgt-ff-field-gap:18px;--tgt-ff-button-bg:var(--tgt-ff-accent);--tgt-ff-button-text:#fff;--tgt-ff-button-radius:999px;--tgt-ff-button-height:50px;display:block;width:100%;box-sizing:border-box}.tgt-ff-form *{box-sizing:border-box}.tgt-ff-fields-wrap{display:flex;flex-wrap:wrap;gap:var(--tgt-ff-field-gap)}.tgt-ff-field{width:var(--tgt-ff-width,100%);min-width:220px;flex:1 1 calc(var(--tgt-ff-width,100%) - var(--tgt-ff-field-gap))}.tgt-ff-field label:first-child{display:block;margin:0 0 7px}.tgt-ff-required{color:#d63638;margin-left:4px}.tgt-ff-form input[type=text],.tgt-ff-form input[type=email],.tgt-ff-form input[type=tel],.tgt-ff-form input[type=number],.tgt-ff-form input[type=date],.tgt-ff-form input[type=file],.tgt-ff-form select,.tgt-ff-form textarea{width:100%;max-width:100%;box-sizing:border-box}.tgt-ff-form textarea{min-height:120px;resize:vertical}.tgt-ff-choice-list{display:flex;flex-wrap:wrap;gap:10px}.tgt-ff-choice{display:inline-flex!important;align-items:center;gap:7px;margin:0!important}.tgt-ff-choice input{margin:0}.tgt-ff-field-error{font-size:12px;color:#d63638;margin-top:6px;display:none}.tgt-ff-field.has-error .tgt-ff-field-error{display:block}.tgt-ff-message{display:none;margin:18px 0 0;border-radius:12px;padding:13px 15px;font-weight:700}.tgt-ff-message.success{display:block;background:#ecfdf3;color:#166534;border:1px solid #bbf7d0}.tgt-ff-message.error{display:block;background:#fef2f2;color:#991b1b;border:1px solid #fecaca}.tgt-ff-submit{margin-top:20px;cursor:pointer}.tgt-ff-submit[disabled]{opacity:.65;cursor:wait}.tgt-ff-hidden{display:none!important}

/* Plugin Default — preserves the pre-v1.13.0 visual design. */
.tgt-ff-form.tgt-ff-appearance-plugin{background:#fff;border:1px solid var(--tgt-ff-border);border-radius:20px;padding:24px;box-shadow:0 14px 40px rgba(17,24,39,.08);color:var(--tgt-ff-text)}.tgt-ff-appearance-plugin .tgt-ff-field label:first-child{font-weight:800;color:var(--tgt-ff-text)}.tgt-ff-appearance-plugin input[type=text],.tgt-ff-appearance-plugin input[type=email],.tgt-ff-appearance-plugin input[type=tel],.tgt-ff-appearance-plugin input[type=number],.tgt-ff-appearance-plugin input[type=date],.tgt-ff-appearance-plugin input[type=file],.tgt-ff-appearance-plugin select,.tgt-ff-appearance-plugin textarea,.tgt-ff-theme-plugin-inputs input[type=text],.tgt-ff-theme-plugin-inputs input[type=email],.tgt-ff-theme-plugin-inputs input[type=tel],.tgt-ff-theme-plugin-inputs input[type=number],.tgt-ff-theme-plugin-inputs input[type=date],.tgt-ff-theme-plugin-inputs input[type=file],.tgt-ff-theme-plugin-inputs select,.tgt-ff-theme-plugin-inputs textarea{border:1px solid var(--tgt-ff-border);border-radius:12px;padding:12px 14px;background:#fff;color:var(--tgt-ff-text);font-size:15px;line-height:1.4;transition:border-color .2s,box-shadow .2s}.tgt-ff-appearance-plugin input:focus,.tgt-ff-appearance-plugin select:focus,.tgt-ff-appearance-plugin textarea:focus,.tgt-ff-theme-plugin-inputs input:focus,.tgt-ff-theme-plugin-inputs select:focus,.tgt-ff-theme-plugin-inputs textarea:focus{outline:none;border-color:var(--tgt-ff-accent);box-shadow:0 0 0 4px color-mix(in srgb,var(--tgt-ff-accent) 14%,transparent)}.tgt-ff-appearance-plugin .tgt-ff-choice,.tgt-ff-theme-plugin-inputs .tgt-ff-choice{border:1px solid var(--tgt-ff-border);border-radius:999px;padding:9px 13px;background:#fafafa;font-weight:700!important}.tgt-ff-appearance-plugin .tgt-ff-submit,.tgt-ff-theme-plugin-button .tgt-ff-submit{border:none;border-radius:999px;background:linear-gradient(135deg,var(--tgt-ff-accent),#a66c2f);color:#fff;font-weight:900;padding:14px 28px;box-shadow:0 12px 28px rgba(197,139,69,.22);transition:transform .2s,box-shadow .2s}.tgt-ff-appearance-plugin .tgt-ff-submit:hover,.tgt-ff-theme-plugin-button .tgt-ff-submit:hover{transform:translateY(-1px);box-shadow:0 16px 34px rgba(197,139,69,.28)}

/* Theme Native — deliberately avoids imposing a second visual identity. */
.tgt-ff-form.tgt-ff-appearance-theme{background:transparent;border:0;border-radius:0;padding:0;box-shadow:none;color:inherit}.tgt-ff-appearance-theme.tgt-ff-theme-inherit-font,.tgt-ff-appearance-theme.tgt-ff-theme-inherit-font input,.tgt-ff-appearance-theme.tgt-ff-theme-inherit-font select,.tgt-ff-appearance-theme.tgt-ff-theme-inherit-font textarea,.tgt-ff-appearance-theme.tgt-ff-theme-inherit-font button{font-family:inherit}.tgt-ff-appearance-theme.tgt-ff-theme-inherit-colors{--tgt-ff-accent:var(--tgt-accent,var(--wp--preset--color--primary,#ff4a2c));--tgt-ff-text:var(--tgt-text,var(--wp--preset--color--contrast,currentColor));--tgt-ff-label:var(--tgt-text,var(--wp--preset--color--contrast,currentColor));--tgt-ff-border:var(--tgt-line,var(--wp--preset--color--contrast-3,#d8dadd));--tgt-ff-input-bg:var(--tgt-form-input-bg,var(--wp--preset--color--base,#fff));--tgt-ff-button-bg:var(--tgt-accent,var(--wp--preset--color--primary,#ff4a2c));--tgt-ff-button-text:var(--tgt-accent-contrast,#fff)}.tgt-ff-appearance-theme .tgt-ff-field label:first-child{font-weight:inherit;color:inherit}.tgt-ff-appearance-theme:not(.tgt-ff-theme-inherit-colors) .tgt-ff-field label:first-child{font-weight:800;color:var(--tgt-ff-text)}.tgt-ff-appearance-theme.tgt-ff-theme-inherit-inputs input[type=text],.tgt-ff-appearance-theme.tgt-ff-theme-inherit-inputs input[type=email],.tgt-ff-appearance-theme.tgt-ff-theme-inherit-inputs input[type=tel],.tgt-ff-appearance-theme.tgt-ff-theme-inherit-inputs input[type=number],.tgt-ff-appearance-theme.tgt-ff-theme-inherit-inputs input[type=date],.tgt-ff-appearance-theme.tgt-ff-theme-inherit-inputs input[type=file],.tgt-ff-appearance-theme.tgt-ff-theme-inherit-inputs select,.tgt-ff-appearance-theme.tgt-ff-theme-inherit-inputs textarea{font:inherit;color:var(--tgt-ff-text);border:1px solid var(--tgt-ff-border);border-radius:var(--tgt-form-input-radius,var(--tgt-radius,10px));background:var(--tgt-ff-input-bg);padding:11px 12px;min-height:46px;outline:0;box-shadow:none}.tgt-ff-appearance-theme.tgt-ff-theme-inherit-inputs textarea{min-height:120px}.tgt-ff-appearance-theme.tgt-ff-theme-inherit-inputs .tgt-ff-choice{font:inherit;color:inherit}.tgt-ff-appearance-theme.tgt-ff-theme-inherit-colors.tgt-ff-theme-inherit-inputs input:focus,.tgt-ff-appearance-theme.tgt-ff-theme-inherit-colors.tgt-ff-theme-inherit-inputs select:focus,.tgt-ff-appearance-theme.tgt-ff-theme-inherit-colors.tgt-ff-theme-inherit-inputs textarea:focus{border-color:var(--tgt-ff-accent);box-shadow:0 0 0 3px var(--tgt-accent-soft,color-mix(in srgb,var(--tgt-ff-accent) 13%,transparent));outline:0}.tgt-ff-appearance-theme.tgt-ff-theme-inherit-button .tgt-ff-submit{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:50px;max-width:100%;padding:13px 24px;border:1px solid var(--tgt-ff-accent);border-radius:var(--tgt-button-radius,999px);background:var(--tgt-ff-button-bg);color:var(--tgt-ff-button-text);font:inherit;font-weight:750;line-height:1.1;box-shadow:none;appearance:none;transition:background .2s,border-color .2s,color .2s,transform .2s}.tgt-ff-appearance-theme.tgt-ff-theme-inherit-button .tgt-ff-submit:hover{background:var(--tgt-accent-dark,color-mix(in srgb,var(--tgt-ff-accent) 85%,#000));border-color:var(--tgt-accent-dark,color-mix(in srgb,var(--tgt-ff-accent) 85%,#000));color:var(--tgt-ff-button-text);transform:translateY(-1px)}

/* Custom — user-controlled CSS variables, no theme-specific selector needed. */
.tgt-ff-form.tgt-ff-appearance-custom{background:#fff;border:1px solid var(--tgt-ff-border);border-radius:20px;padding:24px;box-shadow:0 14px 40px rgba(17,24,39,.08);color:var(--tgt-ff-text)}.tgt-ff-appearance-custom .tgt-ff-fields-wrap{gap:var(--tgt-ff-field-gap)}.tgt-ff-appearance-custom .tgt-ff-field label:first-child{font-weight:800;color:var(--tgt-ff-label)}.tgt-ff-appearance-custom input[type=text],.tgt-ff-appearance-custom input[type=email],.tgt-ff-appearance-custom input[type=tel],.tgt-ff-appearance-custom input[type=number],.tgt-ff-appearance-custom input[type=date],.tgt-ff-appearance-custom input[type=file],.tgt-ff-appearance-custom select,.tgt-ff-appearance-custom textarea{border:1px solid var(--tgt-ff-border);border-radius:var(--tgt-ff-input-radius);padding:0 14px;background:var(--tgt-ff-input-bg);color:var(--tgt-ff-text);font:inherit;min-height:var(--tgt-ff-input-height);line-height:1.4;transition:border-color .2s,box-shadow .2s}.tgt-ff-appearance-custom textarea{padding-top:12px;padding-bottom:12px;min-height:max(120px,var(--tgt-ff-input-height))}.tgt-ff-appearance-custom input:focus,.tgt-ff-appearance-custom select:focus,.tgt-ff-appearance-custom textarea:focus{outline:none;border-color:var(--tgt-ff-accent);box-shadow:0 0 0 4px color-mix(in srgb,var(--tgt-ff-accent) 14%,transparent)}.tgt-ff-appearance-custom .tgt-ff-choice{border:1px solid var(--tgt-ff-border);border-radius:999px;padding:9px 13px;background:var(--tgt-ff-input-bg);font-weight:700!important;color:var(--tgt-ff-text)}.tgt-ff-appearance-custom .tgt-ff-submit{width:auto;min-height:var(--tgt-ff-button-height);border:0;border-radius:var(--tgt-ff-button-radius);background:var(--tgt-ff-button-bg);color:var(--tgt-ff-button-text);font:inherit;font-weight:800;padding:0 28px;box-shadow:none;transition:filter .2s,transform .2s}.tgt-ff-appearance-custom .tgt-ff-submit:hover{filter:brightness(.95);transform:translateY(-1px)}

/* Date range field (structural; compatible with every appearance mode). */
.tgt-ff-field-date_range{position:relative}.tgt-ff-date-range{position:relative;display:grid;grid-template-columns:1fr 34px 1fr;gap:10px;align-items:end;width:100%}.tgt-ff-date-range-part{display:grid!important;gap:6px;margin:0!important;font-weight:800!important;color:inherit!important}.tgt-ff-date-range-part span{display:block;font-size:12px;text-transform:uppercase;letter-spacing:.06em;color:var(--tgt-ff-muted);font-weight:900}.tgt-ff-date-range-part:first-child{grid-column:1}.tgt-ff-date-range-part:last-child{grid-column:3}.tgt-ff-date-range-part:first-child::after{content:"to";position:absolute;left:50%;transform:translateX(-50%);bottom:14px;color:var(--tgt-ff-muted);font-size:13px;font-weight:900;text-transform:uppercase;letter-spacing:.05em}

/* Native TGT Togo Travel compatibility: only remove duplicate outer card treatment. */
body.single-togo_trip .booking-card .booking-shortcode>.tgt-ff-form,body.single-togo_trip .booking-card .booking-shortcode .tgt-ff-form{background:transparent;border:0;border-radius:0;padding:0;box-shadow:none}body.single-togo_trip .booking-card .booking-shortcode .tgt-ff-fields-wrap{gap:14px}body.single-togo_trip .booking-card .booking-shortcode .tgt-ff-field{min-width:0}body.single-togo_trip .booking-card .booking-shortcode .tgt-ff-submit{width:100%}

/* Universal integration shells. */
.tgt-ff-integration-shell{width:100%;margin:20px 0}.tgt-ff-integration-style-embedded{margin:0}.tgt-ff-integration-style-embedded>.tgt-ff-form,.tgt-ff-integration-style-embedded .tgt-ff-form{background:transparent;border:0;border-radius:0;padding:0;box-shadow:none}.tgt-ff-integration-style-embedded .tgt-ff-field{min-width:0}.tgt-ff-tour-admin-warning{position:fixed;z-index:99999;right:20px;bottom:20px;max-width:min(420px,calc(100vw - 40px));background:#fff3cd;color:#664d03;border:1px solid #ffecb5;border-radius:10px;padding:12px 14px;box-shadow:0 12px 28px rgba(0,0,0,.15);font-size:13px;line-height:1.45}

@media(max-width:700px){.tgt-ff-form.tgt-ff-appearance-plugin,.tgt-ff-form.tgt-ff-appearance-custom{padding:18px}.tgt-ff-field{width:100%!important;flex-basis:100%!important;min-width:100%}}@media(max-width:640px){.tgt-ff-date-range{display:grid;grid-template-columns:1fr;gap:10px}.tgt-ff-date-range-part:first-child,.tgt-ff-date-range-part:last-child{grid-column:auto}.tgt-ff-date-range-part:first-child::after{position:static;display:block;transform:none;content:"to";margin:8px 0 -2px;text-align:center}}
