/* Section look */
.section--faq{ background:#f7faf9; padding:48px 0 56px; }

/* Header */
.faq__head{ margin:0 auto 14px; max-width:1050px; }
.faq__title{
  margin:0 0 4px; color:var(--green-700);
  font-weight:900; font-size:clamp(22px, 1.6vw + 16px, 28px);
}
.faq__sub{ margin:0; color:#64748b; }

/* Accordion container (with hover lift + shine) */
.faq__panel{
  margin:12px auto 18px; max-width:1050px;
  background:#fff; border:1px solid var(--border);
  border-radius:12px; box-shadow:0 6px 18px rgba(0,0,0,.04);
  overflow:hidden; position:relative; transition:box-shadow .18s ease, transform .18s ease, border-color .18s ease, background-color .18s ease;
}
.faq__panel:hover{
  transform:translateY(-1px);
  box-shadow:0 16px 36px rgba(15,23,42,.10), 0 4px 12px rgba(15,23,42,.06);
  border-color:#e6edf0; background:#fbfdfc;
}
.faq__panel::after{
  content:""; position:absolute; inset:-2px; pointer-events:none;
  transform:translateX(-120%);
  background:linear-gradient(115deg, rgba(255,255,255,0) 30%, rgba(255,255,255,.45) 50%, rgba(255,255,255,0) 70%);
  mix-blend-mode:screen; opacity:.22;
}
.faq__panel:hover::after{ animation: faq-sweep 1.55s ease; }
@keyframes faq-sweep{ to{ transform:translateX(120%);} }

/* Items */
.faq__item{ border-bottom:1px solid var(--border); }
.faq__item:last-child{ border-bottom:none; }

/* Summary row styling with interactive states */
.faq__item > summary{
  list-style:none; cursor:pointer; position:relative;
  padding:16px 44px 16px 18px; font-weight:800; color:#0f172a;
  user-select:none; outline:none; border-left:3px solid transparent;
  transition:background-color .15s ease, border-color .15s ease, color .15s ease;
}
.faq__item > summary:hover{
  background:#f3fbf6; border-left-color:#cfe9dc;
}
.faq__item[open] > summary{
  background:#eef8f2; border-left-color:#16a34a; color:#0b3d1b;
}
.faq__item > summary:focus-visible{
  box-shadow:0 0 0 3px rgba(34,197,94,.22) inset;
  border-left-color:#16a34a;
}

/* chevron */
.faq__item > summary::-webkit-details-marker{ display:none; }
.faq__item > summary::after{
  content:""; position:absolute; right:16px; top:50%;
  width:8px; height:8px;
  border-right:2px solid var(--green);
  border-bottom:2px solid var(--green);
  transform:translateY(-50%) rotate(-45deg);
  transition:transform .18s ease;
}
.faq__item[open] > summary::after{ transform:translateY(-50%) rotate(135deg); }

/* Answer (animated height via JS; also fades/raises) */
.faq__answer{
  padding:0 18px 18px 18px; color:#475569; line-height:1.6;
  transform:translateY(-2px); opacity:.0;
  transition:opacity .18s ease, transform .18s ease;
  height:0; overflow:hidden;
}
.faq__item[open] .faq__answer{
  transform:none; opacity:1;
}

/* Contact grid */
.faq__contact-grid{
  display:grid; gap:16px; margin:14px auto 0; max-width:1050px;
  grid-template-columns:repeat(12, 1fr);
}
@media (max-width:1024px){ .faq__contact-grid{ grid-template-columns:repeat(8, 1fr); } }
@media (max-width:640px){ .faq__contact-grid{ grid-template-columns:repeat(4, 1fr); } }

/* Contact cards with lift + shine */
.cbox{
  grid-column:span 4;
  background:#fff; border:1px solid var(--border); border-radius:12px;
  padding:16px; box-shadow:0 6px 18px rgba(0,0,0,.04);
  position:relative; overflow:hidden;
  transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease, background-color .18s ease;
}
@media (max-width:1024px){ .cbox{ grid-column:span 8; } }
@media (max-width:640px){ .cbox{ grid-column:span 4; } }

.cbox:hover{
  transform:translateY(-2px) scale(1.01);
  box-shadow:0 18px 42px rgba(15,23,42,.10), 0 4px 12px rgba(15,23,42,.07);
  border-color:#e6edf0; background:#fbfdfc;
}
.cbox::after{
  content:""; position:absolute; inset:-2px; pointer-events:none; z-index:1;
  transform:translateX(-120%);
  background:linear-gradient(115deg, rgba(255,255,255,0) 30%, rgba(255,255,255,.45) 50%, rgba(255,255,255,0) 70%);
  mix-blend-mode:screen; opacity:.24;
}
.cbox:hover::after{ animation: cbox-shine 1.55s ease; }
@keyframes cbox-shine{ to{ transform:translateX(120%);} }

.cbox__title{ display:flex; align-items:center; gap:10px; margin:0 0 8px; color:#0f172a; font-weight:900; font-size:16px; }
.cbox__title svg{ width:18px; height:18px; }
.cbox__big{ margin:6px 0 6px; font-weight:900; color:#0f172a; font-size:20px; }
.cbox__email a{ color:#0f172a; text-decoration:none; }
.cbox__email a:hover{ text-decoration:underline; }
.cbox__muted{ margin:0 0 10px; color:#64748b; }
.cbox__small{ margin:0; color:#64748b; font-size:12px; }
.cbox__btn{ width:100%; display:inline-flex; justify-content:center; }

/* ===== Buttons — match other sections (with hover shine) ===== */
.section--faq .btn{
  position:relative; overflow:hidden;
  display:inline-flex; align-items:center; justify-content:center; gap:10px;
  border-radius:10px; padding:12px 16px; font-weight:800;
  text-decoration:none !important; border:1px solid transparent;
  transition:transform .08s ease, box-shadow .18s ease, filter .15s ease, background .15s ease, border-color .15s ease, color .15s ease;
}
.section--faq .btn::before{
  content:""; pointer-events:none; position:absolute; inset:-2px;
  transform:translateX(-120%);
  background:linear-gradient(115deg, rgba(255,255,255,0) 30%, rgba(255,255,255,.60) 50%, rgba(255,255,255,0) 70%);
  mix-blend-mode:screen; opacity:.60;
}
.section--faq .btn:hover{ transform:translateY(-1px); }
.section--faq .btn:hover::before{ animation: faq-btn-shine 1.35s ease; }
@keyframes faq-btn-shine{ to{ transform:translateX(120%);} }

/* Green primary (consistent) */
.section--faq .btn--primary{
  background:linear-gradient(180deg, #16a34a 0%, #15803d 100%);
  border-color:#166534;
  color:#fff;
  box-shadow:0 10px 18px rgba(22,163,74,.22), inset 0 -2px 0 rgba(0,0,0,.10);
}
.section--faq .btn--primary:hover{
  box-shadow:0 0 0 3px rgba(34,197,94,.18), 0 14px 28px rgba(22,163,74,.32), inset 0 -2px 0 rgba(0,0,0,.10);
}

/* Orange call — locked gradient (no white-out) */
.section--faq .btn--call{
  background:linear-gradient(180deg,#f97316 0%,#ea580c 100%);
  border-color:#c2410c; color:#fff;
  box-shadow:0 10px 18px rgba(234,88,12,.28), inset 0 -2px 0 rgba(0,0,0,.10);
}
.section--faq .btn--call:hover,
.section--faq .btn--call:focus,
.section--faq .btn--call:active{
  background:linear-gradient(180deg,#f97316 0%,#ea580c 100%) !important;
  color:#fff !important; border-color:#c2410c !important; filter:none !important;
  box-shadow:0 0 0 3px rgba(249,115,22,.18), 0 14px 28px rgba(234,88,12,.36), inset 0 -2px 0 rgba(0,0,0,.10);
}

/* Accessibility: reduced motion */
@media (prefers-reduced-motion:reduce){
  .faq__panel:hover, .cbox:hover, .section--faq .btn:hover{ transform:none; }
  .faq__panel:hover::after, .cbox:hover::after, .section--faq .btn:hover::before{ animation:none; }
}
