/*
Theme Name: Astra Child - Mega Lecture
Description: Child theme for megalecture.com. Custom CSS/PHP lives here so Astra updates never overwrite it.
Template: astra
Version: 1.0.12
*/

/* ---- Mega Lecture homepage redesign (draft 33867 / go-live) ---------------------------- */
/* Exam-board chips in the strip under the hero (rendered from a text widget). */
.ml-chips { margin: 0; line-height: 1; }
.ml-chip {
	display: inline-block;
	font: 600 12.5px/1 "Montserrat", "Segoe UI", system-ui, sans-serif;
	color: #0e0e0e;
	background: #fff;
	border: 1px solid rgba(0, 0, 0, .09);
	padding: 8px 14px;
	border-radius: 5px;
	margin: 0 8px 8px 0;
}
/* Stat labels sit tight under their numbers. */
.ml-hero .elementor-widget-heading + .elementor-widget-heading { margin-top: 0; }
/* Testimonial photos: small round avatars. */
.elementor-testimonial-wrapper .elementor-testimonial-image img { width: 44px; height: 44px; object-fit: cover; }

/* ---- Breadcrumb bar (Astra + Rank Math): cyan band, white text ------------------------------- */
.ast-header-breadcrumb { background: #35c8ea; border: 0; }
.ast-header-breadcrumb .ast-breadcrumbs-wrapper { padding: 9px 0; }
.ast-header-breadcrumb,
.ast-header-breadcrumb a,
.ast-header-breadcrumb span,
.ast-header-breadcrumb .rank-math-breadcrumb,
.ast-header-breadcrumb .separator { color: #fff; font-family: "Montserrat", sans-serif; font-size: 13px; font-weight: 400; }
.ast-header-breadcrumb .rank-math-breadcrumb .last,
.ast-header-breadcrumb .rank-math-breadcrumb .separator { color: rgba(255, 255, 255, .8); }
.ast-header-breadcrumb .rank-math-breadcrumb .last { font-weight: 700; color: #08313d; }
.ast-header-breadcrumb a:hover { color: #08313d; text-decoration: underline; text-underline-offset: 3px; }

/* ---- Archive hero (blog index, course archive) - printed by functions.php ---------------------- */
.ml-arch-hero { background: #0e0e0e; padding: 64px 20px 56px; text-align: center; }
.ml-arch-hero__inner { max-width: 800px; margin: 0 auto; }
.ml-arch-hero__eyebrow { margin: 0 0 10px; font: 700 11px/1.4 "Montserrat", sans-serif; letter-spacing: 1.5px; text-transform: uppercase; color: #35c8ea; }
.ml-arch-hero h1.ml-arch-hero__title { margin: 0; font: 700 46px/1.08 "Montserrat", sans-serif; letter-spacing: -1.4px; color: #fff; text-wrap: balance; }
.ml-arch-hero__sub { max-width: 680px; margin: 16px auto 0; font: 400 16.5px/1.65 "Montserrat", sans-serif; color: #c9c7c1; }
.ml-arch-hero__cta { display: flex; flex-wrap: wrap; justify-content: center; gap: 12px; margin-top: 26px; }
.ml-btn { display: inline-block; padding: 14px 26px; border-radius: 9px; font: 700 15px/1.2 "Montserrat", sans-serif; text-decoration: none; transition: background-color .15s ease, color .15s ease, border-color .15s ease; }
.ml-btn--primary { background: #ffd12e; color: #0e0e0e; }
.ml-btn--primary:hover { background: #f2c300; color: #0e0e0e; }
.ml-btn--ghost { background: transparent; color: #fff; border: 1px solid rgba(255, 255, 255, .35); }
.ml-btn--ghost:hover { background: #fff; color: #0e0e0e; border-color: #fff; }
@media (max-width: 1024px) { .ml-arch-hero h1.ml-arch-hero__title { font-size: 38px; } }
@media (max-width: 767px) {
	.ml-arch-hero { padding: 40px 16px 32px; }
	.ml-arch-hero h1.ml-arch-hero__title { font-size: 32px; letter-spacing: -.8px; }
	.ml-arch-hero__cta { flex-direction: column; }
	.ml-btn { text-align: center; }
}

/* ---- Elementor pages whose stored content still carries block comments ---------------------- */
/* Astra sees has_blocks() and boxes every direct child of .entry-content to its 910px block width,
   which squeezes the whole Elementor layout (seen on /sat-practice-test/). Elementor owns the width. */
.ast-page-builder-template .entry-content[data-ast-blocks-layout] > .elementor { max-width: none; margin-left: 0; margin-right: 0; }

/* ---- Demo popup (Popup Maker #32306, LeadConnector form) ---------------------------------- */
#pum-32306 .pum-container { max-width: 550px; border-radius: 16px; overflow: hidden; }
/* Popup Maker sets a fixed inline width for "custom" size; keep it inside small screens. */
@media (max-width: 640px) { #pum-32306 .pum-container { width: calc(100vw - 24px) !important; left: 12px !important; right: 12px !important; margin: 0 auto; } }
#pum-32306 .pum-content { padding: 0; }
#pum-32306 .pum-content > p:empty { display: none; }
#pum-32306 .pum-content iframe { display: block; width: 100%; height: 1120px !important; border: 0; }
@media (max-width: 767px) { #pum-32306 .pum-content iframe { height: 1180px !important; } }
#pum-32306 .pum-content + .pum-close { font-family: "Montserrat", sans-serif; }

/* ---- Phase 3: light title band (printed by functions.php ml_band) -------------------------- */
.ml-band { background: #faf9f6; border-bottom: 1px solid rgba(0, 0, 0, .09); padding: 52px 20px 44px; text-align: center; }
.ml-band--compact { padding: 40px 20px 34px; }
.ml-band__inner { max-width: 860px; margin: 0 auto; }
.ml-band__eyebrow { margin: 0 0 10px; font: 700 11px/1.4 "Montserrat", sans-serif; letter-spacing: 1.5px; text-transform: uppercase; color: #0b6a85; }
.ml-band h1.ml-band__title { margin: 0; font: 700 40px/1.12 "Montserrat", sans-serif; letter-spacing: -1px; color: #0e0e0e; text-wrap: balance; }
.ml-band--compact h1.ml-band__title { font-size: 34px; letter-spacing: -.8px; }
.ml-band__cta { display: flex; flex-wrap: wrap; justify-content: center; gap: 10px; margin-top: 24px; }
.ml-btn--ghost-dark { background: #fff; color: #0e0e0e; border: 1px solid rgba(0, 0, 0, .14); }
.ml-btn--ghost-dark:hover { background: #f4f3ee; color: #0e0e0e; border-color: #0e0e0e; }
.ml-anchor { display: block; scroll-margin-top: 96px; }
/* Band pages: no duplicate WooCommerce breadcrumb (the cyan bar already shows it); breathing room under the band. */
.ml-band-page .woocommerce-breadcrumb { display: none; }
.ml-band-page .entry-header:empty, .ml-band-page .entry-header.ast-header-without-markup { display: none; }
body.ml-band--app:not(.woocommerce-shop) #content.site-content, body.ml-band--notes #content.site-content { padding-top: 36px; }
/* Legal pages written as plain HTML: a readable centred column instead of edge-to-edge text. */
.ml-band--legal:not(.elementor-page) .entry-content { max-width: 860px; margin: 36px auto 64px; padding: 0 20px; }
/* Block-editor notes pages have no side padding of their own on narrower screens. */
@media (max-width: 1240px) { body.ml-band--notes .entry-content { padding-left: 20px; padding-right: 20px; } }
@media (max-width: 1024px) { .ml-band h1.ml-band__title { font-size: 34px; } }
@media (max-width: 767px) {
	.ml-band { padding: 34px 16px 30px; }
	.ml-band h1.ml-band__title, .ml-band--compact h1.ml-band__title { font-size: 27px; letter-spacing: -.5px; }
	.ml-band__cta { flex-direction: column; }
	.ml-band__cta .ml-btn { text-align: center; }
	body.ml-band--app:not(.woocommerce-shop) #content.site-content, body.ml-band--notes #content.site-content { padding-top: 24px; }
}

/* ==== Phase 4 style audit: book-notes (designed + adversarially reviewed 2026-09-17) ==== */
/* ---- Book notes pages 33660 33665 33667 33670 33673 33675 (pasted standalone HTML in div.wrap): kit styling ---------------- */
/* Their inline <style> is printed later in the document, so every rule here out-specifies it: body.page-id-N .wrap = (0,2,1).
   Selectors are listed per page (no grouped is-selector) so older Android browsers still apply the whole block. */
body.page-id-33660 .wrap, body.page-id-33665 .wrap, body.page-id-33667 .wrap, body.page-id-33670 .wrap, body.page-id-33673 .wrap, body.page-id-33675 .wrap { --cyan: #35c8ea; --yellow: #ffd12e; --black: #0e0e0e; font-family: "Montserrat", sans-serif; color: #3d3b37; line-height: 1.6; padding-top: 40px; }
body.page-id-33660 .wrap > .breadcrumb, body.page-id-33665 .wrap > .breadcrumb, body.page-id-33667 .wrap > .breadcrumb, body.page-id-33670 .wrap > .breadcrumb, body.page-id-33673 .wrap > .breadcrumb, body.page-id-33675 .wrap > .breadcrumb { display: none; }
body.page-id-33660 .wrap .hero, body.page-id-33665 .wrap .hero, body.page-id-33667 .wrap .hero, body.page-id-33670 .wrap .hero, body.page-id-33673 .wrap .hero, body.page-id-33675 .wrap .hero { margin-bottom: 28px; padding: 32px; background: #faf9f6; border: 1px solid rgba(0, 0, 0, .09); border-radius: 16px; }
body.page-id-33660 .wrap .hero .cover, body.page-id-33665 .wrap .hero .cover, body.page-id-33667 .wrap .hero .cover, body.page-id-33670 .wrap .hero .cover, body.page-id-33673 .wrap .hero .cover, body.page-id-33675 .wrap .hero .cover { background: #fff; border: 1px solid rgba(0, 0, 0, .09); border-radius: 12px; box-shadow: 0 8px 20px rgba(0, 0, 0, .06); }
body.page-id-33660 .wrap .hero h1, body.page-id-33665 .wrap .hero h1, body.page-id-33667 .wrap .hero h1, body.page-id-33670 .wrap .hero h1, body.page-id-33673 .wrap .hero h1, body.page-id-33675 .wrap .hero h1 { margin: 0 0 14px; font: 700 30px/1.2 "Montserrat", sans-serif; letter-spacing: -.5px; text-transform: none; color: #0e0e0e; text-wrap: balance; }
body.page-id-33660 .wrap .hero .bibliographic, body.page-id-33665 .wrap .hero .bibliographic, body.page-id-33667 .wrap .hero .bibliographic, body.page-id-33670 .wrap .hero .bibliographic, body.page-id-33673 .wrap .hero .bibliographic, body.page-id-33675 .wrap .hero .bibliographic { margin-bottom: 22px; font-size: 14px; line-height: 1.6; color: #3d3b37; }
body.page-id-33660 .wrap .hero .bibliographic strong, body.page-id-33665 .wrap .hero .bibliographic strong, body.page-id-33667 .wrap .hero .bibliographic strong, body.page-id-33670 .wrap .hero .bibliographic strong, body.page-id-33673 .wrap .hero .bibliographic strong, body.page-id-33675 .wrap .hero .bibliographic strong { font-weight: 700; color: #0e0e0e; }
body.page-id-33660 .wrap .cta-row, body.page-id-33665 .wrap .cta-row, body.page-id-33667 .wrap .cta-row, body.page-id-33670 .wrap .cta-row, body.page-id-33673 .wrap .cta-row, body.page-id-33675 .wrap .cta-row { gap: 10px; }
body.page-id-33660 .wrap .btn, body.page-id-33665 .wrap .btn, body.page-id-33667 .wrap .btn, body.page-id-33670 .wrap .btn, body.page-id-33673 .wrap .btn, body.page-id-33675 .wrap .btn { padding: 13px 22px; border: 1px solid transparent; border-radius: 9px; font: 700 15px/1.2 "Montserrat", sans-serif; letter-spacing: 0; text-transform: none; text-decoration: none; transition: background-color .15s ease, border-color .15s ease, color .15s ease; }
body.page-id-33660 .wrap .btn-primary, body.page-id-33665 .wrap .btn-primary, body.page-id-33667 .wrap .btn-primary, body.page-id-33670 .wrap .btn-primary, body.page-id-33673 .wrap .btn-primary, body.page-id-33675 .wrap .btn-primary { background: #ffd12e; border-color: #ffd12e; color: #0e0e0e; }
body.page-id-33660 .wrap .btn-primary:hover, body.page-id-33665 .wrap .btn-primary:hover, body.page-id-33667 .wrap .btn-primary:hover, body.page-id-33670 .wrap .btn-primary:hover, body.page-id-33673 .wrap .btn-primary:hover, body.page-id-33675 .wrap .btn-primary:hover { background: #f2c300; border-color: #f2c300; color: #0e0e0e; }
body.page-id-33660 .wrap .btn-secondary, body.page-id-33665 .wrap .btn-secondary, body.page-id-33667 .wrap .btn-secondary, body.page-id-33670 .wrap .btn-secondary, body.page-id-33673 .wrap .btn-secondary, body.page-id-33675 .wrap .btn-secondary,
body.page-id-33660 .wrap .btn-whatsapp, body.page-id-33665 .wrap .btn-whatsapp, body.page-id-33667 .wrap .btn-whatsapp, body.page-id-33670 .wrap .btn-whatsapp, body.page-id-33673 .wrap .btn-whatsapp, body.page-id-33675 .wrap .btn-whatsapp { background: #fff; border-color: rgba(0, 0, 0, .14); color: #0e0e0e; }
body.page-id-33660 .wrap .btn-secondary:hover, body.page-id-33665 .wrap .btn-secondary:hover, body.page-id-33667 .wrap .btn-secondary:hover, body.page-id-33670 .wrap .btn-secondary:hover, body.page-id-33673 .wrap .btn-secondary:hover, body.page-id-33675 .wrap .btn-secondary:hover,
body.page-id-33660 .wrap .btn-whatsapp:hover, body.page-id-33665 .wrap .btn-whatsapp:hover, body.page-id-33667 .wrap .btn-whatsapp:hover, body.page-id-33670 .wrap .btn-whatsapp:hover, body.page-id-33673 .wrap .btn-whatsapp:hover, body.page-id-33675 .wrap .btn-whatsapp:hover { background: #f4f3ee; border-color: #0e0e0e; color: #0e0e0e; }
body.page-id-33660 .wrap .btn:focus-visible, body.page-id-33665 .wrap .btn:focus-visible, body.page-id-33667 .wrap .btn:focus-visible, body.page-id-33670 .wrap .btn:focus-visible, body.page-id-33673 .wrap .btn:focus-visible, body.page-id-33675 .wrap .btn:focus-visible,
body.page-id-33660 .wrap .back-link a:focus-visible, body.page-id-33665 .wrap .back-link a:focus-visible, body.page-id-33667 .wrap .back-link a:focus-visible, body.page-id-33670 .wrap .back-link a:focus-visible, body.page-id-33673 .wrap .back-link a:focus-visible, body.page-id-33675 .wrap .back-link a:focus-visible { outline: 2px solid #0b6a85; outline-offset: 2px; }
body.page-id-33660 .wrap .disclaimer, body.page-id-33665 .wrap .disclaimer, body.page-id-33667 .wrap .disclaimer, body.page-id-33670 .wrap .disclaimer, body.page-id-33673 .wrap .disclaimer, body.page-id-33675 .wrap .disclaimer { margin-bottom: 32px; padding: 12px 16px; background: #e6f7fc; border-left: 3px solid #35c8ea; border-radius: 0 9px 9px 0; font-size: 13px; line-height: 1.6; color: #6b6963; }
body.page-id-33660 .wrap section.content h2, body.page-id-33665 .wrap section.content h2, body.page-id-33667 .wrap section.content h2, body.page-id-33670 .wrap section.content h2, body.page-id-33673 .wrap section.content h2, body.page-id-33675 .wrap section.content h2,
body.page-id-33660 .wrap .final-cta h2, body.page-id-33665 .wrap .final-cta h2, body.page-id-33667 .wrap .final-cta h2, body.page-id-33670 .wrap .final-cta h2, body.page-id-33673 .wrap .final-cta h2, body.page-id-33675 .wrap .final-cta h2 { display: block; padding: 0; border: 0; font: 700 24px/1.25 "Montserrat", sans-serif; letter-spacing: -.3px; text-transform: none; color: #0e0e0e; }
body.page-id-33660 .wrap section.content h2, body.page-id-33665 .wrap section.content h2, body.page-id-33667 .wrap section.content h2, body.page-id-33670 .wrap section.content h2, body.page-id-33673 .wrap section.content h2, body.page-id-33675 .wrap section.content h2 { margin: 40px 0 12px; }
body.page-id-33660 .wrap section.content > p, body.page-id-33665 .wrap section.content > p, body.page-id-33667 .wrap section.content > p, body.page-id-33670 .wrap section.content > p, body.page-id-33673 .wrap section.content > p, body.page-id-33675 .wrap section.content > p { font-size: 16px; line-height: 1.7; color: #3d3b37; }
body.page-id-33660 .wrap .topic-grid, body.page-id-33665 .wrap .topic-grid, body.page-id-33667 .wrap .topic-grid, body.page-id-33670 .wrap .topic-grid, body.page-id-33673 .wrap .topic-grid, body.page-id-33675 .wrap .topic-grid { gap: 14px; margin-top: 16px; }
body.page-id-33660 .wrap .topic-card, body.page-id-33665 .wrap .topic-card, body.page-id-33667 .wrap .topic-card, body.page-id-33670 .wrap .topic-card, body.page-id-33673 .wrap .topic-card, body.page-id-33675 .wrap .topic-card { padding: 18px 20px; background: #fff; border: 1px solid rgba(0, 0, 0, .09); border-radius: 14px; }
body.page-id-33660 .wrap .topic-card h3, body.page-id-33665 .wrap .topic-card h3, body.page-id-33667 .wrap .topic-card h3, body.page-id-33670 .wrap .topic-card h3, body.page-id-33673 .wrap .topic-card h3, body.page-id-33675 .wrap .topic-card h3 { margin: 0 0 6px; font: 700 15px/1.4 "Montserrat", sans-serif; color: #0e0e0e; }
body.page-id-33660 .wrap .topic-card p, body.page-id-33665 .wrap .topic-card p, body.page-id-33667 .wrap .topic-card p, body.page-id-33670 .wrap .topic-card p, body.page-id-33673 .wrap .topic-card p, body.page-id-33675 .wrap .topic-card p { font-size: 14px; line-height: 1.6; color: #6b6963; }
body.page-id-33660 .wrap .tips-list, body.page-id-33665 .wrap .tips-list, body.page-id-33667 .wrap .tips-list, body.page-id-33670 .wrap .tips-list, body.page-id-33673 .wrap .tips-list, body.page-id-33675 .wrap .tips-list { margin: 0; padding-left: 22px; }
body.page-id-33660 .wrap .tips-list li, body.page-id-33665 .wrap .tips-list li, body.page-id-33667 .wrap .tips-list li, body.page-id-33670 .wrap .tips-list li, body.page-id-33673 .wrap .tips-list li, body.page-id-33675 .wrap .tips-list li { font-size: 15px; line-height: 1.65; color: #3d3b37; }
body.page-id-33660 .wrap .tips-list li::marker, body.page-id-33665 .wrap .tips-list li::marker, body.page-id-33667 .wrap .tips-list li::marker, body.page-id-33670 .wrap .tips-list li::marker, body.page-id-33673 .wrap .tips-list li::marker, body.page-id-33675 .wrap .tips-list li::marker { color: #0b6a85; }
body.page-id-33660 .wrap .stats-bar, body.page-id-33665 .wrap .stats-bar, body.page-id-33667 .wrap .stats-bar, body.page-id-33670 .wrap .stats-bar, body.page-id-33673 .wrap .stats-bar, body.page-id-33675 .wrap .stats-bar { margin: 40px 0; padding: 24px 12px; background: #0e0e0e; border-radius: 16px; }
body.page-id-33660 .wrap .stats-bar .stat b, body.page-id-33665 .wrap .stats-bar .stat b, body.page-id-33667 .wrap .stats-bar .stat b, body.page-id-33670 .wrap .stats-bar .stat b, body.page-id-33673 .wrap .stats-bar .stat b, body.page-id-33675 .wrap .stats-bar .stat b { font-size: 24px; font-weight: 700; line-height: 1.25; color: #ffd12e; }
body.page-id-33660 .wrap .stats-bar .stat span, body.page-id-33665 .wrap .stats-bar .stat span, body.page-id-33667 .wrap .stats-bar .stat span, body.page-id-33670 .wrap .stats-bar .stat span, body.page-id-33673 .wrap .stats-bar .stat span, body.page-id-33675 .wrap .stats-bar .stat span { font-size: 12.5px; color: #c9c7c1; }
body.page-id-33660 .wrap .testimonial, body.page-id-33665 .wrap .testimonial, body.page-id-33667 .wrap .testimonial, body.page-id-33670 .wrap .testimonial, body.page-id-33673 .wrap .testimonial, body.page-id-33675 .wrap .testimonial { padding: 20px 22px; background: #fff; border: 1px solid rgba(0, 0, 0, .09); border-radius: 14px; }
body.page-id-33660 .wrap .testimonial p, body.page-id-33665 .wrap .testimonial p, body.page-id-33667 .wrap .testimonial p, body.page-id-33670 .wrap .testimonial p, body.page-id-33673 .wrap .testimonial p, body.page-id-33675 .wrap .testimonial p { font-size: 15px; font-style: normal; line-height: 1.65; color: #3d3b37; }
body.page-id-33660 .wrap .testimonial .author, body.page-id-33665 .wrap .testimonial .author, body.page-id-33667 .wrap .testimonial .author, body.page-id-33670 .wrap .testimonial .author, body.page-id-33673 .wrap .testimonial .author, body.page-id-33675 .wrap .testimonial .author { font-size: 13px; font-weight: 700; color: #0e0e0e; }
body.page-id-33660 .wrap .final-cta, body.page-id-33665 .wrap .final-cta, body.page-id-33667 .wrap .final-cta, body.page-id-33670 .wrap .final-cta, body.page-id-33673 .wrap .final-cta, body.page-id-33675 .wrap .final-cta { margin: 40px 0 20px; padding: 36px 28px; background: #faf9f6; border: 1px solid rgba(0, 0, 0, .09); border-radius: 16px; }
body.page-id-33660 .wrap .final-cta h2, body.page-id-33665 .wrap .final-cta h2, body.page-id-33667 .wrap .final-cta h2, body.page-id-33670 .wrap .final-cta h2, body.page-id-33673 .wrap .final-cta h2, body.page-id-33675 .wrap .final-cta h2 { margin: 0 0 18px; text-wrap: balance; }
body.page-id-33660 .wrap .back-link, body.page-id-33665 .wrap .back-link, body.page-id-33667 .wrap .back-link, body.page-id-33670 .wrap .back-link, body.page-id-33673 .wrap .back-link, body.page-id-33675 .wrap .back-link { margin: 20px 0 48px; font-size: 14px; }
body.page-id-33660 .wrap .back-link a, body.page-id-33665 .wrap .back-link a, body.page-id-33667 .wrap .back-link a, body.page-id-33670 .wrap .back-link a, body.page-id-33673 .wrap .back-link a, body.page-id-33675 .wrap .back-link a { display: inline-block; padding: 4px 0; font-weight: 700; color: #0b6a85; text-decoration: none; }
body.page-id-33660 .wrap .back-link a:hover, body.page-id-33665 .wrap .back-link a:hover, body.page-id-33667 .wrap .back-link a:hover, body.page-id-33670 .wrap .back-link a:hover, body.page-id-33673 .wrap .back-link a:hover, body.page-id-33675 .wrap .back-link a:hover { color: #0e0e0e; text-decoration: none; }
@media (max-width: 767px) {
	body.page-id-33660 .wrap, body.page-id-33665 .wrap, body.page-id-33667 .wrap, body.page-id-33670 .wrap, body.page-id-33673 .wrap, body.page-id-33675 .wrap { padding-top: 24px; }
	body.page-id-33660 .wrap .hero, body.page-id-33665 .wrap .hero, body.page-id-33667 .wrap .hero, body.page-id-33670 .wrap .hero, body.page-id-33673 .wrap .hero, body.page-id-33675 .wrap .hero { gap: 20px; padding: 22px 18px; border-radius: 14px; }
	body.page-id-33660 .wrap .hero .cover, body.page-id-33665 .wrap .hero .cover, body.page-id-33667 .wrap .hero .cover, body.page-id-33670 .wrap .hero .cover, body.page-id-33673 .wrap .hero .cover, body.page-id-33675 .wrap .hero .cover { flex-basis: 160px; margin: 0 auto; }
	body.page-id-33660 .wrap .hero .info, body.page-id-33665 .wrap .hero .info, body.page-id-33667 .wrap .hero .info, body.page-id-33670 .wrap .hero .info, body.page-id-33673 .wrap .hero .info, body.page-id-33675 .wrap .hero .info { min-width: 100%; }
	body.page-id-33660 .wrap .hero .bibliographic strong, body.page-id-33665 .wrap .hero .bibliographic strong, body.page-id-33667 .wrap .hero .bibliographic strong, body.page-id-33670 .wrap .hero .bibliographic strong, body.page-id-33673 .wrap .hero .bibliographic strong, body.page-id-33675 .wrap .hero .bibliographic strong { min-width: 0; }
	body.page-id-33660 .wrap .hero h1, body.page-id-33665 .wrap .hero h1, body.page-id-33667 .wrap .hero h1, body.page-id-33670 .wrap .hero h1, body.page-id-33673 .wrap .hero h1, body.page-id-33675 .wrap .hero h1 { font-size: 24px; letter-spacing: -.3px; }
	body.page-id-33660 .wrap .cta-row, body.page-id-33665 .wrap .cta-row, body.page-id-33667 .wrap .cta-row, body.page-id-33670 .wrap .cta-row, body.page-id-33673 .wrap .cta-row, body.page-id-33675 .wrap .cta-row { flex-direction: column; }
	body.page-id-33660 .wrap .btn, body.page-id-33665 .wrap .btn, body.page-id-33667 .wrap .btn, body.page-id-33670 .wrap .btn, body.page-id-33673 .wrap .btn, body.page-id-33675 .wrap .btn { padding: 13px 16px; text-align: center; }
	body.page-id-33660 .wrap section.content h2, body.page-id-33665 .wrap section.content h2, body.page-id-33667 .wrap section.content h2, body.page-id-33670 .wrap section.content h2, body.page-id-33673 .wrap section.content h2, body.page-id-33675 .wrap section.content h2,
	body.page-id-33660 .wrap .final-cta h2, body.page-id-33665 .wrap .final-cta h2, body.page-id-33667 .wrap .final-cta h2, body.page-id-33670 .wrap .final-cta h2, body.page-id-33673 .wrap .final-cta h2, body.page-id-33675 .wrap .final-cta h2 { font-size: 21px; }
	body.page-id-33660 .wrap .final-cta, body.page-id-33665 .wrap .final-cta, body.page-id-33667 .wrap .final-cta, body.page-id-33670 .wrap .final-cta, body.page-id-33673 .wrap .final-cta, body.page-id-33675 .wrap .final-cta { padding: 28px 16px; }
}

/* ==== Phase 4 style audit: cs9701 (designed + adversarially reviewed 2026-09-17) ==== */
/* ---- CAIE 9701 Chemistry cheat sheets: hub 33763 + 24 topic pages (content wrapper .mlcs) --------------------- */
/* Every page carries its own <style> block later in the document, so each selector doubles .mlcs to outrank it. */
.mlcs.mlcs {
	--cy: #35c8ea; --ye: #ffd12e; --bk: #0e0e0e; --ink: #3d3b37; --sub: #6b6963; --line: rgba(0, 0, 0, .09); --bg2: #faf9f6;
	/* Tokens the inline SVG diagrams and "A2" badges use but never define (the diagrams rendered as black boxes). */
	--color-text: #0e0e0e; --color-bg: #fff; --color-surface: #fff; --color-accent: #35c8ea; --color-accent-700: #0b6a85; --color-accent-100: #e6f7fc;
	--color-neutral-100: #0e0e0e; /* badge text on the cyan "A2" badge */
	max-width: 1040px; padding: 36px 20px 64px; font-family: "Montserrat", sans-serif;
}
/* In-content breadcrumb duplicates the cyan Rank Math bar above it. */
.mlcs.mlcs .crumbs { display: none; }
/* wpautop artefacts: <p> around the eyebrow / JSON-LD scripts, and <br> tags that became flex items (tall gaps in hub cards). */
.mlcs.mlcs > p:not(.lede), .mlcs.mlcs + p { margin: 0; }
.mlcs.mlcs .chips > br, .mlcs.mlcs .cta-row > br, .mlcs.mlcs .related > br, .mlcs.mlcs .hubcard > br { display: none; }
/* Type: Montserrat 400/700 only. */
.mlcs.mlcs h1, .mlcs.mlcs h2, .mlcs.mlcs h3, .mlcs.mlcs th, .mlcs.mlcs .toc p, .mlcs.mlcs .ml-card__h, .mlcs.mlcs .ml-a2, .mlcs.mlcs .hubcard .lvl, .mlcs.mlcs .hubcard .dl, .mlcs.mlcs svg [font-weight="800"] { font-weight: 700; }
.mlcs.mlcs .sheetmeta, .mlcs.mlcs .sectitle, .mlcs.mlcs .hubcard .num, .mlcs.mlcs .hubcard .name { font-family: "Montserrat", sans-serif; font-weight: 700; }
.mlcs.mlcs h2 { border-bottom: 1px solid rgba(0, 0, 0, .14); padding-bottom: 10px; }
.mlcs.mlcs .eyebrow { font: 700 11px/1.4 "Montserrat", sans-serif; letter-spacing: 1.5px; color: #0b6a85; background: none; padding: 0; border-radius: 0; margin: 0; }
.mlcs.mlcs .sheetmeta, .mlcs.mlcs .ml-card__h, .mlcs.mlcs .ml-a2, .mlcs.mlcs .hubcard .num, .mlcs.mlcs .hubcard .dl, .mlcs.mlcs .faq a, .mlcs.mlcs .teacher a, .mlcs.mlcs .toc a:hover, .mlcs.mlcs .related a:hover { color: #0b6a85; }
.mlcs.mlcs .ml-card p, .mlcs.mlcs .faq p { color: #3d3b37; }
.mlcs.mlcs .ml-fx { background: #f4f3ee; }
/* Chips: kit chip, leading emoji icon hidden. */
.mlcs.mlcs .chip { font: 700 12.5px/1 "Montserrat", sans-serif; color: #0e0e0e; background: #fff; border: 1px solid rgba(0, 0, 0, .09); border-radius: 5px; padding: 8px 14px 8px 11px; }
.mlcs.mlcs .chip::first-letter { font-size: 0; }
/* Buttons: kit primary (yellow) and ghost; no underline. One yellow button per row. */
.mlcs.mlcs .btn { font: 700 13px/1.2 "Montserrat", sans-serif; letter-spacing: .02em; padding: 13px 22px; border: 1px solid transparent; border-radius: 9px; text-decoration: none; transition: background-color .15s ease, border-color .15s ease; }
.mlcs.mlcs .btn-primary, .mlcs.mlcs .btn-accent { background: #ffd12e; color: #0e0e0e; }
.mlcs.mlcs .btn-primary:hover, .mlcs.mlcs .btn-accent:hover { background: #f2c300; color: #0e0e0e; }
.mlcs.mlcs .btn-wa, .mlcs.mlcs .cta-row .btn-primary ~ .btn-accent { background: #fff; color: #0e0e0e; border-color: rgba(0, 0, 0, .14); }
.mlcs.mlcs .btn-wa:hover, .mlcs.mlcs .cta-row .btn-primary ~ .btn-accent:hover { background: #f4f3ee; color: #0e0e0e; border-color: #0e0e0e; }
/* Hub cards: no underline, kit hover lift. */
.mlcs.mlcs .hubcard { border-width: 1px; border-radius: 12px; text-decoration: none; transition: border-color .15s ease, transform .15s ease, box-shadow .15s ease; }
.mlcs.mlcs .hubcard:hover { transform: translateY(-2px); box-shadow: 0 8px 20px rgba(0, 0, 0, .06); }
.mlcs.mlcs .hubcard .name { line-height: 1.3; }
@media (max-width: 767px) {
	.mlcs.mlcs { padding: 24px 16px 48px; }
	.mlcs.mlcs .cta-row .btn { flex: 1 1 100%; }
}

/* ==== Phase 4 style audit: cs0620 (designed + adversarially reviewed 2026-09-17) ==== */
/* ---- IGCSE Chemistry 0620 cheat sheets hub (page 33816, wrapper .ml-cs) ------------------------ */
/* The page's inline <style> uses its own tokens and a system font stack; body.page-id-33816 outranks
   those .ml-cs rules, and !important is used only where a style="" attribute has to be beaten. */
body.page-id-33816 .ml-cs { --cyan: #35c8ea; --ink: #0e0e0e; --slate: #6b6963; --tint: #e6f7fc; --shade: rgba(0, 0, 0, .09); --border: rgba(0, 0, 0, .09); --color-accent-700: #0b6a85; --color-neutral-700: #6b6963;
	box-sizing: border-box; max-width: 940px; padding: 44px 20px 64px; font-family: "Montserrat", sans-serif; color: #3d3b37; }
body.page-id-33816 .ml-cs, body.page-id-33816 .ml-cs .ml-sheet { scroll-margin-top: 96px; }
body.page-id-33816 .ml-cs .ml-crumb { display: none; }
body.page-id-33816 .ml-cs .ml-eyebrow { margin: 0 0 10px; font-size: 11px; line-height: 1.4; letter-spacing: 1.5px; color: #0b6a85; }
body.page-id-33816 .ml-cs h1 { font-weight: 700; line-height: 1.15; letter-spacing: -.8px; color: #0e0e0e; text-wrap: balance; }
body.page-id-33816 .ml-cs .ml-lede { font-size: 17px; line-height: 1.65; color: #3d3b37; }
body.page-id-33816 .ml-cs .ml-stats li { border-radius: 5px; font-size: 13.5px; font-weight: 700; }
body.page-id-33816 .ml-cs a.ml-btn { padding: 14px 24px; border-radius: 9px; font-size: 15px; font-weight: 700; line-height: 1.2; letter-spacing: .02em; transition: background-color .15s ease, border-color .15s ease; }
body.page-id-33816 .ml-cs a.ml-btn:hover { filter: none; }
body.page-id-33816 .ml-cs a.ml-btn-primary { background: #ffd12e; color: #0e0e0e; border: 1px solid transparent; }
body.page-id-33816 .ml-cs a.ml-btn-primary:hover { background: #f2c300; color: #0e0e0e; }
body.page-id-33816 .ml-cs a.ml-btn-dark, body.page-id-33816 .ml-cs a.ml-btn-ghost { background: #fff; color: #0e0e0e; border: 1px solid rgba(0, 0, 0, .14); }
body.page-id-33816 .ml-cs a.ml-btn-dark:hover, body.page-id-33816 .ml-cs a.ml-btn-ghost:hover { background: #f4f3ee; color: #0e0e0e; border-color: #0e0e0e; }
body.page-id-33816 .ml-cs a.ml-card { border: 1px solid rgba(0, 0, 0, .09); border-radius: 14px; padding: 18px 20px; background: #fff; color: #3d3b37; transition: transform .15s ease, border-color .15s ease, box-shadow .15s ease; }
body.page-id-33816 .ml-cs a.ml-card:hover { background: #fff; border-color: #35c8ea; transform: translateY(-2px); box-shadow: 0 8px 20px rgba(0, 0, 0, .06); }
body.page-id-33816 .ml-cs .ml-card-num { font-size: 12px; font-weight: 700; letter-spacing: 1px; color: #0b6a85; }
body.page-id-33816 .ml-cs .ml-card-title { font-weight: 700; color: #0e0e0e; }
body.page-id-33816 .ml-cs .ml-card-go { color: #0b6a85; }
body.page-id-33816 .ml-cs .ml-sheet h2 { font-weight: 700; letter-spacing: -.3px; color: #0e0e0e; }
body.page-id-33816 .ml-cs .ml-sheet h2 .ml-num { color: #0b6a85; }
body.page-id-33816 .ml-cs .ml-sheet h3 { font-weight: 700; font-size: 11px !important; line-height: 1.4; letter-spacing: 1px !important; }
body.page-id-33816 .ml-cs .ml-sheet table.table { font-size: 14px !important; line-height: 1.5 !important; }
body.page-id-33816 .ml-cs .ml-sheet p[style] { font-size: 14px !important; }
body.page-id-33816 .ml-cs table th, body.page-id-33816 .ml-cs table td { border-color: rgba(0, 0, 0, .14); }
body.page-id-33816 .ml-cs table th { letter-spacing: 0; color: #0e0e0e; }
body.page-id-33816 .ml-cs .ml-backtop a, body.page-id-33816 .ml-cs .ml-author a, body.page-id-33816 .ml-cs .ml-related a { color: #0b6a85; }
body.page-id-33816 .ml-cs .ml-author a:hover { text-decoration: underline !important; text-underline-offset: 3px; }
body.page-id-33816 .ml-cs .ml-pack { border-radius: 16px; padding: 36px 24px; }
body.page-id-33816 .ml-cs .ml-pack h2 { letter-spacing: -.3px; color: #fff; }
body.page-id-33816 .ml-cs .ml-pack p { color: #c9c7c1; }
body.page-id-33816 .ml-cs .ml-faq > h2 { color: #0e0e0e !important; font-weight: 700 !important; letter-spacing: -.3px; }
body.page-id-33816 .ml-cs .ml-related { background: #faf9f6; border-radius: 14px; }
body.page-id-33816 .ml-cs .ml-related h3 { color: #0e0e0e !important; }
@media (max-width: 640px) {
	body.page-id-33816 .ml-cs { padding: 28px 16px 48px; }
	body.page-id-33816 .ml-cs h1 { letter-spacing: -.5px; }
	/* 4-5 column data tables scroll inside the column instead of widening the page. */
	body.page-id-33816 .ml-cs .ml-sheet table.table { display: block; max-width: 100%; overflow-x: auto; -webkit-overflow-scrolling: touch; border: 0; font-size: 13px !important; }
}

/* ==== Phase 4 style audit: tpphys (designed + adversarially reviewed 2026-09-17) ==== */
/* ---- IGCSE & O Level Physics topical past papers (page 33302: one Elementor HTML widget, wrapper #tp-phys) ---- */
/* The widget's inline <style> prints after this file, so every rule carries body.page-id-33302 #tp-phys to outrank it
   (including its "#tp-phys h1,h2,h3,h4{margin:0}" reset, which cancelled the centring and heading spacing).
   The "Book a Free Demo" details block (.tp-demo) is left exactly as it is (owner decision). */
body.page-id-33302 #tp-phys { font-family: "Montserrat", sans-serif; color: #3d3b37; }
body.page-id-33302 #tp-phys .tp-hero { background: #0e0e0e; padding: 64px 20px 56px; }
body.page-id-33302 #tp-phys .tp-pill { display: block; margin: 0 0 10px; padding: 0; background: none; border: 0; border-radius: 0; font: 700 11px/1.4 "Montserrat", sans-serif; letter-spacing: 1.5px; text-transform: uppercase; color: #35c8ea; }
body.page-id-33302 #tp-phys .tp-hero h1 { max-width: 800px; margin: 0 auto; font: 700 46px/1.08 "Montserrat", sans-serif; letter-spacing: -1.4px; color: #fff; text-wrap: balance; }
body.page-id-33302 #tp-phys .tp-hero p.sub { max-width: 680px; font-size: 16.5px; line-height: 1.65; color: #c9c7c1; }
body.page-id-33302 #tp-phys .tp-intro { color: #6b6963; line-height: 1.65; }
body.page-id-33302 #tp-phys .tp-topic { border-color: rgba(0, 0, 0, .09); box-shadow: none; }
body.page-id-33302 #tp-phys .tp-num { background: #0e0e0e; font-family: "Montserrat", sans-serif; font-weight: 700; }
body.page-id-33302 #tp-phys .tp-head h3 { color: #0e0e0e; }
body.page-id-33302 #tp-phys .tp-paper h4 { margin-bottom: 9px; color: #6b6963; }
body.page-id-33302 #tp-phys .tp-chip { font-weight: 700; }
body.page-id-33302 #tp-phys .tp-chip.q { background: #e6f7fc; color: #0b6a85; }
body.page-id-33302 #tp-phys .tp-chip.q:hover { background: #35c8ea; color: #0e0e0e; }
body.page-id-33302 #tp-phys .tp-chip.a { background: #fff; color: #0e0e0e; border-color: rgba(0, 0, 0, .14); }
body.page-id-33302 #tp-phys .tp-chip.a:hover { background: #f4f3ee; color: #0e0e0e; border-color: #0e0e0e; }
body.page-id-33302 #tp-phys .tp-faq h2 { margin-bottom: 20px; font-weight: 700; letter-spacing: -.3px; color: #0e0e0e; }
body.page-id-33302 #tp-phys .tp-faq details { border-color: rgba(0, 0, 0, .09); }
body.page-id-33302 #tp-phys .tp-faq summary { font-family: "Montserrat", sans-serif; color: #0e0e0e; }
body.page-id-33302 #tp-phys .tp-faq summary::after { color: #0b6a85; }
body.page-id-33302 #tp-phys .tp-faq .a { color: #6b6963; }
@media (max-width: 1024px) { body.page-id-33302 #tp-phys .tp-hero h1 { font-size: 38px; } }
@media (max-width: 767px) {
	body.page-id-33302 #tp-phys .tp-hero { padding: 40px 16px 32px; }
	body.page-id-33302 #tp-phys .tp-hero h1 { font-size: 32px; letter-spacing: -.8px; }
}

/* ==== Phase 4 style audit: test32767 (designed + adversarially reviewed 2026-09-17) ==== */
/* ---- Stray test page /elementor-32767/ (post 32767; unreviewed copy of the old /resources/ block; noindexed) ----
   REMOVE THIS WHOLE BLOCK when post 32767 is deleted, unpublished or redirected.
   The page's HTML widget prints its own style block after this file, so every rule is prefixed body.page-id-32767 #ml-res to outrank it.
   Any base property overridden here that has an inline :hover/[open] rule gets a matching prefixed state rule below. */
body.page-id-32767 #ml-res { --cy: #35c8ea; --cy2: #f2c300; --ink: #0e0e0e; --navy: #0e0e0e; --paper: #faf9f6; --line: rgba(0, 0, 0, .09); --muted: #6b6963; font-family: "Montserrat", sans-serif; }
body.page-id-32767 #ml-res .mlr-hero { background: #0e0e0e; }
body.page-id-32767 #ml-res .mlr-hero h1 { color: #fff; margin-left: auto; margin-right: auto; letter-spacing: -.02em; }
body.page-id-32767 #ml-res .mlr-hero p.sub { color: #c9c7c1; }
body.page-id-32767 #ml-res .mlr-stat span { color: #a9a7a2; }
body.page-id-32767 #ml-res h2, body.page-id-32767 #ml-res h3 { color: #0e0e0e; }
body.page-id-32767 #ml-res .mlr-hero h1, body.page-id-32767 #ml-res .mlr-h2, body.page-id-32767 #ml-res .mlr-faq h2, body.page-id-32767 #ml-res .mlr-stat b, body.page-id-32767 #ml-res .mlr-badge, body.page-id-32767 #ml-res .mlr-pill { font-weight: 700; }
body.page-id-32767 #ml-res .mlr-pill { background: rgba(53, 200, 234, .12); border-color: rgba(53, 200, 234, .45); }
body.page-id-32767 #ml-res .mlr-chip { font-weight: 400; background: #e6f7fc; }
body.page-id-32767 #ml-res a.mlr-chip:hover { background: #35c8ea; border-color: #35c8ea; }
body.page-id-32767 #ml-res .mlr-faq summary::after { color: #0b6a85; }
body.page-id-32767 #ml-res .mlr-demo summary { background: #ffd12e; color: #0e0e0e; border-radius: 9px; box-shadow: none; }
body.page-id-32767 #ml-res .mlr-demo summary:hover { background: #f2c300; }
body.page-id-32767 #ml-res .mlr-demo details[open] summary { border-radius: 9px 9px 0 0; }
body.page-id-32767 #ml-res .mlr-demo-body { border-color: #ffd12e; border-radius: 0 0 9px 9px; }

/* ==== Phase 4 style audit: plugin-ui (designed + adversarially reviewed 2026-09-17) ==== */
/* ---- Plugin UI: WooCommerce + Tutor LMS aligned with the site kit ------------------------------ */
/* Astra prints its WooCommerce colours inline in <head> AFTER this file (some selectors carry IDs),
   so the WooCommerce colour overrides below use !important. Every selector is scoped to .woocommerce
   (body class on shop/product archives, wrapper div on cart/checkout/my-account) or to Tutor LMS classes. */

/* WooCommerce buttons (Add to cart, Return to shop, Log in, Proceed to checkout, Place order): kit primary. */
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit {
	background-color: #ffd12e !important;
	border-color: #ffd12e !important;
	color: #0e0e0e !important;
	border-radius: 9px !important;
	font-family: "Montserrat", sans-serif;
	font-weight: 700;
	text-transform: none;
	text-decoration: none !important;
}
.woocommerce a.button:hover, .woocommerce a.button:focus,
.woocommerce button.button:hover, .woocommerce button.button:focus,
.woocommerce input.button:hover, .woocommerce input.button:focus,
.woocommerce #respond input#submit:hover, .woocommerce #respond input#submit:focus {
	background-color: #f2c300 !important;
	border-color: #f2c300 !important;
	color: #0e0e0e !important;
}
.woocommerce a.button:focus-visible,
.woocommerce button.button:focus-visible,
.woocommerce input.button:focus-visible { outline: 2px solid #0b6a85; outline-offset: 2px; }

/* Password visibility toggle (added by WooCommerce JS). Woo's own toggle CSS is not loaded, so Astra's global
   button style drew it as an empty cyan block under the field on /my-account/. Put it inside the field as an eye icon. */
.woocommerce form .password-input { display: block; position: relative; }
.woocommerce form .password-input input.input-text { padding-right: 46px; }
.woocommerce form .password-input input::-ms-reveal { display: none; }
.woocommerce form .password-input .show-password-input {
	position: absolute;
	top: 50%;
	right: 8px;
	transform: translateY(-50%);
	width: 32px;
	height: 32px;
	min-height: 0;
	margin: 0;
	padding: 0;
	border: 0;
	border-radius: 9px;
	box-shadow: none;
	cursor: pointer;
	background: transparent url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%236B6963' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M2 12s3.5-7 10-7 10 7 10 7-3.5 7-10 7S2 12 2 12z'/%3E%3Ccircle cx='12' cy='12' r='3'/%3E%3C/svg%3E") center / 20px 20px no-repeat;
}
.woocommerce form .password-input .show-password-input.display-password {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%236B6963' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M9.9 4.2A9.1 9.1 0 0 1 12 4c6.5 0 10 8 10 8a18.2 18.2 0 0 1-2.2 3.2M6.6 6.6A18 18 0 0 0 2 12s3.5 8 10 8a9.7 9.7 0 0 0 5.4-1.6M14.1 14.1a3 3 0 1 1-4.2-4.2M2 2l20 20'/%3E%3C/svg%3E");
}
.woocommerce form .password-input .show-password-input:hover,
.woocommerce form .password-input .show-password-input:focus { background-color: #e6f7fc; border: 0; color: #0e0e0e; }
.woocommerce form .password-input .show-password-input:focus-visible { outline: 2px solid #0b6a85; outline-offset: 1px; }

/* Field focus: kit ring instead of Astra's dotted/inherited border. */
.woocommerce form .input-text:focus,
.woocommerce form input[type="text"]:focus,
.woocommerce form input[type="email"]:focus,
.woocommerce form input[type="password"]:focus,
.woocommerce form select:focus,
.woocommerce form textarea:focus {
	border-color: #35c8ea !important;
	border-style: solid !important;
	box-shadow: 0 0 0 3px #e6f7fc !important;
	outline: 0 !important;
}

/* Notices (e.g. "Your cart is currently empty."): cyan tint instead of grey with a black top rule. */
.woocommerce .woocommerce-info,
.woocommerce .woocommerce-message {
	background-color: #e6f7fc !important;
	color: #3d3b37 !important;
	border: 1px solid rgba(0, 0, 0, .09) !important;
	border-left: 3px solid #35c8ea !important;
	border-radius: 9px;
}
.woocommerce .woocommerce-info::before,
.woocommerce .woocommerce-message::before { color: #0b6a85 !important; }

/* Sale badge: kit yellow instead of Astra cyan. Shape and position unchanged. */
.woocommerce .product span.onsale { background-color: #ffd12e; color: #0e0e0e; font-weight: 700; }

/* Shop sorting control: kit border and a muted chevron instead of the old #f9ef23 arrow. */
.woocommerce form.woocommerce-ordering select.orderby {
	padding: 9px 40px 9px 14px;
	line-height: 1.4;
	color: #3d3b37;
	background-color: #fff;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 8'%3E%3Cpath d='M1 1.5l5 5 5-5' fill='none' stroke='%236B6963' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
	background-position: right 14px center;
	background-size: 12px 8px;
	background-repeat: no-repeat;
	border: 1px solid rgba(0, 0, 0, .14);
	border-radius: 9px;
}

/* Single product: the cyan Rank Math bar already shows the trail; H1 in kit ink/700. */
body.woocommerce nav.woocommerce-breadcrumb { display: none; }
.woocommerce div.product h1.product_title { color: #0e0e0e; font-weight: 700; }

/* Standalone and running-text links inside WooCommerce forms use the kit link colour. */
.woocommerce .woocommerce-LostPassword a,
.woocommerce #reviews .must-log-in a { color: #0b6a85; }
.woocommerce .woocommerce-LostPassword a:hover,
.woocommerce #reviews .must-log-in a:hover { color: #08313d; }

/* Cart page 9 is flagged as an Elementor page, which drops the phone side gutter; restore Astra's 20px. */
@media (max-width: 921px) {
	body.woocommerce-cart.elementor-page #content > .ast-container { padding-left: 20px !important; padding-right: 20px !important; }
}

/* Tutor LMS: accent navy #00357a / green hover -> kit cyan text inside Tutor UI only. */
.tutor-wrap,
.tutor-modal {
	--tutor-color-primary: #0b6a85;
	--tutor-color-primary-rgb: 11, 106, 133;
	--tutor-color-primary-hover: #08313d;
	--tutor-color-primary-hover-rgb: 8, 49, 61;
}
/* Tutor primary buttons (Sign In, course Add to cart): kit primary. (0,2,1) beats Astra's button:hover/focus. */
a.tutor-btn.tutor-btn-primary,
button.tutor-btn.tutor-btn-primary {
	background-color: #ffd12e;
	border-color: #ffd12e;
	color: #0e0e0e;
	border-radius: 9px;
	font-family: "Montserrat", sans-serif;
	font-weight: 700;
	text-transform: none;
	text-decoration: none;
}
a.tutor-btn.tutor-btn-primary:hover, a.tutor-btn.tutor-btn-primary:focus, a.tutor-btn.tutor-btn-primary:active,
button.tutor-btn.tutor-btn-primary:hover, button.tutor-btn.tutor-btn-primary:focus, button.tutor-btn.tutor-btn-primary:active {
	background-color: #f2c300;
	border-color: #f2c300;
	color: #0e0e0e;
}
/* Tutor outline buttons (course cards "Add to cart"/"View cart"): kit ghost. */
a.tutor-btn.tutor-btn-outline-primary,
button.tutor-btn.tutor-btn-outline-primary {
	background-color: #fff;
	border: 1px solid rgba(0, 0, 0, .14);
	color: #0e0e0e;
	border-radius: 9px;
	font-family: "Montserrat", sans-serif;
	font-weight: 700;
	text-decoration: none;
}
a.tutor-btn.tutor-btn-outline-primary:hover, a.tutor-btn.tutor-btn-outline-primary:focus,
button.tutor-btn.tutor-btn-outline-primary:hover, button.tutor-btn.tutor-btn-outline-primary:focus {
	background-color: #f4f3ee;
	border-color: #0e0e0e;
	color: #0e0e0e;
}
/* Tutor login form: "Forgot Password?" is a button-style link (Astra underlines entry-content links). */
#tutor-login-form a.tutor-btn.tutor-btn-ghost { color: #0b6a85; text-decoration: none; }
#tutor-login-form a.tutor-btn.tutor-btn-ghost:hover,
#tutor-login-form a.tutor-btn.tutor-btn-ghost:focus { color: #08313d; text-decoration: none; }
/* Tutor text fields: kit focus ring ((0,3,0) beats Astra's input[type=text]:focus). */
.tutor-wrap .tutor-form-control:focus,
.tutor-modal .tutor-form-control:focus {
	border-color: #35c8ea;
	border-style: solid;
	box-shadow: 0 0 0 3px #e6f7fc;
	outline: 0;
}
/* Nextend Social Login "Continue with Google" label inside the Tutor login form: Montserrat, not Roboto Medium. */
#tutor-login-form div.nsl-container .nsl-button-google div.nsl-button-label-container { font-family: "Montserrat", sans-serif; }
