/* =========================================================================
   PAN PODŁOGA — DESIGN SYSTEM V5 TOKENS
   Eco-Luxury Technical (Emerald & Slate)
   ========================================================================= */

:root {
    /* --- COLORS (Emerald & Slate) --- */
    --color-bg-main: #ffffff;
    --color-bg-alt: #f8fafc;
    --color-dark: #0f172a;
    /* Slate-900 */
    --color-dark-muted: #1e293b;
    /* Slate-800 */

    --color-accent: #10b981;
    /* Emerald-500 (Pulse/Glow) */
    --color-primary: #059669;
    /* Emerald-600 (Main CTA) */
    --color-primary-hover: #047857;
    /* Emerald-700 */
    --color-primary-light: #ecfdf5;
    /* Emerald-50 */

    --color-text-body: #64748b;
    /* Slate-500 */
    --color-text-muted: #94a3b8;
    /* Slate-400 */
    --color-border: #e2e8f0;
    /* Slate-200 */
    --color-border-dark: #cbd5e1;
    /* Slate-300 */

    /* --- TYPOGRAPHY (The Power Duo) --- */
    --font-heading: 'Manrope', sans-serif;
    --font-body: 'Inter', sans-serif;

    --ls-tight: -0.01em;
    /* Tight letter-spacing for headings */
    --ls-wide: 0.05em;
    /* Wide for micro-copy */

    /* --- GEOMETRY & DEPTH --- */
    --radius-precision: 12px;
    /* Small Buttons, Inputs, Inner items */
    --radius-luxury: 24px;
    /* Cards, Large Sections, Modals */
    --radius-pill: 9999px;
    /* Pills */

    --shadow-soft: 0 10px 40px rgba(0, 0, 0, 0.04);
    --shadow-luxury: 0 20px 40px -12px rgba(15, 23, 42, 0.1);
    --shadow-hover: 0 25px 50px -12px rgba(15, 23, 42, 0.15);

    /* --- TRANSITIONS --- */
    --transition-smooth: all 0.5s cubic-bezier(0.4, 0, 0.2, 1);
    --transition-fast: all 0.2s ease-in-out;
    --transition-spring: all 0.5s cubic-bezier(0.175, 0.885, 0.32, 1.275);
}﻿/*
Theme Name: Pan PodĹ‚oga Theme
Template: flatsome
Description: Dedykowany motyw Child dla Flatsome odwzorowujÄ…cy projekt React (Tailwind).
Version: 1.2.0
Author: Nexus-7
*/

@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=Manrope:wght@600;700;800;900&family=Playfair+Display:ital,wght@1,600;1,700&display=swap');

:root {
    /* --- Legacy Variable Fallbacks (Mapping to New System) --- */
    --pp-primary: var(--color-primary);
    --pp-primary-hover: var(--color-primary-hover);
    --pp-primary-active: #047857;
    /* Emerald-700 */
    --pp-primary-light: var(--color-primary-light);

    --pp-action: var(--color-primary);
    --pp-action-hover: var(--color-primary-hover);

    --pp-secondary: var(--color-text-body);
    --pp-accent: var(--color-dark);

    --pp-neutral-light: var(--color-bg-alt);
    --pp-border: var(--color-border);

    /* --- Legacy Geometry Mapping --- */
    --radius-lg: var(--radius-precision);
    --radius-xl: 16px;
    --radius-2xl: var(--radius-luxury);

    /* Mapping specific names used in some files */
    --radius-card: var(--radius-luxury);
}

body,
#main,
#wrapper {
    font-family: var(--font-body);
    color: var(--color-dark);
    background-color: #f8fafc;
    line-height: 1.6;
}

h1,
h2,
h3,
h4,
h5,
h6 {
    font-family: var(--font-heading);
    font-weight: 800;
    /* Precision matching Manrope ExtraBold */
    letter-spacing: var(--ls-tight);
    color: var(--color-dark);
}


/* --- Layout --- */
.flex {
    display: flex;
}

.inline-flex {
    display: inline-flex;
}

.grid {
    display: grid;
}

.hidden {
    display: none;
}

.block {
    display: block;
}

.inline-block {
    display: inline-block;
}

.flex-col {
    flex-direction: column;
}

.flex-row {
    flex-direction: row;
}

.flex-wrap {
    flex-wrap: wrap;
}

.flex-nowrap {
    flex-wrap: nowrap;
}

.items-center {
    align-items: center;
}

.items-end {
    align-items: flex-end;
}

.items-start {
    align-items: flex-start;
}

.items-baseline {
    align-items: baseline;
}

.justify-between {
    justify-content: space-between;
}

.justify-center {
    justify-content: center;
}

.justify-end {
    justify-content: flex-end;
}

.justify-start {
    justify-content: flex-start;
}

.flex-1 {
    flex: 1 1 0%;
}

.flex-shrink-0 {
    flex-shrink: 0;
}

.flex-grow {
    flex-grow: 1;
}

.relative {
    position: relative;
}

.absolute {
    position: absolute;
}

.fixed {
    position: fixed;
}

.inset-0 {
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
}

.z-10 {
    z-index: 10;
}

.z-20 {
    z-index: 20;
}

.z-50 {
    z-index: 50;
}

.overflow-hidden {
    overflow: hidden;
}

.overflow-x-auto {
    overflow-x: auto;
}

.overflow-y-auto {
    overflow-y: auto;
}

/* --- Spacing --- */
.p-0 {
    padding: 0;
}

.p-2 {
    padding: 0.5rem;
}

.p-4 {
    padding: 1rem;
}

.p-5 {
    padding: 1.25rem;
}

.p-6 {
    padding: 1.5rem;
}

.px-2 {
    padding-left: 0.5rem;
    padding-right: 0.5rem;
}

.px-4 {
    padding-left: 1rem;
    padding-right: 1rem;
}

.px-6 {
    padding-left: 1.5rem;
    padding-right: 1.5rem;
}

.px-8 {
    padding-left: 2rem;
    padding-right: 2rem;
}

.py-1 {
    padding-top: 0.25rem;
    padding-bottom: 0.25rem;
}

.py-2 {
    padding-top: 0.5rem;
    padding-bottom: 0.5rem;
}

.py-3 {
    padding-top: 0.75rem;
    padding-bottom: 0.75rem;
}

.py-4 {
    padding-top: 1rem;
    padding-bottom: 1rem;
}

.py-20 {
    padding-top: 5rem;
    padding-bottom: 5rem;
}

.pt-3 {
    padding-top: 0.75rem;
}

.pt-4 {
    padding-top: 1rem;
}

.pt-8 {
    padding-top: 2rem;
}

.pb-5 {
    padding-bottom: 1.25rem;
}

.pb-12 {
    padding-bottom: 3rem;
}

.pl-4 {
    padding-left: 1rem;
}

.pr-4 {
    padding-right: 1rem;
}

.m-0 {
    margin: 0;
}

.mt-1 {
    margin-top: 0.25rem;
}

.mt-2 {
    margin-top: 0.5rem;
}

.mt-3 {
    margin-top: 0.75rem;
}

.mt-4 {
    margin-top: 1rem;
}

.mt-6 {
    margin-top: 1.5rem;
}

.mt-12 {
    margin-top: 3rem;
}

.mb-0\.5 {
    margin-bottom: 0.125rem;
}

.mb-1 {
    margin-bottom: 0.25rem;
}

.mb-2 {
    margin-bottom: 0.5rem;
}

.mb-3 {
    margin-bottom: 0.75rem;
}

.mb-4 {
    margin-bottom: 1rem;
}

.mb-10 {
    margin-bottom: 2.5rem;
}

.ml-auto {
    margin-left: auto;
}

.mr-2 {
    margin-right: 0.5rem;
}

.ml-1 {
    margin-left: 0.25rem;
}

.ml-3 {
    margin-left: 0.75rem;
}

.-mx-2 {
    margin-left: -0.5rem;
    margin-right: -0.5rem;
}

.-mx-5 {
    margin-left: -1.25rem;
    margin-right: -1.25rem;
}

.-mb-5 {
    margin-bottom: -1.25rem;
}

.-bottom-6 {
    bottom: -1.5rem;
}

.-left-6 {
    left: -1.5rem;
}

.gap-1 {
    gap: 0.25rem;
}

.gap-1\.5 {
    gap: 0.375rem;
}

.gap-2 {
    gap: 0.5rem;
}

.gap-4 {
    gap: 1rem;
}

.gap-6 {
    gap: 1.5rem;
}

.gap-8 {
    gap: 2rem;
}

.gap-12 {
    gap: 3rem;
}

.gap-x-12 {
    column-gap: 3rem;
}

.gap-y-0 {
    row-gap: 0;
}

.space-y-1> :not([hidden])~ :not([hidden]) {
    --tw-space-y-reverse: 0;
    margin-top: calc(0.25rem * calc(1 - var(--tw-space-y-reverse)));
    margin-bottom: calc(0.25rem * var(--tw-space-y-reverse));
}

/* --- Sizing --- */
.w-full {
    width: 100%;
}

.h-full {
    height: 100%;
}

.w-screen {
    width: 100vw;
}

.h-screen {
    height: 100vh;
}

.w-auto {
    width: auto;
}

.w-3 {
    width: 0.75rem;
}

.h-3 {
    height: 0.75rem;
}

.w-3\.5 {
    width: 0.875rem;
}

.h-3\.5 {
    height: 0.875rem;
}

.w-4 {
    width: 1rem;
}

.h-4 {
    height: 1rem;
}

.w-5 {
    width: 1.25rem;
}

.h-5 {
    height: 1.25rem;
}

.w-6 {
    width: 1.5rem;
}

.h-6 {
    height: 1.5rem;
}

.w-12 {
    width: 3rem;
}

.h-12 {
    height: 3rem;
}

.w-16 {
    width: 4rem;
}

.h-16 {
    height: 4rem;
}

.min-w-\[300px\] {
    min-width: 300px;
}

.min-h-\[500px\] {
    min-height: 500px;
}

.aspect-square {
    aspect-ratio: 1 / 1;
}

.aspect-\[4\/5\] {
    aspect-ratio: 4 / 5;
}

.object-cover {
    object-fit: cover;
}

.object-contain {
    object-fit: contain;
}

/* --- Typography --- */
.text-xs {
    font-size: 0.75rem;
    line-height: 1rem;
}

.text-sm {
    font-size: 0.875rem;
    line-height: 1.25rem;
}

.text-base {
    font-size: 1rem;
    line-height: 1.5rem;
}

.text-lg {
    font-size: 1.125rem;
    line-height: 1.75rem;
}

.text-xl {
    font-size: 1.25rem;
    line-height: 1.75rem;
}

.text-2xl {
    font-size: 1.5rem;
    line-height: 2rem;
}

.text-3xl {
    font-size: 1.875rem;
    line-height: 2.25rem;
}

.text-4xl {
    font-size: 2.25rem;
    line-height: 2.5rem;
}

.text-\[9px\] {
    font-size: 9px;
}

.text-\[10px\] {
    font-size: 10px;
}

.text-\[11px\] {
    font-size: 11px;
}

.font-normal {
    font-weight: 400;
}

.font-medium {
    font-weight: 500;
}

.font-semibold {
    font-weight: 600;
}

.font-bold {
    font-weight: 700;
}

.font-black {
    font-weight: 900;
}

.font-heading {
    font-family: var(--font-heading, "Manrope", sans-serif);
}

.uppercase {
    text-transform: uppercase;
}

.tracking-wide {
    letter-spacing: 0.025em;
}

.tracking-widest {
    letter-spacing: 0.1em;
}

.leading-none {
    line-height: 1;
}

.leading-tight {
    line-height: 1.25;
}

.leading-snug {
    line-height: 1.375;
}

.leading-relaxed {
    line-height: 1.625;
}

.text-center {
    text-align: center;
}

.text-right {
    text-align: right;
}

.text-left {
    text-align: left;
}

.text-white {
    color: #ffffff;
}

.text-black {
    color: #000000;
}

.text-gray-400 {
    color: #9ca3af;
}

.text-gray-500 {
    color: #6b7280;
}

.text-gray-600 {
    color: #4b5563;
}

.text-gray-700 {
    color: #374151;
}

.text-green-500 {
    color: #22c55e;
}

.text-green-700 {
    color: #15803d;
}

.text-red-300 {
    color: #fca5a5;
}

.text-primary {
    color: var(--pp-primary);
}

.text-accent {
    color: var(--pp-accent);
}

.text-secondary {
    color: var(--pp-secondary);
}

.decoration-red-300 {
    text-decoration-color: #fca5a5;
}

.line-through {
    text-decoration: line-through;
}

.no-underline {
    text-decoration: none;
}

.truncate {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.whitespace-nowrap {
    white-space: nowrap;
}

.line-clamp-2 {
    overflow: hidden;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
}

/* --- Backgrounds & Borders --- */
.bg-white {
    background-color: #ffffff;
}

.bg-black {
    background-color: #000000;
}

.bg-transparent {
    background-color: transparent;
}

.bg-gray-50 {
    background-color: #f9fafb;
}

.bg-gray-100 {
    background-color: #f3f4f6;
}

.bg-neutral-100 {
    background-color: #f5f5f5;
}

.bg-neutral-light {
    background-color: var(--pp-neutral-light);
}

.bg-primary {
    background-color: var(--pp-primary);
}

.bg-accent {
    background-color: var(--pp-accent);
}

.bg-secondary {
    background-color: var(--pp-secondary);
}

.bg-cyan-600 {
    background-color: #0891b2;
}

.bg-red-600 {
    background-color: #dc2626;
}

.bg-neutral-800 {
    background-color: #262626;
}

.bg-green-500 {
    background-color: #22c55e;
}

.bg-green-50 {
    background-color: #f0fdf4;
}

.bg-white\/50 {
    background-color: rgba(255, 255, 255, 0.5);
}

.bg-black\/80 {
    background-color: rgba(0, 0, 0, 0.8);
}

.bg-gradient-to-r {
    background-image: linear-gradient(to right, var(--tw-gradient-stops));
}

.bg-gradient-to-t {
    background-image: linear-gradient(to top, var(--tw-gradient-stops));
}

.from-accent {
    --tw-gradient-from: var(--pp-accent);
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 255, 255, 0));
}

.to-\[\#2D2D2D\] {
    --tw-gradient-to: #2D2D2D;
}

.from-black\/80 {
    --tw-gradient-from: rgba(0, 0, 0, 0.8);
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(0, 0, 0, 0));
}

.via-transparent {
    --tw-gradient-stops: var(--tw-gradient-from), transparent, var(--tw-gradient-to, rgba(0, 0, 0, 0));
}

.to-transparent {
    --tw-gradient-to: transparent;
}

.border {
    border-width: 1px;
}

.align-middle {
    vertical-align: middle;
}

.border-2 {
    border-width: 2px;
}

.border-t {
    border-top-width: 1px;
}

.border-b {
    border-bottom-width: 1px;
}

.border-r {
    border-right-width: 1px;
}

.border-transparent {
    border-color: transparent;
}

.border-gray-50 {
    border-color: #f9fafb;
}

.border-gray-100 {
    border-color: #f3f4f6;
}

.border-gray-200 {
    border-color: #e5e7eb;
}

.border-gray-300 {
    border-color: #d1d5db;
}

.border-white {
    border-color: #ffffff;
}

.border-primary {
    border-color: var(--pp-primary);
}

.rounded-sm {
    border-radius: 0.125rem;
}

.rounded-md {
    border-radius: 0.375rem;
}

.rounded-lg {
    border-radius: 0.5rem;
}

.rounded-xl {
    border-radius: 0.75rem;
}

.rounded-2xl {
    border-radius: 1rem;
}

.rounded-full {
    border-radius: 9999px;
}

.shadow-sm {
    box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.05);
}

.shadow-md {
    box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06);
}

.shadow-lg {
    box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05);
}

/* --- Effects & Animation --- */
.opacity-0 {
    opacity: 0;
}

.opacity-60 {
    opacity: 0.6;
}

.opacity-75 {
    opacity: 0.75;
}

.opacity-100 {
    opacity: 1;
}

.grayscale {
    filter: grayscale(100%);
}

.transition-all {
    transition-property: all;
    transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    transition-duration: 150ms;
}

.transition-colors {
    transition-property: color, background-color, border-color, text-decoration-color, fill, stroke;
    transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    transition-duration: 150ms;
}

.transition-transform {
    transition-property: transform;
    transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    transition-duration: 150ms;
}

.transition-opacity {
    transition-property: opacity;
    transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    transition-duration: 150ms;
}

.duration-200 {
    transition-duration: 200ms;
}

.duration-300 {
    transition-duration: 300ms;
}

.duration-500 {
    transition-duration: 500ms;
}

.duration-700 {
    transition-duration: 700ms;
}

.cursor-pointer {
    cursor: pointer;
}

.pointer-events-none {
    pointer-events: none;
}

/* --- Interactivity (Hover/Group) --- */
.hover\:border-primary:hover {
    border-color: var(--pp-primary);
}

.hover\:border-gray-100:hover {
    border-color: #f3f4f6;
}

.hover\:text-primary:hover {
    color: var(--pp-primary);
}

.hover\:text-accent:hover {
    color: var(--pp-accent);
}

.hover\:text-white:hover {
    color: #ffffff;
}

