/* ==========================================================================
   Comprar DTF por metros · tema de bloques (Amawebs Mallorca)
   Se carga en la web y en el editor. Colores y fuentes: theme.json.
   1. Variables y base   2. Botones y piezas   3. Cabecera   4. Portada
   5. Páginas y textos   6. Pie   7. WooCommerce   8. Móvil
   ========================================================================== */

/* 1. Variables y base ------------------------------------------------------ */
:root, .editor-styles-wrapper {
	--primario: #8f2cf0;
	--primario-hover: #7a1fd6;
	--resalte: #9b45f2;
	--resalte-claro: #b779ff;
	--morado-barra: #481b7a;
	--morado-boton: #4b1c8f;
	--titulo: #1c1233;
	--texto: #4b4660;
	--suave: #6f6a82;
	--fondo-suave: #f6f5fc;
	--borde: #e6e1f0;
	--radio: 10px;
	--sombra: 0 6px 22px rgba(44, 17, 82, .08);
	--letra-titulo: var(--wp--preset--font-family--poppins);
	--letra-mano: var(--wp--preset--font-family--mano);
	--i-check: 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.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E");
	--i-flecha: 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.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14'/%3E%3Cpath d='m12 5 7 7-7 7'/%3E%3C/svg%3E");
}
body { -webkit-font-smoothing: antialiased; }
img { height: auto; }
a { text-decoration-thickness: 1px; text-underline-offset: 3px; }
:focus-visible { outline: 3px solid var(--resalte-claro); outline-offset: 2px; }
.screen-reader-text { position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }

/* Las piezas grandes van pegadas, sin el hueco automático entre bloques. */
.wp-site-blocks > *, .principal > *, .principal--portada .wp-block-post-content > *,
.sitio-cabecera > * + *, .pie > * + * { margin-block-start: 0; }
.wp-site-blocks { padding-top: 0; padding-bottom: 0; }

