/*
Theme Name:   vj-works-studio
Description:  Identidad aislada para ATRIO Shop (mobiliario, iluminación y
              decoración). Solo se carga en la plantilla page-atrio-shop, bajo
              la clase .atrio-shop-frame. Independiente de ATRIO inmobiliaria
              (atrio.css) y del resto de demos.
*/
@font-face {
	font-family: "Fraunces";
	font-style: normal;
	font-weight: 300 650;
	font-display: swap;
	src: url(fonts/atrio-shop/fraunces-latin.woff2) format("woff2");
}
@font-face {
	font-family: "Work Sans";
	font-style: normal;
	font-weight: 300 650;
	font-display: swap;
	src: url(fonts/atrio-shop/worksans-latin.woff2) format("woff2");
}

/* === tokens === */
.atrio-shop-frame {
	--as-paper: #f7f1e6;
	--as-cream: #fcf8f0;
	--as-sand: #e7dcc9;
	--as-stone: #cdbfa9;
	--as-ink: #201913;
	--as-nogal: #523a2b;
	--as-walnut: #3a2a20;
	--as-brass: #ab8856;
	--as-muted: #6f6457;
	--as-line: rgba(32, 25, 19, 0.14);
	--as-serif: "Fraunces", Georgia, "Times New Roman", serif;
	--as-sans: "Work Sans", "Helvetica Neue", Arial, sans-serif;
}

