/* Casa Roble — blanco y negro, la madera pone el color.
   Tokens en theme.json; aquí solo composición y componentes. */

:root {
	--cr-ink: var(--wp--preset--color--ink);
	--cr-paper: var(--wp--preset--color--paper);
	--cr-stone: var(--wp--preset--color--stone);
	--cr-line: var(--wp--preset--color--line);
	--cr-muted: var(--wp--preset--color--muted);
	--cr-ink-muted: var(--wp--preset--color--ink-muted);
	--cr-serif: var(--wp--preset--font-family--spectral);
	--cr-radius: 20px;
	--cr-container: 1240px;
	--cr-gutter: clamp(1rem, 3vw, 2.5rem);
	--cr-ease: cubic-bezier(0.16, 1, 0.3, 1);
}

/* ---------- Base ---------- */
html { scrollbar-color: var(--cr-ink) var(--cr-stone); scroll-behavior: smooth; -webkit-text-size-adjust: 100%; text-size-adjust: 100%; }
html, body { overflow-x: clip; max-width: 100%; }
.wp-site-blocks { overflow: clip; }
a, button, summary { -webkit-tap-highlight-color: transparent; }
body { -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility; }
::selection { background: var(--cr-ink); color: var(--cr-paper); }
:focus-visible { outline: 2px solid var(--cr-ink); outline-offset: 3px; border-radius: 4px; }
.cr-topbar :focus-visible, .cr-footer :focus-visible, .cr-cta :focus-visible, .cr-banner--ink :focus-visible { outline-color: var(--cr-paper); }
a { text-underline-offset: 0.25em; text-decoration-thickness: 1px; }
.cr-icon { flex: none; width: 1.5rem; height: 1.5rem; }
.wp-site-blocks > header.wp-block-template-part { display: contents; }
.wp-site-blocks > * + * { margin-block-start: 0; }
:where(.wp-site-blocks) > * { margin-block-start: 0; }

