/*!
 * Delefant Thanks Studio – plantillas de agradecimiento
 * Medidas en px / vw / vh (nunca rem: muchas webs Bricks usan html{font-size:62.5%}).
 */

/* ------------------------------------------------------------------
 * 1. Tokens
 * ---------------------------------------------------------------- */
#dts{
	--dts-surface: #1e1e1e;
	--dts-ink: #f2f2f2;
	--dts-accent: #ff7f6c;
	--dts-accent-ink: #ffffff;
	--dts-font-heading: inherit;
	--dts-font-body: inherit;
	--dts-radius: 16px;
	--dts-ease: cubic-bezier(0.8, 0, 0.2, 1);
	--dts-ease-out: cubic-bezier(0.16, 1, 0.3, 1);
	--dts-ease-in: cubic-bezier(0.7, 0, 0.84, 0);
	--dts-dur: 900ms;
	--dts-z: 2147482000;
	--dts-ox: 50%;
	--dts-oy: 50%;

	--dts-muted: color-mix(in srgb, var(--dts-ink) 68%, var(--dts-surface));
	--dts-line: color-mix(in srgb, var(--dts-ink) 22%, transparent);
	--dts-soft: color-mix(in srgb, var(--dts-ink) 6%, var(--dts-surface));
	--dts-card-r: min(calc(var(--dts-radius) * 1.5), 32px);
	--dts-shadow: 0 1px 2px rgb(0 0 0 / .06), 0 16px 40px -12px rgb(0 0 0 / .22), 0 60px 120px -40px rgb(0 0 0 / .35);

	position: fixed;
	inset: 0;
	z-index: var(--dts-z);
	pointer-events: none;
	font-family: var(--dts-font-body);
	font-size: 15px;
	line-height: 1.45;
	color: var(--dts-ink);
	text-align: left;
	-webkit-font-smoothing: antialiased;
}

/* Reset defensivo: Elementor y Bricks dan estilos globales a h2, p, button, a… */
#dts *, #dts *::before, #dts *::after{ box-sizing: border-box; }
#dts h2, #dts p, #dts ol, #dts li{ margin: 0; padding: 0; list-style: none; color: inherit; font-family: inherit; letter-spacing: normal; text-transform: none; }
#dts button{ all: unset; box-sizing: border-box; cursor: pointer; font: inherit; color: inherit; -webkit-tap-highlight-color: transparent; }
#dts a{ color: inherit; text-decoration: none; }
#dts svg{ display: block; }
#dts :focus-visible{ outline: 1px solid var(--dts-accent); outline-offset: 3px; box-shadow: none; }
#dts em{ font-style: normal; color: var(--dts-accent); }

/* ------------------------------------------------------------------
 * 2. Capa, panel y animaciones de entrada / salida
 * ---------------------------------------------------------------- */
#dts .dts-backdrop{
	position: absolute; inset: 0;
	background: rgb(0 0 0 / .45);
	opacity: 0;
	transition: opacity calc(var(--dts-dur) * .8) var(--dts-ease-out);
}
#dts.dts--bd-blur .dts-backdrop{ -webkit-backdrop-filter: blur(10px) saturate(1.1); backdrop-filter: blur(10px) saturate(1.1); background: rgb(0 0 0 / .35); }
#dts.dts--bd-none .dts-backdrop{ display: none; }
#dts.is-open .dts-backdrop{ opacity: 1; pointer-events: auto; }
#dts.is-leaving .dts-backdrop{ opacity: 0; transition-delay: calc(var(--dts-dur) * .35); }

#dts .dts-panel{
	position: relative;
	pointer-events: auto;
	background: var(--dts-surface);
	color: var(--dts-ink);
	transition-property: clip-path, transform, opacity;
	transition-duration: var(--dts-dur);
	transition-timing-function: var(--dts-ease);
	will-change: clip-path, transform, opacity;
}

