/* Catálogo */
.sytec-commerce-main {
  min-width: 0;
}

.woocommerce .woocommerce-breadcrumb {
  margin-bottom: 1.5rem;
  color: var(--sytec-color-muted);
  font-size: 0.9rem;
}

.woocommerce .woocommerce-result-count,
.woocommerce .woocommerce-ordering {
  margin-bottom: 2rem;
}

.woocommerce .woocommerce-ordering select {
  min-width: 220px;
}

.woocommerce ul.products {
  display: grid;
  clear: both;
  box-sizing: border-box;
  width: 100%;
  min-width: 0;
  grid-template-columns: repeat(var(--sytec-product-columns, 4), minmax(0, 1fr));
  gap: clamp(1rem, 2.5vw, 2rem);
}

.woocommerce ul.products::before,
.woocommerce ul.products::after {
  display: none;
}

.woocommerce ul.products li.product,
.woocommerce-page ul.products li.product {
  width: auto;
  min-width: 0;
  margin: 0;
  overflow: hidden;
  border: 1px solid var(--sytec-color-border);
  border-radius: var(--sytec-product-radius, var(--sytec-radius-large));
  background: var(--sytec-color-secondary);
  box-shadow: var(--sytec-product-card-shadow, var(--sytec-shadow-small));
}

.woocommerce ul.products li.product a img {
  width: 100%;
  margin: 0;
  aspect-ratio: 1 / 1;
  object-fit: cover;
}

.woocommerce ul.products li.product .woocommerce-loop-product__title,
.woocommerce ul.products li.product .price,
.woocommerce ul.products li.product .button {
  margin-inline: 1rem;
}

.woocommerce ul.products li.product .woocommerce-loop-product__title {
  padding-top: 1rem;
  color: var(--sytec-color-primary);
  font-size: 1.1rem;
}

.woocommerce ul.products li.product .price {
  color: var(--sytec-color-accent);
  font-size: 1rem;
  font-weight: 750;
}

.woocommerce ul.products li.product .button {
  margin-top: 0.5rem;
  margin-bottom: 1rem;
}

.woocommerce span.onsale {
  min-width: auto;
  min-height: auto;
  padding: 0.35rem 0.65rem;
  border-radius: 999px;
  background: var(--sytec-product-button, var(--sytec-color-accent));
  line-height: 1.2;
}

/* Botones y mensajes */
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit,
.woocommerce a.button.alt,
.woocommerce button.button.alt,
.woocommerce input.button.alt {
  min-height: var(--sytec-button-min-height);
  padding: var(--sytec-button-padding-block) var(--sytec-button-padding-inline);
  border-width: var(--sytec-button-border-width);
  border-style: var(--sytec-button-border-style);
  border-color: var(--sytec-button-primary-border);
  border-radius: var(--sytec-button-radius);
  background: var(--sytec-button-primary-background);
  box-shadow: var(--sytec-button-shadow);
  color: var(--sytec-button-primary-text);
  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-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);
}

.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover,
.woocommerce #respond input#submit:hover,
.woocommerce a.button.alt:hover,
.woocommerce button.button.alt:hover,
.woocommerce input.button.alt:hover {
  border-color: var(--sytec-button-primary-border-hover);
  background: var(--sytec-button-primary-background-hover);
  box-shadow: var(--sytec-button-shadow-hover);
  color: var(--sytec-button-primary-text-hover);
  transform: translateY(var(--sytec-button-hover-translate-y));
}

/* Cards: variante primaria global con especificidad superior al estilo interno. */
.woocommerce ul.products li.product .button,
.woocommerce ul.products li.product a.button,
.woocommerce ul.products li.product .add_to_cart_button,
.woocommerce-page ul.products li.product .button,
.woocommerce-page ul.products li.product a.button,
.woocommerce-page ul.products li.product .add_to_cart_button,
.sytec-product-card .button,
.sytec-product-card .add_to_cart_button,
.wc-block-grid__product .wp-block-button__link,
.wc-block-grid__product .add_to_cart_button,
.wc-block-grid__product .wc-block-grid__product-add-to-cart.wp-block-button .wp-block-button__link,
.wc-block-components-product-button__button,
.wp-block-woocommerce-product-collection .wc-block-components-product-button .wc-block-components-product-button__button,
.wp-block-woocommerce-product-collection .add_to_cart_button {
  min-height: var(--sytec-button-min-height);
  padding: var(--sytec-button-padding-block) var(--sytec-button-padding-inline);
  border-width: var(--sytec-button-border-width);
  border-style: var(--sytec-button-border-style);
  border-color: var(--sytec-button-primary-border);
  border-radius: var(--sytec-button-radius);
  background: var(--sytec-button-primary-background);
  box-shadow: var(--sytec-button-shadow);
  color: var(--sytec-button-primary-text);
  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-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);
}

