/* ============ Impressink polish: typography, brand colors, product quote box, contact bubble ============ */
html:root{
  --imx-head:"Geologica","Inter",system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;
  --imx-body:"Inter",system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;
  --wd-text-font:var(--imx-body);--wd-title-font:var(--imx-head);--wd-entities-title-font:var(--imx-body);
  --wd-alternative-font:var(--imx-head);--wd-widget-title-font:var(--imx-head);--wd-header-el-font:var(--imx-body);
  --wd-text-font-size:16px;--wd-text-color:#2a2b3d;--wd-title-color:#16172b;--wd-title-font-weight:700;
  --wd-entities-title-color:#16172b;--wd-entities-title-color-hover:#2c3192;--wd-entities-title-font-weight:500;
  --wd-primary-color:#2c3192;--wd-alternative-color:#2c3192;--wd-link-color:#2c3192;--wd-link-color-hover:#1f2372;
  --wd-widget-title-color:#16172b;--wd-widget-title-font-size:14px;--wd-brd-radius:6px;--wd-form-brd-radius:4px;
  --btn-accented-bgcolor:#2c3192;--btn-accented-bgcolor-hover:#1f2372;--btn-accented-color:#fff;--btn-accented-color-hover:#fff;
}
html{-webkit-text-size-adjust:100%;text-size-adjust:100%}
html body{font-family:var(--imx-body);font-size:16px;line-height:1.65;color:#2a2b3d;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;font-feature-settings:"cv11","ss01"}
h1,h2,h3,h4,h5,h6,.title,.wd-entities-title,.widget-title,.imx-h,.imx-cap h2,.imx-why-box h3,.imx-ban strong,.imx-ct-hero h1,.imx-ct-form h2,.imx-ft-cta strong{font-family:var(--imx-head);letter-spacing:-.01em}
h1{font-weight:700;line-height:1.12}h2{font-weight:700;line-height:1.18}h3,h4{font-weight:600;line-height:1.25}
.imx-hdr,.imx-drawer,.imx-ft,.imx,.imx-ct,.imx-fab{font-family:var(--imx-body)}
.imx-ml,.imx-col-h,.imx-dr-nav summary,.imx-quote,.imx-btn,.imx-cat span,.imx-trust b,.imx-feat b,.imx-sr-h,.imx-ft h3,.imx-ct-send,.imx-pq-btn{font-family:var(--imx-head)}
.imx-ml{letter-spacing:.04em!important}
.imx-h{letter-spacing:.18em;font-weight:700}
.imx-cap h2{font-weight:800;letter-spacing:-.02em}
input,select,textarea,button{font-family:inherit}
::selection{background:#2c3192;color:#fff}
a{text-underline-offset:3px}
:focus-visible{outline:2px solid #2c3192;outline-offset:2px}

/* product grid: calmer, readable titles */
.wd-product .wd-entities-title{font-size:15px;line-height:1.35;font-weight:600;letter-spacing:0}
.wd-product .wd-product-cats,.wd-product .wd-product-cats a{font-size:13px;color:#7a7c8e}
.wd-product .product-element-top{border-radius:6px;overflow:hidden;background:#f4f4f7}
.wd-product:hover .wd-entities-title a{color:#2c3192}

/* page title band (shop, categories, pages): brand gradient, compact */
.wd-page-title,.page-title{background:linear-gradient(115deg,#16172b 0%,#2c3192 110%)!important;padding-top:44px!important;padding-bottom:44px!important}
.wd-page-title .title,.page-title .title,.wd-page-title h1,.page-title h1{font-size:clamp(28px,4vw,46px)!important;font-weight:700!important;letter-spacing:-.02em;color:#fff}
.wd-page-title .wd-breadcrumbs,.page-title .breadcrumbs,.wd-page-title .woocommerce-breadcrumb{font-size:14px;opacity:.85}
.wd-page-title .wd-back-btn a,.page-title .back-btn{color:#fff}
.wd-breadcrumbs,.woocommerce-breadcrumb{font-size:14px}

/* shop toolbar & sidebar */
.widget-title,.wd-widget-title{text-transform:uppercase;letter-spacing:.12em;font-weight:700}
.woocommerce-ordering select,.wd-products-per-page,.wd-products-shop-view{font-size:14px}
.woocommerce-result-count{font-size:14px;color:#6b6d80}

/* single product */
.single-product .product_title{font-family:var(--imx-head)!important;font-size:clamp(26px,3vw,38px)!important;font-weight:700;letter-spacing:-.02em;color:#16172b}
.single-product .woocommerce-product-details__short-description,.single-product .summary-inner>ul{font-size:15.5px}
.single-product .shop_attributes th,.single-product .shop_attributes td{font-size:15px}
.single-product .product_meta{font-size:14.5px}
.wd-swatch{transition:transform .15s}.wd-swatch:hover{transform:scale(1.1)}
.imx-pq{margin:6px 0 22px;padding:20px;border:1px solid #e3e5f3;border-radius:8px;background:linear-gradient(180deg,#f6f7fd,#fff)}
.imx-pq-btns{display:flex;gap:10px;flex-wrap:wrap}
.imx-pq .imx-pq-btn{flex:1 1 240px;display:flex;align-items:center;justify-content:center;min-height:52px;padding:10px 20px;border-radius:6px;background:#2c3192;color:#fff!important;font-weight:700;font-size:14.5px;letter-spacing:.02em;text-decoration:none;text-align:center;transition:background .15s,transform .15s;box-shadow:0 8px 20px rgba(44,49,146,.25)}
.imx-pq .imx-pq-btn:hover{background:#1f2372;transform:translateY(-1px)}
.imx-pq .imx-pq-call{flex:0 1 auto;display:flex;align-items:center;gap:8px;min-height:52px;padding:10px 18px;border-radius:6px;border:1.5px solid #2c3192;color:#2c3192!important;font-weight:700;text-decoration:none;white-space:nowrap}
.imx-pq .imx-pq-call:hover{background:#eef0fb}
.imx-pq-call svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.imx-pq-list{list-style:none;margin:14px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:6px 20px;font-size:14px;color:#4a4c60}
.imx-pq-list li{position:relative;padding-left:22px;margin:0}
.imx-pq-list li:before{content:"";position:absolute;left:0;top:5px;width:14px;height:8px;border-left:2px solid #2c3192;border-bottom:2px solid #2c3192;transform:rotate(-45deg)}
.wd-single-tabs .tabs li a,.wc-tabs li a,.wd-accordion-title-text{font-family:var(--imx-head);letter-spacing:.06em}

/* theme scroll-to-top moves left so the bubble owns the right corner */
.scrollToTop{right:auto!important;left:20px!important}

/* ============ contact bubble ============ */
.imx-fab{position:fixed;right:20px;bottom:20px;z-index:1050;display:flex;flex-direction:column;align-items:flex-end;gap:12px;color:#16172b}
.imx-fab *{box-sizing:border-box}
.imx-fab svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;flex:none}
.imx-fab .imx-fab-btn{position:relative;width:60px!important;height:60px!important;min-height:0!important;padding:0!important;border:0!important;border-radius:50%!important;background:#2c3192!important;color:#fff!important;cursor:pointer;display:grid;place-items:center;box-shadow:0 10px 28px rgba(44,49,146,.45);transition:transform .2s,background .2s}
.imx-fab .imx-fab-btn:hover{transform:scale(1.06);background:#1f2372!important}
.imx-fab-btn svg{position:absolute;width:26px!important;height:26px!important;transition:opacity .2s,transform .25s}
.imx-fab-ic2{opacity:0;transform:rotate(-90deg)}
.imx-fab.is-open .imx-fab-ic1{opacity:0;transform:rotate(90deg)}
.imx-fab.is-open .imx-fab-ic2{opacity:1;transform:none}
.imx-fab-btn:after{content:"";position:absolute;inset:0;border-radius:50%;box-shadow:0 0 0 0 rgba(44,49,146,.5);animation:imx-pulse 2.6s ease-out 1.5s 3}
.imx-fab.is-open .imx-fab-btn:after{animation:none}
@keyframes imx-pulse{0%{box-shadow:0 0 0 0 rgba(44,49,146,.45)}100%{box-shadow:0 0 0 18px rgba(44,49,146,0)}}
.imx-fab-panel{width:min(360px,calc(100vw - 32px));background:#fff;border-radius:16px;box-shadow:0 24px 60px rgba(22,23,43,.25);overflow:hidden;transform-origin:bottom right;animation:imx-pop .22s ease}
.imx-fab-panel[hidden]{display:none}
@keyframes imx-pop{from{opacity:0;transform:translateY(10px) scale(.96)}to{opacity:1;transform:none}}
.imx-fab-h{display:flex;align-items:center;gap:12px;padding:16px 16px 14px;background:linear-gradient(115deg,#16172b,#2c3192);color:#fff}
.imx-fab-av{width:42px;height:42px;border-radius:50%;background:#fff;color:#2c3192;display:grid;place-items:center;font:800 22px/1 var(--imx-head);flex:none}
.imx-fab-h strong{display:block;font:700 16px/1.2 var(--imx-head)}
.imx-fab-st{display:flex;align-items:center;gap:6px;font-size:12.5px;opacity:.9;margin-top:3px}
.imx-fab-st:before{content:"";width:8px;height:8px;border-radius:50%;background:#9aa0c8}
.imx-fab-st.is-open:before{background:#3ddc84;box-shadow:0 0 0 3px rgba(61,220,132,.25)}
.imx-fab-st.is-closed:before{background:#f5a524}
.imx-fab .imx-fab-x{margin-left:auto;width:34px!important;height:34px!important;min-height:0!important;padding:0!important;border:0!important;border-radius:50%!important;background:rgba(255,255,255,.14)!important;color:#fff!important;font-size:22px!important;line-height:1!important;cursor:pointer}
.imx-fab-lead{margin:0;padding:14px 16px 6px;font-size:14.5px;color:#4a4c60}
.imx-fab-list{display:grid;gap:4px;padding:6px 8px 8px}
.imx-fab-i{display:flex;align-items:center;gap:12px;padding:10px;border-radius:10px;text-decoration:none;color:#16172b!important;transition:background .15s}
.imx-fab-i:hover,.imx-fab-i:focus-visible{background:#eef0fb}
.imx-fab-i i{width:40px;height:40px;border-radius:50%;background:#eef0fb;color:#2c3192;display:grid;place-items:center;flex:none;font-style:normal}
.imx-fab-i:hover i{background:#2c3192;color:#fff}
.imx-fab-i b{display:block;font:600 14.5px/1.25 var(--imx-head)}
.imx-fab-i small{display:block;font-size:13px;color:#6b6d80;word-break:break-word}
.imx-fab-hours{display:flex;gap:10px;align-items:center;padding:12px 16px;border-top:1px solid #eef0f4;font-size:12.5px;color:#6b6d80;background:#fafafd}
.imx-fab-hours svg{width:16px;height:16px;color:#2c3192}
.imx-fab-tip{display:flex;align-items:center;gap:8px;background:#fff;color:#16172b;padding:10px 10px 10px 16px;border-radius:14px 14px 4px 14px;box-shadow:0 10px 30px rgba(22,23,43,.18);font-size:14px;font-weight:600;animation:imx-pop .25s ease}
.imx-fab-tip[hidden]{display:none}
.imx-fab-tip span{cursor:pointer}
.imx-fab .imx-fab-tip button{width:24px!important;height:24px!important;min-height:0!important;padding:0!important;border:0!important;border-radius:50%!important;background:#f1f2f7!important;color:#6b6d80!important;font-size:16px!important;line-height:1!important;cursor:pointer}
body.imx-lock .imx-fab{display:none}
.imx-fab{transition:opacity .2s,transform .2s}
.imx-fab.is-away{opacity:0;transform:translateY(20px);pointer-events:none}
@media(max-width:1024px){
  body.sticky-toolbar-on .imx-fab{bottom:calc(72px + env(safe-area-inset-bottom))}
  body.sticky-toolbar-on .scrollToTop{bottom:calc(72px + env(safe-area-inset-bottom))!important}
}
@media(max-width:600px){
  .imx-fab{right:14px}
  .imx-fab .imx-fab-btn{width:54px!important;height:54px!important}
  .imx-fab-panel{max-height:calc(100vh - 170px);overflow:auto}
  .scrollToTop{left:14px!important}
}
@media(prefers-reduced-motion:reduce){.imx-fab-btn:after{animation:none}.imx-fab-panel,.imx-fab-tip{animation:none}}
@media print{.imx-fab,.imx-hdr,.imx-ft{display:none!important}}

/* ============ modern layer (site-wide) ============ */
/* header: pill search + pill CTA, softer nav */
.imx-search input[type=search]{border-radius:999px 0 0 999px!important;padding-left:22px!important;background:#f4f5fa!important;border-color:#eceef5!important}
.imx-hdr .imx-sgo{border-radius:0 999px 999px 0!important;width:58px!important}
.imx-quote{border-radius:999px!important;padding:0 22px!important;letter-spacing:.02em!important;text-transform:none!important;font-size:14px!important;box-shadow:0 6px 16px rgba(44,49,146,.22)}
.imx-nav{background:linear-gradient(90deg,#23287e 0%,#2c3192 50%,#3a3fae 100%)}
.imx-mega{border-radius:0 0 18px 18px;overflow:hidden}
.imx-sres{border-radius:16px!important}
.imx-sres .imx-sr-p img{border-radius:10px}
/* product cards */
.wd-product .product-element-top{border-radius:14px!important;transition:box-shadow .3s,transform .3s}
.wd-product:hover .product-element-top{box-shadow:0 14px 34px rgba(22,23,43,.12);transform:translateY(-4px)}
.wd-product .product-element-top img{transition:transform .5s ease}
.wd-product:hover .product-element-top img{transform:scale(1.04)}
/* page title band: soft glow + dot texture */
.wd-page-title,.page-title{position:relative;overflow:hidden;background:radial-gradient(900px 300px at 85% -40%,rgba(224,69,123,.35),transparent 60%),radial-gradient(700px 300px at 0% 120%,rgba(91,79,214,.45),transparent 60%),linear-gradient(115deg,#16172b 0%,#2c3192 110%)!important}
.wd-page-title:before,.page-title:before{content:"";position:absolute;inset:0;background-image:radial-gradient(rgba(255,255,255,.12) 1px,transparent 1px);background-size:22px 22px;mask-image:linear-gradient(90deg,transparent,#000 30%,#000 70%,transparent);-webkit-mask-image:linear-gradient(90deg,transparent,#000 30%,#000 70%,transparent);pointer-events:none}
.wd-page-title>*,.page-title>*{position:relative}
/* single product: rounded gallery & quote box */
.single-product .woocommerce-product-gallery img,.single-product .wd-carousel-item img{border-radius:16px}
.imx-pq{border-radius:18px!important}
.imx-pq .imx-pq-btn,.imx-pq .imx-pq-call{border-radius:999px!important}
/* inputs & theme buttons */
.woocommerce-ordering select,.wd-search-form input,.searchform input[type=text]{border-radius:999px}
.btn,.button,button.button,.wd-load-more,.woocommerce a.button{border-radius:999px!important}
/* footer CTA as floating card */
.imx-ft-cta{background:transparent!important;padding:0 20px;margin-bottom:-46px;position:relative;z-index:2}
.imx-ft-cta .imx-ft-in{background:radial-gradient(600px 200px at 100% 0%,rgba(224,69,123,.35),transparent 60%),linear-gradient(110deg,#2c3192,#4a3fc4);border-radius:22px;padding:30px 34px!important;box-shadow:0 20px 50px rgba(44,49,146,.3);max-width:1280px}
.imx-ft .imx-ft-btn{border-radius:999px!important;text-transform:none!important;letter-spacing:.02em!important;font-size:14.5px!important}
.imx-ft-main{padding-top:46px}
.imx-ft{background:linear-gradient(180deg,transparent 0,transparent 46px,var(--imx-ink,#16172b) 46px)}
.imx-ft-main,.imx-ft-bot{background:#16172b}
/* contact page cards */
.imx-ct-form,.imx-ct-card,.imx-ct-hours{border-radius:18px!important}
.imx-ct .imx-ct-send{border-radius:999px!important}
@media(max-width:600px){.imx-ft-cta{padding:0 12px}.imx-ft-cta .imx-ft-in{padding:22px 20px!important;border-radius:18px}}
