/* TakeFoods Fit welcome offer — shared by the theme and standalone demo. */
#home-modal, #home-modal * { box-sizing: border-box; }
#home-modal {
  --welcome-orange: #ff6200;
  position: fixed; z-index: 20000; top: 24px; right: auto; bottom: auto; left: 50%;
  width: calc(100% - 32px); max-width: 420px; height: auto;
  max-height: calc(100vh - 48px); max-height: calc(100dvh - 48px); overflow-y: auto;
  margin: 0; padding: 0; color: #2c211b; background: #fffdfb;
  border: 1px solid #fff; border-radius: 16px;
  box-shadow: 0 12px 40px #4227121f, 0 2px 8px #4227120a;
  font-family: 'Nunito', 'Arial', sans-serif; text-align: left;
  opacity: 0; transform: translate(-50%, -12px);
  transition: opacity .25s ease, transform .25s ease;
}
#home-modal[hidden] { display: none; }
#home-modal.modal-show { top: 24px; right: auto; bottom: auto; left: 50%; opacity: 1; transform: translate(-50%, 0); }
#home-modal .welcome-top { display: flex; align-items: center; justify-content: space-between; padding: 10px 14px 0 20px; }
#home-modal .welcome-brand { display: flex; align-items: center; gap: 8px; font-size: 15px; font-weight: 900; letter-spacing: -.4px; }
#home-modal .welcome-brand img { display: block; width: 88px; height: 45px; object-fit: contain; }
#home-modal .welcome-close { display: inline-flex; align-items: center; justify-content: center; width: 30px; height: 30px; padding: 0; border: 0; border-radius: 50%; background: #f3eee9; color: #6d6057; cursor: pointer; }
#home-modal .welcome-close svg { width: 16px; height: 16px; }
#home-modal .welcome-close:hover { background: #eae0d8; }
#home-modal .welcome-content { display: block; padding: 8px 20px 18px; }
#home-modal .welcome-copy h2 { font-size: 22px; line-height: 1.2; letter-spacing: -.6px; font-weight: 800; text-transform: none; margin: 0 0 8px; color: #2c211b; }
#home-modal .welcome-copy h2 span { color: #d94e00; }
#home-modal .welcome-description { font-size: 13px; line-height: 1.55; color: #77685d; margin: 0 0 14px; }
#home-modal form { display: flex; flex-direction: column; align-items: center; gap: 6px; margin: 0; }
#home-modal .welcome-label { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
#home-modal .welcome-input { display: block; flex: 1 1 140px; min-width: 0; width: auto; height: 44px; padding: 0 12px; margin: 0; font: inherit; font-size: 14px; color: #2c211b; background: white; border: 1px solid #e8ded5; border-radius: 10px; box-shadow: none; }
/* Keep both lead controls identical at every viewport, including native mobile inputs. */
#home-modal #news-popup-form > .welcome-input,
#home-modal #news-popup-form > .welcome-submit {
  box-sizing: border-box; appearance: none; -webkit-appearance: none;
  flex: 0 0 auto; width: 80%; min-width: 0; max-width: 80%;
  height: 44px; min-height: 44px; max-height: 44px;
  padding: 0 12px; margin: 0; border-radius: 10px;
}
#home-modal #news-popup-form > .welcome-submit { justify-content: center; }
#home-modal .welcome-input::placeholder { color: #9c9087; }
#home-modal .welcome-input:focus { outline: 2px solid var(--welcome-orange); outline-offset: 2px; }
#home-modal .welcome-submit { display: flex; align-items: center; justify-content: space-between; gap: 8px; flex: 0 0 auto; width: auto; min-height: 44px; margin: 0; padding: 12px; border: 0; border-radius: 10px; background: var(--welcome-orange); color: #26180d; font: inherit; font-size: 12px; font-weight: 800; cursor: pointer; text-transform: none; letter-spacing: 0; }
#home-modal .welcome-submit svg { width: 14px; height: 14px; flex: 0 0 auto; }
#home-modal .welcome-submit:hover { background: #f05b00; }
#home-modal .welcome-submit:disabled { opacity: .6; cursor: wait; }
#home-modal button:focus-visible { outline: 2px solid #2c211b; outline-offset: 3px; }
#home-modal .welcome-terms { font-size: 10px; line-height: 1.5; color: #8c7c70; margin: 10px 0 0; }
#home-modal .welcome-feedback { flex-basis: 100%; font-size: 12px; line-height: 1.5; margin: 4px 0 0; color: #297244; }
#home-modal .js-news-popup-failed { color: #a52e22; }
@media(max-width: 540px) {
  #home-modal, #home-modal.modal-show { top: 12px; width: calc(100% - 24px); max-height: calc(100dvh - 24px); border-radius: 16px; }
  #home-modal .welcome-top { padding: 8px 12px 0 16px; }
  #home-modal .welcome-brand img { width: 76px; height: 39px; }
  #home-modal .welcome-content { padding: 6px 16px 14px; }
  #home-modal .welcome-copy h2 { font-size: 20px; margin-bottom: 6px; }
  #home-modal .welcome-description { line-height: 1.45; margin-bottom: 10px; }
  #home-modal form { flex-direction: column; align-items: center; gap: 6px; }
  #home-modal .welcome-input,
  #home-modal form .welcome-submit { flex: 0 0 auto; width: 80%; height: 44px; min-height: 44px; max-height: 44px; padding: 0 12px; margin: 0; }
  #home-modal .welcome-input { font-size: 16px; }
  #home-modal form .welcome-submit { justify-content: center; }
  #home-modal .welcome-terms { margin-top: 8px; line-height: 1.4; }
}
@media(prefers-reduced-motion: reduce) { #home-modal { transition: none; } }

#home-modal [hidden] { display: none !important; }
#home-modal .welcome-coupon-row { display: flex; align-items: center; gap: 8px; }
#home-modal .welcome-code { flex: 1 1 100px; min-width: 0; width: auto; height: 44px; padding: 0 12px; margin: 0; border: 1px dashed #f2b78e; border-radius: 10px; background: #fff4ec; color: #69310c; font: 800 16px 'Arial', sans-serif; letter-spacing: 1px; }
#home-modal .welcome-code:focus-visible { outline: 2px solid #ff6200; outline-offset: 2px; }
#home-modal .welcome-copy-status:empty { display: none; }
