/* Clarity FT main-site match for cerertraining.co.uk */
@import url("https://fonts.googleapis.com/css2?family=Nunito+Sans:wght@400;600;700;800&display=swap");

:root {
  --cft-primary: #077B86;
  --cft-secondary: #FF4C8F;
  --cft-text: #000000;
  --cft-muted: #424242;
  --cft-bg: #FFFFFF;
  --cft-bg-soft: #F0F7F8;
  --cft-border: #E0E0E0;
  --cft-font: "Nunito Sans", sans-serif;
}

html, body {
  background: var(--cft-bg-soft) !important;
  color: var(--cft-muted) !important;
  font-family: var(--cft-font) !important;
  font-size: 17px !important;
  line-height: 1.55 !important;
}

body, button, input, select, textarea,
.wrapper, #main, .site_content, .entry-content, .entry-summary,
.tabcontent, .responsive-tabs, .cft-content-hero {
  font-family: var(--cft-font) !important;
  color: var(--cft-muted) !important;
}

h1, h2, h3, h4, h5, h6,
.wrapper h1, .wrapper h2, .wrapper h3,
.entry-content h1, .entry-content h2, .entry-content h3,
.cft-content-hero h1, #post-title h2 {
  font-family: var(--cft-font) !important;
  color: var(--cft-primary) !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
  text-shadow: none !important;
}

h1, .entry-content h1, .cft-content-hero h1 {
  font-size: 36px !important;
  font-weight: 800 !important;
  line-height: 1.2 !important;
}

h2, .entry-content h2 {
  font-size: 26px !important;
  font-weight: 700 !important;
  line-height: 1.3 !important;
}

h3, .entry-content h3 {
  font-size: 20px !important;
  font-weight: 700 !important;
}

p, li, .entry-content p, .entry-content li {
  color: var(--cft-muted) !important;
  font-size: 17px !important;
  font-weight: 400 !important;
}

a, a:visited { color: var(--cft-primary) !important; }
a:hover { color: #0A94A1 !important; }

p a, .entry-content p a {
  background: transparent !important;
  color: var(--cft-secondary) !important;
  padding: 0 !important;
  text-decoration: underline !important;
  border-radius: 0 !important;
}

/* Header nav: see css/cft-header-nav.css */

/* Page hero banner (exact Clarity FT inner-page banner) */
#header.header-inner,
#header.cft-page-hero {
  position: relative !important;
  top: 0 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  min-height: 350px !important;
  height: 350px !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
  background-color: #1a1a1a !important;
  background-size: cover !important;
  background-position: center 30% !important;
  background-repeat: no-repeat !important;
}

#header.header-inner::after,
#header.cft-page-hero::after {
  position: absolute !important;
  inset: 0 !important;
  background: linear-gradient(180deg, rgba(0,0,0,.42), rgba(0,0,0,.22)) !important;
  opacity: 1 !important;
  content: "" !important;
  height: auto !important;
  pointer-events: none !important;
  z-index: 0 !important;
}

#header #post-title {
  position: relative;
  z-index: 1;
  padding: 0 20px !important;
  text-align: center;
  width: 100%;
  margin: 0 !important;
}

#header #post-title h2,
#header.cft-page-hero #post-title h2 {
  color: #fff !important;
  font-family: var(--cft-font) !important;
  font-size: clamp(26px, 3vw, 36px) !important;
  font-weight: 800 !important;
  letter-spacing: 0.02em !important;
  text-transform: uppercase !important;
  line-height: 1.2 !important;
  text-shadow: 0 2px 18px rgba(0,0,0,.45) !important;
  margin: 0 !important;
}

#header.cft-page-hero > a {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
  text-decoration: none !important;
  position: relative;
  z-index: 1;
}

.callus { display: none !important; }

@media (max-width: 767px) {
  #header.header-inner,
  #header.cft-page-hero {
    min-height: 260px !important;
    height: 260px !important;
  }
  #header #post-title h2 {
    font-size: 26px !important;
  }
}

