
/* =====================================================================
 * Header — ONE rule, replacing 9 competing ones.
 *
 * WHY FIXED, NOT STICKY
 * `position: sticky` was declared three times and never worked, because
 * design-system.css sets `overflow-x: clip` and this file sets
 * `overflow-x: hidden` on <body>. Any overflow value other than visible
 * on an ancestor turns it into the scroll container, so a sticky child
 * sticks to THAT box rather than the viewport - the header scrolled away.
 * We are not touching overflow in this round (per instruction), so fixed
 * is the correct answer: it positions against the viewport regardless.
 *
 * WHY NO !important AND NO JS
 * RC68-71 escalated: fixed !important, then a .tadreep-header-persistent
 * class with z-index 2147483000 added by JavaScript. That was a fight
 * between rules, not a fix. With the nine competing rules deleted there
 * is nothing left to out-rank, so plain declarations suffice and the
 * header no longer depends on JS to stay put.
 *
 * BODY OFFSET
 * A fixed header leaves the normal flow, so <body> needs top padding
 * equal to the header height or the first content sits underneath it.
 * The values match the min-height rules kept further up this file
 * (72px desktop, 62px below 960px, 58px below 768px).
 * ================================================================== */

.tadreep-header {
	position: fixed;
	inset-block-start: 0;
	inset-inline: 0;
	z-index: 100;
	background: var(--color-white, #fff);
	border-block-end: 1px solid var(--color-border, #e8edf5);
}

body.tadreep-site {
	padding-block-start: 72px;
}

/* WordPress admin bar sits above the header for logged-in users. */
body.admin-bar .tadreep-header {
	inset-block-start: 32px;
}

@media (max-width: 959px) {
	body.tadreep-site {
		padding-block-start: 62px;
	}
}

@media (max-width: 782px) {
	/* Below 782px WordPress renders the admin bar 46px tall. */
	body.admin-bar .tadreep-header {
		inset-block-start: 46px;
	}
}

@media (max-width: 767px) {
	body.tadreep-site {
		padding-block-start: 58px;
	}
}



.tadreep-header-inner {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: var(--space-4);
	padding-block: var(--space-3);
}

.tadreep-header-nav {
	display: none;
	align-items: center;
	gap: var(--space-6);
}
.tadreep-header-nav a {
	font-weight: 600;
	color: var(--color-text-primary);
	font-size: var(--text-sm);
}
.tadreep-header-nav a:hover,
.tadreep-header-nav a.is-active { color: var(--color-turquoise-600); }

.tadreep-header-account {
	display: flex;
	align-items: center;
	gap: var(--space-2);
	font-size: var(--text-sm);
	font-weight: 600;
}

.tadreep-mobile-toggle {
	display: inline-flex;
	background: none;
	border: none;
	padding: var(--space-2);
	cursor: pointer;
	color: var(--color-navy-800);
}

.tadreep-mobile-nav {
	display: none;
	flex-direction: column;
	gap: var(--space-1);
	padding-block: var(--space-3);
	border-block-start: 1px solid var(--color-border);
}
.tadreep-mobile-nav.is-open { display: flex; }
.tadreep-mobile-nav a {
	padding: var(--space-3);
	font-weight: 600;
	color: var(--color-text-primary);
	border-radius: var(--radius-sm);
}
.tadreep-mobile-nav a:hover { background: var(--color-bg); }
.tadreep-mobile-nav-auth {
	display: flex;
	gap: var(--space-2);
	padding: var(--space-3);
}

@media (min-width: 960px) {
	.tadreep-header-nav { display: flex; }
	.tadreep-mobile-toggle { display: none; }
	.tadreep-mobile-nav { display: none; }
}

.tadreep-header-inner {
	min-height: 68px;
	padding-block: 10px;
}

.tadreep-header-nav {
	gap: clamp(12px, 1.35vw, 22px);
	flex: 1 1 auto;
	justify-content: center;
	min-width: 0;
}

.tadreep-header-nav > .tadreep-nav-link,
.tadreep-nav-dropdown > .tadreep-nav-link {
	white-space: nowrap;
	font-size: 14px;
}

.tadreep-header-nav .tadreep-nav-link {
	padding-block: 8px;
}

.tadreep-nav-dropdown {
	position: relative;
	display: inline-flex;
	align-items: center;
}

.tadreep-nav-dropdown-menu {
	position: absolute;
	top: calc(100% + 8px);
	right: 0;
	min-width: 220px;
	display: none;
	padding: 8px;
	background: var(--color-white);
	border: 1px solid var(--color-border);
	border-radius: var(--radius-md);
	box-shadow: 0 12px 30px rgba(15, 23, 42, .12);
}

.tadreep-nav-dropdown-menu a {
	display: block;
	padding: 10px 12px;
	border-radius: var(--radius-sm);
	text-decoration: none;
	white-space: nowrap;
}

.tadreep-nav-dropdown-menu a:hover,
.tadreep-nav-dropdown-menu a:focus-visible {
	background: var(--color-bg);
}

.tadreep-nav-dropdown:hover .tadreep-nav-dropdown-menu,
.tadreep-nav-dropdown:focus-within .tadreep-nav-dropdown-menu {
	display: block;
}

.tadreep-header-auth {
	flex: 0 0 auto;
	display: flex;
	align-items: center;
	gap: 8px;
}

/* Keep the header visible while the page scrolls; no hide-on-scroll rule. */
.tadreep-header,
.tadreep-header-inner {
	transform: none;
}

@media (min-width: 960px) {
	.tadreep-header-nav { display: flex; }
}

@media (max-width: 1199px) and (min-width: 960px) {
	.tadreep-header-inner { gap: 12px; }
	.tadreep-header-nav { gap: 10px; }
	.tadreep-header-nav > .tadreep-nav-link,
	.tadreep-nav-dropdown > .tadreep-nav-link { font-size: 13px; }
	.tadreep-header-auth .tadreep-btn { padding-inline: 10px; }
}

@media (max-width: 959px) {
	.tadreep-header-inner { min-height: 58px; }
	.tadreep-header-logo { flex: 0 0 auto; }
	.tadreep-header-auth { margin-inline-start: auto; }
	.tadreep-mobile-nav {
		max-height: calc(100vh - 58px);
		overflow-y: auto;
		background: var(--color-white);
	}
}

/* ===== Footer ===== */
.tadreep-footer {
	background: var(--color-navy-950);
	color: rgba(255,255,255,0.75);
	padding-block: var(--space-10);
	margin-block-start: var(--space-16);
}
.tadreep-footer a { color: rgba(255,255,255,0.75); }
.tadreep-footer a:hover { color: var(--color-turquoise-500); }

.tadreep-footer-grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: var(--space-8);
}
@media (min-width: 640px) {
	.tadreep-footer-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (min-width: 960px) {
	.tadreep-footer-grid { grid-template-columns: 2fr 1fr 1fr 1fr; }
}

.tadreep-footer-logo img { height: 32px; margin-block-end: var(--space-3); }
.tadreep-footer-desc { font-size: var(--text-sm); line-height: 1.6; }

.tadreep-footer-col h4 {
	color: var(--color-white);
	font-size: var(--text-sm);
	margin-block-end: var(--space-3);
}
.tadreep-footer-col ul { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: var(--space-2); }
.tadreep-footer-col ul li a { font-size: var(--text-sm); }

.tadreep-footer-bottom {
	margin-block-start: var(--space-8);
	padding-block-start: var(--space-6);
	border-block-start: 1px solid rgba(255,255,255,0.1);
	text-align: center;
	font-size: var(--text-xs);
	color: rgba(255,255,255,0.5);
}


/* -------------------------------------------------------------------------
 * Standard web navigation refinement — STAGE6-RC6.
 * Web remains a conventional desktop website; icons improve recognition
 * without turning the desktop header into an app-style bottom navigation.
 * ---------------------------------------------------------------------- */
.tadreep-header-nav .tadreep-nav-link {
	display: inline-flex;
	align-items: center;
	gap: .42rem;
	padding-block: .45rem;
	text-decoration: none;
}

.tadreep-nav-icon,
.tadreep-account-icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex: 0 0 auto;
}

.tadreep-nav-icon {
	width: 19px;
	height: 19px;
}

.tadreep-nav-icon svg {
	width: 100%;
	height: 100%;
}

.tadreep-header-nav a.is-active .tadreep-nav-icon {
	transform: translateY(-1px);
}

.tadreep-header-account {
	text-decoration: none;
	color: var(--color-text-primary);
}

.tadreep-header-account:hover {
	color: var(--color-turquoise-600);
}

.tadreep-account-icon {
	width: 22px;
	height: 22px;
}

.tadreep-account-icon svg {
	width: 100%;
	height: 100%;
}

.tadreep-mobile-nav .tadreep-nav-link {
	display: flex;
	align-items: center;
	gap: .65rem;
}

/* Mobile menu keeps web navigation behavior; icons are compact and touch-safe. */
@media (max-width: 959px) {
	.tadreep-mobile-nav .tadreep-nav-icon {
		width: 20px;
		height: 20px;
	}
}


/* -------------------------------------------------------------------------
 * Responsive Mobile Web App-like shell — STAGE6-RC7.
 * This remains the same website; only the mobile presentation changes.
 * ---------------------------------------------------------------------- */
.tadreep-mobile-bottom-nav { display:none; }

@media (max-width: 767px) {
	body { padding-bottom: 78px; }
	.tadreep-mobile-bottom-nav {
		position: fixed;
		right: 0;
		bottom: 0;
		left: 0;
		z-index: 99999;
		display: grid;
		grid-template-columns: repeat(5, minmax(0,1fr));
		min-height: 70px;
		padding: 5px 8px max(5px, env(safe-area-inset-bottom));
		box-sizing: border-box;
		background: rgba(255,255,255,.98);
		border-top: 1px solid #e2e8f0;
		box-shadow: 0 -8px 26px rgba(15,23,42,.10);
		backdrop-filter: blur(10px);
	}
	.tadreep-mobile-bottom-link {
		min-width:0;
		min-height:58px;
		display:flex;
		flex-direction:column;
		align-items:center;
		justify-content:center;
		gap:4px;
		padding:5px 2px;
		color:#64748b;
		text-decoration:none;
		font-size:.68rem;
		font-weight:700;
		line-height:1.2;
		-webkit-tap-highlight-color:transparent;
	}
	.tadreep-mobile-bottom-link:active { transform:scale(.96); }
	.tadreep-mobile-bottom-link.is-active { color:#2563eb; }
	.tadreep-mobile-bottom-icon {
		display:inline-flex;
		width:24px;
		height:24px;
		align-items:center;
		justify-content:center;
	}
	.tadreep-mobile-bottom-icon svg { width:100%; height:100%; }
	.tadreep-header-nav,
	.tadreep-mobile-nav { display:none; }
	.tadreep-header { min-height:58px; }
	.tadreep-header-account,
	.tadreep-header-menu-toggle { min-width:44px; min-height:44px; }
	.tadreep-container { width:min(100% - 24px,720px); margin-inline:auto; }
}

@media (min-width:768px) {
	.tadreep-mobile-bottom-nav { display:none; }
}


/* Mobile web visual polish — STAGE6-RC8 */
@media (max-width: 767px) {
	html, body { max-width:100%; overflow-x:hidden; }
	.tadreep-mobile-bottom-nav {
		min-height:72px;
		padding:5px 7px max(5px, env(safe-area-inset-bottom));
		background:#fff;
		border-top:1px solid #dfe6f0;
		box-shadow:0 -8px 28px rgba(15,23,42,.10);
	}
	.tadreep-mobile-bottom-link {
		position:relative;
		min-height:60px;
		gap:4px;
		color:#51627b;
		font-size:.67rem;
		font-weight:800;
	}
	.tadreep-mobile-bottom-icon {
		width:25px;
		height:25px;
		padding:0;
	}
	.tadreep-mobile-bottom-icon svg {
		width:24px;
		height:24px;
		stroke-width:1.7;
	}
	.tadreep-mobile-bottom-link.is-active {
		color:#2463e8;
	}
	.tadreep-mobile-bottom-link.is-active::before {
		content:"";
		position:absolute;
		top:2px;
		width:24px;
		height:3px;
		border-radius:99px;
		background:#2463e8;
	}
	.tadreep-mobile-bottom-link:active { transform:none; }
	.tadreep-header {
		min-height:62px;
	}
	.tadreep-header .tadreep-header-inner {
		min-height:62px;
	}
}
.tadreep-header-nav .tadreep-nav-icon {
	width:18px;
	height:18px;
}
@media (max-width:1100px) and (min-width:768px) {
	.tadreep-header-nav { gap:12px; }
}

@media (max-width:767px) {
	.tadreep-header {
		min-height:58px;
	}
	.tadreep-header .tadreep-header-inner {
		min-height:58px;
	}
	.tadreep-mobile-bottom-nav {
		min-height:68px;
	}
	.tadreep-mobile-bottom-link {
		min-height:56px;
		font-size:.66rem;
	}
	.tadreep-mobile-bottom-icon {
		width:23px;
		height:23px;
	}
	.tadreep-mobile-bottom-icon svg {
		width:22px;
		height:22px;
	}
}

/* ---------------------------------------------------------------------
 * Mobile header density, driven by the phone screenshots.
 *
 * At 390px the header carried a hamburger plus TWO full-size auth
 * buttons, consuming roughly a third of the visible height before any
 * page content appeared. The bottom navigation already offers a "دخول"
 * entry, so the header duplicated it.
 *
 * Rather than remove either control (both are reachable and expected),
 * the buttons are made compact below 768px: smaller padding and type,
 * while keeping the 44px touch target the project requires. Nothing is
 * hidden, so no navigation path is lost.
 * ------------------------------------------------------------------ */


/* Very narrow phones: the secondary button becomes icon-tight text so
   both still fit on one line without wrapping. */


/* ---------------------------------------------------------------------
 * Bottom navigation polish (from the annotated phone screenshot).
 *
 * The icons were drawn at stroke-width 1.8 with default square caps,
 * which at 22px reads as heavy and slightly ragged. Thinner rounded
 * strokes at a consistent size make the row look like one icon set
 * rather than five separate drawings. Markup is unchanged apart from the
 * stroke attributes and a distinct two-person glyph for المدربون, which
 * previously used almost the same single-person shape as دخول.
 * ------------------------------------------------------------------ */
.tadreep-mobile-bottom-nav {
	border-block-start: 1px solid #e8edf5;
	background: #fff;
	padding-block: 0.25rem;
}

.tadreep-mobile-bottom-link {
	gap: 0.2rem;
	color: #64748b;
	padding-block: 0.35rem;
}

.tadreep-mobile-bottom-link.is-active {
	color: #041e52;
}

.tadreep-mobile-bottom-icon svg {
	stroke-width: 1.6;
	stroke-linecap: round;
	stroke-linejoin: round;
}

/* Slightly smaller, evenly weighted labels so five items fit at 320px
   without the text crowding the icon above it. */
@media (max-width: 767px) {
	.tadreep-mobile-bottom-link {
		font-size: 0.68rem;
		font-weight: 500;
		letter-spacing: 0;
	}

	.tadreep-mobile-bottom-icon,
	.tadreep-mobile-bottom-icon svg {
		width: 22px;
		height: 22px;
	}
}

/* ---------------------------------------------------------------------
 * Header auth buttons.
 *
 * Two full-size buttons plus the menu toggle dominated the top of a
 * 390px screen. Below 768px the primary keeps its filled treatment while
 * the secondary becomes a lighter outline, so the pair reads as one
 * compact group instead of two competing blocks. Both stay above the
 * 44px touch target.
 * ------------------------------------------------------------------ */


/* Active bottom-nav item: coloured icon, label and a short top rule, as
   in the approved mockup. The rule is drawn with a pseudo-element so no
   markup changes and no layout shift when the state changes. */
.tadreep-mobile-bottom-link {
	position: relative;
}

.tadreep-mobile-bottom-link.is-active {
	color: #2563eb;
	font-weight: 600;
}

.tadreep-mobile-bottom-link.is-active::before {
	content: "";
	position: absolute;
	inset-block-start: 0;
	inset-inline-start: 50%;
	transform: translateX(-50%);
	inline-size: 26px;
	block-size: 3px;
	border-radius: 0 0 3px 3px;
	background: #2563eb;
}

.tadreep-mobile-nav-share {
	display: none;
}

@media (max-width: 959px) {
	/* The drawer is controlled only by .is-open; never hide that state with
	 * so the JS toggle can reliably reveal it on every page. */
	.tadreep-mobile-nav {
		display: none;
		position: absolute;
		inset-inline: 0;
		inset-block-start: 100%;
		max-height: calc(100vh - 62px);
		overflow-y: auto;
		background: #fff;
		box-shadow: 0 14px 32px rgba(15,23,42,.12);
		border-block-start: 1px solid #e5eaf2;
		padding: 12px 16px 18px;
	}

	.tadreep-mobile-nav.is-open {
		display: flex;
	}

	.tadreep-mobile-nav .tadreep-nav-link {
		min-height: 50px;
		padding: 12px 10px;
		font-size: 1rem;
	}

	.tadreep-mobile-nav-share {
		display: block;
		margin-block-start: 10px;
		padding-block-start: 16px;
		border-block-start: 1px solid #e8edf5;
		text-align: center;
	}

	.tadreep-mobile-nav-share-title {
		display: block;
		font-size: .9rem;
		font-weight: 700;
		color: #334155;
		margin-block-end: 10px;
	}

	.tadreep-mobile-nav-share-links {
		display: flex;
		align-items: center;
		justify-content: center;
		gap: 14px;
	}

	.tadreep-mobile-nav-share-links a {
		display: inline-flex;
		align-items: center;
		justify-content: center;
		width: 42px;
		height: 42px;
		padding: 0;
		border-radius: 50%;
		background: #f1f5f9;
		color: #041e52;
		text-decoration: none;
	}

	.tadreep-mobile-nav-share-links a svg {
		width: 22px;
		height: 22px;
	}

	.tadreep-mobile-nav-share-links a:hover {
		background: #e2e8f0;
	}

	.tadreep-mobile-toggle {
		width: 44px;
		height: 44px;
		min-width: 44px;
		min-height: 44px;
		align-items: center;
		justify-content: center;
	}
}

@media (max-width: 767px) {
	.tadreep-header-inner {
		min-height: 68px;
		padding-block: 8px;
	}

	.tadreep-mobile-nav {
		max-height: calc(100dvh - 68px);
	}
}

/* Disable page zoom on supported mobile browsers; the viewport meta tag in
 * header.php provides the corresponding browser-level restriction. */
@media (pointer: coarse) {
	html {
		touch-action: manipulation;
	}
}


/* ---------------------------------------------------------------------
 * Header logo — ONE rule set, replacing 4 conflicting ones.
 *
 * The previous build had .tadreep-header-logo img declared three times
 * (40px, then 44px ×4, then the same 44px repeated inside a
 * mobile query), so the "mobile logo" never actually differed from
 * desktop. Which file loads is now decided by <picture> in header.php;
 * CSS only sizes it. No is needed because nothing else in
 * this file targets these elements any more.
 * ------------------------------------------------------------------ */
.tadreep-header-logo {
	display: inline-flex;
	align-items: center;
	flex: 0 0 auto;
}

.tadreep-header-logo-pic {
	display: inline-flex;
	align-items: center;
}

/* Mobile: compact transparent icon. No background, no box, no frame. */
.tadreep-header-logo img {
	inline-size: 36px;
	block-size: 36px;
	object-fit: contain;
	background: none;
	border: 0;
	border-radius: 0;
}

/* Tablet and up: the wordmark is wider than tall, so height drives the
   size and width follows, keeping the header height unchanged. */
@media (min-width: 768px) {
	.tadreep-header-logo img {
		inline-size: auto;
		block-size: 40px;
		max-inline-size: 170px;
	}
}

/* =====================================================================
 * Header auth buttons — ONE rule set, replacing 23 conflicting ones.
 *
 * The previous file declared .tadreep-header-auth .tadreep-btn eight
 * separate times across five media queries, with competing min-width
 * values (112px / 116px / 150px) forced by. That is why the
 * buttons never balanced: each breakpoint re-fought the previous one.
 *
 * Written once here. NO — nothing else targets these
 * elements now.
 *
 * RTL: the icon is the first child, so in an RTL header it renders to
 * the RIGHT of the label, which is the natural reading position for
 * Arabic. Logical properties keep that correct without direction hacks.
 * ================================================================== */

.tadreep-header-auth {
	display: flex;
	align-items: center;
	gap: 0.5rem;
	flex: 0 0 auto;
}

/* Icon + label behave as ONE unit: same line, same baseline, no wrap. */
.tadreep-header-auth .tadreep-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 0.45rem;
	block-size: 40px;
	padding-inline: 0.9rem;
	border-radius: 9px;
	font-size: 0.875rem;
	font-weight: 600;
	line-height: 1;
	white-space: nowrap;
}

/* Fixed box so both icons carry identical visual weight regardless of
   the glyph inside them. */
.tadreep-btn-icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	inline-size: 18px;
	block-size: 18px;
	flex: 0 0 18px;
}

