/*
 * EAB Student Portal — Stylesheet v1.1
 * Escuela de Atención y Bienestar · by Zoon11 (https://zoon11.com)
 * Fonts: Outfit (display) + Poppins (UI)
 */

/* ── TOKENS ──────────────────────────────────────────────────── */
.eab-portal {
	--teal:       #076060;
	--teal-dk:    #054848;
	--teal-lt:    #0a8080;
	--teal-bg:    #e8f2f2;
	--terra:      #D1531A;
	--terra-bg:   #fdf0ea;
	--mustard:    #D0820F;
	--mustard-bg: #fdf5e6;
	--cream:      #F7F3EE;
	--cream-dk:   #ece6df;
	--green-dk:   #1E2A1E;
	--green-mid:  #2d4a2d;
	--ink:        #1a1a1a;
	--ink-lt:     #3a3a3a;
	--muted:      #7a7a7a;
	--border:     #e2ddd7;
	--card:       #ffffff;
	--radius:     16px;
	--radius-sm:  10px;
	--shadow:     0 2px 12px rgba(7,96,96,.07);
	--shadow-md:  0 6px 24px rgba(7,96,96,.12);
	--ff-display: 'Outfit', sans-serif;
	--ff-body:    'Poppins', sans-serif;
	font-family:  var(--ff-body);
	color:        var(--ink);
	box-sizing:   border-box;
}
.eab-portal *, .eab-portal *::before, .eab-portal *::after { box-sizing: inherit; }

/* ── GLOBAL RESET ────────────────────────────────────────────── */
.eab-portal h1,.eab-portal h2,.eab-portal h3 { font-family: var(--ff-display); font-weight: 600; margin: 0; line-height: 1.2; }
.eab-portal p  { margin: 0; }
.eab-portal a  { color: var(--teal); text-decoration: none; }
.eab-portal ul { list-style: none; padding: 0; margin: 0; }
.eab-portal img { max-width: 100%; display: block; }

/* ── BUTTONS ─────────────────────────────────────────────────── */
.eab-portal .eab-btn {
	display:         inline-flex !important;
	align-items:     center !important;
	justify-content: center !important;
	gap:             6px !important;
	font-family:     var(--ff-body) !important;
	font-size:       .875rem !important;
	font-weight:     500 !important;
	line-height:     1 !important;
	padding:         11px 22px !important;
	border-radius:   40px !important;
	border:          2px solid transparent !important;
	cursor:          pointer !important;
	text-decoration: none !important;
	transition:      background .18s, color .18s, border-color .18s, box-shadow .18s, transform .15s !important;
	white-space:     nowrap !important;
	box-shadow:      none !important;
	outline:         none !important;
	-webkit-appearance: none !important;
	appearance:      none !important;
}
.eab-portal .eab-btn:hover  { transform: translateY(-1px) !important; }
.eab-portal .eab-btn:active { transform: translateY(0) !important; }

.eab-portal .eab-btn-primary {
	background:   #076060 !important;
	color:        #ffffff !important;
	border-color: #076060 !important;
}
.eab-portal .eab-btn-primary:hover {
	background:   #054848 !important;
	border-color: #054848 !important;
	box-shadow:   0 4px 16px rgba(7,96,96,.28) !important;
	color:        #ffffff !important;
}

.eab-portal .eab-btn-hero {
	background:   rgba(255,255,255,.18) !important;
	color:        #ffffff !important;
	border-color: rgba(255,255,255,.5) !important;
	backdrop-filter: blur(8px) !important;
	font-size:    .9rem !important;
	padding:      12px 26px !important;
}
.eab-portal .eab-btn-hero:hover {
	background:   rgba(255,255,255,.28) !important;
	border-color: rgba(255,255,255,.8) !important;
	color:        #ffffff !important;
}

.eab-portal .eab-btn-outline {
	background:   transparent !important;
	color:        #076060 !important;
	border-color: #076060 !important;
}
.eab-portal .eab-btn-outline:hover {
	background:   #e8f2f2 !important;
	color:        #076060 !important;
}

.eab-portal .eab-btn-ghost {
	background:   transparent !important;
	color:        rgba(255,255,255,.85) !important;
	border-color: rgba(255,255,255,.35) !important;
	font-size:    .8rem !important;
	padding:      8px 16px !important;
}
.eab-portal .eab-btn-ghost:hover {
	background:   rgba(255,255,255,.12) !important;
	color:        #ffffff !important;
}

.eab-portal .eab-btn-sm { font-size: .78rem !important; padding: 8px 16px !important; }
.eab-portal .eab-btn-block { width: 100% !important; }

