:root {
  /* Variables de Color e Identidad */
  --ea-shell-bg: linear-gradient(180deg, #f7f3ec 0%, #f3efe8 100%);
  --ea-shell-paper: rgba(255, 251, 245, 0.92);
  --ea-shell-surface: #fffdf8;
  --ea-shell-surface-muted: #f6efe2;
  --ea-shell-ink: #0f172a;
  --ea-shell-muted: #667085;
  --ea-shell-line: rgba(15, 23, 42, 0.11);
  --ea-shell-brand: #10253f;
  --ea-shell-brand-2: #173758;
  --ea-shell-accent: #d3a64f;
  --ea-shell-accent-soft: rgba(211, 166, 79, 0.15);
  --ea-shell-success: #05603a;
  --ea-shell-success-soft: #ecfdf3;
  --ea-shell-warning: #9a6700;
  --ea-shell-warning-soft: #fffaeb;
  --ea-shell-danger: #b42318;
  --ea-shell-danger-soft: #fef3f2;
  --ea-shell-info: #1849a9;
  --ea-shell-info-soft: #eff8ff;
  --ea-shell-radius-xl: 28px;
  --ea-shell-radius-lg: 20px;
  --ea-shell-shadow: 0 30px 70px rgba(15, 23, 42, 0.12);
  --ea-ld-bg: #f7f3ec;
  --ea-ld-text: #10253f;
  --ea-ld-muted: #667085;
  --ea-ld-cookie-shadow: 0 18px 48px rgba(15, 23, 42, 0.16);
  --ea-campus-gutter: clamp(16px, 2.4vw, 32px);
  --ea-campus-reading-width: min(1248px, calc(100vw - (var(--ea-campus-gutter) * 2)));

  /* Sistema de Tipografía Fluida /ix-design */
  --ea-fluid-display-large: clamp(2.4rem, 5vw, 4.4rem);
  --ea-fluid-headline-large: clamp(1.85rem, 3.4vw, 3.2rem);
  --ea-fluid-title-large: clamp(1.25rem, 2vw, 1.65rem);
  --ea-fluid-body-medium: clamp(0.9375rem, 1vw, 1.05rem);
  --ea-fluid-body-small: 0.9375rem; /* Suelo de lectura 15px */
}

html {
  scroll-behavior: smooth;
}

body.eartes-campus-theme {
  min-height: 100vh;
  background:
    radial-gradient(circle at top left, rgba(211, 166, 79, 0.18), transparent 24%),
    radial-gradient(circle at bottom right, rgba(16, 37, 63, 0.1), transparent 22%),
    var(--ea-shell-bg);
  color: var(--ea-shell-ink);
}

body.eartes-campus-theme,
body.eartes-campus-theme .wp-site-blocks,
body.eartes-campus-theme .wp-site-blocks > main {
  overflow-x: clip;
}

body.eartes-campus-theme .wp-site-blocks {
  min-height: 100vh;
  isolation: isolate;
}

body.eartes-campus-theme .wp-site-blocks > main {
  padding: 20px var(--ea-campus-gutter) 56px;
}

body.eartes-campus-theme.ea-campus-page .wp-site-blocks > main,
body.eartes-campus-theme.ea-login-page .wp-site-blocks > main,
body.eartes-campus-theme.single-sfwd-courses .wp-site-blocks > main,
body.eartes-campus-theme.single-sfwd-lessons .wp-site-blocks > main,
body.eartes-campus-theme.single-sfwd-topic .wp-site-blocks > main,
body.eartes-campus-theme.single-sfwd-quiz .wp-site-blocks > main {
  padding-top: 0;
}

body.eartes-campus-theme .wp-site-blocks > header,
body.eartes-campus-theme .wp-site-blocks > footer,
body.eartes-campus-theme .wp-block-template-part {
  position: relative;
  z-index: 20;
}

body.eartes-campus-theme .wp-site-blocks > header,
body.eartes-campus-theme .wp-site-blocks > footer {
  padding-inline: var(--ea-campus-gutter);
}

body.eartes-campus-theme .wp-site-blocks > header > .wp-block-group,
body.eartes-campus-theme .wp-site-blocks > footer > .wp-block-group {
  width: min(1280px, calc(100vw - (var(--ea-campus-gutter) * 2)));
  margin-inline: auto;
}

body.eartes-campus-theme .wp-block-site-logo img {
  max-height: 48px;
  width: auto;
}

body.eartes-campus-theme .wp-block-site-title {
  letter-spacing: -0.02em;
}

body.eartes-campus-theme a {
  color: var(--ea-shell-brand);
}

body.eartes-campus-theme a:hover,
body.eartes-campus-theme a:focus {
  color: var(--ea-shell-brand-2);
}

body.eartes-campus-theme .is-style-eartes-shell,
body.eartes-campus-theme .wp-block-group.is-style-eartes-shell {
  border: 1px solid var(--ea-shell-line);
  border-radius: var(--ea-shell-radius-xl);
  background: var(--ea-shell-paper);
  box-shadow: var(--ea-shell-shadow);
  backdrop-filter: blur(12px);
}

body.eartes-campus-theme .is-style-eartes-surface,
body.eartes-campus-theme .wp-block-group.is-style-eartes-surface {
  border: 1px solid var(--ea-shell-line);
  border-radius: var(--ea-shell-radius-lg);
  background: #fffdf8;
}

body.eartes-campus-theme .wp-element-button,
body.eartes-campus-theme .button,
body.eartes-campus-theme .wp-block-button__link {
  transition: transform 0.16s ease, box-shadow 0.16s ease, background-color 0.16s ease;
}

body.eartes-campus-theme .wp-element-button:hover,
body.eartes-campus-theme .button:hover,
body.eartes-campus-theme .wp-block-button__link:hover {
  transform: translateY(-1px);
  box-shadow: 0 14px 28px rgba(16, 37, 63, 0.18);
}

body.eartes-campus-theme .wp-block-post-content > * {
  box-sizing: border-box;
}

body.eartes-campus-theme .wp-block-post-content iframe,
body.eartes-campus-theme .wp-block-post-content video,
body.eartes-campus-theme .wp-block-post-content embed,
body.eartes-campus-theme .wp-block-post-content object {
  max-width: 100%;
}

body.eartes-campus-theme .ea-login-form button[type="submit"],
body.eartes-campus-theme .ea-login-form .button.button-primary,
body.eartes-campus-theme .ea-login-form .button.button-large {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  min-height: 56px;
  margin-top: 12px;
  border: 0;
  border-radius: 18px;
  background: linear-gradient(135deg, var(--ea-shell-brand), var(--ea-shell-brand-2));
  color: #fff;
  padding: 16px 18px;
  font-weight: 800;
  letter-spacing: 0.02em;
  box-shadow: 0 18px 34px rgba(16, 37, 63, 0.24);
}

body.eartes-campus-theme .ea-login-form button[type="submit"]:hover,
body.eartes-campus-theme .ea-login-form .button.button-primary:hover,
body.eartes-campus-theme .ea-login-form .button.button-large:hover,
body.eartes-campus-theme .ea-login-form button[type="submit"]:focus,
body.eartes-campus-theme .ea-login-form .button.button-primary:focus,
body.eartes-campus-theme .ea-login-form .button.button-large:focus {
  color: #fff;
}

body.eartes-campus-theme.ea-campus-page .wp-block-post-content,
body.eartes-campus-theme.ea-login-page .wp-block-post-content {
  margin: 0;
}

.ea-campus-page-shell,
.ea-login-page-shell {
  min-height: 100vh;
  padding: 0 !important;
}

body.eartes-campus-theme.ea-login-page .wp-site-blocks > main {
  padding-bottom: 148px !important;
}

body.eartes-campus-theme.ea-login-page .wp-site-blocks > main {
  display: grid;
  align-items: stretch;
  padding-bottom: 48px !important;
}

body.eartes-campus-theme.ea-login-page .wp-block-post-content {
  min-height: calc(100vh - 48px);
}

body.eartes-campus-theme .ea-login-page-shell {
  width: min(1280px, calc(100vw - (var(--ea-campus-gutter) * 2)));
  margin-inline: auto;
  display: grid;
  align-items: center;
  min-height: calc(100vh - 48px);
  padding: clamp(20px, 3vw, 40px) 0;
}

body.eartes-campus-theme .ea-login-shell {
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(420px, 0.88fr);
  min-height: min(720px, calc(100vh - 104px));
  border: 1px solid var(--ea-shell-line);
  border-radius: 36px;
  overflow: hidden;
  background:
    linear-gradient(180deg, rgba(255, 251, 245, 0.92), rgba(255, 251, 245, 0.84)),
    var(--ea-shell-paper);
  box-shadow: var(--ea-shell-shadow);
  backdrop-filter: blur(12px);
}

body.eartes-campus-theme .ea-login-panel {
  min-width: 0;
  padding: clamp(28px, 4vw, 56px);
}

body.eartes-campus-theme .ea-login-brand {
  position: relative;
  display: grid;
  align-content: start;
  gap: 30px;
  background:
    radial-gradient(circle at top left, rgba(211, 166, 79, 0.24), transparent 32%),
    linear-gradient(160deg, rgba(16, 37, 63, 0.1), rgba(255, 255, 255, 0) 52%),
    rgba(255, 252, 246, 0.82);
}

body.eartes-campus-theme .ea-login-brand::after {
  content: "";
  position: absolute;
  inset: 20px 20px auto auto;
  width: 180px;
  height: 180px;
  border-radius: 999px;
  background: radial-gradient(circle, rgba(211, 166, 79, 0.16), transparent 68%);
  pointer-events: none;
}

body.eartes-campus-theme .ea-login-brand-top,
body.eartes-campus-theme .ea-login-brand-copy,
body.eartes-campus-theme .ea-login-trust {
  position: relative;
  z-index: 1;
}

body.eartes-campus-theme .ea-login-brand-top {
  display: flex;
  align-items: center;
  gap: 18px;
}

body.eartes-campus-theme .ea-login-brand-mark {
  width: 88px;
  height: 88px;
  border-radius: 24px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: rgba(255, 255, 255, 0.72);
  border: 1px solid rgba(16, 37, 63, 0.08);
  box-shadow: 0 18px 36px rgba(16, 37, 63, 0.08);
  overflow: hidden;
}

body.eartes-campus-theme .ea-login-brand-mark img {
  width: 64px;
  height: 64px;
  object-fit: contain;
}

body.eartes-campus-theme .ea-login-brand-mark span {
  font-size: 42px;
  font-weight: 900;
  color: var(--ea-shell-brand);
}

body.eartes-campus-theme .ea-login-brand-meta {
  display: grid;
  gap: 6px;
}

body.eartes-campus-theme .ea-login-kicker,
body.eartes-campus-theme .ea-login-eyebrow {
  margin: 0;
  color: #9a6b17;
  text-transform: uppercase;
  letter-spacing: 0.14em;
  font-size: 12px;
  font-weight: 800;
}

body.eartes-campus-theme .ea-login-microcopy {
  margin: 0;
  color: var(--ea-shell-muted);
  font-size: 14px;
  line-height: 1.45;
}

body.eartes-campus-theme .ea-login-brand-copy {
  display: grid;
  gap: 16px;
  margin-top: auto;
}

body.eartes-campus-theme .ea-login-brand h1,
body.eartes-campus-theme .ea-login-form-wrap h2 {
  margin: 0;
  color: var(--ea-shell-brand);
  letter-spacing: -0.04em;
}

body.eartes-campus-theme .ea-login-brand h1 {
  font-size: clamp(3rem, 6vw, 5.4rem);
  line-height: 0.94;
  max-width: 12ch;
}

body.eartes-campus-theme .ea-login-copy,
body.eartes-campus-theme .ea-login-helper,
body.eartes-campus-theme .ea-login-support {
  margin: 0;
  color: var(--ea-shell-muted);
  font-size: 18px;
  line-height: 1.6;
  max-width: 34rem;
}

body.eartes-campus-theme .ea-login-points {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: 12px;
}

body.eartes-campus-theme .ea-login-points li {
  position: relative;
  padding-left: 22px;
  color: var(--ea-shell-brand);
  font-size: 17px;
  font-weight: 700;
  line-height: 1.45;
}

body.eartes-campus-theme .ea-login-points li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.62em;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: linear-gradient(135deg, var(--ea-shell-accent), #e8c980);
  box-shadow: 0 0 0 6px rgba(211, 166, 79, 0.16);
}

body.eartes-campus-theme .ea-login-trust {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
}

body.eartes-campus-theme .ea-login-trust-item {
  display: grid;
  gap: 6px;
  padding: 18px 20px;
  border-radius: 20px;
  border: 1px solid rgba(16, 37, 63, 0.08);
  background: rgba(255, 255, 255, 0.62);
}

body.eartes-campus-theme .ea-login-trust-item strong {
  color: var(--ea-shell-brand);
  font-size: 15px;
}

body.eartes-campus-theme .ea-login-trust-item span {
  color: var(--ea-shell-muted);
  font-size: 14px;
  line-height: 1.5;
}

body.eartes-campus-theme .ea-login-form-panel {
  display: grid;
  grid-template-rows: auto 1fr;
  align-content: start;
  gap: 24px;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.86), rgba(255, 255, 255, 0.94)),
    #fff;
}