/* barrido hacia arriba */
#dts.dts--anim-sweep .dts-panel{ clip-path: inset(100% 0 0 0 round var(--dts-pr, 0px)); }
#dts.dts--anim-sweep.is-open .dts-panel{ clip-path: inset(0 0 0 0 round var(--dts-pr, 0px)); }
#dts.dts--anim-sweep.is-leaving .dts-panel{ clip-path: inset(0 0 100% 0 round var(--dts-pr, 0px)); }
/* círculo desde el botón de enviar */
#dts.dts--anim-circle .dts-panel{ clip-path: circle(0 at var(--dts-ox) var(--dts-oy)); }
#dts.dts--anim-circle.is-open .dts-panel{ clip-path: circle(150vmax at var(--dts-ox) var(--dts-oy)); }
#dts.dts--anim-circle.is-leaving .dts-panel{ clip-path: circle(0 at var(--dts-ox) var(--dts-oy)); }
/* subida */
#dts.dts--anim-rise .dts-panel{ opacity: 0; transform: translateY(48px); }
#dts.dts--anim-rise.is-open .dts-panel{ opacity: 1; transform: none; }
#dts.dts--anim-rise.is-leaving .dts-panel{ opacity: 0; transform: translateY(-24px); }
/* zoom */
#dts.dts--anim-zoom .dts-panel{ opacity: 0; transform: scale(.9); }
#dts.dts--anim-zoom.is-open .dts-panel{ opacity: 1; transform: none; }
#dts.dts--anim-zoom.is-leaving .dts-panel{ opacity: 0; transform: scale(.96); }
/* fundido */
#dts.dts--anim-fade .dts-panel{ opacity: 0; }
#dts.dts--anim-fade.is-open .dts-panel{ opacity: 1; }
#dts.dts--anim-fade.is-leaving .dts-panel{ opacity: 0; }

#dts.is-leaving .dts-panel{ transition-delay: calc(var(--dts-dur) * .3); transition-duration: calc(var(--dts-dur) * .85); }

/* Escalonado: el JS da a cada [data-dts-in] su retardo (--d) */
#dts [data-dts-in]{
	opacity: 0;
	transform: translateY(22px);
	transition: opacity .7s var(--dts-ease-out), transform .9s var(--dts-ease-out);
}
#dts .dts-line{ display: block; overflow: hidden; padding-bottom: .08em; margin-bottom: -.08em; }
#dts .dts-line > [data-dts-in]{ display: block; opacity: 1; transform: translateY(110%); }
#dts.is-open [data-dts-in]{ opacity: 1; transform: none; transition-delay: var(--d, 0s); }
#dts.is-leaving [data-dts-in]{ opacity: 0; transform: translateY(-16px); transition: opacity .3s, transform .45s var(--dts-ease-in); transition-delay: 0s; }
#dts.is-leaving .dts-line > [data-dts-in]{ opacity: 1; transform: translateY(-110%); }

/* ------------------------------------------------------------------
 * 3. Piezas compartidas
 * ---------------------------------------------------------------- */
#dts .dts-kicker{
	display: flex; align-items: center; gap: 10px;
	font-size: max(min(.95vw, 1.8vh), 12px); line-height: 1;
	text-transform: uppercase; letter-spacing: .04em;
	color: var(--dts-accent);
}
#dts .dts-dot{ width: 8px; height: 8px; border-radius: 50%; background: var(--dts-accent); flex: none; animation: dts-pulse 1.6s ease-in-out infinite; }
@keyframes dts-pulse{ 50%{ transform: scale(1.6); opacity: .4; } }

#dts .dts-title{
	font-family: var(--dts-font-heading);
	font-weight: 400;
	line-height: .95;
	letter-spacing: -.03em;
	color: var(--dts-ink);
}
#dts .dts-msg{ color: color-mix(in srgb, var(--dts-ink) 88%, var(--dts-surface)); line-height: 1.35; }

#dts .dts-steps{ counter-reset: dts; }
#dts .dts-steps li{ counter-increment: dts; }
#dts .dts-steps li::before{ content: "0" counter(dts); color: var(--dts-accent); font-size: 12px; line-height: 1; }
#dts .dts-steps strong{ display: block; font-family: var(--dts-font-heading); font-weight: 400; color: var(--dts-ink); line-height: 1.05; }
#dts .dts-steps span{ display: block; color: var(--dts-muted); }

#dts .dts-actions{ display: flex; flex-wrap: wrap; gap: 10px; }

