.fortunev2-teachers .section-head{
  align-items:flex-end;
}

.fortunev2-teachers .section-head__lead{
  max-width:40rem;
}

.fortunev2-teacher-carousel{
  position:relative;
  margin-top:6px;
}

.fortunev2-teacher-carousel__rail{
  overflow-x:auto;
  overflow-y:visible;
  overscroll-behavior-x:contain;
  scroll-behavior:smooth;
  scroll-snap-type:x mandatory;
  scroll-padding-inline:2px;
  padding:4px 2px 22px;
  -webkit-overflow-scrolling:touch;
  scrollbar-width:none;
}

.fortunev2-teacher-carousel__rail::-webkit-scrollbar{
  display:none;
}

.fortunev2-teachers .fortunev2-teacher-grid{
  display:flex !important;
  grid-template-columns:none !important;
  gap:18px;
  align-items:stretch;
  width:max-content;
  min-width:100%;
}

.fortunev2-teachers .fortunev2-teacher-card{
  position:relative;
  flex:0 0 clamp(350px, 34vw, 462px);
  min-height:0;
  border-radius:28px;
  border:1px solid rgba(159,121,48,.16);
  background:
    radial-gradient(circle at 22% 0%, rgba(199,164,106,.14), transparent 40%),
    linear-gradient(180deg, #fff 0%, #fffaf0 100%);
  box-shadow:0 22px 52px rgba(57,42,18,.10);
  scroll-snap-align:start;
  scroll-margin-inline:2px;
  transform:translateZ(0);
}

.fortunev2-teachers .fortunev2-teacher-card:hover{
  transform:translateY(-4px);
  box-shadow:0 28px 64px rgba(57,42,18,.14);
}

.fortunev2-teachers .fortunev2-teacher-card[hidden],
.fortunev2-teachers .fortunev2-teacher-card[style*="display:none"]{
  display:none !important;
}

.fortunev2-teachers .fortunev2-teacher-head{
  height:184px;
  padding:24px 24px 18px;
  display:grid;
  grid-template-columns:104px minmax(0,1fr);
  gap:18px;
  align-items:center;
  background:
    radial-gradient(circle at 20% 20%, rgba(255,255,255,.92), transparent 36%),
    linear-gradient(135deg, rgba(199,164,106,.24), rgba(255,248,235,.42));
  border-bottom:1px solid rgba(159,121,48,.10);
}

.fortunev2-teachers .fortunev2-teacher-avatar{
  --fortunev2-avatar-orbit:62px;
  width:104px;
  height:104px;
  border-radius:50%;
  flex-shrink:0;
  overflow:visible;
  border:2px solid rgba(199,164,106,.25);
  background:none;
  box-shadow:0 18px 38px rgba(94,67,27,.14);
  font-size:36px;
  position:relative;
  isolation:isolate;
  display:flex;
  align-items:center;
  justify-content:center;
}

.fortunev2-teachers .fortunev2-teacher-avatar::before{
  content:"";
  position:absolute;
  inset:-5px;
  border-radius:50%;
  border:1.5px solid rgba(214,173,106,.46);
  border-top-color:rgba(255,236,195,.88);
  border-right-color:rgba(214,173,106,.22);
  background:
    radial-gradient(44% 30% at 50% 108%, rgba(255,152,58,.30) 0%, rgba(255,152,58,0) 78%),
    radial-gradient(24% 25% at 31% 102%, rgba(255,204,129,.25) 0%, rgba(255,204,129,0) 75%),
    radial-gradient(24% 25% at 69% 102%, rgba(255,204,129,.24) 0%, rgba(255,204,129,0) 76%);
  box-shadow:
    0 0 12px rgba(214,173,106,.22),
    0 9px 16px rgba(255,159,64,.20);
  pointer-events:none;
  z-index:0;
  animation:
    fortuneV2TeacherAuraPulse 6.4s ease-in-out infinite,
    fortuneV2TeacherFlameFlicker 3.2s ease-in-out infinite;
}

.fortunev2-teachers .fortunev2-teacher-avatar::after{
  content:"";
  position:absolute;
  width:12px;
  height:12px;
  border-radius:50%;
  background:
    radial-gradient(circle, rgba(255,252,236,.98) 0%, rgba(255,244,210,.90) 28%, rgba(255,236,188,.20) 62%, rgba(255,236,188,0) 100%),
    linear-gradient(90deg, rgba(255,244,206,0) 0%, rgba(255,244,206,.90) 50%, rgba(255,244,206,0) 100%),
    linear-gradient(0deg, rgba(255,244,206,0) 0%, rgba(255,244,206,.90) 50%, rgba(255,244,206,0) 100%);
  top:50%;
  left:50%;
  box-shadow:
    0 0 11px rgba(255,228,164,.86),
    22px 11px 0 -3px rgba(255,238,198,.74),
    -12px 22px 0 -4px rgba(255,234,189,.62);
  pointer-events:none;
  z-index:3;
  transform-origin:center center;
  animation:fortuneV2TeacherOrbitSpark 8s linear infinite;
}

.fortunev2-teachers .fortunev2-teacher-avatar img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
  border-radius:50%;
  position:relative;
  z-index:2;
  box-shadow:0 0 0 3px rgba(255,255,255,.82);
}

