/*
Theme Name: Hello Elementor Child
Theme URI: https://github.com/elementor/hello-theme-child/
Description: Hello Elementor Child is a child theme of Hello Elementor, created by Elementor team
Author: Elementor Team
Author URI: https://elementor.com/
Template: hello-elementor
Version: 2.0.0
Text Domain: hello-elementor-child
License: GNU General Public License v3 or later.
License URI: https://www.gnu.org/licenses/gpl-3.0.html
Tags: flexible-header, custom-colors, custom-menu, custom-logo, editor-style, featured-images, rtl-language-support, threaded-comments, translation-ready
*/

/* ============================================================
   SELECTVIP - Design System
   ============================================================ */

/* ------------------------------------------------------------
   0. DESIGN TOKENS & GLOBAL OVERRIDES
   ------------------------------------------------------------ */

:root {
    /* ── Color ── */
    --red-passion: #C41E3A;
    --red-deep: #8B0000;
    --red-glow: #E8344E;
    --black: #080808;
    --dark-card: #0F0F0F;
    --text-muted: #555;
    --text-dim: #333;
    --white: #F0EBE6;
    --white-pure: #FFFFFF;

    /* ── Typography ── */
    --font-display: 'Outfit', sans-serif;
    --font-accent: 'Cormorant Garamond', serif;

    /* ── Borders (red subtle) ── */
    --border-subtle: rgba(196, 30, 58, 0.06);
    --border-light: rgba(196, 30, 58, 0.12);
    --border-medium: rgba(196, 30, 58, 0.2);

    /* ── Elementor overrides ── */
    --e-global-color-primary: #C41E3A;
    --e-global-color-secondary: #8B0000;
    --e-global-color-text: #F0EBE6;
    --e-global-color-accent: #E8344E;
}

/* Hide default header, footer, copyright globally */
.site-header,
header.site-header,
#site-header,
.elementor-location-header,
.site-footer,
footer.site-footer,
.copyright {
    display: none !important;
}

/* Base background & typography */
html,
body,
body.elementor-default,
body.elementor-page {
    background-color: var(--black) !important;
}

body,
.elementor-widget-text-editor,
.elementor-widget-theme-post-content {
    font-family: var(--font-display);
    font-weight: 300;
    color: var(--white);
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

/* Headings */
h1, h2, h3, h4, h5, h6,
.elementor-heading-title {
    font-family: var(--font-display);
    font-weight: 300;
}

/* Accent/italic labels */
.selectvip-accent,
.font-accent {
    font-family: var(--font-accent);
    font-style: italic;
    font-weight: 300;
}

/* ============================================================
   SELECTVIP - Custom Styles
   ============================================================ */

/* ------------------------------------------------------------
   0. OCULTAR TÍTULOS DE PÁGINA (Elementor / WP)
   "Inicio", "Mi Cuenta", etc. que rompen la experiencia
   ------------------------------------------------------------ */
.page .entry-title,
.page .page-title,
.home .entry-title,
.home .page-title,
.elementor-page .entry-title,
.elementor-page .page-title,
body:not(.single-rtcl_listing) h1.entry-title,
body:not(.single-rtcl_listing) h1.page-title,
body:not(.single-rtcl_listing) .elementor-widget-theme-post-title,
.hfe-page-title,
.page-header .entry-title {
    display: none !important;
}

/* ------------------------------------------------------------
   1. CAJA DE COMENTARIOS - Single Listing
   ------------------------------------------------------------ */
#comments,
.rtcl-single-listing #comments,
.rtcl #comments {
    background: var(--dark-card);
    border-radius: 16px;
    padding: 30px;
    margin: 40px 0;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.3);
    border: 1px solid var(--border-light);
}

#comments .comment-reply-title,
#respond .comment-reply-title {
    font-size: 24px;
    font-weight: 700;
    color: var(--white);
    margin-bottom: 20px;
    padding-bottom: 15px;
    border-bottom: 2px solid var(--red-passion);
    display: inline-block;
}

#comments .logged-in-as,
#respond .logged-in-as {
    background: var(--border-subtle);
    padding: 12px 16px;
    border-radius: 8px;
    font-size: 14px;
    color: var(--text-muted);
    margin-bottom: 20px;
}

#comments .logged-in-as a {
    color: var(--red-passion);
    font-weight: 600;
    text-decoration: none;
    transition: color 0.2s ease;
}

#comments .logged-in-as a:hover {
    color: var(--red-glow);
    text-decoration: underline;
}

#comments label,
#respond label {
    font-weight: 600;
    color: var(--white);
    font-size: 14px;
    margin-bottom: 8px;
    display: block;
}

#comments textarea,
#respond textarea,
#comments input[type="text"],
#respond input[type="text"],
#comments input[type="email"],
#respond input[type="email"] {
    width: 100%;
    padding: 14px 16px;
    border: 2px solid var(--border-light);
    border-radius: 10px;
    font-size: 15px;
    transition: all 0.2s ease;
    background: rgba(15, 15, 15, 0.9);
    color: var(--white);
}

#comments textarea:focus,
#respond textarea:focus,
#comments input[type="text"]:focus,
#respond input[type="text"]:focus,
#comments input[type="email"]:focus,
#respond input[type="email"]:focus {
    border-color: var(--red-passion);
    outline: none;
    box-shadow: 0 0 0 3px rgba(196, 30, 58, 0.15);
    background: var(--black);
}

#comments textarea,
#respond textarea {
    min-height: 150px;
    resize: vertical;
}

#comments .form-submit,
#respond .form-submit {
    margin-top: 20px;
}

#comments .submit,
#respond .submit,
#comments input[type="submit"],
#respond input[type="submit"] {
    background: linear-gradient(135deg, var(--red-passion) 0%, var(--red-deep) 100%);
    color: var(--white-pure);
    border: none;
    padding: 14px 32px;
    font-size: 16px;
    font-weight: 600;
    border-radius: 10px;
    cursor: pointer;
    transition: all 0.3s ease;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

#comments .submit:hover,
#respond .submit:hover,
#comments input[type="submit"]:hover,
#respond input[type="submit"]:hover {
    background: linear-gradient(135deg, var(--red-glow) 0%, var(--red-passion) 100%);
    transform: translateY(-2px);
    box-shadow: 0 6px 20px rgba(196, 30, 58, 0.35);
}

/* Lista de comentarios */
.comment-list {
    list-style: none;
    padding: 0;
    margin: 0 0 30px 0;
}

.comment-list .comment {
    background: var(--border-subtle);
    border-radius: 12px;
    padding: 20px;
    margin-bottom: 16px;
    border-left: 4px solid var(--red-passion);
}

.comment-list .comment .comment-author {
    font-weight: 600;
    color: var(--white);
}

.comment-list .comment .comment-meta {
    font-size: 13px;
    color: var(--text-muted);
    margin-bottom: 10px;
}

.comment-list .comment p {
    color: var(--white);
    line-height: 1.7;
    margin: 0;
    opacity: 0.85;
}

/* ------------------------------------------------------------
   2. CHECKOUT ESTILOS
   ------------------------------------------------------------ */

/* Titulo de seccion de planes */
#rtcl-checkout-form-data::before {
    content: "Selecciona tu plan";
    display: block;
    font-size: 22px;
    font-weight: 700;
    color: var(--white);
    margin-bottom: 20px;
}

/* Contenedor de botones - flex row */
.selectvip-checkout-actions {
    display: flex !important;
    gap: 16px !important;
    align-items: center !important;
    flex-wrap: wrap !important;
}

/* Boton "Ir a Mi Cuenta" - estilo secundario */
.rtcl-checkout-form-wrap a.btn,
#rtcl-checkout-form a.btn,
#rtcl-checkout-form a.btn-secondary,
.btn-secondary {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-width: 180px !important;
    padding: 16px 28px !important;
    font-size: 15px !important;
    font-weight: 600 !important;
    border-radius: 12px !important;
    text-decoration: none !important;
    white-space: nowrap !important;
    background: var(--border-subtle) !important;
    color: var(--white) !important;
    border: 2px solid var(--border-medium) !important;
    transition: all 0.2s ease !important;
}

.rtcl-checkout-form-wrap a.btn:hover,
#rtcl-checkout-form a.btn:hover,
#rtcl-checkout-form a.btn-secondary:hover,
.btn-secondary:hover {
    background: var(--border-light) !important;
    border-color: var(--red-passion) !important;
    color: var(--white) !important;
}

/* Boton principal de pago */
#rtcl-checkout-form button.btn-primary,
#rtcl-checkout-form input.btn-primary,
#rtcl-checkout-form .rtcl-do-checkout,
#rtcl-checkout-form button[type="submit"] {
    flex: 1 1 auto !important;
    min-width: 220px !important;
    max-width: 400px !important;
    background: linear-gradient(135deg, var(--red-passion) 0%, var(--red-deep) 100%) !important;
    color: var(--white-pure) !important;
    border: none !important;
    padding: 16px 32px !important;
    font-size: 16px !important;
    font-weight: 700 !important;
    border-radius: 12px !important;
    cursor: pointer !important;
    transition: all 0.3s ease !important;
    text-transform: uppercase !important;
    letter-spacing: 0.5px !important;
}

#rtcl-checkout-form button.btn-primary:hover,
#rtcl-checkout-form input.btn-primary:hover,
#rtcl-checkout-form .rtcl-do-checkout:hover,
#rtcl-checkout-form button[type="submit"]:hover {
    background: linear-gradient(135deg, var(--red-glow) 0%, var(--red-passion) 100%) !important;
    transform: translateY(-2px) !important;
    box-shadow: 0 8px 24px rgba(196, 30, 58, 0.4) !important;
}

/* Estilos para la seccion de payment */
#rtcl-payment-methods {
    background: var(--dark-card);
    border-radius: 16px;
    padding: 24px;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.3);
    border: 1px solid var(--border-light);
}

#rtcl-payment-methods .pm-heading {
    font-size: 20px;
    font-weight: 700;
    color: var(--white);
    margin: 0 0 20px 0;
    padding-bottom: 16px;
    border-bottom: 2px solid var(--red-passion);
}

/* Lista de metodos de pago */
#rtcl-payment-methods .rtcl-list-group {
    list-style: none;
    padding: 0;
    margin: 0;
}

#rtcl-payment-methods .rtcl-list-group li {
    margin-bottom: 12px;
}

#rtcl-payment-methods .rtcl-list-group-item {
    background: var(--border-subtle);
    border: 2px solid var(--border-light);
    border-radius: 12px;
    padding: 16px;
    cursor: pointer;
    transition: all 0.2s ease;
    display: flex;
    align-items: center;
    gap: 12px;
}

#rtcl-payment-methods .rtcl-list-group-item:hover {
    border-color: var(--red-passion);
    background: rgba(196, 30, 58, 0.08);
}

#rtcl-payment-methods .rtcl-list-group-item.active,
#rtcl-payment-methods .rtcl-list-group-item:has(input:checked) {
    border-color: var(--red-passion);
    background: rgba(196, 30, 58, 0.12);
    box-shadow: 0 4px 12px rgba(196, 30, 58, 0.15);
}

#rtcl-payment-methods .rtcl-list-group-item input[type="radio"] {
    width: 20px;
    height: 20px;
    accent-color: var(--red-passion);
}

#rtcl-payment-methods .rtcl-list-group-item label {
    font-weight: 600;
    color: var(--white);
    cursor: pointer;
    flex: 1;
    margin: 0;
}

/* Badge de seguridad en payment */
.payment-security-badge {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    margin-top: 20px;
    padding: 16px;
    background: rgba(5, 150, 105, 0.1);
    border-radius: 12px;
    border: 1px solid rgba(5, 150, 105, 0.2);
}

.payment-security-badge svg {
    width: 24px;
    height: 24px;
    color: #34d399;
}

.payment-security-badge span {
    font-size: 14px;
    font-weight: 600;
    color: #34d399;
}

/* Resumen de pago */
.rtcl-checkout-overview-table {
    width: 100%;
    margin-top: 20px;
    border-collapse: collapse;
}

.rtcl-checkout-overview-table th,
.rtcl-checkout-overview-table td {
    padding: 12px 0;
    border-bottom: 1px solid var(--border-subtle);
    color: var(--white);
}

.rtcl-checkout-overview-table .order-total th,
.rtcl-checkout-overview-table .order-total td {
    font-size: 18px;
    font-weight: 700;
    color: var(--white);
    border-bottom: none;
    padding-top: 16px;
}

.rtcl-checkout-overview-table .price-amount {
    color: var(--red-passion);
    font-weight: 700;
}

/* Boton de submit del checkout */
#rtcl-checkout-form .rtcl-checkout-submit-btn,
#rtcl-checkout-form button[type="submit"],
#rtcl-checkout-form input[type="submit"] {
    width: 100%;
    background: linear-gradient(135deg, var(--red-passion) 0%, var(--red-deep) 100%);
    color: var(--white-pure);
    border: none;
    padding: 16px 24px;
    font-size: 16px;
    font-weight: 700;
    border-radius: 12px;
    cursor: pointer;
    transition: all 0.3s ease;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    margin-top: 20px;
}

