:root { --sh-placeholder-colour:#62655c; }
body,body * {text-transform:none}
input::placeholder,textarea::placeholder {color:var(--sh-placeholder-colour);opacity:1}

/* Shared after-enquiry panel (R089). One owner for every project form. */
.sh-after-enquiry {
  --enquiry-panel-width:min(1056px,calc(100vw - 96px));
  box-sizing:border-box;grid-column:1/-1;width:var(--enquiry-panel-width);max-width:none;min-width:0;
  margin:24px calc((100% - var(--enquiry-panel-width))/2) 0;padding:clamp(1rem,3vw,2rem);
  background:#eef2ec;border-radius:.75rem;
}
.sh-after-enquiry h2 {
  font-size:clamp(1.5rem,1.2rem + 1vw,2.25rem);line-height:1.2;
  text-wrap:balance;margin:0 0 1.25rem;
}
.sh-after-enquiry ol {
  display:grid;grid-template-columns:minmax(0,1fr);gap:1rem;
  margin:0;padding:0;list-style:none;counter-reset:enquiry-step;
}
.sh-after-enquiry li {
  min-width:0;margin:0;padding:.5rem;text-align:center;border:0;border-radius:.75rem;
  background:transparent;color:#233a38;counter-increment:enquiry-step;
  overflow-wrap:normal;word-break:normal;hyphens:none;
}
.sh-after-enquiry li::before {
  content:counter(enquiry-step);display:grid;place-items:center;
  width:36px;height:36px;line-height:1;font-size:18px;padding:0;margin:0 auto 12px;overflow:visible;border-radius:50%;background:#233a38;color:#fff;
}
/* Brunon, 30 Oct 17:29: search label above the human headline.
   Legacy group declarations consume these variables with their old fallback. */
.sh-unified-hero:has(.sh-dream-line:not(:empty)) h1 {
  --hero-font-size:18px;
  --hero-line-height:1.4;
  --hero-font-weight:500;
  --hero-letter-spacing:0;
}
body:not(.sh-404-page) .sh-unified-hero:not(:has(.sh-dream-line:not(:empty))) h1 {
  --hero-font-size:clamp(33px,max(30.1px + 1vw,4.5vw),56px);
}
body.sh-404-page .sh-unified-hero h1 {
  --hero-font-size:clamp(29px,max(26.1px + 1vw,3.4vw),46px);
}
.sh-unified-hero:has(.sh-dream-line:not(:empty)) .sh-dream-line {
  --hero-font-size:clamp(34px,4.5vw,56px);
  --hero-line-height:1.12;
  --hero-font-weight:600;
  --hero-letter-spacing:-.03em;
}
@media (max-width:760px) {
  .sh-unified-hero:has(.sh-dream-line:not(:empty)) h1 { --hero-font-size:clamp(15px,12.1px + 1vw,18px); }
  .sh-unified-hero:has(.sh-dream-line:not(:empty)) .sh-dream-line { --hero-font-size:34px; }
}

/* Approved bathroom enquiry format, shared by project enquiries, 30 Oct 2026. */
.sh-enquiry-format-wrap { margin:32px 0; }
.sh-enquiry-format { background:#f3ebe0; color:#233a38; padding:32px 24px; border:0; border-radius:12px; }
.sh-enquiry-format__container { max-width:1144px; margin:0 auto; }
.sh-enquiry-format h2 { font-size:clamp(26px,3vw,36px); line-height:1.25; margin:0 0 14px; }
.sh-enquiry-format__rules { font-size:16px; line-height:1.6; margin:0 0 28px; }
.sh-enquiry-format__inner { display:grid; grid-template-columns:minmax(0,1fr); gap:28px; }
.sh-enquiry-format__lead { min-width:0; }
.sh-enquiry-format__lead > p { font-size:18px; line-height:1.6; margin:0 0 20px; }
.sh-enquiry-format__photo { margin:0; overflow:hidden; position:relative; }
.sh-enquiry-format__picture { display:block; position:relative; }
.sh-enquiry-format__photo img { display:block; width:100%; height:auto; aspect-ratio:13/4; object-fit:cover; }
.sh-enquiry-format__form { display:grid; grid-template-columns:minmax(0,1fr); gap:20px; min-width:0; margin:0; }
.sh-enquiry-format__field { min-width:0; }
.sh-enquiry-format__group { grid-column:1/-1; display:grid; grid-template-columns:minmax(0,1fr); gap:20px; }
.sh-enquiry-format__fieldset { grid-column:1/-1; display:grid; grid-template-columns:minmax(0,1fr); gap:20px; border:0; padding:0; margin:0; min-inline-size:0; }
.sh-enquiry-format__fieldset[hidden],.sh-enquiry-format__group[hidden] { display:none; }
.sh-enquiry-format__fieldset > legend { padding:0; margin-bottom:16px; font-size:18px; font-weight:600; }
.sh-enquiry-format__fieldset > [data-project-fields] { display:contents; }
.sh-enquiry-format__fieldset > [data-project-fields][hidden] { display:none; }
.sh-enquiry-format__field--wide,.sh-enquiry-format__planning,.sh-enquiry-format__submit,.sh-enquiry-format__status,.sh-enquiry-format__microcopy,.sh-enquiry-format .sh-after-enquiry { grid-column:1/-1; }
.sh-enquiry-format label { display:block; font-size:16px; font-weight:500; line-height:1.5; margin:0 0 8px; }
.sh-enquiry-format input,.sh-enquiry-format textarea,.sh-enquiry-format select { width:100%; min-width:0; box-sizing:border-box; font:inherit; font-size:16px; color:#233a38; background:#fbf8f3; border:1px solid #6d7065; border-radius:5px; padding:12px 14px; }
.sh-enquiry-format input,.sh-enquiry-format select { min-height:48px; }
.sh-enquiry-format textarea { resize:vertical; min-height:128px; }
.sh-enquiry-format__help { font-size:14px; line-height:1.5; margin:6px 0 0; }
.sh-enquiry-format__planning { font-size:16px; line-height:1.6; }
.sh-enquiry-format__planning summary { cursor:pointer; margin-bottom:12px; }
.sh-enquiry-format__planning .sh-enquiry-format__field { margin:16px 0; }
.sh-enquiry-format__submit { background:#c69d4e; color:#233a38; border:1px solid #c69d4e; border-radius:5px; font:inherit; font-size:18px; font-weight:600; min-height:52px; padding:14px 28px; cursor:pointer; }
.sh-enquiry-format__status:empty { display:none; }
.sh-enquiry-format__microcopy { margin:0; font-size:14px; line-height:1.6; }
.sh-enquiry-format__microcopy span, .sh-email-capture__microcopy > span { display:block; }
.sh-enquiry-format__honeypot { display:none; }
.sh-enquiry-format .sh-sr-only { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; }
@media(min-width:560px) { .sh-enquiry-format__form,.sh-enquiry-format__fieldset,.sh-enquiry-format__group {grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px;} }
@media(min-width:1024px) { .sh-enquiry-format {padding:40px;} .sh-enquiry-format__inner {grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr); gap:40px;} }
.sh-enquiry-format__guide-next,.sh-enquiry-format__form > .sh-enquiry-format__rules { grid-column:1/-1; font-size:14px; line-height:1.6; margin:0; }
.sh-enquiry-format[data-enquiry-format="guide"] h2 { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; }

/* Slate typography follows form typography so the shared panel owns its headings. */
@layer enquiry-first-screen {
  .sh-after-enquiry h2,.sh-after-enquiry h3 {font-size:18px!important;line-height:1.6!important}
  .sh-after-enquiry h3 {font-weight:600!important}
}
.sh-after-enquiry h3 {text-align:center}
.sh-after-enquiry h3 {margin:0 0 .5rem}
#free-call .sh-after-enquiry h2,#free-call .sh-after-enquiry h3,
#book .sh-after-enquiry h2,#book .sh-after-enquiry h3 {color:var(--colour-text,#4a4a4a)!important}
@media(min-width:560px) {
  .sh-after-enquiry > ol {grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;align-items:start}
  [data-project-form-layout] > .sh-after-enquiry {grid-row:auto;align-self:start}
}

/* Home keeps package 139 controls and order inside the shared bathroom format. */
.sh-home-approved-form__fields { display:contents; border:0; padding:0; margin:0; min-inline-size:0; }
.sh-home-approved-form .ff-el-tooltip { display:none; }
.sh-home-approved-form .ff-el-group { margin:0; }
.sh-home-approved-form .sh-location-help,.sh-home-approved-form .sh-page-form__help { font-size:14px; line-height:1.5; margin:6px 0 0; }
.sh-enquiry-format .sh-home-approved-form .ff-btn-submit.sh-enquiry-format__submit { width:100%; background:#c69d4e; color:#233a38; }

/* Shared form review component: Brunon's 30 Oct 21:28 presentation ruling.
   Existing group typography consumes these size variables; no overrides are added. */
.sh-enquiry-reviews { margin-top: 36px; display: grid; gap: 36px; }
.sh-enquiry-reviews figure { margin: 0; padding: 0; border: 0; background: transparent; box-shadow: none; }
.sh-enquiry-reviews figure + figure { border-top: 1px solid rgba(128, 102, 56, .22); padding-top: 36px; }
.sh-enquiry-reviews__opening { --hero-font-size:80px; display: block; height: 48px; color: #c69d4e; font-size: 80px; font-family: inherit; line-height: 1; }
.sh-enquiry-reviews blockquote { margin: 0; padding: 0; border: 0; background: transparent; box-shadow: none; }
.sh-enquiry-reviews blockquote p { --hero-font-size:21px; --hero-line-height:1.75; margin: 0 0 20px; color: #233a38; font-family: inherit; font-size: 21px; font-weight: 300; line-height: 1.75; }
.sh-enquiry-reviews figcaption { --hero-font-size:12px; --type-body:12px; --ink:#6d7065; display: grid; gap: 5px; color: #6d7065; font-family: inherit; font-size: 12px; font-weight: 400; line-height: 1.5; }
.sh-enquiry-reviews__stars { --hero-font-size:12px; color: #a9823c; font-size: 12px; letter-spacing: 2px; line-height: 1; }
@media (min-width:1024px) {
  /* The review lead may grow independently of the approved form tracks. */
  .sh-enquiry-format__inner:has(.sh-enquiry-reviews) > .sh-enquiry-format__form { align-self:start; }
  /* Preserve home's pre-piece desktop tracks, which already had extra space. */
  .sh-enquiry-format__inner:has(.sh-enquiry-reviews) > .sh-home-approved-form { min-block-size:603.671875px; }
  .sh-enquiry-reviews blockquote p { --hero-font-size:25px; font-size:25px; }
}

/* Controller polish: retain the home controls with the shared required labels. */
.sh-home-approved-form .ff-el-is-required label::after { content: " *"; color: #806638; }
.sh-consultancy-fields { display: contents; border: 0; padding: 0; margin: 0; }
.sh-consultancy-fields > legend { position: absolute; }
