/* ===== FAQ USUARIOS ===== */

.cb-user-faq{
  width:100%;
  padding: clamp(32px, 4.5vw, 90px) 0;
  background:#ffffff;
}

.cb-user-faq-wrap{
  width: min(920px, calc(100% - 36px));
  margin: 0 auto;
}

/* Header */
.cb-user-faq-head{
  margin-bottom: 22px;
}

.cb-user-faq-title{
  margin:0 0 10px;
  font-size: clamp(26px, 3.2vw, 40px);
  line-height:1.1;
  font-weight: 860;
  letter-spacing: -0.02em;
  color:#0a1423;
}

.cb-user-faq-subtitle{
  margin:0;
  max-width: 80ch;
  color: rgba(10,20,35,.75);
  font-size: clamp(14px, 1.3vw, 16px);
  line-height:1.65;
}

/* List */
.cb-user-faq-list{
  display:flex;
  flex-direction: column;
  gap: 12px;
}

/* Item */
.cb-user-faq-item{
  border:1px solid rgba(10,20,35,.12);
  border-radius:18px;
  background:
    linear-gradient(180deg, rgba(255,255,255,.96), rgba(255,255,255,.92));
  box-shadow:
    0 12px 32px rgba(10,20,35,.06),
    0 2px 0 rgba(10,20,35,.03);
  overflow:hidden;
  transition: border-color .18s ease, box-shadow .18s ease;
}

.cb-user-faq-item:hover{
  border-color: rgba(66,99,235,.22);
  box-shadow:
    0 18px 44px rgba(10,20,35,.08),
    0 3px 0 rgba(10,20,35,.04);
}

/* Summary */
.cb-user-faq-item summary{
  list-style:none;
  cursor:pointer;
  padding: 16px 18px;
  display:flex;
  align-items:center;
  gap:14px;
  font-weight: 820;
  letter-spacing: -0.01em;
  color:#0a1423;
  font-size: clamp(14.5px, 1.3vw, 16px);
  user-select:none;
}

.cb-user-faq-item summary::-webkit-details-marker{
  display:none;
}

/* Icon */
.cb-user-faq-item summary::after{
  content:"";
  margin-left:auto;
  width: 34px;
  height: 34px;
  border-radius: 12px;
  border:1px solid rgba(10,20,35,.12);
  background: rgba(255,255,255,.9);
  position:relative;
  flex:0 0 auto;
}

.cb-user-faq-item summary::before{
  content:"";
  position:absolute;
  right: 30px;
  width: 14px;
  height: 2px;
  background: linear-gradient(90deg, rgba(66,99,235,.95), rgba(11,163,255,.95));
  border-radius:2px;
  transform: translateY(0);
}

.cb-user-faq-item summary::after{
  background:
    linear-gradient(90deg, rgba(66,99,235,.95), rgba(11,163,255,.95)) center / 14px 2px no-repeat,
    linear-gradient(0deg, rgba(66,99,235,.95), rgba(11,163,255,.95)) center / 2px 14px no-repeat,
    rgba(255,255,255,.9);
}

/* Open state */
.cb-user-faq-item[open]{
  border-color: rgba(66,99,235,.28);
}

.cb-user-faq-item[open] summary{
  background:
    radial-gradient(800px 380px at 0% 0%, rgba(66,99,235,.10), transparent 55%);
}

.cb-user-faq-item[open] summary::after{
  background:
    linear-gradient(90deg, rgba(66,99,235,.95), rgba(11,163,255,.95)) center / 14px 2px no-repeat,
    rgba(255,255,255,.9);
}

/* Content */
.cb-user-faq-item p{
  margin:0;
  padding: 0 18px 18px;
  color: rgba(10,20,35,.78);
  font-size: clamp(13.5px, 1.25vw, 15px);
  line-height:1.7;
  max-width: 78ch;
}

/* Mobile tweaks */
@media (max-width: 520px){
  .cb-user-faq-wrap{
    width: calc(100% - 28px);
  }

  .cb-user-faq-item summary{
    padding: 14px 14px;
  }

  .cb-user-faq-item p{
    padding: 0 14px 14px;
  }
}