/* ============================================================
   Paulmar Education — brand layer
   ------------------------------------------------------------
   Source: resources/website style guide/style-guide.md. Values come from
   tokens.css (a verbatim copy of the kit's tokens.css, loaded just before
   this file). functions.php enqueues this sheet with every earlier sheet as
   a dependency, so it prints after the parent theme, the parent's generated
   stylesheet/style-custom.css, style-responsive.css, the Goodlayers LMS
   sheets and the self-study plugin sheet.

   House rules
   - No !important except against inline styles (page-title background,
     MasterSlider overlays).
   - Selectors mirror clever-child/header.php, the parent templates and
     goodlayers-lms markup; where a generated rule has to be out-ranked the
     selector is prefixed with .body-wrapper.
   - Section numbers follow the implementation plan:
       1 base & type      2 utility bar / header / nav / tagline
       3 mobile nav       4 page hero          5 buttons
       6 cards            7 forms              8 tables & dashboard
       9 homepage bands  10 footer            11 self-study plugin
      12 focus & motion  13 carried over      14 responsive
   ============================================================ */


/* ------------------------------------------------------------
   1. Base & type
   ------------------------------------------------------------ */
html, body { overflow-x: clip; }
/* The parent's overflow:hidden would make .body-wrapper the sticky container for the header. */
.body-wrapper { overflow: clip; }

body {
	min-width: 0;
	background: var(--pm-paper);
	color: var(--pm-ink);
	font: 400 var(--pm-fs-medium)/var(--pm-lh-body) var(--pm-font-sans);
	-webkit-font-smoothing: antialiased;
}
input, textarea, select, button { font-family: inherit; }
.container { max-width: var(--pm-container); }
body * { border-color: var(--pm-line); }

h1, h2, h3, h4, h5, h6, .gdlr-title, .gdlr-title a {
	font-family: var(--pm-font-serif);
	font-weight: 600;
	line-height: var(--pm-lh-heading);
	letter-spacing: var(--pm-ls-heading);
	color: var(--pm-navy);
	text-wrap: pretty;
}
h1 { font-size: var(--pm-fs-huge); }
h2 { font-size: var(--pm-fs-xx-large); }
h3 { font-size: var(--pm-fs-x-large); }
h4 { font-size: 18px; }
h5 { font-size: 16.5px; }
h6 { font-size: 15px; }
/* Interior prose runs a step smaller than the section scale (guide §3 "context overrides"). */
.gdlr-content h2, .gdlr-lms-course-content h2 { font-size: 25px; }
.gdlr-content h3, .gdlr-lms-course-content h3 { font-size: 20px; }

p { color: inherit; margin-bottom: 1.2em; }
.gdlr-content p, .gdlr-lms-course-content p, .gdlr-lms-course-excerpt, .page p { color: var(--pm-slate); }
.gdlr-content ul, .gdlr-lms-course-content ul { list-style: disc; }
.gdlr-content li, .gdlr-lms-course-content li { color: var(--pm-slate); }
.gdlr-content strong, .gdlr-lms-course-content strong { color: var(--pm-navy); font-weight: 600; }

a {
	color: var(--pm-blue-800);
	text-decoration: none;
	transition: color var(--pm-ease), background-color var(--pm-ease), border-color var(--pm-ease), box-shadow var(--pm-ease);
}
a:hover { color: var(--pm-navy); }
.gdlr-content a:not(.gdlr-button):not(.gdlr-lms-button):hover,
.gdlr-lms-course-content a:not(.gdlr-lms-button):hover { text-decoration: underline; }

