/* Campus Pastor Summit 2027 — site-wide restyle over WellExpo.
   Matches the HubSpot landing page + email campaign: Antonio display, Inter body,
   cream/ink/orange palette. Loaded on every page; scoped to body.cps-restyle. */

:root {
  --cps-ink: #111518;
  --cps-cream: #F6F1E8;
  --cps-beige: #EFE8DC;
  --cps-orange: #E8461E;
  --cps-orange-dark: #CF3A14;
  --cps-text: #33363A;
  --cps-muted: #6A6A6A;
  --cps-soft: #D9D3C8;
  --cps-display: 'Antonio', 'Arial Narrow', Arial, sans-serif;
  --cps-body: 'Inter', Arial, Helvetica, sans-serif;
}

/* ---------- Typography ---------- */
body.cps-restyle,
body.cps-restyle p,
body.cps-restyle li,
body.cps-restyle .qodef-content,
body.cps-restyle input,
body.cps-restyle textarea,
body.cps-restyle select,
body.cps-restyle button { font-family: var(--cps-body) !important; color: var(--cps-text); }

body.cps-restyle h1, body.cps-restyle h2, body.cps-restyle h3,
body.cps-restyle h4, body.cps-restyle h5, body.cps-restyle h6,
body.cps-restyle .qodef-title-holder .qodef-page-title,
body.cps-restyle .qodef-section-title-holder .qodef-st-title,
body.cps-restyle .qodef-price-table .qodef-pt-title,
body.cps-restyle .qodef-team .qodef-team-name,
body.cps-restyle .qodef-countdown-holder .qodef-countdown-digit {
  font-family: var(--cps-display) !important;
  font-weight: 700 !important;
  text-transform: uppercase;
  letter-spacing: .2px;
  line-height: 1.02;
  color: var(--cps-ink);
}
body.cps-restyle h1 { font-size: 64px; }
body.cps-restyle h2 { font-size: 48px; }
body.cps-restyle h3 { font-size: 30px; }
body.cps-restyle h4 { font-size: 24px; }
body.cps-restyle .qodef-title-holder .qodef-page-title { font-size: 72px; }

/* Theme's script font ("Mr Dafoe") used for eyebrows: swap for a spaced label */
body.cps-restyle .qodef-section-title-holder .qodef-st-subtitle,
body.cps-restyle .qodef-price-table .qodef-pt-subtitle,
body.cps-restyle .qodef-team .qodef-team-position {
  font-family: var(--cps-body) !important;
  font-size: 12px !important; font-weight: 600; letter-spacing: 3px; text-transform: uppercase;
  color: var(--cps-orange);
}

