/*
Theme Name: Quasar Innovate
Theme URI: https://quasarinnovate.com
Author: Quasar Innovate
Author URI: https://quasarinnovate.com
Description: Block theme for Quasar Innovate — algorithmic trading systems for MetaTrader 5. Ink and gold palette, animated growth instrument, interactive system explorer and finder, catalogue built like a fund prospectus. Built for the Site Editor (Gutenberg).
Requires at least: 6.6
Tested up to: 7.0
Requires PHP: 7.4
Version: 3.3.2
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: quasar-innovate
Tags: block-theme, full-site-editing, dark, wide-blocks, custom-colors
*/

/* =========================================================
   Tokens
   ========================================================= */
:root {
	--qi-ink: #0A1430;
	--qi-ink-raised: #0F1C3F;
	--qi-ink-deep: #070F26;
	--qi-line: #22325E;
	--qi-line-soft: rgba(34, 50, 94, 0.6);
	--qi-ice: #E9EEF8;
	--qi-mist: #A6B4CF;
	--qi-gold: #F0B33F;
	--qi-gold-light: #FFE1A1;
	--qi-gold-deep: #B9781A;
	--qi-aurora: #5CC8E8;
	--qi-spectral: #7C93FF;
	--qi-display: var(--wp--preset--font-family--display);
	--qi-radius: 20px;
	--qi-ease: cubic-bezier(.2, .75, .25, 1);
}
html { scroll-behavior: smooth; scroll-padding-top: 96px; }
body {
	-webkit-font-smoothing: antialiased;
	text-rendering: optimizeLegibility;
}
::selection { background: rgba(240, 179, 63, 0.35); color: #fff; }
:where(a, button, summary, .wp-element-button, input):focus-visible {
	outline: 3px solid var(--qi-gold);
	outline-offset: 3px;
	border-radius: 6px;
}
img { height: auto; }
p { text-wrap: pretty; }
h1, h2, h3 { text-wrap: balance; }
.wp-site-blocks > * { margin-block-start: 0 !important; }
.qi-wide-content > .alignfull { margin-block-start: 0 !important; margin-block-end: 0 !important; }

/* Textura de retícula (papel de ingeniería / gráfico) */
.qi-grid-bg { position: relative; isolation: isolate; }
.qi-grid-bg::before {
	content: "";
	position: absolute; inset: 0; z-index: -1;
	background-image:
		linear-gradient(rgba(124, 147, 255, 0.07) 1px, transparent 1px),
		linear-gradient(90deg, rgba(124, 147, 255, 0.07) 1px, transparent 1px);
	background-size: 56px 56px;
	-webkit-mask-image: radial-gradient(ellipse 70% 65% at 70% 45%, #000 20%, transparent 75%);
	mask-image: radial-gradient(ellipse 70% 65% at 70% 45%, #000 20%, transparent 75%);
	pointer-events: none;
}

/* =========================================================
   Header
   ========================================================= */
.qi-header {
	position: sticky; top: 0; z-index: 50;
	border-bottom: 1px solid rgba(34, 50, 94, 0.85);
	isolation: isolate;
}
/* El desenfoque va en un pseudo-elemento: si estuviera en .qi-header, el menú móvil
   (position: fixed) quedaría encerrado dentro de la cabecera y solo se vería un ítem. */
.qi-header::before {
	content: "";
	position: absolute; inset: 0; z-index: -1;
	background: rgba(10, 20, 48, 0.86);
	backdrop-filter: saturate(150%) blur(14px);
	-webkit-backdrop-filter: saturate(150%) blur(14px);
	pointer-events: none;
}
.admin-bar .qi-header { top: 32px; }
@media (max-width: 782px) { .admin-bar .qi-header { top: 0; position: relative; } }
.qi-header__inner { gap: 1.5rem; padding-top: 0.85rem; padding-bottom: 0.85rem; }
.qi-logo { margin: 0 !important; }
.qi-logo img { width: 272px; max-width: 58vw; display: block; }
@media (max-width: 600px) { .qi-logo img { width: 210px; } }
.qi-header .wp-block-navigation { gap: 1.9rem; }
.qi-header .wp-block-navigation__responsive-container-open svg,
.qi-header .wp-block-navigation__responsive-container-close svg { width: 34px; height: 34px; }
.qi-header .wp-block-navigation__responsive-container-open,
.qi-header .wp-block-navigation__responsive-container-close { color: var(--qi-ice); }

/* Menú móvil a pantalla completa */
.qi-header .wp-block-navigation__responsive-container.is-menu-open {
	position: fixed; inset: 0;
	background-color: var(--qi-ink) !important;
	color: var(--qi-ice) !important;
	padding: 1.25rem clamp(1.1rem, 4vw, 2.75rem) 2.5rem;
	z-index: 100000;
	overflow-y: auto;
}
.qi-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content {
	padding-top: 4.5rem;
	align-items: flex-start !important;
}
.qi-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container {
	flex-direction: column;
	align-items: flex-start !important;
	gap: 1.5rem !important;
	width: 100%;
}
.qi-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item {
	font-size: 1.75rem;
	width: 100%;
	padding-bottom: 1.1rem;
	border-bottom: 1px solid var(--qi-line);
}
.qi-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item.qi-nav-cta { border-bottom: 0; padding-top: 0.5rem; }
.qi-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content { color: var(--qi-ice) !important; }
.qi-header .wp-block-navigation__responsive-container.is-menu-open .qi-nav-cta .wp-block-navigation-item__content {
	color: var(--qi-gold) !important;
	font-size: 1.35rem;
	padding: 0.7rem 1.4rem !important;
}
.qi-nav-cta .wp-block-navigation-item__content {
	border: 1.5px solid var(--qi-gold);
	border-radius: 999px;
	padding: 0.5rem 1.15rem !important;
	color: var(--qi-gold) !important;
	transition: background-color .2s ease, color .2s ease;
}
.qi-nav-cta .wp-block-navigation-item__content:hover { background: var(--qi-gold); color: var(--qi-ink) !important; }

/* =========================================================
   Type helpers
   ========================================================= */
.qi-label {
	font-family: var(--qi-display);
	font-size: 1.0625rem !important;
	font-weight: 600;
	color: var(--qi-gold);
	margin-bottom: 0 !important;
}
.qi-label + h1, .qi-label + h2 { margin-top: 0.75rem !important; }
.qi-lead {
	font-size: clamp(1.25rem, 1.1rem + 0.6vw, 1.5rem) !important;
	line-height: 1.55;
	color: var(--qi-mist);
}
.qi-muted { color: var(--qi-mist); }

/* =========================================================
   Sections
   ========================================================= */
.qi-section {
	padding-top: var(--wp--preset--spacing--60) !important;
	padding-bottom: var(--wp--preset--spacing--60) !important;
}
.qi-section--deep { background: var(--qi-ink-deep); border-top: 1px solid var(--qi-line); border-bottom: 1px solid var(--qi-line); }
.qi-section--deep + .qi-section--deep { border-top: 0; }
.qi-section:not(.qi-section--deep) + .qi-section:not(.qi-section--deep):not(.qi-grid-bg) { padding-top: 0 !important; }
.qi-head { max-width: 50rem; margin-bottom: clamp(2rem, 4vw, 3.25rem) !important; }
.qi-head h2 { margin: 0; font-size: clamp(2rem, 1.5rem + 2vw, 3.1rem); letter-spacing: -0.03em; }
.qi-head p { margin-top: 1.1rem; }

/* =========================================================
   Hero + instrument
   ========================================================= */
.qi-hero {
	position: relative;
	overflow: hidden;
	padding-top: clamp(3.5rem, 8vw, 7.5rem) !important;
	padding-bottom: clamp(2.5rem, 5vw, 4rem) !important;
	background:
		radial-gradient(900px 560px at 78% 42%, rgba(240, 179, 63, 0.11), transparent 62%),
		radial-gradient(700px 420px at 8% 0%, rgba(124, 147, 255, 0.09), transparent 70%);
}
.qi-hero__cols { gap: clamp(2rem, 5vw, 4rem) !important; align-items: center !important; }
.qi-hero h1 {
	margin-top: 1rem;
	font-size: clamp(2.9rem, 1.4rem + 5vw, 5.9rem);
	line-height: 0.98;
	letter-spacing: -0.045em;
	max-width: 11ch;
}
.qi-hero .qi-lead { max-width: 35rem; margin-top: 1.6rem; }
.qi-hero .wp-block-buttons { margin-top: 2.25rem; }

.qi-instrument { margin: 0 auto; width: 100%; max-width: 580px; }
.qi-instrument svg { display: block; width: 100%; height: auto; overflow: visible; }
.qi-instrument .qi-bar {
	stroke-dasharray: 1; stroke-dashoffset: 1;
	animation: qi-grow 0.55s var(--qi-ease) forwards;
	animation-delay: calc(var(--i) * 42ms + 250ms);
}
.qi-instrument .qi-blade {
	opacity: 0;
	transform-box: view-box; transform-origin: 50% 50%;
	transform: scale(0.55);
	animation: qi-blade 0.8s cubic-bezier(.2, .8, .2, 1) forwards 1.6s;
}
.qi-instrument .qi-halo {
	opacity: 0;
	transform-box: fill-box; transform-origin: center;
	animation: qi-halo 1.6s ease-out forwards 1.75s;
}
.qi-instrument .qi-dial { opacity: 0; animation: qi-fade 1.2s ease forwards 0.1s; }
@keyframes qi-grow { to { stroke-dashoffset: 0; } }
@keyframes qi-blade { to { opacity: 1; transform: scale(1); } }
@keyframes qi-halo { 0% { opacity: 0; transform: scale(0.4); } 45% { opacity: 1; transform: scale(1.35); } 100% { opacity: 1; transform: scale(1); } }
@keyframes qi-fade { to { opacity: 1; } }
@media (max-width: 781px) {
	.qi-hero__cols > .wp-block-column:last-child { order: -1; }
	.qi-instrument { max-width: 290px; }
}

/* Ledger: cobertura real */
.qi-ledger {
	margin-top: clamp(3rem, 6vw, 5rem) !important;
	border-top: 1px solid var(--qi-line);
	border-bottom: 1px solid var(--qi-line);
	gap: 0 !important;
}
.qi-ledger__item {
	padding: 1.6rem 1.5rem 1.6rem 0 !important;
	display: flex; flex-direction: column; gap: 0.55rem;
}
.qi-ledger__item + .qi-ledger__item { padding-left: 1.5rem !important; border-left: 1px solid var(--qi-line); }
.qi-ledger__num {
	margin: 0 !important;
	font-family: var(--qi-display);
	font-weight: 300;
	font-size: clamp(2.6rem, 2rem + 2vw, 3.6rem) !important;
	line-height: 1;
	letter-spacing: -0.04em;
	color: var(--qi-gold);
	font-variant-numeric: tabular-nums;
}
.qi-ledger__label { margin: 0 !important; color: var(--qi-mist); font-size: 1.0625rem !important; line-height: 1.35; }
@media (max-width: 1000px) {
	.qi-ledger__item + .qi-ledger__item { border-left: 0; padding-left: 0 !important; }
	.qi-ledger__item { border-bottom: 1px solid var(--qi-line-soft); }
	.qi-ledger__item:last-child { border-bottom: 0; }
}

/* =========================================================
   Explorer (dial + needle)
   ========================================================= */
.qi-explorer__panels { display: grid; grid-template-columns: repeat(auto-fill, minmax(18rem, 1fr)); gap: 1.25rem; }
.qi-x-panel {
	border: 1px solid var(--qi-line);
	border-radius: var(--qi-radius);
	background: var(--qi-ink-raised);
	padding: 1.75rem !important;
	margin: 0 !important;
}
.qi-x-panel > * { margin-top: 0 !important; margin-bottom: 0 !important; }
.qi-x-panel > * + * { margin-top: 1rem !important; }
.qi-x-family { font-family: var(--qi-display); font-weight: 600; font-size: 1.0625rem !important; color: var(--qi-gold); }
.qi-fam-multi .qi-x-family { color: var(--qi-aurora); }
.qi-fam-synth .qi-x-family { color: #A9B7FF; }
.qi-x-name { font-size: clamp(1.7rem, 1.3rem + 1.4vw, 2.6rem) !important; letter-spacing: -0.03em; }
.qi-x-name a { color: var(--qi-ice); text-decoration: none; }
.qi-x-name a:hover { color: var(--qi-gold); }
.qi-x-tag { font-family: var(--qi-display); font-size: clamp(1.15rem, 1rem + 0.5vw, 1.4rem) !important; color: var(--qi-ice); line-height: 1.35; }
.qi-x-desc { color: var(--qi-mist); }
.qi-x-facts {
	list-style: none; padding: 0 !important;
	display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0;
	border-top: 1px solid var(--qi-line);
}
.qi-x-facts li { padding: 0.8rem 0.75rem 0.8rem 0; border-bottom: 1px solid var(--qi-line); font-weight: 600; color: var(--qi-ice); line-height: 1.35; }
.qi-x-facts li strong { display: block; font-weight: 400; color: var(--qi-mist); font-size: 0.95rem; margin-bottom: 0.2rem; }

/* Enhanced (con JavaScript) */
.qi-explorer.is-enhanced {
	display: grid;
	grid-template-columns: minmax(0, 0.95fr) minmax(0, 1.05fr);
	gap: clamp(2rem, 5vw, 4.5rem);
	align-items: center;
}
.qi-explorer.is-enhanced .qi-explorer__panels { display: block; }
.qi-explorer.is-enhanced .qi-x-panel { border: 0; background: none; padding: 0 !important; }
.qi-explorer.is-enhanced .qi-x-panel.is-active { animation: qi-panel-in .45s var(--qi-ease); }
@keyframes qi-panel-in { from { opacity: 0; transform: translateY(10px); } to { opacity: 1; transform: none; } }
.qi-x-stage { display: flex; flex-direction: column; align-items: center; gap: 1.75rem; }
.qi-x-dial { width: 100%; max-width: 470px; position: relative; }
.qi-x-dial::before {
	content: ""; position: absolute; inset: 8%; z-index: -1; border-radius: 50%;
	background: radial-gradient(circle, rgba(240, 179, 63, 0.16), transparent 65%);
	transition: background .5s ease;
}
.qi-explorer[data-family="multi"] .qi-x-dial::before { background: radial-gradient(circle, rgba(92, 200, 232, 0.16), transparent 65%); }
.qi-explorer[data-family="synth"] .qi-x-dial::before { background: radial-gradient(circle, rgba(124, 147, 255, 0.18), transparent 65%); }
.qi-x-dial svg { display: block; width: 100%; height: auto; }
.qi-x-sector { cursor: pointer; }
.qi-x-sector line { transition: stroke .35s ease, opacity .35s ease; }
.qi-x-sector:not(.is-active) line { stroke: #2C3C6C; }
.qi-x-sector--gold:not(.is-active):hover line { stroke: rgba(240, 179, 63, 0.6); }
.qi-x-sector--multi:not(.is-active):hover line { stroke: rgba(92, 200, 232, 0.6); }
.qi-x-sector--synth:not(.is-active):hover line { stroke: rgba(124, 147, 255, 0.7); }
.qi-x-sector.is-active line { filter: drop-shadow(0 0 1.2px rgba(255, 225, 161, 0.55)); }
.qi-explorer #qiXBlade stop, .qi-explorer #qiXCore stop { transition: stop-color .5s ease; }
.qi-explorer[data-family="multi"] #qiXBlade stop:nth-child(2), .qi-explorer[data-family="multi"] #qiXCore stop:nth-child(2) { stop-color: #CFF3FF; }
.qi-explorer[data-family="multi"] #qiXBlade stop:nth-child(3), .qi-explorer[data-family="multi"] #qiXCore stop:nth-child(3) { stop-color: #5CC8E8; }
.qi-explorer[data-family="synth"] #qiXBlade stop:nth-child(2), .qi-explorer[data-family="synth"] #qiXCore stop:nth-child(2) { stop-color: #D6DDFF; }
.qi-explorer[data-family="synth"] #qiXBlade stop:nth-child(3), .qi-explorer[data-family="synth"] #qiXCore stop:nth-child(3) { stop-color: #7C93FF; }
.qi-x-needle { transform-origin: 50px 50px; transition: transform .75s cubic-bezier(.3, 1.35, .45, 1); }
.qi-x-nav { width: 100%; display: grid; gap: 0.9rem; }
.qi-x-group__label { margin: 0 0 0.45rem !important; font-size: 0.95rem !important; color: var(--qi-mist); }
.qi-x-group__row { display: flex; flex-wrap: wrap; gap: 0.5rem; }
.qi-x-btn {
	font-family: var(--qi-display);
	font-size: 1rem; font-weight: 600;
	color: var(--qi-ice);
	background: transparent;
	border: 1.5px solid var(--qi-line);
	border-radius: 999px;
	padding: 0.5rem 0.95rem;
	cursor: pointer;
	transition: border-color .2s ease, background-color .2s ease, color .2s ease;
}
.qi-x-btn:hover { border-color: var(--qi-mist); }
.qi-x-btn[aria-pressed="true"] { background: var(--qi-gold); border-color: var(--qi-gold); color: var(--qi-ink); }
.qi-x-btn--multi[aria-pressed="true"] { background: var(--qi-aurora); border-color: var(--qi-aurora); }
.qi-x-btn--synth[aria-pressed="true"] { background: var(--qi-spectral); border-color: var(--qi-spectral); color: #0A1430; }
@media (max-width: 900px) {
	.qi-explorer.is-enhanced { grid-template-columns: minmax(0, 1fr); }
	.qi-x-dial { max-width: 300px; }
}

/* =========================================================
   Finder
   ========================================================= */
.qi-finder {
	display: grid;
	grid-template-columns: minmax(0, 1.1fr) minmax(0, 0.9fr);
	gap: clamp(1.5rem, 4vw, 3rem);
	align-items: stretch;
}
.qi-finder form { display: grid; gap: 2rem; margin: 0; align-content: start; }
.qi-finder form[hidden] { display: none; }
.qi-q { border: 0; padding: 0; margin: 0; }
.qi-q legend { font-family: var(--qi-display); font-weight: 600; font-size: 1.3rem; color: var(--qi-ice); margin-bottom: 0.85rem; padding: 0; }
.qi-q legend span { color: var(--qi-gold); margin-right: 0.5rem; }
.qi-opts { display: flex; flex-wrap: wrap; gap: 0.6rem; }
.qi-opt { position: relative; }
.qi-opt input { position: absolute; opacity: 0; width: 1px; height: 1px; }
.qi-opt span {
	display: inline-block;
	padding: 0.7rem 1.15rem;
	border: 1.5px solid var(--qi-line);
	border-radius: 14px;
	font-size: 1.0625rem;
	color: var(--qi-ice);
	cursor: pointer;
	transition: border-color .2s ease, background-color .2s ease, color .2s ease;
	background: rgba(15, 28, 63, 0.6);
}
.qi-opt span:hover { border-color: var(--qi-mist); }
.qi-opt input:checked + span { border-color: var(--qi-gold); background: rgba(240, 179, 63, 0.14); color: var(--qi-gold-light); }
.qi-opt input:focus-visible + span { outline: 3px solid var(--qi-gold); outline-offset: 3px; }
.qi-finder__result {
	border: 1px solid var(--qi-line);
	border-radius: 24px;
	padding: clamp(1.5rem, 3vw, 2.25rem);
	background:
		radial-gradient(420px 260px at 100% 0%, rgba(240, 179, 63, 0.14), transparent 70%),
		var(--qi-ink-raised);
	display: flex; flex-direction: column; justify-content: center;
	min-height: 22rem;
}
.qi-finder__result[data-family="multi"] { background: radial-gradient(420px 260px at 100% 0%, rgba(92, 200, 232, 0.14), transparent 70%), var(--qi-ink-raised); }
.qi-finder__result[data-family="synth"] { background: radial-gradient(420px 260px at 100% 0%, rgba(124, 147, 255, 0.18), transparent 70%), var(--qi-ink-raised); }
.qi-finder__result > * { margin: 0; }
.qi-finder__result > * + * { margin-top: 0.85rem; }
.qi-finder__idle { color: var(--qi-mist); font-size: 1.25rem; line-height: 1.5; }
.qi-finder__kicker { font-family: var(--qi-display); font-weight: 600; color: var(--qi-gold); }
.qi-finder__name { font-size: clamp(1.8rem, 1.4rem + 1.4vw, 2.5rem); letter-spacing: -0.03em; }
.qi-finder__name a { color: var(--qi-ice); text-decoration: none; }
.qi-finder__name a:hover { color: var(--qi-gold); }
.qi-finder__tag { font-family: var(--qi-display); font-size: 1.2rem; color: var(--qi-ice); }
.qi-finder__why { color: var(--qi-mist); }
.qi-finder__actions { display: flex; flex-wrap: wrap; gap: 0.75rem; margin-top: 1.4rem !important; }
.qi-finder__btn {
	display: inline-block;
	font-family: var(--qi-display); font-weight: 600; font-size: 1.0625rem;
	padding: 0.85rem 1.4rem; border-radius: 999px;
	background: linear-gradient(135deg, #FFE1A1 0%, #F0B33F 45%, #D99A2A 100%);
	color: var(--qi-ink); text-decoration: none;
}
.qi-finder__btn:hover { background: var(--qi-gold-light); color: var(--qi-ink); }
.qi-finder__btn--ghost { background: transparent; border: 1.5px solid rgba(233, 238, 248, 0.35); color: var(--qi-ice); }
.qi-finder__btn--ghost:hover { background: transparent; border-color: var(--qi-gold); color: var(--qi-gold); }
.qi-finder__alt { color: var(--qi-mist); padding-top: 1rem; border-top: 1px solid var(--qi-line); margin-top: 1.4rem !important; }
.qi-finder__note { color: var(--qi-gold-light); }
.qi-finder__disclaimer { font-size: 0.95rem; color: var(--qi-mist); }
@media (max-width: 900px) { .qi-finder { grid-template-columns: minmax(0, 1fr); } .qi-finder__result { min-height: 0; } }

/* =========================================================
   Lifecycle of a trade
   ========================================================= */
.qi-cycle { counter-reset: qi-stage; gap: 0 !important; position: relative; }
.qi-stage {
	counter-increment: qi-stage;
	position: relative;
	padding: 0 1.5rem 0 0 !important;
}
.qi-stage::before {
	content: "";
	display: block;
	width: 64px; height: 64px;
	border-radius: 18px;
	border: 1.5px solid var(--qi-line);
	background: var(--qi-ink-raised) center / 34px 34px no-repeat;
	margin-bottom: 1.4rem;
	position: relative; z-index: 1;
}
.qi-stage--signal::before { background-image: url("assets/images/icon-signal.svg"); }
.qi-stage--checks::before { background-image: url("assets/images/icon-checks.svg"); }
.qi-stage--sizing::before { background-image: url("assets/images/icon-sizing.svg"); }
.qi-stage--protection::before { background-image: url("assets/images/icon-protection.svg"); }
.qi-stage--exit::before { background-image: url("assets/images/icon-exit.svg"); }
.qi-stage::after {
	content: "";
	position: absolute; top: 32px; left: 64px; right: 0;
	height: 1.5px;
	background: linear-gradient(90deg, var(--qi-gold) 0%, rgba(240, 179, 63, 0.12) 100%);
}
.qi-stage:last-child::after { display: none; }
.qi-stage h3 { margin: 0 0 0.6rem; font-size: 1.35rem; }
.qi-stage h3::before { content: counter(qi-stage) "  "; color: var(--qi-gold); font-weight: 300; white-space: pre; }
.qi-stage p { margin: 0; color: var(--qi-mist); font-size: 1.125rem; }
@media (max-width: 1100px) {
	.qi-cycle { gap: 2.25rem 2rem !important; }
	.qi-stage::after { display: none; }
}

/* =========================================================
   Excluded by design
   ========================================================= */
.qi-excluded { list-style: none; padding: 0 !important; margin: 0 !important; display: flex; flex-wrap: wrap; gap: 0.5rem 2.5rem; }
.qi-excluded li {
	position: relative;
	font-family: var(--qi-display);
	font-weight: 600;
	font-size: clamp(2rem, 1.3rem + 3vw, 4rem);
	letter-spacing: -0.035em;
	line-height: 1.1;
	color: rgba(233, 238, 248, 0.42);
}
.qi-excluded li::after {
	content: "";
	position: absolute; left: -0.08em; right: -0.08em; top: 54%;
	height: 0.09em; border-radius: 0.05em;
	background: linear-gradient(90deg, var(--qi-gold-light), var(--qi-gold));
	transform: rotate(-2deg);
}
.qi-excluded-note { margin-top: 2rem !important; max-width: 44rem; }

/* =========================================================
   Code card (custom development)
   ========================================================= */
.qi-custom { gap: clamp(2rem, 5vw, 4rem) !important; align-items: center !important; }
.qi-custom .wp-block-code {
	margin: 0;
	border: 1px solid var(--qi-line);
	border-radius: 18px;
	background:
		radial-gradient(circle at 22px 18px, #F0B33F 0 5px, transparent 5.5px),
		radial-gradient(circle at 42px 18px, #3A4E86 0 5px, transparent 5.5px),
		radial-gradient(circle at 62px 18px, #3A4E86 0 5px, transparent 5.5px),
		linear-gradient(var(--qi-ink-raised), var(--qi-ink-raised)) top / 100% 36px no-repeat,
		var(--qi-ink-deep);
	padding: 3.4rem 1.6rem 1.5rem;
	font-size: 1rem;
	line-height: 1.8;
	color: #CFE0FF;
	overflow-x: auto;
}
.qi-custom .wp-block-code code { font-family: var(--wp--preset--font-family--mono); white-space: pre; }

/* =========================================================
   FAQ
   ========================================================= */
.qi-faq { border-top: 1px solid var(--qi-line); }
.qi-faq .wp-block-details {
	border-bottom: 1px solid var(--qi-line);
	padding: 0;
	margin: 0 !important;
}
.qi-faq .wp-block-details summary {
	list-style: none;
	cursor: pointer;
	font-family: var(--qi-display);
	font-weight: 600;
	font-size: clamp(1.2rem, 1.05rem + 0.5vw, 1.45rem);
	padding: 1.4rem 3rem 1.4rem 0;
	position: relative;
	color: var(--qi-ice);
}
.qi-faq .wp-block-details summary::-webkit-details-marker { display: none; }
.qi-faq .wp-block-details summary::after {
	content: "";
	position: absolute; right: 0.3rem; top: 50%;
	width: 18px; height: 18px; margin-top: -9px;
	background:
		linear-gradient(var(--qi-gold), var(--qi-gold)) center / 18px 2px no-repeat,
		linear-gradient(var(--qi-gold), var(--qi-gold)) center / 2px 18px no-repeat;
	transition: transform .3s var(--qi-ease);
}
.qi-faq .wp-block-details[open] summary::after { transform: rotate(45deg); }
.qi-faq .wp-block-details summary:hover { color: var(--qi-gold-light); }
.qi-faq .wp-block-details > :not(summary) { margin: 0 0 1.5rem; color: var(--qi-mist); max-width: 52rem; }

/* =========================================================
   CTA + notices
   ========================================================= */
.qi-cta {
	position: relative; overflow: hidden;
	border: 1px solid var(--qi-line);
	border-radius: 28px;
	padding: clamp(2.25rem, 6vw, 4.5rem) !important;
	background: radial-gradient(520px 340px at 92% 50%, rgba(240, 179, 63, 0.16), transparent 70%), var(--qi-ink-raised);
	isolation: isolate;
}
.qi-cta::after {
	content: "";
	position: absolute; z-index: -1;
	right: -5%; top: 50%;
	width: min(440px, 60%); aspect-ratio: 1;
	transform: translateY(-50%);
	background: url("assets/images/emblem-gold.svg") center / contain no-repeat;
	opacity: 0.5;
}
.qi-cta h2 { max-width: 15ch; font-size: clamp(2rem, 1.5rem + 2vw, 3.1rem); letter-spacing: -0.03em; }
.qi-cta .qi-lead { max-width: 34rem; }
@media (max-width: 781px) { .qi-cta::after { opacity: 0.12; right: -30%; } }
.qi-notice {
	border: 1px solid rgba(240, 179, 63, 0.35);
	border-left: 4px solid var(--qi-gold);
	border-radius: 14px;
	background: rgba(240, 179, 63, 0.06);
	padding: 1.2rem 1.5rem !important;
	margin-top: var(--wp--preset--spacing--50) !important;
}
.qi-notice p { margin: 0; color: var(--qi-ice); font-size: 1.0625rem; }
.qi-notice-wrap { margin-top: 0 !important; }

/* =========================================================
   Compare table
   ========================================================= */
.qi-compare { overflow-x: auto; margin-top: 0 !important; margin-bottom: 0 !important; border: 1px solid var(--qi-line); border-radius: var(--qi-radius); background: var(--qi-ink-raised); }
.qi-compare table { min-width: 860px; border-collapse: collapse; width: 100%; table-layout: auto !important; border: 0; }
.qi-compare thead { border: 0 !important; }
.qi-compare th, .qi-compare td { border: 0 !important; }
.qi-compare thead th {
	font-family: var(--qi-display);
	font-weight: 600;
	font-size: 1rem;
	color: var(--qi-mist);
	text-align: left;
	padding: 1.1rem 1.25rem;
	border-bottom: 1px solid var(--qi-line) !important;
	background: var(--qi-ink-deep);
}
.qi-compare tbody td {
	padding: 1.1rem 1.25rem !important;
	border-bottom: 1px solid var(--qi-line) !important;
	vertical-align: top;
	color: var(--qi-ice) !important;
	font-weight: 400 !important;
	width: auto !important;
}
.qi-compare tbody tr:last-child td { border-bottom: 0 !important; }
.qi-compare tbody tr:hover td { background: rgba(240, 179, 63, 0.05); }
.qi-compare tbody td:first-child { font-family: var(--qi-display); font-weight: 600 !important; font-size: 1.125rem; white-space: nowrap; }
.qi-compare tbody td:first-child a { color: var(--qi-ice); text-decoration: none; }
.qi-compare tbody td:first-child a:hover { color: var(--qi-gold); text-decoration: underline; }
.qi-compare tbody td:last-child { color: var(--qi-mist) !important; }

/* =========================================================
   Catalogue rows
   ========================================================= */
.qi-market { margin-top: clamp(2.5rem, 5vw, 4rem) !important; }
.qi-market:first-child { margin-top: 0 !important; }
.qi-market__head { display: flex; align-items: baseline; gap: 1rem; flex-wrap: wrap; padding-bottom: 1rem !important; border-bottom: 2px solid var(--qi-line); }
.qi-market__head h3 { margin: 0; font-size: clamp(1.5rem, 1.2rem + 1vw, 2rem); }
.qi-market__head p { margin: 0; color: var(--qi-mist); }
.qi-market__head::before { content: ""; align-self: center; width: 14px; height: 14px; border-radius: 50%; background: var(--qi-gold); box-shadow: 0 0 16px rgba(240, 179, 63, 0.7); }
.qi-market--multi .qi-market__head::before { background: var(--qi-aurora); box-shadow: 0 0 16px rgba(92, 200, 232, 0.7); }
.qi-market--synth .qi-market__head::before { background: var(--qi-spectral); box-shadow: 0 0 16px rgba(124, 147, 255, 0.7); }
.qi-row { position: relative; margin: 0 !important; padding: 1.6rem 1rem !important; border-bottom: 1px solid var(--qi-line); gap: 1.25rem 2.5rem !important; align-items: center !important; transition: background-color .2s ease; }
.qi-row::before { content: ""; position: absolute; left: 0; top: 18%; bottom: 18%; width: 3px; border-radius: 3px; background: var(--qi-gold); opacity: 0; transition: opacity .2s ease; }
.qi-market--synth .qi-row::before { background: var(--qi-spectral); }
.qi-market--multi .qi-row::before { background: var(--qi-aurora); }
.qi-row:hover { background: rgba(15, 28, 63, 0.75); }
.qi-row:hover::before { opacity: 1; }
.qi-row h4 { margin: 0; font-size: clamp(1.3rem, 1.15rem + 0.5vw, 1.55rem); letter-spacing: -0.02em; }
.qi-row h4 a { color: var(--qi-ice); text-decoration: none; }
.qi-row h4 a:hover { color: var(--qi-gold); }
.qi-row__meta { margin: 0.3rem 0 0 !important; color: var(--qi-mist); font-size: 1rem !important; }
.qi-row__desc { margin: 0 !important; color: #D3DBEB; }
.qi-row__links { margin: 0 !important; font-family: var(--qi-display); font-weight: 600; font-size: 1.0625rem !important; text-align: right; }
.qi-row__links a { text-decoration: none; white-space: nowrap; }
.qi-row__links a + a { margin-left: 1.4rem; }
.qi-row__links a:hover { text-decoration: underline; }
@media (max-width: 781px) { .qi-row { padding: 1.4rem 0.25rem !important; } .qi-row__links { text-align: left; } }

/* =========================================================
   Principles (About)
   ========================================================= */
.qi-principles { gap: clamp(2rem, 4vw, 3rem) clamp(2rem, 5vw, 4rem) !important; }
.qi-principle { padding-top: 1.5rem !important; border-top: 1px solid var(--qi-line); position: relative; }
.qi-principle::before { content: ""; position: absolute; top: -1px; left: 0; width: 56px; height: 3px; border-radius: 2px; background: linear-gradient(90deg, var(--qi-gold-light), var(--qi-gold)); }
.qi-principle h3 { margin: 0 0 0.75rem; font-size: clamp(1.35rem, 1.2rem + 0.6vw, 1.7rem); }
.qi-principle p { margin: 0; color: var(--qi-mist); }

/* =========================================================
   Page title band
   ========================================================= */
.qi-page-hero {
	padding-top: clamp(3rem, 8vw, 6rem) !important;
	padding-bottom: clamp(2rem, 5vw, 3.5rem) !important;
	border-bottom: 1px solid var(--qi-line);
	background: radial-gradient(760px 320px at 85% 0%, rgba(240, 179, 63, 0.10), transparent 70%);
}
.qi-page-hero h1 { margin: 0; }
.qi-page-content { padding-bottom: var(--wp--preset--spacing--60) !important; }
.qi-page-content > :first-child { margin-top: var(--wp--preset--spacing--50); }
.qi-page-content h2 { margin-top: 2.75rem; }

/* =========================================================
   Trading system page
   ========================================================= */
.qi-sys-hero {
	padding-top: clamp(3rem, 8vw, 6rem) !important;
	padding-bottom: clamp(2.5rem, 6vw, 4.5rem) !important;
	border-bottom: 1px solid var(--qi-line);
	background: radial-gradient(800px 420px at 85% 40%, rgba(240, 179, 63, 0.13), transparent 70%);
	position: relative; overflow: hidden; isolation: isolate;
}
.qi-sys-hero--synth { background: radial-gradient(800px 420px at 85% 40%, rgba(124, 147, 255, 0.17), transparent 70%); }
.qi-sys-hero--multi { background: radial-gradient(800px 420px at 85% 40%, rgba(92, 200, 232, 0.13), transparent 70%); }
.qi-sys-hero::after {
	content: "";
	position: absolute; z-index: -1;
	right: max(1rem, calc((100vw - 1240px) / 2 - 2rem)); top: 50%;
	width: min(400px, 34vw); aspect-ratio: 1;
	transform: translateY(-50%);
	background: url("assets/images/emblem-gold.svg") center / contain no-repeat;
}
.qi-sys-hero--multi::after { background-image: url("assets/images/emblem-global.svg"); }
.qi-sys-hero--synth::after { background-image: url("assets/images/emblem-synth.svg"); }
.qi-sys-hero--plain::after { opacity: 0.35; }
.qi-sys-hero__inner > * { max-width: min(46rem, 60%); }
.qi-sys-hero h1 { font-size: clamp(2.6rem, 1.6rem + 3.6vw, 4.8rem); letter-spacing: -0.04em; line-height: 1.02; }
.qi-sys-hero .qi-tagline { font-family: var(--qi-display); font-size: clamp(1.35rem, 1.1rem + 1vw, 1.9rem) !important; color: var(--qi-ice); margin-top: 1rem !important; line-height: 1.3; letter-spacing: -0.015em; }
.qi-sys-hero .qi-lead { margin-top: 1.2rem; }
.qi-sys-hero .wp-block-buttons { margin-top: 2rem; }
.qi-sys-hero--synth .qi-label { color: #A9B7FF; }
.qi-sys-hero--multi .qi-label { color: var(--qi-aurora); }
.qi-breadcrumb { margin: 0 0 1.5rem !important; font-size: 1rem !important; }
.qi-breadcrumb a { color: var(--qi-mist); text-decoration: none; }
.qi-breadcrumb a:hover { color: var(--qi-gold); text-decoration: underline; }
@media (max-width: 900px) {
	.qi-sys-hero__inner > * { max-width: none; }
	.qi-sys-hero::after { width: 62vw; right: -22vw; top: 2rem; transform: none; opacity: 0.22; }
}

.qi-facts { border-bottom: 1px solid var(--qi-line); gap: 0 !important; }
.qi-fact { padding: 1.5rem 1.5rem 1.5rem 0 !important; }
.qi-fact + .qi-fact { padding-left: 1.5rem !important; border-left: 1px solid var(--qi-line); }
.qi-fact p { margin: 0 !important; }
.qi-fact__k { color: var(--qi-mist); font-size: 1rem !important; }
.qi-fact__v { font-family: var(--qi-display); font-weight: 600; font-size: clamp(1.15rem, 1rem + 0.5vw, 1.4rem) !important; margin-top: 0.3rem !important; letter-spacing: -0.015em; }
@media (max-width: 900px) {
	.qi-fact + .qi-fact { border-left: 0; padding-left: 0 !important; }
	.qi-fact { border-bottom: 1px solid var(--qi-line-soft); }
}

.qi-sys-body { padding-top: var(--wp--preset--spacing--50) !important; padding-bottom: var(--wp--preset--spacing--50) !important; gap: clamp(2rem, 5vw, 4.5rem) !important; }
.qi-sys-body h2 { font-size: clamp(1.6rem, 1.3rem + 1vw, 2.1rem); margin-top: 2.6rem; }
.qi-sys-body h2:first-child { margin-top: 0; }
.qi-sheet-col { position: sticky; top: 110px; align-self: flex-start; }
.qi-sheet { border: 1px solid var(--qi-line); border-radius: var(--qi-radius); background: var(--qi-ink-raised); padding: 1.75rem !important; }
.qi-sheet h3 { margin: 0 0 0.5rem; font-size: 1.35rem; }
.qi-sheet .wp-block-table { margin: 0.5rem 0 1.5rem; }
.qi-sheet .wp-block-buttons { margin-top: 0; }
.qi-sheet .wp-block-button { width: 100%; }
.qi-sheet .wp-block-button__link { width: 100%; text-align: center; box-sizing: border-box; }
.qi-sheet .qi-sheet__note { margin: 1rem 0 0 !important; font-size: 1rem !important; color: var(--qi-mist); text-align: center; }
@media (max-width: 781px) { .qi-sheet-col { position: static; } .qi-sys-body > .qi-sheet-col { order: -1; } }

.qi-related { gap: 1.25rem !important; }
.qi-rel {
	border: 1px solid var(--qi-line);
	border-radius: var(--qi-radius);
	background: var(--qi-ink-raised);
	padding: 1.5rem 1.6rem !important;
	transition: border-color .2s ease;
}
.qi-rel:hover { border-color: rgba(240, 179, 63, 0.55); }
.qi-rel > * { margin: 0 !important; }
.qi-rel > * + * { margin-top: 0.6rem !important; }
.qi-rel h3 { font-size: 1.4rem; }
.qi-rel h3 a { color: var(--qi-ice); text-decoration: none; }
.qi-rel h3 a:hover { color: var(--qi-gold); }
.qi-rel p { color: var(--qi-mist); }
.qi-rel p.qi-x-family { color: var(--qi-gold); }
.qi-rel.qi-fam-multi p.qi-x-family { color: var(--qi-aurora); }
.qi-rel.qi-fam-synth p.qi-x-family { color: #A9B7FF; }

/* =========================================================
   Buttons
   ========================================================= */
.wp-block-button__link { transition: background-color .2s ease, color .2s ease, border-color .2s ease, transform .2s ease; }
.wp-block-button:not(.is-style-outline) .wp-block-button__link { background: linear-gradient(135deg, #FFE1A1 0%, #F0B33F 45%, #D99A2A 100%); color: var(--qi-ink); }
.wp-block-button:not(.is-style-outline) .wp-block-button__link:hover { background: var(--qi-gold-light); transform: translateY(-1px); }
.wp-block-button.is-style-outline .wp-block-button__link { background: transparent; border: 1.5px solid rgba(233, 238, 248, 0.35); color: var(--qi-ice); padding: calc(1rem - 1.5px) calc(1.75rem - 1.5px); }
.wp-block-button.is-style-outline .wp-block-button__link:hover { border-color: var(--qi-gold); color: var(--qi-gold); }

/* =========================================================
   Lists & tables
   ========================================================= */
.qi-checks { list-style: none; padding-left: 0 !important; }
.qi-checks li { position: relative; padding-left: 2.1rem; margin-bottom: 0.85rem; }
.qi-checks li::before { content: ""; position: absolute; left: 0; top: 0.3em; width: 1.2rem; height: 1.2rem; background: url("assets/images/mark-small.svg") center / contain no-repeat; }
.wp-block-table:not(.qi-compare) table { border-collapse: collapse; width: 100%; }
.wp-block-table:not(.qi-compare) td, .wp-block-table:not(.qi-compare) th { border: 0; border-bottom: 1px solid var(--qi-line); padding: 0.85rem 0; text-align: left; vertical-align: top; }
.wp-block-table:not(.qi-compare) tr td:first-child { color: var(--qi-mist); width: 46%; padding-right: 1rem; }
.wp-block-table:not(.qi-compare) tr td:last-child { font-weight: 600; color: var(--qi-ice); }
.wp-block-table:not(.qi-compare) tr:last-child td { border-bottom: 0; }

/* Contact channels */
.qi-channels { gap: 1.5rem !important; }
.qi-channel { border: 1px solid var(--qi-line); border-radius: var(--qi-radius); background: var(--qi-ink-raised); padding: 1.75rem !important; }
.qi-channel h3 { margin: 0 0 0.5rem; font-size: 1.4rem; }
.qi-channel p { margin: 0; color: var(--qi-mist); }
.qi-channel p.qi-channel__link { margin-top: 1rem; font-family: var(--qi-display); font-weight: 600; font-size: 1.0625rem; }
.qi-channel p.qi-channel__link a { text-decoration: none; }
.qi-channel p.qi-channel__link a:hover { text-decoration: underline; }

/* Mark display (About) */
.qi-mark-display { display: flex; justify-content: center; }
.qi-mark-display img { width: min(360px, 80%); height: auto; }

/* =========================================================
   Footer
   ========================================================= */
.qi-footer { border-top: 1px solid var(--qi-line); background: var(--qi-ink-deep); padding-top: var(--wp--preset--spacing--60) !important; padding-bottom: var(--wp--preset--spacing--40) !important; font-size: 1.0625rem; }
.qi-footer h4 { font-size: 1.125rem; color: var(--qi-ice); margin-bottom: 1rem; }
.qi-footer ul { list-style: none; padding-left: 0 !important; margin: 0; }
.qi-footer li { margin-bottom: 0.65rem; }
.qi-footer a { color: var(--qi-mist); text-decoration: none; }
.qi-footer a:hover { color: var(--qi-gold); text-decoration: underline; }
.qi-footer .qi-legal { font-size: 0.9375rem; color: var(--qi-mist); line-height: 1.65; margin: 0; }
.qi-footer .qi-legal + .qi-legal { margin-top: 0.75rem; }
.qi-footer .qi-legal a { text-decoration: underline; }
.qi-footer .wp-block-separator { width: 100% !important; max-width: 1240px !important; border: 0; border-top: 1px solid var(--qi-line); opacity: 1; margin: 2.75rem auto 1.75rem; }

/* =========================================================
   Motion preferences
   ========================================================= */
@media (prefers-reduced-motion: reduce) {
	html { scroll-behavior: auto; }
	*, *::before, *::after { transition: none !important; }
	.qi-instrument .qi-bar, .qi-instrument .qi-blade, .qi-instrument .qi-halo, .qi-instrument .qi-dial,
	.qi-explorer.is-enhanced .qi-x-panel.is-active { animation: none !important; opacity: 1; stroke-dashoffset: 0; transform: none; }
}
html:not(.qi-js) .qi-finder__result { min-height: 0; }
html:not(.qi-js) .qi-finder { grid-template-columns: minmax(0, 1fr); }

/* v3.2: columnas explícitas (el hueco personalizado no cabe en el cálculo de WordPress) */
@media (min-width: 782px) { .qi-principles.is-layout-grid { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; } }
@media (max-width: 781px) { .qi-principles.is-layout-grid { grid-template-columns: minmax(0, 1fr) !important; } }
/* Menú móvil alineado a la izquierda */
.qi-header .wp-block-navigation__responsive-container.is-menu-open { --navigation-layout-justification-setting: flex-start; --navigation-layout-justify: flex-start; }
.qi-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item { align-items: flex-start !important; text-align: left; }

/* =========================================================
   v3.3 — Portadas de los sistemas y acabado visual
   ========================================================= */

/* Portada base (bloque de imagen con la clase qi-cover) */
.qi-cover { margin: 0 !important; }
.qi-cover a, .qi-cover img { display: block; }
.qi-cover img {
	width: 100%;
	height: auto;
	aspect-ratio: 1 / 1;
	object-fit: cover;
	border-radius: 18px;
	transition: transform .6s var(--qi-ease), box-shadow .6s var(--qi-ease), filter .6s ease;
}

/* Franja de confianza bajo los botones del hero */
.qi-trust { list-style: none; padding: 0 !important; margin: 1.9rem 0 0 !important; display: flex; flex-wrap: wrap; gap: 0.65rem 1.6rem; }
.qi-trust li { position: relative; padding-left: 1.65rem; color: var(--qi-mist); font-size: 1.0625rem; line-height: 1.4; margin: 0; }
.qi-trust li::before { content: ""; position: absolute; left: 0; top: 0.2em; width: 1.1rem; height: 1.1rem; background: url("assets/images/mark-small.svg") center / contain no-repeat; }

/* Explorador: portada junto al nombre */
.qi-x-top { display: flex; align-items: center; gap: clamp(1.1rem, 2.5vw, 1.75rem); }
.qi-x-cover { flex: 0 0 clamp(118px, 36%, 210px); }
.qi-x-cover img { border-radius: 16px; box-shadow: 0 26px 60px -30px rgba(240, 179, 63, 0.55), 0 0 0 1px rgba(255, 255, 255, 0.07); }
.qi-fam-multi .qi-x-cover img { box-shadow: 0 26px 60px -30px rgba(92, 200, 232, 0.55), 0 0 0 1px rgba(255, 255, 255, 0.07); }
.qi-fam-synth .qi-x-cover img { box-shadow: 0 26px 60px -30px rgba(124, 147, 255, 0.6), 0 0 0 1px rgba(255, 255, 255, 0.07); }
.qi-x-cover a:hover img { transform: scale(1.03); }
.qi-x-titles { min-width: 0; }
.qi-x-titles > * { margin: 0 !important; }
.qi-x-titles > * + * { margin-top: 0.6rem !important; }
.qi-x-panel > .qi-x-top + * { margin-top: 1.5rem !important; }
@media (max-width: 520px) {
	.qi-x-top { flex-direction: column; align-items: flex-start; }
	.qi-x-cover { flex-basis: auto; width: min(100%, 300px); }
}

/* Tarjetas del catálogo */
.qi-cards { gap: 1.5rem !important; }
.qi-card {
	position: relative;
	display: flex; flex-direction: column;
	border: 1px solid var(--qi-line);
	border-radius: 24px;
	background: linear-gradient(180deg, rgba(15, 28, 63, 0.95), rgba(10, 20, 48, 0.95));
	padding: 0.8rem 0.8rem 1.35rem !important;
	transition: transform .4s var(--qi-ease), border-color .4s ease, box-shadow .4s ease;
}
.qi-card:hover { transform: translateY(-6px); border-color: rgba(240, 179, 63, 0.55); box-shadow: 0 30px 60px -34px rgba(240, 179, 63, 0.5); }
.qi-card.qi-fam-multi:hover { border-color: rgba(92, 200, 232, 0.55); box-shadow: 0 30px 60px -34px rgba(92, 200, 232, 0.5); }
.qi-card.qi-fam-synth:hover { border-color: rgba(124, 147, 255, 0.6); box-shadow: 0 30px 60px -34px rgba(124, 147, 255, 0.55); }
.qi-card > * { margin: 0 !important; }
.qi-card__cover { overflow: hidden; border-radius: 17px; }
.qi-card__cover img { border-radius: 17px; }
.qi-card:hover .qi-card__cover img { transform: scale(1.05); }
.qi-card__body { flex: 1; display: flex; flex-direction: column; gap: 0.6rem; padding: 1.15rem 0.6rem 0 !important; }
.qi-card__body > * { margin: 0 !important; }
.qi-card__name { font-size: clamp(1.35rem, 1.2rem + 0.4vw, 1.55rem) !important; letter-spacing: -0.02em; line-height: 1.15 !important; }
.qi-card__name a { color: var(--qi-ice); text-decoration: none; }
.qi-card__name a::after { content: ""; position: absolute; inset: 0; border-radius: 24px; }   /* toda la tarjeta es clicable */
.qi-card:hover .qi-card__name a { color: var(--qi-gold-light); }
.qi-card__tag { color: var(--qi-mist); font-size: 1.0625rem !important; line-height: 1.45 !important; }
.qi-chips { list-style: none; padding: 0 !important; display: flex; flex-wrap: wrap; gap: 0.45rem; }
.qi-chips li {
	margin: 0;
	font-family: var(--qi-display); font-weight: 600; font-size: 0.95rem; line-height: 1.2;
	padding: 0.38rem 0.75rem;
	border-radius: 999px;
	border: 1px solid var(--qi-line);
	background: rgba(7, 15, 38, 0.65);
	color: var(--qi-ice);
}
.qi-card__links {
	margin-top: auto !important;
	padding-top: 1rem !important;
	border-top: 1px solid var(--qi-line);
	display: flex; flex-wrap: wrap; justify-content: space-between; gap: 0.5rem 1rem;
	font-family: var(--qi-display); font-weight: 600; font-size: 1.0625rem !important;
}
.qi-card__links a { position: relative; z-index: 1; text-decoration: none; }
.qi-card__links a:first-child { color: var(--qi-ice); }
.qi-card__links a:hover { color: var(--qi-gold-light); text-decoration: underline; }
.qi-card__cover a { position: relative; z-index: 1; }

/* Ficha de un sistema: portada grande en el hero */
.qi-sys-hero--cover::after { display: none; }
.qi-sys-hero__cols { gap: clamp(2rem, 5vw, 4.5rem) !important; align-items: center !important; }
.qi-sys-hero--cover h1 { max-width: 13ch; }
.qi-sys-hero--cover .qi-lead { max-width: 40rem; }
.qi-sys-cover { position: relative; max-width: 440px; margin: 0 0 0 auto !important; isolation: isolate; }
.qi-sys-cover::before {
	content: "";
	position: absolute; inset: 8%; z-index: -1;
	background: radial-gradient(closest-side, rgba(240, 179, 63, 0.45), transparent);
	filter: blur(40px);
}
.qi-sys-hero--multi .qi-sys-cover::before { background: radial-gradient(closest-side, rgba(92, 200, 232, 0.45), transparent); }
.qi-sys-hero--synth .qi-sys-cover::before { background: radial-gradient(closest-side, rgba(124, 147, 255, 0.5), transparent); }
.qi-sys-cover img {
	border-radius: 26px;
	box-shadow: 0 50px 100px -50px rgba(0, 0, 0, 0.95), 0 0 0 1px rgba(255, 255, 255, 0.08);
	transform: perspective(1400px) rotateY(-7deg) rotateX(2deg);
}
.qi-sys-cover:hover img { transform: perspective(1400px) rotateY(0deg) rotateX(0deg) scale(1.01); }
@media (max-width: 781px) {
	.qi-sys-hero__cols > .wp-block-column.qi-sys-hero__media { order: -1; }
	.qi-sys-cover { margin: 0 !important; max-width: min(300px, 78vw); }
	.qi-sys-cover img { transform: none; }
}

/* Señal en vivo (columna de la ficha) */
.qi-signal {
	margin-top: 1.25rem !important;
	border: 1px solid rgba(110, 231, 168, 0.35);
	border-radius: var(--qi-radius);
	padding: 1.5rem 1.6rem !important;
	background: radial-gradient(320px 180px at 100% 0%, rgba(110, 231, 168, 0.12), transparent 70%), var(--qi-ink-raised);
}
.qi-signal > * { margin: 0 !important; }
.qi-signal > * + * { margin-top: 0.75rem !important; }
.qi-signal h3 { font-size: 1.35rem; }
.qi-signal p { color: var(--qi-mist); }
.qi-signal .qi-signal__live {
	display: inline-flex; align-items: center; gap: 0.55rem;
	font-family: var(--qi-display); font-weight: 600; font-size: 1rem;
	color: #6EE7A8; letter-spacing: 0.04em; text-transform: uppercase;
}
.qi-signal__live::before {
	content: ""; width: 10px; height: 10px; border-radius: 50%;
	background: #6EE7A8; box-shadow: 0 0 0 0 rgba(110, 231, 168, 0.6);
	animation: qi-pulse 2s ease-out infinite;
}
@keyframes qi-pulse { 0% { box-shadow: 0 0 0 0 rgba(110, 231, 168, 0.6); } 80%, 100% { box-shadow: 0 0 0 12px rgba(110, 231, 168, 0); } }
.qi-signal .wp-block-buttons { margin-top: 1.1rem !important; }
.qi-signal .wp-block-button { width: 100%; }
.qi-signal .wp-block-button__link { width: 100%; text-align: center; box-sizing: border-box; }

/* Sistemas relacionados con miniatura */
.qi-rel { display: flex; align-items: center; gap: 1.25rem; position: relative; transition: border-color .3s ease, transform .4s var(--qi-ease); }
.qi-rel:hover { transform: translateY(-3px); }
.qi-rel > * + * { margin-top: 0 !important; }
.qi-rel__cover { flex: 0 0 clamp(88px, 22%, 116px); }
.qi-rel__cover img { border-radius: 14px; }
.qi-rel__body { min-width: 0; }
.qi-rel__body > * { margin: 0 !important; }
.qi-rel__body > * + * { margin-top: 0.5rem !important; }
.qi-rel__body h3 a::after { content: ""; position: absolute; inset: 0; border-radius: var(--qi-radius); }
.qi-rel__body p.qi-x-family { color: var(--qi-gold); }
.qi-rel.qi-fam-multi .qi-rel__body p.qi-x-family { color: var(--qi-aurora); }
.qi-rel.qi-fam-synth .qi-rel__body p.qi-x-family { color: #A9B7FF; }

/* Buscador: portada de la sugerencia */
.qi-finder__top { display: flex; align-items: center; gap: 1.25rem; }
.qi-finder__top > div > * { margin: 0; }
.qi-finder__top > div > * + * { margin-top: 0.4rem; }
.qi-finder__cover { flex: 0 0 auto; display: block; }
.qi-finder__cover img { display: block; width: 104px; height: 104px; border-radius: 16px; box-shadow: 0 20px 40px -22px rgba(0, 0, 0, 0.9), 0 0 0 1px rgba(255, 255, 255, 0.08); }

/* Aparición al desplazarse (la añade site.js solo si hay JavaScript) */
.qi-reveal { opacity: 0; transform: translateY(22px); transition: opacity .8s var(--qi-ease), transform .8s var(--qi-ease); transition-delay: var(--qi-d, 0ms); }
.qi-reveal.is-in { opacity: 1; transform: none; }

@media (prefers-reduced-motion: reduce) {
	.qi-signal__live::before { animation: none !important; }
	.qi-sys-cover img { transform: none !important; }
	.qi-card:hover, .qi-rel:hover { transform: none; }
}

/* Buscador en espera: las ocho portadas en miniatura */
.qi-finder__minis { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 0.6rem; margin-top: 1.5rem !important; }
.qi-finder__minis a { display: block; }
.qi-finder__minis img { display: block; width: 100%; height: auto; aspect-ratio: 1; border-radius: 12px; opacity: 0.55; filter: saturate(0.85); transition: opacity .3s ease, transform .3s var(--qi-ease); }
.qi-finder__minis a:hover img { opacity: 1; transform: translateY(-3px); }

/* Móvil: tarjetas horizontales (portada a la izquierda) para no alargar la página */
@media (max-width: 600px) {
	.qi-card { display: grid; grid-template-columns: 112px minmax(0, 1fr); column-gap: 1rem; align-items: start; padding: 0.8rem 0.9rem 1rem 0.8rem !important; }
	.qi-card__cover, .qi-card__cover img { border-radius: 14px; }
	.qi-card__body { padding: 0.15rem 0 0 !important; gap: 0.45rem; }
	.qi-card__name { font-size: 1.3rem !important; }
	.qi-card__tag { font-size: 1rem !important; }
	.qi-card .qi-chips { display: none; }
	.qi-card__links { padding-top: 0.75rem !important; font-size: 1rem !important; }
	.qi-rel { align-items: flex-start; }
	.qi-rel__cover { flex-basis: 76px; }
}

/* Inicio: empieza en tres pasos */
.qi-steps { gap: 1.5rem !important; counter-reset: none; }
.qi-step {
	position: relative; overflow: hidden;
	border: 1px solid var(--qi-line);
	border-radius: 24px;
	padding: 2rem 1.9rem 2.1rem !important;
	background: radial-gradient(380px 200px at 100% 0%, rgba(240, 179, 63, 0.10), transparent 70%), var(--qi-ink-raised);
	transition: border-color .35s ease, transform .4s var(--qi-ease);
}
.qi-step:hover { border-color: rgba(240, 179, 63, 0.5); transform: translateY(-4px); }
.qi-step > * { margin: 0 !important; }
.qi-step > * + * { margin-top: 0.85rem !important; }
.qi-step__num {
	font-family: var(--qi-display); font-weight: 300;
	font-size: clamp(3rem, 2.4rem + 2vw, 4.2rem) !important; line-height: 1;
	letter-spacing: -0.04em;
	background: linear-gradient(135deg, #FFE1A1 0%, #F0B33F 55%, #B9781A 100%);
	-webkit-background-clip: text; background-clip: text; color: transparent;
}
.qi-step h3 { font-size: clamp(1.35rem, 1.2rem + 0.6vw, 1.65rem); margin-top: 1.1rem !important; }
.qi-step p:not(.qi-step__num) { color: var(--qi-mist); }
.qi-steps-actions { margin-top: clamp(2rem, 4vw, 2.75rem) !important; }

/* Catálogo: filtro por mercado (lo crea site.js) */
.qi-filter { display: flex; flex-wrap: wrap; gap: 0.6rem; margin: 0 auto 1.75rem; max-width: var(--wp--style--global--wide-size, 1240px); }
.qi-filter__btn {
	font-family: var(--qi-display); font-size: 1.0625rem; font-weight: 600;
	color: var(--qi-ice); background: rgba(15, 28, 63, 0.6);
	border: 1.5px solid var(--qi-line); border-radius: 999px;
	padding: 0.6rem 1.15rem; cursor: pointer;
	transition: border-color .2s ease, background-color .2s ease, color .2s ease;
}
.qi-filter__btn span { color: var(--qi-mist); font-weight: 400; margin-left: 0.3rem; }
.qi-filter__btn:hover { border-color: var(--qi-mist); }
.qi-filter__btn[aria-pressed="true"] { background: var(--qi-gold); border-color: var(--qi-gold); color: var(--qi-ink); }
.qi-filter__btn[aria-pressed="true"] span { color: rgba(10, 20, 48, 0.7); }
.qi-filter__btn--multi[aria-pressed="true"] { background: var(--qi-aurora); border-color: var(--qi-aurora); }
.qi-filter__btn--synth[aria-pressed="true"] { background: var(--qi-spectral); border-color: var(--qi-spectral); }
.qi-card[hidden] { display: none !important; }
@media (min-width: 782px) { .qi-steps.is-layout-grid { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; } }
@media (max-width: 781px) { .qi-steps.is-layout-grid { grid-template-columns: minmax(0, 1fr) !important; } }

/* v3.3.1 — Tabla comparativa: miniatura de la portada junto al nombre */
.qi-compare tbody td:first-child a.has-thumb { display: inline-flex; align-items: center; gap: 0.9rem; vertical-align: middle; line-height: 1.25; }
.qi-compare .qi-thumb {
	flex: 0 0 auto;
	width: 52px; height: 52px;
	border-radius: 12px;
	object-fit: cover;
	box-shadow: 0 10px 24px -14px rgba(0, 0, 0, 0.9), 0 0 0 1px rgba(255, 255, 255, 0.08);
	transition: transform .3s var(--qi-ease), box-shadow .3s ease;
}
.qi-compare tbody tr:hover .qi-thumb { transform: scale(1.06); box-shadow: 0 12px 26px -12px rgba(240, 179, 63, 0.55), 0 0 0 1px rgba(240, 179, 63, 0.5); }
.qi-compare tbody td { vertical-align: middle; }
@media (max-width: 781px) { .qi-compare .qi-thumb { width: 44px; height: 44px; border-radius: 10px; } }

/* v3.3.2 — página 404 centrada */
.qi-center { text-align: center; }
.qi-center .qi-lead { margin-left: auto; margin-right: auto; }