/* Botón: mismo lenguaje que .btn-custom (círculo que crece + flecha que gira) */
#dts .dts-btn{
	--c: var(--dts-accent);
	--c-ink: var(--dts-accent-ink);
	position: relative; isolation: isolate; overflow: hidden;
	display: inline-flex; align-items: center; gap: 10px;
	padding: 15px 26px;
	border: 1px solid var(--c); border-radius: 999px;
	color: var(--c);
	font-size: max(min(.95vw, 1.8vh), 12px); line-height: 1;
	text-transform: uppercase; letter-spacing: .03em;
	white-space: nowrap;
	transition: color .3s, box-shadow .3s .4s;
}
#dts .dts-btn::before{
	content: ""; position: absolute; z-index: -1;
	width: 1em; height: 1em; left: calc(50% - .5em); top: -2em;
	border-radius: 50%; background: var(--c);
	transition: transform .3s;
}
#dts .dts-btn svg{ width: 1em; height: 1em; fill: currentColor; transition: transform .3s; }
#dts .dts-btn:hover, #dts .dts-btn:focus-visible{ color: var(--c-ink); box-shadow: 0 0 22px 2px color-mix(in srgb, var(--c) 55%, transparent); transition: color .3s .4s, box-shadow .3s .4s; }
#dts .dts-btn:hover::before, #dts .dts-btn:focus-visible::before{ transform: scale(28); transition: transform 1s; }
#dts .dts-btn:hover svg, #dts .dts-btn:focus-visible svg{ transform: rotate(-45deg) translate(.15em, .15em); transition: transform .3s .2s; }
#dts .dts-btn--ghost{ --c: var(--dts-line); --c-ink: var(--dts-surface); color: var(--dts-ink); }
#dts .dts-btn--ghost::before{ background: var(--dts-ink); }
#dts .dts-btn--ghost:hover{ box-shadow: none; }

#dts .dts-close{
	display: inline-flex; align-items: center; gap: 10px;
	padding: 13px 20px;
	border: 1px solid var(--dts-line); border-radius: 999px;
	font-size: max(min(.95vw, 1.8vh), 12px); line-height: 1; text-transform: uppercase; letter-spacing: .03em;
	transition: background-color .35s var(--dts-ease-out), color .35s var(--dts-ease-out), border-color .35s, transform .5s var(--dts-ease-out);
}
#dts .dts-close svg{ width: 12px; height: 12px; stroke: currentColor; transition: transform .5s var(--dts-ease-out); }
#dts .dts-close:hover{ background: var(--dts-ink); color: var(--dts-surface); border-color: var(--dts-ink); transform: rotate(-4deg); }
#dts .dts-close:hover svg{ transform: rotate(90deg); }
#dts .dts-close--icon{ width: 44px; height: 44px; padding: 0; justify-content: center; }
#dts .dts-close--icon svg{ width: 14px; height: 14px; }

/* Check animado (tarjeta y mínima) */
#dts .dts-check{ width: 56px; height: 56px; flex: none; }
#dts .dts-check circle{ fill: none; stroke: var(--dts-accent); stroke-width: 2; stroke-dasharray: 152; stroke-dashoffset: 152; transform: rotate(-90deg); transform-origin: center; }
#dts .dts-check path{ fill: none; stroke: var(--dts-accent); stroke-width: 2.4; stroke-linecap: round; stroke-linejoin: round; stroke-dasharray: 40; stroke-dashoffset: 40; }
#dts.is-open .dts-check circle{ stroke-dashoffset: 0; transition: stroke-dashoffset .9s var(--dts-ease-out) var(--d-check, .4s); }
#dts.is-open .dts-check path{ stroke-dashoffset: 0; transition: stroke-dashoffset .5s var(--dts-ease-out) calc(var(--d-check, .4s) + .55s); }

/* ------------------------------------------------------------------
 * 4. Plantilla PANTALLA COMPLETA (editorial, 100vh exactos)
 * ---------------------------------------------------------------- */