/* ---------- Buttons (theme + ours) ---------- */
body.cps-restyle .qodef-btn,
body.cps-restyle .cps-btn,
body.cps-restyle input[type="submit"],
body.cps-restyle button[type="submit"] {
  display: inline-flex; align-items: center; gap: 10px;
  background: var(--cps-orange) !important; color: #fff !important;
  border: 0 !important; border-radius: 999px !important;
  font-family: var(--cps-body) !important; font-weight: 700 !important; font-size: 14px !important;
  letter-spacing: 1.5px; text-transform: uppercase; text-decoration: none;
  padding: 17px 34px !important; line-height: 1.2 !important;
  transition: background .15s, transform .15s;
}
body.cps-restyle .qodef-btn:hover, body.cps-restyle .cps-btn:hover { background: var(--cps-orange-dark) !important; transform: translateY(-1px); }
body.cps-restyle .qodef-btn .qodef-btn-text { color: #fff !important; }
body.cps-restyle .cps-btn-ghost {
  display: inline-flex; align-items: center; gap: 10px;
  border: 1.5px solid currentColor; color: var(--cps-ink); text-decoration: none;
  font-family: var(--cps-body); font-weight: 700; font-size: 13px; letter-spacing: 1.5px; text-transform: uppercase;
  padding: 15px 28px; border-radius: 999px; transition: background .15s, color .15s;
}
body.cps-restyle .cps-btn-ghost:hover { background: var(--cps-ink); color: #fff; border-color: var(--cps-ink); }
body.cps-restyle .cps-btn-square { border-radius: 0 !important; padding: 20px 40px !important; font-size: 15px !important; }

/* ---------- Header / nav ---------- */
body.cps-restyle .qodef-page-header,
body.cps-restyle .qodef-page-header .qodef-menu-area,
body.cps-restyle .qodef-page-header .qodef-logo-area,
body.cps-restyle .qodef-sticky-header,
body.cps-restyle .qodef-sticky-header .qodef-sticky-holder,
body.cps-restyle .qodef-mobile-header .qodef-mobile-header-inner,
body.cps-restyle .qodef-mobile-header .qodef-mobile-menu-opener,
body.cps-restyle .qodef-mobile-header nav.qodef-mobile-nav { background-color: var(--cps-ink) !important; }
body.cps-restyle .qodef-page-header .qodef-menu-area,
body.cps-restyle .qodef-sticky-header .qodef-sticky-holder { border-bottom: 1px solid rgba(255,255,255,.06); }

body.cps-restyle .qodef-main-menu > ul > li > a,
body.cps-restyle .qodef-main-menu > ul > li > a span,
body.cps-restyle .qodef-sticky-header .qodef-main-menu > ul > li > a,
body.cps-restyle .qodef-mobile-nav a {
  font-family: var(--cps-body) !important; font-size: 12px !important; font-weight: 600 !important;
  letter-spacing: 2px !important; text-transform: uppercase; color: #F6F1E8 !important;
}
body.cps-restyle .qodef-main-menu > ul > li > a:hover,
body.cps-restyle .qodef-main-menu > ul > li > a:hover span,
body.cps-restyle .qodef-main-menu > ul > li.qodef-active-item > a,
body.cps-restyle .qodef-main-menu > ul > li.qodef-active-item > a span { color: var(--cps-orange) !important; }
body.cps-restyle .qodef-main-menu > ul > li > a:after,
body.cps-restyle .qodef-main-menu > ul > li > a:before,
body.cps-restyle .qodef-main-menu > ul > li > a .qodef-menu-line,
body.cps-restyle .qodef-main-menu > ul > li > a .qodef-menu-line-wrapper { display: none !important; }
/* Logo injected by site.js (theme has none set) */
body.cps-restyle .cps-logo { display: inline-block; line-height: 0; }
body.cps-restyle .cps-logo { display: inline-flex; align-items: center; gap: 10px; }
body.cps-restyle .cps-logo img { height: 34px; width: auto; display: block; }
body.cps-restyle .cps-logo img.cps-logo-icon { height: 30px; filter: invert(1); } /* the icon PNG is black on transparent */
body.cps-restyle .qodef-sticky-header .cps-logo img.cps-logo-icon, body.cps-restyle .qodef-mobile-header .cps-logo img.cps-logo-icon { height: 24px; }
body.cps-restyle .qodef-sticky-header .cps-logo img { height: 26px; }
body.cps-restyle .qodef-mobile-header .cps-logo img { height: 26px; }
body.cps-restyle .qodef-main-menu .second .inner ul,
body.cps-restyle .qodef-main-menu .second .inner > ul > li > a { background-color: #1A1F23 !important; }
body.cps-restyle .qodef-main-menu .second .inner ul li a { font-family: var(--cps-body) !important; color: #E7E1D7 !important; font-size: 13px !important; }
body.cps-restyle .qodef-main-menu .second .inner ul li a:hover { color: var(--cps-orange) !important; }
body.cps-restyle .qodef-search-opener { color: #F6F1E8 !important; }

/* ---------- Footer ---------- */
body.cps-restyle .qodef-page-footer,
body.cps-restyle .qodef-page-footer .qodef-footer-top-holder,
body.cps-restyle .qodef-page-footer .qodef-footer-bottom-holder { background-color: #0B0E10 !important; color: #8E8A84; }
body.cps-restyle .qodef-page-footer p, body.cps-restyle .qodef-page-footer a { color: #BDB6AA; font-size: 13px; }
body.cps-restyle .qodef-page-footer a:hover { color: var(--cps-orange); }
body.cps-restyle .qodef-page-footer .widget_title, body.cps-restyle .qodef-page-footer h5 { color: #fff; }

/* ---------- Page title band (About, Speakers, Schedule, Venue) ---------- */
body.cps-restyle .qodef-title-holder,
body.cps-restyle .qodef-title-holder.qodef-standard-type { background-color: var(--cps-ink) !important; background-image: none !important; }
body.cps-restyle .qodef-title-holder .qodef-page-title { color: #fff !important; }
body.cps-restyle .qodef-title-holder .qodef-page-subtitle { font-family: var(--cps-body) !important; color: #BDB6AA !important; letter-spacing: 3px; text-transform: uppercase; font-size: 12px; }
body.cps-restyle .qodef-title-holder .qodef-breadcrumbs { display: none; }

/* ---------- Page backgrounds / sections ---------- */
body.cps-restyle,
body.cps-restyle .qodef-wrapper,
body.cps-restyle .qodef-content { background-color: var(--cps-cream) !important; }
body.cps-restyle .vc_row[style*="background-color:#FFFFFF"],
body.cps-restyle .vc_row[style*="background-color: #FFFFFF"],
body.cps-restyle .vc_row[style*="background-color:#ffffff"] { background-color: var(--cps-cream) !important; }

/* Links in body copy */
body.cps-restyle .qodef-content a:not(.qodef-btn):not(.cps-btn):not(.cps-btn-ghost) { color: var(--cps-orange); }

/* Countdown */
body.cps-restyle .qodef-countdown-holder .qodef-countdown-digit { color: var(--cps-orange) !important; }
body.cps-restyle .qodef-countdown-holder .qodef-countdown-label { font-family: var(--cps-body) !important; letter-spacing: 2px; text-transform: uppercase; font-size: 11px; }

/* Pricing tables (theme widget) */
body.cps-restyle .qodef-price-table .qodef-pt-inner { background: #fff; border: 1px solid #E6DFD3; border-top: 3px solid var(--cps-orange); border-radius: 0; box-shadow: none; }
body.cps-restyle .qodef-price-table .qodef-pt-price,
body.cps-restyle .qodef-price-table .qodef-pt-value { font-family: var(--cps-display) !important; color: var(--cps-ink) !important; }
body.cps-restyle .qodef-price-table.qodef-active .qodef-pt-inner { background: var(--cps-ink); }
body.cps-restyle .qodef-price-table.qodef-active .qodef-pt-price,
body.cps-restyle .qodef-price-table.qodef-active .qodef-pt-value,
body.cps-restyle .qodef-price-table.qodef-active .qodef-pt-title { color: #fff !important; }

/* Team / speakers widget */
body.cps-restyle .qodef-team .qodef-team-image img { filter: none; }
body.cps-restyle .qodef-team .qodef-team-name { font-size: 22px; }
body.cps-restyle .qodef-team .qodef-team-position { color: var(--cps-muted); }

/* Timetable plugin (Schedule page) */
body.cps-restyle .tt_timetable .event,
body.cps-restyle .tt_timetable .event a,
body.cps-restyle .tt_timetable .event .event_header { background: var(--cps-ink) !important; color: #fff !important; font-family: var(--cps-body) !important; }
body.cps-restyle .tt_timetable .event .before_hour_text, body.cps-restyle .tt_timetable .event .hours { color: var(--cps-orange) !important; }
body.cps-restyle .tt_timetable th.row_header, body.cps-restyle .tt_timetable th.row_header div { background: var(--cps-beige) !important; color: var(--cps-ink) !important; font-family: var(--cps-display) !important; text-transform: uppercase; }
body.cps-restyle .tt_timetable .tt_tabs .tt_tab_item, body.cps-restyle .tt_timetable .tt_tabs a { font-family: var(--cps-body) !important; }

/* Blog cards on the Resources pages */
body.cps-restyle .qodef-blog-holder article .qodef-post-title a { font-family: var(--cps-display) !important; text-transform: uppercase; color: var(--cps-ink); }
body.cps-restyle .qodef-blog-holder article .qodef-post-info, body.cps-restyle .qodef-blog-holder article .qodef-post-info a { font-family: var(--cps-body) !important; color: var(--cps-muted) !important; }

/* Shared landing-style pieces usable on any page via shortcode */
.cps-wrap { max-width: 1180px; margin: 0 auto; padding: 0 32px; }
.cps-narrow { max-width: 760px; }
.cps-section { padding: 96px 0; }
.cps-display { font-family: var(--cps-display) !important; font-weight: 700 !important; text-transform: uppercase; line-height: .98; letter-spacing: .2px; margin: 0; }
.cps-display .hl { color: var(--cps-orange); display: block; }
.cps-display .hl-inline { color: var(--cps-orange); }
.cps-eyebrow { font-size: 12px; font-weight: 600; letter-spacing: 4px; text-transform: uppercase; margin: 0 0 18px; }
.cps-eyebrow.rule::before { content: ""; display: inline-block; width: 34px; height: 2px; background: var(--cps-orange); vertical-align: middle; margin-right: 14px; }

.cps-facts { display: flex; gap: 40px; margin-bottom: 36px; flex-wrap: wrap; }
.cps-fact { display: flex; gap: 14px; align-items: flex-start; }
.cps-fact svg { width: 30px; height: 30px; flex: none; color: var(--cps-orange); margin-top: 2px; }
.cps-fact strong { display: block; font-size: 16px; letter-spacing: 1px; text-transform: uppercase; font-family: var(--cps-body); }
.cps-fact span { display: block; font-size: 11px; letter-spacing: 1.5px; text-transform: uppercase; color: #BDB6AA; }

.cps-pricing { background: var(--cps-ink) !important; color: #fff; border-top: 4px solid var(--cps-orange); text-align: center; }
.cps-ob-eyebrow { font-size: 15px !important; font-weight: 700; letter-spacing: 3.5px; text-transform: uppercase; color: var(--cps-orange) !important; margin: 0 !important; }
.cps-ob-ends { font-size: 14px !important; font-weight: 700; letter-spacing: 3px; text-transform: uppercase; color: #fff !important; margin: 10px 0 0 !important; }
.cps-ob-stats { display: grid; grid-template-columns: repeat(3, 1fr); align-items: center; max-width: 1040px; margin: 44px auto 0; }
.cps-ob-stat { padding: 6px 20px; border-left: 1px solid #33383E; }
.cps-ob-stat:first-child { border-left: 0; }
.cps-ob-big { font-family: var(--cps-display); font-weight: 700; font-size: 60px; line-height: .95; text-transform: uppercase; color: #fff; white-space: nowrap; }
.cps-ob-big .o { color: var(--cps-orange); display: block; }
.cps-ob-lbl { font-size: 13px; font-weight: 700; letter-spacing: 2px; text-transform: uppercase; color: var(--cps-soft); margin-top: 10px; }
.cps-ob-cta { margin-top: 44px; }
.cps-ob-code { margin: 22px 0 0 !important; font-size: 15px !important; font-weight: 700; letter-spacing: 2.5px; text-transform: uppercase; color: var(--cps-soft) !important; }
.cps-ob-code b { color: var(--cps-orange); }
.cps-ob-foot { margin: 10px 0 0 !important; font-size: 14px !important; color: #8E8A84 !important; }

@media (max-width: 980px) {
  body.cps-restyle h1 { font-size: 48px; }
  body.cps-restyle h2 { font-size: 38px; }
  body.cps-restyle .qodef-title-holder .qodef-page-title { font-size: 48px; }
  .cps-ob-big { font-size: 46px; }
}
@media (max-width: 640px) {
  .cps-wrap { padding: 0 22px; }
  .cps-section { padding: 64px 0; }
  .cps-facts { flex-direction: column; gap: 18px; }
  .cps-ob-stats { grid-template-columns: 1fr; margin-top: 32px; }
  .cps-ob-stat { border-left: 0; border-top: 1px solid #33383E; padding: 22px 0; }
  .cps-ob-stat:first-child { border-top: 0; padding-top: 0; }
  .cps-ob-eyebrow { font-size: 13px !important; letter-spacing: 2.5px; }
  .cps-ob-cta .cps-btn { width: 100%; justify-content: center; }
  body.cps-restyle .cps-btn { width: 100%; justify-content: center; }
}

/* Late fixes (also applied via the cps_extra_css option on dev) */
body.cps-restyle .qodef-main-menu .item_text::before,
body.cps-restyle .qodef-main-menu .item_text::after { display: none !important; }
body.cps-restyle .cps-btn, body.cps-restyle .cps-btn-ghost, body.cps-restyle .qodef-btn { box-sizing: border-box !important; max-width: 100%; }
