/* ================================================================
   MR K PSYCHOLOGY - MASTER SITE CSS (v5, teal and slate)

   Paste into: Appearance > Customise > Additional CSS
   REPLACES everything currently in that box. Delete the old
   content first, do not append.

   CONTENTS
   1  Brand variables
   2  Global typography and links
   3  Shared legacy components (Blog and Contact pages)
   4  Header and footer
   5  Blog archive (legacy Astra template)
   6  Blog page (custom Query Loop page)
   7  WooCommerce (product pages, archives, cart)
   8  Forminator
   9  Contact page sections
   10 Masterclass and tutoring spacing leftovers
   11 Responsive
   12 OVERRIDES - must remain last

   The Homepage, Shop, Inner Circle, Masterclasses and Tutoring
   pages carry their own scoped CSS inside their Custom HTML
   blocks. Their old section styles (hero, proof strip, paths,
   fit, included, price strip, steps, instant) have been removed
   from this file on purpose.

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

@import url('https://fonts.googleapis.com/css2?family=Figtree:wght@400;500;600;700;800&display=swap');


/* ================================================================
   1. BRAND VARIABLES
   ================================================================ */
:root {
  --mrk-ink: #16303a;
  --mrk-ink-soft: #2e464e;
  --mrk-teal: #5f8a8c;
  --mrk-teal-deep: #3d6a6e;
  --mrk-mist: #eef3f2;
  --mrk-line: #d8e2e1;
  --mrk-accent: #c8431d;
  --mrk-accent-hover: #a93717;
  --mrk-body: #2b3d42;
  --mrk-muted: #5d6f74;
  --mrk-radius: 8px;
  --mrk-font: "Figtree", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;

  /* Astra global colours, so theme buttons and links follow */
  --ast-global-color-0: #c8431d;
  --ast-global-color-1: #a93717;
  --ast-global-color-2: #16303a;
  --ast-global-color-3: #2b3d42;
  --ast-global-color-4: #ffffff;
  --ast-global-color-5: #eef3f2;
  --ast-global-color-6: #d8e2e1;
  --ast-global-color-7: #16303a;
  --ast-global-color-8: #16303a;
}


/* ================================================================
   2. GLOBAL TYPOGRAPHY AND LINKS
   ================================================================ */
body, button, input, select, textarea,
.woocommerce, .woocommerce-page,
.main-header-menu a, .ast-footer-copyright {
  font-family: var(--mrk-font) !important;
}
h1, h2, h3, h4, h5, h6,
.entry-title, .product_title, .widget-title,
.woocommerce-loop-product__title {
  font-family: var(--mrk-font) !important;
  font-weight: 800;
  letter-spacing: -0.02em;
  text-transform: none;
}
body { color: var(--mrk-body); }

.entry-content a:not(.button):not(.wp-block-button__link):not(.mrk-btn):not(.mrk-pill-link),
.woocommerce-product-details__short-description a,
.woocommerce-Tabs-panel a {
  color: var(--mrk-teal-deep);
  text-decoration: underline;
  text-underline-offset: 3px;
}
.entry-content a:not(.button):not(.wp-block-button__link):not(.mrk-btn):not(.mrk-pill-link):hover {
  color: var(--mrk-ink);
}


/* ================================================================
   3. SHARED LEGACY COMPONENTS (Blog and Contact pages)
   ================================================================ */

