/*
Theme Name: Israelite Beacon
Theme URI: https://www.israelitesbc.com/
Author: Israelite Baptist Church
Description: A warm, modern theme for Israelite Baptist Church, Central City New Orleans. Royal purple and gold, built to be edited fully in Elementor. Every layout class lives in this stylesheet so page content stays clean and manageable in Pages.
Version: 1.4.0
Requires at least: 6.0
Tested up to: 6.6
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: israelite-beacon
*/

/* ============================================================
   TOKENS
   ============================================================ */
:root{
  --ink:#20122f; --plum-deep:#2b1546; --plum:#4a2483; --plum-mid:#5f34a0;
  --gold:#d99a2b; --gold-bright:#f0c14b; --gold-soft:#f6dc9a;
  --parchment:#faf5ea; --parchment-2:#f2e9d6; --card:#fff;
  --muted:#6d6280; --line:#e6dcc7;
  --radius:18px; --radius-sm:12px;
  --shadow:0 24px 60px -28px rgba(43,21,70,.45);
  --shadow-sm:0 12px 30px -18px rgba(43,21,70,.4);
  --display:"Fraunces",Georgia,"Times New Roman",serif;
  --body:"Karla",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
}

/* ============================================================
   BASE
   ============================================================ */
body{margin:0;background:var(--parchment);color:var(--ink);font-family:var(--body);font-size:18px;line-height:1.6;-webkit-font-smoothing:antialiased}
a{color:inherit}
img{max-width:100%;display:block}
h1,h2,h3,h4,h5{font-family:var(--display);font-weight:600;line-height:1.1;letter-spacing:-.01em}
.ibc-wrap{max-width:1160px;margin:0 auto;padding:0 24px}

/* Elementor headings + text inherit the church type by default */
.elementor-heading-title{font-family:var(--display);font-weight:600;line-height:1.1;letter-spacing:-.01em;color:var(--ink)}
.elementor-widget-text-editor{font-family:var(--body);color:var(--ink)}
.elementor-widget-text-editor p:last-child{margin-bottom:0}

/* ============================================================
   HEADER + NAV
   ============================================================ */
