/* AM Real Estate WP — Frontend CSS v1.5.0 */
/* Fuentes: heredadas del tema activo */

:root {
    /* ══════════════════════════════════════════════════════════════════════
       COLORES — Astra primero, luego WP presets, luego fallback neutro
       ══════════════════════════════════════════════════════════════════════

       Astra define sus colores en --ast-global-color-0..7:
         0 = primario   1 = secundario/acento
         2 = texto      3 = fondo
         4 = borde      5 = fondo secundario
         6 = texto suave  7 = fondo claro
    ═══════════════════════════════════════════════════════════════════════ */

    /* Primario: botones principales, sidebar top, badges */
    --amrewp-primary:
        var(--ast-global-color-0,
        var(--wp--preset--color--ast-global-color-0,
        var(--wp--preset--color--primary,
        #1a1a2e)));

    /* Acento: botón acento, tab activo, precio destacado */
    --amrewp-accent:
        var(--ast-global-color-1,
        var(--wp--preset--color--ast-global-color-1,
        var(--wp--preset--color--secondary,
        var(--amrewp-primary))));

    /* Versión muy clara del acento para fondos hover */
    --amrewp-accent-light:   color-mix(in srgb, var(--amrewp-accent) 10%, #fff);

    /* ── Colores funcionales (independientes del tema) ─────────────────── */
    --amrewp-whatsapp:       #25d366;
    --amrewp-whatsapp-hover: #1fb855;
    --amrewp-danger:         #c0392b;
    --amrewp-danger-bg:      #fdf0ef;
    --amrewp-success:        #1a7f5a;
    --amrewp-success-bg:     #edf7f3;
    --amrewp-warning-bg:     #fef9ec;
    --amrewp-warning:        #9a6700;

    /* ── Texto ─────────────────────────────────────────────────────────── */
    --amrewp-text:
        var(--ast-global-color-2,
        var(--wp--preset--color--ast-global-color-2,
        var(--wp--preset--color--foreground,
        #0f172a)));

    --amrewp-text-soft:
        var(--ast-global-color-6,
        var(--wp--preset--color--ast-global-color-6,
        #475569));

    --amrewp-secondary:      #64748b;

    /* ── Fondos y bordes ───────────────────────────────────────────────── */
    --amrewp-bg:
        var(--ast-global-color-5,
        var(--wp--preset--color--ast-global-color-5,
        var(--wp--preset--color--base,
        #f8fafc)));

    --amrewp-bg-card:        #ffffff;

    --amrewp-border:         #e2e8f0;

    --amrewp-border-strong:  #d1d9e0;

    /* ── Tipografía — Astra define estas variables ─────────────────────── */
    --amrewp-font:
        var(--ast-body-font-family,
        var(--wp--preset--font-family--body,
        inherit));

    --amrewp-font-display:
        var(--ast-heading-font-family,
        var(--wp--preset--font-family--heading,
        var(--amrewp-font)));

    /* ── Radio de bordes — Astra lo define en botones ──────────────────── */
    --amrewp-radius:    5px;
    --amrewp-radius-lg: 8px;

    /* ── Sombras y transición ───────────────────────────────────────────── */
    --amrewp-shadow-sm:      0 1px 3px rgba(0,0,0,.07);
    --amrewp-shadow:         0 4px 16px rgba(0,0,0,.09);
    --amrewp-shadow-hover:   0 12px 36px rgba(0,0,0,.15);
    --amrewp-t:              .2s cubic-bezier(.4,0,.2,1);

    /* ── Sidebar del panel de gestión — fijo, no hereda del tema ────────── */
    --amrewp-sidebar-bg:         #2b2d35;
    --amrewp-sidebar-hover:      rgba(255,255,255,.06);
    --amrewp-sidebar-active:     rgba(255,255,255,.1);
    --amrewp-sidebar-border:     rgba(255,255,255,.07);
    --amrewp-sidebar-icon:       #e03535;
    --amrewp-sidebar-active-bar: #e03535;
}

/* Reset */
.amrewp-listado,.amrewp-card,.amrewp-filtros,.amrewp-single-wrap,.amrewp-mis-propiedades,
.amrewp-form-wrap,.amrewp-login-wrap,.amrewp-panel-app,.amrewp-consultas-wrap,.amrewp-perfil-wrap {
    box-sizing:border-box; font-family:var(--amrewp-font); color:var(--amrewp-text);
    --amrewp-border:        #e2e8f0;
    --amrewp-border-strong: #d1d9e0;
}
.amrewp-listado *,.amrewp-filtros *,.amrewp-single-wrap *,.amrewp-form-wrap *,
.amrewp-panel-app *,.amrewp-mis-propiedades *,.amrewp-consultas-wrap *,.amrewp-perfil-wrap * {
    box-sizing:border-box;
}

/* ── Botones ── */
/* Especificidad doble para ganar sobre los estilos de Astra */
.amrewp-btn.amrewp-btn,
a.amrewp-btn,
button.amrewp-btn {
    display:inline-flex !important; align-items:center !important; gap:6px;
    padding:9px 18px !important; border-radius:var(--amrewp-radius) !important;
    font-family:var(--amrewp-font) !important; font-size:13px !important;
    font-weight:600 !important; letter-spacing:.01em;
    cursor:pointer; text-decoration:none !important; border:none !important;
    transition:all var(--amrewp-t) !important; line-height:1.4 !important;
    white-space:nowrap; box-shadow:none;
}
/* Primario */
.amrewp-btn-primary.amrewp-btn-primary,
a.amrewp-btn-primary, button.amrewp-btn-primary {
    background:var(--amrewp-primary) !important;
    color:#fff !important;
    border:none !important;
    box-shadow:0 2px 8px rgba(0,0,0,.18) !important;
}
.amrewp-btn-primary.amrewp-btn-primary:hover,
a.amrewp-btn-primary:hover, button.amrewp-btn-primary:hover {
    background:var(--amrewp-primary) !important;
    color:#fff !important; opacity:.88;
    transform:translateY(-1px);
    box-shadow:0 4px 14px rgba(0,0,0,.26) !important;
}
/* Acento — usa el primario del tema como color, siempre texto blanco */
.amrewp-btn-accent.amrewp-btn-accent,
a.amrewp-btn-accent, button.amrewp-btn-accent {
    background:var(--amrewp-primary) !important;
    color:#fff !important;
    border:none !important;
    opacity:.85;
}
.amrewp-btn-accent.amrewp-btn-accent:hover,
a.amrewp-btn-accent:hover, button.amrewp-btn-accent:hover {
    background:var(--amrewp-primary) !important;
    color:#fff !important; opacity:1;
    transform:translateY(-1px);
}
/* Secundario */
.amrewp-btn-secondary.amrewp-btn-secondary,
a.amrewp-btn-secondary, button.amrewp-btn-secondary {
    background:#fff !important;
    color:var(--amrewp-text) !important;
    border:1px solid #e2e8f0 !important;
    box-shadow:none !important;
}
.amrewp-btn-secondary.amrewp-btn-secondary:hover,
a.amrewp-btn-secondary:hover, button.amrewp-btn-secondary:hover {
    background:var(--amrewp-bg) !important;
    color:var(--amrewp-text) !important;
    border-color:var(--amrewp-border-strong) !important;
}
/* Ghost */
.amrewp-btn-ghost.amrewp-btn-ghost,
a.amrewp-btn-ghost, button.amrewp-btn-ghost {
    background:transparent !important;
    color:var(--amrewp-text-soft) !important;
    border:1px solid transparent !important;
    padding:7px 12px !important;
    box-shadow:none !important;
}
.amrewp-btn-ghost.amrewp-btn-ghost:hover,
a.amrewp-btn-ghost:hover, button.amrewp-btn-ghost:hover {
    background:var(--amrewp-bg) !important;
    color:var(--amrewp-text) !important;
}
/* WhatsApp */
.amrewp-btn-whatsapp.amrewp-btn-whatsapp,
a.amrewp-btn-whatsapp, button.amrewp-btn-whatsapp {
    background:var(--amrewp-whatsapp) !important;
    color:#fff !important; border:none !important;
}
.amrewp-btn-whatsapp.amrewp-btn-whatsapp:hover,
a.amrewp-btn-whatsapp:hover, button.amrewp-btn-whatsapp:hover {
    background:var(--amrewp-whatsapp-hover) !important;
    color:#fff !important; transform:translateY(-1px);
}
/* Danger */
.amrewp-btn-danger.amrewp-btn-danger,
a.amrewp-btn-danger, button.amrewp-btn-danger {
    background:var(--amrewp-danger) !important;
    color:#fff !important; border:none !important;
}
.amrewp-btn-danger.amrewp-btn-danger:hover,
a.amrewp-btn-danger:hover, button.amrewp-btn-danger:hover {
    opacity:.88; transform:translateY(-1px);
    color:#fff !important;
}
/* Tamaños */
.amrewp-btn-sm.amrewp-btn-sm { padding:5px 12px !important; font-size:12px !important; }
.amrewp-btn-lg.amrewp-btn-lg { padding:13px 28px !important; font-size:15px !important; }

/* ── Filtros inline (una sola fila) ── */
.amrewp-filtros-inline {
    padding: 14px 18px;
    border-radius: var(--amrewp-radius);
    margin-bottom: 28px;
    overflow-x: auto;
}
.amrewp-filtros-row {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: nowrap;
    width: 100%;
}
.amrewp-filtros-acciones-inline {
    margin-left: auto;
    flex-shrink: 0;
}
.amrewp-filtros-item {
    flex: 1;
    min-width: 100px;
    max-width: 160px;
}
.amrewp-filtros-item-sm {
    flex: 0 1 90px;
    min-width: 70px;
}
.amrewp-filtros-item input,
.amrewp-filtros-item select {
    width: 100%;
    height: 36px;
    padding: 0 8px;
    font-size: 12px;
    border: 1px solid #e2e8f0 !important;
    border-radius: var(--amrewp-radius);
    font-family: var(--amrewp-font);
    font-size: 13px;
    background: var(--amrewp-bg);
    color: var(--amrewp-text);
    transition: border-color var(--amrewp-t), box-shadow var(--amrewp-t);
    appearance: none; -webkit-appearance: none;
}
.amrewp-filtros-item select {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' fill='none' viewBox='0 0 24 24' stroke='%2364748b' stroke-width='2'%3E%3Cpath d='M19 9l-7 7-7-7'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 9px center;
    padding-right: 28px;
}
.amrewp-filtros-item input::placeholder { color: var(--amrewp-secondary); }
.amrewp-filtros-item input:focus,
.amrewp-filtros-item select:focus {
    outline: none;
    border-color: var(--amrewp-accent);
    box-shadow: 0 0 0 3px rgba(200,169,110,.15);
    background: #fff;
}
.amrewp-filtros-acciones-inline {
    display: flex;
    gap: 6px;
    flex-shrink: 0;
    margin-left: auto;
}
.amrewp-filtros-acciones-inline .amrewp-btn {
    height: 40px;
    padding: 0 20px;
    white-space: nowrap;
}
.amrewp-filtros-acciones-inline .amrewp-btn-ghost {
    padding: 0 12px;
    font-size: 15px;
}
@media (max-width: 768px) {
    .amrewp-filtros-row { flex-wrap: wrap; }
    .amrewp-filtros-item,
    .amrewp-filtros-item-sm { flex: 1 1 calc(50% - 8px); min-width: 0; }
    .amrewp-filtros-acciones-inline { width: 100%; }
    .amrewp-filtros-acciones-inline .amrewp-btn-primary { flex: 1; }
}
@media (max-width: 480px) {
    .amrewp-filtros-item,
    .amrewp-filtros-item-sm { flex: 1 1 100%; }
}

/* ── Filtros (grid multi-línea — mantener por compatibilidad) ── */
.amrewp-filtros {
    background:var(--amrewp-bg-card); border:1px solid var(--amrewp-border);
    border-radius:var(--amrewp-radius-lg); padding:24px;
    margin-bottom:32px; box-shadow:var(--amrewp-shadow-sm);
}
.amrewp-filtros-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(170px,1fr)); gap:14px; }
.amrewp-filtro-campo label {
    display:block; font-size:11px; font-weight:700;
    color:var(--amrewp-secondary); margin-bottom:5px;
    text-transform:uppercase; letter-spacing:.06em;
}
.amrewp-filtro-campo input,
.amrewp-filtro-campo select {
    width:100%; padding:8px 12px;
    border:1px solid #e2e8f0 !important; border-radius:var(--amrewp-radius);
    font-family:var(--amrewp-font); font-size:13px;
    background:var(--amrewp-bg); color:var(--amrewp-text);
    transition:border-color var(--amrewp-t),box-shadow var(--amrewp-t);
    appearance:none; -webkit-appearance:none;
}
.amrewp-filtro-campo select {
    background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='none' viewBox='0 0 24 24' stroke='%2364748b' stroke-width='2'%3E%3Cpath d='M19 9l-7 7-7-7'/%3E%3C/svg%3E");
    background-repeat:no-repeat; background-position:right 10px center; padding-right:32px;
}
.amrewp-filtro-campo input:focus,.amrewp-filtro-campo select:focus {
    outline:none; border-color:var(--amrewp-accent);
    box-shadow:0 0 0 3px rgba(200,169,110,.15); background:#fff;
}
.amrewp-filtros-acciones { margin-top:18px; display:flex; gap:10px; flex-wrap:wrap; }

/* ── Grid ── */
.amrewp-listado { display:grid; gap:24px; }
.amrewp-cols-1 { grid-template-columns:1fr; }
.amrewp-cols-2 { grid-template-columns:repeat(2,1fr); }
.amrewp-cols-3 { grid-template-columns:repeat(3,1fr); }
.amrewp-cols-4 { grid-template-columns:repeat(4,1fr); }
@media(max-width:900px){ .amrewp-cols-3,.amrewp-cols-4 { grid-template-columns:repeat(2,1fr); } }
@media(max-width:580px){ .amrewp-cols-2,.amrewp-cols-3,.amrewp-cols-4 { grid-template-columns:1fr; } }

/* ── Card ── */
.amrewp-card {
    background: var(--amrewp-bg-card);
    border: 1px solid var(--amrewp-border);
    border-radius: var(--amrewp-radius-lg);
    overflow: hidden;
    position: relative;
    display: flex;
    flex-direction: column;
    transition: box-shadow var(--amrewp-t), transform var(--amrewp-t);
    box-shadow: 0 2px 8px rgba(0,0,0,.06), 0 0 0 0 transparent;
}
.amrewp-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 16px 40px rgba(0,0,0,.13), 0 4px 12px rgba(0,0,0,.07);
}

/* Destacada */
.amrewp-card-destacada {
    border-color: var(--amrewp-primary);
    border-width: 2px;
}
.amrewp-card-destacada::before {
    content: '';
    position: absolute; top: 0; left: 0; right: 0; height: 3px; z-index: 4;
    background: var(--amrewp-primary);
}

/* Imagen */
.amrewp-card-imagen {
    position: relative;
    display: block;
    overflow: hidden;
    aspect-ratio: 16/10;
    background: linear-gradient(135deg, #f1f5f9 0%, #e2e8f0 100%);
    border-radius: var(--amrewp-radius-lg) var(--amrewp-radius-lg) 0 0;
}
.amrewp-card-imagen img {
    width: 100%; height: 100%;
    object-fit: cover; object-position: center;
    transition: transform .55s cubic-bezier(.4,0,.2,1);
    display: block;
    min-height: 100%;
}
.amrewp-card:hover .amrewp-card-imagen img { transform: scale(1.06); }

/* Sin imagen */
.amrewp-sin-imagen {
    width: 100%; height: 100%;
    display: flex; align-items: center; justify-content: center;
    background: linear-gradient(135deg, #f1f5f9 0%, #e2e8f0 100%);
}

/* Badges sobre la imagen */
.amrewp-card-badge {
    position: absolute;
    font-size: 10px; font-weight: 800; letter-spacing: .06em;
    text-transform: uppercase; line-height: 1;
    padding: 5px 10px; border-radius: var(--amrewp-radius);
    z-index: 3; white-space: nowrap;
}
.amrewp-card-badge-op {
    top: 12px; left: 12px;
    background: var(--amrewp-primary) !important; color: #fff;
}
.amrewp-card-badge-dest {
    top: 12px; right: 12px;
    background: rgba(0,0,0,.55); backdrop-filter: blur(4px);
    color: #fff;
}

/* ── Banner de estado ───────────────────────────────────────────────────── */
.amrewp-estado-banner {
    position: relative;
    text-align: center;
    font-size: 13px;
    font-weight: 900;
    letter-spacing: .14em;
    text-transform: uppercase;
    color: #fff;
    padding: 11px 16px;
    line-height: 1;
    text-shadow: 0 1px 4px rgba(0,0,0,.4);
}
.amrewp-estado-banner-vendida {
    background: linear-gradient(90deg, #7f0000, #cc0000, #7f0000);
}
.amrewp-estado-banner-reservada {
    background: linear-gradient(90deg, #92400e, #f59e0b, #92400e);
}
.amrewp-estado-banner-alquilada {
    background: linear-gradient(90deg, #1e3a8a, #3b82f6, #1e3a8a);
}
.amrewp-estado-banner-en-negociacion {
    background: linear-gradient(90deg, #064e3b, #10b981, #064e3b);
}
.amrewp-estado-banner-retasada {
    background: linear-gradient(90deg, #3b0764, #8b5cf6, #3b0764);
}
/* Fallback para cualquier estado sin color específico */
.amrewp-estado-banner:not([class*="amrewp-estado-banner-"]) {
    background: linear-gradient(90deg, #1f2937, #6b7280, #1f2937);
}

/* Efecto grayscale leve en imagen cuando hay estado */
.amrewp-card:has(.amrewp-sello) .amrewp-card-imagen img,
.amrewp-card:has(.amrewp-estado-banner) .amrewp-card-imagen img {
    filter: grayscale(.2) brightness(.88);
}

/* Cuerpo */
.amrewp-card-body {
    padding: 18px 18px 16px;
    flex: 1; display: flex; flex-direction: column;
}

/* Meta: tipo en su línea, ubicación debajo */
.amrewp-card-meta {
    display: flex;
    flex-direction: column;
    gap: 4px;
    margin-bottom: 8px;
}
.amrewp-card-tipo {
    font-size: 10px; font-weight: 800;
    color: var(--amrewp-primary);
    text-transform: uppercase; letter-spacing: .1em;
    display: inline-block;
}
.amrewp-card-ubicacion {
    font-size: 11px; color: var(--amrewp-text-soft);
    display: flex; align-items: flex-start; gap: 3px;
    line-height: 1.4;
}
.amrewp-card-ubicacion svg { flex-shrink: 0; opacity: .5; }

/* Título */
.amrewp-card-titulo {
    margin: 0 0 10px;
    font-size: 16px; font-weight: 700; line-height: 1.3;
}
.amrewp-card-titulo a { color: var(--amrewp-text); text-decoration: none !important; }
.amrewp-card-titulo a:hover { color: var(--amrewp-primary); }

/* Precio */
.amrewp-card-precio-wrap {
    margin-bottom: 12px;
}
.amrewp-card-precio {
    font-size: 22px; font-weight: 900;
    color: var(--amrewp-primary);
    letter-spacing: -.02em; line-height: 1.1;
}

/* Separador */
.amrewp-card-sep {
    height: 1px;
    background: var(--amrewp-border);
    margin-bottom: 12px;
}

/* Atributos */
.amrewp-card-attrs {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    margin-bottom: 14px;
}
.amrewp-card-attrs span {
    display: inline-flex; align-items: center; gap: 5px;
    font-size: 12px; font-weight: 600;
    color: var(--amrewp-text-soft);
    background: var(--amrewp-bg);
    border: 1px solid var(--amrewp-border);
    padding: 5px 10px;
    border-radius: var(--amrewp-radius);
    white-space: nowrap;
    transition: background var(--amrewp-t), border-color var(--amrewp-t);
}
.amrewp-card-attrs span:hover {
    background: #fff;
    border-color: var(--amrewp-primary);
    color: var(--amrewp-text);
}
.amrewp-card-attrs span svg { opacity: .6; flex-shrink: 0; }

/* Acciones */
.amrewp-card-acciones {
    display: flex;
    gap: 8px;
    margin-top: auto;
}
.amrewp-card-acciones .amrewp-btn { flex: 1; justify-content: center; }

/* ── Paginación ── */
.amrewp-paginacion { margin-top:36px; }
.amrewp-paginacion .page-numbers { display:inline-flex; gap:4px; list-style:none; padding:0; margin:0; flex-wrap:wrap; }
.amrewp-paginacion .page-numbers li a,
.amrewp-paginacion .page-numbers li span {
    display:inline-flex; align-items:center; justify-content:center;
    width:36px; height:36px; border:1px solid var(--amrewp-border);
    border-radius:var(--amrewp-radius); font-size:13px; font-weight:600;
    text-decoration:none; color:var(--amrewp-text); background:#fff;
    transition:all var(--amrewp-t);
}
.amrewp-paginacion .page-numbers li a:hover { border-color:var(--amrewp-accent); color:var(--amrewp-accent); }
.amrewp-paginacion .page-numbers li span.current { background:var(--amrewp-primary); color:#fff; border-color:var(--amrewp-primary); }

/* ── Mensajes ── */
.amrewp-mensaje { padding:12px 16px; border-radius:var(--amrewp-radius); margin-bottom:16px; font-size:14px; font-weight:500; }
.amrewp-mensaje.exito { background:var(--amrewp-success-bg); color:var(--amrewp-success); border:1px solid #a7f3d0; }
.amrewp-mensaje.error { background:var(--amrewp-danger-bg); color:var(--amrewp-danger); border:1px solid #fca5a5; }
.amrewp-sin-resultados { color:var(--amrewp-secondary); font-style:italic; padding:40px 0; text-align:center; font-size:15px; }
.amrewp-acceso-denegado { color:var(--amrewp-danger); }

/* ── Login ── */
.amrewp-login-wrap { max-width:420px; margin:0 auto; }
.amrewp-login-wrap .amrewp-form {
    background:var(--amrewp-bg-card); border:1px solid var(--amrewp-border);
    border-radius:var(--amrewp-radius-lg); padding:32px;
    display:flex; flex-direction:column; gap:16px; box-shadow:var(--amrewp-shadow);
}
.amrewp-login-wrap { max-width: 480px; margin: 0 auto; }
.amrewp-login-wrap .amrewp-form {
    background: var(--amrewp-bg-card);
    border: 1px solid var(--amrewp-border);
    border-radius: var(--amrewp-radius-lg);
    padding: 32px;
    display: flex;
    flex-direction: column;
    gap: 16px;
}
.amrewp-login-wrap .amrewp-form-campo input {
    width: 100%;
    box-sizing: border-box;
}

/* Toggle ojo en campo contraseña */
.amrewp-input-password-wrap {
    position: relative;
    display: block;
}
.amrewp-input-password-wrap input {
    width: 100%;
    box-sizing: border-box;
    padding-right: 42px !important;
}
.amrewp-toggle-password {
    position: absolute;
    right: 10px;
    top: 50%;
    transform: translateY(-50%);
    background: none;
    border: none;
    cursor: pointer;
    color: var(--amrewp-secondary);
    padding: 4px;
    line-height: 1;
    display: flex;
    align-items: center;
}
.amrewp-toggle-password:hover { color: var(--amrewp-primary); }

.amrewp-link-recuperar { font-size:13px; color:var(--amrewp-secondary); text-decoration:none; text-align:center; display:block; }
.amrewp-link-recuperar:hover { color:var(--amrewp-accent); }

/* ── Campos ── */
.amrewp-form-campo label,
.amrewp-campo-grupo label {
    font-size:11px; font-weight:800; color:var(--amrewp-secondary);
    text-transform:uppercase; letter-spacing:.06em;
}
.amrewp-form-campo { display:flex; flex-direction:column; gap:5px; }
.amrewp-form-campo.full,.amrewp-form-campo-full { grid-column:1/-1; }

.amrewp-form-campo input,
.amrewp-form-campo select,
.amrewp-campo-grupo input,
.amrewp-campo-grupo select,
.amrewp-campo-grupo textarea,
.amrewp-textarea,
.amrewp-form-wrap input[type="text"],
.amrewp-form-wrap input[type="number"],
.amrewp-form-wrap input[type="email"],
.amrewp-form-wrap input[type="url"],
.amrewp-form-wrap input[type="tel"],
.amrewp-form-wrap select,
.amrewp-form-wrap textarea {
    padding:9px 13px; border:1.5px solid #e2e8f0 !important;
    border-radius:var(--amrewp-radius); font-family:var(--amrewp-font); font-size:14px;
    width:100%; background:var(--amrewp-bg-card); color:var(--amrewp-text);
    box-shadow: none;
    transition:border-color var(--amrewp-t),box-shadow var(--amrewp-t);
    appearance:none; -webkit-appearance:none;
    box-sizing: border-box;
}
.amrewp-form-wrap select,
.amrewp-form-campo select,
.amrewp-campo-grupo select {
    background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='none' viewBox='0 0 24 24' stroke='%2364748b' stroke-width='2'%3E%3Cpath d='M19 9l-7 7-7-7'/%3E%3C/svg%3E");
    background-repeat:no-repeat; background-position:right 10px center; padding-right:34px;
}
.amrewp-form-campo input:focus,
.amrewp-form-campo select:focus,
.amrewp-campo-grupo input:focus,
.amrewp-campo-grupo select:focus,
.amrewp-campo-grupo textarea:focus,
.amrewp-textarea:focus,
.amrewp-form-wrap input:focus,
.amrewp-form-wrap select:focus,
.amrewp-form-wrap textarea:focus {
    outline:none; border-color:var(--amrewp-accent);
    box-shadow:0 0 0 3px rgba(200,169,110,.15); background:#fff;
}
.amrewp-textarea { resize:vertical; min-height:110px; }
.amrewp-form-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(200px,1fr)); gap:16px; }
.amrewp-form-acciones { display:flex; gap:10px; flex-wrap:wrap; margin-top:8px; }
.amrewp-form-hint { font-size:12px; color:var(--amrewp-secondary); font-style:italic; margin:0 0 8px; }
.amrewp-preview-imgs { display:flex; flex-wrap:wrap; gap:8px; margin-bottom:12px; }
.amrewp-preview-imgs .amrewp-img-item {
    position: relative;
    cursor: grab;
    border-radius: var(--amrewp-radius);
    border: 2px solid var(--amrewp-border);
    overflow: hidden;
    transition: box-shadow .15s, border-color .15s;
}
.amrewp-preview-imgs .amrewp-img-item:hover { border-color: var(--amrewp-primary); box-shadow: 0 2px 8px rgba(0,0,0,.15); }
.amrewp-preview-imgs .amrewp-img-item img { width:80px; height:80px; object-fit:cover; display:block; }
.amrewp-remove-form-img {
    position: absolute; top:0; right:0;
    background: #c00; color:#fff;
    cursor: pointer; padding: 0 5px; font-size:12px;
    border-radius: 0 0 0 4px; line-height: 18px;
    z-index: 2;
}
.amrewp-img-portada-badge {
    position: absolute; bottom:0; left:0; right:0;
    background: rgba(0,0,0,.55); color:#fff;
    font-size:10px; text-align:center; padding:2px 0;
    pointer-events: none;
}
.amrewp-img-drag-handle {
    position: absolute; top:0; left:0;
    color:rgba(255,255,255,.8); font-size:14px; padding:1px 4px;
    background:rgba(0,0,0,.3); cursor:grab; line-height:1;
    border-radius: 0 0 4px 0;
    z-index: 2;
}
.amrewp-img-placeholder {
    width:80px; height:80px;
    border: 2px dashed var(--amrewp-primary);
    border-radius: var(--amrewp-radius);
    background: var(--amrewp-light);
}

/* Checkboxes */
.amrewp-form-check-item {
    display:flex; align-items:flex-start; gap:12px;
    padding:13px 16px; background:var(--amrewp-bg);
    border:1px solid var(--amrewp-border); border-radius:var(--amrewp-radius);
    cursor:pointer; transition:border-color var(--amrewp-t),background var(--amrewp-t);
}
.amrewp-form-check-item:hover { border-color:var(--amrewp-accent); background:var(--amrewp-accent-light); }
.amrewp-form-check-item input[type="checkbox"] { margin-top:2px; flex-shrink:0; accent-color:var(--amrewp-accent); }
.amrewp-form-check-body strong { font-size:13px; font-weight:600; }
.amrewp-form-check-body small { font-size:12px; color:var(--amrewp-secondary); }

/* ── Sección de form (usada en propiedad y perfil) ── */
.amrewp-form-section {
    background:var(--amrewp-bg-card); border:1px solid var(--amrewp-border);
    border-radius:var(--amrewp-radius-lg); margin-bottom:16px; overflow:hidden;
}
.amrewp-form-section h3 {
    margin:0; padding:13px 20px;
    background:var(--amrewp-bg); border-bottom:1px solid var(--amrewp-border);
    font-family:var(--amrewp-font); font-size:11px; font-weight:800;
    text-transform:uppercase; letter-spacing:.07em; color:var(--amrewp-secondary);
}
.amrewp-form-section-inner { padding:20px; }
/* Padding interno para items directos de section */
.amrewp-form-section > .amrewp-form-grid,
.amrewp-form-section > .amrewp-form-checks,
.amrewp-form-section > .amrewp-form-campo,
.amrewp-form-section > p { padding:20px; }
.amrewp-form-section > .amrewp-form-grid { padding-top:20px; }

/* ── Single propiedad ── */
.amrewp-single-wrap { max-width:1140px; margin:0 auto; padding:28px 20px 56px; }
.amrewp-single-layout {
    display:grid;
    grid-template-columns: 1fr 360px;
    gap: 32px;
    /* align-items:start causa que el sidebar colapse cuando la col izquierda
       tiene poco contenido. stretch mantiene ambas columnas a la misma altura. */
    align-items: stretch;
    margin-bottom: 40px;
}
.amrewp-single-col-main {
    min-width: 0;
    /* Altura mínima para que el sidebar nunca quede sin espacio */
    min-height: 420px;
}
.amrewp-single-intro { margin-bottom:22px; }
.amrewp-single-badges { display:flex; flex-wrap:wrap; gap:6px; margin-bottom:12px; }
.amrewp-single-titulo {
    font-family:var(--amrewp-font-display); font-size:28px; font-weight:400;
    margin:0 0 8px; line-height:1.25; color:var(--amrewp-text);
}
.amrewp-single-ubicacion { font-size:14px; color:var(--amrewp-secondary); margin:0; }
.amrewp-badge { display:inline-block; font-size:11px; font-weight:700; text-transform:uppercase; letter-spacing:.06em; padding:3px 10px; border-radius:3px; background:#f1f5f9; color:#475569; margin-right:6px; }
.amrewp-badge-operacion { background:var(--amrewp-primary); color:#fff; }

.amrewp-single-col-main .amrewp-galeria { display:grid; grid-template-columns:repeat(auto-fill,minmax(180px,1fr)); gap:8px; margin-bottom:26px; }
.amrewp-single-col-main .amrewp-galeria-item img { width:100%; height:160px; object-fit:cover; border-radius:var(--amrewp-radius); display:block; }
.amrewp-galeria-item { cursor:zoom-in; display:block; overflow:hidden; border-radius:var(--amrewp-radius); }
.amrewp-galeria-item img { transition:transform .3s,opacity .3s; }
.amrewp-galeria-item:hover img { transform:scale(1.05); opacity:.9; }

.amrewp-single-caracteristicas { margin-top:4px; }
.amrewp-single-caracteristicas h2 { font-size:12px; font-weight:800; margin:0 0 14px; text-transform:uppercase; letter-spacing:.06em; color:var(--amrewp-secondary); }
.amrewp-attrs-lista { list-style:none; padding:0; margin:0; display:grid; grid-template-columns:repeat(auto-fill,minmax(170px,1fr)); gap:10px; }
.amrewp-attrs-lista li { background:var(--amrewp-bg); border:1px solid var(--amrewp-border); padding:11px 14px; border-radius:var(--amrewp-radius); font-size:13px; line-height:1.4; }

.amrewp-single-col-side {
    min-width: 0;
    /* La columna lateral ocupa toda la altura del grid */
    align-self: stretch;
}
.amrewp-single-side-sticky {
    /* sticky funciona porque la columna padre tiene altura definida por stretch */
    position: sticky;
    top: 24px;
    background: var(--amrewp-bg-card);
    border: 1px solid var(--amrewp-border);
    border-radius: var(--amrewp-radius-lg);
    padding: 26px;
    box-shadow: var(--amrewp-shadow);
}
.amrewp-side-precio-wrap { margin-bottom:18px; padding-bottom:18px; border-bottom:1px solid var(--amrewp-border); text-align:center; }
.amrewp-side-precio { font-size:30px; font-weight:900; color:var(--amrewp-text); margin:0 0 4px; line-height:1.15; letter-spacing:-.02em; }
.amrewp-side-expensas { font-size:13px; color:var(--amrewp-secondary); margin:0; }
.amrewp-side-wa { display:block; text-align:center; width:100%; margin-bottom:20px; padding:12px; font-size:14px; }
.amrewp-side-consulta .amrewp-consulta-wrap { max-width:100%; width:100%; }
.amrewp-side-consulta .amrewp-consulta-grid { width:100%; }
.amrewp-side-consulta .amrewp-consulta-grid input,
.amrewp-side-consulta .amrewp-consulta-grid textarea {
    width: 100% !important;
    box-sizing: border-box !important;
    min-width: 0 !important;
}
.amrewp-side-consulta .amrewp-consulta-submit {
    width: 100%;
}
.amrewp-side-consulta .amrewp-consulta-titulo { font-size:12px; font-weight:800; margin-bottom:12px; text-transform:uppercase; letter-spacing:.06em; color:var(--amrewp-secondary); }
.amrewp-side-consulta .amrewp-consulta-grid { grid-template-columns:1fr; gap:10px; }

.amrewp-single-fullwidth { margin-bottom:32px; padding-top:28px; border-top:1px solid var(--amrewp-border); }
.amrewp-single-fullwidth h2 { font-size:12px; font-weight:800; margin:0 0 16px; text-transform:uppercase; letter-spacing:.06em; color:var(--amrewp-secondary); }
.amrewp-single-descripcion-content { font-size:15px; line-height:1.85; color:var(--amrewp-text-soft); }
.amrewp-adjuntos-lista { list-style:none; padding:0; margin:0; display:flex; flex-direction:column; gap:6px; }
.amrewp-adjuntos-lista a { color:var(--amrewp-text); font-size:14px; text-decoration:underline; }
.amrewp-video-wrapper { position:relative; padding-bottom:56.25%; height:0; overflow:hidden; border-radius:var(--amrewp-radius); }
.amrewp-video-wrapper iframe { position:absolute; top:0; left:0; width:100%; height:100%; }
.amrewp-single-mapa-col { margin-top:24px; padding-top:20px; border-top:1px solid var(--amrewp-border); }
.amrewp-single-mapa-col h2,.amrewp-single-mapa-wrap h2 { font-size:12px; font-weight:800; margin:0 0 12px; text-transform:uppercase; letter-spacing:.06em; color:var(--amrewp-secondary); }

/* Fix sticky Astra */
.ast-container .amrewp-single-layout,.entry-content .amrewp-single-layout,
.ast-article-single .amrewp-single-layout,.post-content .amrewp-single-layout { overflow:visible !important; }
.ast-container,.ast-article-single,.entry-content,.post-content { overflow:visible !important; }
.amrewp-single-col-side { align-self:stretch; }
.amrewp-single-side-sticky { position:-webkit-sticky; position:sticky; top:24px; }
body.amrewp-has-panel .amrewp-single-side-sticky { top:calc(52px + 16px); }

/* Consulta en ficha */
.amrewp-consulta-titulo { font-size:15px; font-weight:700; margin:0 0 14px; }
.amrewp-consulta-grid { display:grid; grid-template-columns:1fr 1fr; gap:10px; margin-bottom:14px; }
.amrewp-consulta-grid .amrewp-form-campo-full { grid-column: 1 / -1; }
.amrewp-consulta-grid .amrewp-form-campo label { display:block; font-size:11px; font-weight:800; text-transform:uppercase; letter-spacing:.05em; margin-bottom:4px; color:var(--amrewp-secondary); }
.amrewp-consulta-grid input,.amrewp-consulta-grid textarea {
    width: 100%;
    box-sizing: border-box;
    width:100%; padding:9px 12px; border:1px solid #e2e8f0 !important;
    border-radius:var(--amrewp-radius); font-family:var(--amrewp-font); font-size:13px; background:var(--amrewp-bg);
}
.amrewp-consulta-grid input:focus,.amrewp-consulta-grid textarea:focus { outline:none; border-color:var(--amrewp-accent); box-shadow:0 0 0 3px rgba(200,169,110,.15); background:#fff; }
.amrewp-consulta-grid textarea { resize:vertical; min-height:80px; }
.amrewp-turnstile { margin-bottom:14px; }
@media(max-width:580px){ .amrewp-consulta-grid { grid-template-columns:1fr; } }
@media(max-width:840px){
    .amrewp-single-layout {
        grid-template-columns: 1fr;
    }
    .amrewp-single-col-side {
        align-self: auto;
    }
    .amrewp-single-side-sticky {
        position: static;
        /* En mobile el sidebar va arriba del contenido */
        order: -1;
        margin-bottom: 24px;
    }
    .amrewp-single-col-main {
        min-height: 0;
    }
    .amrewp-side-precio { font-size:24px; }
    .amrewp-single-titulo { font-size:22px; }
}

/* ── Lightbox ── */
.amrewp-lightbox-overlay { position:fixed; inset:0; background:rgba(0,0,0,.94); z-index:999999; display:flex; align-items:center; justify-content:center; opacity:0; transition:opacity .2s; cursor:zoom-out; }
.amrewp-lightbox-overlay.amrewp-lb-visible { opacity:1; }
.amrewp-lightbox-inner { position:relative; max-width:92vw; max-height:90vh; display:flex; align-items:center; justify-content:center; cursor:default; }
.amrewp-lightbox-inner img { max-width:88vw; max-height:86vh; object-fit:contain; border-radius:3px; box-shadow:0 8px 60px rgba(0,0,0,.8); display:block; user-select:none; }
.amrewp-lb-arrow { position:fixed; top:50%; transform:translateY(-50%); background:rgba(255,255,255,.1); color:#fff; border:none; border-radius:50%; width:50px; height:50px; font-size:22px; cursor:pointer; display:flex; align-items:center; justify-content:center; z-index:1000000; transition:background .15s; }
.amrewp-lb-arrow:hover { background:rgba(255,255,255,.22); }
.amrewp-lb-prev { left:16px; } .amrewp-lb-next { right:16px; }
.amrewp-lb-arrow.amrewp-lb-hidden { opacity:0; pointer-events:none; }
.amrewp-lb-close { position:fixed; top:16px; right:20px; background:rgba(255,255,255,.1); color:#fff; border:none; border-radius:50%; width:42px; height:42px; font-size:20px; cursor:pointer; display:flex; align-items:center; justify-content:center; z-index:1000000; transition:background .15s; }
.amrewp-lb-close:hover { background:rgba(255,255,255,.22); }
.amrewp-lb-counter { position:fixed; bottom:20px; left:50%; transform:translateX(-50%); color:rgba(255,255,255,.6); font-size:12px; font-weight:600; z-index:1000000; letter-spacing:.08em; }

/* ══════════════════════════════════════════════
   PANEL APP — Layout de solapas verticales
   ══════════════════════════════════════════════ */
.amrewp-panel-app {
    display:grid; grid-template-columns:240px 1fr;
    width:100%; min-height:600px;
    border:1px solid var(--amrewp-border);
    border-radius:var(--amrewp-radius-lg); overflow:hidden;
    box-shadow:var(--amrewp-shadow); background:var(--amrewp-bg-card);
}

/* Sidebar gris oscuro */
.amrewp-tabs-sidebar {
    background:var(--amrewp-sidebar-bg); display:flex;
    flex-direction:column; padding:0;
    min-height:100%;
}
.amrewp-tabs-brand {
    padding:20px 18px 16px;
    border-bottom:1px solid var(--amrewp-sidebar-border);
    margin-bottom:8px;
}
.amrewp-tabs-brand-name {
    font-size:11px; font-weight:800; color:rgba(255,255,255,.35);
    text-transform:uppercase; letter-spacing:.12em; display:block;
}

.amrewp-tab-btn {
    display:flex; align-items:center; gap:11px;
    padding:11px 20px;
    font-family:var(--amrewp-font); font-size:13px; font-weight:500;
    color:rgba(255,255,255,.62) !important;
    background:transparent; border:none; border-left:3px solid transparent;
    cursor:pointer; text-align:left; text-decoration:none !important;
    transition:all var(--amrewp-t); width:100%; position:relative;
    letter-spacing:.01em;
}
.amrewp-tab-btn:hover {
    background:var(--amrewp-sidebar-hover);
    color:rgba(255,255,255,.9) !important;
    border-left-color:rgba(255,255,255,.18);
}
.amrewp-tab-btn.amrewp-tab-active {
    background:var(--amrewp-sidebar-active);
    color:#fff !important;
    border-left-color:var(--amrewp-sidebar-active-bar);
    font-weight:700;
}
/* Ícono rojo en todos los estados */
.amrewp-tab-icon {
    font-size:15px; flex-shrink:0; width:20px; text-align:center;
    color:var(--amrewp-sidebar-icon);
    filter:none;
}
.amrewp-tab-badge {
    margin-left:auto; background:#e03535; color:#fff;
    font-size:10px; font-weight:800; min-width:17px; height:17px;
    border-radius:3px; display:inline-flex; align-items:center; justify-content:center; padding:0 4px;
}
.amrewp-tabs-sep { height:1px; background:var(--amrewp-sidebar-border); margin:8px 0; }
.amrewp-tabs-user-info {
    margin-top:auto; padding:14px 18px;
    border-top:1px solid var(--amrewp-sidebar-border);
}
.amrewp-tabs-username {
    font-size:12px; font-weight:700; color:rgba(255,255,255,.7);
    display:block; margin-bottom:4px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap;
}
.amrewp-tabs-logout { font-size:11px; color:rgba(255,255,255,.35) !important; text-decoration:none !important; transition:color var(--amrewp-t); }
.amrewp-tabs-logout:hover { color:rgba(255,255,255,.72) !important; }
/* Tab dim — para Backend WP */
.amrewp-tab-btn.amrewp-tab-dim { opacity:.52; }
.amrewp-tab-btn.amrewp-tab-dim:hover { opacity:.85; }
/* Label texto en tab */
.amrewp-tab-label { flex:1; }
/* SVG íconos heredan el color rojo de la variable */
.amrewp-tab-icon svg { color:var(--amrewp-sidebar-icon); display:block; }

/* Content */
.amrewp-tabs-content { background:var(--amrewp-bg); overflow:hidden; }
.amrewp-tab-panel { display:none; padding:28px; animation:amrewpFadeIn .18s ease-out; }
.amrewp-tab-panel.amrewp-panel-active { display:block; }
@keyframes amrewpFadeIn { from{opacity:0;transform:translateX(6px)} to{opacity:1;transform:translateX(0)} }

/* Header dentro del panel */
.amrewp-panel-header {
    display:flex; align-items:center; justify-content:space-between;
    margin-bottom:22px; flex-wrap:wrap; gap:12px;
    padding-bottom:16px; border-bottom:1px solid var(--amrewp-border);
}
.amrewp-panel-title {
    font-family:var(--amrewp-font-display); font-size:22px;
    font-weight:400; margin:0; color:var(--amrewp-text);
}

/* Tabla en panel */
.amrewp-tabla-wrap {
    background:var(--amrewp-bg-card); border:1px solid var(--amrewp-border);
    border-radius:var(--amrewp-radius-lg); overflow:hidden;
}
.amrewp-tabla-propiedades {
    width:100%; border-collapse:collapse; font-family:var(--amrewp-font); font-size:13px;
}
.amrewp-tabla-propiedades th {
    background:var(--amrewp-bg); font-size:11px; font-weight:800;
    text-transform:uppercase; letter-spacing:.07em; color:var(--amrewp-secondary);
    padding:11px 16px; text-align:left;
    border-top:none !important; border-left:none !important; border-right:none !important;
    border-bottom:1px solid #e2e8f0 !important;
}
.amrewp-tabla-propiedades td {
    padding:13px 16px; color:var(--amrewp-text); vertical-align:middle;
    border-top:none !important; border-left:none !important; border-right:none !important;
    border-bottom:1px solid #e2e8f0 !important;
}
.amrewp-tabla-propiedades tbody tr:last-child td { border-bottom:none !important; }
.amrewp-tabla-propiedades tbody tr:hover td { background:#fafbfc; }
.amrewp-tabla-propiedades a { color:var(--amrewp-text); font-weight:600; text-decoration:none; }
.amrewp-tabla-propiedades a:hover { color:var(--amrewp-accent); }
.amrewp-td-acciones { display:flex; gap:6px; flex-wrap:wrap; align-items:center; }
/* En la columna Acciones el btn Editar no necesita sombra — el td ya delimita la celda */
.amrewp-tabla-propiedades td .amrewp-td-acciones .amrewp-btn-secondary {
    box-shadow: none !important;
}

.amrewp-estado { font-size:11px; font-weight:700; padding:3px 10px; border-radius:3px; display:inline-block; }
.amrewp-estado-publicado { background:var(--amrewp-success-bg); color:var(--amrewp-success); }
.amrewp-estado-pendiente { background:var(--amrewp-warning-bg); color:var(--amrewp-warning); }
.amrewp-estado-borrador  { background:#f1f5f9; color:var(--amrewp-secondary); }

/* Ordenamiento de tablas */
.amrewp-tabla-propiedades th[data-sort] {
    cursor: pointer;
    user-select: none;
    white-space: nowrap;
}
.amrewp-tabla-propiedades th[data-sort]:hover {
    background: #edf0f4;
    color: var(--amrewp-text);
}
.amrewp-th-sort-icon {
    display: inline-flex;
    flex-direction: column;
    gap: 1px;
    margin-left: 5px;
    opacity: .35;
    vertical-align: middle;
    transition: opacity var(--amrewp-t);
}
.amrewp-th-sort-icon svg { display: block; }
th[data-sort]:hover .amrewp-th-sort-icon { opacity: .65; }
th.amrewp-sort-asc .amrewp-th-sort-icon,
th.amrewp-sort-desc .amrewp-th-sort-icon { opacity: 1; }
th.amrewp-sort-asc .amrewp-sort-up   { color: var(--amrewp-primary); }
th.amrewp-sort-desc .amrewp-sort-down { color: var(--amrewp-primary); }

/* Leads */
.amrewp-tabla-leads td { vertical-align:middle; }
.amrewp-leads-filtros { display:flex; gap:4px; flex-wrap:wrap; }
.amrewp-lead-estado-select {
    font-family:var(--amrewp-font); font-size:12px; padding:5px 28px 5px 10px;
    border:1px solid var(--amrewp-border); border-radius:3px;
    background:var(--amrewp-bg); cursor:pointer; appearance:none; -webkit-appearance:none;
    color:var(--amrewp-text);
    background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' fill='none' viewBox='0 0 24 24' stroke='%2364748b' stroke-width='2'%3E%3Cpath d='M19 9l-7 7-7-7'/%3E%3C/svg%3E");
    background-repeat:no-repeat; background-position:right 8px center;
}
.amrewp-lead-estado-select:focus { outline:none; border-color:var(--amrewp-accent); }
.amrewp-estado-nuevo      { color:#1d4ed8; font-weight:700; }
.amrewp-estado-contactado { color:var(--amrewp-success); font-weight:700; }
.amrewp-estado-cerrado    { color:var(--amrewp-secondary); }

/* Perfil */
.amrewp-perfil-wrap { max-width:100%; }
.amrewp-form-section-header {
    padding:13px 20px; background:var(--amrewp-bg);
    border-bottom:1px solid var(--amrewp-border);
    display:flex; align-items:center; gap:8px;
}
.amrewp-form-section-header h3 { margin:0; font-size:11px; font-weight:800; text-transform:uppercase; letter-spacing:.07em; color:var(--amrewp-secondary); }
.amrewp-form-section-body { padding:20px; }

/* Mobile app panel */
@media(max-width:700px){
    .amrewp-panel-app { grid-template-columns:1fr; }
    .amrewp-tabs-sidebar { flex-direction:row; overflow-x:auto; padding:0; min-height:52px; scrollbar-width:none; }
    .amrewp-tabs-sidebar::-webkit-scrollbar { display:none; }
    .amrewp-tabs-brand,.amrewp-tabs-user-info,.amrewp-tabs-sep { display:none; }
    .amrewp-tab-btn {
        flex-direction:column; gap:2px; padding:8px 12px;
        font-size:10px; border-left:none; border-bottom:3px solid transparent; min-width:64px;
    }
    .amrewp-tab-btn.amrewp-tab-active { border-left-color:transparent; border-bottom-color:var(--amrewp-sidebar-active-bar); }
    .amrewp-tab-icon { font-size:17px; }
    .amrewp-tab-panel { padding:16px; }
    .amrewp-panel-title { font-size:18px; }
    .amrewp-tabla-propiedades { font-size:12px; }
    .amrewp-tabla-propiedades th,.amrewp-tabla-propiedades td { padding:9px 10px; }
}

/* ══════════════════════════════════════════════════════════════════════════
   SLIDER DE PROPIEDADES [gi_slider]
   ══════════════════════════════════════════════════════════════════════════ */

.amrewp-slider {
    position: relative;
    width: 100%;
    height: var(--slider-h, 580px);
    overflow: hidden;
    background: #111;
    font-family: var(--amrewp-font);
}

/* Track y slides */
.amrewp-slider-track { position: relative; width: 100%; height: 100%; }

.amrewp-slide {
    position: absolute;
    inset: 0;
    opacity: 0;
    transition: opacity 1.2s cubic-bezier(.4,0,.2,1);
    pointer-events: none;
}
.amrewp-slide-active {
    opacity: 1;
    pointer-events: auto;
}

/* Fondo */
.amrewp-slide-bg {
    position: absolute;
    inset: 0;
    background-size: cover;
    background-position: center;
    background-color: #1a1a2e;
    transform: scale(1.06);
    transition: transform 9s ease-out;
}
.amrewp-slide-active .amrewp-slide-bg { transform: scale(1); }

/* Overlay degradado */
.amrewp-slide-overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(
        105deg,
        rgba(0,0,0,.72) 0%,
        rgba(0,0,0,.45) 45%,
        rgba(0,0,0,.12) 100%
    );
}

/* Tarjeta flotante */
.amrewp-slide-card {
    position: absolute;
    bottom: 52px;
    left: 52px; /* default: izquierda */
    max-width: 380px;
    background: rgba(255,255,255,.96);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    border-radius: var(--amrewp-radius, 3px);
    padding: 24px 26px;
    box-shadow: 0 20px 60px rgba(0,0,0,.25), 0 4px 16px rgba(0,0,0,.15);
    transform: translateY(12px);
    opacity: 0;
    transition: transform .55s .2s cubic-bezier(.4,0,.2,1), opacity .55s .2s;
}
.amrewp-slide-active .amrewp-slide-card {
    transform: translateY(0);
    opacity: 1;
}

/* Badges dentro de la tarjeta del slider */
.amrewp-slide-card-badges {
    display: flex;
    gap: 6px;
    margin-bottom: 10px;
    flex-wrap: wrap;
}
.amrewp-slide-badge {
    font-size: 10px;
    font-weight: 800;
    letter-spacing: .07em;
    text-transform: uppercase;
    padding: 4px 10px;
    border-radius: var(--amrewp-radius, 3px);
    background: var(--amrewp-primary);
    color: #fff;
    display: inline-block;
}
.amrewp-slide-badge-op {
    background: var(--amrewp-primary);
    color: #fff;
}

/* Título */
.amrewp-slide-titulo {
    margin: 0 0 6px;
    font-size: 18px;
    font-weight: 700;
    line-height: 1.3;
    color: var(--amrewp-text, #0f172a);
}
.amrewp-slide-titulo a {
    color: inherit;
    text-decoration: none !important;
}
.amrewp-slide-titulo a:hover { color: var(--amrewp-primary, #1a1a2e); }

/* Ubicación */
.amrewp-slide-ubicacion {
    margin: 0 0 10px;
    font-size: 12px;
    color: var(--amrewp-text-soft, #475569);
    display: flex;
    align-items: flex-start;
    gap: 4px;
    line-height: 1.4;
}
.amrewp-slide-ubicacion svg { flex-shrink: 0; margin-top: 1px; opacity: .6; }

/* Precio */
.amrewp-slide-precio {
    font-size: 24px;
    font-weight: 900;
    color: var(--amrewp-primary, #1a1a2e);
    letter-spacing: -.02em;
    line-height: 1.1;
    margin-bottom: 14px;
}

/* Atributos */
.amrewp-slide-attrs {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-bottom: 18px;
    padding-bottom: 16px;
    border-bottom: 1px solid var(--amrewp-border, #e2e8f0);
}
.amrewp-slide-attrs span {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    font-size: 13px;
    font-weight: 600;
    color: var(--amrewp-text, #0f172a);
}
.amrewp-slide-attrs span svg { opacity: .55; }

/* Botón ver propiedad */
.amrewp-slide-btn {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-size: 13px;
    font-weight: 700;
    color: var(--amrewp-primary, #1a1a2e) !important;
    text-decoration: none !important;
    letter-spacing: .02em;
    transition: gap .2s;
}
.amrewp-slide-btn:hover { gap: 10px; }
.amrewp-slide-btn svg { transition: transform .2s; }
.amrewp-slide-btn:hover svg { transform: translateX(3px); }

/* Flechas de navegación */
.amrewp-slider-arrow {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    z-index: 10;
    background: rgba(255,255,255,.18);
    backdrop-filter: blur(6px);
    border: 1px solid rgba(255,255,255,.3);
    color: #fff;
    width: 48px;
    height: 48px;
    border-radius: var(--amrewp-radius, 3px);
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: background .2s, transform .2s;
}
.amrewp-slider-arrow:hover {
    background: rgba(255,255,255,.32);
    transform: translateY(-50%) scale(1.06);
}
.amrewp-slider-prev { left: 20px; }
.amrewp-slider-next { right: 20px; }

/* Dots */
.amrewp-slider-dots {
    position: absolute;
    bottom: 20px;
    left: 50%;
    transform: translateX(-50%);
    display: flex;
    gap: 8px;
    z-index: 10;
}
.amrewp-slider-dot {
    width: 8px;
    height: 8px;
    border-radius: var(--amrewp-radius, 3px);
    background: rgba(255,255,255,.4);
    border: none;
    cursor: pointer;
    transition: background .2s, width .25s;
    padding: 0;
}
.amrewp-dot-active {
    background: #fff;
    width: 24px;
}

/* Responsive */
@media (max-width: 640px) {
    .amrewp-slider { height: 480px; }
    .amrewp-slide-card {
        left: 16px;
        right: 16px;
        bottom: 60px;
        max-width: 100%;
        padding: 18px 20px;
    }
    .amrewp-slide-titulo { font-size: 15px; }
    .amrewp-slide-precio { font-size: 20px; }
    .amrewp-slider-arrow { display: none; }
}


/* ============================================================
   LAYOUT LISTADO — sidebar filtros izquierda + cards derecha
   ============================================================ */
.amrewp-listado-wrap {
    display: grid;
    grid-template-columns: 260px 1fr;
    gap: 28px;
    align-items: start;
}
@media (max-width: 900px) {
    .amrewp-listado-wrap { grid-template-columns: 1fr; }
}

/* Resultados */
.amrewp-listado-resultados { min-width: 0; }

/* Sidebar filtros vertical */
.amrewp-filtros-sidebar {
    background: var(--amrewp-bg-card);
    border: 1px solid var(--amrewp-border);
    border-radius: var(--amrewp-radius-lg);
    padding: 20px;
    position: sticky;
    top: 24px;
}
.amrewp-filtros-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 18px;
    padding-bottom: 12px;
    border-bottom: 2px solid var(--amrewp-border);
}
.amrewp-filtros-titulo {
    font-size: 13px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: .08em;
    color: var(--amrewp-text);
}
.amrewp-filtros-limpiar {
    font-size: 12px;
    color: var(--amrewp-primary);
    text-decoration: none;
    font-weight: 600;
}
.amrewp-filtros-limpiar:hover { text-decoration: underline; }

.amrewp-filtros-grupo {
    margin-bottom: 16px;
}
.amrewp-filtros-label {
    display: block;
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .07em;
    color: var(--amrewp-secondary);
    margin-bottom: 6px;
}
.amrewp-filtros-select,
.amrewp-filtros-input {
    width: 100%;
    height: 38px;
    padding: 0 10px;
    border: 1.5px solid #e2e8f0 !important;
    border-radius: var(--amrewp-radius);
    font-family: var(--amrewp-font);
    font-size: 13px;
    background: var(--amrewp-bg);
    color: var(--amrewp-text);
    transition: border-color var(--amrewp-t);
    appearance: none; -webkit-appearance: none;
    box-sizing: border-box;
}
.amrewp-filtros-select {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' fill='none' viewBox='0 0 24 24' stroke='%2364748b' stroke-width='2'%3E%3Cpath d='M19 9l-7 7-7-7'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 8px center;
    padding-right: 28px;
}
.amrewp-filtros-select:focus,
.amrewp-filtros-input:focus {
    outline: none;
    border-color: var(--amrewp-primary);
    box-shadow: 0 0 0 3px color-mix(in srgb, var(--amrewp-primary) 15%, transparent);
}
.amrewp-filtros-rango {
    display: flex;
    gap: 8px;
}
.amrewp-filtros-rango .amrewp-filtros-input { flex: 1; }

.amrewp-filtros-btn-buscar {
    width: 100%;
    margin-top: 4px;
    justify-content: center;
}

/* Loading state */
.amrewp-cards-loading {
    opacity: 0.5;
    pointer-events: none;
    transition: opacity 0.2s;
}

/* ── Panel de Configuración de Taxonomías ─────────────────────────────────── */
.amrewp-config-desc { font-size:13px; color:var(--amrewp-secondary); margin:0 0 20px; }

.amrewp-config-seccion {
    border: 1px solid var(--amrewp-border);
    border-radius: var(--amrewp-radius);
    margin-bottom: 12px;
    overflow: hidden;
}
.amrewp-config-seccion-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 12px 16px;
    background: var(--amrewp-light);
    cursor: default;
}
.amrewp-config-seccion-header h3 {
    margin: 0;
    font-size: 14px;
    font-weight: 600;
    color: var(--amrewp-dark);
}
.amrewp-config-count { color: var(--amrewp-secondary); font-weight: 400; font-size: 13px; }
.amrewp-config-toggle {
    font-size: 12px;
    padding: 4px 12px;
    border: 1px solid var(--amrewp-border);
    border-radius: 4px;
    background: #fff;
    cursor: pointer;
    color: var(--amrewp-dark);
}
.amrewp-config-toggle:hover { border-color: var(--amrewp-primary); color: var(--amrewp-primary); }

.amrewp-config-body { padding: 12px 16px; }

.amrewp-config-lista { list-style: none; margin: 0 0 12px; padding: 0; }
.amrewp-config-item {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 8px 0;
    border-bottom: 1px solid var(--amrewp-border);
    flex-wrap: wrap;
}
.amrewp-config-item:last-child { border-bottom: none; }
.amrewp-config-nombre { font-size: 13px; font-weight: 500; flex: 1; min-width: 120px; }
.amrewp-config-slug { font-size: 11px; color: var(--amrewp-secondary); font-family: monospace; }
.amrewp-config-acciones { display: flex; gap: 6px; margin-left: auto; }

.amrewp-config-btn-editar,
.amrewp-config-btn-eliminar,
.amrewp-config-btn-cancel,
.amrewp-config-btn-ok {
    font-size: 12px;
    padding: 3px 10px;
    border-radius: 4px;
    cursor: pointer;
    border: 1px solid transparent;
}
.amrewp-config-btn-editar { background: #f3f4f6; border-color: var(--amrewp-border); color: #374151; }
.amrewp-config-btn-editar:hover { border-color: var(--amrewp-primary); color: var(--amrewp-primary); }
.amrewp-config-btn-eliminar { background: #fde8e8; border-color: #f8b4b4; color: #9b1c1c; }
.amrewp-config-btn-eliminar:hover { background: #c00; color:#fff; border-color:#c00; }
.amrewp-config-btn-ok { background: var(--amrewp-primary); color: #fff; border-color: var(--amrewp-primary); }
.amrewp-config-btn-cancel { background: #f3f4f6; border-color: var(--amrewp-border); color: #374151; }

.amrewp-config-input-editar {
    font-size: 13px;
    padding: 4px 8px;
    border: 1px solid var(--amrewp-primary);
    border-radius: 4px;
    flex: 1;
    min-width: 120px;
}

.amrewp-config-agregar {
    display: flex;
    gap: 8px;
    align-items: center;
    padding-top: 10px;
}
.amrewp-config-input-nuevo {
    flex: 1;
    padding: 8px 10px;
    font-size: 13px;
    border: 1px solid var(--amrewp-border);
    border-radius: var(--amrewp-radius);
}
.amrewp-config-input-nuevo:focus { border-color: var(--amrewp-primary); outline: none; }

/* Ojo contraseña — visibilidad controlada por clase */
.amrewp-ya-logueado { font-size: 14px; color: var(--amrewp-text); text-align: center; padding: 16px 0; }