.tadreep-btn-icon svg {
	inline-size: 18px;
	block-size: 18px;
	display: block;
}

/* Logged-in state: account link matches the button rhythm. */
.tadreep-header-account {
	display: inline-flex;
	align-items: center;
	gap: 0.4rem;
	block-size: 40px;
	padding-inline: 0.7rem;
	border-radius: 9px;
	font-size: 0.875rem;
	font-weight: 600;
	color: var(--color-navy-800, #041e52);
	text-decoration: none;
	max-inline-size: 150px;
}

/* The display name can be long; truncate rather than break the header. */
.tadreep-header-account > span:last-child {
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.tadreep-account-icon,
.tadreep-account-icon svg {
	inline-size: 16px;
	block-size: 16px;
	flex: 0 0 auto;
}

/* Mobile: tighter buttons, still a 44px touch target, no wrapping. */
@media (max-width: 767px) {
	.tadreep-header-auth {
		gap: 0.35rem;
	}

	.tadreep-header-auth .tadreep-btn {
		block-size: 44px;
		padding-inline: 0.65rem;
		font-size: 0.8rem;
		gap: 0.4rem;
	}

	.tadreep-header-account {
		block-size: 44px;
		max-inline-size: 110px;
	}
}

/* Very narrow phones: drop the label, keep the icon. The accessible name
   still comes from the link text, which remains in the DOM. */
@media (max-width: 380px) {
	.tadreep-header-auth .tadreep-btn {
		padding-inline: 0.55rem;
		font-size: 0.75rem;
	}
}

/* RC37 final mobile header alignment: logo right, auth buttons center, menu left.
 * Keep all header controls on one row; only scale widths at very narrow phones.
 */
@media (max-width: 767px) {
  .tadreep-header-inner {
    display: flex;
    flex-wrap: nowrap;
    align-items: center;
    justify-content: space-between;
    gap: 6px;
    min-height: 62px;
    padding-block: 8px;
  }
  .tadreep-header-logo {
    flex: 0 0 36px;
    inline-size: 36px;
    order: 1;
  }
  .tadreep-header-auth {
    flex: 0 1 auto;
    min-inline-size: 0;
    flex-wrap: nowrap;
    gap: 6px;
    order: 2;
    margin-inline-start: auto;
  }
  .tadreep-header-auth .tadreep-btn {
    flex: 0 1 auto;
    min-inline-size: 0;
    block-size: 44px;
    padding-inline: 10px;
    font-size: 0.82rem;
    gap: 5px;
    white-space: nowrap;
  }
  .tadreep-header-auth .tadreep-btn:first-child {
    inline-size: 132px;
  }
  .tadreep-header-auth .tadreep-btn:nth-child(2) {
    inline-size: 142px;
  }
  .tadreep-mobile-toggle {
    flex: 0 0 44px;
    inline-size: 44px;
    block-size: 44px;
    min-inline-size: 44px;
    min-block-size: 44px;
    padding: 0;
    align-items: center;
    justify-content: center;
  }
}

@media (max-width: 360px) {
  .tadreep-header-inner { gap: 4px; }
  .tadreep-header-logo { flex-basis: 30px; inline-size: 30px; }
  .tadreep-header-logo img { inline-size: 30px; block-size: 30px; }
  .tadreep-header-auth { gap: 4px; }
  .tadreep-header-auth .tadreep-btn { padding-inline: 7px; font-size: 0.75rem; gap: 4px; }
  .tadreep-header-auth .tadreep-btn:first-child { inline-size: 112px; }
  .tadreep-header-auth .tadreep-btn:nth-child(2) { inline-size: 120px; }
  .tadreep-mobile-toggle { flex-basis: 40px; inline-size: 40px; min-inline-size: 40px; }
}

.tadreep-header-inner {
	min-height: 72px;
	padding-block: 10px;
}

.tadreep-header-nav {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 18px;
	flex: 1 1 auto;
	min-width: 0;
}

.tadreep-header-nav .tadreep-nav-link,
.tadreep-mobile-nav .tadreep-nav-link {
	display: inline-flex;
	align-items: center;
	padding: 7px 0;
	font-size: 14px;
	font-weight: 600;
	line-height: 1.4;
	color: var(--color-navy-800, #041e52);
	white-space: nowrap;
	text-decoration: none;
}

.tadreep-header-nav .tadreep-nav-link:hover,
.tadreep-header-nav .tadreep-nav-link.is-active {
	color: var(--color-turquoise-600, #0ea5a8);
}

/* Text-only packages dropdown. */
.tadreep-nav-dropdown {
	position: relative;
	display: inline-flex;
	align-items: center;
}

.tadreep-nav-dropdown-menu {
	position: absolute;
	inset-inline-end: 50%;
	top: calc(100% + 10px);
	transform: translateX(50%);
	min-width: 220px;
	padding: 8px;
	background: #fff;
	border: 1px solid #e5eaf2;
	border-radius: 10px;
	box-shadow: 0 14px 32px rgba(15, 23, 42, .12);
	display: none;
}

.tadreep-nav-dropdown:hover .tadreep-nav-dropdown-menu,
.tadreep-nav-dropdown:focus-within .tadreep-nav-dropdown-menu {
	display: flex;
	flex-direction: column;
}

.tadreep-nav-dropdown-menu a {
	display: block;
	padding: 10px 12px;
	border-radius: 7px;
	font-size: 13px;
	font-weight: 600;
	color: var(--color-navy-800, #041e52);
	white-space: nowrap;
}

.tadreep-nav-dropdown-menu a:hover {
	background: #f6f8fb;
	color: var(--color-turquoise-600, #0ea5a8);
}

.tadreep-header-auth .tadreep-btn {
	gap: 0;
	font-size: 13px;
}

.tadreep-header-auth .tadreep-btn-icon,
.tadreep-header-account .tadreep-account-icon,
.tadreep-header-nav .tadreep-nav-icon,
.tadreep-mobile-nav .tadreep-nav-icon {
	display: none !important;
}

.tadreep-mobile-nav-auth-links {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 8px;
	padding-top: 10px;
	margin-top: 6px;
	border-top: 1px solid #e8edf5;
}

.tadreep-mobile-nav-auth-links a {
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 44px;
	padding: 10px 12px;
	border: 1px solid #dbe3ee;
	border-radius: 8px;
	font-size: 14px;
	font-weight: 700;
	color: var(--color-navy-800, #041e52);
	text-decoration: none;
}

.tadreep-mobile-nav-auth-links a:last-child {
	background: var(--color-navy-800, #041e52);
	border-color: var(--color-navy-800, #041e52);
	color: #fff;
}

@media (max-width: 1100px) and (min-width: 960px) {
	.tadreep-header-nav { gap: 11px; }
	.tadreep-header-nav .tadreep-nav-link { font-size: 13px; }
}

@media (max-width: 959px) {
	.tadreep-header-inner {
		min-height: 62px;
	}

	.tadreep-header-nav {
		display: none;
	}

	.tadreep-header-auth .tadreep-btn,
	.tadreep-header-auth .tadreep-header-account {
		display: none;
	}

	.tadreep-mobile-toggle {
		display: inline-flex;
		align-items: center;
		justify-content: center;
		width: 44px;
		height: 44px;
		padding: 0;
	}

	.tadreep-mobile-nav {
		padding: 12px 16px 18px;
		gap: 2px;
	}

	.tadreep-mobile-nav .tadreep-nav-link {
		min-height: 48px;
		padding: 12px 8px;
		font-size: 15px;
		border-bottom: 1px solid #eef2f7;
	}

	.tadreep-mobile-nav-submenu {
		display: flex;
		flex-direction: column;
		padding: 0 12px 4px 0;
	}

	.tadreep-mobile-nav-submenu a {
		padding: 9px 10px;
		font-size: 14px;
		font-weight: 600;
		color: #52627a;
	}
}

@media (min-width: 960px) {
	.tadreep-mobile-toggle,
	.tadreep-mobile-nav,
	.tadreep-mobile-nav-auth-links {
		display: none !important;
	}
}

body.tadreep-site {
	padding-top: 72px;
}

@media (max-width: 959px) {
	body.tadreep-site {
		padding-top: 62px;
	}
}




/* MVP1-RC9 — mobile navigation closure. Keep the drawer above page content
 * and provide a predictable touch target on narrow screens. */
@media (max-width: 959px) {
  .tadreep-header { z-index: 1000; }
  .tadreep-header-inner { position: relative; }
  .tadreep-mobile-nav {
    position: fixed;
    inset-inline: 0;
    inset-block-start: 62px;
    z-index: 999;
    max-block-size: calc(100dvh - 62px);
    overflow-y: auto;
    background: #fff;
    box-shadow: 0 18px 40px rgba(15,23,42,.16);
  }
  .tadreep-mobile-nav.is-open { display: flex !important; }
  .tadreep-mobile-nav-auth-links { display: grid !important; }
}
@media (max-width: 767px) {
  .tadreep-mobile-nav { inset-block-start: 58px; max-block-size: calc(100dvh - 58px); }
}
@media (max-width: 380px) {
  .tadreep-mobile-toggle { flex-basis: 44px !important; inline-size: 44px !important; }
}


/* RC16 — keep the packages dropdown open while moving from trigger to menu. */
@media(min-width:960px){
 .tadreep-header .tadreep-nav-dropdown{position:relative}
 .tadreep-header .tadreep-nav-dropdown::after{content:"";position:absolute;inset-inline:0;top:100%;height:12px}
 .tadreep-header .tadreep-nav-dropdown-menu{top:calc(100% + 8px);z-index:1001;visibility:hidden;opacity:0;pointer-events:none;transition:opacity .12s ease,visibility .12s ease}
 .tadreep-header .tadreep-nav-dropdown:hover .tadreep-nav-dropdown-menu,.tadreep-header .tadreep-nav-dropdown:focus-within .tadreep-nav-dropdown-menu{display:flex;visibility:visible;opacity:1;pointer-events:auto}
}


/* RC37 — root-level account bottom navigation for mobile/WebView.
 * Intentionally lives outside dashboard layout so it cannot be clipped by
 * dashboard containers. It is loaded globally and works even before dashboard.js. */
.tadreep-account-mobile-nav,.tadreep-account-mobile-more{display:none}
@media (max-width:1100px){
  body:has(.tadreep-account-mobile-nav){padding-bottom:calc(72px + env(safe-area-inset-bottom))!important}
  .tadreep-account-mobile-nav{
    display:grid!important;position:fixed!important;left:0!important;right:0!important;bottom:0!important;
    width:100%!important;grid-template-columns:repeat(5,minmax(0,1fr))!important;z-index:2147483640!important;
    padding:6px 6px max(7px,env(safe-area-inset-bottom))!important;box-sizing:border-box!important;
    background:#fff!important;border-top:1px solid #dbe5f0!important;box-shadow:0 -7px 24px rgba(3,34,82,.12)!important;
    direction:rtl!important;visibility:visible!important;opacity:1!important;transform:none!important;
  }
  .tadreep-account-mobile-nav>a,.tadreep-account-mobile-nav>button{
    min-width:0!important;min-height:54px!important;margin:0!important;padding:5px 2px!important;border:0!important;
    background:transparent!important;color:#5b6d84!important;text-decoration:none!important;font-family:var(--font-family)!important;
    display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;gap:3px!important;
    border-radius:10px!important;position:relative!important;box-shadow:none!important;appearance:none!important;
  }
  .tadreep-account-mobile-nav span{font-size:19px!important;line-height:1!important;color:inherit!important}
  .tadreep-account-mobile-nav small{font-size:10px!important;line-height:1.2!important;font-weight:700!important;white-space:nowrap!important;color:inherit!important}
  .tadreep-account-mobile-nav .is-active{background:#f0f5fc!important;color:#082b68!important}
  .tadreep-account-mobile-nav .is-active:before{content:"";position:absolute;top:-6px;width:30px;height:3px;border-radius:0 0 4px 4px;background:#08bfc4}
  .tadreep-account-mobile-more{
    position:fixed!important;left:12px!important;right:12px!important;bottom:calc(70px + env(safe-area-inset-bottom))!important;
    z-index:2147483639!important;background:#fff!important;border:1px solid #dbe5f0!important;border-radius:14px!important;
    padding:7px!important;box-shadow:0 14px 38px rgba(3,34,82,.18)!important;
  }
  .tadreep-account-mobile-more:not([hidden]){display:grid!important}
  .tadreep-account-mobile-more a{display:flex!important;align-items:center!important;gap:9px!important;padding:12px!important;border-radius:9px!important;color:#122746!important;text-decoration:none!important;font-size:13px!important;font-weight:700!important}
  .tadreep-account-mobile-more .is-logout{color:#a93232!important;border-top:1px solid #edf1f5!important}
  /* Disable the earlier in-dashboard mobile nav to avoid duplicate bars. */
  .tadreep-dash-mobile-bottom,.tadreep-mobile-more-menu{display:none!important}
}
@media (min-width:1101px){.tadreep-account-mobile-nav,.tadreep-account-mobile-more{display:none!important}}

/* RC60 — account-only mobile navigation with modern inline SVG icons. */
.tadreep-ui-icon{width:22px;height:22px;display:block;flex:0 0 auto}
@media (max-width:1100px){
  body:has(.tadreep-account-mobile-nav){padding-bottom:calc(78px + env(safe-area-inset-bottom))!important}
  .tadreep-account-mobile-nav{
    min-height:70px!important;
    padding:7px 8px max(8px,env(safe-area-inset-bottom))!important;
    align-items:end!important;
  }
  .tadreep-account-mobile-nav.is-provider-nav{grid-template-columns:repeat(5,minmax(0,1fr))!important}
  .tadreep-account-mobile-nav.is-trainee-nav{grid-template-columns:repeat(4,minmax(0,1fr))!important}
  .tadreep-account-mobile-nav>a,.tadreep-account-mobile-nav>button{
    min-height:52px!important;gap:5px!important;border-radius:12px!important;color:#64748b!important;
  }
  .tadreep-account-mobile-nav .tadreep-ui-icon{width:23px!important;height:23px!important;stroke-width:1.9}
  .tadreep-account-mobile-nav small{font-family:var(--font-family)!important;font-size:10.5px!important;font-weight:700!important;color:inherit!important}
  .tadreep-account-mobile-nav .is-active{background:#eef6ff!important;color:#0a4f9d!important}
  .tadreep-account-mobile-nav .is-active:before{top:-7px!important;width:34px!important;height:3px!important;background:#08bfc4!important}
  .tadreep-account-create-course{overflow:visible!important;transform:translateY(-10px)!important}
  .tadreep-account-create-course .tadreep-create-course-icon{
    width:48px;height:48px;border-radius:50%;display:grid!important;place-items:center;background:#0b5fc6!important;color:#fff!important;
    box-shadow:0 8px 20px rgba(11,95,198,.28);border:4px solid #fff;
  }
  .tadreep-account-create-course .tadreep-create-course-icon .tadreep-ui-icon{width:24px!important;height:24px!important}
  .tadreep-account-create-course small{color:#0a3e7a!important;margin-top:-1px!important}
  .tadreep-account-mobile-more{
    left:10px!important;right:10px!important;bottom:calc(78px + env(safe-area-inset-bottom))!important;
    padding:10px!important;border-radius:18px!important;box-shadow:0 18px 48px rgba(3,34,82,.22)!important;
  }
  .tadreep-account-mobile-more:not([hidden]){display:grid!important;gap:3px!important}
  .tadreep-account-more-head{padding:10px 12px 12px;border-bottom:1px solid #e8eef6;margin-bottom:3px}
  .tadreep-account-more-head strong{display:block;color:#0a2540;font-size:15px;font-weight:800}
  .tadreep-account-more-head small{display:block;color:#7b8ba1;font-size:11px;margin-top:2px}
  .tadreep-account-mobile-more a{
    min-height:46px!important;padding:10px 11px!important;border-radius:11px!important;gap:10px!important;font-size:13px!important;
  }
  .tadreep-account-mobile-more a:hover,.tadreep-account-mobile-more a:focus{background:#f3f8fd!important}
  .tadreep-account-mobile-more .tadreep-ui-icon{width:21px;height:21px;color:#1878c4}
  .tadreep-account-mobile-more a span{flex:1}
  .tadreep-account-mobile-more .is-chevron{width:17px;height:17px;color:#9aabc0;margin-inline-start:auto}
  .tadreep-account-mobile-more .is-logout{margin-top:3px!important;color:#b42318!important}
  .tadreep-account-mobile-more .is-logout .tadreep-ui-icon{color:#b42318}
}

/* RC61 — account nav public destinations + darker Tadreep identity icons. */
@media (max-width:1100px){
  .tadreep-account-mobile-nav>a,
  .tadreep-account-mobile-nav>button{
    color:#0A2540!important;
  }
  .tadreep-account-mobile-nav .tadreep-ui-icon{
    color:#0A2540!important;
    stroke:currentColor!important;
  }
  .tadreep-account-mobile-nav small{
    color:#0A2540!important;
  }
  .tadreep-account-mobile-nav .is-active{
    background:#eef6ff!important;
    color:#0A2540!important;
  }
  .tadreep-account-mobile-nav .is-active .tadreep-ui-icon,
  .tadreep-account-mobile-nav .is-active small{
    color:#0A2540!important;
  }
  .tadreep-account-create-course .tadreep-create-course-icon{
    background:#0A2540!important;
    color:#fff!important;
    box-shadow:0 8px 20px rgba(10,37,64,.24)!important;
  }
  .tadreep-account-create-course .tadreep-create-course-icon .tadreep-ui-icon{
    color:#fff!important;
  }
  .tadreep-account-create-course small{
    color:#0A2540!important;
  }
  .tadreep-account-mobile-more .tadreep-ui-icon{
    color:#0A2540!important;
  }
  .tadreep-account-mobile-more .is-chevron{
    color:#7f91a8!important;
  }
  .tadreep-account-mobile-more .is-logout,
  .tadreep-account-mobile-more .is-logout .tadreep-ui-icon{
    color:#b42318!important;
  }
}


/* RC63 — visitor mobile bottom navigation. */
@media (max-width:1100px){
  .tadreep-account-mobile-nav.is-guest-nav{grid-template-columns:repeat(5,minmax(0,1fr))!important}
  .tadreep-account-mobile-nav.is-guest-nav>a{color:#0A2540!important}
  .tadreep-account-mobile-nav.is-guest-nav .tadreep-ui-icon{color:#0A2540!important;stroke:currentColor!important}
  .tadreep-account-mobile-nav.is-guest-nav small{color:#0A2540!important}
  .tadreep-account-mobile-nav.is-guest-nav .is-active{background:#eef6ff!important;color:#0A2540!important}
}


/* RC64 — unified modern account navigation icon system. */
.tadreep-account-mobile-nav .tadreep-ui-icon,
.tadreep-account-mobile-more .tadreep-ui-icon{
  inline-size:23px!important;block-size:23px!important;
  stroke-width:1.8!important;fill:none!important;
  color:currentColor!important;
}
@media (max-width:1100px){
  .tadreep-account-mobile-nav>a,.tadreep-account-mobile-nav>button{color:#0A2540!important}
  .tadreep-account-mobile-nav .is-active{color:#0A2540!important}
  .tadreep-account-mobile-nav .is-active .tadreep-ui-icon{color:#0A2540!important}
  .tadreep-account-create-course .tadreep-create-course-icon .tadreep-ui-icon{color:#fff!important}
}


/* RC82 — mobile signed-in welcome/name: fixed centre width so absolute child text cannot collapse to one letter. */
.tadreep-mobile-welcome{display:none}
@media (max-width:959px){
  .tadreep-header-inner{position:relative}
  .tadreep-mobile-welcome{
    position:absolute; inset-inline-start:50%; top:50%;
    transform:translate(-50%,-50%); display:flex; align-items:center; justify-content:center;
    inline-size:min(52vw,240px); min-inline-size:150px; max-inline-size:calc(100% - 150px); block-size:44px; padding-inline:8px; box-sizing:border-box;
    text-decoration:none; text-align:center; z-index:2; overflow:hidden;
  }
  html[dir="rtl"] .tadreep-mobile-welcome{transform:translate(50%,-50%)}
  .tadreep-mobile-welcome-greeting,.tadreep-mobile-welcome-name{
    position:absolute; inset-inline:0; display:block; overflow:hidden; text-overflow:ellipsis; white-space:nowrap;
    font-family:'Cairo',sans-serif; line-height:1.35; transition:opacity .34s ease,transform .34s ease;
  }
  .tadreep-mobile-welcome-greeting{color:var(--color-turquoise-600,#08b9b5);font-size:14px;font-weight:700;opacity:1;transform:translateY(0)}
  .tadreep-mobile-welcome-name{color:var(--color-navy-800,#08295f);font-size:14px;font-weight:700;opacity:0;transform:translateY(6px)}
  .tadreep-mobile-welcome::after{
    content:''; position:absolute; inset-inline-start:50%; bottom:4px; inline-size:0; block-size:2px; border-radius:999px;
    background:var(--color-turquoise-600,#08b9b5); transform:translateX(-50%); transition:inline-size .35s ease .12s;
  }
  html[dir="rtl"] .tadreep-mobile-welcome::after{transform:translateX(50%)}
  .tadreep-mobile-welcome.is-name-visible .tadreep-mobile-welcome-greeting{opacity:0;transform:translateY(-6px)}
  .tadreep-mobile-welcome.is-name-visible .tadreep-mobile-welcome-name{opacity:1;transform:translateY(0)}
  .tadreep-mobile-welcome.is-name-visible::after{inline-size:24px}
}
@media (max-width:360px){
  .tadreep-mobile-welcome{inline-size:48vw;min-inline-size:132px;max-inline-size:calc(100% - 132px);padding-inline:4px}
  .tadreep-mobile-welcome-greeting,.tadreep-mobile-welcome-name{font-size:12.5px}
}

/* RC86 — Global Tadreep WhatsApp contact launcher (desktop + mobile). */
.tadreep-whatsapp-launcher{
  position:fixed;
  inset-inline-end:24px;
  bottom:24px;
  z-index:9998;
  display:flex;
  flex-direction:column;
  align-items:flex-end;
  gap:10px;
  font-family:'Cairo',sans-serif;
}
.tadreep-whatsapp-button{
  width:58px;
  height:58px;
  border:0;
  border-radius:50%;
  background:#25D366;
  color:#fff;
  display:grid;
  place-items:center;
  cursor:pointer;
  box-shadow:0 12px 30px rgba(13,92,55,.28);
  transition:transform .2s ease, box-shadow .2s ease;
}
.tadreep-whatsapp-button:hover{transform:translateY(-2px);box-shadow:0 16px 34px rgba(13,92,55,.34)}
.tadreep-whatsapp-button svg{width:30px;height:30px;display:block}
.tadreep-whatsapp-menu{
  width:min(310px,calc(100vw - 32px));
  background:#fff;
  border:1px solid #dce7f3;
  border-radius:18px;
  box-shadow:0 18px 50px rgba(10,37,64,.18);
  padding:12px;
  direction:rtl;
  transform-origin:bottom right;
}
.tadreep-whatsapp-menu[hidden]{display:none!important}
.tadreep-whatsapp-menu-head{padding:6px 8px 10px;border-bottom:1px solid #edf2f7;margin-bottom:8px}
.tadreep-whatsapp-menu-head strong{display:block;color:#0A2540;font-size:15px;line-height:1.6}
.tadreep-whatsapp-menu-head small{display:block;color:#718096;font-size:12px;margin-top:2px}
.tadreep-whatsapp-choice{
  display:flex;
  align-items:center;
  gap:10px;
  width:100%;
  padding:11px 10px;
  border-radius:12px;
  color:#0A2540!important;
  text-decoration:none!important;
  transition:background .18s ease, transform .18s ease;
}
.tadreep-whatsapp-choice:hover{background:#eefcf5;transform:translateX(-2px)}
.tadreep-whatsapp-choice-icon{width:36px;height:36px;border-radius:10px;background:#eefcf5;color:#149b55;display:grid;place-items:center;flex:0 0 36px}
.tadreep-whatsapp-choice-icon svg{width:20px;height:20px}
.tadreep-whatsapp-choice-copy{min-width:0;display:flex;flex-direction:column;gap:1px}
.tadreep-whatsapp-choice-copy strong{font-size:14px;font-weight:700;color:#0A2540}
.tadreep-whatsapp-choice-copy small{font-size:11px;color:#7a8898;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
@media (max-width:767px){
  .tadreep-whatsapp-launcher{inset-inline-end:14px;bottom:96px;gap:8px}
  .tadreep-whatsapp-button{width:52px;height:52px}
  .tadreep-whatsapp-button svg{width:27px;height:27px}
  .tadreep-whatsapp-menu{width:min(292px,calc(100vw - 28px));border-radius:16px}
}