.fortunev2-teachers .fortunev2-teacher-avatar:has(.fortunev2-avatar-img[src]:not([src=""])){
  background:none;
}

.fortunev2-teachers .fortunev2-avatar-emoji{
  position:relative;
  z-index:2;
}

.fortunev2-teachers .fortunev2-teacher-meta{
  min-width:0;
  overflow:hidden;
}

.fortunev2-teachers .fortunev2-teacher-status{
  margin-bottom:10px;
  padding:5px 11px;
  font-size:11px;
  font-weight:800;
}

.fortunev2-teachers .fortunev2-teacher-name{
  font-size:clamp(22px, 2.05vw, 28px);
  line-height:1.16;
  letter-spacing:-.035em;
  color:#111827;
  display:-webkit-box;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
  overflow:hidden;
}

.fortunev2-teachers .fortunev2-teacher-subtitle{
  margin-top:8px;
  font-size:14px;
  line-height:1.45;
  color:#806331;
  font-weight:800;
  display:-webkit-box;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
  overflow:hidden;
}

.fortunev2-teachers .fortunev2-teacher-body{
  padding:23px 26px 20px;
}

.fortunev2-teachers .fortunev2-teacher-desc{
  margin-bottom:20px;
  color:#4b5563;
  line-height:1.8;
  display:block;
  overflow:visible;
}

.fortunev2-teachers .fortunev2-teacher-rows{
  gap:10px;
  margin-bottom:20px;
}

.fortunev2-teachers .fortunev2-teacher-row{
  align-items:flex-start;
  gap:10px;
  padding:0;
  border-radius:0;
  background:transparent;
  border:0;
}

.fortunev2-teachers .fortunev2-teacher-row__label{
  color:#6b7280;
  font-weight:700;
  white-space:nowrap;
}

.fortunev2-teachers .fortunev2-teacher-row__val{
  color:#111827;
  line-height:1.45;
}

.fortunev2-teachers .fortunev2-teacher-tags{
  gap:7px;
}

.fortunev2-teachers .fortunev2-teacher-tag{
  background:#fff;
  border-color:rgba(159,121,48,.14);
  color:#6f5424;
  font-weight:800;
  padding:5px 11px;
}

.fortunev2-teachers .fortunev2-teacher-foot{
  margin-top:auto;
  padding:18px 24px 22px;
  border-top:1px solid rgba(159,121,48,.10);
  background:rgba(255,255,255,.76);
  backdrop-filter:blur(10px);
}

.fortunev2-teachers .fortunev2-teacher-price__label{
  color:#7b6a53;
  font-weight:800;
}

.fortunev2-teachers .fortunev2-teacher-price__val{
  font-size:24px;
  letter-spacing:-.02em;
}

.fortunev2-teachers .fortunev2-teacher-foot__actions{
  min-width:150px;
}

.fortunev2-teachers .fortunev2-teacher-cta{
  border-radius:999px;
  padding:11px 18px;
  font-weight:900;
}

.fortunev2-teachers .fortunev2-teacher-cta--ghost{
  background:#fff;
}

.fortunev2-teacher-carousel__controls{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  width:min(100%, 560px);
  margin:22px auto 42px;
  padding:10px;
  border:1px solid rgba(159,121,48,.16);
  border-radius:999px;
  background:linear-gradient(135deg, rgba(255,255,255,.94), rgba(255,248,234,.82));
  box-shadow:0 18px 42px rgba(57,42,18,.10);
}

.fortunev2-teacher-carousel__hint{
  flex:1;
  text-align:center;
  color:#7b6a53;
  font-size:13px;
  font-weight:800;
  letter-spacing:.03em;
}

.fortunev2-teacher-carousel__arrow{
  width:44px;
  height:44px;
  border-radius:50%;
  border:1px solid rgba(159,121,48,.16);
  background:#fff;
  color:#4b3720;
  box-shadow:0 12px 28px rgba(57,42,18,.10);
  cursor:pointer;
  font-size:30px;
  line-height:1;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  transition:transform .16s ease, box-shadow .16s ease, opacity .16s ease;
}