#rtcl-checkout-form .rtcl-checkout-submit-btn:hover,
#rtcl-checkout-form button[type="submit"]:hover,
#rtcl-checkout-form input[type="submit"]:hover {
    background: linear-gradient(135deg, var(--red-glow) 0%, var(--red-passion) 100%);
    transform: translateY(-2px);
    box-shadow: 0 8px 24px rgba(196, 30, 58, 0.4);
}

/* ------------------------------------------------------------
   3. ESTILOS ADICIONALES CHECKOUT
   ------------------------------------------------------------ */
.rtcl-checkout-form-wrap > p {
    margin-bottom: 20px;
    color: var(--text-muted);
    font-size: 14px;
}

/* ------------------------------------------------------------
   4. RESPONSIVE
   ------------------------------------------------------------ */
@media (max-width: 768px) {
    #comments,
    .rtcl-single-listing #comments {
        padding: 20px;
        margin: 20px 0;
    }

    #comments .comment-reply-title,
    #respond .comment-reply-title {
        font-size: 20px;
    }

    .rtcl-checkout-form-wrap {
        padding: 0 !important;
    }

    #rtcl-payment-methods {
        padding: 16px;
    }

    #rtcl-checkout-form-data::before {
        font-size: 18px;
    }
}

/* ============================================================
   BOTTOM TAB BAR - Mobile App Navigation
   ============================================================ */
.selectvip-tab-bar {
    display: none;
}

/* Hide Elementor default header globally (our app has its own header) */
body:has(#me-app) .site-header,
body:has(#me-app) #site-header,
body:has(#me-app) .elementor-location-header,
body:has(#me-app) header.site-header,
body:has(#me-app) .ehf-header,
body:has(#me-app) #masthead {
    display: none !important;
}

@media (max-width: 767px) {
    body {
        padding-bottom: 64px !important;
    }

    .selectvip-tab-bar {
        display: flex;
        position: fixed;
        bottom: 0;
        left: 0;
        right: 0;
        z-index: 9999;
        background: rgba(55, 55, 55, 0.35);
        box-shadow: 0 4px 30px rgba(0, 0, 0, 0.1);
        backdrop-filter: blur(12.6px);
        -webkit-backdrop-filter: blur(12.6px);
        border-top: 1px solid rgba(55, 55, 55, 0.3);
        padding: 6px 0 env(safe-area-inset-bottom, 8px);
        justify-content: space-around;
        align-items: center;
        -webkit-transform: translate3d(0, 0, 0);
        transform: translate3d(0, 0, 0);
        will-change: transform;
    }

    /* Redundant mobile-only hide for browsers without :has() support */
    .site-header,
    #site-header,
    .elementor-location-header {
        display: none !important;
    }

    .selectvip-tab {
        display: flex;
        flex-direction: column;
        align-items: center;
        gap: 2px;
        padding: 6px 12px;
        color: var(--white);
        text-decoration: none;
        font-size: 10px;
        font-family: var(--font-display);
        font-weight: 400;
        transition: color 0.2s;
        -webkit-tap-highlight-color: transparent;
    }

    .selectvip-tab svg {
        width: 22px;
        height: 22px;
    }

    .selectvip-tab.active {
        color: var(--red-passion);
    }

    .selectvip-tab-publish {
        position: relative;
    }

    .selectvip-tab-publish svg {
        background: linear-gradient(135deg, var(--red-passion), var(--red-deep));
        border-radius: 50%;
        padding: 4px;
        width: 28px;
        height: 28px;
        color: var(--white);
    }
}

/* ============================================================
   AUTH FORMS - Login, Register, Password Reset
   Dark theme matching MundoErotic design system
   ============================================================ */

/* ── Page-level container ── */
#rtcl-user-login-wrapper,
#rtcl-user-registration-wrapper {
    width: 100%;
    max-width: 460px;
}

/* ── Section headings ── */
#rtcl-user-login-wrapper h2,
#rtcl-user-registration-wrapper h2,
.rtcl-login-form-wrap h2,
.rtcl-registration-form-wrap h2 {
    font-family: var(--font-display) !important;
    font-weight: 300 !important;
    font-size: 28px !important;
    color: var(--white) !important;
    text-align: center !important;
    margin-bottom: 8px !important;
    letter-spacing: 2px !important;
}

/* ── Auth page wrapper (vertical centering) ── */
.me-auth-page {
    min-height: 100vh;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 40px 16px;
}

/* ── Brand logo above forms ── */
a.me-auth-logo,
.me-auth-logo {
    display: block;
    text-align: center;
    font-family: var(--font-display);
    font-size: 32px;
    font-weight: 700;
    letter-spacing: 3px;
    margin-bottom: 32px;
    text-decoration: none !important;
}

.me-logo-mundo {
    color: var(--white);
}

.me-logo-erotic {
    color: var(--red-passion);
}

/* ── Kill plugin light backgrounds on account + checkout pages ── */
.rtcl-account .content-area,
.rtcl-account .site-content,
.rtcl-account .entry-content,
.rtcl-checkout .content-area,
.rtcl-checkout .site-content {
    background: var(--black) !important;
}

/* ── Form card wrapper ── */
.rtcl-login-form-wrap,
.rtcl-registration-form-wrap {
    background: var(--dark-card) !important;
    border-radius: 20px !important;
    padding: 32px 28px !important;
    border: 1px solid var(--border-light) !important;
    box-shadow: 0 8px 40px rgba(0, 0, 0, 0.4) !important;
}

.rtcl-registration-form-wrap {
    margin-top: 24px;
}

/* ── Labels ── */
.rtcl-field-label,
.rtcl-login-form-wrap label,
.rtcl-registration-form-wrap label,
#rtcl-lost-password-form label,
#rtcl-password-reset-form label,
#rtcl-password-reset-form .control-label {
    font-family: var(--font-display) !important;
    font-weight: 400 !important;
    font-size: 14px !important;
    color: var(--white) !important;
    margin-bottom: 8px !important;
    display: block !important;
}

.rtcl-required {
    color: var(--red-passion) !important;
}

/* ── Input fields ── */
.rtcl-form-control,
#rtcl-login-form .rtcl-form-control,
#rtcl-register-form .rtcl-form-control,
#rtcl-lost-password-form .rtcl-form-control,
#rtcl-password-reset-form .rtcl-form-control {
    width: 100% !important;
    padding: 14px 16px !important;
    background: rgba(8, 8, 8, 0.7) !important;
    border: 2px solid var(--border-light) !important;
    border-radius: 12px !important;
    color: var(--white) !important;
    font-family: var(--font-display) !important;
    font-size: 15px !important;
    font-weight: 300 !important;
    transition: border-color 0.2s, box-shadow 0.2s !important;
    -webkit-appearance: none !important;
    appearance: none !important;
}

.rtcl-form-control:focus,
#rtcl-login-form .rtcl-form-control:focus,
#rtcl-register-form .rtcl-form-control:focus,
#rtcl-lost-password-form .rtcl-form-control:focus,
#rtcl-password-reset-form .rtcl-form-control:focus {
    border-color: var(--red-passion) !important;
    outline: none !important;
    box-shadow: 0 0 0 3px rgba(196, 30, 58, 0.15) !important;
    background: var(--black) !important;
}

.rtcl-form-control::placeholder {
    color: var(--text-muted) !important;
}

/* ── Form groups spacing ── */
.rtcl-form-group {
    margin-bottom: 20px !important;
}

/* ── Password toggle icon ── */
.rtcl-user-pass-wrap {
    position: relative !important;
}

.rtcl-toggle-pass {
    position: absolute !important;
    right: 14px !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    cursor: pointer !important;
    color: var(--text-muted) !important;
    font-size: 16px !important;
    transition: color 0.2s !important;
    z-index: 2 !important;
}

.rtcl-toggle-pass:hover {
    color: var(--red-passion) !important;
}

/* ── Help text ── */
.help-block,
.rtcl-form-group .help-block {
    font-size: 12px !important;
    color: var(--text-muted) !important;
    margin-top: 6px !important;
    font-style: italic !important;
}

/* ── Primary buttons (Login / Register / Reset) ── */
.rtcl-btn,
#rtcl-login-form .rtcl-btn,
#rtcl-register-form .rtcl-btn,
#rtcl-lost-password-form .rtcl-btn,
#rtcl-password-reset-form .btn,
#rtcl-password-reset-form .btn-primary,
input[name="rtcl-register"].rtcl-btn,
input[name="rtcl-lost-password"].rtcl-btn,
input[name="rtcl-reset-password"].btn {
    width: 100% !important;
    padding: 16px 24px !important;
    background: linear-gradient(135deg, var(--red-passion) 0%, var(--red-deep) 100%) !important;
    color: var(--white-pure) !important;
    border: none !important;
    border-radius: 12px !important;
    font-family: var(--font-display) !important;
    font-size: 16px !important;
    font-weight: 600 !important;
    letter-spacing: 0.5px !important;
    cursor: pointer !important;
    transition: all 0.3s !important;
    text-transform: uppercase !important;
    margin-top: 8px !important;
}

.rtcl-btn:hover,
#rtcl-login-form .rtcl-btn:hover,
#rtcl-register-form .rtcl-btn:hover,
#rtcl-lost-password-form .rtcl-btn:hover,
#rtcl-password-reset-form .btn:hover,
input[name="rtcl-register"].rtcl-btn:hover,
input[name="rtcl-lost-password"].rtcl-btn:hover,
input[name="rtcl-reset-password"].btn:hover {
    background: linear-gradient(135deg, var(--red-glow) 0%, var(--red-passion) 100%) !important;
    transform: translateY(-2px) !important;
    box-shadow: 0 8px 24px rgba(196, 30, 58, 0.4) !important;
}

/* ── Login options row (Recordarme + Forgot link) ── */
.me-login-options {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 16px;
    padding: 12px 0;
    margin-bottom: 8px;
}

.me-login-options .rtcl-check {
    display: flex !important;
    align-items: center !important;
    gap: 6px;
    margin: 0 !important;
}

.me-forgot-link {
    font-family: var(--font-display) !important;
    font-size: 13px !important;
    color: var(--red-passion) !important;
    text-decoration: none !important;
    font-weight: 400 !important;
    transition: color 0.2s !important;
    white-space: nowrap;
}

.me-forgot-link:hover {
    color: var(--red-glow) !important;
    text-decoration: underline !important;
}

/* ── Remember me checkbox ── */
.rtcl-check-label,
.rtcl-checkbox-list label,
.me-login-options .rtcl-check-label {
    font-size: 13px !important;
    color: var(--text-muted) !important;
    font-weight: 300 !important;
}

.rtcl-check-box {
    border-color: var(--border-medium) !important;
    background: rgba(8, 8, 8, 0.5) !important;
}

.rtcl-check input:checked + .rtcl-check-box {
    background: var(--red-passion) !important;
    border-color: var(--red-passion) !important;
}

/* ── Links (forgot password, register, login) ── */
.rtcl-login-form-wrap a:not(.me-register-cta-btn),
.rtcl-registration-form-wrap a:not(.me-register-cta-btn),
#rtcl-lost-password-form a,
#rtcl-password-reset-form a,
.login-link a,
.rtcl-lost-password-link a {
    color: var(--red-passion) !important;
    text-decoration: none !important;
    font-weight: 400 !important;
    transition: color 0.2s !important;
}

.rtcl-login-form-wrap a:hover,
.rtcl-registration-form-wrap a:hover,
.login-link a:hover,
.rtcl-lost-password-link a:hover {
    color: var(--red-glow) !important;
    text-decoration: underline !important;
}

/* ── Login link / Register link ── */
.login-link,
.rtcl-lost-password-link {
    text-align: center !important;
    margin-top: 16px !important;
    font-size: 14px !important;
    color: var(--text-muted) !important;
}

/* ── Register CTA button (below login form) ── */
.me-register-cta {
    text-align: center;
    margin-top: 24px;
}
.me-register-cta .me-register-cta-text {
    font-family: var(--font-display) !important;
    font-size: 14px !important;
    color: var(--text-muted) !important;
    margin-bottom: 12px !important;
}
#rtcl-email-login .me-register-cta a.me-register-cta-btn,
.me-auth-page .me-register-cta a.me-register-cta-btn,
a.me-register-cta-btn {
    display: block;
    width: 100%;
    padding: 16px 24px !important;
    background: linear-gradient(135deg, var(--red-passion) 0%, var(--red-deep) 100%) !important;
    color: #FFFFFF !important;
    border: none !important;
    border-radius: 12px !important;
    font-family: var(--font-display) !important;
    font-size: 16px !important;
    font-weight: 600 !important;
    letter-spacing: 0.5px !important;
    text-align: center !important;
    text-decoration: none !important;
    text-transform: uppercase !important;
    transition: all 0.3s !important;
    box-sizing: border-box;
}
#rtcl-email-login .me-register-cta a.me-register-cta-btn:hover,
.me-auth-page .me-register-cta a.me-register-cta-btn:hover,
a.me-register-cta-btn:hover {
    background: linear-gradient(135deg, var(--red-glow) 0%, var(--red-passion) 100%) !important;
    transform: translateY(-2px) !important;
    box-shadow: 0 8px 24px rgba(196, 30, 58, 0.4) !important;
    color: #FFFFFF !important;
}

/* ── Hide plugin's English register/forgot links (injected via hook) ── */
.rtcl-form-group-no-margin-bottom .rtcl-forgot-password {
    display: none !important;
}

/* ── Lost password form ── */
#rtcl-lost-password-form {
    background: var(--dark-card);
    border-radius: 20px;
    padding: 32px 28px;
    border: 1px solid var(--border-light);
    box-shadow: 0 8px 40px rgba(0, 0, 0, 0.4);
    width: 100%;
    max-width: 460px;
}

