/* ================================================================
   MR K PSYCHOLOGY — MASTER SITE CSS (v4)

   Paste into: Appearance → Customise → Additional CSS
   REPLACES everything currently in that box. Do not append.

   CONTENTS
   1  Brand variables
   2  Global typography
   3  Shared components (eyebrows, headings, buttons, cards)
   4  Header and footer
   5  Blog archive (legacy Astra template)
   6  Blog page (custom Query Loop page)
   7  WooCommerce
   8  Forminator
   9  Homepage sections
   10 Tutoring page sections
   11 Inner Circle page sections
   12 Contact page sections
   13 OVERRIDES — must remain last

   RULE: section 13 must always stay at the bottom of this file.
   It reclaims properties that earlier !important rules would win.

   Keep this file saved locally. Additional CSS lives in the
   database and does not reliably survive a host migration.
   ================================================================ */


/* ================================================================
   1. BRAND VARIABLES
   ================================================================ */
:root {
  --mrk-navy: #1a2332;
  --mrk-navy-light: #253147;
  --mrk-navy-grad: #2c3e50;
  --mrk-gold: #d4af37;
  --mrk-gold-dark: #b8952c;
  --mrk-gold-light: #e8c84a;
  --mrk-cream: #faf9f6;
  --mrk-border: #e0ddd6;
  --mrk-grey: #5a6270;
  --mrk-body: #555555;
  --mrk-radius: 6px;
}


/* ================================================================
   2. GLOBAL TYPOGRAPHY
   ================================================================ */
h1, h2, h3, h4 {
  font-family: Georgia, 'Times New Roman', serif !important;
  color: var(--mrk-navy) !important;
}


/* ================================================================
   3. SHARED COMPONENTS
   Used across every page built from the block markup.
   ================================================================ */

/* ---------- Eyebrows ---------- */
.mrk-eyebrow {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 3px;
  text-transform: uppercase;
  color: var(--mrk-gold);
  text-align: center;
  margin-bottom: 14px;
}
.mrk-eyebrow-dark { color: var(--mrk-gold); }

/* ---------- Gold accent span ---------- */
.mrk-gold { color: var(--mrk-gold); }

/* ---------- Section headings ---------- */
.mrk-section-heading {
  font-size: 30px;
  font-weight: 700;
  text-align: center;
  line-height: 1.3;
  margin-bottom: 40px;
}

/* ---------- Buttons ---------- */
/* Width fix: stops block buttons stretching to container width */
.wp-block-button .wp-block-button__link {
  display: inline-block !important;
  width: auto !important;
  max-width: none !important;
  text-align: center;
}
.wp-block-buttons { justify-content: center; }

.mrk-btn-gold .wp-block-button__link {
  background-color: var(--mrk-gold) !important;
  color: var(--mrk-navy) !important;
  font-weight: 700;
  border-radius: 2px;
  padding: 14px 36px;
  letter-spacing: 0.5px;
}
.mrk-btn-gold .wp-block-button__link:hover {
  background-color: var(--mrk-gold-light) !important;
  color: var(--mrk-navy) !important;
}

/* ---------- Card text ---------- */
.mrk-card-title {
  font-size: 19px;
  font-weight: 700;
  margin-bottom: 10px;
  line-height: 1.3;
}
.mrk-card-text {
  font-size: 14px;
  color: var(--mrk-body);
  line-height: 1.75;
  margin-bottom: 14px;
}
.mrk-card-eyebrow {
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 2px;
  text-transform: uppercase;
  color: var(--mrk-gold);
  margin-bottom: 8px;
}
.mrk-card-link a {
  font-size: 13px;
  font-weight: 700;
  color: var(--mrk-navy);
  border-bottom: 1px solid var(--mrk-gold);
  padding-bottom: 1px;
}
.mrk-card-link a:hover { color: var(--mrk-gold-dark); }

/* ---------- Pills ---------- */
.mrk-pill-row {
  max-width: 700px;
  margin: 6px auto 0;
  line-height: 2.6;
  text-align: center;
}
.mrk-pill {
  display: inline-block;
  background: rgba(212, 175, 55, 0.12);
  border: 1px solid rgba(212, 175, 55, 0.35);
  color: var(--mrk-gold);
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.5px;
  padding: 6px 14px;
  border-radius: 2px;
  margin: 0 3px;
  white-space: nowrap;
}

/* ---------- Signup box (used on several pages) ---------- */
.mrk-signup {
  background: var(--mrk-cream);
  border-top: 1px solid var(--mrk-border);
  padding: 70px 24px;
  text-align: center;
}
.mrk-signup-sub {
  font-size: 14px;
  color: #666666;
  line-height: 1.7;
  max-width: 520px;
  margin: 0 auto 28px;
}
.mrk-signup-box {
  background: #ffffff;
  border: 1px solid var(--mrk-border);
  border-radius: 4px;
  padding: 28px 32px;
  max-width: 520px;
  margin: 0 auto;
  text-align: left;
}
.mrk-form-note {
  font-size: 11px;
  color: #aaaaaa;
  font-style: italic;
  text-align: center;
  margin-top: 12px;
  line-height: 1.6;
}
.mrk-footnote {
  font-size: 11px;
  color: #999999;
  line-height: 1.6;
  max-width: 560px;
  margin: 32px auto 0;
  text-align: center;
}

/* ---------- Testimonials ---------- */
.mrk-testimonials {
  background: #ffffff;
  padding: 70px 24px;
}
.mrk-testimonial-columns {
  gap: 20px;
  margin-bottom: 20px;
}
.mrk-testimonials .mrk-testimonial-columns:last-of-type {
  margin-bottom: 0;
}
.mrk-testimonial-card {
  background: var(--mrk-cream);
  border: 1px solid var(--mrk-border);
  border-radius: 4px;
  padding: 24px 22px;
}
.mrk-testimonial-text {
  font-size: 14px;
  color: #444444;
  line-height: 1.8;
  font-style: italic;
  margin-bottom: 14px;
}
.mrk-testimonial-source {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 1.5px;
  text-transform: uppercase;
  color: var(--mrk-gold-dark);
}

