/* Blok „Szybkie przyciski”: okrągłe przyciski przy krawędzi ekranu i wysuwane panele.
   Kolory z motywu, gdy je ma (zmienne), inaczej neutralne. */
/* --ps-panel-w: szerokość wysuwanych paneli – zawsze zostaje pas na przyciski, żeby można było przełączyć panel */
.ps-fab-wrap { --ps-fab-size: 46px; --ps-panel-w: min(380px, calc(100vw - 72px)); }
.ps-fab { position: fixed; z-index: 100000; transition: right .2s ease-out, left .2s ease-out; display: flex; flex-direction: column; gap: 10px; right: 14px; top: 50%; transform: translateY(-50%); }
.ps-fab-wrap[data-side="left"] .ps-fab { right: auto; left: 14px; }
.ps-fab-wrap[data-pos="bottom"] .ps-fab { top: auto; bottom: 20px; transform: none; }
.ps-fab-wrap[data-show="mobile"] .ps-fab { display: none; }
@media (max-width: 782px) {
	.ps-fab-wrap[data-show="mobile"] .ps-fab { display: flex; }
	.ps-fab-wrap[data-show="desktop"] .ps-fab { display: none; }
}

.ps-fab__btn,
.ps-fab__cart .wc-block-mini-cart__button { position: relative; display: inline-flex; align-items: center; justify-content: center; width: var(--ps-fab-size); height: var(--ps-fab-size); padding: 0; margin: 0; border: 1px solid var(--color-border, #e8e2da); border-radius: 50%; background: #fff; color: var(--color-text, #111114); box-shadow: 0 4px 14px rgba(0, 0, 0, .10); cursor: pointer; transition: background .15s, color .15s, transform .15s; }
.ps-fab__btn[hidden] { display: none; }
.ps-fab__btn:hover,
.ps-fab__btn[aria-expanded="true"],
.ps-fab__cart .wc-block-mini-cart__button:hover { background: var(--color-text, #111114); color: #fff; }
.ps-fab__btn:focus-visible,
.ps-fab__cart .wc-block-mini-cart__button:focus-visible { outline: 2px solid var(--color-coral, #c0532b); outline-offset: 2px; }
.ps-fab__cart { line-height: 0; }
.ps-fab__cart .wc-block-mini-cart { margin: 0; }
.ps-fab__cart .wc-block-mini-cart__button .wc-block-mini-cart__amount { display: none; }
.ps-fab__cart .wc-block-mini-cart__quantity-badge { display: inline-flex; align-items: center; justify-content: center; }
.ps-fab__cart .wc-block-mini-cart__icon { width: 22px; height: 22px; }
.ps-fab__cart .wc-block-mini-cart__badge { position: absolute; top: -4px; right: -4px; min-width: 18px; height: 18px; padding: 0 4px; border-radius: 9px; background: var(--color-coral, #c0532b); color: #fff; border: 0; font-size: 11px; font-weight: 700; line-height: 18px; }

/* panele */
.ps-panel-tlo { position: fixed; inset: 0; z-index: 99991; background: rgba(17, 17, 20, .35); }
.ps-panel-tlo[hidden] { display: none; }
.ps-panel { position: fixed; z-index: 99992; top: 0; bottom: 0; right: 0; width: var(--ps-panel-w); background: #fff; box-shadow: -10px 0 30px rgba(0, 0, 0, .12); display: flex; flex-direction: column; animation: ps-panel-in .2s ease-out; }
.ps-fab-wrap[data-side="left"] .ps-panel { right: auto; left: 0; box-shadow: 10px 0 30px rgba(0, 0, 0, .12); animation-name: ps-panel-in-left; }
.ps-panel[hidden] { display: none; }
@keyframes ps-panel-in { from { transform: translateX(100%); } to { transform: none; } }
@keyframes ps-panel-in-left { from { transform: translateX(-100%); } to { transform: none; } }
.ps-panel__head { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 18px 20px; border-bottom: 1px solid var(--color-border, #e8e2da); }
.ps-panel__title { font-family: var(--font-heading, inherit); font-size: 16px; font-weight: 700; }
.ps-panel__close { display: inline-flex; padding: 6px; margin: -6px; border: 0; background: none; color: inherit; cursor: pointer; }
.ps-panel__body { flex: 1 1 auto; overflow-y: auto; padding: 16px 20px 24px; }
.ps-panel__menu { list-style: none; margin: 0; padding: 0; }
.ps-panel__menu li { border-bottom: 1px solid var(--color-border, #e8e2da); }
.ps-panel__menu a { display: block; padding: 14px 2px; font-size: 16px; font-weight: 600; color: var(--color-text, #111114); text-decoration: none; }
.ps-panel__menu a:hover,
.ps-panel__menu a[aria-current] { color: var(--color-coral, #c0532b); }
.ps-panel__search { margin: 0; }
.ps-panel__search .wp-block-search__inside-wrapper { border: 1px solid var(--color-border, #e8e2da); border-radius: 24px; padding: 4px 4px 4px 14px; background: #fff; }
.ps-panel__search .wp-block-search__input { border: 0; font-size: 16px; padding: 8px 0; background: none; }
.ps-panel__search .wp-block-search__button { border: 0; background: none; color: var(--color-coral, #c0532b); padding: 6px 10px; }
body.ps-panel-otwarty { overflow: hidden; }

/* otwarty panel: przyciski stoją obok jego krawędzi (dalej widoczne i klikalne) */
body.ps-panel-otwarty .ps-fab-wrap[data-side="right"] .ps-fab { right: calc(var(--ps-panel-w) + 12px); }
body.ps-panel-otwarty .ps-fab-wrap[data-side="left"] .ps-fab { left: calc(var(--ps-panel-w) + 12px); }
/* koszyk WooCommerce (wysuwa się z prawej) i panel filtrów na telefonie: węższe, żeby przyciski zostały widoczne */
body:has(.ps-fab-wrap) .wc-block-components-drawer { max-width: calc(100vw - 72px); }
body:has(.wc-block-components-drawer__screen-overlay:not(.wc-block-components-drawer__screen-overlay--is-hidden)) .ps-fab-wrap[data-side="right"] .ps-fab { right: calc(min(480px, 100vw - 72px) + 12px); }
body:has(.ps-fab-wrap) .wc-block-product-filters.is-overlay-opened .wc-block-product-filters__overlay-dialog { max-width: calc(100vw - 72px); }

/* podgląd w edytorze: przyciski w rzędzie, nie przy krawędzi ekranu */
.ps-fab-podglad { display: flex; align-items: center; gap: 10px; padding: 10px 12px; border: 1px dashed var(--color-border, #e8e2da); border-radius: 10px; font-size: 12px; color: #6b6560; }
.ps-fab-podglad .ps-fab__btn { width: 38px; height: 38px; box-shadow: none; }
