﻿/*
Theme Name: Atelier Child
Theme URI: https://example.com/atelier-child
Author: Atelier Brands
Author URI: https://example.com
Description: Tema hijo minimo para la V1 de Atelier Brands.
Version: 0.1.0
Text Domain: atelier-child
*/

/*
 * Base visual minima del tema.
 * Estilos globales se agregaran en iteraciones siguientes.
 */

:root {
	--ab-bg: #f6f4ef;
	--ab-surface: #ffffff;
	--ab-text: #1c1c1b;
	--ab-muted: #5a5a57;
	--ab-border: #d8d2c7;
	--ab-accent: #2d2926;
	--ab-surface-soft: #fbf9f4;
	--ab-border-strong: #c9c1b3;
}

* {
	box-sizing: border-box;
}

body {
	margin: 0;
	background: var(--ab-bg);
	color: var(--ab-text);
	font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
	line-height: 1.65;
}

html {
	margin-top: 0 !important;
}

main {
	max-width: 1040px;
	margin: 0 auto;
	padding: 3.4rem 1.4rem 5rem;
}

body:not(.home) main {
	padding-top: 0;
}

.home main {
	padding-top: 0;
	padding-left: 0;
	padding-right: 0;
	padding-bottom: 0;
	max-width: none;
}

.page-modelos-de-linea main {
	width: 100%;
	max-width: none;
	padding-top: 0;
	padding-left: 0;
	padding-right: 0;
	background: #fff;
}

body.ab-page-modelos-linea main {
	width: 100%;
	max-width: none;
	padding-top: 0;
	padding-left: 0;
	padding-right: 0;
	background: #fff;
}

body.ab-page-nosotros main {
	width: 100%;
	max-width: none;
	padding-top: 0;
	padding-left: 0;
	padding-right: 0;
	background: #fbf8f1;
}

body.ab-page-pedidos-personalizados main {
	width: 100%;
	max-width: none;
	padding-top: 0;
	padding-left: 0;
	padding-right: 0;
	background: #fbf8f1;
}

.page-modelos-de-linea,
.page-modelos-de-linea body,
body.ab-page-modelos-linea {
	background: #fff;
}

.modelos-linea-page .modelos-linea-encabezado {
	width: 100vw;
	max-width: none;
	padding: 1.35rem 2.35rem 1.4rem !important;
	margin-left: calc(50% - 50vw);
	margin-right: calc(50% - 50vw);
	border-color: transparent;
	border-bottom-color: transparent;
	text-align: center;
}

.modelos-linea-page {
	display: block;
	margin-top: 0;
	gap: 0;
}

.modelos-linea-page .modelos-linea-encabezado h1 {
	margin: 0 auto 0.55rem !important;
	max-width: none;
	transform: none;
	font-size: clamp(2rem, 3.7vw, 3.05rem);
	letter-spacing: 0.16em;
	line-height: 1.02;
	font-weight: 600;
}

.modelos-linea-page .modelos-linea-collection {
	margin: 0 auto 1.2rem;
	max-width: 40ch;
	font-size: clamp(1.2rem, 2.1vw, 1.95rem);
	line-height: 1.2;
	letter-spacing: 0.08em;
	font-weight: 300;
}

.modelos-linea-page .modelos-linea-productos {
	padding: 0 2.35rem 2.35rem;
	margin-top: 0;
	border-top: 0;
}

.modelos-linea-page .modelos-linea-encabezado .ab-lead {
	margin: 0 auto !important;
	max-width: 70rem;
	font-size: clamp(1rem, 1.45vw, 1.45rem);
	line-height: 1.35;
	letter-spacing: 0.04em;
	color: rgba(28, 28, 27, 0.82);
}

.modelos-linea-page .modelos-linea-beneficios,
.modelos-linea-page .modelos-linea-variantes,
.modelos-linea-page .modelos-linea-cta-secundario {
	width: min(100% - 4.7rem, 58rem);
	margin-left: auto;
	margin-right: auto;
	text-align: center;
}

.modelos-linea-page .modelos-linea-beneficios h2,
.modelos-linea-page .modelos-linea-beneficios p,
.modelos-linea-page .modelos-linea-variantes h2,
.modelos-linea-page .modelos-linea-cta-secundario h2,
.modelos-linea-page .modelos-linea-cta-secundario p {
	margin-left: auto;
	margin-right: auto;
	text-align: center;
}

.modelos-linea-page .modelos-linea-variantes .ab-list {
	display: inline-block;
	margin: 0 auto;
	text-align: left;
}

.modelos-linea-page .modelos-linea-cta-secundario .home-cta-actions {
	justify-content: center;
}

header,
footer {
	max-width: 1040px;
	margin: 0 auto;
	padding: 1.35rem 1.4rem;
}

.site-header {
	width: 100%;
	max-width: none;
	margin: 0;
	padding: 0;
	border-bottom: 1px solid rgba(230, 230, 232, 0.95);
	background: rgba(251, 251, 253, 0.96);
}

.site-header-inner {
	position: relative;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	gap: 0.2rem 0.38rem;
	min-height: 0px;
	max-width: 980px;
	height: 60px;
	margin: 0 auto;
	width: 100%;
}

.site-brand {
	margin: 0;
}

.site-brand {
	position: absolute;
	left: 0;
	top: 50%;
	transform: translateY(-50%);
	font-weight: 400;
	letter-spacing: 0.07em;
	color: #3b3b3d;
	font-size: 0.7rem;
	text-transform: uppercase;
	white-space: nowrap;
	opacity: 0.9;
}

.site-nav {
	margin: 0;
}

.site-header-actions {
	display: contents;
}

.site-whatsapp-link,
.site-cart-link {
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 1.72rem;
	height: 1.72rem;
	margin-left: 0;
	border-radius: 999px;
	color: var(--ab-accent);
	text-decoration: none;
	transition:
		color 0.2s ease,
		background-color 0.2s ease,
		box-shadow 0.2s ease;
}

.site-whatsapp-link {
	right: 2.3rem;
}

.site-cart-link {
	right: 0;
}

.site-whatsapp-link:hover,
.site-whatsapp-link:focus,
.site-cart-link:hover,
.site-cart-link:focus {
	color: #111;
	background: rgba(255, 255, 255, 0.75);
	box-shadow: 0 0 0 1px rgba(214, 204, 188, 0.85);
}

.site-whatsapp-link-icon,
.site-cart-link-icon {
	display: inline-flex;
	width: 0.92rem;
	height: 0.92rem;
	line-height: 1;
}

.site-cart-link-icon svg {
	display: block;
	width: 100%;
	height: 100%;
}

.site-whatsapp-link-icon svg {
	display: block;
	width: 100%;
	height: 100%;
}

.site-cart-count {
	position: absolute;
	top: 0.02rem;
	right: 0;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 0.8rem;
	height: 0.8rem;
	padding: 0 0.18rem;
	border-radius: 999px;
	background: var(--ab-accent);
	color: #fff;
	font-size: 0.5rem;
	font-weight: 600;
	line-height: 1;
	transform: translate(35%, -15%);
}

.ab-main-menu {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 0.16rem 0.3rem;
	margin: 0;
	padding: 0;
	list-style: none;
	align-items: center;
}

.ab-main-menu a {
	color: var(--ab-accent);
	text-decoration: none;
	font-size: 0.7rem;
	letter-spacing: 0.01em;
	font-weight: 400;
	text-transform: uppercase;
	border-bottom: 1px solid transparent;
	padding: 0.12rem 0.22rem;
	line-height: 1.15;
	border-radius: 999px;
	transition:
		color 0.2s ease,
		background-color 0.2s ease,
		box-shadow 0.2s ease,
		border-bottom-color 0.2s ease;
}

.ab-main-menu a:hover,
.ab-main-menu a:focus {
	color: #111;
	background: rgba(255, 255, 255, 0.75);
	border-bottom-color: transparent;
	box-shadow: 0 0 0 1px rgba(214, 204, 188, 0.85);
}

.home-v1 section {
	background: var(--ab-surface);
	padding: 2.35rem;
	border: 1px solid var(--ab-border);
}

.home-v1 {
	display: grid;
	gap: 1.8rem;
}

.home-v2-page > .ab-home-phase1 {
	margin-top: 0;
	padding: 0;
	border: 0;
	padding: 0;
	background: transparent;
}

.home-v2-page > .ab-home-phase1 .ab-home-manifesto {
	min-height: clamp(20rem, 46vh, 32rem);
	width: 100vw;
	max-width: 100vw;
	margin-left: calc(50% - 50vw);
	margin-right: calc(50% - 50vw);
	margin-top: 0;
}

.home main > .home-v2-page {
	gap: 0.9rem;
	margin-top: 0;
}

.home main > .home-v2-page > .ab-home-phase1 {
	padding-top: 0;
	padding-bottom: 0;
	margin-top: 0;
}

.home-v2-page > .ab-home-brand-benefits {
	padding: 1.4rem 1.25rem;
}

.home-v2-page > .ab-home-brand-benefits .ab-home-brand-benefits-intro {
	margin-bottom: 1rem;
}

.home-v2-page > .ab-home-brand-benefits .ab-home-brand-benefits-intro h2 {
	font-size: clamp(1.5rem, 2.4vw, 2.2rem);
	margin-bottom: 0.45rem;
}

.home-v2-page > .ab-home-brand-benefits .ab-home-brand-benefits-intro p {
	font-size: 0.98rem;
	line-height: 1.45;
}

.home-v2-page > .ab-home-brand-benefits .ab-home-brand-benefits-grid {
	gap: 0.85rem;
}

.home-v2-page > .ab-home-brand-benefits .ab-home-brand-benefit-card {
	padding: 1rem 0.95rem;
}

.home-v2-page > .ab-home-brand-benefits .ab-home-brand-benefit-card h3 {
	font-size: 0.9rem;
	margin-bottom: 0.45rem;
}

.home-v2-page > .ab-home-brand-benefits .ab-home-brand-benefit-card p {
	font-size: 0.92rem;
	line-height: 1.45;
}

.ab-home-phase3-layout {
	display: block;
}


/* Ancho editorial mas contenido para paginas institucionales */
.portafolio-page,
.nosotros-page,
.pedidos-personalizados-page {
	width: 100%;
	max-width: none;
	margin: 0;
}

.home .home-v1 {
	width: 100%;
	max-width: none;
	margin-left: 0;
	margin-right: 0;
}

h1,
h2 {
	margin-top: 0;
	color: var(--ab-accent);
	line-height: 1.2;
	letter-spacing: 0.01em;
}

h1 {
	font-size: clamp(2.15rem, 3.7vw, 3.15rem);
	margin-bottom: 1.25rem;
	max-width: 18ch;
}

h2 {
	font-size: clamp(1.5rem, 2.25vw, 2rem);
	margin-bottom: 1.05rem;
	max-width: 24ch;
}

p {
	margin: 0 0 1.18rem;
	max-width: 68ch;
}

.ab-lead {
	font-size: clamp(1.1rem, 1.45vw, 1.28rem);
	line-height: 1.8;
	color: #2f2f2d;
	max-width: 58ch;
}

.ab-route-note {
	padding: 0.65rem 0.85rem;
	margin-top: 0.5rem;
	border-left: 2px solid var(--ab-accent);
	background: #f5f2eb;
	border-radius: 1rem;
}

