/* =========================================================   FORMS / EVENT PROPOSAL   ========================================================= */
.proposal-wrap{padding:40px 0 60px;}
.proposal-grid{display:grid; grid-template-columns:1.1fr .9fr; gap:28px; align-items:start;}
.proposal-card,.info-card{background:#fff; border-radius:20px; box-shadow:0 10px 30px rgba(0,0,0,.08); padding:26px;}
.proposal-card h2,.info-card h3{margin:0 0 10px;}
.form-grid{display:grid; grid-template-columns:repeat(3, 1fr); gap:16px;}
.form-group{display:flex; flex-direction:column; gap:8px;}
.form-group.full{grid-column:1 / -1;}
.form-group.two{grid-column:span 2;}
.form-group.third{grid-column:span 1;}
label{font-weight:600;}
input,select,textarea{width:100%; padding:12px 14px; border:1px solid #d7d7d7; border-radius:12px; font:inherit; background:#fff;}
textarea{min-height:110px; resize:vertical;}
.checkbox-grid{display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px 18px; margin-top:6px;}
.check-item{display:flex; align-items:flex-start; gap:10px; font-size:.98rem; font-weight:400; line-height:1.5;}
.check-item input{width:auto; margin-top:3px; flex-shrink:0;}
.btn-row{display:flex; gap:12px; flex-wrap:wrap; margin-top:8px;}
.btn-primary,.btn-secondary{display:inline-block; border:none; border-radius:12px; padding:12px 18px; font:inherit; font-weight:700; cursor:pointer; text-decoration:none;}
.btn-primary{background:#166534; color:#fff;}
.btn-secondary{background:#f2f2f2; color:#222;}
.info-list{margin:14px 0 0; padding-left:18px; color:#555; line-height:1.7;}
.status-box{margin-top:18px; padding:14px 16px; border-radius:14px; background:#f6faf6; border:1px solid #d6ead8; color:#1f4d2f; display:none;}
.section-note{margin:8px 0 0; color:#666; font-size:.95rem;}
.form-section-title{margin:10px 0 0; font-size:1.05rem; color:#166534;}

/* =========================================================   FORMS / MARRIAGE   ========================================================= */
.signature-wrap{width:100%; background:linear-gradient(180deg, #ffffff 0%, #f8fbf8 100%); border:1px solid rgba(25,135,84,.18); border-radius:18px; padding:14px; box-shadow:0 10px 24px rgba(15,81,50,.08);}
.sig-pad{display:block; width:100%; height:220px; background: linear-gradient(to bottom, rgba(25,135,84,.03), rgba(25,135,84,.01)), repeating-linear-gradient(to bottom, transparent 0, transparent 34px, rgba(25,135,84,.08) 35px); border:2px dashed rgba(25,135,84,.45); border-radius:14px; cursor:crosshair; touch-action:none;}
.signature-actions{margin-top:12px; display:flex; gap:10px; flex-wrap:wrap;}
.secondary-btn{appearance:none; border:none; border-radius:999px; padding:10px 16px; font-weight:700; cursor:pointer; background:#eef7f1; color:#0f5132; border:1px solid rgba(15,81,50,.14); transition:transform .18s ease, box-shadow .18s ease, background .18s ease;}
.secondary-btn:hover{transform:translateY(-1px); box-shadow:0 8px 20px rgba(15,81,50,.10); background:#e6f3ea;}
.signature-note{margin-top:10px;}
.inner-card{background:#f9fdf9;border:1px solid rgba(15,81,50,.10);box-shadow:none;border-radius:16px;padding:18px;margin-bottom:16px;}
.card-header{margin-bottom:12px;padding-bottom:10px;border-bottom:1px solid rgba(15,81,50,.08);}
.form-section-title{margin:0;color:#0f5132;font-weight:700;}
.section-note{margin:4px 0 0;color:#5f6f65;font-size:.95rem;}
.step-progress-wrap{margin:0 0 18px;}
.step-progress-top{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px;flex-wrap:wrap;}
.step-progress-text{color:#0f5132;font-weight:700;}
.step-progress-title{color:#5f6f65;font-size:.95rem;}
.progress-bar{width:100%;height:10px;border-radius:999px;background:rgba(15,81,50,.10);overflow:hidden;}
.progress-bar-fill{height:100%;width:12.5%;border-radius:999px;background:linear-gradient(135deg,#0f5132,#198754);transition:width .25s ease;}
.step-list{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:14px 0 0;}
.step-pill{display:flex;align-items:center;justify-content:center;min-height:42px;padding:10px 14px;border:1px solid rgba(15,81,50,.12);background:#fff;color:#4b5d52;border-radius:999px;font-size:.9rem;font-weight:700;text-align:center;line-height:1.2;transition:all .22s ease;}
.step-pill.active{background:linear-gradient(135deg,#0f5132,#198754);color:#fff;border-color:#0f5132;box-shadow:0 8px 18px rgba(15,81,50,.18);}
.step-pill.done{background:rgba(25,135,84,.10);color:#0f5132;border-color:rgba(25,135,84,.22);}
.step-pill:hover{transform:translateY(-1px);}
.form-step{display:none;animation:fadeIn .2s ease;}
.form-step.active{display:block;}
@keyframes fadeIn{from{opacity:0; transform:translateY(6px);} to{opacity:1; transform:translateY(0);}}
.step-intro{margin-bottom:14px;}
.step-intro h3{margin:0 0 6px;color:#0f5132;}
.step-intro p{margin:0;color:#5f6f65;}
.form-nav{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:16px;flex-wrap:wrap;}
.form-nav-left,
.form-nav-right{display:flex;gap:12px;flex-wrap:wrap;}
.step-summary{display:grid;gap:16px;}
.summary-card{background:#fff;border:1px solid rgba(15,81,50,.10);border-radius:14px;padding:16px;}
.summary-card h4{margin:0 0 10px;color:#0f5132;}
.summary-grid{display:grid;grid-template-columns:repeat(2, minmax(0,1fr));gap:10px 18px;}
.summary-item{min-width:0;}
.summary-item strong{display:block;color:#0f5132;margin-bottom:2px;}
.summary-item span{color:#425247;word-break:break-word;}
.summary-list{margin:0;padding-left:18px;color:#425247;}
.status-box{margin-top:10px;}
@media (max-width: 640px){.sig-pad{height:180px;}}
@media (max-width: 640px){.step-list{grid-template-columns:1fr;}.form-nav{flex-direction:column;align-items:stretch;}.form-nav-left, .form-nav-right{width:100%;}.form-nav-left > *,.form-nav-right > *{flex:1 1 auto;}}
@media(max-width:640px){.step-pill{font-size:.85rem;}}
@media (max-width: 900px){.step-list{grid-template-columns:repeat(2, minmax(0, 1fr));}.summary-grid{grid-template-columns:1fr;}}
