/* Modern Design System - Highlighted Dark Premium */
/* Global Overflow Reset - Fix right side white space */
html {
   overflow-x: hidden !important;
   width: 100% !important;
   position: relative;
   margin: 0;
   padding: 0;
}

body {
   overflow-x: hidden !important;
   width: 100% !important;
   position: relative;
   margin: 0;
   padding: 0;
}

.body-inner {
   width: 100% !important;
   position: relative;
}

/* Global Section Title Spacing Normalization */
.section-title.modern {
   margin-top: 20px !important;
   margin-bottom: 50px !important;
}

/* Modern Design System - Light Premium Redesign */
.modern-card {
   background: #ffffff;
   border: 1px solid rgba(255, 0, 110, 0.15);
   border-radius: 20px;
   padding: 30px;
   transition: all 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275);
   position: relative;
   overflow: hidden;
   height: 100%;
   box-shadow: 0 15px 45px rgba(0, 0, 0, 0.05);
   display: flex;
   flex-direction: column;
   z-index: 1;
}

.modern-card::before {
   content: '';
   position: absolute;
   top: 0;
   left: 0;
   width: 100%;
   height: 4px;
   background: var(--primary-gradient);
   opacity: 0;
   transition: opacity 0.3s ease;
}

.modern-card:hover {
   transform: translateY(-10px);
   box-shadow: 0 25px 60px rgba(255, 0, 110, 0.1);
   border-color: rgba(255, 0, 110, 0.6);
   background-color: #fdfdfd;
   border-width: 1px;
}

.modern-card:hover::before {
   opacity: 1;
}

.card-icon-wrap {
   width: 50px;
   height: 50px;
   background: var(--primary-gradient);
   border-radius: 12px;
   display: flex;
   align-items: center;
   justify-content: center;
   margin-bottom: 20px;
   color: #fff;
   font-size: 20px;
   box-shadow: 0 8px 15px rgba(255, 0, 110, 0.2);
}

.card-count {
   font-size: 36px;
   font-weight: 800;
   color: #1a1a2e;
   margin-bottom: 2px;
   font-family: 'Outfit', sans-serif;
   background: var(--primary-gradient);
   -webkit-background-clip: text;
   -webkit-text-fill-color: transparent;
}

.modern-card h3 {
   font-size: 19px;
   font-weight: 700;
   color: #1a1a2e;
   margin-bottom: 12px;
   text-transform: capitalize;
}

.modern-card p {
   font-size: 14px;
   line-height: 1.6;
   color: #666;
   margin-bottom: 0;
}

/* Upcoming Conference Modernization */
.upcoming-conf-modern-container {
   height: 200px;
   overflow: hidden;
   position: relative;
   margin-top: 0;
}

.upcoming-conf-wrapper.animate-scroll {
   animation: vertical-scroll 40s linear infinite;
}

.upcoming-conf-modern-container:hover .upcoming-conf-wrapper.animate-scroll {
   animation-play-state: paused;
}

.upcoming-conf-item {
   margin-bottom: 8px;
   padding: 10px 14px;
   border: 1px solid rgba(255, 255, 255, 0.1);
   border-radius: 10px;
   background: rgba(255, 255, 255, 0.05);
   transition: all 0.3s ease;
   display: flex;
   align-items: center;
   cursor: pointer;
}

.upcoming-conf-item:hover {
   border-color: #ff006e;
   background: rgba(255, 0, 110, 0.1);
   transform: translateX(5px);
}

.upcoming-conf-item i {
   color: #ff006e;
   margin-right: 12px;
   font-size: 12px;
}

.upcoming-conf-item a {
   color: #333;
   font-size: 12.5px;
   font-weight: 700;
   text-decoration: none;
   line-height: 1.3;
}

.upcoming-conf-item:hover a {
   color: #ff006e;
}

@keyframes vertical-scroll {
   0% {
      transform: translateY(0);
   }

   100% {
      transform: translateY(-100%);
   }
}

/* Testimonials Modern Redesign */
.ts-testimonials {
   background: #fcfdff;
   padding: 20px 0;
}

.testimonial-card {
   background: #ffffff;
   border-radius: 20px !important;
   padding: 40px;
   margin: 20px 10px;
   box-shadow: 0 15px 45px rgba(0, 0, 0, 0.05) !important;
   transition: all 0.4s ease;
   border: 1px solid rgba(0, 0, 0, 0.02) !important;
   position: relative;
}

.testimonial-quote-icon {
   font-size: 45px !important;
   background: var(--primary-gradient) !important;
   -webkit-background-clip: text !important;
   -webkit-text-fill-color: transparent !important;
   opacity: 0.1 !important;
   position: absolute !important;
   top: 25px !important;
   right: 30px !important;
   color: transparent !important;
}

.testimonial-card:hover {
   transform: translateY(-10px);
   box-shadow: 0 25px 60px rgba(255, 0, 110, 0.08) !important;
   border-color: rgba(255, 0, 110, 0.15) !important;
}

