/* ==========================================================================
   Trip Nepal - We Plan It Better
   Services stylesheet   (loads after css/style.css)
   --------------------------------------------------------------------------
   Mobile first. The filter chips (.gchip / .gd-chips) and .sr-only are shared
   components and live in css/style.css.

   Sections
     1. hero
     2. filter bar
     3. service cards
     4. how we work
     5. where our services stop
     6. quote builder
     7. floating quote bar
     8. reduced motion
   ========================================================================== */

:root{
  --sv-radius:16px;
}

/* ==========================================================================
   1. HERO
   ========================================================================== */
.sv-hero{
  position:relative;overflow:hidden;
  background:var(--navy);color:#fff;
  padding:50px 0 66px;
}
.sv-hero-bg{position:absolute;inset:-6% 0 0;z-index:1}
.sv-hero-bg img{width:100%;height:100%;object-fit:cover;object-position:50% 46%}
.sv-hero-bg::after{
  content:"";position:absolute;inset:0;
  background:linear-gradient(180deg,rgba(8,26,50,.88) 0%,rgba(8,26,50,.58) 36%,rgba(8,26,50,.76) 72%,rgba(8,26,50,.96) 100%);
}
.sv-hero-marks{position:absolute;inset:0;z-index:2;pointer-events:none}
.sv-hero-marks i{position:absolute;color:rgba(255,255,255,.07);font-size:64px}
.sv-hero-marks i:nth-child(1){top:18%;right:10%;transform:rotate(-10deg)}
.sv-hero-marks i:nth-child(2){bottom:26%;right:27%;font-size:50px;transform:rotate(6deg)}
.sv-hero-marks i:nth-child(3){top:36%;left:5%;font-size:46px}

.sv-hero-inner{position:relative;z-index:4}

