:root {
	/* Tokens neutros del producto: cualquier sitio puede sobrescribirlos desde su CSS. */
	--conv-bg: #ffffff;
	--conv-surface: #f6f7f7;
	--conv-fg: #1d2327;
	--conv-muted: #50575e;
	--conv-border: #dcdcde;
	--conv-accent: #2271b1;
	--conv-accent-strong: #135e96;
	--conv-highlight: #8a6500;
	--conv-ok: #0a7c3f;
	--conv-accent-alt: #3858e9;
	--conv-font-display: 'Outfit', system-ui, -apple-system, 'Segoe UI', Roboto, sans-serif;
	--conv-font-body: 'Outfit', system-ui, -apple-system, 'Segoe UI', Roboto, sans-serif;
}

/**
 * Convoca Enroll — Public CSS v2
 *
 * Variables PROPIAS del plugin, con fallback neutro. El sitio puede sobrescribirlas desde su CSS
 * (o desde Ajustes → CSS adicional) sin tocar el plugin:
 *
 *   .convoca-activity-card {
 *     --conv-card-bg-start: var(--conv-accent-strong);
 *     --conv-card-bg-end:   var(--conv-accent-strong);
 *     --conv-card-fg:       #ffffff;
 *     --conv-accent:        var(--conv-highlight);
 *   }
 *
 * Antes se usaban presets de color del tema que muchos temas no definen: el
 * aspecto acababa dependiendo de los fallbacks, que eran la paleta de un cliente concreto.
 */
.convoca-activity-card,
.conv-enroll-block {
    --conv-card-bg-start: #1f2937;
    --conv-card-bg-end: #111827;
    --conv-card-fg: #ffffff;
    --conv-accent: #fbbf24;
    --conv-ok: #166534;
}

/* ── Activity Card ────────────────────────────── */
.convoca-activity-card {
    background: linear-gradient(135deg,
            var(--conv-card-bg-start, #1f2937),
            var(--conv-card-bg-end, #111827));
    color: var(--conv-card-fg, #ffffff);
    border-radius: var(--wp--custom--radius--default, 12px);
    padding: 1.5rem;
    margin-bottom: 1.5rem;
    position: relative;
    overflow: hidden;
}

.convoca-activity-card::after {
    content: '';
    position: absolute;
    top: -40px;
    right: -40px;
    width: 140px;
    height: 140px;
    border-radius: 50%;
    background: rgba(255, 135, 0, 0.1);
    pointer-events: none;
}

.convoca-activity-card--externa {
    background: linear-gradient(135deg,
            var(--conv-ok, #166534),
            var(--conv-card-bg-start, #1f2937));
}

.convoca-activity-card .conv-activity-title {
    font-family: var(--conv-font-display, 'Outfit', sans-serif);
    font-size: 1.3rem;
    margin: 0 0 0.5rem;
    color: var(--conv-accent, #fbbf24);
    position: relative;
    z-index: 1;
}

.convoca-activity-card .conv-activity-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 1rem;
    font-size: 0.9rem;
    opacity: 0.9;
    position: relative;
    z-index: 1;
}

.convoca-badge--externa {
    background: var(--conv-ok, #166534);
    color: var(--conv-card-fg, #ffffff);
    padding: 0.15rem 0.6rem;
    border-radius: var(--wp--custom--radius--pill, 50px);
    font-size: 0.75rem;
    font-weight: 700;
    position: absolute;
    top: 1rem;
    right: 1rem;
    z-index: 1;
}

/* ── Plazas badge ─────────────────────────────── */
.conv-plazas--disponible {
    background: rgba(45, 90, 39, 0.2);
    padding: 0.2rem 0.6rem;
    border-radius: var(--wp--custom--radius--pill, 50px);
    font-weight: 600;
}

.conv-plazas--agotada {
    background: rgba(255, 80, 10, 0.2);
    color: var(--conv-accent-strong, #b45309);
    padding: 0.2rem 0.6rem;
    border-radius: var(--wp--custom--radius--pill, 50px);
    font-weight: 600;
}

/* ── Price toggle ─────────────────────────────── */
.conv-price-toggle {
    display: flex;
    gap: 1rem;
    margin-top: 0.75rem;
    position: relative;
    z-index: 1;
}

.conv-price {
    padding: 0.3rem 0.8rem;
    border-radius: var(--wp--custom--radius--small, 8px);
    font-size: 0.9rem;
    font-weight: 600;
    opacity: 0.5;
    transition: all var(--wp--custom--transition, 0.3s ease);
}

.conv-price--active,
.conv-price--general {
    opacity: 1;
    background: rgba(255, 255, 255, 0.15);
}

.conv-price--socio.conv-price--active {
    background: var(--conv-accent, #fbbf24);
    color: var(--conv-card-bg-start, #1f2937);
    opacity: 1;
}

/* Common styles removed in favor of convoca-common.css */

/* ── Waitlist form ────────────────────────────── */
/* El botón de envío del formulario de lista de espera es el `.convoca-btn-primary`
   de form-inscripcion.php. Antes el selector pedía `.conv-submit-btn`, una clase que
   solo existía en el panel de reservas (que carga OTRA hoja), así que la regla nunca
   se aplicaba: la lista de espera perdía su color de aviso. */
.conv-form--waitlist .convoca-btn-primary {
    background: var(--conv-accent, #fbbf24);
    border-color: var(--conv-accent, #fbbf24);
    color: var(--conv-card-bg-start, #1f2937);
}

.conv-form--waitlist .convoca-btn-primary:hover {
    background: #e69a00;
    border-color: #e69a00;
}

/* ── Editor preview ───────────────────────────── */
.conv-block-preview {
    border: 2px dashed #c3c4c7;
    border-radius: var(--wp--custom--radius--small, 8px);
    padding: 1.5rem;
    text-align: center;
}

.conv-block-preview__header {
    font-size: 0.95rem;
}

/* Badges, small styles, etc moved to convoca-common.css */

/* ── Print ────────────────────────────────────── */
@media print {
    .convoca-activity-card {
        break-inside: avoid;
    }
}
