/* ==========================================================================
   UnikaWeb Studio — piezas del diseño "Studio"
   Cabeceras partidas con foto en círculo, tarjetas con icono, cifras,
   testimonios, precios, preguntas, portfolio, llamada a la acción…
   Todo usa las variables de main.css (Personalizar → UnikaWeb Studio).
   ========================================================================== */

/* Colores que se van turnando en iconos, círculos y cifras */
.ukst .ukst-tone-1 { --ukst-tone: var(--ukst-accent); }
.ukst .ukst-d-orb--1 { --ukst-tone: var(--ukst-accent); }
.ukst .ukst-tone-2 { --ukst-tone: var(--ukst-pop-1); }
.ukst .ukst-d-orb--2 { --ukst-tone: var(--ukst-pop-1); }
.ukst .ukst-tone-3 { --ukst-tone: var(--ukst-pop-2); }
.ukst .ukst-d-orb--3 { --ukst-tone: var(--ukst-pop-2); }
.ukst .ukst-tone-4 { --ukst-tone: var(--ukst-alt); }
.ukst .ukst-d-orb--4 { --ukst-tone: var(--ukst-alt); }
.ukst .ukst-tone-5 { --ukst-tone: var(--ukst-pop-3); }
.ukst .ukst-d-orb--5 { --ukst-tone: var(--ukst-pop-3); }

/* --------------------------------------------------------------------------
   Titulares de sección (módulo Texto con clase ukst-d-heading)
   ----------------------------------------------------------------------- */