body.eartes-campus-theme .ea-login-form-intro {
  width: min(100%, 460px);
  margin: 0 auto;
  display: grid;
  gap: 10px;
  align-self: start;
}

body.eartes-campus-theme .ea-login-form-microcopy {
  margin: 0;
  color: var(--ea-shell-muted);
  font-size: 14px;
  line-height: 1.55;
  max-width: 32rem;
}

body.eartes-campus-theme .ea-login-form-wrap {
  width: min(100%, 460px);
  margin: 0 auto;
  padding: clamp(28px, 3vw, 36px);
  border: 1px solid rgba(16, 37, 63, 0.08);
  border-radius: 28px;
  background: rgba(255, 255, 255, 0.88);
  box-shadow: 0 18px 50px rgba(15, 23, 42, 0.08);
}

body.eartes-campus-theme .ea-login-form-wrap h2 {
  font-size: clamp(2rem, 4vw, 2.8rem);
  line-height: 1;
  margin-top: 8px;
  margin-bottom: 12px;
}

body.eartes-campus-theme .ea-login-form {
  display: grid;
  gap: 14px;
  margin-top: 24px;
}

body.eartes-campus-theme .ea-login-form p {
  margin: 0;
}

body.eartes-campus-theme .ea-login-form label {
  display: block;
  margin-bottom: 8px;
  color: var(--ea-shell-brand);
  font-size: 14px;
  font-weight: 700;
}

body.eartes-campus-theme .ea-login-form input[type="text"],
body.eartes-campus-theme .ea-login-form input[type="email"],
body.eartes-campus-theme .ea-login-form input[type="password"] {
  width: 100%;
  min-height: 54px;
  padding: 0 16px;
  border: 1px solid rgba(16, 37, 63, 0.12);
  border-radius: 16px;
  background: #fffdf8;
  color: var(--ea-shell-ink);
  font-size: 16px;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.8);
}

body.eartes-campus-theme .ea-login-form input[type="text"]:focus,
body.eartes-campus-theme .ea-login-form input[type="email"]:focus,
body.eartes-campus-theme .ea-login-form input[type="password"]:focus {
  border-color: rgba(16, 37, 63, 0.3);
  outline: none;
  box-shadow: 0 0 0 4px rgba(16, 37, 63, 0.08);
}

body.eartes-campus-theme .ea-login-form .login-remember label {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 0;
  color: var(--ea-shell-muted);
  font-weight: 600;
}

body.eartes-campus-theme .ea-login-form .login-remember input[type="checkbox"] {
  inline-size: 18px;
  block-size: 18px;
  accent-color: var(--ea-shell-brand);
}

body.eartes-campus-theme .ea-login-alert {
  margin-bottom: 4px;
  padding: 16px 18px;
  border-radius: 18px;
  border: 1px solid #fecdca;
  background: #fef3f2;
  color: #912018;
}

body.eartes-campus-theme .ea-login-alert strong {
  display: block;
  margin-bottom: 4px;
}

body.eartes-campus-theme .ea-login-support {
  margin-top: 18px;
  padding-top: 18px;
  border-top: 1px solid rgba(16, 37, 63, 0.08);
  font-size: 14px;
}

.ea-learning-layout {
  padding-inline: var(--ea-campus-gutter) !important;
  padding-bottom: 56px !important;
}

.ea-learning-layout .wp-block-post-content {
  margin-top: 0;
}

.ea-learning-frame {
  width: var(--ea-campus-reading-width);
  max-width: var(--ea-campus-reading-width);
  margin-inline: auto;
}

.ea-learning-cover {
  margin: 0 auto 28px;
  width: 100%;
}

.ea-learning-cover img {
  width: 100%;
  height: auto;
  object-fit: cover;
}

.ea-learning-title {
  width: 100%;
  margin: 0 auto 12px;
  color: var(--ea-shell-brand);
}

.ea-learning-frame > .wp-block-post-content > * {
  width: 100%;
  max-width: 100%;
}

@media (max-width: 1024px) {
  body.eartes-campus-theme .wp-site-blocks > main {
    padding-bottom: 44px;
  }

  body.eartes-campus-theme .ea-login-page-shell {
    width: min(100%, calc(100vw - (var(--ea-campus-gutter) * 2)));
  }

  body.eartes-campus-theme .ea-login-shell {
    grid-template-columns: 1fr;
    min-height: auto;
  }

  body.eartes-campus-theme .ea-login-brand,
  body.eartes-campus-theme .ea-login-form-panel {
    min-height: auto;
  }

  body.eartes-campus-theme .ea-login-form-panel {
    grid-template-rows: auto;
    gap: 18px;
  }

  body.eartes-campus-theme .ea-login-trust {
    grid-template-columns: 1fr;
  }

  .ea-learning-frame {
    width: min(100%, calc(100vw - (var(--ea-campus-gutter) * 2)));
    max-width: min(100%, calc(100vw - (var(--ea-campus-gutter) * 2)));
  }
}

@media (max-width: 782px) {
  body.eartes-campus-theme .wp-site-blocks > header,
  body.eartes-campus-theme .wp-site-blocks > footer {
    padding-inline: 16px;
  }

  body.eartes-campus-theme .wp-block-site-title {
    font-size: 1rem;
  }

  .ea-learning-layout {
    padding-inline: 14px !important;
    padding-bottom: 40px !important;
  }

  body.eartes-campus-theme.ea-login-page .wp-site-blocks > main {
    padding-bottom: 172px !important;
  }

  body.eartes-campus-theme .ea-login-page-shell {
    width: min(100%, calc(100vw - 24px));
    min-height: calc(100vh - 24px);
    padding: 12px 0 24px;
  }

  body.eartes-campus-theme .ea-login-panel {
    padding: 24px 18px;
  }

  body.eartes-campus-theme .ea-login-form-wrap {
    width: 100%;
    padding: 22px 18px;
    border-radius: 22px;
  }

  body.eartes-campus-theme .ea-login-form-intro {
    width: 100%;
  }

  body.eartes-campus-theme .ea-login-brand-top {
    align-items: flex-start;
  }

  body.eartes-campus-theme .ea-login-brand-mark {
    width: 72px;
    height: 72px;
    border-radius: 20px;
  }

  body.eartes-campus-theme .ea-login-brand-mark img {
    width: 54px;
    height: 54px;
  }

  body.eartes-campus-theme .ea-login-copy,
  body.eartes-campus-theme .ea-login-helper,
  body.eartes-campus-theme .ea-login-support,
  body.eartes-campus-theme .ea-login-points li {
    font-size: 15px;
  }
}

/* ==========================================================================
   WOOCOMMERCE INTEGRATION — ESTÁNDAR /IX-DESIGN
   ========================================================================== */

