/* =====================================================
   NURSERY PAGES (ALL NURSERIES)
   Scope everything to .nursery-page to avoid site-wide conflicts
   Set Menu Item > Page Display > Page Class = nursery-page
   ===================================================== */


/* =====================================================
   GENERAL / SHARED
   ===================================================== */

.facebookfeedpro-feed {
  text-align: center;
}

.facebookfeedpro-feed .ffp-feed-wrap {
  margin: 0 auto;
}
h2#register { color : #DB2164 !important}

.nursery-page .dividers {
  white-space: normal;
  word-wrap: break-word;
}

.nursery-page .no-underline {
  text-decoration: none !important;
}
.bookvisit-hero {
  position: relative;
  width: 100%;
  min-height: 420px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: url("/images/bookavisthero.jpg") center / cover no-repeat;
  margin: 30px 0;
  padding: 80px 0;
  overflow: visible;
}

.bookvisit-hero-content {
  text-align: center;
  z-index: 2;
}

.bookvisit-hero-content h1 {
  color: #ffffff;
  font-size: 3rem;
  font-weight: 900;
  margin: 0;
}
.teambackground { min-height : 426px}

/* =====================================================
   LANDING MODULE (Welcome + contact block + slider)
   Uses: .homesidetext .headerbutton .mobile-image-first etc
   ===================================================== */

@media (max-width: 575.98px) {
  .nursery-page .headerbutton .homesidetext {
    text-align: center !important;
    /* white-space: nowrap; */
  }

  /* Force column reordering on mobile */
  .nursery-page .mobile-image-first {
    display: flex;
    flex-direction: column;
  }

  .nursery-page .mobile-image-first .text-column { order: 2; }
  .nursery-page .mobile-image-first .image-column { order: 1; }
}


/* =====================================================
   IMAGE/TEXT STRIPES MODULE (3 rows)
   Uses: .no-gaps .img-col .shadowimage etc
   ===================================================== */

.nursery-page .no-gaps .row {
  --bs-gutter-x: 0;
  --bs-gutter-y: 0;
  margin: 0 0 30px 0 !important;
}

.nursery-page .no-gaps .row + .row {
  margin-top: 5px !important;
}

.nursery-page .img-col {
  padding: 0 !important;
}

.nursery-page .img-col img {
  display: block;
  margin: 0;
  border: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}


/* =====================================================
   FACILITIES MODULE (icons + display panel)
   Uses: .nursery-facilities .facilityLink .facility-icon etc
   ===================================================== */

.nursery-page .nursery-facilities .facility-icon {
  width: 100%;
  max-width: 120px;
  height: 100px;
  object-fit: contain;
  display: block;
  margin: 0 auto;
}

.nursery-page .nursery-facilities .facilityLink {
  display: block;
  padding: 10px 0;
}

.nursery-page .nursery-facilities .facility {
  padding: 10px;
}

.nursery-page .facility-display {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  min-height: 420px;
}

.nursery-page .facility-icon-large {
  width: 160px;
  height: 160px;
  object-fit: contain;
}

.nursery-page .facility-header {
  color: #db2164;
  font-weight: bold;
  font-size: 20px;
}



/* =====================================================
   TEAM INTRO MODULE (Meet The Team header block)
   ===================================================== */

.ot-team { position: relative; }

.ot-team__top {
  background: #ffffff;
  height: 80px;
  width: 100vw;
  margin-left: calc(-50vw + 50%);
}

.ot-team__body {
  background: #f9ede4;
  padding: 20px 18px 34px;
  width: 100vw;
  margin-left: calc(-50vw + 50%);
  position: relative;
}

.ot-team__divider {
  display: inline-flex;
  align-items: flex-end;
  justify-content: center;
  gap: 18px;

  position: relative;
  top: -60px;
  margin: 0 auto -40px;
  padding: 0;

  width: 100%;
  text-align: center;
}

.ot-team__divider-text {
  font-size: 30px;
  font-weight: 800;
  line-height: 1;
  color: #db2164;
}

.ot-team__icon {
  width: 100px;
  height: auto;
  display: block;
}

.ot-team__intro {
  max-width: 980px;
  margin: 0 auto;
  text-align: center;
}

@media (max-width: 575.98px) {
  .ot-team__divider {
    top: -52px;
    margin-bottom: -34px;
    gap: 12px;
    padding: 0 10px;
  }

  .ot-team__divider-text { font-size: 26px; }
  .ot-team__icon { width: 84px; }

  .nursery-page .dividers img {
    width: 80px !important;
    height: auto !important;
  }
}


/* =====================================================
   TESTIMONIAL CAROUSEL (Thoughts From Our Families)
   Module scope: .ot-testimonials
   ===================================================== */

.nursery-page .ot-testimonials {
  font-family: "Alan Sans", Arial, sans-serif !important;
  margin: 0;
  padding: 0;
}

