/* Shared presentation layer for individual service pages. Content stays in Gutenberg. */
.gbl-service-page {
  box-sizing: border-box;
  width: min(100%, 1280px);
  margin-inline: auto;
  padding: 0 clamp(1rem, 3vw, 2rem) clamp(3rem, 6vw, 5rem);
  color: var(--wp--preset--color--ink);
}
.gbl-service-page > * { margin-block-start: 0; }
.gbl-service-page :where(h1,h2,h3) { margin-block: 0; }
.gbl-service-page p { color: var(--wp--preset--color--muted); }
.gbl-service-page .gbl-service-eyebrow {
  display: flex;
  align-items: center;
  gap: 14px;
  margin: 0 0 .7rem;
  color: var(--wp--preset--color--ink);
  font-size: .68rem;
  font-weight: 500;
  letter-spacing: .2em;
  line-height: 1.5;
  text-transform: uppercase;
}
.gbl-service-page .gbl-service-eyebrow::after {
  width: 42px;
  height: 1px;
  background: var(--wp--preset--color--muted);
  content: "";
}
.gbl-service-hero {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  padding: clamp(2.25rem, 4.4vw, 4.2rem) clamp(1.5rem, 4vw, 3.25rem);
  background:
    radial-gradient(ellipse at 2% 88%, rgba(198,228,222,.45), transparent 25%),
    linear-gradient(100deg, var(--wp--preset--color--paper) 0%, var(--wp--preset--color--cream) 53%, rgba(198,228,222,.42) 100%);
}
.gbl-service-hero::before {
  position: absolute;
  z-index: -1;
  top: -115px;
  left: -170px;
  width: 340px;
  aspect-ratio: 1;
  border-radius: 50%;
  background: rgba(168,211,228,.18);
  content: "";
}
.gbl-service-hero::after {
  position: absolute;
  z-index: 2;
  right: -12px;
  bottom: -38px;
  width: clamp(86px, 11vw, 142px);
  height: clamp(150px, 19vw, 232px);
  background: url("../images/footer-botanical.svg") center / contain no-repeat;
  opacity: .78;
  pointer-events: none;
  content: "";
}
.gbl-service-hero__columns,
.gbl-service-detail__columns {
  display: grid;
  grid-template-columns: minmax(0,.92fr) minmax(0,1.08fr);
  align-items: center;
  gap: clamp(1.5rem, 4vw, 3.5rem);
  margin-block: 0;
}
.gbl-service-hero__copy { position: relative; z-index: 3; }
.gbl-service-page .gbl-service-hero h1 {
  max-width: 620px;
  color: var(--wp--preset--color--ink);
  font-family: var(--wp--preset--font-family--heading);
  font-size: clamp(2.1rem, 4vw, 3.5rem);
  font-weight: 400;
  letter-spacing: -.035em;
  line-height: 1.05;
  overflow-wrap: normal;
}
.gbl-service-hero__subtitle {
  max-width: 480px;
  margin: .35rem 0 .65rem;
  color: var(--wp--preset--color--ink) !important;
  font-size: clamp(1.15rem, 2vw, 1.5rem);
  line-height: 1.35;
}
.gbl-service-hero__description {
  max-width: 490px;
  margin: 0;
  font-size: .94rem;
  line-height: 1.7;
}
.gbl-service-page .gbl-service-buttons {
  display: flex;
  flex-wrap: wrap;
  gap: .75rem;
  margin: 1.35rem 0 0;
}
.gbl-service-page .gbl-service-buttons .wp-block-button { margin: 0; }
.gbl-service-page .gbl-service-buttons .wp-block-button__link {
  display: inline-flex;
  min-height: 44px;
  align-items: center;
  justify-content: center;
  gap: .7rem;
  padding: .72rem 1.4rem;
  border: 1px solid transparent;
  border-radius: 999px;
  font-size: .875rem;
  line-height: 1.3;
  text-decoration: none;
  transition: background-color .18s ease, border-color .18s ease;
}
.gbl-service-page .gbl-service-buttons .gbl-button-primary .wp-block-button__link {
  background: var(--wp--preset--color--mint);
  color: var(--wp--preset--color--ink);
}
.gbl-service-page .gbl-service-buttons .gbl-button-secondary .wp-block-button__link {
  border-color: var(--wp--preset--color--ink);
  background: transparent;
  color: var(--wp--preset--color--ink);
}
.gbl-service-page .gbl-service-buttons .wp-block-button__link:hover {
  background: var(--wp--preset--color--sky);
  color: var(--wp--preset--color--ink);
}
.gbl-service-page a:focus-visible {
  outline: 2px solid var(--wp--preset--color--ink);
  outline-offset: 3px;
}
.gbl-service-hero__media { position: relative; min-width: 0; }
.gbl-service-hero__image,
.gbl-service-detail__image,
.gbl-service-card__image { margin: 0; }
.gbl-service-hero__image img {
  display: block;
  width: 100%;
  height: clamp(290px, 32vw, 440px);
  border-radius: 12px;
  object-fit: cover;
  object-position: 50% 48%;
}
.gbl-service-hero__image::after {
  position: absolute;
  inset: 0;
  border-radius: 12px;
  background: linear-gradient(90deg, rgba(247,244,239,.34), transparent 35%);
  content: "";
  pointer-events: none;
}
.gbl-service-benefits {
  padding: clamp(1.35rem, 2.6vw, 2rem) 0;
  border-bottom: 1px solid var(--wp--preset--color--line);
}
.gbl-service-benefits__grid {
  display: grid;
  grid-template-columns: repeat(4,minmax(0,1fr));
  gap: 0;
  margin-block: 0;
}
.gbl-service-benefit {
  display: grid;
  grid-template-columns: 42px minmax(0,1fr);
  align-items: center;
  gap: .7rem;
  min-width: 0;
  padding: .4rem clamp(.65rem,1.4vw,1.25rem);
}
.gbl-service-benefit + .gbl-service-benefit { border-left: 1px solid var(--wp--preset--color--line); }
.gbl-service-benefit__icon {
  display: grid;
  width: 38px;
  height: 42px;
  place-items: center;
  color: var(--wp--preset--color--ink);
}
.gbl-service-benefit__icon svg {
  display: block;
  width: 38px;
  height: 38px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.35;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.gbl-service-page .gbl-service-benefit h3 {
  margin: 0 0 .18rem;
  color: var(--wp--preset--color--ink);
  font-family: var(--wp--preset--font-family--body);
  font-size: .86rem;
  font-weight: 500;
  line-height: 1.35;
}
.gbl-service-page .gbl-service-benefit p {
  margin: 0;
  font-size: .75rem;
  line-height: 1.45;
}
.gbl-service-detail {
  padding: clamp(2.75rem, 5vw, 4.6rem) 0;
}
.gbl-service-detail__copy { min-width: 0; }
.gbl-service-page .gbl-service-detail h2,
.gbl-service-page .gbl-service-prices h2 {
  color: var(--wp--preset--color--ink);
  font-family: var(--wp--preset--font-family--heading);
  font-size: clamp(2rem, 3.5vw, 3.15rem);
  font-weight: 400;
  letter-spacing: -.025em;
  line-height: 1.12;
}
.gbl-service-detail__copy p:not(.gbl-service-eyebrow) {
  margin: .8rem 0 0;
  font-size: .9rem;
  line-height: 1.72;
}
.gbl-service-detail__image img {
  display: block;
  width: 100%;
  aspect-ratio: 1.45 / 1;
  border-radius: 10px;
  object-fit: cover;
  object-position: 50% 50%;
}
.gbl-service-variants {
  padding: clamp(2.25rem, 4vw, 3.5rem) 0;
  border-top: 1px solid var(--wp--preset--color--line);
  border-bottom: 1px solid var(--wp--preset--color--line);
  background: linear-gradient(180deg, rgba(247,244,239,.45), rgba(255,254,252,.25));
}
.gbl-service-variants__heading {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 1rem;
  margin-bottom: 1.2rem;
}
.gbl-service-page .gbl-service-variants h2 {
  color: var(--wp--preset--color--ink);
  font-family: var(--wp--preset--font-family--heading);
  font-size: clamp(1.8rem, 3vw, 2.45rem);
  font-weight: 400;
  line-height: 1.2;
}
.gbl-service-variants__note {
  margin: 0;
  font-size: .65rem;
  letter-spacing: .2em;
  text-transform: uppercase;
}
.gbl-service-variants__grid {
  display: grid;
  grid-template-columns: repeat(4,minmax(0,1fr));
  align-items: stretch;
  gap: clamp(.7rem,1.3vw,1.1rem);
  margin-block: 0;
}
.gbl-service-page .gbl-service-card {
  display: flex;
  min-width: 0;
  flex-direction: column;
  overflow: hidden;
  padding: .55rem .55rem 1rem;
  border: 1px solid rgba(228,226,221,.55);
  border-radius: 9px;
  background: var(--wp--preset--color--paper);
  box-shadow: 0 5px 20px rgba(24,33,57,.035);
}
.gbl-service-card__image img {
  display: block;
  width: 100%;
  aspect-ratio: 1.62 / 1;
  border-radius: 6px;
  object-fit: cover;
  object-position: center;
}
.gbl-service-variants__grid { align-items:stretch; }
.gbl-service-variants__grid > * { align-self:stretch; margin-block-start:0 !important; }
.gbl-service-page .gbl-service-card { height: 100%; }
.gbl-service-page .gbl-service-card h3 {
  margin: .6rem .35rem .25rem;
  color: var(--wp--preset--color--ink);
  font-family: var(--wp--preset--font-family--heading);
  font-size: clamp(1.05rem,1.6vw,1.35rem);
  font-weight: 400;
  line-height: 1.22;
}
.gbl-service-page .gbl-service-card p {
  flex: 1 0 auto;
  margin: 0 .35rem .6rem;
  font-size: .75rem;
  line-height: 1.48;
}
.gbl-service-card__link {
  display: inline-grid;
  width: 38px;
  height: 38px;
  margin: .2rem .35rem 0;
  place-items: center;
  border-radius: 50%;
  background: var(--wp--preset--color--mint);
  color: var(--wp--preset--color--ink) !important;
  font-size: 1.15rem;
  line-height: 1;
  text-decoration: none;
}
.gbl-service-card__link:hover { background: var(--wp--preset--color--sky); }
.gbl-service-price-overview {
  margin-top: clamp(2.5rem,4vw,3.75rem);
  padding: clamp(1.75rem,3.5vw,3rem) clamp(1.4rem,3.5vw,3rem);
  border-radius: 12px;
  background:
    radial-gradient(ellipse at 0% 100%, rgba(168,211,228,.28), transparent 38%),
    linear-gradient(115deg, rgba(218,242,238,.72), rgba(247,244,239,.74));
}
.gbl-service-price-overview__columns {
  display: grid;
  grid-template-columns: minmax(0,.9fr) minmax(0,1.1fr);
  align-items: center;
  gap: clamp(1.5rem,4vw,3.5rem);
  margin-block: 0;
}
.gbl-service-price-overview__copy { max-width: 530px; }
.gbl-service-page .gbl-service-price-overview h2,
.gbl-service-page .gbl-service-faq h2 {
  color: var(--wp--preset--color--ink);
  font-family: var(--wp--preset--font-family--heading);
  font-size: clamp(1.9rem,3.3vw,2.8rem);
  font-weight: 400;
  letter-spacing: -.025em;
  line-height: 1.14;
}
.gbl-service-price-overview__copy > p:not(.gbl-service-eyebrow) {
  margin: .55rem 0 0;
  font-size: .9rem;
  line-height: 1.65;
}
.gbl-service-price-overview__list { min-width: 0; }
.gbl-service-page .gbl-service-price-table table {
  width: 100%;
  border: 0;
  border-collapse: collapse;
  table-layout: fixed;
}
.gbl-service-page .gbl-service-price-table td {
  padding: .55rem .35rem;
  border: 0;
  border-bottom: 1px solid var(--wp--preset--color--line);
  color: var(--wp--preset--color--ink);
  font-size: .9rem;
  vertical-align: middle;
}
.gbl-service-page .gbl-service-price-table tr:last-child td { border-bottom: 0; }
.gbl-service-page .gbl-service-price-table td:first-child { width: 76%; }
.gbl-service-page .gbl-service-price-table td:last-child {
  width: 24%;
  text-align: right;
  white-space: nowrap;
  font-weight: 600;
}
.gbl-service-price-table small {
  display: block;
  margin-top: .12rem;
  color: var(--wp--preset--color--muted);
  font-family: var(--wp--preset--font-family--body);
  font-size: .76rem;
  font-weight: 400;
  line-height: 1.45;
}
.gbl-service-price-additional { margin: 1.1rem 0 .25rem; }
.gbl-service-page .gbl-service-price-additional > p {
  margin: 0;
  color: var(--wp--preset--color--ink);
  font-size: .67rem;
  font-weight: 600;
  letter-spacing: .16em;
  text-transform: uppercase;
}
.gbl-service-faq {
  margin-top: clamp(2.5rem,4vw,3.75rem);
  padding: clamp(1.75rem,3.5vw,3rem) clamp(1.4rem,3.5vw,3rem);
  border-radius: 12px;
  background: linear-gradient(120deg, rgba(247,244,239,.5), rgba(218,242,238,.24));
}
.gbl-service-faq__columns {
  display: grid;
  grid-template-columns: minmax(0,.9fr) minmax(0,1.1fr);
  align-items: start;
  gap: clamp(1.5rem,4vw,3.5rem);
  margin-block: 0;
}
.gbl-service-faq__intro > p:not(.gbl-service-eyebrow) {
  margin: .55rem 0 0;
  font-size: .9rem;
  line-height: 1.65;
}
.gbl-service-faq__items { min-width: 0; }
.gbl-service-page details.gbl-service-faq__item {
  margin: 0;
  border-bottom: 1px solid var(--wp--preset--color--line);
  background: rgba(255,254,252,.78);
}
.gbl-service-page details.gbl-service-faq__item:first-child { border-radius: 7px 7px 0 0; }
.gbl-service-page details.gbl-service-faq__item:last-child { border-bottom: 0; border-radius: 0 0 7px 7px; }
.gbl-service-page details.gbl-service-faq__item summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding: .9rem 1rem;
  color: var(--wp--preset--color--ink);
  font-size: .9rem;
  line-height: 1.45;
  cursor: pointer;
  list-style: none;
}
.gbl-service-page details.gbl-service-faq__item summary::-webkit-details-marker { display: none; }
.gbl-service-page details.gbl-service-faq__item summary::after {
  content: "+";
  flex: 0 0 auto;
  color: var(--wp--preset--color--ink);
  font-size: 1.3rem;
  font-weight: 400;
  line-height: 1;
}
.gbl-service-page details.gbl-service-faq__item[open] summary::after { content: "−"; }
.gbl-service-page details.gbl-service-faq__item summary:focus-visible {
  outline: 2px solid var(--wp--preset--color--mint);
  outline-offset: -3px;
}
.gbl-service-page details.gbl-service-faq__item > p {
  margin: 0;
  padding: 0 1rem 1rem;
  color: var(--wp--preset--color--muted);
  font-size: .85rem;
  line-height: 1.65;
}
.gbl-service-faq__draft-label { font-weight: 600; color: var(--wp--preset--color--ink); }