.hover\:bg-primary:hover {
    background-color: var(--pp-primary);
}

.hover\:bg-neutral-light:hover {
    background-color: var(--pp-neutral-light);
}

.hover\:grayscale-0:hover {
    filter: grayscale(0);
}

.hover\:scale-105:hover {
    transform: scale(1.05);
}

.hover\:scale-110:hover {
    transform: scale(1.1);
}

.hover\:shadow-\[0_20px_40px_-15px_rgba\(0\,0\,0\,0\.1\)\]:hover {
    box-shadow: 0 20px 40px -15px rgba(0, 0, 0, 0.1);
}

.group:hover .group-hover\:text-primary {
    color: var(--pp-primary);
}

.group:hover .group-hover\:text-gray-700 {
    color: #374151;
}

.group:hover .group-hover\:scale-110 {
    transform: scale(1.1);
}

.group:hover .group-hover\:opacity-100 {
    opacity: 1;
}

.focus-within\:border-primary:focus-within {
    border-color: var(--pp-primary);
}

/* --- Animations --- */
@keyframes spin {
    from {
        transform: rotate(0deg);
    }

    to {
        transform: rotate(360deg);
    }
}

@keyframes ping {

    75%,
    100% {
        transform: scale(2);
        opacity: 0;
    }
}

@keyframes pulse {
    50% {
        opacity: .5;
    }
}

.animate-spin {
    animation: spin 1s linear infinite;
}

.animate-ping {
    animation: ping 1s cubic-bezier(0, 0, 0.2, 1) infinite;
}

.animate-pulse {
    animation: pulse 2s cubic-bezier(0.4, 0, 0.6, 1) infinite;
}

/* --- Mobile Grid --- */
.grid-cols-2 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.grid-cols-5 {
    grid-template-columns: repeat(5, minmax(0, 1fr));
}

.col-span-4 {
    grid-column: span 4 / span 4;
}

.col-span-1 {
    grid-column: span 1 / span 1;
}

@media (min-width: 768px) {
    .md\:grid-cols-2 {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .md\:text-base {
        font-size: 1rem;
        line-height: 1.5rem;
    }

    .md\:text-4xl {
        font-size: 2.25rem;
        line-height: 2.5rem;
    }

    .md\:min-w-\[350px\] {
        min-width: 350px;
    }
}

/* --- Scroll Snap --- */
.snap-x {
    scroll-snap-type: x mandatory;
}

.snap-mandatory {
    scroll-snap-type: x mandatory;
}

.snap-center {
    scroll-snap-align: center;
}

.scroll-smooth {
    scroll-behavior: smooth;
}

.no-scrollbar::-webkit-scrollbar {
    display: none;
}

.no-scrollbar {
    -ms-overflow-style: none;
    scrollbar-width: none;
}

/* =========================================================================
   27. EMERGENCY FIXES & PREFLIGHT (Tailwind Reset)
   ========================================================================= */

/* Box Sizing & Border Defaults */
*,
::before,
::after {
    box-sizing: border-box;
    /* Critical for layout */
    border-width: 0;
    border-style: solid;
    /* Critical for border-* classes */
    border-color: #e5e7eb;
}

/* Image Defaults */
img,
video {
    max-width: 100%;
    height: auto;
    display: block;
}

/* Semantic Overrides (from content-product.php) */
.pp-card-shadow-hover:hover {
    box-shadow: 0 20px 40px -15px rgba(0, 0, 0, 0.1);
}

.pp-border-hover:hover {
    border-color: #f3f4f6;
}

.text-xs-tiny {
    font-size: 10px;
    line-height: 1.2;
}

.pp-aspect-square {
    aspect-ratio: 1 / 1;
}

/* Fix specific utility omissions */
.w-screen {
    width: 100vw;
}

.h-screen {
    height: 100vh;
}

.max-w-none {
    max-width: none;
}



/* ========= CART NOTIFICATION (from style.css) ========= */
/* =========================================
   CART NOTIFICATION SIDEBAR
   ========================================= */

.pp-cart-notify {
    position: fixed;
    top: 0;
    right: 0;
    width: 380px;
    max-width: 92vw;
    height: 100vh;
    background: #fff;
    z-index: 10001;
    transform: translateX(105%);
    transition: transform 0.4s cubic-bezier(0.16, 1, 0.3, 1);
    box-shadow: -10px 0 40px rgba(0, 0, 0, 0.12);
    display: flex;
    flex-direction: column;
    overflow: hidden;
}

.pp-cart-notify.visible {
    transform: translateX(0);
}

.pp-cart-notify-header {
    padding: 16px 20px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    border-bottom: 1px solid #f3f4f6;
    background: #f9fafb;
}

.pp-cart-notify-title {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 14px;
    font-weight: 700;
    color: #059669;
}

.pp-cart-notify-close {
    width: 32px;
    height: 32px;
    border-radius: 8px;
    background: transparent;
    border: none;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #9ca3af;
    transition: all 0.2s;
}

.pp-cart-notify-close:hover {
    background: #f3f4f6;
    color: #374151;
}

.pp-cart-notify-body {
    padding: 20px;
    flex: 1;
    overflow-y: auto;
}

.pp-cart-notify-product {
    display: flex;
    gap: 14px;
    padding: 16px;
    background: #f9fafb;
    border-radius: 12px;
    border: 1px solid #f3f4f6;
}

.pp-cart-notify-product img {
    width: 64px;
    height: 64px;
    border-radius: 8px;
    object-fit: cover;
    border: 1px solid #e5e7eb;
}

.pp-cart-notify-product-info {
    flex: 1;
    min-width: 0;
}

.pp-cart-notify-product-name {
    font-size: 13px;
    font-weight: 700;
    color: var(--pp-accent);
    line-height: 1.3;
    margin-bottom: 4px;
}

.pp-cart-notify-product-meta {
    font-size: 12px;
    color: #6b7280;
}

.pp-cart-notify-product-price {
    font-family: var(--font-heading);
    font-size: 16px;
    font-weight: 800;
    color: var(--pp-accent);
    margin-top: 6px;
}

.pp-cart-notify-footer {
    padding: 16px 20px;
    border-top: 1px solid #f3f4f6;
    display: flex;
    flex-direction: column;
    gap: 8px;
    background: #fff;
}

.pp-cart-notify-btn {
    height: 46px;
    border-radius: 12px;
    font-size: 14px;
    font-weight: 700;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    border: none;
    cursor: pointer;
    text-decoration: none;
    transition: all 0.2s;
    text-align: center;
}

.pp-cart-notify-btn.primary {
    background: #059669 !important;
    color: #fff !important;
    box-shadow: 0 4px 12px rgba(5, 150, 105, 0.3);
}

.pp-cart-notify-btn.primary:hover {
    background: #047857 !important;
    transform: translateY(-1px);
}

.pp-cart-notify-btn.secondary {
    background: #f3f4f6;
    color: #374151;
    border: 1px solid #e5e7eb;
}

.pp-cart-notify-btn.secondary:hover {
    background: #e5e7eb;
}

/* Progress bar for auto-dismiss */
.pp-cart-notify-progress {
    height: 3px;
    background: #f3f4f6;
    position: relative;
    overflow: hidden;
}

.pp-cart-notify-progress-bar {
    height: 100%;
    background: var(--pp-action);
    width: 100%;
    animation: pp-shrink 5s linear forwards;
}

@keyframes pp-shrink {
    from {
        width: 100%;
    }

    to {
        width: 0%;
    }
}

/* Backdrop */
.pp-cart-notify-overlay {
    position: fixed;
    inset: 0;
    background: rgba(0, 0, 0, 0.3);
    backdrop-filter: blur(2px);
    z-index: 10000;
    opacity: 0;
    visibility: hidden;
    transition: all 0.3s;
}

.pp-cart-notify-overlay.visible {
    opacity: 1;
    visibility: visible;
}


/* ========= FOOTER (Deleted) ========= */
/* Footer styles have been completely rewritten and moved to pp-footer.css */

/* --- Safety Nudge (Refined) --- */
.pp-safety-nudge {
    display: none;
    background-color: #f6fdf9;
    /* Very subtle green */
    border: 1px solid #dcfce7;
    border-radius: 8px;
    margin-top: 10px;
    padding: 8px 12px;
}

.pp-nudge-content {
    display: flex;
    align-items: flex-start;
    gap: 10px;
}

.pp-nudge-icon {
    flex-shrink: 0;
    color: #166534;
    /* Green-800 */
    margin-top: 2px;
}

.pp-nudge-text {
    font-size: 11px;
    line-height: 1.4;
    color: #374151;
    /* Gray-700 */
}

.pp-nudge-title {
    font-weight: 700;
    color: #166534;
    display: block;
    margin-bottom: 1px;
    text-transform: uppercase;
    font-size: 9px;
    letter-spacing: 0.5px;
}

.pp-nudge-text strong {
    color: #166534;
    font-weight: 700;
}

/* --- CATEGORY LISTING: FLIP-ROOM & BADGES --- */

/* --- Desktop Gallery Hover --- */
@media (min-width: 1024px) {
    .pp-product-card .pp-gallery-slider {
        display: flex;
        /* Ensure slides are horizontal */
        overflow-x: auto;
        /* Allow scroll if needed, though snap handles it */
        scroll-snap-type: x mandatory;
    }

    .pp-product-card:hover .pp-slider-arrow {
        opacity: 1;
        pointer-events: auto;
    }

    .pp-product-card:hover .pp-zoom-trigger {
        opacity: 1;
        transform: translateX(0);
    }
}

/* --- Listing Icons (Vertical column, top-right of image) --- */
body .pp-card-icons {
    display: flex !important;
    flex-direction: column !important;
    /* vertical stack, not row */
    align-items: center;
    gap: 6px;
    /* no flex-wrap — keep them stacked */
}

body .pp-card-icon {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    color: #999 !important;
    /* Default color */
    transition: color 0.2s;
    position: relative;
    width: auto !important;
    height: auto !important;
    background: transparent !important;
    border: none !important;
}

/* Removed legacy pp-card-icon tooltip styling — now handled in pp-cards.css */

@keyframes pp-fade-in {
    from {
        opacity: 0;
        transform: translate(-50%, 5px);
    }

    to {
        opacity: 1;
        transform: translate(-50%, 0);
    }
}

/* --- LISTING GALLERY SLIDER --- */
.pp-gallery-slider {
    display: flex;
    overflow-x: auto;
    overflow-y: hidden;
    scroll-snap-type: x mandatory;
    scrollbar-width: none;
    width: 100%;
    height: 100%;
    scroll-behavior: smooth;
    -webkit-overflow-scrolling: touch;
}

.pp-gallery-slider::-webkit-scrollbar {
    display: none;
}

.pp-slide {
    flex: 0 0 100%;
    width: 100%;
    height: 100%;
    scroll-snap-align: start;
}

/* Navigation Arrows */
.pp-slider-arrow {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: 28px;
    height: 28px;
    background: rgba(255, 255, 255, 0.85);
    /* Glassy */
    backdrop-filter: blur(2px);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #1f2937;
    z-index: 25;
    opacity: 0;
    /* Hidden by default */
    transition: all 0.2s ease;
    cursor: pointer;
    border: 1px solid rgba(0, 0, 0, 0.05);
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
    padding: 0;
}

.pp-slider-arrow:hover {
    background: #fff;
    color: #C5A065;
    transform: translateY(-50%) scale(1.1);
}

.pp-prev {
    left: 8px;
}

.pp-next {
    right: 8px;
}

/* Show interactions on hover */
.group:hover .pp-slider-arrow,
.group:hover .pp-zoom-trigger {
    opacity: 1;
}

/* Mobile Visibility (Touch devices) */
@media (hover: none) and (pointer: coarse) {
    .pp-slider-arrow {
        opacity: 1 !important;
        width: 26px !important;
        height: 26px !important;
        background: rgba(255, 255, 255, 0.85);
        /* Slightly visible */
        box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
    }

    .pp-slider-arrow svg {
        width: 16px;
        height: 16px;
    }

    .pp-zoom-trigger {
        opacity: 1 !important;
        transform: none !important;
        width: 28px !important;
        height: 28px !important;
    }
}

/* Removed duplicate pp-card-icon tooltip logic */


/* Desktop Hover Effect (md+) */
@media (min-width: 768px) {

    /* Ensure Slider is Flex (Row) not Stacked */
    .pp-gallery-slider {
        display: flex !important;
        overflow-x: auto;
        scroll-behavior: smooth;
    }

    /* Show arrows on hover */
    .group:hover .pp-slider-arrow {
        opacity: 1;
        transform: translateY(-50%) scale(1);
    }

    /* Larger Arrows on Desktop */
    .pp-slider-arrow {
        width: 32px;
        height: 32px;
        background: rgba(255, 255, 255, 0.95);
        box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
        opacity: 0;
        /* Hidden by default */
    }
}

/* Smart Badge Adjustments */
.pp-product-card .absolute.top-3 {
    z-index: 20;
}

/* === MIGRATED FROM style.css ===
   Cart Notification + Footer + Homepage/Footer Extras
   ============================================== */

/* =========================================
   CART NOTIFICATION SIDEBAR
   ========================================= */

.pp-cart-notify {
    position: fixed;
    top: 0;
    right: 0;
    width: 380px;
    max-width: 92vw;
    height: 100vh;
    background: #fff;
    z-index: 10001;
    transform: translateX(105%);
    transition: transform 0.4s cubic-bezier(0.16, 1, 0.3, 1);
    box-shadow: -10px 0 40px rgba(0, 0, 0, 0.12);
    display: flex;
    flex-direction: column;
    overflow: hidden;
}

.pp-cart-notify.visible {
    transform: translateX(0);
}

.pp-cart-notify-header {
    padding: 16px 20px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    border-bottom: 1px solid #f3f4f6;
    background: #f9fafb;
}

.pp-cart-notify-title {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 14px;
    font-weight: 700;
    color: #059669;
}

.pp-cart-notify-close {
    width: 32px;
    height: 32px;
    border-radius: 8px;
    background: transparent;
    border: none;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #9ca3af;
    transition: all 0.2s;
}

.pp-cart-notify-close:hover {
    background: #f3f4f6;
    color: #374151;
}

.pp-cart-notify-body {
    padding: 20px;
    flex: 1;
    overflow-y: auto;
}

.pp-cart-notify-product {
    display: flex;
    gap: 14px;
    padding: 16px;
    background: #f9fafb;
    border-radius: 12px;
    border: 1px solid #f3f4f6;
}

.pp-cart-notify-product img {
    width: 64px;
    height: 64px;
    border-radius: 8px;
    object-fit: cover;
    border: 1px solid #e5e7eb;
}

.pp-cart-notify-product-info {
    flex: 1;
    min-width: 0;
}

.pp-cart-notify-product-name {
    font-size: 13px;
    font-weight: 700;
    color: var(--pp-accent);
    line-height: 1.3;
    margin-bottom: 4px;
}

.pp-cart-notify-product-meta {
    font-size: 12px;
    color: #6b7280;
}

.pp-cart-notify-product-price {
    font-family: var(--font-heading);
    font-size: 16px;
    font-weight: 800;
    color: var(--pp-accent);
    margin-top: 6px;
}

.pp-cart-notify-footer {
    padding: 16px 20px;
    border-top: 1px solid #f3f4f6;
    display: flex;
    flex-direction: column;
    gap: 8px;
    background: #fff;
}

.pp-cart-notify-btn {
    height: 46px;
    border-radius: 12px;
    font-size: 14px;
    font-weight: 700;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    border: none;
    cursor: pointer;
    text-decoration: none;
    transition: all 0.2s;
    text-align: center;
}

.pp-cart-notify-btn.primary {
    background: #059669 !important;
    color: #fff !important;
    box-shadow: 0 4px 12px rgba(5, 150, 105, 0.3);
}

.pp-cart-notify-btn.primary:hover {
    background: #047857 !important;
    transform: translateY(-1px);
}

.pp-cart-notify-btn.secondary {
    background: #f3f4f6;
    color: #374151;
    border: 1px solid #e5e7eb;
}

.pp-cart-notify-btn.secondary:hover {
    background: #e5e7eb;
}

/* Progress bar for auto-dismiss */
.pp-cart-notify-progress {
    height: 3px;
    background: #f3f4f6;
    position: relative;
    overflow: hidden;
}

.pp-cart-notify-progress-bar {
    height: 100%;
    background: var(--pp-action);
    width: 100%;
    animation: pp-shrink 5s linear forwards;
}

@keyframes pp-shrink {
    from {
        width: 100%;
    }

    to {
        width: 0%;
    }
}

/* Backdrop */
.pp-cart-notify-overlay {
    position: fixed;
    inset: 0;
    background: rgba(0, 0, 0, 0.3);
    backdrop-filter: blur(2px);
    z-index: 10000;
    opacity: 0;
    visibility: hidden;
    transition: all 0.3s;
}

.pp-cart-notify-overlay.visible {
    opacity: 1;
    visibility: visible;
}

/* =========================================
   FOOTER — Light, Clean, Professional
   ========================================= */

/* --- Main Footer Wrapper --- */
#footer.footer-wrapper {
    background: #f8f9fa !important;
    color: #6b7280;
    font-size: 14px;
    line-height: 1.75;
}

