/* Loaded AFTER style.css: re-applies the original theme rules to Elementor containers (.e-con) with a higher specificity
   so Elementor's default container padding/gap/display never change the current design. */
.e-con.container{width:100%;max-width:1280px;margin:0 auto;padding:0 1.5rem}
.e-con.hero{position:relative;padding:clamp(8rem,14vw,12rem) 0 6rem;overflow:hidden}
.e-con.hero-bg{position:absolute;inset:0;z-index:0}
.e-con.hero-blob{position:absolute;border-radius:50%;filter:blur(100px);opacity:.5}
.e-con.hero-blob.b1{top:-10%;right:-5%;width:560px;height:560px;background:radial-gradient(circle,rgba(255,53,3,.3),transparent 70%);animation:float 14s ease-in-out infinite}
.e-con.hero-blob.b2{bottom:-15%;left:-5%;width:480px;height:480px;background:radial-gradient(circle,rgba(255,122,58,.25),transparent 70%);animation:float 18s ease-in-out infinite reverse}
.e-con.hero-grid{position:relative;z-index:2;display:grid;grid-template-columns:1.15fr 1fr;gap:4rem;align-items:center}
.e-con.hero-cta{display:flex;gap:1rem;flex-wrap:wrap;margin-bottom:3rem;animation:slideUp .8s var(--t) .3s both;--container-widget-width:auto;--container-widget-flex-grow:0}
.e-con.hero-stats{display:flex;gap:2.5rem;flex-wrap:wrap;animation:slideUp .8s var(--t) .4s both;--container-widget-width:auto;--container-widget-flex-grow:0}
.e-con.hero-visual{position:relative;perspective:1200px;opacity:0;animation:floatCard 1.1s var(--t) .3s forwards}
.e-con.hero-img{transform:rotateY(-8deg) rotateX(6deg) rotateZ(-1deg);border-radius:var(--rl);overflow:hidden;box-shadow:var(--shxl);transition:transform .6s var(--t)}
.e-con.hero-img:hover{transform:rotateY(0) rotateX(0) rotateZ(0) scale(1.02)}
.e-con.f-card{position:absolute;background:rgba(255,255,255,.92);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);padding:.9rem 1.2rem;border-radius:12px;box-shadow:var(--shl);display:flex;align-items:center;gap:.8rem;opacity:0;--container-widget-width:auto;--container-widget-flex-grow:0}
.e-con.fc1{top:5%;left:-12px;animation:floatCardIn .8s var(--t) 1s forwards, bob1 5s ease-in-out 1.8s infinite}
.e-con.fc2{bottom:5%;right:-12px;animation:floatCardIn .8s var(--t) 1.2s forwards, bob2 5s ease-in-out 2s infinite}
.e-con.fc-ico{width:40px;height:40px;border-radius:10px;display:flex;align-items:center;justify-content:center;font-weight:800;font-size:1.1rem;flex-shrink:0;--container-widget-width:auto;--container-widget-flex-grow:0}
.e-con.fc-ico.green{background:#dcfce7;color:#16a34a}
.e-con.fc-ico.orange{background:#fff7ed;color:var(--accent)}
.e-con.section{padding:clamp(4rem,8vw,7rem) 0;position:relative}
.e-con.section-sm{padding:clamp(3rem,5vw,5rem) 0}
.e-con.section-head{text-align:center;max-width:680px;margin:0 auto clamp(3rem,6vw,4rem)}
.e-con.reveal{opacity:0;transform:translateY(40px);transition:all .8s var(--t)}
.e-con.reveal.visible{opacity:1;transform:translateY(0)}
.e-con.s-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.5rem}
.e-con.s-card{background:#fff;padding:2.25rem;border-radius:var(--rl);box-shadow:var(--sh);transition:all .4s var(--t);border-top:4px solid transparent;position:relative;overflow:hidden;opacity:0;transform:translateY(30px)}
.e-con.s-card.visible{opacity:1;transform:translateY(0)}
.e-con.s-card::before{content:'';position:absolute;inset:0;background:linear-gradient(135deg,rgba(255,53,3,.04),transparent);opacity:0;transition:opacity .4s var(--t)}
.e-con.s-card:hover{transform:translateY(-8px);box-shadow:var(--shl);border-top-color:var(--accent)}
.e-con.s-card:hover::before{opacity:1}
.e-con.s-icon{width:56px;height:56px;background:linear-gradient(135deg,rgba(255,53,3,.12),rgba(255,122,58,.08));color:var(--accent);border-radius:14px;display:flex;align-items:center;justify-content:center;font-size:1.4rem;margin-bottom:1.25rem;transition:all .4s var(--t);--container-widget-width:auto;--container-widget-flex-grow:0}
.s-card:hover .e-con.s-icon{background:linear-gradient(135deg,var(--accent),#ff7a3a);color:#fff;transform:rotate(-8deg) scale(1.1);box-shadow:0 10px 24px rgba(255,53,3,.3)}
.e-con.split-grid{display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:center}
.e-con.split-img{position:relative;border-radius:var(--rl);overflow:hidden;box-shadow:var(--shl)}
.e-con.split-img-badge{position:absolute;bottom:1.5rem;left:1.5rem;background:rgba(255,255,255,.95);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);padding:1rem 1.25rem;border-radius:var(--r);display:flex;align-items:center;gap:.8rem;box-shadow:var(--sh);transition:transform .3s var(--t);--container-widget-width:auto;--container-widget-flex-grow:0}
.split-img:hover .e-con.split-img-badge{transform:translateY(-4px)}
.e-con.check{width:36px;height:36px;background:var(--good);color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:800;flex-shrink:0;--container-widget-width:auto;--container-widget-flex-grow:0}
.e-con.process{background:linear-gradient(180deg,#1a1512 0%,#171717 100%);color:#fff;position:relative;overflow:hidden}
.e-con.process::before{content:'';position:absolute;top:-200px;left:-100px;width:400px;height:400px;background:radial-gradient(circle,rgba(255,53,3,.25),transparent 70%);filter:blur(80px)}
.e-con.p-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1.5rem;position:relative;z-index:2}
.e-con.p-step{background:rgba(255,255,255,.05);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);padding:2rem;border-radius:var(--rl);border:1px solid rgba(255,255,255,.1);transition:all .4s var(--t);opacity:0;transform:translateY(30px);position:relative;overflow:hidden}
.e-con.p-step.visible{opacity:1;transform:translateY(0)}
.e-con.p-step::before{content:'';position:absolute;top:0;left:0;width:100%;height:3px;background:linear-gradient(90deg,var(--accent),#ff7a3a);transform:scaleX(0);transform-origin:left;transition:transform .4s var(--t)}
.e-con.p-step:hover{transform:translateY(-6px);background:rgba(255,255,255,.08);border-color:rgba(255,53,3,.3)}
.e-con.p-step:hover::before{transform:scaleX(1)}
.e-con.cta{position:relative;padding:clamp(4rem,8vw,6rem) 0;background:linear-gradient(135deg,var(--primary) 0%,#2a1810 100%);color:#fff;overflow:hidden}
.e-con.cta::before{content:'';position:absolute;inset:0;background:radial-gradient(circle at 20% 50%,rgba(255,53,3,.35),transparent 60%)}
.e-con.cta::after{content:'';position:absolute;inset:0;background:radial-gradient(circle at 80% 50%,rgba(255,122,58,.2),transparent 60%)}
.e-con.cta-inner{position:relative;z-index:2;text-align:center;max-width:720px;margin:0 auto}
.e-con.cta-btns{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap;--container-widget-width:auto;--container-widget-flex-grow:0}
.e-con.page-hero{padding:clamp(8rem,12vw,10rem) 0 4rem;background:var(--bg);position:relative;overflow:hidden;text-align:center}
.page-hero .e-con.hero-blob{position:absolute;opacity:.35}
.e-con.bc-pill.active{background:var(--accent);color:#171717;border-color:var(--accent)}
.e-con.values-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1.25rem;margin-top:2rem}
.e-con.value-card{background:#fff;padding:2rem;border-radius:var(--rl);box-shadow:var(--sh);transition:all .4s var(--t);position:relative;overflow:hidden}
.e-con.value-card::after{content:'';position:absolute;top:0;left:0;width:100%;height:3px;background:linear-gradient(90deg,var(--accent),#ff7a3a);transform:scaleX(0);transform-origin:left;transition:transform .4s var(--t)}
.e-con.value-card:hover{transform:translateY(-6px);box-shadow:var(--shl)}
.e-con.value-card:hover::after{transform:scaleX(1)}
.value-card .e-con.v-ico{width:52px;height:52px;background:var(--accent-soft);color:var(--accent);border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:1.3rem;margin-bottom:1rem;transition:all .3s var(--t);--container-widget-width:auto;--container-widget-flex-grow:0}
.value-card:hover .e-con.v-ico{background:var(--accent);color:#fff;transform:rotate(-6deg)}
.e-con.timeline{position:relative;padding:2rem 0}
.e-con.timeline::before{content:'';position:absolute;left:50%;top:0;bottom:0;width:2px;background:linear-gradient(180deg,var(--accent),transparent);transform:translateX(-50%)}
.e-con.tl-item{display:grid;grid-template-columns:1fr 80px 1fr;gap:2rem;align-items:center;margin-bottom:2.5rem}
.tl-item:nth-child(even) .e-con.tl-body{grid-column:3;grid-row:1;text-align:left}
.e-con.tl-body{background:#fff;padding:1.75rem;border-radius:var(--rl);box-shadow:var(--sh);transition:transform .3s var(--t)}
.e-con.tl-body:hover{transform:translateY(-4px);box-shadow:var(--shl)}
.e-con.audit-hero{padding:clamp(8rem,12vw,10rem) 0 3rem;text-align:center}
.e-con.audit-form-card{background:#fff;padding:2.5rem;border-radius:var(--rl);box-shadow:var(--shl);border:1px solid var(--g1);max-width:780px;margin:0 auto}
.e-con.audit-input-row{display:flex;gap:.75rem;margin-top:1.5rem;--container-widget-width:auto;--container-widget-flex-grow:0}
.e-con.score-tab.active{border-color:var(--accent);box-shadow:0 10px 30px rgba(255,53,3,.2)}
.e-con.metric-panel.active{display:block}
.e-con.audit-progress{display:none;padding:3rem;text-align:center;background:#fff;border-radius:var(--rl);box-shadow:var(--shl);margin-top:1.5rem}
.e-con.spinner{width:56px;height:56px;border:4px solid var(--g2);border-top-color:var(--accent);border-radius:50%;animation:spin .8s linear infinite;margin:0 auto 1.25rem}
.e-con.progress-bar{height:6px;background:var(--g1);border-radius:3px;margin:1.5rem auto;max-width:400px;overflow:hidden}
.e-con.progress-fill{height:100%;width:0;background:linear-gradient(90deg,var(--accent),#ff7a3a);border-radius:3px;transition:width .4s}
.e-con.auth-wrap{max-width:460px;margin:3rem auto;background:#fff;padding:2.5rem;border-radius:var(--rl);box-shadow:var(--shl)}
.e-con.auth-tabs{display:flex;border-bottom:2px solid var(--g1);margin-bottom:2rem;--container-widget-width:auto;--container-widget-flex-grow:0}
.e-con.auth-tab.active{color:var(--accent);border-bottom-color:var(--accent)}
.e-con.auth-p{display:none}
.e-con.auth-p.active{display:block}
@media(max-width:1024px){.e-con.hero-grid,.e-con.split-grid{grid-template-columns:1fr;gap:3rem}.e-con.timeline::before{left:30px}.e-con.tl-item{grid-template-columns:60px 1fr}.tl-item:nth-child(even) .e-con.tl-body{grid-column:2}.e-con.tl-body{grid-column:2!important}}
@media(max-width:640px){.e-con.hero-stats{gap:1.5rem}.e-con.hero-cta,.e-con.cta-btns{flex-direction:column}.e-con.audit-input-row{flex-direction:column}.e-con.fc1,.e-con.fc2{position:relative;left:auto;right:auto;top:auto;bottom:auto;margin:1rem auto 0}}
/* paragraphs inside Text Editor widgets follow the widget colour (so Style > Text Color works) */
.elementor-widget-text-editor p{color:inherit}
.elementor-widget-text-editor .tl-year,.elementor-widget-text-editor .p-num{color:inherit}
.elementor-widget-text-editor .ch-inl{display:contents}
.ch-c>.elementor-widget-text-editor,.ch-c>.elementor-widget-heading{max-width:100%}
.e-con.ch-ico-host .elementor-widget-icon{width:auto}
.ch-ico .elementor-icon{color:inherit;font-size:inherit;line-height:1;display:flex;align-items:center;justify-content:center}
.ch-ico .elementor-icon svg{width:1em;height:1em;fill:currentColor}
.ch-ico .elementor-icon i{line-height:1}
.ch-ico.elementor-widget-icon{width:auto}

/* Button widget: pixel-match the original .btn / .btn-p / .btn-s / .btn-w / .s-link look (Style tab still overrides everything) */
.elementor-widget-button.chb{width:auto}
.elementor-widget-button.chb .elementor-button{display:inline-flex;align-items:center;gap:.5rem;padding:.9rem 1.5rem;border-radius:999px;font-family:'Poppins',sans-serif;font-weight:600;font-size:.92rem;line-height:1.2;border:none;cursor:pointer;transition:all .3s var(--t);text-decoration:none;white-space:nowrap;position:relative;overflow:hidden;fill:currentColor}
.elementor-widget-button.chb .elementor-button-content-wrapper{display:inline-flex;align-items:center;gap:.5rem}
.elementor-widget-button.chb .elementor-button::before{content:'';position:absolute;inset:0;background:rgba(255,255,255,0);transition:background .3s var(--t)}
.elementor-widget-button.chb .elementor-button:hover::before{background:rgba(255,255,255,.15)}
.elementor-widget-button.chb .elementor-button-icon{display:inline-flex;transition:transform .25s var(--t)}
.elementor-widget-button.chb .elementor-button-icon svg{width:1em;height:1em}
.elementor-widget-button.chb .elementor-button:hover .elementor-button-icon{transform:translateX(4px)}
.chb-p .elementor-button{background:var(--accent);color:#171717;box-shadow:0 6px 20px rgba(255,53,3,.25)}
.chb-p .elementor-button:hover{background:var(--accent-hover);color:#fff;box-shadow:0 10px 28px rgba(207,72,14,.35);transform:translateY(-2px)}
.chb-s .elementor-button{background:transparent;color:var(--primary);border:2px solid var(--g2)}
.chb-s .elementor-button:hover{background:var(--primary);color:#fff;border-color:var(--primary);transform:translateY(-2px)}
.chb-w .elementor-button{background:#fff;color:var(--primary)}
.chb-w .elementor-button:hover{background:var(--g1);color:var(--primary);transform:translateY(-2px)}
.chb-d .elementor-button{background:var(--primary);color:#fff}
.chb-d .elementor-button:hover{background:#000;color:#fff;transform:translateY(-2px)}
.chb-lg .elementor-button{padding:1.1rem 2rem;font-size:1rem}
.chb-sm .elementor-button{padding:.6rem 1.1rem;font-size:.82rem}
.chb-link .elementor-button{background:none;box-shadow:none;padding:0;border-radius:0;color:var(--primary);font-size:.85rem;gap:.4rem}
.chb-link .elementor-button::before{display:none}
.chb-link .elementor-button:hover{background:none;color:var(--accent);box-shadow:none;transform:none}
.chb-link .elementor-button-icon svg{width:16px;height:16px}
.chb-link .elementor-button:hover .elementor-button-icon{transform:translateX(5px)}

/* hero blobs / floating cards that are now containers must not take Elementor flex sizing */
.e-con.hero-blob,.e-con.hero-bg{pointer-events:none}
.e-con.audit-progress.ch-c{display:none}
.elementor-editor-active .e-con.audit-progress.ch-c{display:block}
.elementor-editor-active .reveal,.elementor-editor-active .s-card,.elementor-editor-active .p-step,.elementor-editor-active .h-stat,.elementor-editor-active .f-card,.elementor-editor-active .value-card,.elementor-editor-active .tl-item{opacity:1!important;transform:none}
.elementor-editor-active .page-content>*:not(.elementor){max-width:none}

/* SEO Audit form: URL field grows, button stays compact (input + button live in HTML widgets) */
.e-con.audit-input-row>.elementor-widget-html:first-child{flex:1 1 auto;width:auto;min-width:0}
.e-con.audit-input-row .elementor-widget-html input{width:100%}
@media(max-width:760px){.e-con.audit-input-row>.elementor-widget-html{width:100%}}