.nursery-page .ot-testimonials .testimonial-card-main {
  background-color: #ee7b18 !important;
  padding: 30px;
  border-radius: 2rem;
  box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1),
              0 4px 6px -2px rgba(0, 0, 0, 0.05);
  width: 100%;
  margin: 0 auto 20px;
  overflow: visible;
}

.nursery-page .ot-testimonials .carousel-container {
  scroll-snap-type: x mandatory;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none;
  -ms-overflow-style: none;
  -webkit-mask-image: -webkit-radial-gradient(white, black);

  display: flex;
  overflow-x: auto;
  padding: 0 !important;
}

.nursery-page .ot-testimonials .carousel-container::-webkit-scrollbar {
  display: none;
}

.nursery-page .ot-testimonials .carousel-slide {
  scroll-snap-align: start;
  flex: 0 0 33.33%;
  flex-shrink: 0;
  display: flex;
  align-items: stretch;
  justify-content: center;
  padding: 1rem;
}

.nursery-page .ot-testimonials .testimonial-card-wrapper {
  background-color: #ffffff !important;
  border-radius: 2rem;
  max-width: 500px;
  width: 100%;
  margin: 0 auto;

  display: flex;
  flex-direction: column;
  justify-content: space-between;

  padding: 2.5rem;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);
}

.nursery-page .ot-testimonials blockquote {
  font-size: 1.5rem;
  font-style: italic;
  font-weight: 700;
  margin: 0;
  color: #212529;
  font-family: "Alan Sans", Arial, sans-serif !important;
}

.nursery-page .ot-testimonials .star-display {
  margin-top: 0.3rem !important;
  font-size: 2rem;
  letter-spacing: 0.25em;
}

.nursery-page .ot-testimonials .ot-testimonials-below {
  text-align: center;
  max-width: 980px;
  margin: 0 auto;
  padding: 10px 18px 0;
}

@media (max-width: 576px) {

  #landingheader { margin-top: 30px !important; }
  #landingtextborder {height: 250px;}

  .nursery-page .ot-testimonials .carousel-slide {
    flex: 0 0 100%;
    padding: 0.75rem;
  }

  .nursery-page .ot-testimonials .testimonial-card-wrapper {
    padding: 1.5rem;
  }
}


/* =====================================================
   MAP MODULE (generic)
   Applies to refactored nursery map sections
   ===================================================== */

@media (min-width: 992px) {
  .nursery-page .nursery-map__text {
    padding-right: 40px;
  }
}

@media (max-width: 991px) {
  .nursery-page .nursery-map__text {
    padding-right: 0;
    text-align: center;
  }
}


/* =====================================================
   NURSERY MAP + CONTACT (NEW STANDARD)
   Requires:
   - section: .nursery-map
   - text col: .nursery-map__text
   - contact wrap: .nursery-map__contact
   - rows: .nursery-map__item
   - email span: .map-email
   ===================================================== */

/* Desktop/tablet default: icon left of text */
.nursery-page .nursery-map__contact {
  display: flex;
  flex-direction: column;
  gap: 10px;
  margin-top: 10px;
}

.nursery-page .nursery-map__item {
  display: flex;
  align-items: center;
  gap: 10px;
  max-width: 100%;
}

/* Wrap email safely (scoped to this module only) */
.nursery-page .nursery-map__item .map-email,
.nursery-page .nursery-map__item .map-email a {
  max-width: 100%;
  overflow-wrap: anywhere;
  word-break: break-word;
  white-space: normal;
}

/* Mobile: stack icon above text */
@media (max-width: 575.98px) {
  .nursery-page .nursery-map__contact {
    align-items: center;
    gap: 16px;
  }

  .nursery-page .nursery-map__item {
    flex-direction: column;
    align-items: center;
    gap: 6px;
  }
}


/* =====================================================
   STAFF / TEAM CAROUSEL (Owl) – consistent circle size
   ===================================================== */

.nursery-page .owl-carousel .owl-item .item-image {
  display: flex;
  justify-content: center;
}

.nursery-page .owl-carousel .owl-item .item-image img {
  width: 285px !important;
  height: 285px !important;
  object-fit: cover !important;
  border-radius: 50% !important;
  display: block;
}


/* =====================================================
   NURSERY LIST – 60/40 IMAGE + TEXT BOX (full width)
   Module scope: .ot-nursery-cardrow
   ===================================================== */

.nursery-page .ot-nursery-cardrow {
  /* Full-width breakout inside article */
  position: relative;
  left: 50%;
  right: 50%;
  margin-left: -50vw;
  margin-right: -50vw;
  width: 100vw;

  background: #f6efe6;  /* beige */
  padding: 20px 20px;
}

.nursery-page .ot-nursery-cardrow__row {
  max-width: 1400px;
  margin: 0 auto;

  display: flex;
  gap: 40px;
  align-items: stretch; /* equal height */
}