blockquote { border-left: var(--pm-rule-side); padding-left: 16px; font: italic 500 17px/1.55 var(--pm-font-serif); color: var(--pm-navy); }
hr { border: 0; border-top: var(--pm-hairline); }
table tr th { background: var(--pm-navy); color: #fff; font: 600 13.5px/1.4 var(--pm-font-sans); }
table.style-2 tr:nth-child(odd), table.style-2 tr:nth-child(even) { color: var(--pm-ink); }
table.style-2 tr:nth-child(even) { background: var(--pm-zebra); }
table.style-2 tr:nth-child(odd) { background: #fff; }


/* ------------------------------------------------------------
   2. Utility bar, header, navigation, tagline strip  (guide §7)
   ------------------------------------------------------------ */

/* Utility bar — navy, e-mail right, LMS Sign In | Sign Up. */
.top-navigation-wrapper {
	position: relative; z-index: 98;
	background: var(--pm-navy);
	border: 0;
	color: var(--pm-on-navy-70);
	font-size: 13px; line-height: 1;
}
.top-navigation-container {
	display: flex; align-items: center; justify-content: flex-end;
	min-height: var(--pm-utility-h);
	padding: 0 15px;
}
.top-navigation-container > .clear, .top-navigation-right > .clear { display: none; }
.top-navigation-right { float: none; display: flex; align-items: center; gap: 22px; margin: 0; }
.top-navigation-wrapper a { color: var(--pm-on-navy-70); }
.top-navigation-wrapper a:hover { color: #fff; }
.pm-utility-contact a { color: #fff; font-weight: 700; }
.top-social-wrapper { float: none; padding: 0; margin: 0; }
.gdlr-lms-header-signin {
	float: none;
	padding: 0 0 0 22px;
	border-left: 1px solid rgba(255,255,255,.18);
	font-size: 13px;
}
.gdlr-lms-header-signin:before { content: none; }
.gdlr-lms-header-signin i { display: none; }
.gdlr-lms-header-signin a { cursor: pointer; }
.gdlr-lms-header-signin .gdlr-separator { margin: 0 10px; color: rgba(255,255,255,.35); }

/* Header — white, sticky. The utility bar scrolls off (negative top), the white row pins. */
.gdlr-header-wrapper { position: sticky; top: calc(-1 * var(--pm-utility-h)); z-index: 99; background: #fff; }
.admin-bar .gdlr-header-wrapper { top: calc(32px - var(--pm-utility-h)); }
.gdlr-header-inner { background: #fff; border-bottom: 1px solid var(--pm-line); }
.gdlr-header-container {
	display: flex; align-items: center; justify-content: space-between; gap: 24px;
	min-height: var(--pm-header-h);
	max-width: var(--pm-container);
}
.gdlr-header-container > .clear, .gdlr-header-wrapper > .clear { display: none; }

/* Brand lockup: swirl mark + text wordmark (guide §7/§11 — the wordmark is type, not an image). */
.gdlr-logo { float: none; margin: 0 15px; padding: 0; max-width: none; position: relative; }
.pm-brand { display: inline-flex; align-items: center; gap: 14px; color: var(--pm-slate); text-decoration: none; }
.pm-brand:hover { color: var(--pm-navy); }
.pm-brand-mark { display: block; height: 120px; width: auto; margin-top: 5px; }
.pm-brand-word { font: italic 700 22px/1 var(--pm-font-sans); letter-spacing: -.01em; white-space: nowrap; }

/* Main navigation (superfish) */
.gdlr-navigation-wrapper { float: none; margin: 0 15px 0 0; }
.gdlr-navigation-wrapper > .clear { display: none; }
#gdlr-main-navigation { display: flex; align-items: center; }
#gdlr-main-navigation .gdlr-nav-search-form-button { display: none; }
.gdlr-navigation-wrapper .gdlr-main-menu { float: none; display: flex; align-items: center; }
.gdlr-navigation-wrapper .gdlr-main-menu > li { float: none; padding: 0; }
.gdlr-navigation-wrapper .gdlr-main-menu > li > a,
.gdlr-navigation-wrapper .gdlr-main-menu > li:first-child > a {
	display: block;
	font: 600 var(--pm-fs-small)/1.2 var(--pm-font-sans);
	color: var(--pm-ink);
	text-transform: none; letter-spacing: 0;
	margin: 0; padding: 34px 14px 31px;
	border-bottom: 3px solid transparent;
	transition: color var(--pm-ease), border-color var(--pm-ease);
}
.gdlr-navigation-wrapper .gdlr-main-menu > li > a:before { display: none; }
.gdlr-main-menu > li:hover > a, .gdlr-main-menu > li > a:hover { color: var(--pm-blue-800); }
.gdlr-main-menu > li.current-menu-item > a,
.gdlr-main-menu > li.current-menu-ancestor > a { color: var(--pm-blue-800); border-bottom-color: var(--pm-gold); }
.gdlr-navigation-wrapper .gdlr-main-menu > li > a.sf-with-ul { padding-right: 14px; }
.gdlr-navigation-wrapper .gdlr-main-menu > li > a.sf-with-ul:after {
	display: inline; content: "\25BE"; font-family: inherit;
	position: static; margin: 0 0 0 6px; font-size: 11px; line-height: 1; height: auto;
}

/* Dropdown: white card with hairline, soft shadow (guide §7 "Dropdown"). */
.gdlr-main-menu > .gdlr-normal-menu .sub-menu,
.gdlr-main-menu > .gdlr-normal-menu ul {
	background: #fff;
	border: 1px solid var(--pm-line); border-top-color: var(--pm-line);
	border-radius: var(--pm-radius-card);
	box-shadow: var(--pm-shadow-pop);
	padding: 6px 0; margin: 0; min-width: 200px;
}
.gdlr-main-menu > .gdlr-normal-menu li { background: #fff; border: 0; }
.gdlr-main-menu > li > .sub-menu a, .gdlr-main-menu > .gdlr-normal-menu li a {
	color: var(--pm-ink);
	font: 500 14px/1.4 var(--pm-font-sans);
	padding: 8px 16px; border: 0;
	text-transform: none; letter-spacing: 0;
}
.gdlr-main-menu > li > .sub-menu a:hover,
.gdlr-main-menu > li > .sub-menu .current-menu-item > a,
.gdlr-main-menu > li > .sub-menu .current-menu-ancestor > a { background: var(--pm-cloud); color: var(--pm-blue-800); }
.gdlr-main-menu > li > .sub-menu * { border-color: var(--pm-line); }
.gdlr-main-menu .gdlr-normal-menu li > a.sf-with-ul:after { color: var(--pm-mist); border: 0; }

/* Gold CTA at the end of the menu (added by functions.php). */
.gdlr-navigation-wrapper .gdlr-main-menu > li.pm-menu-cta > a {
	margin-left: 10px; padding: 12px 22px;
	border: 0; border-radius: var(--pm-radius-btn);
	background: var(--pm-gold); color: var(--pm-navy);
	font-weight: 700;
	transition: background-color var(--pm-ease), color var(--pm-ease);
}
.gdlr-navigation-wrapper .gdlr-main-menu > li.pm-menu-cta:hover > a,
.gdlr-navigation-wrapper .gdlr-main-menu > li.pm-menu-cta > a:hover,
.gdlr-navigation-wrapper .gdlr-main-menu > li.pm-menu-cta.current-menu-item > a { background: var(--pm-gold-d); color: var(--pm-navy); border-bottom-color: transparent; }

/* Gold tagline strip */
.pm-tagline { position: relative; z-index: 90; background: var(--pm-grad-gold); min-height: var(--pm-strip-h); display: flex; align-items: center; }
.pm-tagline .container { display: flex; align-items: center; gap: 10px; padding: 9px 15px; }
.pm-tagline .container::before { content: ""; flex: none; width: 7px; height: 7px; background: var(--pm-navy); transform: rotate(45deg); }
.pm-tagline-text { font: italic 600 14px/1.3 var(--pm-font-sans); letter-spacing: .01em; text-transform: uppercase; color: var(--pm-navy); }

/* Search form the parent prints under the header (button hidden above; keep the form harmless). */
.gdlr-nav-search-form { background: var(--pm-cloud); box-shadow: var(--pm-shadow-pop); }


/* ------------------------------------------------------------
   3. Mobile navigation (dl-menu, ≤767px)  (guide §7 "Mobile navigation")
   ------------------------------------------------------------ */
@media only screen and (max-width: 767px) {
	#gdlr-responsive-navigation.dl-menuwrapper button,
	#gdlr-responsive-navigation.dl-menuwrapper button:hover,
	#gdlr-responsive-navigation.dl-menuwrapper button.dl-active {
		background: var(--pm-navy);
		border-radius: var(--pm-radius-btn);
		width: 44px; height: 40px;
	}
	#gdlr-responsive-navigation.dl-menuwrapper ul { background: var(--pm-navy); }
	#gdlr-responsive-navigation.dl-menuwrapper > .dl-menu,
	#gdlr-responsive-navigation.dl-menuwrapper > .dl-submenu {
		top: 100%; left: 0; right: 0; width: auto;
		margin: 0; padding: 10px 8px 18px;
		border-radius: 0 0 6px 6px;
		box-shadow: var(--pm-shadow-pop);
		text-align: left;
	}
	#gdlr-responsive-navigation.dl-menuwrapper li a {
		color: #fff;
		font: 500 18px/1.3 var(--pm-font-sans);
		padding: 12px 20px;
	}
	#gdlr-responsive-navigation.dl-menuwrapper li a:hover { color: var(--pm-gold); background: transparent; }
	#gdlr-responsive-navigation.dl-menuwrapper li.dl-back > a {
		font: 500 12.5px/1.3 var(--pm-font-mono);
		letter-spacing: .1em; text-transform: uppercase;
		color: var(--pm-blue-300);
		background: transparent;
	}
	#gdlr-responsive-navigation.dl-menuwrapper li.dl-back:after,
	#gdlr-responsive-navigation.dl-menuwrapper li > a:not(:only-child):after { color: rgba(255,255,255,.5); }
	#gdlr-responsive-navigation.dl-menuwrapper li.pm-menu-cta > a {
		display: inline-block;
		margin: 12px 20px 4px; padding: 12px 22px;
		background: var(--pm-gold); color: var(--pm-navy);
		font-weight: 700;
		border-radius: var(--pm-radius-btn);
	}
	#gdlr-responsive-navigation.dl-menuwrapper li.pm-menu-cta > a:hover { background: var(--pm-gold-d); color: var(--pm-navy); }
	#gdlr-responsive-navigation.dl-menuwrapper li.pm-menu-email > a {
		margin-top: 8px; padding-top: 16px;
		border-top: var(--pm-hairline-on-navy);
		font: 400 15px/1.4 var(--pm-font-mono);
		color: var(--pm-blue-300);
	}
}


/* ------------------------------------------------------------
   4. Page title bar → interior hero  (guide §8b)
   The parent writes an inline background-image when a page has a header
   background option, hence the !important on the background.
   ------------------------------------------------------------ */
.gdlr-page-title-wrapper {
	background: var(--pm-navy) !important;
	background-image: none !important;
	padding: 58px 0 !important;
	text-align: left;
	line-height: var(--pm-lh-heading);
}
.gdlr-page-title-wrapper .gdlr-page-title-overlay { display: none; }
.gdlr-page-title-wrapper .gdlr-page-title-container::before {
	content: "Paulmar Education";
	display: block;
	margin: 0 20px 12px;
	font: 500 12px/1 var(--pm-font-mono);
	letter-spacing: .08em; text-transform: uppercase;
	color: var(--pm-on-navy-30);
}
.gdlr-page-title-wrapper .gdlr-page-title {
	display: block; margin: 0 20px;
	color: #fff;
	font: 600 var(--pm-fs-huge)/var(--pm-lh-heading) var(--pm-font-serif);
	letter-spacing: var(--pm-ls-heading);
	text-transform: none;
	text-wrap: pretty;
}
.gdlr-page-title-wrapper .gdlr-page-caption {
	display: block; margin: 14px 20px 0;
	max-width: 42em;
	font: 400 18px/1.5 var(--pm-font-sans);
	letter-spacing: 0; text-transform: none;
	color: var(--pm-on-navy-50);
}


/* ------------------------------------------------------------
   5. Buttons  (guide §4)
   Gold = the primary action; outline = the secondary. .body-wrapper
   prefixes out-rank the LMS plugin's generated lms-style-custom.css.
   ------------------------------------------------------------ */

/* Shared shape */
.body-wrapper .gdlr-button, .body-wrapper input[type="button"], .body-wrapper input[type="submit"],
.body-wrapper .gdlr-lms-button, .body-wrapper .gdlr-lms-button.cyan, .body-wrapper .gdlr-lms-button.blue,
.body-wrapper input[type="submit"].gdlr-lms-button, .body-wrapper input[type="submit"].gdlr-lms-button:focus,
.body-wrapper input[type="submit"].gdlr-lms-button:hover, .body-wrapper input[type="submit"].gdlr-lms-button:active,
.body-wrapper .pss-tool-primary, .pm-btn {
	display: inline-block;
	font: 700 var(--pm-fs-small)/1.2 var(--pm-font-sans);
	padding: 12px 22px; margin: 0 8px 8px 0;
	border: 0; border-radius: var(--pm-radius-btn);
	text-transform: none; letter-spacing: 0; text-decoration: none; text-align: center;
	cursor: pointer; -webkit-appearance: none; appearance: none;
	transition: background-color var(--pm-ease), color var(--pm-ease), box-shadow var(--pm-ease);
}

/* Gold — primary */
.body-wrapper .gdlr-button, .body-wrapper input[type="button"], .body-wrapper input[type="submit"],
.body-wrapper .gdlr-lms-button.cyan,
.body-wrapper input[type="submit"].gdlr-lms-button, .body-wrapper input[type="submit"].gdlr-lms-button:focus,
.body-wrapper input[type="submit"].gdlr-lms-button:hover, .body-wrapper input[type="submit"].gdlr-lms-button:active,
.body-wrapper .pss-tool-primary, .pm-btn-gold {
	background: var(--pm-gold); color: var(--pm-navy); box-shadow: none;
}
.body-wrapper .gdlr-button:hover, .body-wrapper input[type="button"]:hover, .body-wrapper input[type="submit"]:hover,
.body-wrapper .gdlr-lms-button.cyan:hover, .body-wrapper input[type="submit"].gdlr-lms-button:hover,
.body-wrapper .pss-tool-primary:hover, .pm-btn-gold:hover {
	background: var(--pm-gold-d); color: var(--pm-navy);
}

/* Outline — secondary (plain .gdlr-lms-button and the LMS "blue" modifier) */
.body-wrapper .gdlr-lms-button, .body-wrapper .gdlr-lms-button.blue, .pm-btn-outline {
	background: #fff; color: var(--pm-blue-800);
	box-shadow: inset 0 0 0 1.5px var(--pm-blue-800);
}
.body-wrapper .gdlr-lms-button:hover, .body-wrapper .gdlr-lms-button.blue:hover, .pm-btn-outline:hover {
	background: var(--pm-blue-050); color: var(--pm-blue-800);
}
/* …but the gold family still wins when both classes are present */
.body-wrapper .gdlr-lms-button.cyan, .body-wrapper input[type="submit"].gdlr-lms-button { background: var(--pm-gold); color: var(--pm-navy); box-shadow: none; }
.body-wrapper .gdlr-lms-button.cyan:hover, .body-wrapper input[type="submit"].gdlr-lms-button:hover { background: var(--pm-gold-d); }

/* Navy / destructive */
.body-wrapper .gdlr-lms-button.black { background: var(--pm-navy); color: #fff; box-shadow: none; }
.body-wrapper .gdlr-lms-button.black:hover { background: var(--pm-navy-deep); color: #fff; }
.body-wrapper .gdlr-lms-button.red { background: var(--pm-bad); color: #fff; box-shadow: none; }
.body-wrapper .gdlr-lms-button.red:hover { background: var(--pm-bad-deep); color: #fff; }

/* Course-grid card buttons ("Class Information" outline / "Enroll Now" or, once the
   student is enrolled, "View Course" — both gold) and the plain price tag on courses
   that have no self-study buttons (Class X). */
.gdlr-lms-course-grid2 .gdlr-lms-course-price span.price-button {
	display: inline-block;
	padding: 8px 14px;
	border-radius: var(--pm-radius-btn);
	background: var(--pm-blue-050); color: var(--pm-navy);
	font: 500 14px/1.2 var(--pm-font-mono);
}
.gdlr-lms-course-grid2 .gdlr-lms-course-price span.pss-grid-btn { padding: 0; font: 700 14px/1.2 var(--pm-font-sans); opacity: 1; }
.gdlr-lms-course-grid2 .gdlr-lms-course-price span.pss-grid-btn-register,
.gdlr-lms-course-grid2 .gdlr-lms-course-price span.pss-grid-btn-view { background: var(--pm-gold); color: var(--pm-navy); }
.gdlr-lms-course-grid2 .gdlr-lms-course-price span.pss-grid-btn-register:hover,
.gdlr-lms-course-grid2 .gdlr-lms-course-price span.pss-grid-btn-view:hover { background: var(--pm-gold-d); }
.gdlr-lms-course-grid2 .gdlr-lms-course-price span.pss-grid-btn-info { background: #fff; color: var(--pm-blue-800); box-shadow: inset 0 0 0 1.5px var(--pm-blue-800); }
.gdlr-lms-course-grid2 .gdlr-lms-course-price span.pss-grid-btn-info:hover { background: var(--pm-blue-050); }
.pss-grid-buttons .pss-grid-btn > a, .pss-grid-buttons .pss-grid-btn > a:hover, .pss-grid-buttons .pss-grid-btn > a:focus { padding: 11px 18px; color: inherit; }


/* ------------------------------------------------------------
   6. Cards  (guide §5 "signature card")
   ------------------------------------------------------------ */
.gdlr-lms-course-grid2 .gdlr-lms-item,
.gdlr-lms-course-single .gdlr-lms-course-info-wrapper,
.pss-login-paths .pss-login-path,
.pss-side-box, .pss-order, .pss-pay,
.gdlr-lms-admin-bar,
.gdlr-lms-lightbox-container {
	background: #fff;
	border: var(--pm-hairline);
	border-top: var(--pm-rule-top);
	border-radius: var(--pm-radius-card);
	box-shadow: var(--pm-shadow-card);
}

/* Course grid cards */
.gdlr-lms-course-grid2 .gdlr-lms-item {
	overflow: hidden;
	margin-bottom: 30px;
	transition: border-color var(--pm-ease), box-shadow var(--pm-ease);
}
.gdlr-lms-course-grid2 .gdlr-lms-item:hover {
	border-left-color: var(--pm-blue-500); border-right-color: var(--pm-blue-500); border-bottom-color: var(--pm-blue-500);
	box-shadow: var(--pm-shadow-card-hover);
}
.gdlr-lms-course-grid2 .gdlr-lms-course-thumbnail { background: var(--pm-blue-050); }
/* The LMS hands the grid its 190px "thumbnail" crop; a fixed 4:3 frame keeps the cards level and the upscale modest. */
.gdlr-lms-course-grid2 .gdlr-lms-course-thumbnail img { display: block; width: 100%; height: auto; aspect-ratio: 4 / 3; object-fit: cover; }
.gdlr-lms-course-grid2 .gdlr-lms-course-content { padding: 22px 24px 24px; }
.gdlr-lms-course-grid2 .gdlr-lms-course-title, .gdlr-lms-course-grid2 h3.gdlr-lms-course-title {
	font: 600 var(--pm-fs-x-large)/1.25 var(--pm-font-serif);
	letter-spacing: var(--pm-ls-heading); text-transform: none;
	margin: 0 0 16px; text-align: left;
}
.gdlr-lms-course-grid2 .gdlr-lms-course-title a { color: var(--pm-navy); }
.gdlr-lms-course-grid2 .gdlr-lms-course-title a:hover { color: var(--pm-blue-800); }
.gdlr-lms-course-grid2 .gdlr-lms-course-info {
	font: 500 12px/1.6 var(--pm-font-mono);
	letter-spacing: .06em; text-transform: uppercase;
	color: var(--pm-mist);
}

/* Single course: info sidebar */
.gdlr-lms-course-single .gdlr-lms-course-info-wrapper { padding: 26px; }
.gdlr-lms-course-single .gdlr-lms-course-info-author-image { border: 3px solid var(--pm-blue-050); border-radius: 50%; margin-bottom: 26px; }
.gdlr-lms-course-single .gdlr-lms-course-info .gdlr-lms-info {
	display: flex; justify-content: space-between; align-items: baseline; gap: 12px;
	padding: 12px 0; margin: 0;
	border-bottom: var(--pm-hairline);
	font-size: 14.5px;
}
.gdlr-lms-course-single .gdlr-lms-course-info .gdlr-lms-info .head {
	float: none; margin: 0;
	font: 500 12px/1.6 var(--pm-font-mono);
	letter-spacing: .06em; text-transform: uppercase;
	color: var(--pm-slate);
}
.gdlr-lms-course-single .gdlr-lms-course-info .gdlr-lms-info .head img { display: none; }
.gdlr-lms-course-single .gdlr-lms-course-info .gdlr-lms-info .tail,
.gdlr-lms-course-single .gdlr-lms-course-info .gdlr-lms-info .tail a { display: block; overflow: visible; text-align: right; color: var(--pm-ink); font-weight: 500; }
.gdlr-lms-course-single .gdlr-lms-course-price {
	display: flex; justify-content: space-between; align-items: baseline;
	padding: 14px 0 22px; margin: 0;
}
.gdlr-lms-course-single .gdlr-lms-course-price .head {
	font: 500 12px/1.6 var(--pm-font-mono); letter-spacing: .06em; text-transform: uppercase;
	color: var(--pm-slate); margin: 0;
}
.gdlr-lms-course-single .gdlr-lms-course-price .price { font: 600 26px/1 var(--pm-font-serif); color: var(--pm-navy); }
.pss-course-buttons { margin-top: 2px; }
.body-wrapper .pss-course-buttons .gdlr-lms-button { display: block; margin: 0 0 10px; }
.pss-button-note { color: var(--pm-mist); font-size: 12.5px; }
.gdlr-lms-course-single .gdlr-lms-course-thumbnail img { border-radius: var(--pm-radius-card); }
.gdlr-lms-course-single .gdlr-lms-course-content .gdlr-lms-course-title { display: none; }

/* LMS lightbox (utility-bar "Sign In") */
.gdlr-lms-lightbox-overlay { background: var(--pm-overlay); opacity: 1; }
.gdlr-lms-lightbox-container { padding: 40px 40px 36px; box-shadow: var(--pm-shadow-modal); }
.gdlr-lms-lightbox-wrapper .gdlr-lms-lightbox-title { font: 600 22px/1.2 var(--pm-font-serif); color: var(--pm-navy); margin-bottom: 22px; }
.gdlr-lms-lightbox-wrapper .gdlr-lms-lightbox-description { color: var(--pm-slate); font-weight: 400; }
.gdlr-lms-lightbox-form span { color: var(--pm-navy); font: 600 14.5px/1.4 var(--pm-font-sans); }
.gdlr-lms-lightbox-form input[type="text"], .gdlr-lms-lightbox-form input[type="email"],
.gdlr-lms-lightbox-form input[type="password"], .gdlr-lms-lightbox-form textarea { border: var(--pm-hairline); color: var(--pm-ink); }
.gdlr-lms-lightbox-close i, .gdlr-lms-lightbox-close { color: var(--pm-slate); }


/* ------------------------------------------------------------
   7. Forms  (guide §10) — LMS login / register / profile, generic inputs
   ------------------------------------------------------------ */
.gdlr-lms-form label { font: 600 var(--pm-fs-small)/1.4 var(--pm-font-sans); color: var(--pm-navy); margin-bottom: 6px; }
.body-wrapper input[type="text"], .body-wrapper input[type="email"], .body-wrapper input[type="password"],
.body-wrapper input[type="tel"], .body-wrapper input[type="number"], .body-wrapper textarea,
.body-wrapper .gdlr-lms-form input[type="text"], .body-wrapper .gdlr-lms-form input[type="email"],
.body-wrapper .gdlr-lms-form input[type="password"], .body-wrapper .gdlr-lms-form textarea,
.body-wrapper .gdlr-lms-form textarea:focus, .body-wrapper .gdlr-lms-quiz-answer textarea,
.body-wrapper .gdlr-lms-form .gdlr-lms-combobox {
	width: 100%; box-sizing: border-box; margin: 0;
	padding: 11px 12px;
	border: var(--pm-hairline); border-radius: var(--pm-radius-btn);
	background: #fff;
	font: 400 15px/1.4 var(--pm-font-sans);
	color: var(--pm-ink);
	transition: border-color var(--pm-ease), box-shadow var(--pm-ease);
}
.body-wrapper input[type="text"]:focus, .body-wrapper input[type="email"]:focus, .body-wrapper input[type="password"]:focus,
.body-wrapper input[type="tel"]:focus, .body-wrapper input[type="number"]:focus, .body-wrapper textarea:focus,
.body-wrapper .gdlr-lms-form textarea:focus, .body-wrapper .gdlr-lms-form .gdlr-lms-combobox:focus-within {
	outline: none;
	border-color: var(--pm-blue-500);
	box-shadow: 0 0 0 3px rgba(44,123,196,.15);
}
.body-wrapper input::placeholder, .body-wrapper textarea::placeholder { color: var(--pm-mist); }
.body-wrapper .gdlr-lms-form .gdlr-lms-combobox { padding: 0; }
.body-wrapper .gdlr-lms-form .gdlr-lms-combobox select { height: 44px; padding: 0 40px 0 12px; font: 400 15px/1.4 var(--pm-font-sans); color: var(--pm-ink); }
.gdlr-lms-form .gdlr-lms-combobox:after { border-left: 0; color: var(--pm-slate); padding-top: 12px; }
.gdlr-lms-form .gdlr-lms-half-left, .gdlr-lms-form .gdlr-lms-half-right { width: 49%; margin: 0 0 18px; }
.gdlr-lms-form .gdlr-lms-half-left { float: left; }
.gdlr-lms-form .gdlr-lms-half-right { float: right; }
.gdlr-lms-form .gdlr-lms-lost-password { font-size: 14px; }
.gdlr-lms-success { background: var(--pm-ok-bg); border: 1px solid var(--pm-ok-line); color: var(--pm-ok); padding: 12px 16px; border-radius: var(--pm-radius-btn); margin-bottom: 20px; }
.gdlr-lms-error { background: #fdecec; border: 1px solid #f3b3b3; color: var(--pm-bad-deep); padding: 12px 16px; border-radius: var(--pm-radius-btn); margin-bottom: 20px; }

/* Pre-enrolment instructions (login page + page 4389 shortcode) */
.pss-instructions { color: var(--pm-slate); font-size: 15.5px; line-height: var(--pm-lh-body); }
.pss-instructions .pss-li-title { font: 600 var(--pm-fs-xx-large)/var(--pm-lh-heading) var(--pm-font-serif); color: var(--pm-navy); margin-bottom: 6px; }
.pss-instructions .pss-li-subtitle { font: italic 500 16px/1.5 var(--pm-font-serif); color: var(--pm-slate); }
.pss-instructions .pss-li-list li { margin-bottom: 8px; }
.pss-instructions .pss-li-disclaimer-title {
	font: 500 12.5px/1.4 var(--pm-font-mono); letter-spacing: .1em; text-transform: uppercase;
	color: var(--pm-blue-600);
}
.pss-instructions .pss-li-disclaimer {
	background: var(--pm-blue-050);
	border-left: var(--pm-rule-side); border-radius: 0 4px 4px 0;
	color: var(--pm-ink); font-size: 14px;
}
.pss-login-paths .pss-login-path { padding: 26px 28px; }
.pss-login-paths .pss-login-path h3 { font: 600 var(--pm-fs-x-large)/1.25 var(--pm-font-serif); color: var(--pm-navy); }
.pss-login-paths .pss-login-path p { color: var(--pm-slate); font-size: 14.5px; }
/* One gold button per view: the returning-student Sign In is gold, the new-student CTA is outline. */
.body-wrapper .pss-login-paths .pss-login-cta { background: #fff; color: var(--pm-blue-800); box-shadow: inset 0 0 0 1.5px var(--pm-blue-800); }
.body-wrapper .pss-login-paths .pss-login-cta:hover { background: var(--pm-blue-050); color: var(--pm-blue-800); }
.pss-login-path-returning .gdlr-lms-form label { color: var(--pm-navy); font-size: 14.5px; }


/* ------------------------------------------------------------
   8. Tables & student dashboard  (/author/<user>/?type=…)
   ------------------------------------------------------------ */
.gdlr-lms-admin-bar { overflow: hidden; font-size: 14.5px; }
.gdlr-lms-admin-bar .gdlr-lms-admin-head { background: var(--pm-navy); padding: 22px 25px; }
.gdlr-lms-admin-bar .gdlr-lms-admin-head-thumbnail { border: 2px solid rgba(255,255,255,.2); }
.gdlr-lms-admin-bar .gdlr-lms-admin-head-content .gdlr-lms-welcome {
	font: 500 12px/1.6 var(--pm-font-mono); letter-spacing: .08em; text-transform: uppercase;
	color: var(--pm-on-navy-30);
}
.gdlr-lms-admin-bar .gdlr-lms-admin-head-content .gdlr-lms-name { font: 600 21px/1.2 var(--pm-font-serif); color: #fff; margin: 4px 0; }
.gdlr-lms-admin-bar .gdlr-lms-admin-head-content .gdlr-lms-role { color: var(--pm-on-navy-50); font-size: 13px; }
.gdlr-lms-admin-list { background: #fff; }
.gdlr-lms-admin-list li { border-top: var(--pm-hairline); padding: 11px 25px; }
.gdlr-lms-admin-list li a { color: var(--pm-ink); font-weight: 500; }
.gdlr-lms-admin-list li a:hover { color: var(--pm-blue-800); }
.gdlr-lms-admin-list li .gdlr-lms-notification { background: var(--pm-gold); color: var(--pm-navy); font: 500 11px/1.3 var(--pm-font-mono); border-radius: var(--pm-radius-pill); padding: 2px 8px; }
.gdlr-lms-admin-content .gdlr-lms-admin-head { font: 600 25px/1.2 var(--pm-font-serif); color: var(--pm-navy); text-transform: none; letter-spacing: var(--pm-ls-heading); }
.gdlr-lms-admin-content .gdlr-lms-admin-sub-head { font: 500 12.5px/1.4 var(--pm-font-mono); letter-spacing: .1em; text-transform: uppercase; color: var(--pm-blue-600); }

table.gdlr-lms-table { width: 100%; border-collapse: collapse; font-size: 15px; }
table.gdlr-lms-table th { background: var(--pm-navy); color: #fff; font: 600 13.5px/1.4 var(--pm-font-sans); padding: 10px 14px; }
table.gdlr-lms-table td { background: #fff; color: var(--pm-ink); border: var(--pm-hairline); padding: 10px 14px; }
table.gdlr-lms-table tr:nth-child(even) td { background: var(--pm-zebra); }
table.gdlr-lms-table td:first-child { border-left: var(--pm-hairline); }


/* ------------------------------------------------------------
   9. Homepage bands  (guide §9 "Section head")
   Wrapper backgrounds are inline (page-builder meta) and are set by
   tools/site/apply-brand-style-guide.php: slider navy → courses cloud.
   ------------------------------------------------------------ */
.ms-parent-id-3, .ms-parent-id-5 { background: var(--pm-navy); }
/* Hero slider chrome (guide §8a): gold progress bar, gold active dot, square arrows.
   The timer bar colour is an inline style written by MasterSlider, hence the !important. */
.ms-parent-id-3 .ms-time-bar, .ms-parent-id-5 .ms-time-bar { background: var(--pm-grad-gold-bar) !important; }
.ms-parent-id-3 .ms-timerbar, .ms-parent-id-5 .ms-timerbar { background: rgba(255,255,255,.12); }
.ms-parent-id-3 .ms-bullet, .ms-parent-id-5 .ms-bullet { background: rgba(255,255,255,.35); border-radius: 999px; width: 9px; height: 9px; transition: width var(--pm-ease-slow), background-color var(--pm-ease); }
.ms-parent-id-3 .ms-bullet.ms-bullet-selected, .ms-parent-id-5 .ms-bullet.ms-bullet-selected { background: var(--pm-gold); width: 26px; }
/* MasterSlider's JS sizes the dot box inline for its own 10px dots (64.8px for four), so the
   wider gold dot wrapped onto a second line. Size the box to its dots and keep them on one row;
   !important only because that width is an inline style. */
.ms-parent-id-3 .ms-bullets.ms-dir-h, .ms-parent-id-5 .ms-bullets.ms-dir-h { width: auto !important; right: auto; left: 50%; transform: translateX(-50%); }
.ms-parent-id-3 .ms-bullets.ms-dir-h .ms-bullets-count, .ms-parent-id-5 .ms-bullets.ms-dir-h .ms-bullets-count { right: auto; display: flex; flex-wrap: nowrap; align-items: center; }
.ms-parent-id-3 .ms-nav-next, .ms-parent-id-3 .ms-nav-prev,
.ms-parent-id-5 .ms-nav-next, .ms-parent-id-5 .ms-nav-prev { background-color: rgba(255,255,255,.08); border-radius: var(--pm-radius-btn); }
/* Text layers have no width in the slider settings; cap them at the guide's hero measure. */
.ms-parent-id-3 .msp-cn-3-26, .ms-parent-id-5 .msp-cn-3-26,
.ms-parent-id-3 .msp-cn-3-16, .ms-parent-id-5 .msp-cn-3-16 { max-width: 760px; }
.ms-parent-id-3 .msp-cn-3-29, .ms-parent-id-5 .msp-cn-3-29 { max-width: 620px; }
/* Paragraph under the California Insurance Code quote (tools/site/add-california-slide-intro.php):
   set apart from the quoted law as a quieter italic note, with a gold link to the trust-states PDF. */
.ms-parent-id-3 .pm-hero-intro, .ms-parent-id-5 .pm-hero-intro { display: block; font-style: italic; color: rgba(255,255,255,.78); }
.ms-parent-id-3 .pm-hero-intro a, .ms-parent-id-5 .pm-hero-intro a { color: var(--pm-gold); text-decoration: underline; text-underline-offset: 2px; }
.ms-parent-id-3 .pm-hero-intro a:hover, .ms-parent-id-5 .pm-hero-intro a:hover { color: #fff; }
.gdlr-item-title-wrapper.gdlr-item { margin-bottom: 50px; }
.gdlr-item-title-wrapper.pos-center { text-align: center; }
.gdlr-item-title-wrapper.pos-center::before {
	content: "Self-study classes";
	display: block;
	margin-bottom: 18px;
	font: 500 12.5px/1 var(--pm-font-mono);
	letter-spacing: .1em; text-transform: uppercase;
	color: var(--pm-blue-600);
}
.gdlr-item-title-wrapper .gdlr-item-title {
	font: 600 var(--pm-fs-xx-large)/var(--pm-lh-heading) var(--pm-font-serif);
	letter-spacing: var(--pm-ls-heading); text-transform: none;
	color: var(--pm-navy);
	border: 0; padding: 0;
}
.gdlr-item-title-wrapper .gdlr-item-title-divider { width: 64px; margin: 18px auto 0; border: 0; border-bottom: 3px solid var(--pm-gold); }
.gdlr-item-title-wrapper .gdlr-item-title-caption { font-size: 17.5px; line-height: 1.55; letter-spacing: 0; color: var(--pm-slate); max-width: 720px; margin: 14px auto 0; }
.home .gdlr-color-wrapper { border-top: var(--pm-hairline); }


/* ------------------------------------------------------------
   10. Footer — copyright bar only  (guide §7 "Footer" bottom row)
   ------------------------------------------------------------ */
.footer-wrapper { background: var(--pm-navy); color: var(--pm-on-navy-40); }
.footer-wrapper .copyright-wrapper {
	background: var(--pm-navy);
	border-top: var(--pm-hairline-on-navy);
	color: var(--pm-on-navy-40);
	font: 400 13px/1.6 var(--pm-font-sans);
}
.copyright-container { display: flex; justify-content: space-between; align-items: center; gap: 16px; padding: 22px 0; }
.copyright-container > .clear { display: none; }
.copyright-left, .copyright-right { float: none; margin: 0 15px; }
.copyright-left:empty { display: none; }
.copyright-wrapper a { color: var(--pm-on-navy-40); }
.copyright-wrapper a:hover { color: #fff; }


/* ------------------------------------------------------------
   11. Self-study plugin (player, quiz, checkout) — literals that the
   --pss-* variables in selfstudy.css do not reach. Never touch the
   PayPal button (.pss-paypal-btn / .pss-pp-word): brand colours.
   ------------------------------------------------------------ */
.pss-study-title, .pss-result-text h2, .pss-order h2, .pss-pay h2, .pss-side-box h3, .pss-order-text h3, .pss-fb-section, .pss-fb-answers h3 {
	font-family: var(--pm-font-serif); font-weight: 600; letter-spacing: var(--pm-ls-heading); color: var(--pm-navy);
}
.pss-badge { background: var(--pm-navy); font: 500 11px/1.4 var(--pm-font-mono); letter-spacing: .08em; border-radius: var(--pm-radius-btn); }
.pss-count-pill, .pss-slide-title, .pss-notes h3, .pss-counter, .pss-history, .pss-quiz-status, .pss-fb-head dt { font-family: var(--pm-font-mono); }
.pss-slide-title, .pss-notes h3 { font-weight: 500; letter-spacing: .08em; color: var(--pm-slate); }
.pss-back { color: var(--pm-slate); }
.pss-back:hover { color: var(--pm-blue-800); }
.pss-stage { background: var(--pm-navy); box-shadow: var(--pm-shadow-panel); }
.pss-stage:focus-visible { box-shadow: 0 0 0 3px var(--pm-gold), var(--pm-shadow-panel); }
.pss-loading { background: rgba(10,40,69,.35); }
.pss-progress-thin span, .pss-progress-bar span { background: var(--pm-grad-gold-bar); }
.pss-tool { transition: border-color var(--pm-ease), color var(--pm-ease), background-color var(--pm-ease); }
/* Player controls are chrome; the sidebar "take the quiz" CTA is the view's one gold button. */
.body-wrapper .pss-tool-primary { background: var(--pm-navy); color: #fff; }
.body-wrapper .pss-tool-primary:hover { background: var(--pm-navy-deep); color: #fff; }
.pss-tool[aria-pressed="true"] { background: var(--pm-navy); border-color: var(--pm-navy); }
.pss-thumb.is-current { border-color: var(--pm-gold); }
.pss-notice { border-radius: var(--pm-radius-btn); }
.pss-notice-success { background: var(--pm-ok-bg); border-color: var(--pm-ok-line); color: var(--pm-ok); }
.pss-notice-info { background: var(--pm-blue-050); border-color: var(--pm-blue-300); color: var(--pm-navy); }
.pss-notice-warn { background: var(--pm-gold-tint); border-color: var(--pm-gold-2); color: #6b4a00; }
.pss-notice-error, .pss-quiz-error { background: #fdecec; border-color: #f3b3b3; color: var(--pm-bad-deep); }
.pss-toast { background: var(--pm-bad-deep); }
.pss-question { border-radius: var(--pm-radius-card); }
.pss-question.is-correct, .pss-result-card.is-pass { border-color: var(--pm-ok-line); background: var(--pm-ok-bg); }
.pss-question.is-wrong, .pss-result-card.is-fail { border-color: #f3b3b3; background: #fdecec; }
.pss-question.is-missing { border-color: var(--pm-gold-2); background: var(--pm-gold-tint); }
.is-correct .pss-question-mark, .pss-quiz-status.is-complete { color: var(--pm-ok); }
.is-wrong .pss-question-mark { color: var(--pm-bad-deep); }
.pss-choice { border-radius: var(--pm-radius-pill); }
.pss-choice:hover { border-color: var(--pm-blue-500); }
.pss-choice input { accent-color: var(--pm-blue-800); }
.pss-choice:has(input:checked) { background: var(--pm-navy); border-color: var(--pm-navy); }
.pss-result-card { border-radius: var(--pm-radius-card); }
.pss-result-score strong { font-family: var(--pm-font-serif); color: var(--pm-navy); }
.pss-quiz-footer { border-top: var(--pm-hairline); }
.pss-quiz-intro, .pss-audio, .pss-notes { border-radius: var(--pm-radius-btn); }
.pss-order-price, .pss-order-total { color: var(--pm-navy); }
.pss-order-total strong { font-family: var(--pm-font-serif); font-size: 18px; }
.pss-dashboard-cert-link { font-family: var(--pm-font-mono); }


/* ------------------------------------------------------------
   12. Focus & motion  (guide §12)
   ------------------------------------------------------------ */
:focus-visible { outline: var(--pm-focus); outline-offset: 2px; }
.top-navigation-wrapper :focus-visible, .pm-tagline :focus-visible, .dl-menu :focus-visible,
.gdlr-page-title-wrapper :focus-visible, .footer-wrapper :focus-visible { outline-color: #fff; }
.body-wrapper input:focus-visible, .body-wrapper textarea:focus-visible, .body-wrapper select:focus-visible { outline: none; }
.pm-skip { position: absolute; left: -999px; top: 0; z-index: 1000; background: var(--pm-gold); color: var(--pm-navy); padding: 8px 12px; font-weight: 700; border-radius: 0 0 4px 0; }
.pm-skip:focus { left: 16px; top: 16px; }
@media (prefers-reduced-motion: reduce) {
	*, *::before, *::after { transition-duration: .01ms !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; }
}


/* ------------------------------------------------------------
   13. Carried over from the retired stylesheet/style-custom.css
   (only the rules with a functional role; restyled to the tokens)
   ------------------------------------------------------------ */

/* Course thumbnail caption overlay — markup from goodlayers-lms/include/course-item.php (no plugin CSS). */
.gdlr-lms-course-thumbnail-caption { position: relative; z-index: 89; }
.gdlr-lms-course-thumbnail-caption img { display: block; }
/* Navy scrim, heaviest behind the copy at the top, so the photo still reads underneath (guide §8a hero scrim, rotated). */
.gdlr-image-caption-overlay { position: absolute; top: 0; right: 0; bottom: 0; left: 0; opacity: 1;
	background: linear-gradient(180deg, rgba(10,40,69,.96) 0%, rgba(10,40,69,.86) 45%, rgba(10,40,69,.45) 100%); }
.gdlr-image-caption-container { background: transparent; position: absolute; top: 0; left: 0; right: 0; padding: 22px 24px; }
.gdlr-image-caption-container p { color: var(--pm-on-navy-80); font: italic 500 15.5px/1.55 var(--pm-font-serif); margin: 0; padding-left: 14px; border-left: var(--pm-rule-side); }
.gdlr-lms-course-thumbnail-caption span { background: transparent; position: relative; }

/* The self-study buttons replace the LMS's own buy/book UI on course pages. */
.gdlr-lms-course-single .gdlr-lms-course-info-wrapper .gdlr-lms-book-button,
.gdlr-lms-course-single .gdlr-lms-course-info-wrapper .gdlr-lms-buy-button { display: none; }
.gdlr-lms-single-course-info { display: none; }

/* Drop-cap lead-ins on the classic-HTML About pages (4355 / 4374) — serif italic = "voice". */
.lead-in { font-family: var(--pm-font-serif); font-style: italic; font-weight: 600; font-size: 1.35em; color: var(--pm-navy); padding-right: 2px; }

/* Page-break marker used by the homepage `content` builder item. */
#page-break { page-break-before: always; }

/* Was hand-appended to the parent's generated style-custom.css (lost on the first admin-panel save). */
body .gdlr-lms-coupon-full-width { margin-bottom: 25px; }

/* Ultimate FAQs */
.ufaq-faq-div h4 { font: 600 16px/1.4 var(--pm-font-sans); color: var(--pm-navy); }

/* Demo testimonial wrapper — hidden until the replay script removes it from the builder tree. */
.gdlr-testimonial-item-wrapper { display: none; }

/* Certificate (posts 5640 / 5721 — the LMS HTML templates on the dashboard). Kept verbatim. */
div.certificate-wrapper { background: linear-gradient(to top, #66ff66 0%, #ccff99 100%); }
div.certificate-wrapper .title { font-family: serif; }
div.certificate-wrapper .business { font-weight: bold; color: #002060; }
div.certificate-wrapper .bold { font-weight: bold; }
div.certificate-name { font-family: serif; }
div.certificate-wrapper .tighter { line-height: 1.25; }
div.certificate-wrapper .looser { line-height: 2; }


/* ------------------------------------------------------------
   14. Responsive — the parent's breakpoints (1100 / 959 / 767 / 419)
   mapped to the guide's tiers (§13)
   ------------------------------------------------------------ */
@media only screen and (max-width: 1100px) {
	.gdlr-navigation-wrapper .gdlr-main-menu > li > a,
	.gdlr-navigation-wrapper .gdlr-main-menu > li:first-child > a { padding-left: 10px; padding-right: 10px; }
}

@media only screen and (max-width: 959px) {
	.gdlr-header-container { flex-direction: column; align-items: center; gap: 0; padding-top: 14px; }
	.gdlr-logo { margin: 0 auto !important; padding: 0 !important; }
	.pm-brand-mark { height: 96px; margin-top: 0; }
	.gdlr-navigation-wrapper { margin: 4px 0 0 !important; line-height: 1; }
	#gdlr-main-navigation, .gdlr-navigation-wrapper .gdlr-main-menu { justify-content: center; flex-wrap: wrap; }
	.gdlr-navigation-wrapper .gdlr-main-menu > li > a,
	.gdlr-navigation-wrapper .gdlr-main-menu > li:first-child > a { padding: 14px 12px 11px; }
	.gdlr-navigation-wrapper .gdlr-main-menu > li.pm-menu-cta > a { margin: 6px 0 10px 10px; padding: 10px 18px; }
	.gdlr-lms-course-single .gdlr-lms-course-info-wrapper { width: auto; float: none; margin: 0 0 30px; }
	.gdlr-lms-course-grid2-wrapper .gdlr-lms-col3, .gdlr-lms-course-grid2-wrapper .gdlr-lms-col4 { width: 50%; }
	.gdlr-lms-admin-bar { float: none; width: auto; margin: 0 0 30px; }
}

@media only screen and (max-width: 767px) {
	.gdlr-header-wrapper, .admin-bar .gdlr-header-wrapper { position: static; }
	.top-navigation-container { min-height: 0; padding: 8px 15px; }
	.top-navigation-right { flex-wrap: wrap; justify-content: center; gap: 8px 16px; width: 100%; }
	.gdlr-lms-header-signin { padding: 0; border: 0; }
	.gdlr-header-container { padding-top: 0; }
	body .gdlr-logo { display: block; width: 100%; margin: 0 !important; padding: 14px 70px 14px 15px !important; text-align: left; }
	.pm-brand-mark { height: 84px; }
	.pm-brand-word { font-size: 18px; }
	#gdlr-responsive-navigation .dl-trigger { right: 15px; top: 50%; margin-top: -20px; }
	.pm-tagline .container { padding: 8px 15px; }
	.pm-tagline-text { font-size: 13px; }
	.gdlr-page-title-wrapper { padding: 40px 0 !important; }
	.gdlr-page-title-wrapper .gdlr-page-title { font-size: 32px; }
	.gdlr-lms-form .gdlr-lms-half-left, .gdlr-lms-form .gdlr-lms-half-right { width: 100%; float: none; }
	.gdlr-lms-course-grid2-wrapper .gdlr-lms-col2, .gdlr-lms-course-grid2-wrapper .gdlr-lms-col3, .gdlr-lms-course-grid2-wrapper .gdlr-lms-col4 { width: 100%; }
	.copyright-container { flex-direction: column; align-items: flex-start; gap: 6px; }

	/* MasterSlider scales every layer with the slider width, so at phone widths the hero
	   copy shrinks to ~8px. Keep the slide heading readable at a fixed size and drop the
	   body paragraphs and button (guide §13: hero title 27px, lead hidden at 390). The
	   plugin writes these as inline styles, hence the !important. */
	.ms-parent-id-3 .msp-cn-3-26, .ms-parent-id-5 .msp-cn-3-26,
	.ms-parent-id-3 .msp-cn-3-16, .ms-parent-id-5 .msp-cn-3-16,
	.ms-parent-id-3 .msp-preset-3, .ms-parent-id-5 .msp-preset-3,
	.ms-parent-id-3 .msp-preset-6, .ms-parent-id-5 .msp-preset-6 {
		font-size: 21px !important; line-height: 1.2 !important;
		top: 22px !important; left: 20px !important;
		max-width: calc(100vw - 48px) !important;
	}
	.ms-parent-id-3 .msp-cn-3-29, .ms-parent-id-5 .msp-cn-3-29,
	.ms-parent-id-3 .msp-cn-3-14, .ms-parent-id-5 .msp-cn-3-14,
	.ms-parent-id-3 .msp-preset-5, .ms-parent-id-5 .msp-preset-5,
	.ms-parent-id-3 .msp-cn-3-6, .ms-parent-id-5 .msp-cn-3-6,
	.ms-parent-id-3 .msp-cn-1-9, .ms-parent-id-5 .msp-cn-1-9,
	.ms-parent-id-3 [class*="msp-cn-3-3"], .ms-parent-id-5 [class*="msp-cn-3-3"] { display: none !important; }
}

@media only screen and (max-width: 419px) {
	.pm-brand-mark { height: 60px; }
	.pm-brand-word { font-size: 16px; }
	.pm-brand { gap: 10px; }
	body .gdlr-logo { padding-right: 64px !important; }
	.top-social-wrapper { display: none; }
	.gdlr-page-title-wrapper .gdlr-page-title { font-size: 28px; }
}
