/* NewInSpain Members – front end. Colours come from the settings as CSS variables on .nism */
.nism{--nism-primary:#7B8A1E;--nism-accent:#F1C232;--nism-alert:#A62626;--nism-dark:#1d2310;--nism-ok:#2e7d32;max-width:760px;margin:0 auto;font-size:16px;line-height:1.5;color:#222}
.nism *{box-sizing:border-box}
.nism-center{text-align:center}
.nism-small{font-size:13px;color:#666}
.nism-box{background:#fafaf6;border:1px solid #e6e6dc;border-radius:10px;padding:16px 18px;margin:16px 0}
.nism-box h3{margin-top:0}
.nism-box summary{cursor:pointer;font-weight:700;color:var(--nism-dark)}
.nism-box[open] summary{margin-bottom:10px}
.nism-btn{display:inline-block;background:var(--nism-primary);color:#fff!important;border:0;border-radius:6px;padding:11px 18px;font-weight:700;font-size:15px;line-height:1.2;cursor:pointer;text-decoration:none!important}
.nism-btn:hover{filter:brightness(1.08)}
.nism-btn[disabled]{opacity:.6;cursor:default}
.nism-btn-ghost{background:transparent;color:var(--nism-primary)!important;border:2px solid var(--nism-primary)}
.nism-btn-red{background:var(--nism-alert)}
.nism-link{background:none;border:0;padding:0;color:var(--nism-primary);text-decoration:underline;cursor:pointer;font-size:14px}
.nism-msg{padding:12px 14px;border-radius:8px;margin:12px 0;font-weight:600}
.nism-msg-ok{background:#eef5df;color:#3f4a0a;border-left:5px solid var(--nism-primary)}
.nism-msg-err{background:#fbecec;color:var(--nism-alert);border-left:5px solid var(--nism-alert)}
.nism-hp{position:absolute!important;left:-9999px!important;width:1px;height:1px;overflow:hidden}
.nism-form input[type=text],.nism-form input[type=email],.nism-form input[type=url],.nism-form input[type=password],.nism-form select,.nism-form textarea,.nism-filters select{width:100%;padding:10px 12px;border:1px solid #cfcfc4;border-radius:6px;font-size:16px;background:#fff;margin-top:4px}
.nism-form label{display:block;font-weight:600}
.nism-inline{display:flex;flex-wrap:wrap;gap:8px;align-items:stretch}
.nism-inline input,.nism-inline select{flex:1 1 180px;width:auto!important;margin-top:0!important}
.nism-check{display:flex!important;gap:8px;align-items:flex-start;font-weight:400!important;margin:8px 0}
.nism-check input{margin-top:4px}
.nism-table{width:100%;border-collapse:collapse;font-size:14px}
.nism-table th,.nism-table td{text-align:left;padding:6px 8px;border-bottom:1px solid #e6e6dc;vertical-align:top}
.nism-table th{width:38%;color:#555}
.nism-delete{margin-top:16px;padding-top:12px;border-top:1px dashed #d8b4b4}

/* Card – same design as the card on /membership/ */
@font-face{font-family:'NIS Share Tech Mono';font-style:normal;font-weight:400;font-display:swap;src:url(../fonts/ShareTechMono-Regular.woff) format('woff')}
.nism-mcard{position:relative;container-type:inline-size;width:100%;max-width:420px;aspect-ratio:1.586/1;margin:10px auto 18px;border-radius:20px;overflow:hidden;color:#fff;font-family:Roboto,Arial,sans-serif;
	background:linear-gradient(115deg,rgba(255,255,255,0) 30%,rgba(255,255,255,.18) 45%,rgba(255,255,255,0) 60%),radial-gradient(circle at 85% 110%,rgba(241,194,50,.25),transparent 45%),linear-gradient(135deg,#8a9a24 0%,#6b781a 45%,#3f4810 100%);
	border:1px solid rgba(255,255,255,.18);box-shadow:0 18px 40px rgba(29,35,16,.35)}
.nism-mcard>*{position:absolute;margin:0}
.nism-mc-shine{inset:0;background:linear-gradient(105deg,rgba(255,255,255,0) 40%,rgba(255,255,255,.28) 50%,rgba(255,255,255,0) 60%);background-size:250% 100%;animation:nism-shine 3.5s linear infinite;pointer-events:none;z-index:2}
@keyframes nism-shine{from{background-position:150% 0}to{background-position:-100% 0}}
.nism-mc-top{top:9%;left:7%;right:7%;display:flex;justify-content:space-between;align-items:center}
.nism-mc-logo{display:block;width:34cqw;height:9.5cqw;object-fit:contain;object-position:left center;filter:drop-shadow(0 1px 2px rgba(0,0,0,.45))}
.nism-mc-brand{font-weight:800;font-size:5cqw;letter-spacing:.08em}
.nism-mc-year{font-size:3.4cqw;font-weight:700;letter-spacing:.12em;opacity:.9}
.nism-mc-chip{left:7%;top:33%;width:12%;height:15%;border-radius:1.6cqw;background:linear-gradient(135deg,#f6e27a,#c9a227 55%,#f1d36b);box-shadow:inset 0 0 0 1px rgba(0,0,0,.25)}
.nism-mc-chip i{position:absolute;left:18%;top:24%;right:18%;bottom:24%;border:1px solid rgba(0,0,0,.28);border-radius:.9cqw}
.nism-mc-valid{top:41%;right:7%;font-family:'NIS Share Tech Mono','Share Tech Mono',monospace;font-size:3cqw;letter-spacing:.08em;text-transform:uppercase;opacity:.85;text-shadow:1px 1px 0 rgba(0,0,0,.4)}
.nism-mc-label{left:7%;font-size:2.4cqw;letter-spacing:.14em;text-transform:uppercase;opacity:.75}
.nism-mc-label-no{top:56%}
.nism-mc-label-name{top:77%}
.nism-emboss{font-family:'NIS Share Tech Mono','Share Tech Mono',monospace;text-transform:uppercase;text-shadow:-1px -1px 0 rgba(255,255,255,.55),1px 1px 0 rgba(0,0,0,.6),2px 3px 4px rgba(0,0,0,.35)}
.nism-mc-no{top:60%;left:7%;font-size:8cqw;line-height:1;letter-spacing:.22em;color:#F1C232}
.nism-mc-name{top:81%;left:7%;max-width:62%;font-size:5.2cqw;line-height:1.1;letter-spacing:.12em;color:#f4f0e2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.nism-mc-qr{right:6%;bottom:9%;width:24cqw;height:24cqw;background:#fff;border-radius:1.6cqw;padding:1.2cqw;box-shadow:0 2px 6px rgba(0,0,0,.3);z-index:3}
.nism-mc-qr svg,.nism-qrpanel-code svg{display:block;width:100%;height:100%}
.nism-mcard.is-inactive{filter:grayscale(1);opacity:.75}
.nism-qrpanel{max-width:420px;margin:0 auto 12px;background:#fff;border:1px solid #e6e8dc;border-radius:18px;padding:18px 18px 14px;box-shadow:0 4px 18px rgba(29,35,16,.08);text-align:center}
.nism-qrpanel-code{width:min(78vw,300px);height:min(78vw,300px);margin:0 auto 10px}
.nism-card-live{display:flex;align-items:center;justify-content:center;gap:8px;font-variant-numeric:tabular-nums;color:var(--nism-dark)}
.nism-clock{font-family:'NIS Share Tech Mono','Share Tech Mono',monospace;font-size:22px;letter-spacing:.06em}
.nism-date{font-size:13px;color:#666}
.nism-dot{width:11px;height:11px;border-radius:50%;background:var(--nism-primary);animation:nism-pulse 1.4s infinite}
@keyframes nism-pulse{0%{box-shadow:0 0 0 0 rgba(123,138,30,.7)}70%{box-shadow:0 0 0 10px rgba(123,138,30,0)}100%{box-shadow:0 0 0 0 rgba(123,138,30,0)}}
.nism-hint{text-align:center;font-size:14px;color:#555;max-width:420px;margin:0 auto 10px}

/* Verify */
.nism-partnerbar{display:flex;justify-content:space-between;align-items:center;gap:10px;background:var(--nism-dark);color:#fff;border-radius:10px;padding:12px 16px;margin-bottom:12px}
.nism-partnerbar .nism-small{color:#d9dccb}
.nism-partnerbar .nism-link{color:var(--nism-accent)}
.nism-tabs{display:flex;gap:6px;margin:10px 0}
.nism-tabs button{flex:1;padding:10px;border:2px solid var(--nism-primary);background:#fff;color:var(--nism-primary);border-radius:8px;font-weight:700;cursor:pointer}
.nism-tabs button.is-on{background:var(--nism-primary);color:#fff}
.nism-camera{position:relative;display:none;max-width:420px;margin:10px auto;border-radius:12px;overflow:hidden;background:#000}
.nism-camera.is-on{display:block}
.nism-camera video{display:block;width:100%;height:auto}
.nism-camera-frame{position:absolute;inset:15%;border:4px solid var(--nism-accent);border-radius:14px;box-shadow:0 0 0 2000px rgba(0,0,0,.25)}
.nism-res{border-radius:12px;padding:20px;text-align:center;color:#fff;margin:10px 0}
.nism-res-ok{background:var(--nism-ok)}
.nism-res-bad{background:var(--nism-alert)}
.nism-res-big{font-size:28px;font-weight:900;letter-spacing:1px;margin-bottom:6px}
.nism-res-name{font-size:24px;font-weight:800}
.nism-res-benefit{display:inline-block;margin:10px 0 6px;background:#fff;color:var(--nism-dark);border-radius:20px;padding:4px 14px;font-weight:700}
.nism-res .nism-small{color:#eef}
.nism-register{margin:10px 0}
.nism-statgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;margin-bottom:12px}
.nism-stat{background:#fafaf6;border:1px solid #e6e6dc;border-radius:10px;padding:12px}
.nism-stat small{display:block;color:#666}
.nism-stat strong{display:block;font-size:28px;color:var(--nism-primary)}
.nism-stat span{font-size:13px;color:#555}

/* Benefits */
.nism-benefits{max-width:1100px}
.nism-filters{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:16px}
.nism-filters select{flex:1 1 200px;width:auto;margin-top:0}
.nism-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:16px}
.nism-benefit{border:1px solid #e6e6dc;border-radius:12px;overflow:hidden;background:#fff;display:flex;flex-direction:column}
.nism-benefit-logo{height:120px;display:flex;align-items:center;justify-content:center;background:#f5f5ef;border-bottom:4px solid var(--nism-accent)}
.nism-benefit-logo img{max-height:90px;max-width:80%;object-fit:contain}
.nism-benefit-logo span{font-size:48px;font-weight:900;color:var(--nism-primary)}
.nism-benefit-body{padding:14px 16px}
.nism-benefit-body h3{margin:4px 0 8px;font-size:19px}
.nism-benefit-meta{font-size:12px;text-transform:uppercase;letter-spacing:.8px;color:var(--nism-primary);font-weight:700}
.nism-benefit-offer{display:inline-block;background:var(--nism-dark);color:var(--nism-accent);font-weight:800;border-radius:6px;padding:6px 10px;margin-bottom:6px}
.nism-benefit-links{display:flex;flex-wrap:wrap;gap:10px}
@media (max-width:480px){.nism-res-big{font-size:23px}}

/* Scanner as full-screen web app (iPad at the counter) */
body.nism-app{margin:0;min-height:100vh;background:#f3f4ec;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;-webkit-text-size-adjust:100%}
.nism-app-head{display:flex;align-items:center;justify-content:space-between;gap:12px;background:#1d2310;color:#fff;padding:calc(10px + env(safe-area-inset-top)) 18px 10px;border-bottom:4px solid #F1C232}
.nism-app-head img{height:34px;width:auto}
.nism-app-head span{font-size:13px;letter-spacing:.12em;text-transform:uppercase;color:#F1C232;font-weight:700}
.nism-app-main{padding:16px 16px calc(24px + env(safe-area-inset-bottom))}
.nism-app .nism{max-width:820px}
.nism-app .nism-form input,.nism-app .nism-form select{font-size:18px;padding:14px 14px}
.nism-app .nism-btn{font-size:17px;padding:14px 22px}
.nism-bigscan{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;width:100%;min-height:200px;margin:8px 0 14px;border:0;border-radius:22px;cursor:pointer;
	background:linear-gradient(135deg,#8a9a24,#6b781a 55%,#3f4810);color:#fff;box-shadow:0 10px 26px rgba(29,35,16,.3);font-family:inherit;-webkit-tap-highlight-color:transparent}
.nism-bigscan:active{transform:scale(.98)}
.nism-bigscan[hidden]{display:none}
.nism-bigscan-icon{font-size:64px;line-height:1;color:#F1C232}
.nism-bigscan span:not(.nism-bigscan-icon){font-size:30px;font-weight:900;letter-spacing:.06em}
.nism-bigscan small{font-size:15px;opacity:.9}
.nism-camera{max-width:640px}
.nism-camera.is-front video{transform:scaleX(-1)}
.nism-camflip{position:absolute;right:10px;bottom:10px;z-index:2;border:0;border-radius:30px;padding:10px 16px;background:rgba(0,0,0,.6);color:#fff;font-size:15px;font-weight:700;cursor:pointer}
.nism-btn-big{font-size:20px!important;padding:16px 28px!important;min-width:240px}
.nism-register{display:flex;flex-wrap:wrap;gap:10px;align-items:flex-end;justify-content:center;margin:12px 0}
.nism-amount-label{flex:1 1 220px;max-width:320px}
.nism-amount-label input{font-size:26px!important;text-align:center;font-weight:700}
.nism-msg-big{font-size:20px;text-align:center}
@media (min-width:900px){.nism-app .nism-res-big{font-size:40px}.nism-app .nism-res-name{font-size:32px}.nism-bigscan{min-height:260px}}
.nism [hidden]{display:none!important}
.nism-app .nism-tabs button{font-size:17px;padding:14px}