.ab-list {
	margin: 0;
	padding-left: 1.2rem;
	max-width: 72ch;
}

.ab-list li {
	margin-bottom: 0.68rem;
	padding-left: 0.15rem;
}

.ab-list li:last-child {
	margin-bottom: 0;
}

.ab-cta-primary {
	border-color: #c7bead;
	background: #f9f6ef;
	padding-top: 2.6rem;
	padding-bottom: 2.6rem;
}

.ab-cta-secondary {
	background: #fcfbf8;
	padding-top: 2.3rem;
	padding-bottom: 2.3rem;
}

.home-cta-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 0.75rem;
	margin-top: 1.25rem;
}

.ab-button {
	display: inline-block;
	padding: 0.72rem 1.22rem;
	border: 1px solid var(--ab-accent);
	background: var(--ab-accent);
	color: #fff;
	text-decoration: none;
	font-size: 0.92rem;
	letter-spacing: 0.02em;
	text-transform: uppercase;
	font-weight: 600;
	border-radius: 1rem;
}

.ab-button:hover,
.ab-button:focus {
	background: #000;
	border-color: #000;
}

.ab-button-outline {
	background: transparent;
	color: var(--ab-accent);
}

.ab-button-outline:hover,
.ab-button-outline:focus {
	background: #ece8df;
	border-color: var(--ab-accent);
	color: var(--ab-accent);
}

.home .home-v1 {
	gap: clamp(2.75rem, 5vw, 4.5rem);
	padding-top: 0;
}

.home .home-v1 section {
	padding: clamp(2.35rem, 4vw, 3.5rem);
}

.home .ab-home-phase1,
.home .ab-home-phase2 {
	padding: 0;
}

.ab-home-hero-shell {
	background: #ffffff;
	padding-bottom: clamp(1.4rem, 2.8vw, 2.3rem);
	border-bottom: 1px solid rgba(214, 204, 188, 0.85);
}

@media (min-width: 1025px) {
	.home .ab-home-hero-shell {
		display: grid;
		grid-template-rows: 1fr auto;
		gap: 0.75rem;
		height: calc(100vh - 52px);
		min-height: calc(100vh - 52px);
		padding-bottom: 0.75rem;
		overflow: hidden;
	}

	.home.admin-bar .ab-home-hero-shell {
		height: calc(100vh - 84px);
		min-height: calc(100vh - 84px);
	}

	.home .ab-home-hero-shell .ab-home-manifesto,
	.home .ab-home-hero-shell .ab-home-manifesto-media {
		min-height: 0;
		height: 100%;
	}

	.home .ab-home-hero-shell .ab-home-phase2 {
		padding: 0.75rem 1rem 0;
		gap: 0.75rem;
	}

	.home .ab-home-hero-shell .ab-home-phase2 article {
		padding: 1rem 1rem 0.9rem;
		box-shadow: none;
	}

	.home .ab-home-hero-shell .ab-home-phase2 h2 {
		font-size: 1rem;
		margin-bottom: 0.45rem;
		line-height: 1.15;
	}

	.home .ab-home-hero-shell .ab-home-phase2 p {
		margin-bottom: 0.45rem;
		font-size: 0.94rem;
		line-height: 1.35;
	}

	.home .ab-home-hero-shell .ab-home-phase2-eyebrow,
	.home .ab-home-hero-shell .ab-home-phase2-teaser {
		font-size: 0.76rem;
	}

	.home .ab-home-hero-shell .ab-home-phase2-list {
		margin: 0 0 0.7rem;
	}

	.home .ab-home-hero-shell .ab-home-phase2-list li {
		font-size: 0.88rem;
		margin-bottom: 0.2rem;
	}
}

.ab-home-phase1 {
	border: none;
	background: transparent;
	padding: 0;
	display: block;
	gap: 0;
	padding-top: clamp(0.8rem, 2vw, 1.4rem);
	padding-bottom: clamp(1.7rem, 3vw, 2.8rem);
	margin-top: 0;
	padding-left: 0;
	padding-right: 0;
}

@media (min-width: 1025px) {
	.home .ab-home-phase1 {
		height: auto;
		min-height: 0;
		padding-bottom: 0.75rem;
	}

	.home.admin-bar .ab-home-phase1 {
		height: auto;
		min-height: 0;
	}

	.home .ab-home-solutions {
		gap: 0.75rem;
		margin-top: 0;
	}

	.home .ab-home-hero-shell .ab-home-solutions {
		padding-top: 0.75rem;
		padding-bottom: 0;
	}

	.home .ab-home-solution-card {
		padding: 1rem 1rem 0.9rem;
	}

	.home .ab-home-solution-card h2 {
		font-size: 1rem;
		margin-bottom: 0.45rem;
	}

	.home .ab-home-solution-card p {
		margin-bottom: 0.45rem;
		font-size: 0.94rem;
		line-height: 1.35;
	}

	.home .ab-home-solution-link,
	.home .ab-home-solution-teaser {
		font-size: 0.76rem;
	}
}

.ab-home-hero-shell .ab-home-manifesto,
.ab-home-phase1 .ab-home-manifesto {
	height: 100%;
}

.ab-home-hero-shell .ab-home-manifesto-media,
.ab-home-phase1 .ab-home-manifesto-media {
	height: 100%;
	aspect-ratio: auto;
}

.ab-home-manifesto {
	position: relative;
	padding: 0;
	border: 0;
	background: transparent;
	overflow: hidden;
	box-shadow: none;
	min-height: clamp(23.8rem, 58.8vh, 40.6rem);
}

.ab-home-hero-shell .ab-home-manifesto {
	width: 100%;
}

.ab-home-hero-shell .ab-home-phase2 {
	width: 100%;
	max-width: none;
	padding: clamp(0.8rem, 2vw, 1.25rem) clamp(1rem, 3vw, 3rem) 0;
}

.ab-home-manifesto-eyebrow {
	position: absolute;
	left: clamp(0.85rem, 1.8vw, 1.6rem);
	top: clamp(0.85rem, 1.8vw, 1.5rem);
	z-index: 4;
	margin: 0;
	padding: 0.34rem 0.58rem;
	max-width: none;
	font-size: 0.62rem;
	letter-spacing: 0.11em;
	text-transform: uppercase;
	color: rgba(247, 243, 235, 0.95);
	border: 1px solid rgba(247, 243, 235, 0.46);
	background: rgba(35, 31, 28, 0.22);
	backdrop-filter: blur(2px);
}

.ab-home-manifesto-cta {
	position: absolute;
	right: clamp(0.9rem, 2vw, 1.8rem);
	bottom: clamp(0.9rem, 2vw, 1.8rem);
	z-index: 4;
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-end;
	gap: 0.5rem;
	margin: 0;
	max-width: min(32rem, calc(100% - 1.8rem));
	padding: 0.42rem;
	background: transparent;
	border: 0;
	backdrop-filter: none;
}

.ab-home-manifesto-cta .ab-button {
	box-shadow: none;
	font-size: 0.68rem;
	letter-spacing: 0.08em;
	padding: 0.58rem 0.82rem;
	border-color: rgba(248, 244, 237, 0.86);
	background: rgba(30, 27, 24, 0.76);
	color: rgba(249, 246, 240, 0.98);
}

.ab-home-manifesto-cta .ab-button-outline {
	background: rgba(247, 243, 235, 0.9);
	border-color: rgba(247, 243, 235, 0.95);
	color: #2d2926;
}

.ab-home-manifesto-cta .ab-button,
.ab-home-manifesto-cta .ab-button-outline {
	border-width: 1px;
}

.ab-home-manifesto-input {
	position: absolute;
	opacity: 0;
	pointer-events: none;
}

.ab-home-manifesto-carousel {
	display: flex;
	width: 300%;
	height: 100%;
	transition: transform 0.45s ease;
}

.ab-home-manifesto-slide {
	width: calc(100% / 3);
	height: 100%;
}

.ab-home-manifesto-media {
	position: relative;
	min-height: clamp(23.8rem, 58.8vh, 40.6rem);
	width: 100%;
	height: 100%;
	overflow: hidden;
	background-color: #c7b296;
}

.ab-home-manifesto-image {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
	filter: saturate(0.88) contrast(1.02) brightness(0.9);
}

.ab-home-manifesto-media::after {
	content: "";
	position: absolute;
	inset: 0;
	background:
		linear-gradient(0deg, rgba(18, 16, 14, 0.52) 0%, rgba(18, 16, 14, 0.12) 30%, rgba(18, 16, 14, 0) 52%),
		linear-gradient(180deg, rgba(18, 16, 14, 0.24) 0%, rgba(18, 16, 14, 0.02) 16%, rgba(18, 16, 14, 0) 30%);
	pointer-events: none;
}

.ab-home-manifesto-media-1 {
	background-image:
		radial-gradient(120% 100% at 80% 8%, rgba(255, 255, 255, 0.3), transparent 58%),
		linear-gradient(135deg, rgba(19, 17, 15, 0.42), rgba(19, 17, 15, 0.12)),
		linear-gradient(180deg, #dfd0b8 0%, #c8b194 100%);
}

.ab-home-manifesto-media-2 {
	background-image:
		radial-gradient(120% 100% at 80% 8%, rgba(255, 255, 255, 0.27), transparent 58%),
		linear-gradient(135deg, rgba(19, 17, 15, 0.4), rgba(19, 17, 15, 0.1)),
		linear-gradient(180deg, #dccbb2 0%, #c4ab8c 100%);
}

.ab-home-manifesto-media-3 {
	background-image:
		radial-gradient(120% 100% at 80% 8%, rgba(255, 255, 255, 0.28), transparent 58%),
		linear-gradient(135deg, rgba(19, 17, 15, 0.4), rgba(19, 17, 15, 0.11)),
		linear-gradient(180deg, #d8c6ae 0%, #bea585 100%);
}

.ab-home-manifesto-dots {
	position: absolute;
	left: clamp(0.9rem, 1.8vw, 1.7rem);
	bottom: clamp(0.95rem, 1.8vw, 1.7rem);
	display: flex;
	gap: 0.36rem;
	z-index: 4;
}

.ab-home-manifesto-dots label {
	width: 0.34rem;
	height: 0.34rem;
	border: 1px solid rgba(248, 244, 237, 0.8);
	border-radius: 999px;
	background: rgba(248, 244, 237, 0.12);
	cursor: pointer;
}

.ab-home-manifesto-arrows {
	position: absolute;
	top: 50%;
	z-index: 4;
	transform: translateY(-50%);
}

.ab-home-manifesto-arrows-prev {
	left: clamp(0.9rem, 1.8vw, 1.6rem);
}

.ab-home-manifesto-arrows-next {
	right: clamp(0.9rem, 1.8vw, 1.6rem);
}

.ab-home-manifesto-arrow {
	display: none;
	position: relative;
	width: 3.1rem;
	height: 3.1rem;
	border-radius: 999px;
	background: rgba(244, 240, 232, 0.72);
	box-shadow: 0 0 0 1px rgba(218, 209, 194, 0.95);
	cursor: pointer;
	backdrop-filter: blur(4px);
}

.ab-home-manifesto-arrow::before {
	content: "";
	position: absolute;
	top: 50%;
	left: 50%;
	width: 0.82rem;
	height: 0.82rem;
	border-top: 3px solid #5a5650;
	border-right: 3px solid #5a5650;
	transform-origin: center;
}

.ab-home-manifesto-arrow-prev::before {
	transform: translate(-35%, -50%) rotate(-135deg);
}

.ab-home-manifesto-arrow-next::before {
	transform: translate(-65%, -50%) rotate(45deg);
}

.ab-home-manifesto-arrow:hover,
.ab-home-manifesto-arrow:focus {
	background: rgba(250, 247, 240, 0.9);
	box-shadow: 0 0 0 1px rgba(205, 195, 178, 0.98);
}

#ab-manifesto-slide-1:checked ~ .ab-home-manifesto-carousel {
	transform: translateX(0);
}

#ab-manifesto-slide-2:checked ~ .ab-home-manifesto-carousel {
	transform: translateX(-33.3333%);
}

#ab-manifesto-slide-3:checked ~ .ab-home-manifesto-carousel {
	transform: translateX(-66.6666%);
}