/* === reset / base === */
.atrio-shop-frame {
	--as-max: 1320px;
}
.atrio-shop-frame,
.atrio-shop-frame body {
	background: var(--as-paper);
	color: var(--as-ink);
	font-family: var(--as-sans);
}
.atrio-shop-frame .atrio-shop-main {
	font-family: var(--as-sans);
	font-size: 1rem;
	line-height: 1.62;
}
.atrio-shop-frame a {
	color: var(--as-nogal);
}
.atrio-shop-frame .atrio-shop-main a {
	text-decoration: underline;
	text-decoration-color: rgba(82, 58, 43, 0.35);
	text-underline-offset: 0.18em;
}
.atrio-shop-frame ::selection {
	background: var(--as-brass);
	color: var(--as-paper);
}
.atrio-shop-frame h1,
.atrio-shop-frame h2,
.atrio-shop-frame h3,
.atrio-shop-frame h4,
.atrio-shop-frame .atrio-serif {
	font-family: var(--as-serif);
	font-weight: 400;
	line-height: 1.12;
	letter-spacing: -0.012em;
}
.atrio-shop-frame .atrio-eyebrow {
	font-family: var(--as-sans);
	font-size: 0.72rem;
	font-weight: 500;
	text-transform: uppercase;
	letter-spacing: 0.24em;
	color: var(--as-brass);
}
.atrio-shop-frame .atrio-eyebrow + h2,
.atrio-shop-frame .atrio-eyebrow + h1 {
	margin-block-start: 1rem;
}
.atrio-shop-frame .atrio-muted {
	color: var(--as-muted);
}
.atrio-shop-frame .atrio-rule {
	border: 0;
	border-top: 1px solid var(--as-line);
}
.atrio-shop-frame .atrio-band-bone {
	background: var(--as-cream);
}
.atrio-shop-frame .atrio-band-sand {
	background: var(--as-sand);
}
.atrio-shop-frame .atrio-band-ink {
	background: var(--as-walnut);
	color: var(--as-cream);
}
.atrio-shop-frame .atrio-band-ink .atrio-eyebrow {
	color: var(--as-brass);
}
/* === header === */
.atrio-shop-frame .atrio-shop-header {
	background: rgba(252, 248, 240, 0.96);
	border-bottom: 1px solid var(--as-line);
	position: sticky;
	top: 0;
	z-index: 60;
}
.atrio-shop-frame .atrio-shop-header-inner {
	max-width: var(--as-max);
	margin-inline: auto;
	width: 100%;
	padding: 1rem clamp(1rem, 4vw, 2.5rem);
	gap: 0.75rem;
	align-items: center;
}
.atrio-shop-frame .atrio-shop-logo {
	margin: 0;
	font-family: var(--as-serif);
	font-size: 1.5rem;
	line-height: 1;
	white-space: nowrap;
}
.atrio-shop-frame .atrio-shop-logo a {
	text-decoration: none;
	display: inline-flex;
	align-items: baseline;
}
.atrio-shop-frame .atrio-shop-logo-serif {
	color: var(--as-nogal);
	font-weight: 500;
}
.atrio-shop-frame .atrio-shop-logo-sans {
	font-family: var(--as-sans);
	font-size: 0.7rem;
	font-weight: 500;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	color: var(--as-muted);
	margin-left: 0.45rem;
}
.atrio-shop-frame .atrio-shop-nav {
	gap: clamp(1rem, 2.4vw, 1.7rem);
}
.atrio-shop-frame .atrio-shop-navlink {
	margin: 0;
	font-size: 0.84rem;
	letter-spacing: 0.01em;
}
.atrio-shop-frame .atrio-shop-navlink a {
	text-decoration: none;
	color: var(--as-ink);
	padding: 0.3rem 0;
	position: relative;
}
.atrio-shop-frame .atrio-shop-navlink a::after {
	content: "";
	position: absolute;
	left: 0;
	right: 100%;
	bottom: 0;
	height: 1px;
	background: var(--as-brass);
	transition: right 0.25s ease;
}
.atrio-shop-frame .atrio-shop-navlink a:hover::after,
.atrio-shop-frame .atrio-shop-navlink a:focus-visible::after {
	right: 0;
}
.atrio-shop-frame .atrio-shop-actions {
	gap: 1rem;
	align-items: center;
}
.atrio-shop-frame .atrio-cart-link {
	margin: 0;
}
.atrio-shop-frame .atrio-cart-link a {
	text-decoration: none;
	display: inline-flex;
	align-items: center;
	gap: 0.5rem;
	font-size: 0.85rem;
	color: var(--as-ink);
}
.atrio-shop-frame .atrio-cart-link a:hover {
	color: var(--as-nogal);
}
.atrio-shop-frame .atrio-cart-count {
	font-size: 0.7rem;
	font-weight: 600;
	min-width: 1.35rem;
	height: 1.35rem;
	padding: 0 0.3rem;
	border-radius: 999px;
	background: var(--as-nogal);
	color: var(--as-cream);
	display: inline-flex;
	align-items: center;
	justify-content: center;
	line-height: 1;
}
.atrio-shop-frame .atrio-cart-link a:hover .atrio-cart-count {
	background: var(--as-brass);
}
.atrio-shop-frame .atrio-shop-nav-toggle {
	margin: 0;
	display: none;
}
.atrio-shop-frame .atrio-skip {
	position: absolute;
	left: -999px;
	top: 0;
	margin: 0;
}
.atrio-shop-frame .atrio-skip a:focus {
	left: 0;
	top: 0;
	padding: 0.6rem 1rem;
	background: var(--as-nogal);
	color: var(--as-cream);
	z-index: 80;
}
/* === hero === */
.atrio-shop-frame .atrio-hero {
	min-height: 0;
}
.atrio-shop-frame .atrio-hero .wp-block-cover__inner-container {
	max-width: var(--as-max);
	margin-inline: auto;
	width: 100%;
	padding: 7rem 1.5rem;
}
.atrio-shop-frame .atrio-hero--light .atrio-hero-eyebrow {
	color: var(--as-brass);
}
.atrio-shop-frame .atrio-hero-title {
	font-size: clamp(2.7rem, 5.6vw, 5.6rem);
	max-width: 13ch;
	color: #fff;
	margin: 0;
}
.atrio-shop-frame .atrio-hero-sub {
	color: rgba(255, 255, 255, 0.88);
	max-width: 44ch;
	margin-block: 1.2rem 0;
	font-size: 1.05rem;
}
/* === header === */
/* === hero === */
/* === sections === */
.atrio-shop-frame .atrio-section {
	padding-block: clamp(3.5rem, 7vw, 6rem);
}
.atrio-shop-frame .atrio-section--tight {
	padding-block: clamp(2.5rem, 5vw, 4rem);
}
.atrio-shop-frame .atrio-page-head {
	max-width: var(--as-max);
	margin-inline: auto;
	width: 100%;
	padding: clamp(3rem, 6vw, 5rem) clamp(1rem, 4vw, 2.5rem) clamp(2rem, 4vw, 3rem);
}
.atrio-shop-frame .atrio-page-head .atrio-page-title {
	font-size: clamp(2.2rem, 4.5vw, 4rem);
	margin: 0 0 0.6rem;
}
.atrio-shop-frame .atrio-page-head .atrio-page-lede {
	max-width: 56ch;
	color: var(--as-muted);
	margin: 0;
}
.atrio-shop-frame .atrio-cols {
	max-width: var(--as-max);
	margin-inline: auto;
	width: 100%;
	padding-inline: clamp(1rem, 4vw, 2.5rem);
}
.atrio-shop-frame .atrio-cols .wp-block-columns {
	align-items: center;
	gap: clamp(2rem, 4vw, 4rem);
}
.atrio-shop-frame .atrio-cols--split .wp-block-column > * + * {
	margin-block-start: 1.2rem;
}
/* categorías (tres tiles) */
.atrio-shop-frame .atrio-cat-tiles {
	max-width: var(--as-max);
	margin-inline: auto;
	width: 100%;
	padding-inline: clamp(1rem, 4vw, 2.5rem);
}
.atrio-shop-frame .atrio-cat-tiles .wp-block-columns {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: clamp(1.4rem, 3vw, 2rem);
}
.atrio-shop-frame .atrio-cat-tile {
	position: relative;
}
.atrio-shop-frame .atrio-cat-tile .wp-block-image {
	margin: 0;
}
.atrio-shop-frame .atrio-cat-tile .wp-block-image img {
	aspect-ratio: 4 / 5;
	object-fit: cover;
	width: 100%;
}
.atrio-shop-frame .atrio-cat-tile a {
	position: relative;
	display: block;
	text-decoration: none;
	overflow: hidden;
}
.atrio-shop-frame .atrio-cat-tile a img {
	transition: transform 0.6s cubic-bezier(0.2, 0.6, 0.2, 1);
}
.atrio-shop-frame .atrio-cat-tile a:hover img {
	transform: scale(1.04);
}
.atrio-shop-frame .atrio-cat-tile-label {
	margin: 0.7rem 0 0.2rem;
	font-size: 1.25rem;
}
.atrio-shop-frame .atrio-cat-tile-label a {
	text-decoration: none;
	color: var(--as-ink);
}
.atrio-shop-frame .atrio-cat-tile-note {
	margin: 0;
	font-size: 0.85rem;
	color: var(--as-muted);
}
/* banda editorial imagen + texto */
.atrio-shop-frame .atrio-editorial {
	max-width: var(--as-max);
	margin-inline: auto;
	width: 100%;
	padding-inline: clamp(1rem, 4vw, 2.5rem);
}
.atrio-shop-frame .atrio-feature-img {
	margin: 0;
}
.atrio-shop-frame .atrio-feature-title {
	font-size: clamp(1.9rem, 3.4vw, 3rem);
	margin: 0 0 1rem;
}
.atrio-shop-frame .atrio-feature-copy .wp-block-paragraph {
	margin-bottom: 1.1rem;
}
/* filosofía / materiales */
.atrio-shop-frame .atrio-philosophy,
.atrio-shop-frame .atrio-materials {
	max-width: var(--as-max);
	margin-inline: auto;
	width: 100%;
	padding-inline: clamp(1rem, 4vw, 2.5rem);
}
.atrio-shop-frame .atrio-principios {
	grid-template-columns: repeat(4, 1fr) !important;
	gap: clamp(1.4rem, 3vw, 2.4rem);
}
.atrio-shop-frame .atrio-principio-num {
	font-family: var(--as-serif);
	font-size: 0.95rem;
	color: var(--as-brass);
	margin: 0 0 0.5rem;
}
.atrio-shop-frame .atrio-principio h3 {
	font-size: 1.15rem;
	margin: 0 0 0.5rem;
}
.atrio-shop-frame .atrio-principio p:last-child {
	margin: 0;
	font-size: 0.9rem;
	color: var(--as-muted);
}
.atrio-shop-frame .atrio-mat-grid {
	grid-template-columns: repeat(3, 1fr) !important;
	gap: clamp(1.2rem, 2.5vw, 2rem);
}
.atrio-shop-frame .atrio-mat-card {
	padding: 0;
	overflow: hidden;
}
.atrio-shop-frame .atrio-mat-card .wp-block-image {
	margin: 0;
}
.atrio-shop-frame .atrio-mat-card .wp-block-image img {
	aspect-ratio: 1 / 1;
	object-fit: cover;
	width: 100%;
}
.atrio-shop-frame .atrio-mat-card-body {
	padding: 1.1rem 0.2rem 0;
}
.atrio-shop-frame .atrio-mat-card h4 {
	font-size: 1.05rem;
	margin: 0 0 0.2rem;
}
.atrio-shop-frame .atrio-mat-last {
	margin: 0;
	font-size: 0.88rem;
	color: var(--as-muted);
}
/* === producto (cards, ficha, galería, lightbox) === */
.atrio-shop-frame .atrio-grid {
	max-width: var(--as-max);
	margin-inline: auto;
	width: 100%;
	padding-inline: clamp(1rem, 4vw, 2.5rem);
}
.atrio-shop-frame .atrio-grid-list {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: clamp(1.6rem, 3vw, 2.4rem) clamp(1.2rem, 2.5vw, 2rem);
	margin-block-start: 2rem;
}
.atrio-shop-frame .atrio-card {
	position: relative;
	cursor: pointer;
}
.atrio-shop-frame .atrio-card .wp-block-image {
	margin: 0;
	overflow: hidden;
}
.atrio-shop-frame .atrio-card .wp-block-image img {
	aspect-ratio: 4 / 5;
	object-fit: cover;
	width: 100%;
	transition: transform 0.7s cubic-bezier(0.2, 0.6, 0.2, 1);
	display: block;
}
.atrio-shop-frame .atrio-card:hover .wp-block-image img,
.atrio-shop-frame .atrio-card:focus-within .wp-block-image img {
	transform: scale(1.045);
}
.atrio-shop-frame .atrio-card-body {
	padding: 0.9rem 0 0;
}
.atrio-shop-frame .atrio-card-cat {
	display: block;
	font-size: 0.68rem;
	text-transform: uppercase;
	letter-spacing: 0.18em;
	color: var(--as-brass);
	margin: 0 0 0.25rem;
}
.atrio-shop-frame .atrio-card-name {
	font-size: 1.2rem;
	margin: 0 0 0.15rem;
}
.atrio-shop-frame .atrio-card-name a {
	text-decoration: none;
	color: var(--as-ink);
}
.atrio-shop-frame .atrio-card-price {
	margin: 0;
	font-size: 0.92rem;
	color: var(--as-muted);
}
.atrio-shop-frame .atrio-add-to-cart {
	margin: 0.85rem 0 0;
}
.atrio-shop-frame .atrio-add-to-cart .wp-element-button {
	padding: 0.55rem 1rem;
	font-size: 0.66rem;
	border: 1px solid var(--as-line);
	background: transparent;
	color: var(--as-ink);
	width: 100%;
}
.atrio-shop-frame .atrio-add-to-cart .wp-element-button:hover {
	background: var(--as-walnut);
	color: var(--as-cream);
	border-color: var(--as-walnut);
}
.atrio-shop-frame .atrio-add-to-cart.is-added .wp-element-button {
	background: var(--as-brass);
	border-color: var(--as-brass);
	color: var(--as-paper);
}
/* ficha de producto */
.atrio-shop-frame .atrio-ficha {
	max-width: var(--as-max);
	margin-inline: auto;
	width: 100%;
	padding-inline: clamp(1rem, 4vw, 2.5rem);
}
.atrio-shop-frame .atrio-breadcrumb {
	font-size: 0.78rem;
	color: var(--as-muted);
	margin: 1.4rem 0 2rem;
}
.atrio-shop-frame .atrio-breadcrumb a {
	text-decoration: none;
}
.atrio-shop-frame .atrio-ficha-head {
	display: grid;
	grid-template-columns: 1.05fr 0.95fr;
	gap: clamp(2rem, 4vw, 4rem);
	align-items: start;
}
.atrio-shop-frame .atrio-gallery {
	position: sticky;
	top: 5.5rem;
}
.atrio-shop-frame .atrio-gal-main {
	position: relative;
	margin: 0 0 0.8rem;
}
.atrio-shop-frame .atrio-gal-main img {
	aspect-ratio: 4 / 5;
	object-fit: cover;
	width: 100%;
	display: block;
	cursor: zoom-in;
}
.atrio-shop-frame .atrio-gal-count {
	position: absolute;
	right: 0.8rem;
	bottom: 0.8rem;
	background: rgba(32, 25, 19, 0.72);
	color: var(--as-cream);
	font-size: 0.72rem;
	letter-spacing: 0.08em;
	padding: 0.35rem 0.6rem;
}
.atrio-shop-frame .atrio-gal-thumbs {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 0.6rem;
}
.atrio-shop-frame .atrio-gal-thumb {
	margin: 0;
	cursor: pointer;
	opacity: 0.6;
	transition: opacity 0.2s ease;
}
.atrio-shop-frame .atrio-gal-thumb.is-active {
	opacity: 1;
}
.atrio-shop-frame .atrio-gal-thumb:hover {
	opacity: 1;
}
.atrio-shop-frame .atrio-gal-thumb img {
	aspect-ratio: 1 / 1;
	object-fit: cover;
	width: 100%;
	display: block;
}
.atrio-shop-frame .atrio-ficha-info .atrio-eyebrow {
	margin: 0 0 0.4rem;
}
.atrio-shop-frame .atrio-ficha-info h1 {
	font-size: clamp(1.8rem, 3.2vw, 2.6rem);
	margin: 0 0 0.7rem;
}
.atrio-shop-frame .atrio-price {
	font-family: var(--as-serif);
	font-size: 1.3rem;
	color: var(--as-nogal);
}
.atrio-shop-frame .atrio-price-note {
	font-size: 0.78rem;
	color: var(--as-muted);
	margin: 0.2rem 0 0;
}
.atrio-shop-frame .atrio-ficha-desc {
	margin-block: 1.2rem;
	color: var(--as-muted);
}
.atrio-shop-frame .atrio-variants-label {
	font-size: 0.78rem;
	text-transform: uppercase;
	letter-spacing: 0.12em;
	margin: 1.2rem 0 0.5rem;
}
.atrio-shop-frame .atrio-variant-row {
	gap: 0.5rem;
}
.atrio-shop-frame .atrio-variant {
	gap: 0;
}
.atrio-shop-frame .atrio-variant .wp-element-button {
	background: transparent;
	border: 1px solid var(--as-line);
	color: var(--as-ink);
	padding: 0.45rem 0.9rem;
	font-size: 0.72rem;
}
.atrio-shop-frame .atrio-variant.is-active .wp-element-button {
	border-color: var(--as-walnut);
	background: var(--as-walnut);
	color: var(--as-cream);
}
.atrio-shop-frame .atrio-qty-row {
	display: flex;
	align-items: center;
	gap: 0.75rem;
	margin-block: 1.4rem;
}
.atrio-shop-frame .atrio-qty-mount {
	display: inline-flex;
	align-items: center;
	border: 1px solid var(--as-line);
}
.atrio-shop-frame .atrio-qty-mount button {
	background: transparent;
	border: 0;
	width: 2.4rem;
	height: 2.6rem;
	font-size: 1rem;
	color: var(--as-ink);
	cursor: pointer;
}
.atrio-shop-frame .atrio-qty-mount button:hover {
	background: var(--as-sand);
}
.atrio-shop-frame .atrio-qty-mount .atrio-qty-val {
	min-width: 2.2rem;
	text-align: center;
	font-size: 0.9rem;
}
.atrio-shop-frame .atrio-ficha-add .wp-element-button {
	padding: 0.95rem 2rem;
}
.atrio-shop-frame .atrio-ficha-meta {
	border-top: 1px solid var(--as-line);
	margin-block: 1.4rem 0;
	padding-block-start: 1.2rem;
}
.atrio-shop-frame .atrio-meta-title {
	font-size: 0.72rem;
	text-transform: uppercase;
	letter-spacing: 0.14em;
	color: var(--as-brass);
	margin: 1rem 0 0.1rem;
}
.atrio-shop-frame .atrio-meta-row {
	margin: 0.1rem 0 0.5rem;
	font-size: 0.92rem;
}
.atrio-shop-frame .atrio-backlink {
	margin-block-start: 1.4rem;
	font-size: 0.85rem;
}
.atrio-shop-frame .atrio-backlink a {
	text-decoration: none;
	color: var(--as-nogal);
	font-weight: 500;
}
/* lightbox */
.atrio-shop-frame .atrio-lightbox {
	position: fixed;
	inset: 0;
	z-index: 100;
	background: rgba(24, 18, 12, 0.9);
	display: flex;
	align-items: center;
	justify-content: center;
	opacity: 0;
	visibility: hidden;
	transition: opacity 0.25s ease, visibility 0.25s ease;
}
.atrio-shop-frame .atrio-lightbox.is-open {
	opacity: 1;
	visibility: visible;
}
.atrio-shop-frame .atrio-lightbox img {
	max-width: min(88vw, 1000px);
	max-height: 82vh;
	object-fit: contain;
}
.atrio-shop-frame .atrio-lightbox-close {
	position: absolute;
	top: 1.2rem;
	right: 1.4rem;
	background: transparent;
	border: 0;
	color: var(--as-cream);
	font-size: 1.6rem;
	cursor: pointer;
	padding: 0.4rem 0.7rem;
}
.atrio-shop-frame .atrio-lightbox::before {
	content: "‹";
	position: absolute;
	left: 1rem;
	color: var(--as-cream);
	font-size: 3rem;
	cursor: pointer;
	top: 50%;
	transform: translateY(-50%);
	line-height: 1;
}
.atrio-shop-frame .atrio-lightbox::after {
	content: "›";
	position: absolute;
	right: 1rem;
	color: var(--as-cream);
	font-size: 3rem;
	cursor: pointer;
	top: 50%;
	transform: translateY(-50%);
	line-height: 1;
}
/* relacionados */
.atrio-shop-frame .atrio-related {
	max-width: var(--as-max);
	margin-inline: auto;
	width: 100%;
	padding-inline: clamp(1rem, 4vw, 2.5rem);
}
.atrio-shop-frame .atrio-related .atrio-grid-list {
	grid-template-columns: repeat(3, 1fr);
}
/* === catálogo (filtros, orden, contadores, listado) === */
.atrio-shop-frame .atrio-toolbar {
	max-width: var(--as-max);
	margin-inline: auto;
	width: 100%;
	padding: 0 clamp(1rem, 4vw, 2.5rem) 1.5rem;
}
.atrio-shop-frame .atrio-toolbar-row {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 1rem 2rem;
	border-bottom: 1px solid var(--as-line);
	padding-block-end: 1.2rem;
}
.atrio-shop-frame .atrio-filter-group {
	gap: 1.2rem;
}
.atrio-shop-frame .atrio-filter-label {
	font-size: 0.72rem;
	text-transform: uppercase;
	letter-spacing: 0.14em;
	color: var(--as-brass);
	margin: 0;
}
.atrio-shop-frame .atrio-chip-row {
	gap: 0.45rem;
}
.atrio-shop-frame .atrio-chip-row .wp-element-button {
	background: transparent;
	border: 1px solid var(--as-line);
	color: var(--as-ink);
	padding: 0.45rem 0.85rem;
	font-size: 0.74rem;
}
.atrio-shop-frame .atrio-chip-row .wp-element-button:hover {
	border-color: var(--as-nogal);
}
.atrio-shop-frame .atrio-chip-row .is-active .wp-element-button {
	background: var(--as-walnut);
	border-color: var(--as-walnut);
	color: var(--as-cream);
}
.atrio-shop-frame .atrio-sort-group {
	gap: 0.45rem;
}
.atrio-shop-frame .atrio-toolbar-count {
	font-size: 0.85rem;
	color: var(--as-muted);
	margin: 0.9rem 0 0;
	padding-inline: 0;
	max-width: var(--as-max);
	margin-inline: auto;
	width: 100%;
	padding-left: clamp(1rem, 4vw, 2.5rem);
	padding-right: clamp(1rem, 4vw, 2.5rem);
}
.atrio-shop-frame .atrio-empty {
	max-width: var(--as-max);
	margin: 2rem auto;
	width: 100%;
	text-align: center;
	padding: 4rem 1.5rem;
	border: 1px dashed var(--as-line);
}
.atrio-shop-frame .atrio-empty h3 {
	font-size: 1.4rem;
}
.atrio-shop-frame .atrio-empty .atrio-empty-reset {
	margin-top: 1rem;
}
.atrio-shop-frame .atrio-toolbar-sort {
	background: transparent;
	border: 1px solid var(--as-line);
	padding: 0.55rem 0.7rem;
	font-family: var(--as-sans);
	font-size: 0.82rem;
	color: var(--as-ink);
}
.atrio-shop-frame .atrio-toolbar-sort:focus-visible {
	outline: 2px solid var(--as-brass);
}
/* === carrito === */
.atrio-shop-frame .atrio-cart {
	max-width: 1000px;
	margin-inline: auto;
	width: 100%;
	padding: 0 clamp(1rem, 4vw, 2.5rem) 4rem;
}
.atrio-shop-frame .atrio-cart-list {
	border-top: 1px solid var(--as-line);
}
.atrio-shop-frame .atrio-cart-item {
	display: grid;
	grid-template-columns: 90px 1fr auto;
	gap: 1.2rem;
	align-items: center;
	padding: 1.4rem 0;
	border-bottom: 1px solid var(--as-line);
}
.atrio-shop-frame .atrio-cart-item .wp-block-image {
	margin: 0;
}
.atrio-shop-frame .atrio-cart-item img {
	aspect-ratio: 1 / 1;
	object-fit: cover;
	width: 90px;
	display: block;
}
.atrio-shop-frame .atrio-cart-item-name {
	font-size: 1.05rem;
	margin: 0 0 0.15rem;
}
.atrio-shop-frame .atrio-cart-item-name a {
	text-decoration: none;
	color: var(--as-ink);
}
.atrio-shop-frame .atrio-cart-item-var {
	font-size: 0.8rem;
	color: var(--as-muted);
	margin: 0 0 0.4rem;
}
.atrio-shop-frame .atrio-cart-qty {
	display: inline-flex;
	align-items: center;
	border: 1px solid var(--as-line);
}
.atrio-shop-frame .atrio-cart-qty button {
	background: transparent;
	border: 0;
	width: 1.9rem;
	height: 2.1rem;
	cursor: pointer;
	color: var(--as-ink);
	font-size: 0.95rem;
}
.atrio-shop-frame .atrio-cart-qty button:hover {
	background: var(--as-sand);
}
.atrio-shop-frame .atrio-cart-qty .atrio-cart-qty-val {
	min-width: 1.8rem;
	text-align: center;
	font-size: 0.85rem;
}
.atrio-shop-frame .atrio-cart-item-price {
	text-align: right;
	font-family: var(--as-serif);
	font-size: 1rem;
}
.atrio-shop-frame .atrio-cart-item-remove {
	background: transparent;
	border: 0;
	color: var(--as-muted);
	text-decoration: underline;
	font-size: 0.78rem;
	cursor: pointer;
	padding: 0;
}
.atrio-shop-frame .atrio-cart-item-remove:hover {
	color: var(--as-ink);
}
.atrio-shop-frame .atrio-cart-summary {
	display: flex;
	flex-direction: column;
	align-items: flex-end;
	gap: 0.5rem;
	margin-block-start: 1.6rem;
}
.atrio-shop-frame .atrio-cart-total-row {
	display: flex;
	justify-content: space-between;
	width: min(320px, 100%);
	font-family: var(--as-serif);
	font-size: 1.25rem;
}
.atrio-shop-frame .atrio-cart-actions {
	display: flex;
	gap: 0.8rem;
	margin-block-start: 0.6rem;
	flex-wrap: wrap;
	justify-content: flex-end;
}
.atrio-shop-frame .atrio-cart-clear {
	background: transparent;
	border: 0;
	color: var(--as-muted);
	text-decoration: underline;
	font-size: 0.82rem;
	cursor: pointer;
	padding: 0;
	align-self: center;
}
.atrio-shop-frame .atrio-cart-empty {
	max-width: var(--as-max);
	margin: 3rem auto;
	width: 100%;
	text-align: center;
	padding: 4.5rem 1.5rem;
	border: 1px dashed var(--as-line);
}
.atrio-shop-frame .atrio-cart-empty h2 {
	font-size: 1.7rem;
}
.atrio-shop-frame .atrio-cart-empty p {
	color: var(--as-muted);
}
.atrio-shop-frame .atrio-demo-note {
	font-size: 0.8rem;
	color: var(--as-muted);
	max-width: 58ch;
	border-left: 2px solid var(--as-brass);
	padding-left: 0.8rem;
}
/* === checkout === */
.atrio-shop-frame .atrio-checkout {
	max-width: 1080px;
	margin-inline: auto;
	width: 100%;
	padding: 0 clamp(1rem, 4vw, 2.5rem) 4rem;
}
.atrio-shop-frame .atrio-checkout-head {
	margin: 1.4rem 0 2rem;
}
.atrio-shop-frame .atrio-checkout-head h1 {
	font-size: clamp(1.8rem, 3.4vw, 2.6rem);
	margin: 0 0 0.4rem;
}
.atrio-shop-frame .atrio-checkout-grid {
	display: grid;
	grid-template-columns: 1.3fr 0.9fr;
	gap: clamp(2rem, 4vw, 4rem);
	align-items: start;
}
.atrio-shop-frame .atrio-form-field {
	margin-block-end: 1.1rem;
}
.atrio-shop-frame .atrio-form-field label {
	display: block;
	font-size: 0.74rem;
	text-transform: uppercase;
	letter-spacing: 0.12em;
	margin: 0 0 0.35rem;
}
.atrio-shop-frame .atrio-form-field input,
.atrio-shop-frame .atrio-form-field select,
.atrio-shop-frame .atrio-form-field textarea {
	width: 100%;
	padding: 0.7rem 0.8rem;
	border: 1px solid var(--as-line);
	background: var(--as-cream);
	font-family: var(--as-sans);
	font-size: 0.92rem;
	color: var(--as-ink);
}
.atrio-shop-frame .atrio-form-field input:focus,
.atrio-shop-frame .atrio-form-field select:focus,
.atrio-shop-frame .atrio-form-field textarea:focus {
	outline: 2px solid var(--as-brass);
	outline-offset: 1px;
	border-color: var(--as-brass);
}
.atrio-shop-frame .atrio-form-field.is-invalid input,
.atrio-shop-frame .atrio-form-field.is-invalid select {
	border-color: #a33;
}
.atrio-shop-frame .atrio-form-field .atrio-field-error {
	color: #a33;
	font-size: 0.78rem;
	margin-top: 0.25rem;
	display: none;
}
.atrio-shop-frame .atrio-form-field.is-invalid .atrio-field-error {
	display: block;
}
.atrio-shop-frame .atrio-form-note {
	font-size: 0.78rem;
	color: var(--as-muted);
}
.atrio-shop-frame .atrio-checkout-summary {
	border: 1px solid var(--as-line);
	background: var(--as-cream);
	padding: 1.5rem;
}
.atrio-shop-frame .atrio-checkout-summary-title {
	font-size: 1.15rem;
	margin: 0 0 1rem;
}
.atrio-shop-frame .atrio-checkout-lines {
	border-top: 1px solid var(--as-line);
}
.atrio-shop-frame .atrio-checkout-line {
	display: flex;
	justify-content: space-between;
	gap: 1rem;
	font-size: 0.9rem;
	padding: 0.6rem 0;
	border-bottom: 1px solid var(--as-line);
}
.atrio-shop-frame .atrio-checkout-line .atrio-checkout-qty {
	color: var(--as-muted);
}
.atrio-shop-frame .atrio-checkout-total {
	display: flex;
	justify-content: space-between;
	font-family: var(--as-serif);
	font-size: 1.2rem;
	padding-block: 1rem;
}
.atrio-shop-frame .atrio-checkout-empty {
	color: var(--as-muted);
}
.atrio-shop-frame .atrio-checkout-confirm {
	max-width: 640px;
	margin: 3rem auto;
	width: 100%;
	text-align: center;
	padding: 3.5rem 2rem;
	background: var(--as-cream);
	border: 1px solid var(--as-line);
}
.atrio-shop-frame .atrio-confirm-title {
	font-family: var(--as-serif);
	font-size: 1.9rem;
	margin: 0 0 0.8rem;
}
.atrio-shop-frame .atrio-confirm-note {
	color: var(--as-muted);
}
.atrio-shop-frame .atrio-checkout-confirm-demo {
	font-size: 0.8rem;
	color: var(--as-brass);
	margin-top: 1.6rem;
}
/* === laboratorio === */
.atrio-shop-frame .atrio-lab {
	max-width: var(--as-max);
	margin-inline: auto;
	width: 100%;
	padding: 0 clamp(1rem, 4vw, 2.5rem) 4rem;
}
.atrio-shop-frame .atrio-lab-grid {
	display: grid;
	grid-template-columns: 1.1fr 0.9fr;
	gap: clamp(1.6rem, 3vw, 2.6rem);
	align-items: stretch;
	margin-block-end: 3rem;
}
.atrio-shop-frame .atrio-lab-grid .wp-block-image {
	margin: 0;
}
.atrio-shop-frame .atrio-lab-grid .wp-block-image img {
	object-fit: cover;
	width: 100%;
	height: 100%;
}
.atrio-shop-frame .atrio-lab-gallery .wp-block-image + .wp-block-image {
	margin-block-start: 1.4rem;
}
.atrio-shop-frame .atrio-article-list {
	border-top: 1px solid var(--as-line);
}
.atrio-shop-frame .atrio-article {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: clamp(1.6rem, 3vw, 3rem);
	align-items: center;
	padding: clamp(1.6rem, 3vw, 2.4rem) 0;
	border-bottom: 1px solid var(--as-line);
}
.atrio-shop-frame .atrio-article .wp-block-image {
	margin: 0;
}
.atrio-shop-frame .atrio-article .wp-block-image img {
	aspect-ratio: 16 / 10;
	object-fit: cover;
	width: 100%;
	display: block;
}
.atrio-shop-frame .atrio-article--even .wp-block-image {
	order: 2;
}
.atrio-shop-frame .atrio-article-title {
	font-size: 1.5rem;
	margin: 0 0 0.4rem;
}
.atrio-shop-frame .atrio-article-para {
	margin: 0 0 0.9rem;
	color: var(--as-muted);
}
.atrio-shop-frame .atrio-article-tags {
	gap: 0.4rem;
}
.atrio-shop-frame .atrio-article-tags .wp-element-button {
	background: transparent;
	border: 1px solid var(--as-line);
	color: var(--as-muted);
	padding: 0.3rem 0.7rem;
	font-size: 0.66rem;
}
.atrio-shop-frame .atrio-lab-pull {
	font-family: var(--as-serif);
	font-size: clamp(1.4rem, 2.6vw, 2rem);
	line-height: 1.3;
	max-width: 30ch;
}
/* === cta === */
.atrio-shop-frame .atrio-cta {
	max-width: var(--as-max);
	margin-inline: auto;
	width: 100%;
	padding: clamp(4rem, 8vw, 7rem) clamp(1rem, 4vw, 2.5rem);
	text-align: center;
}
.atrio-shop-frame .atrio-cta-title {
	font-size: clamp(2rem, 4.2vw, 3.4rem);
	margin: 0 auto 1rem;
	max-width: 20ch;
}
.atrio-shop-frame .atrio-cta-sub {
	color: rgba(252, 248, 240, 0.82);
	max-width: 46ch;
	margin: 0 auto 1.8rem;
}
.atrio-shop-frame .atrio-cta .wp-block-buttons {
	justify-content: center;
}
/* === footer === */
.atrio-shop-frame .atrio-shop-footer {
	background: var(--as-walnut);
	color: var(--as-cream);
}
.atrio-shop-frame .atrio-shop-footer-grid {
	max-width: var(--as-max);
	margin-inline: auto;
	width: 100%;
	padding: clamp(3rem, 6vw, 5rem) clamp(1rem, 4vw, 2.5rem) 2rem;
}
.atrio-shop-frame .atrio-shop-footer .wp-block-columns {
	display: grid;
	grid-template-columns: 1.4fr 0.8fr 0.8fr 1.2fr;
	gap: clamp(2rem, 4vw, 3rem);
}
.atrio-shop-frame .atrio-shop-footer .atrio-shop-logo-serif {
	color: var(--as-cream);
}
.atrio-shop-frame .atrio-shop-footer .atrio-shop-logo-sans {
	color: rgba(252, 248, 240, 0.6);
}
.atrio-shop-frame .atrio-footer-lede {
	color: rgba(252, 248, 240, 0.78);
	font-size: 0.92rem;
	margin: 1rem 0 0;
	max-width: 40ch;
}
.atrio-shop-frame .atrio-footer-title {
	font-size: 0.74rem;
	text-transform: uppercase;
	letter-spacing: 0.16em;
	color: var(--as-brass);
	margin: 0 0 0.9rem;
}
.atrio-shop-frame .atrio-footer-link {
	margin: 0 0 0.55rem;
}
.atrio-shop-frame .atrio-footer-link a {
	color: rgba(252, 248, 240, 0.85);
	text-decoration: none;
	font-size: 0.9rem;
}
.atrio-shop-frame .atrio-footer-link a:hover {
	color: var(--as-cream);
}
.atrio-shop-frame .atrio-footer-note {
	color: rgba(252, 248, 240, 0.68);
	font-size: 0.82rem;
}
.atrio-shop-frame .atrio-shop-footer-legal {
	max-width: var(--as-max);
	margin-inline: auto;
	width: 100%;
	padding: 0 clamp(1rem, 4vw, 2.5rem) 1.6rem;
}
.atrio-shop-frame .atrio-shop-footer-legal .atrio-rule {
	border-top-color: rgba(252, 248, 240, 0.16);
}
.atrio-shop-frame .atrio-legal {
	font-size: 0.78rem;
	color: rgba(252, 248, 240, 0.55);
	margin: 1rem 0 0;
}
/* === botones, etiquetas, precios === */
.atrio-shop-frame .wp-element-button {
	border-radius: 0;
	font-family: var(--as-sans);
	text-transform: uppercase;
	letter-spacing: 0.13em;
	font-size: 0.72rem;
	font-weight: 500;
	padding: 0.95rem 1.7rem;
	border: 1px solid transparent;
	transition: background 0.2s ease, color 0.2s ease, border-color 0.2s ease;
}
.atrio-shop-frame .atrio-btn-dark .wp-element-button {
	background: var(--as-walnut);
	color: var(--as-cream);
}
.atrio-shop-frame .atrio-btn-dark .wp-element-button:hover {
	background: #241a13;
}
.atrio-shop-frame .atrio-btn-brass .wp-element-button {
	background: var(--as-brass);
	color: var(--as-paper);
}
.atrio-shop-frame .atrio-btn-brass .wp-element-button:hover {
	background: #97753f;
}
.atrio-shop-frame .atrio-btn-line .wp-element-button {
	background: transparent;
	color: var(--as-ink);
	border-color: var(--as-ink);
}
.atrio-shop-frame .atrio-btn-line .wp-element-button:hover {
	background: var(--as-ink);
	color: var(--as-paper);
}
.atrio-shop-frame .atrio-btn-line-light .wp-element-button {
	background: transparent;
	color: var(--as-cream);
	border-color: rgba(252, 248, 240, 0.7);
}
.atrio-shop-frame .atrio-btn-line-light .wp-element-button:hover {
	background: var(--as-cream);
	color: var(--as-walnut);
}
.atrio-shop-frame .atrio-btn-light .wp-element-button {
	background: var(--as-cream);
	color: var(--as-walnut);
}
.atrio-shop-frame .atrio-btn-light .wp-element-button:hover {
	background: #efe4cf;
}
.atrio-shop-frame .atrio-btn-dark .wp-element-button:focus-visible,
.atrio-shop-frame .atrio-btn-brass .wp-element-button:focus-visible,
.atrio-shop-frame .atrio-btn-line .wp-element-button:focus-visible,
.atrio-shop-frame .atrio-btn-line-light .wp-element-button:focus-visible,
.atrio-shop-frame .atrio-btn-light .wp-element-button:focus-visible {
	outline: 2px solid var(--as-brass);
	outline-offset: 3px;
}
.atrio-shop-frame .wp-block-buttons {
	gap: 1rem;
}
/* === reveal / motion === */
.atrio-shop-frame .atrio-reveal {
	opacity: 1;
}
.atrio-shop-frame .atrio-reveal.is-hidden {
	opacity: 0;
	transform: translateY(14px);
}
.atrio-shop-frame .atrio-reveal.is-visible {
	opacity: 1;
	transform: none;
	transition: opacity 0.6s ease, transform 0.6s ease;
}
@media (prefers-reduced-motion: reduce) {
	.atrio-shop-frame .atrio-reveal.is-hidden {
		opacity: 1;
		transform: none;
		transition: none;
	}
	.atrio-shop-frame .atrio-card .wp-block-image img,
	.atrio-shop-frame .atrio-cat-tile a img {
		transition: none;
	}
}
.atrio-shop-frame .atrio-toast {
	position: fixed;
	left: 50%;
	bottom: 1.5rem;
	transform: translate(-50%, 12px);
	background: var(--as-walnut);
	color: var(--as-cream);
	padding: 0.85rem 1.5rem;
	font-size: 0.86rem;
	box-shadow: 0 12px 32px rgba(0, 0, 0, 0.2);
	z-index: 120;
	opacity: 0;
	visibility: hidden;
	transition: opacity 0.3s ease, transform 0.3s ease, visibility 0.3s ease;
	max-width: 90vw;
}
.atrio-shop-frame .atrio-toast.is-in {
	opacity: 1;
	visibility: visible;
	transform: translate(-50%, 0);
}
/* === responsive === */
@media (max-width: 980px) {
	.atrio-shop-frame .atrio-shop-nav {
		position: absolute;
		top: 100%;
		left: 0;
		right: 0;
		background: var(--as-cream);
		border-bottom: 1px solid var(--as-line);
		display: none;
		flex-direction: column;
		align-items: stretch;
		padding: 1rem 1.5rem 1.4rem;
		gap: 0.4rem;
	}
	.atrio-shop-frame .atrio-shop-nav.is-open {
		display: flex;
	}
	.atrio-shop-frame .atrio-shop-navlink a {
		display: block;
		padding: 0.55rem 0;
	}
	.atrio-shop-frame .atrio-shop-nav-toggle {
		display: inline-block;
	}
	.atrio-shop-frame .atrio-shop-grid-list {
		grid-template-columns: repeat(2, 1fr);
	}
	.atrio-shop-frame .atrio-ficha-head {
		grid-template-columns: 1fr;
	}
	.atrio-shop-frame .atrio-gallery {
		position: static;
	}
	.atrio-shop-frame .atrio-checkout-grid {
		grid-template-columns: 1fr;
	}
	.atrio-shop-frame .atrio-shop-footer .wp-block-columns {
		grid-template-columns: 1fr 1fr;
	}
	.atrio-shop-frame .atrio-lab-grid {
		grid-template-columns: 1fr;
	}
}
@media (max-width: 720px) {
	.atrio-shop-frame .atrio-principios {
		grid-template-columns: 1fr 1fr !important;
	}
	.atrio-shop-frame .atrio-mat-grid {
		grid-template-columns: 1fr !important;
	}
	.atrio-shop-frame .atrio-article {
		grid-template-columns: 1fr;
	}
	.atrio-shop-frame .atrio-article--even .wp-block-image {
		order: 0;
	}
	.atrio-shop-frame .atrio-shop-footer .wp-block-columns {
		grid-template-columns: 1fr;
	}
	.atrio-shop-frame .atrio-cart-item {
		grid-template-columns: 64px 1fr auto;
	}
	.atrio-shop-frame .atrio-cart-item img {
		width: 64px;
	}
	.atrio-shop-frame .atrio-toolbar-row {
		flex-direction: column;
		align-items: flex-start;
	}
	.atrio-shop-frame .atrio-hero .wp-block-cover__inner-container {
		padding-block: 4rem;
	}
}
@media (max-width: 420px) {
	.atrio-shop-frame .atrio-grid-list {
		grid-template-columns: 1fr;
	}
	.atrio-shop-frame .atrio-principios {
		grid-template-columns: 1fr !important;
	}
}