.woocommerce ul.products li.product .button:hover:not(.loading):not(:disabled):not([aria-disabled="true"]),
.woocommerce ul.products li.product a.button:hover:not(.loading):not([aria-disabled="true"]),
.woocommerce ul.products li.product .add_to_cart_button:hover:not(.loading):not([aria-disabled="true"]),
.woocommerce-page ul.products li.product .button:hover:not(.loading):not(:disabled):not([aria-disabled="true"]),
.woocommerce-page ul.products li.product a.button:hover:not(.loading):not([aria-disabled="true"]),
.woocommerce-page ul.products li.product .add_to_cart_button:hover:not(.loading):not([aria-disabled="true"]),
.sytec-product-card .button:hover:not(.loading):not(:disabled):not([aria-disabled="true"]),
.sytec-product-card .add_to_cart_button:hover:not(.loading):not([aria-disabled="true"]),
.wc-block-grid__product .wp-block-button__link:hover:not(.loading):not([aria-disabled="true"]),
.wc-block-grid__product .add_to_cart_button:hover:not(.loading):not([aria-disabled="true"]),
.wc-block-grid__product .wc-block-grid__product-add-to-cart.wp-block-button .wp-block-button__link:hover:not(.loading):not([aria-disabled="true"]),
.wc-block-components-product-button__button:hover:not(.loading):not(:disabled):not([aria-disabled="true"]),
.wp-block-woocommerce-product-collection .wc-block-components-product-button .wc-block-components-product-button__button:hover:not(.loading):not(:disabled):not([aria-disabled="true"]),
.wp-block-woocommerce-product-collection .add_to_cart_button:hover:not(.loading):not([aria-disabled="true"]) {
  border-color: var(--sytec-button-primary-border-hover);
  background: var(--sytec-button-primary-background-hover);
  box-shadow: var(--sytec-button-shadow-hover);
  color: var(--sytec-button-primary-text-hover);
  transform: translateY(var(--sytec-button-hover-translate-y));
}

.woocommerce ul.products li.product .button:focus-visible,
.woocommerce ul.products li.product .add_to_cart_button:focus-visible,
.woocommerce-page ul.products li.product .button:focus-visible,
.woocommerce-page ul.products li.product .add_to_cart_button:focus-visible,
.sytec-product-card .button:focus-visible,
.sytec-product-card .add_to_cart_button:focus-visible,
.wc-block-grid__product .wp-block-button__link:focus-visible,
.wc-block-grid__product .add_to_cart_button:focus-visible,
.wc-block-grid__product .wc-block-grid__product-add-to-cart.wp-block-button .wp-block-button__link:focus-visible,
.wc-block-components-product-button__button:focus-visible,
.wp-block-woocommerce-product-collection .wc-block-components-product-button .wc-block-components-product-button__button:focus-visible,
.wp-block-woocommerce-product-collection .add_to_cart_button:focus-visible {
  outline: 3px solid var(--sytec-button-focus-color);
  outline-offset: 2px;
}

.woocommerce ul.products li.product .button:is(:disabled, [aria-disabled="true"]),
.woocommerce ul.products li.product .add_to_cart_button[aria-disabled="true"],
.woocommerce-page ul.products li.product .button:is(:disabled, [aria-disabled="true"]),
.woocommerce-page ul.products li.product .add_to_cart_button[aria-disabled="true"],
.sytec-product-card .button:is(:disabled, [aria-disabled="true"]),
.sytec-product-card .add_to_cart_button[aria-disabled="true"],
.wc-block-grid__product .wp-block-button__link[aria-disabled="true"],
.wc-block-grid__product .add_to_cart_button[aria-disabled="true"],
.wc-block-grid__product .wc-block-grid__product-add-to-cart.wp-block-button .wp-block-button__link[aria-disabled="true"],
.wc-block-components-product-button__button:is(:disabled, [aria-disabled="true"]),
.wp-block-woocommerce-product-collection .wc-block-components-product-button .wc-block-components-product-button__button:is(:disabled, [aria-disabled="true"]),
.wp-block-woocommerce-product-collection .add_to_cart_button[aria-disabled="true"] {
  opacity: var(--sytec-button-disabled-opacity);
  cursor: var(--sytec-button-disabled-cursor);
  transform: none;
}

.woocommerce ul.products li.product .add_to_cart_button.loading,
.woocommerce-page ul.products li.product .add_to_cart_button.loading,
.sytec-product-card .add_to_cart_button.loading,
.wc-block-grid__product .add_to_cart_button.loading,
.wc-block-grid__product .wc-block-grid__product-add-to-cart.wp-block-button .wp-block-button__link.loading,
.wc-block-components-product-button__button.loading,
.wp-block-woocommerce-product-collection .wc-block-components-product-button .wc-block-components-product-button__button.loading,
.wp-block-woocommerce-product-collection .add_to_cart_button.loading {
  border-color: var(--sytec-button-primary-border);
  background: var(--sytec-button-primary-background);
  box-shadow: var(--sytec-button-shadow);
  color: var(--sytec-button-primary-text);
  cursor: wait;
  transform: none;
}

.woocommerce-message,
.woocommerce-info,
.woocommerce-error {
  padding: 1rem 1rem 1rem 3rem;
  border: 1px solid var(--sytec-color-border);
  border-top: 0;
  border-inline-start: 4px solid var(--sytec-color-accent);
  border-radius: var(--sytec-radius-medium);
  background: var(--sytec-color-surface);
  color: var(--sytec-color-text);
}

.woocommerce-message {
  border-inline-start-color: var(--sytec-color-success);
}

.woocommerce-error {
  border-inline-start-color: var(--sytec-color-error);
}

/* Producto individual */
.woocommerce div.product {
  display: flow-root;
}

.woocommerce div.product div.images,
.woocommerce div.product div.summary {
  margin-bottom: 3rem;
}

.woocommerce div.product div.images img {
  border-radius: var(--sytec-radius-large);
}

.woocommerce div.product .product_title {
  font-size: clamp(2rem, 5vw, 3.75rem);
}

.woocommerce div.product p.price,
.woocommerce div.product span.price {
  color: var(--sytec-color-accent);
  font-size: clamp(1.35rem, 3vw, 2rem);
  font-weight: 800;
}

.woocommerce div.product form.cart {
  display: flex;
  margin-block: 1.5rem;
  flex-wrap: wrap;
  gap: 0.75rem;
}

