/* Nuevo inicio (home-v2.php) */
.ds-hv2-head { display: flex; justify-content: space-between; align-items: flex-end; gap: 1.5rem 2.5rem; flex-wrap: wrap; margin-bottom: clamp(2rem, 4vw, 2.8rem); }
.ds-hv2-head .ds-h2 { margin: 0.6rem 0 0; line-height: 1.1; }
.ds-hv2-head p { margin: 0; max-width: 460px; color: var(--ds-text-dim); line-height: 1.7; }
.ds-hv2-more { display: flex; justify-content: center; gap: 0.8rem; flex-wrap: wrap; margin-top: clamp(1.8rem, 4vw, 2.6rem); }
.ds-hv2-more .ds-btn svg { width: 17px; height: 17px; }

/* Casos */
.ds-hv2-case { display: grid; grid-template-columns: 1.1fr 0.9fr; gap: clamp(1.8rem, 4vw, 3.4rem); align-items: center; padding: clamp(1.8rem, 4vw, 2.6rem) 0; border-top: 1px solid var(--ds-line); }
.ds-hv2-case:nth-of-type(even) .ds-hv2-case__media { order: 2; }
.ds-hv2-case__media { display: block; text-decoration: none; }
.ds-hv2-case__media .ds-pa-browser { position: relative; inset: auto; aspect-ratio: 16 / 10.5; }
.ds-hv2-case__media .ds-pa-browser__view { height: calc(100% - 30px); overflow: hidden; }
.ds-hv2-case__media .ds-pa-browser__view img { width: 100%; height: 100%; object-fit: cover; object-position: top center; transition: transform 0.6s ease; }
.ds-hv2-case__media:hover .ds-pa-browser__view img { transform: scale(1.03); }
.ds-hv2-case__num { font-size: 0.8rem; color: var(--ds-text-dim); }
.ds-hv2-case__num b { margin-right: 0.35rem; font-size: 1.2rem; color: var(--ds-magenta); }
.ds-hv2-case h3 { margin: 0.5rem 0 0.7rem; font-size: clamp(1.45rem, 2.6vw, 2.05rem); line-height: 1.15; }
.ds-hv2-case h3 a { color: inherit; text-decoration: none; }
.ds-hv2-case p { margin: 0 0 1rem; color: var(--ds-text-dim); line-height: 1.7; }
.ds-hv2-case ul { margin: 0 0 1.4rem; padding: 0; list-style: none; display: grid; gap: 0.45rem; font-size: 0.93rem; }
.ds-hv2-case li::before { content: "✓"; margin-right: 0.55rem; font-weight: 800; color: #2ee88a; }
.ds-hv2-case__cta { display: flex; gap: 0.7rem; flex-wrap: wrap; }
.ds-hv2-case__cta .ds-btn svg { width: 17px; height: 17px; }

/* Proceso */
.ds-hv2-steps { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1.1rem; }
.ds-hv2-step { padding: 1.5rem; border-radius: 22px; border: 1px solid var(--ds-line); background: var(--ds-card); }
.ds-hv2-step b { font-size: 2.4rem; font-weight: 800; line-height: 1; background: linear-gradient(135deg, var(--ds-violet), var(--ds-magenta)); -webkit-background-clip: text; background-clip: text; color: transparent; }
.ds-hv2-step h3 { margin: 0.8rem 0 0.4rem; font-size: 1.08rem; }
.ds-hv2-step p { margin: 0; color: var(--ds-text-dim); font-size: 0.9rem; line-height: 1.6; }
.ds-hv2-terms { display: flex; flex-wrap: wrap; gap: 0.6rem 1.6rem; margin: 1.4rem 0 0; color: var(--ds-text-dim); font-size: 0.9rem; }
.ds-hv2-terms b { color: var(--ds-text); }

/* Rubros */
.ds-hv2-rubros { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; }
.ds-hv2-rubro { position: relative; isolation: isolate; overflow: hidden; min-height: 250px; display: flex; flex-direction: column; justify-content: flex-end; padding: 1.4rem; border-radius: 22px; border: 1px solid var(--ds-line); color: #fff; text-decoration: none; }
.ds-hv2-rubro img { position: absolute; inset: 0; z-index: -2; width: 100%; height: 100%; object-fit: cover; object-position: top; transition: transform 0.5s ease; }
.ds-hv2-rubro::after { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(180deg, rgba(10,5,16,0.1), rgba(10,5,16,0.95) 72%); }
.ds-hv2-rubro.is-product { background: radial-gradient(120% 90% at 100% 0%, rgba(212,0,255,0.35), transparent 60%), linear-gradient(160deg, #3a1460, #160b24); }
.ds-hv2-rubro.is-product::after { display: none; }
.ds-hv2-rubro:hover img { transform: scale(1.05); }
.ds-hv2-rubro small { font-size: 0.72rem; font-weight: 800; letter-spacing: 0.12em; text-transform: uppercase; color: #ff9cf0; }
.ds-hv2-rubro h3 { margin: 0.3rem 0; font-size: 1.28rem; line-height: 1.25; }
.ds-hv2-rubro p { margin: 0; font-size: 0.88rem; color: #d9cceb; }
.ds-hv2-rubro span { margin-top: 0.6rem; font-size: 0.8rem; color: #c3b4d8; }

/* Productos */
.ds-hv2-prods { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.1rem; }
.ds-hv2-prod { position: relative; overflow: hidden; display: flex; flex-direction: column; padding: 1.6rem; border-radius: 22px; border: 1px solid var(--ds-line); background: linear-gradient(160deg, rgba(160,32,240,0.14), rgba(255,255,255,0.02)); color: var(--ds-text); text-decoration: none; transition: border-color 0.25s ease, transform 0.25s ease; }
.ds-hv2-prod:hover { transform: translateY(-4px); border-color: rgba(212,0,255,0.5); }
.ds-hv2-prod__st { align-self: flex-start; padding: 0.25rem 0.7rem; border-radius: 999px; font-size: 0.7rem; font-weight: 700; color: #0a2a17; background: #2ee88a; }
.ds-hv2-prod.is-lab .ds-hv2-prod__st { color: #fff; background: var(--ds-magenta); }
.ds-hv2-prod h3 { margin: 1rem 0 0.4rem; font-size: 1.4rem; }
.ds-hv2-prod p { margin: 0 0 1.2rem; color: var(--ds-text-dim); font-size: 0.92rem; line-height: 1.6; }
.ds-hv2-prod b { margin-top: auto; display: inline-flex; align-items: center; gap: 0.35rem; font-size: 0.9rem; }
.ds-hv2-prod b svg { width: 15px; height: 15px; }
.ds-hv2-prod.is-lab h3, .ds-hv2-prod.is-lab p { max-width: 62%; }
.ds-hv2-prod.is-lab img { position: absolute; right: -4%; bottom: -6%; width: 55%; filter: drop-shadow(0 20px 40px rgba(212,0,255,0.45)); }

/* Analiza tu web */
.ds-hv2-audit { display: grid; grid-template-columns: 1fr 1fr; gap: 2rem; align-items: center; padding: clamp(2rem, 5vw, 3.4rem); border-radius: 28px; border: 1px solid rgba(212,0,255,0.35); background: linear-gradient(120deg, #2c0a49, #5f15a0 55%, #34105a); color: #fff; }
.ds-hv2-audit .ds-eyebrow { color: #ffd6ff; }
.ds-hv2-audit h2 { margin: 0.5rem 0 0.6rem; font-size: clamp(1.6rem, 3vw, 2.3rem); line-height: 1.15; }
.ds-hv2-audit p { margin: 0; color: #e5d5ff; line-height: 1.7; }
.ds-hv2-audit__bar { display: flex; gap: 0.4rem; padding: 0.4rem; border-radius: 999px; border: 1px solid rgba(255,255,255,0.2); background: rgba(10,5,16,0.6); }
.ds-hv2-audit__bar input { flex: 1; min-width: 0; padding: 0.7rem 1rem; border: 0; outline: 0; background: transparent; color: #fff; font: inherit; }
.ds-hv2-audit__checks { display: flex; flex-wrap: wrap; gap: 0.4rem 1rem; margin-top: 0.9rem !important; font-size: 0.84rem; }

/* Comparación */
.ds-hv2-cmp-wrap { overflow-x: auto; border-radius: 22px; border: 1px solid var(--ds-line); }
.ds-hv2-cmp { width: 100%; min-width: 560px; border-collapse: collapse; font-size: 0.94rem; }
.ds-hv2-cmp th, .ds-hv2-cmp td { padding: 1rem 1.2rem; border-bottom: 1px solid var(--ds-line); text-align: center; }
.ds-hv2-cmp tbody tr:last-child th, .ds-hv2-cmp tbody tr:last-child td { border-bottom: 0; }
.ds-hv2-cmp th[scope="row"] { text-align: left; font-weight: 600; }
.ds-hv2-cmp thead th { font-size: 0.85rem; color: var(--ds-text-dim); background: rgba(255,255,255,0.03); }
.ds-hv2-cmp thead th.is-us { color: #fff; background: linear-gradient(135deg, rgba(160,32,240,0.5), rgba(212,0,255,0.35)); }
.ds-hv2-cmp td.is-us { font-weight: 800; background: rgba(160,32,240,0.1); }
.ds-hv2-cmp .is-y { color: #2ee88a; font-weight: 800; }
.ds-hv2-cmp .is-m { color: #ffb547; }
.ds-hv2-cmp .is-n { color: #ff6b88; }

/* Tema claro */
:root[data-theme="light"] .ds-hv2-step, :root[data-theme="light"] .ds-hv2-prod { background: #fff; }

@media (max-width: 980px) {
	.ds-hv2-case { grid-template-columns: 1fr; }
	.ds-hv2-case:nth-of-type(even) .ds-hv2-case__media { order: 0; }
	.ds-hv2-steps, .ds-hv2-rubros, .ds-hv2-prods { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.ds-hv2-audit { grid-template-columns: 1fr; }
}
@media (max-width: 640px) {
	.ds-hv2-steps, .ds-hv2-rubros, .ds-hv2-prods { grid-template-columns: 1fr; }
	.ds-hv2-prod.is-lab h3, .ds-hv2-prod.is-lab p { max-width: 100%; }
	.ds-hv2-prod.is-lab img { position: static; width: 55%; margin: 0 auto 1rem; order: -1; }
	.ds-hv2-audit__bar { flex-direction: column; border-radius: 18px; }
	.ds-hv2-audit__bar .ds-btn { width: 100%; }
	.ds-hv2-case__cta .ds-btn { flex: 1 1 auto; justify-content: center; }
}