#dts.dts--fullscreen .dts-panel{
	position: absolute; inset: 0;
	height: 100vh; height: 100dvh;
	display: flex; flex-direction: column; justify-content: space-between; gap: 4vh;
	padding: 12vh 4vw 6vh;
	overflow: hidden;
}
#dts.dts--fullscreen .dts-closewrap{ position: absolute; top: 4vh; right: 4vw; z-index: 2; }
#dts.dts--fullscreen .dts-kicker{ margin-bottom: 3vh; }
#dts.dts--fullscreen .dts-title{ font-size: min(5.6vw, 11.5vh); }
#dts.dts--fullscreen .dts-msg{ margin-top: 3.5vh; max-width: min(48vw, 640px); font-size: max(min(1.25vw, 2.3vh), 15px); }
#dts.dts--fullscreen .dts-steps{ display: grid; grid-template-columns: repeat(var(--dts-cols, 3), 1fr); column-gap: 1.6vw; }
#dts.dts--fullscreen .dts-steps li{ border-top: 1px solid var(--dts-line); padding-top: 1.6vh; }
#dts.dts--fullscreen .dts-steps li::before{ display: block; margin-bottom: 2.2vh; font-size: max(min(.95vw, 1.8vh), 12px); }
#dts.dts--fullscreen .dts-steps strong{ font-size: max(min(1.8vw, 3.4vh), 18px); margin-bottom: .5em; }
#dts.dts--fullscreen .dts-steps span{ font-size: max(min(.9vw, 1.75vh), 13px); line-height: 1.25; }
#dts.dts--fullscreen .dts-actions{ margin-top: 4.5vh; gap: max(1vw, 10px); }

/* ------------------------------------------------------------------
 * 5. Posiciones (Tarjeta, Mínima y Lateral) — igual que el banner de cookies
 * ---------------------------------------------------------------- */
#dts.dts--card, #dts.dts--toast, #dts.dts--drawer{ display: flex; padding: 24px; }
#dts.dts--drawer{ padding: 0; }
#dts.dts--pos-center{ align-items: center; justify-content: center; }
#dts.dts--pos-bottom-left{ align-items: flex-end; justify-content: flex-start; }
#dts.dts--pos-bottom-center{ align-items: flex-end; justify-content: center; }
#dts.dts--pos-bottom-right{ align-items: flex-end; justify-content: flex-end; }
#dts.dts--pos-top-left{ align-items: flex-start; justify-content: flex-start; }
#dts.dts--pos-top-center{ align-items: flex-start; justify-content: center; }
#dts.dts--pos-top-right{ align-items: flex-start; justify-content: flex-end; }
#dts.dts--pos-left{ align-items: stretch; justify-content: flex-start; }
#dts.dts--pos-right{ align-items: stretch; justify-content: flex-end; }

/* ------------------------------------------------------------------
 * 6. Plantilla TARJETA (centrada = modal; en esquina = popup compacto)
 * ---------------------------------------------------------------- */
#dts.dts--card .dts-panel{
	--dts-pr: var(--dts-card-r);
	width: min(560px, 100%);
	max-height: calc(100dvh - 48px); overflow: auto;
	padding: 44px 44px 40px;
	border-radius: var(--dts-card-r);
	box-shadow: var(--dts-shadow);
}
#dts.dts--card .dts-closewrap{ position: absolute; top: 18px; right: 18px; }
#dts.dts--card .dts-check{ margin-bottom: 26px; }
#dts.dts--card .dts-kicker{ font-size: 12px; margin-bottom: 14px; }
#dts.dts--card .dts-title{ font-size: clamp(30px, 3vw, 42px); line-height: 1; padding-right: 36px; }
#dts.dts--card .dts-msg{ margin-top: 16px; font-size: 15px; color: var(--dts-muted); }
#dts.dts--card .dts-steps{ margin-top: 26px; border-top: 1px solid var(--dts-line); }
#dts.dts--card .dts-steps li{ display: grid; grid-template-columns: 34px 1fr; align-items: baseline; padding: 14px 0; border-bottom: 1px solid var(--dts-line); }
#dts.dts--card .dts-steps li::before{ grid-row: span 2; }
#dts.dts--card .dts-steps strong{ font-size: 17px; }
#dts.dts--card .dts-steps span{ font-size: 13px; margin-top: 4px; }
#dts.dts--card .dts-actions{ margin-top: 28px; }
#dts.dts--card .dts-btn{ font-size: 12px; padding: 14px 22px; }

