/* Elovyn Elementor Widgets — base styles (mirror of the approved home page design).
   Every value below is only a DEFAULT: Elementor controls override them per widget. */
:root{
  --ev-cream:#F2F4F0; --ev-ivory:#F8FAF8; --ev-parch:#E4EAE4;
  --ev-gold:#C9A96E; --ev-gold-d:#A8844A; --ev-gold-l:#E8C98A;
  --ev-charcoal:#1B2A1E; --ev-mid:#6B5B4E; --ev-light:#9B8B7E;
  --ev-serif:'Cormorant Garamond',serif; --ev-sans:'Jost',sans-serif;
}
.elementor-widget[class*="elementor-widget-elovyn_"]{width:100%;max-width:100%;}
.elementor-widget[class*="elementor-widget-elovyn_"] > .elementor-widget-container{width:100%;}
.ev,.ev *,.ev *::before,.ev *::after{box-sizing:border-box;}
.ev{font-family:var(--ev-sans);font-weight:300;color:var(--ev-charcoal);text-align:left;}
/* Reset kept at zero specificity so the component classes below always win. */
:where(.ev) :is(h1,h2,h3,h4,p,ul,li){margin:0;padding:0;}
:where(.ev) ul{list-style:none;}
:where(.ev) a{text-decoration:none;}
.ev em{font-style:italic;color:var(--ev-gold);}

