/*
Theme Name: Un Pie a la Vez — Elementor Editable
Description: Tn Pie a la Vez
Version: 1.0
Author: Lehigh Business Services
*/
:root{--navy:#091b33;--navy2:#102a4b;--gold:#e6b958;--cream:#f5efe4;--paper:#fffdf8;--ink:#132033;--muted:#647080;--line:#ddd5c8;--shadow:0 24px 70px rgba(2,17,35,.18)}
html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.65 'DM Sans',sans-serif}*{box-sizing:border-box}a{color:inherit;text-decoration:none}button,input{font:inherit}
.upa-elementor-home{background:var(--paper)}.upa-elementor-main{width:100%;max-width:none;margin:0;padding:0}.upa-elementor-main .e-con{box-sizing:border-box;min-width:0}
/* Header */
.upa-header{min-height:84px!important;background:rgba(9,27,51,.97)!important;color:#fff;border-bottom:1px solid #ffffff24;padding:0 clamp(1.25rem,5vw,5rem)!important;z-index:50}.upa-brand-main .elementor-heading-title{font:700 .9rem/1 'DM Sans',sans-serif;letter-spacing:.18em;color:#fff;margin:0}.upa-brand-sub .elementor-heading-title{font:600 .62rem/1 'DM Sans',sans-serif;letter-spacing:.18em;color:var(--gold);margin:0}.upa-nav-link .elementor-button{background:transparent!important;color:#fff!important;border:0!important;padding:.4rem!important;font:600 .86rem/1 'DM Sans',sans-serif}.upa-nav-cta .elementor-button{border:1px solid var(--gold)!important;color:var(--gold)!important;background:transparent!important;padding:.6rem 1rem!important}
/* Hero */
.upa-hero{position:relative;overflow:hidden;color:#fff;background:var(--navy);background-size:cover!important;background-position:center!important}.upa-hero:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#041327f2 0%,#041327c7 38%,#0413272e 74%);pointer-events:none;z-index:1}.upa-hero-content,.upa-goal-card{z-index:2}.upa-eyebrow .elementor-heading-title,.upa-section-label .elementor-heading-title{font:700 .75rem/1.3 'DM Sans',sans-serif;letter-spacing:.18em;color:var(--gold);margin:0}.upa-section-label.light .elementor-heading-title{color:var(--gold)}.upa-hero-title .elementor-heading-title{font:700 clamp(3.6rem,7vw,7.2rem)/.94 'Playfair Display',serif;letter-spacing:-.045em;color:#fff;margin:1.3rem 0}.upa-hero-title em{color:var(--gold);font-style:italic}.upa-hero-copy .elementor-widget-container{font:400 clamp(1.05rem,1.8vw,1.35rem)/1.55 'DM Sans',sans-serif;color:#e5ebf2;max-width:590px}.button .elementor-button{display:inline-flex;justify-content:center;align-items:center;padding:1rem 1.4rem;font-weight:700;border:0;background:var(--gold);color:var(--navy)}.upa-text-link .elementor-button{background:transparent!important;color:#fff!important;border-bottom:1px solid #ffffff77!important;padding:.7rem 0!important}.upa-goal-card{background:var(--cream)!important;color:var(--ink);padding:1.5rem 2rem!important;box-shadow:var(--shadow)}.upa-goal-label .elementor-heading-title{font:500 .7rem/1.2 'DM Sans';text-transform:uppercase;letter-spacing:.13em;color:var(--muted);margin:0}.upa-goal-value .elementor-heading-title{font:700 1.7rem/1.1 'Playfair Display';color:var(--ink);margin:.2rem 0 0}.upa-goal-divider{background:var(--line)}
/* Shared sections */
.upa-section{padding:clamp(5rem,9vw,8rem) clamp(1.25rem,8vw,8rem)!important}.upa-section-title .elementor-heading-title,.upa-cta-title .elementor-heading-title,.upa-leader-title .elementor-heading-title{font:700 clamp(2.6rem,4.7vw,4.8rem)/1.04 'Playfair Display',serif;letter-spacing:-.035em;color:var(--ink);margin:1.6rem 0}.upa-lead .elementor-widget-container{font-size:1.35rem;line-height:1.45}.upa-body .elementor-widget-container{color:var(--muted)}.upa-facts{border-top:1px solid var(--line);margin-top:3rem!important;padding-top:1.4rem!important}.upa-fact-value .elementor-heading-title{font:700 2rem/1.1 'Playfair Display';color:#9a6814;margin:0}.upa-fact-label .elementor-widget-container{font-size:.75rem;color:var(--muted)}.upa-video{background:var(--navy);padding:1rem!important;box-shadow:var(--shadow)}.upa-video-placeholder{aspect-ratio:16/9;background:linear-gradient(145deg,#18395e,#07192f);color:#fff}.upa-video-caption .elementor-widget-container{color:var(--muted);font-size:.9rem;margin-top:1rem}
/* Programs */
.upa-programs{background:var(--navy);color:#fff}.upa-programs .upa-section-title .elementor-heading-title,.upa-programs .upa-section-intro .elementor-widget-container{color:#fff}.upa-section-heading{max-width:850px!important}.upa-section-intro .elementor-widget-container{color:var(--muted);font-size:1.05rem}.upa-program-grid{margin-top:3rem!important}.upa-program-card{background:#102a4b!important;color:#fff;overflow:hidden}.upa-program-image{width:100%}.upa-program-image img{width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;display:block}.upa-program-body{padding:1.3rem!important}.upa-card-num .elementor-widget-container{font-size:.72rem;color:var(--gold);font-weight:700}.upa-card-title .elementor-heading-title{font:700 1.35rem/1.1 'Playfair Display';color:#fff;margin:.55rem 0}.upa-card-copy .elementor-widget-container{color:#cbd6e2;font-size:.9rem}
/* Donation */
.upa-donation{background:var(--cream)!important}.upa-donation-visual{position:relative;background:var(--navy);overflow:hidden}.upa-donation-image img{width:100%;height:100%;object-fit:cover}.upa-timer-widget{background:#091b33e8;padding:1rem 1.25rem!important;color:#fff}.upa-timer-widget .elementor-widget-container{color:#fff}.upa-donation-content{padding:clamp(3rem,7vw,7rem)!important}.upa-progress-copy{font-size:.85rem;color:var(--muted)}.upa-progress{height:8px;background:#d9d0c0}.upa-progress span{display:block;height:100%;background:var(--gold)}.upa-amounts button{padding:.9rem .5rem;border:1px solid var(--line);background:#fffdf8;color:var(--ink);font-weight:700;cursor:pointer}.upa-amounts small{display:block;font-size:.65rem;color:var(--muted)}.upa-money-input{display:flex;border:1px solid var(--line);background:#fffdf8}.upa-money-input span{padding:.8rem;color:var(--muted)}.upa-money-input input{border:0;outline:0;background:transparent;width:100%;padding:.8rem}.upa-donate-button{width:100%;padding:1rem;border:0;cursor:pointer}
/* Testimonials / leaders */
.upa-testimonial{border-top:1px solid var(--line);padding:1.5rem!important}.upa-avatar{width:48px;height:48px;border-radius:50%;background:var(--navy);color:var(--gold);display:flex;align-items:center;justify-content:center}.upa-quote .elementor-widget-container{font:italic 1.5rem/1.35 'Playfair Display',serif;margin:1.5rem 0;color:var(--ink)}.upa-testimonial-name .elementor-widget-container{font-size:.8rem;color:var(--muted)}.upa-leaders{padding-bottom:0!important;background:var(--paper)}.upa-pastoral{background:var(--navy);color:#fff;padding:clamp(4rem,8vw,7rem)!important}.upa-leader-title .elementor-heading-title{color:#fff}.upa-body.light .elementor-widget-container{color:#d7e0ea}.upa-pastor-photo{background:#18395e;overflow:hidden}.upa-pastor-photo img{width:100%;height:100%;object-fit:cover}.upa-staff{padding-top:5rem!important}.upa-staff-card{background:#eef0ef;min-height:180px;padding:1rem!important}.upa-staff-photo .elementor-widget-container{font-size:.75rem;color:var(--muted)}
/* Sponsors / CTA */
.upa-sponsor{min-height:90px;border:1px solid var(--line);color:var(--muted);letter-spacing:.12em}.upa-final-cta{background:var(--navy);color:#fff;padding:clamp(5rem,9vw,8rem)!important}.upa-cta-title .elementor-heading-title{color:#fff}.upa-cta-verse .elementor-widget-container{color:#d7e0ea}.upa-thumb img{width:100%;aspect-ratio:1.4;object-fit:cover;display:block}
@media(max-width:767px){.upa-hero-title .elementor-heading-title{font-size:clamp(3rem,12vw,4rem)}.upa-section-title .elementor-heading-title,.upa-cta-title .elementor-heading-title,.upa-leader-title .elementor-heading-title{font-size:2.6rem}.upa-section{padding-left:1.25rem!important;padding-right:1.25rem!important}.upa-donation-content{padding:3rem 1.25rem!important}.upa-pastoral,.upa-final-cta{padding-left:1.25rem!important;padding-right:1.25rem!important}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* Elementor-safe layout corrections 3.4 */
.upa-program-grid > .e-con{flex:0 0 calc(25% - 12px)!important;min-width:0!important;}
.upa-staff-grid > .e-con{flex:0 0 calc(25% - 9px)!important;min-width:0!important;}
.upa-sponsor-row > .elementor-element{flex:0 0 calc(20% - 13px)!important;min-width:0!important;}
.upa-sponsor{min-height:90px!important;display:flex!important;align-items:center!important;justify-content:center!important;}
.upa-goal-card{position:absolute!important;right:clamp(1.25rem,5vw,5rem)!important;bottom:0!important;width:360px!important;max-width:42%!important;}
.upa-goal-card > .e-con{flex:1 1 0!important;min-width:0!important;}
.upa-goal-card > .upa-goal-divider{flex:0 0 1px!important;}
@media(max-width:1024px){.upa-program-grid > .e-con{flex-basis:calc(50% - 8px)!important}.upa-staff-grid > .e-con{flex-basis:calc(50% - 6px)!important}.upa-sponsor-row > .elementor-element{flex-basis:calc(50% - 8px)!important}.upa-goal-card{max-width:42%!important}}
@media(max-width:767px){.upa-program-grid > .e-con{flex-basis:100%!important}.upa-staff-grid > .e-con{flex-basis:calc(50% - 6px)!important}.upa-sponsor-row > .elementor-element{flex-basis:calc(50% - 8px)!important}.upa-goal-card{position:relative!important;right:auto!important;bottom:auto!important;width:calc(100% - 2.5rem)!important;max-width:none!important;margin:0 1.25rem 1.25rem!important}}
/* Do not impose desktop grid behavior on Elementor containers; these rules only compensate for flex gaps. */

/* 3.5 — Header rebuilt to match the original reference */
.upa-header{position:relative!important;min-height:84px!important;height:84px!important;padding-left:clamp(2rem,5vw,5rem)!important;padding-right:clamp(2rem,5vw,5rem)!important;background:#091b33!important;box-sizing:border-box!important;}
.upa-brand{display:flex!important;flex-direction:row!important;align-items:center!important;gap:12px!important;min-width:170px!important;position:relative!important;}
.upa-brand::before{content:"";width:38px;height:38px;border:1.5px solid #e6b958;transform:rotate(45deg);display:block;flex:0 0 38px;box-sizing:border-box;}
.upa-brand::after{content:"★";position:absolute;left:11px;top:8px;color:#e6b958;font-size:12px;line-height:1;transform:scale(.72);}
.upa-brand-main .elementor-heading-title{font:700 1.05rem/1 'DM Sans',sans-serif!important;letter-spacing:.08em!important;color:#fff!important;margin:0!important;}
.upa-brand-sub .elementor-heading-title{font:600 .58rem/1 'DM Sans',sans-serif!important;letter-spacing:.30em!important;color:#e6b958!important;margin:5px 0 0!important;}
.upa-brand-sub{margin-top:0!important;}
.upa-nav-links{gap:30px!important;align-items:center!important;}
.upa-nav-link{margin:0!important;}
.upa-nav-link .elementor-button{background:transparent!important;color:#fff!important;border:0!important;border-radius:0!important;box-shadow:none!important;padding:8px 0!important;font:600 .92rem/1 'DM Sans',sans-serif!important;letter-spacing:0!important;}
.upa-nav-link .elementor-button:hover{background:transparent!important;color:#e6b958!important;}
.upa-nav-cta .elementor-button{border:1px solid #e6b958!important;color:#e6b958!important;background:transparent!important;padding:13px 22px!important;border-radius:0!important;}
.upa-nav-cta .elementor-button:hover{background:#e6b958!important;color:#091b33!important;}

/* 3.5 — Final impact gallery: exact 2x2 composition */
.upa-final-cta{box-sizing:border-box!important;}
.upa-impact-thumbs{display:flex!important;flex-wrap:wrap!important;align-content:center!important;align-items:stretch!important;gap:12px!important;}
.upa-impact-thumbs > .elementor-element{flex:0 0 calc(50% - 6px)!important;width:calc(50% - 6px)!important;max-width:calc(50% - 6px)!important;min-width:0!important;margin:0!important;}
.upa-thumb{width:100%!important;display:block!important;overflow:hidden!important;}
.upa-thumb .elementor-widget-container{width:100%!important;aspect-ratio:1.69!important;overflow:hidden!important;background-size:cover!important;background-position:center!important;}
.upa-thumb img{width:100%!important;height:100%!important;object-fit:cover!important;display:block!important;opacity:0!important;}
.upa-impact-thumbs > .elementor-element:nth-child(1) .elementor-widget-container{background-image:url('./assets/images/impact-1.jpg')!important;}
.upa-impact-thumbs > .elementor-element:nth-child(2) .elementor-widget-container{background-image:url('./assets/images/impact-2.jpg')!important;}
.upa-impact-thumbs > .elementor-element:nth-child(3) .elementor-widget-container{background-image:url('./assets/images/impact-3.jpg')!important;}
.upa-impact-thumbs > .elementor-element:nth-child(4) .elementor-widget-container{background-image:url('./assets/images/impact-4.jpg')!important;}

@media(max-width:1024px){
 .upa-nav-links{gap:20px!important;}
 .upa-impact-thumbs{width:100%!important;}
}
@media(max-width:767px){
 .upa-header{height:auto!important;min-height:76px!important;padding:14px 20px!important;}
 .upa-brand{min-width:0!important;}
 .upa-brand::before{width:32px;height:32px;flex-basis:32px;}
 .upa-brand::after{left:9px;top:7px;font-size:10px;}
 .upa-brand-main .elementor-heading-title{font-size:.9rem!important;}
 .upa-brand-sub .elementor-heading-title{font-size:.5rem!important;}
 .upa-nav-links{gap:10px!important;}
 .upa-nav-link .elementor-button{font-size:.78rem!important;}
 .upa-impact-thumbs > .elementor-element{flex-basis:calc(50% - 6px)!important;width:calc(50% - 6px)!important;max-width:calc(50% - 6px)!important;}
}


/* 3.6 — Header + hero stacking and typography corrections */
body .upa-header{
  position:relative!important;
  z-index:100!important;
  height:100px!important;
  min-height:100px!important;
  padding-left:clamp(2rem,4.7vw,5rem)!important;
  padding-right:clamp(2rem,4.7vw,5rem)!important;
  background:#091b33!important;
  border-bottom:0!important;
}
body .upa-brand{
  position:relative!important;
  display:flex!important;
  align-items:center!important;
  flex-direction:row!important;
  gap:12px!important;
  min-width:190px!important;
  min-height:56px!important;
  padding-left:62px!important;
  background-image:url('./assets/images/logo-mark.svg')!important;
  background-repeat:no-repeat!important;
  background-position:left center!important;
  background-size:52px 52px!important;
}
body .upa-brand::before,body .upa-brand::after{content:none!important;display:none!important;}
body .upa-brand-main .elementor-heading-title{
  font-family:'DM Sans',sans-serif!important;
  font-size:1.12rem!important;
  line-height:1!important;
  font-weight:700!important;
  letter-spacing:.08em!important;
  color:#fff!important;
  margin:0!important;
}
body .upa-brand-sub .elementor-heading-title{
  font-family:'DM Sans',sans-serif!important;
  font-size:.56rem!important;
  line-height:1!important;
  font-weight:600!important;
  letter-spacing:.28em!important;
  color:#e6b958!important;
  margin:5px 0 0!important;
}
body .upa-nav-links{
  display:flex!important;
  align-items:center!important;
  justify-content:flex-end!important;
  gap:30px!important;
}
body .upa-nav-link .elementor-button,
body .upa-nav-link .elementor-button:hover,
body .upa-nav-link .elementor-button:focus{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-height:0!important;
  width:auto!important;
  background:transparent!important;
  background-color:transparent!important;
  background-image:none!important;
  color:#fff!important;
  border:0!important;
  border-color:transparent!important;
  border-radius:0!important;
  box-shadow:none!important;
  padding:8px 0!important;
  font-family:'DM Sans',sans-serif!important;
  font-size:.93rem!important;
  line-height:1!important;
  font-weight:600!important;
  letter-spacing:0!important;
  text-transform:none!important;
}
body .upa-nav-link .elementor-button-text{color:inherit!important;}
body .upa-nav-cta .elementor-button,
body .upa-nav-cta .elementor-button:hover,
body .upa-nav-cta .elementor-button:focus{
  min-height:0!important;
  background:transparent!important;
  background-color:transparent!important;
  color:#e6b958!important;
  border:1px solid #e6b958!important;
  border-radius:0!important;
  padding:13px 22px!important;
}
body .upa-nav-cta .elementor-button:hover{background:#e6b958!important;color:#091b33!important;}

/* Hero: overlay must stay behind every text/control layer */
body .upa-hero{position:relative!important;isolation:isolate!important;}
body .upa-hero::after{z-index:0!important;}
body .upa-hero-content,
body .upa-hero-content.e-con,
body .upa-goal-card,
body .upa-hero-actions{position:relative!important;z-index:3!important;}
body .upa-hero-content{max-width:820px!important;}
body .upa-eyebrow .elementor-heading-title{
  font-family:'DM Sans',sans-serif!important;
  font-size:.76rem!important;
  line-height:1.25!important;
  font-weight:700!important;
  letter-spacing:.20em!important;
  color:#e6b958!important;
  text-transform:uppercase!important;
}
body .upa-hero-title .elementor-heading-title{
  max-width:820px!important;
  font-family:'Playfair Display',Georgia,serif!important;
  font-size:clamp(4.1rem,6.2vw,6.4rem)!important;
  line-height:.92!important;
  font-weight:700!important;
  letter-spacing:-.045em!important;
  color:#fff!important;
  margin:1.2rem 0 1.35rem!important;
  position:relative!important;
  z-index:4!important;
}
body .upa-hero-title em{
  color:#e6b958!important;
  font-family:'Playfair Display',Georgia,serif!important;
  font-style:italic!important;
  font-weight:600!important;
}
body .upa-hero-copy,
body .upa-hero-copy .elementor-widget-container{
  position:relative!important;
  z-index:4!important;
  color:#e5ebf2!important;
  font-family:'DM Sans',sans-serif!important;
  font-size:clamp(1.05rem,1.55vw,1.35rem)!important;
  line-height:1.58!important;
  font-weight:400!important;
  max-width:650px!important;
}
body .upa-hero-actions{z-index:4!important;}

@media(max-width:1024px){
 body .upa-header{height:88px!important;min-height:88px!important;}
 body .upa-nav-links{gap:20px!important;}
 body .upa-hero-content{max-width:760px!important;}
 body .upa-hero-title .elementor-heading-title{font-size:clamp(3.7rem,7vw,5.6rem)!important;}
}
@media(max-width:767px){
 body .upa-header{height:auto!important;min-height:76px!important;padding:12px 20px!important;}
 body .upa-brand{min-height:48px!important;padding-left:48px!important;background-size:42px 42px!important;}
 body .upa-brand-main .elementor-heading-title{font-size:.9rem!important;}
 body .upa-brand-sub .elementor-heading-title{font-size:.48rem!important;}
 body .upa-hero-content{max-width:none!important;}
 body .upa-hero-title .elementor-heading-title{font-size:clamp(3rem,12vw,4.1rem)!important;}
}

/* 3.7 — Hero goal card: fixed compact dimensions like the reference */
body .upa-goal-card{
  position:absolute!important;
  right:clamp(1.25rem,5vw,5rem)!important;
  bottom:0!important;
  width:360px!important;
  height:132px!important;
  min-height:132px!important;
  max-height:132px!important;
  max-width:42%!important;
  box-sizing:border-box!important;
  display:flex!important;
  align-items:center!important;
  align-self:flex-end!important;
  flex:0 0 132px!important;
  overflow:hidden!important;
}
body .upa-goal-card > .e-con,
body .upa-goal-card .upa-goal-item{
  height:auto!important;
  min-height:0!important;
  max-height:none!important;
  align-self:center!important;
  flex:1 1 0!important;
}
body .upa-goal-card > .upa-goal-divider{
  height:44px!important;
  min-height:44px!important;
  max-height:44px!important;
  flex:0 0 1px!important;
  align-self:center!important;
}
body .upa-goal-card .upa-goal-label .elementor-heading-title{margin:0!important;}
body .upa-goal-card .upa-goal-value .elementor-heading-title{margin:.25rem 0 0!important;}

/* One-page navigation: keep anchors visible below the fixed header */
#nosotros,#programas,#historias,#liderazgo,#donar{
  scroll-margin-top:88px!important;
}
html{scroll-behavior:smooth;}

@media(max-width:1024px){
  body .upa-goal-card{
    width:360px!important;
    max-width:42%!important;
    height:128px!important;
    min-height:128px!important;
    max-height:128px!important;
    flex-basis:128px!important;
  }
}
@media(max-width:767px){
  body .upa-goal-card{
    position:relative!important;
    right:auto!important;
    bottom:auto!important;
    width:calc(100% - 2.5rem)!important;
    max-width:none!important;
    height:132px!important;
    min-height:132px!important;
    max-height:132px!important;
    margin:0 1.25rem 1.25rem!important;
    flex:0 0 132px!important;
  }
}