
/* ===========================================================
   Solas Science — NEWTEN20 launch badge  (catalog cards only)
   COSMETIC ONLY. No WooCommerce price, sale price or schedule
   is touched by this snippet. The discount is delivered by the
   NEWTEN20 coupon at checkout; this only advertises it.
   Floor price = (7 vials x list x 0.80) / 10 vials received,
   because the buy-7-get-3-free rule adds 3 real $0.00 vials.
   =========================================================== */
.solas-n20 .hfe-product-image{position:relative}

.solas-n20-flag{
  position:absolute;top:10px;left:10px;z-index:4;
  background:#F2A81C;color:#2B1A00;
  font-family:Montserrat,sans-serif;font-size:10px;font-weight:800;
  letter-spacing:.8px;line-height:1;text-transform:uppercase;
  padding:6px 10px;border-radius:100px;
  box-shadow:0 2px 6px rgba(30,69,116,.20);
  pointer-events:none;
}

.solas-n20-floor{
  margin:8px auto 0;max-width:248px;
  background:rgba(46,91,154,.06);
  border:1px solid rgba(46,91,154,.14);
  border-radius:10px;padding:8px 10px 9px;
  text-align:center;
}
.solas-n20-floor b{
  display:block;
  font-family:Montserrat,sans-serif;font-weight:800;font-size:11px;
  letter-spacing:.5px;text-transform:uppercase;color:#4E6B8C;line-height:1.35;
}
.solas-n20-floor b u{
  text-decoration:none;font-size:15px;color:#1E4574;letter-spacing:0;
}
.solas-n20-floor b em{font-style:normal;font-weight:700;color:#5A6B80}
.solas-n20-floor span{
  display:block;margin-top:3px;
  font-family:Montserrat,sans-serif;font-weight:600;font-size:9.5px;
  letter-spacing:.1px;color:#5A6B80;line-height:1.45;
}
.solas-n20-floor span mark{background:none;color:#1E4574;font-weight:800}

@media (max-width:767px){
  .solas-n20-flag{font-size:9px;padding:5px 8px;top:8px;left:8px;letter-spacing:.6px}
  .solas-n20-floor{max-width:none;padding:7px 8px 8px;border-radius:9px}
  .solas-n20-floor b{font-size:10px}
  .solas-n20-floor b u{font-size:13.5px}
  .solas-n20-floor span{font-size:9px}
}

/* ---------- Countdown banner (catalog header) ---------------------------
   Counts down to the real coupon expiry. It never resets and never invents
   a deadline: when the clock hits zero the banner removes itself.        */
#solas-n20-cd{max-width:1180px;margin:0 auto 34px;padding:0 20px}

#solas-n20-cd .cd-in{
  position:relative;overflow:hidden;
  display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;
  gap:22px 34px;padding:24px 30px;border-radius:20px;
  background:linear-gradient(180deg,#FFFFFF 0%,#EDF4FC 100%);
  border:1px solid rgba(46,91,154,.18);
  box-shadow:0 12px 32px rgba(30,69,116,.13), inset 0 1px 0 rgba(255,255,255,.95);
}
/* the gloss: a soft highlight off the top-left, nothing animated */
#solas-n20-cd .cd-in::before{
  content:"";position:absolute;inset:0;pointer-events:none;
  background:
    radial-gradient(130% 90% at 10% -35%, rgba(255,255,255,.98), rgba(255,255,255,0) 62%),
    linear-gradient(102deg, rgba(52,108,172,.07) 0%, rgba(52,108,172,0) 48%);
}

#solas-n20-cd .cd-copy{
  position:relative;z-index:1;flex:1 1 320px;min-width:260px;
  display:flex;flex-direction:column;align-items:flex-start;gap:9px;
}
#solas-n20-cd .cd-eyebrow{
  display:inline-flex;align-items:center;gap:9px;
  font-family:Montserrat,sans-serif;font-size:10px;font-weight:800;
  letter-spacing:1.2px;text-transform:uppercase;color:#5A6B80;
}
#solas-n20-cd .cd-eyebrow i{
  font-style:normal;background:#F2A81C;color:#2B1A00;
  border-radius:100px;padding:5px 10px;letter-spacing:.8px;
  box-shadow:0 2px 6px rgba(30,69,116,.18);
}
#solas-n20-cd .cd-title{
  margin:0;font-family:Montserrat,sans-serif;font-weight:800;
  font-size:clamp(20px,2.3vw,27px);line-height:1.14;letter-spacing:-.3px;color:#1E4574;
}
#solas-n20-cd .cd-sub{
  margin:0;font-family:Montserrat,sans-serif;font-weight:600;
  font-size:13px;line-height:1.5;color:#5A6B80;
}
#solas-n20-cd .cd-code{
  display:inline-flex;align-items:stretch;border-radius:11px;overflow:hidden;
  border:1px solid rgba(46,91,154,.24);background:#fff;
  box-shadow:0 3px 8px rgba(30,69,116,.10);margin-top:2px;
}
#solas-n20-cd .cd-code b{
  font-family:Montserrat,sans-serif;font-weight:800;font-size:15px;
  letter-spacing:1.6px;color:#1E4574;padding:11px 15px;line-height:1;
  display:flex;align-items:center;
}
#solas-n20-cd .cd-code button{
  border:0;border-left:1px solid rgba(46,91,154,.2);cursor:pointer;
  background:linear-gradient(180deg,#3D74BC 0%,#1E4574 100%);color:#fff;
  font-family:Montserrat,sans-serif;font-weight:700;font-size:11px;
  letter-spacing:.9px;text-transform:uppercase;padding:0 15px;min-width:92px;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.28);
}
#solas-n20-cd .cd-code button:hover{filter:brightness(1.09)}
#solas-n20-cd .cd-code button:focus-visible{outline:2px solid #F2A81C;outline-offset:-3px}