#rtcl-lost-password-form p {
    color: var(--text-muted) !important;
    font-size: 14px !important;
    line-height: 1.6 !important;
    margin-bottom: 24px !important;
}

/* ── Reset password form ── */
#rtcl-password-reset-form {
    background: var(--dark-card);
    border-radius: 20px;
    padding: 32px 28px;
    border: 1px solid var(--border-light);
    box-shadow: 0 8px 40px rgba(0, 0, 0, 0.4);
    width: 100%;
    max-width: 460px;
}

#rtcl-password-reset-form p {
    color: var(--text-muted) !important;
    font-size: 14px !important;
    margin-bottom: 20px !important;
}

#rtcl-password-reset-form .alert-info {
    background: rgba(196, 30, 58, 0.08) !important;
    border: 1px solid var(--border-light) !important;
    border-radius: 12px !important;
    color: var(--text-muted) !important;
    font-size: 13px !important;
    padding: 14px 16px !important;
    margin-bottom: 24px !important;
}

/* ── Password confirmation checkmark ── */
.confirm-password-wrap {
    position: relative !important;
}

.rtcl-checkmark {
    color: #059669 !important;
}

/* ── RTCL Notices (success/error messages) ── */
.rtcl-notice,
.rtcl-message,
.rtcl-error,
.rtcl-info,
.rtcl .alert {
    border-radius: 12px !important;
    padding: 14px 18px !important;
    font-size: 14px !important;
    margin-bottom: 20px !important;
}

.rtcl-notice--error,
.rtcl-error,
.rtcl .alert-danger {
    background: rgba(196, 30, 58, 0.1) !important;
    border: 1px solid rgba(196, 30, 58, 0.3) !important;
    color: var(--red-glow) !important;
}

.rtcl-notice--success,
.rtcl-message,
.rtcl .alert-success {
    background: rgba(5, 150, 105, 0.1) !important;
    border: 1px solid rgba(5, 150, 105, 0.3) !important;
    color: #34d399 !important;
}

.rtcl-notice--info,
.rtcl-info,
.rtcl .alert-info {
    background: rgba(196, 30, 58, 0.06) !important;
    border: 1px solid var(--border-light) !important;
    color: var(--text-muted) !important;
}

/* ── Lost password confirmation message ── */
.lost-password-confirmation {
    width: 100%;
    max-width: 460px;
    padding: 32px 28px;
    background: var(--dark-card);
    border-radius: 20px;
    border: 1px solid var(--border-light);
    box-shadow: 0 8px 40px rgba(0, 0, 0, 0.4);
    color: var(--text-muted);
    font-size: 14px;
    line-height: 1.6;
    text-align: center;
}

/* ── Two-column layout (login + register side-by-side) ── */
#rtcl-user-login-wrapper.have-registration-form {
    max-width: 900px;
    width: 100%;
    display: flex;
    gap: 24px;
    align-items: flex-start;
}

#rtcl-user-login-wrapper.have-registration-form .rtcl-login-form-wrap,
#rtcl-user-login-wrapper.have-registration-form .rtcl-registration-form-wrap {
    flex: 1;
    margin-top: 0;
}

@media (max-width: 767px) {
    #rtcl-user-login-wrapper.have-registration-form {
        flex-direction: column;
        max-width: 460px;
    }

    .me-auth-page {
        padding: 24px 16px;
        justify-content: flex-start;
        padding-top: 60px;
    }

    .me-auth-logo {
        font-size: 28px;
        margin-bottom: 24px;
    }

    .rtcl-login-form-wrap,
    .rtcl-registration-form-wrap {
        padding: 24px 20px;
    }

    .me-login-options {
        flex-direction: column;
        align-items: flex-start;
        gap: 8px;
    }
}

/* ══════════════════════════════════════════════════════
   MUNDOEROTIC DASHBOARD - Mobile-First Design System
   ══════════════════════════════════════════════════════ */

/* ── Hide legacy mobile navbar (we use our own nav) ── */
.rtcl-MyAccount-mobile-navbar {
    display: none !important;
}

/* ── Dashboard wrapper ── */
.me-dashboard-wrap {
    padding-top:30px!important;
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 12px 80px;
}

/* ── Navigation: mobile = horizontal scroll tabs ── */
.me-dash-nav {
    background: transparent !important;
    border: none !important;
    border-radius: 0 !important;
    padding: 0 !important;
    margin-bottom: 20px !important;
    overflow: visible !important;
    width: 100% !important;
    float: none !important;
    padding-top: 16px;
    margin-top: 52px !important;
}
.me-dash-nav > .rtcl-MyAccount-navigation-logo {
    display: none !important;
}
.me-dash-nav ul {
    list-style: none !important;
    padding: 0 !important;
    margin: 0 !important;
    display: flex !important;
    gap: 6px !important;
    overflow-x: auto !important;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
    padding-bottom: 4px !important;
}
.me-dash-nav ul::-webkit-scrollbar { display: none; }

.me-dash-nav ul li {
    flex-shrink: 0 !important;
    border: none !important;
}
.me-dash-nav ul li a {
    display: flex !important;
    align-items: center !important;
    gap: 6px !important;
    padding: 10px 14px !important;
    background: var(--dark-card) !important;
    border: 1px solid var(--border-light) !important;
    border-radius: 20px !important;
    color: var(--text-muted) !important;
    font-size: 13px !important;
    font-weight: 400 !important;
    font-family: var(--font-display) !important;
    text-decoration: none !important;
    transition: all 0.2s !important;
    white-space: nowrap !important;
    line-height: 1 !important;
}
.me-dash-nav ul li a .me-nav-icon {
    display: flex;
    align-items: center;
}
.me-dash-nav ul li a .me-nav-icon svg {
    width: 16px;
    height: 16px;
}
.me-dash-nav ul li a:hover {
    background: rgba(196, 30, 58, 0.08) !important;
    color: var(--white) !important;
    border-color: var(--border-medium) !important;
}
.me-dash-nav ul li.is-active a,
.me-dash-nav ul li.active a {
    background: var(--red-passion) !important;
    color: #fff !important;
    border-color: var(--red-passion) !important;
    font-weight: 600 !important;
}
/* Publish CTA pill */
.me-dash-nav ul li.me-nav-add-listing a {
    background: linear-gradient(135deg, var(--red-passion) 0%, var(--red-deep) 100%) !important;
    color: #fff !important;
    border-color: transparent !important;
    font-weight: 600 !important;
}

/* ── Content area ── */
.rtcl-MyAccount-content {
    color: var(--white) !important;
    width: 100% !important;
    float: none !important;
    padding: 0 !important;
}

.rtcl-MyAccount-content-inner,
.rtcl-EditAccountForm,
.rtcl-profile-settings-form {
    background: var(--dark-card) !important;
    border-radius: 16px !important;
    padding: 20px 16px !important;
    border: 1px solid var(--border-light) !important;
}

.rtcl-myaccount-content-title {
    font-family: var(--font-display) !important;
    font-weight: 300 !important;
    font-size: 20px !important;
    color: var(--white) !important;
    margin-bottom: 20px !important;
    padding-bottom: 12px !important;
    border-bottom: 2px solid var(--red-passion) !important;
}

/* ── User Info / Dashboard Card ── */
.rtcl-user-info {
    background: var(--dark-card) !important;
    border: 1px solid var(--border-light) !important;
    border-radius: 16px !important;
    padding: 20px 16px !important;
    margin-bottom: 20px !important;
}
.rtcl-user-content-inner {
    display: flex !important;
    align-items: center !important;
    gap: 16px !important;
}
.rtcl-user-avatar {
    flex-shrink: 0 !important;
}
.rtcl-user-avatar img {
    width: 72px !important;
    height: 72px !important;
    border-radius: 50% !important;
    object-fit: cover !important;
    border: 2px solid var(--border-medium) !important;
}
.rtcl-user-details h5 {
    color: var(--white) !important;
    font-size: 18px !important;
    font-weight: 600 !important;
    font-family: var(--font-display) !important;
    margin: 0 0 4px !important;
}
.rtcl-user-details p {
    color: var(--text-muted) !important;
    font-size: 13px !important;
    margin: 0 !important;
    line-height: 1.4 !important;
}
.rtcl-user-details .rtcl-media-heading {
    color: var(--text-muted) !important;
    font-size: 13px !important;
}
.rtcl-user-details .rtcl-media-heading strong {
    color: var(--white) !important;
    font-weight: 500 !important;
}
.rtcl-user-note {
    margin-top: 16px !important;
    padding-top: 16px !important;
    border-top: 1px solid var(--border-subtle) !important;
}
.rtcl-user-note h4 {
    color: var(--red-passion) !important;
    font-size: 14px !important;
    margin-bottom: 6px !important;
}
.rtcl-user-note p {
    color: #999;
    font-size: 13px !important;
}

/* ── Statistics Cards ── */
.rtcl-listing-statistics {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 12px !important;
    margin-bottom: 20px !important;
}
.rtcl-listing-count {
    background: var(--dark-card) !important;
    border: 1px solid var(--border-light) !important;
    border-radius: 14px !important;
    padding: 0 !important;
}
.rtcl-listing-count-inner {
    display: flex !important;
    align-items: center !important;
    gap: 12px !important;
    padding: 16px !important;
}
.rtcl-listing-icon {
    flex-shrink: 0 !important;
    width: 40px !important;
    height: 40px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    background: rgba(196, 30, 58, 0.1) !important;
    border-radius: 10px !important;
}
.rtcl-listing-icon svg {
    width: 20px !important;
    height: 20px !important;
}
.rtcl-listing-number h5 {
    color: var(--text-muted) !important;
    font-size: 11px !important;
    font-weight: 400 !important;
    margin: 0 0 2px !important;
    text-transform: uppercase !important;
    letter-spacing: 0.5px !important;
}
.rtcl-listing-number span {
    color: var(--white) !important;
    font-size: 22px !important;
    font-weight: 700 !important;
    font-family: var(--font-display) !important;
    line-height: 1 !important;
}

/* ── Listing Preview Card (shop/spa dashboard) ── */
.me-listing-preview {
    background: var(--dark-card) !important;
    border: 1px solid var(--border-light) !important;
    border-radius: 16px !important;
    padding: 20px 16px !important;
    margin-bottom: 16px !important;
}
.me-section-title {
    font-family: var(--font-display) !important;
    font-weight: 300 !important;
    font-size: 16px !important;
    color: var(--white) !important;
    margin: 0 0 14px !important;
    padding-bottom: 10px !important;
    border-bottom: 2px solid var(--red-passion) !important;
}
.me-listing-preview-card {
    display: flex !important;
    gap: 14px !important;
    align-items: flex-start !important;
}
.me-listing-preview-img {
    flex-shrink: 0 !important;
    width: 120px !important;
    position: relative !important;
    border-radius: 12px !important;
    overflow: hidden !important;
}
.me-listing-preview-img img {
    width: 100% !important;
    aspect-ratio: 4/3 !important;
    object-fit: cover !important;
    display: block !important;
}
.me-listing-status {
    position: absolute !important;
    top: 6px !important;
    left: 6px !important;
    font-size: 10px !important;
    font-weight: 600 !important;
    padding: 3px 8px !important;
    border-radius: 6px !important;
    text-transform: uppercase !important;
    letter-spacing: 0.5px !important;
}
.me-status-active {
    background: rgba(5, 150, 105, 0.9) !important;
    color: #fff !important;
}
.me-status-inactive {
    background: rgba(217, 119, 6, 0.9) !important;
    color: #fff !important;
}
.me-listing-preview-body {
    flex: 1 !important;
    min-width: 0 !important;
}
.me-listing-preview-title {
    color: var(--white) !important;
    font-size: 15px !important;
    font-weight: 600 !important;
    font-family: var(--font-display) !important;
    margin: 0 0 6px !important;
    line-height: 1.3 !important;
    display: -webkit-box !important;
    -webkit-line-clamp: 2 !important;
    -webkit-box-orient: vertical !important;
    overflow: hidden !important;
}
.me-listing-preview-price {
    display: block !important;
    color: var(--red-passion) !important;
    font-size: 16px !important;
    font-weight: 700 !important;
    font-family: var(--font-display) !important;
    margin-bottom: 8px !important;
}
.me-listing-preview-link {
    display: inline-flex !important;
    align-items: center !important;
    gap: 4px !important;
    color: var(--red-passion) !important;
    font-size: 13px !important;
    font-weight: 500 !important;
    text-decoration: none !important;
    transition: opacity 0.2s !important;
}
.me-listing-preview-link:hover {
    opacity: 0.8 !important;
}

