/* ===== DTES-ELEMENTOR-LAYER — brand styling over Elementor Free widgets ===== */
:root{
  --dtes-ink:#26355F;--dtes-ink-deep:#1C2747;--dtes-ink-soft:#41527D;
  --dtes-cream:#F7F4EC;--dtes-cream-deep:#EFE8D9;--dtes-card:#FBF9F4;
  --dtes-sage:#8CA57C;--dtes-sage-light:#DCE4D0;--dtes-sage-deep:#5C7154;
  --dtes-pink:#D65C93;--dtes-pink-deep:#A8386E;--dtes-gold:#E4A93C;
}
/* headings by brand class (win over Elementor global kit) */
.dtes-h .elementor-heading-title{ color:var(--dtes-ink)!important; font-family:"Fraunces",Georgia,serif!important; line-height:1.14; letter-spacing:-.012em; }
.dtes-hh .elementor-heading-title{ color:#fff!important; font-family:"Fraunces",Georgia,serif!important; line-height:1.14; letter-spacing:-.012em; }
.dtes-kicker .elementor-heading-title{ color:var(--dtes-gold)!important; font-family:"Caveat",cursive!important; font-size:1.8rem!important; font-weight:600; line-height:1; }
.dtes-eyebrow .elementor-heading-title{ color:var(--dtes-sage-deep)!important; font-family:"Nunito Sans",sans-serif!important; text-transform:uppercase!important; letter-spacing:.14em!important; font-weight:800!important; font-size:.8rem!important; }
/* body text */
.elementor-widget-text-editor{ font-family:"Nunito Sans",sans-serif; color:var(--dtes-ink-soft); }
/* buttons -> brand pill */
.elementor-button{ border-radius:999px!important; font-family:"Nunito Sans",sans-serif!important; font-weight:800!important; letter-spacing:.01em; padding:.78em 1.8em!important; }
.dtes-btn-navy .elementor-button{ background:var(--dtes-ink)!important; color:var(--dtes-cream)!important; border:0!important; }
.dtes-btn-navy .elementor-button:hover{ background:var(--dtes-pink-deep)!important; color:#fff!important; }
.dtes-btn-pink .elementor-button{ background:var(--dtes-pink-deep)!important; color:#fff!important; border:0!important; }
.dtes-btn-pink .elementor-button:hover{ background:var(--dtes-ink)!important; color:var(--dtes-cream)!important; }
.dtes-btn-ghost .elementor-button{ background:transparent!important; color:var(--dtes-ink)!important; border:2px solid var(--dtes-ink)!important; }
.dtes-btn-ghost .elementor-button:hover{ background:var(--dtes-ink)!important; color:var(--dtes-cream)!important; }
.dtes-btn-onink .elementor-button{ background:transparent!important; color:#fff!important; border:2px solid rgba(255,255,255,.7)!important; }
.dtes-btn-onink .elementor-button:hover{ background:#fff!important; color:var(--dtes-ink)!important; }
.dtes-btn-small .elementor-button{ min-height:42px!important; padding:.5em 1.2em!important; font-size:.92rem!important; }
.dtes-fakebtn-sm{ min-height:38px; padding:.42em 1.15em; font-size:.9rem; }
.dtes-fakebtn-ghost{ background:transparent; color:var(--dtes-ink)!important; border:2px solid var(--dtes-ink)!important; }
.dtes-fakebtn-ghost:hover{ background:var(--dtes-ink); color:var(--dtes-cream)!important; transform:translateY(-2px); }
.dtes-fakebtn-onink{ background:transparent; color:#fff!important; border:2px solid rgba(255,255,255,.75)!important; }
.dtes-fakebtn-onink:hover{ background:#fff; color:var(--dtes-ink)!important; transform:translateY(-2px); }
/* hero (image bg + overlay set in Elementor) */
.dtes-hero .elementor-background-overlay{ background:linear-gradient(90deg, rgba(28,39,71,.9) 0%, rgba(28,39,71,.62) 52%, rgba(28,39,71,.32) 100%)!important; opacity:1!important; }
.dtes-hero .elementor-widget-text-editor{ color:rgba(255,255,255,.94)!important; font-size:1.16rem; }
.dtes-hero .elementor-widget-container{ position:relative; z-index:1; }
.dtes-hero .elementor-widget{ max-width:680px; }
.dtes-hero .elementor-heading-title{ font-size:clamp(2.1rem,4.4vw,3.2rem)!important; }
/* image-box -> photo card */
/* stretch each card to fill its column so siblings are equal height */
.dtes-card{ height:100%; }
.dtes-card > .elementor-widget-container{ height:100%; display:flex; flex-direction:column; }
.dtes-card .elementor-image-box-wrapper{ background:var(--dtes-card); border-radius:18px; overflow:hidden; box-shadow:0 6px 18px rgba(38,53,95,.08); border:1px solid rgba(38,53,95,.06); text-align:left!important; height:100%; flex:1; display:flex!important; flex-direction:column; transition:transform .18s, box-shadow .18s; }
.dtes-card:hover .elementor-image-box-wrapper{ transform:translateY(-5px); box-shadow:0 14px 34px rgba(38,53,95,.12); }
.dtes-card .elementor-image-box-img{ margin:0 0 0 0 !important; width:100%!important; }
.dtes-card .elementor-image-box-img img{ width:100%!important; height:auto; aspect-ratio:16/10; object-fit:cover; display:block; border-radius:0; max-width:none; }
.dtes-card .elementor-image-box-content{ padding:1.15rem 1.3rem 1.4rem; flex:1; display:flex; flex-direction:column; }
.dtes-card .elementor-image-box-title{ font-family:"Fraunces",serif!important; color:var(--dtes-ink)!important; margin:0 0 .4rem!important; font-size:1.3rem!important; line-height:1.2; }
.dtes-card .elementor-image-box-description{ color:var(--dtes-ink-soft)!important; display:flex; flex-direction:column; align-items:flex-start; gap:.75rem; flex:1; }
.dtes-card .dtes-cardp{ color:var(--dtes-ink-soft); }
/* tall card variant (two-ways) — image aspect 3/2 like the concept */
.dtes-card--tall .elementor-image-box-img img{ height:auto!important; aspect-ratio:3/2; }
/* pill button rendered inside the card body */
.dtes-fakebtn{ display:inline-flex; align-items:center; justify-content:center; margin-top:auto; min-height:46px; padding:.58em 1.5em; border-radius:999px; font-family:"Nunito Sans",sans-serif; font-weight:800; font-size:1rem; line-height:1; white-space:nowrap; text-decoration:none!important; border:2px solid transparent; transition:transform .16s, background .16s, color .16s; }
.dtes-fakebtn-navy{ background:var(--dtes-ink); color:var(--dtes-cream)!important; }
.dtes-fakebtn-navy:hover{ background:var(--dtes-pink-deep); color:#fff!important; transform:translateY(-2px); }
.dtes-fakebtn-pink{ background:var(--dtes-pink-deep); color:#fff!important; }
.dtes-fakebtn-pink:hover{ background:var(--dtes-ink); color:var(--dtes-cream)!important; transform:translateY(-2px); }
/* rounded split image */
.dtes-roundimg img{ border-radius:18px; width:100%; height:100%; object-fit:cover; min-height:320px; box-shadow:0 6px 18px rgba(38,53,95,.08); }
/* cta band */
.dtes-cta{ text-align:center; }
.dtes-cta .elementor-widget-text-editor{ color:rgba(255,255,255,.9)!important; }
.dtes-cta .elementor-widget-text-editor .elementor-widget-container{ max-width:60ch; margin-inline:auto; }
/* stat line */
.dtes-statline{ display:flex; flex-wrap:wrap; gap:1.6rem; margin:.2rem 0 1.2rem; }
.dtes-statline b{ font-family:"Fraunces",serif; font-size:1.9rem; color:var(--dtes-ink); display:block; line-height:1; }
.dtes-statline span{ font-weight:700; color:var(--dtes-sage-deep); font-size:.92rem; }
.dtes-statline--c{ justify-content:center; gap:2.6rem; }
/* inner button rows */
.dtes-btnrow > .elementor-container{ justify-content:flex-start; gap:.4rem; }
.dtes-cta .dtes-btnrow > .elementor-container{ justify-content:center; }
.dtes-btnrow .elementor-column{ width:auto!important; }

/* ---- CHROME: header logo, page-title band, footer ---- */
.site-header .site-branding img, .site-branding .custom-logo{ max-height:70px!important; width:auto!important; }
/* logo only — hide the duplicate site-title text next to it */
.site-header .site-title, .site-branding .site-title, .header-titles .site-title{ display:none!important; }
/* Donate menu item as a pink pill */
.header-navigation ul.menu > li.menu-item:last-child > a,
.header-navigation .menu-container > ul > li:last-child > a{ background:var(--dtes-pink-deep); color:#fff!important; border-radius:999px!important; padding:.45em 1.2em!important; margin-left:.3rem; }
.header-navigation ul.menu > li.menu-item:last-child > a:hover{ background:var(--dtes-ink)!important; }
/* pages provide their own hero — hide Kadence page-title band */
body.page .entry-hero.page-hero-section{ display:none!important; }
/* hide Kadence default footer (concept footer rendered via hook) */
footer.site-footer{ display:none!important; }
/* concept footer */
.dtes-site-footer{ background:var(--dtes-ink-deep); color:rgba(247,244,236,.86); padding-block:clamp(2.4rem,5vw,3.4rem); }
.dtes-foot-wrap{ max-width:1180px; margin-inline:auto; padding-inline:clamp(1.1rem,4vw,2rem); }
.dtes-foot-grid{ display:grid; grid-template-columns:1.5fr 1fr 1fr 1fr; gap:1.6rem; }
@media(max-width:700px){ .dtes-foot-grid{ grid-template-columns:1fr 1fr; } }
.dtes-foot-logo{ height:50px; width:auto; display:block; margin-bottom:1.1rem; }
.dtes-foot-brand p{ color:rgba(247,244,236,.7); max-width:34ch; margin:0; line-height:1.6; }
.dtes-site-footer h4{ color:#fff; font-family:"Nunito Sans",sans-serif; font-weight:800; letter-spacing:.06em; text-transform:uppercase; font-size:.82rem; margin:0 0 .8rem; }
.dtes-foot-nav{ list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:.5rem; }
.dtes-foot-nav a{ color:rgba(247,244,236,.86); text-decoration:none; }
.dtes-foot-nav a:hover{ color:#fff; }
.dtes-foot-bottom{ border-top:1px solid rgba(247,244,236,.16); margin-top:2rem; padding-top:1.2rem; display:flex; flex-wrap:wrap; gap:.6rem 1.4rem; justify-content:space-between; font-size:.86rem; color:rgba(247,244,236,.6); }
/* ================= INNER-PAGE COMPONENTS ================= */
/* page hero (inner pages) — image bg + gradient scrim set via Elementor section settings */
.dtes-phero .elementor-heading-title{ color:#fff!important; }
.dtes-phero .elementor-widget-text-editor{ color:rgba(255,255,255,.92)!important; font-size:1.16rem; }
.dtes-phero .dtes-kicker .elementor-heading-title{ color:var(--dtes-gold)!important; }
.dtes-phero .elementor-widget{ position:relative; z-index:1; }
.dtes-phero .elementor-widget-heading .elementor-heading-title{ max-width:20ch; }
.dtes-phero-sub .elementor-widget-container{ max-width:56ch; }
/* rounded split photo */
.dtes-roundimg img{ border-radius:18px; width:100%; height:100%; object-fit:cover; min-height:320px; box-shadow:0 6px 18px rgba(38,53,95,.08); }
.dtes-roundimg--tall img{ min-height:430px; }
.dtes-splitcap .elementor-widget-container{ font-size:.8rem; color:var(--dtes-ink-soft); margin-top:.5rem; }
/* lead paragraph */
.dtes-lead .elementor-widget-container{ font-size:1.16rem; color:var(--dtes-ink-soft); }
/* plain text card (amenities / FAQ) */
.dtes-tcard .elementor-widget-container{ background:var(--dtes-card); border-radius:18px; padding:1.6rem; box-shadow:0 6px 18px rgba(38,53,95,.08); border:1px solid rgba(38,53,95,.06); height:100%; }
.dtes-tcard h3{ font-family:"Fraunces",serif; color:var(--dtes-ink); margin:.1rem 0 .4rem; font-size:1.25rem; line-height:1.2; }
.dtes-tcard p{ color:var(--dtes-ink-soft); margin:0; }
/* numbered step (natural height — steps stack in a single column on Spaces, so NEVER height:100%) */
.dtes-step .elementor-widget-container{ background:var(--dtes-card); border-radius:18px; padding:1.5rem; box-shadow:0 6px 18px rgba(38,53,95,.08); }
.dtes-step{ margin-bottom:0; }
.dtes-step b{ font-family:"Fraunces",serif; font-size:1.7rem; color:var(--dtes-pink-deep); display:block; margin-bottom:.2rem; line-height:1; }
.dtes-step h3{ font-family:"Fraunces",serif; color:var(--dtes-ink); margin:0 0 .3rem; font-size:1.2rem; }
.dtes-step p{ color:var(--dtes-ink-soft); margin:0; }
/* pricing tier */
.dtes-tier,.dtes-tcard{ height:100%; }
.dtes-tier > .elementor-widget-container,.dtes-tcard > .elementor-widget-container{ height:100%; }
.dtes-tier .elementor-widget-container{ background:var(--dtes-card); border-radius:30px; padding:1.8rem; box-shadow:0 6px 18px rgba(38,53,95,.08); border:1px solid rgba(38,53,95,.06); height:100%; display:flex; flex-direction:column; }
.dtes-tier--feature .elementor-widget-container{ border:2px solid var(--dtes-pink-deep); box-shadow:0 14px 34px rgba(38,53,95,.12); }
.dtes-tiertag{ align-self:flex-start; background:var(--dtes-pink-deep); color:#fff; font-weight:800; font-size:.72rem; letter-spacing:.05em; padding:.2rem .7rem; border-radius:999px; margin-bottom:.4rem; display:inline-block; }
.dtes-tier h3{ font-family:"Fraunces",serif; color:var(--dtes-ink); margin:0 0 .1rem; }
.dtes-tierprice{ font-family:"Fraunces",serif; font-size:2rem; color:var(--dtes-ink); line-height:1.1; }
.dtes-tierprice span{ font-family:"Nunito Sans",sans-serif; font-size:.95rem; color:var(--dtes-ink-soft); font-weight:700; }
.dtes-tier ul{ list-style:none; padding:0; margin:.7rem 0 1.2rem; display:flex; flex-direction:column; gap:.5rem; }
.dtes-tier li{ padding-left:1.4rem; position:relative; color:var(--dtes-ink-soft); }
.dtes-tier li::before{ content:""; position:absolute; left:0; top:.6em; width:8px; height:8px; border-radius:50%; background:var(--dtes-sage); }
.dtes-tier .dtes-fakebtn{ margin-top:auto; }
/* quote */
.dtes-quote .elementor-widget-container,.dtes-quote{ font-family:"Fraunces",serif; font-size:clamp(1.4rem,3vw,1.9rem); line-height:1.35; color:var(--dtes-ink); font-weight:500; }
.dtes-quote cite{ display:block; font-family:"Nunito Sans",sans-serif; font-size:1rem; font-style:normal; color:var(--dtes-pink-deep); font-weight:700; margin-top:1rem; }
/* chips */
.dtes-chips{ display:flex; flex-wrap:wrap; gap:.6rem; }
.dtes-chip{ background:var(--dtes-card); border:1px solid rgba(38,53,95,.12); border-radius:999px; padding:.5rem 1rem; font-weight:700; font-size:.92rem; color:var(--dtes-ink); display:inline-block; }
/* people / avatars */
.dtes-people{ display:grid; grid-template-columns:repeat(auto-fill,minmax(180px,1fr)); gap:1.4rem; }
.dtes-person{ text-align:center; }
.dtes-avatar{ width:112px; height:112px; border-radius:50%; margin:0 auto .8rem; display:grid; place-items:center; font-family:"Fraunces",serif; font-size:2.1rem; color:#fff; background:linear-gradient(135deg,var(--dtes-ink),var(--dtes-sage-deep)); }
.dtes-person h3{ font-family:"Fraunces",serif; margin:0; font-size:1.1rem; color:var(--dtes-ink); }
.dtes-person .role{ color:var(--dtes-pink-deep); font-weight:700; font-size:.9rem; margin:.1rem 0 0; }
.dtes-person p:last-child{ font-size:.92rem; color:var(--dtes-ink-soft); margin:.4rem 0 0; }
/* contact lines + map */
.dtes-contact-line{ display:flex; gap:.75rem; margin-bottom:.9rem; align-items:flex-start; color:var(--dtes-ink-soft); }
.dtes-contact-line b{ color:var(--dtes-ink); }
.dtes-contact-line svg{ width:24px; height:24px; stroke:var(--dtes-pink-deep); stroke-width:1.85; fill:none; stroke-linecap:round; stroke-linejoin:round; flex:0 0 auto; margin-top:.15rem; }
.dtes-map{ border-radius:18px; min-height:220px; background:linear-gradient(135deg,#dce4d0,#c3d3b4); display:grid; place-items:center; color:var(--dtes-sage-deep); font-weight:700; box-shadow:0 6px 18px rgba(38,53,95,.08); margin-top:1rem; }
/* form (CF7 wrapper) */
.dtes-form .elementor-widget-container{ background:var(--dtes-card); border-radius:18px; padding:1.6rem; box-shadow:0 6px 18px rgba(38,53,95,.08); }
.dtes-form label{ font-weight:700; font-size:.92rem; display:block; margin-bottom:.3rem; color:var(--dtes-ink); }
.dtes-form input,.dtes-form textarea{ width:100%; padding:.7rem .9rem; border:2px solid rgba(38,53,95,.16); border-radius:12px; font:inherit; font-size:1rem; background:#fff; color:var(--dtes-ink); }
.dtes-form input:focus,.dtes-form textarea:focus{ outline:none; border-color:var(--dtes-pink-deep); }
.dtes-form .wpcf7-submit{ width:auto; background:var(--dtes-pink-deep); color:#fff; border:0; border-radius:999px; padding:.72em 1.8em; font-weight:800; cursor:pointer; }
/* donate amounts */
.dtes-amts{ display:flex; flex-wrap:wrap; gap:.8rem; margin:1rem 0 1.4rem; }
.dtes-amt{ background:var(--dtes-card); border:2px solid rgba(38,53,95,.14); border-radius:16px; padding:.9rem 1.5rem; font-family:"Fraunces",serif; font-size:1.4rem; color:var(--dtes-ink); display:inline-block; }
.dtes-amt--on{ border-color:var(--dtes-pink-deep); background:rgba(214,92,147,.08); }
.dtes-donatecard .elementor-widget-container{ background:var(--dtes-card); border-radius:18px; padding:1.6rem; box-shadow:0 6px 18px rgba(38,53,95,.08); border:1px solid rgba(38,53,95,.06); }
.dtes-donatecard h3{ font-family:"Fraunces",serif; color:var(--dtes-ink); margin:.1rem 0 .6rem; }
/* fake button row inside a text block (used in tiers/donate) */
.dtes-btnpair{ display:flex; gap:.6rem; flex-wrap:wrap; margin-top:.4rem; }
/* eyebrow centred inside .center sections handled by heading align */
/* card grids wrap to multiple rows when columns sum past 100% (e.g. 6×33% → 3+3) */
.elementor-inner-section > .elementor-container{ flex-wrap:wrap; row-gap:1.4rem; }
.elementor-inner-section .elementor-row{ flex-wrap:wrap; }
/* ===== Amelia: render inline on the page, not in a fixed-height scroll pane =====
   Amelia's catalog puts its service list in .am-cat__content with height/max-height
   ~656px and overflow-y:auto, holding ~2000px of content — so it reads as a scrolling
   embed. The parent wrappers get JS-computed inline pixel heights, hence !important
   (an important declaration beats a non-important inline style). */
#amelia-container .am-fc__wrapper,
#amelia-container .am-cat__wrapper,
#amelia-container .am-cat__main,
#amelia-container .am-cat__form,
#amelia-container .am-fcil__main,
#amelia-container .am-cat__content,
#amelia-container .am-fcil__wrapper,
#amelia-container .am-fcil__items-list{
  height:auto !important;
  max-height:none !important;
  min-height:0 !important;
  overflow:visible !important;
}
/* the panel chrome reads as an "embed box" — let it sit flat on the page */
#amelia-container .am-cat__wrapper{ background:transparent !important; padding:0 !important; border-radius:0 !important; box-shadow:none !important; }
/* service names were clipped to ~105px ("Gentle Movement (over 50s)" needs ~228px) */
#amelia-container .am-fcil__item-name{
  white-space:normal !important;
  overflow:visible !important;
  text-overflow:clip !important;
  height:auto !important;
}
/* ===== DTES month calendar ([dtes_month_calendar]) ===== */
.dtes-cal{ margin:1.2rem 0 .4rem; }
.dtes-cal__bar{ display:flex; align-items:center; justify-content:space-between; gap:1rem; margin-bottom:.2rem; }
.dtes-cal__title{ font-family:"Fraunces",serif; color:var(--dtes-ink); font-size:1.6rem; margin:0; text-align:center; flex:1; }
.dtes-cal__nav{ font-weight:700; color:var(--dtes-ink); text-decoration:none; border:2px solid rgba(38,53,95,.18);
  border-radius:999px; padding:.35rem 1rem; white-space:nowrap; font-size:.95rem; }
.dtes-cal__nav:hover{ border-color:var(--dtes-pink-deep); color:var(--dtes-pink-deep); }
/* Placeholder for a month arrow we deliberately don't offer (nothing scheduled that way).
   Keeps the month title optically centred instead of letting it slide across. */
.dtes-cal__nav.is-off{ border-color:transparent; pointer-events:none; visibility:hidden; min-width:5.5rem; }
.dtes-cal__count{ text-align:center; color:#41527D; font-size:.95rem; margin:.1rem 0 1rem; }

.dtes-cal__grid{ display:grid; grid-template-columns:repeat(7,1fr); gap:6px; }
.dtes-cal__dow{ font-weight:700; color:#41527D; font-size:.85rem; text-transform:uppercase;
  letter-spacing:.06em; text-align:center; padding:.3rem 0; }
.dtes-cal__cell{ background:var(--dtes-card); border:1px solid rgba(38,53,95,.10); border-radius:12px;
  min-height:104px; padding:.4rem .4rem .5rem; display:flex; flex-direction:column; gap:4px; }
.dtes-cal__cell.is-empty{ background:transparent; border:0; min-height:0; }
.dtes-cal__cell.is-quiet{ background:rgba(255,255,255,.45); }
.dtes-cal__cell.is-today{ border-color:var(--dtes-pink-deep); box-shadow:0 0 0 2px rgba(214,92,147,.18); }
.dtes-cal__num{ font-weight:700; color:var(--dtes-ink); font-size:.9rem; line-height:1; }

.dtes-cal__ev{ display:block; text-decoration:none; background:rgba(214,92,147,.10);
  border-left:3px solid var(--dtes-pink-deep); border-radius:6px; padding:.3rem .4rem; }
.dtes-cal__ev:hover{ background:rgba(214,92,147,.18); }
.dtes-cal__ev.is-full{ background:rgba(38,53,95,.07); border-left-color:rgba(38,53,95,.35); }
.dtes-cal__t{ display:block; font-weight:700; color:var(--dtes-ink); font-size:.78rem; }
.dtes-cal__n{ display:block; color:var(--dtes-ink); font-size:.82rem; line-height:1.25; }
.dtes-cal__m{ display:block; color:#41527D; font-size:.72rem; }

/* mobile: a 7-column grid is unreadable at 390px — show a dated list instead */
.dtes-cal__list{ display:none; }
@media (max-width:760px){
  .dtes-cal__grid{ display:none; }
  .dtes-cal__list{ display:flex; flex-direction:column; gap:8px; }
  .dtes-cal__list .dtes-cal__ev{ padding:.7rem .85rem; border-radius:10px; border-left-width:4px; }
  .dtes-cal__list .dtes-cal__t{ font-size:.86rem; }
  .dtes-cal__list .dtes-cal__n{ font-size:1.02rem; font-weight:700; }
  .dtes-cal__list .dtes-cal__m{ font-size:.82rem; }
  .dtes-cal__title{ font-size:1.35rem; }
}
/* ===== /DTES-ELEMENTOR-LAYER ===== */
