/* Site subscription offer, using the Bootstrap 5 modal and focus management. */
#xbat-subscription-popup .modal-dialog { width:calc(100% - 32px); max-width:820px; margin:24px auto; min-height:calc(100% - 48px); }
#xbat-subscription-popup .modal-content { border:0; border-radius:12px; overflow:hidden; background:#fff; color:#222; box-shadow:0 20px 70px rgba(0,0,0,.3); max-height:calc(100vh - 48px); max-height:calc(100dvh - 48px); overflow-y:auto; }
#xbat-subscription-popup .subscription-close { position:absolute; z-index:2; top:16px; right:16px; width:20px; height:20px; margin:0; padding:8px; opacity:.7; }
#xbat-subscription-popup .subscription-close:hover { opacity:1; }
#xbat-subscription-popup .subscription-layout { display:grid; grid-template-columns:34% minmax(0,1fr); min-height:430px; }
#xbat-subscription-popup .subscription-visual { position:relative; display:flex; flex-direction:column; align-items:center; justify-content:flex-end; overflow:hidden; background:linear-gradient(160deg,#12365b,#071321); }
#xbat-subscription-popup .subscription-brand { position:absolute; top:32px; left:0; right:0; text-align:center; color:#fff; font-size:30px; font-weight:700; text-transform:uppercase; letter-spacing:2px; }
#xbat-subscription-popup .subscription-visual img { display:block; width:auto; max-width:100%; height:350px; object-fit:contain; margin:75px 0 0; }
#xbat-subscription-popup .subscription-content { min-width:0; padding:46px 42px 30px; text-align:left; }
#xbat-subscription-popup .subscription-eyebrow { margin:0 0 14px; color:#666; font-size:15px; font-weight:700; letter-spacing:1px; text-transform:uppercase; }
#xbat-subscription-popup h2 { margin:0 0 16px; color:#222; font-size:32px; line-height:1.15; text-transform:none; }
#xbat-subscription-popup h2 strong { display:block; color:#cc5229; font-size:52px; font-weight:700; line-height:1.1; }
#xbat-subscription-popup #subscription-popup-description { margin:0 0 24px; font-size:20px; line-height:1.35; }
#xbat-subscription-popup form { margin:0; padding:0; width:100%; }
#xbat-subscription-popup label { display:block; margin:0 0 7px; color:#333; font-size:16px; font-weight:700; }
#xbat-subscription-popup .form-control { width:100%; min-width:0; height:48px; padding:10px 12px; border:1px solid #bbb; border-radius:4px; background:#fff; color:#222; font-size:16px; line-height:1.5; }
#xbat-subscription-popup .form-control:focus { border-color:#cc5229; box-shadow:0 0 0 3px rgba(204,82,41,.15); }
#xbat-subscription-popup .subscription-submit { width:100%; min-height:48px; margin-top:12px; padding:10px 18px; font-size:18px; line-height:1.4; }
#xbat-subscription-popup .subscription-dismiss { display:block; margin:12px auto 0; padding:8px 14px; color:#666; font-size:15px; text-decoration:underline; }
#xbat-subscription-popup .subscription-error { display:none; padding:10px 12px; margin:0 0 12px; border:1px solid #dba59a; border-radius:4px; background:#fff2ee; color:#a43220; font-size:15px; }
#xbat-subscription-popup .subscription-error span { display:block; }
@media(max-width:767.98px) {
  #xbat-subscription-popup .modal-dialog { width:calc(100% - 24px); margin:12px auto; min-height:calc(100% - 24px); }
  #xbat-subscription-popup .modal-content { max-height:calc(100vh - 24px); max-height:calc(100dvh - 24px); }
  #xbat-subscription-popup .subscription-layout { display:block; min-height:0; }
  #xbat-subscription-popup .subscription-visual { display:none; }
  #xbat-subscription-popup .subscription-content { padding:48px 28px 24px; }
  #xbat-subscription-popup h2 { font-size:30px; }
  #xbat-subscription-popup h2 strong { font-size:48px; }
  #xbat-subscription-popup #subscription-popup-description { font-size:18px; }
}
@media(max-width:359.98px) {
  #xbat-subscription-popup .subscription-content { padding-left:20px; padding-right:20px; }
  #xbat-subscription-popup h2 { font-size:27px; }
  #xbat-subscription-popup h2 strong { font-size:43px; }
}