/* ── Engagement Stat Cards (shop/spa/escort dashboard) ── */
.me-engagement-stats {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 12px !important;
    margin-bottom: 20px !important;
}
.me-stat-card {
    background: var(--dark-card) !important;
    border: 1px solid var(--border-light) !important;
    border-radius: 14px !important;
    padding: 16px !important;
    display: flex !important;
    align-items: center !important;
    gap: 12px !important;
}
.me-stat-card-icon {
    flex-shrink: 0 !important;
    width: 40px !important;
    height: 40px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    background: rgba(196, 30, 58, 0.1) !important;
    border-radius: 10px !important;
}
.me-stat-card-data {
    display: flex !important;
    flex-direction: column !important;
}
.me-stat-card-value {
    color: var(--white) !important;
    font-size: 22px !important;
    font-weight: 700 !important;
    font-family: var(--font-display) !important;
    line-height: 1 !important;
}
.me-stat-card-label {
    color: var(--text-muted) !important;
    font-size: 11px !important;
    font-weight: 400 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.5px !important;
    margin-top: 3px !important;
}

/* ── Conversions Page (shop/spa) ── */
.me-conversions-wrap {
    margin-bottom: 20px !important;
}
.me-conversions-subtitle {
    color: var(--text-muted) !important;
    font-size: 13px !important;
    margin: -12px 0 20px !important;
}
.me-conversions-list {
    display: flex !important;
    flex-direction: column !important;
    gap: 0 !important;
}
.me-conversion-row {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    padding: 14px 0 !important;
    border-bottom: 1px solid var(--border-subtle, rgba(255,255,255,0.06)) !important;
}
.me-conversion-row:last-child {
    border-bottom: none !important;
}
.me-conversion-info {
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
}
.me-conversion-icon {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 32px !important;
    height: 32px !important;
    background: rgba(196, 30, 58, 0.1) !important;
    border-radius: 8px !important;
    flex-shrink: 0 !important;
}
.me-conversion-label {
    color: var(--white) !important;
    font-size: 14px !important;
    font-weight: 400 !important;
}
.me-conversion-value {
    color: var(--white) !important;
    font-size: 18px !important;
    font-weight: 700 !important;
    font-family: var(--font-display) !important;
}
.me-conversion-total-row {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    margin-top: 16px !important;
    padding: 16px !important;
    background: rgba(196, 30, 58, 0.08) !important;
    border-radius: 12px !important;
    border: 1px solid rgba(196, 30, 58, 0.2) !important;
}
.me-conversion-total-label {
    color: var(--white) !important;
    font-size: 15px !important;
    font-weight: 600 !important;
    font-family: var(--font-display) !important;
}
.me-conversion-total-value {
    color: var(--red-passion) !important;
    font-size: 24px !important;
    font-weight: 700 !important;
    font-family: var(--font-display) !important;
}

/* ── Listings: Card Layout ── */
.rtcl-manage-my-listings {
    color: var(--white) !important;
}

/* Search/filter bar */
.rtcl-action-wrap {
    margin-bottom: 16px !important;
}
.rtcl-my-listings-search-form form {
    display: flex !important;
    gap: 8px !important;
    flex-wrap: wrap !important;
}
.rtcl-my-listings-search-form select.rtcl-form-control {
    flex: 1 !important;
    min-width: 120px !important;
    padding: 10px 12px !important;
    background: var(--dark-card) !important;
    border: 1px solid var(--border-light) !important;
    border-radius: 10px !important;
    color: var(--white) !important;
    font-size: 13px !important;
    font-family: var(--font-display) !important;
    -webkit-appearance: none !important;
    appearance: none !important;
}
.rtcl-my-listings-search-keyword {
    display: flex !important;
    flex: 1 !important;
    min-width: 150px !important;
}
.rtcl-my-listings-search-keyword input {
    flex: 1 !important;
    padding: 10px 12px !important;
    background: var(--dark-card) !important;
    border: 1px solid var(--border-light) !important;
    border-radius: 10px 0 0 10px !important;
    color: var(--white) !important;
    font-size: 13px !important;
    font-family: var(--font-display) !important;
}
.rtcl-my-listings-search-keyword input::placeholder {
    color: var(--text-muted) !important;
}
.rtcl-my-listings-search-keyword button {
    background: var(--red-passion) !important;
    border: none !important;
    border-radius: 0 10px 10px 0 !important;
    padding: 0 14px !important;
    cursor: pointer !important;
}
.rtcl-my-listings-search-keyword button svg path {
    fill: #fff !important;
}

/* Listing cards grid */
.me-listings-grid {
    display: flex !important;
    flex-direction: column !important;
    gap: 12px !important;
}

/* Individual card */
.me-listing-card {
    display: flex !important;
    align-items: flex-start !important;
    gap: 14px !important;
    background: var(--dark-card) !important;
    border: 1px solid var(--border-light) !important;
    border-radius: 14px !important;
    padding: 14px !important;
    transition: border-color 0.2s, box-shadow 0.2s !important;
}
.me-listing-card:hover {
    border-color: var(--border-medium) !important;
    box-shadow: 0 4px 20px rgba(196, 30, 58, 0.06) !important;
}

/* Thumbnail */
.me-listing-thumb-wrap {
    position: relative !important;
    width: 80px !important;
    height: 80px !important;
    flex-shrink: 0 !important;
}
.me-listing-thumb-link {
    display: block !important;
    width: 80px !important;
    height: 80px !important;
    border-radius: 10px !important;
    overflow: hidden !important;
}
.me-listing-thumb-wrap img {
    width: 80px !important;
    height: 80px !important;
    object-fit: cover !important;
    border-radius: 10px !important;
}
.me-listing-status {
    position: absolute !important;
    top: 4px !important;
    left: 4px !important;
    font-size: 8px !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.5px !important;
    padding: 2px 6px !important;
    border-radius: 4px !important;
    white-space: nowrap !important;
    font-family: var(--font-display) !important;
    z-index: 2 !important;
    line-height: 1.3 !important;
}
.me-listing-status--publish {
    background: rgba(5, 150, 105, 0.9) !important;
    color: #fff !important;
}
.me-listing-status--pending {
    background: rgba(217, 119, 6, 0.9) !important;
    color: #fff !important;
}
.me-listing-status--rtcl-expired,
.me-listing-status--expired {
    background: rgba(196, 30, 58, 0.9) !important;
    color: #fff !important;
}
.me-listing-status--draft {
    background: rgba(85, 85, 85, 0.9) !important;
    color: #ddd !important;
}

/* Info section */
.me-listing-info {
    flex: 1 !important;
    min-width: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 4px !important;
}
.me-listing-title {
    color: var(--white) !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    text-decoration: none !important;
    display: block !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
    font-family: var(--font-display) !important;
    line-height: 1.3 !important;
}
.me-listing-title:hover {
    color: var(--red-glow) !important;
}

/* Category */
.me-listing-category {
    font-size: 11px !important;
    color: var(--text-muted) !important;
}
.me-listing-category a {
    color: var(--text-muted) !important;
    text-decoration: none !important;
}
.me-listing-category a:hover {
    color: var(--red-glow) !important;
}

/* Price */
.me-listing-price {
    font-size: 15px !important;
    font-weight: 700 !important;
    color: var(--red-glow) !important;
    font-family: var(--font-display) !important;
}
.me-listing-price .rtcl-price-amount {
    color: var(--red-glow) !important;
}

/* Stats row */
.me-listing-stats {
    display: flex !important;
    gap: 12px !important;
    flex-wrap: wrap !important;
    margin-top: 2px !important;
}
.me-stat {
    display: inline-flex !important;
    align-items: center !important;
    gap: 4px !important;
    font-size: 12px !important;
    color: #AAA !important;
    font-weight: 500 !important;
}
.me-stat svg {
    opacity: 0.7 !important;
}

/* Plan info row */
.me-listing-plan {
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: center !important;
    gap: 6px !important;
    margin-top: 4px !important;
}

.me-plan-badge {
    display: inline-flex !important;
    align-items: center !important;
    gap: 4px !important;
    font-size: 11px !important;
    font-weight: 600 !important;
    padding: 3px 8px !important;
    border-radius: 6px !important;
    line-height: 1.3 !important;
}

.me-plan-badge svg {
    flex-shrink: 0 !important;
}

.me-plan-active {
    background: rgba(5, 150, 105, 0.12) !important;
    color: #34D399 !important;
    border: 1px solid rgba(5, 150, 105, 0.2) !important;
}

.me-plan-pending {
    background: rgba(217, 119, 6, 0.1) !important;
    color: #FBBF24 !important;
    border: 1px solid rgba(217, 119, 6, 0.2) !important;
}

.me-plan-failed {
    background: rgba(220, 38, 38, 0.1) !important;
    color: #F87171 !important;
    border: 1px solid rgba(220, 38, 38, 0.2) !important;
}

.me-promo-tag {
    font-size: 9px !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.5px !important;
    padding: 2px 6px !important;
    border-radius: 4px !important;
}