/* ---------- About / credential block ---------- */
.mrk-about {
  background: var(--mrk-cream);
  border-top: 1px solid var(--mrk-border);
  border-bottom: 1px solid var(--mrk-border);
  padding: 70px 24px;
}
.mrk-about-columns { max-width: 820px; margin: 0 auto; gap: 40px; }
.mrk-about-score-col { text-align: center; }
.mrk-about-score {
  font-family: Georgia, 'Times New Roman', serif;
  font-size: 64px;
  font-weight: 700;
  color: var(--mrk-navy);
  line-height: 1;
  margin-bottom: 8px;
}
.mrk-about-score-label {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 2px;
  text-transform: uppercase;
  color: var(--mrk-grey);
  line-height: 1.6;
}


/* ================================================================
   4. HEADER AND FOOTER
   Set what you can in Appearance → Customize first.
   This catches whatever the Customizer leaves behind.
   ================================================================ */

.ast-primary-header-bar,
.site-header,
.ast-above-header,
.main-header-bar {
  background-color: #ffffff !important;
  border-bottom: 1px solid var(--mrk-border) !important;
  box-shadow: none !important;
}

.site-title,
.site-title a,
.ast-site-identity .site-title a {
  font-family: Georgia, 'Times New Roman', serif !important;
  color: var(--mrk-navy) !important;
  font-weight: 700 !important;
  letter-spacing: 0.2px;
}

.site-description {
  font-family: Arial, Helvetica, sans-serif !important;
  color: var(--mrk-grey) !important;
  font-size: 12px !important;
  letter-spacing: 1px;
  text-transform: uppercase;
}

.main-header-menu a,
.ast-header-break-point .main-header-menu a,
.main-navigation a {
  font-size: 19px !important;
  font-weight: 400 !important;
  letter-spacing: 0 !important;
}
.main-header-menu .menu-item {
  margin: 0 !important;
}
.main-header-menu .menu-item > a {
  padding-left: 12px !important;
  padding-right: 12px !important;
}

.main-header-menu a:hover,
.main-header-menu .current-menu-item > a,
.main-header-menu .current_page_item > a {
  color: var(--mrk-gold-dark) !important;
}

.main-header-menu .current-menu-item > a,
.main-header-menu .current_page_item > a {
  border-bottom: 2px solid var(--mrk-gold) !important;
}

.main-header-menu .sub-menu {
  background: #ffffff !important;
  border: 1px solid var(--mrk-border) !important;
  box-shadow: 0 6px 18px rgba(26, 35, 50, 0.1) !important;
}
.main-header-menu .sub-menu a {
  color: var(--mrk-navy) !important;
  font-size: 13px !important;
}

.ast-mobile-menu-buttons-minimal.menu-toggle {
  color: var(--mrk-navy) !important;
  background: transparent !important;
}

.site-footer,
.ast-small-footer,
.footer-adv,
.site-below-footer-wrap,
.site-primary-footer-wrap {
  background-color: var(--mrk-navy) !important;
  color: rgba(255, 255, 255, 0.7) !important;
  border-top: 3px solid var(--mrk-gold) !important;
}

.site-footer h1,
.site-footer h2,
.site-footer h3,
.site-footer h4,
.site-footer .widget-title {
  font-family: Georgia, 'Times New Roman', serif !important;
  color: #ffffff !important;
  font-size: 15px !important;
}

.site-footer p,
.site-footer li,
.site-footer .ast-footer-copyright,
.site-footer .widget {
  color: rgba(255, 255, 255, 0.65) !important;
  font-size: 13px !important;
  line-height: 1.8 !important;
}

.site-footer a,
.ast-small-footer a {
  color: rgba(255, 255, 255, 0.65) !important;
  text-decoration: none !important;
}

.site-footer a:hover,
.ast-small-footer a:hover {
  color: var(--mrk-gold) !important;
}


/* ================================================================
   5. BLOG ARCHIVE (legacy Astra template)
   Only needed while /blog/ still uses the theme archive.
   Once the custom blog page is live and linked, this can go.
   ================================================================ */

.blog .site-content {
  background: var(--mrk-cream);
  padding: 0;
}

.blog .ast-container {
  max-width: 1180px !important;
  width: 100% !important;
}

.blog .page-header {
  background: linear-gradient(135deg, var(--mrk-navy) 0%, var(--mrk-navy-light) 100%);
  color: #fff;
  text-align: center;
  padding: 52px 20px;
  margin: 0;
  border-bottom: 3px solid var(--mrk-gold);
}

.blog .page-header h1 {
  font-size: clamp(1.9rem, 2.8vw, 2.6rem);
  margin: 0;
  color: #fff !important;
  font-family: Georgia, serif !important;
}

.blog .site-main {
  padding: 48px 16px;
  background: transparent;
}

.blog .ast-row {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 28px !important;
  margin-top: 28px;
  width: 100% !important;
}

.blog article {
  background: #fff !important;
  border-radius: 12px;
  border: 1px solid rgba(26, 35, 50, 0.08);
  box-shadow: 0 8px 22px rgba(26, 35, 50, 0.07);
  overflow: hidden;
  transition: transform .2s ease, box-shadow .2s ease;
  width: 100% !important;
  max-width: none !important;
  border-top: none;
}

.blog article:hover {
  transform: translateY(-4px);
  box-shadow: 0 16px 36px rgba(26, 35, 50, 0.12);
}

.blog article::before {
  content: "";
  display: block;
  height: 4px;
  background: var(--mrk-gold);
}