/* ===== Content shell ===== */
.wrapper, #main, .site_content, .content-section {
  background: transparent !important;
  color: var(--cft-muted) !important;
}

#main.wrapper {
  padding: 28px 0 40px !important;
}

#main > .container {
  max-width: 1170px;
}

.site_content {
  background: #fff !important;
  border-radius: 16px !important;
  box-shadow: 0 8px 28px rgba(0,0,0,.06);
  padding: 28px 28px 36px !important;
  overflow: hidden;
}

.cft-content-hero {
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  padding: 0 0 18px !important;
  margin: 0 0 8px !important;
  display: block !important;
}

.cft-content-badge {
  display: inline-flex !important;
  align-items: center;
  gap: 6px;
  background: var(--cft-bg-soft) !important;
  color: var(--cft-primary) !important;
  border: 1px solid #cfe4e7 !important;
  border-radius: 999px !important;
  padding: 6px 12px !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  margin-bottom: 12px !important;
}

.cft-content-hero h1 {
  margin: 0 !important;
}

p.entry-title { display: none !important; }

/* ===== Sidebar tabs (Clarity FT style) ===== */
.responsive-tabs {
  display: flex !important;
  gap: 18px;
  align-items: flex-start;
}

.responsive-tabs > ul[role="tablist"] {
  float: none !important;
  width: 258px !important;
  min-width: 220px;
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
  background: transparent !important;
  border: 0 !important;
}

.responsive-tabs > ul[role="tablist"] > li {
  float: none !important;
  width: 100% !important;
  margin: 0 0 8px !important;
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
}

.responsive-tabs > ul[role="tablist"] > li > a,
.responsive-tabs > ul[role="tablist"] > li > a[style],
.responsive-tabs .responsive-tabs__list__item a,
.responsive-tabs .responsive-tabs__list__item a[style] {
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 12px 14px !important;
  border: 1.5px solid var(--cft-primary) !important;
  border-radius: 10px !important;
  background: var(--cft-bg-soft) !important;
  color: #2A2A2A !important;
  font-family: var(--cft-font) !important;
  font-size: 13.5px !important;
  font-weight: 600 !important;
  line-height: 1.35 !important;
  text-align: left !important;
  text-decoration: none !important;
  box-shadow: none !important;
}

.responsive-tabs > ul[role="tablist"] > li > a:hover,
.responsive-tabs > ul[role="tablist"] > li > a[style]:hover,
.responsive-tabs .responsive-tabs__list__item a:hover,
.responsive-tabs .responsive-tabs__list__item a[style]:hover {
  background: #0A94A1 !important;
  color: #fff !important;
}

.responsive-tabs > ul[role="tablist"] > li.responsive-tabs__list__item--active > a,
.responsive-tabs > ul[role="tablist"] > li.responsive-tabs__list__item--active > a[style],
.responsive-tabs .responsive-tabs__list__item--active a,
.responsive-tabs .responsive-tabs__list__item--active a[style] {
  background: var(--cft-primary) !important;
  border-color: var(--cft-primary) !important;
  color: #fff !important;
}

.responsive-tabs .tabcontent,
.responsive-tabs .responsive-tabs__panel {
  flex: 1 1 auto;
  float: none !important;
  width: auto !important;
  margin: 0 !important;
  padding: 8px 4px 8px 8px !important;
  background: transparent !important;
  border: 0 !important;
  color: var(--cft-muted) !important;
}

.responsive-tabs .tabtitle.responsive { display: none !important; }

/* Reviews carousel: css/cft-love-carousel.css */

/* ===== Accreditation (exact Clarity FT) ===== */
.accreditation-strip,
.cft-accreditations {
  position: relative !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  align-items: center !important;
  gap: 18px !important;
  text-align: center !important;
  background: #077B86 !important;
  padding: 34px 20px 30px !important;
  border: 0 !important;
  box-shadow: none !important;
  overflow: hidden !important;
}