/* Compacta: en una esquina o borde, más pequeña y sencilla */
#dts.dts--card:not(.dts--pos-center) .dts-panel{ width: min(400px, 100%); padding: 28px 28px 24px; }
#dts.dts--card:not(.dts--pos-center) .dts-closewrap{ top: 14px; right: 14px; }
#dts.dts--card:not(.dts--pos-center) .dts-close--icon{ width: 36px; height: 36px; }
#dts.dts--card:not(.dts--pos-center) .dts-check{ width: 44px; height: 44px; margin-bottom: 18px; }
#dts.dts--card:not(.dts--pos-center) .dts-title{ font-size: 26px; }
#dts.dts--card:not(.dts--pos-center) .dts-msg{ margin-top: 10px; font-size: 14px; }
#dts.dts--card:not(.dts--pos-center) .dts-steps{ display: none; }
#dts.dts--card:not(.dts--pos-center) .dts-actions{ margin-top: 20px; }
#dts.dts--card:not(.dts--pos-center) .dts-btn{ padding: 12px 18px; font-size: 11px; }

/* ------------------------------------------------------------------
 * 6b. Plantilla LATERAL (panel a toda la altura que entra por un lado)
 * ---------------------------------------------------------------- */
#dts.dts--drawer .dts-panel{
	display: flex; flex-direction: column;
	width: min(520px, 100%);
	height: 100vh; height: 100dvh;
	padding: 40px 44px 36px;
	overflow: auto;
	box-shadow: var(--dts-shadow);
}
#dts.dts--drawer .dts-closewrap{ align-self: flex-end; margin-bottom: auto; }
#dts.dts--drawer .dts-check{ width: 60px; height: 60px; margin: 6vh 0 26px; }
#dts.dts--drawer .dts-kicker{ font-size: 12px; margin-bottom: 16px; }
#dts.dts--drawer .dts-title{ font-size: clamp(36px, 3.6vw, 58px); line-height: .98; }
#dts.dts--drawer .dts-msg{ margin-top: 20px; font-size: 15px; color: var(--dts-muted); }
#dts.dts--drawer .dts-steps{ margin-top: 30px; border-top: 1px solid var(--dts-line); }
#dts.dts--drawer .dts-steps li{ display: grid; grid-template-columns: 34px 1fr; align-items: baseline; padding: 14px 0; border-bottom: 1px solid var(--dts-line); }
#dts.dts--drawer .dts-steps li::before{ grid-row: span 2; }
#dts.dts--drawer .dts-steps strong{ font-size: 18px; }
#dts.dts--drawer .dts-steps span{ font-size: 13px; margin-top: 4px; }
#dts.dts--drawer .dts-actions{ margin-top: auto; padding-top: 30px; }
#dts.dts--drawer .dts-btn{ font-size: 12px; padding: 14px 22px; }
/* el barrido del lateral es horizontal */
#dts.dts--drawer.dts--anim-sweep .dts-panel{ clip-path: inset(0 0 0 100%); }
#dts.dts--drawer.dts--anim-sweep.is-open .dts-panel{ clip-path: inset(0); }
#dts.dts--drawer.dts--anim-sweep.is-leaving .dts-panel{ clip-path: inset(0 0 0 100%); }
#dts.dts--drawer.dts--pos-left.dts--anim-sweep .dts-panel,
#dts.dts--drawer.dts--pos-left.dts--anim-sweep.is-leaving .dts-panel{ clip-path: inset(0 100% 0 0); }
#dts.dts--drawer.dts--pos-left.dts--anim-sweep.is-open .dts-panel{ clip-path: inset(0); }
#dts.dts--drawer.dts--anim-rise .dts-panel{ transform: translateX(64px); }
#dts.dts--drawer.dts--pos-left.dts--anim-rise .dts-panel{ transform: translateX(-64px); }
#dts.dts--drawer.dts--anim-rise.is-open .dts-panel{ transform: none; }

/* ------------------------------------------------------------------
 * 7. Plantilla SPLIT (panel de color + contenido, como la de cookies)
 * ---------------------------------------------------------------- */
