/* ==========================================================================
   SymStudio — ajustes finos sobre WooCommerce (markup clásico) y bloques.
   Los tokens (colores, tipografía, espaciado) viven en theme.json.
   ========================================================================== */

body.symstudio-branded-checkout {
	background:
		radial-gradient(120% 120% at 50% 0%, rgba(142, 108, 240, .12) 0%, rgba(142, 108, 240, 0) 55%),
		linear-gradient(180deg, #ffffff 0%, var(--sym-base) 100%);
}
body.symstudio-branded-checkout .symstudio-announce,
body.symstudio-branded-checkout .symstudio-header,
body.symstudio-branded-checkout .wp-site-blocks > header,
body.symstudio-branded-checkout .wp-site-blocks > .wp-block-template-part[aria-label="Header"] {
	display: none;
}
body.symstudio-branded-checkout .wp-site-blocks > main.wp-block-group {
	width: min(calc(100% - 2.5rem), 1280px);
	padding-top: 0 !important;
	margin-inline: auto;
}
body.symstudio-branded-checkout .wp-block-post-title,
body.symstudio-branded-checkout .wp-block-post-featured-image {
	display: none;
}
body.symstudio-branded-checkout .wp-block-post-content {
	display: grid;
	gap: 1.5rem;
	width: 100%;
	max-width: 1280px;
	margin-inline: auto;
}
body.symstudio-branded-checkout .wp-block-post-content.is-layout-constrained > :where(:not(.alignleft):not(.alignright):not(.alignfull)) {
	max-width: 100%;
}

.symstudio-checkout-branding {
	position: relative;
	overflow: hidden;
	display: grid;
	gap: .4rem;
	padding: clamp(.85rem, 2vw, 1.2rem) clamp(1rem, 2.4vw, 1.5rem);
	border: 1px solid rgba(255, 255, 255, .08);
	border-radius: 4px;
	background:
		radial-gradient(120% 120% at 0% 0%, rgba(169, 139, 245, .24) 0%, rgba(169, 139, 245, 0) 42%),
		linear-gradient(135deg, #232329 0%, #17171B 100%);
	color: var(--sym-surface);
	box-shadow: 0 28px 56px -36px rgba(23, 23, 27, .55);
}
.symstudio-checkout-branding::after {
	content: "";
	position: absolute;
	inset: auto -12% -30% auto;
	width: 220px;
	height: 220px;
	border-radius: 4px;
	background: rgba(255, 255, 255, .05);
	filter: blur(6px);
	pointer-events: none;
}
.symstudio-checkout-branding__topline,
.symstudio-checkout-branding__content {
	position: relative;
	z-index: 1;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 1rem 1.5rem;
}
.symstudio-checkout-branding__logo {
	display: inline-flex;
	align-items: center;
}
.symstudio-checkout-branding__logo .custom-logo-link,
.symstudio-checkout-branding__wordmark {
	display: inline-flex;
	align-items: center;
	text-decoration: none;
}
.symstudio-checkout-branding__logo .custom-logo-link {
	padding: .55rem .8rem;
	border-radius: 4px;
	background: rgba(255, 255, 255, .96);
	box-shadow: inset 0 0 0 1px rgba(23, 23, 27, .06);
}
.symstudio-checkout-branding__logo .custom-logo {
	max-height: 42px;
	width: auto;
}
.symstudio-checkout-branding__wordmark {
	font-family: var(--wp--preset--font-family--display);
	font-size: clamp(1.25rem, 3vw, 1.55rem);
	font-weight: 700;
	letter-spacing: -.03em;
	color: var(--sym-surface);
}
.symstudio-checkout-branding__pill,
.symstudio-checkout-branding__eyebrow,
.symstudio-checkout-branding__highlight {
	margin: 0;
	font-size: .78rem;
	font-weight: 600;
	letter-spacing: .12em;
	text-transform: uppercase;
}
.symstudio-checkout-branding__pill {
	padding: .55rem .8rem;
	border: 1px solid rgba(255, 255, 255, .12);
	border-radius: 4px;
	background: rgba(255, 255, 255, .06);
	color: #efe9fe;
}
.symstudio-checkout-branding__copy {
	max-width: 700px;
}
.symstudio-checkout-branding__eyebrow {
	color: #c9b8ff;
}
.symstudio-checkout-branding__title {
	margin: 0;
	font-size: clamp(1.25rem, 2.6vw, 1.7rem);
	line-height: 1.1;
	color: var(--sym-surface);
}
.symstudio-checkout-branding__description {
	max-width: 52ch;
	margin: 0;
	font-size: 1rem;
	line-height: 1.6;
	color: rgba(255, 255, 255, .78);
}
.symstudio-checkout-branding__highlights {
	display: grid;
	gap: .65rem;
	margin: 0;
	padding: 0;
	list-style: none;
}
.symstudio-checkout-branding__highlight {
	display: inline-flex;
	align-items: center;
	gap: .55rem;
	padding: .8rem 1rem;
	border-radius: 4px;
	background: rgba(255, 255, 255, .08);
	color: var(--sym-surface);
	letter-spacing: .08em;
}
.symstudio-checkout-branding__highlight::before {
	content: "";
	width: 9px;
	height: 9px;
	border-radius: 4px;
	background: #a98bf5;
	box-shadow: 0 0 0 4px rgba(169, 139, 245, .16);
}

body.symstudio-branded-checkout .woocommerce form.checkout,
body.symstudio-branded-checkout .wc-block-checkout {
	margin-top: 0;
}

/* Checkout clásico. */
body.symstudio-branded-checkout .woocommerce-checkout form.checkout.woocommerce-checkout {
	display: grid;
	grid-template-columns: minmax(0, 1.08fr) minmax(320px, .92fr);
	gap: 1rem 1.5rem;
	align-items: start;
}
body.symstudio-branded-checkout .woocommerce-checkout .col2-set {
	display: grid;
	gap: 1.5rem;
	width: auto;
	margin: 0;
	float: none;
}
body.symstudio-branded-checkout .woocommerce-checkout .col2-set .col-1,
body.symstudio-branded-checkout .woocommerce-checkout .col2-set .col-2,
body.symstudio-branded-checkout .woocommerce-checkout #customer_details,
body.symstudio-branded-checkout .woocommerce-checkout #order_review {
	width: auto;
	float: none;
}
body.symstudio-branded-checkout .woocommerce-checkout .woocommerce-billing-fields,
body.symstudio-branded-checkout .woocommerce-checkout .woocommerce-shipping-fields,
body.symstudio-branded-checkout .woocommerce-checkout .woocommerce-additional-fields,
body.symstudio-branded-checkout .woocommerce-checkout #order_review,
body.symstudio-branded-checkout .woocommerce-checkout .woocommerce-checkout-review-order-table,
body.symstudio-branded-checkout .woocommerce-checkout #payment {
	background: var(--sym-surface);
	border: 1px solid var(--sym-hairline);
	border-radius: 4px;
	box-shadow: 0 24px 48px -34px rgba(23, 23, 27, .22);
}
body.symstudio-branded-checkout .woocommerce-checkout .woocommerce-billing-fields,
body.symstudio-branded-checkout .woocommerce-checkout .woocommerce-shipping-fields,
body.symstudio-branded-checkout .woocommerce-checkout .woocommerce-additional-fields,
body.symstudio-branded-checkout .woocommerce-checkout #payment {
	padding: 1.4rem;
}
body.symstudio-branded-checkout .woocommerce-checkout #order_review_heading {
	margin: 0 0 .85rem;
	font-family: var(--wp--preset--font-family--display);
	font-size: 1.4rem;
	letter-spacing: -.03em;
}
body.symstudio-branded-checkout .woocommerce-checkout #order_review {
	padding: 1.1rem;
}
body.symstudio-branded-checkout .woocommerce-checkout .woocommerce-checkout-review-order-table {
	border-collapse: separate;
	border-spacing: 0;
	overflow: hidden;
	margin: 0 0 1rem;
}
body.symstudio-branded-checkout .woocommerce-checkout .shop_table th,
body.symstudio-branded-checkout .woocommerce-checkout .shop_table td {
	padding: .95rem 1.1rem;
	border-color: var(--sym-hairline);
}
body.symstudio-branded-checkout .woocommerce-checkout .shop_table thead th,
body.symstudio-branded-checkout .woocommerce-checkout .shop_table tfoot th,
body.symstudio-branded-checkout .woocommerce-checkout .shop_table tfoot td {
	font-size: .85rem;
	font-weight: 600;
	letter-spacing: .08em;
	text-transform: uppercase;
	color: var(--sym-muted);
}
body.symstudio-branded-checkout .woocommerce-checkout .shop_table .product-total,
body.symstudio-branded-checkout .woocommerce-checkout .shop_table .order-total td {
	font-weight: 700;
	color: var(--sym-ink);
}
body.symstudio-branded-checkout .woocommerce-checkout .woocommerce-checkout-payment ul.payment_methods {
	border-bottom: 1px solid var(--sym-hairline);
}
body.symstudio-branded-checkout .woocommerce-checkout .payment_methods > li {
	padding: .95rem 0;
}
body.symstudio-branded-checkout .woocommerce-checkout .payment_box {
	margin-top: .85rem !important;
	border: 1px solid rgba(142, 108, 240, .14);
	border-radius: 4px;
	background: linear-gradient(180deg, #ffffff 0%, #faf7ff 100%) !important;
}
body.symstudio-branded-checkout .woocommerce-checkout .form-row {
	margin-bottom: 1rem;
}
body.symstudio-branded-checkout .woocommerce-checkout .form-row label {
	margin-bottom: .4rem;
	font-size: .78rem;
	font-weight: 600;
	letter-spacing: .08em;
	text-transform: uppercase;
	color: var(--sym-muted);
}
body.symstudio-branded-checkout .woocommerce-checkout input.input-text,
body.symstudio-branded-checkout .woocommerce-checkout select,
body.symstudio-branded-checkout .woocommerce-checkout textarea {
	min-height: 52px;
	padding: .85rem 1rem;
	border: 1px solid #ddd9cf;
	border-radius: 4px;
	background: #fff;
	box-shadow: inset 0 1px 0 rgba(255, 255, 255, .88);
	color: var(--sym-ink);
	font: inherit;
}
body.symstudio-branded-checkout .woocommerce-checkout textarea {
	min-height: 120px;
	resize: vertical;
}
body.symstudio-branded-checkout .woocommerce-checkout input.input-text:focus,
body.symstudio-branded-checkout .woocommerce-checkout select:focus,
body.symstudio-branded-checkout .woocommerce-checkout textarea:focus,
body.symstudio-branded-checkout .symstudio-commune-select:focus {
	outline: none;
	border-color: rgba(142, 108, 240, .62);
	box-shadow: 0 0 0 4px rgba(142, 108, 240, .12);
}
body.symstudio-branded-checkout .woocommerce-checkout .select2-container--default .select2-selection--single,
body.symstudio-branded-checkout .woocommerce-checkout .select2-container--default .select2-selection--multiple,
body.symstudio-branded-checkout .symstudio-commune-select {
	min-height: 52px;
	border: 1px solid #ddd9cf;
	border-radius: 4px;
	background: #fff;
}
body.symstudio-branded-checkout .woocommerce-checkout .select2-container--default .select2-selection--single .select2-selection__rendered {
	line-height: 50px;
	padding-left: 1rem;
	color: var(--sym-ink);
}
body.symstudio-branded-checkout .woocommerce-checkout .select2-container--default .select2-selection--single .select2-selection__arrow {
	height: 50px;
	right: .65rem;
}
body.symstudio-branded-checkout .woocommerce-checkout .woocommerce-shipping-fields {
	margin-top: 0;
}
body.symstudio-branded-checkout .woocommerce-checkout .place-order {
	padding-top: 1rem;
}
body.symstudio-branded-checkout .woocommerce-checkout #place_order {
	width: 100%;
	min-height: 54px;
	border-radius: 4px;
	background: linear-gradient(135deg, var(--sym-accent) 0%, #7456d8 100%);
	box-shadow: 0 22px 36px -24px rgba(142, 108, 240, .58);
}
body.symstudio-branded-checkout .woocommerce-checkout #place_order:hover {
	background: linear-gradient(135deg, #9d7dff 0%, #7f5fe4 100%);
}
body.symstudio-branded-checkout .woocommerce-checkout .required {
	color: var(--sym-accent);
}

/* Checkout por bloques. */
body.symstudio-branded-checkout .wc-block-checkout {
	width: 100%;
	max-width: none;
}
body.symstudio-branded-checkout .wp-block-woocommerce-checkout,
body.symstudio-branded-checkout .wc-block-components-sidebar-layout {
	width: 100%;
	max-width: none;
}
body.symstudio-branded-checkout .wc-block-components-sidebar-layout {
	display: grid;
	grid-template-columns: minmax(0, 1.08fr) minmax(320px, .92fr);
	gap: 1rem 1.5rem;
	align-items: start;
	margin: 0;
}
body.symstudio-branded-checkout .wc-block-components-main,
body.symstudio-branded-checkout .wc-block-checkout__main,
body.symstudio-branded-checkout .wc-block-checkout__sidebar,
body.symstudio-branded-checkout .wc-block-components-sidebar {
	margin: 0;
	padding: 0;
	width: auto;
}
body.symstudio-branded-checkout .wc-block-checkout__sidebar {
	position: sticky;
	top: 108px;
}
body.symstudio-branded-checkout .wc-block-components-checkout-step,
body.symstudio-branded-checkout .wc-block-components-order-summary,
body.symstudio-branded-checkout .wc-block-checkout__sidebar .wc-block-components-totals-wrapper,
body.symstudio-branded-checkout .wc-block-components-address-card,
body.symstudio-branded-checkout .wc-block-components-express-payment {
	padding: 1rem;
	border: 1px solid var(--sym-hairline);
	border-radius: 4px;
	background: var(--sym-surface);
	box-shadow: 0 10px 26px -22px rgba(23, 23, 27, .18);
}
body.symstudio-branded-checkout .wc-block-components-order-summary {
	padding-bottom: .4rem;
}
body.symstudio-branded-checkout .wc-block-components-checkout-step__heading,
body.symstudio-branded-checkout .wc-block-components-title {
	font-family: var(--wp--preset--font-family--display);
	letter-spacing: -.02em;
}
body.symstudio-branded-checkout .wc-block-components-checkout-step__description,
body.symstudio-branded-checkout .wc-block-components-order-summary .wc-block-components-panel__button {
	color: var(--sym-muted);
}
body.symstudio-branded-checkout .wc-block-components-text-input input,
body.symstudio-branded-checkout .wc-block-components-text-input.is-active input,
body.symstudio-branded-checkout .wc-block-components-text-input input:-webkit-autofill,
body.symstudio-branded-checkout .wc-block-components-select .wc-block-components-select__container,
body.symstudio-branded-checkout .wc-block-components-textarea,
body.symstudio-branded-checkout .wc-block-components-combobox .wc-block-components-combobox-control input.components-combobox-control__input {
	min-height: 44px;
	padding: .55rem .8rem;
	border: 1px solid #ddd9cf;
	border-radius: 4px !important;
	background: #fff;
	box-shadow: inset 0 1px 0 rgba(255, 255, 255, .88);
}
body.symstudio-branded-checkout .wc-block-components-text-input.is-active input,
body.symstudio-branded-checkout .wc-block-components-select .wc-block-components-select__container:focus-within,
body.symstudio-branded-checkout .wc-block-components-textarea:focus-within,
body.symstudio-branded-checkout .wc-block-components-combobox .wc-block-components-combobox-control input.components-combobox-control__input:focus {
	border-color: rgba(142, 108, 240, .62);
	box-shadow: 0 0 0 4px rgba(142, 108, 240, .12);
}
body.symstudio-branded-checkout .wc-block-components-form .wc-block-components-text-input label,
body.symstudio-branded-checkout .wc-block-components-form .wc-block-components-select label {
	font-size: .78rem;
	font-weight: 600;
	letter-spacing: .08em;
	text-transform: uppercase;
	color: var(--sym-muted);
}
body.symstudio-branded-checkout .wc-block-components-radio-control__option,
body.symstudio-branded-checkout .wc-block-components-order-summary-item {
	border-color: var(--sym-hairline);
}
body.symstudio-branded-checkout .wc-block-components-order-summary-item__quantity {
	background: var(--sym-accent-soft);
	color: var(--sym-accent);
	box-shadow: none;
}
body.symstudio-branded-checkout .wc-block-components-totals-item__label,
body.symstudio-branded-checkout .wc-block-components-totals-footer-item .wc-block-components-totals-item__label {
	font-size: .78rem;
	font-weight: 600;
	letter-spacing: .08em;
	text-transform: uppercase;
	color: var(--sym-muted);
}
body.symstudio-branded-checkout .wc-block-components-totals-footer-item .wc-block-components-totals-item__value,
body.symstudio-branded-checkout .wc-block-components-order-summary-item__total-price {
	font-weight: 700;
	color: var(--sym-ink);
}
body.symstudio-branded-checkout .wc-block-components-button:not(.is-link) {
	min-height: 46px;
	border: 0;
	border-radius: 4px !important;
	background: linear-gradient(135deg, var(--sym-accent) 0%, #7456d8 100%);
	box-shadow: 0 12px 22px -18px rgba(142, 108, 240, .5);
}
body.symstudio-branded-checkout .wc-block-components-button:not(.is-link):hover {
	background: linear-gradient(135deg, #9d7dff 0%, #7f5fe4 100%);
}
body.symstudio-branded-checkout .wc-block-components-checkout-place-order-button {
	width: 100%;
}

/* ==========================================================================
   SymStudio — ajustes finos sobre WooCommerce (markup clásico) y bloques.
   Los tokens (colores, tipografía, espaciado) viven en theme.json.
   ========================================================================== */

:root {
	--sym-ink: var(--wp--preset--color--ink, #17171B);
	--sym-muted: var(--wp--preset--color--muted, #73737B);
	--sym-base: var(--wp--preset--color--base, #FAFAF8);
	--sym-surface: var(--wp--preset--color--surface, #FFFFFF);
	--sym-hairline: var(--wp--preset--color--hairline, #E8E6E0);
	--sym-accent: var(--wp--preset--color--accent, #8E6CF0);
	--sym-accent-soft: var(--wp--preset--color--accent-soft, #EFE9FE);
	--sym-radius: 4px;
	--sym-radius-sm: 4px;
}

/* Selección de texto en el acento de marca. */
::selection { background: var(--sym-accent); color: #fff; }

/* Imágenes nunca se desbordan. */
img { max-width: 100%; height: auto; }

/* --------------------------------------------------------------------------
   Header
   -------------------------------------------------------------------------- */
.symstudio-header { position: sticky; top: 0; z-index: 100; backdrop-filter: saturate(1.1) blur(6px); }
.symstudio-header .wp-block-navigation a { transition: color .15s ease; }
.symstudio-header .alignwide {
	display: flex;
	align-items: center;
	gap: 1.5rem;
}
.symstudio-header__brand,
.symstudio-header .alignwide > .wp-block-group:first-child {
	flex: 0 1 auto;
	min-width: 0;
}
.symstudio-header__brand .wp-block-site-logo,
.symstudio-header .alignwide > .wp-block-group:first-child .wp-block-site-logo {
	flex: 0 0 auto;
}
.symstudio-header__brand .wp-block-site-title,
.symstudio-header .alignwide > .wp-block-group:first-child .wp-block-site-title {
	min-width: 0;
	margin: 0;
	line-height: 1.1;
}
.symstudio-header__brand .wp-block-site-title a,
.symstudio-header .alignwide > .wp-block-group:first-child .wp-block-site-title a {
	display: block;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}
.symstudio-header .wp-block-navigation {
	flex: 1 1 auto;
	justify-content: center;
}
.symstudio-header__actions {
	display: flex;
	align-items: center;
	gap: 1rem;
	margin-left: auto;
}

/* Mini-cart: que el icono herede la tinta. */
.symstudio-header .wc-block-mini-cart__button,
.symstudio-header .wc-block-customer-account a {
	color: var(--sym-ink);
}
.symstudio-header .wc-block-mini-cart,
.symstudio-header .wc-block-customer-account {
	margin: 0;
}
.symstudio-header .wc-block-mini-cart__button,
.symstudio-header .wc-block-customer-account a,
.symstudio-header .wp-block-navigation__responsive-container-open,
.symstudio-header .wp-block-navigation__responsive-container-close {
	min-width: 44px;
	min-height: 44px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border-radius: 4px;
}
.symstudio-header .wp-block-navigation__responsive-container-open,
.symstudio-header .wp-block-navigation__responsive-container-close {
	padding: 0;
	color: var(--sym-ink);
	background: var(--sym-surface);
	border: 1px solid var(--sym-hairline);
}
.symstudio-header .wp-block-navigation__responsive-container-open svg,
.symstudio-header .wp-block-navigation__responsive-container-close svg {
	width: 24px;
	height: 24px;
}
.symstudio-header .wp-block-navigation__responsive-container-open {
	display: none;
}

/* --------------------------------------------------------------------------
   Slider / carrusel (mejora progresiva).
   Sin JS los slides quedan apilados y editables. Con JS (.is-enhanced) se
   convierte en carrusel deslizable con flechas y puntos.
   -------------------------------------------------------------------------- */
.symstudio-slider.is-enhanced {
	position: relative;
	overflow: hidden;
}
/* A todo el ancho no van bordes redondeados (ni el slider ni sus slides Cover). */
.symstudio-slider.is-enhanced,
.symstudio-slider .wp-block-cover { border-radius: 0; }
/* La imagen de fondo del Cover siempre cubre el slide. */
.symstudio-slider .wp-block-cover__image-background {
	object-fit: cover;
	width: 100%;
	height: 100%;
}
/* Slide clicable: el botón/enlace marcado con "slide-link" solo aporta la URL;
   el JS crea la capa .symstudio-slide__link que cubre toda la imagen. */
.symstudio-slider .slide-link { display: none !important; }
.symstudio-slider .symstudio-slide__link {
	position: absolute;
	inset: 0;
	z-index: 3;
	display: block;
}
.symstudio-slider__track {
	display: flex;
	will-change: transform;
	transition: transform .5s cubic-bezier(.4, 0, .2, 1);
	/* El gesto horizontal lo maneja el JS; el vertical sigue haciendo scroll. */
	touch-action: pan-y;
}
.symstudio-slider.is-dragging .symstudio-slider__track { transition: none; }
.symstudio-slider.is-dragging { cursor: grabbing; user-select: none; }
.symstudio-slider.is-enhanced .symstudio-slide {
	flex: 0 0 100%;
	width: 100%;
	margin: 0;
}
@media (prefers-reduced-motion: reduce) {
	.symstudio-slider__track { transition: none; }
}

/* Flechas */
.symstudio-slider__arrow {
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	z-index: 6;
	width: 46px;
	height: 46px;
	display: grid;
	place-items: center;
	padding: 0;
	border-radius: 4px;
	cursor: pointer;
	color: var(--sym-ink);
	background: rgba(255,255,255,.82);
	border: 1px solid rgba(255,255,255,.6);
	backdrop-filter: blur(6px);
	transition: background-color .15s ease, transform .15s ease, opacity .15s ease;
}
.symstudio-slider__arrow:hover { background: #fff; transform: translateY(-50%) scale(1.06); }
.symstudio-slider__arrow:focus-visible { outline: 2px solid var(--sym-accent); outline-offset: 2px; }
.symstudio-slider__arrow--prev { left: 1.1rem; }
.symstudio-slider__arrow--next { right: 1.1rem; }

/* Puntos */
.symstudio-slider__dots {
	position: absolute;
	left: 0;
	right: 0;
	bottom: 1.2rem;
	z-index: 6;
	display: flex;
	gap: .5rem;
	justify-content: center;
}
.symstudio-slider__dot {
	width: 8px;
	height: 8px;
	padding: 0;
	border: 0;
	border-radius: 4px;
	cursor: pointer;
	background: rgba(255,255,255,.55);
	transition: width .25s ease, background-color .25s ease;
}
.symstudio-slider__dot.is-active { width: 26px; background: #fff; }
.symstudio-slider__dot:focus-visible { outline: 2px solid #fff; outline-offset: 2px; }

@media (max-width: 600px) {
	.symstudio-slider__arrow { width: 38px; height: 38px; }
	.symstudio-slider__arrow--prev { left: .6rem; }
	.symstudio-slider__arrow--next { right: .6rem; }
}

/* --------------------------------------------------------------------------
   Botones: variante "outline" coherente con la marca.
   -------------------------------------------------------------------------- */
.wp-block-button.is-style-outline .wp-block-button__link {
	border-radius: 4px;
	font-weight: 600;
	transition: border-color .15s ease, color .15s ease, background-color .15s ease;
}
.wp-block-button.is-style-outline .wp-block-button__link:hover {
	border-color: var(--sym-ink) !important;
	background: var(--sym-ink);
	color: var(--sym-surface) !important;
}

/* ==========================================================================
   WOOCOMMERCE
   ========================================================================== */

/* Tipografía heredada del tema. */
.woocommerce, .woocommerce-page { font-family: var(--wp--preset--font-family--body); }

/* --- Barra superior de la tienda: contador + orden ------------------------ */
.woocommerce-result-count {
	color: var(--sym-muted);
	font-size: .9rem;
	margin: 0;
}
.woocommerce-ordering select,
.woocommerce .woocommerce-ordering .orderby {
	appearance: none;
	-webkit-appearance: none;
	border: 1px solid var(--sym-hairline);
	border-radius: 4px;
	background: var(--sym-surface);
	padding: .55rem 2.4rem .55rem 1.1rem;
	font-size: .9rem;
	color: var(--sym-ink);
	cursor: pointer;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1.5L6 6.5L11 1.5' stroke='%2317171B' stroke-width='1.5' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: right 1rem center;
}

/* --- Grilla de productos -------------------------------------------------- */
.woocommerce ul.products,
.woocommerce-page ul.products {
	display: grid;
	/* Tarjetas de ~230px: la grilla calcula cuántas caben (más chicas que antes).
	   Con auto-fill, un solo producto ocupa una celda y NO se estira a todo el ancho. */
	grid-template-columns: repeat(auto-fill, minmax(min(100%, 230px), 1fr));
	gap: 2rem 1.75rem;
	margin: 0;
	padding: 0;
	list-style: none;
	max-width: 100%;
}

/* WooCommerce añade pseudo-elementos clearfix que, dentro de una grilla, se
   vuelven celdas y descolocan los productos. Los anulamos. */
.woocommerce ul.products::before,
.woocommerce ul.products::after { content: none; display: none; }

.woocommerce ul.products li.product,
.woocommerce-page ul.products li.product {
	width: auto !important;
	margin: 0 !important;
	float: none !important;
	display: flex;
	flex-direction: column;
	text-align: left;
	position: relative;
	min-width: 0;
	max-width: 100%;
}
.woocommerce ul.products li.product > p,
.woocommerce-page ul.products li.product > p {
	margin: 0;
}
.woocommerce ul.products li.product .woocommerce-LoopProduct-link,
.woocommerce-page ul.products li.product .woocommerce-LoopProduct-link {
	display: flex;
	flex-direction: column;
	min-width: 0;
	color: inherit;
}
.woocommerce ul.products li.product a,
.woocommerce-page ul.products li.product a {
	min-width: 0;
	overflow-wrap: anywhere;
}
.woocommerce ul.products li.product .woocommerce-LoopProduct-link br,
.woocommerce-page ul.products li.product .woocommerce-LoopProduct-link br,
.woocommerce ul.products li.product br,
.woocommerce-page ul.products li.product br {
	display: none;
}

/* Imagen del producto en tarjeta. */
.woocommerce ul.products li.product a img {
	display: block;
	box-sizing: border-box;
	width: 100%;
	border-radius: var(--sym-radius);
	background: var(--sym-surface);
	border: 1px solid var(--sym-hairline);
	aspect-ratio: 1 / 1;
	object-fit: cover;
	margin-bottom: 1rem;
	transition: transform .35s ease, box-shadow .25s ease;
}
.woocommerce ul.products li.product:hover a img {
	transform: translateY(-4px);
	box-shadow: 0 18px 40px -22px rgba(23,23,27,.4);
}

/* Título y precio. */
.woocommerce ul.products li.product .woocommerce-loop-product__title {
	font-family: var(--wp--preset--font-family--display);
	font-size: 1.02rem;
	font-weight: 600;
	line-height: 1.3;
	color: var(--sym-ink);
	padding: 0;
	margin: 0 0 .35rem;
	min-height: calc(1.3em * 3);
	display: -webkit-box;
	overflow: hidden;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 3;
	overflow-wrap: anywhere;
}
.woocommerce ul.products li.product .price {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	gap: .15rem .4rem;
	min-height: 2.8rem;
	color: var(--sym-ink);
	font-weight: 600;
	font-size: 1rem;
	margin-bottom: .85rem;
}
.woocommerce ul.products li.product .price del { color: var(--sym-muted); font-weight: 400; margin-right: 0; }
.woocommerce ul.products li.product .price ins { text-decoration: none; }

/* Categoría sobre el título (si el theme la muestra). */
.woocommerce ul.products li.product .woocommerce-loop-category__title { color: var(--sym-muted); }

/* Botón "añadir al carrito" en la tarjeta. */
.woocommerce ul.products li.product .button,
.woocommerce a.button.add_to_cart_button {
	margin-top: auto;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	align-self: flex-start;
	box-sizing: border-box;
	max-width: 100%;
	min-height: 44px;
	background: var(--sym-ink);
	color: var(--sym-surface);
	border-radius: 4px;
	padding: .6rem 1.25rem;
	font-size: .85rem;
	font-weight: 600;
	border: 0;
	transition: background-color .15s ease, transform .1s ease;
	white-space: normal;
	text-align: center;
	overflow-wrap: anywhere;
}
.woocommerce ul.products li.product .button:hover,
.woocommerce a.button.add_to_cart_button:hover {
	background: var(--sym-accent);
	color: var(--sym-surface);
}
.woocommerce ul.products li.product .added_to_cart {
	margin-top: .5rem;
	font-size: .8rem;
	color: var(--sym-muted);
}

.symstudio-products {
	max-width: 100%;
	overflow-x: clip;
}
.symstudio-products * {
	box-sizing: border-box;
}
.symstudio-products .woocommerce,
.symstudio-products ul.products {
	max-width: 100%;
	overflow-x: clip;
}
.symstudio-products ul.products li.product {
	height: 100%;
}
.symstudio-products ul.products li.product .button,
.symstudio-products a.button.add_to_cart_button {
	width: 100%;
	align-self: stretch;
}
.symstudio-products ul.products li.product .added_to_cart {
	display: inline-flex;
	justify-content: center;
	width: 100%;
}

/* Insignia de oferta. */
.woocommerce span.onsale {
	background: var(--sym-accent);
	color: #fff;
	border-radius: 4px;
	font-size: .72rem;
	font-weight: 600;
	letter-spacing: .02em;
	padding: .3rem .7rem;
	min-height: 0;
	min-width: 0;
	line-height: 1.2;
	top: .75rem;
	left: .75rem;
	right: auto;
	margin: 0;
}

/* --- Grilla de CATEGORÍAS (shortcode [product_categories]) ----------------- */
.symstudio-categories ul.products li.product-category a img {
	aspect-ratio: 4 / 3;
}
.symstudio-categories ul.products li.product-category h2.woocommerce-loop-category__title {
	font-family: var(--wp--preset--font-family--display);
	font-size: 1.1rem;
	font-weight: 600;
	color: var(--sym-ink);
}
.symstudio-categories ul.products li.product-category .count {
	background: transparent;
	color: var(--sym-muted);
	font-weight: 400;
	padding-left: .35rem;
}

/* --- Paginación ----------------------------------------------------------- */
.woocommerce nav.woocommerce-pagination { margin-top: 3rem; text-align: center; }
.woocommerce nav.woocommerce-pagination ul { border: 0; display: inline-flex; gap: .4rem; }
.woocommerce nav.woocommerce-pagination ul li { border: 0; margin: 0; }
.woocommerce nav.woocommerce-pagination ul li a,
.woocommerce nav.woocommerce-pagination ul li span {
	border: 1px solid var(--sym-hairline);
	border-radius: 4px;
	min-width: 42px;
	height: 42px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 0 .5rem;
	color: var(--sym-ink);
	background: var(--sym-surface);
}
.woocommerce nav.woocommerce-pagination ul li span.current,
.woocommerce nav.woocommerce-pagination ul li a:hover {
	background: var(--sym-ink);
	color: var(--sym-surface);
	border-color: var(--sym-ink);
}

/* ==========================================================================
   PÁGINA DE PRODUCTO
   ========================================================================== */
.woocommerce div.product {
	display: grid;
	grid-template-columns: minmax(0, .92fr) minmax(320px, .78fr);
	gap: 4rem;
	align-items: start;
}
.woocommerce div.product .woocommerce-product-gallery {
	width: 100% !important;
	max-width: 500px;
	margin: 0 auto;
	float: none;
}
.woocommerce div.product .woocommerce-product-gallery__wrapper {
	background: var(--sym-surface);
	border: 1px solid var(--sym-hairline);
	border-radius: var(--sym-radius);
	padding: 1rem;
}
.woocommerce div.product .woocommerce-product-gallery__image:first-child a {
	display: flex;
	align-items: center;
	justify-content: center;
	aspect-ratio: 1 / 1;
	border-radius: var(--sym-radius);
	background: linear-gradient(180deg, #ffffff 0%, #f6f4ef 100%);
}
.woocommerce div.product .woocommerce-product-gallery__image img {
	width: 100%;
	height: 100%;
	object-fit: contain;
	border-radius: var(--sym-radius);
	border: 1px solid var(--sym-hairline);
}
.woocommerce div.product .woocommerce-product-gallery__image:first-child img {
	max-width: 100%;
	max-height: 100%;
}
.woocommerce div.product .flex-control-thumbs {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(72px, 1fr));
	gap: .75rem;
	margin-top: 1rem;
}
.woocommerce div.product .flex-control-thumbs li {
	margin: 0;
	float: none;
	width: auto;
}
.woocommerce div.product .flex-control-thumbs img {
	border-radius: var(--sym-radius-sm);
	border: 1px solid var(--sym-hairline);
	opacity: 1;
}
.woocommerce div.product .summary.entry-summary {
	width: 100% !important;
	max-width: 560px;
	margin: 0;
	padding: 2rem;
	float: none;
	background: var(--sym-surface);
	border: 1px solid var(--sym-hairline);
	border-radius: 4px;
	box-shadow: 0 18px 40px -28px rgba(23, 23, 27, .18);
}

.woocommerce div.product .product_title {
	font-family: var(--wp--preset--font-family--display);
	font-size: clamp(1.8rem, 4vw, 2.6rem);
	line-height: 1.1;
	letter-spacing: -.02em;
	margin: 0 0 1rem;
}
.woocommerce div.product span.onsale {
	position: absolute;
	left: 1rem;
	top: 1rem;
	z-index: 2;
	margin: 0;
	min-height: auto;
	min-width: 0;
	padding: .55rem .85rem;
	border-radius: 4px;
	background: #fff1eb;
	color: #c2410c;
	font-weight: 700;
	line-height: 1;
	box-shadow: 0 12px 30px -20px rgba(194, 65, 12, .55);
}
.woocommerce div.product p.price,
.woocommerce div.product span.price {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: .65rem 1rem;
	color: var(--sym-ink);
	font-size: 1.35rem;
	font-weight: 600;
	margin: 0 0 1.75rem;
}
.woocommerce div.product p.price del {
	color: var(--sym-muted);
	font-weight: 500;
	font-size: 1rem;
	opacity: .9;
}
.woocommerce div.product p.price ins,
.woocommerce div.product span.price ins {
	padding: .4rem .85rem;
	border-radius: 4px;
	background: var(--sym-accent-soft);
	color: var(--sym-accent);
	font-size: clamp(1.45rem, 3.2vw, 2rem);
	font-weight: 700;
	line-height: 1;
	text-decoration: none;
	box-shadow: inset 0 0 0 1px rgba(142, 108, 240, .12);
}
.woocommerce div.product .woocommerce-product-details__short-description {
	color: var(--sym-muted);
	margin-bottom: 1.5rem;
	font-size: 1.02rem;
}

/* Cantidad + botón comprar. */
.woocommerce div.product form.cart {
	display: flex;
	flex-direction: column;
	gap: .75rem;
	margin-bottom: 1.5rem;
	padding: 1rem;
	background: var(--sym-base);
	border: 1px solid var(--sym-hairline);
	border-radius: 4px;
}
/* Producto simple: cantidad + botón en fila. El botón usa flex-basis 200px
   (pensado para fila); en el contenedor en columna eso inflaba su alto. */
.woocommerce div.product form.cart:has(> .single_add_to_cart_button) {
	flex-direction: row;
	flex-wrap: wrap;
	align-items: center;
}
.woocommerce div.product form.cart table.variations { margin: 0; }
.woocommerce div.product form.cart table.variations tr {
	display: flex;
	align-items: center;
	gap: .75rem;
}
.woocommerce div.product form.cart table.variations th,
.woocommerce div.product form.cart table.variations td {
	padding-bottom: .55rem;
	vertical-align: middle;
}
.woocommerce div.product form.cart table.variations th.label {
	flex: 0 0 84px;
	margin: 0;
	padding-right: 0;
}
.woocommerce div.product form.cart table.variations th.label label {
	display: block;
	line-height: 1.2;
	margin: 0;
	font-size: .93rem;
}
.woocommerce div.product form.cart table.variations td.value {
	flex: 1 1 auto;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: .6rem;
	margin: 0;
	padding-left: 0;
}
.woocommerce .quantity .qty {
	border: 1px solid #d7d3c8;
	border-radius: 4px;
	padding: .6rem .7rem;
	width: 4.35rem;
	min-height: 42px;
	text-align: center;
	background: #fff;
	color: var(--sym-ink);
	font-weight: 600;
	box-shadow: inset 0 1px 0 rgba(255, 255, 255, .85);
	font-size: .95rem;
}
.woocommerce .quantity .qty:focus {
	outline: none;
	border-color: var(--sym-ink);
	box-shadow: 0 0 0 3px rgba(23, 23, 27, .08);
}
.woocommerce div.product .reset_variations {
	font-size: .9rem;
	color: var(--sym-muted);
}
.woocommerce div.product .single_variation_wrap {
	display: flex;
	flex-direction: column;
	gap: .85rem;
}
.woocommerce div.product .woocommerce-variation.single_variation {
	font-size: .9rem;
	color: var(--sym-muted);
	min-height: 1rem;
}
.woocommerce div.product .woocommerce-variation-add-to-cart,
.woocommerce div.product .variations_button {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: .65rem;
	width: 100%;
}
.woocommerce div.product form.cart .button,
.woocommerce #respond input#submit,
.woocommerce button.button.alt,
.woocommerce a.button.alt {
	background: var(--sym-ink);
	color: var(--sym-surface);
	border-radius: 4px;
	padding: .8rem 1.1rem;
	font-weight: 600;
	font-size: .92rem;
	border: 0;
	letter-spacing: .01em;
	box-shadow: 0 14px 28px -18px rgba(23, 23, 27, .45);
	transition: background-color .15s ease, transform .15s ease, box-shadow .15s ease;
}
.woocommerce div.product form.cart .single_add_to_cart_button {
	display: inline-flex;
	align-items: center;
	flex: 1 1 200px;
	min-height: 42px;
	justify-content: center;
}
.woocommerce div.product form.cart .button:hover,
.woocommerce button.button.alt:hover,
.woocommerce a.button.alt:hover {
	background: var(--sym-accent);
	transform: translateY(-1px);
	box-shadow: 0 18px 32px -20px rgba(142, 108, 240, .5);
}

/* Meta (SKU, categorías, tags). */
.woocommerce div.product .product_meta {
	font-size: .85rem;
	color: var(--sym-muted);
	border-top: 1px solid var(--sym-hairline);
	padding-top: 1.25rem;
	margin-top: .5rem;
	display: grid;
	gap: .4rem;
}
.woocommerce div.product .product_meta a { color: var(--sym-ink); }

/* Variaciones. */
.woocommerce div.product .variations select {
	border: 1px solid var(--sym-hairline);
	border-radius: var(--sym-radius-sm);
	padding: .65rem .85rem;
	background: var(--sym-surface);
	min-width: min(100%, 220px);
	font-size: .94rem;
}

/* Pestañas (descripción / info / reseñas). */
.woocommerce div.product .woocommerce-tabs { grid-column: 1 / -1; margin-top: 1.5rem; }
.woocommerce div.product .woocommerce-tabs ul.tabs { padding: 0; margin: 0 0 2rem; border-bottom: 1px solid var(--sym-hairline); display: flex; gap: 1.5rem; }
.woocommerce div.product .woocommerce-tabs ul.tabs::before { display: none; }
.woocommerce div.product .woocommerce-tabs ul.tabs li {
	background: transparent;
	border: 0;
	border-radius: 0;
	padding: 0 0 1rem;
	margin: 0;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li::before,
.woocommerce div.product .woocommerce-tabs ul.tabs li::after { display: none; }
.woocommerce div.product .woocommerce-tabs ul.tabs li a {
	color: var(--sym-muted);
	font-weight: 600;
	padding: 0;
	font-family: var(--wp--preset--font-family--display);
}
.woocommerce div.product .woocommerce-tabs ul.tabs li.active a { color: var(--sym-ink); }
.woocommerce div.product .woocommerce-tabs ul.tabs li.active { box-shadow: inset 0 -2px 0 var(--sym-ink); }

/* Relacionados / ventas cruzadas. */
.woocommerce .related.products,
.woocommerce .upsells.products { grid-column: 1 / -1; margin-top: 4rem; }
.woocommerce .related.products > h2,
.woocommerce .upsells.products > h2 {
	font-family: var(--wp--preset--font-family--display);
	font-size: 1.6rem;
	margin-bottom: 2rem;
}
.woocommerce .related.products ul.products li.product .price,
.woocommerce .upsells.products ul.products li.product .price {
	font-size: .92rem;
	margin-bottom: .75rem;
}
.woocommerce .related.products ul.products li.product .price ins,
.woocommerce .related.products ul.products li.product .price ins .woocommerce-Price-amount,
.woocommerce .related.products ul.products li.product .price ins bdi,
.woocommerce .upsells.products ul.products li.product .price ins,
.woocommerce .upsells.products ul.products li.product .price ins .woocommerce-Price-amount,
.woocommerce .upsells.products ul.products li.product .price ins bdi {
	font-size: .82rem !important;
	font-weight: 600;
}
.woocommerce .related.products ul.products li.product .price del,
.woocommerce .related.products ul.products li.product .price del .woocommerce-Price-amount,
.woocommerce .related.products ul.products li.product .price del bdi,
.woocommerce .upsells.products ul.products li.product .price del,
.woocommerce .upsells.products ul.products li.product .price del .woocommerce-Price-amount,
.woocommerce .upsells.products ul.products li.product .price del bdi {
	font-size: .78rem !important;
	line-height: 1.2;
}

/* Breadcrumbs. */
.woocommerce .woocommerce-breadcrumb,
.wc-block-breadcrumbs { color: var(--sym-muted); font-size: .85rem; margin-bottom: 1.5rem; }
.woocommerce .woocommerce-breadcrumb a { color: var(--sym-ink); }

/* Reseñas. */
.woocommerce #reviews #comments ol.commentlist li .comment-text {
	border: 1px solid var(--sym-hairline);
	border-radius: var(--sym-radius);
	padding: 1.25rem 1.5rem;
}
.star-rating span::before, .woocommerce p.stars a::before { color: var(--sym-accent); }

/* ==========================================================================
   AVISOS / MENSAJES
   ========================================================================== */
.woocommerce-message,
.woocommerce-info,
.woocommerce-error {
	border-top: 0;
	border-radius: var(--sym-radius-sm);
	background: var(--sym-surface);
	border: 1px solid var(--sym-hairline);
	padding: 1rem 1.25rem;
}
.woocommerce-message::before { color: var(--sym-accent); }
.woocommerce-message { box-shadow: inset 4px 0 0 var(--sym-accent); }
.woocommerce-error { box-shadow: inset 4px 0 0 #d92d20; }

/* ==========================================================================
   CARRITO / CHECKOUT (bloques de WooCommerce)
   ========================================================================== */
.wc-block-cart, .wc-block-checkout { font-family: var(--wp--preset--font-family--body); }
.wc-block-components-button,
.wp-block-woocommerce-cart .wc-block-cart__submit-button {
	border-radius: 4px !important;
	font-weight: 600;
}
.wc-block-components-button:not(.is-link) { background: var(--sym-ink); }
.wc-block-components-button:not(.is-link):hover { background: var(--sym-accent); }
.wc-block-components-text-input input,
.wc-block-components-select .wc-block-components-select__container {
	border-radius: var(--sym-radius-sm) !important;
}
.woocommerce-checkout #billing_country_field,
.woocommerce-checkout #shipping_country_field,
.woocommerce-checkout #calc_shipping_country_field,
.wc-block-components-address-form__country,
.wc-block-components-address-form [id*="country"].wc-block-components-country-input,
.wc-block-components-address-form .wc-block-components-country-input {
	display: none !important;
}
.symstudio-commune-select {
	width: 100%;
	min-height: 44px;
	padding: .45rem .8rem;
	border: 1px solid var(--sym-hairline);
	border-radius: var(--sym-radius-sm);
	background: #fff;
	color: var(--sym-ink);
	font: inherit;
}

/* Comuna: el tema reemplaza el <input> de bloque por un <select> nativo con su
   propio placeholder ("Selecciona una comuna"). El label flotante del bloque se
   quedaba en la posición de placeholder y se solapaba con ese texto. Lo anclamos
   arriba (como el campo Región) y dejamos hueco superior en el select. */
body.symstudio-branded-checkout .wc-block-components-text-input:has(.symstudio-commune-select) > label {
	top: 7px;
	transform: none;
	transition: none;
	pointer-events: none;
}
body.symstudio-branded-checkout .symstudio-commune-select {
	padding-top: 1.45rem;
	padding-bottom: .3rem;
	line-height: 1.2;
}
.wc-block-cart-item__image img,
.wc-block-components-order-summary-item__image img {
	border-radius: var(--sym-radius-sm);
	border: 1px solid var(--sym-hairline);
}

/* ==========================================================================
   SECCIONES DEL HOME (barra de anuncio, confianza, pasos, testimonios, galería)
   ========================================================================== */

/* Barra de anuncio superior. */
.symstudio-announce { line-height: 1.3; }
.symstudio-announce a { color: inherit; text-decoration: underline; }

/* Banda de confianza. */
.symstudio-trust { text-align: center; }
.symstudio-trust .wp-block-column { align-items: center; }
.symstudio-trust h3 { margin: .25rem 0 .15rem; }
.symstudio-trust__icon {
	display: inline-grid;
	place-items: center;
	width: 52px;
	height: 52px;
	margin: 0 auto .6rem;
	border-radius: 4px;
	color: var(--sym-accent);
	background: var(--sym-accent-soft);
}
/* Íconos (por CSS para que sobrevivan al filtro de seguridad al guardar). */
.symstudio-trust__icon::before {
	content: "";
	width: 26px;
	height: 26px;
	background-color: var(--sym-accent);
	-webkit-mask: center / contain no-repeat;
	mask: center / contain no-repeat;
}
.symstudio-trust .wp-block-column:nth-child(1) .symstudio-trust__icon::before {
	-webkit-mask-image: url("data:image/svg+xml,<svg 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'><rect x='4' y='10' width='16' height='10' rx='2'/><path d='M8 10V7a4 4 0 0 1 8 0v3'/></svg>");
	mask-image: url("data:image/svg+xml,<svg 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'><rect x='4' y='10' width='16' height='10' rx='2'/><path d='M8 10V7a4 4 0 0 1 8 0v3'/></svg>");
}
.symstudio-trust .wp-block-column:nth-child(2) .symstudio-trust__icon::before {
	-webkit-mask-image: url("data:image/svg+xml,<svg 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'><path d='M3 6h11v9H3z'/><path d='M14 9h4l3 3v3h-7z'/><circle cx='7' cy='18.2' r='1.6'/><circle cx='17.5' cy='18.2' r='1.6'/></svg>");
	mask-image: url("data:image/svg+xml,<svg 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'><path d='M3 6h11v9H3z'/><path d='M14 9h4l3 3v3h-7z'/><circle cx='7' cy='18.2' r='1.6'/><circle cx='17.5' cy='18.2' r='1.6'/></svg>");
}
.symstudio-trust .wp-block-column:nth-child(3) .symstudio-trust__icon::before {
	-webkit-mask-image: url("data:image/svg+xml,<svg 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'><path d='M12 3 3 7.5v9L12 21l9-4.5v-9L12 3z'/><path d='M3 7.5 12 12l9-4.5'/><path d='M12 12v9'/></svg>");
	mask-image: url("data:image/svg+xml,<svg 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'><path d='M12 3 3 7.5v9L12 21l9-4.5v-9L12 3z'/><path d='M3 7.5 12 12l9-4.5'/><path d='M12 12v9'/></svg>");
}
.symstudio-trust .wp-block-column:nth-child(4) .symstudio-trust__icon::before {
	-webkit-mask-image: url("data:image/svg+xml,<svg 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'><path d='M20 4H4a2 2 0 0 0-2 2v9a2 2 0 0 0 2 2h3v4l4-4h9a2 2 0 0 0 2-2V6a2 2 0 0 0-2-2z'/></svg>");
	mask-image: url("data:image/svg+xml,<svg 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'><path d='M20 4H4a2 2 0 0 0-2 2v9a2 2 0 0 0 2 2h3v4l4-4h9a2 2 0 0 0 2-2V6a2 2 0 0 0-2-2z'/></svg>");
}

/* Pasos de compra: numero grande con acento. */
.symstudio-steps__num {
	font-family: var(--wp--preset--font-family--display);
	font-size: 1.05rem;
	font-weight: 700;
	line-height: 1;
	color: var(--sym-accent);
	display: inline-grid;
	place-items: center;
	width: 44px;
	height: 44px;
	margin: 0 0 1rem;
	border-radius: 4px;
	background: var(--sym-accent-soft);
}

/* Testimonios. */
.symstudio-testimonial { height: 100%; background: var(--sym-surface); box-shadow: var(--wp--preset--shadow--soft); }
.symstudio-testimonial__stars { letter-spacing: .15em; margin: 0; font-size: 1.05rem; }

/* Galería tipo lookbook: tiles cuadradas con hover. */
.symstudio-gallery.wp-block-gallery { gap: 1rem; }
.symstudio-gallery .wp-block-image { margin: 0; overflow: hidden; border-radius: var(--sym-radius); }
.symstudio-gallery .wp-block-image img {
	width: 100%;
	aspect-ratio: 1 / 1;
	object-fit: cover;
	border-radius: var(--sym-radius);
	transition: transform .4s ease;
}
.symstudio-gallery .wp-block-image:hover img { transform: scale(1.05); }

/* Footer. */
.symstudio-footer__logo {
	margin: 0 0 1rem;
}
.symstudio-footer__logo img {
	width: min(132px, 100%);
	height: auto;
	object-fit: contain;
}

@keyframes symstudio-menu-drawer-in {
	from { transform: translateX(100%); }
	to { transform: translateX(0); }
}

/* ==========================================================================
   RESPONSIVE
   ========================================================================== */
@media (max-width: 980px) {
	.symstudio-header .alignwide {
		width: 100%;
		gap: .85rem;
	}
	.symstudio-header__brand,
	.symstudio-header .alignwide > .wp-block-group:first-child {
		flex: 1 1 auto;
	}
	.symstudio-header .wp-block-navigation {
		order: 3;
		flex: 0 0 auto;
		margin-left: 0;
	}
	.symstudio-header .wp-block-navigation__responsive-container:not(.is-menu-open) {
		display: none;
	}
	.symstudio-header .wp-block-navigation__responsive-container-open:not(.always-shown) {
		display: inline-flex;
	}
	.symstudio-header__actions {
		order: 2;
		flex: 0 0 auto;
		margin-left: auto;
		gap: .5rem;
	}
	.symstudio-header .wp-block-navigation__responsive-container.is-menu-open {
		position: fixed;
		inset: 0 !important;
		z-index: 10000;
		display: block;
		width: 100vw;
		max-width: none;
		height: 100dvh;
		padding: 0;
		overflow-y: hidden;
		overflow-x: hidden;
		background: rgba(23, 23, 27, .34);
		color: var(--sym-ink);
	}
	.symstudio-header .wp-block-navigation:not(.has-background) .wp-block-navigation__responsive-container.is-menu-open:not(.disable-default-overlay) {
		background-color: rgba(23, 23, 27, .34) !important;
	}
	.symstudio-header .wp-block-navigation:not(.has-text-color) .wp-block-navigation__responsive-container.is-menu-open:not(.disable-default-overlay) {
		color: var(--sym-ink) !important;
	}
	.symstudio-header .wp-block-navigation__responsive-container.is-menu-open::before {
		display: none;
	}
	.symstudio-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-close {
		position: absolute;
		top: 0;
		right: 0;
		bottom: 0;
		width: min(86vw, 360px);
		height: 100%;
		margin-right: 0 !important;
		margin-left: auto !important;
		padding: 1rem 1.25rem 2rem;
		overflow-y: auto;
		overflow-x: hidden;
		background: var(--sym-surface);
		box-shadow: -24px 0 48px -30px rgba(23, 23, 27, .55);
		animation: symstudio-menu-drawer-in .22s ease-out both;
	}
	.symstudio-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-dialog {
		position: relative;
		min-height: 100%;
		margin: 0;
	}
	.symstudio-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-close {
		position: absolute;
		top: 0;
		right: 0;
	}
	.symstudio-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content {
		display: flex;
		flex-direction: column;
		align-items: stretch;
		justify-content: flex-start;
		gap: 0;
		width: 100%;
		padding-top: 3.75rem;
		overflow: visible;
	}
	.symstudio-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container {
		display: flex;
		flex-direction: column;
		width: 100%;
		gap: 0;
		align-items: stretch;
	}
	.symstudio-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item {
		width: 100%;
		border-bottom: 1px solid var(--sym-hairline);
	}
	.symstudio-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content {
		width: 100%;
		padding: 1rem 0;
		font-size: 1.08rem;
		line-height: 1.35;
		text-align: left;
	}
	.symstudio-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-submenu {
		display: flex;
		flex-wrap: wrap;
		align-items: center;
	}
	.symstudio-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-icon {
		margin-left: auto;
	}
	.symstudio-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container {
		position: static;
		display: block;
		visibility: visible;
		opacity: 1;
		height: auto;
		min-width: 0;
		width: 100%;
		padding: 0 0 .75rem 1rem;
		margin: 0;
		border: 0;
		background: transparent;
		box-shadow: none;
	}
	.symstudio-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container .wp-block-navigation-item {
		border-bottom: 0;
	}
	.symstudio-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container .wp-block-navigation-item__content {
		padding: .65rem 0;
		font-size: .96rem;
		color: var(--sym-muted);
	}
	.woocommerce div.product { grid-template-columns: 1fr; gap: 2rem; }
	.woocommerce div.product .woocommerce-product-gallery,
	.woocommerce div.product .summary.entry-summary { max-width: none; }
	.woocommerce ul.products,
	.woocommerce-page ul.products { gap: 1.5rem 1.25rem; }
	body.symstudio-branded-checkout .wp-site-blocks > main.wp-block-group {
		width: min(calc(100% - 2rem), 1280px);
	}
	body.symstudio-branded-checkout .woocommerce-checkout form.checkout.woocommerce-checkout,
	body.symstudio-branded-checkout .wc-block-checkout { grid-template-columns: 1fr; }
	body.symstudio-branded-checkout .wc-block-checkout__sidebar { position: static; }
	.symstudio-checkout-branding__content { align-items: flex-start; }
	.symstudio-checkout-branding__highlights {
		grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
		width: 100%;
	}
}
@media (min-width: 782px) {
	.symstudio-header .wp-block-navigation {
		order: initial;
		flex: 1 1 auto;
		margin-left: 0;
	}
	.symstudio-header .wp-block-navigation__responsive-container:not(.is-menu-open) {
		position: relative;
		display: flex !important;
		width: auto;
		height: auto;
		overflow: visible;
		background: transparent;
		color: inherit;
	}
	.symstudio-header .wp-block-navigation__responsive-container-open:not(.always-shown) {
		display: none !important;
	}
	.symstudio-header__actions {
		order: initial;
		flex: 0 0 auto;
		margin-left: auto;
	}
}
@media (max-width: 560px) {
	.symstudio-announce {
		padding-right: 1rem !important;
		padding-left: 1rem !important;
	}
	.symstudio-announce p {
		font-size: .78rem !important;
		line-height: 1.35;
	}
	.symstudio-header {
		padding-top: .65rem !important;
		padding-bottom: .65rem !important;
	}
	.symstudio-header .alignwide {
		gap: .45rem;
	}
	.symstudio-header__brand,
	.symstudio-header .alignwide > .wp-block-group:first-child {
		gap: .5rem;
	}
	.symstudio-header__brand .wp-block-site-logo img,
	.symstudio-header .alignwide > .wp-block-group:first-child .wp-block-site-logo img {
		width: clamp(116px, 38vw, 150px);
		max-height: 38px;
		height: auto;
		object-fit: contain;
	}
	.symstudio-header__brand .wp-block-site-title,
	.symstudio-header .alignwide > .wp-block-group:first-child .wp-block-site-title {
		font-size: 1rem;
	}
	.symstudio-header__actions {
		gap: .25rem;
	}
	.symstudio-header .wc-block-mini-cart__button,
	.symstudio-header .wc-block-customer-account a,
	.symstudio-header .wp-block-navigation__responsive-container-open,
	.symstudio-header .wp-block-navigation__responsive-container-close {
		min-width: 40px;
		min-height: 40px;
	}
	.symstudio-header .wp-block-navigation__responsive-container.is-menu-open {
		padding-right: 0;
		padding-left: 0;
	}
	.woocommerce div.product .summary.entry-summary { padding: 1.25rem; border-radius: 4px; }
	.woocommerce div.product form.cart { padding: 1rem; }
	.woocommerce div.product form.cart table.variations tr {
		flex-direction: column;
		align-items: stretch;
		gap: .45rem;
	}
	.woocommerce div.product form.cart table.variations th.label { flex-basis: auto; }
	.woocommerce div.product .woocommerce-variation-add-to-cart,
	.woocommerce div.product .variations_button { align-items: stretch; }
	.woocommerce .quantity .qty,
	.woocommerce div.product form.cart .single_add_to_cart_button { width: 100%; }
	.woocommerce ul.products,
	.woocommerce-page ul.products { grid-template-columns: repeat(auto-fill, minmax(min(100%, 150px), 1fr)); gap: 1.25rem .9rem; }
	.woocommerce ul.products li.product .button,
	.woocommerce a.button.add_to_cart_button { width: 100%; }
	.symstudio-checkout-branding { border-radius: 4px; }
	.symstudio-checkout-branding__title { font-size: clamp(1.7rem, 10vw, 2.3rem); }
	body.symstudio-branded-checkout .woocommerce-checkout .woocommerce-billing-fields,
	body.symstudio-branded-checkout .woocommerce-checkout .woocommerce-shipping-fields,
	body.symstudio-branded-checkout .woocommerce-checkout .woocommerce-additional-fields,
	body.symstudio-branded-checkout .woocommerce-checkout #payment,
	body.symstudio-branded-checkout .wc-block-components-checkout-step,
	body.symstudio-branded-checkout .wc-block-components-order-summary,
	body.symstudio-branded-checkout .wc-block-checkout__sidebar .wc-block-components-totals-wrapper,
	body.symstudio-branded-checkout .wc-block-components-address-card,
	body.symstudio-branded-checkout .wc-block-components-express-payment {
		padding: 1.1rem;
		border-radius: 4px;
	}
}
