/* Approved Prontaclean homepage concept - Bricks implementation. */
:root {
  --pc-wrap: min(80rem, calc(100% - 4rem));
  --pc-header-height: 5.875rem;
}

.pc-site-utility {
  min-height: 2.375rem;
  padding: 0;
  background: var(--pc-navy);
  color: var(--pc-white);
  font-size: 0.8125rem;
}

.pc-site-utility__inner,
.pc-site-nav__inner,
.pc-home-section > .brxe-container,
.pc-site-footer > .brxe-container {
  width: var(--pc-wrap);
  max-width: none;
  margin-inline: auto;
}

.pc-site-utility__inner {
  min-height: 2.375rem;
  flex-direction: row;
  align-items: center;
  justify-content: space-between;
}

.pc-site-utility__item,
.pc-site-utility__links {
  margin: 0;
  color: var(--pc-white);
  font-size: 0.8125rem;
}

.pc-site-utility__links a { color: var(--pc-white); font-weight: 700; }
.pc-site-utility__links span { margin-right: 1.5rem; opacity: 0.82; }

.pc-site-nav {
  padding: 0;
  background: var(--pc-off-white);
  border-bottom: 1px solid rgb(11 52 76 / 0.08);
}

.pc-site-nav__inner {
  min-height: var(--pc-header-height);
  flex-direction: row;
  align-items: center;
  justify-content: space-between;
  gap: 2rem;
}

.pc-site-logo { flex: 0 0 13.5rem; }
.pc-site-logo img { display: block; width: 13.5rem; }
.pc-site-menu { margin-left: auto; }
.pc-site-menu .bricks-nav-menu { gap: 1.7rem; }
.pc-site-menu .bricks-nav-menu > li > a { color: var(--pc-ink); font: 650 0.875rem/1 var(--pc-font-heading); }
.pc-site-menu .bricks-nav-menu > li > a:hover { color: var(--pc-blue); }

.pc-btn,
.brxe-button.pc-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 3.25rem;
  padding: 0.85rem 1.35rem;
  gap: 1rem;
  border: 1px solid var(--pc-blue);
  border-radius: 0;
  background: var(--pc-blue);
  color: var(--pc-white);
  font: 750 0.875rem/1 var(--pc-font-heading);
  text-decoration: none;
}

.pc-btn:hover,
.brxe-button.pc-btn:hover { border-color: var(--pc-navy); background: var(--pc-navy); color: var(--pc-white); }
.pc-btn--dark,.brxe-button.pc-btn--dark { border-color: var(--pc-navy); background: var(--pc-navy); }
.pc-btn--light,.brxe-button.pc-btn--light { border-color: var(--pc-white); background: var(--pc-white); color: var(--pc-navy); }
.pc-btn--outline,.brxe-button.pc-btn--outline { border-color: rgb(255 255 255 / 0.45); background: transparent; }
.pc-site-cta { min-height: 2.875rem; white-space: nowrap; }

.pc-home-section { padding-block: clamp(4.5rem, 8vw, 7.5rem); }
.pc-home-section > .brxe-container { max-width: none; }
.pc-home-eyebrow { position: relative; margin: 0 0 1.15rem; padding-left: 2.1rem; color: var(--pc-blue); font: 750 0.75rem/1.2 var(--pc-font-heading); letter-spacing: 0.14em; text-transform: uppercase; }
.pc-home-eyebrow::before { position: absolute; left: 0; top: 0.48em; width: 1.5rem; height: 2px; background: var(--pc-coral); content: ""; }
.pc-home-title { margin: 0; font-size: clamp(3.15rem, 5.3vw, 5.25rem); line-height: 0.99; letter-spacing: -0.052em; }
.pc-home-h2 { margin: 0; font-size: clamp(2.55rem, 4vw, 4rem); line-height: 1.02; letter-spacing: -0.047em; }
.pc-home-lede { max-width: 39rem; margin: 1.7rem 0 0; color: var(--pc-slate); font-size: 1.3125rem; line-height: 1.55; }
.pc-home-text-link { color: var(--pc-navy); font: 750 0.875rem var(--pc-font-heading); text-decoration: underline var(--pc-coral); text-underline-offset: 0.4rem; }