/* 1. Botones Principales (Finalizar Compra / Realizar Pago / Registrarse) */
.woocommerce a.button.alt,
.woocommerce a.button.alt:link,
.woocommerce a.button.alt:visited,
.woocommerce button.button.alt,
.woocommerce button.button.alt:visited,
.woocommerce input.button.alt,
.woocommerce #respond input#submit.alt,
.woocommerce #payment #place_order,
.woocommerce #payment #place_order:visited,
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button,
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button:link,
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button:visited,
body.eartes-campus-theme .woocommerce a.button.alt,
body.eartes-campus-theme .woocommerce a.button.alt:visited,
body.eartes-campus-theme .woocommerce-cart .wc-proceed-to-checkout a.checkout-button,
body.eartes-campus-theme .woocommerce-cart .wc-proceed-to-checkout a.checkout-button:visited,
body.eartes-campus-theme a.checkout-button,
body.eartes-campus-theme a.checkout-button:visited,
a.checkout-button,
a.checkout-button:visited,
.checkout-button.button.alt,
.checkout-button.button.alt:visited {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 52px !important;
  border: 0 !important;
  border-radius: 16px !important;
  background: var(--ea-shell-brand) !important; /* Azul marino premium (#10253f) */
  color: #fffdf8 !important; /* Surface / Blanco crema de alta visibilidad (AAA) */
  padding: 14px 28px !important;
  font-family: var(--wp--preset--font-family--campus-sans), -apple-system, sans-serif !important;
  font-weight: 800 !important;
  font-size: 16px !important;
  letter-spacing: 0.02em !important;
  text-decoration: none !important;
  box-shadow: 0 8px 20px rgba(16, 37, 63, 0.16) !important;
  transition: transform 0.2s cubic-bezier(0.4, 0, 0.2, 1), box-shadow 0.2s ease, background-color 0.2s ease !important;
  cursor: pointer !important;
  width: 100% !important; /* Centrado y expansión como el de la captura */
}

.woocommerce a.button.alt:hover,
.woocommerce a.button.alt:focus,
.woocommerce a.button.alt:active,
.woocommerce button.button.alt:hover,
.woocommerce button.button.alt:focus,
.woocommerce button.button.alt:active,
.woocommerce input.button.alt:hover,
.woocommerce input.button.alt:focus,
.woocommerce input.button.alt:active,
.woocommerce #respond input#submit.alt:hover,
.woocommerce #payment #place_order:hover,
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button:hover,
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button:focus,
body.eartes-campus-theme .woocommerce a.button.alt:hover,
body.eartes-campus-theme .woocommerce-cart .wc-proceed-to-checkout a.checkout-button:hover,
body.eartes-campus-theme a.checkout-button:hover {
  background: var(--ea-shell-brand-2) !important;
  color: #fffdf8 !important;
  transform: translateY(-2px) !important;
  box-shadow: 0 12px 28px rgba(16, 37, 63, 0.24) !important;
  text-decoration: none !important;
}

/* 2. Botones Secundarios (Aplicar Cupón / Actualizar Carrito) */
.woocommerce a.button,
.woocommerce a.button:visited,
.woocommerce button.button,
.woocommerce button.button:visited,
.woocommerce input.button,
.woocommerce #respond input#submit,
.woocommerce-cart td.actions .button,
.woocommerce-cart td.actions .button:visited,
body.eartes-campus-theme .woocommerce-cart td.actions .button,
body.eartes-campus-theme .woocommerce-cart td.actions .button:visited {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 44px !important;
  border: 1px solid rgba(16, 37, 63, 0.35) !important; /* Borde con visibilidad mejorada */
  border-radius: 16px !important;
  background: #fffdf8 !important;
  color: var(--ea-shell-brand) !important;
  padding: 10px 20px !important;
  font-family: var(--wp--preset--font-family--campus-sans), -apple-system, sans-serif !important;
  font-weight: 700 !important;
  font-size: 14px !important;
  text-decoration: none !important;
  transition: transform 0.16s ease, box-shadow 0.16s ease, background-color 0.16s ease, border-color 0.16s ease, color 0.16s ease !important;
  cursor: pointer !important;
}

/* Botón inhabilitado (como actualizar carrito antes de cambios) */
.woocommerce a.button:disabled,
.woocommerce button.button:disabled,
.woocommerce input.button:disabled,
.woocommerce-cart td.actions .button:disabled,
.woocommerce-cart td.actions .button:disabled[value] {
  background-color: #f7f1e8 !important;
  color: rgba(16, 37, 63, 0.4) !important;
  border-color: rgba(16, 37, 63, 0.08) !important;
  cursor: not-allowed !important;
  transform: none !important;
  box-shadow: none !important;
  opacity: 0.7 !important;
}

.woocommerce a.button:not(:disabled):hover,
.woocommerce button.button:not(:disabled):hover,
.woocommerce input.button:not(:disabled):hover,
.woocommerce #respond input#submit:not(:disabled):hover,
.woocommerce-cart td.actions .button:not(:disabled):hover,
body.eartes-campus-theme .woocommerce-cart td.actions .button:not(:disabled):hover {
  background: var(--ea-shell-brand) !important;
  color: #fffdf8 !important;
  border-color: var(--ea-shell-brand) !important;
  transform: translateY(-1px) !important;
  box-shadow: 0 6px 14px rgba(16, 37, 63, 0.08) !important;
  text-decoration: none !important;
}

/* 3. Tabla del Carrito y Totales (Contenedores Surface) */
.woocommerce-cart table.cart,
.woocommerce-checkout form.checkout,
.woocommerce-checkout #order_review,
.woocommerce-cart .cart-collaterals .cart_totals {
  border: 1px solid var(--ea-shell-line) !important;
  border-radius: var(--ea-shell-radius-lg) !important;
  background: #fffdf8 !important;
  box-shadow: 0 8px 24px rgba(16, 37, 63, 0.03) !important;
  overflow: hidden !important;
  padding: 18px !important;
}

.woocommerce-cart table.cart {
  padding: 0 !important; /* Mantener la alineación de la tabla interna */
}

.woocommerce-cart table.cart th,
.woocommerce-cart table.cart td {
  padding: 14px 18px !important;
  border-color: rgba(15, 23, 42, 0.06) !important;
  font-size: 15px !important;
  color: var(--ea-shell-ink) !important;
}

.woocommerce-cart table.cart th {
  background: #f7f1e8 !important;
  font-family: var(--wp--preset--font-family--campus-sans), -apple-system, sans-serif !important;
  font-weight: 700 !important;
  letter-spacing: -0.01em !important;
  text-transform: none !important;
}

/* 4. Inputs y Formulario de Cupón */
.woocommerce-cart .coupon {
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
}

.woocommerce form .form-row {
  display: flex !important;
  flex-direction: column !important;
  align-items: stretch !important;
  gap: 6px !important;
  width: 100% !important;
  margin-bottom: 16px !important;
  float: none !important;
  clear: both !important;
}

/* Permitir campos de ancho medio nativos en WooCommerce en filas de 2 columnas en Desktop */
@media (min-width: 769px) {
  .woocommerce form .form-row.form-row-first,
  .woocommerce form .form-row.form-row-last {
    width: 48% !important;
    float: left !important;
    display: inline-flex !important;
    clear: none !important;
  }

  .woocommerce form .form-row.form-row-first {
    margin-right: 4% !important;
  }
}

/* Evitar apilamiento en checkboxes y radios */
.woocommerce form .form-row.create-account,
.woocommerce form .form-row label.checkbox,
.woocommerce form .form-row .input-checkbox {
  display: inline-flex !important;
  flex-direction: row !important;
  align-items: center !important;
  width: auto !important;
  gap: 8px !important;
  margin-bottom: 8px !important;
  cursor: pointer !important;
}

.woocommerce form .form-row label.checkbox {
  font-weight: 500 !important;
  font-size: 14px !important;
  color: var(--ea-shell-ink) !important;
  user-select: none !important;
}

.woocommerce form .form-row input.input-checkbox {
  width: 18px !important;
  height: 18px !important;
  margin: 0 !important;
  border-radius: 6px !important;
  border: 1.5px solid rgba(16, 37, 63, 0.2) !important;
  cursor: pointer !important;
  flex-shrink: 0 !important;
}

/* Etiquetas del Formulario */
.woocommerce form .form-row label {
  font-family: var(--wp--preset--font-family--campus-sans), -apple-system, sans-serif !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  color: var(--ea-shell-brand) !important;
  margin-bottom: 2px !important;
  display: block !important;
  text-align: left !important;
}

.woocommerce form .form-row .woocommerce-input-wrapper {
  width: 100% !important;
  display: block !important;
}

.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce form .form-row select,
.woocommerce-cart .coupon input.input-text {
  min-height: 44px !important;
  padding: 8px 16px !important;
  border: 1px solid rgba(16, 37, 63, 0.14) !important;
  border-radius: 14px !important;
  background: #fffdf8 !important;
  color: var(--ea-shell-ink) !important;
  font-size: 15px !important;
  width: 100% !important;
  box-sizing: border-box !important;
  transition: border-color 0.2s ease, box-shadow 0.2s ease !important;
}

.woocommerce form .form-row input.input-text:focus,
.woocommerce form .form-row textarea:focus,
.woocommerce-cart .coupon input.input-text:focus {
  border-color: #d3a64f !important;
  outline: none !important;
  box-shadow: 0 0 0 4px rgba(211, 166, 79, 0.12) !important;
}

/* 5. Botón de remover producto (Equis) */
.woocommerce a.remove {
  width: 24px !important;
  height: 24px !important;
  font-size: 16px !important;
  line-height: 20px !important;
  color: var(--ea-shell-danger) !important;
  background: transparent !important;
  border: 1px solid rgba(180, 35, 24, 0.15) !important;
  border-radius: 50% !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  transition: all 0.2s ease !important;
}

.woocommerce a.remove:hover {
  color: #fff !important;
  background: var(--ea-shell-danger) !important;
  border-color: var(--ea-shell-danger) !important;
}

/* ==========================================================================
   HEADER PREMIUM UNIFICADO — ESTÁNDAR /IX-DESIGN
   ========================================================================== */

/* Contenedor general */
.ea-campus-header-group {
  background-color: #0c0e12 !important; /* Negro de alto contraste premium */
  border-bottom: 1px solid rgba(255, 255, 255, 0.08) !important;
  position: relative;
  z-index: 100;
}

.ea-campus-header-group > .wp-block-group {
  max-width: 1280px;
  margin-inline: auto;
  width: 100%;
}

