/* 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; }
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 { position: absolute; z-index: 60; top: calc(100% + 0.75rem); left: 0; width: min(56rem, calc(100vw - 2rem)); background: var(--cr-paper); border: 1px solid var(--cr-line); border-radius: var(--cr-radius); padding: 2rem; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 2rem; 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; font-family: var(--cr-serif); font-weight: 300; font-size: 1.5rem; text-decoration: none; margin-bottom: 0.75rem; }
.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.2rem 0; font-size: var(--wp--preset--font-size--sm); color: var(--cr-muted); text-decoration: none; transition: color 0.2s; }
.cr-allcats__panel li a:hover { color: var(--cr-ink); }
.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; }

/* ---------- Hero (slider) ---------- */
.cr-hero { position: relative; border-radius: 24px; overflow: hidden; background: var(--cr-ink); margin-top: 1.25rem; isolation: isolate; }
.cr-hero.cr-section { margin-top: 1.25rem; }
.cr-hero__track { list-style: none; margin: 0; padding: 0; position: relative; height: clamp(31rem, 72vh, 42rem); }
.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__bg { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: 70% 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, 0.45) 0%, rgba(8, 8, 8, 0) 55%); }
.cr-slide--light::after { background: linear-gradient(90deg, rgba(255, 255, 255, 0.35) 0%, rgba(255, 255, 255, 0) 55%); }
.cr-slide__copy { position: absolute; left: 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: 1.25rem; bottom: 50%; transform: translateY(50%); }
.cr-hero__arrow--next { position: absolute; right: 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 (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; }
	.cr-cats ul { grid-template-columns: repeat(5, minmax(0, 1fr)); row-gap: 1.5rem; }
	.cr-trust { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 900px) {
	.cr-hero__track { height: clamp(33rem, 78vh, 40rem); }
	.cr-slide__copy { top: 2rem; transform: none; max-width: none; right: 1.5rem; left: 1.5rem; gap: 1rem; }
	.cr-slide__title { font-size: clamp(2.1rem, 8.5vw, 3rem); }
	.cr-slide__bg { object-position: 78% 100%; }
	.cr-slide::after { background: linear-gradient(180deg, rgba(8, 8, 8, 0.7) 0%, rgba(8, 8, 8, 0) 62%); }
	.cr-slide--light::after { background: linear-gradient(180deg, rgba(255, 255, 255, 0.78) 0%, rgba(255, 255, 255, 0) 62%); }
	.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; }
	.cr-search { order: 3; flex-basis: 100%; max-width: none; }
	.cr-header__bar { flex-wrap: wrap !important; padding-bottom: 0.5rem; }
	.cr-header__actions { margin-left: auto; }
	.cr-nav { display: flex; overflow-x: auto; scrollbar-width: none; padding-bottom: 0.75rem; }
	.cr-nav::-webkit-scrollbar { display: none; }
	.cr-nav__links { flex: none; }
	.cr-nav__links a { white-space: nowrap; }
	.cr-nav__track { display: none; }
	.cr-allcats__panel { position: fixed; top: auto; left: 1rem; right: 1rem; width: auto; grid-template-columns: 1fr; max-height: 70vh; overflow-y: auto; }
}
@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-cats ul { grid-template-columns: repeat(4, minmax(0, 1fr)); }
	.cr-trust { grid-template-columns: 1fr; }
	.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; }

/* 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-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); }

/* 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__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-assure { list-style: none; padding: 1rem 0 0; margin: 0; display: grid; gap: 0.6rem; border-top: 1px solid var(--cr-line); font-size: var(--wp--preset--font-size--sm); color: var(--cr-muted); }
.cr-assure li { display: flex; align-items: center; gap: 0.75rem; }
.cr-assure .cr-icon { 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-filters { position: static; }
	.cr-filters > summary { display: inline-flex; align-items: center; gap: 0.6rem; cursor: pointer; padding: 0.7rem 1.25rem; border-radius: 999px; background: var(--cr-ink); color: var(--cr-paper); font-weight: 500; font-size: var(--wp--preset--font-size--sm); list-style: none; margin-bottom: 1.25rem; }
	.cr-filters > summary::-webkit-details-marker { display: none; }
	.cr-filters:not([open]) > summary { margin-bottom: 0; }
	.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); }
}

/* 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: 3.25rem; font-weight: 500; font-size: var(--wp--preset--font-size--base); padding-inline: 2rem; 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 { border-radius: 14px; border-width: 1px; background: var(--cr-stone); }
.wc-block-components-notice-banner.is-error { background: #fdf0ee; border-color: #b3261e; }
.wc-block-components-notice-banner.is-success { border-color: var(--cr-ink); }

/* 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-stone); padding: 1.5rem; }
.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; }
}
/* ============================================================
   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(1000px, 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(1000px, 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; }
.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; }