/* ==========================================================================
   ATRIO Shop — REWORK "TALLER": botones con placa de latón, fichas con columna fija,
   cuadrículas sin desbordes en móvil y movimiento de cepillado (barrido lateral).
   No modifica la lógica de cesta ni de pago. Movimiento solo sin reducción.
   ========================================================================== */

/* ---- Cabecera ---- */
.atrio-shop-frame .atrio-cart-link a { display: inline-flex; align-items: center; min-height: 44px; }
.atrio-shop-frame .atrio-shop-navlink a { display: inline-flex; align-items: center; min-height: 44px; }
.atrio-shop-frame .atrio-shop-nav-toggle .wp-element-button { min-height: 44px; min-width: 44px; }
.atrio-shop-frame .atrio-shop-navlink a[aria-current="page"]::after { transform: scaleX(1); }

/* ---- Botones: placa de latón que sube, sin elevación ---- */
.atrio-shop-frame .wp-element-button {
	min-height: 46px;
	background-repeat: no-repeat !important; background-position: 0 100% !important; background-size: 100% 0% !important;
	background-image: linear-gradient(var(--as-brass), var(--as-brass)) !important;
	transform: none !important;
	transition: background-size .6s cubic-bezier(.22,.61,.36,1), color .4s ease, border-color .4s ease, translate .2s ease !important;
}
.atrio-shop-frame .wp-element-button:hover, .atrio-shop-frame .wp-element-button:focus-visible { background-size: 100% 100% !important; transform: none !important; }
.atrio-shop-frame .wp-element-button:active { translate: 0 1px; }
.atrio-shop-frame .wp-element-button:focus-visible { outline: 2px solid var(--as-brass); outline-offset: 3px; }
.atrio-shop-frame .atrio-ficha-add .wp-element-button.is-confirmed::after { content: " ✓"; }

