/* ============================================
   AVANTCERT CERTIFICATION COST CALCULATOR
   Accessibility-first: NO gradients, solid backgrounds only,
   all text meets WCAG AA contrast (>= 4.5:1). Highly legible font stack.
   ============================================ */
:root{
  /* All colours below are contrast-checked against their background */
  --e-ink:#0B1F3A;      /* 14.8:1 on white  */
  --e-ink-2:#48586E;    /* 6.4:1  on white  */
  --e-ink-3:#5A6779;    /* 5.2:1  on white  */
  --e-orange:#FD910B;   /* brand accent: borders / fills only, never text on white */
  --e-orange-d:#A85C00; /* 4.8:1  on white - safe for text */
  --e-green:#067A52;    /* 4.6:1  on white - safe for text */
  --e-border:#D8DEE6; --e-surface:#F4F7FA; --e-white:#fff;
  --e-radius:14px;
  /* Legible, fast-rendering stack. Inter (Google Font) with full system fallback
     so text paints immediately even if the webfont is slow. */
  --e-font:'Inter','Segoe UI',Roboto,-apple-system,BlinkMacSystemFont,'Helvetica Neue',Arial,sans-serif;
}

body{font-family:var(--e-font);}
.est-hero,.est-tool,.est-content,.est-promo-wrap{font-family:var(--e-font);}
.est-content p,.est-table,.est-faq{font-family:var(--e-font);}

/* Screen-reader-only (table caption stays crawlable but visually hidden) */
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0;}

/* Hero */
.est-hero{background:var(--e-white);padding:calc(72px + 3rem) 0 2rem;border-bottom:1px solid var(--e-border);text-align:center;}
.est-hero .breadcrumb{justify-content:center;margin-bottom:1rem;color:var(--e-ink-3);font-size:.9rem;}
.est-hero .breadcrumb a{color:var(--e-ink-2);text-decoration:underline;}
.est-hero .breadcrumb .separator{margin:0 .5rem;color:var(--e-ink-3);}
.est-hero h1{font-size:clamp(2rem,4vw,3rem);font-weight:800;color:var(--e-ink);letter-spacing:-.01em;margin:0 0 1rem;line-height:1.15;}
.est-hero p{max-width:740px;margin:0 auto;color:var(--e-ink-2);font-size:1.125rem;line-height:1.7;}
.est-trust{display:flex;gap:1.5rem;justify-content:center;flex-wrap:wrap;margin-top:1.25rem;color:var(--e-ink-2);font-size:.95rem;font-weight:600;}
.est-trust span{display:inline-flex;align-items:center;gap:.4rem;}
.est-trust i{width:17px;height:17px;color:var(--e-green);}
.est-updated{margin-top:1rem;font-size:.9rem;color:var(--e-ink-3);}

