
/* ==========================================================================
   Reset básico
   ========================================================================== */

*,
*::before,
*::after {
    box-sizing: border-box;
}

html {
    font-size: 16px;
    -webkit-text-size-adjust: 100%;
}

body {
    margin: 0;
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
    font-size: 1rem;
    line-height: 1.5;
    color: #212529;
    background-color: #fff;
}

a {
    color: #0d6efd;
    text-decoration: underline;
}

a:hover {
    color: #0a58ca;
}

img {
    max-width: 100%;
    height: auto;
}

/* ==========================================================================
   Layout básico
   ========================================================================== */

.site-container {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 1rem;
}

.site-header {
    padding: 1rem 0;
    border-bottom: 1px solid #dee2e6;
}

.site-main {
    padding: 2rem 0;
}

.site-footer {
    padding: 2rem 0;
    border-top: 1px solid #dee2e6;
    background-color: #f8f9fa;
}

/* ==========================================================================
   Accesibilidad
   ========================================================================== */

.screen-reader-text {
    border: 0;
    clip: rect(1px, 1px, 1px, 1px);
    clip-path: inset(50%);
    height: 1px;
    margin: -1px;
    overflow: hidden;
    padding: 0;
    position: absolute;
    width: 1px;
    word-wrap: normal !important;
}

.screen-reader-text:focus {
    background-color: #f1f1f1;
    clip: auto !important;
    clip-path: none;
    color: #21759b;
    display: block;
    font-size: 0.875rem;
    font-weight: 700;
    height: auto;
    left: 5px;
    padding: 15px 23px 14px;
    text-decoration: none;
    top: 5px;
    width: auto;
    z-index: 100000;
}

/* ==========================================================================
   Alineación WordPress
   ========================================================================== */

.alignleft {
    float: left;
    margin-right: 1.5rem;
    margin-bottom: 1rem;
}

.alignright {
    float: right;
    margin-left: 1.5rem;
    margin-bottom: 1rem;
}

.aligncenter {
    display: block;
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 1rem;
}

.clearfix::after {
    content: "";
    display: table;
    clear: both;
}

