
/* TDMI Training brand overrides */
:root{--tdmi-blue:#63BCEB;--tdmi-yellow:#FDD13B;--tdmi-dark:#101820;--tdmi-black:#080b0e;--tdmi-white:#ffffff;}

/* 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(--tdmi-blue);}
.header-top{background:var(--tdmi-dark);}
.header-top .header-meta li a,.header-link a{color:#fff;}
.header-link a:hover,.header-top .header-meta li a:hover{color:var(--tdmi-yellow);}
.header-logo img{width:126px!important;height:auto!important;max-height:92px;object-fit:contain;}
.nav-menu > li > a.active,.nav-menu > li:hover > a,.nav-dropdown > li > a:hover{color:var(--tdmi-blue)!important;}
.about-content .line,.section-title .line{background:var(--tdmi-yellow)!important;}
.about-title span,.section-title .title span{color:var(--tdmi-blue)!important;}
.courses-category li a.active,.courses-category li a:hover{background:var(--tdmi-blue)!important;color:#111!important;}
.courses-price,.courses-meta li i,.features-icon i,.footer-link li a:hover{color:var(--tdmi-blue)!important;}
.footer-area{background:var(--tdmi-dark)!important;}
.footer-title:after{background:var(--tdmi-yellow)!important;}
.newsletter-area{background:var(--tdmi-blue)!important;}
.slider-content-3 .title{text-shadow:0 2px 10px rgba(0,0,0,.55);}
.tdmi-kicker{display:inline-block;color:var(--tdmi-yellow);font-weight:700;text-transform:uppercase;letter-spacing:.08em;margin-bottom:10px;}
.tdmi-highlight{color:var(--tdmi-blue);}
.tdmi-policy{width:100%;max-width:none;margin:0;font-size:16px;line-height:1.8;}
.tdmi-policy h3{margin-top:28px;margin-bottom:10px;}
.tdmi-policy ul{padding-left:22px;list-style:disc;}
.tdmi-cart-table img{width:90px;height:70px;object-fit:cover;border-radius:4px;}
.tdmi-box{background:#fff;border:1px solid #eceff1;padding:28px;border-radius:6px;box-shadow:0 8px 28px rgba(0,0,0,.05);}
.tdmi-summary-row{display:flex;justify-content:space-between;border-bottom:1px solid #eceff1;padding:12px 0;gap:20px;}
.tdmi-summary-row.total{font-weight:700;font-size:18px;border-bottom:0;}
@media(max-width:991px){.header-logo img{width:105px!important;}.tdmi-cart-table{font-size:14px;}}

/* TDMI placeholder handling: each placeholder keeps the original template image ratio. */
.tdmi-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;}
.tdmi-cart-table img.tdmi-placeholder{width:90px!important;height:70px!important;max-width:none!important;aspect-ratio:auto!important;object-fit:cover;flex:0 0 90px;}

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

/* Hero and inner-page banners keep their template-defined section height. */
.slider-area-3 .single-slider{
  background-size:cover!important;
  background-position:center!important;
  background-repeat:no-repeat!important;
}

/* Course 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 course 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. */
.tdmi-cart-table img.tdmi-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.tdmi-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;}

/* TDMI 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.tdmi-top-message-bar{
  padding:0!important;
}
.tdmi-top-message-bar .header-top-wrapper{
  justify-content:center!important;
  align-items:center;
  min-height:38px;
}
.tdmi-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){
  .tdmi-top-message{
    font-size:12px;
    padding:7px 10px;
  }
}

/* TDMI course 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. TDMI 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 course 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;}
}

/* TDMI course detail tabs: brand blue/yellow treatment. */
.courses-details-tab .nav li a{
  background-color:#63BCEB;
  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:#4EAEE3;
  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:#FDD13B;
  color:#151515;
}

/* TDMI text course cards: align Study / Access 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;}
}

/* TDMI 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;}

/* TDMI-branded diamond accent palette
   Keep the stable placeholder/image handling, but override the inherited
   template accent colours with a controlled TDMI set so the collage feels
   branded on both Home and About Us. */