/* Gelaatsverzorging has three confirmed service variants in the current price list. */
.gbl-facial-page .gbl-service-variants__grid { grid-template-columns: repeat(3,minmax(0,1fr)); }
.gbl-facial-page .gbl-service-benefit__icon p {
  margin: 0;
  color: var(--wp--preset--color--ink);
  font-family: var(--wp--preset--font-family--heading);
  font-size: 1.9rem;
  line-height: 1;
  text-align: center;
}
/* Native Gutenberg Details blocks provide the visible, keyboard-accessible facial-care FAQ. */

@media (max-width: 1000px) {
  .gbl-service-benefits__grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .gbl-service-benefit:nth-child(3) { border-left: 0; }
  .gbl-service-benefit:nth-child(n+3) { border-top: 1px solid var(--wp--preset--color--line); padding-top: 1rem; margin-top: .4rem; }
  .gbl-service-variants__grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .gbl-facial-page .gbl-service-variants__grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media (max-width: 780px) {
  .gbl-service-hero__columns,
  .gbl-service-detail__columns { grid-template-columns: minmax(0,1fr); }
  .gbl-service-hero__columns { gap: 1.5rem; }
  .gbl-service-hero__media { order: 2; }
  .gbl-service-hero__image img { height: clamp(250px,55vw,400px); }
  .gbl-service-hero::after { width: 90px; height: 150px; bottom: -18px; }
  .gbl-service-detail__columns { gap: 1.5rem; }
  .gbl-service-price-overview__columns,
  .gbl-service-faq__columns { grid-template-columns: minmax(0,1fr); }
}
@media (max-width: 480px) {
  .gbl-service-page { padding-inline: .875rem; }
  .gbl-service-hero { margin-inline: -.875rem; padding: 2rem .875rem 1.5rem; }
  .gbl-service-page .gbl-service-hero h1 {
    font-size: clamp(1.7rem, 8.7vw, 3rem);
    white-space: nowrap;
  }
  .gbl-service-hero__subtitle { font-size: 1.1rem; }
  .gbl-service-hero__description { font-size: .88rem; }
  .gbl-service-page .gbl-service-buttons { align-items: stretch; }
  .gbl-service-page .gbl-service-buttons .wp-block-button__link { padding-inline: 1rem; }
  .gbl-service-benefits__grid { grid-template-columns: minmax(0,1fr); }
  .gbl-service-benefit { padding: .8rem .2rem; }
  .gbl-service-benefit + .gbl-service-benefit,
  .gbl-service-benefit:nth-child(3) { margin-top: 0; border-top: 1px solid var(--wp--preset--color--line); border-left: 0; }
  .gbl-service-variants__heading { align-items: flex-start; flex-direction: column; }
  .gbl-service-variants__grid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: .65rem; }
  .gbl-facial-page .gbl-service-variants__grid { grid-template-columns: minmax(0,1fr); }
  .gbl-service-page .gbl-service-card { padding: .4rem .4rem .75rem; }
  .gbl-service-page .gbl-service-card h3 { font-size: 1rem; }
  .gbl-service-page .gbl-service-card p { font-size: .72rem; }
  .gbl-service-price-overview,
  .gbl-service-faq { margin-inline: -.15rem; padding: 1.5rem 1.2rem; }
  .gbl-service-page .gbl-service-price-table td { padding: .52rem .25rem; font-size: .82rem; }
  .gbl-service-page .gbl-service-price-table td:first-child { width: 73%; }
  .gbl-service-page .gbl-service-price-table td:last-child { width: 27%; }
  .gbl-service-price-table small { font-size: .7rem; }
  .gbl-service-page details.gbl-service-faq__item summary { padding: .8rem .75rem; font-size: .86rem; }
  .gbl-service-page details.gbl-service-faq__item > p { padding-inline: .75rem; }
}
@media (max-width: 350px) {
  .gbl-service-variants__grid { grid-template-columns: minmax(0,1fr); }
  .gbl-service-card__image img { aspect-ratio: 1.8 / 1; }
  .gbl-service-page .gbl-service-buttons { flex-direction: column; }
  .gbl-service-page .gbl-service-buttons .wp-block-button,
  .gbl-service-page .gbl-service-buttons .wp-block-button__link { width: 100%; }
}
@media (prefers-reduced-motion: reduce) {
  .gbl-service-page * { scroll-behavior: auto !important; transition-duration: .01ms !important; }
}

