/* ==========================================================================
   Pathway to Purpose Stays — WordPress & Elementor compatibility
   Keeps Elementor's wrappers neutral so the design in site.css renders exactly as approved.
   ========================================================================== */

/* Elementor sections created for the theme widgets: edge to edge, no gaps */
.elementor .ptps-el>.elementor-container,
.elementor .ptps-el>.elementor-container>.elementor-column>.elementor-widget-wrap,
.elementor .ptps-el>.elementor-container>.elementor-column>.elementor-element-populated{padding:0}
.elementor .ptps-el>.elementor-container{max-width:none}
.elementor .ptps-el .elementor-column,
.elementor .ptps-el .elementor-widget-wrap,
.elementor .ptps-el .elementor-widget,
.elementor .ptps-el .elementor-widget-container{min-width:0}
.elementor .ptps-el .elementor-widget{margin:0}

/* Same for any new section or container a Pathway widget is dropped into from the Elementor panel */
.elementor-section:has(>.elementor-container>.elementor-column>.elementor-widget-wrap>[class*="elementor-widget-ptps-"])>.elementor-container{max-width:none}
.elementor-section:has(>.elementor-container>.elementor-column>.elementor-widget-wrap>[class*="elementor-widget-ptps-"])>.elementor-container>.elementor-column>.elementor-element-populated{padding:0}
.e-con:has(>[class*="elementor-widget-ptps-"]),
.e-con:has(>.e-con-inner>[class*="elementor-widget-ptps-"]){--padding-top:0px;--padding-right:0px;--padding-bottom:0px;--padding-left:0px;--content-width:100%;--container-max-width:100%;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--margin-top:0px;--margin-bottom:0px}
.e-con>.e-con-inner:has(>[class*="elementor-widget-ptps-"]){max-width:none;padding:0}
.elementor [class*="elementor-widget-ptps-"]{margin-block:0;max-width:100%}
.elementor [class*="elementor-widget-ptps-"]{width:100%}
.elementor [class*="elementor-widget-ptps-"]>.elementor-widget-container{margin:0;padding:0}

/* Elementor turns on smooth scrolling for the whole page; the design scrolls instantly except where its scripts ask */
html:root{scroll-behavior:auto}

/* Elementor resets images and links inside .elementor; restore the design's values */
.elementor .ph-img img{height:100%}
.elementor .lb-img{border-radius:20px}
.elementor .privacy-note a{text-decoration:underline}

/* Optional team photos and live map */
.member .avatar img{width:100%;height:100%;object-fit:cover;border-radius:50%}
.map iframe{display:block}

/* Form send state */
.ptps-send-err{display:block;margin-top:16px;color:var(--error);font-size:.92rem;line-height:1.5;font-weight:500}
.btn[aria-busy="true"]{opacity:.7;pointer-events:none}

/* WordPress admin bar (logged-in visitors only) */
.admin-bar .top{top:32px}
.admin-bar .sheet{padding-top:calc(var(--util-h) + var(--hdr-h) + 44px)}
@media screen and (max-width:782px){
  .admin-bar .top{top:46px}
  .admin-bar .sheet{padding-top:calc(var(--util-h) + var(--hdr-h) + 58px)}
  #wpadminbar{position:fixed}
}

/* Elementor editor preview: show every animated element in its final state */
:is(.elementor-editor-active,.ptps-editor) .rv{clip-path:none}
:is(.elementor-editor-active,.ptps-editor) .rv .ph-img img{transform:none}
:is(.elementor-editor-active,.ptps-editor) .w>span{transform:none}
:is(.elementor-editor-active,.ptps-editor) .arch{clip-path:none}
:is(.elementor-editor-active,.ptps-editor) .arch .ph-img img{transform:none}
:is(.elementor-editor-active,.ptps-editor) .arch-tag{opacity:1;transform:none}
:is(.elementor-editor-active,.ptps-editor) .ring circle{stroke-dashoffset:.24}
:is(.elementor-editor-active,.ptps-editor) .phero-ring circle{stroke-dashoffset:.06}
:is(.elementor-editor-active,.ptps-editor) .lit .lw{opacity:1}
:is(.elementor-editor-active,.ptps-editor) .week .day i{transform:scaleY(var(--h,1))}
:is(.elementor-editor-active,.ptps-editor) .step-body{opacity:1}
:is(.elementor-editor-active,.ptps-editor) .step-node{transform:none;background:var(--gold);color:var(--plum)}
:is(.elementor-editor-active,.ptps-editor) .threshold{height:auto}
:is(.elementor-editor-active,.ptps-editor) .threshold-pin{position:static;height:auto;padding-block:60px}
:is(.elementor-editor-active,.ptps-editor) .top{position:absolute}

/* Plain WordPress content (posts, pages not built with Elementor) */
.ptps-entry>*+*{margin-top:1.1em}
.ptps-entry h2{font-size:clamp(1.4rem,2.2vw,1.9rem);margin:1.6em 0 .5em}
.ptps-entry h3{margin:1.4em 0 .4em}
.ptps-entry ul{list-style:disc;padding-left:1.4em}
.ptps-entry ol{list-style:decimal;padding-left:1.4em}
.ptps-entry li+li{margin-top:.4em}
.ptps-entry a:not(.btn){color:var(--plum);font-weight:600}
.ptps-entry img{height:auto;border-radius:var(--r-md)}
.ptps-entry blockquote{margin:1.4em 0;padding-left:20px;border-left:3px solid var(--gold)}
.ptps-post+.ptps-post{margin-top:40px;padding-top:40px;border-top:1px solid var(--line)}
.ptps-post h2{margin:0 0 6px}
.ptps-post h2 a{text-decoration:none}
.ptps-entry .nav-links{display:flex;gap:12px;margin-top:40px}

/* FAQ widget — same type, colours and rules as "What we believe" */
.faq{border-top:1px solid var(--line);max-width:62rem}
.faq-item{border-bottom:1px solid var(--line)}
.faq-item summary{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:clamp(20px,2.4vw,28px) 0;cursor:pointer;list-style:none;-webkit-tap-highlight-color:transparent}
.faq-item summary::-webkit-details-marker{display:none}
.faq-item summary h3{font-size:clamp(1.15rem,1.9vw,1.5rem);letter-spacing:-.02em;color:var(--plum);line-height:1.3}
.faq-ico{position:relative;flex:none;width:40px;height:40px;border-radius:50%;background:var(--gold);transition:transform .35s var(--ease-out)}
.faq-ico::before,.faq-ico::after{content:"";position:absolute;left:50%;top:50%;width:14px;height:2px;margin:-1px 0 0 -7px;border-radius:2px;background:var(--plum);transition:transform .35s var(--ease-out)}
.faq-ico::after{transform:rotate(90deg)}
.faq-item[open] .faq-ico::after{transform:rotate(0deg)}
@media (hover:hover){.faq-item summary:hover .faq-ico{transform:scale(1.08)}}
.faq-a{padding:0 64px clamp(22px,2.6vw,30px) 0;color:var(--ink-soft);font-size:1.06rem}
@media (max-width:640px){.faq-a{padding-right:0}}
.faq-a a,.aside-card a.ptps-contact-link{font-weight:600}

/* Tap-to-call / tap-to-email links keep the surrounding text style */
a.ptps-contact-link{color:inherit;text-decoration:none}
@media (hover:hover){a.ptps-contact-link:hover{text-decoration:underline;text-underline-offset:.2em}}
