/* API-driven category gallery, inspired by salon chair selection. */
body.jd-body .castle-chair-picker { margin:20px 0 0; }
body.jd-body .castle-chair-picker__top { display:flex; justify-content:space-between; flex-wrap:wrap; gap:8px 20px; margin-bottom:20px; color:#785143; font:700 .7rem/1.4 Manrope,Arial,sans-serif; letter-spacing:.17em; text-transform:uppercase; }
body.jd-body #menu-filter.castle-chair-grid, body.jd-body .castle-chair-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:clamp(12px,1.6vw,22px); width:100%; padding:0; margin:0; border:0; overflow:visible; }
body.jd-body .castle-chair-card { position:relative; display:block; min-width:0; padding:9px; overflow:hidden; border:1px solid #a78065; border-radius:18px; background:#541b28; color:#fff0e1; text-align:left; cursor:pointer; box-shadow:0 16px 28px rgba(63,18,27,.12); transition:transform .26s ease,box-shadow .26s ease,border-color .26s ease; }
body.jd-body .castle-chair-card:hover { transform:translateY(-5px); box-shadow:0 20px 36px rgba(63,18,27,.2); border-color:#dbad72; }
body.jd-body .castle-chair-card:active { transform:translateY(-1px); }
body.jd-body .castle-chair-card.is-active { border-color:#e5bc82; box-shadow:0 0 0 3px #e5bc82,0 20px 36px rgba(63,18,27,.19); }
body.jd-body .castle-chair-card:focus-visible { outline:3px solid #9a5f32; outline-offset:5px; }
body.jd-body .castle-chair-card__image { display:block; aspect-ratio:1.12; overflow:hidden; border-radius:10px 10px 3px 3px; background:#be9b8d; }
body.jd-body .castle-chair-card__image img { display:block; width:100%; height:100%; object-fit:cover; transition:transform .5s ease; }
body.jd-body .castle-chair-card:hover img { transform:scale(1.035); }
body.jd-body .castle-chair-card__meta { display:flex; align-items:center; justify-content:space-between; gap:12px; min-height:62px; padding:12px 11px 7px; }
body.jd-body .castle-chair-card__name { display:block; color:#fff4e8; font-family:"Cormorant Garamond",Georgia,serif; font-size:clamp(1.35rem,2.1vw,2rem); font-weight:600; line-height:1.03; }
body.jd-body .castle-chair-card__count { display:grid; flex:0 0 33px; width:33px; height:33px; place-items:center; border:1px solid rgba(246,216,178,.55); border-radius:50%; color:#f5d9b4; font:700 .8rem/1 Manrope,Arial,sans-serif; font-variant-numeric:tabular-nums; }
body.jd-body .castle-chair-card__index { position:absolute; top:18px; left:20px; padding:6px 8px; color:#fff5e8; background:rgba(32,6,13,.68); font:700 .64rem/1 Manrope,Arial,sans-serif; letter-spacing:.1em; }
body.jd-body .castle-chair-detail { margin-top:clamp(58px,7vw,100px); }
body.jd-body .castle-chair-detail__tools { display:flex; justify-content:flex-end; align-items:center; gap:18px; margin:0 0 23px; }
body.jd-body .castle-chair-detail__tools label { color:#7d5548; font:700 .68rem/1.3 Manrope,Arial,sans-serif; letter-spacing:.14em; white-space:nowrap; }
body.jd-body .castle-chair-detail__tools input { width:min(360px,100%); min-height:48px; padding:10px 17px; border:1px solid #ad9280; border-radius:999px; background:#fbf5ed; color:#32171b; font:500 1rem/1.3 Manrope,Arial,sans-serif; }
body.jd-body .castle-chair-detail__tools input::placeholder { color:#795f58; opacity:1; }
body.jd-body .castle-chair-detail__tools input:focus { outline:2px solid #94593b; outline-offset:2px; }
body.jd-body .svc-menu #menu-category-hero { margin:0 0 18px; }
body.jd-body .svc-menu .castle-menu-feature { display:grid; grid-template-columns:minmax(170px,.27fr) minmax(0,.73fr); min-height:250px; background:#291014; }
body.jd-body .svc-menu .castle-menu-feature__image { min-height:250px; aspect-ratio:auto; }
body.jd-body .svc-menu .castle-menu-feature__image img { height:100%; object-fit:cover; }
body.jd-body .svc-menu .castle-menu-feature__copy { padding:clamp(28px,4vw,54px); }
body.jd-body .svc-menu .castle-menu-feature__copy h3 { font-size:clamp(2.9rem,4.6vw,5rem); margin:12px 0; }
body.jd-body .svc-menu .castle-menu-feature__copy p { max-width:65ch; margin:0; }
body.jd-body .svc-menu .castle-menu-group { display:block; padding:0 0 22px; border:0; background:none!important; }
body.jd-body .svc-menu .castle-menu-group__heading { display:none; }
body.jd-body .svc-menu .castle-menu-item { padding:21px 7px 22px; border-top:1px solid #c8afa0; }
body.jd-body .svc-menu .castle-menu-item:first-child { border-top:0; }
body.jd-body .castle-chair-back { margin-top:25px; padding:12px 0; border:0; border-bottom:1px solid #845c4b; background:none; color:#4d2624; font:700 .73rem/1.3 Manrope,Arial,sans-serif; letter-spacing:.12em; text-transform:uppercase; cursor:pointer; }
body.jd-body .castle-chair-back:hover { color:#a05d42; }
body.jd-body .castle-chair-back:focus-visible { outline:3px solid #a05d42; outline-offset:5px; }
body.jd-body #services .jd-menu-home__shell { display:block; }
body.jd-body #services #home-menu-filters.castle-chair-grid { position:static; top:auto; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:clamp(12px,1.6vw,22px); margin:0; padding:0; overflow:visible; border:0; scroll-snap-type:none; }
body.jd-body #services #home-menu-filters .castle-chair-card { width:100%; max-width:none; min-height:0; scroll-snap-align:none; }
body.jd-body #services #home-menu-filters .castle-chair-card::before { content:none; }
body.jd-body #services .castle-chair-detail { margin-top:clamp(52px,6vw,80px); }
body.jd-body #services #home-menu-services.service-list { width:100%; max-height:none; padding:0; overflow:visible; }
body.jd-body #services .jd-menu-group { margin:0; border:0; background:transparent; box-shadow:none; }
body.jd-body #services .jd-menu-group__head { border:0; border-bottom:1px solid #bda08d; background:transparent; padding-left:0; padding-right:0; }
body.jd-body #services .jd-menu-group__head h3 { color:#4c2026; font-size:clamp(2.3rem,4vw,4rem); }
body.jd-body #services .jd-menu-group__rows { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); column-gap:clamp(20px,4vw,70px); }
body.jd-body #services .jd-menu-service { border-bottom:1px solid #c8afa0; padding-left:0; padding-right:0; }
body.jd-body #services .jd-menu-service:hover { padding-left:10px; }
body.jd-body #services .jd-menu-service__main > strong { color:#3a1a1d; }
body.jd-body #services .jd-menu-service__price > strong { color:#7e3d36; }
@media(max-width:800px) {
  body.jd-body #menu-filter.castle-chair-grid, body.jd-body .castle-chair-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  body.jd-body #services #home-menu-filters.castle-chair-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  body.jd-body #services .jd-menu-group__rows { grid-template-columns:1fr; }
  body.jd-body .svc-menu .castle-menu-feature { grid-template-columns:145px minmax(0,1fr); min-height:220px; }
  body.jd-body .svc-menu .castle-menu-feature__image { min-height:220px; }
}
@media(max-width:600px) {
  body.jd-body .castle-chair-card { padding:6px; border-radius:12px; }
  body.jd-body .castle-chair-card__image { aspect-ratio:.86; border-radius:7px 7px 2px 2px; }
  body.jd-body .castle-chair-card__meta { min-height:62px; padding:9px 5px 5px; gap:5px; align-items:flex-start; }
  body.jd-body .castle-chair-card__name { font-size:clamp(1.12rem,5vw,1.42rem); line-height:1.04; }
  body.jd-body .castle-chair-card__count { flex-basis:26px; width:26px; height:26px; font-size:.69rem; }
  body.jd-body .castle-chair-card__index { top:12px; left:12px; }
  body.jd-body .castle-chair-detail__tools { display:block; }
  body.jd-body .castle-chair-detail__tools label { display:block; margin-bottom:9px; }
  body.jd-body .castle-chair-detail__tools input { width:100%; }
  body.jd-body .svc-menu .castle-menu-feature { grid-template-columns:110px minmax(0,1fr); min-height:190px; }
  body.jd-body .svc-menu .castle-menu-feature__image { min-height:190px; aspect-ratio:auto; }
  body.jd-body .svc-menu .castle-menu-feature__copy { padding:18px; }
  body.jd-body .svc-menu .castle-menu-feature__copy > span { font-size:.55rem; }
  body.jd-body .svc-menu .castle-menu-feature__copy h3 { font-size:clamp(2rem,8vw,3rem); }
  body.jd-body .svc-menu .castle-menu-feature__copy p { font-size:.8rem; line-height:1.45; }
}
@media(max-width:360px) {
  body.jd-body .svc-menu .castle-menu-feature { grid-template-columns:90px minmax(0,1fr); }
  body.jd-body .castle-chair-card__name { font-size:1.06rem; }
}
@media(prefers-reduced-motion:reduce) { body.jd-body .castle-chair-card,body.jd-body .castle-chair-card img { transition:none; } }

/* Home services introduction: a compact editorial invitation before the chair gallery. */
body.jd-body #services .jd-menu-home__head {
  display:grid;
  grid-template-columns:minmax(0,1.4fr) minmax(250px,.6fr);
  align-items:end;
  gap:clamp(28px,5vw,78px);
  min-height:320px;
  margin:0 0 clamp(42px,5vw,72px);
  padding:clamp(32px,5vw,72px);
  border:1px solid #85634f;
  border-radius:18px;
  background:#351219;
  box-shadow:0 18px 42px rgba(50,16,23,.12);
}
body.jd-body #services .jd-menu-home__titles { min-width:0; }
body.jd-body #services .jd-menu-home__titles .jd-eyebrow {
  margin:0 0 clamp(24px,3vw,40px);
  color:#e4bd83!important;
  font:700 .7rem/1.5 Manrope,Arial,sans-serif;
  letter-spacing:.19em;
}
body.jd-body #services .jd-menu-home__titles .jd-eyebrow span { padding:0 .7em; color:#a88267; }
body.jd-body #services .jd-menu-home__display {
  max-width:none;
  margin:0;
  color:#fff3e8!important;
  font-family:"Cormorant Garamond",Georgia,serif;
  font-size:clamp(4.6rem,7vw,7.25rem);
  font-weight:400;
  line-height:.9;
  letter-spacing:-.045em;
  -webkit-text-fill-color:currentColor;
}
body.jd-body #services .jd-menu-home__display span,
body.jd-body #services .jd-menu-home__display em {
  display:block;
  width:auto;
  max-width:none;
  margin:0;
  padding:0 0 .08em;
  color:inherit;
  font:inherit;
  line-height:.95;
  letter-spacing:inherit;
  transform:none;
  -webkit-text-fill-color:currentColor;
}
body.jd-body #services .jd-menu-home__display em { color:#e1b879; font-style:italic; }
body.jd-body #services .jd-menu-home__lead {
  max-width:27ch;
  margin:0 0 .25rem;
  padding:20px 0 0;
  border-top:1px solid rgba(231,191,133,.58);
  color:#f2e4d8!important;
  font:400 clamp(.96rem,1.35vw,1.15rem)/1.7 Manrope,Arial,sans-serif;
  justify-self:end;
}
@media(max-width:900px) {
  body.jd-body #services .jd-menu-home__head { grid-template-columns:1fr; min-height:0; gap:28px; }
  body.jd-body #services .jd-menu-home__display { font-size:clamp(4rem,10vw,6rem); }
  body.jd-body #services .jd-menu-home__lead { justify-self:start; max-width:42ch; }
}
@media(max-width:600px) {
  body.jd-body #services .jd-menu-home__head { gap:22px; margin-bottom:36px; padding:30px 25px 32px; border-radius:13px; }
  body.jd-body #services .jd-menu-home__titles .jd-eyebrow { margin-bottom:22px; font-size:.57rem; letter-spacing:.13em; }
  body.jd-body #services .jd-menu-home__eyebrow-sep,
  body.jd-body #services .jd-menu-home__eyebrow-place { display:none; }
  body.jd-body #services .jd-menu-home__display { font-size:clamp(3rem,12vw,4.5rem); line-height:.94; }
  body.jd-body #services .jd-menu-home__lead { padding-top:17px; font-size:.9rem; line-height:1.55; }
}
@media(max-width:360px) {
  body.jd-body #services .jd-menu-home__display { font-size:2.5rem; }
}