#solas-n20-cd .cd-right{
  position:relative;z-index:1;display:flex;flex-direction:column;
  align-items:center;gap:10px;
}
#solas-n20-cd .cd-clock{display:flex;gap:10px}
#solas-n20-cd .cd-unit{display:flex;flex-direction:column;align-items:center;gap:7px}
#solas-n20-cd .cd-num{
  position:relative;overflow:hidden;min-width:66px;padding:13px 9px 12px;border-radius:14px;
  background:linear-gradient(180deg,#3A6FB5 0%,#1E4574 100%);
  box-shadow:0 7px 18px rgba(30,69,116,.30),
             inset 0 1px 0 rgba(255,255,255,.34),
             inset 0 -1px 0 rgba(0,0,0,.14);
  color:#fff;font-family:Montserrat,sans-serif;font-weight:800;font-size:30px;
  line-height:1;letter-spacing:.5px;text-align:center;font-variant-numeric:tabular-nums;
}
#solas-n20-cd .cd-num::after{
  content:"";position:absolute;left:0;right:0;top:0;height:46%;pointer-events:none;
  background:linear-gradient(180deg,rgba(255,255,255,.24),rgba(255,255,255,0));
}
#solas-n20-cd .cd-lab{
  font-family:Montserrat,sans-serif;font-weight:700;font-size:9.5px;
  letter-spacing:1.1px;text-transform:uppercase;color:#5A6B80;
}
#solas-n20-cd .cd-ends{
  font-family:Montserrat,sans-serif;font-weight:700;font-size:11px;
  letter-spacing:.6px;text-transform:uppercase;color:#5A6B80;
}

/* ---------- Header readout (sticky nav) ---------------------------------
   A lab-instrument readout, not a sale clock: calm housing, tabular figures,
   one amber status light. Lives in the dead space between logo and menu.
   Desktop only — the mobile header is three 124px columns with no room, so
   below 1025px the banner keeps its own clock instead.                    */
