
/* =====================================================================
   PlantNura — course testimonials (carousel: assets/js/testimonials.js)
   Used on education/course-detail.html (#testimonials) and the homepage proof strip (.tm-strip)
   ===================================================================== */
.tm-sec{position:relative;overflow:hidden;isolation:isolate;}
.tm-glow{position:absolute;inset:-20% -10% auto auto;width:70vw;height:70vw;max-width:900px;max-height:900px;z-index:-1;pointer-events:none;
  background:radial-gradient(closest-side,color-mix(in srgb,var(--color-brand-violet) 16%,transparent),transparent 70%),
             radial-gradient(closest-side at 30% 70%,color-mix(in srgb,var(--color-accent-bright) 12%,transparent),transparent 70%);
  filter:blur(10px);}
.tm-grid{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.35fr);gap:clamp(2rem,5vw,4.5rem);align-items:center;}
.tm-head h2{font-size:var(--text-2xl);letter-spacing:-.03em;line-height:1.04;margin:.9rem 0 1rem;}
.tm-grad{background:linear-gradient(100deg,var(--color-primary),var(--color-indigo) 45%,var(--color-teal));-webkit-background-clip:text;background-clip:text;color:transparent;}
.tm-head>p{color:var(--color-text-muted);max-width:44ch;}
.tm-head>p a{color:var(--color-primary);font-weight:600;text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1px;}

.tm-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem;margin:1.9rem 0 2rem;}
.tm-stats>div{padding:1rem .95rem;border:1px solid var(--color-divider);border-radius:var(--radius-xl);background:color-mix(in srgb,var(--color-surface) 82%,transparent);backdrop-filter:blur(6px);}
.tm-stats dt b{font-family:var(--font-display);font-weight:800;font-size:clamp(1.7rem,1.2rem + 1.6vw,2.4rem);letter-spacing:-.03em;line-height:1;
  background:linear-gradient(120deg,var(--color-primary),var(--color-teal));-webkit-background-clip:text;background-clip:text;color:transparent;}
.tm-stats dt small,.tm-stats dt b small{font-family:var(--font-display);font-weight:700;font-size:1rem;color:var(--color-text-faint);margin-left:.1rem;-webkit-text-fill-color:var(--color-text-faint);}
.tm-stats dd{font-size:var(--text-xs);color:var(--color-text-muted);margin-top:.45rem;line-height:1.35;}

.tm-ctrl{display:flex;align-items:center;gap:.9rem;}
.tm-btn{width:3rem;height:3rem;border-radius:50%;display:grid;place-items:center;border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text);cursor:pointer;
  transition:background var(--transition),color var(--transition),border-color var(--transition),transform var(--transition);}
