:root {
  --primary: #0f172a;
  --primary-dark: #172554;
  --heading: #0f172a;
  --ink: #0f172a;
  --navy: #0f172a;
  --navy2: #172554;
  --dark: #172554;
  --nav: #0f172a;
  --brand: #1e3a8a;
  --brand-dark: #172554;
  --blue: #1e3a8a;
  --accent: #1e3a8a;
  --accent-hover: #172554;
  --text: #334155;
  --muted: #334155;
  --border: #cbd5e1;
  --line: #cbd5e1;
  --background: #f8fafc;
  --bg: #f8fafc;
  --soft: #f8fafc;
  --warm: #f8fafc;
  --white: #ffffff;
  --focus-dark: #0f172a;
  --focus-yellow: #facc15;
}

::selection {
  background: #1e3a8a;
  color: #ffffff;
}

/*
 * Shared public-site colour system.
 * These rules deliberately override older page-specific hard-coded colours so
 * every public page visibly follows the Website Care palette.
 */
body {
  background: #f8fafc !important;
  color: #334155 !important;
}

body h1,
body h2,
body h3,
body h4,
body h5,
body h6 {
  color: #0f172a;
}

body a {
  color: #1e3a8a;
}

/* Shared navy hero treatment used by Website Care. */
.business-hero,
main > .hero,
.hosting-hero {
  background: linear-gradient(135deg, #0f172a, #172554) !important;
  color: #ffffff !important;
}

.business-hero h1,
.business-hero h2,
main > .hero h1,
main > .hero h2,
.hosting-hero h1,
.hosting-hero h2 {
  color: #ffffff !important;
}

.business-hero .eyebrow,
main > .hero .eyebrow,
.hosting-hero .eyebrow {
  color: #93c5fd !important;
}

.business-hero .hero-lead,
main > .hero .lead,
main > .hero p,
.hosting-hero .lead,
.hosting-hero p {
  color: #e2e8f0 !important;
}

/* Light panels, cards and alternating content areas. */
.trust-strip,
.journey-section,
.home-section,
.section,
.section.white,
.public,
.hosting-section {
  background-color: #f8fafc;
}

.section.white,
.trust-strip,
.journey-section,
.home-section:nth-of-type(even) {
  background-color: #ffffff !important;
}

.hero-proof,
.side,
.service-card,
.journey-step,
.fit-note-inner,
.fact,
.card,
.form,
.signup-card,
.calculator,
.package-builder,
.workflow-card-business,
.wc-workflow-card,
main.box {
  background: #ffffff !important;
  border-color: #cbd5e1 !important;
  color: #334155 !important;
}

.hero-proof strong,
.side h2,
.side strong,
.service-card h3,
.journey-step strong,
.fact strong,
.card h2,
.card h3,
.form h2,
.signup-card h1,
.signup-card h2,
main.box h1 {
  color: #0f172a !important;
}

.hero-proof span,
.side span,
.service-card p,
.journey-step span,
.section p,
.heading p {
  color: #334155;
}

.journey-step,
.step,
.meet-section,
.pale,
.notice.info,
.plain-terms {
  background: #eff6ff !important;
  border-color: #bfdbfe !important;
}

/* Calls to action use the Website Care accent blue. */
.hero-actions .primary,
.button:not(.alt),
.btn-primary,
.links a,
.cta,
.submit,
.service-card .button,
.hosting-hero .btn:not(.secondary),
.public .btn:not(.sec):not(.danger):not(.face),
.signup-page .btn:not(.sec):not(.danger):not(.face) {
  background: #1e3a8a !important;
  border-color: #1e3a8a !important;
  color: #ffffff !important;
}

.hero-actions .primary:hover,
.button:not(.alt):hover,
.btn-primary:hover,
.links a:hover,
.cta:hover,
.submit:hover {
  background: #172554 !important;
  border-color: #172554 !important;
}

.hero-actions .secondary,
.button.alt,
.btn.sec {
  background: #ffffff !important;
  border: 2px solid #1e3a8a !important;
  color: #1e3a8a !important;
}

.partner-statement,
.package-summary,
.enquiry-copy,
.cta:not(a):not(button) {
  background: linear-gradient(135deg, #0f172a, #172554) !important;
  color: #ffffff !important;
}

.partner-statement h2,
.enquiry-copy h2,
.cta:not(a):not(button) h2 {
  color: #ffffff !important;
}

.partner-statement p,
.enquiry-copy p,
.cta:not(a):not(button) p {
  color: #e2e8f0 !important;
}

.service-no,
.service-card a,
.card b,
.fact strong,
.eyebrow {
  color: #1e3a8a !important;
}

input,
select,
textarea {
  border-color: #64748b;
}

:focus-visible {
  outline-color: #facc15 !important;
}

/*
 * Event advert and homepage popup are intentionally excluded from the shared
 * Website Care theme. Keep their original event identity and make the popup's
 * open/closed state authoritative even when this stylesheet loads last.
 */
#eventPopup {
  --navy: #182b3e;
  --dark: #101d2b;
  --blue: #79cce8;
  --red: #d62b42;
  --white: #ffffff;
  --muted: #cbd7e1;
  --primary: #0f172a;
  --border: #e2e8f0;
}

#eventPopup.event-popup-overlay:not(.open) {
  display: none !important;
  visibility: hidden !important;
  pointer-events: none !important;
}

#eventPopup.event-popup-overlay.open {
  display: flex !important;
  visibility: visible !important;
  opacity: 1 !important;
  pointer-events: auto !important;
}

#eventPopup .event-popup-panel,
#eventPopup .event-section {
  background: #244d53 !important;
  color: #ffffff !important;
}

#eventPopup .event-section h1,
#eventPopup .event-section h2,
#eventPopup .event-section h3,
#eventPopup .event-section strong,
#eventPopup .event-section .dv {
  color: #ffffff !important;
}

#eventPopup .event-heading p {
  color: #c8dbe3 !important;
}

#eventPopup .event-heading .eyebrow {
  color: #a9dce1 !important;
}

#eventPopup .event-card {
  background: rgba(255,255,255,.06) !important;
  border-color: rgba(255,255,255,.15) !important;
  color: #ffffff !important;
}

#eventPopup .detail {
  background: rgba(255,255,255,.07) !important;
  border-color: rgba(255,255,255,.08) !important;
}

#eventPopup .dl,
#eventPopup .num {
  color: #79cce8 !important;
}

#eventPopup .countwrap {
  background: rgba(0,0,0,.16) !important;
  border-color: rgba(121,204,232,.20) !important;
  color: #ffffff !important;
}

#eventPopup .counthead,
#eventPopup .unit,
#eventPopup .msg {
  color: #cbd7e1 !important;
}

#eventPopup .box {
  background: rgba(255,255,255,.05) !important;
  border-color: rgba(121,204,232,.22) !important;
  color: #ffffff !important;
}

#eventPopup .seats {
  background: rgba(237,59,79,.14) !important;
  border-color: rgba(237,59,79,.42) !important;
  color: #ffffff !important;
}

#eventPopup .seatnum {
  background: #d62b42 !important;
  color: #ffffff !important;
}

#eventPopup .cta {
  background: #a65148 !important;
  border-color: #a65148 !important;
  color: #ffffff !important;
}

#eventPopup .event-popup-close {
  background: #ffffff !important;
  color: #183c43 !important;
}

#bookingModal .submit {
  background: #d62b42 !important;
  border-color: #d62b42 !important;
  color: #ffffff !important;
}
