/*
Theme Name: EH Campus
Theme URI: https://ehideas.com
Author: EH Ideas
Description: Tema personalizado de catálogo de cursos para EH Campus con WooCommerce
Version: 2.6
Requires at least: 6.0
Tested up to: 6.7
Requires PHP: 7.4
License: Proprietary
Text Domain: ehcampus
*/

/* ══════════════════════════════════════
   FUENTES PROPIAS — declaradas manualmente para evitar
   el unicode-range restringido que genera la Biblioteca
   de Fuentes de WordPress (causaba fallback tras acentos/ñ)
   ══════════════════════════════════════ */
@font-face {
  font-family: "Core Sans A 45 Regular";
  src: url("/wp-content/uploads/fonts/CoreSansA45Regular.woff2") format("woff2");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Geogrotesque";
  src: url("/wp-content/uploads/fonts/GeogtqLight.woff2") format("woff2");
  font-weight: 300;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Geogrotesque";
  src: url("/wp-content/uploads/fonts/GeogtqRegular.woff2") format("woff2");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Geogrotesque";
  src: url("/wp-content/uploads/fonts/GeogtqMedium.woff2") format("woff2");
  font-weight: 500;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Geogrotesque";
  src: url("/wp-content/uploads/fonts/GeogtqSemiBold.woff2") format("woff2");
  font-weight: 600;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Geogrotesque";
  src: url("/wp-content/uploads/fonts/GeogtqBold.woff2") format("woff2");
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}

/* ══════════════════════════════════════
   EH CAMPUS — Design System
   ══════════════════════════════════════ */
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
:root {
  --blue:      #CC5599;
  --blue-dk:   #994073;
  --blue-lt:   #FAEEF5;
  --red:       #F05A5A;
  --red-lt:    #FEECEC;
  --yellow:    #F5A623;
  --yellow-lt: #FFF8EC;
  --purple:    #7C3AED;
  --purple-lt: #EDE9FE;
  --off:       #F4F4F2;
  --surface:   #ffffff;
  --border:    #E0E0E0;
  --dark:      #0D1117;
  --text:      #444343;
  --muted:     #6B7280;
  --light:     #9CA3AF;
  --r:         14px;
  --r-sm:      8px;
  --r-pill:    100px;
  --sh-sm:     0 1px 4px rgba(0,0,0,0.06);
  --sh:        0 4px 20px rgba(0,0,0,0.09);
  --sh-lg:     0 8px 40px rgba(0,0,0,0.13);
  --t:         .26s cubic-bezier(.4,0,.2,1);
}
html { scroll-behavior: smooth; }
body {
  font-family: "Core Sans A 45 Regular", "Helvetica Neue", Helvetica, Arial, sans-serif;
  color: var(--text);
  background: var(--off);
  font-size: 15px;
  line-height: 1.6;
}
a { text-decoration: none; color: inherit; }
button { font-family: inherit; cursor: pointer; border: none; }
img { max-width: 100%; height: auto; display: block; }
h1, h2, h3 {
  font-family: "Geogrotesque", "Core Sans A 45 Regular", "Helvetica Neue", Helvetica, Arial, sans-serif;
}

/* ══ WP ADMIN BAR ══ */
.admin-bar .ehc-navbar { top: 32px; }
.admin-bar .ehc-cat-bar { top: calc(66px + 32px); }
@media screen and (max-width: 782px) {
  .admin-bar .ehc-navbar { top: 46px; }
  .admin-bar .ehc-cat-bar { top: calc(66px + 46px); }
}

/* ══ NAVBAR ══ */
.ehc-navbar {
  background: var(--surface);
  border-bottom: 2px solid var(--blue);
  position: sticky;
  top: 0;
  z-index: 100;
  box-shadow: 0 2px 12px rgba(204,85,153,0.08);
}
.ehc-navbar-inner {
  max-width: 1280px;
  margin: 0 auto;
  padding: 0 24px;
  height: 66px;
  display: flex;
  align-items: center;
  gap: 28px;
}
.ehc-nav-logo { display: flex; align-items: center; flex-shrink: 0; }
.ehc-nav-logo img { height: 78px; width: auto; display: block; }
.ehc-nav-links { display: flex; gap: 6px; margin-left: 12px; }
.ehc-nav-links a {
  font-size: 13.5px;
  font-weight: 500;
  color: var(--muted);
  padding: 6px 14px;
  border-radius: var(--r-pill);
  transition: color var(--t), background var(--t);
}
.ehc-nav-links a:hover { color: var(--blue); background: var(--blue-lt); }
.ehc-nav-links a.active { color: var(--blue); background: var(--blue-lt); font-weight: 600; }
.ehc-nav-spacer { flex: 1; }
.ehc-nav-search {
  display: flex;
  align-items: center;
  background: var(--off);
  border: 1.5px solid var(--border);
  border-radius: var(--r-pill);
  padding: 0 14px 0 10px;
  gap: 8px;
  height: 38px;
  width: 240px;
  transition: border-color var(--t), box-shadow var(--t);
}
.ehc-nav-search:focus-within { border-color: var(--blue); box-shadow: 0 0 0 3px rgba(204,85,153,0.10); }
.ehc-nav-search svg { color: var(--muted); flex-shrink: 0; }
.ehc-nav-search input {
  border: none; background: transparent;
  font-size: 13.5px; font-family: inherit;
  color: var(--text); outline: none; width: 100%;
}
.ehc-nav-search input::placeholder { color: var(--light); }
.ehc-nav-actions { display: flex; gap: 10px; align-items: center; }
.ehc-btn-ghost {
  font-size: 13.5px; font-weight: 500; color: var(--text);
  background: transparent; border: 1.5px solid var(--border);
  border-radius: var(--r-pill); padding: 7px 18px;
  transition: border-color var(--t), color var(--t), background var(--t);
}
.ehc-btn-ghost:hover { border-color: var(--blue); color: var(--blue); }
.ehc-btn-primary {
  font-size: 13.5px; font-weight: 600; color: white;
  background: var(--blue); border-radius: var(--r-pill);
  padding: 8px 20px;
  transition: background var(--t), transform var(--t), box-shadow var(--t);
  box-shadow: 0 2px 10px rgba(204,85,153,0.25);
}
.ehc-btn-primary:hover { 
  background: var(--blue-dk); 
  transform: translateY(-1px); 
  box-shadow: 0 4px 18px rgba(204,85,153,0.35); 
}
.ehc-btn-account { display: flex; align-items: center; gap: 7px; }
.ehc-icon-account { display: none; flex-shrink: 0; }

@media (max-width: 600px) {
  .ehc-btn-account { padding: 8px; border-radius: 50%; }
  .ehc-icon-account { display: block; }
  .ehc-account-label { display: none; }
}

