/**
 * Agrani Reunion — Simple registration layout
 * v3.71.0
 *
 * Final stylesheet: deliberately flattens the accumulated visual layers,
 * isolates the active wizard step, and provides a predictable mobile layout.
 */

.agrani-reunion-wrap,
.agrani-reunion-wrap *,
.agrani-reunion-wrap *::before,
.agrani-reunion-wrap *::after {
    box-sizing: border-box !important;
}

.agrani-reunion-wrap {
    width: 100%;
    max-width: 100%;
    overflow-x: clip;
}

.agrani-reunion-wrap .agrani-layout {
    width: 100% !important;
    max-width: 100% !important;
    margin: 20px auto 40px !important;
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 18px !important;
}

/* Wizard safety: only the current step can participate in layout. */
.agrani-reunion-wrap .agrani-step[hidden],
.agrani-reunion-wrap .agrani-step.is-inactive-step,
.agrani-reunion-wrap .agrani-step[aria-hidden="true"] {
    display: none !important;
}

.agrani-reunion-wrap .agrani-step.is-current-step,
.agrani-reunion-wrap .agrani-step[aria-hidden="false"] {
    display: block !important;
}

/* One outer form surface; inner sections stay flat. */
.agrani-reunion-wrap .agrani-form.agrani-after-selection,
.agrani-reunion-wrap .agrani-layout .agrani-form {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    padding: clamp(18px, 3vw, 28px) !important;
    border: 1px solid #e5dccb !important;
    border-radius: 12px !important;
    background: #ffffff !important;
    box-shadow: 0 10px 30px rgba(42, 15, 15, .07) !important;
    overflow: hidden !important;
}

.agrani-reunion-wrap .agrani-form::before {
    display: none !important;
    content: none !important;
}

.agrani-reunion-wrap .agrani-form.agrani-before-selection {
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    overflow: visible !important;
}

.agrani-reunion-wrap .agrani-step1-details,
.agrani-reunion-wrap .agrani-form-subsection,
.agrani-reunion-wrap .agrani-batch-fee-box,
.agrani-reunion-wrap .guest-fields,
.agrani-reunion-wrap .conditional,
.agrani-reunion-wrap .agrani-pm-header,
.agrani-reunion-wrap .agrani-review {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    margin: 0 0 24px !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    overflow: visible !important;
}

.agrani-reunion-wrap .agrani-step1-details.is-visible {
    margin-top: 22px !important;
}

.agrani-reunion-wrap .agrani-step1-details > * + * {
    margin-top: 26px !important;
}

.agrani-reunion-wrap .agrani-step h3,
.agrani-reunion-wrap .agrani-form-subsection > h4,
.agrani-reunion-wrap .agrani-batch-fee-box > h4,
.agrani-reunion-wrap .conditional > h4,
.agrani-reunion-wrap .agrani-pm-header > h4 {
    padding-bottom: 9px !important;
    border-bottom: 1px solid #eee7dc !important;
    background: transparent !important;
    box-shadow: none !important;
}

/* Labels are plain; only the input control has a border. */
.agrani-reunion-wrap .agrani-grid {
    width: 100% !important;
    min-width: 0 !important;
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 18px !important;
}

.agrani-reunion-wrap .agrani-grid > * {
    min-width: 0 !important;
    max-width: 100% !important;
}

.agrani-reunion-wrap .agrani-grid label:not(.agrani-radio):not(.agrani-checkbox),
.agrani-reunion-wrap .conditional[data-condition] > label,
.agrani-reunion-wrap .guest-name-label {
    display: block !important;
    width: 100% !important;
    min-width: 0 !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    color: #4a4032 !important;
    font-size: 13px !important;
    font-weight: 600 !important;
}

.agrani-reunion-wrap input:not([type="radio"]):not([type="checkbox"]),
.agrani-reunion-wrap select,
.agrani-reunion-wrap textarea {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    min-height: 46px !important;
    margin: 7px 0 0 !important;
    padding: 11px 13px !important;
    border: 1px solid #dcd4c7 !important;
    border-radius: 8px !important;
    background: #ffffff !important;
    color: #2f281f !important;
    font-family: inherit !important;
    font-size: 15px !important;
    box-shadow: none !important;
}

.agrani-reunion-wrap textarea { min-height: 88px !important; }

.agrani-reunion-wrap input:focus,
.agrani-reunion-wrap select:focus,
.agrani-reunion-wrap textarea:focus {
    outline: none !important;
    border-color: #6a1414 !important;
    box-shadow: 0 0 0 3px rgba(106, 20, 20, .10) !important;
}

.agrani-reunion-wrap .agrani-checkbox {
    border: 0 !important;
    background: transparent !important;
    padding: 0 !important;
}

.agrani-reunion-wrap .guest-fields:empty { display: none !important; }

/* Compact progress without another card around a card. */
.agrani-reunion-wrap .agrani-progress-wrap {
    margin: 0 0 24px !important;
    padding: 0 0 18px !important;
    border: 0 !important;
    border-bottom: 1px solid #eee7dc !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
}