/* Square Section - Why Join World Conference - Redesigned with Deep Indigo Palette */
/* Square Section - Why Join World Conference - Modern White Theme */
.square-section .modern-card {
   background: #ffffff !important;
   border-radius: 5px !important;
   box-shadow: 0 10px 30px rgba(0, 0, 0, 0.05) !important;
   border: 1px solid #e2e8f0 !important;
   transition: all 0.4s cubic-bezier(0.165, 0.84, 0.44, 1);
   padding: 25px !important;
   height: 100%;
   display: flex;
   flex-direction: column;
   position: relative;
   overflow: hidden;
   z-index: 1;
}

.square-section .modern-card:hover {
   transform: translateY(-8px);
   box-shadow: 0 15px 40px rgba(0, 0, 0, 0.08) !important;
   border-color: #cbd5e1 !important;
   background: #ffffff !important;
}

.square-section .modern-card h3 {
   color: #1a1a2e !important;
   font-size: 18px !important;
   font-weight: 700 !important;
   margin-bottom: 12px !important;
}

.square-section .modern-card p {
   color: #64748b !important;
   font-size: 13.5px !important;
   line-height: 1.7 !important;
   font-weight: 400 !important;
}

.square-section .modern-card .card-count {
   position: absolute;
   top: 15px;
   right: 20px;
   font-size: 40px !important;
   font-weight: 900 !important;
   color: #ff006e !important;
   background: none !important;
   -webkit-background-clip: initial !important;
   -webkit-text-fill-color: initial !important;
   line-height: 1;
   font-family: 'Outfit', sans-serif !important;
   user-select: none;
   transition: all 0.4s ease;
   z-index: -1;
   opacity: 0.4;
}

.square-section .modern-card:hover .card-count {
   color: #ff006e !important;
   opacity: 1;
   transform: scale(1.1);
}

.square-section .modern-card .card-icon-wrap {
   width: 45px;
   height: 45px;
   background: #f8fafc !important;
   border-radius: 16px !important;
   margin-bottom: 15px !important;
   display: flex;
   align-items: center;
   justify-content: center;
   transition: all 0.3s ease;
   box-shadow: 0 4px 10px rgba(0, 0, 0, 0.03) !important;
}

.square-section .modern-card .card-icon-wrap i {
   color: #1a1a2e !important;
   /* Navy Blue */
   font-size: 20px !important;
   transition: all 0.3s ease;
}

.square-section .modern-card:hover .card-icon-wrap {
   background: #ffffff !important;
   transform: scale(1.1) rotate(-5deg);
   box-shadow: 0 10px 20px rgba(255, 0, 110, 0.1) !important;
}

.square-section .modern-card:hover .card-icon-wrap i {
   color: #ff006e !important;
   background: none !important;
   -webkit-background-clip: initial !important;
   -webkit-text-fill-color: initial !important;
}

.square-section .upcoming-conf-item {
   background: rgba(10, 11, 26, 0) !important;
   border: 1px solid #0000ff !important;
   border-radius: 12px !important;
   margin-bottom: 12px !important;
   padding: 12px 18px !important;
   transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1) !important;
}

.square-section .upcoming-conf-item:hover {
   background: #ff006e !important;
   border-color: #ff006e !important;
   transform: translateX(8px);
}

.square-section .upcoming-conf-item a {
   color: #000000 !important;
   font-size: 13.5px !important;
   font-weight: 500 !important;
}

.square-section .upcoming-conf-item i {
   color: #000000 !important;
   font-size: 14px !important;
}

.square-section .upcoming-conf-item:hover a,
.square-section .upcoming-conf-item:hover i {
   color: #ffffff !important;
}

/* Feature Cards (About Section) */
.feature-card-wrap {
   position: relative;
   overflow: visible !important;
   margin-left: 45px;
   transition: all 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275);
}

.about-modern-section .feature-card-modern {
   background: #ffffff !important;
   border-radius: 0 !important;
   box-shadow: 0 10px 30px rgba(0, 0, 0, 0.05) !important;
   border: none !important;
   padding: 30px 60px 30px 70px !important;
   position: relative;
   transition: all 0.4s ease;
   clip-path: polygon(0% 0%, 92% 0%, 100% 50%, 92% 100%, 0% 100%);
   display: flex;
   flex-direction: column;
   justify-content: center;
   min-height: 160px;
   z-index: 1;
   filter: drop-shadow(0 4px 10px rgba(7, 10, 37, 0.15));
}

.feature-card-wrap:hover {
   transform: scale(1.02) translateX(10px);
   z-index: 10;
}

.feature-card-wrap:hover .feature-card-modern {
   box-shadow: none !important;
   filter: drop-shadow(0 15px 25px rgba(7, 10, 37, 0.4));
}

