/* De la Torre Simón: estilos que theme.json no cubre */

:root {
	--dts-ink: var(--wp--preset--color--ink);
	--dts-line: var(--wp--preset--color--line);
	--dts-blue: var(--wp--preset--color--blue);
	--dts-wa: var(--wp--preset--color--whatsapp);
	--dts-wa-dark: #178a47;
	--dts-night: var(--wp--preset--color--night);
	--dts-wa-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2a10 10 0 0 0-8.6 15.1L2 22l5-1.3A10 10 0 1 0 12 2Zm0 18.2a8.2 8.2 0 0 1-4.2-1.2l-.3-.2-3 .8.8-2.9-.2-.3A8.2 8.2 0 1 1 12 20.2Zm4.5-6.1c-.2-.1-1.5-.7-1.7-.8-.2-.1-.4-.1-.6.1l-.8 1c-.1.2-.3.2-.5.1a6.7 6.7 0 0 1-3.3-2.9c-.2-.4.2-.4.7-1.3.1-.2 0-.3 0-.4l-.8-1.8c-.2-.5-.4-.4-.6-.4h-.5a1 1 0 0 0-.7.3 3 3 0 0 0-.9 2.2 5.2 5.2 0 0 0 1.1 2.7 11.8 11.8 0 0 0 4.5 4c1.7.7 2.4.8 3.2.6.5-.1 1.5-.6 1.7-1.2.2-.6.2-1.1.2-1.2-.1-.1-.2-.2-.5-.3Z'/%3E%3C/svg%3E");
}

h1, h2, h3 { text-wrap: balance; }
:focus-visible { outline: 3px solid var(--dts-blue); outline-offset: 2px; }

/* Secciones pegadas unas a otras, sin huecos entre franjas */
.wp-site-blocks > * { margin-block-start: 0; }
.wp-block-post-content > .alignfull { margin-block-start: 0; }
.dts-section { padding-block: clamp(48px, 7vw, 72px); }

