/* ==========================================================================
   2nd CCAD Pharmacy Conference 2027 — theme layer
   Loaded after assets/css/style.css. Colors come from the save-the-date:
   CCAD green #0B8442, CCAD blue #0879BF, teal wash #3C948C.
   ========================================================================== */

:root {
  --ccad-green: #0B8442;
  --ccad-green-dark: #086B36;
  --ccad-blue: #0879BF;
  --ccad-teal: #3C948C;
  --ccad-pine: #0B3B31;
  --ccad-pine-2: #0F5747;
  --ccad-ink: #1D2A26;
  --ccad-slate: #4B5753;
  --ccad-paper: #F7F9F5;
  --ccad-mist: #E6F1EB;
  --ccad-line: #D6E3DC;

  --font-display: 'Barlow Condensed', 'Arial Narrow', 'Roboto Condensed', sans-serif;
  --font-body: 'Barlow', 'Segoe UI', Roboto, Arial, sans-serif;

  --nav-h: 105px;
}

html { scroll-padding-top: calc(var(--nav-h) + 16px); }
body {
  font-family: var(--font-body);
  color: var(--ccad-ink);
  background: #fff !important;
}

/* Legacy wrapper uses rounded corners and a fixed viewport height */
main.main-content { max-height: none !important; border-radius: 0 !important; }

:focus-visible { outline: 3px solid var(--ccad-blue); outline-offset: 3px; }

.skip-link {
  position: fixed !important; left: 12px; top: 12px !important; z-index: 2000;
  background: var(--ccad-pine); color: #fff !important; padding: 10px 16px; border-radius: 6px;
  font-weight: 600; text-decoration: none;
}
.skip-link:not(:focus) {
  width: 1px !important; height: 1px !important; padding: 0 !important; overflow: hidden;
  clip-path: inset(50%); white-space: nowrap;
}

/* --------------------------------------------------------------------------
   Page frame + header (retains the original template header:
   white page frame, rounded hero, logos in a white tab with the curved notch)
   -------------------------------------------------------------------------- */
main.main-content { background: #fff; padding: 20px 20px 0 !important; overflow-x: clip; }

#navbar.ccad-nav {
  position: fixed; top: 20px; left: 20px; right: 20px; z-index: 900;
  height: 105px; padding: 0;
  display: grid; grid-template-columns: auto 1fr; align-items: center; gap: 24px;
  background: transparent; border: 0; border-radius: 24px 24px 0 0;
  transition: top .4s var(--ease), background-color .4s ease, box-shadow .4s ease;
  transform: none; opacity: 1;
}
#navbar.ccad-nav.scrolled {
  top: 0; background: var(--ccad-pine); border-radius: 0 0 16px 16px;
  box-shadow: 0 10px 30px rgba(7, 43, 35, .25);
}
#navbar.ccad-nav.hidden { transform: none; opacity: 1; }

.ccad-nav .nav-brand {
  display: flex; align-items: center; align-self: stretch; gap: 20px;
  padding: 0 90px 13px 46px; /* original: 30px + 16px logo inset */ margin: 0; text-decoration: none;
  background: url('data:image/webp;base64,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') no-repeat left bottom / 100% 100%; /* original template tab: assets/images/logo-bg.webp */
  transition: padding .4s ease, background .4s ease;
}
.ccad-nav .nav-brand img { height: 40px; width: auto; }
.ccad-nav .nav-brand .logo-white { display: none; }
.ccad-nav .brand-divider { width: 1px; height: 40px; background: rgba(11, 59, 49, .18); }
.ccad-nav .nav-event {
  font-family: var(--font-display); font-weight: 700; font-size: 17px; line-height: 1.05;
  color: var(--ccad-green); white-space: nowrap;
}
#navbar.ccad-nav.scrolled .nav-brand { background: none; padding: 0 90px 0 46px; }
#navbar.ccad-nav.scrolled .logo-color { display: none; }
#navbar.ccad-nav.scrolled .logo-white { display: block; }
#navbar.ccad-nav.scrolled .brand-divider { background: rgba(255, 255, 255, .3); }
#navbar.ccad-nav.scrolled .nav-event { color: #fff; }