.pc-home-hero { min-height: 43rem; padding: 0; overflow: hidden; background: var(--pc-off-white); }
.pc-home-hero > .brxe-container { width: 100%; max-width: none; display: grid; grid-template-columns: minmax(0,55%) minmax(0,45%); }
.pc-home-hero__copy { justify-content: center; padding: 6.5rem max(3rem, calc((100vw - 80rem)/2)) 4rem; padding-right: 3rem; }
.pc-home-hero__actions { flex-direction: row; align-items: center; gap: 1.8rem; margin-top: 1.8rem; }
.pc-home-hero__proof { flex-direction: row; gap: 0.75rem; margin-top: 4.25rem; }
.pc-home-stat { width: auto; min-width: 8.75rem; padding: 0.9rem 1rem; border: 1px solid var(--pc-line); background: rgb(255 255 255 / 0.55); }
.pc-home-stat:first-child { padding-left: 1rem; border-left: 1px solid var(--pc-line); }
.pc-home-stat strong { display: block; color: var(--pc-navy); font: 750 1.45rem var(--pc-font-heading); }
.pc-home-stat span { display: block; margin-top: 0.2rem; color: var(--pc-slate); font-size: 0.8125rem; }
.pc-home-hero__visual { position: relative; min-height: 43rem; }
.pc-home-hero__image { width: 100%; height: 100%; }
.pc-home-hero__visual > .brxe-image { position: absolute !important; inset: 0 !important; width: 100% !important; height: 100% !important; }
.pc-home-hero__image img { width: 100%; height: 100%; object-fit: cover; object-position: 54% center; }
.pc-home-hero__visual > .brxe-image img { width: 100% !important; height: 100% !important; object-fit: cover; object-position: 54% center; }
.pc-home-hero__visual::after { position: absolute; left: -4.7rem; bottom: -4.7rem; width: 9.4rem; height: 9.4rem; transform: rotate(45deg); background: var(--pc-off-white); content: ""; }
.pc-home-hero__badge { position: absolute; right: 2.2rem; bottom: 2.2rem; z-index: 2; width: auto; flex-direction: row; align-items: center; gap: 0.65rem; padding: 0.7rem 1rem; background: var(--pc-white); box-shadow: var(--pc-shadow-card); color: var(--pc-navy); font: 700 0.6875rem var(--pc-font-heading); letter-spacing: 0.08em; text-transform: uppercase; }
.pc-home-hero__badge svg,
.pc-home-hero__badge img { width: 2.1rem !important; max-width: 2.1rem !important; height: 2.1rem !important; object-fit: contain; }
.pc-home-hero img[src$="/prontaclean-icon.svg"] { display: none !important; }
.pc-home-hero img[src$="/prontaclean-icon.svg"] + span { display: none !important; }
.pc-home-hero__visual > *:has(img[src$="/prontaclean-icon.svg"]) { display: none !important; }

.pc-home-intro { background: var(--pc-off-white); }
.pc-home-intro__grid { display: grid; grid-template-columns: 1.1fr 0.9fr; gap: clamp(4rem,9vw,8rem); align-items: start; }
.pc-home-intro__lead { margin: 0 0 1.25rem; color: var(--pc-navy); font: 620 1.5rem/1.45 var(--pc-font-heading); }
.pc-home-intro__copy { color: var(--pc-slate); }
.pc-home-intro .pc-home-text-link { margin-top: 1.35rem; }