/* Inner footer block (bg-accent override) */
#footer>footer.bg-accent,
#footer>footer {
    background: transparent !important;
    color: #4b5563 !important;
}

/* --- Newsletter / CTA Section --- */
#footer .bg-\[\#233240\],
#footer>footer>div:first-child {
    background: linear-gradient(135deg, #faf8f5 0%, #f3ede3 100%) !important;
    border-bottom: 1px solid #e8e0d4;
    position: relative;
    padding-top: 56px !important;
    padding-bottom: 56px !important;
}

#footer>footer>div:first-child::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 3px;
    background: linear-gradient(to right, #C5A065, #d9be8a, #C5A065);
}

/* Newsletter heading */
#footer>footer h3,
#footer>footer>div:first-child h3 {
    color: #1f2937 !important;
    font-family: var(--font-heading);
    font-weight: 800;
    font-size: 24px;
    letter-spacing: -0.03em;
    margin-bottom: 8px;
}

/* Newsletter sub-text */
#footer>footer>div:first-child p {
    color: #6b7280 !important;
    font-size: 14px;
}

/* Newsletter email input */
#footer>footer input[type="email"] {
    background: #ffffff !important;
    border: 1.5px solid #d5cfc4 !important;
    border-radius: 12px !important;
    color: #1f2937 !important;
    font-size: 15px;
    padding: 16px 20px !important;
    height: auto !important;
    transition: all 0.25s;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.03);
}

#footer>footer input[type="email"]::placeholder {
    color: #9ca3af !important;
}

#footer>footer input[type="email"]:focus {
    border-color: #C5A065 !important;
    box-shadow: 0 0 0 4px rgba(197, 160, 101, 0.15) !important;
    outline: none !important;
}

/* Newsletter submit button */
#footer>footer button,
#footer>footer .bg-primary {
    background: linear-gradient(135deg, #C5A065, #b8914e) !important;
    color: #fff !important;
    border: none !important;
    border-radius: 12px !important;
    font-weight: 700;
    font-size: 15px;
    padding: 16px 36px !important;
    transition: all 0.25s !important;
    box-shadow: 0 4px 16px rgba(197, 160, 101, 0.3);
    letter-spacing: 0.02em;
    text-transform: none !important;
}

#footer>footer button:hover {
    background: linear-gradient(135deg, #d4b07a, #C5A065) !important;
    box-shadow: 0 8px 24px rgba(197, 160, 101, 0.45);
    transform: translateY(-2px);
}

/* --- Main Footer Columns Section --- */
#footer>footer>div:nth-child(2),
#footer>footer>.container {
    background: #ffffff !important;
    padding-top: 64px !important;
    padding-bottom: 48px !important;
}

/* Override all white text to dark */
#footer>footer .text-white,
#footer>footer [class*="text-white"] {
    color: #1f2937 !important;
}

/* Logo badge */
#footer>footer .bg-primary.rounded {
    background: #C5A065 !important;
}

/* Brand name */
#footer>footer .font-heading.font-bold {
    color: #1f2937 !important;
    font-size: 20px;
}

/* Override gray text */
#footer>footer .text-gray-400,
#footer>footer [class*="text-gray-400"] {
    color: #6b7280 !important;
}

#footer>footer .text-gray-200,
#footer>footer [class*="text-gray-200"] {
    color: #374151 !important;
}

#footer>footer .text-gray-500,
#footer>footer [class*="text-gray-500"] {
    color: #9ca3af !important;
}

/* Column headings (Oferta, Obsługa, Kontakt) */
#footer>footer h4 {
    color: #1f2937 !important;
    font-family: var(--font-heading);
    font-weight: 700;
    font-size: 14px;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    padding-bottom: 16px;
    margin-bottom: 24px;
    /* More space below heading */
    position: relative;
}

#footer>footer h4::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    width: 32px;
    height: 3px;
    background: linear-gradient(to right, #C5A065, #d9be8a);
    border-radius: 3px;
}

/* Footer links */
#footer>footer ul a {
    color: #6b7280 !important;
    text-decoration: none !important;
    font-size: 14px;
    /* Slightly larger */
    transition: all 0.2s ease !important;
    display: inline-block;
}

#footer>footer ul a:hover {
    color: #C5A065 !important;
    transform: translateX(4px);
}

/* Social icons */
#footer>footer a[class*="rounded-full"] {
    background: #f3f4f6 !important;
    border: 1px solid #e5e7eb !important;
    color: #6b7280 !important;
    width: 40px !important;
    height: 40px !important;
    transition: all 0.25s !important;
}

#footer>footer a[class*="rounded-full"]:hover {
    background: rgba(197, 160, 101, 0.1) !important;
    border-color: rgba(197, 160, 101, 0.3) !important;
    color: #C5A065 !important;
    transform: translateY(-3px);
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
}

#footer>footer a[class*="rounded-full"] svg {
    color: inherit !important;
    stroke: currentColor !important;
    width: 20px !important;
    height: 20px !important;
}

/* Contact: phone */
#footer>footer a[href^="tel"],
#footer>footer strong {
    color: #1f2937 !important;
    font-weight: 700;
    font-size: 16px;
}

/* Contact: email */
#footer>footer a[href^="mailto"] {
    color: #C5A065 !important;
    font-weight: 600;
    transition: color 0.2s;
}

#footer>footer a[href^="mailto"]:hover {
    color: #b8914e !important;
}

/* Contact icons (phone, mail SVGs) */
#footer>footer .text-primary svg,
#footer>footer svg.text-primary {
    color: #C5A065 !important;
    stroke: #C5A065 !important;
}

/* --- HIDE DUPLICATE INNER COPYRIGHT --- */
#footer>footer .border-t.border-white\/10,
#footer>footer .text-center.text-xs.text-gray-500 {
    display: none !important;
}

/* --- Bottom Absolute Footer Bar --- */
.absolute-footer,
.absolute-footer.dark {
    background: #f8f9fa !important;
    border-top: 1px solid #e5e7eb !important;
    padding: 20px 0 !important;
    font-size: 13px;
    color: #9ca3af !important;
}

/* Copyright text */
.absolute-footer .copyright-footer {
    color: #9ca3af !important;
    background: transparent !important;
}

.absolute-footer .copyright-footer strong {
    color: #6b7280 !important;
    font-weight: 600;
}

.absolute-footer a {
    color: #6b7280 !important;
    transition: color 0.2s;
}

.absolute-footer a:hover {
    color: #C5A065 !important;
}

/* Payment Icons */
.absolute-footer .payment-icon,
.absolute-footer .payment-icons {
    display: inline-flex;
    align-items: center;
    gap: 6px;
}

.absolute-footer .payment-icon svg {
    fill: #9ca3af;
    opacity: 0.6;
    transition: all 0.25s;
    height: 22px;
    /* Slightly larger */
}

.absolute-footer .payment-icon:hover svg {
    fill: #4b5563;
    opacity: 1;
    transform: scale(1.05);
}

/* --- Scroll-to-top button --- */
#top-link.back-to-top,
a.back-to-top,
#top-link {
    background: #ffffff !important;
    border: 1px solid #e5e7eb !important;
    color: #C5A065 !important;
    border-radius: 12px !important;
    width: 44px !important;
    height: 44px !important;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
    transition: all 0.25s !important;
}

#top-link.back-to-top:hover,
a.back-to-top:hover,
#top-link:hover {
    background: #faf8f5 !important;
    border-color: #C5A065 !important;
    box-shadow: 0 8px 20px rgba(197, 160, 101, 0.25);
    transform: translateY(-3px);
}

#top-link i,
.back-to-top i {
    color: #C5A065 !important;
    font-size: 18px;
}

/* --- Mobile Footer --- */
@media (max-width: 849px) {
    #footer>footer>div:first-child {
        padding-top: 40px !important;
        padding-bottom: 40px !important;
        text-align: center;
    }

    #footer>footer>div:first-child .flex {
        flex-direction: column;
        width: 100%;
    }

    #footer>footer input[type="email"] {
        width: 100% !important;
        margin-bottom: 12px;
    }

    #footer>footer button {
        width: 100% !important;
    }

    #footer>footer>div:nth-child(2) {
        padding-top: 40px !important;
        padding-bottom: 32px !important;
    }

    /* Center headings on mobile */
    #footer>footer h4 {
        text-align: center;
        margin-bottom: 20px;
    }

    #footer>footer h4::after {
        left: 50%;
        transform: translateX(-50%);
    }

    #footer>footer ul {
        text-align: center;
    }

    #footer>footer .grid>div {
        margin-bottom: 32px;
    }

    /* Brand section mobile */
    #footer>footer .flex.items-center.gap-2 {
        justify-content: center;
    }

    #footer>footer>div:nth-child(2) p {
        text-align: center;
    }

    #footer>footer .flex.gap-4 {
        justify-content: center;
    }

    /* Contact spacing */
    #footer>footer .flex.items-start {
        justify-content: center;
        text-align: center;
    }

    /* --- Safety Nudge (Refined) --- */
    .pp-safety-nudge {
        display: none;
        background-color: #f6fdf9;
        /* Very subtle green */
        border: 1px solid #dcfce7;
        border-radius: 8px;
        margin-top: 10px;
        padding: 8px 12px;
    }

    .pp-nudge-content {
        display: flex;
        align-items: flex-start;
        gap: 10px;
    }

    .pp-nudge-icon {
        flex-shrink: 0;
        color: #166534;
        /* Green-800 */
        margin-top: 2px;
    }

    .pp-nudge-text {
        font-size: 11px;
        line-height: 1.4;
        color: #374151;
        /* Gray-700 */
    }

    .pp-nudge-title {
        font-weight: 700;
        color: #166534;
        display: block;
        margin-bottom: 1px;
        text-transform: uppercase;
        font-size: 9px;
        letter-spacing: 0.5px;
    }

    .pp-nudge-text strong {
        color: #166534;
        font-weight: 700;
    }

    /* --- CATEGORY LISTING: FLIP-ROOM & BADGES --- */

    /* --- Desktop Gallery Hover --- */
    @media (min-width: 1024px) {
        .pp-product-card .pp-gallery-slider {
            display: flex;
            /* Ensure slides are horizontal */
            overflow-x: auto;
            /* Allow scroll if needed, though snap handles it */
            scroll-snap-type: x mandatory;
        }

        .pp-product-card:hover .pp-slider-arrow {
            opacity: 1;
            pointer-events: auto;
        }

        .pp-product-card:hover .pp-zoom-trigger {
            opacity: 1;
            transform: translateX(0);
        }
    }

    /* Listing Icons — vertical column (responsive) */
    body .pp-card-icons {
        display: flex !important;
        flex-direction: column !important;
        align-items: center;
        gap: 6px;
    }

    body .pp-card-icon {
        display: inline-flex !important;
        align-items: center;
        justify-content: center;
        color: #999 !important;
        /* Default color */
        transition: color 0.2s;
        position: relative;
        width: auto !important;
        height: auto !important;
        background: transparent !important;
        border: none !important;
    }

    body .pp-card-icon:hover {
        color: #C5A065 !important;
        /* Accent on hover */
    }

    body .pp-card-icon svg {
        width: 16px !important;
        height: 16px !important;
        display: block !important;
    }

    /* Tablet: removed legacy tooltips */

    @keyframes pp-fade-in {
        from {
            opacity: 0;
            transform: translate(-50%, 5px);
        }

        to {
            opacity: 1;
            transform: translate(-50%, 0);
        }
    }

    /* --- LISTING GALLERY SLIDER --- */
    .pp-gallery-slider {
        display: flex;
        overflow-x: auto;
        overflow-y: hidden;
        scroll-snap-type: x mandatory;
        scrollbar-width: none;
        width: 100%;
        height: 100%;
        scroll-behavior: smooth;
        -webkit-overflow-scrolling: touch;
    }

    .pp-gallery-slider::-webkit-scrollbar {
        display: none;
    }

    .pp-slide {
        flex: 0 0 100%;
        width: 100%;
        height: 100%;
        scroll-snap-align: start;
    }

    /* Navigation Arrows */
    .pp-slider-arrow {
        position: absolute;
        top: 50%;
        transform: translateY(-50%);
        width: 28px;
        height: 28px;
        background: rgba(255, 255, 255, 0.85);
        /* Glassy */
        backdrop-filter: blur(2px);
        border-radius: 50%;
        display: flex;
        align-items: center;
        justify-content: center;
        color: #1f2937;
        z-index: 25;
        opacity: 0;
        /* Hidden by default */
        transition: all 0.2s ease;
        cursor: pointer;
        border: 1px solid rgba(0, 0, 0, 0.05);
        box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
        padding: 0;
    }

    .pp-slider-arrow:hover {
        background: #fff;
        color: #C5A065;
        transform: translateY(-50%) scale(1.1);
    }

    .pp-prev {
        left: 8px;
    }

    .pp-next {
        right: 8px;
    }

    /* Show interactions on hover */
    .group:hover .pp-slider-arrow,
    .group:hover .pp-zoom-trigger {
        opacity: 1;
    }

    /* Mobile Visibility (Touch devices) */
    @media (hover: none) and (pointer: coarse) {
        .pp-slider-arrow {
            opacity: 1 !important;
            width: 26px !important;
            height: 26px !important;
            background: rgba(255, 255, 255, 0.85);
            /* Slightly visible */
            box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
        }

        .pp-slider-arrow svg {
            width: 16px;
            height: 16px;
        }

        .pp-zoom-trigger {
            opacity: 1 !important;
            transform: none !important;
            width: 28px !important;
            height: 28px !important;
        }
    }

    /* Fixed Listing Icons Layout */
    .pp-card-icons {
        display: flex !important;
        flex-direction: column !important;
        flex-wrap: nowrap !important;
        align-items: center;
        gap: 6px;
        position: absolute !important;
        top: 12px !important;
        right: 12px !important;
        z-index: 60 !important;
    }

    .pp-card-icon {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        color: #9ca3af;
        cursor: help;
        transition: color 0.2s;
        width: auto;
        /* Allow auto width if needed, or fixed */
        height: auto;
    }

    .pp-card-icon svg {
        width: 18px;
        /* Fixed icon size */
        height: 18px;
        display: block;
    }

    .pp-card-icon:hover {
        color: #C5A065;
    }

    /* Tooltip Fix */
    .pp-card-icon[data-tooltip]:hover::after {
        content: attr(data-tooltip);
        position: absolute;
        bottom: 100%;
        left: 50%;
        transform: translateX(-50%);
        background: #1f2937;
        color: #f9fafb;
        font-size: 11px;
        /* Readability */
        font-weight: 500;
        padding: 4px 8px;
        border-radius: 4px;
        white-space: nowrap;
        margin-bottom: 8px;
        z-index: 50;
        pointer-events: none;
        box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
        opacity: 0;
        animation: pp-tooltip-fade 0.2s forwards;
    }

    .pp-card-icon[data-tooltip]:hover::before {
        content: "";
        position: absolute;
        bottom: 100%;
        left: 50%;
        transform: translateX(-50%);
        border: 4px solid transparent;
        border-top-color: #1f2937;
        margin-bottom: 0px;
        z-index: 50;
        opacity: 0;
        animation: pp-tooltip-fade 0.2s forwards;
    }

    @keyframes pp-tooltip-fade {
        to {
            opacity: 1;
            transform: translateX(-50%) translateY(0);
        }
    }

    /* Desktop Hover Effect (md+) */
    @media (min-width: 768px) {

        /* Ensure Slider is Flex (Row) not Stacked */
        .pp-gallery-slider {
            display: flex !important;
            overflow-x: auto;
            scroll-behavior: smooth;
        }

        /* Show arrows on hover */
        .group:hover .pp-slider-arrow {
            opacity: 1;
            transform: translateY(-50%) scale(1);
        }

        /* Larger Arrows on Desktop */
        .pp-slider-arrow {
            width: 32px;
            height: 32px;
            background: rgba(255, 255, 255, 0.95);
            box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
            opacity: 0;
            /* Hidden by default */
        }
    }

    /* Smart Badge Adjustments */
    .pp-product-card .absolute.top-3 {
        z-index: 20;
    }
}

/* =========================================================================
   28. HOMEPAGE & FOOTER SPECIFIC STYLES
   ========================================================================= */

/* A. Hero Section */
.pp-hero-badge {
    display: inline-block;
    padding: 8px 16px;
    background: rgba(0, 0, 0, 0.3);
    backdrop-filter: blur(10px);
    border: 1px solid rgba(255, 255, 255, 0.2);
    border-radius: 8px;
    color: var(--pp-primary);
    font-size: 11px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 2px;
    margin-bottom: 20px;
}

.pp-hero-title {
    font-family: var(--font-heading);
    /* Fallback if var not set */
    font-weight: 900;
    font-size: 3.5rem;
    /* Fallback */
    line-height: 1.1;
    color: #fff;
    margin-bottom: 24px;
    text-shadow: 0 4px 20px rgba(0, 0, 0, 0.3);
}

@media (min-width: 768px) {
    .pp-hero-title {
        font-size: 5rem;
    }
}

.pp-hero-desc {
    font-size: 1.1rem;
    color: #e5e7eb;
    max-width: 600px;
    margin-bottom: 40px;
    line-height: 1.6;
}

/* B. Icon Boxes (Experience) */
.pp-icon-box {
    padding: 20px;
    transition: all 0.3s;
}

