/* ═══════════════════════════════════════════════════════
   FAQ — Stile More Events (Dark / Gold)
   ═══════════════════════════════════════════════════════ */

.faq-section {
   position: relative;
   padding: 120px 20px 100px;
   background: #050505;
   isolation: isolate;
   overflow: hidden;
}

/* Effetto luce atmosferica */
.faq-light {
   position: absolute;
   left: 50%;
   top: 10%;
   transform: translateX(-50%);
   width: 1000px;
   height: 800px;
   background: radial-gradient(circle, rgba(191, 148, 10, 0.05), transparent 65%);
   filter: blur(120px);
   z-index: -1;
   pointer-events: none;
}

/* Intestazione */
.faq-header {
   max-width: 800px;
   margin: 0 auto 60px;
   text-align: center;
}

.faq-label {
   display: block;
   font-family: "Montserrat", sans-serif;
   font-size: 11px;
   font-weight: 600;
   letter-spacing: 6px;
   text-transform: uppercase;
   color: rgb(191, 148, 10);
   margin-bottom: 20px;
   opacity: 0;
   transform: translateY(20px);
   transition: opacity 0.8s cubic-bezier(0.16, 1, 0.3, 1), transform 0.8s cubic-bezier(0.16, 1, 0.3, 1);
}

.faq-label.visible {
   opacity: 1;
   transform: translateY(0);
}

.faq-divider {
   width: 0;
   height: 1px;
   background: rgb(191, 148, 10);
   box-shadow: 0 0 12px rgba(191, 148, 10, 0.2);
   margin: 0 auto 40px;
   opacity: 0;
   transition: width 1.4s cubic-bezier(0.16, 1, 0.3, 1), opacity 0.5s ease;
}

.faq-divider.visible {
   width: 120px;
   opacity: 1;
}

.faq-title {
   font-family: "Montserrat", sans-serif;
   font-size: clamp(28px, 5vw, 48px);
   font-weight: 800;
   line-height: 1.1;
   letter-spacing: -2px;
   text-transform: uppercase;
   color: rgba(255, 255, 255, 0.85);
   margin: 0;
   opacity: 0;
   transform: translateY(30px);
   transition: opacity 1s cubic-bezier(0.16, 1, 0.3, 1), transform 1s cubic-bezier(0.16, 1, 0.3, 1);
}

.faq-title.visible {
   opacity: 1;
   transform: translateY(0);
}

/* Lista FAQ */
.faq-list {
   max-width: 800px;
   margin: 0 auto;
   display: flex;
   flex-direction: column;
   gap: 16px;
}

/* Singolo Item */
.faq-item {
   border: 1px solid rgba(255, 255, 255, 0.08);
   border-radius: 4px;
   overflow: hidden;
   transition: border-color 0.4s ease, box-shadow 0.4s ease;
   opacity: 0;
   transform: translateY(20px);
   transition: border-color 0.4s ease, box-shadow 0.4s ease, opacity 0.6s ease, transform 0.6s ease;
}

.faq-item.visible {
   opacity: 1;
   transform: translateY(0);
}

.faq-item:hover {
   border-color: rgba(255, 255, 255, 0.15);
}

.faq-item.active {
   border-color: rgba(191, 148, 10, 0.4);
   box-shadow: 0 0 30px -10px rgba(191, 148, 10, 0.15);
}

/* Domanda (Button) */
.faq-question {
   width: 100%;
   display: flex;
   align-items: center;
   justify-content: space-between;
   padding: 24px 28px;
   background: transparent;
   border: none;
   cursor: pointer;
   font-family: "Montserrat", sans-serif;
   font-size: clamp(15px, 1.5vw, 17px);
   font-weight: 600;
   text-align: left;
   color: #ffffff;
   line-height: 1.4;
   gap: 20px;
   transition: color 0.3s ease;
}

.faq-question:hover {
   color: rgb(191, 148, 10);
}

/* Icona + */
.faq-icon {
   flex-shrink: 0;
   width: 32px;
   height: 32px;
   border-radius: 50%;
   border: 1px solid rgba(255, 255, 255, 0.15);
   display: flex;
   align-items: center;
   justify-content: center;
   transition: transform 0.4s cubic-bezier(0.16, 1, 0.3, 1), border-color 0.3s ease, background 0.3s ease;
}