.fortunev2-teacher-carousel__arrow:hover{
  transform:translateY(-1px);
  box-shadow:0 16px 36px rgba(57,42,18,.14);
}

.fortunev2-teacher-carousel__arrow:disabled{
  cursor:default;
  opacity:.36;
  transform:none;
  box-shadow:none;
}

.fortunev2-teachers .fortunev2-teacher-card--soon{
  background:
    radial-gradient(circle at 20% 0%, rgba(199,164,106,.10), transparent 40%),
    rgba(255,255,255,.72);
}

@keyframes fortuneV2TeacherAuraPulse{
  0%, 100%{
    opacity:.74;
    transform:none;
    box-shadow:0 0 10px rgba(214,173,106,.20);
  }
  50%{
    opacity:.94;
    transform:none;
    box-shadow:0 0 15px rgba(214,173,106,.30);
  }
}

@keyframes fortuneV2TeacherOrbitSpark{
  0%{
    transform:translate(-50%,-50%) rotate(0deg) translateX(var(--fortunev2-avatar-orbit, 62px)) scale(.88);
    opacity:.62;
    filter:drop-shadow(0 0 1px rgba(255,228,164,.18));
  }
  25%{
    transform:translate(-50%,-50%) rotate(90deg) translateX(var(--fortunev2-avatar-orbit, 62px)) scale(1);
    opacity:.96;
    filter:drop-shadow(0 0 6px rgba(255,228,164,.66));
  }
  50%{
    transform:translate(-50%,-50%) rotate(180deg) translateX(var(--fortunev2-avatar-orbit, 62px)) scale(.9);
    opacity:.70;
    filter:drop-shadow(0 0 2px rgba(255,228,164,.28));
  }
  75%{
    transform:translate(-50%,-50%) rotate(270deg) translateX(var(--fortunev2-avatar-orbit, 62px)) scale(1);
    opacity:.92;
    filter:drop-shadow(0 0 6px rgba(255,228,164,.62));
  }
  100%{
    transform:translate(-50%,-50%) rotate(360deg) translateX(var(--fortunev2-avatar-orbit, 62px)) scale(.88);
    opacity:.62;
    filter:drop-shadow(0 0 1px rgba(255,228,164,.18));
  }
}

@keyframes fortuneV2TeacherFlameFlicker{
  0%, 100%{
    background-size:100% 100%, 100% 100%, 100% 100%;
    background-position:center 0, center 0, center 0;
    box-shadow:
      0 0 12px rgba(214,173,106,.22),
      0 9px 16px rgba(255,159,64,.20);
  }
  45%{
    background-size:103% 102%, 98% 100%, 102% 100%;
    background-position:center 2px, -1px 1px, 1px 1px;
    box-shadow:
      0 0 14px rgba(214,173,106,.26),
      0 11px 20px rgba(255,159,64,.28);
  }
  75%{
    background-size:101% 101%, 101% 102%, 99% 101%;
    background-position:center 1px, 1px 0, -1px 0;
    box-shadow:
      0 0 13px rgba(214,173,106,.24),
      0 10px 18px rgba(255,159,64,.24);
  }
}

@media (max-width: 900px){
  .fortunev2-teacher-carousel__rail{
    margin-inline:calc(-1 * var(--sp-16, 16px));
    padding-inline:var(--sp-16, 16px);
    scroll-padding-inline:var(--sp-16, 16px);
  }

  .fortunev2-teachers .fortunev2-teacher-grid{
    min-width:max-content;
    gap:16px;
  }

  .fortunev2-teachers .fortunev2-teacher-card{
    flex-basis:min(86vw, 410px);
    min-height:0;
    border-radius:26px;
  }

  .fortunev2-teachers .fortunev2-teacher-head{
    height:164px;
    padding:21px 20px 16px;
    grid-template-columns:88px minmax(0,1fr);
    gap:15px;
  }

  .fortunev2-teachers .fortunev2-teacher-avatar{
    --fortunev2-avatar-orbit:52px;
    width:88px;
    height:88px;
    border-radius:50%;
  }

  .fortunev2-teachers .fortunev2-teacher-name{
    font-size:23px;
  }

  .fortunev2-teachers .fortunev2-teacher-body{
    padding:18px 20px 15px;
  }

  .fortunev2-teachers .fortunev2-teacher-desc{
    display:block;
    overflow:visible;
  }

  .fortunev2-teachers .fortunev2-teacher-foot{
    padding:16px 20px 20px;
    flex-direction:column;
    align-items:stretch;
  }

  .fortunev2-teachers .fortunev2-teacher-foot__actions{
    min-width:0;
    display:grid;
    grid-template-columns:1fr;
  }

  .fortunev2-teacher-carousel__controls{
    width:calc(100% - 48px);
    margin:20px auto 38px;
  }
}

