/*
Theme Name: EaseThat V6.13.72 Built-in GA4
Theme URI: https://easethat.co.uk/
Author: EaseThat Ltd
Author URI: https://easethat.co.uk/
Description: Production WordPress and WooCommerce theme for EaseThat Ltd. Includes buyer-focused Technology, Data & Analytics and Life Sciences positioning, anonymised case studies, practical Insights guides, B2B trade-account workflows, consent management and WooCommerce.
Version: 6.13.72
Requires at least: 6.0
Tested up to: 7.1
Requires PHP: 7.4
Text Domain: easethat
*/


:root{
  --navy:#04172f;
  --navy-2:#082d58;
  --navy-3:#0b3e72;
  --teal:#07a9a6;
  --teal-2:#14c9bb;
  --teal-accessible:#047a78;
  --teal-accessible-2:#035f68;
  --teal-soft:#e6f8f6;
  --ink:#0a2344;
  --muted:#5d6d80;
  --soft:#f5f8fb;
  --soft-2:#edf4f8;
  --line:#dce6ee;
  --white:#fff;
  --shadow:0 18px 55px rgba(6,27,58,.10);
}

/* V6.13.65 Company Accounts */
.easethat-company-summary{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:14px;
  margin:0 0 20px;
}
.easethat-company-summary>div,
.easethat-company-invite{
  border:1px solid #dce6eb;
  border-radius:12px;
  background:#fff;
  padding:18px;
}
.easethat-company-summary span,
.easethat-company-invite label span{
  display:block;
  color:#60798b;
  font-size:.78rem;
  font-weight:750;
  margin-bottom:5px;
}
.easethat-company-summary strong{color:#092d54}
.easethat-company-invite{margin-top:24px}
.easethat-company-invite-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:16px;
  margin-top:18px;
}
.easethat-company-invite-grid input,
.easethat-company-invite-grid select{
  width:100%;
  min-height:44px;
}
.easethat-company-invite-submit{align-self:end}
.easethat-document-actions form{display:inline-block;margin:0 6px 6px 0}
@media (max-width:760px){
  .easethat-company-summary,.easethat-company-invite-grid{grid-template-columns:1fr}
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:135px}
body{
  margin:0;
  font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;
  color:var(--ink);background:#fff;line-height:1.6;
  -webkit-font-smoothing:antialiased;
}
body.nav-open{overflow:hidden}
a{text-decoration:none;color:inherit}
img{max-width:100%;display:block}
button,input,select,textarea{font:inherit}
.wrap{width:min(1200px,calc(100% - 40px));margin:auto}
.skip-link{position:fixed;left:16px;top:-70px;z-index:2000;background:#fff;color:var(--navy);padding:10px 14px;border-radius:5px;box-shadow:var(--shadow)}
.skip-link:focus{top:16px}
:focus-visible{outline:3px solid #4ddbd1;outline-offset:3px}
.screen-reader-text:not(:focus):not(:active){
  position:absolute!important;
  width:1px!important;
  height:1px!important;
  margin:-1px!important;
  padding:0!important;
  overflow:hidden!important;
  clip:rect(0 0 0 0)!important;
  clip-path:inset(50%)!important;
  border:0!important;
  white-space:nowrap!important;
}
main[id],section[id],article[id]{scroll-margin-top:145px}

.topbar{background:var(--navy);color:#fff;font-size:13px}
.topbar-inner{min-height:42px;display:flex;align-items:center;justify-content:space-between;gap:20px}
.top-left{display:flex;gap:26px}.topbar a{color:#fff;opacity:.96}.top-right{color:#bdd0df}

.header{
  background:rgba(255,255,255,.97);
  backdrop-filter:saturate(140%) blur(12px);
  position:sticky;top:0;z-index:100;
  border-bottom:1px solid rgba(220,230,238,.9);
}
.nav{min-height:102px;display:flex;align-items:center;gap:24px}
.logo-link{width:285px;flex:0 0 auto}
.logo-link img{width:100%;height:auto}
.nav-links{margin-left:auto;display:flex;align-items:center;gap:24px;font-size:14px;font-weight:700}
.nav-links a{padding:39px 0 35px;position:relative;color:#19314f}
.nav-links a::after{
  content:"";position:absolute;left:50%;right:50%;bottom:0;height:3px;
  background:linear-gradient(90deg,var(--teal),var(--teal-2));transition:.22s;
}
.nav-links a:hover::after,.nav-links a.active::after{left:0;right:0}
.button{
  display:inline-flex;align-items:center;justify-content:center;gap:10px;
  border-radius:6px;padding:13px 21px;font-weight:800;border:1px solid transparent;
  transition:transform .18s ease,box-shadow .18s ease,background .18s ease;
}
.button:hover{transform:translateY(-1px)}
.nav-cta,.button.primary{
  background:linear-gradient(95deg,var(--teal),#058f9d);
  color:#fff;box-shadow:0 9px 24px rgba(7,169,166,.20)
}
.button.outline{color:#fff;border-color:rgba(255,255,255,.7);background:rgba(255,255,255,.03)}
.button.outline:hover{background:rgba(255,255,255,.10)}
.button.secondary{background:#fff;color:var(--ink);border-color:#c7d5e2}
.light-button{background:#fff;color:var(--navy)}
.menu-button{display:none;width:44px;height:44px;border:0;background:transparent;padding:8px;cursor:pointer}
.menu-button span{display:block;height:2px;background:var(--navy);margin:6px 0;border-radius:2px;transition:.2s}

.hero{position:relative;min-height:590px;background:var(--navy);overflow:hidden}
.hero-bg{
  position:absolute;inset:0;
  background:url("assets/hero-wave-clean.webp") 72% center/cover no-repeat;
  opacity:.90;transform:scale(1.02)
}
.hero-overlay{
  position:absolute;inset:0;
  background:
    radial-gradient(circle at 70% 50%,rgba(0,196,200,.08),transparent 33%),
    linear-gradient(90deg,#03162f 0%,rgba(3,22,47,.99) 35%,rgba(3,22,47,.72) 62%,rgba(3,22,47,.22) 100%)
}
.hero-content{position:relative;z-index:2;min-height:590px;display:flex;align-items:center}
.hero-copy{max-width:810px;padding:66px 0}
.eyebrow{
  margin:0 0 12px;color:var(--teal);font-size:12px;font-weight:900;
  text-transform:uppercase;letter-spacing:.14em
}
.eyebrow.light{color:#72e4db}
.hero h1{font-size:clamp(46px,5vw,68px);line-height:1.02;color:#fff;margin:0 0 22px;letter-spacing:-.045em}
.hero h1 span{color:#11b9b5}
.hero-lead{color:#e7eef6;font-size:18px;max-width:690px;margin-bottom:0}
.hero-points{display:flex;gap:18px;margin:31px 0}
.hero-point{display:flex;align-items:center;gap:11px;padding-right:18px;border-right:1px solid rgba(255,255,255,.22)}
.hero-point:last-child{border-right:0}
.hero-point strong{display:block;color:#fff;font-size:13px}
.hero-point small{display:block;color:#c4d2e0;font-size:11.5px;max-width:190px}
.point-icon{
  width:43px;height:43px;flex:0 0 43px;border:1px solid rgba(255,255,255,.75);
  border-radius:50%;display:grid;place-items:center;color:#72e4db;font-size:10px;font-weight:900
}
.hero-actions{display:flex;gap:16px;flex-wrap:wrap}

.platform-strip{background:#fff;border-bottom:1px solid var(--line);padding:19px 0 16px}
.platform-label{text-align:center;margin:0 0 12px;color:#718093;font-size:11px;text-transform:uppercase;letter-spacing:.12em;font-weight:800}
.tech-row{display:flex;align-items:center;justify-content:space-between;gap:18px;flex-wrap:wrap}
.tech-row span{font-size:18px;font-weight:750;color:#4e5d6d;letter-spacing:-.02em}
.platform-note{text-align:center;margin:11px 0 0;color:#8a96a4;font-size:10.5px}

.section{padding:88px 0}
.soft{background:var(--soft)}
.soft-alt{background:linear-gradient(180deg,#fbfcfd,#f1f6f9)}
.section-heading{max-width:790px}.section-heading.centered{text-align:center;margin:0 auto 40px}
.section-heading h2,.content-block h2,.contact-grid h2,.cta-band h2,.dark-section h2{
  font-size:clamp(34px,4vw,44px);line-height:1.12;margin:0 0 14px;letter-spacing:-.035em
}
.section-heading p,.large-copy{color:var(--muted);font-size:17px}

.expertise-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-bottom:42px}
.expertise-card{
  border:1px solid var(--line);border-radius:12px;padding:25px;display:flex;gap:18px;align-items:flex-start;
  background:#fff;box-shadow:0 8px 30px rgba(6,27,58,.045)
}
.circle-icon{
  width:62px;height:62px;flex:0 0 62px;border-radius:50%;
  background:linear-gradient(135deg,#0fc1b9,#087f98);color:#fff;display:grid;place-items:center;font-weight:900;
  box-shadow:0 10px 22px rgba(7,169,166,.18)
}
.expertise-card h3{margin:2px 0 7px;font-size:18px}.expertise-card p{margin:0;color:var(--muted);font-size:14px}

.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.service-grid article{
  position:relative;border:1px solid var(--line);background:linear-gradient(180deg,#fff,#f8fbfc);
  padding:27px;border-radius:10px;overflow:hidden;transition:transform .18s ease,box-shadow .18s ease
}
.service-grid article::before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:linear-gradient(var(--teal),var(--teal-2))}
.service-grid article:hover{transform:translateY(-3px);box-shadow:var(--shadow)}
.service-grid article span{font-size:11px;color:var(--teal);font-weight:900;letter-spacing:.08em}
.service-grid h3{margin:16px 0 8px}.service-grid p{margin:0;color:var(--muted);font-size:14px}

.trust-band{background:#fff;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:28px 0}
.trust-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:0}
.trust-grid div{padding:8px 26px;border-right:1px solid var(--line)}
.trust-grid div:first-child{padding-left:0}.trust-grid div:last-child{border-right:0}
.trust-grid strong{display:block;color:var(--navy);font-size:23px;letter-spacing:-.03em}
.trust-grid span{display:block;color:var(--muted);font-size:12px;margin-top:3px}

.dark-section{background:linear-gradient(135deg,#04172f,#0a3563);color:#fff}
.two-col{display:grid;grid-template-columns:1fr 1fr;gap:68px;align-items:center}
.dark-section .large-copy{color:#c6d4e4}
.chips,.mini-chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:25px}
.chips span{border:1px solid rgba(255,255,255,.18);background:rgba(255,255,255,.06);padding:8px 12px;border-radius:999px;font-size:12px;color:#fff}
.stack-cards{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.stack-cards article{background:#fff;color:var(--ink);padding:22px;border-radius:9px;box-shadow:0 10px 30px rgba(0,0,0,.08)}
.stack-cards h3{margin:0 0 6px;font-size:17px}.stack-cards p{margin:0;color:var(--muted);font-size:13px}

.regulated-card{
  background:linear-gradient(145deg,#04172f,#0a3c6d);color:#fff;border-radius:14px;padding:40px;
  box-shadow:0 22px 55px rgba(6,27,58,.17)
}
.regulated-card h2{font-size:38px;line-height:1.15;margin:0 0 16px}
.regulated-card p,.regulated-card li{color:#ccdae6}.regulated-card li{margin:9px 0}
.dark-text{color:var(--muted)}.text-link{display:inline-block;margin-top:16px;color:var(--teal);font-weight:850}

.project-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.project-grid article{background:#fff;border:1px solid var(--line);border-radius:10px;padding:24px}
.project-grid h3{margin:0 0 8px;font-size:18px}.project-grid p{color:var(--muted);font-size:13.5px;min-height:48px}.project-grid strong{color:var(--teal);font-size:16px}

.pricing-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.price-card{
  position:relative;background:#fff;border:1px solid var(--line);border-radius:12px;padding:29px;
  display:flex;flex-direction:column;box-shadow:0 8px 30px rgba(6,27,58,.04)
}
.price-card.featured{border:2px solid var(--teal);transform:translateY(-7px);box-shadow:var(--shadow)}
.popular{position:absolute;right:18px;top:18px;background:#dff9f6;color:#078b86;font-size:10px;font-weight:900;padding:5px 9px;border-radius:999px;text-transform:uppercase}
.package-name{font-size:11px;text-transform:uppercase;letter-spacing:.11em;color:var(--teal);font-weight:900}
.price-card h3{font-size:30px;margin:10px 0}.price-card h3 span{font-size:14px;color:var(--muted)}
.price-card>p:not(.package-name){color:var(--muted);font-size:14px}
.price-card ul{padding-left:20px;flex:1}.price-card li{margin:8px 0;color:#536174;font-size:14px}

.founders-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.founder-card{border:1px solid var(--line);border-radius:12px;overflow:hidden;background:#fff;box-shadow:0 10px 36px rgba(6,27,58,.055)}
.photo-space{
  height:230px;background:
  radial-gradient(circle at 50% 30%,rgba(7,169,166,.12),transparent 34%),
  linear-gradient(135deg,#edf3f8,#fbfcfd);
  display:grid;place-items:center;border-bottom:1px solid var(--line);color:#8b98a8;font-weight:800
}
.founder-content{padding:28px}
.founder-role{color:var(--teal);text-transform:uppercase;font-size:10.5px;letter-spacing:.09em;font-weight:900}
.founder-content h3{font-size:27px;margin:6px 0}.founder-content>p:not(.founder-role){color:var(--muted)}
.mini-chips span{background:#eef7f8;color:#2d5661;border-radius:999px;padding:7px 10px;font-size:11px;font-weight:750}

.cta-band{background:linear-gradient(100deg,#04172f,#0b3e72);padding:58px 0;color:#fff}
.cta-band-inner{display:flex;align-items:center;justify-content:space-between;gap:30px}
.cta-band h2{font-size:38px}.cta-band p{color:#c9d7e6;max-width:760px}

.contact-grid{display:grid;grid-template-columns:.82fr 1.18fr;gap:68px}
.contact-details{margin-top:28px}.contact-details a{color:var(--teal);font-weight:850}
.contact-callout{margin-top:32px;padding:18px 20px;background:var(--soft);border-left:3px solid var(--teal);border-radius:4px}
.contact-callout p{margin:4px 0 0;color:var(--muted);font-size:13px}
.contact-form{border:1px solid var(--line);border-radius:12px;padding:29px;background:#fff;display:grid;gap:16px;box-shadow:var(--shadow)}
.contact-form .form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.contact-form label{font-size:13px;font-weight:750}
.contact-form input,.contact-form select,.contact-form textarea{
  width:100%;margin-top:7px;border:1px solid #c7d4df;border-radius:6px;padding:12px 13px;background:#fff;color:var(--ink)
}
.contact-form input:focus,.contact-form select:focus,.contact-form textarea:focus{border-color:var(--teal);box-shadow:0 0 0 3px rgba(7,169,166,.10);outline:none}
.privacy-note{margin:0;color:#6c7b8c;font-size:11.5px}.privacy-note a{color:var(--teal);font-weight:800;text-decoration:underline}
.honeypot{display:none!important}.submit{width:180px}

.cookie-notice{
  position:fixed;left:18px;right:18px;bottom:18px;z-index:1000;background:#fff;border:1px solid #d8e3ec;
  border-radius:11px;box-shadow:0 16px 45px rgba(6,27,58,.20);display:none
}
.cookie-notice.show{display:block}
.cookie-notice-inner{width:min(1120px,100%);margin:auto;padding:17px 20px;display:flex;align-items:center;justify-content:space-between;gap:24px}
.cookie-notice strong{display:block;color:var(--ink);margin-bottom:3px}.cookie-notice p{margin:0;color:var(--muted);font-size:12.5px;max-width:800px}
.cookie-actions{display:flex;align-items:center;gap:14px;flex:0 0 auto}.cookie-link{color:var(--teal);font-weight:850;font-size:12.5px}.cookie-button{padding:9px 16px}

.footer{background:#03142b;color:#fff;padding:52px 0 18px}
.footer-main{display:grid;grid-template-columns:2fr 1fr 1fr;gap:55px}
.footer-brand img{width:285px;background:#fff;border-radius:5px;padding:6px}
.footer-main>div{display:flex;flex-direction:column;gap:8px}.footer h2{font-size:13px;margin:0 0 8px;color:#fff}.footer a,.footer p{color:#aebbd0;font-size:13px}
.footer a:hover{color:#fff}
.footer-bottom{border-top:1px solid rgba(255,255,255,.1);padding-top:16px;margin-top:38px;display:flex;justify-content:space-between;gap:20px;color:#8293aa;font-size:11.5px}
.registered-office{padding-top:8px;color:#7f90a7;font-size:10.5px;text-align:center}

/* Legal pages */
.legal-page{max-width:900px;margin:auto}
.legal-page h1{font-size:48px;line-height:1.08;margin:0 0 18px;letter-spacing:-.03em}
.legal-page h2{font-size:26px;margin:34px 0 10px}.legal-page h3{font-size:19px;margin:24px 0 7px}
.legal-page p,.legal-page li{color:#4f5f72}.legal-page a{color:var(--teal);font-weight:750}
.legal-page .notice{background:#fff8e8;border-left:4px solid #e3a11f;padding:16px 18px;border-radius:4px;color:#634a17;margin:22px 0}
.legal-page .legal-table{width:100%;border-collapse:collapse;margin:16px 0}
.legal-page .legal-table th,.legal-page .legal-table td{text-align:left;vertical-align:top;border:1px solid var(--line);padding:12px;font-size:14px}
.legal-page .legal-table th{background:var(--soft)}
.legal-header{background:#fff;border-bottom:1px solid var(--line)}
.legal-nav{min-height:96px;display:flex;align-items:center;justify-content:space-between;gap:24px}
.legal-nav .logo-link{width:270px}
.legal-nav-links{display:flex;gap:18px;font-size:13px;font-weight:750;flex-wrap:wrap}

@media(max-width:1080px){
  .nav-links{display:none;position:absolute;top:102px;left:0;right:0;background:#fff;padding:22px 28px;flex-direction:column;align-items:flex-start;border-bottom:1px solid var(--line);box-shadow:0 20px 35px rgba(6,27,58,.12)}
  .nav-links.open{display:flex}.nav-links a{padding:7px 0}.nav-links a::after{display:none}
  .nav-cta{display:none}.menu-button{display:block;margin-left:auto}.logo-link{width:260px}
  .service-grid,.project-grid{grid-template-columns:1fr 1fr}
  .hero-points{flex-wrap:wrap}.hero-point{border-right:0;min-width:210px}
  .stack-cards{grid-template-columns:1fr}
}
@media(max-width:760px){
  html{scroll-padding-top:100px}
  .wrap{width:min(100% - 28px,1200px)}
  .topbar-inner{padding:8px 0}.top-left{gap:10px;flex-wrap:wrap}.top-right{display:none}
  .nav{min-height:86px}.logo-link{width:215px}.nav-links{top:86px}
  .hero,.hero-content{min-height:650px}.hero-copy{padding:48px 0}.hero-lead{font-size:16px}
  .hero-bg{background-position:66% center}.hero-overlay{background:linear-gradient(90deg,#03162f 0%,rgba(3,22,47,.97) 65%,rgba(3,22,47,.55) 100%)}
  .hero-points{flex-direction:column;gap:14px}.hero-point{padding:0}.hero-actions{align-items:flex-start}
  .tech-row{justify-content:center}.tech-row span{font-size:15px}
  .section{padding:66px 0}
  .expertise-grid,.pricing-grid,.founders-grid,.two-col,.contact-grid,.footer-main,.trust-grid{grid-template-columns:1fr}
  .service-grid,.project-grid{grid-template-columns:1fr}
  .trust-grid div{border-right:0;border-bottom:1px solid var(--line);padding:15px 0}.trust-grid div:last-child{border-bottom:0}
  .price-card.featured{transform:none}.stack-cards{grid-template-columns:1fr}
  .regulated-card{padding:30px}.regulated-card h2{font-size:31px}
  .cta-band-inner{flex-direction:column;align-items:flex-start}.contact-form .form-row{grid-template-columns:1fr}
  .cookie-notice-inner{flex-direction:column;align-items:flex-start}.cookie-actions{width:100%;justify-content:space-between}
  .footer-bottom{flex-direction:column;gap:5px}
  .legal-page h1{font-size:38px}.legal-nav{padding:15px 0;flex-direction:column;align-items:flex-start}
}
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{scroll-behavior:auto!important;transition:none!important;animation:none!important}
}


/* V6.2 footer logo correction */
.footer-logo-wrap{
  display:inline-flex;
  align-items:center;
  justify-content:flex-start;
  width:auto;
  max-width:100%;
  background:#fff;
  border-radius:6px;
  padding:8px 10px;
  line-height:0;
}
.footer-logo-wrap img{
  display:block;
  width:220px !important;
  height:auto !important;
  max-width:100% !important;
  aspect-ratio:960 / 260;
  object-fit:contain !important;
  object-position:left center;
  flex:0 0 auto;
}
.footer-brand img{
  width:auto;
  height:auto;
  max-width:100%;
  object-fit:contain;
}
@media(max-width:760px){
  .footer-logo-wrap img{
    width:200px !important;
    height:auto !important;
  }
}


/* =========================================================
   V6.3 FINAL FOOTER CORRECTIONS
   Footer logo restored to the V6.1 implementation that
   preserves the original image proportions correctly.
   ========================================================= */

.footer-logo-wrap{
  display:contents !important;
  padding:0 !important;
  background:none !important;
}

.footer-brand img{
  display:block !important;
  width:220px !important;
  height:auto !important;
  max-width:100% !important;
  min-width:0 !important;
  aspect-ratio:auto !important;
  object-fit:contain !important;
  object-position:left center !important;
  background:#fff !important;
  border-radius:6px !important;
  padding:8px !important;
  flex:none !important;
}

.footer-bottom{
  border-top:1px solid rgba(255,255,255,.1) !important;
  padding-top:18px !important;
  margin-top:38px !important;
  display:grid !important;
  grid-template-columns:1fr !important;
  justify-items:center !important;
  text-align:center !important;
  gap:8px !important;
  color:#8293aa !important;
  font-size:11.5px !important;
}

.footer-copyright,
.footer-company-details{
  width:100%;
  text-align:center;
}

.footer-company-details{
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:3px;
  line-height:1.5;
  color:#8fa0b5;
}

.registered-office{
  display:none !important;
}

@media(max-width:760px){
  .footer-brand img{
    width:200px !important;
    height:auto !important;
  }
  .footer-company-details{
    max-width:100%;
    padding:0 8px;
  }
}


/* =========================================================
   V6.4 MOBILE & TABLET OPTIMISATION
   Desktop styling remains unchanged.
   ========================================================= */

/* Large tablets / smaller laptops */
@media (max-width: 1180px) {
  .wrap{
    width:min(100% - 36px,1120px);
  }

  .nav{
    gap:18px;
  }

  .logo-link{
    width:240px;
  }

  .hero-copy{
    max-width:720px;
  }

  .hero h1{
    font-size:clamp(48px,5.4vw,62px);
  }

  .expertise-grid,
  .pricing-grid{
    gap:18px;
  }

  .two-col{
    gap:48px;
  }
}

/* iPad landscape / common tablet widths */
@media (max-width: 1024px) {
  html{
    scroll-padding-top:96px;
  }

  .topbar-inner{
    min-height:40px;
  }

  .nav{
    min-height:90px;
  }

  .logo-link{
    width:225px;
  }

  .nav-links{
    top:90px;
  }

  .hero,
  .hero-content{
    min-height:560px;
  }

  .hero-copy{
    max-width:670px;
    padding:54px 0;
  }

  .hero h1{
    font-size:clamp(46px,6vw,58px);
  }

  .hero-lead{
    font-size:17px;
  }

  .hero-points{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:16px 22px;
  }

  .hero-point{
    border-right:0;
    padding-right:0;
    min-width:0;
  }

  .tech-row{
    justify-content:center;
    column-gap:28px;
    row-gap:12px;
  }

  .expertise-grid{
    grid-template-columns:1fr;
  }

  .service-grid,
  .project-grid{
    grid-template-columns:1fr 1fr;
  }

  .trust-grid{
    grid-template-columns:1fr 1fr;
  }

  .trust-grid div{
    border-right:0;
    border-bottom:1px solid var(--line);
    padding:18px 20px;
  }

  .trust-grid div:nth-last-child(-n+2){
    border-bottom:0;
  }

  .two-col,
  .contact-grid{
    grid-template-columns:1fr;
    gap:38px;
  }

  .stack-cards{
    grid-template-columns:1fr 1fr;
  }

  .founders-grid{
    gap:20px;
  }

  .cta-band-inner{
    align-items:flex-start;
  }
}

/* iPad portrait / compact tablets */
@media (max-width: 820px) {
  .wrap{
    width:min(100% - 30px,760px);
  }

  .topbar-inner{
    padding:8px 0;
  }

  .top-left{
    gap:12px;
  }

  .top-right{
    display:none;
  }

  .nav{
    min-height:84px;
  }

  .logo-link{
    width:205px;
  }

  .nav-links{
    top:84px;
  }

  .menu-button{
    width:48px;
    height:48px;
  }

  .hero,
  .hero-content{
    min-height:590px;
  }

  .hero-bg{
    background-position:68% center;
  }

  .hero-overlay{
    background:linear-gradient(
      90deg,
      #03162f 0%,
      rgba(3,22,47,.98) 55%,
      rgba(3,22,47,.68) 100%
    );
  }

  .hero-copy{
    max-width:610px;
    padding:48px 0;
  }

  .hero h1{
    font-size:clamp(44px,7vw,54px);
  }

  .hero-lead{
    max-width:560px;
  }

  .hero-points{
    grid-template-columns:1fr;
    gap:14px;
  }

  .hero-point{
    max-width:420px;
  }

  .hero-actions .button{
    min-height:48px;
  }

  .section{
    padding:62px 0;
  }

  .section-heading{
    max-width:680px;
  }

  .service-grid,
  .project-grid,
  .pricing-grid,
  .founders-grid{
    grid-template-columns:1fr;
  }

  .price-card.featured{
    transform:none;
  }

  .stack-cards{
    grid-template-columns:1fr;
  }

  .regulated-card{
    padding:32px;
  }

  .cta-band-inner{
    flex-direction:column;
    gap:22px;
  }

  .contact-form .form-row{
    grid-template-columns:1fr;
  }

  .contact-form input,
  .contact-form select,
  .contact-form textarea{
    min-height:48px;
  }

  .contact-form textarea{
    min-height:150px;
  }

  .footer-main{
    grid-template-columns:1fr 1fr;
    gap:30px;
  }

  .footer-brand{
    grid-column:1 / -1;
  }

  .footer-brand img{
    width:220px !important;
    height:auto !important;
  }
}

/* Larger phones */
@media (max-width: 600px) {
  html{
    scroll-padding-top:82px;
  }

  .wrap{
    width:min(100% - 24px,560px);
  }

  body{
    font-size:15px;
  }

  .topbar{
    font-size:12px;
  }

  .top-left{
    flex-direction:column;
    gap:2px;
    padding:5px 0;
  }

  .nav{
    min-height:78px;
  }

  .logo-link{
    width:185px;
  }

  .nav-links{
    top:78px;
    padding:18px 20px 24px;
  }

  .nav-links a{
    font-size:16px;
    width:100%;
    padding:10px 0;
  }

  .hero,
  .hero-content{
    min-height:620px;
  }

  .hero-bg{
    background-position:74% center;
  }

  .hero-overlay{
    background:linear-gradient(
      90deg,
      #03162f 0%,
      rgba(3,22,47,.985) 72%,
      rgba(3,22,47,.72) 100%
    );
  }

  .hero-copy{
    padding:42px 0 48px;
  }

  .hero h1{
    font-size:clamp(39px,11vw,48px);
    line-height:1.04;
  }

  .hero-lead{
    font-size:15.5px;
    line-height:1.65;
  }

  .hero-point{
    align-items:flex-start;
  }

  .point-icon{
    width:42px;
    height:42px;
    flex-basis:42px;
  }

  .hero-actions{
    flex-direction:column;
    align-items:stretch;
    max-width:320px;
  }

  .hero-actions .button{
    width:100%;
    min-height:50px;
  }

  .platform-strip{
    padding:18px 0;
  }

  .tech-row{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:10px 14px;
    text-align:center;
  }

  .tech-row span{
    font-size:14px;
    padding:7px 8px;
    background:#f7fafc;
    border:1px solid #e5edf3;
    border-radius:6px;
  }

  .platform-label{
    line-height:1.4;
  }

  .section{
    padding:54px 0;
  }

  .section-heading h2,
  .content-block h2,
  .contact-grid h2,
  .dark-section h2{
    font-size:31px;
    line-height:1.16;
  }

  .section-heading p,
  .large-copy{
    font-size:15.5px;
  }

  .expertise-card{
    padding:20px;
  }

  .circle-icon{
    width:54px;
    height:54px;
    flex-basis:54px;
  }

  .service-grid article,
  .project-grid article,
  .price-card{
    padding:22px;
  }

  .trust-grid{
    grid-template-columns:1fr;
  }

  .trust-grid div,
  .trust-grid div:nth-last-child(-n+2){
    border-bottom:1px solid var(--line);
    padding:15px 0;
  }

  .trust-grid div:last-child{
    border-bottom:0;
  }

  .dark-section .two-col{
    gap:28px;
  }

  .regulated-card{
    padding:26px 22px;
  }

  .regulated-card h2{
    font-size:29px;
  }

  .founder-content{
    padding:22px;
  }

  .photo-space{
    height:200px;
  }

  .cta-band{
    padding:46px 0;
  }

  .cta-band h2{
    font-size:30px;
    line-height:1.18;
  }

  .contact-form{
    padding:22px 18px;
  }

  .submit{
    width:100%;
    min-height:50px;
  }

  .cookie-notice{
    left:10px;
    right:10px;
    bottom:10px;
  }

  .cookie-notice-inner{
    padding:15px;
  }

  .cookie-actions{
    gap:10px;
  }

  .footer{
    padding-top:38px;
  }

  .footer-main{
    grid-template-columns:1fr;
    gap:24px;
  }

  .footer-brand{
    grid-column:auto;
  }

  .footer-brand img{
    width:200px !important;
    height:auto !important;
  }

  .footer-company-details{
    font-size:11px;
    line-height:1.55;
  }
}

/* Small phones: iPhone SE / compact Android */
@media (max-width: 430px) {
  .wrap{
    width:calc(100% - 20px);
  }

  .logo-link{
    width:170px;
  }

  .hero,
  .hero-content{
    min-height:640px;
  }

  .hero h1{
    font-size:38px;
  }

  .hero-lead{
    font-size:15px;
  }

  .tech-row{
    grid-template-columns:1fr;
  }

  .section-heading h2,
  .content-block h2,
  .contact-grid h2,
  .dark-section h2{
    font-size:29px;
  }

  .expertise-card{
    flex-direction:column;
  }

  .price-card h3{
    font-size:27px;
  }

  .chips,
  .mini-chips{
    gap:7px;
  }

  .cta-band h2{
    font-size:28px;
  }

  .cookie-actions{
    flex-direction:column;
    align-items:stretch;
    width:100%;
  }

  .cookie-link{
    text-align:center;
  }

  .cookie-button{
    width:100%;
  }

  .footer-brand img{
    width:185px !important;
  }

  .footer-company-details{
    padding:0 4px;
  }
}

/* Safe-area support for modern iPhones */
@supports (padding: max(0px)) {
  @media (max-width: 600px) {
    .cookie-notice{
      left:max(10px, env(safe-area-inset-left));
      right:max(10px, env(safe-area-inset-right));
      bottom:max(10px, env(safe-area-inset-bottom));
    }
  }
}


/* =========================================================
   V6.5 DATA & ANALYTICS ENHANCEMENTS
   ========================================================= */

.data-intro{
  margin-bottom:54px;
}

.data-sector-block{
  margin-top:16px;
  padding-top:40px;
  border-top:1px solid rgba(255,255,255,.14);
}

.data-sector-block h3{
  margin:0 0 10px;
  color:#fff;
  font-size:30px;
  line-height:1.2;
  letter-spacing:-.025em;
}

.data-sector-block > p:not(.eyebrow){
  margin:0 0 24px;
  color:#c8d6e4;
  max-width:850px;
}

.sector-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:14px;
}

.sector-grid article{
  background:rgba(255,255,255,.07);
  border:1px solid rgba(255,255,255,.14);
  border-radius:9px;
  padding:20px;
}

.sector-grid strong{
  display:block;
  color:#fff;
  font-size:16px;
  margin-bottom:6px;
}

.sector-grid span{
  display:block;
  color:#c9d7e4;
  font-size:13px;
  line-height:1.55;
}

.project-service-group,
.support-category{
  margin-top:42px;
}

.project-service-group:first-of-type,
.support-category:first-of-type{
  margin-top:0;
}

.data-project-group,
.data-support-category{
  margin-top:58px;
  padding-top:44px;
  border-top:1px solid var(--line);
}

.service-group-heading{
  margin-bottom:20px;
}

.service-group-heading h3{
  margin:7px 0 0;
  font-size:28px;
  letter-spacing:-.02em;
}

.service-group-tag{
  display:inline-flex;
  align-items:center;
  min-height:26px;
  padding:4px 10px;
  border-radius:999px;
  background:#e8f0f8;
  color:#31516e;
  font-size:10px;
  line-height:1;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.11em;
}

.service-group-tag.data-tag{
  background:var(--teal-soft);
  color:#087c79;
}

.data-project-grid article{
  border-top:3px solid var(--teal);
}

.data-support-grid .price-card{
  border-top:3px solid var(--teal);
}

.data-support-grid .data-featured{
  border:2px solid var(--teal);
}

@media(max-width:1024px){
  .sector-grid{
    grid-template-columns:1fr 1fr;
  }
}

@media(max-width:600px){
  .data-intro{
    margin-bottom:40px;
  }

  .data-sector-block{
    padding-top:32px;
  }

  .data-sector-block h3{
    font-size:26px;
  }

  .sector-grid{
    grid-template-columns:1fr;
  }

  .project-service-group,
  .support-category{
    margin-top:34px;
  }

  .data-project-group,
  .data-support-category{
    margin-top:42px;
    padding-top:34px;
  }

  .service-group-heading h3{
    font-size:24px;
  }
}


/* =========================================================
   V6.6 HARDWARE / SOFTWARE PROCUREMENT & RESELLER SERVICES
   ========================================================= */

.procurement-section{
  background:#fff;
}

.procurement-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:18px;
}

.procurement-grid article{
  border:1px solid var(--line);
  border-radius:10px;
  padding:24px;
  background:linear-gradient(180deg,#ffffff,#f8fbfc);
  transition:transform .18s ease,box-shadow .18s ease;
}

.procurement-grid article:hover{
  transform:translateY(-3px);
  box-shadow:var(--shadow);
}

.procurement-icon{
  width:52px;
  height:52px;
  border-radius:10px;
  display:grid;
  place-items:center;
  margin-bottom:16px;
  background:linear-gradient(135deg,var(--teal),#087c98);
  color:#fff;
  font-size:11px;
  font-weight:900;
  letter-spacing:.03em;
}

.procurement-grid h3{
  margin:0 0 8px;
  font-size:18px;
}

.procurement-grid p{
  margin:0;
  color:var(--muted);
  font-size:13.5px;
}

.procurement-callout{
  margin-top:24px;
  padding:24px 26px;
  border-radius:10px;
  background:linear-gradient(100deg,#04172f,#0b3e72);
  color:#fff;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:28px;
}

.procurement-callout strong{
  display:block;
  font-size:20px;
  margin-bottom:4px;
}

.procurement-callout p{
  margin:0;
  max-width:760px;
  color:#cbd8e5;
  font-size:13.5px;
}

@media(max-width:1024px){
  .procurement-grid{
    grid-template-columns:1fr 1fr;
  }
}

@media(max-width:820px){
  .procurement-callout{
    flex-direction:column;
    align-items:flex-start;
  }
}

@media(max-width:600px){
  .procurement-grid{
    grid-template-columns:1fr;
  }

  .procurement-grid article{
    padding:21px;
  }

  .procurement-callout{
    padding:22px;
  }

  .procurement-callout .button{
    width:100%;
  }
}


/* V6.7 e-commerce visualisation */
.shop-teaser{background:linear-gradient(180deg,#fff,#f6fafc);border-top:1px solid var(--line)}
.shop-teaser-inner{display:flex;align-items:center;justify-content:space-between;gap:34px;padding:34px 38px;border:1px solid var(--line);border-radius:12px;background:#fff}
.shop-teaser h2{margin:0 0 8px;font-size:34px;line-height:1.15;letter-spacing:-.03em}
.shop-teaser p:not(.eyebrow){margin:0;color:var(--muted);max-width:720px}
.shop-teaser-actions{display:flex;gap:12px;flex-wrap:wrap;flex:0 0 auto}

.shop-page{background:#f6f9fb}
.shop-hero{background:linear-gradient(115deg,#04172f,#0a3d70);color:#fff;padding:54px 0}
.shop-hero-grid{display:grid;grid-template-columns:1.25fr .75fr;align-items:center;gap:46px}
.shop-hero h1{margin:0 0 14px;font-size:48px;line-height:1.06;letter-spacing:-.04em}
.shop-hero p{margin:0;color:#cbd8e5;font-size:17px;max-width:720px}
.shop-demo-note{border:1px solid rgba(255,255,255,.18);background:rgba(255,255,255,.07);border-radius:10px;padding:20px}
.shop-demo-note strong{display:block;color:#fff;margin-bottom:6px}
.shop-demo-note span{display:block;color:#cbd8e5;font-size:13px}

.shop-toolbar{padding:22px 0;background:#fff;border-bottom:1px solid var(--line)}
.shop-toolbar-inner{display:flex;align-items:center;justify-content:space-between;gap:18px}
.shop-categories{display:flex;flex-wrap:wrap;gap:8px}
.shop-category-btn{border:1px solid #cad7e2;background:#fff;color:var(--ink);border-radius:999px;padding:9px 14px;font-weight:750;cursor:pointer}
.shop-category-btn.active{background:var(--navy);color:#fff;border-color:var(--navy)}
.cart-link{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:9px 14px;border-radius:6px;background:var(--teal);color:#fff;font-weight:850}
.cart-count{min-width:23px;height:23px;border-radius:999px;background:#fff;color:var(--teal);display:grid;place-items:center;font-size:11px;font-weight:900}

.product-section{padding:52px 0 76px}
.product-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.product-card{min-width:0;background:#fff;border:1px solid var(--line);border-radius:12px;overflow:hidden;display:flex;flex-direction:column;box-shadow:0 8px 26px rgba(6,27,58,.045)}
.product-visual{min-height:180px;display:grid;place-items:center;padding:24px;background:radial-gradient(circle at 30% 20%,rgba(7,169,166,.14),transparent 36%),linear-gradient(135deg,#edf4f8,#fafcfd);border-bottom:1px solid var(--line)}
.product-device{width:116px;height:82px;border:3px solid #163b60;border-radius:9px;position:relative;background:linear-gradient(135deg,#0a2d55,#0b5c75);box-shadow:0 15px 24px rgba(6,27,58,.14)}
.product-device::after{content:"";position:absolute;left:18%;right:18%;bottom:-14px;height:5px;border-radius:999px;background:#63778a}
.product-device.monitor{width:132px;height:78px}
.product-device.dock{width:105px;height:50px;border-radius:13px;background:linear-gradient(135deg,#26394c,#425970)}
.product-device.server{width:126px;height:58px;border-radius:5px;background:linear-gradient(180deg,#25394d,#0c1e32)}
.product-device.network{width:96px;height:96px;border-radius:50%;background:linear-gradient(135deg,#eaf6f6,#b8dedf);border-color:#57939a}
.product-device.software{width:92px;height:104px;border-radius:12px;background:linear-gradient(150deg,#0b2c57,#08a9a6);border:0}
.product-device.software::after{display:none}

.product-body{padding:22px;display:flex;flex-direction:column;gap:9px;flex:1}
.product-type{color:var(--teal);text-transform:uppercase;letter-spacing:.1em;font-size:10px;font-weight:900}
.product-card h2{margin:0;font-size:19px;line-height:1.25}
.product-card p{margin:0;color:var(--muted);font-size:13px}
.product-specs{display:flex;flex-wrap:wrap;gap:6px;margin-top:4px}
.product-specs span{padding:5px 8px;border-radius:999px;background:#eff5f8;color:#4b6074;font-size:10.5px;font-weight:700}
.product-bottom{margin-top:auto;padding-top:12px}
.product-price{display:flex;align-items:baseline;gap:5px;margin-bottom:12px}
.product-price strong{font-size:25px;letter-spacing:-.03em}
.product-price span{color:var(--muted);font-size:11px}
.product-actions{display:grid;grid-template-columns:1fr auto;gap:8px}
.add-cart{border:0;min-height:44px;padding:10px 14px;border-radius:6px;background:var(--navy);color:#fff;font-weight:850;cursor:pointer}
.quote-btn{min-width:54px;min-height:44px;border:1px solid #cad7e2;background:#fff;color:var(--ink);border-radius:6px;font-weight:800;cursor:pointer}
.shop-supplier-note{margin-top:28px;padding:20px 22px;border-radius:9px;background:#fff;border:1px solid var(--line);color:var(--muted);font-size:13px}
.shop-supplier-note strong{color:var(--ink)}
.shop-status{margin-top:14px;min-height:22px;color:#527063;font-size:13px;font-weight:700}

.checkout-shell{background:#f6f9fb;padding:48px 0 76px;min-height:520px}
.checkout-grid{display:grid;grid-template-columns:1.35fr .65fr;gap:26px;align-items:start}
.checkout-card{background:#fff;border:1px solid var(--line);border-radius:12px;padding:26px}
.checkout-card h1,.checkout-card h2{margin-top:0}
.cart-items{display:grid;gap:12px}
.cart-row{display:grid;grid-template-columns:1fr auto;gap:18px;padding:16px 0;border-bottom:1px solid var(--line)}
.cart-row:last-child{border-bottom:0}
.cart-row strong{display:block}
.cart-row small{color:var(--muted)}
.cart-row-price{text-align:right}
.cart-remove{border:0;background:transparent;color:#8a5b5b;font-weight:750;padding:5px 0;cursor:pointer}
.order-summary{display:grid;gap:10px}
.summary-line{display:flex;justify-content:space-between;gap:20px}
.summary-total{padding-top:12px;margin-top:5px;border-top:1px solid var(--line);font-size:20px;font-weight:900}

.gateway-options{display:grid;gap:10px;margin:18px 0}
.gateway-option{border:1px solid var(--line);border-radius:8px;padding:15px;display:flex;align-items:center;justify-content:space-between;gap:16px;background:#fff}
.gateway-option strong{display:block}
.gateway-option span{color:var(--muted);font-size:11px}
.gateway-pill{padding:6px 10px;border-radius:999px;background:#eef5f8;font-size:11px;font-weight:900;color:#294d68}
.demo-warning{background:#fff8e9;color:#6e5218;border-left:4px solid #d9a028;border-radius:5px;padding:14px 16px;font-size:13px;margin-bottom:18px}
.checkout-form{display:grid;gap:14px}
.checkout-form .form-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.checkout-form label{font-size:13px;font-weight:750}
.checkout-form input,.checkout-form select,.checkout-form textarea{width:100%;margin-top:6px;border:1px solid #c7d4df;border-radius:6px;padding:12px 13px;background:#fff;color:var(--ink)}
.demo-pay{width:100%;min-height:48px;border:0;border-radius:6px;background:linear-gradient(95deg,var(--teal),#078d99);color:#fff;font-weight:900;cursor:pointer}
.shop-empty{padding:30px 12px;text-align:center;color:var(--muted)}

@media(max-width:1024px){
  .product-grid{grid-template-columns:1fr 1fr}
  .shop-hero-grid,.checkout-grid{grid-template-columns:1fr}
}
@media(max-width:760px){
  .shop-teaser-inner{flex-direction:column;align-items:flex-start;padding:26px 22px}
  .shop-teaser h2{font-size:29px}
  .shop-toolbar-inner{align-items:flex-start;flex-direction:column}
  .product-grid{grid-template-columns:1fr}
  .checkout-form .form-row{grid-template-columns:1fr}
  .shop-hero h1{font-size:38px}
}


/* =========================================================
   V6.8 FOUNDER PHOTOS & LINKEDIN
   ========================================================= */

.founder-profile-card{
  display:flex;
  flex-direction:column;
}

.founder-photo-frame{
  width:100%;
  height:300px;
  overflow:hidden;
  background:#eef3f7;
  border-bottom:1px solid var(--line);
}

.founder-photo-frame img{
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
  object-position:center 28%;
}

.founder-photo-pending{
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:10px;
  background:
    radial-gradient(circle at 50% 28%,rgba(7,169,166,.14),transparent 34%),
    linear-gradient(135deg,#edf4f8,#fbfcfd);
  color:#718093;
  font-size:12px;
  font-weight:750;
}

.founder-initials{
  width:92px;
  height:92px;
  border-radius:50%;
  display:grid;
  place-items:center;
  background:linear-gradient(135deg,var(--navy-2),var(--teal));
  color:#fff;
  font-size:28px;
  font-weight:900;
  letter-spacing:.04em;
  box-shadow:0 12px 28px rgba(6,27,58,.14);
}

.linkedin-profile{
  display:inline-flex;
  align-items:center;
  gap:9px;
  margin-top:22px;
  min-height:44px;
  width:max-content;
  max-width:100%;
  padding:9px 14px;
  border:1px solid #bed5df;
  border-radius:6px;
  background:#fff;
  color:#0a66c2;
  font-size:13px;
  font-weight:850;
  transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease;
}

.linkedin-profile:hover{
  transform:translateY(-1px);
  border-color:#0a66c2;
  box-shadow:0 8px 22px rgba(10,102,194,.12);
}

.linkedin-icon{
  width:25px;
  height:25px;
  border-radius:4px;
  display:grid;
  place-items:center;
  background:#0a66c2;
  color:#fff;
  font-size:13px;
  font-weight:900;
  line-height:1;
}

.footer-founder-links{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:7px;
  margin-top:4px;
}

.footer-founder-links a{
  color:#aebbd0;
  font-size:11.5px;
}

.footer-founder-links a:hover{
  color:#fff;
}

.footer-founder-links span{
  color:#536781;
}

@media(max-width:820px){
  .founder-photo-frame{
    height:340px;
  }
}

@media(max-width:600px){
  .founder-photo-frame{
    height:300px;
  }

  .linkedin-profile{
    width:100%;
    justify-content:center;
  }
}

@media(max-width:430px){
  .founder-photo-frame{
    height:270px;
  }
}


/* =========================================================
   V6.9 FOUNDER PHOTO FIT REFINEMENT
   ========================================================= */

.founder-profile-card{
  overflow:hidden;
}

.founder-photo-frame{
  width:100%;
  aspect-ratio: 4 / 5;
  max-height: 430px;
  min-height: 320px;
  overflow:hidden;
  background:#eef3f7;
  border-bottom:1px solid var(--line);
}

.founder-photo{
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
}

.founder-photo-preetham{
  object-position:center 22%;
}

.founder-photo-nisha{
  object-position:center 18%;
}

.founder-content{
  display:flex;
  flex-direction:column;
  height:100%;
}

@media(max-width:1024px){
  .founder-photo-frame{
    max-height:460px;
    min-height:340px;
  }
}

@media(max-width:820px){
  .founder-photo-frame{
    aspect-ratio: 5 / 6;
    max-height:none;
    min-height:360px;
  }

  .founder-photo-preetham{
    object-position:center 20%;
  }

  .founder-photo-nisha{
    object-position:center 16%;
  }
}

@media(max-width:600px){
  .founder-photo-frame{
    aspect-ratio: 4 / 5;
    min-height:300px;
  }

  .founder-photo-preetham,
  .founder-photo-nisha{
    object-position:center 18%;
  }
}


/* =========================================================
   V6.9.1 FOUNDER PHOTO ZOOM-OUT REFINEMENT
   Show more of each portrait with minimal cropping.
   ========================================================= */

.founder-profile-card{
  overflow:hidden;
}

.founder-photo-frame{
  width:100%;
  aspect-ratio: 4 / 5;
  min-height:340px;
  max-height:460px;
  display:flex;
  align-items:center;
  justify-content:center;
  overflow:hidden;
  padding:16px 16px 0;
  background:
    radial-gradient(circle at 50% 18%, rgba(7,169,166,.10), transparent 34%),
    linear-gradient(180deg, #f8fbfd 0%, #eef3f7 100%);
  border-bottom:1px solid var(--line);
}

.founder-photo{
  width:100%;
  height:100%;
  display:block;
  object-fit:contain !important;
  object-position:center center !important;
  border-radius:10px 10px 0 0;
  background:#f7fafc;
}

/* Override tighter crop settings from V6.9 */
.founder-photo-preetham,
.founder-photo-nisha{
  object-fit:contain !important;
  object-position:center center !important;
}

@media(max-width:1024px){
  .founder-photo-frame{
    min-height:360px;
    max-height:500px;
    padding:14px 14px 0;
  }
}

@media(max-width:820px){
  .founder-photo-frame{
    aspect-ratio: 5 / 6;
    min-height:360px;
    max-height:none;
    padding:12px 12px 0;
  }
}

@media(max-width:600px){
  .founder-photo-frame{
    aspect-ratio: 4 / 5;
    min-height:300px;
    padding:10px 10px 0;
  }
}

@media(max-width:430px){
  .founder-photo-frame{
    min-height:270px;
    padding:8px 8px 0;
  }
}



/* =========================================================
   V6.9.2 CIRCULAR FOUNDER PHOTO LAYOUT
   ========================================================= */

.founders-grid{
  align-items:stretch;
}

.founder-profile-card{
  text-align:center;
  border-radius:16px;
  overflow:hidden;
  box-shadow:0 12px 34px rgba(6,27,58,.08);
}

.founder-photo-frame{
  aspect-ratio:auto !important;
  min-height:auto !important;
  max-height:none !important;
  height:auto !important;
  padding:28px 24px 0 !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  background:
    radial-gradient(circle at 50% 10%, rgba(7,169,166,.12), transparent 32%),
    linear-gradient(180deg, #f8fbfd 0%, #eef3f7 100%) !important;
  border-bottom:0 !important;
}

.founder-photo{
  width:220px !important;
  height:220px !important;
  object-fit:cover !important;
  object-position:center 18% !important;
  border-radius:50% !important;
  border:8px solid #ffffff !important;
  box-shadow:0 14px 34px rgba(6,27,58,.14);
  background:#fff;
}

.founder-photo-preetham{
  object-position:center 16% !important;
}

.founder-photo-nisha{
  object-position:center 14% !important;
}

.founder-content{
  align-items:center;
  padding-top:22px;
}

.founder-content p,
.founder-content h3{
  text-align:center;
}

.founder-content .mini-chips{
  justify-content:center;
}

.linkedin-profile{
  margin-left:auto;
  margin-right:auto;
}

@media(max-width:820px){
  .founder-photo{
    width:205px !important;
    height:205px !important;
  }
}

@media(max-width:600px){
  .founder-photo-frame{
    padding:22px 16px 0 !important;
  }
  .founder-photo{
    width:180px !important;
    height:180px !important;
  }
}


/* =========================================================
   V6.9.3 WOOCOMMERCE STORE
   ========================================================= */

.woocommerce-store-shell{
  background:#f6f9fb;
  min-height:520px;
}

.woocommerce-store-hero{
  background:linear-gradient(115deg,#04172f,#0a3d70);
  color:#fff;
  padding:48px 0;
}

.woocommerce-store-hero h1{
  margin:0 0 10px;
  color:#fff;
  font-size:44px;
  line-height:1.08;
  letter-spacing:-.035em;
}

.woocommerce-store-hero p{
  margin:0;
  max-width:760px;
  color:#cbd8e5;
  font-size:16px;
}

.woocommerce-store-content{
  padding:46px 0 72px;
}

.woocommerce .woocommerce-breadcrumb{
  margin:0 0 22px;
  color:var(--muted);
  font-size:12px;
}

.woocommerce .woocommerce-breadcrumb a{
  color:var(--teal);
}

.woocommerce .woocommerce-result-count,
.woocommerce .woocommerce-ordering{
  margin-bottom:24px;
}

.woocommerce .woocommerce-ordering select{
  min-height:42px;
  border:1px solid #c7d4df;
  border-radius:6px;
  padding:7px 34px 7px 11px;
  background:#fff;
  color:var(--ink);
}

.woocommerce ul.products{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:20px;
  margin:0;
}

.woocommerce ul.products::before,
.woocommerce ul.products::after{
  display:none;
}

.woocommerce ul.products li.product,
.woocommerce-page ul.products li.product{
  float:none;
  width:auto;
  margin:0;
  min-width:0;
  border:1px solid var(--line);
  border-radius:12px;
  overflow:hidden;
  background:#fff;
  padding:0 0 20px;
  box-shadow:0 8px 26px rgba(6,27,58,.045);
  transition:transform .18s ease,box-shadow .18s ease;
}

@media (hover:hover) and (pointer:fine){
  .woocommerce ul.products li.product:hover{
    transform:translateY(-3px);
    box-shadow:0 16px 34px rgba(6,27,58,.09);
  }
}

.woocommerce ul.products li.product a img{
  width:100%;
  aspect-ratio:4/3;
  object-fit:contain;
  margin:0 0 18px;
  padding:18px;
  background:linear-gradient(135deg,#edf4f8,#fafcfd);
  border-bottom:1px solid var(--line);
}

.woocommerce ul.products li.product .woocommerce-loop-product__title{
  padding:0 20px;
  margin:0 0 7px;
  color:var(--ink);
  font-size:18px;
  line-height:1.28;
}

.woocommerce ul.products li.product .price{
  display:block;
  padding:0 20px;
  margin:0 0 13px;
  color:var(--navy);
  font-size:18px;
  font-weight:900;
}

.woocommerce ul.products li.product .button{
  margin:0 20px;
  min-height:42px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius:6px;
  background:var(--navy);
  color:#fff;
  font-weight:850;
}

.woocommerce ul.products li.product .added_to_cart{
  margin:10px 20px 0;
  display:block;
  color:var(--teal);
  font-weight:800;
}

.woocommerce span.onsale{
  min-width:auto;
  min-height:auto;
  line-height:1;
  padding:8px 10px;
  margin:12px !important;
  border-radius:999px;
  background:var(--teal);
  font-size:11px;
}

/* Product page */
.woocommerce div.product{
  background:#fff;
  border:1px solid var(--line);
  border-radius:12px;
  padding:28px;
}

.woocommerce div.product div.images img{
  border-radius:10px;
  background:#f5f8fa;
}

.woocommerce div.product .product_title{
  color:var(--ink);
  font-size:36px;
  line-height:1.12;
}

.woocommerce div.product p.price,
.woocommerce div.product span.price{
  color:var(--navy);
  font-size:25px;
  font-weight:900;
}

.woocommerce div.product form.cart .button,
.woocommerce #respond input#submit,
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button{
  min-height:44px;
  border-radius:6px;
  background:var(--navy);
  color:#fff;
  font-weight:850;
}

.woocommerce div.product form.cart .button:hover,
.woocommerce #respond input#submit:hover,
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover{
  background:var(--teal);
  color:#fff;
}

.woocommerce div.product .woocommerce-tabs ul.tabs{
  padding-left:0;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li{
  border-color:var(--line);
  background:#f5f8fa;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li.active{
  background:#fff;
}

/* Notices */
.woocommerce-message,
.woocommerce-info{
  border-top-color:var(--teal);
  background:#fff;
}

.woocommerce-message::before,
.woocommerce-info::before{
  color:var(--teal);
}

.woocommerce-error{
  background:#fff;
}

/* Cart / checkout */
.woocommerce-cart .woocommerce,
.woocommerce-checkout .woocommerce,
.woocommerce-account .woocommerce{
  max-width:1180px;
  margin:0 auto;
  padding:44px 24px 72px;
}

.woocommerce table.shop_table{
  border-color:var(--line);
  border-radius:10px;
  background:#fff;
}

.woocommerce table.shop_table th{
  color:var(--navy);
}

.woocommerce-cart .cart-collaterals .cart_totals,
.woocommerce-checkout-review-order{
  background:#fff;
  border:1px solid var(--line);
  border-radius:10px;
  padding:22px;
}

.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce form .form-row select{
  min-height:44px;
  border:1px solid #c7d4df;
  border-radius:6px;
  padding:10px 12px;
  background:#fff;
}

.woocommerce-checkout #payment{
  background:#eef4f7;
  border-radius:10px;
}

.woocommerce-checkout #payment div.payment_box{
  background:#fff;
}

.woocommerce-checkout #payment div.payment_box::before{
  border-bottom-color:#fff;
}

.easethat-cart-nav{
  display:inline-flex;
  align-items:center;
  gap:7px;
  white-space:nowrap;
  font-weight:850;
}

.easethat-cart-badge{
  min-width:22px;
  height:22px;
  padding:0 6px;
  border-radius:999px;
  display:inline-grid;
  place-items:center;
  background:var(--teal);
  color:#fff;
  font-size:10px;
  line-height:1;
}

.woocommerce .quantity .qty{
  min-height:42px;
  border:1px solid #c7d4df;
  border-radius:6px;
}

.woocommerce-account .woocommerce-MyAccount-navigation,
.woocommerce-account .woocommerce-MyAccount-content{
  background:#fff;
  border:1px solid var(--line);
  border-radius:10px;
  padding:20px;
}

.woocommerce-account .woocommerce-MyAccount-navigation ul{
  list-style:none;
  margin:0;
  padding:0;
}

.woocommerce-account .woocommerce-MyAccount-navigation li{
  padding:8px 0;
  border-bottom:1px solid var(--line);
}

/* Avoid duplicated page titles from WooCommerce where custom shop hero is used. */
.post-type-archive-product .woocommerce-products-header__title.page-title{
  margin-top:0;
}

@media(max-width:1024px){
  .woocommerce ul.products{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}

@media(max-width:760px){
  .woocommerce-store-hero{
    padding:38px 0;
  }

  .woocommerce-store-hero h1{
    font-size:36px;
  }

  .woocommerce ul.products{
    grid-template-columns:1fr;
  }

  .woocommerce div.product{
    padding:20px;
  }

  .woocommerce div.product .product_title{
    font-size:29px;
  }

  .woocommerce-cart .woocommerce,
  .woocommerce-checkout .woocommerce,
  .woocommerce-account .woocommerce{
    padding:30px 16px 54px;
  }
}


/* =========================================================
   V6.9.4 REQUEST A QUOTE
   ========================================================= */

.shop-hero-actions{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  margin-top:22px;
}

.button.quote-cta,
.quote-cta{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:46px;
  padding:11px 18px;
  border-radius:6px;
  background:var(--teal);
  color:#fff;
  font-weight:900;
  border:1px solid var(--teal);
}

.button.quote-cta:hover,
.quote-cta:hover{
  background:#078f95;
  color:#fff;
}

.button.quote-cta.secondary{
  background:transparent;
  border-color:rgba(255,255,255,.45);
  color:#fff;
}

.button.quote-cta.secondary:hover{
  background:rgba(255,255,255,.08);
}

.quote-page-shell{
  background:#f6f9fb;
  padding:48px 0 76px;
}

.quote-page-grid{
  display:grid;
  grid-template-columns:1.2fr .8fr;
  gap:26px;
  align-items:start;
}

.quote-form-card,
.quote-help-card{
  background:#fff;
  border:1px solid var(--line);
  border-radius:12px;
  padding:28px;
}

.quote-form-card h1,
.quote-help-card h2{
  margin-top:0;
}

.quote-intro{
  margin-bottom:22px;
  color:var(--muted);
}

.quote-form{
  display:grid;
  gap:15px;
}

.quote-form-row{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:14px;
}

.quote-form label{
  display:block;
  font-size:13px;
  font-weight:800;
  color:var(--ink);
}

.quote-form input,
.quote-form select,
.quote-form textarea{
  width:100%;
  margin-top:6px;
  min-height:44px;
  border:1px solid #c7d4df;
  border-radius:6px;
  padding:11px 12px;
  background:#fff;
  color:var(--ink);
  font:inherit;
}

.quote-form textarea{
  min-height:130px;
  resize:vertical;
}

.quote-form input:focus,
.quote-form select:focus,
.quote-form textarea:focus{
  outline:3px solid rgba(7,169,166,.16);
  border-color:var(--teal);
}

.quote-submit{
  min-height:48px;
  border:0;
  border-radius:6px;
  padding:12px 18px;
  background:var(--navy);
  color:#fff;
  font-weight:900;
  cursor:pointer;
}

.quote-submit:hover{
  background:var(--teal);
}

.quote-notice{
  margin-bottom:18px;
  padding:14px 16px;
  border-radius:7px;
  border-left:4px solid var(--teal);
  background:#eef8f7;
  color:#315d59;
}

.quote-notice.error{
  border-left-color:#b84c4c;
  background:#fff0f0;
  color:#7b3535;
}

.quote-help-card ul{
  margin:14px 0 0;
  padding-left:20px;
}

.quote-help-card li{
  margin:8px 0;
  color:var(--muted);
}

.quote-email-note{
  margin-top:20px;
  padding:14px 16px;
  border-radius:7px;
  background:#f4f7fa;
  color:var(--muted);
  font-size:12px;
}

.quote-email-note strong{
  color:var(--ink);
}

.product-quote-link{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:40px;
  margin:10px 20px 0;
  padding:8px 12px;
  border:1px solid #c7d4df;
  border-radius:6px;
  background:#fff;
  color:var(--navy);
  font-size:12px;
  font-weight:850;
}

.product-quote-link:hover{
  border-color:var(--teal);
  color:var(--teal);
}

.single-product .product-quote-link{
  margin:12px 0 0;
}

.quote-shop-banner{
  margin:28px 0 0;
  padding:20px 22px;
  border-radius:10px;
  background:linear-gradient(110deg,#071d3c,#0b4669);
  color:#fff;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
}

.quote-shop-banner h2{
  margin:0 0 5px;
  color:#fff;
  font-size:21px;
}

.quote-shop-banner p{
  margin:0;
  color:#c8d7e5;
  font-size:13px;
}

.quote-shop-banner .quote-cta{
  flex:0 0 auto;
}

@media(max-width:820px){
  .quote-page-grid{
    grid-template-columns:1fr;
  }

  .quote-shop-banner{
    align-items:flex-start;
    flex-direction:column;
  }
}

@media(max-width:600px){
  .quote-form-row{
    grid-template-columns:1fr;
  }

  .quote-form-card,
  .quote-help-card{
    padding:22px 18px;
  }

  .shop-hero-actions .button{
    width:100%;
  }
}


/* =========================================================
   V6.9.5 TABLEAU PORTFOLIO SHOWCASE
   ========================================================= */

.tableau-showcase{
  margin-top:34px;
  border:1px solid rgba(255,255,255,.14);
  border-radius:20px;
  background:linear-gradient(140deg,rgba(255,255,255,.06),rgba(255,255,255,.03));
  overflow:hidden;
  box-shadow:0 18px 50px rgba(0,0,0,.22);
}

.tableau-showcase-grid{
  display:grid;
  grid-template-columns:1.1fr .9fr;
  align-items:stretch;
}

.tableau-visual{
  background:linear-gradient(160deg,rgba(255,255,255,.04),rgba(255,255,255,.02));
  padding:26px;
}

.tableau-visual img{
  width:100%;
  height:100%;
  min-height:320px;
  object-fit:cover;
  border-radius:16px;
  box-shadow:0 18px 36px rgba(0,0,0,.30);
}

.tableau-copy{
  padding:34px 34px 36px;
  display:flex;
  flex-direction:column;
  justify-content:center;
}

.tableau-copy .eyebrow{
  margin-bottom:10px;
}

.tableau-copy h3{
  margin:0 0 12px;
  color:#fff;
  font-size:34px;
  line-height:1.15;
}

.tableau-copy p{
  margin:0 0 14px;
  color:#ccdae7;
}

.tableau-bullets{
  list-style:none;
  padding:0;
  margin:8px 0 0;
  display:grid;
  gap:10px;
}

.tableau-bullets li{
  position:relative;
  padding-left:24px;
  color:#deebf5;
}

.tableau-bullets li::before{
  content:"";
  width:10px;
  height:10px;
  border-radius:50%;
  position:absolute;
  left:0;
  top:9px;
  background:linear-gradient(180deg,var(--teal),var(--teal-2));
  box-shadow:0 0 0 6px rgba(7,169,166,.12);
}

.tableau-actions{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  margin-top:22px;
}

.tableau-actions .button{
  min-height:46px;
}

.tableau-note{
  margin-top:16px;
  font-size:12px;
  color:#9fb7ca;
}

@media(max-width:980px){
  .tableau-showcase-grid{
    grid-template-columns:1fr;
  }

  .tableau-copy{
    padding-top:16px;
  }
}

@media(max-width:600px){
  .tableau-visual{
    padding:16px;
  }

  .tableau-copy{
    padding:22px 18px 24px;
  }

  .tableau-copy h3{
    font-size:28px;
  }

  .tableau-actions .button{
    width:100%;
  }
}


/* =========================================================
   V6.9.6 TABLEAU IMAGE FIT FIX
   Entire dashboard remains visible without crop or distortion.
   ========================================================= */

.tableau-showcase-grid{
  grid-template-columns:minmax(0,1.08fr) minmax(330px,.92fr) !important;
  align-items:center !important;
}

.tableau-visual{
  min-width:0;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  padding:26px !important;
  overflow:hidden;
}

.tableau-visual > a{
  display:flex;
  width:100%;
  max-width:100%;
  align-items:center;
  justify-content:center;
}

.tableau-visual img{
  display:block !important;
  width:100% !important;
  max-width:100% !important;
  height:auto !important;
  min-height:0 !important;
  max-height:none !important;
  aspect-ratio:auto !important;
  object-fit:contain !important;
  object-position:center center !important;
  border-radius:16px;
  background:#f6f9fb;
  box-shadow:0 18px 36px rgba(0,0,0,.30);
}

.tableau-copy{
  min-width:0;
}

@media(max-width:980px){
  .tableau-showcase-grid{
    grid-template-columns:1fr !important;
  }

  .tableau-visual{
    padding:22px 22px 8px !important;
  }

  .tableau-visual img{
    width:min(100%,900px) !important;
    margin:0 auto;
  }

  .tableau-copy{
    padding-top:22px !important;
  }
}

@media(max-width:600px){
  .tableau-visual{
    padding:14px 14px 4px !important;
  }

  .tableau-visual img{
    border-radius:12px;
  }
}


/* =========================================================
   V6.9.8 HYBRID / ON-PREMISES INFRASTRUCTURE
   ========================================================= */

.infrastructure-section{
  background:
    radial-gradient(circle at 82% 12%,rgba(7,169,166,.08),transparent 28%),
    linear-gradient(180deg,#f7fafc 0%,#ffffff 100%);
}

.infrastructure-heading{
  max-width:900px;
  margin-left:auto;
  margin-right:auto;
}

.infra-lead-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:18px;
  margin-top:34px;
}

.infra-lead-card{
  padding:26px;
  border-radius:14px;
  color:#fff;
  background:linear-gradient(145deg,var(--navy),var(--navy-2));
  border:1px solid rgba(255,255,255,.08);
  box-shadow:0 14px 34px rgba(6,27,58,.10);
}

.infra-lead-card:nth-child(2){
  background:linear-gradient(145deg,#063660,#096377);
}

.infra-lead-card:nth-child(3){
  background:linear-gradient(145deg,#063149,#087d7d);
}

.infra-kicker{
  display:inline-block;
  margin-bottom:10px;
  color:#74e6db;
  font-size:11px;
  font-weight:900;
  letter-spacing:.1em;
  text-transform:uppercase;
}

.infra-lead-card h3{
  margin:0 0 10px;
  color:#fff;
  font-size:22px;
  line-height:1.25;
}

.infra-lead-card p{
  margin:0;
  color:#d2deea;
  font-size:14px;
}

.infra-capability-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:16px;
  margin-top:22px;
}

.infra-capability-grid article{
  min-width:0;
  padding:22px;
  border:1px solid var(--line);
  border-radius:12px;
  background:#fff;
  box-shadow:0 7px 24px rgba(6,27,58,.045);
}

.infra-icon{
  width:46px;
  height:46px;
  margin-bottom:14px;
  border-radius:10px;
  display:grid;
  place-items:center;
  background:linear-gradient(145deg,var(--navy-2),var(--teal));
  color:#fff;
  font-size:11px;
  font-weight:900;
  letter-spacing:.04em;
}

.infra-capability-grid h3{
  margin:0 0 7px;
  font-size:18px;
  color:var(--ink);
}

.infra-capability-grid p{
  margin:0;
  font-size:13px;
  color:var(--muted);
}

.infra-architecture{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(420px,.9fr);
  gap:26px;
  margin-top:28px;
  padding:30px;
  border-radius:16px;
  background:linear-gradient(135deg,#051a36,#083e65);
  color:#fff;
  overflow:hidden;
}

.infra-architecture-copy{
  min-width:0;
}

.infra-architecture-copy h3{
  margin:0 0 12px;
  color:#fff;
  font-size:28px;
  line-height:1.2;
}

.infra-architecture-copy p{
  color:#cadae7;
}

.infra-tech-chips span{
  background:rgba(255,255,255,.08) !important;
  border-color:rgba(255,255,255,.15) !important;
  color:#e6f4f7 !important;
}

.infra-diagram{
  min-width:0;
  display:flex;
  flex-direction:column;
  justify-content:center;
  align-items:center;
  gap:14px;
  padding:12px;
}

.infra-node{
  width:100%;
  padding:15px 14px;
  border:1px solid rgba(255,255,255,.20);
  border-radius:10px;
  background:rgba(255,255,255,.08);
  text-align:center;
}

.infra-node strong{
  display:block;
  color:#fff;
  font-size:14px;
}

.infra-node span{
  display:block;
  margin-top:2px;
  color:#b9ccda;
  font-size:11px;
}

.primary-node{
  width:72%;
  background:rgba(7,169,166,.18);
  border-color:rgba(53,226,211,.45);
}

.infra-node-row{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:10px;
  width:100%;
}

.cloud-node{
  background:rgba(28,112,190,.18);
}

.infra-connector{
  position:relative;
  width:82%;
  height:42px;
  display:grid;
  place-items:center;
}

.infra-connector::before{
  content:"";
  position:absolute;
  left:0;
  right:0;
  top:50%;
  height:2px;
  background:linear-gradient(90deg,transparent,#23c9bd 14%,#23c9bd 86%,transparent);
}

.infra-connector span{
  position:relative;
  z-index:1;
  padding:4px 10px;
  border-radius:999px;
  background:#082f51;
  color:#7de7df;
  font-size:10px;
  font-weight:900;
  letter-spacing:.06em;
  text-transform:uppercase;
}

.infra-cta{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
  margin-top:24px;
  padding:22px 24px;
  border:1px solid #cde3e5;
  border-radius:12px;
  background:#edf9f8;
}

.infra-cta strong{
  display:block;
  color:var(--navy);
  font-size:18px;
}

.infra-cta p{
  margin:4px 0 0;
  max-width:790px;
  color:var(--muted);
  font-size:13px;
}

.infra-cta .button{
  flex:0 0 auto;
}

@media(max-width:1024px){
  .infra-lead-grid{
    grid-template-columns:1fr;
  }

  .infra-capability-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }

  .infra-architecture{
    grid-template-columns:1fr;
  }
}

@media(max-width:680px){
  .infra-capability-grid{
    grid-template-columns:1fr;
  }

  .infra-architecture{
    padding:22px 16px;
  }

  .infra-node-row{
    grid-template-columns:1fr;
  }

  .primary-node{
    width:100%;
  }

  .infra-connector{
    width:100%;
  }

  .infra-cta{
    flex-direction:column;
    align-items:flex-start;
  }

  .infra-cta .button{
    width:100%;
  }
}


/* =========================================================
   V6.10.0 LINKEDIN COMPANY PAGE
   ========================================================= */
.linkedin-company-link{
  display:inline-flex;
  align-items:center;
  gap:7px;
  font-weight:800;
}

.linkedin-company-link .linkedin-mark{
  width:20px;
  height:20px;
  border-radius:4px;
  display:inline-grid;
  place-items:center;
  background:#0a66c2;
  color:#fff;
  font-size:11px;
  font-weight:900;
  line-height:1;
}

.topbar .linkedin-company-link{
  opacity:.98;
}

.footer .linkedin-company-link,
.site-footer .linkedin-company-link{
  color:inherit;
}

.linkedin-contact-card{
  margin-top:14px;
  padding:14px 16px;
  border-radius:8px;
  background:#eef5fb;
  border:1px solid #d6e7f5;
}

.linkedin-contact-card a{
  color:#0a66c2;
  font-weight:850;
}


/* =========================================================
   V6.10.2 MANAGED WEBSITE HOSTING
   ========================================================= */
.hosting-section{
  background:linear-gradient(180deg,#ffffff 0%,#f6f9fb 100%);
}

.hosting-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:18px;
  margin-top:32px;
}

.hosting-grid article{
  padding:24px;
  border:1px solid var(--line);
  border-radius:12px;
  background:#fff;
  box-shadow:0 8px 24px rgba(6,27,58,.045);
}

.hosting-grid h3{
  margin:0 0 8px;
  color:var(--ink);
  font-size:19px;
}

.hosting-grid p{
  margin:0;
  color:var(--muted);
  font-size:13px;
}

.hosting-commercial{
  margin-top:24px;
  padding:28px;
  border-radius:14px;
  background:linear-gradient(135deg,var(--navy),#0a4668);
  color:#fff;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:28px;
}

.hosting-commercial h3{
  color:#fff;
  margin:0 0 8px;
  font-size:25px;
}

.hosting-commercial p{
  color:#cbdbe6;
  margin:0;
  max-width:850px;
}

.hosting-commercial .button{
  flex:0 0 auto;
}

@media(max-width:900px){
  .hosting-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}

@media(max-width:650px){
  .hosting-grid{
    grid-template-columns:1fr;
  }

  .hosting-commercial{
    flex-direction:column;
    align-items:flex-start;
  }

  .hosting-commercial .button{
    width:100%;
  }
}


/* =========================================================
   V6.10.3 WOOCOMMERCE MY ACCOUNT / LOGIN ALIGNMENT FIX
   ========================================================= */

/* WooCommerce uses .form-row internally. Keep it independent of
   EaseThat's contact-form grid styling. */
.woocommerce-account form.login,
.woocommerce-account form.register{
  max-width:620px;
  margin:18px 0 0;
  padding:28px;
  border:1px solid var(--line);
  border-radius:12px;
  background:#fff;
  box-shadow:0 8px 26px rgba(6,27,58,.045);
}

.woocommerce-account form.login .form-row,
.woocommerce-account form.register .form-row{
  display:block !important;
  width:100% !important;
  float:none !important;
  margin:0 0 18px !important;
  padding:0 !important;
}

.woocommerce-account form.login .form-row label,
.woocommerce-account form.register .form-row label{
  display:block !important;
  width:100%;
  margin:0 0 7px;
  color:var(--ink);
  font-size:14px;
  font-weight:800;
  line-height:1.4;
  text-align:left;
}

.woocommerce-account form.login .form-row input.input-text,
.woocommerce-account form.register .form-row input.input-text{
  display:block;
  width:100% !important;
  min-height:48px;
  margin:0;
  border:1px solid #c7d4df;
  border-radius:7px;
  padding:11px 13px;
  background:#fff;
  color:var(--ink);
}

.woocommerce-account form.login .form-row input.input-text:focus,
.woocommerce-account form.register .form-row input.input-text:focus{
  border-color:var(--teal);
  outline:none;
  box-shadow:0 0 0 3px rgba(7,169,166,.12);
}

.woocommerce-account form.login .password-input,
.woocommerce-account form.register .password-input{
  display:block;
  width:100%;
}

.woocommerce-account form.login .show-password-input,
.woocommerce-account form.register .show-password-input{
  top:50%;
  transform:translateY(-50%);
}

.woocommerce-account form.login .woocommerce-form-login__rememberme{
  display:inline-flex !important;
  width:auto !important;
  align-items:center;
  gap:8px;
  margin:0 18px 12px 0;
  font-weight:500;
}

.woocommerce-account form.login .woocommerce-form-login__rememberme input{
  margin:0;
}

.woocommerce-account form.login .woocommerce-form-login__submit{
  display:block;
  width:100%;
  min-height:48px;
  margin:8px 0 0;
  border-radius:7px;
  background:var(--navy);
  color:#fff;
  font-weight:900;
}

.woocommerce-account form.login .woocommerce-form-login__submit:hover{
  background:var(--teal);
  color:#fff;
}

.woocommerce-account .woocommerce-LostPassword{
  margin:16px 0 0;
}

.woocommerce-account .woocommerce-LostPassword a{
  color:var(--teal);
  font-weight:850;
}

.woocommerce-account .u-columns{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:30px;
}

.woocommerce-account .u-column1,
.woocommerce-account .u-column2{
  float:none !important;
  width:auto !important;
}

.woocommerce-account .woocommerce h2{
  margin-bottom:14px;
  color:var(--navy);
}

@media(max-width:800px){
  .woocommerce-account .u-columns{
    grid-template-columns:1fr;
  }

  .woocommerce-account form.login,
  .woocommerce-account form.register{
    max-width:100%;
    padding:22px 18px;
  }
}


/* =========================================================
   V6.10.4 MY ACCOUNT NAVIGATION
   ========================================================= */

/* Slightly tighten desktop navigation now that My Account is included. */
@media(min-width:1100px){
  .nav-links{
    gap:20px;
    font-size:13px;
  }
}

/* Keep WooCommerce account link visually consistent with other navigation links. */
.nav-links a[href*="my-account"]{
  white-space:nowrap;
}

/* Preserve comfortable wrapping on smaller desktop/tablet widths. */
@media(max-width:1180px) and (min-width:901px){
  .nav-links{
    gap:15px;
    font-size:12px;
  }

  .nav-cta{
    padding-left:16px;
    padding-right:16px;
  }
}


/* =========================================================
   V6.10.5 B2B LEGAL / COMPLIANCE
   ========================================================= */
.easethat-b2b-notice{
  max-width:1180px;
  margin:20px auto 0;
  padding:14px 18px;
  border:1px solid #c8e4e3;
  border-left:5px solid var(--teal);
  border-radius:8px;
  background:#eef9f8;
  color:#284f55;
  font-size:13px;
}
.easethat-b2b-notice strong{color:var(--navy)}
.easethat-b2b-notice a{color:var(--teal);font-weight:850}

.easethat-b2b-checkout-confirm{
  margin:18px 0;
  padding:16px 18px;
  border:1px solid #c8e4e3;
  border-radius:8px;
  background:#f2faf9;
}
.easethat-b2b-checkout-confirm .form-row{
  display:block !important;
  float:none !important;
  width:100% !important;
  margin:0 !important;
  padding:0 !important;
}
.easethat-b2b-checkout-confirm label{
  display:flex !important;
  align-items:flex-start;
  gap:10px;
  margin:0;
  color:var(--ink);
  font-weight:750;
  line-height:1.45;
}
.easethat-b2b-checkout-confirm input[type="checkbox"]{
  flex:0 0 auto;
  margin-top:4px;
}
.easethat-b2b-small{
  margin:9px 0 0;
  color:var(--muted);
  font-size:11px;
}
.legal-page .legal-disclaimer{
  margin-top:28px;
  padding:14px 16px;
  border-radius:8px;
  background:#f4f7fa;
  border-left:4px solid var(--teal);
  color:var(--muted);
}
.legal-page .legal-table{
  width:100%;
  border-collapse:collapse;
  margin:18px 0 28px;
}
.legal-page .legal-table th,
.legal-page .legal-table td{
  padding:12px 14px;
  border:1px solid var(--line);
  text-align:left;
  vertical-align:top;
}
.legal-page .legal-table th{
  background:#f3f7fa;
  color:var(--navy);
}


/* =========================================================
   V6.10.6 STOREFRONT CATALOGUE NOTE
   ========================================================= */
.storefront-catalogue-note{
  margin-top:20px;
  max-width:880px;
  padding:16px 18px;
  border:1px solid rgba(255,255,255,.20);
  border-left:4px solid var(--teal-2);
  border-radius:9px;
  background:rgba(255,255,255,.07);
  color:#d9e7f1;
}

.storefront-catalogue-note strong{
  display:block;
  margin-bottom:4px;
  color:#fff;
  font-size:15px;
}

.storefront-catalogue-note span{
  display:block;
  font-size:13px;
  line-height:1.55;
}

@media(max-width:600px){
  .storefront-catalogue-note{
    padding:14px 15px;
  }
}


/* =========================================================
   V6.10.7 QUOTE FORM POLISH
   ========================================================= */
.service-options-fieldset{
  margin:2px 0 2px;
  padding:18px 18px 20px;
  border:1px solid var(--line);
  border-radius:12px;
  background:#f9fbfc;
}

.service-options-fieldset legend{
  padding:0 8px;
  color:var(--navy);
  font-size:14px;
  font-weight:900;
}

.field-helper{
  margin:0 0 14px;
  color:var(--muted);
  font-size:12px;
  line-height:1.55;
}

.service-option-grid{
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:14px;
}

.service-option{
  display:block;
  cursor:pointer;
}

.service-option input{
  position:absolute;
  opacity:0;
  pointer-events:none;
}

.service-option-box{
  display:block;
  min-height:128px;
  padding:16px 16px 16px 18px;
  border:1px solid #d6e0e8;
  border-radius:12px;
  background:#fff;
  transition:all .18s ease;
  box-shadow:0 6px 18px rgba(6,24,44,.04);
}

.service-option:hover .service-option-box{
  border-color:#91d8d5;
  transform:translateY(-2px);
  box-shadow:0 10px 22px rgba(6,24,44,.08);
}

.service-option input:focus + .service-option-box{
  outline:3px solid rgba(7,169,166,.16);
  border-color:var(--teal);
}

.service-option input:checked + .service-option-box{
  border-color:var(--teal);
  background:linear-gradient(180deg,#f8ffff 0%, #eefafa 100%);
  box-shadow:0 12px 24px rgba(7,169,166,.12);
}

.service-option-icon{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:40px;
  height:40px;
  margin-bottom:12px;
  border-radius:10px;
  background:linear-gradient(135deg,#0ea5a3,#083f69);
  color:#fff;
  font-size:18px;
}

.service-option-title{
  display:block;
  margin-bottom:6px;
  color:var(--navy);
  font-size:14px;
  font-weight:900;
  line-height:1.35;
}

.service-option-text{
  display:block;
  color:var(--muted);
  font-size:12px;
  line-height:1.55;
}

@media(max-width:700px){
  .service-option-grid{
    grid-template-columns:1fr;
  }

  .service-option-box{
    min-height:unset;
  }
}


/* =========================================================
   V6.10.8 TRUST / FAQ / EXAMPLES / PARTNERS / SHOP CATEGORIES
   ========================================================= */
.why-section{background:linear-gradient(180deg,#f7fafc 0%,#fff 100%)}
.why-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-top:32px}
.why-grid article{padding:25px 23px;border:1px solid var(--line);border-radius:13px;background:#fff;box-shadow:0 10px 28px rgba(6,27,58,.045)}
.why-number{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;margin-bottom:15px;border-radius:9px;background:#edf9f8;color:var(--teal);font-size:12px;font-weight:900}
.why-grid h3{margin:0 0 8px;color:var(--navy);font-size:18px}
.why-grid p{margin:0;color:var(--muted);font-size:13px}
.confidence-strip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;overflow:hidden;margin-top:24px;border:1px solid var(--line);border-radius:11px;background:var(--line)}
.confidence-strip span{padding:16px;background:#fff;color:var(--muted);text-align:center;font-size:12px}
.confidence-strip strong{display:block;margin-bottom:3px;color:var(--navy);font-size:16px}

.example-engagements{background:#f7fafc}
.example-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin-top:32px}
.example-card{padding:27px;border:1px solid var(--line);border-radius:14px;background:#fff;box-shadow:0 10px 28px rgba(6,27,58,.045)}
.example-type{margin:0 0 8px;color:var(--teal);font-size:11px;font-weight:900;letter-spacing:.09em;text-transform:uppercase}
.example-card h3{margin:0 0 12px;color:var(--navy);font-size:22px}
.example-challenge{margin:0 0 14px;color:var(--muted);font-size:13px}
.example-card ul{margin:0 0 18px;padding-left:20px}
.example-card li{margin:7px 0;color:var(--muted);font-size:13px}
.example-card a{color:var(--teal);font-weight:850;font-size:13px}

.company-story-note{max-width:820px;margin:14px auto 0!important;padding:13px 16px;border-radius:9px;background:#f3f8fa;color:var(--muted);font-size:13px}
.company-story-note strong{color:var(--navy)}

.partner-section{background:#fff}
.partner-placeholder{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:22px;margin:28px auto 0;max-width:920px;padding:22px 26px;border:1px dashed #c9d8e2;border-radius:12px;background:#fbfcfd;text-align:center}
.partner-placeholder-line{height:1px;background:#dbe4ea}
.partner-placeholder p{margin:0;color:var(--muted);font-size:12px}
.partner-placeholder strong{color:var(--navy);font-size:14px}

.faq-section{background:#f7fafc}
.faq-wrap{max-width:980px}
.faq-list{display:grid;gap:11px;margin-top:30px}
.faq-list details{border:1px solid var(--line);border-radius:11px;background:#fff;box-shadow:0 5px 18px rgba(6,27,58,.035)}
.faq-list summary{position:relative;padding:18px 48px 18px 19px;color:var(--navy);font-size:14px;font-weight:900;cursor:pointer;list-style:none}
.faq-list summary::-webkit-details-marker{display:none}
.faq-list summary::after{content:"+";position:absolute;right:19px;top:50%;transform:translateY(-50%);color:var(--teal);font-size:24px;font-weight:500}
.faq-list details[open] summary::after{content:"–"}
.faq-list details p{margin:0;padding:0 19px 19px;color:var(--muted);font-size:13px;line-height:1.65}

.store-category-browser{margin-top:22px;max-width:1040px}
.store-category-title{margin:0 0 10px!important;color:#fff!important;font-size:12px!important;font-weight:900;letter-spacing:.07em;text-transform:uppercase}
.store-category-grid{display:flex;flex-wrap:wrap;gap:8px}
.store-category-grid a{display:inline-flex;align-items:center;min-height:36px;padding:8px 12px;border:1px solid rgba(255,255,255,.20);border-radius:999px;background:rgba(255,255,255,.08);color:#fff;font-size:11px;font-weight:800;transition:all .18s ease}
.store-category-grid a:hover{border-color:var(--teal-2);background:rgba(7,169,166,.22);color:#fff}
.store-category-footnote{margin:11px 0 0!important;color:#c8d9e5!important;font-size:11px!important}
.store-category-footnote a{color:#8ce7df;font-weight:850}

@media(max-width:900px){
  .why-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .confidence-strip{grid-template-columns:repeat(2,minmax(0,1fr))}
  .example-grid{grid-template-columns:1fr}
}
@media(max-width:620px){
  .why-grid{grid-template-columns:1fr}
  .confidence-strip{grid-template-columns:1fr}
  .partner-placeholder{grid-template-columns:1fr}
  .partner-placeholder-line{display:none}
}

/* V6.13.66 grouped Company Account administration */
.staff-companies-content{padding:34px 0 70px;background:#f4f7fa}
.company-emergency-panel{display:flex;align-items:center;justify-content:space-between;gap:28px;margin:24px 0;padding:24px;border:1px solid #cad7e3;border-left:5px solid #0b7f83;border-radius:14px;background:#fff;box-shadow:0 12px 30px rgba(4,32,59,.07)}
.company-emergency-panel.is-locked{border-color:#e4b4ae;border-left-color:#a72d24;background:#fff8f7}
.company-emergency-panel h2{margin:3px 0 6px;font-size:22px}
.company-emergency-panel p{margin:0;max-width:760px}
.company-lock-all,.company-lock-company{min-height:44px;border:1px solid #a72d24!important;background:#fff!important;color:#8b211a!important;font-weight:700;white-space:nowrap}
.company-account-toolbar{margin:24px 0}
.company-account-toolbar form{align-items:end}
.company-account-toolbar label{display:flex;flex-direction:column;gap:5px;font-weight:700;color:#092746}
.staff-company-groups{display:grid;gap:22px}
.staff-company-card{overflow:hidden;border:1px solid #d7e0e8;border-radius:16px;background:#fff;box-shadow:0 12px 34px rgba(4,32,59,.07)}
.staff-company-card.is-locked{border-color:#dfb2ac}
.staff-company-card-head{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:22px 24px;border-bottom:1px solid #e4eaf0;background:#fbfcfd}
.staff-company-card.is-locked .staff-company-card-head{background:#fff8f7}
.staff-company-card-head h2{margin:0;font-size:21px}
.staff-company-card-head p{margin:6px 0 0;color:#506579}
.staff-company-heading-line{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.easethat-admin-badge.is-active{background:#e8f7f3;color:#11664f}
.easethat-admin-badge.is-locked{background:#fdecea;color:#8b211a}
.company-members-table{margin:0}
.company-members-table td:first-child span{display:block;margin-top:3px;color:#617487}
.staff-company-pagination{display:flex;justify-content:center;gap:7px;margin-top:28px}
.staff-company-pagination .page-numbers{display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;padding:8px 12px;border:1px solid #cbd7e2;border-radius:8px;background:#fff}
.staff-company-pagination .current{border-color:#087f83;background:#087f83;color:#fff}

@media(max-width:820px){
  .company-emergency-panel,.staff-company-card-head{align-items:stretch;flex-direction:column}
  .company-emergency-panel form,.company-emergency-panel button,.staff-company-card-head form,.staff-company-card-head button{width:100%}
  .company-account-toolbar form{align-items:stretch}
}


/* =========================================================
   V6.10.9 NATIVE CONTACT FORM / SMTP / TRADEMARK NOTICE
   ========================================================= */
.honeypot-wrap{
  position:absolute !important;
  left:-10000px !important;
  top:auto !important;
  width:1px !important;
  height:1px !important;
  overflow:hidden !important;
}

.contact-form-status{
  grid-column:2;
  margin:0 0 16px;
  padding:14px 16px;
  border-radius:8px;
  border-left:4px solid var(--teal);
  background:#eef8f7;
  color:#315d59;
  font-size:13px;
}

.contact-form-status.error{
  border-left-color:#b84c4c;
  background:#fff0f0;
  color:#7b3535;
}

.contact-form-status a{
  font-weight:800;
}

.trademark-footer-note{
  padding-top:12px;
  padding-bottom:22px;
  color:#8ea3b6;
  font-size:10px;
  line-height:1.5;
}

@media(max-width:820px){
  .contact-form-status{
    grid-column:auto;
  }
}

/* =========================================================
   V6.13.69 NO-EMAIL ENGAGEMENT PATHWAYS
   Contextual resources, direct downloads and a browser-only scorecard.
   ========================================================= */
.engagement-pathway-panel{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:center;
  gap:32px;
  margin:0 0 38px;
  padding:30px 34px;
  border:1px solid rgba(7,157,154,.28);
  border-radius:16px;
  background:linear-gradient(135deg,#effafa 0%,#f8fbfd 65%,#fff 100%);
  box-shadow:0 16px 38px rgba(7,30,58,.07);
}

.engagement-pathway-panel h2,
.engagement-pathway-panel h3{
  margin:4px 0 8px;
  color:var(--navy);
}

.engagement-pathway-panel h2{font-size:clamp(26px,3vw,36px)}
.engagement-pathway-panel h3{font-size:clamp(22px,2.5vw,30px)}
.engagement-pathway-panel p:last-child{max-width:760px;margin:0;color:var(--muted)}
.engagement-pathway-panel--home{margin:30px 0 0}

.insights-index-actions{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:10px 20px;
  margin-top:auto;
}

.insights-index-actions a:last-child:not(:first-child){
  color:var(--navy);
}

.insight-cta-actions,
.hub-page-cta-actions,
.scorecard-result-actions{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:12px;
}

.insight-consultation-link{
  display:inline-flex;
  align-items:center;
  min-height:44px;
  padding:6px 4px;
  color:var(--navy);
  font-weight:800;
}

.resource-privacy-note,
.scorecard-result-note{
  margin:14px 0 0;
  color:var(--muted);
  font-size:13px;
}

.readiness-scorecard-page{background:#f5f8fb}
.readiness-scorecard-hero .wrap>p:last-child{max-width:820px}
.readiness-scorecard-section{padding-top:44px}
.readiness-scorecard-shell{max-width:980px}

.scorecard-privacy-notice{
  margin-bottom:28px;
  padding:20px 22px;
  border:1px solid rgba(7,157,154,.34);
  border-left:5px solid var(--teal);
  border-radius:10px;
  background:#fff;
  color:var(--navy);
}

.scorecard-privacy-notice p{margin:4px 0 0;color:var(--muted)}

.readiness-scorecard{
  display:grid;
  gap:24px;
}

.scorecard-progress-wrap{
  position:sticky;
  top:84px;
  z-index:5;
  padding:16px 20px;
  border:1px solid var(--line);
  border-radius:12px;
  background:rgba(255,255,255,.96);
  box-shadow:0 10px 28px rgba(7,30,58,.08);
  backdrop-filter:blur(8px);
}

.scorecard-progress-wrap>div{
  display:flex;
  justify-content:space-between;
  gap:16px;
  margin-bottom:8px;
  color:var(--navy);
  font-size:13px;
}

.scorecard-progress-wrap progress{
  display:block;
  width:100%;
  height:10px;
  overflow:hidden;
  border:0;
  border-radius:999px;
  background:#dfe8ef;
  accent-color:var(--teal);
}

.scorecard-progress-wrap progress::-webkit-progress-bar{background:#dfe8ef;border-radius:999px}
.scorecard-progress-wrap progress::-webkit-progress-value{background:var(--teal);border-radius:999px}
.scorecard-progress-wrap progress::-moz-progress-bar{background:var(--teal);border-radius:999px}

.scorecard-domain{
  overflow:hidden;
  border:1px solid var(--line);
  border-radius:16px;
  background:#fff;
  box-shadow:0 12px 34px rgba(7,30,58,.055);
}

.scorecard-domain>header{
  padding:24px 26px 20px;
  border-bottom:1px solid var(--line);
  background:#f8fbfd;
}

.scorecard-domain>header h2{
  margin:4px 0 0;
  color:var(--navy);
  font-size:22px;
}

.scorecard-question{
  min-width:0;
  margin:0;
  padding:22px 26px;
  border:0;
  border-bottom:1px solid var(--line);
}

.scorecard-question:last-child{border-bottom:0}
.scorecard-question.has-error{background:#fff6f4;box-shadow:inset 4px 0 0 #b42318}
.scorecard-question:focus{outline:3px solid rgba(7,157,154,.28);outline-offset:-3px}

.scorecard-question legend{
  display:flex;
  align-items:flex-start;
  gap:12px;
  width:100%;
  margin:0 0 16px;
  padding:0;
  color:var(--navy);
  font-weight:800;
  line-height:1.5;
}

.scorecard-question legend>span{
  display:inline-grid;
  flex:0 0 30px;
  width:30px;
  height:30px;
  place-items:center;
  border-radius:50%;
  background:var(--navy);
  color:#fff;
  font-size:13px;
}

.scorecard-options{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:10px;
}

.scorecard-options label{
  position:relative;
  display:flex;
  min-height:48px;
  align-items:center;
  justify-content:center;
  padding:10px 12px;
  border:1px solid #cbd8e2;
  border-radius:9px;
  background:#fff;
  color:var(--navy);
  cursor:pointer;
  font-weight:750;
  text-align:center;
  transition:border-color .16s ease,background .16s ease,box-shadow .16s ease;
}

.scorecard-options label:hover{border-color:var(--teal);background:#f1fbfa}
.scorecard-options input{position:absolute;opacity:0;pointer-events:none}
.scorecard-options label:has(input:checked){border-color:var(--teal);background:#e8f8f6;box-shadow:0 0 0 2px rgba(7,157,154,.14)}
.scorecard-options label:has(input:focus-visible){outline:3px solid rgba(7,157,154,.35);outline-offset:2px}

.scorecard-submit-panel{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
  padding:26px;
  border-radius:14px;
  background:var(--navy);
  color:#fff;
}

.scorecard-submit-panel h2{margin:0 0 6px;color:#fff;font-size:24px}
.scorecard-submit-panel p{max-width:650px;margin:0;color:#dce8f2}
.scorecard-message{margin:0;padding:14px 16px;border-radius:8px}
.scorecard-message--error{border:1px solid #f1b9b3;background:#fff1ef;color:#8d1b12}

.scorecard-results{
  margin-top:34px;
  padding:34px;
  border:1px solid rgba(7,157,154,.34);
  border-radius:18px;
  background:#fff;
  box-shadow:0 20px 50px rgba(7,30,58,.10);
  scroll-margin-top:100px;
}

.scorecard-results:focus{outline:3px solid rgba(7,157,154,.28);outline-offset:4px}
.scorecard-result-heading{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:24px;margin-bottom:28px}
.scorecard-score{display:flex;align-items:baseline;gap:4px;padding:16px 20px;border-radius:12px;background:var(--navy);color:#fff}
.scorecard-score strong{font-size:42px;line-height:1}
.scorecard-score span{color:#bcd0df;font-weight:800}
.scorecard-result-heading h2{margin:0 0 6px;color:var(--navy);font-size:clamp(26px,3vw,36px)}
.scorecard-result-heading p{margin:0;color:var(--muted)}

.scorecard-result-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:24px;margin:26px 0}
.scorecard-result-grid>div{padding:22px;border:1px solid var(--line);border-radius:12px;background:#f8fbfd}
.scorecard-result-grid h3{margin:0 0 12px;color:var(--navy)}
.scorecard-result-grid ul{margin:0;padding-left:21px}
.scorecard-result-grid li+li{margin-top:9px}
.scorecard-result-grid>div:last-child{display:flex;flex-direction:column;align-items:flex-start;gap:10px}
.scorecard-result-grid>div:last-child a{color:var(--teal);font-weight:800}

@media(max-width:760px){
  .engagement-pathway-panel,
  .scorecard-result-grid{
    grid-template-columns:1fr;
  }

  .engagement-pathway-panel{align-items:start;padding:24px}
  .scorecard-progress-wrap{top:70px}
  .scorecard-domain>header,.scorecard-question{padding:20px}
  .scorecard-options{grid-template-columns:repeat(2,minmax(0,1fr))}
  .scorecard-submit-panel{align-items:flex-start;flex-direction:column}
  .scorecard-result-heading{grid-template-columns:1fr;align-items:start}
  .scorecard-results{padding:24px}
}

@media(max-width:480px){
  .scorecard-options{grid-template-columns:1fr 1fr}
  .scorecard-options label{min-height:44px}
  .hub-page-cta-actions,.insight-cta-actions,.scorecard-result-actions{align-items:stretch;flex-direction:column}
  .hub-page-cta-actions .button,.insight-cta-actions .button,.scorecard-result-actions .button{width:100%;justify-content:center;text-align:center}
}

@media(prefers-reduced-motion:reduce){
  .scorecard-options label{transition:none}
}


/* V6.10.10 B2B account registration */
.easethat-registration-intro{margin:0 0 24px;padding:16px 18px;border:1px solid #c8e4e3;border-left:4px solid var(--teal);border-radius:9px;background:#f1faf9;color:var(--muted)}
.easethat-registration-intro strong{display:block;margin-bottom:4px;color:var(--navy);font-size:14px}.easethat-registration-intro p{margin:0;font-size:12px}
.easethat-register-check{display:flex!important;flex-direction:row!important;align-items:flex-start!important;gap:10px;font-weight:600!important;line-height:1.5!important}
.easethat-register-check input[type="checkbox"]{width:auto!important;min-height:0!important;margin:4px 0 0!important;flex:0 0 auto}
.woocommerce-account form.register .woocommerce-Button,.woocommerce-account form.register button[type="submit"]{width:100%;min-height:48px;border-radius:7px;background:var(--navy);color:#fff;font-weight:900}
.woocommerce-account form.register .woocommerce-Button:hover,.woocommerce-account form.register button[type="submit"]:hover{background:var(--teal);color:#fff}


/* =========================================================
   V6.10.11 PROFESSIONAL MY ACCOUNT REDESIGN
   ========================================================= */
.woocommerce-account .entry-content > .woocommerce,
.woocommerce-account .site-main > .woocommerce,
.woocommerce-account main .woocommerce{
  max-width:1240px;
  margin:0 auto;
  padding:48px 24px 80px;
}

.woocommerce-account .woocommerce-notices-wrapper{
  max-width:1240px;
  margin:0 auto 18px;
}

.woocommerce-account .easethat-account-shell{
  display:grid;
  gap:28px;
}

.woocommerce-account .easethat-account-hero{
  position:relative;
  overflow:hidden;
  padding:32px 34px;
  border-radius:18px;
  border:1px solid rgba(255,255,255,.08);
  background:
    radial-gradient(circle at 85% 25%, rgba(20,201,187,.12), transparent 24%),
    linear-gradient(135deg, #04172f 0%, #0a3462 100%);
  box-shadow:0 22px 55px rgba(6,27,58,.16);
}

.woocommerce-account .easethat-account-hero::after{
  content:'';
  position:absolute;
  inset:auto -6% -46% auto;
  width:340px;
  height:340px;
  border-radius:50%;
  background:radial-gradient(circle, rgba(20,201,187,.16), rgba(20,201,187,0));
  pointer-events:none;
}

.woocommerce-account .easethat-account-hero-inner{
  position:relative;
  z-index:2;
  display:grid;
  grid-template-columns:minmax(0,1.1fr) minmax(280px,.9fr);
  gap:26px;
  align-items:center;
}

.woocommerce-account .easethat-account-copy h1,
.woocommerce-account .easethat-account-copy h2{
  margin:0 0 10px;
  color:#fff;
  font-size:clamp(32px,4vw,42px);
  line-height:1.06;
  letter-spacing:-.04em;
}

.woocommerce-account .easethat-account-copy p{
  margin:0;
  color:#d6e3f0;
  max-width:760px;
  font-size:16px;
}

.woocommerce-account .easethat-account-highlights{
  display:grid;
  grid-template-columns:1fr;
  gap:12px;
}

.woocommerce-account .easethat-account-chip{
  display:flex;
  align-items:flex-start;
  gap:12px;
  padding:14px 16px;
  border:1px solid rgba(255,255,255,.14);
  border-radius:14px;
  background:rgba(255,255,255,.06);
  backdrop-filter:blur(2px);
}

.woocommerce-account .easethat-account-chip strong{
  display:block;
  color:#fff;
  margin-bottom:3px;
  font-size:13px;
}

.woocommerce-account .easethat-account-chip span{
  display:block;
  color:#d3ddec;
  font-size:12px;
  line-height:1.45;
}

.woocommerce-account .easethat-account-chip-icon{
  width:34px;
  height:34px;
  flex:0 0 34px;
  display:grid;
  place-items:center;
  border-radius:50%;
  background:rgba(255,255,255,.14);
  color:#8ef0e3;
  font-size:14px;
  font-weight:900;
}

.woocommerce-account .u-columns#customer_login,
.woocommerce-account .easethat-account-grid{
  display:grid !important;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:26px;
  align-items:start;
}

.woocommerce-account .u-column1.col-1,
.woocommerce-account .u-column2.col-2,
.woocommerce-account .u-column1,
.woocommerce-account .u-column2{
  float:none !important;
  width:auto !important;
  margin:0 !important;
}

.woocommerce-account .easethat-account-panel{
  position:relative;
  border:1px solid var(--line);
  border-radius:18px;
  background:linear-gradient(180deg,#ffffff 0%,#fbfdff 100%);
  box-shadow:0 18px 48px rgba(6,27,58,.08);
  overflow:hidden;
}

.woocommerce-account .easethat-account-panel::before{
  content:'';
  position:absolute;
  inset:0 0 auto 0;
  height:4px;
  background:linear-gradient(90deg,var(--teal),#56dfdd);
}

.woocommerce-account .easethat-account-panel-header{
  padding:28px 30px 12px;
}

.woocommerce-account .easethat-account-kicker{
  display:inline-flex;
  align-items:center;
  gap:8px;
  margin-bottom:10px;
  color:var(--teal);
  font-size:11px;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.12em;
}

.woocommerce-account .easethat-account-panel h2{
  margin:0 0 8px;
  color:var(--navy) !important;
  font-size:30px;
  line-height:1.08;
  letter-spacing:-.03em;
}

.woocommerce-account .easethat-account-panel-header p{
  margin:0;
  color:var(--muted);
  font-size:14px;
  line-height:1.6;
}

.woocommerce-account form.login,
.woocommerce-account form.register{
  max-width:none;
  margin:0;
  padding:16px 30px 30px;
  border:0;
  border-radius:0;
  background:transparent;
  box-shadow:none;
}

.woocommerce-account form.login .form-row,
.woocommerce-account form.register .form-row{
  margin:0 0 16px !important;
}

.woocommerce-account form.login .form-row label,
.woocommerce-account form.register .form-row label{
  margin:0 0 8px;
  color:var(--navy);
  font-size:13.5px;
  font-weight:850;
}

.woocommerce-account form.login .form-row input.input-text,
.woocommerce-account form.register .form-row input.input-text,
.woocommerce-account form.login .form-row input[type="email"],
.woocommerce-account form.register .form-row input[type="email"],
.woocommerce-account form.login .form-row input[type="password"],
.woocommerce-account form.register .form-row input[type="password"]{
  min-height:52px;
  border:1px solid #cbd8e3;
  border-radius:10px;
  padding:13px 14px;
  background:#fff;
}

.woocommerce-account form.login .form-row input:focus,
.woocommerce-account form.register .form-row input:focus{
  border-color:var(--teal);
  box-shadow:0 0 0 4px rgba(7,169,166,.10);
  outline:none;
}

.woocommerce-account form.login .woocommerce-form-login__rememberme{
  display:flex !important;
  width:100% !important;
  align-items:center;
  gap:9px;
  margin:8px 0 12px;
  color:var(--muted);
  font-size:14px;
}

.woocommerce-account form.login .woocommerce-form-login__rememberme input{
  margin:0;
}

.woocommerce-account form.login .woocommerce-form-login__submit,
.woocommerce-account form.register .woocommerce-Button,
.woocommerce-account form.register button[type="submit"]{
  width:100%;
  min-height:52px;
  margin-top:8px;
  border-radius:10px;
  border:1px solid transparent;
  background:linear-gradient(90deg,var(--navy),#0a3a6f);
  color:#fff;
  font-size:16px;
  font-weight:900;
  letter-spacing:-.01em;
  box-shadow:0 12px 28px rgba(4,23,47,.15);
}

.woocommerce-account form.login .woocommerce-form-login__submit:hover,
.woocommerce-account form.register .woocommerce-Button:hover,
.woocommerce-account form.register button[type="submit"]:hover{
  background:linear-gradient(90deg,#0a3360,var(--teal));
  color:#fff;
}

.woocommerce-account .woocommerce-LostPassword{
  margin:16px 0 0;
  padding-top:14px;
  border-top:1px solid #e6eef4;
}

.woocommerce-account .woocommerce-LostPassword a{
  color:var(--teal);
  font-weight:850;
}

.woocommerce-account .easethat-register-company,
.woocommerce-account .easethat-register-b2b{
  padding:14px 16px;
  border:1px solid #e4edf4;
  border-radius:12px;
  background:#f8fbfd;
}

.woocommerce-account .easethat-register-check{
  gap:12px;
  font-size:13px;
  line-height:1.55 !important;
  color:var(--muted);
}

.woocommerce-account .easethat-register-company label,
.woocommerce-account .easethat-register-b2b label{
  margin-bottom:8px !important;
}

.woocommerce-account .easethat-account-note{
  margin-top:16px;
  padding:14px 16px;
  border-radius:12px;
  background:#f4fbfb;
  border:1px solid #d8f1ef;
  color:#50707f;
  font-size:12.5px;
  line-height:1.55;
}

.woocommerce-account .easethat-account-note strong{color:var(--navy)}

.woocommerce-account .woocommerce-form-login,
.woocommerce-account .woocommerce-form-register{
  border-top:0 !important;
}

@media (max-width: 1024px){
  .woocommerce-account .easethat-account-hero-inner{
    grid-template-columns:1fr;
  }
}

@media (max-width: 900px){
  .woocommerce-account .u-columns#customer_login,
  .woocommerce-account .easethat-account-grid{
    grid-template-columns:1fr;
  }
}

@media (max-width: 760px){
  .woocommerce-account .entry-content > .woocommerce,
  .woocommerce-account .site-main > .woocommerce,
  .woocommerce-account main .woocommerce{
    padding:34px 18px 60px;
  }

  .woocommerce-account .easethat-account-hero{
    padding:24px 20px;
    border-radius:16px;
  }

  .woocommerce-account .easethat-account-panel-header,
  .woocommerce-account form.login,
  .woocommerce-account form.register{
    padding-left:20px;
    padding-right:20px;
  }

  .woocommerce-account .easethat-account-panel-header{
    padding-top:22px;
    padding-bottom:10px;
  }

  .woocommerce-account .easethat-account-panel h2{
    font-size:26px;
  }
}


/* =========================================================
   V6.10.12 TRADE ACCOUNT APPROVAL / VAT
   ========================================================= */
.easethat-trade-account-status{
  margin:0 0 22px;
  padding:15px 17px;
  border-radius:12px;
  border:1px solid #d8e7ef;
  background:#f7fbfd;
  color:var(--muted);
  font-size:13px;
  line-height:1.55;
}
.easethat-trade-account-status strong{color:var(--navy)}
.easethat-trade-account-status.pending{border-left:4px solid #d79a21;background:#fff9eb}
.easethat-trade-account-status.approved{border-left:4px solid var(--teal);background:#eefaf9}
.easethat-trade-account-status.rejected{border-left:4px solid #b84c4c;background:#fff1f1}

.woocommerce-account .easethat-register-vat{
  padding:14px 16px;
  border:1px solid #e4edf4;
  border-radius:12px;
  background:#f8fbfd;
}
.woocommerce-account .easethat-register-vat small{
  display:block;
  margin-top:6px;
  color:var(--muted);
  font-size:11.5px;
  font-weight:500;
  line-height:1.5;
}

.easethat-trade-banner{
  margin:0 auto 22px;
  max-width:1180px;
  padding:14px 18px;
  border:1px solid #d5e5ec;
  border-left:4px solid var(--teal);
  border-radius:10px;
  background:#f5fbfb;
  color:#496776;
  font-size:12.5px;
}
.easethat-trade-banner strong{color:var(--navy)}

/* Admin-facing visual helper when viewing user profile fields is intentionally
   left to WordPress core styling. */


/* =========================================================
   V6.10.13 TRADE ACCOUNT COMPLIANCE
   ========================================================= */
.easethat-register-terms{
  padding:14px 16px !important;
  border:1px solid #dce8ef;
  border-radius:12px;
  background:#f9fbfd;
}

.easethat-register-terms .easethat-register-check{
  margin:0 !important;
}

.easethat-register-terms a{
  color:var(--teal);
  font-weight:850;
  text-decoration:underline;
  text-underline-offset:2px;
}

.legal-footer-links{
  display:flex;
  justify-content:center;
  flex-wrap:wrap;
  gap:10px 16px;
  padding:12px 20px 20px;
  font-size:11px;
}

.legal-footer-links a{
  color:#aebbd0;
}

.legal-footer-links a:hover{
  color:#fff;
}


/* =========================================================
   V6.10.14 SEPARATE REGISTRATION + ACCOUNT ALIGNMENT
   ========================================================= */
.account-page-main,
.trade-registration-page{
  background:linear-gradient(180deg,#f6f9fb 0%,#ffffff 100%);
  padding:56px 0 82px;
}

.account-page-wrap,
.trade-registration-wrap{
  width:min(1120px, calc(100% - 40px));
  margin:0 auto;
}

.account-page-wrap .woocommerce{
  width:100% !important;
  max-width:none !important;
  margin:0 !important;
  padding:0 !important;
}

.account-dashboard-heading{
  max-width:760px;
  margin:0 0 30px;
}

.account-dashboard-heading h1{
  margin:0 0 10px;
  color:var(--navy);
  font-size:clamp(38px,5vw,52px);
  letter-spacing:-.045em;
}

.account-dashboard-heading p:last-child{
  margin:0;
  color:var(--muted);
  font-size:16px;
}

.easethat-login-shell{
  display:grid;
  grid-template-columns:minmax(0,1.08fr) minmax(380px,.92fr);
  gap:30px;
  width:100%;
  max-width:1060px;
  margin:0 auto;
  align-items:stretch;
}

.easethat-login-hero,
.easethat-login-panel{
  min-width:0;
  border-radius:18px;
}

.easethat-login-hero{
  position:relative;
  overflow:hidden;
  padding:42px;
  background:
    radial-gradient(circle at 85% 20%,rgba(20,201,187,.18),transparent 28%),
    linear-gradient(135deg,#04172f 0%,#0a3c70 100%);
  color:#fff;
  box-shadow:0 22px 58px rgba(6,27,58,.16);
}

.easethat-login-hero::after{
  content:'';
  position:absolute;
  right:-120px;
  bottom:-150px;
  width:360px;
  height:360px;
  border-radius:50%;
  background:radial-gradient(circle,rgba(20,201,187,.15),rgba(20,201,187,0) 70%);
  pointer-events:none;
}

.easethat-login-hero > *{
  position:relative;
  z-index:2;
}

.easethat-account-kicker{
  margin:0 0 12px;
  color:var(--teal);
  font-size:11px;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.13em;
}

.easethat-login-hero .easethat-account-kicker{
  color:#7bece2;
}

.easethat-login-hero h1{
  margin:0 0 16px;
  max-width:570px;
  color:#fff;
  font-size:clamp(38px,4.5vw,54px);
  line-height:1.02;
  letter-spacing:-.05em;
}

.easethat-login-lead{
  margin:0;
  max-width:620px;
  color:#d8e5f1;
  font-size:15.5px;
  line-height:1.7;
}

.easethat-login-benefits{
  display:grid;
  gap:12px;
  margin-top:30px;
}

.easethat-login-benefits > div{
  display:grid;
  grid-template-columns:38px 1fr;
  gap:12px;
  align-items:start;
  padding:14px 15px;
  border:1px solid rgba(255,255,255,.14);
  border-radius:12px;
  background:rgba(255,255,255,.055);
}

.easethat-login-benefits > div > span{
  display:grid;
  place-items:center;
  width:36px;
  height:36px;
  border-radius:50%;
  background:rgba(255,255,255,.14);
  color:#8ff2e7;
  font-size:11px;
  font-weight:900;
}

.easethat-login-benefits p{
  margin:0;
  color:#d6e2ed;
  font-size:12px;
  line-height:1.5;
}

.easethat-login-benefits strong{
  color:#fff;
  font-size:13px;
}

.easethat-login-panel{
  align-self:center;
  padding:34px;
  border:1px solid var(--line);
  border-top:4px solid var(--teal);
  background:#fff;
  box-shadow:0 18px 46px rgba(6,27,58,.09);
}

.easethat-login-panel-head{
  margin-bottom:22px;
}

.easethat-login-panel-head h2{
  margin:0 0 7px;
  color:var(--navy);
  font-size:31px;
  letter-spacing:-.035em;
}

.easethat-login-panel-head p{
  margin:0;
  color:var(--muted);
  font-size:13px;
}

.woocommerce-account .easethat-login-panel form.login{
  width:100%;
  max-width:none;
  margin:0;
  padding:0;
  border:0;
  box-shadow:none;
  background:transparent;
}

.woocommerce-account .easethat-login-panel form.login .form-row{
  display:block !important;
  width:100% !important;
  margin:0 0 17px !important;
  padding:0 !important;
}

.woocommerce-account .easethat-login-panel form.login label{
  display:block !important;
  margin:0 0 8px;
  color:var(--navy);
  font-size:13px;
  font-weight:850;
}

.woocommerce-account .easethat-login-panel form.login input.input-text{
  width:100% !important;
  min-height:52px;
  margin:0;
  padding:12px 14px;
  border:1px solid #c8d6e1;
  border-radius:9px;
  background:#fff;
}

.woocommerce-account .easethat-login-panel form.login input.input-text:focus{
  outline:none;
  border-color:var(--teal);
  box-shadow:0 0 0 4px rgba(7,169,166,.10);
}

.easethat-login-options{
  margin:3px 0 16px;
}

.woocommerce-account .easethat-login-options .woocommerce-form-login__rememberme{
  display:inline-flex !important;
  width:auto !important;
  margin:0 !important;
  align-items:center;
  gap:8px;
  color:var(--muted);
  font-size:13px;
  font-weight:650;
}

.woocommerce-account .easethat-login-options input[type="checkbox"]{
  margin:0;
}

.woocommerce-account .easethat-login-panel .woocommerce-form-login__submit{
  width:100%;
  min-height:52px;
  margin:0;
  border:0;
  border-radius:9px;
  background:linear-gradient(90deg,var(--navy),#0a3c70);
  color:#fff;
  font-size:15px;
  font-weight:900;
  box-shadow:0 11px 25px rgba(4,23,47,.15);
}

.woocommerce-account .easethat-login-panel .woocommerce-form-login__submit:hover{
  background:linear-gradient(90deg,#07315d,var(--teal));
}

.easethat-login-links{
  display:flex;
  align-items:center;
  justify-content:center;
  flex-wrap:wrap;
  gap:9px;
  margin-top:20px;
  padding-top:17px;
  border-top:1px solid #e6eef4;
  font-size:12.5px;
}

.easethat-login-links a{
  color:var(--teal);
  font-weight:850;
}

.easethat-login-links span{
  color:#b4c1ca;
}

.easethat-create-account-link{
  color:var(--navy) !important;
}

/* Separate trade registration page */
.trade-registration-layout{
  display:grid;
  grid-template-columns:minmax(0,.9fr) minmax(440px,1.1fr);
  gap:34px;
  align-items:start;
  max-width:1100px;
  margin:0 auto;
}

.trade-registration-intro{
  position:sticky;
  top:145px;
  padding:38px;
  border-radius:18px;
  background:linear-gradient(135deg,#04172f,#0a3c70);
  color:#fff;
  box-shadow:0 22px 55px rgba(6,27,58,.15);
}

.trade-registration-intro .easethat-account-kicker{
  color:#7cebe2;
}

.trade-registration-intro h1{
  margin:0 0 15px;
  color:#fff;
  font-size:clamp(36px,4.3vw,49px);
  line-height:1.04;
  letter-spacing:-.045em;
}

.trade-registration-intro > p:not(.easethat-account-kicker){
  margin:0;
  color:#d7e3ef;
  font-size:14.5px;
  line-height:1.7;
}

.trade-registration-points{
  display:grid;
  gap:11px;
  margin-top:28px;
}

.trade-registration-points > div{
  display:grid;
  grid-template-columns:34px 1fr;
  gap:11px;
  align-items:start;
  padding:13px 14px;
  border:1px solid rgba(255,255,255,.13);
  border-radius:11px;
  background:rgba(255,255,255,.055);
}

.trade-registration-points > div > span{
  display:grid;
  place-items:center;
  width:32px;
  height:32px;
  border-radius:50%;
  background:rgba(20,201,187,.18);
  color:#8ef0e5;
  font-weight:900;
}

.trade-registration-points p{
  margin:0;
  color:#d6e2ee;
  font-size:12px;
  line-height:1.5;
}

.trade-registration-points strong{color:#fff;font-size:13px}

.trade-registration-existing{
  margin-top:24px;
  padding-top:20px;
  border-top:1px solid rgba(255,255,255,.14);
  color:#cddae7;
  font-size:12.5px;
}

.trade-registration-existing a{
  color:#85eee5;
  font-weight:850;
}

.trade-registration-card{
  padding:34px;
  border:1px solid var(--line);
  border-top:4px solid var(--teal);
  border-radius:18px;
  background:#fff;
  box-shadow:0 18px 48px rgba(6,27,58,.08);
}

.trade-registration-card-head{
  margin-bottom:23px;
}

.trade-registration-card-head h2{
  margin:0 0 7px;
  color:var(--navy);
  font-size:31px;
  letter-spacing:-.035em;
}

.trade-registration-card-head p:last-child{
  margin:0;
  color:var(--muted);
  font-size:13px;
}

.easethat-standalone-register{
  width:100%;
  margin:0 !important;
  padding:0 !important;
  border:0 !important;
  box-shadow:none !important;
  background:transparent !important;
}

.easethat-standalone-register .form-row{
  display:block !important;
  float:none !important;
  width:100% !important;
  margin:0 0 17px !important;
  padding:0 !important;
}

.easethat-standalone-register .form-row > label:not(.easethat-register-check){
  display:block !important;
  margin:0 0 8px;
  color:var(--navy);
  font-size:13px;
  font-weight:850;
}

.easethat-standalone-register input.input-text{
  width:100% !important;
  min-height:50px;
  margin:0;
  padding:12px 14px;
  border:1px solid #c8d6e1;
  border-radius:9px;
  background:#fff;
}

.easethat-standalone-register input.input-text:focus{
  outline:none;
  border-color:var(--teal);
  box-shadow:0 0 0 4px rgba(7,169,166,.10);
}

.easethat-standalone-register .easethat-register-company,
.easethat-standalone-register .easethat-register-vat,
.easethat-standalone-register .easethat-register-b2b,
.easethat-standalone-register .easethat-register-terms{
  padding:15px 16px !important;
  border:1px solid #e0e9f0;
  border-radius:11px;
  background:#f8fbfd;
}

.easethat-standalone-register .easethat-register-company input,
.easethat-standalone-register .easethat-register-vat input{
  margin-top:5px;
}

.easethat-standalone-register .easethat-register-check{
  display:grid !important;
  grid-template-columns:18px 1fr;
  gap:10px;
  align-items:start;
  margin:0 !important;
  color:#536779;
  font-size:12px;
  font-weight:600 !important;
  line-height:1.55;
}

.easethat-standalone-register .easethat-register-check input[type="checkbox"]{
  width:16px !important;
  min-height:16px !important;
  height:16px !important;
  margin:2px 0 0 !important;
}

.easethat-standalone-register .easethat-register-vat small{
  display:block;
  margin-top:7px;
  color:#718194;
  font-size:10.5px;
  line-height:1.45;
}

.trade-registration-password-note,
.trade-registration-review-note{
  margin:0 0 17px;
  padding:14px 16px;
  border-radius:10px;
  background:#eef8f7;
  border:1px solid #d2ece9;
  color:#526e78;
  font-size:12px;
  line-height:1.55;
}

.trade-registration-review-note strong,
.trade-registration-review-note span{
  display:block;
}

.trade-registration-review-note strong{
  margin-bottom:4px;
  color:var(--navy);
}

.trade-registration-submit-row{
  margin-bottom:0 !important;
}

.easethat-standalone-register .woocommerce-form-register__submit{
  width:100%;
  min-height:52px;
  border:0;
  border-radius:9px;
  background:linear-gradient(90deg,var(--navy),#0a3c70);
  color:#fff;
  font-size:14px;
  font-weight:900;
  box-shadow:0 11px 25px rgba(4,23,47,.15);
}

.easethat-standalone-register .woocommerce-form-register__submit:hover{
  background:linear-gradient(90deg,#07315d,var(--teal));
  color:#fff;
}

.trade-registration-signed-in{
  max-width:720px;
  margin:0 auto;
  padding:38px;
  border:1px solid var(--line);
  border-radius:16px;
  background:#fff;
  text-align:center;
  box-shadow:0 15px 40px rgba(6,27,58,.07);
}

.trade-registration-signed-in h1{
  margin:0 0 10px;
  color:var(--navy);
  font-size:38px;
}

.trade-registration-signed-in p:not(.eyebrow){
  color:var(--muted);
}

@media(max-width:900px){
  .easethat-login-shell,
  .trade-registration-layout{
    grid-template-columns:1fr;
  }

  .trade-registration-intro{
    position:relative;
    top:auto;
  }

  .easethat-login-panel{
    align-self:stretch;
  }
}

@media(max-width:600px){
  .account-page-main,
  .trade-registration-page{
    padding:36px 0 60px;
  }

  .account-page-wrap,
  .trade-registration-wrap{
    width:min(100% - 28px,1120px);
  }

  .easethat-login-hero,
  .easethat-login-panel,
  .trade-registration-intro,
  .trade-registration-card{
    padding:24px 20px;
    border-radius:14px;
  }

  .easethat-login-hero h1,
  .trade-registration-intro h1{
    font-size:36px;
  }

  .easethat-login-links{
    align-items:flex-start;
  }
}


/* V6.10.15 My Account link alignment fix */
.woocommerce-account .easethat-login-panel .easethat-login-links{
  width:100%;
  display:flex !important;
  justify-content:center;
  align-items:center;
  flex-wrap:nowrap;
  gap:10px;
  margin-top:18px;
  padding-top:16px;
  text-align:center;
}

.woocommerce-account .easethat-login-panel .easethat-login-links a{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  white-space:nowrap;
  line-height:1.2;
  font-size:14px;
  font-weight:800;
  color:var(--teal) !important;
}

.woocommerce-account .easethat-login-panel .easethat-login-links .easethat-link-divider{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  color:#8fa2b6;
  line-height:1;
}

.woocommerce-account .easethat-login-panel .easethat-login-links .easethat-create-account-link{
  color:var(--navy) !important;
}

.woocommerce-account .easethat-login-panel .easethat-login-links a:hover{
  text-decoration:underline;
  text-underline-offset:3px;
}

@media (max-width: 640px){
  .woocommerce-account .easethat-login-panel .easethat-login-links{
    flex-wrap:wrap;
    gap:8px 12px;
  }
  .woocommerce-account .easethat-login-panel .easethat-login-links .easethat-link-divider{
    display:none;
  }
}


/* =========================================================
   V6.10.16 WORKING SHOW / HIDE PASSWORD CONTROL
   ========================================================= */
.easethat-password-field{
  position:relative;
  display:block;
  width:100%;
}

.easethat-password-field input.input-text{
  padding-right:58px !important;
}

.easethat-password-toggle{
  position:absolute;
  right:12px;
  top:50%;
  transform:translateY(-50%);
  width:42px;
  height:42px;
  display:flex;
  align-items:center;
  justify-content:center;
  border:0;
  border-radius:8px;
  background:transparent;
  color:var(--navy);
  cursor:pointer;
  z-index:3;
}

.easethat-password-toggle:hover{
  background:#eef7f8;
}

.easethat-password-toggle:focus-visible{
  outline:3px solid rgba(7,169,166,.22);
  outline-offset:1px;
}

.easethat-eye-icon{
  position:relative;
  width:24px;
  height:15px;
  display:block;
  border:2px solid currentColor;
  border-radius:50% / 60%;
}

.easethat-eye-icon::before{
  content:"";
  position:absolute;
  left:50%;
  top:50%;
  width:6px;
  height:6px;
  transform:translate(-50%,-50%);
  border-radius:50%;
  background:currentColor;
}

.easethat-eye-icon::after{
  content:"";
  position:absolute;
  left:50%;
  top:50%;
  width:30px;
  height:2px;
  transform:translate(-50%,-50%) rotate(-43deg);
  border-radius:2px;
  background:currentColor;
  transition:opacity .15s ease;
}

.easethat-password-toggle.is-visible .easethat-eye-icon::after{
  opacity:0;
}

/* Hide WooCommerce's own injected toggle if its script also loads. */
.easethat-password-field + .show-password-input,
.easethat-password-field .show-password-input{
  display:none !important;
}


/* =========================================================
   V6.10.18 FOOTER SOCIAL CLEANUP
   ========================================================= */
.footer-brand .footer-brand-linkedin{
  display:inline-flex;
  align-items:center;
  gap:10px;
  margin-top:18px;
  color:#fff;
  font-weight:800;
  font-size:14px;
}

.footer-brand .footer-brand-linkedin .linkedin-mark{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:32px;
  height:32px;
  border-radius:6px;
  background:#0a66c2;
  color:#fff;
  font-size:17px;
  font-weight:900;
  line-height:1;
}

.footer-brand .footer-brand-linkedin:hover{
  color:#fff;
  opacity:.88;
}

.footer-founder-links{
  display:none !important;
}


/* =========================================================
   V6.10.20 FOOTER CONTACT ALIGNMENT
   ========================================================= */
.footer-brand{
  align-items:flex-start;
}

.footer-brand .footer-logo-wrap{
  margin:0 0 16px;
}

.footer-brand .footer-tagline{
  margin:0 0 18px;
  color:#aebbd0;
  font-size:13px;
  line-height:1.5;
}

.footer-contact-links{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:12px;
  margin-top:0;
}

.footer-brand .footer-contact-link{
  display:inline-flex;
  align-items:center;
  gap:11px;
  min-height:34px;
  margin:0;
  color:#dbe5f1;
  font-size:13px;
  font-weight:750;
  line-height:1.2;
}

.footer-brand .footer-contact-link:hover{
  color:#fff;
  opacity:1;
}

.footer-email-mark,
.footer-brand .footer-brand-linkedin .linkedin-mark{
  position:relative;
  flex:0 0 32px;
  width:32px;
  height:32px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius:6px;
}

.footer-email-mark{
  background:var(--teal);
}

.footer-email-mark::before{
  content:"";
  width:17px;
  height:12px;
  border:2px solid #fff;
  border-radius:2px;
  box-sizing:border-box;
}

.footer-email-mark::after{
  content:"";
  position:absolute;
  left:8px;
  top:8px;
  width:14px;
  height:8px;
  border-left:2px solid #fff;
  border-bottom:2px solid #fff;
  transform:rotate(-45deg) skew(5deg,5deg);
  transform-origin:center;
}

.footer-brand .footer-brand-linkedin{
  margin-top:0;
  font-size:13px;
  font-weight:750;
}

.footer-brand .footer-brand-linkedin .linkedin-mark{
  background:#0a66c2;
  color:#fff;
  font-size:17px;
  font-weight:900;
  line-height:1;
}

@media(max-width:760px){
  .footer-brand .footer-logo-wrap{
    margin-bottom:14px;
  }

  .footer-brand .footer-tagline{
    margin-bottom:16px;
  }

  .footer-contact-links{
    gap:10px;
  }
}


/* =========================================================
   V6.10.21 CLEAN FOOTER LAYOUT
   ========================================================= */
.footer-main-clean{
  display:grid;
  grid-template-columns:minmax(280px,1fr) minmax(360px,1.25fr) minmax(180px,.65fr);
  gap:58px;
  align-items:start;
  padding-bottom:34px;
}

.footer-main-clean .footer-column h2{
  margin:0 0 16px;
  font-size:14px;
}

.footer-services-clean .footer-link-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px 28px;
}

.footer-company-clean .footer-link-list{
  display:grid;
  gap:10px;
}

.footer-main-clean .footer-column a{
  display:block;
  margin:0;
  color:#aebbd0;
  font-size:13px;
  line-height:1.45;
}

.footer-main-clean .footer-column a:hover{
  color:#fff;
}

.footer-legal-bar{
  border-top:1px solid rgba(255,255,255,.10);
  border-bottom:1px solid rgba(255,255,255,.08);
  background:rgba(0,0,0,.08);
}

.footer-legal-bar-inner{
  padding-top:16px;
  padding-bottom:16px;
  display:flex;
  align-items:flex-start;
  gap:22px;
}

.footer-legal-label{
  flex:0 0 auto;
  padding-top:1px;
  color:#fff;
  font-size:11px;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.08em;
}

.footer-legal-links-compact{
  display:flex;
  flex-wrap:wrap;
  gap:7px 0;
}

.footer-legal-links-compact a{
  position:relative;
  padding:0 11px;
  color:#8fa3ba;
  font-size:10.5px;
  line-height:1.5;
}

.footer-legal-links-compact a:first-child{
  padding-left:0;
}

.footer-legal-links-compact a:not(:last-child)::after{
  content:"";
  position:absolute;
  right:0;
  top:50%;
  width:1px;
  height:11px;
  background:rgba(255,255,255,.16);
  transform:translateY(-50%);
}

.footer-legal-links-compact a:hover{
  color:#fff;
}

.footer-bottom{
  padding-top:18px;
}

@media(max-width:980px){
  .footer-main-clean{
    grid-template-columns:1fr 1fr;
    gap:40px 46px;
  }

  .footer-company-clean{
    grid-column:2;
  }
}

@media(max-width:720px){
  .footer-main-clean{
    grid-template-columns:1fr;
    gap:32px;
  }

  .footer-company-clean{
    grid-column:auto;
  }

  .footer-services-clean .footer-link-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:10px 22px;
  }

  .footer-legal-bar-inner{
    display:block;
    padding-top:16px;
    padding-bottom:18px;
  }

  .footer-legal-label{
    display:block;
    margin-bottom:10px;
  }

  .footer-legal-links-compact{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:8px 18px;
  }

  .footer-legal-links-compact a{
    padding:0;
  }

  .footer-legal-links-compact a::after{
    display:none !important;
  }
}

@media(max-width:460px){
  .footer-services-clean .footer-link-grid,
  .footer-legal-links-compact{
    grid-template-columns:1fr;
  }
}


/* =========================================================
   V6.10.22 FOOTER SPACING & COMPANY LINK GROUPING
   ========================================================= */
.footer-legal-bar-inner{
  gap:10px;
}

.footer-legal-label{
  margin-right:4px;
}

.footer-company-clean .footer-link-list{
  display:grid;
  gap:9px;
}

.footer-company-clean .footer-link-list .footer-account-start{
  margin-top:6px;
  padding-top:10px;
  border-top:1px solid rgba(255,255,255,.08);
}

@media(max-width:720px){
  .footer-legal-bar-inner{
    gap:0;
  }

  .footer-legal-label{
    margin-right:0;
  }
}


/* =========================================================
   V6.10.23 FOOTER FINAL ALIGNMENT
   ========================================================= */
.footer-main-clean{
  grid-template-columns:minmax(260px,.9fr) minmax(420px,1.35fr) minmax(210px,.7fr);
  gap:64px;
  align-items:start;
}

.footer-main-clean .footer-brand,
.footer-main-clean .footer-column{
  align-self:start;
}

.footer-main-clean .footer-logo-wrap{
  margin:0 0 18px;
}

.footer-main-clean .footer-contact-links{
  margin-top:0;
  gap:12px;
}

.footer-main-clean .footer-column h2{
  margin-top:0;
  margin-bottom:18px;
  line-height:1.2;
}

.footer-company-clean .footer-link-list{
  gap:10px;
}

.footer-company-clean .footer-link-list .footer-account-start{
  margin-top:0 !important;
  padding-top:0 !important;
  border-top:0 !important;
}

.footer-main-clean .footer-tagline{
  display:none !important;
}

.footer-legal-bar-inner{
  gap:6px;
}

.footer-legal-label{
  margin-right:2px;
}

@media(max-width:980px){
  .footer-main-clean{
    grid-template-columns:1fr 1fr;
    gap:40px 44px;
  }
}

@media(max-width:720px){
  .footer-main-clean{
    grid-template-columns:1fr;
    gap:30px;
  }

  .footer-main-clean .footer-logo-wrap{
    margin-bottom:16px;
  }
}


/* =========================================================
   V6.10.24 FOOTER BOTTOM SPACING FIX
   Overrides legacy .footer-bottom margin/border from earlier versions.
   ========================================================= */
.site-footer .footer-bottom{
  margin-top:0 !important;
  border-top:0 !important;
  padding-top:20px !important;
  padding-bottom:8px;
}

.site-footer .registered-office{
  margin-top:0 !important;
}

.site-footer .trademark-footer-note{
  padding-top:8px;
}

@media(max-width:760px){
  .site-footer .footer-bottom{
    padding-top:18px !important;
  }
}


/* =========================================================
   V6.10.25 FOOTER COPYRIGHT / TRADEMARK ALIGNMENT
   ========================================================= */
.site-footer .footer-bottom{
  margin-top:0 !important;
  padding-top:10px !important;
  padding-bottom:4px !important;
  text-align:center !important;
}

.site-footer .registered-office{
  margin-top:0 !important;
  padding-top:0 !important;
  padding-bottom:4px !important;
  text-align:center !important;
}

.site-footer .trademark-footer-note{
  margin:0 auto !important;
  padding-top:4px !important;
  padding-bottom:12px !important;
  text-align:center !important;
  max-width:1180px;
}

.site-footer .footer-bottom,
.site-footer .registered-office,
.site-footer .trademark-footer-note{
  width:100%;
}

@media(max-width:760px){
  .site-footer .footer-bottom{
    padding-top:8px !important;
  }

  .site-footer .trademark-footer-note{
    padding-left:18px;
    padding-right:18px;
  }
}


/* =========================================================
   V6.10.26 FOOTER FINAL BOTTOM FIX
   ========================================================= */
.site-footer .footer-bottom{
  margin:0 !important;
  padding:0 0 4px !important;
  border:0 !important;
  text-align:center !important;
}

.site-footer .footer-bottom p{
  margin:0 !important;
  padding:0 !important;
}

.site-footer .registered-office{
  margin:0 !important;
  padding:0 0 4px !important;
  text-align:center !important;
}

.site-footer .trademark-footer-note{
  display:block !important;
  width:100% !important;
  max-width:none !important;
  margin:0 !important;
  padding:4px 24px 12px !important;
  text-align:center !important;
  box-sizing:border-box;
}

.site-footer .trademark-footer-note,
.site-footer .trademark-footer-note *{
  text-align:center !important;
}

@media(max-width:760px){
  .site-footer .trademark-footer-note{
    padding-left:18px !important;
    padding-right:18px !important;
  }
}


/* =========================================================
   V6.10.27 ACTUAL FOOTER SELECTOR FIX
   The live footer uses class="footer", not class="site-footer".
   ========================================================= */
.footer .footer-bottom{
  margin:0 !important;
  padding:8px 0 4px !important;
  border-top:0 !important;
  display:grid !important;
  grid-template-columns:1fr !important;
  justify-items:center !important;
  align-items:center !important;
  gap:4px !important;
  text-align:center !important;
}

.footer .footer-bottom > span{
  display:block !important;
  width:100% !important;
  margin:0 !important;
  padding:0 !important;
  text-align:center !important;
  line-height:1.45 !important;
}

.footer .registered-office{
  display:none !important;
  margin:0 !important;
  padding:0 !important;
}

.footer .trademark-footer-note{
  display:block !important;
  width:100% !important;
  max-width:none !important;
  margin:0 auto !important;
  padding:4px 24px 12px !important;
  text-align:center !important;
  box-sizing:border-box !important;
  line-height:1.5 !important;
}

.footer .trademark-footer-note,
.footer .trademark-footer-note *{
  text-align:center !important;
}

.footer .footer-legal-bar + .footer-bottom{
  margin-top:0 !important;
}

@media(max-width:760px){
  .footer .footer-bottom{
    padding-top:7px !important;
  }

  .footer .trademark-footer-note{
    padding-left:18px !important;
    padding-right:18px !important;
  }
}


/* =========================================================
   V6.10.28 TRUE CENTERED FOOTER META BLOCK
   ========================================================= */
.footer .footer-meta-center{
  width:100% !important;
  max-width:none !important;
  margin:0 !important;
  padding:8px 20px 12px !important;
  text-align:center !important;
  box-sizing:border-box !important;
  color:#8fa3ba;
  font-size:11px;
  line-height:1.5;
}

.footer .footer-meta-center > div,
.footer .footer-meta-center .trademark-footer-note{
  display:block !important;
  width:100% !important;
  max-width:none !important;
  margin-left:auto !important;
  margin-right:auto !important;
  text-align:center !important;
}

.footer .footer-meta-center .trademark-footer-note{
  padding:0 !important;
}

/* Retire earlier footer-bottom elements completely. */
.footer .footer-bottom,
.footer .registered-office{
  display:none !important;
}

@media(max-width:760px){
  .footer .footer-meta-center{
    padding:8px 18px 12px !important;
    font-size:10.5px;
  }
}


/* =========================================================
   V6.10.29 GROUPED SERVICES FOOTER
   ========================================================= */
.footer-services-clean > h2{
  margin-bottom:16px !important;
}

.footer-service-groups{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:34px;
  align-items:start;
}

.footer-service-group{
  min-width:0;
}

.footer-service-group h3{
  margin:0 0 11px;
  color:#dfe8f4;
  font-size:11px;
  font-weight:850;
  letter-spacing:.06em;
  text-transform:uppercase;
}

.footer-service-group .footer-link-list{
  display:grid;
  gap:9px;
}

.footer-service-group .footer-link-list a{
  margin:0 !important;
  color:#aebbd0;
  font-size:13px;
  line-height:1.45;
}

.footer-service-group .footer-link-list a:hover{
  color:#fff;
}

@media(max-width:720px){
  .footer-service-groups{
    grid-template-columns:1fr;
    gap:22px;
  }
}


/* =========================================================
   V6.10.30 ACCOUNT & ORDERS FOOTER HEADING
   ========================================================= */
.footer-company-clean{
  display:grid;
  gap:28px;
}

.footer-company-group,
.footer-account-group{
  min-width:0;
}

.footer-company-clean h2{
  margin:0 0 14px !important;
}

.footer-account-group{
  padding-top:2px;
}

.footer-account-group h2{
  color:#fff;
}

@media(max-width:720px){
  .footer-company-clean{
    gap:24px;
  }
}


/* =========================================================
   V6.10.31 ACCOUNT & ORDERS OWN FOOTER COLUMN
   ========================================================= */
.footer-main-clean{
  grid-template-columns:minmax(250px,.9fr) minmax(185px,.6fr) minmax(420px,1.25fr) minmax(170px,.55fr);
  gap:46px;
}

.footer-account-column .footer-link-list,
.footer-company-clean .footer-link-list{
  display:grid;
  gap:10px;
}

.footer-account-column h2,
.footer-company-clean h2{
  margin:0 0 16px !important;
}

@media(max-width:1080px){
  .footer-main-clean{
    grid-template-columns:1fr 1fr;
    gap:38px 44px;
  }

  .footer-services-clean{
    grid-column:1 / -1;
  }
}

@media(max-width:720px){
  .footer-main-clean{
    grid-template-columns:1fr;
    gap:30px;
  }

  .footer-services-clean{
    grid-column:auto;
  }
}


/* =========================================================
   V6.10.32 COMPACT, ALIGNED FOUR-COLUMN FOOTER
   ========================================================= */
.footer .footer-main-clean{
  display:grid !important;
  grid-template-columns:minmax(220px,1fr) minmax(330px,1.35fr) minmax(180px,.78fr) minmax(140px,.58fr) !important;
  column-gap:30px !important;
  row-gap:0 !important;
  align-items:start !important;
  padding-top:34px !important;
  padding-bottom:28px !important;
}

.footer .footer-main-clean > *{
  min-width:0;
  margin:0 !important;
  align-self:start !important;
}

.footer .footer-column h2{
  margin:0 0 14px !important;
  padding:0 !important;
  font-size:14px !important;
  line-height:1.2 !important;
}

.footer .footer-services-links{
  display:grid !important;
  grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  column-gap:24px !important;
  row-gap:9px !important;
  margin:0 !important;
  padding:0 !important;
}

.footer .footer-services-links a,
.footer .footer-account-column .footer-link-list a,
.footer .footer-company-clean .footer-link-list a{
  display:block !important;
  margin:0 !important;
  padding:0 !important;
  color:#aebbd0 !important;
  font-size:13px !important;
  line-height:1.4 !important;
}

.footer .footer-account-column .footer-link-list,
.footer .footer-company-clean .footer-link-list{
  display:grid !important;
  gap:9px !important;
  margin:0 !important;
  padding:0 !important;
}

.footer .footer-services-links a:hover,
.footer .footer-account-column .footer-link-list a:hover,
.footer .footer-company-clean .footer-link-list a:hover{
  color:#fff !important;
}

/* Retire the previous subgroup layout completely. */
.footer .footer-service-groups,
.footer .footer-service-group{
  display:contents !important;
}

@media(max-width:1080px){
  .footer .footer-main-clean{
    grid-template-columns:minmax(220px,1fr) minmax(330px,1.35fr) !important;
    column-gap:40px !important;
    row-gap:32px !important;
  }

  .footer .footer-account-column,
  .footer .footer-company-clean{
    grid-row:2;
  }
}

@media(max-width:720px){
  .footer .footer-main-clean{
    grid-template-columns:1fr !important;
    row-gap:28px !important;
    padding-top:28px !important;
  }

  .footer .footer-account-column,
  .footer .footer-company-clean{
    grid-row:auto;
  }

  .footer .footer-services-links{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    column-gap:20px !important;
  }
}

@media(max-width:440px){
  .footer .footer-services-links{
    grid-template-columns:1fr !important;
  }
}


/* =========================================================
   V6.10.33 SERVICES AS ONE UNIFIED FOOTER BLOCK
   ========================================================= */
.footer .footer-services-clean{
  min-width:0;
}

.footer .footer-services-clean > h2{
  margin:0 0 12px !important;
}

.footer .footer-services-panel{
  display:grid !important;
  grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  gap:0 !important;
  padding:14px 16px !important;
  border:1px solid rgba(255,255,255,.08) !important;
  border-radius:10px !important;
  background:rgba(255,255,255,.025) !important;
}

.footer .footer-services-col{
  display:grid !important;
  gap:9px !important;
  align-content:start !important;
  min-width:0;
}

.footer .footer-services-col-secondary{
  margin-left:16px !important;
  padding-left:20px !important;
  border-left:1px solid rgba(255,255,255,.10) !important;
}

.footer .footer-services-col a{
  display:block !important;
  margin:0 !important;
  padding:0 !important;
  color:#aebbd0 !important;
  font-size:13px !important;
  line-height:1.4 !important;
}

.footer .footer-services-col a:hover{
  color:#fff !important;
}

/* Hide/retire the previous services grid if legacy rules remain. */
.footer .footer-services-links{
  display:none !important;
}

@media(max-width:720px){
  .footer .footer-services-panel{
    grid-template-columns:1fr !important;
    gap:16px !important;
  }

  .footer .footer-services-col-secondary{
    margin-left:0 !important;
    padding-left:0 !important;
    padding-top:16px !important;
    border-left:0 !important;
    border-top:1px solid rgba(255,255,255,.10) !important;
  }
}


/* =========================================================
   V6.10.34 CLEAN FOOTER REDESIGN
   ========================================================= */
.footer .footer-main-clean{
  display:grid !important;
  grid-template-columns:minmax(230px,.9fr) minmax(390px,1.35fr) minmax(190px,.72fr) minmax(150px,.55fr) !important;
  gap:36px !important;
  align-items:start !important;
  padding-top:34px !important;
  padding-bottom:30px !important;
}

.footer .footer-heading-block{
  margin:0 0 16px !important;
}

.footer .footer-heading-block h2{
  margin:0 0 8px !important;
  padding:0 !important;
  color:#fff !important;
  font-size:14px !important;
  line-height:1.2 !important;
  font-weight:900 !important;
}

.footer .footer-heading-rule{
  display:block !important;
  width:42px !important;
  height:2px !important;
  border-radius:2px !important;
  background:var(--teal) !important;
  opacity:.9;
}

.footer .footer-services-list{
  display:grid !important;
  grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  gap:0 26px !important;
  margin:0 !important;
  padding:0 !important;
}

.footer .footer-services-col{
  display:grid !important;
  gap:10px !important;
  min-width:0;
}

.footer .footer-services-col a,
.footer .footer-account-column .footer-link-list a,
.footer .footer-company-clean .footer-link-list a{
  position:relative;
  display:block !important;
  margin:0 !important;
  padding:0 0 0 11px !important;
  color:#aebbd0 !important;
  font-size:13px !important;
  line-height:1.4 !important;
}

.footer .footer-services-col a::before,
.footer .footer-account-column .footer-link-list a::before,
.footer .footer-company-clean .footer-link-list a::before{
  content:"";
  position:absolute;
  left:0;
  top:.64em;
  width:4px;
  height:4px;
  border-radius:50%;
  background:rgba(20,201,187,.72);
}

.footer .footer-account-column .footer-link-list,
.footer .footer-company-clean .footer-link-list{
  display:grid !important;
  gap:10px !important;
  margin:0 !important;
  padding:0 !important;
}

.footer .footer-services-col a:hover,
.footer .footer-account-column .footer-link-list a:hover,
.footer .footer-company-clean .footer-link-list a:hover{
  color:#fff !important;
}

.footer .footer-services-panel{
  display:none !important;
}

/* Keep brand block visually quieter than navigation sections. */
.footer .footer-brand{
  padding-right:8px;
}

.footer .footer-contact-links{
  gap:11px !important;
}

/* Tablet */
@media(max-width:1080px){
  .footer .footer-main-clean{
    grid-template-columns:minmax(220px,1fr) minmax(360px,1.4fr) !important;
    gap:34px 40px !important;
  }

  .footer .footer-account-column,
  .footer .footer-company-clean{
    grid-row:2;
  }
}

/* Mobile */
@media(max-width:720px){
  .footer .footer-main-clean{
    grid-template-columns:1fr !important;
    gap:28px !important;
    padding-top:28px !important;
  }

  .footer .footer-account-column,
  .footer .footer-company-clean{
    grid-row:auto;
  }

  .footer .footer-services-list{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    gap:0 20px !important;
  }
}

@media(max-width:440px){
  .footer .footer-services-list{
    grid-template-columns:1fr !important;
    gap:10px !important;
  }
}


/* =========================================================
   V6.10.35 FOOTER TOP SPACING FIX
   ========================================================= */
.footer{
  padding-top:22px !important;
}

.footer .footer-main-clean{
  padding-top:0 !important;
  padding-bottom:22px !important;
  align-items:start !important;
}

.footer .footer-brand,
.footer .footer-column,
.footer .footer-main-clean > div{
  margin-top:0 !important;
  padding-top:0 !important;
  align-self:start !important;
}

.footer .footer-heading-block{
  margin-top:0 !important;
}

.footer .footer-heading-block h2,
.footer .footer-heading-rule{
  margin-top:0 !important;
}

@media(max-width:720px){
  .footer{
    padding-top:18px !important;
  }

  .footer .footer-main-clean{
    padding-top:0 !important;
    padding-bottom:18px !important;
  }
}


/* =========================================================
   V6.11.0 PRODUCTION LAYOUT CONSOLIDATION
   Consolidates final CTA/sitewide/heading spacing rules from
   V6.10.37–V6.10.41 into one maintained production block.
   ========================================================= */

/* Hero and compact information bands */
.hero-copy{
  padding-top:58px !important;
  padding-bottom:58px !important;
}

.platform-strip{
  padding-top:16px !important;
  padding-bottom:16px !important;
}

.trust-band{
  padding-top:24px !important;
  padding-bottom:24px !important;
}

/* Default content rhythm */
.section{
  padding-top:64px !important;
  padding-bottom:64px !important;
}

/* Heading-led sections reviewed visually on the live site */
.hosting-section.section,
.procurement-section.section,
.project-services.section,
#packages.section,
.example-engagements.section,
.partner-section.section,
.faq-section.section,
#about.section,
.shop-teaser.section{
  padding-top:24px !important;
  padding-bottom:40px !important;
}

/* Reduce trailing whitespace immediately before heading-led sections.
   :has() is supported by current evergreen browsers; older browsers simply
   retain the normal .section padding without breaking layout. */
.section:has(+ .hosting-section),
.section:has(+ .procurement-section),
.section:has(+ .project-services),
.section:has(+ #packages),
.section:has(+ .example-engagements),
.section:has(+ .partner-section),
.section:has(+ .faq-section),
.section:has(+ #about),
.section:has(+ .shop-teaser){
  padding-bottom:32px !important;
}

/* Centred heading rhythm */
.section-heading.centered{
  margin-top:0 !important;
  margin-bottom:30px !important;
}

.hosting-section .section-heading.centered,
.procurement-section .section-heading.centered,
.project-services .section-heading.centered,
#packages .section-heading.centered,
.example-engagements .section-heading.centered,
.partner-section .section-heading.centered,
.faq-section .section-heading.centered,
#about .section-heading.centered,
.shop-teaser .section-heading.centered{
  margin-bottom:18px !important;
}

.section-heading.centered .eyebrow{
  margin:0 0 5px !important;
}

.section-heading.centered h2{
  margin:0 0 7px !important;
}

.section-heading.centered > :last-child{
  margin-bottom:0 !important;
}

/* Prevent first content rows from creating a false extra blank row */
.hosting-grid,
.procurement-grid,
.project-service-group:first-of-type,
.support-category:first-of-type,
.example-grid,
.partner-placeholder,
.partner-placeholder-wrap,
.faq-list,
.shop-teaser-inner{
  margin-top:0 !important;
}

/* CTA */
.cta-band{
  padding-top:54px !important;
  padding-bottom:54px !important;
}

.cta-band-inner{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:30px;
}

.cta-band-inner > div{
  display:flex;
  flex-direction:column;
  justify-content:center;
}

.cta-band .eyebrow{
  margin:0 0 10px !important;
}

.cta-band h2{
  margin:0 0 12px !important;
}

.cta-band p:last-child{
  margin-top:0 !important;
  margin-bottom:0 !important;
}

.cta-band .button{
  align-self:center;
}

/* WooCommerce / commerce shells */
.product-section,
.checkout-shell,
.woocommerce-store-content,
.quote-page-shell,
.trade-registration-page{
  padding-top:56px !important;
  padding-bottom:56px !important;
}

.woocommerce-account main .woocommerce,
.woocommerce-account .site-main > .woocommerce,
.woocommerce-account .entry-content > .woocommerce{
  padding-top:50px !important;
  padding-bottom:50px !important;
}

/* Internal components */
.tableau-copy{
  padding-top:28px !important;
  padding-bottom:28px !important;
}

.service-options-fieldset{
  padding-top:16px !important;
  padding-bottom:16px !important;
}

.shop-teaser-inner{
  padding-top:28px !important;
  padding-bottom:28px !important;
}

.contact-grid > div > :first-child{
  margin-top:0 !important;
}

.contact-grid > div > :last-child{
  margin-bottom:0 !important;
}

/* Tablet */
@media(max-width:900px){
  .section{
    padding-top:54px !important;
    padding-bottom:54px !important;
  }

  .hero-copy{
    padding-top:50px !important;
    padding-bottom:50px !important;
  }

  .hosting-section.section,
  .procurement-section.section,
  .project-services.section,
  #packages.section,
  .example-engagements.section,
  .partner-section.section,
  .faq-section.section,
  #about.section,
  .shop-teaser.section{
    padding-top:22px !important;
    padding-bottom:36px !important;
  }

  .section:has(+ .hosting-section),
  .section:has(+ .procurement-section),
  .section:has(+ .project-services),
  .section:has(+ #packages),
  .section:has(+ .example-engagements),
  .section:has(+ .partner-section),
  .section:has(+ .faq-section),
  .section:has(+ #about),
  .section:has(+ .shop-teaser){
    padding-bottom:28px !important;
  }

  .product-section,
  .checkout-shell,
  .woocommerce-store-content,
  .quote-page-shell,
  .trade-registration-page{
    padding-top:50px !important;
    padding-bottom:50px !important;
  }
}

/* Mobile */
@media(max-width:650px){
  .section{
    padding-top:46px !important;
    padding-bottom:46px !important;
  }

  .hero-copy{
    padding-top:42px !important;
    padding-bottom:42px !important;
  }

  .platform-strip{
    padding-top:14px !important;
    padding-bottom:14px !important;
  }

  .trust-band{
    padding-top:20px !important;
    padding-bottom:20px !important;
  }

  .cta-band{
    padding-top:42px !important;
    padding-bottom:42px !important;
  }

  .hosting-section.section,
  .procurement-section.section,
  .project-services.section,
  #packages.section,
  .example-engagements.section,
  .partner-section.section,
  .faq-section.section,
  #about.section,
  .shop-teaser.section{
    padding-top:20px !important;
    padding-bottom:32px !important;
  }

  .section:has(+ .hosting-section),
  .section:has(+ .procurement-section),
  .section:has(+ .project-services),
  .section:has(+ #packages),
  .section:has(+ .example-engagements),
  .section:has(+ .partner-section),
  .section:has(+ .faq-section),
  .section:has(+ #about),
  .section:has(+ .shop-teaser){
    padding-bottom:24px !important;
  }

  .hosting-section .section-heading.centered,
  .procurement-section .section-heading.centered,
  .project-services .section-heading.centered,
  #packages .section-heading.centered,
  .example-engagements .section-heading.centered,
  .partner-section .section-heading.centered,
  .faq-section .section-heading.centered,
  #about .section-heading.centered,
  .shop-teaser .section-heading.centered{
    margin-bottom:16px !important;
  }

  .product-section,
  .checkout-shell,
  .woocommerce-store-content,
  .quote-page-shell,
  .trade-registration-page{
    padding-top:44px !important;
    padding-bottom:44px !important;
  }

  .woocommerce-account main .woocommerce,
  .woocommerce-account .site-main > .woocommerce,
  .woocommerce-account .entry-content > .woocommerce{
    padding-top:40px !important;
    padding-bottom:40px !important;
  }

  .tableau-copy{
    padding-top:24px !important;
    padding-bottom:24px !important;
  }

  .shop-teaser-inner{
    padding-top:24px !important;
    padding-bottom:24px !important;
  }
}


/* =========================================================
   V6.11.1 LEGAL STRIP ALIGNMENT + COOKIE CONSENT
   ========================================================= */
.footer .footer-legal-bar-inner{
  display:flex !important;
  align-items:center !important;
  gap:8px !important;
  padding-top:14px !important;
  padding-bottom:14px !important;
}
.footer .footer-legal-label{
  display:inline-flex !important;
  align-items:center !important;
  min-height:20px;
  margin:0 4px 0 0 !important;
  padding:0 !important;
  line-height:1.45 !important;
}
.footer .footer-legal-links-compact{
  display:flex !important;
  align-items:center !important;
  flex-wrap:wrap;
  gap:6px 0 !important;
}
.footer .footer-legal-links-compact a,
.footer .footer-legal-links-compact .footer-legal-action{
  position:relative;
  display:inline-flex;
  align-items:center;
  min-height:20px;
  margin:0;
  padding:0 11px;
  border:0;
  background:transparent;
  color:#8fa3ba;
  font:inherit;
  font-size:10.5px;
  line-height:1.45;
  cursor:pointer;
  text-decoration:none;
}
.footer .footer-legal-links-compact a:first-child{padding-left:0}
.footer .footer-legal-links-compact a:not(:last-child)::after,
.footer .footer-legal-links-compact .footer-legal-action::after{
  content:"";
  position:absolute;
  right:0;
  top:50%;
  width:1px;
  height:11px;
  background:rgba(255,255,255,.16);
  transform:translateY(-50%);
}
.footer .footer-legal-links-compact .footer-legal-action:last-child::after{display:none}
.footer .footer-legal-links-compact a:hover,
.footer .footer-legal-links-compact .footer-legal-action:hover,
.footer .footer-legal-links-compact .footer-legal-action:focus-visible{color:#fff}

.footer-policy-action,
.legal-footer-action{
  border:0;
  background:transparent;
  padding:0;
  color:#aebbd0;
  font:inherit;
  font-size:13px;
  cursor:pointer;
  text-align:left;
}
.footer-policy-action:hover,.legal-footer-action:hover,
.footer-policy-action:focus-visible,.legal-footer-action:focus-visible{color:#fff}

.cookie-consent-banner{
  position:fixed;left:18px;right:18px;bottom:18px;z-index:10000;background:#fff;
  border:1px solid #d8e3ec;border-radius:12px;box-shadow:0 16px 48px rgba(6,27,58,.22)
}
.cookie-consent-banner[hidden]{display:none!important}
.cookie-consent-inner{
  width:min(1180px,100%);margin:auto;padding:20px 22px;display:flex;align-items:center;
  justify-content:space-between;gap:28px
}
.cookie-consent-copy strong{display:block;margin-bottom:5px;color:var(--ink);font-size:15px}
.cookie-consent-copy p{max-width:760px;margin:0 0 7px;color:var(--muted);font-size:12.5px;line-height:1.55}
.cookie-policy-link{color:var(--teal);font-size:12px;font-weight:800;text-decoration:underline;text-underline-offset:2px}
.cookie-consent-actions{display:flex;align-items:center;justify-content:flex-end;gap:9px;flex-wrap:wrap;flex:0 0 auto}
.cookie-consent-actions .button{white-space:nowrap;padding:10px 15px;font-size:12px}

.cookie-preferences-modal{
  position:fixed;inset:0;z-index:10020;display:flex;align-items:center;justify-content:center;padding:24px
}
.cookie-preferences-modal[hidden]{display:none!important}
.cookie-preferences-backdrop{position:absolute;inset:0;background:rgba(3,20,43,.68);backdrop-filter:blur(2px)}
.cookie-preferences-panel{
  position:relative;z-index:1;width:min(650px,100%);max-height:min(760px,calc(100vh - 48px));
  overflow:auto;background:#fff;border-radius:14px;box-shadow:0 24px 70px rgba(0,0,0,.28);padding:30px
}
.cookie-preferences-panel h2{margin:3px 0 10px;color:var(--ink);font-size:30px;line-height:1.15}
.cookie-preferences-panel>p:not(.eyebrow){color:var(--muted);font-size:13px;line-height:1.6}
.cookie-modal-close{
  position:absolute;right:16px;top:13px;width:36px;height:36px;border:0;border-radius:50%;
  background:var(--soft);color:var(--ink);font-size:25px;line-height:1;cursor:pointer
}
.cookie-choice-row{display:grid;grid-template-columns:1fr auto;align-items:center;gap:22px;padding:18px 0;border-top:1px solid var(--line)}
.cookie-choice-row:last-of-type{border-bottom:1px solid var(--line)}
.cookie-choice-row strong{color:var(--ink);font-size:14px}
.cookie-choice-row p{margin:4px 0 0;color:var(--muted);font-size:12px;line-height:1.5}
.cookie-switch{position:relative;display:inline-flex;width:46px;height:26px;flex:0 0 auto}
.cookie-switch input{position:absolute;opacity:0;pointer-events:none}
.cookie-switch span{width:46px;height:26px;border-radius:99px;background:#bcc8d3;position:relative;transition:.18s ease}
.cookie-switch span::after{
  content:"";position:absolute;width:20px;height:20px;left:3px;top:3px;border-radius:50%;
  background:#fff;box-shadow:0 1px 4px rgba(0,0,0,.24);transition:.18s ease
}
.cookie-switch input:checked+span{background:var(--teal)}
.cookie-switch input:checked+span::after{transform:translateX(20px)}
.cookie-switch input:focus-visible+span{outline:3px solid rgba(7,169,166,.24);outline-offset:2px}
.cookie-switch-disabled{opacity:.7}
.cookie-modal-links{display:flex;gap:18px;flex-wrap:wrap;margin-top:17px}
.cookie-modal-links a{color:var(--teal);font-size:12px;font-weight:800}
.cookie-modal-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:22px;flex-wrap:wrap}
body.cookie-modal-open{overflow:hidden}

@media(max-width:820px){
  .cookie-consent-inner{align-items:flex-start;flex-direction:column;gap:16px}
  .cookie-consent-actions{width:100%;justify-content:flex-start}
}
@media(max-width:720px){
  .footer .footer-legal-bar-inner{display:block!important;padding-top:14px!important;padding-bottom:16px!important}
  .footer .footer-legal-label{display:block!important;margin:0 0 10px!important}
  .footer .footer-legal-links-compact{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 18px!important}
  .footer .footer-legal-links-compact a,
  .footer .footer-legal-links-compact .footer-legal-action{padding:0!important;min-height:auto}
  .footer .footer-legal-links-compact a::after,
  .footer .footer-legal-links-compact .footer-legal-action::after{display:none!important}
}
@media(max-width:560px){
  .cookie-consent-banner{left:10px;right:10px;bottom:10px}
  .cookie-consent-inner{padding:17px}
  .cookie-consent-actions{display:grid;grid-template-columns:1fr}
  .cookie-consent-actions .button{width:100%}
  .cookie-preferences-modal{padding:12px}
  .cookie-preferences-panel{padding:25px 20px 20px;max-height:calc(100vh - 24px)}
  .cookie-preferences-panel h2{font-size:26px}
  .cookie-modal-actions{display:grid;grid-template-columns:1fr}
  .cookie-modal-actions .button{width:100%}
  .footer .footer-legal-links-compact{grid-template-columns:1fr}
}


/* =========================================================
   V6.11.2 LEGAL STRIP STACKED ALIGNMENT REFINEMENT
   ========================================================= */
.footer .footer-legal-bar-inner{
  display:block !important;
  padding-top:12px !important;
  padding-bottom:12px !important;
}

.footer .footer-legal-label{
  display:block !important;
  margin:0 0 8px !important;
  padding:0 !important;
  line-height:1.2 !important;
}

.footer .footer-legal-links-compact{
  display:flex !important;
  width:100%;
  align-items:center !important;
  flex-wrap:wrap;
  gap:8px 0 !important;
}

.footer .footer-legal-links-compact a,
.footer .footer-legal-links-compact .footer-legal-action{
  min-height:auto;
  line-height:1.35;
}

@media(max-width:720px){
  .footer .footer-legal-label{
    margin:0 0 8px !important;
  }
  .footer .footer-legal-links-compact{
    display:grid !important;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:8px 18px !important;
  }
}

@media(max-width:560px){
  .footer .footer-legal-links-compact{
    grid-template-columns:1fr;
  }
}


/* =========================================================
   V6.11.3 HEADER / FOOTER CONTAINER ALIGNMENT
   One shared horizontal grid for desktop header + footer.
   ========================================================= */

:root{
  --easethat-site-max:1200px;
  --easethat-site-gutter:20px;
}

/*
 * Force the header navigation, footer main columns and footer legal strip
 * onto the exact same centred container. This removes visual drift caused
 * by historical footer-specific overrides.
 */
.header .wrap,
.footer .footer-main-clean,
.footer .footer-legal-bar-inner{
  width:min(
    var(--easethat-site-max),
    calc(100% - (var(--easethat-site-gutter) * 2))
  ) !important;
  max-width:var(--easethat-site-max) !important;
  margin-left:auto !important;
  margin-right:auto !important;
}

/* Keep the footer's four-column grid inside that shared boundary. */
.footer .footer-main-clean{
  grid-template-columns:
    minmax(230px,.90fr)
    minmax(390px,1.35fr)
    minmax(190px,.72fr)
    minmax(150px,.55fr) !important;
  column-gap:36px !important;
}

/*
 * Footer logo and header logo use the same source artwork. The image has
 * intentional internal white space, so align the containers rather than
 * nudging the visible artwork independently.
 */
.header .logo-link,
.footer .footer-brand{
  margin-left:0 !important;
}

/* Legal row starts and ends on the same horizontal guides as header/footer. */
.footer .footer-legal-bar-inner{
  padding-left:0 !important;
  padding-right:0 !important;
}

/*
 * Keep the copyright text centred, but place its content inside the same
 * maximum width instead of an unrestricted full-screen content area.
 */
.footer .footer-meta-center{
  width:min(
    var(--easethat-site-max),
    calc(100% - (var(--easethat-site-gutter) * 2))
  ) !important;
  max-width:var(--easethat-site-max) !important;
  margin-left:auto !important;
  margin-right:auto !important;
  padding-left:0 !important;
  padding-right:0 !important;
}

/* Match the existing responsive wrap behaviour exactly. */
@media(max-width:1180px){
  :root{
    --easethat-site-max:1120px;
    --easethat-site-gutter:18px;
  }
}

@media(max-width:820px){
  :root{
    --easethat-site-max:760px;
    --easethat-site-gutter:15px;
  }

  .footer .footer-main-clean{
    grid-template-columns:1fr 1fr !important;
  }

  .footer .footer-services-clean{
    grid-column:1 / -1;
  }
}

@media(max-width:720px){
  .footer .footer-main-clean{
    grid-template-columns:1fr !important;
  }

  .footer .footer-services-clean{
    grid-column:auto;
  }
}

@media(max-width:600px){
  :root{
    --easethat-site-max:560px;
    --easethat-site-gutter:12px;
  }
}

@media(max-width:430px){
  :root{
    --easethat-site-max:100%;
    --easethat-site-gutter:10px;
  }
}


/* =========================================================
   V6.11.4 ONE-LINE LEGAL STRIP
   Desktop: label + all links on one row.
   Tablet/mobile: responsive wrapping remains enabled.
   ========================================================= */

@media(min-width:1050px){
  .footer .footer-legal-bar-inner{
    display:flex !important;
    align-items:center !important;
    flex-wrap:nowrap !important;
    gap:14px !important;
    padding-top:11px !important;
    padding-bottom:11px !important;
  }

  .footer .footer-legal-label{
    display:inline-flex !important;
    align-items:center !important;
    flex:0 0 auto;
    margin:0 !important;
    white-space:nowrap;
    line-height:1.25 !important;
    font-size:10.5px !important;
  }

  .footer .footer-legal-links-compact{
    display:flex !important;
    align-items:center !important;
    flex-wrap:nowrap !important;
    min-width:0;
    gap:0 !important;
    white-space:nowrap;
  }

  .footer .footer-legal-links-compact a,
  .footer .footer-legal-links-compact .footer-legal-action{
    flex:0 0 auto;
    padding-left:8px !important;
    padding-right:8px !important;
    font-size:9.7px !important;
    line-height:1.3 !important;
    white-space:nowrap;
  }

  .footer .footer-legal-links-compact a:first-child{
    padding-left:0 !important;
  }

  .footer .footer-legal-links-compact a:not(:last-child)::after,
  .footer .footer-legal-links-compact .footer-legal-action::after{
    height:10px !important;
  }
}

/* Medium screens can wrap gracefully rather than overflow. */
@media(min-width:721px) and (max-width:1049px){
  .footer .footer-legal-bar-inner{
    display:block !important;
  }

  .footer .footer-legal-label{
    display:block !important;
    margin-bottom:8px !important;
  }

  .footer .footer-legal-links-compact{
    display:flex !important;
    flex-wrap:wrap !important;
  }
}


/* =========================================================
   V6.12.0 MARKETING CONCEPT SAMPLE
   ========================================================= */
.marketing-positioning{
  background:#fff;
}
.positioning-intro{
  display:grid;
  grid-template-columns:minmax(0,1.05fr) minmax(320px,.95fr);
  gap:56px;
  align-items:end;
  margin-bottom:34px;
}
.positioning-intro h2{
  max-width:720px;
  margin:6px 0 0;
  color:var(--ink);
}
.positioning-intro>p{
  margin:0;
  color:var(--muted);
  font-size:17px;
  line-height:1.7;
}
.positioning-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:16px;
}
.positioning-grid article{
  padding:24px;
  border:1px solid var(--line);
  border-radius:12px;
  background:linear-gradient(180deg,#fff,#f8fbfd);
}
.positioning-label{
  display:inline-block;
  margin-bottom:14px;
  color:var(--teal);
  font-size:11px;
  font-weight:900;
  letter-spacing:.09em;
  text-transform:uppercase;
}
.positioning-grid h3{margin:0 0 8px;color:var(--ink);font-size:19px}
.positioning-grid p{margin:0;color:var(--muted);font-size:13px;line-height:1.6}
.positioning-compare{
  display:grid;
  grid-template-columns:1fr 1.15fr 1fr;
  align-items:stretch;
  margin-top:24px;
  border:1px solid var(--line);
  border-radius:12px;
  overflow:hidden;
  background:#f7fafc;
}
.positioning-compare>div{
  padding:18px 22px;
  text-align:center;
}
.positioning-compare>div+div{border-left:1px solid var(--line)}
.positioning-compare span,.positioning-compare strong{
  display:block;color:var(--ink);font-size:14px;margin-bottom:4px
}
.positioning-compare small{color:var(--muted)}
.positioning-compare .positioning-focus{
  background:var(--ink);
}
.positioning-compare .positioning-focus strong{color:#fff}
.positioning-compare .positioning-focus small{color:#b9c8d8}

.marketing-case-studies{
  background:#f4f8fb;
}
.marketing-case-grid{
  display:grid;
  gap:18px;
}
.marketing-case-card{
  padding:28px;
  background:#fff;
  border:1px solid var(--line);
  border-radius:14px;
  box-shadow:0 10px 30px rgba(13,43,74,.06);
}
.case-topline{
  display:flex;
  justify-content:space-between;
  gap:16px;
  margin-bottom:12px;
  color:var(--teal);
  font-size:11px;
  font-weight:900;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.marketing-case-card h3{
  max-width:820px;
  margin:0 0 20px;
  color:var(--ink);
  font-size:25px;
}
.case-columns{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:22px;
}
.case-columns>div{
  padding-top:14px;
  border-top:2px solid #dce8ef;
}
.case-columns strong{color:var(--ink);font-size:13px}
.case-columns p{margin:7px 0 0;color:var(--muted);font-size:13px;line-height:1.6}
.case-proof-note{
  display:flex;
  gap:10px;
  align-items:baseline;
  margin-top:18px;
  padding:15px 18px;
  border-radius:10px;
  background:var(--ink);
  color:#dce7f1;
}
.case-proof-note strong{color:#fff}

.marketing-insights{
  background:#fff;
}
.insights-head{
  display:grid;
  grid-template-columns:minmax(0,1.1fr) minmax(320px,.9fr);
  gap:50px;
  align-items:end;
  margin-bottom:28px;
}
.insights-head h2{margin:6px 0 0;color:var(--ink)}
.insights-head>p{margin:0;color:var(--muted);line-height:1.7}
.insights-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:16px;
}
.insights-grid article{
  display:flex;
  flex-direction:column;
  min-height:245px;
  padding:22px;
  border:1px solid var(--line);
  border-radius:12px;
  background:#fff;
}
.insights-grid article>span{
  color:var(--teal);
  font-size:11px;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.08em;
}
.insights-grid h3{
  margin:14px 0 10px;
  color:var(--ink);
  font-size:19px;
  line-height:1.3;
}
.insights-grid p{
  margin:0 0 18px;
  color:var(--muted);
  font-size:13px;
  line-height:1.6;
}
.insights-grid a{
  margin-top:auto;
  color:var(--teal);
  font-size:13px;
  font-weight:800;
}

@media(max-width:980px){
  .positioning-grid,.insights-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .case-columns{grid-template-columns:1fr}
}
@media(max-width:760px){
  .positioning-intro,.insights-head{grid-template-columns:1fr;gap:18px}
  .positioning-grid,.insights-grid{grid-template-columns:1fr}
  .positioning-compare{grid-template-columns:1fr}
  .positioning-compare>div+div{border-left:0;border-top:1px solid var(--line)}
  .case-topline{display:block}
  .case-topline span{display:block;margin-bottom:4px}
  .case-proof-note{display:block}
}
.insights-more{display:flex;justify-content:center;gap:10px;flex-wrap:wrap;margin-top:20px}.insight-article-section{background:#f7fafc}.insight-article{max-width:1080px}.insight-breadcrumb{display:flex;align-items:center;gap:8px;margin-bottom:24px;color:var(--muted);font-size:12px}.insight-breadcrumb a{color:var(--teal);font-weight:800}.insight-article>h1{max-width:900px;margin:7px 0 14px;color:var(--ink);font-size:clamp(34px,5vw,54px);line-height:1.08}.insight-lead{max-width:880px;margin:0 0 38px;color:var(--muted);font-size:18px;line-height:1.7}.insight-article-layout{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:48px;align-items:start}.insight-main>section{margin-bottom:30px;padding-bottom:26px;border-bottom:1px solid var(--line)}.insight-main>section h2{margin:0 0 9px;color:var(--ink);font-size:24px}.insight-main>section p{margin:0;color:#4d6378;font-size:15px;line-height:1.75}.insight-sidebar{position:sticky;top:100px;display:grid;padding:20px;border:1px solid var(--line);border-radius:12px;background:#fff}.insight-sidebar strong{margin-bottom:10px;color:var(--ink);font-size:13px;text-transform:uppercase}.insight-sidebar a{padding:10px 0;border-top:1px solid var(--line);color:#47647e;font-size:12.5px;font-weight:700}.insight-cta{margin-top:34px;padding:26px;border-radius:14px;background:var(--ink);color:#dce7f1}.insight-cta h2{margin:0 0 8px;color:#fff}.insight-cta p{margin:0 0 18px;line-height:1.65}@media(max-width:850px){.insight-article-layout{grid-template-columns:1fr;gap:28px}.insight-sidebar{position:static}}

/* =========================================================
   V6.12.5 CASE STUDIES RELEASE
   ========================================================= */
.featured-experience{
  background:#f4f8fb;
  padding-top:48px !important;
  padding-bottom:48px !important;
}
.featured-experience .compact-section-head{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(300px,.72fr);
  align-items:end;
  gap:38px;
  margin-bottom:22px;
}
.featured-experience .compact-section-head h2{margin:5px 0 0;color:var(--ink)}
.featured-experience .compact-section-head>p{margin:0;color:var(--muted);font-size:12.5px;line-height:1.6}
.featured-experience-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:16px;
}
.featured-experience-grid article{
  display:flex;
  flex-direction:column;
  min-height:250px;
  padding:22px;
  border:1px solid var(--line);
  border-radius:12px;
  background:#fff;
}
.featured-case-meta{
  display:flex;
  justify-content:space-between;
  gap:10px;
  margin-bottom:12px;
}
.featured-case-meta span{
  color:var(--teal);
  font-size:10px;
  font-weight:900;
  letter-spacing:.06em;
  text-transform:uppercase;
}
.featured-case-meta span:last-child{color:#6d8295;text-align:right}
.featured-experience-grid h3{
  margin:0 0 10px;
  color:var(--ink);
  font-size:19px;
  line-height:1.35;
}
.featured-experience-grid p{
  margin:0 0 16px;
  color:var(--muted);
  font-size:12.5px;
  line-height:1.6;
}
.featured-experience-grid a{
  margin-top:auto;
  color:var(--teal);
  font-size:12px;
  font-weight:900;
}
.featured-experience-actions{
  display:flex;
  justify-content:center;
  margin-top:20px;
}

.case-studies-page,
.case-study-detail{
  background:#f7fafc;
}
.case-breadcrumb{
  display:flex;
  align-items:center;
  gap:8px;
  margin-bottom:24px;
  color:var(--muted);
  font-size:12px;
}
.case-breadcrumb a{color:var(--teal);font-weight:800}
.case-index-hero{
  max-width:900px;
  margin-bottom:26px;
}
.case-index-hero h1,
.case-detail-hero h1{
  margin:6px 0 12px;
  color:var(--ink);
  font-size:clamp(36px,5vw,56px);
  line-height:1.08;
}
.case-index-hero>p:last-child,
.case-detail-hero>p{
  color:var(--muted);
  font-size:17px;
  line-height:1.7;
}
.case-index-filters{
  display:flex;
  flex-wrap:wrap;
  gap:7px;
  margin-bottom:24px;
}
.case-index-filters span{
  padding:7px 10px;
  border-radius:999px;
  background:#eaf3f6;
  color:#385873;
  font-size:10.5px;
  font-weight:800;
}
.case-index-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:16px;
}
.case-index-card{
  display:flex;
  flex-direction:column;
  min-height:285px;
  padding:24px;
  border:1px solid var(--line);
  border-radius:13px;
  background:#fff;
}
.case-index-meta,
.case-detail-meta{
  display:flex;
  justify-content:space-between;
  gap:14px;
  color:var(--teal);
  font-size:10.5px;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.06em;
}
.case-index-meta span:last-child,
.case-detail-meta span:last-child{color:#6c8397;text-align:right}
.case-index-card h2{
  margin:15px 0 9px;
  color:var(--ink);
  font-size:22px;
  line-height:1.3;
}
.case-index-card>p{margin:0 0 16px;color:var(--muted);font-size:13px;line-height:1.6}
.case-index-card>strong{
  display:inline-block;
  margin:0 0 16px;
  color:var(--ink);
  font-size:13px;
}
.case-index-card>a{
  margin-top:auto;
  color:var(--teal);
  font-size:12px;
  font-weight:900;
}
.case-index-cta{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:30px;
  margin-top:30px;
  padding:28px;
  border-radius:14px;
  background:var(--ink);
  color:#d8e5ef;
}
.case-index-cta h2{margin:4px 0 7px;color:#fff}
.case-index-cta p{margin:0;max-width:720px;line-height:1.6}

.case-detail-hero{
  max-width:960px;
  margin-bottom:24px;
}
.case-detail-hero>strong{
  display:inline-block;
  margin-top:8px;
  padding:8px 11px;
  border-radius:999px;
  background:#e7f5f5;
  color:#087c7a;
  font-size:12px;
}
.experience-disclosure{
  max-width:960px;
  margin:0 0 30px;
  padding:16px 18px;
  border-left:3px solid var(--teal);
  background:#eef7f8;
}
.experience-disclosure strong{color:var(--ink)}
.experience-disclosure p{margin:5px 0 0;color:#50677b;font-size:12px;line-height:1.6}
.case-detail-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:18px;
}
.case-detail-grid>section{
  padding:26px;
  border:1px solid var(--line);
  border-radius:12px;
  background:#fff;
}
.case-detail-grid h2,
.case-outcomes h2{
  margin:5px 0 10px;
  color:var(--ink);
  font-size:24px;
}
.case-detail-grid>section>p:last-child{
  margin:0;
  color:#4e667a;
  line-height:1.75;
}
.case-outcomes{
  margin-top:18px;
  padding:28px;
  border-radius:13px;
  background:#fff;
  border:1px solid var(--line);
}
.case-outcome-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px 18px;
  margin-top:15px;
}
.case-outcome-grid>div{
  display:grid;
  grid-template-columns:24px 1fr;
  gap:8px;
  align-items:start;
  padding:12px;
  border-radius:9px;
  background:#f6fafb;
}
.case-outcome-grid span{
  color:var(--teal);
  font-weight:900;
}
.case-outcome-grid p{
  margin:0;
  color:#4e667a;
  font-size:13px;
  line-height:1.55;
}
.case-detail-actions{
  display:flex;
  justify-content:center;
  gap:10px;
  flex-wrap:wrap;
  margin-top:24px;
}

@media(max-width:900px){
  .featured-experience-grid,
  .case-index-grid{
    grid-template-columns:1fr;
  }
  .featured-experience .compact-section-head,
  .case-detail-grid{
    grid-template-columns:1fr;
  }
  .case-outcome-grid{grid-template-columns:1fr}
  .case-index-cta{align-items:flex-start;flex-direction:column}
}
@media(max-width:600px){
  .featured-case-meta,
  .case-index-meta,
  .case-detail-meta{
    display:block;
  }
  .featured-case-meta span,
  .case-index-meta span,
  .case-detail-meta span{
    display:block;
    text-align:left !important;
    margin-bottom:4px;
  }
}


/* =========================================================
   V6.12.6 INSIGHTS RESOURCE ALIGNMENT
   Replaces the two standalone checklist buttons with matching cards.
   ========================================================= */
.marketing-insights .insights-resource-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:16px;
  margin-top:16px;
}

.marketing-insights .insight-resource-card{
  display:grid;
  grid-template-columns:auto minmax(0,1fr) auto;
  align-items:center;
  gap:18px;
  min-height:0;
  padding:18px 20px;
  border:1px solid var(--line);
  border-radius:12px;
  background:#fff;
}

.marketing-insights .insight-resource-card > span{
  align-self:start;
  padding-top:3px;
  color:var(--teal);
  font-size:10.5px;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.07em;
  white-space:nowrap;
}

.marketing-insights .insight-resource-card h3{
  margin:0 0 5px;
  color:var(--ink);
  font-size:16px;
  line-height:1.3;
}

.marketing-insights .insight-resource-card p{
  margin:0;
  color:var(--muted);
  font-size:11.5px;
  line-height:1.5;
}

.marketing-insights .insight-resource-card > a{
  align-self:center;
  margin:0;
  color:var(--teal);
  font-size:11.5px;
  font-weight:900;
  white-space:nowrap;
}

.marketing-insights .insight-resource-card:hover{
  border-color:#bfd7e1;
  box-shadow:0 8px 22px rgba(13,43,74,.05);
}

@media(max-width:980px){
  .marketing-insights .insights-resource-grid{
    grid-template-columns:1fr;
  }
}

@media(max-width:680px){
  .marketing-insights .insight-resource-card{
    grid-template-columns:1fr;
    gap:8px;
  }

  .marketing-insights .insight-resource-card > span{
    padding-top:0;
  }

  .marketing-insights .insight-resource-card > a{
    justify-self:start;
  }
}


/* =========================================================
   V6.12.7 SERVICES DROPDOWN
   Desktop dropdown + mobile/touch accordion behaviour.
   ========================================================= */

.nav-dropdown{
  position:relative;
  display:flex;
  align-self:stretch;
  align-items:center;
}

.services-menu-toggle{
  position:relative;
  display:inline-flex;
  align-items:center;
  gap:7px;
  height:100%;
  padding:0;
  border:0;
  background:transparent;
  color:#19314f;
  font:inherit;
  font-weight:700;
  cursor:pointer;
}

.services-menu-toggle::after{
  content:"";
  position:absolute;
  left:50%;
  right:50%;
  bottom:0;
  height:3px;
  background:linear-gradient(90deg,var(--teal),var(--teal-2));
  transition:.22s;
}

.nav-dropdown:hover .services-menu-toggle::after,
.nav-dropdown:focus-within .services-menu-toggle::after,
.nav-dropdown.is-open .services-menu-toggle::after{
  left:0;
  right:0;
}

.services-menu-caret{
  width:7px;
  height:7px;
  border-right:2px solid currentColor;
  border-bottom:2px solid currentColor;
  transform:translateY(-2px) rotate(45deg);
  transition:transform .18s ease;
}

.nav-dropdown.is-open .services-menu-caret,
.nav-dropdown:hover .services-menu-caret,
.nav-dropdown:focus-within .services-menu-caret{
  transform:translateY(2px) rotate(225deg);
}

.services-submenu{
  position:absolute;
  top:calc(100% - 1px);
  left:50%;
  z-index:120;
  width:390px;
  padding:10px;
  border:1px solid #dbe5ed;
  border-top:3px solid var(--teal);
  border-radius:0 0 12px 12px;
  background:#fff;
  box-shadow:0 22px 48px rgba(6,27,58,.16);
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  transform:translate(-50%,8px);
  transition:opacity .16s ease,transform .16s ease,visibility .16s ease;
}

.nav-dropdown:hover .services-submenu,
.nav-dropdown:focus-within .services-submenu,
.nav-dropdown.is-open .services-submenu{
  opacity:1;
  visibility:visible;
  pointer-events:auto;
  transform:translate(-50%,0);
}

.nav-links .services-submenu a{
  display:grid;
  gap:2px;
  width:100%;
  padding:11px 12px;
  border-radius:8px;
  color:var(--ink);
}

.nav-links .services-submenu a::after{
  display:none !important;
}

.nav-links .services-submenu a:hover,
.nav-links .services-submenu a:focus-visible{
  background:#f2f8f9;
}

.services-submenu strong{
  font-size:13px;
  line-height:1.3;
}

.services-submenu small{
  color:#6c7d8f;
  font-size:10.5px;
  font-weight:500;
  line-height:1.4;
}

/* The reduced number of top-level links allows slightly calmer spacing. */
@media(min-width:1081px){
  .nav-links{
    gap:22px !important;
  }
}

/* Existing mobile breakpoint starts at 1080px. */
@media(max-width:1080px){
  .nav-dropdown{
    display:block;
    width:100%;
    align-self:auto;
  }

  .services-menu-toggle{
    width:100%;
    min-height:44px;
    justify-content:space-between;
    padding:7px 0;
    font-size:inherit;
    text-align:left;
  }

  .services-menu-toggle::after{
    display:none;
  }

  .services-menu-caret{
    margin-right:4px;
  }

  .services-submenu{
    position:static;
    width:100%;
    margin:0;
    padding:4px 0 8px 14px;
    border:0;
    border-left:2px solid #d9e9ea;
    border-radius:0;
    box-shadow:none;
    opacity:1;
    visibility:visible;
    pointer-events:auto;
    transform:none;
    display:none;
  }

  .nav-dropdown.is-open .services-submenu{
    display:grid;
  }

  .nav-links .services-submenu a{
    padding:9px 10px !important;
    border-radius:7px;
  }

  .services-submenu strong{
    font-size:14px;
  }

  .services-submenu small{
    font-size:11px;
  }
}

@media(max-width:430px){
  .services-submenu small{
    display:none;
  }
}


/* =========================================================
   V6.12.8 FINAL NAVIGATION GROUPING
   Home | Services | Case Studies | Insights | Company | Shop |
   My Account | Cart | Consultation
   ========================================================= */

/* Slightly tighter top-level rhythm now that transactional links are grouped. */
@media(min-width:1081px){
  .nav-links{
    gap:17px !important;
  }

  .nav-links > a,
  .services-menu-toggle{
    white-space:nowrap;
  }
}

/* Services becomes a small grouped mega-menu. */
.nav-dropdown--services .services-submenu{
  width:590px;
  padding:14px;
}

.services-submenu--grouped{
  grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);
  gap:12px;
}

.nav-dropdown--services:hover .services-submenu--grouped,
.nav-dropdown--services:focus-within .services-submenu--grouped,
.nav-dropdown--services.is-open .services-submenu--grouped{
  display:grid;
}

.services-submenu-group{
  min-width:0;
  padding:4px;
}

.services-submenu-group--operations{
  padding-left:13px;
  border-left:1px solid var(--line);
}

.services-submenu-label{
  display:block;
  padding:6px 8px 8px;
  color:#73879a;
  font-size:9.5px;
  font-weight:900;
  line-height:1.25;
  letter-spacing:.08em;
  text-transform:uppercase;
}

/* Company and Shop are intentionally compact utility dropdowns. */
.services-submenu--compact{
  width:315px;
  padding:10px;
}

.nav-dropdown--company .services-submenu{
  left:50%;
}

.nav-dropdown--shop .services-submenu{
  left:auto;
  right:0;
  transform:translateY(8px);
}

.nav-dropdown--shop:hover .services-submenu,
.nav-dropdown--shop:focus-within .services-submenu,
.nav-dropdown--shop.is-open .services-submenu{
  transform:translateY(0);
}

/* Keep service descriptions visually secondary. */
.services-submenu--compact a{
  padding:11px 12px !important;
}

.services-submenu--compact small{
  line-height:1.35;
}

/* Founder anchor should stop below the sticky header. */
#founders{
  scroll-margin-top:110px;
}

@media(max-width:1080px){
  .services-submenu--grouped{
    display:none !important;
    grid-template-columns:1fr;
    gap:0;
  }

  .nav-dropdown--services.is-open .services-submenu--grouped{
    display:block !important;
  }

  .services-submenu-group{
    padding:0;
  }

  .services-submenu-group--operations{
    margin-top:8px;
    padding:8px 0 0;
    border-left:0;
    border-top:1px solid var(--line);
  }

  .services-submenu-label{
    padding:5px 10px 6px;
  }

  .nav-dropdown--shop .services-submenu{
    right:auto;
    transform:none;
  }

  .services-submenu--compact{
    width:100%;
  }
}


/* =========================================================
   V6.12.9 HEADER SPACING
   Keep navigation close to the logo; use remaining space
   before the primary CTA instead.
   ========================================================= */

@media(min-width:1081px){
  .header .nav{
    gap:18px !important;
  }

  .header .nav-links{
    margin-left:0 !important;
  }

  .header .nav-cta{
    margin-left:auto !important;
    flex:0 0 auto;
  }
}

/* On narrower desktop widths preserve the same visual logic while
   allowing the existing compact navigation sizing to take effect. */
@media(min-width:1081px) and (max-width:1180px){
  .header .nav{
    gap:14px !important;
  }

  .header .nav-links{
    margin-left:0 !important;
  }

  .header .nav-cta{
    margin-left:auto !important;
  }
}


/* =========================================================
   V6.13.0 SIMPLIFIED HOMEPAGE + DEDICATED CONTENT HUBS
   ========================================================= */

/* Shorter hero: detailed proof now sits elsewhere. */
.simplified-hero .hero-copy{
  max-width:900px;
  padding-top:58px !important;
  padding-bottom:58px !important;
}
.simplified-hero .hero-lead{
  max-width:760px;
}

/* Compact differentiation row immediately after hero. */
.home-differentiators{
  padding:20px 0;
  border-bottom:1px solid var(--line);
  background:#fff;
}
.home-differentiator-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
}
.home-differentiator-grid>div{
  padding:0 20px;
}
.home-differentiator-grid>div:first-child{padding-left:0}
.home-differentiator-grid>div:last-child{padding-right:0}
.home-differentiator-grid>div+div{border-left:1px solid var(--line)}
.home-differentiator-grid strong{
  display:block;
  margin-bottom:4px;
  color:var(--ink);
  font-size:13px;
}
.home-differentiator-grid span{
  display:block;
  color:var(--muted);
  font-size:11.5px;
  line-height:1.45;
}

/* Shared compact heading for homepage preview sections. */
.home-section-heading{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(300px,.72fr);
  gap:38px;
  align-items:end;
  margin-bottom:22px;
}
.home-section-heading h2{
  margin:5px 0 0;
  color:var(--ink);
}
.home-section-heading>p{
  margin:0;
  color:var(--muted);
  font-size:12.5px;
  line-height:1.6;
}
.home-centered-action{
  display:flex;
  justify-content:center;
  margin-top:20px;
}

/* Services overview replaces many long homepage service sections. */
.home-services-overview{
  padding-top:50px !important;
  padding-bottom:50px !important;
  background:#f7fafc;
}
.home-service-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:14px;
}
.home-service-card{
  position:relative;
  display:flex;
  flex-direction:column;
  min-height:205px;
  padding:20px;
  border:1px solid var(--line);
  border-radius:12px;
  background:#fff;
  text-decoration:none;
  transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease;
}
.home-service-card:hover,
.home-service-card:focus-visible{
  transform:translateY(-2px);
  border-color:#bfd6df;
  box-shadow:0 10px 24px rgba(12,42,72,.06);
}
.home-service-card>span{
  position:absolute;
  right:16px;
  top:12px;
  color:#dbe7ed;
  font-size:28px;
  font-weight:900;
}
.home-service-card h3{
  margin:0 32px 8px 0;
  color:var(--ink);
  font-size:18px;
}
.home-service-card p{
  margin:0 0 16px;
  color:var(--muted);
  font-size:12px;
  line-height:1.55;
}
.home-service-card strong{
  margin-top:auto;
  color:var(--teal);
  font-size:11.5px;
}

/* Proof stays at 3 cards only. */
.home-featured-proof{
  padding-top:48px !important;
  padding-bottom:48px !important;
}

/* 3 ways to work. */
.home-work-models{
  padding-top:46px !important;
  padding-bottom:46px !important;
  background:#fff;
}
.home-work-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:16px;
}
.home-work-grid article{
  position:relative;
  padding:22px;
  border:1px solid var(--line);
  border-radius:12px;
  background:#fff;
}
.home-work-grid article>span{
  position:absolute;
  right:17px;
  top:12px;
  color:#dce8ee;
  font-size:31px;
  font-weight:900;
}
.home-work-grid h3{
  margin:0 34px 8px 0;
  color:var(--ink);
  font-size:19px;
}
.home-work-grid p{
  margin:0 0 14px;
  color:var(--muted);
  font-size:12.5px;
  line-height:1.55;
}
.home-work-grid a{
  color:var(--teal);
  font-size:12px;
  font-weight:900;
}

/* Very compact founder proof, full biographies moved to /about/. */
.home-founder-proof{
  padding-top:48px !important;
  padding-bottom:48px !important;
  background:#f4f8fb;
}
.home-founder-layout{
  display:grid;
  grid-template-columns:minmax(0,1.15fr) minmax(380px,.85fr);
  gap:44px;
  align-items:center;
}
.home-founder-copy h2{
  margin:5px 0 10px;
  color:var(--ink);
}
.home-founder-copy>p{
  color:var(--muted);
  line-height:1.65;
}
.home-founder-people{
  display:grid;
  gap:12px;
}
.home-founder-person{
  display:grid;
  grid-template-columns:74px 1fr;
  gap:14px;
  align-items:center;
  padding:12px;
  border:1px solid var(--line);
  border-radius:12px;
  background:#fff;
  text-decoration:none;
}
.home-founder-person img{
  width:74px;
  height:74px;
  border-radius:10px;
  object-fit:cover;
  object-position:center top;
}
.home-founder-person strong{
  display:block;
  color:var(--ink);
  font-size:15px;
}
.home-founder-person small{
  display:block;
  margin-top:3px;
  color:var(--muted);
  font-size:11.5px;
}

/* Only 3 Insights previews. */
.home-insights-preview{
  padding-top:46px !important;
  padding-bottom:46px !important;
}
.home-insights-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:16px;
}
.home-insights-grid article{
  display:flex;
  flex-direction:column;
  min-height:220px;
  padding:21px;
  border:1px solid var(--line);
  border-radius:12px;
  background:#fff;
}
.home-insights-grid span{
  color:var(--teal);
  font-size:10.5px;
  font-weight:900;
  letter-spacing:.07em;
  text-transform:uppercase;
}
.home-insights-grid h3{
  margin:11px 0 9px;
  color:var(--ink);
  font-size:18px;
  line-height:1.35;
}
.home-insights-grid p{
  margin:0 0 14px;
  color:var(--muted);
  font-size:12px;
  line-height:1.55;
}
.home-insights-grid a{
  margin-top:auto;
  color:var(--teal);
  font-size:12px;
  font-weight:900;
}

/* Final CTA sits directly above the existing contact form. */
.home-contact-intro{
  padding:46px 0;
  background:var(--ink);
}
.home-contact-intro-inner{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:30px;
}
.home-contact-intro h2{
  margin:5px 0 6px;
  color:#fff;
}
.home-contact-intro p:last-child{
  margin:0;
  color:#c2d2df;
}

/* ---------------------------------------------------------
   Dedicated Services / About / Insights pages
   --------------------------------------------------------- */
.hub-page{
  background:#f7fafc;
}
.hub-hero{
  padding:58px 0 48px;
  border-bottom:1px solid var(--line);
  background:#fff;
}
.hub-hero .wrap{
  max-width:1000px;
}
.hub-hero h1{
  max-width:920px;
  margin:6px 0 14px;
  color:var(--ink);
  font-size:clamp(36px,5vw,58px);
  line-height:1.08;
}
.hub-hero>div>p:last-of-type,
.hub-hero .wrap>p:last-of-type{
  max-width:850px;
  margin:0;
  color:var(--muted);
  font-size:17px;
  line-height:1.7;
}
.hub-breadcrumb{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:8px;
  margin-bottom:22px;
  color:var(--muted);
  font-size:11.5px;
}
.hub-breadcrumb a{
  color:var(--teal);
  font-weight:800;
}
.hub-hero-actions{
  display:flex;
  flex-wrap:wrap;
  gap:9px;
  margin-top:22px;
}
.hub-list-section{
  padding-top:48px !important;
  padding-bottom:52px !important;
}
.hub-service-index-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:16px;
}
.hub-service-index-card{
  display:flex;
  flex-direction:column;
  min-height:250px;
  padding:24px;
  border:1px solid var(--line);
  border-radius:13px;
  background:#fff;
  text-decoration:none;
}
.hub-service-index-card>span{
  color:var(--teal);
  font-size:10.5px;
  font-weight:900;
  letter-spacing:.07em;
  text-transform:uppercase;
}
.hub-service-index-card h2{
  margin:12px 0 9px;
  color:var(--ink);
  font-size:23px;
  line-height:1.3;
}
.hub-service-index-card p{
  margin:0 0 17px;
  color:var(--muted);
  font-size:13px;
  line-height:1.6;
}
.hub-service-index-card strong{
  margin-top:auto;
  color:var(--teal);
  font-size:12px;
}
.hub-page-cta{
  padding:40px 0;
  background:var(--ink);
}
.hub-page-cta-inner{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:30px;
}
.hub-page-cta h2{
  margin:5px 0 6px;
  color:#fff;
}
.hub-page-cta p:last-child{
  margin:0;
  color:#c1d2df;
}

.service-detail-content{
  padding-top:48px !important;
  padding-bottom:52px !important;
}
.service-detail-two-col{
  display:grid;
  grid-template-columns:.8fr 1.2fr;
  gap:18px;
}
.service-detail-block{
  padding:25px;
  border:1px solid var(--line);
  border-radius:12px;
  background:#fff;
}
.service-detail-block h2,
.service-outcomes-block h2,
.service-engagement-note h2{
  margin:5px 0 13px;
  color:var(--ink);
}
.hub-check-list{
  margin:0;
  padding:0;
  list-style:none;
}
.hub-check-list li{
  position:relative;
  padding:9px 0 9px 22px;
  border-top:0;
  color:#4d6478;
  font-size:13px;
  line-height:1.5;
}
.hub-check-list li + li{margin-top:4px}
.hub-check-list li::before{
  content:"✓";
  position:absolute;
  left:0;
  color:var(--teal);
  font-weight:900;
}
.service-outcomes-block{
  display:grid;
  grid-template-columns:300px 1fr;
  gap:26px;
  margin-top:18px;
  padding:26px;
  border-radius:13px;
  background:var(--ink);
}
.service-outcomes-block h2{color:#fff}
.service-outcomes-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
}
.service-outcomes-grid>div{
  display:grid;
  grid-template-columns:22px 1fr;
  gap:8px;
  padding:12px;
  border:1px solid rgba(255,255,255,.1);
  border-radius:9px;
  background:rgba(255,255,255,.04);
}
.service-outcomes-grid span{
  color:#61d7d2;
  font-weight:900;
}
.service-outcomes-grid p{
  margin:0;
  color:#d5e1ea;
  font-size:12px;
  line-height:1.5;
}
.service-engagement-note{
  display:grid;
  grid-template-columns:300px 1fr;
  gap:26px;
  align-items:center;
  margin-top:18px;
  padding:24px 26px;
  border:1px solid var(--line);
  border-radius:12px;
  background:#fff;
}
.service-engagement-note>p{
  margin:0;
  color:var(--muted);
  line-height:1.65;
}
.service-related-cases{
  margin-top:34px;
}
.service-related-case-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:12px;
}
.service-related-case-grid a{
  display:flex;
  flex-direction:column;
  min-height:120px;
  padding:17px;
  border:1px solid var(--line);
  border-radius:10px;
  background:#fff;
  text-decoration:none;
}
.service-related-case-grid strong{
  color:var(--ink);
  font-size:13px;
  line-height:1.4;
}
.service-related-case-grid span{
  margin-top:auto;
  padding-top:12px;
  color:var(--teal);
  font-size:11.5px;
  font-weight:900;
}
.text-link-strong{
  align-self:end;
  color:var(--teal);
  font-size:12px;
  font-weight:900;
}
.service-policy-note{
  margin-top:18px;
  padding:18px 20px;
  border-left:3px solid var(--teal);
  background:#eef7f8;
}
.service-policy-note strong{color:var(--ink)}
.service-policy-note p{margin:5px 0 10px;color:var(--muted)}
.service-policy-note a{margin-right:14px;color:var(--teal);font-size:12px;font-weight:800}

.about-value-section,
.about-founders-section,
.about-proof-section{
  padding-top:48px !important;
  padding-bottom:48px !important;
}
.about-value-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:14px;
}
.about-value-grid article{
  position:relative;
  padding:21px;
  border:1px solid var(--line);
  border-radius:12px;
  background:#fff;
}
.about-value-grid article>span{
  position:absolute;
  right:15px;
  top:11px;
  color:#dce7ed;
  font-size:28px;
  font-weight:900;
}
.about-value-grid h2{
  margin:0 28px 8px 0;
  color:var(--ink);
  font-size:18px;
}
.about-value-grid p{
  margin:0;
  color:var(--muted);
  font-size:12px;
  line-height:1.6;
}
.about-founders-section{
  background:#fff;
}
.about-proof-section{
  background:#f4f8fb;
}
.about-proof-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:14px;
}
.about-proof-grid>div{
  text-align:center;
  padding:18px;
}
.about-proof-grid strong{
  display:block;
  color:var(--ink);
  font-size:24px;
}
.about-proof-grid span{
  display:block;
  margin-top:4px;
  color:var(--muted);
  font-size:11.5px;
}

.insights-index-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:16px;
}
.insights-index-card{
  display:flex;
  flex-direction:column;
  min-height:260px;
  padding:22px;
  border:1px solid var(--line);
  border-radius:12px;
  background:#fff;
}
.insights-index-card>span{
  color:var(--teal);
  font-size:10.5px;
  font-weight:900;
  letter-spacing:.07em;
  text-transform:uppercase;
}
.insights-index-card h2{
  margin:12px 0 9px;
  color:var(--ink);
  font-size:20px;
  line-height:1.35;
}
.insights-index-card p{
  margin:0 0 16px;
  color:var(--muted);
  font-size:12.5px;
  line-height:1.6;
}
.insights-index-card a{
  margin-top:auto;
  color:var(--teal);
  font-size:12px;
  font-weight:900;
}

/* Make anchors on the new hub pages land below sticky navigation. */
#founders,#preetham,#nisha{
  scroll-margin-top:110px;
}

@media(max-width:980px){
  .home-service-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .home-founder-layout{grid-template-columns:1fr}
  .home-founder-people{grid-template-columns:repeat(2,minmax(0,1fr))}
  .hub-service-index-grid{grid-template-columns:1fr}
  .about-value-grid,.about-proof-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .insights-index-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .service-detail-two-col,.service-outcomes-block,.service-engagement-note{grid-template-columns:1fr}
}
@media(max-width:760px){
  .home-differentiator-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:0}
  .home-differentiator-grid>div{padding:10px 14px;border-left:0!important}
  .home-differentiator-grid>div:nth-child(odd){padding-left:0}
  .home-differentiator-grid>div:nth-child(even){border-left:1px solid var(--line)!important}
  .home-section-heading{grid-template-columns:1fr;gap:10px}
  .home-work-grid,.home-insights-grid{grid-template-columns:1fr}
  .home-contact-intro-inner,.hub-page-cta-inner{align-items:flex-start;flex-direction:column}
  .service-related-case-grid{grid-template-columns:1fr}
}
@media(max-width:600px){
  .home-service-grid{grid-template-columns:1fr}
  .home-founder-people{grid-template-columns:1fr}
  .about-value-grid,.about-proof-grid,.insights-index-grid{grid-template-columns:1fr}
  .service-outcomes-grid{grid-template-columns:1fr}
  .hub-hero{padding-top:42px;padding-bottom:38px}
}


/* =========================================================
   V6.13.1 FULL-DEPTH SERVICE PAGES
   Homepage stays concise; service pages restore the rich
   detailed content previously presented on the homepage.
   ========================================================= */

.service-full-detail{
  margin-top:30px;
}

.service-detail-section-heading{
  max-width:900px;
  margin:0 0 22px;
}

.service-detail-section-heading h2{
  margin:5px 0 9px;
  color:var(--ink);
  font-size:clamp(28px,4vw,38px);
  line-height:1.15;
}

.service-detail-section-heading>p:last-child{
  margin:0;
  color:var(--muted);
  font-size:14px;
  line-height:1.7;
}

.service-detail-expertise-grid,
.service-detail-card-grid{
  margin-bottom:18px;
}

.service-detail-crosslinks{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:12px;
  margin-top:18px;
}

.service-detail-crosslinks a{
  display:flex;
  flex-direction:column;
  min-height:100px;
  padding:16px;
  border:1px solid var(--line);
  border-radius:10px;
  background:#fff;
  text-decoration:none;
}

.service-detail-crosslinks strong{
  color:var(--ink);
  font-size:13px;
}

.service-detail-crosslinks span{
  margin-top:auto;
  padding-top:12px;
  color:var(--teal);
  font-size:11.5px;
  font-weight:900;
}

.service-data-showcase{
  display:grid;
  gap:24px;
}

.service-data-intro{
  display:grid;
  grid-template-columns:.75fr 1.25fr;
  gap:24px;
  align-items:start;
}

.service-data-intro>div:first-child{
  padding:22px;
  border-radius:12px;
  background:var(--ink);
}

.service-data-intro>div:first-child h3{
  margin:0 0 14px;
  color:#fff;
}

.service-detail-chips span{
  background:rgba(255,255,255,.09);
  color:#d9e7ef;
  border:1px solid rgba(255,255,255,.08);
}

.service-detail-stack-cards{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
}

.service-detail-stack-cards article{
  margin:0;
}

.service-sector-block{
  margin:0;
  padding:26px;
  border:1px solid var(--line);
  border-radius:13px;
  background:#fff;
}

.service-sector-block .eyebrow{
  color:var(--teal);
}

.service-sector-block h3{
  color:var(--ink);
}

.service-sector-block>p{
  color:var(--muted);
}

.service-sector-block .sector-grid article{
  background:#f7fafc;
  border-color:var(--line);
}

.service-sector-block .sector-grid strong{
  color:var(--ink);
}

.service-sector-block .sector-grid span{
  color:var(--muted);
}

.service-tableau-showcase{
  margin:0;
  border-radius:13px;
  overflow:hidden;
}

.life-sciences-detail-grid{
  display:grid;
  grid-template-columns:minmax(320px,.8fr) minmax(0,1.2fr);
  gap:18px;
  align-items:stretch;
}

.life-sciences-detail-grid .regulated-card{
  height:100%;
}

.service-regulated-copy{
  padding:28px;
  border:1px solid var(--line);
  border-radius:12px;
  background:#fff;
}

.service-regulated-copy h3{
  margin:0 0 12px;
  color:var(--ink);
  font-size:24px;
}

.service-regulated-copy p{
  color:var(--muted);
  line-height:1.7;
}

.service-project-group{
  margin-top:22px;
}

.service-project-group + .service-project-group{
  margin-top:34px;
}

.service-procurement-grid,
.service-hosting-grid{
  margin-top:0;
}

.service-procurement-callout,
.service-hosting-commercial{
  margin-top:20px;
}

.procurement-detail-actions{
  display:flex;
  gap:9px;
  flex-wrap:wrap;
}

.service-support-category{
  margin-top:24px;
}

.service-support-category + .service-support-category{
  margin-top:42px;
}

/* Keep the rich detail visually distinct from the generic overview above. */
.service-full-detail{
  padding-top:30px;
  border-top:1px solid var(--line);
}

/* Ongoing support cards retain original full pricing detail. */
.service-full-detail .pricing-grid{
  margin-top:16px;
}

/* Full project catalogue remains readable without excessively wide cards. */
.service-full-detail .project-grid{
  grid-template-columns:repeat(3,minmax(0,1fr));
}

/* Restore detail while keeping dedicated pages easier to scan than the old homepage. */
.service-full-detail .project-grid article,
.service-full-detail .procurement-grid article,
.service-full-detail .hosting-grid article{
  min-height:0;
}

@media(max-width:980px){
  .service-detail-crosslinks{
    grid-template-columns:1fr;
  }

  .service-data-intro,
  .life-sciences-detail-grid{
    grid-template-columns:1fr;
  }

  .service-full-detail .project-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}

@media(max-width:680px){
  .service-detail-stack-cards,
  .service-full-detail .project-grid{
    grid-template-columns:1fr;
  }

  .procurement-detail-actions{
    display:grid;
    grid-template-columns:1fr;
  }

  .procurement-detail-actions .button{
    width:100%;
  }
}


/* =========================================================
   V6.13.2 COMPLETE SERVICE CONTENT & PRICING
   ========================================================= */

/* Pricing is intentionally visible near the top of each detailed service page. */
.service-pricing-overview{
  margin-top:22px;
  padding:24px;
  border:1px solid var(--line);
  border-radius:13px;
  background:#fff;
}

.service-pricing-heading{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(300px,.75fr);
  gap:32px;
  align-items:end;
  margin-bottom:18px;
}

.service-pricing-heading h2{
  margin:5px 0 0;
  color:var(--ink);
  font-size:26px;
  line-height:1.2;
}

.service-pricing-heading>p{
  margin:0;
  color:var(--muted);
  font-size:12px;
  line-height:1.6;
}

.service-pricing-grid{
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:10px;
}

.service-pricing-grid--four{
  grid-template-columns:repeat(4,minmax(0,1fr));
}

.service-pricing-grid--three{
  grid-template-columns:repeat(3,minmax(0,1fr));
}

.service-pricing-grid article{
  display:flex;
  flex-direction:column;
  min-height:170px;
  padding:16px;
  border:1px solid var(--line);
  border-radius:10px;
  background:#f8fbfc;
}

.service-pricing-grid article>span:first-child{
  color:var(--teal);
  font-size:9.5px;
  font-weight:900;
  line-height:1.3;
  letter-spacing:.06em;
  text-transform:uppercase;
}

.service-pricing-grid h3{
  margin:9px 0 6px;
  color:var(--ink);
  font-size:18px;
  line-height:1.2;
}

.service-pricing-grid h3 span{
  color:var(--muted);
  font-size:10px;
  font-weight:700;
}

.service-pricing-grid p{
  margin:0 0 12px;
  color:var(--muted);
  font-size:11px;
  line-height:1.5;
}

.service-pricing-grid a{
  margin-top:auto;
  color:var(--teal);
  font-size:10.5px;
  font-weight:900;
}

.service-pricing-group + .service-pricing-group{
  margin-top:20px;
  padding-top:18px;
  border-top:1px solid var(--line);
}

.service-pricing-group>h3{
  margin:0 0 10px;
  color:var(--ink);
  font-size:14px;
}

.service-pricing-summary-strip{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  border:1px solid var(--line);
  border-radius:10px;
  overflow:hidden;
}

.service-pricing-summary-strip>div{
  padding:15px;
  background:#f8fbfc;
}

.service-pricing-summary-strip>div+div{
  border-left:1px solid var(--line);
}

.service-pricing-summary-strip strong{
  display:block;
  margin-bottom:4px;
  color:var(--ink);
  font-size:11px;
}

.service-pricing-summary-strip span{
  color:var(--teal);
  font-size:12px;
  font-weight:900;
}

.service-pricing-note{
  margin:10px 0 0;
  color:var(--muted);
  font-size:11.5px;
}

/* Restored V6.12.9 infrastructure section now lives inside Technology & IT. */
.service-restored-divider{
  display:flex;
  align-items:center;
  gap:12px;
  margin:36px 0 20px;
  color:var(--ink);
  font-size:11px;
  font-weight:900;
  letter-spacing:.08em;
  text-transform:uppercase;
}

.service-restored-divider::before,
.service-restored-divider::after{
  content:"";
  flex:1;
  height:1px;
  background:var(--line);
}

.service-infrastructure-restored{
  margin:0;
  padding:30px 0 10px;
  border-radius:14px;
  background:#f7fafc;
}

.service-infrastructure-restored>.wrap{
  width:100% !important;
  max-width:none !important;
  padding-left:24px;
  padding-right:24px;
}

.service-infrastructure-restored .infrastructure-heading{
  max-width:900px;
  margin-left:auto !important;
  margin-right:auto !important;
}

.service-infrastructure-restored .infra-cta{
  margin-bottom:0;
}

/* Services index now carries the pre-V6.13 Why EaseThat proof. */
.services-index-trust{
  margin-top:0;
}

.services-index-why{
  padding-top:50px !important;
  padding-bottom:52px !important;
  background:#fff;
}

.services-index-why .why-grid{
  margin-top:24px;
}

/* Preserve legibility in detailed service pages. */
.service-full-detail{
  margin-top:28px;
}

@media(max-width:1100px){
  .service-pricing-grid{
    grid-template-columns:repeat(3,minmax(0,1fr));
  }

  .service-pricing-grid--four{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}

@media(max-width:850px){
  .service-pricing-heading{
    grid-template-columns:1fr;
    gap:10px;
  }

  .service-pricing-summary-strip{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }

  .service-pricing-summary-strip>div:nth-child(3){
    border-left:0;
    border-top:1px solid var(--line);
  }

  .service-pricing-summary-strip>div:nth-child(4){
    border-top:1px solid var(--line);
  }
}

@media(max-width:650px){
  .service-pricing-grid,
  .service-pricing-grid--four,
  .service-pricing-grid--three{
    grid-template-columns:1fr;
  }

  .service-pricing-grid article{
    min-height:0;
  }

  .service-pricing-summary-strip{
    grid-template-columns:1fr;
  }

  .service-pricing-summary-strip>div+div,
  .service-pricing-summary-strip>div:nth-child(3),
  .service-pricing-summary-strip>div:nth-child(4){
    border-left:0;
    border-top:1px solid var(--line);
  }

  .service-infrastructure-restored>.wrap{
    padding-left:14px;
    padding-right:14px;
  }
}


/* =========================================================
   V6.13.3 VISUAL COLOUR RESTORATION
   V6.12.9 is the visual reference for migrated service content.
   ========================================================= */

/* ---------------------------------------------------------
   DATA & ANALYTICS
   V6.12.9 placed the full Data section on:
   linear-gradient(135deg,#04172f,#0a3563)
   Restore that context so the Tableau and sector content regain
   their intended contrast.
   --------------------------------------------------------- */
.service-data-analytics .service-data-showcase{
  padding:34px;
  border-radius:16px;
  background:linear-gradient(135deg,#04172f,#0a3563);
  color:#fff;
  box-shadow:0 18px 46px rgba(6,27,58,.14);
}

.service-data-analytics .service-data-intro{
  gap:34px;
}

.service-data-analytics .service-data-intro>div:first-child{
  padding:0;
  border-radius:0;
  background:transparent;
}

.service-data-analytics .service-data-intro>div:first-child h3{
  color:#fff;
  font-size:27px;
}

.service-data-analytics .service-detail-chips{
  margin-top:18px;
}

.service-data-analytics .service-detail-chips span{
  border:1px solid rgba(255,255,255,.18);
  background:rgba(255,255,255,.06);
  color:#fff;
}

.service-data-analytics .service-detail-stack-cards article{
  background:#fff;
  color:var(--ink);
  box-shadow:0 10px 30px rgba(0,0,0,.08);
}

.service-data-analytics .service-detail-stack-cards h3{
  color:var(--ink);
}

.service-data-analytics .service-detail-stack-cards p{
  color:var(--muted);
}

/* Restore the exact V6.12.9 dark sector treatment rather than
   the white panel introduced during the page migration. */
.service-data-analytics .service-sector-block{
  margin-top:16px;
  padding:40px 0 0;
  border:0;
  border-top:1px solid rgba(255,255,255,.14);
  border-radius:0;
  background:transparent;
}

.service-data-analytics .service-sector-block .eyebrow{
  color:#84ded8;
}

.service-data-analytics .service-sector-block h3{
  margin:0 0 10px;
  color:#fff;
  font-size:30px;
  line-height:1.2;
  letter-spacing:-.025em;
}

.service-data-analytics .service-sector-block>p{
  margin:0 0 24px;
  max-width:850px;
  color:#c8d6e4;
}

.service-data-analytics .service-sector-block .sector-grid article{
  padding:20px;
  border:1px solid rgba(255,255,255,.14);
  border-radius:9px;
  background:rgba(255,255,255,.07);
}

.service-data-analytics .service-sector-block .sector-grid strong{
  color:#fff;
}

.service-data-analytics .service-sector-block .sector-grid span{
  color:#c9d7e4;
}

/* Tableau panel: original V6.12.9 translucent panel on the dark
   Data background. This directly fixes the washed-out screenshot. */
.service-data-analytics .service-tableau-showcase{
  margin-top:34px;
  border:1px solid rgba(255,255,255,.14);
  border-radius:20px;
  background:linear-gradient(140deg,rgba(255,255,255,.06),rgba(255,255,255,.03));
  overflow:hidden;
  box-shadow:0 18px 50px rgba(0,0,0,.22);
}

.service-data-analytics .service-tableau-showcase .tableau-visual{
  background:linear-gradient(160deg,rgba(255,255,255,.04),rgba(255,255,255,.02));
}

.service-data-analytics .service-tableau-showcase .tableau-copy h3{
  color:#fff;
}

.service-data-analytics .service-tableau-showcase .tableau-copy>p:not(.eyebrow):not(.tableau-note){
  color:#ccdae7;
}

.service-data-analytics .service-tableau-showcase .tableau-bullets li{
  color:#deebf5;
}

.service-data-analytics .service-tableau-showcase .tableau-note{
  color:#9fb7ca;
}

.service-data-analytics .service-tableau-showcase .button.outline{
  border-color:rgba(255,255,255,.6);
  color:#fff;
  background:transparent;
}

.service-data-analytics .service-tableau-showcase .button.outline:hover,
.service-data-analytics .service-tableau-showcase .button.outline:focus-visible{
  border-color:#fff;
  background:rgba(255,255,255,.08);
  color:#fff;
}

/* ---------------------------------------------------------
   TECHNOLOGY & IT / INFRASTRUCTURE
   Preserve V6.12.9's white Technology content plus the exact
   soft radial/white Infrastructure treatment.
   --------------------------------------------------------- */
.service-technology-it .service-full-detail{
  padding:30px;
  border:1px solid var(--line);
  border-radius:16px;
  background:#fff;
}

.service-technology-it .service-infrastructure-restored{
  background:
    radial-gradient(circle at 82% 12%,rgba(7,169,166,.08),transparent 28%),
    linear-gradient(180deg,#f7fafc 0%,#ffffff 100%);
}

/* ---------------------------------------------------------
   LIFE SCIENCES
   V6.12.9 used a clean white section with the dark regulated
   specialist card as the visual anchor.
   --------------------------------------------------------- */
.service-life-sciences .service-full-detail{
  padding:30px;
  border:1px solid var(--line);
  border-radius:16px;
  background:#fff;
}

.service-life-sciences .service-regulated-copy{
  border-color:transparent;
  background:#fff;
}

/* The regulated card already retains the original V6.12.9 navy
   gradient. Reinforce the intended light typography. */
.service-life-sciences .regulated-card{
  background:linear-gradient(145deg,#04172f,#0a3c6d);
  color:#fff;
}

.service-life-sciences .regulated-card h2,
.service-life-sciences .regulated-card h3{
  color:#fff;
}

.service-life-sciences .regulated-card p,
.service-life-sciences .regulated-card li{
  color:#ccdae6;
}

/* ---------------------------------------------------------
   PROJECT SERVICES
   V6.12.9 used .soft-alt:
   linear-gradient(180deg,#fbfcfd,#f1f6f9)
   --------------------------------------------------------- */
.service-project-services .service-full-detail{
  padding:30px;
  border:1px solid var(--line);
  border-radius:16px;
  background:linear-gradient(180deg,#fbfcfd,#f1f6f9);
}

.service-project-services .service-project-group .project-grid article{
  background:#fff;
}

/* Data project cards keep their original subtle cool variation. */
.service-project-services .data-project-group .project-grid article{
  background:linear-gradient(180deg,#ffffff,#f7fbfc);
}

/* ---------------------------------------------------------
   PROCUREMENT
   V6.12.9 procurement section was white, with very subtle
   white-to-soft card gradients and a dark navy callout.
   --------------------------------------------------------- */
.service-procurement .service-full-detail{
  padding:30px;
  border:1px solid var(--line);
  border-radius:16px;
  background:#fff;
}

.service-procurement .service-procurement-grid article{
  background:linear-gradient(180deg,#ffffff,#f8fbfc);
}

.service-procurement .service-procurement-callout{
  background:linear-gradient(100deg,#04172f,#0b3e72);
  color:#fff;
}

.service-procurement .service-procurement-callout strong{
  color:#fff;
}

.service-procurement .service-procurement-callout p{
  color:#cbd8e5;
}

/* ---------------------------------------------------------
   MANAGED WEBSITE HOSTING
   V6.12.9 hosting used a white-to-soft gradient and a dark
   navy commercial panel.
   --------------------------------------------------------- */
.service-managed-hosting .service-full-detail{
  padding:30px;
  border:1px solid var(--line);
  border-radius:16px;
  background:linear-gradient(180deg,#ffffff 0%,#f6f9fb 100%);
}

.service-managed-hosting .service-hosting-grid article{
  background:#fff;
}

.service-managed-hosting .service-hosting-commercial{
  background:linear-gradient(135deg,var(--navy),#0a4668);
  color:#fff;
}

.service-managed-hosting .service-hosting-commercial h3{
  color:#fff;
}

.service-managed-hosting .service-hosting-commercial p{
  color:#cbdbe6;
}

/* ---------------------------------------------------------
   ONGOING SUPPORT
   V6.12.9 used the site's soft background behind the pricing
   cards, with white cards and teal-highlighted featured plans.
   --------------------------------------------------------- */
.service-ongoing-support .service-full-detail{
  padding:30px;
  border:1px solid var(--line);
  border-radius:16px;
  background:var(--soft);
}

.service-ongoing-support .price-card{
  background:#fff;
}

.service-ongoing-support .price-card.featured{
  border-color:var(--teal);
  background:#fff;
}

/* ---------------------------------------------------------
   SERVICES INDEX / WHY EASETHAT
   Keep the original clean white V6.12.9 treatment.
   --------------------------------------------------------- */
.services-index-why{
  background:#fff;
}

.services-index-why .why-grid article{
  background:#fff;
}

/* ---------------------------------------------------------
   NEW V6.13 COMPONENTS
   Pricing / Who / What did not exist in V6.12.9. Keep them
   neutral so they complement rather than override the restored
   service-specific colour blocks.
   --------------------------------------------------------- */
.service-detail-page .service-pricing-overview,
.service-detail-page .service-detail-block{
  background:#fff;
}

.service-detail-page .service-outcomes-block{
  background:var(--ink);
}

/* Prevent new full-detail panel padding from making the embedded
   Infrastructure block feel double-boxed on smaller screens. */
@media(max-width:980px){
  .service-data-analytics .service-data-showcase,
  .service-technology-it .service-full-detail,
  .service-life-sciences .service-full-detail,
  .service-project-services .service-full-detail,
  .service-procurement .service-full-detail,
  .service-managed-hosting .service-full-detail,
  .service-ongoing-support .service-full-detail{
    padding:22px;
  }

  .service-data-analytics .service-sector-block{
    padding-top:32px;
  }
}

@media(max-width:600px){
  .service-data-analytics .service-data-showcase,
  .service-technology-it .service-full-detail,
  .service-life-sciences .service-full-detail,
  .service-project-services .service-full-detail,
  .service-procurement .service-full-detail,
  .service-managed-hosting .service-full-detail,
  .service-ongoing-support .service-full-detail{
    padding:16px;
    border-radius:12px;
  }

  .service-data-analytics .service-sector-block h3{
    font-size:26px;
  }
}


/* V6.13.4: remove checklist divider lines on service detail cards */
.service-detail-page .hub-check-list li{border-top:0 !important;}
.service-detail-page .hub-check-list li + li{margin-top:4px;}


/* V6.13.5: service page hero alignment + home-page colour match */
.service-detail-page{
  background:#f7fafc;
}
.service-detail-page .service-hub-hero{
  background:#f7fafc;
  padding:54px 0 52px;
  border-bottom:1px solid var(--line);
}
.service-detail-page .service-hub-hero .wrap{
  max-width:1200px;
}
.service-detail-page .service-hub-hero .hub-breadcrumb,
.service-detail-page .service-hub-hero .eyebrow,
.service-detail-page .service-hub-hero h1,
.service-detail-page .service-hub-hero > .wrap > p:last-of-type,
.service-detail-page .service-hub-hero .hub-hero-actions{
  max-width:920px;
}
.service-detail-page .service-hub-hero h1{
  margin:8px 0 18px;
}
.service-detail-page .service-hub-hero > .wrap > p:last-of-type{
  max-width:860px;
}
@media(max-width:600px){
  .service-detail-page .service-hub-hero{
    padding:42px 0 40px;
  }
}


/* =========================================================
   V6.13.6 SERVICE HERO POLISH
   Tighter spacing, quieter breadcrumb and better CTA rhythm.
   ========================================================= */

.service-detail-page .service-hub-hero{
  padding:42px 0 44px;
}

/* Breadcrumb should orient the visitor without competing with the service title. */
.service-detail-page .service-hub-hero .hub-breadcrumb{
  gap:6px;
  margin-bottom:17px;
  color:#8493a3;
  font-size:10px;
  font-weight:600;
  line-height:1.4;
}

.service-detail-page .service-hub-hero .hub-breadcrumb a{
  color:#607386;
  font-weight:700;
}

.service-detail-page .service-hub-hero .hub-breadcrumb a:hover,
.service-detail-page .service-hub-hero .hub-breadcrumb a:focus-visible{
  color:var(--teal);
}

/* Bring the eyebrow, title and supporting copy together as one visual group. */
.service-detail-page .service-hub-hero .eyebrow{
  margin-bottom:9px;
  font-size:11px;
}

.service-detail-page .service-hub-hero h1{
  max-width:900px;
  margin:0 0 13px;
  font-size:clamp(38px,4.5vw,56px);
  line-height:1.08;
}

.service-detail-page .service-hub-hero > .wrap > p:last-of-type{
  max-width:820px;
  font-size:16px;
  line-height:1.65;
}

/* CTA now sits closer to the introduction instead of floating below it. */
.service-detail-page .service-hub-hero .hub-hero-actions{
  margin-top:17px;
  gap:10px;
}

.service-detail-page .service-hub-hero .hub-hero-actions .button{
  min-height:48px;
  padding:13px 20px;
}

/* Procurement has multiple actions; keep them balanced on one visual line. */
.service-procurement .service-hub-hero .hub-hero-actions{
  align-items:center;
}

@media(max-width:760px){
  .service-detail-page .service-hub-hero{
    padding:36px 0 38px;
  }

  .service-detail-page .service-hub-hero .hub-breadcrumb{
    margin-bottom:14px;
  }

  .service-detail-page .service-hub-hero h1{
    font-size:clamp(34px,9vw,46px);
  }

  .service-detail-page .service-hub-hero > .wrap > p:last-of-type{
    font-size:15px;
  }
}

@media(max-width:520px){
  .service-detail-page .service-hub-hero .hub-hero-actions{
    display:grid;
    grid-template-columns:1fr;
  }

  .service-detail-page .service-hub-hero .hub-hero-actions .button{
    width:100%;
    justify-content:center;
  }
}

/* =========================================================
   V6.13.57 CUSTOMER QUOTATION & INVOICE DOCUMENT CENTRE
   ========================================================= */

.easethat-current-document-note{
  display:grid;
  gap:3px;
  margin:0 0 15px;
  padding:12px 14px;
  border:1px solid #cfe4e4;
  border-left:4px solid var(--teal);
  border-radius:8px;
  background:#f1fbfa;
}

.easethat-current-document-note strong{
  color:var(--navy);
  font-size:11px;
}

.easethat-current-document-note span{
  color:#5d7485;
  font-size:10.5px;
  line-height:1.5;
}

.easethat-document-revision{
  display:block;
  margin-top:3px;
  color:#6b8191;
  font-size:9px;
  font-weight:750;
}

.easethat-document-actions,
.quote-actions-cell{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:7px;
}

.easethat-document-download{
  color:var(--teal)!important;
  font-size:9.5px;
  font-weight:850;
  white-space:nowrap;
}

.account-quotes-table .quote-actions-cell .button,
.easethat-account-table .easethat-document-actions .button{
  min-height:32px;
  padding:7px 10px!important;
  font-size:9.5px!important;
  white-space:nowrap;
}

.easethat-customer-documents-v61357{
  padding:20px;
  border:1px solid #d9e4e9;
  border-radius:11px;
  background:#fff;
}

.easethat-customer-document-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:13px;
}

.easethat-customer-document-panel{
  min-width:0;
  padding:15px;
  border:1px solid #dde7eb;
  border-radius:9px;
  background:#fbfcfd;
}

.easethat-customer-document-panel-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin-bottom:10px;
}

.easethat-customer-document-panel-head h3{
  margin:0;
  color:var(--navy);
  font-size:15px;
}

.easethat-customer-document-panel-head>a{
  color:var(--teal);
  font-size:9.5px;
  font-weight:850;
  white-space:nowrap;
}

.easethat-customer-document-list{
  display:grid;
  gap:1px;
  margin:0;
  padding:0;
  border-radius:7px;
  background:#e0e9ed;
  list-style:none;
  overflow:hidden;
}

.easethat-customer-document-list li{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:center;
  gap:7px 12px;
  padding:11px;
  background:#fff;
}

.easethat-customer-document-list li>div:first-child{
  min-width:0;
}

.easethat-customer-document-list li strong{
  display:block;
  color:var(--navy);
  font-size:10.8px;
}

.easethat-customer-document-list li>div:first-child span{
  display:block;
  margin-top:2px;
  color:#6a8090;
  font-size:9px;
}

.easethat-customer-document-list .easethat-document-actions{
  grid-column:1/-1;
}

.easethat-customer-document-list .easethat-document-actions a{
  color:var(--teal);
  font-size:9.5px;
  font-weight:850;
}

@media(max-width:800px){
  .easethat-customer-document-grid{
    grid-template-columns:1fr;
  }
}

@media(max-width:520px){
  .easethat-customer-documents-v61357{
    padding:14px;
  }

  .easethat-customer-document-list li{
    grid-template-columns:1fr;
  }

  .easethat-customer-document-list .easethat-document-actions{
    grid-column:auto;
  }
}


/* =========================================================
   V6.13.7 SERVICE HERO — HOME HERO BACKGROUND APPLIED
   Uses the same blue wave background language as the home page
   and tightens the visual structure on all service detail pages.
   ========================================================= */

.service-detail-page .service-hub-hero{
  position:relative;
  overflow:hidden;
  background:var(--navy);
  border-bottom:0;
  padding:68px 0 72px;
  color:#fff;
}

.service-detail-page .service-hub-hero::before{
  content:"";
  position:absolute;
  inset:0;
  background:url("assets/hero-wave-clean.webp") 72% center/cover no-repeat;
  opacity:.90;
  transform:scale(1.02);
}

.service-detail-page .service-hub-hero::after{
  content:"";
  position:absolute;
  inset:0;
  background:
    radial-gradient(circle at 70% 50%,rgba(0,196,200,.08),transparent 33%),
    linear-gradient(90deg,#03162f 0%,rgba(3,22,47,.99) 35%,rgba(3,22,47,.76) 60%,rgba(3,22,47,.24) 100%);
}

.service-detail-page .service-hub-hero .wrap{
  position:relative;
  z-index:2;
  max-width:1200px;
}

.service-detail-page .service-hub-hero .hub-breadcrumb,
.service-detail-page .service-hub-hero .eyebrow,
.service-detail-page .service-hub-hero h1,
.service-detail-page .service-hub-hero > .wrap > p:last-of-type,
.service-detail-page .service-hub-hero .hub-hero-actions{
  max-width:760px;
}

.service-detail-page .service-hub-hero .hub-breadcrumb{
  gap:6px;
  margin-bottom:18px;
  color:#c4d2e0;
  font-size:10.5px;
  font-weight:700;
  line-height:1.45;
}

.service-detail-page .service-hub-hero .hub-breadcrumb a{
  color:#72e4db;
  font-weight:800;
}

.service-detail-page .service-hub-hero .hub-breadcrumb a:hover,
.service-detail-page .service-hub-hero .hub-breadcrumb a:focus-visible{
  color:#a5efe8;
}

.service-detail-page .service-hub-hero .eyebrow{
  margin:0 0 12px;
  color:#72e4db;
  font-size:12px;
  font-weight:900;
  letter-spacing:.14em;
  text-transform:uppercase;
}

.service-detail-page .service-hub-hero h1{
  max-width:840px;
  margin:0 0 18px;
  color:#fff;
  font-size:clamp(42px,5.2vw,64px);
  line-height:1.03;
  letter-spacing:-.045em;
}

.service-detail-page .service-hub-hero > .wrap > p:last-of-type{
  max-width:760px;
  margin:0;
  color:#e7eef6;
  font-size:18px;
  line-height:1.6;
}

.service-detail-page .service-hub-hero .hub-hero-actions{
  display:flex;
  flex-wrap:wrap;
  gap:16px;
  margin-top:26px;
}

.service-detail-page .service-hub-hero .hub-hero-actions .button{
  min-height:50px;
  padding:14px 22px;
}

.service-detail-page .service-hub-hero .hub-hero-actions .button.secondary{
  background:rgba(255,255,255,.03);
  border-color:rgba(255,255,255,.72);
  color:#fff;
}

.service-detail-page .service-hub-hero .hub-hero-actions .button.secondary:hover{
  background:rgba(255,255,255,.10);
}

@media(max-width:900px){
  .service-detail-page .service-hub-hero{
    padding:54px 0 58px;
  }

  .service-detail-page .service-hub-hero h1{
    font-size:clamp(38px,7vw,54px);
  }

  .service-detail-page .service-hub-hero > .wrap > p:last-of-type{
    font-size:17px;
  }
}

@media(max-width:760px){
  .service-detail-page .service-hub-hero{
    padding:42px 0 46px;
  }

  .service-detail-page .service-hub-hero .hub-breadcrumb,
  .service-detail-page .service-hub-hero .eyebrow,
  .service-detail-page .service-hub-hero h1,
  .service-detail-page .service-hub-hero > .wrap > p:last-of-type,
  .service-detail-page .service-hub-hero .hub-hero-actions{
    max-width:none;
  }

  .service-detail-page .service-hub-hero h1{
    font-size:clamp(34px,9vw,46px);
    margin-bottom:14px;
  }

  .service-detail-page .service-hub-hero > .wrap > p:last-of-type{
    font-size:16px;
  }

  .service-detail-page .service-hub-hero .hub-hero-actions{
    margin-top:20px;
    gap:12px;
  }
}

@media(max-width:520px){
  .service-detail-page .service-hub-hero::before{
    background-position:64% center;
  }

  .service-detail-page .service-hub-hero .hub-hero-actions{
    display:grid;
    grid-template-columns:1fr;
  }

  .service-detail-page .service-hub-hero .hub-hero-actions .button{
    width:100%;
    justify-content:center;
  }
}


/* =========================================================
   V6.13.8 SERVICES LANDING PAGE + CLEANER NAVIGATION
   Services text opens /services/; caret opens the dropdown.
   Breadcrumbs are intentionally removed from service pages.
   ========================================================= */

/* Split the Services navigation item into a landing-page link + menu caret. */
.nav-dropdown--services .services-nav-trigger{
  position:relative;
  display:flex;
  align-items:center;
  align-self:stretch;
  height:100%;
}

.nav-links .services-menu-link{
  display:flex;
  align-items:center;
  align-self:stretch;
  padding:39px 0 35px;
  position:relative;
  color:#19314f;
  font-weight:700;
  white-space:nowrap;
}

.nav-links .services-menu-link::after{
  content:"";
  position:absolute;
  left:50%;
  right:50%;
  bottom:0;
  height:3px;
  background:linear-gradient(90deg,var(--teal),var(--teal-2));
  transition:.22s;
}

.nav-dropdown--services:hover .services-menu-link::after,
.nav-dropdown--services:focus-within .services-menu-link::after,
.nav-links .services-menu-link.active::after{
  left:0;
  right:0;
}

.nav-dropdown--services .services-caret-toggle{
  width:24px;
  height:100%;
  min-height:0;
  padding:0 0 0 7px;
  justify-content:center;
  flex:0 0 24px;
}

.nav-dropdown--services .services-caret-toggle::after{
  display:none;
}

/* The /services/ landing page gets the same hero treatment as child services. */
.services-index-page .services-index-hero{
  position:relative;
  overflow:hidden;
  padding:68px 0 72px;
  border-bottom:0;
  background:var(--navy);
  color:#fff;
}

.services-index-page .services-index-hero::before{
  content:"";
  position:absolute;
  inset:0;
  background:url("assets/hero-wave-clean.webp") 72% center/cover no-repeat;
  opacity:.90;
  transform:scale(1.02);
}

.services-index-page .services-index-hero::after{
  content:"";
  position:absolute;
  inset:0;
  background:
    radial-gradient(circle at 70% 50%,rgba(0,196,200,.08),transparent 33%),
    linear-gradient(90deg,#03162f 0%,rgba(3,22,47,.99) 35%,rgba(3,22,47,.76) 60%,rgba(3,22,47,.24) 100%);
}

.services-index-page .services-index-hero .wrap{
  position:relative;
  z-index:2;
  max-width:1200px;
}

.services-index-page .services-index-hero .eyebrow,
.services-index-page .services-index-hero h1,
.services-index-page .services-index-hero > .wrap > p:last-of-type,
.services-index-page .services-index-hero .hub-hero-actions{
  max-width:760px;
}

.services-index-page .services-index-hero .eyebrow{
  margin:0 0 12px;
  color:#72e4db;
}

.services-index-page .services-index-hero h1{
  max-width:840px;
  margin:0 0 18px;
  color:#fff;
  font-size:clamp(42px,5.2vw,64px);
  line-height:1.03;
  letter-spacing:-.045em;
}

.services-index-page .services-index-hero > .wrap > p:last-of-type{
  margin:0;
  color:#e7eef6;
  font-size:18px;
  line-height:1.6;
}

.services-index-page .services-index-hero .hub-hero-actions{
  display:flex;
  flex-wrap:wrap;
  gap:16px;
  margin-top:26px;
}

.services-index-page .services-index-hero .hub-hero-actions .button{
  min-height:50px;
  padding:14px 22px;
}

/* With Services itself acting as the landing page, service breadcrumbs are not needed. */
.service-detail-page .service-hub-hero .hub-breadcrumb{
  display:none;
}

/* Make the service list anchor land below the sticky header. */
#service-list{
  scroll-margin-top:110px;
}

@media(max-width:1080px){
  .nav-dropdown--services .services-nav-trigger{
    width:100%;
    min-height:44px;
  }

  .nav-links .services-menu-link{
    flex:1 1 auto;
    min-height:44px;
    padding:7px 0 !important;
  }

  .nav-links .services-menu-link::after{
    display:none;
  }

  .nav-dropdown--services .services-caret-toggle{
    width:44px;
    min-height:44px;
    height:44px;
    padding:7px;
    flex:0 0 44px;
  }
}

@media(max-width:900px){
  .services-index-page .services-index-hero{
    padding:54px 0 58px;
  }

  .services-index-page .services-index-hero h1{
    font-size:clamp(38px,7vw,54px);
  }

  .services-index-page .services-index-hero > .wrap > p:last-of-type{
    font-size:17px;
  }
}

@media(max-width:760px){
  .services-index-page .services-index-hero{
    padding:42px 0 46px;
  }

  .services-index-page .services-index-hero .eyebrow,
  .services-index-page .services-index-hero h1,
  .services-index-page .services-index-hero > .wrap > p:last-of-type,
  .services-index-page .services-index-hero .hub-hero-actions{
    max-width:none;
  }

  .services-index-page .services-index-hero h1{
    font-size:clamp(34px,9vw,46px);
    margin-bottom:14px;
  }

  .services-index-page .services-index-hero > .wrap > p:last-of-type{
    font-size:16px;
  }
}

@media(max-width:520px){
  .services-index-page .services-index-hero::before{
    background-position:64% center;
  }

  .services-index-page .services-index-hero .hub-hero-actions{
    display:grid;
    grid-template-columns:1fr;
  }

  .services-index-page .services-index-hero .hub-hero-actions .button{
    width:100%;
    justify-content:center;
  }
}


/* =========================================================
   V6.13.9 UNIFIED BLUE WAVE HERO SYSTEM
   Left-aligned for readability, but every hero uses the same
   centred 1200px content grid as the rest of the site.
   ========================================================= */

:root{
  --brand-hero-copy-width:800px;
}

/* Shared container alignment. Do not fully justify hero text:
   the wave image intentionally owns the visual space on the right. */
.simplified-hero .hero-content,
.service-detail-page .service-hub-hero .wrap,
.services-index-page .services-index-hero .wrap,
.brand-wave-hero .wrap{
  width:min(1200px,calc(100% - 40px));
  max-width:1200px;
  margin-left:auto;
  margin-right:auto;
}

/* Home hero now follows the same copy width as the other primary heroes. */
.simplified-hero .hero-copy{
  width:100%;
  max-width:var(--brand-hero-copy-width) !important;
}

/* Services already use the wave image; standardise their text measure. */
.service-detail-page .service-hub-hero .eyebrow,
.service-detail-page .service-hub-hero h1,
.service-detail-page .service-hub-hero > .wrap > p:last-of-type,
.service-detail-page .service-hub-hero .hub-hero-actions,
.services-index-page .services-index-hero .eyebrow,
.services-index-page .services-index-hero h1,
.services-index-page .services-index-hero > .wrap > p:last-of-type,
.services-index-page .services-index-hero .hub-hero-actions{
  width:100%;
  max-width:var(--brand-hero-copy-width);
}

/* Generic wave hero reused across Case Studies, Insights, Company, Shop and Account. */
.brand-wave-hero{
  position:relative;
  overflow:hidden;
  padding:68px 0 72px;
  border:0;
  background:var(--navy);
  color:#fff;
}

.brand-wave-hero::before{
  content:"";
  position:absolute;
  inset:0;
  background:url("assets/hero-wave-clean.webp") 72% center/cover no-repeat;
  opacity:.90;
  transform:scale(1.02);
  pointer-events:none;
}

.brand-wave-hero::after{
  content:"";
  position:absolute;
  inset:0;
  background:
    radial-gradient(circle at 70% 50%,rgba(0,196,200,.08),transparent 33%),
    linear-gradient(90deg,#03162f 0%,rgba(3,22,47,.99) 35%,rgba(3,22,47,.76) 60%,rgba(3,22,47,.24) 100%);
  pointer-events:none;
}

.brand-wave-hero .wrap{
  position:relative;
  z-index:2;
}

.brand-wave-hero .eyebrow,
.brand-wave-hero h1,
.brand-wave-hero > .wrap > p:last-of-type,
.brand-wave-hero .hub-hero-actions,
.brand-wave-hero .shop-hero-actions,
.brand-wave-hero .case-detail-hero{
  width:100%;
  max-width:var(--brand-hero-copy-width);
}

.brand-wave-hero .eyebrow{
  margin:0 0 12px;
  color:#72e4db;
}

.brand-wave-hero h1,
.brand-wave-hero .case-detail-hero h1{
  margin:0 0 18px;
  color:#fff;
  font-size:clamp(42px,5.2vw,64px);
  line-height:1.03;
  letter-spacing:-.045em;
}

.brand-wave-hero > .wrap > p:last-of-type,
.brand-wave-hero .case-detail-hero > p{
  margin:0;
  max-width:760px;
  color:#e7eef6;
  font-size:18px;
  line-height:1.6;
}

.brand-hero-breadcrumb{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:7px;
  max-width:var(--brand-hero-copy-width);
  margin:0 0 17px;
  color:#c4d2e0;
  font-size:10.5px;
  font-weight:700;
}

.brand-hero-breadcrumb a{
  color:#72e4db;
  font-weight:850;
}

.brand-hero-breadcrumb a:hover,
.brand-hero-breadcrumb a:focus-visible{
  color:#a5efe8;
}

/* Main Hub pages: override their previous white Hub hero treatment. */
.about-hub-page .about-page-hero,
.insights-index-page .insights-page-hero{
  padding:68px 0 72px;
  border-bottom:0;
  background:var(--navy);
}

.about-hub-page .about-page-hero .wrap,
.insights-index-page .insights-page-hero .wrap{
  max-width:1200px;
}

.about-hub-page .about-page-hero h1,
.insights-index-page .insights-page-hero h1{
  max-width:var(--brand-hero-copy-width);
  margin:0 0 18px;
  color:#fff;
  font-size:clamp(42px,5.2vw,64px);
  line-height:1.03;
  letter-spacing:-.045em;
}

.about-hub-page .about-page-hero > .wrap > p:last-of-type,
.insights-index-page .insights-page-hero > .wrap > p:last-of-type{
  max-width:760px;
  color:#e7eef6;
  font-size:18px;
}

/* Case studies */
.case-studies-page,
.case-study-detail{
  background:#f7fafc;
}

.case-studies-index-content,
.case-study-detail-content{
  background:#f7fafc;
}

.case-studies-index-hero .wrap>p:last-of-type{
  max-width:780px;
}

.case-study-detail-hero-section .case-detail-meta{
  margin-bottom:14px;
}

.case-study-detail-hero-section .case-detail-meta span{
  color:#72e4db;
}

.case-study-detail-hero-section .case-detail-meta span:last-child{
  color:#bed0df;
}

.case-study-detail-hero-section .case-detail-hero{
  margin:0;
}

.case-study-detail-hero-section .case-detail-hero>strong{
  margin-top:16px;
  background:rgba(255,255,255,.10);
  border:1px solid rgba(255,255,255,.18);
  color:#8ce7df;
}

/* Insights detail */
.insight-detail-page{
  background:#f7fafc;
}

.insight-detail-hero>div>p:last-child{
  max-width:780px;
}

/* Company / About */
.about-page-hero>div>p:last-child{
  max-width:780px;
}

/* Shop */
.woocommerce-store-hero.shop-page-hero{
  padding:68px 0 72px;
  background:var(--navy);
}

.woocommerce-store-hero.shop-page-hero h1{
  max-width:var(--brand-hero-copy-width);
  margin:0 0 18px;
  color:#fff;
  font-size:clamp(42px,5.2vw,64px);
  line-height:1.03;
  letter-spacing:-.045em;
}

.woocommerce-store-hero.shop-page-hero p{
  max-width:760px;
  color:#e7eef6;
  font-size:18px;
  line-height:1.6;
}

.woocommerce-store-hero.shop-page-hero .shop-hero-actions{
  margin-top:26px;
  gap:16px;
}

.store-discovery-section{
  padding:32px 0 8px;
  background:#f6f9fb;
}

/* My Account */
.account-page-main{
  background:#f6f9fb;
}

.account-page-hero h1{
  max-width:var(--brand-hero-copy-width);
}

.account-page-hero>div>p:last-child{
  max-width:760px;
}

.account-page-content{
  padding:48px 0 76px;
}

/* The new full-width Account hero replaces the old internal split hero.
   Keep the login form as a clean card below it. */
.account-page-main .easethat-login-hero{
  display:none !important;
}

.account-page-main .easethat-login-shell{
  grid-template-columns:minmax(0,680px);
  justify-content:center;
  max-width:720px;
}

.account-page-main .easethat-login-panel{
  width:100%;
}

.account-page-main .account-dashboard-heading,
.account-page-main .easethat-account-hero{
  display:none !important;
}

/* Prevent WooCommerce's old nested account padding from breaking the shared grid. */
.woocommerce-account .account-page-content main .woocommerce,
.woocommerce-account .account-page-content .woocommerce{
  max-width:none;
  margin:0;
  padding:0;
}

/* Active dropdown labels should receive the same underline treatment as links. */
.services-menu-toggle.active::after{
  left:0;
  right:0;
}

/* Maintain the shared hero layout responsively. */
@media(max-width:900px){
  .brand-wave-hero,
  .about-hub-page .about-page-hero,
  .insights-index-page .insights-page-hero,
  .woocommerce-store-hero.shop-page-hero{
    padding:54px 0 58px;
  }

  .brand-wave-hero h1,
  .brand-wave-hero .case-detail-hero h1,
  .about-hub-page .about-page-hero h1,
  .insights-index-page .insights-page-hero h1,
  .woocommerce-store-hero.shop-page-hero h1{
    font-size:clamp(38px,7vw,54px);
  }
}

@media(max-width:760px){
  .simplified-hero .hero-content,
  .service-detail-page .service-hub-hero .wrap,
  .services-index-page .services-index-hero .wrap,
  .brand-wave-hero .wrap{
    width:min(100% - 28px,1200px);
  }

  .brand-wave-hero,
  .about-hub-page .about-page-hero,
  .insights-index-page .insights-page-hero,
  .woocommerce-store-hero.shop-page-hero{
    padding:42px 0 46px;
  }

  .brand-wave-hero h1,
  .brand-wave-hero .case-detail-hero h1,
  .about-hub-page .about-page-hero h1,
  .insights-index-page .insights-page-hero h1,
  .woocommerce-store-hero.shop-page-hero h1{
    font-size:clamp(34px,9vw,46px);
    margin-bottom:14px;
  }

  .brand-wave-hero > .wrap > p:last-of-type,
  .brand-wave-hero .case-detail-hero>p,
  .about-hub-page .about-page-hero > .wrap > p:last-of-type,
  .insights-index-page .insights-page-hero > .wrap > p:last-of-type,
  .woocommerce-store-hero.shop-page-hero p{
    font-size:16px;
  }
}

@media(max-width:520px){
  .brand-wave-hero::before{
    background-position:64% center;
  }
}


/* =========================================================
   V6.13.10 SERVICE HERO GRID ALIGNMENT
   All seven service detail heroes use the same desktop rows:
   eyebrow / heading / supporting copy / CTA.
   ========================================================= */

/*
Why a grid rather than more padding:
different service titles wrap to 2 or 3 lines. With normal document flow,
that moves the description and button vertically. Reserving a consistent
headline and description row keeps every service hero aligned while still
allowing the copy itself to remain naturally left-aligned.
*/
@media(min-width:1000px){

  .service-detail-page .service-hub-hero{
    min-height:500px;
    padding:0 !important;
  }

  .service-detail-page .service-hub-hero .wrap{
    min-height:500px;
    display:grid;
    grid-template-columns:minmax(0,800px) minmax(0,1fr);
    grid-template-rows:22px 190px 94px 52px;
    column-gap:32px;
    row-gap:8px;
    align-content:center;
    align-items:start;
  }

  .service-detail-page .service-hub-hero .eyebrow,
  .service-detail-page .service-hub-hero h1,
  .service-detail-page .service-hub-hero > .wrap > p:last-of-type,
  .service-detail-page .service-hub-hero .hub-hero-actions{
    grid-column:1;
    width:100%;
    max-width:800px;
  }

  .service-detail-page .service-hub-hero .eyebrow{
    grid-row:1;
    align-self:end;
    margin:0 !important;
    line-height:1.25;
  }

  .service-detail-page .service-hub-hero h1{
    grid-row:2;
    align-self:start;
    margin:0 !important;
    max-width:800px;
    font-size:clamp(50px,4.8vw,60px);
    line-height:1.03;
  }

  .service-detail-page .service-hub-hero > .wrap > p:last-of-type{
    grid-row:3;
    align-self:start;
    margin:0 !important;
    max-width:780px;
    font-size:18px;
    line-height:1.58;
  }

  .service-detail-page .service-hub-hero .hub-hero-actions{
    grid-row:4;
    align-self:start;
    margin:0 !important;
    min-height:52px;
    display:flex;
    align-items:flex-start;
    gap:12px;
  }

  .service-detail-page .service-hub-hero .hub-hero-actions .button{
    min-height:52px;
  }
}

/* Mid-size desktop/tablet: retain consistent vertical balance without
   forcing fixed text rows into a narrower viewport. */
@media(min-width:761px) and (max-width:999px){

  .service-detail-page .service-hub-hero{
    min-height:470px;
    padding:0 !important;
  }

  .service-detail-page .service-hub-hero .wrap{
    min-height:470px;
    display:flex;
    flex-direction:column;
    justify-content:center;
  }

  .service-detail-page .service-hub-hero .eyebrow{
    margin:0 0 10px !important;
  }

  .service-detail-page .service-hub-hero h1{
    margin:0 0 16px !important;
  }

  .service-detail-page .service-hub-hero > .wrap > p:last-of-type{
    margin:0 !important;
  }

  .service-detail-page .service-hub-hero .hub-hero-actions{
    margin-top:22px !important;
  }
}

/* Phones use normal content flow because forcing matching rows would create
   unnecessary empty space on small screens. */
@media(max-width:760px){

  .service-detail-page .service-hub-hero{
    min-height:0;
  }

  .service-detail-page .service-hub-hero .wrap{
    display:block;
    min-height:0;
  }
}


/* =========================================================
   V6.13.11 SERVICE HERO CONSISTENT SPACING
   Removes the artificial fixed headline/description rows from
   V6.13.10 that created a blank extra row on shorter titles.
   ========================================================= */

@media(min-width:1000px){

  .service-detail-page .service-hub-hero{
    min-height:500px;
    padding:0 !important;
  }

  .service-detail-page .service-hub-hero .wrap{
    min-height:500px;
    display:flex !important;
    flex-direction:column;
    justify-content:center;
    align-items:flex-start;
    width:min(1200px,calc(100% - 40px));
    max-width:1200px;
    margin-left:auto;
    margin-right:auto;
  }

  .service-detail-page .service-hub-hero .eyebrow,
  .service-detail-page .service-hub-hero h1,
  .service-detail-page .service-hub-hero > .wrap > p:last-of-type,
  .service-detail-page .service-hub-hero .hub-hero-actions{
    width:100%;
    max-width:900px;
    grid-column:auto !important;
    grid-row:auto !important;
    align-self:auto !important;
  }

  .service-detail-page .service-hub-hero .eyebrow{
    margin:0 0 12px !important;
    line-height:1.25;
  }

  .service-detail-page .service-hub-hero h1{
    margin:0 0 18px !important;
    max-width:900px;
    font-size:clamp(48px,4.7vw,60px);
    line-height:1.03;
  }

  .service-detail-page .service-hub-hero > .wrap > p:last-of-type{
    margin:0 !important;
    max-width:820px;
    font-size:18px;
    line-height:1.58;
  }

  .service-detail-page .service-hub-hero .hub-hero-actions{
    margin:26px 0 0 !important;
    min-height:0;
    display:flex;
    align-items:flex-start;
    flex-wrap:wrap;
    gap:12px;
  }

  .service-detail-page .service-hub-hero .hub-hero-actions .button{
    min-height:52px;
  }
}

/* Keep the same spacing rhythm through tablet sizes. */
@media(min-width:761px) and (max-width:999px){

  .service-detail-page .service-hub-hero{
    min-height:470px;
    padding:0 !important;
  }

  .service-detail-page .service-hub-hero .wrap{
    min-height:470px;
    display:flex !important;
    flex-direction:column;
    justify-content:center;
    align-items:flex-start;
  }

  .service-detail-page .service-hub-hero .eyebrow{
    margin:0 0 11px !important;
  }

  .service-detail-page .service-hub-hero h1{
    margin:0 0 17px !important;
  }

  .service-detail-page .service-hub-hero > .wrap > p:last-of-type{
    margin:0 !important;
  }

  .service-detail-page .service-hub-hero .hub-hero-actions{
    margin:24px 0 0 !important;
  }
}

/* Mobile retains natural flow with the same relative spacing. */
@media(max-width:760px){

  .service-detail-page .service-hub-hero{
    min-height:0;
    padding:42px 0 46px !important;
  }

  .service-detail-page .service-hub-hero .wrap{
    display:block !important;
    min-height:0;
  }

  .service-detail-page .service-hub-hero .eyebrow{
    margin:0 0 10px !important;
  }

  .service-detail-page .service-hub-hero h1{
    margin:0 0 15px !important;
  }

  .service-detail-page .service-hub-hero > .wrap > p:last-of-type{
    margin:0 !important;
  }

  .service-detail-page .service-hub-hero .hub-hero-actions{
    margin:21px 0 0 !important;
  }
}


/* =========================================================
   V6.13.12 SITEWIDE SPACING CLEANUP
   Final spacing layer. Reduces duplicate/legacy vertical gaps
   between page sections without compressing content inside cards.
   ========================================================= */

:root{
  --section-y-desktop:42px;
  --section-y-tablet:36px;
  --section-y-mobile:30px;
  --section-y-compact:34px;
  --section-heading-gap:22px;
}

/* ---------------------------------------------------------
   GLOBAL SECTION RHYTHM
   Replaces older 64px / 54px / 46px layers with one system.
   --------------------------------------------------------- */
.section,
main.section{
  padding-top:var(--section-y-desktop) !important;
  padding-bottom:var(--section-y-desktop) !important;
}

/* Homepage sections */
.home-services-overview,
.home-featured-proof,
.home-work-models,
.home-founder-proof,
.home-insights-preview{
  padding-top:var(--section-y-desktop) !important;
  padding-bottom:var(--section-y-desktop) !important;
}

.home-differentiators{
  padding-top:16px !important;
  padding-bottom:16px !important;
}

.home-contact-intro{
  padding-top:34px !important;
  padding-bottom:34px !important;
}

/* Shared heading/action spacing */
.section-heading.centered,
.home-section-heading,
.featured-experience .compact-section-head{
  margin-bottom:var(--section-heading-gap) !important;
}

.home-centered-action,
.featured-experience-actions{
  margin-top:16px !important;
}

/* ---------------------------------------------------------
   SERVICES / HUB PAGES
   --------------------------------------------------------- */
.hub-list-section,
.service-detail-content,
.about-value-section,
.about-founders-section,
.about-proof-section,
.insight-article-section,
.case-studies-index-content,
.case-study-detail-content{
  padding-top:var(--section-y-desktop) !important;
  padding-bottom:var(--section-y-desktop) !important;
}

.services-index-why{
  padding-top:var(--section-y-desktop) !important;
  padding-bottom:var(--section-y-desktop) !important;
}

.services-index-trust,
.trust-band{
  padding-top:18px !important;
  padding-bottom:18px !important;
}

.hub-page-cta{
  padding-top:34px !important;
  padding-bottom:34px !important;
}

/* Remove the old extra vertical build-up inside long service pages. */
.service-pricing-overview{
  margin-top:14px !important;
}

.service-full-detail{
  margin-top:20px !important;
  padding-top:22px !important;
}

.service-outcomes-block,
.service-engagement-note,
.service-policy-note{
  margin-top:14px !important;
}

.service-related-cases{
  margin-top:24px !important;
}

.service-detail-crosslinks{
  margin-top:14px !important;
}

.service-restored-divider{
  margin-top:26px !important;
  margin-bottom:16px !important;
}

.service-project-group{
  margin-top:18px !important;
}

.service-project-group + .service-project-group{
  margin-top:26px !important;
}

.service-support-category{
  margin-top:18px !important;
}

.service-support-category + .service-support-category{
  margin-top:28px !important;
}

.service-data-showcase{
  gap:18px !important;
}

.service-data-analytics .service-sector-block{
  padding-top:28px !important;
}

.service-data-analytics .service-tableau-showcase{
  margin-top:24px !important;
}

.service-pricing-group + .service-pricing-group{
  margin-top:16px !important;
  padding-top:15px !important;
}

.service-related-cases .home-section-heading{
  margin-bottom:18px !important;
}

/* ---------------------------------------------------------
   CASE STUDIES
   --------------------------------------------------------- */
.case-index-filters{
  margin-bottom:18px !important;
}

.case-index-cta{
  margin-top:22px !important;
  padding:24px !important;
}

.experience-disclosure{
  margin-bottom:22px !important;
}

.case-outcomes{
  margin-top:14px !important;
  padding:24px !important;
}

.case-outcome-grid{
  margin-top:12px !important;
}

.case-detail-actions{
  margin-top:18px !important;
}

/* ---------------------------------------------------------
   INSIGHTS
   Long-form articles previously had 30px margin + 26px padding
   for every subsection, producing unnecessary repeated rows.
   --------------------------------------------------------- */
.insight-main > section{
  margin-bottom:22px !important;
  padding-bottom:20px !important;
}

.insight-cta{
  margin-top:24px !important;
}

.insight-article-layout{
  gap:38px !important;
}

/* ---------------------------------------------------------
   ABOUT / COMPANY
   --------------------------------------------------------- */
.about-value-section,
.about-founders-section,
.about-proof-section{
  padding-top:40px !important;
  padding-bottom:40px !important;
}

/* ---------------------------------------------------------
   SHOP / WOOCOMMERCE
   --------------------------------------------------------- */
.store-discovery-section{
  padding-top:24px !important;
  padding-bottom:0 !important;
}

.woocommerce-store-content{
  padding-top:34px !important;
  padding-bottom:48px !important;
}

.product-section,
.checkout-shell{
  padding-top:42px !important;
  padding-bottom:52px !important;
}

.shop-toolbar{
  padding-top:16px !important;
  padding-bottom:16px !important;
}

.woocommerce .woocommerce-breadcrumb{
  margin-bottom:16px !important;
}

.woocommerce .woocommerce-result-count,
.woocommerce .woocommerce-ordering{
  margin-bottom:18px !important;
}

.shop-supplier-note{
  margin-top:20px !important;
}

/* ---------------------------------------------------------
   MY ACCOUNT / TRADE / QUOTE
   --------------------------------------------------------- */
.account-page-content{
  padding-top:42px !important;
  padding-bottom:52px !important;
}

.quote-page-shell,
.trade-registration-page{
  padding-top:42px !important;
  padding-bottom:52px !important;
}

.account-dashboard-heading{
  margin-bottom:22px !important;
}

.easethat-login-panel-head,
.trade-registration-card-head{
  margin-bottom:18px !important;
}

.trade-registration-points{
  margin-top:20px !important;
}

.trade-registration-existing{
  margin-top:18px !important;
  padding-top:16px !important;
}

/* ---------------------------------------------------------
   CONTACT
   Homepage contact is a normal content section, but should not
   regain the old 64px vertical padding through legacy rules.
   --------------------------------------------------------- */
#contact.section{
  padding-top:42px !important;
  padding-bottom:42px !important;
}

/* ---------------------------------------------------------
   LEGAL / POLICY PAGES
   Keep long-form readability but remove unnecessary page-edge space.
   --------------------------------------------------------- */
.legal-page h2{
  margin-top:28px !important;
}

.legal-page h3{
  margin-top:20px !important;
}

.legal-page .notice{
  margin-top:18px !important;
  margin-bottom:18px !important;
}

/* ---------------------------------------------------------
   CTA / INFORMATION BANDS
   --------------------------------------------------------- */
.cta-band{
  padding-top:38px !important;
  padding-bottom:38px !important;
}

.platform-strip{
  padding-top:13px !important;
  padding-bottom:13px !important;
}

/* ---------------------------------------------------------
   RESPONSIVE RHYTHM
   --------------------------------------------------------- */
@media(max-width:900px){

  .section,
  main.section,
  .home-services-overview,
  .home-featured-proof,
  .home-work-models,
  .home-founder-proof,
  .home-insights-preview,
  .hub-list-section,
  .service-detail-content,
  .about-value-section,
  .about-founders-section,
  .about-proof-section,
  .insight-article-section,
  .case-studies-index-content,
  .case-study-detail-content,
  .services-index-why{
    padding-top:var(--section-y-tablet) !important;
    padding-bottom:var(--section-y-tablet) !important;
  }

  .hub-page-cta,
  .home-contact-intro,
  .cta-band{
    padding-top:30px !important;
    padding-bottom:30px !important;
  }

  .woocommerce-store-content{
    padding-top:30px !important;
    padding-bottom:42px !important;
  }

  .product-section,
  .checkout-shell,
  .account-page-content,
  .quote-page-shell,
  .trade-registration-page{
    padding-top:36px !important;
    padding-bottom:44px !important;
  }

  #contact.section{
    padding-top:36px !important;
    padding-bottom:36px !important;
  }
}

@media(max-width:650px){

  .section,
  main.section,
  .home-services-overview,
  .home-featured-proof,
  .home-work-models,
  .home-founder-proof,
  .home-insights-preview,
  .hub-list-section,
  .service-detail-content,
  .about-value-section,
  .about-founders-section,
  .about-proof-section,
  .insight-article-section,
  .case-studies-index-content,
  .case-study-detail-content,
  .services-index-why{
    padding-top:var(--section-y-mobile) !important;
    padding-bottom:var(--section-y-mobile) !important;
  }

  .home-differentiators{
    padding-top:12px !important;
    padding-bottom:12px !important;
  }

  .section-heading.centered,
  .home-section-heading,
  .featured-experience .compact-section-head{
    margin-bottom:18px !important;
  }

  .hub-page-cta,
  .home-contact-intro,
  .cta-band{
    padding-top:26px !important;
    padding-bottom:26px !important;
  }

  .services-index-trust,
  .trust-band{
    padding-top:14px !important;
    padding-bottom:14px !important;
  }

  .woocommerce-store-content{
    padding-top:26px !important;
    padding-bottom:36px !important;
  }

  .store-discovery-section{
    padding-top:20px !important;
  }

  .product-section,
  .checkout-shell,
  .account-page-content,
  .quote-page-shell,
  .trade-registration-page{
    padding-top:30px !important;
    padding-bottom:36px !important;
  }

  #contact.section{
    padding-top:30px !important;
    padding-bottom:30px !important;
  }

  .service-related-cases{
    margin-top:20px !important;
  }

  .case-index-cta,
  .insight-cta{
    margin-top:18px !important;
  }
}


/* =========================================================
   V6.13.13 CASE STUDY FILTER SPACING
   Keep the filter visually attached to the Case Studies content.
   ========================================================= */

.case-studies-index-content{
  padding-top:20px !important;
}

.case-index-filters{
  margin-top:0 !important;
  margin-bottom:18px !important;
}

@media(max-width:900px){
  .case-studies-index-content{
    padding-top:18px !important;
  }
}

@media(max-width:650px){
  .case-studies-index-content{
    padding-top:16px !important;
  }

  .case-index-filters{
    margin-bottom:16px !important;
  }
}


/* =========================================================
   V6.13.14 MY ACCOUNT HERO ALIGNMENT
   Removes legacy outer page padding that was creating white
   rows before/after the new blue-wave account hero.
   ========================================================= */

/* Old V6.10 account rule applied 56px/82px padding to the entire
   page. The page now has its own full-width hero, so that outer
   padding is no longer appropriate. */
.woocommerce-account .account-page-main,
.account-page-main{
  padding:0 !important;
  margin:0 !important;
  background:#f6f9fb;
}

/* Explicitly match the shared site content grid. */
.woocommerce-account .account-page-hero > .wrap,
.account-page-hero > .wrap{
  width:min(1200px,calc(100% - 40px)) !important;
  max-width:1200px !important;
  margin-left:auto !important;
  margin-right:auto !important;
  padding-left:0 !important;
  padding-right:0 !important;
}

/* Keep Account as a concise hub hero rather than giving a short
   title the same vertical height as a long Service headline. */
.woocommerce-account .account-page-hero,
.account-page-hero{
  min-height:0 !important;
  padding-top:52px !important;
  padding-bottom:54px !important;
}

.woocommerce-account .account-page-hero .eyebrow,
.account-page-hero .eyebrow{
  margin:0 0 10px !important;
}

.woocommerce-account .account-page-hero h1,
.account-page-hero h1{
  margin:0 0 12px !important;
  max-width:800px !important;
  font-size:clamp(42px,5.2vw,60px);
  line-height:1.03;
}

.woocommerce-account .account-page-hero > .wrap > p:last-child,
.account-page-hero > .wrap > p:last-child{
  margin:0 !important;
  max-width:760px !important;
  font-size:17px;
  line-height:1.6;
}

/* Bring the actual account content closer to the hero. */
.woocommerce-account .account-page-content,
.account-page-content{
  padding-top:24px !important;
  padding-bottom:44px !important;
}

/* The content itself should line up with the same site grid. */
.woocommerce-account .account-page-wrap,
.account-page-wrap{
  width:min(1200px,calc(100% - 40px)) !important;
  max-width:1200px !important;
  margin-left:auto !important;
  margin-right:auto !important;
}

/* Logged-in WooCommerce navigation/content should begin immediately
   within the account content area rather than adding another top row. */
.woocommerce-account .account-page-content .woocommerce,
.woocommerce-account .account-page-content .easethat-account-shell{
  margin-top:0 !important;
}

/* Account notices belong close to the account panels. */
.woocommerce-account .account-page-content .woocommerce-notices-wrapper{
  margin-top:0 !important;
  margin-bottom:14px !important;
}

/* Fix the old mobile account-page-main padding too. */
@media(max-width:900px){
  .woocommerce-account .account-page-main,
  .account-page-main{
    padding:0 !important;
  }

  .woocommerce-account .account-page-hero,
  .account-page-hero{
    padding-top:44px !important;
    padding-bottom:46px !important;
  }

  .woocommerce-account .account-page-content,
  .account-page-content{
    padding-top:22px !important;
    padding-bottom:38px !important;
  }
}

@media(max-width:650px){
  .woocommerce-account .account-page-hero > .wrap,
  .account-page-hero > .wrap,
  .woocommerce-account .account-page-wrap,
  .account-page-wrap{
    width:min(100% - 28px,1200px) !important;
  }

  .woocommerce-account .account-page-hero,
  .account-page-hero{
    padding-top:36px !important;
    padding-bottom:38px !important;
  }

  .woocommerce-account .account-page-content,
  .account-page-content{
    padding-top:18px !important;
    padding-bottom:32px !important;
  }
}


/* =========================================================
   V6.13.15 SHOP HERO BUTTON COLOURS
   WooCommerce button defaults were overriding the shared hero CTA
   styles. These selectors deliberately win within the Shop hero.
   ========================================================= */

.woocommerce-store-shell .shop-page-hero .shop-hero-actions a.button.primary,
.woocommerce .shop-page-hero .shop-hero-actions a.button.primary,
.shop-page-hero .shop-hero-actions a.button.primary{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  min-height:50px !important;
  padding:14px 22px !important;
  border:1px solid transparent !important;
  border-radius:6px !important;
  background:linear-gradient(95deg,var(--teal),#058f9d) !important;
  color:#fff !important;
  font-weight:800 !important;
  box-shadow:0 9px 24px rgba(7,169,166,.20) !important;
  opacity:1 !important;
}

.woocommerce-store-shell .shop-page-hero .shop-hero-actions a.button.primary:hover,
.woocommerce .shop-page-hero .shop-hero-actions a.button.primary:hover,
.shop-page-hero .shop-hero-actions a.button.primary:hover{
  background:linear-gradient(95deg,#079d9a,#047f8d) !important;
  color:#fff !important;
  transform:translateY(-1px);
}

.woocommerce-store-shell .shop-page-hero .shop-hero-actions a.button.outline,
.woocommerce .shop-page-hero .shop-hero-actions a.button.outline,
.shop-page-hero .shop-hero-actions a.button.outline{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  min-height:50px !important;
  padding:14px 22px !important;
  border:1px solid rgba(255,255,255,.72) !important;
  border-radius:6px !important;
  background:rgba(255,255,255,.03) !important;
  color:#fff !important;
  font-weight:800 !important;
  box-shadow:none !important;
  opacity:1 !important;
}

.woocommerce-store-shell .shop-page-hero .shop-hero-actions a.button.outline:hover,
.woocommerce .shop-page-hero .shop-hero-actions a.button.outline:hover,
.shop-page-hero .shop-hero-actions a.button.outline:hover{
  border-color:#fff !important;
  background:rgba(255,255,255,.10) !important;
  color:#fff !important;
  transform:translateY(-1px);
}


/* =========================================================
   V6.13.16 LEGAL & POLICIES HUB
   ========================================================= */

.footer .footer-legal-hub-link{
  cursor:pointer;
  text-decoration:none;
}

.footer .footer-legal-hub-link:hover,
.footer .footer-legal-hub-link:focus-visible{
  color:#fff;
}

.footer .footer-legal-hub-link::after{
  content:" →";
  color:#72e4db;
  font-weight:900;
}

.legal-policies-hub-page{
  background:#f7fafc;
}

.legal-policies-hero h1{
  max-width:800px;
}

.legal-policies-hero > .wrap > p:last-of-type{
  max-width:760px;
}

.legal-policies-content{
  padding-top:42px !important;
  padding-bottom:48px !important;
}

.legal-policies-intro{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(300px,.78fr);
  gap:34px;
  align-items:end;
  margin-bottom:24px;
}

.legal-policies-intro h2{
  margin:5px 0 0;
  color:var(--ink);
  font-size:clamp(30px,4vw,40px);
  line-height:1.15;
}

.legal-policies-intro > p{
  margin:0;
  color:var(--muted);
  font-size:13px;
  line-height:1.65;
}

.legal-policy-groups{
  display:grid;
  gap:30px;
}

.legal-policy-group{
  padding-top:24px;
  border-top:1px solid var(--line);
}

.legal-policy-group:first-child{
  padding-top:0;
  border-top:0;
}

.legal-policy-group-heading{
  display:grid;
  grid-template-columns:42px minmax(0,1fr);
  gap:14px;
  align-items:start;
  margin-bottom:16px;
}

.legal-policy-group-heading > span{
  color:#d8e5eb;
  font-size:30px;
  font-weight:900;
  line-height:1;
}

.legal-policy-group-heading h2{
  margin:4px 0 0;
  color:var(--ink);
  font-size:22px;
  line-height:1.25;
}

.legal-policy-card-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:12px;
}

.legal-policy-card-grid--two{
  grid-template-columns:repeat(2,minmax(0,1fr));
}

.legal-policy-card{
  display:flex;
  flex-direction:column;
  min-height:210px;
  padding:20px;
  border:1px solid var(--line);
  border-radius:12px;
  background:#fff;
  text-decoration:none;
  transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease;
}

.legal-policy-card:hover,
.legal-policy-card:focus-visible{
  transform:translateY(-2px);
  border-color:#bdd5df;
  box-shadow:0 10px 26px rgba(6,27,58,.06);
}

.legal-policy-card > span{
  color:var(--teal);
  font-size:10px;
  font-weight:900;
  letter-spacing:.07em;
  text-transform:uppercase;
}

.legal-policy-card h3{
  margin:10px 0 8px;
  color:var(--ink);
  font-size:18px;
  line-height:1.3;
}

.legal-policy-card p{
  margin:0 0 14px;
  color:var(--muted);
  font-size:12px;
  line-height:1.6;
}

.legal-policy-card strong{
  margin-top:auto;
  color:var(--teal);
  font-size:11.5px;
}

.legal-cookie-control{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:30px;
  margin-top:30px;
  padding:26px;
  border-radius:13px;
  background:linear-gradient(105deg,#04172f,#0b3e72);
  color:#fff;
}

.legal-cookie-control h2{
  margin:5px 0 6px;
  color:#fff;
  font-size:24px;
}

.legal-cookie-control p:last-child{
  margin:0;
  color:#c8d8e5;
  font-size:12.5px;
}

@media(max-width:980px){
  .legal-policy-card-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}

@media(max-width:760px){
  .legal-policies-intro{
    grid-template-columns:1fr;
    gap:10px;
  }

  .legal-cookie-control{
    align-items:flex-start;
    flex-direction:column;
  }
}

@media(max-width:600px){
  .legal-policies-content{
    padding-top:30px !important;
    padding-bottom:36px !important;
  }

  .legal-policy-card-grid,
  .legal-policy-card-grid--two{
    grid-template-columns:1fr;
  }

  .legal-policy-card{
    min-height:0;
  }

  .legal-policy-groups{
    gap:24px;
  }

  .legal-policy-group{
    padding-top:20px;
  }
}


/* =========================================================
   V6.13.17 MY ACCOUNT SPACING + SHOP READABILITY
   ========================================================= */

/* ---------------------------------------------------------
   MY ACCOUNT
   Remove remaining legacy WooCommerce wrapper padding so the
   dashboard starts close to the page-level blue hero.
   --------------------------------------------------------- */
.woocommerce-account .account-page-main,
.account-page-main{
  padding:0 !important;
  margin:0 !important;
}

.woocommerce-account .account-page-content,
.account-page-content{
  padding-top:22px !important;
  padding-bottom:44px !important;
}

.woocommerce-account .account-page-content .account-page-wrap,
.account-page-content .account-page-wrap{
  padding-top:0 !important;
  margin-top:0 !important;
}

.woocommerce-account .account-page-content .woocommerce,
.woocommerce-account .account-page-content main .woocommerce,
.woocommerce-account .account-page-content .entry-content > .woocommerce,
.woocommerce-account .account-page-content .site-main > .woocommerce,
.account-page-content .woocommerce{
  width:100% !important;
  max-width:none !important;
  margin:0 !important;
  padding:0 !important;
}

.woocommerce-account .account-page-content .easethat-account-shell,
.woocommerce-account .account-page-content .easethat-account-grid,
.woocommerce-account .account-page-content .woocommerce-MyAccount-navigation,
.woocommerce-account .account-page-content .woocommerce-MyAccount-content{
  margin-top:0 !important;
}

.woocommerce-account .account-page-content .woocommerce-notices-wrapper{
  margin-top:0 !important;
  margin-bottom:12px !important;
}

/* Keep the navigation/content pair close to the hero and aligned. */
.woocommerce-account .account-page-content .woocommerce::before{
  margin:0 !important;
  padding:0 !important;
}

@media(max-width:900px){
  .woocommerce-account .account-page-content,
  .account-page-content{
    padding-top:18px !important;
    padding-bottom:38px !important;
  }
}

@media(max-width:650px){
  .woocommerce-account .account-page-content,
  .account-page-content{
    padding-top:16px !important;
    padding-bottom:32px !important;
  }
}

/* ---------------------------------------------------------
   SHOP DISCOVERY / CATEGORY AREA
   This content was moved out of the dark hero in V6.13.9.
   Restore light-background colours instead of inheriting the
   original white/pale hero typography.
   --------------------------------------------------------- */
.store-discovery-section{
  background:#f6f9fb !important;
  color:var(--ink) !important;
}

.store-discovery-section .storefront-catalogue-note{
  margin-top:0 !important;
  max-width:900px;
  padding:16px 18px;
  border:1px solid var(--line) !important;
  border-left:4px solid var(--teal) !important;
  background:#fff !important;
  color:var(--muted) !important;
  box-shadow:0 5px 18px rgba(6,27,58,.035);
}

.store-discovery-section .storefront-catalogue-note strong{
  color:var(--ink) !important;
}

.store-discovery-section .storefront-catalogue-note span{
  color:var(--muted) !important;
}

.store-discovery-section .store-category-browser{
  margin-top:20px !important;
  max-width:1100px;
}

.store-discovery-section .store-category-title{
  margin:0 0 10px !important;
  color:var(--ink) !important;
  font-size:12px !important;
  font-weight:900 !important;
  letter-spacing:.07em;
  text-transform:uppercase;
}

.store-discovery-section .store-category-grid{
  gap:8px;
}

.store-discovery-section .store-category-grid a{
  min-height:36px;
  padding:8px 12px;
  border:1px solid #d7e4eb !important;
  border-radius:999px;
  background:#fff !important;
  color:#23435f !important;
  font-size:11px;
  font-weight:800;
  box-shadow:none !important;
}

.store-discovery-section .store-category-grid a:hover,
.store-discovery-section .store-category-grid a:focus-visible{
  border-color:var(--teal) !important;
  background:var(--teal-soft) !important;
  color:var(--navy) !important;
}

.store-discovery-section .store-category-footnote{
  margin:11px 0 0 !important;
  color:#728396 !important;
  font-size:11px !important;
}

.store-discovery-section .store-category-footnote a{
  color:var(--teal) !important;
  font-weight:850;
}

/* Keep Shop heading/product content visually connected to the discovery block. */
.woocommerce-store-content{
  padding-top:28px !important;
}

@media(max-width:650px){
  .store-discovery-section .storefront-catalogue-note{
    padding:14px 15px;
  }

  .woocommerce-store-content{
    padding-top:24px !important;
  }
}


/* =========================================================
   V6.13.18 SHOP DISCOVERY SPACING
   Compact the light discovery area and remove the blank row
   between the footnote and the Shop catalogue.
   ========================================================= */

.store-discovery-section{
  padding-top:18px !important;
  padding-bottom:0 !important;
}

.store-discovery-section .storefront-catalogue-note{
  width:100%;
  max-width:none !important;
  margin:0 !important;
  padding:15px 18px !important;
}

.store-discovery-section .storefront-catalogue-note strong{
  display:block;
  margin:0 0 4px !important;
}

.store-discovery-section .storefront-catalogue-note span{
  display:block;
  margin:0 !important;
  line-height:1.55;
}

.store-discovery-section .store-category-browser{
  width:100%;
  max-width:none !important;
  margin-top:14px !important;
  margin-bottom:0 !important;
}

.store-discovery-section .store-category-title{
  margin:0 0 8px !important;
}

.store-discovery-section .store-category-grid{
  gap:7px 8px !important;
  margin:0 !important;
}

.store-discovery-section .store-category-grid a{
  min-height:34px !important;
  padding:7px 12px !important;
}

.store-discovery-section .store-category-footnote{
  margin:8px 0 0 !important;
  padding:0 !important;
  line-height:1.45;
}

/* Remove the visual blank row after the footnote. */
.woocommerce-store-content{
  padding-top:18px !important;
}

.woocommerce-store-content > .wrap{
  margin-top:0 !important;
  padding-top:0 !important;
}

@media(max-width:900px){
  .store-discovery-section{
    padding-top:16px !important;
  }

  .woocommerce-store-content{
    padding-top:16px !important;
  }
}

@media(max-width:650px){
  .store-discovery-section{
    padding-top:14px !important;
  }

  .store-discovery-section .storefront-catalogue-note{
    padding:13px 14px !important;
  }

  .store-discovery-section .store-category-browser{
    margin-top:12px !important;
  }

  .store-discovery-section .store-category-footnote{
    margin-top:7px !important;
  }

  .woocommerce-store-content{
    padding-top:14px !important;
  }
}


/* =========================================================
   V6.13.19 SHOP FOOTNOTE PROMINENCE + FINAL GAP REMOVAL
   ========================================================= */

.store-discovery-section .store-category-footnote{
  margin:8px 0 0 !important;
  padding:0 !important;
  color:#61768a !important;
  font-size:13px !important;
  line-height:1.5 !important;
}

.store-discovery-section .store-category-footnote a{
  color:var(--teal) !important;
  font-size:13px !important;
  font-weight:900 !important;
}

/* The footnote is the end of the discovery block; the Shop catalogue
   should follow almost immediately rather than creating another row. */
.woocommerce-store-content{
  padding-top:8px !important;
}

.post-type-archive-product .woocommerce-products-header__title.page-title{
  margin-top:0 !important;
  margin-bottom:14px !important;
}

@media(max-width:900px){
  .woocommerce-store-content{
    padding-top:8px !important;
  }
}

@media(max-width:650px){
  .store-discovery-section .store-category-footnote,
  .store-discovery-section .store-category-footnote a{
    font-size:12.5px !important;
  }

  .woocommerce-store-content{
    padding-top:6px !important;
  }
}


/* =========================================================
   V6.13.20 SHOP QUOTE CALLOUT
   Replaces the low-emphasis footnote with a compact commercial
   callout without adding unnecessary page height.
   ========================================================= */

.store-discovery-section .store-quote-callout{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:5px 8px;
  margin:10px 0 0 !important;
  padding:11px 14px !important;
  border-left:4px solid var(--teal);
  border-radius:7px;
  background:var(--teal-soft);
  color:#40586d;
  font-size:13px;
  line-height:1.45;
}

.store-discovery-section .store-quote-callout strong{
  color:var(--navy);
  font-size:13px;
  font-weight:900;
}

.store-discovery-section .store-quote-callout span{
  color:#50697d;
}

.store-discovery-section .store-quote-callout a{
  color:var(--teal);
  font-size:13px;
  font-weight:900;
  white-space:nowrap;
}

.store-discovery-section .store-quote-callout a:hover,
.store-discovery-section .store-quote-callout a:focus-visible{
  color:#057f84;
  text-decoration:underline;
}

/* Keep the catalogue immediately connected to the callout. */
.woocommerce-store-content{
  padding-top:8px !important;
}

@media(max-width:650px){
  .store-discovery-section .store-quote-callout{
    display:block;
    padding:11px 12px !important;
    font-size:12.5px;
  }

  .store-discovery-section .store-quote-callout strong,
  .store-discovery-section .store-quote-callout span,
  .store-discovery-section .store-quote-callout a{
    font-size:12.5px;
  }

  .store-discovery-section .store-quote-callout strong{
    display:block;
    margin-bottom:3px;
  }

  .store-discovery-section .store-quote-callout a{
    display:inline-block;
    margin-top:4px;
  }
}


/* =========================================================
   V6.13.21 PRICING DISCLAIMER
   One clear customer-facing statement above every service
   pricing block. Removes internal version-language references.
   ========================================================= */

.service-pricing-heading{
  display:block !important;
  margin-bottom:12px !important;
}

.service-pricing-heading > div{
  max-width:860px;
}

.service-pricing-disclaimer{
  width:100%;
  margin:0 0 18px !important;
  padding:12px 14px;
  border-left:4px solid var(--teal);
  border-radius:7px;
  background:#eef9f8;
  color:#4f6578;
  font-size:12.5px;
  line-height:1.6;
}

.service-pricing-disclaimer strong{
  color:var(--navy);
  font-weight:900;
}

@media(max-width:650px){
  .service-pricing-disclaimer{
    margin-bottom:16px !important;
    padding:11px 12px;
    font-size:12px;
  }
}


/* =========================================================
   V6.13.22 SERVICE DETAIL SECTION HEADINGS
   Make the start of each rich capability section immediately
   distinguishable from the cards/content that follow.
   ========================================================= */

.service-detail-section-heading{
  width:100%;
  max-width:none !important;
  margin:0 0 18px !important;
  padding:16px 20px 16px 20px;
  border:1px solid #d8e7eb;
  border-left:4px solid var(--teal);
  border-radius:10px;
  background:linear-gradient(90deg,#eef9f8 0%,#f7fbfc 58%,#ffffff 100%);
}

.service-detail-section-heading .eyebrow{
  margin:0 0 5px !important;
  color:var(--teal);
  font-size:10.5px;
  font-weight:900;
  letter-spacing:.11em;
}

.service-detail-section-heading h2{
  max-width:900px;
  margin:0 0 7px !important;
  color:var(--navy);
  font-size:clamp(26px,3.2vw,34px);
  line-height:1.16;
  letter-spacing:-.025em;
}

.service-detail-section-heading > p:last-child{
  max-width:930px;
  margin:0 !important;
  color:#526a7e;
  font-size:13px;
  line-height:1.6;
}

/* Keep the section header connected to the cards below, rather
   than introducing another large row of whitespace. */
.service-detail-section-heading + .expertise-grid,
.service-detail-section-heading + .service-data-showcase,
.service-detail-section-heading + .life-sciences-detail-grid,
.service-detail-section-heading + .project-service-group,
.service-detail-section-heading + .procurement-grid,
.service-detail-section-heading + .hosting-grid,
.service-detail-section-heading + .support-category{
  margin-top:0 !important;
}

@media(max-width:650px){
  .service-detail-section-heading{
    padding:14px 15px;
    margin-bottom:15px !important;
  }

  .service-detail-section-heading h2{
    font-size:25px;
  }

  .service-detail-section-heading > p:last-child{
    font-size:12.5px;
  }
}


/* =========================================================
   V6.13.23 CART & CHECKOUT EXPERIENCE
   Shop -> Cart -> Checkout -> Confirmation uses one site system.
   ========================================================= */

.commerce-journey-page{
  background:#f6f9fb;
}

.commerce-journey-hero{
  padding-top:52px !important;
  padding-bottom:54px !important;
}

.commerce-journey-hero > .wrap{
  width:min(1200px,calc(100% - 40px)) !important;
  max-width:1200px !important;
}

.commerce-journey-hero h1{
  max-width:820px !important;
  margin:0 0 12px !important;
  font-size:clamp(42px,5.2vw,60px) !important;
}

.commerce-journey-hero > .wrap > p:last-child{
  max-width:760px !important;
  margin:0 !important;
  color:#e7eef6 !important;
  font-size:17px !important;
  line-height:1.6 !important;
}

.commerce-journey-content{
  padding:22px 0 48px;
  background:#f6f9fb;
}

.commerce-journey-content > .wrap{
  width:min(1200px,calc(100% - 40px));
  max-width:1200px;
  margin:0 auto;
}

/* Remove the old generic WooCommerce page padding now that the page
   templates own the outer journey spacing. */
.woocommerce-cart .commerce-journey-content .woocommerce,
.woocommerce-checkout .commerce-journey-content .woocommerce{
  max-width:none !important;
  width:100% !important;
  margin:0 !important;
  padding:0 !important;
}

.commerce-woocommerce-content{
  margin:0;
  padding:0;
}

/* ---------- Cart top actions ---------- */
.cart-journey-actions{
  display:flex;
  align-items:center;
  justify-content:space-between;
  flex-wrap:wrap;
  gap:12px;
  margin:0 0 14px;
}

.commerce-secondary-action,
.woocommerce a.button.commerce-secondary-action,
.woocommerce button.button.commerce-secondary-action{
  display:inline-flex !important;
  align-items:center;
  justify-content:center;
  min-height:46px;
  padding:11px 17px !important;
  border:1px solid #c5d5df !important;
  border-radius:6px !important;
  background:#fff !important;
  color:var(--navy) !important;
  font-weight:850 !important;
  box-shadow:none !important;
}

.commerce-secondary-action:hover,
.woocommerce a.button.commerce-secondary-action:hover,
.woocommerce button.button.commerce-secondary-action:hover{
  border-color:var(--teal) !important;
  background:var(--teal-soft) !important;
  color:var(--navy) !important;
}

.cart-journey-actions .button.primary{
  min-height:46px;
  padding:11px 18px;
}

/* ---------- Compact reassurance ---------- */
.commerce-reassurance-strip{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  margin:0 0 16px;
  border:1px solid var(--line);
  border-radius:9px;
  background:#fff;
  overflow:hidden;
}

.commerce-reassurance-strip span{
  position:relative;
  padding:11px 12px 11px 28px;
  color:#52697c;
  font-size:11px;
  font-weight:750;
  text-align:center;
}

.commerce-reassurance-strip span::before{
  content:"✓";
  position:absolute;
  left:12px;
  color:var(--teal);
  font-weight:950;
}

.commerce-reassurance-strip span+span{
  border-left:1px solid var(--line);
}

/* ---------- Cart table ---------- */
.woocommerce-cart .commerce-journey-content table.shop_table{
  margin-bottom:14px !important;
}

.easethat-after-cart-table{
  display:flex;
  justify-content:flex-start;
  margin:0 0 16px;
}

/* Keep Update Cart secondary to Checkout. */
.woocommerce-cart table.cart td.actions .button:not(.checkout-button),
.woocommerce-cart .actions button.button{
  background:#fff !important;
  color:var(--navy) !important;
  border:1px solid #c5d5df !important;
}

.woocommerce-cart table.cart td.actions .button:not(.checkout-button):hover,
.woocommerce-cart .actions button.button:hover{
  border-color:var(--teal) !important;
  background:var(--teal-soft) !important;
}

/* Checkout remains the dominant cart action. */
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button{
  background:linear-gradient(95deg,var(--teal),#058f9d) !important;
  color:#fff !important;
  border:0 !important;
  border-radius:6px !important;
}

/* ---------- Quote fallback ---------- */
.cart-quote-fallback{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
  margin-top:18px;
  padding:14px 16px;
  border-left:4px solid var(--teal);
  border-radius:8px;
  background:var(--teal-soft);
}

.cart-quote-fallback strong{
  display:block;
  margin-bottom:2px;
  color:var(--navy);
  font-size:13px;
}

.cart-quote-fallback span{
  color:#52697c;
  font-size:12px;
  line-height:1.5;
}

.cart-quote-fallback a{
  flex:0 0 auto;
  color:var(--teal);
  font-size:12.5px;
  font-weight:900;
  white-space:nowrap;
}

/* ---------- Empty cart ---------- */
.woocommerce-cart .cart-empty.woocommerce-info{
  margin:0 0 14px !important;
}

.woocommerce-cart .return-to-shop{
  display:none !important;
}

.empty-cart-actions{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin-top:14px;
}

/* ---------- Checkout ---------- */
.checkout-journey-toolbar{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  margin:0 0 16px;
  padding:11px 14px;
  border:1px solid var(--line);
  border-radius:8px;
  background:#fff;
}

.commerce-back-link{
  color:var(--navy);
  font-size:12px;
  font-weight:850;
}

.commerce-back-link:hover{
  color:var(--teal);
}

.commerce-checkout-points{
  display:flex;
  flex-wrap:wrap;
  gap:16px;
}

.commerce-checkout-points span{
  position:relative;
  padding-left:17px;
  color:#61778a;
  font-size:11px;
  font-weight:750;
}

.commerce-checkout-points span::before{
  content:"✓";
  position:absolute;
  left:0;
  color:var(--teal);
  font-weight:950;
}

/* Old checkout padding should not create a duplicate top row. */
.woocommerce-checkout .commerce-journey-content form.checkout,
.woocommerce-checkout .commerce-journey-content .woocommerce-checkout{
  margin-top:0 !important;
}

.woocommerce-checkout .commerce-journey-content .woocommerce-form-login-toggle,
.woocommerce-checkout .commerce-journey-content .woocommerce-form-coupon-toggle{
  margin-bottom:12px !important;
}

/* Payment / Place Order stays visually dominant. */
.woocommerce-checkout #payment #place_order{
  background:linear-gradient(95deg,var(--teal),#058f9d) !important;
  color:#fff !important;
  border:0 !important;
  border-radius:6px !important;
}

/* ---------- Order confirmation ---------- */
.order-complete-actions{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin-top:18px;
}

.woocommerce-order-received .woocommerce-order{
  margin-top:0 !important;
}

/* Header active styling for Cart link. */
.nav-links > .easethat-cart-nav.active{
  color:var(--navy);
}

.nav-links > .easethat-cart-nav.active::after{
  left:0;
  right:0;
}

/* ---------- Responsive ---------- */
@media(max-width:900px){
  .commerce-journey-hero{
    padding-top:44px !important;
    padding-bottom:46px !important;
  }

  .commerce-journey-content{
    padding-top:18px;
    padding-bottom:40px;
  }

  .commerce-reassurance-strip{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }

  .commerce-reassurance-strip span:nth-child(3){
    border-left:0;
    border-top:1px solid var(--line);
  }

  .commerce-reassurance-strip span:nth-child(4){
    border-top:1px solid var(--line);
  }
}

@media(max-width:650px){
  .commerce-journey-hero > .wrap,
  .commerce-journey-content > .wrap{
    width:min(100% - 28px,1200px) !important;
  }

  .commerce-journey-hero{
    padding-top:36px !important;
    padding-bottom:38px !important;
  }

  .commerce-journey-content{
    padding-top:16px;
    padding-bottom:32px;
  }

  .cart-journey-actions,
  .checkout-journey-toolbar,
  .cart-quote-fallback{
    align-items:stretch;
    flex-direction:column;
  }

  .cart-journey-actions .button,
  .empty-cart-actions .button,
  .order-complete-actions .button{
    width:100%;
    justify-content:center;
  }

  .commerce-reassurance-strip{
    grid-template-columns:1fr;
  }

  .commerce-reassurance-strip span,
  .commerce-reassurance-strip span+span,
  .commerce-reassurance-strip span:nth-child(3),
  .commerce-reassurance-strip span:nth-child(4){
    border-left:0;
    border-top:1px solid var(--line);
    text-align:left;
  }

  .commerce-reassurance-strip span:first-child{
    border-top:0;
  }

  .checkout-journey-toolbar{
    align-items:flex-start;
  }

  .cart-quote-fallback a{
    white-space:normal;
  }
}


/* =========================================================
   V6.13.24 TEMPLATE ROUTING / FALLBACK CONSISTENCY
   ========================================================= */

/* If a plugin injects a legacy legal header fragment on a Woo commerce page,
   hide it as a final presentation safeguard. Correct routing should normally
   make these selectors unnecessary, but they prevent mixed chrome. */
.woocommerce-cart .legal-header,
.woocommerce-checkout .legal-header,
.woocommerce-cart .legal-footer,
.woocommerce-checkout .legal-footer{
  display:none !important;
}

/* Generic non-legal fallback pages now use normal site styling. */
.generic-page-main{
  background:#f6f9fb;
}

.generic-page-hero{
  padding-top:52px !important;
  padding-bottom:54px !important;
}

.generic-page-hero > .wrap{
  width:min(1200px,calc(100% - 40px));
  max-width:1200px;
}

.generic-page-hero h1{
  max-width:820px;
  margin:0 0 12px;
  font-size:clamp(42px,5.2vw,60px);
}

.generic-page-hero > .wrap > p:last-of-type{
  max-width:760px;
  color:#e7eef6;
}

.generic-page-content{
  padding-top:30px !important;
  padding-bottom:46px !important;
}

.generic-content-card{
  padding:22px;
  border:1px solid var(--line);
  border-radius:10px;
  background:#fff;
}

@media(max-width:650px){
  .generic-page-hero > .wrap{
    width:min(100% - 28px,1200px);
  }

  .generic-page-hero{
    padding-top:36px !important;
    padding-bottom:38px !important;
  }

  .generic-page-content{
    padding-top:24px !important;
    padding-bottom:34px !important;
  }
}


/* =========================================================
   V6.13.25 CART SIMPLIFICATION
   Quantity controls, B2B pricing/availability clarity and
   removal of unnecessary Cart clutter.
   ========================================================= */

/* ---------- Quantity controls ---------- */
.woocommerce-cart .woocommerce-cart-form .quantity{
  display:inline-flex !important;
  align-items:stretch;
  min-height:40px;
  border:1px solid #c7d4df;
  border-radius:7px;
  background:#fff;
  overflow:hidden;
}

.woocommerce-cart .woocommerce-cart-form .quantity .qty{
  width:56px !important;
  min-width:56px;
  min-height:40px !important;
  margin:0 !important;
  padding:6px 5px !important;
  border:0 !important;
  border-left:1px solid #dbe5eb !important;
  border-right:1px solid #dbe5eb !important;
  border-radius:0 !important;
  background:#fff !important;
  color:var(--navy);
  font-weight:800;
  text-align:center;
  box-shadow:none !important;
  -moz-appearance:textfield;
}

.woocommerce-cart .woocommerce-cart-form .quantity .qty::-webkit-outer-spin-button,
.woocommerce-cart .woocommerce-cart-form .quantity .qty::-webkit-inner-spin-button{
  margin:0;
  -webkit-appearance:none;
}

.easethat-qty-step{
  width:38px;
  min-width:38px;
  min-height:40px;
  padding:0;
  border:0;
  background:#f7fafc;
  color:var(--navy);
  font-size:19px;
  font-weight:850;
  line-height:1;
  cursor:pointer;
}

.easethat-qty-step:hover,
.easethat-qty-step:focus-visible{
  background:var(--teal-soft);
  color:var(--teal);
  outline:none;
}

.easethat-qty-step:focus-visible{
  box-shadow:inset 0 0 0 2px var(--teal);
}

/* ---------- Availability beneath product ---------- */
.easethat-cart-availability{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:5px 7px;
  margin:7px 0 0 !important;
  font-size:11px;
  line-height:1.4;
}

.easethat-cart-availability strong{
  position:relative;
  padding-left:15px;
  color:#2f6170;
  font-weight:850;
}

.easethat-cart-availability strong::before{
  content:"";
  position:absolute;
  left:0;
  top:.43em;
  width:7px;
  height:7px;
  border-radius:50%;
  background:var(--teal);
}

.easethat-cart-availability span{
  color:#718396;
}

.easethat-cart-availability.is-confirm strong::before{
  background:#9aa8b4;
}

/* ---------- B2B VAT / fulfilment clarity ---------- */
.easethat-cart-b2b-note{
  margin-top:14px;
  padding:12px 14px;
  border-left:4px solid var(--teal);
  border-radius:7px;
  background:#eef9f8;
}

.easethat-cart-b2b-note strong{
  display:block;
  margin-bottom:3px;
  color:var(--navy);
  font-size:12px;
  font-weight:900;
}

.easethat-cart-b2b-note span{
  display:block;
  color:#586e81;
  font-size:11.5px;
  line-height:1.5;
}

/* ---------- Remove clutter ---------- */
/* PHP removes the Cart coupon and cross-sell outputs. These selectors are a
   fallback for WooCommerce/plugin variants that render equivalent elements. */
.woocommerce-cart .coupon,
.woocommerce-cart .cross-sells{
  display:none !important;
}

/* With the coupon removed, keep the Cart action row compact. */
.woocommerce-cart table.cart td.actions{
  padding-top:12px !important;
  padding-bottom:12px !important;
}

.woocommerce-cart table.cart td.actions .button[name="update_cart"]{
  float:right;
}

/* Keep cart totals visually simple. */
.woocommerce-cart .cart-collaterals{
  margin-top:16px !important;
}

.woocommerce-cart .cart-collaterals .cart_totals{
  padding:20px !important;
}

.woocommerce-cart .cart-collaterals .cart_totals h2{
  margin-top:0 !important;
  margin-bottom:14px !important;
}

@media(max-width:650px){
  .woocommerce-cart .woocommerce-cart-form .quantity{
    min-height:38px;
  }

  .woocommerce-cart .woocommerce-cart-form .quantity .qty{
    width:50px !important;
    min-width:50px;
    min-height:38px !important;
  }

  .easethat-qty-step{
    width:36px;
    min-width:36px;
    min-height:38px;
  }

  .easethat-cart-b2b-note{
    padding:11px 12px;
  }

  .woocommerce-cart table.cart td.actions .button[name="update_cart"]{
    float:none;
    width:100%;
  }
}


/* =========================================================
   V6.13.26 WOOCOMMERCE CART BLOCK SUPPORT
   V6.13.25 classic-cart hooks do not control the modern
   WooCommerce Cart Block. These rules target the live block UI.
   ========================================================= */

/* ---------- Cart Block layout ---------- */
.woocommerce-cart .wp-block-woocommerce-cart,
.woocommerce-cart .wc-block-cart{
  margin-top:0 !important;
}

.woocommerce-cart .wc-block-cart__main{
  padding-right:28px;
}

.woocommerce-cart .wc-block-cart__sidebar{
  padding-left:28px;
}

/* ---------- Product rows ---------- */
.woocommerce-cart .wc-block-cart-items{
  border-collapse:collapse;
}

.woocommerce-cart .wc-block-cart-items__row{
  border-bottom:1px solid #d9e3e9 !important;
}

.woocommerce-cart .wc-block-cart-item__product{
  padding-top:16px !important;
  padding-bottom:16px !important;
}

.woocommerce-cart .wc-block-components-product-name{
  color:var(--navy) !important;
  font-weight:850 !important;
}

.woocommerce-cart .wc-block-cart-item__prices,
.woocommerce-cart .wc-block-cart-item__total-price-and-sale-badge-wrapper{
  color:#25445f;
}

/* ---------- Native Woo Blocks quantity selector ---------- */
.woocommerce-cart .wc-block-components-quantity-selector,
.woocommerce-cart .easethat-block-quantity{
  min-height:40px !important;
  border:1px solid #b9cad5 !important;
  border-radius:7px !important;
  background:#fff !important;
  box-shadow:none !important;
}

.woocommerce-cart .wc-block-components-quantity-selector__button{
  min-width:38px !important;
  min-height:40px !important;
  padding:0 !important;
  background:#f7fafc !important;
  color:var(--navy) !important;
  font-size:17px !important;
  font-weight:900 !important;
}

.woocommerce-cart .wc-block-components-quantity-selector__button:hover,
.woocommerce-cart .wc-block-components-quantity-selector__button:focus-visible{
  background:var(--teal-soft) !important;
  color:var(--teal) !important;
}

.woocommerce-cart .wc-block-components-quantity-selector__input{
  min-width:50px !important;
  min-height:40px !important;
  color:var(--navy) !important;
  font-weight:850 !important;
}

/* ---------- Remove block-based Cart clutter ---------- */
.woocommerce-cart .wc-block-components-totals-coupon,
.woocommerce-cart .wp-block-woocommerce-cart-cross-sells-block,
.woocommerce-cart .wc-block-cart__cross-sells{
  display:none !important;
}

/* ---------- Basket totals ---------- */
.woocommerce-cart .wc-block-cart__totals-title{
  margin-bottom:12px !important;
  color:var(--navy) !important;
  font-weight:850 !important;
}

.woocommerce-cart .wc-block-components-totals-wrapper{
  padding-top:14px !important;
  padding-bottom:14px !important;
}

.woocommerce-cart .wc-block-components-totals-item__label,
.woocommerce-cart .wc-block-components-totals-item__value{
  color:var(--navy);
}

/* B2B note inserted directly into the Cart Block sidebar. */
.easethat-cart-block-b2b-note{
  margin:14px 0 !important;
  padding:12px 14px;
  border-left:4px solid var(--teal);
  border-radius:7px;
  background:#eef9f8;
}

.easethat-cart-block-b2b-note strong{
  display:block;
  margin-bottom:3px;
  color:var(--navy);
  font-size:12.5px;
  font-weight:900;
}

.easethat-cart-block-b2b-note span{
  display:block;
  color:#586e81;
  font-size:11.5px;
  line-height:1.5;
}

/* ---------- Proceed to Checkout ---------- */
.woocommerce-cart .wc-block-cart__submit{
  margin-top:12px !important;
}

.woocommerce-cart .wc-block-cart__submit-button,
.woocommerce-cart .wc-block-components-button.wc-block-cart__submit-button{
  min-height:50px !important;
  border-radius:6px !important;
  background:linear-gradient(95deg,var(--teal),#058f9d) !important;
  color:#fff !important;
  font-weight:900 !important;
  box-shadow:0 9px 24px rgba(7,169,166,.18) !important;
}

.woocommerce-cart .wc-block-cart__submit-button:hover{
  background:linear-gradient(95deg,#079d9a,#047f8d) !important;
}

/* Express-payment buttons remain available, but do not dominate the hierarchy
   above the standard B2B checkout route. */
.woocommerce-cart .wc-block-components-express-payment{
  margin-top:12px !important;
  margin-bottom:10px !important;
}

/* ---------- Keep bottom fallback close ---------- */
.woocommerce-cart .cart-quote-fallback{
  margin-top:14px !important;
}

/* ---------- Empty Cart Block ---------- */
.woocommerce-cart .wp-block-woocommerce-empty-cart-block{
  padding-top:6px !important;
}

.woocommerce-cart .wp-block-woocommerce-empty-cart-block .wc-block-cart__empty-cart__title{
  color:var(--navy);
}

@media(max-width:900px){
  .woocommerce-cart .wc-block-cart__main{
    padding-right:0;
  }

  .woocommerce-cart .wc-block-cart__sidebar{
    padding-left:0;
  }
}

@media(max-width:650px){
  .woocommerce-cart .wc-block-components-quantity-selector,
  .woocommerce-cart .easethat-block-quantity{
    min-height:38px !important;
  }

  .woocommerce-cart .wc-block-components-quantity-selector__button{
    min-width:36px !important;
    min-height:38px !important;
  }

  .woocommerce-cart .wc-block-components-quantity-selector__input{
    min-width:46px !important;
    min-height:38px !important;
  }

  .easethat-cart-block-b2b-note{
    padding:11px 12px;
  }
}


/* Production-ready technology ecosystem section. */

.about-partner-section{
  padding-top:34px !important;
  padding-bottom:36px !important;
  background:#fff;
}

.about-partner-heading{
  max-width:880px;
  margin-left:auto;
  margin-right:auto;
  margin-bottom:18px !important;
}

.about-partner-heading h2{
  margin-top:5px;
}

.about-partner-heading > p:last-child{
  max-width:820px;
  margin-left:auto;
  margin-right:auto;
}

.about-ecosystem-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:18px;
  max-width:1040px;
  margin:0 auto;
}

.about-ecosystem-grid article{
  padding:24px;
  border:1px solid var(--line);
  border-top:4px solid var(--teal-accessible);
  border-radius:14px;
  background:#fbfcfd;
  box-shadow:0 10px 28px rgba(6,27,58,.06);
}

.about-ecosystem-grid h3{
  margin:0 0 8px;
  color:var(--navy);
  font-size:18px;
}

.about-ecosystem-grid p{
  margin:0;
  color:#536a7e;
}

@media(max-width:650px){
  .about-partner-section{
    padding-top:28px !important;
    padding-bottom:30px !important;
  }

  .about-ecosystem-grid{grid-template-columns:1fr}
  .about-ecosystem-grid article{padding:20px}
}


/* =========================================================
   V6.13.28 SHOP SEARCH + APPROVED ACCOUNT CHECKOUT GATE
   ========================================================= */

/* ---------- Shop product search ---------- */
.store-product-search{
  width:100%;
  margin:14px 0 16px;
  padding:15px 16px;
  border:1px solid #d8e5eb;
  border-radius:9px;
  background:#fff;
}

.store-product-search > label{
  display:block;
  margin:0 0 7px;
  color:var(--navy);
  font-size:11px;
  font-weight:900;
  letter-spacing:.06em;
  text-transform:uppercase;
}

.store-product-search-row{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:8px;
}

.store-product-search-row input[type="search"]{
  width:100%;
  min-height:44px;
  padding:10px 13px;
  border:1px solid #c5d5df;
  border-radius:6px;
  background:#fff;
  color:var(--navy);
  font-size:13px;
  outline:none;
}

.store-product-search-row input[type="search"]:focus{
  border-color:var(--teal);
  box-shadow:0 0 0 3px rgba(7,169,166,.10);
}

.store-product-search-row .button{
  min-width:102px;
  min-height:44px;
  padding:10px 18px;
}

.store-product-search--compact{
  margin:0 0 20px;
  padding:13px 14px;
  background:#f8fbfc;
}

/* ---------- Checkout login gate ---------- */
.checkout-login-gate{
  display:grid;
  grid-template-columns:minmax(0,1.2fr) minmax(300px,.8fr);
  gap:18px;
  align-items:start;
}

.checkout-login-main{
  padding:24px;
  border:1px solid var(--line);
  border-radius:11px;
  background:#fff;
}

.checkout-login-main h2{
  margin:5px 0 8px;
  color:var(--navy);
  font-size:26px;
}

.checkout-login-main > p{
  color:#5a7184;
}

.checkout-login-main .woocommerce-form-login{
  margin:18px 0 0 !important;
  padding:0 !important;
  border:0 !important;
}

.checkout-login-main .woocommerce-form-row label{
  color:var(--navy);
  font-size:12px;
  font-weight:800;
}

.checkout-login-main .woocommerce-Input{
  min-height:44px;
  border:1px solid #c5d5df !important;
  border-radius:6px !important;
  background:#fff !important;
}

.checkout-login-main .woocommerce-form-login__submit{
  min-height:46px !important;
  border:0 !important;
  border-radius:6px !important;
  background:linear-gradient(95deg,var(--teal),#058f9d) !important;
  color:#fff !important;
  font-weight:900 !important;
}

.checkout-login-main .lost_password{
  margin-top:10px !important;
}

.checkout-trade-account-card{
  padding:24px;
  border-radius:11px;
  background:linear-gradient(140deg,#04172f,#0a3f6d);
  color:#fff;
}

.checkout-trade-account-card h2{
  margin:5px 0 9px;
  color:#fff;
  font-size:24px;
}

.checkout-trade-account-card > p:not(.eyebrow){
  color:#cbd9e5;
  font-size:12.5px;
  line-height:1.6;
}

.checkout-trade-account-card ul{
  display:grid;
  gap:8px;
  margin:16px 0 20px;
  padding:0;
  list-style:none;
}

.checkout-trade-account-card li{
  position:relative;
  padding-left:19px;
  color:#dce7ef;
  font-size:12px;
  line-height:1.5;
}

.checkout-trade-account-card li::before{
  content:"✓";
  position:absolute;
  left:0;
  color:#72e4db;
  font-weight:950;
}

.checkout-trade-account-card .light-button{
  display:inline-flex;
  min-height:46px;
  align-items:center;
  justify-content:center;
  background:#fff !important;
  color:var(--navy) !important;
}

.checkout-gate-actions{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin-top:18px;
}

.checkout-gate-footer{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  margin-top:14px;
  padding:10px 2px 0;
}

.checkout-gate-footer > a:last-child{
  color:var(--teal);
  font-size:12px;
  font-weight:850;
}

/* Extra safeguard: unauthenticated Checkout Block / express payment UI
   should never be visible because the block is not rendered. */
body:not(.logged-in).woocommerce-checkout .wc-block-checkout,
body:not(.logged-in).woocommerce-checkout .wc-block-components-express-payment{
  display:none !important;
}

@media(max-width:820px){
  .checkout-login-gate{
    grid-template-columns:1fr;
  }
}

@media(max-width:650px){
  .store-product-search{
    margin-top:12px;
    padding:13px;
  }

  .store-product-search-row{
    grid-template-columns:1fr;
  }

  .store-product-search-row .button{
    width:100%;
  }

  .checkout-login-main,
  .checkout-trade-account-card{
    padding:18px;
  }

  .checkout-gate-footer{
    align-items:flex-start;
    flex-direction:column;
  }
}


/* =========================================================
   V6.13.29 TRADE APPLICATION APPROVAL / ACTIVATION
   ========================================================= */

.trade-registration-confirmation-page{
  min-height:calc(100vh - 180px);
  padding:46px 0 58px;
  background:#f6f9fb;
}

.trade-application-confirmation{
  max-width:760px;
  margin:0 auto;
  padding:34px;
  border:1px solid #d6e4ea;
  border-top:4px solid var(--teal);
  border-radius:14px;
  background:#fff;
  box-shadow:0 14px 40px rgba(6,27,58,.06);
  text-align:center;
}

.trade-confirmation-icon{
  display:flex;
  align-items:center;
  justify-content:center;
  width:54px;
  height:54px;
  margin:0 auto 15px;
  border-radius:50%;
  background:var(--teal-soft);
  color:var(--teal);
  font-size:26px;
  font-weight:950;
}

.trade-application-confirmation h1{
  margin:6px auto 10px;
  max-width:650px;
  color:var(--navy);
  font-size:clamp(32px,5vw,46px);
  line-height:1.08;
}

.trade-application-confirmation > p{
  max-width:650px;
  margin-left:auto;
  margin-right:auto;
  color:#566e82;
  line-height:1.65;
}

.trade-confirmation-status{
  margin:20px 0;
  padding:14px 16px;
  border-left:4px solid var(--teal);
  border-radius:8px;
  background:#eef9f8;
  text-align:left;
}

.trade-confirmation-status strong{
  display:block;
  margin-bottom:3px;
  color:var(--navy);
}

.trade-confirmation-status span{
  color:#566e82;
  font-size:12.5px;
  line-height:1.55;
}

.trade-confirmation-steps{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:10px;
  margin:20px 0;
  text-align:left;
}

.trade-confirmation-steps > div{
  padding:15px;
  border:1px solid var(--line);
  border-radius:9px;
  background:#f9fbfc;
}

.trade-confirmation-steps > div > span{
  display:flex;
  align-items:center;
  justify-content:center;
  width:25px;
  height:25px;
  margin-bottom:9px;
  border-radius:50%;
  background:var(--navy);
  color:#fff;
  font-size:11px;
  font-weight:900;
}

.trade-confirmation-steps p{
  margin:0;
  color:#61778a;
  font-size:11.5px;
  line-height:1.5;
}

.trade-confirmation-steps strong{
  color:var(--navy);
}

.trade-confirmation-email-note{
  margin-top:18px !important;
  font-size:12px;
}

.trade-confirmation-actions{
  display:flex;
  justify-content:center;
  flex-wrap:wrap;
  gap:10px;
  margin-top:20px;
}

@media(max-width:700px){
  .trade-registration-confirmation-page{
    padding:30px 0 38px;
  }

  .trade-application-confirmation{
    padding:24px 18px;
  }

  .trade-confirmation-steps{
    grid-template-columns:1fr;
  }

  .trade-confirmation-actions{
    display:grid;
    grid-template-columns:1fr;
  }

  .trade-confirmation-actions .button{
    width:100%;
    justify-content:center;
  }
}


/* =========================================================
   V6.13.30 PROFESSIONAL B2B STOREFRONT
   Product listing, archive and single-product redesign.
   ========================================================= */

/* ---------- Store archive / product heroes ---------- */
.product-page-hero,
.store-archive-hero{
  padding-top:56px !important;
  padding-bottom:58px !important;
}

.product-page-hero h1,
.store-archive-hero h1{
  max-width:860px !important;
  margin:0 0 14px !important;
  font-size:clamp(40px,5vw,58px) !important;
}

.product-page-hero > .wrap > p:last-of-type,
.store-archive-hero > .wrap > p:last-of-type{
  max-width:760px !important;
}

.product-page-hero .hub-hero-actions,
.store-archive-hero .hub-hero-actions{
  margin-top:22px;
}

/* ---------- Shop/archive toolbar ---------- */
.woocommerce-store-content{
  background:#f6f9fb;
}

.woocommerce .woocommerce-result-count{
  margin:0 0 18px !important;
  padding-top:10px;
  color:#61778a;
  font-size:12px;
  font-weight:650;
}

.woocommerce .woocommerce-ordering{
  margin:0 0 18px !important;
}

.woocommerce .woocommerce-ordering select{
  min-height:42px;
  border-color:#cbd8e0;
  background:#fff;
  font-size:12px;
  font-weight:700;
}

/* ---------- Professional product-card grid ---------- */
.woocommerce ul.products{
  gap:18px !important;
}

.woocommerce ul.products li.product,
.woocommerce-page ul.products li.product{
  position:relative;
  display:flex !important;
  flex-direction:column;
  min-height:100%;
  padding:0 0 18px !important;
  border:1px solid #d8e4ea !important;
  border-radius:12px !important;
  background:#fff !important;
  box-shadow:0 7px 22px rgba(6,27,58,.045) !important;
  overflow:hidden;
}

@media(hover:hover) and (pointer:fine){
  .woocommerce ul.products li.product:hover{
    transform:translateY(-3px);
    border-color:#bfd5dd !important;
    box-shadow:0 15px 34px rgba(6,27,58,.085) !important;
  }
}

.woocommerce ul.products li.product > a.woocommerce-LoopProduct-link{
  display:flex;
  flex:1 1 auto;
  flex-direction:column;
  text-decoration:none;
}

.woocommerce ul.products li.product a img{
  width:100% !important;
  aspect-ratio:4/3;
  margin:0 0 16px !important;
  padding:22px !important;
  border-bottom:1px solid #e1e9ed;
  background:linear-gradient(145deg,#f3f7f9,#ffffff) !important;
  object-fit:contain;
  transition:transform .18s ease;
}

@media(hover:hover) and (pointer:fine){
  .woocommerce ul.products li.product:hover a img{
    transform:scale(1.018);
  }
}

.easethat-loop-product-category{
  display:block;
  margin:0 18px 7px;
  color:var(--teal);
  font-size:9.5px;
  font-weight:900;
  letter-spacing:.09em;
  text-transform:uppercase;
}

.woocommerce ul.products li.product .woocommerce-loop-product__title{
  display:-webkit-box;
  min-height:47px;
  margin:0 0 8px !important;
  padding:0 18px !important;
  overflow:hidden;
  color:var(--navy) !important;
  font-size:17px !important;
  font-weight:850;
  line-height:1.35 !important;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:2;
}

.woocommerce ul.products li.product .price{
  display:block;
  margin:0 !important;
  padding:0 18px !important;
  color:var(--navy) !important;
  font-size:19px !important;
  font-weight:900 !important;
  line-height:1.25;
}

.woocommerce ul.products li.product .price del{
  color:#8a9aa8;
  font-size:12px;
  font-weight:650;
}

.woocommerce ul.products li.product .price ins{
  text-decoration:none;
}

.easethat-loop-tax-note{
  display:block;
  margin:3px 18px 0;
  color:#8292a0;
  font-size:9.5px;
  line-height:1.4;
}

.easethat-loop-product-description{
  min-height:54px;
  margin:11px 18px 0 !important;
  color:#60778a !important;
  font-size:11.5px !important;
  line-height:1.55 !important;
}

.easethat-loop-product-availability{
  display:flex;
  align-items:center;
  gap:6px;
  margin:11px 18px 0 !important;
  color:#536d78 !important;
  font-size:10.5px !important;
  font-weight:800;
}

.easethat-loop-product-availability > span{
  width:7px;
  height:7px;
  flex:0 0 7px;
  border-radius:50%;
  background:var(--teal);
}

.easethat-loop-product-availability.is-confirm > span{
  background:#9aa8b4;
}

.woocommerce ul.products li.product .star-rating{
  margin:8px 18px 0 !important;
}

/* Primary and secondary card actions. */
.woocommerce ul.products li.product .button{
  width:calc(100% - 36px);
  min-height:42px !important;
  margin:16px 18px 0 !important;
  padding:10px 12px !important;
  border:0 !important;
  border-radius:6px !important;
  background:linear-gradient(95deg,var(--teal),#058f9d) !important;
  color:#fff !important;
  font-size:11.5px !important;
  font-weight:900 !important;
  text-align:center;
}

.woocommerce ul.products li.product .button:hover{
  background:linear-gradient(95deg,#079d9a,#047f8d) !important;
}

.woocommerce ul.products li.product .product-quote-link{
  width:calc(100% - 36px);
  min-height:40px;
  margin:8px 18px 0 !important;
  border-color:#c7d6df;
  background:#fff;
  color:var(--navy);
  font-size:11px;
}

.woocommerce ul.products li.product .product-quote-link:hover{
  border-color:var(--teal);
  background:var(--teal-soft);
  color:var(--navy);
}

.woocommerce ul.products li.product .added_to_cart{
  margin:8px 18px 0 !important;
  padding:7px 10px;
  border-radius:5px;
  background:#eef9f8;
  color:var(--teal);
  font-size:10.5px;
  text-align:center;
}

/* Sale badge */
.woocommerce span.onsale{
  top:10px !important;
  left:10px !important;
  z-index:3;
  margin:0 !important;
  padding:7px 9px !important;
  background:var(--teal) !important;
  box-shadow:0 4px 12px rgba(7,169,166,.20);
}

/* ---------- Single product top section ---------- */
.single-product .woocommerce-store-content{
  padding-top:28px !important;
  padding-bottom:50px !important;
}

.single-product .woocommerce div.product{
  padding:0 !important;
  border:0 !important;
  border-radius:0 !important;
  background:transparent !important;
}

.single-product .woocommerce div.product div.images,
.single-product .woocommerce div.product div.summary{
  box-sizing:border-box;
  margin-bottom:30px !important;
  border:1px solid #d8e4ea;
  border-radius:13px;
  background:#fff;
  box-shadow:0 8px 26px rgba(6,27,58,.04);
}

.single-product .woocommerce div.product div.images{
  width:48% !important;
  padding:24px;
}

.single-product .woocommerce div.product div.summary{
  width:48% !important;
  padding:28px 30px;
}

.single-product .woocommerce div.product div.images img{
  border-radius:9px !important;
  background:linear-gradient(145deg,#f3f7f9,#fff) !important;
  object-fit:contain;
}

.single-product .woocommerce div.product .flex-control-thumbs{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:8px;
  margin-top:10px !important;
}

.single-product .woocommerce div.product .flex-control-thumbs li{
  float:none !important;
  width:auto !important;
}

.single-product .woocommerce div.product .flex-control-thumbs img{
  border:1px solid #dce6eb;
  border-radius:6px !important;
  background:#fff !important;
}

.single-product .woocommerce div.product .product_title{
  display:none !important;
}

.single-product .woocommerce div.product .summary .price{
  margin:0 0 2px !important;
  color:var(--navy) !important;
  font-size:28px !important;
  font-weight:900 !important;
}

.easethat-single-tax-note{
  margin:3px 0 13px !important;
  color:#8292a0;
  font-size:10.5px;
}

.easethat-single-availability{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:6px 8px;
  margin:8px 0 4px;
  color:#506a78;
  font-size:11px;
}

.easethat-single-availability > span{
  width:8px;
  height:8px;
  flex:0 0 8px;
  border-radius:50%;
  background:var(--teal);
}

.easethat-single-availability.is-confirm > span{
  background:#9aa8b4;
}

.easethat-single-availability strong{
  color:#315866;
  font-size:11.5px;
}

.easethat-single-availability small{
  color:#768997;
  font-size:10.5px;
}

.single-product .woocommerce-product-details__short-description{
  margin:18px 0 20px;
  color:#536b7e;
  font-size:13px;
  line-height:1.7;
}

.single-product .woocommerce div.product form.cart{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:9px;
  margin:20px 0 0 !important;
  padding-top:18px;
  border-top:1px solid var(--line);
}

.single-product .woocommerce div.product form.cart .quantity{
  margin:0 !important;
}

.single-product .woocommerce div.product form.cart .button{
  min-height:46px !important;
  border:0 !important;
  background:linear-gradient(95deg,var(--teal),#058f9d) !important;
  font-size:12px;
  font-weight:900;
}

.single-product .woocommerce div.product form.cart .button:hover{
  background:linear-gradient(95deg,#079d9a,#047f8d) !important;
}

.single-product .product-quote-link{
  min-height:44px;
  margin:10px 0 0 !important;
  padding:10px 16px;
  border-color:#c6d6df;
  background:#fff;
  color:var(--navy);
}

.single-product .product-quote-link:hover{
  border-color:var(--teal);
  background:var(--teal-soft);
  color:var(--navy);
}

.easethat-product-buying-note{
  margin-top:14px;
  padding:13px 14px;
  border-left:4px solid var(--teal);
  border-radius:7px;
  background:#eef9f8;
}

.easethat-product-buying-note strong{
  display:block;
  margin-bottom:3px;
  color:var(--navy);
  font-size:11.5px;
}

.easethat-product-buying-note span{
  display:block;
  color:#587084;
  font-size:10.5px;
  line-height:1.55;
}

/* Product metadata */
.single-product .product_meta{
  margin-top:18px;
  padding-top:14px;
  border-top:1px solid var(--line);
  color:#718394;
  font-size:10.5px;
  line-height:1.8;
}

.single-product .product_meta > span{
  display:block;
}

.single-product .product_meta a{
  color:var(--teal);
  font-weight:750;
}

/* ---------- Product tabs / description ---------- */
.single-product .woocommerce-tabs{
  clear:both;
  margin-top:8px;
  padding:24px 26px 26px;
  border:1px solid #d8e4ea;
  border-radius:12px;
  background:#fff;
}

.single-product .woocommerce div.product .woocommerce-tabs ul.tabs{
  display:flex;
  flex-wrap:wrap;
  gap:7px;
  margin:0 0 20px !important;
  padding:0 !important;
  border-bottom:1px solid var(--line);
}

.single-product .woocommerce div.product .woocommerce-tabs ul.tabs::before{
  display:none !important;
}

.single-product .woocommerce div.product .woocommerce-tabs ul.tabs li{
  margin:0 !important;
  padding:0 !important;
  border:0 !important;
  background:transparent !important;
}

.single-product .woocommerce div.product .woocommerce-tabs ul.tabs li::before,
.single-product .woocommerce div.product .woocommerce-tabs ul.tabs li::after{
  display:none !important;
}

.single-product .woocommerce div.product .woocommerce-tabs ul.tabs li a{
  padding:10px 13px !important;
  border-bottom:3px solid transparent;
  color:#60778a;
  font-size:11.5px;
  font-weight:850;
}

.single-product .woocommerce div.product .woocommerce-tabs ul.tabs li.active a{
  border-bottom-color:var(--teal);
  color:var(--navy);
}

.single-product .woocommerce-tabs .panel{
  margin:0 !important;
  color:#536b7e;
  font-size:13px;
  line-height:1.75;
}

.single-product .woocommerce-tabs .panel h2{
  color:var(--navy);
  font-size:24px;
}

/* ---------- Related products ---------- */
.single-product .related.products,
.single-product .upsells.products{
  clear:both;
  margin-top:28px;
  padding-top:26px;
  border-top:1px solid #d8e4ea;
}

.single-product .related.products > h2,
.single-product .upsells.products > h2{
  margin:0 0 18px;
  color:var(--navy);
  font-size:27px;
  line-height:1.2;
}

/* ---------- Responsive ---------- */
@media(max-width:980px){
  .woocommerce ul.products{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  }

  .single-product .woocommerce div.product div.images,
  .single-product .woocommerce div.product div.summary{
    width:100% !important;
    float:none !important;
  }

  .single-product .woocommerce div.product div.images{
    margin-bottom:16px !important;
  }
}

@media(max-width:600px){
  .product-page-hero,
  .store-archive-hero{
    padding-top:38px !important;
    padding-bottom:40px !important;
  }

  .woocommerce ul.products{
    grid-template-columns:1fr !important;
    gap:14px !important;
  }

  .woocommerce ul.products li.product .woocommerce-loop-product__title{
    min-height:0;
  }

  .easethat-loop-product-description{
    min-height:0;
  }

  .single-product .woocommerce-store-content{
    padding-top:18px !important;
  }

  .single-product .woocommerce div.product div.images{
    padding:16px;
  }

  .single-product .woocommerce div.product div.summary{
    padding:20px 18px;
  }

  .single-product .woocommerce-tabs{
    padding:18px 16px 20px;
  }

  .single-product .woocommerce div.product .woocommerce-tabs ul.tabs{
    display:grid;
    grid-template-columns:1fr;
    gap:0;
  }

  .single-product .woocommerce div.product .woocommerce-tabs ul.tabs li a{
    display:block;
    border-bottom:1px solid var(--line);
  }

  .single-product .woocommerce div.product .woocommerce-tabs ul.tabs li.active a{
    border-bottom:2px solid var(--teal);
  }
}


/* =========================================================
   V6.13.31 TRADE APPROVER PORTAL + ADDRESS CAPTURE
   ========================================================= */

/* ---------- Trade application address sections ---------- */
.trade-address-fieldset{
  margin:20px 0 0;
  padding:18px;
  border:1px solid #d8e5eb;
  border-radius:10px;
  background:#f9fbfc;
}

.trade-address-fieldset legend{
  padding:0 7px;
  color:var(--navy);
  font-size:15px;
  font-weight:900;
}

.trade-address-help{
  margin:0 0 14px;
  color:#657b8d;
  font-size:11.5px;
  line-height:1.55;
}

.trade-form-grid{
  display:grid;
  gap:12px;
}

.trade-form-grid--two{
  grid-template-columns:repeat(2,minmax(0,1fr));
}

.trade-address-fieldset .form-row{
  width:100% !important;
  margin:0 0 12px !important;
}

.trade-address-fieldset .trade-form-grid .form-row{
  margin-bottom:0 !important;
}

.trade-address-fieldset select{
  width:100%;
  min-height:50px;
  padding:10px 12px;
  border:1px solid #c9d7df;
  border-radius:8px;
  background:#fff;
  color:var(--navy);
}

.trade-shipping-same{
  margin-bottom:0 !important;
}

.trade-shipping-fields{
  margin-top:16px;
}

.trade-shipping-fields[hidden]{
  display:none !important;
}

/* ---------- My Account staff-only portal link ---------- */
.easethat-approver-dashboard-link{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:5px 18px;
  align-items:center;
  margin-bottom:18px;
  padding:16px 18px;
  border-left:4px solid var(--teal);
  border-radius:8px;
  background:#eef9f8;
}

.easethat-approver-dashboard-link strong{
  color:var(--navy);
  font-size:14px;
}

.easethat-approver-dashboard-link span{
  grid-column:1;
  color:#60778a;
  font-size:11.5px;
}

.easethat-approver-dashboard-link .button{
  grid-column:2;
  grid-row:1 / span 2;
}

/* ---------- Approver portal ---------- */
.trade-approvals-page{
  background:#f6f9fb;
}

.trade-approvals-hero{
  padding-top:52px !important;
  padding-bottom:54px !important;
}

.trade-approvals-content{
  padding:22px 0 50px;
}

.trade-approvals-content > .wrap,
.trade-approvals-login-section > .wrap{
  width:min(1200px,calc(100% - 40px));
  max-width:1200px;
  margin:0 auto;
}

.trade-approvals-login-card{
  max-width:620px;
  margin:0 auto;
  padding:26px;
  border:1px solid var(--line);
  border-radius:12px;
  background:#fff;
}

.trade-portal-notice{
  margin-bottom:14px;
  padding:12px 14px;
  border-radius:7px;
  font-size:12px;
  font-weight:750;
}

.trade-portal-notice.is-success{
  border-left:4px solid var(--teal);
  background:#eef9f8;
  color:#315d68;
}

.trade-portal-notice.is-error{
  border-left:4px solid #b64b4b;
  background:#fff3f3;
  color:#7d3434;
}

.trade-portal-summary{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:10px;
  margin-bottom:14px;
}

.trade-portal-summary a{
  padding:14px 16px;
  border:1px solid var(--line);
  border-radius:9px;
  background:#fff;
  text-decoration:none;
}

.trade-portal-summary a.active{
  border-color:var(--teal);
  box-shadow:inset 0 3px 0 var(--teal);
}

.trade-portal-summary strong{
  display:block;
  color:var(--navy);
  font-size:24px;
}

.trade-portal-summary span{
  color:#657b8d;
  font-size:11px;
  font-weight:750;
}

.trade-portal-search{
  margin-bottom:16px;
  padding:13px 14px;
  border:1px solid var(--line);
  border-radius:9px;
  background:#fff;
}

.trade-portal-search label{
  display:block;
  margin-bottom:6px;
  color:var(--navy);
  font-size:10.5px;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.06em;
}

.trade-portal-search > div{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:8px;
}

.trade-portal-search input{
  min-height:42px;
  padding:9px 12px;
  border:1px solid #c8d6df;
  border-radius:6px;
}

.trade-portal-layout{
  display:grid;
  grid-template-columns:1fr;
  gap:16px;
}

.trade-portal-layout.has-review{
  grid-template-columns:minmax(0,1.25fr) minmax(360px,.75fr);
  align-items:start;
}

.trade-portal-list,
.trade-review-panel{
  border:1px solid var(--line);
  border-radius:11px;
  background:#fff;
}

.trade-portal-list{
  overflow:hidden;
}

.trade-portal-list-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:15px;
  padding:16px 18px;
  border-bottom:1px solid var(--line);
}

.trade-portal-list-head h2{
  margin:0;
  color:var(--navy);
  font-size:19px;
}

.trade-portal-list-head span{
  color:#718596;
  font-size:10.5px;
}

.trade-portal-table-wrap{
  overflow-x:auto;
}

.trade-portal-table{
  width:100%;
  border-collapse:collapse;
}

.trade-portal-table th{
  padding:10px 12px;
  background:#f7fafb;
  color:#738594;
  font-size:9.5px;
  text-align:left;
  text-transform:uppercase;
  letter-spacing:.05em;
}

.trade-portal-table td{
  padding:12px;
  border-top:1px solid #e5ecef;
  color:#4e6679;
  font-size:11px;
  vertical-align:middle;
}

.trade-portal-table tr.is-selected{
  background:#f0faf9;
}

.trade-portal-table td strong{
  display:block;
  color:var(--navy);
  font-size:11.5px;
}

.trade-portal-table td span:not(.trade-status-pill){
  display:block;
  margin-top:2px;
  color:#789;
  font-size:10px;
}

.trade-portal-table td:last-child{
  text-align:right;
}

.trade-portal-table td:last-child a{
  color:var(--teal);
  font-weight:850;
  white-space:nowrap;
}

.trade-status-pill{
  display:inline-flex;
  align-items:center;
  padding:5px 8px;
  border-radius:999px;
  font-size:9.5px;
  font-weight:900;
}

.trade-status-pill.is-pending{
  background:#fff4d9;
  color:#8b6411;
}

.trade-status-pill.is-approved{
  background:#e7f8f4;
  color:#167064;
}

.trade-status-pill.is-rejected{
  background:#fff0f0;
  color:#964545;
}

.trade-review-panel{
  position:sticky;
  top:112px;
  padding:20px;
}

.trade-review-heading{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:14px;
  padding-bottom:14px;
  border-bottom:1px solid var(--line);
}

.trade-review-heading h2{
  margin:4px 0 0;
  color:var(--navy);
  font-size:21px;
}

.trade-review-details{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:0;
  margin:14px 0;
  border:1px solid #e1e9ed;
  border-radius:8px;
  overflow:hidden;
}

.trade-review-details > div{
  padding:10px 11px;
  border-bottom:1px solid #e8eef1;
}

.trade-review-details > div:nth-child(odd){
  border-right:1px solid #e8eef1;
}

.trade-review-details dt{
  color:#7c8d99;
  font-size:9px;
  font-weight:850;
  text-transform:uppercase;
}

.trade-review-details dd{
  margin:3px 0 0;
  color:var(--navy);
  font-size:11px;
  font-weight:700;
}

.trade-review-details dd a{
  color:var(--teal);
}

.trade-review-addresses{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:10px;
}

.trade-review-addresses section{
  padding:12px;
  border:1px solid var(--line);
  border-radius:8px;
  background:#f9fbfc;
}

.trade-review-addresses h3,
.trade-review-audit h3{
  margin:0 0 7px;
  color:var(--navy);
  font-size:12px;
}

.trade-review-addresses p{
  margin:0;
  color:#60778a;
  font-size:10.5px;
  line-height:1.6;
}

.trade-review-terms{
  display:grid;
  gap:3px;
  margin-top:10px;
  padding:11px 12px;
  border-left:4px solid var(--teal);
  border-radius:7px;
  background:#eef9f8;
  font-size:10.5px;
}

.trade-review-terms strong{
  color:var(--navy);
}

.trade-review-terms span{
  color:#315d68;
  font-weight:800;
}

.trade-review-terms small{
  color:#6a8191;
}

.trade-review-actions{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:8px;
  margin-top:14px;
}

.trade-review-actions .button{
  width:100%;
  min-height:42px;
  justify-content:center;
}

.trade-review-actions .trade-reject-button{
  grid-column:1 / -1;
  min-height:40px;
  border:1px solid #e2b8b8;
  border-radius:6px;
  background:#fff;
  color:#9a4141;
  font-weight:850;
}

.trade-review-actions .trade-reject-button:hover{
  background:#fff4f4;
}

.trade-review-audit{
  margin-top:16px;
  padding-top:14px;
  border-top:1px solid var(--line);
}

.trade-review-audit ul{
  display:grid;
  gap:7px;
  margin:0;
  padding:0;
  list-style:none;
}

.trade-review-audit li{
  padding:8px 9px;
  border-radius:6px;
  background:#f7fafb;
}

.trade-review-audit li strong{
  display:block;
  color:var(--navy);
  font-size:10.5px;
}

.trade-review-audit li span{
  color:#778a98;
  font-size:9.5px;
}

.trade-review-audit > p,
.trade-portal-empty{
  padding:18px;
  color:#718596;
  font-size:11px;
}

@media(max-width:980px){
  .trade-portal-layout.has-review{
    grid-template-columns:1fr;
  }

  .trade-review-panel{
    position:static;
  }
}

@media(max-width:700px){
  .trade-form-grid--two,
  .trade-review-details,
  .trade-review-addresses{
    grid-template-columns:1fr;
  }

  .trade-review-details > div:nth-child(odd){
    border-right:0;
  }

  .trade-portal-summary{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }

  .trade-portal-search > div{
    grid-template-columns:1fr;
  }

  .easethat-approver-dashboard-link{
    grid-template-columns:1fr;
  }

  .easethat-approver-dashboard-link .button{
    grid-column:1;
    grid-row:auto;
    width:100%;
    justify-content:center;
  }
}


/* =========================================================
   V6.13.32 STAFF PORTAL / LOGIN / PRODUCT MANAGER
   ========================================================= */

/* ---------- Fix staff login alignment ---------- */
.trade-approvals-login-section,
.staff-login-section{
  padding-top:28px !important;
  padding-bottom:42px !important;
}

.trade-approvals-login-section > .wrap,
.staff-login-section > .wrap{
  width:min(1200px,calc(100% - 40px));
  max-width:1200px;
  margin:0 auto;
}

.trade-approvals-login-card,
.staff-login-card{
  width:100%;
  max-width:620px;
  margin:0 auto;
  padding:28px 30px;
  border:1px solid #d7e4ea;
  border-top:4px solid var(--teal);
  border-radius:12px;
  background:#fff;
  box-shadow:0 10px 28px rgba(6,27,58,.045);
}

.trade-approvals-login-card h2,
.staff-login-card h2{
  margin:6px 0 7px;
  color:var(--navy);
  font-size:25px;
}

.staff-login-intro{
  margin:0 0 18px;
  color:#60778a;
  font-size:12px;
  line-height:1.6;
}

.trade-approvals-login-card .woocommerce-form-login,
.staff-login-card .woocommerce-form-login{
  margin:18px 0 0 !important;
  padding:0 !important;
  border:0 !important;
}

.trade-approvals-login-card .woocommerce-form-row,
.staff-login-card .woocommerce-form-row{
  float:none !important;
  width:100% !important;
  margin:0 0 14px !important;
  padding:0 !important;
}

.trade-approvals-login-card .woocommerce-form-row label,
.staff-login-card .woocommerce-form-row label{
  display:block;
  margin:0 0 6px;
  color:var(--navy);
  font-size:11.5px;
  font-weight:800;
}

.trade-approvals-login-card .woocommerce-Input,
.staff-login-card .woocommerce-Input{
  display:block;
  width:100% !important;
  min-height:46px;
  padding:10px 12px !important;
  border:1px solid #c6d5df !important;
  border-radius:7px !important;
  background:#fff !important;
  color:var(--navy);
  box-shadow:none !important;
}

.trade-approvals-login-card .woocommerce-Input:focus,
.staff-login-card .woocommerce-Input:focus{
  border-color:var(--teal) !important;
  box-shadow:0 0 0 3px rgba(7,169,166,.10) !important;
  outline:none;
}

.trade-approvals-login-card .form-row:has(.woocommerce-form-login__rememberme),
.staff-login-card .form-row:has(.woocommerce-form-login__rememberme){
  display:flex;
  align-items:center;
  gap:14px;
  flex-wrap:wrap;
}

.trade-approvals-login-card .woocommerce-form-login__rememberme,
.staff-login-card .woocommerce-form-login__rememberme{
  display:inline-flex !important;
  align-items:center;
  gap:7px;
  margin:0 !important;
  color:#536b7e;
  font-size:11.5px;
}

.trade-approvals-login-card .woocommerce-form-login__rememberme input,
.staff-login-card .woocommerce-form-login__rememberme input{
  width:16px;
  height:16px;
  margin:0;
}

.trade-approvals-login-card .woocommerce-form-login__submit,
.staff-login-card .woocommerce-form-login__submit{
  float:none !important;
  min-height:44px !important;
  margin:0 !important;
  padding:10px 20px !important;
  border:0 !important;
  border-radius:6px !important;
  background:linear-gradient(95deg,var(--teal),#058f9d) !important;
  color:#fff !important;
  font-size:12px;
  font-weight:900 !important;
}

.trade-approvals-login-card .lost_password,
.staff-login-card .lost_password{
  margin:14px 0 0 !important;
  padding-top:13px;
  border-top:1px solid var(--line);
  font-size:11.5px;
}

.trade-approvals-login-card .lost_password a,
.staff-login-card .lost_password a{
  color:var(--teal);
  font-weight:800;
  text-decoration:none;
}

.trade-approvals-login-card .lost_password a::before,
.staff-login-card .lost_password a::before{
  content:"Forgot your password? ";
  font-weight:800;
}

.trade-approvals-login-card .lost_password a{
  font-size:0;
}

.trade-approvals-login-card .lost_password a::before{
  font-size:11.5px;
}

.staff-login-card .lost_password a{
  font-size:0;
}

.staff-login-card .lost_password a::before{
  font-size:11.5px;
}

/* ---------- Shared staff portal ---------- */
.staff-portal-page,
.staff-products-page{
  background:#f6f9fb;
}

.staff-portal-hero{
  padding-top:52px !important;
  padding-bottom:54px !important;
}

.staff-portal-content,
.staff-products-content{
  padding:22px 0 50px;
}

.staff-portal-content > .wrap,
.staff-products-content > .wrap{
  width:min(1200px,calc(100% - 40px));
  max-width:1200px;
  margin:0 auto;
}

.staff-portal-toolbar,
.staff-subnav{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  margin-bottom:14px;
  padding:10px 13px;
  border:1px solid var(--line);
  border-radius:8px;
  background:#fff;
  color:#61778a;
  font-size:11px;
}

.staff-portal-toolbar a,
.staff-subnav a{
  color:var(--teal);
  font-weight:850;
}

.staff-portal-cards{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:14px;
}

.staff-portal-card{
  display:grid;
  grid-template-columns:52px minmax(0,1fr);
  gap:14px;
  min-height:190px;
  padding:22px;
  border:1px solid #d7e4ea;
  border-radius:12px;
  background:#fff;
  text-decoration:none;
  box-shadow:0 7px 22px rgba(6,27,58,.04);
}

.staff-portal-card:hover{
  transform:translateY(-2px);
  border-color:#b9d5dd;
  box-shadow:0 12px 28px rgba(6,27,58,.07);
}

.staff-portal-icon{
  display:flex;
  align-items:center;
  justify-content:center;
  width:52px;
  height:52px;
  border-radius:50%;
  background:linear-gradient(145deg,#0cb7b3,#07899e);
  color:#fff;
  font-size:13px;
  font-weight:900;
}

.staff-portal-card h2{
  margin:5px 0 6px;
  color:var(--navy);
  font-size:23px;
}

.staff-portal-card p:not(.eyebrow){
  margin:0;
  color:#60778a;
  font-size:12px;
  line-height:1.6;
}

.staff-portal-card > strong{
  grid-column:2;
  align-self:end;
  color:var(--teal);
  font-size:12px;
}

.staff-security-note{
  margin-top:16px;
  padding:13px 15px;
  border-left:4px solid var(--teal);
  border-radius:7px;
  background:#eef9f8;
}

.staff-security-note strong{
  display:block;
  margin-bottom:2px;
  color:var(--navy);
  font-size:11.5px;
}

.staff-security-note span{
  color:#60778a;
  font-size:10.5px;
}

/* ---------- Product Manager ---------- */
.staff-products-toolbar{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  margin-bottom:14px;
  padding:12px 14px;
  border:1px solid var(--line);
  border-radius:9px;
  background:#fff;
}

.staff-products-toolbar form{
  display:grid;
  grid-template-columns:minmax(260px,1fr) 140px auto;
  gap:8px;
  flex:1;
}

.staff-products-toolbar input,
.staff-products-toolbar select{
  min-height:40px;
  padding:8px 11px;
  border:1px solid #c9d7df;
  border-radius:6px;
  background:#fff;
}

.staff-products-toolbar > span{
  color:#718596;
  font-size:10.5px;
  white-space:nowrap;
}

.staff-products-layout{
  display:grid;
  grid-template-columns:1fr;
  gap:16px;
}

.staff-products-layout.has-editor{
  grid-template-columns:minmax(0,1.15fr) minmax(390px,.85fr);
  align-items:start;
}

.staff-products-list,
.staff-product-editor{
  border:1px solid var(--line);
  border-radius:11px;
  background:#fff;
  overflow:hidden;
}

.product-manager-name{
  display:flex;
  align-items:center;
  gap:9px;
  min-width:190px;
}

.product-manager-thumb{
  display:flex;
  align-items:center;
  justify-content:center;
  width:46px;
  height:46px;
  flex:0 0 46px;
  border:1px solid #e0e8ec;
  border-radius:6px;
  background:#f8fafb;
  overflow:hidden;
}

.product-manager-thumb img{
  width:100%;
  height:100%;
  object-fit:contain;
}

.product-status-pill,
.product-complex-label{
  display:inline-flex;
  padding:5px 8px;
  border-radius:999px;
  font-size:9.5px;
  font-weight:900;
}

.product-status-pill.is-publish{
  background:#e8f8f4;
  color:#176e64;
}

.product-status-pill.is-draft{
  background:#eef1f4;
  color:#657784;
}

.product-complex-label{
  background:#f3f0ff;
  color:#625093;
}

.staff-product-editor{
  position:sticky;
  top:112px;
  padding:20px;
  overflow:visible;
}

.staff-product-editor-heading{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
  margin-bottom:15px;
  padding-bottom:13px;
  border-bottom:1px solid var(--line);
}

.staff-product-editor-heading h2{
  margin:4px 0 0;
  color:var(--navy);
  font-size:21px;
}

.staff-product-editor-heading > a{
  color:var(--teal);
  font-size:10.5px;
  font-weight:850;
}

.staff-product-form{
  display:grid;
  gap:14px;
}

.staff-product-form > label,
.staff-product-form fieldset{
  display:grid;
  gap:6px;
  margin:0;
}

.staff-product-form label > span,
.staff-product-form legend{
  color:var(--navy);
  font-size:10.5px;
  font-weight:850;
}

.staff-product-form input[type="text"],
.staff-product-form input[type="number"],
.staff-product-form input[type="search"],
.staff-product-form input[type="file"],
.staff-product-form select,
.staff-product-form textarea{
  width:100%;
  min-height:40px;
  padding:8px 10px;
  border:1px solid #c9d7df;
  border-radius:6px;
  background:#fff;
  color:var(--navy);
  font:inherit;
  font-size:11.5px;
}

.staff-product-form textarea{
  min-height:90px;
  resize:vertical;
}

.staff-product-form fieldset{
  padding:12px;
  border:1px solid #dde7eb;
  border-radius:8px;
  background:#f9fbfc;
}

.staff-product-form fieldset legend{
  padding:0 5px;
}

.staff-product-form-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:9px;
}

.staff-product-form-grid--four{
  grid-template-columns:repeat(4,minmax(0,1fr));
}

.staff-product-category-list{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:7px;
  max-height:150px;
  overflow:auto;
}

.staff-product-category-list label,
.staff-product-check{
  display:flex !important;
  align-items:center;
  gap:7px;
  font-size:10.5px;
  font-weight:700;
}

.staff-product-category-list input,
.staff-product-check input{
  width:15px !important;
  height:15px;
  flex:0 0 15px;
}

.staff-product-form small{
  color:#758895;
  font-size:9.5px;
  line-height:1.45;
}

.staff-product-current-image{
  display:flex;
  align-items:center;
  justify-content:center;
  max-width:180px;
  min-height:120px;
  padding:8px;
  border:1px solid #dce5ea;
  border-radius:7px;
  background:#fff;
}

.staff-product-current-image img{
  max-width:100%;
  max-height:150px;
  object-fit:contain;
}

.staff-product-form-actions{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:8px;
  padding-top:4px;
}

.staff-product-warning{
  margin:14px 0;
  padding:13px 14px;
  border-left:4px solid #8a72bf;
  border-radius:7px;
  background:#f4f1fb;
  color:#5e5573;
  font-size:11px;
  line-height:1.6;
}

@media(max-width:1000px){
  .staff-products-layout.has-editor{
    grid-template-columns:1fr;
  }

  .staff-product-editor{
    position:static;
  }
}

@media(max-width:700px){
  .trade-approvals-login-card,
  .staff-login-card{
    padding:22px 18px;
  }

  .staff-portal-cards{
    grid-template-columns:1fr;
  }

  .staff-products-toolbar{
    align-items:stretch;
    flex-direction:column;
  }

  .staff-products-toolbar form{
    grid-template-columns:1fr;
  }

  .staff-product-form-grid,
  .staff-product-form-grid--four,
  .staff-product-category-list{
    grid-template-columns:1fr;
  }

  .staff-product-form-actions{
    grid-template-columns:1fr;
  }

  .staff-subnav{
    align-items:flex-start;
    flex-direction:column;
  }
}


/* =========================================================
   V6.13.33 PROFESSIONAL STAFF LOGIN
   Final override of legacy WooCommerce form-row rules.
   ========================================================= */

.trade-approvals-login-card,
.staff-login-card{
  max-width:560px !important;
  padding:30px 32px !important;
}

.trade-approvals-login-card .woocommerce-form-login,
.staff-login-card .woocommerce-form-login{
  display:grid !important;
  grid-template-columns:1fr !important;
  gap:0 !important;
  width:100% !important;
  margin:20px 0 0 !important;
}

/* Force both credential rows into identical vertical field groups. */
.trade-approvals-login-card .woocommerce-form-login .form-row,
.staff-login-card .woocommerce-form-login .form-row{
  display:grid !important;
  grid-template-columns:1fr !important;
  gap:7px !important;
  width:100% !important;
  max-width:none !important;
  margin:0 0 16px !important;
  padding:0 !important;
  float:none !important;
  clear:both !important;
  box-sizing:border-box !important;
}

.trade-approvals-login-card .woocommerce-form-login .form-row > label,
.staff-login-card .woocommerce-form-login .form-row > label{
  display:block !important;
  width:100% !important;
  margin:0 !important;
  padding:0 !important;
  color:var(--navy) !important;
  font-size:11.5px !important;
  font-weight:850 !important;
  line-height:1.4 !important;
  box-sizing:border-box !important;
}

.trade-approvals-login-card .woocommerce-form-login .woocommerce-Input,
.staff-login-card .woocommerce-form-login .woocommerce-Input{
  display:block !important;
  width:100% !important;
  max-width:none !important;
  min-width:0 !important;
  height:48px !important;
  min-height:48px !important;
  margin:0 !important;
  padding:0 13px !important;
  border:1px solid #bfcfda !important;
  border-radius:7px !important;
  background:#fff !important;
  color:var(--navy) !important;
  font-size:13px !important;
  line-height:48px !important;
  box-sizing:border-box !important;
  appearance:none;
  -webkit-appearance:none;
}

.trade-approvals-login-card .woocommerce-form-login .woocommerce-Input:hover,
.staff-login-card .woocommerce-form-login .woocommerce-Input:hover{
  border-color:#a9bfcc !important;
}

.trade-approvals-login-card .woocommerce-form-login .woocommerce-Input:focus,
.staff-login-card .woocommerce-form-login .woocommerce-Input:focus{
  border-color:var(--teal) !important;
  box-shadow:0 0 0 3px rgba(7,169,166,.12) !important;
  outline:none !important;
}

/* WooCommerce puts Remember Me and the submit button in the same form-row.
   Turn that row into a clean control stack. */
.trade-approvals-login-card .woocommerce-form-login .form-row:has(.woocommerce-form-login__rememberme),
.staff-login-card .woocommerce-form-login .form-row:has(.woocommerce-form-login__rememberme){
  display:grid !important;
  grid-template-columns:1fr !important;
  gap:12px !important;
  margin:2px 0 0 !important;
}

.trade-approvals-login-card .woocommerce-form-login__rememberme,
.staff-login-card .woocommerce-form-login__rememberme{
  display:inline-flex !important;
  width:max-content !important;
  align-items:center !important;
  gap:8px !important;
  margin:0 !important;
  color:#566f82 !important;
  font-size:11.5px !important;
  font-weight:650 !important;
  cursor:pointer;
}

.trade-approvals-login-card .woocommerce-form-login__rememberme input,
.staff-login-card .woocommerce-form-login__rememberme input{
  width:17px !important;
  height:17px !important;
  min-height:0 !important;
  margin:0 !important;
  padding:0 !important;
  accent-color:var(--teal);
}

/* Make the action unmistakably primary and aligned with the fields. */
.trade-approvals-login-card .woocommerce-form-login__submit,
.staff-login-card .woocommerce-form-login__submit{
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  width:100% !important;
  min-width:0 !important;
  min-height:48px !important;
  margin:0 !important;
  padding:11px 18px !important;
  float:none !important;
  border:0 !important;
  border-radius:7px !important;
  background:linear-gradient(95deg,var(--teal),#058f9d) !important;
  color:#fff !important;
  font-size:12px !important;
  font-weight:900 !important;
  letter-spacing:.01em;
  box-shadow:0 7px 18px rgba(7,169,166,.15) !important;
}

.trade-approvals-login-card .woocommerce-form-login__submit:hover,
.staff-login-card .woocommerce-form-login__submit:hover{
  background:linear-gradient(95deg,#079d9a,#047f8d) !important;
  transform:translateY(-1px);
}

/* Password recovery is a secondary utility, not another primary action. */
.trade-approvals-login-card .lost_password,
.staff-login-card .lost_password{
  display:flex !important;
  justify-content:center !important;
  width:100% !important;
  margin:16px 0 0 !important;
  padding:15px 0 0 !important;
  border-top:1px solid #e2eaee !important;
  text-align:center !important;
}

.trade-approvals-login-card .lost_password a,
.staff-login-card .lost_password a{
  display:inline-flex !important;
  align-items:center;
  gap:5px;
  color:var(--teal) !important;
  font-size:11.5px !important;
  font-weight:850 !important;
  line-height:1.4;
  text-decoration:none !important;
}

.trade-approvals-login-card .lost_password a::before,
.staff-login-card .lost_password a::before{
  content:"" !important;
}

.trade-approvals-login-card .lost_password a:hover,
.staff-login-card .lost_password a:hover{
  text-decoration:underline !important;
}

/* Slightly tighter text hierarchy above the form. */
.trade-approvals-login-card > .eyebrow,
.staff-login-card > .eyebrow{
  margin-bottom:8px !important;
}

.trade-approvals-login-card h2,
.staff-login-card h2{
  margin:0 0 8px !important;
  font-size:26px !important;
  line-height:1.2 !important;
}

.staff-login-intro{
  margin-bottom:4px !important;
}

@media(max-width:650px){
  .trade-approvals-login-card,
  .staff-login-card{
    max-width:none !important;
    padding:22px 18px !important;
  }

  .trade-approvals-login-card .woocommerce-form-login .woocommerce-Input,
  .staff-login-card .woocommerce-form-login .woocommerce-Input,
  .trade-approvals-login-card .woocommerce-form-login__submit,
  .staff-login-card .woocommerce-form-login__submit{
    min-height:46px !important;
    height:46px !important;
  }
}


/* =========================================================
   V6.13.34 EXACT STAFF CREDENTIAL FIELD NORMALISATION
   Username is a direct WooCommerce input; password is wrapped
   in .password-input. Force both structures to be identical.
   ========================================================= */

body .staff-login-card form.woocommerce-form-login .easethat-staff-credential-row,
body .trade-approvals-login-card form.woocommerce-form-login .easethat-staff-credential-row,
body .staff-login-card form.woocommerce-form-login p:has(#username),
body .staff-login-card form.woocommerce-form-login p:has(#password),
body .trade-approvals-login-card form.woocommerce-form-login p:has(#username),
body .trade-approvals-login-card form.woocommerce-form-login p:has(#password){
  display:flex !important;
  flex-direction:column !important;
  align-items:stretch !important;
  justify-content:flex-start !important;
  gap:7px !important;
  width:100% !important;
  max-width:100% !important;
  min-width:100% !important;
  margin:0 0 16px !important;
  padding:0 !important;
  float:none !important;
  clear:both !important;
  box-sizing:border-box !important;
}

body .staff-login-card form.woocommerce-form-login .easethat-staff-credential-row > label,
body .trade-approvals-login-card form.woocommerce-form-login .easethat-staff-credential-row > label,
body .staff-login-card form.woocommerce-form-login label[for="username"],
body .staff-login-card form.woocommerce-form-login label[for="password"],
body .trade-approvals-login-card form.woocommerce-form-login label[for="username"],
body .trade-approvals-login-card form.woocommerce-form-login label[for="password"]{
  display:block !important;
  flex:none !important;
  width:100% !important;
  max-width:100% !important;
  margin:0 !important;
  padding:0 !important;
}

/* Password's extra WooCommerce wrapper must occupy exactly the same width
   as the direct username input. */
body .staff-login-card form.woocommerce-form-login .password-input,
body .trade-approvals-login-card form.woocommerce-form-login .password-input,
body .staff-login-card form.woocommerce-form-login .easethat-staff-password-wrapper,
body .trade-approvals-login-card form.woocommerce-form-login .easethat-staff-password-wrapper{
  position:relative !important;
  display:block !important;
  flex:none !important;
  width:100% !important;
  max-width:100% !important;
  min-width:100% !important;
  margin:0 !important;
  padding:0 !important;
  box-sizing:border-box !important;
}

body .staff-login-card form.woocommerce-form-login #username,
body .staff-login-card form.woocommerce-form-login #password,
body .trade-approvals-login-card form.woocommerce-form-login #username,
body .trade-approvals-login-card form.woocommerce-form-login #password,
body .staff-login-card form.woocommerce-form-login input[name="username"],
body .staff-login-card form.woocommerce-form-login input[name="password"],
body .trade-approvals-login-card form.woocommerce-form-login input[name="username"],
body .trade-approvals-login-card form.woocommerce-form-login input[name="password"],
body .staff-login-card form.woocommerce-form-login .easethat-staff-credential-input,
body .trade-approvals-login-card form.woocommerce-form-login .easethat-staff-credential-input{
  display:block !important;
  flex:none !important;
  width:100% !important;
  max-width:100% !important;
  min-width:100% !important;
  height:48px !important;
  min-height:48px !important;
  max-height:48px !important;
  margin:0 !important;
  padding:0 13px !important;
  border:1px solid #bfcfda !important;
  border-radius:7px !important;
  background:#fff !important;
  color:var(--navy) !important;
  font-size:13px !important;
  line-height:normal !important;
  box-sizing:border-box !important;
}

/* Keep WooCommerce's password reveal icon inside the equal-width field. */
body .staff-login-card form.woocommerce-form-login .show-password-input,
body .trade-approvals-login-card form.woocommerce-form-login .show-password-input{
  top:50% !important;
  right:12px !important;
  transform:translateY(-50%) !important;
}

@media(max-width:650px){
  body .staff-login-card form.woocommerce-form-login #username,
  body .staff-login-card form.woocommerce-form-login #password,
  body .trade-approvals-login-card form.woocommerce-form-login #username,
  body .trade-approvals-login-card form.woocommerce-form-login #password{
    height:46px !important;
    min-height:46px !important;
    max-height:46px !important;
  }
}


/* =========================================================
   V6.13.37 B2B QUOTE & INVOICE SYSTEM
   ========================================================= */

.staff-quotes-page{
  background:#f6f9fb;
}

.staff-quotes-content{
  padding:22px 0 50px;
}

.staff-quotes-content > .wrap{
  width:min(1240px,calc(100% - 40px));
  max-width:1240px;
  margin:0 auto;
}

.staff-subnav > span{
  display:flex;
  align-items:center;
  gap:14px;
}

.quote-manager-summary{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:10px;
  margin-bottom:14px;
}

.quote-manager-summary a{
  display:block;
  padding:14px 16px;
  border:1px solid var(--line);
  border-radius:9px;
  background:#fff;
  text-decoration:none;
}

.quote-manager-summary a.active{
  border-color:var(--teal);
  box-shadow:inset 0 3px 0 var(--teal);
}

.quote-manager-summary strong{
  display:block;
  color:var(--navy);
  font-size:24px;
  line-height:1;
}

.quote-manager-summary span{
  display:block;
  margin-top:4px;
  color:#657b8d;
  font-size:10.5px;
  font-weight:750;
}

.quote-manager-toolbar{
  padding:12px 14px !important;
}

.quote-manager-search-grid{
  display:grid;
  grid-template-columns:minmax(240px,1fr) 180px auto;
  gap:8px;
  flex:1;
}

.staff-quotes-layout{
  display:grid;
  grid-template-columns:1fr;
  gap:16px;
}

.staff-quotes-layout.has-editor{
  grid-template-columns:minmax(0,1.12fr) minmax(430px,.88fr);
  align-items:start;
}

.staff-quotes-list,
.staff-quote-editor{
  border:1px solid var(--line);
  border-radius:11px;
  background:#fff;
}

.staff-quotes-list{
  overflow:hidden;
}

.quote-manager-table td:first-child,
.quote-manager-table td:nth-child(2){
  min-width:145px;
}

.quote-manager-table td strong{
  display:block;
  color:var(--navy);
}

.quote-manager-table td span:not(.quote-status-pill){
  display:block;
  margin-top:3px;
  color:#7b8c98;
  font-size:9.8px;
}

.quote-status-pill{
  display:inline-flex;
  align-items:center;
  min-height:24px;
  padding:4px 9px;
  border-radius:999px;
  font-size:9.5px;
  font-weight:900;
  white-space:nowrap;
}

.quote-status-pill.is-request{
  background:#edf2ff;
  color:#4a60a2;
}

.quote-status-pill.is-draft{
  background:#eef1f4;
  color:#61717e;
}

.quote-status-pill.is-sent,
.quote-status-pill.is-viewed{
  background:#e8f4ff;
  color:#2d668f;
}

.quote-status-pill.is-awaiting-payment{
  background:#fff3d8;
  color:#865f0d;
}

.quote-status-pill.is-paid{
  background:#e6f7ef;
  color:#176a50;
}

.quote-status-pill.is-declined,
.quote-status-pill.is-expired{
  background:#fff0f0;
  color:#914040;
}

.staff-quote-editor{
  position:sticky;
  top:112px;
  padding:20px;
}

.quote-request-source{
  display:grid;
  gap:6px;
  margin-bottom:16px;
  padding:13px 14px;
  border-left:4px solid #6376bc;
  border-radius:7px;
  background:#f3f5ff;
}

.quote-request-source > strong{
  color:var(--navy);
  font-size:11.5px;
}

.quote-request-source > div{
  display:grid;
  grid-template-columns:75px 1fr;
  gap:8px;
  font-size:10px;
}

.quote-request-source span{
  color:#7b879d;
  text-transform:uppercase;
  font-weight:800;
}

.quote-request-source b{
  color:#45566d;
  font-weight:700;
}

.staff-quote-form{
  display:grid;
  gap:14px;
}

.staff-quote-form > label{
  display:grid;
  gap:6px;
}

.staff-quote-form label > span,
.staff-quote-form legend{
  color:var(--navy);
  font-size:10.5px;
  font-weight:850;
}

.staff-quote-form input[type="text"],
.staff-quote-form input[type="number"],
.staff-quote-form input[type="date"],
.staff-quote-form select,
.staff-quote-form textarea{
  width:100%;
  min-height:40px;
  padding:8px 10px;
  border:1px solid #c9d7df;
  border-radius:6px;
  background:#fff;
  color:var(--navy);
  font:inherit;
  font-size:11.5px;
  box-sizing:border-box;
}

.staff-quote-form textarea{
  resize:vertical;
}

.staff-quote-form input:focus,
.staff-quote-form select:focus,
.staff-quote-form textarea:focus{
  border-color:var(--teal);
  box-shadow:0 0 0 3px rgba(7,169,166,.10);
  outline:none;
}

.staff-quote-form small,
.quote-line-fieldset .field-helper{
  margin:0;
  color:#758895;
  font-size:9.5px;
  line-height:1.45;
}

.quote-line-fieldset{
  margin:0;
  padding:13px;
  border:1px solid #dbe6ea;
  border-radius:9px;
  background:#f9fbfc;
}

.quote-line-fieldset legend{
  padding:0 5px;
}

.quote-editor-lines{
  display:grid;
  gap:10px;
  margin-top:11px;
  margin-bottom:10px;
}

.quote-editor-line{
  display:grid;
  gap:9px;
  padding:12px;
  border:1px solid #dbe5ea;
  border-radius:8px;
  background:#fff;
}

.quote-editor-line-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  padding-bottom:8px;
  border-bottom:1px solid #edf1f3;
}

.quote-editor-line-head strong{
  color:var(--navy);
  font-size:11px;
}

.quote-line-remove{
  padding:0;
  border:0;
  background:none;
  color:#a04444;
  font-size:9.8px;
  font-weight:800;
  cursor:pointer;
}

.quote-line-numbers{
  display:grid;
  grid-template-columns:.6fr 1fr .8fr;
  gap:8px;
}

.quote-line-numbers label,
.quote-editor-line > label{
  display:grid;
  gap:5px;
}

.quote-shipping-taxable{
  margin-top:-4px;
}

.staff-quote-form-actions,
.quote-editor-document-actions{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:8px;
}

.quote-editor-document-actions{
  margin-top:14px;
}

.quote-editor-document-actions .button{
  width:100%;
  justify-content:center;
}

.quote-audit small{
  display:block;
  margin-top:2px;
  color:#8a98a3;
  font-size:9px;
}

.quote-document-settings{
  margin-top:18px;
  border:1px solid var(--line);
  border-radius:9px;
  background:#fff;
}

.quote-document-settings summary{
  padding:13px 15px;
  color:var(--navy);
  font-size:11.5px;
  font-weight:850;
  cursor:pointer;
}

.quote-document-settings form{
  display:grid;
  gap:10px;
  padding:0 15px 15px;
}

.quote-document-settings label{
  display:grid;
  gap:6px;
  max-width:430px;
}

.quote-document-settings label span{
  color:var(--navy);
  font-size:10.5px;
  font-weight:850;
}

.quote-document-settings input{
  min-height:40px;
  padding:8px 10px;
  border:1px solid #c9d7df;
  border-radius:6px;
}

.quote-document-settings p{
  margin:0;
  max-width:760px;
  color:#718391;
  font-size:10px;
  line-height:1.55;
}

/* ---------- Quote / invoice line tables ---------- */
.quote-lines-wrap{
  margin-top:16px;
}

.quote-lines-table{
  width:100%;
  border-collapse:collapse;
  border:1px solid #dbe4e9;
  background:#fff;
}

.quote-lines-table th{
  padding:9px 10px;
  background:#f5f8fa;
  color:#677a89;
  font-size:9px;
  font-weight:850;
  text-align:left;
  text-transform:uppercase;
  letter-spacing:.04em;
}

.quote-lines-table td{
  padding:11px 10px;
  border-top:1px solid #e4ebef;
  color:#4f6577;
  font-size:10.5px;
  vertical-align:top;
}

.quote-lines-table td:first-child{
  width:46%;
}

.quote-lines-table td strong{
  display:block;
  color:var(--navy);
  font-size:11px;
}

.quote-lines-table td span{
  display:block;
  margin-top:4px;
  color:#718391;
  font-size:9.5px;
  line-height:1.5;
}

.quote-totals{
  width:min(390px,100%);
  margin:12px 0 0 auto;
  border:1px solid #dbe4e9;
  border-radius:8px;
  background:#fff;
  overflow:hidden;
}

.quote-totals > div{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  padding:8px 11px;
  border-top:1px solid #e7edf0;
  color:#617588;
  font-size:10.5px;
}

.quote-totals > div:first-child{
  border-top:0;
}

.quote-totals strong{
  color:var(--navy);
}

.quote-totals .quote-total-grand{
  padding:11px;
  background:#eef9f8;
  color:var(--navy);
  font-size:12px;
  font-weight:850;
}

.quote-totals .quote-total-grand strong{
  color:var(--teal);
  font-size:16px;
}

/* ---------- Customer My Account quotes ---------- */
.easethat-account-quotes{
  display:grid;
  gap:16px;
}

.account-section-heading{
  padding-bottom:12px;
  border-bottom:1px solid var(--line);
}

.account-section-heading h2{
  margin:4px 0 6px;
  color:var(--navy);
  font-size:24px;
}

.account-section-heading > p:last-child{
  margin:0;
  color:#647a8b;
  font-size:11.5px;
}

.account-quotes-table-wrap{
  overflow-x:auto;
  border:1px solid var(--line);
  border-radius:9px;
}

.account-quotes-table{
  width:100%;
  border-collapse:collapse;
  background:#fff;
}

.account-quotes-table th{
  padding:10px 11px;
  background:#f7fafb;
  color:#748694;
  font-size:9px;
  text-align:left;
  text-transform:uppercase;
}

.account-quotes-table td{
  padding:11px;
  border-top:1px solid #e5ecef;
  color:#52697b;
  font-size:10.5px;
  vertical-align:middle;
}

.account-quotes-table td strong{
  color:var(--navy);
}

.quote-actions-cell{
  white-space:nowrap;
  text-align:right;
}

.quote-actions-cell a{
  margin-left:8px;
  color:var(--teal);
  font-weight:850;
}

.quote-actions-cell .quote-pay-link{
  display:inline-flex;
  padding:6px 9px;
  border-radius:5px;
  background:var(--teal);
  color:#fff;
}

.account-quotes-empty{
  padding:22px;
  border:1px solid var(--line);
  border-radius:9px;
  background:#fff;
}

.account-quotes-empty strong{
  color:var(--navy);
}

.account-quotes-empty p{
  color:#647a8b;
  font-size:11.5px;
}

.customer-quote-detail{
  display:grid;
  gap:15px;
}

.customer-quote-detail-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:15px;
  padding-bottom:12px;
  border-bottom:1px solid var(--line);
}

.customer-quote-detail-head .eyebrow{
  margin-top:10px;
}

.customer-quote-detail-head h2{
  margin:3px 0 0;
  color:var(--navy);
  font-size:27px;
}

.customer-quote-meta{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:9px;
}

.customer-quote-meta > div{
  padding:11px 12px;
  border:1px solid var(--line);
  border-radius:7px;
  background:#f9fbfc;
}

.customer-quote-meta span{
  display:block;
  color:#7a8b97;
  font-size:8.8px;
  font-weight:850;
  text-transform:uppercase;
}

.customer-quote-meta strong{
  display:block;
  margin-top:3px;
  color:var(--navy);
  font-size:11.5px;
}

.customer-quote-note{
  padding:12px 14px;
  border-left:4px solid var(--teal);
  border-radius:7px;
  background:#eef9f8;
}

.customer-quote-note strong{
  color:var(--navy);
  font-size:11px;
}

.customer-quote-note p{
  margin:4px 0 0;
  color:#5d7486;
  font-size:10.5px;
  line-height:1.55;
}

.customer-quote-actions{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:8px;
  padding-top:4px;
}

.customer-quote-actions form{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:8px;
  margin:0;
}

.quote-decline-button{
  min-height:42px;
  border:1px solid #dfbcbc !important;
  background:#fff !important;
  color:#994545 !important;
}

.customer-quote-question{
  margin-left:auto;
  color:var(--teal);
  font-size:10.5px;
  font-weight:850;
}

/* ---------- Printable commercial documents ---------- */
.commercial-document-page{
  min-height:100vh;
  padding-bottom:48px;
  background:#edf2f5;
}

.commercial-document-toolbar{
  padding:14px 0;
  background:#fff;
  border-bottom:1px solid var(--line);
}

.commercial-document-toolbar .wrap{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:8px;
  width:min(1000px,calc(100% - 40px));
  max-width:1000px;
}

.commercial-document-toolbar .commerce-back-link{
  margin-right:auto;
}

.commercial-document-sheet{
  width:min(920px,calc(100% - 40px));
  margin:30px auto 0;
  padding:44px 48px;
  border:1px solid #d9e1e5;
  background:#fff;
  box-shadow:0 18px 50px rgba(6,27,58,.08);
}

.commercial-document-brand{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:30px;
  padding-bottom:24px;
  border-bottom:3px solid var(--navy);
}

.commercial-document-brand h1{
  margin:4px 0 0;
  color:var(--navy);
  font-size:38px;
}

.commercial-document-reference{
  text-align:right;
}

.commercial-document-reference strong{
  display:block;
  color:var(--navy);
  font-size:18px;
}

.commercial-document-reference span{
  display:inline-flex;
  margin-top:6px;
  padding:5px 8px;
  border-radius:999px;
  background:#eef9f8;
  color:#176a60;
  font-size:9.5px;
  font-weight:850;
}

.commercial-document-parties{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:36px;
  margin-top:26px;
}

.commercial-document-parties section{
  min-height:150px;
}

.commercial-document-parties section > span{
  display:block;
  margin-bottom:6px;
  color:#84939e;
  font-size:8.8px;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.07em;
}

.commercial-document-parties strong{
  color:var(--navy);
  font-size:12.5px;
}

.commercial-document-parties p{
  margin:5px 0 0;
  color:#5c7182;
  font-size:10.5px;
  line-height:1.55;
}

.commercial-document-dates{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:8px;
  margin:20px 0;
}

.commercial-document-dates > div{
  padding:9px 10px;
  border:1px solid #dfe7eb;
  border-radius:6px;
  background:#f9fbfc;
}

.commercial-document-dates span{
  display:block;
  color:#81909a;
  font-size:8.5px;
  font-weight:850;
  text-transform:uppercase;
}

.commercial-document-dates strong{
  display:block;
  margin-top:3px;
  color:var(--navy);
  font-size:10.5px;
}

.commercial-document-notes{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
  margin-top:20px;
}

.commercial-document-notes section{
  padding:13px 14px;
  border:1px solid #dfe7eb;
  border-radius:7px;
  background:#f9fbfc;
}

.commercial-document-notes h2{
  margin:0 0 5px;
  color:var(--navy);
  font-size:11px;
}

.commercial-document-notes p{
  margin:0;
  color:#5f7485;
  font-size:10px;
  line-height:1.55;
}

.invoice-payment-status{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  margin-top:20px;
  padding:12px 14px;
  border-left:4px solid var(--teal);
  border-radius:6px;
  background:#eef9f8;
}

.invoice-payment-status.is-pending{
  border-left-color:#d3a33b;
  background:#fff8e9;
}

.invoice-payment-status strong{
  color:var(--navy);
  font-size:11px;
}

.invoice-payment-status span{
  color:#62788a;
  font-size:10px;
}

.commercial-document-footer{
  margin-top:26px;
  padding-top:16px;
  border-top:1px solid #dfe7eb;
}

.commercial-document-footer p{
  margin:0;
  color:#7a8994;
  font-size:9px;
  line-height:1.55;
}

@media(max-width:1050px){
  .staff-quotes-layout.has-editor{
    grid-template-columns:1fr;
  }

  .staff-quote-editor{
    position:static;
  }
}

@media(max-width:760px){
  .quote-manager-summary{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }

  .quote-manager-search-grid{
    grid-template-columns:1fr;
  }

  .quote-line-numbers,
  .customer-quote-meta,
  .commercial-document-parties,
  .commercial-document-notes{
    grid-template-columns:1fr;
  }

  .commercial-document-dates{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }

  .staff-quote-form-actions,
  .quote-editor-document-actions{
    grid-template-columns:1fr;
  }

  .commercial-document-sheet{
    padding:28px 22px;
  }

  .commercial-document-brand{
    flex-direction:column;
  }

  .commercial-document-reference{
    text-align:left;
  }

  .customer-quote-actions,
  .customer-quote-actions form{
    align-items:stretch;
    flex-direction:column;
  }

  .customer-quote-actions .button{
    width:100%;
    justify-content:center;
  }

  .customer-quote-question{
    margin-left:0;
  }
}

@media print{
  body{
    background:#fff !important;
  }

  body > header,
  body > footer,
  .site-header,
  .site-footer,
  .no-print,
  .cookie-banner,
  #cookie-banner{
    display:none !important;
  }

  .commercial-document-page{
    padding:0 !important;
    background:#fff !important;
  }

  .commercial-document-sheet{
    width:100% !important;
    max-width:none !important;
    margin:0 !important;
    padding:12mm !important;
    border:0 !important;
    box-shadow:none !important;
  }

  .quote-lines-table,
  .quote-totals,
  .commercial-document-parties section,
  .commercial-document-dates > div,
  .commercial-document-notes section{
    break-inside:avoid;
  }

  @page{
    size:A4;
    margin:10mm;
  }
}


/* =========================================================
   V6.13.38 QUOTE CONTACT + RESEND WORKFLOW
   ========================================================= */

.quote-editor-status-stack{
  display:grid;
  justify-items:end;
  gap:4px;
}

.quote-editor-status-stack small{
  color:#778a98;
  font-size:9.5px;
  font-weight:750;
}

.quote-customer-contact-card{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:1px;
  margin:-3px 0 2px;
  border:1px solid #dbe6eb;
  border-radius:8px;
  background:#dbe6eb;
  overflow:hidden;
}

.quote-customer-contact-card > div{
  min-width:0;
  padding:9px 10px;
  background:#f9fbfc;
}

.quote-customer-contact-card span{
  display:block;
  margin-bottom:3px;
  color:#7b8c99;
  font-size:8.5px;
  font-weight:850;
  letter-spacing:.05em;
  text-transform:uppercase;
}

.quote-customer-contact-card strong{
  display:block;
  overflow:hidden;
  color:var(--navy);
  font-size:10.5px;
  line-height:1.4;
  text-overflow:ellipsis;
}

.quote-revision-callout{
  margin:0 0 14px;
  padding:12px 14px;
  border-left:4px solid var(--teal);
  border-radius:7px;
  background:#eef9f8;
}

.quote-revision-callout strong{
  display:block;
  margin-bottom:3px;
  color:var(--navy);
  font-size:11.5px;
}

.quote-revision-callout span{
  display:block;
  color:#587084;
  font-size:10.5px;
  line-height:1.55;
}

.quote-document-settings form{
  display:grid;
  gap:12px;
}

.quote-document-settings form > label{
  display:grid;
  gap:5px;
}

.quote-document-settings form input[type="email"]{
  width:100%;
  min-height:42px;
  padding:9px 11px;
  border:1px solid #c9d7df;
  border-radius:6px;
  background:#fff;
}

@media(max-width:700px){
  .quote-customer-contact-card{
    grid-template-columns:1fr;
  }

  .quote-editor-status-stack{
    justify-items:start;
  }
}


/* =========================================================
   V6.13.41 STAFF WORKSPACE DESIGN SYSTEM + SECURITY PAGE
   ========================================================= */

/* ---------- One staff content grid ---------- */
.staff-portal-content,
.staff-products-content,
.staff-quotes-content,
.trade-approvals-content,
.staff-security-content{
  padding:26px 0 52px !important;
}

.staff-portal-content > .wrap,
.staff-products-content > .wrap,
.staff-quotes-content > .wrap,
.trade-approvals-content > .wrap,
.staff-security-content > .wrap{
  width:min(1200px,calc(100% - 40px)) !important;
  max-width:1200px !important;
  margin:0 auto !important;
}

.staff-portal-hero,
.trade-approvals-hero{
  padding-top:48px !important;
  padding-bottom:50px !important;
}

/* ---------- One permission-aware staff navigation ---------- */
.staff-workspace-nav{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:5px;
  margin:0 0 16px;
  padding:6px;
  border:1px solid #d9e4e9;
  border-radius:10px;
  background:#fff;
  box-shadow:0 4px 16px rgba(6,27,58,.025);
}

.staff-workspace-nav a{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:38px;
  padding:8px 12px;
  border-radius:7px;
  color:#50697c;
  font-size:11.5px;
  font-weight:800;
  line-height:1.2;
  text-decoration:none;
}

.staff-workspace-nav a:hover,
.staff-workspace-nav a:focus-visible{
  background:#f1f7f8;
  color:var(--navy);
  outline:none;
}

.staff-workspace-nav a.is-active{
  background:#e7f8f6;
  color:#087b7a;
  box-shadow:inset 0 0 0 1px rgba(7,169,166,.18);
}

/* Old ad-hoc staff subnav should no longer affect layout. */
.staff-subnav{
  display:none !important;
}

/* ---------- Portal landing ---------- */
.staff-portal-toolbar{
  min-height:48px;
  margin:0 0 12px !important;
  padding:10px 13px !important;
}

.staff-portal-cards{
  grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  gap:16px !important;
}

.staff-portal-card{
  min-height:176px !important;
  padding:20px !important;
  border-radius:11px !important;
}

.staff-portal-card h2{
  font-size:21px !important;
}

.staff-portal-card p:not(.eyebrow){
  font-size:12px !important;
}

.staff-security-note{
  margin-top:16px !important;
}

/* ---------- Summary tiles ---------- */
.trade-portal-summary,
.quote-manager-summary{
  gap:10px !important;
  margin-bottom:14px !important;
}

.trade-portal-summary a,
.quote-manager-summary a{
  display:flex !important;
  flex-direction:column;
  justify-content:center;
  min-height:78px;
  padding:13px 15px !important;
}

.trade-portal-summary strong,
.quote-manager-summary strong{
  font-size:22px !important;
}

.trade-portal-summary span,
.quote-manager-summary span{
  margin-top:4px;
  font-size:11px !important;
}

/* ---------- Toolbars / search controls ---------- */
.trade-portal-search,
.staff-products-toolbar,
.quote-manager-toolbar{
  min-height:58px;
  margin-bottom:16px !important;
  padding:12px 14px !important;
  border-radius:9px !important;
}

.trade-portal-search input,
.staff-products-toolbar input,
.staff-products-toolbar select,
.quote-manager-toolbar input,
.quote-manager-toolbar select{
  min-height:44px !important;
  padding:9px 11px !important;
  border:1px solid #c6d5de !important;
  border-radius:7px !important;
  background:#fff !important;
  color:var(--navy);
  font-size:12px !important;
  box-sizing:border-box;
}

.trade-portal-search input:focus,
.staff-products-toolbar input:focus,
.staff-products-toolbar select:focus,
.quote-manager-toolbar input:focus,
.quote-manager-toolbar select:focus{
  border-color:var(--teal) !important;
  box-shadow:0 0 0 3px rgba(7,169,166,.10) !important;
  outline:none !important;
}

/* ---------- Consistent table presentation ---------- */
.trade-portal-list,
.staff-products-list,
.staff-quotes-list{
  border-radius:10px !important;
  box-shadow:0 4px 16px rgba(6,27,58,.025);
}

.trade-portal-table th{
  padding:11px 12px !important;
  color:#697f8f !important;
  font-size:10px !important;
  line-height:1.3;
}

.trade-portal-table td{
  padding:12px !important;
  color:#4e6679 !important;
  font-size:11.5px !important;
  line-height:1.45;
}

.trade-portal-table tbody tr:hover{
  background:#f8fbfc;
}

.trade-portal-table td strong{
  font-size:12px !important;
}

.trade-portal-table td span:not(.trade-status-pill):not(.quote-status-pill):not(.product-status-pill){
  font-size:10.5px !important;
}

.trade-portal-table-wrap{
  max-width:100%;
  overflow-x:auto;
}

.trade-portal-table{
  min-width:720px;
}

.product-manager-table{
  min-width:840px;
}

.quote-manager-table{
  min-width:850px;
}

/* ---------- One editor layout ---------- */
.trade-portal-layout.has-review,
.staff-products-layout.has-editor,
.staff-quotes-layout.has-editor{
  grid-template-columns:minmax(0,1.18fr) minmax(400px,.82fr) !important;
  gap:18px !important;
  align-items:start;
}

.trade-review-panel,
.staff-product-editor,
.staff-quote-editor{
  top:96px !important;
  padding:21px !important;
  border-radius:10px !important;
  box-shadow:0 5px 18px rgba(6,27,58,.035);
}

.trade-review-heading,
.staff-product-editor-heading{
  margin-bottom:15px;
  padding-bottom:14px !important;
}

/* ---------- More readable staff forms ---------- */
.staff-product-form,
.staff-quote-form{
  gap:15px !important;
}

.staff-product-form label > span,
.staff-product-form legend,
.staff-quote-form label > span,
.staff-quote-form legend{
  font-size:11.5px !important;
  line-height:1.35;
}

.staff-product-form input[type="text"],
.staff-product-form input[type="number"],
.staff-product-form input[type="search"],
.staff-product-form input[type="file"],
.staff-product-form select,
.staff-product-form textarea,
.staff-quote-form input[type="text"],
.staff-quote-form input[type="number"],
.staff-quote-form input[type="date"],
.staff-quote-form select,
.staff-quote-form textarea,
.quote-document-settings input{
  min-height:44px !important;
  padding:9px 11px !important;
  border-radius:7px !important;
  font-size:12px !important;
  box-sizing:border-box;
}

.staff-product-form textarea,
.staff-quote-form textarea{
  line-height:1.5;
}

.staff-product-form small,
.staff-quote-form small,
.quote-line-fieldset .field-helper,
.quote-document-settings p{
  font-size:10.5px !important;
  line-height:1.5 !important;
}

.staff-product-form fieldset,
.quote-line-fieldset{
  padding:14px !important;
  border-radius:9px !important;
}

.staff-product-form-actions,
.staff-quote-form-actions,
.quote-editor-document-actions,
.trade-review-actions{
  gap:9px !important;
}

.staff-product-form-actions .button,
.staff-quote-form-actions .button,
.quote-editor-document-actions .button,
.trade-review-actions .button,
.trade-portal-search .button,
.staff-products-toolbar .button,
.quote-manager-toolbar .button{
  min-height:43px !important;
}

/* ---------- Approval detail readability ---------- */
.trade-review-details dt{
  font-size:9.5px !important;
}

.trade-review-details dd{
  font-size:11.5px !important;
  line-height:1.45;
}

.trade-review-addresses p,
.trade-review-terms,
.trade-review-audit li strong{
  font-size:10.5px !important;
}

.trade-review-audit li span{
  font-size:9.8px !important;
}

/* ---------- Quote manager readability ---------- */
.quote-request-source > div{
  grid-template-columns:88px 1fr !important;
  font-size:10.5px !important;
}

.quote-line-numbers{
  grid-template-columns:.65fr 1fr .8fr !important;
}

.quote-customer-contact-card strong{
  white-space:normal;
  overflow:visible !important;
  text-overflow:clip !important;
}

/* ---------- Staff Security & WP 2FA integration ---------- */
.staff-security-page{
  background:#f6f9fb;
}

.staff-security-grid{
  display:grid;
  grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);
  gap:16px;
  align-items:start;
}

.staff-security-card{
  padding:22px;
  border:1px solid #d8e4e9;
  border-radius:11px;
  background:#fff;
  box-shadow:0 5px 18px rgba(6,27,58,.035);
}

.staff-security-card h2{
  margin:4px 0 12px;
  color:var(--navy);
  font-size:22px;
}

.staff-security-card-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:14px;
  padding-bottom:14px;
  border-bottom:1px solid var(--line);
}

.staff-security-card-head h2{
  margin-bottom:0;
}

.staff-security-state{
  display:inline-flex;
  align-items:center;
  min-height:25px;
  padding:5px 9px;
  border-radius:999px;
  font-size:9.5px;
  font-weight:850;
  white-space:nowrap;
}

.staff-security-state.is-ready{
  background:#e6f7ef;
  color:#176a50;
}

.staff-security-state.is-pending{
  background:#fff3d8;
  color:#865f0d;
}

.staff-security-account-details{
  display:grid;
  gap:1px;
  margin:0 0 14px;
  border:1px solid #e0e8ec;
  border-radius:8px;
  background:#e0e8ec;
  overflow:hidden;
}

.staff-security-account-details > div{
  padding:10px 11px;
  background:#f9fbfc;
}

.staff-security-account-details dt{
  color:#798b98;
  font-size:9px;
  font-weight:850;
  text-transform:uppercase;
}

.staff-security-account-details dd{
  margin:3px 0 0;
  color:var(--navy);
  font-size:11.5px;
  font-weight:700;
  overflow-wrap:anywhere;
}

.staff-security-guidance,
.staff-security-install-note{
  padding:13px 14px;
  border-left:4px solid var(--teal);
  border-radius:7px;
  background:#eef9f8;
}

.staff-security-guidance strong,
.staff-security-install-note strong{
  color:var(--navy);
  font-size:11.5px;
}

.staff-security-guidance ul{
  margin:8px 0 0;
  padding-left:18px;
}

.staff-security-guidance li,
.staff-security-install-note p,
.staff-security-description{
  color:#587084;
  font-size:10.8px;
  line-height:1.6;
}

.staff-security-install-note p:last-child{
  margin-bottom:0;
}

.staff-2fa-plugin-area{
  margin-top:15px;
  padding:15px;
  border:1px solid #dfe8ec;
  border-radius:8px;
  background:#fafcfd;
}

/* WP 2FA supported front-end form styling. */
.staff-2fa-plugin-area .wp2fa-modal{
  max-width:none !important;
  margin:0 !important;
  color:var(--navy);
}

.staff-2fa-plugin-area .wp2fa-modal h3{
  color:var(--navy);
  font-size:18px;
}

.staff-2fa-plugin-area .wp2fa-modal p{
  color:#587084;
  font-size:11.5px;
  line-height:1.55;
}

.staff-2fa-plugin-area .wp2fa-modal input{
  min-height:44px;
  padding:9px 11px;
  border:1px solid #c6d5de;
  border-radius:7px;
}

.staff-2fa-plugin-area .wp-2fa-button-primary,
.staff-2fa-plugin-area .wp-2fa-button-secondary{
  min-height:42px;
  padding:9px 14px;
  border-radius:7px;
  font-weight:850;
}

.staff-2fa-plugin-area .wp-2fa-button-primary{
  border:0;
  background:var(--teal);
  color:#fff;
}

.staff-2fa-plugin-area .wp-2fa-button-secondary{
  border:1px solid #c8d6de;
  background:#fff;
  color:var(--navy);
}

.staff-security-footer-note{
  margin-top:16px !important;
}

/* ---------- Public operational-form cleanup ---------- */
.easethat-form-honeypot{
  position:absolute !important;
  left:-10000px !important;
  top:auto !important;
  width:1px !important;
  height:1px !important;
  overflow:hidden !important;
}

.quote-privacy-note{
  margin:0;
  color:var(--muted);
  font-size:11px;
  line-height:1.55;
}

.quote-privacy-note a{
  color:var(--teal);
  font-weight:750;
}

.quote-form input,
.quote-form select,
.quote-form textarea{
  box-sizing:border-box;
}

/* ---------- Keyboard focus ---------- */
.staff-workspace-nav a:focus-visible,
.staff-portal-card:focus-visible,
.staff-portal-toolbar a:focus-visible,
.staff-product-editor a:focus-visible,
.staff-quote-editor a:focus-visible,
.trade-review-panel a:focus-visible,
.staff-security-page a:focus-visible,
.quote-form a:focus-visible,
.quote-form button:focus-visible{
  outline:3px solid rgba(7,169,166,.28);
  outline-offset:2px;
}

/* ---------- Responsive staff layout ---------- */
@media(max-width:1080px){
  .trade-portal-layout.has-review,
  .staff-products-layout.has-editor,
  .staff-quotes-layout.has-editor{
    grid-template-columns:1fr !important;
  }

  .trade-review-panel,
  .staff-product-editor,
  .staff-quote-editor{
    position:static !important;
  }

  .staff-security-grid{
    grid-template-columns:1fr;
  }
}

@media(max-width:800px){
  .staff-portal-cards{
    grid-template-columns:1fr !important;
  }

  .trade-portal-summary,
  .quote-manager-summary{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  }

  .staff-products-toolbar,
  .quote-manager-toolbar{
    align-items:stretch !important;
    flex-direction:column !important;
  }

  .staff-products-toolbar form,
  .quote-manager-search-grid{
    grid-template-columns:1fr !important;
  }

  .staff-products-toolbar > span{
    white-space:normal !important;
  }
}

@media(max-width:620px){
  .staff-portal-content,
  .staff-products-content,
  .staff-quotes-content,
  .trade-approvals-content,
  .staff-security-content{
    padding-top:20px !important;
    padding-bottom:36px !important;
  }

  .staff-portal-content > .wrap,
  .staff-products-content > .wrap,
  .staff-quotes-content > .wrap,
  .trade-approvals-content > .wrap,
  .staff-security-content > .wrap{
    width:min(100% - 28px,1200px) !important;
  }

  .staff-workspace-nav{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
  }

  .staff-workspace-nav a{
    text-align:center;
  }

  .trade-portal-summary,
  .quote-manager-summary{
    grid-template-columns:1fr 1fr !important;
  }

  .staff-product-form-grid,
  .staff-product-form-grid--four,
  .quote-line-numbers,
  .quote-customer-contact-card{
    grid-template-columns:1fr !important;
  }

  .trade-review-panel,
  .staff-product-editor,
  .staff-quote-editor,
  .staff-security-card{
    padding:17px !important;
  }
}


/* =========================================================
   V6.13.42 OPERATIONAL AUDIT / PAGINATION / DOCUMENT INTEGRITY
   ========================================================= */

.staff-activity-page{
  background:#f6f9fb;
}

.staff-activity-content{
  padding:26px 0 52px;
}

.staff-activity-content > .wrap{
  width:min(1200px,calc(100% - 40px));
  max-width:1200px;
  margin:0 auto;
}

.activity-toolbar{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  margin-bottom:12px;
  padding:12px 14px;
  border:1px solid #d9e4e9;
  border-radius:9px;
  background:#fff;
}

.activity-toolbar form{
  display:grid;
  grid-template-columns:170px minmax(280px,1fr) auto;
  gap:8px;
  flex:1;
}

.activity-toolbar input,
.activity-toolbar select,
.security-mini-form select{
  min-height:44px;
  padding:9px 11px;
  border:1px solid #c6d5de;
  border-radius:7px;
  background:#fff;
  color:var(--navy);
  box-sizing:border-box;
}

.activity-toolbar-meta{
  display:flex;
  align-items:center;
  gap:10px;
  white-space:nowrap;
  color:#6d8292;
  font-size:10.5px;
}

.activity-privacy-note{
  display:flex;
  align-items:flex-start;
  gap:5px;
  margin-bottom:14px;
  padding:10px 12px;
  border-left:4px solid var(--teal);
  border-radius:7px;
  background:#eef9f8;
  color:#5b7284;
  font-size:10.5px;
  line-height:1.5;
}

.activity-privacy-note strong{
  color:var(--navy);
}

.activity-log-card{
  overflow:hidden;
  border:1px solid #d9e4e9;
  border-radius:10px;
  background:#fff;
  box-shadow:0 4px 16px rgba(6,27,58,.025);
}

.activity-log-table{
  min-width:1050px !important;
}

.activity-details-cell{
  min-width:230px;
  white-space:normal;
}

.activity-severity{
  display:inline-flex;
  align-items:center;
  min-height:23px;
  padding:4px 8px;
  border-radius:999px;
  font-size:9.5px;
  font-weight:850;
}

.activity-severity.is-info{
  background:#eef4f7;
  color:#536c7e;
}

.activity-severity.is-notice{
  background:#e7f8f6;
  color:#0b706f;
}

.activity-severity.is-warning{
  background:#fff3d8;
  color:#865f0d;
}

.activity-severity.is-critical{
  background:#fff0f0;
  color:#914040;
}

.staff-pagination,
.account-quotes-pagination{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:5px;
  padding:14px;
  border-top:1px solid #e1e8ec;
  background:#fbfcfd;
}

.staff-pagination .page-numbers,
.account-quotes-pagination .page-numbers{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:34px;
  min-height:34px;
  padding:6px 9px;
  border:1px solid #d4e0e6;
  border-radius:6px;
  background:#fff;
  color:#526b7d;
  font-size:10.5px;
  font-weight:800;
  text-decoration:none;
}

.staff-pagination .page-numbers.current,
.account-quotes-pagination .page-numbers.current{
  border-color:var(--teal);
  background:#e7f8f6;
  color:#087b7a;
}

.staff-operations-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:16px;
  margin-top:16px;
}

.security-action-row{
  margin:12px 0;
}

.security-mini-form{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:9px;
  align-items:end;
  margin-top:13px;
}

.security-mini-form label{
  display:grid;
  gap:5px;
}

.security-mini-form label > span{
  color:var(--navy);
  font-size:10.5px;
  font-weight:850;
}

.staff-security-card code{
  padding:1px 4px;
  border-radius:4px;
  background:#eef2f4;
  color:#315168;
  font-size:.92em;
}

.staff-admin-audit-link{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  margin-top:16px;
  padding:11px 13px;
  border:1px solid #d8e4e9;
  border-radius:8px;
  background:#fff;
  color:#60778a;
  font-size:10.8px;
}

.staff-admin-audit-link strong{
  color:var(--navy);
}

.staff-admin-audit-link a{
  color:var(--teal);
  font-weight:850;
  white-space:nowrap;
}

.commercial-document-toolbar-actions{
  display:flex;
  align-items:center;
  gap:8px;
}

.commercial-document-hash{
  overflow-wrap:anywhere;
  font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono",monospace;
  font-size:8.5px !important;
  color:#71828f !important;
}

@media(max-width:1080px){
  .staff-operations-grid{
    grid-template-columns:1fr;
  }
}

@media(max-width:800px){
  .activity-toolbar{
    align-items:stretch;
    flex-direction:column;
  }

  .activity-toolbar form{
    grid-template-columns:1fr;
  }

  .activity-toolbar-meta{
    justify-content:space-between;
    white-space:normal;
  }

  .security-mini-form{
    grid-template-columns:1fr;
  }
}

@media(max-width:620px){
  .staff-activity-content{
    padding:20px 0 36px;
  }

  .staff-activity-content > .wrap{
    width:min(100% - 28px,1200px);
  }

  .staff-admin-audit-link{
    align-items:flex-start;
    flex-direction:column;
  }

  .commercial-document-toolbar-actions{
    width:100%;
    flex-direction:column;
  }

  .commercial-document-toolbar-actions .button{
    width:100%;
    justify-content:center;
  }
}


/* =========================================================
   V6.13.43 COMPLIANCE RETENTION
   ========================================================= */

.staff-operations-grid{
  grid-template-columns:repeat(2,minmax(0,1fr)) !important;
}

@media(max-width:1080px){
  .staff-operations-grid{
    grid-template-columns:1fr !important;
  }
}


/* =========================================================
   V6.13.44 PURCHASE ORDER & CREDIT TERMS
   ========================================================= */

.trade-commercial-terms{
  display:grid;
  gap:11px;
  margin:14px 0;
  padding:14px;
  border:1px solid #d8e4e9;
  border-radius:9px;
  background:#f9fbfc;
}

.trade-commercial-terms-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
}

.trade-commercial-terms-head > div{
  display:grid;
  gap:3px;
}

.trade-commercial-terms-head strong{
  color:var(--navy);
  font-size:11.5px;
}

.trade-commercial-terms-head > div > span{
  color:#6b8090;
  font-size:10px;
  line-height:1.45;
}

.trade-commercial-terms-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:9px;
}

.trade-commercial-terms label:not(.staff-product-check),
.staff-po-actions label{
  display:grid;
  gap:5px;
}

.trade-commercial-terms label > span,
.staff-po-actions label > span{
  color:var(--navy);
  font-size:10.5px;
  font-weight:800;
}

.trade-commercial-terms input[type="number"],
.trade-commercial-terms select,
.trade-commercial-terms textarea,
.staff-po-actions textarea{
  width:100%;
  min-height:42px;
  padding:8px 10px;
  border:1px solid #c8d7df;
  border-radius:7px;
  background:#fff;
  box-sizing:border-box;
}

.quote-payment-methods-fieldset{
  display:grid;
  gap:8px;
  padding:14px;
  border:1px solid #dbe6eb;
  border-radius:9px;
  background:#fbfcfd;
}

.quote-payment-methods-fieldset legend{
  padding:0 5px;
  color:var(--navy);
  font-size:11.5px;
  font-weight:850;
}

.quote-po-eligibility{
  display:grid;
  gap:3px;
  padding:9px 11px;
  border-radius:7px;
  background:#eef2f4;
}

.quote-po-eligibility strong{
  color:var(--navy);
  font-size:10px;
}

.quote-po-eligibility span{
  color:#60778a;
  font-size:10px;
  line-height:1.45;
}

.quote-po-eligibility.is-eligible{
  background:#e9f8f3;
  box-shadow:inset 0 0 0 1px rgba(23,106,80,.12);
}

.quote-po-eligibility.is-ineligible{
  background:#fff5e4;
  box-shadow:inset 0 0 0 1px rgba(134,95,13,.12);
}

.account-po-terms-card{
  display:grid;
  grid-template-columns:minmax(0,1.25fr) minmax(280px,.75fr);
  gap:18px;
  margin:18px 0;
  padding:18px 20px;
  border:1px solid #d9e6e9;
  border-radius:10px;
  background:#f5fbfa;
}

.account-po-terms-card h2{
  margin:4px 0 6px;
  color:var(--navy);
  font-size:20px;
}

.account-po-terms-card p:not(.eyebrow){
  margin:0;
  color:#60778a;
  font-size:11.5px;
  line-height:1.55;
}

.account-po-terms-card dl{
  display:grid;
  gap:1px;
  margin:0;
  border:1px solid #d9e5e8;
  border-radius:8px;
  background:#d9e5e8;
  overflow:hidden;
}

.account-po-terms-card dl > div{
  padding:9px 11px;
  background:#fff;
}

.account-po-terms-card dt{
  color:#748795;
  font-size:9px;
  font-weight:850;
  text-transform:uppercase;
}

.account-po-terms-card dd{
  margin:2px 0 0;
  color:var(--navy);
  font-size:11px;
  font-weight:750;
}

.easethat-po-payment-fields,
.easethat-po-block-fields{
  display:grid;
  gap:12px;
  margin-top:8px;
}

.easethat-po-terms-summary,
.easethat-po-block-terms{
  margin:0 !important;
  padding:9px 11px;
  border-left:3px solid var(--teal);
  border-radius:6px;
  background:#eef9f8;
  color:#526b7d;
  font-size:11px;
}

.easethat-po-upload-control{
  display:grid;
  gap:5px;
}

.easethat-po-upload-status{
  color:#667c8d;
  font-size:10px;
}

.easethat-po-upload-status.is-error,
.easethat-po-block-upload small.is-error{
  color:#9b3434;
}

.easethat-po-block-fields label{
  display:grid;
  gap:5px;
  color:var(--navy);
  font-size:12px;
  font-weight:750;
}

.easethat-po-block-fields input,
.easethat-po-block-fields textarea{
  width:100%;
  min-height:44px;
  padding:9px 11px;
  border:1px solid #c6d5de;
  border-radius:7px;
  background:#fff;
  box-sizing:border-box;
}

.easethat-po-block-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:9px;
}

.easethat-po-block-upload small{
  color:#667c8d;
  font-size:10px;
  font-weight:500;
}

.staff-purchase-orders-page{
  background:#f6f9fb;
}

.staff-purchase-orders-content{
  padding:26px 0 52px;
}

.staff-purchase-orders-content > .wrap{
  width:min(1200px,calc(100% - 40px));
  max-width:1200px;
  margin:0 auto;
}

.po-manager-summary{
  grid-template-columns:repeat(5,minmax(0,1fr)) !important;
}

.staff-po-layout{
  display:grid;
  grid-template-columns:1fr;
  gap:18px;
}

.staff-po-layout.has-review{
  grid-template-columns:minmax(0,1.18fr) minmax(400px,.82fr);
  align-items:start;
}

.staff-po-list{
  overflow:hidden;
  border:1px solid #d9e4e9;
  border-radius:10px;
  background:#fff;
  box-shadow:0 4px 16px rgba(6,27,58,.025);
}

.staff-po-table{
  min-width:850px;
}

.staff-po-review-panel{
  position:sticky;
  top:96px;
  padding:21px;
  border:1px solid #d9e4e9;
  border-radius:10px;
  background:#fff;
  box-shadow:0 5px 18px rgba(6,27,58,.035);
}

.po-status-pill{
  display:inline-flex;
  align-items:center;
  min-height:24px;
  padding:4px 8px;
  border-radius:999px;
  font-size:9.5px;
  font-weight:850;
  white-space:nowrap;
}

.po-status-pill.is-submitted{background:#fff3d8;color:#865f0d}
.po-status-pill.is-approved{background:#e6f7ef;color:#176a50}
.po-status-pill.is-amendment-requested{background:#edf1f8;color:#355e8c}
.po-status-pill.is-rejected{background:#fff0f0;color:#914040}

.staff-po-document-card,
.staff-po-note{
  display:grid;
  gap:8px;
  margin:13px 0;
  padding:12px 13px;
  border:1px solid #dce6eb;
  border-radius:8px;
  background:#f9fbfc;
}

.staff-po-document-card strong,
.staff-po-note strong{
  color:var(--navy);
  font-size:10.5px;
}

.staff-po-note p{
  margin:0;
  color:#5b7284;
  font-size:10.5px;
  line-height:1.55;
}

.staff-po-actions{
  display:grid;
  gap:10px;
  margin-top:14px;
}

.staff-po-action-buttons{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
}

.easethat-order-po-details{margin-top:22px}
.quote-status-pill.is-po-submitted{background:#fff3d8;color:#865f0d}
.quote-status-pill.is-po-approved{background:#e6f7ef;color:#176a50}

.customer-quote-po-state{
  display:inline-flex;
  align-items:center;
  min-height:42px;
  padding:9px 12px;
  border-radius:7px;
  background:#fff3d8;
  color:#76570f;
  font-size:11px;
  font-weight:750;
}

@media(max-width:1080px){
  .staff-po-layout.has-review{grid-template-columns:1fr}
  .staff-po-review-panel{position:static}
  .po-manager-summary{grid-template-columns:repeat(3,minmax(0,1fr)) !important}
}

@media(max-width:720px){
  .trade-commercial-terms-grid,
  .account-po-terms-card,
  .easethat-po-block-grid{grid-template-columns:1fr}
  .trade-commercial-terms-head{flex-direction:column}
  .po-manager-summary{grid-template-columns:repeat(2,minmax(0,1fr)) !important}
  .staff-purchase-orders-content > .wrap{width:min(100% - 28px,1200px)}
  .staff-po-action-buttons{flex-direction:column}
  .staff-po-action-buttons .button{width:100%;justify-content:center}
}


/* =========================================================
   V6.13.45 CLOUDFLARE TURNSTILE / BOT PROTECTION
   ========================================================= */

.easethat-turnstile-wrap{
  display:flex;
  align-items:center;
  justify-content:flex-start;
  width:100%;
  min-height:68px;
  margin:10px 0 12px;
}

.easethat-turnstile-wrap .cf-turnstile{
  max-width:100%;
}

.easethat-turnstile-noscript{
  margin:0;
  padding:9px 11px;
  border-left:3px solid #b86b16;
  border-radius:6px;
  background:#fff6e8;
  color:#6c522d;
  font-size:10.5px;
  line-height:1.5;
}

.staff-login-card .easethat-turnstile-wrap,
.trade-registration-card .easethat-turnstile-wrap{
  margin-top:12px;
}

#login .easethat-turnstile-wrap{
  margin:12px 0;
}

.turnstile-settings-form,
.turnstile-test-form{
  display:grid;
  gap:12px;
  margin-top:14px;
}

.turnstile-settings-form > label:not(.staff-product-check){
  display:grid;
  gap:5px;
}

.turnstile-settings-form > label > span,
.turnstile-protection-options legend{
  color:var(--navy);
  font-size:10.5px;
  font-weight:850;
}

.turnstile-settings-form input[type="text"],
.turnstile-settings-form input[type="password"]{
  width:100%;
  min-height:44px;
  padding:9px 11px;
  border:1px solid #c6d5de;
  border-radius:7px;
  background:#fff;
  color:var(--navy);
  box-sizing:border-box;
}

.turnstile-settings-form input:disabled{
  background:#f3f6f7;
  color:#607281;
}

.turnstile-settings-form small{
  color:#6a7f8f;
  font-size:9.8px;
  line-height:1.5;
}

.turnstile-clear-secret{
  display:flex !important;
  align-items:flex-start;
  gap:7px;
  margin-top:3px;
  color:#7b4d4d;
}

.turnstile-protection-options{
  display:grid;
  gap:8px;
  padding:12px 13px;
  border:1px solid #dce6ea;
  border-radius:8px;
  background:#fafcfd;
}

.turnstile-protection-options legend{
  padding:0 5px;
}

.turnstile-security-summary{
  display:grid;
  gap:1px;
  border:1px solid #dce6ea;
  border-radius:8px;
  background:#dce6ea;
  overflow:hidden;
}

.turnstile-security-summary > div{
  display:grid;
  grid-template-columns:120px 1fr;
  gap:8px;
  padding:9px 11px;
  background:#f9fbfc;
}

.turnstile-security-summary span{
  color:#738694;
  font-size:9px;
  font-weight:850;
  text-transform:uppercase;
}

.turnstile-security-summary strong{
  color:var(--navy);
  font-size:10.5px;
  line-height:1.4;
  overflow-wrap:anywhere;
}

.turnstile-test-form{
  padding-top:13px;
  border-top:1px solid var(--line);
}

.turnstile-test-form .easethat-turnstile-wrap{
  margin:0;
}

/* Turnstile is a security control, not optional analytics/marketing UI. */
.quote-form .easethat-turnstile-wrap{
  margin-top:14px;
}

/* Keep widgets inside narrow WooCommerce / staff login cards. */
.woocommerce-form-login .easethat-turnstile-wrap,
.woocommerce-ResetPassword .easethat-turnstile-wrap,
.easethat-standalone-register .easethat-turnstile-wrap{
  overflow:hidden;
}

@media(max-width:520px){
  .turnstile-security-summary > div{
    grid-template-columns:1fr;
  }

  .easethat-turnstile-wrap{
    transform-origin:left top;
  }
}


/* =========================================================
   V6.13.46 PLATFORM HARDENING STATUS
   ========================================================= */

.staff-platform-hardening-card{
  margin-top:16px;
  padding:22px;
  border:1px solid #d8e4e9;
  border-radius:11px;
  background:#fff;
  box-shadow:0 5px 18px rgba(6,27,58,.035);
}

.staff-platform-hardening-card h2{
  margin:4px 0 0;
  color:var(--navy);
  font-size:22px;
}

.platform-hardening-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:1px;
  margin-top:14px;
  border:1px solid #dce6ea;
  border-radius:8px;
  background:#dce6ea;
  overflow:hidden;
}

.platform-hardening-grid > div{
  display:grid;
  gap:4px;
  padding:11px 12px;
  background:#f9fbfc;
}

.platform-hardening-grid span{
  color:#738694;
  font-size:9px;
  font-weight:850;
  text-transform:uppercase;
}

.platform-hardening-grid strong{
  color:var(--navy);
  font-size:10.8px;
  line-height:1.45;
}

.platform-hardening-guidance{
  margin-top:13px;
  padding:12px 13px;
  border-left:4px solid var(--teal);
  border-radius:7px;
  background:#eef9f8;
}

.platform-hardening-guidance strong{
  color:var(--navy);
  font-size:11px;
}

.platform-hardening-guidance p{
  margin:5px 0 0;
  color:#597185;
  font-size:10.5px;
  line-height:1.55;
}

@media(max-width:720px){
  .platform-hardening-grid{
    grid-template-columns:1fr;
  }
}


/* =========================================================
   V6.13.47 CUSTOMER EXPERIENCE & COMMUNICATIONS
   ========================================================= */
.easethat-set-password-page{background:#f5f8fa}
.easethat-set-password-content{padding:34px 0 58px}
.easethat-set-password-content>.wrap{width:min(720px,calc(100% - 40px));margin:0 auto}
.easethat-set-password-card{padding:28px;border:1px solid #d9e4e9;border-radius:12px;background:#fff;box-shadow:0 8px 28px rgba(6,27,58,.05)}
.easethat-set-password-card h2{margin:4px 0 9px;color:var(--navy);font-size:24px}
.easethat-set-password-form{display:grid;gap:15px;margin-top:18px}
.easethat-set-password-form>label{display:grid;gap:6px}
.easethat-set-password-form>label>span:first-child{color:var(--navy);font-size:11.5px;font-weight:850}
.easethat-set-password-form input[type=password],.easethat-set-password-form input[type=text]{width:100%;min-height:46px;padding:10px 44px 10px 12px;border:1px solid #c6d5de;border-radius:8px;box-sizing:border-box}
.easethat-account-success-notice{display:flex;align-items:center;gap:8px;width:min(1200px,calc(100% - 40px));margin:0 auto 14px;padding:11px 13px;border-left:4px solid #1d8c68;border-radius:7px;background:#e9f8f3;color:#527064;font-size:11px}
.easethat-account-success-notice strong{color:#176a50}
.commercial-document-brand-main{display:flex;align-items:center;gap:16px}
.commercial-document-logo{display:block;width:165px;max-width:38vw;height:auto}

.woocommerce-account .woocommerce-Addresses.col2-set,
.woocommerce-account .woocommerce-Addresses.addresses,
.woocommerce-account .u-columns.woocommerce-Addresses{
  display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:18px!important;width:100%!important
}
.woocommerce-account .woocommerce-Addresses .woocommerce-Address,
.woocommerce-account .woocommerce-Addresses .u-column1,
.woocommerce-account .woocommerce-Addresses .u-column2,
.woocommerce-account .woocommerce-Addresses .col-1,
.woocommerce-account .woocommerce-Addresses .col-2{
  float:none!important;width:auto!important;max-width:none!important;margin:0!important;padding:20px!important;
  border:1px solid #d9e4e9;border-radius:10px;background:#fff;text-align:left!important;box-sizing:border-box
}
.woocommerce-account .woocommerce-Address-title{
  display:flex!important;align-items:flex-start;justify-content:space-between;gap:14px;margin:0 0 14px!important;
  padding:0 0 12px!important;border-bottom:1px solid #e2e9ed;text-align:left!important
}
.woocommerce-account .woocommerce-Address-title h2{float:none!important;margin:0!important;color:var(--navy);font-size:19px!important;line-height:1.25;text-align:left!important}
.woocommerce-account .woocommerce-Address-title a.edit{float:none!important;margin:1px 0 0!important;color:var(--teal);font-size:11px;font-weight:800;text-decoration:none;white-space:nowrap}
.woocommerce-account .woocommerce-Address address{margin:0!important;color:#5c7385;font-size:11.5px;font-style:normal;line-height:1.65;text-align:left!important}
.woocommerce-account .woocommerce-ResetPassword{max-width:620px;padding:24px;border:1px solid #d9e4e9;border-radius:11px;background:#fff;box-shadow:0 5px 18px rgba(6,27,58,.035)}
.woocommerce-account .woocommerce-ResetPassword .woocommerce-form-row{width:100%;float:none}

@media(max-width:720px){
  .woocommerce-account .woocommerce-Addresses.col2-set,
  .woocommerce-account .woocommerce-Addresses.addresses,
  .woocommerce-account .u-columns.woocommerce-Addresses{grid-template-columns:1fr!important}
  .commercial-document-brand-main{align-items:flex-start;flex-direction:column}
  .commercial-document-logo{width:145px;max-width:70%}
  .easethat-set-password-content>.wrap,.easethat-account-success-notice{width:min(100% - 28px,720px)}
  .easethat-set-password-card{padding:20px}
}


/* =========================================================
   V6.13.48 B2B CUSTOMER PORTAL & COMPACT STOREFRONT
   ========================================================= */

/* Account shell/navigation */
.woocommerce-account .woocommerce{
  align-items:start;
}

.woocommerce-account .woocommerce-MyAccount-navigation{
  border:1px solid #d9e4e9;
  border-radius:11px;
  background:#fff;
  overflow:hidden;
  box-shadow:0 4px 18px rgba(6,27,58,.03);
}

.woocommerce-account .woocommerce-MyAccount-navigation ul{
  margin:0!important;
  padding:8px!important;
}

.woocommerce-account .woocommerce-MyAccount-navigation li{
  margin:0!important;
  border:0!important;
}

.woocommerce-account .woocommerce-MyAccount-navigation li a{
  display:block;
  padding:10px 12px!important;
  border-radius:7px;
  color:#526b7d!important;
  font-size:11px!important;
  font-weight:750!important;
  line-height:1.25;
}

.woocommerce-account .woocommerce-MyAccount-navigation li.is-active a,
.woocommerce-account .woocommerce-MyAccount-navigation li a:hover{
  background:#eef9f8;
  color:var(--navy)!important;
}

.woocommerce-account .woocommerce-MyAccount-content{
  min-width:0;
}

/* Dashboard */
.easethat-account-dashboard-v61348{
  display:grid;
  gap:18px;
}

.easethat-account-welcome{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  padding:22px;
  border:1px solid #d9e4e9;
  border-radius:11px;
  background:#fff;
}

.easethat-account-welcome h2{
  margin:4px 0 6px;
  color:var(--navy);
  font-size:25px;
}

.easethat-account-welcome p:not(.eyebrow){
  margin:0;
  color:#60778a;
  font-size:11.5px;
  line-height:1.55;
}

.easethat-account-dashboard-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:12px;
}

.easethat-dashboard-card{
  display:grid;
  min-height:145px;
  padding:17px;
  border:1px solid #d9e4e9;
  border-radius:10px;
  background:#fff;
  color:inherit;
  text-decoration:none;
  box-shadow:0 4px 15px rgba(6,27,58,.025);
  transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease;
}

.easethat-dashboard-card:hover{
  transform:translateY(-2px);
  border-color:#b8d7d8;
  box-shadow:0 8px 22px rgba(6,27,58,.055);
}

.easethat-dashboard-card-count{
  color:var(--teal);
  font-size:23px;
  font-weight:850;
}

.easethat-dashboard-card strong{
  align-self:end;
  margin-top:16px;
  color:var(--navy);
  font-size:14px;
}

.easethat-dashboard-card>span:not(.easethat-dashboard-card-count){
  margin-top:4px;
  color:#667c8d;
  font-size:10.5px;
  line-height:1.4;
}

.easethat-dashboard-card small{
  margin-top:10px;
  color:var(--teal);
  font-size:9.5px;
  font-weight:800;
}

.easethat-account-commercial-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
}

.easethat-account-commercial-card{
  padding:19px;
  border:1px solid #d9e4e9;
  border-radius:10px;
  background:#fff;
}

.easethat-account-commercial-card h3{
  margin:4px 0 8px;
  color:var(--navy);
  font-size:18px;
}

.easethat-account-commercial-card p:not(.eyebrow){
  color:#60778a;
  font-size:10.8px;
  line-height:1.55;
}

.easethat-account-commercial-card dl{
  display:grid;
  gap:1px;
  margin:12px 0;
  border-radius:7px;
  background:#dce6ea;
  overflow:hidden;
}

.easethat-account-commercial-card dl>div{
  display:grid;
  grid-template-columns:130px 1fr;
  gap:8px;
  padding:8px 10px;
  background:#f9fbfc;
}

.easethat-account-commercial-card dt{
  color:#748795;
  font-size:9px;
  font-weight:800;
  text-transform:uppercase;
}

.easethat-account-commercial-card dd{
  margin:0;
  color:var(--navy);
  font-size:10.5px;
  font-weight:750;
}

/* Account endpoints */
.easethat-account-section-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:18px;
  margin-bottom:16px;
}

.easethat-account-section-head h2{
  margin:4px 0 5px;
  color:var(--navy);
  font-size:24px;
}

.easethat-account-section-head p:not(.eyebrow){
  margin:0;
  color:#62798b;
  font-size:11px;
  line-height:1.5;
}

.easethat-account-empty{
  display:grid;
  gap:5px;
  padding:22px;
  border:1px dashed #cbd9e0;
  border-radius:9px;
  background:#f9fbfc;
}

.easethat-account-empty strong{
  color:var(--navy);
  font-size:13px;
}

.easethat-account-empty span{
  color:#667c8d;
  font-size:11px;
}

.easethat-account-table-wrap{
  overflow:auto;
  border:1px solid #d9e4e9;
  border-radius:10px;
  background:#fff;
}

.easethat-account-table{
  width:100%;
  min-width:760px;
  border-collapse:collapse;
}

.easethat-account-table th,
.easethat-account-table td{
  padding:11px 12px;
  border-bottom:1px solid #e4ebef;
  text-align:left;
  vertical-align:middle;
  font-size:10.5px;
}

.easethat-account-table th{
  background:#f7fafb;
  color:#708392;
  font-size:9px;
  font-weight:850;
  text-transform:uppercase;
}

.easethat-account-table td{
  color:#536d80;
}

.easethat-account-table td strong,
.easethat-account-table td a{
  color:var(--navy);
}

.easethat-account-status{
  display:inline-flex;
  padding:4px 7px;
  border-radius:999px;
  background:#eef4f6;
  color:#526b7d;
  font-size:9px;
  font-weight:800;
}

/* Wishlist */
.easethat-wishlist-action{
  margin:8px 0 0;
}

.easethat-wishlist-button{
  display:inline-flex;
  align-items:center;
  gap:6px;
  padding:7px 9px;
  border:1px solid #d6e1e6;
  border-radius:7px;
  background:#fff;
  color:#526b7d;
  font:inherit;
  font-size:9.5px;
  font-weight:800;
  cursor:pointer;
}

.easethat-wishlist-button>span:first-child{
  color:#0a918e;
  font-size:16px;
  line-height:1;
}

.easethat-wishlist-button.is-saved{
  border-color:#b9deda;
  background:#eef9f8;
  color:var(--navy);
}

.single-product .easethat-wishlist-action.is-single{
  margin:11px 0 0;
}

.single-product .easethat-wishlist-button{
  min-height:40px;
  padding:8px 12px;
}

.easethat-wishlist-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:14px;
}

.easethat-wishlist-card{
  overflow:hidden;
  border:1px solid #d9e4e9;
  border-radius:10px;
  background:#fff;
}

.easethat-wishlist-image{
  display:flex;
  align-items:center;
  justify-content:center;
  height:175px;
  padding:13px;
  background:#fafcfd;
}

.easethat-wishlist-image img{
  width:100%;
  height:100%;
  object-fit:contain;
}

.easethat-wishlist-card-body{
  padding:14px;
}

.easethat-wishlist-card h3{
  margin:4px 0 5px;
  font-size:14px;
  line-height:1.3;
}

.easethat-wishlist-card h3 a{
  color:var(--navy);
  text-decoration:none;
}

.easethat-product-ref{
  color:#718594;
  font-size:9px;
}

.easethat-wishlist-price{
  margin-top:10px;
  color:var(--navy);
  font-size:14px;
  font-weight:850;
}

.easethat-wishlist-card-actions{
  display:flex;
  flex-wrap:wrap;
  gap:7px;
  margin-top:12px;
}

/* Address Book */
.easethat-address-book-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:13px;
}

.easethat-address-card{
  padding:17px;
  border:1px solid #d9e4e9;
  border-radius:10px;
  background:#fff;
}

.easethat-address-card.is-default{
  border-color:#acd8d5;
  box-shadow:inset 0 0 0 1px #d8efed;
}

.easethat-address-card-head{
  display:flex;
  justify-content:space-between;
  gap:12px;
  padding-bottom:10px;
  border-bottom:1px solid #e3eaee;
}

.easethat-address-card h3{
  margin:3px 0 0;
  color:var(--navy);
  font-size:15px;
}

.easethat-address-default-badge{
  align-self:flex-start;
  padding:4px 7px;
  border-radius:999px;
  background:#e9f8f3;
  color:#176a50;
  font-size:8.5px;
  font-weight:850;
}

.easethat-address-card address{
  margin:12px 0 0;
  color:#5d7486;
  font-size:10.8px;
  font-style:normal;
  line-height:1.6;
}

.easethat-address-phone{
  margin:8px 0 0;
  color:#5d7486;
  font-size:10px;
}

.easethat-address-card-actions{
  display:flex;
  flex-wrap:wrap;
  gap:7px;
  margin-top:13px;
}

.easethat-danger-button{
  border-color:#ead0d0!important;
  background:#fff7f7!important;
  color:#914040!important;
}

.easethat-address-editor{
  margin-top:18px;
  padding:20px;
  border:1px solid #d9e4e9;
  border-radius:10px;
  background:#fff;
}

.easethat-address-editor h3{
  margin:4px 0 14px;
  color:var(--navy);
  font-size:18px;
}

.easethat-address-form{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:11px;
}

.easethat-address-form label:not(.staff-product-check){
  display:grid;
  gap:5px;
}

.easethat-address-form label>span{
  color:var(--navy);
  font-size:10px;
  font-weight:800;
}

.easethat-address-form input,
.easethat-address-form select{
  width:100%;
  min-height:42px;
  padding:8px 10px;
  border:1px solid #c9d7df;
  border-radius:7px;
  background:#fff;
  box-sizing:border-box;
}

.easethat-address-default-check,
.easethat-address-form-actions{
  grid-column:1/-1;
}

.easethat-address-form-actions{
  display:flex;
  gap:8px;
}

/* Credit / PO application */
.easethat-approved-terms-card,
.easethat-credit-readonly,
.easethat-credit-application{
  margin-bottom:16px;
  padding:20px;
  border:1px solid #d9e4e9;
  border-radius:10px;
  background:#fff;
}

.easethat-approved-terms-card{
  border-color:#b8dcd2;
  background:#f6fcfa;
}

.easethat-approved-terms-card h3,
.easethat-credit-readonly h3,
.easethat-credit-application h3{
  margin:4px 0 8px;
  color:var(--navy);
  font-size:19px;
}

.easethat-approved-terms-card dl,
.easethat-credit-record-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:1px;
  margin:13px 0;
  border:1px solid #dce6ea;
  border-radius:8px;
  background:#dce6ea;
  overflow:hidden;
}

.easethat-approved-terms-card dl>div,
.easethat-credit-record-grid>div{
  padding:10px 11px;
  background:#f9fbfc;
}

.easethat-approved-terms-card dt,
.easethat-credit-record-grid dt{
  color:#738694;
  font-size:8.8px;
  font-weight:850;
  text-transform:uppercase;
}

.easethat-approved-terms-card dd,
.easethat-credit-record-grid dd{
  margin:3px 0 0;
  color:var(--navy);
  font-size:10.5px;
  font-weight:700;
  overflow-wrap:anywhere;
}

.easethat-credit-readonly-head{
  display:flex;
  justify-content:space-between;
  gap:12px;
  align-items:flex-start;
}

.easethat-credit-status{
  display:inline-flex;
  align-items:center;
  padding:5px 8px;
  border-radius:999px;
  background:#eef2f4;
  color:#5c7283;
  font-size:9px;
  font-weight:850;
}

.easethat-credit-status.is-submitted{
  background:#fff3d8;
  color:#865f0d;
}

.easethat-credit-status.is-approved{
  background:#e9f8f3;
  color:#176a50;
}

.easethat-credit-status.is-rejected{
  background:#fff0f0;
  color:#914040;
}

.easethat-credit-note{
  margin-top:10px;
  padding:11px 12px;
  border-radius:7px;
  background:#f7fafb;
}

.easethat-credit-note strong{
  color:var(--navy);
  font-size:10px;
}

.easethat-credit-note p{
  margin:4px 0 0;
  color:#60778a;
  font-size:10.5px;
  line-height:1.55;
}

.easethat-signature-evidence{
  margin:12px 0 0;
  color:#738694;
  font-size:9px;
  overflow-wrap:anywhere;
}

.easethat-credit-application-intro p:not(.eyebrow){
  color:#60778a;
  font-size:11px;
  line-height:1.55;
}

.easethat-credit-form{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:11px;
  margin-top:16px;
}

.easethat-credit-form>label{
  display:grid;
  gap:5px;
}

.easethat-credit-form>label>span{
  color:var(--navy);
  font-size:10px;
  font-weight:800;
}

.easethat-credit-form input,
.easethat-credit-form textarea{
  width:100%;
  padding:9px 10px;
  border:1px solid #c9d7df;
  border-radius:7px;
  box-sizing:border-box;
}

.easethat-credit-form input{
  min-height:42px;
}

.easethat-credit-form .field-wide{
  grid-column:1/-1;
}

.easethat-credit-agreement{
  padding:14px;
  border:1px solid #cce2df;
  border-radius:8px;
  background:#f3fbf9;
}

.easethat-credit-agreement>strong{
  color:var(--navy);
  font-size:12px;
}

.easethat-credit-agreement>p{
  color:#5d7486;
  font-size:10.5px;
  line-height:1.55;
}

.easethat-credit-submit{
  display:flex;
  align-items:center;
  gap:12px;
}

.easethat-credit-submit span{
  color:#708392;
  font-size:9.5px;
}

.trade-credit-application-panel{
  display:grid;
  gap:11px;
  margin:14px 0;
  padding:14px;
  border:1px solid #d8e4e9;
  border-radius:9px;
  background:#f9fbfc;
}

.trade-credit-invite-form,
.trade-credit-decision-form{
  display:grid;
  gap:9px;
}

.trade-credit-application-record{
  display:grid;
  gap:9px;
  padding-top:10px;
  border-top:1px solid #dce6ea;
}

/* Compact product listing */
.woocommerce ul.products{
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:15px!important;
}

.woocommerce ul.products li.product,
.woocommerce-page ul.products li.product{
  min-height:0!important;
  padding:13px!important;
  border-radius:9px!important;
}

.woocommerce ul.products li.product > a.woocommerce-LoopProduct-link{
  display:block;
}

.woocommerce ul.products li.product a img{
  height:155px!important;
  min-height:155px!important;
  margin:0 0 9px!important;
  padding:7px!important;
  object-fit:contain!important;
}

.woocommerce ul.products li.product .woocommerce-loop-product__title{
  min-height:auto!important;
  margin:4px 0 5px!important;
  font-size:14px!important;
  line-height:1.3!important;
}

.easethat-loop-product-category{
  margin-bottom:3px!important;
  font-size:8.5px!important;
}

.easethat-loop-product-description{
  min-height:2.8em!important;
  margin:5px 0 7px!important;
  font-size:9.5px!important;
  line-height:1.4!important;
  display:-webkit-box;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
  overflow:hidden;
}

.woocommerce ul.products li.product .price{
  margin:6px 0!important;
  font-size:14px!important;
}

.easethat-loop-product-availability,
.easethat-loop-tax-note{
  font-size:8.8px!important;
}

.woocommerce ul.products li.product .button,
.woocommerce ul.products li.product .product-quote-link{
  min-height:36px!important;
  padding:8px 10px!important;
  font-size:9.5px!important;
}

/* Compact single product */
.easethat-product-quick-meta{
  display:flex;
  flex-wrap:wrap;
  gap:7px;
  margin:0 0 8px;
}

.easethat-product-quick-meta span{
  padding:4px 7px;
  border-radius:5px;
  background:#f1f5f7;
  color:#657b8c;
  font-size:8.8px;
}

.easethat-product-quick-meta strong{
  color:var(--navy);
}

.single-product .woocommerce div.product{
  gap:28px!important;
}

.single-product .woocommerce div.product div.images{
  padding:16px!important;
}

.single-product .woocommerce div.product div.images img{
  max-height:430px;
  object-fit:contain;
}

.single-product .woocommerce div.product div.summary{
  padding:8px 0 0!important;
}

.single-product .woocommerce div.product .product_title{
  font-size:29px!important;
  line-height:1.15!important;
}

.single-product .woocommerce-product-details__short-description{
  margin:11px 0!important;
  font-size:11px!important;
  line-height:1.55!important;
}

.single-product .easethat-product-buying-note{
  margin-top:12px!important;
  padding:12px!important;
}

@media(max-width:1180px){
  .woocommerce ul.products{
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
  }
}

@media(max-width:900px){
  .easethat-account-dashboard-grid,
  .easethat-wishlist-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }

  .woocommerce ul.products{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
}

@media(max-width:720px){
  .easethat-account-welcome,
  .easethat-account-section-head{
    align-items:flex-start;
    flex-direction:column;
  }

  .easethat-account-dashboard-grid,
  .easethat-account-commercial-grid,
  .easethat-wishlist-grid,
  .easethat-address-book-grid,
  .easethat-address-form,
  .easethat-credit-form,
  .easethat-approved-terms-card dl,
  .easethat-credit-record-grid{
    grid-template-columns:1fr;
  }

  .easethat-address-default-check,
  .easethat-address-form-actions,
  .easethat-credit-form .field-wide{
    grid-column:auto;
  }

  .easethat-credit-submit{
    align-items:flex-start;
    flex-direction:column;
  }
}

@media(max-width:520px){
  .woocommerce ul.products{
    grid-template-columns:1fr!important;
  }

  .woocommerce ul.products li.product a img{
    height:180px!important;
    min-height:180px!important;
  }
}


/* =========================================================
   V6.13.49 PRODUCT IMAGE GALLERY MANAGEMENT
   ========================================================= */

.staff-product-images-fieldset{
  gap:14px!important;
}

.staff-product-image-summary{
  display:grid;
  gap:3px;
  padding:10px 11px;
  border-left:4px solid var(--teal);
  border-radius:7px;
  background:#eef9f8;
}

.staff-product-image-summary strong{
  color:var(--navy);
  font-size:10.5px;
}

.staff-product-image-summary span{
  color:#61798a;
  font-size:9.5px;
  line-height:1.45;
}

.staff-product-main-image-section,
.staff-product-gallery-section{
  display:grid;
  gap:10px;
  padding:12px;
  border:1px solid #dce6ea;
  border-radius:8px;
  background:#fff;
}

.staff-product-image-section-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
}

.staff-product-image-section-head h3{
  margin:3px 0 0;
  color:var(--navy);
  font-size:14px;
}

.staff-product-image-count{
  display:inline-flex;
  align-items:center;
  padding:4px 7px;
  border-radius:999px;
  background:#f0f5f7;
  color:#61798a;
  font-size:8.5px;
  font-weight:850;
}

.staff-product-main-image-layout{
  display:grid;
  grid-template-columns:150px minmax(0,1fr);
  gap:12px;
  align-items:start;
}

.staff-product-main-preview{
  position:relative;
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:135px;
  padding:8px;
  border:1px solid #dce5ea;
  border-radius:8px;
  background:#f9fbfc;
  overflow:hidden;
}

.staff-product-main-preview>img,
.staff-product-main-local-preview img{
  width:100%;
  max-height:150px;
  object-fit:contain;
}

.staff-product-main-local-preview{
  display:flex;
  align-items:center;
  justify-content:center;
  width:100%;
}

.staff-product-main-local-preview span{
  display:none;
}

.staff-product-main-badge{
  position:absolute;
  left:7px;
  bottom:7px;
  padding:4px 6px;
  border-radius:999px;
  background:rgba(9,45,84,.88);
  color:#fff;
  font-size:8px;
  font-weight:850;
}

.staff-product-image-placeholder{
  color:#7a8c99;
  font-size:9.5px;
  font-weight:750;
  text-align:center;
}

.staff-product-main-controls{
  display:grid;
  gap:9px;
}

.staff-product-file-drop{
  display:grid!important;
  gap:6px;
  padding:10px;
  border:1px dashed #bdced7;
  border-radius:7px;
  background:#f9fbfc;
}

.staff-product-file-drop>span{
  color:var(--navy);
  font-size:10px;
  font-weight:850;
}

.staff-product-file-drop input[type="file"]{
  min-height:38px;
  padding:6px;
  background:#fff;
}

.staff-product-remove-main{
  align-items:flex-start!important;
  padding:8px 9px;
  border-radius:6px;
  background:#fff6f6;
  color:#824747;
}

.staff-product-safety-note{
  color:#8b6565!important;
}

.staff-product-gallery-sortable{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:8px;
}

.staff-product-gallery-card{
  position:relative;
  display:grid;
  gap:6px;
  padding:7px;
  border:1px solid #dce5ea;
  border-radius:7px;
  background:#f9fbfc;
  transition:border-color .16s ease,opacity .16s ease,transform .16s ease;
}

.staff-product-gallery-card[draggable="true"]{
  cursor:grab;
}

.staff-product-gallery-card.is-dragging{
  opacity:.55;
  transform:scale(.98);
}

.staff-product-gallery-card.is-drag-over{
  border-color:var(--teal);
}

.staff-product-gallery-card.is-marked-remove{
  opacity:.5;
  border-color:#e5bcbc;
  background:#fff7f7;
}

.staff-product-gallery-image{
  display:flex;
  align-items:center;
  justify-content:center;
  height:90px;
  padding:4px;
  border-radius:5px;
  background:#fff;
}

.staff-product-gallery-image img{
  width:100%;
  height:100%;
  object-fit:contain;
}

.staff-product-gallery-card-meta{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:5px;
  color:#718594;
  font-size:7.8px;
}

.staff-gallery-drag-handle{
  width:24px;
  height:23px;
  padding:0;
  border:1px solid #d4e0e5;
  border-radius:5px;
  background:#fff;
  color:#5a7183;
  cursor:grab;
}

.staff-product-gallery-card-actions{
  display:grid;
  gap:4px;
}

.staff-product-gallery-card-actions label{
  display:flex!important;
  align-items:center;
  gap:5px;
  color:#526b7d;
  font-size:8.5px!important;
  font-weight:750!important;
}

.staff-product-gallery-card-actions label.is-remove{
  color:#914040;
}

.staff-product-gallery-card-actions input{
  width:13px!important;
  height:13px!important;
}

.staff-product-gallery-move{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:4px;
}

.staff-gallery-move-button{
  min-height:25px;
  border:1px solid #d4e0e5;
  border-radius:5px;
  background:#fff;
  color:#526b7d;
  cursor:pointer;
}

.staff-product-gallery-empty{
  padding:14px;
  border:1px dashed #cbd9df;
  border-radius:7px;
  background:#fafcfd;
  color:#718594;
  font-size:9.5px;
  text-align:center;
}

.staff-product-gallery-upload{
  margin-top:2px;
}

.staff-product-gallery-new-preview{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:7px;
}

.staff-product-gallery-new-card{
  display:grid;
  gap:4px;
  min-width:0;
  padding:6px;
  border:1px solid #dce5ea;
  border-radius:6px;
  background:#f9fbfc;
}

.staff-product-gallery-new-card img{
  width:100%;
  height:72px;
  object-fit:contain;
  border-radius:4px;
  background:#fff;
}

.staff-product-gallery-new-card span{
  overflow:hidden;
  color:#657b8c;
  font-size:7.8px;
  text-overflow:ellipsis;
  white-space:nowrap;
}

.staff-product-gallery-preview-warning{
  grid-column:1/-1;
  margin:0;
  padding:8px;
  border-left:3px solid #b86b16;
  border-radius:5px;
  background:#fff6e8;
  color:#74592f;
  font-size:8.8px;
  line-height:1.45;
}

.staff-product-image-guidance{
  display:grid;
  gap:3px;
  padding:9px 10px;
  border-radius:6px;
  background:#f3f7f9;
}

.staff-product-image-guidance strong{
  color:var(--navy);
  font-size:9.5px;
}

.staff-product-image-guidance span{
  color:#667d8e;
  font-size:8.8px;
  line-height:1.45;
}

@media(max-width:1180px){
  .staff-product-gallery-sortable,
  .staff-product-gallery-new-preview{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}

@media(max-width:720px){
  .staff-product-main-image-layout{
    grid-template-columns:1fr;
  }

  .staff-product-main-preview{
    max-width:220px;
  }

  .staff-product-gallery-sortable,
  .staff-product-gallery-new-preview{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}

@media(max-width:440px){
  .staff-product-gallery-sortable,
  .staff-product-gallery-new-preview{
    grid-template-columns:1fr;
  }
}


/* =========================================================
   V6.13.50 STAFF & CUSTOMER ACCOUNT SECURITY
   ========================================================= */

/* Staff / Customer account administration */
.staff-customers-content,
.staff-accounts-content{
  padding:28px 0 54px;
  background:#f5f8fa;
}

.staff-account-toolbar{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  margin:15px 0;
  padding:11px 12px;
  border:1px solid #d9e4e9;
  border-radius:9px;
  background:#fff;
}

.staff-account-toolbar form{
  display:flex;
  flex-wrap:wrap;
  gap:7px;
}

.staff-account-toolbar input,
.staff-account-toolbar select{
  min-height:38px;
  padding:7px 9px;
  border:1px solid #c8d6de;
  border-radius:7px;
  background:#fff;
}

.staff-account-toolbar input{
  min-width:280px;
}

.staff-account-toolbar>span{
  color:#657b8c;
  font-size:10px;
  font-weight:750;
}

.staff-customer-layout,
.staff-account-admin-grid{
  display:grid;
  grid-template-columns:minmax(0,1.45fr) minmax(340px,.8fr);
  gap:15px;
  align-items:start;
}

.staff-customer-list-card,
.staff-customer-editor-card,
.staff-account-list-card,
.staff-account-editor-card{
  padding:16px;
  border:1px solid #d9e4e9;
  border-radius:10px;
  background:#fff;
  box-shadow:0 4px 16px rgba(6,27,58,.025);
}

.staff-customer-editor-card,
.staff-account-editor-card{
  position:sticky;
  top:18px;
}

.staff-customer-editor-card h2,
.staff-account-editor-card h2,
.staff-account-list-head h2{
  margin:4px 0 8px;
  color:var(--navy);
  font-size:20px;
}

.staff-customer-editor-intro,
.staff-account-editor-card>p:not(.eyebrow){
  color:#60778a;
  font-size:10.5px;
  line-height:1.55;
}

.staff-customer-readonly-summary{
  display:grid;
  gap:1px;
  margin:12px 0;
  border:1px solid #dce6ea;
  border-radius:7px;
  background:#dce6ea;
  overflow:hidden;
}

.staff-customer-readonly-summary>div{
  display:grid;
  grid-template-columns:105px 1fr;
  gap:8px;
  padding:8px 9px;
  background:#f9fbfc;
}

.staff-customer-readonly-summary span{
  color:#748795;
  font-size:8.5px;
  font-weight:850;
  text-transform:uppercase;
}

.staff-customer-readonly-summary strong{
  color:var(--navy);
  font-size:10px;
}

.staff-customer-editor-form,
.staff-account-editor-form{
  display:grid;
  gap:11px;
}

.staff-customer-editor-form fieldset,
.staff-account-editor-form fieldset{
  display:grid;
  gap:8px;
  margin:0;
  padding:12px;
  border:1px solid #dce5ea;
  border-radius:8px;
}

.staff-customer-editor-form legend,
.staff-account-editor-form legend{
  padding:0 5px;
  color:var(--navy);
  font-size:10px;
  font-weight:850;
}

.staff-customer-form-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:8px;
}

.staff-customer-form-grid label,
.staff-account-editor-form>label{
  display:grid;
  gap:4px;
}

.staff-customer-form-grid .field-wide{
  grid-column:1/-1;
}

.staff-customer-form-grid label>span,
.staff-account-editor-form>label>span{
  color:var(--navy);
  font-size:9.5px;
  font-weight:800;
}

.staff-customer-form-grid input,
.staff-account-editor-form input[type="text"],
.staff-account-editor-form input[type="email"]{
  width:100%;
  min-height:39px;
  padding:7px 9px;
  border:1px solid #c8d6de;
  border-radius:6px;
  box-sizing:border-box;
}

.staff-customer-form-grid small{
  color:#708392;
  font-size:8.5px;
}

.staff-customer-trade-link{
  display:block;
  margin-top:12px;
  color:var(--teal);
  font-size:10px;
  font-weight:800;
  text-decoration:none;
}

.staff-account-summary-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
  margin:15px 0;
}

.staff-account-summary-card{
  display:grid;
  gap:6px;
  padding:15px;
  border:1px solid #d9e4e9;
  border-radius:9px;
  background:#fff;
}

.staff-account-summary-card>strong{
  color:var(--navy);
  font-size:25px;
}

.staff-account-summary-card p{
  margin:0;
  color:#657b8c;
  font-size:9.8px;
  line-height:1.5;
}

.staff-account-group{
  display:grid;
  gap:7px;
  margin-top:13px;
}

.staff-account-group h3{
  margin:0 0 3px;
  color:var(--navy);
  font-size:13px;
}

.staff-account-row{
  display:grid;
  grid-template-columns:85px minmax(150px,1.2fr) minmax(150px,1fr) auto;
  gap:10px;
  align-items:center;
  padding:9px;
  border:1px solid #e1e8ec;
  border-radius:7px;
  background:#fafcfd;
}

.staff-account-row.is-administrator{
  grid-template-columns:105px minmax(180px,1.2fr) minmax(150px,1fr);
  background:#f5f8fb;
}

.staff-account-row strong{
  display:block;
  color:var(--navy);
  font-size:10.5px;
}

.staff-account-row span:not(.easethat-admin-badge){
  display:block;
  color:#6c8190;
  font-size:9px;
  line-height:1.4;
}

.staff-role-selection{
  display:grid!important;
  grid-template-columns:18px 1fr;
  gap:7px;
  align-items:start;
  padding:8px;
  border-radius:6px;
  background:#f9fbfc;
}

.staff-role-selection input{
  margin-top:2px;
}

.staff-role-selection strong{
  display:block;
  color:var(--navy);
  font-size:9.8px;
}

.staff-role-selection small{
  display:block;
  margin-top:2px;
  color:#6e8291;
  font-size:8.5px;
  line-height:1.4;
}

.staff-account-secondary-action{
  margin-top:9px;
}

.staff-account-security-note{
  display:grid;
  gap:3px;
  margin-top:13px;
  padding:10px;
  border-left:4px solid var(--teal);
  border-radius:6px;
  background:#eef9f8;
}

.staff-account-security-note strong{
  color:var(--navy);
  font-size:9.8px;
}

.staff-account-security-note span{
  color:#60778a;
  font-size:8.8px;
  line-height:1.45;
}

/* Customer account 2FA */
.easethat-customer-security-card,
.easethat-customer-security-guidance{
  margin-bottom:14px;
  padding:18px;
  border:1px solid #d9e4e9;
  border-radius:10px;
  background:#fff;
}

.easethat-customer-security-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
}

.easethat-customer-security-head h3{
  margin:4px 0 7px;
  color:var(--navy);
  font-size:18px;
}

.easethat-customer-security-card>p{
  color:#60778a;
  font-size:10.8px;
  line-height:1.55;
}

.easethat-customer-2fa-area{
  margin-top:13px;
}

.easethat-customer-security-guidance strong{
  color:var(--navy);
  font-size:11px;
}

.easethat-customer-security-guidance ul{
  margin:8px 0 0 18px;
  color:#60778a;
  font-size:10px;
  line-height:1.6;
}

.staff-customer-2fa-policy{
  margin-top:16px;
}

@media(max-width:980px){
  .staff-customer-layout,
  .staff-account-admin-grid{
    grid-template-columns:1fr;
  }

  .staff-customer-editor-card,
  .staff-account-editor-card{
    position:static;
  }
}

@media(max-width:720px){
  .staff-account-toolbar,
  .easethat-customer-security-head{
    align-items:flex-start;
    flex-direction:column;
  }

  .staff-account-toolbar form{
    width:100%;
  }

  .staff-account-toolbar input{
    min-width:0;
    width:100%;
  }

  .staff-account-summary-grid,
  .staff-customer-form-grid{
    grid-template-columns:1fr;
  }

  .staff-customer-form-grid .field-wide{
    grid-column:auto;
  }

  .staff-account-row,
  .staff-account-row.is-administrator{
    grid-template-columns:1fr;
  }
}
/* V6.13.51 approval workflow */
.staff-approvals-content{padding:28px 0 54px;background:#f5f8fa}.staff-approval-tabs{display:flex;gap:7px;flex-wrap:wrap;margin:15px 0}.staff-approval-tabs a{padding:7px 11px;border:1px solid #d4e0e5;border-radius:999px;background:#fff;color:#60778a;font-size:9.5px;font-weight:800;text-decoration:none}.staff-approval-tabs a.is-active{background:#eaf8f6;border-color:#a8d8d4;color:var(--navy)}.staff-approval-list{display:grid;gap:12px}.staff-approval-card{padding:16px;border:1px solid #d9e4e9;border-radius:10px;background:#fff}.staff-approval-card-head{display:flex;justify-content:space-between;gap:15px}.staff-approval-card-head h2{margin:7px 0 4px;color:var(--navy);font-size:17px}.staff-approval-card-head p{margin:0;color:#718594;font-size:9px}.staff-approval-subject{display:flex;gap:9px;margin-top:11px;padding:9px 10px;border-radius:7px;background:#f6f9fa}.staff-approval-payload{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;background:#e1e8ec}.staff-approval-payload>div{padding:9px;background:#fff}.staff-approval-payload span{display:block;color:#748795;font-size:8.2px;font-weight:850;text-transform:uppercase}.staff-approval-payload strong{display:block;margin-top:3px;color:var(--navy);font-size:9.5px;overflow-wrap:anywhere}.staff-approval-actions{display:grid;gap:8px;margin-top:11px}.staff-customer-password-assist{display:grid;gap:7px;margin-top:14px;padding:12px;border:1px solid #cfdde4;border-radius:8px;background:#f9fbfc}.staff-customer-password-assist h3{margin:3px 0;color:var(--navy);font-size:14px}@media(max-width:720px){.staff-approval-payload{grid-template-columns:1fr}.staff-approval-card-head{flex-direction:column}}

/* =========================================================
   V6.13.52 ORDER & FULFILMENT OPERATIONS
   ========================================================= */
.staff-fulfilment-content{padding:28px 0 54px;background:#f5f8fa}
.fulfilment-summary{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:7px;margin:15px 0}
.fulfilment-summary a{display:grid;gap:2px;padding:10px;border:1px solid #d9e4e9;border-radius:8px;background:#fff;text-decoration:none;text-align:center}
.fulfilment-summary a.is-active{border-color:#a8d8d4;background:#eef9f8;box-shadow:inset 0 0 0 1px #d8efed}
.fulfilment-summary strong{color:var(--navy);font-size:18px}.fulfilment-summary span{color:#687d8d;font-size:8.5px;font-weight:800}
.fulfilment-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px;padding:10px 11px;border:1px solid #d9e4e9;border-radius:8px;background:#fff}
.fulfilment-toolbar form{display:flex;flex-wrap:wrap;gap:7px;flex:1}.fulfilment-toolbar input,.fulfilment-toolbar select{min-height:38px;padding:7px 9px;border:1px solid #c9d7df;border-radius:6px;background:#fff}.fulfilment-toolbar input[type=search]{min-width:330px;flex:1}.fulfilment-toolbar>span{color:#718594;font-size:8.8px;white-space:nowrap}
.staff-fulfilment-layout{display:grid;grid-template-columns:1fr;gap:13px}.staff-fulfilment-layout.has-review{grid-template-columns:minmax(0,1.25fr) minmax(350px,.75fr);align-items:start}
.staff-fulfilment-list,.staff-fulfilment-review{min-width:0}.staff-fulfilment-review{position:sticky;top:18px;display:grid;gap:11px;padding:15px;border:1px solid #d9e4e9;border-radius:10px;background:#fff;box-shadow:0 4px 16px rgba(6,27,58,.025)}
.fulfilment-stage{display:inline-flex;align-items:center;padding:4px 7px;border-radius:999px;background:#eef3f5;color:#566e80;font-size:8.5px;font-weight:850}.fulfilment-stage.is-picking{background:#edf3ff;color:#365e9a}.fulfilment-stage.is-packed{background:#f4efff;color:#654b9b}.fulfilment-stage.is-dispatched{background:#fff4dd;color:#7d5a11}.fulfilment-stage.is-delivered{background:#e9f8f3;color:#176a50}.fulfilment-stage.is-closed{background:#f1f1f1;color:#6e6e6e}.fulfilment-pending{display:block;margin-top:4px;color:#9a6910;font-size:7.8px;font-weight:800}.fulfilment-paid{display:block;color:#176a50;font-size:8.5px;font-weight:850}.fulfilment-unpaid{display:block;color:#915040;font-size:8.5px;font-weight:850}.fulfilment-table td>span:not(.fulfilment-stage):not(.fulfilment-pending):not(.fulfilment-paid):not(.fulfilment-unpaid){display:block;margin-top:3px;color:#708392;font-size:8.3px}
.fulfilment-addresses{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.fulfilment-addresses>div{padding:10px;border:1px solid #e0e8ec;border-radius:7px;background:#fafcfd}.fulfilment-addresses strong{color:var(--navy);font-size:9px}.fulfilment-addresses address{margin:6px 0 0;color:#60778a;font-size:8.8px;font-style:normal;line-height:1.5}
.fulfilment-items{display:grid;gap:5px;padding:10px;border:1px solid #e0e8ec;border-radius:7px}.fulfilment-items>strong{color:var(--navy);font-size:9.5px}.fulfilment-items>div{display:flex;justify-content:space-between;gap:10px;padding-top:5px;border-top:1px solid #edf1f3;color:#526b7d;font-size:9px}.fulfilment-items small{display:block;margin-top:2px;color:#7b8d99;font-size:7.5px}
.fulfilment-current{padding:10px;border-radius:7px;background:#f7fafb}.fulfilment-current dl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;margin:7px 0 0;background:#dce5ea}.fulfilment-current dl>div{padding:7px;background:#fff}.fulfilment-current dt{color:#758795;font-size:7.5px;font-weight:850;text-transform:uppercase}.fulfilment-current dd{margin:2px 0 0;color:var(--navy);font-size:8.8px;overflow-wrap:anywhere}
.fulfilment-proposal-form{display:grid;gap:9px;padding:12px;border:1px solid #cfe1e0;border-radius:8px;background:#f6fbfa}.fulfilment-proposal-form h3{margin:3px 0 0;color:var(--navy);font-size:15px}.fulfilment-proposal-form>p:not(.eyebrow){margin:0;color:#60778a;font-size:8.8px;line-height:1.45}.fulfilment-proposal-form label:not(.staff-product-check){display:grid;gap:4px}.fulfilment-proposal-form label>span{color:var(--navy);font-size:8.8px;font-weight:800}.fulfilment-proposal-form input,.fulfilment-proposal-form select,.fulfilment-proposal-form textarea{width:100%;padding:7px 8px;border:1px solid #c8d7de;border-radius:6px;background:#fff;box-sizing:border-box}.fulfilment-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.fulfilment-form-grid .field-wide{grid-column:1/-1}
.fulfilment-control-note{display:flex;gap:7px;margin-top:13px;padding:10px 11px;border-left:4px solid var(--teal);border-radius:7px;background:#eef9f8;color:#60778a;font-size:8.8px;line-height:1.45}.fulfilment-control-note strong{color:var(--navy);white-space:nowrap}
.easethat-customer-fulfilment-panel{margin:18px 0;padding:18px;border:1px solid #d9e4e9;border-radius:10px;background:#fff}.easethat-customer-fulfilment-panel h2{margin:4px 0 10px;color:var(--navy);font-size:20px}.easethat-customer-fulfilment-panel dl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;margin:0 0 12px;background:#dce5ea}.easethat-customer-fulfilment-panel dl>div{padding:8px 9px;background:#f9fbfc}.easethat-customer-fulfilment-panel dt{color:#718594;font-size:8px;font-weight:850;text-transform:uppercase}.easethat-customer-fulfilment-panel dd{margin:2px 0 0;color:var(--navy);font-size:9.5px;font-weight:750}.easethat-customer-fulfilment-note{margin:11px 0 0;padding:10px;border-radius:7px;background:#f7fafb;color:#60778a;font-size:9.5px;line-height:1.5}
@media(max-width:1180px){.fulfilment-summary{grid-template-columns:repeat(4,minmax(0,1fr))}.staff-fulfilment-layout.has-review{grid-template-columns:1fr}.staff-fulfilment-review{position:static}}
@media(max-width:720px){.fulfilment-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.fulfilment-toolbar{align-items:flex-start;flex-direction:column}.fulfilment-toolbar form{width:100%}.fulfilment-toolbar input[type=search],.fulfilment-toolbar select{min-width:0;width:100%}.fulfilment-addresses,.fulfilment-form-grid,.fulfilment-current dl,.easethat-customer-fulfilment-panel dl{grid-template-columns:1fr}.fulfilment-form-grid .field-wide{grid-column:auto}.fulfilment-control-note{flex-direction:column}.fulfilment-control-note strong{white-space:normal}}

/* V6.13.53 Team Portal workflow */
.staff-global-search{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:18px;margin:0 0 14px;padding:16px 18px;border:1px solid #cddde5;border-radius:12px;background:linear-gradient(105deg,#eff9f8 0%,#fff 52%,#f2f6fa 100%);box-shadow:0 10px 28px rgba(5,35,68,.06)}
.staff-global-search label span{display:block;color:var(--navy);font-size:14px;font-weight:850;white-space:nowrap}
.staff-global-search>div{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px}
.staff-global-search input[type=search]{min-width:0;width:100%;height:46px;padding:10px 14px;border:1px solid #b9ccd7;border-radius:7px;background:#fff;color:var(--navy);font-size:15px}
.staff-global-search .button{min-height:46px;padding:10px 20px}
.staff-workspace-nav a{display:inline-flex;align-items:center;gap:7px}
.staff-nav-badge{display:inline-flex;align-items:center;justify-content:center;min-width:22px;height:22px;padding:0 7px;border-radius:999px;background:#d83b4d;color:#fff;font-size:12px;line-height:1}
.staff-workspace-nav a.is-active .staff-nav-badge{background:#fff;color:#9b1930}
.staff-section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:14px}
.staff-section-heading .eyebrow{margin:0 0 3px}
.staff-section-heading h2{margin:0;color:var(--navy);font-size:24px;line-height:1.2}
.staff-section-heading>span{color:#657b8c;font-size:14px;font-weight:750}
.staff-search-results,.staff-attention-panel{margin:18px 0;padding:20px;border:1px solid #d6e2e8;border-radius:13px;background:#fff;box-shadow:0 12px 34px rgba(5,35,68,.06)}
.staff-search-groups{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.staff-search-group h3{margin:0;padding:0 0 8px;border-bottom:1px solid #dbe5ea;color:#5e7485;font-size:14px;text-transform:uppercase;letter-spacing:.05em}
.staff-search-group>div{display:grid}
.staff-search-result{display:grid;grid-template-columns:38px minmax(0,1fr) auto;align-items:center;gap:11px;padding:11px 4px;border-bottom:1px solid #edf2f4;color:var(--navy)}
.staff-search-result:hover{color:#067f82}
.staff-search-result-type{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:8px;background:#e8f7f5;color:#087a7a;font-size:12px;font-weight:900}
.staff-search-result strong,.staff-search-result small{display:block}
.staff-search-result strong{font-size:15px;line-height:1.3}
.staff-search-result small{margin-top:2px;color:#657b8c;font-size:13px;line-height:1.4}
.staff-search-result b{font-size:18px}
.staff-attention-panel{border-top:4px solid var(--teal)}
.staff-attention-list{display:grid}
.staff-attention-item{display:grid;grid-template-columns:120px minmax(0,1fr) auto;align-items:center;gap:14px;padding:13px 3px;border-top:1px solid #e5ecef}
.staff-attention-item:first-child{border-top:0}
.staff-attention-item:hover strong{color:#05888a}
.staff-attention-area{display:inline-flex;justify-content:center;padding:6px 9px;border-radius:999px;background:#edf6f7;color:#075b69;font-size:12px;font-weight:850;text-align:center}
.staff-attention-item strong,.staff-attention-item small{display:block}
.staff-attention-item strong{color:var(--navy);font-size:15px;line-height:1.35}
.staff-attention-item small{margin-top:2px;color:#667b8a;font-size:13px;line-height:1.45}
.staff-attention-item b{color:#087d82;font-size:13px;white-space:nowrap}
.staff-attention-clear{display:flex;align-items:center;gap:13px;padding:18px;border-radius:10px;background:#edf9f6;color:#315f5c}
.staff-attention-clear>span{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:50%;background:#0a9d90;color:#fff;font-size:20px}
.staff-attention-clear strong{display:block;color:#0b514c;font-size:16px}
.staff-attention-clear p{margin:2px 0 0;font-size:14px}
.staff-workspaces-heading{margin:28px 0 12px}
.staff-change-comparison{margin-top:14px;border:1px solid #cfdee5;border-radius:10px;overflow:hidden;background:#fff}
.staff-change-comparison summary{padding:13px 15px;background:#f0f6f8;color:var(--navy);cursor:pointer;font-size:15px;font-weight:850}
.staff-change-projection-note{margin:0;padding:10px 14px;border-top:1px solid #dbe5e9;background:#fffbe9;color:#6b5315;font-size:13px}
.staff-change-table-wrap{overflow-x:auto}
.staff-change-table{width:100%;min-width:760px;border-collapse:collapse;table-layout:fixed}
.staff-change-table th,.staff-change-table td{padding:12px 13px;border-top:1px solid #dde7eb;border-right:1px solid #e3eaed;vertical-align:top;text-align:left;font-size:14px;line-height:1.45;overflow-wrap:anywhere}
.staff-change-table thead th{border-top:0;background:#f8fafb;color:#5d7383;font-size:12px;text-transform:uppercase;letter-spacing:.04em}
.staff-change-table tbody th{width:19%;background:#fbfcfd;color:var(--navy)}
.staff-change-table .is-proposed{background:#fff9df;color:#593e00;font-weight:750}
.staff-change-table .is-after{background:#edf8f5;color:#164e48}
.staff-approval-card.is-focused{border-color:#09a9a4;box-shadow:0 0 0 3px rgba(9,169,164,.12)}
.easethat-order-timeline{margin:0 0 22px;padding:20px;border:1px solid #d5e2e8;border-radius:12px;background:#fff;box-shadow:0 10px 30px rgba(5,35,68,.06)}
.easethat-order-timeline-head .eyebrow{margin:0 0 2px}
.easethat-order-timeline-head h2{margin:0 0 18px;color:var(--navy);font-size:22px}
.easethat-order-timeline ol{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:0;margin:0;padding:0;list-style:none}
.easethat-order-timeline li{position:relative;min-width:0;padding:0 8px;text-align:center}
.easethat-order-timeline li::before,.easethat-order-timeline li::after{content:"";position:absolute;z-index:0;top:10px;height:3px;background:#d7e1e6}
.easethat-order-timeline li::before{left:0;right:50%}
.easethat-order-timeline li::after{left:50%;right:0}
.easethat-order-timeline li:first-child::before,.easethat-order-timeline li:last-child::after{display:none}
.easethat-order-timeline li.is-complete::before,.easethat-order-timeline li.is-complete::after,.easethat-order-timeline li.is-current::before{background:#0aa49b}
.easethat-timeline-marker{position:relative;z-index:1;display:block;width:22px;height:22px;margin:0 auto 9px;border:3px solid #cbd8de;border-radius:50%;background:#fff}
.is-complete .easethat-timeline-marker{border-color:#079b91;background:#079b91;box-shadow:inset 0 0 0 4px #fff}
.is-current .easethat-timeline-marker{border-color:#057f8e;background:#fff;box-shadow:0 0 0 5px rgba(5,127,142,.13)}
.is-skipped .easethat-timeline-marker{border-style:dashed;background:#f7f9fa}
.easethat-order-timeline li strong,.easethat-order-timeline li small{display:block}
.easethat-order-timeline li strong{color:var(--navy);font-size:13px;line-height:1.25}
.easethat-order-timeline li small{margin-top:4px;color:#6b7f8d;font-size:12px;line-height:1.35;overflow-wrap:anywhere}
.easethat-order-timeline .easethat-timeline-state{margin-top:5px;color:#526c7c;font-size:11px;font-weight:800;line-height:1.3}
.easethat-order-timeline .is-complete .easethat-timeline-state{color:#176a50}
.easethat-order-timeline .is-current .easethat-timeline-state{color:#075f6b}
.easethat-order-timeline .is-skipped .easethat-timeline-state{color:#687781}
.easethat-order-progress-compact strong,.easethat-order-progress-compact small{display:block}
.easethat-order-progress-compact strong{color:var(--navy);font-size:13px}
.easethat-order-progress-compact small{color:#6d7f8c;font-size:12px}
@media(max-width:900px){
  .staff-global-search{grid-template-columns:1fr;gap:8px}
  .staff-global-search label span{white-space:normal}
  .staff-search-groups{grid-template-columns:1fr}
  .easethat-order-timeline ol{grid-template-columns:1fr;text-align:left}
  .easethat-order-timeline li{display:grid;grid-template-columns:30px minmax(0,1fr);grid-template-rows:auto auto;gap:0 9px;padding:0 0 18px;text-align:left}
  .easethat-order-timeline li::before,.easethat-order-timeline li::after{left:10px;right:auto;top:0;width:3px;height:50%;background:#d7e1e6}
  .easethat-order-timeline li::after{top:11px;bottom:0;height:auto}
  .easethat-order-timeline li:first-child::before,.easethat-order-timeline li:last-child::after{display:none}
  .easethat-timeline-marker{grid-column:1;grid-row:1/3;margin:0}
  .easethat-order-timeline li strong{grid-column:2;grid-row:1;font-size:14px}
  .easethat-order-timeline li small{grid-column:2;grid-row:2;font-size:13px}
}
@media(max-width:650px){
  .staff-global-search>div{grid-template-columns:1fr}
  .staff-global-search .button{width:100%}
  .staff-section-heading{align-items:flex-start;flex-direction:column;gap:5px}
  .staff-search-results,.staff-attention-panel{padding:15px}
  .staff-attention-item{grid-template-columns:1fr;gap:5px;padding:14px 2px}
  .staff-attention-area{justify-self:start}
  .staff-attention-item b{margin-top:4px}
}

/* V6.13.54 WCAG 2.2 launch-readiness controls */
.legal-nav-links a,
.staff-workspace-nav a,
.staff-search-result,
.staff-attention-item,
.cart-link,
.button,
button:not(.easethat-timeline-marker){
  min-height:44px;
}
.legal-nav-links a,
.cart-link,
.button{
  display:inline-flex;
  align-items:center;
  justify-content:center;
}
.staff-account-toolbar input,
.staff-account-toolbar select,
.staff-products-toolbar input,
.staff-products-toolbar select,
.quote-manager-search-grid input,
.quote-manager-search-grid select,
.activity-toolbar input,
.activity-toolbar select,
.fulfilment-toolbar input,
.fulfilment-toolbar select{
  min-height:44px;
}

/* V6.13.55 Administrator Maintenance & Backups */
.staff-maintenance-page{min-height:100vh;background:#f5f8fa}
.staff-maintenance-content{padding:22px 0 56px}
.maintenance-summary-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:18px 0}
.maintenance-summary-grid>div{padding:16px;border:1px solid #d8e3e8;border-radius:10px;background:#fff;box-shadow:0 8px 24px rgba(5,35,68,.04)}
.maintenance-summary-grid span,.maintenance-summary-grid strong,.maintenance-summary-grid small{display:block}
.maintenance-summary-grid span{color:#657b89;font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.04em}
.maintenance-summary-grid strong{margin-top:4px;color:var(--navy);font-size:24px;line-height:1.2}
.maintenance-summary-grid small{margin-top:4px;color:#6a7d89;font-size:12px}
.maintenance-card-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:16px}
.maintenance-card-grid .staff-security-card,.maintenance-backup-card{margin:0}
.maintenance-backup-card{margin-top:16px!important}
.maintenance-table-wrap{margin-top:14px;overflow-x:auto;border:1px solid #dbe5e9;border-radius:8px}
.maintenance-table{width:100%;min-width:620px;border-collapse:collapse;background:#fff}
.maintenance-table th,.maintenance-table td{padding:10px 11px;border-bottom:1px solid #e3eaed;text-align:left;font-size:12px;vertical-align:top}
.maintenance-table thead th{background:#f3f7f8;color:#5c7180;font-size:11px;text-transform:uppercase;letter-spacing:.04em}
.maintenance-table tbody th{max-width:270px;color:var(--navy);overflow-wrap:anywhere}
.maintenance-table tbody tr:last-child th,.maintenance-table tbody tr:last-child td{border-bottom:0}
.maintenance-safety-note,.maintenance-empty-state{margin:14px 0;padding:13px 14px;border-left:4px solid #d29b2a;border-radius:7px;background:#fff9e9;color:#65511f}
.maintenance-safety-note strong,.maintenance-empty-state strong{display:block;color:#59460f}
.maintenance-safety-note p,.maintenance-empty-state p{margin:4px 0 0;font-size:13px;line-height:1.55}
.maintenance-backup-actions{display:flex;align-items:center;justify-content:space-between;gap:14px;margin:16px 0}
.maintenance-backup-actions>span{color:#657986;font-size:12px;font-weight:750}
.maintenance-backup-list{display:grid;border:1px solid #d9e4e8;border-radius:9px;overflow:hidden}
.maintenance-backup-list article{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:14px;background:#fff;border-top:1px solid #e1e9ec}
.maintenance-backup-list article:first-child{border-top:0}
.maintenance-backup-list article strong,.maintenance-backup-list article span,.maintenance-backup-list article small{display:block}
.maintenance-backup-list article strong{color:var(--navy);font-size:14px}
.maintenance-backup-list article span{margin-top:2px;color:#5f7584;font-size:12px}
.maintenance-backup-list article small{margin-top:4px;max-width:560px;color:#778a96;font-size:10px;overflow-wrap:anywhere}
.maintenance-backup-row-actions{display:flex;align-items:center;gap:7px;flex:0 0 auto}
.maintenance-backup-row-actions form{margin:0}
.maintenance-backup-row-actions .button{min-height:44px;padding:8px 11px;font-size:12px}
.maintenance-restore-steps{display:grid;gap:10px;margin:14px 0;padding:0;list-style:none;counter-reset:restore-step}
.maintenance-restore-steps li{position:relative;padding:12px 12px 12px 48px;border:1px solid #dbe5e9;border-radius:8px;background:#fff;counter-increment:restore-step}
.maintenance-restore-steps li::before{content:counter(restore-step);position:absolute;left:12px;top:12px;display:grid;place-items:center;width:25px;height:25px;border-radius:50%;background:#e6f7f5;color:#08786f;font-size:12px;font-weight:900}
.maintenance-restore-steps strong,.maintenance-restore-steps span{display:block}
.maintenance-restore-steps strong{color:var(--navy);font-size:13px}
.maintenance-restore-steps span{margin-top:2px;color:#667b88;font-size:12px;line-height:1.45}
.maintenance-update-card form{margin:14px 0}

@media(max-width:980px){
  .maintenance-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .maintenance-card-grid{grid-template-columns:1fr}
}
@media(max-width:680px){
  .maintenance-summary-grid{grid-template-columns:1fr}
  .maintenance-backup-actions,.maintenance-backup-list article{align-items:flex-start;flex-direction:column}
  .maintenance-backup-row-actions{width:100%;flex-wrap:wrap}
  .maintenance-backup-row-actions .button{width:100%}
  .maintenance-backup-row-actions form{flex:1}
}


/* =========================================================
   V6.13.58 DESIGN CONSISTENCY & POLISH
   Accessible brand actions, readable portal typography,
   grouped administration navigation and a shorter header.
   ========================================================= */

:root{
  --teal:#047a78;
  --teal-2:#087f7a;
  --teal-accessible:#047a78;
  --teal-accessible-2:#035f68;
}

/* Maintain the EaseThat teal identity while meeting normal-text contrast. */
.nav-cta,
.button.primary,
.woocommerce a.button:not(.secondary):not(.outline):not(.commerce-secondary-action),
.woocommerce button.button:not(.secondary):not(.outline):not(.commerce-secondary-action),
.woocommerce input.button:not(.secondary):not(.outline):not(.commerce-secondary-action),
.staff-login-card .woocommerce-form-login__submit,
.trade-approvals-login-card .woocommerce-form-login__submit{
  background:linear-gradient(95deg,var(--teal-accessible),var(--teal-accessible-2)) !important;
  color:#fff !important;
}

.nav-cta:hover,
.button.primary:hover,
.woocommerce a.button:not(.secondary):not(.outline):not(.commerce-secondary-action):hover,
.woocommerce button.button:not(.secondary):not(.outline):not(.commerce-secondary-action):hover,
.woocommerce input.button:not(.secondary):not(.outline):not(.commerce-secondary-action):hover,
.staff-login-card .woocommerce-form-login__submit:hover,
.trade-approvals-login-card .woocommerce-form-login__submit:hover{
  background:linear-gradient(95deg,#036d6b,#024f59) !important;
}

.circle-icon,
.staff-portal-icon{
  background:linear-gradient(145deg,var(--teal-accessible),var(--teal-accessible-2));
}

/* Reduce the desktop chrome while preserving the established mobile header. */
@media(min-width:1081px){
  html{scroll-padding-top:125px}
  .topbar-inner{min-height:36px}
  .header .nav{min-height:84px}
  .header .logo-link{width:245px}
  .header .nav-links>a{padding-top:31px;padding-bottom:27px}
}

/* Native, keyboard-accessible Administration disclosure. */
.staff-workspace-admin{
  position:relative;
  margin-left:auto;
}

.staff-workspace-admin summary{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  min-height:44px;
  padding:8px 12px;
  border-radius:7px;
  color:#50697c;
  font-size:12.5px;
  font-weight:800;
  line-height:1.2;
  list-style:none;
  cursor:pointer;
}

.staff-workspace-admin summary::-webkit-details-marker{display:none}
.staff-workspace-admin summary:hover,
.staff-workspace-admin summary:focus-visible,
.staff-workspace-admin[open] summary{
  background:#f1f7f8;
  color:var(--navy);
}

.staff-workspace-admin summary[aria-current="page"]{
  background:#e7f8f6;
  color:var(--teal-accessible);
  box-shadow:inset 0 0 0 1px rgba(4,122,120,.22);
}

.staff-workspace-admin-caret{
  width:7px;
  height:7px;
  border-right:2px solid currentColor;
  border-bottom:2px solid currentColor;
  transform:translateY(-2px) rotate(45deg);
  transition:transform .18s ease;
}

.staff-workspace-admin[open] .staff-workspace-admin-caret{
  transform:translateY(2px) rotate(225deg);
}

.staff-workspace-admin-menu{
  position:absolute;
  z-index:30;
  right:0;
  top:calc(100% + 8px);
  display:grid;
  width:250px;
  padding:7px;
  border:1px solid #d9e4e9;
  border-radius:10px;
  background:#fff;
  box-shadow:0 16px 36px rgba(6,27,58,.14);
}

.staff-workspace-admin-menu a{
  justify-content:flex-start;
  width:100%;
  min-height:42px;
  padding:10px 12px;
  font-size:12.5px;
  text-align:left;
}

/* Raise operational text above the compressed historical 8–11px scale. */
main[class*="staff-"][class*="-page"] :is(p,li,dd,td,label,a,button),
main.trade-approvals-page :is(p,li,dd,td,label,a,button){
  font-size:13px !important;
  line-height:1.5;
}

main[class*="staff-"][class*="-page"] :is(input,select,textarea),
main.trade-approvals-page :is(input,select,textarea){
  font-size:14px !important;
}

main[class*="staff-"][class*="-page"] small,
main.trade-approvals-page small,
.trade-portal-table th,
.staff-approval-payload span,
.staff-change-table th,
.fulfilment-summary span,
.fulfilment-stage,
.fulfilment-pending,
.fulfilment-paid,
.fulfilment-unpaid,
.fulfilment-table td>span,
.fulfilment-addresses strong,
.fulfilment-addresses address,
.fulfilment-items,
.fulfilment-current dt,
.fulfilment-current dd,
.fulfilment-proposal-form>p:not(.eyebrow),
.fulfilment-proposal-form label>span,
.fulfilment-control-note,
.easethat-current-document-note span,
.easethat-document-revision,
.easethat-document-download,
.easethat-customer-document-panel-head>a,
.easethat-customer-document-list li>div:first-child span,
.easethat-customer-document-list .easethat-document-actions a{
  font-size:12px !important;
  line-height:1.45;
}

.trade-portal-table td,
.trade-portal-table td strong,
.trade-portal-table td span:not(.trade-status-pill):not(.quote-status-pill):not(.product-status-pill),
.staff-approval-payload strong,
.easethat-current-document-note strong,
.easethat-customer-document-list li strong{
  font-size:13px !important;
}

.staff-approval-card-head h2{font-size:19px}
.staff-security-description,
.staff-security-guidance li,
.staff-security-install-note p{font-size:13px !important}

@media(max-width:620px){
  .staff-workspace-admin{
    grid-column:1/-1;
    width:100%;
    margin-left:0;
  }

  .staff-workspace-admin summary{
    width:100%;
  }

  .staff-workspace-admin-menu{
    position:static;
    width:100%;
    margin-top:6px;
    box-shadow:none;
  }
}

/* Final V6.13.69 cascade guards for older hub-page component rules. */
.insights-index-card .insights-index-actions a{margin-top:0}
.insight-cta .resource-privacy-note{margin:14px 0 0;color:#b9cad7;font-size:13px}
.insight-cta .insight-consultation-link{color:#fff;text-decoration:underline;text-underline-offset:3px}


/* =========================================================
   V6.13.70 IPHONE SUBMENU POSITIONING
   The desktop dropdown transform had greater specificity than
   the earlier mobile reset. This keeps every mobile submenu in
   normal document flow and within the Safari viewport.
   ========================================================= */

@media(max-width:1080px){
  .header .nav-links.open{
    max-height:calc(100vh - 90px);
    max-height:calc(100dvh - 90px);
    overflow-x:hidden;
    overflow-y:auto;
    overscroll-behavior:contain;
    -webkit-overflow-scrolling:touch;
  }

  .header .nav-links .nav-dropdown{
    min-width:0;
    max-width:100%;
  }

  .header .nav-links .nav-dropdown > .services-submenu{
    position:static;
    inset:auto;
    width:100%;
    min-width:0;
    max-width:100%;
    margin:0;
    padding:4px 0 8px 14px;
    border:0;
    border-left:2px solid #d9e9ea;
    border-radius:0;
    box-shadow:none;
    opacity:1;
    visibility:visible;
    pointer-events:auto;
    transform:none !important;
  }

  .header .nav-links .nav-dropdown:not(.is-open) > .services-submenu{
    display:none !important;
  }

  .header .nav-links .nav-dropdown.is-open > .services-submenu{
    display:block !important;
    transform:none !important;
  }

  .header .nav-links .services-submenu-group,
  .header .nav-links .services-submenu--compact{
    width:100%;
    min-width:0;
    max-width:100%;
  }

  .header .nav-links .services-submenu a,
  .header .nav-links .services-submenu strong,
  .header .nav-links .services-submenu small,
  .header .nav-links .services-submenu-label{
    max-width:100%;
    white-space:normal;
    overflow-wrap:anywhere;
  }
}

@media(max-width:820px){
  .header .nav-links.open{
    max-height:calc(100vh - 84px);
    max-height:calc(100dvh - 84px);
  }
}

@media(max-width:600px){
  .header .nav-links.open{
    max-height:calc(100vh - 78px);
    max-height:calc(100dvh - 78px);
  }
}