.faq-icon::before {
   content: '+';
   font-size: 18px;
   font-weight: 300;
   line-height: 1;
   color: rgba(255, 255, 255, 0.7);
   transition: color 0.3s ease;
}

.faq-item.active .faq-icon {
   transform: rotate(45deg);
   border-color: rgb(191, 148, 10);
   background: rgba(191, 148, 10, 0.1);
}

.faq-item.active .faq-icon::before {
   color: rgb(191, 148, 10);
}

/* Risposta */
.faq-answer {
   max-height: 0;
   overflow: hidden;
   transition: max-height 0.5s cubic-bezier(0.16, 1, 0.3, 1);
}

.faq-answer-inner {
   padding: 0 28px 28px 28px;
   font-family: "Montserrat", sans-serif;
   font-size: clamp(14px, 1.2vw, 16px);
   font-weight: 300;
   line-height: 1.8;
   color: rgba(255, 255, 255, 0.6);
   border-top: 1px solid rgba(255, 255, 255, 0.05);
   margin-top: 0;
   padding-top: 20px;
}

.faq-answer-inner a {
   color: rgb(191, 148, 10);
   text-decoration: none;
   border-bottom: 1px solid rgba(191, 148, 10, 0.3);
   transition: border-color 0.3s ease;
}

.faq-answer-inner a:hover {
   border-color: rgb(191, 148, 10);
}

/* CTA Bottom */
.faq-cta {
   margin-top: 80px;
   text-align: center;
   opacity: 0;
   transform: translateY(20px);
   transition: opacity 0.8s 0.2s cubic-bezier(0.16, 1, 0.3, 1), transform 0.8s 0.2s cubic-bezier(0.16, 1, 0.3, 1);
}

.faq-cta.visible {
   opacity: 1;
   transform: translateY(0);
}

.faq-cta p {
   font-family: "Montserrat", sans-serif;
   font-size: 14px;
   font-weight: 300;
   color: rgba(255, 255, 255, 0.5);
   margin: 0 0 24px 0;
}

/* ═══════════════════════════════════════════════════════
   LINK ALLA PAGINA COMPLETA
   ═══════════════════════════════════════════════════════ */
.faq-link-all {
   text-align: center;
   margin-top: 48px;
}

.faq-link-all a {
   display: inline-flex;
   align-items: center;
   gap: 10px;
   font-family: "Montserrat", sans-serif;
   font-weight: 600;
   font-size: 11px;
   letter-spacing: 2px;
   text-transform: uppercase;
   text-decoration: none;
   color: rgba(255, 255, 255, 0.5);
   border-bottom: 1px solid rgba(191, 148, 10, 0.4);
   padding-bottom: 4px;
   transition: color 0.3s ease, border-color 0.3s ease;
}

.faq-link-all a::after {
   content: '→';
   font-size: 14px;
   color: rgb(191, 148, 10);
   transition: transform 0.3s ease;
}

.faq-link-all a:hover {
   color: #ffffff;
   border-bottom-color: rgb(191, 148, 10);
}

.faq-link-all a:hover::after {
   transform: translateX(4px);
}

/* ═══════════════════════════════════════════════════════
   RESPONSIVE
   ═══════════════════════════════════════════════════════ */
@media (max-width: 768px) {
   .faq-section {
      padding: 80px 20px 70px;
   }

   .faq-question {
      padding: 20px 24px;
   }

   .faq-answer-inner {
      padding: 0 24px 24px 24px;
      padding-top: 16px;
   }
}

@media (max-width: 479px) {
   .faq-section {
      padding: 60px 16px 50px;
   }

   .faq-question {
      padding: 18px 20px;
      font-size: 15px;
   }

   .faq-answer-inner {
      padding: 0 20px 20px 20px;
      padding-top: 14px;
   }

   .faq-icon {
      width: 28px;
      height: 28px;
   }

   .faq-icon::before {
      font-size: 16px;
   }
}

/* ═══════════════════════════════════════════════════════
   RIDUZIONE MOVIMENTO
   ═══════════════════════════════════════════════════════ */
@media (prefers-reduced-motion: reduce) {

   .faq-label,
   .faq-divider,
   .faq-title,
   .faq-item,
   .faq-cta {
      transition: none !important;
      opacity: 1 !important;
      transform: none !important;
   }

   .faq-divider.visible {
      width: 120px;
   }

   .faq-answer {
      transition: none !important;
   }

   .faq-icon {
      transition: none !important;
   }
}