/* ==========================================================================
   Trip Nepal - We Plan It Better
   FAQ page stylesheet   (loads after css/style.css)
   --------------------------------------------------------------------------
   Sections
     1. page banner + hero search
     2. topic cards
     3. shell : sticky topic rail + answer list
     4. accordion
     5. no results
     6. still stuck cta
     7. responsive
   ========================================================================== */

:root{
  --wa:#25d366;
  --wa-2:#128c7e;
  --faq-radius:14px;
}

/* ==========================================================================
   1. PAGE BANNER + HERO SEARCH
   ========================================================================== */
.faq-hero{
  position:relative;overflow:hidden;
  padding:40px 0 46px;
  background:linear-gradient(135deg,var(--navy-3) 0%,var(--navy) 48%,#15497f 100%);
  color:#fff;text-align:center;
}
.faq-hero-bg{position:absolute;inset:0;z-index:1;opacity:.20}
.faq-hero-bg img{width:100%;height:100%;object-fit:cover;object-position:50% 40%}

/* faint question marks drifting in the background */
.faq-hero-marks{position:absolute;inset:0;z-index:2;pointer-events:none;overflow:hidden}
.faq-hero-marks span{
  position:absolute;font-family:var(--ff-display);font-weight:700;
  color:rgba(255,255,255,.06);line-height:1;user-select:none;
}
.faq-hero-marks span:nth-child(1){top:8%;left:5%;font-size:90px}
.faq-hero-marks span:nth-child(2){top:52%;left:15%;font-size:56px}
.faq-hero-marks span:nth-child(3){top:12%;right:9%;font-size:120px}
.faq-hero-marks span:nth-child(4){bottom:6%;right:22%;font-size:68px}
.faq-hero-marks span:nth-child(5){bottom:14%;left:38%;font-size:44px}

.faq-hero-inner{position:relative;z-index:3;max-width:720px;margin:0 auto}

.faq-crumb{
  display:flex;align-items:center;justify-content:center;gap:8px;
  font-size:12px;font-weight:500;margin-bottom:14px;
}
.faq-crumb a{color:#cfe2f5;transition:color .25s ease}
.faq-crumb a:hover{color:#fff}
.faq-crumb i{font-size:8px;color:rgba(255,255,255,.5)}
.faq-crumb span{color:#fff;font-weight:600}

.faq-eyebrow{
  display:inline-flex;align-items:center;gap:8px;
  background:rgba(225,31,38,.92);border-radius:30px;padding:6px 15px;margin-bottom:13px;
  font-size:10.5px;font-weight:600;letter-spacing:1.4px;text-transform:uppercase;
}
.faq-hero h1{
  font-family:var(--ff-display);
  font-size:38px;font-weight:700;line-height:1.06;letter-spacing:.8px;
  text-transform:uppercase;color:#fff;
}
.faq-hero h1 span{color:#ff5a60}
.faq-hero .hero-divider{margin:14px auto 14px;max-width:200px}
.faq-hero .hero-divider .bar{background:#ff5a60}
.faq-hero .hero-divider i{color:#ff5a60}
.faq-hero-lead{font-size:13.5px;line-height:1.75;color:rgba(255,255,255,.84);margin-bottom:22px}

/* the big search box sitting in the banner */
.faq-search{
  position:relative;display:flex;align-items:center;
  background:#fff;border-radius:12px;
  box-shadow:0 18px 44px rgba(4,16,32,.34);
}
.faq-search > i{position:absolute;left:17px;font-size:15px;color:var(--muted);pointer-events:none}
.faq-search input{
  width:100%;border:none;background:none;outline:none;
  font-size:14.5px;color:var(--navy);padding:16px 48px 16px 46px;border-radius:12px;
}
.faq-search input::placeholder{color:#a9b8c7}
.faq-search-clear{
  position:absolute;right:12px;width:28px;height:28px;border-radius:50%;
  display:none;align-items:center;justify-content:center;
  background:var(--bg-soft);color:var(--navy);font-size:11px;cursor:pointer;
  transition:.25s ease;
}
.faq-search-clear.show{display:flex}
.faq-search-clear:hover{background:var(--red);color:#fff;transform:rotate(90deg)}

.faq-hint{
  display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:8px;
  margin-top:14px;font-size:12px;color:rgba(255,255,255,.62);
}
.faq-hint b{color:rgba(255,255,255,.86);font-weight:500}
.faq-hint button{
  background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.20);
  color:#fff;border-radius:20px;padding:5px 12px;font-size:11.5px;font-weight:500;
  cursor:pointer;transition:.28s ease;
}
.faq-hint button:hover{background:var(--red);border-color:var(--red);transform:translateY(-2px)}

/* ==========================================================================
   2. TOPIC CARDS
   ========================================================================== */
.faq-topics{padding:34px 0 6px}
.topic-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}

.topic-card{
  position:relative;overflow:hidden;text-align:left;
  background:#fff;border:1px solid var(--line);border-radius:12px;
  padding:16px 15px;box-shadow:var(--shadow-sm);cursor:pointer;
  transition:transform .45s cubic-bezier(.22,.85,.28,1),box-shadow .45s ease,border-color .35s ease;
  --acc:#1a5296;
}
.topic-card.t-booking{--acc:#1a5296}
.topic-card.t-payments{--acc:#1f9e4a}
.topic-card.t-travel{--acc:#f08019}
.topic-card.t-treks{--acc:#8b3fb5}
.topic-card.t-changes{--acc:#e11f26}
.topic-card.t-onground{--acc:#0d9aa8}

.topic-card:hover{transform:translateY(-6px);box-shadow:var(--shadow);border-color:transparent}
.topic-card.is-active{border-color:transparent;box-shadow:0 14px 32px rgba(13,44,84,.16)}
.topic-card::after{
  content:"";position:absolute;left:0;right:0;bottom:0;height:3px;
  background:var(--acc);transform:scaleX(0);transform-origin:left;
  transition:transform .5s cubic-bezier(.22,.85,.28,1);
}
.topic-card:hover::after,.topic-card.is-active::after{transform:scaleX(1)}

.topic-ic{
  width:40px;height:40px;border-radius:12px;margin-bottom:10px;
  display:flex;align-items:center;justify-content:center;
  background:var(--blue-soft);color:var(--acc);font-size:16px;
  transition:transform .5s cubic-bezier(.34,1.56,.64,1),background .4s ease,color .4s ease,border-radius .4s ease;
}
.topic-card:hover .topic-ic,.topic-card.is-active .topic-ic{
  background:var(--acc);color:#fff;border-radius:50%;transform:translateY(-3px) rotate(-8deg);
}
.topic-card b{display:block;font-size:13px;color:var(--navy);line-height:1.35;margin-bottom:3px}
/* by class, not by element : a bare "span" here also catches .topic-ic */
.topic-card .tc-count{display:block;font-size:11px;color:var(--muted)}

/* ==========================================================================
   3. SHELL : STICKY TOPIC RAIL + ANSWERS
   ========================================================================== */
.faq-main{padding:34px 0 46px}
.faq-shell{display:grid;grid-template-columns:1fr;gap:22px;align-items:start}

.faq-rail{display:none}
.faq-rail-inner{
  background:#fff;border:1px solid var(--line);border-radius:14px;
  padding:16px;box-shadow:var(--shadow-sm);
}
.faq-rail h4{
  font-size:11.5px;font-weight:600;letter-spacing:1.4px;text-transform:uppercase;
  color:var(--muted);margin-bottom:12px;
}
.faq-rail ul{display:flex;flex-direction:column;gap:2px}
.faq-rail a{
  display:flex;align-items:center;gap:10px;
  padding:9px 11px;border-radius:9px;
  font-size:12.8px;font-weight:500;color:#5b6b7c;
  transition:background .28s ease,color .28s ease,transform .28s ease;
}
.faq-rail a i{font-size:12px;width:16px;text-align:center;color:#b0bdca;transition:color .28s ease}
.faq-rail a .n{
  margin-left:auto;font-size:10.5px;font-weight:600;color:var(--muted);
  background:var(--bg-soft);border-radius:20px;padding:1px 7px;
}
.faq-rail a:hover{background:var(--bg-soft);color:var(--navy);transform:translateX(3px)}
.faq-rail a:hover i{color:var(--red)}
.faq-rail a.is-active{background:var(--navy);color:#fff}
.faq-rail a.is-active i{color:#ffd3d5}
.faq-rail a.is-active .n{background:rgba(255,255,255,.18);color:#fff}

/* the toolbar above the answers */
.faq-toolbar{
  display:flex;align-items:center;flex-wrap:wrap;gap:12px;
  margin-bottom:16px;
}
.faq-result{font-size:12.5px;color:var(--muted)}
.faq-result b{color:var(--navy);font-weight:600}
.faq-tools{display:flex;gap:8px;margin-left:auto}
.faq-tool{
  display:inline-flex;align-items:center;gap:7px;
  border:1px solid var(--line);background:#fff;border-radius:8px;
  padding:8px 13px;font-size:11.5px;font-weight:600;color:var(--navy);
  cursor:pointer;transition:.28s ease;
}
.faq-tool i{font-size:10.5px}
.faq-tool:hover{border-color:var(--red);color:var(--red);box-shadow:var(--shadow-sm);transform:translateY(-2px)}

/* ==========================================================================
   4. ACCORDION
   ========================================================================== */
.faq-group{margin-bottom:26px}
.faq-group.is-hidden{display:none}

.faq-group-head{
  display:flex;align-items:center;gap:11px;margin-bottom:12px;
  padding-bottom:11px;border-bottom:1px solid var(--line);
}
.faq-group-head .ic{
  width:34px;height:34px;border-radius:10px;flex-shrink:0;
  display:flex;align-items:center;justify-content:center;
  background:var(--blue-soft);color:var(--blue);font-size:14px;
}
.faq-group-head h3{font-size:16px;color:var(--navy);line-height:1.35}
.faq-group-head span{
  margin-left:auto;flex-shrink:0;font-size:11px;font-weight:600;color:var(--muted);
  background:var(--bg-soft);border-radius:20px;padding:3px 10px;
}

.faq-list{display:flex;flex-direction:column;gap:10px}

.qa{
  background:#fff;border:1px solid var(--line);border-radius:12px;overflow:hidden;
  box-shadow:var(--shadow-sm);
  transition:box-shadow .4s ease,border-color .35s ease;
}
.qa:hover{box-shadow:var(--shadow);border-color:#cfe0ef}
.qa.is-open{box-shadow:var(--shadow);border-color:transparent}
.qa.is-hidden{display:none}

/* the row the search jumped to */
.qa.is-target{border-color:var(--red);box-shadow:0 0 0 3px rgba(225,31,38,.14),var(--shadow)}

.qa-q{
  width:100%;display:flex;align-items:flex-start;gap:12px;text-align:left;
  padding:15px 16px;cursor:pointer;background:none;border:none;
  font-size:13.8px;font-weight:600;color:var(--navy);line-height:1.5;
  transition:color .3s ease;
}
.qa-q:hover{color:var(--red)}
.qa.is-open .qa-q{color:var(--red)}

.qa-q .qi{
  width:26px;height:26px;flex-shrink:0;border-radius:8px;margin-top:-1px;
  display:flex;align-items:center;justify-content:center;
  background:var(--blue-soft);color:var(--blue);font-size:11px;
  transition:background .35s ease,color .35s ease,transform .45s cubic-bezier(.34,1.56,.64,1);
}
.qa.is-open .qa-q .qi{background:var(--red);color:#fff;transform:scale(1.06)}

.qa-q .tog{
  margin-left:auto;flex-shrink:0;margin-top:1px;
  width:26px;height:26px;border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  background:var(--bg-soft);color:var(--navy);font-size:10px;
  transition:transform .45s cubic-bezier(.22,.85,.28,1),background .35s ease,color .35s ease;
}
.qa.is-open .qa-q .tog{transform:rotate(45deg);background:var(--red);color:#fff}

.qa-a{overflow:hidden;height:0}
.qa-a-inner{padding:0 16px 17px 54px;font-size:12.8px;line-height:1.85;color:#5b6b7c}
.qa-a-inner p + p{margin-top:10px}
.qa-a-inner ul{margin:10px 0 0;display:flex;flex-direction:column;gap:7px}
.qa-a-inner li{display:flex;gap:9px;align-items:flex-start}
.qa-a-inner li::before{
  content:"\f00c";font-family:"Font Awesome 6 Free";font-weight:900;
  color:var(--green);font-size:10px;margin-top:5px;flex-shrink:0;
}
.qa-a-inner a{color:var(--blue);font-weight:600;border-bottom:1px dashed #a9c4e0}
.qa-a-inner a:hover{color:var(--red);border-color:var(--red)}
.qa-a-inner b{color:var(--navy)}

/* what the live search highlights */
.qa mark{background:#fff3b0;color:var(--navy);border-radius:3px;padding:0 2px}

/* the copy-link button on each answer */
.qa-share{
  display:inline-flex;align-items:center;gap:7px;margin-top:14px;
  border:1px solid var(--line);background:#fff;border-radius:8px;
  padding:7px 12px;font-size:11px;font-weight:600;color:var(--muted);
  cursor:pointer;transition:.28s ease;
}
.qa-share i{font-size:10px}
.qa-share:hover{border-color:var(--blue);color:var(--blue);transform:translateY(-2px)}
.qa-share.copied{background:var(--green);border-color:var(--green);color:#fff}

/* ==========================================================================
   5. NO RESULTS
   ========================================================================== */
.faq-empty{display:none;text-align:center;padding:40px 20px 34px}
.faq-empty.show{display:block}
.faq-empty i{font-size:38px;color:#c3d6e8;margin-bottom:14px;display:block}
.faq-empty h3{font-size:17px;margin-bottom:7px;color:var(--navy)}
.faq-empty p{font-size:12.8px;color:#6b7b8c;line-height:1.75;margin-bottom:18px;max-width:420px;margin-left:auto;margin-right:auto}
.faq-empty .btn{margin:0 5px 8px}

/* ==========================================================================
   6. STILL STUCK CTA
   ========================================================================== */
.faq-cta{
  position:relative;overflow:hidden;padding:40px 0;
  background:linear-gradient(120deg,var(--navy-3) 0%,var(--navy) 52%,var(--blue) 100%);
  color:#fff;
}
.faq-cta::before{
  content:"";position:absolute;left:-60px;top:-60px;width:230px;height:230px;
  border-radius:50%;background:rgba(255,255,255,.05);
}
.faq-cta-inner{position:relative;z-index:2;text-align:center}
.faq-cta-ic{
  width:56px;height:56px;border-radius:50%;margin:0 auto 14px;
  display:flex;align-items:center;justify-content:center;
  background:rgba(255,255,255,.13);color:#fff;font-size:22px;
}
.faq-cta h3{color:#fff;font-size:21px;margin-bottom:8px}
.faq-cta p{font-size:13px;line-height:1.75;color:rgba(255,255,255,.8);margin-bottom:20px;max-width:520px;margin-left:auto;margin-right:auto}
.faq-cta-actions{display:flex;flex-direction:column;gap:10px}
.faq-cta-actions .btn{width:100%}
.btn-white{background:#fff;color:var(--navy);box-shadow:0 8px 20px rgba(0,0,0,.20)}
.btn-white:hover{background:#f2f7fc}
.btn-wa{background:var(--wa);color:#fff;box-shadow:0 8px 22px rgba(37,211,102,.34)}
.btn-wa:hover{background:var(--wa-2);box-shadow:0 14px 30px rgba(37,211,102,.42)}
.btn-wa i{font-size:16px}

/* toast */
.faq-toast{
  position:fixed;left:50%;bottom:30px;transform:translate(-50%,24px);
  z-index:200;display:flex;align-items:center;gap:10px;
  background:var(--navy);color:#fff;border-radius:10px;padding:12px 20px;
  font-size:13px;font-weight:500;box-shadow:0 16px 40px rgba(13,44,84,.34);
  opacity:0;visibility:hidden;pointer-events:none;
  transition:opacity .3s ease,transform .4s cubic-bezier(.34,1.56,.64,1),visibility .3s;
}
.faq-toast.show{opacity:1;visibility:visible;transform:translate(-50%,0)}
.faq-toast i{color:#6ee79b;font-size:14px}

/* ==========================================================================
   7. RESPONSIVE
   ========================================================================== */
@media (min-width:600px){
  .faq-hero{padding:52px 0 58px}
  .faq-hero h1{font-size:50px}
  .faq-hero-lead{font-size:14.5px}
  .topic-grid{grid-template-columns:repeat(3,1fr);gap:14px}
  .faq-cta-actions{flex-direction:row;justify-content:center}
  .faq-cta-actions .btn{width:auto}
  .faq-cta h3{font-size:24px}
}

@media (min-width:992px){
  .faq-hero{padding:62px 0 68px}
  .faq-hero h1{font-size:62px}

  .topic-grid{grid-template-columns:repeat(6,1fr)}
  .topic-card{padding:18px 16px}

  .faq-shell{grid-template-columns:262px minmax(0,1fr);gap:28px}
  .faq-rail{display:block;position:sticky;top:120px}

  .qa-q{font-size:14.5px;padding:17px 19px}
  .qa-a-inner{padding:0 19px 19px 57px;font-size:13px}
  .faq-group-head h3{font-size:17px}
}

@media (max-width:560px){
  .faq-hero{padding:32px 0 38px}
  .faq-hero h1{font-size:31px}
  .faq-hero-lead{font-size:12.8px}
  .faq-search input{font-size:13.5px;padding:14px 44px 14px 42px}
  .topic-grid{gap:10px}
  .topic-card{padding:14px 13px}
  .topic-card b{font-size:12.2px}
  .faq-toolbar{gap:9px}
  .faq-tools{margin-left:0;width:100%}
  .faq-tool{flex:1;justify-content:center}
  .qa-q{font-size:13px;padding:14px 14px;gap:10px}
  .qa-a-inner{padding:0 14px 16px 48px;font-size:12.4px}
}

@media (max-width:380px){
  .faq-hero h1{font-size:27px}
  .qa-a-inner{padding-left:14px}
}
