/* =========================================================
   HAIRWAYS LUXE — Booking pages module
   Extends hairways-luxe.css. Every rule namespaced under .hw.
   Used by /book/, /book-women/, /book-men/ and the homepage
   services sections.
   ========================================================= */

/* ---------- Hero badge row ---------- */
.hw-badges{
  display:flex;flex-wrap:wrap;gap:.55rem;margin-top:2.1rem;
}
.hw-center .hw-badges{justify-content:center;}
.hw-badges li{
  display:inline-flex;align-items:center;gap:.6rem;
  font-size:.6rem;letter-spacing:.22em;text-transform:uppercase;
  padding:.7rem 1.15rem;border:1px solid var(--hw-line-l);
  color:var(--hw-grey);
}
.hw-badges li::before{
  content:'';width:5px;height:5px;background:currentColor;
  transform:rotate(45deg);opacity:.6;
}
.hw-sec--dark .hw-badges li,.hw-hero .hw-badges li,.hw-phero .hw-badges li{
  border-color:var(--hw-line-d);color:rgba(247,245,242,.72);
}

/* ---------- Gateway cards (men / women) ---------- */
.hw-gate{
  display:grid;grid-template-columns:repeat(2,1fr);gap:clamp(1rem,2.4vw,2rem);
}
.hw-gate__card{
  position:relative;display:block;overflow:hidden;
  background:var(--hw-black);color:var(--hw-paper);
  border:1px solid var(--hw-line-l);
}
.hw-gate__fig{
  position:absolute;inset:0;background-size:cover;background-position:center;
  filter:grayscale(1) brightness(.42) contrast(1.08);
  transition:transform 1.2s var(--hw-ease),filter .8s var(--hw-ease);
}
.hw-gate__card:hover .hw-gate__fig{transform:scale(1.06);filter:grayscale(1) brightness(.5) contrast(1.08);}
.hw-gate__fig::after{
  content:'';position:absolute;inset:0;
  background:linear-gradient(180deg,rgba(11,11,11,.3) 0%,rgba(11,11,11,.55) 55%,rgba(11,11,11,.93) 100%);
}
.hw-gate__body{
  position:relative;z-index:2;
  min-height:clamp(360px,42vw,520px);
  display:flex;flex-direction:column;justify-content:flex-end;
  padding:clamp(1.6rem,3.2vw,3rem);
}
.hw-gate__body .hw-h2{color:var(--hw-paper);margin-bottom:.6rem;}
.hw-gate__n{
  font-size:.62rem;letter-spacing:.26em;text-transform:uppercase;
  color:rgba(247,245,242,.55);margin-bottom:1.4rem;
}
.hw-gate__list{
  margin:0 0 1.9rem;color:rgba(247,245,242,.72);
  font-size:.86rem;line-height:2;
}
.hw-gate__list li{position:relative;padding-left:1.15rem;}
.hw-gate__list li::before{
  content:'';position:absolute;left:0;top:.95em;width:6px;height:1px;background:currentColor;opacity:.6;
}
.hw-gate__go{
  display:inline-flex;align-items:center;gap:.7rem;align-self:flex-start;
  font-size:.68rem;letter-spacing:.24em;text-transform:uppercase;
  padding:1rem 2rem;border:1px solid rgba(247,245,242,.55);
  transition:background .45s var(--hw-ease),color .45s var(--hw-ease),gap .4s var(--hw-ease);
}
.hw-gate__card:hover .hw-gate__go{background:var(--hw-paper);color:var(--hw-black);border-color:var(--hw-paper);gap:1.2rem;}
.hw-gate__go::after{content:'\2192';}

/* ---------- Category jump nav ---------- */
.hw-catnav{
  position:sticky;top:0;z-index:40;
  background:var(--hw-black);color:var(--hw-paper);
  border-block:1px solid var(--hw-line-d);
}
.hw-catnav__scroll{
  display:flex;gap:0;overflow-x:auto;scrollbar-width:none;
  -ms-overflow-style:none;
}
.hw-catnav__scroll::-webkit-scrollbar{display:none;}
.hw-catnav a{
  flex:0 0 auto;white-space:nowrap;
  padding:1.15rem 1.5rem;
  font-size:.62rem;letter-spacing:.22em;text-transform:uppercase;
  color:rgba(247,245,242,.6);
  border-left:1px solid var(--hw-line-d);
  transition:color .35s var(--hw-ease),background .35s var(--hw-ease);
}
.hw-catnav a:first-child{border-left:0;}
.hw-catnav a:hover{color:var(--hw-paper);background:rgba(255,255,255,.06);}

/* ---------- Service menu ---------- */
.hw-cat{padding-block:clamp(3rem,6vw,5.5rem);border-top:1px solid var(--hw-line-l);}
.hw-cat:first-of-type{border-top:0;}
.hw-cat__head{
  display:grid;grid-template-columns:minmax(0,320px) minmax(0,1fr);
  gap:clamp(1.5rem,3.5vw,3.5rem);align-items:center;
  margin-bottom:clamp(2rem,4vw,3.2rem);
}
.hw-cat__meta{
  display:flex;flex-wrap:wrap;gap:.5rem 2rem;margin-top:1.2rem;
  font-size:.62rem;letter-spacing:.22em;text-transform:uppercase;color:var(--hw-grey);
}
.hw-cat__meta b{font-weight:400;color:var(--hw-ink);}