/* ══ HERO ══ */
.ehc-hero {
  background: var(--blue);
  position: relative;
  overflow: hidden;
  padding: 72px 24px 64px;
  text-align: center;
}
.ehc-hero-grid {
  position: absolute; inset: 0;
  background-image: linear-gradient(rgba(255,255,255,0.05) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,0.05) 1px, transparent 1px);
  background-size: 60px 60px;
}
.ehc-hero-orb-1 {
  position: absolute; width: 480px; height: 480px;
  top: -100px; right: -60px;
  background: radial-gradient(circle, rgba(240,90,90,0.22) 0%, transparent 65%);
  pointer-events: none;
}
.ehc-hero-orb-2 {
  position: absolute; width: 360px; height: 360px;
  bottom: -80px; left: -40px;
  background: radial-gradient(circle, rgba(255,255,255,0.07) 0%, transparent 65%);
  pointer-events: none;
}
.ehc-hero-content { position: relative; z-index: 2; max-width: 720px; margin: 0 auto; }
.ehc-hero-chip {
  display: inline-flex; align-items: center; gap: 8px;
  background: rgba(255,255,255,0.12); border: 1px solid rgba(255,255,255,0.2);
  color: rgba(255,255,255,0.9); font-size: 11.5px; font-weight: 600;
  letter-spacing: 0.08em; text-transform: uppercase;
  padding: 5px 14px; border-radius: var(--r-pill); margin-bottom: 22px;
}
.ehc-hero-chip::before { content: "●"; font-size: 7px; color: var(--red); opacity: 0.9; margin-right: 4px; }
.ehc-hero h1 {
  font-size: clamp(2rem, 4vw, 2.9rem); font-weight: 800;
  color: white; line-height: 1.18; letter-spacing: -0.03em; margin-bottom: 18px;
}
.ehc-hero h1 em { font-style: normal; color: #F7E586; }
.ehc-hero-sub { font-size: 1.05rem; color: rgba(255,255,255,0.75); max-width: 540px; margin: 0 auto 32px; line-height: 1.65; }
.ehc-hero-search-bar {
  display: flex; align-items: center;
  background: white; border-radius: var(--r-pill);
  padding: 6px 6px 6px 22px; gap: 10px;
  max-width: 560px; margin: 0 auto 24px;
  box-shadow: 0 8px 32px rgba(0,0,0,0.18);
}
.ehc-hero-search-bar input { flex: 1; border: none; outline: none; font-size: 14px; font-family: inherit; color: var(--text); background: transparent; }
.ehc-hero-search-bar input::placeholder { color: var(--light); }
.ehc-hero-search-btn {
  background: var(--blue); color: white; font-size: 13px; font-weight: 600;
  border-radius: var(--r-pill); padding: 10px 22px; transition: background var(--t); white-space: nowrap;
}
.ehc-hero-search-btn:hover { background: var(--blue-dk); }
.ehc-hero-stats { display: flex; justify-content: center; gap: 32px; flex-wrap: wrap; }
.ehc-hero-stat { color: rgba(255,255,255,0.9); font-size: 13px; display: flex; align-items: center; gap: 6px; }
.ehc-hero-stat strong { font-weight: 700; font-size: 14px; color: white; }
.ehc-hero-stat::before { content: "✓"; color: var(--red); font-weight: 700; font-size: 13px; }

/* ══ CATEGORY TABS ══ */
.ehc-cat-bar {
  background: var(--surface);
  border-bottom: 1px solid var(--border);
  position: sticky;
  top: 66px;
  z-index: 90;
}
.ehc-cat-bar-inner {
  max-width: 1280px; margin: 0 auto; padding: 0 24px;
  display: flex; align-items: center; gap: 4px;
  overflow-x: auto; scrollbar-width: none;
}
.ehc-cat-bar-inner::-webkit-scrollbar { display: none; }
.ehc-cat-tab {
  flex-shrink: 0; font-size: 13px; font-weight: 500; color: var(--muted);
  background: transparent; border: none; border-bottom: 3px solid transparent;
  padding: 14px 16px; transition: color var(--t), border-color var(--t); white-space: nowrap;
}
.ehc-cat-tab:hover { color: var(--blue); }
.ehc-cat-tab.active { color: var(--blue); font-weight: 700; border-bottom-color: var(--blue); }

/* ══ MAIN LAYOUT ══ */
.ehc-main-wrap {
  max-width: 1280px; margin: 0 auto;
  padding: 36px 24px 64px;
  display: grid; grid-template-columns: 272px 1fr;
  gap: 32px; align-items: start;
}

/* ══ SIDEBAR ══ */
.ehc-sidebar {
  position: sticky; top: 120px;
  background: var(--surface); border-radius: var(--r);
  border: 1px solid var(--border); padding: 6px 0;
  box-shadow: var(--sh-sm); overflow: hidden;
}
.ehc-sidebar-header {
  padding: 16px 20px 12px; border-bottom: 1px solid var(--border);
  display: flex; align-items: center; justify-content: space-between;
}
.ehc-sidebar-header h3 { font-size: 13px; font-weight: 700; text-transform: uppercase; letter-spacing: 0.06em; color: var(--muted); }
.ehc-clear-btn { font-size: 12px; font-weight: 600; color: var(--blue); background: none; border: none; cursor: pointer; padding: 0; }
.ehc-clear-btn:hover { text-decoration: underline; }
.ehc-filter-group { border-bottom: 1px solid var(--border); }
.ehc-filter-group:last-child { border-bottom: none; }
.ehc-filter-toggle {
  width: 100%; display: flex; align-items: center; justify-content: space-between;
  padding: 14px 20px; background: none; border: none;
  font-size: 14px; font-weight: 600; color: var(--text); cursor: pointer; transition: background var(--t);
}
.ehc-filter-toggle:hover { background: var(--off); }
.ehc-filter-toggle .arrow { font-size: 11px; color: var(--muted); transition: transform var(--t); }
.ehc-filter-toggle.open .arrow { transform: rotate(180deg); }
.ehc-filter-body { padding: 6px 20px 14px; display: flex; flex-direction: column; gap: 4px; }
.ehc-filter-body.hidden { display: none; }
.ehc-filter-option {
  display: flex; align-items: center; gap: 10px;
  padding: 6px 8px; border-radius: var(--r-sm); cursor: pointer; transition: background var(--t);
}
.ehc-filter-option:hover { background: var(--off); }
.ehc-filter-option input[type="checkbox"] { accent-color: var(--blue); width: 15px; height: 15px; cursor: pointer; flex-shrink: 0; }
.ehc-filter-option label { font-size: 13.5px; color: var(--text); cursor: pointer; flex: 1; }
.ehc-filter-count { font-size: 11.5px; color: var(--muted); background: var(--off); border-radius: var(--r-pill); padding: 2px 8px; font-weight: 500; }

/* ══ CONTENT AREA ══ */
.ehc-toolbar { display: flex; align-items: center; gap: 12px; margin-bottom: 22px; flex-wrap: wrap; }
.ehc-results-count { font-size: 14px; font-weight: 600; color: var(--text); flex: 1; }
.ehc-results-count span { color: var(--muted); font-weight: 400; }
.ehc-sort-select {
  font-size: 13px; font-family: inherit; color: var(--text);
  background: var(--surface); border: 1.5px solid var(--border);
  border-radius: var(--r-pill); padding: 7px 32px 7px 14px; appearance: none;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%236B7280' stroke-width='2.5'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");
  background-repeat: no-repeat; background-position: right 12px center;
  cursor: pointer; transition: border-color var(--t);
}
.ehc-sort-select:focus { outline: none; border-color: var(--blue); }
.ehc-view-toggle { display: flex; gap: 4px; }
.ehc-view-btn {
  width: 34px; height: 34px;
  display: flex; align-items: center; justify-content: center;
  border-radius: var(--r-sm); border: 1.5px solid var(--border);
  background: transparent; color: var(--muted); transition: all var(--t);
}
.ehc-view-btn.active { background: var(--blue-lt); border-color: var(--blue); color: var(--blue); }
.ehc-view-btn:hover:not(.active) { background: var(--off); border-color: var(--text); color: var(--text); }

/* ══ COURSE LIST (horizontal cards) ══ */
.ehc-course-list { display: flex; flex-direction: column; gap: 16px; }
.ehc-course-list.hidden { display: none; }
.ehc-course-card {
  background: var(--surface); border: 1px solid var(--border); border-radius: var(--r);
  display: grid; grid-template-columns: 220px 1fr auto; overflow: hidden;
  transition: box-shadow var(--t), transform var(--t), border-color var(--t);
}
.ehc-course-card:hover { box-shadow: var(--sh); transform: translateY(-2px); border-color: rgba(204,85,153,0.2); }
.ehc-card-thumb { position: relative; overflow: hidden; }
.ehc-card-thumb img { width: 100%; height: 100%; object-fit: cover; min-height: 148px; }
.ehc-card-thumb-placeholder {
  width: 100%; height: 100%; min-height: 148px;
  display: flex; flex-direction: column; align-items: center; justify-content: center;
  gap: 8px; font-size: 28px;
  background: linear-gradient(135deg, var(--blue-lt) 0%, #F7E6F0 100%);
}
.ehc-card-badges { position: absolute; top: 10px; left: 10px; display: flex; flex-direction: column; gap: 5px; }
.ehc-badge { font-size: 10.5px; font-weight: 700; padding: 3px 9px; border-radius: var(--r-pill); letter-spacing: 0.04em; line-height: 1.4; }
.ehc-badge-async { background: var(--blue); color: white; }
.ehc-badge-new   { background: var(--yellow); color: white; }
.ehc-badge-feat  { background: var(--red); color: white; }
.ehc-card-body { padding: 18px 20px; display: flex; flex-direction: column; gap: 8px; min-width: 0; }
.ehc-card-category { font-size: 11px; font-weight: 700; text-transform: uppercase; letter-spacing: 0.08em; color: var(--blue); }
.ehc-card-title {
  font-size: 15.5px; font-weight: 700; color: var(--text); line-height: 1.35;
  display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden;
}
.ehc-card-excerpt {
  font-size: 13px; color: var(--muted); line-height: 1.55;
  display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden;
}
.ehc-card-meta { display: flex; align-items: center; gap: 14px; flex-wrap: wrap; margin-top: auto; padding-top: 6px; }
.ehc-card-cta {
  padding: 16px 18px; display: flex; flex-direction: column;
  align-items: flex-end; justify-content: space-between;
  gap: 12px; border-left: 1px solid var(--border); min-width: 160px;
  background: rgba(244,244,242,0.4);
}
.ehc-card-price { text-align: right; }
.ehc-price-main { font-size: 1.35rem; font-weight: 800; color: var(--text); line-height: 1.2; }
.ehc-price-old { font-size: 12.5px; color: var(--light); text-decoration: line-through; }
.ehc-price-free { font-size: 1.1rem; font-weight: 800; color: var(--blue); }
.ehc-btn-add-cart {
  display: block; width: 100%; font-size: 13px; font-weight: 700; color: white;
  background: var(--blue); border-radius: var(--r-pill); padding: 10px 16px;
  transition: background var(--t), box-shadow var(--t), transform var(--t);
  text-align: center; box-shadow: 0 2px 10px rgba(204,85,153,0.22); border: none;
  cursor: pointer;
}
.ehc-btn-add-cart:hover { background: var(--blue-dk); box-shadow: 0 4px 18px rgba(204,85,153,0.35); transform: translateY(-1px); }
.ehc-btn-preview {
  display: block; width: 100%; font-size: 12.5px; font-weight: 600; color: var(--blue);
  background: transparent; border: 1.5px solid var(--blue-lt);
  border-radius: var(--r-pill); padding: 8px 16px;
  transition: background var(--t), border-color var(--t); text-align: center;
}
.ehc-btn-preview:hover { background: var(--blue-lt); border-color: var(--blue); }

/* WooCommerce add-to-cart button override */
.ehc-card-cta .button,
.ehc-card-cta .single_add_to_cart_button,
.ehc-card-cta a.button {
  display: block; width: 100%; font-size: 13px; font-weight: 700; color: white !important;
  background: var(--blue) !important; border-radius: var(--r-pill); padding: 10px 16px;
  transition: background var(--t); text-align: center; border: none;
}
.ehc-card-cta .button:hover { background: var(--blue-dk) !important; }

/* ══ GRID VIEW ══ */
.ehc-course-grid { display: none; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); gap: 20px; }
.ehc-course-grid.active { display: grid; }
.ehc-grid-card {
  background: var(--surface); border: 1px solid var(--border);
  border-radius: var(--r); overflow: hidden;
  transition: box-shadow var(--t), transform var(--t), border-color var(--t);
}
.ehc-grid-card:hover { box-shadow: var(--sh); transform: translateY(-3px); border-color: rgba(204,85,153,0.2); }
.ehc-grid-thumb { height: 160px; position: relative; overflow: hidden; }
.ehc-grid-thumb img { width: 100%; height: 100%; object-fit: cover; }
.ehc-grid-thumb-placeholder {
  width: 100%; height: 100%;
  display: flex; align-items: center; justify-content: center;
  font-size: 32px;
  background: linear-gradient(135deg, var(--blue-lt) 0%, #F7E6F0 100%);
}
.ehc-grid-body { padding: 16px; }
.ehc-grid-body .ehc-card-title { font-size: 14.5px; margin-bottom: 8px; }
.ehc-grid-details-link {
  display: inline-block; font-size: 12.5px; font-weight: 600;
  color: var(--blue); margin-top: 2px;
}
.ehc-grid-details-link:hover { text-decoration: underline; }
.ehc-grid-footer {
  display: flex; align-items: center; justify-content: space-between;
  padding: 12px 16px; border-top: 1px solid var(--border);
  background: rgba(244,244,242,0.4);
}
.ehc-btn-add-cart-sm {
  font-size: 12.5px; font-weight: 700; color: white;
  background: var(--blue); border-radius: var(--r-pill); padding: 8px 16px;
  transition: background var(--t); border: none; cursor: pointer;
}
.ehc-btn-add-cart-sm:hover { background: var(--blue-dk); }

/* ══ PAGINATION ══ */
.ehc-pagination { display: flex; justify-content: center; align-items: center; gap: 6px; margin-top: 40px; }
/* WooCommerce native pagination */
.woocommerce-pagination { margin-top: 40px; }
.woocommerce-pagination ul { display: flex; justify-content: center; align-items: center; gap: 6px; list-style: none; padding: 0; }
.woocommerce-pagination ul li a,
.woocommerce-pagination ul li span {
  display: flex; align-items: center; justify-content: center;
  width: 38px; height: 38px; font-size: 13.5px; font-weight: 600;
  border-radius: var(--r-pill); border: 1.5px solid var(--border);
  background: var(--surface); color: var(--text); transition: all var(--t);
}
.woocommerce-pagination ul li a:hover { border-color: var(--blue); color: var(--blue); background: var(--blue-lt); }
.woocommerce-pagination ul li span.current { background: var(--blue); border-color: var(--blue); color: white; }

/* ══ CTA BANNER ══ */
.ehc-cta-section {
  background: var(--blue); position: relative; overflow: hidden;
  padding: 56px 24px; text-align: center; margin-top: 0;
}
.ehc-cta-inner { position: relative; z-index: 2; max-width: 600px; margin: 0 auto; }
.ehc-cta-inner h2 { font-size: clamp(1.6rem, 3vw, 2.2rem); font-weight: 800; color: white; letter-spacing: -0.03em; margin-bottom: 14px; }
.ehc-cta-inner p { font-size: 1rem; color: rgba(255,255,255,0.75); margin-bottom: 28px; }
.ehc-cta-actions { display: flex; gap: 12px; justify-content: center; flex-wrap: wrap; }
.ehc-btn-white {
  font-size: 14px; font-weight: 700; color: var(--blue); background: white;
  border-radius: var(--r-pill); padding: 13px 28px;
  box-shadow: 0 4px 20px rgba(0,0,0,0.15); transition: transform var(--t), box-shadow var(--t);
  border: none; cursor: pointer;
}
.ehc-btn-white:hover { transform: translateY(-2px); box-shadow: 0 6px 28px rgba(0,0,0,0.2); }
.ehc-btn-outline-white {
  font-size: 14px; font-weight: 600; color: white; background: transparent;
  border: 2px solid rgba(255,255,255,0.4); border-radius: var(--r-pill); padding: 12px 28px;
  transition: border-color var(--t), background var(--t); cursor: pointer;
}
.ehc-btn-outline-white:hover { border-color: white; background: rgba(255,255,255,0.1); }

/* ══ FOOTER ══ */
.ehc-footer {
  background: var(--dark); color: rgba(255,255,255,0.55); padding: 52px 24px 32px;
}
.ehc-footer-inner {
  max-width: 1280px; margin: 0 auto;
  display: grid; grid-template-columns: 1.6fr 1fr 1fr 1fr;
  gap: 40px; padding-bottom: 40px;
  border-bottom: 1px solid rgba(255,255,255,0.08); margin-bottom: 28px;
}
.ehc-footer-brand img { height: 34px; width: auto; filter: brightness(0) invert(1); opacity: 0.8; margin-bottom: 14px; }
.ehc-footer-brand p { font-size: 13px; line-height: 1.65; color: rgba(255,255,255,0.45); max-width: 260px; }
.ehc-footer-col h4 { font-size: 12px; font-weight: 700; text-transform: uppercase; letter-spacing: 0.08em; color: rgba(255,255,255,0.8); margin-bottom: 14px; }
.ehc-footer-col a { display: block; font-size: 13px; color: rgba(255,255,255,0.45); margin-bottom: 8px; transition: color var(--t); }
.ehc-footer-col a:hover { color: white; }
.ehc-footer-bottom {
  max-width: 1280px; margin: 0 auto;
  display: flex; justify-content: space-between; align-items: center;
  font-size: 12.5px; color: rgba(255,255,255,0.3);
}
.ehc-footer-bottom a { color: rgba(255,255,255,0.4); }
.ehc-footer-bottom a:hover { color: white; }
.ehc-footer-socials { display: flex; gap: 12px; }
.ehc-social-icon {
  width: 30px; height: 30px; border-radius: 50%;
  background: rgba(255,255,255,0.08);
  display: flex; align-items: center; justify-content: center;
  font-size: 12px; color: rgba(255,255,255,0.5);
  transition: background var(--t), color var(--t);
}
.ehc-social-icon:hover { background: var(--blue); color: white; }

/* ══ RESPONSIVE ══ */
@media (max-width: 960px) {
  .ehc-main-wrap { grid-template-columns: 1fr; padding: 36px 0px 64px;}
  .ehc-sidebar { position: static; }
  .ehc-course-card { grid-template-columns: 160px 1fr; }
  .ehc-card-cta { display: none;  padding: 36px 0px 64px; }
  .ehc-footer-inner { grid-template-columns: 1fr 1fr; }
  .ehc-toolbar {padding: 0px 10px;}
  .ehc-btn-ghost {text-align: center;}
  .ehc-nav-logo img {height: 38px;}
}

@media (max-width: 600px) {
  .ehc-hero h1 { font-size: 1.8rem; }
  .ehc-nav-links, .ehc-nav-search { display: none; }
  .ehc-course-card { grid-template-columns: 120px 1fr; }
  .ehc-footer-inner { grid-template-columns: 1fr; }
  .ehc-hero-stats { gap: 16px; }
  .ehc-course-list { padding: 0 5px;}
  .ehc-btn-ghost {text-align: center;}
  .ehc-navbar-inner {gap: 10px;}
}

/* ══ Card badges (sobre la imagen) ══ */
.ehc-badge {
  display: inline-flex; align-items: center; justify-content: center;
  font-size: 10.5px; font-weight: 700; padding: 4px 10px;
  border-radius: var(--r-pill); letter-spacing: 0.04em;
  line-height: 1; text-align: center; white-space: nowrap;
}
.ehc-badge-nuevo  { background: #F5A623; color: white; }
.ehc-badge-async  { background: var(--blue); color: white; }
.ehc-badge-sinc   { background: #0FB37E; color: white; }
.ehc-badge-blend  { background: var(--purple); color: white; }
.ehc-badge-feat   { background: var(--red); color: white; }

/* ══ Tags de características (Certificado, Nivel) ══ */
.ehc-card-tags { display: flex; gap: 7px; flex-wrap: wrap; margin-top: 8px; }
.ehc-tag {
  display: inline-flex; align-items: center; gap: 5px;
  font-size: 11.5px; font-weight: 600; padding: 5px 11px;
  border-radius: var(--r-pill); letter-spacing: 0.02em; white-space: nowrap;
  line-height: 1;
}
.ehc-tag-cert    { background: #D1FAE5 !important; color: #065F46 !important; border: 1px solid #6EE7B7 !important; }
.ehc-tag-nivel-p { background: #EDE9FE !important; color: #4C1D95 !important; border: 1px solid #C4B5FD !important; }
.ehc-tag-nivel-i { background: #DBEAFE !important; color: #1E40AF !important; border: 1px solid #93C5FD !important; }
.ehc-tag-nivel-a { background: #FEE2E2 !important; color: #991B1B !important; border: 1px solid #FCA5A5 !important; }
.ehc-tag-nivel-t { background: #F3F4F6 !important; color: #4B5563 !important; border: 1px solid #D1D5DB !important; }

/* ══ Meta row: duración, lecciones, rating — texto limpio con ícono ══ */
.ehc-card-meta {
  display: flex; align-items: center; gap: 16px; flex-wrap: wrap;
  margin-top: 10px; padding-top: 10px; border-top: 1px solid var(--border);
}
.ehc-meta-item {
  display: inline-flex; align-items: center; gap: 5px;
  font-size: 12.5px; color: var(--muted); font-weight: 500;
}
.ehc-meta-item svg { color: var(--light); flex-shrink: 0; }
.ehc-meta-item strong { color: var(--text); font-weight: 600; }

/* Rating inline */
.ehc-card-rating {
  display: inline-flex; align-items: center; gap: 5px;
  font-size: 12.5px; font-weight: 500; color: var(--muted);
}
.ehc-card-rating .ehc-stars { color: #F5A623; font-size: 13px; letter-spacing: 1px; }
.ehc-card-rating strong { color: var(--text); font-weight: 700; }

/* Instructor */
.ehc-card-instructor {
  font-size: 12.5px; color: var(--muted);
  display: flex; align-items: center; gap: 7px; margin-top: 8px;
}
.ehc-card-avatar {
  width: 24px; height: 24px; border-radius: 50%;
  background: var(--blue-lt); color: var(--blue);
  font-size: 9px; font-weight: 700;
  display: flex; align-items: center; justify-content: center; flex-shrink: 0;
  border: 1.5px solid rgba(204,85,153,0.15);
}

/* Excerpt */
.ehc-card-excerpt {
  font-size: 13px; color: var(--muted); line-height: 1.6;
  display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical;
  overflow: hidden; margin-top: 2px;
}

/* Price styles in CTA */
.ehc-price-main { font-size: 1.4rem; font-weight: 800; color: var(--text); line-height: 1.1; }
.ehc-price-old { font-size: 12px; color: var(--light); text-decoration: line-through; margin-bottom: 2px; }
.ehc-price-discount {
  display: inline-block; font-size: 11px; font-weight: 700;
  color: white; background: var(--red);
  border-radius: var(--r-pill); padding: 2px 8px; margin-top: 4px;
}
.ehc-price-free { font-size: 1.15rem; font-weight: 800; color: var(--blue); }

/* ── Single product page — WC add-to-cart button override ── */
.ehc-product-info-card .single_add_to_cart_button,
.ehc-product-info-card button[type="submit"] {
  display: flex !important; align-items: center; justify-content: center;
  width: 100% !important; padding: 14px !important;
  background: var(--blue) !important; color: white !important;
  border: none !important; border-radius: var(--r-pill) !important;
  font-size: 15px !important; font-weight: 700 !important;
  cursor: pointer; margin-bottom: 10px;
  box-shadow: 0 4px 18px rgba(204,85,153,0.3) !important;
  transition: background var(--t) !important;
}
.ehc-product-info-card .single_add_to_cart_button:hover { background: var(--blue-dk) !important; }
.ehc-product-info-card .quantity { display: none !important; }

/* ══ WooCommerce resets ══ */
.woocommerce-notices-wrapper { max-width: 1280px; margin: 0 auto; padding: 0 24px; }
.woocommerce-message, .woocommerce-info, .woocommerce-error {
  border-top-color: var(--blue) !important; padding: 12px 20px !important; margin: 12px 0 !important;
}


/* ==========================================================================
   CARRITO - CORRECCIÓN DE BOTÓN Y OCULTAR CANTIDAD
   ========================================================================== */

/* 1. Corrección para que "Seguir comprando" no se superponga */
.woocommerce-message {
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 12px !important;
    padding: 20px !important;
    line-height: 1.6 !important;
}

/* Forzar al botón a comportarse como un bloque independiente dentro del mensaje */
.woocommerce-message .button.wc-forward {
    float: none !important;
    display: inline-block !important;
    margin-top: 10px !important;
}

/* 2. Ocultar la columna de Cantidad en la tabla del carrito */
.woocommerce-cart-form th.product-quantity,
.woocommerce-cart-form td.product-quantity {
    display: none !important;
}

@media (min-width: 1024px) {
    .wp-block-edwiser-bridge-my-courses .eb-my-courses__wrapper {
        padding: 0;
    }
}
@media (min-width: 768px) {
    .wp-block-edwiser-bridge-my-courses .eb-my-courses__wrapper {
        padding: 0;
    }
}

.woocommerce-MyAccount-content {   
		padding: 28px 42px 48px;
    background-color: #ffffff;
    border-radius: 10px;
}

.wp-block-edwiser-bridge-my-courses .eb-my-courses__wrapper {
    border: none;
}

.wp-block-edwiser-bridge-my-courses .eb-my-courses__title {
display: none;
}

/* ==========================================================================
   WOOCOMMERCE - DETALLES DE LA CUENTA (CORREGIDO Y ALINEADO)
   ========================================================================== */

/* Contenedor principal del formulario - Ahora ocupa el 100% igual que el resto */
.woocommerce-EditAccountForm.edit-account {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    background: transparent; /* Deja que el contenedor padre maneje el fondo */
}

/* Filas del formulario y espaciados */
.woocommerce-form-row {
    margin-bottom: 24px !important;
    display: flex;
    flex-direction: column;
}

/* Opcional: Si querés que Nombre y Apellido vayan en la misma línea (dos columnas) 
   como suele estructurarlos WooCommerce nativamente si tienen las clases --first y --last */
.woocommerce-form-row--first,
.woocommerce-form-row--last {
    width: 48% !important;
    float: left;
}
.woocommerce-form-row--last {
    float: right;
}
.woocommerce-EditAccountForm .clear {
    clear: both;
}

/* Etiquetas (Labels) */
.woocommerce-EditAccountForm label {
    font-size: 14px;
    font-weight: 600;
    color: #444343;
    margin-bottom: 8px;
    display: block;
}

/* Campos de texto / Inputs */
.woocommerce-EditAccountForm input.input-text {
    width: 100%;
    padding: 12px 16px;
    font-size: 15px;
    color: #444343;
    background-color: #f8fafc;
    border: 1px solid #e2e8f0;
    border-radius: 8px;
    transition: all 0.3s ease;
    box-sizing: border-box;
}

/* Estados de los inputs */
.woocommerce-EditAccountForm input.input-text:hover {
    border-color: #cbd5e1;
}

.woocommerce-EditAccountForm input.input-text:focus {
    background-color: #ffffff;
    border-color: #cc5599;
    box-shadow: 0 0 0 3px rgba(204, 85, 153, 0.15);
    outline: none;
}

/* Textos informativos / Notas debajo de los campos */
.woocommerce-EditAccountForm em,
.woocommerce-EditAccountForm span.description {
    font-style: normal;
    font-size: 12px;
    color: #64748b;
    margin-top: 6px;
    display: block;
    line-height: 1.4;
}

/* ==========================================================================
   SECCIÓN: CAMBIO DE CONTRASEÑA (fieldset)
   ========================================================================== */
.woocommerce-EditAccountForm fieldset {
    border: 1px solid #e2e8f0;
    border-radius: 12px;
    padding: 24px;
    margin-top: 35px;
    margin-bottom: 30px;
    background-color: #ffffff;
    clear: both; /* Evita solapamientos si arriba hay floats */
}

/* Título de la sección de contraseña */
.woocommerce-EditAccountForm fieldset legend {
    font-size: 16px;
    font-weight: 700;
    color: #444343;
    padding: 0 10px;
}

/* Ajuste específico para las filas dentro del cambio de contraseña */
.woocommerce-EditAccountForm fieldset .woocommerce-form-row {
    margin-bottom: 20px !important;
}

.woocommerce-EditAccountForm fieldset .woocommerce-form-row:last-child {
    margin-bottom: 0 !important;
}

/* ==========================================================================
   BOTÓN: GUARDAR CAMBIOS
   ========================================================================== */
.woocommerce-EditAccountForm button.button {
    background-color: #cc5599 !important;
    color: #ffffff !important;
    font-size: 15px;
    font-weight: 600;
    padding: 14px 28px;
    border: none;
    border-radius: 8px !important;
    cursor: pointer;
    transition: background-color 0.2s ease, transform 0.1s ease;
    display: inline-block;
    box-shadow: 0 4px 6px -1px rgba(204, 85, 153, 0.2);
}

.woocommerce-EditAccountForm button.button:hover {
    background-color: #994073 !important;
    box-shadow: 0 6px 10px -1px rgba(204, 85, 153, 0.3);
}

.woocommerce-EditAccountForm button.button:active {
    transform: scale(0.98);
}

/* ==========================================================================
   SECCIÓN: CAMBIO DE CONTRASEÑA (fieldset)
   ========================================================================== */
.woocommerce-EditAccountForm fieldset {
    border: 1px solid #e2e8f0;
    border-radius: 12px;
    padding: 24px;
    margin-top: 35px;
    margin-bottom: 30px;
    background-color: #ffffff;
}

/* Título de la sección de contraseña */
.woocommerce-EditAccountForm fieldset legend {
    font-size: 16px;
    font-weight: 700;
    color: #444343;
    padding: 0 10px;
}

/* Ajuste específico para las filas dentro del cambio de contraseña */
.woocommerce-EditAccountForm fieldset .woocommerce-form-row {
    margin-bottom: 20px !important;
}

.woocommerce-EditAccountForm fieldset .woocommerce-form-row:last-child {
    margin-bottom: 0 !important;
}

/* ==========================================================================
   BOTÓN: GUARDAR CAMBIOS
   ========================================================================== */
.woocommerce-EditAccountForm button.button {
    background-color: #cc5599 !important; /* Azul moderno, puedes cambiarlo por tu primario */
    color: #ffffff !important;
    font-size: 15px;
    font-weight: 600;
    padding: 14px 28px;
    border: none;
    border-radius: 8px;
    cursor: pointer;
    transition: background-color 0.2s ease, transform 0.1s ease;
    display: inline-block;
    box-shadow: 0 4px 6px -1px rgba(204, 85, 153, 0.2);
}

.woocommerce-EditAccountForm button.button:hover {
    background-color: #994073 !important;
    box-shadow: 0 6px 10px -1px rgba(204, 85, 153, 0.3);
}

.woocommerce-EditAccountForm button.button:active {
    transform: scale(0.98);
}

/* ==========================================================================
   WOOCOMMERCE - PESTAÑA DIRECCIONES (MODERNO & LIMPIO)
   ========================================================================== */

/* Texto introductorio */
.woocommerce-MyAccount-content > p {
    font-size: 15px;
    color: #64748b;
    margin-bottom: 24px;
    line-height: 1.5;
}

/* Contenedor de las columnas (Facturación y Envío) */
.woocommerce-Addresses.u-columns {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    gap: 24px;
    margin-top: 20px;
}

/* Cada columna de dirección individual */
.woocommerce-Address.u-column1,
.woocommerce-Address.u-column2 {
    background: #ffffff;
    border: 1px solid #e2e8f0;
    border-radius: 12px;
    padding: 24px;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.02);
    display: flex;
    flex-direction: column;
}

/* Encabezado dentro de la tarjeta (Título + Enlace Editar) */
.woocommerce-Address-title.title {
    display: flex;
    justify-content: space-between;
    align-items: center;
    border-bottom: 1px solid #f1f5f9;
    padding-bottom: 12px;
    margin-bottom: 16px;
}

/* Títulos: "Dirección de facturación" y "Dirección de envío" */
.woocommerce-Address-title h3,
.woocommerce-Address-title h2 {
    font-size: 16px !important;
    font-weight: 700 !important;
    color: #444343 !important;
    margin: 0 !important;
}

/* Enlace "Editar dirección de..." convertido en botón secundario limpio */
.woocommerce-Address-title a.edit {
    font-size: 13px !important;
    font-weight: 600 !important;
    color: #cc5599 !important; /* Azul a juego con el botón anterior */
    text-decoration: none !important;
    padding: 6px 12px;
    border: 1px solid #e2e8f0;
    border-radius: 6px;
    background-color: #f8fafc;
    transition: all 0.2s ease;
}

.woocommerce-Address-title a.edit:hover {
    background-color: #cc5599;
    color: #ffffff !important;
    border-color: #cc5599;
}

/* Bloque del texto de la dirección (<address>) */
.woocommerce-Address address {
    font-style: normal;
    font-size: 14px;
    line-height: 1.6;
    color: #475569;
}

/* ==========================================================================
   WOOCOMMERCE - PESTAÑA PEDIDOS (MODERNO & LIMPIO)
   ========================================================================== */

/* Contenedor general de la tabla de pedidos */
.woocommerce-orders-table {
    width: 100% !important;
    border-collapse: separate !important;
    border-spacing: 0 !important;
    margin: 15px 0 25px 0 !important;
    border: 1px solid #e2e8f0 !important;
    border-radius: 12px !important;
    overflow: hidden;
    background: #ffffff;
}

/* Encabezados de la tabla (Th) */
.woocommerce-orders-table th {
    background-color: #f8fafc !important;
    color: #475569 !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    padding: 16px 20px !important;
    border-bottom: 1px solid #e2e8f0 !important;
    text-align: left !important;
}

/* Forzar alineación a la derecha en la columna de acciones para consistencia */
.woocommerce-orders-table th.woocommerce-orders-table__header-order-actions {
    text-align: right !important;
}

/* Celdas del cuerpo de la tabla (Td / Th de fila) */
.woocommerce-orders-table td,
.woocommerce-orders-table th.woocommerce-orders-table__cell-order-number {
    padding: 20px !important;
    font-size: 14px !important;
    color: #334155 !important;
    border-bottom: 1px solid #f1f5f9 !important;
    vertical-align: middle !important;
    background: #ffffff;
}

/* Quitar el borde inferior a la última fila */
.woocommerce-orders-table tr:last-child td,
.woocommerce-orders-table tr:last-child th {
    border-bottom: none !important;
}

/* Efecto hover suave en las filas */
.woocommerce-orders-table tr.woocommerce-orders-table__row:hover td,
.woocommerce-orders-table tr.woocommerce-orders-table__row:hover th {
    background-color: #f8fafc !important;
}

/* Estilo para el número de pedido (#75, #71, etc.) */
.woocommerce-orders-table__cell-order-number a,
th.woocommerce-orders-table__cell-order-number {
    font-weight: 700 !important;
    color: #444343 !important;
    text-decoration: none !important;
}

/* ==========================================================================
   ESTADOS DE PEDIDO (Badges modernos)
   ========================================================================== */
.woocommerce-orders-table__cell-order-status {
    font-weight: 600 !important;
    font-size: 13px !important;
}

/* Estilo base simulado de badge (WooCommerce suele envolver el texto o usar clases por estado) */
.woocommerce-orders-table__cell-order-status {
    color: #64748b; /* Por defecto */
}

/* Estado: En espera (On-hold) */
.woocommerce-orders-table__row--status-on-hold .woocommerce-orders-table__cell-order-status {
    color: #d97706 !important; /* Texto ocre/naranja moderno */
}

/* Estado: Procesando (Processing) */
.woocommerce-orders-table__row--status-processing .woocommerce-orders-table__cell-order-status {
    color: #cc5599 !important;
}

/* Estado: Completado (Completed) */
.woocommerce-orders-table__row--status-completed .woocommerce-orders-table__cell-order-status {
    color: #16a34a !important;
}

/* ==========================================================================
   BOTÓN: "VER" (Acciones)
   ========================================================================== */
.woocommerce-orders-table__cell-order-actions {
    text-align: right !important;
}

.woocommerce-orders-table__cell-order-actions .button.view {
    background-color: #cc5599 !important; /* Azul idéntico a las otras pestañas */
    color: #ffffff !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    padding: 8px 18px !important;
    border-radius: 6px !important;
    border: none !important;
    text-decoration: none !important;
    display: inline-block !important;
    transition: all 0.2s ease !important;
    box-shadow: 0 2px 4px rgba(204, 85, 153, 0.1) !important;
}

.woocommerce-orders-table__cell-order-actions .button.view:hover {
    background-color: #994073 !important;
    box-shadow: 0 4px 8px rgba(204, 85, 153, 0.2) !important;
    transform: translateY(-1px);
}

.woocommerce-orders-table__cell-order-actions .button.view:active {
    transform: translateY(0);
}
/* ==========================================================================
   WOOCOMMERCE - LOGIN / REGISTRO (50/50 ALINEADO AL TÍTULO)
   ========================================================================== */

/* Contenedor principal que envuelve ambas columnas (Acceder y Registrarse) */
#customer_login {
    display: flex;
    flex-direction: row;
    gap: 32px; /* Espacio limpio entre ambas columnas */
    margin-top: 30px;
    margin-bottom: 50px;
    width: 100% !important;
    max-width: 100% !important; /* Rompe el límite previo para estirarse al 100% */
    padding: 0 !important;
    box-sizing: border-box;
}

/* Forzar que cada columna ocupe exactamente la mitad (restando el gap) */
#customer_login .u-column1,
#customer_login .u-column2 {
    flex: 1 1 calc(50% - 16px); 
    background: #ffffff;
    border: 1px solid #e2e8f0;
    border-radius: 12px;
    padding: 32px;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.02);
    box-sizing: border-box;
}

/* Títulos principales dentro de las tarjetas (Acceder / Registrarse) */
#customer_login h2 {
    font-size: 20px !important;
    font-weight: 700 !important;
    color: #444343 !important;
    margin-top: 0 !important;
    margin-bottom: 24px !important;
    padding-bottom: 12px;
    border-bottom: 1px solid #f1f5f9;
}

/* Filas de los formularios */
#customer_login .woocommerce-form-row {
    margin-bottom: 20px !important;
    display: flex;
    flex-direction: column;
}

/* Etiquetas (Labels) */
#customer_login label {
    font-size: 14px;
    font-weight: 600;
    color: #444343;
    margin-bottom: 8px;
    display: block;
}

/* Campos de texto / Inputs */
#customer_login input.input-text {
    width: 100%;
    padding: 12px 16px;
    font-size: 15px;
    color: #444343;
    background-color: #f8fafc;
    border: 1px solid #e2e8f0;
    border-radius: 8px;
    transition: all 0.3s ease;
    box-sizing: border-box;
}

#customer_login input.input-text:hover {
    border-color: #cbd5e1;
}

#customer_login input.input-text:focus {
    background-color: #ffffff;
    border-color: #cc5599;
    box-shadow: 0 0 0 3px rgba(204, 85, 153, 0.15);
    outline: none;
}