/* ── NOTICES ─────────────────────────────────────────────────── */
.eab-notice {
	padding:      14px 18px;
	border-radius: var(--radius-sm);
	font-size:    .88rem;
	margin-bottom: 24px;
	font-family:  var(--ff-body);
}
.eab-notice-ok  { background: #ecfdf5; color: #186a3b; border-left: 4px solid #27ae60; }
.eab-notice-err { background: var(--terra-bg); color: var(--terra); border-left: 4px solid var(--terra); }

/* ── LOGIN WALL ──────────────────────────────────────────────── */
.eab-wall {
	display:         flex;
	align-items:     center;
	justify-content: center;
	min-height:      60vh;
	padding:         40px 16px;
}
.eab-wall-inner {
	background:    var(--card);
	border-radius: var(--radius);
	padding:       48px 40px;
	text-align:    center;
	max-width:     420px;
	box-shadow:    var(--shadow-md);
}
.eab-wall-icon-wrap {
	width:         64px; height: 64px;
	border-radius: 50%;
	background:    var(--teal-bg);
	display:       inline-flex;
	align-items:   center;
	justify-content: center;
	color:         var(--teal);
	margin-bottom: 20px;
}
.eab-wall-inner h2 { font-size: 1.4rem; margin-bottom: 8px; color: var(--ink); }
.eab-wall-inner p  { color: var(--muted); font-size: .9rem; margin-bottom: 24px; }

/* ── ERROR ───────────────────────────────────────────────────── */
.eab-error { color: var(--terra); font-size: .9rem; padding: 12px 16px; background: var(--terra-bg); border-radius: var(--radius-sm); }

/* ── EMPTY STATE ─────────────────────────────────────────────── */
.eab-empty {
	text-align:    center;
	padding:       64px 24px;
	background:    var(--card);
	border-radius: var(--radius);
	box-shadow:    var(--shadow);
}
.eab-empty-graphic { margin-bottom: 20px; }
.eab-empty h3 { font-size: 1.2rem; margin-bottom: 8px; }
.eab-empty p  { color: var(--muted); font-size: .9rem; margin-bottom: 24px; }

/* ══════════════════════════════════════════════════════════════
   DASHBOARD
══════════════════════════════════════════════════════════════ */

/* ── HERO ────────────────────────────────────────────────────── */
.eab-hero {
	position:      relative;
	background:    linear-gradient(135deg, var(--green-dk) 0%, #0a5050 50%, var(--teal) 100%);
	border-radius: var(--radius);
	padding:       48px 40px 48px 44px;
	margin-bottom: 32px;
	overflow:      hidden;
	display:       flex;
	align-items:   center;
	gap:           20px;
	min-height:    200px;
}
.eab-hero-bg {
	position: absolute;
	inset:    0;
	pointer-events: none;
}
.eab-deco {
	position: absolute;
	fill:     rgba(255,255,255,.04);
}
.eab-deco-1 { width: 360px; height: 360px; top: -120px; right: -80px; }
.eab-deco-2 { width: 240px; height: 240px; bottom: -100px; left: -60px; fill: rgba(255,255,255,.03); }

.eab-hero-content {
	position:  relative;
	z-index:   1;
	flex:      1;
	min-width: 0;
}
.eab-hero-eyebrow {
	display:       inline-block;
	background:    rgba(255,255,255,.12);
	color:         rgba(255,255,255,.75);
	font-size:     .72rem;
	font-family:   var(--ff-body);
	font-weight:   500;
	letter-spacing: .08em;
	text-transform: uppercase;
	padding:       5px 12px;
	border-radius: 20px;
	margin-bottom: 12px;
	backdrop-filter: blur(6px);
}
.eab-hero-hello {
	font-size:     clamp(1.6rem, 3vw, 2.2rem);
	color:         #fff;
	font-weight:   700;
	letter-spacing: -.01em;
	margin-bottom: 10px;
}
.eab-hero-sub {
	font-size:    .9rem;
	color:        rgba(255,255,255,.8);
	margin-bottom: 20px;
	line-height:  1.55;
}
.eab-hero-sub strong { color: #fff; }

/* Avatar -> Profile link in hero */
.eab-hero-profile-link {
	position:   relative;
	z-index:    1;
	flex-shrink: 0;
	display:    flex;
	flex-direction: column;
	align-items: center;
	gap:        8px;
	text-decoration: none;
}
.eab-hero-avatar {
	width:         80px !important;
	height:        80px !important;
	border-radius: 50% !important;
	object-fit:    cover !important;
	border:        3px solid rgba(255,255,255,.6) !important;
	box-shadow:    0 4px 16px rgba(0,0,0,.25) !important;
	transition:    border-color .2s, transform .2s !important;
	display:       block !important;
}
.eab-hero-profile-link:hover .eab-hero-avatar { border-color: #fff; transform: scale(1.04); }
.eab-hero-edit-hint {
	display:     flex;
	align-items: center;
	gap:         5px;
	color:       rgba(255,255,255,.8);
	font-size:   .72rem;
	font-family: var(--ff-body);
	background:  rgba(255,255,255,.12);
	padding:     4px 10px;
	border-radius: 20px;
	backdrop-filter: blur(6px);
	transition:  background .2s, color .2s;
}
.eab-hero-profile-link:hover .eab-hero-edit-hint { background: rgba(255,255,255,.22); color: #fff; }

/* ── STAT TILES ──────────────────────────────────────────────── */
.eab-stats {
	display:  grid;
	grid-template-columns: repeat(4, 1fr);
	gap:      16px;
	margin-bottom: 36px;
}
.eab-tile {
	background:    var(--card);
	border-radius: var(--radius);
	padding:       22px 20px;
	box-shadow:    var(--shadow);
	display:       flex;
	flex-direction: column;
	gap:           6px;
	position:      relative;
	overflow:      hidden;
	transition:    transform .18s, box-shadow .18s;
}
.eab-tile:hover { transform: translateY(-3px); box-shadow: var(--shadow-md); }
.eab-tile::after {
	content:   '';
	position:  absolute;
	left:      0; top: 0; bottom: 0;
	width:     4px;
	border-radius: 4px 0 0 4px;
}
.tile-teal    { --t-clr: var(--teal);      } .tile-teal::after    { background: var(--teal);     }
.tile-mustard { --t-clr: var(--mustard);   } .tile-mustard::after { background: var(--mustard);  }
.tile-terra   { --t-clr: var(--terra);     } .tile-terra::after   { background: var(--terra);    }
.tile-green   { --t-clr: var(--green-mid); } .tile-green::after   { background: var(--green-mid); }

.eab-tile-icon {
	width:         36px; height: 36px;
	border-radius: var(--radius-sm);
	background:    color-mix(in srgb, var(--t-clr) 12%, transparent);
	display:       flex;
	align-items:   center;
	justify-content: center;
	color:         var(--t-clr);
	margin-bottom: 4px;
}
.eab-tile-num {
	font-family: var(--ff-display);
	font-size:   2.1rem;
	font-weight: 700;
	line-height: 1;
	color:       var(--ink);
}
.eab-tile-lbl {
	font-size:  .78rem;
	color:      var(--muted);
	font-family: var(--ff-body);
	font-weight: 500;
}

/* ── COURSES SECTION ─────────────────────────────────────────── */
.eab-courses-hd {
	display:     flex;
	align-items: center;
	justify-content: space-between;
	margin-bottom: 20px;
}
.eab-section-h {
	font-size:  1.4rem;
	color:      var(--ink);
}
.eab-see-all {
	font-size:  .82rem;
	color:      var(--teal);
	font-family: var(--ff-body);
	font-weight: 500;
}
.eab-see-all:hover { text-decoration: underline; }
.eab-eyebrow {
	font-size:   .72rem;
	font-family: var(--ff-body);
	font-weight: 500;
	text-transform: uppercase;
	letter-spacing: .08em;
	color:       var(--teal);
	display:     block;
	margin-bottom: 6px;
}

/* ── COURSE CARD GRID ────────────────────────────────────────── */
.eab-grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
	gap:     20px;
}
.eab-course-card {
	background:    var(--card);
	border-radius: var(--radius);
	overflow:      hidden;
	box-shadow:    var(--shadow);
	transition:    transform .2s, box-shadow .2s;
	display:       flex;
	flex-direction: column;
}
.eab-course-card:hover { transform: translateY(-4px); box-shadow: var(--shadow-md); }

.eab-card-thumb {
	position:   relative;
	aspect-ratio: 16/9;
	background: linear-gradient(135deg, var(--teal-dk), var(--teal));
	overflow:   hidden;
}
.eab-card-thumb img { width: 100%; height: 100%; object-fit: cover; }
.eab-thumb-fill {
	width:  100%; height: 100%;
	display: flex;
	align-items: center;
	justify-content: center;
}
.eab-card-overlay {
	position:  absolute;
	inset:     0;
	background: linear-gradient(to top, rgba(5,30,30,.85) 0%, transparent 55%);
	display:   flex;
	flex-direction: column;
	justify-content: flex-end;
	padding:   14px 16px;
}
.eab-card-overlay-title {
	font-family: var(--ff-display);
	font-size:   .95rem;
	font-weight: 600;
	color:       #fff;
	line-height: 1.3;
	margin-bottom: 6px;
}

/* Badges */
.eab-badge {
	display:       inline-block;
	font-size:     .68rem;
	font-family:   var(--ff-body);
	font-weight:   600;
	text-transform: uppercase;
	letter-spacing: .06em;
	padding:       3px 9px;
	border-radius: 20px;
	align-self:    flex-start;
}
.badge-active { background: rgba(10,128,128,.85); color: #fff; backdrop-filter: blur(4px); }
.badge-done   { background: rgba(39,174,96,.85);  color: #fff; backdrop-filter: blur(4px); }
.badge-idle   { background: rgba(255,255,255,.2);  color: rgba(255,255,255,.9); backdrop-filter: blur(4px); }

.eab-card-body {
	padding: 16px;
	flex:    1;
	display: flex;
	flex-direction: column;
	gap:     12px;
}
.eab-card-ring-row {
	display:     flex;
	align-items: center;
	gap:         14px;
}
.eab-card-lessons {
	display:       flex;
	flex-direction: column;
	gap:           2px;
}
.eab-lessons-count {
	font-family: var(--ff-display);
	font-size:   1.4rem;
	font-weight: 700;
	color:       var(--ink);
	line-height: 1;
}
.eab-lessons-total { font-size: .8rem; color: var(--muted); font-family: var(--ff-body); }
.eab-lessons-label { font-size: .75rem; color: var(--muted); }

/* SVG Ring */
.eab-ring { flex-shrink: 0; }
.eab-ring-arc { transition: stroke-dashoffset .9s cubic-bezier(.4,0,.2,1); }

/* ══════════════════════════════════════════════════════════════
   PROFILE
══════════════════════════════════════════════════════════════ */

/* ── PROFILE HERO ────────────────────────────────────────────── */
.eab-profile-hero {
	position:      relative;
	background:    linear-gradient(135deg, var(--green-dk) 0%, #0a5050 60%, var(--teal) 100%);
	border-radius: var(--radius);
	padding:       40px 40px 40px 44px;
	margin-bottom: 28px;
	overflow:      hidden;
	display:       flex;
	align-items:   center;
	gap:           28px;
}
.eab-profile-hero-bg {
	position: absolute;
	inset:    0;
	pointer-events: none;
}

/* Clickable avatar wrap */
.eab-avatar-wrap {
	position:   relative;
	flex-shrink: 0;
	cursor:     pointer;
	display:    block;
	z-index:    1;
}
.eab-profile-avatar {
	width:         120px !important;
	height:        120px !important;
	border-radius: 50% !important;
	object-fit:    cover !important;
	border:        4px solid rgba(255,255,255,.7) !important;
	box-shadow:    0 6px 24px rgba(0,0,0,.3) !important;
	display:       block !important;
	transition:    border-color .2s !important;
}
.eab-avatar-wrap:hover .eab-profile-avatar { border-color: #fff; }
.eab-avatar-overlay {
	position:   absolute !important;
	inset:      0 !important;
	border-radius: 50% !important;
	background: rgba(7,96,96,.65) !important;
	display:    flex !important;
	flex-direction: column !important;
	align-items: center !important;
	justify-content: center !important;
	gap:        5px !important;
	color:      #ffffff !important;
	font-size:  .72rem !important;
	font-family: var(--ff-body) !important;
	opacity:    0 !important;
	transition: opacity .2s !important;
	backdrop-filter: blur(4px) !important;
}
.eab-avatar-wrap:hover .eab-avatar-overlay { opacity: 1; }

.eab-profile-hero-info {
	position:  relative;
	z-index:   1;
	flex:      1;
	min-width: 0;
}
.eab-profile-name {
	font-size:    clamp(1.4rem, 2.5vw, 1.9rem);
	color:        #fff;
	font-weight:  700;
	margin-bottom: 4px;
}
.eab-profile-email {
	font-size:    .85rem;
	color:        rgba(255,255,255,.7);
	font-family:  var(--ff-body);
	display:      block;
	margin-bottom: 14px;
}
.eab-profile-meta-row {
	display:   flex;
	flex-wrap: wrap;
	gap:       8px;
	margin-bottom: 18px;
}
.eab-meta-chip {
	display:      flex;
	align-items:  center;
	gap:          5px;
	font-size:    .75rem;
	font-family:  var(--ff-body);
	font-weight:  500;
	background:   rgba(255,255,255,.14);
	color:        rgba(255,255,255,.9);
	padding:      5px 12px;
	border-radius: 20px;
	backdrop-filter: blur(6px);
}
.eab-meta-chip-done { background: rgba(39,174,96,.25); color: #7de8aa; }

/* ── PROFILE FORM ────────────────────────────────────────────── */
.eab-profile-form {
	display:    flex;
	flex-direction: column;
	gap:        24px;
}
.eab-form-section {
	background:    var(--card);
	border-radius: var(--radius);
	padding:       28px 28px 24px;
	box-shadow:    var(--shadow);
	display:       flex;
	flex-direction: column;
	gap:           18px;
}
.eab-form-section-label {
	display:     flex;
	align-items: center;
	gap:         10px;
	margin-bottom: 4px;
	font-family: var(--ff-display);
	font-size:   1rem;
	font-weight: 600;
	color:       var(--ink-lt);
}
.eab-form-section-num {
	width:          26px; height: 26px;
	border-radius:  50%;
	background:     var(--teal-bg);
	color:          var(--teal);
	font-size:      .72rem;
	font-family:    var(--ff-body);
	font-weight:    700;
	display:        flex;
	align-items:    center;
	justify-content: center;
	flex-shrink:    0;
}
.eab-avatar-hint {
	font-size:    .82rem;
	color:        var(--muted);
	background:   var(--cream);
	border-radius: var(--radius-sm);
	padding:      12px 16px;
	border-left:  3px solid var(--teal-bg);
}
.eab-form-grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap:     16px;
}
.eab-field { display: flex; flex-direction: column; gap: 6px; }
.eab-field label {
	font-size:   .78rem;
	font-family: var(--ff-body);
	font-weight: 600;
	color:       var(--ink-lt);
	text-transform: uppercase;
	letter-spacing: .05em;
}
.eab-opt { text-transform: none; letter-spacing: 0; font-weight: 400; color: var(--muted); }
.eab-field input,
.eab-field textarea {
	font-family:    var(--ff-body);
	font-size:      .9rem;
	color:          var(--ink);
	background:     var(--cream);
	border:         1.5px solid var(--border);
	border-radius:  var(--radius-sm);
	padding:        11px 14px;
	width:          100%;
	transition:     border-color .18s, box-shadow .18s;
	outline:        none;
	resize:         vertical;
}
.eab-field input:focus,
.eab-field textarea:focus {
	border-color: var(--teal);
	box-shadow:   0 0 0 3px rgba(7,96,96,.1);
	background:   #fff;
}
.eab-field input::placeholder,
.eab-field textarea::placeholder { color: #b0a89f; }
.eab-field-hint { font-size: .78rem; color: var(--muted); margin-top: -8px; }
.eab-form-footer {
	display:         flex;
	justify-content: flex-end;
	padding:         4px 0;
}

/* ══════════════════════════════════════════════════════════════
   CATALOG
══════════════════════════════════════════════════════════════ */

.eab-catalog-hd {
	margin-bottom: 32px;
}
.eab-catalog-title {
	font-size:    clamp(1.6rem, 3vw, 2.2rem);
	color:        var(--ink);
	margin-bottom: 8px;
}
.eab-catalog-sub { font-size: .9rem; color: var(--muted); }

.eab-catalog-grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
	gap:     24px;
}
.eab-cat-card {
	background:    var(--card);
	border-radius: var(--radius);
	overflow:      hidden;
	box-shadow:    var(--shadow);
	transition:    transform .2s, box-shadow .2s;
	display:       flex;
	flex-direction: column;
}
.eab-cat-card:hover { transform: translateY(-4px); box-shadow: var(--shadow-md); }
.eab-cat-thumb {
	position:   relative;
	aspect-ratio: 16/9;
	background: linear-gradient(135deg, var(--teal-dk), var(--teal));
	overflow:   hidden;
}
.eab-cat-thumb img { width: 100%; height: 100%; object-fit: cover; }
.eab-cat-thumb .eab-badge { position: absolute; top: 12px; left: 12px; }
.eab-cat-body {
	padding: 20px;
	flex:    1;
	display: flex;
	flex-direction: column;
	gap:     10px;
}
.eab-cat-title { font-size: 1rem; line-height: 1.35; }
.eab-cat-excerpt { font-size: .82rem; color: var(--muted); line-height: 1.55; flex: 1; }
.eab-cat-meta { font-size: .78rem; color: var(--muted); }
.eab-cat-bar {
	height:        6px;
	background:    var(--cream-dk);
	border-radius: 3px;
	overflow:      hidden;
}
.eab-cat-bar-fill {
	height:     100%;
	background: linear-gradient(90deg, var(--teal) 0%, var(--teal-lt) 100%);
	border-radius: 3px;
	transition: width .6s ease;
}
.eab-cat-bar-label { font-size: .72rem; color: var(--teal); font-weight: 500; margin-top: -4px; }

/* ══════════════════════════════════════════════════════════════
   AUTH — Register + Forgot Password
══════════════════════════════════════════════════════════════ */

.eab-portal.eab-auth {
	min-height:     80vh;
	display:        flex;
	align-items:    center;
	padding:        32px 0;
}

/* Split layout: form left, deco right */
.eab-auth-split {
	display:               grid;
	grid-template-columns: 1fr 420px;
	width:                 100%;
	max-width:             1000px;
	margin:                0 auto;
	background:            var(--card);
	border-radius:         var(--radius);
	overflow:              hidden;
	box-shadow:            var(--shadow-md);
}

/* Single-column layout (reset success, reset form) */
.eab-auth-single {
	width:     100%;
	max-width: 500px;
	margin:    0 auto;
}

/* ── AUTH PANEL (left / form side) ──────────────────────────── */
.eab-auth-panel {
	padding:    48px 44px;
	display:    flex;
	flex-direction: column;
	gap:        0;
}
.eab-auth-centered {
	text-align:  center;
	align-items: center;
	background:  var(--card);
	border-radius: var(--radius);
	box-shadow:  var(--shadow-md);
	padding:     56px 44px;
}
.eab-auth-brand {
	display:     flex;
	align-items: center;
	gap:         10px;
	margin-bottom: 32px;
}
.eab-auth-logo-ring {
	width:         40px; height: 40px;
	border-radius: 50%;
	background:    var(--teal);
	display:       flex;
	align-items:   center;
	justify-content: center;
	color:         #fff;
	flex-shrink:   0;
}
.eab-auth-logo-img {
	max-height:    48px !important;
	width:         auto !important;
	display:       block !important;
	border-radius: 0 !important;
	object-fit:    contain !important;
}

.eab-auth-brand-name {
	font-size:   .78rem;
	font-family: var(--ff-body);
	font-weight: 600;
	color:       var(--muted);
	line-height: 1.3;
}
.eab-auth-hd { margin-bottom: 24px; }
.eab-auth-title {
	font-size:    1.75rem;
	font-weight:  700;
	color:        var(--ink);
	margin-bottom: 8px;
}
.eab-auth-sub {
	font-size:  .88rem;
	color:      var(--muted);
	line-height: 1.55;
}

.eab-auth-form { display: flex; flex-direction: column; gap: 16px; margin-bottom: 20px; }
.eab-auth-grid-2 { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }

/* Reuse .eab-field from profile — labels and inputs already styled */
.eab-portal.eab-auth .eab-field label {
	font-size:   .78rem;
	font-family: var(--ff-body);
	font-weight: 600;
	color:       var(--ink-lt);
	text-transform: uppercase;
	letter-spacing: .05em;
	display:     block;
	margin-bottom: 6px;
}
.eab-portal.eab-auth .eab-field input:not([type="checkbox"]) {
	font-family:    var(--ff-body);
	font-size:      .9rem;
	color:          var(--ink);
	background:     var(--cream) !important;
	border:         1.5px solid var(--border) !important;
	border-radius:  var(--radius-sm) !important;
	padding:        11px 40px 11px 14px !important;
	width:          100% !important;
	transition:     border-color .18s, box-shadow .18s;
	outline:        none !important;
	-webkit-appearance: none !important;
	appearance:     none !important;
	box-shadow:     none !important;
}

/* ── Lesson back button (fixed floating) ────────────────────── */
.eab-fab-back {
	position:        fixed !important;
	bottom:          28px !important;
	left:            28px !important;
	z-index:         99999 !important;
	display:         inline-flex !important;
	align-items:     center !important;
	gap:             8px !important;
	background:      #054848 !important;
	color:           #fff !important;
	text-decoration: none !important;
	font-size:       .82rem !important;
	font-weight:     600 !important;
	padding:         10px 18px !important;
	border-radius:   50px !important;
	box-shadow:      0 4px 16px rgba(5,72,72,.35) !important;
	transition:      background .18s, transform .18s !important;
	line-height:     1 !important;
	white-space:     nowrap !important;
}
.eab-fab-back:hover {
	background:  #076060 !important;
	transform:   translateY(-2px) !important;
}
.eab-fab-back svg {
	flex-shrink: 0 !important;
}

/* ── Lesson featured image ──────────────────────────────────── */
.eab-lesson-thumb-wrap {
	margin-bottom:  28px;
	border-radius:  16px !important;
	overflow:       hidden !important;
	line-height:    0;
}
.eab-lesson-thumb-img {
	width:            100% !important;
	height:           auto !important;
	display:          block !important;
	border-radius:    16px !important;
}

/* ── Remember-me toggle switch ─────────────────────────────── */
.eab-portal.eab-auth .eab-field label.eab-toggle-label {
	display:        inline-flex !important;
	align-items:    center !important;
	gap:            10px !important;
	cursor:         pointer !important;
	user-select:    none !important;
	margin-bottom:  0 !important;
	text-transform: none !important;
	letter-spacing: 0 !important;
	font-weight:    400 !important;
	line-height:    1 !important;
}
.eab-toggle-input {
	position: absolute;
	opacity:  0;
	width:    0;
	height:   0;
	pointer-events: none;
}
.eab-toggle-switch {
	display:       inline-block;
	width:         40px;
	height:        22px;
	background:    var(--border);
	border-radius: 11px;
	position:      relative;
	flex-shrink:   0;
	transition:    background .2s;
}
.eab-toggle-switch::after {
	content:       '';
	position:      absolute;
	top:           3px;
	left:          3px;
	width:         16px;
	height:        16px;
	background:    #fff;
	border-radius: 50%;
	transition:    left .2s;
	box-shadow:    0 1px 3px rgba(0,0,0,.2);
}
.eab-toggle-input:checked + .eab-toggle-switch {
	background: var(--teal);
}
.eab-toggle-input:checked + .eab-toggle-switch::after {
	left: 21px;
}
.eab-toggle-input:focus-visible + .eab-toggle-switch {
	box-shadow: 0 0 0 3px rgba(7,96,96,.2);
}
.eab-toggle-text {
	font-size:      .82rem;
	font-weight:    500;
	color:          var(--ink-lt);
	font-family:    var(--ff-body);
	text-transform: uppercase;
	letter-spacing: .05em;
	line-height:    1;
}
.eab-portal.eab-auth .eab-field input:not([type="checkbox"]):focus {
	border-color: var(--teal) !important;
	box-shadow:   0 0 0 3px rgba(7,96,96,.1) !important;
	background:   #fff !important;
}
.eab-portal.eab-auth .eab-field input:not([type="checkbox"])::placeholder { color: #b0a89f !important; }

.eab-req { color: var(--terra); font-style: normal; }
.eab-field-hint { font-size: .75rem; color: var(--muted); margin-top: 4px; }

/* Password show/hide wrapper */
.eab-pass-wrap {
	position: relative;
}
.eab-pass-wrap input { padding-right: 42px !important; }
.eab-pass-toggle {
	position:        absolute !important;
	right:           12px !important;
	top:             50% !important;
	transform:       translateY(-50%) !important;
	background:      none !important;
	border:          none !important;
	padding:         4px !important;
	cursor:          pointer !important;
	color:           var(--muted) !important;
	display:         flex !important;
	align-items:     center !important;
	justify-content: center !important;
	border-radius:   4px !important;
	transition:      color .15s !important;
	box-shadow:      none !important;
}
.eab-pass-toggle:hover { color: var(--teal) !important; }

/* Password strength meter */
.eab-strength-bar {
	height:        4px;
	background:    var(--cream-dk);
	border-radius: 2px;
	margin-top:    6px;
	overflow:      hidden;
}
.eab-strength-fill {
	height:     100%;
	border-radius: 2px;
	width:      0%;
	transition: width .3s ease, background .3s;
}
.eab-strength-fill.s1 { width: 25%; background: var(--terra);  }
.eab-strength-fill.s2 { width: 50%; background: var(--mustard); }
.eab-strength-fill.s3 { width: 75%; background: #2ecc71; }
.eab-strength-fill.s4 { width: 100%; background: #27ae60; }
.eab-strength-label {
	font-size:  .72rem;
	margin-top: 3px;
	display:    block;
	font-family: var(--ff-body);
}
.eab-match-label {
	font-size:  .72rem;
	margin-top: 4px;
	display:    block;
	font-family: var(--ff-body);
	font-weight: 500;
}

/* Terms line */
.eab-auth-terms {
	font-size:  .78rem;
	color:      var(--muted);
	text-align: center;
}
.eab-auth-terms a { color: var(--teal); text-decoration: underline; }

/* Switch (already have account? / back to login) */
.eab-auth-switch {
	text-align:  center;
	font-size:   .82rem;
	color:       var(--muted);
	margin-top:  16px !important;
}
.eab-auth-switch a { color: var(--teal); font-weight: 500; }
.eab-auth-switch a:hover { text-decoration: underline; }

/* Large button variant */
.eab-portal .eab-btn-lg {
	font-size: .95rem !important;
	padding:   14px 28px !important;
}

/* Success state */
.eab-auth-success-icon {
	font-size:     3rem;
	margin-bottom: 16px;
	line-height:   1;
}

/* ── AUTH DECO PANEL (right side) ────────────────────────────── */
.eab-auth-deco {
	background:   linear-gradient(160deg, var(--green-dk) 0%, #0a5050 55%, var(--teal) 100%);
	position:     relative;
	overflow:     hidden;
	display:      flex;
	align-items:  center;
	justify-content: center;
}
.eab-auth-deco-blob {
	position:  absolute;
	inset:     0;
	width:     100%; height: 100%;
	fill:      rgba(255,255,255,.05);
}
.eab-auth-deco-inner {
	position:   relative;
	z-index:    1;
	padding:    48px 36px;
	display:    flex;
	flex-direction: column;
	gap:        32px;
	width:      100%;
}
.eab-auth-deco-icon { font-size: 2.5rem; line-height: 1; }
.eab-auth-deco-quote blockquote {
	font-family: var(--ff-display);
	font-size:   1.2rem;
	font-weight: 600;
	color:       #fff;
	line-height: 1.45;
	margin:      10px 0 6px;
	font-style:  italic;
}
.eab-auth-deco-quote cite {
	font-size:  .78rem;
	color:      rgba(255,255,255,.6);
	font-style: normal;
	font-family: var(--ff-body);
}
.eab-auth-deco-steps {
	display:        flex;
	flex-direction: column;
	gap:            14px;
	border-top:     1px solid rgba(255,255,255,.12);
	padding-top:    28px;
}
.eab-deco-step {
	display:     flex;
	align-items: center;
	gap:         12px;
	color:       rgba(255,255,255,.85);
	font-size:   .85rem;
	font-family: var(--ff-body);
}
.eab-deco-step-num {
	width:          26px; height: 26px;
	border-radius:  50%;
	background:     rgba(255,255,255,.15);
	color:          #fff;
	font-size:      .7rem;
	font-family:    var(--ff-display);
	font-weight:    700;
	display:        flex;
	align-items:    center;
	justify-content: center;
	flex-shrink:    0;
	backdrop-filter: blur(6px);
}

/* ══════════════════════════════════════════════════════════════
   RESPONSIVE
══════════════════════════════════════════════════════════════ */
@media (max-width: 900px) {
	.eab-stats { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 700px) {
	.eab-hero {
		flex-direction: column;
		align-items:    flex-start;
		padding:        32px 24px;
	}
	.eab-hero-profile-link { flex-direction: row; }
	.eab-hero-avatar { width: 52px; height: 52px; }
	.eab-profile-hero {
		flex-direction: column;
		align-items:    flex-start;
		padding:        28px 24px;
	}
	.eab-stats { grid-template-columns: repeat(2, 1fr); gap: 12px; }
	.eab-form-grid { grid-template-columns: 1fr; }
	.eab-form-section { padding: 20px; }
	.eab-grid,
	.eab-catalog-grid { grid-template-columns: 1fr; }
}
@media (max-width: 480px) {
	.eab-stats { grid-template-columns: 1fr 1fr; gap: 10px; }
	.eab-tile-num { font-size: 1.6rem; }
	.eab-hero-hello { font-size: 1.4rem; }
	.eab-profile-avatar { width: 90px; height: 90px; }
}

/* ── [eab_register_success] ─────────────────────────────── */
.eab-rs-panel { justify-content: center; }

/* Green animated checkmark circle */
.eab-rs-check {
	width:          60px;
	height:         60px;
	border-radius:  50%;
	background:     var(--teal);
	display:        flex;
	align-items:    center;
	justify-content:center;
	margin:         0 0 24px;
	flex-shrink:    0;
	box-shadow:     0 4px 20px rgba(7,96,96,.35);
	animation:      eab-rs-pop .5s cubic-bezier(.34,1.56,.64,1) both;
}
@keyframes eab-rs-pop {
	from { transform: scale(0); opacity: 0; }
	to   { transform: scale(1); opacity: 1; }
}

/* Step cards */
.eab-rs-steps {
	display:        flex;
	flex-direction: column;
	gap:            10px;
	width:          100%;
	margin:         24px 0 20px;
}
.eab-rs-step {
	display:         flex;
	align-items:     center;
	gap:             14px;
	padding:         14px 16px;
	border-radius:   14px;
	border:          1px solid var(--cream-dk);
	text-decoration: none;
	color:           var(--ink);
	background:      #fff;
	transition:      border-color .18s, transform .18s, box-shadow .18s;
}
.eab-rs-step:hover {
	border-color: var(--teal);
	transform:    translateY(-2px);
	box-shadow:   0 4px 16px rgba(7,96,96,.12);
	text-decoration: none;
	color:        var(--ink);
}
.eab-rs-step--primary {
	background:   var(--teal);
	border-color: var(--teal);
	color:        #fff;
}
.eab-rs-step--primary:hover {
	background:   #054848;
	border-color: #054848;
	color:        #fff;
	box-shadow:   0 4px 20px rgba(7,96,96,.3);
}
.eab-rs-step--primary .eab-rs-step-text strong,
.eab-rs-step--primary .eab-rs-step-text em  { color: rgba(255,255,255,.9); }
.eab-rs-step--primary .eab-rs-arrow         { color: rgba(255,255,255,.7); }

.eab-rs-step-ico {
	width:           38px;
	height:          38px;
	border-radius:   10px;
	background:      rgba(255,255,255,.12);
	display:         flex;
	align-items:     center;
	justify-content: center;
	flex-shrink:     0;
}
.eab-rs-step:not(.eab-rs-step--primary) .eab-rs-step-ico {
	background: var(--cream);
	color:      var(--teal-dk);
}
.eab-rs-step-text {
	flex:    1;
	min-width: 0;
	display: flex;
	flex-direction: column;
	gap: 2px;
}
.eab-rs-step-text strong {
	font-size:   14px;
	font-weight: 600;
	color:       var(--ink);
	line-height: 1.2;
}
.eab-rs-step-text em {
	font-size:   12px;
	font-style:  normal;
	color:       var(--ink-lt);
	line-height: 1.2;
}
.eab-rs-arrow { flex-shrink: 0; color: var(--ink-lt); }

/* Auth responsive */
@media (max-width: 860px) {
	.eab-auth-split { grid-template-columns: 1fr; }
	.eab-auth-deco  { display: none; }
	.eab-auth-panel { padding: 36px 28px; }
}
@media (max-width: 560px) {
	.eab-auth-grid-2 { grid-template-columns: 1fr; }
	.eab-auth-panel  { padding: 28px 20px; }
	.eab-auth-title  { font-size: 1.4rem; }
}

/* ══════════════════════════════════════════════════════
   [eab_course_page] — Course sales page + enrolled view
   ══════════════════════════════════════════════════════ */

/* ── Hero ── */
.eab-cp-wrap .eab-cp-hero {
	position: relative !important;
	min-height: 480px !important;
	background: var(--green-dk) !important;
	overflow: hidden !important;
	display: flex !important;
	align-items: flex-end !important;
}
.eab-cp-wrap .eab-cp-hero::before {
	content: '' !important;
	position: absolute !important;
	inset: 0 !important;
	background-image: var(--hero-img) !important;
	background-size: cover !important;
	background-position: center !important;
	opacity: .35 !important;
	z-index: 0 !important;
}
.eab-cp-wrap .eab-cp-hero::after {
	content: '' !important;
	position: absolute !important;
	inset: 0 !important;
	background: linear-gradient(160deg, rgba(7,96,96,.7) 0%, rgba(30,42,30,.9) 100%) !important;
	z-index: 1 !important;
}
.eab-cp-wrap .eab-cp-hero-enrolled::after {
	background: linear-gradient(160deg, rgba(7,96,96,.85) 0%, rgba(5,72,72,.95) 100%) !important;
}
.eab-cp-wrap .eab-cp-hero-inner {
	position: relative !important;
	z-index: 2 !important;
	max-width: 960px !important;
	margin: 0 auto !important;
	padding: 60px 32px 48px !important;
	width: 100% !important;
}
.eab-cp-wrap .eab-cp-breadcrumb {
	display: flex !important;
	gap: 8px !important;
	align-items: center !important;
	font-size: 12px !important;
	color: rgba(255,255,255,.5) !important;
	margin-bottom: 16px !important;
}
.eab-cp-wrap .eab-cp-breadcrumb a { color: rgba(255,255,255,.6) !important; text-decoration: none !important; }
.eab-cp-wrap .eab-cp-breadcrumb a:hover { color: #fff !important; }
.eab-cp-wrap .eab-cp-tag,
.eab-cp-wrap .eab-cp-enrolled-badge {
	display: inline-flex !important;
	align-items: center !important;
	gap: 6px !important;
	font-size: 11px !important;
	font-weight: 600 !important;
	letter-spacing: .07em !important;
	text-transform: uppercase !important;
	padding: 4px 12px !important;
	border-radius: 20px !important;
	margin-bottom: 14px !important;
}
.eab-cp-wrap .eab-cp-tag { background: rgba(208,130,15,.25) !important; color: #f5c842 !important; border: 1px solid rgba(208,130,15,.4) !important; }
.eab-cp-wrap .eab-cp-enrolled-badge { background: rgba(7,96,96,.5) !important; color: #7fdfdf !important; border: 1px solid rgba(7,200,200,.3) !important; }
.eab-cp-wrap .eab-cp-title {
	font-family: 'Outfit', sans-serif !important;
	font-size: clamp(1.6rem, 3.5vw, 2.4rem) !important;
	font-weight: 800 !important;
	color: #fff !important;
	line-height: 1.2 !important;
	margin-bottom: 14px !important;
	max-width: 700px !important;
}
.eab-cp-wrap .eab-cp-tagline {
	font-size: 15px !important;
	color: rgba(255,255,255,.75) !important;
	line-height: 1.7 !important;
	max-width: 580px !important;
	margin-bottom: 20px !important;
}
.eab-cp-wrap .eab-cp-meta-pills {
	display: flex !important;
	flex-wrap: wrap !important;
	gap: 10px !important;
	margin-bottom: 28px !important;
}
.eab-cp-wrap .eab-cp-meta-pills span {
	font-size: 12.5px !important;
	color: rgba(255,255,255,.8) !important;
	background: rgba(255,255,255,.1) !important;
	padding: 5px 14px !important;
	border-radius: 20px !important;
	border: 1px solid rgba(255,255,255,.15) !important;
}
.eab-cp-wrap .eab-cp-hero-ctas {
	display: flex !important;
	gap: 12px !important;
	flex-wrap: wrap !important;
}
.eab-cp-wrap .eab-btn-ghost {
	background: rgba(255,255,255,.1) !important;
	color: #fff !important;
	border: 1.5px solid rgba(255,255,255,.3) !important;
	border-radius: 40px !important;
	padding: 12px 24px !important;
	font-size: 14px !important;
	font-weight: 600 !important;
	text-decoration: none !important;
	display: inline-flex !important;
	align-items: center !important;
	gap: 8px !important;
}
.eab-cp-wrap .eab-btn-ghost:hover { background: rgba(255,255,255,.18) !important; }
.eab-cp-wrap .eab-btn-mustard {
	background: var(--mustard) !important;
	color: #fff !important;
	border-color: var(--mustard) !important;
}

/* Progress row (enrolled hero) */
.eab-cp-wrap .eab-cp-progress-row {
	display: flex !important;
	align-items: center !important;
	gap: 16px !important;
	margin-bottom: 24px !important;
}
.eab-cp-wrap .eab-cp-progress-label {
	font-family: 'Outfit', sans-serif !important;
	font-size: 18px !important;
	font-weight: 700 !important;
	color: #fff !important;
}
.eab-cp-wrap .eab-cp-progress-sub {
	font-size: 13px !important;
	color: rgba(255,255,255,.6) !important;
}
.eab-cp-wrap .eab-cp-continue-btn {
	background: #fff !important;
	color: var(--teal) !important;
	border-color: #fff !important;
	font-weight: 700 !important;
}
.eab-cp-wrap .eab-cp-continue-btn:hover { background: var(--cream) !important; }

/* ── Content Area ── */
.eab-cp-wrap .eab-cp-content-area {
	max-width: 960px !important;
	margin: 0 auto !important;
	padding: 40px 32px !important;
	display: grid !important;
	grid-template-columns: 1fr 340px !important;
	gap: 40px !important;
	align-items: start !important;
}
.eab-cp-wrap .eab-cp-section-title {
	font-family: 'Outfit', sans-serif !important;
	font-size: 1.3rem !important;
	font-weight: 700 !important;
	color: var(--green-dk) !important;
	margin: 0 0 20px !important;
	padding-bottom: 10px !important;
	border-bottom: 2px solid var(--teal-bg) !important;
}

/* ── What you'll learn grid ── */
.eab-cp-wrap .eab-cp-wtl { margin-bottom: 40px !important; }
.eab-cp-wrap .eab-cp-wtl-grid {
	display: grid !important;
	grid-template-columns: 1fr 1fr !important;
	gap: 10px 16px !important;
}
.eab-cp-wrap .eab-cp-wtl-item {
	display: flex !important;
	gap: 10px !important;
	align-items: flex-start !important;
	font-size: 13.5px !important;
	color: var(--ink) !important;
	line-height: 1.5 !important;
}
.eab-cp-wrap .eab-cp-wtl-check {
	width: 20px !important;
	height: 20px !important;
	min-width: 20px !important;
	background: var(--teal-bg) !important;
	color: var(--teal) !important;
	border-radius: 50% !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	font-size: 11px !important;
	font-weight: 700 !important;
	margin-top: 1px !important;
}

/* ── Module label ── */
.eab-cp-wrap .eab-cp-module-label {
	font-size: 11px !important;
	font-weight: 700 !important;
	text-transform: uppercase !important;
	letter-spacing: .08em !important;
	color: var(--muted) !important;
	padding: 14px 0 6px !important;
}

/* ── Accordion ── */
.eab-cp-wrap .eab-cp-programa { margin-bottom: 40px !important; }
.eab-cp-wrap .eab-cp-accordion { display: flex !important; flex-direction: column !important; gap: 6px !important; }
.eab-cp-wrap .eab-cp-acc-item {
	border: 1.5px solid var(--border-clr) !important;
	border-radius: 10px !important;
	overflow: hidden !important;
	background: var(--white) !important;
}
.eab-cp-wrap .eab-cp-acc-item.is-complete { border-color: rgba(7,96,96,.25) !important; background: var(--teal-bg) !important; }
.eab-cp-wrap .eab-cp-acc-hdr {
	display: flex !important;
	align-items: center !important;
	gap: 12px !important;
	padding: 14px 16px !important;
	cursor: pointer !important;
	user-select: none !important;
}
.eab-cp-wrap .eab-cp-acc-hdr:hover { background: rgba(7,96,96,.04) !important; }
.eab-cp-wrap .eab-cp-status-dot {
	width: 28px !important;
	height: 28px !important;
	min-width: 28px !important;
	border-radius: 50% !important;
	background: var(--cream-dk) !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	font-size: 12px !important;
	font-weight: 700 !important;
	color: var(--muted) !important;
}
.eab-cp-wrap .eab-cp-status-dot.eab-cp-done { background: var(--teal) !important; color: #fff !important; }
.eab-cp-wrap .eab-cp-status-dot.eab-cp-active { background: var(--mustard) !important; color: #fff !important; }
.eab-cp-wrap .eab-cp-status-dot.eab-cp-locked { background: var(--cream-dk) !important; color: var(--muted) !important; }
.eab-cp-wrap .eab-cp-acc-title {
	flex: 1 !important;
	font-size: 13.5px !important;
	font-weight: 600 !important;
	color: var(--ink) !important;
	line-height: 1.4 !important;
}
.eab-cp-wrap .eab-cp-acc-chevron {
	font-size: 10px !important;
	color: var(--muted) !important;
	transition: transform .2s !important;
}
.eab-cp-wrap .eab-cp-acc-item.is-open .eab-cp-acc-chevron { transform: rotate(180deg) !important; }
.eab-cp-wrap .eab-cp-acc-body {
	display: none !important;
	padding: 8px 16px 16px !important;
	border-top: 1px solid var(--border-clr) !important;
}
.eab-cp-wrap .eab-cp-acc-item.is-open .eab-cp-acc-body { display: block !important; }

/* ── Topics ── */
.eab-cp-wrap .eab-cp-topic-row {
	display: flex !important;
	align-items: center !important;
	gap: 10px !important;
	padding: 9px 8px !important;
	border-radius: 6px !important;
	font-size: 13px !important;
	color: var(--ink) !important;
	text-decoration: none !important;
	transition: background .15s !important;
}
.eab-cp-wrap .eab-cp-topic-row:hover { background: rgba(7,96,96,.05) !important; }
.eab-cp-wrap .eab-cp-topic-row.done { color: var(--muted) !important; }
.eab-cp-wrap .eab-cp-topic-locked { color: var(--muted) !important; cursor: default !important; }
.eab-cp-wrap .eab-cp-topic-icon { font-size: 12px !important; color: var(--teal) !important; width: 20px !important; text-align: center !important; }
.eab-cp-wrap .eab-cp-topic-row.done .eab-cp-topic-icon { color: var(--teal) !important; }
.eab-cp-wrap .eab-cp-lesson-btn { margin-top: 12px !important; }

/* ── Instructor ── */
.eab-cp-wrap .eab-cp-instructor { margin-bottom: 32px !important; }
.eab-cp-wrap .eab-cp-instructor-card {
	display: flex !important;
	gap: 16px !important;
	align-items: flex-start !important;
	padding: 20px !important;
	background: var(--cream) !important;
	border-radius: 12px !important;
	border: 1px solid var(--border-clr) !important;
}
.eab-cp-wrap .eab-cp-inst-avatar img,
.eab-cp-wrap .eab-cp-inst-avatar { width: 64px !important; height: 64px !important; border-radius: 50% !important; object-fit: cover !important; flex-shrink: 0 !important; }
.eab-cp-wrap .eab-cp-inst-name { font-weight: 700 !important; font-size: 14px !important; color: var(--ink) !important; margin-bottom: 4px !important; }
.eab-cp-wrap .eab-cp-inst-bio { font-size: 12.5px !important; color: var(--muted) !important; line-height: 1.6 !important; }

/* ── Sidebar / Pricing Card ── */
.eab-cp-wrap .eab-cp-content-aside { position: sticky !important; top: 80px !important; }
.eab-cp-wrap .eab-cp-aside-card {
	background: var(--white) !important;
	border-radius: 16px !important;
	border: 1.5px solid var(--border-clr) !important;
	overflow: hidden !important;
	box-shadow: 0 4px 24px rgba(7,96,96,.1) !important;
}
.eab-cp-wrap .eab-cp-aside-img {
	height: 180px !important;
	background-size: cover !important;
	background-position: center !important;
}
.eab-cp-wrap .eab-cp-aside-body { padding: 20px !important; }
.eab-cp-wrap .eab-cp-aside-enrolled-label {
	font-size: 12px !important;
	font-weight: 600 !important;
	color: var(--teal) !important;
	margin-bottom: 12px !important;
}

/* ── Pricing plans ── */
.eab-cp-wrap .eab-cp-plan {
	padding: 16px !important;
	border: 1.5px solid var(--border-clr) !important;
	border-radius: 10px !important;
	margin-bottom: 12px !important;
}
.eab-cp-wrap .eab-cp-plan-featured {
	border-color: var(--teal) !important;
	background: var(--teal-bg) !important;
}
.eab-cp-wrap .eab-cp-plan-badge {
	font-size: 10px !important;
	font-weight: 700 !important;
	text-transform: uppercase !important;
	letter-spacing: .06em !important;
	color: var(--teal) !important;
	background: rgba(7,96,96,.15) !important;
	padding: 2px 8px !important;
	border-radius: 4px !important;
	display: inline-block !important;
	margin-bottom: 8px !important;
}
.eab-cp-wrap .eab-cp-plan-label {
	font-size: 12px !important;
	font-weight: 600 !important;
	color: var(--muted) !important;
	margin-bottom: 6px !important;
	text-transform: uppercase !important;
	letter-spacing: .05em !important;
}
.eab-cp-wrap .eab-cp-plan-price {
	display: flex !important;
	align-items: baseline !important;
	gap: 8px !important;
	margin-bottom: 4px !important;
}
.eab-cp-wrap .eab-cp-plan-before {
	font-size: 14px !important;
	color: var(--muted) !important;
	text-decoration: line-through !important;
}
.eab-cp-wrap .eab-cp-plan-now {
	font-family: 'Outfit', sans-serif !important;
	font-size: 1.8rem !important;
	font-weight: 800 !important;
	color: var(--green-dk) !important;
}
.eab-cp-wrap .eab-cp-plan-saving {
	font-size: 12px !important;
	color: var(--teal) !important;
	font-weight: 500 !important;
	margin-bottom: 12px !important;
}
.eab-cp-wrap .eab-cp-plan-featured .eab-cp-plan-now { color: var(--teal-dk) !important; }

/* ── Course includes ── */
.eab-cp-wrap .eab-cp-includes { margin-top: 16px !important; border-top: 1px solid var(--border-clr) !important; padding-top: 14px !important; }
.eab-cp-wrap .eab-cp-includes-title { font-size: 12px !important; font-weight: 700 !important; color: var(--ink) !important; margin-bottom: 8px !important; }
.eab-cp-wrap .eab-cp-inc-row {
	display: flex !important;
	align-items: center !important;
	gap: 10px !important;
	font-size: 12.5px !important;
	color: var(--ink-lt) !important;
	padding: 5px 0 !important;
	border-bottom: 1px solid rgba(7,96,96,.06) !important;
}
.eab-cp-wrap .eab-cp-inc-row:last-child { border-bottom: none !important; }
.eab-cp-wrap .eab-cp-login-hint {
	text-align: center !important;
	font-size: 12px !important;
	color: var(--muted) !important;
	margin-top: 12px !important;
}
.eab-cp-wrap .eab-cp-login-hint a { color: var(--teal) !important; }

/* ── Responsive ── */
@media (max-width: 840px) {
	.eab-cp-wrap .eab-cp-content-area {
		grid-template-columns: 1fr !important;
		padding: 28px 20px !important;
	}
	.eab-cp-wrap .eab-cp-content-aside { position: static !important; }
	.eab-cp-wrap .eab-cp-wtl-grid { grid-template-columns: 1fr !important; }
}
@media (max-width: 560px) {
	.eab-cp-wrap .eab-cp-hero-inner { padding: 40px 20px 32px !important; }
	.eab-cp-wrap .eab-cp-hero { min-height: 360px !important; }
}

/* ═══════════════════════════════════════════════════════════
   [eab_header_btn] — Header CTA button + logged-in user widget
   ═══════════════════════════════════════════════════════════ */

/* ── Logged-out CTA button ───────────────────────────────── */
.eab-hdr-btn {
	display:          inline-flex !important;
	align-items:      center !important;
	justify-content:  center !important;
	background:       #2F3F1E !important;
	background-color: #2F3F1E !important;
	color:            #ffffff !important;
	font-family:      'Poppins', sans-serif !important;
	font-weight:      500 !important;
	font-size:        14px !important;
	line-height:      1 !important;
	border-radius:    50px !important;
	padding:          15px 30px !important;
	text-decoration:  none !important;
	white-space:      nowrap !important;
	border:           none !important;
	box-shadow:       none !important;
	cursor:           pointer !important;
	transition:       transform .22s ease, background-color .22s ease !important;
	-webkit-font-smoothing: antialiased;
}
.eab-hdr-btn:hover,
.eab-hdr-btn:focus-visible {
	transform:        translateY(-2px) !important;
	background:       #3d5428 !important;
	background-color: #3d5428 !important;
	color:            #ffffff !important;
	text-decoration:  none !important;
	outline:          none !important;
}

/* ── Logged-in wrapper ───────────────────────────────────── */
.eab-hdr-user {
	position:       relative !important;
	display:        inline-block !important;
	vertical-align: middle !important;
}

/* Avatar trigger button */
.eab-hdr-avatar-btn {
	position:                  relative !important;
	background:                none !important;
	background-color:          transparent !important;
	border:                    none !important;
	box-shadow:                none !important;
	padding:                   0 !important;
	margin:                    0 !important;
	cursor:                    pointer !important;
	width:                     52px !important;
	height:                    52px !important;
	display:                   flex !important;
	align-items:               center !important;
	justify-content:           center !important;
	border-radius:             50% !important;
	outline:                   none !important;
	transition:                transform .2s ease !important;
	/* Mobile tap: removes 300ms delay and double-tap zoom on iOS */
	touch-action:              manipulation !important;
	-webkit-tap-highlight-color: transparent !important;
	-webkit-appearance:        none !important;
	/* Ensure the button is always on top and tappable */
	pointer-events:            auto !important;
	z-index:                   2 !important;
}
.eab-hdr-avatar-btn:hover,
.eab-hdr-avatar-btn:focus-visible {
	transform:  translateY(-2px) !important;
	background: transparent !important;
}
.eab-hdr-avatar-btn:focus-visible {
	box-shadow:    0 0 0 3px rgba(7,96,96,.45) !important;
	border-radius: 50% !important;
}

/* SVG progress ring */
.eab-hdr-ring {
	position:       absolute !important;
	top:            0 !important;
	left:           0 !important;
	pointer-events: none !important;
	display:        block !important;
}
.eab-hdr-ring-arc {
	transition: stroke-dashoffset .7s cubic-bezier(.4,0,.2,1);
}

/* Avatar image — force circular with border */
.eab-hdr-avatar-img,
.eab-hdr-user img.eab-hdr-avatar-img {
	width:         40px !important;
	height:        40px !important;
	min-width:     40px !important;
	min-height:    40px !important;
	border-radius: 50% !important;
	object-fit:    cover !important;
	border:         2.5px solid rgba(255,255,255,.9) !important;
	outline:        none !important;
	box-shadow:     none !important;
	display:        block !important;
	position:       relative !important;
	z-index:        1 !important;
	flex-shrink:    0 !important;
	padding:        0 !important;
	margin:         0 !important;
	pointer-events: none !important; /* let touches pass through to the <button> */
}

/* ── Dropdown panel ──────────────────────────────────────── */
.eab-hdr-dropdown {
	position:         absolute !important;
	top:              calc(100% + 12px) !important;
	right:            0 !important;
	width:            272px !important;
	background:       #1E2A1E !important;
	background-color: #1E2A1E !important;
	border-radius:    18px !important;
	padding:          16px !important;
	box-shadow:       0 12px 40px rgba(0,0,0,.35), 0 2px 8px rgba(0,0,0,.2) !important;
	border:           1px solid rgba(255,255,255,.08) !important;
	opacity:          0 !important;
	visibility:       hidden !important;
	transform:        translateY(-10px) scale(.97) !important;
	transform-origin: top right;
	transition:       opacity .2s ease, transform .2s ease, visibility .2s !important;
	z-index:          99999 !important;
}
.eab-hdr-user.is-open .eab-hdr-dropdown {
	opacity:    1 !important;
	visibility: visible !important;
	transform:  translateY(0) scale(1) !important;
}

/* Dropdown head: avatar + name */
.eab-hdr-dd-head {
	display:       flex !important;
	align-items:   center !important;
	gap:           12px !important;
	margin-bottom: 12px !important;
}
.eab-hdr-dd-av,
.eab-hdr-dropdown img.eab-hdr-dd-av {
	width:         46px !important;
	height:        46px !important;
	min-width:     46px !important;
	min-height:    46px !important;
	border-radius: 50% !important;
	object-fit:    cover !important;
	border:        2px solid #076060 !important;
	outline:       none !important;
	box-shadow:    none !important;
	flex-shrink:   0 !important;
	padding:       0 !important;
	margin:        0 !important;
	display:       block !important;
}
.eab-hdr-dd-meta {
	min-width: 0 !important;
	flex:      1 !important;
}
.eab-hdr-dd-name {
	font-family:   'Poppins', sans-serif !important;
	font-weight:   600 !important;
	font-size:     14px !important;
	color:         #ffffff !important;
	white-space:   nowrap !important;
	overflow:      hidden !important;
	text-overflow: ellipsis !important;
	margin:        0 !important;
	padding:       0 !important;
	-webkit-font-smoothing: antialiased;
}
.eab-hdr-dd-prog-lbl {
	font-family: 'Poppins', sans-serif !important;
	font-size:   11px !important;
	color:       rgba(255,255,255,.55) !important;
	margin-top:  3px !important;
	white-space: nowrap !important;
}
.eab-hdr-dd-pct {
	color:       #D0820F !important;
	font-weight: 600 !important;
}

/* Progress bar */
.eab-hdr-dd-bar-track {
	position:      relative !important;
	height:        5px !important;
	background:    rgba(255,255,255,.12) !important;
	border-radius: 6px !important;
	overflow:      hidden !important;
	margin-bottom: 14px !important;
	display:       block !important;
}
.eab-hdr-dd-bar {
	position:      absolute !important;
	left:          0 !important;
	top:           0 !important;
	height:        100% !important;
	background:    linear-gradient(90deg, #076060 0%, #D0820F 100%) !important;
	border-radius: 6px !important;
	display:       block !important;
	transition:    width .7s cubic-bezier(.4,0,.2,1) !important;
}
.eab-hdr-dd-bar-pct {
	display: none !important;
}

/* Nav */
.eab-hdr-dd-nav {
	display:        flex !important;
	flex-direction: column !important;
	gap:            2px !important;
}
.eab-hdr-dd-item {
	display:          flex !important;
	align-items:      center !important;
	gap:              10px !important;
	padding:          9px 12px !important;
	border-radius:    10px !important;
	color:            rgba(255,255,255,.85) !important;
	font-family:      'Poppins', sans-serif !important;
	font-size:        13px !important;
	font-weight:      500 !important;
	text-decoration:  none !important;
	background:       transparent !important;
	background-color: transparent !important;
	border:           none !important;
	transition:       background .15s ease, color .15s ease !important;
	-webkit-font-smoothing: antialiased;
}
.eab-hdr-dd-item svg {
	flex-shrink: 0 !important;
	opacity:     .75 !important;
	transition:  opacity .15s !important;
	display:     block !important;
}
.eab-hdr-dd-item:hover,
.eab-hdr-dd-item:focus-visible {
	background:       rgba(255,255,255,.08) !important;
	background-color: rgba(255,255,255,.08) !important;
	color:            #ffffff !important;
	text-decoration:  none !important;
	outline:          none !important;
}
.eab-hdr-dd-item:hover svg,
.eab-hdr-dd-item:focus-visible svg {
	opacity: 1 !important;
}

/* Course % badge */
.eab-hdr-dd-badge {
	margin-left:   auto !important;
	background:    rgba(208,130,15,.2) !important;
	color:         #D0820F !important;
	font-size:     10px !important;
	font-weight:   700 !important;
	padding:       2px 7px !important;
	border-radius: 20px !important;
	line-height:   1.5 !important;
	flex-shrink:   0 !important;
}

/* Separator */
.eab-hdr-dd-sep {
	height:     1px !important;
	background: rgba(255,255,255,.1) !important;
	margin:     6px 0 !important;
	display:    block !important;
}

/* Logout row */
.eab-hdr-dd-logout {
	color: rgba(209,83,26,.8) !important;
}
.eab-hdr-dd-logout svg {
	color:   rgba(209,83,26,.8) !important;
	opacity: .85 !important;
}
.eab-hdr-dd-logout:hover,
.eab-hdr-dd-logout:focus-visible {
	background:       rgba(209,83,26,.12) !important;
	background-color: rgba(209,83,26,.12) !important;
	color:            #D1531A !important;
}
.eab-hdr-dd-logout:hover svg,
.eab-hdr-dd-logout:focus-visible svg {
	opacity: 1 !important;
	color:   #D1531A !important;
}

/* ── Responsive ──────────────────────────────────────────── */
@media (max-width: 768px) {
	.eab-hdr-btn {
		padding:   12px 22px !important;
		font-size: 13px !important;
	}
	.eab-hdr-dropdown {
		width:         240px !important;
		right:         -4px !important;
		border-radius: 14px !important;
	}
}
@media (max-width: 480px) {
	.eab-hdr-btn {
		padding:   10px 18px !important;
		font-size: 12px !important;
	}
	/* Use fixed position on mobile so the dropdown escapes any overflow:hidden parent in the theme header */
	.eab-hdr-dropdown {
		position:         fixed !important;
		top:              70px !important;
		left:             50% !important;
		right:            auto !important;
		transform:        translateX(-50%) translateY(-10px) scale(.97) !important;
		transform-origin: top center;
		width:            calc(100vw - 32px) !important;
		max-width:        300px !important;
	}
	.eab-hdr-user.is-open .eab-hdr-dropdown {
		transform: translateX(-50%) translateY(0) scale(1) !important;
	}
}

/* ── LEARNDASH FOCUS MODE — EAB BRANDING ──────────────────────── */

/* Global font — exclude icon elements and their pseudo-elements so icon glyphs keep working */
.learndash-wrapper .ld-focus *:not(i):not([class*="ld-icon"]):not([class*="sfwd-icon"]):not(.ld-status-icon) {
	font-family: 'Poppins', Arial, sans-serif !important;
}

/* ── Top header: progress text ── */
.learndash-wrapper .ld-focus .ld-focus-header .ld-progress-heading,
.learndash-wrapper .ld-focus .ld-focus-header .ld-progress-steps {
	color: #107979 !important;
	font-weight: 600 !important;
	font-size: 12px !important;
	text-transform: uppercase !important;
	letter-spacing: .04em !important;
}
/* Progress bar fill */
.learndash-wrapper .ld-focus .ld-focus-header .ld-progress-bar-percentage {
	background-color: #107979 !important;
}

/* ── Top header: "Anterior Tema" nav link ── */
.learndash-wrapper .ld-focus .ld-focus-header .ld-focus-header-nav .ld-focus-header-nav-link {
	color: #107979 !important;
	font-weight: 500 !important;
	font-size: 13px !important;
}
.learndash-wrapper .ld-focus .ld-focus-header .ld-focus-header-nav .ld-focus-header-nav-link:hover {
	color: #2F3F1E !important;
}

/* ── Top header: "Marcar como completado" button ── */
.learndash-wrapper:not(.ld-registration__outer-wrapper):not(.learndash-wrapper--modern) #learndash_mark_complete_button,
.learndash-wrapper:not(.ld-registration__outer-wrapper):not(.learndash-wrapper--modern) .learndash_mark_complete_button {
	background-color: #107979 !important;
	color: #fff !important;
	font-family: 'Poppins', Arial, sans-serif !important;
	font-weight: 600 !important;
	font-size: 13px !important;
	border: none !important;
	border-radius: 99px !important;
	padding: 8px 20px !important;
	white-space: nowrap !important;
	cursor: pointer !important;
}
.learndash-wrapper:not(.ld-registration__outer-wrapper):not(.learndash-wrapper--modern) #learndash_mark_complete_button:hover,
.learndash-wrapper:not(.ld-registration__outer-wrapper):not(.learndash-wrapper--modern) .learndash_mark_complete_button:hover {
	background-color: #2F3F1E !important;
}

/* ── Sidebar heading (course title) ── */
.learndash-wrapper .ld-focus .ld-focus-sidebar .ld-course-navigation-heading {
	background-color: #2F3F1E !important;
}
.learndash-wrapper .ld-focus .ld-focus-sidebar .ld-course-navigation-heading .ld-focus-mode-course-heading-wrapper a {
	color: #fff !important;
	font-family: 'Poppins', Arial, sans-serif !important;
	font-weight: 600 !important;
}

/* Sidebar lesson/topic links */
.learndash-wrapper .ld-focus .ld-focus-sidebar .ld-course-navigation .ld-lesson-item-section-heading a,
.learndash-wrapper .ld-focus .ld-focus-sidebar .ld-course-navigation .ld-table-list-item a {
	font-family: 'Poppins', Arial, sans-serif !important;
	font-size: 13px !important;
}

/* "X Temas" count pill */
.learndash-wrapper .ld-focus .ld-focus-sidebar .ld-course-navigation .ld-lesson-item-preview-count {
	background-color: #107979 !important;
	color: #fff !important;
	font-weight: 600 !important;
	font-size: 11px !important;
	border-radius: 99px !important;
}

/* Current/active item in sidebar */
.learndash-wrapper .ld-focus .ld-focus-sidebar .ld-course-navigation .ld-is-current-item a,
.learndash-wrapper .ld-focus .ld-focus-sidebar .ld-course-navigation .ld-table-list-item.ld-is-current-item a {
	color: #107979 !important;
	font-weight: 600 !important;
}

/* Expanded lesson topic list */
.learndash-wrapper .ld-focus .ld-focus-sidebar .ld-course-navigation .ld-lesson-item-expanded .ld-table-list-items {
	border-left: 2px solid #a8c4a0 !important;
}

/* Active/current lesson title — override LearnDash orange */
.learndash-wrapper .ld-focus .ld-focus-sidebar .ld-lesson-item.ld-is-current-lesson .ld-lesson-title,
.learndash-wrapper .ld-focus .ld-focus-sidebar .ld-lesson-item.ld-is-current-lesson > a {
	color: #107979 !important;
}

/* Completed check icons in sidebar */
.learndash-wrapper .ld-focus .ld-focus-sidebar .ld-status-icon.ld-status-complete,
.learndash-wrapper .ld-focus .ld-focus-sidebar .ld-status-icon.ld-status-complete i {
	color: #a8c4a0 !important;
	fill:  #a8c4a0 !important;
}

/* ── Breadcrumbs ── */
.learndash-wrapper .ld-focus .ld-focus-main .ld-breadcrumbs a {
	color: #107979 !important;
	font-size: 12px !important;
}

/* Topic h1 is removed via output buffer in PHP (topic_title_buffer_start/end) */

/* ── Topic video label & title (pasted in editor) ── */
.eab-topic-video-num {
	font-family: 'Poppins', Arial, sans-serif !important;
	font-size: 11px !important;
	font-weight: 700 !important;
	letter-spacing: .12em !important;
	text-transform: uppercase !important;
	color: #D1531A !important;
	margin: 0 0 6px !important;
}
.eab-topic-video-title {
	font-family: 'Poppins', Arial, sans-serif !important;
	font-size: 26px !important;
	font-weight: 700 !important;
	color: #1a1a1a !important;
	line-height: 1.25 !important;
	margin: 0 0 24px !important;
}

/* ── Topic title injected below breadcrumb ── */
.eab-topic-title {
	font-family: 'Poppins', Arial, sans-serif !important;
	font-size: 22px !important;
	font-weight: 600 !important;
	font-variant: small-caps !important;
	color: #107979 !important;
	line-height: 1.3 !important;
	margin: 12px 0 20px !important;
}

/* ── Week/lesson page: same style on the lesson title, slightly smaller ── */
.learndash_post_sfwd-lessons .learndash-wrapper .ld-focus .ld-focus-main .ld-article-title h1,
.learndash_post_sfwd-lessons .learndash-wrapper .ld-focus .ld-focus-main .ld-article-title {
	font-family: 'Poppins', Arial, sans-serif !important;
	font-size: 18px !important;
	font-weight: 600 !important;
	font-variant: small-caps !important;
	color: #107979 !important;
	line-height: 1.3 !important;
}

/* ── Status badges ── */
.learndash-wrapper .ld-focus .ld-status-in-progress {
	background-color: #107979 !important;
	color: #fff !important;
	font-weight: 600 !important;
	font-size: 11px !important;
	letter-spacing: .05em !important;
	border-radius: 99px !important;
}
.learndash-wrapper .ld-focus .ld-status-complete {
	background-color: #a8c4a0 !important;
	color: #2F3F1E !important;
	font-weight: 600 !important;
	font-size: 11px !important;
	letter-spacing: .05em !important;
	border-radius: 99px !important;
}

/* ── "Contenido de la Lección" table header ── */
.learndash-wrapper .ld-focus .ld-table-list-header {
	background-color: #2F3F1E !important;
}
.learndash-wrapper .ld-focus .ld-table-list-header .ld-table-list-title,
.learndash-wrapper .ld-focus .ld-table-list-header .ld-table-list-item-preview {
	color: #fff !important;
}

/* Topic rows */
.learndash-wrapper .ld-focus .ld-table-list-item a {
	color: #2F3F1E !important;
	font-size: 14px !important;
}
.learndash-wrapper .ld-focus .ld-table-list-item a:hover {
	color: #107979 !important;
}

/* Completed checkmark icons (content area) */
.learndash-wrapper .ld-focus .ld-status-icon.ld-status-complete {
	color: #a8c4a0 !important;
	fill:  #a8c4a0 !important;
}

/* ── Bottom nav: "Anterior Tema" / next topic buttons ── */
.learndash_post_sfwd-topic .learndash-wrapper .ld-content-action:first-child .ld-button:not(.ld-button-reverse):not(.learndash-link-previous-incomplete):not(.ld-button-transparent):not([disabled]),
.learndash_post_sfwd-topic .learndash-wrapper .ld-content-action:last-child .ld-button:not(.ld-button-reverse):not(.learndash-link-previous-incomplete):not(.ld-button-transparent):not([disabled]),
.learndash_post_sfwd-lesson .learndash-wrapper .ld-content-action .ld-button:not(.ld-button-reverse):not(.learndash-link-previous-incomplete):not(.ld-button-transparent):not([disabled]) {
	background-color: #107979 !important;
	color: #fff !important;
	font-family: 'Poppins', Arial, sans-serif !important;
	font-weight: 600 !important;
	font-size: 13px !important;
	border-radius: 99px !important;
	border: none !important;
	padding: 10px 22px !important;
	white-space: nowrap !important;
	text-decoration: none !important;
	transition: background-color .2s ease !important;
}
.learndash_post_sfwd-topic .learndash-wrapper .ld-content-action .ld-button:not([disabled]):hover,
.learndash_post_sfwd-lesson .learndash-wrapper .ld-content-action .ld-button:not([disabled]):hover {
	background-color: #2F3F1E !important;
}

/* ── "Marcar como completado" — hide checkmark icon on bottom button only ── */
.learndash-wrapper:not(.ld-registration__outer-wrapper):not(.learndash-wrapper--modern) .ld-content-action #sfwd-mark-complete::after,
.learndash-wrapper:not(.ld-registration__outer-wrapper):not(.learndash-wrapper--modern) .ld-content-action .sfwd-mark-complete::after {
	display: none !important;
}

/* "Volver a la Lección / al Curso" center link: hidden (the sidebar already navigates) */
.learndash-wrapper .ld-focus .ld-content-action.eab-no-back,
.learndash-wrapper .ld-focus .ld-content-action:has(> .ld-course-step-back),
.learndash-wrapper .ld-focus .ld-content-action:has(> a.ld-button-reverse) { display: none !important; }

/* "Volver a la Lección / al Curso" center link (styles kept in case it is restored) */
.learndash-wrapper .ld-focus .ld-content-action .ld-button.ld-button-reverse,
.learndash-wrapper .ld-focus .ld-content-action a.ld-button-transparent {
	color: #107979 !important;
	background: transparent !important;
	font-weight: 500 !important;
	font-size: 13px !important;
	text-decoration: underline !important;
	border: none !important;
	box-shadow: none !important;
}
.learndash-wrapper .ld-focus .ld-content-action .ld-button.ld-button-reverse:hover,
.learndash-wrapper .ld-focus .ld-content-action a.ld-button-transparent:hover {
	color: #2F3F1E !important;
}


/* ── Last-topic lesson-complete celebration overlay ── */
#ld-focus-content {
	position: relative;
}
#eab-lc-overlay {
	position:        absolute;
	inset:           0;
	z-index:         9999;
	background:      #fff;
	display:         flex;
	align-items:     center;
	justify-content: center;
}
.eab-lc-box {
	text-align: center;
	max-width:  480px;
	padding:    40px 24px;
}
.eab-lc-icon {
	width:           80px;
	height:          80px;
	background:      #107979;
	border:          8px solid rgba(16,121,121,.2);
	border-radius:   50%;
	display:         inline-flex;
	align-items:     center;
	justify-content: center;
	font-size:       38px;
	color:           #fff;
	margin-bottom:   28px;
}
.eab-lc-title {
	font-family: 'Poppins', Arial, sans-serif;
	font-size:   28px;
	font-weight: 700;
	color:       #1a1a1a;
	margin:      0 0 10px;
}
.eab-lc-sub {
	font-family: 'Poppins', Arial, sans-serif;
	font-size:   15px;
	color:       #555;
	margin:      0 0 32px;
}
.eab-lc-btn {
	display:         inline-flex;
	align-items:     center;
	gap:             8px;
	background:      #107979;
	color:           #fff !important;
	border-radius:   30px;
	padding:         13px 28px;
	font-family:     'Poppins', Arial, sans-serif;
	font-size:       15px;
	font-weight:     600;
	text-decoration: none !important;
}
.eab-lc-btn:hover {
	background: #0a5e5e;
}

/* ── Video expand icon ── */
.learndash-wrapper .ld-focus .ld-expand-button {
	background-color: #107979 !important;
	color: #fff !important;
	border-radius: 6px !important;
}

/* ── Bloque "¡Buen trabajo!" tras pulsar "Marcar como completado" ── */
.learndash-wrapper .ld-alert.eab-completed-bottom .ld-alert-icon.ld-icon {
	background-color: #107979 !important;
	color: #fff !important;
	font-size: 12px;
	padding: .6em;
}
@media (min-width: 769px) {
	.learndash-wrapper .ld-alert.eab-completed-bottom { padding-left: 62px; }
	.learndash-wrapper .ld-alert.eab-completed-bottom .ld-alert-icon.ld-icon { left: 18px; }
}
@media (max-width: 768px) {
	.learndash-wrapper .ld-alert.eab-completed-bottom { padding-top: 60px; }
	.learndash-wrapper .ld-alert.eab-completed-bottom .ld-alert-icon.ld-icon { top: 14px; }
}

/* ── Shortcode [eab_course_syllabus]: temario del curso ── */
.eab-syl { display: flex; flex-direction: column; gap: 10px; font-family: 'Poppins', Arial, sans-serif; margin: 6px 0; }
.eab-syl-l { background: #fff; border: 1px solid #dfe8e8; border-radius: 12px; overflow: hidden; box-shadow: 0 2px 8px rgba(7,96,96,.05); transition: box-shadow .2s, border-color .2s; }
.eab-syl-l[open] { border-color: #b9d6d6; box-shadow: 0 6px 18px rgba(7,96,96,.1); }
.eab-syl-l > summary { list-style: none; cursor: pointer; display: flex; align-items: center; gap: 14px; padding: 14px 18px; }
.eab-syl-l > summary::-webkit-details-marker { display: none; }
.eab-syl-n { flex: none; width: 34px; height: 34px; border-radius: 50%; background: #076060; color: #fff; font-size: .85rem; font-weight: 700; display: flex; align-items: center; justify-content: center; }
.eab-syl-n svg { width: 15px; height: 15px; }
.eab-syl-l.is-done .eab-syl-n { background: #107979; }
.eab-syl-t { flex: 1; min-width: 0; font-size: .98rem; font-weight: 600; color: #2f3f1e; line-height: 1.35; }
.eab-syl-c { flex: none; font-size: .74rem; font-weight: 600; color: #076060; background: #e8f2f2; border-radius: 30px; padding: 4px 11px; white-space: nowrap; }
.eab-syl-x { flex: none; width: 9px; height: 9px; border-right: 2px solid #076060; border-bottom: 2px solid #076060; transform: rotate(45deg); margin: -3px 4px 0 2px; transition: transform .25s; }
.eab-syl-l[open] .eab-syl-x { transform: rotate(-135deg); margin-top: 3px; }
.eab-syl-b { padding: 2px 18px 16px 66px; }
.eab-syl-b a.eab-syl-open { display: inline-block; font-size: .8rem; font-weight: 600; color: #d1531a !important; text-decoration: none !important; margin: 0 0 8px; }
.eab-syl-ul { list-style: none !important; margin: 0 !important; padding: 0 !important; }
.eab-syl-ul li { margin: 0 !important; padding: 0 !important; border-top: 1px solid #eef2f2; }
.eab-syl-ul li:first-child { border-top: 0; }
.eab-syl-ul li a { display: flex; align-items: center; gap: 12px; padding: 9px 0; font-size: .9rem; line-height: 1.45; color: #1a1a1a !important; text-decoration: none !important; }
.eab-syl-ul li a:hover { color: #076060 !important; }
.eab-syl-d { flex: none; width: 18px; height: 18px; border-radius: 50%; border: 2px solid #c5d3d3; display: flex; align-items: center; justify-content: center; color: #fff; }
.eab-syl-d svg { width: 10px; height: 10px; }
.eab-syl-ul li.is-done .eab-syl-d { background: #107979; border-color: #107979; }
@media (max-width: 600px) { .eab-syl-b { padding-left: 18px; } .eab-syl-c { display: none; } }

/* ── Botón "¡Completado! Siguiente Tema": siempre en una sola línea ── */
.learndash_post_sfwd-topic .learndash-wrapper .ld-content-actions .ld-content-action:last-child { flex: 0 0 auto; }
.learndash_post_sfwd-topic .learndash-wrapper .ld-content-actions .ld-content-action:last-child .ld-button,
.learndash_post_sfwd-topic .learndash-wrapper .ld-content-actions .ld-content-action:last-child .ld-button .ld-text { white-space: nowrap !important; }
.learndash_post_sfwd-topic .learndash-wrapper .ld-content-actions .ld-content-action:last-child .ld-button { max-width: none !important; width: auto !important; }
@media (max-width: 768px) {
	.learndash_post_sfwd-topic .learndash-wrapper .ld-content-actions .ld-content-action:not(:last-child) { flex: 1 1 0; min-width: 0; }
}
@media (max-width: 640px) {
	.learndash_post_sfwd-topic .learndash-wrapper .ld-content-actions .ld-content-action:last-child { flex: 1 1 auto; width: 100%; }
}

/* ── Focus Mode: logo de la cabecera más grande (202 × 67) ──
   La cabecera, la barra lateral y el contenido se desplazan juntos para que el logo quepa.
   Por debajo de 769px LearnDash oculta el logo, así que no se toca nada ahí. */
@media (min-width: 769px) {
	.learndash-wrapper .ld-focus .ld-focus-header { height: 83px !important; }
	.learndash-wrapper .ld-focus .ld-focus-sidebar { padding-top: 83px !important; }
	.learndash-wrapper .ld-focus .ld-focus-main .ld-focus-content { padding-top: calc(5em + 32px); }
	.learndash-wrapper .ld-focus .ld-focus-header .ld-brand-logo { display: flex; align-items: center; padding: 8px 1em; }
	.learndash-wrapper .ld-focus .ld-focus-header .ld-brand-logo a { display: flex; align-items: center; }
	.learndash-wrapper .ld-focus .ld-focus-header .ld-brand-logo img {
		width: 202px !important;
		height: 67px !important;
		max-width: none;
		object-fit: contain;
		object-position: left center;
	}
}
@media (min-width: 769px) and (max-width: 1024px) {
	.learndash-wrapper .ld-focus .ld-focus-header .ld-brand-logo { flex: 0 0 234px; }
}