#navbar.ccad-nav > nav {
  display: flex; align-items: center; justify-content: flex-end; gap: 4px;
  margin: 0; padding-right: 28px;
}
#navbar.ccad-nav > nav .nav-link-item,
#navbar.ccad-nav > nav .dropbtn {
  font-family: var(--font-body); font-size: 17px; font-weight: 700; letter-spacing: .3px;
  color: rgba(255, 255, 255, .94); background: none; border: 0; cursor: pointer;
  padding: 10px 14px; border-radius: 6px; text-decoration: none; line-height: 1.2;
  white-space: nowrap; transition: color .2s, background .2s;
}
#navbar.ccad-nav > nav .dropbtn::after {
  content: ''; display: inline-block; width: 7px; height: 7px; margin-left: 8px;
  border-right: 2px solid currentColor; border-bottom: 2px solid currentColor;
  transform: translateY(-3px) rotate(45deg);
}
#navbar.ccad-nav > nav .nav-link-item:hover,
#navbar.ccad-nav > nav .dropbtn:hover,
#navbar.ccad-nav > nav .dropdown:hover > .dropbtn { color: #fff; background: rgba(255, 255, 255, .14); }
#navbar.ccad-nav > nav .is-active { color: #fff; background: rgba(255, 255, 255, .16); }

#navbar.ccad-nav .dropdown { position: relative; }
#navbar.ccad-nav .dropdown-content {
  display: none; position: absolute; top: calc(100% + 8px); left: 0; min-width: 230px;
  margin: 0; padding: 8px; background: var(--ccad-pine); border: 1px solid rgba(255, 255, 255, .12);
  border-radius: 10px; box-shadow: 0 16px 36px rgba(7, 43, 35, .35); z-index: 1000;
}
#navbar.ccad-nav .dropdown-content::before { content: ''; position: absolute; left: 0; right: 0; top: -12px; height: 12px; }
#navbar.ccad-nav .dropdown-content a {
  display: block; padding: 10px 12px; border: 0; border-radius: 6px;
  font-family: var(--font-body); font-size: 15px !important; font-weight: 600;
  color: rgba(255, 255, 255, .92); text-decoration: none;
}
#navbar.ccad-nav .dropdown-content a:hover { background: rgba(255, 255, 255, .1); color: #fff; }
#navbar.ccad-nav .dropdown:hover .dropdown-content,
#navbar.ccad-nav .dropdown.active .dropdown-content { display: block; }

#navbar.ccad-nav > nav a.nav-register {
  margin-left: 12px; padding: 12px 26px !important; border-radius: 25px !important;
  background: var(--ccad-green) !important; color: #fff !important;
  font-family: var(--font-body); font-size: 16px !important; font-weight: 800 !important; letter-spacing: .5px;
  text-decoration: none; box-shadow: 0 4px 14px rgba(11, 132, 66, .35); transition: background .2s;
}
#navbar.ccad-nav > nav a.nav-register:hover { background: var(--ccad-green-dark) !important; }

#navbar.ccad-nav .nav-toggle {
  display: none; width: 46px; height: 46px; margin: 0 0 0 auto; align-items: center; justify-content: center;
  border: 1px solid rgba(255, 255, 255, .2); border-radius: 12px; background: rgba(255, 255, 255, .08); color: #fff;
}

/* Laptop: tighter */
@media (max-width: 1379px) {
  .ccad-nav .nav-brand { padding: 0 60px 12px 38px; gap: 14px; }
  #navbar.ccad-nav.scrolled .nav-brand { padding: 0 60px 0 38px; }
  .ccad-nav .nav-brand img { height: 34px; }
  .ccad-nav .nav-event { font-size: 15px; }
  #navbar.ccad-nav > nav { padding-right: 18px; gap: 2px; }
  #navbar.ccad-nav > nav .nav-link-item,
  #navbar.ccad-nav > nav .dropbtn { font-size: 15px; padding: 8px 10px; }
  #navbar.ccad-nav > nav a.nav-register { font-size: 14px !important; padding: 11px 20px !important; margin-left: 8px; }
}