.ibc-site-header{position:sticky;top:0;z-index:200;background:rgba(43,21,70,.94);backdrop-filter:saturate(140%) blur(10px);border-bottom:1px solid rgba(240,193,75,.18)}
.ibc-nav{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:12px 24px;max-width:1240px;margin:0 auto}
.ibc-brand{display:flex;align-items:center;gap:12px;text-decoration:none;color:#fff}
.ibc-brand .ibc-mark{width:42px;height:42px;flex:0 0 auto}
.ibc-brand .ibc-name{font-family:var(--display);font-weight:700;font-size:1.12rem;line-height:1.05;color:#fff}
.ibc-brand .ibc-name small{display:block;font-family:var(--body);font-weight:500;font-size:.66rem;letter-spacing:.14em;text-transform:uppercase;color:var(--gold-soft);margin-top:3px}
.ibc-menu{display:flex;align-items:center;gap:24px;list-style:none;margin:0;padding:0}
.ibc-menu li{position:relative}
.ibc-menu a{color:rgba(255,255,255,.85);text-decoration:none;font-weight:600;font-size:.95rem;transition:color .15s}
.ibc-menu a:hover{color:var(--gold-bright)}
.ibc-menu .sub-menu{position:absolute;top:100%;left:0;min-width:230px;background:var(--plum-deep);border:1px solid rgba(240,193,75,.2);border-radius:10px;padding:10px;display:none;flex-direction:column;gap:4px;box-shadow:var(--shadow);z-index:50}
.ibc-menu li:hover>.sub-menu{display:flex}
.ibc-menu .sub-menu a{font-size:.9rem;padding:7px 10px;border-radius:6px;display:block}
.ibc-menu .sub-menu a:hover{background:rgba(255,255,255,.06)}
.ibc-nav-cta{display:flex;align-items:center;gap:12px}
.ibc-nav-visit{color:#fff;border:2px solid rgba(255,255,255,.4);border-radius:999px;padding:11px 20px;text-decoration:none;font-weight:700;font-size:.92rem;transition:border-color .15s,color .15s}
.ibc-nav-visit:hover{border-color:var(--gold-bright);color:var(--gold-bright)}
.ibc-nav-give{background:var(--gold);color:var(--ink);border-radius:999px;padding:11px 20px;text-decoration:none;font-weight:700;font-size:.92rem;transition:background .15s,transform .15s}
.ibc-nav-give:hover{background:var(--gold-bright);transform:translateY(-1px)}
.ibc-nav-toggle{display:none;background:none;border:0;cursor:pointer;padding:8px}
.ibc-nav-toggle span{display:block;width:24px;height:2px;background:#fff;margin:5px 0;transition:.25s}

/* ============================================================
   BUTTONS (Elementor Button widget wrappers)
   ============================================================ */
.ibc-btn-gold .elementor-button,.ibc-btn-ghost .elementor-button,.ibc-btn-outline .elementor-button,.ibc-btn-plum .elementor-button{
  border-radius:999px;font-family:var(--body);font-weight:700;font-size:1rem;padding:15px 26px;border:2px solid transparent;transition:transform .18s,background .18s,color .18s,border-color .18s;
}
.ibc-btn-gold .elementor-button{background:var(--gold);color:var(--ink);box-shadow:0 10px 26px -10px rgba(217,154,43,.8)}
.ibc-btn-gold .elementor-button:hover{background:var(--gold-bright);transform:translateY(-2px);color:var(--ink)}
.ibc-btn-ghost .elementor-button{background:transparent;color:#fff;border-color:rgba(255,255,255,.4)}
.ibc-btn-ghost .elementor-button:hover{border-color:var(--gold-bright);color:var(--gold-bright)}
.ibc-btn-outline .elementor-button{background:transparent;color:var(--plum);border-color:var(--plum)}
.ibc-btn-outline .elementor-button:hover{background:var(--plum);color:#fff}
.ibc-btn-plum .elementor-button{background:var(--plum);color:#fff}
.ibc-btn-plum .elementor-button:hover{background:var(--plum-mid);transform:translateY(-2px)}

/* ============================================================
   EYEBROWS / SHARED
   ============================================================ */
.ibc-eyebrow .elementor-heading-title{font-family:var(--body);font-weight:700;font-size:.74rem;letter-spacing:.18em;text-transform:uppercase;color:var(--gold)}
.ibc-eyebrow-dark .elementor-heading-title{color:#a9781a}
.ibc-h2 .elementor-heading-title{font-size:clamp(2rem,3.8vw,2.9rem)}
.ibc-accent .elementor-heading-title{color:var(--plum)}
.ibc-center .elementor-heading-title,.ibc-center .elementor-widget-container{text-align:center}

/* ============================================================
   SECTION BANDS (Elementor Section wrappers)
   ============================================================ */
.ibc-band-cream{background:var(--parchment)}
.ibc-band-cream-2{background:var(--parchment-2)}
.ibc-band-purple{background:var(--plum-deep);color:#fff}
.ibc-band-plum{background:var(--plum);color:#fff}
.ibc-band-purple .elementor-heading-title,.ibc-band-plum .elementor-heading-title{color:#fff}
.ibc-band-purple .elementor-widget-text-editor,.ibc-band-plum .elementor-widget-text-editor{color:rgba(255,255,255,.75)}

/* ============================================================
   HERO
   ============================================================ */
.ibc-hero{position:relative;overflow:hidden;background:var(--plum-deep);color:#fff;isolation:isolate}
.ibc-hero::before{content:"";position:absolute;inset:0;z-index:0;background:
  radial-gradient(120% 90% at 78% 8%,rgba(240,193,75,.55) 0%,rgba(217,154,43,.22) 26%,rgba(43,21,70,0) 58%),
  radial-gradient(90% 120% at 12% 100%,rgba(95,52,160,.6) 0%,rgba(43,21,70,0) 55%),
  linear-gradient(160deg,#3a1c60 0%,#2b1546 55%,#1f0f34 100%);}
.ibc-hero::after{content:"";position:absolute;top:-18%;right:-6%;width:min(720px,60vw);height:min(720px,60vw);z-index:0;
  background:conic-gradient(from 0deg,
    rgba(246,220,154,0) 0deg,rgba(246,220,154,.16) 8deg,rgba(246,220,154,0) 16deg,
    rgba(246,220,154,0) 30deg,rgba(246,220,154,.14) 38deg,rgba(246,220,154,0) 46deg,
    rgba(246,220,154,0) 66deg,rgba(246,220,154,.12) 74deg,rgba(246,220,154,0) 82deg,
    rgba(246,220,154,0) 120deg,rgba(246,220,154,.14) 128deg,rgba(246,220,154,0) 136deg,
    rgba(246,220,154,0) 180deg,rgba(246,220,154,.1) 188deg,rgba(246,220,154,0) 196deg,
    rgba(246,220,154,0) 360deg);
  border-radius:50%;-webkit-mask-image:radial-gradient(closest-side,#000 40%,transparent 78%);mask-image:radial-gradient(closest-side,#000 40%,transparent 78%);animation:ibc-spin 60s linear infinite;pointer-events:none}
@keyframes ibc-spin{to{transform:rotate(360deg)}}
.ibc-hero>.elementor-container{position:relative;z-index:2}
.ibc-hero .elementor-heading-title{color:#fff}
.ibc-hero-title .elementor-heading-title{font-size:clamp(2.6rem,6vw,4.6rem);font-weight:600;letter-spacing:-.02em}
.ibc-hero-title .elementor-heading-title em{font-style:normal;color:var(--gold-bright)}
.ibc-lead .elementor-widget-container{font-size:1.2rem;color:rgba(255,255,255,.82);max-width:34ch}
.ibc-badge .elementor-heading-title{display:inline-block;font-family:var(--body);font-weight:700;font-size:.78rem;letter-spacing:.16em;text-transform:uppercase;color:var(--gold-soft);border:1px solid rgba(240,193,75,.32);padding:7px 15px;border-radius:999px}

/* hero service card (a column) */
.ibc-service-card{background:rgba(255,255,255,.06);border:1px solid rgba(240,193,75,.25);border-radius:var(--radius);padding:30px!important;backdrop-filter:blur(6px);box-shadow:var(--shadow)}
.ibc-service-card .elementor-heading-title{color:#fff}
.ibc-svc-sub .elementor-heading-title{color:var(--gold-soft);font-family:var(--body);font-size:.8rem;letter-spacing:.14em;text-transform:uppercase;font-weight:700}
.ibc-svc-list .elementor-icon-list-items{margin:0}
.ibc-svc-list .elementor-icon-list-item{border-top:1px solid rgba(255,255,255,.12);padding:12px 0!important}
.ibc-svc-list .elementor-icon-list-icon{color:var(--gold-bright)}
.ibc-svc-list .elementor-icon-list-text{color:rgba(255,255,255,.92);font-weight:600}
.ibc-svc-note .elementor-widget-container{color:rgba(255,255,255,.7);font-size:.9rem}

/* ============================================================
   PILLARS (Icon Box)
   ============================================================ */
.ibc-pillar{background:var(--card);border:1px solid var(--line);border-radius:var(--radius-sm);padding:22px!important;height:100%}
.ibc-pillar .elementor-icon-box-icon{margin-bottom:10px}
.ibc-pillar .elementor-icon{background:var(--parchment-2);width:44px;height:44px;border-radius:10px;display:flex;align-items:center;justify-content:center;color:var(--plum);font-size:20px}
.ibc-pillar .elementor-icon-box-title{font-family:var(--display);font-size:1.12rem;color:var(--ink)}
.ibc-pillar .elementor-icon-box-description{color:var(--muted);font-size:.95rem}

/* Mission blockquote (Text widget) */
.ibc-mission .elementor-widget-container{border-left:3px solid var(--gold);padding:6px 0 6px 22px;font-family:var(--display);font-size:1.35rem;font-weight:500;color:var(--plum);line-height:1.35}

/* ============================================================
   MINISTRY CARDS (a Column carrying stacked widgets)
   ============================================================ */
.ibc-min-card{background:linear-gradient(180deg,rgba(255,255,255,.07),rgba(255,255,255,.03));border:1px solid rgba(240,193,75,.16);border-radius:var(--radius);padding:30px 26px!important;height:100%;transition:transform .2s,border-color .2s}
.ibc-min-card:hover{transform:translateY(-5px);border-color:rgba(240,193,75,.5)}
.ibc-min-card .ibc-tag .elementor-heading-title{font-family:var(--body);font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;color:var(--gold);font-weight:700}
.ibc-min-card .ibc-ctitle .elementor-heading-title{color:#fff;font-size:1.4rem}
.ibc-min-card .elementor-widget-text-editor{color:rgba(255,255,255,.74);font-size:.96rem}
.ibc-cardlink .elementor-button{background:transparent;border:0;color:var(--gold-bright);font-weight:700;font-size:.92rem;padding:6px 0!important}
.ibc-cardlink .elementor-button:hover{color:var(--gold-soft)}

/* light ministry cards (icon box on cream, for landing pages) */
.ibc-min-card-light{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:30px 26px!important;height:100%;box-shadow:var(--shadow-sm);transition:transform .2s}
.ibc-min-card-light:hover{transform:translateY(-5px)}
.ibc-min-card-light .elementor-icon{color:var(--plum);font-size:26px;margin-bottom:8px}
.ibc-min-card-light .elementor-icon-box-title{color:var(--ink);font-size:1.3rem}
.ibc-min-card-light .elementor-icon-box-description{color:var(--muted);font-size:.95rem}

/* ============================================================
   TIMELINE (columns)
   ============================================================ */
.ibc-timeline{border-top:2px solid var(--gold);margin-top:22px}
.ibc-timeline-item{padding:26px 18px 0!important;position:relative}
.ibc-timeline-item::before{content:"";position:absolute;top:-8px;left:18px;width:13px;height:13px;border-radius:50%;background:var(--gold);box-shadow:0 0 0 4px var(--parchment-2)}
.ibc-timeline-item .elementor-heading-title{font-family:var(--display);font-weight:700;font-size:1.7rem;color:var(--plum)}
.ibc-timeline-item .elementor-widget-text-editor{color:var(--muted);font-size:.92rem}

/* ============================================================
   PASTOR CARD (section + 2 columns)
   ============================================================ */
.ibc-pastor-card{background:linear-gradient(155deg,var(--plum),var(--plum-deep));border-radius:26px;overflow:hidden;box-shadow:var(--shadow)}
.ibc-pastor-photo{padding:0!important}
.ibc-pastor-photo .elementor-widget-image,.ibc-pastor-photo .elementor-widget-container,.ibc-pastor-photo figure{height:100%;margin:0}
.ibc-pastor-photo img{width:100%;height:100%;object-fit:cover;object-position:top center;min-height:360px}
.ibc-pastor-body{padding:52px!important}
.ibc-pastor-body .elementor-heading-title{color:#fff}
.ibc-pastor-body .ibc-eyebrow .elementor-heading-title{color:var(--gold-soft)}
.ibc-pastor-body .ibc-role .elementor-heading-title{color:var(--gold-soft);font-family:var(--body);font-weight:700;font-size:1rem}
.ibc-pastor-body .elementor-widget-text-editor{color:rgba(255,255,255,.82)}

/* ============================================================
   VISIT STEPS (Text widgets in a column)
   ============================================================ */
.ibc-steps{counter-reset:step}
.ibc-step{counter-increment:step;position:relative;padding:0 0 26px 62px!important}
.ibc-step::before{content:counter(step,decimal-leading-zero);position:absolute;left:0;top:-2px;width:42px;height:42px;border-radius:50%;background:var(--plum);color:var(--gold-bright);font-family:var(--display);font-weight:700;display:flex;align-items:center;justify-content:center;font-size:.95rem}
.ibc-step::after{content:"";position:absolute;left:20px;top:44px;bottom:2px;width:2px;background:var(--line)}
.ibc-step:last-child::after{display:none}
.ibc-step .elementor-widget-container>*{margin:0}
.ibc-step h4{font-family:var(--display);font-size:1.18rem;margin-bottom:4px;color:var(--ink)}
.ibc-step p{color:var(--muted);font-size:.98rem;margin:0}

/* Map card */
.ibc-map-card{background:var(--plum-deep);border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow)}
.ibc-map-card .elementor-widget-html,.ibc-map-card .elementor-widget-html .elementor-widget-container{line-height:0}
.ibc-map iframe{width:100%;min-height:320px;border:0;display:block;filter:grayscale(.15)}
.ibc-map-info .elementor-widget-container{padding:22px 26px;color:#fff}
.ibc-map-info a{color:var(--gold-bright);text-decoration:none;font-weight:700}
.ibc-map-info .k{font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:var(--gold-soft);font-weight:700}

/* ============================================================
   VOICES (columns)
   ============================================================ */
.ibc-voices{position:relative;overflow:hidden}
.ibc-voices::after{content:"";position:absolute;right:-140px;bottom:-140px;width:420px;height:420px;border-radius:50%;background:radial-gradient(circle,rgba(240,193,75,.22),transparent 70%);pointer-events:none}
.ibc-voices>.elementor-container{position:relative;z-index:2}
.ibc-quote{background:rgba(255,255,255,.07);border:1px solid rgba(240,193,75,.2);border-radius:var(--radius);padding:30px!important;height:100%;position:relative}
.ibc-quote::before{content:"\201C";position:absolute;top:18px;left:26px;font-family:var(--display);font-size:3rem;line-height:.6;color:var(--gold)}
.ibc-quote .elementor-widget-text-editor{color:#fff;font-size:1.05rem;line-height:1.5;padding-top:22px}
.ibc-quote-feature .elementor-widget-text-editor{font-family:var(--display);font-size:1.4rem;font-weight:500;line-height:1.4}
.ibc-quote .ibc-who .elementor-heading-title{color:var(--gold-soft);font-family:var(--body);font-weight:600;font-size:.9rem}

/* ============================================================
   PHOTOS + GALLERY
   ============================================================ */
.ibc-photo img{border-radius:var(--radius);box-shadow:var(--shadow);width:100%}
.ibc-photo-frame img{border-radius:var(--radius);box-shadow:var(--shadow);border:1px solid rgba(240,193,75,.35);width:100%}
.ibc-photo figure,.ibc-photo-frame figure{position:relative;margin:0}
.ibc-cap figure{position:relative;margin:0;border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow)}
.ibc-cap img{width:100%;display:block}
.ibc-cap figcaption{position:absolute;left:0;right:0;bottom:0;padding:24px 20px 16px;background:linear-gradient(0deg,rgba(31,15,52,.92),transparent);color:#fff;font-family:var(--display);font-size:1.12rem;font-weight:600;text-align:left}
.ibc-gtall img{height:100%;min-height:360px;object-fit:cover}
.ibc-gtall figure{height:100%}

/* Gallery scripture */
.ibc-scripture .elementor-widget-container{font-family:var(--display);font-size:clamp(1.3rem,2.6vw,1.7rem);font-weight:500;line-height:1.4;color:var(--plum);text-align:center}
.ibc-scripture-cite .elementor-heading-title{color:#a9781a;font-family:var(--body);font-weight:700;font-size:.95rem;letter-spacing:.05em;text-align:center}

/* ============================================================
   PAGE HERO (interior)
   ============================================================ */
.ibc-page-hero{position:relative;overflow:hidden;color:#fff;text-align:center;background:var(--plum-deep)}
.ibc-page-hero::before{content:"";position:absolute;inset:0;background:radial-gradient(110% 130% at 50% 0%,rgba(240,193,75,.35),transparent 55%),linear-gradient(160deg,#3a1c60,#1f0f34)}
.ibc-page-hero>.elementor-container{position:relative;z-index:2}
.ibc-page-hero .elementor-heading-title{color:#fff}
.ibc-page-hero .ibc-eyebrow .elementor-heading-title{color:var(--gold-soft)}
.ibc-page-title .elementor-heading-title{font-size:clamp(2.2rem,5vw,3.5rem)}
.ibc-page-hero .elementor-widget-text-editor{color:rgba(255,255,255,.8);max-width:60ch;margin:0 auto}

/* ============================================================
   LISTS
   ============================================================ */
.ibc-list .elementor-icon-list-icon{color:var(--gold)}
.ibc-list .elementor-icon-list-text{color:var(--ink);font-weight:600}
.ibc-list-tight .elementor-icon-list-item{padding:7px 0!important}
.ibc-contact .elementor-icon-list-icon{color:var(--plum)}
.ibc-contact .elementor-icon-list-text{color:var(--ink)}
.ibc-role .elementor-heading-title{color:var(--plum);font-family:var(--body);font-weight:700;font-size:1rem;letter-spacing:.04em;text-transform:uppercase}

/* ============================================================
   CTA BAND
   ============================================================ */
.ibc-cta-band{background:var(--plum-deep);border-radius:26px;overflow:hidden;position:relative;box-shadow:var(--shadow)}
.ibc-cta-band::before{content:"";position:absolute;inset:0;background:radial-gradient(90% 120% at 50% -10%,rgba(240,193,75,.35),transparent 60%);pointer-events:none}
.ibc-cta-band>.elementor-container{position:relative;z-index:2}
.ibc-cta-band .elementor-heading-title{color:#fff}
.ibc-cta-band .ibc-eyebrow .elementor-heading-title{color:var(--gold-soft)}
.ibc-cta-band .ibc-cta-title .elementor-heading-title{font-size:clamp(2.1rem,4.4vw,3.2rem)}
.ibc-cta-band .ibc-cta-title .elementor-heading-title em{font-style:normal;color:var(--gold-bright)}
.ibc-cta-band .elementor-widget-text-editor{color:rgba(255,255,255,.8);max-width:52ch;margin:0 auto}

/* ============================================================
   FOOTER
   ============================================================ */
.ibc-site-footer{background:#1a0e2b;color:rgba(255,255,255,.72);padding:70px 0 34px;font-size:.95rem}
.ibc-foot-grid{display:grid;grid-template-columns:1.6fr 1fr 1fr 1fr;gap:40px}
.ibc-site-footer h5{font-family:var(--body);font-weight:700;font-size:.76rem;letter-spacing:.16em;text-transform:uppercase;color:var(--gold-soft);margin:0 0 16px}
.ibc-site-footer ul{list-style:none;margin:0;padding:0}
.ibc-site-footer li{margin-bottom:10px}
.ibc-site-footer a{color:rgba(255,255,255,.72);text-decoration:none}
.ibc-site-footer a:hover{color:var(--gold-bright)}
.ibc-foot-brand p{color:rgba(255,255,255,.6);max-width:34ch;font-size:.92rem}
.ibc-foot-bottom{border-top:1px solid rgba(255,255,255,.1);margin-top:48px;padding-top:24px;display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;font-size:.85rem;color:rgba(255,255,255,.5)}

/* ============================================================
   RESPONSIVE + A11Y
   ============================================================ */
@media (max-width:1024px){.ibc-foot-grid{grid-template-columns:1fr 1fr}}
@media (max-width:880px){
  .ibc-menu{display:none;position:absolute;top:66px;left:0;right:0;flex-direction:column;background:var(--plum-deep);padding:20px 24px;gap:14px;border-bottom:1px solid rgba(240,193,75,.2)}
  .ibc-menu.open{display:flex}
  .ibc-menu .sub-menu{position:static;display:flex;border:0;box-shadow:none;padding:6px 0 6px 14px;background:transparent}
  .ibc-nav-toggle{display:block}
  .ibc-nav-cta .ibc-hide-mobile{display:none}
  .ibc-foot-grid{grid-template-columns:1fr}
  .ibc-pastor-photo img{min-height:300px}
}
@media (prefers-reduced-motion:reduce){.ibc-hero::after{animation:none}}
:focus-visible{outline:3px solid var(--gold-bright);outline-offset:2px;border-radius:4px}

/* Service rows inside the hero card (single editable Text widget) */
.ibc-service-card .ibc-svc-row{display:flex;justify-content:space-between;align-items:baseline;padding:12px 0;border-top:1px solid rgba(255,255,255,.12)}
.ibc-service-card .ibc-svc-row:first-of-type{border-top:0}
.ibc-service-card .ibc-svc-row span{color:rgba(255,255,255,.9);font-weight:600}
.ibc-service-card .ibc-svc-row b{color:var(--gold-bright);font-family:var(--display);font-weight:600;font-size:1.15rem}
.ibc-service-card .ibc-svc-note{margin-top:16px;font-size:.9rem;color:rgba(255,255,255,.7)}

/* Info well (interior pages) */
.ibc-well{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:32px!important;box-shadow:var(--shadow-sm)}
.ibc-well-plum{background:linear-gradient(155deg,var(--plum),var(--plum-deep));color:#fff;border-radius:var(--radius);padding:34px!important;box-shadow:var(--shadow)}
.ibc-well-plum .elementor-heading-title{color:#fff}
.ibc-well-plum .elementor-widget-text-editor,.ibc-well-plum .elementor-icon-list-text{color:rgba(255,255,255,.85)}
.ibc-well-plum .elementor-icon-list-icon{color:var(--gold-bright)}

/* ============================================================
   FALLBACK LAYOUT
   Full-page HTML lives in each page's content as a safety net and
   for search engines. These rules give that markup the same layout
   Elementor produces. Scoped under .ibc-fallback so they never
   touch Elementor's own rendering.
   ============================================================ */
.ibc-fallback,.ibc-fallback *{box-sizing:border-box}
.ibc-fallback .elementor-container{max-width:1140px;margin:0 auto;display:flex;flex-wrap:wrap;align-items:center;padding:0 20px}
.ibc-fallback .elementor-inner-section .elementor-container{padding:0}
.ibc-fallback .elementor-column{padding:10px;min-width:0}
.ibc-fallback .elementor-widget-wrap{display:flex;flex-direction:column;justify-content:center;width:100%;height:100%}
.ibc-fallback .elementor-widget:not(:last-child){margin-bottom:18px}
.ibc-fallback .elementor-button{display:inline-block;text-decoration:none}
.ibc-fallback .elementor-icon-list-items{list-style:none;margin:0;padding:0}
.ibc-fallback .elementor-icon-list-item{display:flex;gap:10px;align-items:flex-start;padding:6px 0}
.ibc-fallback .elementor-icon i{font-style:normal}
.ibc-fallback figure{margin:0}
.ibc-fallback img{max-width:100%;display:block}
.ibc-fallback .wp-caption{position:relative;border-radius:var(--radius);overflow:hidden}
.ibc-fallback .widget-image-caption{position:absolute;left:0;right:0;bottom:0;padding:24px 20px 16px;background:linear-gradient(0deg,rgba(31,15,52,.92),transparent);color:#fff;font-family:var(--display);font-size:1.12rem;font-weight:600}

/* column widths emitted by the fallback renderer */
.ibc-fallback .ibc-colw-20{width:20%}
.ibc-fallback .ibc-colw-25{width:25%}
.ibc-fallback .ibc-colw-30{width:30%}
.ibc-fallback .ibc-colw-33{width:33%}
.ibc-fallback .ibc-colw-34{width:34%}
.ibc-fallback .ibc-colw-40{width:40%}
.ibc-fallback .ibc-colw-42{width:42%}
.ibc-fallback .ibc-colw-46{width:46%}
.ibc-fallback .ibc-colw-48{width:48%}
.ibc-fallback .ibc-colw-50{width:50%}
.ibc-fallback .ibc-colw-52{width:52%}
.ibc-fallback .ibc-colw-54{width:54%}
.ibc-fallback .ibc-colw-55{width:55%}
.ibc-fallback .ibc-colw-58{width:58%}
.ibc-fallback .ibc-colw-60{width:60%}
.ibc-fallback .ibc-colw-62{width:62%}
.ibc-fallback .ibc-colw-66{width:66%}
.ibc-fallback .ibc-colw-100{width:100%}

/* section paddings emitted by the fallback renderer */
.ibc-fallback [class*="ibc-pt-20"]{padding-top:20px}
.ibc-fallback .ibc-pt-60{padding-top:60px}
.ibc-fallback .ibc-pt-70{padding-top:70px}
.ibc-fallback .ibc-pt-72{padding-top:72px}
.ibc-fallback .ibc-pt-78{padding-top:78px}
.ibc-fallback .ibc-pt-80{padding-top:80px}
.ibc-fallback .ibc-pt-84{padding-top:84px}
.ibc-fallback .ibc-pt-88{padding-top:88px}
.ibc-fallback .ibc-pt-90{padding-top:90px}
.ibc-fallback .ibc-pt-92{padding-top:92px}
.ibc-fallback .ibc-pb-60{padding-bottom:60px}
.ibc-fallback .ibc-pb-78{padding-bottom:78px}
.ibc-fallback .ibc-pb-80{padding-bottom:80px}
.ibc-fallback .ibc-pb-84{padding-bottom:84px}
.ibc-fallback .ibc-pb-88{padding-bottom:88px}
.ibc-fallback .ibc-pb-90{padding-bottom:90px}
.ibc-fallback .ibc-pb-92{padding-bottom:92px}

/* spacer heights emitted by the fallback renderer */
.ibc-sp-8{height:8px}.ibc-sp-10{height:10px}.ibc-sp-14{height:14px}.ibc-sp-16{height:16px}
.ibc-sp-18{height:18px}.ibc-sp-20{height:20px}.ibc-sp-22{height:22px}.ibc-sp-24{height:24px}
.ibc-sp-28{height:28px}.ibc-sp-30{height:30px}.ibc-sp-34{height:34px}

/* fallback CTA inner card padding */
.ibc-fallback .ibc-cta-band{padding:60px 40px}

/* stack fallback columns on small screens */
@media (max-width:880px){
  .ibc-fallback .elementor-column[class*="ibc-colw-"]{width:100%}
}