body.page-template-page-preguntas-frecuentes-php {
    background: linear-gradient(135deg, #eff6ff 0%, #ecfeff 50%, #f0fdf4 100%);
}

.card-hover {
    transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.card-hover:hover {
    transform: translateY(-3px);
    box-shadow: 0 16px 32px -8px rgba(1,183,255,0.20);
}

.faq-item {
    border-bottom: 1px solid #e5e7eb;
}

.faq-item:last-child {
    border-bottom: none;
}

.faq-trigger {
    width: 100%;
    text-align: left;
    background: none;
    border: none;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding: 1.25rem 0;
    transition: color 0.15s;
}

.faq-trigger:hover .faq-question {
    color: var(--celeste);
}

.faq-trigger[aria-expanded="true"] .faq-question {
    color: var(--celeste);
}

.faq-icon {
    flex-shrink: 0;
    width: 1.5rem;
    height: 1.5rem;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(1,183,255,0.10);
    transition: background 0.2s, transform 0.25s ease;
}

.faq-trigger[aria-expanded="true"] .faq-icon {
    background: var(--celeste);
    transform: rotate(180deg);
}

.faq-trigger[aria-expanded="true"] .faq-icon svg {
    stroke: white;
}

.faq-icon svg {
    stroke: var(--celeste);
    transition: stroke 0.15s;
}

.faq-body {
    overflow: hidden;
    max-height: 0;
    transition: max-height 0.35s ease, padding 0.25s ease;
    padding-bottom: 0;
}

.faq-body.open {
    max-height: 800px;
    padding-bottom: 1.25rem;
}

.faq-question {
    font-size: 0.9375rem;
    font-weight: 600;
    color: #101828;
    line-height: 1.5;
    transition: color 0.15s;
}

.cat-tab {
    display: inline-flex;
    align-items: center;
    gap: 0.75rem;
    padding: 0.75rem 1rem;
    border-radius: 1rem;
    font-size: 0.875rem;
    font-weight: 600;
    cursor: pointer;
    transition: background 0.2s, color 0.2s, border-color 0.2s;
    background: white;
    color: #4a5565;
}

.cat-tab.active {
    background: linear-gradient(135deg, var(--celeste), #59168b);
    color: white;
    border-color: transparent;
}

.cat-tab:not(.active):hover {
    border-color: var(--celeste);
    color: var(--celeste);
}

.cat-panel {
    display: none;
}

.cat-panel.active {
    display: block;
}

.count-badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 1.375rem;
    height: 1.375rem;
    padding: 0 0.375rem;
    border-radius: 999px;
    font-size: 0.75rem;
    font-weight: 700;
    background: rgba(1,183,255,0.15);
    color: var(--celeste);
}

.cat-tab.active .count-badge {
    background: rgba(255,255,255,0.25);
    color: white;
}

@media (min-width: 640px) {
    .faq-question {
        font-size: 1rem;
    }
}

/* ==========================================================================
   Legal Pages (Guest, No Navigation)
   ========================================================================== */

:root {
    --vfr-legal-border: #dbe3ee;
    --vfr-legal-surface: #f8fbff;
    --vfr-legal-title: #0f172a;
    --vfr-legal-text: #334155;
    --vfr-legal-muted: #64748b;
    --vfr-legal-accent: #01b7ff;
}

.vfr-legal-shell {
    width: min(980px, 100% - 2rem);
    margin: 0 auto;
}

.vfr-legal-header {
    background: #ffffff;
    border-bottom: 1px solid var(--vfr-legal-border);
    padding: 0;
}

.vfr-legal-brand {
    display: flex;
    flex-direction: column;
    gap: 0.15rem;
}

.vfr-legal-logo-wrap {
    width: 3rem;
    height: 3rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 1px solid #e5e7eb;
    border-radius: 0.75rem;
    background: #ffffff;
    margin-bottom: 0;
}

.vfr-legal-logo {
    width: 2rem;
    height: 2rem;
    object-fit: contain;
}

.vfr-legal-header-tag {
    font-size: 0.75rem;
    line-height: 1rem;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: #6a7282;
    border: 1px solid #e5e7eb;
    border-radius: 999px;
    padding: 0.28rem 0.65rem;
}

.vfr-legal-brand-name {
    font-size: 1rem;
    line-height: 1.2;
    font-weight: 700;
    color: var(--vfr-legal-title);
}

.vfr-legal-brand-sub {
    font-size: 0.8125rem;
    color: var(--vfr-legal-muted);
}

.vfr-legal-main {
    min-height: calc(100vh - 163px);
    padding: 0 0 2rem;
}
.vfr-legal-page {
    width: 100%;
    margin: 0 auto;
}
.vfr-legal-banner {
    margin: 0;
}
body.page-template-template-full-width{
    display: block;
}
.banner-hero-simple {
    min-height: 132px;
    display: flex;
    align-items: center;
    padding: 1rem 1.25rem;
    border-radius: 0 0 1rem 1rem;
    background-image: linear-gradient(112deg, rgba(209, 52, 0, 0.90) 0%, rgba(255, 63, 0, 0.90) 52%, rgba(255, 94, 41, 0.90) 100%);
}
.banner-hero-simple .content{
    max-width: 1480px;
	width: 100%;
    margin: 0 auto;
}
@media (max-width: 575px){
    .banner-hero-simple {
        min-height: 90px;
    }
}
.vfr-legal-title {
    margin: 0;
    font-size: clamp(1.25rem, 2.8vw, 1.9rem);
    line-height: 1.15;
    color: #ffffff;
    font-weight: 700;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.vfr-legal-content {
    margin-top: 1.1rem;
    border: 1px solid #e5e7eb;
    border-radius: 1rem;
    padding: clamp(1.1rem, 2.2vw, 1.8rem);
    background: #ffffff;
    color: var(--vfr-legal-text);
    line-height: 1.8;
    font-size: 1.02rem;
    box-shadow: 0 2px 8px -4px rgba(2, 6, 23, 0.08);
    max-width: 1100px;
    margin-left: auto;
    margin-right: auto;
}

.vfr-legal-content > *:first-child {
    margin-top: 0;
}

.vfr-legal-content > *:last-child {
    margin-bottom: 0;
}

.vfr-legal-content h2,
.vfr-legal-content h3,
.vfr-legal-content h4 {
    color: var(--vfr-legal-title);
    line-height: 1.35;
    margin-top: 1.4em;
}

.vfr-legal-content a {
    color: #005f9e;
}

.vfr-legal-content ul,
.vfr-legal-content ol {
    padding-left: 1.25rem;
}

.vfr-legal-footer {
    border-top: 1px solid rgba(255,255,255,0.10);
    background: var(--oscuro);
    padding: 0;
}

.vfr-legal-footer-copy {
    margin: 0;
    text-align: center;
    color: rgba(255,255,255,0.60);
    font-size: 0.95rem;
    line-height: 1.4;
}

.vfr-legal-footer-subcopy {
    margin-top: 0.45rem;
    font-size: 0.8rem;
    color: rgba(255,255,255,0.50);
    display: inline-flex;
    align-items: center;
    gap: 0.25rem;
}

.vfr-heart {
    color: #ff7a1a;
    line-height: 1;
}:root {
	--verde: #56bc30;
	--naranja: #ff3f00;
	--amarillo: #ffc010;
	--celeste: #3498db;
	--claro: #f4f3ef;
	--oscuro: #00021e;

	--color-sky: var(--celeste);
	--color-green: var(--verde);
	--color-indigo: #4f39f6;
	--color-purple: #9810fa;
	--color-pink: #e60076;
	--auth-bg-gradient: linear-gradient(
		135deg,
		rgba(49, 44, 133, 0.95) 0%,
		rgba(89, 22, 139, 0.9) 50%,
		rgba(134, 16, 67, 0.95) 100%
	);
	/* Ui Kit_Typography */
	--text-primary: var(--oscuro);
	--text-secondary: #4a5565;
	--text-muted: #364153;
	--surface: #ffffff;
	--surface-muted: var(--claro);
	--border: rgba(0, 0, 0, 0.1);
}
.d-none{
	display: none;
}
/* ===== Mi Perfil: sidebar tabs + edit mode ===== */
.vfr-tab-btn {
	width: 100%;
	min-height: 44px;
	border-radius: 10px;
	border: none;
	background: transparent;
	color: #364153;
	font-size: 16px;
	line-height: 1.35;
	font-weight: 700;
	text-align: left;
	padding: 0 12px;
	transition: all .2s ease;
}

.vfr-tab-btn:hover {
	background: rgba(79, 57, 246, 0.08);
	color: #4f39f6;
}

.vfr-tab-btn.is-active {
	border: 1px solid rgba(79, 57, 246, 0.2);
	color: #fff;
	background: linear-gradient(90deg, #4f39f6 0%, #9810fa 100%);
	box-shadow: 0 8px 18px -10px rgba(79, 57, 246, 0.8);
}

.vfr-mobile-select-wrap {
	margin-top: 14px;
	margin-bottom: 8px;
	border: 1px solid rgba(0, 0, 0, 0.08);
}

.vfr-profile-top-nav {
	margin-top: 14px;
	margin-bottom: 16px;
	backdrop-filter: blur(4px);
}

.vfr-profile-top-nav-track {
	display: flex;
	align-items: center;
	gap: 8px;
	flex-wrap: wrap;
}

@media (min-width: 1024px) {
	.vfr-profile-top-nav .vfr-tab-btn {
		width: auto;
		min-height: 40px;
		padding: 0 16px;
		font-size: 14px;
		border: 1px solid transparent;
		border-radius: 999px;
		text-align: center;
	}
}
@media (max-width: 1023px) {
	.nav-section-lateral{
		padding-top: 60px !important;
	}
}

.edit-mode [data-edit-group="bottom"] {
	display: none !important;
}

.edit-mode input.field-editable:not([readonly]),
.edit-mode textarea.field-editable:not([readonly]) {
	background: #fff !important;
	border-color: #4f39f6 !important;
	cursor: text;
}

.edit-mode #avatarOverlay {
	display: flex;
}
*,
*::before,
*::after {
	box-sizing: border-box;
}
html,
body {
	height: 100%;
}
body {
	margin: 0;
	font-family: Arimo, system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial,
		"Apple Color Emoji", "Segoe UI Emoji";
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}
footer{
	position: relative;
}
/* Ui Kit_Typography */
.ui-kit {
	color: var(--text-primary);
}

/* Headings / text */
.ui-h1 {
	margin: 0;
	color: var(--text-primary);
	font-size: 36px;
	line-height: 40px;
	font-weight: 700;
}
.ui-h2 {
	margin: 0;
	color: var(--text-primary);
	font-size: 24px;
	line-height: 32px;
	font-weight: 700;
}
.ui-h3 {
	margin: 0;
	color: var(--text-primary);
	font-size: 20px;
	line-height: 28px;
	font-weight: 700;
}
.ui-h4 {
	margin: 0;
	color: var(--text-primary);
	font-size: 16px;
	line-height: 24px;
	font-weight: 700;
}
.ui-text {
	margin: 0;
	color: var(--text-muted);
	font-size: 14px;
	line-height: 20px;
}
.ui-text-sm {
	margin: 0;
	color: var(--text-secondary);
	font-size: 14px;
	line-height: 20px;
}
.ui-text-xs {
	margin: 0;
	color: var(--text-secondary);
	font-size: 12px;
	line-height: 16px;
}
.ui-link {
	color: var(--color-sky);
	font-weight: 700;
	text-decoration: underline;
	text-underline-offset: 2px;
}
.ui-link:hover {
	text-decoration-thickness: 2px;
}
/* Color helpers (text) */
.text-sky {
	color: var(--color-sky);
}
.text-green {
	color: var(--color-green);
}
.text-indigo {
	color: var(--color-indigo);
}
.text-purple {
	color: var(--color-purple);
}
.text-pink {
	color: var(--color-pink);
}
.text-primary {
	color: var(--text-primary);
}
.text-secondary {
	color: var(--text-secondary);
}
.text-muted {
	color: var(--text-muted);
}

/* Color helpers (background) */
.bg-sky {
	background: var(--color-sky);
}
.bg-green {
	background: var(--color-green);
}
.bg-indigo {
	background: var(--color-indigo);
}
.bg-purple {
	background: var(--color-purple);
}
.bg-pink {
	background: var(--color-pink);
}
.bg-auth-gradient {
	background: var(--auth-bg-gradient);
}

/* ── Auth Messages ────────────────────────────────────────────────── */
.auth-message {
	display: none !important;
	align-items: flex-start;
	gap: 10px;
	padding: 12px 14px;
	border-radius: 10px;
	border: 1px solid transparent;
	font-size: 13px;
	line-height: 1.5;
	font-weight: 500;
}
.auth-message.show {
	display: flex !important;
}
/* Icono decorativo via pseudo-elemento */
.auth-message::before {
	content: '';
	flex-shrink: 0;
	width: 16px;
	height: 16px;
	margin-top: 1px;
	background-size: contain;
	background-repeat: no-repeat;
	background-position: center;
}
/* Error */
.auth-message.error {
	background-color: #fef2f2;
	border-color: #fecaca;
	color: #991b1b;
}
.auth-message.error::before {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23dc2626' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cline x1='12' y1='8' x2='12' y2='12'/%3E%3Cline x1='12' y1='16' x2='12.01' y2='16'/%3E%3C/svg%3E");
}
/* Success */
.auth-message.success {
	background-color: #f0fdf4;
	border-color: #bbf7d0;
	color: #166534;
}
.auth-message.success::before {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2316a34a' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M22 11.08V12a10 10 0 1 1-5.93-9.14'/%3E%3Cpolyline points='22 4 12 14.01 9 11.01'/%3E%3C/svg%3E");
}
/* Warning */
.auth-message.warning {
	background-color: #fffbeb;
	border-color: #fde68a;
	color: #92400e;
}
.auth-message.warning::before {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23d97706' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M10.29 3.86L1.82 18a2 2 0 0 0 1.71 3h16.94a2 2 0 0 0 1.71-3L13.71 3.86a2 2 0 0 0-3.42 0z'/%3E%3Cline x1='12' y1='9' x2='12' y2='13'/%3E%3Cline x1='12' y1='17' x2='12.01' y2='17'/%3E%3C/svg%3E");
}
/* Info */
.auth-message.info {
	background-color: #eff6ff;
	border-color: #bfdbfe;
	color: #1e40af;
}
.auth-message.info::before {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%232563eb' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cline x1='12' y1='16' x2='12' y2='12'/%3E%3Cline x1='12' y1='8' x2='12.01' y2='8'/%3E%3C/svg%3E");
}
/* Botón inline dentro del mensaje (ej: "Reenviar correo") */
.auth-message .resend-verification-btn {
	display: inline;
	background: none;
	border: none;
	padding: 0;
	cursor: pointer;
	font-size: inherit;
	font-weight: 700;
	text-decoration: underline;
	color: inherit;
}
.auth-message .resend-verification-btn:hover {
	opacity: 0.75;
}

/* ── Auth views — solo mostrar la vista activa ────────────────────── */
.auth-view {
	display: none !important;
}
.auth-view--active {
	display: block !important;
}
.auth-view--hidden {
	display: none !important;
}

/* Badges */
.badge {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	height: 24px;
	padding: 0 10px;
	border-radius: 9999px;
	font-size: 12px;
	line-height: 16px;
	font-weight: 700;
	border: 1px solid transparent;
	user-select: none;
}
.badge-sky {
	color: #0a0a0a;
	background: rgba(1, 183, 255, 0.18);
	border-color: rgba(1, 183, 255, 0.28);
}
.badge-green {
	color: #0a0a0a;
	background: rgba(86, 190, 48, 0.18);
	border-color: rgba(86, 190, 48, 0.28);
}
.badge-indigo {
	color: #ffffff;
	background: var(--color-indigo);
}
.badge-purple {
	color: #ffffff;
	background: var(--color-purple);
}
.badge-pink {
	color: #ffffff;
	background: var(--color-pink);
}
.badge-outline {
	color: var(--text-primary);
	background: var(--surface);
	border-color: var(--border);
}
.badge-muted {
	color: var(--text-muted);
	background: var(--surface-muted);
	border-color: rgba(0, 0, 0, 0.06);
}

/* Ui Kit_Typography */
img,
svg {
	display: block;
	max-width: 100%;
}
a {
	color: inherit;
	text-decoration: none;
}
button,
input,
select {
	font: inherit;
	color: inherit;
}
menu,
ol,
ul {
	list-style: none;
	margin: 0;
	padding: 0;
}

/* =============================
   Completar perfil (wizard)
   Página especial: no usa custom.js
   ============================= */
body.perfil-wizard-page {
	min-height: 100vh;
	background: linear-gradient(
		135deg,
		rgba(238, 242, 255, 1) 0%,
		rgba(250, 245, 255, 1) 50%,
		rgba(253, 242, 248, 1) 100%
	);
}
body.perfil-wizard-page .perfil-wizard input:disabled,
body.perfil-wizard-page .perfil-wizard select:disabled,
body.perfil-wizard-page .perfil-wizard textarea:disabled {
	opacity: 0.6;
	cursor: not-allowed;
}
@media (max-width: 600px){
	.logo-header .logo-text-wrap{
		display: none !important;
	}
	header [aria-controls="userMenuPopover"]{
		padding-right: 0 !important;
	}
}
.perfil-wizard-shell {
	max-width: 850px;
	margin: 0 auto;
	padding: 48px 16px;
	display: flex;
	flex-direction: column;
	gap: 32px;
}
.perfil-card {
	background: rgba(255, 255, 255, 0.8);
	border-radius: 16px;
	box-shadow: 0px 8px 10px -6px rgba(0, 0, 0, 0.1),
		0px 20px 25px -5px rgba(0, 0, 0, 0.1);
}
.perfil-card-inner {
	padding: 24px;
}
.perfil-wizard-header{
	text-align: center;
}
.perfil-wizard-badge {
	width: 64px;
	height: 64px;
	margin: 0 auto 16px;
	border-radius: 9999px;
	display: grid;
	place-items: center;
	background: linear-gradient(
		135deg,
		var(--color-indigo) 0%,
		var(--color-purple) 100%
	);
}
.perfil-wizard-title {
	margin: 0;
	color: #101828;
	font-size: 36px;
	line-height: 40px;
	font-weight: 700;
}
.perfil-wizard-subtitle {
	margin: 8px 0 0;
	color: #4a5565;
	font-size: 18px;
	line-height: 28px;
}
.perfil-progress-row {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
}
.perfil-progress-label {
	color: #364153;
	font-size: 14px;
	line-height: 20px;
}
.perfil-progress-value {
	color: var(--color-purple);
	font-size: 14px;
	line-height: 20px;
	font-weight: 700;
}
.perfil-progress-track {
	margin-top: 16px;
	width: 100%;
	height: 12px;
	border-radius: 9999px;
	overflow: hidden;
	background: rgba(3, 2, 19, 0.2);
}
.perfil-progress-bar {
	height: 100%;
	width: 0%;
	background: #030213;
	transition: width 160ms ease;
}
.perfil-section-head {
	display: flex;
	align-items: center;
	gap: 12px;
}
.perfil-section-head h2 {
	margin: 0;
	color: #101828;
	font-size: 24px;
	line-height: 32px;
	font-weight: 700;
}
.perfil-section-head p {
	margin: 0;
	color: #4a5565;
	font-size: 14px;
	line-height: 20px;
}
.perfil-field {
	display: flex;
	flex-direction: column;
	gap: 8px;
}
.perfil-label {
	display: flex;
	align-items: center;
	gap: 8px;
	color: #0a0a0a;
	font-size: 14px;
	line-height: 20px;
}
.perfil-wizard input,
.perfil-wizard select,
.perfil-wizard textarea {
	width: 100%;
	background: #ffffff;
	border: 2px solid #d1d5dc;
	border-radius: 10px;
	padding: 6px 12px;
	font-size: 14px;
	line-height: 20px;
}
.perfil-wizard input,
.perfil-wizard select {
	height: 36px;
}
.perfil-wizard textarea {
	min-height: 64px;
	resize: vertical;
}
.perfil-wizard input[type='checkbox'],
.perfil-wizard input[type='radio'] {
	width: 16px;
	height: 16px;
	padding: 0;
	border-radius: 4px;
	accent-color: var(--color-purple);
}
.perfil-divider {
	height: 1px;
	width: 100%;
	background: rgba(0, 0, 0, 0.1);
}
.perfil-actions {
	display: flex;
	gap: 16px;
}
.perfil-btn {
	flex: 1;
	border-radius: 10px;
	height: 36px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	cursor: pointer;
	user-select: none;
}
.perfil-btn-secondary {
	background: #ffffff;
	border: 1px solid rgba(0, 0, 0, 0.1);
}
.perfil-btn-primary {
	color: #ffffff;
	background: linear-gradient(
		90deg,
		var(--color-indigo) 0%,
		var(--color-purple) 50%,
		var(--color-pink) 100%
	);
}

/* =============================
   Popovers (header)
   ============================= */
body .popover-scroll {
	overflow-y: scroll;
	scrollbar-gutter: stable;
	scrollbar-width: thin;
	scrollbar-color: rgba(1, 183, 255, 0.75) rgba(229, 231, 235, 0.9);
}
.popover-scroll::-webkit-scrollbar {
	width: 10px;
	height: 10px;
}
.popover-scroll::-webkit-scrollbar-track {
	background: rgba(229, 231, 235, 0.9);
	border-radius: 9999px;
}
.popover-scroll::-webkit-scrollbar-thumb {
	background: rgba(1, 183, 255, 0.65);
	border-radius: 9999px;
	border: 2px solid rgba(229, 231, 235, 0.9);
}
.popover-scroll::-webkit-scrollbar-thumb:hover {
	background: rgba(1, 183, 255, 0.85);
}
.perfil-btn:disabled {
	opacity: 0.5;
	cursor: not-allowed;
}





header.fixed{
	box-shadow: 0px 1px 2px -1px rgba(0, 0, 0, 0.1), 0px 1px 3px 0px rgba(0, 0, 0, 0.1);
}
.logo-header .round,
#notificationsPopover,
#userMenuPopover{
	box-shadow: 0px 2px 4px -2px rgba(0, 0, 0, 0.1), 0px 4px 6px -1px rgba(0, 0, 0, 0.1);
}
[data-popover-root] .circle{
	background: linear-gradient(180deg, rgba(1, 183, 255, 1) 0%, rgba(86, 190, 48, 1) 100%)
}

/* WordPress-like header menu styling (used by .list-principal markup) */
.site-header-menu {
	height: 100%;
	display: flex;
	align-items: center;
	min-width: 0;
	justify-content: center;
}
.list-unstyled {
	list-style: none;
	margin: 0;
	padding: 0;
}
.list-principal {
	display: flex;
	align-items: center;
	gap: 4px;
	min-width: 0;
	max-width: 100%;
}
.list-principal > .menu-item {
	position: relative;
	flex-shrink: 0;
}

/* Keep the overflow "..." pinned to the right of the menu area */
.list-principal > .menu-item > a {
	display: inline-flex;
	align-items: center;
	padding: 8px 12px;
	border-radius: 10px;
	color: #364153;
	font-size: 14px;
	line-height: 20px;
	text-decoration: none;
	white-space: nowrap;
}
.list-principal > .menu-item.current-menu-item > a,
.list-principal > .menu-item.current-menu-item > a[aria-current="page"],
.list-principal > .menu-item > a[aria-current="page"],
.list-principal > .menu-item.current-menu-parent > a,
.list-principal > .menu-item.current-menu-ancestor > a {
	background: rgba(255, 63, 0, 0.10);
	color: var(--naranja);
	font-weight: 700;
}
/* Arrow generated via :after for items with children */
.list-principal > .menu-item-has-children > a::after {
	content: "";
	display: inline-block;
	width: 6px;
	height: 6px;
	margin-left: 8px;
	border-right: 2px solid currentColor;
	border-bottom: 2px solid currentColor;
	transform: rotate(45deg) translateY(-1px);
	opacity: 0.7;
}

/* Hover bridge to prevent a gap between parent and submenu */
.list-principal > .menu-item-has-children::before {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	top: 100%;
	height: 10px;
}

.list-principal > .menu-item-has-children:hover > a::after,
.list-principal > .menu-item-has-children:focus-within > a::after {
	transform: rotate(-135deg) translateY(1px);
}

/* Keep WP toggle markup if present, but don’t show it in this desktop header */
.list-principal .hc-submenu-toggle {
	display: none;
}

.list-principal .sub-menu {
	display: none;
	position: absolute;
	top: calc(100% + 8px);
	left: 0;
	min-width: 240px;
	list-style: none;
	margin: 0;
	background: #ffffff;
	border: 1px solid rgba(0, 0, 0, 0.1);
	border-radius: 10px;
	overflow: hidden;
	padding: 8px;
	box-shadow: 0px 2px 4px -2px rgba(0, 0, 0, 0.1), 0px 4px 6px -1px rgba(0, 0, 0, 0.1);
	z-index: 60;
}
.list-principal .menu-item-has-children:hover > .sub-menu,
.list-principal .menu-item-has-children:focus-within > .sub-menu {
	display: block;
}
.list-principal .sub-menu .menu-item > a {
	display: flex;
	align-items: center;
	padding: 8px 10px;
	border-radius: 8px;
	color: #0a0a0a;
	font-size: 14px;
	line-height: 20px;
	text-decoration: none;
}
.list-principal .sub-menu .menu-item > a:hover {
	background: #f8fafc;
}
.site-header-primary-nav {
	flex: 1 1 auto;
	min-width: 0;
	overflow: visible;
}
.site-header-brand,
.logo-header {
	flex-shrink: 0;
	min-width: max-content;
	white-space: nowrap;
}
.site-header-brand-text {
	display: flex;
	flex-direction: column;
	white-space: nowrap;
}
.site-header-overflow.is-empty,
.site-header-menu-item-hidden {
	display: none !important;
}
.site-header-overflow > a {
	min-width: 40px;
	justify-content: center;
	font-weight: 700;
	letter-spacing: 0.08em;
	padding-left: 10px;
	padding-right: 10px;
}
.site-header-overflow > a::after {
	display: none !important;
}
.site-header-overflow > .sub-menu,
.site-header-overflow-menu {
	left: auto;
	right: 0;
}
.site-header-overflow.is-open > .sub-menu {
	display: block;
}
.site-header-overflow-menu > .menu-item {
	position: relative;
}
.site-header-overflow-menu > .menu-item > a {
	display: flex;
	align-items: center;
	padding: 8px 10px;
	border-radius: 8px;
	color: #0a0a0a;
	font-size: 14px;
	line-height: 20px;
	text-decoration: none;
	white-space: nowrap;
}
.site-header-overflow-menu > .menu-item > a:hover {
	background: #f8fafc;
}
.site-header-overflow-menu > .menu-item-has-children > .sub-menu {
	top: 0;
	left: auto;
	right: calc(100% + 8px);
}
.site-header-hamburger {
    display: none;
    width: 42px;
    height: 42px;
    padding: 0;
    border-radius: 12px;
    background: #fdfdfd;
    border: 1px solid #efefef;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    gap: 4px;
    flex-shrink: 0;
}
.site-header-hamburger span {
	display: block;
	width: 18px;
	height: 2px;
	border-radius: 9999px;
	background: #a0a0a0;
	transition: transform 0.2s ease, opacity 0.2s ease;
}
.site-header-drawer-overlay {
	position: fixed;
	inset: 0;
	background: rgba(15, 23, 42, 0.38);
	opacity: 0;
	pointer-events: none;
	transition: opacity 0.22s ease;
	z-index: 70;
}
.site-header-drawer-overlay.is-open {
	opacity: 1;
	pointer-events: auto;
}
.site-header-drawer {
	position: fixed;
	top: 0;
	left: 0;
	bottom: 0;
	width: min(360px, 88vw);
	background: #ffffff;
	transform: translateX(-100%);
	transition: transform 0.24s ease;
	box-shadow: 0px 20px 40px rgba(15, 23, 42, 0.18);
	z-index: 71;
	display: flex;
	flex-direction: column;
	overflow: hidden;
}
.site-header-drawer.is-open {
	transform: translateX(0);
}
.site-header-drawer__header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	padding: 20px 18px 16px;
	border-bottom: 1px solid rgba(15, 23, 42, 0.08);
}
.site-header-drawer__content {
	flex: 1 1 auto;
	overflow-y: auto;
	padding: 18px;
	display: flex;
	flex-direction: column;
	gap: 18px;
}
.site-header-drawer__close {
	width: 40px;
	height: 40px;
	border: 1px solid rgba(15, 23, 42, 0.08);
	border-radius: 12px;
	background: #ffffff;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 0;
	flex-shrink: 0;
}
.site-header-drawer__close span {
	font-size: 28px;
	line-height: 1;
	color: #101828;
	transform: translateY(-1px);
}
.site-header-drawer__menu {
	display: flex;
	flex-direction: column;
	gap: 6px;
}
.site-header-drawer__menu > .menu-item {
	position: relative;
}
.site-header-drawer__menu > .menu-item > a {
	display: flex;
	align-items: center;
	padding: 12px 14px;
	border-radius: 14px;
	color: #101828;
	font-size: 15px;
	line-height: 22px;
	text-decoration: none;
	padding-right: 48px;
}
.site-header-drawer__menu > .menu-item.current-menu-item > a,
.site-header-drawer__menu > .menu-item.current-menu-item > a[aria-current="page"],
.site-header-drawer__menu > .menu-item > a[aria-current="page"],
.site-header-drawer__menu > .menu-item.current-menu-parent > a,
.site-header-drawer__menu > .menu-item.current-menu-ancestor > a {
	background: rgba(255, 63, 0, 0.10);
	color: var(--naranja);
	font-weight: 700;
}
.site-header-drawer__menu > .menu-item-has-children > a::after {
	display: none;
}
.site-header-drawer__menu .hc-submenu-toggle {
  display: inline-flex;
  position: absolute;
  right: 5px;
  top: 5px;
  width: 36px;
  height: 36px;
  border: 0;
  border-radius: 10px;
  background: #a8878714;
  align-items: center;
  justify-content: center;
  padding: 0;
}
.site-header-drawer__menu .hc-submenu-toggle::before {
	content: "";
	width: 8px;
	height: 8px;
	border-right: 2px solid #4a5565;
	border-bottom: 2px solid #4a5565;
	transform: rotate(45deg) translateY(-1px);
	transition: transform 0.2s ease;
}
.site-header-drawer__menu .menu-item.is-open > .hc-submenu-toggle::before {
	transform: rotate(-135deg) translate(-1px, -1px);
}
.site-header-drawer__menu .sub-menu {
	display: none;
	position: static;
	min-width: 0;
	margin: 0;
	padding: 4px 0 0 12px;
	border: 0;
	box-shadow: none;
	background: transparent;
	overflow: visible;
}
.site-header-drawer__menu .menu-item.is-open > .sub-menu {
	display: block;
}
.site-header-drawer__menu .sub-menu .menu-item > a {
	display: flex;
	align-items: center;
	padding: 12px 14px;
	border-radius: 12px;
	color: #4a5565;
	font-size: 16px;
	line-height: 20px;
	text-decoration: none;
	font-weight: 400;
}
.site-header-drawer__menu .sub-menu .menu-item > a:hover {
	background: #f8fafc;
	color: #101828;
}
.mis-actividades-filter__select-wrap {
	position: relative;
	display: none;
}
.mis-actividades-filter__select-wrap::after {
	content: "";
	position: absolute;
	right: 18px;
	top: 50%;
	width: 10px;
	height: 10px;
	border-right: 2px solid #6a7282;
	border-bottom: 2px solid #6a7282;
	transform: translateY(-70%) rotate(45deg);
	pointer-events: none;
}
.mis-actividades-filter__select {
	width: 100%;
	height: 48px;
	appearance: none;
	border: 0;
	border-radius: 16px;
	background: #ffffff;
	padding: 0 44px 0 16px;
	color: #0a0a0a;
	font-size: 14px;
	line-height: 20px;
	box-shadow: 0px 1px 2px rgba(15, 23, 42, 0.04);
	outline: none;
}
.actividades-hero-stats__card {
	/*background-color: rgba(255, 255, 255, 0.10);
    border-color: rgba(255, 255, 255, 0.20); */
	min-width: 0;
	background: rgba(255, 255, 255, 0.12);
	border-color: rgba(255, 255, 255, 0.28) !important;
	backdrop-filter: blur(12px) saturate(1.6);
	-webkit-backdrop-filter: blur(12px) saturate(1.6);
}
.mis-actividades-card__title {
	min-width: 0;
}
.mis-actividades-card__badge {
	flex-shrink: 0;
}
.actividades-hero-stats__value,
.actividades-hero-stats__label,
.actividades-category-filter__label {
	transition: font-size 0.2s ease, line-height 0.2s ease;
}

.vfr-activities-section-head {
	transition: gap 0.2s ease, align-items 0.2s ease;
}
body.site-header-drawer-open {
	overflow: hidden;
}
@media (min-width: 992px) {
	.site-header-drawer,
	.site-header-drawer-overlay {
		display: none !important;
	}
}
@media (max-width: 1400px) and (min-width: 992px) {
	.site-header-menu {
		width: 100%;
		justify-content: center;
	}
}
@media (max-width: 991px) {
	.site-header-primary-nav {
		display: none !important;
	}
	header.fixed .site-header-brand-text,
	header.fixed .site-header-user-name,
	header.fixed .site-header-user-chevron {
		display: none !important;
	}
	.site-header-hamburger {
		display: inline-flex;
	}
	.site-header-inner {
		gap: 12px;
	}
	.site-header-actions {
		margin-left: auto;
		gap: 8px;
		align-items: center;
		justify-content: flex-end;
	}
	.site-header-actions > .site-header-hamburger {
		order: 99;
		margin-right: -2px;
	}
	.site-header-brand {
		gap: 10px;
	}
	.site-header-brand .round {
		width: 44px;
		height: 44px;
	}
	.site-header-user-trigger {
		padding-left: 8px !important;
		padding-right: 8px !important;
	}
}
@media (max-width: 768px) {
	.mis-actividades-filter {
		padding: 6px;
	}
	.mis-actividades-filter__select-wrap {
		display: block !important;
	}
	.mis-actividades-filter__tabs {
		display: none !important;
	}
	.actividades-hero-stats {
		grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
		gap: 10px;
	}
	.actividades-hero-stats__card {
		padding: 14px 12px;
		border-radius: 18px;
	}
	.actividades-hero-stats__card .flex {
		gap: 6px;
	}
	.actividades-hero-stats__value {
		font-size: 28px !important;
		line-height: 32px !important;
	}
	.actividades-hero-stats__label {
		font-size: 14px !important;
		line-height: 16px !important;
	}
	.actividades-category-filter {
		grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
		gap: 4px;
		padding: 6px;
	}
	.actividades-category-filter__button {
		min-width: 0;
		padding-left: 0;
		padding-right: 0;
		gap: 0;
	}
	.actividades-category-filter__label {
		display: none;
	}
	.actividades-category-filter__button img {
		width: 18px;
		height: 18px;
	}
}
@media (max-width: 575px) {
	.mis-actividades-card__heading {
		flex-direction: column-reverse;
		align-items: flex-start;
		gap: 10px;
	}
	.mis-actividades-card__title {
		font-size: 18px;
		line-height: 28px;
	}
}
@media (max-width: 460px) {
	.actividades-hero-stats {
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
	}
	.actividades-hero-stats__card:nth-child(3) {
		grid-column: 1 / -1;
	}
	.actividades-category-filter {
		grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
	}
}
[data-popover-trigger="userMenu"] .translate-y-px{
	width: 12px !important;
	object-fit: contain;
}
[data-popover-trigger="notifications"]{
	top:3px;
}


#footer-logo-1{
	width: auto !important;
}
.fuente-codigo{
	font-family: Cousine, ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, 'Liberation Mono', 'Courier New', monospace;
}
.bg-degradado-1{
	background: linear-gradient(90deg, rgba(79, 57, 246, 1) 0%, rgba(152, 16, 250, 1) 50%, rgba(230, 0, 118, 1) 100%);
}
.bg-degradado-2{
	background: linear-gradient(90deg, rgba(255, 237, 212, 1) 0%, rgba(255, 226, 226, 1) 100%);
}
.bg-degradado-3{
	background: linear-gradient(0deg, rgba(0,0,0,0.6) 0%, rgba(0,0,0,0) 100%);
}
.bg-degradado-4{
	background: linear-gradient(90deg, rgba(0, 188, 125, 1) 0%, rgba(0, 187, 167, 1) 100%);
}
.bg-degradado-5{
	background: linear-gradient(90deg, rgba(152, 16, 250, 1) 0%, rgba(230, 0, 118, 1) 100%);
}
.bg-degradado-6{
	background: linear-gradient(135deg, rgba(97, 95, 255, 1) 0%, rgba(152, 16, 250, 1) 100%);
	box-shadow: 0px 4px 6px -4px rgba(0, 0, 0, 0.1), 0px 10px 15px -3px rgba(0, 0, 0, 0.1);
}
.bg-degradado-7{
	background: linear-gradient(90deg, rgba(79, 57, 246, 1) 0%, rgba(152, 16, 250, 1) 50%, rgba(230, 0, 118, 1) 100%);
}
.bg-degradado-8{
	background: linear-gradient(180deg, rgba(1, 183, 255, 1) 0%, rgba(86, 190, 48, 1) 50%, rgba(255, 192, 16, 1) 100%)
}
.bg-degradado-9{
	background: linear-gradient(135deg, rgba(248, 250, 252, 1) 0%, rgba(250, 245, 255, 1) 50%, rgba(253, 242, 248, 1) 100%);
}
.bg-degradado-10{
	background: linear-gradient(135deg, rgba(239, 246, 255, 1) 0%, rgba(236, 254, 255, 1) 100%);
}
.bg-degradado-11{
	background: linear-gradient(0deg, rgba(0, 0, 0, 0.6) 0%, rgba(0, 0, 0, 0) 100%);
}
.bg-degradado-12{
	background: linear-gradient(90deg, rgba(97, 95, 255, 1) 0%, rgba(173, 70, 255, 1) 100%);
}
.bg-degradado-13{
	background: linear-gradient(90deg, rgba(79, 57, 246, 1) 0%, rgba(152, 16, 250, 1) 100%);
}
.bg-degradado-14{
	background: linear-gradient(135deg, rgba(250, 245, 255, 1) 0%, rgba(253, 242, 248, 1) 100%);
}
.bg-degradado-15{
	background: linear-gradient(135deg, rgba(173, 70, 255, 1) 0%, rgba(79, 57, 246, 1) 100%);
	box-shadow: 0px 1px 2px -1px rgba(0, 0, 0, 0.1), 0px 1px 3px 0px rgba(0, 0, 0, 0.1);
}
.bg-degradado-16{
	background: linear-gradient(135deg, rgba(246, 51, 154, 1) 0%, rgba(236, 0, 63, 1) 100%);
	box-shadow: 0px 1px 2px -1px rgba(0, 0, 0, 0.1), 0px 1px 3px 0px rgba(0,  0, 0, 0.1);
}
.bg-degradado-17{
	background: linear-gradient(135deg, rgba(254, 242, 242, 1) 0%, rgba(255, 247, 237, 1) 100%);
}
.bg-degradado-18{
	background: linear-gradient(135deg, rgba(255, 251, 235, 1) 0%, rgba(254, 252, 232, 1) 100%);
}
.bg-degradado-19{
	background: linear-gradient(135deg, rgba(97, 95, 255, 1) 0%, rgba(152, 16, 250, 1) 100%);
}
.bg-degradado-20{
	background: linear-gradient(135deg, rgba(246, 51, 154, 1) 0%, rgba(236, 0, 63, 1) 100%);
}
.bg-degradado-21{
	background: linear-gradient(135deg, rgba(0, 201, 80, 1) 0%, rgba(0, 153, 102, 1) 100%);
}
.bg-degradado-22{
	background: linear-gradient(135deg, rgba(43, 127, 255, 1) 0%, rgba(0, 184, 219, 1) 100%);
}
.bg-degradado-23{
	background: linear-gradient(135deg, rgba(0, 201, 80, 1) 0%, rgba(0, 188, 125, 1) 100%);
}
.bg-degradado-24{
	background: linear-gradient(135deg, rgba(173, 70, 255, 1) 0%, rgba(142, 81, 255, 1) 100%);
}
.bg-degradado-25{
	background: linear-gradient(135deg, rgba(43, 127, 255, 1) 0%, rgba(0, 184, 219, 1) 100%);
}
.bg-degradado-26{
	background: linear-gradient(135deg, rgba(0, 201, 80, 1) 0%, rgba(0, 188, 125, 1) 100%);
}
.bg-degradado-27{
	background: linear-gradient(135deg, rgba(173, 70, 255, 1) 0%, rgba(142, 81, 255, 1) 100%);
}
.bg-degradado-28{
	background: linear-gradient(135deg, rgba(255, 105, 0, 1) 0%, rgba(254, 154, 0, 1) 100%);
}
.bg-degradado-29{
	background: linear-gradient(135deg, rgba(246, 51, 154, 1) 0%, rgba(255, 32, 86, 1) 100%);
}
.shadow-1{
	box-shadow: 0px 25px 50px -12px rgba(0, 0, 0, 0.25);
}
.shadow-2{
	box-shadow: 0px 4px 6px -4px rgba(0, 0, 0, 0.1), 0px 10px 15px -3px rgba(0, 0, 0, 0.1);
}


