/* CT25 — FAQ Master; migrazione da style.css fornito il 11 ottobre 2026. */
/* =========================================================
   FAQ  — MASTER MNEMOSINE CT25
   ========================================================= */

.ct25-faq,
.ct25-faq *{
  box-sizing:border-box;
}

.ct25-faq{
  font-family:Arial,Helvetica,sans-serif;
  color:#111;
  padding:18px 12px;
  background:transparent;
}

.ct25-faq .ct25-faq-wrap{
  max-width:1100px;
  margin:0 auto;
}

/* Card */
.ct25-faq .ct25-faq-card{
  background:#fff;
  border:1px solid #eee;
  border-radius:18px;
  box-shadow:0 16px 44px rgba(0,0,0,.10);
  overflow:hidden;
  position:relative;
}

/* Top stripe */
.ct25-faq .ct25-faq-card:before{
  content:"";
  position:absolute;
  top:0;
  left:0;
  right:0;
  height:6px;
  background:linear-gradient(90deg,#b30000 0%, #ff2a2a 55%, #ffd400 100%);
}

/* Header */
.ct25-faq .ct25-faq-head{
  padding:18px 18px 12px;
  text-align:center;
}

.ct25-faq .ct25-faq-title{
  margin:10px 0 6px;
  color:#b30000;
  font-weight:1000;
  font-size:22px;
  letter-spacing:.2px;
  line-height:1.15;
}

.ct25-faq .ct25-faq-sub{
  margin:0 auto 6px;
  max-width:860px;
  color:#222;
  opacity:.9;
  font-size:13px;
  line-height:1.45;
}

/* List */
.ct25-faq .ct25-acc{
  padding:10px 14px 16px;
}

.ct25-faq details.ct25-item{
  border:1px solid #f0f0f0;
  border-radius:14px;
  background:#fff;
  box-shadow:0 10px 26px rgba(0,0,0,.06);
  overflow:hidden;
  margin:10px 0;
}

/* Question row */
.ct25-faq summary.ct25-q{
  list-style:none;
  cursor:pointer;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:14px 14px;
  user-select:none;
}

.ct25-faq summary.ct25-q::-webkit-details-marker{
  display:none;
}

.ct25-faq .ct25-q-left{
  display:flex;
  align-items:flex-start;
  gap:10px;
  min-width:0;
}

/* Badge number */
.ct25-faq .ct25-n{
  flex:0 0 auto;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:28px;
  height:28px;
  border-radius:9px;
  background:#fff1f1;
  border:1px solid rgba(179,0,0,.25);
  color:#b30000;
  font-weight:1000;
  font-size:13px;
}

/* Question text */
.ct25-faq .ct25-qtext{
  color:#b30000;
  font-weight:1000;
  font-size:14.5px;
  line-height:1.25;
  letter-spacing:.1px;
  white-space:normal;
}

/* Icon */
.ct25-faq .ct25-ico{
  flex:0 0 auto;
  width:34px;
  height:34px;
  border-radius:12px;
  background:#b30000;
  display:flex;
  align-items:center;
  justify-content:center;
  box-shadow:0 10px 22px rgba(179,0,0,.20);
  transition:transform .18s ease;
}

.ct25-faq .ct25-ico svg{
  width:18px;
  height:18px;
  display:block;
  fill:none;
  stroke:#fff;
  stroke-width:2.8;
  stroke-linecap:round;
  stroke-linejoin:round;
}

/* Answer */
.ct25-faq .ct25-a{
  padding:0 14px 14px;
  color:#111;
  font-size:13.5px;
  line-height:1.55;
}

.ct25-faq .ct25-a p{
  margin:10px 0 0;
}

.ct25-faq .ct25-a a{
  color:#0b57d0;
  font-weight:900;
  text-decoration:none;
}

.ct25-faq .ct25-a a:hover{
  text-decoration:underline;
}

/* Open state */
.ct25-faq details[open] summary .ct25-ico{
  transform:rotate(45deg);
}

.ct25-faq details[open]{
  border-color:#ffd6d6;
}

/* Foot */
.ct25-faq .ct25-foot{
  padding:0 18px 18px;
  text-align:center;
  font-size:12px;
  color:#222;
  opacity:.85;
}

.ct25-faq .ct25-foot b{
  color:#b30000;
}

.ct25-faq .ct25-faq-help{
  margin:4px 14px 18px;
  padding:16px;
  border-radius:16px;
  background:linear-gradient(135deg,#fff8dc,#ffffff);
  border:1px solid rgba(255,196,0,.55);
  text-align:center;
}

.ct25-faq .ct25-faq-help-title{
  margin:0 0 6px;
  color:#b30000;
  font-weight:1000;
  font-size:16px;
}

.ct25-faq .ct25-faq-help-text{
  margin:0 auto 12px;
  max-width:820px;
  color:#222;
  font-size:13.5px;
  line-height:1.55;
}

.ct25-faq .ct25-faq-help-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:11px 16px;
  border-radius:999px;
  background:#b30000;
  color:#fff;
  font-weight:1000;
  text-decoration:none;
  box-shadow:0 10px 22px rgba(179,0,0,.20);
}

.ct25-faq .ct25-faq-help-btn:hover{
  background:#8f0000;
  color:#fff;
  text-decoration:none;
}

/* Responsive */
@media (max-width:680px){
  .ct25-faq .ct25-faq-title{
    font-size:19px;
  }

  .ct25-faq summary.ct25-q{
    padding:12px;
  }

  .ct25-faq .ct25-ico{
    width:32px;
    height:32px;
    border-radius:11px;
  }

  .ct25-faq .ct25-qtext{
    font-size:14px;
  }

  .ct25-faq .ct25-a{
    font-size:13px;
  }

  .ct25-faq .ct25-faq-help{
    margin:4px 12px 16px;
    padding:14px 12px;
  }

  .ct25-faq .ct25-faq-help-title{
    font-size:15px;
    line-height:1.25;
  }

  .ct25-faq .ct25-faq-help-text{
    font-size:13px;
    text-align:justify;
    text-justify:inter-word;
  }

  .ct25-faq .ct25-faq-help-btn{
    width:100%;
    padding:12px 14px;
    text-align:center;
  }
}

/* Mobile: testo giustificato */
@media (max-width:680px){
  .ct25-faq .ct25-qtext{
    text-align:justify;
    text-justify:inter-word;
    hyphens:auto;
    -webkit-hyphens:auto;
    -ms-hyphens:auto;
    overflow-wrap:anywhere;
    word-break:break-word;
  }

  .ct25-faq .ct25-a{
    text-align:justify;
    text-justify:inter-word;
    hyphens:auto;
    -webkit-hyphens:auto;
    -ms-hyphens:auto;
    overflow-wrap:anywhere;
    word-break:break-word;
  }

  .ct25-faq .ct25-a p{
    text-align:justify;
    margin-top:10px;
  }

  .ct25-faq .ct25-a a{
    overflow-wrap:anywhere;
    word-break:break-word;
  }
}

