/* Enhance Pro AI — Frontend CSS | Author: Noman Hassan */
@import url('https://fonts.googleapis.com/css2?family=Syne:wght@400;600;700;800&family=DM+Sans:opsz,wght@9..40,300;9..40,400;9..40,500;9..40,600&display=swap');

:root{--epa-bg:#f4f3ef;--epa-white:#fff;--epa-dark:#111;--epa-mid:#555;--epa-light:#999;--epa-border:#e5e3dc;--epa-accent:#1a56db;--epa-accent-lt:#eef3fd;--epa-accent2:#6d28d9;--epa-success:#0d7a4e;--epa-tool-dark:#0f172a;--epa-tool-acc:#38bdf8;--epa-card-sh:0 1px 2px rgba(0,0,0,.05),0 3px 12px rgba(0,0,0,.06);--epa-card-shh:0 4px 6px rgba(0,0,0,.06),0 12px 32px rgba(0,0,0,.1);--epa-font:'DM Sans',sans-serif;--epa-display:'Syne',sans-serif;}
[data-epa-theme="dark"]{--epa-bg:#111;--epa-white:#1a1a1a;--epa-dark:#f0f0f0;--epa-mid:#aaa;--epa-light:#666;--epa-border:#2a2a2a;--epa-accent:#3b82f6;--epa-accent-lt:#1e3a5f;}

/* Astra Full-Width + entry-content fix */
.epa-home,.epa-tool-page{
  margin-left:calc(-50vw + 50%) !important;
  margin-right:calc(-50vw + 50%) !important;
  width:100vw !important;
  max-width:100vw !important;
  position:relative !important;
  overflow-x:clip !important;   /* clip instead of hidden — doesn't cut child content */
  box-sizing:border-box;
}
/* Inner sections must NOT overflow */
.epa-tools-section,
.epa-hero-block,
.epa-recent-row {
  max-width:1200px;
  margin-left:auto !important;
  margin-right:auto !important;
  padding-left:20px;
  padding-right:20px;
  box-sizing:border-box;
  width:100%;
}
/* CRITICAL: Grid children must have min-width:0 to prevent text overflow */
.epa-tools-grid > * { min-width:0; }
.ast-container,.entry-content,.ast-article-single,.post-content,.site-content .ast-container,.ast-container>.ast-row{padding-left:0 !important;padding-right:0 !important;max-width:100% !important;}
.epa-tool-card,.epa-tool-card *,.epa-other-tool,.epa-recent-chip,.epa-chip{text-decoration:none !important;}
.epa-tools-grid{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  grid-auto-rows:auto;
  gap:10px;
  margin-bottom:24px;
  min-width:0;
  width:100%;
  align-items:stretch;
}
@media(min-width:600px){.epa-tools-grid{grid-template-columns:repeat(3,1fr);gap:12px;}}
@media(min-width:960px){.epa-tools-grid{grid-template-columns:repeat(4,1fr);gap:14px;}}

/* Dark Mode Toggle */
.epa-dm-menu-item{list-style:none !important;}
.epa-dm-toggle{display:flex;align-items:center;gap:6px;background:var(--epa-bg);border:1px solid var(--epa-border);border-radius:100px;padding:5px 12px 5px 9px;cursor:pointer;font-size:12px;font-weight:600;color:var(--epa-mid);white-space:nowrap;transition:all .2s;font-family:var(--epa-font);}
.epa-dm-toggle:hover{border-color:var(--epa-accent);color:var(--epa-accent);}
.epa-dm-ico{font-size:14px;line-height:1;}

/* Mobile hamburger menu — toggle item style */
@media(max-width:920px){
  .epa-dm-menu-item{
    border-top:1px solid #eee;
    padding:12px 20px !important;
    display:flex !important;
    align-items:center;
  }
  .epa-dm-menu-item .epa-dm-toggle{
    background:transparent;
    border:1.5px solid #ddd;
    border-radius:100px;
    padding:8px 18px;
    font-size:14px;
    font-weight:600;
    color:#333;
    width:auto;
  }
  .epa-dm-menu-item .epa-dm-toggle:hover{
    border-color:var(--epa-accent);
    color:var(--epa-accent);
    background:var(--epa-accent-lt);
  }
}

/* Home */
.epa-home{background:var(--epa-bg);font-family:var(--epa-font);}
.epa-recent-row{padding:20px 0 0;}
.epa-recent-label{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:1px;color:var(--epa-light);margin-bottom:10px;}
.epa-recent-chips{display:flex;gap:8px;flex-wrap:wrap;}
.epa-chip{display:flex;align-items:center;gap:6px;background:var(--epa-white);border:1px solid var(--epa-border);border-radius:100px;padding:6px 13px;font-size:12px;font-weight:500;color:var(--epa-dark);text-decoration:none !important;transition:all .18s;box-shadow:var(--epa-card-sh);}
.epa-chip:hover{border-color:var(--epa-accent);color:var(--epa-accent);background:var(--epa-accent-lt);}

.epa-tools-section{padding:28px 0 16px;}
.epa-tools-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px;}
.epa-tools-heading{font-family:var(--epa-display);font-size:18px;font-weight:700;color:var(--epa-dark);}
.epa-tools-count{font-size:12px;color:var(--epa-light);background:var(--epa-white);border:1px solid var(--epa-border);border-radius:100px;padding:3px 10px;font-weight:500;}

.epa-search-row{margin-bottom:18px;position:relative;}
.epa-search-box{display:flex;align-items:center;gap:10px;background:var(--epa-white);border:1.5px solid var(--epa-border);border-radius:12px;padding:11px 16px;transition:all .2s;box-shadow:var(--epa-card-sh);}
.epa-search-box:focus-within{border-color:var(--epa-accent);box-shadow:0 0 0 3px rgba(26,86,219,.08);}
.epa-search-ico{font-size:15px;color:var(--epa-light);flex-shrink:0;}
.epa-search-input{flex:1;border:none;outline:none;font-size:14px;font-family:var(--epa-font);background:transparent;color:var(--epa-dark);}
.epa-search-input::placeholder{color:var(--epa-light);}
.epa-search-drop{position:absolute;top:calc(100% + 5px);left:0;right:0;background:var(--epa-white);border:1px solid var(--epa-border);border-radius:12px;box-shadow:var(--epa-card-shh);z-index:200;display:none;overflow:hidden;}
.epa-search-drop.open{display:block;}
.epa-sri{display:flex;align-items:center;gap:10px;padding:11px 16px;cursor:pointer;border-bottom:1px solid var(--epa-border);color:var(--epa-dark);text-decoration:none !important;transition:background .15s;}
.epa-sri:last-child{border-bottom:none;}.epa-sri:hover{background:var(--epa-accent-lt);}
.epa-sri-ico{font-size:18px;}.epa-sri-name{font-size:13px;font-weight:600;}.epa-sri-desc{font-size:11px;color:var(--epa-light);}

.epa-tools-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin-bottom:24px;}
@media(min-width:600px){.epa-tools-grid{grid-template-columns:repeat(3,1fr);gap:12px;}}
@media(min-width:960px){.epa-tools-grid{grid-template-columns:repeat(4,1fr);gap:14px;}}