@media (max-width: 520px){
  .fortunev2-filter-tabs{
    flex-wrap:nowrap;
    overflow-x:auto;
    padding-bottom:6px;
    scrollbar-width:none;
  }

  .fortunev2-filter-tabs::-webkit-scrollbar{
    display:none;
  }

  .fortunev2-open-hours{
    flex:0 0 auto;
  }

  .fortunev2-teachers .fortunev2-teacher-card{
    flex-basis:84vw;
    min-height:0;
  }

  .fortunev2-teachers .fortunev2-teacher-head{
    height:150px;
    grid-template-columns:76px minmax(0,1fr);
    align-items:center;
    padding:18px 18px 14px;
    gap:13px;
  }

  .fortunev2-teachers .fortunev2-teacher-avatar{
    --fortunev2-avatar-orbit:46px;
    width:76px;
    height:76px;
    border-radius:50%;
  }

  .fortunev2-teachers .fortunev2-teacher-status{
    margin-bottom:7px;
    font-size:10.5px;
  }

  .fortunev2-teachers .fortunev2-teacher-name{
    font-size:20px;
  }

  .fortunev2-teachers .fortunev2-teacher-subtitle{
    margin-top:6px;
    font-size:12.5px;
  }

  .fortunev2-teachers .fortunev2-teacher-body{
    padding:15px 18px 12px;
  }

  .fortunev2-teachers .fortunev2-teacher-desc{
    margin-bottom:13px;
    font-size:13px;
    line-height:1.65;
    display:block;
    overflow:visible;
  }

  .fortunev2-teachers .fortunev2-teacher-rows{
    gap:7px;
    margin-bottom:13px;
  }

  .fortunev2-teachers .fortunev2-teacher-row{
    display:grid;
    grid-template-columns:20px auto 1fr;
    padding:0;
    font-size:12px;
    background:transparent;
    border:0;
  }

  .fortunev2-teachers .fortunev2-teacher-tag{
    padding:4px 9px;
    font-size:11.5px;
  }

  .fortunev2-teachers .fortunev2-teacher-foot{
    padding:14px 18px 18px;
  }

  .fortunev2-teachers .fortunev2-teacher-price__val{
    font-size:22px;
  }

  .fortunev2-teachers .fortunev2-teacher-cta{
    padding:10px 16px;
  }

  .fortunev2-teacher-carousel__hint{
    font-size:12px;
  }

  .fortunev2-teacher-carousel__arrow{
    width:40px;
    height:40px;
    font-size:27px;
  }
}

.fortunev2-type-filter{
  display:flex;
  align-items:center;
  gap:10px;
  margin:14px 0 18px;
  overflow-x:auto;
  padding:2px 2px 8px;
  scrollbar-width:none;
}

.fortunev2-type-filter::-webkit-scrollbar{
  display:none;
}

.fortunev2-type-filter[hidden]{
  display:none !important;
}

.fortunev2-type-filter__pill{
  flex:0 0 auto;
  border:1px solid rgba(159,121,48,.18);
  border-radius:999px;
  background:rgba(255,255,255,.82);
  color:#6f5424;
  box-shadow:0 10px 28px rgba(57,42,18,.08);
  cursor:pointer;
  font-weight:900;
  letter-spacing:.03em;
  padding:9px 16px;
  transition:background .16s ease, border-color .16s ease, box-shadow .16s ease, color .16s ease, transform .16s ease;
}

.fortunev2-type-filter__pill:hover{
  transform:translateY(-1px);
  box-shadow:0 14px 34px rgba(57,42,18,.12);
}

.fortunev2-type-filter__pill.is-active{
  border-color:rgba(159,121,48,.42);
  background:linear-gradient(135deg, #c69a3d, #a87924);
  color:#fff;
  box-shadow:0 16px 36px rgba(159,121,48,.22);
}

@media (max-width: 900px){
  .fortunev2-type-filter{
    margin-inline:calc(-1 * var(--sp-16, 16px));
    padding-inline:var(--sp-16, 16px);
  }
}

@media (max-width: 520px){
  .fortunev2-type-filter{
    margin-top:10px;
    margin-bottom:14px;
  }

  .fortunev2-type-filter__pill{
    padding:8px 14px;
    font-size:12px;
  }
}

@media (prefers-reduced-motion: reduce){
  .fortunev2-teachers .fortunev2-teacher-avatar::before,
  .fortunev2-teachers .fortunev2-teacher-avatar::after{
    animation:none !important;
  }
}