.modal {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	z-index: 1050;
	display: none;
	overflow-x: hidden;
	overflow-y: auto; /* scroll externo (overlay), no dentro del modal */
	outline: 0;
	padding: 1rem;
}
.modal.show {
	display: block;
}
.modal.fade {
	opacity: 0;
	transition: opacity 150ms linear;
}
.modal.fade.show {
	opacity: 1;
}
.modal-dialog {
	position: relative;
	width: 100%;
	margin: 1.75rem auto;
	pointer-events: none;
}
.modal-dialog-centered {
	display: flex;
	align-items: center;
	min-height: calc(100% - 3.5rem);
}
.modal-content {
	pointer-events: auto;
	width: 100%;
	outline: 0;
}
.modal-backdrop {
	position: fixed;
	inset: 0;
	z-index: 1040;
	background: rgba(0, 0, 0, 0.55);
}
.modal-backdrop.fade {
	opacity: 0;
	transition: opacity 150ms linear;
}
.modal-backdrop.show {
	opacity: 1;
}
.btn-close {
	cursor: pointer;
	outline: 0;
}
@media (max-width: 575px){
	#notificationsPopover{
            right: -110px;
		max-width: 320px;
	}
	#userMenuPopover{
	 right: -46px;
	}
}
@media (max-width: 360px){
	#notificationsPopover{
		max-width: 295px;
	}
}
@media (max-width: 767px){
	footer .gap-8{
	  gap: 4rem;
	}
	.section-actividad{
		padding-bottom: 18px;
	}
	.modal-bienvenida .caja-1{
		padding: 20px !important;
	}
	.modal-bienvenida .caja-1 .cuadro{
		height: 290px !important;
	}
	.modal-bienvenida .caja-1 .cuadro .w-20.h-20{
		width: 3.5rem !important;
		height: 3.5rem !important;
	}
	.modal-bienvenida .caja-1 .cuadro .w-10.h-10{
		width: 2rem !important;
		height: 2rem !important;
	}
	.modal-bienvenida .modal-dialog{
		max-width: 100% !important;
		width: 100% !important;
	}
	.min-h-screen section.pt-10{
		padding: 0 !important;
		max-width: 100% !important;
	}
	.min-h-screen section.pt-10 h1.text-4xl{
		display: none;
	}
	.min-h-screen section.pt-10 p.leading-relaxed{
		font-size: 14px !important;
		text-align: center;
		line-height: 1.4 !important;
	}
	.min-h-screen .h-auto.object-contain{
		margin: 0 auto !important;
		display: table !important;
		max-width: 330px;
		padding: 0 10px;
	}
	.min-h-screen section.p-8{
    padding: 20px !important;
	}
	.min-h-screen .w-full.max-w-5xl.grid.items-start.gap-10{
    gap: 1.5rem;
		max-width: 520px;
	}
	.min-h-screen .w-full.max-w-5xl.grid.items-start .rounded-full.w-20.h-20{
		width: 3.5rem !important;
		height: 3.5rem !important;
	}
	.min-h-screen .w-full.max-w-5xl.grid.items-start .rounded-full.w-20.h-20 .w-10.h-10{
		width: 2rem !important;
		height: 2rem !important;
	}
}
@media (min-width: 768px){
	.margen-registro{
		margin-top: 50px;
	}
}
@media (max-width: 575px){
	.grid .h-40.object-cover{
		height: 190px !important;
	}
	.text-3xl {
		font-size: 1.5rem !important;
		line-height: 2rem !important;
	}
	.text-4xl {
    font-size: 2rem !important;
    line-height: 2.2rem !important;
	}
	.text-base {
    font-size: 0.9rem !important;
    line-height: 1.35rem !important;
	}
	.text-lg {
    font-size: 1rem !important;
    line-height: 1.5rem !important;
	}
	.modal-bienvenida .caja-1 .cuadro{
		height: 200px !important;
	}
	.modal-bienvenida .caja-1 .cuadro .w-20.h-20{
		width: 2.8rem !important;
		height: 2.8rem !important;
	}
	.modal-bienvenida .caja-1 .cuadro .w-10.h-10{
		width: 1.5rem !important;
		height: 1.5rem !important;
	}
}

/* ===== Modal bienvenida: boton flotante y video ===== */
.vfr-modal-video-trigger {
	display: block;
}

.vfr-modal-launcher {
	position: fixed;
	right: 20px;
	bottom: 20px;
	border: 0;
	color: #ffffff;
	height: 52px;
	padding: 0 18px;
	border-radius: 9999px;
	font-size: 14px;
	font-weight: 700;
	cursor: pointer;
	box-shadow: 0 10px 25px rgba(0, 0, 0, 0.18);
	z-index: 70;
	align-items: center;
	justify-content: center;
	transition: transform 0.2s ease, opacity 0.2s ease;
}

.vfr-modal-launcher:hover {
	transform: translateY(-2px);
	opacity: 0.95;
}

/* ===== WhatsApp flotante global (usuarios logueados) ===== */
.vfr-whatsapp-float {
	position: fixed;
	right: 20px;
	bottom: 20px;
	width: 56px;
	height: 56px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border-radius: 9999px;
	background: #25d366;
	box-shadow: 0 14px 30px rgba(0, 0, 0, 0.25);
	transition: transform 0.2s ease, box-shadow 0.2s ease;
	z-index: 75;
}

.vfr-whatsapp-float:hover {
	transform: translateY(-2px);
	box-shadow: 0 16px 34px rgba(0, 0, 0, 0.28);
}


.vfr-whatsapp-float img {
	width: 35px;
	height: 35px;
	object-fit: contain;
}

body.page-template-page-actividades .vfr-modal-launcher,
body.page-template-page-actividades-php .vfr-modal-launcher {
	bottom: 92px;
}

@media (max-width: 767px) {
	.vfr-modal-launcher {
		right: 12px;
		bottom: 12px;
		height: 46px;
		padding: 0 14px;
		font-size: 13px;
	}
	.vfr-profile-sidebar .vfr-mobile-select-wrap{
		margin-top: -10px;
		margin-bottom: 15px;
	}
	.vfr-whatsapp-float {
		right: 12px;
		bottom: 12px;
	}
	body.page-template-page-actividades .vfr-modal-launcher,
	body.page-template-page-actividades-php .vfr-modal-launcher {
		bottom: 76px;
	}
}
.vfr-body-actividades .vfr-whatsapp-float{
    bottom: 85px;
}
@media (max-width: 575px){
	.vfr-whatsapp-float img {
		width: 28px;
		height: 28px;
	}
	.vfr-whatsapp-float{
		width: 48px;
    	height: 48px;
	}
	.vfr-body-actividades .vfr-whatsapp-float {
    	bottom: 70px;
	}
}
#register-message{
    margin: 10px 0 -10px 0;
}
/* ===== Voluntariado: Tablas de ranking ===== */
.vfr-rank-badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 28px;
    height: 28px;
    border-radius: 50%;
    font-size: 12px;
    font-weight: 700;
    line-height: 1;
}
.vfr-rank-gold {
    background: #fef3c7;
    color: #92400e;
    border: 1px solid #fcd34d;
}
.vfr-rank-silver {
    background: #f1f5f9;
    color: #475569;
    border: 1px solid #cbd5e1;
}
.vfr-rank-bronze {
    background: #fef3e8;
    color: #9a3412;
    border: 1px solid #fdba74;
}
.vfr-rank-default {
    background: #f8fafc;
    color: #6a7282;
    border: 1px solid #e5e7eb;
}
.vfr-table-row-hover:hover {
    background: #f8fafc;
    transition: background 0.15s ease;
}
/* ===== Voluntariado: Input de búsqueda del directorio ===== */
.vfr-search-input {
    width: 100%;
    height: 44px;
    padding: 0 14px;
    border: 1px solid #e5e7eb;
    border-radius: 10px;
    font-size: 14px;
    color: #101828;
    background: #fff;
    outline: none;
    transition: border-color 0.15s ease, box-shadow 0.15s ease;
}
.vfr-search-input::placeholder {
    color: #9ca3af;
}
.vfr-search-input:focus {
    border-color: #4f39f6;
    box-shadow: 0 0 0 3px rgba(79,57,246,0.1);
}


@media (max-width: 767px) {
    .vfr-table thead {
        display: none;
    }
    .vfr-table,
    .vfr-table tbody,
    .vfr-table tr,
    .vfr-table td {
        display: block;
        width: 100%;
    }
    .vfr-table tbody tr {
        border-bottom: 1px solid #e5e7eb;
        padding: 10px 12px;
    }
    .vfr-table tbody tr:last-child {
        border-bottom: 0;
    }
    .vfr-table td {
        display: flex;
        align-items: flex-start;
        justify-content: space-between;
        gap: 16px;
        padding: 7px 0 !important;
        text-align: right !important;
        white-space: normal;
    }
    .vfr-table td::before {
        content: attr(data-label);
        flex: 0 0 44%;
        color: #4a5565;
        font-weight: 600;
        text-align: left;
    }
    .vfr-table td[colspan] {
        display: block;
        padding: 10px 0 !important;
        text-align: left !important;
    }
    .vfr-table td[colspan]::before {
        content: none;
    }
}

