/* =========================================================
   GoEldo - Preguntas frecuentes
   Acordeon, buscador, filtros por categoria y estados vacios.
   ========================================================= */

body.faq-body{background:#F4F6EE}

.faq-wrap{max-width:var(--max);margin:0 auto;padding:0 18px 60px}

/* ---------- Hero ---------- */
.faq-hero{
  background:linear-gradient(135deg,#2E331E,#5C673C);
  padding:44px 18px 52px;margin-bottom:-34px;color:#fff
}
.faq-hero-in{max-width:var(--max);margin:0 auto;text-align:center;position:relative;z-index:1}
.faq-hero h1{font-size:32px;font-weight:900;margin-bottom:10px;line-height:1.2}
.faq-hero p{font-size:15px;color:#D7DDC5;max-width:560px;margin:0 auto 24px}
.faq-crumb{
  display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:700;
  color:#fff;background:rgba(255,255,255,.14);padding:5px 12px;border-radius:999px;
  margin-bottom:16px;text-decoration:none;transition:background .15s
}
.faq-crumb:hover{background:rgba(255,255,255,.24)}

/* ---------- Buscador ---------- */
.faq-search{position:relative;max-width:640px;margin:0 auto}
.faq-search input{
  width:100%;padding:16px 20px 16px 50px;border-radius:999px;border:none;
  font-size:15px;color:#2E331E;background:#fff;box-shadow:0 10px 30px rgba(0,0,0,.22)
}
.faq-search input:focus{outline:none;box-shadow:0 10px 30px rgba(0,0,0,.22),0 0 0 3px rgba(215,221,197,.5)}
.faq-search .ico{position:absolute;left:20px;top:50%;transform:translateY(-50%);color:#8A9A5B;font-size:17px;pointer-events:none}
.faq-search .clear{
  position:absolute;right:8px;top:50%;transform:translateY(-50%);
  width:32px;height:32px;border-radius:50%;background:#EEF0E5;color:#5C673C;
  display:none;align-items:center;justify-content:center;font-size:15px;font-weight:800
}
.faq-search.has-value .clear{display:flex}
.faq-search .clear:hover{background:#D7DDC5}

.faq-count{
  display:inline-flex;align-items:center;gap:7px;margin-top:14px;
  font-size:12.5px;font-weight:700;color:#D7DDC5;background:rgba(0,0,0,.18);
  padding:6px 13px;border-radius:999px
}

/* ---------- Categorias (nav lateral en desktop) ---------- */
.faq-body-box{
  background:#fff;border-radius:var(--radius);box-shadow:var(--shadow);
  padding:26px;margin-bottom:22px
}
.faq-cats{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:22px}
.faq-cat{
  display:inline-flex;align-items:center;gap:7px;
  padding:9px 15px;border-radius:999px;border:1.5px solid var(--gray2);
  background:#fff;color:#5C673C;font-size:13px;font-weight:700;
  text-decoration:none;transition:all .15s;cursor:pointer
}
.faq-cat:hover{border-color:var(--orange);color:#2E331E;background:#F7F9F1}
.faq-cat.is-on{background:var(--orange);border-color:var(--orange);color:#fff}
.faq-cat .n{
  min-width:19px;height:19px;padding:0 5px;border-radius:999px;
  background:rgba(0,0,0,.08);font-size:10.5px;font-weight:800;
  display:inline-flex;align-items:center;justify-content:center
}
.faq-cat.is-on .n{background:rgba(255,255,255,.26)}

/* ---------- Bloques ---------- */
.faq-group{margin-bottom:26px;scroll-margin-top:16px}
.faq-group[hidden]{display:none !important}
.faq-group:last-child{margin-bottom:0}

.faq-group-head{
  display:flex;align-items:center;gap:12px;margin-bottom:14px;flex-wrap:wrap
}
.faq-group-ico{
  width:42px;height:42px;border-radius:12px;background:#F0F2E8;color:var(--orange);
  display:flex;align-items:center;justify-content:center;flex:0 0 42px
}
.faq-group-ico svg{width:21px;height:21px}
.faq-group-head h2{font-size:19px;font-weight:800;color:var(--dark);line-height:1.25}
.faq-group-head p{font-size:12.5px;color:#5C673C;margin-top:2px}
.faq-group-head .spacer{flex:1}
.faq-toggle{
  font-size:12px;font-weight:800;color:#5C673C;
  background:#F0F2E8;padding:7px 13px;border-radius:9px;white-space:nowrap
}
.faq-toggle:hover{background:var(--gray2)}

/* ---------- Acordeon ---------- */
.faq-list{display:flex;flex-direction:column;gap:9px}
.faq-item{
  border:1px solid #E9ECE0;border-radius:14px;background:#FCFDF8;
  overflow:hidden;transition:border-color .15s,box-shadow .15s
}
.faq-item:hover{border-color:var(--gray2)}
.faq-item.is-open{border-color:var(--orange);box-shadow:0 3px 14px rgba(138,154,91,.14);background:#fff}

.faq-q{
  width:100%;display:flex;align-items:flex-start;gap:12px;
  padding:16px 18px;text-align:left;font-size:14.5px;font-weight:700;
  color:#2E331E;line-height:1.45;transition:background .15s
}
.faq-q:hover{background:rgba(138,154,91,.05)}
.faq-q .q-txt{flex:1;min-width:0}
.faq-q .q-ico{
  width:24px;height:24px;flex:0 0 24px;border-radius:50%;
  background:#EEF0E5;color:#5C673C;margin-top:1px;
  display:flex;align-items:center;justify-content:center;transition:transform .22s
}
.faq-item.is-open .q-ico{background:var(--orange);color:#fff;transform:rotate(45deg)}
.faq-q mark{background:rgba(138,154,91,.25);color:#2E331E;border-radius:3px;padding:0 2px}

.faq-a{max-height:0;overflow:hidden;transition:max-height .28s ease}
.faq-a-in{padding:0 18px 18px 54px;font-size:14px;line-height:1.65;color:#5C673C}
.faq-a-in p{margin-bottom:11px}
.faq-a-in p:last-child{margin-bottom:0}
.faq-a-in ul{margin:0 0 11px 18px}
.faq-a-in li{margin-bottom:6px}
.faq-a-in a{color:var(--orange-neon);font-weight:700;text-decoration:underline}
.faq-a-in a:hover{color:var(--dark)}
.faq-a-in strong{color:#2E331E;font-weight:800}
.faq-a-in mark{background:rgba(138,154,91,.25);color:#2E331E;border-radius:3px;padding:0 2px}

/* ---------- Sin resultados ---------- */
.faq-empty{
  display:none;text-align:center;padding:52px 20px;background:#fff;
  border-radius:var(--radius);box-shadow:var(--shadow-sm)
}
.faq-empty.show{display:block}
.faq-empty .e-ico{font-size:40px;margin-bottom:12px;opacity:.6}
.faq-empty h3{font-size:17px;font-weight:800;color:var(--dark);margin-bottom:6px}
.faq-empty p{font-size:13.5px;color:#5C673C;margin-bottom:16px}
.faq-empty button{
  background:var(--orange);color:#fff;padding:11px 20px;border-radius:999px;
  font-size:13px;font-weight:800;transition:background .15s
}
.faq-empty button:hover{background:var(--orange-neon)}

/* ---------- CTA ---------- */
.faq-cta{
  display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));
  gap:16px;margin-top:26px
}
.faq-cta-card{
  background:#fff;border-radius:var(--radius);padding:22px;
  box-shadow:var(--shadow-sm);text-align:center;
  border:1px solid #EEF0E5;transition:transform .15s,box-shadow .15s
}
.faq-cta-card:hover{transform:translateY(-3px);box-shadow:var(--shadow)}
.faq-cta-card .c-ico{
  width:52px;height:52px;border-radius:15px;background:#F0F2E8;color:var(--orange);
  display:flex;align-items:center;justify-content:center;margin:0 auto 13px
}
.faq-cta-card .c-ico svg{width:25px;height:25px}
.faq-cta-card h3{font-size:16px;font-weight:800;margin-bottom:6px;color:var(--dark)}
.faq-cta-card p{font-size:13px;color:#5C673C;line-height:1.55;margin-bottom:15px}
.faq-cta-card a{
  display:inline-block;background:var(--orange);color:#fff;padding:11px 20px;
  border-radius:999px;font-size:13px;font-weight:800;transition:background .15s
}
.faq-cta-card a:hover{background:var(--orange-neon)}

/* ---------- Responsive ---------- */
@media(max-width:860px){
  .faq-wrap{padding:0 14px 44px}
  .faq-hero{padding:30px 14px 40px;margin-bottom:-26px}
  .faq-hero h1{font-size:23px}
  .faq-hero p{font-size:13.5px;margin-bottom:18px}
  .faq-search input{padding:14px 16px 14px 44px;font-size:16px}
  .faq-search .ico{left:16px}
  .faq-body-box{padding:16px;border-radius:16px}
  .faq-cats{flex-wrap:nowrap;overflow-x:auto;padding-bottom:4px;margin-bottom:18px;scrollbar-width:none}
  .faq-cats::-webkit-scrollbar{display:none}
  .faq-cat{flex:0 0 auto;white-space:nowrap;min-height:42px}
  .faq-group-head{gap:10px}
  .faq-group-ico{width:38px;height:38px;flex:0 0 38px;border-radius:11px}
  .faq-group-head h2{font-size:16px}
  .faq-group-head p{display:none}
  .faq-toggle{min-height:38px}
  .faq-q{padding:14px;font-size:14px;gap:10px}
  .faq-a-in{padding:0 14px 16px 14px;font-size:13.5px}
  .faq-cta{gap:12px}
  .faq-cta-card{padding:18px}
}

/* ---------- Impresion ---------- */
@media print{
  .faq-hero{background:none;color:#000;padding:0 0 14px;margin-bottom:14px}
  .faq-search,.faq-cats,.faq-toggle,.faq-crumb,.faq-cta,.faq-count{display:none !important}
  .faq-a{max-height:none !important;overflow:visible !important}
  .faq-item{border-color:#ccc;break-inside:avoid}
}