/**
 * Presets estructurales del Diseñador de plantillas.
 */
.sytec-template-header {
  position: relative;
  display: grid;
  min-height: var(--sytec-page-header-height);
  padding-block: var(--sytec-page-header-padding);
  place-items: center;
  overflow: hidden;
  color: var(--sytec-page-header-text);
  background-color: var(--sytec-page-header-bg);
  background-image: var(--sytec-page-header-image, none);
  background-position: center;
  background-repeat: no-repeat;
  isolation: isolate;
}

.sytec-template-header--position-top {
  background-position: top;
}

.sytec-template-header--position-bottom {
  background-position: bottom;
}

.sytec-template-header--position-left {
  background-position: left;
}

.sytec-template-header--position-right {
  background-position: right;
}

.sytec-template-header--size-cover {
  background-size: cover;
}

.sytec-template-header--size-contain {
  background-size: contain;
}

.sytec-template-header__overlay {
  position: absolute;
  z-index: -1;
  inset: 0;
  background: var(--sytec-page-header-overlay);
  opacity: var(--sytec-page-header-opacity);
}

.sytec-template-header--color .sytec-template-header__overlay {
  display: none;
}

.sytec-template-header__inner {
  width: 100%;
  padding-inline: clamp(20px, 5vw, 72px);
}

.sytec-template-header--align-left .sytec-template-header__inner {
  text-align: left;
}

.sytec-template-header--align-center .sytec-template-header__inner {
  text-align: center;
}

.sytec-template-header--align-right .sytec-template-header__inner {
  text-align: right;
}

.sytec-template-header h1 {
  max-width: 22ch;
  margin: 0;
  color: var(--sytec-page-header-title);
  font-size: clamp(2rem, 5vw, 4.5rem);
  line-height: 1.05;
}

.sytec-template-header-below {
  padding: clamp(24px, 4vw, 56px) 0;
  color: var(--sytec-page-header-text);
  background: var(--sytec-color-background);
}

.sytec-template-header-below__full {
  padding-inline: clamp(20px, 5vw, 72px);
}

.sytec-template-header-below h1 {
  margin: 0;
  color: var(--sytec-page-header-title);
}

.sytec-template-header-below--align-center {
  text-align: center;
}

.sytec-template-header-below--align-right {
  text-align: right;
}

.sytec-template-header--align-center h1 {
  margin-inline: auto;
}

.sytec-template-header--align-right h1 {
  margin-left: auto;
}

.sytec-template-header p,
.sytec-template-header__description {
  max-width: 70ch;
  margin: 1rem 0 0;
}

.sytec-template-header--align-center p,
.sytec-template-header--align-center .sytec-template-header__description {
  margin-inline: auto;
}

.sytec-template-header--align-right p,
.sytec-template-header--align-right .sytec-template-header__description {
  margin-left: auto;
}

.sytec-page-breadcrumbs {
  display: flex;
  margin-bottom: 1rem;
  gap: 0.55rem;
  flex-wrap: wrap;
  justify-content: inherit;
  font-size: 0.875rem;
}

.sytec-page-breadcrumbs,
.sytec-page-breadcrumbs a {
  color: inherit;
}