.sv-crumb{display:flex;flex-wrap:wrap;align-items:center;gap:8px;font-size:12px;font-weight:500;margin-bottom:16px}
.sv-crumb a{color:#cfe2f5;transition:color .25s ease}
.sv-crumb a:hover{color:#fff}
.sv-crumb i{font-size:8px;color:rgba(255,255,255,.45)}
.sv-crumb span{color:#fff;font-weight:600}

.sv-eyebrow{display:flex;align-items:center;gap:12px;margin-bottom:2px}
.sv-script{font-family:var(--ff-script);font-size:29px;font-weight:600;color:#ffd9a6;line-height:1}
.sv-eyebrow i{color:rgba(255,255,255,.5);font-size:17px}

.sv-hero-title{
  font-family:var(--ff-display);
  font-size:clamp(30px,8vw,56px);
  font-weight:700;line-height:1.04;letter-spacing:.6px;
  text-transform:uppercase;color:#fff;
}
.sv-hero-title span{color:#ff4a50}

.sv-hero .hero-divider{max-width:190px;margin:12px 0 16px}
.sv-hero .hero-divider .bar{background:#ff4a50}
.sv-hero .hero-divider i{color:#ffd9a6}

.sv-hero-lead{font-size:14px;line-height:1.8;color:rgba(255,255,255,.86);max-width:620px}
.sv-hero-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:22px}
.sv-hero-actions .btn i{font-size:12px}

.sv-snow{position:absolute;left:0;right:0;bottom:-1px;z-index:5;line-height:0}
.sv-snow svg{width:100%;height:48px;display:block}

@media (min-width:768px){
  .sv-hero{padding:64px 0 84px}
  .sv-hero-lead{font-size:15px}
  .sv-snow svg{height:70px}
}
@media (min-width:992px){ .sv-hero{padding:76px 0 98px} }

/* ==========================================================================
   2. FILTER BAR
   ========================================================================== */
.sv-bar{
  position:sticky;top:var(--hdr,0px);z-index:60;
  background:rgba(255,255,255,.96);backdrop-filter:blur(10px);
  border-bottom:1px solid var(--line);
  padding:12px 0 10px;
}
.sv-count{font-size:12.5px;color:var(--muted);padding-top:8px;border-top:1px dashed var(--line)}
.sv-count b{color:var(--navy);font-weight:700}

/* ==========================================================================
   3. SERVICE CARDS
   ========================================================================== */
.sv-list{padding:24px 0 12px}
.sv-grid{display:grid;grid-template-columns:1fr;gap:18px}
@media (min-width:640px){ .sv-grid{grid-template-columns:repeat(2,1fr)} }
@media (min-width:1100px){ .sv-list{padding:32px 0 16px} .sv-grid{grid-template-columns:repeat(3,1fr);gap:22px} }

.sv-card{
  position:relative;
  background:#fff;border:1px solid var(--line);border-radius:var(--sv-radius);
  padding:22px 19px 18px;
  box-shadow:var(--shadow-sm);
  display:flex;flex-direction:column;
  transition:transform .4s cubic-bezier(.22,1,.36,1),box-shadow .4s ease,border-color .35s ease;
}
.sv-card:hover{transform:translateY(-6px);box-shadow:var(--shadow-lg);border-color:#cfe0f2}
.sv-card.open{border-color:#cfe0f2;box-shadow:var(--shadow)}

.sv-flag{
  position:absolute;top:14px;right:0;
  background:var(--red);color:#fff;
  font-size:10px;font-weight:700;letter-spacing:.9px;text-transform:uppercase;
  padding:5px 12px;border-radius:20px 0 0 20px;
  box-shadow:0 6px 16px rgba(225,31,38,.3);
}

.sv-ic{
  width:52px;height:52px;border-radius:14px;
  background:var(--blue-soft);color:var(--blue);
  display:flex;align-items:center;justify-content:center;font-size:21px;
  margin-bottom:14px;
  transition:transform .45s cubic-bezier(.34,1.56,.64,1),background .35s ease,color .35s ease;
}
.sv-card:hover .sv-ic{background:var(--red);color:#fff;transform:rotate(-8deg) scale(1.06)}

.sv-card h3{font-size:17px;line-height:1.35;margin-bottom:8px;padding-right:10px}
.sv-lead{font-size:13px;line-height:1.75;color:var(--text);margin-bottom:12px}

.sv-from{
  display:inline-block;align-self:flex-start;
  background:var(--bg-soft);border:1px dashed #cfdcea;border-radius:8px;
  padding:6px 12px;margin-bottom:14px;
  font-size:12px;font-weight:700;color:var(--navy);
}

.sv-toggle{
  display:flex;align-items:center;justify-content:space-between;gap:10px;
  width:100%;margin-top:auto;
  border-top:1px dashed var(--line);padding:12px 0 0;
  font-size:12.5px;font-weight:600;color:var(--blue);
  transition:color .25s ease;
}
.sv-toggle i{font-size:11px;transition:transform .35s ease}
.sv-toggle:hover{color:var(--red)}
.sv-card.open .sv-toggle i{transform:rotate(180deg)}

.sv-body{display:grid;grid-template-rows:0fr;transition:grid-template-rows .38s ease}
.sv-card.open .sv-body{grid-template-rows:1fr}
.sv-body-in{overflow:hidden}
.sv-list-wrap{padding-top:12px}
.sv-body ul{padding-top:12px}
.sv-body li{
  display:flex;align-items:flex-start;gap:9px;
  font-size:12.5px;line-height:1.68;color:var(--text);
  padding:5px 0;
}
.sv-body li i{
  flex-shrink:0;width:17px;height:17px;border-radius:50%;margin-top:3px;
  background:var(--green);color:#fff;font-size:8px;
  display:flex;align-items:center;justify-content:center;
}

.sv-foot{display:flex;align-items:center;gap:9px;padding-top:14px;flex-wrap:wrap}
.sv-btn{
  flex:1;min-width:150px;
  display:inline-flex;align-items:center;justify-content:center;gap:8px;
  background:var(--navy);color:#fff;border-radius:8px;padding:11px 14px;
  font-size:12.5px;font-weight:600;white-space:nowrap;
  box-shadow:0 6px 16px rgba(13,44,84,.2);
  transition:background .28s ease,transform .28s ease;
}
.sv-btn i{font-size:11px;transition:transform .3s ease}
.sv-btn:hover{background:var(--red);transform:translateY(-2px)}
.sv-btn:hover i{transform:translateX(4px)}

.sv-add{
  display:inline-flex;align-items:center;gap:7px;flex-shrink:0;
  border:1px solid var(--line);border-radius:8px;background:#fff;
  padding:11px 13px;font-size:12px;font-weight:600;color:var(--navy);
  transition:.25s ease;
}
.sv-add i{font-size:10px;color:var(--blue)}
.sv-add:hover{border-color:var(--blue);color:var(--blue)}
.sv-add.on{background:var(--green);border-color:var(--green);color:#fff}
.sv-add.on i{color:#fff}

/* ==========================================================================
   4. HOW WE WORK
   ========================================================================== */
.sv-how{background:var(--bg-soft);padding:42px 0 46px;margin-top:26px}
.sv-how .section-head{margin-bottom:26px}
.sv-how-row{display:grid;grid-template-columns:1fr;gap:16px}
.sv-how-step{
  position:relative;overflow:hidden;
  background:#fff;border:1px solid var(--line);border-radius:14px;
  padding:22px 20px 20px;
  transition:transform .35s ease,box-shadow .35s ease,border-color .35s ease;
}
.sv-how-step:hover{transform:translateY(-6px);box-shadow:var(--shadow);border-color:#cfe0f2}
.sv-how-n{
  position:absolute;top:6px;right:12px;
  font-family:var(--ff-display);font-size:52px;font-weight:700;
  color:#eef4fa;line-height:1;transition:color .35s ease;
}
.sv-how-step:hover .sv-how-n{color:#fde7e8}
.sv-how-step > i{
  position:relative;z-index:2;
  width:46px;height:46px;border-radius:13px;
  background:var(--blue-soft);color:var(--blue);
  display:flex;align-items:center;justify-content:center;font-size:18px;
  margin-bottom:14px;
  transition:transform .45s cubic-bezier(.34,1.56,.64,1),background .35s ease,color .35s ease;
}
.sv-how-step:hover > i{background:var(--red);color:#fff;transform:rotate(-8deg) scale(1.06)}
.sv-how-step h3{position:relative;z-index:2;font-size:16px;margin-bottom:7px}
.sv-how-step p{position:relative;z-index:2;font-size:13px;line-height:1.72}

@media (min-width:600px){ .sv-how-row{grid-template-columns:repeat(2,1fr)} }
@media (min-width:992px){ .sv-how{padding:54px 0 58px} .sv-how-row{grid-template-columns:repeat(4,1fr);gap:20px} }

/* ==========================================================================
   5. WHERE OUR SERVICES STOP
   ========================================================================== */
.sv-limits{padding:42px 0 10px}
.sv-limits-inner{
  background:#fff;border:1px solid var(--line);border-left:4px solid var(--orange);
  border-radius:16px;box-shadow:var(--shadow-sm);
  padding:24px 20px;
  display:grid;grid-template-columns:1fr;gap:20px;
}
.sv-limits-copy .eyebrow{
  display:inline-block;font-size:10.5px;font-weight:700;letter-spacing:1.6px;
  text-transform:uppercase;color:var(--orange);margin-bottom:6px;
}
.sv-limits-copy h2{font-size:clamp(20px,4.4vw,25px);margin-bottom:10px}
.sv-limits-copy p{font-size:13.5px;line-height:1.8}
.sv-limits-list{display:flex;flex-direction:column;gap:10px}
.sv-limits-list li{
  display:flex;align-items:flex-start;gap:11px;
  font-size:13px;line-height:1.7;color:var(--text);
  background:var(--bg-soft);border-radius:10px;padding:11px 13px;
}
.sv-limits-list b{color:var(--navy)}
.sv-limits-list i{
  flex-shrink:0;width:19px;height:19px;border-radius:50%;margin-top:2px;
  background:#f0c3c5;color:#8d1f24;font-size:9px;
  display:flex;align-items:center;justify-content:center;
}

@media (min-width:900px){
  .sv-limits-inner{grid-template-columns:1fr 1.15fr;gap:34px;padding:30px 32px;align-items:center}
}

/* ==========================================================================
   6. QUOTE BUILDER
   ========================================================================== */
.sv-quote{padding:42px 0 48px}
.sv-quote-inner{
  background:linear-gradient(135deg,var(--navy) 0%,var(--navy-2) 60%,#164a8c 100%);
  border-radius:20px;box-shadow:var(--shadow-lg);
  padding:26px 22px;color:#fff;
  display:grid;grid-template-columns:1fr;gap:22px;align-items:start;
}
.sv-quote-copy .eyebrow{
  display:inline-block;font-size:10.5px;font-weight:700;letter-spacing:1.6px;
  text-transform:uppercase;color:#ffd9a6;margin-bottom:6px;
}
.sv-quote-copy h2{color:#fff;font-size:clamp(21px,4.6vw,27px);margin-bottom:10px}
.sv-quote-copy p{font-size:13.5px;line-height:1.8;color:rgba(255,255,255,.84)}

.sv-quote-picked{
  margin-top:18px;background:rgba(255,255,255,.08);
  border:1px solid rgba(255,255,255,.16);border-radius:13px;padding:15px 15px 12px;
}
.sv-quote-picked h3{
  display:flex;align-items:center;gap:9px;
  color:#fff;font-size:13px;letter-spacing:.4px;margin-bottom:11px;
}
.sv-quote-picked h3 i{color:#ffd9a6;font-size:12px}
.sv-quote-picked h3 b{
  margin-left:auto;min-width:24px;height:22px;border-radius:11px;padding:0 7px;
  background:var(--red);color:#fff;font-size:12px;
  display:inline-flex;align-items:center;justify-content:center;
}
.sv-quote-picked li{
  display:flex;align-items:center;gap:10px;
  font-size:12.5px;color:#fff;
  padding:8px 0;border-bottom:1px dashed rgba(255,255,255,.14);
}
.sv-quote-picked li:last-child{border-bottom:none}
.sv-quote-picked li > i{color:#ffd9a6;font-size:12px;width:16px;flex-shrink:0}
.sv-quote-picked li button{
  margin-left:auto;width:24px;height:24px;border-radius:50%;flex-shrink:0;
  background:rgba(255,255,255,.14);color:#fff;font-size:10px;
  display:flex;align-items:center;justify-content:center;
  transition:background .25s ease;
}
.sv-quote-picked li button:hover{background:var(--red)}
.sv-quote-none{color:rgba(255,255,255,.6) !important;font-style:italic}

.sv-quote-form{
  background:#fff;border-radius:16px;padding:20px 18px;
  display:grid;grid-template-columns:1fr;gap:12px;
  box-shadow:var(--shadow);
}
.sv-fld{display:block}
.sv-fld > span{
  display:block;font-size:10.5px;font-weight:700;letter-spacing:1.2px;
  text-transform:uppercase;color:var(--muted);margin-bottom:6px;
}
.sv-fld input{
  width:100%;height:44px;border:1px solid var(--line);border-radius:9px;
  background:var(--bg-soft);padding:0 13px;
  font-size:13.5px;font-weight:500;color:var(--navy);
  transition:border-color .25s ease,background .25s ease,box-shadow .25s ease;
}
.sv-fld input::placeholder{color:#a9b6c4;font-weight:400}
.sv-fld input:focus{outline:none;border-color:var(--blue);background:#fff;box-shadow:0 0 0 4px rgba(26,82,150,.10)}

.sv-quote-btn{
  display:flex;align-items:center;justify-content:center;gap:10px;
  background:var(--red);color:#fff;border-radius:9px;padding:14px;
  font-size:13.5px;font-weight:600;
  box-shadow:0 8px 20px rgba(225,31,38,.28);
  transition:background .25s ease,transform .25s ease;
}
.sv-quote-btn i{font-size:15px}
.sv-quote-btn:hover{background:var(--red-2);transform:translateY(-2px)}
/* the WhatsApp step comes after the enquiry is saved, so say so here */
.sv-quote-hint{
  display:flex;align-items:flex-start;gap:8px;
  font-size:11.5px;line-height:1.6;color:var(--muted);margin:-4px 0 2px;
}
.sv-quote-hint i{color:var(--wa);font-size:13px;margin-top:1px}
.sv-quote-alt{
  display:flex;align-items:center;justify-content:center;gap:9px;
  font-size:12.5px;font-weight:600;color:var(--navy);
  padding:2px 0;transition:color .25s ease;
}
.sv-quote-alt i{font-size:11px;color:var(--blue)}
.sv-quote-alt:hover{color:var(--red)}

@media (min-width:600px){
  .sv-quote-form{grid-template-columns:1fr 1fr}
  .sv-quote-btn,.sv-quote-alt,.sv-quote-hint{grid-column:1 / -1}
}
@media (min-width:992px){
  .sv-quote-inner{grid-template-columns:1fr 400px;gap:36px;padding:32px 34px}
}

/* ==========================================================================
   7. FLOATING QUOTE BAR
   ========================================================================== */
.sv-quote-bar{
  position:fixed;left:0;right:0;bottom:0;z-index:95;
  display:flex;align-items:center;justify-content:space-between;gap:12px;
  background:var(--navy);color:#fff;
  padding:11px 16px calc(11px + env(safe-area-inset-bottom));
  box-shadow:0 -8px 26px rgba(13,44,84,.28);
  transform:translateY(110%);
  transition:transform .35s cubic-bezier(.22,1,.36,1);
}
.sv-quote-bar.show{transform:translateY(0)}
.sv-quote-bar span{font-size:12.5px;color:rgba(255,255,255,.86)}
.sv-quote-bar b{
  display:inline-flex;align-items:center;justify-content:center;
  min-width:22px;height:22px;border-radius:11px;padding:0 7px;margin-right:6px;
  background:var(--red);color:#fff;font-size:12px;
}
.sv-quote-bar button{
  display:inline-flex;align-items:center;gap:9px;flex-shrink:0;
  background:var(--red);color:#fff;border-radius:8px;
  padding:10px 16px;font-size:12.5px;font-weight:600;
  transition:background .25s ease;
}
.sv-quote-bar button i{font-size:11px;transition:transform .3s ease}
.sv-quote-bar button:hover{background:var(--red-2)}
.sv-quote-bar button:hover i{transform:translateX(4px)}

/* on phones the site's own action bar owns the bottom edge */
@media (max-width:992px){
  .sv-quote-bar{bottom:calc(70px + env(safe-area-inset-bottom))}
}

/* ==========================================================================
   8. REDUCED MOTION
   ========================================================================== */
@media (prefers-reduced-motion:reduce){
  .sv-card,.sv-ic,.sv-how-step,.sv-how-step > i,.sv-quote-bar,.sv-btn{transition:none}
  .sv-card:hover,.sv-how-step:hover{transform:none}
}

/* ==========================================================================
   LARGE DESKTOPS
   ========================================================================== */
@media (min-width:1600px){
  .sv-grid{grid-template-columns:repeat(4,1fr)}
  .sv-how-row{gap:24px}
}