.blog .entry-header { padding: 22px 22px 10px !important; }

.blog .entry-content,
.blog .entry-summary {
  padding: 0 22px 22px !important;
  color: var(--mrk-grey) !important;
  font-size: 1.02rem !important;
  line-height: 1.7 !important;
}

.blog .entry-title { margin: 10px 0 10px !important; }

.blog .entry-title a {
  color: var(--mrk-navy) !important;
  text-decoration: none !important;
  font-family: Georgia, serif !important;
  font-size: 1.35rem !important;
  line-height: 1.3 !important;
  font-weight: 700 !important;
  display: block !important;
}

.blog .entry-title a:hover { color: var(--mrk-gold-dark) !important; }

.blog .cat-links {
  background: rgba(212, 175, 55, 0.15) !important;
  color: var(--mrk-navy) !important;
  padding: 6px 12px !important;
  border-radius: 999px;
  font-size: 0.85rem !important;
  font-weight: 700;
  display: inline-flex;
  gap: 6px;
  align-items: center;
  margin-bottom: 8px;
}

.blog .cat-links a {
  color: inherit !important;
  text-decoration: none !important;
}

.blog .read-more {
  background: var(--mrk-gold) !important;
  color: var(--mrk-navy) !important;
  padding: 10px 18px !important;
  border-radius: var(--mrk-radius);
  text-decoration: none !important;
  font-weight: 700;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  transition: background .2s ease, transform .2s ease;
  margin-top: 14px;
  font-size: 0.95rem;
}

.blog .read-more:hover {
  background: var(--mrk-gold-dark) !important;
  transform: translateY(-1px);
  color: var(--mrk-navy) !important;
}

@media (max-width: 1024px) {
  .blog .ast-row { grid-template-columns: 1fr !important; }
}

@media (max-width: 768px) {
  .blog .site-main { padding: 32px 12px; }
  .blog .entry-header { padding: 18px 18px 8px !important; }
  .blog .entry-content,
  .blog .entry-summary { padding: 0 18px 18px !important; }
  .blog .entry-title a { font-size: 1.2rem !important; }
}


/* ================================================================
   6. BLOG PAGE (custom Query Loop page)
   ================================================================ */

.mrk-hero-short { padding: 60px 24px 52px; }

.mrk-blog-filter {
  background: var(--mrk-cream);
  border-bottom: 1px solid var(--mrk-border);
  padding: 26px 24px;
  text-align: center;
}
.mrk-filter-label {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 2px;
  text-transform: uppercase;
  color: var(--mrk-grey);
  margin-bottom: 12px;
}
.mrk-pill-row-light { margin-top: 0; }
.mrk-pill-link {
  background: #ffffff;
  border: 1px solid var(--mrk-border);
  color: var(--mrk-navy) !important;
  text-decoration: none !important;
  transition: border-color 0.2s, color 0.2s;
}
.mrk-pill-link:hover {
  border-color: var(--mrk-gold);
  color: var(--mrk-gold-dark) !important;
}

.mrk-blog-latest {
  background: #ffffff;
  padding: 64px 24px;
}
.mrk-post-grid { gap: 26px !important; }
.mrk-post-grid > li {
  background: var(--mrk-cream);
  border: 1px solid var(--mrk-border);
  border-radius: 6px;
  overflow: hidden;
  padding-bottom: 20px;
}
.mrk-post-image img {
  width: 100%;
  object-fit: cover;
  border-radius: 0;
}
.mrk-post-grid .mrk-post-cat,
.mrk-post-grid .mrk-post-title,
.mrk-post-grid .mrk-post-excerpt {
  padding-left: 20px;
  padding-right: 20px;
}

.mrk-post-cat {
  font-size: 10px !important;
  font-weight: 700;
  letter-spacing: 1.5px;
  text-transform: uppercase;
  margin-top: 16px !important;
  margin-bottom: 8px !important;
}
.mrk-post-cat a {
  color: var(--mrk-gold-dark) !important;
  text-decoration: none !important;
}
.mrk-post-title {
  font-size: 18px !important;
  line-height: 1.35 !important;
  margin-bottom: 10px !important;
}
.mrk-post-title a {
  color: var(--mrk-navy) !important;
  text-decoration: none !important;
}
.mrk-post-title a:hover { color: var(--mrk-gold-dark) !important; }
.mrk-post-excerpt {
  font-size: 14px !important;
  color: var(--mrk-body) !important;
  line-height: 1.7 !important;
  margin: 0 !important;
}
.mrk-post-excerpt .wp-block-post-excerpt__more-text a {
  color: var(--mrk-gold-dark) !important;
  font-weight: 700;
  text-decoration: none !important;
}

.mrk-blog-all {
  background: var(--mrk-cream);
  border-top: 1px solid var(--mrk-border);
  padding: 64px 24px;
}
.mrk-post-list {
  max-width: 760px;
  margin: 0 auto;
  list-style: none;
  padding-left: 0;
}
.mrk-post-list > li {
  border-top: 1px solid var(--mrk-border);
  padding: 22px 0;
}
.mrk-post-list > li:last-child {
  border-bottom: 1px solid var(--mrk-border);
}
.mrk-post-list .mrk-post-cat { margin-top: 0 !important; }
.mrk-post-title-list { font-size: 20px !important; }

.mrk-pagination {
  max-width: 760px;
  margin: 32px auto 0;
  gap: 10px;
}
.mrk-pagination a,
.mrk-pagination span {
  font-size: 13px;
  color: var(--mrk-navy);
  text-decoration: none !important;
  padding: 6px 11px;
  border: 1px solid var(--mrk-border);
  border-radius: 3px;
  background: #ffffff;
}
.mrk-pagination a:hover {
  border-color: var(--mrk-gold);
  color: var(--mrk-gold-dark);
}
.mrk-pagination .current {
  background: var(--mrk-navy);
  color: #ffffff;
  border-color: var(--mrk-navy);
}


