/* Clean & Cut Manchester — additions on top of the page styles */

/* "C&C" badge in the home services list needs a touch less size than the original two letters */
.services-mobile-point-logo { font-size: 9px !important; letter-spacing: -0.02em; }

/* Contact form status message */
.cc-form-status { margin: 4px 0 0; font-size: 14px; line-height: 1.5; min-height: 0; }
.cc-form-status:empty { display: none; }
.cc-form-status.is-error { color: #b42318; }
.cc-form-status.is-success { color: #0066b3; }

/* Testimonial photo lightbox */
.cc-lightbox {
  position: fixed; inset: 0; z-index: 2147483600;
  display: none; align-items: center; justify-content: center;
  background: rgba(6, 21, 36, 0.88); padding: 24px;
}
.cc-lightbox.is-open { display: flex; }
.cc-lightbox img { max-width: min(92vw, 1100px); max-height: 86vh; border-radius: 14px; box-shadow: 0 24px 60px rgba(0, 0, 0, 0.45); }
.cc-lightbox button {
  position: absolute; border: 0; cursor: pointer; color: #fff;
  background: rgba(255, 255, 255, 0.14); border-radius: 999px;
  width: 48px; height: 48px; font-size: 30px; line-height: 1;
  display: flex; align-items: center; justify-content: center;
}
.cc-lightbox button:hover { background: rgba(255, 255, 255, 0.26); }
.cc-lightbox-close { top: 18px; right: 18px; }
.cc-lightbox-count { position: absolute; top: 18px; left: 18px; padding: 8px 14px; border-radius: 999px; background: rgba(255, 255, 255, 0.16); color: #fff; font: 600 14px/1 Arial, Helvetica, sans-serif; letter-spacing: 0.02em; }
.cc-lightbox-count:empty { display: none; }
.cc-lightbox-prev { left: 18px; top: 50%; transform: translateY(-50%); }
.cc-lightbox-next { right: 18px; top: 50%; transform: translateY(-50%); }

/* ---------------------------------------------------------------------------
   Header bar + mobile menu: keep the original (light) logo and use navy
   backgrounds instead of the white bar / white drawer.
   ------------------------------------------------------------------------- */
html body .ajh-logo,
html body .ajh-sticky .ajh-logo,
html body .ajh-mobile-panel-logo,
html body .ajh-mobile-panel-brand img { filter: none !important; }

html body .ajh-shell.ajh-sticky,
html body .ajh-sticky .ajh-card,
html body .ajh-normal .ajh-card { background: #102a43 !important; }
html body .ajh-shell.ajh-sticky { box-shadow: 0 8px 28px rgba(6, 21, 36, 0.35) !important; }
html body .ajh-normal .ajh-card { box-shadow: none !important; }

html body .ajh-normal .ajh-nav > a,
html body .ajh-normal .ajh-services-trigger,
html body .ajh-normal .ajh-phone,
html body .ajh-normal .ajh-mobile-trigger { color: #fff !important; }
html body .ajh-normal .ajh-nav > a:after,
html body .ajh-normal .ajh-services-trigger:after { background: #00a7d6 !important; }

html body .ajh-sticky .ajh-quote { color: #fff !important; background: transparent !important; border-color: #fff !important; }
html body .ajh-sticky .ajh-quote:hover { color: #102a43 !important; background: #fff !important; }

/* mobile drawer (scoped tightly: the original rules are .jsx-hashed and !important) */
html body .ajh-root .ajh-mobile-menu-layer .ajh-mobile-panel { background: #0c2340 !important; color: #fff !important; }
html body .ajh-root .ajh-mobile-menu-layer .ajh-mobile-panel .ajh-mobile-panel-logo,
html body .ajh-root .ajh-mobile-menu-layer .ajh-mobile-panel .ajh-mobile-panel-brand img { filter: none !important; }
html body .ajh-root .ajh-mobile-menu-layer .ajh-mobile-panel .ajh-mobile-panel-links a { color: #fff !important; }
html body .ajh-root .ajh-mobile-menu-layer .ajh-mobile-panel .ajh-mobile-panel-links a.active:after { background: #00a7d6 !important; }
html body .ajh-root .ajh-mobile-menu-layer .ajh-mobile-panel .ajh-mobile-close { color: #fff !important; }
html body .ajh-root .ajh-mobile-menu-layer .ajh-mobile-panel .ajh-mobile-call { color: #fff !important; background: transparent !important; border-color: #fff !important; }
html body .ajh-root .ajh-mobile-menu-layer .ajh-mobile-panel .ajh-mobile-quote { color: #0c2340 !important; background: #00a7d6 !important; border-color: #00a7d6 !important; }
html body .ajh-root .ajh-mobile-menu-layer .ajh-mobile-panel .ajh-mobile-legal a { color: rgba(255, 255, 255, 0.7) !important; }

/* before/after cards are dragged directly (see script.js) */
.recent-compare-card, .recent-comparison { touch-action: pan-y; cursor: ew-resize; user-select: none; -webkit-user-select: none; }
.recent-compare-card img, .recent-comparison img { -webkit-user-drag: none; pointer-events: none; }

/* ---------------------------------------------------------------------------
   Privacy Policy / Terms of Service pages
   ------------------------------------------------------------------------- */
.cc-legal { background: #f4f6f7; padding: 72px 20px 96px; }
.cc-legal-inner {
  max-width: 820px; margin: 0 auto; background: #fff; border-radius: 18px;
  padding: 56px 60px; box-shadow: 0 18px 44px rgba(12, 35, 64, 0.07);
  font-family: "Source Sans 3", Arial, Helvetica, sans-serif; color: #33475b; font-size: 17px; line-height: 1.7;
}
.cc-legal-inner h2 {
  font-family: "Lato", Arial, Helvetica, sans-serif; font-weight: 900; color: #0c2340;
  font-size: 1.5rem; letter-spacing: -0.02em; line-height: 1.2; margin: 2.2em 0 0.6em;
}
.cc-legal-inner p { margin: 0 0 1em; }
.cc-legal-inner ul { margin: 0 0 1.2em; padding-left: 1.3em; list-style: disc; }
.cc-legal-inner li { margin: 0 0 0.45em; }
.cc-legal-inner li::marker { color: #00a7d6; }
.cc-legal-inner a { color: #0066b3; text-decoration: underline; text-underline-offset: 2px; }
.cc-legal-inner strong { color: #0c2340; font-weight: 700; }
.cc-legal-updated { font-size: 0.9rem; color: #60788e; font-weight: 600; text-transform: uppercase; letter-spacing: 0.06em; }
.cc-legal-inner ul.cc-legal-contact { list-style: none; padding: 20px 24px; background: #eaf5fb; border-radius: 12px; }
@media (max-width: 700px) {
  .cc-legal { padding: 40px 14px 64px; }
  .cc-legal-inner { padding: 32px 22px; font-size: 16px; border-radius: 14px; }
  .cc-legal-inner h2 { font-size: 1.3rem; }
}

/* Review cards: the second thumbnail only gets the dark "+N" overlay when there are more photos
   than the two shown, otherwise it is a plain thumbnail like the first one. */
.turnkey-more-photo.turnkey-more-photo-plain { width: 72px; }
.turnkey-more-photo.turnkey-more-photo-plain:after { content: none; }
@media (max-width: 640px) {
  .turnkey-more-photo.turnkey-more-photo-plain { width: 48px; }
}
html body #top .turnkey-testimonial-mobile-belts .turnkey-more-photo.turnkey-more-photo-plain, html body .testimonials-page .turnkey-testimonial-mobile-belts .turnkey-more-photo.turnkey-more-photo-plain { width: 44px !important; }

/* One navy: the home page's reviews band used #102a43; every other navy area is #0c2340 */
html body #top .turnkey-testimonials-band,
html body .turnkey-testimonials-band{background:#0c2340!important}
html body #top .turnkey-testimonials-wave path,
html body .turnkey-testimonials-wave path{fill:#0c2340!important}