/* Contenedor del checkbox "Recuérdame" */
#customer_login .woocommerce-form-login__rememberme {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 20px;
    cursor: pointer;
}

#customer_login .woocommerce-form-login__rememberme input[type="checkbox"] {
    margin: 0;
    width: 16px;
    height: 16px;
    accent-color: #cc5599;
}

/* Enlace "¿Olvidaste la contraseña?" */
#customer_login .woocommerce-LostPassword {
    margin-top: 14px;
    display: block;
}

#customer_login .woocommerce-LostPassword a {
    color: #64748b;
    font-size: 13px;
    text-decoration: none;
    transition: color 0.2s ease;
}

#customer_login .woocommerce-LostPassword a:hover {
    color: #cc5599;
    text-decoration: underline;
}

/* Textos informativos de privacidad en el registro */
#customer_login .woocommerce-PrivacyPolicyNotice p,
#customer_login .woocommerce-RegistrationForm p:not([class]) {
    font-size: 13px;
    color: #64748b;
    line-height: 1.5;
    margin-top: 16px;
    margin-bottom: 16px;
}

/* ==========================================================================
   BOTONES (Ancho completo e integrados en la tarjeta)
   ========================================================================== */
#customer_login button.button {
    background-color: #cc5599 !important;
    color: #ffffff !important;
    font-size: 15px;
    font-weight: 600;
    padding: 12px 24px;
    border: none;
    border-radius: 8px;
    cursor: pointer;
    transition: background-color 0.2s ease, transform 0.1s ease;
    width: 100% !important; 
    box-shadow: 0 4px 6px -1px rgba(204, 85, 153, 0.1);
    text-align: center;
}