/* Discount promo — solid background, no gradient */
.est-promo-wrap{background:var(--e-white);padding:0 0 1.5rem;}
.est-promo{display:flex;align-items:center;gap:14px;max-width:920px;margin:0 auto;background:#FFF4E5;border:1px solid #E3C089;border-radius:var(--e-radius);padding:1rem 1.25rem;}
.est-promo i{width:26px;height:26px;color:#7A4B00;flex-shrink:0;}
.est-promo p{margin:0;color:#6B4200;font-size:1rem;line-height:1.55;}  /* 7.4:1 on #FFF4E5 */
.est-promo a{color:#6B4200;font-weight:700;text-decoration:underline;}

/* Jump links */
.est-jump{display:flex;flex-wrap:wrap;gap:.5rem;justify-content:center;margin-top:1.25rem;}
.est-jump a{font-size:.88rem;font-weight:600;color:var(--e-ink-2);background:var(--e-surface);border:1px solid var(--e-border);border-radius:999px;padding:.4rem .85rem;text-decoration:none;}
.est-jump a:hover{border-color:var(--e-orange);color:var(--e-ink);}

/* Tool layout */
.est-tool{padding:2.5rem 0 3rem;background:var(--e-surface);}
.est-grid{display:grid;grid-template-columns:1.5fr 1fr;gap:2rem;align-items:start;}
.est-step{margin-bottom:2rem;}
.est-step h2{font-size:1.3rem;font-weight:700;color:var(--e-ink);margin:0 0 .35rem;}
.est-step > p{color:var(--e-ink-2);font-size:1rem;margin:0 0 1rem;line-height:1.6;}

.est-controls{display:flex;align-items:center;gap:.75rem;margin-bottom:1rem;flex-wrap:wrap;}
.est-mini-btn{background:var(--e-white);border:1px solid var(--e-border);border-radius:8px;padding:.5rem .9rem;font-size:.9rem;font-weight:600;color:var(--e-ink);cursor:pointer;transition:border-color .15s,color .15s;font-family:var(--e-font);}
.est-mini-btn:hover{border-color:var(--e-orange);color:var(--e-orange-d);}
.est-counter{margin-left:auto;color:var(--e-ink-2);font-size:.95rem;}
.est-counter strong{color:var(--e-ink);}

/* Certification cards */
.est-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(165px,1fr));gap:.75rem;}
.est-card{position:relative;text-align:left;background:var(--e-white);border:1.5px solid var(--e-border);border-radius:12px;padding:1rem;cursor:pointer;display:flex;flex-direction:column;gap:.2rem;transition:border-color .15s,box-shadow .15s;font-family:var(--e-font);}
.est-card:hover{border-color:var(--e-orange);box-shadow:0 4px 14px rgba(0,0,0,.08);}
.est-card.is-selected{border-color:var(--e-orange);background:#FFF8EF;box-shadow:0 0 0 1px var(--e-orange);}
.est-card__check{position:absolute;top:.6rem;right:.6rem;width:22px;height:22px;border-radius:50%;background:var(--e-orange);color:#0B1F3A;display:none;align-items:center;justify-content:center;}
.est-card__check i{width:14px;height:14px;stroke-width:3;}
.est-card.is-selected .est-card__check{display:flex;}
.est-card__name{font-weight:700;color:var(--e-ink);font-size:1.02rem;padding-right:24px;}
.est-card__full{color:var(--e-ink-3);font-size:.82rem;line-height:1.35;min-height:2.1rem;}
.est-card__cost{color:var(--e-orange-d);font-weight:700;font-size:.95rem;margin-top:.25rem;}
.est-card__time{color:var(--e-ink-3);font-size:.82rem;}

/* Company size radios */
.est-size{display:flex;gap:.6rem;flex-wrap:wrap;}
.est-radio{display:inline-flex;align-items:center;gap:.5rem;background:var(--e-white);border:1.5px solid var(--e-border);border-radius:999px;padding:.6rem 1.05rem;cursor:pointer;font-size:.95rem;color:var(--e-ink);font-weight:500;}
.est-radio input{accent-color:var(--e-orange);}
.est-radio:has(input:checked){border-color:var(--e-orange);background:#FFF8EF;font-weight:700;}

/* Live summary — solid backgrounds only */
.est-summary__sticky{position:sticky;top:90px;background:var(--e-white);border:1px solid var(--e-border);border-radius:var(--e-radius);padding:1.5rem;box-shadow:0 8px 28px rgba(0,31,63,.08);}
.est-summary h2{font-size:1.3rem;font-weight:700;color:var(--e-ink);margin:0 0 1rem;}
.est-empty{text-align:center;color:var(--e-ink-2);padding:1.5rem 0;}
.est-empty i{width:32px;height:32px;color:var(--e-ink-3);}
.est-empty p{margin:.75rem 0 0;font-size:1rem;line-height:1.6;}

.est-figure{background:#FFF8EF;border:1px solid #E3C089;border-radius:12px;padding:1.15rem 1rem;text-align:center;}
.est-figure__label{display:block;font-size:.8rem;text-transform:uppercase;letter-spacing:.04em;color:#6B4200;font-weight:700;}
.est-figure__value{display:block;font-size:2.1rem;font-weight:800;color:var(--e-ink);margin-top:.25rem;line-height:1.15;}
.est-figure__market{display:block;margin-top:.45rem;font-size:.9rem;color:#48586E;}
.est-figure__market s{color:#5A6779;}
.est-figure__market strong{color:var(--e-green);font-weight:700;}

.est-subfigures{display:grid;grid-template-columns:1fr 1fr;gap:.75rem;margin-top:.75rem;}
.est-subfigures > div{background:var(--e-surface);border:1px solid var(--e-border);border-radius:10px;padding:.8rem;text-align:center;}
.est-subfigures__label{display:block;font-size:.78rem;text-transform:uppercase;letter-spacing:.04em;color:var(--e-ink-3);margin-bottom:.25rem;font-weight:600;}
.est-subfigures span:last-child{font-weight:700;color:var(--e-ink);font-size:1.02rem;}

/* CTA — solid navy, high-contrast button (dark text on brand orange = 6.4:1) */
.est-cta-box{background:#0B1F3A;border-radius:12px;padding:1.15rem;margin-top:1rem;text-align:center;}
.est-cta-box p{margin:0 0 .8rem;color:#E8EDF3;font-size:.95rem;line-height:1.55;}
.est-cta-box .btn{width:100%;justify-content:center;}
.est-cta-box .btn-primary{background:#FD910B;background-image:none;color:#0B1F3A;font-weight:700;border:none;}
.est-cta-box .btn-primary:hover{background:#FFA733;color:#0B1F3A;}

.est-breakdown{margin-top:1.25rem;}
.est-breakdown h3{font-size:1rem;font-weight:700;color:var(--e-ink);margin:0 0 .5rem;}
.est-line{display:grid;grid-template-columns:1fr auto auto;gap:.6rem;align-items:center;padding:.55rem 0;border-bottom:1px solid var(--e-border);font-size:.9rem;}
.est-line__name{font-weight:600;color:var(--e-ink);}
.est-line__meta{color:var(--e-ink-3);font-size:.82rem;}
.est-line__cost{color:var(--e-ink);font-weight:700;white-space:nowrap;}
.est-disclaimer{font-size:.82rem;color:var(--e-ink-3);margin:.9rem 0 0;line-height:1.6;}

/* SEO content */
.est-content{padding:3rem 0;background:var(--e-white);}
.est-content__narrow{max-width:860px;}
.est-content h2{font-size:1.6rem;font-weight:700;color:var(--e-ink);margin:2.25rem 0 .75rem;line-height:1.3;}
.est-content h2:first-child{margin-top:0;}
.est-content h3{font-size:1.15rem;font-weight:700;color:var(--e-ink);margin:1.5rem 0 .4rem;}
.est-content p{color:var(--e-ink-2);line-height:1.75;font-size:1.0625rem;}
.est-content a{color:#0B4E8C;text-decoration:underline;}  /* 7.6:1 on white */
.est-content a:hover{color:#062F55;}
.est-table-wrap{overflow-x:auto;margin:1.25rem 0;}
.est-table{width:100%;border-collapse:collapse;font-size:1rem;}
.est-table th,.est-table td{text-align:left;padding:.85rem 1rem;border-bottom:1px solid var(--e-border);color:var(--e-ink-2);}
.est-table th{background:var(--e-surface);color:var(--e-ink);font-weight:700;font-size:.88rem;text-transform:uppercase;letter-spacing:.03em;}
.est-table td:first-child{font-weight:600;color:var(--e-ink);}
.est-table tbody tr:hover{background:var(--e-surface);}
.est-faq{margin-top:1rem;}
.est-faq details{border:1px solid var(--e-border);border-radius:10px;padding:1rem 1.25rem;margin-bottom:.75rem;background:var(--e-white);}
.est-faq summary{font-weight:700;color:var(--e-ink);cursor:pointer;font-size:1.05rem;}
.est-faq p{font-size:1rem;margin:.6rem 0 0;}

/* Responsive */
@media (max-width:900px){
  .est-grid{grid-template-columns:1fr;}
  .est-summary__sticky{position:static;}
}
@media (max-width:520px){
  .est-cards{grid-template-columns:1fr 1fr;}
  .est-figure__value{font-size:1.8rem;}
}