.woocommerce .quantity .qty {
  width: 5rem;
  min-height: 46px;
}

.woocommerce div.product form.cart .variations {
  width: 100%;
}

.woocommerce div.product form.cart .variations td,
.woocommerce div.product form.cart .variations th {
  border: 0;
  background: transparent;
}

.woocommerce div.product .woocommerce-tabs {
  clear: both;
  padding-top: 1rem;
}

.woocommerce div.product .woocommerce-tabs ul.tabs {
  display: flex;
  padding: 0;
  gap: 0.5rem;
  overflow-x: auto;
}

.woocommerce div.product .woocommerce-tabs ul.tabs::before,
.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 {
  margin: 0;
  padding: 0;
  border: 1px solid var(--sytec-color-border);
  border-radius: var(--sytec-radius-medium);
  background: var(--sytec-color-surface);
}

.woocommerce div.product .woocommerce-tabs ul.tabs li a {
  padding: 0.7rem 1rem;
}

/* Carrito y checkout */
.woocommerce table.shop_table {
  border-color: var(--sytec-color-border);
  border-radius: var(--sytec-radius-medium);
}

.woocommerce table.shop_table th,
.woocommerce table.shop_table td {
  padding: 0.2rem;
  border-color: var(--sytec-color-border);
}

.woocommerce-cart table.cart img {
  width: 72px;
  border-radius: var(--sytec-radius-small);
}

.woocommerce-cart table.cart td.actions .coupon {
  display: flex;
  gap: 0.5rem;
}

.woocommerce-cart table.cart td.actions .coupon .input-text {
  width: min(220px, 100%);
  min-height: 46px;
}

.woocommerce .cart-collaterals .cart_totals,
.woocommerce-checkout #order_review {
  padding: 1.25rem;
  border: 1px solid var(--sytec-color-border);
  border-radius: var(--sytec-radius-large);
  background: var(--sytec-color-surface);
}

.woocommerce form .form-row {
  margin-bottom: 1rem;
}

.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce form .form-row select,
.woocommerce .select2-container .select2-selection--single {
  min-height: 48px;
  border: 1px solid var(--sytec-color-border);
  border-radius: var(--sytec-radius-medium);
}

.woocommerce .select2-container .select2-selection--single .select2-selection__rendered {
  padding-block: 0.55rem;
}

.woocommerce-checkout #payment {
  border: 1px solid var(--sytec-color-border);
  border-radius: var(--sytec-radius-large);
  background: var(--sytec-color-surface);
}

.woocommerce-checkout #payment div.payment_box {
  background: var(--sytec-color-secondary);
}

/* Mi cuenta */
.woocommerce-account .sytec-woocommerce-container {
  width: 100%;
  max-width: var(--sytec-container-max-width, 1500px);
}

body.woocommerce-account.logged-in .sytec-account-main,
body.woocommerce-account.logged-in .sytec-page-section,
body.woocommerce-account.logged-in .sytec-page-content,
body.woocommerce-account.logged-in .sytec-page-content > .sytec-page-entry,
body.woocommerce-account.logged-in .sytec-entry-content,
body.woocommerce-account.logged-in .sytec-page-content > .woocommerce {
  width: 100%;
  max-width: none;
  min-width: 0;
}

body.woocommerce-account.logged-in .sytec-page-content {
  grid-template-columns: minmax(0, 1fr);
}

body.woocommerce-account.logged-in .sytec-page-content > .sytec-page-entry {
  grid-column: 1 / -1;
}

body.woocommerce-account:not(.logged-in) .sytec-entry-content > .woocommerce {
  display: block;
  width: 100%;
  max-width: 760px;
  margin-inline: auto;
}

.sytec-auth-shell {
  width: 100%;
  max-width: 760px;
  margin-inline: auto;
}

body.sytec-registration-page .sytec-page-content > .sytec-page-entry {
  width: 100%;
  max-width: none;
  grid-column: 1 / -1;
}

body.sytec-registration-page .sytec-page-content {
  grid-template-columns: minmax(0, 1fr);
}

.sytec-auth-card {
  display: grid;
  gap: 1.35rem;
  width: 100%;
  padding: clamp(1.35rem, 4vw, 2.25rem);
  border: 1px solid var(--sytec-color-border);
  border-radius: var(--sytec-radius-large);
  background: #fff;
  box-shadow: 0 18px 45px rgb(15 23 42 / 8%);
}

.sytec-auth-card__header {
  display: grid;
  gap: 0.55rem;
}

.sytec-auth-card__header > *,
.sytec-auth-card > p,
.sytec-auth-card__footer {
  margin: 0;
}

.sytec-auth-card__header h2 {
  margin: 0;
  color: var(--sytec-color-primary);
}

.sytec-auth-card__header p,
.sytec-auth-card > p,
.sytec-auth-card__help {
  max-width: 62ch;
  color: var(--sytec-color-muted);
}

.sytec-auth-card__eyebrow {
  color: var(--sytec-color-accent) !important;
  font-size: 0.78rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  line-height: 1.3;
  text-transform: uppercase;
}

.woocommerce .sytec-auth-card form.login,
.woocommerce .sytec-auth-card form.register,
.woocommerce .sytec-auth-card form.lost_reset_password {
  display: grid;
  gap: 1rem;
  width: 100%;
  margin: 0;
  padding: 0;
  border: 0;
}

.woocommerce .sytec-auth-card form .form-row {
  float: none;
  width: 100%;
  margin: 0;
  padding: 0;
}

.woocommerce .sytec-auth-card form .input-text {
  width: 100%;
}

.sytec-auth-card__form-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.85rem 1rem;
  align-items: center;
  justify-content: space-between;
}

