:root{--ripDur:.45s;--ripDark:.08;--ripSpot:.22}

/* CIEĽOVÉ TLAČIDLÁ (vrátane newsletteru kvôli layout veciam) */
:is(
  .btn.btn-cart.add-to-cart-button,
  .btn.btn-conversion.add-to-cart-button,
  .btn.btn-cart,
  .btn.btn-conversion,
  a.btn.btn-cart,
  a.btn.btn-conversion,
  .p-tools .btn.btn-primary,
  .products-block>div .p .p-bottom>div .p-tools .btn,
  .newsletter-right .footer-button-newsletter
){
  position:relative; overflow:hidden; isolation:isolate;
}

/* RIPPLE VO VÄČŠINE PRÍPADOV (bez newsletter inputu) */
:is(
  .btn.btn-cart.add-to-cart-button,
  .btn.btn-conversion.add-to-cart-button,
  .btn.btn-cart,
  .btn.btn-conversion,
  a.btn.btn-cart,
  a.btn.btn-conversion,
  .p-tools .btn.btn-primary,
  .products-block>div .p .p-bottom>div .p-tools .btn
)::before{
  content:""; position:absolute; inset:0; pointer-events:none;
  background:rgba(0,0,0,var(--ripDark)); opacity:0;
  transition:opacity var(--ripDur);
}

:is(
  .btn.btn-cart.add-to-cart-button,
  .btn.btn-conversion.add-to-cart-button,
  .btn.btn-cart,
  .btn.btn-conversion,
  a.btn.btn-cart,
  a.btn.btn-conversion,
  .p-tools .btn.btn-primary,
  .products-block>div .p .p-bottom>div .p-tools .btn
)::after{
  content:""; position:absolute; left:50%; top:50%; width:16px; height:16px; pointer-events:none;
  transform:translate(-50%,-50%) scale(0);
  background:radial-gradient(circle,rgba(0,0,0,var(--ripSpot)) 0 45%,transparent 70%);
  transition:transform var(--ripDur),opacity var(--ripDur);
}

/* HOVER/FOCUS PRE TLAČIDLÁ S PSEUDO-ELEMENTMI */
:is(
  .btn.btn-cart.add-to-cart-button,
  .btn.btn-conversion.add-to-cart-button,
  .btn.btn-cart,
  .btn.btn-conversion,
  a.btn.btn-cart,
  a.btn.btn-conversion,
  .p-tools .btn.btn-primary,
  .products-block>div .p .p-bottom>div .p-tools .btn
):is(:hover,:focus-visible)::before{opacity:1}

:is(
  .btn.btn-cart.add-to-cart-button,
  .btn.btn-conversion.add-to-cart-button,
  .btn.btn-cart,
  .btn.btn-conversion,
  a.btn.btn-cart,
  a.btn.btn-conversion,
  .p-tools .btn.btn-primary,
  .products-block>div .p .p-bottom>div .p-tools .btn
):is(:hover,:focus-visible)::after{
  transform:translate(-50%,-50%) scale(40); opacity:0;
}

/* ŠPECIÁL: NEWSLETTER TLAČIDLO (často <input type="submit">) */
.newsletter-right .footer-button-newsletter{
  appearance:none;
  display:inline-flex; align-items:center; justify-content:center;
  box-sizing:border-box;
  padding:.75em 1.25em;
  min-height:40px; line-height:1.2; font-size:inherit; white-space:nowrap;
  border-radius:var(--btn-radius,8px);
  background-color:var(--color-secondary);
  color:#fff;

  /* ripple cez background (bez ::before/::after) */
  background-image:radial-gradient(circle at center,
                   rgba(0,0,0,var(--ripSpot)) 0 45%, transparent 70%);
  background-repeat:no-repeat; background-position:center; background-size:0 0;
  transition:background-size var(--ripDur) ease-out, filter var(--ripDur) ease-out;
}

.newsletter-right .footer-button-newsletter:is(:hover,:focus-visible){
  background-size:220% 220%;
  filter:brightness(.92); /* jemné stmavenie bez zaliatia textu */
}

.newsletter-right .footer-button-newsletter:focus-visible{
  outline:2px solid currentColor; outline-offset:2px;
}

/* Prístupnosť: menej animácií */
@media (prefers-reduced-motion: reduce){
  :is(
    .btn.btn-cart.add-to-cart-button,
    .btn.btn-conversion.add-to-cart-button,
    .btn.btn-cart,
    .btn.btn-conversion,
    a.btn.btn-cart,
    a.btn.btn-conversion,
    .p-tools .btn.btn-primary,
    .products-block>div .p .p-bottom>div .p-tools .btn
  )::after{transition:none}
  .newsletter-right .footer-button-newsletter{transition:none}
}

