/* ========================================================= FORMS.CSS — Shared Compact Form System for ICSCV ========================================================= */

:root{--form-green:#0f5132;--form-green-2:#198754;--form-green-dark:#166534;--form-soft:#f6faf6;--form-soft-2:#f9fdf9;--form-border:#d7d7d7;--form-text:#17352a;--form-muted:#5f6f65;--form-shadow:0 8px 22px rgba(0,0,0,.07);--form-shadow-green:0 8px 20px rgba(15,81,50,.07);--form-radius:14px;--form-radius-sm:9px;--form-radius-md:12px;}

/* SHELL */
.form-wrap,.proposal-wrap{padding:28px 0 44px;}
.form-layout,.proposal-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:28px;align-items:start;}
.form-card,.form-aside-card,.proposal-card,.info-card{background:#fff;border-radius:var(--form-radius);box-shadow:var(--form-shadow);padding:22px;}
.form-card h2,.form-aside-card h3,.proposal-card h2,.info-card h3{margin:0 0 8px;}
.form-card h2{font-size:1.45rem;}
.form-card>.muted{margin-bottom:16px;}
.form-card p,.form-aside-card p,.proposal-card p,.info-card p,.muted{color:var(--form-muted);line-height:1.55;}

/* SECTIONS */
.form-section-card,.inner-card{background:var(--form-soft-2);border:1px solid rgba(15,81,50,.10);box-shadow:none;border-radius:var(--form-radius-md);padding:16px;margin-bottom:14px;}
.form-section-header,.card-header{margin-bottom:10px;padding-bottom:9px;border-bottom:1px solid rgba(15,81,50,.08);}
.form-section-title{margin:0 0 4px;color:var(--form-green);font-size:1.05rem;font-weight:700;}
.section-note{margin:4px 0 0;color:var(--form-muted);font-size:.9rem;line-height:1.45;}
.form-intro,.step-intro{margin-bottom:10px;}
.form-intro h3,.step-intro h3{margin:0 0 4px;color:var(--form-green);font-size:1.15rem;}
.form-intro p,.step-intro p{margin:0;color:var(--form-muted);font-size:.9rem;line-height:1.45;}
.form-warning{margin:6px 0 0;color:#9a6700;background:#fff8e6;border:1px solid rgba(154,103,0,.22);border-radius:10px;padding:8px 10px;font-size:.88rem;line-height:1.4;display:none;}
.form-warning.show{display:block;}

/* GRID + FIELDS */
.form-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:12px;}
.form-field,.form-group{display:grid;grid-template-columns:145px minmax(0,1fr);gap:6px 10px;align-items:center;min-width:0;}
.form-field.full,.form-group.full{grid-column:1 / -1;}
.form-field.half,.form-group.half{grid-column:span 3;}
.form-field.third,.form-group.third{grid-column:span 2;}
.form-field.two,.form-group.two{grid-column:span 4;}
.form-field:has(textarea),.form-group:has(textarea),.form-field:has(.signature-wrap),.form-group:has(.signature-wrap){align-items:start;}
.form-field>.section-note,.form-group>.section-note,.form-field>.form-help,.form-group>.form-help,.form-field>.signature-actions,.form-group>.signature-actions{grid-column:2;margin-top:0;}
.form-field>.section-note:only-child,.form-group>.section-note:only-child,.form-field>p:only-child,.form-group>p:only-child,.form-field>.check-item,.form-group>.check-item{grid-column:1 / -1;}
.form-wrap label,.proposal-wrap label{font-weight:600;color:var(--form-text);font-size:.9rem;}
.form-wrap input:not([type="checkbox"]):not([type="radio"]),.form-wrap select,.form-wrap textarea,.proposal-wrap input:not([type="checkbox"]):not([type="radio"]),.proposal-wrap select,.proposal-wrap textarea{width:100%;padding:9px 11px;border:1px solid var(--form-border);border-radius:var(--form-radius-sm);font:inherit;font-size:.94rem;background:#fff;color:var(--form-text);}
.form-wrap input[type="file"],.proposal-wrap input[type="file"]{padding:9px 11px;}
.form-wrap textarea,.proposal-wrap textarea{min-height:82px;resize:vertical;}
.form-wrap input:focus,.form-wrap select:focus,.form-wrap textarea:focus,.proposal-wrap input:focus,.proposal-wrap select:focus,.proposal-wrap textarea:focus{outline:none;border-color:rgba(25,135,84,.65);box-shadow:0 0 0 3px rgba(25,135,84,.12);}
.form-wrap input::placeholder,.form-wrap textarea::placeholder,.proposal-wrap input::placeholder,.proposal-wrap textarea::placeholder{color:#8a9a90;}
.form-help{color:var(--form-muted);font-size:.9rem;line-height:1.45;}
.form-error,.form-required{color:#b42318;}
.form-error{font-size:.9rem;line-height:1.45;}
.form-required{font-weight:700;}

.form-field > .check-grid,
.form-group > .check-grid,
.form-field > .checkbox-grid,
.form-group > .checkbox-grid{grid-column:1 / -1;}

.form-field>.form-error,
.form-group>.form-error{grid-column:2;margin:0;color:#b42318;font-size:.86rem;line-height:1.35;display:none;}
.form-field.has-error>.form-error,
.form-group.has-error>.form-error{display:block;}
.form-field.has-error input,
.form-field.has-error select,
.form-field.has-error textarea{border-color:#b42318;box-shadow:0 0 0 3px rgba(180,35,24,.10);}

@media(max-width:760px){
  .form-field>.form-error,
  .form-group>.form-error{grid-column:1 / -1;}
}

/* CHECKBOXES + RADIOS */
.check-grid,.checkbox-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:6px;}
.check-item{display:flex;align-items:flex-start;gap:9px;padding:9px 10px;color:var(--form-text);font-size:.9rem;font-weight:400;line-height:1.4;background:#fff;border:1px solid rgba(15,81,50,.10);border-radius:var(--form-radius-sm);}
.check-item input[type="checkbox"],.check-item input[type="radio"]{width:auto;margin-top:3px;flex-shrink:0;}
.check-item label{font-weight:400;}

/* BUTTONS */
.btn-row{display:flex;gap:12px;flex-wrap:wrap;margin-top:8px;}
.btn,.btn-primary,.btn-secondary,.btn-danger,.secondary-btn{appearance:none;display:inline-block;border:none;border-radius:var(--form-radius-sm);padding:9px 15px;font:inherit;font-size:.92rem;font-weight:700;cursor:pointer;text-align:center;text-decoration:none;transition:transform .18s ease,box-shadow .18s ease,background .18s ease;}
.btn:hover,.btn-primary:hover,.btn-secondary:hover,.btn-danger:hover,.secondary-btn:hover{transform:translateY(-1px);}
.btn-primary{background:var(--form-green-dark);color:#fff;}
.btn-primary:hover{background:var(--form-green);box-shadow:0 8px 20px rgba(15,81,50,.18);}
.btn-secondary,.secondary-btn{background:#eef7f1;color:var(--form-green);border:1px solid rgba(15,81,50,.14);}
.btn-secondary:hover,.secondary-btn:hover{background:#e6f3ea;box-shadow:0 8px 20px rgba(15,81,50,.10);}
.btn-danger{background:#fff1f0;color:#b42318;border:1px solid rgba(180,35,24,.18);}
.btn-danger:hover{background:#ffe4e2;box-shadow:0 8px 20px rgba(180,35,24,.10);}
.btn[disabled],.btn-primary[disabled],.btn-secondary[disabled],.btn-danger[disabled],.secondary-btn[disabled]{opacity:.55;cursor:not-allowed;transform:none;box-shadow:none;}

/* INFO + STATUS */
.info-list{margin:14px 0 0;padding-left:18px;color:#555;line-height:1.7;}
.status-box{display:none;margin-top:8px;padding:9px 10px;border-radius:var(--form-radius-sm);background:var(--form-soft);border:1px solid #d6ead8;color:#1f4d2f;font-size:.9rem;line-height:1.5;}
.status-box.show,.status-box.active{display:block;}
.status-box.success{display:block;background:#f0fdf4;border-color:#bbf7d0;color:#166534;}
.status-box.error{display:block;background:#fff1f0;border-color:#fecaca;color:#b42318;}
.status-box.warning{display:block;background:#fffbeb;border-color:#fde68a;color:#92400e;}

/* MULTI-STEP FLOW */
.step-progress-wrap{margin:0 0 18px;padding:14px 14px 12px;border-radius:var(--form-radius-md);background:var(--form-soft-2);border:1px solid rgba(15,81,50,.10);}
.step-progress-top{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:8px;flex-wrap:wrap;}
.step-progress-text{color:var(--form-green);font-size:.78rem;font-weight:700;}
.step-progress-title{color:var(--form-muted);font-size:.95rem;}
.progress-bar{width:100%;height:7px;margin-bottom:12px;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,var(--form-green),var(--form-green-2));transition:width .25s ease;}
.step-list{display:grid;grid-template-columns:repeat(9,minmax(0,1fr));gap:4px;margin:12px 0 0;}
.step-pill{display:flex;align-items:center;justify-content:center;min-height:auto;padding:4px 7px;border:1px solid rgba(15,81,50,.12);background:#fff;color:#4b5d52;border-radius:999px;font-size:.7rem;font-weight:700;text-align:center;line-height:1.1;white-space:nowrap;transition:all .22s ease;}
.step-pill.active{background:linear-gradient(135deg,var(--form-green),var(--form-green-2));color:#fff;border-color:var(--form-green);box-shadow:0 8px 18px rgba(15,81,50,.18);}
.step-pill.done{background:rgba(25,135,84,.10);color:var(--form-green);border-color:rgba(25,135,84,.22);}
.step-pill:hover{transform:translateY(-1px);}
.step-pill{cursor:pointer;user-select:none;}
.form-step{display:none;animation:formFadeIn .2s ease;}
.form-step.active{display:block;}
@keyframes formFadeIn{from{opacity:0;transform:translateY(6px);}to{opacity:1;transform:translateY(0);}}
.form-nav{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:6px;padding-top:8px;flex-wrap:wrap;}
.form-nav-left,.form-nav-right{display:flex;gap:12px;flex-wrap:wrap;}

/* REVIEW SUMMARY */
.step-summary{display:grid;gap:16px;}
.summary-card{background:#fff;border:1px solid rgba(15,81,50,.10);border-radius:var(--form-radius-md);padding:14px;}
.summary-card h4{margin:0 0 8px;color:var(--form-green);font-size:1rem;}
.summary-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;}
.summary-item{min-width:0;padding:9px 10px;border-radius:var(--form-radius-sm);background:var(--form-soft-2);border:1px solid rgba(15,81,50,.08);}
.summary-item strong{display:block;margin-bottom:2px;color:var(--form-green);font-size:.78rem;}
.summary-item span{color:#425247;font-size:.9rem;word-break:break-word;}
.summary-list{margin:0;padding-left:18px;color:#425247;}

/* SIGNATURE */
.signature-wrap{width:100%;min-height:145px;padding:10px;background:linear-gradient(180deg,#fff 0%,#f8fbf8 100%);border:1px solid rgba(25,135,84,.18);border-radius:10px;box-shadow:var(--form-shadow-green);}
.sig-pad{display:block;width:100%;height:145px;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:var(--form-radius-sm);cursor:crosshair;touch-action:none;}
.signature-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:8px;}
.signature-note{margin-top:10px;}

/* RESPONSIVE */
@media(max-width:900px){
  .form-layout,.proposal-grid{grid-template-columns:1fr;}
  .form-grid{grid-template-columns:1fr;}
  .form-field.full,.form-field.half,.form-field.third,.form-field.two,.form-group.full,.form-group.half,.form-group.third,.form-group.two{grid-column:1 / -1;}
  .step-list{grid-template-columns:repeat(2,minmax(0,1fr));}
  .summary-grid{grid-template-columns:1fr;}
}

@media(max-width:760px){
  .form-wrap,.proposal-wrap{padding:22px 0 34px;}
  .form-card,.form-aside-card,.proposal-card,.info-card{padding:16px;border-radius:12px;}
  .form-section-card,.inner-card{padding:14px;border-radius:10px;}
  .form-grid{gap:10px;}
  .form-field,.form-group{display:flex;flex-direction:column;gap:5px;}
  .check-grid,.checkbox-grid{grid-template-columns:1fr;}
  .btn-row,.form-nav,.form-nav-left,.form-nav-right,.signature-actions{width:100%;gap:8px;}
  .btn,.btn-primary,.btn-secondary,.btn-danger,.secondary-btn{width:100%;padding:10px 12px;}
  .step-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:3px;}
  .step-pill{padding:4px 6px;font-size:.68rem;}
  .sig-pad{height:145px;}
}

/* ========================================================= MAILCHIMP FORM — Match Marriage Form Styling ========================================================= */
.mailchimp-form-wrap{padding:28px 0 44px;}
.mailchimp-form-card{max-width:900px;margin:0 auto;}
.mailchimp-embed{width:100%;display:block;}
.mailchimp-embed #mc_embed_signup{width:100%!important;max-width:none!important;margin:0!important;background:transparent!important;font:inherit!important;color:var(--form-text)!important;}
.mailchimp-embed #mc_embed_signup form{margin:0!important;padding:0!important;}
.mailchimp-embed #mc_embed_signup_scroll{display:grid;gap:12px;}
.mailchimp-embed #mc_embed_signup h2{display:none!important;}
.mailchimp-embed .indicates-required{margin:0 0 8px;color:var(--form-muted);font-size:.9rem;text-align:left;}
.mailchimp-embed .asterisk{color:#b42318;}

.mailchimp-embed .mc-field-group,
.mailchimp-embed .mc-address-group,
.mailchimp-embed .mc-address-fields-group{width:100%!important;margin:0!important;padding:0!important;}
.mailchimp-embed .mc-field-group{display:grid!important;grid-template-columns:145px minmax(0,1fr);gap:6px 10px;align-items:center;}
.mailchimp-embed .mc-address-group{display:grid!important;gap:12px;}
.mailchimp-embed .mc-address-fields-group{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;}
.mailchimp-embed label{margin:0!important;padding:0!important;color:var(--form-text)!important;font-size:.9rem!important;font-weight:600!important;line-height:1.35!important;}
.mailchimp-embed input[type="text"],
.mailchimp-embed input[type="email"],
.mailchimp-embed input[type="tel"],
.mailchimp-embed select{width:100%!important;min-height:auto!important;margin:0!important;padding:9px 11px!important;border:1px solid var(--form-border)!important;border-radius:var(--form-radius-sm)!important;background:#fff!important;color:var(--form-text)!important;font:inherit!important;font-size:.94rem!important;box-shadow:none!important;}
.mailchimp-embed input:focus,
.mailchimp-embed select:focus{outline:none!important;border-color:rgba(25,135,84,.65)!important;box-shadow:0 0 0 3px rgba(25,135,84,.12)!important;}
.mailchimp-embed .clear{margin-top:6px!important;}

.mailchimp-embed input.button,
.mailchimp-embed #mc-embedded-subscribe{
  width:auto!important;
  height:auto!important;
  min-width:150px!important;
  margin:6px 0 0!important;
  padding:9px 15px!important;
  border:none!important;
  border-radius:var(--form-radius-sm)!important;
  background:var(--form-green-dark)!important;
  color:#fff!important;
  font:inherit!important;
  font-size:.92rem!important;
  font-weight:700!important;
  line-height:1.3!important;
  cursor:pointer!important;
  transition:transform .18s ease,box-shadow .18s ease,background .18s ease!important;
}

.mailchimp-embed input.button:hover,
.mailchimp-embed #mc-embedded-subscribe:hover{background:var(--form-green)!important;box-shadow:0 8px 20px rgba(15,81,50,.18)!important;transform:translateY(-1px)!important;}
.mailchimp-embed #mce-responses{margin:0!important;padding:0!important;}
.mailchimp-embed .response{margin:8px 0 0!important;padding:9px 10px!important;border-radius:var(--form-radius-sm)!important;font-size:.9rem!important;line-height:1.45!important;}
.mailchimp-embed #mce-error-response{background:#fff1f0!important;border:1px solid #fecaca!important;color:#b42318!important;}
.mailchimp-embed #mce-success-response{background:#f0fdf4!important;border:1px solid #bbf7d0!important;color:#166534!important;}

@media(max-width:760px){
  .mailchimp-form-wrap{padding:22px 0 34px;}
  .mailchimp-embed .mc-field-group{display:flex!important;flex-direction:column;align-items:stretch;gap:5px;}
  .mailchimp-embed .mc-address-fields-group{grid-template-columns:1fr;}
  .mailchimp-embed input.button,
  .mailchimp-embed #mc-embedded-subscribe{width:100%!important;}
}