/* ===================================================================
   SASMM custom overrides on top of Medcity template
   Palette: primary #21cdc0 · secondary #213360 · heading #0e204d
   =================================================================== */
:root{--sa-primary:#21cdc0;--sa-primary-d:#17a89d;--sa-secondary:#213360;--sa-heading:#0e204d;
  --sa-body:#5b6472;--sa-soft:#eafaf8;--sa-line:#e6e8eb;--sa-accent:#f5a623;}

.req{color:var(--sa-accent)}
.pagetitle__desc{max-width:680px}
.breadcrumb{background:transparent;justify-content:center}
.breadcrumb-item,.breadcrumb-item a{color:#fff;opacity:.9}
.breadcrumb-item.active{color:var(--sa-primary);opacity:1}
.breadcrumb-item+.breadcrumb-item::before{color:rgba(255,255,255,.5)}

/* overlay helper the template lacked */
.bg-overlay-dark2::before{background:rgba(14,32,77,.85)!important;opacity:1!important}

/* ---- About figure ---- */
.about-figure{position:relative}
.about-figure img{box-shadow:0 30px 60px -30px rgba(14,32,77,.45)}

/* ---- Contact info boxes (home) highlight ---- */
.contact-box-highlight{background:var(--sa-primary)!important}
.contact-box-highlight .contact__icon,.contact-box-highlight .contact__title,
.contact-box-highlight .contact__desc,.contact-box-highlight .contact__desc a{color:#fff!important}

/* ---- Service cards (not in base template) ---- */
.service-card{background:#fff;border-radius:10px;padding:38px 28px;height:100%;
  box-shadow:0 18px 40px -26px rgba(14,32,77,.28);transition:all .3s ease;border:1px solid var(--sa-line)}
.service-card:hover{transform:translateY(-8px);box-shadow:0 30px 55px -24px rgba(14,32,77,.4)}
.service-card-layout2{text-align:center}
.service-card__icon{width:84px;height:84px;border-radius:50%;background:var(--sa-soft);color:var(--sa-primary);
  display:flex;align-items:center;justify-content:center;font-size:40px;margin:0 auto 22px;transition:all .3s ease}
.service-card-layout1{display:flex;gap:22px;text-align:left;align-items:flex-start}
.service-card-layout1 .service-card__icon{margin:0;flex-shrink:0;width:72px;height:72px;font-size:34px}
.service-card:hover .service-card__icon{background:var(--sa-primary);color:#fff;transform:rotateY(180deg)}
.service-card__title{font-size:21px;color:var(--sa-heading);margin-bottom:12px}
.service-card__desc{color:var(--sa-body);margin:0;line-height:1.7}
/* service cards shown on dark bg (who we are) */
.bg-overlay-dark2 .service-card{background:rgba(255,255,255,.06);border-color:rgba(255,255,255,.12)}
.bg-overlay-dark2 .service-card__title{color:#fff}
.bg-overlay-dark2 .service-card__desc{color:#d7dbe4}
.bg-overlay-dark2 .service-card:hover{background:#fff}
.bg-overlay-dark2 .service-card:hover .service-card__title{color:var(--sa-heading)}
.bg-overlay-dark2 .service-card:hover .service-card__desc{color:var(--sa-body)}

/* ---- Facts / counters ---- */
.fact-item{text-align:center;padding:10px}
.fact__icon{font-size:52px;color:var(--sa-primary);margin-bottom:14px;line-height:1}
.fact__number{font-size:40px;color:var(--sa-heading);font-family:"Quicksand",sans-serif;font-weight:700;margin:0 0 4px}
.fact__title{color:var(--sa-body);margin:0}

/* ---- Benefits feature items (home) ---- */
.feature-item-layout1{gap:18px;align-items:flex-start;background:#fff;border:1px solid var(--sa-line);
  border-radius:10px;padding:26px 24px;height:100%;transition:all .3s ease}
.feature-item-layout1:hover{box-shadow:0 20px 44px -26px rgba(14,32,77,.35);transform:translateY(-5px)}
.feature-item-layout1 .feature__icon{font-size:40px;color:var(--sa-primary);line-height:1;flex-shrink:0}
.feature-item-layout1 .feature__title{font-size:19px;color:var(--sa-heading);margin-bottom:8px}
.feature-item-layout1 .feature__desc{color:var(--sa-body);margin:0;font-size:15px;line-height:1.7}

/* ---- Blockquote ---- */
.blockquote-layout1{position:relative;background:var(--sa-soft);border-left:4px solid var(--sa-primary);
  padding:30px 34px 30px 70px;border-radius:0 10px 10px 0}
.blockquote-layout1>i{position:absolute;left:24px;top:28px;font-size:30px;color:var(--sa-primary);opacity:.5}
.blockquote-layout1 p{font-style:italic;color:var(--sa-heading);margin:0;font-size:17px;line-height:1.8}
.blockquote__author{display:block;font-style:normal;font-weight:700;color:var(--sa-primary);margin-top:12px}

/* ---- Alert note ---- */
.alert-note{background:var(--sa-soft);border-radius:10px;padding:20px 24px;gap:16px;margin-top:10px}
.alert-note>i{font-size:34px;color:var(--sa-primary);flex-shrink:0;line-height:1}
.alert-note p{color:var(--sa-heading)}

/* ---- CTA extra desc color ---- */
.cta__desc{font-size:17px}

/* ---- Membership category cards ---- */
.membership-cat{background:#fff;border:1px solid var(--sa-line);border-left:4px solid var(--sa-primary);
  border-radius:0 10px 10px 0;padding:28px 30px;height:100%;transition:all .3s ease}
.membership-cat:hover{box-shadow:0 20px 44px -26px rgba(14,32,77,.3)}
.membership-cat h4{color:var(--sa-heading);margin-bottom:12px}
.membership-cat p{color:var(--sa-body);margin:0;line-height:1.75}
.membership-benefits li{margin-bottom:14px!important}

/* ---- Join box ---- */
.join-box{background:#fff;border:1px solid var(--sa-line);border-radius:12px;padding:34px 36px;
  box-shadow:0 20px 50px -30px rgba(14,32,77,.3)}
.join-box h4{color:var(--sa-heading);display:flex;align-items:center;gap:12px;margin-bottom:14px}
.join-box h4 i,.join-box h5 i{color:var(--sa-primary)}
.join-box h5{color:var(--sa-heading)}
.join-steps{padding-left:20px;margin:0 0 10px}
.join-steps li{margin-bottom:10px;color:var(--sa-body)}
.bank-table{width:100%;border-collapse:collapse;margin-top:8px}
.bank-table td{padding:11px 0;border-bottom:1px dashed var(--sa-line);color:var(--sa-body)}
.bank-table td:last-child{text-align:right;font-weight:700;color:var(--sa-heading)}

/* ---- Affiliate items ---- */
.affiliate-item{padding:18px 6px;border-bottom:1px solid var(--sa-line);color:var(--sa-heading);
  font-weight:500;gap:14px;transition:all .25s ease}
.affiliate-item i{color:var(--sa-primary);font-size:14px;transition:transform .25s ease}
.affiliate-item:hover{color:var(--sa-primary);padding-left:14px}
.affiliate-item:hover i{transform:translateX(4px)}

/* ---- Contact cards ---- */
.contact-card{gap:18px;background:#fff;border:1px solid var(--sa-line);border-radius:10px;padding:22px 24px}
.contact-card__icon{width:54px;height:54px;border-radius:12px;background:var(--sa-soft);color:var(--sa-primary);
  display:flex;align-items:center;justify-content:center;font-size:24px;flex-shrink:0}
.contact-card h5{color:var(--sa-heading);margin-bottom:4px;font-size:18px}
.contact-card p,.contact-card a{color:var(--sa-body);margin:0;line-height:1.6}
.contact-card a:hover{color:var(--sa-primary)}
.map-wrap{border-radius:12px;overflow:hidden;border:1px solid var(--sa-line)}
.map-wrap iframe{display:block;width:100%;height:380px;border:0}

/* ---- Forms ---- */
.sasmm-form .form-group{margin-bottom:20px}
.sasmm-form textarea.form-control{min-height:130px;padding-top:14px}
.form-legend{display:flex;align-items:center;gap:12px;color:var(--sa-heading);font-size:20px;
  margin:34px 0 22px;padding-bottom:12px;border-bottom:2px solid var(--sa-primary)}
.form-legend:first-of-type{margin-top:0}
.form-legend i{color:var(--sa-primary)}
.field-label{display:block;font-family:"Quicksand",sans-serif;font-weight:600;color:var(--sa-heading);
  margin-bottom:12px;font-size:15px}
.radio-row{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:20px}
.radio-pill{position:relative;margin:0}
.radio-pill input{position:absolute;opacity:0;inset:0;cursor:pointer}
.radio-pill span{display:inline-flex;align-items:center;padding:11px 24px;border:1.5px solid var(--sa-line);
  border-radius:50px;font-weight:600;color:var(--sa-body);cursor:pointer;transition:all .25s ease;background:#fff}
.radio-pill input:checked+span{background:var(--sa-primary);border-color:var(--sa-primary);color:#fff}
.radio-pill input:focus-visible+span{box-shadow:0 0 0 4px var(--sa-soft)}
.membership-form-card{background:#fff;border:1px solid var(--sa-line);border-radius:14px;
  padding:clamp(26px,4vw,52px);box-shadow:0 30px 70px -40px rgba(14,32,77,.4)}
.conditional{display:none}
.conditional.show{display:block}
.form-control.invalid,.sasmm-form .invalid .form-control{border-color:#e4572e!important;background:#fff8f7}
.form-status{display:none;padding:16px 20px;border-radius:10px;margin-bottom:22px;font-weight:600}
.form-status.ok{display:block;background:#e7f8ef;color:#1b7a46;border:1px solid #bce8d0}
.form-status.err{display:block;background:#fdecec;color:#b42318;border:1px solid #f6cfcf}

/* keep primary exactly the template teal; just make nav CTA icon spacing nice */
.navbar-brand img{max-height:58px}
@media(max-width:575px){.radio-pill span{padding:10px 18px}}

/* ---- Full-width CTA band (my markup; template lacked .sasmm-cta) ---- */
.sasmm-cta{position:relative;overflow:hidden;padding:72px 0;background:var(--sa-secondary)}
.sasmm-cta .bg-img{position:absolute;inset:0;z-index:0}
.sasmm-cta .bg-img img{width:100%;height:100%;object-fit:cover}
.sasmm-cta::before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;width:100%;height:100%;z-index:1;
  background:linear-gradient(90deg,rgba(23,168,157,.96),rgba(33,205,192,.9))}
.sasmm-cta .container{position:relative;z-index:2}
.sasmm-cta .cta__title{color:#fff;margin-bottom:8px;font-size:30px}
.sasmm-cta .cta__desc{color:rgba(255,255,255,.95)}
@media(max-width:991px){.sasmm-cta{text-align:center}.sasmm-cta .text-lg-right{text-align:center!important;margin-top:20px}}

/* ---- Hero & page-title contrast on darker photos ---- */
.slider .slide-item{position:relative}
.slider .slide-item::before{content:"";position:absolute;inset:0;z-index:1;
  background:linear-gradient(90deg,rgba(14,32,77,.86) 0%,rgba(14,32,77,.6) 45%,rgba(14,32,77,.3) 100%)}
.slider .slide-item .container{position:relative;z-index:2}
.slider .slide__title{color:#fff}
.slider .slide__desc{color:#e8eef7}

.page-title-layout1{position:relative}
.page-title-layout1.bg-overlay::before,.page-title-layout1::before{content:"";position:absolute;inset:0;z-index:1;
  background:linear-gradient(90deg,rgba(14,32,77,.82),rgba(14,32,77,.55))}
.page-title-layout1 .container{position:relative;z-index:2}
.page-title-layout1 .pagetitle__heading{color:#fff}
.page-title-layout1 .pagetitle__desc{color:#e8eef7}

/* ---- Full-cover single-image hero ---- */
.slider.hero-full,.slider.hero-full .slide-item{min-height:100vh}
.slider.hero-full .slide-item{display:flex;align-items:center;position:relative;overflow:hidden}
.slider.hero-full .bg-img{position:absolute;inset:0;z-index:0}
.slider.hero-full .bg-img img{width:100%;height:100%;object-fit:cover;object-position:center top}
.slider.hero-full .slide-item::before{content:"";position:absolute;inset:0;z-index:1;
  background:linear-gradient(90deg,rgba(14,32,77,.88) 0%,rgba(14,32,77,.66) 45%,rgba(14,32,77,.4) 100%)}
.slider.hero-full .container{position:relative;z-index:2;width:100%}
.slider.hero-full .slide__title{color:#fff;font-size:clamp(2.2rem,4.5vw,4rem);line-height:1.1}
.slider.hero-full .slide__desc{color:#e8eef7}
@media(max-width:767px){.slider.hero-full,.slider.hero-full .slide-item{min-height:88vh}}

/* ======== Cinematic headers, overlays, footer bg (latest) ======== */
@keyframes kenburns{0%{transform:scale(1)}100%{transform:scale(1.14)}}

/* Hero Ken Burns */
.slider.hero-full .bg-img img{animation:kenburns 22s ease-in-out infinite alternate;will-change:transform}

/* Taller page-title headers + darker overlay + Ken Burns */
.page-title-layout1{min-height:540px;display:flex;align-items:center;overflow:hidden}
.page-title-layout1 .bg-img{position:absolute;inset:0;z-index:0;overflow:hidden}
.page-title-layout1 .bg-img img{width:100%;height:100%;object-fit:cover;object-position:center;
  animation:kenburns 18s ease-in-out infinite alternate;will-change:transform}
.page-title-layout1.bg-overlay::before,.page-title-layout1::before{
  background:linear-gradient(90deg,rgba(9,19,46,.92) 0%,rgba(9,19,46,.78) 55%,rgba(9,19,46,.62) 100%)!important;opacity:1!important}
.page-title-layout1 .pagetitle__heading{font-size:clamp(2.2rem,4vw,3.4rem)}
@media(max-width:767px){.page-title-layout1{min-height:400px}}

/* Footer background image + dark overlay + Ken Burns */
.footer{position:relative;overflow:hidden}
.footer>.container{position:relative;z-index:2}
.footer-primary,.footer-secondary{position:relative;z-index:2;background:transparent!important}
.footer::before{content:"";position:absolute;inset:0;z-index:0;
  background:url('../images/backgrounds/footer-bg.jpg') center center/cover no-repeat;
  animation:kenburns 26s ease-in-out infinite alternate;will-change:transform}
.footer::after{content:"";position:absolute;inset:0;z-index:1;
  background:linear-gradient(rgba(9,19,46,.9),rgba(9,19,46,.95))}

/* ======== Cinematic zoom IN & OUT (explicit, overrides alternate) ======== */
@keyframes kenburns{0%{transform:scale(1)}50%{transform:scale(1.12)}100%{transform:scale(1)}}
.slider.hero-full .bg-img img,
.page-title-layout1 .bg-img img{
  animation:kenburns 24s ease-in-out infinite !important;
  transform-origin:center center;will-change:transform}
.footer::before{animation:kenburns 30s ease-in-out infinite !important}

/* ======== FIX: Ken Burns on a dedicated bg layer (Medcity bakes img into section background) ======== */
@keyframes kenburns{0%{transform:scale(1)}50%{transform:scale(1.14)}100%{transform:scale(1)}}
/* HERO: ::after = zooming image (z0), ::before = overlay (z1), content z2 */
.slider.hero-full .slide-item::after{content:"";position:absolute;inset:0;z-index:0;
  background:url('../images/sliders/hero-main.jpg') center center/cover no-repeat;
  animation:kenburns 24s ease-in-out infinite;transform-origin:center center;will-change:transform}
.slider.hero-full .slide-item>.container{position:relative;z-index:2}
/* PAGE HEADERS: ::after inherits the per-page background image and zooms (z0), ::before overlay (z1) */
.page-title-layout1::after{content:"";position:absolute;inset:0;z-index:0;
  background-image:inherit;background-size:cover;background-position:center;background-repeat:no-repeat;
  animation:kenburns 22s ease-in-out infinite;transform-origin:center center;will-change:transform}
.page-title-layout1>.container{position:relative;z-index:2}

/* ======== Events: hero ribbon + featured event card ======== */
.hero-event-ribbon{display:inline-flex;align-items:center;gap:10px;background:rgba(33,205,192,.18);
  border:1px solid rgba(33,205,192,.55);color:#fff;font-weight:600;font-size:15px;
  padding:9px 18px;border-radius:50px;margin-bottom:22px;backdrop-filter:blur(4px);transition:all .25s ease}
.hero-event-ribbon:hover{background:var(--sa-primary);color:#fff;border-color:var(--sa-primary)}
.hero-event-ribbon .dot{width:9px;height:9px;border-radius:50%;background:var(--sa-primary);
  box-shadow:0 0 0 0 rgba(33,205,192,.7);animation:pulse 1.8s infinite}
.hero-event-ribbon .ribbon-cta{font-weight:700;color:#8ff0e8;margin-left:4px}
@keyframes pulse{0%{box-shadow:0 0 0 0 rgba(33,205,192,.7)}70%{box-shadow:0 0 0 12px rgba(33,205,192,0)}100%{box-shadow:0 0 0 0 rgba(33,205,192,0)}}
@media(max-width:575px){.hero-event-ribbon{font-size:12.5px;padding:8px 14px}.hero-event-ribbon .ribbon-cta{display:none}}

.section-event{padding:90px 0;background:var(--sa-soft)}
.event-card{display:grid;grid-template-columns:minmax(260px,420px) 1fr;gap:0;background:#fff;
  border-radius:16px;overflow:hidden;box-shadow:0 30px 70px -40px rgba(14,32,77,.5)}
@media(max-width:860px){.event-card{grid-template-columns:1fr}}
.event-card__media{position:relative;background:var(--sa-heading)}
.event-card__media img{width:100%;height:100%;object-fit:cover;display:block}
@media(max-width:860px){.event-card__media img{max-height:420px}}
.event-badge{background:var(--sa-primary);color:#fff;font-family:"Quicksand",sans-serif;font-weight:700;
  text-transform:uppercase;letter-spacing:1px;font-size:12px;padding:7px 16px;border-radius:50px}
.event-card__media .event-badge{position:absolute;top:18px;left:18px;z-index:2;box-shadow:0 8px 20px -6px rgba(0,0,0,.4)}
.event-card__body{padding:clamp(28px,4vw,48px)}
.event-card__body .heading__subtitle{color:var(--sa-primary)}
.event-theme{font-weight:700;color:var(--sa-heading);font-size:16px;margin:4px 0 18px}
.event-meta{margin:0 0 18px}
.event-meta li{display:flex;gap:12px;align-items:flex-start;margin-bottom:12px;color:var(--sa-body);font-size:15.5px}
.event-meta li i{color:var(--sa-primary);font-size:20px;flex-shrink:0;line-height:1.3}
.event-meta li strong{color:var(--sa-heading)}

/* Topbar conference announcement (theme-native) */
.topbar-event a{color:#fff}
.topbar-event strong{color:var(--sa-primary);font-weight:700}
.topbar-event:hover a strong{color:#fff}
.hero-event-ribbon{display:none!important}

/* ======== Hero event teaser (flat, theme-native) ======== */
.hero-event{display:inline-flex;align-items:center;gap:20px;margin-top:36px;padding:14px 22px 14px 14px;
  background:rgba(14,32,77,.55);border-left:4px solid var(--sa-primary);border-radius:4px;max-width:620px;
  transition:background .25s ease}
.hero-event:hover{background:rgba(14,32,77,.72)}
.hero-event__tab{flex-shrink:0;background:var(--sa-primary);color:#fff;font-family:"Quicksand",sans-serif;
  font-weight:600;border-radius:6px;padding:10px 14px;text-align:center;line-height:1.1;font-size:12px;letter-spacing:1px}
.hero-event__tab b{display:block;font-size:22px;font-weight:700;letter-spacing:0}
.hero-event__txt{display:flex;flex-direction:column;gap:2px;color:#dfe6f2;font-size:13.5px}
.hero-event__txt strong{color:#fff;font-family:"Quicksand",sans-serif;font-size:17px;font-weight:700;line-height:1.2}
.hero-event__link{flex-shrink:0;color:var(--sa-primary);font-family:"Quicksand",sans-serif;font-weight:700;
  white-space:nowrap;margin-left:auto}
.hero-event:hover .hero-event__link{color:#fff}
@media(max-width:575px){.hero-event{flex-wrap:wrap;gap:12px;max-width:100%}.hero-event__link{margin-left:0}}

/* Secondary (top) bar vertical padding */
.header-topbar{padding:10px 0}
.header-topbar .contact__list,.header-topbar .social-icons{align-items:center}