.agrani-reunion-wrap .agrani-step-info {
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
}

.agrani-reunion-wrap .agrani-step-info::before { display: none !important; }

.agrani-reunion-wrap .agrani-stepper {
    padding: 0 !important;
    margin: 14px 0 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
}

/* Keep the selected category and payable amount visible while the form scrolls. */
.agrani-reunion-wrap .agrani-price-summary,
.agrani-reunion-wrap .agrani-price-summary.is-active {
    position: sticky !important;
    top: 24px !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    order: 2;
}

.agrani-reunion-wrap .agrani-selected-participant,
.agrani-reunion-wrap .agrani-selected-participant-inner,
.agrani-reunion-wrap .agrani-price-summary-card {
    width: 100% !important;
    max-width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
}

body.agrani-has-price-bar .agrani-reunion-wrap .agrani-form {
    padding-bottom: clamp(18px, 3vw, 28px) !important;
}

.agrani-reunion-wrap .agrani-actions {
    position: static !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 24px 0 0 !important;
    padding: 18px 0 0 !important;
    border-top: 1px solid #eee7dc !important;
    background: transparent !important;
    backdrop-filter: none !important;
}

.agrani-reunion-wrap img,
.agrani-reunion-wrap button {
    max-width: 100% !important;
}

.agrani-reunion-wrap .agrani-review dd,
.agrani-reunion-wrap .fee-breakdown,
.agrani-reunion-wrap .agrani-ptype-title,
.agrani-reunion-wrap .agrani-ptype-amount {
    overflow-wrap: anywhere;
}

@media (max-width: 700px) {
    .agrani-reunion-wrap .agrani-price-summary,
    .agrani-reunion-wrap .agrani-price-summary.is-active {
        position: fixed !important;
        top: auto !important;
        right: 0 !important;
        bottom: 0 !important;
        left: 0 !important;
        z-index: 1000 !important;
        padding: 10px 14px calc(10px + env(safe-area-inset-bottom)) !important;
    }

    .agrani-reunion-wrap .agrani-layout {
        width: 100% !important;
        margin: 8px 0 24px !important;
        gap: 14px !important;
    }

    .agrani-reunion-wrap .agrani-form.agrani-after-selection,
    .agrani-reunion-wrap .agrani-layout .agrani-form {
        padding: 14px !important;
        border-radius: 10px !important;
    }

    .agrani-reunion-wrap .agrani-form.agrani-before-selection {
        padding: 0 !important;
    }

    .agrani-reunion-wrap .agrani-grid,
    .agrani-reunion-wrap .agrani-participant-grid,
    .agrani-reunion-wrap .agrani-batch-grid,
    .agrani-reunion-wrap .agrani-payment-gateways,
    .agrani-reunion-wrap .guest-fields .agrani-grid {
        grid-template-columns: minmax(0, 1fr) !important;
        gap: 14px !important;
    }

    .agrani-reunion-wrap input:not([type="radio"]):not([type="checkbox"]),
    .agrani-reunion-wrap select,
    .agrani-reunion-wrap textarea {
        font-size: 16px !important;
    }

    .agrani-reunion-wrap .agrani-header {
        display: grid !important;
        grid-template-columns: auto minmax(0, 1fr) !important;
        text-align: left !important;
    }

    .agrani-reunion-wrap .agrani-header > div { min-width: 0; }
    .agrani-reunion-wrap .agrani-header h2,
    .agrani-reunion-wrap .agrani-header p { overflow-wrap: anywhere; }

    .agrani-reunion-wrap .agrani-stepper-item {
        min-width: 0 !important;
    }

    .agrani-reunion-wrap .agrani-stepper-text small { display: none !important; }
    .agrani-reunion-wrap .agrani-stepper-text strong { font-size: 11px !important; }
    .agrani-reunion-wrap .agrani-stepper-dot { width: 30px !important; height: 30px !important; }
    .agrani-reunion-wrap .agrani-stepper-line { margin-top: 15px !important; min-width: 6px !important; }

    .agrani-reunion-wrap .agrani-actions {
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) !important;
        gap: 10px !important;
    }

    .agrani-reunion-wrap .agrani-actions .agrani-btn {
        width: 100% !important;
        min-width: 0 !important;
        min-height: 48px !important;
        margin: 0 !important;
        white-space: normal !important;
    }

    .agrani-reunion-wrap .agrani-selected-participant-inner,
    .agrani-reunion-wrap .agrani-price-summary-card,
    .agrani-reunion-wrap .agrani-total-box {
        padding: 14px !important;
        border-radius: 10px !important;
    }
}

@media (max-width: 380px) {
    .agrani-reunion-wrap .agrani-layout .agrani-form { padding: 10px !important; }
    .agrani-reunion-wrap .agrani-badge { width: 42px !important; height: 42px !important; flex-basis: 42px !important; }
    .agrani-reunion-wrap .agrani-header h2 { font-size: 17px !important; }
    .agrani-reunion-wrap .agrani-step > h3 { font-size: 16px !important; }
}