/* Nagels page: reuse the shared service-page system and keep the categories Gutenberg-editable. */
.gbl-nails-page .gbl-nails-breadcrumb { margin: 0 0 .75rem; }
.gbl-nails-breadcrumb ol {
  display: flex;
  flex-wrap: wrap;
  gap: .5rem;
  margin: 0;
  padding: 0;
  color: var(--wp--preset--color--muted);
  font-size: .75rem;
  list-style: none;
}
.gbl-nails-breadcrumb li + li::before { margin-right: .5rem; color: var(--wp--preset--color--muted); content: "›"; }
.gbl-nails-breadcrumb a { color: inherit; text-decoration: none; }
.gbl-nails-hero { padding-top: clamp(1.25rem, 2.5vw, 2rem); }
.gbl-nails-hero .gbl-service-hero__columns { grid-template-columns: minmax(0,.9fr) minmax(0,1.1fr); }
.gbl-nails-hero .gbl-service-hero__image img { object-position: 58% center; }
.gbl-nails-benefits { background: linear-gradient(90deg, rgba(218,242,238,.25), rgba(168,211,228,.14)); }
.gbl-nails-page .gbl-nails-pricing { padding: clamp(2rem,4vw,3.5rem) 0; }
.gbl-nails-pricing__heading { margin-bottom: 1rem; }
.gbl-service-page .gbl-nails-pricing h2,
.gbl-service-page .gbl-nails-process h2,
.gbl-service-page .gbl-nails-gallery h2 { color: var(--wp--preset--color--ink); font-family: var(--wp--preset--font-family--heading); font-size: clamp(1.8rem,3vw,2.45rem); font-weight: 400; line-height: 1.2; }
.gbl-nails-tabs { margin: 1rem 0 1.5rem; }
.gbl-nails-tabs__list {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: .2rem;
  width: fit-content;
  max-width: 100%;
  margin-left: auto;
  padding: .22rem;
  border-radius: 999px;
  background: rgba(224,232,236,.62);
}
.gbl-nails-tabs__tab {
  display: inline-flex;
  min-height: 40px;
  align-items: center;
  justify-content: center;
  padding: .55rem 1.1rem;
  border-radius: 999px;
  color: var(--wp--preset--color--ink);
  font-size: .8rem;
  line-height: 1.2;
  text-decoration: none;
  white-space: nowrap;
}
.gbl-nails-tabs__tab[aria-selected="true"] { background: #278f91; color: #fff; }
.gbl-nails-tabs__tab:hover { background: var(--wp--preset--color--mint); color: var(--wp--preset--color--ink); }
.gbl-nails-tabs__tab[aria-selected="true"]:hover { background: #278f91; color: #fff; }
.gbl-nails-tabs__tab:focus-visible { outline: 2px solid var(--wp--preset--color--ink); outline-offset: 2px; }
.gbl-nails-panel { scroll-margin-top: 6rem; }
.gbl-service-page .gbl-nails-panel h3 { margin: 0 0 .8rem; color: var(--wp--preset--color--ink); font-family: var(--wp--preset--font-family--heading); font-size: clamp(1.35rem,2.2vw,1.8rem); font-weight: 400; }
.gbl-nails-panel__note { margin: -.35rem 0 1rem; font-size: .82rem; }
.gbl-nails-price-grid { grid-template-columns:repeat(3,minmax(0,1fr)); align-items:stretch; }
.gbl-nails-price-grid > * { align-self:stretch; margin-block-start:0 !important; }
.gbl-nails-price-grid.gbl-nails-price-grid--single { grid-template-columns: minmax(0,420px); }
.gbl-service-page .gbl-nails-price-card { display:flex; height:100%; flex-direction:column; padding-bottom:1rem; }
.gbl-service-page .gbl-nails-price-card img { display:block; width:100%; aspect-ratio:1.65 / 1; object-fit:cover; }
.gbl-service-page .gbl-nails-price-card h4 { margin: .65rem .35rem .25rem; color: var(--wp--preset--color--ink); font-family: var(--wp--preset--font-family--body); font-size: .98rem; font-weight: 500; line-height: 1.35; }
.gbl-service-page .gbl-nails-price-card .gbl-nails-price-card__detail { margin: 0 .35rem .5rem; font-size: .78rem; }
.gbl-service-page .gbl-nails-price-card .gbl-nails-price-card__duration { margin: auto .35rem .15rem; color: var(--wp--preset--color--muted); font-size: .75rem; }
.gbl-service-page .gbl-nails-price-card .gbl-nails-price-card__price { margin: 0 .35rem; color: var(--wp--preset--color--ink); font-size: 1rem; font-weight: 600; }
.gbl-nails-process { padding: clamp(2rem,4vw,3.3rem) 0; border-top: 1px solid var(--wp--preset--color--line); border-bottom: 1px solid var(--wp--preset--color--line); background: linear-gradient(100deg, rgba(247,244,239,.6), rgba(218,242,238,.25)); }
.gbl-nails-process__intro { margin-bottom: 1.1rem; }
.gbl-service-page .gbl-nails-process__intro > p:not(.gbl-service-eyebrow) { max-width: 600px; margin: .55rem 0 0; font-size: .88rem; line-height: 1.65; }
.gbl-nails-steps { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); align-items:stretch; gap:1rem; margin:0; }
.gbl-nails-steps > * { align-self:stretch; margin-block-start:0 !important; }
.gbl-nails-step { display:flex; min-width:0; height:100%; flex-direction:column; text-align:center; }
.gbl-nails-step__image { margin: 0 0 .7rem; overflow: hidden; border-radius: 8px; }
.gbl-nails-step__image img { display: block; width: 100%; aspect-ratio: 1.55 / 1; object-fit: cover; }
.gbl-service-page .gbl-nails-step h3 { margin: 0 0 .25rem; color: var(--wp--preset--color--ink); font-family: var(--wp--preset--font-family--body); font-size: .95rem; font-weight: 500; }
.gbl-service-page .gbl-nails-step p { margin: 0 auto; max-width: 300px; font-size: .77rem; line-height: 1.5; }
.gbl-nails-gallery { padding: clamp(2rem,4vw,3.2rem) 0; }
.gbl-nails-gallery__intro { margin-bottom: 1rem; }
.gbl-service-page .gbl-nails-gallery__intro > p:not(.gbl-service-eyebrow) { margin: .4rem 0 0; font-size: .85rem; }
.gbl-nails-gallery__grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); align-items:stretch; gap:.8rem; margin:0; }
.gbl-nails-gallery__grid > * { align-self:stretch; margin-block-start:0 !important; }
.gbl-nails-gallery__image { margin: 0; overflow: hidden; border-radius: 8px; }
.gbl-nails-gallery__image img { display: block; width: 100%; aspect-ratio: 1.7 / 1; object-fit: cover; }
.gbl-nails-gallery__caption { margin: .4rem 0 0; color: var(--wp--preset--color--muted); font-size: .72rem; }
.gbl-nails-page .gbl-service-faq { margin-top: 0; }
.gbl-nails-page details.gbl-service-faq__item summary { min-height: 46px; }
.gbl-nails-page .gbl-service-faq__intro > p:not(.gbl-service-eyebrow) { max-width: 420px; }
.gbl-nails-page .gbl-service-faq__items { border-radius: 7px; overflow: hidden; }
.gbl-nails-page .gbl-nails-pricing.gbl-nails-tabs--enhanced .gbl-nails-panel:not(.is-active) { display: none; }

