/* Fatima Skin Lab — front-end (booking form + price lists) */

/* ---------- Price cards: categorized cards, not a table ---------- */
.fsl-pcards{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:18px}
.fsl-pcard{
  background:#fff; border-radius:20px; padding:22px 24px;
  box-shadow:0 18px 45px -28px rgba(107,74,76,.35);
  border:1px solid rgba(193,112,126,.12);
  transition:transform .35s cubic-bezier(.2,.8,.2,1), box-shadow .35s ease, border-color .35s ease;
}
.fsl-pcard:hover{transform:translateY(-4px); box-shadow:0 26px 55px -26px rgba(107,74,76,.42); border-color:rgba(193,112,126,.32)}
.fsl-pcard-top{display:flex; align-items:baseline; justify-content:space-between; gap:14px}
.fsl-pcard-name{font-family:"Playfair Display",Georgia,serif; font-weight:400; font-size:19px; color:#2B1B1C; margin:0; line-height:1.25}
.fsl-pcard-price{font-family:"Jost",sans-serif; font-weight:500; font-size:15px; color:#7A2E42; white-space:nowrap; flex-shrink:0}
.fsl-pcard-desc{margin:8px 0 0; font-size:14px; line-height:1.55; color:#6B4A4C}
.fsl-pnote{margin-top:28px; font-style:italic; text-align:center; opacity:.8}

/* ---------- Category filter tabs (dedicated Pricing page) ---------- */
.fsl-pnav{
  position:sticky; top:14px; z-index:60;
  display:flex; flex-wrap:wrap; gap:8px; justify-content:center;
  padding:10px; margin:0 auto 48px; width:fit-content; max-width:100%;
  background:rgba(255,255,255,.7); backdrop-filter:blur(16px) saturate(160%);
  border:1px solid rgba(255,255,255,.7); border-radius:999px;
  box-shadow:0 18px 45px -28px rgba(107,74,76,.35);
}
.fsl-pnav-link{
  appearance:none; -webkit-appearance:none; background:none; border:0; margin:0; cursor:pointer;
  font-family:"Jost",sans-serif; font-size:13px; font-weight:500; letter-spacing:.02em;
  padding:10px 20px; border-radius:999px; color:#2B1B1C; text-decoration:none;
  transition:background .3s ease, color .3s ease;
}
.fsl-pnav-link:hover{background:rgba(193,112,126,.14)}
.fsl-pnav-link.is-active{background:#2B1B1C; color:#F9EFE9}
.fsl-plist-section{scroll-margin-top:90px; padding-top:20px}
.fsl-plist-section[hidden]{display:none}
.fsl-plist-section:not([hidden]){animation:fsl-panel-in .5s cubic-bezier(.22,.8,.28,1)}
@keyframes fsl-panel-in{from{opacity:0; transform:translateY(14px)}}
@media (prefers-reduced-motion: reduce){
  .fsl-plist-section:not([hidden]){animation:none}
}

.fsl-book{max-width:640px;display:grid;gap:22px}
.fsl-book .fsl-label{display:block;font-size:12px;text-transform:uppercase;letter-spacing:2px;color:#A5495D;margin-bottom:8px}
.fsl-book input,.fsl-book select,.fsl-book textarea{width:100%;padding:13px 15px;border:1px solid #e6d7d4;border-radius:12px;background:#fff;font:inherit;color:#2B1B1C}
.fsl-book input:focus,.fsl-book select:focus,.fsl-book textarea:focus{outline:2px solid #C1707E;outline-offset:1px;border-color:#C1707E}
.fsl-book-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:18px}
.fsl-slots{display:flex;flex-wrap:wrap;gap:10px;min-height:46px}
.fsl-slots-empty{color:#9b8385;font-size:14px;margin:0}
.fsl-slot{padding:11px 18px;border:1px solid #e6d7d4;border-radius:999px;background:#fff;cursor:pointer;font:inherit;font-size:14px;min-height:44px;transition:background .2s,color .2s,border-color .2s}
.fsl-slot:hover{border-color:#C1707E}
.fsl-slot.is-on{background:#2B1B1C;color:#fff;border-color:#2B1B1C}
.fsl-submit{justify-self:start;padding:17px 36px;border:0;border-radius:999px;background:#2B1B1C;color:#fff;font-size:13px;letter-spacing:1.6px;text-transform:uppercase;cursor:pointer;min-height:44px}
.fsl-submit:hover:not(:disabled){background:#C1707E}
.fsl-submit:disabled{opacity:.55;cursor:not-allowed}
.fsl-msg{margin:0;font-size:14px}
.fsl-msg.is-error{color:#b32d2e}
.fsl-msg.is-ok{color:#1d6b3f}
/* Honeypot: hidden from humans, still focusable-free for bots */
.fsl-hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