/* ================================================================
   7. WOOCOMMERCE
   ================================================================ */

.woocommerce div.product .product_title,
.woocommerce ul.products li.product .woocommerce-loop-product__title {
  font-family: Georgia, serif !important;
  color: var(--mrk-navy) !important;
}

.woocommerce ul.products li.product a {
  color: var(--mrk-navy) !important;
  text-decoration: none;
}

.woocommerce #respond input#submit,
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce button.single_add_to_cart_button,
.wc-block-components-button,
.wp-block-button__link {
  background-color: var(--mrk-gold) !important;
  color: var(--mrk-navy) !important;
  font-weight: 700;
  border: none;
  border-radius: var(--mrk-radius);
  padding: 14px 32px;
  text-transform: none;
  letter-spacing: 0.02em;
  transition: background-color 0.2s ease;
}
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce button.single_add_to_cart_button:hover,
.wp-block-button__link:hover {
  background-color: var(--mrk-gold-dark) !important;
  color: var(--mrk-navy) !important;
}

.woocommerce div.product p.price,
.woocommerce div.product span.price,
.woocommerce ul.products li.product .price {
  font-family: Georgia, serif !important;
  color: var(--mrk-navy) !important;
  font-size: 1.6em;
  font-weight: 700;
}

.woocommerce .star-rating span::before,
.woocommerce .star-rating::before {
  color: var(--mrk-gold);
}

.woocommerce span.onsale {
  background-color: var(--mrk-navy) !important;
  color: var(--mrk-gold) !important;
  font-weight: 700;
  min-height: 3.2em;
  min-width: 3.2em;
  line-height: 3.2;
}

.woocommerce .woocommerce-breadcrumb {
  font-size: 0.8em;
  color: var(--mrk-grey);
  margin-bottom: 1.5em;
}
.woocommerce .woocommerce-breadcrumb a { color: var(--mrk-grey); }

.woocommerce div.product .posted_in a,
.single-product .product_meta a {
  color: var(--mrk-grey) !important;
  font-size: 0.85em;
  text-transform: uppercase;
  letter-spacing: 0.06em;
}

.woocommerce div.product div.images img {
  border-radius: var(--mrk-radius);
  width: 100%;
  height: auto;
}
.woocommerce div.product div.images .flex-control-thumbs li img {
  border-radius: 4px;
  opacity: 0.7;
}
.woocommerce div.product div.images .flex-control-thumbs li img.flex-active,
.woocommerce div.product div.images .flex-control-thumbs li img:hover {
  opacity: 1;
  outline: 2px solid var(--mrk-gold);
}

.woocommerce ul.products li.product {
  background: #ffffff;
  border-radius: 8px;
  padding: 14px;
  box-shadow: 0 1px 4px rgba(26, 35, 50, 0.08);
  transition: box-shadow 0.2s ease, transform 0.2s ease;
}
.woocommerce ul.products li.product:hover {
  box-shadow: 0 6px 18px rgba(26, 35, 50, 0.14);
  transform: translateY(-2px);
}
.woocommerce ul.products li.product img {
  border-radius: var(--mrk-radius);
}

.woocommerce div.product .woocommerce-tabs ul.tabs li.active {
  border-bottom-color: var(--mrk-gold);
}
.woocommerce div.product .woocommerce-tabs ul.tabs li a {
  font-family: Georgia, serif;
  color: var(--mrk-navy);
}

/* Offer box, used in product short descriptions */
.mrk-offer-box {
  background: var(--mrk-navy);
  border: 2px solid var(--mrk-gold);
  border-radius: 8px;
  padding: 20px 24px;
  margin: 18px 0;
  color: #ffffff;
}
.mrk-offer-box h4 {
  color: var(--mrk-gold) !important;
  font-family: Georgia, serif;
  margin: 0 0 10px 0;
  font-size: 1.05em;
}
.mrk-offer-box ul {
  margin: 0;
  padding-left: 0;
  list-style: none;
}
.mrk-offer-box ul li {
  padding: 4px 0 4px 26px;
  position: relative;
  font-size: 0.95em;
  line-height: 1.45;
}
.mrk-offer-box ul li::before {
  content: "\2713";
  position: absolute;
  left: 0;
  color: var(--mrk-gold);
  font-weight: 700;
}
.mrk-credential {
  font-size: 0.85em;
  color: var(--mrk-grey);
  border-left: 3px solid var(--mrk-gold);
  padding-left: 12px;
  margin-top: 14px;
  font-style: italic;
}


/* ================================================================
   8. FORMINATOR
   ================================================================ */

.forminator-ui.forminator-custom-form {
  font-family: Arial, Helvetica, sans-serif !important;
}

.forminator-ui .forminator-row { margin-bottom: 14px !important; }
.forminator-ui .forminator-row:last-of-type { margin-bottom: 0 !important; }

.forminator-ui .forminator-label {
  font-family: Arial, Helvetica, sans-serif !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  letter-spacing: 1.2px !important;
  text-transform: uppercase !important;
  color: var(--mrk-navy) !important;
  margin-bottom: 6px !important;
}

.forminator-ui .forminator-required { color: var(--mrk-gold-dark) !important; }

.forminator-ui input[type="text"],
.forminator-ui input[type="email"],
.forminator-ui input[type="tel"],
.forminator-ui input[type="number"],
.forminator-ui input[type="url"],
.forminator-ui textarea,
.forminator-ui .forminator-input,
.forminator-ui .forminator-textarea {
  font-family: Arial, Helvetica, sans-serif !important;
  font-size: 15px !important;
  color: var(--mrk-navy) !important;
  background-color: #ffffff !important;
  border: 1px solid #cfcbc2 !important;
  border-radius: 3px !important;
  padding: 13px 14px !important;
  height: auto !important;
  min-height: 48px !important;
  width: 100% !important;
  box-shadow: none !important;
  transition: border-color 0.15s ease, box-shadow 0.15s ease !important;
}