@media (max-width: 1000px) {
  .gbl-nails-price-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .gbl-nails-steps { grid-template-columns: repeat(3,minmax(0,1fr)); gap: .7rem; }
}
@media (max-width: 780px) {
  .gbl-nails-hero .gbl-service-hero__columns { grid-template-columns: minmax(0,1fr); }
  .gbl-nails-hero .gbl-service-hero__media { order: 0; }
  .gbl-nails-tabs__list { justify-content: flex-start; margin-left: 0; border-radius: 16px; }
  .gbl-nails-tabs__tab { padding-inline: .85rem; }
  .gbl-nails-steps { grid-template-columns: minmax(0,1fr); }
  .gbl-nails-step { display: grid; grid-template-columns: minmax(110px,.75fr) minmax(0,1fr); align-items: center; gap: .9rem; text-align: left; }
  .gbl-nails-step__image { grid-row: span 2; margin: 0; }
  .gbl-service-page .gbl-nails-step p { margin: 0; }
}
@media (max-width: 480px) {
  .gbl-nails-breadcrumb ol { font-size: .7rem; }
  .gbl-nails-price-grid,
  .gbl-nails-gallery__grid { grid-template-columns: minmax(0,1fr); }
  .gbl-nails-tabs__list { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); width: 100%; border-radius: 12px; }
  .gbl-nails-tabs__tab { padding-inline: .45rem; font-size: .75rem; }
  .gbl-nails-step { grid-template-columns: minmax(88px,.6fr) minmax(0,1fr); gap: .7rem; }
  .gbl-nails-page .gbl-service-faq { padding-inline: 1rem; }
}