.me-promo-featured {
    background: linear-gradient(135deg, #C41E3A, #8B0000) !important;
    color: #fff !important;
}

.me-promo-top {
    background: linear-gradient(135deg, #D97706, #B45309) !important;
    color: #fff !important;
}

/* Expiry */
.me-listing-expiry {
    font-size: 10px !important;
    color: var(--text-dim) !important;
    margin-top: 2px !important;
}

/* Badges (RTCL) */
.me-listing-info .rtcl-badge {
    font-size: 9px !important;
    padding: 1px 6px !important;
    border-radius: 4px !important;
    display: inline-block !important;
}

/* Action buttons */
.me-listing-actions {
    display: flex !important;
    flex-direction: column !important;
    gap: 8px !important;
    flex-shrink: 0 !important;
    align-self: center !important;
}
.me-action-btn {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 36px !important;
    height: 36px !important;
    border-radius: 10px !important;
    text-decoration: none !important;
    transition: all 0.2s !important;
}
.me-action-edit {
    color: var(--white) !important;
    background: rgba(240, 235, 230, 0.06) !important;
    border: 1px solid var(--border-light) !important;
}
.me-action-edit:hover {
    background: rgba(5, 150, 105, 0.15) !important;
    border-color: rgba(5, 150, 105, 0.3) !important;
    color: #34d399 !important;
}
.me-action-delete {
    color: var(--text-muted) !important;
    background: rgba(240, 235, 230, 0.03) !important;
    border: 1px solid transparent !important;
}
.me-action-delete:hover {
    background: rgba(196, 30, 58, 0.15) !important;
    border-color: rgba(196, 30, 58, 0.3) !important;
    color: var(--red-glow) !important;
}

/* No data */
.rtcl-no-data-found {
    text-align: center !important;
    color: var(--text-muted) !important;
    padding: 40px 20px !important;
    font-size: 15px !important;
}

/* ── Pagination ── */
.rtcl-pagination {
    display: flex !important;
    justify-content: center !important;
    gap: 6px !important;
    margin-top: 20px !important;
    flex-wrap: wrap !important;
}
.rtcl-pagination .page-numbers {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-width: 36px !important;
    height: 36px !important;
    padding: 0 10px !important;
    background: var(--dark-card) !important;
    border: 1px solid var(--border-light) !important;
    border-radius: 8px !important;
    color: var(--white) !important;
    font-size: 13px !important;
    text-decoration: none !important;
    transition: all 0.2s !important;
}
.rtcl-pagination .page-numbers.current,
.rtcl-pagination .page-numbers:hover {
    background: var(--red-passion) !important;
    border-color: var(--red-passion) !important;
    color: #fff !important;
}

/* ── Favourites ── */
.rtcl-favourite-listings {
    color: var(--white) !important;
}
.rtcl-delete-favourite-listing {
    color: var(--text-muted) !important;
    transition: color 0.2s !important;
}
.rtcl-delete-favourite-listing:hover {
    color: var(--red-passion) !important;
}
.rtcl-delete-favourite-listing svg path {
    fill: currentColor !important;
}

/* ── Edit Account Form ── */
.rtcl-form-group-wrap {
    display: flex !important;
    flex-direction: column !important;
    gap: 16px !important;
}
.rtcl-form-group {
    margin-bottom: 0 !important;
}
.rtcl-field-label,
.rtcl-EditAccountForm label {
    color: var(--white) !important;
    font-size: 13px !important;
    font-weight: 500 !important;
    font-family: var(--font-display) !important;
    margin-bottom: 6px !important;
    display: block !important;
}
.require-star {
    color: var(--red-passion) !important;
}
.rtcl-EditAccountForm .rtcl-form-control,
.rtcl-profile-settings-form .rtcl-form-control {
    width: 100% !important;
    padding: 12px 14px !important;
    background: var(--black) !important;
    border: 1px solid var(--border-light) !important;
    border-radius: 10px !important;
    color: var(--white) !important;
    font-size: 14px !important;
    font-family: var(--font-display) !important;
    transition: border-color 0.2s !important;
}
.rtcl-EditAccountForm .rtcl-form-control:focus,
.rtcl-profile-settings-form .rtcl-form-control:focus {
    border-color: var(--red-passion) !important;
    outline: none !important;
    box-shadow: 0 0 0 3px rgba(196, 30, 58, 0.15) !important;
}
.rtcl-form-control-static {
    color: var(--white) !important;
}
.rtcl-form-control-static strong {
    color: var(--red-passion) !important;
}
.description.small {
    color: var(--text-muted) !important;
    font-size: 12px !important;
    margin-top: 4px !important;
}

/* Password toggle */
.rtcl-form-check-label {
    color: var(--white) !important;
    font-size: 14px !important;
}
.form-check-input {
    accent-color: var(--red-passion) !important;
}

/* Profile picture */
.rtcl-profile-picture-row {
    margin-top: 20px !important;
    padding-top: 20px !important;
    border-top: 1px solid var(--border-subtle) !important;
}
.rtcl-profile-picture-wrap {
    display: flex !important;
    align-items: center !important;
    gap: 16px !important;
    flex-wrap: wrap !important;
}
.rtcl-gravatar-wrap {
    display: flex !important;
    align-items: center !important;
    gap: 12px !important;
}
.rtcl-gravatar-img img {
    width: 64px !important;
    height: 64px !important;
    border-radius: 50% !important;
}
.rtcl-gravatar-wrap a {
    color: var(--red-passion) !important;
    font-size: 12px !important;
}
.rtcl-media-upload {
    border: 2px dashed var(--border-light) !important;
    border-radius: 12px !important;
    padding: 16px !important;
    text-align: center !important;
    background: var(--black) !important;
    transition: border-color 0.2s !important;
}
.rtcl-media-upload:hover {
    border-color: var(--red-passion) !important;
}
.rtcl-media-action span {
    color: var(--red-passion) !important;
    cursor: pointer !important;
    font-size: 13px !important;
}
.rtcl-media-item img {
    width: 80px !important;
    height: 80px !important;
    border-radius: 10px !important;
    object-fit: cover !important;
    margin-top: 8px !important;
}

/* ── Profile Settings / Privacy ── */
.rtcl-profile-settings-form .rtcl-form-group {
    padding: 16px 0 !important;
    border-bottom: 1px solid var(--border-subtle) !important;
}
.rtcl-profile-settings-form .rtcl-form-group:last-of-type {
    border-bottom: none !important;
}
.rtcl-profile-settings-form .rtcl-icon {
    color: var(--red-passion) !important;
    margin-right: 6px !important;
}
.rtcl-form-radio-group {
    display: flex !important;
    flex-direction: column !important;
    gap: 10px !important;
    margin-top: 8px !important;
}
.rtcl-form-radio-group label {
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
    color: var(--white) !important;
    font-size: 14px !important;
    cursor: pointer !important;
}
.rtcl-form-radio-group input[type="radio"] {
    accent-color: var(--red-passion) !important;
    width: 16px !important;
    height: 16px !important;
}

/* Submit button */
.rtcl-EditAccountForm .rtcl-btn,
.rtcl-profile-settings-form .rtcl-btn,
.rtcl-form-group-submit .rtcl-btn {
    background: linear-gradient(135deg, var(--red-passion) 0%, var(--red-deep) 100%) !important;
    color: #fff !important;
    border: none !important;
    border-radius: 10px !important;
    padding: 14px 32px !important;
    font-size: 15px !important;
    font-weight: 600 !important;
    font-family: var(--font-display) !important;
    cursor: pointer !important;
    transition: all 0.2s !important;
    margin-top: 12px !important;
    text-transform: uppercase !important;
    letter-spacing: 1px !important;
}
.rtcl-EditAccountForm .rtcl-btn:hover,
.rtcl-profile-settings-form .rtcl-btn:hover,
.rtcl-form-group-submit .rtcl-btn:hover {
    transform: translateY(-1px) !important;
    box-shadow: 0 6px 20px rgba(196, 30, 58, 0.35) !important;
}

/* ── Payment History ── */
.rtcl-payment-history-wrap {
    color: var(--white) !important;
}
.rtcl-payment-table-wrap h3 {
    font-family: var(--font-display) !important;
    font-weight: 300 !important;
    font-size: 20px !important;
    color: var(--white) !important;
    margin-bottom: 20px !important;
    padding-bottom: 12px !important;
    border-bottom: 2px solid var(--red-passion) !important;
}
.rtcl-table-striped-border {
    width: 100% !important;
    border-collapse: collapse !important;
    border-spacing: 0 !important;
}
.rtcl-table-striped-border thead {
    display: none !important;
}
.rtcl-table-striped-border tbody tr {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    background: var(--black) !important;
    border: 1px solid var(--border-light) !important;
    border-radius: 14px !important;
    padding: 16px !important;
    gap: 14px !important;
    margin-bottom: 12px !important;
}
.rtcl-table-striped-border tbody td {
    color: var(--white) !important;
    font-size: 14px !important;
    font-weight: 500 !important;
    padding: 0 !important;
    border: none !important;
}
.rtcl-table-striped-border tbody td::before {
    content: attr(data-heading) !important;
    display: block !important;
    font-size: 10px !important;
    color: var(--text-muted) !important;
    text-transform: uppercase !important;
    letter-spacing: 0.8px !important;
    margin-bottom: 3px !important;
    font-weight: 400 !important;
}
/* First td (order ID) spans full width as header */
.rtcl-table-striped-border tbody td:first-child {
    grid-column: 1 / -1 !important;
    padding-bottom: 10px !important;
    border-bottom: 1px solid var(--border-subtle) !important;
    margin-bottom: 2px !important;
}
.rtcl-payment-popup-link {
    color: var(--red-passion) !important;
    text-decoration: none !important;
    font-weight: 700 !important;
    font-size: 16px !important;
}

/* Payment popup */
.rtcl-popup-wrapper {
    z-index: 99999 !important;
}
.rtcl-popup-content {
    background: var(--dark-card) !important;
    border: 1px solid var(--border-light) !important;
    border-radius: 16px !important;
    color: var(--white) !important;
    max-width: 480px !important;
}
.rtcl-popup-header {
    border-bottom: 1px solid var(--border-subtle) !important;
    padding: 16px 20px !important;
}
.rtcl-popup-title {
    color: var(--white) !important;
    font-family: var(--font-display) !important;
}
.rtcl-popup-close {
    color: var(--text-muted) !important;
    font-size: 24px !important;
    text-decoration: none !important;
}
.rtcl-popup-body {
    padding: 20px !important;
    color: var(--white) !important;
}

/* ── Notices / Alerts ── */
.rtcl-notice,
.rtcl-message {
    border-radius: 10px !important;
    padding: 12px 16px !important;
    font-size: 14px !important;
    margin-bottom: 16px !important;
}
.rtcl-notice--error {
    background: rgba(196, 30, 58, 0.1) !important;
    border: 1px solid rgba(196, 30, 58, 0.3) !important;
    color: var(--red-glow) !important;
}
.rtcl-notice--success {
    background: rgba(5, 150, 105, 0.1) !important;
    border: 1px solid rgba(5, 150, 105, 0.3) !important;
    color: #34d399 !important;
}
.rtcl-notice--info {
    background: rgba(196, 30, 58, 0.06) !important;
    border: 1px solid var(--border-light) !important;
    color: var(--white) !important;
}

/* ══════════════════════════════════════════════════════
   DASHBOARD - Desktop Overrides (768px+)
   ══════════════════════════════════════════════════════ */
@media (min-width: 768px) {
    .me-dashboard-wrap {
        display: flex;
        gap: 24px;
        padding: 0 24px 40px;
    }

    /* Navigation: vertical sidebar */
    .me-dash-nav {
        flex: 0 0 220px !important;
        position: sticky !important;
        top: 20px !important;
        align-self: flex-start !important;
        background: var(--dark-card) !important;
        border: 1px solid var(--border-light) !important;
        border-radius: 16px !important;
        padding: 12px !important;
        margin-bottom: 0 !important;
    }
    .me-dash-nav ul {
        flex-direction: column !important;
        overflow-x: visible !important;
        gap: 2px !important;
    }
    .me-dash-nav ul li a {
        border-radius: 10px !important;
        border: none !important;
        padding: 12px 14px !important;
        font-size: 14px !important;
    }
    .me-dash-nav ul li a:hover {
        background: rgba(196, 30, 58, 0.08) !important;
        border: none !important;
    }
    .me-dash-nav ul li.is-active a,
    .me-dash-nav ul li.active a {
        border: none !important;
    }

    /* Content area */
    .rtcl-MyAccount-content {
        flex: 1 !important;
        min-width: 0 !important;
    }

    .rtcl-MyAccount-content-inner,
    .rtcl-EditAccountForm,
    .rtcl-profile-settings-form {
        padding: 28px !important;
    }

    /* Stats grid: 4 cols on desktop */
    .rtcl-listing-statistics {
        grid-template-columns: repeat(4, 1fr) !important;
    }

    /* Listings table: show full table on desktop */
    .rtcl-my-listing-table thead {
        display: table-header-group !important;
    }
    .rtcl-my-listing-table thead th {
        color: var(--text-muted) !important;
        font-size: 12px !important;
        font-weight: 500 !important;
        text-transform: uppercase !important;
        letter-spacing: 0.5px !important;
        padding: 12px 14px !important;
        text-align: left !important;
        border-bottom: 1px solid var(--border-subtle) !important;
    }
    .rtcl-my-listing-table tbody tr {
        display: table-row !important;
        background: transparent !important;
        border: none !important;
        border-radius: 0 !important;
        padding: 0 !important;
        margin: 0 !important;
    }
    .rtcl-my-listing-table tbody tr:hover {
        background: rgba(196, 30, 58, 0.04) !important;
    }
    .rtcl-my-listing-table tbody td {
        padding: 14px !important;
        vertical-align: middle !important;
        border-bottom: 1px solid var(--border-subtle) !important;
    }
    .rtcl-my-listing-table td.list-on-responsive {
        display: table-cell !important;
    }
    .listing-status-mobile {
        display: none !important;
    }
    .rtcl-my-listing-table .listing-title {
        white-space: normal !important;
    }

    /* Price */
    .rtcl-my-listing-table .price-cell {
        color: var(--white) !important;
        font-weight: 600 !important;
    }

    /* Payments: table layout on desktop */
    .rtcl-table-striped-border thead {
        display: table-header-group !important;
    }
    .rtcl-table-striped-border thead th {
        color: var(--text-muted) !important;
        font-size: 12px !important;
        font-weight: 500 !important;
        text-transform: uppercase !important;
        padding: 12px 14px !important;
        text-align: left !important;
        border-bottom: 1px solid var(--border-subtle) !important;
    }
    .rtcl-table-striped-border tbody tr {
        display: table-row !important;
        background: transparent !important;
        border: none !important;
        border-radius: 0 !important;
        padding: 0 !important;
        margin: 0 !important;
    }
    .rtcl-table-striped-border tbody tr:hover {
        background: rgba(196, 30, 58, 0.04) !important;
    }
    .rtcl-table-striped-border tbody td {
        padding: 14px !important;
        border-bottom: 1px solid var(--border-subtle) !important;
        font-size: 14px !important;
        font-weight: 400 !important;
    }
    .rtcl-table-striped-border tbody td:first-child {
        grid-column: unset !important;
        padding-bottom: 14px !important;
        border-bottom: 1px solid var(--border-subtle) !important;
        margin-bottom: 0 !important;
    }
    .rtcl-table-striped-border tbody td::before {
        display: none !important;
    }

    /* Form layout */
    .rtcl-form-group-wrap {
        display: grid !important;
        grid-template-columns: 1fr 1fr !important;
        gap: 16px !important;
    }
    .rtcl-form-group-wrap .rtcl-username-row,
    .rtcl-form-group-wrap .rtcl-no-field-group,
    .rtcl-form-group-wrap .rtcl-password-fields {
        grid-column: 1 / -1 !important;
    }
    .rtcl-profile-picture-row {
        grid-column: 1 / -1 !important;
    }

    /* Privacy radio groups: horizontal */
    .rtcl-form-radio-group {
        flex-direction: row !important;
        gap: 20px !important;
    }
}

/* ============================================================
   5. FORM BUILDER - Dark Theme
   ============================================================ */

/* ── Page-level overrides (kill plugin light theme) ── */
.rtcl-form-page .content-area,
.rtcl-form-page .site-content,
.rtcl-form-page .entry-content,
.rtcl-form-page #content,
.rtcl-form-page .elementor,
body.rtcl-form-page {
    background: var(--black) !important;
}

.rtcl-form-page .rtcl-post-form-wrap,
.rtcl-form-page .rtcl-listing-info-selecting {
    background: var(--black) !important;
    box-shadow: none !important;
    padding: 0 !important;
    max-width: 100% !important;
}

.rtcl-form-page .rtcl-post-form-wrap .rtcl {
    padding: 0 !important;
}

/* Mobile: full-bleed form, compact header, tab bar safe area */
@media (max-width: 767px) {
    /* Kill ALL Elementor padding/spacing on form page */
    .rtcl-form-page .elementor-section,
    .rtcl-form-page .elementor-column-wrap,
    .rtcl-form-page .elementor-widget-wrap,
    .rtcl-form-page .e-con-inner,
    .rtcl-form-page .e-con,
    .rtcl-form-page .elementor-element {
        padding: 0 !important;
        margin: 0 !important;
    }

    /* Style the Elementor heading as a compact page title */
    .rtcl-form-page .elementor-widget-heading {
        padding: 14px 16px 10px !important;
        margin: 0 !important;
    }

    .rtcl-form-page .elementor-widget-heading .elementor-heading-title {
        font-size: 18px !important;
        font-family: var(--font-display) !important;
        font-weight: 600 !important;
        color: var(--white) !important;
        line-height: 1.3 !important;
        text-align: left !important;
    }

    /* Bottom safe area for tab bar */
    .rtcl-form-page #rtcl-form-builder-container {
        padding-bottom: 80px !important;
    }
}

/* ── Container & Sections ── */
#rtcl-form-builder-container {
    background: var(--black) !important;
    padding: 0 !important;
}