.sytec-auth-card__form-actions .woocommerce-form-login__rememberme {
  display: inline-flex;
  gap: 0.5rem;
  align-items: center;
  margin: 0;
}

.sytec-auth-card__form-actions .woocommerce-form-login__rememberme input {
  margin: 0;
}

.woocommerce .sytec-auth-card .lost_password {
  margin: 0;
}

.sytec-auth-card__footer {
  display: flex;
  flex-wrap: wrap;
  gap: 0.35rem 0.55rem;
  padding-top: 1rem;
  border-top: 1px solid var(--sytec-color-border);
  color: var(--sytec-color-muted);
}

.sytec-auth-card__footer a,
.sytec-auth-card__secondary-link {
  font-weight: 700;
}

.sytec-auth-card--session .button {
  justify-self: start;
}

.woocommerce-account .sytec-entry-content > .woocommerce {
  width: 100%;
  max-width: none;
  margin-inline: 0;
}

.woocommerce-account .woocommerce {
  display: grid;
  grid-template-columns: clamp(240px, var(--sytec-account-menu-width, 260px), 280px) minmax(0, 1fr);
  grid-template-rows: auto auto;
  width: 100%;
  column-gap: clamp(1.75rem, 3vw, 3rem);
  row-gap: 1rem;
  align-items: start;
}

.woocommerce-account .woocommerce::before,
.woocommerce-account .woocommerce::after {
  display: none;
}

.woocommerce-account .woocommerce > .sytec-account-intro {
  grid-column: 1;
  grid-row: 1;
  min-width: 0;
  margin: 0;
}