#dts.dts--split{ display: grid; place-items: center; padding: 16px; }
#dts.dts--split .dts-panel{
	--dts-pr: var(--dts-card-r);
	display: grid; grid-template-columns: 0.85fr 1fr;
	width: min(1040px, 100%);
	min-height: min(560px, calc(100dvh - 32px));
	max-height: calc(100dvh - 32px);
	border-radius: var(--dts-card-r);
	overflow: hidden;
	box-shadow: var(--dts-shadow);
}
#dts.dts--split .dts-side{
	position: relative; overflow: hidden;
	background: var(--dts-accent); color: var(--dts-accent-ink);
	display: flex; align-items: flex-end;
	padding: 36px;
}
#dts.dts--split .dts-side::before{
	content: ""; position: absolute; width: 140%; aspect-ratio: 1; left: -20%; top: -70%;
	border-radius: 50%;
	background: radial-gradient(closest-side, color-mix(in srgb, var(--dts-accent-ink) 22%, transparent), transparent);
	animation: dts-float 9s ease-in-out infinite alternate;
}
@keyframes dts-float{ to{ transform: translate(12%, 18%) scale(1.15); } }
#dts.dts--split .dts-mark{
	position: relative;
	font-family: var(--dts-font-heading);
	font-size: clamp(56px, 7.4vw, 108px); line-height: .9; letter-spacing: -.05em;
	color: var(--dts-accent-ink);
}
#dts.dts--split .dts-main{ position: relative; display: flex; flex-direction: column; padding: 48px 48px 40px; overflow: auto; }
#dts.dts--split .dts-closewrap{ position: absolute; top: 20px; right: 20px; }
#dts.dts--split .dts-kicker{ font-size: 12px; margin-bottom: 18px; }
#dts.dts--split .dts-title{ font-size: clamp(32px, 3.2vw, 46px); line-height: 1; padding-right: 48px; }
#dts.dts--split .dts-msg{ margin-top: 18px; font-size: 15px; color: var(--dts-muted); }
#dts.dts--split .dts-steps{ margin-top: 26px; border-top: 1px solid var(--dts-line); }
#dts.dts--split .dts-steps li{ display: grid; grid-template-columns: 34px 1fr auto; align-items: center; column-gap: 6px; padding: 15px 0; border-bottom: 1px solid var(--dts-line); }
#dts.dts--split .dts-steps strong{ font-size: 17px; }
#dts.dts--split .dts-steps span{ grid-column: 2; font-size: 13px; margin-top: 3px; }
#dts.dts--split .dts-steps li > svg{ grid-column: 3; grid-row: 1 / span 2; width: 16px; height: 16px; fill: var(--dts-ink); opacity: .7; transform: rotate(-45deg); }
#dts.dts--split .dts-actions{ margin-top: auto; padding-top: 28px; }
#dts.dts--split .dts-btn{ font-size: 12px; padding: 14px 22px; }

/* ------------------------------------------------------------------
 * 8. Plantilla MÍNIMA (píldora flotante, no bloquea la web)
 * ---------------------------------------------------------------- */
#dts.dts--toast .dts-panel{
	--dts-pr: 999px;
	display: flex; align-items: center; gap: 14px;
	width: auto; max-width: min(640px, 100%);
	padding: 10px 10px 10px 12px;
	border-radius: 999px;
	box-shadow: var(--dts-shadow);
	overflow: hidden;
}
#dts.dts--toast .dts-check{ width: 40px; height: 40px; }
#dts.dts--toast .dts-toast-text{ font-size: 15px; line-height: 1.25; padding-right: 4px; }
#dts.dts--toast .dts-toast-text strong{ font-weight: 500; }
#dts.dts--toast .dts-btn{ font-size: 11px; padding: 11px 16px; }
#dts.dts--toast .dts-close--icon{ width: 38px; height: 38px; }
#dts.dts--toast .dts-progress{ position: absolute; left: 0; bottom: 0; height: 2px; width: 100%; background: var(--dts-accent); transform-origin: left; transform: scaleX(0); }
#dts.dts--toast.is-open .dts-progress{ animation: dts-progress var(--dts-autoclose, 6s) linear forwards; }
#dts.dts--toast:hover .dts-progress{ animation-play-state: paused; }
@keyframes dts-progress{ from{ transform: scaleX(1); } to{ transform: scaleX(0); } }