/* Fondos */
.wp-block-group.is-style-dark { background: var(--dts-night); color: #c9ced6; }
.wp-block-group.is-style-dark :is(h1, h2, h3, strong) { color: #fff; }
.wp-block-group.is-style-dark a:not(.wp-element-button) { color: #fff; }
.wp-block-group.is-style-mist { background: var(--wp--preset--color--mist); }
.wp-block-group.is-style-blue { background: var(--dts-blue); color: #dce8fb; }
.wp-block-group.is-style-blue :is(h1, h2, h3) { color: #fff; }

/* Textos auxiliares */
.eyebrow { font-weight: 600; font-size: .8rem; letter-spacing: .14em; text-transform: uppercase; color: var(--dts-blue); }
.is-style-dark .eyebrow { color: #7fb0f5; }
.lead { font-size: var(--wp--preset--font-size--large); max-width: 62ch; }
.crumbs { font-size: .85rem; color: #9aa2ad; }

/* Botones */
.wp-block-button.is-style-whatsapp .wp-block-button__link { background: var(--dts-wa); color: #fff; display: inline-flex; align-items: center; gap: 9px; }
.wp-block-button.is-style-whatsapp .wp-block-button__link:hover { background: var(--dts-wa-dark); }
.wp-block-button.is-style-whatsapp .wp-block-button__link::before { content: ""; width: 20px; height: 20px; flex: none; background: currentColor; -webkit-mask: var(--dts-wa-icon) center / contain no-repeat; mask: var(--dts-wa-icon) center / contain no-repeat; }
.wp-block-button.is-style-light .wp-block-button__link { background: #fff; color: var(--dts-blue); }
.wp-block-button.is-style-outline .wp-block-button__link { background: transparent; border: 2px solid currentColor; color: inherit; }

/* Huecos para fotos (se sustituyen por un bloque Imagen) */
.wp-block-group.is-style-photo { aspect-ratio: 4 / 3; max-width: 100%; display: grid; place-items: center; text-align: center; padding: 20px; font-size: .85rem; letter-spacing: .06em; text-transform: uppercase; color: var(--wp--preset--color--mute);
	background: repeating-linear-gradient(135deg, var(--wp--preset--color--mist) 0 14px, #e8ebef 14px 28px); border: 1px solid var(--dts-line); }
.is-style-dark .wp-block-group.is-style-photo { background: repeating-linear-gradient(135deg, #1a1f26 0 14px, #20262e 14px 28px); border-color: #2a313a; color: #8b939e; }

/* Franja de confianza */
.dts-trust { border-bottom: 1px solid var(--dts-line); }
.dts-trust .wp-block-columns { gap: 0; margin-block: 0; }
.dts-trust .wp-block-column { padding: 22px 18px; border-left: 1px solid var(--dts-line); }
.dts-trust .wp-block-column:first-child { border-left: 0; padding-left: 0; }
.dts-trust .wp-block-column > * { margin-block: 0; }
.dts-trust strong { display: block; font-family: var(--wp--preset--font-family--display); font-size: 1.1rem; text-transform: uppercase; letter-spacing: .03em; }
.dts-trust .wp-block-column p:last-child { font-size: .9rem; color: var(--wp--preset--color--mute); }

/* Tarjetas de servicio */
.wp-block-group.is-style-service-card { border: 1px solid var(--dts-line); padding: 28px 26px; background: #fff; }
.wp-block-group.is-style-service-card h3 a { color: inherit; text-decoration: none; }
.wp-block-group.is-style-service-card h3 a:hover { color: var(--dts-blue); }
.wp-block-group.is-style-service-card p { color: var(--wp--preset--color--ink-2); }
.wp-block-group.is-style-service-card p:last-child a { font-weight: 600; text-decoration: none; }

/* Recuadro lateral */
.wp-block-group.is-style-card { border: 1px solid var(--dts-line); padding: 26px; position: sticky; top: calc(var(--wp-admin--admin-bar--height, 0px) + 130px); }
.wp-block-group.is-style-card .wp-block-button, .wp-block-group.is-style-card .wp-block-button__link { width: 100%; justify-content: center; }

/* Listas */
ul.is-style-check { list-style: none; padding: 0; display: grid; gap: 12px; }
ul.is-style-check li { padding-left: 32px; position: relative; }
ul.is-style-check li::before { content: ""; position: absolute; left: 0; top: .45em; width: 16px; height: 9px; border-left: 3px solid var(--dts-blue); border-bottom: 3px solid var(--dts-blue); transform: rotate(-45deg); }
ul.is-style-chips { list-style: none; padding: 0; display: flex; flex-wrap: wrap; gap: 10px; }
ul.is-style-chips li { font-family: var(--wp--preset--font-family--display); font-weight: 600; font-size: 1.05rem; letter-spacing: .05em; text-transform: uppercase; border: 1px solid var(--dts-line); background: #fff; padding: 9px 16px; }
ul.is-style-chips li a { color: inherit; text-decoration: none; }
ul.is-style-chips li:has(a):hover { border-color: var(--dts-blue); }
ol.is-style-steps { list-style: none; padding: 0; counter-reset: s; }
ol.is-style-steps li { counter-increment: s; display: grid; grid-template-columns: 56px 1fr; gap: 16px; padding: 20px 0; border-top: 1px solid var(--dts-line); }
ol.is-style-steps li::before { content: counter(s); font: 700 2.2rem/1 var(--wp--preset--font-family--display); color: var(--dts-blue); }

/* Preguntas frecuentes */
.wp-block-details { border-bottom: 1px solid var(--dts-line); margin-block-start: 0 !important; }
.wp-block-details summary { cursor: pointer; font-weight: 600; font-size: 1.05rem; padding: 18px 30px 18px 0; list-style: none; position: relative; }
.wp-block-details summary::-webkit-details-marker { display: none; }
.wp-block-details summary::after { content: "+"; position: absolute; right: 4px; top: 14px; font-size: 1.5rem; font-weight: 500; color: var(--dts-blue); }
.wp-block-details[open] summary::after { content: "–"; }
.wp-block-details > p { padding-bottom: 18px; color: var(--wp--preset--color--ink-2); margin-top: 0; }

/* Calendario y mapa */
.dts-embed iframe { width: 100%; border: 0; display: block; }

/* Cabecera */
header.wp-block-template-part { position: sticky; top: var(--wp-admin--admin-bar--height, 0px); z-index: 50; background: #fff; }
.dts-topbar { background: var(--dts-night); color: #c9ced6; font-size: .85rem; }
.dts-topbar p { margin: 0; }
.dts-topbar a { color: inherit; text-decoration: none; }
.dts-header { border-bottom: 1px solid var(--dts-line); }
.dts-brand .wp-block-site-title { font-family: var(--wp--preset--font-family--display); font-weight: 700; font-size: 1.55rem; line-height: 1; letter-spacing: .04em; text-transform: uppercase; margin: 0; }
.dts-brand .wp-block-site-title a { color: var(--dts-ink); text-decoration: none; }
.dts-brand p { margin: 4px 0 0; font-size: .72rem; letter-spacing: .12em; text-transform: uppercase; color: var(--wp--preset--color--mute); }
.dts-header .wp-block-navigation { font-weight: 600; font-size: .95rem; }
.dts-header .wp-block-navigation a { color: var(--wp--preset--color--ink-2); }
.dts-header .wp-block-navigation a:hover { color: var(--dts-ink); }
.dts-header .wp-block-navigation .current-menu-item > a { color: var(--dts-ink); box-shadow: inset 0 -3px 0 var(--dts-blue); }

/* Pie */
footer.wp-block-template-part a { text-decoration: none; }
.dts-legal { border-top: 1px solid #252b33; font-size: .85rem; }
.dts-footer ul { list-style: none; padding: 0; display: grid; gap: 8px; }

/* WhatsApp flotante y barra móvil */
.dts-wa-float { position: fixed; right: 22px; bottom: 22px; z-index: 60; background: var(--dts-wa); color: #fff; border-radius: 999px; padding: 14px 20px 14px 16px; display: flex; gap: 10px; align-items: center; font-weight: 600; text-decoration: none; box-shadow: 0 10px 26px rgba(15, 90, 45, .35); }
.dts-wa-float:hover { background: var(--dts-wa-dark); color: #fff; }
.dts-wa-float::before, .dts-mbar .m-wa::before { content: ""; width: 24px; height: 24px; background: currentColor; -webkit-mask: var(--dts-wa-icon) center / contain no-repeat; mask: var(--dts-wa-icon) center / contain no-repeat; }
.dts-mbar { display: none; position: fixed; left: 0; right: 0; bottom: 0; z-index: 60; background: #fff; border-top: 1px solid var(--dts-line); padding: 8px 10px calc(8px + env(safe-area-inset-bottom, 0px)); gap: 8px; grid-template-columns: 1fr 1fr 1fr; }
.dts-mbar a { display: grid; justify-items: center; gap: 2px; text-decoration: none; font-size: .8rem; font-weight: 600; padding: 9px 4px; border-radius: 4px; color: var(--dts-ink); }
.dts-mbar .m-tel { border: 1px solid var(--dts-line); }
.dts-mbar .m-wa { background: var(--dts-wa); color: #fff; }
.dts-mbar .m-cita { background: var(--dts-blue); color: #fff; }

@media (max-width: 781px) {
	.dts-trust .wp-block-column { border-left: 0; padding-left: 0; border-top: 1px solid var(--dts-line); }
	.dts-trust .wp-block-column:first-child { border-top: 0; }
	.wp-block-group.is-style-card { position: static; }
}
@media (max-width: 720px) {
	.dts-topbar, .dts-header .dts-header-cta { display: none; }
	.dts-wa-float { display: none; }
	.dts-mbar { display: grid; }
	body { padding-bottom: 76px; }
}
@media (prefers-reduced-motion: reduce) { * { transition: none !important; } }