/* Tablet / mobile: rounded pine bar + hamburger, as in the original template */
@media (max-width: 1199px) {
  main.main-content { padding: 10px 10px 0 !important; }
  #navbar.ccad-nav, #navbar.ccad-nav.scrolled {
    top: 10px; left: 10px; right: 10px; height: auto; min-height: 70px;
    display: flex; padding: 0 12px 0 0; border-radius: 16px;
    background: rgba(11, 59, 49, .96); box-shadow: 0 10px 26px rgba(0, 0, 0, .22);
  }
  .ccad-nav .nav-brand, #navbar.ccad-nav.scrolled .nav-brand {
    background: none; padding: 12px 8px 12px 16px; gap: 12px; min-width: 0;
  }
  .ccad-nav .nav-brand img { height: 30px; }
  .ccad-nav .logo-color { display: none; }
  .ccad-nav .logo-white { display: block !important; }
  .ccad-nav .brand-divider { height: 26px; background: rgba(255, 255, 255, .3); }
  .ccad-nav .nav-event { color: #fff; font-size: 15px; }
  #navbar.ccad-nav .nav-toggle { display: inline-flex; }
  #navbar.ccad-nav > nav {
    display: none; position: absolute; top: calc(100% + 10px); left: 0; right: 0;
    flex-direction: column; align-items: stretch; gap: 4px; padding: 12px;
    background: rgba(11, 59, 49, .98); border: 1px solid rgba(255, 255, 255, .08); border-radius: 18px;
    box-shadow: 0 18px 40px rgba(0, 0, 0, .35); max-height: calc(100vh - 110px); overflow-y: auto;
  }
  #navbar.ccad-nav.menu-open > nav { display: flex; }
  #navbar.ccad-nav > nav .nav-link-item,
  #navbar.ccad-nav > nav .dropbtn { display: block; width: 100%; text-align: left; padding: 14px 12px; font-size: 16px; }
  #navbar.ccad-nav .dropdown:hover .dropdown-content { display: none; }
  #navbar.ccad-nav .dropdown.active .dropdown-content {
    display: block; position: static; box-shadow: none; border: 0; padding: 0 0 6px 14px; background: none;
  }
  #navbar.ccad-nav > nav a.nav-register { margin: 10px 0 0; text-align: center; }
}
@media (max-width: 440px) {
  .ccad-nav .brand-divider, .ccad-nav .nav-event { display: none; }
}

/* --------------------------------------------------------------------------
   Inner page banner (all inner pages share .page-banner)
   -------------------------------------------------------------------------- */
.page-banner {
  position: relative; overflow: hidden; margin-top: 0 !important; border-radius: 24px 24px 0 0;
  padding: 190px 0 clamp(40px, 6vw, 72px) !important;
  background:
    linear-gradient(100deg, var(--ccad-pine) 0%, var(--ccad-pine) 38%, rgba(11, 87, 71, .92) 62%, rgba(60, 148, 140, .55) 100%),
    url('../images/ccad/hero-building.jpg') right 30% / cover no-repeat !important;
  text-align: left;
}
.page-banner::before { display: none !important; }
.page-banner .container { position: relative; z-index: 1; max-width: 1200px; }
.page-banner h1 {
  font-family: var(--font-display) !important; font-weight: 700 !important;
  font-size: clamp(40px, 6vw, 72px) !important; line-height: 1 !important;
  letter-spacing: 0 !important; text-transform: none !important;
  color: #fff !important; margin: 0 0 12px; padding-top: 0 !important;
}
.page-banner .breadcrumb { justify-content: flex-start; margin: 0; }
.page-banner .breadcrumb-item,
.page-banner .breadcrumb-item a {
  font-family: var(--font-body); font-size: 18px; font-weight: 500;
  color: rgba(255, 255, 255, .82) !important; text-transform: none; letter-spacing: 0;
}

/* Inner content headings pick up the display face */
.MemberData h2, .committee-title, .contact-title, .form-title, .chair-heading {
  font-family: var(--font-display) !important; letter-spacing: 0 !important;
}

/* Generic "to be announced" panel (agenda and other pages awaiting content) */
.tba-panel {
  max-width: 820px; margin: clamp(48px, 7vw, 88px) auto; padding: 0 20px;
}
.tba-panel h2 {
  font-family: var(--font-display); font-weight: 700; font-size: clamp(32px, 4vw, 48px);
  color: var(--ccad-pine); line-height: 1.05; margin: 0 0 16px;
}
.tba-panel p { font-size: 18px; line-height: 1.65; color: var(--ccad-slate); max-width: 68ch; }
.tba-panel .tba-meta {
  display: flex; flex-wrap: wrap; gap: 12px 28px; margin: 28px 0 0; padding: 20px 0 0;
  border-top: 1px solid var(--ccad-line); font-weight: 600; color: var(--ccad-pine);
}
.tba-panel .tba-meta i { color: var(--ccad-green); margin-right: 8px; }

