/* ============================================================
   CodebyCarter — service-showcase.css
   Service-business showcase section:
   stats counter · before/after tint reveal · live booking widget.
   ============================================================ */

.service-showcase{position:relative;overflow:hidden}
.service-showcase::after{
  content:"";position:absolute;inset:0;pointer-events:none;
  background:radial-gradient(900px 500px at 70% 30%, rgba(168,85,247,.10), transparent 60%);
}

/* ---------- Stats counter row ---------- */
.ss-stats{
  display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-top:50px;
  position:relative;z-index:1;
}
.ss-stat{
  padding:28px 24px;border-radius:20px;
  background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.10);
  text-align:center;
  transition:transform .4s cubic-bezier(.16,1,.3,1),border-color .35s ease,background .35s ease;
}
.ss-stat:hover{transform:translateY(-4px);border-color:rgba(168,85,247,.30);background:rgba(168,85,247,.06)}
.ss-stat-num{
  font-size:clamp(36px,4.5vw,56px);line-height:1;font-weight:700;letter-spacing:-.035em;
  background:linear-gradient(135deg,#A855F7,#EC4899,#FB923C);
  background-size:200% 200%;animation:hue 8s linear infinite;
  -webkit-background-clip:text;background-clip:text;color:transparent;
  font-feature-settings:"tnum","kern";
}
.ss-stat-num small{
  font-family:'Instrument Serif',serif;font-style:italic;font-weight:400;
  font-size:.55em;margin-left:1px;-webkit-text-fill-color:#FB923C;color:#FB923C;
}
.ss-stat-label{
  margin-top:10px;font-family:'JetBrains Mono',monospace;font-size:11px;
  letter-spacing:.08em;text-transform:uppercase;color:#9090A0;font-weight:500;
}

@media (max-width:780px){.ss-stats{grid-template-columns:repeat(2,1fr)}}
@media (max-width:420px){.ss-stats{grid-template-columns:1fr}}

/* ---------- Two-column showcase grid ---------- */
.ss-grid{
  display:grid;grid-template-columns:1.5fr 1fr;gap:24px;margin-top:36px;
  position:relative;z-index:1;align-items:stretch;
}
@media (max-width:900px){.ss-grid{grid-template-columns:1fr}}

/* ---------- Before/After slider ---------- */
.ss-ba{
  position:relative;border-radius:20px;overflow:hidden;
  aspect-ratio:5/3;
  background:linear-gradient(180deg, #1F2937 0%, #4B5563 50%, #6B7280 100%);
  cursor:none;user-select:none;
  border:1px solid rgba(255,255,255,.10);
  box-shadow:0 30px 80px rgba(0,0,0,.30);
}
.ss-ba::after{
  content:"";position:absolute;inset:0;
  background:radial-gradient(ellipse at 50% 100%, rgba(0,0,0,.5), transparent 60%);
  pointer-events:none;z-index:1;
}
.ss-ba-stage{position:absolute;inset:0;display:grid;place-items:center;padding:8% 6%;z-index:2}
.ss-ba-stage svg{width:100%;height:auto;max-width:560px}

/* The "after" layer is clipped by handle position */
.ss-ba-after{
  position:absolute;inset:0;
  clip-path:inset(0 calc(100% - var(--reveal,50%)) 0 0);
  -webkit-clip-path:inset(0 calc(100% - var(--reveal,50%)) 0 0);
  z-index:3;
}

/* Tinted windows in the AFTER layer */
.ss-tinted{fill:rgba(8,8,12,.88)}

/* Drag handle */
.ss-ba-handle{
  position:absolute;top:0;bottom:0;left:var(--reveal,50%);
  width:2px;background:#F5F5F7;z-index:4;cursor:ew-resize;
  box-shadow:0 0 12px rgba(255,255,255,.5);
}
.ss-ba-handle-knob{
  position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);
  width:52px;height:52px;border-radius:50%;
  background:#F5F5F7;color:#0A0A0F;
  display:grid;place-items:center;
  box-shadow:0 10px 28px rgba(0,0,0,.4), 0 0 0 4px rgba(255,255,255,.15);
  transition:transform .25s ease,box-shadow .25s ease;
}
.ss-ba-handle:hover .ss-ba-handle-knob,
.ss-ba-handle.is-dragging .ss-ba-handle-knob{
  transform:translate(-50%,-50%) scale(1.1);
  box-shadow:0 14px 36px rgba(168,85,247,.5), 0 0 0 6px rgba(168,85,247,.2);
}

/* BEFORE / AFTER labels */
.ss-ba-label{
  position:absolute;top:18px;z-index:5;
  font-family:'JetBrains Mono',monospace;font-size:10.5px;letter-spacing:.14em;
  text-transform:uppercase;font-weight:700;
  padding:6px 12px;border-radius:99px;
  background:rgba(0,0,0,.55);color:#F5F5F7;
  backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);
}
.ss-ba-label-l{left:18px}
.ss-ba-label-r{
  right:18px;
  background:linear-gradient(135deg,#A855F7,#EC4899);
  color:#0A0A0F;
}

/* ---------- "Now booking" widget ---------- */
.ss-booking{
  padding:26px;border-radius:20px;
  background:linear-gradient(160deg, rgba(168,85,247,.10), rgba(6,182,212,.04));
  border:1px solid rgba(255,255,255,.10);
  display:flex;flex-direction:column;gap:18px;
  box-shadow:0 20px 60px rgba(0,0,0,.25);
}
.ss-booking-h{
  display:flex;align-items:center;gap:10px;
  font-family:'JetBrains Mono',monospace;font-size:11.5px;letter-spacing:.08em;
  text-transform:uppercase;color:#F5F5F7;font-weight:700;
}
.ss-booking-dot{
  width:9px;height:9px;border-radius:50%;background:#84CC16;
  box-shadow:0 0 0 0 rgba(132,204,22,.65);
  animation:bookingPulse 1.8s ease-in-out infinite;
}
@keyframes bookingPulse{
  0%,100%{box-shadow:0 0 0 0 rgba(132,204,22,.65)}
  50%{box-shadow:0 0 0 10px rgba(132,204,22,0)}
}

.ss-week{display:flex;flex-direction:column;gap:5px}
.ss-day{
  display:grid;grid-template-columns:36px 50px 1fr auto;gap:12px;align-items:center;
  padding:9px 12px;border-radius:10px;
  background:rgba(0,0,0,.20);
  font-size:13px;
  transition:background .25s ease,transform .25s ease;
}
.ss-day:hover{background:rgba(0,0,0,.30)}
.ss-day-d{font-family:'JetBrains Mono',monospace;font-size:10.5px;letter-spacing:.06em;color:#9090A0;font-weight:700}
.ss-day-n{font-family:'JetBrains Mono',monospace;font-size:11px;color:#9090A0;font-weight:500}
.ss-day-bar{
  height:6px;border-radius:99px;background:rgba(255,255,255,.06);overflow:hidden;
  position:relative;
}
.ss-day-bar::after{
  content:"";position:absolute;top:0;left:0;bottom:0;
  width:var(--fill,30%);
  background:linear-gradient(90deg,#84CC16,#22D3EE);border-radius:99px;
}
.ss-day-status{
  font-family:'JetBrains Mono',monospace;font-size:10px;letter-spacing:.06em;text-transform:uppercase;
  color:#84CC16;font-weight:700;min-width:48px;text-align:right;
}
.ss-day.full{opacity:.45}
.ss-day.full .ss-day-status{color:#5A5A66}
.ss-day.full .ss-day-bar::after{background:#5A5A66;width:100% !important}
.ss-day.limited .ss-day-status{color:#FB923C}
.ss-day.limited .ss-day-bar::after{background:linear-gradient(90deg,#FB923C,#FACC15)}

.ss-booking-cta{
  display:inline-flex;align-items:center;justify-content:center;gap:8px;
  padding:13px 18px;border-radius:99px;
  background:linear-gradient(135deg,#A855F7,#EC4899,#FB923C);
  background-size:200% 200%;animation:hue 6s linear infinite;
  color:#0A0A0F;font-weight:700;font-size:13.5px;letter-spacing:-.005em;
  box-shadow:0 12px 30px rgba(168,85,247,.35);
  transition:transform .3s ease;cursor:none;
}
.ss-booking-cta:hover{transform:translateY(-2px)}
.ss-booking-cta svg{transition:transform .3s ease}
.ss-booking-cta:hover svg{transform:translate(3px,-3px) rotate(-45deg)}

/* ---------- Section note ---------- */
.ss-note{
  margin-top:30px;text-align:center;font-size:12.5px;
  font-family:'JetBrains Mono',monospace;letter-spacing:.04em;
  color:#9090A0;line-height:1.6;position:relative;z-index:1;
}
.ss-note b{color:#F5F5F7;font-weight:600}
.ss-note em{
  font-family:'Instrument Serif',serif;font-style:italic;font-weight:400;
  background:linear-gradient(135deg,#A855F7,#EC4899);
  -webkit-background-clip:text;background-clip:text;color:transparent;
}
