/* Hand-tuned fixes that must load AFTER theme-recolor.css
   (the auto-generated recolour can only map colour-for-colour;
   these are the spots where that produced the wrong contrast). */

/* "Our Classes" dark block: the recolour turned the light-blue heading
   cobalt — invisible on the cobalt background. White + yellow instead. */
.elementor-45 .elementor-element-821699b .cms-heading-wrapper .custom-heading { color: #fff !important; }
.elementor-45 .elementor-element-821699b .cms-heading-wrapper .custom-subheading { color: #FFC233 !important; }

/* "HURRY! ENROLLING NOW" closing banner: lime green clashed with the
   palette — crayon-red gradient with a school-bus yellow button. */
.elementor-45 .elementor-element-47a15647 {
  background: radial-gradient(circle at 88% 15%, rgba(255,255,255,.14), transparent 140px),
              linear-gradient(120deg, #C93A24, #E94F37 60%, #FF6A54) !important;
}
.elementor-45 .elementor-element-47a15647 .cms-cta :is(h1,h2,h3,h4,h5,strong),
.elementor-45 .elementor-element-47a15647 .item--description { color: #fff !important; }
.elementor-45 .elementor-element-47a15647 .cms-cta a,
.elementor-45 .elementor-element-47a15647 .elementor-button {
  background: #FFC233 !important;
  color: #4C3A08 !important;
  border-radius: 999px !important;
  font-weight: 800;
  box-shadow: 0 10px 24px rgba(0, 0, 0, .22);
}

/* ---- page-title heroes: half the height so content shows on load ---- */
#pagetitle {
  padding-top: 84px !important;
  padding-bottom: 54px !important;
  background-attachment: scroll !important;   /* fixed attachment janks on mobile */
}
#pagetitle h1, #pagetitle .page-title {
  font-size: clamp(1.9rem, 4vw, 2.8rem) !important;
}
@media (max-width: 767px) {
  #pagetitle { padding-top: 54px !important; padding-bottom: 36px !important; }
}

/* ---- "Our Classes" dark block: enforce white heading everywhere,
        including any recoloured mobile rules ---- */
.elementor-45 .cms-bg-secondary .custom-heading,
.elementor-45 .cms-bg-secondary .cms-heading-wrapper .custom-heading {
  color: #fff !important;
}
.elementor-45 .cms-bg-secondary .custom-subheading { color: #FFC233 !important; }

/* ---- accordion pills on mobile: title text was hidden under the
        icon chip; give the row proper insets so everything fits ---- */
@media (max-width: 767px) {
  .cms-accordion.layout3 .cms-ac-title { padding: 16px 54px 16px 82px !important; }
  .cms-accordion.layout3 .cms-ac-title .image-icon { width: 62px !important; }
  .cms-accordion.layout3 .cms-ac-title .image-icon img { max-width: 34px; }
  .cms-accordion.layout3 .cms-ac-title-text { font-size: .95rem; line-height: 1.35; display: block; }
  .cms-accordion.layout3 .cms-ac-title:before { right: 14px !important; }
}

/* ---- enquire page header: no logo, Home only (all screen sizes) ---- */
.page-id-6328 .site-branding { display: none !important; }
.page-id-6328 #mastmenu > li { display: none !important; }
.page-id-6328 #mastmenu > li.menu-item-home { display: list-item !important; }
.page-id-6328 .main-menu-toggle,
.page-id-6328 #main-menu-mobile { display: none !important; }
@media (max-width: 767px) {
  /* the theme hides the desktop menu on phones — bring it back for
     the single Home link instead of the hamburger */
  .page-id-6328 .site-navigation,
  .page-id-6328 .main-navigation,
  .page-id-6328 #mastmenu { display: block !important; }
}
.page-id-6328 #mastmenu > li.menu-item-home > a {
  background: #EAF1FF !important;
  color: #21418F !important;
  border-radius: 999px;
  padding: 9px 22px !important;
  font-weight: 700;
}
.page-id-6328 #site-header .row { min-height: 58px; align-items: center; }

/* floating enquiry button: text must stay white on the red gradient
   (the global link colour was bleeding in as red-on-red) */
.floating-button { color: #fff !important; }

/* ---- (1) teaser: bunting centred on the top edge, heading clears it ---- */
.pv-teaser { padding-top: clamp(54px, 7vw, 68px) !important; }
.pv-teaser::before {
  display: block !important;
  top: -10px !important; left: 50% !important;
  transform: translateX(-50%);
  width: min(420px, 72%) !important; height: 92px !important;
}

/* ---- (2) footer divider: band sits flush at the footer's top edge ---- */
body.home .pv-footer { padding-top: 0 !important; }
body.home .pv-footer::before { margin-bottom: 48px; }

/* ---- (4) page-title banners: navy wash so the title + breadcrumb read ---- */
body #pagetitle {
  background-image:
    linear-gradient(rgba(20, 38, 88, .58), rgba(20, 38, 88, .58)),
    url('/wp-content/uploads/2020/07/bg-page-title.jpg') !important;
  background-size: cover !important;
  background-position: center !important;
}

/* ---- (5) no dead white slab between last section and the footer ---- */
body:not(.page-template-elementor_header_footer) .site-content { padding-bottom: 24px !important; }
.page-id-6328 .site-content { padding-bottom: 0 !important; }
.pv-footer { margin-top: 44px; }

/* ---- (6) plan builder: bunting tucked in the corner, clear of the title ---- */
.elementor-5765 .elementor-element-pvc00sec::before {
  top: 4px !important; left: 2% !important;
  width: clamp(140px, 15vw, 250px) !important;
  height: 96px !important;
}

/* ---- (7) attention card: drop the bare 1./2. markers; the bold
        first line (via ::first-line) now lands on the heading ---- */
.elementor-4675 .cms-attention ol,
.elementor-4675 .cms-attention ul { list-style: none !important; padding-left: 0 !important; }
.elementor-4675 .cms-attention li { list-style: none !important; }
.elementor-4675 .cms-attention li::marker { content: "" !important; }

/* ---- decorations, round 2: bunting removed everywhere; footer
        divider loses the white box (the artwork is transparent) ---- */
.pv-teaser::before,
.elementor-5765 .elementor-element-pvc00sec::before,
.pvq-hero::before { display: none !important; }
.pv-teaser { padding-top: clamp(28px, 5vw, 48px) !important; }
.page-id-6328 .pvq-hero { padding-top: 4px !important; }
body.home .pv-footer::before {
  background-color: transparent !important;
  background-image: url('/wp-content/uploads/2020/08/bg-bottom.png.webp') !important;
  background-repeat: no-repeat !important;
  background-position: center bottom !important;
  background-size: contain !important;
  margin-bottom: 30px;
}

/* ---- mobile feature-card carousel: compact, square-ish tiles ---- */
@media (max-width: 767px) {
  .elementor-45 .elementor-element-73812581 .elementor-column {
    flex: 0 0 86% !important;
    max-width: 86% !important;
    width: 86% !important;
  }
  .elementor-45 .elementor-element-73812581 .cms-fancy-box {
    padding: 20px 16px 22px !important;
  }
  .elementor-45 .elementor-element-73812581 .cms-fancy-box.layout1 .item--icon {
    width: 112px !important;
    height: 112px !important;
    padding: 6px !important;
    margin-bottom: 12px !important;
  }
  .elementor-45 .elementor-element-73812581 .cms-fancy-box.layout1 .item--icon .inner-icon img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover;
  }
  .elementor-45 .elementor-element-73812581 .item--title,
  .elementor-45 .elementor-element-73812581 .item--title * {
    font-size: 1.15rem !important;
    margin-bottom: 8px !important;
  }
  .elementor-45 .elementor-element-73812581 .item--description {
    font-size: .88rem !important;
    line-height: 1.5 !important;
  }
}

/* ---- site-wide enrol banner (SEND-page treatment) ---- */
.pv-enrol-art {
  height: 215px;
  background-color: #F6F1E8;
  background-image: url('/wp-content/uploads/2020/08/bg-bottom.png.webp');
  background-repeat: no-repeat;
  background-position: left 6% bottom;
  background-size: auto 94%;
}
.pv-enrol-band {
  background: #E94F37;
  color: #fff;
  padding: 44px 24px;
}
.pv-enrol-inner {
  max-width: 1140px;
  margin: 0 auto;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 26px;
  flex-wrap: wrap;
}
.pv-enrol-inner h2 {
  margin: 0 0 8px;
  font-family: "Fredoka One", Prompt, sans-serif;
  font-weight: 400;
  color: #fff;
  font-size: clamp(1.5rem, 2.8vw, 2.1rem);
  text-transform: uppercase;
  letter-spacing: .02em;
}
.pv-enrol-inner p { margin: 0; font-size: 1rem; opacity: .95; }
.pv-enrol-inner a {
  flex: 0 0 auto;
  background: #fff;
  color: #21418F !important;
  border-radius: 12px;
  padding: 15px 32px;
  font-weight: 800;
  text-decoration: none;
  box-shadow: 0 10px 24px rgba(0, 0, 0, .18);
  transition: transform .16s ease;
}
.pv-enrol-inner a:hover { transform: translateY(-2px); }

/* banner sits flush on the footer; retire the old one-off banners */
.pv-footer { margin-top: 0 !important; }
body.home .pv-footer::before { display: none !important; }
.elementor-45 .elementor-element-47a15647 { display: none !important; }   /* old HURRY banner */
.elementor-12 .elementor-element-2d550618 { display: none !important; }   /* About's old band */
/* content shouldn't leave a white slab above the banner */
body:not(.page-template-elementor_header_footer) .site-content { padding-bottom: 16px !important; }

@media (max-width: 767px) {
  .pv-enrol-art { height: 120px; background-position: center bottom; background-size: auto 92%; }
  .pv-enrol-band { padding: 30px 20px; }
  .pv-enrol-inner { justify-content: center; text-align: center; }
  .pv-enrol-inner a { width: 100%; text-align: center; }
}

/* ---- enrol banner v2: red CTA becomes a rounded card on the cream
        ground, artwork aligned to the same container and standing on
        the card's top edge — cream buffers the navy footer, no clash ---- */
.pv-enrol { background: #F6F1E8; padding: 12px 24px 54px; }
.pv-enrol-art {
  height: 190px;
  max-width: 1092px;
  margin: 0 auto -2px;
  background-color: transparent;
  background-position: left bottom;
  background-size: auto 96%;
}
.pv-enrol-band {
  max-width: 1140px;
  margin: 0 auto;
  border-radius: 26px;
  background: radial-gradient(circle at 88% 12%, rgba(255,255,255,.14), transparent 130px),
              linear-gradient(120deg, #C93A24, #E94F37 55%, #FF6A54);
  padding: 40px 44px;
  box-shadow: 0 18px 44px rgba(201, 58, 36, .3);
}
@media (max-width: 767px) {
  .pv-enrol { padding: 8px 14px 34px; }
  .pv-enrol-art { height: 112px; background-position: center bottom; }
  .pv-enrol-band { padding: 28px 22px; border-radius: 20px; }
}

/* footer: restore breathing room above the text (the zero-padding
   rule was for the old removed divider) */
.pv-footer, body.home .pv-footer { padding-top: 56px !important; }
@media (max-width: 767px) { .pv-footer, body.home .pv-footer { padding-top: 40px !important; } }

/* enrol artwork: sit the scene flush on the red card's edge */
.pv-enrol-art { margin-bottom: -11px !important; }
@media (max-width: 767px) { .pv-enrol-art { margin-bottom: -8px !important; } }

/* feature tiles: kill the theme's rotateY photo-flip on hover (reads
   as a weird fold on real photographs) — gentle zoom instead */
.cms-fancy-box.layout1:hover .inner-icon { transform: none !important; }
.cms-fancy-box.layout1 .inner-icon img { transition: transform .35s ease; }
.cms-fancy-box.layout1:hover .inner-icon img { transform: scale(1.08); }

/* tile zoom fix: the photo is centred via translate(-50%,-50%) —
   the zoom must compose with it, not replace it */
.cms-fancy-box.layout1:hover .inner-icon img {
  transform: translate(-50%, -50%) scale(1.08) !important;
}

/* enrol artwork in front of the card so feet + grass squiggles
   overlap the red edge instead of hiding behind it */
.pv-enrol-art { position: relative; z-index: 2; pointer-events: none; }
.pv-enrol-band { position: relative; z-index: 1; }

/* ---- feature tiles: photo hover effects removed entirely ----
   (flip + zoom both produced glitches on fast hovers) */
.cms-fancy-box.layout1 .inner-icon,
.cms-fancy-box.layout1:hover .inner-icon {
  transform: none !important;
  transition: none !important;
}
.cms-fancy-box.layout1 .inner-icon img,
.cms-fancy-box.layout1:hover .inner-icon img {
  transform: translate(-50%, -50%) !important;
  transition: none !important;
}

/* ---- mobile tiles: inner circle must scale WITH the 112px frame
   (it was stuck at the theme's 145px, overflowing the ring and
   covering the title) + wider cards ---- */
@media (max-width: 767px) {
  .elementor-45 .elementor-element-73812581 .elementor-column {
    flex: 0 0 92% !important;
    max-width: 92% !important;
    width: 92% !important;
  }
  .elementor-45 .elementor-element-73812581 .cms-fancy-box.layout1 .item--icon .inner-icon {
    width: 100px !important;
    height: 100px !important;
    top: 6px !important;
    left: 6px !important;
  }
  .elementor-45 .elementor-element-73812581 .cms-fancy-box.layout1 .inner-icon img {
    width: 100px !important;
    height: 100px !important;
    max-width: none !important;
    object-fit: cover;
  }
}

/* ---- enquire form on MOBILE: the desktop viewport-lock max-height was
        leaking here without its overflow rule — content spilled over
        the card and the Continue button overlapped the text below ---- */
@media (max-width: 767px) {
  .page-id-6328 .pvq-card {
    max-height: none !important;
    overflow: visible !important;
  }
  /* the stripped header renders as an empty white bar on phones —
     hide it, the Home pill below takes over */
  .page-id-6328 #site-header-wrap { display: none !important; }
  .page-id-6328 .site-content { padding-top: 14px !important; }
  .page-id-6328 .pvq-hero { margin-top: 40px; }
}

/* fixed Home pill on the enquiry page (mobile only) */
.pv-backhome { display: none; }
@media (max-width: 767px) {
  .page-id-6328 .pv-backhome {
    display: inline-block;
    position: fixed;
    top: 10px; left: 10px;
    z-index: 999;
    background: #1A3474;
    color: #fff !important;
    border-radius: 999px;
    padding: 9px 18px;
    font-weight: 700;
    font-size: .9rem;
    text-decoration: none;
    box-shadow: 0 8px 20px rgba(15, 28, 70, .3);
  }
}

/* ---- gallery: square 1:1 tiles instead of elongated portraits ---- */
.eael-gallery-grid-item {
  /* the grid ITEM was wider than its square image (370 vs 300), so the
     hover tint overhung as a grey slab. Make the item hug the square. */
  aspect-ratio: 1 / 1;
  overflow: hidden;
}
.eael-gallery-grid-item .gallery-item-thumbnail-wrap,
.eael-gallery-grid-item .gallery-item-thumbnail-wrap .gallery-item-thumbnail-inner {
  width: 100% !important;
  height: 100% !important;
  overflow: hidden;
}
.eael-gallery-grid-item .gallery-item-thumbnail-wrap img.gallery-item-thumbnail {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover;
}

/* mobile menu: the active-page pill was stretching full width with
   the label jammed at the edge — neat inline pill instead */
@media (max-width: 1199px) {
  #mastmenu li.current-menu-item > a,
  #mastmenu li.current_page_item > a,
  #main-menu-mobile li.current-menu-item > a,
  #main-menu-mobile li.current_page_item > a {
    display: inline-block !important;
    width: auto !important;
    padding: 9px 24px !important;
  }
}

/* =========================================================================
   ENQUIRE PAGE REDESIGN — cobalt canvas, logo + exit header
   (overrides all earlier 6328 header/hero rules below this line)
   ========================================================================= */
/* header: logo only (no menu, no Home pill), visible on ALL sizes */
.page-id-6328 .site-branding { display: block !important; }
.page-id-6328 #site-header-wrap { display: block !important; position: relative !important; background: transparent !important; }
.page-id-6328 #site-header { background: transparent !important; box-shadow: none !important; border: 0 !important; }
.page-id-6328 #site-header-wrap .site-branding a img { max-height: 64px !important; }
.page-id-6328 .site-navigation,
.page-id-6328 .main-navigation,
.page-id-6328 #mastmenu,
.page-id-6328 .main-menu-toggle,
.page-id-6328 #main-menu-mobile { display: none !important; }

/* exit button, top right, all sizes */
.pv-exit {
  position: fixed;
  top: 16px; right: 16px;
  z-index: 999;
  width: 46px; height: 46px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: rgba(255, 255, 255, .16);
  color: #fff !important;
  backdrop-filter: blur(6px);
  transition: background .15s ease, transform .15s ease;
}
.pv-exit svg { width: 20px; height: 20px; }
.pv-exit:hover { background: rgba(255, 255, 255, .3); transform: scale(1.06); }

/* cobalt canvas — no more cream/yellow */
.elementor-6328 .elementor-element.elementor-element-pvq00sec {
  background: radial-gradient(circle at 85% 8%, rgba(255,255,255,.08), transparent 260px),
              linear-gradient(160deg, #1A3474, #21418F 55%, #2A4CB0) !important;
}
.page-id-6328 body, body.page-id-6328 { background-color: #1A3474; }
.page-id-6328 .site-content { background: transparent; }

/* text that sits on the cobalt canvas */
.page-id-6328 .pvq-progress-labels b { color: #fff !important; }
.page-id-6328 .pvq-bar { background: rgba(255, 255, 255, .22); }
.page-id-6328 .pvq-bar i { background: linear-gradient(90deg, #FFC233, #E94F37); }
.page-id-6328 .pvq-alt { color: rgba(255, 255, 255, .8); }
.page-id-6328 .pvq-alt a { color: #FFC233; }
.page-id-6328 .pvq-plan { background: #fff; }

/* desktop lock: recentre the card in the taller canvas */
@media (min-width: 768px) {
  .page-id-6328 .pvq-card { max-height: calc(100vh - 180px); max-height: calc(100dvh - 180px); }
}
/* mobile: header shows the logo again; old fixed pill rules retired */
.pv-backhome { display: none !important; }
@media (max-width: 767px) {
  .page-id-6328 #site-header-wrap .site-branding a img { max-height: 52px !important; }
  .page-id-6328 .pvq-hero { margin-top: 0; }
  .page-id-6328 .site-content { padding-top: 6px !important; }
}

/* Our Classes accordion: tighter, flusher stack */
.elementor-45 .elementor-element-15434f1 .cms-accordion-item { margin-bottom: 8px !important; }
.elementor-45 .cms-accordion.layout3 .cms-ac-content { padding-bottom: 18px !important; }

/* ---- kill the theme's white quarter-circle wipe on image hovers
        (fancybox carousels on About/SEND) — all variants ---- */
.cms-fancybox-carousel .item--image:before,
.cms-fancybox-carousel .item--image:after,
.cms-fancybox-carousel .slick-slide .item--image:before,
.cms-fancybox-carousel .slick-slide .item--image:after {
  display: none !important;
  content: none !important;
}

/* ---- gallery: NO hover overlay at all — just the clean photo ---- */
.eael-gallery-grid-item .gallery-item-hoverer-bg,
.eael-gallery-grid-item .gallery-item-caption-wrap,
.eael-gallery-grid-item .gallery-item-caption-over,
.eael-gallery-grid-item .gallery-item-buttons {
  display: none !important;
}

/* ---- daynurseries review widget: breathing room at the sides ---- */
[id^="tgrcw_"], .tg-review-carousel-widget {
  display: block;
  max-width: 1140px;
  margin-left: auto !important;
  margin-right: auto !important;
  padding-left: 20px;
  padding-right: 20px;
  box-sizing: border-box;
}

/* icon flip on hover: layout1 was fixed earlier — layout2 (About's
   icon circles) and layout4 had the same rotateY jump. Kill for all. */
.cms-fancy-box .inner-icon,
.cms-fancy-box:hover .inner-icon {
  transform: none !important;
  transition: none !important;
}

/* =========================================================================
   ENQUIRE CANVAS v3 — the cobalt field is out. Clean light canvas,
   standard header rendering (which also removes the logo's white box:
   it only showed against the dark background).
   ========================================================================= */
.elementor-6328 .elementor-element.elementor-element-pvq00sec {
  background: #fff !important;   /* plain white — the blue wash was abrupt */
}
body.page-id-6328 { background-color: #fff; }
.page-id-6328 .pvq-progress-labels b { color: #21418F !important; }
.page-id-6328 .pvq-bar { background: #E3EAF8; }
.page-id-6328 .pvq-bar i { background: #21418F; }
.page-id-6328 .pvq-alt { color: #6f7787; }
.page-id-6328 .pvq-alt a { color: #E94F37; }
.page-id-6328 .site-branding { background: transparent !important; }
.page-id-6328 .site-branding img { background: transparent !important; }

/* exit button on light canvas: cobalt circle */
.pv-exit {
  background: #21418F !important;
  color: #fff !important;
  box-shadow: 0 8px 20px rgba(33, 65, 143, .3);
}
.pv-exit:hover { background: #1A3474 !important; }

/* ---- wizard layout v4 (Fundey-style): the outer card is now a
        transparent wrapper — clear its old clamp/scroll rules ---- */
@media (min-width: 768px) {
  .page-id-6328 .pvq-card { max-height: none !important; overflow: visible !important; }
  /* compact everything on shorter laptops so the lock still fits */
  @media (max-height: 850px) {
    .page-id-6328 .pvq-step h3 { font-size: 1.7rem !important; }
    .page-id-6328 .pvq-step > p { margin-bottom: 16px !important; font-size: .95rem !important; }
    .page-id-6328 .pvq-opts { padding: 16px !important; gap: 10px !important; }
    .page-id-6328 .pvq-opt { padding: 14px 12px 12px !important; }
    .page-id-6328 .pvq-opt .pvq-emoji { font-size: 1.6rem !important; margin-bottom: 6px !important; }
  }
}
/* genuinely too short: let the page scroll rather than clip */
@media (min-width: 768px) and (max-height: 700px) {
  body.page-id-6328 { overflow: auto !important; height: auto !important; }
}

/* ---- enquire page: big icon-only logo (text lives in the site,
        not the mark) + drop the duplicated step label ---- */
.page-id-6328 .site-branding a img {
  content: url('/wp-content/uploads/pv-logo-icon.png');
  max-height: 88px !important;
  width: auto;
}
.page-id-6328 .pvq-progress-labels { display: none; }

/* ---- final step: fields fill their columns properly ---- */
.pvq-form-slot .wpforms-field-row { max-width: 100% !important; width: 100% !important; }
.pvq-form-slot .wpforms-field input,
.pvq-form-slot .wpforms-field textarea { max-width: 100% !important; width: 100% !important; }
.pvq-form-slot .wpforms-field-row-block.wpforms-one-half,
.pvq-form-slot .wpforms-one-half { width: calc(50% - 11px) !important; }
.pvq-form-slot .wpforms-field-row-block.wpforms-first { margin-right: 22px !important; }

/* name field: flex the row — the float/width dance was wrapping the
   Last input onto its own line */
.pvq-form-slot .wpforms-field-row { display: flex !important; gap: 22px; max-width: 100% !important; }
.pvq-form-slot .wpforms-field-row-block {
  float: none !important;
  flex: 1 1 0 !important;
  width: auto !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* ---- enquire page: retire the desktop scroll-lock ----
   Arriving from the fee calculator lands on step 3 with the plan
   recap + start question + full form — taller than many viewports,
   and a locked body just clips it (unreachable content). Steps are
   designed to fit without scrolling anyway; when content is taller,
   scrolling must exist. The pinned bottom nav stays fixed regardless. */
@media (min-width: 768px) {
  body.page-id-6328 {
    overflow: auto !important;
    height: auto !important;
  }
}

/* ---- enquire page: completely static header ----
   The site-wide glass-header (scroll -> blur + logo resize) has no
   business on the form: no stick, no blur band, no logo growing. */
.page-id-6328 #site-header-wrap {
  position: static !important;
  top: auto !important;
}
body.pv-header-solid.page-id-6328 #site-header,
.page-id-6328 #site-header {
  background: transparent !important;
  -webkit-backdrop-filter: none !important;
  backdrop-filter: none !important;
  box-shadow: none !important;
  border: 0 !important;
}
.page-id-6328 .site-branding a img,
body.pv-header-solid.page-id-6328 .site-branding a img,
body.pv-header-solid .page-id-6328 .site-branding a img {
  max-height: 88px !important;
}

/* ---- clearer breaks between the step-3 question blocks ---- */
.page-id-6328 .pvq-chips { margin-bottom: 24px; }
.page-id-6328 #pvqStartAsk { font-size: 1.1rem; margin: 4px 0 14px; }
.page-id-6328 .pvq-start-mini { margin-bottom: 34px; }
.page-id-6328 .pvq-plan { margin-bottom: 28px; }

/* enquire page: immune to the sticky-fallback pin as well —
   the logo scrolls away with the page like normal content */
body.pv-header-fixed-fallback.page-id-6328 #site-header-wrap {
  position: static !important;
  top: auto !important;
  left: auto !important;
  right: auto !important;
}
body.page-id-6328 { padding-top: 0 !important; }

/* ---- header: stop the logo column stealing all the width and
        pushing the menu off-screen (menu was overflowing right) ---- */
#site-header-wrap .site-header-main .site-branding {
  flex-grow: 0 !important;
  flex-shrink: 0 !important;
}
#site-header-wrap .site-header-main .row {
  flex-wrap: nowrap;
}
/* desktop: the menu hugs the right edge (the theme used branding's
   flex-grow for this; margin auto replaces it without the overflow) */
@media (min-width: 1200px) {
  #site-header-wrap .site-header-main .site-navigation {
    flex: 0 1 auto;
    min-width: 0;
    margin-left: auto;
  }
  #mastmenu > li > a { padding-left: 12px !important; padding-right: 12px !important; }
}
/* tablet/mobile: the hamburger (#main-menu-mobile) takes the right edge;
   the desktop nav is a zero-content ghost that grabbed full width and
   shoved the burger mid-header — remove it (enquire page keeps its own) */
@media (max-width: 1199px) {
  /* closed state only — the burger toggles .navigation-open on THIS
     element (it IS the slide-in menu), so a blanket hide killed the
     mobile menu entirely */
  body:not(.page-id-6328) #site-header-wrap .site-header-main .site-navigation:not(.navigation-open) {
    display: none !important;
  }
  /* the burger lives inside .site-header-right — push that flex item
     to the right edge of the row */
  #site-header-wrap .site-header-main .row .site-header-right {
    margin-left: auto !important;
  }
}

/* ---- team page "places available" card: theme ships it in old cyan
        (#1ab9ff) which recolor missed — bring it into Crayon Box ---- */
.cms-contact-info4 .inner-box,
.cms-contact-info4 .inner-box .entry-title {
  background-color: #21418F !important;
}
.cms-contact-info4 .inner-box .entry-title { text-shadow: none !important; }
.cms-contact-info4 .entry-bottom-title { background-color: #1A3474 !important; }
.cms-contact-info4 .list-li li .item--icon { color: #FFC233 !important; }

/* ---- mobile accordion "takeover": opened item pops, siblings recede,
        content slides in (pv-ui.js adds .pv-ac-live on first interaction) ---- */
@media (max-width: 767px) {
  .cms-accordion .cms-accordion-item { transition: opacity .3s ease, transform .3s ease; }
  .pv-ac-live .cms-accordion-item:not(.active) { opacity: .5; transform: scale(.985); }
  .pv-ac-live .cms-accordion-item.active { opacity: 1; transform: none; }
  .cms-accordion .cms-accordion-item.active .cms-ac-content {
    animation: pvAcIn .38s ease both;
  }
  @keyframes pvAcIn {
    from { opacity: 0; transform: translateY(14px); }
    to   { opacity: 1; transform: none; }
  }
}

/* ---- About page fancy-box icons: kill the theme's hover flip + ring spin.
        rotateY(180deg) mirror-flipped the icons (the playground slide looked
        reversed/broken mid-animation); the spinning dashed ring was noisy.
        Keep only the gentle card lift. ---- */
.elementor-12 .cms-fancy-box.layout2:hover .inner-icon {
  transform: none !important;
}
.elementor-12 .cms-fancy-box.layout2:hover .item--icon:before {
  animation: none !important;
}

/* ---- attention card: numbered mini-headings (built by pv-ui.js from
        the "Subject\nBody" text) with clean spacing ---- */
/* theme prints its own counter via li:before — our headings carry the
   number now, so the bare "1." line goes */
.cms-attention .cms-list-items li:before { display: none !important; content: none !important; }
.cms-attention .cms-list-items li { margin-bottom: 20px; }
.cms-attention .cms-list-items li:last-child { margin-bottom: 0; }
.cms-attention .pv-att-sub {
  display: block;
  color: #21418F;
  font-size: 1.08rem;
  font-weight: 700;
  margin-bottom: 4px;
}
.cms-attention .pv-att-body { display: block; }

/* ---- mobile: forms use the full phone width (dynamic 12px gutters)
        instead of losing ~100px to nested Elementor padding ---- */
@media (max-width: 700px) {
  .elementor-6328 .elementor-container,
  .elementor-5765 .elementor-element-pvc00sec > .elementor-container {
    padding-left: 12px !important;
    padding-right: 12px !important;
  }
  .elementor-6328 .elementor-element-populated,
  .elementor-5765 .elementor-element-pvc00sec .elementor-element-populated {
    padding-left: 0 !important;
    padding-right: 0 !important;
  }
  /* fees page: ONE floating bar only — the calculator's estimate bar
     owns the bottom edge; the generic Call/WhatsApp/Enquire bar goes */
  .page-id-5765 .pv-actionbar { display: none !important; }
}

/* ---- funding-deduction table (fabd2c8): its last column is just
        another day, not a "Total weekly" — drop the highlight so it
        matches the other columns exactly (header, zebra, hover) ---- */
.elementor-5765 .elementor-element-fabd2c8 .eael-data-table thead tr th:last-child {
  background: linear-gradient(135deg, var(--pv-blue), var(--pv-blue-deep)) !important;
}
.elementor-5765 .elementor-element-fabd2c8 .eael-data-table tbody tr td:last-child {
  background: #fff !important;
  border-left: 0 !important;
  color: inherit !important;
  font-weight: 700 !important;
}
.elementor-5765 .elementor-element-fabd2c8 .eael-data-table tbody > tr:nth-child(2n) td:last-child {
  background: var(--pv-tint) !important;
}
.elementor-5765 .elementor-element-fabd2c8 .eael-data-table tbody tr:hover td:last-child {
  background: #dce7fb !important;
}
.elementor-5765 .elementor-element-fabd2c8 .eael-data-table tbody tr td:last-child .td-content-wrapper {
  color: #3a2c4d !important;
  font-size: 18px !important;
}

/* ---- daynurseries stars: the theme's img{width:auto;height:auto}
        overrides the widget's width=100 height=19 attributes, so the
        star sprite rendered at natural 148px while its fill-mask
        clipped at 100px — every rating displayed as ~3.4 stars and
        overflowed into the date. Pin the sprite to its real size. ---- */
.rating_circles img,
.rating_mask img {
  width: 100px !important;
  height: 19px !important;
  max-width: none !important;
}