#customer_login button.button:hover {
    background-color: #994073 !important;
    box-shadow: 0 6px 10px -1px rgba(204, 85, 153, 0.2);
}

#customer_login button.button:active {
    transform: scale(0.99);
}

/* ==========================================================================
   RESPONSIVE (Alineación vertical obligatoria en pantallas chicas)
   ========================================================================== */
@media (max-width: 768px) {
    #customer_login {
        flex-direction: column !important;
    }
    #customer_login .u-column1,
    #customer_login .u-column2 {
        flex: 1 1 100% !important;
        width: 100% !important;
    }
}
/* ==========================================================================
   WOOCOMMERCE - CONTRASEÑA PERDIDA (MODERNO & LIMPIO)
   ========================================================================== */

/* Contenedor del formulario de recuperación */
form.woocommerce-ResetPassword.lost_reset_password {
    width: 100% !important;
    max-width: 550px; /* Ancho ideal para un formulario de un solo campo */
    margin-top: 30px;
    margin-bottom: 50px;
    background: #ffffff;
    border: 1px solid #e2e8f0;
    border-radius: 12px;
    padding: 32px;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.02);
    box-sizing: border-box;
}

/* Texto descriptivo introductorio */
form.woocommerce-ResetPassword p:first-of-type {
    font-size: 14px;
    color: #64748b;
    line-height: 1.6;
    margin-top: 0;
    margin-bottom: 24px;
}

/* Fila que envuelve el campo de texto */
form.woocommerce-ResetPassword .woocommerce-form-row {
    margin-bottom: 24px !important;
    display: flex;
    flex-direction: column;
    float: none !important;
    width: 100% !important;
}

/* Etiqueta (Label) */
form.woocommerce-ResetPassword label {
    font-size: 14px;
    font-weight: 600;
    color: #444343;
    margin-bottom: 8px;
    display: block;
}

/* Campo de entrada / Input */
form.woocommerce-ResetPassword input.input-text {
    width: 100% !important;
    padding: 12px 16px;
    font-size: 15px;
    color: #444343;
    background-color: #f8fafc;
    border: 1px solid #e2e8f0;
    border-radius: 8px;
    transition: all 0.3s ease;
    box-sizing: border-box;
}

form.woocommerce-ResetPassword input.input-text:hover {
    border-color: #cbd5e1;
}

form.woocommerce-ResetPassword input.input-text:focus {
    background-color: #ffffff;
    border-color: #cc5599;
    box-shadow: 0 0 0 3px rgba(204, 85, 153, 0.15);
    outline: none;
}

/* Contenedor del botón para asegurar que baje y use flex */
form.woocommerce-ResetPassword .woocommerce-form-row:last-of-type {
    margin-bottom: 0 !important;
}

/* ==========================================================================
   BOTÓN: RESTABLECER CONTRASEÑA
   ========================================================================== */
form.woocommerce-ResetPassword button.button {
    background-color: #cc5599 !important;
    color: #ffffff !important;
    font-size: 15px;
    font-weight: 600;
    padding: 14px 24px;
    border: none;
    border-radius: 8px;
    cursor: pointer;
    transition: background-color 0.2s ease, transform 0.1s ease;
    width: 100% !important; /* Ancho completo igual que el login */
    box-shadow: 0 4px 6px -1px rgba(204, 85, 153, 0.1);
    text-align: center;
    display: block;
}

form.woocommerce-ResetPassword button.button:hover {
    background-color: #994073 !important;
    box-shadow: 0 6px 10px -1px rgba(204, 85, 153, 0.2);
}

form.woocommerce-ResetPassword button.button:active {
    transform: scale(0.99);
}

/* ==========================================================================
   WOOCOMMERCE - EDITAR DIRECCIÓN (MODERNO & LIMPIO)
   ========================================================================== */

/* Contenedor del formulario de direcciones */
.woocommerce-address-fields {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
}

/* Título de la sección (Dirección de facturación / Dirección de envío) */
.woocommerce-address-fields h3 {
    font-size: 20px !important;
    font-weight: 700 !important;
    color: #444343 !important;
    margin-top: 0 !important;
    margin-bottom: 24px !important;
    padding-bottom: 12px;
    border-bottom: 1px solid #f1f5f9;
}

/* Envoltura del formulario */
.woocommerce-address-fields__field-wrapper {
    display: flex;
    flex-wrap: wrap;
    gap: 16px 24px; /* Separación inteligente entre filas y columnas */
}

/* Filas individuales del formulario de WooCommerce (p.form-row) */
.woocommerce-address-fields .form-row {
    display: flex;
    flex-direction: column;
    margin-bottom: 8px !important; /* Manejado por el gap superior */
    padding: 0 !important;
    width: 100% !important; /* Por defecto ocupan todo el ancho */
    float: none !important;
    clear: both;
}

/* Soporte para campos de doble columna nativos si el tema los divide (Nombre / Apellido) */
@media (min-width: 769px) {
    .woocommerce-address-fields .form-row-first,
    .woocommerce-address-fields .form-row-last {
        width: calc(50% - 12px) !important;
        float: left !important;
        clear: none !important;
    }
    .woocommerce-address-fields .form-row-last {
        float: right !important;
    }
}

/* Etiquetas (Labels) */
.woocommerce-address-fields label {
    font-size: 14px;
    font-weight: 600;
    color: #444343;
    margin-bottom: 8px;
    display: block;
}

/* Campos de texto, Textareas y Selects nativos */
.woocommerce-address-fields input.input-text,
.woocommerce-address-fields select,
.woocommerce-address-fields textarea {
    width: 100% !important;
    padding: 12px 16px !important;
    font-size: 15px !important;
    color: #444343 !important;
    background-color: #f8fafc !important;
    border: 1px solid #e2e8f0 !important;
    border-radius: 8px !important;
    transition: all 0.3s ease !important;
    box-sizing: border-box !important;
    height: auto !important;
}