/* Logotipo e Identidad */
.ea-header-logo-wrap {
  display: flex;
  align-items: center;
  gap: 12px !important;
}

.ea-header-logo-wrap .wp-block-site-title a {
  color: #fffdf8 !important; /* Crema surface */
  font-family: var(--wp--preset--font-family--campus-sans), -apple-system, sans-serif !important;
  font-weight: 800 !important;
  letter-spacing: -0.02em !important;
  text-decoration: none !important;
  font-size: 20px !important;
}

.ea-header-logo-wrap .wp-block-site-title a::after {
  content: "Online Campus";
  display: block;
  font-size: 11px;
  font-weight: 500;
  color: var(--ea-shell-accent) !important; /* Dorado */
  letter-spacing: 0.05em;
  margin-top: 1px;
  text-transform: uppercase;
}

/* Menú de Navegación Gutenberg */
.ea-header-nav-wrap .wp-block-navigation-item a {
  color: #ffffff !important;
  font-family: var(--wp--preset--font-family--campus-sans), -apple-system, sans-serif !important;
  font-weight: 600 !important;
  font-size: 15px !important;
  letter-spacing: 0.02em !important;
  text-decoration: none !important;
  padding: 8px 16px !important;
  transition: color 0.2s ease !important;
  position: relative;
}

.ea-header-nav-wrap .wp-block-navigation-item a:hover,
.ea-header-nav-wrap .wp-block-navigation-item a:focus {
  color: var(--ea-shell-accent) !important; /* Hover dorado */
}

/* Elemento Activo - Subrayado Dorado */
.ea-header-nav-wrap .wp-block-navigation-item.current-menu-item > a::after,
.ea-header-nav-wrap .wp-block-navigation-item.current-menu-ancestor > a::after,
.ea-header-nav-wrap .wp-block-navigation-item.current_page_item > a::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 16px;
  right: 16px;
  height: 2px;
  background-color: var(--ea-shell-accent) !important; /* Dorado (#d3a64f) */
  border-radius: 99px;
}

/* Botón de Acción Dinámico (Login / Lupa) */
.ea-header-login-btn {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  white-space: nowrap !important; /* Mantener texto e icono en una sola línea horizontal */
  min-height: 40px !important;
  background: #fffdf8 !important; /* Crema surface */
  color: #10253f !important; /* Azul marino */
  border: 1px solid rgba(16, 37, 63, 0.12) !important;
  border-radius: 12px !important; /* Redondeado corner-medium */
  padding: 8px 18px !important;
  font-family: var(--wp--preset--font-family--campus-sans), -apple-system, sans-serif !important;
  font-weight: 700 !important;
  font-size: 14px !important;
  text-decoration: none !important;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1) !important;
  transition: transform 0.2s cubic-bezier(0.4, 0, 0.2, 1), box-shadow 0.2s ease, background-color 0.2s ease !important;
  cursor: pointer !important;
}

.ea-header-login-btn:hover {
  background: #ffffff !important;
  color: #10253f !important;
  transform: translateY(-1px) !important;
  box-shadow: 0 6px 18px rgba(0, 0, 0, 0.18) !important;
}

.ea-header-search-icon {
  margin-left: 6px;
  transition: transform 0.2s ease;
}

.ea-header-login-btn:hover .ea-header-search-icon {
  transform: scale(1.1);
}

/* Adaptabilidad Móvil Premium */
@media (max-width: 782px) {
  .ea-campus-header-group {
    padding-top: 10px !important;
    padding-bottom: 10px !important;
    padding-inline: 16px !important;
  }
  
  .ea-campus-header-group > .wp-block-group {
    display: flex !important;
    flex-direction: row !important;
    justify-content: space-between !important;
    align-items: center !important;
    gap: 8px !important;
  }

  .ea-header-logo-wrap {
    gap: 8px !important;
  }

  .ea-header-logo-wrap .wp-block-site-title a {
    font-size: 16px !important;
  }

  .ea-header-logo-wrap .wp-block-site-title a::after {
    font-size: 9px !important; /* Subtítulo de Online Campus más pequeño para encajar en pantallas angostas */
    margin-top: 0px;
  }
  
  .ea-header-login-btn {
    min-height: 34px !important;
    padding: 6px 12px !important;
    font-size: 12px !important;
  }

  /* Fix responsivo para evitar que el buscador y filtros se salgan en móvil */
  .ea-catalog-filters-panel {
    padding: 12px 14px !important;
    gap: 12px !important;
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
  }

  .ea-filters-row-primary {
    display: flex !important;
    flex-direction: column !important; /* Apilar verticalmente */
    align-items: stretch !important;
    gap: 12px !important;
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
  }

  .ea-filter-search-wrap {
    width: 100% !important;
    max-width: 100% !important;
    min-width: auto !important;
    box-sizing: border-box !important;
  }

  #ea-catalog-search {
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
  }

  .ea-filter-view-toggle {
    width: 100% !important;
    justify-content: center !important;
    box-sizing: border-box !important;
    display: flex !important;
  }

  .ea-view-btn {
    flex: 1 !important;
    text-align: center !important;
  }
}

/* Overrides de Catálogo y Cuadrícula para Dispositivos Móviles (ancho < 480px) */
@media (max-width: 480px) {
  body.eartes-campus-theme ul.products {
    grid-template-columns: 1fr !important; /* Cuadrícula fluida a una columna */
    gap: 20px !important;
  }
  
  body.eartes-campus-theme ul.products:not(.ea-shop-view-table) li.product img {
    height: 160px !important; /* Reducir altura de la portada para una proporción perfecta en móvil */
  }

  body.eartes-campus-theme ul.products:not(.ea-shop-view-table) li.product h2.woocommerce-loop-product__title {
    font-size: 15px !important;
    padding: 0 16px !important;
    min-height: auto !important;
  }

  body.eartes-campus-theme ul.products:not(.ea-shop-view-table) li.product span.price {
    font-size: 16px !important;
    padding: 0 16px !important;
    margin-bottom: 12px !important;
  }

  body.eartes-campus-theme ul.products:not(.ea-shop-view-table) li.product a.button.add_to_cart_button {
    margin: 0 16px 16px 16px !important;
    min-height: 38px !important;
    font-size: 12px !important;
  }
}

/* ==========================================================================
   INTERACCIÓN TIENDA (FILTROS + VISTA TABLA) — ESTÁNDAR /IX-DESIGN
   ========================================================================== */

/* Panel de Filtros */
.ea-catalog-filters-panel {
  background: var(--ea-shell-surface) !important;
  border: 1px solid var(--ea-shell-line) !important;
  border-radius: var(--ea-shell-radius-lg) !important;
  padding: 20px !important;
  margin-bottom: 32px !important;
  box-shadow: 0 8px 30px rgba(16, 37, 63, 0.04) !important;
  display: grid;
  gap: 16px;
  width: 100% !important;
  max-width: 1280px !important;
  margin-inline: auto !important;
  box-sizing: border-box !important;
}

body.eartes-campus-theme ul.products:not(.ea-shop-view-table) {
  width: 100% !important;
  max-width: 1280px !important;
  margin-inline: auto !important;
  padding: 0 !important;
  float: none !important;
  clear: both !important;
  display: grid !important;
  grid-template-columns: repeat(auto-fill, minmax(340px, 1fr)) !important;
  gap: 30px !important;
}

body.eartes-campus-theme ul.products:not(.ea-shop-view-table)::before,
body.eartes-campus-theme ul.products:not(.ea-shop-view-table)::after {
  display: none !important; /* Desactivar los pseudo-elementos clearers de WooCommerce antiguo que rompen Grid */
}

body.eartes-campus-theme ul.products:not(.ea-shop-view-table) li.product {
  width: 100% !important;
  margin: 0 !important;
  float: none !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: space-between !important;
  background: #fffdf8 !important;
  border: 1px solid var(--ea-shell-line) !important;
  border-radius: 20px !important;
  overflow: hidden !important;
  box-shadow: 0 4px 18px rgba(16, 37, 63, 0.03) !important;
  transition: transform 0.2s cubic-bezier(0.4, 0, 0.2, 1), box-shadow 0.2s ease !important;
  box-sizing: border-box !important;
}

body.eartes-campus-theme ul.products:not(.ea-shop-view-table) li.product:hover {
  transform: translateY(-2px) !important;
  box-shadow: 0 10px 28px rgba(16, 37, 63, 0.08) !important;
}

/* Tarjeta Grid Premium (Zona Pública) */
body.eartes-campus-theme ul.products:not(.ea-shop-view-table) li.product a.woocommerce-LoopProduct-link {
  display: flex !important;
  flex-direction: column !important;
  text-decoration: none !important;
  flex: 1 !important;
}

body.eartes-campus-theme ul.products:not(.ea-shop-view-table) li.product img {
  width: 100% !important;
  height: 200px !important;
  object-fit: cover !important;
  border-bottom: 1px solid var(--ea-shell-line) !important;
  margin-bottom: 16px !important;
  transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1) !important;
}

body.eartes-campus-theme ul.products:not(.ea-shop-view-table) li.product:hover img {
  transform: scale(1.02) !important;
}

body.eartes-campus-theme ul.products:not(.ea-shop-view-table) li.product h2.woocommerce-loop-product__title {
  font-family: 'Outfit', sans-serif !important;
  font-size: 16px !important;
  font-weight: 800 !important;
  color: var(--ea-shell-brand) !important;
  padding: 0 20px !important;
  margin-top: 4px !important;
  margin-bottom: 8px !important;
  line-height: 1.4 !important;
  min-height: 44px !important;
  display: -webkit-box !important;
  -webkit-line-clamp: 2 !important;
  -webkit-box-orient: vertical !important;
  overflow: hidden !important;
  text-align: center !important;
}

body.eartes-campus-theme ul.products:not(.ea-shop-view-table) li.product span.price {
  font-size: 17px !important;
  font-weight: 800 !important;
  color: var(--ea-shell-brand) !important;
  padding: 0 20px !important;
  margin-bottom: 16px !important;
  text-align: center !important;
  display: block !important;
}

