.nikah-application { background: var(--makki-ivory); }
.nikah-application__container { max-width: 1040px; }
.nikah-application__heading { max-width: 760px; margin-bottom: clamp(2rem, 5vw, 3.5rem); }
.nikah-application__heading h2, .nikah-success h2 { margin: 0; font-size: clamp(2.1rem, 4vw, 3rem); letter-spacing: -.025em; }
.nikah-application__heading > p { margin: .85rem 0 0; color: var(--makki-sage); }
.nikah-notice { display: flex; align-items: flex-start; gap: .8rem; margin-top: 1.3rem; padding: 1rem 1.1rem; background: rgba(198,161,91,.11); border-left: 3px solid var(--makki-gold); color: var(--makki-navy-deep); }
.nikah-notice i { margin-top: .25rem; color: var(--makki-wood); }
.nikah-notice p { margin: 0; }
.nikah-form { display: grid; background: var(--makki-white); border: var(--makki-border); border-radius: var(--makki-radius-lg); box-shadow: var(--makki-shadow-sm); }
.nikah-form-section { padding: clamp(1.35rem, 4vw, 2.5rem); border-bottom: var(--makki-border); }
.nikah-form-section:last-child { border-bottom: 0; }
.nikah-form-section__title { display: flex; align-items: center; gap: .9rem; margin-bottom: 1.5rem; }
.nikah-form-section__title > span { display: grid; width: 2.2rem; height: 2.2rem; flex: 0 0 auto; place-items: center; background: var(--makki-gold); border-radius: 50%; color: var(--makki-navy-deep); font-size: .72rem; font-weight: 800; }
.nikah-form-section h3 { margin: 0; color: var(--makki-navy-deep); font-size: clamp(1.45rem, 2.8vw, 1.85rem); }
.nikah-section-copy { margin: -.7rem 0 1.4rem 3.1rem; color: var(--makki-sage); }
.nikah-form-grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(130px, .34fr); gap: 1.25rem; }
.nikah-address-grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(150px, .42fr); gap: 1.25rem; }
.nikah-address-grid__street { grid-column: 1 / -1; }
.nikah-field--full { grid-column: 1 / -1; }
.nikah-field { min-width: 0; }
.nikah-field label, .nikah-radio-group legend, .nikah-proof-group legend { display: block; margin: 0 0 .5rem; color: var(--makki-navy-deep); font-size: .88rem; font-weight: 750; }
.nikah-field label > span, .nikah-radio-group legend > span { color: #9d3d32; }
.nikah-field input, .nikah-field textarea { display: block; width: 100%; min-height: 3.05rem; padding: .72rem .85rem; background: #fff; border: 1px solid #c9c8c0; border-radius: 5px; color: var(--makki-navy-deep); font: inherit; }
.nikah-field textarea { min-height: 7rem; resize: vertical; }
.nikah-field input[readonly] { background: #f2f2ed; color: var(--makki-sage); }
.nikah-field input:focus, .nikah-field textarea:focus, .nikah-check input:focus-visible { outline: 3px solid rgba(198,161,91,.42); outline-offset: 1px; border-color: var(--makki-navy); }
.nikah-field input[aria-invalid="true"], .nikah-field textarea[aria-invalid="true"], fieldset[aria-invalid="true"] { border-color: #a33b31; }
.nikah-field small { display: block; margin-top: .38rem; color: var(--makki-sage); font-size: .76rem; }
.nikah-field-error { margin: .4rem 0 0; color: #8f2f28; font-size: .82rem; font-weight: 700; }
.nikah-radio-group, .nikah-proof-group { min-width: 0; margin: 0; padding: 0; border: 0; }
.nikah-radio-row { display: flex; flex-wrap: wrap; gap: .75rem; }
.nikah-check { display: flex; min-height: 2.75rem; align-items: flex-start; gap: .7rem; margin: 0; padding: .65rem .75rem; background: #faf9f5; border: 1px solid #dedbd1; border-radius: 5px; color: var(--makki-navy-deep); cursor: pointer; font-size: .88rem; line-height: 1.45; }
.nikah-check input { width: 1.15rem; height: 1.15rem; flex: 0 0 auto; margin: .08rem 0 0; accent-color: var(--makki-navy); }
.nikah-proof-columns { display: grid; align-items: start; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.25rem; margin-top: 1.65rem; }
.nikah-proof-group { position: relative; }
.nikah-proof-group legend { float: left; width: 100%; margin-bottom: .45rem; color: var(--makki-navy); font-size: .95rem; }
.nikah-proof-group legend + * { clear: both; }
.nikah-proof-help, .nikah-proof-note { margin: 0; color: var(--makki-sage); font-size: .75rem; line-height: 1.55; }
.nikah-proof-help { min-height: 4.75rem; margin-bottom: .55rem; }
.nikah-proof-note { margin-top: .65rem; }
.nikah-multiselect__trigger { display: none; width: 100%; min-height: 3.05rem; align-items: center; justify-content: space-between; gap: .75rem; padding: .72rem .85rem; background: #fff; border: 1px solid #c9c8c0; border-radius: 5px; color: var(--makki-navy-deep); cursor: pointer; font: inherit; text-align: left; }
.nikah-js .nikah-multiselect__trigger { display: flex; }
.nikah-multiselect__trigger i { flex: 0 0 auto; color: var(--makki-wood); font-size: .72rem; transition: transform var(--makki-transition); }
.nikah-multiselect.is-open .nikah-multiselect__trigger { border-color: var(--makki-navy); border-radius: 5px 5px 0 0; }
.nikah-multiselect.is-open .nikah-multiselect__trigger i { transform: rotate(180deg); }
.nikah-multiselect__trigger:focus-visible { outline: 3px solid rgba(198,161,91,.42); outline-offset: 1px; border-color: var(--makki-navy); }
.nikah-multiselect__panel { max-height: 19rem; padding: .55rem; overflow-x: hidden; overflow-y: auto; background: #fff; border: 1px solid #c9c8c0; border-radius: 5px; }
.nikah-js .nikah-multiselect__panel { display: none; }
.nikah-js .nikah-multiselect.is-open .nikah-multiselect__panel { display: block; border-top: 0; border-radius: 0 0 5px 5px; }
.nikah-check-grid { display: grid; gap: .35rem; }
.nikah-multiselect__panel .nikah-check { min-height: 2.75rem; align-items: center; background: #fff; border-color: transparent; }
.nikah-multiselect__panel .nikah-check:hover { background: var(--makki-ivory); border-color: #dedbd1; }
.nikah-other-field { margin-top: .9rem; }
.nikah-js .nikah-other-field[hidden] { display: none; }
.nikah-declaration { max-width: 820px; background: transparent; border: 0; padding: 0; }
.nikah-declaration a { color: var(--makki-navy); font-weight: 750; text-decoration: underline; }
.nikah-turnstile { width: 100%; max-width: 340px; min-height: 65px; margin-top: 1.5rem; }
#nikah-turnstile-widget { width: 100%; max-width: 340px; }
.nikah-config-notice { max-width: 650px; margin: 0; padding: .8rem 1rem; background: #fff4dc; border-left: 3px solid var(--makki-gold); color: var(--makki-navy-deep); }
.nikah-submit { margin-top: 1.15rem; gap: .65rem; }
.nikah-submit[disabled] { opacity: .58; cursor: not-allowed; }
.nikah-error-summary { margin-bottom: 1.5rem; padding: 1.25rem 1.4rem; background: #fff5f3; border: 1px solid #dba8a2; border-left: 4px solid #9d3d32; border-radius: 5px; }
.nikah-error-summary:focus { outline: 3px solid var(--makki-gold); outline-offset: 2px; }
.nikah-error-summary h3 { margin: 0 0 .6rem; color: #76251f; font-size: 1.2rem; }
.nikah-error-summary ul { margin: 0; padding-left: 1.2rem; }
.nikah-error-summary a { color: #76251f; }
.nikah-error-summary__trace { margin: .8rem 0 0; color: #76251f; font-size: .78rem; font-weight: 700; }
.nikah-submit-timeout { max-width: 680px; margin: .8rem 0 0; padding: .8rem 1rem; background: #fff4dc; border-left: 3px solid var(--makki-gold); color: var(--makki-navy-deep); font-size: .85rem; }
.nikah-honeypot { position: absolute !important; left: -10000px !important; width: 1px !important; height: 1px !important; overflow: hidden !important; }
.nikah-success { max-width: 760px; margin-inline: auto; padding: clamp(2rem, 6vw, 4rem); background: var(--makki-white); border: var(--makki-border); border-top: 3px solid var(--makki-gold); border-radius: var(--makki-radius-lg); box-shadow: var(--makki-shadow-sm); text-align: center; }
.nikah-success .v2-eyebrow { justify-content: center; }
.nikah-success__icon { display: grid; width: 3.4rem; height: 3.4rem; margin: 0 auto 1rem; place-items: center; background: var(--makki-navy); border-radius: 50%; color: #fff; }
.nikah-success p { color: var(--makki-sage); }
.nikah-success .v2-btn { margin-top: .7rem; }
.nikah-confirm-dialog { width: min(100% - 2rem, 590px); max-width: none; max-height: calc(100dvh - 2rem); margin: auto; padding: 0; overflow: auto; background: var(--makki-white); border: 1px solid rgba(198,161,91,.55); border-radius: var(--makki-radius-lg); box-shadow: 0 24px 70px rgba(16,42,63,.34); color: var(--makki-charcoal); }
.nikah-confirm-dialog::backdrop { background: rgba(16,42,63,.72); backdrop-filter: blur(2px); }
.nikah-confirm-dialog__content { padding: clamp(1.5rem, 5vw, 2.5rem); text-align: center; }
.nikah-confirm-dialog__icon { display: grid; width: 3.25rem; height: 3.25rem; margin: 0 auto .85rem; place-items: center; background: rgba(198,161,91,.18); border: 1px solid rgba(198,161,91,.5); border-radius: 50%; color: var(--makki-navy); font-size: 1.25rem; }
.nikah-confirm-dialog__eyebrow { color: var(--makki-wood); font-size: .7rem; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.nikah-confirm-dialog h2 { margin: .3rem 0 .8rem; font-size: clamp(1.65rem, 4vw, 2.15rem); }
.nikah-confirm-dialog p { margin: 0; color: var(--makki-sage); }
.nikah-confirm-dialog p + p { margin-top: .7rem; }
.nikah-confirm-dialog__actions { display: flex; justify-content: center; gap: .75rem; margin-top: 1.5rem; }
.service-v2-page main .nikah-confirm-dialog .v2-btn--secondary:link,
.service-v2-page main .nikah-confirm-dialog .v2-btn--secondary:visited,
.service-v2-page main .nikah-confirm-dialog .v2-btn--secondary { background: var(--makki-ivory); border-color: var(--makki-navy); color: var(--makki-navy); }
.service-v2-page main .nikah-confirm-dialog .v2-btn--secondary:hover,
.service-v2-page main .nikah-confirm-dialog .v2-btn--secondary:focus-visible { background: var(--makki-navy); border-color: var(--makki-navy); color: var(--makki-white); }
@media (max-width: 767px) {
    .nikah-form-grid, .nikah-address-grid, .nikah-proof-columns { grid-template-columns: 1fr; }
    .nikah-field--full { grid-column: auto; }
    .nikah-address-grid__street { grid-column: auto; }
    .nikah-section-copy { margin-left: 0; }
    .nikah-proof-help { min-height: 0; }
}
@media (max-width: 430px) {
    .nikah-form-section { padding-inline: 1rem; }
    .nikah-form-section__title { gap: .65rem; }
    .nikah-multiselect__trigger, .nikah-multiselect__panel { max-width: 100%; }
    .nikah-multiselect__panel { max-height: min(18rem, 55vh); }
    .nikah-submit { width: 100%; }
    .nikah-confirm-dialog__actions { align-items: stretch; flex-direction: column-reverse; }
    .nikah-confirm-dialog__actions .v2-btn { width: 100%; }
}
