/* Styles for /upgrades/bath-menu/, /upgrades/bubbles/, /upgrades/occasions/, /upgrades/picnic/, /upgrades/platter/, /upgrades/romance-package/, /upgrades/romantic-dinner/, /upgrades/romantic-room/, /upgrades/spa/, /upgrades/wine-cheese/: spa-menu, upgrade-page.
   Search for "── <name> ──" to find a part.
   Forum Homini website, editable IIS version v016 20261109 081746. Generated with Claude Opus 5.5. */

/* ── spa-menu ── */
/* Spa menu.
   Used on: 10 pages, e.g. /upgrades/bath-menu/, /upgrades/bubbles/, /upgrades/occasions/, /upgrades/picnic/, /upgrades/platter/.
   Forum Homini website, */
.sp[data-c-spa-menu] {
  inline-size: 100%;
  margin-block: var(--gap-item, 40px);
  text-align: start;
}
.sp__paper[data-c-spa-menu] {
  display: grid;
  gap: var(--s-3);
  inline-size: min(100%, 42rem);
  margin-inline: auto;
  padding: var(--s-6) var(--s-5) var(--s-5);
  border-radius: 14px;
  background: #fff;
  color: #2b1c10;
  border: 1px solid #b8904a;
  outline: 1px solid #b8904a;
  outline-offset: -10px;
}
.sp__brand[data-c-spa-menu] {
  display: flex;
  justify-content: center;
  margin: 0;
}
.sp__brand[data-c-spa-menu] img[data-c-spa-menu] {
  inline-size: min(220px, 60%);
  block-size: auto;
}
.sp__title[data-c-spa-menu] {
  margin: var(--s-2) 0 0;
  text-align: center;
  font-family: var(--face-display);
  font-size: clamp(1.5rem, 1.1rem + 1.6vw, 2.1rem);
  font-weight: 500;
  line-height: 1.3;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  background: none;
  color: #2b1c10;
  -webkit-text-fill-color: #2b1c10;
}
.sp__intro[data-c-spa-menu],
.sp__note[data-c-spa-menu],
.sp__line[data-c-spa-menu],
.sp__pkg-desc[data-c-spa-menu] {
  font-family: var(--face-text);
  font-size: 1rem;
  line-height: 1.5;
  color: #4a3624;
}
.sp__intro[data-c-spa-menu] {
  text-align: center;
}
.sp__by[data-c-spa-menu] {
  display: flex;
  align-items: center;
  gap: var(--s-3);
  font-family: var(--face-display);
  font-size: var(--fs-s);
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: #2b1c10;
}
.sp__by[data-c-spa-menu]::before,
.sp__by[data-c-spa-menu]::after {
  content: "";
  flex: 1;
  block-size: 1px;
  background: #2b1c10;
}
.sp__part[data-c-spa-menu] {
  display: grid;
  gap: var(--s-2);
  margin-block-start: var(--s-4);
}
/* (6 Nov 2026) letter-spacing was 0.22em; always overridden by css/site.css, so its value is here now */
.sp__part-h[data-c-spa-menu] {
  padding: var(--s-2) var(--s-3);
  background: #e6d5b8;
  text-align: center;
  font-family: var(--face-display);
  font-size: var(--fs-m);
  font-weight: 600;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: #2b1c10;
  -webkit-text-fill-color: #2b1c10;
}
.sp__line[data-c-spa-menu] {
  text-align: center;
  font-style: normal;
  font-family: var(--face-text);
}
.sp__rows[data-c-spa-menu] {
  display: grid;
  margin: 0;
  padding: 0;
}
.sp__row[data-c-spa-menu] {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 4.5em 5.6em;
  column-gap: 12px;
  align-items: baseline;
  padding-block: 9px;
  border-block-end: 1px solid rgb(43 28 16 / 0.12);
}
.sp__name[data-c-spa-menu],
.sp__price[data-c-spa-menu],
.sp__pkg-name[data-c-spa-menu] {
  font-family: var(--face-display);
  font-size: clamp(1.0625rem, 1rem + 0.3vw, 1.1875rem);
  font-weight: 500;
  line-height: 1.3;
  color: #24170c;
}
.sp__name--small[data-c-spa-menu] {
  font-family: var(--face-text);
  font-size: 1rem;
  color: #4a3624;
}
.sp__time[data-c-spa-menu] {
  font-family: var(--face-text);
  font-size: 1rem;
  color: #6b4a14;
  text-align: end;
}
.sp__price[data-c-spa-menu] {
  justify-self: end;
  white-space: nowrap;
}
.sp__pkg[data-c-spa-menu] {
  display: grid;
  gap: 4px;
  padding-block: var(--s-3) 0;
}
.sp__pkg-name[data-c-spa-menu] {
  font-size: clamp(1.125rem, 1.05rem + 0.35vw, 1.3rem);
  color: #7a561a;
}
.sp__note[data-c-spa-menu] {
  margin-block-start: var(--s-3);
  text-align: center;
  font-size: 0.95rem;
}
@media (max-width: 480px) {
  .sp__paper[data-c-spa-menu] {
    padding-inline: var(--s-4);
  }
  .sp__row[data-c-spa-menu] {
    grid-template-columns: minmax(0, 1fr) 4em 5.2em;
    column-gap: 8px;
  }
}