/* Estados de interacción de los campos */
.woocommerce-address-fields input.input-text:hover,
.woocommerce-address-fields select:hover,
.woocommerce-address-fields textarea:hover {
    border-color: #cbd5e1 !important;
}

.woocommerce-address-fields input.input-text:focus,
.woocommerce-address-fields select:focus,
.woocommerce-address-fields textarea:focus {
    background-color: #ffffff !important;
    border-color: #cc5599 !important;
    box-shadow: 0 0 0 3px rgba(204, 85, 153, 0.15) !important;
    outline: none !important;
}

/* ==========================================================================
   ESTILOS PARA SELECT2 (Desplegables avanzados de WooCommerce)
   ========================================================================== */
.woocommerce-address-fields .select2-container--default .select2-selection--single {
    background-color: #f8fafc !important;
    border: 1px solid #e2e8f0 !important;
    border-radius: 8px !important;
    height: 47px !important; /* Altura equivalente al padding de los inputs */
    padding: 10px 16px !important;
    font-size: 15px !important;
    transition: all 0.3s ease !important;
    box-sizing: border-box !important;
}

.woocommerce-address-fields .select2-container--default .select2-selection--single .select2-selection__rendered {
    color: #444343 !important;
    padding: 0 !important;
    line-height: 24px !important;
}

.woocommerce-address-fields .select2-container--default .select2-selection--single .select2-selection__arrow {
    top: 10px !important;
    right: 12px !important;
}

.woocommerce-address-fields .select2-container--default.select2-container--focus .select2-selection--single {
    background-color: #ffffff !important;
    border-color: #cc5599 !important;
    box-shadow: 0 0 0 3px rgba(204, 85, 153, 0.15) !important;
}

/* Placeholder sutil dentro de los inputs */
.woocommerce-address-fields input::placeholder {
    color: #94a3b8 !important;
}

/* ==========================================================================
   BOTÓN: GUARDAR DIRECCIÓN
   ========================================================================== */
.woocommerce-address-fields button.button {
    background-color: #cc5599 !important;
    color: #ffffff !important;
    font-size: 15px !important;
    font-weight: 600 !important;
    padding: 14px 28px !important;
    border: none !important;
    border-radius: 8px !important;
    cursor: pointer !important;
    transition: background-color 0.2s ease, transform 0.1s ease !important;
    display: inline-block !important;
    box-shadow: 0 4px 6px -1px rgba(204, 85, 153, 0.2) !important;
    margin-top: 16px !important;
}

.woocommerce-address-fields button.button:hover {
    background-color: #994073 !important;
    box-shadow: 0 6px 10px -1px rgba(204, 85, 153, 0.3) !important;
}

.woocommerce-address-fields button.button:active {
    transform: scale(0.98) !important;
}


/* ==========================================================================
   WOOCOMMERCE - FINALIZAR COMPRA / CHECKOUT (MODERNO & LIMPIO)
   ========================================================================== */

/* 1. Barra de aviso superior (¿Tienes un cupón?) */
.woocommerce-checkout .woocommerce-info {
    display: flex !important;
    align-items: center !important;
    gap: 12px !important;
    padding: 16px 20px !important;
    background-color: #f8fafc !important;
    border: 1px solid #e2e8f0 !important;
    border-radius: 8px !important;
    font-size: 14px !important;
    color: #475569 !important;
    line-height: 1.5 !important;
    margin-bottom: 30px !important;
}

.woocommerce-checkout .woocommerce-info a {
    color: #cc5599 !important;
    font-weight: 600 !important;
    text-decoration: none !important;
}

.woocommerce-checkout .woocommerce-info a:hover {
    text-decoration: underline !important;
}

/* 2. Estructura principal en dos columnas (Campos / Pedido) */
@media (min-width: 992px) {
    form.checkout.woocommerce-checkout {
        display: flex !important;
        flex-direction: row !important;
        gap: 40px !important;
        align-items: flex-start !important;
    }

    #customer_details {
        flex: 1 1 60% !important;
    }

    #order_review_heading,
    #order_review {
        flex: 1 1 40% !important;
    }
    
    /* Forzar que el título "Tu pedido" se posicione sobre su caja */
    #order_review_heading {
        display: none !important; /* Lo ocultamos para unificarlo dentro del card si es necesario, o lo manejamos con el flujo */
    }
}

/* 3. Títulos de las secciones (Detalles de facturación / Información adicional) */
.woocommerce-checkout h3 {
    font-size: 16px !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.05em !important;
    color: #444343 !important;
    margin-top: 0 !important;
    margin-bottom: 24px !important;
    padding-bottom: 8px !important;
    border-bottom: 1px solid #f1f5f9 !important;
}

/* 4. Estilos de los campos del Checkout (Inputs, Textareas y Selects) */
.woocommerce-checkout .form-row {
    margin-bottom: 20px !important;
}

.woocommerce-checkout label {
    font-size: 14px !important;
    font-weight: 600 !important;
    color: #444343 !important;
    margin-bottom: 8px !important;
    display: block !important;
}

.woocommerce-checkout input.input-text,
.woocommerce-checkout textarea,
.woocommerce-checkout select {
    width: 100% !important;
    padding: 12px 16px !important;
    font-size: 15px !important;
    color: #444343 !important;
    background-color: #f8fafc !important;
    border: 1px solid #e2e8f0 !important;
    border-radius: 8px !important;
    transition: all 0.3s ease !important;
    box-sizing: border-box !important;
}

.woocommerce-checkout input.input-text:hover,
.woocommerce-checkout textarea:hover {
    border-color: #cbd5e1 !important;
}

.woocommerce-checkout input.input-text:focus,
.woocommerce-checkout textarea:focus {
    background-color: #ffffff !important;
    border-color: #cc5599 !important;
    box-shadow: 0 0 0 3px rgba(204, 85, 153, 0.15) !important;
    outline: none !important;
}

/* Notas del pedido (Textarea) */
.woocommerce-checkout textarea {
    height: 100px !important;
    resize: vertical !important;
}

/* 5. Tarjeta de revisión del Pedido (Order Review) */
#order_review {
    background: #ffffff !important;
    border: 1px solid #e2e8f0 !important;
    border-radius: 12px !important;
    padding: 32px !important;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.02) !important;
    box-sizing: border-box !important;
    width: 100% !important;
}

/* Tabla interna de productos de "Tu pedido" */
.shop_table.woocommerce-checkout-review-order-table {
    width: 100% !important;
    border-collapse: collapse !important;
    margin-bottom: 24px !important;
}

.shop_table.woocommerce-checkout-review-order-table th,
.shop_table.woocommerce-checkout-review-order-table td {
    padding: 14px 0 !important;
    font-size: 14px !important;
    color: #334155 !important;
    border-bottom: 1px solid #f1f5f9 !important;
    background: transparent !important;
}

.shop_table.woocommerce-checkout-review-order-table tr.cart_item td {
    font-weight: 500 !important;
}

.shop_table.woocommerce-checkout-review-order-table .order-total th,
.shop_table.woocommerce-checkout-review-order-table .order-total td {
    font-weight: 700 !important;
    font-size: 16px !important;
    color: #444343 !important;
    border-bottom: none !important;
    padding-top: 20px !important;
}

/* 6. Caja de Métodos de Pago (Pasarelas) */
#payment {
    background: transparent !important;
    border: none !important;
    padding: 0 !important;
}

#payment ul.payment_methods {
    border-bottom: 1px solid #f1f5f9 !important;
    padding-bottom: 20px !important;
    margin-bottom: 20px !important;
    list-style: none !important;
    padding-left: 0 !important;
}

#payment ul.payment_methods li {
    font-size: 14px !important;
    color: #475569 !important;
    line-height: 1.6 !important;
    margin-bottom: 12px !important;
}

#payment ul.payment_methods label {
    display: inline !important;
    font-weight: 600 !important;
    color: #444343 !important;
    margin-left: 8px !important;
    cursor: pointer !important;
}

#payment .payment_box {
    background-color: #f8fafc !important;
    border: 1px solid #e2e8f0 !important;
    border-radius: 8px !important;
    padding: 16px !important;
    font-size: 13px !important;
    color: #64748b !important;
    margin-top: 10px !important;
    line-height: 1.5 !important;
}

/* 7. BOTÓN PRINCIPAL: REALIZAR EL PEDIDO */
.woocommerce-checkout #place_order {
    background-color: #cc5599 !important;
    color: #ffffff !important;
    font-size: 15px !important;
    font-weight: 600 !important;
    padding: 14px 24px !important;
    border: none !important;
    border-radius: 8px !important;
    cursor: pointer !important;
    transition: background-color 0.2s ease, transform 0.1s ease !important;
    width: 100% !important; /* Ancho completo dentro del card derecho */
    box-shadow: 0 4px 6px -1px rgba(204, 85, 153, 0.2) !important;
    text-align: center !important;
    display: block !important;
}

.woocommerce-checkout #place_order:hover {
    background-color: #994073 !important;
    box-shadow: 0 6px 10px -1px rgba(204, 85, 153, 0.3) !important;
}

.woocommerce-checkout #place_order:active {
    transform: scale(0.99) !important;
}

/* ==========================================================================
   WOOCOMMERCE - DETALLE DEL PEDIDO INDIVIDUAL (MODERNO & LIMPIO)
   ========================================================================== */

/* 1. Texto introductorio de estado superior ("El pedido #280 se realizó...") */
.woocommerce-order-details::before, 
.woocommerce-account .woocommerce-MyAccount-content > p:first-of-type {
    font-size: 14px !important;
    color: #475569 !important;
    line-height: 1.6 !important;
    background-color: #f8fafc !important;
    border: 1px solid #e2e8f0 !important;
    border-radius: 8px !important;
    padding: 16px 20px !important;
    display: block;
    margin-bottom: 30px !important;
}

/* Resaltados dentro del texto (Número, fecha y estado) */
.woocommerce-account .woocommerce-MyAccount-content > p mark {
    background-color: transparent !important;
    color: #444343 !important;
    font-weight: 700 !important;
}

/* Resaltado específico para la palabra del Estado (ej: Completado) */
.woocommerce-account .woocommerce-MyAccount-content > p mark.order-status {
    color: #16a34a !important; /* Verde limpio para completado */
}

/* 2. Títulos de las secciones (Detalles del pedido / Dirección de facturación) */
.woocommerce-order-details__title,
.woocommerce-column__title {
    font-size: 18px !important;
    font-weight: 700 !important;
    color: #444343 !important;
    margin-top: 32px !important;
    margin-bottom: 20px !important;
    padding-bottom: 8px !important;
    border-bottom: 1px solid #f1f5f9 !important;
}

/* 3. Tabla de desglose de Productos (shop_table order_details) */
.shop_table.order_details {
    width: 100% !important;
    border-collapse: separate !important;
    border-spacing: 0 !important;
    border: 1px solid #e2e8f0 !important;
    border-radius: 12px !important;
    overflow: hidden !important;
    background: #ffffff !important;
    margin-bottom: 24px !important;
}

/* Encabezados de la tabla (Producto / Total) */
.shop_table.order_details th {
    background-color: #f8fafc !important;
    color: #475569 !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.05em !important;
    padding: 16px 20px !important;
    border-bottom: 1px solid #e2e8f0 !important;
}

/* Celdas de contenido e información de totales */
.shop_table.order_details td,
.shop_table.order_details tfoot th,
.shop_table.order_details tfoot td {
    padding: 18px 20px !important;
    font-size: 14px !important;
    color: #334155 !important;
    border-bottom: 1px solid #f1f5f9 !important;
    vertical-align: middle !important;
}

/* Quitar borde inferior a la última fila del footer de la tabla */
.shop_table.order_details tfoot tr:last-child th,
.shop_table.order_details tfoot tr:last-child td {
    border-bottom: none !important;
}

/* Fila final del Total general de la tabla */
.shop_table.order_details tfoot tr:nth-last-child(2) th,
.shop_table.order_details tfoot tr:nth-last-child(2) td {
    font-weight: 700 !important;
    color: #444343 !important;
    font-size: 15px !important;
}

/* Estilo sutil para el multiplicador de cantidad (× 1) */
.shop_table.order_details .product-quantity {
    color: #64748b !important;
    font-weight: 600 !important;
}

/* ==========================================================================
   BOTÓN: VOLVER A PEDIRLO
   ========================================================================== */
.woocommerce-order-details .order-again .button {
    background-color: #cc5599 !important;
    color: #ffffff !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    padding: 10px 20px !important;
    border: none !important;
    border-radius: 8px !important;
    cursor: pointer !important;
    transition: all 0.2s ease !important;
    display: inline-block !important;
    box-shadow: 0 4px 6px -1px rgba(204, 85, 153, 0.1) !important;
    margin-bottom: 20px !important;
    text-decoration: none !important;
}

.woocommerce-order-details .order-again .button:hover {
    background-color: #994073 !important;
    box-shadow: 0 6px 10px -1px rgba(204, 85, 153, 0.2) !important;
}

/* ==========================================================================
   DIRECCIÓN DE FACTURACIÓN (Sección inferior)
   ========================================================================== */
.woocommerce-columns--addresses,
.woocommerce-columns--2 {
    margin-top: 24px !important;
}

.woocommerce-column--text address {
    font-style: normal !important;
    font-size: 14px !important;
    line-height: 1.6 !important;
    color: #475569 !important;
    background-color: #f8fafc !important;
    border: 1px solid #e2e8f0 !important;
    border-radius: 12px !important;
    padding: 24px !important;
    display: block !important;
}