.tm-btn:hover{background:var(--color-primary);border-color:var(--color-primary);color:#fff;transform:translateY(-2px);}
.tm-btn:focus-visible{outline:2px solid var(--color-primary);outline-offset:3px;}
.tm-btn svg{width:1.15rem;height:1.15rem;}
.tm-count{font-family:var(--font-display);font-size:var(--text-sm);color:var(--color-text-faint);font-variant-numeric:tabular-nums;white-space:nowrap;}
.tm-count b{color:var(--color-text);font-weight:800;}
.tm-bar{flex:1;height:3px;border-radius:3px;background:var(--color-divider);overflow:hidden;min-width:3rem;}
.tm-bar i{display:block;height:100%;width:0;background:linear-gradient(90deg,var(--color-primary),var(--color-accent-bright));}

/* The stage: a snap-scrolling track; the next card peeks in from the right */
.tm-stage{position:relative;min-width:0;}
.tm-track{display:flex;gap:1.25rem;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;scrollbar-width:none;
  padding:2rem 1.5rem 3.5rem;margin:-2rem -1.5rem -3.5rem;scroll-padding-inline:1.5rem;outline:none;
  -webkit-mask:linear-gradient(90deg,transparent,#000 1.5rem,#000 84%,transparent);mask:linear-gradient(90deg,transparent,#000 1.5rem,#000 84%,transparent);}
.tm-track::-webkit-scrollbar{display:none;}
.tm-card{flex:0 0 82%;scroll-snap-align:start;position:relative;display:flex;flex-direction:column;gap:1.4rem;margin:0;
  padding:clamp(1.6rem,1.2rem + 1.6vw,2.6rem);border-radius:var(--radius-2xl);
  background:var(--color-surface);border:1px solid var(--color-divider);box-shadow:var(--shadow-md);
  transition:transform .5s cubic-bezier(.16,1,.3,1),box-shadow .5s,opacity .5s;opacity:.55;transform:scale(.96);}
.tm-card.is-on{opacity:1;transform:none;box-shadow:var(--shadow-lg);}
.tm-card::before{content:"";position:absolute;inset:0;border-radius:inherit;padding:1px;pointer-events:none;
  background:linear-gradient(135deg,var(--color-brand-violet),transparent 40%,transparent 60%,var(--color-accent-bright));
  -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;opacity:0;transition:opacity .5s;}
.tm-card.is-on::before{opacity:1;}
.tm-top{display:flex;align-items:flex-start;justify-content:space-between;}
.tm-q{font-family:Georgia,'Times New Roman',serif;font-size:5.5rem;line-height:.7;height:2.6rem;
  background:linear-gradient(135deg,var(--color-brand-violet),var(--color-accent-bright));-webkit-background-clip:text;background-clip:text;color:transparent;}
.tm-stars{display:inline-flex;gap:3px;}
.tm-stars i{width:1.05rem;height:1.05rem;background:#f5b301;
  -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2l2.9 6.6 7.1.6-5.4 4.7 1.6 7L12 17.3 5.8 20.9l1.6-7L2 9.2l7.1-.6z'/%3E%3C/svg%3E") center/contain no-repeat;
          mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2l2.9 6.6 7.1.6-5.4 4.7 1.6 7L12 17.3 5.8 20.9l1.6-7L2 9.2l7.1-.6z'/%3E%3C/svg%3E") center/contain no-repeat;}
.tm-stars i.off{background:var(--color-surface-offset-2);}
.tm-card blockquote{font-family:var(--font-display);font-weight:500;font-size:clamp(1.12rem,1rem + .55vw,1.42rem);line-height:1.45;letter-spacing:-.01em;color:var(--color-text);flex:1;}
.tm-card figcaption{display:flex;align-items:center;gap:.9rem;padding-top:1.2rem;border-top:1px solid var(--color-divider);}
.tm-card figcaption b{display:block;font-family:var(--font-display);font-weight:800;font-size:var(--text-base);color:var(--color-text);}
.tm-card figcaption em{display:block;font-style:normal;font-size:var(--text-sm);color:var(--color-text-muted);}
.tm-av{flex:none;width:3.1rem;height:3.1rem;border-radius:50%;display:grid;place-items:center;color:#fff;font-family:var(--font-display);font-weight:800;letter-spacing:.02em;
  background:linear-gradient(135deg,#8c52ff,#5c6ff4);box-shadow:0 6px 18px rgba(109,59,232,.28);}
.tm-av svg{width:1.3rem;height:1.3rem;}
.tm-av.a2{background:linear-gradient(135deg,#0b767c,#03c9c0);}
.tm-av.a3{background:linear-gradient(135deg,#3d53e0,#8c52ff);}
.tm-av.a4{background:linear-gradient(135deg,#c81fc4,#8c52ff);}
.tm-av.a5{background:linear-gradient(135deg,#007a3f,#0b9e8a);}
.tm-av.a6{background:linear-gradient(135deg,#01284f,#3d53e0);}
.tm-av.a7{background:linear-gradient(135deg,#5c6ff4,#03c9c0);}

.tm-dots{display:flex;gap:.45rem;margin-top:1.5rem;}
.tm-dots button{width:.55rem;height:.55rem;border-radius:999px;border:0;padding:0;background:var(--color-border);cursor:pointer;transition:width .4s cubic-bezier(.16,1,.3,1),background .3s;}
.tm-dots button[aria-selected="true"]{width:1.9rem;background:linear-gradient(90deg,var(--color-primary),var(--color-accent-bright));}

@media (max-width:960px){
  .tm-grid{grid-template-columns:1fr;}
  .tm-ctrl{display:none;}
  .tm-card{flex-basis:88%;}
  .tm-dots{justify-content:center;}
}
@media (max-width:520px){
  .tm-stats{gap:.5rem;}
  .tm-stats>div{padding:.8rem .7rem;}
  .tm-card{flex-basis:92%;}
  .tm-track{-webkit-mask:none;mask:none;}
}
@media (prefers-reduced-motion:reduce){
  .tm-track{scroll-behavior:auto;}
  .tm-card{transition:none;}
}

/* Homepage proof strip — one line under "Everything we offer" linking to the course testimonials */
.tm-strip{display:flex;align-items:center;gap:1.25rem;margin-top:clamp(1.5rem,3vw,2.25rem);padding:1rem 1.25rem 1rem 1rem;
  border-radius:var(--radius-full);background:var(--color-surface);border:1px solid var(--color-divider);box-shadow:var(--shadow-sm);
  color:var(--color-text);text-decoration:none;transition:box-shadow var(--transition),transform var(--transition),border-color var(--transition);}
.tm-strip:hover{box-shadow:var(--shadow-md);transform:translateY(-2px);border-color:var(--color-primary-tint);}
.tm-strip-av{display:flex;flex:none;}
.tm-strip-av i{width:2.5rem;height:2.5rem;border-radius:50%;display:grid;place-items:center;font-style:normal;color:#fff;font-family:var(--font-display);font-weight:800;font-size:.78rem;
  border:2px solid var(--color-surface);margin-left:-.6rem;background:linear-gradient(135deg,#8c52ff,#5c6ff4);}
.tm-strip-av i:first-child{margin-left:0;}
.tm-strip-av i.a2{background:linear-gradient(135deg,#0b767c,#03c9c0);}
.tm-strip-av i.a7{background:linear-gradient(135deg,#5c6ff4,#03c9c0);}
.tm-strip-av i.a3{background:linear-gradient(135deg,#3d53e0,#8c52ff);}
.tm-strip-txt{display:flex;align-items:center;gap:.9rem;flex:1;min-width:0;}
.tm-strip-txt b{display:block;font-family:var(--font-display);font-weight:800;font-size:var(--text-base);}
.tm-strip-txt em{display:block;font-style:normal;font-size:var(--text-sm);color:var(--color-text-muted);}
.tm-strip-go{flex:none;display:inline-flex;align-items:center;gap:.4rem;font-weight:700;color:var(--color-primary);white-space:nowrap;}
.tm-strip-go svg{width:1rem;height:1rem;transition:transform var(--transition);}
.tm-strip:hover .tm-strip-go svg{transform:translateX(3px);}
@media (max-width:760px){
  .tm-strip{flex-wrap:wrap;border-radius:var(--radius-xl);gap:.8rem 1rem;padding:1rem;}
  .tm-strip-txt{flex-basis:100%;order:2;flex-direction:column;align-items:flex-start;gap:.35rem;}
  .tm-strip-go{order:3;}
}