.pc-home-services { background: var(--pc-navy); color: var(--pc-white); }
.pc-home-services .pc-home-h2 { color: var(--pc-white); }
.pc-home-services .pc-home-eyebrow { color: #a9cdeb; }
.pc-home-section-head { display: grid; grid-template-columns: 1.35fr 0.65fr; gap: 5rem; align-items: end; margin-bottom: 3.5rem; }
.pc-home-section-head__copy { margin: 0 0 0.4rem; color: #bfd0d8; font-size: 1.1rem; }
.pc-service-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); border-top: 1px solid rgb(255 255 255 / 0.15); border-left: 1px solid rgb(255 255 255 / 0.15); }
.pc-service-card { position: relative; min-height: 23rem; padding: 2.2rem 1.9rem; border-right: 1px solid rgb(255 255 255 / 0.15); border-bottom: 1px solid rgb(255 255 255 / 0.15); }
.pc-service-card--featured { background: var(--pc-blue); }
.pc-service-card__icon { width: 3.9rem; height: 3.9rem; margin-bottom: 3.6rem; }
.pc-service-card__icon svg { width: 100%; height: 100%; fill: none; stroke: #d9e7ec; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
.pc-service-card svg { display: block; width: 3.9rem !important; height: 3.9rem !important; margin-bottom: 3.6rem; fill: none !important; stroke: #d9e7ec; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
.pc-service-card__icon .accent { stroke: var(--pc-coral); stroke-width: 2.5; }
.pc-service-card svg .accent { stroke: var(--pc-coral); stroke-width: 2.5; }
.pc-service-card--featured .pc-service-card__icon svg { stroke: var(--pc-white); }
.pc-service-card--featured .pc-service-card__icon .accent { stroke: #ffd0c9; }
.pc-service-card__number { position: absolute; right: 1.5rem; top: 1.35rem; color: #8eabb9; font: 600 0.6875rem var(--pc-font-heading); letter-spacing: 0.1em; }
.pc-service-card h3 { margin-bottom: 0.75rem; color: var(--pc-white); font-size: 1.4rem; }
.pc-service-card p { color: #bed0d8; font-size: 0.9375rem; }
.pc-service-card__link { position: absolute; left: 1.9rem; bottom: 1.9rem; color: var(--pc-white); font: 700 0.8125rem var(--pc-font-heading); text-decoration: underline var(--pc-coral); text-underline-offset: 0.3rem; }
.pc-home-services__foot { flex-direction: row; align-items: center; justify-content: space-between; margin-top: 2.2rem; color: #c6d5db; }

.pc-home-journey { background: var(--pc-off-white); }
.pc-home-journey .pc-home-section-head__copy { color: var(--pc-slate); }
.pc-journey-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 1px; background: var(--pc-line); border: 1px solid var(--pc-line); }
.pc-journey-step { position: relative; min-height: 17.25rem; padding: 2.35rem; background: var(--pc-white); }
.pc-journey-step__number { position: absolute; right: 1.5rem; top: 1.25rem; color: var(--pc-slate); font: 650 0.6875rem var(--pc-font-heading); }
.pc-journey-step__icon { width: 4rem; height: 4rem; display: grid; place-items: center; margin-bottom: 2.4rem; border: 1px solid #c8dceb; background: #f8fbfd; }
.pc-journey-step__icon svg { width: 2.4rem; height: 2.4rem; fill: none; stroke: var(--pc-blue); stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
.pc-journey-step svg { display: block; width: 2.4rem !important; height: 2.4rem !important; margin-bottom: 2.4rem; fill: none !important; stroke: var(--pc-blue); stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
.pc-journey-step__icon .accent { stroke: var(--pc-coral); stroke-width: 2.5; }
.pc-journey-step svg .accent { stroke: var(--pc-coral); stroke-width: 2.5; }
.pc-journey-step h3 { font-size: 1.3rem; }
.pc-journey-step h3 { margin-bottom: 0.75rem; }
.pc-journey-step p { margin-top: 0; color: var(--pc-slate); font-size: 0.9375rem; }
.pc-booking-panel { display: grid; grid-template-columns: 0.9fr 1.1fr; column-gap: 3.75rem; row-gap: 1.35rem; align-items: center; margin-top: 1.8rem; padding: 2.2rem 2.8rem; background: var(--pc-blue); color: var(--pc-white); }
.pc-booking-panel > .brxe-block:first-child { grid-column: 1; grid-row: 1; }
.pc-booking-panel > .brxe-html { display: contents; }
.pc-booking-panel .pc-home-eyebrow { color: #d6e9f7; }
.pc-booking-panel h3 { margin-bottom: 0.45rem; color: var(--pc-white); font-size: 2rem; }
.pc-booking-panel p { margin: 0.2rem 0 0; color: #d5e6f5; }
.pc-booking-check { display: grid; grid-column: 2; grid-row: 1; grid-template-columns: minmax(0,1fr) auto; align-self: center; }
.pc-booking-check input { min-height: 3.5rem; padding: 0 1rem; border: 0; border-radius: 0; background: var(--pc-white); color: var(--pc-ink); }
.pc-booking-check a { min-height: 3.5rem; }
.pc-booking-note { grid-column: 1 / -1; grid-row: 2; margin: 0; color: #d5e6f5; font-size: 0.78rem; white-space: nowrap; }
.pc-booking-note a { color: var(--pc-white); text-decoration: underline; }

.pc-home-craft { background: var(--pc-white); }
.pc-home-craft__grid { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(4rem,8vw,6.5rem); align-items: center; }
.pc-home-craft__visual { position: relative; min-height: 37.5rem; background: url("../images/site/prontaclean-shirt-finishing-concept.webp") center / cover no-repeat; }
.pc-home-craft__visual img:is([src$="/prontaclean-craft-hero-concept.png"],[src$="/prontaclean-craft-hero-concept.webp"]) { display: none !important; }
.pc-home-craft__visual::before { position: absolute; left: -1.1rem; top: -1.1rem; z-index: 0; width: 44%; height: 48%; border: 1px solid var(--pc-coral); content: ""; }
.pc-home-craft__visual::after { position: absolute; inset: 0; z-index: 1; background: url("../images/site/prontaclean-shirt-finishing-concept.webp") center / cover no-repeat; content: ""; }
.pc-home-craft__image { position: absolute; inset: 0; z-index: 1; background: url("../images/site/prontaclean-shirt-finishing-concept.webp") center / cover no-repeat; }
.pc-home-craft__visual > .brxe-image { position: absolute !important; inset: 0 !important; z-index: 1; width: 100% !important; height: 100% !important; background: url("../images/site/prontaclean-shirt-finishing-concept.webp") center / cover no-repeat; }
.pc-home-craft__image img { width: 100%; height: 100%; object-fit: cover; object-position: center; visibility: hidden !important; }
.pc-home-craft__visual > .brxe-image img { width: 100% !important; height: 100% !important; object-fit: cover; object-position: 15% center; opacity: 0; }
.pc-home-craft__image img { opacity: 0 !important; }
.pc-home-craft__quote { position: absolute !important; left: 1.8rem; bottom: 1.8rem; z-index: 3; width: auto !important; margin: 0 !important; padding: 1.3rem 1.6rem; background: var(--pc-navy); color: var(--pc-white); font: 650 1.1rem var(--pc-font-heading); }
.pc-home-craft__lead { margin: 1.4rem 0; color: var(--pc-navy); font: 620 1.45rem/1.4 var(--pc-font-heading); }
.pc-home-craft__list { margin: 1.5rem 0 2rem; padding: 0; list-style: none; }
.pc-home-craft__list li { padding: 0.65rem 0; border-bottom: 1px solid var(--pc-line); font-weight: 650; }
.pc-home-craft__list li::before { margin-right: 0.8rem; color: var(--pc-blue); content: "✓"; }

.pc-home-prices { background: var(--pc-mist); }
.pc-home-prices__grid { display: grid; grid-template-columns: 0.78fr 1.22fr; gap: clamp(4rem,9vw,7.5rem); align-items: center; }
.pc-home-prices .pc-home-h2 { margin-bottom: 1.5rem; }
.pc-home-prices__copy { color: var(--pc-slate); }
.pc-home-prices .pc-home-text-link { margin-top: 1.35rem; }
.pc-price-list { border-top: 3px solid var(--pc-coral); }
.pc-price-row { display: grid !important; grid-template-columns: minmax(0,1fr) auto; width: 100%; align-items: center; gap: 2rem; padding: 1.35rem 0.25rem; border-bottom: 1px solid #cad9dc; }
.pc-price-row span { color: var(--pc-navy); font: 650 1.05rem var(--pc-font-heading); }
.pc-price-row strong { justify-self: end; color: var(--pc-blue); font: 750 1.5rem var(--pc-font-heading); text-align: right; }

.pc-home-local { padding-bottom: 0; background: var(--pc-off-white); }
.pc-home-local__panel { display: grid; grid-template-columns: 1fr 0.8fr; gap: clamp(4rem,9vw,7rem); padding: 4.7rem; background: var(--pc-navy); color: var(--pc-white); }
.pc-home-local .pc-home-h2 { margin-bottom: 1.1rem; color: var(--pc-white); }
.pc-home-local__copy { margin-bottom: 1.75rem; color: #bfd0d8; }
.pc-home-address { position: relative; min-height: 20.5rem; padding: 2.4rem; background: var(--pc-off-white); color: var(--pc-navy); }
.pc-home-address__label { color: var(--pc-blue); font: 750 0.7rem var(--pc-font-heading); letter-spacing: 0.13em; text-transform: uppercase; }
.pc-home-address h3 { margin: 1.5rem 0; font-size: 1.75rem; }
.pc-home-address__phone { color: var(--pc-navy); font: 750 1.35rem var(--pc-font-heading); text-decoration: underline var(--pc-coral); text-underline-offset: 0.35rem; }
.pc-home-address__icon { position: absolute; right: 1.8rem; bottom: 1.6rem; width: 4rem; }

.pc-site-footer { padding: 0; background: #062638; color: #c9d6dc; }
.pc-site-footer__grid { display: grid; grid-template-columns: 1.7fr repeat(3,1fr); gap: 4.5rem; padding-block: 4.75rem 3.75rem; }
.pc-site-footer__brand img { width: 17rem; }
.pc-site-footer__brand p { max-width: 20rem; font-size: 0.9375rem; }
.pc-site-footer__payments { margin-top: 1.35rem; }
.pc-site-footer__payments img { width: min(100%, 21rem); height: auto; }
.pc-site-footer__column { gap: 0.45rem; }
.pc-site-footer__column h3 { margin-bottom: 0.6rem; color: var(--pc-white); font-size: 0.875rem; }
.pc-site-footer__column a,.pc-site-footer__column p { margin: 0; color: #c9d6dc; font-size: 0.875rem; }
.pc-site-footer__bottom { display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 2rem; align-items: start; padding-block: 1.25rem; border-top: 1px solid rgb(255 255 255 / 0.12); color: #91a6af; font-size: 0.75rem; }
.pc-site-footer__credits { display: grid; gap: .35rem; }
.pc-site-footer__bottom > .brxe-text-basic:last-child { white-space: nowrap; }

@media (max-width: 68rem) {
  :root { --pc-wrap: min(48rem, calc(100% - 2.25rem)); }
  .pc-site-utility { display: none; }
  .pc-site-menu { display: block; margin-left: auto; }
  .pc-site-menu .bricks-mobile-menu-toggle { color: var(--pc-navy); }
  .pc-site-menu .bricks-mobile-menu-wrapper { background: var(--pc-navy); }
  .pc-site-menu .bricks-mobile-menu > li > a { color: white; font-family: var(--pc-font-heading); font-weight: 700; }
  #brx-header { position: sticky; z-index: 999; top: 0; }
  body.admin-bar #brx-header { top: 32px; }
  :where(section,[id]) { scroll-margin-top: 6.25rem; }
  .pc-site-nav__inner { min-height: 5rem; }
  .pc-site-logo,.pc-site-logo img { width: 11.5rem; flex-basis: 11.5rem; }
  .pc-home-hero > .brxe-container { display: block; }
  .pc-home-hero__copy { padding: 4.5rem max(1.125rem,calc((100vw - 48rem)/2)) 3.5rem; }
  .pc-home-hero__visual { min-height: 32rem; }
  .pc-home-intro__grid,.pc-home-section-head,.pc-home-craft__grid,.pc-home-prices__grid,.pc-home-local__panel { grid-template-columns: 1fr; gap: 3rem; }
  .pc-service-grid { grid-template-columns: 1fr 1fr; }
  .pc-journey-grid { grid-template-columns: 1fr; }
  .pc-booking-panel { grid-template-columns: 1fr; gap: 2rem; }
  .pc-booking-panel > .brxe-block:first-child { grid-column: 1; grid-row: 1; }
  .pc-booking-check { grid-column: 1; grid-row: 2; }
  .pc-booking-note { grid-column: 1; grid-row: 3; }
  .pc-site-footer__grid { grid-template-columns: 1fr 1fr; }
}

@media (max-width: 42rem) {
  :root { --pc-wrap: calc(100% - 1.75rem); }
  .pc-site-nav__inner { gap: .85rem; }
  .pc-site-logo { display: inline-flex; min-height: 2.75rem; align-items: center; }
  .pc-site-logo,.pc-site-logo img { width: 10rem; flex-basis: 10rem; }
  .pc-site-menu .bricks-mobile-menu-toggle { display: inline-flex; width: 2.75rem; height: 2.75rem; align-items: center; justify-content: center; }
  .pc-site-cta,.brxe-button.pc-site-cta { display: none; }
  .pc-home-section { padding-block: 4.25rem; }
  .pc-home-title { font-size: 2.8rem; }
  .pc-home-h2 { font-size: 2.45rem; }
  .pc-home-lede { font-size: 1.125rem; }
  .pc-home-text-link a,
  .pc-service-card__link a,
  .pc-home-address__phone a { display: inline-flex; min-height: 2.75rem; align-items: center; }
  .pc-booking-note a { display: inline-block; margin-block: -0.65rem; padding-block: 0.65rem; }
  .pc-home-hero__copy { padding-inline: 1rem; }
  .pc-home-hero__actions { align-items: flex-start; flex-direction: column; }
  .pc-home-hero__proof { display: grid; grid-template-columns: 1fr 1fr; gap: 1.3rem; }
  .pc-home-stat { padding-left: 1rem; }
  .pc-home-hero__visual { min-height: 25rem; }
  .pc-service-grid { grid-template-columns: 1fr; }
  .pc-home-services__foot { align-items: flex-start; flex-direction: column; gap: 1rem; }
  .pc-booking-panel { padding: 2rem 1.35rem; }
  .pc-booking-check { grid-template-columns: 1fr; }
  .pc-booking-note { white-space: normal; }
  .pc-home-craft__visual { min-height: 27rem; }
  .pc-price-row span { max-width: 72%; font-size: 0.93rem; }
  .pc-home-local { padding-bottom: 0; }
  .pc-home-local__panel { width: 100%; padding: 3.5rem 1.5rem; }
  .pc-site-footer__grid { grid-template-columns: 1fr; gap: 2.5rem; }
  .pc-site-footer__column a { display: inline-flex; min-height: 2.75rem; align-items: center; }
  .pc-site-footer__bottom { flex-direction: column; gap: 0.5rem; }
  .pc-site-footer__bottom { grid-template-columns: 1fr; gap: .8rem; }
  .pc-site-footer__bottom > .brxe-text-basic:last-child { white-space: normal; }
}

@media (max-width: 48.875rem) {
  body.admin-bar #brx-header { top: 46px; }
}

@media (min-width: 68.01rem) {
  .pc-site-menu .bricks-nav-menu > li:last-child { display: none; }
}