#rtcl-form-builder {
    background: var(--black) !important;
    color: var(--white) !important;
    font-family: var(--font-display) !important;
    padding: 0 8px !important;
}

.rtcl-fb-sections {
    background: var(--black) !important;
}

.rtcl-fb-section {
    background: var(--dark-card) !important;
    border: 1px solid var(--border-light) !important;
    border-radius: 12px !important;
    padding: 20px 16px !important;
    margin-bottom: 12px !important;
    box-shadow: none !important;
}

.rtcl-fb-section-columns {
    gap: 16px !important;
}

/* ── Section Headers ── */
.rtcl-fb-field-group-label {
    color: var(--white) !important;
    font-family: var(--font-display) !important;
    font-weight: 600 !important;
    border-bottom: 2px solid var(--red-passion) !important;
    padding-bottom: 10px !important;
    margin-bottom: 18px !important;
}

.rtcl-fb-section .section-header {
    color: var(--white) !important;
    border-bottom: 2px solid var(--red-passion) !important;
    padding: 12px 0 10px !important;
    margin-bottom: 16px !important;
}

.rtcl-fb-section .section-header:before {
    background-color: transparent !important;
    display: none !important;
}

.rtcl-fb-section .section-title {
    color: var(--white) !important;
    font-family: var(--font-display) !important;
    font-weight: 600 !important;
    font-size: 16px !important;
}

.rtcl-fb-section .section-icon {
    color: var(--red-passion) !important;
}

/* ── Field Labels ── */
.rtcl-fb-field-label .rtcl-field-label {
    color: var(--white) !important;
    font-family: var(--font-display) !important;
    font-weight: 500 !important;
}

.rtcl-fb-field-label .required {
    color: var(--red-passion) !important;
}

.rtcl-fb-field .rtcl-fb-help {
    color: var(--text-muted) !important;
}

/* ── Text Inputs & Textareas (Ant Design) ── */
#rtcl-form-builder .ant-input,
#rtcl-form-builder .ant-input[type="text"],
#rtcl-form-builder .ant-input[type="number"],
#rtcl-form-builder .rtcl-fb-input-text,
#rtcl-form-builder .rtcl-fb-input-textarea,
#rtcl-form-builder .rtcl-fb-input-number .ant-input-number-input {
    background: var(--black) !important;
    color: var(--white) !important;
    border: 1px solid var(--border-light) !important;
    border-radius: 8px !important;
    font-family: var(--font-display) !important;
}

#rtcl-form-builder .ant-input:focus,
#rtcl-form-builder .ant-input-focused,
#rtcl-form-builder .rtcl-fb-input-text:focus,
#rtcl-form-builder .rtcl-fb-input-textarea:focus {
    border-color: var(--red-passion) !important;
    box-shadow: 0 0 0 2px rgba(196, 30, 58, 0.15) !important;
}

#rtcl-form-builder .ant-input::placeholder,
#rtcl-form-builder .rtcl-fb-input-text::placeholder,
#rtcl-form-builder .rtcl-fb-input-textarea::placeholder {
    color: var(--text-muted) !important;
}

/* ── Number Input ── */
#rtcl-form-builder .ant-input-number {
    background: var(--black) !important;
    border: 1px solid var(--border-light) !important;
    border-radius: 8px !important;
}

#rtcl-form-builder .ant-input-number:hover,
#rtcl-form-builder .ant-input-number-focused {
    border-color: var(--red-passion) !important;
}

#rtcl-form-builder .ant-input-number-handler-wrap {
    background: var(--dark-card) !important;
    border-left: 1px solid var(--border-light) !important;
}

#rtcl-form-builder .ant-input-number-handler:hover .ant-input-number-handler-up-inner,
#rtcl-form-builder .ant-input-number-handler:hover .ant-input-number-handler-down-inner {
    color: var(--red-passion) !important;
}

/* ── Select Dropdowns (Ant Design) ── */
#rtcl-form-builder .ant-select .ant-select-selector {
    background: var(--black) !important;
    color: var(--white) !important;
    border: 1px solid var(--border-light) !important;
    border-radius: 8px !important;
}

#rtcl-form-builder .ant-select-focused .ant-select-selector,
#rtcl-form-builder .ant-select:hover .ant-select-selector {
    border-color: var(--red-passion) !important;
    box-shadow: 0 0 0 2px rgba(196, 30, 58, 0.15) !important;
}

#rtcl-form-builder .ant-select-selection-placeholder {
    color: var(--text-muted) !important;
}

#rtcl-form-builder .ant-select-selection-item {
    color: var(--white) !important;
}

#rtcl-form-builder .ant-select-arrow {
    color: var(--text-muted) !important;
}

#rtcl-form-builder .ant-select-clear {
    background: var(--dark-card) !important;
    color: var(--text-muted) !important;
}

/* Ant Select Dropdown (renders outside #rtcl-form-builder in body) */
.ant-select-dropdown {
    background: var(--dark-card) !important;
    border: 1px solid var(--border-light) !important;
    border-radius: 8px !important;
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.5) !important;
}

.ant-select-item {
    color: var(--white) !important;
}

.ant-select-item-option-active:not(.ant-select-item-option-disabled),
.ant-select-item-option:hover {
    background: rgba(196, 30, 58, 0.1) !important;
}

.ant-select-item-option-selected:not(.ant-select-item-option-disabled) {
    background: rgba(196, 30, 58, 0.2) !important;
    color: var(--white) !important;
    font-weight: 600 !important;
}

/* Multiple select tags */
#rtcl-form-builder .ant-select-multiple .ant-select-selection-item {
    background: rgba(196, 30, 58, 0.15) !important;
    border: 1px solid var(--border-medium) !important;
    border-radius: 6px !important;
    color: var(--white) !important;
}

#rtcl-form-builder .ant-select-multiple .ant-select-selection-item-remove {
    color: var(--white) !important;
}

/* ── Radio & Checkbox (Ant Design) ── */
#rtcl-form-builder .ant-radio-wrapper,
#rtcl-form-builder .ant-checkbox-wrapper {
    color: var(--white) !important;
}

#rtcl-form-builder .ant-radio-inner {
    background: var(--black) !important;
    border-color: var(--border-medium) !important;
}

#rtcl-form-builder .ant-radio-checked .ant-radio-inner {
    background: var(--red-passion) !important;
    border-color: var(--red-passion) !important;
}

#rtcl-form-builder .ant-checkbox-inner {
    background: var(--black) !important;
    border-color: var(--border-medium) !important;
    border-radius: 4px !important;
}

#rtcl-form-builder .ant-checkbox-checked .ant-checkbox-inner {
    background: var(--red-passion) !important;
    border-color: var(--red-passion) !important;
}

.ant-radio-group-solid .ant-radio-button-wrapper {
    background: var(--dark-card) !important;
    color: var(--white) !important;
    border-color: var(--border-light) !important;
}

.ant-radio-group-solid .ant-radio-button-wrapper-checked:not(.ant-radio-button-wrapper-disabled) {
    background: var(--red-passion) !important;
    border-color: var(--red-passion) !important;
}

/* ── Switch (Ant Design) ── */
#rtcl-form-builder .ant-switch {
    background: var(--text-dim) !important;
}

#rtcl-form-builder .ant-switch.ant-switch-checked {
    background: var(--red-passion) !important;
}

/* ── Upload / Gallery ── */
#rtcl-form-builder .ant-upload-wrapper .ant-upload-drag {
    background: var(--dark-card) !important;
    border: 2px dashed var(--border-medium) !important;
    border-radius: 10px !important;
}

#rtcl-form-builder .ant-upload-wrapper .ant-upload-drag:hover {
    border-color: var(--red-passion) !important;
}

#rtcl-form-builder .ant-upload-drag p.ant-upload-text {
    color: var(--white) !important;
}

#rtcl-form-builder .ant-upload-drag p.ant-upload-hint {
    color: var(--text-muted) !important;
}

#rtcl-form-builder .ant-upload-drag p.ant-upload-drag-icon .anticon {
    color: var(--red-passion) !important;
}

#rtcl-form-builder .ant-upload-list-item {
    border-color: var(--border-light) !important;
}

#rtcl-form-builder .rtcl-fb-image-upload-wrap .ant-upload-list-item-actions .ant-btn {
    background: rgba(8, 8, 8, 0.9) !important;
}

#rtcl-form-builder .rtcl-fb-image-upload-wrap .ant-upload-list-item-actions .ant-btn:hover {
    background: var(--red-passion) !important;
}

#rtcl-form-builder .rtcl-fb-image-upload-wrap .rtcl-gallery-feature-btn {
    background: var(--red-passion) !important;
}

.rtcl-file-upload-instruction {
    color: var(--text-muted) !important;
}

/* ── Upload Area Overflow Fix (mobile) ── */
#rtcl-form-builder .ant-upload-wrapper,
#rtcl-form-builder .rtcl-fb-image-upload-wrap,
.rtcl-media-upload {
    max-width: 100% !important;
    overflow: hidden !important;
    box-sizing: border-box !important;
}

#rtcl-form-builder .ant-upload-drag,
#rtcl-form-builder .ant-upload.ant-upload-drag {
    max-width: 100% !important;
    overflow: hidden !important;
    box-sizing: border-box !important;
}

#rtcl-form-builder .ant-upload-drag p.ant-upload-hint,
#rtcl-form-builder .ant-upload-drag p.ant-upload-text,
.rtcl-media-upload p,
.rtcl-file-upload-instruction,
.rtcl-media-upload .rtcl-media-upload-text {
    word-break: break-word !important;
    overflow-wrap: break-word !important;
    white-space: normal !important;
    max-width: 100% !important;
    padding: 0 8px !important;
    font-size: 12px !important;
    line-height: 1.4 !important;
}

/* Legacy upload area (non form-builder) */
.rtcl-media-upload {
    border: 2px dashed var(--border-light) !important;
    border-radius: 12px !important;
    padding: 16px !important;
    text-align: center !important;
    background: var(--dark-card) !important;
    transition: border-color 0.2s !important;
    max-width: 100% !important;
    overflow: hidden !important;
    box-sizing: border-box !important;
}

.rtcl-media-upload:hover {
    border-color: var(--red-passion) !important;
}

/* Uploaded image thumbnails */
.rtcl-media-item img,
#rtcl-form-builder .ant-upload-list-item {
    width: 80px !important;
    height: 80px !important;
    border-radius: 10px !important;
    object-fit: cover !important;
}

/* Wompi logo visibility on dark backgrounds */
#rtcl-payment-methods .rtcl-payment-method-icons img,
.rtcl-payment-method-icons img {
    background: rgba(255, 255, 255, 0.9) !important;
    padding: 4px 8px !important;
    border-radius: 6px !important;
    height: 22px !important;
    width: auto !important;
}

/* ── Hide broken Leaflet/Nominatim map from Form Builder ── */
#rtcl-form-builder .rtcl-fb-field-wrap .leaflet-container,
#rtcl-form-builder .rtcl-map-wrap,
#rtcl-form-builder [data-element="map"],
#rtcl-form-builder .rtcl-fb-field-wrap .leaflet-container + *,
.rtcl-fb-field-wrap .leaflet-container {
    display: none !important;
}
/* Also hide "Don't show the Map" checkbox and map label */
#rtcl-form-builder .rtcl-fb-field-wrap:has(.leaflet-container) .rtcl-map-checkbox,
#rtcl-form-builder .rtcl-fb-field-wrap:has(.leaflet-container) > label:last-of-type {
    display: none !important;
}