/* Contenedor y ritmo vertical */
.cr-main { padding-block: 0 2rem; }
.cr-section { width: min(var(--cr-container), calc(100% - 2 * var(--cr-gutter))); max-width: none; margin-inline: auto; margin-block: clamp(2.75rem, 5vw, 5rem) 0; }
.cr-section__head { margin-bottom: 1.5rem; gap: 0.5rem 2rem; }
.cr-section__title { font-size: var(--wp--preset--font-size--xl); letter-spacing: -0.015em; margin: 0; }
.cr-link-arrow, .cr-link-arrow a { font-weight: 500; font-size: var(--wp--preset--font-size--sm); margin: 0; text-decoration: none; display: inline-flex; align-items: center; gap: 0.5rem; }
.cr-link-arrow a::after { content: ""; width: 1rem; height: 1rem; background: currentColor; mask: var(--cr-arrow) center/contain no-repeat; -webkit-mask: var(--cr-arrow) center/contain no-repeat; transition: transform 0.3s var(--cr-ease); }
.cr-link-arrow:hover a::after, a:hover > .cr-link-arrow .cr-icon { transform: translateX(4px); }
.cr-link-arrow .cr-icon { width: 1rem; height: 1rem; transition: transform 0.3s var(--cr-ease); }
:root { --cr-arrow: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14M13 6l6 6-6 6'/%3E%3C/svg%3E"); }

/* Botones */
.wp-block-button__link { transition: background-color 0.25s, color 0.25s, transform 0.25s var(--cr-ease); }
.wp-block-button__link:hover { background: #2a2a28; transform: translateY(-1px); }
.cr-btn-arrow .wp-block-button__link { display: inline-flex; align-items: center; gap: 0.75rem; }
.cr-btn-arrow .wp-block-button__link::after { content: ""; width: 1rem; height: 1rem; background: currentColor; mask: var(--cr-arrow) center/contain no-repeat; -webkit-mask: var(--cr-arrow) center/contain no-repeat; transition: transform 0.3s var(--cr-ease); }
.cr-btn-arrow .wp-block-button__link:hover::after { transform: translateX(4px); }
.is-style-light .wp-block-button__link { background: var(--cr-paper); color: var(--cr-ink); }
.is-style-light .wp-block-button__link:hover { background: var(--cr-stone); }

/* ---------- Barra superior ---------- */
.cr-topbar { background: var(--cr-ink); color: var(--cr-paper); padding-inline: var(--cr-gutter); }
.cr-topbar__list { list-style: none; margin: 0 auto; padding: 0; max-width: var(--cr-container); min-height: 2.5rem; display: flex; justify-content: center; align-items: center; gap: 0.75rem 3rem; font-size: var(--wp--preset--font-size--xs); letter-spacing: 0.01em; }
.cr-topbar__list li { display: flex; align-items: center; gap: 0.5rem; white-space: nowrap; }
.cr-topbar__list .cr-icon { width: 1.125rem; height: 1.125rem; }

/* ---------- Encabezado ---------- */
.cr-header { position: sticky; top: 0; z-index: 50; background: var(--cr-paper); padding-inline: var(--cr-gutter); border-bottom: 1px solid transparent; transition: border-color 0.25s, box-shadow 0.25s; }
.cr-header.is-stuck { border-bottom-color: var(--cr-line); box-shadow: 0 10px 24px -18px rgba(0, 0, 0, 0.35); }
.cr-header__bar { max-width: var(--cr-container); margin-inline: auto; padding-block: 1rem 0.75rem; gap: 1.5rem 2rem; }
.cr-logo { display: block; color: var(--cr-ink); width: clamp(8.5rem, 14vw, 11rem); line-height: 0; flex: none; }
.cr-logo svg { width: 100%; height: auto; display: block; }
.cr-header__actions { gap: 0.25rem; flex: none; }
.cr-header__actions :is(.wc-block-customer-account, .wc-block-mini-cart) { margin: 0; }
.cr-header__actions :is(.wc-block-customer-account__account-icon, .wc-block-mini-cart__icon) { width: 1.625rem; height: 1.625rem; }
.cr-header__actions :is(a, button) { color: var(--cr-ink); }
.cr-header__actions .wc-block-mini-cart__button, .cr-header__actions .wc-block-customer-account a { padding: 0.5rem; border-radius: 999px; transition: background-color 0.2s; }
.cr-header__actions .wc-block-mini-cart__button:hover, .cr-header__actions .wc-block-customer-account a:hover { background: var(--cr-stone); }

/* Buscador en píldora */
.cr-search { flex: 1 1 22rem; max-width: 40rem; margin: 0 auto; }
.cr-search .wp-block-search__inside-wrapper { border: 1px solid var(--cr-line); border-radius: 999px; padding: 0.25rem 0.25rem 0.25rem 1.25rem; background: var(--cr-stone); transition: border-color 0.2s, background-color 0.2s; }
.cr-search .wp-block-search__inside-wrapper:focus-within { border-color: var(--cr-ink); background: var(--cr-paper); }
.cr-search .wp-block-search__input { border: 0; background: transparent; padding: 0.55rem 0; font: inherit; font-size: var(--wp--preset--font-size--sm); outline: none; min-width: 0; }
.cr-search .wp-block-search__input::placeholder { color: var(--cr-muted); opacity: 1; }
.cr-search .wp-block-search__button { background: var(--cr-ink); color: var(--cr-paper); border: 0; border-radius: 999px; width: 2.75rem; height: 2.75rem; padding: 0; margin: 0; display: grid; place-items: center; transition: background-color 0.2s; }
.cr-search .wp-block-search__button:hover { background: #2a2a28; }
.cr-search .wp-block-search__button svg { width: 1.375rem; height: 1.375rem; fill: currentColor; }

/* Navegación */
.cr-nav { position: relative; max-width: var(--cr-container); margin-inline: auto; display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; gap: 1.5rem; padding-bottom: 0.875rem; }
.cr-nav .cr-allcats { justify-self: start; }
.cr-nav__links { justify-content: center; }
.cr-nav__track { justify-self: end; }
.cr-allcats { position: relative; flex: none; }
.cr-allcats > summary { list-style: none; cursor: pointer; display: inline-flex; align-items: center; gap: 0.625rem; background: var(--cr-ink); color: var(--cr-paper); padding: 0.7rem 1.25rem; border-radius: 999px; font-weight: 500; font-size: var(--wp--preset--font-size--sm); transition: background-color 0.2s; user-select: none; }
.cr-allcats > summary::-webkit-details-marker { display: none; }
.cr-allcats > summary:hover { background: #2a2a28; }
.cr-allcats > summary .cr-icon { width: 1.25rem; height: 1.25rem; }
.cr-allcats__panel { box-sizing: border-box; position: absolute; z-index: 60; top: calc(100% + 0.75rem); left: 0; width: min(64rem, calc(100vw - 2 * var(--cr-gutter))); max-height: 70vh; overflow-y: auto; overscroll-behavior: contain; background: var(--cr-paper); color: var(--cr-ink); border: 1px solid var(--cr-line); border-radius: var(--cr-radius); padding: 1.25rem; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem 1.5rem; box-shadow: 0 28px 56px -20px rgba(0, 0, 0, 0.25); }
.cr-allcats[open] .cr-allcats__panel { animation: cr-drop 0.35s var(--cr-ease); }
.cr-allcats__head { display: block; overflow: hidden; border-radius: 12px; background: var(--cr-ink); color: var(--cr-paper); font-family: var(--cr-serif); font-weight: 300; font-size: 1.375rem; text-decoration: none; margin-bottom: 0.75rem; }
.cr-allcats__head .cr-allcats__photo { display: block; width: 100%; height: 7.5rem; object-fit: cover; object-position: 70% 55%; }
.cr-allcats__title { display: flex; align-items: center; justify-content: space-between; gap: 0.5rem; padding: 0.75rem 1rem; line-height: 1.3; }
.cr-allcats__title .cr-icon { width: 1.125rem; height: 1.125rem; transition: transform 0.2s var(--cr-ease); }
.cr-allcats__head:hover { color: var(--cr-paper); }
.cr-allcats__head:hover .cr-icon { transform: translateX(3px); }
.cr-allcats__panel .cr-allcats__head:focus-visible { outline-color: var(--cr-ink); outline-offset: 3px; }
.cr-allcats__footer { grid-column: 1 / -1; display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 0.75rem 1.5rem; border-top: 1px solid var(--cr-line); padding: 1rem 0.5rem 0; }
.cr-allcats__footer a { display: inline-flex; align-items: center; gap: 0.75rem; min-height: 2.75rem; font-size: var(--wp--preset--font-size--sm); text-decoration: none; }
.cr-allcats__footer a:first-child { font-weight: 500; }
.cr-allcats__footer a:hover { text-decoration: underline; }
.cr-allcats__footer .cr-icon { width: 1rem; height: 1rem; }
.cr-allcats__panel ul { list-style: none; margin: 0; padding: 0; }
.cr-allcats__panel ul ul { padding-left: 0.875rem; margin: 0.25rem 0 0.5rem; border-left: 1px solid var(--cr-line); }
.cr-allcats__panel li a { display: block; padding: 0.3rem 0.625rem; border-radius: 6px; font-size: var(--wp--preset--font-size--sm); color: var(--cr-muted); text-decoration: none; transition: color 0.2s, background-color 0.2s; }
.cr-allcats__panel li a:hover { color: var(--cr-ink); background: var(--cr-stone); }
.cr-nav__links { list-style: none; margin: 0; padding: 0; display: flex; gap: 0.25rem 2rem; font-size: var(--wp--preset--font-size--sm); font-weight: 500; }
.cr-nav__links a, .cr-nav__track { text-decoration: none; padding-block: 0.5rem; display: inline-block; box-shadow: inset 0 -2px 0 transparent; transition: box-shadow 0.25s var(--cr-ease); }
.cr-nav__links a:hover, .cr-nav__track:hover { box-shadow: inset 0 -2px 0 var(--cr-ink); }
.cr-nav__links a[aria-current] { box-shadow: inset 0 -2px 0 var(--cr-ink); }
.cr-nav__track { font-size: var(--wp--preset--font-size--sm); font-weight: 500; }
.cr-burger, .cr-nav__head, .cr-scrim { display: none; }
.cr-burger { place-items: center; flex: none; width: 2.75rem; height: 2.75rem; margin-left: -0.5rem; padding: 0; border: 0; border-radius: 50%; background: transparent; color: var(--cr-ink); cursor: pointer; }
.cr-burger:active { background: var(--cr-stone); }
.cr-burger .cr-icon { width: 1.625rem; height: 1.625rem; }

/* Prueba reversible: negro al inicio y blanco translúcido al fijarse arriba.
   No invertimos los tokens: buscador, desplegables y carrito conservan su contraste. */
.cr-header { transition: background-color 0.25s ease, color 0.25s ease, border-color 0.25s, box-shadow 0.25s; }
.cr-header :is(.cr-logo, .cr-burger, .wc-block-customer-account__link, .wc-block-mini-cart__button) { transition: color 0.25s ease, background-color 0.25s ease; }
.cr-header.is-dark { background-color: var(--cr-ink); color: var(--cr-paper); border-bottom-color: #303030; }
.cr-header.is-translucent { background-color: rgba(255, 255, 255, 0.9); color: var(--cr-ink); -webkit-backdrop-filter: blur(10px); backdrop-filter: blur(10px); }
.cr-header.is-dark :is(.cr-logo, .cr-burger, .wc-block-customer-account__link, .wc-block-mini-cart__button) { color: var(--cr-paper); }
.cr-header.is-dark :is(.cr-burger:active, .wc-block-customer-account__link:hover, .wc-block-mini-cart__button:hover) { background-color: #303030; }
.cr-header.is-dark .wc-block-mini-cart__badge { background-color: var(--cr-paper) !important; color: var(--cr-ink) !important; }
.cr-header:not(.is-dark) .wc-block-mini-cart__badge { background-color: var(--cr-ink) !important; color: var(--cr-paper) !important; }
.cr-header.is-dark :is(.cr-logo, .cr-burger, .wc-block-customer-account__link, .wc-block-mini-cart__button):focus-visible { outline-color: var(--cr-paper); }
@media (min-width: 901px) {
	.cr-header .cr-nav__links a, .cr-header .cr-nav__track { transition: color 0.25s ease, box-shadow 0.25s var(--cr-ease); }
	.cr-header .cr-allcats > summary { transition: color 0.25s ease, background-color 0.25s ease; }
	.cr-header.is-dark :is(.cr-nav__links a, .cr-nav__track) { color: var(--cr-paper); }
	.cr-header.is-dark .cr-nav__links a[aria-current], .cr-header.is-dark :is(.cr-nav__links a:hover, .cr-nav__track:hover) { box-shadow: inset 0 -2px 0 var(--cr-paper); }
	.cr-header.is-dark .cr-allcats > summary { background-color: var(--cr-paper); color: var(--cr-ink); }
}
@media (max-width: 900px) {
	.cr-header.is-dark .cr-nav { color: var(--cr-ink); }
}
:root { --cr-chevron: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E"); }

/* ---------- Hero (slider) ---------- */
.cr-hero { position: relative; overflow: hidden; background: var(--cr-ink); isolation: isolate; }
.cr-hero.cr-section { width: 100%; max-width: none; margin: 0; border-radius: 0; }
.cr-hero__track { list-style: none; margin: 0; padding: 0; position: relative; height: max(34rem, calc(100svh - var(--cr-hero-offset, 13rem))); }
.cr-slide { position: absolute; inset: 0; opacity: 0; visibility: hidden; transition: opacity 0.9s var(--cr-ease), visibility 0s linear 0.9s; color: var(--cr-paper); }
.cr-slide.is-active { opacity: 1; visibility: visible; transition: opacity 0.9s var(--cr-ease), visibility 0s; z-index: 1; }
.cr-slide--light { color: var(--cr-ink); background: #c9c9c6; }
.cr-slide picture { display: contents; }
.cr-slide__bg { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: var(--cr-fx, 70%) var(--cr-fy, 50%); z-index: -1; transform: scale(1.04); transition: transform 8s linear; }
.cr-slide.is-active .cr-slide__bg { transform: scale(1); }
.cr-slide::after { content: ""; position: absolute; inset: 0; z-index: -1; pointer-events: none; background: linear-gradient(90deg, rgba(8, 8, 8, var(--cr-overlay, 0.45)) 0%, rgba(8, 8, 8, 0) 55%); }
.cr-slide--light::after { background: linear-gradient(90deg, rgba(255, 255, 255, calc(var(--cr-overlay, 0.45) * 0.8)) 0%, rgba(255, 255, 255, 0) 55%); }
.cr-slide__copy { position: absolute; left: max(var(--cr-gutter), calc((100% - var(--cr-container)) / 2 + clamp(1.75rem, 5vw, 5rem))); top: 50%; transform: translateY(-50%); max-width: min(34rem, 46%); display: grid; gap: 1.5rem; }
.cr-slide__copy > * { margin: 0; }
.cr-slide__title { font-family: var(--cr-serif); font-weight: 300; font-size: clamp(2.4rem, 1.1rem + 3.5vw, 4.5rem); line-height: 1.02; letter-spacing: -0.02em; color: inherit; text-wrap: balance; }
.cr-slide__title em { display: block; font-style: italic; margin-top: 0.15em; }
.cr-slide__lead { font-size: var(--wp--preset--font-size--md); max-width: 26rem; opacity: 0.88; }
.cr-slide__actions { display: flex; flex-wrap: wrap; gap: 0.75rem; margin-top: 0.5rem; }

.cr-btn { display: inline-flex; align-items: center; gap: 0.75rem; padding: 0.85rem 1.6rem; border-radius: 999px; font-size: var(--wp--preset--font-size--sm); font-weight: 500; text-decoration: none; transition: background-color 0.25s, color 0.25s, box-shadow 0.25s, transform 0.25s var(--cr-ease); }
.cr-btn .cr-icon { width: 1rem; height: 1rem; transition: transform 0.3s var(--cr-ease); }
.cr-btn:hover { text-decoration: none; transform: translateY(-1px); }
.cr-btn:hover .cr-icon { transform: translateX(4px); }
.cr-slide--dark .cr-btn--solid { background: var(--cr-paper); color: var(--cr-ink); }
.cr-slide--dark .cr-btn--solid:hover { background: var(--cr-stone); }
.cr-slide--dark .cr-btn--ghost { color: var(--cr-paper); box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.55); }
.cr-slide--dark .cr-btn--ghost:hover { background: var(--cr-paper); color: var(--cr-ink); }
.cr-slide--light .cr-btn--solid { background: var(--cr-ink); color: var(--cr-paper); }
.cr-slide--light .cr-btn--solid:hover { background: #2a2a28; }
.cr-slide--light .cr-btn--ghost { color: var(--cr-ink); box-shadow: inset 0 0 0 1px rgba(11, 11, 11, 0.5); }
.cr-slide--light .cr-btn--ghost:hover { background: var(--cr-ink); color: var(--cr-paper); }
.cr-slide--dark :focus-visible { outline-color: var(--cr-paper); }

/* Controles */
.cr-hero__controls { position: absolute; z-index: 3; left: 0; right: 0; bottom: 1.5rem; display: flex; align-items: center; justify-content: center; gap: 1rem; pointer-events: none; }
.cr-hero__controls[hidden] { display: none; }
.cr-hero__controls > * { pointer-events: auto; }
.cr-hero__dots { list-style: none; margin: 0; padding: 0; display: flex; gap: 0.5rem; }
.cr-hero__dots button { width: 2.5rem; height: 1.5rem; padding: 0; border: 0; background: transparent; cursor: pointer; display: grid; place-items: center; }
.cr-hero__dots button::before { content: ""; width: 1.75rem; height: 3px; border-radius: 3px; background: currentColor; opacity: 0.4; transition: opacity 0.3s, width 0.4s var(--cr-ease); }
.cr-hero__dots button[aria-current="true"]::before { opacity: 1; width: 2.5rem; }
.cr-hero__arrow { width: 3rem; height: 3rem; border-radius: 50%; border: 0; display: grid; place-items: center; cursor: pointer; background: rgba(11, 11, 11, 0.55); color: var(--cr-paper); transition: background-color 0.25s, transform 0.3s var(--cr-ease); }
.cr-hero__arrow:hover { background: var(--cr-ink); transform: scale(1.06); }
.cr-hero__arrow--prev .cr-icon { transform: scaleX(-1); }
.cr-hero__arrow .cr-icon { width: 1.25rem; height: 1.25rem; }
.cr-hero[data-tone="dark"] .cr-hero__controls { color: var(--cr-paper); }
.cr-hero[data-tone="light"] .cr-hero__controls { color: var(--cr-ink); }
.cr-hero__arrow--prev { position: absolute; left: max(1.25rem, calc((100% - var(--cr-container)) / 2 + 1.25rem)); bottom: 50%; transform: translateY(50%); }
.cr-hero__arrow--next { position: absolute; right: max(1.25rem, calc((100% - var(--cr-container)) / 2 + 1.25rem)); bottom: 50%; transform: translateY(50%); }
.cr-hero__arrow--prev:hover, .cr-hero__arrow--next:hover { transform: translateY(50%) scale(1.06); }

/* ---------- Categorías en círculos ---------- */
.cr-cats ul { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(9, minmax(0, 1fr)); gap: 1rem; }
.cr-cats a { display: grid; justify-items: center; gap: 0.75rem; text-decoration: none; }
.cr-cats__disc { width: clamp(4.5rem, 7vw, 6rem); aspect-ratio: 1; border-radius: 50%; background: var(--cr-stone); display: grid; place-items: center; transition: background-color 0.3s, color 0.3s, transform 0.4s var(--cr-ease); }
.cr-cats__disc .cr-icon { width: 46%; height: 46%; }
.cr-cats a:hover .cr-cats__disc { background: var(--cr-ink); color: var(--cr-paper); transform: translateY(-3px); }
.cr-cats__label { font-size: var(--wp--preset--font-size--xs); font-weight: 500; }

/* ---------- Selección (WooCommerce) ---------- */
.cr-grid .wc-block-product-template { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 1.5rem 1.25rem; list-style: none; margin: 0; padding: 0; }
.cr-grid .wc-block-product { position: relative; display: flex; flex-direction: column; gap: 0; margin: 0; background: var(--cr-paper); border: 1px solid var(--cr-line); border-radius: 18px; overflow: hidden; transition: border-color 0.25s, box-shadow 0.3s var(--cr-ease), transform 0.3s var(--cr-ease); }
.cr-grid .wc-block-product:hover { border-color: var(--cr-ink); box-shadow: 0 18px 30px -22px rgba(0, 0, 0, 0.4); transform: translateY(-2px); }
.cr-grid .wc-block-components-product-image { position: relative; background: var(--cr-stone); overflow: hidden; margin: 0; border-radius: 0; }
.cr-grid .wc-block-components-product-image img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform 0.7s var(--cr-ease); }
.cr-grid .wc-block-product:hover .wc-block-components-product-image img { transform: scale(1.05); }
.cr-grid .wp-block-post-title { margin: 0; padding: 1rem 1rem 0.875rem; font-family: inherit; font-weight: 500; font-size: var(--wp--preset--font-size--sm) !important; line-height: 1.35; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; flex: 1; }
.cr-grid .wp-block-post-title a { text-decoration: none; }
.cr-grid .wc-block-components-product-price { font-weight: 600; font-size: 1.0625rem; margin: 0; padding: 0 4.5rem 0 1rem; min-height: 3.75rem; border-top: 1px solid var(--cr-line); display: flex; align-items: center; font-variant-numeric: tabular-nums; line-height: 1.25; }
.cr-grid .wc-block-components-product-price del { font-weight: 400; color: var(--cr-muted); margin-right: 0.5rem; }
.cr-from { font-weight: 400; font-size: 0.8125rem; color: var(--cr-muted); margin-right: 0.35rem; }
.cr-grid .wp-block-button.wc-block-components-product-button { position: absolute; right: 0.625rem; bottom: 0.5rem; margin: 0; }
.cr-grid .wc-block-components-product-button .wp-block-button__link { width: 2.75rem; height: 2.75rem; padding: 0; font-size: 0; border-radius: 50%; display: grid; place-items: center; background: var(--cr-ink); }
.cr-grid .wc-block-components-product-button .wp-block-button__link::before { content: ""; width: 1.25rem; height: 1.25rem; background: var(--cr-paper); mask: var(--cr-cart) center/contain no-repeat; -webkit-mask: var(--cr-cart) center/contain no-repeat; }
:root { --cr-cart: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 4h2.5l2 11h10l2-8H7'/%3E%3Ccircle cx='9' cy='19' r='1.5'/%3E%3Ccircle cx='17' cy='19' r='1.5'/%3E%3C/svg%3E"); }
.cr-tag { position: absolute; z-index: 2; top: 0.75rem; left: 0.75rem; background: var(--cr-ink); color: var(--cr-paper); font-size: 0.75rem; font-weight: 500; letter-spacing: 0.03em; padding: 0.3rem 0.7rem; border-radius: 999px; line-height: 1.3; }
.cr-tag--sold { background: var(--cr-paper); color: var(--cr-ink); box-shadow: inset 0 0 0 1px var(--cr-ink); }

/* ---------- Tres colecciones ---------- */
.cr-banners { list-style: none; padding: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.25rem; }
.cr-banner { border-radius: var(--cr-radius); overflow: hidden; background: var(--cr-stone); isolation: isolate; }
.cr-banner--ink { background: var(--cr-ink); color: var(--cr-paper); }
.cr-banner--line { background: var(--cr-line); }
.cr-banner a { display: flex; align-items: flex-end; position: relative; aspect-ratio: 4 / 3; padding: 1.75rem; text-decoration: none; color: inherit; }
.cr-banner__img { position: absolute; inset: 0; z-index: -1; width: 100%; height: 100%; object-fit: cover; object-position: 80% 50%; transition: transform 1.1s var(--cr-ease); }
.cr-banner a:hover .cr-banner__img { transform: scale(1.05); }
.cr-banner__copy { display: grid; gap: 0.5rem; max-width: 52%; }
.cr-banner__copy strong { font-family: var(--cr-serif); font-weight: 300; font-size: var(--wp--preset--font-size--lg); line-height: 1.15; letter-spacing: -0.01em; }
.cr-banner__copy > span:not(.cr-link-arrow) { font-size: var(--wp--preset--font-size--xs); opacity: 0.85; }
.cr-banner__copy .cr-link-arrow { margin-top: 0.75rem; }
.cr-banner a:hover .cr-link-arrow .cr-icon { transform: translateX(4px); }
/* ---------- El taller ---------- */
.cr-workshop { display: grid; grid-template-columns: minmax(0, 0.9fr) minmax(0, 1fr); gap: clamp(2rem, 6vw, 6rem); align-items: center; }
.cr-workshop__img { margin: 0; }
.cr-workshop__img img { width: 100%; aspect-ratio: 4 / 4.4; object-fit: cover; border-radius: var(--cr-radius); display: block; }
.cr-workshop__copy { display: grid; gap: 1.25rem; max-width: 34rem; }
.cr-workshop__copy > * { margin: 0; }
.cr-workshop__copy p { color: var(--cr-muted); }
.cr-checks { list-style: none; padding: 0; margin: 0.25rem 0; display: grid; gap: 0.75rem; }
.cr-checks li { display: flex; align-items: center; gap: 0.75rem; font-weight: 500; padding-block: 0.5rem; border-bottom: 1px solid var(--cr-line); }
.cr-checks li::before { content: ""; width: 1.25rem; height: 1.25rem; flex: none; background: var(--cr-ink); mask: var(--cr-check) center/contain no-repeat; -webkit-mask: var(--cr-check) center/contain no-repeat; }
:root { --cr-check: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='m8.500 12 2.500 2.500 4.500-5'/%3E%3C/svg%3E"); }

/* ---------- Banda oscura (WhatsApp) ---------- */
.cr-cta { background: var(--cr-ink); color: var(--cr-paper); border-radius: 24px; padding: clamp(1.75rem, 4vw, 3rem) clamp(1.5rem, 5vw, 4rem); display: grid; grid-template-columns: auto minmax(0, 1fr) auto; align-items: center; gap: 1.5rem clamp(1.5rem, 4vw, 3.5rem); }
.cr-cta__mark { width: 5.5rem; aspect-ratio: 1; border-radius: 50%; background: var(--cr-paper); color: var(--cr-ink); display: grid; place-items: center; }
.cr-cta__mark .cr-icon { width: 2.5rem; height: 2.5rem; stroke-width: 1.25; }
.cr-cta__copy { display: grid; gap: 0.5rem; }
.cr-cta__copy > * { margin: 0; }
.cr-cta__title { color: var(--cr-paper); font-size: var(--wp--preset--font-size--xl); letter-spacing: -0.015em; }
.cr-cta__copy p { color: var(--cr-ink-muted); max-width: 36rem; }
.cr-cta__action { margin: 0; }

/* ---------- Franja de confianza ---------- */
.cr-trust { list-style: none; padding: 1.75rem 0; margin-bottom: 0; border-block: 1px solid var(--cr-line); display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1.5rem; }
.cr-trust li { display: flex; align-items: center; gap: 1rem; font-size: var(--wp--preset--font-size--xs); color: var(--cr-muted); line-height: 1.4; }
.cr-trust .cr-icon { width: 2rem; height: 2rem; stroke-width: 1.25; color: var(--cr-ink); }
.cr-trust strong { display: block; color: var(--cr-ink); font-size: var(--wp--preset--font-size--sm); font-weight: 600; }

/* ---------- Pie de página ---------- */
.cr-footer { background: var(--cr-ink); color: var(--cr-paper); margin-top: clamp(3rem, 6vw, 5rem); padding: clamp(3rem, 5vw, 4.5rem) var(--cr-gutter) 1.75rem; }
.cr-footer__grid { max-width: var(--cr-container); margin-inline: auto; display: grid; grid-template-columns: 1.5fr repeat(4, minmax(0, 1fr)); gap: 2.5rem; }
.cr-footer .cr-logo { color: var(--cr-paper); width: 11rem; }
.cr-footer__brand p { color: var(--cr-ink-muted); max-width: 18rem; margin: 1.25rem 0; font-size: var(--wp--preset--font-size--sm); }
.cr-footer ul { list-style: none; padding: 0; margin: 0; }
.cr-footer__social { display: grid; gap: 0.5rem; }
.cr-footer__social a, .cr-footer__visit li { display: flex; align-items: flex-start; gap: 0.625rem; }
.cr-footer__social .cr-icon, .cr-footer__visit .cr-icon { width: 1.25rem; height: 1.25rem; margin-top: 0.15rem; }
.cr-footer h2 { font-family: inherit; font-weight: 600; font-size: var(--wp--preset--font-size--sm); letter-spacing: 0.01em; margin: 0 0 1.1rem; color: var(--cr-paper); }
.cr-footer a { color: var(--cr-ink-muted); text-decoration: none; font-size: var(--wp--preset--font-size--sm); transition: color 0.2s; }
.cr-footer a:hover { color: var(--cr-paper); text-decoration: underline; }
.cr-footer__col li { padding-block: 0.3rem; }
.cr-footer__grid > * { min-width: 0; }
.cr-footer a, .cr-footer li { overflow-wrap: anywhere; }
.cr-footer__visit li { color: var(--cr-ink-muted); font-size: var(--wp--preset--font-size--sm); }
.cr-footer__legal { max-width: var(--cr-container); margin: 3rem auto 0; padding-top: 1.5rem; border-top: 1px solid rgba(255, 255, 255, 0.16); display: flex; flex-wrap: wrap; justify-content: space-between; gap: 0.75rem 2rem; font-size: var(--wp--preset--font-size--xs); color: var(--cr-ink-muted); }
.cr-footer__legal p { margin: 0; }
.cr-footer__legal ul { display: flex; flex-wrap: wrap; gap: 0.5rem 1.5rem; }
.cr-footer__legal a { font-size: var(--wp--preset--font-size--xs); }

/* ---------- Páginas de contenido ---------- */
.cr-page { padding: clamp(2.5rem, 5vw, 4.5rem) var(--cr-gutter); }
.cr-page__title { font-size: var(--wp--preset--font-size--xxl); letter-spacing: -0.02em; margin-bottom: 1.5rem; }

/* ---------- Movimiento: una sola entrada orquestada ---------- */
@keyframes cr-rise { from { clip-path: inset(100% 0 0 0); } to { clip-path: inset(0 0 0 0); } }
@keyframes cr-drop { from { opacity: 0; transform: translateY(-8px); } to { opacity: 1; transform: none; } }
@keyframes cr-line { from { opacity: 0; transform: translateY(1.25rem); } to { opacity: 1; transform: none; } }
@media (prefers-reduced-motion: no-preference) {
	.cr-slide.is-active .cr-slide__copy > * { animation: cr-line 1s var(--cr-ease) both; }
	.cr-slide.is-active .cr-slide__copy > :nth-child(2) { animation-delay: 0.12s; }
	.cr-slide.is-active .cr-slide__copy > :nth-child(3) { animation-delay: 0.24s; }
}
@media (prefers-reduced-motion: reduce) {
	.cr-slide__bg { transform: none !important; transition: none; }
}
@media (prefers-reduced-motion: reduce) {
	html { scroll-behavior: auto; }
	* { transition-duration: 0.01ms !important; animation-duration: 0.01ms !important; }
}

/* ---------- Responsive ---------- */
@media (min-width: 1101px) {
	/* 6 piezas en la consulta: en 5 columnas se muestran 5; en 3 y 2 columnas, las 6 (sin huérfanos) */
	.cr-picks .wc-block-product:nth-child(n+6) { display: none; }
}
@media (max-width: 1100px) {
	.cr-grid .wc-block-product-template { grid-template-columns: repeat(3, minmax(0, 1fr)); }
	.cr-footer__grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
	.cr-footer__brand { grid-column: 1 / -1; }
	/* Categorías: una sola línea que se desplaza (y avanza sola, ver main.js) */
	.cr-cats.cr-section { width: 100%; }
	.cr-cats ul { display: flex; gap: 0.5rem; overflow-x: auto; scroll-snap-type: x mandatory; scroll-padding-inline: var(--cr-gutter); padding: 0.25rem var(--cr-gutter) 0.5rem; scrollbar-width: none; -webkit-overflow-scrolling: touch; overscroll-behavior-x: contain; }
	.cr-cats ul::-webkit-scrollbar { display: none; }
	.cr-cats li { flex: 0 0 auto; width: 5.75rem; scroll-snap-align: start; }
	.cr-cats a { gap: 0.5rem; }
	.cr-cats__disc { width: 4.5rem; }
	.cr-cats__label { white-space: nowrap; text-align: center; }
	.cr-trust { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 900px) {
	.cr-hero__track { height: max(36rem, calc(100svh - var(--cr-hero-offset, 10.5rem))); }
	/* Móvil: la imagen manda arriba; el texto se ancla abajo sobre un degradado y los botones ocupan el ancho */
	.cr-slide__copy { top: auto; bottom: 3.25rem; transform: none; max-width: none; right: var(--cr-gutter); left: var(--cr-gutter); gap: 0.875rem; }
	.cr-slide__title { font-size: clamp(2.1rem, 9.5vw, 3.25rem); }
	.cr-slide__lead { max-width: 24rem; font-size: 1rem; }
	.cr-slide__actions { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0.625rem; margin-top: 0.25rem; }
	.cr-slide__actions:has(> :only-child) { grid-template-columns: minmax(0, 1fr); }
	.cr-slide__actions .cr-btn { box-sizing: border-box; justify-content: center; gap: 0.5rem; min-height: 3rem; padding-block: 0.5rem; padding-inline: 1rem; text-align: center; }
	/* La imagen ocupa la parte alta completa y se funde con la zona de texto: el texto no tapa la pieza */
	.cr-slide--light { background: var(--cr-stone); }
	.cr-slide__bg { bottom: auto; height: 70%; object-position: var(--cr-mx, 74%) var(--cr-my, 50%); }
	.cr-slide::after { --cr-fade: var(--cr-ink); background: linear-gradient(0deg, var(--cr-fade) 0%, var(--cr-fade) 30%, color-mix(in srgb, var(--cr-fade) calc(var(--cr-overlay, 0.45) * 150%), transparent) 40%, transparent 58%); }
	.cr-slide--light::after { --cr-fade: var(--cr-stone); background: linear-gradient(0deg, var(--cr-fade) 0%, var(--cr-fade) 30%, color-mix(in srgb, var(--cr-fade) calc(var(--cr-overlay, 0.45) * 150%), transparent) 40%, transparent 58%); }
	.cr-hero__arrow--prev, .cr-hero__arrow--next { display: none; }
	.cr-hero__controls { bottom: 0.75rem; }
	.cr-banners { grid-template-columns: 1fr; }
	.cr-banner a { min-height: 11rem; }
	.cr-workshop { grid-template-columns: 1fr; }
	.cr-cta { grid-template-columns: 1fr; text-align: left; }
	.cr-cta__mark { width: 4rem; }
	/* Encabezado móvil: menú, logo y acciones en una fila; buscador debajo */
	.cr-header .cr-header__bar { display: grid; grid-template-columns: 2.75rem minmax(0, 1fr) auto; align-items: center; gap: 0.5rem 0.75rem; padding-block: 0.625rem; }
	.cr-burger { display: grid; }
	.cr-logo { width: 7.5rem; }
	.cr-header__bar > .cr-logo { justify-self: center; max-width: 100%; }
	.cr-header__actions { grid-column: 3; grid-row: 1; justify-self: end; align-items: center; gap: 0.25rem; }
	.cr-header__actions :is(.wp-block-woocommerce-customer-account, .wc-block-mini-cart) { display: flex; align-items: center; margin: 0; }
	.cr-header__actions :is(.wc-block-mini-cart__button, .wc-block-customer-account__link) { display: grid; place-items: center; box-sizing: border-box; width: 2.75rem; height: 2.75rem; padding: 0; line-height: 1; }
	.cr-header__actions :is(.wc-block-customer-account__visual, .wc-block-mini-cart__quantity-badge) { display: grid; place-items: center; }
	.cr-header__actions :is(.wc-block-customer-account__account-icon, .wc-block-mini-cart__icon) { display: block; }
	.cr-header { transition: background-color 0.25s ease, color 0.25s ease, border-color 0.25s, box-shadow 0.25s, transform 0.3s var(--cr-ease); }
	.cr-header__bar > .cr-search { grid-column: 1 / -1; grid-row: 2; min-width: 0; width: 100%; max-width: none; }
	.cr-search .wp-block-search__inside-wrapper { padding-left: 1rem; }
	.cr-search .wp-block-search__input { font-size: 1rem; }
	.cr-search .wp-block-search__button { width: 2.5rem; height: 2.5rem; }
	.cr-header.is-compact:not(:focus-within) { transform: translateY(-100%); box-shadow: none; }

	/* Menú lateral */
	.cr-nav { position: fixed; z-index: 120; top: 0; bottom: 0; left: 0; width: min(88vw, 22rem); max-width: none; margin: 0; display: flex; flex-direction: column; align-items: stretch; gap: 0; padding: 0 0 max(1.5rem, env(safe-area-inset-bottom)); background: var(--cr-paper); overflow-y: auto; overscroll-behavior: contain; transform: translateX(-102%); visibility: hidden; transition: transform 0.35s var(--cr-ease), visibility 0s linear 0.35s; }
	.cr-nav.is-open { transform: none; visibility: visible; transition: transform 0.35s var(--cr-ease), visibility 0s; box-shadow: 0 0 60px rgba(0, 0, 0, 0.35); }
	.cr-nav__head { display: flex; align-items: center; justify-content: space-between; position: sticky; top: 0; z-index: 1; padding: 0.875rem 1.25rem; background: var(--cr-paper); border-bottom: 1px solid var(--cr-line); font-family: var(--cr-serif); font-weight: 300; font-size: 1.5rem; }
	.cr-nav__close { display: grid; place-items: center; width: 2.75rem; height: 2.75rem; margin-right: -0.5rem; padding: 0; border: 0; border-radius: 50%; background: transparent; color: var(--cr-ink); cursor: pointer; }
	.cr-nav__close:active { background: var(--cr-stone); }
	.cr-nav .cr-allcats { justify-self: auto; border-bottom: 1px solid var(--cr-line); }
	.cr-nav .cr-allcats > summary { box-sizing: border-box; display: flex; justify-content: space-between; width: 100%; padding: 1rem 1.25rem; border-radius: 0; background: transparent; color: var(--cr-ink); font-size: 1.0625rem; }
	.cr-nav .cr-allcats > summary:hover { background: var(--cr-stone); }
	.cr-allcats > summary::after { content: ""; flex: none; width: 1.125rem; height: 1.125rem; margin-left: auto; background: currentColor; mask: var(--cr-chevron) center/contain no-repeat; -webkit-mask: var(--cr-chevron) center/contain no-repeat; transition: transform 0.3s var(--cr-ease); }
	.cr-allcats[open] > summary::after { transform: rotate(180deg); }
	.cr-allcats__panel { position: static; width: auto; max-height: none; overflow: visible; padding: 0.25rem 1.25rem 1.25rem; border: 0; border-radius: 0; box-shadow: none; grid-template-columns: 1fr; gap: 1rem; background: transparent; }
	.cr-allcats__head { display: flex; align-items: center; font-size: 1.25rem; margin-bottom: 0.5rem; padding: 0; }
	.cr-allcats__head .cr-allcats__photo { width: 4.5rem; height: 4.5rem; flex: none; }
	.cr-allcats__title { flex: 1; padding: 0.625rem 0.75rem; }
	.cr-allcats__footer { gap: 0; padding: 0.75rem 0 0; }
	.cr-allcats__panel li a { padding-block: 0.4rem; font-size: 1rem; }
	.cr-nav__links { flex-direction: column; justify-content: flex-start; gap: 0; font-size: 1.0625rem; }
	.cr-nav__links li { border-bottom: 1px solid var(--cr-line); }
	.cr-nav__links a { display: block; padding: 1rem 1.25rem; box-shadow: none; white-space: nowrap; }
	.cr-nav__links a:hover { box-shadow: none; background: var(--cr-stone); }
	.cr-nav__links a[aria-current] { box-shadow: inset 3px 0 0 var(--cr-ink); font-weight: 600; }
	.cr-nav__track { display: block; justify-self: auto; margin: 1.25rem 1.25rem 0; padding: 0.9rem 1.25rem; border-radius: 999px; text-align: center; font-size: 1rem; background: var(--cr-ink); color: var(--cr-paper); }
	.cr-nav__track:hover { box-shadow: none; text-decoration: none; background: #2a2a28; }
	.cr-scrim { display: block; position: fixed; z-index: 110; inset: 0; background: rgba(8, 8, 8, 0.55); opacity: 0; visibility: hidden; transition: opacity 0.3s, visibility 0s linear 0.3s; }
	.cr-scrim.is-open { opacity: 1; visibility: visible; transition: opacity 0.3s, visibility 0s; }
	body.cr-lock { overflow: hidden; }
}
@media (max-width: 640px) {
	.cr-topbar__list li:not(:first-child) { display: none; }
	.cr-grid .wc-block-product-template { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.25rem 0.875rem; }
	.cr-grid .wc-block-components-product-price { font-size: 0.875rem; padding-right: 3.75rem; padding-left: 0.75rem; }
	.cr-grid .wp-block-post-title { padding: 0.75rem 0.75rem 0.625rem; }
	.cr-section { margin-block-start: 2.5rem; }
	.cr-section__head { margin-bottom: 1rem; }
	.cr-trust { grid-template-columns: 1fr; gap: 1rem; padding-block: 1.25rem; }
	.cr-cta, .cr-hero, .cr-banner { border-radius: 18px; }
	.cr-footer { margin-top: 2.5rem; padding-top: 2.5rem; }
	.cr-footer__legal { margin-top: 2rem; }
	.cr-footer__legal ul { gap: 0.5rem 1.25rem; }
	.cr-footer__legal a, .cr-footer__col li a { display: inline-block; padding-block: 0.25rem; }
	.cr-footer__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.cr-slide__lead { font-size: var(--wp--preset--font-size--base); }
	.cr-btn { padding: 0.75rem 1.25rem; }
}

/* ============================================================
   Catálogo (/tienda/, categorías, búsqueda) y ficha de producto
   ============================================================ */
.cr-shop > *, .cr-product > * { width: min(var(--cr-container), calc(100% - 2 * var(--cr-gutter))); max-width: none; margin-inline: auto; }
.cr-shop, .cr-product { padding-bottom: 1rem; }

/* Migas */
.woocommerce-breadcrumb, .wc-block-breadcrumbs, .wp-block-woocommerce-breadcrumbs { font-size: var(--wp--preset--font-size--xs); color: var(--cr-muted); margin: 0; }
.woocommerce-breadcrumb a { color: var(--cr-muted); text-decoration: none; transition: color 0.2s; }
.woocommerce-breadcrumb a:hover { color: var(--cr-ink); text-decoration: underline; }

/* Cabecera del catálogo */
.cr-shop__head { margin-block: 1.25rem 2.25rem; }
.cr-shop__head > * { margin-block: 0; }
.cr-shop__title { font-size: var(--wp--preset--font-size--xxl); letter-spacing: -0.02em; margin-top: 0.75rem !important; }
.cr-shop__desc { color: var(--cr-muted); max-width: 40rem; margin-top: 0.75rem !important; }
:is(.tax-product_cat, .tax-product_tag) .cr-shop__head { text-align: center; padding-block: clamp(1.5rem, 3vw, 2.5rem); margin-block: 0 1.5rem; border-bottom: 1px solid var(--cr-line); }
:is(.tax-product_cat, .tax-product_tag) .cr-shop__head .woocommerce-breadcrumb { text-align: center; margin-bottom: 0; color: var(--cr-muted); }
:is(.tax-product_cat, .tax-product_tag) .cr-shop__head .cr-shop__desc { margin-inline: auto; }

/* Tienda y su filtro de piezas únicas: entrada directa al catálogo.
   Conservamos el h1 para lectores de pantalla y los avisos de WooCommerce. */
.woocommerce-shop .cr-shop__head { margin-block: 0; }
.woocommerce-shop .cr-shop__head .wp-block-woocommerce-breadcrumbs { display: none; }
.woocommerce-shop .cr-shop__title { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px !important; overflow: hidden; clip-path: inset(50%); white-space: nowrap; border: 0; }
.woocommerce-shop .cr-shop__layout { margin-top: 1.5rem; }

/* Estructura: filtros + resultados */
.cr-shop__layout { display: grid; grid-template-columns: 15.5rem minmax(0, 1fr); gap: clamp(2rem, 4vw, 3.5rem); align-items: start; }
.cr-shop__results { min-width: 0; }
.cr-filters { position: sticky; top: 8.5rem; }
.cr-filters > summary { display: none; }
.cr-filters__title { font-family: inherit; font-weight: 600; font-size: var(--wp--preset--font-size--sm); letter-spacing: 0.01em; margin: 0 0 0.875rem; padding-top: 1.25rem; border-top: 1px solid var(--cr-line); }
.cr-filters > .cr-filters__title:first-of-type, .cr-filters > summary + .cr-filters__title { border-top: 0; padding-top: 0; }
.cr-filters > *:not(summary):not(.cr-filters__title) { margin-bottom: 1.5rem; }
.cr-filters ul { list-style: none; margin: 0; padding: 0; }
.cr-filters ul ul { padding-left: 0.875rem; margin: 0.15rem 0 0.4rem; border-left: 1px solid var(--cr-line); }
.cr-filters .wc-block-product-categories-list-item a, .cr-filters .wp-block-woocommerce-product-categories a { display: inline-block; padding: 0.2rem 0; font-size: var(--wp--preset--font-size--sm); color: var(--cr-muted); text-decoration: none; transition: color 0.2s; }
.cr-filters .wc-block-product-categories-list-item a:hover { color: var(--cr-ink); }
.cr-filters .wc-block-product-categories-list-item--current-category > a, .cr-filters .current-cat > a { color: var(--cr-ink); font-weight: 600; }
.cr-filters .wc-block-product-categories-list-item-count { display: none; }
.cr-filters .wc-block-components-checkbox { font-size: var(--wp--preset--font-size--sm); }
.cr-filters input[type="checkbox"] { accent-color: var(--cr-ink); }
.cr-filters .wc-block-components-checkbox .wc-block-components-checkbox__input[type="checkbox"]:checked { background: var(--cr-ink); border-color: var(--cr-ink); }
.cr-filters .wc-block-components-checkbox .wc-block-components-checkbox__mark { fill: var(--cr-paper); }
.cr-filters .wc-filter-element-label-list-count { color: var(--cr-muted); font-size: var(--wp--preset--font-size--xs); }
.cr-filters .wc-block-components-price-slider { --range-color: var(--cr-ink); }
.cr-filters .wc-block-components-price-slider__range-input-progress { --range-color: var(--cr-ink); }
.cr-filters .wc-block-components-price-slider__amount, .cr-filters .wc-block-components-text-input input { border-radius: 999px; font: inherit; font-size: var(--wp--preset--font-size--sm); border-color: var(--cr-line); }
.cr-filters .wc-block-components-filter-submit-button, .cr-filters .wc-block-components-button { border-radius: 999px; background: var(--cr-ink); color: var(--cr-paper); }

/* Barra de herramientas */
.cr-shop__toolbar { margin-bottom: 1.25rem; gap: 0.75rem 1.5rem; font-size: var(--wp--preset--font-size--sm); color: var(--cr-muted); }
.cr-shop__toolbar > * { margin: 0; }
.wc-block-catalog-sorting select, .woocommerce-ordering select { border: 1px solid var(--cr-line); border-radius: 999px; padding: 0.55rem 2.25rem 0.55rem 1rem; font: inherit; font-size: var(--wp--preset--font-size--sm); color: var(--cr-ink); background-color: var(--cr-paper); cursor: pointer; transition: border-color 0.2s; }
.wc-block-catalog-sorting select:hover, .woocommerce-ordering select:hover { border-color: var(--cr-ink); }
.wc-block-catalog-sorting select, .woocommerce-ordering select { -webkit-appearance: none; appearance: none; min-height: 2.75rem; padding-right: 2.75rem; background-image: var(--cr-chevron); background-repeat: no-repeat; background-position: right 1rem center; background-size: 1rem; }
.wc-block-catalog-sorting select:focus-visible, .woocommerce-ordering select:focus-visible { outline: 2px solid var(--cr-ink); outline-offset: 3px; border-color: var(--cr-ink); border-radius: 999px; }
:root { --cr-chevron: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230b0b0b' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E"); }
/* Navegadores con selects personalizables: la lista desplegable también lleva el diseño de la tienda. */
@supports (appearance: base-select) {
	.wc-block-catalog-sorting select, .woocommerce-ordering select, .wc-block-catalog-sorting select::picker(select), .woocommerce-ordering select::picker(select) { appearance: base-select; }
	.wc-block-catalog-sorting select, .woocommerce-ordering select { background-image: none; padding-right: 1rem; display: inline-flex; align-items: center; gap: 0.75rem; }
	.wc-block-catalog-sorting select::picker-icon, .woocommerce-ordering select::picker-icon { content: ""; width: 1rem; height: 1rem; background: var(--cr-ink); mask: var(--cr-chevron) center/contain no-repeat; -webkit-mask: var(--cr-chevron) center/contain no-repeat; transition: rotate 0.25s var(--cr-ease); }
	.wc-block-catalog-sorting select:open::picker-icon, .woocommerce-ordering select:open::picker-icon { rotate: 180deg; }
	.wc-block-catalog-sorting select::picker(select), .woocommerce-ordering select::picker(select) { margin-top: 0.5rem; padding: 0.375rem; min-width: anchor-size(width); border: 1px solid var(--cr-line); border-radius: 18px; background: var(--cr-paper); box-shadow: 0 24px 48px -20px rgba(0, 0, 0, 0.3); opacity: 1; transform: none; transition: opacity 0.2s, transform 0.25s var(--cr-ease), display 0.25s allow-discrete, overlay 0.25s allow-discrete; }
	@starting-style { .wc-block-catalog-sorting select::picker(select), .woocommerce-ordering select::picker(select) { opacity: 0; transform: translateY(-0.375rem); } }
	.wc-block-catalog-sorting option, .woocommerce-ordering option { display: flex; align-items: center; gap: 0.625rem; min-height: 0; padding: 0.625rem 0.875rem; border-radius: 12px; font: inherit; font-size: var(--wp--preset--font-size--sm); line-height: 1.3; color: var(--cr-ink); white-space: nowrap; cursor: pointer; transition: background-color 0.15s; }
	.wc-block-catalog-sorting option:hover, .wc-block-catalog-sorting option:focus-visible, .woocommerce-ordering option:hover, .woocommerce-ordering option:focus-visible { background: var(--cr-stone); outline: 0; }
	.wc-block-catalog-sorting option:checked, .woocommerce-ordering option:checked { background: var(--cr-ink); color: var(--cr-paper); }
	.wc-block-catalog-sorting option::checkmark, .woocommerce-ordering option::checkmark { content: none; }
}
@media (prefers-reduced-motion: reduce) { .wc-block-catalog-sorting select::picker(select), .woocommerce-ordering select::picker(select), .wc-block-catalog-sorting select::picker-icon { transition: none; } }
.wc-block-active-filters { margin-bottom: 1rem; }
.wc-block-active-filters__list { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 0.5rem; }
.wc-block-active-filters__list-item-type { display: none; }
.wc-block-active-filters__list-item { padding: 0; }
.wc-block-active-filters .wc-block-components-chip { border-radius: 999px; background: var(--cr-stone); border: 1px solid var(--cr-line); }
/* Filtros activos: todas las etiquetas en una misma línea, alineadas, con "Vaciar todo" al final. */
.wc-block-active-filters { display: flex; flex-wrap: wrap; align-items: center; gap: 0.5rem 1rem; margin-block: 0 1.5rem; }
.wc-block-active-filters .wc-block-active-filters__list { margin: 0; padding: 0; align-items: center; }
.wc-block-active-filters .wc-block-active-filters__list > li { display: flex; margin: 0; padding: 0; }
.wc-block-active-filters .wc-block-active-filters__list > li > ul { display: flex; flex-wrap: wrap; gap: 0.5rem; margin: 0; padding: 0; list-style: none; }
.wc-block-active-filters .wc-block-active-filters__list-item { display: flex; margin: 0; }
.wc-block-active-filters .wc-block-components-chip { display: inline-flex; align-items: center; gap: 0.375rem; min-height: 2.25rem; margin: 0; padding: 0 0.5rem 0 0.875rem; font-size: var(--wp--preset--font-size--sm); line-height: 1; }
.wc-block-active-filters .wc-block-components-chip__remove { display: grid; place-items: center; width: 1.5rem; height: 1.5rem; margin: 0; padding: 0; border-radius: 50%; }
.wc-block-active-filters .wc-block-active-filters__clear-all { margin: 0; padding: 0.5rem 0.25rem; font-size: var(--wp--preset--font-size--sm); color: var(--cr-ink); text-underline-offset: 0.25em; }

/* Cuadrícula del catálogo (3 columnas) y relacionados (4) */
.cr-grid--shop .wc-block-product-template { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.cr-grid--related .wc-block-product-template { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.cr-grid .outofstock .wc-block-components-product-image img { filter: grayscale(0.35); opacity: 0.88; }
.cr-grid .outofstock .wp-block-button__link::before, .cr-grid .product-type-variable .wp-block-button__link::before, .cr-grid .product-type-grouped .wp-block-button__link::before { mask: var(--cr-arrow) center/contain no-repeat; -webkit-mask: var(--cr-arrow) center/contain no-repeat; }
.cr-grid .outofstock .wp-block-button__link { background: transparent; box-shadow: inset 0 0 0 1px var(--cr-ink); }
.cr-grid .outofstock .wp-block-button__link::before { background: var(--cr-ink); }

/* Paginación */
.cr-pagination { margin-top: 2.5rem; gap: 0.5rem; font-size: var(--wp--preset--font-size--sm); }
.cr-pagination a, .cr-pagination .page-numbers { min-width: 2.5rem; height: 2.5rem; padding: 0 0.9rem; border-radius: 999px; display: inline-grid; place-items: center; text-decoration: none; transition: background-color 0.2s, color 0.2s; }
.cr-pagination a:hover { background: var(--cr-stone); }
.cr-pagination .page-numbers.current { background: var(--cr-ink); color: var(--cr-paper); }
.cr-empty { padding: 3rem 0; text-align: center; display: grid; gap: 1rem; justify-items: center; }
.cr-empty > * { margin: 0; }

/* ---------- Ficha de producto ---------- */
.cr-product__crumbs { margin-block: 1.25rem 1.5rem; }
.cr-product__crumbs > * { margin: 0; }
.cr-product__top { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, 0.9fr); gap: clamp(2rem, 5vw, 5rem); align-items: start; }
.cr-product__gallery { position: sticky; top: 8.5rem; }
.cr-gallery-wrap { position: relative; }
.cr-gallery-wrap > .cr-tag { top: 1rem; left: 1rem; z-index: 6; }
.woocommerce div.product div.images, .woocommerce-product-gallery { float: none !important; width: 100% !important; margin: 0; }
.woocommerce-product-gallery__wrapper { margin: 0; }
.woocommerce-product-gallery__image img { width: 100%; height: auto; border-radius: var(--cr-radius); background: var(--cr-stone); display: block; }
.woocommerce-product-gallery__trigger { top: 1rem !important; right: 1rem !important; width: 2.5rem; height: 2.5rem; border-radius: 50%; background: var(--cr-paper); display: grid; place-items: center; box-shadow: 0 6px 16px -8px rgba(0, 0, 0, 0.35); text-indent: 0; }
.flex-control-thumbs { display: grid !important; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 0.625rem; margin: 0.75rem 0 0 !important; padding: 0; list-style: none; }
.flex-control-thumbs li { width: auto !important; float: none !important; margin: 0 !important; }
.flex-control-thumbs img { border-radius: 12px; opacity: 0.55; cursor: pointer; transition: opacity 0.25s; aspect-ratio: 1; object-fit: cover; width: 100%; }
.flex-control-thumbs img:hover, .flex-control-thumbs img.flex-active { opacity: 1; }

.cr-product__info { display: grid; gap: 1.25rem; align-content: start; }
.cr-product__info > * { margin: 0; }
.cr-product__title { font-size: clamp(2rem, 1.2rem + 2.2vw, 3rem); letter-spacing: -0.02em; line-height: 1.05; }
.cr-product__info .wc-block-components-product-price { font-size: 1.75rem; font-weight: 500; font-variant-numeric: tabular-nums; }
.cr-product__excerpt { color: var(--cr-muted); }
.cr-product__excerpt p { margin: 0; }
.cr-specs { margin: 0.25rem 0; padding: 0; border-top: 1px solid var(--cr-line); }
.cr-specs > div { display: grid; grid-template-columns: 7rem minmax(0, 1fr); gap: 1rem; padding: 0.7rem 0; border-bottom: 1px solid var(--cr-line); font-size: var(--wp--preset--font-size--sm); }
.cr-specs dt { color: var(--cr-muted); }
.cr-specs dd { margin: 0; font-weight: 500; }

.cr-product form.cart { display: flex; flex-wrap: wrap; gap: 0.75rem; align-items: stretch; margin: 0; }
.cr-product form.cart .quantity .qty { height: 3.25rem; width: 4.5rem; border: 1px solid var(--cr-line); border-radius: 999px; text-align: center; font: inherit; }
.cr-product .single_add_to_cart_button { flex: 1 1 12rem; min-height: 3.25rem; border: 0; border-radius: 999px; background: var(--cr-ink); color: var(--cr-paper); font: inherit; font-weight: 500; padding: 0 2rem; cursor: pointer; transition: background-color 0.25s, transform 0.25s var(--cr-ease); }
.cr-product .single_add_to_cart_button:hover { background: #2a2a28; transform: translateY(-1px); }
.cr-product .single_add_to_cart_button.disabled, .cr-product .single_add_to_cart_button:disabled { opacity: 0.35; cursor: not-allowed; transform: none; }
.cr-product .variations { width: 100%; border: 0; margin: 0 0 1rem; }
.cr-product .variations th, .cr-product .variations td { padding: 0.25rem 0; border: 0; display: block; text-align: left; }
.cr-product .variations label { font-weight: 600; font-size: var(--wp--preset--font-size--sm); }
.cr-product .variations select { width: 100%; height: 3.25rem; border: 1px solid var(--cr-line); border-radius: 999px; padding: 0 1.25rem; font: inherit; background-color: var(--cr-paper); }
.cr-product .reset_variations { font-size: var(--wp--preset--font-size--xs); color: var(--cr-muted); }
.cr-product form.cart.variations_form { display: block; }
.cr-product .woocommerce-variation-add-to-cart { display: flex; flex-wrap: wrap; gap: 0.75rem; }
.cr-product .woocommerce-variation-price { font-weight: 500; margin-bottom: 0.5rem; }
.cr-product .stock { display: none; }

.cr-notes { display: grid; gap: 1rem; }
.cr-notes > p { margin: 0; }
.cr-notes__stock { margin: 0; padding: 0.85rem 1rem; background: var(--cr-stone); border-radius: 12px; font-size: var(--wp--preset--font-size--sm); }
.cr-notes__stock.is-sold { background: var(--cr-ink); color: var(--cr-paper); }
.cr-btn--outline { justify-content: center; box-shadow: inset 0 0 0 1px var(--cr-ink); color: var(--cr-ink); min-height: 3.25rem; }
.cr-btn--outline:hover { background: var(--cr-ink); color: var(--cr-paper); }
.cr-btn--outline .cr-icon { width: 1.25rem; height: 1.25rem; }
.cr-notes .cr-btn--outline { box-sizing: border-box; justify-self: start; min-height: 2.75rem; padding: 0.5rem 1.25rem; line-height: 1.4; }
.cr-product .cr-assure { box-sizing: border-box; list-style: none; padding: 1.25rem; margin-block: clamp(1.5rem, 3vw, 2.5rem) 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; border: 1px solid var(--cr-line); border-radius: 12px; background: var(--cr-stone); font-size: var(--wp--preset--font-size--sm); color: var(--cr-ink); }
.cr-assure li { display: flex; align-items: center; justify-content: center; gap: 0.75rem; margin: 0; line-height: 1.5; }
.cr-assure li + li { border-left: 1px solid var(--cr-line); padding-left: 1rem; }
.cr-assure .cr-icon { flex: none; width: 1.25rem; height: 1.25rem; color: var(--cr-ink); }

.cr-product__desc { margin-top: clamp(3rem, 6vw, 5rem); padding-top: 2rem; border-top: 1px solid var(--cr-line); }
.cr-product__desc > * { max-width: 46rem; margin-inline: 0; }
.cr-product__desc .cr-section__title { margin-bottom: 1.25rem; }
.cr-product__desc p { color: var(--cr-muted); }
.cr-product__desc h3 { font-family: inherit; font-weight: 600; font-size: var(--wp--preset--font-size--base); margin: 1.75rem 0 0.75rem; }
.cr-product__desc ol { color: var(--cr-muted); padding-left: 1.25rem; display: grid; gap: 0.35rem; }
.cr-related { margin-top: clamp(3rem, 6vw, 5rem); }
.cr-related .cr-section__title { margin-bottom: 1.5rem; }

/* ---------- Catálogo y ficha: responsive ---------- */
@media (max-width: 1100px) {
	.cr-grid--shop .wc-block-product-template, .cr-grid--related .wc-block-product-template { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 900px) {
	.cr-shop__layout { grid-template-columns: 1fr; gap: 1.25rem; }
	.cr-shop__layout > .cr-shop__results { margin-block-start: 0; }
	.cr-filters { position: static; }
	.cr-filters > summary { display: grid; grid-template-columns: 1.25rem minmax(0, 1fr) 1.25rem; align-items: center; gap: 0.75rem; box-sizing: border-box; width: 100%; min-height: 3rem; cursor: pointer; padding: 0.75rem 1.25rem; border-radius: 999px; background: var(--cr-ink); color: var(--cr-paper); font-weight: 500; font-size: var(--wp--preset--font-size--sm); text-align: center; list-style: none; margin-bottom: 1.25rem; transition: background-color 0.2s; }
	.cr-filters > summary::before, .cr-filters > summary::after { content: ""; width: 1.25rem; height: 1.25rem; background: currentColor; }
	.cr-filters > summary::before { --cr-filter-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.5' stroke-linecap='round'%3E%3Cpath d='M4 7h16M4 17h16'/%3E%3Ccircle cx='9' cy='7' r='3' fill='white'/%3E%3Ccircle cx='15' cy='17' r='3' fill='white'/%3E%3C/svg%3E"); mask: var(--cr-filter-icon) center / contain no-repeat; -webkit-mask: var(--cr-filter-icon) center / contain no-repeat; }
	.cr-filters > summary::after { mask: var(--cr-chevron) center / contain no-repeat; -webkit-mask: var(--cr-chevron) center / contain no-repeat; transition: transform 0.2s var(--cr-ease); }
	.cr-filters[open] > summary::after { transform: rotate(180deg); }
	.cr-filters > summary:hover { background-color: #303030; }
	.cr-filters > summary::-webkit-details-marker { display: none; }
	.cr-filters:not([open]) > summary { margin-bottom: 0; }
	.cr-shop .cr-shop__toolbar { gap: 0.75rem; margin-block: 0 1rem; }
	.cr-shop__toolbar .woocommerce-result-count { margin-block: 0; }
	.cr-shop__toolbar .woocommerce-ordering select { min-height: 2.75rem; }
	.cr-product__top { grid-template-columns: 1fr; gap: 2rem; }
	.cr-product__gallery { position: static; }
}
@media (max-width: 640px) {
	.cr-grid--related .wc-block-product-template { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.cr-specs > div { grid-template-columns: 6rem minmax(0, 1fr); }
	.cr-notes .cr-btn--outline { justify-self: stretch; width: 100%; }
	.cr-product .cr-assure { padding: 1rem 0.75rem; gap: 0.625rem; font-size: var(--wp--preset--font-size--xs); }
	.cr-assure li { flex-direction: column; justify-content: flex-start; gap: 0.5rem; text-align: center; }
	.cr-assure li + li { padding-left: 0.625rem; }
}

/* Ajustes tras revisión */
.cr-product__gallery .wp-block-woocommerce-product-image-gallery, .cr-product__gallery .woocommerce-product-gallery { max-width: none !important; width: 100% !important; }
.cr-product__gallery .woocommerce-product-gallery__image { max-width: none; }
.cr-product form.cart .quantity:has(input[type="hidden"]) { display: none; }
.cr-filters .wc-block-price-filter__controls { display: grid; grid-template-columns: 1fr 1fr; gap: 0.5rem; }
.cr-filters .wc-block-price-filter__amount--min, .cr-filters .wc-block-price-filter__amount--max { width: 100%; min-width: 0; padding-inline: 0.75rem; text-align: center; }
.cr-filters .wc-block-components-price-slider__controls .screen-reader-text { position: absolute; }
.cr-filters .wc-block-price-filter__controls { align-items: start; }
.cr-filters .wc-block-components-price-slider__label { font-size: 0; display: block; margin-top: 0.35rem; text-align: center; }
.cr-filters .wc-block-components-price-slider__label::after { font-size: var(--wp--preset--font-size--xs); color: var(--cr-muted); }
.cr-filters .wc-block-price-filter__control:first-child .wc-block-components-price-slider__label::after { content: "Mínimo"; }
.cr-filters .wc-block-price-filter__control:last-child .wc-block-components-price-slider__label::after { content: "Máximo"; }
.cr-filters .wc-block-components-price-slider__control { display: flex; flex-direction: column-reverse; }
.cr-product .variations, .cr-product .variations tbody, .cr-product .variations tr, .cr-product .variations th, .cr-product .variations td { display: block; width: 100%; }
.cr-product .variations select { width: 100%; max-width: none; }
.cr-product .variations .value { position: relative; }
.cr-product .variations td.value .reset_variations { display: inline-block; margin-top: 0.5rem; }
.cr-product .single_variation_wrap { margin-top: 0.5rem; }
.cr-related:not(:has(.wc-block-product)) { display: none; }
.cr-product table.variations select, .cr-product .variations select { height: 3.25rem; line-height: 1.2; padding: 0 2.75rem 0 1.25rem; font-size: var(--wp--preset--font-size--sm); color: var(--cr-ink); background-color: var(--cr-paper); border: 1px solid var(--cr-line); border-radius: 999px; }
.cr-product .variations select:hover, .cr-product .variations select:focus { border-color: var(--cr-ink); }

/* Galería: proporción fija que cabe en pantalla junto a sus miniaturas */
.cr-product__gallery { position: static; }
.cr-product__gallery .woocommerce-product-gallery__image img, .cr-product__gallery .woocommerce-product-gallery__image a { display: block; }
.cr-product__gallery .woocommerce-product-gallery__image img { aspect-ratio: 3 / 4; object-fit: cover; object-position: 50% 40%; height: auto; }
.cr-product__gallery .woocommerce-product-gallery .flex-viewport { border-radius: var(--cr-radius); overflow: hidden; background: var(--cr-stone); }
.cr-product__gallery .flex-viewport .woocommerce-product-gallery__image img { border-radius: 0; }
.flex-control-thumbs li { cursor: pointer; }
.flex-control-thumbs img.flex-active { box-shadow: 0 0 0 2px var(--cr-ink); }
.woocommerce-product-gallery__trigger { z-index: 5 !important; }
.cr-product__gallery .flex-viewport { z-index: 1; }

/* ============================================================
   Carrito, checkout, confirmación y Mi cuenta
   ============================================================ */
.cr-cart > *, .cr-checkout > *, .cr-account > * { width: min(var(--cr-container), calc(100% - 2 * var(--cr-gutter))); max-width: none; margin-inline: auto; }
.cr-cart, .cr-checkout, .cr-account { padding-block: clamp(1.5rem, 3vw, 2.5rem) 1rem; }
.cr-cart .cr-page__title, .cr-checkout .cr-page__title, .cr-account .cr-page__title { font-size: var(--wp--preset--font-size--xxl); letter-spacing: -0.02em; margin-bottom: 1.75rem; }
.cr-confirmation { max-width: 56rem; }
.cr-confirmation > * { width: min(56rem, calc(100% - 2 * var(--cr-gutter))); }

/* Encabezado y pie reducidos del checkout */
.cr-minihead { display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; gap: 1rem; width: min(var(--cr-container), calc(100% - 2 * var(--cr-gutter))); margin: 0 auto; padding-block: 1.25rem; border-bottom: 1px solid var(--cr-line); }
.cr-minihead .cr-logo { width: clamp(8rem, 12vw, 10rem); }
.cr-minihead__back { justify-self: start; display: inline-flex; align-items: center; gap: 0.6rem; text-decoration: none; font-size: var(--wp--preset--font-size--sm); font-weight: 500; }
.cr-minihead__back .cr-icon { width: 1rem; height: 1rem; transform: scaleX(-1); transition: transform 0.3s var(--cr-ease); }
.cr-minihead__back:hover .cr-icon { transform: scaleX(-1) translateX(4px); }
.cr-minihead__secure { justify-self: end; margin: 0; display: inline-flex; align-items: center; gap: 0.5rem; font-size: var(--wp--preset--font-size--xs); color: var(--cr-muted); }
.cr-minihead__secure .cr-icon { width: 1.125rem; height: 1.125rem; color: var(--cr-ink); }
.cr-minifoot { width: min(var(--cr-container), calc(100% - 2 * var(--cr-gutter))); margin: clamp(2.5rem, 5vw, 4rem) auto 0; padding-block: 1.5rem 2rem; border-top: 1px solid var(--cr-line); display: flex; flex-wrap: wrap; justify-content: space-between; gap: 0.75rem 2rem; font-size: var(--wp--preset--font-size--xs); color: var(--cr-muted); }
.cr-minifoot p { margin: 0; }
.cr-minifoot ul { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 0.5rem 1.5rem; }
.cr-minifoot a { color: inherit; }
.cr-minifoot a:hover { color: var(--cr-ink); }

/* Bloques de WooCommerce (carrito y checkout): tipografía, campos y botones */
.wc-block-cart, .wc-block-checkout { font-family: inherit; color: var(--cr-ink); }
.wc-block-cart *, .wc-block-checkout * { font-family: inherit; }
.wc-block-components-title, .wc-block-components-checkout-step__title, .wc-block-cart__totals-title { font-family: var(--cr-serif) !important; font-weight: 300 !important; font-size: var(--wp--preset--font-size--lg) !important; letter-spacing: -0.01em; text-transform: none !important; }
.wc-block-components-checkout-step__description, .wc-block-components-product-metadata, .wc-block-components-order-summary-item__description, .wc-block-components-totals-item__description { color: var(--cr-muted); }
.wc-block-components-sidebar-layout { gap: clamp(1.5rem, 4vw, 3rem); }
.wc-block-components-sidebar-layout .wc-block-components-main { padding-right: 0; }
.wc-block-components-sidebar-layout .wc-block-components-sidebar { padding-left: 0; }

/* Resumen / totales como panel */
.wc-block-cart__sidebar, .wc-block-checkout__sidebar { align-self: start; }
.wc-block-cart__sidebar > *, .wc-block-checkout__sidebar > * { }
.wp-block-woocommerce-cart-totals-block, .wp-block-woocommerce-checkout-order-summary-block { background: var(--cr-stone); border: 0; border-radius: var(--cr-radius); padding: 1.5rem; }
.wp-block-woocommerce-cart-order-summary-block, .wp-block-woocommerce-checkout-order-summary-block { margin-bottom: 0; }
.wc-block-components-totals-wrapper { border-color: var(--cr-line) !important; }
.wc-block-components-totals-footer-item .wc-block-components-totals-item__value { font-size: 1.5rem; font-weight: 600; font-variant-numeric: tabular-nums; }
.wc-block-components-formatted-money-amount { font-variant-numeric: tabular-nums; }

/* Tabla del carrito */
table.wc-block-cart-items { border: 0; }
.wc-block-cart-items__header th { font-size: var(--wp--preset--font-size--xs); font-weight: 600; color: var(--cr-muted); text-transform: none; letter-spacing: 0.01em; border-bottom: 1px solid var(--cr-line); padding-bottom: 0.75rem; }
.wc-block-cart-items__row td { border-top: 1px solid var(--cr-line) !important; padding-block: 1.25rem; vertical-align: top; }
.wc-block-cart-items__row:first-child td { border-top: 0 !important; }
.wc-block-cart-item__image img { width: 6rem; border-radius: 12px; background: var(--cr-stone); aspect-ratio: 1; object-fit: cover; }
.wc-block-components-product-name { font-weight: 500; text-decoration: none; font-size: var(--wp--preset--font-size--base); }
.wc-block-components-product-name:hover { text-decoration: underline; }
.wc-block-cart-item__remove-link { color: var(--cr-muted); font-size: var(--wp--preset--font-size--xs); text-underline-offset: 0.25em; }
.wc-block-cart-item__remove-link:hover { color: var(--cr-ink); }
.wc-block-components-quantity-selector { border-radius: 999px; border: 1px solid var(--cr-line); overflow: hidden; background: var(--cr-paper); }
.wc-block-components-quantity-selector::after { display: none; }
.wc-block-components-quantity-selector__button { opacity: 1; color: var(--cr-ink); }
.wc-block-components-quantity-selector__button:hover { background: var(--cr-stone); }
.wc-block-components-product-badge { border-radius: 999px; border-color: var(--cr-ink); }

/* Campos de formulario */
.wc-block-components-text-input input, .wc-block-components-textarea, .wc-blocks-components-select .wc-blocks-components-select__select, .wc-block-components-country-input select, .wc-block-components-state-input select, .wc-block-components-combobox .components-combobox-control input, .wc-block-components-address-form select { border: 1px solid var(--cr-line) !important; border-radius: 12px !important; background: var(--cr-paper) !important; box-shadow: none !important; font-size: var(--wp--preset--font-size--sm); transition: border-color 0.2s; }
.wc-block-components-text-input input:focus, .wc-block-components-textarea:focus, .wc-blocks-components-select__select:focus, .wc-block-components-combobox .components-combobox-control input:focus { border-color: var(--cr-ink) !important; outline: 2px solid var(--cr-ink); outline-offset: 1px; }
.wc-block-components-text-input label, .wc-blocks-components-select__label { color: var(--cr-muted) !important; }
.wc-block-components-text-input.has-error input { border-color: #b3261e !important; }
.wc-block-components-validation-error { color: #b3261e; }

/* Opciones (envío, pago): tarjetas seleccionables */
.wc-block-components-radio-control__option, .wc-block-components-radio-control-accordion-option { border: 1px solid var(--cr-line) !important; border-radius: 14px !important; padding: 1rem 1rem 1rem 3rem !important; margin: 0 0 0.625rem !important; box-shadow: none !important; transition: border-color 0.2s, background-color 0.2s; }
.wc-block-components-radio-control__option:hover, .wc-block-components-radio-control-accordion-option:hover { border-color: var(--cr-ink) !important; }
.wc-block-components-radio-control__option-checked, .wc-block-components-radio-control-accordion-option--checked-option-highlighted { border-color: var(--cr-ink) !important; background: var(--cr-stone); }
.wc-block-components-radio-control__input { border-color: var(--cr-ink) !important; background: var(--cr-paper); }
.wc-block-components-radio-control__input:checked::before { background: var(--cr-ink); }
.wc-block-components-radio-control__label { font-weight: 500; }
.wc-block-components-radio-control__secondary-label { font-variant-numeric: tabular-nums; font-weight: 600; }
.wc-block-components-radio-control__description { color: var(--cr-muted); font-size: var(--wp--preset--font-size--xs); }
.wc-block-components-radio-control-accordion-content { padding: 0.75rem 0 0 !important; }
.wc-block-components-checkbox .wc-block-components-checkbox__input[type="checkbox"] { border-color: var(--cr-ink); border-radius: 4px; }
.wc-block-components-checkbox .wc-block-components-checkbox__input[type="checkbox"]:checked { background: var(--cr-ink); }
.wc-block-components-checkbox .wc-block-components-checkbox__mark { fill: var(--cr-paper); }

/* Botones principales */
.wc-block-components-button:not(.is-link), .wc-block-cart__submit-button, .wc-block-components-checkout-place-order-button { background: var(--cr-ink) !important; color: var(--cr-paper) !important; border: 0 !important; border-radius: 999px !important; min-height: 3rem; font-weight: 500; font-size: var(--wp--preset--font-size--sm); padding-inline: 1.5rem; transition: background-color 0.25s, transform 0.25s var(--cr-ease); }
.wc-block-components-button:not(.is-link):hover, .wc-block-cart__submit-button:hover, .wc-block-components-checkout-place-order-button:hover { background: #2a2a28 !important; transform: translateY(-1px); }
.wc-block-components-button:disabled { opacity: 0.4; transform: none; }
.wc-block-components-checkout-return-to-cart-button { color: var(--cr-ink); font-weight: 500; }
.wc-block-components-totals-coupon .wc-block-components-panel__button, .wc-block-components-panel__button { font-weight: 500; }
.wc-block-components-totals-coupon__button { min-height: 3rem; }

/* Avisos */
.wc-block-components-notice-banner, .wc-block-components-notice-banner.is-success, .wc-block-components-notice-banner.is-info { display: flex; align-items: center; gap: 0.875rem; padding: 0.875rem 1.125rem; border: 0; border-radius: 14px; background: var(--cr-stone); color: var(--cr-ink); font-size: var(--wp--preset--font-size--sm); outline: 0; box-shadow: none; }
.wc-block-components-notice-banner:focus, .wc-block-components-notice-banner:focus-visible { outline: 0; }
.wc-block-components-notice-banner.is-error { background: #fdf0ee; box-shadow: inset 0 0 0 1px #b3261e; }
.wc-block-components-notice-banner > svg { flex: none; width: 1.75rem; height: 1.75rem; padding: 0.3rem; border-radius: 50%; background: var(--cr-ink); fill: var(--cr-paper); }
.wc-block-components-notice-banner.is-error > svg { background: #b3261e; }
.wc-block-components-notice-banner .wc-block-components-notice-banner__content { flex: 1; display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 0.5rem 1.25rem; padding: 0; line-height: 1.4; }
.wc-block-components-notice-banner .wc-block-components-notice-banner__content a.wp-element-button, .wc-block-components-notice-banner .wc-block-components-notice-banner__content a.wc-forward { float: none; flex: none; margin: 0; min-height: 0; padding: 0.5rem 1.125rem; border: 0; border-radius: 999px; background: var(--cr-ink); color: var(--cr-paper); font-size: var(--wp--preset--font-size--xs); font-weight: 500; line-height: 1.2; text-decoration: none; transition: background-color 0.2s; }
.wc-block-components-notice-banner .wc-block-components-notice-banner__content a.wp-element-button:hover, .wc-block-components-notice-banner .wc-block-components-notice-banner__content a.wc-forward:hover { background: #2a2a28; color: var(--cr-paper); }

/* Carrito vacío */
.wp-block-woocommerce-empty-cart-block { text-align: center; padding-block: 3rem; }
.wp-block-woocommerce-empty-cart-block .wp-block-heading { font-family: var(--cr-serif); font-weight: 300; }

/* Confirmación */
.cr-confirmation .wc-block-order-confirmation-status { border-radius: var(--cr-radius); background: var(--cr-ink); color: var(--cr-paper); padding: clamp(1.5rem, 3vw, 2.25rem); }
.cr-confirmation .wc-block-order-confirmation-status :is(h1, h2, h3, p, a, li, strong) { color: inherit; }
.cr-confirmation .wc-block-order-confirmation-status :is(h1, h2, h3) { font-family: var(--cr-serif); font-weight: 300; margin-top: 0; }
.cr-confirmation .wc-block-order-confirmation-status p:last-child { margin-bottom: 0; }
.cr-confirmation .wc-block-order-confirmation-status :is(.wp-element-button, .button, a.wc-block-components-button) { background: var(--cr-paper) !important; color: var(--cr-ink) !important; }
.cr-confirmation .wc-block-order-confirmation-status :is(.wp-element-button, .button):hover { background: var(--cr-stone) !important; }
.cr-confirmation .wc-block-order-confirmation-summary { border: 1px solid var(--cr-line); border-radius: var(--cr-radius); padding: 1.5rem; }
.cr-confirmation .wc-block-order-confirmation-totals table { border-radius: 12px; }
.cr-confirmation__addresses { gap: 2rem; }

/* Mi cuenta (clásico, con shortcode) */
.woocommerce-account .woocommerce { display: grid; grid-template-columns: 14rem minmax(0, 1fr); gap: clamp(1.5rem, 4vw, 3.5rem); align-items: start; }
.woocommerce-MyAccount-navigation ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 0.25rem; }
.woocommerce-MyAccount-navigation a { display: block; padding: 0.65rem 1rem; border-radius: 999px; text-decoration: none; font-size: var(--wp--preset--font-size--sm); color: var(--cr-muted); transition: background-color 0.2s, color 0.2s; }
.woocommerce-MyAccount-navigation a:hover { background: var(--cr-stone); color: var(--cr-ink); }
.woocommerce-MyAccount-navigation .is-active a { background: var(--cr-ink); color: var(--cr-paper); }
.woocommerce-account .u-columns { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 2rem; grid-column: 1 / -1; }
.woocommerce-account .u-column1, .woocommerce-account .u-column2 { float: none; width: auto; border: 1px solid var(--cr-line); border-radius: var(--cr-radius); padding: 2rem; }
.woocommerce-account h2 { font-size: var(--wp--preset--font-size--lg); margin-top: 0; }
.woocommerce form .form-row input.input-text, .woocommerce form .form-row textarea, .woocommerce form .form-row select { border: 1px solid var(--cr-line); border-radius: 12px; padding: 0.8rem 1rem; font: inherit; font-size: var(--wp--preset--font-size--sm); background: var(--cr-paper); width: 100%; }
.woocommerce form .form-row input.input-text:focus, .woocommerce form .form-row textarea:focus { border-color: var(--cr-ink); outline: 2px solid var(--cr-ink); outline-offset: 1px; }
.woocommerce form .form-row label { font-size: var(--wp--preset--font-size--xs); color: var(--cr-muted); margin-bottom: 0.35rem; display: block; }
.woocommerce .button, .woocommerce button.button, .woocommerce a.button { background: var(--cr-ink); color: var(--cr-paper); border: 0; border-radius: 999px; padding: 0.85rem 1.6rem; font: inherit; font-weight: 500; font-size: var(--wp--preset--font-size--sm); text-decoration: none; cursor: pointer; transition: background-color 0.25s; }
.woocommerce .button:hover, .woocommerce button.button:hover, .woocommerce a.button:hover { background: #2a2a28; color: var(--cr-paper); }
.woocommerce table.shop_table { border: 0; border-collapse: collapse; width: 100%; }
.woocommerce table.shop_table th, .woocommerce table.shop_table td { border: 0; border-top: 1px solid var(--cr-line); padding: 0.9rem 0.5rem; text-align: left; font-size: var(--wp--preset--font-size--sm); }
.woocommerce-info, .woocommerce-message, .woocommerce-error { list-style: none; margin: 0 0 1.5rem; padding: 1rem 1.25rem; border-radius: 14px; background: var(--cr-stone); border: 0; }
.woocommerce-error { background: #fdf0ee; }
.woocommerce-info::before, .woocommerce-message::before, .woocommerce-error::before { display: none; }

@media (max-width: 900px) {
	.cr-minihead { grid-template-columns: 1fr auto; }
	.cr-minihead__secure { display: none; }
	.cr-minihead .cr-logo { justify-self: end; }
	.wp-block-woocommerce-cart-totals-block, .wp-block-woocommerce-checkout-order-summary-block { padding: 1.25rem; }
	.woocommerce-account .woocommerce { grid-template-columns: 1fr; }
	.woocommerce-account .u-columns { grid-template-columns: 1fr; }
	.woocommerce-MyAccount-navigation ul { display: flex; overflow-x: auto; scrollbar-width: none; }
	.woocommerce-MyAccount-navigation a { white-space: nowrap; }
}
.cr-cart .cr-page__title, .cr-checkout .cr-page__title, .cr-account .cr-page__title { margin-inline: auto; padding-inline: 0; text-align: left; }
.cr-cart > .wp-block-post-title, .cr-checkout > .wp-block-post-title, .cr-account > .wp-block-post-title { margin-left: auto; margin-right: auto; }
/* "Envío a coordinar": no es gratis, es a cotizar; se oculta la etiqueta "Gratis" */
.wc-block-components-radio-control__option:has(input[value^="casa_roble_coordinar"]) .wc-block-components-radio-control__secondary-label { display: none; }
.cr-cart > .cr-page__title, .cr-checkout > .cr-page__title, .cr-account > .cr-page__title { max-width: none !important; width: min(var(--cr-container), calc(100% - 2 * var(--cr-gutter))) !important; margin-inline: auto !important; }

/* Mi cuenta: la cuadrícula con menú lateral solo aplica al área con sesión iniciada */
.woocommerce-account .woocommerce, .woocommerce-account .woocommerce.wc-block-store-notices { display: block; grid-template-columns: none; }
.woocommerce-account .woocommerce:has(.woocommerce-MyAccount-navigation) { display: grid; grid-template-columns: 14rem minmax(0, 1fr); gap: clamp(1.5rem, 4vw, 3.5rem); align-items: start; }
.woocommerce-account .u-columns { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.5rem; width: 100%; max-width: none; float: none; }
.woocommerce-account .u-columns .u-column1, .woocommerce-account .u-columns .u-column2 { float: none !important; width: auto !important; max-width: none; margin: 0; }
.woocommerce-account form.woocommerce-form { border: 0; padding: 0; margin: 0; border-radius: 0; }
.woocommerce-account .woocommerce-form-login, .woocommerce-account .woocommerce-form-register { display: grid; gap: 0.5rem; }
.woocommerce-account .woocommerce-form-login__submit, .woocommerce-account .woocommerce-form-register__submit { margin-top: 0.5rem; }
.woocommerce-account .woocommerce-privacy-policy-text { font-size: var(--wp--preset--font-size--xs); color: var(--cr-muted); }
@media (max-width: 900px) {
	.woocommerce-account .woocommerce:has(.woocommerce-MyAccount-navigation) { grid-template-columns: 1fr; }
	.woocommerce-account .u-columns { grid-template-columns: 1fr; }
}

.woocommerce-account .u-columns::before, .woocommerce-account .u-columns::after { content: none; display: none; }
.woocommerce-account .woocommerce-form-login .form-row, .woocommerce-account .woocommerce-form-register .form-row { margin: 0 0 0.75rem; }
.woocommerce-account .woocommerce-form-login__rememberme { display: inline-flex; align-items: center; gap: 0.5rem; margin: 0.25rem 0 0.75rem; }

/* Botón "Continuar con Google" */
.cr-social { width: 100%; max-width: 32rem; margin: 0 0 1.5rem; }
.cr-google { display: flex; align-items: center; justify-content: center; gap: 0.75rem; min-height: 3.25rem; padding: 0 1.5rem; border: 1px solid var(--cr-ink); border-radius: 999px; background: var(--cr-paper); color: var(--cr-ink); font-weight: 500; font-size: var(--wp--preset--font-size--sm); text-decoration: none; transition: background-color 0.25s, transform 0.25s var(--cr-ease); }
.cr-google:hover { background: var(--cr-stone); text-decoration: none; transform: translateY(-1px); }
.cr-google svg { flex: none; }
.cr-social__or { display: flex; align-items: center; gap: 1rem; margin: 1.25rem 0 0; font-size: var(--wp--preset--font-size--xs); color: var(--cr-muted); }
.cr-social__or::before, .cr-social__or::after { content: ""; flex: 1; height: 1px; background: var(--cr-line); }
.woocommerce-account .woocommerce > .cr-social, .woocommerce-account .woocommerce > .woocommerce-error { grid-column: 1 / -1; }
.woocommerce-account .woocommerce > .cr-social { max-width: none; }
.woocommerce-account .woocommerce > .woocommerce-error { margin-bottom: 1rem; }
/* Carrito: el panel gris es la propia barra lateral; el relleno va ahí (con más peso que la regla de WooCommerce). */
.wc-block-components-sidebar-layout .wc-block-components-sidebar.wc-block-cart__sidebar { padding: 1.75rem; border-radius: var(--cr-radius); }
@media (max-width: 900px) { .wc-block-components-sidebar-layout .wc-block-components-sidebar.wc-block-cart__sidebar { padding: 1.25rem; } }
.wc-block-components-sidebar-layout .wc-block-components-sidebar.wc-block-cart__sidebar { background: var(--cr-stone); }

/* Mi cuenta (con sesión): anular float/anchos de WooCommerce dentro de la rejilla */
.woocommerce-account .woocommerce:has(.woocommerce-MyAccount-navigation) { width: 100%; max-width: none; margin-inline: 0; }
.woocommerce-account .woocommerce-MyAccount-navigation, .woocommerce-account .woocommerce-MyAccount-content { float: none; width: auto; max-width: none; margin: 0; }
.woocommerce-account .woocommerce-MyAccount-navigation { position: sticky; top: 8.5rem; }
.woocommerce-account .woocommerce-MyAccount-navigation li { margin: 0; padding: 0; list-style: none; }
.woocommerce-account .woocommerce-MyAccount-navigation a { text-decoration: none; }
.woocommerce-account .woocommerce-MyAccount-navigation .is-active a { text-decoration: none; }
.woocommerce-account .woocommerce-MyAccount-content { min-width: 0; line-height: 1.7; }
.woocommerce-account .woocommerce-MyAccount-content > p:first-child { font-size: var(--wp--preset--font-size--md); }
.woocommerce-account .woocommerce-MyAccount-content a { text-underline-offset: 0.25em; }
.woocommerce-account .woocommerce-Addresses { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.5rem; }
.woocommerce-account .woocommerce-Addresses .col-1, .woocommerce-account .woocommerce-Addresses .col-2, .woocommerce-account .woocommerce-Address { float: none; width: auto; border: 1px solid var(--cr-line); border-radius: var(--cr-radius); padding: 1.5rem; }
.woocommerce-account .woocommerce-Address-title { display: flex; justify-content: space-between; align-items: baseline; gap: 1rem; }
.woocommerce-account .woocommerce-Address-title h2, .woocommerce-account .woocommerce-Address-title h3 { margin: 0 0 0.75rem; font-size: var(--wp--preset--font-size--lg); }
.woocommerce-account .woocommerce-EditAccountForm fieldset { border: 1px solid var(--cr-line); border-radius: var(--cr-radius); padding: 1.5rem; margin-top: 1.5rem; }
.woocommerce-account .woocommerce-EditAccountForm legend { padding-inline: 0.5rem; font-weight: 600; }
.woocommerce-account .woocommerce-orders-table { width: 100%; }
@media (max-width: 900px) {
	.woocommerce-account .woocommerce-MyAccount-navigation { position: static; }
	.woocommerce-account .woocommerce-Addresses { grid-template-columns: 1fr; }
}.woocommerce-account .woocommerce:has(.woocommerce-MyAccount-navigation)::before, .woocommerce-account .woocommerce:has(.woocommerce-MyAccount-navigation)::after { content: none; display: none; }
.woocommerce-account .woocommerce-MyAccount-navigation { grid-column: 1; grid-row: 1; }
.woocommerce-account .woocommerce-MyAccount-content { grid-column: 2; grid-row: 1; }
@media (max-width: 900px) { .woocommerce-account .woocommerce-MyAccount-navigation, .woocommerce-account .woocommerce-MyAccount-content { grid-column: 1; grid-row: auto; } }.woocommerce-account .woocommerce-MyAccount-navigation, .woocommerce-account .woocommerce-MyAccount-content { min-width: 0; }
@media (max-width: 900px) {
	.woocommerce-account .woocommerce:has(.woocommerce-MyAccount-navigation) { grid-template-columns: minmax(0, 1fr); }
	.woocommerce-account .woocommerce-MyAccount-navigation { max-width: 100%; overflow: hidden; }
	.woocommerce-account .woocommerce-MyAccount-navigation ul { overflow-x: auto; max-width: 100%; padding-bottom: 0.25rem; }
}
/* Cuenta de cliente: navegación y escritorio, sin alterar el acceso / registro. */
.cr-account .woocommerce:has(.woocommerce-MyAccount-navigation), .cr-account .woocommerce:has(.woocommerce-MyAccount-navigation) * { box-sizing: border-box; }
.logged-in .cr-account { padding-bottom: clamp(3rem, 6vw, 5rem); }
.cr-account .woocommerce:has(.woocommerce-MyAccount-navigation) { grid-template-columns: 16rem minmax(0, 1fr); gap: clamp(2rem, 4vw, 3.5rem); }
.cr-account .woocommerce-MyAccount-navigation { padding: 1.25rem; border: 1px solid var(--cr-line); border-radius: var(--cr-radius); }
.cr-account-profile { display: flex; align-items: center; gap: 0.75rem; padding: 0.25rem 0.25rem 1.25rem; margin-bottom: 1rem; border-bottom: 1px solid var(--cr-line); }
.cr-account-profile__icon { display: grid; place-items: center; flex: none; width: 2.75rem; height: 2.75rem; border-radius: 50%; background: var(--cr-stone); }
.cr-account-profile > div { min-width: 0; }
.cr-account-profile strong { display: block; font-size: var(--wp--preset--font-size--sm); font-weight: 500; overflow-wrap: anywhere; }
.cr-account-profile div > span { display: block; margin-top: 0.15rem; font-size: var(--wp--preset--font-size--xs); color: var(--cr-muted); }
.cr-account .woocommerce-MyAccount-navigation a { display: flex; align-items: center; gap: 0.75rem; min-height: 2.875rem; padding: 0.65rem 0.875rem; line-height: 1.35; }
.cr-account .woocommerce-MyAccount-navigation .is-active a { text-decoration: none; }
.cr-account .woocommerce-MyAccount-navigation .cr-icon { flex: none; width: 1.125rem; height: 1.125rem; }
.cr-account .woocommerce-MyAccount-navigation .woocommerce-MyAccount-navigation-link--customer-logout { margin-top: 0.75rem; padding-top: 0.75rem; border-top: 1px solid var(--cr-line); }
.cr-account .woocommerce-MyAccount-content { overflow-wrap: anywhere; }
.cr-account-welcome { padding: clamp(1.5rem, 3vw, 2.25rem); border-radius: var(--cr-radius); background: var(--cr-stone); }
.cr-account .cr-account-welcome h2 { margin: 0 0 0.625rem; font-family: var(--cr-serif); font-size: clamp(1.75rem, 2.5vw, 2.5rem); font-weight: 300; line-height: 1.2; letter-spacing: -0.02em; }
.cr-account-welcome p { max-width: 60ch; margin: 0; color: var(--cr-muted); line-height: 1.65; }
.cr-account-welcome__shop { display: inline-flex; align-items: center; gap: 0.75rem; min-height: 2.75rem; margin-top: 1rem; font-size: var(--wp--preset--font-size--sm); font-weight: 500; text-decoration: none; }
.cr-account-welcome__shop:hover { text-decoration: underline; }
.cr-account-welcome__shop .cr-icon { width: 1.125rem; height: 1.125rem; }
.cr-account-shortcuts { margin-top: 1.25rem; }
.cr-account-shortcut { display: flex; align-items: center; gap: 1.125rem; min-height: 6rem; padding: 1.25rem 0.75rem; border-bottom: 1px solid var(--cr-line); text-decoration: none; transition: background-color 0.2s; }
.cr-account-shortcut:hover { background: var(--cr-stone); }
.cr-account-shortcut > .cr-icon { flex: none; width: 1.5rem; height: 1.5rem; }
.cr-account-shortcut > span { flex: 1; min-width: 0; }
.cr-account-shortcut strong { display: block; font-size: var(--wp--preset--font-size--base); font-weight: 500; line-height: 1.4; }
.cr-account-shortcut span > span { display: block; margin-top: 0.25rem; font-size: var(--wp--preset--font-size--sm); color: var(--cr-muted); line-height: 1.5; }
.cr-account-shortcut > .cr-account-shortcut__arrow { width: 1.125rem; height: 1.125rem; }
.cr-account .cr-account-switch { margin: 1.5rem 0 0; font-size: var(--wp--preset--font-size--xs); color: var(--cr-muted); }
.cr-account :is(.woocommerce-MyAccount-navigation a, .cr-account-shortcut, .cr-account-welcome__shop):focus-visible { outline: 2px solid var(--cr-ink); outline-offset: 3px; }
@media (max-width: 900px) {
	.cr-account .woocommerce:has(.woocommerce-MyAccount-navigation) { grid-template-columns: minmax(0, 1fr); gap: 1.5rem; }
	.cr-account .woocommerce-MyAccount-navigation { padding: 1rem; overflow: visible; }
	.cr-account-profile { padding-bottom: 1rem; margin-bottom: 0.75rem; }
	.cr-account .woocommerce-MyAccount-navigation ul { display: flex; flex-wrap: wrap; gap: 0.375rem; overflow: visible; padding: 0; }
	.cr-account .woocommerce-MyAccount-navigation a { padding-inline: 0.75rem; white-space: normal; }
	.cr-account .woocommerce-MyAccount-navigation .woocommerce-MyAccount-navigation-link--customer-logout { margin: 0; padding: 0; border: 0; }
}
@media (prefers-reduced-motion: reduce) {
	.cr-account .woocommerce-MyAccount-navigation a, .cr-account-shortcut { transition: none; }
}

/* ============================================================
   Páginas de contenido (taller, sedes, contacto, envíos, legales)
   ============================================================ */
.cr-page .wp-block-post-content > * + * { margin-block-start: 1.1rem; }
.cr-page .wp-block-post-content h2 { font-size: var(--wp--preset--font-size--lg); letter-spacing: -0.01em; margin-top: 2.5rem; }
.cr-page .wp-block-post-content h3 { font-family: inherit; font-weight: 600; font-size: var(--wp--preset--font-size--base); margin-top: 1.75rem; }
.cr-page .wp-block-post-content p, .cr-page .wp-block-post-content li { color: var(--cr-ink); line-height: 1.75; }
.cr-page .wp-block-post-content ul, .cr-page .wp-block-post-content ol { padding-left: 1.25rem; display: grid; gap: 0.5rem; }
.cr-page .wp-block-post-content a { text-underline-offset: 0.25em; }
.cr-page .cr-lead { font-family: var(--cr-serif); font-weight: 300; font-size: var(--wp--preset--font-size--lg); line-height: 1.4; letter-spacing: -0.01em; color: var(--cr-ink); margin-bottom: 0.5rem; }
.cr-page .wp-block-buttons { margin-top: 2rem; }
.cr-draft { margin: 0 0 2rem; padding: 0.9rem 1.1rem; border: 1px dashed var(--cr-ink); border-radius: 12px; background: var(--cr-stone); font-size: var(--wp--preset--font-size--sm); }

/* Sedes */
.cr-sedes { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.25rem; margin-block: 1.75rem; }
.cr-sede { border: 1px solid var(--cr-line); border-radius: var(--cr-radius); padding: 1.75rem; display: grid; gap: 0.9rem; align-content: start; }
.cr-sede.is-soon { background: var(--cr-stone); border-style: dashed; }
.cr-sede h2 { margin: 0 !important; font-size: var(--wp--preset--font-size--lg); }
.cr-sede p { margin: 0; color: var(--cr-muted); }
.cr-sede__tag { justify-self: start; background: var(--cr-ink); color: var(--cr-paper) !important; font-size: 0.75rem; font-weight: 500; letter-spacing: 0.03em; padding: 0.25rem 0.7rem; border-radius: 999px; }
.cr-sede.is-soon .cr-sede__tag { background: transparent; color: var(--cr-ink) !important; box-shadow: inset 0 0 0 1px var(--cr-ink); }
.cr-sede ul { list-style: none; padding: 0 !important; margin: 0; display: grid; gap: 0.6rem; }
.cr-sede li { display: flex; align-items: flex-start; gap: 0.7rem; margin: 0; }
.cr-sede .cr-icon { width: 1.25rem; height: 1.25rem; margin-top: 0.2rem; }
.cr-sede__cta { margin-top: 0.5rem !important; }

/* Contacto */
.cr-contact { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; margin-block: 1.75rem; }
.cr-contact__card { display: grid; gap: 0.35rem; align-content: start; padding: 1.5rem; border: 1px solid var(--cr-line); border-radius: var(--cr-radius); text-decoration: none; color: var(--cr-ink); transition: border-color 0.25s, background-color 0.25s, transform 0.3s var(--cr-ease); }
.cr-contact__card:hover { border-color: var(--cr-ink); background: var(--cr-stone); transform: translateY(-2px); text-decoration: none; }
.cr-contact__card .cr-icon { width: 1.75rem; height: 1.75rem; margin-bottom: 0.5rem; }
.cr-contact__card strong { font-weight: 600; }
.cr-contact__card span { font-size: var(--wp--preset--font-size--md); overflow-wrap: anywhere; }
.cr-contact__card em { font-style: normal; font-size: var(--wp--preset--font-size--xs); color: var(--cr-muted); }

@media (max-width: 700px) { .cr-sedes, .cr-contact { grid-template-columns: 1fr; } }
.cr-page .cr-figure { margin-block: 2rem 0.5rem; }
.cr-page .cr-figure img { display: block; width: 100%; height: auto; aspect-ratio: 16 / 9; object-fit: cover; object-position: 50% 55%; border-radius: var(--cr-radius); background: var(--cr-stone); }
.cr-page .cr-figure figcaption { margin-top: 0.6rem; font-size: var(--wp--preset--font-size--xs); color: var(--cr-muted); text-align: left; }
/* Mi cuenta sin sesión (acceso / registro): bloque centrado */
body.woocommerce-account:not(.logged-in) .cr-account > .cr-page__title { width: min(32rem, calc(100% - 2 * var(--cr-gutter))) !important; text-align: center; }
body.woocommerce-account:not(.logged-in) .cr-account .woocommerce:not(:has(.woocommerce-MyAccount-navigation)) { width: min(32rem, calc(100% - 2 * var(--cr-gutter))); max-width: none; margin-inline: auto; }
body.woocommerce-account:not(.logged-in) .cr-account .cr-social { max-width: 100%; margin-inline: auto; }
body.woocommerce-account:not(.logged-in) .cr-account .woocommerce > .woocommerce-error { text-align: center; }
/* Acceso + registro (cuando el registro está activo): dos tarjetas iguales, más anchas que el formulario único */
body.woocommerce-account:not(.logged-in):has(.u-columns) .cr-account > .cr-page__title,
body.woocommerce-account:not(.logged-in) .cr-account .woocommerce:has(.u-columns):not(:has(.woocommerce-MyAccount-navigation)) { width: min(60rem, calc(100% - 2 * var(--cr-gutter))) !important; }
.cr-account .u-columns { align-items: stretch; gap: 1.5rem; }
.cr-account .u-columns .u-column1, .cr-account .u-columns .u-column2 { display: flex; flex-direction: column; padding: clamp(1.5rem, 3vw, 2.25rem); background: var(--cr-paper); }
.cr-account .u-columns h2 { margin: 0 0 1.25rem; font-size: var(--wp--preset--font-size--lg); }
.cr-account .u-columns form { flex: 1; display: flex; flex-direction: column; gap: 0.25rem; }
.cr-account .u-columns .woocommerce-form-register > p:not(.form-row) { margin: 0.5rem 0 0; color: var(--cr-muted); font-size: var(--wp--preset--font-size--sm); line-height: 1.6; }
.cr-account .u-columns .woocommerce-privacy-policy-text p { margin: 0.5rem 0 0; }
.cr-account .u-columns .woocommerce-form-register .form-row:has(.woocommerce-form-register__submit) { margin: auto 0 0; padding-top: 1.25rem; display: flex; justify-content: center; }
.cr-account .u-columns .woocommerce-form-register__submit { min-height: 3rem; margin: 0; }
.cr-account .u-columns .woocommerce-form-login .form-row:has(.woocommerce-form-login__submit) { margin-top: 0.5rem; }
.cr-account .u-columns .woocommerce-form-login .lost_password { margin: 1.25rem 0 0; }
body.woocommerce-account:not(.logged-in) .cr-account .lost_reset_password .form-row { float: none; width: 100%; padding-inline: 0; box-sizing: border-box; }
body.woocommerce-account:not(.logged-in) .cr-account .woocommerce-form-login .form-row:has(.woocommerce-form-login__submit) { display: flex; flex-direction: column; align-items: center; gap: 0.875rem; }
body.woocommerce-account:not(.logged-in) .cr-account .woocommerce-form-login__submit { float: none; margin: 0; min-height: 3rem; }
body.woocommerce-account:not(.logged-in) .cr-account .woocommerce-form-login__rememberme { justify-content: center; margin: 0; min-height: 2.75rem; }
body.woocommerce-account:not(.logged-in) .cr-account .lost_password { text-align: center; margin-top: 0; }
@media (max-width: 900px) {
	body.woocommerce-account:not(.logged-in) .cr-account .woocommerce-form-login__submit,
	body.woocommerce-account:not(.logged-in) .cr-account .lost_reset_password button[type="submit"] { display: block; width: 100%; min-height: 3rem; float: none; margin: 0; text-align: center; box-sizing: border-box; }
}
.cr-sede { overflow: hidden; }
.cr-sede__img { display: block; width: calc(100% + 3.5rem); max-width: none; margin: -1.75rem -1.75rem 0.25rem; aspect-ratio: 3 / 2; object-fit: cover; background: var(--cr-stone); transition: transform 1s var(--cr-ease); }
.cr-sede:hover .cr-sede__img { transform: scale(1.03); }
.cr-sede { isolation: isolate; }
.cr-note { color: var(--cr-muted); font-size: var(--wp--preset--font-size--xs); }.cr-sede__img { align-self: start; height: auto; min-height: 0; }
/* Confirmación de pedido: columna centrada */
main.cr-confirmation { width: 100%; max-width: none; margin-inline: auto; }
main.cr-confirmation > * { width: min(56rem, calc(100% - 2 * var(--cr-gutter))); max-width: none; margin-inline: auto; }main.cr-confirmation > .cr-page__title { width: min(56rem, calc(100% - 2 * var(--cr-gutter))) !important; }
main.cr-confirmation, main.cr-confirmation * { box-sizing: border-box; }
main.cr-confirmation .wc-block-order-confirmation-status, main.cr-confirmation .wp-block-woocommerce-order-confirmation-status { max-width: 100%; margin-inline: auto; }
main.cr-confirmation .wc-block-order-confirmation-summary, main.cr-confirmation .wc-block-order-confirmation-totals { max-width: 100%; overflow-x: auto; }main.cr-confirmation .wc-block-order-confirmation-status .woocommerce-info, main.cr-confirmation .wc-block-order-confirmation-status .woocommerce-error { background: transparent; padding: 0; margin: 0; }

/* Mini carrito: botones compactos, "Ver carrito" como secundario y sin descripción larga */
.wc-block-mini-cart__footer-actions { display: grid; grid-template-columns: 1fr 1fr; gap: 0.625rem; }
.wc-block-mini-cart__footer .wc-block-components-button:not(.is-link) { min-height: 2.75rem; padding: 0.55rem 1rem; font-size: var(--wp--preset--font-size--sm); line-height: 1.2; white-space: normal; text-align: center; }
.wc-block-mini-cart__footer .wc-block-mini-cart__footer-cart.wc-block-components-button:not(.is-link) { background: transparent !important; color: var(--cr-ink) !important; box-shadow: inset 0 0 0 1px var(--cr-ink); }
.wc-block-mini-cart__footer .wc-block-mini-cart__footer-cart.wc-block-components-button:not(.is-link):hover { background: var(--cr-stone) !important; }
.wc-block-mini-cart__footer .wc-block-components-totals-item__description, .wc-block-mini-cart__footer-subtotal + * { font-size: var(--wp--preset--font-size--xs); color: var(--cr-muted); }
.wc-block-mini-cart__products-table .wc-block-components-product-metadata__description { display: none; }
@media (max-width: 480px) {
	.wc-block-mini-cart__footer-actions { grid-template-columns: 1fr; }
	.wc-block-mini-cart__footer-checkout { order: -1; }
}

/* Envío a coordinar: aviso destacado (carrito y checkout) */
.cr-coordinar { display: grid; grid-template-columns: auto 1fr; column-gap: 1rem; row-gap: 0.25rem; align-items: start; margin: 0 0 1.5rem; padding: 1.25rem 1.5rem; border-radius: var(--cr-radius); background: var(--cr-ink); color: var(--cr-paper); }
.cr-coordinar__icon { grid-row: span 2; display: grid; place-items: center; width: 2.75rem; height: 2.75rem; border-radius: 50%; background: var(--cr-paper); color: var(--cr-ink); }
.cr-coordinar__icon svg { width: 1.375rem; height: 1.375rem; }
.cr-coordinar__title { margin: 0; font-family: inherit; font-size: var(--wp--preset--font-size--base); font-weight: 600; line-height: 1.3; color: var(--cr-paper); }
.cr-coordinar__text { margin: 0; font-size: var(--wp--preset--font-size--sm); line-height: 1.55; color: #e8e8e4; max-width: 62ch; }
.cr-coordinar__text strong { color: var(--cr-paper); font-weight: 600; }
@media (max-width: 600px) {
	.cr-coordinar { grid-template-columns: 1fr; padding: 1.125rem 1.25rem; }
	.cr-coordinar__icon { grid-row: auto; width: 2.5rem; height: 2.5rem; margin-bottom: 0.25rem; }
}

/* La opción elegida en el checkout también se marca con claridad */
.wc-block-components-radio-control__option:has(input[value^="casa_roble_coordinar"]) { background: var(--cr-stone); }
.wc-block-components-radio-control__option:has(input[value^="casa_roble_coordinar"]) .wc-block-components-radio-control__label::after { content: "Hoy pagas solo los productos; el flete se cotiza antes de despachar."; display: block; margin-top: 0.25rem; font-weight: 400; font-size: var(--wp--preset--font-size--xs); color: var(--cr-muted); }


/* Avisos: ícono en tinta (no verde) y enlace como botón pequeño; gana a los estilos de WooCommerce */
.wc-block-components-notice-banner.is-success > svg, .wc-block-components-notice-banner.is-info > svg, .wc-block-components-notice-banner.is-default > svg { background-color: var(--cr-ink) !important; fill: var(--cr-paper) !important; }
.wc-block-components-notice-banner.is-error > svg { background-color: #b3261e !important; fill: var(--cr-paper) !important; }
.wc-block-components-notice-banner .wc-block-components-notice-banner__content a.wp-element-button, .wc-block-components-notice-banner .wc-block-components-notice-banner__content a.wc-forward { float: none !important; margin: 0 !important; padding: 0.5rem 1.125rem !important; border-radius: 999px !important; background: var(--cr-ink) !important; color: var(--cr-paper) !important; font-size: var(--wp--preset--font-size--xs) !important; font-weight: 500 !important; text-decoration: none !important; opacity: 1 !important; }
.wc-block-components-notice-banner .wc-block-components-notice-banner__content a.wp-element-button:hover, .wc-block-components-notice-banner .wc-block-components-notice-banner__content a.wc-forward:hover { background: #2a2a28 !important; }

/* Confirmación en la ficha: alto contraste y una única entrada, sin autoocultado. */
.single-product .cr-product .wc-block-components-notice-banner.is-success { background: var(--cr-ink); color: var(--cr-paper); padding: 1.25rem; font-size: 1rem; box-shadow: 0 10px 24px -16px rgba(0, 0, 0, 0.4); }
.single-product .cr-product .wc-block-components-notice-banner.is-success > svg { background-color: var(--cr-paper) !important; fill: var(--cr-ink) !important; }
.single-product .cr-product .wc-block-components-notice-banner.is-success .wc-block-components-notice-banner__content :is(a.wp-element-button, a.wc-forward) { display: inline-flex; align-items: center; justify-content: center; min-height: 2.75rem; box-sizing: border-box; padding: 0.625rem 1.25rem !important; background: var(--cr-paper) !important; color: var(--cr-ink) !important; font-size: var(--wp--preset--font-size--sm) !important; }
.single-product .cr-product .wc-block-components-notice-banner.is-success .wc-block-components-notice-banner__content :is(a.wp-element-button, a.wc-forward):hover { background: var(--cr-stone) !important; }
.single-product .cr-product .wc-block-components-notice-banner.is-success a:focus-visible { outline-color: var(--cr-paper); }
@media (prefers-reduced-motion: no-preference) {
	.single-product .cr-product .wc-block-components-notice-banner.is-success { animation: cr-cart-confirmation 0.45s var(--cr-ease) both; }
	@keyframes cr-cart-confirmation {
		from { opacity: 0.35; transform: translateY(-0.5rem); }
		to { opacity: 1; transform: translateY(0); }
	}
}
@media (max-width: 640px) {
	.single-product .cr-product .wc-block-components-notice-banner.is-success { align-items: flex-start; padding: 1rem; }
	.single-product .cr-product .wc-block-components-notice-banner.is-success .wc-block-components-notice-banner__content { flex-direction: column; align-items: stretch; gap: 0.875rem; }
}

/* Mini carrito: una sola línea divisoria entre productos */
.wc-block-mini-cart__products-table .wc-block-cart-items { border-collapse: collapse; }
.wc-block-mini-cart__products-table .wc-block-cart-items__row { border: 0; }
.wc-block-mini-cart__products-table .wc-block-cart-items__row + .wc-block-cart-items__row { border-top: 1px solid var(--cr-line); }
.wc-block-mini-cart__products-table .wc-block-cart-items__row > td { border: 0 !important; }
.wc-block-mini-cart__products-table .wc-block-cart-items__row > td::after { display: none; }

/* Botón de Google alineado con el contenido del checkout y el carrito */
.cr-checkout .cr-social, .cr-cart .cr-social { width: min(var(--cr-container), calc(100% - 2 * var(--cr-gutter))); max-width: none; margin-inline: auto; }
.cr-checkout .cr-social > *, .cr-cart .cr-social > * { max-width: 32rem; }

.cr-checkout .cr-social .cr-google, .cr-checkout .cr-social .cr-social__or, .cr-cart .cr-social .cr-google, .cr-cart .cr-social .cr-social__or { width: 100%; max-width: 32rem; box-sizing: border-box; }
.cr-checkout > .cr-page__title { text-align: center; }
.cr-checkout .cr-social > * { margin-inline: auto; }

.cr-checkout > .cr-coordinar, .cr-cart > .cr-coordinar, .cr-checkout .wp-block-shortcode > .cr-coordinar, .cr-cart .wp-block-shortcode > .cr-coordinar { width: min(var(--cr-container), calc(100% - 2 * var(--cr-gutter))); margin-inline: auto; margin-bottom: 1.5rem; box-sizing: border-box; }

.cr-confirmation .wc-block-order-confirmation-status :is(.wp-element-button, .button) { display: inline-block; padding: 0.65rem 1.4rem; border-radius: 999px; font-size: var(--wp--preset--font-size--sm); font-weight: 500; text-decoration: none; margin: 0 0.5rem 0.25rem 0; }
.cr-confirmation .wc-block-order-confirmation-status__actions { margin-top: 1.25rem; }

/* ============================================================
   Móvil: tarjeta con "Ver carrito", paginación y carrito
   ============================================================ */

/* Producto recién agregado: el enlace "Ver carrito" ocupa su propio lugar y el botón pasa a "check" */
.cr-grid .wc-block-product:has(.added_to_cart) .wp-block-button.wc-block-components-product-button { position: static; }
.cr-grid .wc-block-product:has(.added_to_cart) .wc-block-components-product-button .wp-block-button__link { position: absolute; right: 0.625rem; bottom: 0.5rem; }
.cr-grid .wc-block-product:has(.added_to_cart) .wc-block-components-product-price { align-items: flex-start; padding-top: 0.75rem; min-height: 5rem; }
.cr-grid .wc-block-components-product-button .added_to_cart { position: absolute; left: 1rem; bottom: 0.75rem; margin: 0; font-size: var(--wp--preset--font-size--xs); font-weight: 500; color: var(--cr-ink); text-decoration: underline; text-underline-offset: 0.25em; white-space: nowrap; }
.cr-grid .wc-block-components-product-button .wp-block-button__link.added::before { mask: var(--cr-done) center/contain no-repeat; -webkit-mask: var(--cr-done) center/contain no-repeat; }
:root { --cr-done: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m5 12.500 4.500 4.500L19 7.500'/%3E%3C/svg%3E"); }
@media (hover: none) {
	.cr-grid .wc-block-product:hover { border-color: var(--cr-line); box-shadow: none; transform: none; }
	.cr-grid .wc-block-product:hover .wc-block-components-product-image img { transform: none; }
}

/* Aviso "Agregado al carrito" */
.cr-added { width: min(26rem, calc(100% - 2rem)); padding: 1.5rem; border: 0; border-radius: var(--cr-radius); background: var(--cr-paper); color: var(--cr-ink); box-shadow: 0 28px 56px -20px rgba(0, 0, 0, 0.35); animation: cr-added-in 0.35s var(--cr-ease); }
.cr-added::backdrop { background: rgba(11, 11, 11, 0.55); }
.cr-added__body { display: flex; align-items: center; gap: 1rem; }
.cr-added__img { flex: none; width: 5.5rem; height: 5.5rem; border-radius: 12px; object-fit: cover; background: var(--cr-stone); }
.cr-added__text { min-width: 0; }
.cr-added__title { margin: 0; font-family: var(--cr-serif); font-size: var(--wp--preset--font-size--lg); font-weight: 300; line-height: 1.2; letter-spacing: -0.01em; }
.cr-added__name { margin: 0.35rem 0 0; font-size: var(--wp--preset--font-size--sm); color: var(--cr-muted); line-height: 1.45; overflow-wrap: anywhere; }
.cr-added__actions { display: grid; gap: 0.625rem; margin-top: 1.5rem; }
.cr-added__continue, .cr-added__pay { display: inline-flex; align-items: center; justify-content: center; box-sizing: border-box; min-height: 3rem; padding: 0 1.5rem; border-radius: 999px; font: inherit; font-size: var(--wp--preset--font-size--sm); font-weight: 500; text-decoration: none; cursor: pointer; transition: background-color 0.25s; }
.cr-added__pay { background: var(--cr-ink); color: var(--cr-paper); border: 1px solid var(--cr-ink); order: -1; }
.cr-added__pay:hover { background: #2a2a28; color: var(--cr-paper); }
.cr-added__continue { background: transparent; color: var(--cr-ink); border: 1px solid var(--cr-ink); }
.cr-added__continue:hover { background: var(--cr-stone); }
@keyframes cr-added-in { from { opacity: 0; transform: translateY(0.75rem); } }
@media (min-width: 480px) {
	.cr-added__actions { grid-template-columns: 1fr 1fr; }
	.cr-added__pay { order: 0; }
}
@media (prefers-reduced-motion: reduce) { .cr-added { animation: none; } }

/* Paginación */
.cr-pagination { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; }
.cr-pagination .wp-block-query-pagination-numbers { display: flex; flex-wrap: nowrap; align-items: center; gap: 0.25rem; }
.cr-pagination .wp-block-query-pagination-previous, .cr-pagination .wp-block-query-pagination-next { display: inline-flex; align-items: center; justify-content: center; gap: 0.5rem; margin: 0; }
.cr-pagination .page-numbers { flex: none; }
@media (max-width: 640px) {
	.cr-pagination { flex-wrap: nowrap; gap: 0.125rem; margin-top: 2rem; }
	.cr-pagination a, .cr-pagination .page-numbers { min-width: 2.5rem; padding: 0 0.5rem; }
	.cr-pagination .wp-block-query-pagination-previous, .cr-pagination .wp-block-query-pagination-next { font-size: 0; gap: 0; padding: 0; width: 2.5rem; background: var(--cr-stone); }
	.cr-pagination .wp-block-query-pagination-previous > span, .cr-pagination .wp-block-query-pagination-next > span { font-size: 1.125rem; margin: 0; }
	.cr-pagination .wp-block-query-pagination-previous { margin-right: 0.375rem; }
	.cr-pagination .wp-block-query-pagination-next { margin-left: 0.375rem; }
}

/* Carrito en móvil */
@media (max-width: 700px) {
	.cr-cart .cr-page__title { font-size: 2rem; margin-bottom: 1rem; }
	.wc-block-cart .wc-block-cart-items__header { display: none; }
	.wc-block-cart table.wc-block-cart-items { display: block; }
	.wc-block-cart table.wc-block-cart-items tbody { display: block; }
	.wc-block-cart .wc-block-cart-items .wc-block-cart-items__row { display: grid; grid-template-columns: 4.75rem minmax(0, 1fr) auto; column-gap: 0.875rem; align-items: start; padding: 1rem 0; border-top: 1px solid var(--cr-line); }
	.wc-block-cart .wc-block-cart-items .wc-block-cart-items__row:first-child { border-top: 0; padding-top: 0.25rem; }
	.wc-block-cart .wc-block-cart-items .wc-block-cart-items__row > td { display: block; border: 0 !important; padding: 0 !important; width: auto; }
	.wc-block-cart .wc-block-cart-item__image { grid-column: 1; grid-row: 1; }
	.wc-block-cart .wc-block-cart-item__image img { width: 4.75rem; height: 4.75rem; border-radius: 12px; }
	.wc-block-cart .wc-block-cart-item__product { grid-column: 2; grid-row: 1; min-width: 0; }
	.wc-block-cart .wc-block-cart-item__total { grid-column: 3; grid-row: 1; text-align: right; font-weight: 600; font-size: 1rem; padding-top: 0.1rem !important; }
	.wc-block-cart .wc-block-cart-item__total .wc-block-components-product-price { font-weight: 600; }
	.wc-block-cart .wc-block-components-product-name { display: block; font-size: 1rem; line-height: 1.3; }
	.wc-block-cart .wc-block-components-product-metadata__description, .wc-block-cart .wc-block-cart-item__product .wc-block-components-product-metadata { display: none; }
	.wc-block-cart .wc-block-cart-item__prices { margin-top: 0.25rem; color: var(--cr-muted); font-size: var(--wp--preset--font-size--xs); }
	.wc-block-cart .wc-block-cart-item__prices .wc-block-components-product-price { font-size: inherit; }
	.wc-block-cart .wc-block-cart-item__quantity { display: flex; align-items: center; gap: 0.75rem; margin-top: 0.75rem; }
	.wc-block-cart .wc-block-components-quantity-selector { height: 2.5rem; width: 7rem; margin: 0; }
	.wc-block-cart .wc-block-components-quantity-selector__input { font-size: 1rem; }
	.wc-block-cart .wc-block-cart-item__remove-link { display: grid; place-items: center; width: 2.5rem; height: 2.5rem; margin: 0; padding: 0; border-radius: 50%; background: var(--cr-stone); }
	.wc-block-cart .wc-block-cart-item__remove-link svg { width: 1.25rem; height: 1.25rem; }
	.wc-block-components-sidebar-layout .wc-block-components-sidebar.wc-block-cart__sidebar { margin-top: 0.5rem; padding: 1.125rem; }
	.wc-block-cart .wc-block-cart__totals-title { display: none; }
	.wc-block-cart .wc-block-cart__submit-container--sticky { padding-bottom: max(0.75rem, env(safe-area-inset-bottom)); }
}
