.faq-hub{position:relative;padding:22px;border:3px dashed var(--line);border-radius:32px;background:rgba(255,253,248,.72);box-shadow:8px 11px 0 rgba(9,59,98,.14)}
.faq-tabs{display:flex;gap:9px;margin-bottom:18px;padding:5px;overflow-x:auto;scrollbar-width:thin}
.faq-tab{flex:1 0 170px;min-height:54px;padding:11px 14px;border:2px solid var(--line);border-radius:17px;background:#fff;color:var(--teal);font-size:12px;font-weight:900;line-height:1.25;cursor:pointer;transition:transform .18s,background .18s,color .18s,box-shadow .18s}
.faq-tab:hover{transform:translateY(-2px)}
.faq-tab[aria-selected="true"]{border-color:var(--teal);background:var(--teal);color:#fff;box-shadow:3px 4px 0 var(--coral)}
.faq-tab:focus-visible{outline:3px solid rgba(231,135,114,.4);outline-offset:2px}
.faq-category{padding:25px;border-radius:24px;background:#fff}
.faq-category[hidden]{display:none}
.faq-category-head{display:flex;align-items:flex-start;gap:14px;margin-bottom:18px}
.faq-category-number{display:grid;place-items:center;flex:0 0 auto;width:42px;height:42px;border-radius:50%;background:var(--yellow);color:var(--teal);font:900 17px Georgia,serif;box-shadow:3px 4px 0 var(--coral)}
.faq-category h3{margin:2px 0 4px;font-size:clamp(25px,3vw,34px)}
.faq-category-intro{margin:0;color:var(--muted);font-size:13px;font-weight:700;line-height:1.5}
.faq-questions{display:grid;grid-template-columns:1fr 1fr;gap:11px;align-items:start}
.faq-questions details{display:block;margin:0;padding:0;border:2px dashed var(--line);border-radius:18px;background:var(--paper);overflow:hidden}
.faq-questions summary{padding:17px 46px 17px 18px;color:var(--teal);font-size:14px;font-weight:900;line-height:1.35;position:relative}
.faq-questions summary::after{position:absolute;right:17px;top:50%;float:none;transform:translateY(-50%);font-size:22px}
.faq-answer{padding:0 18px 18px;border-top:2px dashed rgba(169,203,211,.65)}
.faq-answer p{margin:14px 0 0;color:var(--muted);font-size:14px;font-weight:600;line-height:1.65}
.faq-answer ul{display:grid;gap:7px;margin:13px 0 0;padding-left:20px;color:var(--muted);font-size:14px;font-weight:600;line-height:1.55}
.faq-answer a{color:var(--teal2);font-weight:900}
.faq-example{padding:10px 12px;border-radius:12px;background:var(--green);color:var(--teal)!important}
.course-faq-hub{--teal:var(--water-dark);--teal2:var(--water);--green:var(--water-light);padding:18px}
.course-faq-hub .faq-category{padding:24px}
.course-faq-hub summary{list-style:none}
.course-faq-hub summary::-webkit-details-marker{display:none}
.course-faq-hub summary::after{content:"+";color:var(--coral)}
.course-faq-hub details[open] summary::after{content:"−"}
@media(max-width:760px){.faq-hub{padding:12px;border-radius:25px}.faq-tabs{padding-bottom:10px}.faq-tab{flex-basis:155px}.faq-category{padding:20px 14px}.faq-questions{grid-template-columns:1fr}.faq-category-head{align-items:center}}
@media(max-width:420px){.faq-hub{padding:8px}.faq-category{padding:17px 10px}.faq-category-head{align-items:flex-start}.faq-category-number{width:36px;height:36px}.faq-questions summary{padding:15px 42px 15px 14px;font-size:13px}.faq-answer{padding:0 14px 15px}}
@media(max-width:520px){.faq-hub,.faq-category,.faq-questions,.faq-questions details{width:100%;min-width:0;max-width:100%}.faq-tabs{margin-right:-4px;margin-left:-4px}.faq-tab{flex-basis:140px}.faq-category h3,.faq-answer p,.faq-answer li{overflow-wrap:anywhere}}
@media(max-width:640px){
  .faq-tabs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:0 0 14px;padding:0;overflow:visible}
  .faq-tab{width:100%;min-width:0;min-height:70px;padding:10px 8px;overflow-wrap:anywhere;font-size:12px;line-height:1.3;white-space:normal}
  .faq-tab:last-child:nth-child(odd){grid-column:1/-1}
  .faq-tab[aria-selected="true"]{box-shadow:2px 3px 0 var(--coral)}
  .faq-category{padding-top:18px}
  .faq-questions details{touch-action:manipulation}
  .faq-questions summary{min-height:52px}
}
