/* MEDIFY Tab Sections — front end
   Scoped under .mdft so nothing leaks into the surrounding theme. */

.mdft{
  --mdft-green:#0F4C3A;
  --mdft-gold:#B27E3D;
  --mdft-ink:#202421;
  --mdft-muted:#4A524E;
  --mdft-cream:#FAF7F3;
  --mdft-line:#E6DED2;
  --mdft-radius:16px;
  --mdft-font:"DM Sans",sans-serif;

  font-family:var(--mdft-font);
  -webkit-font-smoothing:antialiased;
  padding:84px 0 96px;
  box-sizing:border-box;
}
.mdft *,.mdft *::before,.mdft *::after{box-sizing:border-box}

.mdft--bg-cream{background:var(--mdft-cream)}
.mdft--bg-white{background:#fff}
.mdft--bg-none{background:transparent}

.mdft__inner{
  max-width:1200px;
  margin:0 auto;
  padding:0 24px;
}

/* ---------- optional heading block ---------- */

.mdft__head{text-align:center;margin:0 0 46px}

.mdft__eyebrow{
  margin:0 0 14px;
  font-size:12px;
  font-weight:600;
  line-height:1.4;
  letter-spacing:1.4px;
  text-transform:uppercase;
  color:var(--mdft-green);
}

.mdft__intro{
  margin:0;
  font-family:var(--mdft-font);
  font-size:42px;
  font-weight:600;
  line-height:1.15;
  letter-spacing:-.8px;
  color:var(--mdft-ink);
}

/* ---------- tab bar ---------- */

.mdft__nav-wrap{
  border-bottom:1px solid var(--mdft-line);
  margin-bottom:56px;
}

.mdft__nav{
  position:relative;
  display:flex;
  justify-content:center;
  gap:56px;
  overflow-x:auto;
  scrollbar-width:none;
  -ms-overflow-style:none;
}
.mdft__nav::-webkit-scrollbar{display:none}

.mdft__tab{
  position:relative;
  flex:0 0 auto;
  margin:0;
  padding:0 2px 18px;
  border:0;
  border-radius:0;
  background:none;
  font-family:var(--mdft-font);
  font-size:16px !important;
  font-weight:600;
  line-height:1.3;
  letter-spacing:-.2px;
  color:var(--mdft-muted);
  cursor:pointer;
  white-space:nowrap;
  transition:color .22s ease;
  -webkit-appearance:none;
  appearance:none;
}
.mdft__tab:hover{color:var(--mdft-ink)}
.mdft__tab.is-active{color:var(--mdft-green);font-weight:600 !important, font-size:16px !important;}

.mdft__tab:focus{outline:none}
.mdft__tab:focus-visible{
  outline:2px solid var(--mdft-green);
  outline-offset:4px;
  border-radius:3px;
}

/* sliding underline — positioned by JS, falls back to a static rule if JS fails */
.mdft__ink{
  position:absolute;
  left:0;
  bottom:-1px;
  height:3px;
  width:0;
  background:var(--mdft-gold);
  border-radius:2px 2px 0 0;
  transition:transform .3s cubic-bezier(.4,0,.2,1),width .3s cubic-bezier(.4,0,.2,1);
  pointer-events:none;
}
.mdft:not(.is-ready) .mdft__tab.is-active::after{
  content:"";
  position:absolute;
  left:0;right:0;bottom:-1px;
  height:3px;
  background:var(--mdft-gold);
  border-radius:2px 2px 0 0;
}

/* ---------- panels ---------- */

.mdft__panel{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr);
  align-items:center;
  gap:72px;
}
.mdft__panel[hidden]{display:none}

.mdft__panel.is-active{animation:mdft-fade .45s ease both}
@keyframes mdft-fade{
  from{opacity:0;transform:translateY(10px)}
  to{opacity:1;transform:none}
}
@media (prefers-reduced-motion:reduce){
  .mdft__panel.is-active{animation:none}
  .mdft__ink{transition:none}
}

.mdft--img-right .mdft__media{order:2}

.mdft__media{
  margin:0;
  border-radius:var(--mdft-radius);
  overflow:hidden;
  background:#ece7e0;
}
.mdft__media img{
  display:block;
  width:100%;
  height:100%;
  max-width:100%;
  object-fit:cover;
  aspect-ratio:4/3;
}

.mdft__heading{
  margin:0 0 30px;
  font-family:var(--mdft-font);
  font-size:36px;
  font-weight:400;
  line-height:1.05;
  letter-spacing:-1.6px;
  color:#1f2421;
}

.mdft__list{
  margin:0;
  padding:0;
  list-style:none;
}
.mdft__list li{
  position:relative;
  margin:0 0 20px;
  padding-left:30px;
  font-size:18px;
  font-weight:400;
  line-height:1.5;
  letter-spacing:-.2px;
  color:#4b5450;
}
.mdft__list li:last-child{margin-bottom:0}
.mdft__list li::before{
  content:"";
  position:absolute;
  left:2px;
  top:.62em;
  width:9px;
  height:9px;
  border-radius:50%;
  background:var(--mdft-gold);
}

/* ---------- responsive ---------- */

@media (max-width:1024px){
  .mdft{padding:64px 0 72px}
  .mdft__panel{gap:48px}
  .mdft__heading{font-size:48px;letter-spacing:-1.1px;margin-bottom:24px}
  .mdft__intro{font-size:34px}
  .mdft__nav{gap:40px}
  .mdft__tab{font-size:16px}
  .mdft__list li{font-size:19px;margin-bottom:22px}
}

@media (max-width:781px){
  .mdft{padding:48px 0 56px}
  .mdft__inner{padding:0 20px}
  .mdft__nav-wrap{margin-bottom:36px}

  /* full-bleed scroll strip so the last tab is reachable on a narrow screen */
  .mdft__nav{
    justify-content:flex-start;
    gap:28px;
    margin:0 -20px;
    padding:0 20px;
    scroll-behavior:smooth;
  }
  .mdft__tab{font-size:17px;padding-bottom:14px}

  .mdft__panel{grid-template-columns:1fr;gap:28px}
  .mdft--img-right .mdft__media{order:0}
  .mdft__media img{aspect-ratio:16/10}

  .mdft__heading{font-size:34px;letter-spacing:-.7px;margin-bottom:18px}
  .mdft__intro{font-size:27px;letter-spacing:-.5px}
  .mdft__list li{font-size:17px;margin-bottom:18px;padding-left:26px}
  .mdft__list li::before{width:8px;height:8px}
}