/* ── upgrade-page ── */
/* Upgrade pages (Bath menu, Bubbles, Picnic …).
   Used on: 10 pages, e.g. /upgrades/bath-menu/, /upgrades/bubbles/, /upgrades/occasions/, /upgrades/picnic/, /upgrades/platter/.
   Forum Homini website, */
/* black only; the name, then the photo or film across the whole screen, then the rest (as the suites) */
.u1[data-c-upgrade-page] {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  justify-items: center;
  gap: var(--gap-heading);
  padding: calc(var(--header-h, 80px) + var(--gap-heading)) var(--margin, 20px) var(--gap-section);
  background: #000;
  color: #f6efe4;
  text-align: center;
}
.u1__back[data-c-upgrade-page],
.u1__back[data-c-upgrade-page]:visited,
.u1__alls[data-c-upgrade-page] {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: baseline;
  gap: 6px 14px;
  margin: 0;
  color: rgb(255 243 214 / 0.5);
}
.u1__all[data-c-upgrade-page],
.u1__all[data-c-upgrade-page]:visited {
  color: #f3d792;
  font-family: var(--face-text);
  font-size: var(--fs-s);
  text-decoration: underline;
  text-underline-offset: 3px;
}
.u1__back[data-c-upgrade-page] {
  justify-self: start;
  max-inline-size: 64rem;
  inline-size: 100%;
  margin-inline: auto;
  text-align: start;
  text-decoration: none;
}
.u1__label[data-c-upgrade-page],
.u1__list-h[data-c-upgrade-page] {
  margin: 0;
  font-family: var(--face-text);
  font-size: var(--fs-s);
  font-weight: var(--wt-label, 600);
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: #e6c27a;
}
.u1__name[data-c-upgrade-page] {
  margin: 0;
  font-family: var(--face-display);
  font-size: var(--fs-xl);
  font-weight: 600;
  line-height: 1.1;
  background:
    linear-gradient(
      180deg,
      #fff3cf,
      #f3d792 40%,
      #c9953f 85%);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
}
/* the photo or film from the left edge of the screen to the right, never cut off (Karina's full-screen rule) */
.u1__fig[data-c-upgrade-page] {
  inline-size: 100vw;
  margin: 0 calc(50% - 50vw);
}
/* (6 Nov 2026) max-block-size was calc(100svh - var(--header-h, 80px) - 7rem); always overridden by css/site.css, so its value is here now */
.u1__fig[data-c-upgrade-page] img[data-c-upgrade-page],
.u1__film[data-c-upgrade-page] {
  display: block;
  inline-size: 100%;
  block-size: auto;
  max-block-size: none;
  margin-inline: auto;
  object-fit: contain;
  border-radius: 0;
  background: #000;
}
/* (6 Nov 2026) max-inline-size was 100%; always overridden by css/site.css, so its value is here now */
/* (6 Nov 2026) inline-size was auto; always overridden by css/site.css, so its value is here now */
.u1__fig[data-c-upgrade-page] img[data-c-upgrade-page] {
  inline-size: 100vw;
  max-inline-size: none;
}
/* a landscape film runs the full width of the screen, left to right, never cut (Karina's rule 1a; 22 Oct 2026, the picnic:
     "it is landscape and should stretch across") */
.u1__film[data-c-upgrade-page] {
  aspect-ratio: 16 / 9;
  inline-size: 100% !important;
  max-block-size: none !important;
}
.u1__body[data-c-upgrade-page] {
  display: grid;
  justify-items: center;
  gap: var(--gap-item);
  max-inline-size: 40rem;
}
.u1__body[data-c-upgrade-page] > [data-c-upgrade-page] {
  margin: 0;
}
.u1__price[data-c-upgrade-page] {
  font-family: var(--face-display);
  font-size: var(--fs-l);
  color: #f3d792;
}
.u1__line[data-c-upgrade-page] {
  font-family: var(--face-text);
  font-size: var(--fs-m);
  line-height: 1.6;
}
.u1__gifts[data-c-upgrade-page] {
  display: grid;
  gap: var(--s-2);
  padding: 0;
  list-style: none;
  text-align: start;
}
.u1__gift[data-c-upgrade-page] {
  display: flex;
  align-items: center;
  gap: var(--s-3);
  font-family: var(--face-text);
  font-size: var(--fs-m);
}
.u1__icon[data-c-upgrade-page] {
  flex: none;
  display: grid;
  place-items: center;
  inline-size: 42px;
  block-size: 42px;
  border-radius: 50%;
  background:
    radial-gradient(
      circle,
      rgb(243 215 146 / 0.18),
      rgb(243 215 146 / 0.03) 70%);
  box-shadow: inset 0 0 0 1px rgb(243 215 146 / 0.55), 0 0 16px rgb(243 215 146 / 0.15);
}
.u1__icon[data-c-upgrade-page] svg[data-c-upgrade-page] {
  fill: none;
  stroke: #f3d792;
  stroke-width: 1.3;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.u1__three[data-c-upgrade-page] {
  display: grid;
  gap: var(--s-2);
  inline-size: 100%;
  padding: 0;
  list-style: none;
}
.u1__three[data-c-upgrade-page] li[data-c-upgrade-page] {
  display: flex;
  justify-content: space-between;
  gap: var(--s-3);
  font-family: var(--face-text);
  font-size: var(--fs-m);
  text-align: start;
}
.u1__three[data-c-upgrade-page] a[data-c-upgrade-page] {
  color: #f6efe4;
  text-decoration: underline;
  text-decoration-color: rgb(243 215 146 / 0.5);
  text-underline-offset: 3px;
}
.u1__three[data-c-upgrade-page] span[data-c-upgrade-page] {
  color: #f3d792;
}
.u1__lists[data-c-upgrade-page] {
  display: grid;
  gap: var(--s-4);
  inline-size: 100%;
  text-align: start;
}
.u1__lists--two[data-c-upgrade-page] {
  grid-template-columns: 1fr 1fr;
}
.u1__list[data-c-upgrade-page] ul[data-c-upgrade-page] {
  display: grid;
  gap: 0.2em;
  margin: var(--s-1) 0 0;
  padding: 0;
  list-style: none;
  font-family: var(--face-text);
  font-size: var(--fs-m);
  line-height: 1.4;
}
.u1__fig--two[data-c-upgrade-page] {
  margin-block-start: 12px;
}
.u1__fold[data-c-upgrade-page] {
  font-family: var(--face-display);
  font-size: var(--fs-l);
  font-weight: 600;
}
.u1__upgrade[data-c-upgrade-page] {
  font-family: var(--face-text);
  font-size: var(--fs-m);
  line-height: 1.55;
  color: #f6efe4;
}
.u1__note[data-c-upgrade-page] {
  font-family: var(--face-text);
  font-size: var(--fs-s);
  color: #cfc6b8;
}
/* (6 Nov 2026) display was flex; always overridden by css/site.css, so its value is here now */
.u1__actions[data-c-upgrade-page] {
  display: grid;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  gap: var(--s-3);
}
.u1__btn[data-c-upgrade-page],
.u1__btn[data-c-upgrade-page]:visited {
  display: inline-flex;
  align-items: center;
  min-block-size: 48px;
  padding-inline: var(--s-5);
  border-radius: var(--r-pill);
  background:
    linear-gradient(
      180deg,
      #fff3cf,
      #f3d792 40%,
      #c9953f 85%);
  background-origin: border-box;
  color: #1d1405;
  font-family: var(--face-text);
  font-size: var(--fs-s);
  font-weight: var(--wt-label, 600);
  text-decoration: none;
}
.u1__btn--line[data-c-upgrade-page],
.u1__btn--line[data-c-upgrade-page]:visited {
  border: 1.5px solid #e6c27a;
  background: none;
  color: #f3d792;
}
.u1__hint[data-c-upgrade-page] {
  display: inline-flex;
  align-items: center;
  gap: 0.45em;
  min-block-size: 44px;
  padding-inline: var(--s-2);
  border: 0;
  background: none;
  color: #f3d792;
  font-family: var(--face-text);
  font-size: var(--fs-s);
  text-decoration: underline;
  text-underline-offset: 3px;
  cursor: pointer;
}
.u1__hints[data-c-upgrade-page] {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: var(--s-1) var(--s-3);
  font-family: var(--face-text);
  font-size: var(--fs-s);
}
.u1__hint[data-c-upgrade-page]:visited {
  color: #f3d792;
}
.u1__hint[data-c-upgrade-page] svg[data-c-upgrade-page] {
  fill: none;
  stroke: currentColor;
  stroke-width: 1.6;
  stroke-linejoin: round;
}
/* (9 Nov 2026, Karina's list 2.9) bold and as wide as the other buttons; it was weight 400 */
.u1__hint-btn[data-c-upgrade-page] {
  cursor: pointer;
  font: inherit;
  font-weight: 600;
  min-inline-size: 175px;
}
[data-c-upgrade-page]:is(.u1__back, .u1__all, .u1__btn, .u1__hint, .u1__three a):focus-visible {
  outline: 2px solid #f3d792;
  outline-offset: 3px;
}
@media (max-width: 480px) {
  .u1__lists--two[data-c-upgrade-page] {
    grid-template-columns: 1fr;
  }
}