.accreditation-strip > .container,
.cft-accreditations > .container {
  width: 100%;
  max-width: 1170px;
  margin: 0 auto;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 18px;
}

.accreditation-strip__label,
.cft-accreditations-label {
  position: relative;
  z-index: 1;
  margin: 0 !important;
  padding: 0 12px;
  max-width: 720px;
  font-family: var(--cft-font) !important;
  font-size: 16px !important;
  font-weight: 700 !important;
  letter-spacing: 0.04em;
  line-height: 1.35 !important;
  text-transform: uppercase;
  color: #FFFFFF !important;
}

.accreditation-strip__badges,
.cft-accreditations-logos {
  position: relative;
  z-index: 1;
  display: flex !important;
  flex-wrap: wrap !important;
  justify-content: center;
  align-items: stretch;
  gap: 16px 22px;
  width: 100%;
  padding-bottom: 0;
}

.accreditation-strip a,
.cft-accreditations-logos a {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  line-height: 0 !important;
  background: transparent !important;
  padding: 0 !important;
  flex: 0 0 auto !important;
  width: 280px !important;
  max-width: calc(33.333% - 16px) !important;
  border-radius: 8px;
  box-shadow: none !important;
  transition: transform 0.22s ease, box-shadow 0.22s ease;
  text-decoration: none !important;
}

.accreditation-strip a:hover,
.accreditation-strip a:focus-visible {
  opacity: 1 !important;
  transform: translateY(-4px) scale(1.02);
  outline: none;
  box-shadow: 0 12px 28px rgba(0, 0, 0, 0.35), 0 0 0 2px rgba(0, 0, 0, 0.55) !important;
}

.accreditation-badge,
.cft-accreditations-logos img {
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  height: 110px !important;
  margin: 0 !important;
  padding: 12px 14px !important;
  box-sizing: border-box !important;
  border: 0 !important;
  border-radius: 8px !important;
  object-fit: contain !important;
  object-position: center !important;
  background: #ffffff !important;
  box-shadow: 0 8px 20px rgba(0, 0, 0, 0.22) !important;
}

/* ===== Footer (exact Clarity FT) ===== */
#footer.cft-footer {
  background: #F0F7F8 !important;
  color: #424242 !important;
  padding: 56px 0 0 !important;
  border-top: 0 !important;
  font-family: var(--cft-font) !important;
}

#footer.cft-footer .container,
#footer.cft-footer .cft-footer-inner {
  width: 100%;
  max-width: 1170px;
  margin: 0 auto;
  padding: 0 20px;
  box-sizing: border-box;
}

#footer.cft-footer a,
#footer.cft-footer p a,
#footer.cft-footer .copy a {
  color: #000000 !important;
  text-decoration: none !important;
  background: none !important;
  box-shadow: none !important;
  transition: color 0.2s ease;
}

#footer.cft-footer a:hover {
  color: #2A2A2A !important;
}

.cft-footer-main {
  display: grid;
  grid-template-columns: 0.9fr 1.4fr 0.9fr 1.1fr;
  gap: 36px;
  padding-bottom: 36px;
  align-items: start;
}

.cft-footer-brand { text-align: center; }

.cft-footer-logo {
  display: block;
  width: fit-content;
  margin: 0 auto 18px;
  background: transparent !important;
  padding: 0 !important;
}

.cft-footer-logo img {
  display: block;
  width: 190px;
  max-width: 100%;
  height: auto;
  margin: 0 auto;
  padding: 0;
  background: transparent !important;
  filter: none !important;
}

.cft-social {
  display: flex;
  flex-wrap: nowrap;
  justify-content: center;
  align-items: center;
  gap: 18px;
  margin-top: 4px;
}

.cft-social a {
  width: auto !important;
  height: auto !important;
  border-radius: 0 !important;
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  background: transparent !important;
  border: 0 !important;
  color: #2A2A2A !important;
  padding: 0 !important;
}

.cft-social a svg {
  display: block;
  width: 22px;
  height: 22px;
}