/* ------------------------------------------------------------------
 * 9. Responsive
 * ---------------------------------------------------------------- */
@media (max-width: 1024px){
	#dts.dts--fullscreen .dts-panel{ padding: 11vh 32px 5vh; }
	#dts.dts--fullscreen .dts-closewrap{ right: 32px; }
	#dts.dts--fullscreen .dts-title{ font-size: min(7.4vw, 9vh); }
	#dts.dts--fullscreen .dts-msg{ max-width: none; }
}
@media (max-width: 767px){
	#dts.dts--fullscreen .dts-panel{ padding: 88px 20px 24px; gap: 3vh; }
	#dts.dts--fullscreen .dts-closewrap{ top: 20px; right: 20px; }
	#dts.dts--fullscreen .dts-title{ font-size: min(10.5vw, 6vh); }
	#dts.dts--fullscreen .dts-msg{ margin-top: 2.5vh; font-size: 15px; }
	#dts.dts--fullscreen .dts-steps{ grid-template-columns: 1fr; row-gap: 1.6vh; }
	#dts.dts--fullscreen .dts-steps li{ display: flex; align-items: baseline; gap: 12px; padding-top: 1.4vh; }
	#dts.dts--fullscreen .dts-steps li::before{ margin: 0; }
	#dts.dts--fullscreen .dts-steps strong{ font-size: 18px; margin: 0; }
	#dts.dts--fullscreen .dts-steps span{ display: none; }
	#dts.dts--fullscreen .dts-actions{ margin-top: 3vh; }

	/* Tarjeta y split: hoja inferior */
	#dts.dts--split{ place-items: end stretch; padding: 0; }
	#dts.dts--card, #dts.dts--drawer{ align-items: flex-end; justify-content: stretch; padding: 0; }
	#dts.dts--card .dts-panel, #dts.dts--split .dts-panel, #dts.dts--drawer .dts-panel,
	#dts.dts--card:not(.dts--pos-center) .dts-panel{
		--dts-pr: 22px;
		width: 100%; max-height: 92dvh;
		border-radius: 22px 22px 0 0;
	}
	#dts.dts--card .dts-panel, #dts.dts--card:not(.dts--pos-center) .dts-panel{ padding: 30px 22px 24px; }
	#dts.dts--drawer .dts-panel{ height: auto; padding: 26px 22px 24px; }
	#dts.dts--drawer .dts-closewrap{ position: absolute; top: 14px; right: 14px; margin: 0; }
	#dts.dts--drawer .dts-check{ margin: 0 0 18px; width: 48px; height: 48px; }
	#dts.dts--drawer.dts--anim-sweep .dts-panel, #dts.dts--drawer.dts--anim-sweep.is-leaving .dts-panel{ clip-path: inset(100% 0 0 0 round 22px 22px 0 0); }
	#dts.dts--drawer.dts--anim-sweep.is-open .dts-panel{ clip-path: inset(0 round 22px 22px 0 0); }
	#dts.dts--split .dts-panel{ grid-template-columns: 1fr; min-height: 0; grid-template-rows: auto 1fr; }
	#dts.dts--split .dts-side{ min-height: 120px; padding: 22px; }
	#dts.dts--split .dts-mark{ font-size: 56px; }
	#dts.dts--split .dts-main{ padding: 26px 22px 24px; }
	#dts.dts--split .dts-closewrap{ top: 14px; right: 14px; }
	#dts.dts--split .dts-closewrap .dts-close{ background: var(--dts-surface); }
	#dts .dts-steps span{ display: none; }

	#dts.dts--toast{ padding: 12px; }
	#dts.dts--toast .dts-panel{ border-radius: 22px; --dts-pr: 22px; flex-wrap: wrap; }
	#dts.dts--toast .dts-toast-text{ flex: 1; min-width: 0; font-size: 14px; }
	#dts.dts--toast .dts-panel > .dts-btn-wrap{ order: 3; width: 100%; }
	#dts.dts--toast .dts-panel > .dts-btn-wrap .dts-btn{ width: 100%; justify-content: center; }
}
@media (min-width: 768px) and (max-height: 920px){
	#dts.dts--drawer .dts-panel{ padding-top: 28px; padding-bottom: 28px; }
	#dts.dts--drawer .dts-check{ width: 48px; height: 48px; margin: 2vh 0 18px; }
	#dts.dts--drawer .dts-title{ font-size: clamp(32px, 3vw, 46px); }
	#dts.dts--drawer .dts-steps{ margin-top: 22px; }
	#dts.dts--drawer .dts-steps li{ padding: 11px 0; }
	#dts.dts--drawer .dts-steps span{ display: none; }
	#dts.dts--card.dts--pos-center .dts-steps span{ display: none; }
}
@media (max-height: 620px){
	#dts.dts--fullscreen .dts-steps span{ display: none; }
	#dts.dts--fullscreen .dts-panel{ padding-top: 84px; }
}