/* Pedicure service page, scoped to its Gutenberg content. */
.gbl-pedicure-page { padding-bottom: 0; }
.gbl-pedicure-page .gbl-pedicure-hero {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  padding: clamp(1.5rem,3vw,2.6rem);
  background: linear-gradient(105deg, var(--wp--preset--color--cream), var(--wp--preset--color--paper) 53%, rgba(198,228,222,.46));
}
.gbl-pedicure-page .gbl-pedicure-hero::before {
  position: absolute;
  z-index: -1;
  top: -5rem;
  left: -7rem;
  width: 18rem;
  aspect-ratio: 1;
  border-radius: 50%;
  background: rgba(168,211,228,.18);
  content: "";
}
.gbl-pedicure-page .gbl-pedicure-hero__columns,
.gbl-pedicure-page .gbl-pedicure-detail__columns,
.gbl-pedicure-page .gbl-pedicure-faq__columns {
  display: grid;
  align-items: center;
  gap: clamp(1.25rem,3vw,2.75rem);
  margin: 0;
}
.gbl-pedicure-page .gbl-pedicure-hero__columns { grid-template-columns: minmax(0,.9fr) minmax(0,1.1fr); }
.gbl-pedicure-page .gbl-pedicure-detail__columns { grid-template-columns: minmax(0,.92fr) minmax(0,1.08fr); }
.gbl-pedicure-page .gbl-pedicure-faq__columns { grid-template-columns: minmax(230px,.82fr) minmax(0,1.18fr); }
.gbl-pedicure-page .gbl-pedicure-hero h1,
.gbl-pedicure-page .gbl-pedicure-section h2,
.gbl-pedicure-page .gbl-pedicure-faq h2 {
  color: var(--wp--preset--color--ink);
  font-family: var(--wp--preset--font-family--heading);
  font-weight: 400;
  letter-spacing: -.025em;
  line-height: 1.12;
}
.gbl-pedicure-page .gbl-pedicure-hero h1 { font-size: clamp(2.35rem,4.2vw,3.6rem); }
.gbl-pedicure-page .gbl-pedicure-section h2,
.gbl-pedicure-page .gbl-pedicure-faq h2 { font-size: clamp(1.9rem,3.3vw,2.75rem); }
.gbl-pedicure-page .gbl-pedicure-hero__subtitle { margin: .35rem 0 .55rem; color: var(--wp--preset--color--ink); font-size: clamp(1.05rem,1.8vw,1.35rem); line-height: 1.4; }
.gbl-pedicure-page .gbl-pedicure-hero__copy > p:not(.gbl-service-eyebrow),
.gbl-pedicure-page .gbl-pedicure-section p:not(.gbl-service-eyebrow),
.gbl-pedicure-page .gbl-pedicure-faq p:not(.gbl-service-eyebrow) { color: var(--wp--preset--color--muted); line-height: 1.65; }
.gbl-pedicure-page .gbl-pedicure-image { margin: 0; overflow: hidden; border-radius: 9px; }
.gbl-pedicure-page .gbl-pedicure-image img { display: block; width: 100%; height: clamp(250px,29vw,390px); object-fit: cover; object-position: center 45%; }
.gbl-pedicure-page .gbl-pedicure-benefits { padding-block: 1.25rem; border-bottom: 1px solid var(--wp--preset--color--line); background: linear-gradient(90deg,rgba(218,242,238,.18),rgba(168,211,228,.1)); }
.gbl-pedicure-page .gbl-pedicure-benefits__grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); margin: 0; }
.gbl-pedicure-page .gbl-pedicure-benefit { display: grid; grid-template-columns: 2.4rem minmax(0,1fr); align-items: center; gap: .6rem; padding: .45rem .8rem; }
.gbl-pedicure-page .gbl-pedicure-benefit + .gbl-pedicure-benefit { border-left: 1px solid var(--wp--preset--color--line); }
.gbl-pedicure-page .gbl-pedicure-benefit__icon { color: #278f91; font-size: 1.8rem; text-align: center; }
.gbl-pedicure-page .gbl-pedicure-benefit h3 { margin: 0 0 .15rem; color: var(--wp--preset--color--ink); font: 500 .85rem/1.3 var(--wp--preset--font-family--body); }
.gbl-pedicure-page .gbl-pedicure-benefit p { margin: 0; font-size: .74rem; line-height: 1.45; }
.gbl-pedicure-page .gbl-pedicure-benefit > p:not(.gbl-pedicure-benefit__icon) { grid-column: 2; }
.gbl-pedicure-page .gbl-pedicure-section { padding-block: clamp(2rem,4vw,3.2rem); }
.gbl-pedicure-page .gbl-pedicure-detail { border-bottom: 1px solid var(--wp--preset--color--line); }
.gbl-pedicure-page .gbl-pedicure-detail h2 { margin-bottom: .55rem; }
.gbl-pedicure-page .gbl-pedicure-detail__copy > p:not(.gbl-service-eyebrow) { margin: .45rem 0; font-size: .9rem; }
.gbl-pedicure-page .gbl-pedicure-price-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: .85rem; margin-top: 1.2rem; }
.gbl-pedicure-page .gbl-pedicure-price-card { min-width: 0; padding: .55rem .55rem 1rem; border-radius: 8px; background: var(--wp--preset--color--paper); box-shadow: 0 6px 22px rgba(24,33,57,.055); }
.gbl-pedicure-page .gbl-pedicure-price-card img { display: block; width: 100%; aspect-ratio: 1.65 / 1; border-radius: 5px; object-fit: cover; }
.gbl-pedicure-page .gbl-pedicure-price-card h3 { margin: .7rem .25rem .25rem; color: var(--wp--preset--color--ink); font: 500 .95rem/1.35 var(--wp--preset--font-family--body); }
.gbl-pedicure-page .gbl-pedicure-price-card p { margin: .2rem .25rem; font-size: .8rem; }
.gbl-pedicure-page .gbl-pedicure-price-card .gbl-pedicure-price { margin-top: .65rem; color: var(--wp--preset--color--ink); font-size: 1rem; font-weight: 600; }
.gbl-pedicure-page .gbl-pedicure-price-note { margin-top: .8rem; font-size: .78rem; }
.gbl-pedicure-page .gbl-pedicure-process { border-block: 1px solid var(--wp--preset--color--line); background: linear-gradient(100deg,rgba(247,244,239,.62),rgba(218,242,238,.18)); }
.gbl-pedicure-page .gbl-pedicure-process__grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: .85rem; margin-top: 1rem; }
.gbl-pedicure-page .gbl-pedicure-step { min-width: 0; text-align: center; }
.gbl-pedicure-page .gbl-pedicure-step img { display: block; width: 100%; aspect-ratio: 1.55 / 1; border-radius: 7px; object-fit: cover; }
.gbl-pedicure-page .gbl-pedicure-step h3 { margin: .55rem 0 .15rem; color: var(--wp--preset--color--ink); font: 500 .9rem/1.35 var(--wp--preset--font-family--body); }
.gbl-pedicure-page .gbl-pedicure-step p { margin: 0 auto; max-width: 230px; font-size: .75rem; }
.gbl-pedicure-page .gbl-pedicure-gallery__grid { display: grid; grid-template-columns: minmax(0,1fr); max-width: 640px; margin: 1rem auto 0; }
.gbl-pedicure-page .gbl-pedicure-gallery figcaption { margin-top: .45rem; color: var(--wp--preset--color--muted); font-size: .75rem; }
.gbl-pedicure-page .gbl-service-faq { margin-block: 0; }
.gbl-pedicure-page .gbl-service-faq__draft-label { margin: .65rem 0 0; font-size: .75rem; }
@media (max-width: 1000px) {
  .gbl-pedicure-page .gbl-pedicure-price-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .gbl-pedicure-page .gbl-pedicure-benefits__grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .gbl-pedicure-page .gbl-pedicure-benefit:nth-child(3) { border-left: 0; }
}
@media (max-width: 780px) {
  .gbl-pedicure-page .gbl-pedicure-hero__columns,
  .gbl-pedicure-page .gbl-pedicure-detail__columns,
  .gbl-pedicure-page .gbl-pedicure-faq__columns { grid-template-columns: minmax(0,1fr); }
  .gbl-pedicure-page .gbl-pedicure-hero__media { order: -1; }
  .gbl-pedicure-page .gbl-pedicure-hero__media img { height: clamp(210px,48vw,330px); }
  .gbl-pedicure-page .gbl-pedicure-process__grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .gbl-pedicure-page .gbl-pedicure-faq__intro { margin-bottom: 1rem; }
}
@media (max-width: 480px) {
  .gbl-pedicure-page .gbl-pedicure-price-grid,
  .gbl-pedicure-page .gbl-pedicure-process__grid { grid-template-columns: minmax(0,1fr); }
  .gbl-pedicure-page .gbl-pedicure-benefits__grid { grid-template-columns: minmax(0,1fr); }
  .gbl-pedicure-page .gbl-pedicure-benefit + .gbl-pedicure-benefit { border-left: 0; border-top: 1px solid var(--wp--preset--color--line); }
  .gbl-pedicure-page .gbl-pedicure-hero { padding: 1.2rem; }
  .gbl-pedicure-page .gbl-pedicure-hero__media { order: 0; }
  .gbl-pedicure-page .gbl-pedicure-hero__media img { height: 220px; }
}
@media (max-width: 350px) {
  .gbl-pedicure-page .gbl-pedicure-price-card { padding-inline: .4rem; }
  .gbl-pedicure-page .gbl-pedicure-hero h1 { font-size: 2.05rem; }
}