/* Price rows */
.hw-rows{border-top:1px solid var(--hw-line-l);}
.hw-row{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto auto;
  align-items:baseline;gap:1rem 1.6rem;
  padding:1.15rem 0;border-bottom:1px solid var(--hw-line-l);
  transition:padding-left .45s var(--hw-ease);
}
.hw-row:hover{padding-left:.9rem;}
.hw-row__n{
  position:relative;font-size:clamp(.95rem,1.3vw,1.06rem);
  font-weight:300;color:var(--hw-ink);
}
.hw-row__n small{
  display:block;margin-top:.3rem;
  font-size:.6rem;letter-spacing:.2em;text-transform:uppercase;color:var(--hw-grey-2);
}
.hw-row__p{
  font-family:var(--hw-serif);font-size:clamp(1.1rem,1.7vw,1.4rem);
  font-weight:400;white-space:nowrap;letter-spacing:.01em;
}
.hw-row__b{
  display:inline-flex;align-items:center;gap:.5rem;white-space:nowrap;
  font-size:.6rem;letter-spacing:.22em;text-transform:uppercase;
  padding:.6rem 1.15rem;border:1px solid var(--hw-line-l);color:var(--hw-grey);
  transition:background .4s var(--hw-ease),color .4s var(--hw-ease),border-color .4s var(--hw-ease),gap .4s var(--hw-ease);
}
.hw-row__b::after{content:'\2192';}
.hw-row__b:hover{background:var(--hw-black);color:var(--hw-paper);border-color:var(--hw-black);gap:.95rem;}

/* Tier table (D-Tan, body waxing) */
.hw-tierwrap{overflow-x:auto;-webkit-overflow-scrolling:touch;}
.hw-tier{width:100%;border-collapse:collapse;min-width:540px;}
.hw-tier th,.hw-tier td{
  text-align:left;padding:1rem 1.2rem;border-bottom:1px solid var(--hw-line-l);
  vertical-align:middle;
}
.hw-tier thead th{
  font-size:.6rem;font-weight:400;letter-spacing:.22em;text-transform:uppercase;
  color:var(--hw-grey);border-bottom:1px solid var(--hw-ink);
}
.hw-tier th:first-child,.hw-tier td:first-child{padding-left:0;}
.hw-tier tbody th{
  font-size:clamp(.92rem,1.2vw,1.02rem);font-weight:300;color:var(--hw-ink);
}
.hw-tier td{text-align:center;}
.hw-tier thead th:not(:first-child){text-align:center;}
.hw-tier__p{
  display:inline-flex;flex-direction:column;align-items:center;gap:.45rem;
}
.hw-tier__p b{
  font-family:var(--hw-serif);font-size:clamp(1rem,1.5vw,1.22rem);font-weight:400;
}
.hw-tier__p a{
  font-size:.55rem;letter-spacing:.2em;text-transform:uppercase;
  color:var(--hw-grey-2);border-bottom:1px solid currentColor;padding-bottom:.15rem;
  transition:color .35s var(--hw-ease);
}
.hw-tier__p a:hover{color:var(--hw-ink);}
.hw-tier tbody tr:hover{background:rgba(11,11,11,.028);}

/* ---------- Help / policy ---------- */
.hw-help{
  display:grid;grid-template-columns:minmax(0,1fr) auto;
  gap:clamp(1.5rem,4vw,4rem);align-items:center;
}
.hw-help .hw-btns{margin-top:0;}
.hw-note{
  font-size:.84rem;line-height:2;color:var(--hw-grey);
  border-left:1px solid var(--hw-line-l);padding-left:clamp(1.2rem,2.5vw,2.2rem);
  max-width:74ch;
}
.hw-sec--dark .hw-note{color:rgba(247,245,242,.66);border-left-color:var(--hw-line-d);}

/* ---------- Popular service tiles ---------- */
.hw-pop__card{display:block;}
.hw-pop__card .hw-h3{margin-top:1.1rem;margin-bottom:.35rem;}
.hw-pop__from{
  font-size:.62rem;letter-spacing:.22em;text-transform:uppercase;color:var(--hw-grey);
}

/* ---------- Booking form panel ---------- */
.hw-bookpanel{
  display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);
  gap:clamp(2rem,5vw,5rem);align-items:start;
}
.hw-picked{
  border:1px solid var(--hw-line-d);padding:clamp(1.3rem,2.6vw,2rem);
  margin-bottom:2rem;
}
.hw-picked__l{
  font-size:.6rem;letter-spacing:.24em;text-transform:uppercase;
  color:rgba(247,245,242,.5);margin-bottom:.7rem;
}
.hw-picked__v{
  font-family:var(--hw-serif);font-size:clamp(1.25rem,2.2vw,1.7rem);
  font-weight:400;color:var(--hw-paper);
}

/* ---------- Responsive ---------- */
@media (max-width:900px){
  .hw-gate{grid-template-columns:1fr;}
  .hw-cat__head{grid-template-columns:1fr;}
  .hw-help{grid-template-columns:1fr;}
  .hw-bookpanel{grid-template-columns:1fr;}
}
@media (max-width:640px){
  .hw-row{grid-template-columns:minmax(0,1fr) auto;gap:.5rem 1rem;}
  .hw-row__b{grid-column:1 / -1;justify-self:start;margin-top:.35rem;}
  .hw-note{border-left:0;padding-left:0;border-top:1px solid var(--hw-line-l);padding-top:1.2rem;}
}