/* Tool Card — equal height, no text cut */
.epa-tool-card{
  background:var(--epa-white);
  border:1px solid var(--epa-border);
  border-radius:16px;
  padding:20px 18px 28px;
  text-decoration:none !important;
  color:var(--epa-dark) !important;
  display:flex;
  flex-direction:column;
  gap:0;
  position:relative;
  overflow:visible !important;
  transition:all .22s cubic-bezier(.4,0,.2,1);
  box-shadow:var(--epa-card-sh);
  cursor:pointer;
  height:100%;
  box-sizing:border-box;
  min-width:0;
  word-break:break-word;
}
.epa-tool-card::before{             /* top accent line via ::before */
  content:'';
  position:absolute;
  top:0;left:0;right:0;
  height:2.5px;
  background:linear-gradient(90deg,var(--epa-accent),var(--epa-accent2));
  border-radius:16px 16px 0 0;
  opacity:0;
  transition:opacity .22s;
}
.epa-tool-card::after{content:'';position:absolute;top:0;left:0;right:0;height:2.5px;background:linear-gradient(90deg,var(--epa-accent),var(--epa-accent2));border-radius:16px 16px 0 0;opacity:0;transition:opacity .22s;}
.epa-tool-card:hover{transform:translateY(-3px);box-shadow:var(--epa-card-shh);border-color:rgba(26,86,219,.12);}
.epa-tool-card:hover::after{opacity:1;}
.epa-tool-card.epa-hidden{display:none !important;}

