/* ===================================================================
   zenitheventhub.com — subscribe / unsubscribe / confirm / legal pages
   Loaded after /style.css ("modern MVP" design, scoped under .da), which
   provides the hero band, the content card (.da-shared.fm-s), the header
   and footer, and the custom properties used here.
   =================================================================== */

/* ---------- page section ---------- */
.fm-s > .fm,.fm-s > .fm__ok,.fm-s > .fm__alert,.fm-s > .fm__msg,.fm-s > .more{max-width:820px}

/* ---------- form ---------- */
.fm{margin:0}
.fm--narrow{max-width:540px!important}
.fm__grid{display:grid;gap:20px 24px}
.fm__f label{display:block;margin-bottom:8px;font-weight:600;font-size:14px;color:var(--ink,#1E1F42)}
.fm__f input,.fm__f select{display:block;width:100%;min-height:48px;padding:10px 14px;
  border:1px solid var(--line-2,#D3D3E4);border-radius:10px;background:var(--da-white);color:var(--ink,#1E1F42);
  font-family:var(--da-face);font-size:16px;line-height:1.4;box-shadow:0 1px 2px rgba(30,31,66,.04)}
.fm__f select{appearance:none;-webkit-appearance:none;padding-right:40px;
  background-image:linear-gradient(45deg,transparent 50%,#53557A 50%),linear-gradient(135deg,#53557A 50%,transparent 50%);
  background-position:calc(100% - 20px) 50%,calc(100% - 15px) 50%;background-size:5px 5px,5px 5px;background-repeat:no-repeat}
.fm__f input:hover,.fm__f select:hover{border-color:#A9ABC9}
.fm__f input:focus-visible,.fm__f select:focus-visible{border-color:var(--da-blue);
  outline:3px solid rgba(64,93,194,.35);outline-offset:1px;border-radius:10px}
.fm__f--err input,.fm__f--err select{border-color:var(--danger,#b3261e)}
.fm__err{margin:6px 0 0!important;color:var(--danger,#b3261e);font-size:14px;font-weight:600}

/* consent checkbox */
.fm__c{margin-top:24px;display:grid;grid-template-columns:24px minmax(0,1fr);gap:4px 14px;align-items:start;
  padding:16px 20px;background:var(--da-pearl);border:1px solid var(--line,#E3E2EE);border-radius:12px}
.fm__c input{width:20px;height:20px;margin:3px 0 0;accent-color:var(--da-blue);cursor:pointer}
.fm__c label{font-size:15px;line-height:1.6;color:var(--ink-2,#30315F);cursor:pointer}
.fm__c .fm__err{grid-column:2}
.fm__c--err{border-color:var(--danger,#b3261e);background:#FDF3F2}

.da .fm__btn{margin-top:24px;border:0;cursor:pointer;font-family:var(--da-face);font-size:16px;min-height:52px;
  padding:0 32px;background:var(--da-indigo)}
.da .fm__btn:hover{background:var(--ink,#1E1F42)}
.fm__btn:focus-visible{outline:3px solid var(--da-blue);outline-offset:3px}

/* honeypot: off-screen for people, still present for bots */
.fm__hp{position:absolute!important;left:-10000px;top:auto;width:1px;height:1px;overflow:hidden}

/* ---------- messages ---------- */
.fm__alert{margin:0 0 24px!important;padding:14px 18px;border:1px solid #F2C6C2;border-left:4px solid var(--danger,#b3261e);
  border-radius:10px;background:#FDF3F2;color:#7A1A14;font-weight:600}
.fm__ok{position:relative;padding:24px 24px 24px 72px;border-radius:12px;background:var(--blue-50,#EEF1FB);
  border:1px solid #D8DFF6;color:var(--ink-2,#30315F)}
.fm__ok::before{content:"";position:absolute;left:24px;top:24px;width:32px;height:32px;border-radius:50%;
  background:var(--da-blue)}
.fm__ok::after{content:"";position:absolute;left:36px;top:31px;width:8px;height:14px;border:solid #fff;
  border-width:0 2px 2px 0;transform:rotate(45deg)}
.fm__ok p{margin:0;max-width:60ch}
.fm__ok p:first-child{color:var(--ink,#1E1F42);font-weight:700;font-size:clamp(19px,1.1rem + .6vw,24px);line-height:1.3}
.fm__ok p + p{margin-top:8px}
.fm__msg{font-size:17px;color:var(--ink-2,#30315F)}
.fm-s .more{margin-top:16px;font-weight:600}

/* =================== >= 700px =================== */
@media (min-width:700px){
  .fm__grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .fm__grid--one{grid-template-columns:minmax(0,1fr)}
}
@media (max-width:699px){
  .da .fm__btn{width:100%}
}

@media print{
  .fm__btn,.fm__hp{display:none!important}
}

/* ---------- footer link row (home page and new pages) ---------- */
.da-foot .da-flinks a{display:inline-flex;min-height:32px;align-items:center}