/* 2. Botones y piezas comunes ----------------------------------------------- */
.wp-block-button__link { box-shadow: 0 8px 20px rgba(143, 44, 240, .25); transition: transform .15s, box-shadow .15s, background .15s; }
.wp-block-button__link:hover { transform: translateY(-1px); box-shadow: 0 10px 24px rgba(143, 44, 240, .36); }
.is-style-outline > .wp-block-button__link {
	background: transparent !important; color: var(--primario) !important; border: 2px solid var(--primario); box-shadow: none; padding: 11px 24px;
}
.is-style-outline > .wp-block-button__link:hover { background: var(--primario) !important; color: #fff !important; }
.boton--claro > .wp-block-button__link { border-color: rgba(255, 255, 255, .85); color: #fff !important; font-size: 14px; }
.boton--claro > .wp-block-button__link:hover { background: #fff !important; color: var(--morado-barra) !important; }
.boton--grande > .wp-block-button__link { padding: 16px 30px; font-size: 17px; }
.con-flecha > .wp-block-button__link { display: inline-flex; align-items: center; gap: .6em; }
.con-flecha > .wp-block-button__link::after { content: ""; width: 1.1em; height: 1.1em; background: currentColor; -webkit-mask: var(--i-flecha) center / contain no-repeat; mask: var(--i-flecha) center / contain no-repeat; }
.boton-borde { display: inline-flex; align-items: center; padding: 11px 22px; border: 2px solid var(--primario); border-radius: 999px; color: var(--primario); font-family: var(--letra-titulo); font-weight: 600; font-size: 15px; text-decoration: none; }
.boton-borde:hover { background: var(--primario); color: #fff; }

.antetitulo { font-family: var(--letra-titulo); font-weight: 600; font-size: 13px !important; letter-spacing: .14em; text-transform: uppercase; color: var(--primario); margin: 0 0 10px !important; }
.antetitulo--claro { color: #fff; opacity: .92; }
.seccion { padding-top: 64px !important; padding-bottom: 64px !important; }
.seccion__cabecera { text-align: center; max-width: 720px !important; margin: 0 auto 36px !important; }
.seccion__cabecera > * { margin-block: 0; }
.seccion .seccion__titulo { font-size: clamp(28px, 3.4vw, 38px); font-weight: 800; letter-spacing: -.01em; margin: 0 0 12px; }
.seccion__intro { font-size: 17px; color: var(--suave); margin: 0 !important; }

/* 3. Cabecera ---------------------------------------------------------------- */
.barra-superior { background: var(--morado-barra); color: #fff; font-size: 13px; font-weight: 500; }
.barra-superior__fila { min-height: 40px; gap: 16px; }
.barra-superior__fila > *, .barra-superior__fila p { margin: 0; }
.barra-superior ul { list-style: none; margin: 0; padding: 0; display: flex; }
.barra-superior__ventajas li { display: flex; align-items: center; padding: 0 18px; border-left: 1px solid rgba(255, 255, 255, .3); }
.barra-superior__ventajas li:first-child { padding-left: 0; border-left: 0; }
.barra-superior__ventajas li::before { width: 18px; height: 18px; }
.barra-superior__cuenta { display: flex; align-items: center; gap: 28px; }
.barra-superior a { color: #fff; text-decoration: none; display: inline-flex; align-items: center; }
.barra-superior a:hover { color: #e6d4ff; }
.barra-superior__cuenta a::before { width: 18px; height: 18px; }
.mini-cesta .woocommerce-Price-amount { font-weight: 600; }

.cabecera { background: #fff; border-bottom: 1px solid var(--borde); position: relative; z-index: 20; }
.cabecera__fila { min-height: 96px; gap: 32px !important; }
.cabecera__fila > * { margin: 0 !important; }
.logo img { height: 54px !important; width: auto !important; }
.navegacion { flex: 1; }
.navegacion .wp-block-navigation-item__content { position: relative; padding: 10px 12px !important; color: var(--titulo); font-family: var(--letra-titulo); font-weight: 500; font-size: 15px; white-space: nowrap; text-decoration: none; }
.navegacion .wp-block-navigation-item__content:hover { color: var(--primario); }
.navegacion .current-menu-item > .wp-block-navigation-item__content { color: var(--primario); font-weight: 600; }
.navegacion .current-menu-item > .wp-block-navigation-item__content::after { content: ""; position: absolute; left: 12px; right: 12px; bottom: 0; height: 3px; border-radius: 3px; background: var(--primario); }
.navegacion .wp-block-navigation__container { gap: 4px; }
.buscador { width: 250px; }
.buscador .wp-block-search__inside-wrapper { border: 1px solid #d9d4e3 !important; border-radius: 6px; padding: 0 !important; overflow: hidden; background: #fff; }
.buscador .wp-block-search__input { border: 0 !important; padding: 0 14px !important; font-size: 14px; color: var(--titulo); min-height: 44px; }
.buscador .wp-block-search__input:focus { outline: none; }
.buscador .wp-block-search__inside-wrapper:focus-within { border-color: var(--primario) !important; box-shadow: 0 0 0 3px rgba(143, 44, 240, .15); }
.buscador .wp-block-search__button { margin: 0 !important; width: 46px; height: 44px; padding: 0 !important; border-radius: 0 !important; background: var(--morado-boton) !important; color: #fff !important; box-shadow: none; display: grid; place-items: center; }
.buscador .wp-block-search__button:hover { background: var(--primario) !important; transform: none; }
.buscador .wp-block-search__button svg { fill: currentColor; width: 22px; height: 22px; }
.wp-block-navigation__responsive-container.is-menu-open { background: #fff !important; }
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content { font-size: 18px; padding: 12px 0 !important; }

/* 4. Portada -------------------------------------------------------------- */
.hero { position: relative; overflow: hidden; color: #fff; background: linear-gradient(100deg, #2b1050 0%, #331262 38%, #3d1677 62%, #451a85 100%); }
.hero__fila { min-height: 480px; display: flex; align-items: center; }
.hero__texto { position: relative; z-index: 2; max-width: 560px; padding: 56px 0 48px; }
.hero__texto > * { margin-block: 0; }
.hero .hero__titulo { color: #fff; font-weight: 800; font-size: clamp(42px, 5.4vw, 68px); line-height: 1.02; letter-spacing: -.02em; margin: 6px 0 22px; }
.hero__intro { font-size: 17px; line-height: 1.6; color: rgba(255, 255, 255, .92); max-width: 500px; margin: 0 0 28px !important; }
.hero__acciones { gap: 18px 26px !important; margin: 0 0 28px !important; }
.hero__acciones > * { margin: 0 !important; }
.hero__precio { margin: 0; font-size: 13px; line-height: 1.35; color: rgba(255, 255, 255, .85); }
.hero__precio strong { font-family: var(--letra-titulo); font-size: 26px; color: #fff; }
.hero__checks { list-style: none; margin: 0 !important; padding: 0; display: flex; flex-wrap: wrap; gap: 8px 24px; font-size: 13.5px; color: rgba(255, 255, 255, .92); }
.hero__checks li { display: flex; align-items: center; gap: 7px; margin: 0; }
.hero__checks li::before { content: ""; width: 15px; height: 15px; background: currentColor; -webkit-mask: var(--i-check) center / contain no-repeat; mask: var(--i-check) center / contain no-repeat; }
.hero__imagen { position: absolute !important; top: 0; right: 0; bottom: 0; width: 58%; max-width: none !important; margin: 0 !important; z-index: 1; }
.hero__imagen img { width: 100% !important; height: 100% !important; object-fit: cover; object-position: 30% center;
	-webkit-mask-image: linear-gradient(90deg, transparent 0, #000 16%); mask-image: linear-gradient(90deg, transparent 0, #000 16%); }

.ventajas { background: var(--fondo-suave); border-bottom: 1px solid var(--borde); }
.ventajas__fila { display: grid; grid-template-columns: repeat(4, 1fr); padding: 26px 0; }
.ventajas__fila > * { margin: 0 !important; }
.ventaja { display: grid; grid-template-columns: 42px 1fr; column-gap: 16px; align-items: center; padding: 4px 22px; border-left: 1px solid #ddd7ea; }
.ventaja:first-child { border-left: 0; padding-left: 0; }
.ventaja::before { grid-row: span 2; width: 42px !important; height: 42px !important; margin: 0 !important; background-color: var(--primario) !important; }
.ventaja > * { margin: 0 !important; }
.ventaja .ventaja__titulo { font-size: 15px; font-weight: 600; color: #34186a; align-self: end; }
.ventaja__texto { font-size: 12.5px; color: var(--suave); line-height: 1.4; align-self: start; }

.productos__rejilla { display: grid; grid-template-columns: repeat(5, 1fr); gap: 16px; }
.productos__rejilla > * { margin: 0 !important; }
.tarjeta { position: relative; display: flex; flex-direction: column; background: #fff; border: 1px solid var(--borde); border-radius: var(--radio); overflow: hidden; padding-bottom: 56px; box-shadow: 0 2px 10px rgba(44, 17, 82, .05); transition: transform .2s, box-shadow .2s; }
.tarjeta:hover { transform: translateY(-4px); box-shadow: var(--sombra); }
.tarjeta > * { margin: 0 !important; }
.tarjeta__imagen img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; background: #f1f0f4; display: block; }
.tarjeta .tarjeta__titulo { font-size: 16px; font-weight: 600; padding: 18px 18px 8px; }
.tarjeta__titulo a { color: var(--titulo); text-decoration: none; }
.tarjeta__titulo a::after { content: ""; position: absolute; inset: 0; z-index: 1; }
.tarjeta__texto { font-size: 13px; line-height: 1.5; color: var(--suave); padding: 0 18px; }
.tarjeta::after { content: ""; position: absolute; right: 16px; bottom: 16px; width: 30px; height: 30px; border-radius: 50%; background: var(--morado-boton) 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='m9 18 6-6-6-6'/%3E%3C/svg%3E") center / 16px no-repeat; transition: background-color .2s; }
.tarjeta:hover::after { background-color: var(--primario); }

.pasos { color: #fff; background: linear-gradient(90deg, #3e1872 0%, #4f2088 45%, #632aa6 100%); padding-top: 48px !important; padding-bottom: 48px !important; }
.pasos__fila { display: grid; grid-template-columns: 42% 1fr; gap: 40px; align-items: center; }
.pasos__fila > * { margin: 0 !important; }
.pasos__texto > * { margin-block: 0 0 16px; }
.pasos .pasos__titulo { color: #fff; font-size: clamp(26px, 2.6vw, 31px); font-weight: 700; margin-bottom: 12px; }
.pasos__texto p:not(.antetitulo) { color: rgba(255, 255, 255, .9); max-width: 400px; margin-bottom: 24px; }
.pasos__lista { display: grid; grid-template-columns: repeat(3, 1fr); gap: 28px; }
.pasos__lista > * { margin: 0 !important; }
.paso { position: relative; text-align: center; padding-top: 98px; background: radial-gradient(circle 42px at 50% 42px, #fff 97%, transparent 100%) no-repeat; }
.paso::before { position: absolute; top: 23px; left: 50%; width: 38px !important; height: 38px !important; margin: 0 0 0 -19px !important; background-color: var(--primario) !important; }
.paso:not(:last-child)::after { content: ""; position: absolute; top: 42px; right: -20px; width: 11px; height: 11px; border-top: 2.5px solid rgba(255, 255, 255, .85); border-right: 2.5px solid rgba(255, 255, 255, .85); transform: translateY(-50%) rotate(45deg); }
.paso > * { margin: 0 !important; }
.paso .paso__titulo { color: #fff; font-size: 18px; font-weight: 700; margin-bottom: 4px !important; }
.paso__texto { font-size: 13px; color: rgba(255, 255, 255, .85); max-width: 190px; margin: 0 auto !important; line-height: 1.45; }

.guia { padding-bottom: 40px !important; }
.opiniones { background: var(--fondo-suave); }

.hablemos { position: relative; overflow: hidden; padding-top: 40px !important; background: #fff; }
.hablemos__fila { display: grid; grid-template-columns: 1fr 1fr .78fr; gap: 24px; align-items: center; }
.hablemos__fila > * { margin: 0 !important; }
.hablemos__texto { padding-bottom: 40px; }
.hablemos__texto > * { margin-block: 0 0 14px; }
.hablemos .hablemos__titulo { font-size: clamp(36px, 4vw, 46px); font-weight: 800; }
.hablemos__texto p:not(.antetitulo) { max-width: 420px; }
.hablemos__imagen { align-self: end; }
.hablemos__imagen img { width: 100%; display: block; }
.hablemos__lema { font-family: var(--letra-mano); font-size: 26px; line-height: 1.25; color: #6a22c9; white-space: nowrap; transform: rotate(-9deg); margin-bottom: 40px !important; }
.hablemos__lema::after { content: ""; display: block; width: 190px; height: 22px; margin-top: 4px; background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 220 24'%3E%3Cpath d='M4 18c60-12 140-16 212-10' fill='none' stroke='%236a22c9' stroke-width='4' stroke-linecap='round'/%3E%3C/svg%3E") left center / contain no-repeat; }

/* 5. Páginas y textos ------------------------------------------------------- */
.cabecera-pagina { background: linear-gradient(100deg, #2e1156 0%, #43197e 60%, #5a24a0 100%); color: #fff; padding-top: 34px; padding-bottom: 38px; }
.cabecera-pagina > * { margin-block: 0; }
.cabecera-pagina .cabecera-pagina__titulo { color: #fff; font-size: clamp(30px, 4vw, 44px); font-weight: 800; margin: 6px 0 0; letter-spacing: -.01em; }
.migas, .migas a, .cabecera-pagina .woocommerce-breadcrumb { font-size: 13px; color: rgba(255, 255, 255, .8); text-decoration: none; margin: 0; }
.migas a:hover { color: #fff; text-decoration: underline; }
.migas__sep { margin: 0 8px; opacity: .6; }
.cabecera-pagina p:empty { display: none; }
.seccion--pagina { padding-top: 48px; padding-bottom: 72px; }

.texto, .guia, .woocommerce-Tabs-panel--description { font-size: 16.5px; line-height: 1.75; }
.texto h2, .guia h2 { margin: 1.8em 0 .6em; letter-spacing: -.01em; }
.texto h3, .guia h3 { margin: 1.6em 0 .5em; }
.texto > h2:first-child, .guia > h2:first-child { margin-top: 0; }
.texto li::marker, .guia li::marker { color: var(--primario); }
.texto strong, .guia strong { color: var(--titulo); font-weight: 600; }
.destacado { background: var(--fondo-suave); border: 1px solid var(--borde); border-radius: 14px; padding: 22px 26px !important; }
.destacado > *:last-child { margin-bottom: 0; }
.video { position: relative; aspect-ratio: 16 / 9; border-radius: var(--radio); overflow: hidden; background: #000; }
.video iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }

.acordeon { display: grid; gap: 12px; }
.acordeon > * { margin: 0 !important; }
.wp-block-details { border: 1px solid var(--borde); border-radius: 12px; background: #fff; transition: box-shadow .2s, border-color .2s; }
.wp-block-details[open] { border-color: #cdb8f3; box-shadow: var(--sombra); }
.wp-block-details summary { list-style: none; cursor: pointer; display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 18px 22px; font-family: var(--letra-titulo); font-weight: 600; font-size: 16px; color: var(--titulo); line-height: 1.4; }
.wp-block-details summary::-webkit-details-marker { display: none; }
.wp-block-details summary::after { content: ""; flex: none; width: 26px; height: 26px; border-radius: 50%; background: var(--fondo-suave) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%238f2cf0' stroke-width='2.4' stroke-linecap='round'%3E%3Cpath d='M12 6v12M6 12h12'/%3E%3C/svg%3E") center / 14px no-repeat; transition: transform .2s; }
.wp-block-details[open] summary::after { transform: rotate(45deg); }
.wp-block-details summary:hover { color: var(--primario); }
.wp-block-details > :not(summary) { margin-left: 22px; margin-right: 22px; }
.wp-block-details > :last-child { margin-bottom: 18px; }

.contacto { display: grid; grid-template-columns: 1fr 1fr; gap: 48px; align-items: start; }
.contacto > * { margin: 0 !important; }
.contacto__lista { list-style: none; padding: 0; display: grid; gap: 18px; }
.contacto__lista li { position: relative; padding-left: 64px; min-height: 48px; line-height: 1.5; background: linear-gradient(var(--fondo-suave), var(--fondo-suave)) 0 0 / 48px 48px no-repeat; }
.contacto__lista li::before { position: absolute; left: 12px; top: 12px; width: 24px !important; height: 24px !important; margin: 0 !important; background-color: var(--primario) !important; }
.contacto__lista strong { font-family: var(--letra-titulo); color: var(--titulo); font-weight: 600; }
.contacto__lista a { text-decoration: none; font-weight: 500; }
.contacto__mapa iframe { width: 100%; height: 440px; border: 0; border-radius: 14px; box-shadow: var(--sombra); display: block; }

.listado .wp-block-post { border: 1px solid var(--borde); border-radius: var(--radio); padding: 20px 24px; }
.listado__titulo a { color: var(--titulo); text-decoration: none; }

/* 6. Pie ------------------------------------------------------------------ */
.pie { background: #251549; color: rgba(255, 255, 255, .78); font-size: 14px; }
.pie a { color: #fff; text-decoration: none; }
.pie a:hover { color: #d9c2ff; }
.pie ul { list-style: none; margin: 0; padding: 0; }
.pie__fila { padding: 30px 0; gap: 40px !important; align-items: center; }
.pie__fila > * { margin: 0 !important; }
.logo--pie { padding-right: 40px; border-right: 1px solid rgba(255, 255, 255, .25); }
.logo--pie img { height: 44px !important; width: auto !important; }
.pie__ventajas { display: flex; gap: 44px; flex: 1; }
.pie__ventajas li { display: flex; align-items: center; color: #fff; font-size: 13.5px; }
.pie__ventajas li::before { width: 24px; height: 24px; margin-right: 10px; }
.redes.wp-block-social-links { gap: 14px; }
.redes .wp-social-link { background: rgba(255, 255, 255, .1) !important; border-radius: 50%; }
.redes .wp-social-link a { padding: 10px; }
.redes .wp-social-link:hover { background: var(--primario) !important; transform: none; }
.pie__info { display: grid; grid-template-columns: 1.1fr 1.3fr 1fr 1.1fr; gap: 32px; padding: 32px 0; border-top: 1px solid rgba(255, 255, 255, .12); }
.pie__info > * { margin: 0 !important; }
.pie__bloque > * { margin-block: 0 12px; }
.pie .pie__titulo { font-family: var(--letra-titulo); font-weight: 600; font-size: 13px; letter-spacing: .1em; text-transform: uppercase; color: #fff; margin-bottom: 14px; }
.pie__lista li { display: flex; align-items: flex-start; margin-bottom: 9px; line-height: 1.45; }
.pie__lista li::before { width: 17px; height: 17px; margin: 2px 10px 0 0; background-color: var(--resalte-claro); }
.pie__plantilla { font-weight: 600; display: flex; align-items: center; }
.pie__plantilla::before { background-color: var(--resalte-claro); }
.pie__copy { border-top: 1px solid rgba(255, 255, 255, .12); padding: 16px 0 18px; font-size: 13px; }
.pie__copy p { margin: 0; }
.pie__copy { align-items: center; gap: 12px !important; }
.pie__copy > * { margin: 0 !important; }
.pie__pagos img { height: 30px !important; width: auto !important; border-radius: 4px; }

/* 7. WooCommerce ----------------------------------------------------------- */
.woocommerce .button, .woocommerce button.button, .woocommerce a.button, .woocommerce input.button,
.woocommerce #respond input#submit, .woocommerce .button.alt, .woocommerce button.button.alt, .woocommerce a.button.alt {
	background: linear-gradient(90deg, var(--primario), #9d40f6); color: #fff; border: 0; border-radius: 999px;
	padding: 13px 26px; font-family: var(--letra-titulo); font-weight: 600; font-size: 15px; line-height: 1.2;
	box-shadow: 0 6px 16px rgba(143, 44, 240, .25); transition: background .15s, transform .15s;
}
.woocommerce .button:hover, .woocommerce button.button:hover, .woocommerce a.button:hover, .woocommerce .button.alt:hover,
.woocommerce button.button.alt:hover, .woocommerce a.button.alt:hover { background: var(--primario-hover); color: #fff; transform: translateY(-1px); }
.woocommerce .button:disabled, .woocommerce button.button:disabled[disabled] { opacity: .55; background: var(--primario); color: #fff; }
.woocommerce-message, .woocommerce-info, .woocommerce-error, .woocommerce-noreviews, p.no-comments {
	background: var(--fondo-suave); border-top: 0; border-left: 4px solid var(--primario); border-radius: 0 var(--radio) var(--radio) 0; color: var(--titulo); font-size: 15px;
}
.woocommerce-message::before, .woocommerce-info::before { color: var(--primario); }
.woocommerce-error { border-left-color: #d63638; }
.woocommerce-error::before { color: #d63638; }
.woocommerce-message .button, .woocommerce-info .button { padding: 9px 18px; font-size: 14px; }
.woocommerce form .form-row input.input-text, .woocommerce form .form-row textarea, .woocommerce form .form-row select,
.woocommerce .quantity .qty, .select2-container--default .select2-selection--single {
	border: 1px solid #d6d0e3; border-radius: 8px; padding: 11px 14px; font: inherit; font-size: 15px; color: var(--titulo); background: #fff;
}
.select2-container--default .select2-selection--single { height: auto; padding: 7px 8px; }
.select2-container--default .select2-selection--single .select2-selection__arrow { top: 8px; right: 8px; }
.woocommerce form .form-row input.input-text:focus, .woocommerce form .form-row textarea:focus, .woocommerce .quantity .qty:focus { outline: none; border-color: var(--primario); box-shadow: 0 0 0 3px rgba(143, 44, 240, .15); }
.woocommerce form .form-row label { font-weight: 500; color: var(--titulo); font-size: 14px; }
.woocommerce .quantity .qty { width: 84px; text-align: center; padding: 12px 8px; }

.woocommerce ul.products { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; margin: 0; }
.woocommerce ul.products::before, .woocommerce ul.products::after { display: none; }
.woocommerce ul.products li.product, .woocommerce ul.products[class*="columns-"] li.product, .woocommerce-page ul.products[class*="columns-"] li.product { float: none; width: auto; margin: 0; padding: 0 0 22px; text-align: center; border: 1px solid var(--borde); border-radius: 12px; overflow: hidden; background: #fff; transition: box-shadow .2s, transform .2s; }
.woocommerce ul.products li.product:hover { box-shadow: var(--sombra); transform: translateY(-3px); }
.woocommerce ul.products li.product a img { margin: 0 0 16px; aspect-ratio: 1; object-fit: cover; }
.woocommerce ul.products li.product .woocommerce-loop-product__title { font-family: var(--letra-titulo); font-size: 17px; font-weight: 600; color: var(--titulo); padding: 0 16px; }
.woocommerce ul.products li.product .price { color: var(--primario); font-family: var(--letra-titulo); font-weight: 700; font-size: 20px; }
.woocommerce ul.products li.product .price del { color: var(--suave); font-weight: 400; font-size: 15px; }
.woocommerce ul.products li.product .price ins { text-decoration: none; }
.woocommerce span.onsale { background: var(--primario); border-radius: 999px; min-height: 0; min-width: 0; line-height: 1; padding: 8px 12px; font-family: var(--letra-titulo); font-weight: 600; font-size: 13px; top: 12px; left: 12px; margin: 0; }
.woocommerce .woocommerce-result-count { color: var(--suave); font-size: 14px; }
.woocommerce .woocommerce-ordering select { border: 1px solid #d6d0e3; border-radius: 8px; padding: 9px 12px; font: inherit; font-size: 14px; }

.woocommerce div.product { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 56px; align-items: start; }
.woocommerce div.product div.images, .woocommerce div.product div.summary { float: none; width: auto; margin: 0; }
.woocommerce div.product div.images img { border-radius: 14px; }
.woocommerce div.product div.images .flex-control-thumbs { display: grid; grid-template-columns: repeat(5, 1fr); gap: 10px; margin-top: 10px; }
.woocommerce div.product div.images .flex-control-thumbs li { width: auto; float: none; }
.woocommerce div.product div.images .flex-control-thumbs li img { border-radius: 8px; opacity: .6; }
.woocommerce div.product div.images .flex-control-thumbs li img.flex-active, .woocommerce div.product div.images .flex-control-thumbs li img:hover { opacity: 1; }
.woocommerce div.product .product_title { font-size: clamp(30px, 3.4vw, 40px); font-weight: 800; letter-spacing: -.01em; margin-bottom: 12px; }
.woocommerce div.product p.price, .woocommerce div.product span.price { color: var(--primario); font-family: var(--letra-titulo); font-weight: 800; font-size: 34px; margin-bottom: 16px; }
.woocommerce div.product p.price del { color: var(--suave); font-size: 20px; font-weight: 500; opacity: .8; }
.woocommerce div.product p.price ins { text-decoration: none; }
.woocommerce div.product .woocommerce-product-details__short-description { font-size: 16px; margin-bottom: 20px; }
.woocommerce div.product form.cart { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; margin: 0 0 24px; padding: 20px; background: var(--fondo-suave); border-radius: 14px; }
.woocommerce div.product form.cart::before, .woocommerce div.product form.cart::after { display: none; }
.woocommerce div.product form.cart div.quantity { float: none; margin: 0; }
.woocommerce div.product form.cart .button { float: none; flex: 1; min-width: 200px; padding: 15px 26px; font-size: 16px; }
.ficha-ventajas { list-style: none; margin: 0 0 16px; padding: 0; display: grid; gap: 8px; font-size: 15px; }
.ficha-ventajas li { display: flex; gap: 10px; align-items: flex-start; }
.ficha-ventajas li::before { content: ""; flex: none; width: 18px; height: 18px; margin-top: 4px; background: var(--primario); -webkit-mask: var(--i-check) center / contain no-repeat; mask: var(--i-check) center / contain no-repeat; }
.woocommerce div.product .product_meta { font-size: 13px; color: var(--suave); border-top: 1px solid var(--borde); padding-top: 14px; }
.woocommerce div.product .woocommerce-tabs, .woocommerce div.product .related, .woocommerce div.product .upsells { grid-column: 1 / -1; }
.woocommerce div.product .woocommerce-tabs ul.tabs { padding: 0; margin: 0 0 24px; border-bottom: 1px solid var(--borde); display: flex; gap: 6px; overflow-x: auto; }
.woocommerce div.product .woocommerce-tabs ul.tabs::before { display: none; }
.woocommerce div.product .woocommerce-tabs ul.tabs li { border: 0; background: none; border-radius: 0; margin: 0; padding: 0; }
.woocommerce div.product .woocommerce-tabs ul.tabs li::before, .woocommerce div.product .woocommerce-tabs ul.tabs li::after { display: none; }
.woocommerce div.product .woocommerce-tabs ul.tabs li a { padding: 12px 18px; font-family: var(--letra-titulo); font-weight: 600; color: var(--suave); border-bottom: 3px solid transparent; }
.woocommerce div.product .woocommerce-tabs ul.tabs li.active a { color: var(--primario); border-bottom-color: var(--primario); }
.woocommerce div.product .woocommerce-tabs .panel { max-width: 880px; }

.woocommerce table.shop_table { border: 1px solid var(--borde); border-radius: 12px; border-collapse: separate; overflow: hidden; }
.woocommerce table.shop_table th { font-family: var(--letra-titulo); font-weight: 600; color: var(--titulo); background: var(--fondo-suave); }
.woocommerce table.shop_table td, .woocommerce table.shop_table th { padding: 14px 16px; border-color: var(--borde); }
.woocommerce table.shop_table .product-name a { color: var(--titulo); font-weight: 600; text-decoration: none; }
.woocommerce table.shop_table td.product-name dl.variation { font-size: 13.5px; color: var(--suave); margin-top: 6px; }
.woocommerce table.shop_table td.product-name dl.variation dt { font-weight: 600; color: var(--texto); }
.woocommerce a.remove { color: #d63638 !important; }
.woocommerce a.remove:hover { background: #d63638; color: #fff !important; }
.woocommerce table.cart td.actions .coupon .input-text { width: 180px; margin-right: 8px; }
.woocommerce .cart-collaterals .cart_totals { background: var(--fondo-suave); border-radius: 14px; padding: 24px; }
.woocommerce .cart-collaterals .cart_totals h2 { font-size: 22px; }
.woocommerce .cart-collaterals .cart_totals table.shop_table { background: #fff; }
.woocommerce-checkout #customer_details h3, .woocommerce-checkout #order_review_heading { font-size: 22px; font-weight: 700; }
.woocommerce-checkout #order_review { background: var(--fondo-suave); border-radius: 14px; padding: 24px; }
.woocommerce-checkout #payment { background: #fff; border-radius: 12px; border: 1px solid var(--borde); }
.woocommerce-checkout #payment div.payment_box { background: var(--fondo-suave); color: var(--texto); }
.woocommerce-checkout #payment div.payment_box::before { border-bottom-color: var(--fondo-suave); }
.woocommerce-account .woocommerce-MyAccount-navigation ul { list-style: none; margin: 0; padding: 0; border: 1px solid var(--borde); border-radius: 12px; overflow: hidden; }
.woocommerce-account .woocommerce-MyAccount-navigation li a { display: block; padding: 12px 18px; color: var(--titulo); text-decoration: none; border-bottom: 1px solid var(--borde); font-weight: 500; }
.woocommerce-account .woocommerce-MyAccount-navigation li.is-active a, .woocommerce-account .woocommerce-MyAccount-navigation li a:hover { background: var(--fondo-suave); color: var(--primario); }
.woocommerce form.login, .woocommerce form.register { border: 1px solid var(--borde); border-radius: 14px; padding: 26px; }

/* 8. Pantallas medianas y móvil -------------------------------------------- */
@media (max-width: 1180px) {
	.cabecera__fila { gap: 20px !important; }
	.navegacion .wp-block-navigation-item__content { padding: 10px 8px !important; font-size: 14.5px; }
	.buscador { width: 200px; }
	.productos__rejilla { grid-template-columns: repeat(3, 1fr); }
	.pie__ventajas { gap: 24px; }
}

@media (max-width: 980px) {
	.barra-superior__ventajas li:not(:first-child) { display: none; }
	.cabecera__fila { min-height: 72px; flex-wrap: wrap !important; padding: 10px 0; }
	.logo img { height: 44px !important; }
	.navegacion { flex: none; order: 2; }
	.buscador { order: 3; width: 100%; flex-basis: 100%; }
	.hero__fila { display: block; min-height: 0; }
	.hero__texto { padding: 44px 0 8px; max-width: none; }
	.hero__imagen { position: relative !important; width: auto; margin: 0 -24px !important; }
	.hero__imagen img { height: auto !important; -webkit-mask-image: linear-gradient(180deg, transparent 0, #000 14%); mask-image: linear-gradient(180deg, transparent 0, #000 14%); }
	.ventajas__fila { grid-template-columns: repeat(2, 1fr); gap: 20px 0; }
	.ventaja:nth-child(3) { border-left: 0; padding-left: 0; }
	.pasos__fila { grid-template-columns: 1fr; }
	.hablemos__fila { grid-template-columns: 1fr 1fr; }
	.hablemos__lema { display: none; }
	.contacto { grid-template-columns: 1fr; }
	.logo--pie { border-right: 0; padding-right: 0; }
	.pie__ventajas { order: 3; flex-basis: 100%; flex-wrap: wrap; }
	.pie__info { grid-template-columns: 1fr 1fr; }
	.woocommerce div.product { grid-template-columns: 1fr; gap: 28px; }
	.woocommerce ul.products { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 640px) {
	.barra-superior { font-size: 12px; }
	.barra-superior__cuenta { gap: 16px; }
	.barra-superior__cuenta > a:first-child span { display: none; }
	.seccion { padding-top: 48px !important; padding-bottom: 48px !important; }
	.productos__rejilla { grid-template-columns: repeat(2, 1fr); gap: 12px; }
	.ventajas__fila { grid-template-columns: 1fr; }
	.ventaja { border-left: 0; padding: 0; }
	.pasos__lista { grid-template-columns: 1fr; gap: 26px; }
	.paso:not(:last-child)::after { top: auto; bottom: -20px; right: 50%; transform: translateX(50%) rotate(135deg); }
	.hablemos__fila { grid-template-columns: 1fr; }
	.hablemos__texto { padding-bottom: 0; }
	.pie__info { grid-template-columns: 1fr; gap: 24px; }
	.woocommerce ul.products { grid-template-columns: 1fr; }
	.woocommerce div.product form.cart .button { min-width: 0; }
}

@media (prefers-reduced-motion: reduce) {
	*, *::before, *::after { transition: none !important; scroll-behavior: auto !important; }
}
.adtf-nombre { font: inherit; background: none; padding: 0; color: inherit; }