/* ---------- Eyebrows ---------- */
.mrk-eyebrow {
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 2px;
  text-transform: uppercase;
  color: var(--mrk-teal-deep);
  text-align: center;
  margin-bottom: 12px;
}
.mrk-eyebrow-dark { color: #bcd3d3; }
.mrk-gold { color: var(--mrk-teal); }

/* ---------- Section headings ---------- */
.mrk-section-heading {
  font-size: 30px;
  font-weight: 800;
  text-align: center;
  line-height: 1.2;
  margin-bottom: 36px;
}
.mrk-section-intro {
  font-size: 16px;
  color: var(--mrk-muted);
  line-height: 1.7;
  max-width: 620px;
  margin: -20px auto 32px;
  text-align: center;
}

/* ---------- Block buttons ---------- */
.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,
.wp-block-button__link {
  background-color: var(--mrk-accent) !important;
  color: #ffffff !important;
  font-weight: 700;
  border-radius: var(--mrk-radius) !important;
  padding: 14px 30px;
  letter-spacing: 0;
}
.mrk-btn-gold .wp-block-button__link:hover,
.wp-block-button__link:hover {
  background-color: var(--mrk-accent-hover) !important;
  color: #ffffff !important;
}

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

/* ---------- 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(95, 138, 140, 0.14);
  border: 1px solid rgba(95, 138, 140, 0.4);
  color: var(--mrk-teal-deep);
  font-size: 12px; font-weight: 700; letter-spacing: 0.4px;
  padding: 6px 14px; border-radius: 999px; margin: 0 3px; white-space: nowrap;
}

/* ---------- Signup box ---------- */
.mrk-signup { background: var(--mrk-mist); border-top: 1px solid var(--mrk-line); padding: 64px 24px; text-align: center; }
.mrk-signup-sub { font-size: 15px; color: var(--mrk-muted); line-height: 1.7; max-width: 520px; margin: 0 auto 26px; }
.mrk-signup-box {
  background: #ffffff; border: 1px solid var(--mrk-line); border-radius: 12px;
  padding: 26px 30px; max-width: 520px; margin: 0 auto; text-align: left;
}
.mrk-form-note { font-size: 12px; color: var(--mrk-muted); text-align: center; margin-top: 12px; line-height: 1.6; }
.mrk-footnote { font-size: 12px; color: var(--mrk-muted); line-height: 1.6; max-width: 560px; margin: 28px auto 0; text-align: center; }

/* ---------- Testimonials ---------- */
.mrk-testimonials { background: #ffffff; padding: 60px 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-mist); border: 1px solid var(--mrk-line); border-radius: 12px; padding: 22px; }
.mrk-testimonial-text { font-size: 15px; color: var(--mrk-body); line-height: 1.7; margin-bottom: 12px; }
.mrk-testimonial-source { font-size: 12px; font-weight: 700; letter-spacing: 1px; text-transform: uppercase; color: var(--mrk-teal-deep); }

/* ---------- About / credential block ---------- */
.mrk-about { background: var(--mrk-mist); border-top: 1px solid var(--mrk-line); border-bottom: 1px solid var(--mrk-line); padding: 64px 24px; }
.mrk-about-columns { max-width: 820px; margin: 0 auto; gap: 40px; }
.mrk-about-score-col { text-align: center; }
.mrk-about-score { font-size: 60px; font-weight: 800; color: var(--mrk-ink); line-height: 1; margin-bottom: 8px; }
.mrk-about-score-label { font-size: 12px; font-weight: 700; letter-spacing: 2px; text-transform: uppercase; color: var(--mrk-muted); line-height: 1.6; }

/* ---------- Dark hero used by Blog and Contact ---------- */
.mrk-hero {
  background: linear-gradient(135deg, var(--mrk-ink) 0%, var(--mrk-ink-soft) 100%);
  padding: 80px 24px 70px;
  text-align: center;
}
.mrk-hero-title { font-size: 42px; font-weight: 800; line-height: 1.15; max-width: 760px; margin: 0 auto 18px; }
.mrk-hero-sub { font-size: 17px; color: rgba(255, 255, 255, 0.82); line-height: 1.7; max-width: 580px; margin: 0 auto 32px; }
.mrk-hero-buttons { gap: 14px; }
.mrk-hero-short { padding: 56px 24px 48px; }

.mrk-masterclass-strip, .mrk-games-strip {
  background: linear-gradient(135deg, var(--mrk-ink) 0%, var(--mrk-ink-soft) 100%);
  padding: 60px 24px; text-align: center;
}
.mrk-strip-heading { font-size: 28px; font-weight: 800; line-height: 1.25; max-width: 640px; margin: 0 auto 16px; }
.mrk-strip-text { font-size: 16px; color: rgba(255, 255, 255, 0.8); line-height: 1.7; max-width: 620px; margin: 0 auto 28px; }


/* ================================================================
   4. HEADER AND FOOTER
   ================================================================ */
.ast-primary-header-bar, .site-header, .ast-above-header, .main-header-bar {
  background-color: #ffffff !important;
  border-bottom: 1px solid var(--mrk-line) !important;
  box-shadow: none !important;
}
.site-title, .site-title a, .ast-site-identity .site-title a {
  font-family: var(--mrk-font) !important;
  color: var(--mrk-ink) !important;
  font-weight: 800 !important;
}
.site-description {
  font-family: var(--mrk-font) !important;
  color: var(--mrk-muted) !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: 16px !important;
  font-weight: 600 !important;
  letter-spacing: 0 !important;
  color: var(--mrk-ink) !important;
}
.main-header-menu .menu-item { margin: 0 !important; }
.main-header-menu .menu-item > a { padding-left: 14px !important; padding-right: 14px !important; }
.main-header-menu a:hover,
.main-header-menu .current-menu-item > a,
.main-header-menu .current_page_item > a { color: var(--mrk-teal-deep) !important; }
.main-header-menu .current-menu-item > a,
.main-header-menu .current_page_item > a { box-shadow: inset 0 -3px 0 var(--mrk-teal); border-bottom: 0 !important; }

.main-header-menu .sub-menu {
  background: #ffffff !important;
  border: 1px solid var(--mrk-line) !important;
  box-shadow: 0 8px 24px rgba(22, 48, 58, 0.12) !important;
}
.main-header-menu .sub-menu a { color: var(--mrk-ink) !important; font-size: 14px !important; }
.ast-mobile-menu-buttons-minimal.menu-toggle { color: var(--mrk-ink) !important; background: transparent !important; }

.ast-site-header-cart .ast-cart-menu-wrap .count { background: var(--mrk-ink) !important; color: #fff !important; }

.site-footer, .ast-small-footer, .footer-adv, .site-below-footer-wrap, .site-primary-footer-wrap {
  background-color: var(--mrk-ink) !important;
  color: rgba(255, 255, 255, 0.72) !important;
  border-top: 3px solid var(--mrk-teal) !important;
}
.site-footer h1, .site-footer h2, .site-footer h3, .site-footer h4, .site-footer .widget-title {
  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.7) !important; font-size: 14px !important; line-height: 1.8 !important;
}
.site-footer a, .ast-small-footer a { color: rgba(255, 255, 255, 0.7) !important; text-decoration: none !important; }
.site-footer a:hover, .ast-small-footer a:hover { color: #ffffff !important; }

#ast-scroll-top { background: var(--mrk-ink) !important; color: #fff !important; border-radius: 8px; }
#ast-scroll-top:hover { background: var(--mrk-accent) !important; }


/* ================================================================
   5. BLOG ARCHIVE (legacy Astra template)
   Only needed while /blog/ still uses the theme archive.
   ================================================================ */
.blog .site-content { background: var(--mrk-mist); padding: 0; }
.blog .ast-container { max-width: 1180px !important; width: 100% !important; }
.blog .page-header {
  background: linear-gradient(135deg, var(--mrk-ink) 0%, var(--mrk-ink-soft) 100%);
  color: #fff; text-align: center; padding: 52px 20px; margin: 0;
  border-bottom: 3px solid var(--mrk-teal);
}
.blog .page-header h1 { font-size: clamp(1.9rem, 2.8vw, 2.6rem); margin: 0; color: #fff !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 var(--mrk-line);
  box-shadow: 0 6px 18px rgba(22, 48, 58, 0.06); 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(-3px); box-shadow: 0 14px 32px rgba(22, 48, 58, 0.12); }
.blog article::before { content: ""; display: block; height: 4px; background: var(--mrk-teal); }
.blog .entry-header { padding: 22px 22px 10px !important; }
.blog .entry-content, .blog .entry-summary {
  padding: 0 22px 22px !important; color: var(--mrk-muted) !important;
  font-size: 1rem !important; line-height: 1.7 !important;
}
.blog .entry-title { margin: 10px 0 !important; }
.blog .entry-title a {
  color: var(--mrk-ink) !important; text-decoration: none !important;
  font-size: 1.3rem !important; line-height: 1.3 !important; font-weight: 800 !important; display: block !important;
}
.blog .entry-title a:hover { color: var(--mrk-teal-deep) !important; }
.blog .cat-links {
  background: rgba(95, 138, 140, 0.16) !important; color: var(--mrk-teal-deep) !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-accent) !important; color: #fff !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; margin-top: 14px; font-size: 0.95rem;
}
.blog .read-more:hover { background: var(--mrk-accent-hover) !important; color: #fff !important; }


/* ================================================================
   6. BLOG PAGE (custom Query Loop page)
   ================================================================ */
.mrk-blog-filter { background: var(--mrk-mist); border-bottom: 1px solid var(--mrk-line); padding: 24px; text-align: center; }
.mrk-filter-label { font-size: 12px; font-weight: 700; letter-spacing: 2px; text-transform: uppercase; color: var(--mrk-muted); margin-bottom: 12px; }
.mrk-pill-row-light { margin-top: 0; }
.mrk-pill-link {
  background: #ffffff; border: 1px solid var(--mrk-line);
  color: var(--mrk-ink) !important; text-decoration: none !important;
  transition: border-color .2s, color .2s;
}
.mrk-pill-link:hover { border-color: var(--mrk-teal); color: var(--mrk-teal-deep) !important; }

.mrk-blog-latest { background: #ffffff; padding: 60px 24px; }
.mrk-post-grid { gap: 26px !important; }
.mrk-post-grid > li {
  background: #ffffff; border: 1px solid var(--mrk-line); border-radius: 12px;
  overflow: hidden; padding-bottom: 20px; box-shadow: 0 4px 14px rgba(22, 48, 58, 0.05);
}
.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: 11px !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-teal-deep) !important; text-decoration: none !important; }
.mrk-post-title { font-size: 19px !important; line-height: 1.3 !important; margin-bottom: 10px !important; }
.mrk-post-title a { color: var(--mrk-ink) !important; text-decoration: none !important; }
.mrk-post-title a:hover { color: var(--mrk-teal-deep) !important; }
.mrk-post-excerpt { font-size: 15px !important; color: var(--mrk-muted) !important; line-height: 1.65 !important; margin: 0 !important; }
.mrk-post-excerpt .wp-block-post-excerpt__more-text a { color: var(--mrk-teal-deep) !important; font-weight: 700; text-decoration: none !important; }

.mrk-blog-all { background: var(--mrk-mist); border-top: 1px solid var(--mrk-line); padding: 60px 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-line); padding: 22px 0; }
.mrk-post-list > li:last-child { border-bottom: 1px solid var(--mrk-line); }
.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: 14px; color: var(--mrk-ink); text-decoration: none !important;
  padding: 6px 12px; border: 1px solid var(--mrk-line); border-radius: 6px; background: #ffffff;
}
.mrk-pagination a:hover { border-color: var(--mrk-teal); color: var(--mrk-teal-deep); }
.mrk-pagination .current { background: var(--mrk-ink); color: #ffffff; border-color: var(--mrk-ink); }


/* ================================================================
   7. WOOCOMMERCE (product pages, archives, cart)
   Product grids inside the new pages are styled by those pages.
   ================================================================ */
.woocommerce div.product .product_title { font-size: clamp(28px, 3.2vw, 38px) !important; line-height: 1.12; color: var(--mrk-ink); }
.woocommerce ul.products li.product .woocommerce-loop-product__title { color: var(--mrk-ink); }
.woocommerce ul.products li.product a { color: var(--mrk-ink); text-decoration: none; }

.woocommerce #respond input#submit,
.woocommerce a.button, .woocommerce button.button, .woocommerce input.button,
.woocommerce a.button.alt, .woocommerce button.button.alt, .woocommerce input.button.alt,
.woocommerce button.single_add_to_cart_button,
.wc-block-components-button, .ast-button,
button[type="submit"], input[type="submit"] {
  background: var(--mrk-accent) !important;
  color: #ffffff !important;
  font-weight: 700 !important;
  border: 0 !important;
  border-radius: var(--mrk-radius) !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
  box-shadow: none !important;
  transition: background-color .2s ease;
}
.woocommerce a.button:hover, .woocommerce button.button:hover, .woocommerce input.button:hover,
.woocommerce a.button.alt:hover, .woocommerce button.button.alt:hover,
.woocommerce button.single_add_to_cart_button:hover,
.ast-button:hover, button[type="submit"]:hover, input[type="submit"]:hover {
  background: var(--mrk-accent-hover) !important;
  color: #ffffff !important;
}

.woocommerce div.product p.price, .woocommerce div.product span.price,
.woocommerce ul.products li.product .price {
  color: var(--mrk-ink) !important;
  font-weight: 800 !important;
}
.woocommerce div.product p.price, .woocommerce div.product span.price { font-size: 28px !important; line-height: 1.2; }
.woocommerce div.product p.price del, .woocommerce div.product span.price del {
  color: var(--mrk-muted) !important; font-weight: 500 !important; opacity: 1; font-size: 22px !important;
}
.woocommerce div.product p.price ins, .woocommerce div.product span.price ins {
  text-decoration: none; background: none; color: var(--mrk-ink) !important;
}

.woocommerce span.onsale, .ast-onsale-card {
  background: var(--mrk-accent) !important; color: #fff !important;
  border-radius: 6px !important; min-height: 0 !important; min-width: 0 !important;
  line-height: 1 !important; padding: 7px 10px !important;
  font-size: 12px !important; font-weight: 800 !important; text-transform: uppercase;
}
.woocommerce .star-rating span::before, .woocommerce .star-rating::before { color: var(--mrk-teal-deep); }

.woocommerce .woocommerce-breadcrumb { font-size: 0.85em; color: var(--mrk-muted); margin-bottom: 1.5em; }
.woocommerce .woocommerce-breadcrumb a { color: var(--mrk-muted); }
.woocommerce div.product .posted_in a, .single-product .product_meta a {
  color: var(--mrk-teal-deep) !important; font-size: 0.85em; text-transform: uppercase; letter-spacing: 0.06em;
}
.product_meta { font-size: 14px; color: var(--mrk-muted); }

.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: .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-teal); }