/* ---- Cuadrículas: sin desbordes en móvil ---- */
@media (max-width: 760px) {
	.atrio-shop-frame .atrio-related .atrio-grid-list, .atrio-shop-frame .atrio-grid-list { grid-template-columns: minmax(0, 1fr); }
}
.atrio-shop-frame .atrio-card, .atrio-shop-frame .atrio-card-body { min-width: 0; }

/* ---- Ficha: columna de compra fija en escritorio ---- */
@media (min-width: 1000px) {
	.atrio-shop-frame .atrio-ficha-head { align-items: start; }
	.atrio-shop-frame .atrio-ficha-info { position: sticky; top: 92px; align-self: start; }
}
.atrio-shop-frame .atrio-price { font-variant-numeric: tabular-nums; }
.atrio-shop-frame .atrio-gal-thumb { cursor: pointer; }
.atrio-shop-frame .atrio-gal-thumb:focus-visible, .atrio-shop-frame .atrio-gal-main:focus-visible { outline: 2px solid var(--as-brass); outline-offset: 3px; }
.atrio-shop-frame .atrio-qty-mount button { min-width: 44px; min-height: 44px; }
.atrio-shop-frame .atrio-variant .wp-element-button, .atrio-shop-frame .atrio-chip .wp-element-button, .atrio-shop-frame .atrio-tag .wp-element-button { min-height: 44px; }