/* Ontharing: scoped page presentation. Content remains in native Gutenberg blocks. */
.gbl-waxing-page { padding-bottom: 0; }
.gbl-waxing-page .gbl-service-benefit > p:not(.gbl-service-benefit__icon) { grid-column: 2; }
.gbl-waxing-breadcrumb { margin: 0 0 .7rem; color: var(--wp--preset--color--muted); font-size: .75rem; }
.gbl-waxing-breadcrumb a { color: inherit; text-decoration: none; }
.gbl-waxing-breadcrumb a:hover { text-decoration: underline; }
.gbl-waxing-hero { padding-top: clamp(1rem,2vw,1.5rem); }
.gbl-waxing-hero .gbl-service-hero__columns { grid-template-columns: minmax(0,.92fr) minmax(0,1.08fr); }
.gbl-waxing-hero .gbl-service-hero__image img { object-position: 54% 52%; }
.gbl-waxing-section-heading { margin-bottom: 1rem; }
.gbl-waxing-price-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); align-items:stretch; gap:.85rem; margin:1.1rem 0 0; }
.gbl-waxing-page .gbl-service-benefits__grid { align-items:stretch; }
.gbl-waxing-page .gbl-service-benefits__grid > * { align-self:stretch; margin-block-start:0 !important; }
.gbl-waxing-price-grid > * { align-self:stretch; margin-block-start:0 !important; }
.gbl-waxing-price-card { display: flex; min-width: 0; flex-direction: column; padding: 1.05rem; border: 1px solid rgba(220,226,229,.7); border-radius: 9px; background: var(--wp--preset--color--paper); box-shadow: 0 5px 18px rgba(24,33,57,.045); }
.gbl-service-page .gbl-waxing-price-card h3 { margin: 0 0 .35rem; color: var(--wp--preset--color--ink); font: 500 1rem/1.35 var(--wp--preset--font-family--body); }
.gbl-service-page .gbl-waxing-price-card p { margin: .15rem 0; font-size: .82rem; line-height: 1.5; }
.gbl-service-page .gbl-waxing-price-card .gbl-waxing-price { margin-top: auto; padding-top: .75rem; color: var(--wp--preset--color--ink); font-size: 1rem; font-weight: 600; }
.gbl-waxing-price-note { margin: .8rem 0 0; font-size: .78rem; }
.gbl-waxing-process { border-block: 1px solid var(--wp--preset--color--line); background: linear-gradient(100deg,rgba(247,244,239,.62),rgba(218,242,238,.18)); }
.gbl-waxing-process__intro { margin-bottom: 1rem; }
.gbl-waxing-process__grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); align-items:stretch; gap:.9rem; margin:0; }
.gbl-waxing-process__grid > * { align-self:stretch; margin-block-start:0 !important; }
.gbl-waxing-step { display:flex; min-width:0; height:100%; flex-direction:column; padding:.9rem; border-radius:8px; background:rgba(255,255,255,.68); text-align:center; }
.gbl-waxing-step__number { display: grid; width: 2.1rem; height: 2.1rem; margin: 0 auto .55rem; place-items: center; border-radius: 50%; background: var(--wp--preset--color--mint); color: var(--wp--preset--color--ink); font-size: .8rem; }
.gbl-service-page .gbl-waxing-step h3 { margin: 0 0 .3rem; color: var(--wp--preset--color--ink); font: 500 .9rem/1.35 var(--wp--preset--font-family--body); }
.gbl-service-page .gbl-waxing-step p { margin: 0; font-size: .77rem; line-height: 1.5; }
.gbl-waxing-faq-layout { display: grid; grid-template-columns: minmax(0,1fr) minmax(280px,.9fr); align-items: center; gap: clamp(1.25rem,3vw,2.5rem); }
.gbl-waxing-faq-layout > * { min-width: 0; }
.gbl-waxing-booking-card { position: relative; overflow: hidden; border-radius: 9px; background: var(--wp--preset--color--cream); }
.gbl-waxing-booking-card img { display: block; width: 100%; aspect-ratio: 1.7 / 1; object-fit: cover; }
.gbl-waxing-booking-card__content { padding: 1rem 1.15rem 1.2rem; }
.gbl-service-page .gbl-waxing-booking-card h3 { margin: 0 0 .7rem; color: var(--wp--preset--color--ink); font: 400 clamp(1.35rem,2.2vw,1.8rem)/1.2 var(--wp--preset--font-family--heading); }
.gbl-waxing-booking-card .wp-block-button__link { min-height: 42px; padding: .65rem 1.25rem; border-radius: 999px; background: var(--wp--preset--color--mint); color: var(--wp--preset--color--ink); text-decoration: none; }
.gbl-waxing-page details.gbl-service-faq__item summary { min-height: 46px; }
.gbl-waxing-page .gbl-service-faq__items { border-radius: 7px; overflow: hidden; }
@media (max-width: 1000px) {
  .gbl-waxing-price-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .gbl-waxing-process__grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .gbl-waxing-page .gbl-service-benefits__grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .gbl-waxing-page .gbl-service-benefit:nth-child(3) { border-left: 0; }
}
@media (max-width: 780px) {
  .gbl-waxing-hero .gbl-service-hero__columns,
  .gbl-waxing-page .gbl-service-detail__columns,
  .gbl-waxing-faq-layout { grid-template-columns: minmax(0,1fr); }
  .gbl-waxing-hero .gbl-service-hero__media { order: -1; }
  .gbl-waxing-hero .gbl-service-hero__image img { height: clamp(210px,48vw,330px); }
}
@media (max-width: 480px) {
  .gbl-waxing-price-grid,
  .gbl-waxing-process__grid,
  .gbl-waxing-page .gbl-service-benefits__grid { grid-template-columns: minmax(0,1fr); }
  .gbl-waxing-page .gbl-service-benefit + .gbl-service-benefit { border-left: 0; border-top: 1px solid var(--wp--preset--color--line); }
  .gbl-waxing-hero { padding: 1.2rem; }
  .gbl-waxing-hero .gbl-service-hero__media { order: 0; }
  .gbl-waxing-hero .gbl-service-hero__image img { height: 220px; }
  .gbl-waxing-faq-layout { gap: 1rem; }
}
@media (max-width: 350px) {
  .gbl-waxing-price-card { padding: .8rem; }
  .gbl-waxing-hero h1 { font-size: 2.05rem; }
}

