/* =====================================================================
   BRAND SETTINGS - change these values to re-brand the whole website.
   Keep each *-rgb value in step with its colour (used for see-through tints).
   ===================================================================== */
:root {
  --brand-primary: #5E0018;          /* links, highlights and button hover - a deeper burgundy */
  --brand-primary-rgb: 94, 0, 24;
  --brand-accent: #800020;           /* main brand colour: call-to-action buttons and accents (burgundy) */
  --brand-accent-rgb: 128, 0, 32;
  --brand-accent-text: #F2F2F2;      /* text on top of the accent colour */
  --brand-accent-light: #E6A7B3;     /* accent on dark backgrounds (footer links on hover) */
  --brand-dark: #3B3D42;             /* headings, footer and dark sections (graphite) */
  --brand-dark-rgb: 59, 61, 66;
  --brand-light: #F2F2F2;            /* light section backgrounds (light grey) */
  --brand-light-rgb: 242, 242, 242;
  --brand-secondary: #800020;        /* secondary highlights from the base theme */
  --brand-ink: #222326;              /* near-black text */
  --brand-black: #111214;
  --brand-white: #FFFFFF;
  --brand-font: 'Exo', sans-serif;   /* also update the Google Fonts link in each page <head> */
}
/* Brand overrides */


/* Site-wide desktop content width: one shared source of truth for every Bootstrap .container. */
@media (min-width:1400px){
  .container{max-width:1500px;}
}
body{color:#30343a;}
a:hover{color:var(--brand-primary);}
.header-top{background:var(--brand-ink);}
.header-top .header-meta li a,.header-link a{color:#fff;}
.header-link a:hover,.header-top .header-meta li a:hover{color:var(--brand-light);}
.header-logo img{width:220px!important;height:auto!important;max-height:64px;object-fit:contain;}
.nav-menu > li > a.active,.nav-menu > li:hover > a,.nav-dropdown > li > a:hover{color:var(--brand-primary)!important;}
.about-content .line,.section-title .line{background:var(--brand-accent)!important;}
.about-title span,.section-title .title span{color:var(--brand-primary)!important;}
.courses-category li a.active,.courses-category li a:hover{background:var(--brand-primary)!important;color:#111!important;}
.courses-price,.courses-meta li i,.features-icon i{color:var(--brand-primary)!important;}
.footer-area{background:var(--brand-ink)!important;}
.footer-title:after{background:var(--brand-accent)!important;}
.newsletter-area{background:var(--brand-primary)!important;}
.site-kicker{display:inline-block;color:var(--brand-accent);font-weight:700;text-transform:uppercase;letter-spacing:.08em;margin-bottom:10px;}
.site-highlight{color:var(--brand-primary);}
.site-policy{width:100%;max-width:none;margin:0;font-size:16px;line-height:1.8;}
.site-policy h3{margin-top:28px;margin-bottom:10px;}
.site-policy ul{padding-left:22px;list-style:disc;}
.site-cart-table img{width:90px;height:70px;object-fit:cover;border-radius:4px;}
.site-box{background:#fff;border:1px solid #eceff1;padding:28px;border-radius:6px;box-shadow:0 8px 28px rgba(0,0,0,.05);}
.site-summary-row{display:flex;justify-content:space-between;border-bottom:1px solid #eceff1;padding:12px 0;gap:20px;}
.site-summary-row.total{font-weight:700;font-size:18px;border-bottom:0;}
@media(max-width:991px){.header-logo img{width:180px!important;}.site-cart-table{font-size:14px;}}

/* placeholder handling: each placeholder keeps the original template image ratio. */
.site-placeholder{display:block;object-fit:cover;object-position:center;}
.bg_cover{background-size:cover!important;background-position:center!important;background-repeat:no-repeat!important;}

/* Image safety: content blocks control display size so replacement images cannot stretch layouts. */
.single-courses-2 .courses-image a, .single-courses .courses-image a, .single-blog .blog-image a, .single-library .library-image a, .single-teacher .teacher-image a, .courses-sidebar-banner a{display:block;width:100%;overflow:hidden;}
.single-courses-2 .courses-image img, .single-courses .courses-image img{display:block;width:100%!important;aspect-ratio:270/170;object-fit:cover;object-position:center;}
.single-blog .blog-image img{display:block;width:100%!important;aspect-ratio:370/250;object-fit:cover;object-position:center;}
.single-library .library-image img{display:block;width:100%!important;aspect-ratio:271/281;object-fit:cover;object-position:center;}
.single-teacher .teacher-image img{display:block;width:100%!important;aspect-ratio:266/359;object-fit:cover;object-position:center;}
.campus-image .single-campus img{display:block;width:100%!important;aspect-ratio:521/392;object-fit:cover;object-position:center;}
.features-image-2 img{display:block;width:100%!important;height:auto;object-fit:cover;object-position:center;}
.courses-details-content>img{display:block;width:100%!important;height:auto;aspect-ratio:845/533;object-fit:cover;object-position:center;}
.courses-sidebar-banner img{display:block;width:100%!important;aspect-ratio:270/310;object-fit:cover;object-position:center;}

/* unified placeholder system v2 */
/* One source placeholder is reused everywhere. The layout owns the dimensions, never the source image. */
.site-placeholder{
  display:block;
  max-width:100%;
  object-fit:cover;
  object-position:center;
}

/* Item card grids: all cards stay the same size no matter what image is inserted later. */
.single-courses-2 .courses-image,
.single-courses .courses-image{width:100%;overflow:hidden;}
.single-courses-2 .courses-image a,
.single-courses .courses-image a{display:block;width:100%;}
.single-courses-2 .courses-image img,
.single-courses .courses-image img{
  display:block;
  width:100%!important;
  height:auto!important;
  aspect-ratio:270/170!important;
  object-fit:cover!important;
  object-position:center!important;
}

/* Sidebar/list card thumbnails. */
.courses-list .courses-image,
.single-courses-list .courses-image{overflow:hidden;}
.courses-list .courses-image img,
.single-courses-list .courses-image img{
  display:block;width:100%!important;height:auto!important;object-fit:cover!important;object-position:center!important;
}

/* Home feature portrait block. */
.features-image-2{overflow:hidden;}
.features-image-2 img{
  display:block;width:100%!important;height:auto!important;aspect-ratio:342/524!important;object-fit:cover!important;object-position:center!important;
}

/* Campus images. */
.campus-image .single-campus{overflow:hidden;}
.campus-image .single-campus img{
  display:block;width:100%!important;height:auto!important;object-fit:cover!important;object-position:center!important;
}

/* Library/product-style cards. */
.single-library .library-image{overflow:hidden;}
.single-library .library-image a{display:block;width:100%;}
.single-library .library-image img{
  display:block;width:100%!important;height:auto!important;aspect-ratio:271/281!important;object-fit:cover!important;object-position:center!important;
}

/* Course detail main image and sidebar banner. */
.courses-details-content>img{
  display:block;width:100%!important;height:auto!important;aspect-ratio:845/533!important;object-fit:cover!important;object-position:center!important;
}
.courses-sidebar-banner{overflow:hidden;}
.courses-sidebar-banner img{
  display:block;width:100%!important;height:auto!important;aspect-ratio:270/310!important;object-fit:cover!important;object-position:center!important;
}

/* Teacher/testimonial images keep their intended boxes without influencing layout. */
.single-teacher .teacher-image{overflow:hidden;}
.single-teacher .teacher-image img{
  display:block;width:100%!important;height:auto!important;aspect-ratio:266/359!important;object-fit:cover!important;object-position:center!important;
}
.testimonial-image img,
.testimonials-image img,
.single-testimonial img{
  max-width:100%;object-fit:cover;object-position:center;
}

/* Cart image is deliberately small and cannot widen the row. */
.site-cart-table img.site-placeholder{
  width:90px!important;height:70px!important;max-width:90px!important;aspect-ratio:auto!important;object-fit:cover!important;flex:0 0 90px;
}

/* General safeguard for any content placeholder that has explicit HTML width/height attributes. */
img.site-placeholder[width][height]{object-fit:cover!important;object-position:center!important;}

/* Final placeholder containment checks */
.testimonials-image .single-testimonial-image{overflow:hidden;}
.testimonials-image .single-testimonial-image img{display:block;max-width:100%!important;height:auto!important;object-fit:cover!important;object-position:center!important;}
.single-blog .blog-image{overflow:hidden;}
.single-blog .blog-image img{display:block;width:100%!important;height:auto!important;object-fit:cover!important;object-position:center!important;}
.courses-list .courses-image img,.single-courses-list .courses-image img{max-width:100%!important;height:auto!important;}

/* top message bar: one centered value statement, replacing the old contact links. */
/* Reset the template's inherited 15px bottom padding so the bar has no empty strip. */
.header-top.site-top-message-bar{
  padding:0!important;
}
.site-top-message-bar .header-top-wrapper{
  justify-content:center!important;
  align-items:center;
  min-height:38px;
}
.site-top-message{
  margin:0;
  padding:8px 15px;
  color:#fff;
  font-size:14px;
  line-height:1.4;
  font-weight:500;
  letter-spacing:.15px;
  text-align:center;
}
@media (max-width:575px){
  .site-top-message{
    font-size:12px;
    padding:7px 10px;
  }
}

/* item card alignment + persistent actions */
/* Grid cards use a fixed internal content rhythm so longer titles do not move the divider/action row. */
.courses-wrapper .courses-col{
  display:flex;
}
.courses-wrapper .courses-col > .single-courses-2:not(.courses-list),
.courses-wrapper .courses-col > .single-courses{
  width:100%;
}
.single-courses-2:not(.courses-list){
  display:flex;
  flex-direction:column;
}
.single-courses-2:not(.courses-list) .courses-content{
  display:flex;
  flex:1 1 auto;
  flex-direction:column;
  min-height:200px;
}
.single-courses-2:not(.courses-list) .courses-content .courses-title{
  margin-bottom:0;
}
.single-courses-2:not(.courses-list) .courses-content .courses-link{
  margin-top:auto;
  opacity:1!important;
  visibility:visible!important;
}
/* The template originally swaps the action row for hidden metadata on hover. keeps the actions visible instead. */
.single-courses-2:not(.courses-list) .courses-content .duration-rating,
.single-courses-2:not(.courses-list):hover .courses-content .duration-rating{
  opacity:0!important;
  visibility:hidden!important;
  pointer-events:none;
}
.single-courses-2:not(.courses-list):hover .courses-link,
.single-courses-2:not(.courses-list):focus-within .courses-link{
  opacity:1!important;
  visibility:visible!important;
}
.single-courses-2:not(.courses-list) .courses-link .apply,
.single-courses-2:not(.courses-list) .courses-link .more{
  opacity:1!important;
  visibility:visible!important;
}
/* Text-only cards use the same bottom-aligned divider/action row. */
.single-courses{
  display:flex;
  flex-direction:column;
  min-height:230px;
}
.single-courses .courses-link{
  margin-top:auto;
}
@media only screen and (min-width:992px) and (max-width:1199px){
  .single-courses-2:not(.courses-list) .courses-content{min-height:180px;}
  .single-courses{min-height:215px;}
}
@media (max-width:767px){
  .courses-wrapper .courses-col{display:block;}
  .single-courses-2:not(.courses-list) .courses-content{min-height:190px;}
  .single-courses{min-height:210px;}
}

/* course detail tabs: primary tabs, accent for the active tab. */
.courses-details-tab .nav li a{
  background-color:var(--brand-primary);
  color:#fff;
  transition:background-color .25s ease,color .25s ease;
}
.courses-details-tab .nav li a:hover,
.courses-details-tab .nav li a:focus{
  background-color:rgba(var(--brand-primary-rgb),.82);
  color:#fff;
}
.courses-details-tab .nav li a.active,
.courses-details-tab .nav li a.active:hover,
.courses-details-tab .nav li a.active:focus{
  background-color:var(--brand-accent);
  color:var(--brand-accent-text);
}

/* text cards: align the detail and action rows across each grid. */
.single-courses .courses-title{
  min-height:58px;
  display:flex;
  align-items:flex-start;
}
.single-courses .duration-fee{
  min-height:62px;
  display:flex;
  align-items:flex-start;
}
.single-courses .duration-fee .duration,
.single-courses .duration-fee .fee{
  margin-top:0;
}
@media (max-width:767px){
  .single-courses .courses-title{min-height:0;}
  .single-courses .duration-fee{min-height:0;}
}

/* diamond image stable state
   Preserve the template's original rotated rounded frame, dimensions,
   positioning and accent border. The image stays at 100% scale with no
   extra transform so the frame geometry cannot be overridden or broken. */
.about-image .single-image.image-1{width:290px;height:290px;}
.about-image .single-image.image-2{width:225px;height:225px;}
.about-image .single-image.image-3{width:190px;height:190px;}
.about-image .single-image.image-4{width:140px;height:140px;}

/* Brand diamond accent palette
   Keep the stable placeholder/image handling, but override the inherited
   template accent colours with a controlled set so the collage feels
   branded on both Home and About Us. */
.about-image .single-image .site-diamond-image{
  position:absolute;
  inset:0;
  overflow:hidden;
  border-radius:30px;
  background:#c3ccd3;
  z-index:1;
}
.about-image .single-image .site-diamond-image img{
  display:block;
  width:100%!important;
  height:100%!important;
  max-width:100%!important;
  object-fit:cover!important;
  object-position:center!important;
  transform:none!important;
}

/* Override template accent blocks with colours */
.about-image .single-image.image-1::before{background-color:var(--brand-dark);}
.about-image .single-image.image-2::before{background-color:var(--brand-primary);}
.about-image .single-image.image-3::before{background-color:var(--brand-accent);}
.about-image .single-image.image-4::before{background-color:rgba(var(--brand-primary-rgb),.45);}

/* focus cards section (About benefits, Contact company details) */
.site-focus-area{
  padding:80px 0;
  background:#fff;
}
.site-focus-grid{margin-top:25px;}
.site-focus-grid>[class*="col-"]{display:flex;}
.site-focus-card{
  width:100%;
  display:flex;
  flex-direction:column;
  padding:34px 30px 30px;
  margin-top:30px;
  border:1px solid #e6ebef;
  background:#fff;
  box-shadow:0 12px 32px rgba(var(--brand-dark-rgb),.07);
  transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease;
}
.site-focus-card:hover{
  transform:translateY(-5px);
  border-color:var(--brand-primary);
  box-shadow:0 16px 38px rgba(var(--brand-dark-rgb),.11);
}
.site-focus-icon{
  width:62px;height:62px;
  display:flex;align-items:center;justify-content:center;
  background:var(--brand-accent);
  color:var(--brand-accent-text);
  font-size:25px;
  margin-bottom:24px;
}
.site-focus-card h3{
  color:var(--brand-dark);
  font-size:23px;
  line-height:1.3;
  margin:0 0 15px;
}
.site-focus-card p{
  color:#263c51;
  line-height:1.75;
  margin:0 0 24px;
}
.site-card-link{
  margin-top:auto;
  display:inline-flex;
  align-items:center;
  gap:9px;
  width:max-content;
  color:var(--brand-dark);
  font-weight:700;
  border-bottom:2px solid var(--brand-accent);
  padding-bottom:4px;
}
.site-card-link:hover{color:var(--brand-primary);}

/* home testimonials (fallback when no live review source is active) */
.site-reviews-area{
  padding:90px 0;
  background:#fff;
  overflow:hidden;
}
.site-reviews-intro{padding-right:30px;}
.site-reviews-intro .title{
  color:var(--brand-dark);
  font-size:42px;
  line-height:1.15;
  margin-bottom:18px;
}
.site-reviews-intro .line{
  display:block;
  width:90px;
  height:2px;
  background:var(--brand-accent);
  margin-bottom:24px;
}
.site-reviews-intro p{color:#263c51;line-height:1.75;margin:0;}
.site-reviews-slider{position:relative;margin:0 -12px;}
.site-reviews-slider .slick-track{display:flex;}
.site-reviews-slider .slick-slide{height:auto;padding:0 12px;}
.site-reviews-slider .slick-slide>div{height:100%;}
.site-review-card{
  height:100%;
  min-height:285px;
  position:relative;
  display:flex!important;
  flex-direction:column;
  background:#fff;
  border:1px solid #dde4ea;
  border-top:4px solid var(--brand-primary);
  padding:34px 32px 30px;
}
.site-review-quote{
  color:var(--brand-accent);
  font-size:32px;
  margin-bottom:22px;
}
.site-review-text{
  color:#263c51;
  font-size:17px;
  line-height:1.7;
  margin:0 0 30px;
}
.site-review-meta{margin-top:auto;display:flex;flex-direction:column;gap:4px;}
.site-review-meta strong{color:var(--brand-dark);font-size:16px;}
.site-review-meta span{color:#637383;font-size:14px;}
@media(max-width:991px){
  .site-reviews-intro{padding-right:0;margin-bottom:40px;}
  .site-reviews-intro .title{font-size:36px;}
}
@media(max-width:767px){
  .site-focus-area,.site-reviews-area{padding:65px 0;}
  .site-focus-card{padding:28px 24px 26px;}
  .site-reviews-intro .title{font-size:32px;}
  .site-review-card{min-height:250px;padding:28px 24px;}
}

/* focus cards: centered section heading and no inherited template title layout. */
.site-focus-area .site-focus-heading{
  max-width:760px;
  margin:0 auto 12px;
  padding:0 20px;
}
.site-focus-area .site-focus-heading h2{
  margin:0 0 14px;
  color:var(--brand-dark);
  font-size:42px;
  line-height:1.18;
}
.site-focus-area .site-focus-heading p{
  margin:0 auto;
  max-width:700px;
  color:#263c51;
  line-height:1.75;
}

/* site-wide CTA: full-width image background with a solid 50% overlay. */
.site-course-cta{
  position:relative;
  isolation:isolate;
  width:100%;
  padding:96px 0;
  background-color:var(--brand-dark);
  background-size:cover;
  background-position:center;
  background-repeat:no-repeat;
  overflow:hidden;
}
.site-course-cta::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:0;
  background:rgba(var(--brand-dark-rgb),.50);
}
.site-course-cta .container{
  position:relative;
  z-index:1;
}
.site-course-cta-inner{
  max-width:880px;
  margin:0 auto;
  padding:0 24px;
  background:transparent;
  border:0;
  box-shadow:none;
}
.site-course-cta-inner h2{
  color:#fff;
  text-shadow:0 2px 10px rgba(0,0,0,.18);
}
.site-course-cta-inner p{
  color:#fff;
  text-shadow:0 1px 6px rgba(0,0,0,.16);
}
@media(max-width:767px){
  .site-course-cta{padding:72px 0;}
  .site-course-cta-inner{padding:0 20px;}
}

/* testimonial controls: one centered clickable dot per testimonial (review-fallback.js). */
.site-review-dots{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:9px;
  margin-top:22px;
}
.site-review-dot{
  width:11px;
  height:11px;
  min-width:11px;
  padding:0;
  border:0;
  border-radius:50%;
  background:#c7d2dc;
  cursor:pointer;
  transition:background .2s ease, transform .2s ease;
}
.site-review-dot.is-active{background:var(--brand-accent);transform:scale(1.08);}
.site-review-dot:hover,
.site-review-dot:focus{background:var(--brand-primary);outline:none;}


/* ============================================================
   BUTTON SYSTEM - SINGLE SOURCE OF TRUTH
   Standard: yellow/dark -> blue/white on hover/focus.
   Only the secondary hero CTA intentionally uses the inverse.
   Keep this block after all template and component styles.
   ============================================================ */
.main-btn,
.main-btn.main-btn-2,
a.main-btn,
button.main-btn,
input.main-btn,
input[type="submit"].main-btn{
  background:var(--brand-accent)!important;
  border-color:var(--brand-accent)!important;
  color:var(--brand-accent-text)!important;
}
.main-btn:hover,
.main-btn:focus,
.main-btn:active,
.main-btn.main-btn-2:hover,
.main-btn.main-btn-2:focus,
.main-btn.main-btn-2:active,
a.main-btn:hover,
a.main-btn:focus,
button.main-btn:hover,
button.main-btn:focus,
input.main-btn:hover,
input.main-btn:focus,
input[type="submit"].main-btn:hover,
input[type="submit"].main-btn:focus{
  background:var(--brand-primary)!important;
  border-color:var(--brand-primary)!important;
  color:#fff!important;
}



/* HERO SECONDARY CTA - scoped exception to the button system above. */
.site-home-video-hero a.main-btn.site-hero-secondary {
  background: var(--brand-primary) !important;
  background-color: var(--brand-primary) !important;
  border-color: var(--brand-primary) !important;
  color: #ffffff !important;
}
.site-home-video-hero a.main-btn.site-hero-secondary:hover,
.site-home-video-hero a.main-btn.site-hero-secondary:focus,
.site-home-video-hero a.main-btn.site-hero-secondary:active {
  background: var(--brand-accent) !important;
  background-color: var(--brand-accent) !important;
  border-color: var(--brand-accent) !important;
  color: var(--brand-accent-text) !important;
}

/* feature labels: keep the six benefits visually balanced on Home and About. */
.features-area-2 .features-items{
  gap:34px;
}
.features-area-2 .features-items .features-items-wrapper{
  width:46%;
}
.features-area-2 .features-items .features-items-wrapper .single-features-item{
  max-width:none;
  min-height:164px;
}
.features-area-2 .features-items .features-items-wrapper .single-features-item .item-content p{
  min-height:60px;
  font-size:22px;
  line-height:30px;
  display:flex;
  flex-direction:column;
  justify-content:center;
}
.features-area-2 .features-items .features-items-wrapper .single-features-item .item-content p span{
  display:block;
  white-space:nowrap;
}
/* Feature and about-photo icons are Font Awesome glyphs, so they follow the brand colours. */
.features-items .features-items-wrapper .single-features-item .item-icon i{
  display:inline-block;
  width:70px;
  font-size:50px;
  line-height:70px;
  text-align:center;
  color:var(--brand-primary);
}
.about-image .about-icon i{
  display:block;
  width:46px;
  font-size:34px;
  line-height:46px;
  text-align:center;
  color:rgba(var(--brand-dark-rgb),.2);
}
@media (max-width:767px){
  .features-items .features-items-wrapper .single-features-item .item-icon i{width:35px;font-size:26px;line-height:35px;}
}
@media only screen and (min-width:576px) and (max-width:767px){
  .features-items .features-items-wrapper .single-features-item .item-icon i{width:50px;font-size:36px;line-height:50px;}
}
@media only screen and (min-width:992px) and (max-width:1199px){
  .features-area-2 .features-items{gap:20px;}
  .features-area-2 .features-items .features-items-wrapper{width:48%;}
  .features-area-2 .features-items .features-items-wrapper .single-features-item .item-content p{
    font-size:19px;
    line-height:27px;
    min-height:54px;
  }
}
@media (max-width:991px){
  .features-area-2 .features-items .features-items-wrapper .single-features-item .item-content p span{
    white-space:normal;
  }
}
@media (max-width:767px){
  .features-area-2 .features-items{gap:14px;}
  .features-area-2 .features-items .features-items-wrapper{width:50%;}
  .features-area-2 .features-items .features-items-wrapper .single-features-item{min-height:128px;}
  .features-area-2 .features-items .features-items-wrapper .single-features-item .item-content p{
    min-height:44px;
    font-size:14px;
    line-height:22px;
  }
}


/* home featured items section */
.site-featured-items{
  background:var(--brand-light);
  padding:80px 0;
}
.site-featured-items .site-featured-items-heading{
  margin:0 auto 25px;
}
.site-featured-items .site-featured-items-heading .title{
  margin:0;
}
.site-featured-items .site-featured-items-heading p{
  max-width:760px;
  margin:14px auto 0;
}
.site-featured-items .courses-wrapper{
  margin-top:20px;
}
.site-featured-items .site-featured-items-cta{
  margin-top:42px;
}
@media (max-width:767px){
  .site-featured-items{padding:60px 0;}
  .site-featured-items .site-featured-items-cta{margin-top:32px;}
}
/* Featured cards rendered by assets/js/featured-items.js: text follows each item's card_text_colour. */
.site-home-featured-card .courses-content,
.site-home-featured-card .courses-title,
.site-home-featured-card .courses-title a,
.site-home-featured-card .category,
.site-home-featured-card .courses-link,
.site-home-featured-card .courses-link .apply,
.site-home-featured-card .courses-link .more{color:var(--site-featured-text)!important;}
.site-home-featured-card .courses-link{border-color:currentColor;}
.site-home-featured-card .site-course-price strong{font-weight:inherit;}
.site-home-featured-card .site-product-old-price{margin-right:6px;font-size:12px;opacity:.7;text-decoration:line-through;}
.site-home-featured-card--product .courses-image{background:#fff;}
.site-home-featured-card--product .courses-image img{padding:14px;object-fit:contain!important;}

/* Home about benefits: scoped check-list layout only */
.home-page .about-content .site-about-benefits{
  list-style:none;
  margin:22px 0 0;
  padding-left:0;
}
.home-page .about-content .site-about-benefits li{
  position:relative;
  display:block;
  margin:0 0 10px;
  padding-left:30px;
}
.home-page .about-content .site-about-benefits li:last-child{
  margin-bottom:0;
}
.home-page .about-content .site-about-benefits li::before{
  content:"\2713";
  position:absolute;
  left:0;
  top:0;
  color:var(--brand-primary);
  font-weight:700;
  line-height:inherit;
}
.home-page .about-content .site-about-benefits + .main-btn{
  margin-top:34px;
}
@media (max-width:767px){
  .home-page .about-content .site-about-benefits{margin-top:20px;}
  .home-page .about-content .site-about-benefits li{padding-left:28px;}
}

/* Home: featured-item heading cleanup */

.site-featured-items .site-featured-items-heading{
  display:block;
  text-align:center;
}
.site-featured-items .site-featured-items-heading .title{
  padding-right:0;
  padding-bottom:0;
  display:block;
  max-width:900px;
  margin:0 auto;
}
.site-featured-items .site-featured-items-heading .title::before{
  display:none!important;
  content:none!important;
}
.site-featured-items .site-featured-items-heading p{
  padding-left:0;
  max-width:760px;
  margin:16px auto 0;
  text-align:center;
}

@media (max-width:767px){
  .site-featured-items .site-featured-items-heading .title{padding-bottom:0;}
}


/* Home promo section: full-width split background, content stays in site container. */
.site-promo-area{
  position:relative;
  margin-top:80px;
  padding-top:0;
  overflow:hidden;
  background:var(--brand-light);
}
.site-promo-area::before{
  content:"";
  position:absolute;
  inset:0 auto 0 0;
  width:40%;
  background:var(--brand-dark);
  z-index:0;
}
.site-promo-area .container{position:relative;z-index:1;}
.site-promo-area .campus-visit-wrapper::before,
.site-promo-area .campus-visit-wrapper::after{display:none;}
.site-promo-area .campus-image-col,
.site-promo-area .campus-content-col{background:transparent;}
.site-promo-area .campus-content .campus-title{max-width:420px;}

/* Home promo alignment
   Background remains edge-to-edge. The actual image/text content follows the
   same native Bootstrap .container boundaries as the sections above/below. */
.site-promo-area > .container{
  position:relative;
  z-index:1;
}
.site-promo-area .campus-visit-wrapper{
  width:100%;
  max-width:100%;
}
@media (min-width:992px){
  /* Remove the original template's inset padding so the image begins exactly
     at the container's left edge and the content column ends at its right edge. */
  .site-promo-area .campus-visit-wrapper .campus-image-col{
    width:50%;
    padding:90px 0;
  }
  .site-promo-area .campus-visit-wrapper .campus-content-col{
    width:50%;
    padding:90px 0;
    display:flex;
    align-items:center;
  }
  .site-promo-area .campus-content{
    max-width:560px;
    margin-left:60px;
    margin-right:auto;
    padding:0;
    text-align:left;
  }
}


@media(max-width:991px){
  .site-promo-area{margin-top:55px;background:var(--brand-light);}
  .site-promo-area::before{display:none;}
  .site-promo-area .campus-image-col{background:var(--brand-dark);}
  .site-promo-area .campus-content-col{background:var(--brand-light);}
}

/* About Us: "How we work" promo image sizing and spacing.
   Keep the original layout, but let the slider fill the available height of
   the navy image column. The image crops with object-fit: cover rather than
   stretching, so the top and bottom gaps stay small and balanced. */
.site-about-promo{
  padding:90px 0;
}
@media (min-width:992px){
  .site-about-promo .campus-visit-wrapper .campus-content-col{
    display:flex;
    align-items:center;
  }
  .site-about-promo .campus-content{
    width:100%;
    max-width:650px;
  }
  .site-about-promo .campus-visit-wrapper .campus-image-col{
    display:flex;
    flex-direction:column;
    align-self:stretch;
    padding-top:18px;
    padding-right:22px;
    padding-bottom:18px;
    padding-left:0;
  }
  .site-about-promo .campus-image{
    flex:1 1 auto;
    min-height:0;
    height:auto!important;
  }
  .site-about-promo .campus-image .slick-list,
  .site-about-promo .campus-image .slick-track,
  .site-about-promo .campus-image .slick-slide,
  .site-about-promo .campus-image .slick-slide > div,
  .site-about-promo .campus-image .single-campus{
    height:100%!important;
  }
  .site-about-promo .campus-image .single-campus{
    overflow:hidden;
  }
  .site-about-promo .campus-image .single-campus img{
    width:100%!important;
    height:100%!important;
    max-width:none!important;
    aspect-ratio:auto!important;
    object-fit:cover!important;
    object-position:center!important;
  }
}
@media only screen and (min-width:768px) and (max-width:991px){
  .site-about-promo{padding:65px 0;}
  .site-about-promo .campus-visit-wrapper .campus-image-col{
    padding-top:24px;
    padding-bottom:24px;
  }
}
@media (max-width:767px){
  .site-about-promo{padding:50px 0;}
}

/* About Us stats: one source of truth.
   Full-width band, same dark colour as the promo image block, no image or
   overlay, and reduced internal top spacing. */
.about-page .site-about-stats,
.site-about-stats{
  width:100%;
  padding-top:0;
  background:var(--brand-dark);
}
.site-about-stats .counter-wrapper-2{
  width:100%;
  padding:46px 0;
  background:var(--brand-dark);
  background-image:none!important;
}
.site-about-stats .counter-wrapper-2::before{
  display:none!important;
  content:none!important;
}
.site-about-stats .counter-wrapper-2 .container{
  position:relative;
  z-index:1;
}
@media only screen and (min-width:768px) and (max-width:991px){
  .site-about-stats{padding-top:0;}
  .site-about-stats .counter-wrapper-2{padding:38px 0;}
}
@media (max-width:767px){
  .site-about-stats{padding-top:0;}
  .site-about-stats .counter-wrapper-2{padding:31px 0;}
}


/* About Us: Mission / Vision / Promise */
.site-mvp-area{
  padding:36px 0;
  background:#ffffff;
}
.about-page .about-area{
  padding:70px 0;
}
.site-mvp-grid>[class*="col-"]{display:flex;}
.site-mvp-card{
  width:100%;
  min-height:315px;
  margin-top:0;
  padding:34px 30px 32px;
  text-align:center;
  background:#ffffff;
  border:2px solid var(--brand-primary);
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:flex-start;
  transition:transform .25s ease, box-shadow .25s ease, border-color .25s ease;
}
.site-mvp-card:hover{
  transform:translateY(-4px);
  border-color:var(--brand-accent);
  box-shadow:0 14px 30px rgba(var(--brand-dark-rgb),.09);
}
.site-mvp-icon{
  width:64px;
  height:64px;
  margin-bottom:22px;
  display:flex;
  align-items:center;
  justify-content:center;
  background:var(--brand-accent);
  color:var(--brand-accent-text);
  border-radius:50%;
  font-size:27px;
}
.site-mvp-card h3{
  margin:0 0 16px;
  color:var(--brand-dark);
  font-size:30px;
  line-height:1.2;
}
.site-mvp-card p{
  margin:0;
  color:#263c51;
  line-height:1.75;
}

/* About Us: six-benefit section on light grey background */
.about-page .features-area-2{
  background:var(--brand-light);
  padding-top:75px;
  padding-bottom:75px;
}
.about-page .features-area-2 .features-image-2{background:#ffffff;}

@media (max-width:991px){
  .about-page .about-area{padding:55px 0;}
  .site-mvp-area{padding:30px 0;}
  .site-mvp-card{min-height:0;}
}
@media (max-width:767px){
  .about-page .about-area{padding:45px 0;}
  .site-mvp-area{padding:28px 0;}
  .site-mvp-card{padding:28px 22px 26px;}
  .about-page .features-area-2{padding-top:55px;padding-bottom:55px;}
}

/* About Us benefits: one section-level CTA beneath the benefit cards. */
.site-focus-area .site-focus-cta{
  margin-top:38px;
}
@media (max-width:767px){
  .site-focus-area .site-focus-cta{margin-top:28px;}
}

/* FAQ accordion refresh */
.faq-area .site-faq-heading{
  text-align:center;
  max-width:980px;
  margin:0 auto;
}
.faq-area .site-faq-heading .title{
  text-align:center;
}
.faq-area .site-faq-heading .line{
  display:block;
  margin:24px auto 0;
}
.faq-area .site-faq-heading p{
  max-width:900px;
  margin:30px auto 0;
  text-align:center;
}

.faq-area .faq-wrapper{
  max-width:1100px;
  margin:0 auto;
  padding-top:42px;
}
.faq-area .faq-wrapper .accordion .site-faq-item{
  position:relative;
  padding:0;
  margin:0;
  border:0;
  border-bottom:1px solid #e3e7eb;
  background:transparent;
  border-radius:0;
}
.faq-area .faq-wrapper .accordion .site-faq-item:first-child{
  border-top:1px solid #e3e7eb;
}
.faq-area .faq-wrapper .accordion .site-faq-item .card-header{
  padding:0;
  border:0;
  background:transparent;
}
.faq-area .faq-wrapper .accordion .card-header a.site-faq-question{
  position:relative;
  display:block;
  width:100%;
  padding:24px 54px 24px 0;
  color:var(--brand-primary);
  font-size:18px;
  font-weight:600;
  line-height:1.45;
  text-decoration:none;
}
.faq-area .faq-wrapper .accordion .card-header a.site-faq-question.collapsed{
  color:var(--brand-dark);
}
.faq-area .faq-wrapper .accordion .card-header a.site-faq-question::after{
  content:"−";
  position:absolute;
  top:50%;
  right:6px;
  width:32px;
  height:32px;
  border-radius:50%;
  transform:translateY(-50%);
  display:flex;
  align-items:center;
  justify-content:center;
  background:var(--brand-accent);
  color:var(--brand-accent-text);
  font-size:23px;
  font-weight:500;
  line-height:1;
  transition:background-color .2s ease,color .2s ease,transform .2s ease;
}
.faq-area .faq-wrapper .accordion .card-header a.site-faq-question.collapsed::after{
  content:"+";
}
.faq-area .faq-wrapper .accordion .card-header a.site-faq-question:hover::after,
.faq-area .faq-wrapper .accordion .card-header a.site-faq-question:focus::after{
  background:var(--brand-primary);
  color:#fff;
}
.faq-area .faq-wrapper .accordion .site-faq-item .card-body{
  padding:0 54px 24px 0;
  margin:0;
  color:#263c51;
  font-size:16px;
  line-height:1.8;
}
.faq-area .faq-wrapper .accordion .site-faq-item .card-body a{
  color:var(--brand-primary);
  text-decoration:underline;
  text-underline-offset:2px;
}
.faq-area .faq-wrapper .accordion .site-faq-item .card-body p{
  margin:0;
  color:#263c51;
  font-size:16px;
  line-height:1.8;
  font-weight:400;
}
@media (max-width:767px){
  .faq-area .site-faq-heading p{margin-top:22px;}
  .faq-area .faq-wrapper{padding-top:28px;}
  .faq-area .faq-wrapper .accordion .card-header a.site-faq-question{
    padding:20px 46px 20px 0;
    font-size:16px;
  }
  .faq-area .faq-wrapper .accordion .card-header a.site-faq-question::after{
    right:0;
    width:30px;
    height:30px;
    font-size:21px;
  }
  .faq-area .faq-wrapper .accordion .site-faq-item .card-body,
  .faq-area .faq-wrapper .accordion .site-faq-item .card-body p{
    padding-right:0;
    font-size:15px;
    line-height:1.7;
  }
  .faq-area .faq-wrapper .accordion .site-faq-item .card-body{padding-bottom:20px;}
}


/* Login / register / forgot password */
.site-auth-help{margin:24px 0 0;color:#42576b;line-height:1.7;}
.site-auth-options{align-items:center;}
.site-auth-options .forget{margin-left:auto;}
.site-register-help{display:block;margin-top:7px;color:#6d7680;font-size:13px;line-height:1.5;}
.site-register-terms a{text-decoration:underline;color:var(--brand-dark);}
.site-register-terms a:hover{color:var(--brand-primary);}

/* Form replies (data-site-form-message) and the hidden spam-trap field added by contact-modal.js */
.site-form-message{margin:24px 0 0;font-size:15px;line-height:1.55;}
.site-form-message:empty{display:none;}
.site-form-message.success,
.site-form-message.error{padding:13px 15px;border:1px solid;}
.site-form-message.success{border-color:#a8d6b6;background:#f2fbf5;color:#25693b;}
.site-form-message.error{border-color:#d8a4a4;background:#fff4f4;color:#8a1f1f;}
.site-form-trap{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden;}

/* Identity document picker (register and checkout forms; behaviour in identity-fields.js) */
.site-identity-picker{position:relative;width:100%;}
.site-identity-picker__button{position:relative;width:100%;height:50px;border:1px solid #dbdbdb;border-radius:0;padding:0 44px 0 20px;background:#fff;color:#303030;font:inherit;font-weight:500;text-align:left;line-height:48px;cursor:pointer;}
.site-identity-picker__button::after{content:"";position:absolute;right:18px;top:50%;width:8px;height:8px;margin-top:-6px;border-right:2px solid var(--brand-dark);border-bottom:2px solid var(--brand-dark);transform:rotate(45deg);transition:transform .2s ease,margin-top .2s ease;}
.site-identity-picker.is-open .site-identity-picker__button::after{margin-top:-2px;transform:rotate(-135deg);}
.site-identity-picker__button:focus{outline:2px solid rgba(var(--brand-primary-rgb),.22);border-color:var(--brand-primary);}
.site-identity-picker__menu{position:absolute;z-index:60;left:0;right:0;top:calc(100% + 4px);margin:0;padding:5px 0;border:1px solid #d7dbe0;background:#fff;box-shadow:0 8px 20px rgba(var(--brand-dark-rgb),.12);}
.site-identity-picker__option{display:block;width:100%;border:0;background:#fff;color:#233b4e;padding:10px 18px;text-align:left;font:inherit;line-height:1.35;cursor:pointer;}
.site-identity-picker__option:hover,
.site-identity-picker__option:focus,
.site-identity-picker__option.is-selected{background:rgba(var(--brand-primary-rgb),.08);color:var(--brand-dark);outline:0;}
.site-identity-picker[data-locked="1"] .site-identity-picker__button{cursor:default;background:var(--brand-light);color:#6d7680;}
@media (max-width:767px){.site-identity-picker__button{height:45px;line-height:43px;}}

/* contact page - custom rebuilt section */
.site-contact-section{
  padding:95px 0;
  background:#fff;
}
.site-contact-row{row-gap:40px;}
.site-contact-intro{
  height:100%;
  padding:28px 55px 28px 0;
  display:flex;
  flex-direction:column;
}
.site-contact-eyebrow{
  display:block;
  margin-bottom:22px;
  color:var(--brand-primary);
  font-size:14px;
  font-weight:700;
  letter-spacing:2px;
  text-transform:uppercase;
}
.site-contact-intro h2,
.site-contact-form-card h2{
  color:var(--brand-dark);
  font-size:42px;
  line-height:1.15;
  font-weight:700;
  margin:0;
}
.site-contact-lead{
  max-width:590px;
  margin:28px 0 34px;
  color:#42576b;
  font-size:17px;
  line-height:1.7;
}
.site-contact-details{
  display:grid;
  gap:22px;
}
.site-contact-detail{margin:0;}
.site-contact-link{
  display:grid;
  grid-template-columns:58px 1fr;
  gap:18px;
  align-items:center;
  color:inherit;
  text-decoration:none;
}
.site-contact-icon{
  width:58px;
  height:58px;
  display:flex;
  align-items:center;
  justify-content:center;
  flex:0 0 58px;
  background:var(--brand-primary);
  color:#fff;
  font-size:23px;
  border-radius:3px;
  transition:background-color .2s ease,color .2s ease;
}
.site-contact-link:hover .site-contact-icon,
.site-contact-link:focus .site-contact-icon{
  background:var(--brand-accent);
  color:var(--brand-accent-text);
}
.site-contact-label{
  display:block;
  margin-bottom:3px;
  color:var(--brand-dark);
  font-size:13px;
  font-weight:700;
  letter-spacing:.6px;
  text-transform:uppercase;
}
.site-contact-detail p{
  margin:0;
  color:#263c51;
  font-size:16px;
  line-height:1.55;
}
.site-contact-link:hover p,.site-contact-link:focus p{color:var(--brand-primary);}
.site-contact-link:focus{outline:2px solid var(--brand-primary);outline-offset:4px;}
.site-contact-social{
  margin-top:auto;
  padding-top:34px;
  border-top:1px solid #dfe5ea;
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:10px;
}
.site-contact-social>span{
  margin-right:10px;
  color:var(--brand-dark);
  font-size:18px;
  font-weight:600;
}
.site-contact-social a{
  width:42px;
  height:42px;
  display:flex;
  align-items:center;
  justify-content:center;
  border:1px solid var(--brand-primary);
  color:var(--brand-dark);
  background:#fff;
}
.site-contact-social a:hover{
  background:var(--brand-primary);
  color:#fff;
}
.site-contact-form-card{
  height:100%;
  padding:38px 40px 42px;
  border:1px solid var(--brand-primary);
  box-shadow:0 10px 30px rgba(var(--brand-dark-rgb),.08);
  background:#fff;
}
.site-contact-form-card h2{margin-bottom:28px;}
.site-form-field{margin-bottom:24px;}
.site-form-field label,
.site-enquiry-options legend{
  display:block;
  width:auto;
  margin:0 0 8px;
  color:var(--brand-dark);
  font-size:15px;
  font-weight:600;
}
.site-form-field label span,
.site-enquiry-options legend span{color:var(--brand-primary);}
.site-form-field input,
.site-form-field textarea{
  width:100%;
  padding:12px 0;
  border:0;
  border-bottom:1px solid #d7dde3;
  border-radius:0;
  background:transparent;
  color:#263c51;
  font-size:15px;
  outline:none;
  transition:border-color .2s ease;
}
.site-form-field input:focus,
.site-form-field textarea:focus{border-color:var(--brand-primary);}
.site-form-field textarea{
  min-height:100px;
  resize:vertical;
}
.site-enquiry-options{
  margin:4px 0 26px;
  padding:0;
  border:0;
}
.site-enquiry-options legend{margin-bottom:14px;}
.site-enquiry-options label{
  display:flex;
  align-items:flex-start;
  gap:9px;
  margin-bottom:12px;
  color:#42576b;
  font-size:14px;
  line-height:1.45;
  cursor:pointer;
}
.site-enquiry-options input[type="checkbox"]{
  appearance:none;
  width:18px;
  height:18px;
  flex:0 0 18px;
  margin-top:1px;
  border:1px solid #b9c5cf;
  border-radius:3px;
  background:#fff;
  position:relative;
}
.site-enquiry-options input[type="checkbox"]:checked{
  border-color:var(--brand-primary);
  background:var(--brand-primary);
}
.site-enquiry-options input[type="checkbox"]:checked::after{
  content:"✓";
  position:absolute;
  inset:-2px 0 0;
  color:#fff;
  font-size:13px;
  font-weight:800;
  line-height:18px;
  text-align:center;
}
.site-contact-submit{
  width:100%;
  margin-top:2px;
}
@media (max-width:991px){
  .site-contact-section{padding:75px 0;}
  .site-contact-intro{padding-right:0;}
  .site-contact-social{margin-top:32px;}
}
@media (max-width:767px){
  .site-contact-section{padding:60px 0;}
  .site-contact-intro h2,
  .site-contact-form-card h2{font-size:32px;}
  .site-contact-lead{font-size:16px;}
  .site-contact-form-card{padding:28px 22px 30px;}
  .site-contact-link{grid-template-columns:52px 1fr;gap:14px;}
  .site-contact-icon{width:52px;height:52px;flex-basis:52px;}
}

/* Contact page company and department information */
.site-company-contact-area{background:var(--brand-light);}
.site-company-information-grid{
  width:100%;
  margin:0;
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:22px 36px;
}
.site-company-information-grid>div{
  padding-bottom:14px;
  border-bottom:1px solid #e1e7ec;
}
.site-company-information-grid dt{
  margin-bottom:5px;
  color:var(--brand-dark);
  font-size:14px;
  font-weight:700;
}
.site-company-information-grid dd{margin:0;color:#263c51;line-height:1.6;}
.site-company-information-address{grid-column:1/-1;}
.site-department-heading{margin-top:72px!important;}
.site-department-card p{margin-bottom:20px;font-weight:600;}
.site-company-contact-list{margin:auto 0 0;padding:0;list-style:none;}
.site-company-contact-list li{margin-top:8px;color:#42576b;line-height:1.55;}
.site-company-contact-list a{color:var(--brand-dark);text-decoration:underline;text-decoration-color:var(--brand-primary);text-underline-offset:3px;}
.site-company-contact-list a:hover,.site-company-contact-list a:focus{color:var(--brand-primary);}
@media (max-width:767px){
  .site-company-information-grid{grid-template-columns:1fr;gap:18px;}
  .site-company-information-address{grid-column:auto;}
  .site-department-heading{margin-top:52px!important;}
}

/* ================================================================
   Purchase buttons + floating side cart (assets/js/cart.js).
   ================================================================ */
.site-card-add-wrap{
  margin-top:14px;
}
.site-card-enquire{
  width:100%;
  min-height:44px;
  border:2px solid #111;
  box-sizing:border-box;
  background:var(--brand-accent);
  color:var(--brand-accent-text);
  font:inherit;
  font-weight:700;
  cursor:pointer;
  transition:background-color .25s ease,color .25s ease;
}
.site-card-enquire:hover,
.site-card-enquire:focus{
  border-color:#111;
  background:var(--brand-primary);
  color:#fff;
  outline:none;
}
.site-card-add-to-cart:disabled,
.site-detail-add-to-cart:disabled{
  opacity:.65;
  cursor:not-allowed;
}
.site-card-add-to-cart{
  width:100%;
  min-height:44px;
  border:2px solid #111;
  box-sizing:border-box;
  background:var(--brand-accent);
  color:var(--brand-accent-text);
  font:inherit;
  font-weight:700;
  cursor:pointer;
  transition:background-color .25s ease,color .25s ease;
}
.site-card-add-to-cart:hover,
.site-card-add-to-cart:focus{
  border-color:#111;
  background:var(--brand-primary);
  color:#fff;
  outline:none;
}
.site-detail-add-to-cart{
  width:100%;
  min-height:44px;
  border:0;
  box-sizing:border-box;
  background:var(--brand-accent);
  color:var(--brand-accent-text);
  font:inherit;
  font-weight:700;
  cursor:pointer;
  transition:background-color .25s ease,color .25s ease;
}
.site-detail-add-to-cart:hover,
.site-detail-add-to-cart:focus{
  background:var(--brand-primary);
  color:#fff;
  outline:none;
}
.site-detail-cart-action{
  margin-top:18px;
}

/* Course price + purchase panel on the course detail page. */
.site-course-price{
  display:inline-flex;
  align-items:center;
  color:#fff;
  font-weight:700!important;
  letter-spacing:.03em!important;
  cursor:default;
}
.site-course-purchase-panel{
  background:var(--brand-light);
  padding:26px 24px 24px;
}
.site-course-purchase-panel .courses-features-items{
  padding-top:15px;
}
.site-course-purchase-panel .courses-features-items li:last-child{
  border-bottom:0;
}
.site-detail-price-row{
  margin-top:0;
  padding-top:16px!important;
  border-top:2px solid var(--brand-primary)!important;
  border-bottom:0!important;
  font-size:16px;
}
.site-detail-price-row strong{
  color:var(--brand-dark);
  font-size:18px;
  font-weight:800;
}
@media (min-width:992px){
  .courses-sidebar{
    position:sticky;
    top:120px;
    z-index:4;
    align-self:flex-start;
  }
  .site-course-purchase-panel{position:static;top:auto;}
}
@media (max-width:991px){
  .courses-sidebar{position:static;top:auto;}
  .site-course-purchase-panel{position:static;top:auto;}
}
.site-bottom-cart-action{
  margin-top:36px;
  text-align:center;
}
.site-bottom-cart-action .site-detail-add-to-cart{
  width:auto;
  min-width:190px;
  padding:0 30px;
}

/* floating quick actions — one positioning system for back-to-top, WhatsApp and cart. */
.site-floating-actions{
  position:fixed;
  right:28px;
  bottom:28px;
  z-index:9996;
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:12px;
}
.site-floating-actions .back-to-top,
.site-floating-whatsapp,
.site-floating-actions .site-floating-cart{
  position:relative;
  right:auto;
  bottom:auto;
  flex:0 0 58px;
  width:58px;
  height:58px;
  margin:0;
  border-radius:50%;
}
.site-floating-actions .back-to-top{
  line-height:58px;
  z-index:auto;
  background:var(--brand-primary);
  color:#fff;
  box-shadow:0 10px 28px rgba(var(--brand-dark-rgb),.22);
}
.site-floating-actions .back-to-top:hover,
.site-floating-actions .back-to-top:focus{
  background:var(--brand-accent);
  color:#fff;
}
.site-floating-whatsapp{
  display:flex;
  align-items:center;
  justify-content:center;
  overflow:hidden;
  background:transparent;
  box-shadow:0 10px 28px rgba(var(--brand-dark-rgb),.18);
  transition:transform .25s ease;
}
.site-floating-whatsapp img{
  display:block;
  width:100%;
  height:100%;
  object-fit:contain;
}
.site-floating-whatsapp:hover,
.site-floating-whatsapp:focus{
  transform:translateY(-2px);
  outline:none;
}
@media (max-width:575px){
  .site-floating-actions{right:18px;bottom:18px;gap:10px;}
  .site-floating-actions .back-to-top,
  .site-floating-whatsapp,
  .site-floating-actions .site-floating-cart{
    flex-basis:54px;
    width:54px;
    height:54px;
  }
  .site-floating-actions .back-to-top{line-height:54px;}
}

.site-floating-cart{
  position:relative;
  width:58px;
  height:58px;
  border:0;
  border-radius:50%;
  background:var(--brand-accent);
  color:var(--brand-accent-text);
  box-shadow:0 10px 28px rgba(var(--brand-dark-rgb),.22);
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:21px;
  cursor:pointer;
  transition:background-color .25s ease,color .25s ease,transform .25s ease;
}
.site-floating-cart:hover,
.site-floating-cart:focus{
  background:var(--brand-primary);
  color:#fff;
  transform:translateY(-2px);
  outline:none;
}
.site-cart-count{
  position:absolute;
  top:-5px;
  right:-5px;
  min-width:24px;
  height:24px;
  padding:0 6px;
  border-radius:12px;
  background:var(--brand-dark);
  color:#fff;
  border:2px solid #fff;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:12px;
  line-height:1;
  font-weight:700;
}
.site-cart-count.is-empty{opacity:.8;}

.site-cart-overlay{
  position:fixed;
  inset:0;
  z-index:9997;
  background:rgba(var(--brand-dark-rgb),.5);
  opacity:0;
  visibility:hidden;
  transition:opacity .3s ease,visibility .3s ease;
}
.site-cart-overlay.is-open{
  opacity:1;
  visibility:visible;
}
.site-side-cart{
  position:fixed;
  top:0;
  right:0;
  z-index:9998;
  width:min(420px,100%);
  height:100vh;
  background:#fff;
  box-shadow:-14px 0 40px rgba(var(--brand-dark-rgb),.18);
  transform:translateX(102%);
  visibility:hidden;
  transition:transform .32s ease,visibility 0s linear .32s;
  display:flex;
  flex-direction:column;
}
.site-side-cart.is-open{transform:translateX(0);visibility:visible;transition:transform .32s ease,visibility 0s;}
.site-cart-open{overflow:hidden;}
.site-side-cart-header{
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:26px 28px 22px;
  border-bottom:1px solid #e4e9ed;
}
.site-side-cart-eyebrow{
  display:block;
  color:var(--brand-primary);
  font-size:13px;
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:.08em;
  margin-bottom:3px;
}
.site-side-cart-header h3{
  margin:0;
  color:var(--brand-dark);
  font-size:28px;
}
.site-side-cart-close{
  width:42px;
  height:42px;
  border:0;
  background:var(--brand-accent);
  color:var(--brand-accent-text);
  cursor:pointer;
  display:flex;
  align-items:center;
  justify-content:center;
  transition:background-color .25s ease,color .25s ease;
}
.site-side-cart-close:hover,
.site-side-cart-close:focus{
  background:var(--brand-primary);
  color:#fff;
  outline:none;
}
.site-side-cart-body{
  flex:1;
  overflow-y:auto;
  padding:22px 28px;
}
.site-side-cart-empty{
  padding:28px 0;
  color:#536779;
  text-align:center;
}
.site-side-cart-item{
  display:grid;
  grid-template-columns:54px 1fr 34px;
  gap:14px;
  align-items:center;
  padding:16px 0;
  border-bottom:1px solid #e4e9ed;
}
.site-side-cart-thumb{
  width:54px;
  height:54px;
  background:var(--brand-light);
  color:var(--brand-dark);
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:20px;
}
.site-side-cart-item-copy strong{
  display:block;
  color:var(--brand-dark);
  line-height:1.35;
  margin-bottom:4px;
}
.site-side-cart-item-copy span{
  display:block;
  color:#55616B;
  font-size:13px;
}
.site-side-cart-remove{
  width:34px;
  height:34px;
  border:0;
  background:transparent;
  color:var(--brand-dark);
  cursor:pointer;
}
.site-side-cart-remove:hover,
.site-side-cart-remove:focus{color:var(--brand-primary);outline:none;}
.site-side-cart-item-copy strong a{color:inherit;}
.site-side-cart-item-copy strong a:hover,
.site-side-cart-item-copy strong a:focus{color:var(--brand-primary);}
.site-side-cart-item-copy .site-qty{margin-top:8px;}
/* Quantity control (side cart + cart page). */
.site-qty{display:inline-flex;align-items:stretch;border:1px solid #cfd9e3;background:#fff;}
.site-qty__btn{width:32px;border:0;background:var(--brand-light);color:var(--brand-dark);font-size:11px;cursor:pointer;transition:background-color .2s ease,color .2s ease;}
.site-qty__btn:hover:not(:disabled),
.site-qty__btn:focus-visible{background:var(--brand-primary);color:#fff;outline:none;}
.site-qty__btn:disabled{opacity:.4;cursor:not-allowed;}
.site-qty__input{width:44px;height:32px;border:0;border-left:1px solid #cfd9e3;border-right:1px solid #cfd9e3;padding:0 4px;text-align:center;color:var(--brand-dark);font-weight:700;-moz-appearance:textfield;appearance:textfield;}
.site-qty__input::-webkit-outer-spin-button,
.site-qty__input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0;}
.site-qty__input:focus{outline:2px solid rgba(var(--brand-primary-rgb),.3);outline-offset:-2px;}
.site-side-cart-footer{
  padding:22px 28px 28px;
  border-top:1px solid #e4e9ed;
  background:var(--brand-light);
}
.site-side-cart-note{
  margin:0 0 16px;
  color:#536779;
  font-size:13px;
  line-height:1.55;
}
.site-side-cart-actions{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:10px;
}
.site-side-cart-link,
.site-side-cart-checkout{
  min-height:48px;
  display:flex!important;
  align-items:center;
  justify-content:center;
  text-align:center;
}
.site-side-cart-link{
  border:1px solid var(--brand-primary);
  color:var(--brand-dark);
  font-weight:700;
  transition:background-color .25s ease,color .25s ease;
}
.site-side-cart-link:hover,
.site-side-cart-link:focus{
  background:var(--brand-primary);
  color:#fff;
}
.site-side-cart-checkout{
  width:100%;
  padding:0 14px!important;
}

@media (max-width:767px){
  .site-floating-cart{width:54px;height:54px;}
  .site-side-cart-header,.site-side-cart-body,.site-side-cart-footer{padding-left:20px;padding-right:20px;}
  .site-side-cart-actions{grid-template-columns:1fr;}
}

/* cart / checkout section spacing: one symmetric source of truth. */
.site-commerce-section{
  padding:90px 0;
}
.site-checkout-account-notice{
  margin:0 0 22px;
  padding:16px 18px;
  border:1px solid #d7e3eb;
  border-left:4px solid var(--brand-primary);
  background:#f7fafc;
  color:#30343a;
}
.site-checkout-account-notice strong{color:var(--brand-dark);}
.site-checkout-account-notice p{margin:5px 0 0;}
.site-checkout-account-notice a{font-weight:700;color:var(--brand-dark);text-decoration:underline;}
.site-checkout-account-notice a:hover{color:var(--brand-primary);}
.site-checkout-field-note{display:block;margin-top:6px;color:#6c7882;line-height:1.45;}
.site-payfast-graphic{
  margin-top:22px;
  text-align:center;
}
.site-payfast-graphic img{
  display:block;
  width:100%;
  max-width:520px;
  height:auto;
  margin:0 auto;
}
.site-commerce-section .site-box h3{margin-bottom:16px;}
.site-summary-row > span:last-child{white-space:nowrap;}
.site-summary-row--due{border-top:1px dashed #d6e0e9;border-bottom:0;color:var(--brand-dark);font-weight:700;}

/* Cart page (assets/js/cart-page.js) */
.site-cart-table{width:100%;border-collapse:collapse;}
.site-cart-table th{padding:0 10px 12px;border-bottom:2px solid var(--brand-primary);color:var(--brand-dark);font-size:14px;font-weight:700;text-align:left;white-space:nowrap;}
.site-cart-table td{padding:18px 10px;border-bottom:1px solid #eceff1;vertical-align:top;color:#30343a;}
.site-cart-table th:first-child,.site-cart-table td:first-child{padding-left:0;}
.site-cart-table td[data-label]{white-space:nowrap;}
.site-cart-table td small{display:block;color:#55616B;font-size:12px;}
.site-cart-table__remove{width:44px;text-align:right;padding-right:0!important;}
.site-cart-item{display:flex;align-items:flex-start;gap:16px;}
.site-cart-item__image{flex:0 0 90px;}
.site-cart-item__copy{min-width:0;}
.site-cart-item__title{display:block;color:var(--brand-dark);font-size:17px;font-weight:700;line-height:1.35;}
.site-cart-item__title:hover,.site-cart-item__title:focus{color:var(--brand-primary);}
.site-cart-remove{width:34px;height:34px;border:1px solid #d6e0e9;background:#fff;color:var(--brand-dark);cursor:pointer;transition:background-color .2s ease,color .2s ease,border-color .2s ease;}
.site-cart-remove:hover,.site-cart-remove:focus-visible{border-color:var(--brand-primary);background:var(--brand-primary);color:#fff;outline:none;}
.site-cart-actions{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px;margin-top:22px;}
.site-cart-continue{color:var(--brand-dark);font-weight:700;}
.site-cart-continue i{margin-right:6px;}
.site-cart-continue:hover,.site-cart-continue:focus{color:var(--brand-primary);}
.site-cart-clear{padding:0;border:0;background:transparent;color:#a52a2a;font-weight:700;text-decoration:underline;cursor:pointer;}
.site-cart-clear:hover,.site-cart-clear:focus-visible{color:var(--brand-dark);outline:none;}
.site-cart-checkout-btn{display:block;width:100%;margin-top:22px;text-align:center;}

/* Checkout page (assets/js/checkout.js) */
.site-checkout-main > h3 + p{margin-bottom:20px;}
.site-checkout-field{margin-bottom:18px;}
.site-checkout-field label,
.site-checkout-payment legend{display:block;float:none;width:auto;margin:0 0 7px;padding:0;color:var(--brand-dark);font-size:15px;font-weight:700;}
.site-checkout-form .form-control{height:50px;border:1px solid #d7dbe0;border-radius:4px;color:#233b4e;font-size:15px;}
.site-checkout-form textarea.form-control{height:auto;min-height:100px;padding-top:12px;}
.site-checkout-form .form-control:focus{border-color:var(--brand-primary);box-shadow:0 0 0 .2rem rgba(var(--brand-primary-rgb),.18);}
.site-checkout-form .form-control.is-invalid{border-color:#b42318;}
.site-checkout-identity-picker .site-identity-picker__button{height:50px;line-height:48px;border-color:#d7dbe0;border-radius:4px;color:#233b4e;}
.site-checkout-identity-picker .site-identity-picker__button:focus{box-shadow:0 0 0 .2rem rgba(var(--brand-primary-rgb),.18);outline:0;}
.site-checkout-shipping-note{margin:-6px 0 16px;}
.site-checkout-shipping-note i{margin-right:6px;color:var(--brand-primary);}
.site-checkout-payment{margin:6px 0 18px;padding:0;border:0;}
.site-checkout-method{display:flex;align-items:flex-start;gap:12px;margin:0 0 10px;padding:14px 16px;border:1px solid #d6e0e9;background:#fff;cursor:pointer;}
.site-checkout-method:has(input:checked){border-color:var(--brand-dark);box-shadow:inset 3px 0 0 var(--brand-accent);}
.site-checkout-method input{flex:0 0 auto;margin-top:5px;accent-color:var(--brand-primary);}
.site-checkout-method strong{display:block;color:var(--brand-dark);font-size:15px;}
.site-checkout-method small{display:block;margin-top:3px;color:#65758a;font-size:13px;line-height:1.5;}
.site-checkout-method a,.site-checkout-terms a{color:var(--brand-dark);text-decoration:underline;}
.site-checkout-terms{margin:0 0 14px;}
.site-checkout-message{min-height:22px;margin:0 0 14px;color:#5f7080;font-size:14px;}
.site-checkout-message.is-error{color:#b42318;}
.site-checkout-submit{width:100%;}
.site-checkout-submit:disabled{opacity:.7;cursor:wait;}
.site-checkout-line{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:12px 0;border-bottom:1px solid #eceff1;}
.site-checkout-line strong{color:var(--brand-dark);}
.site-checkout-line small{display:block;margin-top:2px;color:#55616B;font-size:13px;}
.site-checkout-line>span{font-weight:700;color:var(--brand-dark);white-space:nowrap;}
.site-checkout-confirmation{padding:12px 0 4px;text-align:center;}
.site-checkout-confirmation:focus{outline:none;}
.site-checkout-confirmation__icon{display:grid;place-items:center;width:64px;height:64px;margin:0 auto 18px;border-radius:50%;background:var(--brand-accent);color:var(--brand-accent-text);font-size:26px;}
.site-checkout-confirmation p{margin:0 0 12px;}
.site-checkout-confirmation a:not(.main-btn){color:var(--brand-dark);font-weight:700;text-decoration:underline;}
.site-checkout-confirmation__note{padding:12px 14px;border-left:3px solid var(--brand-accent);background:var(--brand-light);color:var(--brand-dark);font-size:14px;text-align:left;}
.site-checkout-confirmation .main-btn{margin-top:10px;}
@media (max-width:991px){
  .site-commerce-section{padding:70px 0;}
  .site-commerce-section .row > [class*="col-lg"] + [class*="col-lg"] > .site-box{margin-top:30px;}
}
@media (max-width:767px){
  .site-commerce-section{padding:55px 0;}
  .site-commerce-section .site-box{padding:22px 18px;}
  .site-cart-table thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;}
  .site-cart-table,.site-cart-table tbody,.site-cart-table tr,.site-cart-table td{display:block;width:100%;}
  .site-cart-table tr{position:relative;padding:16px 0;border-bottom:1px solid #eceff1;}
  .site-cart-table td{padding:5px 0;border:0;}
  .site-cart-table td[data-label]{display:flex;align-items:center;justify-content:space-between;gap:12px;text-align:right;}
  .site-cart-table td[data-label]::before{content:attr(data-label);color:var(--brand-dark);font-size:14px;font-weight:700;text-align:left;}
  .site-cart-table__item{padding-right:44px!important;}
  .site-cart-table__remove{position:absolute;top:16px;right:0;width:auto;}
}

/* footer branding + payment reassurance. */
.site-footer-tagline{color:#fff;line-height:1.7;}
.site-footer-contact-list li{margin-bottom:10px;}
.site-footer-contact-list li:last-child{margin-bottom:0;}
.site-footer-contact-link{display:flex;align-items:flex-start;gap:10px;color:#fff!important;line-height:1.55;text-decoration:none;}
.site-footer-contact-icon{flex:0 0 22px;width:22px;color:var(--brand-accent-light);text-align:center;transition:color .2s ease;}
.site-footer-contact-link:hover,.site-footer-contact-link:focus{color:var(--brand-accent-light)!important;}
.site-footer-contact-link:hover .site-footer-contact-icon,.site-footer-contact-link:focus .site-footer-contact-icon{color:#fff;}
.site-footer-contact-link:focus{outline:2px solid var(--brand-primary);outline-offset:3px;}
.site-footer-brand-logo{
  margin-bottom:16px;
}
.site-footer-brand-logo a{
  display:inline-block;
}
.site-footer-brand-logo img{
  display:block;
  width:200px;
  max-width:100%;
  height:auto;
}
.site-footer-payment{
  padding-top:20px;
  display:flex;
  align-items:center;
  justify-content:flex-end;
  flex:0 1 360px;
}
.site-footer-payment img{
  display:block;
  width:100%;
  max-width:340px;
  height:auto;
}
.footer-copyright .copyright p .site-x3web-link{
  color:var(--brand-dark);
  font-weight:700;
}
.footer-copyright .copyright p .site-x3web-link:hover,
.footer-copyright .copyright p .site-x3web-link:focus{
  color:var(--brand-accent-light);
}
@media (max-width:767px){
  .site-footer-brand-logo{
    text-align:center;
  }
  .site-footer-brand-logo img{
    margin:0 auto;
  }
  .site-footer-payment{
    width:100%;
    flex-basis:100%;
    justify-content:center;
  }
  .site-footer-payment img{
    max-width:300px;
  }
}

/* Desktop header: equal outer columns keep the navigation aligned to the true page centre. */
@media (min-width:992px){
  .navigation .site-header-layout{
    display:grid;
    grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);
    align-items:center;
    margin-left:-15px;
    margin-right:-15px;
  }
  .navigation .site-header-layout > .site-header-logo-col,
  .navigation .site-header-layout > .site-header-nav-col,
  .navigation .site-header-layout > .site-header-actions-col{
    width:auto;
    max-width:none;
    flex:none;
  }
  .navigation .site-header-nav-col{
    justify-self:center;
  }
  .navigation .site-header-actions-col{
    justify-self:stretch;
  }
  .navigation .site-header-actions{
    justify-content:flex-end;
  }
}

/* =========================================================
   Header Actions: search + account
   Replaces the full search field and keeps account access
   visible in both the normal and sticky navigation states.
   ========================================================= */
.site-header-actions{
  position:relative;
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:10px;
  min-height:44px;
}
.site-header-action{
  width:42px;
  height:42px;
  min-width:42px;
  flex:0 0 42px;
  border:1px solid #dce3e8;
  background:#fff;
  color:var(--brand-dark);
  display:inline-flex;
  align-items:center;
  justify-content:center;
  font-size:17px;
  border-radius:50%;
  cursor:pointer;
  transition:background .2s ease,color .2s ease,border-color .2s ease;
}
.site-header-action:hover,
.site-header-action:focus,
.site-header-action[aria-expanded="true"]{
  background:var(--brand-primary);
  border-color:var(--brand-primary);
  color:#fff;
  outline:none;
}
/* Desktop account actions: paired brand buttons. */
.site-auth-buttons{display:flex;align-items:center;gap:8px;}
.site-auth-btn{min-width:88px;height:42px;padding:0 16px;display:inline-flex;align-items:center;justify-content:center;border:2px solid transparent;border-radius:0;color:var(--brand-dark);font-size:14px;font-weight:700;line-height:1;text-transform:none;transition:background .2s ease,border-color .2s ease,color .2s ease;}
.site-auth-login{background:var(--brand-primary);border-color:var(--brand-primary);color:#fff;}
.site-auth-register{background:var(--brand-accent);border-color:var(--brand-accent);color:var(--brand-accent-text);}
.site-auth-login:hover,.site-auth-login:focus{background:var(--brand-accent);border-color:var(--brand-accent);color:var(--brand-accent-text);outline:none;}
.site-auth-register:hover,.site-auth-register:focus{background:var(--brand-primary);border-color:var(--brand-primary);color:#fff;outline:none;}
.site-account-mobile{display:none;}
.site-account-wrap{position:relative;}
.site-account-menu{
  position:absolute;
  top:calc(100% + 12px);
  right:0;
  width:190px;
  background:#fff;
  border:1px solid #e2e7eb;
  box-shadow:0 12px 30px rgba(var(--brand-dark-rgb),.14);
  z-index:1200;
  padding:8px 0;
}
.site-account-menu[hidden],
.site-search-panel[hidden]{display:none!important;}
.site-account-menu a{
  display:flex;
  align-items:center;
  gap:11px;
  padding:11px 16px;
  color:var(--brand-dark);
  font-weight:600;
}
.site-account-menu a i{width:18px;color:var(--brand-primary);}
.site-account-menu a:hover,
.site-account-menu a:focus{
  background:var(--brand-light);
  color:var(--brand-dark);
}
.site-search-panel{
  position:absolute;
  top:calc(100% + 16px);
  right:0;
  width:min(440px,calc(100vw - 30px));
  background:#fff;
  border-top:3px solid var(--brand-primary);
  box-shadow:0 18px 42px rgba(var(--brand-dark-rgb),.17);
  z-index:1199;
  padding:20px;
}
.site-search-panel-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:15px;
  margin-bottom:13px;
}
.site-search-panel-head label{
  margin:0;
  color:var(--brand-dark);
  font-size:19px;
  font-weight:700;
}
.site-search-close{
  border:0;
  background:transparent;
  color:var(--brand-dark);
  cursor:pointer;
  padding:4px;
  font-size:17px;
}
.site-search-input-wrap{
  position:relative;
  display:flex;
  align-items:center;
  border:1px solid #d9e0e5;
  background:#fff;
}
.site-search-input-wrap>i{
  position:absolute;
  left:14px;
  color:var(--brand-primary);
  pointer-events:none;
}
.site-search-input-wrap input{
  width:100%;
  height:46px;
  border:0;
  padding:0 15px 0 40px;
  color:var(--brand-dark);
  background:transparent;
  outline:none;
}
.site-search-results{
  max-height:290px;
  overflow:auto;
  margin-top:10px;
}
.site-search-hint,
.site-search-empty{
  margin:0;
  padding:11px 4px;
  color:#5c6b78;
  font-size:14px;
}
.site-search-result{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:11px 6px;
  border-bottom:1px solid #edf0f2;
  color:var(--brand-dark);
  font-weight:600;
}
.site-search-result i{color:var(--brand-primary);font-size:12px;}
.site-search-result small{display:block;margin-top:2px;color:#55616B;font-size:12px;font-weight:500;}
.site-search-result:hover,
.site-search-result:focus{color:var(--brand-primary);}
.site-search-all{
  display:inline-flex;
  align-items:center;
  gap:8px;
  margin-top:14px;
  color:var(--brand-dark);
  font-weight:700;
  border-bottom:2px solid var(--brand-accent);
  padding-bottom:3px;
}
.site-search-all:hover,
.site-search-all:focus{color:var(--brand-primary);}

/* Keep header actions visible when the template switches to sticky navigation. */
.navigation.sticky .site-header-actions,
.header-area.sticky .site-header-actions,
.navigation.fixed .site-header-actions{
  display:flex!important;
  visibility:visible!important;
  opacity:1!important;
}

/* The account links now live in the main navigation action menu; keep the top message centered. */
.header-top.site-top-message-bar .header-top-wrapper{justify-content:center!important;}

@media (max-width:991px){
  .site-auth-buttons{display:none;}
  .site-account-mobile{display:block;}
  .site-header-actions{
    position:absolute;
    right:70px;
    top:50%;
    transform:translateY(-50%);
    z-index:1050;
  }
  .site-header-action{width:38px;height:38px;min-width:38px;flex-basis:38px;}
  .site-search-panel{
    position:fixed;
    top:80px;
    right:15px;
    left:15px;
    width:auto;
  }
}
@media (max-width:575px){
  .site-header-actions{right:58px;gap:6px;}
  .site-header-action{width:36px;height:36px;min-width:36px;flex-basis:36px;font-size:15px;}
  .site-search-panel{top:72px;padding:16px;}
}




/* inner-page hero — standalone system.
   The template header is absolutely positioned, so inner pages reserve the
   measured header height with --site-header-height. The value is set by
   inner-hero-offset.js and has responsive CSS fallbacks before JS runs. */
:root{--site-header-height:147px;}
.site-inner-hero{
  position:relative;
  margin-top:var(--site-header-height);
  min-height:300px;
  display:flex;
  align-items:center;
  background-size:cover;
  background-position:center;
  background-repeat:no-repeat;
  overflow:hidden;
}
.site-inner-hero__overlay{
  position:absolute;
  inset:0;
  background:rgba(7,13,18,.45);
  pointer-events:none;
}
.site-inner-hero__container{
  position:relative;
  z-index:1;
  width:100%;
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:300px;
}
.site-inner-hero__title{
  margin:0;
  color:#fff;
  text-align:center;
  font-size:64px;
  line-height:1.08;
  font-weight:700;
  text-shadow:0 2px 10px rgba(0,0,0,.4);
}
@media only screen and (min-width:768px) and (max-width:991px){
  :root{--site-header-height:126px;}
  .site-inner-hero,
  .site-inner-hero__container{min-height:240px;}
  .site-inner-hero__title{font-size:50px;}
}
@media (max-width:767px){
  :root{--site-header-height:108px;}
  .site-inner-hero,
  .site-inner-hero__container{min-height:190px;}
  .site-inner-hero__title{font-size:32px;}
}
@media only screen and (min-width:576px) and (max-width:767px){
  .site-inner-hero,
  .site-inner-hero__container{min-height:210px;}
}

/* ============================================================
   SPACING AUDIT - BUTTONS + LOGIN/REGISTER
   Component-level spacing only; avoids global .main-btn margins.
   ============================================================ */
.campus-content > .main-btn{
  margin-top:30px;
}
.site-course-cta-inner p{
  margin-top:18px;
  margin-bottom:30px;
}
@media (max-width:767px){
  .campus-content > .main-btn{margin-top:24px;}
  .site-course-cta-inner p{margin-top:14px;margin-bottom:24px;}
}

/* ============================================================
   CONTACT MODAL
   Standalone component: all selectors are namespaced to avoid
   altering the existing Contact page form or global form styles.
   ============================================================ */
body.site-modal-open{overflow:hidden;}
.site-contact-modal{
  position:fixed;
  inset:0;
  z-index:10050;
  display:none;
  align-items:center;
  justify-content:center;
  padding:28px;
}
.site-contact-modal.is-open{display:flex;}
.site-contact-modal__backdrop{
  position:absolute;
  inset:0;
  background:rgba(var(--brand-dark-rgb),.78);
  backdrop-filter:blur(3px);
}
.site-contact-modal__dialog{
  position:relative;
  z-index:1;
  width:min(1080px,100%);
  max-height:calc(100vh - 56px);
  overflow:auto;
  background:#fff;
  box-shadow:0 24px 70px rgba(0,0,0,.28);
  outline:0;
}
.site-contact-modal__close{
  position:absolute;
  top:16px;
  right:16px;
  z-index:3;
  width:42px;
  height:42px;
  border:0;
  border-radius:50%;
  background:var(--brand-accent);
  color:var(--brand-accent-text);
  display:flex;
  align-items:center;
  justify-content:center;
  cursor:pointer;
  transition:background .2s ease,color .2s ease,transform .2s ease;
}
.site-contact-modal__close:hover,
.site-contact-modal__close:focus{background:var(--brand-primary);color:#fff;transform:scale(1.04);}
.site-contact-modal__grid{display:grid;grid-template-columns:minmax(320px,.82fr) minmax(0,1.18fr);}
.site-contact-modal__info{
  background:var(--brand-dark);
  color:#fff;
  padding:48px 42px;
}
.site-contact-modal__logo{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:9px 13px;
  margin-bottom:28px;
  background:#fff;
}
.site-contact-modal__logo img{display:block;width:180px;height:auto;}
.site-contact-modal__eyebrow{
  display:block;
  margin-bottom:9px;
  color:var(--brand-light);
  font-size:13px;
  line-height:1.3;
  font-weight:700;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.site-contact-modal__info h2{margin:0 0 15px;color:#fff;font-size:34px;line-height:1.15;}
.site-contact-modal__info > p{margin:0;color:rgba(255,255,255,.84);line-height:1.7;}
.site-contact-modal__details{list-style:none;margin:30px 0 0;padding:0;}
.site-contact-modal__details li{margin-bottom:18px;}
.site-contact-modal__details li:last-child{margin-bottom:0;}
.site-contact-modal__detail-link{display:flex;gap:14px;align-items:flex-start;color:#fff;text-decoration:none;word-break:break-word;}
.site-contact-modal__detail-icon{
  flex:0 0 38px;
  width:38px;
  height:38px;
  display:flex;
  align-items:center;
  justify-content:center;
  background:var(--brand-accent);
  color:var(--brand-accent-text);
}
.site-contact-modal__detail-link > span:last-child{display:flex;flex-direction:column;gap:2px;min-width:0;color:rgba(255,255,255,.86);line-height:1.5;}
.site-contact-modal__details strong{color:#fff;font-size:13px;text-transform:uppercase;letter-spacing:.04em;}
.site-contact-modal__detail-link:hover > span:last-child,.site-contact-modal__detail-link:focus > span:last-child{color:var(--brand-light);}
.site-contact-modal__detail-link:focus{outline:2px solid var(--brand-accent);outline-offset:4px;}
.site-contact-modal__form-wrap{padding:48px 46px 42px;background:#fff;}
.site-contact-modal__form-wrap h3{margin:0 48px 26px 0;color:var(--brand-dark);font-size:30px;line-height:1.2;}
.site-contact-modal__fields{display:grid;grid-template-columns:1fr 1fr;gap:18px;}
.site-contact-modal__field--full{grid-column:1/-1;}
.site-contact-modal__field label{display:block;margin-bottom:7px;color:var(--brand-dark);font-weight:600;font-size:14px;}
.site-contact-modal__field label span{color:#d24141;}
 .site-contact-modal__enquiry-options{margin:0;padding:0;border:0;}
.site-contact-modal__enquiry-options legend{margin:0 0 9px;color:var(--brand-dark);font-weight:600;font-size:14px;}
.site-contact-modal__enquiry-options legend span{color:#d24141;}
.site-contact-modal__option-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px 16px;}
.site-contact-modal__option-grid label{display:flex;align-items:flex-start;gap:9px;margin:0;color:#42576b;font-size:13px;line-height:1.4;cursor:pointer;}
.site-contact-modal__option-grid label span{color:inherit;}
.site-contact-modal__option-grid input[type="checkbox"]{appearance:none;width:18px;height:18px;min-width:18px;flex:0 0 18px;margin:1px 0 0;padding:0;border:1px solid #b9c5cf;border-radius:3px;background:#fff;position:relative;box-shadow:none;}
.site-contact-modal__option-grid input[type="checkbox"]:checked{border-color:var(--brand-primary);background:var(--brand-primary);}
.site-contact-modal__option-grid input[type="checkbox"]:checked::after{content:"✓";position:absolute;inset:-2px 0 0;color:#fff;font-size:13px;font-weight:800;line-height:18px;text-align:center;}
.site-contact-modal__option-grid input[type="checkbox"]:focus{border-color:var(--brand-primary);background:#fff;box-shadow:0 0 0 3px rgba(var(--brand-primary-rgb),.16);}
.site-contact-modal__option-grid input[type="checkbox"]:checked:focus{background:var(--brand-primary);}
@media (max-width:575px){.site-contact-modal__option-grid{grid-template-columns:1fr;}}
.site-contact-modal__field input,
.site-contact-modal__field select,
.site-contact-modal__field textarea{
  width:100%;
  border:1px solid #d9e0e6;
  border-radius:0;
  background:#f7f8f9;
  color:#333;
  font:inherit;
  padding:12px 14px;
  outline:0;
  transition:border-color .2s ease,box-shadow .2s ease,background .2s ease;
}
.site-contact-modal__field input,
.site-contact-modal__field select{height:48px;}
.site-contact-modal__field textarea{min-height:118px;resize:vertical;}
.site-contact-modal__field input:focus,
.site-contact-modal__field select:focus,
.site-contact-modal__field textarea:focus{border-color:var(--brand-primary);background:#fff;box-shadow:0 0 0 3px rgba(var(--brand-primary-rgb),.16);}
.site-contact-modal__message{min-height:24px;margin:16px 0 6px;font-size:14px;line-height:1.5;}
.site-contact-modal__message.success{color:#24723d;}
.site-contact-modal__message.error{color:#b52e2e;}
.site-contact-modal__submit{margin-top:4px;}
@media (max-width:991px){
  .site-contact-modal{padding:20px;}
  .site-contact-modal__dialog{max-height:calc(100vh - 40px);}
  .site-contact-modal__grid{grid-template-columns:1fr;}
  .site-contact-modal__info{padding:38px 34px;}
  .site-contact-modal__form-wrap{padding:38px 34px;}
}
@media (max-width:575px){
  .site-contact-modal{padding:10px;align-items:flex-start;}
  .site-contact-modal__dialog{max-height:calc(100vh - 20px);}
  .site-contact-modal__close{top:12px;right:12px;width:38px;height:38px;}
  .site-contact-modal__info,.site-contact-modal__form-wrap{padding:30px 22px;}
  .site-contact-modal__logo{margin-bottom:22px;}
  .site-contact-modal__info h2{font-size:28px;}
  .site-contact-modal__form-wrap h3{font-size:25px;margin-right:38px;}
  .site-contact-modal__fields{grid-template-columns:1fr;gap:14px;}
  .site-contact-modal__field--full{grid-column:auto;}
}

/* Policy pages (privacy, terms, refunds) and banking details */
.site-policy-content > :first-child{margin-top:0;}
.site-policy-content h2,.site-policy-content h3,.site-policy-content h4{color:var(--brand-dark);margin-top:26px;margin-bottom:10px;}
.site-policy-content p,.site-policy-content li{line-height:1.75;}
.site-policy-content ul,.site-policy-content ol{padding-left:24px;margin-bottom:18px;}
.site-policy-content a{color:var(--brand-primary);text-decoration:underline;text-underline-offset:2px;}
.site-policy-content a:hover,.site-policy-content a:focus{color:var(--brand-dark);}
.site-policy-updated{margin-top:28px;padding-top:18px;border-top:1px solid #e2e8f0;color:#64748b;font-size:14px;}
.site-policy-note{margin:0 0 32px;padding:22px;border:1px solid #dbe3eb;border-left:4px solid var(--brand-primary);border-radius:10px;background:#f8fafc;}
.site-policy-note h3{margin:0 0 6px;color:var(--brand-dark);font-size:18px;}
.site-policy-note p{margin:0;line-height:1.7;}


/* Home: mission / quote band below the hero */
.home-page .site-home-quote{background:var(--brand-light);padding:30px 0;border-bottom:1px solid #E5EBF0;}
.home-page .site-home-quote__inner{max-width:960px;margin:0 auto;}
.home-page .site-home-quote__label{display:block;color:var(--brand-primary);font-size:13px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;line-height:1.4;}
.home-page .site-home-quote__accent{display:block;width:46px;height:3px;margin:11px auto 13px;background:var(--brand-accent);border-radius:999px;}
.home-page .site-home-quote p{margin:0;color:var(--brand-dark);font-size:22px;line-height:1.5;font-weight:600;}
@media(max-width:767px){.home-page .site-home-quote{padding:24px 0}.home-page .site-home-quote p{font-size:18px;line-height:1.55}.home-page .site-home-quote__label{font-size:12px}}


/* Coupon box: cart page and checkout (SiteCart.couponHtml; codes live in SITE_DATA.coupons) */
.site-cart-coupon{margin-top:18px;padding-top:18px;border-top:1px solid #eceff1}
.site-cart-coupon__form{margin:0}
.site-cart-coupon__form label{display:block;margin-bottom:8px;font-weight:700;color:var(--brand-dark)}
.site-cart-coupon__controls{display:flex;gap:8px;align-items:stretch}
.site-cart-coupon__controls input{min-width:0;flex:1;height:46px;padding:10px 12px;border:1px solid #ccd6df;background:#fff;color:#172033;font-size:15px}
.site-cart-coupon__controls input:focus{border-color:var(--brand-dark);outline:2px solid rgba(var(--brand-dark-rgb),.1);outline-offset:0}
.site-cart-coupon__controls .main-btn{display:inline-flex;align-items:center;justify-content:center;min-width:92px;height:46px;margin:0;padding:0 16px}
.site-cart-coupon__applied{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:12px 14px;background:#f5f8fb;border:1px solid #d8e1e9}
.site-cart-coupon__applied span{display:block;font-size:12px;color:#667085}
.site-cart-coupon__applied strong{display:block;margin-top:2px;color:var(--brand-dark);letter-spacing:.02em}
.site-coupon-remove{padding:0;border:0;background:transparent;color:#a52a2a;font-weight:700;text-decoration:underline;cursor:pointer}
.site-coupon-remove:hover,.site-coupon-remove:focus-visible{color:var(--brand-dark);outline:none}
.site-cart-coupon__notice{padding:12px 14px;background:#f7f8fa;border:1px solid #d8e1e9;color:#4d5b6a;font-size:14px;line-height:1.5}
.site-coupon-discount-row{color:#146c43}
@media(max-width:575px){.site-cart-coupon__controls{flex-direction:column}.site-cart-coupon__controls .main-btn{width:100%}.site-cart-coupon__applied{align-items:flex-start}}


/* Checkout coupon box */
.site-checkout-coupon{margin-top:22px;padding-top:20px}
.site-checkout-coupon .site-cart-coupon__form label{margin-bottom:9px}
.site-checkout-coupon .site-cart-coupon__controls{display:grid;grid-template-columns:minmax(0,1fr) 118px;gap:10px;width:100%;align-items:stretch}
.site-checkout-coupon .site-cart-coupon__controls input{width:100%;min-width:0;height:48px;border-radius:6px;box-sizing:border-box}
.site-checkout-coupon .site-cart-coupon__controls .main-btn{width:100%;min-width:0;height:48px;padding:0 18px}
@media(max-width:575px){.site-checkout-coupon .site-cart-coupon__controls{grid-template-columns:1fr}.site-checkout-coupon .site-cart-coupon__controls .main-btn{width:100%}}

/* Google reviews widget section: separate from the testimonial slider. */
.site-google-reviews-area{
  padding:90px 0;
  background:#fff;
  overflow:hidden;
}
.site-google-reviews-area[hidden]{display:none!important;}
.site-google-reviews-heading{
  max-width:850px;
  margin:0 auto 42px;
}
.site-google-reviews-heading .title{
  color:var(--brand-dark);
  font-size:42px;
  line-height:1.15;
  margin:0 0 18px;
}
.site-google-reviews-heading p{
  color:#263c51;
  font-size:16px;
  line-height:1.75;
  margin:0;
}
.site-google-reviews-widget{
  width:100%;
  min-height:120px;
}
.site-google-reviews-actions{
  margin-top:38px;
}
.site-google-reviews-actions .main-btn{
  margin:0;
}
@media(max-width:991px){
  .site-google-reviews-heading .title{font-size:36px;}
}
@media(max-width:767px){
  .site-google-reviews-area{padding:65px 0;}
  .site-google-reviews-heading{margin-bottom:32px;}
  .site-google-reviews-heading .title{font-size:32px;}
  .site-google-reviews-heading p{font-size:15px;}
  .site-google-reviews-actions{margin-top:30px;}
}
/* Checkout log-in popup */
.site-checkout-login-modal{display:none;position:fixed;inset:0;z-index:10050;align-items:center;justify-content:center;padding:24px;}
.site-checkout-login-modal.is-open{display:flex;}
.site-checkout-login-modal__backdrop{position:absolute;inset:0;background:rgba(var(--brand-dark-rgb),.72);}
.site-checkout-login-modal__dialog{position:relative;z-index:1;width:min(500px,100%);background:#fff;border:1px solid #d7e1e8;border-radius:0;padding:34px;box-shadow:0 24px 70px rgba(0,0,0,.24);}
.site-checkout-login-modal__dialog h3{margin:0 40px 10px 0;color:var(--brand-dark);font-size:28px;line-height:1.2;}
.site-checkout-login-modal__dialog>p{margin:0 0 22px;color:#5f7080;line-height:1.6;}
.site-checkout-login-modal__close{position:absolute;top:14px;right:14px;width:38px;height:38px;border:1px solid #d7e1e8;background:#fff;color:var(--brand-dark);font-size:28px;line-height:32px;cursor:pointer;}
.site-checkout-login-modal__close:hover,.site-checkout-login-modal__close:focus{background:var(--brand-primary);color:#fff;border-color:var(--brand-primary);}
.site-checkout-login-modal__field{margin-bottom:16px;}
.site-checkout-login-modal__field label{display:block;margin-bottom:7px;color:var(--brand-dark);font-weight:700;}
.site-checkout-login-modal__field input{width:100%;border:1px solid #ccd6de;border-radius:0;padding:12px 13px;font:inherit;background:#fff;}
.site-checkout-login-modal__field input:focus{border-color:var(--brand-primary);outline:2px solid rgba(var(--brand-primary-rgb),.18);outline-offset:0;}
.site-checkout-login-modal__message{min-height:22px;margin:-2px 0 12px;color:#5f7080;font-size:14px;}
.site-checkout-login-modal__message.is-error{color:#b42318;}
.site-checkout-login-modal__links{display:flex;justify-content:space-between;gap:18px;flex-wrap:wrap;margin-top:16px;font-size:14px;}
.site-checkout-login-modal__links a{color:var(--brand-dark);text-decoration:underline;}
@media(max-width:600px){.site-checkout-login-modal{padding:16px}.site-checkout-login-modal__dialog{padding:28px 20px}.site-checkout-login-modal__dialog h3{font-size:24px}.site-checkout-login-modal__links{display:grid;gap:8px}}


/* Google reviews slider: separate from the Google reviews widget section. */
.site-google-api-reviews-area{padding:85px 0;background:#fff;overflow:hidden;scroll-margin-top:110px;}
.site-google-api-reviews-area[hidden]{display:none!important;}
.site-google-api-reviews-heading{max-width:850px;margin:0 auto 22px;}
.site-google-api-reviews-heading .title{color:var(--brand-dark);font-size:42px;line-height:1.15;margin:0 0 18px;}
.site-google-api-reviews-heading p{color:#263c51;font-size:16px;line-height:1.75;margin:0;}
.site-google-api-summary{display:flex;align-items:center;justify-content:center;gap:12px 18px;flex-wrap:wrap;margin:0 auto 32px;color:#263c51;}
.site-google-api-summary[hidden]{display:none!important;}
.site-google-api-summary__rating{display:flex;align-items:center;gap:10px;}
.site-google-api-summary__rating strong{font-size:27px;line-height:1;color:var(--brand-dark);}
.site-google-api-summary__stars{color:var(--brand-accent);font-size:19px;letter-spacing:1px;white-space:nowrap;}
.site-google-api-summary__count{font-size:14px;}
.site-google-api-summary__source{display:flex;align-items:center;gap:7px;font-size:13px;font-weight:700;color:#5e5e5e;white-space:nowrap;}
.site-google-api-summary__source a{color:var(--brand-dark);text-decoration:underline;text-underline-offset:2px;}
.site-google-api-summary__source a:hover,.site-google-api-summary__source a:focus{color:var(--brand-primary);outline:none;}
.site-google-api-reviews-slider{position:relative;margin:0;}
.site-google-api-reviews-slider .slick-list{margin:0 -12px;padding-top:5px;padding-bottom:5px;}
.site-google-api-reviews-slider .slick-track{display:flex!important;align-items:flex-start;}
.site-google-api-reviews-slider .slick-slide{height:auto!important;margin:0 12px;display:flex!important;box-sizing:border-box;align-items:flex-start;}
.site-google-api-reviews-slider .slick-slide>div{width:100%;display:flex;align-items:flex-start;}
.site-google-api-review-card{position:relative;box-sizing:border-box;height:380px;min-height:380px;width:100%;background:#fff;border:2px solid var(--brand-primary);border-radius:0;padding:28px;display:flex!important;flex-direction:column;transition:border-color .2s ease,box-shadow .2s ease,transform .2s ease;}
.site-google-api-review-card:hover{border-color:var(--brand-accent);box-shadow:0 12px 30px rgba(var(--brand-dark-rgb),.10);transform:translateY(-3px);}
.site-google-api-review-card.is-expanded{height:auto;min-height:380px;}
.site-google-api-review__author{display:flex;align-items:center;gap:12px;margin-bottom:16px;}
.site-google-api-review__avatar{width:48px;height:48px;flex:0 0 48px;border-radius:50%;overflow:hidden;background:#eef4f8;display:flex;align-items:center;justify-content:center;text-decoration:none;}
.site-google-api-review__avatar img{width:100%;height:100%;object-fit:cover;display:block;}
.site-google-api-review__initials{font-size:18px;font-weight:800;color:var(--brand-dark);}
.site-google-api-review__author-meta{min-width:0;display:flex;flex-direction:column;gap:3px;}
.site-google-api-review__name{color:var(--brand-dark);font-size:16px;font-weight:800;line-height:1.3;text-decoration:none;overflow-wrap:anywhere;}
a.site-google-api-review__name:hover{color:var(--brand-primary);}
.site-google-api-review__time{font-size:13px;color:#5F6366;line-height:1.35;}
.site-google-api-review__rating{margin-bottom:14px;}
.site-google-api-review__stars{color:var(--brand-accent);font-size:18px;letter-spacing:1px;}
.site-google-api-review__text-wrap{flex:1;display:flex;flex-direction:column;min-height:0;}
.site-google-api-review__text{margin:0;color:#263c51;font-size:15px;line-height:1.75;height:8.75em;max-height:8.75em;display:-webkit-box;-webkit-line-clamp:5;-webkit-box-orient:vertical;overflow:hidden;}
.site-google-api-review__control{flex:0 0 24px;height:24px;display:flex;align-items:flex-end;margin-top:8px;}
.site-google-api-review-card.is-expanded .site-google-api-review__text-wrap{flex:0 0 auto;min-height:0;}
.site-google-api-review-card.is-expanded .site-google-api-review__text{display:block;height:auto;max-height:none;overflow:visible;-webkit-line-clamp:unset;}
.site-google-api-review__more{margin:0;padding:0;border:0;background:transparent;color:var(--brand-dark);font-weight:800;font-size:13px;line-height:20px;text-decoration:underline;cursor:pointer;}
.site-google-api-review__more[hidden]{display:none!important;}
.site-google-api-review-card.is-expanded .site-google-api-review__control{margin-top:10px;}
.site-google-api-review__more:hover,.site-google-api-review__more:focus{color:var(--brand-primary);outline:none;}
.site-google-api-review__source{margin-top:auto;padding-top:18px;border-top:1px solid #e6edf2;}
.site-google-api-review-card.is-expanded .site-google-api-review__source{margin-top:20px;}
.site-google-api-review__source-link{font-size:13px;font-weight:700;color:#5e5e5e;text-decoration:none;white-space:nowrap;}
a.site-google-api-review__source-link:hover{color:var(--brand-dark);text-decoration:underline;}
.site-google-api-slider-arrow{position:absolute;top:50%;z-index:5;width:42px;height:42px;margin-top:-21px;border:2px solid var(--brand-primary);border-radius:0;background:#fff;color:var(--brand-dark);display:flex!important;align-items:center;justify-content:center;padding:0;cursor:pointer;transition:background .2s ease,border-color .2s ease,color .2s ease;}
.site-google-api-slider-arrow:hover,.site-google-api-slider-arrow:focus{background:var(--brand-accent);border-color:var(--brand-accent);color:var(--brand-accent-text);outline:none;}
.site-google-api-slider-arrow--prev{left:-54px;}
.site-google-api-slider-arrow--next{right:-54px;}
.site-google-api-reviews-ordering-note{margin:18px 0 0;text-align:center;color:#5F6366;font-size:12px;line-height:1.5;}
.site-google-api-reviews-actions{margin-top:28px;}
.site-google-api-reviews-actions .main-btn{margin:0;}
@media(max-width:1199px){.site-google-api-slider-arrow--prev{left:0}.site-google-api-slider-arrow--next{right:0}.site-google-api-reviews-slider{padding:0 34px}.site-google-api-reviews-heading .title{font-size:36px;}}
@media(max-width:767px){.site-google-api-reviews-area{padding:65px 0}.site-google-api-reviews-heading{margin-bottom:20px}.site-google-api-reviews-heading .title{font-size:32px}.site-google-api-reviews-heading p{font-size:15px}.site-google-api-summary{margin-bottom:26px}.site-google-api-summary__rating strong{font-size:24px}.site-google-api-summary__stars{font-size:17px}.site-google-api-review-card{height:350px;min-height:350px;padding:22px}.site-google-api-review-card.is-expanded{height:auto;min-height:350px}.site-google-api-reviews-slider{padding:0 28px;margin:0}.site-google-api-reviews-slider .slick-list{margin:0;padding-top:5px;padding-bottom:5px}.site-google-api-reviews-slider .slick-slide{margin:0}.site-google-api-slider-arrow{width:38px;height:38px;margin-top:-19px}.site-google-api-reviews-actions{margin-top:30px}.site-google-api-summary__source{white-space:normal;justify-content:center;}}

/* Customer reviews slider */
.site-customer-reviews-area{padding:85px 0;background:#F9F9F9;overflow:hidden;}
.site-customer-reviews-area[hidden]{display:none!important;}
.site-customer-reviews-heading{max-width:850px;margin:0 auto 22px;}
.site-customer-reviews-heading .title{color:var(--brand-dark);font-size:42px;line-height:1.15;margin:0 0 18px;}
.site-customer-reviews-heading p{color:#263c51;font-size:16px;line-height:1.75;margin:0;}
.site-customer-summary{display:flex;align-items:center;justify-content:center;gap:12px 18px;flex-wrap:wrap;margin:0 auto 32px;color:#263c51;}
.site-customer-summary__rating{display:flex;align-items:center;gap:10px;}
.site-customer-summary__rating strong{font-size:27px;line-height:1;color:var(--brand-dark);}
.site-customer-summary__stars{color:var(--brand-accent);font-size:19px;letter-spacing:1px;white-space:nowrap;}
.site-customer-summary__count{font-size:14px;}
.site-customer-summary__source{font-size:13px;font-weight:700;color:#5F6366;white-space:nowrap;}
.site-customer-reviews-slider{position:relative;margin:0;}
.site-customer-reviews-slider .slick-list{margin:0 -12px;padding-top:5px;padding-bottom:5px;}
.site-customer-reviews-slider .slick-track{display:flex!important;align-items:flex-start;}
.site-customer-reviews-slider .slick-slide{height:auto!important;margin:0 12px;display:flex!important;box-sizing:border-box;align-items:flex-start;}
.site-customer-reviews-slider .slick-slide>div{width:100%;display:flex;align-items:flex-start;}
.site-customer-review-card{position:relative;box-sizing:border-box;height:330px;min-height:330px;width:100%;background:#fff;border:2px solid var(--brand-primary);padding:40px 28px 28px;display:flex!important;flex-direction:column;transition:box-shadow .2s ease,transform .2s ease;}
.site-customer-review-card:hover{border-color:var(--brand-accent);box-shadow:0 12px 30px rgba(var(--brand-dark-rgb),.10);transform:translateY(-3px);}
.site-customer-review-card.is-expanded{height:auto;min-height:330px;}
.site-customer-review__top{display:flex;align-items:flex-start;justify-content:flex-start;gap:18px;margin-bottom:14px;min-height:24px;}
.site-customer-review__stars{color:var(--brand-accent);font-size:18px;letter-spacing:1px;white-space:nowrap;line-height:1.2;}
.site-customer-review__quote{position:absolute;top:31px;right:28px;font-family:Georgia,'Times New Roman',serif;color:var(--brand-accent);font-size:52px;line-height:1;font-weight:400;}
.site-customer-review__text-wrap{flex:1;display:flex;flex-direction:column;min-height:126px;}
.site-customer-review__text{margin:0;color:#263c51;font-size:15px;line-height:1.75;display:-webkit-box;-webkit-line-clamp:5;-webkit-box-orient:vertical;overflow:hidden;}
.site-customer-review-card.is-expanded .site-customer-review__text-wrap{flex:0 0 auto;min-height:0;}
.site-customer-review-card.is-expanded .site-customer-review__text{display:block;overflow:visible;-webkit-line-clamp:unset;}
.site-customer-review__more{align-self:flex-start;margin:10px 0 0;padding:0;border:0;background:transparent;color:var(--brand-dark);font-weight:800;font-size:13px;text-decoration:underline;cursor:pointer;}
.site-customer-review__more:hover,.site-customer-review__more:focus{color:var(--brand-primary);outline:none;}
.site-customer-review__meta{margin-top:auto;padding-top:18px;border-top:1px solid #e6edf2;}
.site-customer-review-card.is-expanded .site-customer-review__meta{margin-top:20px;}
.site-customer-review__person{display:flex;align-items:center;gap:12px;min-width:0;}
.site-customer-review__avatar{width:42px;height:42px;flex:0 0 42px;border-radius:50%;object-fit:cover;background:#eef4f8;}
.site-customer-review__name{display:block;color:var(--brand-dark);font-size:15px;font-weight:800;line-height:1.35;overflow-wrap:anywhere;}
.site-customer-review__sub{display:block;margin-top:3px;color:#5F6366;font-size:12px;line-height:1.4;}
.site-customer-slider-arrow{position:absolute;top:50%;z-index:5;width:42px;height:42px;margin-top:-21px;border:2px solid var(--brand-primary);background:#fff;color:var(--brand-dark);display:flex!important;align-items:center;justify-content:center;padding:0;cursor:pointer;transition:background .2s ease,border-color .2s ease,color .2s ease;}
.site-customer-slider-arrow:hover,.site-customer-slider-arrow:focus{background:var(--brand-accent);border-color:var(--brand-accent);color:var(--brand-accent-text);outline:none;}
.site-customer-slider-arrow--prev{left:-54px;}
.site-customer-slider-arrow--next{right:-54px;}
.site-customer-reviews-actions{margin-top:36px;}
.site-customer-reviews-actions .main-btn{margin:0;}
@media (max-width:1199px){.site-customer-slider-arrow--prev{left:0}.site-customer-slider-arrow--next{right:0}.site-customer-reviews-slider{padding:0 34px}.site-customer-reviews-heading .title{font-size:36px;}}
@media (max-width:767px){.site-customer-reviews-area{padding:65px 0}.site-customer-reviews-heading{margin-bottom:20px}.site-customer-reviews-heading .title{font-size:32px}.site-customer-reviews-heading p{font-size:15px}.site-customer-summary{margin-bottom:26px}.site-customer-summary__rating strong{font-size:24px}.site-customer-summary__stars{font-size:17px}.site-customer-review-card{height:300px;min-height:300px;padding:34px 22px 22px}.site-customer-review-card.is-expanded{height:auto;min-height:300px}.site-customer-review__quote{top:25px;right:22px;font-size:46px}.site-customer-review__text-wrap{min-height:0}.site-customer-reviews-slider{padding:0 28px;margin:0}.site-customer-reviews-slider .slick-list{margin:0 -8px;padding-top:5px;padding-bottom:5px}.site-customer-reviews-slider .slick-slide{margin:0 8px}.site-customer-slider-arrow{width:38px;height:38px;margin-top:-19px}.site-customer-reviews-actions{margin-top:30px}}

/* Readable placeholder text in every form field (meets WCAG AA on white and light field backgrounds). */
input::placeholder,
textarea::placeholder{color:#5F6366;opacity:1;}

/* Links on the dark footer stay readable on hover. */
.footer-link li a:hover,
.footer-link .link-list li a:hover,
.footer-widget-wrapper .footer-menu .menu li a:hover{color:var(--brand-accent-light)!important;}