.pp-icon-wrapper {
    margin-bottom: 15px;
    display: inline-block;
}

.pp-icon-title {
    font-family: inherit;
    font-weight: 700;
    font-size: 16px;
    margin-bottom: 5px;
    color: var(--pp-accent);
}

.pp-icon-text {
    font-size: 12px;
    text-transform: uppercase;
    letter-spacing: 1px;
    color: #6b7280;
    font-weight: 500;
}

/* C. Footer Styles */
.pp-newsletter-row {
    background: #233240;
    padding: 40px 0;
}

.pp-footer-main.dark {
    background: var(--pp-accent);
    /* Use brand accent/dark color */
    color: #fff;
}

.widget-title {
    font-family: var(--font-heading);
    font-weight: 700;
    font-size: 15px;
    color: #e5e7eb !important;
    /* Slightly muted white */
    margin-bottom: 20px;
    text-transform: uppercase;
    letter-spacing: 1px;
}

.pp-footer-menu {
    list-style: none;
    padding: 0;
    margin: 0;
}

.pp-footer-menu li a {
    color: #9ca3af;
    font-size: 14px;
    transition: 0.2s;
    padding: 4px 0;
    display: block;
}

.pp-footer-menu li a:hover {
    color: var(--pp-primary);
    transform: translateX(5px);
}

.pp-social-link {
    width: 40px;
    height: 40px;
    background: rgba(255, 255, 255, 0.1);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #fff;
    transition: 0.3s;
}

.pp-social-link:hover {
    background: var(--pp-primary);
    transform: translateY(-3px);
}


/* =========================================
   MIGRATED FROM style.css
   ========================================= */

/* --- Cart Notification (lines 53-251) --- */
/* =========================================
   CART NOTIFICATION SIDEBAR
   ========================================= */

.pp-cart-notify {
    position: fixed;
    top: 0;
    right: 0;
    width: 380px;
    max-width: 92vw;
    height: 100vh;
    background: #fff;
    z-index: 10001;
    transform: translateX(105%);
    transition: transform 0.4s cubic-bezier(0.16, 1, 0.3, 1);
    box-shadow: -10px 0 40px rgba(0, 0, 0, 0.12);
    display: flex;
    flex-direction: column;
    overflow: hidden;
}

.pp-cart-notify.visible {
    transform: translateX(0);
}

.pp-cart-notify-header {
    padding: 16px 20px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    border-bottom: 1px solid #f3f4f6;
    background: #f9fafb;
}

.pp-cart-notify-title {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 14px;
    font-weight: 700;
    color: #059669;
}

.pp-cart-notify-close {
    width: 32px;
    height: 32px;
    border-radius: 8px;
    background: transparent;
    border: none;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #9ca3af;
    transition: all 0.2s;
}

.pp-cart-notify-close:hover {
    background: #f3f4f6;
    color: #374151;
}

.pp-cart-notify-body {
    padding: 20px;
    flex: 1;
    overflow-y: auto;
}

.pp-cart-notify-product {
    display: flex;
    gap: 14px;
    padding: 16px;
    background: #f9fafb;
    border-radius: 12px;
    border: 1px solid #f3f4f6;
}

.pp-cart-notify-product img {
    width: 64px;
    height: 64px;
    border-radius: 8px;
    object-fit: cover;
    border: 1px solid #e5e7eb;
}

.pp-cart-notify-product-info {
    flex: 1;
    min-width: 0;
}

.pp-cart-notify-product-name {
    font-size: 13px;
    font-weight: 700;
    color: var(--pp-accent);
    line-height: 1.3;
    margin-bottom: 4px;
}

.pp-cart-notify-product-meta {
    font-size: 12px;
    color: #6b7280;
}

.pp-cart-notify-product-price {
    font-family: var(--font-heading);
    font-size: 16px;
    font-weight: 800;
    color: var(--pp-accent);
    margin-top: 6px;
}

.pp-cart-notify-footer {
    padding: 16px 20px;
    border-top: 1px solid #f3f4f6;
    display: flex;
    flex-direction: column;
    gap: 8px;
    background: #fff;
}

.pp-cart-notify-btn {
    height: 46px;
    border-radius: 12px;
    font-size: 14px;
    font-weight: 700;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    border: none;
    cursor: pointer;
    text-decoration: none;
    transition: all 0.2s;
    text-align: center;
}

.pp-cart-notify-btn.primary {
    background: #059669 !important;
    color: #fff !important;
    box-shadow: 0 4px 12px rgba(5, 150, 105, 0.3);
}

.pp-cart-notify-btn.primary:hover {
    background: #047857 !important;
    transform: translateY(-1px);
}

.pp-cart-notify-btn.secondary {
    background: #f3f4f6;
    color: #374151;
    border: 1px solid #e5e7eb;
}

.pp-cart-notify-btn.secondary:hover {
    background: #e5e7eb;
}

/* Progress bar for auto-dismiss */
.pp-cart-notify-progress {
    height: 3px;
    background: #f3f4f6;
    position: relative;
    overflow: hidden;
}

.pp-cart-notify-progress-bar {
    height: 100%;
    background: var(--pp-action);
    width: 100%;
    animation: pp-shrink 5s linear forwards;
}

@keyframes pp-shrink {
    from {
        width: 100%;
    }

    to {
        width: 0%;
    }
}

/* Backdrop */
.pp-cart-notify-overlay {
    position: fixed;
    inset: 0;
    background: rgba(0, 0, 0, 0.3);
    backdrop-filter: blur(2px);
    z-index: 10000;
    opacity: 0;
    visibility: hidden;
    transition: all 0.3s;
}

.pp-cart-notify-overlay.visible {
    opacity: 1;
    visibility: visible;
}


/* --- Footer (lines 1334-2061) --- */
/* =========================================
   FOOTER — Light, Clean, Professional
   ========================================= */

/* --- Main Footer Wrapper --- */
#footer.footer-wrapper {
    background: #f8f9fa !important;
    color: #6b7280;
    font-size: 14px;
    line-height: 1.75;
}

/* Inner footer block (bg-accent override) */
#footer>footer.bg-accent,
#footer>footer {
    background: transparent !important;
    color: #4b5563 !important;
}

/* --- Newsletter / CTA Section --- */
#footer .bg-\[\#233240\],
#footer>footer>div:first-child {
    background: linear-gradient(135deg, #faf8f5 0%, #f3ede3 100%) !important;
    border-bottom: 1px solid #e8e0d4;
    position: relative;
    padding-top: 56px !important;
    padding-bottom: 56px !important;
}

#footer>footer>div:first-child::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 3px;
    background: linear-gradient(to right, #C5A065, #d9be8a, #C5A065);
}

/* Newsletter heading */
#footer>footer h3,
#footer>footer>div:first-child h3 {
    color: #1f2937 !important;
    font-family: var(--font-heading);
    font-weight: 800;
    font-size: 24px;
    letter-spacing: -0.03em;
    margin-bottom: 8px;
}

/* Newsletter sub-text */
#footer>footer>div:first-child p {
    color: #6b7280 !important;
    font-size: 14px;
}

/* Newsletter email input */
#footer>footer input[type="email"] {
    background: #ffffff !important;
    border: 1.5px solid #d5cfc4 !important;
    border-radius: 12px !important;
    color: #1f2937 !important;
    font-size: 15px;
    padding: 16px 20px !important;
    height: auto !important;
    transition: all 0.25s;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.03);
}

#footer>footer input[type="email"]::placeholder {
    color: #9ca3af !important;
}

#footer>footer input[type="email"]:focus {
    border-color: #C5A065 !important;
    box-shadow: 0 0 0 4px rgba(197, 160, 101, 0.15) !important;
    outline: none !important;
}

/* Newsletter submit button */
#footer>footer button,
#footer>footer .bg-primary {
    background: linear-gradient(135deg, #C5A065, #b8914e) !important;
    color: #fff !important;
    border: none !important;
    border-radius: 12px !important;
    font-weight: 700;
    font-size: 15px;
    padding: 16px 36px !important;
    transition: all 0.25s !important;
    box-shadow: 0 4px 16px rgba(197, 160, 101, 0.3);
    letter-spacing: 0.02em;
    text-transform: none !important;
}

#footer>footer button:hover {
    background: linear-gradient(135deg, #d4b07a, #C5A065) !important;
    box-shadow: 0 8px 24px rgba(197, 160, 101, 0.45);
    transform: translateY(-2px);
}

/* --- Main Footer Columns Section --- */
#footer>footer>div:nth-child(2),
#footer>footer>.container {
    background: #ffffff !important;
    padding-top: 64px !important;
    padding-bottom: 48px !important;
}

/* Override all white text to dark */
#footer>footer .text-white,
#footer>footer [class*="text-white"] {
    color: #1f2937 !important;
}

/* Logo badge */
#footer>footer .bg-primary.rounded {
    background: #C5A065 !important;
}

/* Brand name */
#footer>footer .font-heading.font-bold {
    color: #1f2937 !important;
    font-size: 20px;
}

/* Override gray text */
#footer>footer .text-gray-400,
#footer>footer [class*="text-gray-400"] {
    color: #6b7280 !important;
}

#footer>footer .text-gray-200,
#footer>footer [class*="text-gray-200"] {
    color: #374151 !important;
}

#footer>footer .text-gray-500,
#footer>footer [class*="text-gray-500"] {
    color: #9ca3af !important;
}

/* Column headings (Oferta, Obsługa, Kontakt) */
#footer>footer h4 {
    color: #1f2937 !important;
    font-family: var(--font-heading);
    font-weight: 700;
    font-size: 14px;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    padding-bottom: 16px;
    margin-bottom: 24px;
    /* More space below heading */
    position: relative;
}

#footer>footer h4::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    width: 32px;
    height: 3px;
    background: linear-gradient(to right, #C5A065, #d9be8a);
    border-radius: 3px;
}

/* Footer links */
#footer>footer ul a {
    color: #6b7280 !important;
    text-decoration: none !important;
    font-size: 14px;
    /* Slightly larger */
    transition: all 0.2s ease !important;
    display: inline-block;
}

#footer>footer ul a:hover {
    color: #C5A065 !important;
    transform: translateX(4px);
}

/* Social icons */
#footer>footer a[class*="rounded-full"] {
    background: #f3f4f6 !important;
    border: 1px solid #e5e7eb !important;
    color: #6b7280 !important;
    width: 40px !important;
    height: 40px !important;
    transition: all 0.25s !important;
}

#footer>footer a[class*="rounded-full"]:hover {
    background: rgba(197, 160, 101, 0.1) !important;
    border-color: rgba(197, 160, 101, 0.3) !important;
    color: #C5A065 !important;
    transform: translateY(-3px);
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
}

#footer>footer a[class*="rounded-full"] svg {
    color: inherit !important;
    stroke: currentColor !important;
    width: 20px !important;
    height: 20px !important;
}

/* Contact: phone */
#footer>footer a[href^="tel"],
#footer>footer strong {
    color: #1f2937 !important;
    font-weight: 700;
    font-size: 16px;
}

/* Contact: email */
#footer>footer a[href^="mailto"] {
    color: #C5A065 !important;
    font-weight: 600;
    transition: color 0.2s;
}

#footer>footer a[href^="mailto"]:hover {
    color: #b8914e !important;
}

/* Contact icons (phone, mail SVGs) */
#footer>footer .text-primary svg,
#footer>footer svg.text-primary {
    color: #C5A065 !important;
    stroke: #C5A065 !important;
}

/* --- HIDE DUPLICATE INNER COPYRIGHT --- */
#footer>footer .border-t.border-white\/10,
#footer>footer .text-center.text-xs.text-gray-500 {
    display: none !important;
}

/* --- Bottom Absolute Footer Bar --- */
.absolute-footer,
.absolute-footer.dark {
    background: #f8f9fa !important;
    border-top: 1px solid #e5e7eb !important;
    padding: 20px 0 !important;
    font-size: 13px;
    color: #9ca3af !important;
}

/* Copyright text */
.absolute-footer .copyright-footer {
    color: #9ca3af !important;
    background: transparent !important;
}

.absolute-footer .copyright-footer strong {
    color: #6b7280 !important;
    font-weight: 600;
}

.absolute-footer a {
    color: #6b7280 !important;
    transition: color 0.2s;
}

.absolute-footer a:hover {
    color: #C5A065 !important;
}

/* Payment Icons */
.absolute-footer .payment-icon,
.absolute-footer .payment-icons {
    display: inline-flex;
    align-items: center;
    gap: 6px;
}

.absolute-footer .payment-icon svg {
    fill: #9ca3af;
    opacity: 0.6;
    transition: all 0.25s;
    height: 22px;
    /* Slightly larger */
}

.absolute-footer .payment-icon:hover svg {
    fill: #4b5563;
    opacity: 1;
    transform: scale(1.05);
}

/* --- Scroll-to-top button --- */
#top-link.back-to-top,
a.back-to-top,
#top-link {
    background: #ffffff !important;
    border: 1px solid #e5e7eb !important;
    color: #C5A065 !important;
    border-radius: 12px !important;
    width: 44px !important;
    height: 44px !important;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
    transition: all 0.25s !important;
}

#top-link.back-to-top:hover,
a.back-to-top:hover,
#top-link:hover {
    background: #faf8f5 !important;
    border-color: #C5A065 !important;
    box-shadow: 0 8px 20px rgba(197, 160, 101, 0.25);
    transform: translateY(-3px);
}

#top-link i,
.back-to-top i {
    color: #C5A065 !important;
    font-size: 18px;
}