/* ==========================================================================
   WOOCOMMERCE - PESTAÑA DESCARGAS (RESPONSIVE & LIMPIO)
   ========================================================================== */

/* 1. Estado vacío: Corrección del contenedor de aviso ("No hay descargas disponibles...") */
.woocommerce-account .woocommerce-MyAccount-content .woocommerce-info {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    text-align: center !important;
    gap: 16px !important;
    padding: 32px 24px !important;
    background-color: #ffffff !important; /* Tarjeta blanca limpia */
    border: 1px solid #e2e8f0 !important;
    border-radius: 16px !important; /* Mismo radio de image_c60da9.png */
    box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.01) !important;
    font-size: 15px !important;
    color: #475569 !important;
    line-height: 1.6 !important;
    width: 100% !important;
    box-sizing: border-box !important;
}

/* Forzar al botón "Explorar los productos" a posicionarse abajo sin superponerse */
.woocommerce-account .woocommerce-MyAccount-content .woocommerce-info .button {
    float: none !important;
    display: inline-block !important;
    margin: 4px 0 0 0 !important;
    background-color: #cc5599 !important;
    color: #ffffff !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    padding: 12px 24px !important;
    border-radius: 8px !important;
    text-decoration: none !important;
    box-shadow: 0 4px 6px -1px rgba(204, 85, 153, 0.15) !important;
    transition: all 0.2s ease !important;
}

.woocommerce-account .woocommerce-MyAccount-content .woocommerce-info .button:hover {
    background-color: #994073 !important;
    box-shadow: 0 6px 10px -1px rgba(204, 85, 153, 0.25) !important;
}

/* 2. Estado Activo: Tabla de descargas disponibles (cuando sí tienen productos comprados) */
.shop_table.account-orders-table.account-downloads-table {
    width: 100% !important;
    border-collapse: separate !important;
    border-spacing: 0 !important;
    border: 1px solid #e2e8f0 !important;
    border-radius: 12px !important;
    overflow: hidden !important;
    background: #ffffff !important;
    margin-top: 10px !important;
}

.shop_table.account-downloads-table th {
    background-color: #f8fafc !important;
    color: #475569 !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    padding: 14px 20px !important;
    border-bottom: 1px solid #e2e8f0 !important;
}

.shop_table.account-downloads-table td {
    padding: 16px 20px !important;
    font-size: 14px !important;
    color: #334155 !important;
    border-bottom: 1px solid #f1f5f9 !important;
    vertical-align: middle !important;
}

.shop_table.account-downloads-table tr:last-child td {
    border-bottom: none !important;
}

/* Botón de descarga dentro de la tabla */
.shop_table.account-downloads-table .woocommerce-Button.button {
    background-color: #f1f5f9 !important;
    color: #444343 !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    padding: 8px 16px !important;
    border-radius: 6px !important;
    border: none !important;
    display: inline-block !important;
    transition: all 0.2s ease !important;
}

.shop_table.account-downloads-table .woocommerce-Button.button:hover {
    background-color: #e2e8f0 !important;
    color: #444343 !important;
}

/* 3. Comportamiento Responsive Crítico para la Tabla de Descargas en móviles */
@media (max-width: 768px) {
    .shop_table.account-downloads-table,
    .shop_table.account-downloads-table thead,
    .shop_table.account-downloads-table tbody,
    .shop_table.account-downloads-table tr,
    .shop_table.account-downloads-table td {
        display: block !important;
        width: 100% !important;
        box-sizing: border-box !important;
    }

    /* Ocultamos el header original en mobile */
    .shop_table.account-downloads-table thead {
        display: none !important;
    }

    /* Cada fila se convierte en una "tarjeta" independiente */
    .shop_table.account-downloads-table tr {
        border-bottom: 1px solid #e2e8f0 !important;
        padding: 16px 8px !important;
    }

    .shop_table.account-downloads-table tr:last-child {
        border-bottom: none !important;
    }

    /* Estructuramos las celdas con selectores inline mediante CSS pseudo-elementos */
    .shop_table.account-downloads-table td {
        display: flex !important;
        justify-content: space-between !important;
        align-items: center !important;
        padding: 8px 12px !important;
        border: none !important;
        text-align: right !important;
    }

    /* Generamos etiquetas legibles a la izquierda de cada dato en mobile */
    .shop_table.account-downloads-table td::before {
        content: attr(data-title) ": ";
        font-weight: 700 !important;
        color: #475569 !important;
        text-align: left !important;
        margin-right: 16px !important;
    }
    
    /* El botón de descarga ocupa el ancho completo disponible de su sección en móviles */
    .shop_table.account-downloads-table .woocommerce-Button.button {
        width: 100% !important;
        text-align: center !important;
    }
}

/* ==========================================================================
   MIS CURSOS - TRANSFORMAR ENLACE "EMPEZAR" EN BOTÓN AZUL CORPORATIVO
   ========================================================================== */

/*Títulos de los cursos */
.wp-block-edwiser-bridge-my-courses .eb-my-courses__course-card:hover .course-title {
    color: #994073 !important
}
/* Contenedor del enlace/botón en la parte inferior de la tarjeta */
.eb-my-courses__course-card .course-content a,
.eb-my-courses__course-card a:last-child,
.eb-my-courses__course-card [class*="start"],
.eb-my-courses__course-card [class*="link"] {
			    font-family: "Core Sans A 45 Regular", "Helvetica Neue", Helvetica, Arial, sans-serif !important;
	
    background-color: #cc5599 !important;
    color: #ffffff !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    text-transform: none !important;
    letter-spacing: 0.03em !important;
    padding: 10px 20px !important;
    border-radius: 8px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 8px !important;
    text-decoration: none !important;
    transition: all 0.2s ease !important;
    box-shadow: 0 4px 6px -1px rgba(204, 85, 153, 0.12) !important;
    float: right !important; /* Mantiene la alineación a la derecha abajo */
    margin-top: 12px !important;
    margin-bottom: 4px !important;
}

/* Forzar que el ícono de la flecha (SVG o texto) sea blanco y se alinee bien */
.eb-my-courses__course-card .course-content a svg,
.eb-my-courses__course-card a:last-child svg {
    stroke: #ffffff !important;
    fill: #ffffff !important;
    width: 14px !important;
    height: 14px !important;
}

/* Si la flecha ">" es texto plano, la pintamos de blanco */
.eb-my-courses__course-card .course-content a::after,
.eb-my-courses__course-card a:last-child::after {
    color: #ffffff !important;
	
	    font-family: "Core Sans A 45 Regular", "Helvetica Neue", Helvetica, Arial, sans-serif!important;
}

/* Estados Hover (Pasar el mouse) y Active */
.eb-my-courses__course-card .course-content a:hover,
.eb-my-courses__course-card a:last-child:hover,
.eb-my-courses__course-card [class*="start"]:hover,
.eb-my-courses__course-card [class*="link"]:hover {
    
	    font-family: "Core Sans A 45 Regular", "Helvetica Neue", Helvetica, Arial, sans-serif !important;
	background-color: #994073 !important;
    color: #ffffff !important;
    box-shadow: 0 6px 10px -1px rgba(204, 85, 153, 0.25) !important;
    transform: translateY(-1px) !important;
}

.eb-my-courses__course-card .course-content a:active,
.eb-my-courses__course-card a:last-child:active {
    transform: translateY(0) scale(0.98) !important;
}

/* Ajuste de separación inferior en la zona del footer de la tarjeta de curso */
.eb-my-courses__course-card .course-content,
.eb-my-courses__course-card [class*="footer"] {
    overflow: hidden !important; /* Limpia el float del botón a la derecha */
    padding-bottom: 12px !important;
}
/* ══════════════════════════════════════════════════════════════
   WOOCOMMERCE — CARRITO Y CHECKOUT (antes wc-cart.css)
   Fusionado a style.css para asegurar que siempre cargue sin
   depender de un enqueue independiente.
   ══════════════════════════════════════════════════════════════ */
/* ══════════════════════════════════════
   EH Campus — WooCommerce CSS
   ══════════════════════════════════════ */

/* ── Page wrapper (cart, checkout, my-account) ── */
.ehc-wc-page {
  background: #F4F4F2;
  min-height: 60vh;
  padding: 40px 0 64px;
}
.ehc-wc-inner {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 24px;
}
.ehc-wc-page-title {
  font-size: 1.6rem;
  font-weight: 800;
  color: #444343;
  margin-bottom: 28px;
  letter-spacing: -0.02em;
}

/* ── WC Notices ── */
.woocommerce-notices-wrapper .woocommerce-message,
.woocommerce-notices-wrapper .woocommerce-info,
.woocommerce-notices-wrapper .woocommerce-error {
  background: #FAEEF5 !important;
  border-top: 3px solid #CC5599 !important;
  border-radius: 10px !important;
  padding: 14px 20px !important;
  margin-bottom: 20px !important;
  color: #444343 !important;
  box-shadow: none !important;
}

/* ══════════════
   CART PAGE
   ══════════════ */

/* Layout: table + sidebar */
.woocommerce-cart .woocommerce {
  display: grid;
  grid-template-columns: 1fr 340px;
  gap: 28px;
  align-items: start;
}
.woocommerce-cart .woocommerce form.woocommerce-cart-form { grid-column: 1; }
.woocommerce-cart .woocommerce .cart-collaterals { grid-column: 2; }

/* Cart table */
.woocommerce-cart-form .shop_table {
  width: 100%;
  border-collapse: collapse;
  background: #ffffff;
  border: 1px solid #E0E0E0;
  border-radius: 14px;
  overflow: hidden;
  box-shadow: 0 1px 4px rgba(0,0,0,0.06);
}
.woocommerce-cart-form .shop_table thead th {
  background: #F4F4F2;
  padding: 14px 20px;
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: #6B7280;
  border-bottom: 1px solid #E0E0E0;
  text-align: left;
}
.woocommerce-cart-form .shop_table thead th.product-subtotal,
.woocommerce-cart-form .shop_table thead th.product-price { text-align: right; }

/* Cart rows */
.woocommerce-cart-form .shop_table tbody .cart_item {
  border-bottom: 1px solid #F0F0EE;
}
.woocommerce-cart-form .shop_table tbody .cart_item td {
  padding: 18px 20px;
  vertical-align: middle;
}

/* Product image */
.woocommerce-cart-form .shop_table .product-thumbnail a {
  display: block;
}
.woocommerce-cart-form .shop_table .product-thumbnail img {
  width: 72px !important;
  height: 56px !important;
  object-fit: cover;
  border-radius: 8px;
  display: block;
}

