
/* ihunt-shares.css */
/* iHunt /shares/ shared layout. Look and motion live in ihunt-shares-v1/v2/v3.css.
   Motion uses only transform and opacity, so it stays smooth on weak devices. */
.ihs{--acc:#fec00f;--on-acc:#0c0c0c;--coal:#0c0c0c;--text:#0c0c0c;--mute:#5c5c5c;--line:#e4e4e4;--card:#fff;--chip:#fff;--hot:#d9002f;
  color:var(--text);font-family:Montserrat,Arial,Helvetica,sans-serif;font-size:15px;line-height:1.45;
  max-width:1320px;margin:0 auto;padding:16px 0 56px}
.ihs{-webkit-font-smoothing:antialiased}
.ihs *{box-sizing:border-box}
.ihs h2{text-wrap:balance}
.ihs-body>p{text-wrap:pretty}
.ihs a{color:inherit;text-decoration:none}
.ihs :where(p,h1,h2,h3){margin:0;color:inherit;text-transform:none}
.ihs :focus-visible{outline:3px solid #2257d6;outline-offset:2px}
.ihs .ihs-btn{appearance:none;display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:0 22px;border:0;border-radius:8px;
  background:var(--acc);color:var(--on-acc);font:700 15px/1.2 Montserrat,Arial,sans-serif;cursor:pointer;text-transform:none;box-shadow:none;transition:transform .2s ease-out}
.ihs .ihs-btn:hover{transform:translateY(-2px)}

/* ---------- Featured campaign ---------- */
.ihs-top{position:relative;overflow:hidden;isolation:isolate;display:grid;grid-template-columns:minmax(0,1.3fr) auto minmax(0,.85fr);align-items:center;
  gap:clamp(12px,3vw,44px);min-height:450px;padding:14px clamp(20px,4vw,56px);border-radius:16px;margin-bottom:22px}
.ihs-top h1{font-weight:700;font-style:italic;font-size:clamp(48px,8.2vw,112px);line-height:.96;letter-spacing:-.04em;margin:8px 0 14px;color:inherit}
.ihs-l{display:block;overflow:hidden;padding:0 .14em .05em 0}
.ihs-l>span{display:block}
.ihs-cta-row{display:flex;flex-wrap:wrap;align-items:flex-end;gap:12px 18px}
.ihs-timer[hidden]{display:none}
.ihs-timer-l{font-size:12.5px;font-weight:600;margin-bottom:4px}
.ihs-timer-g{display:flex;gap:5px}
.ihs-t{min-width:46px;padding:5px 3px 4px;border-radius:8px;background:rgba(255,255,255,.12);text-align:center}
.ihs-t b{display:block;font-size:20px;font-weight:700;line-height:1.1;font-variant-numeric:tabular-nums}
.ihs-t small{display:block;font-size:11px;font-weight:500;line-height:1.2}
.ihs-kick{display:flex;align-items:center;gap:9px;font-weight:600}
.ihs-kick i{width:10px;height:10px;border-radius:50%;background:var(--acc)}
.ihs-top-sub{max-width:38ch;margin-bottom:20px;font-weight:500}
.ihs-top-l,.ihs-deal{position:relative;z-index:2}
.ihs-ph{position:relative;z-index:1;display:block;width:172px;height:420px}
.ihs-ph img{position:relative;display:block;width:100%;height:100%;object-fit:contain}
.ihs-deal{display:block}
.ihs-deal-t{font-weight:600;font-size:15px;line-height:1.3}
.ihs-was{position:relative;display:inline-block;margin-top:10px;font-weight:600;font-size:17px}
.ihs-was::after{content:"";position:absolute;left:-3px;right:-3px;top:50%;height:2px;background:var(--hot);transform-origin:left}
.ihs-now{position:relative;font-weight:700;font-style:italic;font-size:clamp(38px,4.3vw,58px);line-height:1.1;letter-spacing:-.03em;white-space:nowrap;font-variant-numeric:tabular-nums}
.ihs-save{display:inline-block;margin-top:4px;padding:5px 11px;border-radius:6px;background:var(--acc);color:var(--on-acc);font-weight:700;font-size:14px}
.ihs-go{display:flex;align-items:center;justify-content:center;min-height:48px;margin-top:14px;border-radius:8px;font-weight:700;transition:transform .2s ease-out}
.ihs-deal:hover .ihs-go{transform:translateY(-2px)}
.ihs-sticker,.ihs-tape,.ihs-flash{display:none}
.ihs-ph-in{position:relative;display:block;height:100%}
.ihs .ihs-btn:active,.ihs-deal:active .ihs-go{transform:scale(.97)}

/* ---------- Filter ---------- */
.ihs-chips{display:flex;gap:8px;overflow-x:auto;scrollbar-width:none;padding:2px;margin-bottom:16px}
.ihs-chips::-webkit-scrollbar{display:none}
.ihs .ihs-chip{appearance:none;flex:none;min-height:44px;padding:0 16px;border:1.5px solid var(--line);border-radius:8px;background:var(--chip);color:var(--text);
  font:600 14px/1 Montserrat,Arial,sans-serif;cursor:pointer;text-transform:none;box-shadow:none}
.ihs .ihs-chip[hidden]{display:none}
.ihs .ihs-chip:hover{border-color:var(--text)}
.ihs .ihs-chip[aria-pressed=true]{border-color:var(--acc);background:var(--acc);color:var(--on-acc)}

/* ---------- Campaign cards ---------- */
.ihs-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;list-style:none;margin:0;padding:0}
.ihs-card{position:relative;display:flex;flex-direction:column;border-radius:14px;overflow:hidden;background:var(--card);border:1px solid var(--line)}
.ihs-card[hidden]{display:none}
.ihs-head{position:relative;overflow:hidden;height:196px;padding:20px;background:var(--coal);color:#fff;isolation:isolate}
.ihs-terms .ihs-head{background:var(--acc);color:var(--on-acc)}
.ihs-head h2{position:relative;z-index:2;max-width:56%;font-size:20px;font-weight:700;line-height:1.18;color:inherit}
/* Terms cards mirror the promo cards: gold side, black slanted panel with a drawn graphic. */
.ihs-art{position:absolute;top:0;right:0;bottom:0;z-index:1;width:54%;display:flex;align-items:center;justify-content:center;padding:10px 12px 10px 15%;
  background:#0c0c0c;color:var(--acc);clip-path:polygon(24% 0,100% 0,100% 100%,0 100%)}
.ihs-art svg{display:block;width:100%;height:100%;overflow:visible}
.ihs-art .a-move{transition:transform .28s cubic-bezier(.23,1,.32,1)}
.ihs-art .a-line{opacity:0;transition:opacity .2s ease}
.ihs-art .a-seg{opacity:.2;transition:opacity .2s ease;transition-delay:calc(var(--i)*16ms)}
.ihs-art .a-seg.on{opacity:1}
@media (hover:hover) and (pointer:fine){
  .ihs-card:hover .ihs-art .a-move{transform:translateX(9px)}
  .ihs-card:hover .ihs-art .a-line{opacity:1}
  .ihs-card:hover .ihs-art .a-seg{opacity:1}
  .ihs-card:hover .ihs-art .a-ring{transform:rotate(45deg)}
}
.ihs-art .a-ring{transform-origin:100px 85px;transition:transform .5s cubic-bezier(.23,1,.32,1)}
.ihs-big{position:absolute;left:20px;bottom:14px;z-index:2;font-weight:700;font-style:italic;font-size:38px;line-height:1.05;letter-spacing:-.03em;color:var(--acc);white-space:nowrap}
.ihs-terms .ihs-big{color:var(--on-acc);font-size:62px}
.ihs-dates{position:relative;z-index:2;margin-top:6px;font-size:12.5px;font-weight:500}
/* The white panel melts into white product photos, so photos need no cutting. */
.ihs-panel{position:absolute;top:0;right:0;bottom:0;width:54%;background:#fff;clip-path:polygon(24% 0,100% 0,100% 100%,0 100%);z-index:1}
.ihs-panel img{position:absolute;right:6px;top:8px;width:calc(100% - 48px);height:calc(100% - 16px);object-fit:contain}
.ihs-body{display:flex;flex-direction:column;flex:1;padding:14px 20px 16px;background:var(--card)}
.ihs-body>p{color:var(--mute);font-size:14px;margin-bottom:12px}
.ihs-foot{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:auto}
.ihs .ihs-more{appearance:none;padding:6px 0;border:0;background:none;color:var(--text);font:700 14px/1.2 Montserrat,Arial,sans-serif;cursor:pointer;text-transform:none;box-shadow:none;border-bottom:2px solid var(--acc);min-height:32px}
.ihs .ihs-more::after{content:"";position:absolute;inset:0;z-index:3}
.ihs-pill{flex:none;padding:5px 10px;border-radius:7px;background:#efefef;color:#0c0c0c;font-size:12.5px;font-weight:600}
.ihs-pill.is-soon{background:var(--hot);color:#fff}
.ihs-pill.is-next{background:var(--coal);color:#fff}

/* ---------- Campaign products, built only when opened ---------- */
.ihs-dlg{width:min(860px,calc(100vw - 24px));max-height:calc(100dvh - 24px);border:0;border-radius:14px;padding:0;background:#fff;color:#0c0c0c;font-family:Montserrat,Arial,sans-serif}
.ihs-dlg::backdrop{background:rgba(0,0,0,.7)}
.ihs-dlg-h{position:sticky;top:0;z-index:1;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 18px;background:#fff;border-bottom:1px solid #e4e4e4}
.ihs-dlg-h h3{font-size:18px;font-weight:700;margin:0;text-transform:none;color:#0c0c0c}
.ihs-dlg-x{appearance:none;flex:none;width:44px;height:44px;border:0;border-radius:8px;background:#efefef;color:#0c0c0c;font:700 18px Arial,sans-serif;cursor:pointer;padding:0;box-shadow:none}
.ihs-items{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;list-style:none;margin:0;padding:14px 18px}
.ihs-item{position:relative;border:1px solid #e4e4e4;border-radius:10px;overflow:hidden;font-size:13px;line-height:1.35;background:#fff;color:#0c0c0c}
.ihs-item img{display:block;width:100%;height:auto;aspect-ratio:1;object-fit:contain}
.ihs-item p{margin:0}
.ihs-item-b{padding:8px 10px 10px}
.ihs-item-n{font-weight:500;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-height:2.7em}
.ihs-item-n a{color:#0c0c0c;text-decoration:none}
.ihs-item-n a::after{content:"";position:absolute;inset:0}
.ihs-item-p{margin-top:6px!important;font-size:19px;font-weight:700;font-style:italic;letter-spacing:-.02em}
.ihs-item-s{color:#5c5c5c}
.ihs-off{position:absolute;left:6px;top:6px;padding:3px 7px;border-radius:5px;background:var(--acc);color:var(--on-acc);font-weight:700;font-size:13px}
.ihs-dlg-f{padding:0 18px 18px}
.ihs-dlg-f a{display:flex;align-items:center;justify-content:center;min-height:48px;border-radius:8px;background:#0c0c0c;color:#fff;font-weight:700;text-decoration:none}

@media (max-width:999px){
  .ihs-top{grid-template-columns:minmax(0,1fr) auto;min-height:0;padding-block:24px}
  .ihs-top-l{grid-column:1/-1}
  .ihs-ph{grid-column:1;grid-row:2;justify-self:center;width:138px;height:336px}
  .ihs-deal{grid-column:2;grid-row:2;width:min(300px,52vw)}
  .ihs-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:640px){
  .ihs{padding:10px 0 40px}
  /* Phone: compact block, so the cards are one short scroll away. */
  .ihs-top{grid-template-columns:clamp(88px,28vw,112px) minmax(0,1fr);padding:18px 16px;gap:14px 12px;border-radius:14px;margin-bottom:16px}
  .ihs-top h1{font-size:clamp(32px,11.4vw,64px);margin:6px 0 8px}
  .ihs-l{display:inline-block;padding-right:.2em}
.ihs-h-stack .ihs-l{display:block}
  .ihs-top-sub{font-size:14px;margin-bottom:12px;max-width:none}
  .ihs-cta-row{flex-direction:column;align-items:stretch;gap:10px}
  .ihs .ihs-btn{width:100%}
  .ihs-timer-g{gap:6px}
  .ihs-t{flex:1;min-width:0}
  .ihs-ph{width:100%;height:auto;aspect-ratio:311/760;align-self:center}
  .ihs-deal{width:auto;align-self:center}
  .ihs-deal-t{font-size:14px}
  .ihs-was{margin-top:6px;font-size:15px}
  .ihs-now{font-size:clamp(27px,9vw,36px)}
  .ihs-save{font-size:13px;padding:4px 9px}
  .ihs-go{margin-top:10px;min-height:44px}
  .ihs-big{font-size:clamp(24px,7.8vw,38px)}
  .ihs-terms .ihs-big{font-size:clamp(40px,13vw,50px)}
  .ihs-head h2{font-size:clamp(17px,5.2vw,20px)}
  .ihs-chips{margin-inline:-2px}
  .ihs-grid{grid-template-columns:1fr;gap:14px}
  .ihs-head{height:176px}
  .ihs-terms .ihs-big{font-size:50px}
  .ihs-items{grid-template-columns:repeat(2,minmax(0,1fr));padding:10px 12px}
  .ihs-dlg-f{padding:0 12px 12px}
}

@media (prefers-reduced-motion:no-preference){
  .ihs-dlg[open]{animation:ihs-open .24s cubic-bezier(.2,.8,.2,1)}
  .ihs-deal.is-dropping .ihs-was::after{animation:ihs-strike .5s ease-out both}
  .ihs-deal.is-dropping .ihs-save{opacity:0}
  .ihs-deal.is-landed .ihs-save{animation:ihs-land .45s cubic-bezier(.2,.8,.2,1) both}
  @supports (animation-timeline:view()){
    .ihs-panel,.ihs-art{animation:ihs-panel linear both;animation-timeline:view();animation-range:entry 10% cover 20%}
    /* The payment grid fills up as the card scrolls in, so phones see it too. */
    .ihs-art .a-seg:not(.on){animation:ihs-seg linear both;animation-timeline:view();animation-range:cover calc(14% + var(--i)*.8%) cover calc(17% + var(--i)*.8%)}
  }
}
@keyframes ihs-open{from{opacity:0;transform:translateY(16px)}}
@keyframes ihs-strike{from{transform:scaleX(0)}}
@keyframes ihs-land{from{opacity:0;transform:translateY(8px)}}
@keyframes ihs-panel{from{transform:translateX(70%)}}
@keyframes ihs-seg{to{opacity:1}}

/* Weak device or reduced motion: same page, no motion. */
.ihs-lite *,.ihs-lite *::before,.ihs-lite *::after{animation:none!important;transition:none!important}

/* Options from the admin screen. */
.ihs-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.ihs-art img{display:block;width:100%;height:100%;object-fit:contain}
.ihs--no-top{padding-top:16px}
.ihs-top--solo{grid-template-columns:minmax(0,1fr)}
.ihs-top--solo .ihs-top-l{grid-column:1/-1}

/* Several products under the beam (slider). One shows at a time; showing it replays its entrance.
   The stage is 0.62 wide to its height on every screen; each picture box is sized from the product photo. */
.ihs-top [hidden]{display:none!important}
.ihs-top.ihs-top--slides .ihs-ph{grid-column:2;grid-row:1;width:260px}
.ihs-top.ihs-top--slides .ihs-deal{grid-column:3;grid-row:1}
.ihs-top--slides .ihs-ph-in{position:absolute;bottom:0;left:calc((100% - var(--w,100%)) / 2);width:var(--w,100%);height:var(--h,100%)}
.ihs-dots{position:relative;z-index:3;grid-column:3;grid-row:1;align-self:end;justify-self:start;display:flex;margin:0 0 -4px -5px}
.ihs-dot{position:relative;width:30px;height:28px;padding:0;border:0;background:none;color:inherit;cursor:pointer}
.ihs-dot::before{content:"";position:absolute;left:5px;right:5px;top:12px;height:4px;border-radius:2px;background:currentColor;opacity:.3;transition:opacity .2s ease}
.ihs-dot[aria-current=true]::before{background:var(--acc);opacity:1}
.ihs-dot:focus-visible{outline:2px solid var(--acc);outline-offset:-2px;border-radius:6px}
@media (hover:hover) and (pointer:fine){.ihs-dot:hover::before{opacity:.7}}
@media (max-width:999px){
  .ihs-top.ihs-top--slides .ihs-ph{grid-column:1;grid-row:2;width:208px;height:336px}
  .ihs-top.ihs-top--slides .ihs-deal{grid-column:2;grid-row:2}
  .ihs-dots{grid-column:1/-1;grid-row:3;justify-self:center;margin:-8px 0 -10px}
}
@media (max-width:640px){
  .ihs-top.ihs-top--slides{grid-template-columns:clamp(104px,33vw,150px) minmax(0,1fr)}
  .ihs-top.ihs-top--slides .ihs-ph{width:100%;height:auto;aspect-ratio:260/420}
}
/* Desktop slider: one row only. Anything extra the theme puts into the block (a clearfix
   pseudo-element, a stray tag) gets a zero-height row and no gap, so it cannot squeeze the row
   and cut the title or the product. The block grows with its content instead of clipping it. */
@media (min-width:1000px){
  .ihs-top.ihs-top--slides{height:auto!important;max-height:none!important;grid-template-rows:minmax(min-content,auto);grid-auto-rows:0;row-gap:0;padding-block:26px}
}

/* Owner's fixes: a word over the discount, the discount 15% smaller, an orange "Діє зараз", the terms number first. */
.ihs-card:not(.ihs-terms) .ihs-big{font-size:32.3px}
.ihs-big-l{display:block;margin-bottom:2px;color:#fff;font-size:14px;font-style:normal;font-weight:600;letter-spacing:0}
.ihs-pill:not(.is-soon):not(.is-next){background:#ff8a00;color:#0c0c0c}
.ihs-terms .ihs-big{position:relative;left:auto;bottom:auto;z-index:2;margin:0 0 6px;line-height:1}
@media (max-width:640px){.ihs-card:not(.ihs-terms) .ihs-big{font-size:clamp(20px,6.6vw,32.3px)}}

/* Owner: the title 20% smaller and nudged left (italic leans right). */
.ihs--v1 .ihs-top h1{font-size:clamp(38px,6.56vw,90px);margin-left:-.06em}
@media (max-width:640px){.ihs--v1 .ihs-top h1{font-size:clamp(26px,9.1vw,51px)}}
/* Owner: the countdown goes to the top right, so the button no longer sits in a heavy cluster with it.
   On a phone it stays under the button. */
@media (min-width:641px){
  .ihs--v1 .ihs-top .ihs-top-l{position:static!important}
  .ihs--v1 .ihs-top .ihs-top-l>*:not(.ihs-cta-row),.ihs--v1 .ihs-top .ihs-cta-row>*:not(.ihs-timer){position:relative;z-index:3}
  .ihs--v1 .ihs-top .ihs-cta-row{position:static}
  .ihs--v1 .ihs-top .ihs-timer{position:absolute;z-index:4;top:22px;right:clamp(20px,4vw,56px)}
  .ihs--v1 .ihs-top .ihs-timer-l{text-align:right}
}
/* Owner: the discount badge sits above the price, the old price beside the new one, so nothing presses on the button.
   A wrapping row: when a long price leaves no room, the old price drops under it instead of sticking out. */
.ihs--v1 .ihs-deal:not([hidden]){display:flex;flex-wrap:wrap;align-items:baseline;column-gap:14px}
.ihs--v1 .ihs-deal::before{content:"";order:3;flex-basis:100%;height:0}
.ihs--v1 .ihs-deal-t{order:1;flex-basis:100%}
.ihs--v1 .ihs-save{order:2;margin:12px 0 2px}
.ihs--v1 .ihs-now{order:4;min-width:0}
.ihs--v1 .ihs-was{order:5;margin-top:0}
.ihs--v1 .ihs-go{order:6;flex-basis:100%}

/* Owner: in the terms cards the number stays at the top, the title drops to the bottom of the block. */
.ihs-terms .ihs-head{display:flex;flex-direction:column;align-items:flex-start}
.ihs-terms .ihs-head h2{margin-top:auto}

/* Owner: the slider dashes 30% smaller and on the right, under the right edge of the button. */
.ihs--v1.ihs .ihs-top .ihs-dots .ihs-dot{width:21px}
.ihs--v1.ihs .ihs-top .ihs-dots .ihs-dot::before{left:3.5px;right:3.5px;top:12.5px;height:3px}
.ihs--v1.ihs .ihs-top .ihs-dots{justify-self:end;margin-right:-3.5px}
@media (max-width:640px){.ihs--v1.ihs .ihs-top.ihs-top--slides .ihs-dots{align-self:flex-end}}

/* The title is smaller now, so the offer column takes more width and both prices fit on one line. */
@media (min-width:1000px){
  .ihs--v1 .ihs-top:not(.ihs-top--solo){grid-template-columns:minmax(0,1.1fr) auto minmax(0,1fr)}
  .ihs--v1 .ihs-now{font-size:clamp(34px,3.9vw,52px)}
}
@media (min-width:1000px) and (max-width:1199px){.ihs--v1 .ihs-now{font-size:3.4vw}}

/* A campaign card opens its discounted products from anywhere on it (the script does it). */
.ihs .ihs-card:has([data-open]){cursor:pointer}

/* ihunt-shares-v1.css */
/* Variant 1, "Прожектор". A searchlight sweeps across the title and finds the phone, the phone's
   own flashlight switches on, the price falls, and the discount lands with a flare.
   Only transform and opacity animate. The sequence runs once and takes about 2.2 s. */
.ihs--v1 .ihs-top{background:#0c0c0c;color:#fff}
.ihs--v1 .ihs-ph::before{content:"";position:absolute;left:50%;top:-30px;z-index:-1;width:460px;height:calc(100% + 110px);margin-left:-230px;pointer-events:none;
  background:linear-gradient(rgba(254,192,15,.36),rgba(254,192,15,.05) 80%,rgba(254,192,15,0));clip-path:polygon(44% 0,56% 0,100% 100%,0 100%);
  transform-origin:50% 0;rotate:var(--sw,0deg);transition:rotate .5s cubic-bezier(.23,1,.32,1)}
.ihs--v1 .ihs-ph::after{content:"";position:absolute;left:50%;bottom:-16px;z-index:-1;width:300px;height:56px;margin-left:-150px;background:radial-gradient(closest-side,rgba(254,192,15,.55),rgba(254,192,15,0))}
/* The glow sits on the phone's real flashlight panel and floats with it. */
.ihs--v1 .ihs-flash{display:block;position:absolute;left:61%;top:41%;width:125%;aspect-ratio:1;margin:-62.5% 0 0 -62.5%;pointer-events:none;opacity:.42;
  background:radial-gradient(closest-side,rgba(255,248,190,.9),rgba(254,192,15,.34) 42%,rgba(254,192,15,0));transition:opacity .25s ease}
.ihs--v1 .ihs-top-sub{color:#e6e6e6}
.ihs--v1 .ihs-was{color:#c9c9c9}
.ihs--v1 .ihs-was::after{background:var(--acc)}
.ihs--v1 .ihs-go{background:#fff;color:#0c0c0c}
.ihs--v1 .ihs-l>span{position:relative}
.ihs--v1 .ihs-l>span::after{content:attr(data-t);position:absolute;left:0;top:0;color:var(--acc);opacity:0;pointer-events:none}
.ihs--v1 .ihs-head h2::after{content:"";display:block;width:44px;height:3px;margin-top:8px;background:var(--acc);transform:scaleX(0);transform-origin:left;transition:transform .28s cubic-bezier(.23,1,.32,1)}
.ihs--v1 .ihs-terms .ihs-head h2::after{background:var(--on-acc)}
.ihs--v1 .ihs-panel img{transition:transform .28s cubic-bezier(.23,1,.32,1)}
.ihs--v1 .ihs-panel::after{content:"";position:absolute;left:30%;right:8%;bottom:4px;height:14px;background:radial-gradient(closest-side,rgba(0,0,0,.28),rgba(0,0,0,0));opacity:0;transition:opacity .28s ease}

@media (hover:hover) and (pointer:fine){
  .ihs--v1 .ihs-ph:hover .ihs-flash{opacity:1}
  .ihs--v1 .ihs-card:hover .ihs-head h2::after{transform:scaleX(1)}
  .ihs--v1 .ihs-card:hover .ihs-panel img{transform:translateY(-7px)}
  .ihs--v1 .ihs-card:hover .ihs-panel::after{opacity:1}
}
@media (max-width:640px){.ihs--v1 .ihs-ph::before{width:240px;margin-left:-120px}.ihs--v1 .ihs-ph::after{width:170px;margin-left:-85px}}

@media (prefers-reduced-motion:no-preference){
  .ihs--v1 .ihs-l>span{animation:ihs1-up .7s cubic-bezier(.23,1,.32,1) backwards}
  .ihs--v1 .ihs-l+.ihs-l>span{animation-delay:.08s}
  /* The title is lit gold while the beam crosses it, then cools to white. */
  .ihs--v1 .ihs-l>span::after{animation:ihs1-cool .7s .55s ease-out backwards}
  .ihs--v1 .ihs-l+.ihs-l>span::after{animation-delay:.63s}
  .ihs--v1 .ihs-top-sub,.ihs--v1 .ihs-top .ihs-btn,.ihs--v1 .ihs-kick{animation:ihs1-in .5s .3s cubic-bezier(.23,1,.32,1) backwards}
  .ihs--v1 .ihs-ph::before{animation:ihs1-sweep 1s .05s cubic-bezier(.645,.045,.355,1) backwards}
  .ihs--v1 .ihs-ph::after{animation:ihs1-fade .5s .9s ease-out backwards}
  .ihs--v1 .ihs-ph img{animation:ihs1-rise .7s .7s cubic-bezier(.23,1,.32,1) backwards}
  .ihs--v1 .ihs-ph-in{animation:ihs1-float 5s 1.6s ease-in-out infinite alternate}
  .ihs--v1 .ihs-flash{animation:ihs1-flick .55s 1s linear backwards}
  .ihs--v1 .ihs-top.is-landed .ihs-flash{animation:ihs1-flare .55s cubic-bezier(.23,1,.32,1)}
  .ihs--v1 .ihs-top.is-off .ihs-ph-in{animation-play-state:paused}
  .ihs--v1 .ihs-deal-t{animation:ihs1-in .45s .85s cubic-bezier(.23,1,.32,1) backwards}
  .ihs--v1 .ihs-was{animation:ihs1-in .45s .92s cubic-bezier(.23,1,.32,1) backwards}
  .ihs--v1 .ihs-now{animation:ihs1-in .45s 1s cubic-bezier(.23,1,.32,1) backwards}
  .ihs--v1 .ihs-go{animation:ihs1-in .45s 1.1s cubic-bezier(.23,1,.32,1) backwards}
  .ihs--v1 .ihs-deal.is-dropping .ihs-was::after{animation:ihs-strike .4s 1.15s ease-out backwards}
  .ihs--v1 .ihs-deal.is-landed .ihs-save{animation:ihs1-stamp .32s cubic-bezier(.23,1,.32,1) both}
}
@keyframes ihs1-up{from{transform:translateY(105%)}}
@keyframes ihs1-cool{from{opacity:1}}
@keyframes ihs1-in{from{opacity:0;transform:translateY(10px)}}
@keyframes ihs1-sweep{from{transform:rotate(38deg);opacity:0}20%{opacity:1}}
@keyframes ihs1-fade{from{opacity:0}}
@keyframes ihs1-rise{from{opacity:0;transform:translateY(26px)}}
@keyframes ihs1-float{to{transform:translateY(-9px)}}
@keyframes ihs1-flick{0%{opacity:0}18%{opacity:.95}34%{opacity:.08}55%{opacity:1}72%{opacity:.25}100%{opacity:.42}}
@keyframes ihs1-flare{from{opacity:1;transform:scale(1.25)}}
@keyframes ihs1-stamp{from{opacity:0;transform:scale(1.35)}}

/* Slider: the flashlight glow sits where each product's own panel is (none for products without one). */
.ihs--v1 .ihs-top--slides .ihs-flash{left:var(--fx,61%);top:var(--fy,41%);width:var(--fs,125%);margin:calc(var(--fs,125%) / -2) 0 0 calc(var(--fs,125%) / -2)}
/* Slider: every product has its own entrance, on top of the beam and the price drop.
   Only transform and opacity animate. Particles rest invisible, so with motion off (weak device,
   reduced motion) nothing extra shows. Each runs again whenever its slide is shown. */
.ihs-sfx{position:absolute;inset:0;pointer-events:none}
.ihs-sfx i{position:absolute;display:block;opacity:0}
@media (prefers-reduced-motion:no-preference){
  /* Titan Music: sound rings roll out of the speaker. */
  .ihs--v1 .ihs-fx-music .ihs-sfx i{left:50%;top:46%;width:170%;aspect-ratio:1;margin:-85% 0 0 -85%;border:2px solid var(--acc);border-radius:50%}
  .ihs--v1 .ihs-fx-music .ihs-sfx i:nth-child(-n+3){animation:ihsx-ring 1.8s 1.5s ease-out 3 both}
  .ihs--v1 .ihs-fx-music .ihs-sfx i:nth-child(2){animation-delay:2.1s}
  .ihs--v1 .ihs-fx-music .ihs-sfx i:nth-child(3){animation-delay:2.7s}

  /* Tank 4 PRO: dropped from above, lands hard, shakes, a shock ring runs over the floor. */
  .ihs--v1 .ihs-ph.ihs-fx-drop img{animation:ihsx-drop .5s .55s cubic-bezier(.55,0,1,.45) both}
  .ihs--v1 .ihs-ph.ihs-fx-drop .ihs-ph-in{animation:ihsx-shake .45s 1.05s linear both,ihs1-float 5s 1.8s ease-in-out infinite alternate}
  .ihs--v1 .ihs-fx-drop .ihs-sfx i:nth-child(1){left:-25%;right:-25%;bottom:-7%;height:16%;border:2px solid var(--acc);border-radius:50%;animation:ihsx-wave .75s 1.05s ease-out both}
  .ihs--v1 .ihs-fx-drop .ihs-sfx i:nth-child(2),.ihs--v1 .ihs-fx-drop .ihs-sfx i:nth-child(3){bottom:1%;width:7px;height:7px;border-radius:50%;background:var(--acc)}
  .ihs--v1 .ihs-fx-drop .ihs-sfx i:nth-child(2){left:12%;animation:ihsx-chip-l .6s 1.05s ease-out both}
  .ihs--v1 .ihs-fx-drop .ihs-sfx i:nth-child(3){right:12%;animation:ihsx-chip-r .6s 1.08s ease-out both}

  /* Tank 3 PRO (23 800 mAh): a charge line runs up the phone. */
  .ihs--v1 .ihs-fx-charge .ihs-sfx i:nth-child(1){left:-4%;right:-4%;bottom:0;height:12%;background:linear-gradient(rgba(254,192,15,0),rgba(254,192,15,.55),rgba(254,192,15,0));animation:ihsx-scan 1.1s 1.15s ease-in-out both}

  /* Robo Clean V6 AutoBase: drives in from the side, dust streaks behind it. */
  .ihs--v1 .ihs-ph.ihs-fx-drive img{animation:ihsx-drive .9s .6s cubic-bezier(.16,1,.3,1) both}
  .ihs--v1 .ihs-fx-drive .ihs-sfx i:nth-child(-n+3){left:-30%;width:45%;height:3px;border-radius:2px;background:linear-gradient(90deg,rgba(255,255,255,0),rgba(255,255,255,.6));animation:ihsx-streak .7s .75s ease-out both}
  .ihs--v1 .ihs-fx-drive .ihs-sfx i:nth-child(1){bottom:10%}
  .ihs--v1 .ihs-fx-drive .ihs-sfx i:nth-child(2){bottom:20%;width:35%;animation-delay:.82s}
  .ihs--v1 .ihs-fx-drive .ihs-sfx i:nth-child(3){bottom:30%;width:26%;animation-delay:.9s}

  /* Robo Clean V3: spins in, then the floor sparkles clean. */
  .ihs--v1 .ihs-ph.ihs-fx-sparkle img{animation:ihsx-spin .9s .6s cubic-bezier(.16,1,.3,1) both}
  .ihs--v1 .ihs-fx-sparkle .ihs-sfx i:nth-child(-n+4){width:15%;aspect-ratio:1;background:#fff;clip-path:polygon(50% 0,61% 39%,100% 50%,61% 61%,50% 100%,39% 61%,0 50%,39% 39%);animation:ihsx-twinkle .75s 1.4s ease-out both}
  .ihs--v1 .ihs-fx-sparkle .ihs-sfx i:nth-child(1){left:4%;top:4%}
  .ihs--v1 .ihs-fx-sparkle .ihs-sfx i:nth-child(2){right:0;top:24%;width:11%;animation-delay:1.6s}
  .ihs--v1 .ihs-fx-sparkle .ihs-sfx i:nth-child(3){left:20%;bottom:6%;width:9%;background:var(--acc);animation-delay:1.8s}
  .ihs--v1 .ihs-fx-sparkle .ihs-sfx i:nth-child(4){right:22%;top:-6%;width:12%;animation-delay:1.95s}

  /* Headphones: pulse to the beat, notes float up. */
  .ihs--v1 .ihs-ph.ihs-fx-beat img{animation:ihs1-rise .7s .7s cubic-bezier(.23,1,.32,1) backwards,ihsx-beat .5s 1.5s ease-in-out 4}
  .ihs--v1 .ihs-fx-beat .ihs-sfx i:nth-child(-n+3){animation:ihsx-note 1.6s 1.5s ease-out both}
  .ihs--v1 .ihs-fx-beat .ihs-sfx i::before{content:"\266A";font:700 28px/1 Arial,sans-serif;color:var(--acc)}
  .ihs--v1 .ihs-fx-beat .ihs-sfx i:nth-child(1){left:2%;top:18%}
  .ihs--v1 .ihs-fx-beat .ihs-sfx i:nth-child(2){right:0;top:6%;animation-delay:1.9s}
  .ihs--v1 .ihs-fx-beat .ihs-sfx i:nth-child(2)::before{content:"\266B"}
  .ihs--v1 .ihs-fx-beat .ihs-sfx i:nth-child(3){left:44%;top:-10%;animation-delay:2.3s}

  /* Window 7 SUPREME 4X Spray: mist from four nozzles, then a shine wipes the glass. */
  .ihs--v1 .ihs-fx-spray .ihs-sfx i:nth-child(-n+4){width:34%;aspect-ratio:1;border-radius:50%;background:radial-gradient(closest-side,rgba(175,222,255,.9),rgba(175,222,255,0));animation:ihsx-mist .9s 1.3s ease-out both}
  .ihs--v1 .ihs-fx-spray .ihs-sfx i:nth-child(1){left:-10%;top:-12%}
  .ihs--v1 .ihs-fx-spray .ihs-sfx i:nth-child(2){right:-10%;top:-12%;animation-delay:1.4s}
  .ihs--v1 .ihs-fx-spray .ihs-sfx i:nth-child(3){left:-10%;bottom:-12%;animation-delay:1.5s}
  .ihs--v1 .ihs-fx-spray .ihs-sfx i:nth-child(4){right:-10%;bottom:-12%;animation-delay:1.6s}
  .ihs--v1 .ihs-fx-spray .ihs-sfx i:nth-child(5){inset:4% 8%;overflow:hidden;opacity:1}
  .ihs--v1 .ihs-fx-spray .ihs-sfx i:nth-child(5)::before{content:"";position:absolute;top:-20%;bottom:-20%;left:0;width:38%;background:linear-gradient(100deg,rgba(255,255,255,0),rgba(255,255,255,.75),rgba(255,255,255,0));transform:translateX(-130%);animation:ihsx-shine .9s 2.1s ease-in-out both}

  .ihs--v1 .ihs-top.is-off .ihs-sfx i{animation-play-state:paused}
}
@keyframes ihsx-ring{0%{opacity:0;transform:scale(.2)}15%{opacity:.75}100%{opacity:0;transform:scale(1)}}
@keyframes ihsx-drop{0%{opacity:0;transform:translateY(-130%)}25%{opacity:1}100%{transform:none}}
@keyframes ihsx-shake{0%,100%{transform:none}20%{transform:translate(-4px,2px) rotate(-1.4deg)}40%{transform:translate(4px,-1px) rotate(1.1deg)}60%{transform:translate(-2px,1px)}80%{transform:translate(1px,0)}}
@keyframes ihsx-wave{0%{opacity:0;transform:scale(.3)}20%{opacity:1}100%{opacity:0;transform:scale(1.3)}}
@keyframes ihsx-chip-l{0%{opacity:0;transform:none}8%{opacity:1}100%{opacity:0;transform:translate(-44px,-34px)}}
@keyframes ihsx-chip-r{0%{opacity:0;transform:none}8%{opacity:1}100%{opacity:0;transform:translate(44px,-28px)}}
@keyframes ihsx-scan{0%{opacity:0;transform:translateY(0)}15%,85%{opacity:1}100%{opacity:0;transform:translateY(-760%)}}
@keyframes ihsx-drive{0%{opacity:0;transform:translateX(-95%) rotate(-3deg)}30%{opacity:1}100%{transform:none}}
@keyframes ihsx-streak{0%{opacity:0;transform:translateX(90%)}30%{opacity:.9}100%{opacity:0;transform:translateX(-40%)}}
@keyframes ihsx-spin{0%{opacity:0;transform:rotate(-160deg) scale(.4)}35%{opacity:1}100%{transform:none}}
@keyframes ihsx-twinkle{0%{opacity:0;transform:scale(0)}40%{opacity:1;transform:scale(1) rotate(45deg)}100%{opacity:0;transform:scale(.2) rotate(90deg)}}
@keyframes ihsx-beat{50%{transform:scale(1.06)}}
@keyframes ihsx-note{0%{opacity:0;transform:translateY(10px) scale(.6)}20%{opacity:1}100%{opacity:0;transform:translate(16px,-74px) rotate(14deg)}}
@keyframes ihsx-mist{0%{opacity:0;transform:scale(.2)}30%{opacity:1}100%{opacity:0;transform:scale(1.5)}}
@keyframes ihsx-shine{0%{transform:translateX(-130%)}100%{transform:translateX(330%)}}
/* ---------- 1.8.20 Owner's points: three columns, button as wide as the line, type label, more air ---------- */

/* Top block in three columns: title and button | product in its ring | product type, name, price, button */
.ihs--v1 .ihs-top{--ring:clamp(320px,31vw,420px);--gap:clamp(12px,3vw,44px);gap:var(--gap)}
/* Column 1: the yellow button is exactly as wide as the line under the title. The title does not set the width. */
.ihs--v1 .ihs-top .ihs-top-l{display:grid!important;grid-template-columns:fit-content(100%);justify-content:start;align-content:center}
.ihs--v1 .ihs-top h1{contain:inline-size;width:auto;margin-right:-100vw!important;pointer-events:none;font-size:clamp(30px,4.3vw,62px);line-height:1;margin:6px 0 14px -.05em}
.ihs--v1 .ihs-top .ihs-cta-row{display:block;margin-top:18px}
.ihs--v1 .ihs-top .ihs-btn{width:100%}
/* Column 3: type, name, price, button. The button is as wide as the two prices. */
.ihs--v1 .ihs-deal:not([hidden]){display:grid;grid-template-columns:auto auto;justify-content:start;column-gap:12px;align-items:baseline;align-self:center}
.ihs--v1 .ihs-deal::before{content:none}
.ihs--v1 .ihs-deal-k{grid-column:1/-1;contain:inline-size;margin:0 0 6px;color:var(--acc);font-size:13px;font-weight:600;letter-spacing:.02em}
.ihs--v1 .ihs-deal-t{grid-column:1/-1;contain:inline-size;margin:0 0 16px;font-size:16px;line-height:1.3}
.ihs--v1 .ihs-save{grid-column:1/-1;justify-self:start;margin:0 0 8px}
.ihs--v1 .ihs-now{grid-column:1;margin:0}
.ihs--v1 .ihs-was{grid-column:2;margin:0}
.ihs--v1 .ihs-go{grid-column:1/-1;min-height:44px;margin-top:20px}
.ihs--v1 .ihs-dots{justify-self:start!important;margin-left:-3.5px!important}
@media (min-width:1000px){
  /* The middle column is exactly the ring, so the ring never reaches the text on either side. */
  .ihs--v1 .ihs-top:not(.ihs-top--solo){grid-template-columns:minmax(0,1fr) var(--ring) minmax(0,1fr)}
  .ihs--v1 .ihs-top.ihs-top--slides .ihs-ph{width:var(--ring);--ring:clamp(320px,31vw,420px)}
  .ihs--v1 .ihs-now{font-size:clamp(30px,3.3vw,46px)}
  /* The countdown starts on the same line as column 3. */
  .ihs--v1 .ihs-top .ihs-timer{left:calc(50% + var(--ring) / 2 + var(--gap));right:auto}
  .ihs--v1 .ihs-top .ihs-timer-l{text-align:left}
}
/* A soft light right behind the product, so a dark product does not melt into the dark. */
.ihs--v1 .ihs-ph .ihs-ph-in{background:radial-gradient(closest-side,rgba(255,255,255,.2),rgba(254,192,15,.14) 45%,rgba(254,192,15,0) 74%)}


/* 1.8.22: the slide switches are as wide as the white button under the price (the script sets the width) and bigger to tap. */
.ihs.ihs--v1 .ihs-top .ihs-dots{gap:6px;margin-left:0!important;max-width:100%;transition:width .3s cubic-bezier(.23,1,.32,1)}
.ihs.ihs--v1 .ihs-dots .ihs-dot{flex:1 1 0;width:auto;min-width:14px;height:34px}
.ihs.ihs--v1 .ihs-dots .ihs-dot::before{left:0;right:0;top:14px;height:5px;border-radius:3px;opacity:.35}
.ihs.ihs--v1 .ihs-dots .ihs-dot[aria-current=true]::before{opacity:1;box-shadow:0 0 10px rgba(254,192,15,.55)}
@media (max-width:640px){.ihs.ihs--v1 .ihs-top.ihs-top--slides .ihs-dots{align-self:flex-start;margin-top:12px}}
/* 1.8.23: old price grey with a thin light strike, so the eye goes to the new price. */
.ihs.ihs--v1 .ihs-was{color:#a7a7b2}
.ihs.ihs--v1 .ihs-was::after{background:rgba(255,255,255,.7);height:1.5px}
@media (max-width:640px){
  /* Phone: title, button and product text start at one left edge. */
  .ihs.ihs--v1 .ihs-top.ihs-top--slides .ihs-top-l{align-self:stretch;width:auto;justify-content:start}
  /* Air between the yellow button and the countdown. */
  .ihs.ihs--v1 .ihs-top .ihs-cta-row .ihs-timer{margin-top:20px}
}
/* ihunt-lights.css */
/* Light behind the top product, "Прожектор" design. One class on the page picks it; the original beam needs none. */
.ihs--v1.ihs-light-glow .ihs-ph::before,.ihs--v1.ihs-light-podium .ihs-ph::before,.ihs--v1.ihs-light-halo .ihs-ph::before,.ihs--v1.ihs-light-studio .ihs-ph::before{clip-path:none;rotate:0deg;animation:none}
.ihs--v1.ihs-light-glow .ihs-flash,.ihs--v1.ihs-light-podium .ihs-flash,.ihs--v1.ihs-light-halo .ihs-flash,.ihs--v1.ihs-light-studio .ihs-flash,.ihs--v1.ihs-light-soft .ihs-flash{display:none}
/* Products drop a real shadow instead of a white outline and a gold glow. */
.ihs--v1.ihs-light-glow .ihs-ph img,.ihs--v1.ihs-light-podium .ihs-ph img,.ihs--v1.ihs-light-halo .ihs-ph img,.ihs--v1.ihs-light-studio .ihs-ph img,.ihs--v1.ihs-light-soft .ihs-ph img{filter:drop-shadow(0 16px 18px rgba(0,0,0,.55))!important}

/* 1. Glow: a soft gold circle behind the product. */
.ihs--v1.ihs-light-glow .ihs-ph::before{top:50%;width:440px;height:440px;margin:-220px 0 0 -220px;background:radial-gradient(closest-side,rgba(254,192,15,.42),rgba(254,192,15,.14) 55%,rgba(254,192,15,0))}
.ihs--v1.ihs-light-glow .ihs-ph::after{background:radial-gradient(closest-side,rgba(0,0,0,.7),rgba(0,0,0,0))}

/* 2. Podium: the product stands on a gold stage. */
.ihs--v1.ihs-light-podium .ihs-ph::before{top:auto;bottom:-24px;width:330px;height:150px;margin-left:-165px;background:radial-gradient(ellipse 50% 60% at 50% 100%,rgba(254,192,15,.28),rgba(254,192,15,0))}
.ihs--v1.ihs-light-podium .ihs-ph::after{bottom:-22px;width:290px;height:44px;margin-left:-145px;border-radius:50%;background:radial-gradient(ellipse at 50% 35%,#ffe27a,#fec00f 45%,#9c7000 100%);box-shadow:0 10px 24px rgba(0,0,0,.6)}

/* 3. Halo: a thin gold ring around the product. */
.ihs--v1.ihs-light-halo .ihs-ph::before{top:50%;width:min(calc(100% + 12px),290px);height:auto;aspect-ratio:1;margin:0;translate:-50% -50%;border:3px solid rgba(254,192,15,.9);border-radius:50%;background:radial-gradient(closest-side,rgba(254,192,15,.16),rgba(254,192,15,0) 75%);box-shadow:0 0 34px rgba(254,192,15,.22)}
.ihs--v1.ihs-light-halo .ihs-ph::after{background:radial-gradient(closest-side,rgba(0,0,0,.65),rgba(0,0,0,0))}

/* 4. Studio: neutral white light from above, like a product photo. */
.ihs--v1.ihs-light-studio .ihs-ph::before{top:-40px;width:560px;height:calc(100% + 80px);margin-left:-280px;background:radial-gradient(ellipse 50% 70% at 50% 18%,rgba(255,255,255,.2),rgba(255,255,255,.06) 55%,rgba(255,255,255,0))}
.ihs--v1.ihs-light-studio .ihs-ph::after{background:radial-gradient(closest-side,rgba(0,0,0,.75),rgba(0,0,0,0))}

/* 5. Soft beam: the same beam, quieter and without the flare. */
.ihs--v1.ihs-light-soft .ihs-ph::before{opacity:.55;background:linear-gradient(rgba(254,192,15,.3),rgba(254,192,15,.04) 70%,rgba(254,192,15,0))}
.ihs--v1.ihs-light-soft .ihs-ph::after{background:radial-gradient(closest-side,rgba(254,192,15,.3),rgba(254,192,15,0))}

@media (max-width:640px){
	.ihs--v1.ihs-light-glow .ihs-ph::before{display:block!important;width:260px;height:260px;margin:-130px 0 0 -130px}
	.ihs--v1.ihs-light-halo .ihs-ph::before{display:block!important;width:min(86%,300px)}
	.ihs--v1.ihs-light-podium .ihs-ph::before,.ihs--v1.ihs-light-studio .ihs-ph::before{display:block!important;width:280px;margin-left:-140px}
	.ihs--v1.ihs-light-podium .ihs-ph::after{width:210px;height:34px;margin-left:-105px}
}

/* ---------- Large halo, three motions. The ring may pass behind the text; the text stays on top and readable. ---------- */
.ihs--v1.ihs-light-breathe .ihs-ph::before,.ihs--v1.ihs-light-orbit .ihs-ph::before,.ihs--v1.ihs-light-wave .ihs-ph::before{top:50%;width:var(--ring,min(420px,92vw));height:auto;aspect-ratio:1;margin:0;translate:-50% -50%;clip-path:none;rotate:0deg;border-radius:50%;pointer-events:none;will-change:transform}
.ihs--v1.ihs-light-breathe .ihs-flash,.ihs--v1.ihs-light-orbit .ihs-flash,.ihs--v1.ihs-light-wave .ihs-flash{display:none}
.ihs--v1.ihs-light-breathe .ihs-ph img,.ihs--v1.ihs-light-orbit .ihs-ph img,.ihs--v1.ihs-light-wave .ihs-ph img{filter:drop-shadow(0 16px 18px rgba(0,0,0,.55))!important}
/* Text over the ring: above it, with a dark edge so a gold line behind a letter never hurts reading. */
.ihs--v1.ihs-light-breathe .ihs-top-l,.ihs--v1.ihs-light-breathe .ihs-deal,.ihs--v1.ihs-light-orbit .ihs-top-l,.ihs--v1.ihs-light-orbit .ihs-deal,.ihs--v1.ihs-light-wave .ihs-top-l,.ihs--v1.ihs-light-wave .ihs-deal{position:relative;z-index:3}
.ihs--v1:is(.ihs-light-breathe,.ihs-light-orbit,.ihs-light-wave) :is(h1,.ihs-kick,.ihs-top-sub,.ihs-timer-l,.ihs-deal-t,.ihs-was,.ihs-now){text-shadow:0 0 10px #0c0c0c,0 0 2px #0c0c0c}

/* 1. Breathing: the ring slowly swells and settles, like a lamp warming up. */
.ihs--v1.ihs-light-breathe .ihs-ph::before{border:3px solid #fec00f;background:radial-gradient(closest-side,rgba(254,192,15,.2),rgba(254,192,15,.05) 70%,rgba(254,192,15,0));box-shadow:0 0 40px rgba(254,192,15,.28),inset 0 0 30px rgba(254,192,15,.18);animation:ihs-breathe 4s .6s cubic-bezier(.455,.03,.515,.955) infinite alternate}
@keyframes ihs-breathe{from{transform:scale(.96);opacity:.7}to{transform:scale(1.03);opacity:1}}

/* 2. Orbit: a bright arc runs around a faint ring. */
.ihs--v1.ihs-light-orbit .ihs-ph::before{border:3px solid rgba(254,192,15,.3);border-top-color:#fec00f;border-right-color:#fec00f;box-shadow:0 0 30px rgba(254,192,15,.2);background:none;animation:ihs-orbit 6s linear infinite}
.ihs--v1.ihs-light-orbit .ihs-ph::after{content:"";position:absolute;left:50%;top:50%;bottom:auto;z-index:-1;width:var(--ring,min(420px,92vw));height:auto;aspect-ratio:1;margin:0;translate:-50% -50%;border:1.5px solid rgba(254,192,15,.32);border-radius:50%;background:radial-gradient(closest-side,rgba(254,192,15,.14),rgba(254,192,15,0) 75%)}
@keyframes ihs-orbit{to{transform:rotate(1turn)}}

/* 3. Wave: a steady ring sends a soft ripple outward every few seconds. */
.ihs--v1.ihs-light-wave .ihs-ph::before{border:3px solid #fec00f;background:radial-gradient(closest-side,rgba(254,192,15,.18),rgba(254,192,15,0) 75%);box-shadow:0 0 34px rgba(254,192,15,.24);animation:none}
.ihs--v1.ihs-light-wave .ihs-ph::after{content:"";position:absolute;left:50%;top:50%;bottom:auto;z-index:-1;width:var(--ring,min(420px,92vw));height:auto;aspect-ratio:1;margin:0;translate:-50% -50%;border:2px solid #fec00f;border-radius:50%;background:none;opacity:0;will-change:transform,opacity;animation:ihs-wave 3.2s 1s cubic-bezier(.215,.61,.355,1) infinite}
@keyframes ihs-wave{0%{transform:scale(1);opacity:.65}100%{transform:scale(1.32);opacity:0}}

@keyframes ihs-ring-in{from{transform:scale(.9);opacity:0}}

/* Phone: the ring follows the product box, which fills the width. */
@media (max-width:640px){
	.ihs--v1.ihs-light-breathe .ihs-ph::before,.ihs--v1.ihs-light-orbit .ihs-ph::before,.ihs--v1.ihs-light-wave .ihs-ph::before,.ihs--v1.ihs-light-orbit .ihs-ph::after,.ihs--v1.ihs-light-wave .ihs-ph::after{display:block!important;width:var(--ring)}
}
/* Out of view, on weak devices and for reduced motion: the ring stays still. */
.ihs--v1 .ihs-top.is-off .ihs-ph::before,.ihs--v1 .ihs-top.is-off .ihs-ph::after{animation-play-state:paused}
.ihs--v1.ihs-lite.ihs-light-breathe .ihs-ph::before,.ihs--v1.ihs-lite.ihs-light-orbit .ihs-ph::before,.ihs--v1.ihs-lite.ihs-light-wave .ihs-ph::before{animation:none}
.ihs--v1.ihs-lite.ihs-light-wave .ihs-ph::after{display:none}
@media (prefers-reduced-motion:reduce){
	.ihs--v1.ihs-light-breathe .ihs-ph::before,.ihs--v1.ihs-light-orbit .ihs-ph::before,.ihs--v1.ihs-light-wave .ihs-ph::before,.ihs--v1.ihs-light-wave .ihs-ph::after{animation:none}
	.ihs--v1.ihs-light-wave .ihs-ph::after{display:none}
}

/* With a ring, every product gets the same square in the middle of it, so a small robot is not lost at the bottom and a phone is not huge. */
.ihs--v1:is(.ihs-light-halo,.ihs-light-breathe,.ihs-light-orbit,.ihs-light-wave) .ihs-ph{--ring:min(420px,92vw)}
.ihs--v1:is(.ihs-light-halo,.ihs-light-breathe,.ihs-light-orbit,.ihs-light-wave) .ihs-ph .ihs-ph-in{position:absolute!important;left:50%!important;top:50%!important;bottom:auto!important;width:calc(var(--ring) * .8)!important;height:auto!important;aspect-ratio:1;margin:0!important;translate:-50% -50%}
.ihs--v1:is(.ihs-light-halo,.ihs-light-breathe,.ihs-light-orbit,.ihs-light-wave) .ihs-ph .ihs-ph-in img{width:100%;height:100%;object-fit:contain}
@media (max-width:640px){.ihs--v1:is(.ihs-light-halo,.ihs-light-breathe,.ihs-light-orbit,.ihs-light-wave) .ihs-ph{--ring:min(96vw - 64px,340px)}}

/* ---------- 1.8.20 Neon arcs (owner's choice: pink and gold tubes with sparks). Sits on the wave ring.
   The arcs hang on the product box, so they stay centred on the product on every screen. ---------- */
.ihs--v1.ihs-arc .ihs-top{background:#0a0912}
.ihs--v1.ihs-arc .ihs-top .ihs-fx{position:absolute;inset:0;z-index:0;pointer-events:none}
.ihs--v1.ihs-arc .ihs-top .ihs-fx-grain{opacity:.14;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 1 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url("https://www.ihunt.com.ua/wp-content/plugins/ihunt-shares-page/assets/%23n")'/%3E%3C/svg%3E")}
.ihs--v1.ihs-arc .ihs-top .ihs-fx-leak{background:radial-gradient(26% 36% at 50% 50%,rgba(255,90,160,.22),rgba(255,90,160,0) 100%),radial-gradient(30% 42% at 100% 0%,rgba(255,150,40,.24),rgba(255,150,40,0) 100%),radial-gradient(32% 46% at 0% 100%,rgba(200,40,120,.28),rgba(200,40,120,0) 100%)}
/* Sparks: one 2-pixel dot copied by its shadows. */
.ihs--v1.ihs-arc .ihs-top .ihs-fx-lines::before{content:"";position:absolute;left:0;top:0;width:2px;height:2px;border-radius:50%;background:#fff;opacity:.9;
  box-shadow:72vw 6vh 0 0 #ffd6ea,80vw 14vh 0 1px rgba(255,190,90,.9),88vw 9vh 0 0 #fff,94vw 22vh 0 0 rgba(255,160,220,.9),76vw 30vh 0 0 #fff,
  58vw 4vh 0 0 rgba(255,210,120,.8),64vw 40vh 0 0 rgba(255,120,200,.8),3vw 60vh 0 0 #fff,8vw 72vh 0 1px rgba(255,160,220,.8),14vw 64vh 0 0 rgba(255,200,110,.85),
  22vw 76vh 0 0 #fff,30vw 70vh 0 0 rgba(255,140,210,.7),36vw 8vh 0 0 rgba(255,220,150,.7),46vw 78vh 0 0 #fff,52vw 12vh 0 1px rgba(255,170,220,.8)}
.ihs--v1.ihs-arc .ihs-top :is(.ihs-deal-k,.ihs-deal-t,.ihs-now,.ihs-was,.ihs-timer-l,h1,.ihs-top-sub,.ihs-kick){text-shadow:0 1px 14px rgba(8,6,16,.75)}
/* The two tubes: big circles off-centre, two sides of the border lit, a pale core and three soft halos. */
.ihs--v1.ihs-arc .ihs-ph .ihs-ph-in::before,.ihs--v1.ihs-arc .ihs-ph .ihs-ph-in::after{content:"";position:absolute;left:50%;top:50%;z-index:-1;aspect-ratio:1;border-radius:50%;border:2.5px solid transparent;pointer-events:none}
.ihs--v1.ihs-arc .ihs-ph .ihs-ph-in::before{width:178%;translate:-60% -47%;rotate:-30deg;border-top-color:#ffd3ec;border-left-color:rgba(255,120,200,.45);filter:drop-shadow(0 0 2px #ff6fbd) drop-shadow(0 0 8px #ff3fa4) drop-shadow(0 0 22px rgba(255,40,150,.75))}
.ihs--v1.ihs-arc .ihs-ph .ihs-ph-in::after{width:148%;translate:-38% -55%;rotate:130deg;border-top-color:#fff1c4;border-left-color:rgba(254,192,15,.4);filter:drop-shadow(0 0 2px #fec00f) drop-shadow(0 0 8px #ff9a1f) drop-shadow(0 0 22px rgba(255,140,20,.7))}
/* Dark products (black robot, black phone) must not melt into the dark: brighter light right behind them and a thin light rim. */
.ihs--v1.ihs-arc .ihs-ph .ihs-ph-in{background:radial-gradient(closest-side,rgba(255,255,255,.34),rgba(255,190,225,.2) 42%,rgba(255,150,200,0) 76%)}
.ihs--v1.ihs-arc .ihs-ph img{filter:drop-shadow(0 0 1px rgba(255,255,255,.9)) drop-shadow(0 0 14px rgba(255,170,215,.5))!important}
/* The car streaks left a line across the ring; the arcs already give motion. */
.ihs--v1.ihs-arc .ihs-fx-drive .ihs-sfx{display:none}
@media (max-width:640px){
  /* Phone: one lit side each, pink on the left and gold on the right, so no tube runs over the countdown or the type label. */
  .ihs--v1.ihs-arc .ihs-ph .ihs-ph-in::before{width:150%;border-width:2px;border-top-color:transparent;border-left-color:#ffd3ec;translate:-50% -50%;rotate:0deg}
  .ihs--v1.ihs-arc .ihs-ph .ihs-ph-in::after{width:128%;border-width:2px;border-top-color:transparent;border-left-color:#fff1c4;translate:-50% -50%;rotate:180deg}
  .ihs--v1.ihs-arc .ihs-top .ihs-fx-grain{opacity:.11}
}
/* Weak devices: no halos, the tubes stay as thin coloured lines; one light rim only. */
.ihs--v1.ihs-lite.ihs-arc .ihs-ph .ihs-ph-in::before,.ihs--v1.ihs-lite.ihs-arc .ihs-ph .ihs-ph-in::after{filter:none}
.ihs--v1.ihs-lite.ihs-arc .ihs-ph img{filter:drop-shadow(0 0 1px rgba(255,255,255,.9))!important}
/* The wave ripple was squashed into a flat line by the phone layout of the slides: keep it a circle round the product. */
.ihs.ihs--v1.ihs-light-wave .ihs-top.ihs-top--slides .ihs-ph::after{top:50%;bottom:auto;width:var(--ring);height:auto;aspect-ratio:1;margin:0}
/* 1.8.21: no jump between slides. The product stops floating, so the arcs on its box start every slide in the same place. */
.ihs--v1.ihs-arc .ihs-ph .ihs-ph-in{animation:none}
/* Living sparks: two sets twinkle in turn and drift slowly. Opacity and transform only, so the phone's graphics chip does the work. */
.ihs--v1.ihs-arc .ihs-top .ihs-fx-lines::after{content:"";position:absolute;left:0;top:0;width:2px;height:2px;border-radius:50%;background:#fff;opacity:0;
  box-shadow:68vw 18vh 0 0 #fff,84vw 4vh 0 1px rgba(255,200,120,.9),91vw 34vh 0 0 rgba(255,170,220,.9),62vw 26vh 0 0 #ffe2f0,6vw 82vh 0 0 #fff,18vw 58vh 0 1px rgba(255,190,90,.85),26vw 86vh 0 0 rgba(255,150,210,.8),40vw 3vh 0 0 #fff,48vw 70vh 0 0 rgba(255,210,140,.8),56vw 84vh 0 0 #fff}
@media (prefers-reduced-motion:no-preference){
  .ihs--v1.ihs-arc .ihs-top .ihs-fx-lines::before{animation:ihs-spark 4.6s ease-in-out infinite alternate}
  .ihs--v1.ihs-arc .ihs-top .ihs-fx-lines::after{animation:ihs-spark2 3.8s 1.2s ease-in-out infinite alternate}
  .ihs--v1 .ihs-top.is-off .ihs-fx-lines::before,.ihs--v1 .ihs-top.is-off .ihs-fx-lines::after{animation-play-state:paused}
}
@keyframes ihs-spark{0%{opacity:.95;transform:translate(0,0)}50%{opacity:.25}100%{opacity:.85;transform:translate(6px,-10px)}}
@keyframes ihs-spark2{0%{opacity:0;transform:translate(0,0)}55%{opacity:.9}100%{opacity:.2;transform:translate(-8px,-12px)}}
.ihs--v1.ihs-lite.ihs-arc .ihs-top .ihs-fx-lines::before,.ihs--v1.ihs-lite.ihs-arc .ihs-top .ihs-fx-lines::after{animation:none}
.ihs--v1.ihs-lite.ihs-arc .ihs-top .ihs-fx-lines::after{display:none}/* ===== 1.8.23 (owner's choice after the critique) ===== */
/* No yellow ring and no ripple: the neon arcs are the only frame round the product. */
.ihs.ihs--v1.ihs-arc .ihs-top .ihs-ph::before{border-color:transparent;box-shadow:none;background:none}
.ihs.ihs--v1.ihs-arc .ihs-top .ihs-ph::after{display:none!important}
/* A calmer background: softer light behind the product and in the corners. The light rim still keeps dark products visible. */
.ihs.ihs--v1.ihs-arc .ihs-ph .ihs-ph-in{background:radial-gradient(closest-side,rgba(255,255,255,.2),rgba(255,190,225,.11) 42%,rgba(255,150,200,0) 74%)}
.ihs.ihs--v1.ihs-arc .ihs-top .ihs-fx-leak{opacity:.7}
/* The arcs sway slowly round their places. The script starts each slide's arcs on one shared clock (--arc-t), so a new slide never jumps. */
@media (prefers-reduced-motion:no-preference){
  .ihs--v1.ihs-arc .ihs-ph .ihs-ph-in.ihs-turn::before{animation:ihs-arc1 13s var(--arc-t,0s) ease-in-out infinite alternate}
  .ihs--v1.ihs-arc .ihs-ph .ihs-ph-in.ihs-turn::after{animation:ihs-arc2 13s var(--arc-t,0s) ease-in-out infinite alternate}
  /* No pause off screen: a paused arc would lose the shared clock. The browser already skips drawing what is off screen. */
}
@keyframes ihs-arc1{from{rotate:-55deg}to{rotate:-5deg}}
@keyframes ihs-arc2{from{rotate:155deg}to{rotate:105deg}}
@media (max-width:640px){
  /* Phone: a smaller stage brings the price up; the arcs sway at the sides instead of turning, so they never cross the countdown or the text. */
  .ihs.ihs--v1.ihs-arc .ihs-top .ihs-ph{--ring:min(68vw,270px);aspect-ratio:auto;height:calc(var(--ring) + 10px)}
  .ihs.ihs--v1.ihs-arc .ihs-top .ihs-fx-lines{opacity:.55}
}
@media (max-width:640px) and (prefers-reduced-motion:no-preference){
  .ihs--v1.ihs-arc .ihs-ph .ihs-ph-in.ihs-turn::before{animation:ihs-arc3 10s var(--arc-t,0s) ease-in-out infinite alternate}
  .ihs--v1.ihs-arc .ihs-ph .ihs-ph-in.ihs-turn::after{animation:ihs-arc4 10s var(--arc-t,0s) ease-in-out infinite alternate}
}
@keyframes ihs-arc3{from{rotate:-14deg}to{rotate:14deg}}
@keyframes ihs-arc4{from{rotate:194deg}to{rotate:166deg}}
.ihs--v1.ihs-lite.ihs-arc .ihs-ph .ihs-ph-in::before,.ihs--v1.ihs-lite.ihs-arc .ihs-ph .ihs-ph-in::after{animation:none}
/* ===== 1.8.24: "Неонова сцена" (owner's choice). True black, grain that never greys the black, dark edges,
   pink light from the left and amber from the right, a full floor light under the product. ===== */
.ihs.ihs--v1.ihs-arc .ihs-top{background:#040306}
/* Grain blends with what is under it: invisible on pure black, film texture inside the light. */
.ihs.ihs--v1.ihs-arc .ihs-top .ihs-fx-grain{opacity:.55;mix-blend-mode:overlay;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix values='.33 .33 .33 0 0 .33 .33 .33 0 0 .33 .33 .33 0 0 0 0 0 0 1'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url("https://www.ihunt.com.ua/wp-content/plugins/ihunt-shares-page/assets/%23n")'/%3E%3C/svg%3E")}
.ihs.ihs--v1.ihs-arc .ihs-top .ihs-fx-leak{opacity:1;background:
  radial-gradient(30% 60% at 34% 55%,rgba(255,40,150,.36),rgba(255,40,150,0) 100%),
  radial-gradient(30% 60% at 66% 45%,rgba(255,150,0,.26),rgba(255,150,0,0) 100%),
  radial-gradient(12% 22% at 50% 50%,rgba(140,60,255,.3),rgba(140,60,255,0) 100%)}
/* Dark edges: the eye falls to the middle, to the product. */
.ihs.ihs--v1.ihs-arc .ihs-top .ihs-fx-leak::after{content:"";position:absolute;inset:0;background:radial-gradient(75% 95% at 50% 50%,rgba(4,3,6,0) 45%,rgba(4,3,6,.85) 100%)}
.ihs.ihs--v1.ihs-arc .ihs-ph .ihs-ph-in{background:radial-gradient(closest-side,rgba(255,240,250,.2),rgba(255,140,200,.1) 45%,rgba(255,140,200,0) 75%)}
/* Floor light on its own layer under the product, wider than the product box; it fades out inside its own box, so it is never cut. */
.ihs.ihs--v1.ihs-arc.ihs-light-wave .ihs-top .ihs-ph::after{display:block!important;content:"";position:absolute;left:50%;top:calc(50% + var(--ring) * .37);bottom:auto;z-index:-1;width:calc(var(--ring) * 1.05);height:calc(var(--ring) * .24);aspect-ratio:auto;margin:0;translate:-50% -50%;border:0;border-radius:0;opacity:1;animation:none;transform:none;
  background:radial-gradient(closest-side,rgba(255,214,140,.9),rgba(255,150,60,.5) 30%,rgba(255,90,170,.22) 62%,rgba(255,90,170,0) 100%)}
@media (max-width:640px){
  .ihs.ihs--v1.ihs-arc .ihs-top .ihs-fx-leak{background:
    radial-gradient(55% 22% at 12% 52%,rgba(255,40,150,.36),rgba(255,40,150,0) 100%),
    radial-gradient(55% 22% at 88% 50%,rgba(255,150,0,.26),rgba(255,150,0,0) 100%),
    radial-gradient(35% 12% at 50% 52%,rgba(140,60,255,.28),rgba(140,60,255,0) 100%)}
  .ihs.ihs--v1.ihs-arc .ihs-top .ihs-fx-leak::after{background:radial-gradient(110% 70% at 50% 52%,rgba(4,3,6,0) 40%,rgba(4,3,6,.85) 100%)}
}

/* ===== Three effects. Only transform and opacity move; all stop for reduced motion, on weak devices and off screen. ===== */
.ihs.ihs--v1.ihs-arc .ihs-top .ihs-fx i{position:absolute;display:block;pointer-events:none}
/* Боке: a few large out-of-focus lights drift in the empty corners. Soft by their own gradient, no blur filter. */
.ihs.ihs--v1.ihs-arc .ihs-top .ihs-fx-bokeh{inset:0;overflow:hidden}
.ihs.ihs--v1.ihs-arc .ihs-top .ihs-fx-bokeh i{width:var(--s);aspect-ratio:1;border-radius:50%;opacity:.55;background:radial-gradient(closest-side,var(--c),transparent)}
.ihs.ihs--v1.ihs-arc .ihs-top .ihs-fx-bokeh i:nth-child(1){--s:130px;--c:rgba(255,80,170,.5);left:3%;top:62%}
.ihs.ihs--v1.ihs-arc .ihs-top .ihs-fx-bokeh i:nth-child(2){--s:80px;--c:rgba(255,190,80,.5);left:88%;top:8%}
.ihs.ihs--v1.ihs-arc .ihs-top .ihs-fx-bokeh i:nth-child(3){--s:56px;--c:rgba(160,110,255,.55);left:30%;top:6%}
.ihs.ihs--v1.ihs-arc .ihs-top .ihs-fx-bokeh i:nth-child(4){--s:96px;--c:rgba(255,140,60,.42);left:76%;top:70%}
.ihs.ihs--v1.ihs-arc .ihs-top .ihs-fx-bokeh i:nth-child(5){--s:44px;--c:rgba(255,120,200,.6);left:58%;top:84%}
/* Комета: every 8 seconds one bright streak crosses the sky above the stage. */
.ihs.ihs--v1.ihs-arc .ihs-top .ihs-fx-comet{inset:0;overflow:hidden}
.ihs.ihs--v1.ihs-arc .ihs-top .ihs-fx-comet i{left:0;top:14%;width:160px;height:2px;border-radius:2px;opacity:0;rotate:16deg;
  background:linear-gradient(90deg,rgba(255,255,255,0),rgba(255,214,240,.85) 85%,#fff);box-shadow:0 0 8px rgba(255,170,220,.8)}
/* Спалах: each new product arrives with a soft burst of colour from behind it; it plays by itself whenever a slide appears. */
.ihs.ihs--v1.ihs-arc .ihs-top .ihs-ph::before{border-color:transparent!important;box-shadow:none;opacity:0;
  background:radial-gradient(closest-side,rgba(255,230,245,.55),rgba(255,90,180,.35) 40%,rgba(255,160,40,.12) 65%,rgba(255,160,40,0))}
@media (prefers-reduced-motion:no-preference){
  .ihs.ihs--v1.ihs-arc .ihs-top .ihs-fx-bokeh i{animation:ihs-bokeh 16s ease-in-out infinite alternate}
  .ihs.ihs--v1.ihs-arc .ihs-top .ihs-fx-bokeh i:nth-child(2){animation-duration:13s;animation-delay:-4s}
  .ihs.ihs--v1.ihs-arc .ihs-top .ihs-fx-bokeh i:nth-child(3){animation-duration:19s;animation-delay:-9s}
  .ihs.ihs--v1.ihs-arc .ihs-top .ihs-fx-bokeh i:nth-child(4){animation-duration:15s;animation-delay:-2s}
  .ihs.ihs--v1.ihs-arc .ihs-top .ihs-fx-bokeh i:nth-child(5){animation-duration:12s;animation-delay:-7s}
  .ihs.ihs--v1.ihs-arc .ihs-top .ihs-fx-comet i{animation:ihs-comet 8s 2s linear infinite}
  .ihs.ihs--v1.ihs-arc .ihs-top .ihs-ph::before{animation:ihs-burst .9s cubic-bezier(.23,1,.32,1) both}
  .ihs--v1 .ihs-top.is-off :is(.ihs-fx-bokeh,.ihs-fx-comet) i{animation-play-state:paused}
}
@keyframes ihs-bokeh{from{transform:translate(0,0);opacity:.35}to{transform:translate(26px,-30px);opacity:.7}}
@keyframes ihs-comet{0%{transform:translateX(-200px);opacity:0}3%{opacity:1}14%{opacity:1}17%{transform:translateX(min(110vw,1400px));opacity:0}100%{transform:translateX(min(110vw,1400px));opacity:0}}
@keyframes ihs-burst{0%{transform:scale(.55);opacity:.95}100%{transform:scale(1.35);opacity:0}}
@media (max-width:640px){
  .ihs.ihs--v1.ihs-arc .ihs-top .ihs-fx-bokeh i{--s:60px}
  .ihs.ihs--v1.ihs-arc .ihs-top .ihs-fx-bokeh i:nth-child(1){--s:90px;top:44%}
  .ihs.ihs--v1.ihs-arc .ihs-top .ihs-fx-comet i{width:110px;top:6%}
}
/* Weak devices: everything stands still and the comet is not drawn. */
.ihs.ihs--v1.ihs-lite.ihs-arc .ihs-top .ihs-fx-bokeh i,.ihs.ihs--v1.ihs-lite.ihs-arc .ihs-top .ihs-ph::before{animation:none}
.ihs.ihs--v1.ihs-lite.ihs-arc .ihs-top .ihs-fx-comet{display:none}

/* 1.8.25 */
/* Flowing light (computer only, added by the script). It replaces the two colour spots and the floor light. */
.ihs.ihs--v1.ihs-arc .ihs-top .ihs-flow{position:absolute;inset:0;z-index:0;width:100%;height:100%;pointer-events:none;opacity:0;transition:opacity 1.2s ease}
.ihs.ihs--v1.ihs-arc .ihs-top .ihs-flow.is-on{opacity:1}
.ihs.ihs--v1.ihs-arc.ihs-gl .ihs-top .ihs-fx-leak{background:none}
.ihs.ihs--v1.ihs-arc.ihs-gl.ihs-light-wave .ihs-top .ihs-ph::after{display:none!important}

/* 1.8.26: no comet and no bokeh circles, only the stars; the light gathers in the centre, behind the product. */
.ihs.ihs--v1.ihs-arc .ihs-top :is(.ihs-fx-comet,.ihs-fx-bokeh){display:none}
@media (max-width:640px){
  .ihs.ihs--v1.ihs-arc .ihs-top .ihs-fx-leak{background:
    radial-gradient(48% 17% at 50% 53%,rgba(255,60,160,.42),rgba(255,60,160,.14) 55%,rgba(255,60,160,0) 100%),
    radial-gradient(75% 26% at 50% 54%,rgba(255,150,0,.2),rgba(255,150,0,0) 100%),
    radial-gradient(30% 10% at 50% 50%,rgba(150,70,255,.3),rgba(150,70,255,0) 100%)}
}
/* 1.8.27: "Купити" gets a neon frame: pink, amber and violet light runs round the white button; on hover it fills with yellow.
   Only the frame turns (a transform), so it costs almost nothing. The yellow button on the left stays plain. */
.ihs.ihs--v1.ihs-arc .ihs-top .ihs-deal .ihs-go{position:relative;overflow:hidden;isolation:isolate;background:transparent;box-shadow:0 0 18px rgba(255,80,170,.35),0 0 34px rgba(255,160,40,.18)}
.ihs.ihs--v1.ihs-arc .ihs-top .ihs-deal .ihs-go::before{content:"";position:absolute;left:50%;top:50%;z-index:-2;width:150%;aspect-ratio:1;translate:-50% -50%;
  background:conic-gradient(#ff3fa4,#fec00f 25%,#8f5cff 50%,#ff3fa4 75%,#fec00f)}
.ihs.ihs--v1.ihs-arc .ihs-top .ihs-deal .ihs-go::after{content:"";position:absolute;inset:2px;z-index:-1;border-radius:6px;background:#fff;transition:background-color .25s ease}
.ihs.ihs--v1.ihs-arc .ihs-top .ihs-deal:hover .ihs-go::after{background:#fec00f}
@media (prefers-reduced-motion:no-preference){
  .ihs.ihs--v1.ihs-arc .ihs-top .ihs-deal .ihs-go::before{animation:ihs-ring 3.2s linear infinite}
  .ihs--v1 .ihs-top.is-off .ihs-go::before{animation-play-state:paused}
}
@keyframes ihs-ring{to{rotate:360deg}}
.ihs.ihs--v1.ihs-lite.ihs-arc .ihs-top .ihs-deal .ihs-go::before{animation:none}