body.eartes-campus-theme ul.products:not(.ea-shop-view-table) li.product a.button.add_to_cart_button {
  margin: 0 20px 20px 20px !important;
  background: var(--ea-shell-brand) !important;
  color: #fff !important;
  border-radius: 12px !important;
  min-height: 42px !important;
  font-weight: 700 !important;
  font-size: 13px !important;
  text-transform: uppercase !important;
  letter-spacing: 0.03em !important;
  transition: all 0.2s ease !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  box-shadow: 0 4px 12px rgba(16, 37, 63, 0.08) !important;
}

body.eartes-campus-theme ul.products:not(.ea-shop-view-table) li.product a.button.add_to_cart_button:hover {
  background: var(--ea-shell-brand-2) !important;
  transform: translateY(-1px) !important;
  box-shadow: 0 6px 16px rgba(16, 37, 63, 0.16) !important;
}

.ea-filters-row-primary {
  display: flex !important;
  justify-content: space-between !important;
  align-items: center !important;
  gap: 16px !important;
  flex-wrap: nowrap !important;
  width: 100% !important;
}

.ea-filter-search-wrap {
  position: relative !important;
  flex: 1 1 auto !important;
  max-width: none !important;
  width: auto !important;
  min-width: 260px !important;
  box-sizing: border-box !important;
}

.ea-search-icon-inside {
  position: absolute;
  left: 14px;
  top: 50%;
  transform: translateY(-50%);
  color: var(--ea-shell-muted);
  font-size: 16px;
  pointer-events: none;
}

#ea-catalog-search {
  width: 100% !important;
  min-height: 46px !important;
  padding-left: 42px !important;
  padding-right: 16px !important;
  border: 1px solid rgba(16, 37, 63, 0.12) !important;
  border-radius: 14px !important;
  background: #fffdf8 !important;
  color: var(--ea-shell-ink) !important;
  font-size: 15px !important;
  box-shadow: inset 0 1px 2px rgba(0,0,0,0.02) !important;
  transition: all 0.2s ease !important;
}

#ea-catalog-search:focus {
  border-color: var(--ea-shell-accent) !important;
  outline: none !important;
  box-shadow: 0 0 0 4px rgba(211, 166, 79, 0.12) !important;
}

/* Toggle Grid/Tabla */
.ea-filter-view-toggle {
  display: flex !important;
  gap: 6px !important;
  background: var(--ea-shell-surface-muted) !important;
  padding: 4px !important;
  border-radius: 12px !important;
  border: 1px solid rgba(16, 37, 63, 0.05) !important;
  flex-shrink: 0 !important;
}

.ea-view-btn {
  border: 0 !important;
  background: transparent !important;
  color: var(--ea-shell-muted) !important;
  padding: 8px 14px !important;
  font-weight: 700 !important;
  font-size: 13px !important;
  border-radius: 9px !important;
  cursor: pointer !important;
  transition: all 0.16s ease !important;
}

.ea-view-btn.active {
  background: var(--ea-shell-brand) !important;
  color: #fff !important;
  box-shadow: 0 4px 10px rgba(16, 37, 63, 0.12) !important;
}

/* Selectores de Filtro Fila Secundaria */
.ea-filters-row-secondary {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 14px;
  border-top: 1px solid rgba(16, 37, 63, 0.06);
  padding-top: 16px;
}

.ea-filter-select-wrap {
  display: flex;
  flex-direction: column;
  gap: 6px;
}

.ea-filter-select-wrap label {
  font-size: 12px;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--ea-shell-brand);
}

.ea-filters-row-secondary select {
  min-height: 40px !important;
  padding: 6px 12px !important;
  border: 1px solid rgba(16, 37, 63, 0.1) !important;
  border-radius: 10px !important;
  background: #fffdf8 !important;
  color: var(--ea-shell-ink) !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  cursor: pointer !important;
  transition: all 0.2s ease !important;
}

.ea-filters-row-secondary select:focus {
  border-color: var(--ea-shell-accent) !important;
  box-shadow: 0 0 0 3px rgba(211, 166, 79, 0.08) !important;
}

/* Vista de Sin Resultados */
.ea-catalog-no-results-msg {
  text-align: center;
  padding: 56px 20px;
  border: 1px dashed rgba(16, 37, 63, 0.15);
  border-radius: var(--ea-shell-radius-lg);
  background: rgba(255, 253, 248, 0.4);
  margin-top: 12px;
}

.ea-sad-emoji {
  font-size: 42px;
  display: block;
  margin-bottom: 12px;
}

.ea-catalog-no-results-msg p {
  font-size: 16px;
  font-weight: 700;
  color: var(--ea-shell-brand);
  margin: 0;
}

/* ==========================================================================
   VISTA TABLA DE PRODUCTOS (WOOCOMMERCE)
   ========================================================================== */
ul.products.ea-shop-view-table {
  display: flex !important;
  flex-direction: column !important;
  gap: 16px !important;
}

body.eartes-campus-theme ul.products.ea-shop-view-table li.product {
  width: 100% !important;
  margin: 0 !important;
  float: none !important;
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 20px !important;
  background: #fffdf8 !important;
  border: 1px solid var(--ea-shell-line) !important;
  border-radius: 18px !important;
  padding: 16px 24px !important;
  box-shadow: 0 4px 14px rgba(16, 37, 63, 0.02) !important;
  transition: transform 0.2s ease, box-shadow 0.2s ease !important;
}

ul.products.ea-shop-view-table li.product:hover {
  transform: translateY(-2px) !important;
  box-shadow: 0 8px 24px rgba(16, 37, 63, 0.06) !important;
}

/* Imagen en Tabla */
ul.products.ea-shop-view-table li.product a.woocommerce-LoopProduct-link {
  display: flex !important;
  align-items: center !important;
  gap: 20px !important;
  flex: 1 !important;
  text-decoration: none !important;
}

ul.products.ea-shop-view-table li.product img {
  width: 80px !important;
  height: 80px !important;
  object-fit: cover !important;
  border-radius: 12px !important;
  margin-bottom: 0 !important;
}

/* Título en Tabla */
ul.products.ea-shop-view-table li.product h2.woocommerce-loop-product__title {
  font-size: 17px !important;
  text-align: left !important;
  margin: 0 !important;
  color: var(--ea-shell-brand) !important;
  font-weight: 800 !important;
}

/* Precio en Tabla */
ul.products.ea-shop-view-table li.product span.price {
  font-size: 18px !important;
  text-align: right !important;
  margin: 0 !important;
  color: var(--ea-shell-brand) !important;
  font-weight: 800 !important;
  min-width: 100px !important;
}

/* Botón Añadir al carrito en Tabla */
ul.products.ea-shop-view-table li.product a.button.add_to_cart_button {
  width: auto !important;
  min-width: 160px !important;
  margin-top: 0 !important;
  padding: 10px 20px !important;
  min-height: 42px !important;
  border-radius: 12px !important;
}

/* Responsividad de la Vista Tabla */
@media (max-width: 640px) {
  ul.products.ea-shop-view-table li.product {
    flex-direction: column !important;
    align-items: stretch !important;
    padding: 18px !important;
    gap: 12px !important;
  }
  
  ul.products.ea-shop-view-table li.product a.woocommerce-LoopProduct-link {
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 12px !important;
  }
  
  ul.products.ea-shop-view-table li.product img {
    width: 100% !important;
    height: 140px !important;
  }
  
  ul.products.ea-shop-view-table li.product span.price {
    text-align: left !important;
    min-width: auto !important;
  }
  
  ul.products.ea-shop-view-table li.product a.button.add_to_cart_button {
    width: 100% !important;
  }
}

/* ==========================================================================
   ESTILOS PREMIUM PARA LECCIONES Y TEMAS (EVITAR "PARCHE")
   ========================================================================== */

/* 1. Contenedor de contenido de la lección */
.ea-learning-frame .wp-block-post-content {
  color: #2d3748 !important;
  font-family: var(--wp--preset--font-family--campus-sans), -apple-system, sans-serif !important;
  font-size: 16px !important;
  line-height: 1.7 !important;
}

/* 2. Cabeceras (H2, H3, H4) de alta fidelidad */
.ea-learning-frame .wp-block-post-content h2,
.ea-learning-frame .wp-block-post-content h3,
.ea-learning-frame .wp-block-post-content h4 {
  font-family: 'Outfit', sans-serif !important;
  color: var(--ea-shell-brand) !important; /* Azul marino premium #10253f */
  font-weight: 700 !important;
  margin-top: 1.8em !important;
  margin-bottom: 0.8em !important;
  letter-spacing: -0.02em !important;
  width: 100% !important;
}

.ea-learning-frame .wp-block-post-content h2 {
  font-size: 22px !important;
  border-bottom: 2px solid #f2ece0 !important; /* Línea de base premium crema */
  padding-bottom: 8px !important;
}

.ea-learning-frame .wp-block-post-content h3 {
  font-size: 19px !important;
}

.ea-learning-frame .wp-block-post-content h4 {
  font-size: 16px !important;
  color: #9a6b17 !important; /* Dorado */
}

/* 3. Párrafos */
.ea-learning-frame .wp-block-post-content p {
  font-family: var(--wp--preset--font-family--campus-sans), -apple-system, sans-serif !important;
  font-size: 16px !important;
  line-height: 1.7 !important;
  color: #2d3748 !important;
  margin-bottom: 1.25em !important;
}

/* 4. Enlaces de Descarga y generales */
.ea-learning-frame .wp-block-post-content a {
  color: #9a6b17 !important; /* Color dorado */
  font-weight: 700 !important;
  text-decoration: none !important;
  border-bottom: 1px dashed #d3a64f !important;
  transition: all 0.2s ease !important;
  display: inline-block;
}

.ea-learning-frame .wp-block-post-content a:hover {
  color: var(--ea-shell-brand-2) !important;
  border-bottom-style: solid !important;
  background-color: rgba(211, 166, 79, 0.05) !important;
}

/* Enlaces de archivos descargables específicos de Canvas */
.ea-learning-frame .wp-block-post-content a.instructure_file_link {
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
  background: #fdfaf2 !important; /* Tarjeta crema */
  border: 1px solid #f2ece0 !important;
  border-radius: 12px !important;
  padding: 12px 18px !important;
  color: var(--ea-shell-brand) !important;
  box-shadow: 0 4px 12px rgba(16, 37, 63, 0.03) !important;
  margin: 8px 0 !important;
  font-family: 'Outfit', sans-serif !important;
}