.forminator-ui textarea,
.forminator-ui .forminator-textarea {
  min-height: 120px !important;
  line-height: 1.6 !important;
}

.forminator-ui input::placeholder,
.forminator-ui textarea::placeholder {
  color: #a8a49b !important;
  opacity: 1 !important;
}

.forminator-ui input[type="text"]:focus,
.forminator-ui input[type="email"]:focus,
.forminator-ui input[type="tel"]:focus,
.forminator-ui input[type="number"]:focus,
.forminator-ui input[type="url"]:focus,
.forminator-ui textarea:focus,
.forminator-ui .forminator-input:focus,
.forminator-ui .forminator-textarea:focus {
  border-color: var(--mrk-gold) !important;
  box-shadow: 0 0 0 3px rgba(212, 175, 55, 0.18) !important;
  outline: none !important;
}

.forminator-ui .forminator-select,
.forminator-ui select {
  font-family: Arial, Helvetica, sans-serif !important;
  font-size: 15px !important;
  color: var(--mrk-navy) !important;
  border: 1px solid #cfcbc2 !important;
  border-radius: 3px !important;
  min-height: 48px !important;
  background-color: #ffffff !important;
}

.forminator-ui .forminator-select-container,
.forminator-ui .select2-container--default .select2-selection--single {
  border: 1px solid #cfcbc2 !important;
  border-radius: 3px !important;
  min-height: 48px !important;
  background-color: #ffffff !important;
}

.forminator-ui .select2-container--default .select2-selection--single .select2-selection__rendered {
  color: var(--mrk-navy) !important;
  line-height: 48px !important;
  padding-left: 14px !important;
}

.forminator-ui .forminator-radio,
.forminator-ui .forminator-checkbox {
  font-size: 14px !important;
  color: var(--mrk-body) !important;
  line-height: 1.7 !important;
  margin-bottom: 8px !important;
}

.forminator-ui .forminator-radio-bullet,
.forminator-ui .forminator-checkbox-box {
  border-color: #cfcbc2 !important;
}

.forminator-ui input[type="radio"]:checked + .forminator-radio-bullet,
.forminator-ui input[type="checkbox"]:checked + .forminator-checkbox-box {
  background-color: var(--mrk-gold) !important;
  border-color: var(--mrk-gold) !important;
}

.forminator-ui button.forminator-button-submit,
.forminator-ui .forminator-button-submit {
  font-family: Arial, Helvetica, sans-serif !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  letter-spacing: 0.6px !important;
  background-color: var(--mrk-gold) !important;
  color: var(--mrk-navy) !important;
  border: none !important;
  border-radius: 3px !important;
  padding: 15px 32px !important;
  width: 100% !important;
  min-height: 50px !important;
  cursor: pointer !important;
  transition: background-color 0.2s ease, transform 0.1s ease !important;
  box-shadow: none !important;
}

.forminator-ui button.forminator-button-submit:hover,
.forminator-ui .forminator-button-submit:hover {
  background-color: var(--mrk-gold-dark) !important;
  color: var(--mrk-navy) !important;
}

.forminator-ui button.forminator-button-submit:active {
  transform: translateY(1px) !important;
}

.forminator-ui button.forminator-button-submit.forminator-button-onload {
  opacity: 0.75 !important;
}

.forminator-ui .forminator-description {
  font-size: 12px !important;
  color: var(--mrk-grey) !important;
  line-height: 1.6 !important;
  margin-top: 5px !important;
}

.forminator-ui .forminator-error-message {
  font-size: 12px !important;
  color: #b3261e !important;
  margin-top: 5px !important;
}

.forminator-ui .forminator-has_error input,
.forminator-ui .forminator-has_error textarea {
  border-color: #b3261e !important;
}

.forminator-ui .forminator-response-message.forminator-success {
  background-color: rgba(212, 175, 55, 0.1) !important;
  border: 1px solid var(--mrk-gold) !important;
  border-left: 4px solid var(--mrk-gold) !important;
  color: var(--mrk-navy) !important;
  font-size: 14px !important;
  line-height: 1.7 !important;
  padding: 16px 18px !important;
  border-radius: 3px !important;
}

.forminator-ui .forminator-response-message.forminator-error {
  background-color: rgba(179, 38, 30, 0.06) !important;
  border-left: 4px solid #b3261e !important;
  color: #b3261e !important;
  font-size: 14px !important;
  padding: 16px 18px !important;
  border-radius: 3px !important;
}
.mrk-hero .forminator-ui .forminator-label,
.mrk-price-strip .forminator-ui .forminator-label {
  color: rgba(255, 255, 255, 0.85) !important;
}

.mrk-hero .mrk-signup-box .forminator-ui .forminator-label,
.mrk-price-strip .mrk-signup-box .forminator-ui .forminator-label {
  color: var(--mrk-navy) !important;
}

.forminator-ui .forminator-select-container,
.forminator-ui .select2-container,
.forminator-ui .select2-container--default .select2-selection--single,
.forminator-ui select.forminator-select2 {
  width: 100% !important;
  background-color: #ffffff !important;
  border: 1px solid #cfcbc2 !important;
  border-radius: 3px !important;
  min-height: 48px !important;
  box-shadow: none !important;
}
.forminator-ui .select2-container--default .select2-selection--single .select2-selection__arrow {
  height: 46px !important;
}
.forminator-ui .forminator-checkbox-box {
  border-radius: 2px !important;
}

