/* Przycisk „Do góry" (scroll-to-top) — 1:1 z projektem „Sklep - Strona Glowna".
   Pływający magentowy przycisk, pojawia się po przewinięciu > 400px. Nadpisuje scroll-to-top Astry w sklepie. */
.fc-totop{position:fixed;bottom:22px;right:22px;z-index:60;width:50px;height:50px;padding:0;border:none;border-radius:50%;background:var(--fc-magenta,#e5117c);color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:0 8px 24px rgba(229,17,124,.42);opacity:0;transform:translateY(12px) scale(.9);pointer-events:none;transition:opacity .2s,transform .2s,background .13s}
.fc-totop svg{display:block;color:#fff}
.fc-totop.is-show{opacity:1;transform:none;pointer-events:auto}
/* Astra wstrzykuje tło/kolor na button:hover/:focus/:active (niebieski motywu) —
   wymuszamy magentę marki we WSZYSTKICH stanach. */
.fc-totop,
.fc-shop .fc-totop{background:var(--fc-magenta,#e5117c)!important;color:#fff!important}
.fc-totop:hover,
.fc-totop:focus,
.fc-totop:focus-visible,
.fc-totop:active,
.fc-shop .fc-totop:hover,
.fc-shop .fc-totop:focus,
.fc-shop .fc-totop:active{background:#c60f6c!important;color:#fff!important;outline:none;box-shadow:0 8px 24px rgba(229,17,124,.5)}

/* Nadpisz/ukryj scroll-to-top motywu Astra w obrębie sklepu — zostaje nasz. */
.fc-shop #ast-scroll-top,
.fc-shop .ast-scroll-to-top-wrapper{display:none!important}

/* Na mobile koszyk i checkout mają własny przypięty dolny pasek (dock/mobibar) —
   totop by go zasłaniał (CTA „Do kasy"/„Zamawiam i płacę"). Chowamy go tam. */
@media (max-width:960px){
  body.woocommerce-cart .fc-totop,
  body.woocommerce-checkout .fc-totop{display:none!important}
}

/* Spójne odstępy po bokach we WSZYSTKICH widokach sklepu (home/kategoria/koszyk/checkout/karta).
   Astra `.ast-container` dokłada 20px z każdej strony — zerujemy, żeby gutter wyznaczał
   nasz własny wrapper widoku (.fc-wrap 16px / .fc-root 14px), a nie podwójny margines. */
body.fc-shop .ast-container{padding-left:0;padding-right:0}

/* Zero horyzontalnego przewijania w sklepie. Sekcje full-bleed (`.fc-section--soft`,
   margin:0 calc(50% - 50vw)) liczą 50vw od szerokości OKNA (ze scrollbarem) → wychodzą
   ~8–17px poza viewport i tworzą poziomy scroll, przez który prześwituje białe tło strony
   (widoczne jako „biały pasek" przy krawędzi/stopce, na desktopie i mobile).
   Clip na kontenerze treści (`.fc-root` = pełna szerokość viewportu) ucina TYLKO ten błędny
   nadmiar — full-bleed nadal sięga krawędzi ekranu. Celowo NIE na html/body:
   `overflow-x` na html rozbija `position:sticky` nagłówka, a na body propaguje na viewport
   (ten sam efekt). `clip` nie tworzy kontenera przewijania, więc oś Y zostaje `visible`. */
body.fc-shop .fc-root{overflow-x:clip}

/* Full-bleed sekcji `.fc-section--soft` na STRONIE GŁÓWNEJ (szare pasy KATEGORIE / METODY).
   Appearance CSS (Settings::appearance_css) klampuje `.fc-root` oraz `.ast-container:has(.fc-root)`
   do szerokości kontenera (`--fc-container`, np. 1440). Razem z `overflow-x:clip` powyżej znaczyło to,
   że na ekranach szerszych niż kontener tło sekcji zatrzymywało się na ~1440px zamiast dochodzić do
   krawędzi ekranu. Na HOME zdejmujemy tę klamrę — treść i tak centruje `.fc-wrap` (max `--fc-container`),
   więc `margin:0 calc(50% - 50vw)` maluje tło od krawędzi do krawędzi (clip tnie tylko nadmiar scrollbara).
   `.ast-container` = flex → `.fc-root` potrzebuje `width:100%`, samo `max-width` nie rozciąga elementu flex. */
body.fc-shop .ast-container:has(.fc-root.fc-home){max-width:none!important}
body.fc-shop .fc-root.fc-home{max-width:none!important;width:100%}