.nursery-page .ot-nursery-cardrow__imagecol { width: 60%; }
.nursery-page .ot-nursery-cardrow__textcol  { width: 40%; display: flex; }

.nursery-page .ot-nursery-cardrow__imagebox { height: 100%; }
.nursery-page .ot-nursery-cardrow__imagebox img {
  width: 100%;
  height: 100%;
  min-height: 320px;     /* ensures nice presence */
  object-fit: cover;
  display: block;
  border-radius: 0;      /* no radius */
}

.nursery-page .ot-nursery-cardrow__textbox {
  background: #fff;
  padding: 20px;
  width: 100%;

  display: flex;
  flex-direction: column;
  justify-content: center;
}

.nursery-page .ot-nursery-cardrow__textbox h2 {
  color: #db2164;
  margin: 0 0 10px 0;
}

.nursery-page .ot-nursery-cardrow__address {
  font-weight: 600;
  margin: 0 0 25px 0;
}

.nursery-page .ot-nursery-cardrow__textbox p {
  margin: 0 0 30px 0;
}

.nursery-page .ot-nursery-cardrow__btn {
  display: inline-block;
  padding: 12px 28px;
  background: #d9d9d9;
  color: #000;
  border-radius: 30px;
  text-decoration: none;
  font-weight: 600;
  width: fit-content;
}

.nursery-page .ot-nursery-cardrow__btn:hover {
  background: red;
}

/* =====================================================
   OUR NURSERIES – BUTTON HOVER COLOUR
   ===================================================== */

.nursery-page .ot-nursery-cardrow .btn.btn-sidemenu.btn-visit:hover {
  background-color: #592d06;
  border-color: #592d06;
  color: #ffffff; /* keeps text readable */
}

/* Mobile stack */
@media (max-width: 768px) {
  .nursery-page .ot-nursery-cardrow__row {
    flex-direction: column;
    gap: 20px;
  }

  .nursery-page .ot-nursery-cardrow__imagecol,
  .nursery-page .ot-nursery-cardrow__textcol {
    width: 100%;
  }

  .nursery-page .ot-nursery-cardrow {
    padding: 28px 12px;
  }

  .nursery-page .ot-nursery-cardrow__imagebox img {
    min-height: 240px;
  }
}

.nursery-page .ot-nursery-cardrow .ot-nursery-cardrow__textbox h2 {
  color: #db2164;
}

.nursery-page .ot-nursery-cardrow {
  background: #f6efe6;
}

/* =====================================================
   OUR NURSERIES – MOBILE ORDER FIX
   On mobile always show: IMAGE then TEXT
   (regardless of desktop alternating layout)
   ===================================================== */

@media (max-width: 768px){
  /* Ensure we can reorder children */
  .nursery-page .ot-nursery-cardrow__row{
    display: flex;
    flex-direction: column;
  }

  /* Force image first, text second */
  .nursery-page .ot-nursery-cardrow__imagecol{ order: 1; }
  .nursery-page .ot-nursery-cardrow__textcol { order: 2; }
}
/* =========================================
   SLIDER – REMOVE BORDER RADIUS ON MOBILE
   ========================================= */
@media (max-width: 576px) {


  #landingtextborder {
    padding: 16px;
  }
    
.homesidetext {
    margin-bottom: 0px !important;
    text-align: left;
    font-size: 18px;
  
  #slider191 img.dj-image { border-radius: 0px !important; }
  
  /* DJ Image Slider: remove rounded corners on mobile */
  .nursery-page .djslider .slider-container,
  .nursery-page .djslider .slider-container * ,
  .nursery-page .djslider img.dj-image {
    border-radius: 0 !important;
  }

  /* Also ensure clipping is square (some themes need this) */
  .nursery-page .djslider .slider-container {
    overflow: hidden !important;
  }
}

.bookvisit-hero {
  position: relative;
  width: 100vw;
  left: 50%;
  right: 50%;
  margin-left: -50vw;
  margin-right: -50vw;
  min-height: 420px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: url("/images/bookavisthero.jpg") center / cover no-repeat;
  margin-top: 30px;
  margin-bottom: 30px;
  padding: 80px 0;
  overflow: visible;
}

.bookvisit-hero-title {
  color: #ffffff !important;
  font-size: 36px;
  text-align: center;
  margin: 0;
  z-index: 2;
  position: relative;
}


.registeryourchild-hero {
  position: relative;
  width: 100vw;
  left: 50%;
  margin-left: -50vw;
  margin-right: -50vw;
  min-height: 420px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: url("/images/registeryourchildhero.jpg") center / cover no-repeat;
  margin-top: 30px;
  margin-bottom: 30px;
  padding: 80px 0;
  overflow: visible;
}


.blog-slide .item-image { pointer-events: none; cursor: default; }