.about-image .single-image .tdmi-diamond-image{
  position:absolute;
  inset:0;
  overflow:hidden;
  border-radius:30px;
  background:#c3ccd3;
  z-index:1;
}
.about-image .single-image .tdmi-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 TDMI colours */
.about-image .single-image.image-1::before{background-color:#073054;}
.about-image .single-image.image-2::before{background-color:#63BCEB;}
.about-image .single-image.image-3::before{background-color:#FDD13B;}
.about-image .single-image.image-4::before{background-color:#8CCFF0;}

/* TDMI rebuilt training focus section */
.tdmi-training-focus-area{
  padding:80px 0;
  background:#fff;
}
.tdmi-focus-grid{margin-top:25px;}
.tdmi-focus-grid>[class*="col-"]{display:flex;}
.tdmi-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(7,48,84,.07);
  transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease;
}
.tdmi-focus-card:hover{
  transform:translateY(-5px);
  border-color:#63BCEB;
  box-shadow:0 16px 38px rgba(7,48,84,.11);
}
.tdmi-focus-icon{
  width:62px;height:62px;
  display:flex;align-items:center;justify-content:center;
  background:#FDD13B;
  color:#0b3156;
  font-size:25px;
  margin-bottom:24px;
}
.tdmi-focus-card h3{
  color:#073054;
  font-size:23px;
  line-height:1.3;
  margin:0 0 15px;
}
.tdmi-focus-card p{
  color:#263c51;
  line-height:1.75;
  margin:0 0 24px;
}
.tdmi-card-link{
  margin-top:auto;
  display:inline-flex;
  align-items:center;
  gap:9px;
  width:max-content;
  color:#073054;
  font-weight:700;
  border-bottom:2px solid #FDD13B;
  padding-bottom:4px;
}
.tdmi-card-link:hover{color:#63BCEB;}

/* TDMI rebuilt student reviews */
.tdmi-reviews-area{
  padding:90px 0;
  background:#f7f9fb;
  overflow:hidden;
}
.tdmi-reviews-intro{padding-right:30px;}
.tdmi-reviews-intro .title{
  color:#073054;
  font-size:42px;
  line-height:1.15;
  margin-bottom:18px;
}
.tdmi-reviews-intro .line{
  display:block;
  width:90px;
  height:2px;
  background:#FDD13B;
  margin-bottom:24px;
}
.tdmi-reviews-intro p{color:#263c51;line-height:1.75;margin:0;}
.tdmi-reviews-slider{margin:0 -12px;padding-bottom:38px;}
.tdmi-reviews-slider .slick-track{display:flex;}
.tdmi-reviews-slider .slick-slide{height:auto;padding:0 12px;}
.tdmi-reviews-slider .slick-slide>div{height:100%;}
.tdmi-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 #63BCEB;
  padding:34px 32px 30px;
}
.tdmi-review-quote{
  color:#FDD13B;
  font-size:32px;
  margin-bottom:22px;
}
.tdmi-review-text{
  color:#263c51;
  font-size:17px;
  line-height:1.7;
  margin:0 0 30px;
}
.tdmi-review-meta{margin-top:auto;display:flex;flex-direction:column;gap:4px;}
.tdmi-review-meta strong{color:#073054;font-size:16px;}
.tdmi-review-meta span{color:#637383;font-size:14px;}
.tdmi-reviews-slider .slick-arrow{
  position:absolute;
  bottom:-12px;
  top:auto;
  z-index:5;
  width:42px;height:42px;
  border:0;
  background:#FDD13B;
  color:#101820;
  font-size:0;
  transition:.2s ease;
}
.tdmi-reviews-slider .slick-arrow:hover{background:#63BCEB;color:#fff;}
.tdmi-reviews-slider .slick-prev{right:62px;left:auto;}
.tdmi-reviews-slider .slick-next{right:12px;}
.tdmi-reviews-slider .slick-prev:before,
.tdmi-reviews-slider .slick-next:before{
  font-family:"Font Awesome 5 Free";
  font-weight:900;
  font-size:15px;
}
.tdmi-reviews-slider .slick-prev:before{content:"\f053";}
.tdmi-reviews-slider .slick-next:before{content:"\f054";}
.tdmi-reviews-slider .slick-dots{bottom:-3px;text-align:left;padding-left:12px;}
.tdmi-reviews-slider .slick-dots li button:before{color:#63BCEB;}
.tdmi-reviews-slider .slick-dots li.slick-active button:before{color:#FDD13B;}
@media(max-width:991px){
  .tdmi-reviews-intro{padding-right:0;margin-bottom:40px;}
  .tdmi-reviews-intro .title{font-size:36px;}
}
@media(max-width:767px){
  .tdmi-training-focus-area,.tdmi-reviews-area{padding:65px 0;}
  .tdmi-focus-card{padding:28px 24px 26px;}
  .tdmi-reviews-intro .title{font-size:32px;}
  .tdmi-review-card{min-height:250px;padding:28px 24px;}
}

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

/* TDMI review slider pagination: clean dots, never visible numbers. */
.tdmi-reviews-slider{
  position:relative;
  padding-bottom:64px;
}
.tdmi-reviews-slider .slick-dots{
  position:absolute;
  left:12px;
  bottom:0;
  width:auto;
  margin:0;
  padding:0;
  display:flex!important;
  align-items:center;
  gap:9px;
  list-style:none;
}
.tdmi-reviews-slider .slick-dots li{
  width:11px;
  height:11px;
  margin:0;
  padding:0;
}
.tdmi-reviews-slider .slick-dots li button{
  display:block;
  width:11px;
  height:11px;
  min-width:0;
  padding:0;
  border:0;
  border-radius:50%;
  background:#c7d2dc;
  color:transparent!important;
  font-size:0!important;
  line-height:0;
  text-indent:-9999px;
  overflow:hidden;
  cursor:pointer;
}
.tdmi-reviews-slider .slick-dots li button:before,
.tdmi-reviews-slider .slick-dots li button:after{
  content:none!important;
  display:none!important;
}
.tdmi-reviews-slider .slick-dots li.slick-active button{
  background:#FDD13B;
}
.tdmi-reviews-slider .slick-dots li button:hover,
.tdmi-reviews-slider .slick-dots li button:focus{
  background:#63BCEB;
  outline:none;
}
.tdmi-reviews-slider .slick-prev,
.tdmi-reviews-slider .slick-next{
  bottom:0;
}

/* TDMI reviews: centered dot navigation, autoplay/drag handled by Slick. */
.tdmi-reviews-slider{
  padding-bottom:52px;
}
.tdmi-reviews-slider .slick-dots{
  left:50%;
  right:auto;
  bottom:0;
  width:auto;
  transform:translateX(-50%);
  justify-content:center;
  padding:0;
}
.tdmi-reviews-slider .slick-prev,
.tdmi-reviews-slider .slick-next{
  display:none!important;
}

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

/* TDMI testimonial controls: one centered clickable dot per testimonial. */
.tdmi-reviews-slider{padding-bottom:0;}
.tdmi-review-dots{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:9px;
  margin-top:22px;
}
.tdmi-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;
}
.tdmi-review-dot.is-active{background:#FDD13B;transform:scale(1.08);}
.tdmi-review-dot:hover,
.tdmi-review-dot:focus{background:#63BCEB;outline:none;}


/* ============================================================
   TDMI 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 TDMI component styles.
   ============================================================ */
.main-btn,
.main-btn.main-btn-2,
a.main-btn,
button.main-btn,
input.main-btn,
input[type="submit"].main-btn{
  background:#FDD13B!important;
  border-color:#FDD13B!important;
  color:#101820!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:#63BCEB!important;
  border-color:#63BCEB!important;
  color:#fff!important;
}



/* TDMI HERO SECONDARY CTA - final scoped exception.
   This rule is intentionally last in the stylesheet. */
.slider-03 .slider-btn a.main-btn.tdmi-hero-secondary,
.slider-area .slider-btn a.main-btn.tdmi-hero-secondary {
  background: #63BCEB !important;
  background-color: #63BCEB !important;
  border-color: #63BCEB !important;
  color: #ffffff !important;
}
.slider-03 .slider-btn a.main-btn.tdmi-hero-secondary:hover,
.slider-03 .slider-btn a.main-btn.tdmi-hero-secondary:focus,
.slider-03 .slider-btn a.main-btn.tdmi-hero-secondary:active,
.slider-area .slider-btn a.main-btn.tdmi-hero-secondary:hover,
.slider-area .slider-btn a.main-btn.tdmi-hero-secondary:focus,
.slider-area .slider-btn a.main-btn.tdmi-hero-secondary:active {
  background: #FDD13B !important;
  background-color: #FDD13B !important;
  border-color: #FDD13B !important;
  color: #101820 !important;
}

/* TDMI 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;
}
@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;
  }
}


/* TDMI featured courses section */
.tdmi-featured-courses{
  background:#F3F4F5;
  padding:80px 0;
}
.tdmi-featured-courses .tdmi-featured-courses-heading{
  margin:0 auto 25px;
}
.tdmi-featured-courses .tdmi-featured-courses-heading .title{
  margin:0;
}
.tdmi-featured-courses .tdmi-featured-courses-heading p{
  max-width:760px;
  margin:14px auto 0;
}
.tdmi-featured-courses .courses-wrapper{
  margin-top:20px;
}
.tdmi-featured-courses .tdmi-featured-courses-cta{
  margin-top:42px;
}
@media (max-width:767px){
  .tdmi-featured-courses{padding:60px 0;}
  .tdmi-featured-courses .tdmi-featured-courses-cta{margin-top:32px;}
}

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

/* TDMI Home: featured-course heading cleanup */

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

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


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

/* Online Training alignment
   Background remains edge-to-edge. The actual image/text content follows the
   same native Bootstrap .container boundaries as the sections above/below. */
.tdmi-online-training-area > .container{
  position:relative;
  z-index:1;
}
.tdmi-online-training-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. */
  .tdmi-online-training-area .campus-visit-wrapper .campus-image-col{
    width:50%;
    padding:90px 0;
  }
  .tdmi-online-training-area .campus-visit-wrapper .campus-content-col{
    width:50%;
    padding:90px 0;
    display:flex;
    align-items:center;
  }
  .tdmi-online-training-area .campus-content{
    max-width:560px;
    margin-left:60px;
    margin-right:auto;
    padding:0;
    text-align:left;
  }
}

/* Student review sections use a clean white background. */
.tdmi-reviews-area{background:#fff;}

@media(max-width:991px){
  .tdmi-online-training-area{margin-top:55px;background:#F1F1F1;}
  .tdmi-online-training-area::before{display:none;}
  .tdmi-online-training-area .campus-image-col{background:#073054;}
  .tdmi-online-training-area .campus-content-col{background:#F1F1F1;}
}

/* About Us: Online Training 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. */
.tdmi-about-online{
  padding:90px 0;
}
@media (min-width:992px){
  .tdmi-about-online .campus-visit-wrapper .campus-content-col{
    display:flex;
    align-items:center;
  }
  .tdmi-about-online .campus-content{
    width:100%;
    max-width:650px;
  }
  .tdmi-about-online .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;
  }
  .tdmi-about-online .campus-image{
    flex:1 1 auto;
    min-height:0;
    height:auto!important;
  }
  .tdmi-about-online .campus-image .slick-list,
  .tdmi-about-online .campus-image .slick-track,
  .tdmi-about-online .campus-image .slick-slide,
  .tdmi-about-online .campus-image .slick-slide > div,
  .tdmi-about-online .campus-image .single-campus{
    height:100%!important;
  }
  .tdmi-about-online .campus-image .single-campus{
    overflow:hidden;
  }
  .tdmi-about-online .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){
  .tdmi-about-online{padding:65px 0;}
  .tdmi-about-online .campus-visit-wrapper .campus-image-col{
    padding-top:24px;
    padding-bottom:24px;
  }
}
@media (max-width:767px){
  .tdmi-about-online{padding:50px 0;}
}

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


/* About Us: Mission / Vision / Promise */
.tdmi-mvp-area{
  padding:36px 0;
  background:#ffffff;
}
.about-page .about-area{
  padding:70px 0;
}
.tdmi-mvp-grid>[class*="col-"]{display:flex;}
.tdmi-mvp-card{
  width:100%;
  min-height:315px;
  margin-top:0;
  padding:34px 30px 32px;
  text-align:center;
  background:#ffffff;
  border:2px solid #63BCEB;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:flex-start;
  transition:transform .25s ease, box-shadow .25s ease, border-color .25s ease;
}
.tdmi-mvp-card:hover{
  transform:translateY(-4px);
  border-color:#FDD13B;
  box-shadow:0 14px 30px rgba(7,48,84,.09);
}
.tdmi-mvp-icon{
  width:64px;
  height:64px;
  margin-bottom:22px;
  display:flex;
  align-items:center;
  justify-content:center;
  background:#FDD13B;
  color:#073054;
  border-radius:50%;
  font-size:27px;
}
.tdmi-mvp-card h3{
  margin:0 0 16px;
  color:#073054;
  font-size:30px;
  line-height:1.2;
}
.tdmi-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:#F3F4F5;
  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;}
  .tdmi-mvp-area{padding:30px 0;}
  .tdmi-mvp-card{min-height:0;}
}
@media (max-width:767px){
  .about-page .about-area{padding:45px 0;}
  .tdmi-mvp-area{padding:28px 0;}
  .tdmi-mvp-card{padding:28px 22px 26px;}
  .about-page .features-area-2{padding-top:55px;padding-bottom:55px;}
}

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

/* TDMI FAQ accordion refresh */
.faq-area .tdmi-faq-heading{
  text-align:center;
  max-width:980px;
  margin:0 auto;
}
.faq-area .tdmi-faq-heading .title{
  text-align:center;
}
.faq-area .tdmi-faq-heading .line{
  display:block;
  margin:24px auto 0;
}
.faq-area .tdmi-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 .tdmi-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 .tdmi-faq-item:first-child{
  border-top:1px solid #e3e7eb;
}
.faq-area .faq-wrapper .accordion .tdmi-faq-item .card-header{
  padding:0;
  border:0;
  background:transparent;
}
.faq-area .faq-wrapper .accordion .card-header a.tdmi-faq-question{
  position:relative;
  display:block;
  width:100%;
  padding:24px 54px 24px 0;
  color:#63BCEB;
  font-size:18px;
  font-weight:600;
  line-height:1.45;
  text-decoration:none;
}
.faq-area .faq-wrapper .accordion .card-header a.tdmi-faq-question.collapsed{
  color:#073054;
}
.faq-area .faq-wrapper .accordion .card-header a.tdmi-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:#FDD13B;
  color:#073054;
  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.tdmi-faq-question.collapsed::after{
  content:"+";
}
.faq-area .faq-wrapper .accordion .card-header a.tdmi-faq-question:hover::after,
.faq-area .faq-wrapper .accordion .card-header a.tdmi-faq-question:focus::after{
  background:#63BCEB;
  color:#fff;
}
.faq-area .faq-wrapper .accordion .tdmi-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 .tdmi-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 .tdmi-faq-heading p{margin-top:22px;}
  .faq-area .faq-wrapper{padding-top:28px;}
  .faq-area .faq-wrapper .accordion .card-header a.tdmi-faq-question{
    padding:20px 46px 20px 0;
    font-size:16px;
  }
  .faq-area .faq-wrapper .accordion .card-header a.tdmi-faq-question::after{
    right:0;
    width:30px;
    height:30px;
    font-size:21px;
  }
  .faq-area .faq-wrapper .accordion .tdmi-faq-item .card-body,
  .faq-area .faq-wrapper .accordion .tdmi-faq-item .card-body p{
    padding-right:0;
    font-size:15px;
    line-height:1.7;
  }
  .faq-area .faq-wrapper .accordion .tdmi-faq-item .card-body{padding-bottom:20px;}
}


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

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

/* ================================================================
   TDMI floating side cart + course purchase actions
   Front-end interaction only. Real pricing/session/checkout data will
   connect to the back-end cart when that phase is built.
   ================================================================ */
.tdmi-card-add-wrap{
  margin-top:14px;
}
.tdmi-card-add-to-cart{
  width:100%;
  min-height:44px;
  border:2px solid #111;
  box-sizing:border-box;
  background:#FDD13B;
  color:#073054;
  font:inherit;
  font-weight:700;
  cursor:pointer;
  transition:background-color .25s ease,color .25s ease;
}
.tdmi-card-add-to-cart:hover,
.tdmi-card-add-to-cart:focus{
  border-color:#111;
  background:#63BCEB;
  color:#fff;
  outline:none;
}
.tdmi-detail-add-to-cart{
  width:100%;
  min-height:44px;
  border:0;
  box-sizing:border-box;
  background:#FDD13B;
  color:#073054;
  font:inherit;
  font-weight:700;
  cursor:pointer;
  transition:background-color .25s ease,color .25s ease;
}
.tdmi-detail-add-to-cart:hover,
.tdmi-detail-add-to-cart:focus{
  background:#63BCEB;
  color:#fff;
  outline:none;
}
.tdmi-detail-cart-action{
  margin-top:18px;
}

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

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

.tdmi-floating-cart{
  position:relative;
  width:58px;
  height:58px;
  border:0;
  border-radius:50%;
  background:#FDD13B;
  color:#073054;
  box-shadow:0 10px 28px rgba(7,48,84,.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;
}
.tdmi-floating-cart:hover,
.tdmi-floating-cart:focus{
  background:#63BCEB;
  color:#fff;
  transform:translateY(-2px);
  outline:none;
}
.tdmi-cart-count{
  position:absolute;
  top:-5px;
  right:-5px;
  min-width:24px;
  height:24px;
  padding:0 6px;
  border-radius:12px;
  background:#073054;
  color:#fff;
  border:2px solid #fff;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:12px;
  line-height:1;
  font-weight:700;
}
.tdmi-cart-count.is-empty{opacity:.8;}

.tdmi-cart-overlay{
  position:fixed;
  inset:0;
  z-index:9997;
  background:rgba(7,41,77,.5);
  opacity:0;
  visibility:hidden;
  transition:opacity .3s ease,visibility .3s ease;
}
.tdmi-cart-overlay.is-open{
  opacity:1;
  visibility:visible;
}
.tdmi-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(7,48,84,.18);
  transform:translateX(102%);
  transition:transform .32s ease;
  display:flex;
  flex-direction:column;
}
.tdmi-side-cart.is-open{transform:translateX(0);}
.tdmi-cart-open{overflow:hidden;}
.tdmi-side-cart-header{
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:26px 28px 22px;
  border-bottom:1px solid #e4e9ed;
}
.tdmi-side-cart-eyebrow{
  display:block;
  color:#63BCEB;
  font-size:13px;
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:.08em;
  margin-bottom:3px;
}
.tdmi-side-cart-header h3{
  margin:0;
  color:#073054;
  font-size:28px;
}
.tdmi-side-cart-close{
  width:42px;
  height:42px;
  border:0;
  background:#FDD13B;
  color:#073054;
  cursor:pointer;
  display:flex;
  align-items:center;
  justify-content:center;
  transition:background-color .25s ease,color .25s ease;
}
.tdmi-side-cart-close:hover,
.tdmi-side-cart-close:focus{
  background:#63BCEB;
  color:#fff;
  outline:none;
}
.tdmi-side-cart-body{
  flex:1;
  overflow-y:auto;
  padding:22px 28px;
}
.tdmi-side-cart-empty{
  padding:28px 0;
  color:#536779;
  text-align:center;
}
.tdmi-side-cart-item{
  display:grid;
  grid-template-columns:54px 1fr 34px;
  gap:14px;
  align-items:center;
  padding:16px 0;
  border-bottom:1px solid #e4e9ed;
}
.tdmi-side-cart-thumb{
  width:54px;
  height:54px;
  background:#F3F4F5;
  color:#073054;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:20px;
}
.tdmi-side-cart-item-copy strong{
  display:block;
  color:#073054;
  line-height:1.35;
  margin-bottom:4px;
}
.tdmi-side-cart-item-copy span{
  display:block;
  color:#6b7d8c;
  font-size:13px;
}
.tdmi-side-cart-remove{
  width:34px;
  height:34px;
  border:0;
  background:transparent;
  color:#073054;
  cursor:pointer;
}
.tdmi-side-cart-remove:hover,
.tdmi-side-cart-remove:focus{color:#63BCEB;outline:none;}
.tdmi-side-cart-footer{
  padding:22px 28px 28px;
  border-top:1px solid #e4e9ed;
  background:#f8f9fa;
}
.tdmi-side-cart-note{
  margin:0 0 16px;
  color:#536779;
  font-size:13px;
  line-height:1.55;
}
.tdmi-side-cart-actions{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:10px;
}
.tdmi-side-cart-link,
.tdmi-side-cart-checkout{
  min-height:48px;
  display:flex!important;
  align-items:center;
  justify-content:center;
  text-align:center;
}
.tdmi-side-cart-link{
  border:1px solid #63BCEB;
  color:#073054;
  font-weight:700;
  transition:background-color .25s ease,color .25s ease;
}
.tdmi-side-cart-link:hover,
.tdmi-side-cart-link:focus{
  background:#63BCEB;
  color:#fff;
}
.tdmi-side-cart-checkout{
  width:100%;
  padding:0 14px!important;
}

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

/* TDMI cart / checkout section spacing: one symmetric source of truth. */
.tdmi-commerce-section{
  padding:90px 0;
}
.tdmi-payfast-graphic{
  margin-top:22px;
  text-align:center;
}
.tdmi-payfast-graphic img{
  display:block;
  width:100%;
  max-width:520px;
  height:auto;
  margin:0 auto;
}
@media (max-width:991px){
  .tdmi-commerce-section{padding:70px 0;}
}
@media (max-width:767px){
  .tdmi-commerce-section{padding:55px 0;}
}

/* TDMI footer branding + payment reassurance. */
.tdmi-footer-contact-list li{margin-bottom:10px;}
.tdmi-footer-contact-list li:last-child{margin-bottom:0;}
.tdmi-footer-contact-link{display:flex;align-items:flex-start;gap:10px;color:#fff!important;line-height:1.55;text-decoration:none;}
.tdmi-footer-contact-icon{flex:0 0 22px;width:22px;color:#63BCEB;text-align:center;transition:color .2s ease;}
.tdmi-footer-contact-link:hover,.tdmi-footer-contact-link:focus{color:#63BCEB!important;}
.tdmi-footer-contact-link:hover .tdmi-footer-contact-icon,.tdmi-footer-contact-link:focus .tdmi-footer-contact-icon{color:#FDD13B;}
.tdmi-footer-contact-link:focus{outline:2px solid #63BCEB;outline-offset:3px;}
.tdmi-footer-brand-logo{
  margin-bottom:16px;
}
.tdmi-footer-brand-logo a{
  display:inline-block;
}
.tdmi-footer-brand-logo img{
  display:block;
  width:110px;
  height:auto;
}
.tdmi-footer-payment{
  padding-top:20px;
  display:flex;
  align-items:center;
  justify-content:flex-end;
  flex:0 1 360px;
}
.tdmi-footer-payment img{
  display:block;
  width:100%;
  max-width:340px;
  height:auto;
}
.footer-copyright .copyright p .tdmi-x3web-link{
  color:#073054;
  font-weight:700;
}
.footer-copyright .copyright p .tdmi-x3web-link:hover,
.footer-copyright .copyright p .tdmi-x3web-link:focus{
  color:#63BCEB;
}
@media (max-width:767px){
  .tdmi-footer-brand-logo{
    text-align:center;
  }
  .tdmi-footer-brand-logo img{
    margin:0 auto;
  }
  .tdmi-footer-payment{
    width:100%;
    flex-basis:100%;
    justify-content:center;
  }
  .tdmi-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 .tdmi-header-layout{
    display:grid;
    grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);
    align-items:center;
    margin-left:-15px;
    margin-right:-15px;
  }
  .navigation .tdmi-header-layout > .tdmi-header-logo-col,
  .navigation .tdmi-header-layout > .tdmi-header-nav-col,
  .navigation .tdmi-header-layout > .tdmi-header-actions-col{
    width:auto;
    max-width:none;
    flex:none;
  }
  .navigation .tdmi-header-nav-col{
    justify-self:center;
  }
  .navigation .tdmi-header-actions-col{
    justify-self:stretch;
  }
  .navigation .tdmi-header-actions{
    justify-content:flex-end;
  }
}

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

/* Keep header actions visible when the template switches to sticky navigation. */
.navigation.sticky .tdmi-header-actions,
.header-area.sticky .tdmi-header-actions,
.navigation.fixed .tdmi-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.tdmi-top-message-bar .header-top-wrapper{justify-content:center!important;}

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




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


/* TDMI real-image hero readability: presentation only; source files remain unedited. */
.slider-area .single-slider{position:relative;isolation:isolate;}
.slider-area .single-slider::before{content:"";position:absolute;inset:0;background:rgba(7,48,84,.38);z-index:-1;}
.slider-area .single-slider .container{position:relative;z-index:1;}

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

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

/* Phase 14: dynamic policy and banking content */
.tdmi-policy--dynamic .tdmi-policy-content > :first-child{margin-top:0;}
.tdmi-policy--dynamic .tdmi-policy-content h2,.tdmi-policy--dynamic .tdmi-policy-content h3,.tdmi-policy--dynamic .tdmi-policy-content h4{color:#073054;margin-top:26px;margin-bottom:10px;}
.tdmi-policy--dynamic .tdmi-policy-content p,.tdmi-policy--dynamic .tdmi-policy-content li{line-height:1.75;}
.tdmi-policy--dynamic .tdmi-policy-content ul,.tdmi-policy--dynamic .tdmi-policy-content ol{padding-left:24px;margin-bottom:18px;}
.tdmi-policy-updated{margin-top:28px;padding-top:18px;border-top:1px solid #e2e8f0;color:#64748b;font-size:14px;}
.tdmi-policy-document{margin-top:28px;padding:22px;border:1px solid #dbe3eb;border-left:4px solid #63BCEB;border-radius:10px;background:#f8fafc;display:flex;align-items:center;justify-content:space-between;gap:20px;}
.tdmi-policy-document h3{margin:0 0 6px;color:#073054;}
.tdmi-policy-document p{margin:0;}
@media(max-width:767px){.tdmi-policy-document{align-items:flex-start;flex-direction:column;}}


/* WEB-08: TDMI homepage Bible verse */
.home-page .tdmi-home-verse{background:#F7F9FB;padding:30px 0;border-bottom:1px solid #E5EBF0;}
.home-page .tdmi-home-verse__inner{max-width:960px;margin:0 auto;}
.home-page .tdmi-home-verse__reference{display:block;color:#0B5F94;font-size:13px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;line-height:1.4;}
.home-page .tdmi-home-verse__accent{display:block;width:46px;height:3px;margin:11px auto 13px;background:#FDD13B;border-radius:999px;}
.home-page .tdmi-home-verse p{margin:0;color:#073054;font-size:22px;line-height:1.5;font-weight:600;}
@media(max-width:767px){.home-page .tdmi-home-verse{padding:24px 0}.home-page .tdmi-home-verse p{font-size:18px;line-height:1.55}.home-page .tdmi-home-verse__reference{font-size:12px}}


/* WEB-07B: cart coupon application */
.tdmi-cart-coupon{margin-top:18px;padding-top:18px;border-top:1px solid #eceff1}
.tdmi-cart-coupon__form{margin:0}
.tdmi-cart-coupon__form label{display:block;margin-bottom:8px;font-weight:700;color:#073054}
.tdmi-cart-coupon__controls{display:flex;gap:8px;align-items:stretch}
.tdmi-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}
.tdmi-cart-coupon__controls input:focus{border-color:#073054;outline:2px solid rgba(7,48,84,.1);outline-offset:0}
.tdmi-cart-coupon__controls .main-btn{display:inline-flex;align-items:center;justify-content:center;min-width:92px;height:46px;margin:0;padding:0 16px}
.tdmi-cart-coupon__applied{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:12px 14px;background:#f5f8fb;border:1px solid #d8e1e9}
.tdmi-cart-coupon__applied span{display:block;font-size:12px;color:#667085}
.tdmi-cart-coupon__applied strong{display:block;margin-top:2px;color:#073054;letter-spacing:.02em}
.tdmi-coupon-remove{padding:0;border:0;background:transparent;color:#a52a2a;font-weight:700;text-decoration:underline;cursor:pointer}
.tdmi-coupon-remove:hover,.tdmi-coupon-remove:focus-visible{color:#073054;outline:none}
.tdmi-cart-coupon__notice{padding:12px 14px;background:#f7f8fa;border:1px solid #d8e1e9;color:#4d5b6a;font-size:14px;line-height:1.5}
.tdmi-coupon-discount-row{color:#146c43}
@media(max-width:575px){.tdmi-cart-coupon__controls{flex-direction:column}.tdmi-cart-coupon__controls .main-btn{width:100%}.tdmi-cart-coupon__applied{align-items:flex-start}}


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