.woocommerce div.product .woocommerce-tabs ul.tabs li.active { border-bottom-color: var(--mrk-accent); }
.woocommerce div.product .woocommerce-tabs ul.tabs li a { color: var(--mrk-ink); font-weight: 700; }
.woocommerce-tabs ul.tabs li.active a { color: var(--mrk-ink) !important; border-bottom: 2px solid var(--mrk-accent); }

.woocommerce div.product form.cart .variations select, .woocommerce .quantity .qty,
.woocommerce-page input[type="text"], .woocommerce-page input[type="email"], .woocommerce-page select {
  border: 1px solid #b9c9c8 !important; border-radius: 8px !important; color: var(--mrk-ink);
}
.woocommerce div.product form.cart .reset_variations { color: var(--mrk-teal-deep) !important; }
.woocommerce div.product .woocommerce-product-details__short-description ul { padding-left: 0; list-style: none; }
.woocommerce div.product .woocommerce-product-details__short-description li { margin-bottom: 6px; }
.woocommerce-cart table.cart th, .woocommerce-checkout h3 { color: var(--mrk-ink); }

/* Offer box in product short descriptions */
.mrk-offer-box {
  background: var(--mrk-ink); border-radius: 12px;
  padding: 20px 24px; margin: 18px 0; color: #ffffff;
}
.mrk-offer-box h4 { color: #ffffff !important; 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: #9cc3c4; font-weight: 700; }
.mrk-credential {
  font-size: 0.9em; color: var(--mrk-muted);
  border-left: 3px solid var(--mrk-teal); padding-left: 12px; margin-top: 14px;
}


/* ================================================================
   8. FORMINATOR
   ================================================================ */
.forminator-ui.forminator-custom-form { font-family: var(--mrk-font) !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: var(--mrk-font) !important;
  font-size: 12px !important; font-weight: 700 !important; letter-spacing: 1px !important;
  text-transform: uppercase !important; color: var(--mrk-ink) !important; margin-bottom: 6px !important;
}
.forminator-ui .forminator-required { color: var(--mrk-accent) !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: var(--mrk-font) !important; font-size: 16px !important; color: var(--mrk-ink) !important;
  background-color: #ffffff !important; border: 1px solid #b9c9c8 !important; border-radius: 8px !important;
  padding: 13px 14px !important; height: auto !important; min-height: 48px !important;
  width: 100% !important; box-shadow: none !important;
  transition: border-color .15s ease, box-shadow .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: #8fa1a0 !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-teal-deep) !important;
  box-shadow: 0 0 0 3px rgba(95, 138, 140, 0.25) !important;
  outline: none !important;
}

.forminator-ui .forminator-select, .forminator-ui select,
.forminator-ui .forminator-select-container,
.forminator-ui .select2-container,
.forminator-ui .select2-container--default .select2-selection--single,
.forminator-ui select.forminator-select2 {
  font-family: var(--mrk-font) !important; font-size: 16px !important; color: var(--mrk-ink) !important;
  border: 1px solid #b9c9c8 !important; border-radius: 8px !important; min-height: 48px !important;
  background-color: #ffffff !important; width: 100% !important; max-width: 100% !important;
  box-sizing: border-box !important; box-shadow: none !important;
}
.forminator-ui .select2-container--default .select2-selection--single .select2-selection__rendered {
  color: var(--mrk-ink) !important; line-height: 46px !important; padding-left: 14px !important;
}
.forminator-ui .select2-container--default .select2-selection--single .select2-selection__arrow { height: 46px !important; }

.forminator-ui .forminator-radio, .forminator-ui .forminator-checkbox {
  font-size: 15px !important; color: var(--mrk-body) !important; line-height: 1.6 !important; margin-bottom: 8px !important;
}
.forminator-ui .forminator-radio-bullet, .forminator-ui .forminator-checkbox-box { border-color: #b9c9c8 !important; }
.forminator-ui .forminator-checkbox-box { border-radius: 4px !important; }
.forminator-ui input[type="radio"]:checked + .forminator-radio-bullet,
.forminator-ui input[type="checkbox"]:checked + .forminator-checkbox-box {
  background-color: var(--mrk-teal-deep) !important; border-color: var(--mrk-teal-deep) !important;
}

.forminator-ui button.forminator-button-submit, .forminator-ui .forminator-button-submit {
  font-family: var(--mrk-font) !important; font-size: 16px !important; font-weight: 700 !important;
  letter-spacing: 0 !important; background-color: var(--mrk-accent) !important; color: #ffffff !important;
  border: none !important; border-radius: 8px !important; padding: 15px 32px !important;
  width: 100% !important; min-height: 50px !important; cursor: pointer !important;
  transition: background-color .2s ease !important; box-shadow: none !important;
}
.forminator-ui button.forminator-button-submit:hover, .forminator-ui .forminator-button-submit:hover {
  background-color: var(--mrk-accent-hover) !important; color: #ffffff !important;
}
.forminator-ui button.forminator-button-submit.forminator-button-onload { opacity: .75 !important; }

.forminator-ui .forminator-description { font-size: 13px !important; color: var(--mrk-muted) !important; line-height: 1.6 !important; margin-top: 5px !important; }
.forminator-ui .forminator-error-message { font-size: 13px !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(95, 138, 140, 0.12) !important;
  border: 1px solid var(--mrk-teal) !important; border-left: 4px solid var(--mrk-teal-deep) !important;
  color: var(--mrk-ink) !important; font-size: 15px !important; line-height: 1.6 !important;
  padding: 16px 18px !important; border-radius: 8px !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: 15px !important; padding: 16px 18px !important; border-radius: 8px !important;
}

.mrk-hero .forminator-ui .forminator-label { color: rgba(255, 255, 255, 0.88) !important; }
.mrk-hero .mrk-signup-box .forminator-ui .forminator-label { color: var(--mrk-ink) !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; }


/* ================================================================
   9. CONTACT PAGE SECTIONS
   ================================================================ */
.mrk-faq { background: #ffffff; padding: 60px 24px; }
.mrk-faq-wrap { max-width: 760px; margin: 0 auto; }

.mrk-accordion {
  background: var(--mrk-mist); border: 1px solid var(--mrk-line); border-left: 4px solid var(--mrk-teal);
  border-radius: 8px; margin-bottom: 12px; padding: 0; overflow: hidden;
}
.mrk-accordion summary {
  font-size: 17px; font-weight: 800; color: var(--mrk-ink);
  padding: 18px 46px 18px 22px; cursor: pointer; list-style: none; position: relative;
  transition: color .15s ease;
}
.mrk-accordion summary:hover { color: var(--mrk-teal-deep); }
.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-size: 22px; font-weight: 400; color: var(--mrk-teal-deep); line-height: 1;
}
.mrk-accordion[open] summary::after { content: "\2013"; }
.mrk-accordion[open] summary { border-bottom: 1px solid var(--mrk-line); }
.mrk-accordion > *:not(summary) { padding-left: 22px; padding-right: 22px; }
.mrk-accordion > p { font-size: 15px; color: var(--mrk-body); line-height: 1.75; margin-top: 14px; margin-bottom: 14px; }
.mrk-accordion > p:last-child { padding-bottom: 6px; }
.mrk-accordion a { color: var(--mrk-teal-deep); border-bottom: 1px solid var(--mrk-teal); text-decoration: none; }
.mrk-accordion a:hover { color: var(--mrk-ink); }

.mrk-accordion-form { background: #ffffff; }
.mrk-accordion-form summary { font-size: 18px; }
.mrk-accordion-intro { font-size: 15px !important; color: var(--mrk-muted) !important; line-height: 1.7 !important; margin-top: 18px !important; margin-bottom: 18px !important; }
.mrk-accordion-form .forminator-ui { padding-bottom: 24px; }

.mrk-routes { background: var(--mrk-mist); border-top: 1px solid var(--mrk-line); padding: 60px 24px; }
.mrk-routes .mrk-accordion-form { border-left-width: 5px; }

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


/* ================================================================
   10. MASTERCLASS AND TUTORING SPACING LEFTOVERS
   Only used if any old block-markup pages still exist.
   ================================================================ */
.mrk-upcoming { background: #ffffff; padding: 60px 24px; }
.mrk-ondemand { background: var(--mrk-mist); border-top: 1px solid var(--mrk-line); padding: 60px 24px; }
.mrk-upcoming .woocommerce, .mrk-ondemand .woocommerce { max-width: 1080px; margin: 0 auto; }
.mrk-upcoming ul.products, .mrk-ondemand ul.products { margin-bottom: 0 !important; }
.mrk-upcoming .woocommerce-info, .mrk-ondemand .woocommerce-info {
  background: var(--mrk-mist); border-top: 3px solid var(--mrk-teal);
  color: var(--mrk-muted); font-size: 15px; text-align: center; border-radius: 8px;
}


/* ================================================================
   11. RESPONSIVE
   ================================================================ */
@media (max-width: 1024px) {
  .blog .ast-row { grid-template-columns: 1fr !important; }
}
@media (max-width: 781px) {
  .mrk-hero { padding: 52px 20px 48px; }
  .mrk-hero-title { font-size: 28px; }
  .mrk-hero-sub { font-size: 15px; }
  .mrk-hero-short { padding: 40px 20px 36px; }
  .mrk-section-heading { font-size: 24px; }
  .mrk-strip-heading { font-size: 22px; }
  .mrk-about-score { font-size: 46px; }
  .mrk-signup-box { padding: 20px 16px; }
  .mrk-pill-row { line-height: 2.4; }
  .mrk-pill { font-size: 11px; padding: 5px 11px; }
  .mrk-about, .mrk-testimonials, .mrk-signup, .mrk-masterclass-strip, .mrk-games-strip { padding: 44px 20px; }
  .mrk-blog-latest, .mrk-blog-all { padding: 44px 20px; }
  .mrk-blog-filter { padding: 20px 16px; }
  .mrk-post-title { font-size: 17px !important; }
  .mrk-post-title-list { font-size: 18px !important; }
  .mrk-faq, .mrk-routes, .mrk-upcoming, .mrk-ondemand { padding: 44px 20px; }
  .mrk-details { padding: 32px 20px; }
  .mrk-detail-item { margin-bottom: 20px; }
  .mrk-accordion summary { font-size: 16px; padding: 16px 44px 16px 18px; }
  .mrk-accordion > *:not(summary) { padding-left: 18px; padding-right: 18px; }
  .mrk-section-intro { font-size: 15px; margin: -16px auto 26px; }
  .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; }
  .main-header-menu a { font-size: 16px !important; }
}


/* ================================================================
   12. OVERRIDES - MUST REMAIN LAST IN THIS FILE
   Headings on dark backgrounds must be white, because Astra
   colours headings with the dark global colour.
   ================================================================ */
.mrk-hero .mrk-hero-title,
.mrk-masterclass-strip .mrk-strip-heading,
.mrk-games-strip .mrk-strip-heading,
.mrk-offer-box h4 {
  color: #ffffff !important;
}
.mrk-hero-title .mrk-gold,
.mrk-about-score .mrk-gold {
  color: #9cc3c4 !important;
}
.mrk-card-link a,
.mrk-card-link a:hover,
.mrk-card-link a:visited,
.mrk-card-link a:focus {
  text-decoration: none !important;
}
.mrk-btn-navy .wp-block-button__link {
  background-color: var(--mrk-ink) !important; color: #ffffff !important;
  border-radius: var(--mrk-radius) !important; padding: 14px 30px !important;
}
.mrk-btn-navy .wp-block-button__link:hover { background-color: var(--mrk-ink-soft) !important; color: #ffffff !important; }
.mrk-btn-outline .wp-block-button__link {
  background-color: transparent !important; color: #ffffff !important;
  border: 1px solid rgba(255, 255, 255, 0.6) !important; border-radius: var(--mrk-radius) !important; padding: 13px 28px !important;
}
.mrk-btn-outline .wp-block-button__link:hover { background-color: rgba(255, 255, 255, 0.12) !important; color: #ffffff !important; }