#ab-manifesto-slide-1:checked ~ .ab-home-manifesto-dots label:nth-child(1),
#ab-manifesto-slide-2:checked ~ .ab-home-manifesto-dots label:nth-child(2),
#ab-manifesto-slide-3:checked ~ .ab-home-manifesto-dots label:nth-child(3) {
	background: #f6f1e8;
	border-color: #f6f1e8;
}

#ab-manifesto-slide-1:checked ~ .ab-home-manifesto-arrows-prev label:nth-child(1),
#ab-manifesto-slide-2:checked ~ .ab-home-manifesto-arrows-prev label:nth-child(2),
#ab-manifesto-slide-3:checked ~ .ab-home-manifesto-arrows-prev label:nth-child(3),
#ab-manifesto-slide-1:checked ~ .ab-home-manifesto-arrows-next label:nth-child(1),
#ab-manifesto-slide-2:checked ~ .ab-home-manifesto-arrows-next label:nth-child(2),
#ab-manifesto-slide-3:checked ~ .ab-home-manifesto-arrows-next label:nth-child(3) {
	display: block;
}

.ab-home-solutions {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 0.85rem;
	margin-top: 0.3rem;
}

.ab-home-solution-card {
	border: 1px solid rgba(214, 204, 188, 0.85);
	background: rgba(250, 246, 238, 0.88);
	padding: 1.35rem 1.2rem;
}

.ab-home-solution-card h2 {
	font-size: 1.2rem;
	margin-bottom: 0.7rem;
	max-width: none;
}

.ab-home-solution-card p {
	margin-bottom: 0.8rem;
	max-width: 34ch;
	color: #403c36;
}

.ab-home-solution-link {
	font-size: 0.82rem;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	text-decoration: none;
	color: var(--ab-accent);
	border-bottom: 1px solid #c8bfaf;
	padding-bottom: 0.14rem;
}

.ab-home-solution-link:hover,
.ab-home-solution-link:focus {
	border-bottom-color: var(--ab-accent);
}

.ab-home-solution-teaser {
	display: inline-block;
	font-size: 0.8rem;
	letter-spacing: 0.05em;
	text-transform: uppercase;
	color: #7b746a;
}

.ab-home-brand-benefits {
	border: 1px solid rgba(214, 205, 191, 0.88);
	background: linear-gradient(180deg, #e7e1d4 0%, #e3ddcf 100%);
	padding: clamp(2.4rem, 4vw, 3.6rem) clamp(1.6rem, 3vw, 2.6rem);
	border-radius: 0;
}

.ab-home-brand-benefits-intro {
	margin-bottom: clamp(1.8rem, 3vw, 2.8rem);
}

.ab-home-brand-benefits-intro h2 {
	max-width: none;
	margin-bottom: 0.9rem;
	font-size: clamp(2.1rem, 3.4vw, 3rem);
	letter-spacing: 0.1em;
	text-transform: uppercase;
}

.ab-home-brand-benefits-intro p {
	max-width: 60rem;
	font-size: clamp(1.02rem, 1.35vw, 1.22rem);
	line-height: 1.75;
	color: #433f38;
}

.ab-home-brand-benefits-grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: clamp(1rem, 1.8vw, 1.5rem);
}

.ab-home-phase3-intro {
	padding: clamp(1.6rem, 3vw, 2.8rem) clamp(1.4rem, 3vw, 2.4rem);
	text-align: center;
}

.ab-home-phase3-intro h2 {
	margin: 0 auto;
	width: fit-content;
	max-width: 100%;
	font-size: clamp(1.5rem, 3vw, 2.6rem);
	line-height: 1.1;
	letter-spacing: 0.06em;
	text-transform: uppercase;
}

.ab-home-phase3-intro-line {
	display: block;
	white-space: nowrap;
}

.ab-home-brand-benefit-card {
	position: relative;
	padding: clamp(1.7rem, 2.3vw, 2.2rem) clamp(1.25rem, 1.8vw, 1.6rem) clamp(1.35rem, 1.8vw, 1.7rem);
	border-radius: 0 2.6rem 0 2.6rem;
	background: linear-gradient(180deg, rgba(255, 255, 255, 0.92), rgba(243, 240, 233, 0.98));
	box-shadow:
		inset 0 0 0 1px rgba(229, 223, 213, 0.95),
		0 16px 30px rgba(104, 92, 74, 0.06);
}

.ab-home-brand-benefit-card h3 {
	margin: 0 0 1rem;
	font-size: clamp(1rem, 1.2vw, 1.14rem);
	line-height: 1.04;
	letter-spacing: 0.09em;
	text-transform: uppercase;
	color: #3a3834;
}

.ab-home-brand-benefit-card p {
	margin: 0;
	max-width: none;
	font-size: 0.98rem;
	line-height: 1.5;
	color: #4b4843;
}

.ab-home-phase2 {
	border: none;
	background: transparent;
	padding: 0;
	padding-top: 0.4rem;
	display: grid;
	grid-template-columns: 1.05fr 1fr 0.95fr;
	gap: clamp(1rem, 1.8vw, 1.4rem);
}