.mrk-accordion .forminator-ui {
  padding-left: 22px;
  padding-right: 22px;
  padding-bottom: 24px;
}
.mrk-accordion .forminator-ui .forminator-row {
  padding-left: 0;
  padding-right: 0;
}
.mrk-signup-box .forminator-ui {
  padding: 0;
}

.forminator-ui .forminator-field-select,
.forminator-ui .forminator-field select,
.forminator-ui .select2,
.forminator-ui .select2-container,
.forminator-ui .select2-container--default,
.forminator-ui .forminator-select,
.forminator-ui .forminator-select-container {
  width: 100% !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
  display: block !important;
}


/* ================================================================
   9. HOMEPAGE SECTIONS
   ================================================================ */

.mrk-hero {
  background: linear-gradient(135deg, var(--mrk-navy) 0%, var(--mrk-navy-grad) 100%);
  padding: 90px 24px 80px;
  text-align: center;
}
.mrk-hero-title {
  font-size: 44px;
  font-weight: 700;
  line-height: 1.2;
  max-width: 760px;
  margin: 0 auto 20px;
}
.mrk-hero-sub {
  font-size: 16px;
  color: rgba(255, 255, 255, 0.8);
  line-height: 1.8;
  max-width: 580px;
  margin: 0 auto 36px;
}
.mrk-hero-buttons { gap: 14px; }

.mrk-proof-strip {
  background: var(--mrk-cream);
  border-bottom: 1px solid var(--mrk-border);
  padding: 40px 24px;
}
.mrk-proof-item { text-align: center; }
.mrk-proof-number {
  font-family: Georgia, 'Times New Roman', serif;
  font-size: 34px;
  font-weight: 700;
  color: var(--mrk-navy);
  margin-bottom: 4px;
}
.mrk-proof-label {
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 1px;
  text-transform: uppercase;
  color: var(--mrk-grey);
  line-height: 1.5;
}

.mrk-paths {
  background: #ffffff;
  padding: 70px 24px;
}
.mrk-path-columns { gap: 20px; }
.mrk-path-card {
  background: var(--mrk-cream);
  border: 1px solid var(--mrk-border);
  border-left: 4px solid var(--mrk-gold);
  border-radius: 4px;
  padding: 26px 24px;
}

.mrk-masterclass-strip,
.mrk-games-strip {
  background: linear-gradient(135deg, var(--mrk-navy) 0%, var(--mrk-navy-grad) 100%);
  padding: 64px 24px;
  text-align: center;
}
.mrk-strip-heading {
  font-size: 27px;
  font-weight: 700;
  line-height: 1.3;
  max-width: 640px;
  margin: 0 auto 18px;
}
.mrk-strip-text {
  font-size: 15px;
  color: rgba(255, 255, 255, 0.75);
  line-height: 1.8;
  max-width: 620px;
  margin: 0 auto 30px;
}

.mrk-resources {
  background: #ffffff;
  padding: 70px 24px;
}
.mrk-resources .woocommerce { margin-bottom: 36px; }


/* ================================================================
   10. TUTORING PAGE SECTIONS
   ================================================================ */