/* Product name */
.woocommerce-cart-form .shop_table .product-name a {
  font-size: 15px;
  font-weight: 600;
  color: #444343;
  text-decoration: none;
}
.woocommerce-cart-form .shop_table .product-name a:hover { color: #CC5599; }
.woocommerce-cart-form .shop_table .product-name .variation { font-size: 12px; color: #6B7280; }

/* Price & subtotal */
.woocommerce-cart-form .shop_table .product-price,
.woocommerce-cart-form .shop_table .product-subtotal {
  text-align: right;
  font-size: 15px;
  font-weight: 700;
  color: #444343;
}

/* Quantity */
.woocommerce-cart-form .shop_table .product-quantity .quantity {
  display: flex;
  align-items: center;
  gap: 6px;
}
.woocommerce-cart-form .shop_table .product-quantity input[type="number"] {
  width: 52px !important;
  height: 34px;
  border: 1.5px solid #E0E0E0 !important;
  border-radius: 8px !important;
  text-align: center;
  font-size: 14px;
  font-weight: 600;
  padding: 0 8px;
  outline: none;
  background: #fff;
}
.woocommerce-cart-form .shop_table .product-quantity input:focus {
  border-color: #CC5599 !important;
}

/* Remove button */
.woocommerce-cart-form .shop_table .product-remove a {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 28px;
  height: 28px;
  border-radius: 50%;
  color: #9CA3AF !important;
  font-size: 16px;
  transition: background .2s, color .2s;
}
.woocommerce-cart-form .shop_table .product-remove a:hover {
  background: #FEE2E2;
  color: #EF4444 !important;
}

/* Cart actions row */
.woocommerce-cart-form .shop_table .actions td {
  padding: 14px 20px;
  background: #F9F9F8;
  border-top: 1px solid #E0E0E0;
}
.woocommerce-cart-form .shop_table .actions .coupon {
  display: flex;
  gap: 8px;
  align-items: center;
}
.woocommerce-cart-form .shop_table .actions .coupon #coupon_code {
  height: 38px;
  padding: 0 14px;
  border: 1.5px solid #E0E0E0;
  border-radius: 100px;
  font-size: 13px;
  font-family: inherit;
  outline: none;
  transition: border-color .2s;
}
.woocommerce-cart-form .shop_table .actions .coupon #coupon_code:focus { border-color: #CC5599; }
.woocommerce-cart-form .shop_table .actions .coupon .button,
.woocommerce-cart-form .shop_table .actions button[name="apply_coupon"] {
  height: 38px;
  padding: 0 18px;
  border: 1.5px solid #E0E0E0;
  border-radius: 100px;
  font-size: 13px;
  font-weight: 600;
  background: #fff;
  color: #444343;
  cursor: pointer;
  transition: border-color .2s, color .2s;
}
.woocommerce-cart-form .shop_table .actions .coupon .button:hover { border-color: #CC5599; color: #CC5599; }

/* Update cart button */
.woocommerce-cart-form .shop_table .actions button[name="update_cart"] {
  float: right;
  height: 38px;
  padding: 0 20px;
  background: #CC5599;
  color: white;
  border: none;
  border-radius: 100px;
  font-size: 13px;
  font-weight: 600;
  cursor: pointer;
  transition: background .2s;
}
.woocommerce-cart-form .shop_table .actions button[name="update_cart"]:hover { background: #994073; }
.woocommerce-cart-form .shop_table .actions button[name="update_cart"]:disabled { opacity: 0.5; cursor: not-allowed; }

/* ── Cart Totals sidebar ── */
.cart-collaterals .cart_totals {
  background: #ffffff;
  border: 1px solid #E0E0E0;
  border-radius: 14px;
  overflow: hidden;
  box-shadow: 0 1px 4px rgba(0,0,0,0.06);
}
.cart-collaterals .cart_totals h2 {
  font-size: 13px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: #6B7280;
  padding: 16px 20px;
  background: #F4F4F2;
  border-bottom: 1px solid #E0E0E0;
  margin: 0;
}
.cart-collaterals .cart_totals table {
  width: 100%;
  border-collapse: collapse;
}
.cart-collaterals .cart_totals table th,
.cart-collaterals .cart_totals table td {
  padding: 14px 20px;
  border-bottom: 1px solid #F0F0EE;
  vertical-align: middle;
}
.cart-collaterals .cart_totals table th {
  font-size: 13px;
  font-weight: 600;
  color: #6B7280;
  text-align: left;
  width: 40%;
}
.cart-collaterals .cart_totals table td {
  text-align: right;
  font-size: 14px;
  font-weight: 600;
  color: #444343;
}
.cart-collaterals .cart_totals table .order-total th,
.cart-collaterals .cart_totals table .order-total td {
  font-size: 16px;
  font-weight: 800;
  color: #444343;
  border-bottom: none;
  padding-top: 16px;
  padding-bottom: 16px;
}

/* Checkout button — AZUL */
.cart-collaterals .cart_totals .wc-proceed-to-checkout {
  padding: 16px 20px;
  border-top: 1px solid #E0E0E0;
}
.cart-collaterals .cart_totals .wc-proceed-to-checkout a.checkout-button,
.cart-collaterals .cart_totals .wc-proceed-to-checkout .button,
.wc-proceed-to-checkout .button {
  display: block !important;
  width: 100% !important;
  padding: 14px 20px !important;
  background: #CC5599 !important;
  color: white !important;
  border: none !important;
  border-radius: 100px !important;
  font-size: 15px !important;
  font-weight: 700 !important;
  text-align: center !important;
  cursor: pointer !important;
  text-decoration: none !important;
  transition: background .2s, transform .2s, box-shadow .2s !important;
  box-shadow: 0 4px 18px rgba(204,85,153,0.3) !important;
}
.wc-proceed-to-checkout .button:hover {
  background: #994073 !important;
  transform: translateY(-1px) !important;
  box-shadow: 0 6px 24px rgba(204,85,153,0.4) !important;
}

/* Coupon accordion en cart totals */
.cart-collaterals .cart_totals .woocommerce-shipping-calculator,
.cart-collaterals .cart_totals .woocommerce-shipping-methods { padding: 0 20px 14px; }

/* ══════════════
   CHECKOUT PAGE
   ══════════════ */
/* El grid de 2 columnas va en el FORM, no en el wrapper */
.woocommerce-checkout form.checkout {
  display: grid;
  grid-template-columns: 1fr 380px;
  gap: 0 32px;
  align-items: start;
}
.woocommerce-checkout form.checkout #customer_details {
  grid-column: 1; grid-row: 1 / 3;
}
.woocommerce-checkout form.checkout #order_review_heading {
  grid-column: 2; grid-row: 1;
}
.woocommerce-checkout form.checkout #order_review {
  grid-column: 2; grid-row: 2;
  position: sticky; top: 90px;
}

/* Form fields */
.woocommerce-checkout .woocommerce-input-wrapper input,
.woocommerce-checkout .woocommerce-input-wrapper select,
.woocommerce-checkout .woocommerce-input-wrapper textarea {
  width: 100% !important;
  height: 42px;
  border: 1.5px solid #E0E0E0 !important;
  border-radius: 10px !important;
  padding: 0 14px !important;
  font-size: 14px !important;
  font-family: inherit !important;
  outline: none !important;
  transition: border-color .2s !important;
  background: #fff !important;
}
.woocommerce-checkout .woocommerce-input-wrapper input:focus,
.woocommerce-checkout .woocommerce-input-wrapper select:focus { border-color: #CC5599 !important; }
.woocommerce-checkout .woocommerce-input-wrapper textarea { height: auto !important; padding: 12px 14px !important; }

/* Form section headers */
.woocommerce-checkout h3#order_review_heading,
.woocommerce-checkout h3 {
  font-size: 13px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: #6B7280;
  margin-bottom: 16px;
}

/* Order review box */
.woocommerce-checkout #order_review {
  background: #ffffff;
  border: 1px solid #E0E0E0;
  border-radius: 14px;
  padding: 20px;
  box-shadow: 0 1px 4px rgba(0,0,0,0.06);
}
.woocommerce-checkout #payment .wc_payment_methods { padding: 0; list-style: none; }
.woocommerce-checkout #payment .place-order .button {
  display: block !important;
  width: 100% !important;
  padding: 14px !important;
  background: #CC5599 !important;
  color: white !important;
  border: none !important;
  border-radius: 100px !important;
  font-size: 15px !important;
  font-weight: 700 !important;
  cursor: pointer !important;
  box-shadow: 0 4px 18px rgba(204,85,153,0.3) !important;
  transition: background .2s !important;
}
.woocommerce-checkout #payment .place-order .button:hover { background: #994073 !important; }

/* ══════════════
   MY ACCOUNT
   ══════════════ */