/* ── WP Editor (Description) ── */
#rtcl-form-builder .rtcl_wp_editor_wrap {
    background: var(--dark-card) !important;
    border-color: var(--border-light) !important;
}

#rtcl-form-builder .rtcl_wp_editor_wrap textarea,
#rtcl-form-builder .rtcl_wp_editor_wrap .rtcl_wp_editor {
    background: var(--black) !important;
    color: var(--white) !important;
}

#rtcl-form-builder .rtcl_wp_editor_wrap .wp-switch-editor {
    color: var(--text-muted) !important;
}

#rtcl-form-builder .rtcl_wp_editor_wrap .html-active .switch-html,
#rtcl-form-builder .rtcl_wp_editor_wrap .tmce-active .switch-tmce {
    background: var(--dark-card) !important;
    color: var(--white) !important;
    border-color: var(--border-light) !important;
}

/* ── Quill Rich Text Editor ── */
#rtcl-form-builder .ql-toolbar.ql-snow,
#rtcl-form-builder .ql-container.ql-snow {
    border-color: var(--border-light) !important;
}

#rtcl-form-builder .ql-toolbar.ql-snow {
    background: var(--dark-card) !important;
    border-radius: 8px 8px 0 0 !important;
}

#rtcl-form-builder .ql-container.ql-snow {
    background: var(--black) !important;
    border-radius: 0 0 8px 8px !important;
}

#rtcl-form-builder .ql-editor {
    color: var(--white) !important;
}

#rtcl-form-builder .ql-editor.ql-blank::before {
    color: var(--text-muted) !important;
}

#rtcl-form-builder .ql-snow .ql-stroke {
    stroke: var(--text-muted) !important;
}

#rtcl-form-builder .ql-snow .ql-fill,
#rtcl-form-builder .ql-snow .ql-stroke.ql-fill {
    fill: var(--text-muted) !important;
}

#rtcl-form-builder .ql-snow .ql-picker-label {
    color: var(--text-muted) !important;
}

#rtcl-form-builder .ql-snow .ql-picker-options {
    background: var(--dark-card) !important;
    border-color: var(--border-light) !important;
}

#rtcl-form-builder .ql-snow .ql-picker-item {
    color: var(--white) !important;
}

#rtcl-form-builder .ql-snow .ql-tooltip {
    background: var(--dark-card) !important;
    border-color: var(--border-light) !important;
    color: var(--white) !important;
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.4) !important;
}

#rtcl-form-builder .ql-snow .ql-tooltip input[type="text"] {
    background: var(--black) !important;
    color: var(--white) !important;
    border-color: var(--border-light) !important;
}

/* ── Buttons ── */
button.rtcl-fb-btn,
#rtcl-form-builder button.rtcl-fb-btn,
#rtcl-form-builder button.ant-btn-primary,
#rtcl-form-builder .rtcl-form-submit-btn .rtcl-fb-btn {
    background: var(--red-passion) !important;
    border-color: var(--red-passion) !important;
    color: #fff !important;
    border-radius: 10px !important;
    font-family: var(--font-display) !important;
    font-weight: 600 !important;
    box-shadow: 0 4px 12px rgba(196, 30, 58, 0.3) !important;
}

/* Kill plugin purple submit button outside form builder */
#rtcl-fb-extra-from-wrap .rtcl-btn,
.rtcl-form-page .rtcl-btn.rtcl-btn-primary {
    background: var(--red-passion) !important;
    border-color: var(--red-passion) !important;
    color: #fff !important;
    border-radius: 10px !important;
    font-family: var(--font-display) !important;
    font-weight: 600 !important;
    box-shadow: 0 4px 12px rgba(196, 30, 58, 0.3) !important;
    padding: 12px 24px !important;
    font-size: 16px !important;
    width: 100% !important;
}

#rtcl-form-builder button.rtcl-fb-btn:hover,
#rtcl-form-builder button.ant-btn-primary:hover,
#rtcl-form-builder .rtcl-form-submit-btn .rtcl-fb-btn:hover {
    background: var(--red-deep) !important;
    border-color: var(--red-deep) !important;
    box-shadow: 0 6px 16px rgba(196, 30, 58, 0.4) !important;
}

/* ── Repeater Fields — Dark Theme + Mobile Optimized ── */

/* Outer wrapper — was #f1f4f7 */
#rtcl-form-builder .rtcl-fb-repeater-wrap {
    background: transparent !important;
    border: none !important;
    border-radius: 0 !important;
    padding: 0 !important;
}

/* Repeater label/title — hide it since the section already shows the title */
#rtcl-form-builder .rtcl-fb-repeater-wrap > .rtcl-fb-field-group-label {
    display: none !important;
}

/* Content container — was border #dae0e6 on white */
#rtcl-form-builder .rtcl-fb-repeater-content {
    background: transparent !important;
    border: 1px solid var(--border-subtle) !important;
    border-radius: 12px !important;
    overflow: visible !important;
}

/* Multi-column header — was white */
#rtcl-form-builder .rtcl-fb-repeater-content.multi-column .rtcl-fb-repeater-header {
    background: rgba(255,255,255,0.03) !important;
    border-bottom-color: var(--border-subtle) !important;
    padding: 10px 16px !important;
}

#rtcl-form-builder .rtcl-fb-repeater-header-item {
    color: var(--text-secondary) !important;
    font-size: 13px !important;
}

/* Each repeater row */
#rtcl-form-builder .rtcl-fb-repeater-item {
    background: transparent !important;
    border-color: var(--border-subtle) !important;
}

#rtcl-form-builder .rtcl-fb-repeater-item + .rtcl-fb-repeater-item {
    border-top: 1px solid var(--border-subtle) !important;
}

/* Field area inside each row — was #fff */
#rtcl-form-builder .rtcl-fb-repeater-item-fields {
    background: transparent !important;
    padding: 16px !important;
}

/* Labels inside repeater */
#rtcl-form-builder .rtcl-fb-repeater-item .rtcl-fb-field-label,
#rtcl-form-builder .rtcl-fb-repeater-item label {
    color: var(--text-secondary) !important;
    font-size: 13px !important;
}

/* Inputs inside repeater — dark bg */
#rtcl-form-builder .rtcl-fb-repeater-item .ant-input,
#rtcl-form-builder .rtcl-fb-repeater-item .ant-input-number,
#rtcl-form-builder .rtcl-fb-repeater-item .ant-input-number-input,
#rtcl-form-builder .rtcl-fb-repeater-item textarea,
#rtcl-form-builder .rtcl-fb-repeater-item .ant-select-selector {
    background: var(--black) !important;
    color: var(--white) !important;
    border-color: var(--border-light) !important;
    border-radius: 8px !important;
}

#rtcl-form-builder .rtcl-fb-repeater-item .ant-input:focus,
#rtcl-form-builder .rtcl-fb-repeater-item textarea:focus {
    border-color: var(--red-passion) !important;
    box-shadow: 0 0 0 2px rgba(196, 30, 58, 0.15) !important;
}

#rtcl-form-builder .rtcl-fb-repeater-item .ant-input::placeholder,
#rtcl-form-builder .rtcl-fb-repeater-item textarea::placeholder {
    color: var(--text-muted) !important;
}

/* Action strip — red so user instantly knows to add more */
#rtcl-form-builder .rtcl-fb-repeater-item-actions {
    background: var(--red-passion) !important;
    border-left: none !important;
    padding: 10px 10px !important;
    flex-shrink: 0 !important;
    min-width: 44px !important;
    z-index: 2 !important;
}

#rtcl-form-builder .rtcl-fb-repeater-item-actions .anticon-plus-circle {
    color: #fff !important;
    font-size: 22px !important;
    cursor: pointer !important;
}

#rtcl-form-builder .rtcl-fb-repeater-item-actions .anticon-minus-circle {
    color: rgba(255,255,255,0.5) !important;
    font-size: 18px !important;
    cursor: pointer !important;
}

#rtcl-form-builder .rtcl-fb-repeater-item-actions .anticon-minus-circle:hover {
    color: #fff !important;
}

/* Ensure action icons are never hidden */
#rtcl-form-builder .rtcl-fb-repeater-item-actions .anticon {
    display: inline-flex !important;
    visibility: visible !important;
    opacity: 1 !important;
}

#rtcl-form-builder .rtcl-fb-repeater-header-action .anticon {
    color: var(--red-passion) !important;
}

/* File upload inside repeater */
#rtcl-form-builder .rtcl-fb-repeater-item .ant-upload-wrapper .ant-btn {
    background: var(--black) !important;
    color: var(--white) !important;
    border-color: var(--border-light) !important;
    border-radius: 8px !important;
}

#rtcl-form-builder .rtcl-fb-repeater-item .ant-upload-wrapper .ant-btn:hover {
    border-color: var(--red-passion) !important;
    color: var(--red-passion) !important;
}

#rtcl-form-builder .rtcl-fb-repeater-item .ant-upload-list-item {
    border-color: var(--border-subtle) !important;
    background: var(--black) !important;
}

/* ── Repeater Mobile Optimization ── */
@media (max-width: 768px) {
    /* Force stacked layout on mobile regardless of multi_column */
    #rtcl-form-builder .rtcl-fb-repeater-content.multi-column .rtcl-fb-repeater-header {
        display: none !important;
    }

    #rtcl-form-builder .rtcl-fb-repeater-content.multi-column .rtcl-fb-repeater-header-items,
    #rtcl-form-builder .rtcl-fb-repeater-content.multi-column .rtcl-fb-repeater-item-fields {
        display: flex !important;
        flex-direction: column !important;
        grid-template-columns: none !important;
    }

    #rtcl-form-builder .rtcl-fb-repeater-content.multi-column .rtcl-fb-field-label {
        display: flex !important;
    }

    /* Stack repeater row: fields on top, action buttons below */
    #rtcl-form-builder .rtcl-fb-repeater-item {
        flex-wrap: wrap !important;
    }

    #rtcl-form-builder .rtcl-fb-repeater-item-fields {
        flex: 1 1 100% !important;
        padding: 12px !important;
    }

    /* Action strip: full width bottom bar on mobile */
    #rtcl-form-builder .rtcl-fb-repeater-item-actions {
        flex: 1 1 100% !important;
        flex-direction: row !important;
        justify-content: center !important;
        gap: 20px !important;
        padding: 10px !important;
        border-top: 1px solid rgba(255,255,255,0.1) !important;
        border-left: none !important;
        min-width: auto !important;
    }

    #rtcl-form-builder .rtcl-fb-repeater-item-actions .anticon-plus-circle {
        font-size: 26px !important;
    }

    #rtcl-form-builder .rtcl-fb-repeater-item-actions .anticon-minus-circle {
        font-size: 22px !important;
    }

    /* Stack fields vertically */
    #rtcl-form-builder .rtcl-fb-repeater-item .rtcl-fb-field {
        flex-direction: column !important;
    }

    #rtcl-form-builder .rtcl-fb-repeater-item .rtcl-fb-field-label {
        flex: 0 0 auto !important;
        max-width: 100% !important;
        margin-bottom: 4px !important;
    }

    /* Compact spacing between fields */
    #rtcl-form-builder .rtcl-fb-repeater-item .rtcl-fb-field + .rtcl-fb-field {
        margin-top: 12px !important;
    }

    /* Prevent file upload from causing overflow */
    #rtcl-form-builder .rtcl-fb-repeater-item .ant-upload-wrapper {
        max-width: 100% !important;
        overflow: hidden !important;
    }

    #rtcl-form-builder .rtcl-fb-repeater-item .ant-upload-list {
        max-width: 100% !important;
    }
}

/* ── Business Hours label ── */
#rtcl-form-builder .rtcl-special-bhs .rtcl-special-bhs-label {
    color: var(--white) !important;
}

/* ── Tags ── */
#rtcl-form-builder .rtcl-fb-field .tax-selected-wrap {
    color: var(--white) !important;
}

#rtcl-form-builder .rtcl-tag-action-wrap .ant-input {
    background: var(--black) !important;
    color: var(--white) !important;
}

/* ── Pricing Section ── */
#rtcl-form-builder .rtcl-fb-field-group.rtcl-price-range {
    background: transparent !important;
}

/* ── Loader ── */
.rtcl-fb-loader-container .rtcl-fb-loader {
    border-color: var(--border-subtle) !important;
    border-top-color: var(--red-passion) !important;
}

/* ── Notifications (Ant Design - render in body) ── */
.ant-notification-notice {
    background: var(--dark-card) !important;
    border: 1px solid var(--border-light) !important;
    color: var(--white) !important;
    border-radius: 10px !important;
}

/* ── Select2 Overrides (for tag field) ── */
#rtcl-form-builder .select2-container--default .select2-selection--single,
#rtcl-form-builder .select2-container--default .select2-selection--multiple {
    background: var(--black) !important;
    border: 1px solid var(--border-light) !important;
    border-radius: 8px !important;
    color: var(--white) !important;
}

#rtcl-form-builder .select2-container--default .select2-selection--single .select2-selection__rendered {
    color: var(--white) !important;
}

