/* POLISH-001/002: shared shell surfaces. Keep source content and page layouts intact. */
.cl-footer,
.cl-footer.cl-shared-footer {
  --cl-footer-ink: #465052;
  color: var(--cl-footer-ink);
  border-top: 1px solid #c8b9a5;
  background: linear-gradient(180deg, #d2c3b0 0, #dacdbc 120px, #e2d8ca 100%);
  box-shadow: inset 0 14px 22px -20px rgba(56, 39, 27, .52), inset 0 1px 2px rgba(70, 48, 29, .12);
}
.cl-footer :is(.cl-footer-description, .cl-shared-footer-description, .cl-shared-footer-contact, .cl-shared-footer-address, .cl-shared-footer-hours, .cl-shared-footer-disclosure p, .cl-shared-footer-copyright),
.cl-footer .cl-brand span,
.cl-footer .wp-block-navigation-item__content,
.cl-footer .cl-footer-disclosure p,
.cl-footer .cl-footer-bottom p,
.cl-shared-footer .cl-shared-footer-links a,
.cl-shared-footer .cl-shared-footer-small-links a {
  color: var(--cl-footer-ink);
}
.cl-shared-footer .cl-shared-footer-label { color: #303b3d; }
.cl-shared-footer .cl-shared-footer-contact a,
.cl-shared-footer .cl-company-whatsapp a,
.cl-shared-footer .cl-shared-footer-disclosure a {
  color: #71313c;
}
.cl-shared-footer :is(.cl-shared-footer-disclosure, .cl-shared-footer-bottom) { border-top-color: #bcad99; }
.cl-footer a:not(.wp-block-button__link):hover { color: #672d37; }
.cl-footer :is(a, button):focus-visible { outline-color: #79313c; }

/* One floating pill: preserve the brand and native Navigation block. */
.cl-header .cl-nav-glass {
  gap: clamp(12px, 1.25vw, 18px);
  border-color: rgba(255, 255, 255, .76);
  background: linear-gradient(115deg, rgba(255, 255, 255, .88), rgba(248, 245, 239, .72));
  -webkit-backdrop-filter: blur(20px) saturate(120%);
  backdrop-filter: blur(20px) saturate(120%);
  box-shadow: 0 9px 30px rgba(42, 35, 30, .10), inset 0 1px 0 rgba(255, 255, 255, .8);
}
.cl-header .cl-brand span { color: #384247; }
.cl-header .wp-block-navigation__container { gap: clamp(2px, .35vw, 6px); }
.cl-header .wp-block-navigation-item__content {
  padding-inline: 8px;
  color: #343d3f;
}
.cl-header .cl-nav-item > .wp-block-navigation-item__content::before { --cl-icon-size: 18px; }
.cl-header :is(.wp-block-navigation-item__content, .wp-block-navigation__responsive-container-open, .wp-block-navigation__responsive-container-close):focus-visible {
  outline: 3px solid #87363e;
  outline-offset: 4px;
}
.cl-header .wp-block-navigation-item__content:active { background: rgba(158, 62, 68, .13); }

/* The extra direct Tools destination must fit before desktop navigation is shown. */
@media (min-width: 1200px) {
  .cl-header .wp-block-navigation__responsive-container-open { display: none !important; }
  .cl-header .wp-block-navigation__responsive-container:not(.is-menu-open) { display: block !important; position: static !important; }
  .cl-header .wp-block-buttons.cl-nav-cta { display: flex !important; }
}
@media (max-width: 1199px) {
  .cl-header .wp-block-navigation__responsive-container-open { display: flex !important; }
  .cl-header .wp-block-navigation__responsive-container:not(.is-menu-open) { display: none !important; }
  .cl-header .wp-block-buttons.cl-nav-cta { display: none !important; }
  .cl-header .cl-nav-glass { min-height: 76px; padding: 10px 18px; }
}

/* Release every filter on the ancestor so the native fixed dialog uses the viewport. */
.cl-header .cl-nav-glass:has(.wp-block-navigation__responsive-container.is-menu-open) {
  -webkit-backdrop-filter: none;
  backdrop-filter: none;
}

/* Specificity exceeds core's opaque-white default for Navigation without a background. */
.cl-header .cl-nav-glass .wp-block-navigation .wp-block-navigation__responsive-container.is-menu-open {
  position: fixed !important;
  inset: 0 !important;
  width: 100%;
  height: 100vh;
  height: 100dvh;
  max-height: none;
  margin: 0;
  padding: max(94px, calc(env(safe-area-inset-top, 0px) + 82px)) clamp(20px, 5vw, 64px) max(32px, calc(env(safe-area-inset-bottom, 0px) + 24px));
  overflow-x: hidden;
  overflow-y: auto;
  overscroll-behavior: contain;
  border: 0;
  border-radius: 0;
  background: radial-gradient(ellipse at 0 0, rgba(255, 255, 255, .22), transparent 62%), linear-gradient(145deg, rgba(250, 248, 244, .83), rgba(237, 231, 220, .74));
  color: #303b3d;
  -webkit-backdrop-filter: blur(22px) saturate(115%);
  backdrop-filter: blur(22px) saturate(115%);
  box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .65);
  z-index: 100;
}
.cl-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-close {
  width: 100%;
  max-width: 640px;
  margin-inline: auto;
}
.cl-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-dialog { position: relative; }
.cl-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content {
  padding-top: 0;
  width: 100%;
  max-width: 640px;
}
.cl-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container {
  gap: 10px;
  align-items: stretch;
}
.cl-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item { width: 100%; }
.cl-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content {
  display: flex;
  align-items: center;
  gap: 14px;
  min-height: 58px;
  padding: 14px 18px;
  border: 1px solid rgba(255, 255, 255, .78);
  border-radius: 17px;
  background: linear-gradient(115deg, rgba(255, 255, 255, .69), rgba(255, 253, 248, .47));
  color: #303b3d;
  box-shadow: 0 4px 13px rgba(67, 53, 39, .035), inset 0 1px 0 rgba(255, 255, 255, .62);
  font-size: 16px;
  font-weight: 500;
  line-height: 1.5;
  white-space: normal;
}
.cl-header .wp-block-navigation__responsive-container.is-menu-open .cl-nav-item > .wp-block-navigation-item__content::before { --cl-icon-size: 21px; opacity: .88; }
.cl-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content:is(:hover, :focus-visible, [aria-current="page"]) {
  border-color: rgba(158, 62, 68, .19);
  background: rgba(255, 250, 245, .88);
  color: #79313c;
}
.cl-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content:active { background: #f1e4dc; }
.cl-header .wp-block-navigation__responsive-container.is-menu-open .cl-nav-contact { display: block !important; }
.cl-header .wp-block-navigation__responsive-container.is-menu-open .cl-nav-contact > .wp-block-navigation-item__content {
  margin-top: 4px;
  border-color: rgba(119, 48, 58, .3);
  background: #87363e;
  color: #fff;
  font-weight: 650;
  box-shadow: 0 5px 16px rgba(100, 40, 48, .12), inset 0 1px 0 rgba(255, 255, 255, .13);
}
.cl-header .wp-block-navigation__responsive-container.is-menu-open .cl-nav-contact > .wp-block-navigation-item__content:hover { background: #71303a; }
.cl-header .wp-block-navigation__responsive-container.is-menu-open .cl-nav-contact > .wp-block-navigation-item__content:focus-visible { outline-offset: 5px; }
.cl-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-close {
  position: absolute;
  top: -66px;
  right: 0;
  width: 46px;
  height: 46px;
  min-width: 46px;
  min-height: 46px;
  margin: 0;
  border: 1px solid rgba(255, 255, 255, .82);
  border-radius: 50%;
  background: rgba(255, 253, 249, .73);
  color: #394244;
  box-shadow: 0 4px 14px rgba(67, 53, 39, .06), inset 0 1px 0 rgba(255, 255, 255, .74);
}
.cl-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-close:hover { background: #fffaf4; color: #79313c; }

@media (prefers-reduced-motion: no-preference) {
  .cl-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-close { animation: cl-polish-menu-arrive 220ms var(--cl-ease, ease-out); }
}
@keyframes cl-polish-menu-arrive {
  from { opacity: .88; transform: translateY(6px); }
  to { opacity: 1; transform: translateY(0); }
}

@media (max-width: 781px) {
  .cl-header .cl-nav-glass { min-height: 68px; padding: 8px 12px; gap: 8px; }
}
@supports not ((backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px))) {
  .cl-header .cl-nav-glass { background: #fbfaf7; }
  .cl-header .cl-nav-glass .wp-block-navigation .wp-block-navigation__responsive-container.is-menu-open { background: #eee9e0; }
  .cl-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content { background: #fbf8f2; border-color: #d4c8b8; }
  .cl-header .wp-block-navigation__responsive-container.is-menu-open .cl-nav-contact > .wp-block-navigation-item__content { background: #87363e; color: #fff; }
}
@media (prefers-reduced-motion: reduce) {
  .cl-header *, .cl-header *::before, .cl-header *::after, .cl-footer *, .cl-footer *::before, .cl-footer *::after { animation: none !important; transition: none !important; }
}