/* ---- Portada en móvil ---- */
@media (max-width: 640px) {
	.atrio-shop-frame .atrio-hero { min-height: 78svh !important; }
}

/* ---- Movimiento de taller: cepillado lateral ---- */
@media (prefers-reduced-motion: no-preference) {
	.atrio-shop-frame .atrio-hero { overflow: hidden; }
	html.as-m .atrio-hero .wp-block-cover__image-background { animation: as-zoom 22s cubic-bezier(.22,.61,.36,1) both; }
	@keyframes as-zoom { from { scale: 1.12; } to { scale: 1.02; } }
	.as-w { display: inline-block; overflow: hidden; vertical-align: top; padding-bottom: .14em; margin-bottom: -.14em; }
	html.as-m .as-wi { display: inline-block; transform: translateY(108%); transition: transform 1.2s cubic-bezier(.22,.61,.36,1); transition-delay: calc(var(--i,0) * 90ms + 140ms); }
	html.as-m.as-in .as-wi { transform: none; }
	html.as-m .atrio-hero .atrio-eyebrow, html.as-m .atrio-hero .atrio-hero-sub, html.as-m .atrio-hero .wp-block-buttons { opacity: 0; translate: 0 14px; transition: opacity 1s ease, translate 1.1s cubic-bezier(.22,.61,.36,1); }
	html.as-m.as-in .atrio-hero .atrio-eyebrow { opacity: 1; translate: 0 0; transition-delay: .1s; }
	html.as-m.as-in .atrio-hero .atrio-hero-sub { opacity: 1; translate: 0 0; transition-delay: .8s; }
	html.as-m.as-in .atrio-hero .wp-block-buttons { opacity: 1; translate: 0 0; transition-delay: 1s; }
	/* imágenes y tarjetas: barrido lateral como una cepilladora */
	html.as-m .as-r .wp-block-image, html.as-m figure.as-r { clip-path: inset(0 calc(100% - .3px) 0 0); transition: clip-path 1.2s cubic-bezier(.22,.61,.36,1); transition-delay: calc(var(--i,0) * 100ms); }
	html.as-m .as-r.is-in .wp-block-image, html.as-m figure.as-r.is-in { clip-path: inset(0 0 0 0); }
	html.as-m .atrio-card.as-r .atrio-card-body { opacity: 0; translate: 0 12px; transition: opacity .9s ease, translate 1s cubic-bezier(.22,.61,.36,1); transition-delay: calc(var(--i,0) * 100ms + 250ms); }
	html.as-m .atrio-card.as-r.is-in .atrio-card-body { opacity: 1; translate: 0 0; }
	html.as-m .as-r:not(.atrio-card):not(figure) { opacity: 0; translate: 0 16px; transition: opacity .9s ease, translate 1s cubic-bezier(.22,.61,.36,1); transition-delay: calc(var(--i,0) * 80ms); }
	html.as-m .as-r:not(.atrio-card):not(figure).is-in { opacity: 1; translate: 0 0; }
}