/* ===== Sobre Nosotros (page-sobre-nosotros.php) ===== */
body.vfr-body-nosotros {
	background: linear-gradient(135deg, #eff6ff 0%, #ecfeff 50%, #f0fdf4 100%);
}

.nos-page {
	color: #101828;
}

.nos-page .card-hover {
	transition: transform .2s ease, box-shadow .2s ease;
}

.nos-page .card-hover:hover {
	transform: translateY(-3px);
	box-shadow: 0 16px 32px -8px rgba(0, 0, 0, .16);
}

.nos-page .program-badge {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	padding: 4px 12px;
	border-radius: 999px;
	font-size: .75rem;
	font-weight: 700;
	letter-spacing: .03em;
	text-transform: uppercase;
}

.nos-page .program-badge--tone {
	background: var(--program-badge-bg, var(--nos-primary-10));
	color: var(--program-badge-color, var(--nos-primary-solid));
}

.nos-page .program-badge--program {
	background: color-mix(in srgb, var(--program-color) 12%, #ffffff);
	color: var(--program-color);
}

.nos-page .nos-hero-accent {
	color: #fff1cc;
}

.nos-page .nos-hero-accent-stroke {
	stroke: var(--nos-hero-accent);
}

.nos-page .nos-icon-primary-soft {
	background: var(--nos-primary-soft);
}

.nos-page .nos-icon-primary-gradient {
	background: var(--nos-primary-gradient);
}

/* ===== Tabs "Nuestros programas" — segmented pills ===== */
.nos-page .nos-programs-tabs {
	display: flex;
	justify-content: flex-start;
}

.nos-page .nos-programs-tablist {
	display: inline-flex;
	flex-wrap: wrap;
	gap: 4px;
	padding: 6px;
	background: #f4f3ef;
	border: 1px solid #ebe7df;
	border-radius: 16px;
	box-shadow: inset 0 1px 2px rgba(16, 24, 40, .04);
	max-width: 100%;
}

.nos-page .nos-programs-tab {
	--program-color: var(--celeste, #01b7ff);
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 10px 18px;
	border: 0;
	border-radius: 12px;
	background: transparent;
	color: #4a5565;
	font-size: .875rem;
	font-weight: 600;
	line-height: 1;
	cursor: pointer;
	transition: background-color .15s, color .15s, box-shadow .15s, transform .15s;
	white-space: nowrap;
}

.nos-page .nos-programs-tab--edutech    { --program-color: var(--celeste, #01b7ff); }
.nos-page .nos-programs-tab--solidarios { --program-color: var(--naranja, #ff3f00); }
.nos-page .nos-programs-tab--sos        { --program-color: var(--amarillo, #ffc010); }

.nos-page .nos-programs-tab-dot {
	width: 8px;
	height: 8px;
	border-radius: 999px;
	background: var(--program-color);
	opacity: .55;
	transition: opacity .15s, transform .15s;
	flex-shrink: 0;
}

.nos-page .nos-programs-tab:hover {
	background: rgba(255, 255, 255, .7);
	color: #101828;
}

.nos-page .nos-programs-tab:focus-visible {
	outline: 2px solid var(--program-color);
	outline-offset: 2px;
}

.nos-page .nos-programs-tab.is-active {
	background: #ffffff;
	color: var(--program-color);
	font-weight: 700;
	box-shadow: 0 1px 2px rgba(16, 24, 40, .08), 0 0 0 1px rgba(16, 24, 40, .04);
}

.nos-page .nos-programs-tab.is-active .nos-programs-tab-dot {
	opacity: 1;
	transform: scale(1.15);
}

@media (max-width: 480px) {
	.nos-page .nos-programs-tablist {
		display: grid;
		grid-template-columns: repeat(3, minmax(0, 1fr));
		width: 100%;
	}
	.nos-page .nos-programs-tab {
		padding: 10px 8px;
		font-size: .8rem;
		justify-content: center;
		white-space: normal;
	}
}

/* ===== Tarjeta de programa (panel) ===== */
.nos-page .nos-program-card {
	--program-color: var(--vfr-ui-primary-solid, #ff3f00);
	background: #ffffff;
	border-radius: 24px;
	border: 1px solid #eef0f3;
	padding: 1.75rem;
	box-shadow:
		0 1px 2px rgba(16, 24, 40, .04),
		0 10px 24px -12px rgba(16, 24, 40, .12);
	overflow: visible;
}

@media (min-width: 640px) {
	.nos-page .nos-program-card {
		padding: 2.25rem;
	}
}

.nos-page .nos-program-card::before {
	content: "";
	display: block;
	height: 4px;
	width: 56px;
	margin-bottom: 1.25rem;
	border-radius: 999px;
	background: var(--program-color);
	opacity: .9;
}

.nos-page .nos-program-card--edutech    { --program-color: var(--celeste, #01b7ff); }
.nos-page .nos-program-card--solidarios { --program-color: var(--naranja, #ff3f00); }
.nos-page .nos-program-card--sos        { --program-color: var(--amarillo, #ffc010); }

.nos-page .nos-program-header {
	display: flex;
	flex-direction: column;
	gap: 1rem;
	margin-bottom: 1.5rem;
}

@media (min-width: 640px) {
	.nos-page .nos-program-header {
		flex-direction: row;
		align-items: flex-start;
		gap: 1.25rem;
	}
}

.nos-page .nos-program-icon {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 3.5rem;
	height: 3.5rem;
	border-radius: 18px;
	background: color-mix(in srgb, var(--program-color) 14%, #ffffff);
	color: var(--program-color);
	flex-shrink: 0;
	overflow: hidden;
}

.nos-page .nos-program-icon svg {
	stroke: var(--program-color);
}

.nos-page .nos-program-title {
	color: #101828;
	font-size: 1.625rem;
	font-weight: 800;
	line-height: 1.15;
	margin-top: .5rem;
}

/* ===== Media frame neutro tintado por programa ===== */
.nos-page .nos-media-frame {
	border: 1px solid color-mix(in srgb, var(--program-color) 20%, #ffffff);
	background: color-mix(in srgb, var(--program-color) 6%, #ffffff);
	box-shadow: 0 6px 18px -10px rgba(16, 24, 40, .18);
}

/* Mantener compatibilidad si quedan rastros del sistema viejo */
.nos-page .nos-program-icon-primary,
.nos-page .nos-program-icon-solidarios,
.nos-page .nos-program-icon-sos,
.nos-page .nos-media-frame-primary,
.nos-page .nos-media-frame-solidarios,
.nos-page .nos-media-frame-sos {
	background: color-mix(in srgb, var(--program-color, var(--nos-primary-solid)) 12%, #ffffff);
	border-color: color-mix(in srgb, var(--program-color, var(--nos-primary-solid)) 20%, #ffffff);
}

/* ===== KPI cards (impacto) ===== */
.nos-page .nos-impact-card {
	background: #ffffff;
	border: 1px solid color-mix(in srgb, var(--program-color, #e5e7eb) 22%, #ffffff);
	border-radius: 18px;
	padding: 1.1rem 1rem;
	text-align: center;
	box-shadow: 0 1px 2px rgba(16, 24, 40, .04);
	transition: transform .15s, box-shadow .15s;
}

.nos-page .nos-impact-card:hover {
	transform: translateY(-2px);
	box-shadow: 0 8px 20px -12px rgba(16, 24, 40, .18);
}

.nos-page .nos-impact-number {
	color: var(--program-color, var(--nos-primary-solid));
	font-size: 2.25rem;
	font-weight: 800;
	line-height: 1;
	letter-spacing: -.02em;
}

@media (min-width: 640px) {
	.nos-page .nos-impact-number {
		font-size: 2.75rem;
	}
}

.nos-page .nos-impact-label {
	color: #4a5565;
	font-size: .75rem;
	font-weight: 600;
	margin-top: .35rem;
	letter-spacing: .01em;
}

.nos-page .nos-info-icon-primary {
	background: var(--nos-primary-10);
}

.nos-page .nos-info-icon-primary svg {
	stroke: var(--nos-primary-solid);
}

.nos-page .nos-info-icon-verde {
	background: rgba(86, 190, 48, .10);
}

.nos-page .nos-info-icon-verde svg {
	stroke: var(--verde);
}

.nos-page .nos-eje-card {
	--eje-rgb: 255, 63, 0;
	--eje-color: var(--nos-primary-solid);
}

.nos-page .nos-eje-icon {
	background: linear-gradient(135deg, rgba(var(--eje-rgb), .95), rgba(var(--eje-rgb), .65));
}

.nos-page .nos-eje-badge {
	background: rgba(var(--eje-rgb), .10);
	color: var(--eje-color);
}

.nos-page .nos-eje-link {
	color: var(--eje-color);
}

.nos-page .nos-row-dot {
	background: var(--row-color, var(--nos-primary-solid));
}

.nos-page .nos-acc-item {
	display: flex;
	flex-direction: column;
	align-items: center;
	text-align: center;
	padding: 1.25rem;
	border-radius: 18px;
	border: 1px solid color-mix(in srgb, var(--program-color, #e5e7eb) 18%, #ffffff);
	background: color-mix(in srgb, var(--program-color, #ffffff) 4%, #ffffff);
	transition: transform .15s, box-shadow .15s;
}

.nos-page .nos-acc-item:hover {
	transform: translateY(-2px);
	box-shadow: 0 8px 20px -12px rgba(16, 24, 40, .18);
}

.nos-page .nos-acc-icon {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 3.5rem;
	height: 3.5rem;
	margin-bottom: .75rem;
	border-radius: 16px;
	background: color-mix(in srgb, var(--program-color, #ffffff) 14%, #ffffff);
	color: var(--program-color);
}

.nos-page .nos-acc-icon svg { stroke: var(--program-color); }

.nos-page .nos-acc-label {
	color: #101828;
	font-size: .875rem;
	font-weight: 700;
}

.nos-page .nos-svg-shell,
.nos-page .nos-acc-svg-shell {
	display: flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
}

.nos-page .nos-svg-shell {
	width: 2rem;
	height: 2rem;
}

.nos-page .nos-acc-svg-shell {
	width: 2.1rem;
	height: 2.1rem;
}

.nos-page .nos-svg-shell svg,
.nos-page .nos-acc-svg-shell svg,
.nos-page .nos-eje-icon > svg,
.nos-page .nos-program-icon-primary > svg,
.nos-page .nos-program-icon-solidarios > svg,
.nos-page .nos-program-icon-sos > svg,
.nos-page .nos-acc-icon > svg {
	width: 100% !important;
	height: 100% !important;
	max-width: none;
	max-height: none;
	display: block;
}

.nos-page .nos-sos-box {
	background: color-mix(in srgb, var(--program-color, var(--naranja)) 8%, #ffffff);
	border: 1px solid color-mix(in srgb, var(--program-color, var(--naranja)) 22%, #ffffff);
	border-radius: 18px;
	padding: 1.5rem;
}

.nos-page .nos-sos-title {
	color: #101828;
	font-weight: 800;
	font-size: 1rem;
	margin-bottom: 1rem;
	display: flex;
	align-items: center;
	gap: .5rem;
}

.nos-page .nos-sos-title svg {
	stroke: var(--program-color, var(--naranja));
}

.nos-page .nos-sos-list {
	display: flex;
	flex-direction: column;
	gap: .75rem;
	margin: 0;
	padding: 0;
	list-style: none;
}

.nos-page .nos-sos-list li {
	display: flex;
	align-items: flex-start;
	gap: .75rem;
}

.nos-page .nos-sos-check {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 1.25rem;
	height: 1.25rem;
	margin-top: .15rem;
	border-radius: 999px;
	background: var(--program-color, var(--naranja));
	flex-shrink: 0;
}

/* Panels: control de visibilidad con .is-active. Mantenemos .active por compat. */
.nos-page .tab-panel {
	display: none;
}

.nos-page .tab-panel.is-active,
.nos-page .tab-panel.active {
	display: block;
}

/* ===== Programas Edutech (page-programas.php) ===== */
body.vfr-body-programas {
	background: linear-gradient(135deg, #eff6ff 0%, #ecfeff 50%, #f0fdf4 100%);
}

.programas-edutech-page .cal-day {
	min-height: 7rem;
	transition: transform .15s, box-shadow .15s;
}

@media (min-width: 576px) {
	.programas-edutech-page .cal-day {
		min-height: 10rem;
	}
}

/* ── Calendario compacto en mobile ≤575px ────── */
@media (max-width: 575px) {
	#cal-card {
		padding: 10px;
	}

	#cal-header {
		gap: 2px;
		margin-bottom: 2px;
	}

	#cal-header > div {
		font-size: 0.6rem;
		padding: 3px 0;
		letter-spacing: -0.01em;
	}

	#cal-grid {
		gap: 2px;
	}

	.programas-edutech-page .cal-day {
		min-height: 2.75rem;
		padding: 4px 3px;
		border-radius: 6px;
	}

	/* número del día dentro de la celda */
	.programas-edutech-page .cal-day > :first-child {
		font-size: 0.7rem;
		line-height: 1;
	}

	/* punto de evento — hacerlo más pequeño */
	.programas-edutech-page .event-dot {
		width: 5px;
		height: 5px;
	}

	/* reducir tipografía en el nav del calendario */
	#cal-title {
		font-size: 1rem;
	}

	#cal-prev,
	#cal-next {
		width: 28px;
		height: 28px;
	}

	#cal-today {
		height: 28px;
		font-size: 0.7rem;
		padding: 0 8px;
	}
}

.programas-edutech-page .cal-day.has-event {
	cursor: pointer;
}

.programas-edutech-page .cal-day.has-event:hover {
	transform: translateY(-2px);
	box-shadow: 0 8px 20px -4px rgba(0, 0, 0, .18);
}

.programas-edutech-page .cal-day.inscrito-event {
	cursor: pointer;
}

.programas-edutech-page .cal-day.inscrito-event:hover {
	transform: translateY(-2px);
	box-shadow: 0 8px 20px -4px rgba(152, 16, 250, .2);
}

.programas-edutech-page .modal-overlay {
	background: rgba(0, 0, 0, .45);
	backdrop-filter: blur(4px);
}

.programas-edutech-page .modal-enter {
	animation: vfrProgramasModalIn .2s ease-out;
}

@keyframes vfrProgramasModalIn {
	from {
		opacity: 0;
		transform: scale(.96) translateY(8px);
	}
	to {
		opacity: 1;
		transform: scale(1) translateY(0);
	}
}

.programas-edutech-page .constancia-code {
	font-family: 'Courier New', monospace;
	letter-spacing: 2px;
}

.programas-edutech-page .event-dot {
	width: 8px;
	height: 8px;
	border-radius: 50%;
	display: inline-block;
}

/* ===== Actividades (page-actividades.php) ===== */
body.vfr-body-actividades .filter-btn.is-active {
	background: #fff;
	font-weight: 600;
	box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
}

body.vfr-body-actividades .activity-card[data-hidden="true"] {
	display: none;
}

/* Botón outline naranja "Ver Detalles".
   Fix: las utilidades arbitrarias border-(--naranja) y text-(--naranja) son
   sintaxis Tailwind v4. Este tema usa Tailwind v3 (CDN), que las ignora y
   deja el botón sin color/borde -> se ve heredado/amarillento.
   Definimos los colores explícitamente para no depender del JIT. */
.btn-ver-detalle.is-outline-naranja,
a.btn-ver-detalle.is-outline-naranja {
	border: 1px solid var(--naranja);
	color: var(--naranja);
	background-color: #fff;
	text-decoration: none;
}
.btn-ver-detalle.is-outline-naranja:hover,
a.btn-ver-detalle.is-outline-naranja:hover {
	background-color: #fff4f0;
	border-color: var(--naranja);
	color: var(--naranja);
}

body.vfr-body-actividades .btn-ver-detalle.is-outline-naranja:hover {
	background: #fff4f0;
	border-color: var(--naranja);
}

.btn-ver-detalle.bg-degradado-13:hover,
a.bg-degradado-13:hover,
button.bg-degradado-13:hover,
a.bg-\(--verde\):hover,
body.vfr-body-actividades #mdaBtnPostular:hover,
body.vfr-body-actividades #mdaLinkEvento:hover,
#mdaBtnPostular.vfr-mda-cta:hover {
	filter: brightness(1.15);
	color: #fff;
	transition: filter .15s ease;
}

/* Modal de actividades — KPIs, barra de progreso y CTA en paleta del theme. */
.vfr-mda-kpi {
	color: var(--naranja);
}
.vfr-mda-pct-bar {
	background: linear-gradient(90deg, #d93600 0%, #ff3f00 55%, #ff7840 100%);
}
#mdaBtnPostular.vfr-mda-cta {
	background: linear-gradient(120deg, #d93600 0%, #ff3f00 55%, #ff7840 100%);
	box-shadow: 0 8px 24px -10px rgba(255, 63, 0, 0.55);
	color: #fff;
}
body.vfr-body-actividades .vfr-edutech-application-card {
	transition: transform .2s ease, box-shadow .2s ease;
}
body.vfr-body-actividades .vfr-edutech-application-card.cursor-pointer:hover {
	transform: translateY(-2px);
	box-shadow: 0 16px 32px -12px rgba(15, 23, 42, 0.28);
}

body.vfr-body-actividades .vfr-edutech-application-card:focus-visible {
	outline: none;
	box-shadow: 0 0 0 3px rgba(255, 63, 0, 0.45), 0 22px 45px -28px rgba(217, 54, 0, 0.30);
}

body.vfr-body-actividades .vfr-edutech-program-card {
	box-shadow: 0 22px 45px -28px rgba(30, 64, 175, 0.55);
}

/* ===== Rediseño card EDUTECH (estado pendiente) =====
   Paleta del theme (--naranja) sobre fondo crema cálido,
   jerarquía tipográfica clara y CTA sólido naranja. */
body.vfr-body-actividades .vfr-edutech-program-card--pending {
	background: linear-gradient(135deg, #fffaf6 0%, #ffffff 55%, #fff5ec 100%);
	border: 1px solid rgba(255, 63, 0, 0.18);
	box-shadow: 0 22px 45px -28px rgba(217, 54, 0, 0.30);
}

body.vfr-body-actividades .vfr-edutech-program-card--pending::before {
	content: "";
	position: absolute;
	inset: 0;
	pointer-events: none;
	background:
		radial-gradient(circle at 92% 8%, rgba(255, 63, 0, 0.08) 0%, transparent 38%),
		radial-gradient(circle at 8% 100%, rgba(255, 192, 16, 0.10) 0%, transparent 42%);
}

body.vfr-body-actividades .vfr-edutech-program-card--pending.cursor-pointer:hover {
	box-shadow: 0 22px 40px -18px rgba(217, 54, 0, 0.38);
}

/* Badge "Pendiente" con paleta de marca */
body.vfr-body-actividades .vfr-edutech-program-card--pending .vfr-edutech-status-pill {
	background: #fff1e3;
	color: #b8400a;
	box-shadow: inset 0 0 0 1px rgba(255, 63, 0, 0.22);
	z-index: 2;
}

body.vfr-body-actividades .vfr-edutech-status-dot {
	width: 8px;
	height: 8px;
	border-radius: 999px;
	background: var(--naranja);
	box-shadow: 0 0 0 0 rgba(255, 63, 0, 0.55);
	animation: vfrEdutechDotPulse 1.8s ease-out infinite;
}

@keyframes vfrEdutechDotPulse {
	0%   { box-shadow: 0 0 0 0 rgba(255, 63, 0, 0.50); }
	70%  { box-shadow: 0 0 0 6px rgba(255, 63, 0, 0.00); }
	100% { box-shadow: 0 0 0 0 rgba(255, 63, 0, 0.00); }
}

/* Override del badge global #vfrEdutechCardStatus (oscuro) sólo para estado pending */
body.vfr-body-actividades .vfr-edutech-program-card--pending #vfrEdutechCardStatus {
	background: #fff1e3 !important;
	color: #b8400a;
}

/* Tipografía jerárquica */
body.vfr-body-actividades .vfr-edutech-program-card--pending .vfr-edutech-card-copy {
	padding-right: 120px;
}

body.vfr-body-actividades .vfr-edutech-program-card--pending .vfr-edutech-eyebrow {
	display: inline-block;
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	color: var(--naranja);
	margin-bottom: 8px;
}

body.vfr-body-actividades .vfr-edutech-program-card--pending .vfr-edutech-card-title {
	color: #0f172a;
	font-size: 34px;
	line-height: 1.05;
	font-weight: 800;
	letter-spacing: -0.02em;
	margin-bottom: 6px;
}

body.vfr-body-actividades .vfr-edutech-program-card--pending .vfr-edutech-card-subtitle {
	color: #334155;
	font-size: 16px;
	line-height: 1.45;
	font-weight: 600;
	margin-top: 2px;
}

body.vfr-body-actividades .vfr-edutech-program-card--pending .vfr-edutech-card-notice {
	color: #475569;
	font-size: 14px;
	line-height: 1.55;
	margin-top: 10px;
	max-width: 460px;
}

/* CTA naranja sólido */
body.vfr-body-actividades .vfr-edutech-cta {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	min-height: 44px;
	padding: 0 22px;
	border-radius: 12px;
	border: 0;
	color: #ffffff;
	font-size: 14px;
	font-weight: 700;
	letter-spacing: 0.01em;
	background: linear-gradient(120deg, #d93600 0%, #ff3f00 55%, #ff7840 100%);
	box-shadow: 0 10px 22px -10px rgba(217, 54, 0, 0.65);
	cursor: pointer;
	transition: transform .2s ease, box-shadow .2s ease, filter .2s ease;
}

body.vfr-body-actividades .vfr-edutech-cta:hover {
	transform: translateY(-1px);
	box-shadow: 0 14px 26px -10px rgba(217, 54, 0, 0.75);
	filter: brightness(1.04);
}

body.vfr-body-actividades .vfr-edutech-cta:focus-visible {
	outline: 2px solid #b8400a;
	outline-offset: 3px;
}

body.vfr-body-actividades .vfr-edutech-cta-arrow {
	width: 18px;
	height: 18px;
	transition: transform .2s ease;
}

body.vfr-body-actividades .vfr-edutech-cta:hover .vfr-edutech-cta-arrow {
	transform: translateX(4px);
}

/* Media: tratamiento de imagen y placeholder */
body.vfr-body-actividades .vfr-edutech-program-card--pending .vfr-edutech-card-media {
	background: #fff1e3;
	border: 1px solid rgba(255, 63, 0, 0.18);
	box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.6), 0 8px 20px -14px rgba(217, 54, 0, 0.4);
}

body.vfr-body-actividades .vfr-edutech-card-media--placeholder {
	display: flex;
	align-items: stretch;
	justify-content: stretch;
}

body.vfr-body-actividades .vfr-edutech-card-media--placeholder svg {
	width: 100%;
	height: 100%;
	display: block;
}
/* ===== fin rediseño card EDUTECH (pending) ===== */

body.vfr-body-actividades .vfr-cap-cta-card {
	width: 100%;
	max-width: none;
	box-shadow: 0 22px 45px -28px rgba(15, 23, 42, 0.38);
	position: relative;
}

body.vfr-body-actividades .vfr-cap-cta-card-layout {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(230px, 0.48fr);
	gap: 22px;
	align-items: center;
	text-align: left;
}

body.vfr-body-actividades .vfr-cap-cta-card-content {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
}

body.vfr-body-actividades .vfr-cap-cta-kicker {
	display: inline-flex;
	align-items: center;
	padding: 0.28rem 0.72rem;
	border-radius: 999px;
	font-size: 0.75rem;
	font-weight: 700;
	letter-spacing: 0.03em;
	text-transform: uppercase;
	color: rgba(255,255,255,0.95);
	background: rgba(255,255,255,0.16);
	border: 1px solid rgba(255,255,255,0.22);
	margin-bottom: 0.8rem;
}

body.vfr-body-actividades .vfr-cap-cta-metrics {
	display: grid;
	gap: 10px;
}

body.vfr-body-actividades .vfr-cap-cta-metric {
	padding: 12px 14px;
	border-radius: 12px;
	background: rgba(255,255,255,0.14);
	border: 1px solid rgba(255,255,255,0.2);
	backdrop-filter: blur(2px);
	display: flex;
	flex-direction: column;
	gap: 2px;
	align-items: flex-start;
}

body.vfr-body-actividades .vfr-cap-cta-metric-value {
	color: #ffffff;
	font-size: 1rem;
	font-weight: 700;
	line-height: 1.2;
}

body.vfr-body-actividades .vfr-cap-cta-metric-label {
	color: rgba(255,255,255,0.78);
	font-size: 0.78rem;
	line-height: 1.2;
}

body.vfr-body-actividades .vfr-cap-cta-btn {
	box-shadow: 0 10px 25px -16px rgba(15, 23, 42, 0.55);
	transition: transform .2s ease, box-shadow .2s ease, filter .2s ease;
}

body.vfr-body-actividades .vfr-cap-cta-btn:hover {
	transform: translateY(-1px);
	filter: brightness(0.98);
	box-shadow: 0 14px 28px -16px rgba(15, 23, 42, 0.65);
}

.vfr-footer-cta {
	width: 100%;
	max-width: none;
	box-shadow: 0 22px 45px -28px rgba(15, 23, 42, 0.38);
	position: relative;
}

.vfr-footer-cta-layout {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: 18px;
	align-items: center;
	text-align: left;
}

.vfr-footer-cta-content {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 6px;
	max-width: min(760px, 100%);
}

.vfr-footer-cta-description {
	max-width: min(640px, 100%);
	margin: 0;
}

.vfr-footer-cta-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 14px;
	justify-content: flex-start;
	align-items: center;
	margin-top: 12px;
	width: 100%;
}

.vfr-footer-cta-btn {
	box-shadow: 0 10px 25px -16px rgba(15, 23, 42, 0.55);
	transition: transform .2s ease, box-shadow .2s ease, filter .2s ease;
}

.vfr-footer-cta-btn:hover {
	transform: translateY(-1px);
	filter: brightness(0.98);
	box-shadow: 0 14px 28px -16px rgba(15, 23, 42, 0.65);
}

@media (max-width: 767px) {
	.vfr-footer-cta-content {
		width: 100%;
	}

	.vfr-footer-cta-actions {
		flex-direction: column;
		align-items: stretch;
		gap: 10px;
	}

	.vfr-footer-cta-btn {
		width: 100%;
	}
}

@media (max-width: 991px) {
	body.vfr-body-actividades .vfr-cap-cta-card-layout {
		grid-template-columns: minmax(0, 1fr);
		gap: 14px;
	}

	body.vfr-body-actividades .vfr-cap-cta-metrics {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

body.vfr-body-actividades .vfr-edutech-card-layout {
	display: grid;
	grid-template-columns: minmax(0, 1.2fr) minmax(260px, 0.8fr);
	gap: 22px;
	align-items: stretch;
}

body.vfr-body-actividades .vfr-edutech-card-layout--text-only {
	grid-template-columns: minmax(0, 1fr);
}

body.vfr-body-actividades .vfr-edutech-card-copy {
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: flex-start;
	max-width: 500px;
}
body.vfr-body-actividades .vfr-edutech-card-media {
	position: relative;
	overflow: hidden;
	border-radius: 18px;
	aspect-ratio: 16 / 10;
	min-height: 0;
	width: 100%;
	border: 1px solid rgba(255, 255, 255, 0.3);
	background: rgba(255, 255, 255, 0.16);
	margin-left: auto;
	max-width: 550px;
}
#vfrEdutechCardStatus{
    z-index: 2;
    background: #1e1e1e;
}
body.vfr-body-actividades .vfr-edutech-card-media img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}
body.vfr-body-actividades .vfr-postulacion-feedback {
	display: none;
	margin-bottom: 18px;
	border-radius: 12px;
	padding: 12px 14px;
	font-size: 14px;
	line-height: 1.5;
}
body.vfr-body-actividades .vfr-postulacion-feedback.is-visible {
	display: block;
}
body.vfr-body-actividades .vfr-postulacion-feedback--error {
	background: #fef2f2;
	border: 1px solid #fecaca;
	color: #991b1b;
}
body.vfr-body-actividades .vfr-postulacion-feedback--success {
	background: #f0fdf4;
	border: 1px solid #bbf7d0;
	color: #166534;
}

/* ===== Contacto (templates/page-contacto.php) ===== */
.vfr-contacto-main {
	background: linear-gradient(180deg, #fff7f3 0%, #ffffff 22%, #fff 100%);
}

.vfr-contacto-icon-wrap {
	width: 32px;
	height: 32px;
	border-radius: 10px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	color: var(--vfr-contacto-accent, #ff3f00);
	background: color-mix(in srgb, var(--vfr-contacto-accent, #ff3f00) 12%, #ffffff);
	border: 1px solid color-mix(in srgb, var(--vfr-contacto-accent, #ff3f00) 28%, #ffffff);
	flex-shrink: 0;
}

.vfr-contacto-accent-text {
	color: var(--vfr-contacto-accent, #ff3f00);
}

.vfr-contacto-contact-link:hover {
	color: var(--vfr-contacto-accent, #ff3f00);
}

.vfr-contacto-checkbox {
	accent-color: var(--vfr-contacto-accent, #ff3f00);
}

.vfr-contacto-extra-box {
	background-color: var(--vfr-contacto-brand-solid, #ff3f00);
	background-image: var(--vfr-contacto-brand-bg, linear-gradient(120deg,#d93600 0%,#ff3f00 55%,#ff7840 100%));
}

.vfr-contacto-extra-item {
	padding-bottom: 8px;
	border-bottom: 1px solid rgba(255, 255, 255, 0.28);
}

.vfr-contacto-extra-item:last-child {
	border-bottom: 0;
	padding-bottom: 0;
}

.vfr-contacto-status {
	margin-bottom: 18px;
	border-radius: 12px;
	padding: 12px 14px;
	font-size: 14px;
	line-height: 1.5;
	border: 1px solid transparent;
}

.vfr-contacto-status.hidden {
	display: none;
}

.vfr-contacto-status.is-success {
	background: #f0fdf4;
	border-color: #bbf7d0;
	color: #166534;
}

.vfr-contacto-status.is-error {
	background: #fef2f2;
	border-color: #fecaca;
	color: #991b1b;
}

.vfr-contacto-submit-btn {
	background-color: var(--vfr-contacto-brand-solid, #ff3f00);
	background-image: var(--vfr-contacto-brand-bg, linear-gradient(120deg,#d93600 0%,#ff3f00 55%,#ff7840 100%));
}

.vfr-contacto-submit-btn:hover {
	background-color: var(--vfr-contacto-brand-solid-hover, #d93600);
	filter: brightness(0.98);
}

@media (max-width: 1024px) {
	.vfr-contacto-main .grid {
		gap: 24px;
	}
}
@media (max-width: 640px) {
	.vfr-contacto-main .rounded-2xl {
		border-radius: 16px;
	}
}
@media (max-width: 575px){
	.actividades-hero-stats {
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
		gap: 8px;
	}

	.actividades-hero-stats__card {
		padding: 12px 10px;
	}

	.actividades-hero-stats__card:nth-child(3) {
		grid-column: 1 / -1;
	}

	.actividades-hero-stats__value {
		font-size: 24px !important;
		line-height: 1.05 !important;
	}

	.actividades-hero-stats__label {
		font-size: 11px !important;
		line-height: 1.3 !important;
	}

	.actividades-hero-stats .sub-title{
		display: none;
	}

	.vfr-cap-section-icon-shell .vfr-cap-section-icon svg,
	svg.vfr-cap-section-icon {
		width: 1.8rem;
		height: 1.8rem;
		max-width: 1.8rem;
		max-height: 1.8rem;
	}

	.vfr-cap-cta-icon-shell .vfr-cap-cta-icon svg {
		width: 1.9rem;
		height: 1.9rem;
		max-width: 1.9rem;
		max-height: 1.9rem;
	}

	.vfr-cap-section-icon-shell + div h2 {
		font-size: 1.45rem;
		line-height: 1.18;
	}

	.vfr-cap-section-icon-shell + div p {
		font-size: 0.92rem;
		line-height: 1.35;
	}

	.vfr-edutech-application-card {
		padding: 16px !important;
		display: flex;
		flex-direction: column;
	}

	body.vfr-body-actividades .vfr-edutech-card-layout {
		grid-template-columns: minmax(0, 1fr);
		gap: 12px;
	}

	body.vfr-body-actividades .vfr-edutech-card-layout--text-only {
		grid-template-columns: minmax(0, 1fr);
	}

	body.vfr-body-actividades .vfr-edutech-card-media {
		aspect-ratio: 16 / 10;
		min-height: 180px;
		margin-top: 20px;
		margin-right: auto;
	}

	body.vfr-body-actividades .vfr-edutech-card-copy {
		display: flex;
		flex-direction: column;
		align-items: flex-start;
		gap: 10px;
		width: 100%;
	}

	body.vfr-body-actividades .vfr-edutech-program-card--pending .vfr-edutech-card-copy {
		padding-right: 0;
	}

	body.vfr-body-actividades .vfr-edutech-program-card--pending .vfr-edutech-card-title {
		font-size: 26px;
	}

	body.vfr-body-actividades .vfr-edutech-program-card--pending .vfr-edutech-card-subtitle {
		font-size: 15px;
	}

	body.vfr-body-actividades .vfr-edutech-program-card--pending .vfr-edutech-card-notice {
		font-size: 13px;
	}

	body.vfr-body-actividades .vfr-cap-cta-card-layout {
		display: grid;
		grid-template-columns: minmax(0, 1fr);
		gap: 10px;
	}

	body.vfr-body-actividades .vfr-cap-cta-card-content {
		display: flex;
		flex-direction: column;
		align-items: flex-start;
		gap: 8px;
		width: 100%;
	}

	.vfr-edutech-application-card .flex.items-center.gap-4 {
		align-items: flex-start;
		gap: 10px;
	}

	#vfrEdutechCardStatus {
		position: static;
		align-self: flex-start;
		margin-bottom: 10px;
		max-width: 100%;
		padding: 0.2rem 0.5rem;
		font-size: 0.66rem;
		line-height: 1.1;
	}

	#vfrEdutechCardTitle {
		font-size: 1.25rem;
		line-height: 1.18;
		padding-right: 0;
	}

	body.vfr-body-actividades .vfr-edutech-card-copy {
		justify-content: flex-start;
	}

	#vfrEdutechCardSubtitle {
		font-size: 1rem;
		line-height: 1.45;
	}

	#vfrEdutechCardNotice {
		font-size: 0.78rem;
		line-height: 1.3;
	}

	body.vfr-body-actividades .vfr-edutech-card-copy {
		gap: 8px;
	}
}

/* Capacitaciones: mayor presencia para iconos SVG configurables */
.vfr-cap-section-icon-shell .vfr-cap-section-icon svg,
svg.vfr-cap-section-icon {
	width: 2.15rem;
	height: 2.15rem;
	max-width: 2.15rem;
	max-height: 2.15rem;
	display: block;
}

.vfr-cap-cta-icon-shell .vfr-cap-cta-icon svg {
	width: 2.25rem;
	height: 2.25rem;
	max-width: 2.25rem;
	max-height: 2.25rem;
	display: block;
}

/* ===== Rediseño card Voluntarios SOS (estado empty / sin emergencia activa) =====
   Misma familia visual que EDUTECH pending (crema cálido, naranja, sombras suaves),
   con micro-acento de urgencia latente (border-left naranja + chip estático). */
.vfr-sos-empty-panel {
	position: relative;
	overflow: hidden;
	margin-top: 16px;
	padding: 28px;
	border-radius: 24px;
	background: linear-gradient(135deg, #fffaf6 0%, #ffffff 55%, #fff5ec 100%);
	border: 1px solid rgba(255, 63, 0, 0.18);
	border-left: 4px solid var(--naranja);
	box-shadow: 0 22px 45px -28px rgba(217, 54, 0, 0.30);
}

.vfr-sos-empty-panel::before {
	content: "";
	position: absolute;
	inset: 0;
	pointer-events: none;
	background:
		radial-gradient(circle at 92% 8%, rgba(255, 63, 0, 0.08) 0%, transparent 38%),
		radial-gradient(circle at 8% 100%, rgba(255, 192, 16, 0.10) 0%, transparent 42%);
}

.vfr-sos-empty-layout {
	position: relative;
	z-index: 1;
	display: grid;
	grid-template-columns: minmax(0, 1.2fr) minmax(260px, 0.8fr);
	gap: 28px;
	align-items: stretch;
}

.vfr-sos-empty-stack {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	max-width: 560px;
	margin: 0;
}

/* Eyebrow / chip: "Sin emergencia activa" */
.vfr-sos-empty-eyebrow {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 6px 14px;
	border-radius: 999px;
	background: #fff1e3;
	color: #b8400a;
	box-shadow: inset 0 0 0 1px rgba(255, 63, 0, 0.22);
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 0.16em;
	text-transform: uppercase;
}

.vfr-sos-empty-eyebrow-dot {
	width: 8px;
	height: 8px;
	border-radius: 999px;
	background: var(--naranja);
	box-shadow: 0 0 0 3px rgba(255, 63, 0, 0.18);
	flex-shrink: 0;
}

/* Tipografía jerárquica */
.vfr-sos-empty-title {
	color: #0f172a;
	font-size: 30px;
	line-height: 1.12;
	font-weight: 800;
	letter-spacing: -0.02em;
	margin: 14px 0 0;
}

.vfr-sos-empty-desc {
	color: #334155;
	font-size: 16px;
	line-height: 1.55;
	font-weight: 500;
	margin: 12px 0 0;
	max-width: 520px;
}

/* Stats cards */
.vfr-sos-empty-stats-row {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 12px;
	width: 100%;
	margin-top: 18px;
}

.vfr-sos-empty-stat-card {
	background: #ffffff;
	border: 1px solid rgba(255, 63, 0, 0.16);
	border-radius: 16px;
	padding: 14px 16px;
	box-shadow: 0 6px 14px -10px rgba(217, 54, 0, 0.25);
}

.vfr-sos-empty-stat-head {
	display: flex;
	align-items: center;
	gap: 12px;
}

.vfr-sos-stat-icon-shell {
	width: 44px;
	height: 44px;
	border-radius: 12px;
	background: #fff1e3;
	color: var(--naranja);
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
}

.vfr-sos-stat-icon-shell svg {
	width: 22px;
	height: 22px;
	display: block;
}

.vfr-sos-empty-stat-value {
	color: var(--naranja);
	font-size: 26px;
	font-weight: 800;
	line-height: 1;
	letter-spacing: -0.01em;
	white-space: nowrap;
}

.vfr-sos-empty-stat-label {
	color: #475569;
	font-size: 13px;
	font-weight: 500;
	line-height: 1.4;
	margin-top: 8px;
}

/* CTA — naranja gradiente, coherente con .vfr-edutech-cta */
.vfr-sos-empty-cta-row {
	margin-top: 20px;
	width: 100%;
}

.vfr-sos-empty-cta {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	min-height: 44px;
	padding: 0 22px;
	border-radius: 12px;
	border: 0;
	color: #ffffff;
	font-size: 14px;
	font-weight: 700;
	letter-spacing: 0.01em;
	text-decoration: none;
	background: linear-gradient(120deg, #d93600 0%, #ff3f00 55%, #ff7840 100%);
	box-shadow: 0 10px 22px -10px rgba(217, 54, 0, 0.65);
	cursor: pointer;
	transition: transform .2s ease, box-shadow .2s ease, filter .2s ease;
}

.vfr-sos-empty-cta:hover {
	transform: translateY(-1px);
	box-shadow: 0 14px 26px -10px rgba(217, 54, 0, 0.75);
	filter: brightness(1.04);
	color: #ffffff;
}

.vfr-sos-empty-cta:focus-visible {
	outline: 2px solid #b8400a;
	outline-offset: 3px;
}

.vfr-sos-empty-cta-arrow {
	width: 18px;
	height: 18px;
	transition: transform .2s ease;
}

.vfr-sos-empty-cta:hover .vfr-sos-empty-cta-arrow {
	transform: translateX(4px);
}

/* Media: imagen lateral + placeholder */
.vfr-sos-empty-media {
	position: relative;
	overflow: hidden;
	border-radius: 18px;
	background: #fff1e3;
	border: 1px solid rgba(255, 63, 0, 0.18);
	box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.6), 0 8px 20px -14px rgba(217, 54, 0, 0.4);
	min-height: 320px;
	width: 100%;
}

.vfr-sos-empty-media img {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

.vfr-sos-empty-media--placeholder {
	display: flex;
	align-items: stretch;
	justify-content: stretch;
}

.vfr-sos-empty-media--placeholder svg {
	width: 100%;
	height: 100%;
	display: block;
}

/* Tablet / mobile: stack vertical, imagen visible debajo de los stats */
@media (max-width: 1023px) {
	.vfr-sos-empty-layout {
		grid-template-columns: minmax(0, 1fr);
		gap: 20px;
	}

	.vfr-sos-empty-stack {
		max-width: 100%;
		order: 1;
	}

	.vfr-sos-empty-media {
		order: 2;
		min-height: 0;
		aspect-ratio: 16 / 10;
	}
}

@media (max-width: 640px) {
	.vfr-cap-section-icon-shell .vfr-cap-section-icon svg,
	svg.vfr-cap-section-icon {
		width: 2rem;
		height: 2rem;
		max-width: 2rem;
		max-height: 2rem;
	}
	.vfr-cap-cta-icon-shell .vfr-cap-cta-icon svg {
		width: 2.1rem;
		height: 2.1rem;
		max-width: 2.1rem;
		max-height: 2.1rem;
	}
	.vfr-sos-empty-panel {
		padding: 20px;
		border-radius: 18px;
		border:0 !important;
	}
	.vfr-sos-empty-eyebrow {
		font-size: 10px;
		letter-spacing: 0.14em;
		padding: 5px 12px;
	}

	.vfr-sos-empty-title {
		font-size: 22px;
		line-height: 1.18;
	}

	.vfr-sos-empty-desc {
		font-size: 15px;
		line-height: 1.5;
	}

	.vfr-sos-empty-stats-row {
		gap: 10px;
	}

	.vfr-sos-empty-stat-card {
		padding: 12px;
	}

	.vfr-sos-empty-stat-head {
		gap: 10px;
	}

	.vfr-sos-stat-icon-shell {
		width: 38px;
		height: 38px;
		border-radius: 10px;
	}

	.vfr-sos-stat-icon-shell svg {
		width: 18px;
		height: 18px;
	}

	.vfr-sos-empty-stat-value {
		font-size: 20px;
	}

	.vfr-sos-empty-stat-label {
		font-size: 12px;
	}

	.vfr-sos-empty-cta {
		display: flex;
		width: 100%;
		justify-content: center;
	}
	.caja-voluntario{
		box-shadow: none !important;
		padding: 0 !important;
	}
	.caja-voluntario .border{
		border:0 !important;
	}
	.caja-voluntario .vfr-table tbody tr {
    	padding: 10px 2px;
    }
}
/* ===== fin rediseño card Voluntarios SOS (empty) ===== */
.faq-item a{
	text-decoration: underline;
}
/* ===== Voluntariado v3.1: Pills de empresa ===========================
   Hash estable por nombre → índice de paleta (calculado en JS).
   Los colores cumplen contraste AA (texto oscuro sobre fondo claro).
   ===================================================================== */
.vfr-empresa-pill {
    display: inline-flex;
    align-items: center;
    border-radius: 9999px;
    padding: 2px 10px;
    font-size: 12px;
    font-weight: 600;
    line-height: 1.6;
    white-space: nowrap;
    letter-spacing: 0.01em;
    /* color y background se asignan inline desde JS */
}

/* ===== Voluntariado v3.1: Skeleton loader ===========================
   Shimmer animado para el directorio mientras carga AJAX.
   ===================================================================== */
@keyframes vfrSkimmer {
    0%   { background-position: -400px 0; }
    100% { background-position: 400px 0; }
}

.vfr-skeleton {
    background: linear-gradient(
        90deg,
        #f0f2f5 25%,
        #e4e7ec 50%,
        #f0f2f5 75%
    );
    background-size: 800px 100%;
    animation: vfrSkimmer 1.4s ease-in-out infinite;
    display: inline-block;
}

.vfr-skeleton-wrap {
    overflow: hidden;
}

/* ===== Voluntariado v3.1: Paginador del directorio ================== */
.vfr-pager-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 36px;
    height: 36px;
    padding: 0 8px;
    border-radius: 8px;
    border: 1px solid #e5e7eb;
    background: #ffffff;
    color: #4a5565;
    font-size: 14px;
    font-weight: 500;
    cursor: pointer;
    transition: background 0.15s ease, border-color 0.15s ease, color 0.15s ease;
}

.vfr-pager-btn:hover:not(:disabled) {
    background: #f0ecff;
    border-color: #c4b5fd;
    color: #4f39f6;
}

.vfr-pager-btn:disabled {
    opacity: 0.4;
    cursor: not-allowed;
}

.vfr-pager-btn:focus-visible {
    outline: 2px solid #4f39f6;
    outline-offset: 2px;
}

/* ===== Voluntariado v3.1: Botón copiar correo ======================= */
.vfr-copy-email-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 32px;
    min-height: 32px;
    padding: 4px;
    border-radius: 6px;
    border: 1px solid transparent;
    background: transparent;
    color: #9ca3af;
    cursor: pointer;
    transition: background 0.15s ease, color 0.15s ease, border-color 0.15s ease;
    flex-shrink: 0;
    vertical-align: middle;
    margin-left: 6px;
}

.vfr-copy-email-btn:hover {
	background: #eaf9ff;
	border-color: #7dd3fc;
	color: #01b7ff;
}

.vfr-copy-email-btn:focus-visible {
	outline: 2px solid #01b7ff;
    outline-offset: 2px;
}

.vfr-copy-email-btn.copied {
    color: #16a34a;
    background: #f0fdf4;
    border-color: #bbf7d0;
}

/* Tooltip de feedback "Copiado ✓" */
.vfr-copy-feedback {
    display: inline-block;
    font-size: 11px;
    font-weight: 600;
    color: #16a34a;
    margin-left: 4px;
    opacity: 0;
    transition: opacity 0.2s ease;
    pointer-events: none;
    white-space: nowrap;
}

.vfr-copy-feedback.show {
    opacity: 1;
}

.vfr-email-inline {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	max-width: 100%;
	min-width: 0;
}

.vfr-email-text {
	min-width: 0;
}

@media (max-width: 767px) {
	.vfr-table td[data-label="Correo"] .vfr-email-inline {
		display: inline-flex;
		align-items: center;
		justify-content: flex-end;
		gap: 4px;
		max-width: 100%;
		white-space: nowrap;
	}

	.vfr-table td[data-label="Correo"] .vfr-email-text {
		display: inline-block;
		overflow: hidden;
		text-overflow: ellipsis;
		white-space: nowrap;
		max-width: min(58vw, 210px);
	}

	.vfr-table td[data-label="Correo"] .vfr-copy-email-btn {
		margin-left: 2px;
		min-width: 28px;
		min-height: 28px;
	}
}

/* ===== Voluntariado v3.1: Gráfico género — pills debajo ============= */
.vfr-gender-pills {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 8px;
    margin-top: 12px;
}

.vfr-gender-pill {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 4px 12px;
    border-radius: 9999px;
    font-size: 13px;
    font-weight: 600;
    border: 1px solid transparent;
}

.vfr-gender-pill__dot {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    flex-shrink: 0;
}

.vfr-gender-pill__pct {
    font-weight: 700;
    font-variant-numeric: tabular-nums;
}

/* ==========================================================================
   Admin Quick Edit FAB — botón flotante de edición rápida (solo admins)
   Posicionado en la esquina inferior izquierda para no chocar con
   .vfr-modal-launcher y .vfr-whatsapp-float (esquina inferior derecha).
   ========================================================================== */
.vfr-admin-fab {
    position: fixed;
    bottom: 24px;
    left: 24px;
    width: 48px;
    height: 48px;
    border-radius: 50%;
    background: var(--naranja, #ff3f00);
    color: #ffffff;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 12px 28px -10px rgba(255, 63, 0, 0.5), 0 4px 10px -4px rgba(0, 0, 0, 0.12);
    z-index: 9998;
    transition: transform 0.18s ease, box-shadow 0.18s ease, filter 0.18s ease;
    text-decoration: none;
}

.vfr-admin-fab:hover,
.vfr-admin-fab:focus-visible {
    transform: translateY(-2px) scale(1.04);
    filter: brightness(1.06);
    color: #ffffff;
    box-shadow: 0 16px 36px -10px rgba(255, 63, 0, 0.6), 0 6px 14px -4px rgba(0, 0, 0, 0.18);
    outline: none;
}

.vfr-admin-fab:focus-visible {
    outline: 2px solid #ffffff;
    outline-offset: 3px;
}

.vfr-admin-fab svg {
    width: 22px;
    height: 22px;
    display: block;
}

@media (max-width: 767px) {
    .vfr-admin-fab {
        bottom: 16px;
        left: 16px;
        width: 44px;
        height: 44px;
    }
    .vfr-admin-fab svg {
        width: 20px;
        height: 20px;
    }
}

/* =====================================================================
   Confirmación de asistencia por QR (/confirmar-qr/)
   ===================================================================== */
.vfr-qr-confirm-page {
    margin: 0;
    background: linear-gradient(135deg, #fff7f4 0%, #f4f3ef 100%);
    min-height: 100vh;
}
.vfr-qrc-wrap {
    min-height: 100vh;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 24px 16px;
}
.vfr-qrc-card {
    width: 100%;
    max-width: 420px;
    background: #fff;
    border-radius: 24px;
    padding: 32px 28px;
    box-shadow: 0 24px 60px -24px rgba(16, 24, 40, 0.28);
    text-align: center;
}
.vfr-qrc-logo img { height: 44px; width: auto; margin: 0 auto 18px; display: block; }
.vfr-qrc-title { font-size: 1.4rem; font-weight: 800; color: #101828; margin: 0 0 18px; }
.vfr-qrc-state h1 { font-size: 1.25rem; font-weight: 800; color: #101828; margin: 8px 0; }
.vfr-qrc-state p { color: #4a5565; font-size: .95rem; margin: 0 0 18px; }
.vfr-qrc-person {
    display: flex; align-items: center; gap: 14px;
    background: #f9fafb; border: 1px solid #eef0f3;
    border-radius: 16px; padding: 14px 16px; margin: 0 0 20px; text-align: left;
}
.vfr-qrc-avatar {
    width: 48px; height: 48px; border-radius: 50%;
    background: var(--naranja, #ff3f00); color: #fff;
    display: inline-flex; align-items: center; justify-content: center;
    font-weight: 800; font-size: 1.2rem; flex-shrink: 0;
}
.vfr-qrc-name { font-weight: 800; color: #101828; font-size: 1.05rem; }
.vfr-qrc-act { color: #6a7282; font-size: .85rem; margin-top: 2px; }
.vfr-qrc-btn {
    display: inline-flex; align-items: center; justify-content: center;
    width: 100%; min-height: 48px; border-radius: 12px;
    font-weight: 700; font-size: .95rem; text-decoration: none;
    border: 0; cursor: pointer; margin-top: 8px; transition: filter .15s ease, transform .15s ease;
}
.vfr-qrc-btn--primary {
    background: linear-gradient(120deg, #d93600 0%, #ff3f00 55%, #ff7840 100%);
    color: #fff; box-shadow: 0 10px 26px -10px rgba(255, 63, 0, 0.55);
}
.vfr-qrc-btn--primary:hover { filter: brightness(1.07); transform: translateY(-1px); color: #fff; }
.vfr-qrc-btn--ghost { background: #f4f3ef; color: #4a5565; }
.vfr-qrc-btn--ghost:hover { background: #ecebe6; color: #101828; }
.vfr-qrc-badge {
    display: inline-flex; align-items: center; gap: 8px;
    font-weight: 800; padding: 12px 18px; border-radius: 12px; margin-bottom: 14px;
}
.vfr-qrc-badge--done { background: rgba(86, 188, 48, 0.12); color: #2f7d18; width: 100%; justify-content: center; }
.vfr-qrc-badge svg { width: 22px; height: 22px; }
.vfr-qrc-result {
    border-radius: 12px; padding: 12px 16px; margin-bottom: 16px; font-weight: 600; font-size: .9rem;
}
.vfr-qrc-result--ok  { background: rgba(86, 188, 48, 0.12); color: #2f7d18; }
.vfr-qrc-result--err { background: #fef2f2; color: #991b1b; }
.vfr-qrc-form { margin: 0; }
#vfr-peru-map{
	z-index: 0;
}

/* ===== Documentacion de Gamificacion (cliente) ===== */
.vfr-gamif-doc-main {
	padding: 0 0 56px;
}

.vfr-gamif-doc-article {
	max-width: 1500px;
	margin: 0 auto;
	padding: 0 16px;
}

.vfr-gamif-doc-content {
	display: flex;
	flex-direction: column;
	gap: 20px;
	padding-top: 30px;
}

.vfr-gamif-layout {
	display: grid;
	grid-template-columns: 240px minmax(0, 1fr);
	gap: 18px;
	align-items: start;
}

.vfr-gamif-sidebar {
	position: sticky;
	top: 96px;
	z-index: 3;
}

.vfr-gamif-side-nav {
	background: #fff;
	border: 1px solid color-mix(in srgb, var(--celeste) 22%, #fff);
	border-radius: 16px;
	padding: 12px;
	box-shadow: 0 14px 28px -24px color-mix(in srgb, var(--celeste) 34%, var(--naranja));
}

.vfr-gamif-side-nav-title {
	margin: 0 0 8px;
	font-size: 0.78rem;
	font-weight: 700;
	letter-spacing: 0.03em;
	text-transform: uppercase;
	color: #4a5565;
}

.vfr-gamif-side-nav ul {
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	gap: 6px;
}

.vfr-gamif-side-link {
	display: block;
	padding: 0.55rem 0.62rem;
	border-radius: 10px;
	font-size: 0.89rem;
	font-weight: 700;
	text-decoration: none;
	color: #101828;
	border: 1px solid transparent;
	background: #fff;
	transition: background .16s ease, border-color .16s ease, color .16s ease;
}

.vfr-gamif-side-link:hover {
	background: color-mix(in srgb, var(--celeste) 8%, #fff);
	border-color: color-mix(in srgb, var(--celeste) 24%, #fff);
}

.vfr-gamif-side-link.is-active {
	background: color-mix(in srgb, var(--celeste) 14%, #fff);
	border-color: color-mix(in srgb, var(--celeste) 30%, #fff);
	color: #175e84;
}

.vfr-gamif-main-content {
	display: flex;
	flex-direction: column;
	gap: 20px;
}

.vfr-gamif-main-content > section {
	scroll-margin-top: 96px;
}

.vfr-gamif-mobile-nav {
	display: none;
	background: #fff;
	border: 1px solid color-mix(in srgb, var(--celeste) 20%, #fff);
	border-radius: 14px;
	padding: 10px;
	box-shadow: 0 12px 24px -24px color-mix(in srgb, var(--celeste) 36%, var(--naranja));
}

.vfr-gamif-mobile-nav-label {
	display: block;
	margin: 0 0 6px;
	font-size: 0.78rem;
	font-weight: 700;
	color: #4a5565;
	text-transform: uppercase;
	letter-spacing: 0.03em;
}

.vfr-gamif-mobile-select {
	width: 100%;
	min-height: 42px;
	border-radius: 10px;
	border: 1px solid color-mix(in srgb, var(--celeste) 28%, #fff);
	padding: 0 12px;
	font-size: 0.92rem;
	font-weight: 700;
	color: #101828;
	background: #fff;
}

.vfr-gamif-hero {
	background: color-mix(in srgb, var(--celeste) 10%, #fff);
	border: 1px solid color-mix(in srgb, var(--celeste) 26%, #fff);
	border-left: 6px solid var(--celeste);
	border-radius: 20px;
	padding: 28px;
	color: #101828;
	box-shadow: 0 22px 42px -28px color-mix(in srgb, var(--celeste) 45%, var(--naranja));
}

.vfr-gamif-kicker {
	margin: 0 0 8px;
	display: inline-flex;
	padding: 0.3rem 0.7rem;
	border-radius: 999px;
	font-size: 0.76rem;
	font-weight: 700;
	letter-spacing: 0.03em;
	text-transform: uppercase;
	color: #175e84;
	background: color-mix(in srgb, var(--celeste) 14%, #fff);
	border: 1px solid color-mix(in srgb, var(--celeste) 28%, #fff);
}

.vfr-gamif-hero-title {
	margin: 0;
	font-size: clamp(1.5rem, 1.1rem + 1.3vw, 2.15rem);
	line-height: 1.2;
	font-weight: 800;
}

.vfr-gamif-hero-copy {
	margin: 12px 0 0;
	max-width: 800px;
	font-size: 1rem;
	line-height: 1.6;
	color: #4a5565;
}

.vfr-gamif-hero-actions {
	margin-top: 18px;
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
}

.vfr-gamif-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 44px;
	padding: 0 16px;
	border-radius: 12px;
	font-size: 0.92rem;
	font-weight: 700;
	text-decoration: none;
	transition: transform .18s ease, filter .18s ease, box-shadow .18s ease;
}

.vfr-gamif-btn--primary {
	background: var(--celeste);
	color: #fff;
	border: 1px solid var(--celeste);
	box-shadow: 0 14px 28px -18px color-mix(in srgb, var(--naranja) 52%, var(--celeste));
}

.vfr-gamif-btn--ghost {
	background: #fff;
	border: 1px solid color-mix(in srgb, var(--celeste) 32%, #fff);
	color: #175e84;
}

.vfr-gamif-btn:hover {
	transform: translateY(-1px);
	filter: brightness(1.02);
}

.vfr-gamif-grid,
.vfr-gamif-data-grid,
.vfr-gamif-evidence-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 14px;
}

.vfr-gamif-section {
	background: #fff;
	border: 1px solid color-mix(in srgb, var(--celeste) 24%, #fff);
	border-radius: 18px;
	padding: 20px;
	box-shadow: 0 16px 34px -28px color-mix(in srgb, var(--verde) 35%, var(--celeste));
}

.vfr-gamif-section > h3 {
	margin: 0 0 12px;
	font-size: 1.18rem;
	font-weight: 800;
	color: #101828;
}

.vfr-gamif-card {
	background: #fff;
	border: 1px solid color-mix(in srgb, var(--celeste) 18%, #fff);
	border-radius: 16px;
	padding: 16px;
}

.vfr-gamif-card h3,
.vfr-gamif-card h4 {
	margin: 0 0 8px;
	font-size: 1rem;
	font-weight: 800;
	color: #101828;
}

.vfr-gamif-card p,
.vfr-gamif-card li {
	margin: 0;
	font-size: 0.94rem;
	line-height: 1.55;
	color: #4a5565;
}

.vfr-gamif-card strong,
.vfr-gamif-section strong {
	color: #101828;
}

.vfr-gamif-card ul {
	margin: 0;
	padding-left: 18px;
	display: grid;
	gap: 6px;
}

.vfr-gamif-card--verde {
	border-left: 4px solid var(--verde);
}

.vfr-gamif-card--celeste {
	border-left: 4px solid var(--celeste);
}

.vfr-gamif-card--naranja {
	border-left: 4px solid var(--naranja);
}

.vfr-gamif-card--amarillo {
	border-left: 4px solid var(--amarillo);
}

.vfr-gamif-chips {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin-bottom: 12px;
}

.vfr-chip {
	display: inline-flex;
	align-items: center;
	padding: 0.45rem 0.72rem;
	border-radius: 999px;
	font-size: 0.82rem;
	font-weight: 700;
	line-height: 1;
	border: 1px solid transparent;
}

.vfr-chip--verde {
	color: color-mix(in srgb, var(--verde) 82%, var(--celeste));
	background: color-mix(in srgb, var(--verde) 16%, #fff);
	border-color: color-mix(in srgb, var(--verde) 34%, #fff);
}

.vfr-chip--naranja {
	color: color-mix(in srgb, var(--naranja) 84%, var(--celeste));
	background: color-mix(in srgb, var(--naranja) 14%, #fff);
	border-color: color-mix(in srgb, var(--naranja) 30%, #fff);
}

.vfr-chip--amarillo {
	color: color-mix(in srgb, var(--amarillo) 86%, var(--naranja));
	background: color-mix(in srgb, var(--amarillo) 20%, #fff);
	border-color: color-mix(in srgb, var(--amarillo) 38%, #fff);
}

.vfr-chip--celeste {
	color: color-mix(in srgb, var(--celeste) 82%, var(--verde));
	background: color-mix(in srgb, var(--celeste) 14%, #fff);
	border-color: color-mix(in srgb, var(--celeste) 30%, #fff);
}

.vfr-gamif-links {
	display: flex;
	flex-wrap: wrap;
	gap: 8px 10px;
}

.vfr-gamif-links a {
	font-size: 0.9rem;
	font-weight: 700;
	color: #101828;
	text-decoration: none;
	padding: 0.46rem 0.72rem;
	border-radius: 10px;
	background: color-mix(in srgb, var(--celeste) 10%, #fff);
	border: 1px solid color-mix(in srgb, var(--celeste) 22%, #fff);
}

.vfr-gamif-links a:hover {
	background: color-mix(in srgb, var(--celeste) 18%, #fff);
	border-color: color-mix(in srgb, var(--celeste) 34%, #fff);
}

.vfr-gamif-flow {
	list-style: none;
	padding: 0;
	margin: 0;
	display: grid;
	gap: 10px;
}

.vfr-gamif-flow li {
	display: grid;
	grid-template-columns: 34px 1fr;
	gap: 10px;
	align-items: start;
	padding: 10px;
	border: 1px solid color-mix(in srgb, var(--celeste) 20%, #fff);
	border-radius: 12px;
	background: color-mix(in srgb, var(--celeste) 6%, #fff);
}

.vfr-gamif-flow li > span {
	width: 34px;
	height: 34px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border-radius: 50%;
	font-weight: 800;
	font-size: 0.88rem;
	color: #fff;
	background: var(--naranja);
}

.vfr-gamif-flow strong {
	display: block;
	font-size: 0.95rem;
	color: #101828;
	margin-bottom: 2px;
}

.vfr-gamif-flow p {
	margin: 0;
	font-size: 0.9rem;
	color: #4a5565;
}

.vfr-gamif-code-block {
	border: 1px solid color-mix(in srgb, var(--celeste) 22%, #fff);
	border-radius: 14px;
	padding: 14px;
	background: color-mix(in srgb, var(--celeste) 8%, #fff);
}

.vfr-gamif-code-block p {
	margin: 0 0 8px;
	font-size: 0.92rem;
	color: #4a5565;
}

.vfr-gamif-code-block code {
	display: block;
	overflow-x: auto;
	padding: 10px 12px;
	border-radius: 10px;
	background: #101828;
	color: #fff;
	font-size: 0.85rem;
	line-height: 1.4;
}

@media (max-width: 980px) {
	.vfr-gamif-layout {
		grid-template-columns: minmax(0, 1fr);
	}

	.vfr-gamif-sidebar {
		display: none;
	}

	.vfr-gamif-mobile-nav {
		display: block;
	}

	.vfr-gamif-grid,
	.vfr-gamif-data-grid,
	.vfr-gamif-evidence-grid {
		grid-template-columns: minmax(0, 1fr);
	}
}

@media (max-width: 680px) {
	.vfr-gamif-hero {
		padding: 20px;
	}

	.vfr-gamif-btn {
		width: 100%;
	}

	.vfr-gamif-section {
		padding: 16px;
	}
}

/* ===== Centro de Documentacion Interna ===== */
.vfr-docs-main {
	padding-bottom: 32px;
}

.vfr-docs-hero {
	position: relative;
	overflow: hidden;
	background-image: linear-gradient(112deg, rgba(209, 52, 0, 0.9) 0%, rgba(255, 63, 0, 0.9) 52%, rgba(255, 94, 41, 0.9) 100%);
	background-size: cover;
	background-position: center;
	color: #ffffff;
}

.vfr-docs-hero-bg::before,
.vfr-docs-hero-bg::after {
	content: "";
	position: absolute;
	pointer-events: none;
	border-radius: 999px;
	background: rgba(255, 255, 255, 0.08);
	filter: blur(48px);
	z-index: 0;
}

.vfr-docs-hero-bg::before {
	width: 22rem;
	height: 22rem;
	top: -5rem;
	right: -5rem;
}

.vfr-docs-hero-bg::after {
	width: 18rem;
	height: 18rem;
	bottom: -3rem;
	left: -3rem;
}

.vfr-docs-hero-inner {
	position: relative;
	z-index: 1;
	max-width: 1500px;
	margin: 0 auto;
	padding: 56px 16px;
}

.vfr-docs-hero-top {
	display: flex;
	align-items: center;
	gap: 10px;
	flex-wrap: wrap;
	margin-bottom: 20px;
}

.vfr-docs-back-link {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	color: rgba(255, 255, 255, 0.75);
	font-size: 0.875rem;
	text-decoration: none;
	margin: 0;
	transition: color 0.2s ease;
}

.vfr-docs-back-link:hover {
	color: #ffffff;
}

.vfr-docs-back-icon {
	width: 16px;
	height: 16px;
}

.vfr-docs-kicker-wrap {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 6px 14px;
	border-radius: 999px;
	border: 1px solid rgba(255, 255, 255, 0.2);
	background: rgba(255, 255, 255, 0.1);
	margin: 0;
}

.vfr-docs-kicker-icon {
	width: 16px;
	height: 16px;
	line-height: 16px;
	text-align: center;
	font-size: 0.75rem;
	font-weight: 700;
	color: #ffc010;
}

.vfr-docs-kicker-text {
	color: rgba(255, 255, 255, 0.9);
	font-size: 0.72rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.08em;
}

.vfr-docs-hero-title {
	font-size: clamp(1.8rem, 3.6vw, 3rem);
	line-height: 1.1;
	font-weight: 800;
	margin: 0 0 14px;
	max-width: 900px;
	text-shadow: 0 2px 10px rgba(17, 24, 39, 0.3);
}

.vfr-docs-hero-copy {
	margin: 0;
	max-width: 760px;
	font-size: 1rem;
	line-height: 1.65;
	color: rgba(255, 255, 255, 0.94);
}

.vfr-docs-hero-metrics {
	margin-top: 22px;
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
}

.vfr-docs-hero-metric {
	min-width: 180px;
	padding: 10px 12px;
	border-radius: 12px;
	border: 1px solid rgba(255, 255, 255, 0.22);
	background: rgba(255, 255, 255, 0.1);
	display: grid;
	gap: 2px;
}

.vfr-docs-hero-metric strong {
	font-size: 1.05rem;
	line-height: 1.2;
}

.vfr-docs-hero-metric span {
	font-size: 0.78rem;
	color: rgba(255, 255, 255, 0.88);
}

.vfr-docs-wrap {
	max-width: 1500px;
	margin: 0 auto;
	padding: 28px 16px 0;
}

.vfr-docs-layout {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: 24px;
}

.vfr-docs-sidebar {
	position: sticky;
	top: 88px;
	height: fit-content;
}

.vfr-docs-sidebar-card {
	background: #ffffff;
	border: 1px solid #e5e7eb;
	border-radius: 14px;
	padding: 18px;
	box-shadow: 0 2px 9px -6px rgba(2, 6, 23, 0.25);
}

.vfr-docs-sidebar-card h2 {
	font-size: 0.95rem;
	margin: 0 0 12px;
	color: #111827;
}

.vfr-docs-sidebar-card ul {
	margin: 0;
	padding: 0;
	list-style: none;
	display: grid;
	gap: 7px;
}

.vfr-docs-sidebar-card a {
	color: #005f9e;
	text-decoration: none;
	font-size: 0.92rem;
}

.vfr-docs-sidebar-card a:hover {
	text-decoration: underline;
}

.vfr-docs-content {
	display: grid;
	gap: 18px;
	max-width: 1200px;
	width: 100%;
	margin: 0 auto;
}

.vfr-docs-group {
	background: #ffffff;
	border: 1px solid #e5e7eb;
	border-radius: 16px;
	padding: 18px;
	box-shadow: 0 2px 8px -6px rgba(2, 6, 23, 0.2);
	overflow: hidden;
}

.vfr-docs-group summary {
	list-style: none;
	cursor: pointer;
}

.vfr-docs-group summary::-webkit-details-marker {
	display: none;
}

.vfr-docs-group-panel {
	padding-top: 8px;
}

.vfr-docs-group-header h2 {
	font-size: 1.15rem;
	margin: 0 0 5px;
	color: #0f172a;
	font-weight: 700;
}

.vfr-docs-group-header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
}

.vfr-docs-group-header p {
	margin: 0;
	color: #4b5563;
	font-size: 0.92rem;
	line-height: 1.5;
}

.vfr-docs-group-arrow {
	width: 32px;
	height: 32px;
	border-radius: 999px;
	background: #fff7ed;
	border: 1px solid #fdba74;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
	transition: transform 0.2s ease;
}

.vfr-docs-group-arrow::before {
	content: "";
	width: 8px;
	height: 8px;
	border-right: 2px solid #c2410c;
	border-bottom: 2px solid #c2410c;
	transform: rotate(45deg) translate(-1px, -1px);
}

.vfr-docs-group[open] .vfr-docs-group-arrow {
	transform: rotate(180deg);
}

.vfr-docs-cards {
	margin-top: 16px;
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(330px, 1fr));
	gap: 14px;
}

.vfr-docs-card {
	border: 1px solid #e5e7eb;
	border-radius: 12px;
	padding: 16px;
	background: linear-gradient(180deg, #ffffff 0%, #f9fbff 100%);
	display: flex;
	flex-direction: column;
	gap: 12px;
	transition: transform 0.18s ease, box-shadow 0.18s ease, border-color 0.18s ease;
}

.vfr-docs-card:hover {
	transform: translateY(-2px);
	border-color: #f4b8a2;
	box-shadow: 0 10px 20px -18px rgba(209, 52, 0, 0.7);
}

.vfr-docs-card-top {
	display: flex;
	align-items: center;
	gap: 6px;
	flex-wrap: wrap;
}

.vfr-docs-card-chip {
	display: inline-flex;
	padding: 3px 8px;
	border-radius: 999px;
	font-size: 0.72rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.05em;
	background: #fff1cc;
	color: #9a3412;
}

.vfr-docs-card-chip--soft {
	background: #eef2ff;
	color: #3730a3;
}

.vfr-docs-card h3 {
	margin: 0;
	font-size: 1.02rem;
	line-height: 1.35;
}

.vfr-docs-card h3 a {
    color: #000;
    text-decoration: none;
    font-weight: 500;
}

.vfr-docs-card h3 a:hover {
	color: #d13400;
}

.vfr-docs-card p {
	margin: 0;
	color: #4b5563;
	font-size: 0.95rem;
	line-height: 1.6;
}

.vfr-docs-subpages {
	margin: 0;
	padding: 0 0 0 1rem;
	list-style: disc;
	display: grid;
	gap: 5px;
}

.vfr-docs-subpages a {
	font-size: 0.86rem;
	color: #005f9e;
	text-decoration: none;
}

.vfr-docs-subpages a:hover {
	text-decoration: underline;
}

.vfr-docs-read-more {
	margin-top: auto;
	display: inline-flex;
	align-items: center;
	width: fit-content;
	padding: 9px 14px;
	border-radius: 10px;
	font-size: 0.86rem;
	font-weight: 700;
	background: #fff1cc;
	color: #b45309;
	text-decoration: none;
}

.vfr-docs-card-actions {
	margin-top: auto;
	display: flex;
	align-items: center;
	gap: 10px;
	flex-wrap: wrap;
}

.vfr-docs-read-more:hover {
	background: #ffe8a1;
}

.vfr-docs-empty {
	margin: 0;
	padding: 12px;
	border-radius: 10px;
	background: #fff7ed;
	border: 1px solid #fed7aa;
	color: #9a3412;
	font-size: 0.9rem;
}

.vfr-docs-single-article {
	width: 100%;
}

.vfr-docs-single-hero-content {
	display: flex;
	flex-direction: column;
	gap: 10px;
	max-width: 1300px;
	margin: 0 auto;
}

.vfr-docs-single-back-btn {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	align-self: flex-start;
	font-size: 0.9rem;
	font-weight: 600;
	color: rgba(255, 255, 255, 0.95) !important;
	text-decoration: none;
}
.vfr-docs-single-back-icon {
	width: 16px;
	height: 16px;
}

.vfr-docs-single-article .banner-hero-simple {
	border-bottom: 1px solid rgba(255, 255, 255, 0.16);
	box-shadow: inset 0 -1px 0 rgba(255, 255, 255, 0.08);
}

.vfr-docs-single-article .vfr-legal-title {
	white-space: normal;
	overflow: visible;
	text-overflow: clip;
	max-width: 980px;
}

.vfr-docs-single-layout {
	max-width: 1300px;
	margin: 18px auto 0;
	padding: 0 16px;
	display: grid;
	grid-template-columns: 300px minmax(0, 1fr);
	gap: 24px;
}

.vfr-docs-single-sidebar {
	position: sticky;
	top: 88px;
	background: #ffffff;
	border: 1px solid #e5e7eb;
	border-radius: 14px;
	padding: 16px;
	height: fit-content;
}

.vfr-docs-side-actions {
	margin-top: 14px;
	padding-top: 14px;
	border-top: 1px solid #e5e7eb;
	display: grid;
	gap: 8px;
}

.vfr-docs-mobile-nav {
	display: none;
	margin-bottom: 12px;
}

.vfr-docs-mobile-nav-label {
	display: block;
	font-size: 0.78rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.05em;
	color: #64748b;
	margin-bottom: 6px;
}

.vfr-docs-mobile-select {
	width: 100%;
	height: 40px;
	border-radius: 10px;
	border: 1px solid #d0d5dd;
	padding: 0 12px;
	font-size: 0.92rem;
	color: #0f172a;
	background: #ffffff;
}

.vfr-docs-side-accordion {
	margin: 0;
}

.vfr-docs-side-accordion > summary {
	list-style: none;
	cursor: pointer;
	font-size: 0.86rem;
	font-weight: 700;
	color: #334155;
	padding: 8px 10px;
	background: #f8fafc;
	border: 1px solid #e2e8f0;
	border-radius: 10px;
	margin-bottom: 8px;
}

.vfr-docs-side-accordion > summary::-webkit-details-marker {
	display: none;
}

.vfr-docs-side-accordion > summary::after {
	content: "▾";
	float: right;
	color: #64748b;
}

.vfr-docs-side-accordion[open] > summary::after {
	content: "▴";
}

.vfr-docs-side-actions .vfr-docs-pro-btn {
	width: 100%;
	justify-content: center;
}

.vfr-docs-single-sidebar h2 {
	margin: 0 0 10px;
	font-size: 0.95rem;
	color: #111827;
}

.vfr-docs-single-sidebar ul {
	margin: 0;
	padding: 0;
	list-style: none;
	display: grid;
	gap: 6px;
}

.vfr-docs-single-sidebar li {
	border-radius: 8px;
	padding: 6px 8px;
}

.vfr-docs-single-sidebar li.is-active {
	background: #fff1cc;
}

.vfr-docs-single-sidebar a {
	color: #0f172a;
	text-decoration: none;
	font-size: 0.88rem;
	line-height: 1.45;
}

.vfr-docs-single-sidebar a:hover {
	color: #d13400;
}

.vfr-docs-single-content {
	background: #ffffff;
	border: 1px solid #e5e7eb;
	border-radius: 16px;
	padding: clamp(16px, 2.5vw, 28px);
	box-shadow: 0 2px 8px -6px rgba(2, 6, 23, 0.2);
	line-height: 1.75;
	color: #111827;
	counter-reset: vfr-doc-section;
}

.vfr-docs-single-content h2,
.vfr-docs-single-content h3,
.vfr-docs-single-content h4 {
	color: #0f172a;
}

.vfr-docs-section-block {
	border: 1px solid #e5e7eb;
	border-radius: 12px;
	padding: 16px;
	background: #ffffff;
	box-shadow: 0 2px 8px -6px rgba(2, 6, 23, 0.2);
	margin-bottom: 14px;
}

.vfr-docs-single-content h2 {
	counter-increment: vfr-doc-section;
	font-size: clamp(1.25rem, 2.1vw, 1.7rem);
	line-height: 1.3;
	margin-top: 1rem;
	margin-bottom: 0.8rem;
	padding-bottom: 0.45rem;
	border-bottom: 1px solid #e5e7eb;
}

.vfr-docs-single-content h2::before {
	content: counter(vfr-doc-section) ". ";
	color: #334155;
	font-weight: 700;
}

.vfr-docs-single-content h3 {
	font-size: 1.15rem;
	margin-top: 1.4rem;
	margin-bottom: 0.55rem;
}

.vfr-docs-single-content p,
.vfr-docs-single-content li {
	font-size: 1.05rem;
	line-height: 1.7;
	color: #1f2937;
}

.vfr-docs-single-content ul,
.vfr-docs-single-content ol {
	padding-left: 1.15rem;
	margin-bottom: 1rem;
}

.vfr-docs-single-content a {
	color: #005f9e;
}

.vfr-docs-single-content a.vfr-link--jump,
.vfr-docs-single-content a.vfr-link--route,
.vfr-docs-single-content a.vfr-link--external {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	font-weight: 600;
	text-decoration: none;
	border-bottom: 1px dashed rgba(0, 95, 158, 0.35);
}

.vfr-docs-single-content a.vfr-link--jump::after,
.vfr-docs-single-content a.vfr-link--route::after,
.vfr-docs-single-content a.vfr-link--external::after {
	font-size: 0.85rem;
	line-height: 1;
	font-weight: 700;
}

.vfr-docs-single-content a.vfr-link--jump::after {
	content: "#";
	color: #027a48;
}

.vfr-docs-single-content a.vfr-link--route::after {
	content: "→";
	color: #9a3412;
}

.vfr-docs-single-content a.vfr-link--external::after {
	content: "↗";
	color: #7c3aed;
}

.vfr-docs-single-content table {
	width: 100%;
	border-collapse: collapse;
	display: block;
	overflow-x: auto;
	white-space: nowrap;
	border: 1px solid #dbe2ea;
	border-radius: 12px;
	margin: 14px 0;
	background: #ffffff;
}

.vfr-docs-single-content table th,
.vfr-docs-single-content table td {
	padding: 10px 12px;
	border-bottom: 1px solid #e5e7eb;
	font-size: 0.9rem;
	line-height: 1.5;
}

.vfr-docs-single-content table th {
	background: #f8fafc;
	font-weight: 700;
	color: #334155;
}

.vfr-docs-single-content .wp-block-buttons,
.vfr-docs-single-content .vfr-docs-inline-actions {
	display: flex;
	gap: 10px;
	flex-wrap: wrap;
	margin: 12px 0;
}

.vfr-docs-single-content .wp-block-button__link,
.vfr-docs-single-content .button,
.vfr-docs-single-content .vfr-docs-inline-actions a {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 40px;
	padding: 0 14px;
	border-radius: 10px;
	border: 1px solid #dbe2ea;
	background: #ffffff;
	color: #0f172a;
	text-decoration: none;
	font-size: 0.9rem;
	font-weight: 700;
}

.vfr-docs-single-content .wp-block-button__link:hover,
.vfr-docs-single-content .button:hover,
.vfr-docs-single-content .vfr-docs-inline-actions a:hover {
	border-color: #f4b8a2;
	color: #b45309;
	background: #fffbeb;
}

.vfr-docs-pro-shell {
	margin-bottom: 22px;
	padding: 16px;
	border-radius: 14px;
	border: 1px solid #e5e7eb;
	background: #f8fafc;
}

.vfr-docs-pro-actions {
	display: flex;
	gap: 8px;
	flex-wrap: wrap;
	margin-bottom: 14px;
}

.vfr-docs-pro-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	height: 40px;
	padding: 0 14px;
	border-radius: 10px;
	background: #d13400;
	color: #ffffff;
	font-size: 0.9rem;
	font-weight: 700;
	text-decoration: none;
	border: 1px solid #d13400;
	box-shadow: 0 6px 14px -10px rgba(209, 52, 0, 0.85);
}

.vfr-docs-pro-btn:hover {
	background: #b52e00;
	border-color: #b52e00;
	color: #ffffff;
}

.vfr-docs-side-actions .vfr-docs-pro-btn,
.vfr-docs-side-actions .vfr-docs-pro-btn:hover,
.vfr-docs-side-actions .vfr-docs-pro-btn:focus {
	color: #ffffff;
}

.vfr-docs-pro-btn--outline {
	background: #ffffff;
	color: #334155;
	border-color: #cbd5e1;
	box-shadow: none;
}

.vfr-docs-pro-btn--outline:hover {
	background: #f8fafc;
	color: #0f172a;
	border-color: #94a3b8;
}

.vfr-docs-side-actions .vfr-docs-pro-btn--outline,
.vfr-docs-side-actions .vfr-docs-pro-btn--outline:hover,
.vfr-docs-side-actions .vfr-docs-pro-btn--outline:focus {
	color: #334155;
}

.vfr-docs-pro-btn--dark {
	background: #0f172a;
	border-color: #0f172a;
}

.vfr-docs-pro-btn--dark:hover {
	background: #020617;
	border-color: #020617;
}

.vfr-docs-side-actions .vfr-docs-pro-btn--dark,
.vfr-docs-side-actions .vfr-docs-pro-btn--dark:hover,
.vfr-docs-side-actions .vfr-docs-pro-btn--dark:focus {
	color: #ffffff;
}

.vfr-docs-pro-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 12px;
}

.vfr-docs-pro-card {
	background: #ffffff;
	border: 1px solid #e2e8f0;
	border-radius: 12px;
	padding: 12px;
}

.vfr-docs-pro-card h2 {
	margin: 0 0 10px;
	font-size: 0.96rem;
	line-height: 1.35;
}

.vfr-docs-pro-card--accent {
	background: #fffaf0;
	border-color: #fed7aa;
}

.vfr-docs-info-table {
	width: 100%;
	border-collapse: collapse;
	font-size: 0.84rem;
}

.vfr-docs-info-table th,
.vfr-docs-info-table td {
	padding: 7px 8px;
	border-bottom: 1px solid #e5e7eb;
	vertical-align: top;
}

.vfr-docs-info-table th {
	width: 42%;
	text-align: left;
	font-weight: 700;
	color: #334155;
}

.vfr-docs-checklist {
	margin: 0;
	padding: 0;
	list-style: none;
	display: grid;
	gap: 8px;
}

.vfr-docs-checklist li {
	position: relative;
	padding-left: 24px;
	font-size: 0.86rem;
	line-height: 1.6;
	color: #334155;
}

.vfr-docs-checklist li::before {
	content: "";
	position: absolute;
	left: 0;
	top: 7px;
	width: 10px;
	height: 10px;
	border-radius: 999px;
	background: #10b981;
	box-shadow: 0 0 0 3px rgba(16, 185, 129, 0.14);
}

.vfr-docs-callout {
	margin-top: 12px;
	padding: 12px;
	border: 1px solid #bfdbfe;
	border-radius: 10px;
	background: #eff6ff;
	font-size: 0.86rem;
	line-height: 1.6;
	color: #1e3a8a;
}

.vfr-docs-nextprev {
	margin-top: 0;
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 14px;
	padding: 0 2px;
	grid-column: 2;
}

.vfr-docs-nextprev-link {
	min-height: 92px;
	padding: 14px;
	border: 1px solid #cfd8e3;
	border-radius: 12px;
	background: linear-gradient(180deg, #ffffff 0%, #f8fafc 100%);
	text-decoration: none;
	display: flex;
	flex-direction: column;
	justify-content: center;
	gap: 5px;
	color: #0f172a;
	box-shadow: 0 8px 20px -16px rgba(2, 6, 23, 0.45);
}

.vfr-docs-nextprev-link:hover {
	border-color: #f4b8a2;
	transform: translateY(-1px);
	box-shadow: 0 16px 26px -20px rgba(209, 52, 0, 0.7);
}

.vfr-docs-nextprev-link.is-disabled {
	opacity: 0.65;
	background: #f8fafc;
	border-style: solid;
	box-shadow: none;
}

.vfr-docs-nextprev-label {
	font-size: 0.74rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.08em;
	color: #64748b;
}

.vfr-docs-nextprev-link strong {
	font-size: 1.08rem;
	line-height: 1.35;
	font-weight: 700;
}

.vfr-docs-child-links {
	margin: 0 0 14px;
	padding: 16px;
	border: 1px solid #e5e7eb;
	border-radius: 12px;
	background: #ffffff;
	box-shadow: 0 2px 8px -6px rgba(2, 6, 23, 0.2);
}

.vfr-docs-child-links h2 {
	margin: 0 0 0.8rem;
	font-size: clamp(1.25rem, 2.1vw, 1.7rem);
	line-height: 1.3;
	padding-bottom: 0.45rem;
	border-bottom: 1px solid #e5e7eb;
}

.vfr-docs-child-links ul {
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	gap: 12px;
}

.vfr-docs-child-links li {
	padding: 12px;
	border: 1px solid #dbe2ea;
	border-radius: 10px;
	background: #fcfdff;
}

.vfr-docs-child-links li a {
	font-weight: 700;
	text-decoration: none;
}

.vfr-docs-child-links li p {
	margin: 6px 0 0;
	font-size: 0.86rem;
	color: #4b5563;
}

@media (max-width: 1080px) {
	.vfr-docs-layout,
	.vfr-docs-single-layout {
		grid-template-columns: 1fr;
	}

	.vfr-docs-sidebar,
	.vfr-docs-single-sidebar {
		position: static;
	}

	.vfr-docs-pro-grid {
		grid-template-columns: 1fr;
	}

	.vfr-docs-side-actions {
		grid-template-columns: 1fr;
	}

	.vfr-docs-mobile-nav {
		display: block;
	}

	.vfr-docs-side-accordion {
		display: none;
	}

	.vfr-docs-single-content table {
		white-space: normal;
	}

	.vfr-docs-nextprev {
		grid-column: 1;
	}
}

@media (max-width: 800px) {
	.vfr-docs-cards {
		grid-template-columns: 1fr;
	}

	.vfr-docs-nextprev {
		grid-template-columns: 1fr;
		gap: 10px;
		padding: 0;
	}

	.vfr-docs-hero-inner {
		padding: 40px 16px;
	}

	.vfr-docs-hero-top {
		gap: 8px;
	}

	.vfr-docs-single-content table th,
	.vfr-docs-single-content table td {
		font-size: 0.8rem;
		padding: 8px;
	}

	.vfr-docs-nextprev-link {
		min-height: 80px;
		padding: 12px;
	}

	.vfr-docs-nextprev-link strong {
		font-size: 0.96rem;
	}

	.vfr-docs-single-content p,
	.vfr-docs-single-content li {
		font-size: 0.98rem;
	}
}