.solas-hdrcd{
  display:inline-flex;align-items:center;gap:11px;
  height:42px;padding:0 7px 0 14px;border-radius:999px;
  background:rgba(46,91,154,.055);
  border:1px solid rgba(46,91,154,.16);
  box-shadow:0 2px 10px rgba(30,69,116,.07);
  text-decoration:none;white-space:nowrap;
  transition:background .18s cubic-bezier(.22,1,.36,1),
             border-color .18s cubic-bezier(.22,1,.36,1),
             transform .18s cubic-bezier(.22,1,.36,1),
             box-shadow .18s cubic-bezier(.22,1,.36,1);
}
.solas-hdrcd:hover{
  background:rgba(46,91,154,.09);
  border-color:rgba(46,91,154,.32);
  transform:translateY(-1px);
  box-shadow:0 6px 16px rgba(30,69,116,.13);
}
.solas-hdrcd:focus-visible{outline:2px solid #F2A81C;outline-offset:3px}

.solas-hdrcd .hc-dot{
  flex:0 0 auto;width:7px;height:7px;border-radius:50%;background:#F2A81C;
  box-shadow:0 0 0 3px rgba(242,168,28,.22);
  animation:solas-hc-breathe 2.6s ease-in-out infinite;
}
@keyframes solas-hc-breathe{0%,100%{opacity:1}50%{opacity:.45}}

.solas-hdrcd .hc-lab{
  font-family:Montserrat,sans-serif;font-weight:700;font-size:9.5px;
  letter-spacing:.09em;text-transform:uppercase;color:#5A6B80;
}
.solas-hdrcd .hc-seg{display:inline-flex;align-items:baseline}
.solas-hdrcd .hc-seg + .hc-seg{margin-left:7px}
.solas-hdrcd .hc-seg b{
  font-family:Montserrat,sans-serif;font-weight:800;font-size:15px;
  color:#1E4574;font-variant-numeric:tabular-nums;letter-spacing:.01em;
}
.solas-hdrcd .hc-seg i{
  font-style:normal;font-family:Montserrat,sans-serif;font-weight:700;
  font-size:10.5px;color:#5A6B80;margin-left:1.5px;
}
.solas-hdrcd .hc-code{
  font-family:Montserrat,sans-serif;font-weight:800;font-size:10.5px;
  letter-spacing:.09em;color:#fff;background:#1E4574;
  padding:8px 11px;border-radius:999px;
}

@media (min-width:1025px){
  .solas-hdrcd-host{flex-wrap:nowrap !important}
  .solas-hdrcd-host > .elementor-widget{flex:1 1 auto;min-width:0;width:auto !important}
  .solas-hdrcd{margin-right:20px}
}
@media (max-width:1199px){ .solas-hdrcd .hc-lab{display:none} }
@media (max-width:1024px){ .solas-hdrcd{display:none !important} }

@media (prefers-reduced-motion:reduce){
  .solas-hdrcd{transition:none}
  .solas-hdrcd:hover{transform:none}
  .solas-hdrcd .hc-dot{animation:none}
}

/* Desktop: the live ticking moved to the header, so the banner states the
   deadline plainly instead of leaving a hole where the tiles were. */
@media (min-width:1025px){
  #solas-n20-cd .cd-clock{display:none}
  #solas-n20-cd .cd-right{align-items:flex-end;gap:0}
  #solas-n20-cd .cd-ends{text-align:right;text-transform:none;letter-spacing:0}
  #solas-n20-cd .cd-ends .ce-lab{
    display:block;font-size:10px;font-weight:700;letter-spacing:.09em;
    text-transform:uppercase;color:#5A6B80;
  }
  #solas-n20-cd .cd-ends .ce-val{
    display:block;margin-top:4px;font-size:19px;font-weight:800;
    letter-spacing:-.1px;color:#1E4574;
  }
}

@media (max-width:900px){
  #solas-n20-cd .cd-in{padding:20px 22px;gap:18px}
  #solas-n20-cd .cd-num{min-width:58px;font-size:26px;padding:11px 7px 10px}
}
@media (max-width:600px){
  #solas-n20-cd{padding:0 14px;margin-bottom:26px}
  #solas-n20-cd .cd-in{padding:18px 16px 20px;border-radius:16px;gap:16px}
  #solas-n20-cd .cd-copy{min-width:0;flex-basis:100%}
  #solas-n20-cd .cd-title{font-size:19px}
  #solas-n20-cd .cd-sub{font-size:12px}
  #solas-n20-cd .cd-right{width:100%}
  #solas-n20-cd .cd-clock{width:100%;gap:7px}
  #solas-n20-cd .cd-unit{flex:1 1 0}
  #solas-n20-cd .cd-num{min-width:0;width:100%;font-size:23px;padding:10px 3px 9px;border-radius:12px}
  #solas-n20-cd .cd-lab{font-size:8.5px;letter-spacing:.8px}
}
