/* =========================
   FAQ (Acordeón) - Mikidis
   ========================= */

.mkd-faq{
  max-width: 920px;
  margin: 0 auto;
  padding: 24px 16px;
}

.mkd-faq__header{
  margin-bottom: 18px;
}

.mkd-faq__title{
  font-size: clamp(22px, 3vw, 34px);
  line-height: 1.15;
  margin: 0 0 8px 0;
}

.mkd-faq__subtitle{
  margin: 0;
  font-size: 15px;
  line-height: 1.6;
  opacity: .9;
}

/* Contenedor del acordeón */
.mkd-faq__accordion{
  display: grid;
  gap: 12px;
  margin-top: 18px;
}

/* Grupo <details> */
.mkd-faq__group{
  border: 1px solid rgba(0,0,0,.10);
  border-radius: 14px;
  background: #fff;
  overflow: clip; /* moderno; evita que se salgan bordes internos */
  box-shadow: 0 6px 18px rgba(0,0,0,.04);
}

/* Quita el marcador default de summary */
.mkd-faq__group > summary{
  list-style: none;
}
.mkd-faq__group > summary::-webkit-details-marker{
  display: none;
}

/* Summary clickable */
.mkd-faq__group-title{
  position: relative;
  cursor: pointer;
  padding: 16px 44px 16px 16px;
  font-weight: 700;
  line-height: 1.3;
  user-select: none;
}

/* Icono (chevron) */
.mkd-faq__group-title::after{
  font-family: 'icons_mikidis' !important;
  content: "\f107";
  position: absolute;
  right: 16px;
  transition: transform .18s ease;
  opacity: .8;
}

/* Estado abierto */
.mkd-faq__group[open] .mkd-faq__group-title::after{
  transform: rotate(-180deg);
}

/* Efecto hover/focus accesible */
.mkd-faq__group-title:hover{
  background: rgba(0,0,0,.02);
}
.mkd-faq__group-title:focus,
.mkd-faq__group-title:focus-visible{
  outline: none;
}
.mkd-faq__group:focus-within{
  box-shadow: 0 0 0 3px rgba(0,0,0,.08), 0 6px 18px rgba(0,0,0,.04);
}

/* Contenido interno */
.mkd-faq__items{
  border-top: 1px solid rgba(0,0,0,.08);
  padding: 14px 16px 16px 16px;
}

.mkd-faq__item + .mkd-faq__item{
  margin-top: 14px;
  padding-top: 14px;
  border-top: 1px dashed rgba(0,0,0,.12);
}

.mkd-faq__q{
  margin: 0 0 6px 0;
  font-size: 15px;
  line-height: 1.35;
}

.mkd-faq__a{
  margin: 0;
  font-size: 14px;
  line-height: 1.65;
  opacity: .92;
}

/* Footer */
.mkd-faq__footer{
  margin-top: 18px;
  padding: 16px;
  border-radius: 14px;
  border: 1px solid rgba(0,0,0,.10);
  background: rgba(0,0,0,.02);
}

.mkd-faq__footer-title{
  margin: 0 0 6px 0;
  font-size: 16px;
}

.mkd-faq__footer-text{
  margin: 0;
  font-size: 14px;
  line-height: 1.6;
  opacity: .9;
}

/* Responsive */
@media (min-width: 768px){
  .mkd-faq{
    padding: 32px 18px;
  }
  .mkd-faq__group-title{
    padding: 18px 52px 18px 18px;
  }
  .mkd-faq__items{
    padding: 16px 18px 18px 18px;
  }
}