html.dts-lock, html.dts-lock body{ overflow: hidden !important; }

@media (prefers-reduced-motion: reduce){
	#dts, #dts *{ transition-duration: 1ms !important; transition-delay: 0s !important; animation: none !important; }
}

/* ------------------------------------------------------------------
 * 10. Ocultar el mensaje de éxito nativo (lo sustituye el popup)
 * ---------------------------------------------------------------- */
html.dts-hide-native .wpcf7 form.sent .wpcf7-response-output,
html.dts-hide-native .elementor-message.elementor-message-success,
html.dts-hide-native .brxe-form .message.success,
html.dts-hide-native .ff-message-success{ display: none !important; }

/* ------------------------------------------------------------------
 * 11. Botón de enviar de los formularios: hover solo cuando se puede pulsar
 *     --dts-sb-c   color del relleno (= color del texto del botón)
 *     --dts-sb-ink color del texto en hover (= fondo del botón)
 * ---------------------------------------------------------------- */
.dts-sb{ position: relative !important; isolation: isolate; overflow: hidden !important; }
span.dts-sb{ display: inline-flex; align-items: center; vertical-align: middle; border-radius: var(--dts-sb-r, 999px); }
span.dts-sb > input{ position: relative; z-index: 1; margin: 0 !important; }
.dts-sb::before{
	content: ""; position: absolute; z-index: 0; pointer-events: none;
	background: var(--dts-sb-c, currentColor);
}
button.dts-sb::before{ z-index: -1; }
.dts-sb-arrow{ position: absolute; z-index: 2; right: 1.3em; top: 50%; width: .9em; height: .9em; margin-top: -.45em; pointer-events: none; fill: var(--dts-sb-c, currentColor); transition: transform .3s, fill .3s; }

/* Círculo (estilo Delefant) */
.dts-sb--circle::before{ width: 1em; height: 1em; left: calc(50% - .5em); top: -2em; border-radius: 50%; transition: transform .3s; }
.dts-sb--circle.is-ready:hover::before, .dts-sb--circle.is-ready:focus-within::before, button.dts-sb--circle.is-ready:focus-visible::before{ transform: scale(30); transition: transform 1s; }
/* Barrido desde abajo */
.dts-sb--slide::before{ inset: 0; transform: translateY(101%); transition: transform .5s cubic-bezier(.8,0,.2,1); }
.dts-sb--slide.is-ready:hover::before, .dts-sb--slide.is-ready:focus-within::before, button.dts-sb--slide.is-ready:focus-visible::before{ transform: none; }

.dts-sb.is-ready:hover, .dts-sb.is-ready:focus-within,
.dts-sb.is-ready:hover > input, .dts-sb.is-ready:focus-within > input{ color: var(--dts-sb-ink, #fff) !important; transition: color .3s .3s; }
.dts-sb.is-ready:hover .dts-sb-arrow, .dts-sb.is-ready:focus-within .dts-sb-arrow{ fill: var(--dts-sb-ink, #fff); transform: rotate(-45deg) translate(.15em, .15em); transition: transform .3s .2s, fill .3s .3s; }
.dts-sb:not(.is-ready){ opacity: .45; cursor: not-allowed; }
.dts-sb:not(.is-ready) > input{ cursor: not-allowed; }
@media (hover: none){
	.dts-sb::before{ display: none; }
}