.ea-learning-frame .wp-block-post-content a.instructure_file_link::before {
  content: "📂" !important;
  font-size: 18px !important;
}

.ea-learning-frame .wp-block-post-content a.instructure_file_link:hover {
  transform: translateY(-1px) !important;
  box-shadow: 0 6px 16px rgba(16, 37, 63, 0.06) !important;
  border-color: #d3a64f !important;
  color: #9a6b17 !important;
}

/* 5. Separadores (HR) */
.ea-learning-frame .wp-block-post-content hr {
  border: 0 !important;
  border-top: 1px solid #efeae0 !important;
  margin: 32px 0 !important;
  height: 0 !important;
}

/* 6. Listas ordenadas y desordenadas */
.ea-learning-frame .wp-block-post-content ul,
.ea-learning-frame .wp-block-post-content ol {
  padding-left: 24px !important;
  margin-bottom: 1.5em !important;
}

.ea-learning-frame .wp-block-post-content li {
  margin-bottom: 0.6em !important;
  color: #2d3748 !important;
  line-height: 1.6 !important;
}

/* ==========================================================================
   INDICADOR DE PASOS DE COMPRA (STEPS INDICATOR) — ESTÁNDAR /IX-DESIGN
   ========================================================================== */
.ea-checkout-steps-container {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  max-width: 1280px !important;
  margin: 0 auto 36px auto !important;
  background: #fffdf8 !important;
  border: 1px solid var(--ea-shell-line) !important;
  border-radius: 20px !important;
  padding: 16px 28px !important;
  box-shadow: 0 4px 20px rgba(16, 37, 63, 0.02) !important;
  box-sizing: border-box !important;
}

.ea-step-item {
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
  flex: 1 !important;
}

.ea-step-badge {
  width: 32px !important;
  height: 32px !important;
  border-radius: 50% !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  font-weight: 800 !important;
  font-size: 14px !important;
  font-family: 'Outfit', sans-serif !important;
  transition: all 0.25s ease !important;
}

/* Estado: Pendiente */
.ea-step-item.pending .ea-step-badge {
  background: #f4ece1 !important;
  color: #a0845c !important;
  border: 1px solid rgba(16, 37, 63, 0.05) !important;
}

.ea-step-item.pending .ea-step-label {
  color: var(--ea-shell-muted) !important;
  font-weight: 600 !important;
}

/* Estado: Activo */
.ea-step-item.active .ea-step-badge {
  background: var(--ea-shell-brand) !important; /* Azul marino */
  color: #fff !important;
  border: 1px solid var(--ea-shell-accent) !important; /* Borde dorado */
  box-shadow: 0 4px 10px rgba(16, 37, 63, 0.15) !important;
}

.ea-step-item.active .ea-step-label {
  color: var(--ea-shell-brand) !important;
  font-weight: 800 !important;
}

/* Estado: Completado */
.ea-step-item.completed .ea-step-badge {
  background: var(--ea-shell-accent) !important; /* Fondo dorado */
  color: #fff !important;
  font-size: 15px !important;
}

.ea-step-item.completed .ea-step-label {
  color: var(--ea-shell-brand) !important;
  font-weight: 700 !important;
  text-decoration: line-through !important;
  opacity: 0.7 !important;
}

.ea-step-text {
  display: flex !important;
  flex-direction: column !important;
}

.ea-step-label {
  font-family: 'Outfit', sans-serif !important;
  font-size: 14px !important;
  line-height: 1.2 !important;
}

.ea-step-desc {
  font-size: 11px !important;
  color: var(--ea-shell-muted) !important;
  margin-top: 2px !important;
}

.ea-step-divider {
  height: 1px !important;
  border-top: 2px dashed rgba(16, 37, 63, 0.1) !important;
  flex: 1.5 !important;
  margin-inline: 16px !important;
}

/* Responsividad de los Pasos en Dispositivos Móviles */
@media (max-width: 768px) {
  .ea-checkout-steps-container {
    padding: 12px 16px !important;
    margin-bottom: 24px !important;
    gap: 8px !important;
  }

  .ea-step-desc {
    display: none !important; /* Ocultar descripciones secundarias en móvil */
  }

  .ea-step-label {
    font-size: 12px !important;
  }

  .ea-step-badge {
    width: 26px !important;
    height: 26px !important;
    font-size: 12px !important;
  }

  .ea-step-divider {
    margin-inline: 8px !important;
    flex: 0.5 !important;
  }
}

/* ==========================================================================
   OPTIMIZACIÓN DE CARRITO Y CHECKOUT RESPONSIVO — ESTÁNDAR /IX-DESIGN
   ========================================================================== */

/* Colapso de Carrito WooCommerce a Tarjetas Móviles (ancho < 768px) */
@media (max-width: 768px) {
  .woocommerce-cart table.shop_table.cart {
    display: block !important;
    border: 0 !important;
    background: transparent !important;
  }

  .woocommerce-cart table.shop_table.cart thead {
    display: none !important; /* Ocultar la cabecera de tabla clásica */
  }

  .woocommerce-cart table.shop_table.cart tbody {
    display: block !important;
    width: 100% !important;
  }

  .woocommerce-cart table.shop_table.cart tr.cart_item {
    display: block !important;
    width: 100% !important;
    background: #fffdf8 !important;
    border: 1px solid var(--ea-shell-line) !important;
    border-radius: 18px !important;
    margin-bottom: 16px !important;
    padding: 16px !important;
    position: relative !important;
    box-shadow: 0 4px 14px rgba(16, 37, 63, 0.02) !important;
    box-sizing: border-box !important;
  }

  .woocommerce-cart table.shop_table.cart td {
    display: block !important;
    width: 100% !important;
    text-align: left !important;
    padding: 8px 0 !important;
    border: 0 !important;
    box-sizing: border-box !important;
  }

  /* Botón de remover producto (Equis flotante) */
  .woocommerce-cart table.shop_table.cart td.product-remove {
    position: absolute !important;
    top: 14px !important;
    right: 14px !important;
    width: auto !important;
    padding: 0 !important;
    z-index: 10 !important;
  }

  /* Imagen del curso destacada */
  .woocommerce-cart table.shop_table.cart td.product-thumbnail {
    text-align: center !important;
    padding-bottom: 12px !important;
  }

  .woocommerce-cart table.shop_table.cart td.product-thumbnail img {
    width: 100px !important;
    height: 100px !important;
    object-fit: cover !important;
    border-radius: 14px !important;
    margin: 0 auto !important;
  }

  /* Título del curso */
  .woocommerce-cart table.shop_table.cart td.product-name {
    font-family: 'Outfit', sans-serif !important;
    font-size: 16px !important;
    font-weight: 800 !important;
    color: var(--ea-shell-brand) !important;
    text-align: center !important;
    padding: 4px 0 10px 0 !important;
    border-bottom: 1px solid rgba(16, 37, 63, 0.06) !important;
  }

  .woocommerce-cart table.shop_table.cart td.product-name a {
    color: var(--ea-shell-brand) !important;
    text-decoration: none !important;
  }

  /* Precio del curso */
  .woocommerce-cart table.shop_table.cart td.product-price,
  .woocommerce-cart table.shop_table.cart td.product-subtotal {
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    font-size: 14px !important;
    border-bottom: 1px solid rgba(16, 37, 63, 0.04) !important;
  }

  /* Añadir etiquetas descriptivas en móvil para que se entienda el valor */
  .woocommerce-cart table.shop_table.cart td.product-price::before {
    content: "Precio unitario:" !important;
    font-weight: 700 !important;
    color: var(--ea-shell-muted) !important;
  }

  .woocommerce-cart table.shop_table.cart td.product-subtotal::before {
    content: "Total del curso:" !important;
    font-weight: 700 !important;
    color: var(--ea-shell-brand) !important;
  }

  /* Cantidad (ocultar selectores o justificar) */
  .woocommerce-cart table.shop_table.cart td.product-quantity {
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    font-size: 14px !important;
  }

  .woocommerce-cart table.shop_table.cart td.product-quantity::before {
    content: "Alumnos matriculados:" !important;
    font-weight: 700 !important;
    color: var(--ea-shell-muted) !important;
  }

  /* Acciones de cupones */
  .woocommerce-cart table.shop_table.cart td.actions {
    display: block !important;
    background: #fffdf8 !important;
    border: 1px solid var(--ea-shell-line) !important;
    border-radius: 18px !important;
    padding: 16px !important;
  }

  .woocommerce-cart table.shop_table.cart td.actions .coupon {
    flex-direction: column !important;
    align-items: stretch !important;
    gap: 12px !important;
    margin-bottom: 16px !important;
  }

  .woocommerce-cart table.shop_table.cart td.actions .coupon input.input-text {
    width: 100% !important;
  }

  .woocommerce-cart table.shop_table.cart td.actions .coupon button.button {
    width: 100% !important;
  }

  .woocommerce-cart table.shop_table.cart td.actions > button.button {
    width: 100% !important;
  }
}

/* Optimización de Checkout en Móvil */
@media (max-width: 768px) {
  .woocommerce-checkout form.checkout {
    padding: 16px !important;
  }

  /* Botón primario de Realizar Pedido (ancho completo y gigante) */
  .woocommerce-checkout #payment input#place_order {
    width: 100% !important;
    min-height: 48px !important;
    font-size: 15px !important;
    font-weight: 800 !important;
    background: var(--ea-shell-brand) !important;
    color: #fff !important;
    border-radius: 16px !important;
    box-shadow: 0 6px 20px rgba(16, 37, 63, 0.16) !important;
    text-transform: uppercase !important;
    letter-spacing: 0.05em !important;
    transition: all 0.2s ease !important;
    margin-top: 12px !important;
  }
}

/* ==========================================================================
   12. REDISEÑO PREMIUM DE HOJAS DE VENTA (WOOCOMMERCE SINGLE PRODUCT)
   ========================================================================== */

/* Contenedor del Sidebar de Conversión (bajo el botón Añadir al Carrito) */
.ea-sidebar-conversion-block {
    display: flex !important;
    flex-direction: column !important;
    gap: 20px !important;
    margin-top: 24px !important;
    padding-top: 24px !important;
    border-top: 1px solid rgba(16, 37, 63, 0.08) !important;
    width: 100% !important;
}