.epa-card-badge{position:absolute;top:12px;right:12px;font-size:9px;font-weight:700;letter-spacing:.8px;text-transform:uppercase;padding:3px 7px;border-radius:100px;z-index:1;}
.badge-ai{background:#dbeafe;color:#1e40af;}.badge-free{background:#d1fae5;color:#065f46;}

.epa-card-icon-wrap{
  width:48px;height:48px;
  border-radius:13px;
  display:flex;align-items:center;justify-content:center;
  font-size:22px;flex-shrink:0;
  margin-bottom:14px;              /* proper spacing below icon */
}
.ic-blue{background:#dbeafe;}.ic-purple{background:#ede9fe;}.ic-green{background:#d1fae5;}.ic-orange{background:#ffedd5;}.ic-pink{background:#fce7f3;}.ic-teal{background:#ccfbf1;}

.epa-card-name{
  font-family:var(--epa-display);
  font-size:14px;
  font-weight:700;
  color:var(--epa-dark) !important;
  text-decoration:none !important;
  line-height:1.3;
  margin-bottom:6px;
  padding-right:36px;
  word-wrap:break-word;
  overflow-wrap:break-word;
  white-space:normal;
  overflow:visible;
}
.epa-card-desc{
  font-size:12px;
  color:var(--epa-mid) !important;
  text-decoration:none !important;
  line-height:1.6;
  flex:1;
  word-wrap:break-word;
  overflow-wrap:break-word;
  white-space:normal;
  overflow:visible;
  padding-bottom:20px;
}
.epa-card-arrow{
  position:absolute;
  bottom:14px;right:14px;
  width:22px;height:22px;
  background:var(--epa-bg);
  border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  font-size:10px;
  color:var(--epa-accent);
  opacity:0;
  transform:translateX(-4px);
  transition:all .2s;
}
.epa-tool-card:hover .epa-card-arrow{opacity:1;transform:translateX(0);}

/* Hero Block */
.epa-hero-block{max-width:1160px;margin:0 auto;padding:0 16px 32px;}
.epa-hero-inner{background:linear-gradient(135deg,#0f172a 0%,#1a1040 40%,#0f1f3d 100%);border-radius:20px;padding:32px 24px;position:relative;overflow:hidden;}
.epa-hero-inner::before{content:'';position:absolute;top:-40%;left:-20%;width:70%;height:200%;background:radial-gradient(ellipse,rgba(99,102,241,.2) 0%,transparent 65%);pointer-events:none;}
.epa-hero-inner::after{content:'';position:absolute;bottom:-30%;right:-10%;width:60%;height:150%;background:radial-gradient(ellipse,rgba(16,185,129,.12) 0%,transparent 65%);pointer-events:none;}
.epa-hero-content{position:relative;z-index:1;}
.epa-hero-pill{display:inline-flex;align-items:center;gap:6px;background:rgba(99,102,241,.15);border:1px solid rgba(99,102,241,.25);color:#a5b4fc;padding:5px 13px;border-radius:100px;font-size:11px;font-weight:600;letter-spacing:.5px;margin-bottom:14px;}
.epa-hero-dot{width:6px;height:6px;background:#a5b4fc;border-radius:50%;box-shadow:0 0 6px #a5b4fc;animation:epa-blink 2s infinite;}
.epa-hero-title{font-family:var(--epa-display);font-size:clamp(20px,4.5vw,36px);font-weight:800;color:#fff;line-height:1.15;margin:0 0 10px;letter-spacing:-.3px;}
.epa-hero-sub{font-size:13px;color:rgba(255,255,255,.45);line-height:1.55;margin:0 0 22px;max-width:380px;}
.epa-hero-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:rgba(255,255,255,.07);border-radius:12px;overflow:hidden;}
.epa-hstat{background:rgba(255,255,255,.04);padding:11px 6px;text-align:center;}
.epa-hstat strong{display:block;font-family:var(--epa-display);font-size:17px;font-weight:800;color:#fff;line-height:1;}
.epa-hstat span{display:block;font-size:9px;color:rgba(255,255,255,.35);margin-top:3px;letter-spacing:.3px;}
@media(max-width:400px){.epa-hero-stats{grid-template-columns:repeat(2,1fr);}}

/* Tool Page */
.epa-tool-page{background:var(--epa-bg);font-family:var(--epa-font);}
.epa-page-inner{max-width:1160px;margin:0 auto;padding:26px 16px 80px;}
.epa-tool-layout{display:grid;grid-template-columns:1fr 280px;gap:22px;align-items:start;}
@media(max-width:900px){.epa-tool-layout{grid-template-columns:1fr;}.epa-sidebar{display:none;}}

.epa-tool-card.epa-tc-main{display:block;border-radius:18px;background:var(--epa-tool-dark);border:none;box-shadow:none;padding:0;margin-bottom:14px;transform:none !important;}
.epa-tool-card.epa-tc-main:hover{transform:none !important;box-shadow:none !important;border-color:transparent !important;}
.epa-tool-card.epa-tc-main::after{display:none;}
.epa-tool-head{display:flex;align-items:center;gap:13px;padding:20px 24px 16px;border-bottom:1px solid rgba(255,255,255,.06);}
.epa-tool-hicon{width:46px;height:46px;border-radius:13px;display:flex;align-items:center;justify-content:center;font-size:21px;border:1px solid rgba(255,255,255,.1);flex-shrink:0;}
.epa-tool-title{font-family:var(--epa-display);font-size:19px;font-weight:700;color:#fff !important;margin:0 0 3px;}
.epa-tool-sub{font-size:12px;color:rgba(255,255,255,.4);margin:0;}
.epa-tool-body{padding:20px 24px;}

.epa-upload-zone{border:2px dashed rgba(56,189,248,.25);border-radius:13px;padding:36px 20px;text-align:center;background:rgba(56,189,248,.03);cursor:pointer;transition:all .25s;margin-bottom:16px;}
.epa-upload-zone:hover,.epa-upload-zone.epa-dz-over{border-color:var(--epa-tool-acc);background:rgba(56,189,248,.07);}
.epa-uz-icon{font-size:34px;display:block;margin-bottom:9px;}
.epa-uz-title{color:#fff;font-weight:600;font-size:14px;margin-bottom:4px;}
.epa-uz-sub{color:rgba(255,255,255,.35);font-size:13px;}
.epa-uz-sub span{color:var(--epa-tool-acc);}

.epa-ctrl-label{font-size:10px;font-weight:700;letter-spacing:1.5px;text-transform:uppercase;color:rgba(255,255,255,.3);margin-bottom:9px;display:block;}
.epa-presets{display:flex;gap:7px;flex-wrap:wrap;margin-bottom:14px;}
.epa-preset-btn{background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.1);border-radius:8px;padding:7px 12px;color:rgba(255,255,255,.6);font-size:12px;font-weight:500;cursor:pointer;transition:all .2s;font-family:var(--epa-font);}
.epa-preset-btn:hover,.epa-preset-btn.active{border-color:var(--epa-tool-acc);color:var(--epa-tool-acc);background:rgba(56,189,248,.08);}
.epa-sliders-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-bottom:14px;}
@media(max-width:600px){.epa-sliders-grid{grid-template-columns:1fr;}}
.epa-sl-row{background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.07);border-radius:9px;padding:11px 13px;}
.epa-sl-head{display:flex;justify-content:space-between;margin-bottom:7px;}
.epa-sl-name{font-size:12px;color:rgba(255,255,255,.5);}
.epa-sl-val{font-size:12px;font-weight:700;color:var(--epa-tool-acc);}
.epa-slider{-webkit-appearance:none;width:100%;height:3px;background:rgba(255,255,255,.1);border-radius:2px;outline:none;}
.epa-slider::-webkit-slider-thumb{-webkit-appearance:none;width:14px;height:14px;background:var(--epa-tool-acc);border-radius:50%;cursor:pointer;box-shadow:0 0 6px rgba(56,189,248,.4);}
.epa-format-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:12px;}
.epa-fmt-card{background:rgba(255,255,255,.04);border:1.5px solid rgba(255,255,255,.1);border-radius:9px;padding:11px 7px;text-align:center;cursor:pointer;transition:all .2s;position:relative;}
.epa-fmt-card.active,.epa-fmt-card:hover{border-color:var(--epa-tool-acc);background:rgba(56,189,248,.08);}
.epa-fmt-check{position:absolute;top:4px;right:6px;color:var(--epa-tool-acc);font-size:10px;font-weight:700;display:none;}
.epa-fmt-card.active .epa-fmt-check{display:block;}
.epa-fmt-ico{font-size:17px;margin-bottom:4px;}
.epa-fmt-name{font-weight:700;font-size:12px;color:rgba(255,255,255,.8);}
.epa-fmt-card.active .epa-fmt-name{color:var(--epa-tool-acc);}
.epa-fmt-desc{font-size:10px;color:rgba(255,255,255,.3);margin-top:2px;}
.epa-scale-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-bottom:12px;}
.epa-scale-card{background:rgba(255,255,255,.04);border:1.5px solid rgba(255,255,255,.1);border-radius:9px;padding:14px;text-align:center;cursor:pointer;transition:all .2s;}
.epa-scale-card.active,.epa-scale-card:hover{border-color:var(--epa-tool-acc);background:rgba(56,189,248,.08);}
.epa-scale-num{font-family:var(--epa-display);font-size:26px;font-weight:800;color:var(--epa-tool-acc);}
.epa-scale-name{font-size:12px;font-weight:600;color:#fff;margin-top:3px;}
.epa-scale-desc{font-size:10px;color:rgba(255,255,255,.35);margin-top:2px;}
.epa-filters-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:7px;margin-bottom:12px;}
@media(max-width:480px){.epa-filters-grid{grid-template-columns:repeat(3,1fr);}}
.epa-filter-card{background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.08);border-radius:8px;padding:9px 5px;text-align:center;cursor:pointer;font-size:11px;font-weight:500;color:rgba(255,255,255,.5);transition:all .2s;}
.epa-filter-card.active,.epa-filter-card:hover{background:rgba(56,189,248,.1);border-color:var(--epa-tool-acc);color:var(--epa-tool-acc);}
.epa-size-row{display:flex;gap:9px;align-items:center;margin-bottom:12px;}
.epa-size-grp{flex:1;}
.epa-size-grp label{font-size:10px;color:rgba(255,255,255,.35);display:block;margin-bottom:4px;}
.epa-num-input{width:100%;padding:8px 11px;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.1);border-radius:8px;color:#fff;font-size:13px;outline:none;font-family:var(--epa-font);}
.epa-num-input:focus{border-color:var(--epa-tool-acc);}
.epa-lock-btn{background:none;border:1px solid rgba(255,255,255,.15);border-radius:50%;width:30px;height:30px;cursor:pointer;font-size:13px;color:rgba(255,255,255,.4);flex-shrink:0;margin-top:16px;transition:all .2s;}
.epa-lock-btn.locked{border-color:var(--epa-tool-acc);color:var(--epa-tool-acc);}
.epa-text-input{width:100%;padding:9px 12px;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.1);border-radius:8px;color:#fff;font-size:13px;outline:none;margin-bottom:12px;font-family:var(--epa-font);}
.epa-text-input:focus{border-color:var(--epa-tool-acc);}
.epa-color-input{width:46px;height:34px;border-radius:8px;border:1px solid rgba(255,255,255,.2);cursor:pointer;background:none;}
.epa-info-box{background:rgba(56,189,248,.05);border:1px solid rgba(56,189,248,.12);border-radius:8px;padding:11px 13px;font-size:12px;color:rgba(255,255,255,.45);margin-top:9px;}

.epa-action-btn{width:100%;padding:14px;background:linear-gradient(135deg,var(--epa-accent),var(--epa-accent2));border:none;border-radius:10px;color:#fff;font-family:var(--epa-display);font-size:16px;font-weight:700;letter-spacing:.5px;cursor:pointer;transition:all .25s;margin-top:4px;}
.epa-action-btn:hover{transform:translateY(-2px);box-shadow:0 8px 24px rgba(26,86,219,.35);}
.epa-action-btn:disabled{opacity:.45;cursor:not-allowed;transform:none !important;}

.epa-proc{background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.07);border-radius:9px;padding:13px;margin-top:11px;}
.epa-proc-steps{display:flex;flex-direction:column;gap:6px;margin-bottom:11px;}
.epa-proc-step{font-size:12px;color:rgba(255,255,255,.3);display:flex;align-items:center;gap:7px;}
.epa-proc-step::before{content:'○';font-size:9px;flex-shrink:0;}
.epa-proc-step.active{color:#fff;}.epa-proc-step.active::before{content:'●';color:var(--epa-tool-acc);animation:epa-pulse 1s infinite;}
.epa-proc-step.done{color:#34d399;}.epa-proc-step.done::before{content:'✓';color:#34d399;}
.epa-proc-bar-row{display:flex;align-items:center;gap:9px;}
.epa-proc-track{flex:1;height:4px;background:rgba(255,255,255,.08);border-radius:2px;overflow:hidden;}
.epa-proc-fill{height:100%;background:linear-gradient(90deg,var(--epa-accent),var(--epa-tool-acc));border-radius:2px;transition:width .4s ease;width:0%;}
.epa-proc-pct{font-size:12px;font-weight:700;color:var(--epa-tool-acc);min-width:34px;text-align:right;}

.epa-fs-bar{display:flex;align-items:center;gap:11px;background:rgba(255,255,255,.04);border:1px solid rgba(56,189,248,.15);border-radius:9px;padding:11px 14px;margin-top:11px;flex-wrap:wrap;}
.epa-fs-item{display:flex;flex-direction:column;gap:1px;flex:1;min-width:70px;}
.epa-fs-lbl{font-size:9px;text-transform:uppercase;letter-spacing:.5px;color:rgba(255,255,255,.3);}
.epa-fs-val{font-size:15px;font-weight:700;color:#fff;}
.epa-fs-arr{font-size:16px;color:rgba(255,255,255,.2);}
.epa-fs-saved{background:rgba(52,211,153,.1);border:1px solid rgba(52,211,153,.2);border-radius:6px;padding:3px 9px;font-size:11px;font-weight:700;color:#34d399;}

.epa-result{background:rgba(255,255,255,.03);border:1px solid rgba(56,189,248,.15);border-radius:16px;overflow:hidden;margin-top:13px;}
.epa-result-head{display:flex;justify-content:space-between;align-items:center;padding:12px 17px;border-bottom:1px solid rgba(255,255,255,.06);}
.epa-result-ok{font-size:13px;font-weight:600;color:#34d399;}
.epa-dl-btn{background:linear-gradient(135deg,#059669,#047857);border:none;border-radius:8px;color:#fff;font-size:12px;font-weight:600;padding:7px 15px;cursor:pointer;transition:all .2s;font-family:var(--epa-font);}
.epa-dl-btn:hover{transform:translateY(-1px);box-shadow:0 4px 12px rgba(5,150,105,.3);}

.epa-ba-wrap{padding:15px;}
.epa-ba-container{position:relative;border-radius:10px;overflow:hidden;cursor:ew-resize;user-select:none;min-height:180px;background:#111;}
.epa-ba-orig,.epa-ba-enh{position:absolute;inset:0;overflow:hidden;display:flex;align-items:center;justify-content:center;}
.epa-ba-enh{clip-path:inset(0 50% 0 0);}
.epa-ba-div{position:absolute;top:0;bottom:0;left:50%;width:2px;background:#fff;transform:translateX(-50%);pointer-events:none;}
.epa-ba-handle{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:32px;height:32px;background:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:12px;box-shadow:0 2px 8px rgba(0,0,0,.3);}
.epa-ba-lbl{position:absolute;top:9px;font-size:9px;font-weight:700;letter-spacing:.5px;text-transform:uppercase;padding:3px 7px;border-radius:100px;pointer-events:none;}
.epa-ba-before{left:9px;background:rgba(0,0,0,.5);color:#aaa;}
.epa-ba-after{right:9px;background:rgba(56,189,248,.2);color:#38bdf8;}
.epa-ba-hint{text-align:center;margin-top:6px;font-size:10px;color:rgba(255,255,255,.25);}

.epa-stats-row{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid rgba(255,255,255,.06);}
.epa-stat{padding:11px;text-align:center;border-right:1px solid rgba(255,255,255,.06);}
.epa-stat:last-child{border-right:none;}
.epa-stat-val{display:block;font-family:var(--epa-display);font-size:17px;font-weight:700;color:var(--epa-tool-acc);}
.epa-stat-lbl{display:block;font-size:9px;color:rgba(255,255,255,.3);text-transform:uppercase;letter-spacing:.5px;margin-top:2px;}

.epa-share{padding:13px 17px;border-top:1px solid rgba(255,255,255,.06);}
.epa-share-lbl{font-size:10px;color:rgba(255,255,255,.3);text-transform:uppercase;letter-spacing:1px;margin-bottom:9px;}
.epa-share-btns{display:flex;gap:7px;flex-wrap:wrap;}
.epa-sh{display:flex;align-items:center;gap:4px;padding:6px 11px;border-radius:8px;font-size:11px;font-weight:600;cursor:pointer;border:none;transition:all .2s;text-decoration:none !important;font-family:var(--epa-font);}
.epa-sh:hover{transform:translateY(-1px);filter:brightness(1.1);}
.epa-sh-fb{background:#1877f2;color:#fff;}.epa-sh-wa{background:#25d366;color:#fff;}.epa-sh-tw{background:#1da1f2;color:#fff;}.epa-sh-pi{background:#e60023;color:#fff;}
.epa-sh-cp{background:rgba(255,255,255,.08);color:rgba(255,255,255,.7);border:1px solid rgba(255,255,255,.1) !important;}

.epa-howto{background:var(--epa-white);border:1px solid var(--epa-border);border-radius:16px;padding:20px 22px;margin-top:14px;}
.epa-sec-heading{font-family:var(--epa-display);font-size:15px;font-weight:700;margin:0 0 14px;color:var(--epa-dark);}
.epa-howto-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:10px;counter-reset:epa-steps;}
.epa-howto-list li{display:flex;gap:11px;align-items:flex-start;font-size:13px;color:var(--epa-mid);line-height:1.5;counter-increment:epa-steps;}
.epa-howto-list li::before{content:counter(epa-steps);min-width:24px;height:24px;background:linear-gradient(135deg,var(--epa-accent),var(--epa-accent2));border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:700;color:#fff;flex-shrink:0;}

.epa-faq{background:#f8f7f4;border:1px solid var(--epa-border);border-radius:16px;padding:20px 22px;margin-top:12px;}
[data-epa-theme="dark"] .epa-faq{background:#1a1a1a;}
.epa-faq-item{border-bottom:1px solid var(--epa-border);}
.epa-faq-item:last-child{border-bottom:none;}
.epa-faq-q{display:flex;justify-content:space-between;align-items:center;padding:12px 0;cursor:pointer;font-size:13px;font-weight:600;color:var(--epa-dark);gap:9px;}
.epa-faq-arr{font-size:10px;color:var(--epa-light);transition:transform .2s;flex-shrink:0;}
.epa-faq-item.open .epa-faq-arr{transform:rotate(180deg);}
.epa-faq-a{display:none;padding-bottom:12px;font-size:13px;color:var(--epa-mid);line-height:1.6;}
.epa-faq-item.open .epa-faq-a{display:block;}

.epa-ratings{background:#fffbeb;border:1px solid #f59e0b;border-radius:16px;padding:20px 22px;margin-top:12px;}
[data-epa-theme="dark"] .epa-ratings{background:#1c1800;}
.epa-ratings-row{display:flex;gap:18px;align-items:flex-start;margin-bottom:12px;flex-wrap:wrap;}
.epa-rating-score{text-align:center;min-width:80px;}
.epa-rating-num{font-family:var(--epa-display);font-size:38px;font-weight:700;color:var(--epa-dark);line-height:1;}
.epa-rating-stars{font-size:17px;color:#f59e0b;margin:3px 0;}
.epa-rating-cnt{font-size:10px;color:var(--epa-light);}
.epa-rating-bars{flex:1;display:flex;flex-direction:column;gap:4px;}
.epa-rbar{display:flex;align-items:center;gap:6px;}
.epa-rbar-s{font-size:10px;color:var(--epa-mid);width:11px;text-align:right;}
.epa-rbar-track{flex:1;height:5px;background:var(--epa-border);border-radius:3px;overflow:hidden;}
.epa-rbar-fill{height:100%;background:#f59e0b;border-radius:3px;}
.epa-rbar-p{font-size:10px;color:var(--epa-light);min-width:27px;}
.epa-review-btn{width:100%;padding:9px;background:none;border:1.5px solid #f59e0b;border-radius:9px;color:var(--epa-dark);font-weight:600;font-size:13px;cursor:pointer;transition:all .2s;font-family:var(--epa-font);}
.epa-review-btn:hover{background:#fffbeb;}

.epa-sidebar-inner{position:sticky;top:80px;display:flex;flex-direction:column;gap:13px;}
.epa-side-card{background:var(--epa-white);border:1px solid var(--epa-border);border-radius:14px;padding:16px;box-shadow:var(--epa-card-sh);}
.epa-side-title{font-weight:700;font-size:13px;margin:0 0 10px;color:var(--epa-dark);}
.epa-feat-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:6px;}
.epa-feat-list li{font-size:12px;color:var(--epa-mid);display:flex;align-items:flex-start;gap:6px;line-height:1.4;}
.epa-feat-list li::before{content:'✓';color:var(--epa-success);font-weight:700;flex-shrink:0;}
.epa-premium-card{background:linear-gradient(135deg,#1e1b4b,#0f172a);border-radius:14px;padding:16px;color:#fff;}
.epa-prem-badge{display:inline-block;background:rgba(251,191,36,.15);border:1px solid rgba(251,191,36,.3);color:#fbbf24;font-size:9px;font-weight:700;letter-spacing:1px;text-transform:uppercase;padding:2px 9px;border-radius:100px;margin-bottom:9px;}
.epa-premium-card h3{font-weight:700;font-size:14px;margin:0 0 4px;color:#fff;}
.epa-premium-card p{font-size:11px;color:rgba(255,255,255,.4);margin:0 0 11px;}
.epa-prem-list{list-style:none;padding:0;margin:0 0 12px;display:flex;flex-direction:column;gap:5px;}
.epa-prem-list li{font-size:11px;color:rgba(255,255,255,.6);display:flex;align-items:center;gap:5px;}
.epa-prem-list li::before{content:'⚡';font-size:9px;}
.epa-upgrade-btn{width:100%;padding:10px;background:linear-gradient(135deg,#f59e0b,#d97706);border:none;border-radius:9px;color:#fff;font-weight:700;font-size:12px;cursor:pointer;transition:all .2s;font-family:var(--epa-font);}
.epa-upgrade-btn:hover{transform:translateY(-1px);box-shadow:0 4px 14px rgba(245,158,11,.35);}
.epa-other-tool{display:flex;align-items:center;gap:8px;padding:7px 9px;border-radius:8px;text-decoration:none !important;color:var(--epa-dark) !important;font-size:12px;font-weight:500;transition:all .2s;}
.epa-other-tool:hover{background:var(--epa-accent-lt);color:var(--epa-accent) !important;}
.epa-other-tool span{font-size:14px;}

.epa-ad{width:100%;margin-bottom:16px;border-radius:9px;overflow:hidden;}
.epa-anchor-ad{position:fixed;bottom:0;left:0;right:0;z-index:1000;background:#fffbeb;border-top:2px solid #f59e0b;padding:10px 20px;display:flex;align-items:center;justify-content:space-between;}
.epa-anchor-close{background:none;border:1px solid #f59e0b;border-radius:50%;width:26px;height:26px;cursor:pointer;font-size:12px;color:#999;margin-left:10px;flex-shrink:0;}
.epa-vignette{position:fixed;inset:0;background:rgba(0,0,0,.85);z-index:9999;display:flex;align-items:center;justify-content:center;}
.epa-vignette-box{background:var(--epa-white);border-radius:18px;padding:30px;max-width:380px;width:90%;position:relative;}
.epa-vignette-close{position:absolute;top:11px;right:11px;background:none;border:1px solid var(--epa-border);border-radius:20px;padding:4px 11px;font-size:11px;cursor:pointer;color:var(--epa-mid);}

@keyframes epa-blink{0%,100%{opacity:1}50%{opacity:.3}}
@keyframes epa-pulse{0%,100%{opacity:1}50%{opacity:.4}}
@keyframes epa-fadeup{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}
.epa-tools-grid .epa-tool-card:nth-child(1){animation:epa-fadeup .3s .03s ease both}
.epa-tools-grid .epa-tool-card:nth-child(2){animation:epa-fadeup .3s .06s ease both}
.epa-tools-grid .epa-tool-card:nth-child(3){animation:epa-fadeup .3s .09s ease both}
.epa-tools-grid .epa-tool-card:nth-child(4){animation:epa-fadeup .3s .12s ease both}
.epa-tools-grid .epa-tool-card:nth-child(5){animation:epa-fadeup .3s .15s ease both}
.epa-tools-grid .epa-tool-card:nth-child(6){animation:epa-fadeup .3s .18s ease both}

@media(max-width:480px){.epa-hero-stats{grid-template-columns:repeat(2,1fr);}.epa-stats-row{grid-template-columns:1fr;}.epa-stat{border-right:none;border-bottom:1px solid rgba(255,255,255,.06);}.epa-stat:last-child{border-bottom:none;}.epa-share-btns{gap:5px;}.epa-sh{padding:6px 9px;font-size:10px;}.epa-format-grid{grid-template-columns:repeat(2,1fr);}}

/* ════════════════════════════════════════════════════════
   FIX 1 — REMOVE EXTRA SPACE (Header bottom / Footer top)
   Astra adds padding to .site-main > article and .site-content
   These selectors cover ALL Astra Free layout variants
═══════════════════════════════════════════════════════ */

/* Kill ALL spacing on the article/post that wraps our shortcode */
body.page .site-main article.page,
body.page .site-main .ast-article-single,
body.page article.ast-article-single {
  padding-top: 0 !important;
  padding-bottom: 0 !important;
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}

/* Kill entry-content top/bottom padding — Astra adds 1.5em or 30px */
body.page .entry-content,
body.page .ast-article-single .entry-content,
.ast-page-builder-template .entry-content {
  padding-top: 0 !important;
  padding-bottom: 0 !important;
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}

/* Kill .site-content wrapper padding */
body.page .site-content,
body.page #content.site-content,
body.page .ast-container .site-content {
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}

/* Astra adds padding-top to .content-area / #primary */
body.page #primary.content-area,
body.page .content-area {
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}

/* ast-page-builder removes some but not all */
body.page.ast-page-builder-template .site-content,
body.page.ast-page-builder-template #primary {
  padding: 0 !important;
  margin: 0 !important;
}

/* Our own containers — zero margin/padding top and bottom */
.epa-home,
.epa-tool-page {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}

/* ════════════════════════════════════════════════════════
   FIX 2 — HERO BANNER: No stretch, centered, proper width
   Root cause: .epa-home is 100vw but hero inner was
   stretching because no max-width on the content block
═══════════════════════════════════════════════════════ */

.epa-hero-block {
  max-width: 100vw;
  padding: 0 24px 40px;
  box-sizing: border-box;
  overflow: hidden;
}

.epa-hero-inner {
  max-width: 1160px;
  margin: 0 auto;
  background: linear-gradient(135deg, #0f172a 0%, #1a1040 40%, #0f1f3d 100%);
  border-radius: 20px;
  padding: 48px 56px;
  position: relative;
  overflow: hidden;
  box-sizing: border-box;
  /* Critical: prevent width stretch */
  width: 100%;
  display: block;
}

.epa-hero-content {
  max-width: 640px;
  margin: 0 auto;
  text-align: center;
  position: relative;
  z-index: 1;
}

/* Prevent title from stretching full width */
.epa-hero-title {
  font-family: var(--epa-display);
  font-size: clamp(22px, 3vw, 40px) !important;
  font-weight: 800;
  color: #fff !important;
  line-height: 1.2;
  margin: 0 0 12px;
  letter-spacing: -.4px;
  white-space: normal !important;
  word-break: break-word;
  max-width: 100%;
}

.epa-hero-sub {
  font-size: clamp(13px, 1.4vw, 15px);
  color: rgba(255,255,255,.5);
  line-height: 1.6;
  margin: 0 auto 26px;
  max-width: 460px;
}

.epa-hero-pill {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  background: rgba(99,102,241,.15);
  border: 1px solid rgba(99,102,241,.25);
  color: #a5b4fc;
  padding: 6px 16px;
  border-radius: 100px;
  font-size: 12px;
  font-weight: 600;
  letter-spacing: .5px;
  margin-bottom: 18px;
}

.epa-hero-stats {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 1px;
  background: rgba(255,255,255,.07);
  border-radius: 14px;
  overflow: hidden;
  max-width: 520px;
  margin: 0 auto;
}

.epa-hstat { background:rgba(255,255,255,.04); padding:14px 10px; text-align:center; }
.epa-hstat strong { display:block; font-family:var(--epa-display); font-size:20px; font-weight:800; color:#fff; line-height:1; }
.epa-hstat span { display:block; font-size:10px; color:rgba(255,255,255,.35); margin-top:4px; }

@media(max-width:900px) {
  .epa-hero-block { padding: 0 16px 32px; }
  .epa-hero-inner { padding: 32px 28px; }
  .epa-hero-content { text-align: left; max-width: 100%; }
  .epa-hero-stats { margin: 0; max-width: 100%; }
}
@media(max-width:480px) {
  .epa-hero-inner { padding: 24px 20px; border-radius: 14px; }
  .epa-hero-stats { grid-template-columns: repeat(2,1fr); }
  .epa-hstat strong { font-size: 17px; }
}

/* ── OCR Tool Styles ── */
.epa-ocr-textarea{
  width:100%;
  min-height:160px;
  background:rgba(255,255,255,.05);
  border:1px solid rgba(255,255,255,.12);
  border-radius:10px;
  color:#fff;
  font-size:13px;
  line-height:1.6;
  padding:13px 15px;
  font-family:var(--epa-font);
  resize:vertical;
  outline:none;
  box-sizing:border-box;
  margin-top:8px;
}
.epa-ocr-textarea:focus{border-color:var(--epa-tool-acc);}
.epa-ocr-actions{display:flex;align-items:center;justify-content:space-between;margin-top:10px;flex-wrap:wrap;gap:8px;}
.epa-ocr-copy-btn{background:linear-gradient(135deg,var(--epa-accent),var(--epa-accent2));border:none;border-radius:8px;color:#fff;font-size:12px;font-weight:600;padding:8px 18px;cursor:pointer;transition:all .2s;font-family:var(--epa-font);}
.epa-ocr-copy-btn:hover{transform:translateY(-1px);box-shadow:0 4px 12px rgba(26,86,219,.35);}
.epa-ocr-copy-btn.copied{background:linear-gradient(135deg,#059669,#047857);}
.epa-ocr-charcount{font-size:11px;color:rgba(255,255,255,.3);}

/* Extra animation for cards 7-12 */
.epa-tools-grid .epa-tool-card:nth-child(7){animation:epa-fadeup .3s .21s ease both}
.epa-tools-grid .epa-tool-card:nth-child(8){animation:epa-fadeup .3s .24s ease both}
.epa-tools-grid .epa-tool-card:nth-child(9){animation:epa-fadeup .3s .27s ease both}
.epa-tools-grid .epa-tool-card:nth-child(10){animation:epa-fadeup .3s .30s ease both}
.epa-tools-grid .epa-tool-card:nth-child(11){animation:epa-fadeup .3s .33s ease both}
.epa-tools-grid .epa-tool-card:nth-child(12){animation:epa-fadeup .3s .36s ease both}