body.woocommerce-account.logged-in .sytec-account-intro {
  padding: 1rem 1.1rem;
  border-radius: var(--sytec-radius-large);
  background: linear-gradient(135deg, var(--sytec-color-primary) 0%, #172554 100%);
  box-shadow: 0 14px 34px rgb(15 23 42 / 14%);
  color: #fff;
}

body.woocommerce-account.logged-in .sytec-account-intro img {
  border: 3px solid rgb(255 255 255 / 78%);
}

.woocommerce-account .woocommerce-MyAccount-navigation,
.woocommerce-account .woocommerce-MyAccount-content {
  width: auto;
  min-width: 0;
  float: none;
}

.woocommerce-account .woocommerce-MyAccount-navigation {
  grid-column: 1;
  grid-row: 2;
}

.woocommerce-account .woocommerce-MyAccount-content {
  grid-column: 2;
  grid-row: 1 / span 2;
  width: 100%;
}

body.woocommerce-account.logged-in .woocommerce > .sytec-account-sidebar--service-detail,
body.woocommerce-account.logged-in .woocommerce > .sytec-account-sidebar--service-request-detail {
  display: grid;
  min-width: 0;
  grid-column: 1;
  grid-row: 1 / span 2;
  grid-template-rows: auto auto;
  gap: 1rem;
  align-content: start;
}

body.woocommerce-account.logged-in .woocommerce > .sytec-account-sidebar--service-request-detail {
  gap: 1.5rem;
}

body.woocommerce-account.logged-in .sytec-account-sidebar--service-detail > .sytec-account-intro,
body.woocommerce-account.logged-in .sytec-account-sidebar--service-request-detail > .sytec-account-intro {
  grid-row: 1;
  margin: 0;
}

body.woocommerce-account.logged-in .sytec-account-sidebar--service-detail > .woocommerce-MyAccount-navigation,
body.woocommerce-account.logged-in .sytec-account-sidebar--service-request-detail > .woocommerce-MyAccount-navigation {
  grid-column: auto;
  grid-row: 2;
  margin: 0;
}

body.woocommerce-account.logged-in .woocommerce > .sytec-account-sidebar--order-detail {
  display: grid;
  min-width: 0;
  grid-column: 1;
  grid-row: 1 / span 2;
  grid-template-rows: auto auto;
  gap: 1rem;
  align-content: start;
}

body.woocommerce-account.logged-in .sytec-account-sidebar--order-detail > .sytec-account-intro {
  grid-row: 1;
  margin: 0;
}

body.woocommerce-account.logged-in .sytec-account-sidebar--order-detail > .woocommerce-MyAccount-navigation {
  grid-column: auto;
  grid-row: 2;
  margin: 0;
}

.woocommerce-MyAccount-navigation ul {
  margin: 0;
  padding: 0;
  border: 1px solid var(--sytec-color-border);
  border-radius: var(--sytec-radius-medium);
  background: #fff;
  box-shadow: 0 12px 30px rgb(15 23 42 / 7%);
  list-style: none;
  overflow: hidden;
}

.woocommerce-MyAccount-navigation li + li {
  border-top: 1px solid var(--sytec-color-border);
}

.woocommerce-MyAccount-navigation a {
  display: block;
  padding: 0.95rem 1rem;
  border-inline-start: 3px solid transparent;
  color: var(--sytec-color-primary);
  text-decoration: none;
}

.woocommerce-MyAccount-navigation .is-active a,
.woocommerce-MyAccount-navigation a:hover {
  border-inline-start-color: var(--sytec-color-accent);
  background: #eff6ff;
  color: var(--sytec-color-accent);
}

.woocommerce-account .woocommerce-MyAccount-content > :first-child {
  margin-top: 0;
}

.woocommerce-account .sytec-account-dashboard {
  display: grid;
  min-height: clamp(520px, 62vh, 720px);
  grid-template-rows: auto auto minmax(0, 1fr);
  gap: 0;
  padding: 0;
  border: 1px solid var(--sytec-color-border);
  border-radius: var(--sytec-radius-large);
  background: var(--sytec-color-surface);
  box-shadow: 0 22px 55px rgb(15 23 42 / 10%);
  overflow: hidden;
}

.woocommerce-account .sytec-account-dashboard__header {
  display: flex;
  gap: 2rem;
  align-items: flex-start;
  justify-content: space-between;
  padding: clamp(1.75rem, 3vw, 2.75rem);
  background: linear-gradient(135deg, var(--sytec-color-primary) 0%, #172554 100%);
}

.woocommerce-account .sytec-account-dashboard__introduction {
  min-width: 0;
}

.woocommerce-account .sytec-account-dashboard__eyebrow {
  margin: 0 0 0.45rem;
  color: #93c5fd;
  font-size: 0.78rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  line-height: 1.3;
  text-transform: uppercase;
}

.woocommerce-account .sytec-account-dashboard__header h2 {
  margin: 0;
  color: #fff;
  font-size: clamp(1.75rem, 3vw, 2.4rem);
}

.woocommerce-account .sytec-account-dashboard__description {
  max-width: 72ch;
  margin: 0.75rem 0 0;
  color: #cbd5e1;
  font-size: 1.02rem;
}

.woocommerce-account .sytec-account-dashboard__logout {
  flex: 0 0 auto;
  margin: 0;
  padding: 0.35rem 0;
  color: #dbeafe;
  font-size: 0.9rem;
  font-weight: 600;
  text-decoration: underline;
  text-decoration-color: transparent;
  text-underline-offset: 0.2em;
}

.woocommerce-account .sytec-account-dashboard__logout:hover,
.woocommerce-account .sytec-account-dashboard__logout:focus-visible {
  color: #fff;
  text-decoration-color: currentcolor;
}

.woocommerce-account .sytec-account-dashboard__status {
  display: flex;
  flex-wrap: wrap;
  gap: 0.25rem 0.45rem;
  margin: clamp(1.25rem, 2vw, 1.75rem) clamp(1.25rem, 2.5vw, 2rem) 0;
  padding: 1rem 1.15rem;
  border-inline-start: 4px solid var(--sytec-color-accent);
  border-radius: var(--sytec-radius-medium);
  background: #fff;
  color: var(--sytec-color-muted);
  box-shadow: 0 6px 20px rgb(15 23 42 / 5%);
}

.woocommerce-account .sytec-account-dashboard__status strong {
  color: var(--sytec-color-primary);
}

.woocommerce-account .sytec-account-dashboard__actions {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  grid-auto-rows: minmax(135px, 1fr);
  gap: clamp(1rem, 2vw, 1.35rem);
  padding: clamp(1.25rem, 2.5vw, 2rem);
  align-content: stretch;
}

.woocommerce-account .sytec-account-dashboard__actions a {
  display: grid;
  gap: 0.5rem;
  align-content: center;
  min-width: 0;
  margin: 0;
  padding: clamp(1.25rem, 2.5vw, 1.75rem);
  border: 1px solid var(--sytec-color-border);
  border-radius: var(--sytec-radius-medium);
  background: #fff;
  color: var(--sytec-color-primary);
  text-decoration: none;
  transition: border-color 160ms ease, box-shadow 160ms ease, transform 160ms ease;
}

.woocommerce-account .sytec-account-dashboard__actions a:hover,
.woocommerce-account .sytec-account-dashboard__actions a:focus-visible {
  border-color: var(--sytec-color-accent);
  box-shadow: 0 10px 24px rgb(15 23 42 / 8%);
  color: var(--sytec-color-primary);
  transform: translateY(-2px);
}

.woocommerce-account .sytec-account-dashboard__actions span {
  color: var(--sytec-color-primary);
  font-size: clamp(1.05rem, 1.5vw, 1.2rem);
  font-weight: 700;
}

.woocommerce-account .sytec-account-dashboard__actions small {
  color: var(--sytec-color-muted);
  font-size: 0.86rem;
  line-height: 1.45;
}

@media (min-width: 1440px) {
  .woocommerce-account .sytec-account-dashboard__actions {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
}

.woocommerce-account .woocommerce-MyAccount-content table.shop_table,
.woocommerce-account .woocommerce-MyAccount-content .woocommerce-orders-table,
.woocommerce-account .woocommerce-MyAccount-content .woocommerce-MyAccount-orders {
  width: 100%;
  max-width: none;
  margin: 0;
  table-layout: auto;
}

.woocommerce-account .woocommerce-orders-table th,
.woocommerce-account .woocommerce-orders-table td {
  vertical-align: middle;
}

.woocommerce-account .woocommerce-orders-table__header-order-number,
.woocommerce-account .woocommerce-orders-table__cell-order-number {
  width: 14%;
  white-space: nowrap;
}

.woocommerce-account .woocommerce-orders-table__header-order-date,
.woocommerce-account .woocommerce-orders-table__cell-order-date {
  width: 18%;
  white-space: nowrap;
}

.woocommerce-account .woocommerce-orders-table__header-order-status,
.woocommerce-account .woocommerce-orders-table__cell-order-status {
  width: 16%;
  white-space: nowrap;
}

.woocommerce-account .woocommerce-orders-table__header-order-total,
.woocommerce-account .woocommerce-orders-table__cell-order-total {
  width: 22%;
}

.woocommerce-account .woocommerce-orders-table__header-order-actions,
.woocommerce-account .woocommerce-orders-table__cell-order-actions {
  width: 30%;
  text-align: right;
}

.woocommerce-account .woocommerce-orders-table__cell-order-actions .button {
  margin: 0.2rem 0 0.2rem 0.35rem;
  white-space: nowrap;
}

/* Widgets y mini carrito */
.widget_shopping_cart_content .woocommerce-mini-cart {
  padding: 0;
  list-style: none;
}

.widget_shopping_cart_content .mini_cart_item {
  min-height: 72px;
  padding-block: 0.75rem;
  border-bottom: 1px solid var(--sytec-color-border);
}

.widget_shopping_cart_content .mini_cart_item img {
  width: 56px;
  border-radius: var(--sytec-radius-small);
}

@media (max-width: 1024px) {
  .woocommerce ul.products {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .woocommerce-account .woocommerce {
    grid-template-columns: minmax(220px, 240px) minmax(0, 1fr);
    column-gap: 1.5rem;
  }
}

@media (max-width: 768px) {
  .woocommerce ul.products {
    grid-template-columns: repeat(var(--sytec-product-columns-mobile, 2), minmax(0, 1fr));
  }

  .woocommerce div.product div.images,
  .woocommerce div.product div.summary {
    width: 100%;
    float: none;
  }

  .woocommerce-account .woocommerce {
    grid-template-columns: minmax(0, 1fr);
    grid-template-rows: none;
    gap: 1rem;
  }

  .woocommerce-account .woocommerce > .sytec-account-intro,
  .woocommerce-account .woocommerce > .sytec-account-sidebar--service-detail,
  .woocommerce-account .woocommerce > .sytec-account-sidebar--service-request-detail,
  .woocommerce-account .woocommerce-MyAccount-navigation,
  .woocommerce-account .woocommerce-MyAccount-content {
    grid-column: 1;
    grid-row: auto;
  }

  .woocommerce-account .woocommerce-MyAccount-navigation ul {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .woocommerce-account .woocommerce-MyAccount-navigation li + li {
    border-top: 0;
  }

  .woocommerce-account .woocommerce-MyAccount-navigation li {
    border-right: 1px solid var(--sytec-color-border);
    border-bottom: 1px solid var(--sytec-color-border);
  }

  .woocommerce-account .woocommerce-MyAccount-navigation a {
    height: 100%;
    padding: 0.7rem 0.8rem;
  }

  .woocommerce-account .sytec-account-dashboard {
    min-height: 0;
  }

  .woocommerce table.shop_table_responsive tr,
  .woocommerce-page table.shop_table_responsive tr {
    display: block;
    margin-bottom: 1rem;
    border: 1px solid var(--sytec-color-border);
    border-radius: var(--sytec-radius-medium);
  }
}

@media (max-width: 425px) {
  .woocommerce ul.products {
    grid-template-columns: minmax(0, 1fr);
  }

  .woocommerce-cart table.cart td.actions .coupon {
    align-items: stretch;
    flex-direction: column;
  }

  .woocommerce-cart table.cart td.actions .coupon .input-text,
  .woocommerce-cart table.cart td.actions .coupon .button,
  .woocommerce-cart table.cart td.actions > .button {
    width: 100%;
  }

  .woocommerce-account .woocommerce-MyAccount-navigation ul {
    grid-template-columns: minmax(0, 1fr);
  }

  .woocommerce-account .woocommerce-MyAccount-navigation li {
    border-right: 0;
  }

  .woocommerce-account .sytec-account-dashboard__header {
    display: grid;
    gap: 0.75rem;
  }

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

  .sytec-auth-card {
    padding: 1.2rem;
  }

  .sytec-auth-card__form-actions {
    align-items: stretch;
    flex-direction: column;
  }

  .sytec-auth-card__form-actions .woocommerce-form-login__submit,
  .woocommerce .sytec-auth-card button.button {
    width: 100%;
  }
}

/* Carrito de bloques: composición compacta y responsive. */
.sytec-cart-layout .wp-block-woocommerce-cart {
  width: 100%;
  max-width: 1360px;
  margin-inline: auto;
}

.sytec-cart-layout .wc-block-components-sidebar-layout.wc-block-cart {
  display: grid;
  grid-template-columns: minmax(0, 1.65fr) minmax(320px, 0.85fr);
  gap: clamp(3rem, 4vw, 4rem);
  align-items: start;
}

.sytec-cart-layout .wc-block-cart__main,
.sytec-cart-layout .wc-block-cart__sidebar {
  width: auto;
  padding: 0;
}

.sytec-cart-layout .wc-block-cart__sidebar {
  position: sticky;
  top: calc(var(--wp-admin--admin-bar--height, 0px) + 1.5rem);
  min-width: 0;
  padding: 1.5rem;
  border: 1px solid var(--sytec-color-border, #dfe5eb);
  border-radius: var(--sytec-radius-large, 18px);
  background: var(--sytec-color-surface, #fff);
  box-shadow: 0 14px 36px rgb(15 35 54 / 7%);
}

.sytec-cart-layout .wc-block-cart-items {
  display: block;
  width: 100%;
  margin: 0;
  border: 0;
  border-collapse: separate;
}

.sytec-cart-layout .wc-block-cart-items thead,
.sytec-cart-layout .wc-block-cart-items tbody {
  display: block;
  width: 100%;
}

.sytec-cart-layout .wc-block-cart-items__header,
.sytec-cart-layout .wc-block-cart-items__row {
  display: grid;
  grid-template-columns: 72px minmax(0, 1fr) max-content;
  column-gap: 1.125rem;
  width: 100%;
}

.sytec-cart-layout .wc-block-cart-items__header {
  align-items: end;
  padding: 0 0 0.8rem;
  border-bottom: 1px solid var(--sytec-color-border, #dfe5eb);
}

.sytec-cart-layout .wc-block-cart-items__header th {
  display: block;
  width: auto;
  padding: 0;
  border: 0;
  color: var(--sytec-color-text-muted, #64748b);
  font-size: 0.75rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.sytec-cart-layout .wc-block-cart-items__header-image {
  grid-column: 1 / 3;
}

.sytec-cart-layout .wc-block-cart-items__header-product {
  display: none !important;
}

.sytec-cart-layout .wc-block-cart-items__header-total {
  grid-column: 3;
  justify-self: end;
  text-align: right;
}

.sytec-cart-layout .wc-block-cart-items__row {
  align-items: start;
  padding-block: 1.5rem;
  border-bottom: 1px solid var(--sytec-color-border, #e5e9ee);
  background: var(--sytec-color-surface, #fff);
  transition: background-color 160ms ease;
}

.sytec-cart-layout .wc-block-cart-items__row:hover {
  background: rgb(15 35 54 / 1.8%);
}

.sytec-cart-layout .wc-block-cart-items__row > td {
  display: block;
  width: auto;
  min-width: 0;
  height: auto;
  padding: 0;
  border: 0;
}

.sytec-cart-layout .wc-block-cart-item__image {
  grid-column: 1;
  overflow: hidden;
  aspect-ratio: 1;
  border: 1px solid var(--sytec-color-border, #e2e8f0);
  border-radius: var(--sytec-radius-medium, 12px);
  background: #f7f9fb;
}

.sytec-cart-layout .wc-block-cart-item__image a,
.sytec-cart-layout .wc-block-cart-item__image img {
  display: block;
  width: 100%;
  height: 100%;
}

.sytec-cart-layout .wc-block-cart-item__image img {
  object-fit: cover;
}

.sytec-cart-layout .wc-block-cart-item__product {
  grid-column: 2;
}

.sytec-cart-layout .wc-block-cart-item__wrap {
  width: 100%;
}

.sytec-cart-layout .wc-block-components-product-name {
  display: inline-block;
  margin: 0 0 0.35rem;
  color: var(--sytec-color-primary, #075985);
  font-size: clamp(1rem, 1.4vw, 1.125rem);
  font-weight: 650;
  line-height: 1.3;
}

.sytec-cart-layout .wc-block-cart-item__prices {
  margin: 0 0 0.5rem;
  font-weight: 600;
}

.sytec-cart-layout .wc-block-components-product-metadata {
  max-width: 52ch;
  margin: 0;
  color: var(--sytec-color-text-muted, #667085);
  font-size: 0.9rem;
  line-height: 1.55;
}

.sytec-cart-layout .wc-block-components-product-metadata__description {
  display: -webkit-box;
  overflow: hidden;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}

.sytec-cart-layout .wc-block-components-product-metadata p {
  margin: 0;
}

.sytec-cart-layout .wc-block-cart-item__quantity {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 0.625rem;
  margin-top: 0.75rem;
}

.sytec-cart-layout .wc-block-cart-item__remove-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: auto;
  min-width: 44px;
  min-height: 36px;
  padding: 0.35rem 0.65rem;
  gap: 0.4rem;
  border: 1px solid transparent;
  border-radius: 999px;
  color: var(--sytec-color-text-muted, #64748b);
  font-size: 0.84rem;
  font-weight: 600;
  line-height: 1;
}

.sytec-cart-layout .wc-block-cart-item__remove-link::after {
  content: "Eliminar";
}

.sytec-cart-layout .wc-block-cart-item__remove-link svg {
  width: 18px;
  height: 18px;
}

.sytec-cart-layout .wc-block-cart-item__remove-link:hover {
  border-color: #fecaca;
  color: #b42318;
  background: #fff1f2;
}

.sytec-cart-layout .wc-block-cart-item__remove-link:focus-visible,
.sytec-cart-layout .wc-block-components-panel__button:focus-visible,
.sytec-cart-layout .wc-block-cart__submit-button:focus-visible {
  outline: 3px solid rgb(2 132 199 / 35%);
  outline-offset: 3px;
}

.sytec-cart-layout .wc-block-cart-item__total {
  grid-column: 3;
  align-items: flex-start;
  justify-content: flex-end;
  justify-self: end;
  min-width: max-content;
  color: var(--sytec-color-text, #172033);
  font-size: 1rem;
  font-weight: 650;
  line-height: 1.35;
  text-align: right;
}

.sytec-cart-layout .wc-block-cart__totals-title {
  margin: 0 0 0.75rem;
  font-size: clamp(1.15rem, 2vw, 1.4rem);
}

.sytec-cart-layout .wc-block-components-totals-wrapper {
  padding-block: 0.9rem;
  border-color: var(--sytec-color-border, #e2e8f0);
}

.sytec-cart-layout .wc-block-components-totals-item {
  display: grid;
  grid-template-columns: minmax(0, 1fr) max-content;
  gap: 1rem;
  align-items: baseline;
}

.sytec-cart-layout .wc-block-components-totals-item__value {
  justify-self: end;
  font-weight: 650;
  text-align: right;
}

.sytec-cart-layout .wc-block-components-totals-footer-item {
  font-size: 1.05rem;
  font-weight: 700;
}

.sytec-cart-layout .wc-block-components-panel__button {
  min-height: 44px;
  padding-block: 0.65rem;
  border-radius: var(--sytec-radius-small, 8px);
  transition: color 160ms ease, background-color 160ms ease;
}

.sytec-cart-layout .wc-block-components-panel__button:hover {
  color: var(--sytec-color-primary, #075985);
  background: rgb(2 132 199 / 5%);
}

.sytec-cart-layout .wc-block-components-totals-coupon__form {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 0.625rem;
  align-items: end;
}

.sytec-cart-layout .wc-block-components-totals-coupon__input,
.sytec-cart-layout .wc-block-components-totals-coupon__button {
  min-width: 0;
  min-height: 44px;
}

.sytec-cart-layout .wc-block-cart__submit {
  margin-top: 1rem;
}

.sytec-cart-layout .wc-block-cart__submit-button {
  width: 100%;
  min-height: 50px;
  border-radius: var(--sytec-radius-medium, 12px);
  transition: transform 160ms ease, box-shadow 160ms ease, background-color 160ms ease;
}

.sytec-cart-layout .wc-block-cart__submit-button:hover {
  transform: translateY(-1px);
  box-shadow: 0 10px 22px rgb(2 132 199 / 18%);
}

@media (max-width: 1024px) {
  .sytec-cart-layout .wc-block-components-sidebar-layout.wc-block-cart {
    grid-template-columns: minmax(0, 1.45fr) minmax(300px, 0.9fr);
    gap: 2rem;
  }

  .sytec-cart-layout .wc-block-cart__sidebar {
    padding: 1.25rem;
  }
}

@media (max-width: 900px) {
  .sytec-cart-layout .wc-block-components-sidebar-layout.wc-block-cart {
    grid-template-columns: minmax(0, 1fr);
    gap: 2rem;
  }

  .sytec-cart-layout .wc-block-cart__sidebar {
    position: static;
    width: 100%;
    max-width: none;
  }
}

@media (max-width: 767px) {
  .sytec-cart-layout .wc-block-cart-items {
    overflow-x: visible !important;
  }

  .sytec-cart-layout .wc-block-cart-items__header {
    display: none;
  }

  .sytec-cart-layout .wc-block-cart-items__row {
    grid-template-columns: 64px minmax(0, 1fr) !important;
    column-gap: 0.875rem;
    row-gap: 0.75rem;
    padding-block: 1.25rem;
  }

  .sytec-cart-layout .wc-block-cart-item__image {
    grid-column: 1 !important;
    grid-row: 1 !important;
    width: 64px !important;
    height: 64px !important;
    padding: 0 !important;
  }

  .sytec-cart-layout .wc-block-cart-item__product {
    grid-column: 2 !important;
    grid-row: 1 !important;
    min-width: 0;
    white-space: normal !important;
  }

  .sytec-cart-layout .wc-block-cart-item__wrap,
  .sytec-cart-layout .wc-block-components-product-name,
  .sytec-cart-layout .wc-block-components-product-metadata,
  .sytec-cart-layout .wc-block-components-product-metadata__description,
  .sytec-cart-layout .wc-block-components-product-metadata p {
    max-width: 100%;
    white-space: normal !important;
    overflow-wrap: anywhere;
  }

  .sytec-cart-layout .wc-block-cart-item__remove-link {
    width: auto !important;
  }

  .sytec-cart-layout .wc-block-cart-item__total {
    grid-column: 2 !important;
    grid-row: 2 !important;
    justify-self: start;
    padding-top: 0.125rem;
    text-align: left;
  }

  .sytec-cart-layout .wc-block-cart-item__total::before {
    content: "Total: ";
    margin-right: 0.35rem;
    color: var(--sytec-color-text-muted, #64748b);
    font-size: 0.78rem;
    font-weight: 600;
    letter-spacing: 0.04em;
    text-transform: uppercase;
  }

  .sytec-cart-layout .wc-block-cart__sidebar {
    padding: 1.1rem;
    border-radius: var(--sytec-radius-medium, 12px);
  }

  .sytec-cart-layout .wc-block-components-totals-coupon__form {
    grid-template-columns: minmax(0, 1fr);
  }

  .sytec-cart-layout .wc-block-components-totals-coupon__button {
    width: 100%;
  }
}

/* Continuidad después de recibir un pedido. */
.woocommerce .sytec-order-received-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
  align-items: center;
  justify-content: flex-start;
  max-width: 100%;
  margin: 24px 0 32px !important;
}

.sytec-order-received-main .woocommerce-order-details {
  margin-bottom: 0;
}

.woocommerce .sytec-order-received-actions .button {
  display: inline-flex;
  min-height: 46px;
  box-sizing: border-box;
  align-items: center;
  justify-content: center;
  padding: 10px 24px;
  border: 2px solid #075985;
  border-radius: var(--sytec-button-radius, 8px);
  font-weight: 700;
  line-height: 1.25;
  text-align: center;
  text-decoration: none;
}

.woocommerce .sytec-order-received-actions .sytec-order-received-actions__primary {
  border-color: #075985 !important;
  background: #075985 !important;
  color: #fff !important;
}

.woocommerce .sytec-order-received-actions .sytec-order-received-actions__primary:hover {
  border-color: #0c4a6e !important;
  background: #0c4a6e !important;
  color: #fff !important;
}

.woocommerce .sytec-order-received-actions .sytec-order-received-actions__secondary {
  border-color: #075985 !important;
  background: #fff !important;
  color: #075985 !important;
}

.woocommerce .sytec-order-received-actions .sytec-order-received-actions__secondary:hover {
  border-color: #0c4a6e !important;
  background: #f0f9ff !important;
  color: #0c4a6e !important;
}

.woocommerce .sytec-order-received-actions .button:focus-visible {
  outline: 3px solid #f59e0b;
  outline-offset: 3px;
}

@media (max-width: 599px) {
  .woocommerce .sytec-order-received-actions {
    flex-direction: column;
    align-items: stretch;
    width: 100%;
  }

  .woocommerce .sytec-order-received-actions .button {
    width: 100%;
    max-width: 100%;
  }
}