/* Rejilla de Highlights del Curso */
.ea-sidebar-highlights-grid {
    display: grid !important;
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 12px !important;
    width: 100% !important;
}

.ea-highlight-item {
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
    background: var(--wp--preset--color--surface-alt, #f7f1e8) !important;
    border: 1px solid rgba(16, 37, 63, 0.04) !important;
    border-radius: 14px !important;
    padding: 10px 12px !important;
    transition: all 0.2s ease !important;
}

.ea-highlight-item:hover {
    background: #fffdf8 !important;
    border-color: rgba(211, 166, 79, 0.3) !important;
    transform: translateY(-1px) !important;
}

.ea-highlight-icon {
    font-size: 18px !important;
    flex-shrink: 0 !important;
    filter: drop-shadow(0 2px 4px rgba(16, 37, 63, 0.06)) !important;
}

.ea-highlight-text {
    display: flex !important;
    flex-direction: column !important;
    gap: 2px !important;
    overflow: hidden !important;
}

.ea-highlight-title {
    font-family: 'Inter', sans-serif !important;
    font-size: 10px !important;
    font-weight: 700 !important;
    color: #667085 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.05em !important;
}

.ea-highlight-value {
    font-family: 'Outfit', sans-serif !important;
    font-size: 11px !important;
    font-weight: 700 !important;
    color: #10253f !important;
    white-space: nowrap !important;
    text-overflow: ellipsis !important;
    overflow: hidden !important;
}

/* Mini Ficha del Profesor en el Sidebar */
.ea-sidebar-professor-badge {
    display: flex !important;
    align-items: center !important;
    gap: 12px !important;
    background: #fffdf8 !important;
    border: 1.5px dashed rgba(211, 166, 79, 0.25) !important;
    border-radius: 16px !important;
    padding: 12px 16px !important;
    transition: all 0.2s ease !important;
    cursor: pointer !important;
}

.ea-sidebar-professor-badge:hover {
    border-style: solid !important;
    border-color: rgba(211, 166, 79, 0.8) !important;
    background: #fffdf8 !important;
    box-shadow: 0 6px 16px rgba(16, 37, 63, 0.03) !important;
    transform: translateY(-1px) !important;
}

.ea-sidebar-professor-avatar {
    width: 42px !important;
    height: 42px !important;
    border-radius: 50% !important;
    object-fit: cover !important;
    border: 2px solid var(--ea-shell-accent, #d3a64f) !important;
    box-shadow: 0 4px 8px rgba(16, 37, 63, 0.06) !important;
    flex-shrink: 0 !important;
}

.ea-sidebar-professor-info {
    display: flex !important;
    flex-direction: column !important;
    gap: 1px !important;
}

.ea-sidebar-professor-label {
    font-family: 'Inter', sans-serif !important;
    font-size: 10px !important;
    font-weight: 700 !important;
    color: #d3a64f !important;
    text-transform: uppercase !important;
    letter-spacing: 0.05em !important;
}

.ea-sidebar-professor-name {
    font-family: 'Outfit', sans-serif !important;
    font-size: 14px !important;
    font-weight: 800 !important;
    color: #10253f !important;
}

/* Envoltura Principal de la Hoja de Ventas */
.ea-premium-sales-page-wrap {
    width: 100% !important;
    max-width: 1200px !important;
    margin: 48px auto !important;
    padding: 0 24px !important;
    box-sizing: border-box !important;
    clear: both !important;
    grid-column: 1 / -1 !important;
    flex-basis: 100% !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 56px !important;
}

/* Descripción Comercial de Curso */
.ea-premium-course-description {
    font-family: 'Outfit', sans-serif !important;
    font-size: 16px !important;
    line-height: 1.8 !important;
    color: #2d3748 !important;
    margin-bottom: 8px !important;
}

.ea-premium-course-description p {
    margin-bottom: 20px !important;
}

/* Títulos de Sección Premium */
.ea-premium-section-title {
    font-family: 'Outfit', sans-serif !important;
    color: #10253f !important;
    font-weight: 800 !important;
    font-size: clamp(20px, 2.5vw, 24px) !important;
    margin-top: 0 !important;
    margin-bottom: 24px !important;
    border-bottom: 2px solid #efeae0 !important;
    padding-bottom: 12px !important;
    position: relative !important;
}

.ea-premium-section-title::after {
    content: "" !important;
    position: absolute !important;
    bottom: -2px !important;
    left: 0 !important;
    width: 60px !important;
    height: 2px !important;
    background: var(--ea-shell-accent, #d3a64f) !important;
}

/* Envoltorio del Video de Presentación */
.ea-premium-video-wrapper {
    display: flex !important;
    flex-direction: column !important;
    width: 100% !important;
}

.ea-premium-video-card-container {
    position: relative !important;
    padding-bottom: 56.25% !important; /* aspect-ratio 16:9 */
    height: 0 !important;
    overflow: hidden !important;
    border-radius: 24px !important;
    box-shadow: 0 16px 48px rgba(16, 37, 63, 0.08) !important;
    border: 1px solid rgba(16, 37, 63, 0.05) !important;
    background: #000000 !important;
    transition: transform 0.3s ease, box-shadow 0.3s ease !important;
}

.ea-premium-video-card-container:hover {
    transform: translateY(-2px) !important;
    box-shadow: 0 24px 64px rgba(16, 37, 63, 0.14) !important;
}

/* Sección del Profesor Maestra */
.ea-premium-professor-section {
    display: flex !important;
    flex-direction: column !important;
    width: 100% !important;
}

.ea-premium-professor-card {
    display: grid !important;
    grid-template-columns: 180px 1fr !important;
    gap: 36px !important;
    align-items: center !important;
    background: radial-gradient(circle at top left, rgba(211, 166, 79, 0.06), transparent 60%), #fffdf8 !important;
    border: 1px solid #efeae0 !important;
    border-radius: 28px !important;
    padding: 40px !important;
    box-shadow: 0 12px 36px rgba(16, 37, 63, 0.02) !important;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1) !important;
}

.ea-premium-professor-card:hover {
    transform: translateY(-4px) !important;
    box-shadow: 0 24px 56px rgba(16, 37, 63, 0.08) !important;
    border-color: rgba(211, 166, 79, 0.3) !important;
}

.ea-professor-card-avatar-wrap {
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    position: relative !important;
}

.ea-professor-card-avatar-wrap::before {
    content: "" !important;
    position: absolute !important;
    top: -10px !important;
    left: -10px !important;
    right: -10px !important;
    bottom: -10px !important;
    border: 1.5px dashed rgba(211, 166, 79, 0.25) !important;
    border-radius: 50% !important;
    animation: ea-spin 40s linear infinite !important;
}

@keyframes ea-spin {
    from { transform: rotate(0deg); }
    to { transform: rotate(360deg); }
}

.ea-professor-card-avatar {
    width: 160px !important;
    height: 160px !important;
    border-radius: 50% !important;
    object-fit: cover !important;
    border: 4px solid var(--ea-shell-accent, #d3a64f) !important;
    box-shadow: 0 8px 24px rgba(16, 37, 63, 0.12) !important;
    transition: transform 0.3s ease !important;
}

.ea-premium-professor-card:hover .ea-professor-card-avatar {
    transform: scale(1.03) !important;
}

.ea-professor-card-details {
    display: flex !important;
    flex-direction: column !important;
    gap: 8px !important;
}

.ea-professor-card-name {
    font-family: 'Outfit', sans-serif !important;
    color: #10253f !important;
    font-weight: 800 !important;
    font-size: 24px !important;
    margin: 0 !important;
}

.ea-professor-card-tagline {
    font-family: 'Outfit', sans-serif !important;
    color: var(--ea-shell-accent, #d3a64f) !important;
    font-weight: 700 !important;
    font-size: 13px !important;
    text-transform: uppercase !important;
    letter-spacing: 0.08em !important;
    margin: 0 0 6px 0 !important;
}

.ea-professor-card-bio {
    font-family: var(--wp--preset--font-family--campus-sans), -apple-system, sans-serif !important;
    color: #4a5568 !important;
    font-size: 15px !important;
    line-height: 1.7 !important;
    margin: 0 0 10px 0 !important;
}

.ea-professor-card-quote {
    display: flex !important;
    align-items: flex-start !important;
    gap: 8px !important;
    background: rgba(211, 166, 79, 0.04) !important;
    border-left: 3px solid var(--ea-shell-accent, #d3a64f) !important;
    padding: 12px 18px !important;
    border-radius: 0 14px 14px 0 !important;
    margin-top: 8px !important;
}

.ea-quote-icon {
    font-family: 'Outfit', sans-serif !important;
    font-size: 32px !important;
    line-height: 1 !important;
    color: var(--ea-shell-accent, #d3a64f) !important;
    margin-top: -6px !important;
    user-select: none !important;
}

.ea-professor-card-quote p,
.ea-professor-card-quote {
    font-family: 'Inter', sans-serif !important;
    font-style: italic !important;
    font-size: 13.5px !important;
    color: #667085 !important;
    line-height: 1.5 !important;
    margin: 0 !important;
}

/* Temario Académico */
.ea-premium-curriculum-container {
    background: #fffdf8 !important;
    border: 1px solid #efeae0 !important;
    border-radius: 24px !important;
    padding: 24px !important;
    box-shadow: 0 12px 36px rgba(16, 37, 63, 0.01) !important;
    transition: border-color 0.2s ease !important;
}

.ea-premium-curriculum-container:hover {
    border-color: rgba(16, 37, 63, 0.1) !important;
}

/* Adaptabilidad para Móviles */
@media (max-width: 767px) {
    .ea-sidebar-highlights-grid {
        grid-template-columns: 1fr !important;
        gap: 8px !important;
    }

    .ea-premium-sales-page-wrap {
        gap: 36px !important;
        margin: 28px auto !important;
        padding: 0 16px !important;
    }

    .ea-premium-professor-card {
        grid-template-columns: 1fr !important;
        gap: 24px !important;
        padding: 24px !important;
        text-align: center !important;
    }

    .ea-professor-card-avatar-wrap::before {
        display: none !important;
    }

    .ea-professor-card-avatar {
        width: 120px !important;
        height: 120px !important;
    }

    .ea-professor-card-quote {
        text-align: left !important;
        padding: 10px 14px !important;
    }
}

/* ==========================================================================
   13. CORRECCIÓN DE BANNER Y PRODUCTOS RELACIONADOS (SINGLE PRODUCT)
   ========================================================================== */

/* Impedir que el banner panorámico inicial se salga del layout y redondearlo */
body.single-product .woocommerce-product-gallery,
body.single-product .images {
    width: 100% !important;
    max-width: 100% !important;
    border-radius: 20px !important;
    overflow: hidden !important;
    box-shadow: 0 10px 30px rgba(16, 37, 63, 0.06) !important;
    box-sizing: border-box !important;
}

body.single-product .woocommerce-product-gallery img,
body.single-product .images img {
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    display: block !important;
    object-fit: cover !important;
    border-radius: 20px !important;
}

/* Posicionar "Productos Relacionados" a ancho completo en la parte inferior absoluta */
body.single-product .related.products {
    clear: both !important;
    width: 100% !important;
    max-width: 1200px !important;
    margin: 64px auto !important;
    padding: 0 24px !important;
    box-sizing: border-box !important;
    display: block !important;
    float: none !important;
}

body.single-product .related.products h2 {
    font-family: 'Outfit', sans-serif !important;
    color: #10253f !important;
    font-weight: 800 !important;
    font-size: clamp(20px, 2.5vw, 24px) !important;
    border-bottom: 2px solid #efeae0 !important;
    padding-bottom: 12px !important;
    margin-bottom: 32px !important;
}

/* ==========================================================================
   14. DISEÑO PREMIUM DE CHECKOUT (ESTÁNDAR /IX-DESIGN)
   ========================================================================== */

/* Diseño de Rejilla de 2 Columnas para Checkout en Desktop */
@media (min-width: 992px) {
  .woocommerce-checkout form.checkout {
    display: grid !important;
    grid-template-columns: 7fr 5fr !important;
    gap: 40px !important;
    align-items: start !important;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    padding: 0 !important;
    max-width: 1200px !important;
    margin: 32px auto !important;
  }

  .woocommerce-checkout #customer_details {
    background: var(--ea-shell-surface) !important;
    border: 1px solid var(--ea-shell-line) !important;
    border-radius: var(--ea-shell-radius-lg) !important;
    padding: 36px !important;
    box-shadow: 0 8px 30px rgba(16, 37, 63, 0.02) !important;
  }

  .woocommerce-checkout #order_review,
  .woocommerce-checkout #order_review_heading {
    grid-column: 2 !important;
  }

  .woocommerce-checkout #order_review_heading {
    margin-top: 0 !important;
    padding-bottom: 8px !important;
    border-bottom: 2px solid var(--ea-shell-line) !important;
  }

  .woocommerce-checkout #order_review {
    background: var(--ea-shell-surface) !important;
    border: 1px solid var(--ea-shell-line) !important;
    border-radius: var(--ea-shell-radius-lg) !important;
    padding: 32px !important;
    box-shadow: 0 8px 30px rgba(16, 37, 63, 0.02) !important;
  }
}

/* Títulos de sección del Checkout */
.woocommerce-checkout h3 {
  font-family: var(--wp--preset--font-family--campus-sans), -apple-system, sans-serif !important;
  font-weight: 800 !important;
  color: var(--ea-shell-brand) !important;
  font-size: 18px !important;
  margin-top: 0 !important;
  margin-bottom: 24px !important;
  border-bottom: 1px solid rgba(16, 37, 63, 0.08) !important;
  padding-bottom: 10px !important;
  text-transform: none !important;
  letter-spacing: -0.01em !important;
}

/* Estilo y Corrección para Campos de Dirección e Información Adicional */
.woocommerce form .form-row textarea {
  min-height: 110px !important;
  padding: 12px 16px !important;
  width: 100% !important;
  box-sizing: border-box !important;
}

/* Integrar Select2 (Combos de Selección de País/Provincia) con la estética Premium */
.woocommerce-checkout .select2-container--default .select2-selection--single {
  min-height: 44px !important;
  background-color: #fffdf8 !important;
  border: 1px solid rgba(16, 37, 63, 0.14) !important;
  border-radius: 14px !important;
  padding: 8px 12px !important;
  box-sizing: border-box !important;
  display: flex !important;
  align-items: center !important;
}

.woocommerce-checkout .select2-container--default .select2-selection--single .select2-selection__rendered {
  color: var(--ea-shell-ink) !important;
  font-size: 15px !important;
  padding: 0 !important;
}

.woocommerce-checkout .select2-container--default .select2-selection--single .select2-selection__arrow {
  height: 42px !important;
  right: 12px !important;
}

.woocommerce-checkout .select2-container--default .select2-selection--single .select2-selection__arrow b {
  border-color: var(--ea-shell-brand) transparent transparent transparent !important;
  border-width: 6px 4px 0 4px !important;
}

.woocommerce-checkout .select2-container--default.select2-container--open .select2-selection--single .select2-selection__arrow b {
  border-color: transparent transparent var(--ea-shell-brand) transparent !important;
  border-width: 0 4px 6px 4px !important;
}

/* Tabla de Revisión de Pedido (Order Review Table) */
.woocommerce-checkout-review-order-table {
  width: 100% !important;
  border-collapse: collapse !important;
  margin-bottom: 24px !important;
}

.woocommerce-checkout-review-order-table th,
.woocommerce-checkout-review-order-table td {
  padding: 12px 0 !important;
  border-bottom: 1px solid rgba(16, 37, 63, 0.06) !important;
  font-size: 14px !important;
  color: var(--ea-shell-ink) !important;
  background: transparent !important;
}

.woocommerce-checkout-review-order-table th {
  font-weight: 700 !important;
  text-align: left !important;
}

.woocommerce-checkout-review-order-table td {
  text-align: right !important;
}

.woocommerce-checkout-review-order-table .cart_item td.product-name {
  text-align: left !important;
  font-weight: 500 !important;
}

.woocommerce-checkout-review-order-table tr.cart-subtotal th,
.woocommerce-checkout-review-order-table tr.order-total th {
  font-weight: 700 !important;
}

.woocommerce-checkout-review-order-table tr.order-total th,
.woocommerce-checkout-review-order-table tr.order-total td {
  font-size: 16px !important;
  font-weight: 800 !important;
  color: var(--ea-shell-brand) !important;
  border-bottom: 0 !important;
  padding-top: 18px !important;
}

/* Caja de Métodos de Pago WooCommerce (#payment) */
.woocommerce-checkout #payment {
  background: var(--wp--preset--color--surface-alt, #f7f1e8) !important;
  border-radius: 18px !important;
  padding: 20px !important;
  border: 1px solid rgba(16, 37, 63, 0.05) !important;
}

.woocommerce-checkout #payment ul.payment_methods {
  list-style: none !important;
  padding: 0 !important;
  margin: 0 0 20px 0 !important;
}

.woocommerce-checkout #payment ul.payment_methods li {
  margin-bottom: 12px !important;
  line-height: 1.5 !important;
}

