/* M-15 Motor Club — "Notify me about the next event" pop-up.
   Used on the home page and every gallery page. Relies on the page's design tokens. */
.nf{position:fixed; inset:0; z-index:120; display:none; align-items:center; justify-content:center;
padding:max(16px, env(safe-area-inset-top, 0px)) max(16px, env(safe-area-inset-right, 0px)) max(16px, env(safe-area-inset-bottom, 0px)) max(16px, env(safe-area-inset-left, 0px));
background:rgba(12,11,8,.78); -webkit-backdrop-filter:blur(4px); backdrop-filter:blur(4px)}
.nf.open,.nf:target{display:flex}
.nf-box{position:relative; width:100%; max-width:440px; background:var(--panel); border:1px solid var(--line); border-top:3px solid var(--gold); border-radius:var(--radius-md); padding:var(--space-6); color:var(--cream); max-height:100%; overflow:auto}
.nf-box h2{font-size:clamp(24px,3vw,30px); margin:0 var(--space-6) var(--space-3) 0}
.nf-box > p{margin:0 0 var(--space-5); color:var(--cream-soft); font-size:15px; line-height:1.6}
.nf-x{position:absolute; top:var(--space-3); right:var(--space-3); width:36px; height:36px; display:flex; align-items:center; justify-content:center; background:none; border:1px solid transparent; border-radius:var(--radius-sm); color:var(--muted); font:inherit; font-size:22px; line-height:1; cursor:pointer; text-decoration:none}
.nf-x:hover{color:var(--gold); border-color:var(--line)}
.nf .nf-field{margin-bottom:var(--space-4)}
.nf label{display:block; font-size:13px; line-height:1.4; font-variation-settings:'wdth' 220; letter-spacing:.14em; text-transform:uppercase; color:var(--muted); margin-bottom:var(--space-2)}
.nf input[type=email],.nf input[type=tel]{width:100%; background:var(--field, #12100B); border:1px solid var(--control-border); border-radius:var(--radius-sm); padding:var(--space-3) var(--space-4); color:var(--cream); font-family:inherit; font-size:17px; line-height:1.65; font-variation-settings:'wdth' 190}
.nf input:focus{border-color:var(--gold); outline:none}
.nf input:focus-visible{outline:2px solid var(--focus); outline-offset:3px}
.nf select,.nf textarea{width:100%; background:var(--field, #12100B); border:1px solid var(--control-border); border-radius:var(--radius-sm); padding:var(--space-3) var(--space-4); color:var(--cream); font-family:inherit; font-size:17px; line-height:1.65; font-variation-settings:'wdth' 190}
.nf select{appearance:none; -webkit-appearance:none; cursor:pointer; padding-right:calc(var(--space-4) * 2 + 12px);
background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1.5l5 5 5-5' fill='none' stroke='%23E5B534' stroke-width='1.6'/%3E%3C/svg%3E");
background-repeat:no-repeat; background-position:right var(--space-4) center}
.nf select option{color:var(--cream); background:var(--panel)}
.nf textarea{min-height:92px; resize:vertical}
.nf select:focus,.nf textarea:focus{border-color:var(--gold); outline:none}
.nf select:focus-visible,.nf textarea:focus-visible{outline:2px solid var(--focus); outline-offset:3px}
.nf input[type=text]{width:100%; background:var(--field, #12100B); border:1px solid var(--control-border); border-radius:var(--radius-sm); padding:var(--space-3) var(--space-4); color:var(--cream); font-family:inherit; font-size:17px; line-height:1.65; font-variation-settings:'wdth' 190}
.nf-more{margin:0 0 var(--space-4); border-top:1px solid var(--line-soft, rgba(244,239,230,.07)); padding-top:var(--space-3)}
.nf-more summary{cursor:pointer; list-style:none; color:var(--gold); font-size:15px; line-height:1.6; font-variation-settings:'wdth' 220; padding:var(--space-1) 0}
.nf-more summary::-webkit-details-marker{display:none}
.nf-more summary::before{content:'+'; display:inline-block; width:1.1em; font-variation-settings:'wdth' 270}
.nf-more[open] summary::before{content:'\2212'}
.nf-more summary span{color:var(--muted)}
.nf-more summary:hover{color:var(--gold-hover)}
.nf-more-body{padding-top:var(--space-4)}
.nf-checks{border:0; margin:0 0 var(--space-4); padding:0; display:grid; gap:var(--space-2)}
.nf-checks legend{padding:0; margin-bottom:var(--space-2); font-size:13px; line-height:1.4; font-variation-settings:'wdth' 220; letter-spacing:.14em; text-transform:uppercase; color:var(--muted)}
.nf .nf-check{display:flex; align-items:center; gap:var(--space-3); margin:0; background:var(--field, #12100B); border:1px solid var(--control-border); border-radius:var(--radius-sm); padding:var(--space-2) var(--space-4); cursor:pointer; font-size:15px; line-height:1.6; letter-spacing:normal; text-transform:none; font-variation-settings:'wdth' 190; color:var(--cream)}
.nf .nf-check:has(input:checked){border-color:var(--gold)}
.nf .nf-check input{accent-color:var(--gold); width:17px; height:17px; flex:none; margin:0; cursor:pointer}
.nf .nf-optin{border-color:var(--gold-dim, #A9822A)}
.nf-hp{position:absolute; left:-9999px; width:1px; height:1px; overflow:hidden}
.nf button[type=submit]{width:100%; margin-top:var(--space-2); background:var(--gold); color:var(--on-gold); border:1px solid var(--gold); border-radius:var(--radius-sm); padding:var(--space-3) var(--space-5); font-family:inherit; font-size:15px; line-height:1.6; font-variation-settings:'wdth' 270; letter-spacing:.02em; cursor:pointer; transition:background .16s ease}
.nf button[type=submit]:hover{background:var(--gold-hover); border-color:var(--gold-hover)}
.nf button[type=submit]:disabled{opacity:.55; cursor:default}
.nf-fine{margin:var(--space-4) 0 0; font-size:13px; line-height:1.5; color:var(--faint)}
.nf-done{display:none}
.nf.sent form{display:none}
.nf.sent .nf-done{display:block}
.nf-done b{display:block; font-size:20px; line-height:1.3; font-weight:normal; font-variation-settings:'wdth' 270; margin-bottom:var(--space-2); color:var(--cream)}
.nf-done p{margin:0; color:var(--cream-soft)}
.nf-done-member{display:none}
.nf.member .nf-done-member{display:inline}
html.nf-lock,html.nf-lock body{overflow:hidden}
.nf.sent .nf-box > p{display:none}