/* --- Mobile Footer --- */
@media (max-width: 849px) {
    #footer>footer>div:first-child {
        padding-top: 40px !important;
        padding-bottom: 40px !important;
        text-align: center;
    }

    #footer>footer>div:first-child .flex {
        flex-direction: column;
        width: 100%;
    }

    #footer>footer input[type="email"] {
        width: 100% !important;
        margin-bottom: 12px;
    }

    #footer>footer button {
        width: 100% !important;
    }

    #footer>footer>div:nth-child(2) {
        padding-top: 40px !important;
        padding-bottom: 32px !important;
    }

    /* Center headings on mobile */
    #footer>footer h4 {
        text-align: center;
        margin-bottom: 20px;
    }

    #footer>footer h4::after {
        left: 50%;
        transform: translateX(-50%);
    }

    #footer>footer ul {
        text-align: center;
    }

    #footer>footer .grid>div {
        margin-bottom: 32px;
    }

    /* Brand section mobile */
    #footer>footer .flex.items-center.gap-2 {
        justify-content: center;
    }

    #footer>footer>div:nth-child(2) p {
        text-align: center;
    }

    #footer>footer .flex.gap-4 {
        justify-content: center;
    }

    /* Contact spacing */
    #footer>footer .flex.items-start {
        justify-content: center;
        text-align: center;
    }

    /* --- Safety Nudge (Refined) --- */
    .pp-safety-nudge {
        display: none;
        background-color: #f6fdf9;
        /* Very subtle green */
        border: 1px solid #dcfce7;
        border-radius: 8px;
        margin-top: 10px;
        padding: 8px 12px;
    }

    .pp-nudge-content {
        display: flex;
        align-items: flex-start;
        gap: 10px;
    }

    .pp-nudge-icon {
        flex-shrink: 0;
        color: #166534;
        /* Green-800 */
        margin-top: 2px;
    }

    .pp-nudge-text {
        font-size: 11px;
        line-height: 1.4;
        color: #374151;
        /* Gray-700 */
    }

    .pp-nudge-title {
        font-weight: 700;
        color: #166534;
        display: block;
        margin-bottom: 1px;
        text-transform: uppercase;
        font-size: 9px;
        letter-spacing: 0.5px;
    }

    .pp-nudge-text strong {
        color: #166534;
        font-weight: 700;
    }

    /* --- CATEGORY LISTING: FLIP-ROOM & BADGES --- */

    /* --- Desktop Gallery Hover --- */
    @media (min-width: 1024px) {
        .pp-product-card .pp-gallery-slider {
            display: flex;
            /* Ensure slides are horizontal */
            overflow-x: auto;
            /* Allow scroll if needed, though snap handles it */
            scroll-snap-type: x mandatory;
        }

        .pp-product-card:hover .pp-slider-arrow {
            opacity: 1;
            pointer-events: auto;
        }

        .pp-product-card:hover .pp-zoom-trigger {
            opacity: 1;
            transform: translateX(0);
        }
    }

    /* --- Listing Icons (Fix Visibility) --- */
    body .pp-card-icons {
        display: flex !important;
        align-items: center;
        gap: 8px;
        flex-wrap: wrap;
        min-height: 20px;
        /* Prevent collapse */
    }

    body .pp-card-icon {
        display: inline-flex !important;
        align-items: center;
        justify-content: center;
        color: #999 !important;
        /* Default color */
        transition: color 0.2s;
        position: relative;
        width: auto !important;
        height: auto !important;
        background: transparent !important;
        border: none !important;
    }

    body .pp-card-icon:hover {
        color: #C5A065 !important;
        /* Accent on hover */
    }

    body .pp-card-icon svg {
        width: 16px !important;
        height: 16px !important;
        display: block !important;
    }

    /* Mobile: removed legacy tooltips */

    @keyframes pp-fade-in {
        from {
            opacity: 0;
            transform: translate(-50%, 5px);
        }

        to {
            opacity: 1;
            transform: translate(-50%, 0);
        }
    }

    /* --- LISTING GALLERY SLIDER --- */
    .pp-gallery-slider {
        display: flex;
        overflow-x: auto;
        overflow-y: hidden;
        scroll-snap-type: x mandatory;
        scrollbar-width: none;
        width: 100%;
        height: 100%;
        scroll-behavior: smooth;
        -webkit-overflow-scrolling: touch;
    }

    .pp-gallery-slider::-webkit-scrollbar {
        display: none;
    }

    .pp-slide {
        flex: 0 0 100%;
        width: 100%;
        height: 100%;
        scroll-snap-align: start;
    }

    /* Navigation Arrows */
    .pp-slider-arrow {
        position: absolute;
        top: 50%;
        transform: translateY(-50%);
        width: 28px;
        height: 28px;
        background: rgba(255, 255, 255, 0.85);
        /* Glassy */
        backdrop-filter: blur(2px);
        border-radius: 50%;
        display: flex;
        align-items: center;
        justify-content: center;
        color: #1f2937;
        z-index: 25;
        opacity: 0;
        /* Hidden by default */
        transition: all 0.2s ease;
        cursor: pointer;
        border: 1px solid rgba(0, 0, 0, 0.05);
        box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
        padding: 0;
    }

    .pp-slider-arrow:hover {
        background: #fff;
        color: #C5A065;
        transform: translateY(-50%) scale(1.1);
    }

    .pp-prev {
        left: 8px;
    }

    .pp-next {
        right: 8px;
    }

    /* Show interactions on hover */
    .group:hover .pp-slider-arrow,
    .group:hover .pp-zoom-trigger {
        opacity: 1;
    }

    /* Mobile Visibility (Touch devices) */
    @media (hover: none) and (pointer: coarse) {
        .pp-slider-arrow {
            opacity: 1 !important;
            width: 26px !important;
            height: 26px !important;
            background: rgba(255, 255, 255, 0.85);
            /* Slightly visible */
            box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
        }

        .pp-slider-arrow svg {
            width: 16px;
            height: 16px;
        }

        .pp-zoom-trigger {
            opacity: 1 !important;
            transform: none !important;
            width: 28px !important;
            height: 28px !important;
        }
    }

    /* Fixed Listing Icons Layout */
    .pp-card-icons {
        display: flex !important;
        flex-direction: column !important;
        flex-wrap: nowrap !important;
        align-items: center;
        gap: 6px;
        position: absolute !important;
        top: 12px !important;
        right: 12px !important;
        z-index: 60 !important;
    }

    .pp-card-icon {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        color: #9ca3af;
        cursor: help;
        transition: color 0.2s;
        width: auto;
        /* Allow auto width if needed, or fixed */
        height: auto;
    }

    .pp-card-icon svg {
        width: 18px;
        /* Fixed icon size */
        height: 18px;
        display: block;
    }

    .pp-card-icon:hover {
        color: #C5A065;
    }

    /* Tooltip Fix */
    .pp-card-icon[data-tooltip]:hover::after {
        content: attr(data-tooltip);
        position: absolute;
        bottom: 100%;
        left: 50%;
        transform: translateX(-50%);
        background: #1f2937;
        color: #f9fafb;
        font-size: 11px;
        /* Readability */
        font-weight: 500;
        padding: 4px 8px;
        border-radius: 4px;
        white-space: nowrap;
        margin-bottom: 8px;
        z-index: 50;
        pointer-events: none;
        box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
        opacity: 0;
        animation: pp-tooltip-fade 0.2s forwards;
    }

    .pp-card-icon[data-tooltip]:hover::before {
        content: "";
        position: absolute;
        bottom: 100%;
        left: 50%;
        transform: translateX(-50%);
        border: 4px solid transparent;
        border-top-color: #1f2937;
        margin-bottom: 0px;
        z-index: 50;
        opacity: 0;
        animation: pp-tooltip-fade 0.2s forwards;
    }

    @keyframes pp-tooltip-fade {
        to {
            opacity: 1;
            transform: translateX(-50%) translateY(0);
        }
    }

    /* Desktop Hover Effect (md+) */
    @media (min-width: 768px) {

        /* Ensure Slider is Flex (Row) not Stacked */
        .pp-gallery-slider {
            display: flex !important;
            overflow-x: auto;
            scroll-behavior: smooth;
        }

        /* Show arrows on hover */
        .group:hover .pp-slider-arrow {
            opacity: 1;
            transform: translateY(-50%) scale(1);
        }

        /* Larger Arrows on Desktop */
        .pp-slider-arrow {
            width: 32px;
            height: 32px;
            background: rgba(255, 255, 255, 0.95);
            box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
            opacity: 0;
            /* Hidden by default */
        }
    }

    /* Smart Badge Adjustments */
    .pp-product-card .absolute.top-3 {
        z-index: 20;
    }
}


/* --- Homepage & Footer Extras (lines 4221-4352) --- */
/* =========================================================================
   28. HOMEPAGE & FOOTER SPECIFIC STYLES
   ========================================================================= */

/* A. Hero Section */
.pp-hero-badge {
    display: inline-block;
    padding: 8px 16px;
    background: rgba(0, 0, 0, 0.3);
    backdrop-filter: blur(10px);
    border: 1px solid rgba(255, 255, 255, 0.2);
    border-radius: 8px;
    color: var(--pp-primary);
    font-size: 11px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 2px;
    margin-bottom: 20px;
}

.pp-hero-title {
    font-family: var(--font-heading);
    /* Fallback if var not set */
    font-weight: 900;
    font-size: 3.5rem;
    /* Fallback */
    line-height: 1.1;
    color: #fff;
    margin-bottom: 24px;
    text-shadow: 0 4px 20px rgba(0, 0, 0, 0.3);
}

@media (min-width: 768px) {
    .pp-hero-title {
        font-size: 5rem;
    }
}

.pp-hero-desc {
    font-size: 1.1rem;
    color: #e5e7eb;
    max-width: 600px;
    margin-bottom: 40px;
    line-height: 1.6;
}

/* B. Icon Boxes (Experience) */
.pp-icon-box {
    padding: 20px;
    transition: all 0.3s;
}

.pp-icon-wrapper {
    margin-bottom: 15px;
    display: inline-block;
}

.pp-icon-title {
    font-family: inherit;
    font-weight: 700;
    font-size: 16px;
    margin-bottom: 5px;
    color: var(--pp-accent);
}

.pp-icon-text {
    font-size: 12px;
    text-transform: uppercase;
    letter-spacing: 1px;
    color: #6b7280;
    font-weight: 500;
}

/* C. Footer Styles */
.pp-newsletter-row {
    background: #233240;
    padding: 40px 0;
}

.pp-footer-main.dark {
    background: var(--pp-accent);
    /* Use brand accent/dark color */
    color: #fff;
}

.widget-title {
    font-family: var(--font-heading);
    font-weight: 700;
    font-size: 15px;
    color: #e5e7eb !important;
    /* Slightly muted white */
    margin-bottom: 20px;
    text-transform: uppercase;
    letter-spacing: 1px;
}

.pp-footer-menu {
    list-style: none;
    padding: 0;
    margin: 0;
}

.pp-footer-menu li a {
    color: #9ca3af;
    font-size: 14px;
    transition: 0.2s;
    padding: 4px 0;
    display: block;
}

.pp-footer-menu li a:hover {
    color: var(--pp-primary);
    transform: translateX(5px);
}

.pp-social-link {
    width: 40px;
    height: 40px;
    background: rgba(255, 255, 255, 0.1);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #fff;
    transition: 0.3s;
}

.pp-social-link:hover {
    background: var(--pp-primary);
    transform: translateY(-3px);
}/* =========================================================================
   PAN PODLOGA - GLOBAL LAYOUT & UTILITIES
   ========================================================================= */

/* 1. Global Utilities */
.text-accent {
    color: #1a1a1a;
}

.bg-neutral-light {
    background-color: #f8fafc;
}

.font-heading {
    font-family: 'Poppins', sans-serif;
}

/* 2. Container & Grid Fixes */
.container {
    max-width: 1440px;
    margin-left: auto;
    margin-right: auto;
    padding-left: 1rem;
    padding-right: 1rem;
}

/* 3. Button Styles (Custom) */
.button.primary {
    background-color: #10B981;
    /* Green-500 equivalent */
    border-color: #10B981;
    color: white;
    font-weight: 700;
    text-transform: uppercase;
    border-radius: 9999px;
    /* Rounded full */
}

.button.primary:hover {
    background-color: #059669;
    /* Green-600 */
    border-color: #059669;
}

/* 4. Footer Tweaks */
.pp-footer-main ul li a:hover {
    color: #C5A065 !important;
    transform: translateX(4px);
}

/* Ensure Product Card is Relative for Absolute Icons */
.product-small,
.product-col,
.col-inner {
    position: relative;
}

/* =========================================
   FIX: HIDE STANDARD WOOCOMMERCE CONTROLS
   (Prevent Duplication with Calculator)
   ========================================= */

/* Hide the standard Add to Cart button (Gold) - Trigger via JS */
form.cart .single_add_to_cart_button {
    visibility: hidden !important;
    opacity: 0 !important;
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    padding: 0 !important;
    margin: 0 !important;
    overflow: hidden !important;
    z-index: -1 !important;
    pointer-events: none !important;
}

/* Ensure no other button rules override this */
body.single-product .product-summary form.cart .single_add_to_cart_button.button {
    visibility: hidden !important;
    opacity: 0 !important;
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    z-index: -1 !important;
}

/* Hide Quantity Input (Managed by Calculator) */
.quantity {
    display: none !important;
}

/* Show back in Cart/Checkout */
.woocommerce-cart .quantity,
.woocommerce-checkout .quantity {
    display: block !important;
}


/* =========================================
   PRODUCT DETAILS - HEADER & PRICE (FIX)
   ========================================= */

/* Price Header Wrapper */
.pp-price-header {
    margin-bottom: 1.5rem;
}

.pp-main-price-wrapper {
    display: flex;
    align-items: baseline;
    gap: 0.5rem;
}

/* Ensure Price is Big & Bold */
.pp-price-display .text-3xl,
.pp-price-display .amount,
.pp-price-display bdi {
    font-family: 'Poppins', sans-serif !important;
    font-size: 1.875rem !important;
    /* 30px */
    font-weight: 700 !important;
    color: #1a1a1a !important;
    /* Accent */
    line-height: 1.2 !important;
}

.pp-price-display .text-sm {
    font-size: 0.875rem !important;
    color: #6b7280 !important;
    font-weight: 500 !important;
}

/* Attributes Pills (Horizontal) */
.pp-specs-row {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-bottom: 16px;
    align-items: center;
}

.pp-attr-pill {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 6px 12px;
    border: 1px solid #e2e8f0;
    border-radius: 9999px;
    /* Pill shape */
    background: #f8fafc;
    color: #475569;
    font-size: 11px;
    font-weight: 600;
    white-space: nowrap;
    transition: all 0.2s;
}

.pp-attr-pill:hover {
    border-color: #cbd5e1;
    background: #f1f5f9;
    color: #0f172a;
}

.pp-attr-pill svg {
    width: 14px;
    height: 14px;
    color: #94a3b8;
}

/* =========================================
   TECHNICAL ICONS STRIP (Functions.php output)
   ========================================= */
.pp-ref-specs-strip {
    background: #f8fafc;
    /* neutral-light */
    border: 1px solid #f1f5f9;
    border-radius: 12px;
    padding: 12px 16px;
    margin-bottom: 24px;
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.pp-specs-label {
    font-size: 10px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: #94a3b8;
}

.pp-specs-grid {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
}

.pp-spec-box {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    background: #fff;
    border: 1px solid #e2e8f0;
    border-radius: 8px;
    color: #4b5563;
    transition: all 0.2s;
}

.pp-spec-box:hover {
    border-color: #cbd5e1;
    color: #0f172a;
    transform: translateY(-1px);
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.05);
}

.pp-spec-box svg {
    width: 20px;
    height: 20px;
}

/* =========================================
   LISTING ICONS (Card Overlay)
   ========================================= */
.pp-card-icons {
    position: absolute;
    top: 10px;
    right: 10px;
    display: flex;
    flex-direction: column;
    gap: 6px;
    z-index: 10;
}

.pp-card-icon {
    width: 28px;
    height: 28px;
    background: rgba(255, 255, 255, 0.95);
    backdrop-filter: blur(4px);
    border-radius: 6px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #4b5563;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
    transition: all 0.2s;
}

.pp-card-icon:hover {
    transform: scale(1.1);
    color: #1a1a1a;
}

/* =========================================
   PREMIUM BREADCRUMBS
   ========================================= */
.pp-breadcrumb-wrapper {
    margin-bottom: 24px;
    width: 100%;
}

/* Wstrzyknięte okruszki na blogu/stronach (wymagają własnego kontenera) */
body:not(.woocommerce):not(.woocommerce-page) .pp-breadcrumb-wrapper {
    margin: 2rem auto 0;
    max-width: 1200px;
    padding: 0 15px;
}

/* Węższy kontener dla pojedynczego wpisu, by zgrać się z wyśrodkowanym `.article-inner` jeśli nie użyliśmy pełnej szerokości layoutu */
.single-post .pp-breadcrumb-wrapper {
    max-width: 840px;
    /* Tyle samo co nasza .entry-content.single-page lub dopasowanie do designu */
    padding: 0;
}

.pp-breadcrumb-list {
    display: flex;
    flex-wrap: nowrap;
    align-items: center;
    list-style: none;
    padding: 0;
    margin: 0;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
    /* Hide scrollbar Firefox */
}

.pp-breadcrumb-list::-webkit-scrollbar {
    display: none;
    /* Hide scrollbar Chrome/Safari */
}

/* Add subtle fade effect on mobile overflow */
@media (max-width: 849px) {
    .pp-breadcrumb-wrapper {
        position: relative;
        mask-image: linear-gradient(to right, black 90%, transparent 100%);
        -webkit-mask-image: linear-gradient(to right, black 90%, transparent 100%);
    }
}

.pp-breadcrumb-item {
    display: flex;
    align-items: center;
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    color: #94a3b8;
    /* Slate-400 */
    white-space: nowrap;
}

.pp-breadcrumb-link {
    color: inherit;
    text-decoration: none;
    transition: color 0.2s;
}

.pp-breadcrumb-link:hover {
    color: #10B981;
    /* Primary */
}

.pp-breadcrumb-current {
    color: #1a1a1a;
    /* Accent/Slate-800 */
    font-weight: 800;
}

.pp-breadcrumb-separator {
    margin: 0 10px;
    display: flex;
    align-items: center;
    color: #cbd5e1;
    /* Slate-300 */
}

.pp-breadcrumb-separator svg {
    width: 10px;
    height: 10px;
}

/* =========================================
   NATIVE WIDGET POLISH
   ========================================= */
.pp-shop-sidebar .widget {
    margin-bottom: 24px;
    /* Reduced from 32px for tighter grouping */
}

.pp-shop-sidebar .widget-title {
    font-size: 10px !important;
    font-weight: 800 !important;
    text-transform: uppercase;
    letter-spacing: 0.15em;
    color: #0F172A;
    margin-bottom: 16px !important;
    /* Reduced from 24px for tighter look */
    padding-bottom: 10px;
    border-bottom: 1px solid #F1F5F9;
    font-family: 'Poppins', sans-serif !important;
}

/* Hide Active Filters in SIDEBAR (Only show in toolbar) */
.pp-shop-sidebar .widget_layered_nav_filters {
    display: none !important;
}

/* Category Depth Logic: One level below current only */
.widget_product_categories ul.product-categories>.cat-item:not(.current-cat):not(.current-cat-parent)>.children {
    display: none !important;
}

.widget_product_categories ul.product-categories>.cat-item.current-cat>.children>.cat-item>.children,
.widget_product_categories ul.product-categories>.cat-item.current-cat-parent>.children>.cat-item:not(.current-cat)>.children {
    display: none !important;
}

/* Category & Attribute List Styling */
.widget_product_categories ul,
.widget_layered_nav ul {
    list-style: none !important;
    padding: 0 !important;
    margin: 0 !important;
}

.widget_product_categories ul li,
.widget_layered_nav ul li {
    padding: 0 !important;
    border-bottom: 1px solid #F8FAFC;
    position: relative;
    transition: all 0.2s ease;
}

.widget_product_categories ul li:last-child,
.widget_layered_nav ul li:last-child {
    border-bottom: none;
}

.widget_product_categories ul li a,
.widget_layered_nav ul li a {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 10px 0;
    font-size: 13px !important;
    color: #475569 !important;
    font-weight: 500 !important;
    text-decoration: none !important;
    transition: all 0.2s ease;
}

.widget_product_categories ul li a:hover,
.widget_layered_nav ul li a:hover {
    color: #10B981 !important;
    padding-left: 4px;
}

/* Subcategories Indentation */
.widget_product_categories ul.children {
    margin: 0 !important;
    padding-left: 20px !important;
    border-left: 1px solid #F1F5F9;
}

.widget_product_categories .toggle {
    display: none !important;
}

.widget_product_categories ul li.current-cat>a {
    color: #0F172A !important;
    font-weight: 700 !important;
}