/* ---------- Buttons ---------- */
.ev-btn{display:inline-block;font-family:var(--ev-sans);font-size:10px;letter-spacing:2.5px;text-transform:uppercase;padding:14px 32px;transition:all .3s;cursor:pointer;}
.ev-btn--primary{background:linear-gradient(135deg,var(--ev-btn-1,var(--ev-gold-d)) 0%,var(--ev-btn-2,var(--ev-gold)) 60%,var(--ev-btn-3,var(--ev-gold-l)) 100%);color:#fff;border:0;}
.ev-btn--primary:hover{box-shadow:0 6px 28px rgba(201,169,110,.5);transform:translateY(-1px);color:#fff;}
.ev-btn--outline{border:1px solid var(--ev-gold);color:var(--ev-gold);background:transparent;}
.ev-btn--outline:hover{background:var(--ev-gold);color:#fff;border-color:var(--ev-gold);}

/* ---------- Header ---------- */
.ev-header{display:flex;align-items:center;justify-content:space-between;padding:18px 40px;background:linear-gradient(135deg,#1B2A1E 0%,#243528 60%,#1B2A1E 100%);border-bottom:1px solid rgba(201,169,110,.25);z-index:100;}
.ev-header--sticky{position:sticky;top:0;}
.ev-logo{font-family:var(--ev-serif);font-size:22px;font-weight:400;letter-spacing:2px;background:linear-gradient(135deg,var(--ev-logo-1,var(--ev-gold)) 0%,var(--ev-logo-2,var(--ev-gold-l)) 50%,var(--ev-logo-3,var(--ev-gold-d)) 100%);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:transparent;}
.ev-nav{display:flex;gap:36px;}
.ev-nav a{font-size:10px;letter-spacing:2.5px;text-transform:uppercase;color:rgba(255,255,255,.55);transition:color .3s;}
.ev-nav a:hover{color:var(--ev-gold);}
.ev-header-cta{font-size:10px;letter-spacing:2px;text-transform:uppercase;color:var(--ev-gold);border:1px solid var(--ev-gold);padding:10px 20px;transition:all .3s;}
.ev-header-cta:hover{background:var(--ev-gold);color:#fff;}

/* ---------- Hero ---------- */
.ev-hero{min-height:92vh;background:var(--ev-cream);display:flex;align-items:center;padding:60px 40px;position:relative;overflow:hidden;}
.ev-hero__img{position:absolute;right:0;top:0;height:100%;width:50%;object-fit:cover;object-position:right center;opacity:.85;pointer-events:none;z-index:0;
  -webkit-mask-image:linear-gradient(to left,rgba(0,0,0,1) 30%,rgba(0,0,0,.3) 70%,rgba(0,0,0,0) 100%);
  mask-image:linear-gradient(to left,rgba(0,0,0,1) 30%,rgba(0,0,0,.3) 70%,rgba(0,0,0,0) 100%);}
.ev-hero__img--nomask{-webkit-mask-image:none;mask-image:none;}
.ev-hero__content{position:relative;z-index:1;max-width:540px;}
.ev-hero__eyebrow{font-size:10px;letter-spacing:4px;text-transform:uppercase;color:var(--ev-gold);margin-bottom:8px;}
.ev-hero__features{min-height:28px;margin-bottom:20px;position:relative;}
.ev-hero__feature{font-size:11px;letter-spacing:2px;color:var(--ev-gold-d);text-transform:uppercase;opacity:0;transition:opacity .6s;position:absolute;left:0;top:0;}
.ev-hero__feature.is-active{opacity:1;position:relative;}
.ev-hero h1{font-family:var(--ev-serif);font-size:60px;font-weight:300;line-height:1.1;color:var(--ev-charcoal);margin-bottom:20px;}
.ev-hero__sub{font-size:15px;line-height:1.8;color:var(--ev-mid);margin-bottom:32px;max-width:420px;}
.ev-hero__btns{display:flex;gap:12px;flex-wrap:wrap;}

/* ---------- Trust strip ---------- */
.ev-trust{background:var(--ev-charcoal);padding:14px 40px;display:flex;align-items:center;justify-content:center;gap:48px;flex-wrap:wrap;}
.ev-trust__item{font-size:9px;letter-spacing:2.5px;text-transform:uppercase;color:rgba(255,255,255,.6);display:flex;align-items:center;gap:8px;}
.ev-trust__icon{color:var(--ev-gold);}

/* ---------- Shared section bits ---------- */
.ev-section{padding:90px 40px;}
.ev-eyebrow{font-size:9px;letter-spacing:4px;text-transform:uppercase;color:var(--ev-gold);margin-bottom:12px;text-align:center;}
.ev-title{font-family:var(--ev-serif);font-size:42px;font-weight:300;color:var(--ev-charcoal);text-align:center;margin-bottom:14px;line-height:1.2;}
.ev-sub{font-size:14px;color:var(--ev-mid);text-align:center;max-width:500px;margin:0 auto 56px;line-height:1.8;}

/* ---------- Story / about ---------- */
.ev-story{background:var(--ev-ivory);}
.ev-story__grid{display:grid;grid-template-columns:1fr 1fr;gap:80px;max-width:1000px;margin:0 auto;align-items:center;}
.ev-story__text h2{font-family:var(--ev-serif);font-size:44px;font-weight:300;line-height:1.15;color:var(--ev-charcoal);margin-bottom:24px;}
.ev-story__text p{font-size:14px;line-height:1.9;color:var(--ev-mid);margin-bottom:16px;}
.ev-story__text .ev-btn{margin-top:16px;padding:14px 32px;}
.ev-story__stats{display:grid;grid-template-columns:1fr 1fr;gap:20px;}
.ev-stat{border:1px solid rgba(201,169,110,.25);padding:28px 20px;text-align:center;background:var(--ev-cream);}
.ev-stat__num{font-family:var(--ev-serif);font-size:38px;font-weight:300;color:var(--ev-gold);display:block;margin-bottom:6px;}
.ev-stat__label{font-size:9px;letter-spacing:2px;text-transform:uppercase;color:var(--ev-mid);}

/* ---------- How it works ---------- */
.ev-steps{background:var(--ev-cream);}
.ev-steps__grid{display:grid;grid-template-columns:repeat(4,1fr);gap:32px;max-width:1100px;margin:0 auto;}
.ev-step{text-align:center;padding:36px 24px;background:var(--ev-ivory);border:1px solid rgba(201,169,110,.15);position:relative;}
.ev-step::before{content:'';position:absolute;top:0;left:50%;transform:translateX(-50%);width:40px;height:2px;background:var(--ev-gold);}
.ev-step__num{font-family:var(--ev-serif);font-size:52px;font-weight:300;color:rgba(201,169,110,.2);display:block;margin-bottom:12px;}
.ev-step__title{font-family:var(--ev-serif);font-size:20px;font-weight:300;color:var(--ev-charcoal);margin-bottom:12px;}
.ev-step__desc{font-size:12px;line-height:1.8;color:var(--ev-mid);}

/* ---------- Personal link ---------- */
.ev-plink{background:var(--ev-charcoal);}
.ev-plink .ev-title{color:var(--ev-ivory);}
.ev-plink .ev-sub{color:rgba(255,255,255,.5);}
.ev-plink__grid{display:grid;grid-template-columns:repeat(2,1fr);gap:2px;max-width:800px;margin:0 auto;}
.ev-plink__item{background:rgba(255,255,255,.04);padding:36px 32px;border:1px solid rgba(201,169,110,.1);}
.ev-plink__icon{font-size:24px;margin-bottom:14px;display:block;}
.ev-plink__item h3{font-family:var(--ev-serif);font-size:20px;font-weight:300;color:var(--ev-ivory);margin-bottom:8px;}
.ev-plink__item p{font-size:12px;line-height:1.8;color:rgba(255,255,255,.5);}

/* ---------- Timeline ---------- */
.ev-timeline{background:var(--ev-ivory);}
.ev-timeline__list{max-width:700px;margin:0 auto;display:flex;flex-direction:column;}
.ev-timeline__item{display:grid;grid-template-columns:140px 1fr;gap:32px;padding:28px 0;border-bottom:1px solid rgba(201,169,110,.15);align-items:start;}
.ev-timeline__item:last-child{border-bottom:none;}
.ev-timeline__period{font-size:10px;letter-spacing:2px;text-transform:uppercase;color:var(--ev-gold);padding-top:4px;}
.ev-timeline__desc{font-size:14px;line-height:1.8;color:var(--ev-mid);}
.ev-timeline__desc strong{color:var(--ev-charcoal);font-weight:400;font-family:var(--ev-serif);font-size:18px;display:block;margin-bottom:4px;}
.ev-timeline__note{font-size:11px;color:var(--ev-light);text-align:center;margin:32px auto 0;max-width:500px;line-height:1.7;}

/* ---------- Specialist ---------- */
.ev-specialist{background:var(--ev-cream);}
.ev-specialist__box{max-width:700px;margin:0 auto;border:1.5px solid rgba(201,169,110,.3);padding:56px 48px;text-align:center;position:relative;}
.ev-specialist__box.has-ornament::before,.ev-specialist__box.has-ornament::after{content:'✦';position:absolute;color:var(--ev-gold);font-size:12px;}
.ev-specialist__box.has-ornament::before{top:20px;left:20px;}
.ev-specialist__box.has-ornament::after{bottom:20px;right:20px;}
.ev-specialist__box .ev-eyebrow{text-align:center;font-size:14px;line-height:1.9;color:var(--ev-mid);margin-bottom:8px;}
.ev-specialist__box h2{font-family:var(--ev-serif);font-size:36px;font-weight:300;color:var(--ev-charcoal);margin-bottom:16px;}
.ev-specialist__text{font-size:14px;line-height:1.9;color:var(--ev-mid);margin-bottom:8px;}
.ev-specialist__hours{font-size:14px;line-height:1.9;letter-spacing:2px;text-transform:uppercase;color:var(--ev-mid);margin:20px 0 8px;}
.ev-specialist__note{font-size:12px;line-height:1.9;color:var(--ev-light);margin-bottom:8px;}
.ev-specialist__box .ev-btn{margin-top:28px;}

/* ---------- Routine card ---------- */
.ev-routines{background:var(--ev-parch);}
.ev-routines__wrap{display:flex;justify-content:center;}
.ev-card{width:100%;max-width:520px;background:var(--ev-ivory);border:1px solid rgba(201,169,110,.25);border-radius:16px;padding:36px 32px;transition:box-shadow .3s;display:flex;flex-direction:column;}
.ev-card:hover{box-shadow:0 8px 32px rgba(201,169,110,.15);}
.ev-card__header{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px;}
.ev-card__tag{font-size:9px;letter-spacing:3px;text-transform:uppercase;color:var(--ev-gold);margin-bottom:10px;}
.ev-card__steps{font-size:9px;letter-spacing:1.5px;text-transform:uppercase;color:var(--ev-light);}
.ev-card h3{font-family:var(--ev-serif);font-size:22px;font-weight:300;color:var(--ev-charcoal);margin-bottom:6px;}
.ev-card__concern{font-size:12px;color:var(--ev-mid);margin-bottom:16px;line-height:1.6;}
.ev-card__products{margin-bottom:16px;display:flex;flex-direction:column;gap:4px;}
.ev-card__products li{font-size:11px;color:var(--ev-mid);padding:5px 0;border-bottom:1px solid rgba(201,169,110,.1);}
.ev-card__divider{border:none;border-top:1px solid rgba(201,169,110,.2);margin:16px 0;}
.ev-card__pricing{margin-bottom:16px;}
.ev-counter{background:linear-gradient(135deg,#1B2A1E 0%,#243528 60%,#1B2A1E 100%);border:1px solid rgba(201,169,110,.2);padding:20px 24px;border-radius:10px;margin-bottom:20px;text-align:center;}
.ev-counter__title{font-size:9px;letter-spacing:3px;text-transform:uppercase;color:var(--ev-gold);margin-bottom:10px;}
.ev-counter__track{background:rgba(255,255,255,.1);border-radius:20px;height:8px;margin-bottom:10px;overflow:hidden;}
.ev-counter__bar{height:100%;background:linear-gradient(90deg,var(--ev-gold-d),var(--ev-gold));border-radius:20px;transition:width 1s ease;width:0;}
.ev-counter__nums{display:flex;justify-content:space-between;align-items:baseline;}
.ev-counter__taken{font-family:var(--ev-serif);font-size:28px;font-weight:300;color:#fff;}
.ev-counter__taken small{font:inherit;color:inherit;}
.ev-counter__left{font-size:11px;color:var(--ev-gold);letter-spacing:1px;}
.ev-counter__urgency{font-size:10px;color:rgba(255,255,255,.4);margin-top:6px;}
.ev-price{background:linear-gradient(135deg,#1B2A1E 0%,#243528 100%);border:1px solid rgba(201,169,110,.25);border-radius:10px;padding:16px;margin-bottom:14px;}
.ev-price__label{font-size:9px;letter-spacing:2.5px;text-transform:uppercase;color:var(--ev-gold);margin-bottom:8px;}
.ev-price__row{display:flex;align-items:baseline;gap:12px;margin-bottom:4px;flex-wrap:wrap;}
.ev-price__now{font-family:var(--ev-serif);font-size:36px;font-weight:300;color:#fff;}
.ev-price__was{font-family:var(--ev-serif);font-size:20px;font-weight:300;color:var(--ev-light);text-decoration:line-through;}
.ev-price__after{font-size:11px;color:rgba(255,255,255,.55);}
.ev-price__after strong{color:#fff;font-weight:400;}
.ev-compare{display:flex;flex-direction:column;gap:6px;}
.ev-compare__row{display:flex;justify-content:space-between;gap:10px;font-size:11px;color:var(--ev-mid);padding:4px 0;border-bottom:1px solid rgba(201,169,110,.08);}
.ev-compare__row--hl{color:var(--ev-charcoal);font-weight:400;}
.ev-compare__cross{text-decoration:line-through;color:var(--ev-light);}
.ev-compare__saving{color:var(--ev-gold);font-weight:500;}
.ev-included{display:flex;flex-direction:column;gap:6px;margin-bottom:20px;padding:14px;background:var(--ev-cream);border-radius:8px;}
.ev-included__item{font-size:11px;color:var(--ev-mid);display:flex;align-items:center;gap:8px;}
.ev-included__item span{flex:1;}
.ev-card__btns{display:flex;flex-direction:column;gap:8px;margin-top:auto;}
.ev-card__buy{background:linear-gradient(135deg,var(--ev-btn-1,var(--ev-gold-d)) 0%,var(--ev-btn-2,var(--ev-gold)) 60%,var(--ev-btn-3,var(--ev-gold-l)) 100%);color:#fff;padding:13px;font-size:10px;letter-spacing:2px;text-transform:uppercase;text-align:center;transition:all .3s;border-radius:6px;box-shadow:0 4px 14px rgba(201,169,110,.3);}
.ev-card__buy:hover{box-shadow:0 6px 22px rgba(201,169,110,.5);transform:translateY(-1px);color:#fff;}
.ev-card__details{border:1px solid var(--ev-gold);color:var(--ev-gold);padding:11px;font-size:10px;letter-spacing:2px;text-transform:uppercase;text-align:center;transition:all .3s;border-radius:6px;}
.ev-card__details:hover{background:var(--ev-gold);color:#fff;}
.ev-card__pdfs{display:flex;gap:8px;}
.ev-card__pdf{flex:1;border:1px solid rgba(201,169,110,.3);color:var(--ev-mid);padding:9px;font-size:10px;text-align:center;transition:all .3s;border-radius:6px;}
.ev-card__pdf:hover{border-color:var(--ev-gold);color:var(--ev-gold);}
.ev-counter.is-soldout .ev-counter__bar{background:linear-gradient(90deg,var(--ev-gold-d),var(--ev-gold-l));}

/* ---------- CTA ---------- */
.ev-cta{background:var(--ev-ivory);text-align:center;}
.ev-cta h2{font-family:var(--ev-serif);font-size:48px;font-weight:300;color:var(--ev-charcoal);margin-bottom:16px;}
.ev-cta__text{font-size:14px;color:var(--ev-mid);margin-bottom:36px;}
.ev-cta__btns{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;}
.ev-cta .ev-eyebrow{font-size:14px;color:var(--ev-mid);margin-bottom:36px;}
.ev-cta__note{font-size:14px;letter-spacing:1px;color:var(--ev-mid);margin:20px 0 36px;}

/* ---------- Footer ---------- */
.ev-footer{background:linear-gradient(180deg,#152017 0%,#1B2A1E 100%);border-top:1px solid rgba(201,169,110,.2);padding:64px 40px 32px;}
.ev-footer__grid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:48px;max-width:1100px;margin:0 auto 48px;}
.ev-footer__brand{font-family:var(--ev-serif);font-size:22px;color:var(--ev-ivory);margin-bottom:14px;letter-spacing:1px;}
.ev-footer__tagline{font-size:12px;color:rgba(255,255,255,.4);line-height:1.8;}
.ev-footer__tagline strong{color:rgba(255,255,255,.6);font-weight:400;}
.ev-footer__tagline a{color:var(--ev-gold);}
.ev-footer__col h4{font-size:8px;letter-spacing:3px;text-transform:uppercase;color:var(--ev-gold);margin-bottom:18px;font-weight:400;}
.ev-footer__col li{margin-bottom:10px;}
.ev-footer__col li a{font-size:12px;color:rgba(255,255,255,.5);transition:color .3s;}
.ev-footer__col li a:hover{color:var(--ev-gold);}
.ev-footer__bottom{border-top:1px solid rgba(255,255,255,.06);padding-top:24px;text-align:center;font-size:11px;color:rgba(255,255,255,.25);max-width:1100px;margin:0 auto;}

/* ---------- Mobile ---------- */
@media (max-width:767px){
  .ev-header{padding:16px 20px;flex-wrap:wrap;gap:8px;}
  .ev-nav{flex-wrap:wrap;gap:16px;justify-content:center;width:100%;order:3;border-top:1px solid rgba(201,169,110,.15);padding-top:12px;}
  .ev-nav a{font-size:9px;}
  .ev-header-cta{font-size:9px;padding:8px 14px;}
  .ev-section{padding:64px 20px;}
  .ev-hero{min-height:85vh;}
  .ev-hero h1{font-size:40px;}
  .ev-hero__img{width:60%;opacity:.35;}
  .ev-trust{gap:20px;padding:12px 20px;}
  .ev-story__grid{grid-template-columns:1fr;gap:40px;}
  .ev-steps__grid{grid-template-columns:1fr;gap:16px;}
  .ev-plink__grid{grid-template-columns:1fr;}
  .ev-title{font-size:32px;}
  .ev-timeline__item{grid-template-columns:1fr;gap:8px;}
  .ev-footer__grid{grid-template-columns:1fr;gap:32px;}
}

/* Theme Builder header: the location wrapper is only as tall as the nav, so make the wrapper itself sticky. */
.elementor-location-header:has(.ev-header--sticky){position:sticky;top:0;z-index:100;}
body.admin-bar .elementor-location-header:has(.ev-header--sticky){top:32px;}
@media (max-width:782px){body.admin-bar .elementor-location-header:has(.ev-header--sticky){top:46px;}}
@media (max-width:600px){body.admin-bar .elementor-location-header:has(.ev-header--sticky){top:0;}}

/* Theme-reset guards (Hello Elementor / Elementor frontend): keep the prototype's line-height and let the hero image fill the section. */
.ev{line-height:normal;}
.elementor .ev-hero__img,.ev-hero__img{height:100%;max-width:none;}

/* Mobile hamburger menu (Header widget → "Mobile menu: Hamburger toggle"). */
.ev-burger{display:none;background:none;border:0;padding:6px;margin-left:12px;cursor:pointer;flex-direction:column;justify-content:center;align-items:center;gap:5px;width:36px;height:36px;color:var(--ev-gold);border-radius:0;}
.ev-burger span{display:block;height:1px;width:22px;background:currentColor;transition:transform .3s,opacity .3s;}
.ev-burger:hover,.ev-burger:focus{background:none;color:var(--ev-gold);}
.ev-nav a.is-current{color:var(--ev-gold);}
@media (max-width:767px){
  .ev-header--toggle .ev-logo{order:1;}
  .ev-header--toggle .ev-header-cta{order:2;margin-left:auto;}
  .ev-header--toggle .ev-burger{display:flex;order:3;}
  .ev-header--toggle .ev-nav{display:none;order:4;width:100%;flex-direction:column;gap:0 !important;border-top:1px solid rgba(201,169,110,.15);padding-top:4px;margin-top:4px;justify-content:flex-start;}
  .ev-header--toggle.is-open .ev-nav{display:flex;}
  .ev-header--toggle .ev-nav li{border-bottom:1px solid rgba(201,169,110,.12);}
  .ev-header--toggle .ev-nav li:last-child{border-bottom:0;}
  .ev-header--toggle .ev-nav a{display:block;padding:14px 0;}
  .ev-header--toggle.is-open .ev-burger span:nth-child(1){transform:translateY(6px) rotate(45deg);}
  .ev-header--toggle.is-open .ev-burger span:nth-child(2){opacity:0;}
  .ev-header--toggle.is-open .ev-burger span:nth-child(3){transform:translateY(-6px) rotate(-45deg);}
  .ev-header--nocta .ev-header-cta{display:none;}
  .ev-header--nocta .ev-burger{margin-left:auto;}
}
