/* Scoped to this plugin. The page stays usable while the invitation is open. */
.ofw-offer {
  --ofw-ready: 1;
  --ofw-bg: #000000;
  --ofw-gold: #B09165;
  --ofw-hover: #96774D;
  --ofw-border: #534530;
  --ofw-muted: #D0CAC3;
  --ofw-heading-font: "Baskervville", Georgia, serif;
  --ofw-body-font: "Roboto", Arial, sans-serif;
  color: #FFFFFF;
  font: 400 14px/1.55 var(--ofw-body-font);
  text-align: left;
  color-scheme: dark;
}
.ofw-offer[data-ofw-offer="leenders"] {
  --ofw-bg: #121212;
  --ofw-gold: #B0976D;
  --ofw-hover: #967E57;
  --ofw-border: #574B39;
  --ofw-heading-font: "Playfair Display", Georgia, serif;
  --ofw-body-font: "Lato", Arial, sans-serif;
}
.ofw-offer *, .ofw-offer *::before, .ofw-offer *::after { box-sizing: border-box; }
.ofw-offer[hidden], .ofw-offer [hidden] { display: none !important; }
.ofw-offer button, .ofw-offer input { font-family: var(--ofw-body-font); box-shadow: none; text-transform: none; letter-spacing: normal; }
.ofw-offer button { appearance: none; cursor: pointer; }
.ofw-offer svg { display: block; flex-shrink: 0; }
.ofw-offer [data-ofw-panel] {
  position: fixed;
  z-index: 10050;
  right: max(20px, env(safe-area-inset-right));
  bottom: max(20px, env(safe-area-inset-bottom));
  width: 390px;
  max-width: calc(100vw - 40px);
  max-height: calc(100vh - 40px);
  max-height: calc(100dvh - 40px);
  margin: 0;
  padding: 26px;
  overflow-y: auto;
  overflow-x: hidden;
  overscroll-behavior: contain;
  background: var(--ofw-bg);
  color: #FFFFFF;
  border: 1px solid var(--ofw-gold);
  border-radius: 3px;
  box-shadow: 0 14px 50px #00000040;
  text-align: left;
}
.ofw-offer [data-ofw-panel].is-opening { animation: ofw-offer-enter .24s ease-out both; }
.ofw-offer .ofw-header { display: flex; align-items: center; justify-content: space-between; gap: 18px; margin: 0 0 22px; }
.ofw-offer .ofw-logo { display: block; width: 155px; max-width: calc(100% - 62px); height: auto; max-height: 64px; object-fit: contain; object-position: left center; margin: 0; border: 0; border-radius: 0; box-shadow: none; }
.ofw-offer[data-ofw-offer="leenders"] .ofw-logo { width: 144px; max-height: 74px; }
.ofw-offer .ofw-close {
  display: inline-flex; align-items: center; justify-content: center;
  flex: 0 0 44px; width: 44px; min-width: 44px; height: 44px; min-height: 44px;
  margin: 0; padding: 11px; border: 1px solid var(--ofw-border); border-radius: 50%;
  background: transparent; color: #FFFFFF; -webkit-text-fill-color: #FFFFFF;
}
.ofw-offer .ofw-close:hover { border-color: var(--ofw-gold); background: #FFFFFF0C; color: #FFFFFF; }
.ofw-offer .ofw-eyebrow { margin: 0 0 10px; color: var(--ofw-gold); font: 600 10px/1.4 var(--ofw-body-font); letter-spacing: .18em; text-transform: uppercase; }
.ofw-offer h2 { margin: 0 0 13px; padding: 0; color: #FFFFFF; font: 400 31px/1.16 var(--ofw-heading-font); letter-spacing: -.025em; text-transform: none; }
.ofw-offer h2 span { color: var(--ofw-gold); }
.ofw-offer .ofw-copy { margin: 0 0 22px; color: var(--ofw-muted); font: 400 13px/1.65 var(--ofw-body-font); }
.ofw-offer .ofw-copy strong { color: #FFFFFF; font-weight: 600; }
.ofw-offer form { display: flex; flex-direction: column; align-items: stretch; gap: 15px; width: 100%; min-width: 0; margin: 0; padding: 0; }
.ofw-offer .ofw-field { width: 100%; min-width: 0; margin: 0; }
.ofw-offer label { display: block; margin: 0 0 7px; color: #FFFFFF !important; font: 400 12px/1.5 var(--ofw-body-font); }
.ofw-offer input[type="text"], .ofw-offer input[type="email"] {
  display: block; appearance: none; width: 100%; max-width: 100%; min-width: 0;
  height: auto; min-height: 50px; margin: 0; padding: 13px 14px;
  border: 1px solid #FFFFFF !important; border-radius: 0;
  background: #FFFFFF !important; color: #111111 !important; -webkit-text-fill-color: #111111;
  font: 400 16px/1.4 var(--ofw-body-font); box-shadow: none;
  color-scheme: light;
}
.ofw-offer input::placeholder { color: #737373; -webkit-text-fill-color: #737373; opacity: 1; }
.ofw-offer .ofw-submit, .ofw-offer .ofw-shop {
  display: flex; align-items: center; justify-content: center; width: 100%; min-width: 0;
  min-height: 50px; height: auto; margin: 2px 0 0; padding: 13px 15px;
  border: 1px solid var(--ofw-gold) !important; border-radius: 0;
  background: var(--ofw-gold) !important; color: #FFFFFF !important; -webkit-text-fill-color: #FFFFFF;
  font: 600 14px/1.4 var(--ofw-body-font); text-align: center; text-decoration: none; white-space: normal;
  transition: background-color .2s ease, border-color .2s ease;
}
.ofw-offer .ofw-submit:hover, .ofw-offer .ofw-shop:hover { background: var(--ofw-hover) !important; border-color: var(--ofw-hover) !important; color: #FFFFFF !important; }
.ofw-offer .ofw-submit:disabled { opacity: .65; cursor: wait; }
.ofw-offer .ofw-honeypot { position: absolute !important; width: 1px !important; height: 1px !important; margin: -1px !important; padding: 0 !important; overflow: hidden !important; clip: rect(0, 0, 0, 0); clip-path: inset(50%); border: 0 !important; white-space: nowrap; }
.ofw-offer .ofw-message { margin: 0; color: #F2D8AB; font-size: 12px; line-height: 1.6; overflow-wrap: anywhere; }
.ofw-offer .ofw-native { width: 100%; min-height: 44px; margin: 0; padding: 10px 12px; border: 1px solid var(--ofw-gold); border-radius: 0; background: transparent; color: #FFFFFF; font-size: 12px; }
.ofw-offer .ofw-not-now { display: block; width: 100%; min-height: 40px; margin: 8px 0 0; padding: 10px 5px; border: 0; border-radius: 0; background: transparent; color: var(--ofw-muted); font: 400 12px/1.5 var(--ofw-body-font); text-decoration: underline; text-underline-offset: 3px; }
.ofw-offer .ofw-not-now:hover { background: transparent; color: #FFFFFF; }
.ofw-offer .ofw-privacy { margin: 5px 0 0; color: #BDB8B1; font: 400 10px/1.6 var(--ofw-body-font); text-align: center; }
.ofw-offer .ofw-privacy a { color: inherit !important; text-decoration: underline; text-underline-offset: 2px; }
.ofw-offer [data-ofw-success] p { margin: 0 0 18px; color: var(--ofw-muted); font-size: 13px; }
.ofw-offer [data-ofw-success] h3 { margin: 0 0 12px; color: #FFFFFF; font: 400 27px/1.2 var(--ofw-heading-font); }
.ofw-offer [data-ofw-reopen] {
  position: fixed; z-index: 10049; top: 50%; right: 0; transform: translateY(-50%);
  display: flex; align-items: center; justify-content: center;
  width: 34px; min-width: 34px; height: 48px; min-height: 48px; margin: 0; padding: 8px;
  border: 1px solid var(--ofw-gold); border-right: 0; border-radius: 4px 0 0 4px;
  background: var(--ofw-bg); color: var(--ofw-gold); -webkit-text-fill-color: var(--ofw-gold);
  box-shadow: -2px 2px 14px #00000020;
}
.ofw-offer [data-ofw-reopen]:hover { background: #24211C; color: #FFFFFF; }
.ofw-offer :is(a, button, input):focus-visible { outline: 2px solid var(--ofw-gold); outline-offset: 3px; }
.ofw-offer [data-ofw-reopen]:focus-visible { outline-offset: -4px; }
@keyframes ofw-offer-enter { from { opacity: .4; transform: translateX(15px); } to { opacity: 1; transform: translateX(0); } }
@media (max-width: 600px) {
  .ofw-offer [data-ofw-panel] { right: max(14px, env(safe-area-inset-right)); bottom: max(14px, env(safe-area-inset-bottom)); width: 390px; max-width: calc(100vw - 28px); max-height: calc(100vh - 28px); max-height: calc(100dvh - 28px); padding: 23px; }
  .ofw-offer h2 { font-size: 29px; }
  .ofw-offer .ofw-header { margin-bottom: 20px; }
}
@media (prefers-reduced-motion: reduce) { .ofw-offer [data-ofw-panel].is-opening { animation: none; } .ofw-offer .ofw-submit { transition: none; } }
