/* Safi Surf Camp – FAQ | assets/css/faq.css */
.ssf-block{font-family:'Work Sans',-apple-system,sans-serif;color:#23201C;max-width:900px;margin:0 auto}
.ssf-block *{box-sizing:border-box}

.ssf-title{
  font-family:'Fraunces',Georgia,serif; font-size:1.6rem; font-weight:700;
  color:#23201C; margin:0 0 1.4rem; text-align:center;
}

.ssf-filter-bar{display:flex;gap:.5rem;flex-wrap:wrap;margin-bottom:1.5rem;justify-content:center}
.ssf-ftab{padding:.4rem 1rem;border-radius:2rem;border:1.5px solid #E3D9CB;font-size:.8rem;font-weight:500;cursor:pointer;background:#fff;color:#5A5347;transition:all .2s}
.ssf-ftab.active{background:var(--ssf-group-color,#C1592D);color:#fff;border-color:var(--ssf-group-color,#C1592D)}
.ssf-ftab:hover:not(.active){border-color:var(--ssf-group-color,#E08A5B);color:var(--ssf-group-color,#C1592D)}

.ssf-list{
  display:grid; grid-template-columns:repeat(var(--ssf-cols,1),1fr); gap:.7rem;
  align-items:start;
}
@media(max-width:720px){ .ssf-list{ grid-template-columns:1fr; } }

.ssf-item{background:#fff;border:1px solid #E3D9CB;border-radius:14px;overflow:hidden;transition:opacity .15s}
.ssf-item.ssf-hidden{display:none}
.ssf-q{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.2rem;cursor:pointer;font-weight:600;font-size:.9rem;gap:1rem;transition:background .2s;user-select:none}
.ssf-q:hover{background:#F3ECE1}
.ssf-arrow{flex-shrink:0;width:22px;height:22px;border-radius:50%;background:#F3ECE1;display:flex;align-items:center;justify-content:center;font-size:.68rem;transition:transform .25s;color:#0E4D6E}
.ssf-item.open .ssf-arrow{transform:rotate(180deg)}
.ssf-a{max-height:0;overflow:hidden;transition:max-height .3s ease}
.ssf-item.open .ssf-a{max-height:600px}
.ssf-a-inner{padding:0 1.2rem 1.1rem;font-size:.86rem;color:#5A5347;line-height:1.72;text-align:justify}
.ssf-a-inner p{margin:0 0 .7rem}
.ssf-a-inner p:last-child{margin-bottom:0}