/* Buttons used across pages */
.btn-ccad {
  display: inline-flex; align-items: center; gap: 10px;
  padding: 14px 30px; border-radius: 999px; border: 2px solid var(--ccad-green);
  background: var(--ccad-green); color: #fff; font-weight: 700; font-size: 17px;
  text-decoration: none; transition: background .2s, color .2s, border-color .2s;
}
.btn-ccad:hover { background: var(--ccad-green-dark); border-color: var(--ccad-green-dark); color: #fff; }
.btn-ccad.is-ghost { background: transparent; color: var(--ccad-green-dark); }
.btn-ccad.is-ghost:hover { background: var(--ccad-mist); color: var(--ccad-green-dark); }

/* --------------------------------------------------------------------------
   Footer — same layout as the original template (inside the white page frame,
   rounded bottom corners, 4 columns, centered bottom line), in CCAD colors
   -------------------------------------------------------------------------- */
#footer.ccad-footer {
  background: #072B23; margin: 0 20px 20px; padding: 60px 48px;
  border-top: 1px solid rgba(76, 195, 138, .12); border-radius: 0 0 24px 24px;
  color: rgba(255, 255, 255, .72);
}
.ccad-footer .footer-inner {
  max-width: 1300px; margin: 0 auto;
  display: grid; grid-template-columns: 1.35fr .95fr 1fr 1.3fr; gap: 56px; align-items: start;
}
.ccad-footer .footer-brand { display: flex; flex-direction: column; min-width: 0; }