.select2-container--default .select2-dropdown {
    background: var(--dark-card) !important;
    border-color: var(--border-light) !important;
}

.select2-container--default .select2-results__option--highlighted[aria-selected] {
    background: rgba(196, 30, 58, 0.2) !important;
    color: var(--white) !important;
}

.select2-container--default .select2-results__option[aria-selected="true"] {
    background: rgba(196, 30, 58, 0.3) !important;
    color: var(--white) !important;
}

.select2-container--default .select2-search--dropdown .select2-search__field {
    background: var(--black) !important;
    color: var(--white) !important;
    border-color: var(--border-light) !important;
}

/* ── Form controls from rtcl-public.css ── */
.rtcl-form-page .form-control,
.rtcl-form-page .rtcl-form-control {
    background: var(--black) !important;
    color: var(--white) !important;
    border: 1px solid var(--border-light) !important;
    border-radius: 8px !important;
}

.rtcl-form-page .rtcl-form-group > label,
.rtcl-form-page .form-group > label {
    color: var(--white) !important;
    font-family: var(--font-display) !important;
}

.rtcl-form-page .rtcl-tags-input-wrap .rtcl-tags-input {
    background: var(--black) !important;
    border-color: var(--border-light) !important;
    color: var(--white) !important;
}

.rtcl-form-page .price-wrap .rtcl-field-label {
    color: var(--white) !important;
}

/* ── Textarea override ── */
#rtcl-form-builder textarea,
.rtcl-form-page textarea {
    background: var(--black) !important;
    color: var(--white) !important;
    border-color: var(--border-light) !important;
}

/* ── Error States ── */
#rtcl-form-builder .rtcl-fb-error,
#rtcl-form-builder .rtcl-fb-errors {
    color: var(--red-glow) !important;
}

/* ── Color Picker ── */
.ant-color-picker-panel {
    background: var(--dark-card) !important;
}

/* ── Date Picker ── */
.ant-picker-dropdown {
    background: var(--dark-card) !important;
}

.ant-picker-dropdown .ant-picker-panel {
    background: var(--dark-card) !important;
    border-color: var(--border-light) !important;
}

.ant-picker-dropdown .ant-picker-header {
    color: var(--white) !important;
    border-bottom-color: var(--border-light) !important;
}

.ant-picker-dropdown .ant-picker-content th {
    color: var(--text-muted) !important;
}

.ant-picker-dropdown .ant-picker-cell .ant-picker-cell-inner {
    color: var(--white) !important;
}

.ant-picker-dropdown .ant-picker-cell-selected .ant-picker-cell-inner {
    background: var(--red-passion) !important;
}

.ant-picker-dropdown .ant-picker-cell:hover .ant-picker-cell-inner {
    background: rgba(196, 30, 58, 0.15) !important;
}

/* ── Extra Form (below React form) ── */
#rtcl-fb-extra-from-wrap {
    background: var(--dark-card) !important;
    border: 1px solid var(--border-light) !important;
    border-radius: 12px !important;
    padding: 20px !important;
    margin-top: 16px !important;
}

#rtcl-fb-extra-from-wrap .rtcl-form-control {
    background: var(--black) !important;
    color: var(--white) !important;
    border: 1px solid var(--border-light) !important;
    border-radius: 8px !important;
}

#rtcl-fb-extra-from-wrap .rtcl-field-label {
    color: var(--white) !important;
}

#rtcl-fb-extra-from-wrap .rtcl-btn {
    background: var(--red-passion) !important;
    border-color: var(--red-passion) !important;
    color: #fff !important;
    border-radius: 10px !important;
}

/* ── Listing Type Directory Cards (the card-style type selector) ── */
.rtcl-ai-directory-type-selection .ant-card-body {
    background: transparent !important;
    padding: 10px !important;
}

.rtcl-ai-directory-type-selection .ai-directory-type {
    background: var(--dark-card) !important;
    border: 1px solid var(--border-light) !important;
    border-radius: 10px !important;
    color: var(--white) !important;
    cursor: pointer !important;
    transition: all 0.2s ease !important;
}

.rtcl-ai-directory-type-selection .ai-directory-type:hover {
    background: rgba(196, 30, 58, 0.15) !important;
    border-color: var(--red-passion) !important;
}

.rtcl-ai-directory-type-selection .ai-directory-type.active {
    background: var(--red-passion) !important;
    border-color: var(--red-passion) !important;
}

.rtcl-ai-directory-type-selection .ai-directory-type .directory-category-name {
    color: var(--white) !important;
}

.rtcl-ai-directory-type-selection .ai-directory-type svg path {
    fill: var(--text-muted) !important;
}

.rtcl-ai-directory-type-selection .ai-directory-type:hover svg path,
.rtcl-ai-directory-type-selection .ai-directory-type.active svg path {
    fill: #fff !important;
}

/* ── Ant Card (generic, rendered by React) ── */
#rtcl-form-builder .ant-card {
    background: var(--dark-card) !important;
    border-color: var(--border-light) !important;
    color: var(--white) !important;
}

/* ── Catch-all: any remaining white backgrounds inside form builder ── */
#rtcl-form-builder [style*="background: rgb(255"],
#rtcl-form-builder [style*="background-color: rgb(255"],
#rtcl-form-builder [style*="background:#fff"],
#rtcl-form-builder [style*="background: #fff"] {
    background: var(--dark-card) !important;
}

/* ── Persuasive CTA Banner ── */
.me-form-cta {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    padding: 16px;
    margin: 12px 0;
    background: linear-gradient(135deg, rgba(196, 30, 58, 0.06) 0%, rgba(139, 0, 0, 0.04) 100%);
    border: 1px solid rgba(196, 30, 58, 0.12);
    border-radius: 12px;
}

.me-form-cta-icon {
    flex-shrink: 0;
    color: var(--red-passion);
    margin-top: 1px;
}

.me-form-cta-text {
    font-family: var(--font-display);
    font-size: 13px;
    line-height: 1.5;
    color: var(--text-muted);
    margin: 0;
}

.me-form-cta-highlight {
    color: var(--white);
    font-weight: 500;
}

/* ── Field visibility transition ── */
.rtcl-fb-field-wrap {
    transition: opacity 0.2s ease, max-height 0.3s ease !important;
}

.rtcl-fb-field-wrap.me-field-hidden {
    display: none !important;
}

/* ══════════════════════════════════════════
   Upload Components — Dark Theme Overrides
   ══════════════════════════════════════════ */

/* ── Gallery upload: error state (kills the pink background) ── */
#rtcl-form-builder .ant-upload-wrapper .ant-upload-drag.ant-upload-drag-error {
    border-color: var(--red-passion) !important;
}

#rtcl-form-builder .ant-upload-wrapper .ant-upload-list-item-error,
#rtcl-form-builder .ant-upload-wrapper .ant-upload-list-item-error .ant-upload-list-item-name {
    color: var(--red-glow) !important;
}

/* Error tooltip / message inside upload area — kill ALL pink/light backgrounds */
#rtcl-form-builder .ant-upload-wrapper .ant-upload-list-item-error .ant-tooltip-inner,
#rtcl-form-builder .ant-upload-wrapper .ant-upload-notice,
#rtcl-form-builder .ant-message-error,
#rtcl-form-builder .ant-upload-drag-container .ant-alert,
#rtcl-form-builder .ant-upload-drag-container .ant-alert-error,
#rtcl-form-builder .ant-upload-drag-container > div[style],
#rtcl-form-builder .rtcl-fb-image-upload-wrap .ant-upload-list-item-error {
    background: rgba(196, 30, 58, 0.1) !important;
    border-color: rgba(196, 30, 58, 0.25) !important;
    color: var(--red-glow) !important;
}

/* Kill any inline pink/light backgrounds in upload area */
#rtcl-form-builder .ant-upload-drag-container div[style*="rgb(255"],
#rtcl-form-builder .ant-upload-drag-container div[style*="#ff"],
#rtcl-form-builder .ant-upload-drag-container div[style*="#FFF"],
#rtcl-form-builder .ant-upload-drag-container div[style*="pink"],
#rtcl-form-builder .rtcl-fb-image-upload-wrap div[style*="rgb(255"],
#rtcl-form-builder .rtcl-fb-image-upload-wrap div[style*="#ff"] {
    background: rgba(196, 30, 58, 0.1) !important;
    color: var(--red-glow) !important;
    border-color: rgba(196, 30, 58, 0.25) !important;
    border-radius: 8px !important;
}

/* ── Gallery thumbnails: visible delete button ── */
#rtcl-form-builder .rtcl-fb-image-upload-wrap .ant-upload-list-item {
    background: var(--dark-card) !important;
    border-color: var(--border-light) !important;
    border-radius: 10px !important;
    overflow: hidden;
    position: relative;
}

#rtcl-form-builder .rtcl-fb-image-upload-wrap .ant-upload-list-item-actions {
    display: flex !important;
    opacity: 1 !important;
    gap: 4px;
}

#rtcl-form-builder .rtcl-fb-image-upload-wrap .ant-upload-list-item-action {
    opacity: 1 !important;
}

/* Delete button: always visible with red background */
#rtcl-form-builder .rtcl-fb-image-upload-wrap .ant-upload-list-item-actions .ant-btn {
    background: rgba(0, 0, 0, 0.7) !important;
    border: none !important;
    color: #fff !important;
    border-radius: 6px !important;
    width: 30px !important;
    height: 30px !important;
    display: flex !important;
    align-items: center;
    justify-content: center;
}

#rtcl-form-builder .rtcl-fb-image-upload-wrap .ant-upload-list-item-actions .ant-btn:hover {
    background: var(--red-passion) !important;
    color: #fff !important;
}

/* Feature/star button */
#rtcl-form-builder .rtcl-fb-image-upload-wrap .rtcl-gallery-feature-btn {
    background: var(--red-passion) !important;
    border: none !important;
    color: #fff !important;
    border-radius: 6px !important;
}

/* ── File upload (verification): dark theme button + list ── */
#rtcl-form-builder .ant-upload-wrapper .ant-btn {
    background: var(--dark-card) !important;
    color: var(--white) !important;
    border: 1px solid var(--border-medium) !important;
    border-radius: 8px !important;
    font-family: var(--font-display) !important;
}

#rtcl-form-builder .ant-upload-wrapper .ant-btn:hover {
    border-color: var(--red-passion) !important;
    color: var(--red-passion) !important;
}

#rtcl-form-builder .ant-upload-wrapper .ant-btn .anticon {
    color: var(--red-passion) !important;
}

/* File list item (verification uploaded file) */
#rtcl-form-builder .ant-upload-list .ant-upload-list-item {
    background: var(--dark-card) !important;
    border: 1px solid var(--border-light) !important;
    border-radius: 8px !important;
    color: var(--white) !important;
    padding: 6px 10px !important;
    margin-top: 8px !important;
}

#rtcl-form-builder .ant-upload-list .ant-upload-list-item-name {
    color: var(--white) !important;
}

/* File list: delete/remove button — make it clearly visible */
#rtcl-form-builder .ant-upload-list .ant-upload-list-item-action {
    opacity: 1 !important;
    color: var(--text-muted) !important;
}

#rtcl-form-builder .ant-upload-list .ant-upload-list-item-action:hover {
    color: var(--red-glow) !important;
}

/* File list: thumbnail preview */
#rtcl-form-builder .ant-upload-list .ant-upload-list-item-thumbnail {
    border-radius: 6px !important;
    overflow: hidden;
}

/* ── Upload instruction/hint text ── */
#rtcl-form-builder .rtcl-fb-image-upload-wrap .rtcl-image-upload-instruction,
#rtcl-form-builder .rtcl-file-upload-instruction,
#rtcl-form-builder .ant-upload-hint {
    color: var(--text-muted) !important;
    font-size: 13px !important;
}

/* ── Ant Design Tooltip (error messages) — dark theme ── */
.ant-tooltip .ant-tooltip-inner {
    background: var(--dark-card) !important;
    color: var(--red-glow) !important;
    border: 1px solid var(--border-light) !important;
    border-radius: 8px !important;
}

.ant-tooltip .ant-tooltip-arrow::before {
    background: var(--dark-card) !important;
}

/* ── Ant Design Message (top notification) — dark theme ── */
.ant-message .ant-message-notice-content {
    background: var(--dark-card) !important;
    color: var(--white) !important;
    border: 1px solid var(--border-light) !important;
    border-radius: 8px !important;
}

/* ── Hide RTCL default terms/conditions and notes at bottom of listing form ── */
.rtcl-listing-terms-conditions,
.rtcl-post-form-wrap .rtcl-listing-terms-conditions,
.rtcl-form-page .rtcl-listing-terms-conditions {
    display: none !important;
}

/* Hide RTCL default form notes/alerts that clash with our custom disclaimer */
.rtcl-post-form-wrap > .rtcl-notice,
.rtcl-post-form-wrap > .alert,
.rtcl-form-page .rtcl-post-user-info,
.rtcl-form-page .rtcl-user-note {
    display: none !important;
}
