
/* Claude Charity Elementor Addons – elegant, premium-look UI */
:root {
  --ccf-radius: 22px;
  --ccf-shadow: 0 18px 50px rgba(11,18,32,.12);
  --ccf-border: rgba(11,18,32,.08);
}

.ccf-container{
  max-width: 1180px;
  margin: 0 auto;
}

.ccf-grid{
  display: grid;
  gap: 18px;
}
.ccf-grid--2{ grid-template-columns: repeat(2, minmax(0, 1fr)); }
.ccf-grid--3{ grid-template-columns: repeat(3, minmax(0, 1fr)); }
.ccf-grid--4{ grid-template-columns: repeat(4, minmax(0, 1fr)); }

@media (max-width: 1024px){
  .ccf-grid--4{ grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .ccf-grid--3{ grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 640px){
  .ccf-grid--2,
  .ccf-grid--3,
  .ccf-grid--4{ grid-template-columns: 1fr; }
}

.ccf-section{
  padding: 64px 16px;
}

.ccf-section__head{ margin-bottom: 18px; }
.ccf-section__title{
  font-size: clamp(28px, 3.2vw, 42px);
  line-height: 1.08;
  margin: 0 0 10px;
  letter-spacing: -0.02em;
}
.ccf-section__intro{
  margin: 0;
  max-width: 70ch;
  font-size: 16px;
  opacity: .9;
}

/* Buttons */
.ccf-btn{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  padding: 12px 18px;
  border-radius: 999px;
  text-decoration: none !important;
  font-weight: 700;
  border: 1px solid transparent;
  transition: transform .18s ease, box-shadow .18s ease, background .18s ease, color .18s ease, border-color .18s ease;
}
.ccf-btn:hover{ transform: translateY(-1px); box-shadow: 0 12px 30px rgba(11,18,32,.14); }

/* Hero */
.ccf-hero{
  position: relative;
  overflow: hidden;
  border-radius: calc(var(--ccf-radius) + 10px);
}
.ccf-hero__inner{
  max-width: 1180px;
  margin: 0 auto;
  padding: 0 16px;
}
.ccf-hero__glow{
  position:absolute;
  inset:-40%;
  filter: blur(30px);
  opacity:.35;
  pointer-events:none;
}
.ccf-hero__card{
  position: relative;
  margin: 0 auto;
  max-width: 840px;
  border-radius: var(--ccf-radius);
  box-shadow: var(--ccf-shadow);
  border: 1px solid var(--ccf-border);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  padding: clamp(22px, 3vw, 34px);
}
.ccf-kicker{ margin-bottom: 10px; }
.ccf-badge{
  display:inline-flex;
  align-items:center;
  gap:10px;
  padding: 8px 12px;
  color: #fff;
  border-radius: 999px;
  font-weight: 800;
  letter-spacing: .02em;
  font-size: 12px;
}
.ccf-hero__headline{
  margin: 0 0 12px;
  font-size: clamp(34px, 4vw, 56px);
  line-height: 1.02;
  letter-spacing: -0.03em;
}
.ccf-hero__subhead{
  margin: 0 0 18px;
  font-size: 16px;
  line-height: 1.6;
  opacity: .95;
}
.ccf-highlights{
  display:flex;
  flex-wrap:wrap;
  gap: 10px 12px;
  margin: 10px 0 18px;
}
.ccf-highlight{
  display:inline-flex;
  align-items:center;
  gap: 10px;
  padding: 10px 12px;
  border-radius: 999px;
  background: rgba(11,18,32,.06);
  border: 1px solid rgba(11,18,32,.06);
  font-weight: 700;
  font-size: 13px;
}
.ccf-highlight__dot{ width: 10px; height: 10px; border-radius: 999px; }
.ccf-hero__actions{ display:flex; flex-wrap:wrap; gap: 10px; }

.ccf-btn--primary{ color:#0B1220; }
.ccf-btn--secondary{ background: transparent; }

/* Content */
.ccf-content__eyebrow{
  font-weight: 800;
  letter-spacing: .06em;
  text-transform: uppercase;
  font-size: 12px;
  opacity: .9;
  display:flex;
  align-items:center;
  gap: 10px;
  margin-bottom: 10px;
}
.ccf-content__eyebrow:before{
  content:"";
  width: 34px;
  height: 2px;
  border-radius: 999px;
  display:inline-block;
}
.ccf-content__title{
  font-size: clamp(28px, 3vw, 42px);
  margin: 0 0 12px;
  letter-spacing: -0.02em;
}
.ccf-content__body{
  max-width: 78ch;
  opacity: .95;
}
.ccf-content__block{
  background: rgba(255,255,255,.92);
  border-radius: var(--ccf-radius);
  box-shadow: var(--ccf-shadow);
  border: 1px solid var(--ccf-border);
  padding: 18px 18px 16px;
  border-top: 4px solid transparent;
}
.ccf-content__block-title{
  margin: 0 0 8px;
  letter-spacing: -0.01em;
}
.ccf-content__block-text p{ margin: 0; opacity: .92; }

/* Program Cards */
.ccf-card{
  position: relative;
  border-radius: var(--ccf-radius);
  box-shadow: var(--ccf-shadow);
  border: 1px solid var(--ccf-border);
  padding: 18px;
  overflow:hidden;
  transition: transform .18s ease, box-shadow .18s ease;
}
.ccf-card:hover{ transform: translateY(-2px); box-shadow: 0 22px 60px rgba(11,18,32,.16); }
.ccf-card:before{
  content:"";
  position:absolute;
  inset: 0 auto auto 0;
  width: 110px;
  height: 110px;
  border-radius: 999px;
  transform: translate(-35%, -35%);
  opacity: .18;
  filter: blur(0px);
}
.ccf-card__icon{
  width: 44px;
  height: 44px;
  border-radius: 14px;
  display:flex;
  align-items:center;
  justify-content:center;
  color: #0B1220;
  margin-bottom: 10px;
}
.ccf-card__title{
  margin: 0 0 8px;
  font-size: 18px;
  letter-spacing: -0.01em;
}
.ccf-card__text{ opacity: .92; line-height: 1.55; }
.ccf-card__link{
  display:inline-flex;
  gap: 8px;
  margin-top: 12px;
  font-weight: 800;
  text-decoration: none !important;
}
.ccf-card__link:hover{ text-decoration: underline !important; }

/* Icon Cards */
.ccf-ic{
  position: relative;
  border-radius: var(--ccf-radius);
  border: 1px solid var(--ccf-border);
  padding: 16px 16px 14px;
  box-shadow: var(--ccf-shadow);
  overflow:hidden;
}
.ccf-ic:before{
  content:"";
  position:absolute;
  inset: auto -80px -80px auto;
  width: 180px;
  height: 180px;
  border-radius: 999px;
  opacity:.12;
}
.ccf-ic--glass{
  background: rgba(255,255,255,.75);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
}
.ccf-ic__icon{
  font-size: 22px;
  margin-bottom: 10px;
}
.ccf-ic__title{ margin: 0 0 6px; font-size: 16px; }
.ccf-ic__text{ margin: 0; opacity: .92; line-height: 1.55; }

/* CTA */
.ccf-cta{
  padding: 56px 16px;
  border-radius: calc(var(--ccf-radius) + 10px);
  overflow:hidden;
  position: relative;
}
.ccf-cta__inner{
  display:flex;
  align-items:center;
  justify-content: space-between;
  gap: 18px;
  max-width: 1180px;
  margin: 0 auto;
}
.ccf-cta__badge{
  display:inline-flex;
  padding: 8px 12px;
  border-radius: 999px;
  font-weight: 900;
  color: #0B1220;
  margin-bottom: 10px;
}
.ccf-cta__title{
  margin: 0 0 8px;
  font-size: clamp(26px, 3vw, 40px);
  letter-spacing: -0.02em;
}
.ccf-cta__text{ margin:0; opacity: .95; max-width: 70ch; }
.ccf-cta__actions{ display:flex; gap: 10px; flex-wrap:wrap; }
.ccf-cta__btn--secondary{
  background: rgba(255,255,255,.85);
  border-color: rgba(11,18,32,.12);
  color: #0B1220;
}

/* Counters */
.ccf-counter{
  border-radius: var(--ccf-radius);
  border: 1px solid var(--ccf-border);
  background: rgba(255,255,255,.9);
  box-shadow: var(--ccf-shadow);
  padding: 16px;
}
.ccf-counter__value{
  font-size: clamp(26px, 3vw, 40px);
  font-weight: 950;
  letter-spacing: -0.03em;
}
.ccf-counter__label{ opacity:.85; font-weight:700; }

/* FAQ */
.ccf-faq__list{ display:flex; flex-direction:column; gap: 12px; }
.ccf-faq__item{
  border-radius: var(--ccf-radius);
  border: 1px solid var(--ccf-border);
  background: rgba(255,255,255,.92);
  box-shadow: var(--ccf-shadow);
  overflow:hidden;
}
.ccf-faq__toggle{
  width:100%;
  text-align:left;
  border:0;
  background:transparent;
  padding: 16px 16px;
  display:flex;
  align-items:center;
  justify-content: space-between;
  gap: 10px;
  cursor:pointer;
  border-left: 5px solid transparent;
}
.ccf-faq__q{ font-weight: 850; }
.ccf-faq__icon{ font-size: 22px; font-weight: 900; }
.ccf-faq__panel{ padding: 0 16px 16px; }
.ccf-faq__a{ opacity: .92; }

/* Testimonials */
.ccf-t{
  border-radius: var(--ccf-radius);
  border: 1px solid var(--ccf-border);
  background: rgba(255,255,255,.9);
  box-shadow: var(--ccf-shadow);
  overflow:hidden;
}
.ccf-t__track{ display:flex; transition: transform .45s ease; }
.ccf-t__slide{ min-width: 100%; padding: 18px; }
.ccf-t__card{ border-radius: calc(var(--ccf-radius) - 6px); padding: 18px; background: rgba(11,18,32,.03); }
.ccf-t__quote{
  position: relative;
  font-size: 18px;
  line-height: 1.6;
  margin: 0 0 14px;
  padding-left: 6px;
}
.ccf-t__quote:before{
  content:"“";
  position:absolute;
  left:-10px;
  top:-18px;
  font-size: 60px;
  opacity: .35;
  line-height: 1;
}
.ccf-t__meta{
  display:flex;
  flex-direction:column;
  gap: 2px;
  opacity:.92;
}
.ccf-t__nav{
  display:flex;
  align-items:center;
  justify-content:center;
  gap: 12px;
  padding: 12px 16px 16px;
}
.ccf-t__btn{
  border-radius: 999px;
  border: 1px solid rgba(11,18,32,.14);
  background: rgba(255,255,255,.9);
  padding: 8px 12px;
  cursor:pointer;
}
.ccf-t__dots{ display:flex; gap: 6px; }
.ccf-t__dot{
  width: 8px; height: 8px; border-radius: 999px;
  background: rgba(11,18,32,.18);
}

/* Animations */
[data-ccf-animate]{
  opacity: 0;
  transform: translateY(12px);
  transition: opacity .55s ease, transform .55s ease;
}
.ccf-inview[data-ccf-animate]{
  opacity: 1;
  transform: translateY(0);
}


/* Elementor editor: never hide animated elements (prevents blank canvas while editing) */
body.elementor-editor-active [data-ccf-animate],
body.elementor-editor-preview [data-ccf-animate],
html.elementor-html body [data-ccf-animate]{
  opacity: 1 !important;
  transform: none !important;
}


/* Icon Cards icon sizing fix (Elementor renders <i> or <svg>) */
.ccf-ic__icon{
  width: 44px;
  height: 44px;
  border-radius: 14px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: rgba(11,18,32,.06);
  border: 1px solid rgba(11,18,32,.08);
  line-height: 1;
}
.ccf-ic__icon i{
  font-size: 22px;
  line-height: 1;
}
.ccf-ic__icon svg{
  fill: currentColor;
  stroke: currentColor;
  width: 22px;
  height: 22px;
  display: block;
}
.ccf-ic__icon .elementor-icon{
  font-size: 22px;
  width: auto;
  height: auto;
}
.ccf-ic__icon .elementor-icon svg{
  width: 22px;
  height: 22px;
}


/* Optional: disable hover lift */
.ccf-card--nohover:hover{ transform:none; box-shadow: var(--ccf-shadow); }


/* ---------- Theme Palette Variables ---------- */
:root{
  --ccf-primary: #0B2C5F;
  --ccf-secondary: #FF8A00;
  --ccf-text: #1F2937;
  --ccf-accent: #6B63B5;
  --ccf-bg: #FFFFFF;
  --ccf-custom1: #F5B15C;
}

/* Fancy Utilities */
.ccf-pattern{
  position:absolute; inset:0;
  pointer-events:none;
  opacity:.18;
  background-image:
    radial-gradient(circle at 20% 30%, rgba(245,177,92,.55) 0 2px, transparent 3px),
    radial-gradient(circle at 70% 20%, rgba(107,99,181,.45) 0 2px, transparent 3px),
    radial-gradient(circle at 80% 70%, rgba(11,44,95,.40) 0 2px, transparent 3px);
  background-size: 26px 26px;
  mask-image: linear-gradient(to bottom, rgba(0,0,0,.9), rgba(0,0,0,.2));
}
.ccf-shapes{ position:absolute; inset:0; pointer-events:none; }
.ccf-shapes .s1, .ccf-shapes .s2, .ccf-shapes .s3{
  position:absolute;
  filter: blur(22px);
  opacity:.55;
  border-radius: 999px;
  transform: translateZ(0);
  animation: ccfFloat 10s ease-in-out infinite;
}
.ccf-shapes .s1{ width: 240px; height: 240px; left: -80px; top: -90px; background: rgba(245,177,92,.55); }
.ccf-shapes .s2{ width: 320px; height: 320px; right: -120px; top: 10%; background: rgba(107,99,181,.35); animation-duration: 12s; }
.ccf-shapes .s3{ width: 260px; height: 260px; left: 10%; bottom: -120px; background: rgba(11,44,95,.25); animation-duration: 14s; }

@keyframes ccfFloat{
  0%,100%{ transform: translate(0,0) scale(1); }
  50%{ transform: translate(10px,-12px) scale(1.02); }
}

.ccf-btn--shimmer{
  position: relative;
  overflow: hidden;
}
.ccf-btn--shimmer:after{
  content:"";
  position:absolute; inset:-40% -60%;
  background: linear-gradient(120deg, transparent 35%, rgba(255,255,255,.55) 50%, transparent 65%);
  transform: translateX(-60%) rotate(10deg);
  animation: ccfShimmer 2.8s ease-in-out infinite;
  pointer-events:none;
  opacity:.55;
}
@keyframes ccfShimmer{
  0%{ transform: translateX(-60%) rotate(10deg); }
  60%{ transform: translateX(40%) rotate(10deg); }
  100%{ transform: translateX(40%) rotate(10deg); }
}

/* Ensure editor never hides animated elements */
body.elementor-editor-active [data-ccf-animate],
body.elementor-editor-preview [data-ccf-animate]{
  opacity: 1 !important;
  transform: none !important;
}


/* ---------- Advanced Banner ---------- */
.ccf-ab{ position:relative; overflow:hidden; border-radius: calc(var(--ccf-radius) + 10px); }
.ccf-ab__overlay{ position:absolute; inset:0; background: linear-gradient(120deg, rgba(11,44,95,.25), rgba(107,99,181,.18)); opacity:.20; pointer-events:none; }
.ccf-ab__grid{ display:grid; gap: 18px; grid-template-columns: 1.2fr .8fr; align-items: center; }
.ccf-ab--center .ccf-ab__grid{ grid-template-columns: 1fr; text-align:center; }
.ccf-ab--center .ccf-ab__media{ display:none; }
.ccf-ab__content{ position:relative; z-index:1; }
.ccf-ab__card{
  border-radius: var(--ccf-radius);
  border: 1px solid var(--ccf-border);
  box-shadow: var(--ccf-shadow);
  padding: clamp(22px, 3vw, 34px);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
}
.ccf-ab__badge{ display:inline-flex; padding: 8px 12px; border-radius: 999px; font-weight: 900; color:#fff; background: var(--ccf-secondary); }
.ccf-ab__title{ margin: 14px 0 12px; font-size: clamp(34px, 4vw, 56px); line-height: 1.02; letter-spacing: -0.03em; color: var(--ccf-primary); }
.ccf-ab__subtitle{ margin:0 0 16px; max-width: 70ch; opacity:.95; line-height:1.6; }
.ccf-ab__actions{ display:flex; flex-wrap:wrap; gap: 10px; margin-top: 8px; }
.ccf-ab__btn--solid{ background: var(--ccf-secondary); border-color: var(--ccf-secondary); color:#0B1220; }
.ccf-ab__btn--outline{ background: transparent; border-color: var(--ccf-primary); color: var(--ccf-primary); }
.ccf-ab__stats{ margin-top: 18px; display:grid; gap: 10px; grid-template-columns: repeat(3, minmax(0, 1fr)); }
.ccf-ab__stat{ border-radius: 16px; border: 1px solid rgba(31,41,55,.10); background: rgba(255,255,255,.75); padding: 10px 12px; }
.ccf-ab__stat strong{ display:block; font-size: 16px; letter-spacing:-.01em; color: var(--ccf-secondary); }
.ccf-ab__stat span{ opacity:.85; font-weight:700; font-size: 12px; }
.ccf-ab__media{ position:relative; z-index:1; }
.ccf-ab__img{ width:100%; height: 420px; object-fit: cover; border-radius: calc(var(--ccf-radius) + 4px); border: 1px solid var(--ccf-border); box-shadow: var(--ccf-shadow); }
.ccf-ab__placeholder{ height: 420px; border-radius: calc(var(--ccf-radius) + 4px); border: 1px dashed rgba(31,41,55,.18); background: radial-gradient(circle at 20% 20%, rgba(245,177,92,.35), rgba(107,99,181,.18), rgba(11,44,95,.10)); }
@media (max-width: 900px){ .ccf-ab__grid{ grid-template-columns: 1fr; } .ccf-ab__img, .ccf-ab__placeholder{ height: 300px; } }

/* ---------- About Mega ---------- */
.ccf-am{ position:relative; border-radius: calc(var(--ccf-radius) + 10px); overflow:hidden; }
.ccf-am__grid{ display:grid; gap: 18px; grid-template-columns: .9fr 1.1fr; align-items: start; }
.ccf-am--flip .ccf-am__media{ order: 2; } .ccf-am--flip .ccf-am__content{ order: 1; }
.ccf-am__img{ width:100%; height: 420px; object-fit: cover; border-radius: calc(var(--ccf-radius) + 4px); border: 1px solid var(--ccf-border); box-shadow: var(--ccf-shadow); }
.ccf-am__placeholder{ height: 420px; border-radius: calc(var(--ccf-radius) + 4px); border: 1px dashed rgba(31,41,55,.18); background: linear-gradient(135deg, rgba(11,44,95,.10), rgba(107,99,181,.12), rgba(245,177,92,.22)); }
.ccf-am__eyebrow{ font-weight: 900; letter-spacing: .06em; text-transform: uppercase; font-size: 12px; display:flex; align-items:center; gap: 10px; }
.ccf-am__eyebrow:before{ content:""; width: 34px; height: 2px; border-radius: 999px; background: var(--ccf-accent); }
.ccf-am__title{ margin: 10px 0 10px; font-size: clamp(28px, 3vw, 42px); letter-spacing:-.02em; }
.ccf-am__body{ opacity:.95; max-width: 72ch; line-height: 1.7; }
.ccf-am__blocks{ margin-top: 22px; }
.ccf-am__block{ border-radius: var(--ccf-radius); border: 1px solid var(--ccf-border); box-shadow: var(--ccf-shadow); padding: 18px; border-top: 4px solid var(--ccf-accent); background: rgba(255,255,255,.92); }
.ccf-am__blockimg{ width:100%; height: 160px; object-fit: cover; border-radius: 16px; margin-bottom: 12px; }
.ccf-am__blocktitle{ margin: 0 0 8px; letter-spacing: -0.01em; }
.ccf-am__blocktext p{ margin:0; opacity:.92; }
@media (max-width: 900px){ .ccf-am__grid{ grid-template-columns: 1fr; } .ccf-am__img, .ccf-am__placeholder{ height: 300px; } }

/* ---------- Advanced CTA ---------- */
.ccf-ca{ position:relative; border-radius: calc(var(--ccf-radius) + 10px); overflow:hidden; border: 1px solid var(--ccf-border); box-shadow: var(--ccf-shadow); padding: 40px 16px; background: rgba(255,255,255,.85); }
.ccf-ca__inner{ max-width: 1180px; margin: 0 auto; display:flex; align-items: center; justify-content: space-between; gap: 18px; position:relative; z-index:1; }
.ccf-ca--center .ccf-ca__inner{ flex-direction: column; text-align:center; }
.ccf-ca--stack .ccf-ca__inner{ flex-direction: column; align-items: stretch; }
.ccf-ca__badge{ display:inline-flex; padding: 8px 12px; border-radius: 999px; font-weight: 900; background: var(--ccf-secondary); color:#0B1220; margin-bottom: 10px; }
.ccf-ca__title{ margin: 0 0 8px; font-size: clamp(26px, 3vw, 40px); letter-spacing: -0.02em; color: var(--ccf-primary); }
.ccf-ca__text{ margin:0; opacity:.95; max-width: 70ch; line-height:1.65; }
.ccf-ca__chips{ margin-top: 14px; display:flex; flex-wrap:wrap; gap: 10px; }
.ccf-ca__chip{ position: relative; padding: 10px 12px 10px 22px; border-radius: 999px; border: 1px solid rgba(31,41,55,.12); background: rgba(255,255,255,.9); font-weight: 800; font-size: 13px; }
.ccf-ca__chip:before{ content:""; position:absolute; left: 10px; top: 50%; width: 8px; height: 8px; border-radius: 999px; transform: translateY(-50%); background: var(--ccf-secondary); }
.ccf-ca__actions{ display:flex; gap: 10px; flex-wrap:wrap; align-items:center; }
.ccf-ca__btn--solid{ background: var(--ccf-secondary); border-color: var(--ccf-secondary); color:#0B1220; }
.ccf-ca__btn--outline{ background: transparent; border-color: var(--ccf-primary); color: var(--ccf-primary); }
.ccf-ca__btn--ghost{ background: rgba(107,99,181,.10); border-color: rgba(107,99,181,.25); color: var(--ccf-accent); }
.ccf-ca__btn--ghost:hover{ transform: translateY(-1px); box-shadow: 0 12px 30px rgba(11,18,32,.14); }
@media (max-width: 900px){ .ccf-ca__inner{ flex-direction: column; align-items: stretch; } }


/* ---------- Fancy Banner Cards ---------- */
.ccf-fbc{
  position:relative;
  overflow:hidden;
  padding: clamp(60px,8vw,120px) 16px;
  background: var(--ccf-bg);
}
.ccf-fbc__overlay{
  position:absolute; inset:0;
  background: linear-gradient(120deg,var(--ccf-primary),var(--ccf-accent));
  opacity:.65;
}
.ccf-fbc__inner{
  position:relative;
  z-index:2;
  text-align:center;
  max-width:1200px;
  margin:0 auto;
}
.ccf-fbc .eyebrow{
  text-transform:uppercase;
  letter-spacing:.12em;
  font-weight:800;
  color:var(--ccf-secondary);
  margin-bottom:12px;
}
.ccf-fbc h1{
  color:#fff;
  font-size:clamp(34px,4vw,56px);
  line-height:1.05;
  margin-bottom:16px;
}
.ccf-fbc .lead{
  color:rgba(255,255,255,.95);
  max-width:760px;
  margin:0 auto 28px;
  font-size:18px;
}
.ccf-fbc__cards{
  display:grid;
  gap:22px;
  grid-template-columns:repeat(3,minmax(0,1fr));
  margin-top:46px;
}
.ccf-fbc__card{
  background:rgba(255,255,255,.95);
  border-radius:20px;
  padding:22px;
  box-shadow:0 20px 40px rgba(0,0,0,.18);
  text-align:left;
}
.ccf-fbc__card img{
  width:100%;
  height:180px;
  object-fit:cover;
  border-radius:14px;
  margin-bottom:14px;
}
.ccf-fbc__card h3{
  margin:0 0 8px;
  color:var(--ccf-primary);
}
.ccf-fbc__card p{
  margin:0 0 10px;
  color:var(--ccf-text);
}
.ccf-fbc__card .ccf-link{
  font-weight:700;
  color:var(--ccf-secondary);
}
@media(max-width:900px){
  .ccf-fbc__cards{grid-template-columns:1fr}
}

/* CBG Button Fix */
.cbg-banner .cbg-btnrow{ justify-content: center; }
.cbg-banner .cbg-btnrow .theme-btn,
.cbg-banner .cbg-btnrow .cbg-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  text-decoration:none !important;
  border-radius: 999px;
  padding: 12px 18px;
}


/* ---------- Fancy Banner + Cards (FBC) ---------- */
.ccf-fbc{
  position: relative;
  overflow: hidden;
  /* border-radius: calc(var(--ccf-radius) + 10px); */
  border: 1px solid var(--ccf-border);
  box-shadow: var(--ccf-shadow);
  padding: clamp(56px, 6vw, 86px) 0;
}
.ccf-fbc__overlay{
  position:absolute; inset:0;
  background: linear-gradient(120deg, rgba(11,44,95,.60), rgba(107,99,181,.40));
  pointer-events:none;
  z-index: 1;
}
.ccf-fbc__pattern{
  position:absolute; inset:0;
  z-index: 2;
  background-image:
    radial-gradient(circle at 14% 22%, rgba(245,177,92,.55) 0 2px, transparent 3px),
    radial-gradient(circle at 66% 18%, rgba(107,99,181,.45) 0 2px, transparent 3px),
    radial-gradient(circle at 85% 70%, rgba(11,44,95,.35) 0 2px, transparent 3px);
  background-size: 26px 26px;
  opacity: .22;
  pointer-events:none;
  mask-image: linear-gradient(to bottom, rgba(0,0,0,.95), rgba(0,0,0,.25));
}
.ccf-fbc__blobs{ position:absolute; inset:0; pointer-events:none; z-index: 3; }
.ccf-fbc__blobs i{
  position:absolute;
  display:block;
  border-radius: 999px;
  filter: blur(var(--ccf-blob-blur, 18px));
  opacity: var(--ccf-blob-opacity, .85);
  transform: translateZ(0) scale(var(--ccf-blob-scale, 1));
  mix-blend-mode: screen;
  animation: ccfFloat 10s ease-in-out infinite;
}
.ccf-fbc__blobs .b1{ width: 260px; height: 260px; left: -80px; top: -90px; background: rgba(245,177,92,.55); }
.ccf-fbc__blobs .b2{ width: 340px; height: 340px; right: -120px; top: 12%; background: rgba(107,99,181,.35); animation-duration: 12s; }
.ccf-fbc__blobs .b3{ width: 280px; height: 280px; left: 12%; bottom: -130px; background: rgba(11,44,95,.32); animation-duration: 14s; }

.ccf-fbc__inner{
  position:relative;
  z-index: 4;
  max-width: 1180px;
}
.ccf-fbc__inner.align-center{ text-align:center; }
.ccf-fbc__inner.align-left{ text-align:left; }

.ccf-fbc .eyebrow{
  display:inline-flex;
  padding: 9px 14px;
  border-radius: 999px;
  font-weight: 900;
  letter-spacing: .06em;
  text-transform: uppercase;
  font-size: 12px;
  color: #0B1220;
  background: var(--ccf-secondary);
  box-shadow: 0 10px 26px rgba(11,18,32,.14);
}
.ccf-fbc h1{
  margin: 14px auto 10px;
  max-width: 26ch;
  font-size: clamp(34px, 4.2vw, 60px);
  line-height: 1.02;
  letter-spacing: -0.03em;
  color: #fff;
}
.ccf-fbc .lead{
  margin: 0 auto;
  max-width: 70ch;
  font-size: clamp(16px, 1.2vw, 20px);
  line-height: 1.65;
  color: rgba(255,255,255,.92);
}

/* Button row */
.ccf-fbc__btnrow{ margin-top: 18px; display:flex; gap: 10px; flex-wrap: wrap; }
.ccf-fbc__inner.align-center .ccf-fbc__btnrow{ justify-content: center; }
.ccf-fbc__inner.align-left .ccf-fbc__btnrow{ justify-content: flex-start; }

/* Force buttons to look like buttons even if theme styles override */
.ccf-fbc .ccf-btn{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  text-decoration:none !important;
  border-radius: 999px !important;
  padding: 12px 18px !important;
  border: 1px solid rgba(255,255,255,.20) !important;
  font-weight: 900 !important;
  letter-spacing: -0.01em !important;
  transition: transform .18s ease, box-shadow .18s ease, background .18s ease, color .18s ease, border-color .18s ease !important;
}
.ccf-fbc .ccf-btn:hover{ transform: translateY(-1px); box-shadow: 0 16px 40px rgba(11,18,32,.22); }
.ccf-fbc .ccf-btn--primary{ background: var(--ccf-secondary) !important; border-color: var(--ccf-secondary) !important; color:#0B1220 !important; }
.ccf-fbc .ccf-btn--outline{ background: rgba(255,255,255,.08) !important; border-color: rgba(255,255,255,.38) !important; color:#fff !important; }
.ccf-fbc .ccf-btn--outline:hover{ background: var(--ccf-accent) !important; border-color: var(--ccf-accent) !important; }

/* Cards grid */
.ccf-fbc__cards{
  margin-top: 26px;
  display:grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
}
.ccf-fbc .ccf-card{
  overflow:hidden;
  border-radius: 22px;
  border: 1px solid rgba(255,255,255,.18);
  box-shadow: 0 18px 48px rgba(11,18,32,.28);
  background: rgba(255,255,255,.10);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  transition: transform .2s ease, box-shadow .2s ease, background .2s ease;
}
.ccf-fbc .ccf-card:hover{
  transform: translateY(-3px);
  box-shadow: 0 24px 70px rgba(11,18,32,.34);
}
.ccf-fbc .ccf-card__media{ height: 150px; background: rgba(255,255,255,.10); }
.ccf-fbc .ccf-card__media img{ width:100%; height:100%; object-fit: cover; display:block; }
.ccf-fbc .ccf-card__media--ph{ background: radial-gradient(circle at 18% 30%, rgba(245,177,92,.60), rgba(107,99,181,.25), rgba(255,255,255,.06)); }
.ccf-fbc .ccf-card__body{ padding: 14px 14px 16px; }
.ccf-fbc .ccf-card__tag{
  display:inline-flex;
  padding: 7px 10px;
  border-radius: 999px;
  font-weight: 900;
  font-size: 12px;
  color:#0B1220;
  background: var(--ccf-secondary);
}
.ccf-fbc .ccf-card__title{ margin: 10px 0 6px; font-size: 18px; line-height: 1.25; letter-spacing:-.01em; color:#fff; }
.ccf-fbc .ccf-card__text{ margin:0; color: rgba(255,255,255,.88); line-height: 1.6; }
.ccf-fbc .ccf-card__link{ margin-top: 10px; display:inline-flex; gap: 8px; align-items:center; font-weight: 900; color: #fff; text-decoration: none; }
.ccf-fbc .ccf-card__link:hover{ text-decoration: underline; }

@media (max-width: 980px){
  .ccf-fbc__cards{ grid-template-columns: 1fr; }
  .ccf-fbc h1{ max-width: 30ch; }
}


/* Contact Us (CF7) styles added */


/* CF7 toast/loader */
.ccf-cf7__toast{position:fixed;left:50%;bottom:24px;transform:translateX(-50%) translateY(20px);opacity:0;pointer-events:none;z-index:99999;background:#0B2C5F;color:#fff;padding:12px 14px;border-radius:16px;box-shadow:0 20px 60px rgba(0,0,0,.25);max-width:min(520px,92vw);}
.ccf-cf7__toast.is-show{opacity:1;transform:translateX(-50%) translateY(0);transition:all .24s ease;}
.ccf-cf7__toast.is-ok{border:1px solid rgba(255,138,0,.55);}
.ccf-cf7__toast.is-bad{border:1px solid rgba(245,177,92,.65);}
.ccf-cf7__card.is-loading{position:relative;}
.ccf-cf7__card.is-loading:after{content:'';position:absolute;inset:0;background:rgba(255,255,255,.55);backdrop-filter:blur(2px);}
.ccf-cf7__card.is-loading:before{content:'';position:absolute;left:50%;top:50%;width:34px;height:34px;margin:-17px 0 0 -17px;border-radius:50%;border:3px solid rgba(11,44,95,.25);border-top-color:#FF8A00;animation:ccfspin .8s linear infinite;z-index:2;}
@keyframes ccfspin{to{transform:rotate(360deg)}}
.ccf-cf7__consent{display:flex;gap:10px;align-items:flex-start;font-size:13px;line-height:1.4;color:rgba(31,41,55,.9);margin:10px 0 12px;}
.ccf-cf7__consent input{margin-top:2px;}
.ccf-row{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:0 0 12px;}
.ccf-col--full{grid-column:1 / -1;}
@media (max-width:720px){.ccf-row{grid-template-columns:1fr;}}


/* ---------- Contact Us (CF7) ---------- */
.ccf-cf7{ padding: clamp(48px, 6vw, 84px) 0; position:relative; }
.ccf-cf7__top{ max-width: 780px; margin: 0 auto 18px; text-align:center; }
.ccf-cf7__heading{ margin:0; font-size: clamp(28px, 3vw, 44px); letter-spacing:-.02em; color: var(--ccf-primary); }
.ccf-cf7__subheading{ margin: 10px auto 0; color: rgba(31,41,55,.86); line-height:1.65; max-width: 70ch; }

.ccf-cf7__grid{ display:grid; grid-template-columns: 1.05fr 1.2fr; gap: 16px; align-items: stretch; }
.ccf-cf7--center .ccf-cf7__grid,
.ccf-cf7--form_only .ccf-cf7__grid{ grid-template-columns: 1fr; max-width: 900px; margin: 0 auto; }
.ccf-cf7--center .ccf-cf7__info,
.ccf-cf7--form_only .ccf-cf7__info{ display:none; }

.ccf-cf7__info{
  border-radius: 22px;
  background: rgba(11,44,95,0.95);
  color:#fff;
  overflow:hidden;
  position: relative;
  box-shadow: 0 18px 60px rgba(11,18,32,.22);
  border: 1px solid rgba(255,255,255,.12);
}
.ccf-cf7__info-inner{ padding: 18px; }
.ccf-cf7__pill{
  display:inline-flex; padding: 8px 12px; border-radius: 999px;
  font-weight: 900; letter-spacing:.04em;
  background: var(--ccf-secondary); color:#0B1220;
}
.ccf-cf7__info-text{ margin: 10px 0 14px; color: rgba(255,255,255,.86); line-height:1.6; }

.ccf-cf7__items{ display:grid; gap: 10px; }
.ccf-cf7__item{
  display:flex; gap: 10px; align-items:flex-start;
  padding: 12px 12px; border-radius: 16px;
  background: rgba(255,255,255,.08);
  border: 1px solid rgba(255,255,255,.10);
}
.ccf-cf7__item-icon{
  width: 38px; height: 38px; border-radius: 12px;
  display:flex; align-items:center; justify-content:center;
  background: rgba(255,255,255,.10);
}
.ccf-cf7__item-label{ font-weight: 900; opacity: .92; }
.ccf-cf7__item a{ color: #fff; text-decoration: none; }
.ccf-cf7__item a:hover{ text-decoration: underline; }

.ccf-cf7__social{ margin-top: 12px; display:flex; gap: 10px; flex-wrap: wrap; }
.ccf-cf7__social a{
  width: 44px; height: 44px; border-radius: 14px;
  display:flex; align-items:center; justify-content:center;
  background: rgba(255,255,255,.10);
  border: 1px solid rgba(255,255,255,.14);
  color:#fff; text-decoration:none;
  transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}
.ccf-cf7__social a:hover{
  transform: translateY(-1px);
  box-shadow: 0 14px 34px rgba(11,18,32,.22);
  border-color: var(--ccf-secondary);
}

.ccf-cf7__map{ margin-top: 14px; }
.ccf-cf7__map iframe{ width:100%; min-height: 220px; border:0; border-radius: 22px; }

.ccf-cf7__card{
  background: rgba(255,255,255,0.92);
  border-radius: 22px;
  box-shadow: 0 18px 60px rgba(11,18,32,.14);
  border: 1px solid rgba(31,41,55,.10);
  overflow:hidden;
  padding: 18px;
  position:relative;
}
.ccf-cf7__notice{
  padding: 14px;
  border-radius: 16px;
  background: rgba(245,177,92,.22);
  border: 1px solid rgba(245,177,92,.35);
  color: rgba(31,41,55,.92);
  font-weight: 700;
}

/* CF7 fields polish */
.ccf-cf7__form form{ margin:0; }
.ccf-cf7__form input[type="text"],
.ccf-cf7__form input[type="email"],
.ccf-cf7__form input[type="tel"],
.ccf-cf7__form input[type="url"],
.ccf-cf7__form textarea,
.ccf-cf7__form select{
  width:100%;
  border-radius: 14px;
  border: 1px solid rgba(31,41,55,.16);
  padding: 12px 12px;
  background: rgba(255,255,255,0.98);
  outline: none;
}
.ccf-cf7__form textarea{ min-height: 140px; resize: vertical; }
.ccf-cf7__form input:focus,
.ccf-cf7__form textarea:focus,
.ccf-cf7__form select:focus{
  border-color: rgba(107,99,181,.65);
  box-shadow: 0 0 0 4px rgba(107,99,181,.16);
}

.ccf-cf7__form p{ margin: 0 0 12px; }
.ccf-cf7__form label{ font-weight: 800; color: rgba(31,41,55,.92); }

/* Multi-column helpers for CF7 */
.wpcf7 .ccf-row{ display:grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 12px; margin-bottom: 12px; }
.wpcf7 .ccf-col{ min-width: 0; }
.wpcf7 .ccf-col--full{ grid-column: 1 / -1; }
@media (max-width: 720px){ .wpcf7 .ccf-row{ grid-template-columns: 1fr; } }

/* Consent */
.ccf-cf7__consent{ display:flex; gap: 10px; align-items:flex-start; font-weight:700; color: rgba(31,41,55,.88); margin: 10px 0 12px; }
.ccf-cf7__consent input{ margin-top: 4px; }

/* Submit button - premium */
.ccf-cf7__form input[type="submit"],
.ccf-cf7__form button[type="submit"]{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius: 999px;
  padding: 12px 18px;
  border: 1px solid var(--ccf-secondary);
  background: var(--ccf-secondary);
  color: #0B1220;
  font-weight: 900;
  cursor: pointer;
  transition: transform .18s ease, box-shadow .18s ease, background .18s ease, border-color .18s ease, color .18s ease;
}
.ccf-cf7__form input[type="submit"]:hover,
.ccf-cf7__form button[type="submit"]:hover{
  transform: translateY(-1px);
  box-shadow: 0 14px 34px rgba(11,18,32,.18);
}

/* Loader overlay */
.ccf-cf7__card.is-loading::after{
  content:"";
  position:absolute; inset:0;
  background: rgba(255,255,255,.65);
  backdrop-filter: blur(4px);
}
.ccf-cf7__card.is-loading::before{
  content:"";
  position:absolute;
  left:50%; top:50%;
  width: 34px; height: 34px;
  border-radius: 50%;
  border: 3px solid rgba(11,44,95,.22);
  border-top-color: var(--ccf-secondary);
  transform: translate(-50%,-50%);
  animation: ccfSpin .8s linear infinite;
  z-index: 2;
}
@keyframes ccfSpin{ to{ transform: translate(-50%,-50%) rotate(360deg); } }

/* Toast */
.ccf-cf7__toast{
  position: fixed;
  left: 50%;
  bottom: 24px;
  transform: translateX(-50%) translateY(18px);
  opacity: 0;
  pointer-events:none;
  z-index: 99999;
  background: rgba(11,44,95,.96);
  color: #fff;
  padding: 12px 14px;
  border-radius: 16px;
  box-shadow: 0 20px 60px rgba(0,0,0,.25);
  max-width: min(520px, 92vw);
  border: 1px solid rgba(255,255,255,.18);
}
.ccf-cf7__toast.is-show{
  opacity: 1;
  transform: translateX(-50%) translateY(0);
  transition: all .24s ease;
}
.ccf-cf7__toast.is-ok{ border-color: rgba(255,138,0,.55); }
.ccf-cf7__toast.is-bad{ border-color: rgba(245,177,92,.55); }
/* ---------- CF7 Contact: Icon polish (modern + classy) ---------- */

/* Info item icon box */
.ccf-cf7__item-icon{
  width: 44px;
  height: 44px;
  border-radius: 14px;
  flex: 0 0 44px;
  background: rgba(255,255,255,.10);
  border: 1px solid rgba(255,255,255,.14);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.10);
}

/* Normalize icon size for <i> and <svg> */
.ccf-cf7__item-icon i,
.ccf-cf7__item-icon svg{
  font-size: 18px !important;
  width: 18px !important;
  height: 18px !important;
  line-height: 1 !important;
  opacity: .95;
}

/* If Elementor renders SVGs, ensure they don't overflow */
.ccf-cf7__item-icon svg{
  display: block;
}

/* Make the info tiles more premium */
.ccf-cf7__item{
  padding: 14px 14px;
  border-radius: 18px;
  background: rgba(255,255,255,.08);
  border: 1px solid rgba(255,255,255,.12);
  box-shadow: 0 14px 34px rgba(0,0,0,.12);
}

/* Typography spacing */
.ccf-cf7__item-label{
  font-size: 13px;
  letter-spacing: .02em;
  text-transform: none;
  opacity: .95;
  margin-bottom: 2px;
}
.ccf-cf7__item-text div,
.ccf-cf7__item-text a{
  font-size: 14px;
  opacity: .92;
}

/* ---------- Social icons (fix huge icons) ---------- */
.ccf-cf7__social{
  margin-top: 14px;
  gap: 10px;
}
.ccf-cf7__social a{
  width: 44px;
  height: 44px;
  border-radius: 14px;
  background: rgba(255,255,255,.10);
  border: 1px solid rgba(255,255,255,.14);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.10);
  transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease, background .18s ease;
}

/* Normalize icon size */
.ccf-cf7__social a i,
.ccf-cf7__social a svg{
  font-size: 18px !important;
  width: 18px !important;
  height: 18px !important;
  line-height: 1 !important;
  opacity: .95;
}

/* Hover polish: use theme secondary */
.ccf-cf7__social a:hover{
  transform: translateY(-2px);
  border-color: rgba(255,138,0,.55);
  background: rgba(255,138,0,.18);
  box-shadow: 0 18px 46px rgba(0,0,0,.18);
}

/* Optional: tone down the big pill a little (more elegant) */
.ccf-cf7__pill{
  font-size: 12px;
  padding: 7px 12px;
  border-radius: 999px;
  box-shadow: 0 10px 26px rgba(0,0,0,.18);
}
/* ---------- CF7 Contact: Responsive fixes ---------- */

/* Tablet + down: stack columns */
@media (max-width: 1024px){
  .ccf-cf7__grid{
    grid-template-columns: 1fr;
    gap: 14px;
  }

  /* Option: show form first (better UX) */
  .ccf-cf7__card{ order: 1; }
  .ccf-cf7__info{ order: 2; }
}

/* Mobile polish */
@media (max-width: 600px){
  .ccf-cf7__top{ padding: 0 12px; }
  .ccf-cf7__card,
  .ccf-cf7__info{
    border-radius: 18px;
  }
  .ccf-cf7__card{ padding: 14px; }
  .ccf-cf7__info-inner{ padding: 14px; }

  /* Inputs full width and comfortable */
  .ccf-cf7__form input[type="text"],
  .ccf-cf7__form input[type="email"],
  .ccf-cf7__form input[type="tel"],
  .ccf-cf7__form textarea{
    padding: 12px 12px;
  }

  /* Make submit button full width on small screens */
  .ccf-cf7__form input[type="submit"],
  .ccf-cf7__form button[type="submit"]{
    width: 100%;
  }
}
/* ---------- Fix excessive gap above Contact Form ---------- */

/* Reduce overall section padding */
.ccf-cf7{
  padding-top: clamp(32px, 5vw, 56px);
}

/* Tighten heading block spacing */
.ccf-cf7__top{
  margin-bottom: 12px;
}

/* Reduce spacing on mobile */
@media (max-width: 768px){
  .ccf-cf7{
    padding-top: 28px;
  }

  .ccf-cf7__top{
    margin-bottom: 8px;
  }

  .ccf-cf7__heading{
    margin-bottom: 6px;
  }
}
/* =========================================================
   Page Title Banner: Theme colors + animated blobs + wave vibe
   Targets: <section class="page-title _banner_ wave-header">...</section>

   FIXED:
   - Removed inline SVG data URL (causes “Markup is not allowed in CSS” in some editors)
   - Replaced wave with pure CSS gradients (no markup)

   Palette:
   Primary #0B2C5F | Secondary #FF8A00 | Text #1F2937
   Accent #6B63B5 | BG #FFFFFF | Custom1 #F5B15C
========================================================= */

:root{
  --ccf-primary:#0B2C5F;
  --ccf-secondary:#FF8A00;
  --ccf-text:#1F2937;
  --ccf-accent:#6B63B5;
  --ccf-bg:#FFFFFF;
  --ccf-custom1:#F5B15C;

  /* Optional: tune these without touching the rest */
  --ccf-banner-pad-y: 84px;
  --ccf-banner-pad-y-mobile: 64px;

  --ccf-overlay-top: rgba(11,44,95,.86);
  --ccf-overlay-bottom: rgba(7,28,61,.88);

  --ccf-glass-bg: rgba(255,255,255,.06);
  --ccf-glass-border: rgba(255,255,255,.12);
  --ccf-glass-shadow: rgba(0,0,0,.25);
}

/* Banner base */
.page-title._banner_.wave-header{
  position: relative;
  overflow: hidden;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  isolation: isolate; /* keeps z-index clean */
}

/* Premium overlay using theme colors (image still visible) */
.page-title._banner_.wave-header::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:0;
  background:
    radial-gradient(1200px 520px at 20% 20%,
      rgba(255,138,0,.14),
      rgba(255,255,255,0) 60%),
    radial-gradient(900px 520px at 90% 55%,
      rgba(107,99,181,.16),
      rgba(255,255,255,0) 60%),
    linear-gradient(180deg,
      var(--ccf-overlay-top),
      var(--ccf-overlay-bottom));
}

/* Animated blobs (behind content, above overlay) */
.page-title._banner_.wave-header::after{
  content:"";
  position:absolute;
  inset:-140px;
  z-index:1;
  pointer-events:none;
  background:
    radial-gradient(circle at 15% 20%, rgba(255,138,0,.26) 0 28%, transparent 42%),
    radial-gradient(circle at 85% 35%, rgba(107,99,181,.26) 0 30%, transparent 44%),
    radial-gradient(circle at 50% 85%, rgba(245,177,92,.18) 0 26%, transparent 44%);
  filter: blur(20px);
  opacity: .85;
  animation: ccfBannerBlobs 16s ease-in-out infinite;
}

@keyframes ccfBannerBlobs{
  0%   { transform: translate3d(0,0,0) scale(1); }
  25%  { transform: translate3d(32px,18px,0) scale(1.02); }
  50%  { transform: translate3d(12px,46px,0) scale(.99); }
  75%  { transform: translate3d(-28px,20px,0) scale(1.03); }
  100% { transform: translate3d(0,0,0) scale(1); }
}

/* Content wrapper */
.page-title._banner_.wave-header .auto-container{
  position: relative;
  z-index: 2; /* above overlay + blobs */
  padding-top: var(--ccf-banner-pad-y);
  padding-bottom: var(--ccf-banner-pad-y);
}

/* Subtle glass highlight behind content */
.page-title._banner_.wave-header .auto-container::before{
  content:"";
  position:absolute;
  left: 0;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
  height: 180px;
  border-radius: 28px;
  background: var(--ccf-glass-bg);
  border: 1px solid var(--ccf-glass-border);
  box-shadow: 0 20px 50px var(--ccf-glass-shadow);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  z-index: -1;
}

/* ✅ PURE CSS bottom wave vibe (no SVG, no markup, no data URL) */
.page-title._banner_.wave-header .auto-container::after{
  content:"";
  position:absolute;
  left:-20px;
  right:-20px;
  bottom:-1px;
  height: 52px;
  pointer-events:none;
  z-index:-1;
  opacity: .95;

  /* Layered “wave” using only gradients */
  background:
    radial-gradient(140% 90% at 10% 120%,
      rgba(255,255,255,.10) 40%,
      transparent 41%),
    radial-gradient(140% 90% at 55% 120%,
      rgba(255,138,0,.11) 40%,
      transparent 41%),
    radial-gradient(140% 90% at 95% 120%,
      rgba(255,255,255,.08) 40%,
      transparent 41%),
    linear-gradient(180deg,
      rgba(255,255,255,.04),
      rgba(255,255,255,0));
}

/* Page title */
.page-title._banner_.wave-header h1{
  color: rgba(255,255,255,.95);
  letter-spacing: .2px;
  text-shadow: 0 10px 28px rgba(0,0,0,.45);
  margin-bottom: 12px;
}

/* Breadcrumb */
.page-title._banner_.wave-header .bread-crumb{
  margin: 0;
  padding: 0;
}

.page-title._banner_.wave-header .bread-crumb li,
.page-title._banner_.wave-header .bread-crumb .breadcrumb-item{
  color: rgba(255,255,255,.78);
  font-size: 14px;
}

.page-title._banner_.wave-header .bread-crumb a{
  color: rgba(255,255,255,.92);
  text-decoration: none;
  border-bottom: 1px solid rgba(255,255,255,.18);
  transition: color .15s ease, border-color .15s ease;
}

.page-title._banner_.wave-header .bread-crumb a:hover{
  color: var(--ccf-custom1);
  border-color: rgba(245,177,92,.55);
}

/* Breadcrumb separators (only if your theme uses these) */
.page-title._banner_.wave-header .bread-crumb li:after,
.page-title._banner_.wave-header .bread-crumb .breadcrumb-item + .breadcrumb-item:before{
  color: rgba(255,255,255,.45);
}

/* Responsive */
@media (max-width: 768px){
  .page-title._banner_.wave-header .auto-container{
    padding-top: var(--ccf-banner-pad-y-mobile);
    padding-bottom: var(--ccf-banner-pad-y-mobile);
  }

  .page-title._banner_.wave-header .auto-container::before{
    height: 210px;
    border-radius: 22px;
  }

  .page-title._banner_.wave-header .auto-container::after{
    height: 46px;
  }
}

/* Optional: respect reduced motion */
@media (prefers-reduced-motion: reduce){
  .page-title._banner_.wave-header::after{
    animation: none;
  }
}
