#aecs_refund_form_reason {
    resize: vertical;
}

/* ============================================================
   AECS Refund — customer UI (buttons + request form)

   Inherits the product-page design tokens so it matches the rest
   of the storefront out of the box, with optional refund-only
   overrides layered on top (Elementor → AECS styles → AECS Refunds):
     --aecs-refund-accent      → falls back to --aecs-btn-atc-bg
     --aecs-refund-accent-text → falls back to --aecs-btn-atc-color
     --aecs-refund-radius      → falls back to --aecs-card-radius (12px)
     card borders              → --aecs-card-border
   ============================================================ */
.aecs_refund_form,
.aecs_refund_button_refund_container,
.aecs_refund_guest_lookup,
.aecs_refund_request_detail,
.aecs_refund_requests_table {
    --arf-accent:       var(--aecs-refund-accent, var(--aecs-btn-atc-bg, #1f2a37));
    --arf-accent-text:  var(--aecs-refund-accent-text, var(--aecs-btn-atc-color, #fff));
    --arf-radius:       var(--aecs-refund-radius, var(--aecs-card-radius, 12px));
    --arf-border:       var(--aecs-card-border, #e5e7eb);
    --arf-muted:        #6b7280;
}

/* --- Two order-level action buttons (Return / Complaint) --- */
.aecs_refund_button_refund_container.aecs_refund_whole_order {
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
    margin: 14px 0;
}
.aecs_refund_button_refund {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    margin: 0;
    min-height: 46px;
    padding: 0 22px;
    border: 1.5px solid var(--arf-accent);
    border-radius: var(--arf-radius);
    font-weight: 600;
    font-size: 15px;
    line-height: 1;
    text-decoration: none;
    cursor: pointer;
    transition: background-color .18s ease, color .18s ease, box-shadow .18s ease, transform .06s ease;
}
.aecs_refund_button_refund::before { font-size: 1.1em; line-height: 1; }
.aecs_refund_button_withdrawal {
    background: var(--arf-accent);
    color: var(--arf-accent-text);
}
.aecs_refund_button_withdrawal::before { content: "\21A9"; }     /* ↩ return */
.aecs_refund_button_complaint {
    background: transparent;
    color: var(--arf-accent);
}
.aecs_refund_button_complaint::before { content: "\26A0"; }      /* ⚠ warranty */
.aecs_refund_button_refund:not([disabled]):hover {
    box-shadow: 0 6px 18px rgba(17, 24, 39, .14);
    transform: translateY(-1px);
}
.aecs_refund_button_complaint:not([disabled]):hover {
    background: var(--arf-accent);
    color: var(--arf-accent-text);
}
.aecs_refund_button_refund:active { transform: translateY(0); }
.aecs_refund_button_refund[disabled] {
    opacity: .45;
    cursor: not-allowed;
    box-shadow: none;
    transform: none;
}

/* --- Modal (replaces prettyPhoto; styled like the product-page lightbox) --- */
html.aecs-refund-modal-open { overflow: hidden; }
.aecs-refund-modal {
    position: fixed;
    inset: 0;
    z-index: 100000;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 20px;
}
.aecs-refund-modal[hidden] { display: none; }
.aecs-refund-modal__overlay {
    position: absolute;
    inset: 0;
    background: rgba(17, 24, 39, .55);
    animation: aecs-refund-fade .15s ease-out;
}
.aecs-refund-modal__panel {
    position: relative;
    z-index: 1;
    width: min(620px, 100%);
    max-height: 90vh;
    overflow-y: auto;
    padding: 30px 30px 26px;
    background: #fff;
    border-radius: 16px;
    box-shadow: 0 20px 60px rgba(0, 0, 0, .3);
    animation: aecs-refund-pop .18s ease-out;
}
.aecs-refund-modal__close {
    position: absolute;
    top: 14px;
    right: 14px;
    width: 40px;
    height: 40px;
    border: 0;
    border-radius: 999px;
    background: #f1f2f4;
    color: #333;
    font-size: 22px;
    line-height: 1;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    transition: background-color .15s ease;
}
.aecs-refund-modal__close:hover { background: #e2e4e8; }
.aecs-refund-modal__loading { padding: 48px 0; text-align: center; color: #6b7280; }
@keyframes aecs-refund-fade { from { opacity: 0; } to { opacity: 1; } }
@keyframes aecs-refund-pop { from { opacity: 0; transform: translateY(8px) scale(.98); } to { opacity: 1; transform: none; } }

/* Submission confirmation shown inside the modal. */
.aecs-refund-modal__success { padding: 28px 8px 12px; text-align: center; }
.aecs-refund-modal__success-icon {
    width: 56px;
    height: 56px;
    margin: 0 auto 14px;
    border-radius: 999px;
    background: #e7f6ec;
    color: #0a6b2e;
    font-size: 30px;
    line-height: 56px;
}
.aecs-refund-modal__success p { margin: 0; font-size: 16px; color: #1f2937; }
.aecs-refund-modal__code {
    margin: 18px auto 0;
    max-width: 320px;
    padding: 14px 16px;
    border: 1px dashed var(--arf-accent, #1f2a37);
    border-radius: var(--arf-radius, 12px);
    background: color-mix(in srgb, var(--arf-accent, #1f2a37) 5%, #fff);
}
.aecs-refund-modal__code-label {
    display: block;
    font-size: 12px;
    text-transform: uppercase;
    letter-spacing: .04em;
    color: #6b7280;
}
.aecs-refund-modal__code-value {
    display: block;
    margin-top: 4px;
    font-size: 22px;
    font-weight: 700;
    letter-spacing: .04em;
}
/* Return code box on the My-account request page. */
.aecs_refund_return_box {
    margin: 16px 0;
    padding: 16px;
    border: 1px solid #e3e6ea;
    border-radius: 12px;
    background: #fafbfc;
}
.aecs_refund_return_box_head {
    font-size: 12px;
    text-transform: uppercase;
    letter-spacing: .03em;
    color: #6b7280;
}
.aecs_refund_return_box_code {
    font-size: 22px;
    font-weight: 700;
    letter-spacing: .04em;
    margin: 4px 0 8px;
}
.aecs_refund_return_box_text { font-size: 13px; color: #555; }
.aecs_refund_return_box_label { margin-top: 10px; }

/* --- Guest order lookup (shortcode / Elementor widget) --- */
.aecs_refund_guest_lookup { max-width: 480px; }
.aecs_refund_guest_form {
    padding: 22px 22px 20px;
    border: 1px solid var(--arf-border, #e5e7eb);
    border-radius: var(--arf-radius, 12px);
    background: #fff;
}
.aecs_refund_guest_title { margin: 0 0 16px; font-size: 1.15em; font-weight: 600; }
.aecs_refund_guest_form .aecs_refund_field { margin: 0 0 14px; }
.aecs_refund_guest_form .aecs_refund_field label { display: block; font-weight: 600; font-size: 14px; margin-bottom: 6px; }
.aecs_refund_guest_form .aecs_refund_field input {
    width: 100%;
    padding: 11px 14px;
    border: 1px solid var(--arf-border, #e5e7eb);
    border-radius: var(--arf-radius, 12px);
    font: inherit;
    background: #fff;
}
.aecs_refund_guest_form .aecs_refund_field input:focus {
    outline: none;
    border-color: var(--arf-accent, #1f2a37);
    box-shadow: 0 0 0 3px color-mix(in srgb, var(--arf-accent, #1f2a37) 18%, transparent);
}
.aecs_refund_guest_submit {
    min-height: 46px;
    padding: 0 22px;
    border: 0;
    border-radius: var(--arf-radius, 12px);
    background: var(--arf-accent, #1f2a37);
    color: var(--arf-accent-text, #fff);
    font-weight: 600;
    cursor: pointer;
    transition: filter .15s ease;
}
.aecs_refund_guest_submit:hover { filter: brightness(1.08); }
.aecs_refund_guest_submit[disabled] { opacity: .6; cursor: default; }
.aecs_refund_guest_results { margin-top: 18px; }
.aecs_refund_guest_order {
    padding: 18px;
    border: 1px solid var(--arf-border, #e5e7eb);
    border-radius: var(--arf-radius, 12px);
    background: #fff;
}
.aecs_refund_guest_order_head {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 10px;
    margin-bottom: 14px;
    font-weight: 600;
}
.aecs_refund_guest_order_date { font-weight: 400; font-size: .85em; color: #6b7280; }
.aecs_refund_guest_note { margin: 0; color: #4b5563; }

/* --- The request form (rendered inside the modal panel) --- */
.aecs_refund_form {
    box-sizing: border-box;
    width: 100%;
    max-width: 100%;
    font-size: 15px;
    line-height: 1.5;
    color: #1f2937;
}
.aecs_refund_form *,
.aecs_refund_form *::before,
.aecs_refund_form *::after { box-sizing: border-box; }
.aecs_refund_order_title {
    margin: 0 0 8px;
    /* Clear the absolutely-positioned close button (40px @ right:14px) on both
       sides so a long centred title can't run underneath it. */
    padding: 0 44px;
    font-size: clamp(20px, 2.2vw, 26px);
    font-weight: 600;
    line-height: 1.25;
    text-align: center;
}
.aecs_refund_deadline_note {
    margin: 0 0 22px;
    text-align: center;
    font-size: .9em;
    color: #6b7280;
}
/* Deadline caption under the Return/Complaint buttons (account + guest). */
.aecs_refund_deadline_hints {
    margin: 8px 0 0;
    font-size: .85em;
    line-height: 1.6;
    color: #6b7280;
}
.aecs_refund_deadline_ended { color: #9aa0a6; }
.aecs_refund_deadline_ended::before { content: "\2014\00a0"; } /* em dash */
.aecs_refund_form .aecs_refund_block { margin: 0 0 20px; }
.aecs_refund_field_label {
    display: block;
    font-weight: 600;
    font-size: 14px;
    margin-bottom: 10px;
}
.aecs_refund_form textarea,
.aecs_refund_form select {
    width: 100%;
    padding: 11px 14px;
    border: 1px solid var(--arf-border);
    border-radius: var(--arf-radius);
    font: inherit;
    color: inherit;
    background: #fff;
    transition: border-color .15s ease, box-shadow .15s ease;
}
.aecs_refund_form textarea:focus,
.aecs_refund_form select:focus {
    outline: none;
    border-color: var(--arf-accent);
    box-shadow: 0 0 0 3px color-mix(in srgb, var(--arf-accent) 18%, transparent);
}
.aecs_refund_form input[type="file"] {
    width: 100%;
    padding: 11px 14px;
    border: 1px dashed var(--arf-border);
    border-radius: var(--arf-radius);
    background: #fafbfc;
}

/* --- Interactive item picker --- */
ul.aecs_refund_items_list {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 10px;
}
.aecs_refund_item_card {
    display: flex;
    align-items: center;
    gap: 14px;
    margin: 0;
    padding: 12px 14px;
    border: 1px solid var(--arf-border);
    border-radius: var(--arf-radius);
    background: #fff;
    transition: border-color .15s ease, box-shadow .15s ease, background-color .15s ease;
}
.aecs_refund_item_card:not(.is-disabled):hover { box-shadow: 0 4px 14px rgba(17, 24, 39, .08); }
.aecs_refund_item_card.is-selected {
    border-color: var(--arf-accent);
    box-shadow: inset 0 0 0 1px var(--arf-accent);
    background: color-mix(in srgb, var(--arf-accent) 5%, #fff);
}
.aecs_refund_item_card.is-disabled { opacity: .5; }
.aecs_refund_item_main {
    display: flex;
    align-items: center;
    gap: 14px;
    flex: 1 1 auto;
    min-width: 0;
    margin: 0;
    cursor: pointer;
}
.aecs_refund_item_card.is-disabled .aecs_refund_item_main { cursor: not-allowed; }
.aecs_refund_item_cb {
    position: absolute;
    opacity: 0;
    width: 0;
    height: 0;
}
.aecs_refund_item_check {
    flex: 0 0 auto;
    width: 22px;
    height: 22px;
    border: 2px solid #cbd2d9;
    border-radius: 7px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    transition: background-color .15s ease, border-color .15s ease;
}
.aecs_refund_item_card.is-selected .aecs_refund_item_check {
    background: var(--arf-accent);
    border-color: var(--arf-accent);
}
.aecs_refund_item_check::after {
    content: "";
    width: 6px;
    height: 11px;
    margin-top: -2px;
    border: solid var(--arf-accent-text);
    border-width: 0 2px 2px 0;
    transform: rotate(45deg) scale(0);
    transition: transform .15s ease;
}
.aecs_refund_item_card.is-selected .aecs_refund_item_check::after { transform: rotate(45deg) scale(1); }
.aecs_refund_item_thumb { flex: 0 0 auto; }
.aecs_refund_item_thumb img {
    display: block;
    width: 56px;
    height: 56px;
    object-fit: cover;
    border-radius: 10px;
}
.aecs_refund_item_info {
    display: flex;
    flex-direction: column;
    gap: 3px;
    min-width: 0;
}
.aecs_refund_item_name { font-weight: 600; }
.aecs_refund_item_price { font-size: .85em; color: var(--arf-muted); }
.aecs_refund_item_badge {
    display: inline-block;
    width: max-content;
    margin-top: 4px;
    padding: 2px 8px;
    border-radius: 999px;
    background: #f1f2f4;
    color: var(--arf-muted);
    font-size: .7em;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: .03em;
}

/* --- Quantity stepper --- */
.aecs_refund_qty_stepper {
    flex: 0 0 auto;
    display: inline-flex;
    align-items: center;
    border: 1px solid var(--arf-border);
    border-radius: var(--arf-radius);
    overflow: hidden;
}
.aecs_refund_qty_btn {
    width: 34px;
    height: 38px;
    border: 0;
    background: #f7f8fa;
    color: #333;
    font-size: 17px;
    line-height: 1;
    cursor: pointer;
    transition: background-color .15s ease;
}
.aecs_refund_qty_btn:hover { background: #eceef1; }
.aecs_refund_item_qty {
    width: 44px;
    height: 38px;
    text-align: center;
    border: 0;
    border-left: 1px solid var(--arf-border);
    border-right: 1px solid var(--arf-border);
    font: inherit;
    background: #fff;
    -moz-appearance: textfield;
    appearance: textfield;
}
.aecs_refund_item_qty::-webkit-outer-spin-button,
.aecs_refund_item_qty::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }

/* --- Preferred refund method (pill radios) --- */
.aecs_refund_radio_group {
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
}
.aecs_refund_radio {
    flex: 1 1 0;
    min-width: 175px;
    min-height: 46px;
    display: flex;
    align-items: center;
    gap: 10px;
    margin: 0;
    padding: 12px 16px;
    border: 1px solid var(--arf-border);
    border-radius: var(--arf-radius);
    cursor: pointer;
    transition: border-color .15s ease, background-color .15s ease;
}
.aecs_refund_radio input { position: absolute; opacity: 0; }
.aecs_refund_radio_mark {
    flex: 0 0 auto;
    width: 18px;
    height: 18px;
    border: 2px solid #cbd2d9;
    border-radius: 50%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    transition: border-color .15s ease;
}
.aecs_refund_radio_mark::after {
    content: "";
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: var(--arf-accent);
    transform: scale(0);
    transition: transform .15s ease;
}
.aecs_refund_radio input:checked ~ .aecs_refund_radio_mark { border-color: var(--arf-accent); }
.aecs_refund_radio input:checked ~ .aecs_refund_radio_mark::after { transform: scale(1); }
.aecs_refund_radio:has(input:checked) {
    border-color: var(--arf-accent);
    background: color-mix(in srgb, var(--arf-accent) 5%, #fff);
}

/* --- Legal notice + agreement --- */
.aecs_refund_legal_notice {
    margin: 0 0 20px;
    padding: 14px 16px;
    border-left: 3px solid var(--arf-accent);
    border-radius: 0 var(--arf-radius) var(--arf-radius) 0;
    background: color-mix(in srgb, var(--arf-accent) 4%, #f8f9fb);
    font-size: .9em;
    color: #4b5563;
}
.aecs_refund_legal_notice p { margin: 0 0 .5em; }
.aecs_refund_legal_notice p:last-child { margin-bottom: 0; }
.aecs_refund_agreement_label {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    margin: 0;
    line-height: 1.4;
    font-size: .92em;
    cursor: pointer;
}
.aecs_refund_agreement_label input[type="checkbox"] {
    margin-top: 2px;
    flex: 0 0 auto;
    width: 18px;
    height: 18px;
    accent-color: var(--arf-accent);
}
.aecs_refund_required_star { color: #d63638; }

/* --- Inline alerts + submit --- */
.aecs_refund_form .aecs_refund_alert {
    padding: 11px 14px;
    border-radius: var(--arf-radius);
    font-size: .9em;
}
.aecs_refund_form .aecs_refund_error_alert { background: #fde8e8; color: #b32d2e; }
.aecs_refund_close_alert { float: right; cursor: pointer; font-weight: 700; }
.aecs_refund_submit_block { margin-top: 24px; margin-bottom: 0; }
#aecs_refund_submit_button {
    width: 100%;
    min-height: 50px;
    padding: 0 22px;
    border: 0;
    border-radius: var(--arf-radius);
    background: var(--arf-accent);
    color: var(--arf-accent-text);
    font-weight: 600;
    font-size: 16px;
    cursor: pointer;
    transition: filter .15s ease, box-shadow .15s ease;
}
#aecs_refund_submit_button:hover { filter: brightness(1.08); box-shadow: 0 6px 18px rgba(17, 24, 39, .18); }

/* --- Request detail (My account): requested items + accepted consent --- */
.aecs_refund_requested_items { margin: 16px 0; }
.aecs_refund_requested_items ul { margin: 6px 0 0; padding-left: 18px; }
.aecs_refund_agreed_note {
    margin: 10px 0;
    padding: 10px 14px;
    border-left: 3px solid #1a7f37;
    border-radius: 0 var(--aecs-card-radius, 12px) var(--aecs-card-radius, 12px) 0;
    background: #f1f8f3;
    font-size: 0.9em;
    color: #1a7f37;
}

tr.order_item td.product-name .aecs_refund_button_refund {
    font-size: 0.7em;
}

.aecs_refund_block {
    margin: 30px 0;
}

.aecs_refund_hide {
    display: none;
}

.aecs_refund_bold {
    font-weight: bold;
}

label.aecs_refund_label_for_radio {
    display: inline-block;
}

table.aecs_refund_refund_info {
    border: 0;
}

table.aecs_refund_refund_info tbody, table.aecs_refund_refund_info tr, table.aecs_refund_refund_info td {
    border: 1px solid darkgrey;
    padding: 22px;
    font-size: 11pt;
}

td.aecs_refund_refund_info_minor_cell {
    width: 27%;
    text-align: center;
}

.aecs_refund_reduced_text_size {
    font-size: 9pt;
}

span.aecs_refund_current_status {
    float: right;
    padding: 8px 12px;
    border-radius: 5px;
}

span.aecs_refund_current_status.aecs_refund-approved, span.aecs_refund_current_status.aecs_refund-coupon {
    background-color: #c6ffb0;
}

span.aecs_refund_current_status.aecs_refund-rejected {
    background-color: #ff967a;
}

span.aecs_refund_current_status.aecs_refund-new {
    background-color: #feffb0;
}

span.aecs_refund_current_status.aecs_refund-processing {
    background-color: #c1e8fc;
}

span.aecs_refund_current_status.aecs_refund-on-hold {
    background-color: #dadada;
}

.aecs_refund_refund_info_items {
    margin-top: 30px;
}

span.aecs_refund_update_messages {
    float: right;
    font-family: Lucida Sans Unicode;
    cursor: pointer;
}

.aecs_refund_refund_info_item_row {
    margin-bottom: 5px;
}

.aecs_refund_refund_info_item_total, .aecs_refund_refund_info_order_total {
    float: right;
}

.aecs_refund_refund_info_order_total {
    margin-top: 8px;
}

.aecs_refund_refund_info_add_mesage, .aecs_refund_refund_info_messages_history {
    margin-top: 40px;
}

.theme-aecs-proteo .aecs_refund_refund_info_add_mesage, .theme-aecs-proteo .aecs_refund_refund_info_messages_history, .theme-aecs-proteo .aecs_refund_alert {
    margin-top: 100px;
}

.aecs_refund_refund_info_order_button {
    margin-top: 10px;
}

.aecs_refund_coupon_box {
    border: #dcdada solid 1px;
    padding: 30px;
    text-align: center;
    margin: 10px auto;
}

.aecs_refund_coupon {
    font-size: 24px;
    color: grey;
    word-break: break-all;
}

.aecs_refund_coupon_description {
    font-size: 12px;
    margin-top: 10px;
}

/* Remove white borders in Twenty Seventeen theme */
 .entry-content .aecs_refund_refund_info_message_box .aecs_refund_attachments .aecs_refund_single_attachment a img {
     -webkit-box-shadow: 0 0 0 0 rgba(255, 255, 255, 0);
     box-shadow: 0 0 0 0 rgba(255, 255, 255, 0);
 }

.entry-content .aecs_refund_refund_info_message_box .aecs_refund_attachments .aecs_refund_single_attachment a {
    box-shadow: 0 0;
}

/* ============================================================
   Customer request DETAIL — card layout matching the form.
   Scoped to .aecs_refund_request_detail; overrides the legacy
   bordered-table look.
   ============================================================ */
.aecs_refund_request_detail {
    max-width: 760px;
    color: #1f2937;
    font-size: 15px;
}
.aecs_refund_request_detail * { box-sizing: border-box; }

/* Summary "table" → clean card with stacked key/value rows. */
.aecs_refund_request_detail table.aecs_refund_refund_info {
    display: block;
    border: 1px solid var(--arf-border, #e5e7eb);
    border-radius: var(--arf-radius, 12px);
    background: #fff;
    padding: 6px 20px;
    margin: 0 0 16px;
}
.aecs_refund_request_detail .aecs_refund_refund_info tbody { display: block; }
.aecs_refund_request_detail .aecs_refund_refund_info tr {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
    gap: 6px 28px;
    padding: 14px 0;
    border: 0;
    border-bottom: 1px solid #f0f1f3;
}
.aecs_refund_request_detail .aecs_refund_refund_info tr:last-child { border-bottom: 0; }
.aecs_refund_request_detail .aecs_refund_refund_info td {
    display: block;
    flex: 1 1 200px;
    border: 0;
    padding: 0;
    width: auto;
    font-size: 15px;
}
.aecs_refund_request_detail td.aecs_refund_refund_info_minor_cell { text-align: left; width: auto; }
.aecs_refund_request_detail .aecs_refund_reduced_text_size { font-size: 12px; color: #6b7280; }
.aecs_refund_request_detail .aecs_refund_bold { font-weight: 600; }

/* Status → rounded pill (keeps the per-status colour). */
.aecs_refund_request_detail .aecs_refund_current_status {
    float: none;
    display: inline-flex;
    align-items: baseline;
    gap: 6px;
    padding: 5px 12px;
    border-radius: 999px;
    font-size: 13px;
    margin-bottom: 4px;
}

/* Sub-cards — items / preferred method (reuse the requested-items class). */
.aecs_refund_request_detail .aecs_refund_requested_items {
    margin: 0 0 14px;
    padding: 14px 16px;
    border: 1px solid var(--arf-border, #e5e7eb);
    border-radius: var(--arf-radius, 12px);
    background: #fafbfc;
}
.aecs_refund_request_detail .aecs_refund_requested_items ul { margin: 8px 0 0; padding-left: 18px; }
.aecs_refund_request_detail .aecs_refund_legal_notice {
    margin: 0 0 14px;
    padding: 14px 16px;
    border-left: 3px solid var(--arf-accent, #1f2a37);
    border-radius: 0 var(--arf-radius, 12px) var(--arf-radius, 12px) 0;
    background: #f7f8fa;
    font-size: .9em;
    color: #4b5563;
}

/* Message thread → chat bubbles. */
.aecs_refund_request_detail .aecs_refund_refund_info_messages_history { margin-top: 26px; }
.aecs_refund_request_detail .aecs_refund_line_separator { border-top: 1px solid #eef0f2; margin-bottom: 14px; }
.aecs_refund_request_detail .aecs_refund_refund_info_block_title { font-weight: 600; font-size: 15px; margin-bottom: 12px; }
.aecs_refund_request_detail .aecs_refund_messages_history_frame {
    padding: 0;
    border: 0;
    max-height: 460px;
    overflow-y: auto;
}
.aecs_refund_request_detail .message-list { display: flex; flex-direction: column; gap: 12px; }
.aecs_refund_request_detail .aecs_refund_refund_info_message_box {
    max-width: 80%;
    margin: 0;
    padding: 10px 14px;
    border: 1px solid var(--arf-border, #e5e7eb);
    border-radius: 14px;
    background: #fff;
}
.aecs_refund_request_detail .aecs_refund_message_shop_manager {
    align-self: flex-start;
    background: #f6f7f9;
    border-bottom-left-radius: 4px;
}
.aecs_refund_request_detail .aecs_refund_message_customer {
    align-self: flex-end;
    background: color-mix(in srgb, var(--arf-accent, #1f2a37) 8%, #fff);
    border-color: color-mix(in srgb, var(--arf-accent, #1f2a37) 22%, #e5e7eb);
    border-bottom-right-radius: 4px;
}
.aecs_refund_request_detail .aecs_refund_refund_info_message_author { font-weight: 600; font-size: 12px; }
.aecs_refund_request_detail .aecs_refund_refund_info_message_date { font-size: 11px; color: #9aa0a6; }
.aecs_refund_request_detail .aecs_refund_refund_info_message_body { margin-top: 4px; line-height: 1.5; }
.aecs_refund_request_detail .aecs_refund_update_messages { color: var(--arf-accent, #1f2a37); }

/* Add-message form. */
.aecs_refund_request_detail .aecs_refund_refund_info_add_mesage { margin-top: 22px; }
.aecs_refund_request_detail #aecs_refund_new_message {
    width: 100%;
    padding: 11px 14px;
    border: 1px solid var(--arf-border, #e5e7eb);
    border-radius: var(--arf-radius, 12px);
    font: inherit;
}
.aecs_refund_request_detail #aecs_refund_new_message:focus {
    outline: none;
    border-color: var(--arf-accent, #1f2a37);
    box-shadow: 0 0 0 3px color-mix(in srgb, var(--arf-accent, #1f2a37) 16%, transparent);
}
.aecs_refund_request_detail #aecs_refund_send_message {
    min-height: 44px;
    padding: 0 22px;
    border: 0;
    border-radius: var(--arf-radius, 12px);
    background: var(--arf-accent, #1f2a37);
    color: var(--arf-accent-text, #fff);
    font-weight: 600;
    cursor: pointer;
}
.aecs_refund_request_detail #aecs_refund_send_message:hover { filter: brightness(1.08); }
.aecs_refund_request_detail .aecs_refund_message_attachments_uploader { margin-top: 10px; }

/* ============================================================
   Customer requests LIST (My account) — align the status pill +
   keep the native account-table tidy.
   ============================================================ */
table.aecs_refund_requests_table .aecs-refund-badge { vertical-align: middle; }
table.aecs_refund_requests_table td.action .button {
    background: var(--arf-accent, #1f2a37);
    color: var(--arf-accent-text, #fff);
    border: 0;
    border-radius: var(--arf-radius, 12px);
    font-weight: 600;
}
table.aecs_refund_requests_table td.action .button:hover { filter: brightness(1.08); }