.widget_product_categories ul li.current-cat>a::before {
    content: '';
    position: absolute;
    left: -15px;
    top: 10px;
    bottom: 10px;
    width: 3px;
    background: #10B981;
    border-radius: 0 2px 2px 0;
}

.widget_product_categories li.has-child>a::after {
    content: '';
    display: block;
    width: 6px;
    height: 6px;
    border-right: 1.5px solid #CBD5E1;
    border-bottom: 1.5px solid #CBD5E1;
    transform: rotate(45deg);
    margin-right: 4px;
    transition: transform 0.3s;
}

.widget_product_categories li.cat-parent.current-cat-parent>a::after,
.widget_product_categories li.current-cat.has-child>a::after {
    transform: rotate(225deg);
    border-color: #10B981;
}

/* 
   ACTIVE FILTERS PILLS (Toolbar)
   ========================================= */
.pp-shop-toolbar .widget_layered_nav_filters ul {
    display: flex !important;
    flex-wrap: wrap;
    gap: 8px;
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
}

.pp-shop-toolbar .widget_layered_nav_filters .widgettitle {
    display: none !important;
}

.pp-shop-toolbar .widget_layered_nav_filters ul li {
    padding: 0 !important;
    border: none !important;
}

.pp-shop-toolbar .widget_layered_nav_filters ul li a {
    display: flex;
    align-items: center;
    gap: 6px;
    padding: 6px 12px;
    background: #FFF;
    border: 1px solid #E2E8F0;
    border-radius: 9999px;
    font-size: 11px !important;
    font-weight: 700 !important;
    color: #475569 !important;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    transition: all 0.2s;
}

.pp-shop-toolbar .widget_layered_nav_filters ul li a:hover {
    border-color: #10B981;
    color: #10B981 !important;
    background: #F0FDF4;
}

/* The "X" to remove */
.pp-shop-toolbar .widget_layered_nav_filters ul li a::before {
    content: "\e93a";
    /* Flatsome icon font 'X' */
    font-family: "fl-icons";
    font-size: 8px;
    order: 2;
}

/* Clear all link style improvement */
.pp-shop-toolbar .widget_layered_nav_filters ul li:last-child a {
    background: #0F172A;
    border-color: #0F172A;
    color: #FFF !important;
}

.pp-shop-toolbar .widget_layered_nav_filters ul li:last-child a::before {
    display: none;
}

/* Price Filter Widget */
.widget_price_filter .price_slider {
    background: #F1F5F9 !important;
    height: 4px !important;
    border: none !important;
    margin-bottom: 28px !important;
    border-radius: 2px !important;
}

.widget_price_filter .ui-slider-range {
    background: #10B981 !important;
}

.widget_price_filter .ui-slider-handle {
    width: 14px !important;
    height: 14px !important;
    background: #FFF !important;
    border: 2px solid #10B981 !important;
    border-radius: 50% !important;
    top: -5px !important;
    cursor: grab !important;
    box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1) !important;
    outline: none !important;
}

.widget_price_filter .ui-slider-handle:hover {
    transform: scale(1.15);
}

.widget_price_filter button.button {
    background: #0F172A !important;
    color: #FFF !important;
    font-size: 10px !important;
    font-weight: 800 !important;
    text-transform: uppercase;
    padding: 12px 24px !important;
    border-radius: 8px !important;
    letter-spacing: 0.12em;
    width: 100%;
    margin-top: 15px !important;
    transition: all 0.3s ease !important;
    box-shadow: 0 4px 6px -1px rgba(15, 23, 42, 0.1) !important;
}

.widget_price_filter button.button:hover {
    background: #10B981 !important;
    transform: translateY(-2px);
    box-shadow: 0 12px 16px -4px rgba(16, 185, 129, 0.3) !important;
}

/* Recently Viewed Widget */
.widget_recently_viewed_products ul li {
    padding: 12px 0 !important;
    border-bottom: 1px solid #F1F5F9;
    display: flex;
    align-items: center;
    gap: 12px;
}

.widget_recently_viewed_products ul li:last-child {
    border-bottom: none;
}

.widget_recently_viewed_products img {
    border-radius: 6px;
    margin-right: 10px;
    width: 48px !important;
    height: 48px !important;
    object-fit: cover !important;
}

.widget_recently_viewed_products .product-title {
    font-size: 11px !important;
    font-weight: 600 !important;
    color: #475569 !important;
}

/* 
   PRODUCT CARD - BOUTIQUE RATINGS
   ========================================= */
.product-small .star-rating {
    font-size: 11px !important;
    width: 65px !important;
    height: 1.25em !important;
    margin: 8px 0 !important;
    color: #E2E8F0 !important;
}

.product-small .star-rating::before {
    color: #E2E8F0 !important;
    opacity: 1 !important;
}

.product-small .star-rating span::before {
    color: #10B981 !important;
}

/* Review count inline */
.product-small .star-rating+.reviews-count {
    font-size: 10px;
    font-weight: 700;
    color: #94A3B8;
    margin-left: 4px;
    vertical-align: middle;
    display: inline-block;
}

/* =========================================
   PP CUSTOM FILTERS (SIDEBAR & CHIPS)
   ========================================= */

/* Sidebar Active Header */
.pp-filters-active-header {
    margin-bottom: 16px;
    padding-bottom: 16px;
    border-bottom: 1px solid #f1f5f9;
}

.pp-filters-clear-all {
    font-size: 11px;
    font-weight: 700;
    color: #ef4444;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    transition: color 0.2s;
    text-decoration: none;
    display: inline-block;
}

.pp-filters-clear-all:hover {
    color: #dc2626;
}

/* Category Navigator */
.pp-category-navigator {
    margin-bottom: 24px;
}

.pp-cat-back-link {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 16px;
    font-size: 12px;
    font-weight: 700;
    color: #94a3b8;
    transition: color 0.2s;
    text-decoration: none;
}

.pp-cat-back-link:hover {
    color: #10B981;
}

.pp-current-cat-pill {
    background-color: #f8fafc;
    border: 1px solid #f1f5f9;
    padding: 12px 16px;
    border-radius: 8px;
    margin-bottom: 16px;
}

.pp-current-cat-pill span {
    font-size: 11px;
    font-weight: 900;
    color: #1e293b;
    text-transform: uppercase;
    letter-spacing: 0.1em;
}

/* Filter List */
.pp-filter-list {
    list-style: none;
    padding: 0;
    margin: 0;
}

.pp-filter-item {
    margin-bottom: 8px;
}

.pp-filter-link,
.pp-checkbox-label {
    display: flex;
    align-items: center;
    justify-content: space-between;
    font-size: 13px;
    color: #475569;
    text-decoration: none;
    cursor: pointer;
    transition: color 0.2s;
}

.pp-filter-link:hover,
.pp-checkbox-label:hover {
    color: #10B981;
}

.pp-filter-count {
    font-size: 10px;
    color: #cbd5e1;
}

.pp-checkbox-label {
    justify-content: flex-start;
    gap: 8px;
}

.pp-checkbox-custom {
    width: 16px;
    height: 16px;
    border: 1px solid #cbd5e1;
    border-radius: 4px;
    display: inline-block;
    position: relative;
    transition: all 0.2s;
}

.pp-filter-ajax:checked+.pp-checkbox-custom {
    background: #10B981;
    border-color: #10B981;
}

.pp-filter-ajax:checked+.pp-checkbox-custom::after {
    content: '';
    position: absolute;
    left: 4px;
    top: 1px;
    width: 4px;
    height: 8px;
    border: solid white;
    border-width: 0 2px 2px 0;
    transform: rotate(45deg);
}

.pp-filter-name {
    flex-grow: 1;
}

.pp-filter-ajax {
    display: none;
}

/* Color Swatches */
.pp-filter-swatch-list {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.pp-filter-swatch-item {
    margin: 0;
}

.pp-swatch-label {
    cursor: pointer;
}

.pp-swatch-visual {
    display: block;
    width: 24px;
    height: 24px;
    border-radius: 50%;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.05);
    transition: transform 0.2s, box-shadow 0.2s;
}

.pp-filter-ajax:checked+.pp-swatch-visual {
    box-shadow: 0 0 0 2px #fff, 0 0 0 4px #10B981;
    transform: scale(1.1);
}

.pp-swatch-label:hover .pp-swatch-visual {
    transform: scale(1.1);
}

/* Price Inputs */
.pp-price-inputs {
    display: flex;
    justify-content: space-between;
    gap: 8px;
    margin-top: 16px;
}

.pp-price-input {
    width: 100%;
    padding: 8px 12px;
    border: 1px solid #e2e8f0;
    border-radius: 8px;
    font-size: 13px;
    color: #475569;
}

/* Accordion Logic inside Sidebar */
.pp-filter-group {
    margin-bottom: 24px;
    border-bottom: 1px solid #f1f5f9;
    padding-bottom: 24px;
}

.pp-filter-group:last-child {
    border-bottom: none;
}

.pp-filter-group-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    cursor: pointer;
    margin-bottom: 16px;
}

.pp-filter-group-header-left {
    display: flex;
    align-items: center;
    gap: 8px;
}

.pp-filter-label-icon {
    color: #94a3b8;
}

.pp-filter-group-label {
    font-size: 13px;
    font-weight: 700;
    color: #0F172A;
    margin: 0;
    text-transform: uppercase;
    letter-spacing: 0.05em;
}

.pp-filter-toggle-icon {
    color: #94a3b8;
    transition: transform 0.3s ease;
}

.pp-filter-toggle-icon.is-rotated {
    transform: rotate(180deg);
}

.pp-filter-group-content {
    display: none;
}

.pp-filter-group-content.is-open {
    display: block;
}

/* Active Chips (Toolbar) */
.pp-active-filters-wrapper {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px;
    margin-bottom: 16px;
}

.pp-active-filter-chip {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 6px 12px;
    background: #f1f5f9;
    border: 1px solid #e2e8f0;
    border-radius: 9999px;
    cursor: pointer;
    transition: all 0.2s;
}

.pp-active-filter-chip:hover {
    background: #fef2f2;
    border-color: #fca5a5;
    color: #ef4444;
}

.pp-active-filter-chip:hover .pp-chip-label,
.pp-active-filter-chip:hover .pp-chip-remove {
    color: #ef4444;
}

.pp-chip-label {
    font-size: 11px;
    font-weight: 700;
    color: #475569;
    text-transform: uppercase;
    letter-spacing: 0.05em;
}

.pp-chip-remove {
    color: #94a3b8;
    display: flex;
    align-items: center;
}

.pp-clear-all-link {
    font-size: 10px;
    font-weight: 700;
    color: #94a3b8;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    text-decoration: none;
    margin-left: 8px;
    transition: color 0.2s;
}

.pp-clear-all-link:hover {
    color: #ef4444;
}/* =========================================================
   PanPodloga.pl — Header & Mega Menu CSS
   Organic Modern Redesign
   ========================================================= */

/* --- HEADER MAIN NAVIGATION ALIGNMENT --- */
#masthead .header-inner .flex-left.flex-grow>.header-nav {
    display: flex !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
    /* Wyrównanie w osi pionowej (Katalog, Inspiracje, Wyszukiwarka) */
    width: 100% !important;
    gap: 25px !important;
    /* Odstęp między linkami */
}

/* Wygaszamy domyślne marginesy prawostronne Flatsome dla lepszej kontroli i wymuszamy element wierszowy */
#masthead .header-inner .flex-left.flex-grow>.header-nav>li {
    margin: 0 !important;
    display: flex !important;
    align-items: center !important;
    flex-shrink: 0 !important;
    flex-grow: 0 !important;
    width: auto !important;
    /* Blokuje rozciąganie nienaturalnych elementów jak "Katalog" czy "Inspiracje" */
    float: none !important;
}

/* Link Inspiracje - poprawka estetyki ikony i wyrównania */
.pp-inspiracje-link {
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
    font-weight: 700;
    font-size: 14px;
    color: var(--pp-secondary);
    transition: color 0.2s;
    white-space: nowrap;
}

.pp-inspiracje-link:hover {
    color: var(--pp-primary);
}

.pp-inspiracje-link i {
    font-size: 18px;
    /* Wielkość ikony Instagrama */
}

/* Wyszukiwarka wypełnia wolną lewą stronę spychając koszyk na prawą część */
#masthead .header-inner .flex-left.flex-grow>.header-nav>li.header-search-form {
    flex-grow: 1 !important;
    flex-shrink: 1 !important;
    max-width: 500px !important;
    margin-right: 20px !important;
    /* SKURCZENIE WYSZUKIWARKI ABY ZROBIĆ MIEJSCE IKONOMI */
    min-width: 0 !important;
}

/* Ograniczenie żeby wyszukiwarka nie uciekała w prawo i nie wchodziła pod ikonę INSPIRACJI */
#masthead .header-inner .flex-left.flex-grow>.header-nav>li.header-search-form form {
    max-width: 500px !important;
}

/* Gwarancja, że wewnętrzne divy wyszukiwarki będą podążać za kontenerem */
#masthead .header-inner .flex-left.flex-grow>.header-nav .header-search-form-wrapper,
#masthead .header-inner .flex-left.flex-grow>.header-nav .searchform-wrapper,
#masthead .header-inner .flex-left.flex-grow>.header-nav form {
    width: 100% !important;
    /* Nie pozwalaj urosnąć powyżej flex container bounds */
    max-width: 100% !important;
}

/* Ochrona prawego menu przez ściskaniem */
#masthead .flex-right {
    flex-shrink: 0 !important;
    z-index: 20;
    /* upewnia się, że ew overlap wyszukiwarki pozostanie pod spodem */
}

/* Redesign wyszukiwarki - Pill Shape i CTRL+K */
#masthead .header-inner .header-search-form input.search-field {
    border-radius: 999px !important;
    background-color: #f8fafc !important;
    /* very light gray */
    border: 1px solid #e2e8f0 !important;
    height: 48px !important;
    /* 48px matching button */
    padding-left: 20px;
    padding-right: 80px !important;
    /* offset aby ukryc search button i ikone CTRL+K pod spodem */
    box-shadow: none !important;
    font-size: 14px;
    color: #475569;
}

/* Reset zaokrągleń ikonki Flatsome do pół-pilla */
#masthead .header-inner .header-search-form button[type="submit"] {
    border-radius: 0 999px 999px 0 !important;
    background: transparent !important;
    color: #64748b !important;
    height: 48px !important;
}

/* Relatywna obudowa formularza żeby wrzucić CTRL+K absolute ::after usunięto w ramach nowej JS injekcji */

/* --- MEGA MENU OPENER --- */
.pp-menu-opener {
    background-color: #0f172a !important;
    color: #ffffff !important;
    padding: 0 24px;
    border-radius: 999px;
    display: inline-flex;
    align-items: center;
    cursor: pointer;
    transition: background 0.2s, transform 0.2s;
    font-weight: 600;
    /* uszczuplony font-weight */
    line-height: 1;
    height: 48px;
    white-space: nowrap;
}

.pp-menu-opener:hover {
    background-color: #1e293b !important;
}

.pp-opener-text {
    font-size: 14px;
    letter-spacing: 0.02em;
    margin-left: 10px;
    text-transform: none;
}

/* --- MEGA MENU FLYOUT WRAPPER --- */
.pp-custom-menu-wrapper {
    display: inline-block;
    z-index: 999;
    /* Poprawa z-index (kolizje z headerem u góry) */
    vertical-align: middle;
}

/* Show the flyout smoothly on hover */
.pp-custom-menu-wrapper:hover .pp-custom-flyout {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
    pointer-events: auto;
}

/* The actual floating container */
.pp-custom-flyout {
    position: absolute;
    top: 100%;
    left: 0;
    margin-top: 12px;

    /* Zmiana sztywnego 900px na max-width + padding dla bezpieczeństwa */
    width: max-content;
    max-width: calc(100vw - 40px);

    opacity: 0;
    visibility: hidden;
    transform: translateY(10px);
    transition: all 0.3s cubic-bezier(0.165, 0.84, 0.44, 1);
    background: transparent;
    z-index: 1000;
    box-shadow: 0 50px 100px -20px rgba(50, 50, 93, 0.25), 0 30px 60px -30px rgba(0, 0, 0, 0.3);
    border-radius: var(--radius-xl);
}

/* Fix for right-edge bleed on small laptops */
@media (max-width: 1024px) {
    .pp-custom-flyout {
        max-width: calc(100vw - 20px);
    }
}

/* =========================================
   MEGA MENU INNER STRUCTURE (GRID/FLEX)
   ========================================= */

.pp-mega-menu-wrapper {
    width: 100%;
    background: #fff;
    border-radius: var(--radius-xl);
    overflow: hidden;
    display: flex;
    min-height: 520px;
    border: 1px solid var(--pp-border);
}

/* Sidebar with main categories */
.pp-mm-sidebar {
    width: 260px;
    flex-shrink: 0;
    /* Zapobiegnie zgniataniu */
    background: #fff;
    border-right: 1px solid var(--pp-border);
    display: flex;
    flex-direction: column;
    padding: 20px 0;
    z-index: 2;
    position: relative;
}

/* Sidebar Item */
.pp-mm-item {
    display: flex;
    align-items: center;
    padding: 12px 24px;
    cursor: pointer;
    transition: all 0.2s;
    color: var(--pp-secondary);
    font-weight: 700;
    font-size: 14px;
    letter-spacing: 0.02em;
    position: relative;
}

