/* Max-U Barber Salon — design system overrides to match approved demo */
:root{--maxu-ink:#161512;--maxu-cream:#f7f4ee;--maxu-paper:#fbfaf7;--maxu-crimson:#c1283d;--maxu-crimson-b:#dd5365;--maxu-blue:#2f4ba0;--maxu-blue-b:#5b78cf;--maxu-blue-soft:#e7ecf9;--maxu-gold:#d8a23a;--maxu-gold-soft:#f6ecd6;--maxu-ink-soft:#5d564b;--maxu-line:rgba(22,21,18,.10)}

/* Base typography */
body,.elementor-widget-text-editor,.elementor-widget-icon-list{font-family:'Inter',system-ui,sans-serif}
h1,h2,h3,h4,.elementor-heading-title{font-family:'Fraunces',Georgia,serif;letter-spacing:-.01em}

/* Let containers go full width; kill Astra fights */
.ast-container,.elementor-section-wraps,.entry-content{max-width:100%!important}
.elementor-widget{margin-bottom:0}

/* ===== HEADER LOGO — keep it small & crisp ===== */
.elementor-widget-xpro-site-logo img{width:44px!important;height:44px!important;max-width:44px!important;border-radius:50%;object-fit:contain}

/* ===== HEADER CTA (XPRO button) — match demo: crimson pill + calendar icon ===== */
.xpro-elementor-button{display:inline-flex!important;align-items:center;gap:8px;background:var(--maxu-crimson)!important;color:#fff!important;font-family:'Inter'!important;font-weight:600!important;font-size:14px!important;letter-spacing:.01em;border:0!important;border-radius:50px!important;padding:12px 24px!important;line-height:1!important;transition:transform .25s ease,box-shadow .3s ease,background .25s ease!important;box-shadow:0 8px 20px -10px rgba(193,40,61,.5)}
.xpro-elementor-button:hover{background:var(--maxu-crimson-b)!important;transform:translateY(-2px);box-shadow:0 14px 26px -12px rgba(193,40,61,.6)}
.xpro-elementor-button .xpro-btn-icon,.xpro-elementor-button i,.xpro-elementor-button svg{font-size:15px;width:15px;height:15px;transition:transform .3s ease}
.xpro-elementor-button:hover .xpro-btn-icon,.xpro-elementor-button:hover svg{transform:rotate(-8deg)}

/* Native Elementor buttons (in-page CTAs) — pill + hover */
.elementor-button{border-radius:50px;font-family:'Inter';font-weight:600;letter-spacing:.01em;transition:transform .25s ease,box-shadow .3s ease,background .25s ease}
.elementor-button:hover{transform:translateY(-2px);box-shadow:0 14px 26px -12px rgba(22,21,18,.5)}
.elementor-button .elementor-button-icon svg{width:1em;height:1em;vertical-align:-.05em}

/* ===== WHY MAX-U — clean icon tiles + tidy equal cards ===== */
.elementor-widget-icon-box .elementor-icon-box-wrapper{text-align:left;display:flex;flex-direction:column;align-items:flex-start}
.elementor-widget-icon-box .elementor-icon-box-icon{margin-bottom:18px!important;display:inline-flex}
.elementor-widget-icon-box .elementor-icon-box-icon .elementor-icon{display:inline-flex;align-items:center;justify-content:center;width:54px;height:54px;border-radius:14px;background:var(--maxu-blue-soft);color:var(--maxu-blue)!important;transition:transform .4s cubic-bezier(.22,.8,.3,1),background .3s}
.elementor-widget-icon-box .elementor-icon-box-icon .elementor-icon svg{width:24px;height:24px;fill:currentColor}
.elementor-widget-icon-box .elementor-icon-box-icon .elementor-icon i{font-size:23px;color:inherit}
.elementor-widget-icon-box:hover .elementor-icon-box-icon .elementor-icon{transform:scale(1.08) rotate(-6deg)}
/* per-card accent colours (Why Max-U) */
.maxu-ic-1 .elementor-icon{background:var(--maxu-blue-soft)!important;color:var(--maxu-blue)!important}
.maxu-ic-2 .elementor-icon{background:rgba(193,40,61,.10)!important;color:var(--maxu-crimson)!important}
.maxu-ic-3 .elementor-icon{background:var(--maxu-gold-soft)!important;color:var(--maxu-gold)!important}
.maxu-ic-4 .elementor-icon{background:rgba(193,40,61,.10)!important;color:var(--maxu-crimson)!important}
.maxu-ic-5 .elementor-icon{background:var(--maxu-blue-soft)!important;color:var(--maxu-blue)!important}
.maxu-ic-6 .elementor-icon{background:rgba(30,47,94,.10)!important;color:var(--maxu-navy,#1e2f5e)!important}
/* card surface + hover lift + EQUAL heights */
.elementor-widget-icon-box{height:100%}
.elementor-widget-icon-box .elementor-icon-box-wrapper{height:100%;background:#fff;border:1px solid var(--maxu-line);border-radius:20px;padding:30px 28px;box-shadow:0 4px 14px -6px rgba(22,21,18,.10);transition:transform .4s cubic-bezier(.22,.8,.3,1),box-shadow .4s ease,border-color .3s}
.elementor-widget-icon-box:hover .elementor-icon-box-wrapper{transform:translateY(-6px);box-shadow:0 22px 44px -20px rgba(22,21,18,.30);border-color:transparent}
.elementor-widget-icon-box .elementor-icon-box-title{font-family:'Fraunces';font-weight:600;font-size:1.2rem;margin-bottom:8px;color:var(--maxu-ink)}
.elementor-widget-icon-box .elementor-icon-box-description{font-family:'Inter';font-size:.96rem;line-height:1.6;color:var(--maxu-ink-soft)}
/* make the 3-up rows stretch so all cards match height */
.e-con-inner,.e-con>.e-con-inner{align-items:stretch}
.elementor-widget-icon-box>.elementor-widget-container{height:100%}

/* Image-box (team / products) hover */
.elementor-widget-image-box .elementor-image-box-wrapper{transition:transform .4s ease}
.elementor-widget-image-box:hover .elementor-image-box-img img{transform:scale(1.04)}
.elementor-widget-image-box .elementor-image-box-img img{transition:transform .6s ease;border-radius:16px}

/* Counters */
.elementor-counter .elementor-counter-number-wrapper{font-family:'Fraunces';font-weight:600}

/* Accordion (FAQ) */
.elementor-accordion .elementor-tab-title{font-family:'Fraunces';font-weight:500}
.elementor-accordion .elementor-accordion-item{border-radius:14px;overflow:hidden;margin-bottom:12px;border:1px solid var(--maxu-line)}

/* WPForms styling */
.maxu-contact-form .wpforms-field input,.maxu-contact-form .wpforms-field textarea,.maxu-contact-form .wpforms-field select{width:100%;padding:14px 16px;border:1.5px solid rgba(22,21,18,.16);border-radius:11px;font-family:'Inter';font-size:16px;background:#fff;transition:border-color .2s,box-shadow .2s}
.maxu-contact-form .wpforms-field input:focus,.maxu-contact-form .wpforms-field textarea:focus,.maxu-contact-form .wpforms-field select:focus{outline:none;border-color:var(--maxu-blue);box-shadow:0 0 0 3px rgba(47,75,160,.14)}
.maxu-contact-form .wpforms-submit{background:var(--maxu-crimson)!important;color:#fff!important;border:0!important;border-radius:50px!important;padding:15px 34px!important;font-family:'Inter'!important;font-weight:600!important;font-size:15px!important;transition:transform .25s,background .25s}
.maxu-contact-form .wpforms-submit:hover{background:var(--maxu-crimson-b)!important;transform:translateY(-2px)}
.maxu-contact-form .wpforms-field-label{font-family:'Inter';font-weight:600;font-size:.82rem}

/* Footer link hover */
.elementor-widget-icon-list .elementor-icon-list-item a{transition:color .2s,padding-left .2s}
.elementor-widget-icon-list .elementor-icon-list-item a:hover{color:var(--maxu-blue-b);padding-left:3px}

html{scroll-behavior:smooth}
\n\n/* ===== HERO float + animation polish ===== */\n.maxu-hero-float img{animation:maxuFloat 6s ease-in-out infinite;border-radius:24px}\n@keyframes maxuFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-12px)}}\n/* ensure Elementor entrance animations are visible (some themes hide) */\n.elementor-invisible{visibility:hidden}\n.animated{animation-duration:.9s;animation-fill-mode:both}\n@media(prefers-reduced-motion:reduce){.maxu-hero-float img{animation:none}.animated{animation:none!important}}\n\n/* ===== WHY MAX-U: lock 3 cards per row, 2 rows ===== */
.e-con-inner:has(> .maxu-benefit-card),.e-con:has(> .maxu-benefit-card){display:flex!important;flex-direction:row!important;flex-wrap:wrap!important;gap:18px!important;justify-content:center;align-items:stretch}
.maxu-benefit-card{flex:0 1 calc(33.333% - 12px)!important;max-width:calc(33.333% - 12px)!important;width:calc(33.333% - 12px)!important;min-width:0}
@media(max-width:880px){.maxu-benefit-card{flex:0 1 100%!important;max-width:100%!important;width:100%!important}}

/* ===== Footer newsletter form ===== */\n.maxu-newsletter-form .wpforms-field-row,.maxu-newsletter-form .wpforms-field{padding:0;margin:0}\n.maxu-newsletter-form .wpforms-field input[type=email]{width:100%;padding:12px 15px;border-radius:10px;border:1px solid rgba(247,244,238,.18);background:rgba(255,255,255,.05);color:#f7f4ee;font-family:Inter;font-size:14px}\n.maxu-newsletter-form .wpforms-field input[type=email]::placeholder{color:#8a8478}\n.maxu-newsletter-form .wpforms-field input[type=email]:focus{outline:none;border-color:var(--maxu-blue-b);box-shadow:0 0 0 3px rgba(91,120,207,.18)}\n.maxu-newsletter-form .wpforms-submit{margin-top:8px;width:100%;background:var(--maxu-crimson)!important;color:#fff!important;border:0!important;border-radius:50px!important;padding:12px 20px!important;font-family:Inter!important;font-weight:600!important;font-size:13.5px!important;letter-spacing:.04em;text-transform:uppercase;transition:background .25s,transform .25s}\n.maxu-newsletter-form .wpforms-submit:hover{background:var(--maxu-crimson-b)!important;transform:translateY(-2px)}\n.maxu-newsletter-form .wpforms-confirmation-container-full{background:rgba(91,120,207,.12);border:1px solid rgba(91,120,207,.4);color:#dad5ca;border-radius:10px;padding:12px 14px;font-size:13.5px}\n

/* ===== Scroll progress bar (above header) ===== */
.maxu-scroll-prog{position:fixed;top:0;left:0;height:3px;width:0;z-index:99999;background:linear-gradient(90deg,#c1283d,#5b78cf);box-shadow:0 0 8px rgba(193,40,61,.5);transition:width .1s linear}

/* ===== Header condense + shadow on scroll ===== */
.elementor-location-header{transition:box-shadow .3s ease,background .3s ease}
.maxu-scrolled{box-shadow:0 6px 24px -14px rgba(22,21,18,.4)!important}

/* ===== Hero chips hover ===== */
.elementor-element a[class*=button],.elementor-button{will-change:transform}


/* ===== Progress bar: above sticky header on all devices ===== */
.maxu-scroll-prog{position:fixed;top:0;left:0;height:3px;width:0;z-index:2147483647;background:linear-gradient(90deg,#c1283d,#5b78cf);box-shadow:0 0 8px rgba(193,40,61,.55);transition:width .08s linear;pointer-events:none}
/* keep XPRO sticky header just below the bar */
.xpro-sticky-active,.elementor-location-header{z-index:999}

/* ===== Sticky mobile bottom Book CTA (mobile only, all pages) ===== */
.maxu-mobile-cta{display:none}
@media(max-width:900px){.maxu-mobile-cta{display:flex;align-items:center;justify-content:center;gap:9px;position:fixed;left:0;right:0;bottom:0;z-index:99990;background:#c1283d;color:#fff!important;font-family:'Inter',sans-serif;font-weight:600;font-size:15px;letter-spacing:.01em;text-decoration:none;padding:15px 16px;padding-bottom:calc(15px + env(safe-area-inset-bottom));box-shadow:0 -8px 26px rgba(20,18,15,.3);transition:background .25s}
  .maxu-mobile-cta:active{background:#9c1f2f}
  .maxu-mobile-cta svg{flex:none}
  /* keep page content clear of the fixed bar */
  body{padding-bottom:64px!important}
  /* nudge Amelia/anything fixed above the bar */
}

/* ===== Book CTA at bottom of mobile menu drawer ===== */
.maxu-drawer-cta{display:flex;align-items:center;justify-content:center;gap:8px;margin:18px 16px 8px;padding:14px 20px;background:#c1283d;color:#fff!important;border-radius:50px;font-family:'Inter',sans-serif;font-weight:600;font-size:15px;text-decoration:none;box-shadow:0 10px 22px -10px rgba(193,40,61,.6)}
.maxu-drawer-cta:hover{background:#dd5365}

/* ===== Mobile spacing refinements ===== */
@media(max-width:1024px){
  .e-con{padding-left:18px!important;padding-right:18px!important}
  .maxu-benefit-card{flex:0 1 100%!important;max-width:100%!important;width:100%!important}
}
@media(max-width:767px){
  h1.elementor-heading-title{font-size:clamp(2.1rem,9vw,2.9rem)!important;line-height:1.08!important}
  .e-con-boxed{padding-top:54px!important;padding-bottom:54px!important}
  /* hero: ensure text column sits above image, comfortable spacing */
  .maxu-hero-float{margin-top:24px}
}


/* =====================================================
   AWARD-WINNING HERO  (desktop + mobile)
   ===================================================== */
.elementor-element-3dd2808{position:relative;isolation:isolate;overflow:hidden}
/* animated colour mesh layer */
.elementor-element-3dd2808:before{content:"";position:absolute;inset:0;z-index:0;pointer-events:none;mix-blend-mode:screen;opacity:.55;
  background:radial-gradient(42% 55% at 16% 28%,rgba(193,40,61,.45),transparent 70%),
            radial-gradient(40% 50% at 84% 22%,rgba(47,75,160,.5),transparent 72%),
            radial-gradient(46% 42% at 72% 84%,rgba(216,162,58,.28),transparent 70%);
  background-size:200% 200%,200% 200%,200% 200%;animation:maxuMesh 20s ease-in-out infinite}
@keyframes maxuMesh{0%{background-position:0% 50%,100% 50%,50% 100%}50%{background-position:60% 20%,30% 80%,80% 30%}100%{background-position:0% 50%,100% 50%,50% 100%}}
/* fine grain */
.elementor-element-3dd2808:after{content:"";position:absolute;inset:0;z-index:0;pointer-events:none;opacity:.05;
  background-image:url("data:image/svg+xml,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 width=%27120%27 height=%27120%27%3E%3Cfilter id=%27n%27%3E%3CfeTurbulence type=%27fractalNoise%27 baseFrequency=%270.9%27 numOctaves=%272%27/%3E%3C/filter%3E%3Crect width=%27100%25%27 height=%27100%25%27 filter=%27url(%23n)%27/%3E%3C/svg%3E")}
.elementor-element-3dd2808>.e-con-inner,.elementor-element-3dd2808>.e-con-inner>*{position:relative;z-index:2}

/* glassmorphic badge */
.maxu-hero-badge .elementor-heading-title{display:inline-flex;align-items:center;gap:9px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.18);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);padding:9px 18px;border-radius:50px;color:#f3efe6!important}
.maxu-hero-badge .elementor-heading-title:before{content:"";width:7px;height:7px;border-radius:50%;background:#d8a23a;box-shadow:0 0 0 4px rgba(216,162,58,.22);animation:maxuPulse 2s ease-in-out infinite}
@keyframes maxuPulse{0%,100%{box-shadow:0 0 0 3px rgba(216,162,58,.28)}50%{box-shadow:0 0 0 7px rgba(216,162,58,.06)}}

/* title shimmer on the italic accent already gold-underlined; add subtle text glow */
.maxu-hero-title .elementor-heading-title{text-shadow:0 2px 30px rgba(0,0,0,.35)}

/* refined CTAs */
.maxu-hero-btn-primary .elementor-button{box-shadow:0 14px 30px -12px rgba(193,40,61,.6);backdrop-filter:none}
.maxu-hero-btn-primary .elementor-button:hover{transform:translateY(-3px);box-shadow:0 20px 40px -14px rgba(193,40,61,.7)}
.maxu-hero-btn-ghost .elementor-button{backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}
.maxu-hero-btn-ghost .elementor-button:hover{background:rgba(255,255,255,.16)!important;transform:translateY(-3px)}

/* stats: divider lines + glow */
.maxu-hero-stats{gap:0 34px!important}
.maxu-hero-stats>.elementor-widget{position:relative;padding-right:34px}
.maxu-hero-stats>.elementor-widget:not(:last-child):after{content:"";position:absolute;right:0;top:8px;bottom:8px;width:1px;background:rgba(255,255,255,.16)}

/* ===== desktop floating image card + badges ===== */
.maxu-hero-float{position:relative}
.maxu-hero-float img{border-radius:26px!important;box-shadow:0 44px 100px -34px rgba(0,0,0,.8);border:1px solid rgba(255,255,255,.12)}
/* tilted ghost card behind */
.maxu-hero-float:before{content:"";position:absolute;inset:6% 8% 6% 8%;border-radius:26px;background:linear-gradient(160deg,rgba(47,75,160,.55),rgba(193,40,61,.45));transform:rotate(-5deg);z-index:-1;animation:maxuFloatB 7s ease-in-out infinite}
@keyframes maxuFloatB{0%,100%{transform:rotate(-5deg) translateY(0)}50%{transform:rotate(-5deg) translateY(-12px)}}
/* floating rating chip */
.maxu-hero-float:after{content:"\2605 4.9 / 5  \00b7  2,000+ five-star cuts";position:absolute;left:-14px;bottom:34px;z-index:3;background:rgba(251,250,247,.97);backdrop-filter:blur(8px);border:1px solid rgba(255,255,255,.7);border-radius:16px;padding:13px 18px;font-family:"Inter",sans-serif;font-weight:600;font-size:13px;color:#161512;box-shadow:0 24px 54px -20px rgba(0,0,0,.6);white-space:nowrap}

/* scroll cue */
.elementor-element-3dd2808 .e-con-inner:after{content:"";position:absolute;left:50%;bottom:-26px;transform:translateX(-50%);width:24px;height:38px;border:2px solid rgba(255,255,255,.35);border-radius:13px;background-image:radial-gradient(circle,#fff 50%,transparent 52%);background-size:4px 4px;background-position:center 7px;background-repeat:no-repeat;animation:maxuScroll 1.8s ease-in-out infinite}
@keyframes maxuScroll{0%{background-position:center 7px;opacity:1}70%{background-position:center 20px;opacity:0}100%{background-position:center 7px;opacity:0}}

/* ===== HERO MOBILE polish ===== */
@media(max-width:1024px){
  .maxu-hero-float{display:none!important}
  .elementor-element-3dd2808{min-height:auto!important}
  .maxu-hero-content{padding-top:18px!important;padding-bottom:18px!important}
  .elementor-element-3dd2808 .e-con-inner:after{display:none}
}
@media(max-width:767px){
  .maxu-hero-title .elementor-heading-title{font-size:clamp(2.5rem,12vw,3.5rem)!important;line-height:1.05!important}
  .maxu-hero-badge .elementor-heading-title{font-size:11px!important;padding:8px 14px}
  .maxu-hero-ctas{flex-direction:column!important}
  .maxu-hero-ctas .elementor-widget-button,.maxu-hero-ctas .elementor-button{width:100%!important}
  .maxu-hero-stats{gap:0 18px!important;flex-wrap:wrap}
  .maxu-hero-stats>.elementor-widget{padding-right:18px}
}
@media(prefers-reduced-motion:reduce){.elementor-element-3dd2808:before,.maxu-hero-float:before,.elementor-element-3dd2808 .e-con-inner:after{animation:none}}

/* anchor floating badges to the image widget */
.maxu-hero-float{position:relative}
.maxu-hero-float .elementor-widget-container{position:relative}



/* ===== MARQUEE (banner slider) ===== */
.elementor-element-e4602ab{overflow:hidden!important}
.elementor-element-e4602ab .e-con-inner{overflow:hidden}
.elementor-element-1bd08d3 .elementor-heading-title{display:inline-block!important;white-space:nowrap!important;will-change:transform;animation:maxuMarquee 30s linear infinite}
.elementor-element-e4602ab:hover .elementor-heading-title{animation-play-state:paused}
@keyframes maxuMarquee{0%{transform:translateX(0)}100%{transform:translateX(-50%)}}
@media(prefers-reduced-motion:reduce){.elementor-element-1bd08d3 .elementor-heading-title{animation:none;white-space:normal!important}}

/* ===== PAGE HEADERS — consistent modern mesh ===== */
.elementor-element-e9483b3,.elementor-element-1109602,.elementor-element-594757c,.elementor-element-51df8fe,.elementor-element-6e06ee6{position:relative;isolation:isolate;overflow:hidden}
.elementor-element-e9483b3:before,.elementor-element-1109602:before,.elementor-element-594757c:before,.elementor-element-51df8fe:before,.elementor-element-6e06ee6:before{content:'';position:absolute;inset:0;z-index:0;pointer-events:none;mix-blend-mode:screen;opacity:.5;background:radial-gradient(45% 70% at 12% 30%,rgba(193,40,61,.4),transparent 70%),radial-gradient(42% 65% at 88% 20%,rgba(47,75,160,.45),transparent 72%),radial-gradient(40% 60% at 70% 90%,rgba(216,162,58,.22),transparent 70%);background-size:200% 200%,200% 200%,200% 200%;animation:maxuMesh 22s ease-in-out infinite}
.elementor-element-e9483b3:after,.elementor-element-1109602:after,.elementor-element-594757c:after,.elementor-element-51df8fe:after,.elementor-element-6e06ee6:after{content:'';position:absolute;inset:0;z-index:0;pointer-events:none;opacity:.045;background-image:url("data:image/svg+xml,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 width=%27120%27 height=%27120%27%3E%3Cfilter id=%27n%27%3E%3CfeTurbulence type=%27fractalNoise%27 baseFrequency=%270.9%27 numOctaves=%272%27/%3E%3C/filter%3E%3Crect width=%27100%25%27 height=%27100%25%27 filter=%27url(%23n)%27/%3E%3C/svg%3E")}
.elementor-element-e9483b3 .elementor-widget-heading:first-child .elementor-heading-title,.elementor-element-1109602 .elementor-widget-heading:first-child .elementor-heading-title,.elementor-element-594757c .elementor-widget-heading:first-child .elementor-heading-title,.elementor-element-51df8fe .elementor-widget-heading:first-child .elementor-heading-title,.elementor-element-6e06ee6 .elementor-widget-heading:first-child .elementor-heading-title{display:inline-flex;align-items:center;gap:8px;background:rgba(91,120,207,.16);border:1px solid rgba(91,120,207,.3);padding:7px 15px;border-radius:50px;backdrop-filter:blur(6px)}
@media(prefers-reduced-motion:reduce){.elementor-element-e9483b3:before,.elementor-element-1109602:before,.elementor-element-594757c:before,.elementor-element-51df8fe:before,.elementor-element-6e06ee6:before{animation:none}}


/* ===== HEADER spacing & polish ===== */
.elementor-location-header .e-con-inner{max-width:1320px;margin-left:auto;margin-right:auto;width:100%}
.elementor-location-header .xpro-elementor-menu>li{margin:0 2px}
.elementor-location-header .xpro-elementor-menu>li>a{padding:10px 14px!important;font-size:15px;font-weight:500}
/* vertical rhythm so logo + nav sit centered */
.elementor-location-header .e-con,.elementor-location-header .e-con-inner{align-items:center}
/* keep header crisp on scroll */
.elementor-location-header{background:rgba(251,250,247,.9)!important;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}
.maxu-scrolled.elementor-location-header{background:rgba(251,250,247,.97)!important}
@media(max-width:1024px){
  .elementor-location-header .e-con-inner{max-width:100%}
}


/* ===== GLOBAL MODERN POLISH ===== */
/* smoother type rendering + tighter display headings */
h1,h2,.elementor-heading-title{ -webkit-font-smoothing:antialiased;text-wrap:balance}
/* section vertical rhythm consistency */
.elementor-element>.e-con-inner{margin-left:auto;margin-right:auto}
/* refined card hover easing everywhere */
.elementor-widget-icon-box .elementor-icon-box-wrapper,.elementor-widget-image-box .elementor-image-box-wrapper,.p-card,.maxu-benefit-card{transition:transform .45s cubic-bezier(.22,.8,.3,1),box-shadow .45s cubic-bezier(.22,.8,.3,1),border-color .3s}
/* links get a refined underline */
.elementor-widget-text-editor a{color:#2f4ba0;text-underline-offset:3px;text-decoration-thickness:1px;transition:color .2s}
.elementor-widget-text-editor a:hover{color:#c1283d}
/* buttons: unified easing + subtle scale on press */
.elementor-button,.xpro-elementor-button{transition:transform .25s cubic-bezier(.22,.8,.3,1),box-shadow .3s,background .25s,color .25s!important}
.elementor-button:active,.xpro-elementor-button:active{transform:translateY(0) scale(.98)}
/* images: soften corners + gentle zoom container */
.elementor-widget-image img{border-radius:18px}
/* divider + spacing refinements on price lists */
.elementor-icon-list-items .elementor-icon-list-item{transition:padding-left .25s ease}
/* selection colour on brand */
::selection{background:rgba(193,40,61,.18)}
/* focus-visible accessibility ring */
a:focus-visible,button:focus-visible,.elementor-button:focus-visible{outline:2px solid #2f4ba0;outline-offset:2px;border-radius:6px}
/* fade-up reveal for sections as they enter (progressive) */
@media(prefers-reduced-motion:no-preference){
  .elementor-widget-icon-box,.p-card,.maxu-benefit-card,.elementor-widget-image-box{will-change:transform}
}

/* ===== HEADER BAR (clean compact inline) ===== */
.maxu-header-bar{min-height:0!important}
.maxu-header-bar,.maxu-header-bar>.e-con-inner{align-items:center!important;flex-wrap:nowrap!important}
.elementor-location-header .elementor-widget-xpro-site-logo,.elementor-location-header .elementor-widget-xpro-horizontal-menu,.elementor-location-header .elementor-widget-xpro-button{margin-bottom:0!important}
.elementor-location-header .xpro-elementor-button{display:inline-flex!important;align-items:center;width:auto!important;white-space:nowrap}
.elementor-location-header .elementor-widget-xpro-horizontal-menu{width:auto!important}
/* keep nav + button on one row, vertically centered */
.elementor-location-header .e-child{align-self:center}

/* ===== NAV — pill hover + active (matches reference) ===== */
.elementor-location-header .xpro-elementor-nav-link{position:relative;padding:9px 18px!important;border-radius:50px;font-weight:500;color:#161512!important;transition:color .25s ease,background .25s ease}
.elementor-location-header .xpro-elementor-nav-link:hover{background:#f0ece3;color:#161512!important}
.elementor-location-header .current-menu-item>.xpro-elementor-nav-link,.elementor-location-header .current_page_item>.xpro-elementor-nav-link{background:rgba(193,40,61,.10);color:#c1283d!important}
.elementor-location-header .xpro-elementor-menu>li{margin:0 3px!important}
.elementor-location-header .xpro-elementor-horizontal-navbar{gap:4px}

/* ===== HEADER nav grow + alignment ===== */
.elementor-location-header .maxu-nav-grow{flex:1 1 auto}
.elementor-location-header .maxu-nav-grow .xpro-elementor-horizontal-navbar{justify-content:flex-end}
.elementor-location-header .maxu-nav-grow .xpro-elementor-menu{display:flex;align-items:center;gap:2px}
/* button never shrinks, stays pill-sized */
.elementor-location-header .elementor-widget-xpro-button{flex:0 0 auto}
.elementor-location-header .xpro-elementor-button{box-shadow:0 8px 20px -10px rgba(193,40,61,.5);transition:transform .25s cubic-bezier(.22,.8,.3,1),box-shadow .3s,background .25s!important}
.elementor-location-header .xpro-elementor-button:hover{transform:translateY(-2px);box-shadow:0 14px 26px -12px rgba(193,40,61,.6)}