.mrk-fit {
  background: #ffffff;
  padding: 70px 24px;
}
.mrk-fit-columns { gap: 20px; max-width: 860px; margin: 0 auto; }
.mrk-fit-card {
  border: 1px solid var(--mrk-border);
  border-radius: 4px;
  padding: 26px 24px;
  background: var(--mrk-cream);
}
.mrk-fit-yes { border-left: 4px solid var(--mrk-gold); }
.mrk-fit-no { border-left: 4px solid #c8c4ba; }
.mrk-fit-list {
  list-style: none;
  padding-left: 0;
  margin: 0;
}
.mrk-fit-list li {
  font-size: 14px;
  color: var(--mrk-body);
  line-height: 1.7;
  padding: 7px 0 7px 22px;
  position: relative;
  border-bottom: 1px solid rgba(26, 35, 50, 0.06);
}
.mrk-fit-list li:last-child { border-bottom: none; }
.mrk-fit-yes .mrk-fit-list li::before {
  content: "\2013";
  position: absolute;
  left: 0;
  color: var(--mrk-gold);
  font-weight: 700;
}
.mrk-fit-no .mrk-fit-list li::before {
  content: "\2013";
  position: absolute;
  left: 0;
  color: #b0aca2;
  font-weight: 700;
}
.mrk-fit-note {
  font-size: 13px;
  color: var(--mrk-grey);
  font-style: italic;
  text-align: center;
  max-width: 620px;
  margin: 28px auto 0;
  line-height: 1.7;
}

.mrk-included {
  background: var(--mrk-cream);
  border-top: 1px solid var(--mrk-border);
  border-bottom: 1px solid var(--mrk-border);
  padding: 70px 24px;
}
.mrk-included-columns { gap: 24px; margin-bottom: 24px; }
.mrk-included-columns:last-of-type { margin-bottom: 0; }
.mrk-included-item {
  border-top: 2px solid var(--mrk-gold);
  padding-top: 16px;
}
.mrk-included-title {
  font-size: 16px;
  font-weight: 700;
  margin-bottom: 8px;
  line-height: 1.3;
}

.mrk-price-strip {
  background: linear-gradient(135deg, var(--mrk-navy) 0%, var(--mrk-navy-grad) 100%);
  padding: 60px 24px;
  text-align: center;
}
.mrk-price-figure {
  font-family: Georgia, 'Times New Roman', serif;
  font-size: 48px;
  font-weight: 700;
  color: #ffffff;
  line-height: 1;
  margin-bottom: 18px;
}
.mrk-price-period {
  font-size: 18px;
  color: var(--mrk-gold);
  font-weight: 400;
}
.mrk-price-text {
  font-size: 15px;
  color: rgba(255, 255, 255, 0.75);
  line-height: 1.8;
  max-width: 600px;
  margin: 0 auto 30px;
}

.mrk-steps {
  background: #ffffff;
  padding: 70px 24px;
}
.mrk-step {
  max-width: 720px;
  margin: 0 auto;
  border-top: 1px solid var(--mrk-border);
  padding: 24px 0 24px 56px;
  position: relative;
}
.mrk-step:last-child { border-bottom: 1px solid var(--mrk-border); }
.mrk-step-number {
  position: absolute;
  left: 0;
  top: 24px;
  font-family: Georgia, 'Times New Roman', serif;
  font-size: 20px;
  font-weight: 700;
  color: var(--mrk-gold) !important;
  margin: 0;
  line-height: 1.3;
}
.mrk-step-title {
  font-size: 17px;
  font-weight: 700;
  margin-bottom: 6px;
  line-height: 1.3;
}
.mrk-step-text {
  font-size: 14px;
  color: var(--mrk-body);
  line-height: 1.75;
  margin: 0;
}


/* ================================================================
   11. INNER CIRCLE PAGE SECTIONS
   ================================================================ */

.mrk-hero-form { padding-bottom: 60px; }
.mrk-hero-box { margin-top: 8px; }

.mrk-instant {
  background: var(--mrk-cream);
  border-bottom: 1px solid var(--mrk-border);
  padding: 64px 24px;
}
.mrk-instant-columns { gap: 24px; }
.mrk-instant-item {
  background: #ffffff;
  border: 1px solid var(--mrk-border);
  border-top: 3px solid var(--mrk-gold);
  border-radius: 4px;
  padding: 22px 20px;
}


/* ================================================================
   12. CONTACT PAGE SECTIONS
   ================================================================ */

/* ---------- FAQ SECTION ---------- */
.mrk-faq {
  background: #ffffff;
  padding: 64px 24px;
}

.mrk-faq-wrap {
  max-width: 760px;
  margin: 0 auto;
}

/* ---------- ACCORDION ---------- */
.mrk-accordion {
  background: var(--mrk-cream);
  border: 1px solid var(--mrk-border);
  border-left: 3px solid var(--mrk-gold);
  border-radius: 4px;
  margin-bottom: 12px;
  padding: 0;
  overflow: hidden;
}

.mrk-accordion summary {
  font-family: Georgia, 'Times New Roman', serif;
  font-size: 16px;
  font-weight: 700;
  color: var(--mrk-navy);
  padding: 18px 22px;
  cursor: pointer;
  list-style: none;
  position: relative;
  padding-right: 46px;
  transition: color 0.15s ease;
}

.mrk-accordion summary:hover {
  color: var(--mrk-gold-dark);
}

.mrk-accordion summary::-webkit-details-marker { display: none; }
.mrk-accordion summary::marker { content: ""; }

.mrk-accordion summary::after {
  content: "+";
  position: absolute;
  right: 20px;
  top: 50%;
  transform: translateY(-50%);
  font-family: Arial, Helvetica, sans-serif;
  font-size: 20px;
  font-weight: 400;
  color: var(--mrk-gold);
  line-height: 1;
}

.mrk-accordion[open] summary::after {
  content: "\2013";
}

.mrk-accordion[open] summary {
  border-bottom: 1px solid var(--mrk-border);
}

.mrk-accordion > *:not(summary) {
  padding-left: 22px;
  padding-right: 22px;
}

.mrk-accordion > p {
  font-size: 14px;
  color: var(--mrk-body);
  line-height: 1.8;
  margin-top: 14px;
  margin-bottom: 14px;
}

.mrk-accordion > p:last-child {
  padding-bottom: 6px;
}

.mrk-accordion a {
  color: var(--mrk-navy);
  border-bottom: 1px solid var(--mrk-gold);
  text-decoration: none;
}
.mrk-accordion a:hover { color: var(--mrk-gold-dark); }

/* ---------- ACCORDIONS CONTAINING FORMS ---------- */
.mrk-accordion-form {
  background: #ffffff;
}

.mrk-accordion-form summary {
  font-size: 17px;
}

.mrk-accordion-intro {
  font-size: 14px !important;
  color: var(--mrk-grey) !important;
  line-height: 1.75 !important;
  margin-top: 18px !important;
  margin-bottom: 18px !important;
}

.mrk-accordion-form .forminator-ui {
  padding-bottom: 24px;
}

/* ---------- ROUTES SECTION ---------- */
.mrk-routes {
  background: var(--mrk-cream);
  border-top: 1px solid var(--mrk-border);
  padding: 64px 24px;
}

.mrk-routes .mrk-accordion-form {
  border-left-width: 4px;
}

/* ---------- DETAIL STRIP ---------- */
.mrk-details {
  background: #ffffff;
  border-top: 1px solid var(--mrk-border);
  padding: 40px 24px;
}
.mrk-detail-columns { max-width: 620px; margin: 0 auto; }
.mrk-detail-item { text-align: center; }
.mrk-detail-label {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 2px;
  text-transform: uppercase;
  color: var(--mrk-gold-dark);
  margin-bottom: 6px;
}
.mrk-detail-value {
  font-size: 14px;
  color: var(--mrk-navy);
  line-height: 1.6;
  margin: 0;
}
.mrk-detail-value a {
  color: var(--mrk-navy) !important;
  text-decoration: none !important;
  border-bottom: none !important;
}
.mrk-detail-value a:hover {
  color: var(--mrk-gold-dark) !important;
}


/* ================================================================
   RESPONSIVE — ALL PAGES
   ================================================================ */

@media (max-width: 781px) {
  /* Shared */
  .mrk-hero { padding: 56px 20px 52px; }
  .mrk-hero-title { font-size: 28px; }
  .mrk-hero-sub { font-size: 14px; }
  .mrk-section-heading { font-size: 23px; }
  .mrk-strip-heading { font-size: 21px; }
  .mrk-about-score { font-size: 48px; }
  .mrk-signup-box { padding: 20px 16px; }
  .mrk-pill-row { line-height: 2.4; }
  .mrk-pill { font-size: 11px; padding: 5px 11px; }

  .mrk-paths, .mrk-resources, .mrk-about,
  .mrk-testimonials, .mrk-signup,
  .mrk-masterclass-strip, .mrk-games-strip { padding: 48px 20px; }

  /* Homepage */
  .mrk-proof-columns { flex-wrap: wrap !important; }
  .mrk-proof-columns .wp-block-column { flex-basis: 45% !important; }

  /* Tutoring */
  .mrk-fit, .mrk-included, .mrk-steps, .mrk-price-strip { padding: 48px 20px; }
  .mrk-price-figure { font-size: 36px; }
  .mrk-price-period { font-size: 15px; }
  .mrk-step { padding-left: 44px; }
  .mrk-step-number { font-size: 17px; }

  /* Inner Circle */
  .mrk-instant { padding: 44px 20px; }
  .mrk-hero-form { padding-bottom: 44px; }

  /* Blog */
  .mrk-hero-short { padding: 44px 20px 38px; }
  .mrk-blog-latest, .mrk-blog-all { padding: 44px 20px; }
  .mrk-blog-filter { padding: 20px 16px; }
  .mrk-post-title { font-size: 16px !important; }
  .mrk-post-title-list { font-size: 17px !important; }

  /* Contact */
  .mrk-faq, .mrk-routes { padding: 44px 20px; }
  .mrk-details { padding: 32px 20px; }
  .mrk-detail-item { margin-bottom: 20px; }
  .mrk-accordion summary {
    font-size: 15px;
    padding: 16px 44px 16px 18px;
  }
  .mrk-accordion > *:not(summary) {
    padding-left: 18px;
    padding-right: 18px;
  }

  /* Header */
  .main-header-menu a { font-size: 15px !important; }

  /* Forms — 16px stops iOS zooming on focus */
  .forminator-ui input[type="text"],
  .forminator-ui input[type="email"],
  .forminator-ui input[type="tel"],
  .forminator-ui .forminator-input {
    font-size: 16px !important;
  }
  .forminator-ui button.forminator-button-submit {
    font-size: 15px !important;
  }
}


/* ================================================================
   14. MASTERCLASSES PAGE
   ================================================================ */

/* ---------- SHARED SECTION INTRO ---------- */
.mrk-section-intro {
  font-size: 15px;
  color: var(--mrk-grey);
  line-height: 1.8;
  max-width: 620px;
  margin: -24px auto 36px;
  text-align: center;
}

/* ---------- UPCOMING ---------- */
.mrk-upcoming {
  background: #ffffff;
  padding: 70px 24px;
}

/* ---------- ON DEMAND ---------- */
.mrk-ondemand {
  background: var(--mrk-cream);
  border-top: 1px solid var(--mrk-border);
  padding: 70px 24px;
}

/* Product grids inside both sections */
.mrk-upcoming .woocommerce,
.mrk-ondemand .woocommerce {
  max-width: 1080px;
  margin: 0 auto;
}

.mrk-upcoming ul.products,
.mrk-ondemand ul.products {
  margin-bottom: 0 !important;
}

/* Empty-state message when no products are in the category */
.mrk-upcoming .woocommerce-info,
.mrk-ondemand .woocommerce-info {
  background: var(--mrk-cream);
  border-top: 3px solid var(--mrk-gold);
  color: var(--mrk-grey);
  font-size: 14px;
  text-align: center;
  border-radius: 4px;
}

/* ---------- MASTERCLASS MOBILE ---------- */
@media (max-width: 781px) {
  .mrk-upcoming, .mrk-ondemand { padding: 48px 20px; }
  .mrk-section-intro {
    font-size: 14px;
    margin: -18px auto 28px;
  }
}


/* ================================================================
   13. OVERRIDES — MUST REMAIN LAST IN THIS FILE

   These reclaim properties that earlier !important rules
   (sections 2 and 7) would otherwise win. If you add new CSS
   later, add it ABOVE this block.
   ================================================================ */

/* Headings on dark backgrounds must be white, not navy */
.mrk-hero .mrk-hero-title,
.mrk-masterclass-strip .mrk-strip-heading,
.mrk-games-strip .mrk-strip-heading {
  color: #ffffff !important;
}

/* Gold accent inside white headings */
.mrk-hero-title .mrk-gold,
.mrk-about-score .mrk-gold {
  color: var(--mrk-gold) !important;
}

/* Card links: border-bottom is the underline, so suppress
   text-decoration to stop it rendering twice */
.mrk-card-link a,
.mrk-card-link a:hover,
.mrk-card-link a:visited,
.mrk-card-link a:focus {
  text-decoration: none !important;
  -webkit-text-decoration: none !important;
}
.mrk-card-link a:hover {
  border-bottom-color: var(--mrk-gold-dark);
}

/* Navy solid button — section 7 forces all block buttons gold */
.mrk-btn-navy .wp-block-button__link {
  background-color: var(--mrk-navy) !important;
  color: #ffffff !important;
  border-radius: 2px !important;
  padding: 14px 36px !important;
}
.mrk-btn-navy .wp-block-button__link:hover {
  background-color: var(--mrk-navy-grad) !important;
  color: #ffffff !important;
}

/* Outline button on dark backgrounds */
.mrk-btn-outline .wp-block-button__link {
  background-color: transparent !important;
  color: var(--mrk-gold) !important;
  border: 1px solid rgba(212, 175, 55, 0.6) !important;
  border-radius: 2px !important;
  padding: 13px 34px !important;
}
.mrk-btn-outline .wp-block-button__link:hover {
  background-color: rgba(212, 175, 55, 0.12) !important;
  color: var(--mrk-gold) !important;
}