/* Adapted from the owner’s Web Respawn accessibility controls for All Yours. */

.ay-a11y {
  position: fixed;
  z-index: 130;
  right: auto;
  bottom: max(24px, calc(env(safe-area-inset-bottom) + 16px));
  left: max(24px, calc(env(safe-area-inset-left) + 16px));
  font-family: Arial, Helvetica, sans-serif;
  color: #34212f;
}

.ay-a11y-trigger {
  width: 56px;
  height: 56px;
  min-height: 54px;
  display: grid;
  grid-template-columns: 38px;
  align-items: center;
  justify-content: center;
  padding: 8px;
  border: 1px solid #d6adc0;
  border-radius: 17px;
  background: #fffaf7;
  color: #34212f;
  box-shadow: 0 16px 42px #5f354126, 0 0 22px #a9235720;
  font: 800 12px/1 Arial, Helvetica, sans-serif;
  cursor: pointer;
}

.ay-a11y-trigger > span {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip-path: inset(50%);
}

.ay-a11y-trigger > span strong,
.ay-a11y-trigger > span small {
  display: block;
}

.ay-a11y-trigger > span small {
  color: #9a1f4e;
  font-size: 8px;
  font-weight: 750;
  letter-spacing: .03em;
}

.ay-a11y-trigger svg {
  width: 38px;
  height: 38px;
  padding: 7px;
  border-radius: 12px;
  background: #a92357;
  fill: none;
  stroke: #34212f;
  stroke-width: 2;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.ay-a11y-trigger:hover,
.ay-a11y-trigger:focus-visible {
  border-color: #a92357;
  background: #fcf0f3;
}

.ay-a11y-modal-layer {
  position: fixed;
  z-index: 2000;
  inset: 0;
  display: flex;
  align-items: flex-end;
  justify-content: flex-start;
  padding: max(16px, env(safe-area-inset-top)) max(16px, env(safe-area-inset-right)) max(16px, env(safe-area-inset-bottom)) max(16px, env(safe-area-inset-left));
  font-family: Arial, Helvetica, sans-serif;
  color: #34212f;
  isolation: isolate;
}

.ay-a11y-backdrop {
  position: absolute;
  z-index: -1;
  inset: 0;
  background: rgb(3 6 12 / 84%);
  backdrop-filter: blur(5px);
}

.ay-a11y-panel {
  width: min(430px, calc(100vw - 32px));
  max-height: min(780px, calc(100dvh - 32px));
  display: grid;
  grid-template-rows: auto minmax(0, 1fr) auto;
  overflow: hidden;
  border: 1px solid #c8abb8;
  border-radius: 22px;
  background: #fffaf7;
  box-shadow: 0 28px 90px #5f354133, 0 0 0 1px #a9235718;
  color: #34212f;
  outline: none;
}

.ay-a11y-panel > header {
  min-height: 82px;
  display: flex;
  align-items: center;
  gap: 16px;
  padding: 17px 18px;
  border-bottom: 1px solid #eadfe2;
  background: linear-gradient(135deg, #fff4f6, #fffaf7);
}

.ay-a11y-panel > header > div {
  min-width: 0;
}

.ay-a11y-panel > header small {
  display: block;
  margin-bottom: 5px;
  color: #9a1f4e;
  font-size: 9px;
  font-weight: 900;
  letter-spacing: .14em;
}

.ay-a11y-panel h2 {
  margin: 0;
  color: #34212f;
  font-size: 21px;
  line-height: 1.15;
  letter-spacing: -.025em;
}

.ay-a11y-panel > header > button {
  width: 44px;
  height: 44px;
  flex: none;
  margin-left: auto;
  border: 1px solid #c8abb8;
  border-radius: 11px;
  background: #fff;
  color: #34212f;
  font: 300 30px/1 Arial, sans-serif;
  cursor: pointer;
}

.ay-a11y-panel :is(button, a):focus-visible {
  outline: 3px solid #8e1746;
  outline-offset: 3px;
}

.ay-a11y-panel-scroll {
  min-height: 0;
  overflow-y: auto;
  overscroll-behavior: contain;
  padding: 16px;
  scrollbar-color: #b98ba0 #fff;
  scrollbar-gutter: stable;
}

.ay-a11y-intro {
  margin: 0 2px 15px;
  color: #655460;
  font-size: 12px;
  line-height: 1.55;
}

.ay-a11y-group {
  padding: 14px;
  border: 1px solid #dfcbd3;
  border-radius: 16px;
  background: #fff;
}

.ay-a11y-group + .ay-a11y-group {
  margin-top: 12px;
}

.ay-a11y-group h3 {
  margin: 0 0 11px;
  color: #9a1f4e;
  font-size: 12px;
  font-weight: 900;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.ay-a11y-steps {
  display: grid;
  gap: 8px;
}

.ay-a11y-step {
  display: grid;
  grid-template-columns: minmax(105px, 1fr) minmax(170px, 1.3fr);
  align-items: center;
  gap: 10px;
  padding: 10px;
  border: 1px solid #e2d1d8;
  border-radius: 12px;
  background: #fff;
}

.ay-a11y-step > span {
  color: #34212f;
  font-size: 12px;
  font-weight: 800;
  line-height: 1.3;
}

.ay-a11y-step > div {
  display: grid;
  grid-template-columns: 44px minmax(70px, 1fr) 44px;
  align-items: center;
  gap: 5px;
}

.ay-a11y-step button {
  width: 44px;
  min-height: 44px;
  border: 1px solid #c8abb8;
  border-radius: 9px;
  background: #fcf0f3;
  color: #34212f;
  font: 850 18px Arial, Helvetica, sans-serif;
  cursor: pointer;
}

.ay-a11y-step button:disabled {
  opacity: .38;
  cursor: not-allowed;
}

.ay-a11y-step output {
  text-align: center;
  color: #34212f;
  font-size: 11px;
  font-weight: 850;
}

.ay-a11y-options {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 8px;
  margin-top: 9px;
}

.ay-a11y-option {
  min-height: 86px;
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 10px;
  padding: 12px;
  border: 1px solid #d8c4cd;
  border-radius: 12px;
  background: #fff;
  color: #34212f;
  text-align: left;
  cursor: pointer;
}

.ay-a11y-option:only-child {
  grid-column: 1 / -1;
  min-height: 72px;
}

.ay-a11y-option > span {
  min-width: 0;
}

.ay-a11y-option strong,
.ay-a11y-option small {
  display: block;
}

.ay-a11y-option strong {
  color: #34212f;
  font: 800 12px/1.3 Arial, Helvetica, sans-serif;
}

.ay-a11y-option small {
  margin-top: 4px;
  color: #786a72;
  font: 500 10px/1.35 Arial, Helvetica, sans-serif;
}

.ay-a11y-option:hover,
.ay-a11y-option:focus-visible {
  border-color: #a92357;
  background: #fff3f7;
}

.ay-a11y-option > i {
  width: 40px;
  height: 23px;
  flex: none;
  display: block;
  padding: 3px;
  border-radius: 999px;
  background: #b0a0a8;
  transition: background-color .15s;
}

.ay-a11y-option > i > b {
  width: 17px;
  height: 17px;
  display: block;
  border-radius: 50%;
  background: #34212f;
  transition: transform .15s;
}

.ay-a11y-option[aria-checked="true"] {
  border-color: #a92357;
  background: #fceaf1;
}

.ay-a11y-option[aria-checked="true"] > i {
  background: #a92357;
}

.ay-a11y-option[aria-checked="true"] > i > b {
  transform: translateX(17px);
}

.ay-a11y-color-modes {
  min-width: 0;
  margin: 0;
  padding: 0;
  border: 0;
}

.ay-a11y-color-modes legend {
  margin-bottom: 8px;
  color: #34212f;
  font-size: 12px;
  font-weight: 800;
}

.ay-a11y-color-modes > div {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 6px;
}

.ay-a11y-color-modes button {
  min-height: 44px;
  padding: 7px;
  border: 1px solid #c8abb8;
  border-radius: 10px;
  background: #fff;
  color: #34212f;
  font: 750 10px/1.2 Arial, Helvetica, sans-serif;
  cursor: pointer;
}

.ay-a11y-color-modes button[aria-pressed="true"] {
  border-color: #a92357;
  background: #a92357;
  color: #34212f;
}

.ay-a11y-note {
  margin: 14px 2px 0;
  color: #786a72;
  font-size: 11px;
  line-height: 1.5;
}

.ay-a11y-panel > footer {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 8px;
  padding: 13px 16px max(14px, env(safe-area-inset-bottom));
  border-top: 1px solid #eadfe2;
  background: #fff;
}

.ay-a11y-panel > footer button,
.ay-a11y-panel > footer a {
  min-height: 44px;
  display: flex;
  align-items: center;
  justify-content: center;
  border: 1px solid #c8abb8;
  border-radius: 10px;
  background: #fff;
  color: #34212f;
  font: 750 11px Arial, Helvetica, sans-serif;
  text-decoration: none;
  cursor: pointer;
}

.ay-a11y-panel > footer strong {
  grid-column: 1 / -1;
  margin-top: 3px;
  color: #9a1f4e;
  font-size: 9px;
  letter-spacing: .11em;
  text-align: center;
  text-transform: uppercase;
}

@media (max-width: 620px) {
  .ay-a11y {
    right: auto;
    left: max(12px, calc(env(safe-area-inset-left) + 8px));
    bottom: max(13px, calc(env(safe-area-inset-bottom) + 9px));
  }

  .ay-a11y-trigger {
    width: 50px;
    height: 50px;
    min-height: 50px;
    padding: 7px;
    border-radius: 15px;
  }

  .ay-a11y-trigger svg {
    width: 34px;
    height: 34px;
  }

  .ay-a11y-modal-layer {
    align-items: stretch;
    padding: max(8px, env(safe-area-inset-top)) 8px max(8px, env(safe-area-inset-bottom));
  }

  .ay-a11y-panel {
    width: 100%;
    max-height: calc(100dvh - max(16px, env(safe-area-inset-top)) - max(16px, env(safe-area-inset-bottom)));
    margin: auto 0;
    border-radius: 20px;
  }

  .ay-a11y-step {
    grid-template-columns: minmax(95px, 1fr) minmax(160px, 1.3fr);
  }
}

@media (max-width: 370px) {
  .ay-a11y-options {
    grid-template-columns: 1fr;
  }

  .ay-a11y-option:only-child {
    grid-column: auto;
  }

  .ay-a11y-step {
    grid-template-columns: 1fr;
  }
}

@media (forced-colors: active) {
  .ay-a11y-trigger,
  .ay-a11y-panel,
  .ay-a11y-option,
  .ay-a11y-step,
  .ay-a11y-color-modes button {
    border: 1px solid ButtonText;
  }

  .ay-a11y-backdrop {
    background: Canvas;
    opacity: .8;
  }
}

@media print {
  .ay-a11y,
  .ay-a11y-modal-layer {
    display: none !important;
  }
}

.ay-a11y-dialog{position:fixed;inset:0;width:min(460px,calc(100% - 24px));max-width:460px;max-height:calc(100dvh - 24px);padding:0;margin:auto;border:0;border-radius:22px;background:transparent;color:#34212f;overflow:visible;text-align:center}
.ay-a11y-dialog::backdrop{background:#34212f88;backdrop-filter:blur(4px)}
.ay-a11y-dialog .ay-a11y-panel{width:100%;max-height:calc(100dvh - 24px);text-align:center}
.ay-a11y-panel h2{font:400 27px/1.15 Georgia,serif}.ay-a11y-panel>header{justify-content:center}.ay-a11y-panel>header>div{flex:1}.ay-a11y-panel>header>button{font-size:28px}
.ay-a11y-option{align-items:center;text-align:start}.ay-a11y-group h3{text-align:center}.ay-a11y-color-modes button[aria-pressed=true]{color:#fff}.ay-a11y-option>i>b{background:#fff}.ay-a11y-trigger svg{stroke:#fff}
.ay-a11y-trigger,.ay-scroll-top{position:fixed;z-index:35;bottom:max(16px,calc(env(safe-area-inset-bottom) + 12px));width:52px;height:52px;min-height:52px;border-radius:16px;border:1px solid #d6adc0;background:#fffaf7;box-shadow:0 5px 20px #5f354126;display:flex;align-items:center;justify-content:center;padding:9px;color:#a92357}
.ay-a11y-trigger{left:max(16px,calc(env(safe-area-inset-left) + 12px))}.ay-scroll-top{right:max(16px,calc(env(safe-area-inset-right) + 12px));flex-direction:column;gap:2px;padding:7px}.ay-scroll-top[hidden]{display:none}.ay-scroll-top svg{width:23px;height:23px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.ay-scroll-top span{font:italic 10px/1 Georgia,serif;white-space:nowrap}.ay-a11y-trigger:focus-visible,.ay-scroll-top:focus-visible{outline:3px solid #8e1746;outline-offset:4px}.ay-a11y-trigger:hover,.ay-scroll-top:hover{background:#fcecf2;border-color:#a92357}
.ay-a11y-status{font-size:12px;line-height:1.5;min-height:1.5em;margin:12px 0 0;color:#655460}.site-footer,.recipient-footer{padding-bottom:100px}
html[data-ay-line-height="1"] #root :where(p,li,dd,dt,label,legend,figcaption){line-height:1.8!important}
html[data-ay-line-height="2"] #root :where(p,li,dd,dt,label,legend,figcaption){line-height:2.1!important}
html[data-ay-letter-spacing="1"] #root :where(p,li,label,legend,figcaption,a,button,input,textarea,select,h1,h2,h3,span,small,summary,th,td){letter-spacing:.035em!important}
html[data-ay-letter-spacing="2"] #root :where(p,li,label,legend,figcaption,a,button,input,textarea,select,h1,h2,h3,span,small,summary,th,td){letter-spacing:.07em!important}
html[data-ay-readable-font] #root :not(svg):not(path):not(.brand){font-family:Arial,Helvetica,sans-serif!important}
html{--ay-site-saturation:1;--ay-site-grayscale:0;--ay-site-contrast:1}
html[data-ay-high-contrast]{--muted:#4e3b46;--line:#99808c;--ay-site-contrast:1.18}
html[data-ay-color-mode="low"]{--ay-site-saturation:.42}
html[data-ay-color-mode="monochrome"]{--ay-site-saturation:0;--ay-site-grayscale:1}
html:is([data-ay-high-contrast],[data-ay-color-mode="low"],[data-ay-color-mode="monochrome"]) #root :is(.public-header,main,.site-footer,.recipient-footer,.seo-section){filter:contrast(var(--ay-site-contrast)) saturate(var(--ay-site-saturation)) grayscale(var(--ay-site-grayscale))}
html[data-ay-highlight-links] #root a[href]:not(.brand):not(.button){text-decoration:underline!important;text-decoration-thickness:3px!important;text-underline-offset:4px!important}
html[data-ay-highlight-headings] #root :where(h1,h2,h3,h4,h5,h6){outline:2px solid #a92357!important;outline-offset:5px!important}
html[data-ay-focus-emphasis] :focus-visible{outline:4px solid #8e1746!important;outline-offset:5px!important;box-shadow:0 0 0 3px #fff!important}
html[data-ay-reduce-motion],html[data-ay-reduce-motion] *,html[data-ay-reduce-motion] *::before,html[data-ay-reduce-motion] *::after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;transition-delay:0ms!important}
html[data-ay-hide-images] #root :is(img,picture,video,canvas,[role="img"]){visibility:hidden!important}
@media(prefers-reduced-motion:reduce){html,*,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;transition-delay:0ms!important}}
@media(max-width:370px){.ay-a11y-panel>header{padding:14px 12px;gap:8px}.ay-a11y-panel h2{font-size:23px}.ay-a11y-panel-scroll{padding:10px}.ay-a11y-group{padding:10px}.ay-a11y-panel>footer{padding:12px}.ay-a11y-step{grid-template-columns:1fr}}
@media(forced-colors:active){.ay-a11y-trigger,.ay-scroll-top{border:2px solid ButtonText;forced-color-adjust:auto}.ay-a11y-option[aria-checked=true],.ay-a11y-color-modes button[aria-pressed=true]{outline:3px solid Highlight;outline-offset:-4px}.ay-a11y-option>i{border:1px solid ButtonText}.ay-a11y-option>i>b{background:ButtonText}}
@media print{.ay-page-tools,.ay-a11y-dialog{display:none!important}}

html .site-footer,.recipient-page .recipient-footer{padding-bottom:100px}.ay-a11y-option strong{font-size:14px}.ay-a11y-option small{font-size:12px}.ay-a11y-step>span{font-size:14px}.ay-a11y-step output{font-size:13px}.ay-a11y-color-modes button{font-size:12px}.ay-a11y-panel>footer button,.ay-a11y-panel>footer a{font-size:13px}
