/* ============================================================
   BMA RMA – Public / Customer Styles
   ============================================================ */

/* ── Shared status badges ───────────────────────────────── */
.bma-rma-status {
    display: inline-block;
    padding: 3px 12px;
    border-radius: 20px;
    font-size: 13px;
    font-weight: 600;
}
.bma-rma-status--pending           { background: #fff3cd; color: #856404; }
.bma-rma-status--approved          { background: #cce5ff; color: #004085; }
.bma-rma-status--rejected          { background: #f8d7da; color: #721c24; }
.bma-rma-status--awaiting_shipment { background: #e2d9f3; color: #4a235a; }
.bma-rma-status--in_transit        { background: #cce5ff; color: #004085; }
.bma-rma-status--received          { background: #d4edda; color: #155724; }
.bma-rma-status--inspection        { background: #fff3cd; color: #856404; }
.bma-rma-status--completed         { background: #d4edda; color: #155724; }
.bma-rma-status--cancelled         { background: #e2e3e5; color: #383d41; }
.bma-rma-status--more_info         { background: #fff3cd; color: #856404; }
.bma-rma-status--xl { font-size: 16px; padding: 6px 18px; }

.bma-rma-badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: #c0392b;
    color: #fff;
    border-radius: 50%;
    width: 18px;
    height: 18px;
    font-size: 10px;
    font-weight: 700;
    margin-left: 4px;
    vertical-align: middle;
}

/* ── "Request Return" button ────────────────────────────── */
.bma-rma-order-btn-wrap { margin-top: 16px; }
.bma-rma-request-btn {
    background: var(--tt-primary, #2d2d2d) !important;
    color: #fff !important;
    border-color: var(--tt-primary, #2d2d2d) !important;
}
.bma-rma-request-btn:hover { background: var(--tt-gray-700, #343a40) !important; }

/* ── My Returns table ───────────────────────────────────── */
.bma-rma-my-returns__header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 16px;
    flex-wrap: wrap;
    gap: 10px;
}

/* ── Multi-step form ────────────────────────────────────── */
.bma-rma-form-wrap { max-width: 760px; margin: 0 auto; }

.bma-rma-step { margin-bottom: 24px; }
.bma-rma-step h3 {
    font-size: 18px;
    margin-bottom: 16px;
    padding-bottom: 8px;
    border-bottom: 2px solid #eee;
}
.bma-rma-section-heading {
    font-size: 15px;
    font-weight: 700;
    color: var(--tt-primary, #2d2d2d);
    margin: 20px 0 10px;
    padding-bottom: 6px;
    border-bottom: 1px solid var(--tt-gray-200, #dee2e6);
}
.bma-rma-checkbox-row label {
    display: flex;
    align-items: flex-start;
    gap: 8px;
    cursor: pointer;
    font-size: 14px;
    line-height: 1.5;
}
.bma-rma-checkbox-row input[type="checkbox"] {
    margin-top: 3px;
    flex-shrink: 0;
}

.bma-rma-form-nav {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-top: 20px;
}
.bma-rma-btn-primary {
    background: var(--tt-primary, #2d2d2d) !important;
    color: #fff !important;
    border-color: var(--tt-primary, #2d2d2d) !important;
    padding: 10px 24px !important;
    font-size: 15px !important;
}
.bma-rma-btn-primary:hover { background: var(--tt-gray-700, #343a40) !important; }

.spinner { float: none !important; visibility: hidden; }
.spinner.is-active { visibility: visible; }

/* Step indicator */
.bma-rma-step-indicator {
    display: flex;
    justify-content: center;
    gap: 8px;
    margin-top: 20px;
}
.bma-rma-step-dot {
    width: 10px;
    height: 10px;
    border-radius: 50%;
    background: #ccc;
    transition: background 0.3s;
}
.bma-rma-step-dot.active { background: var(--tt-primary, #2d2d2d); }

/* ── Item checklist ─────────────────────────────────────── */
.bma-rma-items-checklist { display: flex; flex-direction: column; gap: 12px; }

.bma-rma-item-row {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    padding: 12px;
    border: 1px solid #e0e0e0;
    border-radius: 6px;
    background: #fafafa;
    transition: border-color 0.2s;
}
.bma-rma-item-row.selected { border-color: #2c3e50; background: #f0f4f8; }
.bma-rma-item-row.non-returnable { opacity: 0.5; pointer-events: none; }

.bma-rma-item-row img {
    width: 60px;
    height: 60px;
    object-fit: cover;
    border-radius: 4px;
    border: 1px solid #ddd;
    flex-shrink: 0;
}
.bma-rma-item-row__info { flex: 1; }
.bma-rma-item-row__info strong { display: block; margin-bottom: 4px; }
.bma-rma-item-row__qty { display: flex; align-items: center; gap: 6px; margin-top: 6px; }
.bma-rma-item-row__qty input[type="number"] { width: 60px; }

/* Item reason selectors */
.bma-rma-reason-row { margin-bottom: 16px; padding: 12px; border: 1px solid #e0e0e0; border-radius: 6px; }
.bma-rma-reason-row label { font-weight: 600; display: block; margin-bottom: 6px; }
.bma-rma-reason-detail { margin-top: 8px; width: 100%; box-sizing: border-box; }

/* ── Evidence upload preview ────────────────────────────── */
.bma-rma-evidence-preview {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 10px;
}
.bma-rma-evidence-thumb {
    width: 80px;
    height: 80px;
    object-fit: cover;
    border-radius: 4px;
    border: 1px solid #ddd;
}

/* ── Confirmation summary ────────────────────────────────── */
.bma-rma-summary-box {
    background: #f9f9f9;
    border: 1px solid #e0e0e0;
    border-radius: 6px;
    padding: 16px 20px;
    margin-bottom: 16px;
}
.bma-rma-summary-row {
    display: flex;
    justify-content: space-between;
    padding: 6px 0;
    border-bottom: 1px solid #eee;
}
.bma-rma-summary-row:last-child { border-bottom: none; }

/* ── Status tracking page ────────────────────────────────── */
.bma-rma-status-page { max-width: 760px; margin: 0 auto; }
.bma-rma-status-page__back { margin-bottom: 12px; }
.bma-rma-status-hero { text-align: center; margin: 20px 0; }

/* Progress timeline */
.bma-rma-timeline {
    display: flex;
    justify-content: space-between;
    position: relative;
    margin: 24px 0 32px;
    padding: 0;
}
.bma-rma-timeline::before {
    content: '';
    position: absolute;
    top: 12px;
    left: 0;
    right: 0;
    height: 2px;
    background: #e0e0e0;
    z-index: 0;
}
.bma-rma-timeline__step {
    display: flex;
    flex-direction: column;
    align-items: center;
    flex: 1;
    position: relative;
    z-index: 1;
}
.bma-rma-timeline__dot {
    width: 24px;
    height: 24px;
    border-radius: 50%;
    background: #e0e0e0;
    border: 3px solid #fff;
    box-shadow: 0 0 0 2px #e0e0e0;
    margin-bottom: 6px;
    transition: background 0.3s, box-shadow 0.3s;
}
.bma-rma-timeline__step.done .bma-rma-timeline__dot {
    background: #27ae60;
    box-shadow: 0 0 0 2px #27ae60;
}
.bma-rma-timeline__step.current .bma-rma-timeline__dot {
    background: var(--tt-primary, #2d2d2d);
    box-shadow: 0 0 0 2px var(--tt-primary, #2d2d2d);
}
.bma-rma-timeline__label {
    font-size: 11px;
    text-align: center;
    color: #777;
    max-width: 80px;
    line-height: 1.3;
}
.bma-rma-timeline__step.done .bma-rma-timeline__label,
.bma-rma-timeline__step.current .bma-rma-timeline__label {
    color: var(--tt-primary, #2d2d2d);
    font-weight: 600;
}

/* Info card */
.bma-rma-info-card {
    border: 1px solid #e0e0e0;
    border-radius: 6px;
    overflow: hidden;
    margin-bottom: 24px;
}
.bma-rma-info-row {
    display: flex;
    justify-content: space-between;
    padding: 10px 16px;
    border-bottom: 1px solid #eee;
    font-size: 14px;
}
.bma-rma-info-row:last-child { border-bottom: none; }
.bma-rma-info-row > span:first-child { font-weight: 600; color: #555; }

/* Items list on status page */
.bma-rma-items-list { display: flex; flex-direction: column; gap: 12px; margin-bottom: 24px; }
.bma-rma-item-card {
    display: flex;
    gap: 12px;
    padding: 12px;
    border: 1px solid #e0e0e0;
    border-radius: 6px;
    background: #fafafa;
}
.bma-rma-item-card img {
    width: 60px;
    height: 60px;
    object-fit: cover;
    border-radius: 4px;
    border: 1px solid #ddd;
    flex-shrink: 0;
}
.bma-rma-item-card__info { flex: 1; }
.bma-rma-item-card__info > * { display: block; margin-bottom: 2px; font-size: 13px; }
.bma-rma-item-card__info strong { font-size: 14px; }

/* Evidence grid */
.bma-rma-evidence-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(100px, 1fr));
    gap: 10px;
    margin-bottom: 24px;
}
.bma-rma-evidence-item { text-align: center; }
.bma-rma-evidence-item img {
    width: 100%;
    height: 90px;
    object-fit: cover;
    border-radius: 4px;
    border: 1px solid #ddd;
}

/* Messages */
.bma-rma-messages {
    max-height: 350px;
    overflow-y: auto;
    border: 1px solid #e0e0e0;
    border-radius: 6px;
    padding: 12px;
    background: #f9f9f9;
    margin-bottom: 12px;
}
.bma-rma-message {
    max-width: 78%;
    padding: 10px 14px;
    border-radius: 8px;
    margin-bottom: 10px;
}
.bma-rma-msg--customer { background: #e8f4ff; margin-left: auto; }
.bma-rma-msg--admin    { background: #fff; border: 1px solid #e0e0e0; }
.bma-rma-message__text { margin: 0 0 4px; font-size: 14px; }
.bma-rma-message__meta { font-size: 11px; color: #888; }

.bma-rma-message-compose textarea {
    width: 100%;
    box-sizing: border-box;
    margin-bottom: 8px;
}
.bma-rma-confirm-note { font-size: 13px; color: #555; margin-bottom: 12px; }

/* ── Simple Refund Form ─────────────────────────────────── */
.bma-rrf-wrap { max-width: 720px; margin: 0 auto; }

.bma-rrf-step h3 {
    font-size: 20px;
    margin-bottom: 8px;
    padding-bottom: 10px;
    border-bottom: 2px solid #eee;
}
.bma-rrf-step > p:first-of-type { color: #555; margin-bottom: 20px; }

.bma-rrf-policy-box {
    background: var(--tt-gray-50, #f8f9fa);
    border: 1px solid var(--tt-gray-200, #dee2e6);
    border-left: 4px solid var(--tt-accent, #f39323);
    border-radius: var(--tt-radius-sm, 4px);
    padding: 18px 22px;
    margin: 20px 0;
}
.bma-rrf-policy-box h4 {
    font-size: 16px;
    margin: 0 0 12px;
    color: var(--tt-primary, #2d2d2d);
}
.bma-rrf-policy-box p,
.bma-rrf-policy-box ul { margin-bottom: 10px; font-size: 14px; line-height: 1.6; }
.bma-rrf-policy-box ul { padding-left: 22px; }
.bma-rrf-policy-box ul li { list-style: disc; margin-bottom: 4px; }
.bma-rrf-policy-note { font-style: italic; color: #777; font-size: 13px !important; }

#bma-rrf-submit-section h4 {
    font-size: 16px;
    margin: 0 0 14px;
    padding-bottom: 8px;
    border-bottom: 1px solid #eee;
}
.bma-rrf-checkbox-label {
    display: flex;
    align-items: flex-start;
    gap: 8px;
    cursor: pointer;
    font-size: 14px;
    line-height: 1.5;
}
.bma-rrf-checkbox-label input[type="checkbox"] { margin-top: 3px; flex-shrink: 0; }

#bma-rrf-success strong { display: block; margin-top: 6px; font-size: 15px; }

/* ── Underline (orange bottom-border) input style ───────── */
.bma-rma-form-wrap .form-row input[type="text"],
.bma-rma-form-wrap .form-row input[type="email"],
.bma-rma-form-wrap .form-row input[type="tel"],
.bma-rma-form-wrap .form-row input[type="number"],
.bma-rma-form-wrap .form-row input[type="date"],
.bma-rma-form-wrap .form-row select,
.bma-rma-form-wrap .form-row textarea,
.bma-rrf-wrap .form-row input[type="text"],
.bma-rrf-wrap .form-row input[type="email"],
.bma-rrf-wrap .form-row input[type="tel"],
.bma-rrf-wrap .form-row input[type="number"],
.bma-rrf-wrap .form-row input[type="date"],
.bma-rrf-wrap .form-row select,
.bma-rrf-wrap .form-row textarea {
    border: none !important;
    border-bottom: 2px solid var(--tt-accent, #f39323) !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    padding: 8px 2px !important;
    width: 100%;
    outline: none;
    transition: border-bottom-color 0.2s;
}

.bma-rma-form-wrap .form-row input[type="text"]:focus,
.bma-rma-form-wrap .form-row input[type="email"]:focus,
.bma-rma-form-wrap .form-row input[type="tel"]:focus,
.bma-rma-form-wrap .form-row input[type="number"]:focus,
.bma-rma-form-wrap .form-row input[type="date"]:focus,
.bma-rma-form-wrap .form-row select:focus,
.bma-rma-form-wrap .form-row textarea:focus,
.bma-rrf-wrap .form-row input[type="text"]:focus,
.bma-rrf-wrap .form-row input[type="email"]:focus,
.bma-rrf-wrap .form-row input[type="tel"]:focus,
.bma-rrf-wrap .form-row input[type="number"]:focus,
.bma-rrf-wrap .form-row input[type="date"]:focus,
.bma-rrf-wrap .form-row select:focus,
.bma-rrf-wrap .form-row textarea:focus {
    border-bottom-color: var(--tt-accent-hover, #ec6608) !important;
    box-shadow: none !important;
    outline: none !important;
}

.bma-rma-form-wrap .form-row > label,
.bma-rrf-wrap .form-row > label {
    color: var(--tt-primary, #2d2d2d);
    font-weight: 600;
    font-size: 14px;
    margin-bottom: 4px;
    display: block;
}

.bma-rma-form-wrap .form-row,
.bma-rrf-wrap .form-row {
    margin-bottom: 20px;
}

/* ── Refund Form: Tab Navigation ────────────────────────── */
.bma-rrf-tab-nav {
    display: flex;
    gap: 0;
    border-bottom: 2px solid var(--tt-accent, #f39323);
    background: var(--tt-primary, #2d2d2d);
    border-radius: var(--tt-radius-sm, 4px) var(--tt-radius-sm, 4px) 0 0;
    padding: 0 12px;
    margin-top: 20px;
}

.bma-rrf-tab-btn {
    position: relative;
    background: transparent;
    border: none;
    color: rgba(255,255,255,0.65);
    font-size: 14px;
    font-weight: 600;
    padding: 12px 22px 10px;
    cursor: pointer;
    transition: color 0.15s;
    outline: none;
    white-space: nowrap;
    letter-spacing: 0.01em;
}
.bma-rrf-tab-btn:hover { color: #fff; }
.bma-rrf-tab-btn--active { color: #fff; }
.bma-rrf-tab-btn--active::after {
    content: '';
    position: absolute;
    bottom: -2px;
    left: 0;
    right: 0;
    height: 2px;
    background: var(--tt-accent, #f39323);
}
.bma-rrf-tab-btn:disabled {
    opacity: 0.35;
    cursor: not-allowed;
}
.bma-rrf-tab-btn:disabled:hover { color: rgba(255,255,255,0.65); }

.bma-rrf-tab-content {
    border: 1px solid var(--tt-gray-200, #dee2e6);
    border-top: none;
    border-radius: 0 0 var(--tt-radius-sm, 4px) var(--tt-radius-sm, 4px);
    padding: 24px 20px;
    background: var(--tt-white, #ffffff);
}

.bma-rrf-tab-panel { display: none; }
.bma-rrf-tab-panel--active { display: block; }

.bma-rrf-tab-intro {
    color: var(--tt-gray-600, #495057);
    font-size: 14px;
    margin-bottom: 16px;
    padding: 10px 14px;
    background: var(--tt-gray-50, #f8f9fa);
    border-left: 3px solid var(--tt-accent, #f39323);
    border-radius: 0 var(--tt-radius-sm, 4px) var(--tt-radius-sm, 4px) 0;
}

.bma-rrf-step2-actions {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-top: 20px;
    flex-wrap: wrap;
}

/* ── Responsive ─────────────────────────────────────────── */
@media (max-width: 600px) {
    .bma-rma-timeline { flex-direction: column; gap: 12px; }
    .bma-rma-timeline::before { display: none; }
    .bma-rma-timeline__step { flex-direction: row; gap: 10px; }
    .bma-rma-timeline__label { max-width: none; }
    .bma-rma-item-row { flex-wrap: wrap; }
}


/* ================================================================
   BMA-RMA PLUGIN — Themed UI layer
   ----------------------------------------------------------------
   Uses var(--tt-*) tokens from thermotechnica/assets/css/design-tokens.css
   Scoped under .bma-rrf-wrap to prevent conflicts with Kadence Pro,
   Kadence Blocks, and WooCommerce styles.
   Hard-coded fallback literals inside var() ensure the form renders
   even if the child-theme token file fails to load.
   ================================================================ */

/* ── 1. Wrap container ─────────────────────────────────────────── */

.bma-rrf-wrap {
    font-family:   var(--tt-font-body, 'Inter', -apple-system, sans-serif) !important;
    color:         var(--tt-gray-600, #495057) !important;
    max-width:     700px !important;
    margin:        0 auto !important;
    background:    var(--tt-white, #ffffff) !important;
    border-radius: var(--tt-radius-lg, 12px) !important;
    padding:       40px !important;
    border:        1px solid var(--tt-gray-100, #e9ecef) !important;
    box-sizing:    border-box !important;
}

/* ── 2. Step headings & description ────────────────────────────── */

.bma-rrf-wrap .bma-rrf-step h3 {
    font-family:    var(--tt-font-body, 'Inter', sans-serif) !important;
    font-size:      1.15rem !important;
    font-weight:    700 !important;
    color:          var(--tt-primary, #2d2d2d) !important;
    letter-spacing: 0 !important;
    text-transform: none !important;
    margin-bottom:  6px !important;
    padding-bottom: 16px !important;
    border-bottom:  1px solid var(--tt-gray-100, #e9ecef) !important;
}

.bma-rrf-wrap .bma-rrf-step-desc {
    font-family: var(--tt-font-body, 'Inter', sans-serif) !important;
    color:       var(--tt-gray-500, #6c757d) !important;
    font-size:   0.92rem !important;
    line-height: 1.65 !important;
    margin:      0 0 24px !important;
}

/* ── 3. Order summary card ─────────────────────────────────────── */

.bma-rrf-wrap .bma-rma-summary-box {
    font-family:   var(--tt-font-body, 'Inter', sans-serif) !important;
    font-size:     0.88rem !important;
    color:         var(--tt-gray-700, #343a40) !important;
    background:    var(--tt-gray-50, #f8f9fa) !important;
    border:        1px solid var(--tt-gray-100, #e9ecef) !important;
    border-radius: var(--tt-radius-md, 8px) !important;
    padding:       16px 20px !important;
    margin-bottom: 20px !important;
}

/* ── 4. Tab nav — section selector cards ───────────────────────── */

.bma-rrf-wrap .bma-rrf-tab-nav {
    display:               grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap:                   12px !important;
    margin-top:            20px !important;
    margin-bottom:         0 !important;
    padding:               0 !important;
    background:            transparent !important;
    border-bottom:         none !important;
    border-radius:         0 !important;
}

.bma-rrf-wrap .bma-rrf-tab-btn {
    display:        flex !important;
    flex-direction: column !important;
    align-items:    flex-start !important;
    gap:            4px !important;
    padding:        14px 18px !important;
    background:     var(--tt-gray-50, #f8f9fa) !important;
    border:         2px solid var(--tt-gray-100, #e9ecef) !important;
    border-radius:  var(--tt-radius-md, 8px) !important;
    color:          var(--tt-gray-500, #6c757d) !important;
    font-family:    var(--tt-font-body, 'Inter', sans-serif) !important;
    font-size:      0.85rem !important;
    font-weight:    600 !important;
    text-align:     left !important;
    white-space:    normal !important;
    letter-spacing: 0 !important;
    text-transform: none !important;
    cursor:         pointer !important;
    box-shadow:     none !important;
    transition:     border-color var(--tt-transition-fast, 0.2s ease),
                    background   var(--tt-transition-fast, 0.2s ease),
                    color        var(--tt-transition-fast, 0.2s ease) !important;
}

.bma-rrf-wrap .bma-rrf-tab-btn:hover:not(:disabled) {
    border-color: var(--tt-accent, #f39323) !important;
    background:   var(--tt-white, #ffffff) !important;
    color:        var(--tt-primary, #2d2d2d) !important;
    transform:    none !important;
    box-shadow:   none !important;
}

.bma-rrf-wrap .bma-rrf-tab-btn--active {
    border-color: var(--tt-accent, #f39323) !important;
    background:   var(--tt-white, #ffffff) !important;
    color:        var(--tt-primary, #2d2d2d) !important;
    box-shadow:   0 2px 10px rgba(243, 147, 35, 0.15) !important;
}

.bma-rrf-wrap .bma-rrf-tab-btn--active::after {
    display: none !important;
}

.bma-rrf-wrap .bma-rrf-tab-btn:disabled {
    opacity: 0.38 !important;
    cursor:  not-allowed !important;
}

.bma-rrf-tab-btn__label {
    display:     flex !important;
    align-items: center !important;
    gap:         5px !important;
    font-size:   0.88rem !important;
    font-weight: 700 !important;
    color:       inherit !important;
}

.bma-rrf-tab-btn__sub {
    font-size:   0.74rem !important;
    font-weight: 400 !important;
    color:       var(--tt-gray-400, #adb5bd) !important;
    line-height: 1.4 !important;
}

.bma-rrf-wrap .bma-rrf-tab-btn--active .bma-rrf-tab-btn__sub {
    color: var(--tt-gray-500, #6c757d) !important;
}

/* ── 5. Tab content panel ──────────────────────────────────────── */

.bma-rrf-wrap .bma-rrf-tab-content {
    background:    var(--tt-white, #ffffff) !important;
    border:        1px solid var(--tt-gray-100, #e9ecef) !important;
    border-top:    none !important;
    border-radius: 0 0 var(--tt-radius-md, 8px) var(--tt-radius-md, 8px) !important;
    padding:       28px 24px !important;
}

/* ── 6. Section banners: warranty (navy) vs claim (orange) ─────── */

.bma-rrf-section-banner {
    display:       flex !important;
    align-items:   center !important;
    gap:           16px !important;
    padding:       20px 22px !important;
    border-radius: var(--tt-radius-md, 8px) !important;
    margin-bottom: 28px !important;
}

.bma-rrf-section-banner--warranty {
    background: linear-gradient(135deg, var(--tt-primary, #2d2d2d) 0%, #3d5170 100%) !important;
}

.bma-rrf-section-banner--claim {
    background: linear-gradient(135deg, var(--tt-accent, #f39323) 0%, var(--tt-accent-hover, #ec6608) 100%) !important;
}

.bma-rrf-section-banner__icon {
    width:           46px !important;
    height:          46px !important;
    background:      rgba(255, 255, 255, 0.18) !important;
    border-radius:   50% !important;
    display:         flex !important;
    align-items:     center !important;
    justify-content: center !important;
    flex-shrink:     0 !important;
    color:           var(--tt-white, #fff) !important;
}

.bma-rrf-section-banner__text h4 {
    font-family:    var(--tt-font-body, 'Inter', sans-serif) !important;
    font-size:      0.95rem !important;
    font-weight:    700 !important;
    color:          var(--tt-white, #ffffff) !important;
    margin:         0 0 3px !important;
    padding-bottom: 0 !important;
    border-bottom:  none !important;
    letter-spacing: 0 !important;
    text-transform: none !important;
}

.bma-rrf-section-banner__text p {
    font-family: var(--tt-font-body, 'Inter', sans-serif) !important;
    font-size:   0.79rem !important;
    color:       rgba(255, 255, 255, 0.85) !important;
    margin:      0 !important;
    line-height: 1.45 !important;
}

/* ── 7. Section headings ───────────────────────────────────────── */

.bma-rrf-wrap .bma-rrf-section-heading {
    font-family:    var(--tt-font-body, 'Inter', sans-serif) !important;
    font-size:      0.69rem !important;
    font-weight:    700 !important;
    color:          var(--tt-gray-500, #6c757d) !important;
    text-transform: uppercase !important;
    letter-spacing: 0.09em !important;
    margin:         24px 0 14px !important;
    padding-bottom: 8px !important;
    border-bottom:  1px solid var(--tt-gray-100, #e9ecef) !important;
}

/* ── 8. Form grid (matches support.html .form-row / .form-group) ─ */

.bma-rrf-frow {
    display:               grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap:                   16px !important;
    margin-bottom:         16px !important;
}

.bma-rrf-frow--full {
    grid-template-columns: 1fr !important;
}

.bma-rrf-fgroup {
    display:        flex !important;
    flex-direction: column !important;
    gap:            6px !important;
}

.bma-rrf-fgroup > label {
    font-family: var(--tt-font-body, 'Inter', sans-serif) !important;
    font-size:   0.82rem !important;
    font-weight: 600 !important;
    color:       var(--tt-gray-600, #495057) !important;
    margin:      0 !important;
}

/* ── 9. Inputs (full border, accent focus ring) ────────────────── */

.bma-rrf-wrap .bma-rrf-fgroup input[type="text"],
.bma-rrf-wrap .bma-rrf-fgroup input[type="email"],
.bma-rrf-wrap .bma-rrf-fgroup input[type="tel"],
.bma-rrf-wrap .bma-rrf-fgroup input[type="number"],
.bma-rrf-wrap .bma-rrf-fgroup input[type="date"],
.bma-rrf-wrap .bma-rrf-fgroup select,
.bma-rrf-wrap .bma-rrf-fgroup textarea {
    font-family:   var(--tt-font-body, 'Inter', sans-serif) !important;
    font-size:     0.88rem !important;
    color:         var(--tt-primary, #2d2d2d) !important;
    background:    var(--tt-white, #ffffff) !important;
    border:        1px solid var(--tt-gray-200, #dee2e6) !important;
    border-bottom: 1px solid var(--tt-gray-200, #dee2e6) !important;
    border-radius: var(--tt-radius-sm, 4px) !important;
    padding:       12px 16px !important;
    width:         100% !important;
    box-sizing:    border-box !important;
    box-shadow:    none !important;
    outline:       none !important;
    margin:        0 !important;
    transition:    border-color var(--tt-transition-fast, 0.2s ease),
                   box-shadow   var(--tt-transition-fast, 0.2s ease);
}

.bma-rrf-wrap .bma-rrf-fgroup input[type="text"]:focus,
.bma-rrf-wrap .bma-rrf-fgroup input[type="email"]:focus,
.bma-rrf-wrap .bma-rrf-fgroup input[type="tel"]:focus,
.bma-rrf-wrap .bma-rrf-fgroup input[type="number"]:focus,
.bma-rrf-wrap .bma-rrf-fgroup input[type="date"]:focus,
.bma-rrf-wrap .bma-rrf-fgroup select:focus,
.bma-rrf-wrap .bma-rrf-fgroup textarea:focus {
    border:     1px solid var(--tt-accent, #f39323) !important;
    box-shadow: 0 0 0 3px rgba(243, 147, 35, 0.12) !important;
    outline:    none !important;
}

.bma-rrf-wrap .bma-rrf-fgroup input::placeholder,
.bma-rrf-wrap .bma-rrf-fgroup textarea::placeholder {
    color:       var(--tt-gray-300, #ced4da) !important;
    font-family: var(--tt-font-body, 'Inter', sans-serif) !important;
}

.bma-rrf-wrap .bma-rrf-fgroup input[readonly] {
    background: var(--tt-gray-50, #f8f9fa) !important;
    color:      var(--tt-gray-400, #adb5bd) !important;
}

.bma-rrf-wrap .bma-rrf-fgroup input[type="file"] {
    padding:       10px 14px !important;
    border:        2px dashed var(--tt-gray-200, #dee2e6) !important;
    background:    var(--tt-gray-50, #f8f9fa) !important;
    border-radius: var(--tt-radius-sm, 4px) !important;
    font-size:     0.85rem !important;
    cursor:        pointer !important;
}

.bma-rrf-field-note {
    font-family: var(--tt-font-body, 'Inter', sans-serif) !important;
    font-size:   0.78rem !important;
    color:       var(--tt-gray-400, #adb5bd) !important;
    margin-top:  2px !important;
    line-height: 1.4 !important;
}

.bma-rrf-optional {
    font-family: var(--tt-font-body, 'Inter', sans-serif) !important;
    font-size:   0.74rem !important;
    font-weight: 400 !important;
    color:       var(--tt-gray-400, #adb5bd) !important;
}

/* ── 10. Checkbox rows ─────────────────────────────────────────── */

.bma-rrf-wrap .bma-rrf-check-row {
    display:     flex !important;
    align-items: flex-start !important;
    gap:         10px !important;
    margin:      0 0 12px !important;
    font-family: var(--tt-font-body, 'Inter', sans-serif) !important;
    font-size:   0.84rem !important;
    color:       var(--tt-gray-600, #495057) !important;
    line-height: 1.55 !important;
    cursor:      pointer !important;
}

.bma-rrf-wrap .bma-rrf-check-row input[type="checkbox"] {
    flex-shrink:  0 !important;
    width:        16px !important;
    height:       16px !important;
    margin-top:   2px !important;
    accent-color: var(--tt-accent, #f39323) !important;
    cursor:       pointer !important;
}

/* ── 11. Action rows ───────────────────────────────────────────── */

.bma-rrf-actions {
    display:     flex !important;
    align-items: center !important;
    gap:         12px !important;
    margin-top:  24px !important;
    flex-wrap:   wrap !important;
}

/* ── 12. Primary CTA button ────────────────────────────────────── */

.bma-rrf-wrap .bma-rrf-btn-primary {
    display:         inline-flex !important;
    align-items:     center !important;
    gap:             8px !important;
    font-family:     var(--tt-font-body, 'Inter', sans-serif) !important;
    font-size:       0.88rem !important;
    font-weight:     600 !important;
    letter-spacing:  0.01em !important;
    text-transform:  none !important;
    text-decoration: none !important;
    background:      var(--tt-accent, #f39323) !important;
    color:           var(--tt-white, #ffffff) !important;
    border:          none !important;
    border-radius:   var(--tt-radius-sm, 4px) !important;
    padding:         13px 28px !important;
    cursor:          pointer !important;
    box-shadow:      0 4px 14px rgba(243, 147, 35, 0.25) !important;
    transition:      background  var(--tt-transition-fast, 0.2s ease),
                     transform   var(--tt-transition-fast, 0.2s ease),
                     box-shadow  var(--tt-transition-fast, 0.2s ease) !important;
}

.bma-rrf-wrap .bma-rrf-btn-primary:hover,
.bma-rrf-wrap .bma-rrf-btn-primary:focus {
    background:      var(--tt-accent-hover, #ec6608) !important;
    color:           var(--tt-white, #fff) !important;
    transform:       translateY(-2px) !important;
    box-shadow:      0 8px 25px rgba(243, 147, 35, 0.30) !important;
    text-decoration: none !important;
}

/* ── 13. Back / secondary button ───────────────────────────────── */

.bma-rrf-wrap .bma-rrf-btn-back {
    display:         inline-flex !important;
    align-items:     center !important;
    gap:             6px !important;
    font-family:     var(--tt-font-body, 'Inter', sans-serif) !important;
    font-size:       0.88rem !important;
    font-weight:     600 !important;
    text-transform:  none !important;
    text-decoration: none !important;
    background:      transparent !important;
    color:           var(--tt-gray-600, #495057) !important;
    border:          1px solid var(--tt-gray-200, #dee2e6) !important;
    border-radius:   var(--tt-radius-sm, 4px) !important;
    padding:         12px 22px !important;
    cursor:          pointer !important;
    box-shadow:      none !important;
    transition:      border-color var(--tt-transition-fast, 0.2s ease),
                     color        var(--tt-transition-fast, 0.2s ease) !important;
}

.bma-rrf-wrap .bma-rrf-btn-back:hover,
.bma-rrf-wrap .bma-rrf-btn-back:focus {
    border-color:    var(--tt-gray-500, #6c757d) !important;
    color:           var(--tt-primary, #2d2d2d) !important;
    background:      transparent !important;
    text-decoration: none !important;
}

/* ── 14. WordPress spinner ─────────────────────────────────────── */

.bma-rrf-wrap .spinner {
    float:      none !important;
    margin:     0 4px !important;
    visibility: hidden !important;
}

.bma-rrf-wrap .spinner.is-active {
    visibility: visible !important;
}

/* ── 15. Warranty policy box (Step 3) ──────────────────────────── */

.bma-rrf-wrap .bma-rrf-policy-box {
    font-family:   var(--tt-font-body, 'Inter', sans-serif) !important;
    background:    var(--tt-gray-50, #f8f9fa) !important;
    border:        1px solid var(--tt-gray-100, #e9ecef) !important;
    border-left:   4px solid var(--tt-accent, #f39323) !important;
    border-radius: 0 var(--tt-radius-sm, 4px) var(--tt-radius-sm, 4px) 0 !important;
    padding:       20px 24px !important;
    margin:        0 0 24px !important;
}

.bma-rrf-wrap .bma-rrf-policy-box h4 {
    font-family:    var(--tt-font-body, 'Inter', sans-serif) !important;
    font-size:      0.95rem !important;
    font-weight:    700 !important;
    color:          var(--tt-primary, #2d2d2d) !important;
    margin:         0 0 12px !important;
    padding-bottom: 10px !important;
    border-bottom:  1px solid var(--tt-gray-200, #dee2e6) !important;
    letter-spacing: 0 !important;
    text-transform: none !important;
}

.bma-rrf-wrap .bma-rrf-policy-box p,
.bma-rrf-wrap .bma-rrf-policy-box ul {
    font-family:   var(--tt-font-body, 'Inter', sans-serif) !important;
    font-size:     0.84rem !important;
    color:         var(--tt-gray-600, #495057) !important;
    line-height:   1.65 !important;
    margin-bottom: 10px !important;
}

.bma-rrf-wrap .bma-rrf-policy-box ul {
    padding-left: 20px !important;
}

.bma-rrf-wrap .bma-rrf-policy-box li {
    font-size:     0.84rem !important;
    color:         var(--tt-gray-600, #495057) !important;
    list-style:    disc !important;
    margin-bottom: 4px !important;
    line-height:   1.65 !important;
}

.bma-rrf-wrap .bma-rrf-policy-box strong {
    color:       var(--tt-gray-700, #343a40) !important;
    font-weight: 700 !important;
}

#bma-rrf-submit-section h4 {
    font-family:    var(--tt-font-body, 'Inter', sans-serif) !important;
    font-size:      0.95rem !important;
    font-weight:    700 !important;
    color:          var(--tt-primary, #2d2d2d) !important;
    margin:         0 0 16px !important;
    padding-bottom: 10px !important;
    border-bottom:  1px solid var(--tt-gray-100, #e9ecef) !important;
    letter-spacing: 0 !important;
    text-transform: none !important;
}

/* ── 16. Success state ─────────────────────────────────────────── */

.bma-rrf-wrap .bma-rrf-success-state {
    display:        none;
    flex-direction: column !important;
    align-items:    center !important;
    text-align:     center !important;
    padding:        52px 32px !important;
    background:     var(--tt-white, #ffffff) !important;
}

.bma-rrf-wrap .bma-rrf-success-state svg {
    color: var(--tt-accent, #f39323) !important;
}

.bma-rrf-wrap .bma-rrf-success-state h3 {
    font-family:    var(--tt-font-body, 'Inter', sans-serif) !important;
    font-size:      1.3rem !important;
    font-weight:    700 !important;
    color:          var(--tt-primary, #2d2d2d) !important;
    letter-spacing: 0 !important;
    text-transform: none !important;
    margin-top:     16px !important;
    border-bottom:  none !important;
    padding-bottom: 0 !important;
}

.bma-rrf-wrap .bma-rrf-success-state p {
    font-family: var(--tt-font-body, 'Inter', sans-serif) !important;
    font-size:   0.9rem !important;
    color:       var(--tt-gray-500, #6c757d) !important;
    max-width:   460px !important;
    margin-top:  10px !important;
    line-height: 1.65 !important;
}

/* ── 17. WooCommerce notices (font sync only) ──────────────────── */

.bma-rrf-wrap .woocommerce-error,
.bma-rrf-wrap .woocommerce-info,
.bma-rrf-wrap .woocommerce-message {
    font-family: var(--tt-font-body, 'Inter', sans-serif) !important;
    font-size:   0.88rem !important;
}

/* ── 18. Responsive ────────────────────────────────────────────── */

@media (max-width: 640px) {
    .bma-rrf-wrap {
        padding:       24px 16px !important;
        border-radius: var(--tt-radius-md, 8px) !important;
    }

    .bma-rrf-frow {
        grid-template-columns: 1fr !important;
    }

    .bma-rrf-wrap .bma-rrf-tab-nav {
        grid-template-columns: 1fr !important;
    }

    .bma-rrf-section-banner {
        padding: 16px !important;
        gap:     12px !important;
    }
}
