:root{
  --afn-primary:#2E8B57; --afn-accent:#7BC47F;
  --text:#333; --bg:#fff; --soft:#F8F9F8; --border:#e5e7eb; --border-strong:#d0d5dd;
}
*{box-sizing:border-box}
html,body{margin:0;background:var(--bg);color:var(--text);font-family:system-ui,Arial,sans-serif;line-height:1.5}

.wrap{max-width:980px;margin:0 auto;padding:0 16px}
.container.wrap{padding-bottom:24px}

.afn-header{margin:16px 0 10px}
.brand{display:flex;gap:14px;align-items:center}
.logo{height:56px;width:auto}
.afn-title{margin:0;color:var(--afn-primary)}
.afn-subtitle{margin:4px 0 0;color:#555}

.card{border:1px solid var(--border);border-radius:12px;padding:14px;background:#fff;box-shadow:0 6px 18px rgba(0,0,0,.06)}
fieldset{border:1px solid var(--border);border-radius:10px;padding:14px;margin:14px 0;background:#fff}
legend{padding:0 6px;color:#111;font-weight:700}
label{display:block;margin:8px 0}
input,select{width:100%;padding:10px;border:1px solid var(--border-strong);border-radius:10px;background:#fff}
input:focus,select:focus{border-color:var(--afn-primary);box-shadow:0 0 0 3px rgba(46,139,87,.15);outline:none}
.check{display:flex;gap:8px;align-items:flex-start}
.check input{width:auto;margin-top:3px}
.hidden{display:none !important}
.spacer{display:block}

.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.grid-3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:10px}
@media (max-width: 760px){.grid-2,.grid-3{grid-template-columns:1fr}}

.actions{display:flex;gap:8px;flex-wrap:wrap;margin:10px 0 12px}
.btn{background:var(--afn-primary);color:#fff;border:none;border-radius:10px;padding:10px 14px;cursor:pointer;font-weight:700}
.btn.outline{background:#fff;color:var(--afn-primary);border:1px solid var(--afn-primary)}
.btn:disabled{opacity:.6;cursor:not-allowed}

.muted{color:#6b7280}
.quote{text-align:center;margin:8px 0 0;color:var(--afn-primary);font-style:italic}

.footer{border-top:1px solid var(--border);background:var(--soft);padding:12px 0;margin-top:16px}
.legal{display:flex;gap:10px}
.legal a{color:var(--afn-primary);text-decoration:none}
.legal a:hover{text-decoration:underline}

.bank-info{margin-top:8px}

/* Overlay + Modal */
.overlay{position:fixed;inset:0;background:rgba(0,0,0,.45);z-index:9998}
.modal{border:none;border-radius:14px;max-width:720px;width:min(92vw,720px);padding:0;box-shadow:0 18px 48px rgba(0,0,0,.25)}
.modal::backdrop{background:transparent}
.modal header{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:12px 16px;border-bottom:1px solid var(--border);background:#fff;border-top-left-radius:14px;border-top-right-radius:14px}
.modal h3{margin:0;color:var(--afn-primary);font-size:1.1rem}
.modal section{padding:16px;background:#fff;border-bottom-left-radius:14px;border-bottom-right-radius:14px}
.modal-scroll{max-height:min(70vh,560px);overflow:auto}
.ds-text h4,.ds-text h5{margin:.4rem 0}
.ds-text p,.ds-text li{font-size:.98rem}

.close{background:#eee;border:none;border-radius:8px;padding:6px 10px;cursor:pointer}

/* Cookie banner */
.cookie-banner{
  position:fixed;left:0;right:0;bottom:0;z-index:9999;background:#fff;border-top:2px solid var(--afn-primary);
  padding:14px;display:none;box-shadow:0 -8px 24px rgba(0,0,0,.08)
}
.cookie-banner.show,.cookie-banner:not([hidden]){display:block}
.cookie-actions{display:flex;gap:8px;justify-content:flex-end;flex-wrap:wrap;margin-top:8px}

@media print{
  .btn,.cookie-banner,#overlay,#modal,.info-row{display:none !important}
  .wrap{max-width:none;margin:0;padding:0}
  .card{box-shadow:none;border-color:#000}
}