.feature-icon-circle {
   position: absolute;
   left: -40px;
   top: 50%;
   transform: translateY(-50%);
   width: 85px;
   height: 85px;
   background: #070a25 !important;
   border-radius: 50%;
   display: flex;
   align-items: center;
   justify-content: center;
   color: #ffffff !important;
   font-size: 32px;
   box-shadow: 0 10px 25px rgba(7, 10, 37, 0.3);
   z-index: 5;
   transition: all 0.4s ease;
}

.feature-card-wrap:hover .feature-icon-circle {
   transform: translateY(-50%) rotate(360deg);
   background: #151b4d !important;
   box-shadow: 0 15px 35px rgba(7, 10, 37, 0.4);
}

.feature-icon-circle::after {
   content: '';
   position: absolute;
   width: 65px;
   height: 65px;
   border: 2px solid rgba(255, 255, 255, 0.15);
   border-radius: 50%;
}

.feature-card-modern h3 {
   color: #1a1a2e !important;
   font-size: 21px !important;
   font-weight: 700 !important;
   margin-bottom: 6px !important;
   text-align: left !important;
}

.feature-card-modern p {
   color: #555 !important;
   font-size: 14px !important;
   line-height: 1.5 !important;
   margin-bottom: 0 !important;
   text-align: left !important;
   max-width: 90%;
}

.feature-step-label {
   position: absolute;
   right: 12px;
   top: 50%;
   transform: translateY(-50%);
   text-align: center;
   color: #070a25;
   font-weight: 800;
   line-height: 1;
   z-index: 10;
}

.feature-step-label span {
   display: block;
   font-size: 24px;
   font-family: 'Outfit', sans-serif;
}

.feature-step-label small {
   display: block;
   font-size: 10px;
   text-transform: uppercase;
   letter-spacing: 1px;
}

/* Registration Deadlines Redesign */
.ts-registration-deadlines-light {
   overflow: hidden !important;
}