/* Las tarjetas ya no llevan botón de añadir: indicación de que abren la ficha */
.atrio-shop-frame .atrio-card { cursor: pointer; }
.atrio-shop-frame .atrio-card-body::after { content: "Ver producto →"; display: block; margin-top: .6rem; font-size: .72rem; letter-spacing: .14em; text-transform: uppercase; color: var(--as-nogal); }

/* Fase 3 — objetivos táctiles: enlaces de cabecera, navegación, pie y títulos de tarjeta (mín. 36–44 px) */
body.page-template-page-atrio-shop header a, body.page-template-page-atrio-shop footer a, body.page-template-page-atrio-shop .wp-block-navigation-item__content { display: inline-flex; align-items: center; min-height: 36px; }
body.page-template-page-atrio-shop header .wp-block-navigation-item__content, body.page-template-page-atrio-shop header nav a { min-height: 44px; }
body.page-template-page-atrio-shop .wp-block-navigation__responsive-container-open, body.page-template-page-atrio-shop .wp-block-navigation__responsive-container-close { min-width: 44px; min-height: 44px; }
body.page-template-page-atrio-shop [class*="-card-name"] a, body.page-template-page-atrio-shop [class*="-card-title"] a, body.page-template-page-atrio-shop [class*="-card"] h3 a { display: inline-block; padding-block: .4rem; }
body.page-template-page-atrio-shop { --cfx-ink:#201913;--cfx-paper:#fcf8f0;--cfx-accent:#ab8856;--cfx-r:10px;--cfx-display:"Fraunces",serif; }

/* ==========================================================================
   CATÁLOGO — MOVIMIENTO DE PRODUCTO (ATRIO-SHOP): inclinación con brillo, botón y visor de
   vista rápida, vuelo a la cesta y estados de enfoque. Solo bajo no-preference salvo lo estructural.
   ========================================================================== */
body.page-template-page-atrio-shop .cfx-media { position: relative; overflow: hidden; border-radius: var(--cfx-r, 12px); transform: perspective(900px) rotateX(var(--rx, 0deg)) rotateY(var(--ry, 0deg)); transform-style: preserve-3d; transition: transform .5s cubic-bezier(.22,.61,.36,1), box-shadow .5s ease; will-change: transform; }
body.page-template-page-atrio-shop .cfx-media::after { content: ""; position: absolute; inset: 0; pointer-events: none; opacity: 0; background: radial-gradient(circle at var(--gx, 50%) var(--gy, 50%), rgba(255,255,255,.28), transparent 55%); transition: opacity .4s ease; mix-blend-mode: soft-light; }
@media (hover: hover) and (pointer: fine) {
	body.page-template-page-atrio-shop .atrio-card:hover .cfx-media { box-shadow: 0 30px 50px -28px rgba(0,0,0,.45); }
	body.page-template-page-atrio-shop .atrio-card:hover .cfx-media::after { opacity: 1; }
}
body.page-template-page-atrio-shop .cfx-qv-btn { position: absolute; z-index: 3; left: 50%; bottom: .8rem; translate: -50% 0; display: inline-flex; align-items: center; min-height: 44px; padding: 0 1.2rem; border: 0; border-radius: 999px; background: rgba(255,255,255,.94); color: var(--cfx-ink, #1b1b1b); font: 600 .74rem/1 inherit; letter-spacing: .08em; text-transform: uppercase; cursor: pointer; opacity: 0; translate: -50% 12px; transition: opacity .35s ease, translate .5s cubic-bezier(.22,.61,.36,1), background-color .3s ease, color .3s ease; box-shadow: 0 10px 26px -10px rgba(0,0,0,.5); }
body.page-template-page-atrio-shop .atrio-card:hover .cfx-qv-btn, body.page-template-page-atrio-shop .atrio-card:focus-within .cfx-qv-btn, body.page-template-page-atrio-shop .cfx-qv-btn:focus-visible { opacity: 1; translate: -50% 0; }
body.page-template-page-atrio-shop .cfx-qv-btn:hover { background: var(--cfx-ink, #1b1b1b); color: #fff; }
body.page-template-page-atrio-shop .cfx-qv-btn:focus-visible { outline: 2px solid var(--cfx-accent, #b8793e); outline-offset: 3px; }
@media (hover: none) { body.page-template-page-atrio-shop .cfx-qv-btn { opacity: 1; translate: -50% 0; min-height: 40px; padding: 0 1rem; } }
html.cfx-lock { overflow: hidden; }
.cfx-qv { position: fixed; inset: 0; z-index: 300; display: grid; place-items: center; padding: clamp(.8rem, 3vw, 2rem); background: rgba(14,12,10,.7); -webkit-backdrop-filter: blur(8px); backdrop-filter: blur(8px); opacity: 0; transition: opacity .45s ease; }
.cfx-qv[hidden] { display: none; } .cfx-qv.is-open { opacity: 1; }
.cfx-qv-box { position: relative; display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr); width: min(980px, 100%); max-height: calc(100svh - 2rem); overflow: auto; border-radius: calc(var(--cfx-r, 12px) * 2); background: var(--cfx-paper, #fff); color: var(--cfx-ink, #1b1b1b); box-shadow: 0 50px 100px -30px rgba(0,0,0,.7); }
.cfx-qv-img { min-height: 320px; background: #ddd; overflow: hidden; } .cfx-qv-img img { width: 100%; height: 100%; object-fit: cover; display: block; }
.cfx-qv-info { display: flex; flex-direction: column; justify-content: center; gap: .6rem; padding: clamp(1.4rem, 4vw, 3rem); }
.cfx-qv-cat { margin: 0; font: 600 .7rem/1 inherit; letter-spacing: .18em; text-transform: uppercase; color: var(--cfx-accent, #b8793e); }
.cfx-qv-t { margin: 0; font: 500 clamp(1.7rem, 3.4vw, 2.6rem)/1.08 var(--cfx-display, inherit); letter-spacing: -.01em; color: inherit; }
.cfx-qv-p { margin: 0 0 1rem; font-size: 1.3rem; font-variant-numeric: tabular-nums; }
.cfx-qv-go { align-self: flex-start; display: inline-flex; align-items: center; gap: .9rem; min-height: 52px; padding: 0 .5rem 0 1.5rem; border-radius: 999px; background: var(--cfx-ink, #1b1b1b); color: #fff !important; text-decoration: none !important; font: 600 .82rem/1 inherit; letter-spacing: .04em; transition: box-shadow .4s ease; }
.cfx-qv-go i { display: grid; place-items: center; width: 38px; height: 38px; border-radius: 50%; background: #fff; color: var(--cfx-ink, #1b1b1b); font-style: normal; transition: translate .4s cubic-bezier(.22,.61,.36,1); }
.cfx-qv-go:hover { box-shadow: 0 0 0 5px rgba(0,0,0,.12); } .cfx-qv-go:hover i { translate: 4px 0; }
.cfx-qv-x { position: absolute; z-index: 2; top: .8rem; right: .8rem; width: 44px; height: 44px; border: 0; border-radius: 50%; background: rgba(255,255,255,.92); color: #1b1b1b; font-size: 1.5rem; line-height: 1; cursor: pointer; box-shadow: 0 8px 22px -8px rgba(0,0,0,.5); }
.cfx-qv-x:hover { background: #1b1b1b; color: #fff; } .cfx-qv a:focus-visible, .cfx-qv button:focus-visible { outline: 2px solid var(--cfx-accent, #b8793e); outline-offset: 3px; }
@media (max-width: 720px) { .cfx-qv-box { grid-template-columns: minmax(0, 1fr); } .cfx-qv-img { min-height: 240px; max-height: 38svh; } }
.cfx-fly { position: fixed; z-index: 400; pointer-events: none; border-radius: 50%; background-size: cover; background-position: center; box-shadow: 0 20px 40px -10px rgba(0,0,0,.5); border: 3px solid #fff; }
@media (prefers-reduced-motion: reduce) { body.page-template-page-atrio-shop .cfx-media { transform: none !important; transition: none; } .cfx-qv { transition: none; } }

/* ==========================================================================
   ATRIO Shop — HERO "ESCENA CON PUNTOS DE COMPRA": el salón es el escaparate; puntos
   pulsantes sobre cada pieza abren su ficha rápida (nombre, precio, enlace). Original de ATRIO Shop.
   ========================================================================== */
.sx-wrap { padding: 0 !important; margin-block: 0 !important; }
.sx, .sx * { box-sizing: border-box; }
.sx { background: #201913; color: #fff; }
.sx-stage { position: relative; min-height: clamp(580px, calc(100svh - 90px), 840px); overflow: hidden; isolation: isolate; display: grid; align-items: end; padding: clamp(1.6rem, 4vw, 3.4rem) clamp(1.1rem, 4vw, 3rem); }
.sx-bg { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: 60% 50%; z-index: -2; scale: 1.04; }
.sx-shade { position: absolute; inset: 0; z-index: -1; background: linear-gradient(90deg, rgba(25,18,12,.78) 0%, rgba(25,18,12,.3) 50%, rgba(25,18,12,0) 75%), linear-gradient(0deg, rgba(25,18,12,.6), transparent 45%); }
.sx-copy { position: relative; z-index: 3; max-width: 38rem; }
.sx-k { margin: 0 0 1rem; font: 500 .72rem/1 var(--as-sans, sans-serif); letter-spacing: .22em; text-transform: uppercase; color: rgba(255,255,255,.85); }
.sx-title { margin: 0 0 1rem; font: 400 clamp(2.6rem, 6vw, 5.4rem)/.98 var(--as-serif, serif); letter-spacing: -.02em; color: #fff; text-wrap: balance; }
.sx-sub { margin: 0 0 1.6rem; max-width: 30rem; font-size: 1.06rem; line-height: 1.65; color: rgba(255,255,255,.9); }
.sx-cta { display: flex; align-items: center; flex-wrap: wrap; gap: .6rem 1.5rem; }
.sx .sx-btn { position: relative; display: inline-flex; align-items: center; gap: .9rem; min-height: 52px; padding: 0 .5rem 0 1.5rem; border-radius: 999px; background: #fff; color: var(--as-ink, #201913); text-decoration: none; font: 600 .84rem/1 var(--as-sans, sans-serif); letter-spacing: .04em; overflow: hidden; isolation: isolate; transition: color .5s ease; }
.sx-btn i { display: grid; place-items: center; width: 38px; height: 38px; border-radius: 50%; background: var(--as-ink, #201913); color: #fff; font-style: normal; transition: translate .4s cubic-bezier(.22,.61,.36,1); }
.sx-btn::before { content: ""; position: absolute; inset: 0; z-index: -1; background: var(--as-brass, #ab8856); transform: translateY(101%); transition: transform .6s cubic-bezier(.22,.61,.36,1); }
.sx .sx-btn:hover { color: #fff; } .sx-btn:hover::before, .sx-btn:focus-visible::before { transform: none; } .sx-btn:hover i { translate: 3px 0; }
.sx .sx-link { display: inline-flex; align-items: center; min-height: 44px; color: #fff; font: 600 .84rem/1 var(--as-sans, sans-serif); letter-spacing: .04em; text-decoration: none; background: linear-gradient(currentColor, currentColor) 0 100% / 100% 1px no-repeat; padding-bottom: 3px; transition: background-size .5s ease; }
.sx-link:hover { background-size: 0 1px; background-position: 100% 100%; } .sx a:focus-visible, .sx button:focus-visible { outline: 2px solid #fff; outline-offset: 3px; }
.sx-spots { position: absolute; inset: 0; z-index: 4; pointer-events: none; }
.sx-hs { position: absolute; width: 44px; height: 44px; margin: -22px 0 0 -22px; display: grid; place-items: center; border: 0; border-radius: 50%; background: transparent; cursor: pointer; pointer-events: auto; padding: 0; }
.sx-hs i { position: relative; width: 28px; height: 28px; display: grid; place-items: center; border-radius: 50%; background: rgba(255,255,255,.95); color: #201913; font: 700 .72rem/1 var(--as-sans, sans-serif); font-style: normal; box-shadow: 0 6px 18px -4px rgba(0,0,0,.5); transition: scale .4s cubic-bezier(.34,1.56,.64,1), background-color .3s ease, color .3s ease; }
.sx-hs::before { content: ""; position: absolute; width: 28px; height: 28px; border-radius: 50%; border: 2px solid #fff; opacity: 0; }
.sx-hs:hover i, .sx-hs.is-on i { scale: 1.2; background: var(--as-brass, #ab8856); color: #fff; }
.sx-card { position: absolute; z-index: 5; right: clamp(1.1rem, 4vw, 3rem); top: clamp(1.2rem, 4vw, 2.6rem); width: min(320px, 38%); }
.sx-card-a { display: grid; grid-template-columns: 96px minmax(0, 1fr); gap: .9rem; align-items: center; padding: .7rem; background: rgba(255,255,255,.95); color: var(--as-ink, #201913); border-radius: 14px; text-decoration: none; box-shadow: 0 28px 60px -26px rgba(0,0,0,.65); transition: translate .5s cubic-bezier(.22,.61,.36,1), box-shadow .4s ease; }
.sx-card-a:hover { translate: 0 -3px; }
.sx-card-a img { width: 96px; height: 96px; object-fit: cover; border-radius: 10px; display: block; }
.sx-card-b { display: grid; gap: .2rem; min-width: 0; } .sx-card-b small { font: 600 .62rem/1 var(--as-sans, sans-serif); letter-spacing: .16em; text-transform: uppercase; color: var(--as-brass, #ab8856); } .sx-card-b b { font: 500 1.2rem/1.15 var(--as-serif, serif); } .sx-card-b span { font-variant-numeric: tabular-nums; font-weight: 600; } .sx-card-b em { font-style: normal; font-size: .76rem; letter-spacing: .06em; color: #6f6457; }
.sx-list { position: absolute; z-index: 5; right: clamp(1.1rem, 4vw, 3rem); bottom: clamp(1.2rem, 3vw, 2.2rem); display: flex; gap: .4rem; margin: 0; padding: 0; list-style: none; }
.sx-li { display: grid; gap: .1rem; min-height: 44px; padding: .45rem 1rem; text-align: left; border: 1px solid rgba(255,255,255,.5); border-radius: 999px; background: rgba(32,25,19,.45); -webkit-backdrop-filter: blur(8px); backdrop-filter: blur(8px); color: #fff; cursor: pointer; font: inherit; transition: background-color .4s ease, color .4s ease; }
.sx-li b { font: 600 .76rem/1.1 var(--as-sans, sans-serif); } .sx-li span { font-size: .7rem; opacity: .85; }
.sx-li:hover, .sx-li.is-on { background: #fff; color: var(--as-ink, #201913); }
@media (max-width: 900px) {
	.sx-card { top: auto; bottom: 5.6rem; left: clamp(1.1rem, 4vw, 3rem); right: clamp(1.1rem, 4vw, 3rem); width: auto; }
	.sx-list { left: clamp(1.1rem, 4vw, 3rem); right: clamp(1.1rem, 4vw, 3rem); bottom: 1rem; overflow-x: auto; justify-content: flex-start; }
	.sx-copy { margin-bottom: 11rem; }
	.sx-stage { align-items: start; padding-top: 2.4rem; } .sx-bg { object-position: 66% 50%; }
}
@media (prefers-reduced-motion: no-preference) {
	.sx-bg { animation: sx-zoom 20s cubic-bezier(.22,.61,.36,1) both; } @keyframes sx-zoom { from { scale: 1.14; } to { scale: 1.02; } }
	.sx-hs:not(.is-on)::before { animation: sx-ping 2.4s ease-out infinite; animation-delay: calc(var(--i, 0) * .5s); }
	@keyframes sx-ping { 0% { scale: 1; opacity: .85; } 80%, 100% { scale: 2.1; opacity: 0; } }
	.sx-card.is-swap .sx-card-a { animation: sx-swap .7s cubic-bezier(.22,.61,.36,1); } @keyframes sx-swap { from { opacity: 0; translate: 0 14px; } to { opacity: 1; translate: 0 0; } }
	.sx-w { display: inline-block; overflow: hidden; vertical-align: top; padding-bottom: .12em; margin-bottom: -.12em; }
	html.sx-m .sx-wi { display: inline-block; transform: translateY(108%); transition: transform 1.2s cubic-bezier(.22,.61,.36,1); transition-delay: calc(var(--i, 0) * 90ms + 150ms); }
	html.sx-m.sx-ready .sx-wi { transform: none; }
	html.sx-m .sx-k, html.sx-m .sx-sub, html.sx-m .sx-cta, html.sx-m .sx-card, html.sx-m .sx-list { opacity: 0; translate: 0 18px; transition: opacity 1s ease, translate 1.2s cubic-bezier(.22,.61,.36,1); }
	html.sx-m.sx-ready .sx-k { opacity: 1; translate: 0 0; transition-delay: .05s; } html.sx-m.sx-ready .sx-sub { opacity: 1; translate: 0 0; transition-delay: .85s; } html.sx-m.sx-ready .sx-cta { opacity: 1; translate: 0 0; transition-delay: 1s; } html.sx-m.sx-ready .sx-card { opacity: 1; translate: 0 0; transition-delay: 1.3s; } html.sx-m.sx-ready .sx-list { opacity: 1; translate: 0 0; transition-delay: 1.5s; }
	html.sx-m .sx-hs { scale: 0; transition: scale .7s cubic-bezier(.34,1.56,.64,1); transition-delay: calc(var(--i, 0) * 150ms + 1.2s); } html.sx-m.sx-ready .sx-hs { scale: 1; }
}

/* la portada ocupa todo el ancho (el contenedor de contenido de la portada estaba limitado) */
.atrio-shop-frame.page-id-107 .entry-content.wp-block-post-content, body.page-id-107 .entry-content.wp-block-post-content { max-width: none !important; width: auto !important; margin-left: calc(-1 * var(--wp--style--root--padding-left, 0px)) !important; margin-right: calc(-1 * var(--wp--style--root--padding-right, 0px)) !important; }
body.page-id-107 .entry-content.wp-block-post-content > .alignfull:not(.sx-wrap) { margin-left: var(--wp--style--root--padding-left, 0px); margin-right: var(--wp--style--root--padding-right, 0px); }
.sx a, .sx a:hover, .sx a * { text-decoration: none !important; }
.atrio-shop-frame .sx .sx-title, body.page-template-page-atrio-shop .sx .sx-title { color: #fff; }

/* ==========================================================================
   MÓVIL — DOCK INFERIOR, PROGRESO DE LECTURA Y FOCO TÁCTIL (Atrio Shop)
   Pensado para el pulgar: navegación a una mano, indicador que se desliza entre
   páginas y tarjetas que se "encienden" al centrarse en pantalla (el equivalente
   táctil del hover). Solo se activa en pantallas estrechas.
   ========================================================================== */
.asm-dock, .asm-prog { display: none; }
@media (max-width: 820px) {
	body.asm-has-dock { padding-bottom: calc(86px + env(safe-area-inset-bottom, 0px)); }
	.asm-prog { display: block; position: fixed; z-index: 90; top: 0; left: 0; right: 0; height: 3px; background: transparent; pointer-events: none; }
	.asm-prog i { display: block; height: 100%; background: #9a5b2e; transform: scaleX(0); transform-origin: left; }
	.asm-dock {
		display: flex; position: fixed; z-index: 90; left: 10px; right: 10px; bottom: calc(10px + env(safe-area-inset-bottom, 0px));
		margin: 0; padding: 6px; gap: 2px; background: #fcf8f0; border: 1px solid #E4D8C3; border-radius: 999px;
		box-shadow: 0 14px 34px -10px rgba(0,0,0,.45), 0 2px 6px rgba(0,0,0,.18);
		font-family: var(--as-sans, sans-serif); -webkit-tap-highlight-color: transparent; isolation: isolate;
		transition: transform .45s cubic-bezier(.22,.61,.36,1), opacity .3s ease;
	}
	.asm-dock.is-away { transform: translateY(calc(100% + 24px)); opacity: 0; pointer-events: none; }
	.asm-dock a {
		position: relative; z-index: 1; flex: 1 1 0; min-width: 0; min-height: 52px; display: grid; justify-items: center; align-content: center; gap: 3px;
		padding: 4px 2px; border-radius: calc(999px - 6px); color: #6b5d4b; text-decoration: none; font-size: .64rem; font-weight: 600; letter-spacing: .02em; line-height: 1.1;
		text-transform: none; background: none; border: 0; transition: color .25s ease, scale .2s ease;
	}
	.asm-dock a:active { scale: .92; }
	.asm-dock a svg { width: 22px; height: 22px; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; transition: transform .35s cubic-bezier(.34,1.56,.64,1); }
	.asm-dock a span { max-width: 100%; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
	.asm-dock a.is-on { color: #fcf8f0; }
	.asm-dock a.is-on svg { transform: translateY(-1px) scale(1.12); }
	.asm-dock a.is-cta { background: #9a5b2e; color: #ffffff; flex: 1.15 1 0; border-radius: calc(999px - 6px); }
	.asm-dock a.is-cta.is-on { color: #ffffff; box-shadow: inset 0 0 0 2px rgba(255,255,255,.55); }
	.asm-ind { position: absolute; z-index: 0; top: 6px; bottom: 6px; left: 0; width: 0; border-radius: calc(999px - 6px); background: #201913; opacity: 0; pointer-events: none; }
	.asm-ind.is-go { opacity: 1; transition: transform .5s cubic-bezier(.34,1.3,.64,1), width .5s cubic-bezier(.34,1.3,.64,1); }
	.asm-dock a:focus-visible { outline: 2px solid #fcf8f0; outline-offset: -2px; }
	/* Foco táctil: la tarjeta más cercana al centro de la pantalla se enciende. */
	.atrio-card { transition: translate .6s cubic-bezier(.22,.61,.36,1), box-shadow .6s ease; }
	.atrio-card.asm-live { translate: 0 -4px; box-shadow: 0 18px 30px -18px rgba(0,0,0,.45); }
	.atrio-card img { transition: scale 1.2s cubic-bezier(.22,.61,.36,1); }
	.atrio-card.asm-live img { scale: 1.06; }
	@media (prefers-reduced-motion: reduce) { .asm-dock, .asm-ind.is-go, .asm-dock a, .asm-dock a svg { transition: none; } }
}
@media (hover: none) { .wp-element-button:active, [class*="-btn"]:active, [class*="-cta"]:active { scale: .97; } }


/* ==========================================================================
   ENTRADA — pantalla de carga propia de Atrio Shop (motivo: spots)
   ========================================================================== */
html.asm-intro-on { overflow: hidden; }
.asm-intro { position: fixed; inset: 0; z-index: 10000; display: grid; place-items: center; background: #201913; color: #fcf8f0; font-family: var(--as-sans, sans-serif); overflow: hidden; }
.asm-intro-in { position: relative; z-index: 2; display: grid; justify-items: center; gap: .9rem; padding: 2rem; text-align: center; transition: opacity .4s ease, transform .7s cubic-bezier(.76,0,.24,1); }
.asm-intro-g { width: clamp(150px, 42vw, 260px); height: auto; color: #D9B27C; overflow: visible; }
.asm-intro-g path, .asm-intro-g circle[pathLength] { stroke-dasharray: 1; stroke-dashoffset: 1; animation: asm-draw 1s cubic-bezier(.65,0,.35,1) .1s forwards; }
.asm-intro-g path[stroke-dasharray="6 8"] { stroke-dasharray: 6 8; stroke-dashoffset: 0; animation: none; clip-path: inset(0 100% 0 0); animation: asm-wipe 1s ease .1s forwards; }
@keyframes asm-draw { to { stroke-dashoffset: 0; } }
@keyframes asm-wipe { to { clip-path: inset(0 0 0 0); } }
@keyframes asm-in { from { opacity: 0; transform: translateY(12px); } to { opacity: 1; transform: none; } }
.asm-intro-name { display: block; font-family: var(--as-serif, serif); font-size: clamp(2.6rem, 13vw, 5rem); line-height: 1; letter-spacing: -.02em; opacity: 0; animation: asm-in .8s ease .25s forwards; }
.asm-intro-tag { display: block; font-size: .72rem; letter-spacing: .22em; text-transform: uppercase; opacity: 0; color: #fcf8f0; animation: asm-in .8s ease .45s forwards; }
.asm-intro-tag { opacity: 0; }
.asm-intro-by { display: block; margin-top: 1.4rem; font-size: .62rem; letter-spacing: .2em; text-transform: uppercase; opacity: 0; animation: asm-in .8s ease .65s forwards; }
.asm-intro.is-out .asm-intro-in { opacity: 0; transform: translateY(-10px); }
@media (prefers-reduced-motion: reduce) { .asm-intro { display: none; } html.asm-intro-on { overflow: auto; } }

.asm-intro { transition: opacity .7s ease, transform .9s cubic-bezier(.22,.61,.36,1); }
.asm-intro.is-out { opacity: 0; transform: scale(1.08); }
.asm-intro-dots { display: flex; gap: 1.6rem; }
.asm-intro-dots i { width: 14px; height: 14px; border-radius: 50%; background: #D9B27C; box-shadow: 0 0 0 0 rgba(217,178,124,.55); animation: asm-pulse 1.3s ease-out infinite; }
.asm-intro-dots i:nth-child(2) { animation-delay: .18s; } .asm-intro-dots i:nth-child(3) { animation-delay: .36s; }
@keyframes asm-pulse { 0% { box-shadow: 0 0 0 0 rgba(217,178,124,.55); } 100% { box-shadow: 0 0 0 22px rgba(217,178,124,0); } }


/* === fix: legibilidad del botón «Continuar con el pago» en la cesta (texto nogal sobre negro, 1,9:1) === */
.atrio-cart-actions .atrio-cart-to-checkout .wp-block-button__link,
.atrio-cart-actions .atrio-cart-to-checkout .wp-block-button__link:visited {
	color: #fcf8f0 !important;
}
.atrio-cart-actions .atrio-cart-to-checkout .wp-block-button__link:hover,
.atrio-cart-actions .atrio-cart-to-checkout .wp-block-button__link:focus-visible {
	color: #fcf8f0 !important;
	background-color: #523a2b;
}
