.contact-flow{box-sizing:border-box;width:min(620px,calc(100% - 28px));max-height:calc(100dvh - 28px);margin:auto;padding:0;border:1px solid #d6dfd9;border-radius:26px;background:#fafbf8;color:#253b32;box-shadow:0 24px 80px #152c3450;font-family:Manrope,system-ui,sans-serif;overflow:auto}
.contact-flow::backdrop{background:#11272994;backdrop-filter:blur(5px)}
.contact-flow__content{padding:34px;position:relative}.contact-flow h2{font-size:clamp(22px,4vw,28px);line-height:1.3;margin:10px 35px 12px 0;letter-spacing:-.04em}
.contact-flow__close{position:absolute;right:18px;top:16px;border:0;border-radius:50%;width:40px;height:40px;background:#e9eeea;color:inherit;font:28px/1 system-ui;cursor:pointer}
.contact-flow__eyebrow{font-size:12px;letter-spacing:.14em;font-weight:800;color:#537a64;margin:0}.contact-flow__intro{font-size:15px;line-height:1.6;color:#63746d;margin:0 0 18px}
.contact-flow__source{padding:12px 16px;border-radius:14px;background:#e9eee4;font-size:14px;font-weight:700;margin-bottom:24px}
.contact-flow__fields{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:22px}.contact-flow__field{display:flex;flex-direction:column;gap:7px;font-size:14px;font-weight:650;min-width:0}
.contact-flow__field input{box-sizing:border-box;width:100%;border:1px solid #ccd7ce;border-radius:12px;background:#fff;padding:12px 14px;font:16px/1.5 Manrope,system-ui,sans-serif;color:#253b32;min-height:49px;min-width:0}
.contact-flow__field input:focus{outline:3px solid #a0b99470;border-color:#729565}.contact-flow__field input::placeholder{color:#819087}
.contact-flow__field--wide{grid-column:1/-1}
.contact-flow__fields{grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch;margin-bottom:10px}
.contact-flow__field{line-height:1.5}.contact-flow__field input{margin-top:auto}
.contact-flow__dog-note,.checkout-form__dog-note{grid-column:1/-1;margin:0 0 18px;font-size:14px;line-height:1.5;font-weight:400;color:inherit;opacity:.8}
.checkout-form__dog-note{margin:0}
.checkout-form__grid .checkout-field{min-width:0;align-content:start}
.admin-button-settings label[hidden]{display:none}
.contact-flow__consent{display:flex;align-items:flex-start;gap:11px;margin:16px 0;font-size:14px;line-height:1.6;color:#516158}.contact-flow__consent input{flex:0 0 19px;width:19px;height:19px;margin-top:3px;accent-color:#466b50;cursor:pointer}.contact-flow__consent a{color:#315f42;text-decoration:underline;text-underline-offset:3px}
.contact-flow__submit{width:100%;justify-content:center;margin-top:14px;min-height:52px;border:0;background:#385d42;color:white;border-radius:14px;font:700 16px Manrope,system-ui,sans-serif;cursor:pointer}.contact-flow__submit:disabled{opacity:.65;cursor:wait}.contact-flow__submit[aria-busy=true]::before{content:'';display:inline-block;width:14px;height:14px;margin-right:10px;border:2px solid #ffffff70;border-top-color:white;border-radius:50%;animation:contact-spin 1s linear infinite}
.contact-flow__error{font-size:14px;color:#9d3535;background:#f9eaea;border-radius:10px;padding:12px}.contact-flow__fallback{display:block;margin-top:16px;color:#315f42;text-align:center;font-size:14px}.contact-flow [hidden]{display:none}
.contact-flow__notice{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);z-index:10000;max-width:min(500px,90vw);background:#243d30;color:white;border-radius:14px;padding:14px 20px;font:14px/1.5 Manrope,system-ui,sans-serif;box-shadow:0 8px 30px #0003}.contact-flow__notice[hidden]{display:none}
.contact-settings{box-sizing:border-box;max-width:1180px;margin:32px auto 70px;padding:30px;border:1px solid #ccd7ce;border-radius:22px;background:#f8faf7;color:#253b32;font:16px/1.6 Manrope,system-ui,sans-serif}.contact-settings h2{font-size:26px;margin:0 0 10px}.contact-settings__list{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:20px}.contact-settings__row{padding:20px;border:1px solid #dbe2dc;border-radius:16px;background:#fff;display:flex;flex-direction:column;align-items:stretch;gap:10px;min-width:0}.contact-settings__row h3{font-size:16px;line-height:1.5;margin:0}.contact-settings__destination{font-size:13px;color:#6b7b70;margin:0;overflow-wrap:anywhere}.contact-settings__toggle{font-size:14px;display:flex;gap:10px;align-items:center}.contact-settings__toggle input{accent-color:#466b50;width:19px;height:19px}.contact-settings small{font-size:13px;color:#6b7b70}.contact-settings__row [role=status]{font-size:14px}.contact-settings button{align-self:flex-start;border:0;cursor:pointer}.contact-settings__row button{margin-top:8px}
@keyframes contact-spin{to{transform:rotate(360deg)}}
@media(max-width:600px){.contact-flow__content{padding:25px 20px}.contact-flow__fields{grid-template-columns:1fr;gap:12px}.contact-flow{border-radius:20px}.contact-flow__consent{font-size:14px}.contact-settings{margin:20px 14px;padding:20px}.contact-settings__list{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){.contact-flow__submit[aria-busy=true]::before{animation:none}}

/* Shared geometry for both questionnaires; keep their existing site colors. */
.contact-flow,.checkout-form-modal{box-sizing:border-box;width:min(800px,calc(100% - 32px));max-height:calc(100dvh - 24px);border-radius:24px}
.contact-flow__content{padding:24px}
.contact-flow h2{font-size:26px;line-height:1.2;margin:8px 42px 10px 0}
.contact-flow__intro{font-size:16px;line-height:1.4;margin:0 0 18px}
.contact-flow__fields,.checkout-form__grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 16px}
.contact-flow__field,.checkout-form__grid .checkout-field{font-size:14px;line-height:1.5;gap:6px;min-width:0}
.contact-flow__field input,.checkout-form__grid .checkout-field input{min-height:46px;padding:10px 12px;font-size:16px;line-height:1.4}
.contact-flow__consent{margin:10px 0;font-size:14px;line-height:1.4}
.contact-flow__dog-note{margin-bottom:14px}
.contact-flow__submit,.checkout-form__submit{min-height:48px;margin-top:12px}
.checkout-form-modal__header{padding:14px 24px 0}
.checkout-form-modal__heading{padding:8px 24px 14px}
.checkout-form-modal__heading h2{font-size:26px;line-height:1.2;margin-bottom:8px}
.checkout-form-modal__heading p{font-size:14px;line-height:1.4}
.checkout-form-modal__close,.contact-flow__close{width:36px;height:36px}
.checkout-form-modal .checkout-form{padding:16px 24px 24px}
.checkout-consent-list{margin-top:14px;gap:8px}
.checkout-form-modal .checkout-consent{padding:9px 12px;font-size:14px;line-height:1.4}
.checkout-form__offer{font-size:14px;line-height:1.4;margin-top:12px}
.checkout-form__note{font-size:14px;line-height:1.4;margin:5px 2px 0}
@media(min-width:641px) and (max-height:850px){
  .contact-flow__content{padding:18px 24px}
  .contact-flow h2,.checkout-form-modal__heading h2{font-size:24px}
  .contact-flow__intro{margin-bottom:12px}
  .contact-flow__fields,.checkout-form__grid{gap:8px 16px}
  .contact-flow__field input,.checkout-form__grid .checkout-field input{min-height:42px;padding-block:8px}
  .contact-flow__dog-note{margin-bottom:8px}
  .contact-flow__consent{margin:8px 0}
  .checkout-form-modal__header{padding-top:10px}
  .checkout-form-modal__heading{padding-block:6px 10px}
  .checkout-form-modal .checkout-form{padding-block:12px 18px}
  .checkout-consent-list{margin-top:10px;gap:6px}
}
@media(max-width:640px){
  .contact-flow,.checkout-form-modal{width:calc(100% - 24px);border-radius:20px}
  .contact-flow__content{padding:22px 18px}
  .contact-flow h2,.checkout-form-modal__heading h2{font-size:24px}
  .contact-flow__fields,.checkout-form__grid{grid-template-columns:minmax(0,1fr);gap:12px}
  .contact-flow__field--wide,.checkout-field--wide{grid-column:1/-1}
  .checkout-form-modal__header,.checkout-form-modal__heading,.checkout-form-modal .checkout-form{padding-inline:18px}
}

/* Checkout-only alignment. Telegram is the reference and remains unchanged.
   Do not compress checkout controls when the viewport is short. */
.checkout-form-modal .checkout-form__grid{gap:12px 16px;align-items:stretch}
.checkout-form-modal .checkout-field{display:flex;flex-direction:column;gap:6px;line-height:1.5}
.checkout-form-modal .checkout-field input{box-sizing:border-box;min-height:46px;margin-top:auto;padding:10px 12px;font-size:16px;line-height:1.4}
.checkout-form-modal .checkout-field--wide{grid-column:1/-1}
.checkout-form-modal__header{padding-top:24px;align-items:flex-start}
.checkout-form-modal__heading{padding-top:8px;padding-bottom:18px}
.checkout-form-modal .checkout-form{padding-top:18px;padding-bottom:24px}
.checkout-form-modal .checkout-consent-list{margin-top:14px;gap:10px}
.checkout-form-modal .checkout-consent{grid-template-columns:19px minmax(0,1fr);gap:11px;align-items:start}
.checkout-form-modal .checkout-consent input{width:19px;height:19px;margin:2px 0 0}
@media(max-width:640px){
  .checkout-form-modal .checkout-form__grid{grid-template-columns:minmax(0,1fr);gap:12px}
}