.ukst .ukst-d-heading .ukst-eyebrow { margin-bottom: 18px; }
.ukst .ukst-d-title {
	margin: 0;
	padding: 0 0 .35em;
	color: var(--ukst-ink);
	font-size: var(--ukst-fs-h2);
	line-height: 1.2;
}
.ukst .ukst-d-heading h2,
.ukst .ukst-d-heading h1 { margin: 0; padding: 0 0 .35em; }
:where(.ukst) .ukst-d-heading h2,
:where(.ukst) .ukst-d-heading h1 { color: var(--ukst-ink); font-size: var(--ukst-fs-h2); line-height: 1.2; }
:where(.ukst) .ukst-d-heading h1.ukst-d-title { font-size: var(--ukst-fs-h1); line-height: 1.18; }
/* Color y tamaño del texto en el contenedor del módulo (donde los pone Divi): si los cambias en Divi, ganan */
:where(.ukst) .ukst-d-heading .et_pb_text_inner { font-size: 17px; color: var(--ukst-muted); }
.ukst .ukst-d-heading p { max-width: 58ch; margin: 0; padding: 0 0 1em; }
:where(.ukst) .ukst-d-heading p { line-height: 1.75; }
:is(html, #ukst-guard):is(html, #ukst-guard-2) .ukst .ukst-d-heading--center { margin-bottom: clamp(32px, 4vw, 56px) ; }
:where(.ukst) .ukst-d-heading--center { text-align: center; }
.ukst .ukst-d-heading--center .et_pb_text_inner { display: flex; flex-direction: column; align-items: center; }
.ukst .ukst-d-heading--center .ukst-d-title { max-width: 18ch; }
.ukst .ukst-d-heading--center p { margin-inline: auto; }

/* Botón centrado (clase ukst-d-center en el módulo Botón) */
:is(html, #ukst-guard):is(html, #ukst-guard-2) .ukst .ukst-d-center.et_pb_button_module_wrapper { margin-top: clamp(32px, 4vw, 48px) ; }
:where(.ukst) .ukst-d-center:where(.et_pb_button_module_wrapper) { text-align: center; }
.ukst .et_pb_button_module_wrapper:has(> .ukst-d-center) { margin-top: clamp(32px, 4vw, 48px) !important; }
:where(.ukst) .et_pb_button_module_wrapper:where(:has( > .ukst-d-center)) { text-align: center; }

/* Las secciones que siguen a otra parecida respiran menos */
.ukst .et_pb_section.ukst-d-tight-top { --ukst-d-pt: calc(var(--ukst-section) / 3); }

/* --------------------------------------------------------------------------
   Cabecera partida (todas las páginas): textos a la izquierda, foto a la
   derecha dentro de un círculo de color con puntos e iconos que flotan.
   ----------------------------------------------------------------------- */
.ukst .et_pb_section.ukst-d-split--hero { --ukst-d-pt: clamp(36px, 6vw, 90px); --ukst-d-pb: clamp(48px, 7vw, 110px); }
.ukst .ukst-d .et_pb_row.ukst-d-row--split { align-items: center; }
:where(.ukst) .ukst-d-hero__text .et_pb_text_inner { font-size: 18px; }
.ukst .ukst-d-split .ukst-d-hero__text h1 .ukst-hl { display: inline; }
/* Botones en línea */
.ukst .ukst-d-split--hero .et_pb_column:first-child .et_pb_button_module_wrapper,
.ukst .ukst-d-cta .et_pb_column:last-child .et_pb_button_module_wrapper { display: inline-flex; vertical-align: middle; }
:is(html, #ukst-guard):is(html, #ukst-guard-2) .ukst .ukst-d-split--hero .et_pb_column:first-child .et_pb_button_module_wrapper,
:is(html, #ukst-guard):is(html, #ukst-guard-2) .ukst .ukst-d-cta .et_pb_column:last-child .et_pb_button_module_wrapper { margin: 26px 22px 0 0 ; }
.ukst .ukst-d-split--hero .et_pb_column:first-child { animation: ukst-rise 1s var(--ukst-ease) both; }

/* Círculo */
.ukst .ukst-d-orb { position: relative !important; width: min(100%, 520px); aspect-ratio: 1; isolation: isolate; }
:is(html, #ukst-guard):is(html, #ukst-guard-2) .ukst .ukst-d-orb { margin: 0 auto ; }
.ukst .ukst-d-orb::before {
	content: "";
	position: absolute;
	inset: 6%;
	z-index: -1;
	border-radius: 50%;
	background: radial-gradient(circle at 30% 25%, color-mix(in srgb, var(--ukst-tone, var(--ukst-accent)) 70%, #fff), var(--ukst-tone, var(--ukst-accent)) 72%);
	box-shadow: 0 40px 80px -30px color-mix(in srgb, var(--ukst-tone, var(--ukst-accent)) 70%, transparent);
	animation: ukst-orb-in 1.2s var(--ukst-ease) both;
}
/* Rejilla de puntos */
.ukst .ukst-d-orb::after {
	content: "";
	position: absolute;
	top: 2%;
	left: -4%;
	z-index: -2;
	width: 44%;
	height: 32%;
	background: radial-gradient(circle, var(--ukst-pop-2) 3.2px, transparent 3.8px) 0 0 / 22px 22px;
	opacity: .85;
	animation: ukst-drift 7s ease-in-out infinite alternate;
}
.ukst .ukst-d-orb--2::after,
.ukst .ukst-d-orb--4::after { left: auto; right: -4%; top: auto; bottom: 4%; background-image: radial-gradient(circle, var(--ukst-alt) 3.2px, transparent 3.8px); }
.ukst .ukst-d-orb--3::after { background-image: radial-gradient(circle, var(--ukst-pop-1) 3.2px, transparent 3.8px); }
.ukst .ukst-d-orb .et_pb_image_wrap,
.ukst .ukst-d-orb .et_pb_text_inner { display: block; width: 100%; height: 100%; }
/* La foto: si es un recorte (PNG transparente) sobresale del círculo; si es una foto normal, se recorta en círculo */
.ukst .ukst-d-orb img { display: block; width: 100%; height: 100% !important; object-fit: contain; filter: drop-shadow(0 30px 30px rgba(42, 45, 52, .18)); animation: ukst-float 6s ease-in-out infinite alternate; }
.ukst .ukst-d-orb img:not([src$=".png"]):not([src$=".webp"]) { width: 88% !important; height: 88% !important; margin: 6%; object-fit: cover; filter: none; animation: none; }
:where(.ukst) .ukst-d-orb img:not([src$=".png"]):not([src$=".webp"]) { border-radius: 50%; }
/* Iconos flotantes */
.ukst .ukst-d-orb .et_pb_image_wrap::before,
.ukst .ukst-d-orb .et_pb_image_wrap::after,
.ukst .ukst-d-orb .et_pb_text_inner::before,
.ukst .ukst-d-orb .et_pb_text_inner::after {
	content: "";
	position: absolute;
	z-index: 2;
	width: clamp(64px, 8vw, 104px);
	aspect-ratio: 1;
	border-radius: 50%;
	background: var(--ukst-alt) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M9 18h6M10 21h4M12 3a6 6 0 0 0-3.6 10.8c.6.5 1 1.2 1 2V16h5.2v-.2c0-.8.4-1.5 1-2A6 6 0 0 0 12 3Z'/%3E%3C/svg%3E") center / 46% no-repeat;
	box-shadow: 0 18px 40px -14px color-mix(in srgb, var(--ukst-alt) 80%, transparent);
	animation: ukst-bob 4.5s ease-in-out infinite alternate;
}
.ukst .ukst-d-orb .et_pb_image_wrap::before,
.ukst .ukst-d-orb .et_pb_text_inner::before { top: 0; right: 2%; }
.ukst .ukst-d-orb .et_pb_image_wrap::after,
.ukst .ukst-d-orb .et_pb_text_inner::after {
	left: 0;
	bottom: 14%;
	width: clamp(56px, 6.6vw, 86px);
	background-color: var(--ukst-pop-1);
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='white'%3E%3Cpath d='M8 5.5v13l10.5-6.5z'/%3E%3C/svg%3E");
	box-shadow: 0 18px 40px -14px color-mix(in srgb, var(--ukst-pop-1) 80%, transparent);
	animation-delay: -2s;
}
.ukst .ukst-d-orb--2 .et_pb_image_wrap::before { background-color: var(--ukst-pop-2); box-shadow: 0 18px 40px -14px color-mix(in srgb, var(--ukst-pop-2) 80%, transparent); background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='9' r='5'/%3E%3Cpath d='m9 13-1.5 8L12 18.5 16.5 21 15 13'/%3E%3C/svg%3E"); }
.ukst .ukst-d-orb--2 .et_pb_image_wrap::after { display: none; }
.ukst .ukst-d-orb--3 .et_pb_image_wrap::before { background-color: var(--ukst-accent); box-shadow: 0 18px 40px -14px color-mix(in srgb, var(--ukst-accent) 80%, transparent); background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='4' width='18' height='16' rx='2'/%3E%3Cpath d='M7 8h6M7 12h10M7 16h4'/%3E%3C/svg%3E"); }
.ukst .ukst-d-orb--3 .et_pb_image_wrap::after { background-color: var(--ukst-alt); background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='white'%3E%3Cpath d='M5 3l14 8-6 1.5L10 19z'/%3E%3C/svg%3E"); box-shadow: 0 18px 40px -14px color-mix(in srgb, var(--ukst-alt) 80%, transparent); }
.ukst .ukst-d-orb--4 .et_pb_image_wrap::before { background-color: var(--ukst-pop-3); box-shadow: 0 18px 40px -14px color-mix(in srgb, var(--ukst-pop-3) 80%, transparent); background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 19V9M10 19V5M16 19v-7M22 19H2'/%3E%3C/svg%3E"); }
.ukst .ukst-d-orb--4 .et_pb_image_wrap::after { background-color: var(--ukst-pop-2); background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m3 17 6-6 4 4 8-8'/%3E%3C/svg%3E"); box-shadow: 0 18px 40px -14px color-mix(in srgb, var(--ukst-pop-2) 80%, transparent); }
.ukst .ukst-d-orb--5 .et_pb_image_wrap::before { background-color: var(--ukst-pop-1); }
.ukst .ukst-d-orb__empty { display: block; width: 100%; height: 100%; }

@keyframes ukst-orb-in { from { transform: scale(.6); opacity: 0; } }
@keyframes ukst-float { to { transform: translateY(-14px); } }
@keyframes ukst-bob { to { transform: translateY(-12px) rotate(4deg); } }

/* Tarjeta flotante sobre la foto (módulo Texto con clase ukst-d-float-card) */
.ukst .ukst-d-split .et_pb_column:last-child { position: relative; }
.ukst .ukst-d-float-card { position: absolute !important; right: 0; bottom: 4%; z-index: 3; max-width: 270px; -webkit-backdrop-filter: blur(12px); backdrop-filter: blur(12px); animation: ukst-rise 1s var(--ukst-ease) .5s both; }
:is(html, #ukst-guard) .ukst .ukst-d-float-card { padding: 18px 22px 18px 72px; }
:is(html, #ukst-guard):is(html, #ukst-guard-2) .ukst .ukst-d-float-card { margin: 0 ; }
:where(.ukst) .ukst-d-float-card { border-radius: 18px; background: color-mix(in srgb, var(--ukst-surface) 88%, transparent); box-shadow: var(--ukst-shadow); }
.ukst .ukst-d-float-card::before {
	content: "";
	position: absolute;
	left: 18px;
	top: 50%;
	width: 40px;
	height: 40px;
	margin-top: -20px;
	border-radius: 50%;
	background: var(--ukst-accent) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m12 3 2.6 5.3 5.9.9-4.3 4.1 1 5.8L12 16.4 6.8 19.1l1-5.8L3.5 9.2l5.9-.9z'/%3E%3C/svg%3E") center / 20px no-repeat;
}
.ukst .ukst-d-float-card--check::before { background-color: var(--ukst-alt); background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m5 12.5 4.5 4.5L19 7.5'/%3E%3C/svg%3E"); }
:where(.ukst) .ukst-d-float-card .et_pb_text_inner { color: var(--ukst-muted); font-size: 14px; }
.ukst .ukst-d-float-card p { margin: 0; padding: 0; }
:where(.ukst) .ukst-d-float-card p { line-height: 1.45; }
.ukst .ukst-d-float-card strong { display: block; }
:where(.ukst) .ukst-d-float-card strong { color: var(--ukst-ink); font-size: 16px; }

/* --------------------------------------------------------------------------
   Tarjetas con icono (módulo Propaganda/Blurb de Divi)
   ----------------------------------------------------------------------- */
.ukst .et_pb_blurb.ukst-d-blurb { --ukst-tone: var(--ukst-pop-1); }
.ukst .ukst-d-blurb .et_pb_main_blurb_image { margin-bottom: 22px; }
.ukst .ukst-d-blurb .et_pb_main_blurb_image .et_pb_image_wrap { display: inline-block; }
.ukst .ukst-d-blurb .et-pb-icon { display: inline-grid !important; place-items: center; width: 84px; height: 84px; transition: transform .6s var(--ukst-ease); }
:where(.ukst) .ukst-d-blurb .et-pb-icon { border-radius: 50%; background: radial-gradient(circle at 30% 25%, color-mix(in srgb, var(--ukst-tone) 55%, #fff), var(--ukst-tone) 70%); color: #fff ; font-size: 34px ; box-shadow: 0 16px 32px -14px color-mix(in srgb, var(--ukst-tone) 90%, transparent); }
.ukst .ukst-d-blurb:hover .et-pb-icon { transform: rotate(-10deg) scale(1.06); }
.ukst .ukst-d-blurb .et_pb_module_header,
.ukst .ukst-d-blurb h4 { padding: 0 0 6px; }
:where(.ukst) .ukst-d-blurb .et_pb_module_header,
:where(.ukst) .ukst-d-blurb h4 { color: var(--ukst-ink); font-size: 18px; line-height: 1.3; }
:where(.ukst) .ukst-d-blurb .et_pb_blurb_description { color: var(--ukst-muted); font-size: 15px; }
.ukst .ukst-d-blurb .et_pb_blurb_description p { margin: 0; padding: 0; }
:where(.ukst) .ukst-d-blurb .et_pb_blurb_description p { line-height: 1.65; }
/* Filas en rejilla (cifras, testimonios, pasos…): las columnas ocupan su celda, no el ancho de Divi */
.ukst .ukst-d .et_pb_row.ukst-d-row--cols > .et_pb_column { width: auto !important; max-width: none !important; flex: none !important; margin: 0 !important; }

/* Turno de colores */
.ukst .et_pb_column > .ukst-d-blurb:nth-child(4n + 2),
.ukst .et_pb_column:nth-child(2) > .ukst-d-blurb:first-child { --ukst-tone: var(--ukst-pop-2); }
.ukst .et_pb_column > .ukst-d-blurb:nth-child(4n + 3) { --ukst-tone: var(--ukst-alt); }
.ukst .et_pb_column > .ukst-d-blurb:nth-child(4n + 4) { --ukst-tone: var(--ukst-pop-3); }
.ukst .et_pb_column:nth-child(2) > .ukst-d-blurb:nth-child(2) { --ukst-tone: var(--ukst-pop-3); }
.ukst .ukst-d-row--cols > .et_pb_column:nth-child(2) > .ukst-d-blurb:first-child { --ukst-tone: var(--ukst-alt); }
.ukst .ukst-d-row--cols > .et_pb_column:nth-child(2) > .ukst-d-blurb:nth-child(2) { --ukst-tone: var(--ukst-pop-3); }

/* Cuatro tarjetas escalonadas (2×2) en la portada */
.ukst .ukst-d-cards4 > .et_pb_column:first-child {
	display: grid !important;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: clamp(16px, 2vw, 28px);
	align-items: start;
}
.ukst .ukst-d-cards4 > .et_pb_column:first-child > .ukst-d-blurb { transition: transform .6s var(--ukst-ease), box-shadow .6s var(--ukst-ease); }
:is(html, #ukst-guard) .ukst .ukst-d-cards4 > .et_pb_column:first-child > .ukst-d-blurb { padding: clamp(26px, 3vw, 40px) 22px; }
:is(html, #ukst-guard):is(html, #ukst-guard-2) .ukst .ukst-d-cards4 > .et_pb_column:first-child > .ukst-d-blurb { margin: 0 ; }
:where(.ukst .ukst-d-cards4> .et_pb_column:first-child) > .ukst-d-blurb { border-radius: var(--ukst-radius); background: var(--ukst-surface); box-shadow: var(--ukst-shadow); text-align: center; }
.ukst .ukst-d-cards4 > .et_pb_column:first-child > .ukst-d-blurb:nth-child(even) { transform: translateY(-48px); }
.ukst .ukst-d-cards4 > .et_pb_column:first-child > .ukst-d-blurb:hover { transform: translateY(-8px); }
.ukst .ukst-d-cards4 > .et_pb_column:first-child > .ukst-d-blurb:nth-child(even):hover { transform: translateY(-56px); }
:where(.ukst .ukst-d-cards4> .et_pb_column:first-child) > .ukst-d-blurb .et_pb_module_header { font-size: 15px; }
:where(.ukst .ukst-d-cards4> .et_pb_column:first-child) > .ukst-d-blurb .et_pb_blurb_container { text-align: center; }
.ukst .ukst-d-features .ukst-d-cards4 { --ukst-d-rt: 48px; }
.ukst .ukst-d-cards4 > .et_pb_column:first-child .ukst-d-blurb .et_pb_blurb_content { max-width: none; }
/* Variante plana (Tarifas: tarjetas con borde inferior de color, icono pequeño a la izquierda) */
.ukst .ukst-d-cards4--flat > .et_pb_column:last-child {
	display: grid !important;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: clamp(16px, 2vw, 28px);
}
.ukst .ukst-d-cards4--flat > .et_pb_column:first-child { display: block !important; }
.ukst .ukst-d-blurb--card { transition: transform .5s var(--ukst-ease); }
:is(html, #ukst-guard) .ukst .ukst-d-blurb--card { padding: 30px 28px; }
:is(html, #ukst-guard):is(html, #ukst-guard-2) .ukst .ukst-d-blurb--card { margin: 0 ; }
:where(.ukst) .ukst-d-blurb--card { border-radius: var(--ukst-radius); border-bottom: 4px solid var(--ukst-tone); background: var(--ukst-surface); box-shadow: var(--ukst-shadow); }
.ukst .ukst-d-blurb--card:hover { transform: translateY(-6px); }
.ukst .ukst-d-blurb--card .et_pb_blurb_content { max-width: none; }
:where(.ukst) .ukst-d-blurb--card .et_pb_blurb_content { text-align: left; }
.ukst .ukst-d-blurb--card .et-pb-icon { width: 56px; height: 56px; }
:where(.ukst) .ukst-d-blurb--card .et-pb-icon { font-size: 24px ; }
.ukst .ukst-d-blurb--card .et_pb_main_blurb_image { margin-bottom: 16px; }
:where(.ukst) .ukst-d-blurb--card .et_pb_main_blurb_image { text-align: left; }

/* Tarjetas horizontales (icono a la izquierda): Servicios */
.ukst .ukst-d-blurb--row { transition: transform .5s var(--ukst-ease); }
:is(html, #ukst-guard) .ukst .ukst-d-blurb--row { padding: 26px 28px; }
:is(html, #ukst-guard):is(html, #ukst-guard-2) .ukst .ukst-d-blurb--row { margin: 0 0 clamp(16px, 2vw, 28px) ; }
:where(.ukst) .ukst-d-blurb--row { border-radius: var(--ukst-radius); background: var(--ukst-surface); box-shadow: var(--ukst-shadow); }
.ukst .ukst-d-blurb--row:hover { transform: translateY(-5px); }
.ukst .ukst-d-blurb--row .et_pb_blurb_content { display: flex; align-items: center; gap: 24px; max-width: none; }
:where(.ukst) .ukst-d-blurb--row .et_pb_blurb_content { text-align: left; }
.ukst .ukst-d-blurb--row .et_pb_main_blurb_image { flex: 0 0 auto; margin: 0; }
:where(.ukst) .ukst-d-blurb--row .et_pb_module_header { color: var(--ukst-tone); font-size: 20px; }

/* Pasos (Servicios): número gigante en un círculo de color sobre la tarjeta */
.ukst .ukst-d-steps .ukst-d-row--cols { counter-reset: ukst-step; display: grid !important; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.ukst .ukst-d-step { counter-increment: ukst-step; position: relative; }
:is(html, #ukst-guard) .ukst .ukst-d-step { padding: 92px 28px 32px; }
:is(html, #ukst-guard):is(html, #ukst-guard-2) .ukst .ukst-d-step { margin: 70px 0 0 ; }
:where(.ukst) .ukst-d-step { border-radius: var(--ukst-radius); background: var(--ukst-surface); box-shadow: var(--ukst-shadow); text-align: center; }
.ukst .ukst-d-step::before {
	content: counter(ukst-step, decimal-leading-zero);
	position: absolute;
	top: -64px;
	left: 50%;
	display: grid;
	place-items: center;
	width: 140px;
	height: 140px;
	margin-left: -70px;
	border-radius: 50%;
	background: radial-gradient(circle at 30% 25%, color-mix(in srgb, var(--ukst-tone) 55%, #fff), var(--ukst-tone) 72%);
	color: #fff;
	font-family: var(--ukst-font-display);
	font-size: 54px;
	font-weight: 800;
	letter-spacing: -.03em;
	box-shadow: 0 20px 40px -18px color-mix(in srgb, var(--ukst-tone) 90%, transparent);
	transition: transform .6s var(--ukst-ease);
}
.ukst .ukst-d-step:hover::before { transform: translateY(-6px) rotate(-6deg); }
.ukst .ukst-d-step .et_pb_main_blurb_image { display: none; }
.ukst .ukst-d-step .et_pb_blurb_content { max-width: none; }
.ukst .ukst-d-steps .ukst-d-row--cols > .et_pb_column:nth-child(4n + 1) .ukst-d-step { --ukst-tone: var(--ukst-pop-2); }
.ukst .ukst-d-steps .ukst-d-row--cols > .et_pb_column:nth-child(4n + 2) .ukst-d-step { --ukst-tone: var(--ukst-pop-1); }
.ukst .ukst-d-steps .ukst-d-row--cols > .et_pb_column:nth-child(4n + 3) .ukst-d-step { --ukst-tone: var(--ukst-alt); }
.ukst .ukst-d-steps .ukst-d-row--cols > .et_pb_column:nth-child(4n + 4) .ukst-d-step { --ukst-tone: var(--ukst-pop-3); }
.ukst .ukst-d-step { height: calc(100% - 70px); }
.ukst .ukst-d-steps .ukst-d-row--cols { gap: 24px clamp(20px, 3vw, 40px) !important; }

/* --------------------------------------------------------------------------
   Barras de progreso (módulo Contadores de barras)
   ----------------------------------------------------------------------- */
:is(html, #ukst-guard):is(html, #ukst-guard-2) .ukst .ukst-d-bars { margin-top: 18px ; }
.ukst .ukst-d-bars .et_pb_counter_title { display: block; margin-bottom: 8px; }
:where(.ukst) .ukst-d-bars .et_pb_counter_title { color: var(--ukst-ink); font-size: 15px; font-weight: 600; }
.ukst .ukst-d-bars .et_pb_counter_container { position: relative; height: 12px; margin-bottom: 22px !important; overflow: visible; }
:where(.ukst) .ukst-d-bars .et_pb_counter_container { border-radius: 99px; background: var(--ukst-line) ; }
.ukst .ukst-d-bars .et_pb_counter_amount { overflow: visible !important; position: relative; height: 12px; padding: 0 !important; }
:where(.ukst) .ukst-d-bars .et_pb_counter_amount { border-radius: 99px; background-image: linear-gradient(90deg, var(--ukst-pop-1), transparent) ; line-height: 1; }
.ukst .ukst-d-bars .et_pb_counter_amount_number_inner { display: inline; opacity: 1 !important; visibility: visible !important; }
.ukst .ukst-d-bars .et_pb_counter_amount_number { opacity: 1 !important; width: auto !important; position: absolute; right: -4px; top: -32px; padding: 4px 8px; }
:where(.ukst) .ukst-d-bars .et_pb_counter_amount_number { border-radius: 8px; background: var(--ukst-ink); color: #fff; font-size: 12px; font-weight: 700; line-height: 1.2; }
.ukst .ukst-d-bars .et_pb_counter_amount.overlay { display: none; }

/* --------------------------------------------------------------------------
   Cifras (módulo Contador de números): icono redondo de color encima
   ----------------------------------------------------------------------- */
.ukst .ukst-d-numbers .ukst-d-row--cols { display: grid !important; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: clamp(16px, 2vw, 28px) !important; }
.ukst .ukst-d-number { --ukst-tone: var(--ukst-pop-1); --ukst-ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round'%3E%3Ccircle cx='12' cy='12' r='8'/%3E%3Ccircle cx='12' cy='12' r='3.2'/%3E%3Cpath d='M12 1v4M12 19v4M1 12h4M19 12h4'/%3E%3C/svg%3E"); }
:where(.ukst) .ukst-d-number { text-align: center; }
.ukst .ukst-d-numbers .et_pb_column:nth-child(2) .ukst-d-number { --ukst-tone: var(--ukst-alt); --ukst-ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linejoin='round'%3E%3Crect x='3' y='7' width='18' height='13' rx='2'/%3E%3Cpath d='M9 7V5a1 1 0 0 1 1-1h4a1 1 0 0 1 1 1v2M3 12h18'/%3E%3C/svg%3E"); }
.ukst .ukst-d-numbers .et_pb_column:nth-child(3) .ukst-d-number { --ukst-tone: var(--ukst-pop-2); --ukst-ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M7 4h10v5a5 5 0 0 1-10 0z'/%3E%3Cpath d='M7 6H4v2a3 3 0 0 0 3 3M17 6h3v2a3 3 0 0 1-3 3M12 14v4M8 21h8'/%3E%3C/svg%3E"); }
.ukst .ukst-d-numbers .et_pb_column:nth-child(4) .ukst-d-number { --ukst-tone: var(--ukst-accent); --ukst-ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round'%3E%3Ccircle cx='12' cy='8' r='4'/%3E%3Cpath d='M4 21c1.2-4 4.2-6 8-6s6.8 2 8 6'/%3E%3C/svg%3E"); }
.ukst .ukst-d-number::before {
	content: "";
	display: block;
	width: 92px;
	height: 92px;
	margin: 0 auto 18px;
	border-radius: 50%;
	background: radial-gradient(circle at 30% 25%, color-mix(in srgb, var(--ukst-tone) 55%, #fff), var(--ukst-tone) 70%);
	box-shadow: 0 16px 32px -14px color-mix(in srgb, var(--ukst-tone) 90%, transparent);
}
.ukst .ukst-d-number::after {
	content: "";
	position: absolute;
	top: 26px;
	left: 50%;
	width: 40px;
	height: 40px;
	margin-left: -20px;
	background: #fff;
	-webkit-mask: var(--ukst-ico) center / contain no-repeat;
	mask: var(--ukst-ico) center / contain no-repeat;
}
.ukst .ukst-d-number { position: relative; }
.ukst .ukst-d-number .percent { height: auto !important; margin: 0; }
:where(.ukst) .ukst-d-number .percent p,
:where(.ukst) .ukst-d-number .percent-value,
:where(.ukst) .ukst-d-number .percent-sign { color: var(--ukst-tone) ; font-family: var(--ukst-font-display); font-size: clamp(44px, 5vw, 64px) ; font-weight: 800; line-height: 1.1 ; }
.ukst .ukst-d-number h3,
.ukst .ukst-d-number .title { padding: 4px 0 0; }
:where(.ukst) .ukst-d-number h3,
:where(.ukst) .ukst-d-number .title { color: var(--ukst-ink); font-size: 15px; font-weight: 600; }

/* --------------------------------------------------------------------------
   Testimonios (módulo Testimonio): tarjeta con la foto redonda arriba
   ----------------------------------------------------------------------- */
.ukst .ukst-d-testimonials .ukst-d-row--cols { display: grid !important; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(16px, 2vw, 28px) !important; --ukst-d-rt: 72px; }
.ukst .ukst-d-testimonial { display: flex !important; flex-direction: column; align-items: center; height: 100%; transition: transform .5s var(--ukst-ease); }
:is(html, #ukst-guard):is(html, #ukst-guard-2) .ukst .ukst-d-testimonial { margin: 0 ; padding: 0 28px 32px ; }
:where(.ukst) .ukst-d-testimonial { border-radius: var(--ukst-radius); background: var(--ukst-surface) ; box-shadow: var(--ukst-shadow); text-align: center; }
.ukst .ukst-d-testimonial:hover { transform: translateY(-6px); }
/* Foto asomando por arriba de la tarjeta y el texto justo debajo */
.ukst .ukst-d-testimonial .et_pb_testimonial_inner { display: flex; flex-direction: column; align-items: center; width: 100%; }
.ukst .ukst-d-testimonial .et_pb_testimonial_portrait { position: relative !important; inset: auto !important; flex: 0 0 auto; width: 108px !important; height: 108px !important; margin: -54px auto 16px !important; overflow: hidden; float: none !important; }
:where(.ukst) .ukst-d-testimonial .et_pb_testimonial_portrait { border: 6px solid var(--ukst-surface); border-radius: 50% ; background-size: cover; box-shadow: var(--ukst-shadow-sm); }
.ukst .ukst-d-testimonial .et_pb_testimonial_portrait img { display: block; width: 100%; height: 100% !important; object-fit: cover; }
:where(.ukst) .ukst-d-testimonial .et_pb_testimonial_portrait img { border-radius: 50%; }
.ukst .ukst-d-testimonial .et_pb_testimonial_description { order: 2; width: 100%; margin: 0 !important; padding: 0 !important; }
.ukst .ukst-d-testimonial .et_pb_testimonial_description_inner { width: auto !important; }
:where(.ukst) .ukst-d-testimonial .et_pb_testimonial_content { color: var(--ukst-muted); font-size: 15px; }
.ukst .ukst-d-testimonial .et_pb_testimonial_content p { padding: 0 0 12px; }
:where(.ukst) .ukst-d-testimonial .et_pb_testimonial_content p { line-height: 1.7; }
.ukst .ukst-d-testimonial .et_pb_testimonial_author { display: block; }
:where(.ukst) .ukst-d-testimonial .et_pb_testimonial_author { color: var(--ukst-accent); font-size: 17px; font-weight: 700; }
:where(.ukst) .ukst-d-testimonial .et_pb_testimonial_meta { color: var(--ukst-ink); font-size: 12px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
:where(.ukst) .ukst-d-testimonial .et_pb_testimonial_meta a { color: inherit; }
.ukst .ukst-d-testimonial::before { display: none !important; }

/* --------------------------------------------------------------------------
   Portfolio (módulos Portafolio y Portafolio filtrable de Divi)
   ----------------------------------------------------------------------- */
.ukst .ukst-d-portfolio .et_pb_portfolio_filters { margin-bottom: clamp(28px, 4vw, 48px); }
.ukst .ukst-d-portfolio .et_pb_portfolio_filters ul { display: flex; flex-wrap: wrap; justify-content: center; gap: 10px; }
:where(.ukst) .ukst-d-portfolio .et_pb_portfolio_filters ul { border: 0 ; }
.ukst .ukst-d-portfolio .et_pb_portfolio_filters li { float: none; }
.ukst .ukst-d-portfolio .et_pb_portfolio_filters li a { display: inline-block; padding: 11px 20px !important; transition: transform .4s var(--ukst-ease), background .3s, color .3s; }
:where(.ukst) .ukst-d-portfolio.ukst-d-portfolio.et_pb_module.et_pb_filterable_portfolio .et_pb_portfolio_filters li a { border: 0 ; border-radius: 999px ; background: var(--ukst-surface) ; color: var(--ukst-ink) ; font-size: 14px; font-weight: 600; box-shadow: var(--ukst-shadow-sm); }
.ukst .ukst-d-portfolio .et_pb_portfolio_filters li a:hover { transform: translateY(-2px); }
:where(.ukst) .ukst-d-portfolio.ukst-d-portfolio.et_pb_module.et_pb_filterable_portfolio .et_pb_portfolio_filters li a:hover { color: var(--ukst-accent) ; }
:where(.ukst) .ukst-d-portfolio.ukst-d-portfolio.et_pb_module.et_pb_filterable_portfolio .et_pb_portfolio_filters li a.active { background: var(--ukst-accent) ; color: var(--ukst-accent-ink) ; }
.ukst .ukst-d-portfolio .et_pb_portfolio_items,
.ukst .ukst-d-portfolio .et_grid_module,
.ukst .ukst-d-portfolio .et_pb_portfolio_grid_items { display: grid !important; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(18px, 2.4vw, 32px); height: auto !important; }
.ukst .ukst-d-portfolio .et_pb_portfolio_item,
.ukst .ukst-d-portfolio .et_pb_grid_item { position: relative !important; inset: auto !important; width: auto !important; margin: 0 !important; padding: 14px 14px 22px !important; float: none !important; clear: none !important; transition: transform .5s var(--ukst-ease), box-shadow .5s var(--ukst-ease); }
:where(.ukst) .ukst-d-portfolio .et_pb_portfolio_item,
:where(.ukst) .ukst-d-portfolio .et_pb_grid_item { border-radius: var(--ukst-radius); background: var(--ukst-surface); box-shadow: var(--ukst-shadow); }
.ukst .ukst-d-portfolio .et_pb_portfolio_item.inactive { display: none !important; }
.ukst .ukst-d-portfolio .et_pb_portfolio_item:hover { transform: translateY(-8px); }
:where(.ukst) .ukst-d-portfolio .et_pb_portfolio_item:hover { box-shadow: 0 30px 60px -24px rgba(42, 45, 52, .3); }
.ukst .ukst-d-portfolio .et_portfolio_image { display: block; overflow: hidden; }
:where(.ukst) .ukst-d-portfolio .et_portfolio_image { border-radius: calc(var(--ukst-radius) - 6px); }
.ukst .ukst-d-portfolio .et_portfolio_image img { display: block; width: 100%; aspect-ratio: 4 / 3; object-fit: cover; transition: transform 1s var(--ukst-ease); }
.ukst .ukst-d-portfolio .et_pb_portfolio_item:hover .et_portfolio_image img { transform: scale(1.06); }
:where(.ukst) .ukst-d-portfolio .et_overlay { border: 0 ; border-radius: calc(var(--ukst-radius) - 6px); background: color-mix(in srgb, var(--ukst-accent) 55%, transparent) ; }
.ukst .ukst-d-portfolio .et_overlay::before {
	content: "" !important;
	top: 50% !important;
	left: 50% !important;
	width: 64px;
	height: 64px;
	margin: -32px 0 0 -32px !important;
	border-radius: 50%;
	background: #fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ff8600' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M7 17 17 7M8 7h9v9'/%3E%3C/svg%3E") center / 24px no-repeat;
	transform: translate(0, 0) scale(.6) !important;
	transition: transform .4s var(--ukst-ease) !important;
}
.ukst .ukst-d-portfolio .et_pb_portfolio_item:hover .et_overlay::before { transform: translate(0, 0) scale(1) !important; }
.ukst .ukst-d-portfolio .et_pb_module_header,
.ukst .ukst-d-portfolio h2,
.ukst .ukst-d-portfolio h3 { margin: 18px 6px 2px; padding: 0; }
:where(.ukst) .ukst-d-portfolio .et_pb_portfolio_item .et_pb_module_header,
:where(.ukst) .ukst-d-portfolio .et_pb_portfolio_item h2,
:where(.ukst) .ukst-d-portfolio h3 { font-size: 19px ; line-height: 1.3; }
:where(.ukst) .ukst-d-portfolio .et_pb_portfolio_item .et_pb_module_header a { color: var(--ukst-ink); }
.ukst .ukst-d-portfolio .post-meta { margin: 0 6px; padding: 0; }
:where(.ukst) .ukst-d-portfolio .et_pb_portfolio_item .post-meta { color: var(--ukst-muted); font-size: 13px; }
:where(.ukst) .ukst-d-portfolio .et_pb_portfolio_item .post-meta a { color: var(--ukst-accent); font-weight: 600; }
.ukst .ukst-d-portfolio .et_pb_portofolio_pagination ul,
.ukst .ukst-d-portfolio .et_pb_portfolio_pagination ul { display: flex; justify-content: center; gap: 8px; }
:where(.ukst) .ukst-d-portfolio .et_pb_portofolio_pagination ul,
:where(.ukst) .ukst-d-portfolio .et_pb_portfolio_pagination ul { border: 0; }
.ukst .ukst-d-portfolio .et_pb_portofolio_pagination a,
.ukst .ukst-d-portfolio .et_pb_portfolio_pagination a { display: grid; place-items: center; min-width: 44px; height: 44px; }
:where(.ukst) .ukst-d-portfolio .et_pb_portofolio_pagination a,
:where(.ukst) .ukst-d-portfolio .et_pb_portfolio_pagination a { border-radius: 12px; background: var(--ukst-surface); color: var(--ukst-ink); box-shadow: var(--ukst-shadow-sm); }
:where(.ukst) .ukst-d-portfolio .et_pb_portofolio_pagination a.active,
:where(.ukst) .ukst-d-portfolio .et_pb_portfolio_pagination a.active { background: var(--ukst-accent); color: #fff; }

/* --------------------------------------------------------------------------
   Servicios: foto en tarjeta + texto con una palabra gigante de fondo
   ----------------------------------------------------------------------- */
.ukst .ukst-d-photo .et_pb_image_wrap { display: block; overflow: hidden; transform: rotate(-2deg); transition: transform .8s var(--ukst-ease); }
:where(.ukst) .ukst-d-photo .et_pb_image_wrap { border-radius: calc(var(--ukst-radius) + 6px); box-shadow: var(--ukst-shadow); }
.ukst .ukst-d-service--reverse .ukst-d-photo .et_pb_image_wrap { transform: rotate(2deg); }
.ukst .ukst-d-photo:hover .et_pb_image_wrap { transform: none; }
.ukst .ukst-d-photo img { display: block; width: 100%; aspect-ratio: 4 / 3.4; object-fit: cover; }
.ukst .ukst-d-ghost { display: block; -webkit-text-stroke: 1.5px color-mix(in srgb, var(--ukst-ink) 14%, transparent); white-space: nowrap; overflow: hidden; pointer-events: none; user-select: none; }
:is(html, #ukst-guard) .ukst .ukst-d-ghost { margin-bottom: -.55em; }
:where(.ukst) .ukst-d-ghost { color: transparent; font-family: var(--ukst-font-display); font-size: clamp(36px, 4.6vw, 72px); font-weight: 800; line-height: 1; letter-spacing: -.03em; }
.ukst .ukst-d-service .et_pb_section,
.ukst .et_pb_section.ukst-d-service { --ukst-d-pt: calc(var(--ukst-section) / 2); --ukst-d-pb: calc(var(--ukst-section) / 2); }

/* --------------------------------------------------------------------------
   Tablas de precios (módulo Tablas de precios)
   ----------------------------------------------------------------------- */
.ukst .ukst-d-prices.et_pb_pricing,
.ukst .et_pb_pricing.ukst-d-prices { display: grid !important; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(18px, 2.4vw, 32px); align-items: center; }
.ukst .ukst-d-prices .et_pb_pricing_table_wrap { display: grid !important; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(18px, 2.4vw, 32px); align-items: center; }
.ukst .ukst-d-prices .et_pb_pricing_table { position: relative; width: auto !important; overflow: hidden; float: none !important; transition: transform .5s var(--ukst-ease); }
:is(html, #ukst-guard):is(html, #ukst-guard-2) .ukst .ukst-d-prices .et_pb_pricing_table { margin: 0 ; padding: 0 0 34px ; }
:where(.ukst .ukst-d-prices) .et_pb_pricing_table { border: 0 ; border-radius: calc(var(--ukst-radius) + 6px) ; background: var(--ukst-surface) ; box-shadow: var(--ukst-shadow); text-align: center; }
.ukst .ukst-d-prices .et_pb_pricing_table:hover { transform: translateY(-8px); }
.ukst .ukst-d-prices .et_pb_featured_table { z-index: 2; transform: scale(1.04); }
:is(html, #ukst-guard):is(html, #ukst-guard-2) .ukst .ukst-d-prices .et_pb_featured_table { padding-bottom: 48px ; }
:where(.ukst .ukst-d-prices) .et_pb_featured_table { background: linear-gradient(160deg, var(--ukst-accent), var(--ukst-pop-1)) ; box-shadow: 0 40px 70px -30px color-mix(in srgb, var(--ukst-accent) 90%, transparent); }
.ukst .ukst-d-prices .et_pb_featured_table:hover { transform: scale(1.04) translateY(-8px); }
.ukst .ukst-d-prices .et_pb_pricing_heading { padding: 34px 24px 6px !important; }
:where(.ukst) .ukst-d-prices .et_pb_pricing_heading { background: none ; border: 0 ; }
.ukst .ukst-d-prices .et_pb_pricing_title { padding: 0 !important; }
:where(.ukst) .ukst-d-prices .et_pb_pricing_title { color: var(--ukst-ink) ; font-size: 24px ; font-weight: 800; letter-spacing: .04em; text-transform: uppercase; }
.ukst .ukst-d-prices .et_pb_best_value { display: block; margin-top: 4px; }
:where(.ukst) .ukst-d-prices .et_pb_best_value { color: var(--ukst-muted) ; font-size: 14px ; }
.ukst .ukst-d-prices .et_pb_pricing_content_top { padding: 14px 24px 22px !important; }
:where(.ukst) .ukst-d-prices .et_pb_pricing_content_top { border: 0 ; }
.ukst .ukst-d-prices .et_pb_et_price { display: inline-flex; align-items: flex-start; gap: 4px; }
:where(.ukst) .ukst-d-prices .et_pb_et_price { color: var(--ukst-ink) ; }
:where(.ukst) .ukst-d-prices .et_pb_sum { font-family: var(--ukst-font-display); font-size: 64px ; font-weight: 800; line-height: 1 ; color: inherit ; letter-spacing: -.03em; }
.ukst .ukst-d-prices .et_pb_dollar_sign { position: static !important; top: auto !important; left: auto !important; margin: 8px 6px 0 0 !important; }
:where(.ukst) .ukst-d-prices .et_pb_dollar_sign { font-size: 26px ; font-weight: 700; line-height: 1 ; color: inherit ; }
.ukst .ukst-d-prices .et_pb_sum { order: 2; }
.ukst .ukst-d-prices .et_pb_dollar_sign { order: 1; }
.ukst .ukst-d-prices .et_pb_frequency { order: 4; }
/* En español el símbolo va detrás del importe: 49 €/mes */
html[lang^="es"] .ukst .ukst-d-prices .et_pb_dollar_sign { order: 3; margin: 8px 2px 0 6px !important; }
.ukst .ukst-d-prices .et_pb_frequency { align-self: flex-end; margin-bottom: 8px; }
:where(.ukst) .ukst-d-prices .et_pb_frequency { font-size: 15px ; color: var(--ukst-muted) ; }
.ukst .ukst-d-prices .et_pb_pricing_content { padding: 0 32px 24px !important; }
.ukst .ukst-d-prices ul.et_pb_pricing { margin: 0 !important; padding: 0 !important; }
:where(.ukst) .ukst-d-prices ul.et_pb_pricing { text-align: left; }
.ukst .ukst-d-prices :where(ul).et_pb_pricing li { position: relative; padding: 10px 0 10px 32px !important; }
:where(.ukst) .ukst-d-prices :where(ul).et_pb_pricing li { border-top: 1px solid var(--ukst-line); color: var(--ukst-ink) ; font-size: 15px; line-height: 1.4; }
.ukst .ukst-d-prices ul.et_pb_pricing li::before {
	content: "" !important;
	position: absolute;
	left: 0 !important;
	top: 12px !important;
	width: 20px;
	height: 20px;
	border: 0 !important;
	border-radius: 50%;
	background: var(--ukst-alt) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m5 12.5 4.5 4.5L19 7.5'/%3E%3C/svg%3E") center / 12px no-repeat;
}
.ukst .ukst-d-prices :where(ul).et_pb_pricing li:where(.et_pb_not_available) { opacity: .7; }
:where(.ukst) .ukst-d-prices :where(ul).et_pb_pricing li:where(.et_pb_not_available) { color: var(--ukst-muted) ; text-decoration: line-through; }
.ukst .ukst-d-prices ul.et_pb_pricing li.et_pb_not_available::before { background-color: var(--ukst-line); background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23767884' stroke-width='3' stroke-linecap='round'%3E%3Cpath d='M7 7l10 10M17 7 7 17'/%3E%3C/svg%3E"); }
:where(.ukst .ukst-d-prices) .et_pb_featured_table .et_pb_pricing_title,
:where(.ukst .ukst-d-prices) .et_pb_featured_table .et_pb_best_value,
:where(.ukst .ukst-d-prices) .et_pb_featured_table .et_pb_et_price,
:where(.ukst .ukst-d-prices) .et_pb_featured_table .et_pb_frequency,
:where(.ukst .ukst-d-prices) .et_pb_featured_table ul.et_pb_pricing li { color: #fff ; }
:where(.ukst .ukst-d-prices) .et_pb_featured_table ul.et_pb_pricing li { border-color: rgba(255, 255, 255, .22); }
.ukst .ukst-d-prices .et_pb_featured_table ul.et_pb_pricing li::before { background-color: rgba(255, 255, 255, .25); }
.ukst .ukst-d-prices .et_pb_featured_table .et_pb_best_value::before { content: "★ "; }
:where(.ukst) .ukst-d-prices .et_pb_pricing_table_button { margin-top: 6px; }
:where(.ukst .ukst-d-prices) .et_pb_featured_table .et_pb_pricing_table_button { background: #fff ; color: var(--ukst-accent) !important; box-shadow: 0 14px 30px -14px rgba(0, 0, 0, .4); }

/* --------------------------------------------------------------------------
   Preguntas frecuentes (módulo Acordeón)
   ----------------------------------------------------------------------- */
.ukst .ukst-d-faq .et_pb_toggle { transition: box-shadow .4s var(--ukst-ease); }
:is(html, #ukst-guard):is(html, #ukst-guard-2) .ukst .ukst-d-faq .et_pb_toggle { margin: 0 0 14px ; padding: 0 ; }
:where(.ukst .ukst-d-faq) .et_pb_toggle { border: 0 ; border-radius: var(--ukst-radius); background: var(--ukst-surface) ; box-shadow: var(--ukst-shadow-sm); }
:where(.ukst) .ukst-d-faq .et_pb_toggle_open { box-shadow: var(--ukst-shadow); }
.ukst .ukst-d-faq .et_pb_toggle_title { position: relative; padding: 22px 70px 22px 26px !important; cursor: pointer; }
:where(.ukst) .ukst-d-faq .et_pb_toggle .et_pb_toggle_title { color: var(--ukst-ink) ; font-family: var(--ukst-font-body) ; font-size: 17px ; font-weight: 600; line-height: 1.4; }
.ukst .ukst-d-faq .et_pb_toggle_title::before {
	content: "" !important;
	position: absolute;
	right: 22px !important;
	top: 50% !important;
	width: 34px;
	height: 34px;
	margin-top: -17px !important;
	border-radius: 50%;
	background: color-mix(in srgb, var(--ukst-accent) 12%, transparent) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ff8600' stroke-width='2.4' stroke-linecap='round'%3E%3Cpath d='M12 5v14M5 12h14'/%3E%3C/svg%3E") center / 16px no-repeat;
	transition: transform .4s var(--ukst-ease), background-color .3s;
}
.ukst .ukst-d-faq .et_pb_toggle_open .et_pb_toggle_title::before { transform: rotate(45deg); background-color: color-mix(in srgb, var(--ukst-accent) 22%, transparent); }
.ukst .ukst-d-faq .et_pb_toggle_content { padding: 0 26px 24px !important; }
:where(.ukst) .ukst-d-faq .et_pb_toggle_content { color: var(--ukst-muted); }
.ukst .ukst-d-faq .et_pb_toggle_content p { padding: 0; }

/* --------------------------------------------------------------------------
   Llamada a la acción: caja de color con foto que sobresale
   ----------------------------------------------------------------------- */
.ukst .ukst-d .et_pb_row.ukst-d-cta__box { position: relative; align-items: center; gap: 0 !important; --ukst-d-rt: clamp(32px, 4vw, 56px); --ukst-d-rb: clamp(32px, 4vw, 56px); }
:where(.ukst .ukst-d) .ukst-d-cta__box:where(.et_pb_row) { border-radius: calc(var(--ukst-radius) + 10px); background:
		radial-gradient(circle at 96% 100%, rgba(255, 255, 255, .3) 0 90px, transparent 91px),
		radial-gradient(circle, rgba(255, 255, 255, .35) 2.4px, transparent 3px) right 28px bottom 28px / 18px 18px no-repeat,
		linear-gradient(120deg, var(--ukst-pop-3), color-mix(in srgb, var(--ukst-pop-3) 70%, var(--ukst-accent))); box-shadow: 0 40px 80px -40px color-mix(in srgb, var(--ukst-pop-3) 90%, transparent); }
.ukst .ukst-d-cta__box > .et_pb_column:first-child { align-self: stretch; }
.ukst .ukst-d-cta__img { height: 100%; }
:is(html, #ukst-guard):is(html, #ukst-guard-2) .ukst .ukst-d-cta__img { margin: 0 ; }
.ukst .ukst-d-cta__img .et_pb_image_wrap { display: block; height: 100%; }
.ukst .ukst-d-cta__img img { display: block; width: 100%; max-width: 440px; height: auto !important; margin: -14% auto -12%; filter: drop-shadow(0 30px 30px rgba(42, 45, 52, .25)); animation: ukst-float 6s ease-in-out infinite alternate; }
:where(.ukst) .ukst-d-cta__text .ukst-d-title { color: var(--ukst-ink); font-size: clamp(26px, 2.8vw, 38px); }
:where(.ukst) .ukst-d-cta__text .ukst-hl { color: #fff; }
:where(.ukst) .ukst-d-cta__text .et_pb_text_inner { color: var(--ukst-ink); }
.ukst .ukst-d-cta__text p { opacity: .8; }
:where(.ukst) .ukst-d-cta .ukst-btn--icon .et_pb_button,
:where(.ukst) .ukst-d-cta .et_pb_button.ukst-btn--icon { color: var(--ukst-ink) !important; }

/* --------------------------------------------------------------------------
   Contacto
   ----------------------------------------------------------------------- */
.ukst .ukst-d-contact .ukst-d-row--split { align-items: flex-start; }
:where(.ukst) .ukst-d-contact .ukst-d-title { font-size: clamp(28px, 3vw, 40px); }
.ukst .ukst-form { padding: 0; background: none; border-radius: 0; }
.ukst .ukst-contact__grid .ukst-form { padding: clamp(24px, 3vw, 40px); border-radius: calc(var(--ukst-radius) + 6px); background: var(--ukst-surface); box-shadow: var(--ukst-shadow); }
.ukst .ukst-d-contact .ukst-form { padding: clamp(24px, 3vw, 40px); }
:where(.ukst) .ukst-d-contact .ukst-form { border-radius: calc(var(--ukst-radius) + 6px); background: var(--ukst-surface); box-shadow: var(--ukst-shadow); }
.ukst .ukst-contact__info { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 16px; }
.ukst .ukst-contact__item {
	--ukst-tone: var(--ukst-alt);
	position: relative;
	padding: 22px 22px 22px 86px;
	border-radius: var(--ukst-radius);
	background: var(--ukst-surface);
	box-shadow: var(--ukst-shadow-sm);
}
.ukst .ukst-contact__item::before {
	content: "";
	position: absolute;
	left: 20px;
	top: 50%;
	width: 50px;
	height: 50px;
	margin-top: -25px;
	border-radius: 50%;
	background: radial-gradient(circle at 30% 25%, color-mix(in srgb, var(--ukst-tone) 55%, #fff), var(--ukst-tone) 70%);
}
.ukst .ukst-contact__item::after {
	content: "";
	position: absolute;
	left: 33px;
	top: 50%;
	width: 24px;
	height: 24px;
	margin-top: -12px;
	background: #fff;
	-webkit-mask: var(--ukst-ico, none) center / contain no-repeat;
	mask: var(--ukst-ico, none) center / contain no-repeat;
}
.ukst .ukst-contact__item:nth-child(1) { --ukst-tone: var(--ukst-pop-1); --ukst-ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linejoin='round'%3E%3Crect x='3' y='5' width='18' height='14' rx='2.5'/%3E%3Cpath d='m4 7 8 6 8-6'/%3E%3C/svg%3E"); }
.ukst .ukst-contact__item:nth-child(2) { --ukst-tone: var(--ukst-alt); --ukst-ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linejoin='round'%3E%3Cpath d='M5 4h4l2 5-2.5 1.5a11 11 0 0 0 5 5L15 13l5 2v4a2 2 0 0 1-2 2A16 16 0 0 1 3 6a2 2 0 0 1 2-2'/%3E%3C/svg%3E"); }
.ukst .ukst-contact__item:nth-child(3) { --ukst-tone: var(--ukst-pop-2); --ukst-ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linejoin='round'%3E%3Cpath d='M12 21s-7-6.2-7-11.5a7 7 0 0 1 14 0C19 14.8 12 21 12 21z'/%3E%3Ccircle cx='12' cy='9.5' r='2.5'/%3E%3C/svg%3E"); }
.ukst .ukst-contact__item:nth-child(4) { --ukst-tone: var(--ukst-accent); --ukst-ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M12 7v5l3 2'/%3E%3C/svg%3E"); }
.ukst .ukst-contact__item .ukst-eyebrow { display: block; margin-bottom: 4px; color: var(--ukst-muted); font-size: 12px; }
.ukst .ukst-contact__item .ukst-eyebrow::before { display: none; }
.ukst .ukst-contact__value { font-family: var(--ukst-font-body); font-size: 16px; font-weight: 600; line-height: 1.45; text-transform: none; color: var(--ukst-ink); }
.ukst .ukst-contact__value a { color: var(--ukst-ink); }
.ukst .ukst-contact__info .ukst-social { grid-column: 1 / -1; }
.ukst .ukst-contact__map { height: clamp(280px, 38vh, 420px); margin-top: 20px; overflow: hidden; border-radius: calc(var(--ukst-radius) + 6px); box-shadow: var(--ukst-shadow); filter: none; }

/* --------------------------------------------------------------------------
   Cabecera de páginas (tienda, categorías, blog, carrito…)
   ----------------------------------------------------------------------- */
.ukst-hero-page {
	position: relative;
	padding-block: clamp(48px, 7vw, 100px) clamp(36px, 5vw, 70px);
	border: 0;
	text-align: center;
	isolation: isolate;
}
.ukst-hero-page .ukst-eyebrow { margin-bottom: 18px; }
.ukst .ukst-hero-page__title {
	max-width: 20ch;
	margin: 0 auto;
	padding: 0;
	font-size: clamp(36px, 5vw, 64px);
	line-height: 1.15;
}
.ukst .ukst-hero-page--xl .ukst-hero-page__title { max-width: 20ch; font-size: clamp(38px, 5.4vw, 72px); line-height: 1.1; }
.ukst .ukst-hero-page--compact .ukst-hero-page__title { font-size: clamp(32px, 4vw, 54px); }
.ukst-hero-page__text { max-width: 620px; margin: 18px auto 0; color: var(--ukst-muted); font-size: 18px; }
.ukst-hero-page .ukst-filter { margin: 32px 0 0; }
.ukst-hero-page__inner { position: relative; }
/* Con imagen: partida, foto en círculo a la derecha */
.ukst-hero-page.is-split { text-align: left; padding-block: clamp(32px, 4vw, 60px); }
.ukst-hero-page.is-split .ukst-hero-page__inner { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(0, .85fr); align-items: center; gap: clamp(24px, 4vw, 72px); }
.ukst .ukst-hero-page.is-split .ukst-hero-page__title { margin: 0; }
.ukst-hero-page.is-split .ukst-hero-page__text { margin-inline: 0; }
.ukst-hero-page.is-split .ukst-filter { justify-content: flex-start; }
.ukst-hero-page__orb {
	--ukst-tone: var(--ukst-accent);
	position: relative;
	width: min(100%, 420px);
	margin: 0 0 0 auto;
	aspect-ratio: 1;
	isolation: isolate;
}
.ukst-hero-page__orb::before { content: ""; position: absolute; inset: 6%; z-index: -1; border-radius: 50%; background: radial-gradient(circle at 30% 25%, color-mix(in srgb, var(--ukst-tone) 70%, #fff), var(--ukst-tone) 72%); animation: ukst-orb-in 1.2s var(--ukst-ease) both; }
.ukst-hero-page__orb::after { content: ""; position: absolute; top: 0; left: -6%; z-index: -2; width: 42%; height: 30%; background: radial-gradient(circle, var(--ukst-pop-2) 3px, transparent 3.6px) 0 0 / 20px 20px; animation: ukst-drift 7s ease-in-out infinite alternate; }
.ukst-hero-page__orb img { width: 100%; height: 100%; object-fit: contain; filter: drop-shadow(0 26px 26px rgba(42, 45, 52, .18)); animation: ukst-float 6s ease-in-out infinite alternate; }
.ukst-hero-page__orb img:not([src$=".png"]):not([src$=".webp"]) { width: 88%; height: 88%; margin: 6%; border-radius: 50%; object-fit: cover; filter: none; animation: none; }

/* Cabecera compacta hecha con Divi (carrito, checkout, mi cuenta, favoritos) */
:where(.ukst) .ukst-d-pagehead:where(.et_pb_section) { border: 0; text-align: center; }
.ukst .ukst-d-pagehead .ukst-hero-page__title { max-width: 20ch; margin-inline: auto; }
:where(.ukst) .ukst-d-pagehead .ukst-hero-page__title { font-size: clamp(36px, 5vw, 60px); line-height: 1.15; }
:where(.ukst) .ukst-d-pagehead--compact .ukst-hero-page__title { font-size: clamp(32px, 4.2vw, 54px); }
.ukst .ukst-d-pagehead .et_pb_text_inner { display: flex; flex-direction: column; align-items: center; }

/* Título de sección [ukst_section_title] */
.ukst .ukst-section__title,
.ukst .ukst-section__title--xl { font-size: var(--ukst-fs-h2) !important; line-height: 1.2 !important; }
.ukst-section__head { align-items: center; }

/* --------------------------------------------------------------------------
   Categorías destacadas: tarjetas redondeadas con la foto y una píldora
   ----------------------------------------------------------------------- */
.ukst-cat-tile { border-radius: calc(var(--ukst-radius) + 6px); background: var(--ukst-media); color: var(--ukst-ink) !important; box-shadow: var(--ukst-shadow); }
.ukst-cat-tile::after { background: linear-gradient(to top, rgba(42, 45, 52, .55), rgba(42, 45, 52, 0) 45%); }
.ukst-cat-tile__body { width: 100%; color: #fff; }
.ukst-cat-tile__count { font-size: 12px; font-weight: 600; letter-spacing: .04em; text-transform: none; opacity: .9; }
.ukst-cat-tile__name { font-size: clamp(28px, 3vw, 44px); font-weight: 800; line-height: 1.05; letter-spacing: -.02em; text-transform: none; }
.ukst .ukst-cat-tile .ukst-link-arrow {
	justify-self: start;
	margin-top: 8px;
	padding: 10px 16px;
	border-radius: 999px;
	background: #fff;
	color: var(--ukst-ink) !important;
	transition: background .3s, color .3s;
}
.ukst .ukst-cat-tile:hover .ukst-link-arrow { background: var(--ukst-accent); color: #fff !important; }
.ukst-cat-tiles--3 .ukst-cat-tile:first-child { min-height: 600px; }

/* --------------------------------------------------------------------------
   Tarjetas de producto [ukst_product_grid] y favoritos
   ----------------------------------------------------------------------- */
.ukst-card {
	padding: 12px 12px 18px !important;
	border-radius: calc(var(--ukst-radius) + 4px);
	background: var(--ukst-surface);
	box-shadow: var(--ukst-shadow-sm);
	transition: opacity .4s var(--ukst-ease), transform .6s var(--ukst-ease), box-shadow .6s var(--ukst-ease);
}
.ukst-card:hover { box-shadow: var(--ukst-shadow); }
.ukst-card__media { border-radius: var(--ukst-radius); }
.ukst-card__body { padding: 16px 6px 0; }
.ukst .ukst-card__title { font-family: var(--ukst-font-body); font-weight: 600; line-height: 1.3; }
.ukst-card__price { color: var(--ukst-ink); }
.ukst-badge { top: 12px; left: 12px; padding: 7px 11px; border-radius: 999px; font-size: 12px; letter-spacing: .02em; text-transform: none; }
.ukst .ukst-wl-btn { box-shadow: var(--ukst-shadow-sm); }
.ukst-card__actions { left: 10px; right: 10px; bottom: 10px; transform: translateY(calc(100% + 14px)); }
.ukst .ukst-qv-btn { border-radius: 12px; background: color-mix(in srgb, var(--ukst-surface) 90%, transparent); -webkit-backdrop-filter: blur(8px); backdrop-filter: blur(8px); color: var(--ukst-ink); font-size: 14px; font-weight: 600; letter-spacing: 0; text-transform: none; }
.ukst .ukst-qv-btn:hover { background: var(--ukst-accent); color: #fff; }

/* Blog: tarjetas */
.ukst-post-card { padding: 12px 12px 22px; border-radius: calc(var(--ukst-radius) + 4px); background: var(--ukst-surface); box-shadow: var(--ukst-shadow-sm); transition: transform .5s var(--ukst-ease), box-shadow .5s var(--ukst-ease); }
.ukst-post-card:hover { transform: translateY(-6px); box-shadow: var(--ukst-shadow); }
.ukst-post-card__media { border-radius: var(--ukst-radius); }
.ukst-post-card__media img { filter: none; }
.ukst-post-card__body { padding: 18px 8px 0; }
.ukst .ukst-post-card__title { font-size: clamp(19px, 1.6vw, 22px); line-height: 1.35; }
.ukst .ukst-post-card__title a { background-size: 0 2px; }
.ukst .ukst-post-card:hover .ukst-post-card__title a { color: var(--ukst-accent); background-size: 0 2px; }
.ukst .ukst-meta { font-size: 12px; letter-spacing: .04em; }
.ukst .ukst-meta__cat { padding: 4px 10px; border-radius: 999px; background: color-mix(in srgb, var(--ukst-accent) 12%, transparent); }
.ukst-blog--bento .ukst-post-card { padding: 0; }

.ukst-post-card.no-thumb .ukst-post-card__body { border-radius: var(--ukst-radius); background: linear-gradient(140deg, color-mix(in srgb, var(--ukst-accent) 16%, #fff), color-mix(in srgb, var(--ukst-pop-2) 16%, #fff)); color: var(--ukst-ink); }
.ukst .ukst-post-card.no-thumb .ukst-post-card__title a,
.ukst .ukst-post-card.no-thumb .ukst-link-arrow { color: var(--ukst-ink); }

/* Paginación */
.ukst .ukst-pagination .page-numbers,
.ukst .woocommerce-pagination .page-numbers li .page-numbers { border: 0 !important; border-radius: 12px; background: var(--ukst-surface); box-shadow: var(--ukst-shadow-sm); }
.ukst .ukst-pagination .page-numbers.current,
.ukst .woocommerce-pagination .page-numbers li .current,
.ukst .ukst-pagination a.page-numbers:hover,
.ukst .woocommerce-pagination .page-numbers li a:hover { background: var(--ukst-accent) !important; color: #fff !important; }

/* Entrada: cita y letra capital con los colores */
.ukst .ukst-post-content blockquote { border-left-color: var(--ukst-accent); border-radius: 0 var(--ukst-radius) var(--ukst-radius) 0; padding: 22px 28px; background: var(--ukst-surface); font-size: clamp(20px, 2vw, 28px); line-height: 1.4; text-transform: none; box-shadow: var(--ukst-shadow-sm); }
.ukst .ukst-post-nav__item { border-radius: var(--ukst-radius); margin: 4px; }
.ukst .ukst-post-nav__title { text-transform: none; font-size: clamp(22px, 2.4vw, 32px); }

/* 404 */
.ukst .ukst-404 .ukst-404__code { -webkit-text-fill-color: transparent; -webkit-text-stroke: 0; background: linear-gradient(120deg, var(--ukst-accent), var(--ukst-pop-1), var(--ukst-pop-2)); -webkit-background-clip: text; background-clip: text; color: transparent; font-weight: 800; letter-spacing: -.05em; }

/* Modales y buscador redondeados */
.ukst-modal__dialog { border-radius: calc(var(--ukst-radius) + 6px); background: var(--ukst-surface); }
.ukst-modal__close { background: var(--ukst-surface); border-radius: 50%; }

/* --------------------------------------------------------------------------
   Responsive
   ----------------------------------------------------------------------- */
@media (max-width: 1100px) {
	.ukst .ukst-d-numbers .ukst-d-row--cols { grid-template-columns: repeat(2, minmax(0, 1fr)); row-gap: 40px !important; }
}
@media (max-width: 980px) {
	.ukst .ukst-d-split--hero .et_pb_column:last-child { order: -1; }
	.ukst .ukst-d-orb { width: min(86%, 420px); }
	.ukst .ukst-d-float-card { right: 4%; bottom: 0; }
	.ukst .ukst-d-cards4 > .et_pb_column:first-child > .ukst-d-blurb:nth-child(even) { transform: translateY(-24px); }
	.ukst .ukst-d-testimonials .ukst-d-row--cols { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.ukst .ukst-d-portfolio .et_pb_portfolio_items,
.ukst .ukst-d-portfolio .et_grid_module { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.ukst .ukst-d-testimonials .ukst-d-row--cols { row-gap: 84px !important; }
	.ukst .ukst-d-prices.et_pb_pricing,
.ukst .et_pb_pricing.ukst-d-prices { grid-template-columns: minmax(0, 1fr); max-width: 460px; }
:is(html, #ukst-guard) .ukst .ukst-d-prices.et_pb_pricing,
:is(html, #ukst-guard) .ukst .et_pb_pricing.ukst-d-prices { margin-inline: auto; }
	.ukst .ukst-d-prices .et_pb_featured_table,
.ukst .ukst-d-prices .et_pb_featured_table:hover { transform: none; }
	.ukst .ukst-d-cta__img img { max-width: 300px; margin: -22% auto 8px; }
	.ukst-hero-page.is-split .ukst-hero-page__inner { grid-template-columns: 1fr; }
	.ukst-hero-page__orb { width: min(70%, 320px); margin: 0 auto; order: -1; }
	.ukst-hero-page.is-split { text-align: center; }
	.ukst-hero-page.is-split .ukst-hero-page__text { margin-inline: auto; }
	.ukst-hero-page.is-split .ukst-filter { justify-content: center; }
	.ukst .ukst-d-service--reverse .ukst-d-row--split > .et_pb_column:last-child { order: -1; }
}
@media (max-width: 767px) {
	:is(html, #ukst-guard):is(html, #ukst-guard-2) .ukst .ukst-d-split--hero .et_pb_column:first-child .et_pb_button_module_wrapper { margin-right: 14px ; }
	.ukst .ukst-d-cards4 > .et_pb_column:first-child { gap: 14px; }
	:is(html, #ukst-guard) .ukst .ukst-d-cards4 > .et_pb_column:first-child > .ukst-d-blurb { padding: 22px 12px; }
	.ukst .ukst-d-cards4 > .et_pb_column:first-child > .ukst-d-blurb:nth-child(even),
.ukst .ukst-d-cards4 > .et_pb_column:first-child > .ukst-d-blurb:nth-child(even):hover { transform: none; }
	.ukst .ukst-d-features .ukst-d-cards4 { --ukst-d-rt: 0px; }
	.ukst .ukst-d-blurb .et-pb-icon { width: 68px; height: 68px; }
:where(.ukst) .ukst-d-blurb .et-pb-icon { font-size: 28px ; }
	.ukst .ukst-d-cards4--flat > .et_pb_column:last-child { grid-template-columns: minmax(0, 1fr); }
.ukst .ukst-d-steps .ukst-d-row--cols,
.ukst .ukst-d-testimonials .ukst-d-row--cols { grid-template-columns: minmax(0, 1fr); }
.ukst .ukst-d-portfolio .et_pb_portfolio_items,
.ukst .ukst-d-portfolio .et_grid_module { grid-template-columns: minmax(0, 1fr); }
	:is(html, #ukst-guard):is(html, #ukst-guard-2) .ukst .ukst-d-step { margin-top: 64px ; }
	.ukst .ukst-d-blurb--row .et_pb_blurb_content { gap: 16px; }
	.ukst .ukst-d-ghost { white-space: normal; }
	.ukst .ukst-d-float-card { position: relative !important; right: auto; bottom: auto; }
:is(html, #ukst-guard):is(html, #ukst-guard-2) .ukst .ukst-d-float-card { margin: -10px auto 0 ; }
	:where(.ukst .ukst-d) .ukst-d-cta__box:where(.et_pb_row) { text-align: center; }
	:is(html, #ukst-guard):is(html, #ukst-guard-2) .ukst .ukst-d-cta .et_pb_column:last-child .et_pb_button_module_wrapper { margin: 18px 10px 0 ; }
	.ukst .ukst-contact__info { grid-template-columns: 1fr; }
}
@media (prefers-reduced-motion: reduce) {
	.ukst .ukst-d-orb::after,
.ukst-hero-page__orb img { animation: none !important; }
.ukst .ukst-d-orb img,
.ukst .ukst-d-cta__img img { animation: none !important; }
}
.ukst-no-motion .ukst-d-orb::after,
.ukst-no-motion .ukst-d-orb .et_pb_image_wrap::before,
.ukst-no-motion .ukst-d-orb .et_pb_image_wrap::after,
.ukst-no-motion .ukst-hero-page__orb img { animation: none !important; }
.ukst-no-motion .ukst-d-orb img,
.ukst-no-motion .ukst-d-cta__img img { animation: none !important; }

/* Detalles */
.ukst-logo__text { white-space: nowrap; }
.ukst .ukst-product-wrap div.product > .related > h2,
.ukst .ukst-product-wrap div.product > .upsells > h2,
.ukst .ukst-product-wrap div.product > section > h2 { margin-bottom: 28px; font-size: var(--ukst-fs-h2) !important; line-height: 1.2 !important; }
:is(.ukst.woocommerce, .ukst .woocommerce) div.product .woocommerce-tabs { padding: 8px 28px 20px; border-radius: calc(var(--ukst-radius) + 4px); background: var(--ukst-surface); box-shadow: var(--ukst-shadow-sm); }
.ukst .ukst-overlay__marquee { opacity: .06; }

/* Tienda desactivada (Personalizar → Tienda o Apariencia → UnikaWeb Studio): fuera las secciones
   y botones de la tienda, también en páginas montadas antes de desactivarla. */
.ukst-shop-off .ukst-shop-only { display: none !important; }
.ukst-shop-off .et_pb_section:has(.ukst-shop-only) { display: none !important; }
body.ukst-shop-off.ukst-vb-canvas .et_pb_section:has(.ukst-shop-only) { display: block !important; opacity: .35; }

/* --------------------------------------------------------------------------
   Proyecto del portfolio (single-project.php) y categorías de proyectos
   ----------------------------------------------------------------------- */
.ukst-project__hero { padding-block: clamp(40px, 6vw, 90px) 0; }
.ukst-project__head {
	display: grid;
	grid-template-columns: minmax(0, 1.6fr) minmax(240px, .8fr);
	align-items: end;
	gap: clamp(28px, 5vw, 80px);
	margin-bottom: clamp(32px, 4vw, 56px);
}
.ukst .ukst-project__intro .ukst-eyebrow { margin-bottom: 18px; color: var(--ukst-ink); }
.ukst .ukst-project__title { margin: 0; padding: 0; font-size: clamp(40px, 6vw, 80px); line-height: 1.05; letter-spacing: -.03em; }
.ukst .ukst-project__lead { max-width: 56ch; margin: 18px 0 0; padding: 0; color: var(--ukst-muted); font-size: 18px; line-height: 1.7; }
.ukst-project__actions { display: flex; flex-wrap: wrap; align-items: center; gap: 14px 26px; margin-top: 30px; }
.ukst .ukst-project__contact { display: inline-flex; align-items: center; gap: 14px; color: var(--ukst-ink); font-weight: 700; }
.ukst .ukst-project__contact:hover { color: var(--ukst-accent); }
.ukst-project__contact-ico {
	width: 52px; height: 52px; border-radius: 50%;
	background: var(--ukst-accent) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='5' width='18' height='14' rx='2.5'/%3E%3Cpath d='m4 7 8 6 8-6'/%3E%3C/svg%3E") center / 22px no-repeat;
	box-shadow: 0 0 0 6px color-mix(in srgb, var(--ukst-accent) 22%, transparent);
	transition: box-shadow .4s var(--ukst-ease);
}
.ukst-project__contact:hover .ukst-project__contact-ico { box-shadow: 0 0 0 10px color-mix(in srgb, var(--ukst-accent) 18%, transparent); }
.ukst-project__meta {
	display: grid;
	gap: 18px;
	margin: 0;
	padding: 26px 28px;
	border-radius: calc(var(--ukst-radius) + 4px);
	background: var(--ukst-surface);
	box-shadow: var(--ukst-shadow-sm);
}
.ukst-project__meta > div { display: grid; gap: 4px; padding-bottom: 16px; border-bottom: 1px solid var(--ukst-line); }
.ukst-project__meta > div:last-child { padding-bottom: 0; border-bottom: 0; }
.ukst-project__meta dt { color: var(--ukst-muted); font-size: 12px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.ukst-project__meta dd { display: flex; flex-wrap: wrap; gap: 6px; margin: 0; color: var(--ukst-ink); font-weight: 600; }
.ukst .ukst-project__chip { padding: 5px 12px; border-radius: 999px; background: color-mix(in srgb, var(--ukst-accent) 12%, transparent); color: var(--ukst-accent); font-size: 13px; font-weight: 600; }
.ukst .ukst-project__chip:hover { background: var(--ukst-accent); color: #fff; }
.ukst-project__media {
	margin: 0;
	overflow: hidden;
	border-radius: calc(var(--ukst-radius) + 10px);
	background: var(--ukst-media);
	box-shadow: var(--ukst-shadow);
}
.ukst-project__media img { display: block; width: 100%; height: auto; }
.ukst-project__body { padding-block: clamp(40px, 6vw, 80px) 0; }
.ukst-project__builder { padding-top: clamp(24px, 4vw, 48px); }

/* Anterior / siguiente */
.ukst-project__nav { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(14px, 2vw, 24px); margin-top: clamp(48px, 7vw, 100px); }
.ukst .ukst-project__nav-item {
	display: flex;
	align-items: center;
	gap: 18px;
	padding: 14px;
	border-radius: calc(var(--ukst-radius) + 4px);
	background: var(--ukst-surface);
	box-shadow: var(--ukst-shadow-sm);
	color: var(--ukst-ink);
	transition: transform .5s var(--ukst-ease), box-shadow .5s var(--ukst-ease);
}
.ukst .ukst-project__nav-item:hover { transform: translateY(-4px); box-shadow: var(--ukst-shadow); color: var(--ukst-ink); }
.ukst .ukst-project__nav-item.is-next { flex-direction: row-reverse; text-align: right; }
.ukst-project__nav-item.is-empty { background: none; box-shadow: none; }
.ukst-project__nav-item img { flex: 0 0 auto; width: 84px; height: 84px; border-radius: var(--ukst-radius); object-fit: cover; }
.ukst-project__nav-text { display: grid; gap: 4px; }
.ukst-project__nav-text .ukst-eyebrow { font-size: 11px; color: var(--ukst-muted); }
.ukst-project__nav-text strong { font-size: clamp(17px, 1.6vw, 21px); line-height: 1.25; }
.ukst .ukst-project__nav-item:hover strong { color: var(--ukst-accent); }

/* Rejilla de proyectos (otros proyectos y categorías) */
.ukst-projects-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(18px, 2.4vw, 32px); }
.ukst-project-card {
	padding: 14px 14px 22px;
	border-radius: calc(var(--ukst-radius) + 4px);
	background: var(--ukst-surface);
	box-shadow: var(--ukst-shadow);
	transition: transform .5s var(--ukst-ease), box-shadow .5s var(--ukst-ease);
}
.ukst-project-card:hover { transform: translateY(-8px); box-shadow: 0 30px 60px -24px rgba(42, 45, 52, .3); }
.ukst-project-card__media { position: relative; display: block; overflow: hidden; border-radius: calc(var(--ukst-radius) - 6px); background: var(--ukst-media); }
.ukst-project-card__media img { display: block; width: 100%; aspect-ratio: 4 / 3; height: auto; object-fit: cover; transition: transform 1s var(--ukst-ease); }
.ukst-project-card:hover .ukst-project-card__media img { transform: scale(1.06); }
.ukst-project-card__go {
	position: absolute; inset: 0; display: grid; place-items: center;
	background: color-mix(in srgb, var(--ukst-accent) 55%, transparent);
	color: var(--ukst-accent); opacity: 0; transition: opacity .4s var(--ukst-ease);
}
.ukst-project-card__go .ukst-icon { width: 64px; height: 64px; padding: 20px; border-radius: 50%; background: #fff; transform: scale(.6) rotate(-45deg); transition: transform .4s var(--ukst-ease); }
.ukst-project-card:hover .ukst-project-card__go { opacity: 1; }
.ukst-project-card:hover .ukst-project-card__go .ukst-icon { transform: scale(1) rotate(-45deg); }
.ukst .ukst-project-card__title { margin: 18px 6px 2px; padding: 0; font-size: 19px; line-height: 1.3; }
.ukst .ukst-project-card__title a { color: var(--ukst-ink); }
.ukst .ukst-project-card__title a:hover { color: var(--ukst-accent); }
.ukst .ukst-project-card__cats { margin: 0 6px; padding: 0; color: var(--ukst-accent); font-size: 13px; font-weight: 600; }

/* Llamada a la acción del proyecto */
.ukst-project__cta { padding-block: 0 var(--ukst-section); }
.ukst-project__cta-box {
	padding: clamp(36px, 5vw, 64px);
	border-radius: calc(var(--ukst-radius) + 10px);
	background:
		radial-gradient(circle at 96% 100%, rgba(255, 255, 255, .3) 0 90px, transparent 91px),
		linear-gradient(120deg, var(--ukst-pop-3), color-mix(in srgb, var(--ukst-pop-3) 70%, var(--ukst-accent)));
	box-shadow: 0 40px 80px -40px color-mix(in srgb, var(--ukst-pop-3) 90%, transparent);
	text-align: center;
}
.ukst .ukst-project__cta-box h2 { margin: 0; padding: 0 0 10px; color: var(--ukst-ink); font-size: clamp(26px, 2.8vw, 38px); }
.ukst .ukst-project__cta-box .ukst-hl { color: #fff; }
.ukst-project__cta-box p { margin: 0 auto 26px; max-width: 52ch; color: var(--ukst-ink); opacity: .8; }

@media (max-width: 980px) {
	.ukst-project__head { grid-template-columns: 1fr; align-items: start; }
	.ukst-projects-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 767px) {
	.ukst-projects-grid,
	.ukst-project__nav { grid-template-columns: 1fr; }
	.ukst-project__nav-item.is-empty { display: none; }
	.ukst-project__nav-item img { width: 64px; height: 64px; }
}

/* Cabecera de la tienda en la plantilla de Divi (1.0.7): textos automáticos + módulo Imagen editable */
.ukst .ukst-d-shophead--split .ukst-hero-page { padding: 0; }
:where(.ukst) .ukst-d-shophead--split .ukst-hero-page { text-align: left; }
.ukst .ukst-d-shophead--split .ukst-hero-page__inner { max-width: none; padding: 0; }
.ukst .ukst-d-shophead--split .ukst-hero-page__title { margin-inline: 0; }
.ukst .ukst-d-shophead--split .ukst-hero-page__text { margin-inline: 0; }
.ukst .ukst-d-shophead--split .ukst-filter { justify-content: flex-start; }
@media (max-width: 980px) {
	.ukst .ukst-d-shophead--split .ukst-d-row--split > .et_pb_column:last-child { order: -1; }
	.ukst .ukst-d-shophead--split .ukst-d-orb { width: min(70%, 320px); }
	:where(.ukst) .ukst-d-shophead--split .ukst-hero-page { text-align: center; }
	.ukst .ukst-d-shophead--split .ukst-hero-page__text { margin-inline: auto; }
	.ukst .ukst-d-shophead--split .ukst-filter { justify-content: flex-start; }
	.ukst .ukst-d-shophead--split .ukst-filter a { white-space: nowrap; }
}

/* Proyecto de ejemplo y títulos centrados */
:where(.ukst) .ukst-d-heading--center { text-align: center; }
:where(.ukst) .ukst-d-heading--center .et_pb_text_inner { text-align: center; }
.ukst .ukst-d-heading--center .ukst-eyebrow { justify-content: center; }
.ukst .ukst-d-heading--center p { margin-inline: auto; }
.ukst .ukst-d-sample-img img { width: 100%; }
:where(.ukst) .ukst-d-sample-img img { border-radius: calc(var(--ukst-radius) + 6px); box-shadow: var(--ukst-shadow); }
.ukst .ukst-d-sample .ukst-d-blurb { height: 100%; }
:is(html, #ukst-guard) .ukst .ukst-d-sample .ukst-d-blurb { padding: clamp(22px, 2.4vw, 32px); }
:where(.ukst .ukst-d-sample) .ukst-d-blurb { border-radius: calc(var(--ukst-radius) + 6px); background: var(--ukst-surface); box-shadow: var(--ukst-shadow); }
.ukst .ukst-d-sample-gallery .et_pb_gallery_items { display: grid !important; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(12px, 2vw, 24px); }
.ukst .ukst-d-sample-gallery .et_pb_gallery_item { width: auto !important; margin: 0 !important; clear: none !important; }
.ukst .ukst-d-sample-gallery .et_pb_gallery_image { overflow: hidden; }
:where(.ukst) .ukst-d-sample-gallery .et_pb_gallery_image { border-radius: calc(var(--ukst-radius) + 6px); }
.ukst .ukst-d-sample-gallery .et_pb_gallery_image img { transition: transform .6s var(--ukst-ease); }
.ukst .ukst-d-sample-gallery .et_pb_gallery_item:hover img { transform: scale(1.05); }
.ukst .ukst-d-sample-quote .ukst-d-testimonial { max-width: 760px; }
:is(html, #ukst-guard) .ukst .ukst-d-sample-quote .ukst-d-testimonial { margin-inline: auto; }
@media (max-width: 767px) {
	.ukst .ukst-d-sample-gallery .et_pb_gallery_items { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
.ukst .ukst-d-sample-gallery { overflow: hidden; }
.ukst .ukst-d-sample-gallery .et_pb_gallery_image img { display: block; width: 100% !important; height: auto !important; aspect-ratio: 4 / 3; object-fit: cover; }
/* Listas de las entradas con su viñeta o número */
.ukst .ukst-post-content :is(ul, ol) { margin: 0 0 1.4em; padding-left: 1.4em; }
.ukst .ukst-post-content ul { list-style: disc; }
.ukst .ukst-post-content ol { list-style: decimal; }
.ukst .ukst-post-content :is(ul, ol) li { margin-bottom: .4em; padding-left: .2em; }
.ukst .ukst-post-content ol li::marker { color: var(--ukst-accent); font-weight: 700; }

/* Blindaje frente a Divi (1.1.2): el módulo Imagen del círculo mantiene su tamaño
   aunque Divi le ponga width: 100% con #et-boc (ver layout.css). */
:is(html, #ukst-guard) .ukst .ukst-d-orb { width: min(100%, 520px) !important; max-width: none !important; }
@media (max-width: 980px) {
	:is(html, #ukst-guard) .ukst .ukst-d-orb { width: min(86%, 420px) !important; }
	:is(html, #ukst-guard) .ukst .ukst-d-shophead--split .ukst-d-orb { width: min(70%, 320px) !important; }
}

/* ==========================================================================
   1.2.0 — Ajustes de móvil, footer, botones flotantes y banner de cookies
   ========================================================================== */

/* Redes del footer: siempre visibles (fondo de acento e icono blanco) */
.ukst .ukst-site-footer .ukst-social a,
.ukst .ukst-site-footer .ukst-social--light a {
	background: var(--ukst-accent);
	color: var(--ukst-accent-ink) !important;
	box-shadow: 0 10px 22px -12px var(--ukst-accent);
}
.ukst .ukst-site-footer .ukst-social a:hover { background: var(--ukst-ink); color: #fff !important; }

/* Header: el logo se adapta al hueco y nunca pisa los iconos */
.ukst-header__brand { display: flex; flex: 1 1 0; min-width: 0; }
.ukst .ukst-header__brand .ukst-logo:not(.ukst-logo--light) { display: flex; max-width: 100%; min-width: 0; }
.ukst .ukst-header__brand .ukst-logo img { flex: 0 1 auto; min-width: 0; width: auto; max-width: min(240px, 100%); height: auto; max-height: var(--ukst-logo-h); object-fit: contain; object-position: left center; }
.ukst .ukst-header__brand .ukst-logo__text { flex: 1 1 auto; min-width: 0; }
.ukst-header__actions { flex: 0 0 auto; }
@media (max-width: 767px) {
	.ukst .ukst-header__brand .ukst-logo img { max-width: 100%; }
	.ukst-header__brand .ukst-logo--both { gap: 8px; }
}
/* Logo con imagen + texto en móviles: solo la imagen (el texto no cabe y saldría cortado "M…") */
@media (max-width: 520px) {
	.ukst .ukst-header__brand .ukst-logo--both .ukst-logo__text { display: none; }
}
@media (max-width: 380px) {
	.ukst-header__inner { gap: 8px; padding-inline: 12px; }
	.ukst .ukst-header .ukst-header-icon { width: 36px; height: 36px; }
	.ukst-header__actions { gap: 0 !important; }
	.ukst .ukst-burger { min-width: 0; }
}

/* Píldoras de categorías (tienda y blog): en una línea con scroll lateral en el móvil */
.ukst-filter--links a { flex: 0 0 auto; white-space: nowrap; text-align: center; }
@media (max-width: 980px) {
	.ukst .ukst-filter.ukst-filter--links {
		flex-wrap: nowrap;
		justify-content: flex-start;
		width: calc(100% + var(--ukst-side) * 2);
		max-width: none;
		margin-inline: calc(var(--ukst-side) * -1);
		box-sizing: border-box;
		padding: 6px var(--ukst-side) 14px;
		overflow-x: auto;
		overscroll-behavior-x: contain;
		scroll-snap-type: x proximity;
		scroll-padding-inline: var(--ukst-side);
		-webkit-overflow-scrolling: touch;
		scrollbar-width: none;
	}
	.ukst .ukst-filter.ukst-filter--links::-webkit-scrollbar { display: none; }
	.ukst .ukst-filter.ukst-filter--links a { scroll-snap-align: start; }
	/* Centradas si caben; si no, empiezan a la izquierda y se desplazan con el dedo */
	.ukst .ukst-filter.ukst-filter--links a:first-child { margin-left: auto; }
	.ukst .ukst-filter.ukst-filter--links a:last-child { margin-right: auto; }
	.ukst .ukst-filter.ukst-filter--links::after { content: ""; flex: 0 0 1px; }
}

/* Cabecera de la tienda en el móvil: foto y textos centrados */
@media (max-width: 980px) {
	.ukst .et_pb_section.ukst-d-shophead--split { --ukst-d-pb: clamp(16px, 4vw, 40px); }
	.ukst .ukst-d-shophead--split .ukst-d-row--split > .et_pb_column { width: 100% !important; }
	:is(html, #ukst-guard):is(html, #ukst-guard-2) .ukst .ukst-d-shophead--split .ukst-d-orb { margin-inline: auto ; }
	:where(.ukst) .ukst-d-shophead--split .ukst-hero-page,
:where(.ukst) .ukst-d-shophead--split .ukst-hero-page__body { text-align: center; }
	.ukst .ukst-d-shophead--split .ukst-hero-page__title { margin-inline: auto; }
	.ukst .ukst-d-shophead--split .ukst-eyebrow { justify-content: center; }
}

/* Filas de tarjetas (Servicios…): en tablet y móvil cada columna ocupa todo el ancho */
.ukst .ukst-d .et_pb_row.ukst-d-row--cols > .et_pb_column { min-width: 0; }
@media (max-width: 980px) {
	:is(html, #ukst-guard) .ukst .ukst-d .et_pb_row.ukst-d-row--cols:not(:is(.ukst-d-numbers, .ukst-d-testimonials, .ukst-d-steps, .ukst-d-trust) *) > .et_pb_column {
		flex: 1 1 100% !important;
		width: 100% !important;
		max-width: 100% !important;
	}
	.ukst .ukst-d-blurb--row .et_pb_blurb_content { max-width: 100%; }
}

/* Tienda en PC: el panel de filtros se ve entero, sin scroll propio */
@media (min-width: 981px) {
	.ukst .ukst-shop-layout__side { position: static; max-height: none; overflow: visible; }
}

/* Carrito: con JavaScript las cantidades se guardan solas, sin "Actualizar carrito" */
.ukst-js .woocommerce-cart-form button[name="update_cart"] { display: none !important; }
.ukst-js .woocommerce-cart-form td.actions:not(:has(.coupon)) { display: none; }
.ukst .woocommerce-cart-form.is-updating { opacity: .6; transition: opacity .2s; pointer-events: none; }

/* Botón flotante de WhatsApp: lado y distancias (Personalizar → Redes sociales) */
.ukst .ukst-wa-float { left: var(--ukst-wa-x, 20px); bottom: var(--ukst-wa-y, 20px); }
.ukst.ukst-wa--right .ukst-wa-float { left: auto; right: var(--ukst-wa-x, 20px); }

/* Barra inferior del footer en el móvil: centrada y con sitio para el botón flotante */
.ukst-site-footer__legal { display: inline-flex; flex-wrap: wrap; gap: 6px 16px; }
.ukst .ukst-site-footer__legal a { color: var(--ukst-muted); font-size: 13px; }
.ukst .ukst-site-footer__legal a:hover { color: var(--ukst-accent); }
@media (max-width: 767px) {
	.ukst .ukst-site-footer__bottom { align-items: center; text-align: center; padding-bottom: calc(var(--ukst-wa-y, 20px) + 84px); }
	.ukst .ukst-site-footer__payments,
	.ukst .ukst-site-footer__legal { justify-content: center; }
	.ukst.ukst-totop--left .ukst-site-footer__bottom .ukst-to-top { align-self: flex-start; }
	.ukst.ukst-totop--right .ukst-site-footer__bottom .ukst-to-top { align-self: flex-end; }
	.ukst.ukst-totop--center .ukst-site-footer__bottom .ukst-to-top { align-self: center; }
}

/* --------------------------------------------------------------------------
   Banner de cookies
   ----------------------------------------------------------------------- */
.ukst-cookies {
	position: fixed;
	inset: auto 0 0;
	z-index: 100000; /* por encima del botón flotante de WhatsApp */
	padding: 0 var(--ukst-side) clamp(12px, 2vw, 24px);
	pointer-events: none;
	transform: translateY(110%);
	opacity: 0;
	transition: transform .5s var(--ukst-ease), opacity .4s;
}
.ukst-cookies.is-open { transform: none; opacity: 1; }
.ukst-cookies[hidden] { display: none; }
.ukst-cookies__card {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	align-items: center;
	gap: 16px clamp(20px, 3vw, 40px);
	max-width: var(--ukst-container);
	margin: 0 auto;
	padding: clamp(18px, 2vw, 24px) clamp(18px, 2.4vw, 30px);
	border-radius: calc(var(--ukst-radius) + 6px);
	background: var(--ukst-surface);
	box-shadow: 0 24px 60px -18px rgba(42, 45, 52, .35), 0 0 0 1px var(--ukst-line);
	color: var(--ukst-ink);
	font-family: var(--ukst-font-body);
	pointer-events: auto;
}
.ukst-cookies.has-prefs .ukst-cookies__card { grid-template-columns: minmax(0, 1fr); max-width: 760px; }
.ukst-cookies__main { display: flex; align-items: flex-start; gap: 16px; }
.ukst-cookies__icon {
	display: grid;
	flex: 0 0 auto;
	place-items: center;
	width: 48px;
	height: 48px;
	border-radius: 50%;
	background: color-mix(in srgb, var(--ukst-accent) 14%, transparent);
	color: var(--ukst-accent);
}
.ukst-cookies__icon svg { width: 24px; height: 24px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.ukst .ukst-cookies__title { margin: 0 0 4px; padding: 0; font-family: var(--ukst-font-display); font-size: 17px; font-weight: 700; color: var(--ukst-ink); }
.ukst .ukst-cookies__text { margin: 0; padding: 0; font-size: 14px; line-height: 1.6; color: var(--ukst-muted); }
.ukst-cookies__links { display: flex; flex-wrap: wrap; gap: 4px 16px; margin-top: 8px; }
.ukst .ukst-cookies__links a { font-size: 13px; font-weight: 600; color: var(--ukst-ink); text-decoration: underline; text-underline-offset: 3px; }
.ukst .ukst-cookies__links a:hover { color: var(--ukst-accent); }
.ukst-cookies__actions { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 10px; }
.ukst .ukst-cookies__btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 46px;
	padding: 0 22px;
	border: 2px solid transparent;
	border-radius: var(--ukst-btn-radius, 12px);
	background: none;
	font: 700 14px/1 var(--ukst-font-body);
	cursor: pointer;
	transition: background .25s, color .25s, border-color .25s, transform .3s var(--ukst-ease);
}
.ukst .ukst-cookies__btn:hover { transform: translateY(-2px); }
.ukst .ukst-cookies__btn[hidden] { display: none; }
.ukst .ukst-cookies__btn--solid { background: var(--ukst-accent); color: var(--ukst-accent-ink); box-shadow: 0 12px 26px -12px var(--ukst-accent); }
.ukst .ukst-cookies__btn--outline { border-color: var(--ukst-accent); color: var(--ukst-accent); }
.ukst .ukst-cookies__btn--outline:hover { background: var(--ukst-accent); color: var(--ukst-accent-ink); }
.ukst .ukst-cookies__btn--ghost { padding-inline: 12px; color: var(--ukst-ink); text-decoration: underline; text-underline-offset: 4px; }
.ukst .ukst-cookies__btn--ghost:hover { color: var(--ukst-accent); }
.ukst .ukst-cookies__btn:focus-visible { outline: 3px solid color-mix(in srgb, var(--ukst-accent) 45%, transparent); outline-offset: 2px; }

.ukst-cookies__prefs { display: grid; gap: 10px; }
.ukst-cookies__prefs[hidden] { display: none; }
.ukst .ukst-cookies__opt {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	margin: 0;
	padding: 14px 16px;
	border-radius: var(--ukst-radius);
	background: var(--ukst-media);
	font-size: 14px;
	letter-spacing: 0;
	text-transform: none;
	color: var(--ukst-ink);
	cursor: pointer;
}
.ukst-cookies__opt > span:first-child { display: grid; gap: 2px; }
.ukst-cookies__opt small { font-size: 12px; line-height: 1.45; color: var(--ukst-muted); }
.ukst-cookies__opt input { position: absolute; opacity: 0; width: 1px; height: 1px; }
.ukst-cookies__switch { position: relative; flex: 0 0 auto; width: 44px; height: 26px; border-radius: 26px; background: var(--ukst-line); transition: background .25s; }
.ukst-cookies__switch::after { content: ""; position: absolute; top: 3px; left: 3px; width: 20px; height: 20px; border-radius: 50%; background: #fff; box-shadow: 0 2px 6px rgba(0, 0, 0, .2); transition: transform .3s var(--ukst-ease); }
.ukst-cookies__opt input:checked + .ukst-cookies__switch { background: var(--ukst-accent); }
.ukst-cookies__opt input:checked + .ukst-cookies__switch::after { transform: translateX(18px); }
.ukst-cookies__opt input:focus-visible + .ukst-cookies__switch { outline: 3px solid color-mix(in srgb, var(--ukst-accent) 45%, transparent); outline-offset: 2px; }
.ukst-cookies__opt.is-locked { cursor: default; opacity: .8; }
.ukst-cookies__opt.is-locked .ukst-cookies__switch { background: color-mix(in srgb, var(--ukst-accent) 55%, #fff); }
.ukst-cookies__opt.is-locked .ukst-cookies__switch::after { transform: translateX(18px); }

@media (max-width: 860px) {
	.ukst-cookies__card { grid-template-columns: minmax(0, 1fr); }
	.ukst-cookies__actions { justify-content: stretch; }
	.ukst .ukst-cookies__btn--solid,
	.ukst .ukst-cookies__btn--outline { flex: 1 1 0; }
}
@media (max-width: 480px) {
	.ukst-cookies { padding-inline: 10px; padding-bottom: 10px; }
	.ukst-cookies__icon { display: none; }
	.ukst .ukst-cookies__btn--ghost { order: 3; flex: 1 1 100%; }
}
@media (prefers-reduced-motion: reduce) {
	.ukst-cookies { transition: none; }
}

/* Cabecera de la tienda hecha con un módulo Texto (1.3.6): mismo aspecto que la cabecera
   anterior; colores, tamaños y alineación se cambian en Divi (estas reglas pesan poco). */
:where(.ukst) .ukst-d-shoptext .ukst-eyebrow { margin-bottom: 18px; }
/* h1.ukst-d-title: un poco más de peso que el titular general del theme, igual que el de Divi */
:where(.ukst) .ukst-d-shoptext h1.ukst-d-title { max-width: 20ch; margin: 0; padding: 0; font-size: clamp(38px, 5.4vw, 72px); line-height: 1.1; }
:where(.ukst) .ukst-d-shoptext .ukst-d-shop-desc { max-width: 620px; margin-top: 18px; color: var(--ukst-muted); font-size: 18px; }
:where(.ukst) .ukst-d-shoptext .ukst-d-shop-desc:empty { display: none; }
:where(.ukst) .ukst-d-shoptext .ukst-d-shop-desc p { padding: 0; }
.ukst .ukst-d-shophead .ukst-filter--links { margin: 32px 0 0; }
/* Píldoras de categorías encima de los productos (módulo Código de la plantilla de la tienda) */
.ukst .ukst-d-shop-nav .ukst-filter--links { justify-content: flex-start; margin: 0 0 clamp(20px, 2.4vw, 32px); }
.ukst .ukst-d-shop-nav:not(:has(.ukst-filter)) { display: none; }
@media (max-width: 980px) {
	:where(.ukst) .ukst-d-shoptext h1.ukst-d-title,
	:where(.ukst) .ukst-d-shoptext .ukst-d-shop-desc { margin-inline: auto; }
	:where(.ukst) .ukst-d-shoptext .ukst-eyebrow { justify-content: center; }
}