.pp-mm-item:hover,
.pp-mm-item.active {
    background: var(--pp-primary-light);
    color: var(--pp-primary);
}

.pp-mm-item.active::before {
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    bottom: 0;
    width: 4px;
    background: var(--pp-primary);
}

.pp-mm-icon {
    margin-right: 12px;
    opacity: 0.5;
    transition: 0.2s;
}

.pp-mm-item:hover .pp-mm-icon,
.pp-mm-item.active .pp-mm-icon {
    opacity: 1;
    color: var(--pp-primary);
}

.pp-mm-arrow {
    margin-left: auto;
    opacity: 0;
    transition: all 0.2s;
    transform: translateX(-5px);
}

.pp-mm-item:hover .pp-mm-arrow,
.pp-mm-item.active .pp-mm-arrow {
    opacity: 1;
    transform: translateX(0);
}

/* Sidebar Footer (Outlet Button) */
.pp-mm-footer {
    margin-top: auto;
    padding: 20px 24px 0;
}

.pp-mm-promo-btn {
    background: #FEF2F2;
    /* Red-50 */
    color: #dc2626;
    /* Red-600 */
    width: 100%;
    padding: 12px;
    border-radius: var(--radius-lg);
    font-weight: 800;
    text-align: center;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    font-size: 13px;
    transition: background 0.2s;
    text-transform: uppercase;
    letter-spacing: 0.05em;
}

.pp-mm-promo-btn:hover {
    background: #fee2e2;
    /* Red-100 */
    color: #b91c1c;
    /* Red-700 */
}

/* =========================================
   MEGA MENU PANELS (CONTENT)
   ========================================= */

.pp-mm-content {
    flex: 1;
    padding: 40px;
    background: #FFFCF8;
    /* Bardzo delikatny ciepły ton (z głównego designu) */
    display: none;
    z-index: 1;
}

.pp-mm-content.active {
    display: flex;
    animation: ppFadeIn 0.3s ease forwards;
}

@keyframes ppFadeIn {
    from {
        opacity: 0;
        transform: translateX(10px);
    }

    to {
        opacity: 1;
        transform: translateX(0);
    }
}

.pp-mm-grid {
    flex: 1;
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 30px 40px;
    align-content: start;
}

/* Usunięcie sztywnej kratki jeśli jest mały rozmiar np. tablet poziomy (rzadko widoczne) */
@media (max-width: 1024px) {
    .pp-mm-grid {
        grid-template-columns: 1fr;
    }
}

.pp-mm-col-title {
    font-weight: 900;
    font-size: 12px;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    color: var(--pp-accent);
    margin-bottom: 15px;
    display: flex;
    align-items: center;
    gap: 8px;
    opacity: 0.8;
}

.pp-mm-link {
    display: block;
    padding: 5px 0;
    color: var(--pp-secondary);
    font-size: 14px;
    font-weight: 500;
    transition: all 0.2s;
    position: relative;
}

.pp-mm-link:hover {
    color: var(--pp-primary);
    transform: translateX(5px);
}

/* =========================================
   MEGA MENU BANNER (RIGHT SIDE)
   ========================================= */

.pp-mm-banner {
    width: 280px;
    flex-shrink: 0;
    background: var(--pp-accent);
    border-radius: var(--radius-lg);
    overflow: hidden;
    position: relative;
    margin-left: 40px;
    box-shadow: 0 15px 35px rgba(0, 0, 0, 0.2);
    height: 440px;
}

/* Hide banner on narrow screens to prevent overflow */
@media (max-width: 1080px) {
    .pp-mm-banner {
        display: none !important;
    }
}

.pp-mm-banner img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    opacity: 0.7;
    transition: transform 0.7s ease;
}

.pp-mm-banner:hover img {
    transform: scale(1.1);
    opacity: 0.5;
}

.pp-mm-banner-content {
    position: absolute;
    bottom: 30px;
    left: 25px;
    right: 25px;
    z-index: 10;
    text-align: center;
}

.pp-mm-banner-label {
    color: var(--pp-primary);
    font-size: 10px;
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: 2px;
    margin-bottom: 10px;
    display: block;
}

.pp-mm-banner-title {
    color: #fff;
    font-size: 26px;
    font-weight: 900;
    line-height: 1.1;
    margin-bottom: 20px;
    font-family: inherit;
}

.pp-mm-banner-btn {
    background: rgba(255, 255, 255, 0.1);
    backdrop-filter: blur(10px);
    border: 1px solid rgba(255, 255, 255, 0.4);
    color: #fff;
    padding: 12px 24px;
    border-radius: 30px;
    font-size: 11px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 1px;
    transition: all 0.3s;
    display: inline-block;
}

.pp-mm-banner-btn:hover {
    background: var(--pp-primary);
    border-color: var(--pp-primary);
    color: #fff;
    transform: translateY(-2px);
    box-shadow: 0 5px 15px rgba(197, 160, 101, 0.4);
}

/* =========================================================
   UX/UI REDESIGN - PIXEL PERFECT HEADER
   ========================================================= */

/* Reset i globalne zmienne bazujące na mockupie */
:root {
    --hdr-dark: #0f172a;
    /* Ciemny czarny/granat */
    --hdr-gray: #f8fafc;
    /* Bardzo jasny szary (wyszukiwarka) */
    --hdr-gray-dim: #f1f5f9;
    /* Szare tło (Katalog) */
    --hdr-border: #e2e8f0;
    /* Ramki wyszukiwarki */
    --hdr-text: #475569;
    /* Ciemnoszary dla teksów */
    --hdr-text-light: #64748b;
    /* Jasnoszary mniejszy tekst */
    --hdr-green: #10b981;
    /* Akcent zielony */
}



/* 2. PRZYCISK KATALOG */
.pp-cat-btn {
    background-color: var(--hdr-dark) !important;
    border-radius: 999px !important;
    height: 48px !important;
    padding: 0 24px !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 12px !important;
    color: #ffffff !important;
    font-weight: 600 !important;
    font-size: 14px !important;
    cursor: pointer;
    transition: background-color 0.2s ease;
    border: none !important;
}

.pp-cat-btn:hover {
    background-color: #1e293b !important;
}

.pp-cat-btn svg {
    width: 18px !important;
    height: 18px !important;
    color: #ffffff !important;
    stroke: #ffffff !important;
}

.pp-cat-btn-text {
    margin-bottom: 2px;
}

/* 3. WYSZUKIWARKA PILL */
.pp-search-wrapper {
    width: 100%;
    position: relative;
    display: flex;
    align-items: center;
}

.pp-search-input {
    width: 100%;
    height: 48px !important;
    background-color: var(--hdr-gray) !important;
    border: 1px solid var(--hdr-border) !important;
    border-radius: 999px !important;
    padding: 0 80px 0 52px !important;
    font-size: 14px !important;
    color: var(--hdr-text) !important;
    box-shadow: none !important;
    margin-bottom: 0 !important;
}

.pp-search-input::placeholder {
    color: #94a3b8;
    font-weight: 400;
}

.pp-search-icon {
    position: absolute !important;
    left: 20px !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    width: 20px !important;
    height: 20px !important;
    color: #94a3b8 !important;
    pointer-events: none !important;
    z-index: 5 !important;
}

.pp-search-ctrlk {
    position: absolute;
    right: 12px;
    background-color: #ffffff;
    border: 1px solid var(--hdr-border);
    border-radius: 6px;
    padding: 4px 8px;
    font-size: 10px;
    font-weight: 700;
    color: var(--hdr-text-light);
    pointer-events: none;
}

.pp-search-submit {
    display: none !important;
}

/* 4. IKONY (Prawa Strona) */
.pp-icon-group {
    display: flex;
    align-items: center;
    gap: 36px;
    margin: 0 20px 0 10px;
}

.pp-icon-btn {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 4px;
    color: var(--hdr-text);
    text-decoration: none !important;
    transition: color 0.2s ease;
}

.pp-icon-btn:hover {
    color: var(--hdr-green);
}

.pp-icon-btn:hover svg {
    stroke: var(--hdr-green);
}

.pp-icon-svg-wrapper {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
}

.pp-icon-btn svg {
    width: 24px;
    height: 24px;
    stroke: var(--hdr-text);
    stroke-width: 1.25;
    fill: none;
    transition: stroke 0.2s ease;
}

.pp-icon-label {
    font-size: 10px;
    font-weight: 600;
    line-height: 1;
}

/* Zielona kropka powiadomienia na kamerce */
.pp-dot-badge {
    position: absolute;
    top: -2px;
    right: -2px;
    width: 10px;
    height: 10px;
    background-color: var(--hdr-green);
    border: 2px solid #ffffff;
    border-radius: 50%;
}

/* 5. PRZYCISK KOSZYKA (Dark Pill) */
.pp-cart-pill {
    background-color: var(--hdr-dark) !important;
    border-radius: 999px !important;
    height: 48px !important;
    padding: 0 20px 0 16px !important;
    display: flex !important;
    align-items: center !important;
    gap: 14px !important;
    text-decoration: none !important;
    transition: background-color 0.2s ease !important;
    text-transform: none !important;
    border: none !important;
}

.pp-cart-pill:hover,
#masthead .cart-item:hover .pp-cart-pill {
    background-color: #1e293b !important;
    color: #ffffff !important;
}

.pp-cart-bag-wrapper {
    position: relative !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 20px !important;
    height: 20px !important;
}

.pp-cart-pill svg {
    width: 20px !important;
    height: 20px !important;
    stroke: #ffffff !important;
    stroke-width: 1.8 !important;
    fill: none !important;
}

/* 100% CZYSTY BADGE (odcięty od Flatsome) */
.pp-cart-pill .pp-cart-count {
    position: absolute !important;
    top: -4px !important;
    right: -8px !important;
    background-color: var(--hdr-green) !important;
    color: #ffffff !important;
    font-size: 11px !important;
    font-weight: 800 !important;
    min-width: 20px !important;
    height: 20px !important;
    border-radius: 99px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    border: 2px solid var(--hdr-dark) !important;
    line-height: 1 !important;
    padding: 0 4px !important;
    box-sizing: border-box !important;
    margin: 0 !important;
    transform: none !important;
    box-shadow: none !important;
}

.pp-cart-pill .pp-cart-count strong {
    font-weight: 800 !important;
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
    color: inherit !important;
    padding: 0 !important;
    margin: 0 !important;
}

.pp-cart-text-area {
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    justify-content: center !important;
    line-height: 1.2 !important;
    text-align: left !important;
}

.pp-cart-pill .pp-cart-label {
    color: #9ca3af !important;
    font-size: 10px !important;
    font-weight: 600 !important;
    margin-bottom: 2px !important;
    text-transform: none !important;
}

.pp-cart-pill .pp-cart-amount,
.pp-cart-pill .pp-cart-amount .amount,
.pp-cart-pill .pp-cart-amount bdi {
    color: #ffffff !important;
    font-size: 13px !important;
    font-weight: 800 !important;
    margin-top: 1px !important;
}

/* Ukrywamy stary koszyk, ale BEZ ukrywania zawartości rozwijanej mini-cart widget, stąd bezpośrednie odniesienia */
#masthead .cart-item>a>.header-cart-title {
    display: none !important;
}

/* =========================================================
   FLATSOME DEFAULT VERTICAL MENU OVERRIDES (RESTYLING)
   Odbudowa wizualna domyślnego mechanizmu fly-out Flatsome
   ========================================================= */

/* GLOBAL: Remove annoying underlines from Flatsome links */
#masthead .header-vertical-menu a,
#masthead .nav-vertical-fly-out a,
#masthead .nav-dropdown a,
#masthead .nav-column a {
    text-decoration: none !important;
    box-shadow: none !important;
    /* Czasami Flatsome daje shadow wybijający się jako linia */
}

/* Trigger Styl (Katalog Produktów) */
#masthead .header-vertical-menu__opener {
    background: #0f172a !important;
    border-radius: 999px !important;
    padding: 0 24px !important;
    height: 48px !important;
    /* Wyrównanie z wyszukiwarką */
    color: #ffffff !important;
    font-weight: 600 !important;
    font-size: 14px !important;
    transition: all 0.2s ease !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 12px !important;
    border: 1px solid transparent !important;
    white-space: nowrap !important;
    /* ZAPOBIEGA ŁAMANIU TEKSTU */
}

#masthead .header-vertical-menu__title {
    display: inline-flex !important;
    align-items: center !important;
    text-transform: none !important;
    letter-spacing: normal !important;
    white-space: nowrap !important;
}

#masthead .header-vertical-menu__opener:hover {
    background: #e5e7eb !important;
    color: var(--hdr-green) !important;
}

/* Główny kontener Dropdown (Fly-out) poziom 1 */
#masthead li.header-vertical-menu {
    position: relative !important;
}

#masthead .header-vertical-menu__fly-out {
    position: absolute !important;
    top: 100% !important;
    left: 0 !important;
    margin-top: 15px !important;
    min-width: 280px !important;
    max-width: 90vw !important;
    background: #ffffff !important;
    border-radius: 16px !important;
    box-shadow: 0 20px 50px -10px rgba(0, 0, 0, 0.15) !important;
    border: 1px solid rgba(0, 0, 0, 0.05) !important;
    padding: 12px 0 !important;
    z-index: 100 !important;
}

/* Elementy pierwszej warstwy w pionowym menu */
#masthead .nav-vertical-fly-out>li>a {
    padding: 12px 24px !important;
    font-size: 15px !important;
    font-weight: 700 !important;
    color: #1e293b !important;
    transition: all 0.2s ease !important;
    display: flex !important;
    align-items: center !important;
    gap: 16px !important;
    border-bottom: none !important;
    border-radius: 12px !important;
    margin: 4px 12px !important;
}

#masthead .nav-vertical-fly-out>li {
    border-bottom: none !important;
}

#masthead .nav-vertical-fly-out>li>a:hover {
    background-color: #f8fafc !important;
    color: var(--hdr-green, #10b981) !important;
    transform: translateX(4px) !important;
}

/* Ikony Lucide z kółkiem (Wstrzykiwane przez JS) */
#masthead .nav-vertical-fly-out>li>a .pp-premium-menu-icon {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 44px !important;
    height: 44px !important;
    background-color: #f1f5f9 !important;
    border-radius: 50% !important;
    flex-shrink: 0 !important;
    margin-right: 16px !important;
    color: #475569 !important;
    transition: all 0.2s ease !important;
}

#masthead .nav-vertical-fly-out>li>a .pp-premium-menu-icon svg {
    width: 22px;
    height: 22px;
    stroke-width: 2.2;
}

/* Właściwy tekst nawigacji */
#masthead .nav-vertical-fly-out>li>a .pp-menu-item-text {
    flex-grow: 1 !important;
}

/* Wyrównanie i widoczność strzałki (Toggle) */
#masthead .nav-vertical-fly-out>li>a>i[class*="icon-angle"],
#masthead .nav-vertical-fly-out>li>a>.toggle {
    margin-left: auto !important;
    font-size: 16px !important;
    font-weight: 900 !important;
    color: #94a3b8 !important;
    background: transparent !important;
    width: auto !important;
    height: auto !important;
    padding: 0 !important;
    transition: all 0.2s ease !important;
}

/* Stany HOVER dla wstrzykniętych elementów */
#masthead .nav-vertical-fly-out>li>a:hover .pp-premium-menu-icon {
    background-color: #e2e8f0 !important;
    color: var(--hdr-green, #10b981) !important;
}

#masthead .nav-vertical-fly-out>li>a:hover>i[class*="icon-angle"] {
    color: var(--hdr-green, #10b981) !important;
}

/* Promocje / Czerwony item (Ostatni lub z określoną klasą) */
#masthead .nav-vertical-fly-out>li.menu-item-sale>a,
#masthead .nav-vertical-fly-out>li.menu-item-promocje>a,
#masthead .nav-vertical-fly-out>li:last-child>a {
    color: #ef4444 !important;
}

#masthead .nav-vertical-fly-out>li:last-child>a .pp-premium-menu-icon {
    background-color: #fee2e2 !important;
    color: #ef4444 !important;
}

#masthead .nav-vertical-fly-out>li:last-child>a:hover {
    background-color: #fef2f2 !important;
    color: #dc2626 !important;
}

#masthead .nav-vertical-fly-out>li:last-child>a:hover .pp-premium-menu-icon {
    background-color: #fecaca !important;
    color: #dc2626 !important;
}

/* SUB-MENUS (Drugi poziom) - Flexbox Mega Menu Panel */
/* Zamieniamy domyślne zachowanie Flatsome (display block) na flex żeby ułożyć kolumny obok siebie */
#masthead .nav-vertical-fly-out .sub-menu.nav-dropdown {
    position: absolute !important;
    top: -12px !important;
    left: 100% !important;
    margin-left: 5px !important;
    background: #ffffff !important;
    border-radius: 16px !important;
    box-shadow: 0 20px 50px -10px rgba(0, 0, 0, 0.15) !important;
    padding: 24px 32px !important;
    /* Większy padding dla wrażenia premium */
    min-width: max-content !important;
    /* Niech rozszerzy się na wszystkie kolumny */
    border: 1px solid rgba(0, 0, 0, 0.05) !important;

    /* Layout Mega Menu */
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    gap: 40px !important;
    /* Dużo oddechu między kolumnami */

    visibility: hidden;
    opacity: 0;
    transform: translateX(-10px);
    transition: all 0.3s cubic-bezier(0.165, 0.84, 0.44, 1) !important;
}

