/* ==========================================================================
   Esquema "Contraste" — negro, grises, blanco y azul
   Todas las combinaciones de texto cumplen WCAG 2.1 AA (4.5:1) o superior:
   - Texto sobre blanco:  #0b0d10 (19.6:1) · gris #4a5059 (8.1:1) · azul #1d4ed8 (6.7:1)
   - Texto sobre negro:   #f5f6f8 (18.4:1) · gris #c3c8d0 (11.6:1) · azul #60a5fa (7.9:1)
   - Botones: blanco sobre azul #2563eb (5.2:1)
   ========================================================================== */

body.dyl-scheme-contraste {
	/* Neutros */
	--dyl-ink: #0b0d10;
	--dyl-ink-rgb: 11, 13, 16;
	--dyl-ink-2: #16191e;
	--dyl-ink-3: #22262d;
	--dyl-deep: #050607;
	--dyl-deep-rgb: 5, 6, 7;
	--dyl-glow: #14233b;
	--dyl-glow-rgb: 30, 64, 130;
	--dyl-ivory: #f2f4f7;
	--dyl-paper: #ffffff;
	--dyl-text: #0b0d10;
	--dyl-muted: #4a5059;
	--dyl-line: #d9dde3;
	--dyl-line-dark: rgba(255, 255, 255, .14);
	--dyl-on-dark: #f5f6f8;
	--dyl-on-dark-muted: #c3c8d0;
	--dyl-on-dark-soft: #9aa1ab;

	/* Azul: fondos de acción */
	--dyl-accent-bg: #2563eb;
	--dyl-on-accent: #ffffff;

	/* Azul como texto/iconos sobre fondos claros */
	--dyl-gold: #1d4ed8;
	--dyl-gold-2: #2563eb;
	--dyl-gold-dark: #1e40af;
	--dyl-gold-rgb: 29, 78, 216;

	/* Monograma metálico: blanco → plata → azul acero */
	--dyl-grad-1: #ffffff;
	--dyl-grad-2: #c3c8d0;
	--dyl-grad-3: #6b7a90;

	--dyl-shadow: 0 10px 30px -12px rgba(11, 13, 16, .3);
	--dyl-shadow-lg: 0 30px 60px -20px rgba(11, 13, 16, .4);

	background: #fff;
	color: var(--dyl-text);
}

/* Contextos oscuros: el azul se aclara para mantener el contraste */
.dyl-scheme-contraste .dyl-topbar,
.dyl-scheme-contraste .dyl-header,
.dyl-scheme-contraste .dyl-search,
.dyl-scheme-contraste .dyl-hero,
.dyl-scheme-contraste .dyl-sec--dark,
.dyl-scheme-contraste .dyl-urgencia,
.dyl-scheme-contraste .dyl-page-hero,
.dyl-scheme-contraste .dyl-side-card,
.dyl-scheme-contraste .dyl-article__cta,
.dyl-scheme-contraste .dyl-footer,
.dyl-scheme-contraste .dyl-intro,
.dyl-scheme-contraste .dyl-float,
.dyl-scheme-contraste .dyl-totop,
.dyl-scheme-contraste .dyl-firma__placeholder,
.dyl-scheme-contraste .dyl-post-card__placeholder,
.dyl-scheme-contraste .dyl-lawyer__photo,
.dyl-scheme-contraste .dyl-step.is-visible .dyl-step__num,
.dyl-scheme-contraste .dyl-valor__item:hover .dyl-valor__icon,
.dyl-scheme-contraste .dyl-slider__nav button:hover,
.dyl-scheme-contraste .dyl-share a:hover,
.dyl-scheme-contraste .has-ink-background-color {
	--dyl-gold: #60a5fa;
	--dyl-gold-2: #93c5fd;
	--dyl-gold-dark: #3b82f6;
	--dyl-gold-rgb: 96, 165, 250;
}

/* Tarjetas blancas dentro de secciones oscuras vuelven al contexto claro */
.dyl-scheme-contraste .dyl-form-card {
	--dyl-gold: #1d4ed8;
	--dyl-gold-2: #2563eb;
	--dyl-gold-dark: #1e40af;
	--dyl-gold-rgb: 29, 78, 216;
}
@media (min-width: 981px) {
	.dyl-scheme-contraste .dyl-menu .sub-menu {
		--dyl-gold: #1d4ed8;
		--dyl-gold-rgb: 29, 78, 216;
	}
}