.woocommerce-account .woocommerce {
  display: grid;
  grid-template-columns: 220px 1fr;
  gap: 28px;
  align-items: start;
}
.woocommerce-account .woocommerce-MyAccount-navigation {
  background: #ffffff;
  border: 1px solid #E0E0E0;
  border-radius: 14px;
  overflow: hidden;
  box-shadow: 0 1px 4px rgba(0,0,0,0.06);
}
.woocommerce-account .woocommerce-MyAccount-navigation ul { list-style: none; padding: 6px 0; }
.woocommerce-account .woocommerce-MyAccount-navigation ul li a {
  display: block;
  padding: 10px 18px;
  font-size: 13.5px;
  font-weight: 500;
  color: #6B7280;
  text-decoration: none;
  transition: color .2s, background .2s;
}
.woocommerce-account .woocommerce-MyAccount-navigation ul li a:hover { color: #CC5599; background: #FAEEF5; }
.woocommerce-account .woocommerce-MyAccount-navigation ul li.is-active a { color: #CC5599; font-weight: 700; background: #FAEEF5; }

/* General WC buttons */
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button {
  background: #CC5599 !important;
  color: white !important;
  border-radius: 100px !important;
  border: none !important;
  font-weight: 600 !important;
  padding: 10px 22px !important;
  transition: background .2s !important;
}
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover { background: #994073 !important; }

/* Remove default WC styling hacks */
.woocommerce-cart-form__cart-item .product-name { font-size: 15px !important; }
.woocommerce-page table.shop_table { border: none !important; }

/* Responsive */
@media (max-width: 860px) {
  .woocommerce-cart .woocommerce { grid-template-columns: 1fr; }
  .woocommerce-checkout form.checkout {
    grid-template-columns: 1fr !important;
  }
  .woocommerce-checkout form.checkout #customer_details,
  .woocommerce-checkout form.checkout #order_review_heading,
  .woocommerce-checkout form.checkout #order_review {
    grid-column: 1 !important; grid-row: auto !important; position: static !important;
  }
  .woocommerce-account .woocommerce { grid-template-columns: 1fr; }
  .cart-collaterals .cart_totals { margin-top: 0; }
}

/* ══════════════════════════════════════
   WOOCOMMERCE BLOCKS (Cart & Checkout — React/Gutenberg)
   El carrito moderno usa estos bloques, no el shortcode clásico
   ══════════════════════════════════════ */

/* Todos los botones de WP/WC blocks → AZUL (eliminar negro #32373c) */
.wp-block-button__link,
.wc-block-cart__submit-button,
.wc-block-components-button,
.wc-block-components-button.contained,
.wc-block-cart__submit-container .wc-block-components-button,
.wp-block-woocommerce-checkout .wc-block-components-checkout-place-order-button {
  background-color: #CC5599 !important;
  background: #CC5599 !important;
  color: #fff !important;
  border: none !important;
  border-radius: 100px !important;
  font-weight: 700 !important;
  box-shadow: 0 4px 18px rgba(204,85,153,0.3) !important;
  transition: background .2s, transform .2s, box-shadow .2s !important;
  opacity: 1 !important;
}
.wp-block-button__link:hover,
.wc-block-cart__submit-button:hover,
.wc-block-components-button:hover,
.wc-block-components-button.contained:hover,
.wp-block-woocommerce-checkout .wc-block-components-checkout-place-order-button:hover {
  background-color: #994073 !important;
  background: #994073 !important;
  transform: translateY(-1px) !important;
  box-shadow: 0 6px 24px rgba(204,85,153,0.4) !important;
}

/* Botón submit — texto centrado, full-width lo da el block nativo */
.wc-block-cart__submit-button {
  font-size: 15px !important;
  text-align: center !important;
}
.wc-block-cart__submit {
  padding-top: 16px !important;
  margin-top: 8px !important;
  border-top: 1px solid #F0F0EE !important;
}

/* NO tocamos el layout del Cart Block — el bloque nativo ya hace 2 columnas.
   Solo aplicamos estética. */

/* Tabla de items */
.wc-block-cart-items {
  background: #fff !important;
  border: 1px solid #E0E0E0 !important;
  border-radius: 14px !important;
  overflow: hidden !important;
  box-shadow: 0 1px 4px rgba(0,0,0,0.06) !important;
}
.wc-block-cart-items__header {
  background: #F4F4F2 !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: #6B7280 !important;
  padding: 14px 24px !important;
  margin: 0 !important;
}
.wc-block-cart-items .wc-block-cart-items__row {
  padding: 18px 24px !important;
  border-bottom: 1px solid #F0F0EE !important;
  background: #fff !important;
}
.wc-block-cart-item__image img {
  border-radius: 8px !important;
  width: 72px !important;
}
.wc-block-cart-item__product-name,
.wc-block-components-product-name {
  font-size: 15px !important;
  font-weight: 600 !important;
  color: #444343 !important;
  text-decoration: none !important;
}
.wc-block-cart-item__product-name:hover { 
color: #CC5599 !important; 
}

.wc-block-cart__main .wc-block-cart-items .wc-block-cart-item__image {
    padding-right: 10px !important;
    padding-left: 5px !important; 
}

.wc-block-components-product-price {
     padding-right: 10px !important;
}

/* Fallback defensivo: si WooCommerce actualizó el markup del bloque y
   .wc-block-cart-items ya no es el wrapper exacto, estas reglas cubren
   los nombres de clase alternativos más comunes para que la tarjeta
   blanca y el padding se apliquen igual. */
.wp-block-woocommerce-cart-line-items-block,
.wp-block-woocommerce-filled-cart-block .wc-block-components-main {
  overflow: hidden !important;
  /*box-shadow: 0 1px 4px rgba(0,0,0,0.06) !important*/;
}
.wc-block-cart-items__header-image,
.wc-block-cart-items__header-product,
.wc-block-cart-items__header-total {
  background: #F4F4F2 !important;
  padding: 14px 4px !important;
  margin: 0 !important;
  box-sizing: border-box !important;
}
.wc-block-cart-items .wc-block-cart-items__header .wc-block-cart-items__header-total {
  padding-right: 10px !important;
}

/* Cantidad selector */
.wc-block-components-quantity-selector {
  border: 1.5px solid #E0E0E0 !important;
  border-radius: 8px !important;
}
.wc-block-components-quantity-selector__button {
  color: #6B7280 !important;
}

/* Sidebar = UNA tarjeta cohesiva que contiene resumen + botón */
.wc-block-cart__sidebar {
  background: #fff !important;
  border: 1px solid #E0E0E0 !important;
  border-radius: 14px !important;
  box-shadow: 0 1px 4px rgba(0,0,0,0.06) !important;
  padding: 20px !important;
  overflow: visible !important;
}
.wc-block-cart__sidebar .is-large,
.wc-block-cart__sidebar .wp-block-woocommerce-cart-order-summary-block {
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
  padding: 0 !important;
}
.wc-block-cart__totals-title,
.wc-block-components-totals-item__label {
  color: #6B7280 !important;
}
.wc-block-components-totals-item {
  padding: 10px 0 !important;
}
.wc-block-components-totals-wrapper {
  border-top: 1px solid #F0F0EE !important;
  padding: 4px 0 !important;
}
.wc-block-components-totals-footer-item,
.wc-block-components-totals-item.wc-block-components-totals-footer-item {
  font-size: 16px !important;
  font-weight: 800 !important;
  color: #444343 !important;
}
.wc-block-components-totals-item__value { color: #444343 !important; font-weight: 700 !important; }

/* Coupon accordion */
.wc-block-components-totals-coupon__button,
.wc-block-components-panel__button {
  color: #CC5599 !important;
  font-weight: 600 !important;
}

/* Checkout Block — solo estética, layout nativo */
.wc-block-components-text-input input,
.wc-block-components-text-input select {
  border: 1.5px solid #E0E0E0 !important;
  border-radius: 10px !important;
}
.wc-block-components-text-input input:focus { border-color: #CC5599 !important; }
.wc-block-checkout__sidebar .wc-block-components-totals-wrapper {
  background: #fff;
  border: 1px solid #E0E0E0;
  border-radius: 14px;
  box-shadow: 0 1px 4px rgba(0,0,0,0.06);
}

/* ══════════════════════════════════════
   CARRITO VACÍO — EH Campus (sin carita fea)
   ══════════════════════════════════════ */
.ehc-empty-cart {
  background: #fff;
  border: 1px solid #E0E0E0;
  border-radius: 16px;
  padding: 56px 32px;
  text-align: center;
  max-width: 520px;
  margin: 0 auto;
  box-shadow: 0 1px 4px rgba(0,0,0,0.06);
}
.ehc-empty-cart-icon {
  width: 90px; height: 90px;
  margin: 0 auto 24px;
  border-radius: 50%;
  background: linear-gradient(135deg, #FAEEF5 0%, #F7E6F0 100%);
  display: flex; align-items: center; justify-content: center;
  color: #CC5599;
}
.ehc-empty-cart-title {
  font-size: 1.5rem; font-weight: 800; color: #444343;
  margin-bottom: 12px; letter-spacing: -0.02em;
}
.ehc-empty-cart-text {
  font-size: 14.5px; color: #6B7280; line-height: 1.6;
  max-width: 380px; margin: 0 auto 28px;
}
.ehc-empty-cart-btn {
  display: inline-flex; align-items: center; justify-content: center;
  background: #CC5599; color: #fff;
  font-size: 15px; font-weight: 700;
  padding: 13px 28px; border-radius: 100px;
  text-decoration: none;
  box-shadow: 0 4px 18px rgba(204,85,153,0.3);
  transition: background .2s, transform .2s, box-shadow .2s;
}
.ehc-empty-cart-btn:hover {
  background: #994073; color: #fff;
  transform: translateY(-1px);
  box-shadow: 0 6px 24px rgba(204,85,153,0.4);
}

/* ══════════════════════════════════════
   THANK YOU / PEDIDO RECIBIDO
   ══════════════════════════════════════ */
.ehc-thankyou { max-width: 640px; margin: 0 auto; }
.ehc-thankyou-head { text-align: center; margin-bottom: 32px; }
.ehc-thankyou-icon {
  width: 88px; height: 88px; margin: 0 auto 20px;
  border-radius: 50%;
  display: flex; align-items: center; justify-content: center;
}
.ehc-icon-ok { background: #D1FAE5; color: #059669; }
.ehc-icon-fail { background: #FEE2E2; color: #DC2626; }
.ehc-thankyou-head h2 {
  font-size: 1.7rem; font-weight: 800; color: #444343;
  margin-bottom: 10px; letter-spacing: -0.02em;
}
.ehc-thankyou-head p { font-size: 15px; color: #6B7280; line-height: 1.6; max-width: 460px; margin: 0 auto; }

.ehc-order-overview {
  display: grid; grid-template-columns: 1fr 1fr;
  gap: 1px; background: #E0E0E0;
  border: 1px solid #E0E0E0; border-radius: 14px;
  overflow: hidden; list-style: none; margin: 0 0 24px; padding: 0;
}
.ehc-order-overview li {
  background: #fff; padding: 16px 20px;
  display: flex; flex-direction: column; gap: 4px;
}
.ehc-oo-label {
  font-size: 11px; font-weight: 700; text-transform: uppercase;
  letter-spacing: 0.06em; color: #9CA3AF;
}
.ehc-order-overview li strong { font-size: 15px; font-weight: 700; color: #444343; }

/* Instrucciones de transferencia (BACS) */
.ehc-thankyou .woocommerce-order-overview,
.ehc-thankyou .wc-bacs-bank-details,
.ehc-thankyou h2.wc-bacs-bank-details-heading {
  background: #FFF8EC;
  border: 1px solid #FDE68A;
  border-radius: 14px;
  padding: 20px 24px;
  margin-bottom: 24px;
}
.ehc-thankyou .wc-bacs-bank-details-heading,
.ehc-thankyou h2 { font-size: 15px; font-weight: 700; color: #92400E; margin-bottom: 12px; }
.ehc-thankyou .wc-bacs-bank-details li { font-size: 14px; color: #78350F; padding: 3px 0; list-style: none; }
.ehc-thankyou .wc-bacs-bank-details ul { padding: 0; }

/* Botones de acción */
.ehc-thankyou-actions {
  display: flex; gap: 12px; justify-content: center; flex-wrap: wrap;
  margin-top: 28px;
}
.ehc-btn-pri {
  display: inline-flex; align-items: center; justify-content: center;
  background: #CC5599; color: #fff !important;
  font-size: 15px; font-weight: 700;
  padding: 13px 28px; border-radius: 100px; text-decoration: none;
  box-shadow: 0 4px 18px rgba(204,85,153,0.3);
  transition: background .2s, transform .2s;
}
.ehc-btn-pri:hover { background: #994073; transform: translateY(-1px); }
.ehc-btn-sec {
  display: inline-flex; align-items: center; justify-content: center;
  background: #fff; color: #444343 !important;
  font-size: 15px; font-weight: 600;
  padding: 13px 28px; border-radius: 100px; text-decoration: none;
  border: 1.5px solid #E0E0E0;
  transition: border-color .2s, color .2s;
}
.ehc-btn-sec:hover { border-color: #CC5599; color: #CC5599 !important; }

/* ══════════════════════════════════════
   CHECKOUT CLÁSICO — Resumen del pedido
   ══════════════════════════════════════ */
.woocommerce-checkout #order_review {
  background: #fff; border: 1px solid #E0E0E0; border-radius: 14px;
  padding: 24px; box-shadow: 0 1px 4px rgba(0,0,0,0.06);
}
.woocommerce-checkout #order_review_heading {
  font-size: 13px; font-weight: 700; text-transform: uppercase;
  letter-spacing: 0.08em; color: #6B7280; margin-bottom: 16px;
}
.woocommerce-checkout .shop_table {
  width: 100%; border-collapse: collapse; margin-bottom: 16px;
}
.woocommerce-checkout .shop_table th,
.woocommerce-checkout .shop_table td {
  padding: 12px 0; border-bottom: 1px solid #F0F0EE;
  font-size: 14px; text-align: left;
}
.woocommerce-checkout .shop_table td.product-total,
.woocommerce-checkout .shop_table th.product-total { text-align: right; }
.woocommerce-checkout .shop_table .order-total th,
.woocommerce-checkout .shop_table .order-total td {
  font-size: 16px; font-weight: 800; color: #444343;
  border-bottom: none; padding-top: 16px;
}
.woocommerce-checkout .cart-subtotal td { text-align: right; font-weight: 600; }

/* Place order button */
.woocommerce-checkout #place_order,
.woocommerce-checkout button#place_order {
  display: block; width: 100%; padding: 15px;
  background: #CC5599 !important; color: #fff !important;
  border: none; border-radius: 100px;
  font-size: 15px; font-weight: 700; cursor: pointer;
  box-shadow: 0 4px 18px rgba(204,85,153,0.3);
  transition: background .2s; margin-top: 8px;
}
.woocommerce-checkout #place_order:hover { background: #994073 !important; }

/* Payment methods */
.woocommerce-checkout #payment {
  background: #F9F9F8; border-radius: 12px; padding: 16px; margin-top: 16px;
}
.woocommerce-checkout #payment ul.payment_methods {
  list-style: none; padding: 0; margin: 0 0 12px; border: none;
}
.woocommerce-checkout #payment .payment_box {
  background: #fff; border-radius: 8px; padding: 12px 14px;
  font-size: 13px; color: #6B7280; margin-top: 8px;
}

/* Coupon en checkout */
.woocommerce-checkout .checkout_coupon {
  background: #fff; border: 1px solid #E0E0E0; border-radius: 12px;
  padding: 16px 20px; margin-bottom: 20px;
}
.woocommerce-form-coupon-toggle .woocommerce-info {
  background: #FAEEF5 !important; border-top: 3px solid #CC5599 !important;
  border-radius: 10px; font-size: 13.5px;
}

/* ══ FIX: botones del carrito clásico (cupón / actualizar) ══ */
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button {
  white-space: nowrap !important;
  line-height: 1.2 !important;
}
.woocommerce-cart-form .shop_table .actions {
  display: flex !important;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
  padding: 16px 20px !important;
}
.woocommerce-cart-form .shop_table .actions .coupon {
  display: flex !important;
  gap: 8px;
  flex: 1 1 auto;
  max-width: 440px;
  float: none !important;
}
.woocommerce-cart-form .shop_table .actions .coupon #coupon_code {
  flex: 1; min-width: 140px;
}
.woocommerce-cart-form .shop_table .actions button[name="update_cart"] {
  float: none !important;
  flex-shrink: 0;
}
.woocommerce-cart-form .shop_table .actions .coupon .button {
  flex-shrink: 0;
}

/* Ocultar el mensaje nativo duplicado "Tu carrito está vacío" */
.wc-empty-cart-message,
.cart-empty.woocommerce-info {
  display: none !important;
}

/* ══ FIX: anchos de columna del carrito clásico ══ */
.woocommerce-cart-form .shop_table { table-layout: fixed; width: 100%; }
.woocommerce-cart-form .shop_table th.product-remove,
.woocommerce-cart-form .shop_table td.product-remove {
  width: 44px !important; text-align: center; padding-left: 12px !important; padding-right: 4px !important;
}
.woocommerce-cart-form .shop_table th.product-thumbnail,
.woocommerce-cart-form .shop_table td.product-thumbnail {
  width: 90px !important; padding-left: 4px !important; padding-right: 12px !important;
}
.woocommerce-cart-form .shop_table th.product-name,
.woocommerce-cart-form .shop_table td.product-name {
  width: auto !important; min-width: 220px; text-align: left !important;
}
.woocommerce-cart-form .shop_table th.product-price,
.woocommerce-cart-form .shop_table td.product-price { width: 110px !important; }
.woocommerce-cart-form .shop_table th.product-quantity,
.woocommerce-cart-form .shop_table td.product-quantity { width: 100px !important; }
.woocommerce-cart-form .shop_table th.product-subtotal,
.woocommerce-cart-form .shop_table td.product-subtotal { width: 120px !important; }

/* Imagen del producto — forzar visible (estaba en 0) */
.woocommerce-cart-form .shop_table td.product-thumbnail img {
  width: 72px !important;
  height: 56px !important;
  max-width: none !important;
  min-width: 72px !important;
  object-fit: cover;
  border-radius: 8px;
  display: block !important;
}
.woocommerce-cart-form .shop_table td.product-thumbnail a { display: block; width: 72px; }

/* Título del producto — no envolver vertical */
.woocommerce-cart-form .shop_table td.product-name a {
  display: inline-block;
  line-height: 1.4;
}
.ehc-tab-content p {
    color:color:#444343 !important;
}

/* ══════════════════════════════════════
   EDWISER
   ══════════════════════════════════════ */

/* Single Cursos Edwiser */
.wp-block-edwiser-bridge-course-description {
    padding: 20px 0 !important;
}

.wp-block-edwiser-bridge-course-description .eb-title {
	font-family: "Core Sans A 45 Regular", "Helvetica Neue", Helvetica, Arial, sans-serif !important;
}

.wp-block-edwiser-bridge-course-description .eb-course-desc__details .eb-course-desc__course-meta .course-meta__header h3 {
	font-family: "Core Sans A 45 Regular", "Helvetica Neue", Helvetica, Arial, sans-serif !important;
}

.wp-block-edwiser-bridge-course-description .eb-course-desc__content .eb-course-desc__content-title {
	font-family: "Core Sans A 45 Regular", "Helvetica Neue", Helvetica, Arial, sans-serif !important;
}

.wp-block-edwiser-bridge-course-description .eb-course-desc__content {
	font-family: "Core Sans A 45 Regular", "Helvetica Neue", Helvetica, Arial, sans-serif !important;
}

.wp-block-edwiser-bridge-course-description .eb-course-desc__details {
	font-family: "Core Sans A 45 Regular", "Helvetica Neue", Helvetica, Arial, sans-serif !important;
}
.wp-block-edwiser-bridge-course-description .eb-course-desc__details {
	font-family: "Core Sans A 45 Regular", "Helvetica Neue", Helvetica, Arial, sans-serif !important;
}

.wp-block-edwiser-bridge-course-description p {
	font-family: "Core Sans A 45 Regular", "Helvetica Neue", Helvetica, Arial, sans-serif !important;
}

.wp-block-edwiser-bridge-course-description *, .wp-block-edwiser-bridge-course-description :after, .wp-block-edwiser-bridge-course-description :before {
	font-family: "Core Sans A 45 Regular", "Helvetica Neue", Helvetica, Arial, sans-serif !important;
}

.wp-block-edwiser-bridge-course-description .eb-course-desc__details .eb-course-desc__course-meta .course-meta__content .course-meta__content-bottom a,
.wp-block-edwiser-bridge-course-description .eb-course-desc__details .eb-course-desc__course-meta .course-meta__content .course-meta__content-bottom input[type=submit] {
	font-family: "Core Sans A 45 Regular", "Helvetica Neue", Helvetica, Arial, sans-serif !important;
    background: #CC5599 !important;
    color: #fff !important;
    border: none !important;
    border-radius: 100px !important;
    font-weight: 700 !important;
    box-shadow: 0 4px 18px rgba(204, 85, 153, 0.3) !important;
    transition: background .2s, transform .2s, box-shadow .2s !important;
    opacity: 1 !important;
}