#masthead .nav-vertical-fly-out li:hover>.sub-menu.nav-dropdown {
    visibility: visible;
    opacity: 1;
    transform: translateX(0);
}

/* HEADERY KOLUMN W MEGA MENU (.nav-dropdown-col) */
#masthead .nav-vertical-fly-out .nav-dropdown-col {
    border-bottom: none !important;
    min-width: 190px !important;
}

/* Główny link będący tytułem kolumny */
#masthead .nav-vertical-fly-out .nav-dropdown-col>a {
    font-weight: 800 !important;
    font-size: 11px !important;
    text-transform: uppercase !important;
    letter-spacing: 0.5px !important;
    color: #94a3b8 !important;
    /* Wybitnie z makiety Premium */
    padding: 0 0 16px 0 !important;
    margin-bottom: 12px !important;
    border-bottom: 1px solid #f1f5f9 !important;
    /* Lżejsze cięcie pod spodem */
    display: block !important;
    pointer-events: none !important;
    /* Zgodnie z UX, nagłówków kolumn się nie klika */
}

/* Dezaktywuj domyślny efekt Flatsome na tytule kolumny */
#masthead .nav-vertical-fly-out .nav-dropdown-col>a:hover {
    background: transparent !important;
    transform: none !important;
    color: #94a3b8 !important;
}

/* Właściwe opcje w kolumnie (sub-items) */
#masthead .nav-vertical-fly-out .nav-column {
    display: flex !important;
    flex-direction: column !important;
    gap: 12px !important;
    padding: 0 !important;
}

#masthead .nav-vertical-fly-out .nav-column>li {
    border-bottom: none !important;
    width: 100% !important;
}

#masthead .nav-vertical-fly-out .nav-column>li>a {
    padding: 2px 0 !important;
    font-size: 14px !important;
    color: #475569 !important;
    font-weight: 500 !important;
    transition: all 0.2s ease !important;
    display: block !important;
}

#masthead .nav-vertical-fly-out .nav-column>li>a:hover {
    color: var(--hdr-green, #10b981) !important;
    background: transparent !important;
    transform: translateX(4px) !important;
}

/* =========================================================
   MEGA MENU LEVEL 3 - DYNAMICZNE ZNACZKI (wstrzykiwane z JS)
   ========================================================= */
.pp-sub-menu-content-wrapper {
    display: flex;
    align-items: flex-start;
    /* Dla ikonek z lewej */
    width: 100%;
}

.pp-sub-menu-icon {
    margin-right: 8px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin-top: 1px;
}

.pp-sub-menu-swatch {
    width: 18px;
    height: 18px;
    border-radius: 50%;
    margin-right: 8px;
    display: inline-block;
    box-shadow: inset 0 0 0 1px rgba(0, 0, 0, 0.1);
    flex-shrink: 0;
    margin-top: 1px;
}

.pp-menu-badge {
    font-size: 9px;
    font-weight: 800;
    text-transform: uppercase;
    padding: 2px 6px;
    border-radius: 4px;
    margin-left: 8px;
    line-height: 1.2;
    white-space: nowrap;
    align-self: center;
}

.pp-badge-red {
    background-color: #fee2e2;
    color: #ef4444;
}

.pp-badge-blue {
    background-color: #eff6ff;
    color: #3b82f6;
}

.pp-badge-green {
    background-color: #dcfce7;
    color: #10b981;
}

.pp-badge-default {
    background-color: #f1f5f9;
    color: #475569;
}

/* =========================================================
   MEGA MENU - BANERY PROMOCYJNE (Kolumnowe i Pojedyncze)
   ========================================================= */
.pp-megamenu-promo-col {
    display: flex;
    flex-direction: column;
    gap: 16px;
    width: 250px;
    min-width: 250px;
    margin-left: 20px;
}

.pp-megamenu-promo-banner {
    width: 260px;
    min-width: 250px;
    border-radius: 12px;
    overflow: hidden;
    position: relative;
    background: url('https://placehold.co/800x400') center/cover;
    background-color: #1e293b;
    /* Fallback */
    padding: 24px;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    margin-left: 20px;
}

/* Wariant Mniejszy baneru (jak w Listwach - gorny kwadrat) */
.pp-megamenu-promo-col .pp-megamenu-promo-banner {
    width: 100%;
    min-width: 100%;
    margin-left: 0;
    flex-grow: 1;
    border-radius: 12px;
    padding: 20px;
}

.pp-megamenu-calc-banner {
    background: #f8fafc;
    border-radius: 12px;
    padding: 16px;
    display: flex;
    align-items: center;
    gap: 12px;
    text-decoration: none !important;
    transition: all 0.2s ease !important;
    border: 1px solid #f1f5f9;
}

.pp-megamenu-calc-banner:hover {
    background: #f1f5f9;
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.05);
}

.pp-calc-icon {
    width: 36px;
    height: 36px;
    background: white;
    border-radius: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #10b981;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.05);
    flex-shrink: 0;
}

.pp-calc-icon svg {
    width: 18px;
    height: 18px;
}

.pp-calc-text {
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.pp-calc-title {
    font-size: 13px;
    font-weight: 800;
    color: #1e293b;
    line-height: 1;
}

.pp-calc-subtitle {
    font-size: 11px;
    font-weight: 700;
    color: #10b981;
    display: flex;
    align-items: center;
    line-height: 1;
}

/* -----------------------------------------
   RESPONSYWNOŚĆ KOSZYKA NA URZĄDZENIACH MOBILNYCH
   ----------------------------------------- */
@media screen and (max-width: 849px) {

    #masthead .cart-item,
    .header-mobile .cart-item {
        margin-left: 0 !important;
        margin-right: 0 !important;
    }

    .pp-cart-text-area {
        display: none !important;
        /* Ukryj napis Twój koszyk na komórce */
    }

    .pp-cart-pill {
        padding: 0 !important;
        /* Usuwamy padding z całej pigułki */
        background: transparent !important;
        box-shadow: none !important;
        border: none !important;
        min-height: auto !important;
    }

    /* Zmieniamy wrapper ikony w ciemne, klikalne kółko */
    .pp-cart-bag-wrapper {
        width: 44px !important;
        height: 44px !important;
        background: #1e293b !important;
        border-radius: 50% !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
    }

    .pp-cart-bag-wrapper svg {
        width: 20px !important;
        height: 20px !important;
        color: #ffffff !important;
    }

    /* Czerwona kropka z ilością sztuk - w prawym górnym rogu ciemnego kółka */
    .pp-cart-pill .pp-cart-count {
        min-width: 18px !important;
        height: 18px !important;
        font-size: 11px !important;
        right: -2px !important;
        top: -2px !important;
    }
}

/* Fallback gradient gdy obrazka nie ma lub jest za ciemny/jasny */
.pp-promo-overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(to bottom, rgba(0, 0, 0, 0.1) 0%, rgba(0, 0, 0, 0.85) 100%);
    z-index: 1;
}

.pp-promo-content {
    position: relative;
    z-index: 2;
}

.pp-promo-badge {
    background-color: #10b981;
    color: white;
    font-size: 10px;
    font-weight: 800;
    padding: 4px 8px;
    border-radius: 4px;
    display: inline-block;
    margin-bottom: 12px;
    text-transform: uppercase;
}

.pp-promo-title {
    color: white;
    font-size: 20px;
    font-weight: 800;
    line-height: 1.25;
    margin: 0;
}

.pp-promo-button {
    position: relative;
    z-index: 2;
    background: white !important;
    color: #1e293b !important;
    padding: 10px 16px !important;
    border-radius: 99px !important;
    text-transform: none !important;
    font-weight: 700 !important;
    font-size: 13px !important;
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    margin-top: 60px !important;
    transition: all 0.2s ease !important;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1) !important;
    text-decoration: none !important;
}

.pp-promo-button:hover {
    transform: translateY(-2px) !important;
    box-shadow: 0 8px 16px rgba(0, 0, 0, 0.15) !important;
    background: #f8fafc !important;
}

/* Ukrycie domyslnych strzałek Flatsome z poziomu 3, bo my wstrzykujemy swoje if needed */
#masthead .nav-vertical-fly-out .nav-dropdown-col>a>.icon-angle-down {
    display: none !important;
}

#masthead .nav-vertical-fly-out>li>a>.icon-angle-down {
    transform: rotate(-90deg) !important;
    font-size: 16px !important;
    opacity: 0.4 !important;
}

#masthead .nav-vertical-fly-out>li:not(.has-dropdown)>a>.icon-angle-down {
    display: none !important;
}

#masthead .cart-item>a>.cart-icon:not(.pp-cart-count) {
    display: none !important;
}

/* --- STICKY HEADER SCROLLED STATE --- */
.pp-header-scrolled {
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    width: 100% !important;
    background: rgba(255, 255, 255, 0.95) !important;
    backdrop-filter: blur(20px) !important;
    -webkit-backdrop-filter: blur(20px) !important;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.05) !important;
    padding-top: 8px !important;
    padding-bottom: 8px !important;
    z-index: 9999 !important;
    transition: transform 0.3s ease, background 0.3s ease, backdrop-filter 0.3s ease !important;
}

.pp-header-scrolled .header-inner {
    min-height: 60px !important;
    height: 60px !important;
}

/* Smooth transition for logo in scrolled state */
.pp-header-scrolled .pp-brand-icon {
    width: 36px !important;
    height: 36px !important;
    font-size: 18px !important;
}

.pp-header-scrolled .pp-brand-name {
    font-size: 18px !important;
}

.pp-header-scrolled .pp-brand-sub {
    display: none !important;
}

/* =========================================================
   CUSTOM "MOJE KONTO" / "INSPIRACJE" ICON (NATIVE JS OVERRIDE)
   ========================================================= */

/* =========================================================
   NATIVE GLASSMORPHISM UI - ACCOUNT & CUSTOM HTML (PURE CSS)
   ========================================================= */

/* The Main Wrapper (The Link inside the List Item) */
#masthead .account-item>a.account-link,
#masthead .account-item>a.nav-top-not-logged-in,
#masthead .html_topbar_right>a {
    display: inline-flex !important;
    flex-direction: column !important;
    /* APPLIKE VERTICAL ALIGN */
    justify-content: center !important;
    align-items: center !important;
    background: transparent !important;
    /* Keep it clean until hover */
    border: none !important;
    border-radius: 8px !important;
    /* Soft app-like square */
    padding: 4px 6px !important;
    /* Ultra-compact width */
    color: var(--hdr-dark, #0f172a) !important;
    text-decoration: none !important;
    transition: all 0.2s ease !important;
    height: auto !important;
    min-width: 56px !important;
    /* Prevent text wrapping from crushing it */
    line-height: 1 !important;
}

#masthead .account-item>a.account-link:hover,
#masthead .account-item>a.nav-top-not-logged-in:hover,
#masthead .html_topbar_right>a:hover {
    background: rgba(0, 0, 0, 0.04) !important;
    /* Very subtle grey/glass highlight */
    color: var(--hdr-green, #10b981) !important;
    transform: translateY(-1px) !important;
}

#masthead .account-item>a.account-link:active,
#masthead .account-item>a.nav-top-not-logged-in:active,
#masthead .html_topbar_right>a:active {
    transform: translateY(1px) !important;
    background: rgba(0, 0, 0, 0.06) !important;
}

/* 
 * Re-ordering and customizing the internal elements natively rendered by Flatsome!
 * Forces the icon to cleanly sit above the text without bulky background circles.
 */

#masthead .account-item>a.account-link i,
#masthead .account-item>a.nav-top-not-logged-in::before,
#masthead .html_topbar_right>a i {
    order: -1 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    transition: all 0.2s ease !important;
    margin: 0 0 4px 0 !important;
    /* Small gap below icon */
    padding: 0 !important;
    font-size: 18px !important;
    /* Clear, naked vector icon */
    color: var(--hdr-dark, #0f172a) !important;
    background: transparent !important;
    /* Strip the bulky circle */
    border-radius: 0 !important;
    width: auto !important;
    height: auto !important;
    box-shadow: none !important;
}

#masthead .account-item>a.account-link:hover i,
#masthead .account-item>a.nav-top-not-logged-in:hover::before,
#masthead .html_topbar_right>a:hover i {
    color: var(--hdr-green, #10b981) !important;
    transform: scale(1.08) !important;
    /* Elegant modern micro-interaction */
    background: transparent !important;
    box-shadow: none !important;
}

/* The Label/Text */
#masthead .account-item>a.account-link span.header-account-title,
#masthead .account-item>a.nav-top-not-logged-in span,
#masthead .html_topbar_right>a {
    font-size: 9px !important;
    /* Micro typography */
    font-weight: 700 !important;
    letter-spacing: 0.05em !important;
    text-transform: uppercase !important;
    margin: 0 !important;
    line-height: 1 !important;
    text-align: center !important;
    opacity: 0.8 !important;
    /* Lower visual weight */
}

#masthead .account-item>a.account-link:hover span.header-account-title,
#masthead .account-item>a.nav-top-not-logged-in:hover span,
#masthead .html_topbar_right>a:hover {
    opacity: 1 !important;
}

/* Fallback for the non-logged-in layout lacking the native `<i>` element */
#masthead .account-item>a.nav-top-not-logged-in::before {
    content: "\e827" !important;
    font-family: "fl-icons" !important;
    font-style: normal;
    font-variant: normal;
    text-transform: none;
    speak: none;
    -webkit-font-smoothing: antialiased;
}

/* =========================================================
   MOBILE & HEADER MENU BUTTON (PRO MAX)
   ========================================================= */
.header-button .icon.primary.button.circle {
    background: linear-gradient(135deg, var(--color-accent) 0%, var(--color-primary) 100%) !important;
    border: 1px solid rgba(255, 255, 255, 0.2) !important;
    box-shadow: 0 4px 15px rgba(16, 185, 129, 0.25), inset 0 2px 4px rgba(255, 255, 255, 0.2) !important;
    transition: all 0.5s cubic-bezier(0.175, 0.885, 0.32, 1.275) !important;
    /* var(--transition-spring) fallback */
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 0 !important;
    overflow: hidden !important;
    min-height: 44px !important;
    min-width: 44px !important;
}

.header-button .icon.primary.button.circle:hover {
    transform: scale(1.1) !important;
    box-shadow: 0 8px 25px rgba(16, 185, 129, 0.4), inset 0 2px 4px rgba(255, 255, 255, 0.3) !important;
}

.header-button .icon.primary.button.circle:active {
    transform: scale(0.92) !important;
    box-shadow: 0 2px 6px rgba(16, 185, 129, 0.3) !important;
}

.header-button .icon.primary.button.circle svg {
    color: #ffffff !important;
    stroke: #ffffff !important;
    stroke-width: 2.5 !important;
    width: 20px !important;
    height: 20px !important;
    margin: 0 !important;
    transition: transform 0.4s ease !important;
}

/* Subtle icon rotation on hover for that "alive" feel */
.header-button .icon.primary.button.circle:hover svg {
    transform: rotate(90deg) scale(1.1);
}

/* Menu Text Style */
.header-button .menu-title {
    font-family: 'Inter', sans-serif !important;
    /* var(--font-body) fallback */
    font-weight: 700 !important;
    font-size: 13px !important;
    color: #0f172a !important;
    /* var(--color-dark) fallback */
    margin-left: 12px !important;
    letter-spacing: 0.05em !important;
    /* var(--ls-wide) fallback */
    text-transform: uppercase !important;
}/* =========================================================
   PanPodloga.pl — Footer CSS V5
   ========================================================= */

/* Hide default Flatsome copyright bar as we have a custom one */
.absolute-footer {
    display: none !important;
}

/* Custom Footer V5 Styling */
.footer-premium-v5 {
    background-color: #0f172a !important;
    /* Very dark slate */
}

/* Ensure the top row doesn't collapse too much on mobile */
.footer-v5-top-row {
    row-gap: 40px;
}

/* Hover effects for contact links / text if needed */
.footer-contact-row span {
    transition: color 0.2s ease;
}

/* Footer Link Items */
.footer-link-item {
    display: inline-block;
    color: #cbd5e1 !important;
    /* Light slate text */
    font-size: 0.85rem !important;
    font-weight: 500 !important;
    text-decoration: none !important;
    transition: all 0.2s ease !important;
}

.footer-link-item:hover {
    color: #10b981 !important;
    /* Green accent */
    transform: translateX(4px);
}

/* Social Icons */
.footer-social-icons-v5 {
    display: flex;
    justify-content: flex-end;
    gap: 12px;
}

.footer-social-icons-v5 .social-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.05);
    color: #94a3b8;
    transition: all 0.3s ease;
}

.footer-social-icons-v5 .social-icon svg {
    transition: transform 0.3s ease;
}

.footer-social-icons-v5 .social-icon:hover {
    background: #10b981;
    color: #ffffff;
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(16, 185, 129, 0.2);
}

.footer-social-icons-v5 .social-icon:hover svg {
    transform: scale(1.1);
}

@media (max-width: 849px) {
    .footer-social-icons-v5 {
        justify-content: center;
        margin-top: 15px;
    }

    .footer-v5-top-row .col {
        margin-bottom: 30px;
    }
}