/* Email handoff: mobile reference 3 and desktop reference 5. */
#av-email-dialog {
  width: min(528px, calc(100vw - 32px));
  max-width: none;
  max-height: calc(100dvh - 32px);
  border: 1px solid #edf3ef;
  border-radius: 22px;
  background: #fff;
  color: #0e2832;
  box-shadow: 0 28px 80px rgb(15 48 39 / 22%);
}
#av-email-dialog::backdrop { background: rgb(27 49 41 / 42%); backdrop-filter: blur(6px); }
#av-email-form {
  position: relative;
  isolation: isolate;
  display: flex;
  flex-direction: column;
  gap: 0;
  overflow: hidden;
  padding: 26px 72px 26px;
  background: #fff;
  font-family: var(--font-ui);
}
#av-email-form::before,
#av-email-form::after {
  content: "";
  position: absolute;
  z-index: -1;
  pointer-events: none;
  background: linear-gradient(135deg, #c4f5e0, #e6fcf2);
}
#av-email-form::before { width: 220px; height: 350px; left: -146px; bottom: -110px; border-radius: 45% 55% 28% 42%; transform: rotate(-25deg); box-shadow: 17px -30px 0 #effbf6; }
#av-email-form::after { width: 230px; height: 320px; right: -179px; bottom: -92px; border-radius: 50% 25% 45% 35%; transform: rotate(34deg); box-shadow: -14px -25px 0 #f2fcf8; }
#av-email-dialog .av-email-close {
  position: absolute;
  z-index: 2;
  top: 14px;
  right: 14px;
  display: grid;
  place-items: center;
  width: 38px;
  height: 38px;
  min-height: 0;
  padding: 10px;
  border: 1px solid #eef4f1;
  border-radius: 50%;
  background: #fff;
  color: #192b36;
  box-shadow: 0 4px 12px rgb(30 94 68 / 8%);
  cursor: pointer;
}
.av-email-close svg { width: 100%; height: 100%; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; }
.av-email-close:focus-visible { outline: 2px solid #008c56; outline-offset: 3px; }
.av-email-close:disabled { opacity: .5; cursor: progress; }
.av-email-music { display: grid; place-items: center; height: 88px; margin-bottom: 8px; }
.av-email-music > span {
  position: relative;
  display: grid;
  place-items: center;
  width: 76px;
  height: 76px;
  border: 1px solid #18b164;
  border-radius: 50%;
  background: radial-gradient(circle at 36% 22%, #36d986, #0eaf5c 60%, #008d46);
  box-shadow: inset 0 2px 3px #a4f3be80, 0 0 0 14px #94e9bf57, 0 0 0 29px #c6f7e159, 0 0 0 44px #dcfaee70, 0 0 0 61px #f0fcf780;
}
.av-email-music svg { width: 39px; height: 39px; overflow: visible; }
.av-email-music path { stroke: #fff; stroke-width: 4; stroke-linejoin: round; fill: none; }
.av-email-music ellipse { fill: #fff; }
#av-email-dialog h2 { position: relative; margin: 0; color: #0e2832; font-family: inherit; font-size: 30px; font-weight: 750; line-height: 1.16; letter-spacing: -.055em; text-align: center; }
#av-email-dialog .av-dialog-copy { margin: 7px 0 15px; font-size: 15px; font-weight: 400; line-height: 1.36; color: #5f7188; text-align: center; }
.av-email-mobile, .av-email-plane, .av-email-checkout-copy { display: none; }
.is-checkout .av-email-save-copy { display: none; }
.is-checkout .av-email-checkout-copy { display: inline; }
#av-email-dialog .av-dialog-field { gap: 4px; margin: 0; color: #132b35; font-size: 14px; font-weight: 500; line-height: 1.3; }
.av-email-input-wrap { position: relative; display: block; }
.av-email-input-wrap > svg { position: absolute; z-index: 1; top: 50%; left: 15px; transform: translateY(-50%); width: 20px; height: 20px; fill: none; stroke: #5a6e82; stroke-width: 1.7; stroke-linejoin: round; pointer-events: none; }
#av-email-dialog #av-email { width: 100%; height: 44px; min-height: 44px; padding: 10px 14px 10px 48px; border: 1px solid #d7e1e9; border-radius: 8px; background: #fdfefe; box-shadow: inset 0 0 0 .5px #e7ecf1; color: #203641; font: inherit; font-size: 14px; font-weight: 400; }
#av-email-dialog #av-email::placeholder { color: #738399; opacity: 1; }
#av-email-dialog #av-email:focus { outline: 0; border-color: #51bb94; box-shadow: 0 0 0 2px #00a36012; }
#av-email-dialog .av-check { grid-template-columns: 20px minmax(0, 1fr); gap: 9px; margin-top: 13px; color: #52677e; font-size: 12px; font-weight: 400; line-height: 1.5; }
#av-email-dialog .av-check > span { font: inherit; color: inherit; }
#av-email-dialog .av-check input { appearance: none; display: grid; place-items: center; width: 20px; height: 20px; min-width: 0; min-height: 0; margin: 0; padding: 0; border: 1.5px solid #a0b4ad; border-radius: 3px; background: #fff; cursor: pointer; }
#av-email-dialog .av-check input:checked { border-color: #00a860; background: linear-gradient(135deg, #09bd68, #009752); }
#av-email-dialog .av-check input:checked::after { content: ""; width: 6px; height: 11px; margin-top: -3px; border: solid white; border-width: 0 2px 2px 0; transform: rotate(45deg); }
#av-email-dialog .av-check input:focus-visible { outline: 2px solid #008c56; outline-offset: 3px; }
#av-email-dialog .av-check a { color: #152934; font-weight: 400; text-decoration: underline; text-underline-offset: 2px; }
#av-email-dialog .av-dialog-actions { display: block; margin-top: 15px; }
#av-email-dialog #av-email-submit { min-height: 60px; padding: 12px 15px; background: linear-gradient(115deg, #00bf68, #009955 58%, #00794e); border-radius: 32px; font-size: 18px; font-weight: 500; letter-spacing: -.025em; box-shadow: 0 10px 20px -10px #00a76660, inset 0 -2px 0 #006e4330; }
#av-email-dialog #av-email-submit::before, #av-email-dialog #av-email-submit::after { display: none; }
#av-email-submit-label { font: inherit; }
#av-email-dialog .av-dialog-login { margin: 13px 0 0; font-size: 13px; line-height: 1.5; color: #5b6d83; }
#av-email-dialog .av-dialog-login a { color: #00894a; font-weight: 600; text-decoration: underline; text-underline-offset: 3px; }
#av-email-dialog .av-error { margin: 12px 0 0; font-size: 13px; line-height: 1.4; }
@media (min-width: 861px) {
  /* The rest of the desktop page uses a reduced scale. Keep this modal at reference size. */
  #av-email-dialog { zoom: calc(1 / var(--desktop-ui-scale, 1)); }
}
@media (max-width: 860px) {
  #av-email-dialog { width: min(408px, calc(100vw - 32px)); border-radius: 20px; }
  #av-email-form { padding: 59px 26px 20px; }
  #av-email-form::before { width: 220px; height: 180px; top: -45px; right: -47px; bottom: auto; left: auto; border-radius: 55% 0 60% 30%; transform: rotate(-22deg); background: #f2fcf7; box-shadow: none; }
  #av-email-form::after { display: none; }
  .av-email-desktop, .av-email-music { display: none; }
  .av-email-mobile { display: inline; }
  .av-email-plane { display: block; position: absolute; top: 37px; right: 6px; width: 145px; height: 145px; pointer-events: none; }
  #av-email-dialog h2 { max-width: 215px; font-size: 29px; line-height: 1.08; text-align: left; letter-spacing: -.055em; }
  #av-email-dialog h2::after { content: ""; display: block; width: 50px; height: 4px; margin: 23px 0 20px; border-radius: 5px; background: #00aa5a; transform: rotate(-3deg); }
  #av-email-dialog .av-dialog-copy { position: relative; margin: 0 0 35px; font-size: 14px; line-height: 1.5; text-align: left; }
  #av-email-dialog .av-dialog-field { font-size: 15px; gap: 5px; }
  #av-email-dialog #av-email { height: 48px; min-height: 48px; font-size: 16px; }
  #av-email-dialog .av-check { margin-top: 16px; font-size: 13px; grid-template-columns: 22px minmax(0, 1fr); gap: 12px; line-height: 1.45; }
  #av-email-dialog .av-check input { width: 22px; height: 22px; }
  #av-email-dialog .av-dialog-actions { margin-top: 22px; }
  #av-email-dialog #av-email-submit { min-height: 55px; font-size: 16px; }
  #av-email-dialog .av-dialog-login { margin-top: 18px; font-size: 13px; }
}
@media (max-width: 360px) {
  #av-email-form { padding: 57px 20px 20px; }
  #av-email-dialog h2 { font-size: 26px; }
  .av-email-plane { top: 44px; right: 0; width: 120px; height: 120px; }
  #av-email-dialog .av-dialog-copy { font-size: 13px; margin-bottom: 25px; }
  #av-email-dialog .av-check { font-size: 12px; gap: 9px; }
}
@media (prefers-reduced-motion: reduce) {
  #av-email-dialog[open] { animation: none; }
}