.custom-deadline-card {
   background: linear-gradient(135deg, #1A162B 0%, #2b214a 100%);
   border-radius: 5px;
   padding: 30px 25px 25px 25px;
   position: relative;
   box-shadow: 0 15px 35px rgba(0, 0, 0, 0.2);
   margin-top: 25px;
   /* room for overlap icon badge */
   transition: transform 0.3s ease;
}

.custom-deadline-card:hover {
   transform: translateY(-5px);
}

.custom-dl-icon-badge {
   position: absolute;
   top: -20px;
   left: 25px;
   width: 48px;
   height: 48px;
   background: #fffafa;
   /* very pale pink/white */
   border-radius: 12px;
   display: flex;
   align-items: center;
   justify-content: center;
   box-shadow: 0 8px 20px rgba(255, 0, 110, 0.15);
   font-size: 22px;
   color: #ff006e;
}

.custom-dl-header {
   display: flex;
   justify-content: space-between;
   align-items: center;
   margin-bottom: 12px;
   margin-top: 5px;
}

.custom-dl-title {
   color: #ffffff;
   font-size: 22px;
   font-weight: 800;
   margin: 0;
}

.custom-dl-badge {
   font-size: 10px;
   font-weight: 800;
   padding: 5px 12px;
   border-radius: 20px;
   text-transform: uppercase;
   letter-spacing: 0.8px;
}

.custom-dl-badge.closed {
   background: #ffffff;
   color: #e63946;
}

.custom-dl-badge.active {
   background: #ffffff;
   color: #ff006e;
}

.custom-dl-badge.upcoming {
   background: rgba(255, 255, 255, 0.1);
   color: #aaaaaa;
   border: 1px solid rgba(255, 255, 255, 0.2);
}

.custom-dl-date {
   color: #ff006e;
   font-weight: 800;
   font-size: 14px;
   margin-bottom: 10px;
   display: flex;
   align-items: center;
   gap: 8px;
}

.custom-dl-desc {
   color: #b0aec2;
   font-size: 14.5px;
   margin: 0;
}

.ts-registration-deadlines-light {
   background: #fdfdfd !important;
}

/* CTA Cards */
.cta-card-modern {
   padding: 40px 30px !important;
   border-radius: 5px !important;
   min-height: 0 !important;
   display: flex;
   flex-direction: column;
   align-items: center;
   justify-content: center;
   text-align: center;
}

.cta-card-modern .cta-icon {
   width: 100px !important;
   height: 100px !important;
   line-height: 100px !important;
   font-size: 48px !important;
   margin: 0 auto 25px auto !important;
}

.cta-card-modern h3 {
   font-size: 20px !important;
   margin-bottom: 12px !important;
}

.cta-card-modern p {
   margin-bottom: 25px !important;
   font-size: 14px !important;
}

.cta-card-modern .banner-btn {
   margin-top: auto !important;
}


/* Conference Chair Speaker Redesign */
.chair-speaker-redesign-item {
   padding: 0px 15px 30px;
   position: relative;
   /* width: 90% !important; */
   /* margin: 0 auto; */
}

/* .abstract-carousel-redesign {
   width: 95% !important;
   margin: 0 auto !important;
   border-radius: 20px;
   overflow: hidden;
   background-image: url('../images/funfact_bg.jpg');
   background-size: cover;
   background-position: center;
   box-shadow: 0 15px 40px rgba(0, 0, 0, 0.2);
} */

.chair-card-redesign {
   width: 90% !important;
   margin: 85px auto 15px auto !important;
   /* Increased margin for larger photo overlap */
   position: relative;
   display: flex;
   background-image: url('../images/bg/Chair-banner.jpg');
   background-size: cover;
   background-position: center;
   border-radius: 10px;
   padding: 30px 30px !important;
   box-shadow: 0 25px 60px rgba(0, 0, 0, 0.4);
   min-height: 280px;
   align-items: center;
   overflow: visible;
   border: 1px solid rgba(255, 255, 255, 0.1);
}

.chair-icons-redesign {
   display: flex;
   flex-direction: row;
   gap: 15px;
   justify-content: center;
   margin-top: 15px;
   z-index: 5;
}

.chair-icons-redesign a {
   width: 40px;
   height: 40px;
   background: rgba(255, 255, 255, 0.15);
   border-radius: 50%;
   display: flex;
   align-items: center;
   justify-content: center;
   color: #fff;
   font-size: 16px;
   transition: all 0.3s ease;
   border: 1px solid rgba(255, 255, 255, 0.2);
}

.chair-icons-redesign a:hover {
   background: #fff;
   color: #ff006e;
   transform: scale(1.15);
   box-shadow: 0 5px 15px rgba(255, 0, 110, 0.3);
}

/* Show and Style Carousel Arrows for Abstracts and Chair Speakers - Large Clean Arrows */
.abstract-carousel-redesign,
.sq-crousal4 {
   padding: 0 80px !important;
   overflow: visible !important;
}

@media (max-width: 768px) {

   .abstract-carousel-redesign,
   .sq-crousal4 {
      padding: 0 40px !important;
   }
}

.abstract-carousel-redesign .carousel-control-prev,
.abstract-carousel-redesign .carousel-control-next,
.sq-crousal4 .carousel-control-prev,
.sq-crousal4 .carousel-control-next {
   display: flex !important;
   color: #b0b0b0 !important;
   /* light grey */
   opacity: 0.8 !important;
   transition: all 0.3s ease;
   width: 60px !important;
   height: 60px !important;
   background: none !important;
   border: none !important;
   border-radius: 0 !important;
   top: 50% !important;
   transform: translateY(-50%) !important;
   font-size: 50px !important;
   /* Large arrow mark */
   align-items: center !important;
   justify-content: center !important;
   z-index: 999 !important;
   text-decoration: none !important;
   margin: 0 !important;
}

.abstract-carousel-redesign .carousel-control-prev:hover,
.abstract-carousel-redesign .carousel-control-next:hover,
.sq-crousal4 .carousel-control-prev:hover,
.sq-crousal4 .carousel-control-next:hover {
   opacity: 1 !important;
   color: #ffffff !important;
   transform: translateY(-50%) scale(1.15) !important;
}

.abstract-carousel-redesign .carousel-control-prev,
.sq-crousal4 .carousel-control-prev {
   left: 0 !important;
}

.abstract-carousel-redesign .carousel-control-next,
.sq-crousal4 .carousel-control-next {
   right: 0 !important;
}

.sq-crousal4 .carousel-control-prev span,
.sq-crousal4 .carousel-control-next span {
   color: inherit !important;
   font-size: inherit !important;
}





.chair-img-wrap-redesign {
   position: relative;
   width: 260px;
   height: 260px;
   margin: -130px auto 20px;
   z-index: 10;
   background: linear-gradient(90deg, rgba(95,0,255,1) 20%, rgba(236,70,119,1) 60%, rgba(249,76,107,1) 100%);
   padding: 1px;
   border-radius: 50%;
   box-shadow: 0 20px 40px rgba(0, 0, 0, 0.4);
}

.chair-img-wrap-redesign img {
   width: 100%;
   height: 100%;
   object-fit: cover;
   border-radius: 50%;
}

.chair-inner-frame {
   width: 100%;
   position: relative;
   padding: 20px;
}

.chair-info-list {
   list-style: none;
   padding: 0;
   margin: 0;
}

.chair-info-row {
   margin-bottom: 12px;
   display: flex;
   align-items: baseline;
}

.chair-info-label {
   min-width: 170px;
   font-weight: 700;
   color: #ff006e !important;
   font-size: 15px;
   text-transform: uppercase;
   letter-spacing: 1px;
}

.chair-info-value {
   color: #e0f2fe !important;
   font-size: 20px;
   font-weight: 600;
   line-height: 1.3;
}

.chair-info-value {
   flex: 1;
   font-weight: 400;
}

@media (max-width: 768px) {
   .chair-speaker-redesign-item {
      padding-top: 90px;
   }

   .chair-card-redesign {
      flex-direction: column;
      padding: 60px 15px 20px;
      margin-top: 30px;
      min-height: auto;
   }

   .chair-img-wrap-redesign {
      margin-top: -80px;
      width: 130px;
      height: 130px;
   }

   .chair-icons-redesign {
      justify-content: center;
      margin-top: 15px;
      margin-bottom: 15px;
      gap: 15px;
   }

   .chair-inner-frame {
      padding: 10px;
   }

   .chair-info-row {
      flex-direction: column;
      align-items: center;
      text-align: center;
   }

   .chair-info-label {
      min-width: 0;
      margin-bottom: 1px;
   }
}

.testi-stars {
   display: flex;
   gap: 4px;
   color: #fbbf24;
   font-size: 14px;
}

@media (min-width: 768px) {
   .testi-slide {
      min-width: 50%;
   }
}

@media (min-width: 1200px) {
   .testi-slide {
      min-width: 33.333%;
   }
}

@media (max-width: 600px) {
   .testi-card {
      flex-direction: column;
      align-items: center;
      text-align: center;
      padding: 25px;
   }

   .testi-left {
      margin-bottom: 15px;
   }

   .testi-right {
      align-items: center;
   }

   .testi-quote-icon {
      margin-left: auto;
      margin-right: auto;
   }
}

/* Top Abstracts Redesign */
.abstract-details-section {
   overflow: hidden !important;
}

.abstract-bg {
   padding: 60px 0;
}

.abstract-carousel-redesign {
   width: 100% !important;
   margin: 0 !important;
   border-radius: 0;
   overflow: visible;
   background: transparent !important;
   box-shadow: none !important;
}


.abstract-card-content {
   width: 90% !important;
   max-width: 1100px !important;
   margin: 40px auto !important;
   background-image: url('../images/bg/top_abstract.jpeg') !important;
   background-size: cover !important;
   background-position: center !important;
   border-radius: 10px !important;
   box-shadow: 0 15px 40px rgba(0, 0, 0, 0.2) !important;
   padding: 60px 50px !important;
   position: relative;
   overflow: hidden;
}


.abstract-title-box {
   display: flex;
   flex-direction: row;
   align-items: center;
   justify-content: center;
   gap: 15px;
   margin-bottom: 25px;
   border-bottom: 2px solid rgba(255, 255, 255, 0.1);
   padding-bottom: 20px;
   text-align: center;
}

.abstract-title-box .abs-label {
   font-size: 18px;
   color: #ff006e !important;
   text-transform: uppercase;
   letter-spacing: 2px;
   margin-bottom: 0;
   font-weight: 700;
}

.abstract-title-box .abs-value {
   font-size: 28px;
   font-weight: 800;
   color: #e0f2fe !important;
   background: none !important;
   padding: 0;
   border-radius: 0;
   white-space: normal;
   overflow: visible;
   text-overflow: clip;
   max-width: 100%;
   line-height: 1.2;
   box-shadow: none !important;
}

.abstract-details-grid {
   display: flex;
   flex-direction: column;
   gap: 15px;
   width: max-content;
   max-width: 100%;
   margin: 0 auto;
}

.abs-row {
   display: flex;
   align-items: flex-start;
   text-align: left;
}

.abs-row .abs-label {
   min-width: 150px;
   font-weight: 700;
   color: #ff006e;
   font-size: 16px;
   display: flex;
   align-items: center;
   gap: 10px;
   font-family: 'Outfit', sans-serif;
}

.abs-row .abs-label i {
   width: 20px;
   text-align: center;
}

.abs-row .abs-value {
   flex: 0 1 auto;
   color: #fff;
   font-size: 16px;
   font-weight: 400;
   line-height: 1.6;
}

@media (max-width: 768px) {
   .abstract-card-content {
      padding: 25px 20px;
   }

   .abstract-title-box .abs-value {
      font-size: 20px;
   }

   .abs-row {
      flex-direction: column;
      gap: 6px;
   }

   .abs-row .abs-label {
      margin-bottom: 2px;
      min-width: 0;
   }
}

/* Custom Sponsor Redesign */
.custom-sponsor-section {
   position: relative;
   background: #ffffff;
   overflow: hidden;
}

.sponsor-top-angled {
   background: linear-gradient(135deg, #ff006e 0%, #4facfe 100%);
   padding: 80px 0 150px;
   clip-path: polygon(0 0, 100% 0, 100% 75%, 0 100%);
   position: relative;
   color: #ffffff;
}

/* Optional geometric overlay pattern inside gradient */
.sponsor-top-angled::before {
   content: '';
   position: absolute;
   top: 0;
   left: 0;
   width: 100%;
   height: 100%;
   background-image: url('../images/hero_area/banner_bg.png');
   /* existing pattern */
   opacity: 0.1;
   background-size: cover;
   pointer-events: none;
}

.relative-z {
   position: relative;
   z-index: 5;
}

.sponsor-subhead {
   font-size: 14px;
   font-weight: 600;
   letter-spacing: 3px;
   margin-bottom: 10px;
   text-transform: uppercase;
   color: rgba(200, 193, 193, 0.9);
   font-family: 'Outfit', sans-serif;
}

.sponsor-head {
   font-size: 50px;
   font-weight: 800;
   margin-bottom: 20px;
   line-height: 1.2;
   color: #ffffff !important;
   font-family: 'Outfit', sans-serif;
   text-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
}


.sponsor-desc {
   font-size: 17px;
   font-weight: 300;
   max-width: 550px;
   line-height: 1.6;
   margin-bottom: 30px;
   color: #000000 !important;
   font-family: 'Outfit', sans-serif;
}


.sponsor-heart {
   font-size: 40px;
   color: #ffffff;
}

.sponsor-middle-logos {
   background: #ffffff;
   padding: 20px 0 60px;
   margin-top: -60px;
   /* pull up into the wedge */
}

.sponsor-logo-grid {
   margin-top: 40px;
}

.sponsor-img-color {
   max-height: 80px;
   object-fit: contain;
   transition: all 0.4s ease;
   filter: grayscale(100%);
   opacity: 0.6;
}

.sponsor-logo-link:hover .sponsor-img-color {
   transform: scale(1.08);
   filter: grayscale(0%);
   opacity: 1;
}


.sponsor-bottom-angled {
   background: linear-gradient(135deg, #4facfe 0%, #ff006e 100%);
   padding: 100px 0 60px;
   clip-path: polygon(0 35%, 100% 0, 100% 100%, 0 100%);
   position: relative;
   color: #ffffff;
   margin-top: -60px;
   /* pull up into wedge */
}

.sponsor-bottom-angled::before {
   content: '';
   position: absolute;
   top: 0;
   left: 0;
   width: 100%;
   height: 100%;
   background-image: url('../images/hero_area/banner_bg.png');
   /* existing pattern */
   opacity: 0.1;
   background-size: cover;
   pointer-events: none;
}

.sponsor-footer-text strong {
   font-size: 18px;
   font-weight: 700;
}

.sponsor-footer-text {
   font-size: 14px;
   line-height: 1.6;
   opacity: 0.9;
}

.sponsor-footer-logo {
   display: flex;
   flex-direction: column;
   align-items: flex-end;
   gap: 5px;
}

.sponsor-footer-logo i {
   font-size: 60px;
   color: #ffffff;
}

.sponsor-footer-logo span {
   font-size: 16px;
   font-weight: 700;
   text-transform: uppercase;
   letter-spacing: 1px;
}

@media (max-width: 768px) {
   .sponsor-top-angled {
      padding: 70px 0 100px;
      clip-path: polygon(0 0, 100% 0, 100% 80%, 0 100%);
   }

   .sponsor-head {
      font-size: 38px;
   }

   .sponsor-bottom-angled {
      clip-path: polygon(0 30%, 100% 0, 100% 100%, 0 100%);
      padding: 100px 0 40px;
   }

   .sponsor-footer-text {
      text-align: center !important;
      margin-bottom: 20px;
   }

   .sponsor-footer-logo {
      align-items: center;
      text-align: center !important;
   }
}

/* Premium Testimonial Card Design */
.testi-card-premium {
   background: #ffffff;
   border-radius: 20px;
   padding: 40px;
   height: 100%;
   display: flex;
   flex-direction: column;
   position: relative;
   box-shadow: 0 10px 30px rgba(0, 0, 0, 0.05);
   border: 1px solid rgba(0, 0, 0, 0.03);
   transition: all 0.3s ease;
   margin: 10px;
}

.testi-card-premium:hover {
   transform: translateY(-10px);
   box-shadow: 0 20px 50px rgba(0, 0, 0, 0.08);
   border-color: rgba(255, 0, 110, 0.1);
}

/* Small Card Styling */
.testi-card-premium.small-card {
   padding: 30px;
   border-radius: 15px;
}

.testi-card-premium.small-card .testi-quote-text {
   font-size: 14px;
   line-height: 1.6;
}

.testi-card-premium.small-card .testi-card-footer {
   padding-top: 20px;
}

.testi-card-premium.small-card .testi-avatar-wrap {
   width: 50px;
   height: 50px;
}

.testi-card-premium.small-card .testi-name {
   font-size: 16px;
}

.testi-card-body {
   flex-grow: 1;
   margin-bottom: 30px;
}

.testi-quote-text {
   font-size: 16px;
   line-height: 1.8;
   color: #4b5563;
   font-style: italic;
   margin: 0;
}

.testi-card-footer {
   display: flex;
   align-items: center;
   gap: 15px;
   padding-top: 25px;
   border-top: 1px solid rgba(0, 0, 0, 0.05);
}

.testi-avatar-wrap {
   width: 60px;
   height: 60px;
   border-radius: 50%;
   overflow: hidden;
   flex-shrink: 0;
   border: 3px solid #fff;
   box-shadow: 0 4px 10px rgba(0, 0, 0, 0.1);
}

.testi-avatar-img {
   width: 100%;
   height: 100%;
   object-fit: cover;
}

.testi-avatar-placeholder {
   width: 100%;
   height: 100%;
   background: #f3f4f6;
   display: flex;
   align-items: center;
   justify-content: center;
   color: #9ca3af;
   font-size: 24px;
}

.testi-info-wrap {
   flex-grow: 1;
}

.testi-name {
   font-size: 18px;
   font-weight: 700;
   color: #1a1a2e;
   margin: 0 0 2px 0;
}

.testi-designation {
   font-size: 13px;
   color: #6b7280;
   margin: 0 0 8px 0;
   text-transform: uppercase;
   letter-spacing: 0.5px;
}

.testi-stars {
   display: flex;
   gap: 3px;
   color: #fbbf24;
   font-size: 12px;
}

.testi-badge {
   background: #eef2ff;
   color: #4f46e5;
   padding: 6px 14px;
   border-radius: 20px;
   font-size: 13px;
   font-weight: 700;
   text-transform: uppercase;
   letter-spacing: 0.5px;
   display: inline-block;
   margin-bottom: 12px;
}

.testi-heading {
   font-size: 38px;
   font-weight: 800;
   color: #1a1a2e;
   margin-bottom: 10px;
}

.testi-subheading {
   font-size: 16px;
   color: #000000 !important;
   background: none !important;
   -webkit-text-fill-color: initial !important;
   font-weight: 500;
   margin-bottom: 0;
}



.testi-nav-centered {
   display: flex;
   justify-content: center;
   gap: 15px;
}

.testi-nav-centered .testi-nav-btn {
   margin: 0;
}

.testi-nav-btn {
   width: 45px;
   height: 45px;
   border-radius: 50%;
   border: 1px solid #ddd;
   background: #fff;
   color: #333;
   font-size: 20px;
   cursor: pointer;
   transition: all 0.3s ease;
   display: inline-flex;
   align-items: center;
   justify-content: center;
   outline: none;
}

.testi-nav-btn:hover {
   background: #f0f0f0;
   border-color: #ccc;
   transform: scale(1.05);
}

.testi-track-wrapper {
   overflow: hidden;
   width: 100%;
}

.testi-track {
   display: flex;
   transition: transform 0.6s cubic-bezier(0.25, 1, 0.5, 1);
}

.testi-slide {
   flex: 0 0 100%;
   padding: 15px;
}

@media (min-width: 768px) {
   .testi-slide {
      flex: 0 0 50%;
   }
}

@media (min-width: 1100px) {
   .testi-slide {
      flex: 0 0 33.333333%;
   }
}

/* Modern Speaker Card Redesign - Overlapping Box Style */
.ts-speakers .ts-speaker {
   position: relative !important;
   background: transparent !important;
   padding: 0 !important;
   border: none !important;
   box-shadow: none !important;
   margin-bottom: 70px !important;
   height: auto !important;
   transform: none !important;
   transition: all 0.4s ease;
}

.ts-speakers .ts-speaker .speaker-img {
   position: relative !important;
   width: 100% !important;
   height: auto !important;
   aspect-ratio: 1 / 1 !important;
   border-radius: 0 !important;
   margin-bottom: 0 !important;
   overflow: hidden !important;
}

.ts-speakers .ts-speaker .speaker-img img {
   width: 100% !important;
   height: 100% !important;
   object-fit: cover !important;
   border-radius: 0 !important;
   transition: all 0.5s ease !important;
}

/* Hover Overlay */
.ts-speakers .ts-speaker .speaker-img:before {
   content: '' !important;
   position: absolute !important;
   top: 0 !important;
   left: 0 !important;
   width: 100% !important;
   height: 100% !important;
   background: rgba(103, 58, 183, 0.5) !important;
   /* Lighter Purple overlay */
   opacity: 0 !important;
   z-index: 1 !important;
   transition: all 0.4s ease !important;
}

.ts-speakers .ts-speaker:hover .speaker-img:before {
   opacity: 1 !important;
}

.ts-speakers .ts-speaker:hover .speaker-img img {
   transform: scale(1.05) !important;
}

/* View Speaker (Plus Icon) */
.ts-speakers .ts-speaker .view-speaker {
   position: absolute !important;
   top: 50% !important;
   left: 50% !important;
   transform: translate(-50%, -50%) scale(0.5) !important;
   opacity: 0 !important;
   z-index: 2 !important;
   margin: 0 !important;
   right: auto !important;
   bottom: auto !important;
   width: 50px !important;
   height: 50px !important;
   border: 2px solid #fff !important;
   border-radius: 50% !important;
   display: flex !important;
   align-items: center !important;
   justify-content: center !important;
   background: transparent !important;
   transition: all 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275) !important;
}

.ts-speakers .ts-speaker:hover .view-speaker {
   opacity: 1 !important;
   transform: translate(-50%, -50%) scale(1) !important;
}

.ts-speakers .ts-speaker .view-speaker i {
   color: #fff !important;
   font-size: 20px !important;
}

/* Overlapping Info Box */
.ts-speakers .ts-speaker .ts-speaker-info {
   position: absolute !important;
   bottom: -30px !important;
   left: 20px !important;
   right: 20px !important;
   background: #fff !important;
   padding: 15px 20px !important;
   box-shadow: 0 10px 30px rgba(0, 0, 0, 0.1) !important;
   z-index: 3 !important;
   border-radius: 0 !important;
   text-align: center !important;
   min-height: 90px !important;
   display: flex !important;
   flex-direction: column !important;
   justify-content: center !important;
   transition: all 0.4s ease !important;
}



.ts-speakers .ts-speaker .ts-title {
   margin: 0 0 5px 0 !important;
   padding: 0 !important;
   transition: all 0.4s ease !important;
}

.ts-speakers .ts-speaker .ts-title a {
   font-family: 'Outfit', sans-serif !important;
   font-weight: 700 !important;
   font-size: 19px !important;
   color: #1a162b !important;
   text-decoration: none !important;
   display: block !important;
   line-height: 1.2 !important;
   transition: color 0.4s ease !important;
}

.ts-speakers .ts-speaker:hover .ts-title a {
   color: #ff006e !important;
}

.ts-speakers .ts-speaker p {
   margin: 0 !important;
   padding: 0 !important;
   font-family: 'Outfit', sans-serif !important;
   font-size: 13px !important;
   color: #666 !important;
   line-height: 1.4 !important;
   transition: color 0.4s ease !important;
}

/* .ts-speakers .ts-speaker:hover p {
   color: #ff006e !important;
} */

/* Ensure section has enough padding at the bottom for the overlap */
.ts-speakers {
   padding-bottom: 20px !important;
}

/* Circular Speaker Card Layout */
.circular-speaker-card {
   text-align: center;
   margin-bottom: 40px;
   padding: 10px;
}

.circular-img-wrap {
   position: relative;
   width: 220px;
   height: 220px;
   margin: 0 auto 20px auto;
   border-radius: 50%;
   overflow: hidden;
}

.circular-img-wrap img {
   width: 100%;
   height: 100%;
   object-fit: cover;
   transition: transform 0.4s ease;
}

.circular-speaker-card:hover .circular-img-wrap img {
   transform: scale(1.1);
}

.circular-img-wrap::before {
   content: '';
   position: absolute;
   top: 0;
   left: 0;
   right: 0;
   bottom: 0;
   background: linear-gradient(135deg, rgba(110, 39, 143, 0.7) 0%, rgba(229, 45, 106, 0.7) 100%);
   opacity: 0;
   transition: opacity 0.4s ease;
   z-index: 1;
}

.circular-speaker-card:hover .circular-img-wrap::before {
   opacity: 1;
}

.circular-view-speaker {
   position: absolute;
   top: 50%;
   left: 50%;
   transform: translate(-50%, -50%) scale(0.5);
   width: 60px;
   height: 60px;
   border: 1px solid #fff;
   border-radius: 50%;
   color: #fff !important;
   font-size: 24px;
   display: flex;
   align-items: center;
   justify-content: center;
   opacity: 0;
   z-index: 2;
   transition: all 0.4s ease;
   text-decoration: none;
}

.circular-view-speaker i {
   color: #fff !important;
}

.circular-speaker-card:hover .circular-view-speaker {
   opacity: 1;
   transform: translate(-50%, -50%) scale(1);
}

.circular-info .circular-name {
   margin: 0 0 5px 0;
   font-size: 22px;
   font-weight: 700;
   font-family: 'Outfit', sans-serif;
}

.circular-info .circular-name a {
   color: #1a162b;
   /* Black name */
   text-decoration: none;
   transition: color 0.3s ease;
}

.circular-speaker-card:hover .circular-name a,
.circular-info .circular-name a:hover {
   color: #ff006e !important;
}

.circular-info .circular-designation {
   font-size: 14px;
   color: #555;
   margin: 0;
   line-height: 1.5;
   font-family: 'Outfit', sans-serif;
}

/* Global Heading Title Gradient */
.section-title,
.modern-title,
.column-title,
.heading-title,
h2.title {
   background: linear-gradient(90deg, rgba(95,0,255,1) 20%, rgba(236,70,119,1) 60%, rgba(249,76,107,1) 100%) !important;
   -webkit-background-clip: text !important;
   background-clip: text !important;
   -webkit-text-fill-color: transparent !important;
   color: transparent !important;
   display: inline-block; /* Ensure gradient works properly */
}

/* Reset text-fill-color for elements inside that need solid colors (e.g., links inside white blocks if any) */
.page-banner-title .modern-title {
   /* Keep banner titles white if they are over a dark image */
   background: none !important;
   -webkit-text-fill-color: #fff !important;
   color: #fff !important;
}