/* Massage page (2168): scoped additions using the shared service-page design tokens. */
.gbl-massage-page { padding-bottom: 0; }
.gbl-massage-page .gbl-service-hero { padding-top: clamp(1rem,2vw,1.5rem); }
.gbl-massage-page .gbl-massage-breadcrumb { margin: 0 0 .75rem; color: var(--wp--preset--color--muted); font-size: .75rem; }
.gbl-massage-page .gbl-massage-breadcrumb a { color: inherit; text-decoration: none; }
.gbl-massage-page .gbl-massage-breadcrumb a:hover { text-decoration: underline; }
.gbl-massage-page .gbl-service-hero__image img { object-position: 54% 50%; }
.gbl-massage-page .gbl-service-benefit > p:not(.gbl-service-benefit__icon) { grid-column: 2; }
.gbl-massage-page .gbl-massage-detail { border-bottom: 1px solid var(--wp--preset--color--line); }
.gbl-massage-page .gbl-massage-detail__copy > p:not(.gbl-service-eyebrow) { margin: .45rem 0; font-size: .9rem; line-height: 1.68; }
.gbl-massage-page .gbl-massage-prices { padding-block: clamp(2rem,4vw,3.2rem); }
.gbl-massage-page .gbl-massage-prices__grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); align-items:stretch; gap:.95rem; margin:1.1rem 0 0; }
.gbl-massage-page .gbl-massage-prices__grid > * { align-self:stretch; margin-block-start:0 !important; }
.gbl-massage-page .gbl-service-benefits__grid { align-items:stretch; }
.gbl-massage-page .gbl-service-benefits__grid > * { align-self:stretch; margin-block-start:0 !important; }
.gbl-massage-page .gbl-massage-price-card { display:flex; height:100%; min-width:0; flex-direction:column; overflow:hidden; padding:.55rem .55rem 1rem; border:1px solid rgba(220,226,229,.7); border-radius:9px; background:var(--wp--preset--color--paper); box-shadow:0 5px 18px rgba(24,33,57,.045); }
.gbl-massage-page .gbl-massage-price-card img { display: block; width: 100%; aspect-ratio: 1.65 / 1; border-radius: 6px; object-fit: cover; }
.gbl-massage-page .gbl-massage-price-card h3 { margin: .65rem .3rem .25rem; color: var(--wp--preset--color--ink); font: 500 1rem/1.35 var(--wp--preset--font-family--body); }
.gbl-massage-page .gbl-massage-price-card p { margin: .2rem .3rem; font-size: .82rem; line-height: 1.5; }
.gbl-massage-page .gbl-massage-price-card .gbl-massage-price { margin-top: auto; padding-top: .7rem; color: var(--wp--preset--color--ink); font-size: .95rem; font-weight: 600; }
.gbl-massage-page .gbl-massage-price-card .gbl-massage-duration { color: var(--wp--preset--color--muted); font-size: .76rem; }
.gbl-massage-page .gbl-massage-price-note { margin: .8rem 0 0; font-size: .78rem; }
.gbl-massage-page .gbl-massage-process { border-block: 1px solid var(--wp--preset--color--line); background: linear-gradient(100deg,rgba(247,244,239,.62),rgba(218,242,238,.18)); }
.gbl-massage-page .gbl-massage-process__columns { display: grid; grid-template-columns: minmax(0,.86fr) minmax(0,1.14fr); align-items: center; gap: clamp(1.25rem,3vw,2.5rem); margin: 0; }
.gbl-massage-page .gbl-massage-process__intro { min-width: 0; }
.gbl-massage-page .gbl-massage-process__grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); align-items:stretch; gap:.6rem; margin:0; }
.gbl-massage-page .gbl-massage-process__grid > * { align-self:stretch; margin-block-start:0 !important; }
.gbl-massage-page .gbl-massage-step { position: relative; min-width: 0; padding: .9rem .55rem; border-radius: 8px; background: rgba(255,255,255,.7); text-align: center; }
.gbl-massage-page .gbl-massage-step__number { display: grid; width: 2rem; height: 2rem; margin: 0 auto .55rem; place-items: center; border-radius: 50%; background: var(--wp--preset--color--mint); color: var(--wp--preset--color--ink); font-size: .78rem; }
.gbl-massage-page .gbl-massage-step h3 { margin: 0 0 .3rem; color: var(--wp--preset--color--ink); font: 500 .82rem/1.35 var(--wp--preset--font-family--body); }
.gbl-massage-page .gbl-massage-step p { margin: 0; font-size: .72rem; line-height: 1.48; }
.gbl-massage-page .gbl-massage-gallery { padding-block: clamp(2rem,4vw,3.2rem); }
.gbl-massage-page .gbl-massage-gallery__grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: .8rem; max-width: 860px; margin: 1rem 0 0; }
.gbl-massage-page .gbl-massage-gallery__grid figure { margin: 0; }
.gbl-massage-page .gbl-massage-gallery__grid img { display: block; width: 100%; aspect-ratio: 1.65 / 1; border-radius: 8px; object-fit: cover; }
.gbl-massage-page .gbl-massage-gallery figcaption { margin-top: .4rem; color: var(--wp--preset--color--muted); font-size: .75rem; }
.gbl-massage-page .gbl-massage-faq { margin-block: 0; }
.gbl-massage-page .gbl-massage-faq-layout { display: grid; grid-template-columns: minmax(0,1.1fr) minmax(270px,.9fr); align-items: center; gap: clamp(1.25rem,3vw,2.5rem); }
.gbl-massage-page .gbl-massage-faq-layout > * { min-width: 0; }
.gbl-massage-page .gbl-service-faq__items { overflow: hidden; border-radius: 7px; }
.gbl-massage-page details.gbl-service-faq__item summary { min-height: 46px; }
.gbl-massage-page .gbl-massage-booking-card { overflow: hidden; border: 1px solid rgba(220,226,229,.7); border-radius: 9px; background: var(--wp--preset--color--paper); box-shadow: 0 5px 18px rgba(24,33,57,.045); }
.gbl-massage-page .gbl-massage-booking-card img { display: block; width: 100%; aspect-ratio: 1.7 / 1; object-fit: cover; }
.gbl-massage-page .gbl-massage-booking-card__content { padding: 1rem 1.1rem 1.2rem; }
.gbl-massage-page .gbl-massage-booking-card h3 { margin: 0 0 .75rem; color: var(--wp--preset--color--ink); font: 400 clamp(1.3rem,2.2vw,1.8rem)/1.2 var(--wp--preset--font-family--heading); }
.gbl-massage-page .gbl-massage-booking-card .wp-block-button__link { min-height: 42px; padding: .65rem 1.25rem; border-radius: 999px; background: var(--wp--preset--color--mint); color: var(--wp--preset--color--ink); text-decoration: none; }
.gbl-massage-page .gbl-massage-booking-card .wp-block-button__link:hover { background: var(--wp--preset--color--sky); }
@media (max-width: 1000px) {
  .gbl-waxing-price-grid,
  .gbl-massage-page .gbl-massage-prices__grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .gbl-massage-page .gbl-massage-process__columns { grid-template-columns: minmax(0,1fr); }
  .gbl-massage-page .gbl-massage-price-card { padding-inline: .5rem; }
}
@media (max-width: 780px) {
  .gbl-massage-page .gbl-service-hero__columns,
  .gbl-massage-page .gbl-service-detail__columns,
  .gbl-massage-page .gbl-massage-faq-layout { grid-template-columns: minmax(0,1fr); }
  .gbl-massage-page .gbl-service-hero__media { order: -1; }
  .gbl-massage-page .gbl-service-hero__image img { height: clamp(210px,48vw,330px); }
  .gbl-massage-page .gbl-massage-faq-layout { align-items: start; }
}
@media (max-width: 480px) {
  .gbl-massage-page .gbl-massage-prices__grid,
  .gbl-massage-page .gbl-massage-process__grid,
  .gbl-massage-page .gbl-massage-gallery__grid,
  .gbl-massage-page .gbl-service-benefits__grid { grid-template-columns: minmax(0,1fr); }
  .gbl-massage-page .gbl-service-benefit + .gbl-service-benefit { border-left: 0; border-top: 1px solid var(--wp--preset--color--line); }
  .gbl-massage-page .gbl-service-hero { padding: 1.2rem; }
  .gbl-massage-page .gbl-service-hero__media { order: 0; }
  .gbl-massage-page .gbl-service-hero__image img { height: 220px; }
  .gbl-massage-page .gbl-massage-faq-layout { gap: 1rem; }
}
@media (max-width: 350px) {
  .gbl-massage-page .gbl-service-hero h1 { font-size: 2.05rem; }
  .gbl-massage-page .gbl-massage-price-card { padding-inline: .4rem; }
}
.gbl-massage-page .gbl-service-benefit__icon { color: var(--wp--preset--color--sky); font-size: 1.8rem; line-height: 1; }