.cft-social a svg path { fill: currentColor; }

.cft-social a:hover {
  background: transparent !important;
  color: #FF4C8F !important;
  transform: none;
}

.cft-footer-libf {
  display: inline-block;
  margin-bottom: 14px;
}

.cft-footer-libf img {
  display: block;
  width: 210px;
  max-width: 100%;
  height: auto;
  background: transparent !important;
  box-shadow: none !important;
  padding: 0 !important;
}

#footer.cft-footer .cft-footer-about p {
  color: #424242 !important;
  font-size: 14px !important;
  line-height: 1.6 !important;
  margin: 0 0 16px !important;
}

.cft-footer-ratings {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
}

.cft-footer-rating {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 4px;
}

.cft-footer-rating-score {
  font-weight: 800;
  color: #000000 !important;
  font-size: 16px;
}

#footer.cft-footer .cft-stars-gold {
  color: #F4B400 !important;
  letter-spacing: 1px;
  font-size: 13px;
}

#footer.cft-footer .cft-stars-freeindex {
  color: #2E8B3A !important;
  letter-spacing: 1px;
  font-size: 13px;
}

.cft-footer-rating-label {
  font-size: 13px;
  color: #424242 !important;
}

.cft-footer-nav {
  list-style: none;
  margin: 0;
  padding: 0;
}

.cft-footer-nav li { margin: 0 0 12px; }

.cft-footer-nav a {
  font-size: 15px !important;
  font-weight: 700 !important;
  color: #000000 !important;
}

#footer.cft-footer .cft-footer-contact h3 {
  color: #000000 !important;
  font-size: 16px !important;
  font-weight: 800 !important;
  margin: 0 0 14px !important;
  padding: 0 !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
  font-family: var(--cft-font) !important;
}

#footer.cft-footer .cft-footer-contact h3:after { display: none !important; }

#footer.cft-footer .cft-footer-contact p,
#footer.cft-footer .cft-footer-contact div {
  color: #424242 !important;
  font-size: 14px !important;
  line-height: 1.6 !important;
  margin: 0 0 14px !important;
}

#footer.cft-footer .f-bottom {
  margin-top: 0 !important;
  padding: 16px 0 !important;
  border-top: 1px solid #d7e4e6 !important;
  background: #F0F7F8 !important;
}

#footer.cft-footer .copy {
  font-size: 13px !important;
  color: #8a8a8a !important;
  padding: 0 !important;
  margin: 0 !important;
}

#footer.cft-footer .copy a {
  color: #8a8a8a !important;
  font-weight: 400 !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
  background: none !important;
}

@media (max-width: 991px) {
  #footer.cft-footer { padding-top: 36px !important; text-align: left; }
  .cft-footer-main { grid-template-columns: 1fr 1fr; }
  .cft-footer-brand, .cft-footer-logo { text-align: center; }
  .accreditation-strip a { width: 240px !important; max-width: calc(50% - 12px) !important; }
  .accreditation-badge { height: 100px !important; }
}

@media (max-width: 750px) {
  .cft-footer-main { grid-template-columns: 1fr; }
  .accreditation-strip a { width: 100% !important; max-width: 280px !important; }
  #footer.cft-footer .f-bottom { margin-top: 8px !important; }
}

/* Forms */
input, textarea, select, .button, button {
  font-family: var(--cft-font) !important;
}

.button, input[type="submit"] {
  background: var(--cft-secondary) !important;
  border: 0 !important;
  border-radius: 8px !important;
  color: #fff !important;
  font-weight: 700 !important;
}

/* Mobile layout (non-header) */
@media (max-width: 991px) {
  .responsive-tabs {
    flex-direction: column !important;
  }

  .responsive-tabs > ul[role="tablist"] {
    width: 100% !important;
  }

  .site_content {
    padding: 18px !important;
    border-radius: 12px !important;
  }

  h1, .cft-content-hero h1 { font-size: 28px !important; }
}
