/* Book of Love - enquiry pop-up + footer form. Colours/font follow the Narrative theme
   (text #4a4a4a, page #faf9f6, accent #f7067d, error #eb4f47, font inherited from the page). */
.bol-modal{--bol-text:var(--color-body-text,#4a4a4a);--bol-bg:var(--color-body,#faf9f6);--bol-accent:#f7067d;--bol-err:#eb4f47;
  position:fixed;inset:0;z-index:10000;display:flex;align-items:center;justify-content:center;font-family:inherit;color:var(--bol-text)}
.bol-modal[hidden]{display:none}
.bol-lock{overflow:hidden}
.bol-modal__backdrop{position:absolute;inset:0;background:rgba(74,74,74,.6);opacity:0;transition:opacity .2s ease}
.bol-modal__panel{position:relative;box-sizing:border-box;width:calc(100% - 40px);max-width:440px;max-height:calc(100vh - 40px);max-height:calc(100dvh - 40px);overflow-y:auto;
  background:var(--bol-bg);padding:32px 28px 24px;box-shadow:0 12px 40px rgba(0,0,0,.25);opacity:0;transform:translateY(12px);transition:opacity .2s ease,transform .2s ease}
.bol-modal.is-open .bol-modal__backdrop{opacity:1}
.bol-modal.is-open .bol-modal__panel{opacity:1;transform:none}
.bol-modal__panel:focus{outline:none}
.bol-modal__close{position:absolute;top:8px;right:8px;width:44px;height:44px;display:flex;align-items:center;justify-content:center;background:transparent;border:0;color:var(--bol-text);cursor:pointer}
.bol-modal__close:hover{opacity:.5}
.bol-modal__eyebrow{margin:0 0 2px;font-size:1.2rem;letter-spacing:2px;text-transform:uppercase;font-weight:700;color:var(--bol-accent)}
.bol-modal__title{margin:0 40px 6px 0;font-size:2.2rem;line-height:1.25}
.bol-modal__option{margin:0 0 20px;font-size:1.4rem;opacity:.85}
.bol-field{margin:0 0 14px}
.bol-field__label{display:block;margin:0 0 4px;font-size:1.3rem;font-weight:700}
.bol-field__opt{font-weight:400;opacity:.65;font-size:1.2rem}
.bol-field input,.bol-field textarea{display:block;box-sizing:border-box;width:100%;margin:0;padding:10px 12px;min-height:46px;font:inherit;font-size:16px;color:var(--bol-text);background:#fff;border:2px solid var(--bol-text);border-radius:0;-webkit-appearance:none;appearance:none}
.bol-field textarea{resize:vertical;min-height:70px}
.bol-field input:focus-visible,.bol-field textarea:focus-visible{outline:3px solid var(--bol-accent);outline-offset:1px;border-color:var(--bol-text)}
.bol-field input[aria-invalid="true"]{border-color:var(--bol-err)}
.bol-field__error,.bol-form__error{margin:4px 0 0;font-size:1.3rem;color:var(--bol-err)}
.bol-field__error[hidden],.bol-form__error[hidden]{display:none}
.bol-form__error{margin:0 0 12px}
.bol-submit{margin-top:6px}
.bol-submit[disabled]{opacity:.6;cursor:progress}
.bol-modal .btn:focus-visible,.bol-modal__close:focus-visible{outline:3px solid var(--bol-text);outline-offset:2px}
.bol-form__note{margin:12px 0 0;text-align:center;font-size:1.3rem;opacity:.8}
.bol-done{text-align:center;padding:24px 0 8px}
.bol-done:focus{outline:none}
.bol-done__text{margin:0 0 20px;font-size:1.7rem;line-height:1.5}
.bol-hp{position:absolute!important;left:-10000px;top:auto;width:1px;height:1px;overflow:hidden}
.bol-inline{margin:0;font-size:1.4rem;line-height:1.4}
.bol-inline--error{color:var(--bol-err)}
.bol-inline--ok{color:inherit;font-weight:700}
.site-footer__newsletter .input-group--underline+.input-group--underline{margin-top:10px}
@media only screen and (max-width:749px){
  .bol-modal{align-items:flex-end}
  .bol-modal__panel{width:100%;max-width:none;max-height:92vh;max-height:92dvh;padding:28px 20px calc(20px + env(safe-area-inset-bottom));transform:translateY(100%);opacity:1;box-shadow:0 -8px 30px rgba(0,0,0,.25);-webkit-overflow-scrolling:touch;overscroll-behavior:contain}
  .bol-modal.is-open .bol-modal__panel{transform:none}
}
@media (prefers-reduced-motion:reduce){
  .bol-modal__backdrop,.bol-modal__panel{transition:none}
}
