@font-face {
  font-family: 'DBS EB Garamond';
  src: url('fonts/eb-garamond-regular.ttf') format('truetype');
  font-weight: 400 800;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: 'DBS EB Garamond';
  src: url('fonts/eb-garamond-italic.ttf') format('truetype');
  font-weight: 400 800;
  font-style: italic;
  font-display: swap;
}
.pum-container:has(.dbs-library-popup) {
    width: min(var(--dbs-popup-popup-width, 1000px), calc(100vw - 32px)) !important;
    max-width: calc(100vw - 32px) !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: var(--dbs-popup-background, #FFFFFF) !important;
    box-shadow: none !important;
    max-height: calc(100dvh - 48px);
    max-height: min(92svh, calc(100dvh - 48px));
    overflow-x: hidden;
    overflow-y: auto;
    box-sizing: border-box;
  }
  .pum-overlay:has(.dbs-library-popup) { background: rgba(6, 6, 6, .78) !important; }
  .pum-container:has(.dbs-library-popup) .pum-close {
    top: 12px !important;
    right: 12px !important;
    width: 32px !important;
    height: 32px !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    color: var(--dbs-popup-text-color, #060606) !important;
    -webkit-text-fill-color: var(--dbs-popup-text-color, #060606) !important;
    box-shadow: none !important;
    text-shadow: none !important;
    font-size: 0 !important;
    z-index: 5;
  }
  .pum-container:has(.dbs-library-popup) .pum-close::before { content: "×"; font: 400 30px/32px Arial, sans-serif; }
  .pum-container:has(.dbs-library-popup) .pum-close:focus-visible { outline: 2px solid #060606 !important; outline-offset: 3px; }
  .dbs-library-popup {
    position: relative;
    display: grid;
    grid-template-columns: 41% 59%;
    width: 100%;
    margin: 0;
    background: var(--dbs-popup-background, #FFFFFF) !important;
    color: var(--dbs-popup-text-color, #060606);
    font-family: var(--dbs-popup-body-font, var(--wp--preset--font-family--noto-serif-display, Georgia, serif)) !important;
    box-sizing: border-box;
  }
  .dbs-library-popup .dbs-library-popup__image { position: relative; overflow: hidden; min-width: 0; background: var(--dbs-popup-background, #FFFFFF); }
  .dbs-library-popup .dbs-library-popup__image img { position: absolute; top: 50%; left: 0; display: block; width: var(--dbs-popup-candle-width, 760px); max-width: none; height: auto; margin: 0; border: 0; transform: translateY(-50%); }
  .dbs-library-popup .dbs-library-popup__content { min-width: 0; padding: 70px 40px 40px 48px; box-sizing: border-box; }
  .dbs-library-popup .dbs-library-popup__content h2 {
    margin: 0 0 66px !important;
    padding: 0;
    color: var(--dbs-popup-text-color, #060606) !important;
    -webkit-text-fill-color: var(--dbs-popup-text-color, #060606) !important;
    font-family: var(--dbs-popup-heading-font, inherit) !important;
    font-size: var(--dbs-popup-heading-size, 30px);
    font-weight: 400;
    line-height: 1.55;
    letter-spacing: .10em;
    text-transform: uppercase;
  }
  .dbs-library-popup .dbs-library-popup__copy p { margin: 0 0 16px !important; color: var(--dbs-popup-text-color, #060606) !important; -webkit-text-fill-color: var(--dbs-popup-text-color, #060606) !important; font-family: var(--dbs-popup-body-font, inherit) !important; font-size: var(--dbs-popup-body-size, 18px); font-weight: 400; line-height: 1.22; letter-spacing: .015em; }
  .dbs-library-popup .dbs-library-popup__form { display: flex; flex-direction: column; gap: 8px; width: 100%; max-width: none; margin: 34px 0 0; padding: 0; }
  .dbs-library-popup .dbs-library-popup__form label { display: block; width: 100%; margin: 0; }
  .dbs-library-popup .dbs-library-popup__form input[name="first_name"],
  .dbs-library-popup .dbs-library-popup__form input[name="email"] {
    display: block;
    width: 100%;
    height: 52px;
    padding: 0 16px;
    margin: 0;
    border: 1px solid #060606 !important;
    border-radius: 0 !important;
    background: #FFFFFF !important;
    color: #060606 !important;
    -webkit-text-fill-color: #060606 !important;
    font-family: var(--dbs-popup-body-font, inherit) !important;
    font-size: 17px;
    line-height: normal;
    box-shadow: none;
    box-sizing: border-box;
  }
  .dbs-library-popup .dbs-library-popup__form input::placeholder { color: #68615C; -webkit-text-fill-color: #68615C; font-style: italic; opacity: 1; }
  .dbs-library-popup .dbs-library-popup__form input:focus-visible { outline: 2px solid #060606; outline-offset: 2px; }
  .dbs-library-popup .dbs-library-popup__form button {
    display: block;
    width: 100%;
    min-height: 58px;
    padding: 14px 20px;
    margin: 14px 0 0;
    border: 0 !important;
    border-radius: 999px !important;
    background: var(--dbs-popup-button-background, #060606) !important;
    color: var(--dbs-popup-button-color, #FFFFFF) !important;
    -webkit-text-fill-color: var(--dbs-popup-button-color, #FFFFFF) !important;
    font: 600 11px/1.4 var(--dbs-popup-button-font, 'Red Hat Display', Montserrat, Arial, sans-serif) !important;
    letter-spacing: .13em;
    text-transform: uppercase;
    cursor: pointer;
    box-sizing: border-box;
  }
  .dbs-library-popup .dbs-library-popup__form button:hover { background: var(--dbs-popup-button-background, #060606) !important; filter: brightness(.85); }
  .dbs-library-popup .dbs-library-popup__form button:focus-visible { outline: 2px solid #060606; outline-offset: 3px; }
  .dbs-library-popup .dbs-library-popup__form button:disabled { cursor: wait; opacity: .75; }
  /* Sits above the button; takes no space unless Cloudflare asks for a tick (the -8px cancels the form gap). */
  .dbs-library-popup .dbs-library-popup__verification { width: 100%; margin-bottom: -8px; }
  .dbs-library-popup .dbs-library-popup__status { margin: 0 !important; color: var(--dbs-popup-text-color, #060606) !important; -webkit-text-fill-color: var(--dbs-popup-text-color, #060606) !important; font: 400 13px/1.5 Arial, sans-serif; }
  .dbs-library-popup .dbs-library-popup__status:empty { display: none; }
  .dbs-library-popup .dbs-library-popup__sr { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; border: 0; }
  .dbs-library-popup input.dbs-library-popup__trap { position: absolute; left: -10000px; width: 1px; height: 1px; padding: 0; margin: 0; border: 0; }
  @media (max-width: 760px) {
    .dbs-library-popup { grid-template-columns: 1fr; }
    .dbs-library-popup .dbs-library-popup__image { height: 230px; display: flex; justify-content: center; }
    .dbs-library-popup .dbs-library-popup__image img { position: static; width: auto; max-width: 100%; height: 230px; object-fit: contain; transform: none; }
    .dbs-library-popup .dbs-library-popup__content { padding: 28px 24px 30px; }
    .dbs-library-popup .dbs-library-popup__content h2 { font-size: min(var(--dbs-popup-heading-size, 30px), 25px); margin-bottom: 28px !important; letter-spacing: .07em; }
    .dbs-library-popup .dbs-library-popup__copy p { font-size: var(--dbs-popup-body-size, 18px); line-height: 1.3; }
    .dbs-library-popup .dbs-library-popup__form { margin-top: 28px; }
  }

@media (min-width: 761px) and (max-height: 780px) {
  .dbs-library-popup .dbs-library-popup__content { padding: 40px 40px 30px 48px; }
  .dbs-library-popup .dbs-library-popup__content h2 { margin-bottom: 40px !important; font-size: var(--dbs-popup-heading-size-short, 28px); }
  .dbs-library-popup .dbs-library-popup__form { margin-top: 24px; }
  .dbs-library-popup .dbs-library-popup__form input[name="first_name"],
  .dbs-library-popup .dbs-library-popup__form input[name="email"] { height: 48px; }
  .dbs-library-popup .dbs-library-popup__form button { min-height: 54px; margin-top: 12px; }
  .dbs-library-popup .dbs-library-popup__image img { width: var(--dbs-popup-candle-width-short, 700px); }
}
@media (prefers-reduced-motion: reduce) {
  .dbs-library-popup .dbs-library-popup__image { display: none; }
  .dbs-library-popup { grid-template-columns: 1fr; }
}