/* Event lockup in place of the old event logo image (same 280 x 150 footprint) */
.ccad-footer .footer-lockup {
  display: block; max-width: 280px; text-decoration: none; font-family: var(--font-display); line-height: .92;
}
.ccad-footer .footer-lockup > span { display: block; }
.ccad-footer .fl-edition { font-size: 20px; font-weight: 700; color: #fff; margin-bottom: 4px; }
.ccad-footer .fl-edition sup { font-size: .6em; vertical-align: .6em; }
.ccad-footer .fl-word { font-size: 68px; font-weight: 800; text-transform: uppercase; color: #fff; letter-spacing: .5px; }
.ccad-footer .fl-conf { font-size: 31px; font-weight: 700; text-transform: uppercase; color: #4CC38A; margin-top: 2px; }

.ccad-footer .footer-col { min-width: 0; }
.ccad-footer .footer-col h4 {
  font-family: var(--font-body); font-size: 14px; font-weight: 700; line-height: 1.2;
  color: #4CC38A; letter-spacing: 3px; text-transform: uppercase; margin: 0 0 18px;
}
.ccad-footer ul { list-style: none; margin: 0; padding: 0; }
.ccad-footer ul li { margin-bottom: 10px; }
.ccad-footer ul li a { color: rgba(255, 255, 255, .72); text-decoration: none; font-size: 14px; line-height: 1.6; transition: color .2s; }
.ccad-footer ul li a:hover { color: #4CC38A; }
.ccad-footer .footer-contact p { font-size: 14px; color: rgba(255, 255, 255, .72); line-height: 1.7; margin: 0 0 8px; }
.ccad-footer .footer-contact a { color: #4CC38A; text-decoration: none; }
.ccad-footer .footer-contact a:hover { text-decoration: underline; }

.ccad-footer .footer-logos { display: flex; flex-direction: column; align-items: flex-start; gap: 18px; min-width: 0; }
.ccad-footer .footer-presented,
.ccad-footer .managed-tag {
  font-size: 11px; color: rgba(255, 255, 255, .42); letter-spacing: 2px; margin: 0 0 6px; line-height: 1.2;
}
.ccad-footer .footer-logo-row { display: flex; align-items: center; gap: 18px; flex-wrap: nowrap; }
.ccad-footer .footer-logo-ccad { height: 36px; width: auto; flex: 0 0 auto; }
.ccad-footer .footer-logo-divider { width: 1px; height: 28px; background: rgba(76, 195, 138, .35); flex: 0 0 auto; }
.ccad-footer .footer-logo-dept { font-size: 12px; line-height: 1.3; color: rgba(255, 255, 255, .85); white-space: nowrap; }
.ccad-footer .footer-logo-mco {
  display: block; width: 118px; height: 42px; flex: 0 0 auto;
  background: url('../images/mco-white.png') no-repeat left center / contain;
}

.ccad-footer .footer-divider { width: 100%; height: 1px; background: rgba(76, 195, 138, .12); margin: 36px 0 18px; }
.ccad-footer .footer-bottom {
  max-width: 100%; margin: 0 auto; padding: 0; border: 0; display: block;
  text-align: center; font-size: 12px; color: rgba(255, 255, 255, .3); white-space: nowrap;
}
.ccad-footer .footer-bottom a { color: rgba(76, 195, 138, .75); text-decoration: none; }
.ccad-footer .footer-bottom a:hover { color: #4CC38A; }

@media (max-width: 1200px) {
  .ccad-footer .footer-inner { grid-template-columns: 1fr 1fr; gap: 40px; }
}
@media (max-width: 1199px) {
  #footer.ccad-footer { margin: 0 10px 10px; border-radius: 0 0 16px 16px; }
}
@media (max-width: 900px) {
  #footer.ccad-footer { padding: 48px 24px; }
  .ccad-footer .footer-inner { grid-template-columns: 1fr; gap: 40px; }
  .ccad-footer .footer-bottom { white-space: normal; padding: 0 10px; }
}
@media (max-width: 480px) {
  .ccad-footer .footer-logo-row { flex-wrap: wrap; gap: 10px 18px; }
  .ccad-footer .footer-logo-divider { display: none; }
  .ccad-footer .footer-logo-dept { flex-basis: 100%; }
}



/* Hamburger icon */
#navbar.ccad-nav .nav-toggle span,
#navbar.ccad-nav .nav-toggle span::before,
#navbar.ccad-nav .nav-toggle span::after {
  content: ''; display: block; position: relative; width: 20px; height: 2px;
  border-radius: 2px; background: currentColor; transition: transform .2s ease, background .2s ease;
}
#navbar.ccad-nav .nav-toggle span::before { position: absolute; top: -6px; }
#navbar.ccad-nav .nav-toggle span::after { position: absolute; top: 6px; }
#navbar.ccad-nav.menu-open .nav-toggle span { background: transparent; }
#navbar.ccad-nav.menu-open .nav-toggle span::before { transform: translateY(6px) rotate(45deg); }
#navbar.ccad-nav.menu-open .nav-toggle span::after { transform: translateY(-6px) rotate(-45deg); }

@media (max-width: 1199px) {
  .page-banner { padding-top: 130px !important; border-radius: 16px 16px 0 0; }
}

/* ==========================================================================
   REVERSED SCHEME (v2): blue-green outer frame, white / light inner sections
   Overrides the rules above. Frame colour also used for the logo tab.
   ========================================================================== */
:root {
  --frame: #0879BF;  /* top of the save-the-date wash: used for the logo tab and solid bars */
  --frame-gradient: #0879BF;
}
html, body { background: var(--frame) !important; background-color: var(--frame) !important; }
/* Frame colour in the padding, white page content inside it
   (top 30px stays frame-coloured so the banner's rounded corners show the frame) */
main.main-content {
  display: flow-root; /* keep child margins inside the white area */
  background: linear-gradient(to bottom, transparent 0, transparent 30px, #fff 30px) content-box !important;
}

/* Header tab: now the frame colour, with the white CCAD logo inside */
.ccad-nav .nav-brand { background-image: url('data:image/webp;base64,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') !important; } /* assets/images/logo-bg-bluegreen.webp */
#navbar.ccad-nav .nav-brand .logo-color { display: none !important; }
#navbar.ccad-nav .nav-brand .logo-white { display: block !important; }
#navbar.ccad-nav .brand-divider { background: rgba(255, 255, 255, .38) !important; }
#navbar.ccad-nav .nav-event { color: #fff !important; }

/* Menu over light hero / banners */
#navbar.ccad-nav > nav .nav-link-item,
#navbar.ccad-nav > nav .dropbtn { color: var(--ccad-pine); }
#navbar.ccad-nav > nav .nav-link-item:hover,
#navbar.ccad-nav > nav .dropbtn:hover,
#navbar.ccad-nav > nav .dropdown:hover > .dropbtn { color: var(--ccad-green-dark); background: rgba(11, 59, 49, .07); }
#navbar.ccad-nav > nav .is-active { color: var(--ccad-green-dark); background: rgba(11, 132, 66, .12); }
#navbar.ccad-nav .dropdown-content { background: #fff; border-color: var(--ccad-line); box-shadow: 0 16px 36px rgba(11, 59, 49, .14); }
#navbar.ccad-nav .dropdown-content a { color: var(--ccad-ink); }
#navbar.ccad-nav .dropdown-content a:hover { background: var(--ccad-mist); color: var(--ccad-green-dark); }

/* Scrolled bar = frame colour, white menu */
#navbar.ccad-nav.scrolled { background: var(--frame); box-shadow: 0 10px 30px rgba(20, 70, 110, .25); }
#navbar.ccad-nav.scrolled > nav .nav-link-item,
#navbar.ccad-nav.scrolled > nav .dropbtn { color: #fff; }
#navbar.ccad-nav.scrolled > nav .nav-link-item:hover,
#navbar.ccad-nav.scrolled > nav .dropbtn:hover,
#navbar.ccad-nav.scrolled > nav .dropdown:hover > .dropbtn,
#navbar.ccad-nav.scrolled > nav .is-active { color: #fff; background: rgba(255, 255, 255, .16); }

@media (max-width: 1199px) {
  #navbar.ccad-nav, #navbar.ccad-nav.scrolled { background: rgba(8, 121, 191, .97); box-shadow: 0 10px 26px rgba(20, 70, 110, .25); }
  #navbar.ccad-nav > nav { background: var(--frame); border-color: rgba(255, 255, 255, .12); }
  #navbar.ccad-nav > nav .nav-link-item,
  #navbar.ccad-nav > nav .dropbtn { color: #fff; }
  #navbar.ccad-nav > nav .nav-link-item:hover,
  #navbar.ccad-nav > nav .dropbtn:hover,
  #navbar.ccad-nav > nav .is-active { color: #fff; background: rgba(255, 255, 255, .14); }
  #navbar.ccad-nav .dropdown.active .dropdown-content a { color: rgba(255, 255, 255, .92); }
  #navbar.ccad-nav .dropdown.active .dropdown-content a:hover { background: rgba(255, 255, 255, .1); color: #fff; }
  #navbar.ccad-nav .nav-toggle { border-color: rgba(255, 255, 255, .3); background: rgba(255, 255, 255, .1); color: #fff; }
}

/* Inner page banner: light, building on the right (like the save-the-date) */
.page-banner {
  background:
    linear-gradient(100deg, #F4F8F6 0%, #F4F8F6 38%, rgba(244, 248, 246, .88) 58%, rgba(244, 248, 246, .25) 100%),
    url('../images/ccad/hero-building.jpg') right 30% / cover no-repeat !important;
}
.page-banner h1 { color: var(--ccad-green) !important; }
.page-banner .breadcrumb-item,
.page-banner .breadcrumb-item a { color: var(--ccad-slate) !important; }

/* Footer: light panel inside the frame */
#footer.ccad-footer { background: #F4F8F6; border-top: 1px solid var(--ccad-line); color: var(--ccad-slate); }
.ccad-footer .fl-edition { color: var(--ccad-green); }
.ccad-footer .fl-word { color: var(--ccad-green); }
.ccad-footer .fl-conf { color: var(--ccad-blue); }
.ccad-footer .footer-col h4 { color: #0879BF; }
.ccad-footer ul li a { color: var(--ccad-slate); }
.ccad-footer ul li a:hover { color: var(--ccad-green-dark); }
.ccad-footer .footer-contact p { color: var(--ccad-slate); }
.ccad-footer .footer-contact a { color: var(--ccad-green-dark); }
.ccad-footer .footer-presented,
.ccad-footer .managed-tag { color: rgba(75, 87, 83, .75); }
.ccad-footer .footer-logo-divider { background: rgba(11, 59, 49, .2); }
.ccad-footer .footer-logo-dept { color: var(--ccad-ink); }
.ccad-footer .footer-logo-mco { background-image: url('../../uploads/mcologo_1774338324.svg'); }
.ccad-footer .footer-divider { background: var(--ccad-line); }
.ccad-footer .footer-bottom { color: rgba(75, 87, 83, .8); }
.ccad-footer .footer-bottom a { color: var(--ccad-green-dark); }

/* Desktop: menu + Register as one group, centered in the space right of the logo tab */
@media (min-width: 1200px) {
  #navbar.ccad-nav { column-gap: 0; }
  #navbar.ccad-nav > nav { justify-content: flex-start; padding-left: 0; padding-right: 0; }
  #navbar.ccad-nav > nav > :first-child { margin-left: auto; }
  #navbar.ccad-nav > nav > a.nav-register { margin-left: 16px !important; margin-right: auto; }
}

/* Footer: official event logo */
.ccad-footer .footer-lockup { width: 280px; max-width: 100%; }
.ccad-footer .footer-lockup img { display: block; width: 100%; height: auto; }

/* Event wordmark (official asset) in the header tab, next to the CCAD logo */
#navbar.ccad-nav .nav-brand img.nav-event-logo { height: 36px; width: auto; display: block; }
@media (max-width: 1379px) { #navbar.ccad-nav .nav-brand img.nav-event-logo { height: 31px; } }
@media (max-width: 1199px) { #navbar.ccad-nav .nav-brand img.nav-event-logo { height: 26px; } }
@media (max-width: 440px)  { #navbar.ccad-nav .nav-brand img.nav-event-logo { display: none; } }

/* Register button on the blue bar (scrolled / mobile): white pill, green text */
#navbar.ccad-nav.scrolled > nav a.nav-register {
  background: #fff !important; color: var(--ccad-green-dark) !important;
  box-shadow: 0 4px 14px rgba(20, 70, 110, .25);
}
#navbar.ccad-nav.scrolled > nav a.nav-register:hover { background: var(--ccad-mist) !important; color: var(--ccad-green-dark) !important; }
@media (max-width: 1199px) {
  #navbar.ccad-nav > nav a.nav-register { background: #fff !important; color: var(--ccad-green-dark) !important; box-shadow: none; }
  #navbar.ccad-nav > nav a.nav-register:hover { background: var(--ccad-mist) !important; }
}
@media (max-width: 1199px) {
  #navbar.ccad-nav > nav .dropdown > .dropbtn {
    color: #fff !important; opacity: 1 !important; font-size: 16px !important; font-weight: 700 !important;
    text-transform: none !important; letter-spacing: .3px !important; padding: 14px 12px !important;
    pointer-events: auto !important; cursor: pointer !important;
  }
}

/* Menu v2 (Home, Agenda, Facilitators, Events, Venue, Industry and Exhibitions, Gallery, Contact Us):
   more items, so the desktop sizes step down earlier to keep everything on one line */
#navbar.ccad-nav .dropdown-content .dropdown-label {
  display: block; padding: 8px 12px 4px; font-size: 12px; font-weight: 700; letter-spacing: .4px;
  color: var(--ccad-slate); text-transform: uppercase;
}
@media (min-width: 1200px) and (max-width: 1599px) {
  #navbar.ccad-nav > nav { gap: 2px; }
  #navbar.ccad-nav > nav .nav-link-item,
  #navbar.ccad-nav > nav .dropdown > .dropbtn { font-size: 15px; padding: 8px 10px; }
  #navbar.ccad-nav > nav a.nav-register { font-size: 14px !important; padding: 11px 20px !important; margin-left: 10px !important; }
}
@media (min-width: 1200px) and (max-width: 1299px) {
  .ccad-nav .nav-brand { padding-right: 48px; }
  #navbar.ccad-nav > nav { gap: 0; }
  #navbar.ccad-nav > nav .nav-link-item,
  #navbar.ccad-nav > nav .dropdown > .dropbtn { font-size: 14px; padding: 8px 8px; letter-spacing: 0; }
  #navbar.ccad-nav > nav .dropbtn::after { margin-left: 6px; }
  #navbar.ccad-nav > nav a.nav-register { font-size: 13px !important; padding: 10px 16px !important; margin-left: 8px !important; }
}
@media (max-width: 1199px) {
  #navbar.ccad-nav .dropdown-content .dropdown-label { color: rgba(255, 255, 255, .65); padding-left: 12px; }
}

/* Inner page banners v3: the building is shown almost in full (at least 80% of its height),
   small and clear on the right, instead of a zoomed, faded crop */
.page-banner {
  background: #FAFBF5 !important;   /* same tone as the image's own background */
  min-height: 490px; display: flex; flex-direction: column; justify-content: flex-end;
}
.page-banner::after {
  content: ''; position: absolute; right: 0; top: 64px; bottom: 0; width: min(64%, 860px);
  /* image height = banner area / 0.8, anchored to the top: the roof stays in view, only the lowest fifth is cut */
  background: url('../images/ccad/hero-building-fade.webp?v=2') right top / auto 125% no-repeat;
  pointer-events: none;
}
@media (max-width: 1199px) { .page-banner { min-height: 410px; } .page-banner::after { top: 78px; } }
@media (max-width: 700px)  { .page-banner { min-height: 330px; } .page-banner::after { width: 78%; opacity: .45; } }

/* Logo tab spacing: larger logo, more blue to the right of and below it (desktop) */
@media (min-width: 1200px) {
  #navbar.ccad-nav:not(.scrolled) { grid-template-rows: 105px; }
  #navbar.ccad-nav .nav-brand img { height: 46px !important; }
  #navbar.ccad-nav:not(.scrolled) .nav-brand { padding: 0 136px 50px 76px !important; align-self: start !important; height: 123px; }
}
@media (min-width: 1200px) and (max-width: 1379px) {
  #navbar.ccad-nav .nav-brand img { height: 40px !important; }
  #navbar.ccad-nav:not(.scrolled) .nav-brand { padding: 0 100px 50px 64px !important; }
}
@media (min-width: 1200px) and (max-width: 1299px) {
  #navbar.ccad-nav .nav-brand img { height: 38px !important; }
  #navbar.ccad-nav:not(.scrolled) .nav-brand { padding-right: 84px !important; }
}

/* Inner page banners v4: plain white, no building, centred title */
.page-banner {
  background: #FFFFFF !important;
  min-height: 0 !important; display: flex; flex-direction: column; justify-content: center;
  padding: 170px 0 64px !important; text-align: center !important;
  border-bottom: 1px solid #E6EEEA;
}
/* edge decoration: blue dot grid on the left */
section.page-banner::before {
  content: '' !important; display: block !important; position: absolute; z-index: 0; pointer-events: none;
  left: clamp(28px, 4vw, 72px); top: 150px; width: 144px; height: 108px;
  background-image: radial-gradient(circle, rgba(8, 121, 191, .32) 2px, transparent 2.6px);
  background-size: 18px 18px; background-color: transparent !important;
}
section.page-banner::after { display: none !important; content: none !important; }
.page-banner .container { display: flex; flex-direction: column; align-items: center; }
.page-banner h1 {
  font-family: 'Exo', 'Barlow', sans-serif !important; font-weight: 800 !important;
  font-size: clamp(38px, 4.6vw, 64px) !important; line-height: 1.08 !important;
  color: #0879BF !important; margin: 0 !important; padding-top: 0 !important; text-align: center;
}
.page-banner h1::after {
  content: ''; display: block; width: 64px; height: 4px; border-radius: 4px;
  background: #0B8442; margin: 18px auto 0;
}
.page-banner .breadcrumb { justify-content: center !important; margin: 16px 0 0 !important; padding: 0; }
.page-banner .breadcrumb-item,
.page-banner .breadcrumb-item a {
  font-family: 'Exo', 'Barlow', sans-serif !important; font-size: 17px; font-weight: 500;
  color: #4B5753 !important; letter-spacing: .3px;
}
@media (max-width: 1199px) { .page-banner { padding: 128px 0 48px !important; } section.page-banner::before { top: 110px; width: 108px; height: 72px; } }
@media (max-width: 700px)  { .page-banner { padding: 112px 0 40px !important; } section.page-banner::before { display: none !important; } .page-banner h1::after { margin-top: 14px; } }

/* Footer: even spacing around the copyright line (was 18px above, 60px below) */
#footer.ccad-footer { padding-bottom: 22px; }
.ccad-footer .footer-divider { margin: 40px 0 22px; }
.ccad-footer .footer-bottom { line-height: 1.6; }
@media (max-width: 1199px) { #footer.ccad-footer { padding-bottom: 20px; } .ccad-footer .footer-divider { margin: 32px 0 20px; } }