.ab-home-phase2 article {
	background: linear-gradient(180deg, #fcf9f3 0%, #f8f2e7 100%);
	border: 1px solid rgba(215, 206, 192, 0.92);
	padding: clamp(2rem, 3.2vw, 2.8rem) clamp(1.6rem, 2.2vw, 2.1rem);
	box-shadow: 0 18px 34px rgba(104, 92, 74, 0.05);
	border-radius: 1.6rem;
}

.ab-home-phase2-eyebrow {
	margin: 0 0 0.8rem;
	font-size: 0.68rem;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: #6e6860;
	max-width: none;
}

.ab-home-phase2 h2 {
	font-size: clamp(1.55rem, 2.2vw, 2rem);
	line-height: 1.14;
	max-width: 65ch;
	margin-bottom: 1rem;
}

.ab-home-phase2 p {
	max-width: 40ch;
	color: #403b35;
	margin-bottom: 1rem;
	line-height: 1.72;
}

.ab-home-phase2-list {
	margin: 0 0 1.2rem;
	padding-left: 1rem;
	max-width: 30ch;
}

.ab-home-phase2-list li {
	margin-bottom: 0.38rem;
	color: #45413b;
	font-size: 0.95rem;
}

.ab-home-phase2-list li:last-child {
	margin-bottom: 0;
}

.ab-home-phase2-teaser {
	display: inline-block;
	font-size: 0.76rem;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: #756f66;
}

.ab-home-phase3-eco {
	display: grid;
	grid-template-columns: minmax(0, 1.15fr) minmax(0, 0.85fr);
	align-items: center;
	gap: clamp(1rem, 2vw, 1.8rem);
	background:
		radial-gradient(140% 120% at 0% 0%, rgba(255, 255, 255, 0.45), transparent 42%),
		linear-gradient(180deg, #faf8f2 0%, #efe8dc 100%);
	padding: clamp(2rem, 4vw, 3rem);
	border: 1px solid rgba(215, 206, 192, 0.9);
	border-radius: 1.8rem;
	overflow: hidden;
}

.ab-home-phase3-eco-media {
	position: relative;
	min-height: 100%;
}

.ab-home-phase3-eco-image {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	border-radius: 1.4rem;
}

.ab-home-phase3-eco-content {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	justify-content: center;
}

.ab-home-phase3-eco-content h2 {
	margin: 0 0 1rem;
	max-width: none;
	font-size: clamp(2rem, 3vw, 3rem);
	line-height: 1.06;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	text-align: left;
	width: 100%;
}

.ab-home-phase3-eco-content p {
	margin: 0 0 1.15rem;
	font-size: clamp(0.95rem, 1.25vw, 1.06rem);
	line-height: 1.75;
	color: #3d3933;
}

.ab-home-phase3-eco-cta {
	width: 100%;
	margin: 0;
	text-align: right;
}

.portafolio-page .portafolio-encabezado,
.nosotros-page .nosotros-encabezado,
.pedidos-personalizados-page .pedidos-encabezado {
	background: linear-gradient(180deg, #fbf8f1 0%, #f8f3e8 100%);
	border-color: #d5cebf;
}

.pedidos-hero-especiales {
	width: 100vw;
	margin-left: calc(50% - 50vw);
	margin-right: calc(50% - 50vw);
	padding: 0.6rem 1.4rem 0.8rem !important;
	background: linear-gradient(180deg, #f5f1e8 0%, #f0e9de 100%);
	border-bottom: 1px solid rgba(191, 180, 160, 0.45);
}

.pedidos-hero-especiales-shell {
	width: min(100%, 76rem);
	margin: 0 auto;
}

.pedidos-hero-especiales h1 {
	max-width: none;
	margin: 0 0 0.7rem;
	font-size: clamp(1.55rem, 2.8vw, 2.2rem);
	line-height: 1.04;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	font-weight: 400;
}

.pedidos-hero-especiales h1 span {
	font-weight: 600;
	letter-spacing: 0.06em;
	text-transform: none;
}

.pedidos-hero-especiales-lead {
	max-width: 72rem;
	margin: 0 0 0.7rem;
	font-size: 0.84rem;
	line-height: 1.22;
}

.pedidos-hero-especiales-steps {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 0.95rem;
}

.pedidos-hero-especiales-step {
	text-align: center;
}

.pedidos-hero-especiales-number {
	display: inline-block;
	margin-bottom: 0.15rem;
	font-size: 1.45rem;
	line-height: 1;
	font-weight: 600;
	color: #000;
}

.pedidos-hero-especiales-card {
	padding: 0.58rem 0.7rem 0.64rem;
	border-radius: 0.95rem;
	background: #fff;
	box-shadow: 0 6px 18px rgba(28, 28, 27, 0.08);
}

.pedidos-hero-especiales-card h2 {
	max-width: none;
	margin: 0 0 0.2rem;
	font-size: 0.74rem;
	line-height: 1.1;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	font-weight: 700;
	text-align: center;
}

.pedidos-hero-especiales-card p {
	max-width: none;
	margin: 0;
	font-size: 0.68rem;
	line-height: 1.14;
	text-align: center;
}

.pedidos-formulario {
	padding: 1rem 0 0.9rem !important;
}

.pedidos-formulario-shell {
	display: grid;
	grid-template-columns: minmax(47rem, 50rem) minmax(10rem, 11.5rem);
	gap: 0.55rem;
	align-items: start;
	justify-content: center;
	width: min(100% - 2.4rem, 62rem);
	margin: 0 auto;
}

.pedidos-formulario-main h2 {
	margin: 0 0 0.8rem;
	max-width: none;
	font-size: clamp(2.55rem, 4.8vw, 4.8rem);
	line-height: 0.98;
	font-weight: 600;
	letter-spacing: -0.035em;
	text-align: left;
}

.pedidos-formulario-lead {
	max-width: none;
	margin: 0.2rem 0 0.28rem;
	font-size: 0.96rem;
	line-height: 1.05;
	color: rgba(28, 28, 27, 0.88);
	text-align: left;
}

.pedidos-formulario-lead span {
	display: block;
}

.pedidos-formulario-lead span:first-child {
	white-space: nowrap;
}

.pedidos-formulario .wpforms-container {
	width: 100%;
	max-width: 49rem;
	margin: 0;
}

.pedidos-formulario .wpforms-container .wpforms-title,
.pedidos-formulario .wpforms-container .wpforms-description {
	display: none;
}

.pedidos-formulario .wpforms-field-container {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 0.16rem 0.24rem;
}

.pedidos-formulario .wpforms-field {
	margin: 0;
	width: 100%;
	justify-self: start;
}

.pedidos-formulario .wpforms-field:not(.wpforms-field-textarea):not(.wpforms-field-html):not(.wpforms-field-divider):not(.wpforms-field-pagebreak):not(.wpforms-field-hidden) {
	width: 125%;
	max-width: none;
}

.pedidos-formulario .wpforms-field.wpforms-field-textarea,
.pedidos-formulario .wpforms-field.wpforms-field-html,
.pedidos-formulario .wpforms-field.wpforms-field-divider,
.pedidos-formulario .wpforms-field.wpforms-field-pagebreak,
.pedidos-formulario .wpforms-field.wpforms-field-hidden {
	grid-column: 1 / -1;
	width: 100%;
}

.pedidos-formulario .wpforms-field-label {
	margin-bottom: 0.05rem;
	font-size: 0.66rem;
	font-weight: 600;
	color: #1c1c1b;
}

.pedidos-formulario .wpforms-container input,
.pedidos-formulario .wpforms-container select,
.pedidos-formulario .wpforms-container textarea {
	width: 100%;
	min-height: 1.18rem;
	padding: 0.14rem 0.4rem;
	border: 1px solid rgba(45, 41, 38, 0.6);
	border-radius: 0.75rem !important;
	background: rgba(255, 255, 255, 0.9);
	color: var(--ab-text);
	font: inherit;
	line-height: 1.45;
	box-shadow: none;
}

.pedidos-formulario .wpforms-field-row-block,
.pedidos-formulario .wpforms-one-half,
.pedidos-formulario .wpforms-field {
	max-width: 100%;
}

.pedidos-formulario .wpforms-container textarea {
	min-height: 3.3rem;
	resize: vertical;
}

.pedidos-formulario .wpforms-container input:focus,
.pedidos-formulario .wpforms-container select:focus,
.pedidos-formulario .wpforms-container textarea:focus {
	outline: none;
	border-color: #111;
	box-shadow: 0 0 0 1px rgba(17, 17, 17, 0.15);
}

.pedidos-formulario .wpforms-submit-container {
	margin-top: 0.2rem;
	text-align: right;
}

.pedidos-formulario .wpforms-submit-container .wpforms-submit {
	min-width: 7.5rem;
	padding: 0.34rem 0.8rem;
	border: 1px solid #050505;
	border-radius: 0.45rem;
	background: #050505;
	color: #fff;
	font-weight: 500;
	font-size: 0.72rem;
}

.pedidos-formulario .wpforms-submit-container .wpforms-submit:hover,
.pedidos-formulario .wpforms-submit-container .wpforms-submit:focus {
	background: #111;
	border-color: #111;
}

.pedidos-formulario-aside {
	padding-top: 1.1rem;
	max-width: 14rem;
}

.pedidos-formulario-socials {
	display: flex;
	flex-wrap: nowrap;
	gap: 0.9rem;
	align-items: center;
	margin-bottom: 1rem;
}

.pedidos-social-link {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 2.25rem;
	min-height: 2.25rem;
	color: #1c1c1b;
	border: 1px solid rgba(45, 41, 38, 0.55);
	border-radius: 999px;
	padding: 0.45rem;
	background: rgba(255, 255, 255, 0.55);
	text-decoration: none;
	transition: background-color 0.2s ease, border-color 0.2s ease, color 0.2s ease;
}

.pedidos-social-link svg {
	display: block;
	width: 1rem;
	height: 1rem;
}

.pedidos-social-link-instagram {
	color: #e1306c;
}

.pedidos-social-link-facebook {
	color: #1877f2;
}

.pedidos-social-link-whatsapp {
	color: #25d366;
}

.pedidos-social-link:hover,
.pedidos-social-link:focus {
	background: rgba(255, 255, 255, 0.9);
	border-color: rgba(45, 41, 38, 0.75);
	box-shadow: 0 0 0 1px rgba(45, 41, 38, 0.08);
}

.pedidos-formulario-aside-divider {
	width: 100%;
	height: 2px;
	margin: 0 0 1rem;
	background: #c61f1f;
}

.pedidos-formulario-contacto {
	max-width: none;
	margin: 0 0 0.4rem;
	font-size: 0.9rem;
	font-weight: 600;
	line-height: 1.35;
}

.pedidos-personalizados-page .pedidos-cta-secundario {
	width: min(100% - 4.7rem, 58rem);
	margin-bottom: 0;
	margin-left: auto;
	margin-right: auto;
	padding-bottom: 0.9rem;
	text-align: center;
}

.pedidos-personalizados-page .pedidos-cta-secundario h2,
.pedidos-personalizados-page .pedidos-cta-secundario p {
	margin-left: auto;
	margin-right: auto;
	text-align: center;
}

.pedidos-personalizados-page .pedidos-cta-secundario .home-cta-actions {
	justify-content: center;
}

body.ab-page-pedidos-personalizados .site-footer {
	margin-top: 0;
}

.portafolio-page .portafolio-categorias .ab-list,
.nosotros-page .nosotros-diferencial .ab-list,
.nosotros-page .nosotros-aplicaciones .ab-list,
.pedidos-personalizados-page .pedidos-personalizacion .ab-list,
.pedidos-personalizados-page .pedidos-proceso .ab-list {
	padding-top: 0.25rem;
}

.site-footer {
	width: 100%;
	max-width: none;
	margin-top: 2.2rem;
	padding: 0 1rem 2.6rem;
	border-top: 1px solid #ddd5c6;
	background: #f7f5ee;
}

.home .site-footer {
	margin-top: 0;
}

.site-footer-inner {
	max-width: 960px;
	margin: 0 auto;
	padding-top: 2rem;
}

.site-footer-columns {
	display: grid;
	grid-template-columns: 1fr 1fr 1fr 1.35fr;
	gap: 1.8rem 2rem;
}

.site-footer-column {
	min-width: 0;
}

.nosotros-page {
	display: block;
	width: 100%;
	max-width: none;
	margin: 0;
	background: #fbf8f1;
}

.nosotros-page > section {
	padding: 0;
	border: 0;
	background: transparent;
}

.nosotros-hero {
	display: grid;
	grid-template-columns: minmax(0, 1.04fr) minmax(22rem, 1fr);
	align-items: stretch;
	background: #0d0b0a;
	overflow: hidden;
	min-height: 32rem;
}

.nosotros-hero-media {
	min-height: 34rem;
	background: linear-gradient(135deg, #2c241d 0%, #0d0b0a 100%);
}

.nosotros-hero-media img,
.nosotros-hero-placeholder {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
}

.nosotros-hero-placeholder {
	background:
		radial-gradient(circle at 20% 30%, rgba(211, 183, 144, 0.4), transparent 28%),
		linear-gradient(135deg, #3a2f26 0%, #171310 60%, #090807 100%);
}

.nosotros-hero-content {
	display: flex;
	flex-direction: column;
	justify-content: center;
	padding: 4.1rem 3.4rem 4rem 2.5rem;
	color: #efe4d2;
	background: linear-gradient(180deg, #0d0b0a 0%, #070606 100%);
}

.nosotros-hero-content h1 {
	margin: 0;
	font-size: clamp(2.65rem, 4.2vw, 4.8rem);
	line-height: 1;
	font-weight: 500;
	color: #dcc2a2;
}

.nosotros-hero-divider {
	width: 100%;
	max-width: 25rem;
	height: 1px;
	margin: 1.35rem 0 1.35rem;
	background: linear-gradient(90deg, rgba(220, 194, 162, 0.75), rgba(220, 194, 162, 0.12));
}

.nosotros-hero-content p {
	max-width: 25rem;
	margin: 0 0 1rem;
	font-size: 1rem;
	line-height: 1.68;
	color: rgba(247, 241, 232, 0.88);
}

.nosotros-creaciones {
	padding: 4.4rem 0 3.35rem !important;
}

.nosotros-section-shell {
	width: min(100% - 7.5rem, 70.5rem);
	margin: 0 auto;
}

.nosotros-section-heading {
	display: flex;
	align-items: center;
	gap: 1.7rem;
	justify-content: center;
	margin: 0 0 2.7rem;
}

.nosotros-section-heading h2,
.nosotros-proceso h2 {
	margin: 0;
	font-size: clamp(2rem, 3vw, 3rem);
	line-height: 1.08;
	font-weight: 500;
	letter-spacing: -0.02em;
	text-align: center;
}

.nosotros-section-line {
	flex: 1 1 8rem;
	max-width: 12.5rem;
	height: 1px;
	background: rgba(167, 142, 110, 0.45);
}

.nosotros-creaciones-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 2.4rem 1.85rem;
	margin: 0;
}

.nosotros-creacion-card {
	padding: 0;
	text-align: center;
}

.nosotros-creacion-card-media {
	position: relative;
	height: 15.7rem;
	margin-bottom: 0.95rem;
	border-radius: 0;
	background:
		radial-gradient(circle at 50% 22%, rgba(255, 255, 255, 0.82), rgba(255, 255, 255, 0) 42%),
		linear-gradient(180deg, #fbfaf7 0%, #efebe4 100%);
	box-shadow: 0 16px 34px rgba(28, 28, 27, 0.12);
	overflow: hidden;
}

.nosotros-creacion-card-media img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: contain;
	padding: 1rem;
}

.nosotros-creacion-card-media::before,
.nosotros-creacion-card-media::after {
	content: "";
	position: absolute;
	left: 50%;
	top: 50%;
	transform: translate(-50%, -50%);
	border-radius: 0.9rem;
	background: linear-gradient(180deg, #424447 0%, #1d1e20 100%);
	box-shadow: 0 14px 26px rgba(28, 28, 27, 0.18);
}

.nosotros-creacion-card-media-book::before {
	width: 40%;
	height: 62%;
}

.nosotros-creacion-card-media-book::after {
	width: 10%;
	height: 58%;
	left: 37%;
	background: linear-gradient(180deg, #2d2f32 0%, #111214 100%);
}

.nosotros-creacion-card-media-box::before {
	width: 58%;
	height: 33%;
	transform: translate(-50%, -50%) rotate(-16deg);
}

.nosotros-creacion-card-media-folder::before {
	width: 42%;
	height: 62%;
	border-radius: 1rem;
	background: linear-gradient(180deg, #73777d 0%, #474b50 100%);
}

.nosotros-creacion-card-media-folder::after {
	width: 7%;
	height: 18%;
	left: 62%;
	top: 53%;
	background: linear-gradient(180deg, #5a5e64 0%, #3e4247 100%);
}

.nosotros-creacion-card-media-slim::before {
	width: 53%;
	height: 16%;
	top: 58%;
	transform: translate(-50%, -50%) rotate(10deg);
}

.nosotros-creacion-card-media-book-alt::before {
	width: 40%;
	height: 62%;
	background: linear-gradient(180deg, #515458 0%, #2a2c2f 100%);
}

.nosotros-creacion-card-media-book-alt::after {
	width: 7%;
	height: 18%;
	left: 61%;
	top: 52%;
	background: linear-gradient(180deg, #676a70 0%, #44484d 100%);
}

.nosotros-creacion-card-media-case::before {
	width: 52%;
	height: 26%;
	top: 57%;
	border-radius: 1.15rem;
	background: linear-gradient(180deg, #6d7278 0%, #43474d 100%);
}

.nosotros-creacion-card-media-case::after {
	width: 14%;
	height: 6%;
	top: 46%;
	left: 53%;
	border-radius: 999px;
	background: linear-gradient(180deg, #868b91 0%, #5f646a 100%);
}

.nosotros-creacion-card h3 {
	margin: 0 0 0.45rem;
	font-size: 1.08rem;
	line-height: 1.24;
	font-weight: 500;
	max-width: 15rem;
	margin-left: auto;
	margin-right: auto;
}

.nosotros-cta-stack {
	padding: 4rem 0 5.25rem !important;
	background: linear-gradient(180deg, rgba(255, 255, 255, 0.5), rgba(255, 255, 255, 0)) !important;
}

.nosotros-cta-primary,
.nosotros-cta-secondary {
	text-align: center;
}

.nosotros-cta-primary {
	padding: 0 0 4rem;
}

.nosotros-cta-secondary {
	padding: 3.5rem 0 0;
}

.nosotros-cta-primary h2,
.nosotros-cta-secondary h2 {
	margin: 0 0 0.8rem;
	font-size: clamp(2.05rem, 3.2vw, 3rem);
	line-height: 1.08;
	font-weight: 500;
	max-width: 18ch;
	margin-left: auto;
	margin-right: auto;
	text-align: center;
}

.nosotros-cta-primary p,
.nosotros-cta-secondary p {
	max-width: 32rem;
	margin: 0 auto;
	font-size: 1rem;
	line-height: 1.5;
}

.nosotros-cta-primary > p:not(.nosotros-cta-actions),
.nosotros-cta-secondary > p:not(.nosotros-cta-actions) {
	margin-bottom: 2rem;
}

.nosotros-cta-actions {
	margin: 0;
}

.nosotros-cta-secondary .ab-button {
	min-width: 14.5rem;
}

.site-footer-title {
	margin: 0 0 0.8rem;
	font-size: 0.72rem;
	font-weight: 600;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: #6b655d;
	max-width: none;
}

.site-footer-links,
.site-footer-meta {
	margin: 0;
	padding: 0;
	list-style: none;
}

.site-footer-links li,
.site-footer-meta li {
	margin-bottom: 0.45rem;
	font-size: 0.9rem;
	color: #3e3b36;
}

.site-footer-links li:last-child,
.site-footer-meta li:last-child {
	margin-bottom: 0;
}

.site-footer a {
	color: #3e3b36;
	text-decoration: none;
	border-bottom: 1px solid transparent;
}

.site-footer a:hover,
.site-footer a:focus {
	border-bottom-color: #8a847c;
}

.site-footer-copy {
	margin: 1.8rem 0 0;
	padding-top: 1.1rem;
	border-top: 1px solid #e0d9cb;
	font-size: 0.74rem;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: #746f66;
}

.site-footer-newsletter p {
	margin: 0 0 0.8rem;
	max-width: 32ch;
	font-size: 0.9rem;
	line-height: 1.55;
	color: #4b4740;
}

.site-newsletter-form {
	display: flex;
	gap: 0.55rem;
	align-items: center;
	max-width: 100%;
}

.site-newsletter-form input[type="email"] {
	flex: 1 1 auto;
	min-width: 0;
	padding: 0.62rem 0.68rem;
	border: 1px solid #d4ccbd;
	background: #fff;
	color: var(--ab-text);
	font: inherit;
	font-size: 0.9rem;
	border-radius: 1rem;
}

.site-newsletter-form input[type="email"]:focus {
	outline: none;
	border-color: var(--ab-border-strong);
	box-shadow: 0 0 0 1px var(--ab-border-strong);
}

.site-newsletter-form button {
	padding: 0.62rem 0.85rem;
	border: 1px solid var(--ab-accent);
	background: var(--ab-accent);
	color: #fff;
	font-size: 0.7rem;
	font-weight: 600;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	white-space: nowrap;
	border-radius: 1rem;
}

.site-newsletter-form button:hover,
.site-newsletter-form button:focus {
	background: #000;
	border-color: #000;
}

.site-footer .screen-reader-text {
	position: absolute;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}

form.ab-form {
	max-width: 720px;
}

form.ab-form p {
	margin-bottom: 1rem;
	max-width: none;
}

form.ab-form label {
	display: inline-block;
	margin-bottom: 0.35rem;
	color: var(--ab-accent);
	font-size: 0.92rem;
	font-weight: 600;
	letter-spacing: 0.01em;
}

form.ab-form input,
form.ab-form select,
form.ab-form textarea {
	width: 100%;
	padding: 0.68rem 0.75rem;
	border: 1px solid var(--ab-border);
	background: #fff;
	color: var(--ab-text);
	font: inherit;
	line-height: 1.45;
	border-radius: 1rem;
}

form.ab-form textarea {
	resize: vertical;
	min-height: 9rem;
}

form.ab-form input:focus,
form.ab-form select:focus,
form.ab-form textarea:focus {
	outline: none;
	border-color: var(--ab-accent);
	box-shadow: 0 0 0 1px var(--ab-accent);
}

form.ab-form .ab-button {
	cursor: pointer;
}

/* WooCommerce V1 polish */
.woocommerce .woocommerce-notices-wrapper .woocommerce-message,
.woocommerce .woocommerce-notices-wrapper .woocommerce-info,
.woocommerce .woocommerce-notices-wrapper .woocommerce-error {
	margin: 0 0 1.2rem;
	border: 1px solid var(--ab-border);
	background: var(--ab-surface-soft);
	color: var(--ab-text);
}

.woocommerce .woocommerce-result-count,
.woocommerce .woocommerce-breadcrumb {
	color: var(--ab-muted);
	font-size: 0.92rem;
}

.woocommerce .woocommerce-ordering select {
	min-width: 220px;
	padding: 0.55rem 0.65rem;
	border: 1px solid var(--ab-border);
	background: #fff;
	color: var(--ab-text);
}

.woocommerce ul.products li.product {
	background: #fff;
	border: 1px solid var(--ab-border);
	padding: 1rem;
	border-radius: 1.4rem;
}

.woocommerce ul.products li.product a {
	color: var(--ab-accent);
	text-decoration: none;
}

.woocommerce ul.products li.product .woocommerce-loop-product__title {
	font-size: 1.08rem;
	line-height: 1.35;
	margin-bottom: 0.5rem;
}

.woocommerce ul.products li.product .price {
	color: var(--ab-accent);
	font-weight: 600;
	margin-bottom: 0.8rem;
}

.woocommerce ul.products li.product .button {
	display: inline-block;
	padding: 0.65rem 1rem;
	border: 1px solid var(--ab-accent);
	background: var(--ab-accent);
	color: #fff;
	text-transform: uppercase;
	letter-spacing: 0.02em;
	font-size: 0.82rem;
	font-weight: 600;
}

.woocommerce ul.products li.product .button:hover,
.woocommerce ul.products li.product .button:focus {
	background: #000;
	border-color: #000;
}

.single-product div.product .images,
.single-product div.product .summary {
	margin-bottom: 1.5rem;
}

body.single-product .woocommerce div.product div.images,
body.single-product.woocommerce-page #content div.product div.images,
body.single-product.woocommerce-page div.product div.images {
	margin-top: 32px !important;
}

body.single-product .woocommerce div.product {
	margin-top: 32px;
}

body.single-product .woocommerce div.product .summary.entry-summary,
body.single-product.woocommerce-page #content div.product div.summary.entry-summary,
body.single-product.woocommerce-page div.product div.summary.entry-summary {
	margin: 32px 0 32px !important;
}

.single-product .woocommerce-product-gallery {
	position: relative;
}

.single-product .woocommerce-product-gallery .flex-viewport {
	border-radius: 1.2rem;
	overflow: hidden;
}

.single-product .woocommerce-product-gallery .flex-direction-nav {
	margin: 0;
	padding: 0;
	list-style: none;
}

.single-product .woocommerce-product-gallery .flex-direction-nav a {
	position: absolute;
	top: 50%;
	width: 1.55rem;
	height: 1.55rem;
	border-radius: 999px;
	background: rgba(226, 226, 231, 0.68);
	border: 0;
	color: #5d5d62;
	display: flex;
	align-items: center;
	justify-content: center;
	opacity: 1;
	text-indent: -9999px;
	transform: translateY(-50%);
	z-index: 6;
	transition: background 0.2s ease, border-color 0.2s ease, transform 0.2s ease;
}

.single-product .woocommerce-product-gallery .flex-direction-nav a::before {
	content: "";
	display: block;
	width: 0.41rem;
	height: 0.41rem;
	border-bottom: 0.07rem solid currentColor;
	border-left: 0.07rem solid currentColor;
}

.single-product .woocommerce-product-gallery .flex-direction-nav .flex-prev {
	left: 1rem;
}

.single-product .woocommerce-product-gallery .flex-direction-nav .flex-prev::before {
	transform: rotate(45deg);
	margin-left: 0.2rem;
}

.single-product .woocommerce-product-gallery .flex-direction-nav .flex-next {
	right: 1rem;
}

.single-product .woocommerce-product-gallery .flex-direction-nav .flex-next::before {
	transform: rotate(225deg);
	margin-right: 0.2rem;
}

.single-product .woocommerce-product-gallery .flex-direction-nav a:hover,
.single-product .woocommerce-product-gallery .flex-direction-nav a:focus {
	background: rgba(214, 214, 220, 0.9);
	transform: translateY(-50%) scale(1.03);
}

.single-product .woocommerce-product-gallery .flex-control-thumbs {
	display: none;
}

.single-product .ab-single-product-dots {
	position: absolute;
	left: 50%;
	bottom: 0.9rem;
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 0.75rem;
	margin-top: 0;
	transform: translateX(-50%);
	z-index: 6;
}

.single-product .ab-single-product-dot {
	width: 0.36rem;
	height: 0.36rem;
	border-radius: 999px;
	border: 0;
	background: rgba(66, 66, 71, 0.34);
	padding: 0;
	cursor: pointer;
	transition: background 0.2s ease, transform 0.2s ease;
}

.single-product .ab-single-product-dot.is-active,
.single-product .ab-single-product-dot:hover,
.single-product .ab-single-product-dot:focus {
	background: rgba(39, 39, 42, 0.9);
	transform: scale(1.08);
}

.pswp__bg {
	background: rgba(17, 17, 19, 0.78);
}

.pswp__top-bar {
	background: linear-gradient(to bottom, rgba(17, 17, 19, 0.22), rgba(17, 17, 19, 0));
}

.pswp__button--close,
.pswp__button--arrow--left,
.pswp__button--arrow--right {
	opacity: 0.86;
}

.pswp__button--close:hover,
.pswp__button--arrow--left:hover,
.pswp__button--arrow--right:hover {
	opacity: 1;
}

.single-product .product .summary .price {
	color: var(--ab-accent);
	font-weight: 700;
	font-size: 1.2rem;
}

.single-product .product .summary form.cart {
	margin-top: 1.1rem;
	padding-top: 1rem;
	border-top: 1px solid var(--ab-border);
}

.single-product .product .summary .quantity .qty {
	padding: 0.58rem 0.5rem;
	border: 1px solid var(--ab-border);
}

.single-product .product .summary .single_add_to_cart_button {
	padding: 0.72rem 1.22rem;
	border: 1px solid var(--ab-accent);
	background: var(--ab-accent);
	color: #fff;
	text-transform: uppercase;
	letter-spacing: 0.02em;
	font-size: 0.84rem;
	font-weight: 600;
}

.single-product .product .summary .single_add_to_cart_button:hover,
.single-product .product .summary .single_add_to_cart_button:focus {
	background: #000;
	border-color: #000;
}

.woocommerce table.shop_table {
	border: 1px solid var(--ab-border);
	border-collapse: collapse;
	background: #fff;
	border-radius: 1rem;
	overflow: hidden;
}

.woocommerce table.shop_table th,
.woocommerce table.shop_table td {
	padding: 0.85rem;
	border-color: var(--ab-border);
}

.woocommerce-cart .cart-collaterals .cart_totals,
.woocommerce-checkout .woocommerce-checkout-review-order {
	background: var(--ab-surface-soft);
	border: 1px solid var(--ab-border);
	padding: 1.1rem;
	border-radius: 1.4rem;
}

.woocommerce form .form-row label {
	font-weight: 600;
	color: var(--ab-accent);
	font-size: 0.92rem;
	margin-bottom: 0.3rem;
}

.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce form .form-row select,
.woocommerce form .select2-container--default .select2-selection--single {
	border: 1px solid var(--ab-border);
	background: #fff;
	color: var(--ab-text);
	padding: 0.62rem 0.7rem;
	border-radius: 1rem;
}

.woocommerce form .form-row textarea {
	min-height: 8.8rem;
}

.woocommerce form .form-row input.input-text:focus,
.woocommerce form .form-row textarea:focus,
.woocommerce form .form-row select:focus {
	outline: none;
	border-color: var(--ab-border-strong);
	box-shadow: 0 0 0 1px var(--ab-border-strong);
}

.woocommerce .button,
.woocommerce button.button,
.woocommerce a.button,
.woocommerce input.button,
.woocommerce #respond input#submit {
	padding: 0.72rem 1.22rem;
	border: 1px solid var(--ab-accent);
	background: var(--ab-accent);
	color: #fff;
	font-size: 0.84rem;
	letter-spacing: 0.02em;
	text-transform: uppercase;
	font-weight: 600;
	border-radius: 1rem;
}

.woocommerce .button:hover,
.woocommerce button.button:hover,
.woocommerce a.button:hover,
.woocommerce input.button:hover,
.woocommerce #respond input#submit:hover {
	background: #000;
	border-color: #000;
	color: #fff;
}

.woocommerce .checkout-button.button.alt,
.woocommerce button.button.alt,
.woocommerce input.button.alt {
	background: var(--ab-accent);
	border-color: var(--ab-accent);
}

/* Embedded contact forms */
.contacto-page .wpcf7 form,
.contacto-page .wpforms-container form,
.contacto-page .gform_wrapper form,
.contacto-page .nf-form-content {
	max-width: 720px;
}

.contacto-page .wpcf7 form input,
.contacto-page .wpcf7 form select,
.contacto-page .wpcf7 form textarea,
.contacto-page .wpforms-container form input,
.contacto-page .wpforms-container form select,
.contacto-page .wpforms-container form textarea,
.contacto-page .gform_wrapper form input,
.contacto-page .gform_wrapper form select,
.contacto-page .gform_wrapper form textarea,
.contacto-page .nf-form-content input,
.contacto-page .nf-form-content select,
.contacto-page .nf-form-content textarea {
	width: 100%;
	padding: 0.68rem 0.75rem;
	border: 1px solid var(--ab-border);
	background: #fff;
	color: var(--ab-text);
	font: inherit;
	line-height: 1.45;
	border-radius: 1rem;
}

.contacto-page .wpcf7 form label,
.contacto-page .wpforms-container form label,
.contacto-page .gform_wrapper form label,
.contacto-page .nf-form-content label {
	display: inline-block;
	margin-bottom: 0.35rem;
	color: var(--ab-accent);
	font-size: 0.92rem;
	font-weight: 600;
	letter-spacing: 0.01em;
}

.contacto-page .wpcf7 form input:focus,
.contacto-page .wpcf7 form select:focus,
.contacto-page .wpcf7 form textarea:focus,
.contacto-page .wpforms-container form input:focus,
.contacto-page .wpforms-container form select:focus,
.contacto-page .wpforms-container form textarea:focus,
.contacto-page .gform_wrapper form input:focus,
.contacto-page .gform_wrapper form select:focus,
.contacto-page .gform_wrapper form textarea:focus,
.contacto-page .nf-form-content input:focus,
.contacto-page .nf-form-content select:focus,
.contacto-page .nf-form-content textarea:focus {
	outline: none;
	border-color: var(--ab-border-strong);
	box-shadow: 0 0 0 1px var(--ab-border-strong);
}

body.ab-page-contact-form main {
	max-width: none;
	padding-left: 0;
	padding-right: 0;
	padding-bottom: 1.8rem;
}

.page-default-form {
	display: block;
	width: 100%;
	max-width: none;
	margin: 0;
}

.page-default-form .page-default-content {
	position: relative;
	width: min(100% - 5rem, 74rem);
	margin: 0 auto;
	padding: 3.4rem 0 0;
	border: 0;
	background: linear-gradient(180deg, #fdfcf8 0%, #fbf8f1 100%);
}

.page-default-form .page-default-content-form {
	width: min(100% - 3rem, 64rem);
	padding: 0.45rem 0 0;
}

.page-default-form .page-default-content::before {
	content: none;
}

.page-default-form .page-default-content::after {
	content: none;
}

.page-default-form .page-default-content > article {
	position: relative;
	z-index: 1;
	padding: 0 1.2rem 0;
}

.page-default-form .page-default-article-form {
	padding: 0 0.6rem 0;
}

.page-default-form .page-default-content h1 {
	margin: 0 auto 3rem;
	font-size: clamp(3.1rem, 6vw, 5.25rem);
	line-height: 1;
	font-weight: 400;
	text-align: center;
	letter-spacing: -0.03em;
}

.page-default-form .page-default-content h1 {
	margin: 0 auto 1rem;
	font-size: clamp(2rem, 3.8vw, 3rem);
	line-height: 0.98;
}

.page-default-contact .page-default-content h1 {
	margin: 0 0 0.6rem;
	font-size: clamp(1.4rem, 2.65vw, 2.1rem);
	text-align: left;
}

.page-default .page-contact-intro {
	margin: 0 0 0.28rem;
	font-size: 0.8rem;
	line-height: 1.08;
	text-align: left;
	color: #4d4338;
}

.page-default .page-contact-intro span {
	display: block;
}

.page-default-form .wpforms-container,
.page-default-form .wpcf7,
.page-default-form .gform_wrapper,
.page-default-form .nf-form-cont {
	max-width: none;
	margin: 0;
}

.page-default-form .wpforms-field-container {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 0.16rem 0.24rem;
}

.page-default-form .wpforms-field {
	margin: 0;
}

.page-default-form .wpforms-field.wpforms-field-textarea,
.page-default-form .wpforms-field.wpforms-field-html,
.page-default-form .wpforms-field.wpforms-field-divider,
.page-default-form .wpforms-field.wpforms-field-pagebreak,
.page-default-form .wpforms-field.wpforms-field-hidden {
	grid-column: 1 / -1;
}

.page-default-form .wpforms-submit-container {
	margin-top: 0.2rem;
	text-align: right;
}

.page-default-form .wpforms-submit,
.page-default-form .wpcf7 input[type="submit"],
.page-default-form .gform_wrapper .gform_button,
.page-default-form .nf-form-cont input[type="button"] {
	min-width: 12.5rem;
	padding: 0.95rem 2rem;
	border-radius: 0;
	background: #050505;
	border: 1px solid #050505;
	color: #fff;
	font-weight: 500;
}

.page-default-form .wpforms-submit {
	min-width: 9.5rem;
	padding: 0.34rem 0.8rem;
	font-size: 0.72rem;
}

.page-default-form .wpforms-submit:hover,
.page-default-form .wpforms-submit:focus {
	background: #111;
	border-color: #111;
}

.page-default-form .wpforms-field-label {
	margin-bottom: 0.05rem;
	font-size: 0.66rem;
	font-weight: 500;
	letter-spacing: 0;
	color: #1c1c1b;
}

.page-default-form input,
.page-default-form select,
.page-default-form textarea {
	border-radius: 0;
	min-height: 1.18rem;
	padding: 0.14rem 0.4rem;
	border-color: rgba(45, 41, 38, 0.55);
	background: rgba(255, 255, 255, 0.88);
	box-shadow: none;
	font-size: 0.76rem;
}

.page-default-form textarea {
	min-height: 3.3rem;
	resize: vertical;
}

.page-default-contact .wpforms-container input,
.page-default-contact .wpforms-container select,
.page-default-contact .wpforms-container textarea {
	border-radius: 0.75rem !important;
}

.page-default-contact .wpforms-field:not(.wpforms-field-textarea):not(.wpforms-field-html):not(.wpforms-field-divider):not(.wpforms-field-pagebreak):not(.wpforms-field-hidden) {
	width: 125%;
	max-width: none;
}

body.ab-page-contact-form .site-footer {
	margin-top: 0.75rem;
	padding: 0 1rem 1rem;
}

body.ab-page-contact-form .site-footer-inner {
	padding-top: 0.9rem;
}

body.ab-page-contact-form .site-footer-columns {
	gap: 0.8rem 1rem;
}

body.ab-page-contact-form .site-footer-title {
	margin-bottom: 0.35rem;
	font-size: 0.64rem;
}

body.ab-page-contact-form .site-footer-links li,
body.ab-page-contact-form .site-footer-meta li,
body.ab-page-contact-form .site-footer-newsletter p,
body.ab-page-contact-form .site-newsletter-form input[type="email"] {
	font-size: 0.8rem;
}

body.ab-page-contact-form .site-footer-links li,
body.ab-page-contact-form .site-footer-meta li {
	margin-bottom: 0.22rem;
}

body.ab-page-contact-form .site-newsletter-form {
	gap: 0.4rem;
}

body.ab-page-contact-form .site-newsletter-form input[type="email"] {
	padding: 0.45rem 0.55rem;
}

body.ab-page-contact-form .site-newsletter-form button {
	padding: 0.5rem 0.85rem;
	font-size: 0.82rem;
}

body.ab-page-contact-form .site-footer-copy {
	margin-top: 0.9rem;
	padding-top: 0.6rem;
	font-size: 0.66rem;
}

.page-default-form input::placeholder,
.page-default-form textarea::placeholder {
	color: rgba(28, 28, 27, 0.72);
}

.modelos-linea-page .modelos-linea-productos ul.products {
	margin: 0;
	padding: 0;
	list-style: none;
	justify-content: center;
}

.modelos-linea-page .modelos-linea-productos ul.products li.product {
	background: #fff;
	border-color: transparent;
	padding: 1rem;
	margin-bottom: 1rem;
	border-radius: 1.4rem;
}

.modelos-linea-page .modelos-linea-productos ul.products li.product a {
	color: var(--ab-accent);
	text-decoration: none;
}

.modelos-linea-page .modelos-linea-productos ul.products li.product .modelos-linea-product-image-swap {
	position: relative;
	display: block;
	overflow: hidden;
	border-radius: 1rem;
}

.modelos-linea-page .modelos-linea-productos ul.products li.product .modelos-linea-product-image-swap img {
	display: block;
	width: 100%;
	transition: opacity 0.28s ease, transform 0.28s ease;
}

.modelos-linea-page .modelos-linea-productos ul.products li.product .modelos-linea-product-image-swap .modelos-linea-secondary-image {
	position: absolute;
	inset: 0;
	opacity: 0;
}

.modelos-linea-page .modelos-linea-productos ul.products li.product:hover .modelos-linea-product-image-swap .modelos-linea-primary-image,
.modelos-linea-page .modelos-linea-productos ul.products li.product:focus-within .modelos-linea-product-image-swap .modelos-linea-primary-image {
	opacity: 0;
	transform: scale(1.01);
}

.modelos-linea-page .modelos-linea-productos ul.products li.product:hover .modelos-linea-product-image-swap .modelos-linea-secondary-image,
.modelos-linea-page .modelos-linea-productos ul.products li.product:focus-within .modelos-linea-product-image-swap .modelos-linea-secondary-image {
	opacity: 1;
	transform: scale(1.01);
}

.modelos-linea-page .modelos-linea-productos ul.products li.product .button {
	color: #fff;
}

.modelos-linea-page .modelos-linea-productos ul.products li.product .woocommerce-loop-product__title .modelos-linea-title-line {
	display: block;
}

.single-product .related ul.products li.product .woocommerce-loop-product__title .modelos-linea-title-line {
	display: block;
}

.single-product .related ul.products li.product .woocommerce-loop-product__title {
	min-height: 3.7em;
}

.single-product .product_title .ab-product-title-line {
	display: block;
}

.single-product .related ul.products {
	display: flex;
	flex-wrap: nowrap;
	align-items: stretch;
	gap: 1.1rem;
	overflow-x: auto;
	overflow-y: hidden;
	scroll-snap-type: x proximity;
	padding-bottom: 0.4rem;
	-webkit-overflow-scrolling: touch;
	scrollbar-width: none;
}

.single-product .related ul.products::-webkit-scrollbar {
	display: none;
}

.single-product .related ul.products li.product {
	display: flex;
	flex-direction: column;
	flex: 0 0 min(18rem, calc(25% - 0.85rem));
	scroll-snap-align: start;
}

.single-product .related ul.products li.product > a:first-of-type {
	display: block;
	flex: 1 1 auto;
}

.single-product .related ul.products li.product .button {
	margin-top: auto;
}

.single-product .related.products.ab-related-carousel {
	position: relative;
	padding-inline: 2.8rem;
}

.single-product .related.products .ab-related-carousel-arrow {
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	width: 2.6rem;
	height: 2.6rem;
	border: 0;
	border-radius: 999px;
	background: rgba(241, 237, 229, 0.96);
	box-shadow: 0 10px 24px rgba(58, 52, 44, 0.12);
	color: #3a332c;
	display: flex;
	align-items: center;
	justify-content: center;
	cursor: pointer;
	z-index: 5;
	transition: transform 0.2s ease, opacity 0.2s ease, background 0.2s ease;
}

.single-product .related.products .ab-related-carousel-arrow:hover,
.single-product .related.products .ab-related-carousel-arrow:focus {
	background: #fff;
	transform: translateY(-50%) scale(1.03);
}

.single-product .related.products .ab-related-carousel-arrow:disabled {
	opacity: 0.35;
	cursor: default;
	transform: translateY(-50%);
}

.single-product .related.products .ab-related-carousel-arrow span {
	display: block;
	width: 0.7rem;
	height: 0.7rem;
	border-top: 0.12rem solid currentColor;
	border-right: 0.12rem solid currentColor;
}

.single-product .related.products .ab-related-carousel-arrow-prev {
	left: 0;
}

.single-product .related.products .ab-related-carousel-arrow-prev span {
	transform: rotate(-135deg);
	margin-left: 0.18rem;
}

.single-product .related.products .ab-related-carousel-arrow-next {
	right: 0;
}

.single-product .related.products .ab-related-carousel-arrow-next span {
	transform: rotate(45deg);
	margin-right: 0.18rem;
}

@media (max-width: 1024px) {
	.single-product .related ul.products li.product {
		flex-basis: min(17rem, calc(50vw - 1.4rem));
	}
}

@media (max-width: 640px) {
	.single-product .related ul.products {
		gap: 0.85rem;
	}

	.single-product .related.products.ab-related-carousel {
		padding-inline: 2.2rem;
	}

	.single-product .related.products .ab-related-carousel-arrow {
		width: 2.2rem;
		height: 2.2rem;
	}

	.single-product .related ul.products li.product {
		flex-basis: min(16rem, calc(86vw - 1rem));
	}
}

.modelos-linea-page .modelos-linea-productos ul.products li.product .modelos-linea-product-attributes {
	margin: 0.3rem 0 0.5rem;
}

.modelos-linea-page .modelos-linea-productos ul.products li.product .modelos-linea-product-attributes p {
	display: flex;
	flex-wrap: nowrap;
	align-items: baseline;
	gap: 0.22rem;
	margin: 0 0 0.12rem;
	font-size: 0.82rem;
	line-height: 1.32;
	color: rgba(28, 28, 27, 0.82);
}

.modelos-linea-page .modelos-linea-productos ul.products li.product .modelos-linea-product-attributes p:last-child {
	margin-bottom: 0;
}

.modelos-linea-page .modelos-linea-productos ul.products li.product .modelos-linea-product-attributes strong {
	display: inline;
	white-space: nowrap;
	flex: 0 0 auto;
	font-weight: 600;
	color: var(--ab-accent);
}

.modelos-linea-page .modelos-linea-productos ul.products li.product .price {
	color: var(--ab-accent);
	font-weight: 600;
}

@media (min-width: 1025px) {
	.modelos-linea-page .modelos-linea-encabezado {
		padding: 1.1rem 2.35rem 1.25rem !important;
	}

	.modelos-linea-page .modelos-linea-encabezado h1 {
		font-size: clamp(2.2rem, 3.5vw, 3.2rem);
		letter-spacing: 0.18em;
	}

	.modelos-linea-page .modelos-linea-collection {
		font-size: clamp(1.45rem, 2.15vw, 2.15rem);
		margin-bottom: 1.35rem;
	}

	.modelos-linea-page .modelos-linea-encabezado .ab-lead {
		font-size: clamp(1.05rem, 1.45vw, 1.55rem);
		line-height: 1.28;
	}

	.modelos-linea-page .modelos-linea-productos {
		margin-top: -1rem;
	}

	.modelos-linea-page .modelos-linea-productos ul.products {
		margin-top: 0.75rem;
	}

	.modelos-linea-page .modelos-linea-productos ul.products li.product {
		padding: 0.9rem;
		margin-bottom: 0.75rem;
	}

	.modelos-linea-page .modelos-linea-productos ul.products li.product img {
		display: block;
		width: 100%;
		max-height: 336px;
		object-fit: cover;
		border-radius: 1rem;
	}

	.modelos-linea-page .modelos-linea-productos ul.products li.product .woocommerce-loop-product__title {
		font-size: 1rem;
		line-height: 1.24;
		margin: 0.8rem 0 0.5rem;
	}

	.modelos-linea-page .modelos-linea-productos ul.products li.product .modelos-linea-product-attributes p {
		font-size: 0.76rem;
	}

	.modelos-linea-page .modelos-linea-productos ul.products li.product .price {
		font-size: 1rem;
		margin-bottom: 0.65rem;
	}
}

@media (max-width: 920px) {
	.pedidos-hero-especiales {
		padding: 1.35rem 1rem 1.4rem !important;
	}

	.pedidos-hero-especiales-steps {
		grid-template-columns: 1fr;
		gap: 1rem;
	}

	.pedidos-hero-especiales h1 {
		font-size: 2rem;
	}

	.pedidos-hero-especiales-lead {
		font-size: 0.95rem;
		line-height: 1.4;
	}

	.pedidos-formulario-shell {
		grid-template-columns: 1fr;
		gap: 2rem;
		width: calc(100% - 2rem);
		max-width: 100%;
		padding-left: 0;
		padding-right: 0;
	}

	.pedidos-formulario-main h2,
	.pedidos-formulario-lead {
		text-align: center;
		margin-left: auto;
		margin-right: auto;
	}

	.pedidos-formulario .wpforms-container {
		width: 100%;
		max-width: none;
	}

	.pedidos-formulario-lead span:first-child {
		white-space: normal;
	}

	.pedidos-formulario .wpforms-field-container {
		grid-template-columns: 1fr;
		gap: 0.04rem;
	}

	.pedidos-formulario .wpforms-field,
	.pedidos-formulario .wpforms-field:not(.wpforms-field-textarea):not(.wpforms-field-html):not(.wpforms-field-divider):not(.wpforms-field-pagebreak):not(.wpforms-field-hidden) {
		width: 100%;
		max-width: 100%;
	}

	.pedidos-formulario .wpforms-container {
		max-width: 100%;
	}

	.pedidos-formulario .wpforms-field-label {
		margin-bottom: 0;
		font-size: 0.64rem;
	}

	.pedidos-formulario input,
	.pedidos-formulario select,
	.pedidos-formulario textarea {
		min-height: 1.42rem;
		padding: 0.16rem 0.38rem;
		font-size: 0.74rem;
	}

	.pedidos-formulario textarea {
		min-height: 3.1rem;
	}

	.pedidos-formulario .wpforms-submit-container {
		text-align: center;
	}

	.pedidos-formulario-aside {
		padding-top: 0;
		max-width: none;
	}

	.pedidos-formulario-socials {
		justify-content: center;
	}

	.pedidos-formulario-contacto {
		text-align: center;
	}

	.page-default-form .page-default-content {
		width: min(100% - 2.6rem, 74rem);
	}

	.page-default-form .page-default-content::before,
	.page-default-form .page-default-content::after {
		display: none;
	}

	.page-default-form .wpforms-field-container {
		grid-template-columns: 1fr;
		gap: 0.04rem;
	}

	.page-default-contact .wpforms-field,
	.page-default-contact .wpforms-field:not(.wpforms-field-textarea):not(.wpforms-field-html):not(.wpforms-field-divider):not(.wpforms-field-pagebreak):not(.wpforms-field-hidden) {
		width: 100%;
		max-width: 100%;
	}

	.page-default-contact .wpforms-field-label {
		margin-bottom: 0;
		font-size: 0.64rem;
	}

	.page-default-contact input,
	.page-default-contact select,
	.page-default-contact textarea {
		min-height: 1.42rem;
		padding: 0.16rem 0.38rem;
		font-size: 0.74rem;
	}

	.page-default-contact textarea {
		min-height: 3.1rem;
	}

	.page-default-form .page-default-content {
		max-width: 100%;
	}

	.page-default-form .wpforms-submit-container {
		text-align: center;
	}

	.nosotros-hero {
		grid-template-columns: 1fr;
	}

	.nosotros-hero-media {
		min-height: 20rem;
	}

	.nosotros-hero-content {
		padding: 2.5rem 1.6rem;
	}

	.nosotros-creaciones {
		padding: 3rem 1.35rem 2.35rem !important;
	}

	.nosotros-creaciones-grid,
	.nosotros-cta-stack .nosotros-section-shell {
		width: min(100% - 3rem, 70.5rem);
	}

	.nosotros-creaciones-grid {
		grid-template-columns: 1fr 1fr;
	}

	.nosotros-cta-stack {
		padding: 2.6rem 1.35rem 3rem !important;
	}

	.nosotros-creacion-card-media {
		height: 14.2rem;
	}
}

@media (max-width: 640px) {
	.page-default-form .page-default-content > article {
		padding-left: 0;
		padding-right: 0;
	}

	.page-default-form .page-default-content h1 {
		margin-bottom: 2.2rem;
		font-size: 3rem;
	}

	main {
		padding-top: 2rem;
		padding-left: 1rem;
		padding-right: 1rem;
	}

	.home main {
		padding-top: 0;
		padding-left: 0;
		padding-right: 0;
	}

	.home-v1 section {
		padding: 1.55rem;
	}

	.nosotros-hero-media {
		min-height: 15rem;
	}

	.nosotros-hero-content h1 {
		font-size: 2.4rem;
	}

	.nosotros-hero-content p,
	.nosotros-creacion-card p,
	.nosotros-cta-primary p,
	.nosotros-cta-secondary p {
		font-size: 0.95rem;
	}

	.nosotros-section-heading {
		gap: 0.85rem;
	}

	.nosotros-section-shell,
	.nosotros-cta-stack .nosotros-section-shell {
		width: min(100% - 2rem, 70.5rem);
	}

	.nosotros-creaciones-grid {
		grid-template-columns: 1fr;
	}

	.nosotros-creacion-card-media {
		height: 12.5rem;
	}

	.nosotros-cta-primary {
		padding-bottom: 2.8rem;
	}

	.nosotros-cta-secondary {
		padding-top: 2.4rem;
	}

	.home .home-v1 {
		gap: 1.35rem;
	}

	.home .home-v1 section,
	.home .ab-home-phase3-eco {
		padding: 1.8rem 1.55rem;
	}

	.ab-home-phase3-layout {
		display: block;
	}

	.ab-home-phase3-eco {
		grid-template-columns: 1fr;
	}

	.ab-home-phase3-eco-content h2,
	.ab-home-phase3-eco-cta {
		text-align: left;
	}

	.home .ab-home-phase1,
	.home .ab-home-phase2 {
		padding: 0;
	}

	.ab-home-phase1 {
		width: 100%;
		max-width: none;
		min-height: 0;
		height: auto;
		margin: 0;
		padding-top: 1rem;
		padding-bottom: 0.8rem;
		padding-left: 0;
		padding-right: 0;
	}

	.ab-home-manifesto {
		min-height: 350px;
	}

	.ab-home-manifesto-media {
		min-height: 350px;
	}

	.ab-home-manifesto-cta {
		right: 0.6rem;
		bottom: 0.6rem;
		max-width: calc(100% - 1rem);
		padding: 0.35rem;
	}

	.ab-home-manifesto-dots {
		left: 0.65rem;
		bottom: 0.62rem;
	}

	.ab-home-manifesto-arrows-prev {
		left: 0.55rem;
	}

	.ab-home-manifesto-arrows-next {
		right: 0.55rem;
	}

	.ab-home-manifesto-arrow {
		width: 2.4rem;
		height: 2.4rem;
	}

	.ab-home-manifesto-arrow::before {
		width: 0.68rem;
		height: 0.68rem;
		border-top-width: 2px;
		border-right-width: 2px;
	}

	.ab-home-manifesto-eyebrow {
		left: 0.62rem;
		top: 0.62rem;
		padding: 0.3rem 0.48rem;
		font-size: 0.56rem;
	}

	.ab-home-manifesto-cta .ab-button {
		font-size: 0.68rem;
		padding: 0.5rem 0.62rem;
	}

	.ab-home-brand-benefits {
		padding: 1.8rem 1.35rem;
	}

	.ab-home-brand-benefits-grid {
		grid-template-columns: 1fr;
	}

	.ab-home-phase3-intro {
		padding: 1.4rem 1.2rem 1.8rem;
	}

	.ab-home-phase3-intro h2 {
		font-size: clamp(1.2rem, 7vw, 1.8rem);
		width: 100%;
	}

	.ab-home-phase3-intro-line {
		white-space: normal;
	}

	.ab-home-brand-benefit-card {
		padding: 1.4rem 1.1rem 1.2rem;
	}

	.ab-home-phase2 {
		grid-template-columns: 1fr;
	}

	.ab-home-phase2 article {
		padding: 1.4rem 1.2rem;
	}

	.ab-home-hero-shell .ab-home-phase2 {
		padding: 0.8rem 0 0;
	}

	.ab-main-menu {
		gap: 0.45rem 0.75rem;
	}

	.site-header-inner {
		justify-content: flex-start;
		align-items: flex-start;
		min-height: 0;
		gap: 0.55rem 0.75rem;
		padding-top: 0.5rem;
		padding-bottom: 0.5rem;
	}

	.site-brand {
		position: static;
		transform: none;
		font-size: 0.72rem;
	}

	h1,
	h2 {
		max-width: none;
	}

	.site-footer-columns {
		grid-template-columns: 1fr;
		gap: 1.1rem;
	}

	.site-newsletter-form {
		flex-direction: column;
		align-items: stretch;
	}

	.site-newsletter-form button {
		width: 100%;
	}

	.site-footer {
		padding-left: 1rem;
		padding-right: 1rem;
	}
}

@media (max-width: 1024px) {
	.site-footer-columns {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.site-footer-newsletter {
		grid-column: 1 / -1;
	}
}

@media (max-width: 900px) {
	.site-header-inner {
		height: auto;
		min-height: 90px;
		justify-content: center;
		align-items: center;
		gap: 0.35rem 0.55rem;
		padding-top: 0.45rem;
		padding-bottom: 0.75rem;
	}

	.site-brand {
		width: 100%;
		position: static;
		transform: none;
		text-align: center;
	}

	.site-nav {
		display: contents;
	}

	.ab-main-menu {
		gap: 0.4rem 0.5rem;
	}

	.site-header-actions {
		display: inline-flex;
		align-items: center;
		gap: 0.18rem;
		order: 3;
	}

	.site-whatsapp-link,
	.site-cart-link {
		position: static;
		top: auto;
		right: auto;
		transform: none;
	}

	.site-cart-link {
		margin-left: 0.1rem;
	}
}

@media (max-width: 1024px) {
	.portafolio-page,
	.nosotros-page,
	.pedidos-personalizados-page {
		max-width: 40rem;
	}
}

@media (max-width: 1200px) {
	.home .home-v1 {
		max-width: none;
	}
}

@media (max-width: 1024px) {
	.home .home-v1 {
		max-width: none;
	}

	.ab-home-solutions {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.ab-home-phase2 {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.ab-home-phase2-materiales {
		grid-column: 1 / -1;
	}
}

@media (min-width: 1280px) {
	.home main {
		max-width: none;
		padding-left: 0;
		padding-right: 0;
	}

	.home .home-v1 {
		width: 100%;
		max-width: none;
		gap: 36px;
	}

	.home .home-v1 section {
		padding: 42px;
	}

	.home .ab-home-phase1 {
		width: 100%;
		max-width: none;
		margin-left: 0;
		margin-right: 0;
		padding-left: 0;
		padding-right: 0;
	}

	.home .ab-home-manifesto,
	.home .ab-home-manifesto-media {
		min-height: 0;
	}

	.home .ab-home-manifesto-eyebrow {
		left: 28px;
		top: 28px;
		padding: 10px 14px;
		font-size: 10px;
	}

	.home .ab-home-manifesto-cta {
		right: 28px;
		bottom: 28px;
		gap: 8px;
		max-width: 520px;
		padding: 7px;
	}

	.home .ab-home-manifesto-cta .ab-button {
		font-size: 11px;
		padding: 10px 15px;
	}

	.home .ab-home-manifesto-dots {
		left: 28px;
		bottom: 28px;
		gap: 6px;
	}

	.home .ab-home-manifesto-dots label {
		width: 6px;
		height: 6px;
	}

	.home .ab-home-phase2 {
		padding-top: 4px;
		gap: 16px;
	}

	.home .ab-home-phase2 article {
		padding: 32px 28px;
	}

	.home .ab-home-phase2 h2 {
		font-size: 28px;
	}

	.home .ab-home-hero-shell .ab-home-phase2 {
		gap: 10px;
	}

	.home .ab-home-hero-shell .ab-home-phase2 article {
		padding: 18px 18px 16px;
	}

	.home .ab-home-hero-shell .ab-home-phase2 h2 {
		font-size: 16px;
	}

	.home .ab-home-hero-shell .ab-home-phase2 p {
		margin-bottom: 8px;
	}

	.home .ab-home-phase3-eco {
		padding: 52px 42px;
	}

	.home .ab-home-brand-benefits {
		padding: 36px 32px;
	}

	.home .ab-home-brand-benefits-intro {
		margin-bottom: 26px;
	}

	.home .ab-home-brand-benefits-intro h2 {
		font-size: 34px;
	}

	.home .ab-home-brand-benefits-intro p {
		font-size: 18px;
	}

	.home .ab-home-brand-benefits-grid {
		gap: 18px;
	}

	.home .ab-home-brand-benefit-card {
		padding: 28px 22px 20px;
	}

	.home .ab-home-brand-benefit-card h3 {
		font-size: 16px;
		margin-bottom: 14px;
	}

	.home .ab-home-brand-benefit-card p {
		font-size: 15px;
		line-height: 1.45;
	}
}
