/* AdminCMS V3.9 – compact premium FAQ, shared across every page and theme. */
main #faq.cms-faq-section,
.cms-faq-section{
  padding:clamp(26px,3.7vw,48px) 0 !important;
  background:linear-gradient(180deg,#f8f9fb 0%,#fff 100%) !important;
  color:#24303d;
  overflow:clip;
}
.cms-faq-section *{box-sizing:border-box}
/* V3.2 removes .wrap padding globally; override it only within this FAQ. */
body main #faq.cms-faq-section > .wrap{
  width:min(100%,1280px) !important;
  max-width:1280px !important;
  padding-inline:clamp(14px,2.4vw,28px) !important;
  margin-inline:auto !important;
}

.cms-faq-section > .wrap{
  max-width:1280px !important;
  width:min(100%,1280px) !important;
  margin-inline:auto !important;
  padding-inline:clamp(14px,2.4vw,28px) !important;
}
.cms-faq-heading{
  display:flex;
  gap:16px;
  align-items:flex-end;
  justify-content:space-between;
  margin:0 0 20px;
  padding:0 0 15px;
  border-bottom:1px solid #e4e8ee;
}
.cms-faq-heading-content{min-width:0;max-width:930px}
.cms-faq-eyebrow{
  display:inline-flex;
  align-items:center;
  margin-bottom:9px;
  font-size:12px;
  font-weight:800;
  letter-spacing:.06em;
  color:#ad2333;
  text-transform:uppercase;
}
.cms-faq-section .cms-faq-heading h2{
  margin:0 0 6px !important;
  padding:0 !important;
  border:0 !important;
  font-size:clamp(1.55rem,2.5vw,2.5rem) !important;
  line-height:1.3 !important;
  font-weight:850 !important;
  color:#161f2c !important;
  letter-spacing:-.035em;
  text-wrap:balance;
}
.cms-faq-section .cms-faq-heading p{
  margin:0 !important;
  padding:0 !important;
  color:#6a7685 !important;
  font-size:clamp(13px,1.25vw,15px) !important;
  line-height:1.7 !important;
  font-weight:450 !important;
}
.cms-faq-total{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  flex-shrink:0;
  padding:9px 15px;
  border:1px solid #f0d7dc;
  border-radius:999px;
  background:#fff4f5;
  color:#ae2133;
  font-size:13px;
  font-weight:800;
  white-space:nowrap;
}
main .cms-faq-section .faqGrid.cms-faq-grid,
.cms-faq-section .faqGrid.cms-faq-grid{
  display:grid !important;
  grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  gap:14px !important;
  align-items:start;
  margin:0 !important;
}
.cms-faq-column{display:grid;min-width:0;align-content:start;gap:11px}
main #faq .faqItem.cms-faq-item,
.cms-faq-section .faqItem.cms-faq-item{
  position:relative;
  margin:0 !important;
  padding:0 !important;
  border:1px solid #e4e8ef !important;
  border-radius:16px !important;
  background:#fff !important;
  box-shadow:0 7px 22px rgba(26,39,56,.035) !important;
  color:#273342;
  overflow:hidden;
  transition:border-color .18s ease,box-shadow .18s ease;
}
.cms-faq-section .cms-faq-item[open]{
  border-color:#ebb4bd !important;
  box-shadow:0 12px 32px rgba(192,25,47,.085) !important;
}
main #faq .cms-faq-item > summary,
.cms-faq-section .cms-faq-item > summary{
  display:flex !important;
  align-items:center !important;
  gap:12px !important;
  padding:16px 17px !important;
  min-height:70px;
  margin:0 !important;
  border:0 !important;
  background:#fff !important;
  cursor:pointer;
  list-style:none !important;
  text-align:left;
  user-select:none;
}
.cms-faq-section .cms-faq-item > summary::-webkit-details-marker{display:none}
main #faq .cms-faq-item > summary::after,
.cms-faq-section .cms-faq-item > summary::after{content:none !important;display:none !important}
.cms-faq-number{
  display:grid;
  place-items:center;
  width:33px;
  height:33px;
  flex:0 0 33px;
  border-radius:10px;
  color:#bb182e;
  background:#fff1f3;
  font-size:12px;
  font-weight:850;
  font-variant-numeric:tabular-nums;
}
.cms-faq-section .cms-faq-item[open] .cms-faq-number{color:#fff;background:#d10b22}
main #faq .cms-faq-item h3,
.cms-faq-section .cms-faq-item h3{
  flex:1 1 auto;
  min-width:0;
  margin:0 !important;
  padding:0 !important;
  border:0 !important;
  font-size:clamp(14px,1.3vw,16px) !important;
  line-height:1.63 !important;
  letter-spacing:0 !important;
  font-weight:750 !important;
  color:#24313e !important;
  overflow-wrap:anywhere;
}
.cms-faq-plus{
  position:relative;
  width:28px;
  height:28px;
  flex:0 0 28px;
  border-radius:50%;
  background:#f3f5f8;
}
.cms-faq-plus::before,
.cms-faq-plus::after{
  content:"";
  position:absolute;
  top:50%;left:50%;
  width:11px;height:2px;
  border-radius:2px;
  background:#677384;
  transform:translate(-50%,-50%);
}
.cms-faq-plus::after{transform:translate(-50%,-50%) rotate(90deg)}
.cms-faq-item[open] .cms-faq-plus{background:#fff0f2}
.cms-faq-item[open] .cms-faq-plus::before,
.cms-faq-item[open] .cms-faq-plus::after{background:#c40a20}
.cms-faq-item[open] .cms-faq-plus::after{display:none}
.cms-faq-section .cms-faq-item > summary:hover{background:#fffafa !important}
.cms-faq-section .cms-faq-item > summary:focus-visible{
  outline:3px solid rgba(215,19,43,.42);
  outline-offset:-3px;
}
.cms-faq-answer{
  padding:0 18px 17px 62px;
  background:linear-gradient(180deg,#fff,#fffcfc);
}
main #faq .cms-faq-answer p,
.cms-faq-section .cms-faq-answer p{
  margin:0 !important;
  padding:0 !important;
  font-size:14px !important;
  line-height:1.83 !important;
  font-weight:450 !important;
  color:#586574 !important;
  overflow-wrap:anywhere;
}
.cms-faq-contact{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  margin:18px 0 0;
  padding:17px 20px;
  border:1px solid #e9e2e4;
  border-radius:17px;
  background:#fff;
  box-shadow:0 8px 26px rgba(26,39,56,.035);
}
.cms-faq-contact > div:first-child{min-width:0;display:grid;gap:2px}
.cms-faq-contact strong{font-size:15px;line-height:1.6;font-weight:800;color:#202c39}
.cms-faq-contact span{font-size:13px;line-height:1.6;color:#697787}
.cms-faq-contact-actions{display:flex;flex-wrap:wrap;gap:9px;flex-shrink:0}
.cms-faq-contact-actions a{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:42px;
  padding:10px 17px;
  border:1px solid #e4e7ec;
  border-radius:11px;
  background:#fff;
  color:#253241;
  text-decoration:none;
  font-size:13px;
  font-weight:800;
  line-height:1.4;
  white-space:nowrap;
}
.cms-faq-contact-actions a.cms-faq-line{border-color:#0ea546;background:#12b84b;color:#fff}
.cms-faq-contact-actions a:hover{filter:brightness(.96)}
@media(max-width:760px){
  .cms-faq-heading{align-items:flex-start;gap:12px;margin-bottom:15px}
  .cms-faq-total{padding:7px 10px;font-size:11px}
  main .cms-faq-section .faqGrid.cms-faq-grid,
  .cms-faq-section .faqGrid.cms-faq-grid{grid-template-columns:minmax(0,1fr) !important;gap:10px !important}
  .cms-faq-column{gap:10px}
  main #faq .cms-faq-item > summary,.cms-faq-section .cms-faq-item > summary{min-height:62px;padding:13px 12px !important;gap:10px !important}
  .cms-faq-number{width:28px;height:28px;flex-basis:28px;border-radius:8px}
  .cms-faq-plus{width:26px;height:26px;flex-basis:26px}
  .cms-faq-answer{padding:0 14px 15px 51px}
  .cms-faq-contact{flex-direction:column;align-items:stretch;padding:15px 14px}
  .cms-faq-contact-actions{width:100%}
  .cms-faq-contact-actions a{flex:1 1 140px;white-space:normal;text-align:center}
}
@media(max-width:340px){
  .cms-faq-heading{flex-wrap:wrap}
  .cms-faq-section .cms-faq-item h3{font-size:14px !important}
  .cms-faq-answer{padding-left:14px}
}
@media(prefers-reduced-motion:reduce){.cms-faq-section .cms-faq-item{transition:none}}