/* Ajustes puntuales de contraste */
.dyl-scheme-contraste .dyl-hero {
	background: radial-gradient(120% 90% at 80% 20%, #17243a 0%, #0b0d10 55%, #000 100%);
}
.dyl-scheme-contraste .dyl-rotator__word {
	background: linear-gradient(90deg, #bfdbfe, #60a5fa 60%, #3b82f6);
	-webkit-background-clip: text; background-clip: text;
}
.dyl-scheme-contraste .dyl-hero__text { color: var(--dyl-on-dark-muted); }
.dyl-scheme-contraste .dyl-btn--ghost { --bd: rgba(255, 255, 255, .6); }
/* Botones: azul con texto blanco; al pasar el cursor, negro (fondos claros) o blanco (fondos oscuros) */
.dyl-scheme-contraste .dyl-btn--primary { --hover: var(--dyl-ink); --hover-fg: #fff; }
.dyl-scheme-contraste .dyl-btn--dark { --hover: var(--dyl-accent-bg); --hover-fg: #fff; }
.dyl-scheme-contraste :is(.dyl-hero, .dyl-sec--dark, .dyl-header, .dyl-footer, .dyl-page-hero, .dyl-side-card, .dyl-article__cta, .dyl-nav) .dyl-btn--primary { --hover: #fff; --hover-fg: var(--dyl-ink); }

.dyl-scheme-contraste .dyl-sec--ivory,
.dyl-scheme-contraste .dyl-proceso { background: var(--dyl-ivory); }
.dyl-scheme-contraste .dyl-valor__item,
.dyl-scheme-contraste .dyl-lawyer,
.dyl-scheme-contraste .dyl-post-card,
.dyl-scheme-contraste .dyl-accordion__item,
.dyl-scheme-contraste .dyl-testimonial { border-color: var(--dyl-line); }
.dyl-scheme-contraste .dyl-valor__icon { background: #e8eefc; }
.dyl-scheme-contraste .dyl-checklist .dyl-icon { background: #e8eefc; color: #1d4ed8; }
.dyl-scheme-contraste .dyl-firma__frame::after { border-color: rgba(255, 255, 255, .35); }
.dyl-scheme-contraste .dyl-lawyer__photo img { filter: grayscale(1) contrast(1.05); }
.dyl-scheme-contraste .dyl-lawyer:hover .dyl-lawyer__photo img { filter: grayscale(0); }
.dyl-scheme-contraste .dyl-map iframe { filter: grayscale(1) contrast(1.1); }
.dyl-scheme-contraste .dyl-check--urgent { background: #eef3ff; border-color: #93b4f5; color: #1e3a8a; }
.dyl-scheme-contraste .dyl-admin-note,
.dyl-scheme-contraste .dyl-empty-note { background: #eef3ff; }
.dyl-scheme-contraste .dyl-urgencia { background: linear-gradient(110deg, #000, #16191e 60%, #000); }
.dyl-scheme-contraste .dyl-footer { background: #000; }
.dyl-scheme-contraste .dyl-topbar { background: #000; }
.dyl-scheme-contraste .dyl-pulse { background: #22c55e; }
.dyl-scheme-contraste .dyl-pulse::after { border-color: #22c55e; }
.dyl-scheme-contraste .dyl-pulse--lg { background: transparent; }
.dyl-scheme-contraste .dyl-pulse--lg::after { border-color: #60a5fa; }
.dyl-scheme-contraste .dyl-hmono__mark { filter: drop-shadow(0 30px 60px rgba(0, 0, 0, .6)) drop-shadow(0 0 40px rgba(37, 99, 235, .25)); }
.dyl-scheme-contraste .dyl-intro { background: radial-gradient(circle at 50% 45%, #16233a, #000 70%); }
.dyl-scheme-contraste :focus-visible { outline-color: #2563eb; }
.dyl-scheme-contraste .dyl-sec--dark :focus-visible,
.dyl-scheme-contraste .dyl-hero :focus-visible,
.dyl-scheme-contraste .dyl-header :focus-visible,
.dyl-scheme-contraste .dyl-footer :focus-visible { outline-color: #93c5fd; }

/* Formulario de consultas (plugin DyL Consultas) */
.dyl-scheme-contraste .dyl-field input,
.dyl-scheme-contraste .dyl-field select,
.dyl-scheme-contraste .dyl-field textarea { background: #f7f8fa; border-color: #b9c0ca; }
.dyl-scheme-contraste .dyl-field input:focus,
.dyl-scheme-contraste .dyl-field select:focus,
.dyl-scheme-contraste .dyl-field textarea:focus { border-color: #2563eb; box-shadow: 0 0 0 4px rgba(37, 99, 235, .2); }
.dyl-scheme-contraste .dyl-float__badge { background: #0b0d10; color: #fff; }