body,
.sytec-site {
  background-color: var(--sytec-body-background, #fff);
  background-image: var(--sytec-body-background-image, none);
  background-position: var(--sytec-body-background-position, center);
  background-size: var(--sytec-body-background-size, cover);
  background-repeat: var(--sytec-body-background-repeat, no-repeat);
  color: var(--sytec-body-text-color, #111827);
  text-align: var(--sytec-body-text-align, left);
}

body,
.sytec-page-main {
  color: var(--sytec-body-color);
  font-family: var(--sytec-body-font-family);
  font-size: var(--sytec-body-size-desktop);
  font-style: var(--sytec-body-style);
  font-weight: var(--sytec-body-weight);
  line-height: var(--sytec-body-line-height);
  letter-spacing: var(--sytec-body-letter-spacing);
  text-align: var(--sytec-body-alignment);
  text-transform: var(--sytec-body-text-transform);
}

:where(body, .sytec-page-main) p:where(:not(.sytec-eyebrow):not(.sytec-hero-description)) {
  margin-top: var(--sytec-paragraph-margin-top);
  margin-bottom: var(--sytec-paragraph-margin-bottom);
  font-style: var(--sytec-paragraph-style);
  font-weight: var(--sytec-paragraph-weight);
  line-height: var(--sytec-paragraph-line-height);
  letter-spacing: var(--sytec-paragraph-letter-spacing);
  text-transform: var(--sytec-paragraph-text-transform);
}

:where(body, .sytec-page-main) p:where(:not(.sytec-eyebrow):not(.sytec-hero-description):not(.has-text-color):not([class*="sytec-"])) {
  color: var(--sytec-paragraph-color);
}

:where(body, .sytec-page-main) p:where(:not(.sytec-eyebrow):not(.sytec-hero-description):not([class*="has-"][class*="-font-family"])) {
  font-family: var(--sytec-paragraph-font-family);
}

:where(body, .sytec-page-main) p:where(:not(.sytec-eyebrow):not(.sytec-hero-description):not(.has-custom-font-size):not([class*="has-"][class*="-font-size"])) {
  font-size: var(--sytec-paragraph-size-desktop);
}

:where(body, .sytec-page-main) p:where(:not(.sytec-eyebrow):not(.sytec-hero-description):not(.has-text-align-left):not(.has-text-align-center):not(.has-text-align-right)) {
  text-align: var(--sytec-paragraph-alignment);
}

.sytec-page-main a:not(.wp-block-sytec-button) {
  margin-top: var(--sytec-link-margin-top);
  margin-bottom: var(--sytec-link-margin-bottom);
  color: var(--sytec-link-color);
  font-family: var(--sytec-link-font-family);
  font-size: var(--sytec-link-size-desktop);
  font-style: var(--sytec-link-style);
  font-weight: var(--sytec-link-weight);
  line-height: var(--sytec-link-line-height);
  letter-spacing: var(--sytec-link-letter-spacing);
  text-align: var(--sytec-link-alignment);
  text-decoration: var(--sytec-link-decoration);
  text-transform: var(--sytec-link-text-transform);
}

.sytec-page-main a:not(.wp-block-sytec-button):hover {
  color: var(--sytec-link-hover-color);
  text-decoration: var(--sytec-link-hover-decoration);
}

:is(body, .sytec-page-main) h1 {
  --sytec-heading-token: h1;
}

:is(body, .sytec-page-main) h2 {
  --sytec-heading-token: h2;
}

:is(body, .sytec-page-main) h3 {
  --sytec-heading-token: h3;
}

:is(body, .sytec-page-main) h4 {
  --sytec-heading-token: h4;
}

:is(body, .sytec-page-main) h5 {
  --sytec-heading-token: h5;
}

:is(body, .sytec-page-main) h6 {
  --sytec-heading-token: h6;
}

:where(body, .sytec-page-main) h1:where(:not(.sytec-hero-title)) {
  margin-top: var(--sytec-h1-margin-top);
  margin-bottom: var(--sytec-h1-margin-bottom);
  font-style: var(--sytec-h1-style);
  font-weight: var(--sytec-h1-weight);
  line-height: var(--sytec-h1-line-height);
  letter-spacing: var(--sytec-h1-letter-spacing);
  text-transform: var(--sytec-h1-text-transform);
}

:where(body, .sytec-page-main) h1:where(:not(.sytec-hero-title):not(.has-text-color):not([class*="sytec-"])) {
  color: var(--sytec-h1-color);
}

:where(body, .sytec-page-main) h1:where(:not(.sytec-hero-title):not([class*="has-"][class*="-font-family"])) {
  font-family: var(--sytec-h1-font-family);
}

:where(body, .sytec-page-main) h1:where(:not(.sytec-hero-title):not(.has-custom-font-size):not([class*="has-"][class*="-font-size"])) {
  font-size: var(--sytec-h1-size-desktop);
}

:where(body, .sytec-page-main) h1:where(:not(.sytec-hero-title):not(.has-text-align-left):not(.has-text-align-center):not(.has-text-align-right)) {
  text-align: var(--sytec-h1-alignment);
}

.sytec-page-main .woocommerce div.product .product_title,
.sytec-page-main .woocommerce div.product .sytec-product-summary .product_title {
  margin-top: var(--sytec-h1-margin-top);
  margin-bottom: var(--sytec-h1-margin-bottom);
  color: var(--sytec-h1-color);
  font-family: var(--sytec-h1-font-family);
  font-size: var(--sytec-h1-size-desktop);
  font-style: var(--sytec-h1-style);
  font-weight: var(--sytec-h1-weight);
  line-height: var(--sytec-h1-line-height);
  letter-spacing: var(--sytec-h1-letter-spacing);
  text-align: var(--sytec-h1-alignment);
  text-transform: var(--sytec-h1-text-transform);
}

:where(body, .sytec-page-main) h2:where(:not(.sytec-hero-title)) {
  margin-top: var(--sytec-h2-margin-top);
  margin-bottom: var(--sytec-h2-margin-bottom);
  font-style: var(--sytec-h2-style);
  font-weight: var(--sytec-h2-weight);
  line-height: var(--sytec-h2-line-height);
  letter-spacing: var(--sytec-h2-letter-spacing);
  text-transform: var(--sytec-h2-text-transform);
}

:where(body, .sytec-page-main) h2:where(:not(.sytec-hero-title):not(.has-text-color):not([class*="sytec-"])) {
  color: var(--sytec-h2-color);
}

:where(body, .sytec-page-main) h2:where(:not(.sytec-hero-title):not([class*="has-"][class*="-font-family"])) {
  font-family: var(--sytec-h2-font-family);
}

:where(body, .sytec-page-main) h2:where(:not(.sytec-hero-title):not(.has-custom-font-size):not([class*="has-"][class*="-font-size"])) {
  font-size: var(--sytec-h2-size-desktop);
}

:where(body, .sytec-page-main) h2:where(:not(.sytec-hero-title):not(.has-text-align-left):not(.has-text-align-center):not(.has-text-align-right)) {
  text-align: var(--sytec-h2-alignment);
}

/* H2 de componentes específicos del tema/WooCommerce.
 * Conservan el comportamiento actual.
 */
.sytec-page-main .woocommerce-tabs h2,
.sytec-page-main .cart_totals h2,
.sytec-page-main .woocommerce-MyAccount-content h2,
.sytec-page-main .sytec-product-section > h2 {
  margin-top: var(--sytec-h2-margin-top);
  margin-bottom: var(--sytec-h2-margin-bottom);
  color: var(--sytec-h2-color);
  font-family: var(--sytec-h2-font-family);
  font-size: var(--sytec-h2-size-desktop);
  font-style: var(--sytec-h2-style);
  font-weight: var(--sytec-h2-weight);
  line-height: var(--sytec-h2-line-height);
  letter-spacing: var(--sytec-h2-letter-spacing);
  text-align: var(--sytec-h2-alignment);
  text-transform: var(--sytec-h2-text-transform);
}

:where(body, .sytec-page-main) h3 {
  margin-top: var(--sytec-h3-margin-top);
  margin-bottom: var(--sytec-h3-margin-bottom);
  font-style: var(--sytec-h3-style);
  font-weight: var(--sytec-h3-weight);
  line-height: var(--sytec-h3-line-height);
  letter-spacing: var(--sytec-h3-letter-spacing);
  text-transform: var(--sytec-h3-text-transform);
}

:where(body, .sytec-page-main) h3:where(:not(.has-text-color):not([class*="sytec-"])) {
  color: var(--sytec-h3-color);
}

:where(body, .sytec-page-main) h3:where(:not([class*="has-"][class*="-font-family"])) {
  font-family: var(--sytec-h3-font-family);
}

:where(body, .sytec-page-main) h3:where(:not(.has-custom-font-size):not([class*="has-"][class*="-font-size"])) {
  font-size: var(--sytec-h3-size-desktop);
}

:where(body, .sytec-page-main) h3:where(:not(.has-text-align-left):not(.has-text-align-center):not(.has-text-align-right)) {
  text-align: var(--sytec-h3-alignment);
}

.sytec-page-main .woocommerce-loop-product__title,
.sytec-page-main .woocommerce-checkout h3,
.sytec-page-main .woocommerce ul.products li.product .woocommerce-loop-product__title {
  margin-top: var(--sytec-h3-margin-top);
  margin-bottom: var(--sytec-h3-margin-bottom);
  color: var(--sytec-h3-color);
  font-family: var(--sytec-h3-font-family);
  font-size: var(--sytec-h3-size-desktop);
  font-style: var(--sytec-h3-style);
  font-weight: var(--sytec-h3-weight);
  line-height: var(--sytec-h3-line-height);
  letter-spacing: var(--sytec-h3-letter-spacing);
  text-align: var(--sytec-h3-alignment);
  text-transform: var(--sytec-h3-text-transform);
}

:where(body, .sytec-page-main) h4 {
  margin-top: var(--sytec-h4-margin-top);
  margin-bottom: var(--sytec-h4-margin-bottom);
  font-style: var(--sytec-h4-style);
  font-weight: var(--sytec-h4-weight);
  line-height: var(--sytec-h4-line-height);
  letter-spacing: var(--sytec-h4-letter-spacing);
  text-transform: var(--sytec-h4-text-transform);
}

:where(body, .sytec-page-main) h4:where(:not(.has-text-color):not([class*="sytec-"])) {
  color: var(--sytec-h4-color);
}

:where(body, .sytec-page-main) h4:where(:not([class*="has-"][class*="-font-family"])) {
  font-family: var(--sytec-h4-font-family);
}

:where(body, .sytec-page-main) h4:where(:not(.has-custom-font-size):not([class*="has-"][class*="-font-size"])) {
  font-size: var(--sytec-h4-size-desktop);
}

:where(body, .sytec-page-main) h4:where(:not(.has-text-align-left):not(.has-text-align-center):not(.has-text-align-right)) {
  text-align: var(--sytec-h4-alignment);
}

:where(body, .sytec-page-main) h5 {
  margin-top: var(--sytec-h5-margin-top);
  margin-bottom: var(--sytec-h5-margin-bottom);
  font-style: var(--sytec-h5-style);
  font-weight: var(--sytec-h5-weight);
  line-height: var(--sytec-h5-line-height);
  letter-spacing: var(--sytec-h5-letter-spacing);
  text-transform: var(--sytec-h5-text-transform);
}

:where(body, .sytec-page-main) h5:where(:not(.has-text-color):not([class*="sytec-"])) {
  color: var(--sytec-h5-color);
}

:where(body, .sytec-page-main) h5:where(:not([class*="has-"][class*="-font-family"])) {
  font-family: var(--sytec-h5-font-family);
}

:where(body, .sytec-page-main) h5:where(:not(.has-custom-font-size):not([class*="has-"][class*="-font-size"])) {
  font-size: var(--sytec-h5-size-desktop);
}

:where(body, .sytec-page-main) h5:where(:not(.has-text-align-left):not(.has-text-align-center):not(.has-text-align-right)) {
  text-align: var(--sytec-h5-alignment);
}

:where(body, .sytec-page-main) h6 {
  margin-top: var(--sytec-h6-margin-top);
  margin-bottom: var(--sytec-h6-margin-bottom);
  font-style: var(--sytec-h6-style);
  font-weight: var(--sytec-h6-weight);
  line-height: var(--sytec-h6-line-height);
  letter-spacing: var(--sytec-h6-letter-spacing);
  text-transform: var(--sytec-h6-text-transform);
}

:where(body, .sytec-page-main) h6:where(:not(.has-text-color):not([class*="sytec-"])) {
  color: var(--sytec-h6-color);
}

:where(body, .sytec-page-main) h6:where(:not([class*="has-"][class*="-font-family"])) {
  font-family: var(--sytec-h6-font-family);
}

:where(body, .sytec-page-main) h6:where(:not(.has-custom-font-size):not([class*="has-"][class*="-font-size"])) {
  font-size: var(--sytec-h6-size-desktop);
}

:where(body, .sytec-page-main) h6:where(:not(.has-text-align-left):not(.has-text-align-center):not(.has-text-align-right)) {
  text-align: var(--sytec-h6-alignment);
}

:is(body, .sytec-page-main) :is(ul, ol):not(.sytec-menu):not(.sytec-footer-menu) {
  margin-top: var(--sytec-list-margin-top);
  margin-bottom: var(--sytec-list-margin-bottom);
  color: var(--sytec-list-color);
  font-family: var(--sytec-list-font-family);
  font-size: var(--sytec-list-size-desktop);
  font-style: var(--sytec-list-style);
  font-weight: var(--sytec-list-weight);
  line-height: var(--sytec-list-line-height);
  letter-spacing: var(--sytec-list-letter-spacing);
  text-align: var(--sytec-list-alignment);
  text-transform: var(--sytec-list-text-transform);
}

:is(body, .sytec-page-main) small {
  margin-top: var(--sytec-small-margin-top);
  margin-bottom: var(--sytec-small-margin-bottom);
  color: var(--sytec-small-color);
  font-family: var(--sytec-small-font-family);
  font-size: var(--sytec-small-size-desktop);
  font-style: var(--sytec-small-style);
  font-weight: var(--sytec-small-weight);
  line-height: var(--sytec-small-line-height);
  letter-spacing: var(--sytec-small-letter-spacing);
  text-align: var(--sytec-small-alignment);
  text-transform: var(--sytec-small-text-transform);
}

:is(body, .sytec-page-main) blockquote {
  margin-top: var(--sytec-blockquote-margin-top);
  margin-bottom: var(--sytec-blockquote-margin-bottom);
  color: var(--sytec-blockquote-color);
  font-family: var(--sytec-blockquote-font-family);
  font-size: var(--sytec-blockquote-size-desktop);
  font-style: var(--sytec-blockquote-style);
  font-weight: var(--sytec-blockquote-weight);
  line-height: var(--sytec-blockquote-line-height);
  letter-spacing: var(--sytec-blockquote-letter-spacing);
  text-align: var(--sytec-blockquote-alignment);
  text-transform: var(--sytec-blockquote-text-transform);
}

:is(body, .sytec-page-main) label,
.sytec-page-main .woocommerce label {
  margin-top: var(--sytec-label-margin-top);
  margin-bottom: var(--sytec-label-margin-bottom);
  color: var(--sytec-label-color);
  font-family: var(--sytec-label-font-family);
  font-size: var(--sytec-label-size-desktop);
  font-style: var(--sytec-label-style);
  font-weight: var(--sytec-label-weight);
  line-height: var(--sytec-label-line-height);
  letter-spacing: var(--sytec-label-letter-spacing);
  text-align: var(--sytec-label-alignment);
  text-transform: var(--sytec-label-text-transform);
}

.sytec-page-main .woocommerce :is(.price, p.price, span.price),
.sytec-page-main .woocommerce ul.products li.product .price,
.sytec-page-main .woocommerce div.product .sytec-product-purchase-card :is(p.price, span.price) {
  color: var(--sytec-body-color);
  font-family: var(--sytec-body-font-family);
  font-size: var(--sytec-body-size-desktop);
  font-style: var(--sytec-body-style);
  font-weight: 700;
  line-height: var(--sytec-body-line-height);
  letter-spacing: var(--sytec-body-letter-spacing);
}

.sytec-page-main {
  width: 100%;
  min-width: 0;
  background: transparent;
  color: inherit;
  text-align: inherit;
}

@media (max-width: 1024px) {
body,
.sytec-page-main {
	font-size: var(--sytec-body-size-tablet);
}


/* ---------------------------------------------------------
 * PÁRRAFOS
 * El theme actúa como fallback.
 * Gutenberg mantiene prioridad cuando define font-size.
 * --------------------------------------------------------- */

:where(body, .sytec-page-main) p:where(:not(.sytec-eyebrow):not(.sytec-hero-description):not(.has-custom-font-size):not([class*="has-"][class*="-font-size"])) {
	font-size: var(--sytec-paragraph-size-tablet);
}


/* ---------------------------------------------------------
 * ENLACES
 * Se conserva el comportamiento actual del theme.
 * --------------------------------------------------------- */

.sytec-page-main a:not(.wp-block-sytec-button) {
	font-size: var(--sytec-link-size-tablet);
}


/* ---------------------------------------------------------
 * H1 — contenido Gutenberg/general
 * --------------------------------------------------------- */

:where(body, .sytec-page-main) h1:where(:not(.sytec-hero-title):not(.has-custom-font-size):not([class*="has-"][class*="-font-size"])) {
	font-size: var(--sytec-h1-size-tablet);
}


/* H1 específicos de WooCommerce */
.sytec-page-main .woocommerce div.product .product_title,
.sytec-page-main .woocommerce div.product .sytec-product-summary .product_title {
	font-size: var(--sytec-h1-size-tablet);
}


/* ---------------------------------------------------------
 * H2 — contenido Gutenberg/general
 * --------------------------------------------------------- */

:where(body, .sytec-page-main) h2:where(:not(.sytec-hero-title):not(.has-custom-font-size):not([class*="has-"][class*="-font-size"])) {
	font-size: var(--sytec-h2-size-tablet);
}


/* H2 específicos del theme / WooCommerce */
.sytec-page-main :is(
	.woocommerce-tabs,
	.cart_totals,
	.woocommerce-MyAccount-content
) h2,
.sytec-page-main .sytec-product-section > h2 {
	font-size: var(--sytec-h2-size-tablet);
}


/* ---------------------------------------------------------
 * H3 — contenido Gutenberg/general
 * --------------------------------------------------------- */

:where(body, .sytec-page-main) h3:where(:not(.has-custom-font-size):not([class*="has-"][class*="-font-size"])) {
	font-size: var(--sytec-h3-size-tablet);
}


/* H3 específicos de WooCommerce */
.sytec-page-main :is(
	.woocommerce-loop-product__title,
	.woocommerce-checkout h3
),
.sytec-page-main
.woocommerce
ul.products
li.product
.woocommerce-loop-product__title {
	font-size: var(--sytec-h3-size-tablet);
}


/* ---------------------------------------------------------
 * H4
 * --------------------------------------------------------- */

:where(body, .sytec-page-main) h4:where(:not(.has-custom-font-size):not([class*="has-"][class*="-font-size"])) {
	font-size: var(--sytec-h4-size-tablet);
}


/* ---------------------------------------------------------
 * H5
 * --------------------------------------------------------- */

:where(body, .sytec-page-main) h5:where(:not(.has-custom-font-size):not([class*="has-"][class*="-font-size"])) {
	font-size: var(--sytec-h5-size-tablet);
}


/* ---------------------------------------------------------
 * H6
 * --------------------------------------------------------- */

:where(body, .sytec-page-main) h6:where(:not(.has-custom-font-size):not([class*="has-"][class*="-font-size"])) {
	font-size: var(--sytec-h6-size-tablet);
}


/* ---------------------------------------------------------
 * LISTAS
 * Se conserva comportamiento actual.
 * --------------------------------------------------------- */

:is(body, .sytec-page-main)
:is(ul, ol):not(.sytec-menu):not(.sytec-footer-menu) {
	font-size: var(--sytec-list-size-tablet);
}


/* ---------------------------------------------------------
 * SMALL
 * --------------------------------------------------------- */

:is(body, .sytec-page-main) small {
	font-size: var(--sytec-small-size-tablet);
}


/* ---------------------------------------------------------
 * BLOCKQUOTE
 * --------------------------------------------------------- */

:is(body, .sytec-page-main) blockquote {
	font-size: var(--sytec-blockquote-size-tablet);
}


/* ---------------------------------------------------------
 * LABELS
 * --------------------------------------------------------- */

:is(body, .sytec-page-main) label,
.sytec-page-main .woocommerce label {
	font-size: var(--sytec-label-size-tablet);
}


/* ---------------------------------------------------------
 * PRECIOS WOOCOMMERCE
 * --------------------------------------------------------- */

.sytec-page-main .woocommerce :is(
	.price,
	p.price,
	span.price
),
.sytec-page-main
.woocommerce
ul.products
li.product
.price,
.sytec-page-main
.woocommerce
div.product
.sytec-product-purchase-card
:is(
	p.price,
	span.price
) {
	font-size: var(--sytec-body-size-tablet);
}
}

@media (max-width: 767px) {
body,
.sytec-page-main {
	font-size: var(--sytec-body-size-mobile);
}

:where(body, .sytec-page-main) p:where(:not(.sytec-eyebrow):not(.sytec-hero-description):not(.has-custom-font-size):not([class*="has-"][class*="-font-size"])) {
	font-size: var(--sytec-paragraph-size-mobile);
}

.sytec-page-main a:not(.wp-block-sytec-button) {
	font-size: var(--sytec-link-size-mobile);
}

:where(body, .sytec-page-main) h1:where(:not(.sytec-hero-title):not(.has-custom-font-size):not([class*="has-"][class*="-font-size"])) {
	font-size: var(--sytec-h1-size-mobile);
}

.sytec-page-main .woocommerce div.product .product_title,
.sytec-page-main .woocommerce div.product .sytec-product-summary .product_title {
	font-size: var(--sytec-h1-size-mobile);
}

:where(body, .sytec-page-main) h2:where(:not(.sytec-hero-title):not(.has-custom-font-size):not([class*="has-"][class*="-font-size"])) {
	font-size: var(--sytec-h2-size-mobile);
}

.sytec-page-main :is(
	.woocommerce-tabs,
	.cart_totals,
	.woocommerce-MyAccount-content
) h2,
.sytec-page-main .sytec-product-section > h2 {
	font-size: var(--sytec-h2-size-mobile);
}

:where(body, .sytec-page-main) h3:where(:not(.has-custom-font-size):not([class*="has-"][class*="-font-size"])) {
	font-size: var(--sytec-h3-size-mobile);
}

.sytec-page-main :is(
	.woocommerce-loop-product__title,
	.woocommerce-checkout h3
),
.sytec-page-main
.woocommerce
ul.products
li.product
.woocommerce-loop-product__title {
	font-size: var(--sytec-h3-size-mobile);
}

:where(body, .sytec-page-main) h4:where(:not(.has-custom-font-size):not([class*="has-"][class*="-font-size"])) {
	font-size: var(--sytec-h4-size-mobile);
}

:where(body, .sytec-page-main) h5:where(:not(.has-custom-font-size):not([class*="has-"][class*="-font-size"])) {
	font-size: var(--sytec-h5-size-mobile);
}

:where(body, .sytec-page-main) h6:where(:not(.has-custom-font-size):not([class*="has-"][class*="-font-size"])) {
	font-size: var(--sytec-h6-size-mobile);
}

:is(body, .sytec-page-main)
:is(ul, ol):not(.sytec-menu):not(.sytec-footer-menu) {
	font-size: var(--sytec-list-size-mobile);
}

:is(body, .sytec-page-main) small {
	font-size: var(--sytec-small-size-mobile);
}

:is(body, .sytec-page-main) blockquote {
	font-size: var(--sytec-blockquote-size-mobile);
}

:is(body, .sytec-page-main) label,
.sytec-page-main .woocommerce label {
	font-size: var(--sytec-label-size-mobile);
}

.sytec-page-main .woocommerce :is(
	.price,
	p.price,
	span.price
),
.sytec-page-main
.woocommerce
ul.products
li.product
.price,
.sytec-page-main
.woocommerce
div.product
.sytec-product-purchase-card
:is(
	p.price,
	span.price
) {
	font-size: var(--sytec-body-size-mobile);
}}

.sytec-page-section {
  width: 100%;
  min-width: 0;
}

.sytec-page-container,
.sytec-page-container.sytec-container {
  box-sizing: border-box;
  width: min(
    calc(100% - (var(--sytec-container-padding) * 2)),
    var(--sytec-container-max-width, var(--sytec-page-max-width, var(--sytec-template-content-width)))
  );
  max-width: none;
  min-width: 0;
  margin: var(--sytec-page-margin-top, 0) auto var(--sytec-page-margin-bottom, 0);
  padding: var(--sytec-container-padding-top, var(--sytec-page-padding-top, var(--sytec-template-padding-top)))
    0
    var(--sytec-container-padding-bottom, var(--sytec-page-padding-bottom, var(--sytec-template-padding-bottom)));
  border: var(--sytec-page-border-width, 0) var(--sytec-page-border-style, solid) var(--sytec-page-border-color, #e5e7eb);
  border-radius: var(--sytec-page-radius, 0);
  background: var(--sytec-page-background, #fff);
  box-shadow: var(--sytec-page-shadow, none);
}

.sytec-page-content {
  box-sizing: border-box;
  width: 100%;
  min-width: 0;
  display: flex;
  flex-direction: column;
  padding-block: 0;
  gap: var(--sytec-content-gap, var(--sytec-page-gap, var(--sytec-template-gap)));
  column-gap: var(--sytec-page-column-gap, var(--sytec-page-gap));
  row-gap: var(--sytec-page-row-gap, var(--sytec-page-gap));
  align-items: var(--sytec-page-align-items, stretch);
  justify-content: var(--sytec-page-justify-content, start);
}

.sytec-layout-full .sytec-page-container {
  width: calc(100% - (var(--sytec-container-padding) * 2));
  max-width: none;
}

.sytec-layout-narrow .sytec-page-container {
  max-width: var(--sytec-page-narrow-width, var(--sytec-template-narrow-width));
}

.sytec-template-content {
  width: 100%;
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: var(--sytec-template-gap);
}

.sytec-page-main .sytec-entry-content > :is(.wp-block-sytec-hero, .wp-block-sytec-hero-section).alignfull,
body.sytec-header-overlay .sytec-page-main .sytec-entry-content > :is(.wp-block-sytec-hero, .wp-block-sytec-hero-section):first-child {
  width: 100vw;
  max-width: 100vw;
  margin-inline: calc(50% - 50vw);
}

.sytec-page-main:has(.sytec-entry-content > :is(.wp-block-sytec-hero, .wp-block-sytec-hero-section).alignfull),
body.sytec-header-overlay .sytec-page-main:has(.sytec-entry-content > :is(.wp-block-sytec-hero, .wp-block-sytec-hero-section):first-child) {
  overflow-x: clip;
}

.sytec-page-container:has(.sytec-entry-content > :is(.wp-block-sytec-hero, .wp-block-sytec-hero-section, .wp-block-sytec-scenic-hero):first-child) {
  padding-top: 0;
}

.sytec-template-content--full {
  width: 100%;
  max-width: none;
}

.sytec-template-content--narrow {
  width: min(100% - 40px, var(--sytec-template-narrow-width));
  margin-inline: auto;
}

.sytec-page-content > *,
.sytec-woocommerce-container,
.sytec-woocommerce-container .woocommerce,
.sytec-woocommerce-container ul.products {
  min-width: 0;
  max-width: 100%;
}

.sytec-woocommerce-container ul.products,
.woocommerce ul.products {
  width: 100%;
  min-width: 0;
}

/* Botones globales: el selector excluye controles iconográficos y acciones de cierre. */
:is(
  .sytec-button,
  .sytec-page-main .button,
  .sytec-page-main .wp-element-button,
  .sytec-page-main input[type="submit"],
  .sytec-page-main input[type="button"],
  .woocommerce a.button,
  .woocommerce button.button,
  .woocommerce input.button,
  .woocommerce #respond input#submit
):not(.wp-block-sytec-button):not(.sytec-icon-button):not(.sytec-menu-toggle):not(.sytec-mobile-close):not(.sytec-submenu-toggle):not(.sytec-carousel-button):not(.swiper-button-prev):not(.swiper-button-next):not(.slick-arrow):not(.modal-close):not(.dialog-close-button):not(.remove):not(.qty) {
  --sytec-button-current-background: var(--sytec-button-primary-background);
  --sytec-button-current-text: var(--sytec-button-primary-text);
  --sytec-button-current-border: var(--sytec-button-primary-border);
  --sytec-button-current-background-hover: var(--sytec-button-primary-background-hover);
  --sytec-button-current-text-hover: var(--sytec-button-primary-text-hover);
  --sytec-button-current-border-hover: var(--sytec-button-primary-border-hover);
  display: inline-flex;
  min-height: var(--sytec-button-min-height);
  padding: var(--sytec-button-padding-block) var(--sytec-button-padding-inline);
  align-items: center;
  justify-content: center;
  border-width: var(--sytec-button-border-width);
  border-style: var(--sytec-button-border-style);
  border-color: var(--sytec-button-current-border);
  border-radius: var(--sytec-button-radius);
  background: var(--sytec-button-current-background);
  box-shadow: var(--sytec-button-shadow);
  color: var(--sytec-button-current-text);
  cursor: pointer;
  font-size: var(--sytec-button-font-size);
  font-weight: var(--sytec-button-font-weight);
  letter-spacing: var(--sytec-button-letter-spacing);
  line-height: var(--sytec-button-line-height);
  text-decoration: none;
  text-transform: var(--sytec-button-text-transform);
  transition:
    background-color var(--sytec-button-transition),
    border-color var(--sytec-button-transition),
    box-shadow var(--sytec-button-transition),
    color var(--sytec-button-transition),
    transform var(--sytec-button-transition);
}

:is(
  .sytec-button,
  .sytec-page-main .button,
  .sytec-page-main .wp-element-button,
  .sytec-page-main input[type="submit"],
  .sytec-page-main input[type="button"],
  .woocommerce a.button,
  .woocommerce button.button,
  .woocommerce input.button,
  .woocommerce #respond input#submit
):not(.wp-block-sytec-button):not(.sytec-icon-button):not(.sytec-menu-toggle):not(.sytec-mobile-close):not(.sytec-submenu-toggle):not(.sytec-carousel-button):not(.swiper-button-prev):not(.swiper-button-next):not(.slick-arrow):not(.modal-close):not(.dialog-close-button):not(.remove):not(.qty):hover:not(:disabled):not([aria-disabled="true"]) {
  border-color: var(--sytec-button-current-border-hover);
  background: var(--sytec-button-current-background-hover);
  box-shadow: var(--sytec-button-shadow-hover);
  color: var(--sytec-button-current-text-hover);
  transform: translateY(var(--sytec-button-hover-translate-y));
}

:is(
  .sytec-button,
  .sytec-page-main .button,
  .sytec-page-main .wp-element-button,
  .sytec-page-main input[type="submit"],
  .sytec-page-main input[type="button"],
  .woocommerce a.button,
  .woocommerce button.button,
  .woocommerce input.button,
  .woocommerce #respond input#submit
):not(.wp-block-sytec-button):not(.sytec-icon-button):not(.sytec-menu-toggle):not(.sytec-mobile-close):not(.sytec-submenu-toggle):not(.sytec-carousel-button):not(.swiper-button-prev):not(.swiper-button-next):not(.slick-arrow):not(.modal-close):not(.dialog-close-button):not(.remove):not(.qty):focus-visible {
  outline: 3px solid var(--sytec-button-focus-color);
  outline-offset: 2px;
}

:is(
  .sytec-button,
  .sytec-page-main .button,
  .sytec-page-main .wp-element-button,
  .sytec-page-main input[type="submit"],
  .sytec-page-main input[type="button"],
  .woocommerce a.button,
  .woocommerce button.button,
  .woocommerce input.button,
  .woocommerce #respond input#submit
):not(.wp-block-sytec-button):not(.sytec-icon-button):not(.sytec-menu-toggle):not(.sytec-mobile-close):not(.sytec-submenu-toggle):not(.sytec-carousel-button):not(.swiper-button-prev):not(.swiper-button-next):not(.slick-arrow):not(.modal-close):not(.dialog-close-button):not(.remove):not(.qty):is(:disabled, [aria-disabled="true"]) {
  opacity: var(--sytec-button-disabled-opacity);
  cursor: var(--sytec-button-disabled-cursor);
  transform: none;
}

:is(.sytec-button, .sytec-page-main .button, .sytec-page-main .wp-element-button, .woocommerce a.button, .woocommerce button.button, .woocommerce input.button).sytec-button--primary {
  --sytec-button-current-background: var(--sytec-button-primary-background);
  --sytec-button-current-text: var(--sytec-button-primary-text);
  --sytec-button-current-border: var(--sytec-button-primary-border);
  --sytec-button-current-background-hover: var(--sytec-button-primary-background-hover);
  --sytec-button-current-text-hover: var(--sytec-button-primary-text-hover);
  --sytec-button-current-border-hover: var(--sytec-button-primary-border-hover);
}

:is(.sytec-button, .sytec-page-main .button, .sytec-page-main .wp-element-button, .woocommerce a.button, .woocommerce button.button, .woocommerce input.button).sytec-button--secondary {
  --sytec-button-current-background: var(--sytec-button-secondary-background);
  --sytec-button-current-text: var(--sytec-button-secondary-text);
  --sytec-button-current-border: var(--sytec-button-secondary-border);
  --sytec-button-current-background-hover: var(--sytec-button-secondary-background-hover);
  --sytec-button-current-text-hover: var(--sytec-button-secondary-text-hover);
  --sytec-button-current-border-hover: var(--sytec-button-secondary-border-hover);
}

:is(.sytec-button, .sytec-page-main .button, .sytec-page-main .wp-element-button, .woocommerce a.button, .woocommerce button.button, .woocommerce input.button).sytec-button--outline {
  --sytec-button-current-background: var(--sytec-button-outline-background);
  --sytec-button-current-text: var(--sytec-button-outline-text);
  --sytec-button-current-border: var(--sytec-button-outline-border);
  --sytec-button-current-background-hover: var(--sytec-button-outline-background-hover);
  --sytec-button-current-text-hover: var(--sytec-button-outline-text-hover);
  --sytec-button-current-border-hover: var(--sytec-button-outline-border-hover);
}

:is(.sytec-button, .sytec-page-main .button, .sytec-page-main .wp-element-button, .woocommerce a.button).sytec-button--link {
  min-height: auto;
  padding-inline: 0;
  border-color: transparent;
  background: transparent;
  box-shadow: none;
  color: var(--sytec-button-primary-background);
}

:is(.sytec-button, .sytec-page-main .button, .sytec-page-main .wp-element-button, .woocommerce a.button).sytec-button--link:hover {
  border-color: transparent;
  background: transparent;
  box-shadow: none;
  color: var(--sytec-button-primary-background-hover);
  transform: none;
}

.sytec-template-grid,
.sytec-template-blog-grid {
  display: grid;
  grid-template-columns: repeat(var(--sytec-template-columns), minmax(0, 1fr));
  gap: var(--sytec-template-gap);
}

.sytec-template-display-list .sytec-template-blog-grid,
.sytec-template-display-list .sytec-card-grid {
  grid-template-columns: minmax(0, 1fr);
}

.sytec-product-card-classic ul.products li.product,
.sytec-product-card-minimal ul.products li.product,
.sytec-product-card-commercial ul.products li.product,
.sytec-product-card-editorial ul.products li.product,
.sytec-product-card-compact ul.products li.product {
  display: flex;
  padding: var(--sytec-product-card-padding);
  flex-direction: column;
  text-align: inherit;
  border-radius: var(--sytec-product-card-radius);
  overflow: hidden;
  position: relative;
}

.sytec-card-align-center ul.products li.product {
  text-align: center;
}

.sytec-card-align-right ul.products li.product {
  text-align: right;
}

.sytec-product-card-classic ul.products li.product,
.sytec-product-card-commercial ul.products li.product {
  border: 1px solid #e2e8f0;
  background: #fff;
}

.sytec-product-card-commercial ul.products li.product {
  box-shadow: var(--sytec-shadow-small);
}

.sytec-product-card-minimal ul.products li.product {
  padding-inline: 0;
}

.sytec-product-card-compact ul.products li.product {
  --sytec-product-card-padding: 10px;
}

ul.products li.product.sytec-product-card--no-border {
  border-color: transparent;
}

ul.products li.product.sytec-product-card--no-shadow {
  box-shadow: none;
}

ul.products li.product.sytec-product-card--equal {
  height: 100%;
}

@media (max-width: 767px) {
  .sytec-template-grid,
  .sytec-template-blog-grid {
    grid-template-columns: minmax(0, 1fr);
  }
}

.sytec-card-hover-lift ul.products li.product {
  transition: transform 180ms ease, box-shadow 180ms ease;
}

.sytec-card-hover-lift ul.products li.product:hover {
  transform: translateY(-5px);
  box-shadow: 0 14px 34px rgba(15, 23, 42, 0.12);
}

ul.products li.product img {
  aspect-ratio: var(--sytec-product-image-ratio);
  object-fit: cover;
}

.sytec-product-card__second-image {
  position: absolute;
  z-index: 1;
  top: var(--sytec-product-card-padding);
  left: var(--sytec-product-card-padding);
  width: calc(100% - (var(--sytec-product-card-padding) * 2));
  opacity: 0;
  transition: opacity 180ms ease;
}

li.product:hover .sytec-product-card__second-image {
  opacity: 1;
}

.sytec-product-hide-categories .product_meta .posted_in,
.sytec-product-hide-stock div.product .stock {
  display: none;
}

.sytec-card-object-contain ul.products li.product img {
  object-fit: contain;
}

.sytec-single-product-sticky .product .summary,
.sytec-cart-sticky .cart-collaterals,
.sytec-checkout-sticky #order_review {
  position: sticky;
  top: calc(var(--sytec-header-height, 78px) + 24px);
  align-self: start;
}

.sytec-template-single_product div.product div.images {
  width: var(--sytec-product-gallery-width);
}

.sytec-template-single_product div.product div.summary {
  width: calc(96% - var(--sytec-product-gallery-width));
}

.sytec-account-side .woocommerce {
  display: grid;
  grid-template-columns: clamp(240px, var(--sytec-account-menu-width), 280px) minmax(0, 1fr);
  gap: var(--sytec-template-gap);
  align-items: start;
}

.sytec-account-top .woocommerce-MyAccount-navigation {
  grid-column: 1 / -1;
}

.sytec-account-top .woocommerce {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
}

.sytec-checkout-one_column form.checkout {
  display: block;
}

.sytec-checkout-trust {
  padding: 14px 18px;
  border: 1px solid #bbf7d0;
  border-radius: var(--sytec-radius-medium);
  color: #166534;
  background: #f0fdf4;
}

.sytec-checkout-steps {
  display: grid;
  padding: 0;
  margin: 0 0 28px;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
  list-style: none;
  counter-reset: checkout-step;
}

.sytec-checkout-steps li {
  padding: 10px 14px;
  border-radius: var(--sytec-radius-medium);
  color: #64748b;
  background: #f1f5f9;
}

.sytec-checkout-steps li.is-current {
  color: #fff;
  background: var(--sytec-color-accent);
}

.woocommerce form .form-row.woocommerce-invalid input.input-text {
  border-color: var(--sytec-checkout-validation);
}

.sytec-account-intro {
  display: flex;
  min-width: 0;
  margin: 0;
  gap: 12px;
  align-items: center;
}

.sytec-account-intro img {
  border-radius: 50%;
}

.sytec-account-help {
  padding: 14px 18px;
  margin-top: 24px;
  border-radius: var(--sytec-radius-medium);
  background: #f1f5f9;
}

@media (max-width: 767px) {
  .sytec-template-header {
    min-height: var(--sytec-page-header-height-mobile);
    background-image: var(--sytec-page-header-image-mobile, var(--sytec-page-header-image, none));
  }

  .sytec-template-grid,
  .sytec-template-blog-grid,
  .sytec-card-grid {
    grid-template-columns: minmax(0, 1fr);
  }

  .sytec-account-side .woocommerce {
    grid-template-columns: minmax(0, 1fr);
  }

  .sytec-single-product-sticky .product .summary,
  .sytec-cart-sticky .cart-collaterals,
  .sytec-checkout-sticky #order_review {
    position: static;
  }

  .sytec-template-single_product div.product div.images,
  .sytec-template-single_product div.product div.summary {
    width: 100%;
  }
}