.woocommerce-checkout #payment ul.payment_methods li input {
  margin-right: 8px !important;
  cursor: pointer !important;
}

.woocommerce-checkout #payment ul.payment_methods li label {
  font-weight: 700 !important;
  font-size: 14px !important;
  color: var(--ea-shell-brand) !important;
  cursor: pointer !important;
  display: inline-block !important;
}

.woocommerce-checkout #payment div.payment_box {
  background: rgba(255, 255, 255, 0.7) !important;
  border: 1px solid rgba(16, 37, 63, 0.04) !important;
  border-radius: 12px !important;
  padding: 12px 16px !important;
  font-size: 13px !important;
  color: var(--ea-shell-muted) !important;
  margin: 8px 0 12px 0 !important;
  position: relative !important;
}

.woocommerce-checkout #payment div.payment_box::before {
  display: none !important; /* Eliminar el triángulo feo por defecto */
}

/* Caja de Términos y Condiciones y Botón de Pago */
.woocommerce-checkout #payment div.form-row.place-order {
  padding: 0 !important;
  margin: 0 !important;
  background: transparent !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 16px !important;
  align-items: stretch !important;
  width: 100% !important;
}

/* Botón Realizar Pedido (Place Order) */
.woocommerce-checkout #payment input#place_order {
  width: 100% !important;
  min-height: 50px !important;
  font-size: 15px !important;
  font-weight: 800 !important;
  background: var(--ea-shell-accent, #d3a64f) !important;
  color: var(--ea-shell-brand, #10253f) !important;
  border: 0 !important;
  border-radius: 16px !important;
  box-shadow: 0 4px 14px rgba(211, 166, 79, 0.25) !important;
  text-transform: uppercase !important;
  letter-spacing: 0.05em !important;
  cursor: pointer !important;
  transition: all 0.25s cubic-bezier(0.4, 0, 0.2, 1) !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
}

.woocommerce-checkout #payment input#place_order:hover {
  background: var(--ea-shell-brand) !important;
  color: #fff !important;
  box-shadow: 0 6px 20px rgba(16, 37, 63, 0.18) !important;
  transform: translateY(-2px) !important;
}

.woocommerce-checkout #payment input#place_order:active {
  transform: translateY(0) !important;
}

/* Ajustes de Avisos y Notificaciones en Carrito / Checkout */
.woocommerce-NoticeGroup-checkout,
.woocommerce-error,
.woocommerce-info,
.woocommerce-message {
  margin-bottom: 24px !important;
  border-radius: 16px !important;
  padding: 16px 20px !important;
  font-size: 14px !important;
  font-weight: 500 !important;
}

.woocommerce-info {
  background-color: var(--ea-shell-info-soft) !important;
  border: 1px solid rgba(24, 73, 169, 0.12) !important;
  color: var(--ea-shell-info) !important;
}

.woocommerce-error {
  background-color: var(--ea-shell-danger-soft) !important;
  border: 1px solid rgba(180, 35, 24, 0.12) !important;
  color: var(--ea-shell-danger) !important;
  list-style: none !important;
}
