@charset "UTF-8";

/* ============================================================
   FONTY INLINE (2026-07-03) — @font-face Poppins/Roboto/DM wprost w CSS.
   POWOD: LiteSpeed "Load Google Fonts Asynchronously" wycina <link> do
   fonts.googleapis i laduje fonty JS-em PO starcie -> tekst renderowal sie
   fallbackiem i przeskakiwal (header/menu/naglowki) przy KAZDYM wejsciu.
   Inline @font-face dziala od pierwszego malowania niezaleznie od LiteSpeed.
   Pliki woff2 pobieraja sie DOPIERO gdy font jest uzyty (lazy) - zero kosztu
   dla DM poza konfiguratorem. Subsety: latin + latin-ext (polskie znaki).
   (audyt 2026-07-20, user "przeskok przyciskow dodaj do wyceny ze starych na nowe przy pierwszym wejsciu")
   font-display: swap -> FALLBACK (wszystkie 34 reguly): swap malowal tekst fallbackiem (Arial) i po
   ~100-300 ms PODMIENIAL litery na Poppins = widoczny przeskok przyciskow przy zimnym cache.
   fallback = max ~100 ms block (font z preloadu ZDAZA -> od razu Poppins), a jak nie zdazy, zostaje
   fallback BEZ poznego swapa (zero przeskoku). Zdiagnozowane w Chrome 2026-07-20: AJAX paginacja OK
   (przyciski od razu docelowe), CSS render-blocking - jedynym zrodlem przeskoku byl font swap.
   NIE wracac do font-display:swap. ============================================================ */
/* --- POPPINS --- */
@font-face {font-family:'Poppins'; font-style:normal; font-weight:300; font-display:optional; src:url(https://fonts.gstatic.com/s/poppins/v24/pxiByp8kv8JHgFVrLDz8Z1JlFd2JQEl8qw.woff2) format('woff2'); unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF} /* latin-ext */
@font-face {font-family:'Poppins'; font-style:normal; font-weight:300; font-display:optional; src:url(https://fonts.gstatic.com/s/poppins/v24/pxiByp8kv8JHgFVrLDz8Z1xlFd2JQEk.woff2) format('woff2'); unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD} /* latin */
@font-face {font-family:'Poppins'; font-style:normal; font-weight:400; font-display:optional; src:url(https://fonts.gstatic.com/s/poppins/v24/pxiEyp8kv8JHgFVrJJnecnFHGPezSQ.woff2) format('woff2'); unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF} /* latin-ext */
@font-face {font-family:'Poppins'; font-style:normal; font-weight:400; font-display:optional; src:url(https://fonts.gstatic.com/s/poppins/v24/pxiEyp8kv8JHgFVrJJfecnFHGPc.woff2) format('woff2'); unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD} /* latin */
@font-face {font-family:'Poppins'; font-style:normal; font-weight:500; font-display:optional; src:url(https://fonts.gstatic.com/s/poppins/v24/pxiByp8kv8JHgFVrLGT9Z1JlFd2JQEl8qw.woff2) format('woff2'); unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF} /* latin-ext */
@font-face {font-family:'Poppins'; font-style:normal; font-weight:500; font-display:optional; src:url(https://fonts.gstatic.com/s/poppins/v24/pxiByp8kv8JHgFVrLGT9Z1xlFd2JQEk.woff2) format('woff2'); unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD} /* latin */
@font-face {font-family:'Poppins'; font-style:normal; font-weight:600; font-display:optional; src:url(https://fonts.gstatic.com/s/poppins/v24/pxiByp8kv8JHgFVrLEj6Z1JlFd2JQEl8qw.woff2) format('woff2'); unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF} /* latin-ext */
@font-face {font-family:'Poppins'; font-style:normal; font-weight:600; font-display:optional; src:url(https://fonts.gstatic.com/s/poppins/v24/pxiByp8kv8JHgFVrLEj6Z1xlFd2JQEk.woff2) format('woff2'); unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD} /* latin */
@font-face {font-family:'Poppins'; font-style:normal; font-weight:600; font-display:optional; src:url(https://fonts.gstatic.com/s/poppins/v24/pxiByp8kv8JHgFVrLCz7Z1JlFd2JQEl8qw.woff2) format('woff2'); unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF} /* latin-ext */
@font-face {font-family:'Poppins'; font-style:normal; font-weight:600; font-display:optional; src:url(https://fonts.gstatic.com/s/poppins/v24/pxiByp8kv8JHgFVrLCz7Z1xlFd2JQEk.woff2) format('woff2'); unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD} /* latin */
/* --- ROBOTO (font zmienny - jeden plik na subset) --- */
@font-face {font-family:'Roboto'; font-style:normal; font-weight:300; font-stretch:100%; font-display:optional; src:url(https://fonts.gstatic.com/s/roboto/v51/KFO7CnqEu92Fr1ME7kSn66aGLdTylUAMa3KUBHMdazTgWw.woff2) format('woff2'); unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF} /* latin-ext */
@font-face {font-family:'Roboto'; font-style:normal; font-weight:300; font-stretch:100%; font-display:optional; src:url(https://fonts.gstatic.com/s/roboto/v51/KFO7CnqEu92Fr1ME7kSn66aGLdTylUAMa3yUBHMdazQ.woff2) format('woff2'); unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD} /* latin */
@font-face {font-family:'Roboto'; font-style:normal; font-weight:400; font-stretch:100%; font-display:optional; src:url(https://fonts.gstatic.com/s/roboto/v51/KFO7CnqEu92Fr1ME7kSn66aGLdTylUAMa3KUBHMdazTgWw.woff2) format('woff2'); unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF} /* latin-ext */
@font-face {font-family:'Roboto'; font-style:normal; font-weight:400; font-stretch:100%; font-display:optional; src:url(https://fonts.gstatic.com/s/roboto/v51/KFO7CnqEu92Fr1ME7kSn66aGLdTylUAMa3yUBHMdazQ.woff2) format('woff2'); unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD} /* latin */
@font-face {font-family:'Roboto'; font-style:normal; font-weight:500; font-stretch:100%; font-display:optional; src:url(https://fonts.gstatic.com/s/roboto/v51/KFO7CnqEu92Fr1ME7kSn66aGLdTylUAMa3KUBHMdazTgWw.woff2) format('woff2'); unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF} /* latin-ext */
@font-face {font-family:'Roboto'; font-style:normal; font-weight:500; font-stretch:100%; font-display:optional; src:url(https://fonts.gstatic.com/s/roboto/v51/KFO7CnqEu92Fr1ME7kSn66aGLdTylUAMa3yUBHMdazQ.woff2) format('woff2'); unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD} /* latin */
@font-face {font-family:'Roboto'; font-style:normal; font-weight:600; font-stretch:100%; font-display:optional; src:url(https://fonts.gstatic.com/s/roboto/v51/KFO7CnqEu92Fr1ME7kSn66aGLdTylUAMa3KUBHMdazTgWw.woff2) format('woff2'); unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF} /* latin-ext */
@font-face {font-family:'Roboto'; font-style:normal; font-weight:600; font-stretch:100%; font-display:optional; src:url(https://fonts.gstatic.com/s/roboto/v51/KFO7CnqEu92Fr1ME7kSn66aGLdTylUAMa3yUBHMdazQ.woff2) format('woff2'); unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD} /* latin */
/* --- DM (konfigurator/panel) --- */
@font-face {font-family:'DM Mono'; font-style:normal; font-weight:400; font-display:optional; src:url(https://fonts.gstatic.com/s/dmmono/v16/aFTU7PB1QTsUX8KYthSQBK6PYK3EXw.woff2) format('woff2'); unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF} /* latin-ext */
@font-face {font-family:'DM Mono'; font-style:normal; font-weight:400; font-display:optional; src:url(https://fonts.gstatic.com/s/dmmono/v16/aFTU7PB1QTsUX8KYthqQBK6PYK0.woff2) format('woff2'); unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD} /* latin */
@font-face {font-family:'DM Mono'; font-style:normal; font-weight:500; font-display:optional; src:url(https://fonts.gstatic.com/s/dmmono/v16/aFTR7PB1QTsUX8KYvumzEY2tbYf-Vlh3uA.woff2) format('woff2'); unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF} /* latin-ext */
@font-face {font-family:'DM Mono'; font-style:normal; font-weight:500; font-display:optional; src:url(https://fonts.gstatic.com/s/dmmono/v16/aFTR7PB1QTsUX8KYvumzEYOtbYf-Vlg.woff2) format('woff2'); unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD} /* latin */
@font-face {font-family:'DM Sans'; font-style:normal; font-weight:300; font-display:optional; src:url(https://fonts.gstatic.com/s/dmsans/v17/rP2Yp2ywxg089UriI5-g4vlH9VoD8Cmcqbu6-K6z9mXgjU0.woff2) format('woff2'); unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF} /* latin-ext */
@font-face {font-family:'DM Sans'; font-style:normal; font-weight:300; font-display:optional; src:url(https://fonts.gstatic.com/s/dmsans/v17/rP2Yp2ywxg089UriI5-g4vlH9VoD8Cmcqbu0-K6z9mXg.woff2) format('woff2'); unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD} /* latin */
@font-face {font-family:'DM Sans'; font-style:normal; font-weight:400; font-display:optional; src:url(https://fonts.gstatic.com/s/dmsans/v17/rP2Yp2ywxg089UriI5-g4vlH9VoD8Cmcqbu6-K6z9mXgjU0.woff2) format('woff2'); unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF} /* latin-ext */
@font-face {font-family:'DM Sans'; font-style:normal; font-weight:400; font-display:optional; src:url(https://fonts.gstatic.com/s/dmsans/v17/rP2Yp2ywxg089UriI5-g4vlH9VoD8Cmcqbu0-K6z9mXg.woff2) format('woff2'); unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD} /* latin */
@font-face {font-family:'DM Sans'; font-style:normal; font-weight:500; font-display:optional; src:url(https://fonts.gstatic.com/s/dmsans/v17/rP2Yp2ywxg089UriI5-g4vlH9VoD8Cmcqbu6-K6z9mXgjU0.woff2) format('woff2'); unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF} /* latin-ext */
@font-face {font-family:'DM Sans'; font-style:normal; font-weight:500; font-display:optional; src:url(https://fonts.gstatic.com/s/dmsans/v17/rP2Yp2ywxg089UriI5-g4vlH9VoD8Cmcqbu0-K6z9mXg.woff2) format('woff2'); unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD} /* latin */
@font-face {font-family:'DM Sans'; font-style:normal; font-weight:600; font-display:optional; src:url(https://fonts.gstatic.com/s/dmsans/v17/rP2Yp2ywxg089UriI5-g4vlH9VoD8Cmcqbu6-K6z9mXgjU0.woff2) format('woff2'); unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF} /* latin-ext */
@font-face {font-family:'DM Sans'; font-style:normal; font-weight:600; font-display:optional; src:url(https://fonts.gstatic.com/s/dmsans/v17/rP2Yp2ywxg089UriI5-g4vlH9VoD8Cmcqbu0-K6z9mXg.woff2) format('woff2'); unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD} /* latin */
@font-face {font-family:'DM Serif Display'; font-style:italic; font-weight:400; font-display:optional; src:url(https://fonts.gstatic.com/s/dmserifdisplay/v17/-nFhOHM81r4j6k0gjAW3mujVU2B2G_VB3vD2xWr53BJl.woff2) format('woff2'); unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF} /* latin-ext */
@font-face {font-family:'DM Serif Display'; font-style:italic; font-weight:400; font-display:optional; src:url(https://fonts.gstatic.com/s/dmserifdisplay/v17/-nFhOHM81r4j6k0gjAW3mujVU2B2G_VB0PD2xWr53A.woff2) format('woff2'); unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD} /* latin */
@font-face {font-family:'DM Serif Display'; font-style:normal; font-weight:400; font-display:optional; src:url(https://fonts.gstatic.com/s/dmserifdisplay/v17/-nFnOHM81r4j6k0gjAW3mujVU2B2G_5x0vrx52jJ3Q.woff2) format('woff2'); unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF} /* latin-ext */
@font-face {font-family:'DM Serif Display'; font-style:normal; font-weight:400; font-display:optional; src:url(https://fonts.gstatic.com/s/dmserifdisplay/v17/-nFnOHM81r4j6k0gjAW3mujVU2B2G_Bx0vrx52g.woff2) format('woff2'); unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD} /* latin */

/* =========================================================
   1. ZMIENNE
   ========================================================= */

:root {
  /* kolory bazowe */
  --nw-black: #000;
  --nw-black-hover: #111;
  --nw-white: #fff;

  /* kolory marki */
  --nw-beige: #d4ba87;

  /* tekst / neutralne */
  --nw-gray: #767676;
  --nw-light-gray: #bfbfbf;

  /* bordery / delikatne tł a */
  --nw-border: rgba(212, 186, 135, 0.25);
  --nw-border-light: #d9d9d9;
  --nw-border-soft: rgba(212, 186, 135, 0.18);

  /* layout */
  --nw-content-max: 1240px;
  --nw-content-side: 20px;
}

/* =========================================================
   2. GLOBAL
   ========================================================= */

html,
body {
  overflow-x: hidden !important;
  scroll-behavior: auto !important;
}

/* ukrycie zbę dnych sta ych / p ywaj cych elementów */
.wrapper-content-banner,
.content-banner,
.banner-btn-wrapper,
.promo-banner,
.wd-promo-banner,
.banner-wrapper,
body .seedprod-notification,
body .sp-is-coming-soon,
body .sp-footer,
body .sp-bottom-notice,
body div[style*="position: fixed"][style*="bottom"] {
  display: none !important;
}

/* =========================================================
   3. HEADER  DESKTOP / STICKY
   ========================================================= */

/* ukrycie top bara */
.whb-top-bar,
.whb-top-bar .whb-row,
.whb-top-bar .container {
  display: none !important;
}

/* szerokoś   i padding kontenera headera */
.whb-header .container,
.whb-sticked .container,
.whb-clone .container {
  max-width: var(--nw-content-max) !important;
  padding-left: var(--nw-content-side) !important;
  padding-right: var(--nw-content-side) !important;
}

/* wspólna baza headera */
.whb-main-header,
.whb-header-bottom,
.whb-sticked,
.whb-clone,
.whb-sticked .whb-main-header,
.whb-clone .whb-main-header {
  border-color: var(--nw-border) !important;
  box-shadow: none !important;
}

/* kolory elementów w zwykł ym headerze */
:is(.whb-main-header, .whb-general-header) .wd-tools-element,
:is(.whb-main-header, .whb-general-header) .wd-tools-element > a,
:is(.whb-main-header, .whb-general-header) .wd-cart-number,
:is(.whb-main-header, .whb-general-header) .wd-tools-element .amount,
:is(.whb-main-header, .whb-general-header) .wd-header-my-account a,
:is(.whb-main-header, .whb-general-header) .wd-header-my-account a span,
:is(.whb-main-header, .whb-general-header) .wd-header-cart a,
:is(.whb-main-header, .whb-general-header) .wd-header-cart .wd-cart-subtotal,
:is(.whb-main-header, .whb-general-header) .wd-header-wishlist a,
:is(.whb-main-header, .whb-general-header) .wd-header-compare a {
  color: var(--nw-black) !important;
}

:is(.whb-main-header, .whb-general-header) .wd-tools-element a svg,
:is(.whb-main-header, .whb-general-header) .wd-header-my-account a svg,
:is(.whb-main-header, .whb-general-header) .wd-header-cart a svg,
:is(.whb-main-header, .whb-general-header) .wd-header-wishlist a svg,
:is(.whb-main-header, .whb-general-header) .wd-header-compare a svg {
  fill: var(--nw-black) !important;
  color: var(--nw-black) !important;
}

/* hover w zwykł ym headerze */
:is(.whb-main-header, .whb-general-header) .wd-tools-element > a:hover,
:is(.whb-main-header, .whb-general-header) .wd-header-my-account a:hover,
:is(.whb-main-header, .whb-general-header) .wd-header-my-account a:hover span,
:is(.whb-main-header, .whb-general-header) .wd-header-cart a:hover,
:is(.whb-main-header, .whb-general-header) .wd-header-cart a:hover .wd-cart-subtotal,
:is(.whb-main-header, .whb-general-header) .wd-header-wishlist a:hover,
:is(.whb-main-header, .whb-general-header) .wd-header-compare a:hover {
  color: var(--nw-beige) !important;
}

:is(.whb-main-header, .whb-general-header) .wd-tools-element a:hover svg,
:is(.whb-main-header, .whb-general-header) .wd-header-my-account a:hover svg,
:is(.whb-main-header, .whb-general-header) .wd-header-cart a:hover svg,
:is(.whb-main-header, .whb-general-header) .wd-header-wishlist a:hover svg,
:is(.whb-main-header, .whb-general-header) .wd-header-compare a:hover svg {
  fill: var(--nw-beige) !important;
  color: var(--nw-beige) !important;
}

/* badge licznika */
.wd-tools-count,
.whb-header .wd-tools-count,
.wd-tools-element .wd-tools-count {
  background-color: var(--nw-beige) !important;
  color: var(--nw-black) !important;
  border: 1px solid var(--nw-beige) !important;
}

/* header koszyka â badge w prawym gĂłrnym rogu ikony */
.wd-header-cart .wd-tools-icon {
  position: relative !important;
  overflow: visible !important;
}

.wd-header-cart .wd-cart-number span {
  display: none !important;
}

.wd-header-cart .wd-cart-number,
.wd-header-cart .wd-tools-count {
  position: absolute !important;
  top: 0 !important;
  right: 0 !important;
  transform: translate(50%, -50%) !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-width: 18px !important;
  height: 18px !important;
  padding: 0 4px !important;
  border-radius: 999px !important;
  font-size: 10px !important;
  line-height: 1 !important;
  white-space: nowrap !important;
  box-sizing: border-box !important;
  z-index: 10 !important;
}

.wd-header-cart .wd-cart-subtotal {
  white-space: nowrap !important;
}

/* (audyt 2026-07-11, user „sticky ma inne ulozenie ikon, dopasuj zwykle menu do sticky") DIAGNOZA (pomiar w Chrome
   na 412px): kolumna prawa identyczna, ale link koszyka byl 26px w NORMALNYM a 46px w KLONIE sticky — bo badge „7"
   (.wd-cart-number) w klonie WoodMart wypadal z rogu DO FLOW (dodawal ~20px), przez co telefon/koszyk byly o 20px
   dalej w prawo niz w sticky. Fix: wymuszamy narozny badge (position:absolute) w OBU stanach z ID-spec (:not(#nw-z)
   bije reguly WoodMart takze w .whb-clone/.whb-sticked). Efekt: oba koszyki 26px, ikony identycznie ulozone. */
html .wd-header-cart .wd-cart-number:not(#nw-z),
html .whb-clone .wd-header-cart .wd-cart-number:not(#nw-z),
html .whb-sticked .wd-header-cart .wd-cart-number:not(#nw-z),
html .wd-header-cart .wd-tools-count:not(#nw-z),
html .whb-clone .wd-header-cart .wd-tools-count:not(#nw-z),
html .whb-sticked .wd-header-cart .wd-tools-count:not(#nw-z) {
  position: absolute !important;
  top: 0 !important;
  right: 0 !important;
  left: auto !important;
  transform: translate(50%, -50%) !important;
  margin: 0 !important;
}
/* (audyt 2026-07-11, pomiar w Chrome usera @412px — DEFINITYWNE ZRODLO) link koszyka `.wd-header-cart a` ma
   padding 0 10px w KLONIE sticky, a 0 0 w NORMALNYM mobilnym -> koszyk 46 vs 26 -> telefon+koszyk w normalnym o
   20px dalej w prawo niz w sticky. (Wczesniejszy fix badge position:absolute byl nietrafiony — przyczyna to
   padding, nie badge.) User: „dopasuj zwykle menu do sticky" -> wyrownujemy NORMALNY do sticky: padding 0 10px na
   linku koszyka w OBU stanach. `.whb-mobile-right` jest mobile-only (whb-hidden-lg) -> desktop nietkniety. */
html .whb-mobile-right .wd-header-cart a:not(#nw-z) {
  padding-left: 10px !important;
  padding-right: 10px !important;
}
/* (audyt 2026-07-13, user „cofamy zmiane z mobile hamburger/ikony — hamburger wraca na lewa z menu, koszyk i telefon
   na prawa") POWROT do DOMYSLNEGO ukladu WoodMart: hamburger po LEWEJ (z menu), koszyk + telefon po PRAWEJ.
   Usunieta cala wczesniejsza rearanzacja (absolutne pinowanie kolumn + klon). Mobile-only. */
@media (max-width:768px){
  /* (audyt 2026-07-11, user „menu moze byc o polowe wezsze") szuflada menu mobilnego wezsza (dziala na lewej i prawej). */
  .mobile-nav.wd-side-hidden{ width:220px !important; }
}

/* (audyt 2026-07-13, user „sticky nadal przeskakuje, czy sticky menu moze zostac przyklejone do gory??") WoodMart
   pokazuje sticky-header (KLON `.whb-clone`) dopiero PO przewinieciu za prog -> klon wjezdza z fade = „przeskok".
   Zmuszamy klon, by byl WIDOCZNY OD ZAWSZE: przy scroll 0 naklada sie 1:1 na oryginal (dla goscia oba top:0 =
   seamless, bez podwojnego headera), a przy scrollu zostaje przyklejony u gory — zero przeskoku, BEZ kompensacji
   paddingu (oryginal zostaje w flow i trzyma miejsce). Zweryfikowane w Chrome: klon pinowany przy scroll 0 i 500.
   Admin-bar (tylko podglad zalogowanego): offset jak natywny WoodMart 32/46, zeby klon rownal sie z oryginalem. */
/* (audyt 2026-07-13, user „sticky ok, ale glowny nachodzi na siebie") Klon `.whb-clone` jest ZAWSZE widoczny
   (header przyklejony od gory, zero przeskoku), ALE jego `top` sledzi admin bar (JS `nw_header_sticky_no_slide`),
   zeby ZAWSZE idealnie pokrywal oryginalny header = zero dublowania. U goscia (bez admin bara) top:0 i klon 1:1
   nakłada sie na oryginal. `transition:none` = klon nie „wjezdza" z fade. Ponizej fallback offsetu na wypadek gdyby
   JS nie zdazyl (desktop admin bar fixed 32; mobile absolute i gosc = top:0 domyslne / ustawiane inline przez JS). */
/* (audyt 2026-07-13, user „nie jest przyczepiony do gory na mobile / nadal nie dziala sticky") KONIEC z JS-toggle
   — ciagle rozjezdzal sie z wersja main-2 przy deployu (CSS ukrywal klon, a JS go nie pokazywal) i sticky nie
   dzialal. TERAZ CZYSTO CSS, ZERO zaleznosci od JS: na mobile (≤1024px) klon jest ZAWSZE widoczny i przyklejony
   na top:0; `transform/transition:none` sprawia ze WoodMart go nie chowa (scroll-slide) ani nie animuje (fade).
   Dla realnego GOSCIA (bez admin bara) klon top:0 = oryginal top:0 -> idealne nakladanie, plynnie, bez dublowania,
   bez lagu. W PODGLADZIE zalogowanego admin bar (mobile = position:absolute, scrolluje sie niezaleznie) moze dac
   artefakt (klon top:0 + oryginal top:46 nakladaly sie). Dlatego przyklejanie klona wlaczamy TYLKO dla realnych
   gosci `body:not(.admin-bar)` — u nich (bez admin bara) klon top:0 = oryginal top:0 -> idealne nakladanie, pinned,
   bez dublowania. W podgladzie ZALOGOWANEGO (`.admin-bar`) zostaje natywny sticky WoodMart (bez forsowania klona)
   = ZERO dublowania w podgladzie admina (klient realny i tak dostaje pinned header). Desktop (>1024) NIETKNIETY. */
/* (audyt 2026-07-13, user „menu ma zjezdzac w dol plynnie z przesunieciem strony") — USUNIETE cale forsowanie klona
   `.whb-clone` (opacity/visibility/transition:none/transform:none/top:0). To ONO psulo header: `transition:none`
   ZABIJALO plynna animacje slide WoodMart (stad „skakalo"), a `opacity:1;visibility:visible` na stale dawalo
   dublowanie (dwa czarne paski), a proba ukrycia oryginalu chowala menu na gorze. WRACAMY do NATYWNEGO zachowania
   WoodMart (scroll-slide: przy scrollu w gore header wjezdza plynnie transformem). Zero customu = zero regresji.
   Jesli natywne nadal „skacze" u zalogowanego = artefakt admin-bara (mobile absolute), goscie maja plynnie. */

/* search button */
.searchform .searchsubmit,
.searchform .wd-searchsubmit,
.whb-header .search-button {
  background-color: var(--nw-black) !important;
  color: var(--nw-beige) !important;
  border-color: var(--nw-black) !important;
}

/* dolny czarny pasek menu */
.whb-header-bottom,
.whb-header-bottom .whb-row,
.whb-header-bottom .container,
.whb-sticked .whb-header-bottom,
.whb-clone .whb-header-bottom {
  background-color: var(--nw-black) !important;
  border-color: rgba(255, 255, 255, 0.08) !important;
}

.whb-header-bottom .wd-header-text,
.whb-header-bottom .wd-header-text * {
  color: var(--nw-beige) !important;
}

/* linki menu */
.whb-header-bottom .menu > li > a,
.whb-header-bottom .main-nav .item-level-0 > a,
.whb-sticked .whb-header-bottom .menu > li > a,
.whb-clone .whb-header-bottom .menu > li > a,
.whb-sticked .main-nav .item-level-0 > a,
.whb-clone .main-nav .item-level-0 > a {
  color: var(--nw-beige) !important;
}

.whb-header-bottom .menu > li > a:hover,
.whb-header-bottom .menu > li.current-menu-item > a,
.whb-header-bottom .menu > li.current_page_item > a,
.whb-header-bottom .main-nav .item-level-0:hover > a,
.whb-header-bottom .main-nav .item-level-0.current-menu-item > a,
.whb-header-bottom .main-nav .item-level-0.current_page_item > a,
.whb-sticked .menu > li > a:hover,
.whb-sticked .menu > li.current-menu-item > a,
.whb-sticked .menu > li.current_page_item > a,
.whb-clone .menu > li > a:hover,
.whb-clone .menu > li.current-menu-item > a,
.whb-clone .menu > li.current_page_item > a,
.whb-sticked .main-nav .item-level-0:hover > a,
.whb-clone .main-nav .item-level-0:hover > a,
.whb-sticked .main-nav .item-level-0.current-menu-item > a,
.whb-clone .main-nav .item-level-0.current-menu-item > a,
.whb-sticked .main-nav .item-level-0.current_page_item > a,
.whb-clone .main-nav .item-level-0.current_page_item > a {
  color: var(--nw-white) !important;
}

/* usuń  pseudo-podkre lenia i znaczniki */
.main-nav .item-level-0 > a::before,
.main-nav .item-level-0 > a::after,
.whb-header-bottom .menu > li > a::before,
.whb-header-bottom .menu > li > a::after,
.whb-sticked .main-nav .item-level-0 > a::before,
.whb-sticked .main-nav .item-level-0 > a::after,
.whb-clone .main-nav .item-level-0 > a::before,
.whb-clone .main-nav .item-level-0 > a::after,
.whb-sticked .menu > li > a::before,
.whb-sticked .menu > li > a::after,
.whb-clone .menu > li > a::before,
.whb-clone .menu > li > a::after {
  display: none !important;
  content: none !important;
}

/* sticky / clone  reset odstę pów */
.whb-sticked,
.whb-clone,
.whb-sticked .whb-general-header,
.whb-clone .whb-general-header,
.whb-sticked .whb-row,
.whb-clone .whb-row,
.whb-sticked .container,
.whb-clone .container {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
  transform: none !important;
}

/* sticky / clone  czarne tł o */
.whb-sticked .whb-general-header,
.whb-clone .whb-general-header,
.whb-sticked .whb-general-header .whb-row,
.whb-clone .whb-general-header .whb-row,
.whb-sticked .whb-general-header .container,
.whb-clone .whb-general-header .container {
  background-color: var(--nw-black) !important;
  border-color: rgba(255, 255, 255, 0.08) !important;
}

/* sticky / clone  kolory tekstu */
.whb-sticked .menu > li > a,
.whb-clone .menu > li > a,
.whb-sticked .main-nav .item-level-0 > a,
.whb-clone .main-nav .item-level-0 > a,
.whb-sticked .wd-tools-element,
.whb-clone .wd-tools-element,
.whb-sticked .wd-tools-element > a,
.whb-clone .wd-tools-element > a,
.whb-sticked .wd-header-my-account a,
.whb-clone .wd-header-my-account a,
.whb-sticked .wd-header-my-account a span,
.whb-clone .wd-header-my-account a span,
.whb-sticked .wd-header-cart a,
.whb-clone .wd-header-cart a,
.whb-sticked .wd-header-cart .wd-cart-subtotal,
.whb-clone .wd-header-cart .wd-cart-subtotal,
.whb-sticked .wd-header-wishlist a,
.whb-clone .wd-header-wishlist a,
.whb-sticked .wd-header-compare a,
.whb-clone .wd-header-compare a {
  color: var(--nw-beige) !important;
}

.whb-sticked .wd-tools-element a svg,
.whb-clone .wd-tools-element a svg,
.whb-sticked .wd-header-my-account a svg,
.whb-clone .wd-header-my-account a svg,
.whb-sticked .wd-header-cart a svg,
.whb-clone .wd-header-cart a svg,
.whb-sticked .wd-header-wishlist a svg,
.whb-clone .wd-header-wishlist a svg,
.whb-sticked .wd-header-compare a svg,
.whb-clone .wd-header-compare a svg {
  fill: var(--nw-beige) !important;
  color: var(--nw-beige) !important;
}

@media (min-width: 1025px) {
  /* sticky container */
  .whb-sticked .container,
  .whb-clone .container,
  .whb-sticked .whb-general-header .container,
  .whb-clone .whb-general-header .container {
    max-width: var(--nw-content-max) !important;
    padding-left: var(--nw-content-side) !important;
    padding-right: var(--nw-content-side) !important;
  }

  /* sticky right column alignment */
  .whb-sticked .whb-general-header-inner,
  .whb-clone .whb-general-header-inner {
    display: flex !important;
    align-items: center !important;
    width: 100% !important;
  }

  .whb-sticked .whb-col-right,
  .whb-clone .whb-col-right {
    display: flex !important;
    align-items: center !important;
    justify-content: flex-end !important;
    margin-left: auto !important;
    padding-right: 0 !important;
  }

  .whb-sticked .whb-col-right .wd-tools-element,
  .whb-clone .whb-col-right .wd-tools-element,
  .whb-sticked .whb-col-right .wd-header-cart,
  .whb-clone .whb-col-right .wd-header-cart,
  .whb-sticked .whb-col-right .wd-header-search,
  .whb-clone .whb-col-right .wd-header-search {
    margin-right: 0 !important;
  }

  .whb-sticked .whb-col-right .wd-tools-element + .wd-tools-element,
  .whb-clone .whb-col-right .wd-tools-element + .wd-tools-element {
    margin-left: 14px !important;
  }

  /* logo sticky wyrównane do lewej */
  .whb-sticked .wd-header-logo,
  .whb-clone .wd-header-logo,
  .whb-sticked .site-logo,
  .whb-clone .site-logo {
    margin-left: 0 !important;
  }

  /* (audyt 2026-07-06, F6) Usunieto CSS-hack sticky logo (ukrywal <img> + background-image z produkcyjnego URL = 404 na testowej). Sticky logo ustawiane natywnie w WoodMart Header Builder. */

  /* (audyt) Wyrównanie sticky headera: zamiast ręcznego dosuwania koszyka (-40px),
     balansujemy boczne kolumny tak, by menu (kolumna środkowa) trafiało na realny środek,
     a logo (lewo) i narzędzia/koszyk (prawo) siadały równo przy krawędziach kontenera. */
  .whb-sticked .whb-general-header-inner > .whb-column.whb-col-left,
  .whb-clone .whb-general-header-inner > .whb-column.whb-col-left,
  .whb-sticked .whb-general-header-inner > .whb-column.whb-col-right,
  .whb-clone .whb-general-header-inner > .whb-column.whb-col-right {
    flex: 1 1 0 !important;
  }

  .whb-sticked .whb-general-header-inner > .whb-column.whb-col-center,
  .whb-clone .whb-general-header-inner > .whb-column.whb-col-center {
    flex: 0 1 auto !important;
    justify-content: center !important;
  }

  /* koszyk równo przy prawej krawędzi (zniesiony ręczny -40px) */
  .whb-sticked .whb-col-right .wd-header-cart,
  .whb-clone .whb-col-right .wd-header-cart {
    margin-right: 0 !important;
  }
}

/* =========================================================
   4. HEADER  DROPDOWNY / ASIDE / MY ACCOUNT
   ========================================================= */

/* przycisk kategorii */
.wd-header-cats,
.wd-header-cats > a,
.wd-header-cats .menu-opener,
.wd-header-cats .categories-menu-opener {
  background-color: var(--nw-black) !important;
  color: var(--nw-beige) !important;
}

.wd-header-cats > a span,
.wd-header-cats > a i,
.wd-header-cats > a svg,
.wd-header-cats .menu-opener i,
.wd-header-cats .menu-opener svg,
.wd-header-cats .categories-menu-opener i,
.wd-header-cats .categories-menu-opener svg {
  color: var(--nw-beige) !important;
  fill: var(--nw-beige) !important;
}

/* menu pionowe kategorii */
.wd-nav-vertical > li > a {
  color: var(--nw-black) !important;
}

.wd-nav-vertical > li > a:hover {
  color: var(--nw-beige) !important;
}

.wd-nav-vertical > li > a .wd-sub-menu-icon,
.wd-nav-vertical > li > a::after,
.wd-nav-vertical > li.menu-item-has-children > a::after {
  color: var(--nw-beige) !important;
  border-color: var(--nw-beige) !important;
}

/* aside menu */
.wd-design-aside > .container > .wd-entry-content > ul,
.wd-design-aside > .wd-entry-content > ul,
.wd-design-aside ul.menu {
  background-color: var(--nw-black) !important;
}

.wd-design-aside .menu-item > a,
.wd-design-aside .menu-item-has-children > a,
.wd-design-aside .menu-item > a .nav-link-text,
.wd-design-aside .menu-item-has-children > a .nav-link-text {
  color: var(--nw-beige) !important;
  background: transparent !important;
}

.wd-design-aside .menu-item:hover > a,
.wd-design-aside .menu-item-has-children:hover > a,
.wd-design-aside .current-menu-item > a,
.wd-design-aside .current_page_item > a {
  background-color: var(--nw-black-hover) !important;
  color: var(--nw-beige) !important;
}

.wd-design-aside .menu-item > a::after,
.wd-design-aside .menu-item-has-children > a::after {
  color: var(--nw-beige) !important;
  border-color: var(--nw-beige) !important;
}

/* etykiety / badge w dropdownach */
.wd-dropdown-menu .menu-tag,
.wd-dropdown-menu .item-label,
.wd-dropdown-menu .wd-menu-label,
.wd-sub-menu .menu-tag,
.wd-sub-menu .item-label,
.wd-sub-menu .wd-menu-label {
  background: var(--nw-black) !important;
  color: var(--nw-beige) !important;
  border-color: var(--nw-black) !important;
}

.wd-sub-menu a:hover,
.wd-dropdown-menu a:hover,
.wd-mega-menu a:hover {
  color: var(--nw-beige) !important;
}

/* dropdowny w headerze (OFERTA + Moje konto) — ZLOTE tlo (kolory przycisku), ciemne napisy (2026-06-24, user „w kolorze przycisku"). */
.whb-main-header .wd-dropdown-menu.wd-dropdown,
.whb-main-header .wd-dropdown-menu.wd-dropdown > .container.wd-entry-content,
.whb-main-header .wd-dropdown-menu.wd-dropdown .wd-sub-menu,
.whb-main-header .wd-dropdown-menu.wd-dropdown .wd-sub-menu li,
.whb-main-header .wd-dropdown-my-account,
.whb-main-header .wd-dropdown-my-account .wd-sub-menu,
.whb-main-header .wd-dropdown-my-account ul,
.whb-main-header .wd-dropdown-my-account li {
  background: #FBF8F3 !important; /* (audyt 2026-06-26) mniej mocny kolor menu — krem (spojnie z master-override l.1039) */
  box-shadow: none !important;
}

.whb-main-header .wd-dropdown-menu.wd-dropdown,
.whb-main-header .wd-dropdown.wd-dropdown-my-account.wd-dropdown-menu,
.whb-header .wd-dropdown.wd-dropdown-my-account.wd-dropdown-menu {
  border: 1px solid #e6d6b3 !important; /* (audyt 2026-06-27) obramowka jak w kremowej Ofercie (bylo #c9a84c przy zlotym tle) */
  box-shadow: 0 14px 40px rgba(0,0,0,.18) !important; /* lzejszy cien do jasnego panelu */
}

.whb-main-header .wd-dropdown-menu.wd-dropdown .wd-sub-menu > li,
.whb-header .wd-dropdown.wd-dropdown-my-account.wd-dropdown-menu .wd-sub-menu li,
.whb-main-header .wd-dropdown.wd-dropdown-my-account.wd-dropdown-menu .wd-sub-menu li {
  border-bottom: 1px solid rgba(26,20,7,.16) !important; /* ciemne paski miedzy pozycjami na zlotym tle (czytelne) */
}
.whb-main-header .wd-dropdown-menu.wd-dropdown .wd-sub-menu > li:last-child,
.whb-header .wd-dropdown.wd-dropdown-my-account.wd-dropdown-menu .wd-sub-menu li:last-child,
.whb-main-header .wd-dropdown.wd-dropdown-my-account.wd-dropdown-menu .wd-sub-menu li:last-child {
  border-bottom: 0 !important;
}

/* (2026-07-07, user „ucieka menu w oferta") MOSTEK hover — przezroczysta strefa nad dropdownem, zeby przy
   przejsciu z pozycji menu do rozwijanego nie tracic hovera (dropdown nie znika). Nie dotyczy konta. */
.whb-main-header .wd-nav-product > li.menu-item-has-children:hover > .wd-dropdown-menu,
.whb-main-header .wd-nav-product > li.wd-event-hover > .wd-dropdown-menu { opacity: 1 !important; visibility: visible !important; }
.whb-main-header .wd-dropdown-menu.wd-dropdown:not(.wd-dropdown-my-account)::before {
  content: ""; position: absolute; left: 0; right: 0; bottom: 100%; height: 24px; background: transparent;
}

.whb-main-header .wd-dropdown-menu.wd-dropdown,
.whb-main-header .wd-dropdown-menu.wd-dropdown > .container.wd-entry-content {
  padding: 0 !important;
}

.whb-main-header .wd-dropdown-menu.wd-dropdown .wd-sub-menu > li > a.woodmart-nav-link,
.whb-main-header .wd-dropdown-my-account a {
  color: #1a1407 !important;
  -webkit-text-fill-color: #1a1407 !important;
  background: transparent !important;
}
.whb-main-header .wd-dropdown-menu.wd-dropdown .wd-sub-menu > li > a.woodmart-nav-link {
  padding: 14px 22px !important;
}

.whb-main-header .wd-dropdown-menu.wd-dropdown .wd-sub-menu > li:hover > a.woodmart-nav-link,
.whb-main-header .wd-dropdown-menu.wd-dropdown .wd-sub-menu > li > a.woodmart-nav-link:hover,
.whb-main-header .wd-dropdown-my-account a:hover {
  color: #1a1407 !important;
  -webkit-text-fill-color: #1a1407 !important;
  background: #efe6d4 !important; /* (audyt 2026-06-27) hover = glebszy krem, spojnie z Oferta (bylo #d4ba87) */
}

/* svg w dropdownie — zlote (na bialym), hover bez bieli (bylaby niewidoczna) */
.whb-main-header .wd-dropdown-menu.wd-dropdown .wd-sub-menu img.wd-nav-img[src$=".svg"] {
  filter: brightness(0) saturate(100%) invert(78%) sepia(24%) saturate(471%) hue-rotate(6deg) brightness(94%) contrast(88%) !important;
  opacity: 1 !important;
  margin-right: 10px !important;
  vertical-align: middle !important;
}

/* my account  napis uppercase */
.wd-header-my-account .wd-tools-text,
.whb-sticked .wd-header-my-account .wd-tools-text,
.whb-clone .wd-header-my-account .wd-tools-text {
  text-transform: uppercase !important;
}

/* my account  stabilnoś   hovera */
.wd-header-my-account,
.whb-sticked .wd-header-my-account,
.whb-clone .wd-header-my-account {
  position: relative !important;
}

.wd-header-my-account::after,
.whb-sticked .wd-header-my-account::after,
.whb-clone .wd-header-my-account::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  top: 100%;
  height: 18px;
  background: transparent;
}

/* pozycja dropdownu konta */
.wd-header-my-account .wd-dropdown-my-account,
.whb-sticked .wd-header-my-account .wd-dropdown-my-account,
.whb-clone .wd-header-my-account .wd-dropdown-my-account {
  top: calc(100% + 2px) !important;
}

/* dropdown konta  tł o */
.whb-header .wd-dropdown-my-account.wd-dropdown-menu,
.whb-header .wd-dropdown-my-account.wd-dropdown-menu .wd-sub-menu,
.whb-header .wd-dropdown-my-account.wd-dropdown-menu .wd-sub-menu li,
.whb-sticked .wd-dropdown-my-account.wd-dropdown-menu,
.whb-sticked .wd-dropdown-my-account.wd-dropdown-menu .wd-sub-menu,
.whb-sticked .wd-dropdown-my-account.wd-dropdown-menu .wd-sub-menu li,
.whb-clone .wd-dropdown-my-account.wd-dropdown-menu,
.whb-clone .wd-dropdown-my-account.wd-dropdown-menu .wd-sub-menu,
.whb-clone .wd-dropdown-my-account.wd-dropdown-menu .wd-sub-menu li {
  background: #FBF8F3 !important; /* (audyt 2026-06-27): KONTO = ten sam KREM co Oferta (user: „inne kolory, powinno byc to z oferty"). Bylo #d4ba87 — to LI malowalo zloto POD kremowym master-override (celuje w kontenery, nie li). */
  border: 0 !important;
  box-shadow: none !important;
}

.whb-header .wd-dropdown-my-account.wd-dropdown-menu,
.whb-sticked .wd-dropdown-my-account.wd-dropdown-menu,
.whb-clone .wd-dropdown-my-account.wd-dropdown-menu {
  min-width: 240px !important;
  padding: 0 !important;
}

.whb-header .wd-dropdown-my-account.wd-dropdown-menu .wd-sub-menu,
.whb-sticked .wd-dropdown-my-account.wd-dropdown-menu .wd-sub-menu,
.whb-clone .wd-dropdown-my-account.wd-dropdown-menu .wd-sub-menu {
  margin: 0 !important;
  padding: 0 !important;
}

.whb-header .wd-dropdown-my-account.wd-dropdown-menu .wd-sub-menu li,
.whb-sticked .wd-dropdown-my-account.wd-dropdown-menu .wd-sub-menu li,
.whb-clone .wd-dropdown-my-account.wd-dropdown-menu .wd-sub-menu li {
  list-style: none !important;
  margin: 0 !important;
  border: 0 !important;
}

/* linki w dropdownie konta */
.whb-header .wd-dropdown-my-account.wd-dropdown-menu .wd-sub-menu li a,
.whb-sticked .wd-dropdown-my-account.wd-dropdown-menu .wd-sub-menu li a,
.whb-clone .wd-dropdown-my-account.wd-dropdown-menu .wd-sub-menu li a {
  display: block !important;
  padding: 14px 22px !important;
  color: #1a1407 !important; /* (audyt 2026-06-25): bylo var(--nw-beige) — na zlotym panelu napis ma byc ciemny */
  -webkit-text-fill-color: #1a1407 !important;
  background: transparent !important;
  text-decoration: none !important;
  border: 0 !important;
  box-shadow: none !important;
}

.whb-header .wd-dropdown-my-account.wd-dropdown-menu .wd-sub-menu li a span,
.whb-sticked .wd-dropdown-my-account.wd-dropdown-menu .wd-sub-menu li a span,
.whb-clone .wd-dropdown-my-account.wd-dropdown-menu .wd-sub-menu li a span {
  color: inherit !important;
}

.whb-header .wd-dropdown-my-account.wd-dropdown-menu .wd-sub-menu li:hover > a,
.whb-header .wd-dropdown-my-account.wd-dropdown-menu .wd-sub-menu li a:hover,
.whb-sticked .wd-dropdown-my-account.wd-dropdown-menu .wd-sub-menu li:hover > a,
.whb-sticked .wd-dropdown-my-account.wd-dropdown-menu .wd-sub-menu li a:hover,
.whb-clone .wd-dropdown-my-account.wd-dropdown-menu .wd-sub-menu li:hover > a,
.whb-clone .wd-dropdown-my-account.wd-dropdown-menu .wd-sub-menu li a:hover {
  color: #1a1407 !important;
  -webkit-text-fill-color: #1a1407 !important;
  background: #c9a84c !important; /* (audyt 2026-06-25): hover = ciemniejsze zloto (panel zloty #d4ba87) */
}

/* usuń  pseudo-elementy z dropdownu konta */
.whb-header .wd-dropdown-my-account.wd-dropdown-menu::before,
.whb-header .wd-dropdown-my-account.wd-dropdown-menu::after,
.whb-header .wd-dropdown-my-account.wd-dropdown-menu .wd-sub-menu li::before,
.whb-header .wd-dropdown-my-account.wd-dropdown-menu .wd-sub-menu li::after,
.whb-sticked .wd-dropdown-my-account.wd-dropdown-menu::before,
.whb-sticked .wd-dropdown-my-account.wd-dropdown-menu::after,
.whb-sticked .wd-dropdown-my-account.wd-dropdown-menu .wd-sub-menu li::before,
.whb-sticked .wd-dropdown-my-account.wd-dropdown-menu .wd-sub-menu li::after,
.whb-clone .wd-dropdown-my-account.wd-dropdown-menu::before,
.whb-clone .wd-dropdown-my-account.wd-dropdown-menu::after,
.whb-clone .wd-dropdown-my-account.wd-dropdown-menu .wd-sub-menu li::before,
.whb-clone .wd-dropdown-my-account.wd-dropdown-menu .wd-sub-menu li::after {
  display: none !important;
  content: none !important;
}

/* =========================================================
   5. OGÓLNE UI  PRZYCISKI / CENY / FORMY / BADGE
   ========================================================= */

/* ceny */
.price,
.amount,
ins .amount,
p.price,
span.price,
.woocommerce-Price-amount,
.woocommerce ul.products li.product .price,
.woocommerce div.product p.price,
.woocommerce div.product span.price,
.wd-entities-title + .price,
.product-grid-item .price,
.product-grid-item .amount {
  color: var(--nw-beige) !important;
}

/* przyciski  baza */
.btn,
.button,
button,
input[type="submit"],
input[type="button"],
input[type="reset"],
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.wd-add-btn a,
.add_to_cart_button,
.single_add_to_cart_button,
.bundle_add_to_cart_button {
  background-color: #d4ba87 !important;
  border-color: #d4ba87 !important;
  color: #1a1407 !important;
  -webkit-text-fill-color: #1a1407 !important;
  box-shadow: none !important;
  transform: none !important;
  transition: background-color 0.2s ease, border-color 0.2s ease, color 0.2s ease !important;
  /* (audyt 2026-06-24) STYL „F2+G2": ZLOTE pelne tlo #d4ba87, ciemny napis, ZAOKRAGLONE 8px, Poppins 600. */
  border-radius: 8px !important;
  text-transform: uppercase !important;
  font-weight: 600 !important;
  letter-spacing: 0.1em !important;
  font-family: Poppins, "Helvetica Neue", Arial, sans-serif !important;
}

/* przyciski  hover */
.btn:hover,
.button:hover,
button:hover,
input[type="submit"]:hover,
input[type="button"]:hover,
input[type="reset"]:hover,
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover,
.wd-add-btn a:hover,
.add_to_cart_button:hover,
.single_add_to_cart_button:hover,
.bundle_add_to_cart_button:hover {
  background-color: #c9a84c !important;
  border-color: #c9a84c !important;
  color: #1a1407 !important;
  -webkit-text-fill-color: #1a1407 !important;
  box-shadow: none !important;
  transform: none !important;
}

/* (audyt 2026-06-24) Rytm pionowy sekcji home — ujednolicenie do --nw-section-space.
   Bylo niespojnie: nw-o-nas 76/0, nw-opinie 46/28, nw-realizacje 28/0, nw-zaufali 64/64.
   Teraz kazda sekcja oddycha rowno (64px desktop / 42px mobile = brandowy rytm). */
.nw-o-nas-section,
.nw-home-process,
.nw-opinie-section,
.nw-home-realizacje-preview,
.nw-home-why,
.nw-zaufali {
  padding-top: var(--nw-section-space, 64px) !important;
  padding-bottom: var(--nw-section-space, 64px) !important;
}
@media (max-width: 767px) {
  .nw-o-nas-section,
  .nw-home-process,
  .nw-opinie-section,
  .nw-home-realizacje-preview,
  .nw-home-why,
  .nw-zaufali {
    padding-top: 42px !important;
    padding-bottom: 42px !important;
  }
}

/* (audyt 2026-06-24) Banner Oferta/sklep (widget Elementor #57d2cbf): zywy napis zamiast wypalonego w obrazku.
   Obrazek tlo_zoptymalizowane.avif ma wypalone "Wypozyczalnia" -> ukrywamy go (opacity:0, zachowuje wysokosc),
   odslania sie czyste tlo namiot_4x8-scaled.jpg (jest juz jako background diva). Napis = zywy tekst (Poppins),
   wiec mozna go zmienic/przetlumaczyc. Regula scopowana ID widgetu, wiec nie rusza innych .wd-image na stronie. */
.elementor-element-57d2cbf .wd-image.text-left { position: relative !important; }
.elementor-element-57d2cbf .wd-image.text-left img { opacity: 0 !important; }
.elementor-element-57d2cbf .wd-image.text-left::after {
  content: "Oferta";
  position: absolute;
  top: 0; right: 0; bottom: 0; left: 0;
  inset: 0;
  z-index: 5;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  padding: 0 20px;
  font-family: Poppins, "Helvetica Neue", Arial, sans-serif;
  font-weight: 600; /* (2026-07-03, user: jednolite banery) bylo 700/64px */
  font-size: clamp(30px, 3.4vw, 44px);
  line-height: 1.15;
  color: #fff;
  letter-spacing: 0.01em;
  text-shadow: 0 2px 18px rgba(0, 0, 0, 0.45);
  pointer-events: none;
}
@media (max-width: 1024px) {
  .elementor-element-57d2cbf .wd-image.text-left::after { font-size: 38px; } /* (2026-07-03 v2) baza 44 -> tablet 38 */
}
@media (max-width: 767px) {
  .elementor-element-57d2cbf .wd-image.text-left::after { font-size: 30px; }
}

/* (audyt 2026-06-24) Banner WYCEN (page-id-31488, konfigurator) — to samo co Oferta: wypalone „Wypozyczalnia"
   w obrazku page-title (tlo_zoptymalizowane.avif) -> ukrywamy obrazek, dajemy czyste tlo namiot_4x8 + przyciemnienie.
   Tytul „Konfigurator" jest ZYWYM tekstem konfiguratora (zostaje) — NIE odslaniamy ukrytego h1 „Wycen" (dublowalby sie). */
body.page-id-31488 .wd-page-title-bg img { display: none !important; }
body.page-id-31488 .wd-page-title-bg {
  background-image: var(--nw-new-bg-image) !important; /* (2026-07-11) wspolna zmienna zamiast hardcodu (podmiana headerow 1 miejscem) */
  background-size: cover !important;
  background-position: center !important;
}
body.page-id-31488 .wd-page-title-bg::after {
  content: "";
  position: absolute;
  top: 0; right: 0; bottom: 0; left: 0;
  inset: 0;
  background: rgba(0, 0, 0, 0.40);
}

/* (audyt 2026-06-24) Lekkie zaokraglenie kart/kafelkow (spojnie z przyciskami 8px) — decyzja usera „to lekko zaokraglone".
   Kafelki kategorii, karty opinii, karty „dlaczego my", karty realizacji + ich obrazy. Podpisy kategorii sa POD obrazem
   (osobny element), wiec overflow:hidden na obrazie ich nie obcina. */
.wd-cat-image,
.wd-cat-inner,
.wrapp-category,
.wd-cat-thumb,
.category-image-wrapp,
.wd-cat-thumb img,
.wd-cat-image img,
.nw-opinia-card,
.nw-home-why-item,
.nw-home-realizacje-preview__card,
.nw-home-realizacje-preview__image {
  border-radius: 12px !important;
  overflow: hidden !important;
}
/* (audyt 2026-06-24) Kafelek kategorii na HOVER dostaje zlota ramke `.category-grid-item::after` (border 4px, radius 0)
   -> kanciasta, psula zaokraglenie. Zaokraglamy kafelek + pseudo-ramke + WEWNETRZNE warstwy (na HOME obraz jest w
   .wd-cat-thumb/.wd-cat-inner z radius 0 — bez tego rogi obrazu byly ostre mimo zaokraglonego zewnetrznego .wd-cat-image). */
.category-grid-item,
.category-grid-item::before,
.category-grid-item::after {
  border-radius: 12px !important;
}

/* (audyt 2026-06-24) KULOODPORNE zaokraglenie kart — ID-spec `:not(#nw-z)` bije KAZDA pozniejsza/wyzsza regule z radius:0.
   W pliku bylo kilka duplikatow `.nw-opinia-card{radius:0}`, `.home .nw-home-why-item{radius:0}`, karta rezerwacji `:has(){radius:0}`
   ktore bily zwykla regule wyzej. Ta regula konczy whack-a-mole — zadna klasowa jej nie nadpisze. */
html .nw-opinia-card:not(#nw-z),
html .nw-home-why-item:not(#nw-z),
html .nw-home-realizacje-preview__card:not(#nw-z),
html .nw-reservation-card:not(#nw-z),
html .nw-gallery-bundle-box:not(#nw-z),
html #nw-popup-v3 .nw-popup-v3__card:not(#nw-z),
html .wd-cat-image:not(#nw-z) {
  border-radius: 12px !important;
}
/* (audyt 2026-06-26) kolejne boksy zglaszane jako „nie zaokraglone" — inline radius bity przez motyw/duplikat, wiec master-override.
   FAQ „Regulamin wynajmu" = 18px (duzy box, inline mial 18 ale nie wchodzil); reszta wyzej = 12px (kanon kart). */
html .nw-faq-regulations-inner:not(#nw-z) {
  border-radius: 12px !important; /* (audyt 2026-07-20) kanon kart 12px (bylo 18) */
}

/* (audyt 2026-06-26) KOSZYK — „Podsumowanie koszyka" jako zaokraglona karta (user: box nie zaokraglony + tekst nieobnizony).
   .cart_totals bylo przezroczyste (radius 12px niewidoczny). Dajemy widoczna karte: krem, ramka gold, radius 12px, padding (obniza naglowek). */
html .cart_totals .cart-totals-inner:not(#nw-z),
html .cart-collaterals .cart-totals-inner:not(#nw-z) {
  background: #fdfbf6 !important;
  border: 1px solid rgba(212,186,135,.45) !important;
  border-radius: 12px !important;
  padding: 28px 26px 24px !important;
  box-shadow: 0 12px 34px rgba(0,0,0,.05) !important;
}
html .cart-totals-inner h2:not(#nw-z) {
  margin: 0 0 18px !important; /* obnizenie/odstep naglowka */
  font-size: 18px !important; /* (2026-07-03, user: 'nadal za grube') caps+22px wygladalo ciezko */
  font-weight: 600 !important;
  letter-spacing: 0.02em !important;
  color: #111 !important;
  font-family: 'Poppins', sans-serif !important; /* spojnie ze storefrontem (user pytal o czcionke) */
}

/* (audyt 2026-06-26) NAGLOWKI PODSTRON — jednakowe przygaszenie zdjecia (user: „FAQ i Wycen maja inne headery, to samo ulozenie zdjecia i przygaszenie").
   FAQ = custom .nw-faq-top (inline 0.35), Wycen/reszta = theme .wd-page-title — oba mialy ten sam layout/wys., ale Wycen wygladal jasniej.
   Wymuszamy IDENTYCZNY plaski ciemny overlay 0.45 (bez radialnych poswiat) -> tytul czytelny tak samo niezaleznie od jasnosci foto.
   :not(#nw-z)::before = ID-spec, bije inline FAQ i regule motywu. */
/* (audyt 2026-06-27) JEDNOLITE przyciemnienie na WSZYSTKICH hero = 0.45 (user: „taki sam poziom na wszystkich").
   Master bije rozjazd wartosci (0.10/0.35/0.40/0.42/0.58) rozsiany po pliku. Jeden overlay = jeden ::before. */
html .wd-page-title:not(#nw-z)::before,
html .page-title:not(#nw-z)::before,
html .nw-faq-top:not(#nw-z)::before,
html .nw-contact-top:not(#nw-z)::before,
/* (2026-07-02) hero OFERTY (archiwum WC) to banner .wd-image z wlasnym ::before 0.35 — dolaczony do mastera (user: identyczne przygaszenie wszedzie) */
html body:is(.woocommerce-shop, .post-type-archive-product, .tax-product_cat) .wd-image:not(#nw-z)::before {
  background: rgba(0,0,0,0.45) !important;
  background-image: none !important;
}
/* (2026-07-03, user: „3D odpuscil, cien ok, na wszystkie strony") — JEDNA miekka warstwa cienia,
   na WSZYSTKICH tytulach hero (podstrony + home). */
.wd-page-title :is(h1, .entry-title, .title),
.page-title :is(h1, .entry-title, .title),
.nw-faq-top :is(h1, h2),
.nw-contact-top :is(h1, h2),
body:is(.woocommerce-shop, .post-type-archive-product, .tax-product_cat) .wd-image :is(h1, h2, h3, .wd-title, .banner-title),
body.home .elementor-element.elementor-element-f317353 .hero-tekst-namioty :is(h1, .elementor-heading-title),
body.home .elementor-element.elementor-element-f317353 .hero-tekst-namioty p {
  text-shadow: 0 3px 18px rgba(0,0,0,0.8) !important; /* (2026-07-03 v2) 0.45 bylo NIEWIDOCZNE na jasnym niebie (user: brak cienia) — mocniejsza, wciaz miekka pojedyncza warstwa */
}
/* usun ZDUBLOWANE nakladki, ktore stackowaly sie na wierzchu (Wycen byl przez to ciemniejszy niz Galeria; Kontakt mial ::before+::after) */
html body.page-id-31488 .wd-page-title-bg:not(#nw-z)::after,
html .nw-contact-top:not(#nw-z)::after {
  background: transparent !important;
  background-image: none !important;
}

/* (audyt 2026-06-26) Kwoty NIE moga sie lamac w bocznym/mini koszyku (user „kwoty nie powinny sie lamac w koszyku") */
html .widget_shopping_cart .amount:not(#nw-z),
html .woocommerce-mini-cart .amount:not(#nw-z),
html .cart-widget-side .amount:not(#nw-z),
html .mini_cart_item .amount:not(#nw-z),
html .wd-cart-drawer .amount:not(#nw-z) {
  white-space: nowrap !important;
}

/* (audyt 2026-06-26) Boczny koszyk (off-canvas) NIE scrollowal sie przy wielu pozycjach (user „opadalista w koszyku z boku sie nie scrolluje").
   .cart-widget-side = flex-column overflow:auto, ale dziecko .widget_shopping_cart ma flex:1 1 100% i overflow:visible -> kurczy sie i lista
   sie WYLEWA zamiast scrollowac (klasyczny bug flexboxa). Fix: min-height:0 + overflow-y:auto na dziecku -> lista scrolluje wewnatrz drawera. */
html .cart-widget-side .widget_shopping_cart:not(#nw-z),
html .cart-widget-side .widget_shopping_cart_content:not(#nw-z) {
  min-height: 0 !important;
  overflow-y: auto !important;
}

/* (audyt 2026-06-27) KONTAKT — placeholder pod mapa Google. Iframe embed laduje sie kilka sekund
   (zwlaszcza bez cache) i w tym czasie miejsce mapy to pusty prostokat — user zglosil „mapa zniknela".
   Tlo + napis widoczne DO czasu wyrenderowania iframe (iframe przykrywa ::before gdy sie zaladuje). */
.elementor-widget-google_maps .elementor-custom-embed {
  position: relative;
  background: #f2efe7;
  min-height: 320px;
}
.elementor-widget-google_maps .elementor-custom-embed::before {
  content: "Ładowanie mapy…";
  position: absolute;
  top: 0; right: 0; bottom: 0; left: 0;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #8a8170;
  font-size: 14px;
  letter-spacing: .04em;
}
/* (audyt 2026-07-02) po podmianie iframe na poprawny embed (JS ustawia .nw-map-loaded) chowamy placeholder,
   zeby nigdy nie przeswitywal spod zaladowanej mapy. */
.elementor-widget-google_maps .elementor-custom-embed.nw-map-loaded::before { content: none; display: none; }
.elementor-widget-google_maps iframe {
  position: relative;
  z-index: 1;
  display: block;
}

/* =========================================================
   (audyt 2026-06-27) PARTIA A2 — szybkie poprawki z przegladu usera
   ========================================================= */

/* A2.7 guzik WYPOZYCZ nachodzil na opis kroku (home/proces) — odstep + wlasna warstwa */
.home a.nw-home-process-button:not(#nw-z) {
  margin-top: 44px !important;
  position: relative;
  z-index: 2;
}

/* A2.8 odstepy sekcji home — jeden rytm (galeria realizacji miala wlasne 28px) */
.home .nw-home-realizacje-preview {
  padding-top: var(--nw-home-gap-lg, 56px) !important;
}
.home .nw-home-categories-intro {
  margin-top: var(--nw-home-gap-lg, 56px) !important;
}

/* A2.11 slider zasiegu przenoszenia (formularz rezerwacji) — natywny range nie pasowal do strony */
.nw-reservation-form input[type="range"] {
  -webkit-appearance: none;
  appearance: none;
  width: 100%;
  height: 6px;
  border-radius: 999px;
  background: #ecdfc2;
  outline: none;
}
.nw-reservation-form input[type="range"]::-webkit-slider-thumb {
  -webkit-appearance: none;
  appearance: none;
  width: 26px;
  height: 26px;
  border-radius: 50%;
  background: #d4ba87;
  border: 2px solid #fff;
  box-shadow: 0 2px 8px rgba(0,0,0,.18);
  cursor: pointer;
}
.nw-reservation-form input[type="range"]::-moz-range-track {
  height: 6px;
  border-radius: 999px;
  background: #ecdfc2;
}
.nw-reservation-form input[type="range"]::-moz-range-thumb {
  width: 24px;
  height: 24px;
  border-radius: 50%;
  background: #d4ba87;
  border: 2px solid #fff;
  box-shadow: 0 2px 8px rgba(0,0,0,.18);
  cursor: pointer;
}

/* A2.12 „Wroc do strony" — bez podkreslenia (user) */
html a.nw-cta-return-btn:not(#nw-z) {
  text-decoration: none !important;
}

/* A1.1 opinie: karta jest teraz LINKIEM — dziedziczenie koloru, bez podkreslenia; link „Zobacz wszystkie" */
html a.nw-opinia-card:not(#nw-z) {
  text-decoration: none !important;
  color: inherit !important;
  display: flex;
  cursor: pointer;
}
.nw-opinie-more {
  text-align: center;
  margin-top: 22px;
}
.nw-opinie-more a {
  color: #d4ba87;
  font-weight: 600;
  letter-spacing: .04em;
  text-decoration: none;
  border-bottom: 0; /* (2026-07-03) bez podkreslenia (user) */
  padding-bottom: 2px;
}
.nw-opinie-more a:hover {
  color: #f0dcae;
  border-bottom-color: #f0dcae;
}
/* strzalki opinii: ZAWSZE widoczne i zlote (user: „nie ma strzaleczek, powinny zlote") — gdy nie ma czego przewijac: przygaszone, nie znikaja */
html .nw-opinie-arrow:not(#nw-z) {
  display: flex !important;
  color: #f0d69f !important;
}
html .nw-opinie-arrow:not(#nw-z):hover {
  color: #f5e3b8 !important;
}
html .nw-opinie-arrow:not(#nw-z):disabled {
  opacity: .3 !important;
}

/* (2026-07-03) WYCEN na Kontakcie: element dostaje klase .nw-contact-secondary-btn = PELNY kanon przyciskow
   kontaktu. Wczesniejszy wlasny styl (mniejszy padding/min-height) ROZJEZDZAL go z reszta — usuniety (user). */

/* (audyt 2026-06-27) HEADER: LUPKA przed KONTEM w KAZDYM wariancie/stanie headera (user: „na pasku po zjechaniu
   nie zmienia kolejnosci"). Sticky/clone/kompaktowy maja tools w innych kolumnach niz .whb-col-right — dlatego
   order ustawiamy WPROST na elementach narzedzi (rodzic zawsze flex), niezaleznie od kolumny/wiersza/stanu. */
.whb-header .wd-header-search,
.whb-sticked .wd-header-search,
.whb-clone .wd-header-search { order: 1 !important; }
.whb-header .wd-header-my-account,
.whb-sticked .wd-header-my-account,
.whb-clone .wd-header-my-account { order: 2 !important; }
.whb-header .wd-header-cart,
.whb-sticked .wd-header-cart,
.whb-clone .wd-header-cart { order: 3 !important; }

/* =========================================================
   (audyt 2026-06-27) TLO STRONY #FBF8F3 + delikatny gradient pod hero (user)
   ========================================================= */
/* cieply krem zamiast czystej bieli — motyw czyta kolor z --wd-main-bgcolor */
html body:not([class*="wrapper-boxed"]) {
  --wd-main-bgcolor: #FBF8F3;
  background-color: #FBF8F3 !important;
}
/* (2026-07-02, KOREKTA USERA) KANON FONTOW: NAGLOWKI/PRZYCISKI = Poppins, TRESC (body/menu/stopka/opinie) = ROBOTO.
   Wczesniejsze nadpisanie --wd-text-font na Poppins bylo BLEDEM — wycofane. NIE nadpisywac zmiennej motywu. */
/* (2026-07-03 v2) GLOBALNE wygladzanie WYCOFANE (user: „czcionka sie zmienila") — zostaje punktowo
   na drobnych wersalikach, gdzie Safari renderowal „ostro" (badge POLECANE). */
.nw-kf-rec { -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; }
/* (2026-07-02) Elementor shape divider (zabki gora/dol na kasie przy „Twoje zamowienie") — user: „juz niepotrzebne”. */
body:is(.woocommerce-checkout, .page-id-13) .elementor-shape { display: none !important; }
/* (2026-07-02, user) mobile hamburger: pozycja „Zaloguj sie / Moje konto" — separator + zloty akcent */
.wd-nav-mobile .nw-mobile-account { border-top: 1px solid rgba(212, 186, 135, 0.35); margin-top: 8px; padding-top: 8px; }
.wd-nav-mobile .nw-mobile-account > a { color: #d4ba87 !important; font-weight: 600; }
/* (audyt 2026-06-27) delikatny gradient TYLKO na HERO STRONY GLOWNEJ.
   USUNIETY z .wd-page-title/.nw-faq-top — tam ::after to ISTNIEJACE przyciemnienie zdjecia (kolizja pseudo-elementu
   psula naglowki Galerii/Wyceń — user: „tu nie moze byc gradientu"). Home hero ma osobny element. */
body.home .elementor-element.elementor-element-f317353::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 260px; /* (2026-07-03) 340px wchodzil na przycisk „Zaplanuj swoja impreze" (przycisk konczy sie ~129px nad dolem hero) — krycie zaczyna sie PONIZEJ przycisku, przejscie dalej gladkie */
  background: linear-gradient(180deg,
    rgba(251,248,243,0) 0%,
    rgba(251,248,243,0.02) 42%,
    rgba(251,248,243,0.07) 56%,
    rgba(251,248,243,0.16) 68%,
    rgba(251,248,243,0.34) 79%,
    rgba(251,248,243,0.60) 88%,
    rgba(251,248,243,0.84) 95%,
    #FBF8F3 100%);
  pointer-events: none;
  z-index: 2;
}
/* tekst hero home NAD gradientem */
body.home .elementor-element.elementor-element-f317353 .hero-tekst-namioty {
  position: relative;
  z-index: 3;
}

/* (audyt 2026-06-27) HERO CTA (E1 audyt) — kanon zlotego przycisku, dopinany JS-em na home */
.nw-hero-cta-wrap {
  margin-top: 28px;
}
a.nw-hero-cta {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 54px;
  padding: 16px 40px;
  background: #d4ba87 !important;
  color: #1a1407 !important;
  border-radius: 8px !important;
  text-transform: uppercase;
  font-weight: 500; /* (2026-07-07, user „nadal pogrubione, ma byc jak buttony z home") 600->500 = identyczne z .nw-home-process-button (zweryfikowane w Chrome: oba 500 Poppins). Zostawiony 600 mylil; master !important i tak forsuje 500. */
  font-size: 16px;
  letter-spacing: .04em;
  text-decoration: none !important;
  transition: background-color .2s ease, color .2s ease;
}
a.nw-hero-cta:hover {
  background: #c9a84c !important;
  color: #1a1407 !important;
  -webkit-text-fill-color: #1a1407 !important;
}

/* (audyt 2026-06-27) MOBILE (task #8): jeden rytm odstepow sekcji home — te same zmienne co desktop,
   wartosci mobilne juz zdefiniowane w @media (max-width:767px) w bloku HOME. */
@media (max-width: 767px) {
  /* (audyt 2026-07-11, user „nadal za duza przerwa miedzy «Warszawa i cala Polska» a «O nas»") padding-top sekcji
     O nas resolwowal sie do 48px (regula bazowa bila var) -> ID-spec :not(#nw-z) wymusza mniejszy odstep na mobile.
     ZWERYFIKOWANE live @375: naglowek „O nas" 1068 -> ~1036 (przerwa 88 -> ~56px). */
  html .home .nw-o-nas-section:not(#nw-z) { padding-top: 20px !important; }
  .home .nw-home-realizacje-preview { padding-top: var(--nw-home-gap-lg, 34px) !important; }
  .home .nw-home-categories-intro { margin-top: var(--nw-home-gap-lg, 34px) !important; margin-bottom: var(--nw-home-gap-md, 24px) !important; }
  .home .nw-home-why { padding-top: var(--nw-home-gap-lg, 34px) !important; }
  .home .nw-kfh { margin-top: 40px !important; margin-bottom: 40px !important; } /* (2026-07-03, user: paddingi nierowne) gora=dol */
  .home .nw-home-process-head, .home .nw-home-why-head { margin-bottom: var(--nw-home-gap-md, 24px) !important; }
}

/* (audyt 2026-06-27) THANK-YOU: „dziwny odstep" — po ukryciu zdublowanych sekcji WC zostawaly ich marginesy/puste wrappery */
.woocommerce-order > *:first-child { margin-top: 0 !important; }
.woocommerce-order .woocommerce-thankyou-order-received:empty { display: none !important; margin: 0 !important; }

/* (audyt 2026-06-27) KOSZYK: „Podsumowanie koszyka" mialo PODWOJNA ramke — kremowa karta siedziala
   w bialym boksie z szara obwodka (wrapper motywu). Zewnetrzny wrapper = przezroczysty, bez ramki. */
html .woocommerce-cart .cart-collaterals:not(#nw-z),
html .woocommerce-cart .cart_totals:not(#nw-z) {
  border: 0 !important;
  background: transparent !important;
  background-color: transparent !important;
  box-shadow: none !important;
  padding: 0 !important;
}

/* (audyt 2026-06-24) THANK-YOU page „za duzo sie dzieje" — ukrywamy ZDUBLOWANE domyslne sekcje WooCommerce.
   Custom box `.nw-thankyou-box` jest kompletny (status, zadatek, dane do przelewu, dane zgloszenia, suma) — wiec standardowe
   WC overview (Numer/Data/Email/Total), tabela produktow i „Adres rozliczeniowy" tylko powtarzaja i zasmiecaja (3766px -> 2803px).
   (Itemizacja produktow jest w mailu potwierdzajacym + koncie klienta.) */
body.woocommerce-order-received .woocommerce-order-overview,
body.woocommerce-order-received .woocommerce-order-details,
body.woocommerce-order-received .woocommerce-customer-details {
  display: none !important;
}

/* (audyt 2026-06-24) Opis pod nazwa produktu (short description „TEST Wymiary...") — USUNIETY WSZEDZIE (prosba usera).
   Te same dane sa w zakladce „Szczegoly i wymiary". Dotyczy strony produktu (single) i ewentualnych widgetow Elementora. */
body.single-product .woocommerce-product-details__short-description,
body.single-product .product .summary .woocommerce-product-details__short-description,
body.single-product .elementor-widget-woocommerce-product-short-description {
  display: none !important;
}

/* (audyt 2026-06-24) MASTER-OVERRIDE przyciskow F2+G2 — gwarancja zlota na CALEJ stronie.
   Trik `:not(#nw-z)` = specyficznosc ID-level, wiec bije WSZYSTKIE reguly klasowe motywu/WoodMart, ktore
   ustawialy czarne tlo (sklep, kasa, „zapisz i przejdz dalej"). Bez tego napis bywal ciemny na czarnym tle = niewidoczny.
   UWAGA: te przyciski maja `transition: all` w WoodMart — getComputedStyle tuz po zmianie pokazuje wartosc w trakcie animacji. */
html a.add_to_cart_button:not(#nw-z),
html a.add-to-cart-loop:not(#nw-z),
html .wd-add-btn a.button:not(#nw-z),
html .wd-buy-btn a.button:not(#nw-z),
html a.checkout-button:not(#nw-z),
html .woocommerce a.button.checkout-button:not(#nw-z),
html .single_add_to_cart_button:not(#nw-z),
html .bundle_add_to_cart_button:not(#nw-z),
html button[name="nw_reservation_submit"]:not(#nw-z),
html .nw-avail-btn-primary:not(#nw-z),
html a.nw-avail-btn-primary:not(#nw-z),
html button.nw-avail-btn-primary:not(#nw-z),
html .woocommerce a.button:not(#nw-z):not(.nw-disabled-checkout-button):not(.nw2-disabled-checkout-button) {
  background: #d4ba87 !important;
  background-color: #d4ba87 !important;
  background-image: none !important;
  color: #1a1407 !important;
  -webkit-text-fill-color: #1a1407 !important;
  border: 1px solid #d4ba87 !important;
  box-shadow: none !important;
  border-radius: 8px !important;
}
html a.add_to_cart_button:not(#nw-z) .wd-action-text,
html .wd-add-btn a:not(#nw-z) .wd-action-text {
  color: #1a1407 !important;
  -webkit-text-fill-color: #1a1407 !important;
}
/* (audyt 2026-06-25): ujednolicenie rozmiaru "Dodaj do wyceny" — loop/related mialy 12px (WoodMart
   a.add-to-cart-loop / .wd-add-btn .add_to_cart_button = 12px!important), glowny przycisk 14px.
   User: "wieksze" -> wszystkie 14px. Celowane TYLKO w loop (nie ruszam glownego/kasy). */
html a.add-to-cart-loop:not(#nw-z),
html .wd-add-btn a.add_to_cart_button:not(#nw-z),
html .wd-add-btn-replace a.add_to_cart_button:not(#nw-z),
html .wd-add-btn .add_to_cart_button:not(#nw-z),
html .wd-add-btn-replace .add_to_cart_button:not(#nw-z) {
  font-size: 14px !important;
}
/* (audyt 2026-06-24) Stan LOADING/ADDED po kliknieciu „dodaj do wyceny" — utrzymaj ZLOTE tlo (bylo czarne).
   Dotyczy tez przyciskow w bundle/popup (.add_to_cart_button.loading/.added/.nw-is-loading). */
html .add_to_cart_button.loading:not(#nw-z),
html .add_to_cart_button.added:not(#nw-z),
html .add_to_cart_button.nw-is-loading:not(#nw-z),
html .wd-add-btn a.button.loading:not(#nw-z),
html .wd-add-btn a.button.added:not(#nw-z),
html .wd-add-btn a.button.nw-is-loading:not(#nw-z),
html .bundle_add_to_cart_button.loading:not(#nw-z),
html .bundle_add_to_cart_button.added:not(#nw-z) {
  background: #d4ba87 !important;
  background-color: #d4ba87 !important;
  color: #1a1407 !important;
  -webkit-text-fill-color: #1a1407 !important;
  border-color: #d4ba87 !important;
}
/* (audyt 2026-07-11, user „buttony dodaj do wyceny na mobile nierowne i po kliknieciu widac zmiane rozmiaru")
   przyciski w siatce/karuzeli maja tekst w jednej lini (nowrap) — bez tego swap tekstu „Dodaj do wyceny" ->
   „Dodawanie…" -> „✓" zmienial liczbe linii i wysokosc (skok). ZWERYFIKOWANE: tekst miesci sie w 1 lini (166<=166). */
html .wd-add-btn a.add_to_cart_button:not(#nw-z),
html .wd-carousel a.add_to_cart_button:not(#nw-z),
html ul.products a.add_to_cart_button:not(#nw-z) {
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}
/* (audyt 2026-07-11, user „nadal zmienia wielkosc po kliknieciu jak jest dodawanie") w KARUZELI („Moze Cie
   zainteresowac") przycisk mial flex:0 1 auto (szerokosc wg tekstu) -> swap „Dodaj do wyceny"(168)->„Dodawanie…"(159)
   ->„✓"(72) zmienial szerokosc. Pelna, stala szerokosc karty = zero skoku. ZWERYFIKOWANE: 168px we wszystkich stanach.

   (audyt 2026-07-21, user „przycisk po kliknieciu jak jest dodawanie... nadal zmienia wielkosc" — DESKTOP)
   ROOT CAUSE: fix z 2026-07-11 byl zamkniety w `@media (max-width:768px)`, wiec DESKTOP zostal przy
   flex:0 1 auto. ZMIERZONE w Chrome @1470 na karuzeli w koszyku: „Dodaj do wyceny" 203,9px ->
   „Dodawanie..." 170px -> „✓" 170px (skok 34px; 170 to min-width, ktore dluzszy napis przebijal).
   Po zdjeciu media query: 283px w KAZDYM z trzech stanow. Dlatego regula obowiazuje na wszystkich
   szerokosciach — karta karuzeli ma stala szerokosc, wiec przycisk 100% jest z definicji niezmienny.
   (Sam MutationObserver min-width w main-2 tego nie ratowal: mierzy PO zmianie klasy, a tekst
   jest podmieniany w tej samej operacji, wiec zamrazal juz nowa szerokosc.) */
html .wd-carousel .wd-add-btn a.add_to_cart_button:not(#nw-z),
html .wd-carousel a.add_to_cart_button.add-to-cart-loop:not(#nw-z){ flex:1 1 100% !important; width:100% !important; min-width:0 !important; }
/* (audyt 2026-06-24) HOVER = CIEMNIEJSZE ZLOTO #c9a84c + ciemny napis (decyzja usera „hover ciemniejszy zloty", bez czerni).
   ID-spec :not(#nw-z) bije wszystkie rozproszone czarne hovery motywu/naszych regul. Komplet CTA. */
html a.add_to_cart_button:not(#nw-z):hover,
html a.add-to-cart-loop:not(#nw-z):hover,
html .wd-add-btn a.button:not(#nw-z):hover,
html .wd-buy-btn a.button:not(#nw-z):hover,
html a.checkout-button:not(#nw-z):hover,
html .woocommerce a.button.checkout-button:not(#nw-z):hover,
html .single_add_to_cart_button:not(#nw-z):hover,
html .bundle_add_to_cart_button:not(#nw-z):hover,
html button[name="nw_reservation_submit"]:not(#nw-z):hover,
html .woocommerce a.button:not(#nw-z):not(.nw-disabled-checkout-button):not(.nw2-disabled-checkout-button):hover,
html a.nw-home-process-button:not(#nw-z):hover,
html a.nw-shop-cta-btn:not(#nw-z):hover,
html a.nw-shop-konfig-cta__btn:not(#nw-z):hover,
html a.nw-contact-main-btn:not(#nw-z):hover,
html a.nw-contact-secondary-btn:not(#nw-z):hover,
html a.nw-faq-regulations-btn:not(#nw-z):hover,
html a.nw-cancel-order-btn:not(#nw-z):hover,
html a.nw-konfig-cta:not(#nw-z):hover,
html .nw-gallery-tab:not(#nw-z):hover,
html .nw-gallery-bundle-btn:not(#nw-z):hover,
html .nw-kf-btn:not(#nw-z):hover,
html .nw-kf-next:not(#nw-z):hover,
html .nw-kf-add:not(#nw-z):hover,
html .nw-avail-btn-primary:not(#nw-z):hover,
html .nw-main-submit:not(#nw-z):hover,
html a.nw-home-realizacje-preview__more:not(#nw-z):hover,
html a.nw-home-realizacje-preview__button:not(#nw-z):hover,
html .nw-cm-confirm:not(#nw-z):hover {
  background: #c9a84c !important;
  background-color: #c9a84c !important;
  color: #1a1407 !important;
  -webkit-text-fill-color: #1a1407 !important;
  border-color: #c9a84c !important;
}
html a.add_to_cart_button:not(#nw-z):hover .wd-action-text,
html .wd-add-btn a:not(#nw-z):hover .wd-action-text {
  color: #1a1407 !important;
  -webkit-text-fill-color: #1a1407 !important;
}
/* (audyt 2026-06-25): ANTY-SKOK galerii realizacji. User: "po hover zmienia sie rozmiar przyciskow i czcionki,
   przeskakuja". Przyczyna: regula .website-wrapper ...:hover zmieniala letter-spacing (np. __button 0.1em -> 0.04em)
   -> tracking sie zmienia na hover. Lock ID-spec PRZYBIJA rozmiar/odstepy/transform IDENTYCZNIE w base+hover+focus+active,
   wiec ZADNA regula (motyw/WoodMart/stary cache) nie wywola skoku. Tylko kolor (tlo/napis) sie animuje. */
html a.nw-home-realizacje-preview__more:not(#nw-z),
html a.nw-home-realizacje-preview__more:not(#nw-z):hover,
html a.nw-home-realizacje-preview__more:not(#nw-z):focus,
html a.nw-home-realizacje-preview__more:not(#nw-z):active {
  font-size: 13px !important;
  letter-spacing: 0.04em !important;
  padding: 0 20px !important;
  min-height: 42px !important;
  line-height: 1 !important;
  transform: none !important;
}
html a.nw-home-realizacje-preview__button:not(#nw-z),
html a.nw-home-realizacje-preview__button:not(#nw-z):hover,
html a.nw-home-realizacje-preview__button:not(#nw-z):focus,
html a.nw-home-realizacje-preview__button:not(#nw-z):active {
  font-size: 16px !important; /* (audyt 2026-06-26) ujednolicony TEKST z .nw-kfh-btn „Zaplanuj swoja impreze" (bylo 14px) */
  letter-spacing: 0.04em !important; /* bylo 0.1em — rozstrzal liter teraz jak u „Zaplanuj" */
  padding: 0 34px !important;
  min-width: 380px !important;
  min-height: 58px !important;
  line-height: 1 !important;
  transform: none !important;
}

/* (audyt 2026-06-24) „Wróć do strony" / „Wróć do formularza" (.nw-cta-return-btn) — SAM NAPIS, nie button (decyzja usera). */
html a.nw-cta-return-btn:not(#nw-z) {
  background: transparent !important;
  background-color: transparent !important;
  background-image: none !important;
  border: 0 !important;
  box-shadow: none !important;
  border-radius: 0 !important;
  padding: 6px 4px !important;
  min-width: 0 !important;
  min-height: 0 !important;
  color: #6f6f6f !important;
  -webkit-text-fill-color: #6f6f6f !important;
  text-decoration: underline !important;
  text-transform: none !important;
  letter-spacing: normal !important;
  font-weight: 600 !important;
}
html a.nw-cta-return-btn:not(#nw-z):hover {
  background: transparent !important;
  background-color: transparent !important;
  color: #1a1407 !important;
  -webkit-text-fill-color: #1a1407 !important;
}

/* (audyt 2026-06-24) Menu rozwijane (Oferta -> Namioty/Meble/...) — W KOLORACH PRZYCISKU (decyzja usera „w kolorze przycisku").
   Panel ZLOTE tlo #d4ba87, ciemny napis #1a1407, hover ciemniejsze zloto #c9a84c. Zaokraglone 10px. :not(#nw-z) = ID-level. */
html .wd-dropdown-menu:not(#nw-z),
html .wd-sub-menu:not(#nw-z),
html .whb-header .menu .sub-menu:not(#nw-z),
html .wd-dropdown-my-account:not(#nw-z),
html .wd-dropdown.wd-dropdown-menu:not(#nw-z) {
  background: #FBF8F3 !important; /* (audyt 2026-06-26) MNIEJ MOCNY kolor menu (user) — kremowy zamiast nasyconego zlota #d4ba87, ciemny napis zostaje */
  background-color: #FBF8F3 !important;
  border-radius: 10px !important;
  overflow: hidden !important;
  border: 1px solid #e6d6b3 !important;
}
/* (audyt 2026-06-27 A2.13) LI/UL solidnym KREMEM + zero marginesow — miedzy pozycjami przeswitywalo BIALE tlo
   (screenshot usera: kremowe kafelki na bialym panelu). Separator = subtelna zlota linia. */
html .wd-dropdown-menu:not(#nw-z) ul,
html .wd-dropdown-menu:not(#nw-z) li,
html .wd-sub-menu:not(#nw-z) li,
html .wd-dropdown-my-account:not(#nw-z) ul,
html .wd-dropdown-my-account:not(#nw-z) li {
  background: #FBF8F3 !important;
  background-color: #FBF8F3 !important;
  margin: 0 !important;
}
html .wd-dropdown-menu:not(#nw-z) li,
html .wd-sub-menu:not(#nw-z) li,
html .wd-dropdown-my-account:not(#nw-z) li {
  border-bottom: 1px solid #e6d6b3 !important;
}
html .wd-dropdown-menu:not(#nw-z) li:last-child,
html .wd-sub-menu:not(#nw-z) li:last-child,
html .wd-dropdown-my-account:not(#nw-z) li:last-child {
  border-bottom: 0 !important;
}
html .wd-dropdown-menu:not(#nw-z) li > a,
html .wd-dropdown-my-account:not(#nw-z) li > a {
  border-radius: 0 !important;
}

/* (audyt 2026-06-27 D1) LOCK ANTY-SKOK dla .nw-gallery-bundle-btn — klasa zdefiniowana w pliku 3x
   (m.in. redefinicja z transition:all + innym letter-spacingiem => tekst SKAKAL na hover).
   ID-spec przybija transition (tylko kolory) i rozstrzal liter IDENTYCZNIE w kazdym stanie — bije kazda redefinicje. */
html .nw-gallery-bundle-btn:not(#nw-z),
html .nw-gallery-bundle-btn:not(#nw-z):hover,
html .nw-gallery-bundle-btn:not(#nw-z):focus,
html .nw-gallery-bundle-btn:not(#nw-z):active {
  transition: background-color .2s ease, border-color .2s ease, color .2s ease !important;
  letter-spacing: 0.04em !important;
  transform: none !important;
}
/* (audyt 2026-06-27) FREEZE DROPDOWNÓW (user: „menu Oferta i Moje konto znika jak się najedzie").
   Przyczyna: ~20px MARTWEJ STREFY między linkiem a panelem (panel top:42px+margin) — mysz w przerwie
   traci :hover i panel odpala fade-out. Fix: (1) niewidzialny mostek pod pozycją menu widoczny tylko
   przy hover (nie blokuje kliknięć gdy menu zamknięte), (2) opóźnione zamykanie (grace 0.25s). */
.whb-header .wd-nav > li.menu-item-has-children,
.whb-header .wd-header-my-account {
  position: relative;
}
.whb-header .wd-nav > li.menu-item-has-children:hover::after,
.whb-header .wd-header-my-account:hover::after {
  content: "";
  position: absolute;
  left: -12px;
  right: -12px;
  top: 100%;
  height: 28px;
  background: transparent;
  z-index: 350;
}
.whb-header .wd-dropdown-menu,
.whb-header .wd-dropdown-my-account {
  transition-delay: .25s !important; /* zamykanie z gracja — chwilowe zejscie z hovera nie chowa panelu */
}
.whb-header li:hover > .wd-dropdown-menu,
.whb-header .wd-header-my-account:hover .wd-dropdown-my-account,
.whb-header li.wd-opened > .wd-dropdown-menu {
  transition-delay: 0s !important; /* otwieranie natychmiast */
}

html .wd-dropdown-menu:not(#nw-z) a,
html .wd-sub-menu:not(#nw-z) a,
html .whb-header .menu .sub-menu:not(#nw-z) a {
  color: #1a1407 !important;
  -webkit-text-fill-color: #1a1407 !important;
  background: transparent !important;
}
html .wd-dropdown-menu:not(#nw-z) li:hover > a,
html .wd-dropdown-menu:not(#nw-z) a:hover,
html .wd-sub-menu:not(#nw-z) li:hover > a,
html .wd-sub-menu:not(#nw-z) a:hover,
html .whb-header .menu .sub-menu:not(#nw-z) li:hover > a,
html .whb-header .menu .sub-menu:not(#nw-z) a:hover {
  background: #efe6d4 !important; /* (audyt 2026-06-26) hover lekko glebszy krem (bylo #c9a84c) — spojnie z kremowym panelem */
  background-color: #efe6d4 !important;
  color: #1a1407 !important;
  -webkit-text-fill-color: #1a1407 !important;
}

/* (audyt) Konfigurator: jasne przyciski-karty NIE moga byc nadpisane czernia z globalnej reguly button powyzej.
   Karty to elementy button, wiec dziedziczyly czarne tlo. Tu przywracamy ich docelowe, jasne kolory.
   Ciemne CTA konfiguratora (.nw-kf-add/.nw-kf-next/.nw-kf-btn/.nw-kf-pkg) celowo zostaja ciemne. */
.nw-kf .nw-kf-card {
  background-color: #fff !important;
  /* (audyt 2026-07-02) na kremowym tle Wyceny biale karty z ramka #eee ginely (user: „slabo wygladaja”).
     Cieplejsza ramka + delikatny cien = karty wyrazne na kremie i na bieli. */
  border-color: #e7dcc4 !important;
  color: #111 !important;
  box-shadow: 0 2px 10px rgba(60,45,15,.06) !important;
  /* (audyt) Karty-kafelki to nie przyciski CTA — bez wersalikow (nazwy produktow czytelne) i wlasne zaokraglenie. */
  text-transform: none !important;
  letter-spacing: normal !important;
  border-radius: 10px !important;
}
.nw-kf .nw-kf-card:hover { border-color: #d4ba87 !important; box-shadow: 0 6px 18px rgba(60,45,15,.12) !important; }
.nw-kf .nw-kf-card.is-selected { border-color: #d4ba87 !important; box-shadow: 0 0 0 1px #d4ba87 !important; background-color: #faf3e1 !important; } /* (2026-07-02, user: propozycja D) delikatne zlote wypelnienie zaznaczonego */
.nw-kf .nw-kf-pm {
  background-color: #fff !important;
  border-color: #d4ba87 !important;
  color: #111 !important;
}
.nw-kf .nw-kf-size{
  background-color: #f1ece0 !important;
  border-color: #e2dccd !important;
  color: #111 !important;
}
/* .nw-kf-back celowo NIE jest tu — ma być ciemny jak przyciski na „szczegóły zamówienia" (globalna reguła button{} go maluje). */
.nw-kf .nw-kf-remove {
  background-color: transparent !important;
  border-color: transparent !important;
  color: #c0392b !important;
  box-shadow: none !important;
}

/* wył  czenie animacji add to cart */
.add_to_cart_button,
.ajax_add_to_cart,
.single_add_to_cart_button,
.bundle_add_to_cart_button,
a.added_to_cart,
.wd-added-msg,
.woodmart-added-to-cart-notice,
.wd-notices-wrapper,
.wd-cart-progress,
.wd-cart-popup {
  animation: none !important;
  transform: none !important;
  transition: background-color 0.2s ease, border-color 0.2s ease, color 0.2s ease !important;
}

.add_to_cart_button.loading,
.ajax_add_to_cart.loading,
.single_add_to_cart_button.loading,
.bundle_add_to_cart_button.loading {
  opacity: 1 !important;
}

.add_to_cart_button.loading::before,
.add_to_cart_button.loading::after,
.ajax_add_to_cart.loading::before,
.ajax_add_to_cart.loading::after,
.single_add_to_cart_button.loading::before,
.single_add_to_cart_button.loading::after,
.bundle_add_to_cart_button.loading::before,
.bundle_add_to_cart_button.loading::after,
a.added_to_cart::before,
a.added_to_cart::after {
  animation: none !important;
  transition: none !important;
}

/* badge / etykiety */
.onsale,
.product-label,
.product-labels span,
.wd-product-sale,
.wd-product-hot,
.wd-product-new,
span.new,
span.hot,
.product-label.rounded,
.onsale.rounded,
.wd-label,
.wd-highlight,
.hot,
.menu-tag,
.item-label,
.wd-menu-label {
  background-color: var(--nw-black) !important;
  border-color: var(--nw-black) !important;
  color: var(--nw-beige) !important;
}

/* akcenty kolorystyczne */
.color-primary,
.text-primary,
.wd-primary-color,
.wd-font-weight > .wd-color-primary,
.woocommerce-breadcrumb a:hover,
.woocommerce-products-header a:hover,
.woocommerce-page .wd-active,
.woocommerce-page .active {
  color: var(--nw-beige) !important;
}

/* Fix: wd-active na slajdzie karuzeli kategorii NIE powinno zł oci  wd-cat-count */
/* (Woodmart dodaje wd-active do pierwszego slajdu karuzeli zawsze) */
.wd-carousel .wd-carousel-item.wd-active .wd-cat-count,
.wd-carousel .wd-carousel-item.wd-active .wd-cat-count a,
.wd-carousel .wd-carousel-item.wd-active .more-products,
.wd-carousel .wd-carousel-item.wd-active .more-products a {
  color: #767676 !important;
}
/* Zł oci tylko aktywna kategoria (nasza klasa JS nw-cat-active) */
.category-grid-item.nw-cat-active .wd-cat-count,
.category-grid-item.nw-cat-active .wd-cat-count a,
.category-grid-item.nw-cat-active .more-products,
.category-grid-item.nw-cat-active .more-products a {
  color: #d4ba87 !important;
}

/* aktywne zakł adki / taby */
.tabs-layout-tabs .tabs-navigation li.active a,
.tabs-layout-tabs .tabs-navigation li:hover a,
.wd-products-tabs .products-tabs-title.active a,
.wd-products-tabs .products-tabs-title:hover a {
  color: var(--nw-black) !important;
  box-shadow: inset 0 -2px 0 var(--nw-beige) !important;
}

/* slider cen */
.price_slider .ui-slider-range,
.woocommerce .widget_price_filter .ui-slider .ui-slider-range,
aside .ui-slider-range,
.shop-sidebar .ui-slider-range,
.widget_price_filter .ui-slider-range {
  background-color: var(--nw-beige) !important;
}

.price_slider .ui-slider-handle,
.woocommerce .widget_price_filter .ui-slider .ui-slider-handle,
aside .ui-slider-handle,
.shop-sidebar .ui-slider-handle,
.widget_price_filter .ui-slider-handle {
  background-color: var(--nw-black) !important;
  border-color: var(--nw-black) !important;
  box-shadow: none !important;
}

/* focus formularzy */
select:focus,
input:focus,
textarea:focus,
.woocommerce-ordering select:focus {
  border-color: var(--nw-beige) !important;
  box-shadow: none !important;
  outline: none !important;
}

/* hover linków / ikon */
.product-grid-item .wd-buttons a:hover,
.product-grid-item .quick-view:hover,
.product-grid-item .wishlist:hover,
.whb-header a:hover,
.whb-header .menu li a:hover,
.website-wrapper a:hover {
  color: var(--nw-beige) !important;
}

/* paginacja */
.page-numbers .current,
.woocommerce nav.woocommerce-pagination ul li .current {
  background-color: var(--nw-black) !important;
  border-color: var(--nw-black) !important;
  color: var(--nw-beige) !important;
}

/* subtitle / secondary accent */
.title-subtitle,
.subtitle-color-primary,
.wd-subtitle,
.wpb_text_column .wd-title-color-primary,
.color-scheme-light .wd-subtitle,
.wd-info-box .info-box-subtitle,
.wd-section-subtitle,
span[style*="#83b735"],
span[style*="rgb(131, 183, 53)"] {
  color: var(--nw-beige) !important;
}

/* etykiety typu "Share:" bez badge */
.wd-label.per-page-title,
.products-per-page .wd-label.per-page-title,
.shop-loop-head .wd-label.per-page-title,
.wd-social-icons .wd-label,
.social-share .wd-label,
.product-share .wd-label,
.social-icons-wrapper .wd-label,
.summary .wd-label {
  background: transparent !important;
  background-color: transparent !important;
  border: none !important;
  box-shadow: none !important;
  color: var(--nw-black) !important;
  padding: 0 !important;
}

/* compare  ukryte globalnie */
.wd-header-compare,
.wd-compare-btn,
.compare-button,
.compare-btn-wrapper,
.wd-product-compare,
.woodmart-compare,
a.compare,
.compare,
.product-compare-button,
.wd-action-btn[class*="compare"],
[class*="compare-btn"],
[class*="wd-compare"],
li.compare,
.compare-added,
.products .compare,
.products .wd-compare-btn,
.products .compare-button,
.products .compare-btn-wrapper,
.products .wd-product-compare,
.products .wd-action-btn[class*="compare"],
.products [class*="compare-btn"],
.products [class*="wd-compare"],
.product-grid-item .compare,
.product-grid-item .wd-compare-btn,
.product-grid-item .compare-button,
.product-grid-item .compare-btn-wrapper,
.product-grid-item .wd-product-compare,
.product-grid-item .wd-action-btn[class*="compare"],
.product-grid-item [class*="compare-btn"],
.product-grid-item [class*="wd-compare"],
.single-product .summary .compare,
.single-product .summary .wd-compare-btn,
.single-product .summary .compare-button,
.single-product .summary .compare-btn-wrapper,
.single-product .summary .wd-product-compare,
.single-product .summary .wd-action-btn[class*="compare"],
.single-product .summary [class*="compare-btn"],
.single-product .summary [class*="wd-compare"] {
  display: none !important;
}

.compare .wd-action-icon,
.wd-compare-btn .wd-action-icon,
.compare-button .wd-action-icon,
.wd-product-compare .wd-action-icon,
.compare .wd-check-icon,
.wd-compare-btn .wd-check-icon,
.compare-button .wd-check-icon,
.wd-product-compare .wd-check-icon {
  display: none !important;
}

/* =========================================================
   6. FAQ / ACCORDION OGÓLNE
   ========================================================= */

/* tytuł y akordeonów */
.wd-accordion-item .wd-accordion-title,
.wd-accordion .wd-accordion-title,
.accordion-title,
.vc_tta-title-text {
  color: var(--nw-black) !important;
}

/* hover / active */
.wd-accordion-item.active .wd-accordion-title,
.wd-accordion-item:hover .wd-accordion-title,
.wd-accordion .wd-active .wd-accordion-title,
.wd-accordion .wd-accordion-title:hover,
.accordion-title:hover,
.vc_tta-panel.vc_active .vc_tta-title-text,
.vc_tta-panel .vc_tta-title-text:hover {
  color: var(--nw-beige) !important;
}

/* ikony / znaczniki */
.wd-accordion-title::before,
.wd-accordion-title::after,
.vc_tta-controls-icon,
.vc_tta-controls-icon::before,
.vc_tta-controls-icon::after {
  color: var(--nw-beige) !important;
  border-color: var(--nw-beige) !important;
}
/* =========================================================
   7. SIDEBAR FILTRÓW / SWATCHES
   ========================================================= */

/* liczniki w filtrach */
.wc-layered-nav-term .count,
.wd-scroll-content .count,
.widget_layered_nav .count,
.wd-widget-stock-status-9 .count,
aside .count,
.shop-sidebar .count,
.sidebar-widget .count,
.widget .count {
  background: transparent !important;
  border: 1px solid var(--nw-border-light) !important;
  box-shadow: none !important;
  color: var(--nw-light-gray) !important;
}

/* aktywny / wybrany licznik */
.wc-layered-nav-term.chosen .count,
.wd-scroll-content .chosen .count,
.widget_layered_nav .chosen .count,
.wd-widget-stock-status-9 .chosen .count,
.wd-widget-stock-status-9 li.chosen .count,
aside .chosen .count,
aside .active .count,
aside .wd-active .count,
.shop-sidebar .chosen .count,
.shop-sidebar .active .count,
.shop-sidebar .wd-active .count,
.widget_layered_nav_filters .chosen .count {
  background: var(--nw-black) !important;
  border-color: var(--nw-black) !important;
  color: var(--nw-beige) !important;
}

/* zwykł e etykiety / teksty filtrów */
.wd-widget-stock-status-9 li a,
.wd-widget-stock-status-9 li span,
.wd-widget-stock-status-9 li label {
  color: var(--nw-gray) !important;
}

/* hover / aktywne elementy filtrów */
.wd-widget-stock-status-9 li.chosen a,
.wd-widget-stock-status-9 li.chosen span,
.wd-widget-stock-status-9 li.chosen label,
.wd-widget-stock-status-9 li a:hover,
aside .chosen,
aside .chosen a,
aside .chosen span,
aside .active,
aside .active a,
aside .active span,
aside .wd-active,
aside .wd-active a,
aside .wd-active span,
.wc-layered-nav-term.chosen,
.wc-layered-nav-term.chosen a,
.wc-layered-nav-term.chosen label,
.widget_layered_nav .chosen a,
.widget_layered_nav_filters .chosen a,
.widget_layered_nav .chosen .count,
.wd-scroll-content .chosen a,
.wd-color-swatch-wrap .wd-active,
.wd-filter-current-state a,
.widget_stock_status input[type="checkbox"]:checked + label,
aside a:hover,
.shop-sidebar a:hover,
.sidebar-widget a:hover,
.widget a:hover {
  color: var(--nw-beige) !important;
}

/* checkbox / radio */
input[type="checkbox"],
input[type="radio"],
aside input[type="checkbox"],
aside input[type="radio"],
.shop-sidebar input[type="checkbox"],
.shop-sidebar input[type="radio"] {
  accent-color: var(--nw-beige) !important;
}

/* pseudo-elementy w filtrach */
.wd-widget-stock-status-9 li::before,
.wd-widget-stock-status-9 li::after,
.wd-widget-stock-status-9 .chosen::before,
.wd-widget-stock-status-9 .chosen::after,
aside .wc-layered-nav-term::before,
aside .wc-layered-nav-term::after,
aside .chosen::before,
aside .chosen::after,
aside .active::before,
aside .active::after,
aside .wd-active::before,
aside .wd-active::after,
.shop-sidebar .wc-layered-nav-term::before,
.shop-sidebar .wc-layered-nav-term::after,
.shop-sidebar .chosen::before,
.shop-sidebar .chosen::after {
  background: transparent !important;
  border-color: var(--nw-beige) !important;
  box-shadow: none !important;
  color: var(--nw-beige) !important;
}

/* swatche */
.wd-nav-product-cat .chosen .wd-swatch,
.wd-widget-stock-status .chosen .wd-swatch,
.wd-attr-swatches .wd-swatch.wd-active,
.wd-attr-swatches .wd-swatch:hover,
aside .wd-swatch.wd-active,
aside .wd-swatch:hover,
aside .chosen .wd-swatch,
aside .active .wd-swatch,
.shop-sidebar .wd-swatch.wd-active,
.shop-sidebar .wd-swatch:hover {
  border-color: var(--nw-beige) !important;
  box-shadow: 0 0 0 2px var(--nw-beige) inset !important;
}

/* =========================================================
   8. STRONY  KONTAKT / FAQ / FOOTER / HOME CONTENT
   ========================================================= */

/* ---------------------------------------------------------
   FAQ / KONTAKT  ukrycie domyś lnego title
   --------------------------------------------------------- */

body:has(.nw-faq-page) .page-title,
body:has(.nw-faq-page) .wd-page-title,
body:has(.nw-contact-page) .page-title,
body:has(.nw-contact-page) .wd-page-title {
  display: none !important;
}

body:has(.nw-faq-page) .main-page-wrapper,
body:has(.nw-faq-page) .site-content,
body:has(.nw-faq-page) .content-layout-wrapper,
body:has(.nw-faq-page) .wd-content-area,
body:has(.nw-contact-page) .main-page-wrapper,
body:has(.nw-contact-page) .site-content,
body:has(.nw-contact-page) .content-layout-wrapper,
body:has(.nw-contact-page) .wd-content-area {
  margin-top: 0 !important;
  padding-top: 0 !important;
}

/* ---------------------------------------------------------
   FAQ / KONTAKT  wrapper stron
   --------------------------------------------------------- */

.nw-contact-page,
.nw-faq-page {
  max-width: var(--nw-content-max) !important;
  margin: 0 auto !important;
  padding: 0 20px 80px !important;
  background: transparent;
  box-sizing: border-box !important;
}

/* ---------------------------------------------------------
   FAQ / KONTAKT  wspólny hero
   --------------------------------------------------------- */

.nw-faq-top,
.nw-contact-top {
  position: relative !important;
  width: 100vw !important;
  max-width: 100vw !important;
  min-height: 320px !important;
  height: 320px !important;
  margin: 0 0 42px !important;
  margin-left: calc(50% - 50vw) !important;
  margin-right: calc(50% - 50vw) !important;
  padding: 0 20px !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  text-align: center !important;
  overflow: hidden !important;
background: var(--nw-new-bg-image) center center / cover no-repeat !important; /* (2026-07-11) wspolna zmienna headerow */
}

.nw-faq-top::before,
.nw-contact-top::before {
  content: "" !important;
  position: absolute !important;
  top: 0 !important; right: 0 !important; bottom: 0 !important; left: 0 !important;
  inset: 0 !important;
  background: rgba(0, 0, 0, 0.35) !important;
  z-index: 1 !important;
}

.nw-faq-top h1,
.nw-faq-top p,
.nw-contact-top h1,
.nw-contact-top p {
  position: relative !important;
  z-index: 2 !important;
}

.nw-faq-top h1,
.nw-contact-top h1 {
  margin: 0 !important;
  color: var(--nw-white) !important;
  font-size: clamp(30px, 3.4vw, 44px) !important; /* (2026-07-03, user: 'nie jednolite/za grube') bylo 72px/700 — banery ::after gigantyczne vs h1 34px na FAQ/Kontakt */
  line-height: 1.15 !important;
  font-weight: 600 !important;
  text-align: center !important;
  font-family: Poppins, "Helvetica Neue", Arial, sans-serif !important; /* (audyt 2026-06-25) hero = czcionka storefrontu */
}

.nw-faq-top p,
.nw-contact-top p {
  max-width: 760px !important;
  margin: 18px auto 0 !important;
  color: rgba(255, 255, 255, 0.92) !important;
  font-size: 18px !important;
  line-height: 1.55 !important;
  text-align: center !important;
  font-family: Poppins, "Helvetica Neue", Arial, sans-serif !important;
}

/* ---------------------------------------------------------
   KONTAKT  finalny ukł ad
   --------------------------------------------------------- */

.nw-contact-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.35fr) minmax(320px, 0.85fr);
  gap: 56px;
  align-items: start;
  max-width: 1100px !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

.nw-contact-main {
  display: block;
}

.nw-contact-cta-box {
  padding: 32px;
  border: 1px solid var(--nw-border);
  background: #fff;
  box-shadow: none;
}

.nw-contact-kicker {
  margin-bottom: 10px;
  color: var(--nw-beige);
  font-size: 12px;
  line-height: 1.4;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.nw-contact-cta-box h2,
.nw-contact-info h2{
  margin: 0 0 22px;
  font-size: 30px;
  line-height: 1.15;
  font-weight: 600;
  color: var(--nw-black);
}

.nw-contact-info {
  padding-top: 57px !important;
}

.nw-contact-info{
  padding-left: 0;
  padding-right: 0;
  background: transparent;
  border: 0;
  border-radius: 0;
  box-shadow: none;
}

.nw-contact-steps {
  display: grid;
  gap: 18px;
}

.nw-contact-step { display: grid;grid-template-columns: 44px minmax(0, 1fr);gap: 16px;padding-bottom: 18px;border-bottom: 1px solid var(--nw-border); }

.nw-contact-step:last-child {
  padding-bottom: 0;
  border-bottom: 0;
}

.nw-contact-step-no {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 44px;
  height: 44px;
  border: 1px solid var(--nw-border);
  color: var(--nw-black);
  font-size: 16px;
  font-weight: 600;
}

.nw-contact-step strong {
  display: block;
  margin: 0 0 6px;
  font-size: 18px;
  line-height: 1.3;
  color: var(--nw-black);
}

.nw-contact-step p {
  margin: 0;
  font-size: 17px;
  line-height: 1.75;
  color: var(--nw-gray);
}

.nw-contact-cta-actions {
  display: flex;
  gap: 14px;
  flex-wrap: wrap;
  margin-top: 28px;
}

.nw-contact-main-btn,
.nw-contact-secondary-btn {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 56px;
  padding: 0 26px;
  text-decoration: none !important;
  font-weight: 600 !important;
  transition: background-color 0.2s ease, border-color 0.2s ease, color 0.2s ease !important; /* (audyt 2026-06-25): bylo "0.2s ease" (=all) -> animowalo tez rozmiar/odstepy = skok. Tylko kolory. */
  /* (audyt 2026-06-23) kanon przycisków: zaokrąglenie + WERSALIKI + bold + letter-spacing. */
  border-radius: 8px !important;
  text-transform: uppercase !important;
  letter-spacing: .04em !important;
}
/* (audyt 2026-06-25): ANTY-SKOK Kontakt — przybij rozmiar/odstepy identycznie base+hover+focus (jak w galerii). */
html a.nw-contact-main-btn:not(#nw-z),
html a.nw-contact-main-btn:not(#nw-z):hover,
html a.nw-contact-main-btn:not(#nw-z):focus,
html a.nw-contact-secondary-btn:not(#nw-z),
html a.nw-contact-secondary-btn:not(#nw-z):hover,
html a.nw-contact-secondary-btn:not(#nw-z):focus {
  letter-spacing: .04em !important;
  min-height: 56px !important;
  padding: 0 26px !important;
  transform: none !important;
}

.nw-contact-main-btn {
  background: var(--nw-black) !important;
  border: 1px solid var(--nw-black) !important;
  color: var(--nw-beige) !important;
}

.nw-contact-main-btn:hover {
  background: var(--nw-black-hover) !important;
  border-color: var(--nw-black-hover) !important;
  color: var(--nw-white) !important;
}

.nw-contact-secondary-btn {
  background: transparent !important;
  border: 1px solid var(--nw-gold,#d4ba87) !important;
  color: var(--nw-black) !important;
}

.nw-contact-secondary-btn:hover {
  background: var(--nw-black-hover) !important;
  border-color: var(--nw-black-hover) !important;
  color: var(--nw-white) !important;
}

.nw-contact-cta-note {
  margin-top: 18px;
  font-size: 15px;
  line-height: 1.7;
  color: #8b6b2e;
}

.nw-contact-row {
  margin: 0 0 24px;
  padding: 0 0 24px;
  border-bottom: 1px solid var(--nw-border);
}

.nw-contact-row:first-child {
  padding-top: 24px;
  border-top: 1px solid var(--nw-border);
}

.nw-contact-row:last-child {
  margin-bottom: 0;
}

.nw-contact-label {
  margin-bottom: 8px;
  color: var(--nw-gray);
  font-size: 12px;
  line-height: 1.4;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.nw-contact-info a {
  color: var(--nw-black);
  text-decoration: none;
  font-size: 24px;
  line-height: 1.35;
  font-weight: 600;
  transition: color 0.2s ease;
}

.nw-contact-info a:hover {
  color: var(--nw-beige);
}

.nw-contact-info p {
  margin: 0;
  color: var(--nw-gray);
  font-size: 17px;
  line-height: 1.8;
}

/* formularz kontaktowy */

/* sociale kontakt */

/* ---------------------------------------------------------
   FAQ  finalny premium styl
   --------------------------------------------------------- */

.nw-faq-page {
  max-width: var(--nw-content-max) !important;
  margin: 0 auto !important;
  padding: 0 20px 80px !important;
  box-sizing: border-box !important;
}

.nw-faq-tools {
  max-width: 1100px !important;
  margin: 0 auto 34px !important;
  display: grid !important;
  gap: 16px !important;
}

.nw-faq-search {
  width: 100% !important;
}

.nw-faq-search-input {
  display: block !important;
  width: 100% !important;
  min-height: 60px !important;
  height: 60px !important;
  padding: 0 20px !important;
  background: #fff !important;
  border: 1px solid rgba(212, 186, 135, 0.28) !important;
  border-radius: 6px !important;
  color: var(--nw-black) !important;
  font-size: 16px !important;
  line-height: 1 !important;
  box-shadow: none !important;
  outline: none !important;
  box-sizing: border-box !important;
  -webkit-appearance: none !important;
  appearance: none !important;
  transition: border-color 0.2s ease, background-color 0.2s ease !important;
}

.nw-faq-search-input::placeholder {
  color: #9b9b9b !important;
  opacity: 1 !important;
}

.nw-faq-search-input:focus {
  border-color: var(--nw-beige) !important;
  background: #fffdfa !important;
}

.nw-faq-cats {
  display: flex !important;
  flex-wrap: nowrap !important;
  gap: 12px !important;
  width: 100% !important;
  overflow-x: auto !important;
  overflow-y: hidden !important;
  padding-bottom: 2px !important;
  scrollbar-width: none !important;
  -ms-overflow-style: none !important;
}

.nw-faq-cats::-webkit-scrollbar {
  display: none !important;
}

/* (audyt 2026-06-26) Swipe kategorii FAQ — intuicyjny: scroll-snap (swipe „klika” do przycisku)
   + fade krawedzi sygnalizujacy ze mozna przewijac. Klasy nw-scrollable/nw-at-start/nw-at-end
   dodaje JS TYLKO gdy pasek faktycznie sie przewija (na mobile 5 kategorii sie nie miesci).
   Maska = przezroczystosc (zero zaleznosci od koloru tla). */
.nw-faq-cats {
  scroll-snap-type: x proximity !important;
  -webkit-overflow-scrolling: touch !important;
}
.nw-faq-cats button {
  scroll-snap-align: start !important;
}
.nw-faq-cats.nw-scrollable {
  -webkit-mask-image: linear-gradient(to right, transparent 0, #000 22px, #000 calc(100% - 26px), transparent 100%) !important;
  mask-image: linear-gradient(to right, transparent 0, #000 22px, #000 calc(100% - 26px), transparent 100%) !important;
}
.nw-faq-cats.nw-scrollable.nw-at-start {
  -webkit-mask-image: linear-gradient(to right, #000 calc(100% - 26px), transparent 100%) !important;
  mask-image: linear-gradient(to right, #000 calc(100% - 26px), transparent 100%) !important;
}
.nw-faq-cats.nw-scrollable.nw-at-end {
  -webkit-mask-image: linear-gradient(to right, transparent 0, #000 22px, #000 100%) !important;
  mask-image: linear-gradient(to right, transparent 0, #000 22px, #000 100%) !important;
}

.nw-faq-cats button {
  flex: 0 0 auto !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 52px !important;
  padding: 0 20px !important;
  background: #fff !important;
  border: 1px solid rgba(212, 186, 135, 0.55) !important; /* (audyt 2026-06-25): ujednolicone z galeria (.nw-gallery-tab) — bylo .28 */
  border-radius: 8px !important;
  color: var(--nw-black) !important;
  font-size: 14px !important;
  line-height: 1.2 !important;
  font-weight: 600 !important;
  text-align: center !important;
  cursor: pointer !important;
  box-shadow: none !important;
  transition: border-color 0.2s ease, background-color 0.2s ease, color 0.2s ease !important;
  white-space: nowrap !important;
  text-transform: none !important;
  letter-spacing: 0.01em !important;
}

html .nw-faq-cats button:not(.is-active):not(#nw-z):hover {
  border-color: #d4ba87 !important;
  background: #faf6ec !important; /* (audyt 2026-06-25): hover JASNY jak w galerii (usuniete z master-override #c9a84c); aktywny zostaje zloty */
  background-color: #faf6ec !important;
  color: var(--nw-black) !important;
  -webkit-text-fill-color: var(--nw-black) !important;
}

.nw-faq-cats button.is-active {
  background: #d4ba87 !important;
  border-color: #d4ba87 !important;
  color: #1a1407 !important;
  -webkit-text-fill-color: #1a1407 !important;
}

.nw-faq-list {
  max-width: 1100px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  border-top: 1px solid rgba(212, 186, 135, 0.22) !important;
}

.nw-faq-item {
  background: transparent !important;
  border-bottom: 1px solid rgba(212, 186, 135, 0.22) !important;
  border-left: 0 !important;
  border-right: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}

.nw-faq-item summary {
  list-style: none !important;
  cursor: pointer !important;
  position: relative !important;
  margin: 0 !important;
  padding: 30px 52px 30px 0 !important;
  color: var(--nw-black) !important;
  font-size: 22px !important;
  line-height: 1.4 !important;
  font-weight: 600 !important;
  transition: color 0.2s ease !important;
}

.nw-faq-item summary::-webkit-details-marker {
  display: none !important;
}

.nw-faq-item summary::after {
  content: "+" !important;
  position: absolute !important;
  right: 0 !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
  color: var(--nw-beige) !important;
  font-size: 32px !important;
  line-height: 1 !important;
  font-weight: 300 !important;
  transition: color 0.2s ease !important;
}

.nw-faq-item:hover summary,
.nw-faq-item[open] summary {
  color: var(--nw-beige) !important;
}

.nw-faq-item[open] summary::after {
  content: "− " !important;
  color: var(--nw-beige) !important;
}

.nw-faq-answer {
  padding: 0 0 30px !important;
  max-width: 980px !important;
}

.nw-faq-answer p,
.nw-faq-answer ul,
.nw-faq-answer ol {
  margin: 0 0 16px !important;
  color: var(--nw-gray) !important;
  font-size: 17px !important;
  line-height: 1.85 !important;
}

.nw-faq-answer p:last-child,
.nw-faq-answer ul:last-child,
.nw-faq-answer ol:last-child {
  margin-bottom: 0 !important;
}

.nw-faq-answer ul,
.nw-faq-answer ol {
  padding-left: 22px !important;
}

.nw-faq-answer li {
  margin-bottom: 10px !important;
}

.nw-faq-answer strong {
  color: var(--nw-black) !important;
}

.nw-faq-item[hidden] {
  display: none !important;
}

.nw-faq-empty {
  display: none !important;
  max-width: 1100px !important;
  margin: 0 auto !important;
  padding: 20px 0 0 !important;
  color: var(--nw-gray) !important;
  font-size: 15px !important;
  line-height: 1.6 !important;
}

.nw-faq-empty.is-visible {
  display: block !important;
}

.nw-faq-search-input:focus-visible,
.nw-faq-cats button:focus-visible,
.nw-faq-item summary:focus-visible {
  outline: none !important;
  box-shadow: none !important;
}

/* ---------------------------------------------------------
   FOOTER  finalna wersja
   --------------------------------------------------------- */

.wd-footer .container,
.footer-container .container,
.site-footer .container {
  max-width: var(--nw-content-max) !important;
  padding-left: var(--nw-content-side) !important;
  padding-right: var(--nw-content-side) !important;
}



.nw-footer { display: grid !important;grid-template-columns: minmax(220px, 1.1fr) minmax(220px, 0.9fr) minmax(220px, 0.9fr) !important;align-items: start !important;color: var(--nw-white); }

.nw-footer-logo-col {
  display: flex !important;
  align-items: flex-start !important;
  justify-content: flex-start !important;
  align-self: start !important;
  justify-self: start !important;
  padding-top: 4px !important;
}

.nw-footer-contact,
.nw-footer-social {
  min-width: 0 !important;
  padding-top: 0 !important;
  align-self: start !important;
  justify-self: start !important;
}

.nw-footer-col h4 {
  margin: 0 0 14px !important;
  color: var(--nw-beige) !important;
  font-size: 20px !important;
  line-height: 1.2 !important;
  font-weight: 600 !important;
  letter-spacing: -0.01em !important;
}

.nw-footer-col p,
.nw-footer-col a {
  margin: 0 0 10px !important;
  font-size: 15px !important;
  line-height: 1.65 !important;
}

.nw-footer-col a {
  color: var(--nw-white);
  text-decoration: none;
  transition: color 0.2s ease, opacity 0.2s ease;
}

.nw-footer-col a:hover {
  color: var(--nw-beige);
}

.nw-footer-logo {
  display: block;
  max-width: 210px !important;
  width: 100% !important;
  height: auto !important;
}

.nw-social-link,
.nw-footer-contact a,
.nw-footer-social a {
  display: inline-flex !important;
  align-items: center !important;
  gap: 10px !important;
}

.nw-social-link + .nw-social-link {
  margin-top: 8px !important;
}

.nw-social-icon {
  width: 18px !important;
  height: 18px !important;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  color: var(--nw-beige);
  opacity: 0.92 !important;
}

.nw-social-icon svg {
  width: 18px !important;
  height: 18px !important;
  display: block;
}

.nw-social-link:hover .nw-social-icon {
  color: var(--nw-white);
}

.nw-footer-legal,
.nw-footer-legal-row {
  grid-column: 1 / -1 !important;
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  margin-top: 16px !important;
  padding-top: 14px !important;
  border-top: 1px solid rgba(212, 186, 135, 0.14) !important;
  color: rgba(212, 186, 135, 0.9) !important;
  font-size: 13px !important;
  line-height: 1.6 !important;
}

.nw-footer-legal .sep,
.nw-footer-legal-row .sep {
  opacity: 0.8;
}

.site-footer .elementor-widget-image,
.site-footer .footer-logo,
.site-footer .wp-block-image {
  text-align: left !important;
  margin-left: 0 !important;
}

.site-footer img[src*="LOGO"],
.site-footer img[src*="logo"] {
  max-width: 220px !important;
  width: 100% !important;
  height: auto !important;
}

.site-footer .elementor-widget:not(:last-child) {
  margin-bottom: 14px !important;
}

.site-footer p,
.site-footer li,
.site-footer a {
  margin-top: 0 !important;
}



.site-footer .copyrights-wrapper .container {
  display: grid !important;
  grid-template-columns: 1fr auto !important;
  align-items: center !important;
  gap: 14px !important;
}

.site-footer .copyrights-wrapper,
.site-footer .copyrights-wrapper p,
.site-footer .copyrights-wrapper div,
.site-footer .copyrights-wrapper span {
  font-size: 14px !important;
  line-height: 1.5 !important;
}

.site-footer .payments {
  transform: scale(0.84) !important;
  transform-origin: right center !important;
  opacity: 0.95 !important;
}

/* ---------------------------------------------------------
   HOME  O NAS / OPINIE / REALIZACJE / SPACING
   --------------------------------------------------------- */

.nw-o-nas-section {
  padding: 76px 20px 56px !important;
}

.nw-o-nas-container,
.nw-o-nas-inner,
.nw-o-nas-text,
.home .wd-cats-element,
.home .nw-opinie-header,
.nw-home-realizacje-preview {
  max-width: var(--nw-content-max) !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

.nw-o-nas-inner {
  text-align: center;
}

.nw-o-nas-inner h2 {
  margin: 0 0 26px !important;
  color: var(--nw-beige) !important;
  font-size: 42px !important;
  line-height: 1.1 !important;
}

.nw-o-nas-text p {
  margin: 0 0 28px !important;
  color: var(--nw-gray) !important;
  font-size: 17px !important;
  line-height: 1.85 !important;
}

.nw-o-nas-text p:last-child {
  margin-bottom: 0 !important;
}

/* sekcja kategorii */
.home .wd-cats-element {
  padding-top: 0 !important;
  padding-bottom: 34px !important;
}

.home .wd-cats-element .wd-cats,
.home .wd-cats-element .wd-cats.products,
.home .wd-cats-element .wd-grid-g {
  margin-bottom: 10px !important;
}

/* opinie */
.nw-opinie-section {
  width: 100vw !important;
  max-width: 100vw !important;
  margin: 0 0 72px !important;
  margin-left: calc(50% - 50vw) !important;
  margin-right: calc(50% - 50vw) !important;
  padding: 46px 0 72px !important;
}

.nw-opinie-outer{
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
}

.nw-opinie-header {
  margin: 0 auto 28px !important;
  text-align: center;
}

.nw-opinie-header h2 {
  margin: 0 0 8px !important;
  color: var(--nw-beige) !important;
  font-size: 34px !important;
  line-height: 1.1 !important;
}

.nw-opinie-header p {
  margin: 0 !important;
  color: rgba(255, 255, 255, 0.75) !important;
  font-size: 14px !important;
  line-height: 1.65 !important;
}

.nw-opinia-card {
  display: flex !important;
  flex-direction: column !important;
  min-height: 100% !important;
  padding: 18px !important;
  background: rgba(255, 255, 255, 0.04) !important;
  border: 1px solid rgba(212, 186, 135, 0.18) !important;
  border-radius: 12px !important; /* (audyt 2026-06-24) bylo 0 — ta regula (pozniejsza) bila moja reguly zaokraglenia; opinie ostre. Teraz 12px. */
  box-shadow: none !important;
}

.nw-opinia-top {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 14px !important;
}

.nw-opinia-avatar {
  width: 40px;
  height: 40px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  background: var(--nw-beige);
  color: var(--nw-black);
  font-size: 17px;
  font-weight: 600;
}

.nw-opinia-meta strong {
  display: block;
  margin-bottom: 2px;
  color: var(--nw-white);
  font-size: 15px;
  line-height: 1.3;
}

.nw-opinia-meta span {
  display: block;
  color: rgba(255, 255, 255, 0.6);
  font-size: 12px;
  line-height: 1.35;
}

.nw-opinia-stars {
  margin-bottom: 14px !important;
  color: var(--nw-beige);
  font-size: 16px;
  letter-spacing: 0.04em;
}

.nw-opinia-card p {
  margin: 0 !important;
  color: rgba(255, 255, 255, 0.82);
  font-size: 14px;
  line-height: 1.65;
}

/* realizacje */


.nw-home-realizacje-preview__top {
  max-width: 860px !important;
  margin: 0 auto 24px !important;
  text-align: center !important;
}

.nw-home-realizacje-preview__top h2 {
  margin: 0 0 12px !important;
  color: var(--nw-black) !important;
  font-size: 32px !important;
  line-height: 1.08 !important;
  font-weight: 600 !important;
  letter-spacing: -0.01em !important;
}

.nw-home-realizacje-preview__top p {
  max-width: 760px !important;
  margin: 0 auto !important;
  color: var(--nw-gray) !important;
  font-size: 16px !important;
  line-height: 1.7 !important;
}

.nw-home-realizacje-preview__grid {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 18px !important;
  align-items: stretch !important;
}

.nw-home-realizacje-preview__card {
  position: relative !important;
  display: block !important;
  height: 470px !important;
  min-height: 470px !important;
  overflow: hidden !important;
  background: #f3f3f3 !important;
  border: 1px solid rgba(212, 186, 135, 0.18) !important;
  box-shadow: 0 16px 34px rgba(0, 0, 0, 0.08) !important;
}

.nw-home-realizacje-preview__image-wrap {
  position: absolute !important;
  top: 0 !important; right: 0 !important; bottom: 0 !important; left: 0 !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  min-height: 100% !important;
  max-height: none !important;
  aspect-ratio: auto !important;
  overflow: hidden !important;
  background: #f3f3f3 !important;
}

.nw-home-realizacje-preview__image-wrap::before {
  content: "" !important;
  position: absolute !important;
  top: 0 !important; right: 0 !important; bottom: 0 !important; left: 0 !important;
  inset: 0 !important;
  z-index: 1 !important;
  background: linear-gradient(
    to top,
    rgba(0, 0, 0, 0.82) 0%,
    rgba(0, 0, 0, 0.55) 22%,
    rgba(0, 0, 0, 0.18) 48%,
    rgba(0, 0, 0, 0) 72%
  ) !important;
  pointer-events: none !important;
}

.nw-home-realizacje-preview__image-wrap::after {
  display: none !important;
}

.nw-home-realizacje-preview__image {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  min-height: 100% !important;
  max-height: none !important;
  object-fit: cover !important;
  object-position: center center !important;
  transition: transform 0.45s ease !important;
}

.nw-home-realizacje-preview__card:hover .nw-home-realizacje-preview__image {
  transform: scale(1.04) !important;
}

.nw-home-realizacje-preview__overlay {
  position: absolute !important;
  left: 0 !important;
  right: 0 !important;
  bottom: 0 !important;
  z-index: 2 !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  gap: 14px !important;
  padding: 24px !important;
}

.nw-home-realizacje-preview__label {
  display: block !important;
  margin: 0 !important;
  max-width: 92% !important;
  color: #fff !important;
  font-size: 22px !important;
  line-height: 1.18 !important;
  font-weight: 600 !important;
  text-shadow: 0 2px 10px rgba(0, 0, 0, 0.18) !important;
}

.nw-home-realizacje-preview__more {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 42px !important;
  padding: 0 20px !important;
  background: var(--nw-black, #000) !important;
  border: 1px solid var(--nw-black, #000) !important;
  border-radius: 8px !important;
  color: var(--nw-beige) !important;
  text-decoration: none !important;
  font-size: 13px !important;
  line-height: 1 !important;
  font-weight: 600 !important;
  letter-spacing: 0.04em !important;
  text-transform: uppercase !important;
  transition: background-color 0.2s ease, border-color 0.2s ease, color 0.2s ease !important;
}

.nw-home-realizacje-preview__more:hover {
  background: var(--nw-black-hover) !important;
  border-color: var(--nw-black-hover) !important;
  color: var(--nw-white) !important;
}

.nw-home-realizacje-preview__bottom {
  display: flex !important;
  justify-content: center !important;
  margin-top: 22px !important;
  margin-bottom: 0 !important;
}

.nw-home-realizacje-preview__button {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-width: 380px !important;
  min-height: 58px !important;
  padding: 0 34px !important;
  border: 1px solid var(--nw-black) !important;
  background: var(--nw-black) !important;
  color: var(--nw-beige) !important;
  text-decoration: none !important;
  text-align: center !important;
  font-size: 14px !important;
  line-height: 1 !important;
  font-weight: 600 !important;
  letter-spacing: 0.05em !important;
  text-transform: uppercase !important;
  border-radius: 8px !important;
  transition: background-color 0.2s ease, border-color 0.2s ease, color 0.2s ease !important;
}

.nw-home-realizacje-preview__button:hover {
  background: var(--nw-black-hover) !important;
  border-color: var(--nw-black-hover) !important;
  color: var(--nw-white) !important;
}

/* ---------------------------------------------------------
   TABLET
   --------------------------------------------------------- */

@media (max-width: 1024px) {
  .nw-contact-grid {
    grid-template-columns: 1fr;
    gap: 32px;
  }

  .nw-contact-info {
    padding-top: 0 !important;
  }

  .nw-contact-cta-box {
    padding: 24px;
  }

  .nw-faq-tools {
    margin-bottom: 28px !important;
  }

  .nw-faq-search-input {
    min-height: 56px !important;
    height: 56px !important;
  }

  .nw-faq-item summary {
    font-size: 19px !important;
    padding: 24px 42px 24px 0 !important;
  }

  .nw-faq-answer {
    padding-bottom: 24px !important;
  }

  .nw-faq-answer p,
  .nw-faq-answer ul,
  .nw-faq-answer ol {
    font-size: 15px !important;
    line-height: 1.75 !important;
  }

  .nw-footer {
    grid-template-columns: 1fr !important;
    gap: 26px !important;
    padding: 34px 0 16px !important;
  }

  .nw-footer-contact,
  .nw-footer-social {
    justify-self: start !important;
  }

  .nw-footer-logo-col {
    justify-self: center !important;
    align-items: center !important;
    text-align: center !important;
  }
  .nw-footer-logo-col img.nw-footer-logo {
    margin: 0 auto !important;
    display: block !important;
  }

  .site-footer .copyrights-wrapper .container {
    grid-template-columns: 1fr !important;
    justify-items: start !important;
  }

  .site-footer .payments {
    transform: scale(0.8) !important;
    transform-origin: left center !important;
  }

  .home .wd-cats-element {
    padding-bottom: 44px !important;
  }

  .home .nw-home-realizacje-preview {
    padding-top: 44px !important;
    padding-bottom: 32px !important;
  }

  .nw-home-realizacje-preview__top h2 {
    font-size: 32px !important;
  }

  .nw-home-realizacje-preview__grid {
    grid-template-columns: 1fr !important;
    gap: 16px !important;
  }

  .nw-home-realizacje-preview__card {
    height: 400px !important;
    min-height: 400px !important;
  }
}

/* ---------------------------------------------------------
   MOBILE
   --------------------------------------------------------- */

@media (max-width: 767px) {
  .nw-contact-page,
  .nw-faq-page {
    padding: 0 14px 50px !important;
  }

  .nw-faq-top,
  .nw-contact-top {
    min-height: 260px !important;
    height: 260px !important;
    margin-bottom: 30px !important;
  }

  .nw-faq-top h1,
  .nw-contact-top h1 {
    font-size: 42px !important;
  }

  .nw-faq-top p,
  .nw-contact-top p {
    font-size: 15px !important;
  }

  

  

  

  

  

  .nw-contact-step p {
    font-size: 15px;
    line-height: 1.7;
  }

  .nw-contact-cta-actions {
    flex-direction: column;
  }

  .nw-contact-main-btn,
  .nw-contact-secondary-btn {
    width: 100%;
  }

  .nw-faq-tools {
    margin-bottom: 22px !important;
    gap: 12px !important;
  }

  .nw-faq-search-input {
    min-height: 50px !important;
    height: 50px !important;
    padding: 0 14px !important;
    font-size: 15px !important;
  }

  .nw-faq-cats {
    gap: 8px !important;
    padding-bottom: 0 !important;
  }

  .nw-faq-cats button {
    min-height: 44px !important;
    padding: 0 14px !important;
    font-size: 13px !important;
  }

  .nw-faq-item summary {
    padding: 18px 34px 18px 0 !important;
    font-size: 16px !important;
    line-height: 1.45 !important;
  }

  .nw-faq-item summary::after {
    font-size: 24px !important;
  }

  .nw-faq-answer {
    padding: 0 0 18px !important;
  }

  .nw-faq-answer p,
  .nw-faq-answer ul,
  .nw-faq-answer ol {
    font-size: 14px !important;
    line-height: 1.72 !important;
  }

  .home .wd-cats-element {
    padding-bottom: 36px !important;
  }

  .home .nw-home-realizacje-preview {
    padding-top: 36px !important;
    padding-bottom: 24px !important;
  }

  .nw-home-realizacje-preview__top {
    margin-bottom: 18px !important;
  }

  .nw-home-realizacje-preview__top h2 {
    font-size: 28px !important;
    line-height: 1.08 !important;
  }

  .nw-home-realizacje-preview__top p {
    font-size: 15px !important;
    line-height: 1.7 !important;
  }

  .nw-home-realizacje-preview__card {
    height: 320px !important;
    min-height: 320px !important;
  }

  .nw-home-realizacje-preview__overlay {
    padding: 16px !important;
    gap: 10px !important;
  }

  .nw-home-realizacje-preview__label {
    font-size: 18px !important;
    max-width: 100% !important;
  }

  .nw-home-realizacje-preview__more {
    min-height: 34px !important;
    padding: 0 10px !important;
    font-size: 11px !important;
  }

  .nw-home-realizacje-preview__bottom {
    margin-top: 18px !important;
  }

  .nw-home-realizacje-preview__button {
    width: 100% !important;
    min-width: 0 !important;
    min-height: 52px !important;
    padding: 0 18px !important;
    font-size: 13px !important;
  }

  

  .nw-footer-col h4 {
    margin-bottom: 12px !important;
    font-size: 18px !important;
  }

  .nw-footer-col p,
  .nw-footer-col a {
    margin-bottom: 10px !important;
    font-size: 14px !important;
    line-height: 1.7 !important;
  }

  .nw-footer-legal,
  .nw-footer-legal-row {
    margin-top: 16px !important;
    padding-top: 14px !important;
    font-size: 12px !important;
  }
}

/* =========================================================
   9. WSPÓLNE PRZYCISKI
   ========================================================= */

/* wspólna baza przycisków specjalnych */
.home a.nw-shop-cta-btn,
.nw-gallery-tab,
.nw-gallery-bundle-btn,
body.page-id-29938 .nw-reservation-bottom .button,
body.page-id-29938 .nw-reservation-bottom button,
body.page-id-29938 .nw-reservation-bottom a.button,
body.page-id-29938 .nw-reservation-actions .button,
body.page-id-29938 .nw-reservation-actions button,
body.page-id-29938 .nw-reservation-actions a.button {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  text-align: center !important;
  text-decoration: none !important;
  line-height: 1 !important;
  font-weight: 600 !important;
  letter-spacing: 0.04em !important;
  text-transform: uppercase !important;
  background: #d4ba87 !important;
  border: 1px solid #d4ba87 !important;
  border-radius: 8px !important;
  box-shadow: none !important;
  color: #1a1407 !important;
  -webkit-text-fill-color: #1a1407 !important;
  transition: background-color 0.2s ease, border-color 0.2s ease, color 0.2s ease !important;
}

.home a.nw-shop-cta-btn:hover,
.nw-gallery-tab:hover,
.nw-gallery-tab.is-active,
.nw-gallery-bundle-btn:hover,
body.page-id-29938 .nw-reservation-bottom .button:hover,
body.page-id-29938 .nw-reservation-bottom button:hover,
body.page-id-29938 .nw-reservation-bottom a.button:hover,
body.page-id-29938 .nw-reservation-actions .button:hover,
body.page-id-29938 .nw-reservation-actions button:hover,
body.page-id-29938 .nw-reservation-actions a.button:hover {
  background: #c9a84c !important;
  border-color: #c9a84c !important;
  box-shadow: none !important;
  color: #1a1407 !important;
  -webkit-text-fill-color: #1a1407 !important;
  transform: none !important;
}

/* home  gł ówny CTA */
.home a.nw-shop-cta-btn {
  display: flex !important;
  float: none !important;
  width: fit-content !important;
  min-width: 260px !important;
  min-height: 58px !important;
  margin: -20px auto 0 !important;
  padding: 0 38px !important;
  font-size: 16px !important;
}

/* galeria  akcja pod produktami */




/* szczegół y rezerwacji  kontenery przycisków */
body.page-id-29938 .nw-reservation-bottom,
body.page-id-29938 .nw-reservation-actions {
  clear: both !important;
  display: flex !important;
  grid-column: 1 / -1 !important;
  width: 100% !important;
  max-width: 100% !important;
  margin: 34px 0 0 !important;
  align-items: center !important;
  justify-content: center !important;
}

/* szczegół y rezerwacji  same przyciski */
body.page-id-29938 .nw-reservation-bottom .button,
body.page-id-29938 .nw-reservation-bottom button,
body.page-id-29938 .nw-reservation-bottom a.button,
body.page-id-29938 .nw-reservation-actions .button,
body.page-id-29938 .nw-reservation-actions button,
body.page-id-29938 .nw-reservation-actions a.button {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: min(460px, 100%) !important;
  max-width: 100% !important;
  min-height: 58px !important;
  margin: 0 auto !important;
  padding: 0 24px !important;
  font-size: 15px !important;
}

@media (max-width: 767px) {
  .home a.nw-shop-cta-btn {
    width: 100% !important;
    min-width: 0 !important;
  }
}

/* =========================================================
   10. HOME HERO
   ========================================================= */

/* reset górnych odstę pów */
body.home .main-page-wrapper,
body.home .site-content,
body.home .content-layout-wrapper,
body.home .wd-content-area,
body.home .elementor,
body.home .elementor-top-section:first-child,
body.home .elementor-top-container:first-child,
body.home .elementor-element.elementor-element-f317353,
body.home .elementor-element.elementor-element-f317353 > .e-con-inner {
  margin-top: 0 !important;
  padding-top: 0 !important;
}

/* gł ówny hero */
body.home .elementor-element.elementor-element-f317353 { position: relative !important;width: 100vw !important;max-width: 100vw !important;min-height: 560px !important;margin: 0 !important;padding-left: 0 !important;padding-right: 0 !important;left: 50% !important;overflow: hidden !important;box-sizing: border-box !important;transform: translateX(-50%) !important; }

/* wewnę trzne kontenery hero  pe na szeroko   */
body.home .elementor-element.elementor-element-f317353 > .e-con-inner,
body.home .elementor-element.elementor-element-f317353 .e-con-inner,
body.home .elementor-element.elementor-element-f317353 .elementor-container,
body.home .elementor-element.elementor-element-f317353 .elementor-element.elementor-element-82ffb10 {
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}

/* blok tekstowy */
body.home .elementor-element.elementor-element-f317353 .hero-tekst-namioty {
  position: absolute !important;
  top: 50% !important;
  left: 260px !important;
  z-index: 10 !important;
  transform: translateY(-50%) !important;
}
/* (2026-07-02) POSREDNIA szerokosc (tablet / male laptopy): tekst hero robil sie WYZSZY niz sztywne 560px
   -> overflow:hidden ucinal tytul U GORY i przycisk NA DOLE (user, screenshot ~1050px). W tym pasmie tekst
   idzie w normalnym flow (hero rosnie z trescia) + font z clamp. Mobile <=767 ma wlasne reguly — nietkniete. */
@media (min-width: 768px) and (max-width: 1280px) {
  body.home .elementor-element.elementor-element-f317353 { min-height: 0 !important; }
  body.home .elementor-element.elementor-element-f317353 .hero-tekst-namioty {
    position: static !important;
    top: auto !important;
    left: auto !important;
    transform: none !important;
    padding: 72px 40px 64px !important;
    max-width: 640px !important;
  }
  body.home .elementor-element.elementor-element-f317353 .hero-tekst-namioty h1,
  body.home .elementor-element.elementor-element-f317353 .hero-tekst-namioty .elementor-heading-title {
    font-size: clamp(34px, 4.6vw, 48px) !important;
    line-height: 1.06 !important;
  }
}

/* =========================================================
   11. SHOP ARCHIVE  SIDEBAR OFF + BANNER
   ========================================================= */

/* ---------------------------------------------------------
   WYŁ  CZENIE SIDEBARU I FILTRÓW
   --------------------------------------------------------- */

.post-type-archive-product .shop-sidebar,
.post-type-archive-product .sidebar-container,
.post-type-archive-product .area-sidebar-shop,
.post-type-archive-product .widget-area,
.post-type-archive-product aside.sidebar-container,
.post-type-archive-product .wd-shop-sidebar,
.post-type-archive-product .sidebar-widget,
body.woocommerce-shop .wd-filter-buttons,
body.post-type-archive-product .wd-filter-buttons,
body.tax-product_cat .wd-filter-buttons,
body.woocommerce-shop .filters-inner-area,
body.post-type-archive-product .filters-inner-area,
body.tax-product_cat .filters-inner-area,
body.woocommerce-shop .filter-widget,
body.post-type-archive-product .filter-widget,
body.tax-product_cat .filter-widget {
  display: none !important;
}

/* ---------------------------------------------------------
   PEŁ NA SZEROKO   CONTENTU
   --------------------------------------------------------- */

.post-type-archive-product .content-with-sidebar,
.post-type-archive-product .content-layout-wrapper,
.post-type-archive-product .wd-content-layout {
  grid-template-columns: 1fr !important;
}

.post-type-archive-product .content-area,
.post-type-archive-product .shop-content-area,
.post-type-archive-product .site-content .content-area {
  width: 100% !important;
  max-width: 100% !important;
}

.post-type-archive-product .has-sidebar {
  --wd-sidebar-width: 0px !important;
}

/* ---------------------------------------------------------
   USUŃ  WSZELKI ODSUNI CIE OD HEADERA
   --------------------------------------------------------- */

body.woocommerce-shop .main-page-wrapper,
body.post-type-archive-product .main-page-wrapper,
body.tax-product_cat .main-page-wrapper,
body.woocommerce-shop .site-content,
body.post-type-archive-product .site-content,
body.tax-product_cat .site-content,
body.woocommerce-shop .content-layout-wrapper,
body.post-type-archive-product .content-layout-wrapper,
body.tax-product_cat .content-layout-wrapper,
body.woocommerce-shop .wd-content-area,
body.post-type-archive-product .wd-content-area,
body.tax-product_cat .wd-content-area,
body.woocommerce-shop .elementor,
body.post-type-archive-product .elementor,
body.tax-product_cat .elementor,
body.woocommerce-shop .elementor-section-wrap,
body.post-type-archive-product .elementor-section-wrap,
body.tax-product_cat .elementor-section-wrap,
body.woocommerce-shop .e-con,
body.post-type-archive-product .e-con,
body.tax-product_cat .e-con,
body.woocommerce-shop .e-con-inner,
body.post-type-archive-product .e-con-inner,
body.tax-product_cat .e-con-inner {
  margin-top: 0 !important;
  padding-top: 0 !important;
}

/* ---------------------------------------------------------
   KONTENER NAD BANNEREM
   --------------------------------------------------------- */

body:is(.woocommerce-shop, .post-type-archive-product, .tax-product_cat) .elementor-element-431ba5b,
body.woocommerce-shop .elementor-element-431ba5b > .e-con-inner,
body.post-type-archive-product .elementor-element-431ba5b > .e-con-inner,
body.tax-product_cat .elementor-element-431ba5b > .e-con-inner {
  margin-top: 0 !important;
  padding-top: 0 !important;
}

body:is(.woocommerce-shop, .post-type-archive-product, .tax-product_cat) .elementor-element-431ba5b {
  width: 100% !important;
  max-width: 100% !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}

body:is(.woocommerce-shop, .post-type-archive-product, .tax-product_cat) .elementor-element-431ba5b > .e-con-inner {
  width: 100% !important;
  max-width: var(--nw-content-max) !important;
  margin: 0 auto !important;
  padding-left: 20px !important;
  padding-right: 20px !important;
  box-sizing: border-box !important;
}

body:is(.woocommerce-shop, .post-type-archive-product, .tax-product_cat) .elementor-element-7d2e259 {
  display: none !important;
}

/* ---------------------------------------------------------
   BANNER "WYPOŻ YCZ"
   --------------------------------------------------------- */

body.woocommerce-shop .elementor-element-57d2cbf,
body.post-type-archive-product .elementor-element-57d2cbf,
body.tax-product_cat .elementor-element-57d2cbf,
body.woocommerce-shop .elementor-element-57d2cbf > .elementor-widget-container,
body.post-type-archive-product .elementor-element-57d2cbf > .elementor-widget-container,
body.tax-product_cat .elementor-element-57d2cbf > .elementor-widget-container,
body.woocommerce-shop .elementor-element-57d2cbf .wd-image,
body.post-type-archive-product .elementor-element-57d2cbf .wd-image,
body.tax-product_cat .elementor-element-57d2cbf .wd-image {
  margin-top: 0 !important;
  padding-top: 0 !important;
}

body:is(.woocommerce-shop, .post-type-archive-product, .tax-product_cat) .elementor-element-57d2cbf {
  width: 100vw !important;
  max-width: 100vw !important;
  margin-top: 0 !important;
  margin-left: calc(50% - 50vw) !important;
  margin-right: calc(50% - 50vw) !important;
}

body:is(.woocommerce-shop, .post-type-archive-product, .tax-product_cat) .elementor-element-57d2cbf .elementor-widget-container {
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
}

body.woocommerce-shop .elementor-element-57d2cbf .wd-image,
body.post-type-archive-product .elementor-element-57d2cbf .wd-image,
body.tax-product_cat .elementor-element-57d2cbf .wd-image {
  position: relative !important;
  width: 100vw !important;
  max-width: 100vw !important;
  min-height: 320px !important;
  height: 320px !important;
  margin: 0 0 36px !important;
  margin-left: calc(50% - 50vw) !important;
  margin-right: calc(50% - 50vw) !important;
  overflow: hidden !important;
  line-height: 0 !important;
}

body.woocommerce-shop .elementor-element-57d2cbf .wd-image img,
body.post-type-archive-product .elementor-element-57d2cbf .wd-image img,
body.tax-product_cat .elementor-element-57d2cbf .wd-image img {
  display: block !important;
  width: 100% !important;
  height: 320px !important;
  margin: 0 !important;
  object-fit: cover !important;
  object-position: center center !important;
}

body.woocommerce-shop .elementor-element-57d2cbf .wd-image::before,
body.post-type-archive-product .elementor-element-57d2cbf .wd-image::before,
body.tax-product_cat .elementor-element-57d2cbf .wd-image::before {
  content: "" !important;
  position: absolute !important;
  top: 0 !important; right: 0 !important; bottom: 0 !important; left: 0 !important;
  inset: 0 !important;
  z-index: 2 !important;
  background: rgba(0, 0, 0, 0.35) !important;
  pointer-events: none !important;
}

body.woocommerce-shop .elementor-element-57d2cbf .wd-image::after,
body.post-type-archive-product .elementor-element-57d2cbf .wd-image::after,
body.tax-product_cat .elementor-element-57d2cbf .wd-image::after {
  content: "Oferta" !important;
  position: absolute !important;
  top: 0 !important; right: 0 !important; bottom: 0 !important; left: 0 !important;
  inset: 0 !important;
  z-index: 3 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 0 24px !important;
  color: var(--nw-white) !important;
  font-size: clamp(30px, 3.4vw, 44px) !important; /* (2026-07-03, user: 'nie jednolite/za grube') bylo 72px/700 — banery ::after gigantyczne vs h1 34px na FAQ/Kontakt */
  line-height: 1.15 !important;
  font-weight: 600 !important;
  text-align: center !important;
  pointer-events: none !important;
}

body:is(.woocommerce-shop, .post-type-archive-product, .tax-product_cat) .elementor-element-8404f30 {
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
}

/* =========================================================
   12. WSPÓLNY BANNER WEWNĘ TRZNY
   ========================================================= */

/* ---------------------------------------------------------
   BANNERY WEWNĘ TRZNE  baza
   realizacje / koszyk / szczegół y rezerwacji / checkout / konto
   --------------------------------------------------------- */

body:is(.page-id-51, .page-id-31488, .woocommerce-cart, .page-id-29938, .woocommerce-checkout, .woocommerce-account) .page-title,
body:is(.page-id-51, .page-id-31488, .woocommerce-cart, .page-id-29938, .woocommerce-checkout, .woocommerce-account) .wd-page-title {
  position: relative !important;
  display: flex !important;
  width: 100vw !important;
  max-width: 100vw !important;
  height: 320px !important;
  min-height: 320px !important;
  margin-top: 0 !important;
  margin-bottom: 0 !important;
  margin-left: calc(50% - 50vw) !important;
  margin-right: calc(50% - 50vw) !important;
  padding: 0 !important;
  align-items: center !important;
  justify-content: center !important;
  overflow: hidden !important;
  border: 0 !important;
 background: var(--nw-new-bg-image) center center / cover no-repeat !important; /* (2026-07-11) wspolna zmienna headerow */
}

body:is(.page-id-51, .page-id-31488, .woocommerce-cart, .page-id-29938, .woocommerce-checkout, .woocommerce-account) .page-title::before,
body:is(.page-id-51, .page-id-31488, .woocommerce-cart, .page-id-29938, .woocommerce-checkout, .woocommerce-account) .wd-page-title::before {
  content: "" !important;
  position: absolute !important;
  top: 0 !important; right: 0 !important; bottom: 0 !important; left: 0 !important;
  inset: 0 !important;
  z-index: 2 !important;
  background: rgba(0, 0, 0, 0.35) !important;
}

/* ---------------------------------------------------------
   WEWNĘ TRZNY UK AD BANNERA
   --------------------------------------------------------- */

body:is(.page-id-51, .page-id-31488, .woocommerce-cart, .page-id-29938, .woocommerce-checkout, .woocommerce-account) .page-title .container,
body:is(.page-id-51, .page-id-31488, .woocommerce-cart, .page-id-29938, .woocommerce-checkout, .woocommerce-account) .wd-page-title .container,
body:is(.page-id-51, .page-id-31488, .woocommerce-cart, .page-id-29938, .woocommerce-checkout, .woocommerce-account) .page-title .title-wrapper,
body:is(.page-id-51, .page-id-31488, .woocommerce-cart, .page-id-29938, .woocommerce-checkout, .woocommerce-account) .wd-page-title .title-wrapper {
  position: relative !important;
  z-index: 4 !important;
  display: flex !important;
  width: 100% !important;
  max-width: 100% !important;
  height: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  align-items: center !important;
  justify-content: center !important;
  text-align: center !important;
}

/* ---------------------------------------------------------
   UKRYCIE DOMYŚ LNEGO TEKSTU H1 TAM, GDZIE PODMIENIAMY TYTU  PSEUDO
   --------------------------------------------------------- */

body:is(.page-id-51, .page-id-31488, .woocommerce-cart, .page-id-29938, .woocommerce-checkout) .page-title h1,
body:is(.page-id-51, .page-id-31488, .woocommerce-cart, .page-id-29938, .woocommerce-checkout) .wd-page-title h1 {
  margin: 0 !important;
  color: transparent !important;
  font-size: 0 !important;
  line-height: 0 !important;
}

/* konto zostawia normalny H1 */
body.woocommerce-account .page-title h1,
body.woocommerce-account .wd-page-title h1 {
  margin: 0 !important;
  color: var(--nw-white) !important;
  font-size: clamp(30px, 3.4vw, 44px) !important; /* (2026-07-03, user: 'nie jednolite/za grube') bylo 72px/700 — banery ::after gigantyczne vs h1 34px na FAQ/Kontakt */
  line-height: 1.15 !important;
  font-weight: 600 !important;
}

/* ---------------------------------------------------------
   UKRYCIE BREADCRUMBS I CHECKOUT STEPS
   --------------------------------------------------------- */

body:is(.page-id-51, .page-id-31488, .woocommerce-cart, .page-id-29938, .woocommerce-checkout, .woocommerce-account) .page-title .breadcrumbs,
body:is(.page-id-51, .page-id-31488, .woocommerce-cart, .page-id-29938, .woocommerce-checkout, .woocommerce-account) .wd-page-title .breadcrumbs,
body:is(.page-id-51, .page-id-31488, .woocommerce-cart, .page-id-29938, .woocommerce-checkout, .woocommerce-account) .page-title .wd-breadcrumbs,
body:is(.page-id-51, .page-id-31488, .woocommerce-cart, .page-id-29938, .woocommerce-checkout, .woocommerce-account) .wd-page-title .wd-breadcrumbs,
body.woocommerce-cart .wd-checkout-steps,
body.woocommerce-cart .checkout-steps,
body.woocommerce-checkout .wd-checkout-steps,
body.woocommerce-checkout .checkout-steps {
  display: none !important;
}

/* ---------------------------------------------------------
   PODMIENIONE TYTUŁ Y
   --------------------------------------------------------- */

body:is(.page-id-51, .page-id-31488, .woocommerce-cart, .page-id-29938, .woocommerce-checkout) .page-title::after,
body:is(.page-id-51, .page-id-31488, .woocommerce-cart, .page-id-29938, .woocommerce-checkout) .wd-page-title::after {
  position: absolute !important;
  top: 50% !important;
  left: 50% !important;
  z-index: 5 !important;
  width: min(92vw, 1100px) !important;
  transform: translate(-50%, -50%) !important;
  color: var(--nw-white) !important;
  font-size: clamp(30px, 3.4vw, 44px) !important; /* (2026-07-03, user: 'nie jednolite/za grube') bylo 72px/700 — banery ::after gigantyczne vs h1 34px na FAQ/Kontakt */
  line-height: 1.15 !important;
  font-weight: 600 !important;
  text-align: center !important;
  white-space: pre-line !important;
  pointer-events: none !important;
  font-family: 'Poppins', Arial, Helvetica, sans-serif !important; /* (audyt 2026-06-25): banery na nasz font marki (bylo Roboto) */
}

/* (audyt 2026-06-25): WSZYSTKIE banery stron na nasz font (Poppins — storefront; NIE DM Serif) — bylo Roboto (default WoodMart).
   Obejmuje realny tytul .title oraz baner Oferty (::after). */
html .wd-page-title .title,
html .page-title .title,
body.woocommerce-shop .wd-page-title::after,
body.woocommerce-shop .page-title::after,
body.post-type-archive-product .wd-page-title::after,
body.tax-product_cat .wd-page-title::after,
body.tax-product_tag .wd-page-title::after {
  font-family: 'Poppins', Arial, Helvetica, sans-serif !important;
}

body.page-id-51 .page-title::after,
body.page-id-51 .wd-page-title::after {
  content: "Nasze realizacje" !important;
}

body.woocommerce-cart .page-title::after,
body.woocommerce-cart .wd-page-title::after {
  content: "Koszyk" !important;
}

body.page-id-29938 .page-title::after,
body.page-id-29938 .wd-page-title::after {
  content: "Szczegóły rezerwacji" !important;
}

body.woocommerce-checkout .page-title::after,
body.woocommerce-checkout .wd-page-title::after {
  content: "Podsumowanie" !important;
}

/* ---------------------------------------------------------
   USUŃ  WSZELKI ODSUNI CIE POD HEADEREM
   --------------------------------------------------------- */

/* (audyt) Wyrównanie banera pod menu tak jak na Wypożyczalni:
   dołożono wrappery Elementora (.elementor/.e-con…) i page-id-51,
   bo to one wnosiły górny odstęp na Koszyku/Checkout/Koncie/Rezerwacji. */
body:is(.page-id-51, .page-id-31488, .woocommerce-cart, .page-id-29938, .woocommerce-checkout, .woocommerce-account) .main-page-wrapper,
body:is(.page-id-51, .page-id-31488, .woocommerce-cart, .page-id-29938, .woocommerce-checkout, .woocommerce-account) .site-content,
body:is(.page-id-51, .page-id-31488, .woocommerce-cart, .page-id-29938, .woocommerce-checkout, .woocommerce-account) .content-layout-wrapper,
body:is(.page-id-51, .page-id-31488, .woocommerce-cart, .page-id-29938, .woocommerce-checkout, .woocommerce-account) .wd-content-area,
body:is(.page-id-51, .page-id-31488, .woocommerce-cart, .page-id-29938, .woocommerce-checkout, .woocommerce-account) .elementor,
body:is(.page-id-51, .page-id-31488, .woocommerce-cart, .page-id-29938, .woocommerce-checkout, .woocommerce-account) .elementor-section-wrap,
body:is(.page-id-51, .page-id-31488, .woocommerce-cart, .page-id-29938, .woocommerce-checkout, .woocommerce-account) .e-con,
body:is(.page-id-51, .page-id-31488, .woocommerce-cart, .page-id-29938, .woocommerce-checkout, .woocommerce-account) .e-con-inner {
  margin-top: 0 !important;
  padding-top: 0 !important;
}

/* ---------------------------------------------------------
   GALERIA  peł na szeroko   bez sidebara
   --------------------------------------------------------- */

.page-id-51 .widget-area,
.page-id-51 aside.sidebar-container,
.page-id-51 .sidebar-container,
.page-id-51 .wd-sidebar {
  display: none !important;
}

.page-id-51 .content-layout-wrapper,
.page-id-51 .wd-content-layout {
  display: block !important;
}

.page-id-51 .site-content,
.page-id-51 .content-area,
.page-id-51 .page-content {
  width: 100% !important;
  max-width: 100% !important;
  flex: 0 0 100% !important;
}

/* =========================================================
   13. GALERIA  NOWA WERSJA + BOX PRODUKTÓW
   ========================================================= */

/* ---------------------------------------------------------
   GŁ ÓWNY WRAPPER
   --------------------------------------------------------- */

.nw-gallery-wrap {
  max-width: 1440px;
  margin: 0 auto;
  padding: 28px 20px 80px;
}

.nw-gallery-panel {
  display: none !important;
}

.nw-gallery-panel.is-active {
  display: block !important;
}

/* ---------------------------------------------------------
   GŁ ÓWNY WIDOK
   --------------------------------------------------------- */

.nw-gallery-single,
.nw-gallery-main-link,
.nw-gallery-bundle-box {
  max-width: 1080px !important;
}

.nw-gallery-single {
  margin: 0 auto;
}

.nw-gallery-main-wrap {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
}

.nw-gallery-main-link {
  display: block;
  width: 100% !important;
  text-decoration: none;
}

.nw-gallery-main-frame {
  width: 100%;
  aspect-ratio: 16 / 9;
  overflow: hidden;
  background: #f3f3f3;
  border: 1px solid #e6e6e6;
  box-shadow: 0 18px 40px rgba(0, 0, 0, 0.08);
}

.nw-gallery-main-image {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* ---------------------------------------------------------
   TABS KATEGORII
   --------------------------------------------------------- */

.nw-gallery-tabs {
  display: grid !important;
  grid-template-columns: repeat(6, minmax(0, 1fr)) !important;
  align-items: stretch !important;
  width: 100% !important;
  max-width: 1080px !important;
  margin: 0 auto 26px !important;
  gap: 12px !important;
}

.nw-gallery-tab {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-width: 0 !important;
  min-height: 58px !important;
  padding: 12px 14px !important;
  text-align: center !important;
  font-size: 14px !important;
  line-height: 1.2 !important;
  font-weight: 600 !important;
  letter-spacing: 0.02em !important;
  white-space: normal !important;
  word-break: keep-all !important;
  hyphens: none !important;
}

.nw-gallery-tab:hover,
.nw-gallery-tab.is-active {
  color: #1a1407 !important;
}
/* (audyt 2026-06-25 #9): taby realizacji jak w FAQ — NIEAKTYWNE biale, AKTYWNE zlote.
   Byly wszystkie zlote (globalna regula button{} je lapie). ID-spec bije ja i duplikaty. */
html .nw-gallery-tab:not(.is-active):not(#nw-z) {
  background: #fff !important;
  background-color: #fff !important;
  border: 1px solid rgba(212,186,135,.55) !important;
  color: #1a1407 !important;
  box-shadow: none !important;
}
html .nw-gallery-tab:not(.is-active):not(#nw-z):hover {
  background: #faf6ec !important;
  background-color: #faf6ec !important;
  border-color: #d4ba87 !important;
}
html .nw-gallery-tab.is-active:not(#nw-z) {
  background: #d4ba87 !important;
  background-color: #d4ba87 !important;
  border: 1px solid #d4ba87 !important;
  color: #1a1407 !important;
}

/* ---------------------------------------------------------
   STRZAŁ KI
   --------------------------------------------------------- */

.nw-gallery-arrow {
  position: absolute;
  top: 50%;
  z-index: 3;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 52px;
  height: 52px;
  padding: 0;
  cursor: pointer;
  border: none;
  background: transparent !important;
  box-shadow: none !important;
  color: var(--nw-beige) !important;
  transform: translateY(-50%);
  transition: color 0.2s ease, transform 0.2s ease !important;
}

.nw-gallery-arrow svg {
  width: 46px; /* (2026-07-03) spojny rozmiar ze strzalkami opinii (user: wieksze) */
  height: 46px;
  fill: none !important;
}

.nw-gallery-arrow:hover {
  color: var(--nw-beige) !important;
  transform: translateY(-50%) scale(1.06) !important;
}

.nw-gallery-arrow.is-prev {
  left: -56px;
}

.nw-gallery-arrow.is-next {
  right: -56px;
}

/* ---------------------------------------------------------
   MINIATURY
   --------------------------------------------------------- */

.nw-gallery-thumbs-bar {
  display: flex;
  justify-content: center;
  margin-top: 20px;
}

.nw-gallery-thumbs {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  padding: 14px 16px;
  background: #fff;
  border: 1px solid rgba(212, 186, 135, 0.35); /* (2026-07-02) zlota ramka zamiast szarej — spojnie z kartami */
  border-radius: 12px; /* (2026-07-02) kanon kart 12px — user: „pasek ze zdjeciami tez zaokraglony" */
  box-shadow: 0 10px 24px rgba(0, 0, 0, 0.05);
}

.nw-gallery-thumb {
  width: 150px;
  height: 88px;
  padding: 0;
  cursor: pointer;
  overflow: hidden;
  background: #fff;
  border: 1px solid #dcdcdc;
  opacity: 0.72;
  transition: all 0.2s ease;
}

.nw-gallery-thumb:hover {
  opacity: 1;
  border-color: #b9934f;
}

.nw-gallery-thumb.is-active {
  opacity: 1;
  border-color: #b9934f;
  box-shadow: inset 0 0 0 1px #b9934f;
}

.nw-gallery-thumb img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* ---------------------------------------------------------
   BOX PRODUKTÓW POD ZDJĘ CIEM  FINAL
   --------------------------------------------------------- */

.nw-gallery-bundle-box {
  margin: 22px auto 0 !important;
  padding: 32px 34px !important;
  background: #fafafa !important;
  border: 1px solid #ececec !important;
  text-align: center !important;
  box-shadow: none !important;
}

.nw-gallery-bundle-label {
  margin: 0 0 18px !important;
  color: #222 !important;
  font-size: 15px !important;
  font-weight: 600 !important;
  letter-spacing: 0.03em !important;
  text-transform: uppercase !important;
  text-align: center !important;
}

.nw-gallery-bundle-products {
  display: flex !important;
  flex-wrap: wrap !important;
  justify-content: center !important;
  gap: 10px !important;
  max-width: 900px !important;
  margin: 0 auto 22px !important;
}

.nw-gallery-bundle-product {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 42px !important;
  padding: 10px 16px !important;
  background: #f3f3f3 !important;
  border: 1px solid #e5e5e5 !important;
  color: #222 !important;
  text-decoration: none !important;
  font-size: 14px !important;
  line-height: 1.35 !important;
  border-radius: 8px !important;
  transition: all 0.2s ease !important;
}

.nw-gallery-bundle-product:hover {
  background: #ececec !important;
  color: #000 !important;
  text-decoration: none !important;
}

.nw-gallery-bundle-qty {
  margin-left: 6px !important;
  font-weight: 600 !important;
  color: inherit !important;
}

.nw-gallery-bundle-action {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 12px !important;
  margin-top: 6px !important;
}

.nw-gallery-bundle-btn {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-width: 340px !important;
  min-height: 56px !important;
  padding: 14px 28px !important;
  background: #d4ba87 !important;
  color: #1a1407 !important;
  text-decoration: none !important;
  font-size: 15px !important;
  font-weight: 600 !important;
  letter-spacing: 0.02em !important;
  text-align: center !important;
  border: 1px solid #000 !important;
  transition: all 0.2s ease !important;
}

.nw-gallery-bundle-btn:hover {
  background: #d4ba87 !important;
  color: #000 !important;
  border-color: #d4ba87 !important;
  text-decoration: none !important;
}

.nw-gallery-bundle-note {
  margin: 0 auto !important;
  max-width: 520px !important;
  color: #777 !important;
  font-size: 14px !important;
  line-height: 1.5 !important;
  text-align: center !important;
}

.nw-gallery-bundle-empty {
  color: #777 !important;
  font-size: 14px !important;
}

/* =========================================================
   14. SINGLE PRODUCT  BAZA + BUNDLE + TABS + DOSTAWA
   ========================================================= */

/* ---------------------------------------------------------
   CENA
   --------------------------------------------------------- */

.single-product .wd-single-price .price {
  margin-bottom: 0 !important;
}

.single-product .wd-single-price .price .woocommerce-Price-amount,
.single-product .wd-single-price .price .woocommerce-Price-amount.amount {
  display: inline-flex !important;
  align-items: baseline !important;
  gap: 8px !important;
}

.single-product .wd-single-price .price .woocommerce-Price-amount::after,
.single-product .wd-single-price .price .woocommerce-Price-amount.amount::after {
  content: "cena za dobę " !important;
  display: inline-block !important;
  color: var(--nw-gray) !important;
  font-size: 16px !important;
  line-height: 1 !important;
  font-weight: 500 !important;
  white-space: nowrap !important;
}

/* ---------------------------------------------------------
   DROBNE ELEMENTY SINGLE PRODUCT
   --------------------------------------------------------- */

.single-product .stock,
.single-product .in-stock,
.single-product .wd-product-stock,
.single-product .woocommerce-product-attributes-item__label,
.single-product .woocommerce-tabs .panel a:hover {
  color: var(--nw-beige) !important;
}

.single-product .product_meta .meta-label,
.single-product .product_meta a:hover,
.single-product .wd-social-icons .wd-label,
.single-product .social-share .wd-label {
  color: #111 !important;
}

.single-product .wd-social-icons a:hover {
  color: var(--nw-beige) !important;
}

.single-product .woocommerce-tabs .panel,
.single-product .woocommerce-tabs .woocommerce-Tabs-panel {
  border-color: rgba(212, 186, 135, 0.18) !important;
}

/* ---------------------------------------------------------
   ZAKŁ ADKI  FINALNY UK AD
   --------------------------------------------------------- */

.single-product .woocommerce-tabs.wc-tabs-wrapper {
  margin-top: 32px !important;
}

.single-product .wd-nav-wrapper,
.single-product .wd-nav-tabs-wrapper,
.single-product .woocommerce-tabs .tabs-navigation {
  margin-bottom: 0 !important;
}

.single-product .woocommerce-tabs .wc-tabs,
.single-product .wd-nav-wrapper .wd-nav,
.single-product .wd-nav-tabs {
  display: flex !important;
  align-items: stretch !important;
  gap: 28px !important;
  margin: 0 !important;
  padding: 0 !important;
  border-bottom: 1px solid #ececec !important;
  list-style: none !important;
}

.single-product .woocommerce-tabs .wc-tabs > li,
.single-product .wd-nav-wrapper .wd-nav > li,
.single-product .wd-nav-tabs > li {
  display: flex !important;
  align-items: stretch !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  list-style: none !important;
}

.single-product .woocommerce-tabs .wc-tabs > li::before,
.single-product .woocommerce-tabs .wc-tabs > li::after,
.single-product .wd-nav-wrapper .wd-nav > li::before,
.single-product .wd-nav-wrapper .wd-nav > li::after,
.single-product .wd-nav-tabs > li::before,
.single-product .wd-nav-tabs > li::after,
.single-product .woocommerce-tabs .wc-tabs > li > a::before,
.single-product .woocommerce-tabs .wc-tabs > li > a::after,
.single-product .wd-nav-wrapper .wd-nav > li > a::before,
.single-product .wd-nav-wrapper .wd-nav > li > a::after,
.single-product .wd-nav-tabs > li > a::before,
.single-product .wd-nav-tabs > li > a::after,
.single-product .wd-nav-link::before,
.single-product .wd-nav-link::after,
.single-product .wd-tabs-title::before,
.single-product .wd-tabs-title::after,
.single-product .nav-link-text::before,
.single-product .nav-link-text::after {
  display: none !important;
  content: none !important;
}

.single-product .woocommerce-tabs .wc-tabs > li > a,
.single-product .wd-nav-wrapper .wd-nav > li > a,
.single-product .wd-nav-tabs > li > a,
.single-product .wd-nav-tabs .wd-nav-link {
  display: inline-flex !important;
  align-items: center !important;
  min-height: 52px !important;
  padding: 0 0 14px !important;
  margin: 0 !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  text-decoration: none !important;
  box-sizing: border-box !important;
  color: #111 !important;
  font-size: 16px !important;
  line-height: 1.2 !important;
  font-weight: 600 !important;
}

.single-product .wd-nav-wrapper .wd-nav > li > a .nav-link-text,
.single-product .wd-nav-wrapper .wd-nav > li > a .wd-tabs-title,
.single-product .wd-nav-tabs .wd-tabs-title,
.single-product .wd-nav-link .nav-link-text,
.single-product .woocommerce-tabs .wc-tabs > li > a {
  position: static !important;
  display: inline-block !important;
  color: #111 !important;
  font-size: 16px !important;
  line-height: 1.2 !important;
  font-weight: 600 !important;
  vertical-align: baseline !important;
}

.single-product .woocommerce-tabs .wc-tabs > li.active > a,
.single-product .woocommerce-tabs .wc-tabs > li:hover > a,
.single-product .wd-nav-wrapper .wd-nav > li.active > a,
.single-product .wd-nav-wrapper .wd-nav > li:hover > a,
.single-product .wd-nav-tabs > li.active > a,
.single-product .wd-nav-tabs > li:hover > a,
.single-product .wd-nav-tabs > li.active .wd-nav-link,
.single-product .wd-nav-tabs > li:hover .wd-nav-link {
  color: #111 !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: inset 0 -2px 0 var(--nw-beige) !important;
}

.single-product .woocommerce-Tabs-panel,
.single-product #tab-description,
.single-product #tab-shipping-and-delivery {
  margin-top: 18px !important;
  padding: 28px !important;
  background: #fff !important;
  border: 1px solid #ececec !important;
  box-sizing: border-box !important;
}

/* ---------------------------------------------------------
   DOSTAWA I ODBIÓR  UKŁ AD TRE CI
   --------------------------------------------------------- */

.single-product #tab-shipping-and-delivery .elementor,
.single-product #tab-shipping-and-delivery .elementor-widget-wrap,
.single-product #tab-shipping-and-delivery .elementor-widget-container {
  width: 100% !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
}

.single-product #tab-shipping-and-delivery .e-con-inner {
  display: grid !important;
  grid-template-columns: minmax(0, 320px) minmax(0, 1fr) !important;
  gap: 28px !important;
  align-items: start !important;
}

.single-product #tab-shipping-and-delivery .wd-images-gallery,
.single-product #tab-shipping-and-delivery .wd-gallery,
.single-product #tab-shipping-and-delivery .elementor-widget-image,
.single-product #tab-shipping-and-delivery .elementor-widget-gallery {
  width: 100% !important;
  max-width: 320px !important;
}

.single-product #tab-shipping-and-delivery .wd-images-gallery .wd-grid-g {
  --wd-col-lg: 1 !important;
  --wd-col-md: 1 !important;
  --wd-col-sm: 1 !important;
  gap: 12px !important;
}

.single-product #tab-shipping-and-delivery .wd-gallery-item img,
.single-product #tab-shipping-and-delivery .elementor-widget-image img,
.single-product #tab-shipping-and-delivery .elementor-image img {
  display: block !important;
  width: 100% !important;
  height: auto !important;
}

/* ---------------------------------------------------------
   KOSZYK / CHECKOUT  CHILD BUNDLE POGRUBIONE
   --------------------------------------------------------- */

.woocommerce-cart tr.bundled_table_item td.product-name,
.woocommerce-cart tr.bundle_table_item td.product-name,
.woocommerce-checkout tr.bundled_table_item td.product-name,
.woocommerce-checkout tr.bundle_table_item td.product-name,
.woocommerce-cart tr.bundled_table_item td.product-name a,
.woocommerce-cart tr.bundle_table_item td.product-name a,
.woocommerce-checkout tr.bundled_table_item td.product-name a,
.woocommerce-checkout tr.bundle_table_item td.product-name a,
.woocommerce-cart .bundled-product-name,
.woocommerce-checkout .bundled-product-name {
  font-weight: 600 !important;
}

/* =========================================================
   15. POPUP  NW POPUP R1 / V3
   ========================================================= */

/* ---------------------------------------------------------
   TŁ O / OVERLAY
   --------------------------------------------------------- */

/* ---------------------------------------------------------
   GŁ ÓWNY BOX
   --------------------------------------------------------- */
#nw-popup-v3 .nw-popup-v3__box {
  display: flex !important;
  flex-direction: column !important;
  width: min(980px, calc(100vw - 32px)) !important;
  max-width: 980px !important;
  max-height: 86vh !important;
  margin: 4vh auto 0 !important;
  overflow: hidden !important;
  background: var(--nw-white) !important;
  border: 1px solid #eadfca !important;
  box-shadow: 0 18px 40px rgba(0, 0, 0, 0.18) !important;
}
/* (audyt 2026-07-11, user „pop up bundle jak znika, to ma isc w dol, nie w bok") zamykanie = zjazd W DOL + fade.
   Klasa .nw-popup-v3--closing dodawana w JS na czas domkniecia: utrzymuje kontener widoczny (display:flex) i
   przesuwa boks w dol (translateY). Po ~220ms JS twardo chowa (display:none). Kierunek pionowy, nie boczny. */
#nw-popup-v3.nw-popup-v3--closing {
  display: flex !important;
  align-items: flex-start !important;
  justify-content: center !important;
}
#nw-popup-v3.nw-popup-v3--closing .nw-popup-v3__box {
  transform: translateY(60px) !important;
  opacity: 0 !important;
  transition: transform .2s ease, opacity .2s ease !important;
}

/* ---------------------------------------------------------
   HEADER
   --------------------------------------------------------- */
#nw-popup-v3 .nw-popup-v3__header {
  padding: 18px 56px 14px 18px !important;
  border-bottom: 1px solid #f0eadf !important;
}
#nw-popup-v3 .nw-popup-v3__header h3 {
  margin: 0 0 6px !important;
  color: #111 !important;
  font-size: 22px !important;
  line-height: 1.15 !important;
  font-weight: 600 !important;
}
#nw-popup-v3 .nw-popup-v3__header p {
  margin: 0 !important;
  color: #6b6b6b !important;
  font-size: 13px !important;
  line-height: 1.45 !important;
}

/* ---------------------------------------------------------
   CLOSE
   --------------------------------------------------------- */
#nw-popup-v3 .nw-popup-v3__close {
  top: 12px !important;
  right: 12px !important;
  width: 38px !important;
  height: 38px !important;
  border: 0 !important;
}

/* ---------------------------------------------------------
   BODY / GRID
   --------------------------------------------------------- */
#nw-popup-v3 .nw-popup-v3__body {
  padding: 16px 18px 0 !important;
  overflow: auto !important;
}
#nw-popup-v3 .nw-popup-v3__grid {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 14px !important;
  padding-bottom: 16px !important;
}

/* ---------------------------------------------------------
   KARTA PRODUKTU
   --------------------------------------------------------- */
#nw-popup-v3 .nw-popup-v3__card {
  display: grid !important;
  grid-template-columns: 82px 1fr !important;
  align-items: start !important;
  min-height: 230px !important;
  gap: 14px !important;
  padding: 14px !important;
  overflow: visible !important;
  cursor: pointer !important;
  background: #fffdfa !important;
  border: 1px solid #eee5d6 !important;
}

/* miniatura */
#nw-popup-v3 .nw-popup-v3__thumb {
  width: 82px !important;
  height: 82px !important;
  overflow: hidden !important;
  cursor: pointer !important;
  background: #f4f4f4 !important;
}
#nw-popup-v3 .nw-popup-v3__thumb img {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
}

/* content */
#nw-popup-v3 .nw-popup-v3__content {
  display: flex !important;
  flex-direction: column !important;
  min-height: 100% !important;
}
#nw-popup-v3 .nw-popup-v3__content strong {
  display: block !important;
  margin: 0 0 4px !important;
  color: #111 !important;
  font-size: 15px !important;
  line-height: 1.2 !important;
  font-weight: 600 !important;
  cursor: pointer !important;
}
#nw-popup-v3 .nw-popup-v3__content p {
  margin: 0 0 10px !important;
  min-height: 34px !important;
  color: #666 !important;
  font-size: 12px !important;
  line-height: 1.45 !important;
}

/* cena */
#nw-popup-v3 .nw-popup-v3__price {
  display: inline-flex !important;
  align-items: center !important;
  width: fit-content !important;
  margin: 0 0 12px !important;
  padding: 5px 10px !important;
  background: #f7f0e2 !important;
  color: #9a7634 !important;
  font-size: 12px !important;
  font-weight: 600 !important;
  border-radius: 8px !important; /* (2026-07-03, user: cena w zaokraglonym polu) */
}
#nw-popup-v3 .nw-popup-v3__price .amount {
  color: #9a7634 !important;
  font-weight: 600 !important;
}

/* szczegół y ukryte */

/* ---------------------------------------------------------
   AKCJE / QTY / BUY
   --------------------------------------------------------- */
#nw-popup-v3 .nw-popup-v3__actions {
  display: flex !important;
  flex-direction: column !important;
  justify-content: flex-start !important;
  gap: 8px !important;
  margin-top: auto !important;
}
#nw-popup-v3 .nw-popup-v3__buy-wrap {
  display: grid !important;
  grid-template-columns: 108px minmax(0, 1fr) !important;
  align-items: stretch !important;
  width: 100% !important;
  gap: 8px !important;
}
#nw-popup-v3 .nw-popup-v3__qty {
  display: grid !important;
  grid-template-columns: 34px 40px 34px !important;
  width: 108px !important;
  min-width: 108px !important;
  min-height: 44px !important;
  height: 44px !important;
  align-self: stretch !important;
  background: var(--nw-white) !important;
  border: 1px solid #e8deca !important;
}
#nw-popup-v3 .nw-popup-v3__qty-btn,
#nw-popup-v3 .nw-popup-v3__qty-input {
  height: 42px !important;
  min-height: 42px !important;
}
#nw-popup-v3 .nw-popup-v3__qty-input {
  width: 40px !important;
  padding: 0 !important;
  text-align: center !important;
  color: #111 !important;
  font-size: 12px !important;
  font-weight: 600 !important;
  background: var(--nw-white) !important;
  border: 0 !important;
  border-left: 1px solid #e8deca !important;
  border-right: 1px solid #e8deca !important;
}
#nw-popup-v3 .nw-popup-v3__status {
  min-height: 18px !important;
  margin-top: 4px !important;
  color: #2f7d32 !important;
  font-size: 11px !important;
  line-height: 1.35 !important;
  font-weight: 600 !important;
}

#nw-popup-v3 .nw-popup-v3__status.is-empty {
  visibility: hidden !important;
}

/* ---------------------------------------------------------
   FOOTER
   --------------------------------------------------------- */
#nw-popup-v3 .nw-popup-v3__footer {
  display: flex !important;
  justify-content: flex-end !important;
  gap: 10px !important;
  margin-top: auto !important;
  padding: 14px 18px 18px !important;
  background: var(--nw-white) !important;
  border-top: 1px solid #f0eadf !important;
}
#nw-popup-v3 .nw-popup-v3__footer .button {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-width: 190px !important;
  min-height: 40px !important;
  padding: 0 14px !important;
  font-size: 12px !important;
  font-weight: 600 !important;
  text-decoration: none !important;
  border: 0 !important;
}

/* ---------------------------------------------------------
   WSPÓLNE KOLORY AKCJI
   --------------------------------------------------------- */
#nw-popup-v3 .nw-popup-v3__buy-wrap .add_to_cart_button,
#nw-popup-v3 .nw-popup-v3__buy-wrap .button,
#nw-popup-v3 .nw-popup-v3__footer .button,
#nw-popup-v3 .nw-popup-v3__close,
#nw-popup-v3 .nw-popup-v3__qty-btn {
  background: #d4ba87 !important; /* (audyt 2026-06-25): bylo var(--nw-black) — to ta regula robila przyciski popupu bundle CZARNE (Kontynuuj zakupy itd.). Kanon F2+G2: zlote tlo. */
  border-color: #d4ba87 !important;
  color: #1a1407 !important;
  -webkit-text-fill-color: #1a1407 !important;
  font-family: Poppins, "Helvetica Neue", Arial, sans-serif !important; /* (audyt 2026-06-25): karty "Dodaj do wyceny" to <a> — globalna button{Poppins} ich nie lapala, mialy inny font. Ujednolicenie. */
  text-transform: uppercase !important;
  font-weight: 500 !important; /* (audyt 2026-07-13, user „na bundle inny przycisk / w innym stylu") bylo 600 — kanon F2+G2 (2026-07-03) = 500. Rownanie do Oferty/qtypick. */
  letter-spacing: 0.04em !important; /* (audyt 2026-07-13) bylo 0.1em — kanon = 0.04em (jak Oferta/qtypick). */
  font-size: 13px !important; /* rownanie do listy/Oferty */
}
#nw-popup-v3 .nw-popup-v3__buy-wrap .add_to_cart_button,
#nw-popup-v3 .nw-popup-v3__buy-wrap .button {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  height: 44px !important;
  min-height: 44px !important;
  padding: 0 14px !important;
  line-height: 1 !important;
  text-align: center !important;
  white-space: nowrap !important;
}
#nw-popup-v3 .nw-popup-v3__buy-wrap .add_to_cart_button:hover,
#nw-popup-v3 .nw-popup-v3__buy-wrap .button:hover,
#nw-popup-v3 .nw-popup-v3__footer .button:hover,
#nw-popup-v3 .nw-popup-v3__close:hover,
#nw-popup-v3 .nw-popup-v3__qty-btn:hover {
  background: #c9a84c !important; /* (audyt 2026-06-25): hover = ciemniejsze zloto (kanon F2+G2) */
  border-color: #c9a84c !important;
  color: #1a1407 !important;
  -webkit-text-fill-color: #1a1407 !important;
}

/* (audyt 2026-07-13, user „stepper nadal stary" na bundle popup nw-popup-v3) — stepper do stylu qtypick/koszyk:
   pill ze zlotym obrysem + PRZEZROCZYSTE przyciski gold-text (bylo gold-fill z reguly kolorow akcji 4832 + hover
   4868). Wymiary grid (108px/44px) zostaja, zmieniamy tylko wyglad. PO regulach kolorow/hover -> wygrywa kaskade. */
#nw-popup-v3 .nw-popup-v3__qty{
  border: 1.5px solid #d4ba87 !important;
  border-radius: 10px !important;
  overflow: hidden !important;
}
#nw-popup-v3 .nw-popup-v3__qty-btn{
  background: transparent !important;
  border: 0 !important;
  color: #c9a84c !important;
  -webkit-text-fill-color: #c9a84c !important;
  font-size: 20px !important;
  font-weight: 500 !important;
}
#nw-popup-v3 .nw-popup-v3__qty-btn:hover{
  background: #d4ba87 !important;
  color: #1a1407 !important;
  -webkit-text-fill-color: #1a1407 !important;
}
#nw-popup-v3 .nw-popup-v3__qty-input{
  border-left: 0 !important;
  border-right: 0 !important;
  background: transparent !important;
}

/* =========================================================
   16. CHECKOUT + SZCZEGÓŁ Y REZERWACJI
   ========================================================= */

/* ---------------------------------------------------------
   WSPÓLNE KONTENERY
   --------------------------------------------------------- */

.woocommerce-account .woocommerce,
.woocommerce-checkout .woocommerce,
body.page-id-29938 .nw-reservation-step,
body.page-id-29938 .site-content .container,
body.page-id-29938 .main-page-wrapper .container {
  max-width: var(--nw-content-max) !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding-left: var(--nw-content-side) !important;
  padding-right: var(--nw-content-side) !important;
  box-sizing: border-box !important;
}

.woocommerce-account .woocommerce {
  padding-top: 40px !important;
  padding-bottom: 80px !important;
}

.woocommerce-checkout .woocommerce {
  margin: 0 auto;
  padding-top: 36px !important;
  padding-bottom: 80px !important;
}

/* ---------------------------------------------------------
   CHECKOUT  GŁ ÓWNY UK AD
   --------------------------------------------------------- */

.woocommerce-checkout form.checkout.woocommerce-checkout,
.woocommerce-checkout form.checkout.woocommerce-checkout::after {
  display: block !important;
}

.woocommerce-checkout form.checkout.woocommerce-checkout::after {
  content: "";
  clear: both;
}

.woocommerce-checkout #customer_details {
  float: left !important;
  width: calc(100% - 432px) !important;
  margin: 0 !important;
  padding: 0 !important;
  display: block !important;
}

.woocommerce-checkout #customer_details .col-1 {
  width: 100% !important;
  float: none !important;
}

/* Ukryj pola adresowe (billing / shipping)  rozliczenie odbywa się  przez form. rezerwacji */
.woocommerce-checkout #customer_details .col-2,
.woocommerce-checkout #customer_details .shipping_address,
.woocommerce-checkout #customer_details .woocommerce-shipping-fields,
.woocommerce-checkout #customer_details .woocommerce-additional-fields,
.woocommerce-checkout #customer_details .woocommerce-billing-fields__field-wrapper,
.woocommerce-checkout #customer_details .form-row,
.woocommerce-checkout #customer_details h3,
.woocommerce-checkout .col2-set .col-2,
.woocommerce-checkout .col2-set .shipping_address,
.woocommerce-checkout .col2-set .woocommerce-shipping-fields,
.woocommerce-checkout .col2-set .woocommerce-billing-fields__field-wrapper,
.woocommerce-checkout .col2-set .form-row,
.woocommerce-checkout .col2-set h3,
.woocommerce-checkout .woocommerce-billing-fields > h3,
.woocommerce-checkout .woocommerce-billing-fields__field-wrapper,
.woocommerce-checkout #billing_first_name_field,
.woocommerce-checkout #billing_last_name_field,
.woocommerce-checkout #billing_company_field,
.woocommerce-checkout #billing_country_field,
.woocommerce-checkout #billing_address_1_field,
.woocommerce-checkout #billing_address_2_field,
.woocommerce-checkout #billing_city_field,
.woocommerce-checkout #billing_state_field,
.woocommerce-checkout #billing_postcode_field,
.woocommerce-checkout #billing_email_field,
.woocommerce-checkout #billing_phone_field {
  display: none !important;
}

.woocommerce-checkout .woocommerce-billing-fields {
  display: block !important;
}

/* Ukryj sekcję  "Informacje dodatkowe" / "Uwagi do zamówienia" */
.woocommerce-checkout .woocommerce-additional-fields,
.woocommerce-checkout .woocommerce-additional-fields__field-wrapper,
.woocommerce-checkout #order_comments_field,
.woocommerce-checkout .notes,
.woocommerce-checkout .col2-set .woocommerce-additional-fields {
  display: none !important;
}

.woocommerce-checkout #order_review_heading,
.woocommerce-checkout #order_review {
  float: right !important;
  width: 390px !important;
  clear: right !important;
}

.woocommerce-checkout #order_review_heading {
  margin: 0 0 18px !important;
  font-size: 0 !important;
  line-height: 0 !important;
}

.woocommerce-checkout #order_review_heading::after {
  content: "Rozliczenie kosztów";
  display: block;
  color: var(--nw-black);
  font-size: 28px;
  line-height: 1.15;
  font-weight: 600;
}

.woocommerce-checkout #order_review {
  margin-top: 0 !important;
}

/* ---------------------------------------------------------
   CHECKOUT  BOX PODSUMOWANIA
   --------------------------------------------------------- */
.woocommerce-checkout #payment,
.woocommerce-checkout .shop_table {
  background: #fff !important;
  border: 1px solid #e5e5e5 !important;
  box-shadow: none !important;
}
/* (audyt 2026-07-11, user „do zaokraglenia boks" — dolny boks kasy #payment: polityka + „Zarezerwuj termin")
   kanon boksow = radius 12. Zaokraglamy tez sasiedni box podsumowania, zeby byly spojne (oba mialy ostre rogi). */
.woocommerce-checkout #payment{
  border-radius: 12px !important;
  overflow: hidden !important;
}

/* ---------------------------------------------------------
   CHECKOUT  TABELA
   --------------------------------------------------------- */

.woocommerce-checkout .shop_table {
  border-collapse: collapse !important;
}

.woocommerce-checkout .shop_table th,
.woocommerce-checkout .shop_table td {
  padding: 16px 18px !important;
  vertical-align: top !important;
  border-color: var(--nw-border-soft) !important;
}

.woocommerce-checkout .shop_table th {
  color: var(--nw-black) !important;
  font-size: 13px !important;
  line-height: 1.2 !important;
  font-weight: 600 !important;
  letter-spacing: 0.06em !important;
  text-transform: uppercase !important;
}

.woocommerce-checkout .shop_table td {
  color: var(--nw-gray) !important;
  font-size: 15px !important;
  line-height: 1.65 !important;
}

.woocommerce-checkout .shop_table .product-name strong,
.woocommerce-checkout .shop_table .product-name b {
  color: var(--nw-black) !important;
}

.woocommerce-checkout .shop_table .amount {
  color: var(--nw-beige) !important;
}

.woocommerce-checkout .shop_table .order-total th,
.woocommerce-checkout .shop_table .order-total td {
  color: var(--nw-black) !important;
  font-weight: 600 !important;
}

/* ---------------------------------------------------------
   CHECKOUT  PŁ ATNO   I ALERTY
   --------------------------------------------------------- */

.woocommerce-checkout #payment {
  margin-top: 0 !important;
  border-radius: 0 !important;
}

.woocommerce-checkout #payment .wc_payment_methods {
  padding: 18px 22px !important;
  border-bottom: 1px solid var(--nw-border-soft) !important;
}

.woocommerce-checkout #payment div.form-row {
  padding: 20px 22px !important;
}

.woocommerce-checkout .woocommerce-info,
.woocommerce-checkout .woocommerce-error,
.woocommerce-checkout .woocommerce-message {
  margin-bottom: 24px !important;
  padding: 18px 20px 18px 52px !important;
  border: 0 !important;
  border-radius: 12px !important; /* (2026-07-02) kanon kart — user: „zaokraglij ramke" (komunikat na thank-you byl kanciasty) */
  box-shadow: none !important;
}

.woocommerce-checkout .woocommerce-info {
  background: var(--nw-beige) !important;
  color: var(--nw-white) !important;
}

.woocommerce-checkout .woocommerce-info::before {
  color: var(--nw-white) !important;
}

.woocommerce-checkout .woocommerce-error {
  background: #fff4f4 !important;
  color: #b42318 !important;
}

.woocommerce-checkout .woocommerce-error::before {
  color: #b42318 !important;
}

/* ---------------------------------------------------------
   BUNDLE BOX  KOSZYK / CHECKOUT
   --------------------------------------------------------- */

/* ---------------------------------------------------------
   KOSZYK / CHECKOUT  CHILD BUNDLE
   --------------------------------------------------------- */

body.woocommerce-cart .nw-form-errors,
body.woocommerce-cart .woocommerce-error {
  display: none !important;
}

.woocommerce-cart .shop_table.cart td.product-name,
.woocommerce-cart .shop_table.cart td.product-name a,
.woocommerce-checkout-review-order-table td.product-name,
.woocommerce-checkout-review-order-table td.product-name a,
.woocommerce-cart tr.bundle_table_item td.product-name,
.woocommerce-cart tr.bundled_table_item td.product-name,
.woocommerce-cart tr.bundle_table_item td.product-name a,
.woocommerce-cart tr.bundled_table_item td.product-name a,
.woocommerce-checkout tr.bundle_table_item td.product-name,
.woocommerce-checkout tr.bundled_table_item td.product-name,
.woocommerce-checkout tr.bundle_table_item td.product-name a,
.woocommerce-checkout tr.bundled_table_item td.product-name a {
  color: #111 !important;
  font-size: 16px !important;
  line-height: 1.45 !important;
  font-weight: 500 !important;
  text-decoration: none !important;
  opacity: 1 !important;
  visibility: visible !important;
}

.woocommerce-cart .shop_table.cart td.product-name a:hover,
.woocommerce-checkout-review-order-table td.product-name a:hover {
  color: #111 !important;
}

.woocommerce-cart .shop_table.cart td.product-price,
.woocommerce-cart .shop_table.cart td.product-price .amount,
.woocommerce-cart .shop_table.cart td.product-subtotal,
.woocommerce-cart .shop_table.cart td.product-subtotal .amount,
.woocommerce-checkout-review-order-table td.product-total,
.woocommerce-checkout-review-order-table td.product-total .amount,
.woocommerce-cart tr.bundle_table_item td.product-price,
.woocommerce-cart tr.bundle_table_item td.product-price .amount,
.woocommerce-cart tr.bundle_table_item td.product-subtotal,
.woocommerce-cart tr.bundle_table_item td.product-subtotal .amount,
.woocommerce-cart tr.bundled_table_item td.product-price,
.woocommerce-cart tr.bundled_table_item td.product-price .amount,
.woocommerce-cart tr.bundled_table_item td.product-subtotal,
.woocommerce-cart tr.bundled_table_item td.product-subtotal .amount,
.woocommerce-checkout tr.bundle_table_item td.product-price,
.woocommerce-checkout tr.bundle_table_item td.product-price .amount,
.woocommerce-checkout tr.bundle_table_item td.product-subtotal,
.woocommerce-checkout tr.bundle_table_item td.product-subtotal .amount,
.woocommerce-checkout tr.bundled_table_item td.product-price,
.woocommerce-checkout tr.bundled_table_item td.product-price .amount,
.woocommerce-checkout tr.bundled_table_item td.product-subtotal,
.woocommerce-checkout tr.bundled_table_item td.product-subtotal .amount {
  /* (audyt 2026-07-20, uwaga 4/26) KONTRAST. Bylo zloto #d4ba87 na kremowym tle = 1,82:1 przy
     wymaganych przez WCAG AA 4,5:1 (zmierzone). To sa najwazniejsze liczby w calym lejku - cena
     pozycji i suma - a na telefonie w sloncu praktycznie znikaly.
     Teraz #1a1407 = 17,7:1. Zloto ZOSTAJE na etykietach („Cena", „Suma") i akcentach, wiec
     charakter marki jest zachowany, a hierarchia nawet czytelniejsza: etykieta zlota, liczba ciemna.
     Rozwazane #8a6d2f (4,71:1, uzywane juz w projekcie) - odrzucone, bo przy kwotach chcemy zapas,
     nie ledwie zdany prog. */
  color: #1a1407 !important;
  font-size: 16px !important;
  font-weight: 500 !important;
}

.woocommerce-cart .shop_table.cart td,
.woocommerce-checkout-review-order-table td,
.woocommerce-cart tr.bundle_table_item td,
.woocommerce-cart tr.bundled_table_item td,
.woocommerce-checkout tr.bundle_table_item td,
.woocommerce-checkout tr.bundled_table_item td {
  vertical-align: middle !important;
  opacity: 1 !important;
  visibility: visible !important;
  border-bottom: none !important;
}
/* Wymuszamy collapse ĹĽeby border na thead/tbody dziaĹaĹ */
body.woocommerce-cart .shop_table.cart,
body.woocommerce-cart table.shop_table {
  border-collapse: collapse !important;
}
/* Linia pod nagĹĂłwkami (Produkt, Cena, Liczba, Suma) */
body.woocommerce-cart .shop_table.cart thead,
body.woocommerce-cart .shop_table.cart thead tr,
body.woocommerce-cart .shop_table.cart thead th,
body.woocommerce-cart .shop_table_responsive thead,
body.woocommerce-cart .shop_table_responsive thead tr,
body.woocommerce-cart .shop_table_responsive thead th {
  border-bottom: 1px solid #d9d9d9 !important;
}
/* Linia pod ostatnim produktem (przed tfoot/podsumowaniem) */
body.woocommerce-cart .shop_table.cart tbody tr:last-child,
body.woocommerce-cart .shop_table.cart tbody tr:last-child > td,
body.woocommerce-cart .shop_table.cart tbody tr:last-child > th,
body.woocommerce-cart .shop_table_responsive tbody tr:last-child,
body.woocommerce-cart .shop_table_responsive tbody tr:last-child > td,
body.woocommerce-cart .shop_table_responsive tbody tr:last-child > th {
  border-bottom: 0 !important;
}
/* Separator pod kazdym produktem w koszyku tylko na mobile. */
@media (max-width: 767px) {
  body.woocommerce-cart .shop_table.cart tbody tr.woocommerce-cart-form__cart-item.cart_item,
  body.woocommerce-cart .shop_table_responsive tbody tr.woocommerce-cart-form__cart-item.cart_item {
    box-shadow: inset 0 -1px 0 #d9d9d9 !important;
  }
  body.woocommerce-cart .shop_table.cart tbody tr.wd-cart-action-row,
  body.woocommerce-cart .shop_table_responsive tbody tr.wd-cart-action-row {
    box-shadow: none !important;
  }
}

/* (audyt 2026-07-11, user „Liczba magicznie zmienia sie w ilosc") mobile: etykieta ::before komorki qty/suma
   (WoodMart: content:attr(data-title)) po AJAX-update wracala do „Ilość"/„Kwota" — JS-owy override data-title mial
   wyscig. Wymuszamy TEKST CSS-em (bije attr(data-title), ID-spec) -> koniec migania, bez zaleznosci od JS. */
@media (max-width: 767px) {
  html body.woocommerce-cart .shop_table.cart td.product-quantity:not(#nw-z)::before,
  html body.woocommerce-cart .shop_table_responsive td.product-quantity:not(#nw-z)::before { content: "Liczba" !important; }
  html body.woocommerce-cart .shop_table.cart td.product-subtotal:not(#nw-z)::before,
  html body.woocommerce-cart .shop_table_responsive td.product-subtotal:not(#nw-z)::before { content: "Suma" !important; }
}

.woocommerce-cart .shop_table.cart td.product-thumbnail img,
.woocommerce-checkout-review-order-table .product-image img,
.woocommerce-cart tr.bundle_table_item td.product-thumbnail img,
.woocommerce-cart tr.bundled_table_item td.product-thumbnail img,
.woocommerce-checkout tr.bundle_table_item td.product-thumbnail img,
.woocommerce-checkout tr.bundled_table_item td.product-thumbnail img {
  width: 84px !important;
  max-width: 84px !important;
  height: auto !important;
  opacity: 1 !important;
  filter: none !important;
  background: #f6f6f6 !important;
}

.woocommerce-cart .shop_table.cart .product-name,
.woocommerce-cart tr.bundle_table_item td.product-name,
.woocommerce-cart tr.bundled_table_item td.product-name,
.woocommerce-checkout tr.bundle_table_item td.product-name,
.woocommerce-checkout tr.bundled_table_item td.product-name {
  padding-top: 22px !important;
  padding-bottom: 22px !important;
}

.woocommerce-cart .bundled_by,
.woocommerce-cart .bundled-by,
.woocommerce-cart .bundled_item_cart_data,
.woocommerce-cart .wc-item-meta,
.woocommerce-checkout .bundled_by,
.woocommerce-checkout .bundled-by,
.woocommerce-checkout .bundled_item_cart_data,
.woocommerce-checkout .wc-item-meta,
.woocommerce-cart .bundled_table_item td.product-name::before,
.woocommerce-cart .bundle_table_item td.product-name::before,
.woocommerce-checkout .bundled_table_item td.product-name::before,
.woocommerce-checkout .bundle_table_item td.product-name::before {
  display: none !important;
  content: none !important;
}

/* ---------------------------------------------------------
   SZCZEGÓŁ Y REZERWACJI  LAYOUT STRONY
   --------------------------------------------------------- */

body.page-id-29938 .main-page-wrapper,
body.page-id-29938 .site-content,
body.page-id-29938 .content-layout-wrapper {
  max-width: 100% !important;
}

body.page-id-29938 .site-content .sidebar-container,
body.page-id-29938 .site-content .widget-area,
body.page-id-29938 .site-content .sidebar-widget-area,
body.page-id-29938 .wd-sidebar,
body.page-id-29938 .content-sidebar,
body.page-id-29938 aside.sidebar-container {
  display: none !important;
}

body.page-id-29938 .content-layout-wrapper,
body.page-id-29938 .site-content,
body.page-id-29938 .row {
  display: block !important;
}

body.page-id-29938 .content-area,
body.page-id-29938 .site-content-area,
body.page-id-29938 .wd-content-area {
  width: 100% !important;
  max-width: 100% !important;
  flex: 0 0 100% !important;
}

body.page-id-29938 .site-content .has-sidebar,
body.page-id-29938 .content-with-sidebar,
body.page-id-29938 .wd-content-layout {
  --wd-sidebar-width: 0px !important;
  grid-template-columns: 1fr !important;
}

body.page-id-29938 .nw-reservation-step {
  max-width: var(--nw-content-max) !important;
  margin: 0 auto !important;
  padding-top: 28px !important;
  padding-bottom: 60px !important;
}

/* ---------------------------------------------------------
   SZCZEGÓŁ Y REZERWACJI  ALERTY
   --------------------------------------------------------- */

body.page-id-29938 .woocommerce-error,
body.page-id-29938 .woocommerce-message,
body.page-id-29938 .woocommerce-info {
  margin: 0 0 24px !important;
  padding: 18px 22px !important;
  color: #111 !important;
  background: #faf7f1 !important;
  border: 1px solid #ece6da !important;
}

body.page-id-29938 .woocommerce-error li {
  margin-bottom: 6px;
}

/* ---------------------------------------------------------
   SZCZEGÓŁ Y REZERWACJI  KOLUMNY I KARTY
   --------------------------------------------------------- */

body.page-id-29938 .nw-reservation-columns {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
  align-items: start !important;
  gap: 28px !important;
}

body.page-id-29938 .nw-reservation-col {
  display: flex !important;
  flex-direction: column !important;
  min-width: 0 !important;
  gap: 22px !important;
}

body.page-id-29938 .nw-reservation-card{
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  padding: 28px 32px !important;
  background: #fff !important;
  border: 1px solid #e5e5e5 !important;
  border-radius: 12px !important;
  box-shadow: none !important;
  box-sizing: border-box !important;
}

body.page-id-29938 .nw-reservation-card h2,
body.page-id-29938 .nw-reservation-card h3,
body.page-id-29938 #nw-mounting-fields > h3 {
  margin: 0 0 18px !important;
  padding-bottom: 14px !important;
  color: #111 !important;
  font-family: 'Poppins', 'Helvetica Neue', Arial, sans-serif !important; /* (2026-07-06, user „nadal zle fonty") wymuszony Poppins (kanon naglowkow); var(--wd-title-font) dawal krój niezgodny z reszta */
  font-size: 24px !important;
  line-height: 1.15 !important;
  font-weight: 600 !important;
  border-bottom: 1px solid #ececec !important;
}

/* ---------------------------------------------------------
   SZCZEGÓŁ Y REZERWACJI  POLA FORMULARZA
   --------------------------------------------------------- */

body.page-id-29938 .nw-reservation-form .form-row,
body.page-id-29938 .nw-reservation-form .form-row-wide,
body.page-id-29938 .nw-reservation-form .form-row-first,
body.page-id-29938 .nw-reservation-form .form-row-last,
body.page-id-29938 #nw-mounting-fields > p.form-row,
body.page-id-29938 #nw-can-anchor-wrap {
  float: none !important;
  clear: both !important;
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 0 16px !important;
  box-sizing: border-box !important;
}

body.page-id-29938 .nw-reservation-form label,
body.page-id-29938 #nw-mounting-fields label {
  display: block !important;
  margin-bottom: 8px !important;
  color: #2d2d2d !important;
  font-size: 14px !important;
  line-height: 1.45 !important;
  font-weight: 500 !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
}

body.page-id-29938 .nw-reservation-form .woocommerce-input-wrapper,
body.page-id-29938 .nw-reservation-form .select2,
body.page-id-29938 .nw-reservation-form .select2-container,
body.page-id-29938 .nw-reservation-form .form-row > span,
body.page-id-29938 .nw-reservation-form .form-row > p,
body.page-id-29938 #nw-mounting-fields .woocommerce-input-wrapper,
body.page-id-29938 #nw-mounting-fields .select2,
body.page-id-29938 #nw-mounting-fields .select2-container {
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
}

body.page-id-29938 .nw-reservation-form input[type="text"],
body.page-id-29938 .nw-reservation-form input[type="email"],
body.page-id-29938 .nw-reservation-form input[type="tel"],
body.page-id-29938 .nw-reservation-form input[type="date"],
body.page-id-29938 .nw-reservation-form input[type="time"],
body.page-id-29938 .nw-reservation-form textarea,
body.page-id-29938 .nw-reservation-form select,
body.page-id-29938 .nw-reservation-form .select2-selection,
body.page-id-29938 #nw-mounting-fields input[type="text"],
body.page-id-29938 #nw-mounting-fields input[type="email"],
body.page-id-29938 #nw-mounting-fields input[type="tel"],
body.page-id-29938 #nw-mounting-fields input[type="date"],
body.page-id-29938 #nw-mounting-fields input[type="time"],
body.page-id-29938 #nw-mounting-fields textarea,
body.page-id-29938 #nw-mounting-fields select,
body.page-id-29938 #nw-mounting-fields .select2-selection {
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  min-height: 52px !important;
  padding: 12px 16px !important;
  color: #111 !important;
  font-size: 16px !important;
  background: #fff !important;
  border: 1px solid #dcdcdc !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  box-sizing: border-box !important;
}

body.page-id-29938 .nw-reservation-form textarea,
body.page-id-29938 #nw-mounting-fields textarea {
  min-height: 130px !important;
  resize: vertical !important;
}

body.page-id-29938 .nw-reservation-form input:focus,
body.page-id-29938 .nw-reservation-form select:focus,
body.page-id-29938 .nw-reservation-form textarea:focus,
body.page-id-29938 .nw-reservation-form .select2-selection:focus,
body.page-id-29938 #nw-mounting-fields input:focus,
body.page-id-29938 #nw-mounting-fields select:focus,
body.page-id-29938 #nw-mounting-fields textarea:focus,
body.page-id-29938 #nw-mounting-fields .select2-selection:focus {
  border-color: var(--nw-beige) !important;
  outline: none !important;
}

/* select */
body.page-id-29938 .nw-reservation-form select {
  appearance: none !important;
  -webkit-appearance: none !important;
  -moz-appearance: none !important;
  padding: 12px 44px 12px 16px !important;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 20 20' fill='none'%3E%3Cpath d='M5 7.5L10 12.5L15 7.5' stroke='%23D4BA87' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") !important;
  background-repeat: no-repeat !important;
  background-position: right 14px center !important;
  background-size: 16px 16px !important;
}

body.page-id-29938 .nw-reservation-form select:required:invalid,
body.page-id-29938 .nw-reservation-form option[value=""] {
  color: #767676 !important;
}

body.page-id-29938 .nw-reservation-form select option {
  color: #111 !important;
}

/* date */
body.page-id-29938 .nw-reservation-form input[type="date"] {
  position: relative !important;
  width: 100% !important;
  min-height: 60px !important;
  padding-right: 54px !important;
  cursor: pointer !important;
  background-color: #fff !important;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23D4BA87' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='4' width='18' height='18' rx='2' ry='2'/%3E%3Cline x1='16' y1='2' x2='16' y2='6'/%3E%3Cline x1='8' y1='2' x2='8' y2='6'/%3E%3Cline x1='3' y1='10' x2='21' y2='10'/%3E%3C/svg%3E") !important;
  background-repeat: no-repeat !important;
  background-position: right 16px center !important;
  background-size: 18px 18px !important;
}

body.page-id-29938 .nw-reservation-form input[type="date"]::-webkit-calendar-picker-indicator {
  width: 54px !important;
  height: 100% !important;
  opacity: 0 !important;
  cursor: pointer !important;
}

/* ---------------------------------------------------------
   SZCZEGÓŁ Y REZERWACJI  DROBNE ELEMENTY
   --------------------------------------------------------- */

body.page-id-29938 .nw-reservation-inline-note {
  color: #9a5d2f !important;
  font-size: 15px !important;
  line-height: 1.7 !important;
}

body.page-id-29938 .nw-period-grid {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  align-items: start !important;
  gap: 20px !important;
}

body.page-id-29938 .nw-field-note {
  display: block !important;
  margin-top: 8px !important;
  color: #8b6b2e !important;
  font-size: 13px !important;
  line-height: 1.55 !important;
}

body.page-id-29938 .nw-range-input {
  width: 100% !important;
  margin: 8px 0 0 !important;
  accent-color: var(--nw-beige) !important;
}

body.page-id-29938 .nw-range-value {
  display: block !important;
  margin-top: 8px !important;
  color: #111 !important;
  font-size: 14px !important;
  line-height: 1.45 !important;
}

body.page-id-29938 .nw-range-value strong {
  color: #111 !important;
}

body.page-id-29938 #nw-pickup-warning {
  padding: 18px 20px !important;
  color: #8b5a2b !important;
  font-size: 15px !important;
  line-height: 1.7 !important;
  background: #fff8f1 !important;
  border: 1px solid #eed7b8 !important;
}

body.page-id-29938 .nw-period-grid .form-row label,
body.page-id-29938 .nw-period-grid .form-row-first label,
body.page-id-29938 .nw-period-grid .form-row-last label,
body.page-id-29938 .nw-period-grid .form-row-wide label {
  display: flex !important;
  align-items: flex-end !important;
  min-height: 3.4em !important;
}

/* (2026-07-07, user „brak gwiazdki") OBSOLETE i szkodliwe: chowalo gwiazdke na ostatnim polu mounting,
   ale ostatni <div class="form-row"> to teraz WYMAGANY blok „Jak ekipa dotrze" (#nw-access-block) -> gwiazdka znikala.
   Regula wylaczona (carry-distance = ostatni <p> nie ma .required). */

body.page-id-29938 #nw-mounting-fields > p.form-row:last-of-type label,
body.page-id-29938 #nw-mounting-fields > .form-row:last-of-type label {
  color: #2d2d2d !important;
}

/* ---------------------------------------------------------
   SZCZEGÓŁ Y REZERWACJI  B  DY WYMAGANYCH PÓL
   --------------------------------------------------------- */

body.page-id-29938 .nw-form-errors {
  margin: 0 0 24px !important;
  padding: 18px 22px !important;
  color: #8b5a2b !important;
  font-size: 15px !important;
  line-height: 1.7 !important;
  background: #fff8f1 !important;
  border: 1px solid #e7b56a !important;
}

body.page-id-29938 .nw-form-errors strong {
  display: block !important;
  margin-bottom: 8px !important;
  color: #8b5a2b !important;
}

body.page-id-29938 .nw-form-errors ul {
  margin: 0 !important;
  padding-left: 18px !important;
}

body.page-id-29938 .nw-form-errors li {
  margin: 0 0 4px !important;
}









/* ---------------------------------------------------------
   SZCZEGÓŁ Y REZERWACJI  CHOICES / RADIO / CHECKBOX
   --------------------------------------------------------- */

/* ---------------------------------------------------------
   SZCZEGÓŁ Y REZERWACJI  CHECKBOX KONTAKTU TELEFONICZNEGO
   --------------------------------------------------------- */

body.page-id-29938 .nw-reservation-actions { display: flex !important;flex-direction: column !important; }

body.page-id-29938 .nw-reservation-actions > label:has(input[name="request_phone_contact"]) { position: relative !important;transition: border-color 0.2s ease, background-color 0.2s ease !important; }

body.page-id-29938 .nw-reservation-actions > label:has(input[name="request_phone_contact"])::before { position: absolute !important;left: 18px !important;top: 8px !important;color: var(--nw-beige) !important;font-size: 11px !important;line-height: 1 !important;font-weight: 600 !important;letter-spacing: 0.08em !important;text-transform: uppercase !important; }



body.page-id-29938 .nw-reservation-actions > label:has(input[name="request_phone_contact"]):hover {
  border-color: var(--nw-beige) !important;
  background: #fffdfa !important;
}

body.page-id-29938 .nw-reservation-actions input[name="request_phone_contact"] { transition: border-color 0.2s ease, background-color 0.2s ease !important; }

body.page-id-29938 .nw-reservation-actions input[name="request_phone_contact"]:checked {
  background: var(--nw-black) !important;
  border-color: var(--nw-black) !important;
}



body.page-id-29938 .nw-reservation-actions input[name="request_phone_contact"]:focus {
  outline: none !important;
  box-shadow: 0 0 0 3px rgba(212, 186, 135, 0.18) !important;
}

body.page-id-29938 .nw-reservation-actions > .button,
body.page-id-29938 .nw-reservation-actions > button,
body.page-id-29938 .nw-reservation-actions > a.button {
  margin-top: 2px !important;
}

/* =========================================================
   17. FINALIZACJA  ZGODY, 2 PRZYCISKI, THANK YOU
   ========================================================= */

/* ---------------------------------------------------------
   BOX KOŃ COWY W CHECKOUT
   --------------------------------------------------------- */

.woocommerce-checkout .nw-final-box {
  margin: 24px 0 18px !important;
  padding: 24px !important;
  background: #fff !important;
  border: 1px solid #e5e5e5 !important;
  box-shadow: none !important;
  border-radius: 12px !important; /* (audyt 2026-06-26) radius zyl TYLKO w snippecie 06 (inline) — gdy 06 niewdrozony box byl ostry. Tu (CSS, zawsze wdrozony) = niezaleznie od 06. */
  overflow: hidden !important;
}

/* (audyt 2026-06-26) Box „W sezonie wolne terminy…" — radius takze w CSS (byl tylko w 06). User: „nadal nie zaokraglona ramka". */
.woocommerce-checkout .nw-final-urgency {
  border-radius: 12px !important;
}

.woocommerce-checkout .nw-final-box h3 {
  margin: 0 0 18px !important;
  padding-bottom: 14px !important;
  color: #111 !important;
  font-size: 24px !important;
  line-height: 1.2 !important;
  font-weight: 600 !important;
  border-bottom: 1px solid #ececec !important;
}

.woocommerce-checkout .nw-final-box .form-row {
  margin: 0 0 16px !important;
  padding: 0 !important;
}

/* ---------------------------------------------------------
   ZGODY / CHECKBOXY
   --------------------------------------------------------- */

.woocommerce-checkout .nw-final-box label.checkbox,
.woocommerce-checkout .nw-final-box .woocommerce-form__label.checkbox {
  display: flex !important;
  align-items: flex-start !important;
  gap: 12px !important;
  color: #222 !important;
  font-size: 14px !important;
  line-height: 1.75 !important;
  font-weight: 400 !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
}

.woocommerce-checkout .nw-final-box input[type="checkbox"] {
  margin: 3px 0 0 !important;
  flex: 0 0 auto !important;
  accent-color: var(--nw-beige) !important;
}

.woocommerce-checkout .nw-final-box a {
  color: #8b6b2e !important;
  font-weight: 600 !important;
  text-decoration: underline !important;
}

.woocommerce-checkout .nw-final-box a:hover {
  color: #111 !important;
}

/* ---------------------------------------------------------
   WALIDACJA ZGÓD
   --------------------------------------------------------- */

.woocommerce-checkout .nw-final-box .validate-required.woocommerce-invalid {
  padding: 14px !important;
  background: #fff5f5 !important;
  border: 1px solid #d92d20 !important;
}

.woocommerce-checkout .nw-final-box .validate-required.woocommerce-invalid label {
  color: #b42318 !important;
}

.woocommerce-checkout .nw-final-box .validate-required.woocommerce-validated {
  background: transparent !important;
  border-color: transparent !important;
}

/* ---------------------------------------------------------
   KOMUNIKAT PILNOŚ CI
   --------------------------------------------------------- */

.woocommerce-checkout .nw-final-urgency {
  margin-top: 14px !important;
  padding: 14px 16px !important;
  background: #fff8f1 !important;
  border: 1px solid #eed7b8 !important;
  color: #8b5a2b !important;
  font-size: 14px !important;
  line-height: 1.6 !important;
}

/* ---------------------------------------------------------
   AKCJE ZAMÓWIENIA
   --------------------------------------------------------- */



/* gł ówny przycisk */
.woocommerce-checkout .nw-main-submit { border-radius: 8px !important; }



/* opis pod przyciskiem */


/* drugi przycisk — kanon 6px (bylo 0) */
.woocommerce-checkout .nw-secondary-submit { border-radius: 8px !important; }



/* ukrycie domyś lnego place_order */
.woocommerce-checkout #payment #place_order {
  display: none !important;
}

/* ---------------------------------------------------------
   THANK YOU PAGE
   --------------------------------------------------------- */

.woocommerce-order-received .nw-thankyou-box {
  max-width: 900px !important;
  margin: 0 auto 28px !important;
  padding: 32px !important;
  background: #faf9f6 !important; /* (audyt 2026-06-24) lekko cieple tlo — zeby biale karty-sekcje wewnatrz sie wyroznialy */
  border: 1px solid rgba(212, 186, 135, 0.30) !important; /* (audyt 2026-06-24) zlota ramka jak reszta strony (bylo szare #e5e5e5) */
  border-radius: 12px !important; /* (audyt 2026-06-24) zaokraglone jak karty na stronie (bylo 0/ostre) */
  box-shadow: 0 18px 40px rgba(0, 0, 0, 0.04) !important;
}
/* (audyt 2026-06-24) PODZIAL info: kazda sekcja boxa = osobna BIALA karta (zlota ramka, zaokraglona, cien) —
   wczesniej wszystkie kremowe zlewaly sie w jedna sciane. Teraz wyraznie podzielone (Zadatek+przelew / Dane zgloszenia / Kalkulacja / Zmiany). */
.woocommerce-order-received .nw-thankyou-box > div {
  background: #fff !important;
  border: 1px solid rgba(212, 186, 135, 0.28) !important;
  border-radius: 12px !important;
  margin: 16px 0 0 !important;
  padding: 22px 24px !important;
  box-shadow: 0 6px 18px rgba(0, 0, 0, 0.03) !important;
}
/* naglowek sekcji (pierwsze <p><strong> w karcie) — wyrazny, z zlota linia pod spodem */
.woocommerce-order-received .nw-thankyou-box > div > p:first-child {
  margin: 0 0 14px !important;
  padding-bottom: 12px !important;
  border-bottom: 1px solid rgba(212, 186, 135, 0.30) !important;
}
.woocommerce-order-received .nw-thankyou-box > div > p:first-child > strong:only-child {
  font-family: Poppins, "Helvetica Neue", Arial, sans-serif !important;
  font-size: 15px !important;
  font-weight: 600 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.04em !important;
  color: #111 !important;
}
/* (audyt 2026-06-24) Rozwijane szczegoly kosztow (<details>) — czysty „summary" ze strzalka, jak disclosure w koszyku */
.woocommerce-order-received .nw-ty-costs > summary {
  list-style: none !important;
  cursor: pointer !important;
  color: #8a6d2f !important;
  font-weight: 600 !important;
  user-select: none !important;
}
.woocommerce-order-received .nw-ty-costs > summary::-webkit-details-marker { display: none !important; }
.woocommerce-order-received .nw-ty-costs > summary::before { content: "\25B8  "; }
.woocommerce-order-received .nw-ty-costs[open] > summary::before { content: "\25BE  "; }

.woocommerce-order-received .nw-thankyou-box h2 {
  margin: 0 0 14px !important;
  color: #111 !important;
  font-size: 34px !important;
  line-height: 1.12 !important;
}

.woocommerce-order-received .nw-thankyou-box p {
  margin: 0 0 12px !important;
  color: #4d4d4d !important;
  font-size: 16px !important;
  line-height: 1.75 !important;
}

.woocommerce-order-received .nw-thankyou-box strong {
  color: #111 !important;
}

/* =========================================================
   18. RESPONSIVE + MOBILE FIXES
   ========================================================= */

@media (max-width: 1260px) {
  .nw-gallery-main-link {
    max-width: 980px !important;
  }

  .nw-gallery-arrow.is-prev {
    left: -24px;
  }

  .nw-gallery-arrow.is-next {
    right: -24px;
  }
}

@media (max-width: 1180px) {
  .nw-gallery-tabs {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }

  .nw-gallery-tab {
    min-height: 56px !important;
  }
}

@media (max-width: 1024px) {
  /* ---------------------------------------------------------
     usuń  pasek menu / categories na mobilce
     --------------------------------------------------------- */
  .wd-nav.wd-nav-mob-tab.wd-style-underline,
  .wd-nav-mob-tab,
  .mobile-tab-title,
  .mobile-pages-title,
  .mobile-categories-title {
    display: none !important;
  }

  /* ---------------------------------------------------------
     MOBILE HEADER / STICKY  finalny ukł ad
     --------------------------------------------------------- */
  .whb-general-header,
  .whb-sticked .whb-general-header,
  .whb-clone .whb-general-header,
  .whb-general-header .whb-row,
  .whb-sticked .whb-row,
  .whb-clone .whb-row,
  .whb-general-header .container,
  .whb-sticked .container,
  .whb-clone .container,
  .whb-mobile-left,
  .whb-mobile-center,
  .whb-mobile-right {
    background: #000 !important;
    border-color: rgba(255, 255, 255, 0.08) !important;
  }

  .whb-hidden-lg .whb-flex-row,
  .whb-general-header .whb-flex-row,
  .whb-sticked .whb-flex-row,
  .whb-clone .whb-flex-row {
    display: grid !important;
    grid-template-columns: minmax(88px, auto) 1fr minmax(56px, auto) !important;
    align-items: center !important;
    column-gap: 10px !important;
    min-height: 86px !important;
  }

  .whb-mobile-left,
  .whb-mobile-center,
  .whb-mobile-right {
    min-width: 0 !important;
    width: 100% !important;
  }

  .whb-mobile-left {
    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
  }

  .whb-mobile-center {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    text-align: center !important;
  }

  /* Logo mobile — trochę większe, bez rozmycia */
  .whb-mobile-center .site-logo img,
  .whb-column_mobile3 .site-logo img,
  .whb-mobile-center .wd-main-logo img {
    max-width: 230px !important;
    width: 230px !important;
    height: auto !important;
    image-rendering: -webkit-optimize-contrast;
    image-rendering: crisp-edges;
  }

  .whb-mobile-right {
    display: flex !important;
    align-items: center !important;
    justify-content: flex-end !important;
  }


  .whb-mobile-left .wd-tools-element,
  .whb-mobile-right .wd-tools-element,
  .whb-mobile-left .wd-header-mobile-nav {
    margin: 0 !important;
  }
  /* (2026-07-06, user) koszyk lekko w lewo od krawedzi na mobile (wczesniej margin:0 !important zerowalo kazde przesuniecie) */
  .whb-mobile-right .wd-header-cart {
    margin: 0 12px 0 0 !important;
  }

  .whb-hidden-lg .wd-tools-element > a,
  .whb-hidden-lg .wd-header-cart a,
  .whb-hidden-lg .wd-header-mobile-nav a,
  .whb-hidden-lg .wd-tools-text,
  .whb-hidden-lg .wd-cart-subtotal {
    color: var(--nw-beige) !important;
  }

  .whb-hidden-lg .wd-header-cart a {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: flex-end !important;
    gap: 10px !important;
    min-width: 0 !important;
  }

  .whb-hidden-lg .wd-header-cart .wd-tools-icon {
    flex: 0 0 auto !important;
  }

  .whb-hidden-lg .wd-header-cart .wd-tools-text {
    display: inline-flex !important;
    align-items: center !important;
    min-width: 0 !important;
  }

  .whb-hidden-lg .wd-header-cart .wd-cart-subtotal {
    display: inline-block !important;
    font-size: clamp(14px, 4.6vw, 18px) !important;
    line-height: 1.1 !important;
    white-space: nowrap !important;
  }

  .whb-hidden-lg .wd-tools-element svg,
  .whb-hidden-lg .wd-header-cart svg,
  .whb-hidden-lg .wd-header-mobile-nav svg {
    color: var(--nw-beige) !important;
    fill: var(--nw-beige) !important;
  }

  .whb-hidden-lg .wd-tools-count,
  .whb-hidden-lg .wd-cart-number {
    background: var(--nw-beige) !important;
    color: #000 !important;
    border-color: var(--nw-beige) !important;
  }

  .whb-mobile-left .wd-tools-text {
    font-size: 0 !important;
  }

  .whb-mobile-left .wd-tools-text::after {
    content: "Menu" !important;
    font-size: 14px !important;
    line-height: 1 !important;
    color: var(--nw-beige) !important;
    text-transform: uppercase !important;
    letter-spacing: 0.02em !important;
  }

  .wd-nav-mobile li > a,
  .wd-nav-mobile li > a .nav-link-text,
  .mobile-nav .wd-nav-mobile li > a,
  .mobile-nav .wd-nav-mobile li > a .nav-link-text {
    color: #111 !important;
  }

  .wd-nav-mobile li.current-menu-item > a,
  .wd-nav-mobile li.current_page_item > a,
  .wd-nav-mobile li > a:hover,
  .wd-nav-mobile li > a:hover .nav-link-text,
  .wd-nav-mobile li.current-menu-item > a .nav-link-text,
  .wd-nav-mobile li.current_page_item > a .nav-link-text,
  .mobile-nav .wd-nav-mobile li.current-menu-item > a,
  .mobile-nav .wd-nav-mobile li.current_page_item > a,
  .mobile-nav .wd-nav-mobile li > a:hover {
    color: var(--nw-beige) !important;
  }

  .wd-nav-mobile li.current-menu-item > a::before,
  .wd-nav-mobile li.current_page_item > a::before,
  .wd-nav-mobile li > a:hover::before,
  .wd-nav-mobile li.current-menu-item > a::after,
  .wd-nav-mobile li.current_page_item > a::after,
  .wd-nav-mobile li > a:hover::after {
    background-color: var(--nw-beige) !important;
    border-color: var(--nw-beige) !important;
  }

  /* ---------------------------------------------------------
     HOME HERO
     --------------------------------------------------------- */
  body.home .elementor-element.elementor-element-f317353 .hero-tekst-namioty {
    width: calc(100vw - 32px) !important;
    padding-left: 16px !important;
    padding-right: 16px !important;
    gap: 14px !important;
  }

  body.home .elementor-element.elementor-element-f317353 .hero-tekst-namioty h1,
  body.home .elementor-element.elementor-element-f317353 .hero-tekst-namioty .elementor-heading-title {
    font-size: 42px !important;
  }

  body.home .elementor-element.elementor-element-f317353 .hero-tekst-namioty p {
    max-width: 420px !important;
    font-size: 15px !important;
  }

  /* ---------------------------------------------------------
     SINGLE PRODUCT  bundle + tabs + dostawa
     --------------------------------------------------------- */
  .single-product form.bundle_form.layout_default.group_mode_parent,
  .single-product form.bundle_form.bundle_form {
    grid-template-columns: 1fr !important;
  }

  .single-product form.bundle_form > .bundled_product,
  .single-product form.bundle_form > div[class*="bundled_item_"].bundled_product {
    min-height: auto !important;
  }

  .single-product #tab-shipping-and-delivery .e-con-inner {
    grid-template-columns: 1fr !important;
    gap: 20px !important;
  }

  .single-product #tab-shipping-and-delivery .wd-images-gallery,
  .single-product #tab-shipping-and-delivery .wd-gallery,
  .single-product #tab-shipping-and-delivery .elementor-widget-image,
  .single-product #tab-shipping-and-delivery .elementor-widget-gallery {
    max-width: 100% !important;
  }

  /* ---------------------------------------------------------
     POPUP
     --------------------------------------------------------- */
  #nw-popup-v3 .nw-popup-v3__box {
    width: calc(100vw - 20px) !important;
    max-width: calc(100vw - 20px) !important;
    margin: 10px auto 0 !important;
  }
  #nw-popup-v3 .nw-popup-v3__header {
    padding: 18px 18px 16px !important;
  }
  #nw-popup-v3 .nw-popup-v3__body {
    padding: 14px 14px 0 !important;
  }
  #nw-popup-v3 .nw-popup-v3__grid {
    grid-template-columns: 1fr !important;
    gap: 14px !important;
  }
  #nw-popup-v3 .nw-popup-v3__card {
    grid-template-columns: 78px minmax(0, 1fr) !important;
    gap: 12px !important;
    min-height: 0 !important;
    padding: 14px !important;
  }
  #nw-popup-v3 .nw-popup-v3__thumb {
    width: 78px !important;
    height: 78px !important;
  }
  #nw-popup-v3 .nw-popup-v3__content strong {
    font-size: 15px !important;
    line-height: 1.2 !important;
  }
  #nw-popup-v3 .nw-popup-v3__content p {
    min-height: 0 !important;
    font-size: 12px !important;
    line-height: 1.45 !important;
  }
  #nw-popup-v3 .nw-popup-v3__buy-wrap {
    grid-template-columns: 1fr !important;
    gap: 10px !important;
  }
  #nw-popup-v3 .nw-popup-v3__qty {
    width: 100% !important;
    min-width: 0 !important;
    grid-template-columns: 44px minmax(0, 1fr) 44px !important;
    height: 44px !important;
  }
  #nw-popup-v3 .nw-popup-v3__qty-btn,
  #nw-popup-v3 .nw-popup-v3__qty-input {
    height: 42px !important;
    min-height: 42px !important;
    font-size: 18px !important;
  }
  #nw-popup-v3 .nw-popup-v3__buy-wrap .add_to_cart_button,
  #nw-popup-v3 .nw-popup-v3__buy-wrap .button {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    min-width: 0 !important;
    min-height: 46px !important;
    height: auto !important;
    padding: 10px 14px !important;
    font-size: 13px !important;
    line-height: 1.2 !important;
    white-space: normal !important;
    word-break: break-word !important;
    text-align: center !important;
  }
  #nw-popup-v3 .nw-popup-v3__footer {
    flex-direction: column !important;
    padding: 14px !important;
  }
  #nw-popup-v3 .nw-popup-v3__footer .button {
    width: 100% !important;
    min-width: 0 !important;
  }

  /* ---------------------------------------------------------
     BUTTONY NA LISTINGU / KARTACH
     --------------------------------------------------------- */
  .products .product .button,
  .products .product .add_to_cart_button,
  .products .product .single_add_to_cart_button,
  .products .product .bundle_add_to_cart_button,
  .product-grid-item .button,
  .product-grid-item .add_to_cart_button,
  .product-grid-item .single_add_to_cart_button,
  .product-grid-item .bundle_add_to_cart_button,
  .wd-add-btn a,
  .wd-add-btn .button {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    min-width: 0 !important;
    min-height: 44px !important;
    height: auto !important;
    padding: 10px 12px !important;
    font-size: 12px !important;
    line-height: 1.2 !important;
    letter-spacing: 0 !important;
    text-transform: none !important;
    white-space: normal !important;
    word-break: break-word !important;
    text-align: center !important;
  }

  .product-grid-item .wd-buttons,
  .product-grid-item .wd-add-btn,
  .products .product .wd-buttons,
  .products .product .wd-add-btn {
    width: 100% !important;
  }

  /* ---------------------------------------------------------
     BANNERY WEWNĘ TRZNE
     --------------------------------------------------------- */
  body.woocommerce-account .page-title h1,
  body.woocommerce-account .wd-page-title h1 {
    font-size: 42px !important;
  }

  body:is(.page-id-51, .page-id-31488, .woocommerce-cart, .page-id-29938, .woocommerce-checkout, .woocommerce-account) .page-title .container,
  body:is(.page-id-51, .page-id-31488, .woocommerce-cart, .page-id-29938, .woocommerce-checkout, .woocommerce-account) .wd-page-title .container,
  body:is(.page-id-51, .page-id-31488, .woocommerce-cart, .page-id-29938, .woocommerce-checkout, .woocommerce-account) .page-title .title-wrapper,
  body:is(.page-id-51, .page-id-31488, .woocommerce-cart, .page-id-29938, .woocommerce-checkout, .woocommerce-account) .wd-page-title .title-wrapper {
    justify-content: center !important;
    text-align: center !important;
    padding-left: 16px !important;
    padding-right: 16px !important;
  }

  body:is(.page-id-51, .page-id-31488, .woocommerce-cart, .page-id-29938, .woocommerce-checkout, .woocommerce-account) .page-title::after,
  body:is(.page-id-51, .page-id-31488, .woocommerce-cart, .page-id-29938, .woocommerce-checkout, .woocommerce-account) .wd-page-title::after {
    left: 50% !important;
    right: auto !important;
    transform: translate(-50%, -50%) !important;
    text-align: center !important;
  }

  body.page-id-29938 .page-title,
  body.page-id-29938 .wd-page-title {
    height: 220px !important;
    min-height: 220px !important;
  }

  body.page-id-29938 .page-title::after,
  body.page-id-29938 .wd-page-title::after {
    width: calc(100vw - 36px) !important;
    max-width: calc(100vw - 36px) !important;
    font-size: clamp(34px, 10vw, 52px) !important;
    line-height: 0.98 !important;
    white-space: normal !important;
    word-break: normal !important;
    overflow-wrap: break-word !important;
    text-align: center !important;
  }

  /* ---------------------------------------------------------
     CHECKOUT
     --------------------------------------------------------- */
  .woocommerce-checkout #customer_details,
  .woocommerce-checkout #order_review_heading,
  .woocommerce-checkout #order_review {
    float: none !important;
    width: 100% !important;
    clear: both !important;
  }

  .woocommerce-checkout #order_review_heading {
    margin: 20px 0 14px !important;
  }

  .woocommerce-checkout #order_review_heading::after {
    font-size: 24px !important;
    line-height: 1.15 !important;
  }
  .woocommerce-checkout #payment,
  .woocommerce-checkout .shop_table {
    width: 100% !important;
    max-width: 100% !important;
    overflow: hidden !important;
    box-sizing: border-box !important;
  }

  .woocommerce-checkout .shop_table th,
  .woocommerce-checkout .shop_table td {
    padding: 12px 10px !important;
    font-size: 14px !important;
    line-height: 1.45 !important;
    word-break: break-word !important;
  }

  .woocommerce-checkout .shop_table .product-name,
  .woocommerce-checkout .shop_table .product-total,
  .woocommerce-checkout-review-order-table .product-name,
  .woocommerce-checkout-review-order-table .product-total {
    width: auto !important;
  }

  .woocommerce-checkout-review-order-table td.product-name,
  .woocommerce-checkout-review-order-table th.product-name {
    padding-right: 8px !important;
  }

  .woocommerce-checkout-review-order-table td.product-total,
  .woocommerce-checkout-review-order-table th.product-total {
    text-align: right !important;
    white-space: normal !important;
  }

  .woocommerce-checkout .shop_table .amount,
  .woocommerce-checkout-review-order-table .amount,
  .woocommerce-cart .shop_table .amount {
    font-size: 14px !important;
    line-height: 1.35 !important;
    white-space: nowrap !important;
  }

  /* ---------------------------------------------------------
     SZCZEGÓŁ Y REZERWACJI
     --------------------------------------------------------- */
  body.page-id-29938 .nw-reservation-step,
  body.page-id-29938 .site-content .container,
  body.page-id-29938 .main-page-wrapper .container,
  .woocommerce-checkout .woocommerce {
    padding-left: 14px !important;
    padding-right: 14px !important;
  }

  body.page-id-29938 .nw-reservation-step {
    padding-bottom: calc(130px + env(safe-area-inset-bottom)) !important;
  }

  body.page-id-29938 .nw-reservation-columns {
    grid-template-columns: 1fr !important;
    gap: 18px !important;
  }

  body.page-id-29938 .nw-reservation-card,
  body.page-id-29938 .nw-reservation-inline-note {
    width: 100% !important;
    max-width: 100% !important;
    overflow: hidden !important;
    box-sizing: border-box !important;
    padding: 18px 14px !important;
  }

  body.page-id-29938 .nw-reservation-card h2,
  body.page-id-29938 .nw-reservation-card h3,
  body.page-id-29938 #nw-mounting-fields > h3 {
    font-size: 21px !important;
    line-height: 1.15 !important;
    margin-bottom: 14px !important;
    padding-bottom: 12px !important;
  }

  body.page-id-29938 .nw-period-grid {
    grid-template-columns: 1fr !important;
    gap: 16px !important;
  }

  body.page-id-29938 .nw-period-grid .form-row label,
  body.page-id-29938 .nw-period-grid .form-row-first label,
  body.page-id-29938 .nw-period-grid .form-row-last label,
  body.page-id-29938 .nw-period-grid .form-row-wide label {
    display: block !important;
    min-height: auto !important;
  }

  body.page-id-29938 .nw-reservation-form input[type="text"],
  body.page-id-29938 .nw-reservation-form input[type="email"],
  body.page-id-29938 .nw-reservation-form input[type="tel"],
  body.page-id-29938 .nw-reservation-form input[type="date"],
  body.page-id-29938 .nw-reservation-form input[type="time"],
  body.page-id-29938 .nw-reservation-form textarea,
  body.page-id-29938 .nw-reservation-form select,
  body.page-id-29938 .nw-reservation-form .select2-selection,
  body.page-id-29938 #nw-mounting-fields input[type="text"],
  body.page-id-29938 #nw-mounting-fields input[type="email"],
  body.page-id-29938 #nw-mounting-fields input[type="tel"],
  body.page-id-29938 #nw-mounting-fields input[type="date"],
  body.page-id-29938 #nw-mounting-fields input[type="time"],
  body.page-id-29938 #nw-mounting-fields textarea,
  body.page-id-29938 #nw-mounting-fields select,
  body.page-id-29938 #nw-mounting-fields .select2-selection {
    min-height: 50px !important;
    padding: 10px 14px !important;
    font-size: 15px !important;
  }

  body.page-id-29938 .nw-reservation-bottom,
  body.page-id-29938 .nw-reservation-actions,
  body.page-id-29938 .nw-reservation-actions button.button,
  body.page-id-29938 .nw-reservation-actions .button {
    position: relative !important;
    z-index: 5 !important;
    pointer-events: auto !important;
    touch-action: manipulation !important;
  }

  body.page-id-29938 .nw-reservation-actions button.button,
  body.page-id-29938 .nw-reservation-actions .button {
    min-height: 58px !important;
    -webkit-appearance: none !important;
    appearance: none !important;
  }

  body.page-id-29938 .nw-reservation-bottom .button,
  body.page-id-29938 .nw-reservation-bottom button,
  body.page-id-29938 .nw-reservation-bottom a.button,
  body.page-id-29938 .nw-reservation-actions .button,
  body.page-id-29938 .nw-reservation-actions button,
  body.page-id-29938 .nw-reservation-actions a.button,
  .woocommerce-checkout .nw-main-submit,
  .woocommerce-checkout .nw-secondary-submit {
    width: 100% !important;
    min-width: 0 !important;
    min-height: 50px !important;
    height: auto !important;
    padding: 12px 14px !important;
    font-size: 13px !important;
    line-height: 1.2 !important;
    white-space: normal !important;
    word-break: break-word !important;
    text-align: center !important;
  }

  /* ---------------------------------------------------------
     FINALIZACJA / THANK YOU
     --------------------------------------------------------- */
  .woocommerce-checkout .nw-final-box {
    padding: 20px !important;
  }

  .woocommerce-order-received .nw-thankyou-box {
    padding: 22px !important;
  }

  .woocommerce-order-received .nw-thankyou-box h2 {
    font-size: 28px !important;
  }
}

@media (max-width: 767px) {
  /* ---------------------------------------------------------
     HEADER
     --------------------------------------------------------- */
  .whb-hidden-lg .whb-flex-row,
  .whb-general-header .whb-flex-row,
  .whb-sticked .whb-flex-row,
  .whb-clone .whb-flex-row {
    grid-template-columns: minmax(86px, auto) 1fr minmax(52px, auto) !important;
    min-height: 72px !important;
    column-gap: 8px !important;
  }

  .whb-mobile-left .wd-tools-text::after {
    font-size: 13px !important;
  }

  /* ---------------------------------------------------------
     GALERIA
     --------------------------------------------------------- */
  .nw-gallery-wrap {
    padding: 20px 14px 50px;
  }

  .nw-gallery-tabs {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    margin-bottom: 18px !important;
    gap: 10px !important;
  }

  .nw-gallery-tab {
    width: 100% !important;
    min-width: 0 !important;
    min-height: 52px !important;
    padding: 10px 12px !important;
    font-size: 13px !important;
  }

  .nw-gallery-main-frame {
    aspect-ratio: 4 / 3;
  }

  .nw-gallery-arrow {
    width: 32px;
    height: 32px;
    color: #000 !important;
  }

  .nw-gallery-arrow svg {
    width: 30px;
    height: 30px;
    fill: currentColor !important;
  }

  .nw-gallery-arrow.is-prev {
    left: 6px;
  }

  .nw-gallery-arrow.is-next {
    right: 6px;
  }

  .nw-gallery-thumbs-bar {
    margin-top: 14px;
  }

  .nw-gallery-thumbs {
    gap: 8px;
    padding: 10px;
    width: 100%;
    overflow-x: auto;
    justify-content: flex-start;
  }

  .nw-gallery-thumb {
    flex: 0 0 92px;
    width: 92px;
    height: 62px;
  }

  .nw-gallery-bundle-box {
    padding: 22px 18px !important;
  }

  .nw-gallery-bundle-products {
    gap: 8px !important;
    margin-bottom: 18px !important;
  }

  .nw-gallery-bundle-product {
    width: 100% !important;
  }

  .nw-gallery-bundle-btn {
    width: 100% !important;
    min-width: 0 !important;
  }

  .nw-gallery-bundle-note {
    max-width: 100% !important;
  }

  /* ---------------------------------------------------------
     SINGLE PRODUCT
     --------------------------------------------------------- */
  .single-product .wd-nav-wrapper .wd-nav,
  .single-product .woocommerce-tabs .wc-tabs,
  .single-product .wd-nav-tabs {
    gap: 16px !important;
    overflow-x: auto !important;
    flex-wrap: nowrap !important;
  }

  .single-product .woocommerce-Tabs-panel,
  .single-product #tab-description,
  .single-product #tab-shipping-and-delivery {
    padding: 18px !important;
  }

  .single-product form.bundle_form > .bundled_product,
  .single-product form.bundle_form > div[class*="bundled_item_"].bundled_product {
    padding: 16px !important;
  }

  .single-product form.bundle_form .bundled_product_images,
  .single-product form.bundle_form .bundled_product_image,
  .single-product form.bundle_form .bundled_product_image figure,
  .single-product form.bundle_form .bundled_product_image a,
  .single-product form.bundle_form .woocommerce-product-gallery__image,
  .single-product form.bundle_form .woocommerce-product-gallery__image--placeholder,
  .single-product form.bundle_form .placeholder_image {
    width: 92px !important;
    height: 92px !important;
    min-width: 92px !important;
    min-height: 92px !important;
    max-width: 92px !important;
    max-height: 92px !important;
  }

  .single-product form.bundle_form .bundled_product_images img,
  .single-product form.bundle_form .bundled_product_image img,
  .single-product form.bundle_form .woocommerce-product-gallery__image img,
  .single-product form.bundle_form .woocommerce-product-gallery__image--placeholder img,
  .single-product form.bundle_form .placeholder_image img {
    width: 92px !important;
    height: 92px !important;
    min-width: 92px !important;
    min-height: 92px !important;
    max-width: 92px !important;
    max-height: 92px !important;
  }

  .single-product form.bundle_form .bundled_product_title,
  .single-product form.bundle_form .bundled_product_title_inner,
  .single-product form.bundle_form .bundled_product_title .item_title {
    font-size: 15px !important;
  }

  .single-product .single_add_to_cart_button,
  .single-product .bundle_add_to_cart_button,
  .single-product .add_to_cart_button,
  .products .product .button {
    min-height: 42px !important;
    height: 42px !important;
    padding: 0 16px !important;
    font-size: 13px !important;
    line-height: 42px !important;
    letter-spacing: 0 !important;
    text-transform: none !important;
    border-radius: 0 !important;
    width: auto !important;
  }

  body.single-product button.single_add_to_cart_button.button.alt.wp-element-button,
  body.single-product .single_add_to_cart_button.button.alt.wp-element-button,
  body.single-product button.bundle_add_to_cart_button.button.alt.wp-element-button,
  body.single-product .bundle_add_to_cart_button.button.alt.wp-element-button {
    width: 165.99px !important;
    min-width: 165.99px !important;
    max-width: 165.99px !important;
    height: 43.99px !important;
    min-height: 43.99px !important;
    max-height: 43.99px !important;
    padding: 0 16px !important;
    line-height: 43.99px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    box-sizing: border-box !important;
    white-space: nowrap !important;
    flex: 0 0 165.99px !important;
  }

  .single-product .bundle_button {
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
    flex-wrap: wrap !important;
  }

  .single-product .bundle_button .quantity {
    margin: 0 !important;
  }

  .single-product .bundle_button .qty,
  .single-product .bundle_button .minus,
  .single-product .bundle_button .plus {
    height: 42px !important;
    min-height: 42px !important;
  }

  .item_title {
    font-size: 15px !important;
  }

  /* ---------------------------------------------------------
     MOBILE NAV  ukrywane elementy
     --------------------------------------------------------- */
  .mobile-nav a .nav-link-text {
    white-space: normal !important;
  }

  .mobile-nav a[href="#"] .nav-link-text,
  .wd-nav-mobile > li.item-has-block.menu-item-has-children,
  .mobile-nav .item-has-block.menu-item-has-children,
  .mobile-categories-menu,
  .single-product .product_meta .posted_in,
  .wd-nav-mobile li:has(> a[href*="page_id=14"]),
  .wd-nav-mobile li:has(> a[href*="customer-logout"]),
  .mobile-nav li:has(> a[href*="page_id=14"]),
  .mobile-nav li:has(> a[href*="customer-logout"]) {
    display: none !important;
  }

  /* ---------------------------------------------------------
     HOME HERO
     --------------------------------------------------------- */
  body.home .elementor-element.elementor-element-f317353 {
    min-height: 420px !important;
    margin-top: 0 !important;
  }

  body.home .elementor-element.elementor-element-f317353 .hero-tekst-namioty {
    left: 14px !important;
    right: 14px !important;
    top: 50% !important;
    width: auto !important;
    max-width: none !important;
    transform: translateY(-50%) !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  body.home .elementor-element.elementor-element-f317353 .hero-tekst-namioty h1,
  body.home .elementor-element.elementor-element-f317353 .hero-tekst-namioty .elementor-heading-title {
    max-width: 100% !important;
    font-size: clamp(28px, 10.5vw, 46px) !important;
    line-height: 0.96 !important;
  }

  body.home .elementor-element.elementor-element-f317353 .hero-tekst-namioty p {
    max-width: 300px !important;
    font-size: 13px !important;
    line-height: 1.5 !important;
  }

  /* ---------------------------------------------------------
     BUTTONY LISTINGU
     --------------------------------------------------------- */
  .products.columns-2 .product-grid-item .button,
  .products.columns-2 .product-grid-item .add_to_cart_button,
  .products.columns-2 .product-grid-item .single_add_to_cart_button,
  .products.columns-2 .product-grid-item .bundle_add_to_cart_button,
  .product-grid-item .button,
  .product-grid-item .add_to_cart_button,
  .product-grid-item .single_add_to_cart_button,
  .product-grid-item .bundle_add_to_cart_button {
    font-size: 11px !important;
    padding: 9px 8px !important;
  }

  /* ---------------------------------------------------------
     POPUP  finalny plus / minus
     --------------------------------------------------------- */
  #nw-popup-v3 .nw-popup-v3__buy-wrap {
    display: flex !important;
    flex-direction: column !important;
    gap: 10px !important;
    width: 100% !important;
  }
  #nw-popup-v3 .nw-popup-v3__qty {
    display: flex !important;
    align-items: stretch !important;
    justify-content: stretch !important;
    width: 100% !important;
    min-width: 0 !important;
    height: 46px !important;
    min-height: 46px !important;
    border: 1px solid #e8deca !important;
    background: #fff !important;
    overflow: hidden !important;
  }
  #nw-popup-v3 .nw-popup-v3__qty-btn {
    flex: 0 0 46px !important;
    width: 46px !important;
    min-width: 46px !important;
    max-width: 46px !important;
    height: 46px !important;
    min-height: 46px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 0 !important;
    font-size: 28px !important;
    line-height: 1 !important;
    box-sizing: border-box !important;
  }
  #nw-popup-v3 .nw-popup-v3__qty-input {
    flex: 1 1 auto !important;
    width: auto !important;
    min-width: 0 !important;
    max-width: none !important;
    height: 46px !important;
    min-height: 46px !important;
    margin: 0 !important;
    padding: 0 !important;
    border-left: 1px solid #e8deca !important;
    border-right: 1px solid #e8deca !important;
    text-align: center !important;
    font-size: 18px !important;
    font-weight: 600 !important;
    line-height: 46px !important;
    box-sizing: border-box !important;
    background: #fff !important;
  }
  #nw-popup-v3 .nw-popup-v3__buy-wrap .add_to_cart_button,
  #nw-popup-v3 .nw-popup-v3__buy-wrap .button {
    width: 100% !important;
    min-height: 46px !important;
    padding: 10px 14px !important;
  }

  /* ---------------------------------------------------------
     FINALIZACJA
     --------------------------------------------------------- */
  .woocommerce-checkout .nw-final-box h3 {
    font-size: 22px !important;
  }

  .woocommerce-checkout .nw-main-submit,
  .woocommerce-checkout .nw-secondary-submit {
    font-size: 13px !important;
    padding-left: 14px !important;
    padding-right: 14px !important;
  }

  .woocommerce-checkout .nw-main-submit-note,
  .woocommerce-checkout .nw-final-box label.checkbox,
  .woocommerce-checkout .nw-final-box .woocommerce-form__label.checkbox {
    font-size: 13px !important;
  }

  /* ---------------------------------------------------------
     SZCZEGÓŁ Y REZERWACJI
     --------------------------------------------------------- */
  body.page-id-29938 .page-title,
  body.page-id-29938 .wd-page-title {
    height: 200px !important;
    min-height: 200px !important;
  }

  body.page-id-29938 .page-title::after,
  body.page-id-29938 .wd-page-title::after {
    width: calc(100vw - 28px) !important;
    max-width: calc(100vw - 28px) !important;
    font-size: clamp(28px, 11vw, 42px) !important;
  }

  body.page-id-29938 .nw-reservation-card,
  body.page-id-29938 .nw-reservation-inline-note {
    padding: 20px 16px !important;
  }

  body.page-id-29938 .nw-reservation-card h3 {
    font-size: 22px !important;
  }

  body.page-id-29938 .nw-reservation-actions > label:has(input[name="request_phone_contact"]) {
    width: 100% !important;
    padding: 16px 14px 14px !important;
    gap: 12px !important;
  }

  body.page-id-29938 .nw-reservation-actions > label:has(input[name="request_phone_contact"])::before {
    left: 14px !important;
    top: 8px !important;
    font-size: 10px !important;
  }

  body.page-id-29938 .nw-reservation-actions > label:has(input[name="request_phone_contact"]) span {
    margin-top: 9px !important;
    font-size: 14px !important;
    line-height: 1.5 !important;
  }

  body.page-id-29938 .nw-reservation-actions input[name="request_phone_contact"] {
    width: 20px !important;
    height: 20px !important;
    min-width: 20px !important;
  }

  body.page-id-29938 .nw-reservation-actions input[name="request_phone_contact"]:checked::after {
    left: 6px !important;
    top: 1px !important;
    width: 4px !important;
    height: 10px !important;
  }

  /* ---------------------------------------------------------
     THANK YOU
     --------------------------------------------------------- */
  .woocommerce-order-received .nw-thankyou-box h2 {
    font-size: 28px !important;
  }
}
/* =========================================================
   DOSTĘ PNO   + PODMIANA ZDJ   KATEGORII
   wklej na sam dół  nowego CSS
   ========================================================= */

/* ---------------------------------------------------------
   1. STRONA DOSTĘ PNO CI  uk ad, wy rodkowanie, brak sidebara
   --------------------------------------------------------- */

body.page-id-30264,
body.page-id-30264 .site-content,
body.page-id-30264 .main-page-wrapper {
  background: #f7f7f7 !important;
}

body.page-id-30264 .main-page-wrapper,
body.page-id-30264 .site-content,
body.page-id-30264 .content-layout-wrapper,
body.page-id-30264 #main-content,
body.page-id-30264 .content-area,
body.page-id-30264 .wd-content-area,
body.page-id-30264 article#post-30264,
body.page-id-30264 .entry-content,
body.page-id-30264 .elementor,
body.page-id-30264 .e-con,
body.page-id-30264 .e-con-inner,
body.page-id-30264 .elementor-widget-shortcode,
body.page-id-30264 .elementor-widget-shortcode .elementor-widget-container,
body.page-id-30264 .elementor-shortcode {
  width: 100% !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
}

body.page-id-30264 #main-content,
body.page-id-30264 .content-layout-wrapper,
body.page-id-30264 .site-content,
body.page-id-30264 .wd-content-area {
  margin-top: 0 !important;
  padding-top: 0 !important;
}

body.page-id-30264 #main-content > .wd-content-area,
body.page-id-30264 .content-layout-wrapper > .wd-content-area,
body.page-id-30264 .content-layout-wrapper > .content-area {
  width: 100% !important;
  max-width: 100% !important;
  flex: 0 0 100% !important;
  grid-column: 1 / -1 !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
  margin: 0 !important;
}

body.page-id-30264 aside.sidebar-container,
body.page-id-30264 .wd-sidebar,
body.page-id-30264 .widget-area,
body.page-id-30264 .sidebar-container {
  display: none !important;
}

/* ---------------------------------------------------------
   2. BANNER DOSTĘ PNO CI  taki sam styl jak inne bannery
   --------------------------------------------------------- */

body.page-id-30264 .page-title,
body.page-id-30264 .wd-page-title,
body.page-template-template-availability .page-title,
body.page-template-template-availability .wd-page-title,
body.page-template-page-availability .page-title,
body.page-template-page-availability .wd-page-title,
body.page-template-availability .page-title,
body.page-template-availability .wd-page-title {
  display: flex !important;
  position: relative !important;
  width: 100vw !important;
  max-width: 100vw !important;
  height: 320px !important;
  min-height: 320px !important;
  margin-top: 0 !important;
  margin-bottom: 0 !important;
  margin-left: calc(50% - 50vw) !important;
  margin-right: calc(50% - 50vw) !important;
  padding: 0 20px !important;
  border: 0 !important;
  overflow: hidden !important;
  align-items: center !important;
  justify-content: center !important;
  text-align: center !important;
background: var(--nw-new-bg-image) center center / cover no-repeat !important; /* (2026-07-11) wspolna zmienna headerow */
}

body.page-id-30264 .page-title::before,
body.page-id-30264 .wd-page-title::before,
body.page-template-template-availability .page-title::before,
body.page-template-template-availability .wd-page-title::before,
body.page-template-page-availability .page-title::before,
body.page-template-page-availability .wd-page-title::before,
body.page-template-availability .page-title::before,
body.page-template-availability .wd-page-title::before {
  content: "" !important;
  position: absolute !important;
  top: 0 !important; right: 0 !important; bottom: 0 !important; left: 0 !important;
  inset: 0 !important;
  background: rgba(0, 0, 0, 0.35) !important;
  z-index: 1 !important;
}

body.page-id-30264 .page-title .container,
body.page-id-30264 .wd-page-title .container,
body.page-id-30264 .page-title .title-wrapper,
body.page-id-30264 .wd-page-title .title-wrapper,
body.page-template-template-availability .page-title .container,
body.page-template-template-availability .wd-page-title .container,
body.page-template-page-availability .page-title .container,
body.page-template-page-availability .wd-page-title .container,
body.page-template-availability .page-title .container,
body.page-template-availability .wd-page-title .container {
  width: 100% !important;
  max-width: 100% !important;
  height: 100% !important;
  margin: 0 !important;
  padding: 0 20px !important;
  position: relative !important;
  z-index: 4 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  text-align: center !important;
}

body.page-id-30264 .page-title h1,
body.page-id-30264 .wd-page-title h1,
body.page-template-template-availability .page-title h1,
body.page-template-template-availability .wd-page-title h1,
body.page-template-page-availability .page-title h1,
body.page-template-page-availability .wd-page-title h1,
body.page-template-availability .page-title h1,
body.page-template-availability .wd-page-title h1 {
  position: relative !important;
  z-index: 2 !important;
  margin: 0 !important;
  color: #fff !important;
  font-size: clamp(30px, 3.4vw, 44px) !important; /* (2026-07-03) kanon banerow — bylo 72/700 */
  line-height: 1.15 !important;
  font-weight: 600 !important;
  text-align: center !important;
  font-family: Poppins, "Helvetica Neue", Arial, sans-serif !important; /* (audyt 2026-06-25) hero = czcionka storefrontu */
}

/* usuń  breadcrumbs */
body.page-id-30264 .page-title .breadcrumbs,
body.page-id-30264 .wd-page-title .breadcrumbs,
body.page-id-30264 .page-title .wd-breadcrumbs,
body.page-id-30264 .wd-page-title .wd-breadcrumbs,
body.page-id-30264 .page-title .yoast-breadcrumb,
body.page-id-30264 .wd-page-title .yoast-breadcrumb,
body.page-template-template-availability .page-title .breadcrumbs,
body.page-template-template-availability .wd-page-title .breadcrumbs,
body.page-template-template-availability .page-title .wd-breadcrumbs,
body.page-template-template-availability .wd-page-title .wd-breadcrumbs,
body.page-template-page-availability .page-title .breadcrumbs,
body.page-template-page-availability .wd-page-title .breadcrumbs,
body.page-template-page-availability .page-title .wd-breadcrumbs,
body.page-template-page-availability .wd-page-title .wd-breadcrumbs,
body.page-template-availability .page-title .breadcrumbs,
body.page-template-availability .wd-page-title .breadcrumbs,
body.page-template-availability .page-title .wd-breadcrumbs,
body.page-template-availability .wd-page-title .wd-breadcrumbs{
  display: none !important;
}

/* ---------------------------------------------------------
   3. KARTA DOSTĘ PNO CI  finalny wygl d
   --------------------------------------------------------- */

/* ---------------------------------------------------------
   4. PODMIANA ZDJĘ   KATEGORII
   --------------------------------------------------------- */

.wd-cats.products .category-grid-item .wd-cat-thumb {
  position: relative !important;
  overflow: hidden !important;
  background: #f4f4f4 !important;
}

.wd-cats.products .category-grid-item .wd-cat-image {
  position: relative !important;
  display: block !important;
  width: 100% !important;
  aspect-ratio: 1 / 1 !important;
  overflow: hidden !important;
  background-size: cover !important;
  background-position: center center !important;
  background-repeat: no-repeat !important;
}

.wd-cats.products .category-grid-item .wd-cat-image img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  opacity: 0 !important;
  visibility: hidden !important;
}

.wd-cats.products .category-grid-item .wd-cat-image::after {
  content: "" !important;
  position: absolute !important;
  top: 0 !important; right: 0 !important; bottom: 0 !important; left: 0 !important;
  inset: 0 !important;
  background: rgba(0, 0, 0, 0.10) !important;
  opacity: 0 !important;
  transition: opacity 0.25s ease !important;
  pointer-events: none !important;
}

.wd-cats.products .category-grid-item:hover .wd-cat-image::after {
  opacity: 1 !important;
}

/* (audyt 2026-07-13, user „na kategorii na obrazku namiotow ekspresowych i pomiedzy namioty ekspresowe i namioty
   sa jakies zlote linie") KAZDA karta kategorii ma natywna `.category-grid-item::after` ze ZLOTYM borderem 4px
   (top+left = L-naroznik przy lewym-gornym rogu) — persistentny, nie hover. Wyglada jak obce zlote linie na
   kartach (naroznik na ekspresach + lewy border sasiada = „linia miedzy" kategoriami). Zdejmujemy ten border
   (rounding ::after z l.924 zostaje). ID-spec `:not(#nw-z)` bije natywna regule WoodMart. */
html .category-grid-item:not(#nw-z)::after,
html .wd-cats.products .category-grid-item:not(#nw-z)::after,
html .category-grid-item:not(#nw-z):hover::after,
html .wd-cats.products .category-grid-item:not(#nw-z):hover::after {
  border-width: 0 !important;
  border-color: transparent !important;
}

/* podmiana konkretnych kategorii */
.wd-cats.products .category-grid-item .wd-cat-image[aria-label="Namioty ekspresowe"] {
background-image: url("/wp-content/uploads/2026/03/ekspresy.jpeg") !important;
}

.wd-cats.products .category-grid-item .wd-cat-image[aria-label="Namioty"] {
background-image: url("/wp-content/uploads/2026/03/namioty.jpeg") !important;
}

.wd-cats.products .category-grid-item .wd-cat-image[aria-label="Meble"] {
 background-image: url("/wp-content/uploads/2026/03/meble.jpeg") !important;
}

.wd-cats.products .category-grid-item .wd-cat-image[aria-label="Podłogi"] {
 background-image: url("/wp-content/uploads/2026/03/podlogi.jpeg") !important;
}

.wd-cats.products .category-grid-item .wd-cat-image[aria-label="Akcesoria"] {
  background-image: url("/wp-content/uploads/2026/03/akcesoria.jpeg") !important;
}

.wd-cats.products .category-grid-item .wd-cat-image[aria-label="Zastawa"],
.wd-cats.products .category-grid-item .wd-cat-image[href*="product_cat=zastawa"] {
 background-image: url("/wp-content/uploads/2026/03/zastawa.jpg") !important;
}

/* lepszy wyglą d kafelków kategorii */
/* USUNIÄTO: .wd-cat-inner display:flex/column + .wd-cat-content padding-top:14px
   â psuto centrowanie nazw (hover-mask/cat-design-center). WoodMart sam centruje. */
.wd-cats.products .category-grid-item .wd-cat-inner {
  height: 100% !important;
}
/* ---------------------------------------------------------
   5. TABLET
   --------------------------------------------------------- */

@media (max-width: 1024px) {
  body.page-id-30264 .page-title,
  body.page-id-30264 .wd-page-title,
  body.page-template-template-availability .page-title,
  body.page-template-template-availability .wd-page-title,
  body.page-template-page-availability .page-title,
  body.page-template-page-availability .wd-page-title,
  body.page-template-availability .page-title,
  body.page-template-availability .wd-page-title {
    height: 220px !important;
    min-height: 220px !important;
  }

  body.page-id-30264 .page-title h1,
  body.page-id-30264 .wd-page-title h1,
  body.page-template-template-availability .page-title h1,
  body.page-template-template-availability .wd-page-title h1,
  body.page-template-page-availability .page-title h1,
  body.page-template-page-availability .wd-page-title h1,
  body.page-template-availability .page-title h1,
  body.page-template-availability .wd-page-title h1 {
    font-size: 42px !important;
    line-height: 1.05 !important;
  }
}

/* ---------------------------------------------------------
   6. MOBILE
   --------------------------------------------------------- */

@media (max-width: 767px) {
  /* Zapobiegaj wychodzeniu karty poza ekran */
  body.page-id-30264,
  body.page-id-30264 .wd-page-content,
  body.page-id-30264 .main-page-wrapper,
  body.page-id-30264 #main-content,
  body.page-id-30264 .wd-content-area,
  body.page-id-30264 .content-layout-wrapper,
  body.page-id-30264 .elementor,
  body.page-id-30264 .e-con,
  body.page-id-30264 .e-con-inner,
  body.page-id-30264 .elementor-widget-shortcode,
  body.page-id-30264 .elementor-widget-container {
    overflow-x: hidden !important;
    max-width: 100vw !important;
    box-sizing: border-box !important;
  }

  body.page-id-30264 .page-title,
  body.page-id-30264 .wd-page-title,
  body.page-template-template-availability .page-title,
  body.page-template-template-availability .wd-page-title,
  body.page-template-page-availability .page-title,
  body.page-template-page-availability .wd-page-title,
  body.page-template-availability .page-title,
  body.page-template-availability .wd-page-title {
    height: 200px !important;
    min-height: 200px !important;
  }

  body.page-id-30264 .page-title h1,
  body.page-id-30264 .wd-page-title h1,
  body.page-template-template-availability .page-title h1,
  body.page-template-template-availability .wd-page-title h1,
  body.page-template-page-availability .page-title h1,
  body.page-template-page-availability .wd-page-title h1,
  body.page-template-availability .page-title h1,
  body.page-template-availability .wd-page-title h1 {
    font-size: clamp(28px, 11vw, 42px) !important;
    line-height: 1 !important;
    padding-left: 14px !important;
    padding-right: 14px !important;
  }

  .wd-cats.products .category-grid-item .wd-cat-image {
    min-height: 150px !important;
  }
}
/* =========================================================
   SKLEP  UŁ O ENIE GÓRNEJ SEKCJI + SIATKA PRODUKTÓW
   ========================================================= */

/* ---------------------------------------------------------
   1. OGÓLNY KONTENER SKLEPU
   --------------------------------------------------------- */

body.post-type-archive-product .site-content,
body.tax-product_cat .site-content,
body.tax-product_tag .site-content {
  width: 100% !important;
}

body.post-type-archive-product .wd-content-layout,
body.post-type-archive-product .content-layout-wrapper,
body.tax-product_cat .wd-content-layout,
body.tax-product_cat .content-layout-wrapper,
body.tax-product_tag .wd-content-layout,
body.tax-product_tag .content-layout-wrapper {
  max-width: var(--nw-content-max) !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding-left: var(--nw-content-side) !important;
  padding-right: var(--nw-content-side) !important;
  box-sizing: border-box !important;
}

/* peł na szeroko   contentu bez dziwnych przesuni   */
body.post-type-archive-product .wd-content-area,
body.tax-product_cat .wd-content-area,
body.tax-product_tag .wd-content-area {
  width: 100% !important;
  max-width: 100% !important;
  flex: 0 0 100% !important;
}

/* ---------------------------------------------------------
   2. GÓRNA BELKA SKLEPU: pokaż  / widok / sortowanie
   --------------------------------------------------------- */

body.post-type-archive-product .wd-shop-tools,
body.post-type-archive-product .shop-loop-head,
body.tax-product_cat .wd-shop-tools,
body.tax-product_cat .shop-loop-head,
body.tax-product_tag .wd-shop-tools,
body.tax-product_tag .shop-loop-head {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  flex-wrap: wrap !important;
  gap: 18px !important;
  width: 100% !important;
  margin: 0 0 28px !important;
  padding: 0 !important;
  border: 0 !important;
  box-sizing: border-box !important;
}

body.post-type-archive-product .woocommerce-result-count,
body.tax-product_cat .woocommerce-result-count,
body.tax-product_tag .woocommerce-result-count {
  display: none !important;
}

/* lewa czę   : "Poka " */
body.post-type-archive-product .wd-products-per-page,
body.tax-product_cat .wd-products-per-page,
body.tax-product_tag .wd-products-per-page {
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  margin: 0 !important;
  font-size: 16px !important;
  line-height: 1.3 !important;
  color: #111 !important;
}

body.post-type-archive-product .wd-products-per-page > span,
body.tax-product_cat .wd-products-per-page > span,
body.tax-product_tag .wd-products-per-page > span {
  font-weight: 600 !important;
  color: #111 !important;
}

body.post-type-archive-product .wd-products-per-page a,
body.tax-product_cat .wd-products-per-page a,
body.tax-product_tag .wd-products-per-page a {
  color: #8a8a8a !important;
  text-decoration: none !important;
  transition: color 0.2s ease !important;
}

body.post-type-archive-product .wd-products-per-page a.current,
body.post-type-archive-product .wd-products-per-page a:hover,
body.tax-product_cat .wd-products-per-page a.current,
body.tax-product_cat .wd-products-per-page a:hover,
body.tax-product_tag .wd-products-per-page a.current,
body.tax-product_tag .wd-products-per-page a:hover {
  color: #111 !important;
  font-weight: 600 !important;
}

/* ikony widoku */
body.post-type-archive-product .shop-view,
body.post-type-archive-product .wd-products-shop-view,
body.tax-product_cat .shop-view,
body.tax-product_cat .wd-products-shop-view,
body.tax-product_tag .shop-view,
body.tax-product_tag .wd-products-shop-view {
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  margin: 0 !important;
}

body.post-type-archive-product .shop-view a,
body.post-type-archive-product .wd-products-shop-view a,
body.tax-product_cat .shop-view a,
body.tax-product_cat .wd-products-shop-view a,
body.tax-product_tag .shop-view a,
body.tax-product_tag .wd-products-shop-view a {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 34px !important;
  height: 34px !important;
  color: #a5a5a5 !important;
  text-decoration: none !important;
  transition: color 0.2s ease !important;
}

body.post-type-archive-product .shop-view a.current,
body.post-type-archive-product .shop-view a:hover,
body.post-type-archive-product .wd-products-shop-view a.current,
body.post-type-archive-product .wd-products-shop-view a:hover,
body.tax-product_cat .shop-view a.current,
body.tax-product_cat .shop-view a:hover,
body.tax-product_cat .wd-products-shop-view a.current,
body.tax-product_cat .wd-products-shop-view a:hover,
body.tax-product_tag .shop-view a.current,
body.tax-product_tag .shop-view a:hover,
body.tax-product_tag .wd-products-shop-view a.current,
body.tax-product_tag .wd-products-shop-view a:hover {
  color: #111 !important;
}

/* sortowanie po prawej */
body.post-type-archive-product .woocommerce-ordering,
body.tax-product_cat .woocommerce-ordering,
body.tax-product_tag .woocommerce-ordering {
  margin: 0 0 0 auto !important;
  min-width: 260px !important;
}

body.post-type-archive-product .woocommerce-ordering select,
body.tax-product_cat .woocommerce-ordering select,
body.tax-product_tag .woocommerce-ordering select {
  width: 100% !important;
  min-height: 48px !important;
  padding: 0 42px 0 0 !important;
  border: 0 !important;
  border-bottom: 1px solid #d9d9d9 !important;
  border-radius: 0 !important;
  background-color: transparent !important;
  color: #111 !important;
  font-size: 16px !important;
  font-weight: 500 !important;
  box-shadow: none !important;
}

/* ---------------------------------------------------------
   3. SIATKA PRODUKTÓW
   --------------------------------------------------------- */

body.post-type-archive-product ul.products,
body.post-type-archive-product .products.elements-grid,
body.tax-product_cat ul.products,
body.tax-product_cat .products.elements-grid,
body.tax-product_tag ul.products,
body.tax-product_tag .products.elements-grid {
  margin: 0 !important;
  padding: 0 !important;
}

/* wyrównanie kart */
body.post-type-archive-product .product-grid-item,
body.post-type-archive-product li.product,
body.tax-product_cat .product-grid-item,
body.tax-product_cat li.product,
body.tax-product_tag .product-grid-item,
body.tax-product_tag li.product {
  margin: 0 !important;
  padding: 24px 20px 26px !important;
  box-sizing: border-box !important;
  background: #fff !important;
  display: flex !important;
  flex-direction: column !important;
  height: 100% !important;
}

/* zdję cie */
body.post-type-archive-product .product-grid-item .product-image-link,
body.post-type-archive-product li.product .product-image-link,
body.tax-product_cat .product-grid-item .product-image-link,
body.tax-product_cat li.product .product-image-link,
body.tax-product_tag .product-grid-item .product-image-link,
body.tax-product_tag li.product .product-image-link {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 260px !important;
}

body.post-type-archive-product .product-grid-item img,
body.post-type-archive-product li.product img,
body.tax-product_cat .product-grid-item img,
body.tax-product_cat li.product img,
body.tax-product_tag .product-grid-item img,
body.tax-product_tag li.product img {
  max-height: 260px !important;
  width: auto !important;
  object-fit: contain !important;
}

/* (2026-07-07, user „widok wszystkich produktow ma wygladac jak kategoria") to samo wyrownanie dla SHOP
   + WoodMartowej klasy .wd-product-img-link (na archiwum/kategorii dziala juz przez .product-image-link wyzej). */
body.woocommerce-shop .product-grid-item .product-image-link, body.woocommerce-shop li.product .product-image-link,
body.woocommerce-shop .product-grid-item .wd-product-img-link, body.woocommerce-shop li.product .wd-product-img-link,
body.post-type-archive-product .product-grid-item .wd-product-img-link, body.post-type-archive-product li.product .wd-product-img-link,
body.tax-product_cat .product-grid-item .wd-product-img-link, body.tax-product_cat li.product .wd-product-img-link,
body.tax-product_tag .product-grid-item .wd-product-img-link, body.tax-product_tag li.product .wd-product-img-link {
  display: flex !important; align-items: center !important; justify-content: center !important; min-height: 260px !important;
}
body.woocommerce-shop .product-grid-item img, body.woocommerce-shop li.product img {
  max-height: 260px !important; width: auto !important; object-fit: contain !important;
}
body.woocommerce-shop .product-grid-item .wd-entities-title, body.woocommerce-shop li.product .wd-entities-title {
  min-height: 2.8em !important; margin: 14px 0 8px !important; text-align: center !important; font-size: 18px !important; line-height: 1.35 !important; font-weight: 600 !important; color: #111 !important;
}

/* treś   kart */
body.post-type-archive-product .product-grid-item .wd-entities-title,
body.post-type-archive-product li.product .wd-entities-title,
body.tax-product_cat .product-grid-item .wd-entities-title,
body.tax-product_cat li.product .wd-entities-title,
body.tax-product_tag .product-grid-item .wd-entities-title,
body.tax-product_tag li.product .wd-entities-title {
  min-height: 2.8em !important;
  margin: 14px 0 8px !important;
  text-align: center !important;
  font-size: 18px !important;
  line-height: 1.35 !important;
  font-weight: 600 !important;
  color: #111 !important;
}

body.post-type-archive-product .product-grid-item .wd-product-cats,
body.post-type-archive-product li.product .wd-product-cats,
body.tax-product_cat .product-grid-item .wd-product-cats,
body.tax-product_cat li.product .wd-product-cats,
body.tax-product_tag .product-grid-item .wd-product-cats,
body.tax-product_tag li.product .wd-product-cats {
  text-align: center !important;
  margin: 0 0 8px !important;
  color: #9a9a9a !important;
  font-size: 14px !important;
}

body.post-type-archive-product .product-grid-item .price,
body.post-type-archive-product li.product .price,
body.tax-product_cat .product-grid-item .price,
body.tax-product_cat li.product .price,
body.tax-product_tag .product-grid-item .price,
body.tax-product_tag li.product .price {
  text-align: center !important;
  margin: 0 0 16px !important;
  color: #d4ba87 !important;
  font-size: 18px !important;
  font-weight: 600 !important;
}

/* przycisk zawsze równo */
body.post-type-archive-product .product-grid-item .wrap-button,
body.post-type-archive-product li.product .wrap-button,
body.tax-product_cat .product-grid-item .wrap-button,
body.tax-product_cat li.product .wrap-button,
body.tax-product_tag .product-grid-item .wrap-button,
body.tax-product_tag li.product .wrap-button {
  margin-top: auto !important;
  display: flex !important;
  justify-content: center !important;
}

body.post-type-archive-product .product-grid-item .button,
body.post-type-archive-product li.product .button,
body.tax-product_cat .product-grid-item .button,
body.tax-product_cat li.product .button,
body.tax-product_tag .product-grid-item .button,
body.tax-product_tag li.product .button {
  min-height: 46px !important;
  padding: 12px 22px !important;
  border: 1px solid #d4ba87 !important;
  background: #d4ba87 !important;
  color: #1a1407 !important;
  -webkit-text-fill-color: #1a1407 !important;
  border-radius: 8px !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.01em !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  transition: background-color 0.2s ease, color 0.2s ease, border-color 0.2s ease !important;
}

body.post-type-archive-product .product-grid-item .button:hover,
body.post-type-archive-product li.product .button:hover,
body.tax-product_cat .product-grid-item .button:hover,
body.tax-product_cat li.product .button:hover,
body.tax-product_tag .product-grid-item .button:hover,
body.tax-product_tag li.product .button:hover {
  background: #111 !important;
  border-color: #111 !important;
  color: #fff !important;
}

/* ---------------------------------------------------------
   4. TABLET
   --------------------------------------------------------- */

@media (max-width: 1024px) {
  body.post-type-archive-product .wd-shop-tools,
  body.post-type-archive-product .shop-loop-head,
  body.tax-product_cat .wd-shop-tools,
  body.tax-product_cat .shop-loop-head,
  body.tax-product_tag .wd-shop-tools,
  body.tax-product_tag .shop-loop-head {
    gap: 14px !important;
    margin-bottom: 22px !important;
  }

  body.post-type-archive-product .woocommerce-ordering,
  body.tax-product_cat .woocommerce-ordering,
  body.tax-product_tag .woocommerce-ordering {
    min-width: 220px !important;
  }

  body.post-type-archive-product .product-grid-item,
  body.post-type-archive-product li.product,
  body.tax-product_cat .product-grid-item,
  body.tax-product_cat li.product,
  body.tax-product_tag .product-grid-item,
  body.tax-product_tag li.product {
    padding: 20px 16px 22px !important;
  }

  body.post-type-archive-product .product-grid-item .product-image-link,
  body.post-type-archive-product li.product .product-image-link,
  body.tax-product_cat .product-grid-item .product-image-link,
  body.tax-product_cat li.product .product-image-link,
  body.tax-product_tag .product-grid-item .product-image-link,
  body.tax-product_tag li.product .product-image-link {
    min-height: 220px !important;
  }
}

/* ---------------------------------------------------------
   5. MOBILE
   --------------------------------------------------------- */

@media (max-width: 767px) {
  body.post-type-archive-product .wd-shop-tools,
  body.post-type-archive-product .shop-loop-head,
  body.tax-product_cat .wd-shop-tools,
  body.tax-product_cat .shop-loop-head,
  body.tax-product_tag .wd-shop-tools,
  body.tax-product_tag .shop-loop-head {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 12px !important;
    align-items: stretch !important;
  }

  body.post-type-archive-product .wd-products-per-page,
  body.tax-product_cat .wd-products-per-page,
  body.tax-product_tag .wd-products-per-page {
    justify-content: center !important;
    text-align: center !important;
  }

  body.post-type-archive-product .shop-view,
  body.post-type-archive-product .wd-products-shop-view,
  body.tax-product_cat .shop-view,
  body.tax-product_cat .wd-products-shop-view,
  body.tax-product_tag .shop-view,
  body.tax-product_tag .wd-products-shop-view {
    justify-content: center !important;
  }

  body.post-type-archive-product .woocommerce-ordering,
  body.tax-product_cat .woocommerce-ordering,
  body.tax-product_tag .woocommerce-ordering {
    width: 100% !important;
    min-width: 100% !important;
    margin-left: 0 !important;
  }

  body.post-type-archive-product .product-grid-item .product-image-link,
  body.post-type-archive-product li.product .product-image-link,
  body.tax-product_cat .product-grid-item .product-image-link,
  body.tax-product_cat li.product .product-image-link,
  body.tax-product_tag .product-grid-item .product-image-link,
  body.tax-product_tag li.product .product-image-link {
    min-height: 180px !important;
  }

  body.post-type-archive-product .product-grid-item .wd-entities-title,
  body.post-type-archive-product li.product .wd-entities-title,
  body.tax-product_cat .product-grid-item .wd-entities-title,
  body.tax-product_cat li.product .wd-entities-title,
  body.tax-product_tag .product-grid-item .wd-entities-title,
  body.tax-product_tag li.product .wd-entities-title {
    font-size: 16px !important;
    min-height: auto !important;
  }

  body.post-type-archive-product .product-grid-item .button,
  body.post-type-archive-product li.product .button,
  body.tax-product_cat .product-grid-item .button,
  body.tax-product_cat li.product .button,
  body.tax-product_tag .product-grid-item .button,
  body.tax-product_tag li.product .button {
    width: 100% !important;
    font-size: 13px !important;
    padding: 11px 14px !important;
  }
}
/* =========================================================
   FIX  KONTAKT MOBILE / PRZELEWANIE TREŚ CI
   wklej na sam dół  CSS
   ========================================================= */

.nw-contact-grid,
.nw-contact-main,
.nw-contact-info,
.nw-contact-cta-box,
.nw-contact-step,
.nw-contact-step > div,
.nw-contact-row{
  min-width: 0 !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
}

.nw-contact-cta-box h2,
.nw-contact-info h2,
.nw-contact-step strong,
.nw-contact-step p,
.nw-contact-info a,
.nw-contact-info p,
.nw-contact-label,
.nw-contact-cta-note {
  max-width: 100% !important;
  overflow-wrap: anywhere !important;
  word-break: break-word !important;
  hyphens: auto !important;
}

.nw-contact-step {
  align-items: start !important;
}

.nw-contact-step > div {
  width: 100% !important;
}

.nw-contact-cta-actions{
  width: 100% !important;
}

.nw-contact-main-btn,
.nw-contact-secondary-btn{
  max-width: 100% !important;
  box-sizing: border-box !important;
}

/* ---------------------------------------------------------
   MOBILE
   --------------------------------------------------------- */

@media (max-width: 767px) {
  

  .nw-contact-grid {
    grid-template-columns: 1fr !important;
    gap: 24px !important;
  }

  .nw-contact-cta-box {
    padding: 18px 14px !important;
  }

  .nw-contact-cta-box h2,
  .nw-contact-info h2{
    margin: 0 0 16px !important;
    font-size: 20px !important;
    line-height: 1.2 !important;
  }

  .nw-contact-step {
    grid-template-columns: 34px minmax(0, 1fr) !important;
    gap: 10px !important;
    padding-bottom: 14px !important;
  }

  .nw-contact-step-no {
    width: 34px !important;
    height: 34px !important;
    font-size: 13px !important;
  }

  .nw-contact-step strong {
    margin-bottom: 4px !important;
    font-size: 15px !important;
    line-height: 1.35 !important;
  }

  .nw-contact-step p,
  .nw-contact-info p,
  .nw-contact-cta-note {
    font-size: 14px !important;
    line-height: 1.6 !important;
  }

  .nw-contact-info a {
    display: inline-block !important;
    font-size: 18px !important;
    line-height: 1.4 !important;
  }

  .nw-contact-row {
    margin: 0 0 18px !important;
    padding: 0 0 18px !important;
  }

  .nw-contact-main-btn,
  .nw-contact-secondary-btn {
    min-height: 50px !important;
    padding: 12px 14px !important;
    font-size: 13px !important;
    line-height: 1.2 !important;
    white-space: normal !important;
    text-align: center !important;
  }
}

/* =========================================================
   MOBILE FIX 2  banner / kategorie / button hover
   WLEJ NA SAM DÓŁ  CSS
   ========================================================= */

@media (max-width: 767px) {

  /* ---------------------------------------------------------
     1. BANNER "WYPOŻ YCZ"  wi kszy i spójny z reszt  stron
     --------------------------------------------------------- */

  body.woocommerce-shop .elementor-element-57d2cbf .wd-image,
  body.post-type-archive-product .elementor-element-57d2cbf .wd-image,
  body.tax-product_cat .elementor-element-57d2cbf .wd-image,
  body.tax-product_tag .elementor-element-57d2cbf .wd-image {
    height: 220px !important;
    min-height: 220px !important;
    margin-bottom: 24px !important;
  }

  

  body.woocommerce-shop .elementor-element-57d2cbf .wd-image::after,
  body.post-type-archive-product .elementor-element-57d2cbf .wd-image::after,
  body.tax-product_cat .elementor-element-57d2cbf .wd-image::after,
  body.tax-product_tag .elementor-element-57d2cbf .wd-image::after {
    content: "Oferta" !important;
    padding: 0 16px !important;
    font-size: clamp(36px, 11vw, 44px) !important;
    line-height: 1.05 !important;
    font-weight: 600 !important;
    white-space: normal !important;
    word-break: normal !important;
    overflow-wrap: break-word !important;
    text-align: center !important;
  }


  /* ---------------------------------------------------------
     2. KATEGORIE  wył  czenie slidera i u o enie 1 pod 2
     HTML ma: .wd-carousel > .wd-carousel-wrap > .wd-carousel-item
     --------------------------------------------------------- */

  body.woocommerce-shop .wd-carousel.wd-grid,
  body.post-type-archive-product .wd-carousel.wd-grid,
  body.tax-product_cat .wd-carousel.wd-grid,
  body.tax-product_tag .wd-carousel.wd-grid {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    overflow: visible !important;
    padding: 0 !important;
    margin: 0 0 24px !important;
  }

  body.woocommerce-shop .wd-carousel.wd-grid .wd-carousel-wrap,
  body.post-type-archive-product .wd-carousel.wd-grid .wd-carousel-wrap,
  body.tax-product_cat .wd-carousel.wd-grid .wd-carousel-wrap,
  body.tax-product_tag .wd-carousel.wd-grid .wd-carousel-wrap {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 14px !important;
    width: 100% !important;
    max-width: 100% !important;
    transform: none !important;
    overflow: visible !important;
    cursor: default !important;
  }

  body.woocommerce-shop .wd-carousel.wd-grid .wd-carousel-item,
  body.post-type-archive-product .wd-carousel.wd-grid .wd-carousel-item,
  body.tax-product_cat .wd-carousel.wd-grid .wd-carousel-item,
  body.tax-product_tag .wd-carousel.wd-grid .wd-carousel-item {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 100% !important;
    margin: 0 !important;
    flex: 0 0 100% !important;
  }

  /* kasuje inline width typu style="width:185px" */
  body.woocommerce-shop .wd-carousel.wd-grid .wd-carousel-item[style],
  body.post-type-archive-product .wd-carousel.wd-grid .wd-carousel-item[style],
  body.tax-product_cat .wd-carousel.wd-grid .wd-carousel-item[style],
  body.tax-product_tag .wd-carousel.wd-grid .wd-carousel-item[style] {
    width: 100% !important;
  }

  body.woocommerce-shop .wd-carousel.wd-grid .category-grid-item,
  body.post-type-archive-product .wd-carousel.wd-grid .category-grid-item,
  body.tax-product_cat .wd-carousel.wd-grid .category-grid-item,
  body.tax-product_tag .wd-carousel.wd-grid .category-grid-item,
  body.woocommerce-shop .wd-carousel.wd-grid .product-category,
  body.post-type-archive-product .wd-carousel.wd-grid .product-category,
  body.tax-product_cat .wd-carousel.wd-grid .product-category,
  body.tax-product_tag .wd-carousel.wd-grid .product-category {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
  }

  body.woocommerce-shop .wd-carousel.wd-grid .wd-cat-inner,
  body.post-type-archive-product .wd-carousel.wd-grid .wd-cat-inner,
  body.tax-product_cat .wd-carousel.wd-grid .wd-cat-inner,
  body.tax-product_tag .wd-carousel.wd-grid .wd-cat-inner {
    display: flex !important;
    flex-direction: column !important;
    width: 100% !important;
    height: auto !important;
  }

  body.woocommerce-shop .wd-carousel.wd-grid .wd-cat-thumb,
  body.post-type-archive-product .wd-carousel.wd-grid .wd-cat-thumb,
  body.tax-product_cat .wd-carousel.wd-grid .wd-cat-thumb,
  body.tax-product_tag .wd-carousel.wd-grid .wd-cat-thumb {
    width: 100% !important;
  }

  body.woocommerce-shop .wd-carousel.wd-grid .wd-cat-image,
  body.post-type-archive-product .wd-carousel.wd-grid .wd-cat-image,
  body.tax-product_cat .wd-carousel.wd-grid .wd-cat-image,
  body.tax-product_tag .wd-carousel.wd-grid .wd-cat-image { display: block !important;width: 100% !important;min-height: 220px !important; }

  body.woocommerce-shop .wd-carousel.wd-grid .wd-cat-content,
  body.post-type-archive-product .wd-carousel.wd-grid .wd-cat-content,
  body.tax-product_cat .wd-carousel.wd-grid .wd-cat-content,
  body.tax-product_tag .wd-carousel.wd-grid .wd-cat-content {
    padding-top: 12px !important;
    text-align: center !important;
  }

  body.woocommerce-shop .wd-carousel.wd-grid .wd-entities-title,
  body.post-type-archive-product .wd-carousel.wd-grid .wd-entities-title,
  body.tax-product_cat .wd-carousel.wd-grid .wd-entities-title,
  body.tax-product_tag .wd-carousel.wd-grid .wd-entities-title {
    min-height: auto !important;
    margin-bottom: 6px !important;
  }

  /* wył  czenie nawigacji slidera */
  body.woocommerce-shop .wd-carousel.wd-grid .wd-nav-arrows,
  body.post-type-archive-product .wd-carousel.wd-grid .wd-nav-arrows,
  body.tax-product_cat .wd-carousel.wd-grid .wd-nav-arrows,
  body.tax-product_tag .wd-carousel.wd-grid .wd-nav-arrows,
  body.woocommerce-shop .wd-carousel.wd-grid .swiper-notification,
  body.post-type-archive-product .wd-carousel.wd-grid .swiper-notification,
  body.tax-product_cat .wd-carousel.wd-grid .swiper-notification,
  body.tax-product_tag .wd-carousel.wd-grid .swiper-notification {
    display: none !important;
  }


  /* ---------------------------------------------------------
     3. "DODAJ DO WYCENY"  normalny wyglą d tak e na hover
     --------------------------------------------------------- */

  body.woocommerce-shop .product-grid-item .button,
  body.woocommerce-shop .product-grid-item .add_to_cart_button,
  body.woocommerce-shop .product-grid-item .single_add_to_cart_button,
  body.woocommerce-shop .product-grid-item .bundle_add_to_cart_button,
  body.woocommerce-shop .product-grid-item .wd-add-btn a,
  body.post-type-archive-product .product-grid-item .button,
  body.post-type-archive-product .product-grid-item .add_to_cart_button,
  body.post-type-archive-product .product-grid-item .single_add_to_cart_button,
  body.post-type-archive-product .product-grid-item .bundle_add_to_cart_button,
  body.post-type-archive-product .product-grid-item .wd-add-btn a,
  body.tax-product_cat .product-grid-item .button,
  body.tax-product_cat .product-grid-item .add_to_cart_button,
  body.tax-product_cat .product-grid-item .single_add_to_cart_button,
  body.tax-product_cat .product-grid-item .bundle_add_to_cart_button,
  body.tax-product_cat .product-grid-item .wd-add-btn a,
  body.tax-product_tag .product-grid-item .button,
  body.tax-product_tag .product-grid-item .add_to_cart_button,
  body.tax-product_tag .product-grid-item .single_add_to_cart_button,
  body.tax-product_tag .product-grid-item .bundle_add_to_cart_button,
  body.tax-product_tag .product-grid-item .wd-add-btn a,
  body.woocommerce-shop li.product .button,
  body.post-type-archive-product li.product .button,
  body.tax-product_cat li.product .button,
  body.tax-product_tag li.product .button {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    min-height: 50px !important;
    height: auto !important;
    padding: 12px 10px !important;
    font-size: 13px !important;
    line-height: 1.2 !important;
    font-weight: 600 !important;
    text-align: center !important;
    white-space: normal !important;
    word-break: normal !important;
    overflow-wrap: break-word !important;
    text-transform: none !important;
    letter-spacing: 0 !important;
  }

  body.woocommerce-shop .product-grid-item .button:hover,
  body.woocommerce-shop .product-grid-item .add_to_cart_button:hover,
  body.woocommerce-shop .product-grid-item .single_add_to_cart_button:hover,
  body.woocommerce-shop .product-grid-item .bundle_add_to_cart_button:hover,
  body.woocommerce-shop .product-grid-item .wd-add-btn a:hover,
  body.post-type-archive-product .product-grid-item .button:hover,
  body.post-type-archive-product .product-grid-item .add_to_cart_button:hover,
  body.post-type-archive-product .product-grid-item .single_add_to_cart_button:hover,
  body.post-type-archive-product .product-grid-item .bundle_add_to_cart_button:hover,
  body.post-type-archive-product .product-grid-item .wd-add-btn a:hover,
  body.tax-product_cat .product-grid-item .button:hover,
  body.tax-product_cat .product-grid-item .add_to_cart_button:hover,
  body.tax-product_cat .product-grid-item .single_add_to_cart_button:hover,
  body.tax-product_cat .product-grid-item .bundle_add_to_cart_button:hover,
  body.tax-product_cat .product-grid-item .wd-add-btn a:hover,
  body.tax-product_tag .product-grid-item .button:hover,
  body.tax-product_tag .product-grid-item .add_to_cart_button:hover,
  body.tax-product_tag .product-grid-item .single_add_to_cart_button:hover,
  body.tax-product_tag .product-grid-item .bundle_add_to_cart_button:hover,
  body.tax-product_tag .product-grid-item .wd-add-btn a:hover,
  body.woocommerce-shop li.product .button:hover,
  body.post-type-archive-product li.product .button:hover,
  body.tax-product_cat li.product .button:hover,
  body.tax-product_tag li.product .button:hover {
    min-height: 50px !important;
    height: auto !important;
    padding: 12px 10px !important;
    font-size: 13px !important;
    line-height: 1.2 !important;
    text-transform: none !important;
    letter-spacing: 0 !important;
    white-space: normal !important;
    word-break: normal !important;
    overflow-wrap: break-word !important;
    color: #fff !important;
  }

  body.woocommerce-shop .product-grid-item .wd-add-btn,
  body.post-type-archive-product .product-grid-item .wd-add-btn,
  body.tax-product_cat .product-grid-item .wd-add-btn,
  body.tax-product_tag .product-grid-item .wd-add-btn,
  body.woocommerce-shop .product-grid-item .wrap-button,
  body.post-type-archive-product .product-grid-item .wrap-button,
  body.tax-product_cat .product-grid-item .wrap-button,
  body.tax-product_tag .product-grid-item .wrap-button {
    width: 100% !important;
  }
}
/* =========================================================
   MOBILE  hover koszyka bez mocnego przeskoku
   ========================================================= */

@media (max-width: 767px) {

  body.woocommerce-shop .product-grid-item .wd-add-btn > a,
  body.post-type-archive-product .product-grid-item .wd-add-btn > a,
  body.tax-product_cat .product-grid-item .wd-add-btn > a,
  body.tax-product_tag .product-grid-item .wd-add-btn > a,
  body.woocommerce-shop li.product .wd-add-btn > a,
  body.post-type-archive-product li.product .wd-add-btn > a,
  body.tax-product_cat li.product .wd-add-btn > a,
  body.tax-product_tag li.product .wd-add-btn > a {
    position: relative !important;
    overflow: hidden !important;
    transition:
      background-color 0.2s ease,
      border-color 0.2s ease,
      color 0.16s ease !important;
  }

  /* domyś lnie ikonka ukryta */
  body.woocommerce-shop .product-grid-item .wd-add-btn > a::before,
  body.post-type-archive-product .product-grid-item .wd-add-btn > a::before,
  body.tax-product_cat .product-grid-item .wd-add-btn > a::before,
  body.tax-product_tag .product-grid-item .wd-add-btn > a::before,
  body.woocommerce-shop li.product .wd-add-btn > a::before,
  body.post-type-archive-product li.product .wd-add-btn > a::before,
  body.tax-product_cat li.product .wd-add-btn > a::before,
  body.tax-product_tag li.product .wd-add-btn > a::before {
    position: absolute !important;
    left: 50% !important;
    top: 50% !important;
    transform: translate(-50%, -50%) !important;
    opacity: 0 !important;
    transition: opacity 0.16s ease !important;
  }

  /* hover: tekst znika pł ynnie, ikonka si  pokazuje */
  body.woocommerce-shop .product-grid-item .wd-add-btn > a:hover,
  body.post-type-archive-product .product-grid-item .wd-add-btn > a:hover,
  body.tax-product_cat .product-grid-item .wd-add-btn > a:hover,
  body.tax-product_tag .product-grid-item .wd-add-btn > a:hover,
  body.woocommerce-shop li.product .wd-add-btn > a:hover,
  body.post-type-archive-product li.product .wd-add-btn > a:hover,
  body.tax-product_cat li.product .wd-add-btn > a:hover,
  body.tax-product_tag li.product .wd-add-btn > a:hover {
    color: transparent !important;
    text-shadow: none !important;
  }

  body.woocommerce-shop .product-grid-item .wd-add-btn > a:hover::before,
  body.post-type-archive-product .product-grid-item .wd-add-btn > a:hover::before,
  body.tax-product_cat .product-grid-item .wd-add-btn > a:hover::before,
  body.tax-product_tag .product-grid-item .wd-add-btn > a:hover::before,
  body.woocommerce-shop li.product .wd-add-btn > a:hover::before,
  body.post-type-archive-product li.product .wd-add-btn > a:hover::before,
  body.tax-product_cat li.product .wd-add-btn > a:hover::before,
  body.tax-product_tag li.product .wd-add-btn > a:hover::before {
    opacity: 1 !important;
    color: #fff !important;
    text-shadow: none !important;
  }
}
/* =========================================================
   MOBILE  JEDEN STYL DLA WSZYSTKICH BANNERÓW
   poza home
   WLEJ NA SAM DÓŁ  CSS
   ========================================================= */

@media (max-width: 767px) {

  /* ---------------------------------------------------------
     1. WSPÓLNA WYSOKOŚ   BANNERÓW
     --------------------------------------------------------- */

  body.woocommerce-shop .elementor-element-57d2cbf .wd-image,
  body.post-type-archive-product .elementor-element-57d2cbf .wd-image,
  body.tax-product_cat .elementor-element-57d2cbf .wd-image,
  body.tax-product_tag .elementor-element-57d2cbf .wd-image,
  body:is(.page-id-51, .page-id-31488, .woocommerce-cart, .page-id-29938, .woocommerce-checkout, .woocommerce-account, .page-id-30264) .page-title,
  body:is(.page-id-51, .page-id-31488, .woocommerce-cart, .page-id-29938, .woocommerce-checkout, .woocommerce-account, .page-id-30264) .wd-page-title,
  .nw-faq-top,
  .nw-contact-top{
    height: 200px !important;
    min-height: 200px !important;
  }

  body.woocommerce-shop .elementor-element-57d2cbf .wd-image img,
  body.post-type-archive-product .elementor-element-57d2cbf .wd-image img,
  body.tax-product_cat .elementor-element-57d2cbf .wd-image img,
  body.tax-product_tag .elementor-element-57d2cbf .wd-image img {
    height: 200px !important;
    min-height: 200px !important;
    object-fit: cover !important;
    object-position: center center !important;
  }

  /* ---------------------------------------------------------
     2. WSPÓLNY UKŁ AD TRE CI BANNERÓW
     --------------------------------------------------------- */

  body:is(.page-id-51, .page-id-31488, .woocommerce-cart, .page-id-29938, .woocommerce-checkout, .woocommerce-account, .page-id-30264) .page-title .container,
  body:is(.page-id-51, .page-id-31488, .woocommerce-cart, .page-id-29938, .woocommerce-checkout, .woocommerce-account, .page-id-30264) .wd-page-title .container,
  body:is(.page-id-51, .page-id-31488, .woocommerce-cart, .page-id-29938, .woocommerce-checkout, .woocommerce-account, .page-id-30264) .page-title .title-wrapper,
  body:is(.page-id-51, .page-id-31488, .woocommerce-cart, .page-id-29938, .woocommerce-checkout, .woocommerce-account, .page-id-30264) .wd-page-title .title-wrapper,
  .nw-faq-top,
  .nw-contact-top{
    padding-left: 16px !important;
    padding-right: 16px !important;
    align-items: center !important;
    justify-content: center !important;
    text-align: center !important;
  }

  /* ---------------------------------------------------------
     3. WSPÓLNY STYL TYTUŁ ÓW
     --------------------------------------------------------- */

  /* Wypoż ycz */
  body.woocommerce-shop .elementor-element-57d2cbf .wd-image::after,
  body.post-type-archive-product .elementor-element-57d2cbf .wd-image::after,
  body.tax-product_cat .elementor-element-57d2cbf .wd-image::after,
  body.tax-product_tag .elementor-element-57d2cbf .wd-image::after,

  /* bannery z pseudo-tytuł em */
  body:is(.page-id-51, .page-id-31488, .woocommerce-cart, .page-id-29938, .woocommerce-checkout) .page-title::after,
  body:is(.page-id-51, .page-id-31488, .woocommerce-cart, .page-id-29938, .woocommerce-checkout) .wd-page-title::after,

  /* bannery z normalnym h1 */
  body.woocommerce-account .page-title h1,
  body.woocommerce-account .wd-page-title h1,
  body.page-id-30264 .page-title h1,
  body.page-id-30264 .wd-page-title h1,
  .nw-faq-top h1,
  .nw-contact-top h1{
    width: calc(100vw - 32px) !important;
    max-width: 680px !important;
    margin: 0 auto !important;
    padding: 0 !important;
    font-size: clamp(32px, 10.2vw, 42px) !important;
    line-height: 1.04 !important;
    font-weight: 600 !important;
    text-align: center !important;
    white-space: normal !important;
    word-break: normal !important;
    overflow-wrap: break-word !important;
  }

  /* korekta pozycji pseudo-tytuł ów */
  body:is(.page-id-51, .page-id-31488, .woocommerce-cart, .page-id-29938, .woocommerce-checkout) .page-title::after,
  body:is(.page-id-51, .page-id-31488, .woocommerce-cart, .page-id-29938, .woocommerce-checkout) .wd-page-title::after {
    left: 50% !important;
    top: 50% !important;
    right: auto !important;
    transform: translate(-50%, -50%) !important;
  }

  /* ---------------------------------------------------------
     4. WSPÓLNY STYL OPISÓW POD TYTUŁ EM
     --------------------------------------------------------- */

  body.page-id-30264 .page-title p,
  body.page-id-30264 .wd-page-title p,
  .nw-faq-top p,
  .nw-contact-top p{
    max-width: 680px !important;
    margin: 12px auto 0 !important;
    padding: 0 6px !important;
    font-size: 14px !important;
    line-height: 1.55 !important;
    text-align: center !important;
    white-space: normal !important;
    word-break: normal !important;
    overflow-wrap: break-word !important;
  }

  /* ---------------------------------------------------------
     5. WSPÓLNY ODSTĘ P POD BANNEREM
     --------------------------------------------------------- */

  body.woocommerce-shop .elementor-element-57d2cbf .wd-image,
  body.post-type-archive-product .elementor-element-57d2cbf .wd-image,
  body.tax-product_cat .elementor-element-57d2cbf .wd-image,
  body.tax-product_tag .elementor-element-57d2cbf .wd-image,
  body:is(.page-id-51, .page-id-31488, .woocommerce-cart, .page-id-29938, .woocommerce-checkout, .woocommerce-account, .page-id-30264) .page-title,
  body:is(.page-id-51, .page-id-31488, .woocommerce-cart, .page-id-29938, .woocommerce-checkout, .woocommerce-account, .page-id-30264) .wd-page-title,
  .nw-faq-top,
  .nw-contact-top{
    margin-bottom: 24px !important;
  }

  /* ---------------------------------------------------------
     6. BREADCRUMBS OFF
     --------------------------------------------------------- */

  body:is(.page-id-51, .page-id-31488, .woocommerce-cart, .page-id-29938, .woocommerce-checkout, .woocommerce-account, .page-id-30264) .breadcrumbs,
  body:is(.page-id-51, .page-id-31488, .woocommerce-cart, .page-id-29938, .woocommerce-checkout, .woocommerce-account, .page-id-30264) .wd-breadcrumbs,
  body:is(.page-id-51, .page-id-31488, .woocommerce-cart, .page-id-29938, .woocommerce-checkout, .woocommerce-account, .page-id-30264) .yoast-breadcrumb,
  .nw-faq-top .breadcrumbs,
  .nw-faq-top .wd-breadcrumbs,
  .nw-contact-top .breadcrumbs,
  .nw-contact-top .wd-breadcrumbs{
    display: none !important;
  }
}
@media (max-width: 767px) {
  .nw-contact-top p {
    display: none !important;
  }
}
/* =========================================================
   KONTAKT  banner identyczny jak pozostał e bannery
   WLEJ NA SAM DÓŁ  CSS
   ========================================================= */

/* sekcja kontaktu nie moż e ucina  bannera */
.nw-contact-page {
  max-width: var(--nw-content-max) !important;
  margin: 0 auto !important;
  padding: 0 20px 80px !important;
  overflow: visible !important;
  box-sizing: border-box !important;
}

/* sam banner */
.nw-contact-page > .nw-contact-top { left: 50% !important;transform: translateX(-50%) !important;width: 100vw !important;max-width: 100vw !important;min-width: 100vw !important;height: 320px !important;min-height: 320px !important;margin: 0 0 42px !important;padding: 0 !important;display: flex !important;flex-direction: column !important;align-items: center !important;justify-content: center !important;text-align: center !important;border: 0 !important;border-radius: 0 !important;box-shadow: none !important;background: none !important; }

/* zdję cie */


/* overlay jak w innych bannerach */
.nw-contact-page > .nw-contact-top::after { position: absolute !important;inset: 0 !important;z-index: 2 !important;background: rgba(0, 0, 0, 0.35) !important; }

/* tekst */
.nw-contact-page > .nw-contact-top h1,
.nw-contact-page > .nw-contact-top p {
  position: relative !important;
  z-index: 3 !important;
  max-width: 760px !important;
  padding-left: 20px !important;
  padding-right: 20px !important;
}

.nw-contact-page > .nw-contact-top h1 {
  margin: 0 !important;
  color: #fff !important;
  font-size: clamp(30px, 3.4vw, 44px) !important; /* (2026-07-03) kanon banerow — bylo 72/700 */
  line-height: 1.15 !important;
  font-weight: 600 !important;
  text-align: center !important;
  font-family: Poppins, "Helvetica Neue", Arial, sans-serif !important; /* (audyt 2026-06-25) hero = czcionka storefrontu */
}

.nw-contact-page > .nw-contact-top p {
  margin: 18px auto 0 !important;
  color: rgba(255, 255, 255, 0.92) !important;
  font-size: 18px !important;
  line-height: 1.55 !important;
  text-align: center !important;
  font-family: Poppins, "Helvetica Neue", Arial, sans-serif !important;
}

/* content pod bannerem zostaje w normalnej szerokoś ci */
.nw-contact-page > .nw-contact-grid {
  max-width: 1100px !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

/* tablet */
@media (max-width: 1024px) {
  .nw-contact-page > .nw-contact-top {
    height: 220px !important;
    min-height: 220px !important;
    margin-bottom: 30px !important;
  }

  .nw-contact-page > .nw-contact-top h1 {
    font-size: 42px !important;
    line-height: 1.05 !important;
  }

  .nw-contact-page > .nw-contact-top p {
    font-size: 15px !important;
    line-height: 1.5 !important;
  }
}

/* mobile */
@media (max-width: 767px) {
  .nw-contact-page {
    padding: 0 14px 50px !important;
    overflow-x: visible !important;
  }

  .nw-contact-page > .nw-contact-top {
    height: 200px !important;
    min-height: 200px !important;
    margin-bottom: 24px !important;
  }

  .nw-contact-page > .nw-contact-top h1 {
    font-size: clamp(28px, 11vw, 42px) !important;
    line-height: 1 !important;
    padding-left: 14px !important;
    padding-right: 14px !important;
  }

  .nw-contact-page > .nw-contact-top p {
    display: none !important;
  }
}
/* =========================================================
   FIX  GŁ ÓWNE PRZYCISKI / GALERIA / CTA
   ========================================================= */

.website-wrapper .home a.nw-shop-cta-btn,
.website-wrapper .nw-gallery-tab,
.website-wrapper .nw-gallery-bundle-btn,
.website-wrapper body.page-id-29938 .nw-reservation-bottom .button,
.website-wrapper body.page-id-29938 .nw-reservation-bottom button,
.website-wrapper body.page-id-29938 .nw-reservation-bottom a.button,
.website-wrapper body.page-id-29938 .nw-reservation-actions .button,
.website-wrapper body.page-id-29938 .nw-reservation-actions button,
.website-wrapper body.page-id-29938 .nw-reservation-actions a.button {
  background: #d4ba87 !important;
  border-color: #d4ba87 !important;
  color: #1a1407 !important;
  -webkit-text-fill-color: #1a1407 !important;
  border-radius: 8px !important;
  text-decoration: none !important;
}

.website-wrapper .home a.nw-shop-cta-btn:hover,
.website-wrapper .home a.nw-shop-cta-btn:focus,
.website-wrapper .nw-gallery-tab:hover,
.website-wrapper .nw-gallery-tab:focus,
.website-wrapper .nw-gallery-tab.is-active,
.website-wrapper .nw-gallery-bundle-btn:hover,
.website-wrapper .nw-gallery-bundle-btn:focus,
.website-wrapper body.page-id-29938 .nw-reservation-bottom .button:hover,
.website-wrapper body.page-id-29938 .nw-reservation-bottom button:hover,
.website-wrapper body.page-id-29938 .nw-reservation-bottom a.button:hover,
.website-wrapper body.page-id-29938 .nw-reservation-actions .button:hover,
.website-wrapper body.page-id-29938 .nw-reservation-actions button:hover,
.website-wrapper body.page-id-29938 .nw-reservation-actions a.button:hover {
  background: #c9a84c !important;
  border-color: #c9a84c !important;
  color: #1a1407 !important;
  -webkit-text-fill-color: #1a1407 !important;
  text-decoration: none !important;
}

/* dodatkowe zabezpieczenie na span i link w galerii */
.website-wrapper a.nw-gallery-bundle-btn,
.website-wrapper a.nw-gallery-bundle-btn:hover,
.website-wrapper a.nw-gallery-bundle-btn:focus,
.website-wrapper span.nw-gallery-bundle-btn,
.website-wrapper span.nw-gallery-bundle-btn:hover,
.website-wrapper span.nw-gallery-bundle-btn:focus {
  text-decoration: none !important;
}

.website-wrapper .nw-gallery-bundle-btn.is-disabled,
.website-wrapper span.nw-gallery-bundle-btn.is-disabled {
  background: #e9e9e9 !important;
  border-color: #dcdcdc !important;
  color: #777 !important;
}

/* =========================================================
   CHECKOUT  mocniejsze promowanie opcji "Zarezerwuj termin"
   + poprawa formatowania bł  dów w formularzu
   ========================================================= */

/* ---------------------------------------------------------
   1. GŁ ÓWNA AKCJA W KASIE  "Zarezerwuj termin"
   --------------------------------------------------------- */

.woocommerce-checkout .nw-order-actions {
  margin-top: 24px !important;
}

.woocommerce-checkout .nw-main-submit {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  min-height: 74px !important;
  padding: 0 24px !important;

  background: #d4ba87 !important;
  border: 2px solid #d4ba87 !important;
  color: #1a1407 !important;

  font-size: 18px !important;
  line-height: 1.1 !important;
  font-weight: 600 !important;
  letter-spacing: 0.04em !important;
  text-transform: uppercase !important;
  text-align: center !important;

  box-shadow: 0 14px 30px rgba(0, 0, 0, 0.10) !important;
  transition: background-color 0.2s ease, border-color 0.2s ease, color 0.2s ease, transform 0.2s ease !important;
}

.woocommerce-checkout .nw-main-submit:hover {
  background: #111 !important;
  border-color: #111 !important;
  color: #fff !important;
  transform: translateY(-1px) !important;
}

.woocommerce-checkout .nw-main-submit-note {
  margin: 12px 0 16px !important;
  text-align: center !important;
  color: #111 !important;
  font-size: 15px !important;
  line-height: 1.65 !important;
  font-weight: 500 !important;
}

/* ---------------------------------------------------------
   2. DRUGA OPCJA  "sama wycena" mniej dominują ca
   --------------------------------------------------------- */

.woocommerce-checkout .nw-secondary-submit {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;

  width: 82% !important;
  max-width: 420px !important;
  min-height: 44px !important;
  margin: 0 auto !important;
  padding: 0 18px !important;

  background: #fff !important;
  border: 1px solid rgba(212, 186, 135, 0.55) !important;
  color: #5f5f5f !important;

  font-size: 13px !important;
  line-height: 1.15 !important;
  font-weight: 600 !important;
  text-transform: none !important;
  letter-spacing: 0 !important;

  box-shadow: none !important;
}

.woocommerce-checkout .nw-secondary-submit:hover {
  background: #faf8f4 !important;
  border-color: #d4ba87 !important;
  color: #111 !important;
}

/* ---------------------------------------------------------
   3. BŁ  DY W FORMULARZU  poprawne u o enie ikon i tekstu
   --------------------------------------------------------- */

body.page-id-29938 .woocommerce-error,
body.page-id-29938 .woocommerce-message,
body.page-id-29938 .woocommerce-info,
.woocommerce-checkout .woocommerce-error,
.woocommerce-checkout .woocommerce-message,
.woocommerce-checkout .woocommerce-info {
  position: relative !important;
  padding: 18px 22px 18px 54px !important;
  box-sizing: border-box !important;
}

body.page-id-29938 .woocommerce-error::before,
body.page-id-29938 .woocommerce-message::before,
body.page-id-29938 .woocommerce-info::before,
.woocommerce-checkout .woocommerce-error::before,
.woocommerce-checkout .woocommerce-message::before,
.woocommerce-checkout .woocommerce-info::before {
  left: 20px !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
  margin: 0 !important;
}

body.page-id-29938 .woocommerce-error li,
body.page-id-29938 .woocommerce-message li,
body.page-id-29938 .woocommerce-info li,
.woocommerce-checkout .woocommerce-error li,
.woocommerce-checkout .woocommerce-message li,
.woocommerce-checkout .woocommerce-info li {
  margin: 0 !important;
  padding: 0 !important;
  line-height: 1.6 !important;
}

/* gdy komunikat nie jest listą  */
body.page-id-29938 .woocommerce-error,
body.page-id-29938 .woocommerce-message,
body.page-id-29938 .woocommerce-info,
.woocommerce-checkout .woocommerce-error,
.woocommerce-checkout .woocommerce-message,
.woocommerce-checkout .woocommerce-info {
  font-size: 15px !important;
  line-height: 1.6 !important;
}

/* ---------------------------------------------------------
   4. MOBILE
   --------------------------------------------------------- */

@media (max-width: 767px) {
  .woocommerce-checkout .nw-main-submit {
    min-height: 68px !important;
    padding: 14px 16px !important;
    font-size: 16px !important;
    line-height: 1.2 !important;
  }

  .woocommerce-checkout .nw-main-submit-note {
    font-size: 14px !important;
    line-height: 1.6 !important;
  }

  .woocommerce-checkout .nw-secondary-submit {
    width: 100% !important;
    max-width: 100% !important;
    min-height: 42px !important;
    font-size: 12px !important;
    padding: 10px 14px !important;
  }

  body.page-id-29938 .woocommerce-error,
  body.page-id-29938 .woocommerce-message,
  body.page-id-29938 .woocommerce-info,
  .woocommerce-checkout .woocommerce-error,
  .woocommerce-checkout .woocommerce-message,
  .woocommerce-checkout .woocommerce-info {
    padding: 16px 16px 16px 46px !important;
    font-size: 14px !important;
  }

  body.page-id-29938 .woocommerce-error::before,
  body.page-id-29938 .woocommerce-message::before,
  body.page-id-29938 .woocommerce-info::before,
  .woocommerce-checkout .woocommerce-error::before,
  .woocommerce-checkout .woocommerce-message::before,
  .woocommerce-checkout .woocommerce-info::before {
    left: 16px !important;
  }
}
/* =========================================================
   FORMULARZ  spokojniejsze komunikaty bez "Do poprawy"
   ========================================================= */

body.page-id-29938 .woocommerce-error,
body.page-id-29938 .nw-form-errors,
.woocommerce-checkout .woocommerce-error {
  position: relative !important;
  margin: 0 0 24px !important;
  padding: 16px 18px !important;
  background: #fff8f1 !important;
  border: 1px solid #e7c38a !important;
  color: #8b5a2b !important;
  box-shadow: none !important;
  list-style: none !important;
}

/* usuń  domy lne ikonki / znaczniki WooCommerce */
body.page-id-29938 .woocommerce-error::before,
body.page-id-29938 .woocommerce-error::after,
body.page-id-29938 .nw-form-errors::before,
body.page-id-29938 .nw-form-errors::after,
.woocommerce-checkout .woocommerce-error::before,
.woocommerce-checkout .woocommerce-error::after {
  display: none !important;
  content: none !important;
}

body.page-id-29938 .woocommerce-error li,
body.page-id-29938 .nw-form-errors li,
.woocommerce-checkout .woocommerce-error li {
  margin: 0 0 8px !important;
  padding: 0 !important;
  list-style: none !important;
  color: #8b5a2b !important;
  font-size: 15px !important;
  line-height: 1.65 !important;
}

body.page-id-29938 .woocommerce-error li:last-child,
body.page-id-29938 .nw-form-errors li:last-child,
.woocommerce-checkout .woocommerce-error li:last-child {
  margin-bottom: 0 !important;
}

/* delikatny separator zamiast ostrych bulletów */
body.page-id-29938 .woocommerce-error li + li,
body.page-id-29938 .nw-form-errors li + li,
.woocommerce-checkout .woocommerce-error li + li {
  padding-top: 8px !important;
  border-top: 1px solid rgba(231, 195, 138, 0.35) !important;
}

/* pola z bł  dem  spokojniejsze pod wietlenie */







/* =========================================================
   FORMULARZ  przywrócenie czerwonego zaznaczenia pól z bł  dem
   przy spokojniejszym boxie komunikatu
   ========================================================= */

body.page-id-29938 .nw-reservation-form .form-row.nw-required-error,
body.page-id-29938 .nw-reservation-form .form-row-wide.nw-required-error,
body.page-id-29938 .nw-reservation-form .form-row-first.nw-required-error,
body.page-id-29938 .nw-reservation-form .form-row-last.nw-required-error,
body.page-id-29938 #nw-can-anchor-wrap.nw-required-error {
  /* (2026-07-07, user „nie dawaj tego paska po lewo, normalne czerwone ramki") pasek po lewej USUNIETY —
     blad widac przez czerwona ramke inputa/kafla (#d92d20) + czerwona etykiete. Zero akcentu z lewej. */
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-sizing: border-box !important;
}

body.page-id-29938 .nw-reservation-form .form-row.nw-required-error label,
body.page-id-29938 .nw-reservation-form .form-row-wide.nw-required-error label,
body.page-id-29938 .nw-reservation-form .form-row-first.nw-required-error label,
body.page-id-29938 .nw-reservation-form .form-row-last.nw-required-error label,
body.page-id-29938 #nw-can-anchor-wrap.nw-required-error label {
  color: #c0402a !important;
}

body.page-id-29938 .nw-reservation-form .form-row.nw-required-error input,
body.page-id-29938 .nw-reservation-form .form-row.nw-required-error select,
body.page-id-29938 .nw-reservation-form .form-row.nw-required-error textarea,
body.page-id-29938 .nw-reservation-form .form-row-wide.nw-required-error input,
body.page-id-29938 .nw-reservation-form .form-row-wide.nw-required-error select,
body.page-id-29938 .nw-reservation-form .form-row-wide.nw-required-error textarea,
body.page-id-29938 .nw-reservation-form .form-row-first.nw-required-error input,
body.page-id-29938 .nw-reservation-form .form-row-first.nw-required-error select,
body.page-id-29938 .nw-reservation-form .form-row-first.nw-required-error textarea,
body.page-id-29938 .nw-reservation-form .form-row-last.nw-required-error input,
body.page-id-29938 .nw-reservation-form .form-row-last.nw-required-error select,
body.page-id-29938 .nw-reservation-form .form-row-last.nw-required-error textarea,
body.page-id-29938 #nw-can-anchor-wrap.nw-required-error select,
body.page-id-29938 #nw-can-anchor-wrap.nw-required-error input {
  background: #fffaf8 !important;
  border: 1.5px solid #e0684f !important;
  box-shadow: 0 0 0 3px rgba(224,104,79,.12) !important;
}

body.page-id-29938 .nw-reservation-form .nw-required-error input:focus,
body.page-id-29938 .nw-reservation-form .nw-required-error select:focus,
body.page-id-29938 .nw-reservation-form .nw-required-error textarea:focus,
body.page-id-29938 #nw-can-anchor-wrap.nw-required-error input:focus,
body.page-id-29938 #nw-can-anchor-wrap.nw-required-error select:focus {
  border-color: #d92d20 !important;
  box-shadow: 0 0 0 1px rgba(217, 45, 32, 0.12) !important;
  outline: none !important;
}
/* =========================================================
   FORMULARZ  ukrycie nagł ówka "Popraw prosz  formularz:"
   zostają  tylko konkretne komunikaty b  dów
   ========================================================= */

body.page-id-29938 .nw-form-errors strong,
body.page-id-29938 .nw-form-errors b,
body.page-id-29938 .nw-form-errors > p:first-child,
body.page-id-29938 .woocommerce-error > strong,
body.page-id-29938 .woocommerce-error > b,
.woocommerce-checkout .woocommerce-error > strong,
.woocommerce-checkout .woocommerce-error > b {
  display: none !important;
}

body.page-id-29938 .nw-form-errors,
body.page-id-29938 .woocommerce-error,
.woocommerce-checkout .woocommerce-error {
  padding-top: 16px !important;
}

body.page-id-29938 .nw-form-errors ul,
body.page-id-29938 .woocommerce-error,
.woocommerce-checkout .woocommerce-error {
  margin: 0 !important;
}

body.page-id-29938 .nw-form-errors li,
body.page-id-29938 .woocommerce-error li,
.woocommerce-checkout .woocommerce-error li {
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
}
/* =========================================================
   CHECKOUT  róż ny wygl d przy 2 akcjach i przy samej wycenie
   ========================================================= */

/* ---------------------------------------------------------
   1. GDY SĄ  DWA PRZYCISKI  obecna, mocna hierarchia
   --------------------------------------------------------- */

.woocommerce-checkout .nw-order-actions:has(.nw-main-submit):has(.nw-secondary-submit) .nw-main-submit {
  width: 100% !important;
  max-width: 100% !important;
  min-height: 74px !important;
  font-size: 18px !important;
}

.woocommerce-checkout .nw-order-actions:has(.nw-main-submit):has(.nw-secondary-submit) .nw-secondary-submit {
  width: 82% !important;
  max-width: 420px !important;
  min-height: 44px !important;
  margin: 0 auto !important;
}

/* ---------------------------------------------------------
   2. GDY JEST TYLKO JEDNA AKCJA  "wyś lij tylko wycen "
   ma być  spokojniejsza i mniej dominuj ca
   --------------------------------------------------------- */

.woocommerce-checkout .nw-order-actions:not(:has(.nw-secondary-submit)) .nw-main-submit,
.woocommerce-checkout .nw-order-actions:not(:has(.nw-main-submit)) .nw-secondary-submit {
  width: min(420px, 100%) !important;
  max-width: 420px !important;
  min-height: 56px !important;
  margin: 0 auto !important;
  padding: 0 22px !important;

  font-size: 15px !important;
  line-height: 1.15 !important;
  letter-spacing: 0.02em !important;
  text-transform: uppercase !important;

  box-shadow: none !important;
}

/* trochę  l ejszy box, gdy jest tylko wycena */
.woocommerce-checkout .nw-order-actions:not(:has(.nw-secondary-submit)) {
  align-items: center !important;
}

/* tekst pod samą  wycen  te  troch  w  szy */
.woocommerce-checkout .nw-order-actions:not(:has(.nw-secondary-submit)) + .nw-main-submit-note,
.woocommerce-checkout .nw-order-actions:not(:has(.nw-secondary-submit)) ~ .nw-main-submit-note {
  max-width: 560px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  text-align: center !important;
}

/* ---------------------------------------------------------
   3. WERSJA MOBILE
   --------------------------------------------------------- */

@media (max-width: 767px) {
  .woocommerce-checkout .nw-order-actions:has(.nw-main-submit):has(.nw-secondary-submit) .nw-main-submit {
    min-height: 68px !important;
    font-size: 16px !important;
  }

  .woocommerce-checkout .nw-order-actions:has(.nw-main-submit):has(.nw-secondary-submit) .nw-secondary-submit {
    width: 100% !important;
    max-width: 100% !important;
  }

  .woocommerce-checkout .nw-order-actions:not(:has(.nw-secondary-submit)) .nw-main-submit,
  .woocommerce-checkout .nw-order-actions:not(:has(.nw-main-submit)) .nw-secondary-submit {
    width: 100% !important;
    max-width: 100% !important;
    min-height: 52px !important;
    font-size: 14px !important;
    padding: 12px 16px !important;
  }
}
/* =========================================================
   SINGLE PRODUCT  usuń  pust  kolumn  po compare
   i rozcią gnij "Zamów w zestawie"
   ========================================================= */

/* 1. ukryj cał y kontener compare, a nie tylko sam przycisk */
body.single-product .elementor-element.elementor-element-1cdddcbf,
body.single-product .elementor-element.elementor-element-16e258,
body.single-product .elementor-widget-wd_single_product_compare_button,
body.single-product .wd-single-compare-btn,
body.single-product .wd-compare-btn {
  display: none !important;
  width: 0 !important;
  min-width: 0 !important;
  max-width: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  flex: 0 0 0 !important;
}

/* 2. rodzic po prawej stronie produktu */
body.single-product .elementor-element.elementor-element-79060157 {
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
}

/* 3. kontener add to cart / bundle ma wypeł ni  ca e miejsce */
body.single-product .elementor-element.elementor-element-79060157
  > .elementor-element.elementor-element-5c3430e2,
body.single-product .elementor-element.elementor-element-79060157
  > .elementor-element.elementor-element-5c3430e2
  > .elementor-widget-container,
body.single-product .elementor-widget-wd_single_product_add_to_cart,
body.single-product .elementor-widget-wd_single_product_add_to_cart
  > .elementor-widget-container,
body.single-product .wd-single-add-cart {
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  flex: 0 0 100% !important;
  margin: 0 !important;
}

/* 4. sam formularz bundle */
body.single-product
  form.cart.cart_group.bundle_form.layout_default.group_mode_parent.small_width {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 18px !important;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  margin: 18px 0 0 !important;
  padding: 0 !important;
  box-sizing: border-box !important;
}

/* 5. każ da karta */
body.single-product
  form.cart.cart_group.bundle_form.layout_default.group_mode_parent.small_width
  > .bundled_product { width: auto !important;min-width: 0 !important;max-width: none !important;margin: 0 !important;border: 1px solid #ececec !important;background: #fff !important;box-sizing: border-box !important;overflow: hidden !important;float: none !important; }

/* 6. zdję cie normalnie przyci te */
body.single-product
  form.cart.cart_group.bundle_form.layout_default.group_mode_parent.small_width
  .bundled_product_images,
body.single-product
  form.cart.cart_group.bundle_form.layout_default.group_mode_parent.small_width
  .bundled_product_image,
body.single-product
  form.cart.cart_group.bundle_form.layout_default.group_mode_parent.small_width
  .bundled_product_image a,
body.single-product
  form.cart.cart_group.bundle_form.layout_default.group_mode_parent.small_width
  .woocommerce-product-gallery__image,
body.single-product
  form.cart.cart_group.bundle_form.layout_default.group_mode_parent.small_width
  .woocommerce-product-gallery__image--placeholder,
body.single-product
  form.cart.cart_group.bundle_form.layout_default.group_mode_parent.small_width
  .placeholder_image {
  width: 96px !important;
  height: 96px !important;
  min-width: 96px !important;
  min-height: 96px !important;
  max-width: 96px !important;
  max-height: 96px !important;
  margin: 0 auto 12px !important;
  overflow: hidden !important;
  background: #f4f4f4 !important;
  display: block !important;
}

body.single-product
  form.cart.cart_group.bundle_form.layout_default.group_mode_parent.small_width
  .bundled_product_images img,
body.single-product
  form.cart.cart_group.bundle_form.layout_default.group_mode_parent.small_width
  .bundled_product_image img,
body.single-product
  form.cart.cart_group.bundle_form.layout_default.group_mode_parent.small_width
  .woocommerce-product-gallery__image img,
body.single-product
  form.cart.cart_group.bundle_form.layout_default.group_mode_parent.small_width
  .woocommerce-product-gallery__image--placeholder img,
body.single-product
  form.cart.cart_group.bundle_form.layout_default.group_mode_parent.small_width
  .placeholder_image img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  object-position: center center !important;
  display: block !important;
}

/* 7. nazwa */
body.single-product
  form.cart.cart_group.bundle_form.layout_default.group_mode_parent.small_width
  .item_title {
  display: block !important;
  min-height: 52px !important;
  margin: 0 0 10px !important;
  font-size: 14px !important;
  line-height: 1.2 !important;
  font-weight: 600 !important;
  text-align: center !important;
  word-break: break-word !important;
  overflow-wrap: break-word !important;
}

/* 8. cena */


body.single-product
  form.cart.cart_group.bundle_form.layout_default.group_mode_parent.small_width
  .bundled_item_cart_details .price,
body.single-product
  form.cart.cart_group.bundle_form.layout_default.group_mode_parent.small_width
  .bundled_item_cart_details .amount,
body.single-product
  form.cart.cart_group.bundle_form.layout_default.group_mode_parent.small_width
  .bundled_item_cart_details .bundled_item_price_quantity {
  color: #d4ba87 !important;
  font-size: 13px !important;
  line-height: 1.3 !important;
  font-weight: 600 !important;
}

/* 9. licznik */




body.single-product
  form.cart.cart_group.bundle_form.layout_default.group_mode_parent.small_width
  .quantity .minus,
body.single-product
  form.cart.cart_group.bundle_form.layout_default.group_mode_parent.small_width
  .quantity .plus { width: auto !important;height: 36px !important;min-height: 36px !important;margin: 0 !important;padding: 0 !important;background: #000 !important;border: 1px solid #000 !important;color: #d4ba87 !important;opacity: 1 !important;visibility: visible !important; }

body.single-product
  form.cart.cart_group.bundle_form.layout_default.group_mode_parent.small_width
  .quantity .qty { width: auto !important;height: 36px !important;min-height: 36px !important;margin: 0 !important;padding: 0 !important;border: 1px solid #d9d9d9 !important;border-left: 0 !important;border-right: 0 !important;background: #fff !important;color: #111 !important; }

/* 10. podsumowanie na cał   szeroko   */
body.single-product
  form.cart.cart_group.bundle_form.layout_default.group_mode_parent.small_width
  > .cart.bundle_data {
  grid-column: 1 / -1 !important;
  width: 100% !important;
  margin: 10px 0 0 !important;
  padding-top: 18px !important;
  border-top: 1px solid #ececec !important;
}

/* 11. mobile */
@media (max-width: 767px) {
  body.single-product
    form.cart.cart_group.bundle_form.layout_default.group_mode_parent.small_width {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 12px !important;
  }
}
/* =========================================================
   SINGLE PRODUCT  wyrównanie kart bundle
   obrazy / tytuł y / ceny / liczniki w jednej linii
   ========================================================= */

body.single-product
form.cart.cart_group.bundle_form.layout_default.group_mode_parent.small_width
> .bundled_product {
  display: flex !important;
  flex-direction: column !important;
  justify-content: flex-start !important;
  align-items: stretch !important;
  min-height: 370px !important;
  padding: 18px 16px !important;
}

/* cał a zawarto   karty */
body.single-product
form.cart.cart_group.bundle_form.layout_default.group_mode_parent.small_width
> .bundled_product
> .details {
  display: flex !important;
  flex-direction: column !important;
  flex: 1 1 auto !important;
  height: 100% !important;
}

/* ukryj ikonkę /link zewn trzny przy pierwszej pozycji */
body.single-product
form.cart.cart_group.bundle_form.layout_default.group_mode_parent.small_width
.bundled_product_title_link {
  display: none !important;
}

/* blok zdję cia */
body.single-product
form.cart.cart_group.bundle_form.layout_default.group_mode_parent.small_width
.bundled_product_images {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  height: 96px !important;
  min-height: 96px !important;
  margin: 0 0 14px !important;
}

/* samo zdję cie */
body.single-product
form.cart.cart_group.bundle_form.layout_default.group_mode_parent.small_width
.bundled_product_image,
body.single-product
form.cart.cart_group.bundle_form.layout_default.group_mode_parent.small_width
.woocommerce-product-gallery__image,
body.single-product
form.cart.cart_group.bundle_form.layout_default.group_mode_parent.small_width
.woocommerce-product-gallery__image--placeholder,
body.single-product
form.cart.cart_group.bundle_form.layout_default.group_mode_parent.small_width
.placeholder_image {
  width: 96px !important;
  height: 96px !important;
  min-width: 96px !important;
  min-height: 96px !important;
  max-width: 96px !important;
  max-height: 96px !important;
  margin: 0 auto !important;
  overflow: hidden !important;
  background: #f4f4f4 !important;
}

body.single-product
form.cart.cart_group.bundle_form.layout_default.group_mode_parent.small_width
.bundled_product_image img,
body.single-product
form.cart.cart_group.bundle_form.layout_default.group_mode_parent.small_width
.woocommerce-product-gallery__image img,
body.single-product
form.cart.cart_group.bundle_form.layout_default.group_mode_parent.small_width
.woocommerce-product-gallery__image--placeholder img,
body.single-product
form.cart.cart_group.bundle_form.layout_default.group_mode_parent.small_width
.placeholder_image img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  object-position: center center !important;
  display: block !important;
}

/* tytuł   sta a wysoko   */
body.single-product
form.cart.cart_group.bundle_form.layout_default.group_mode_parent.small_width
.bundled_product_title,
body.single-product
form.cart.cart_group.bundle_form.layout_default.group_mode_parent.small_width
.bundled_product_title_inner,
body.single-product
form.cart.cart_group.bundle_form.layout_default.group_mode_parent.small_width
.item_title {
  display: flex !important;
  align-items: flex-start !important;
  justify-content: center !important;
  text-align: center !important;
  min-height: 58px !important;
  max-height: 58px !important;
  margin: 0 0 12px !important;
  font-size: 15px !important;
  line-height: 1.25 !important;
  font-weight: 600 !important;
  overflow: hidden !important;
  word-break: break-word !important;
  overflow-wrap: break-word !important;
}

/* cena  stał y obszar */
body.single-product
form.cart.cart_group.bundle_form.layout_default.group_mode_parent.small_width
.bundled_item_cart_details {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 44px !important;
  max-height: 44px !important;
  margin: 0 0 16px !important;
  text-align: center !important;
}

body.single-product
form.cart.cart_group.bundle_form.layout_default.group_mode_parent.small_width
.bundled_item_cart_details .price {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 2px !important;
  line-height: 1.25 !important;
}

/* kontener przy liczniku dociś ni ty do do u */
body.single-product
form.cart.cart_group.bundle_form.layout_default.group_mode_parent.small_width
.bundled_item_after_cart_details,
body.single-product
form.cart.cart_group.bundle_form.layout_default.group_mode_parent.small_width
.bundled_item_button {
  margin-top: auto !important;
  padding-top: 6px !important;
}

/* licznik  identyczna wysokoś   */
body.single-product
form.cart.cart_group.bundle_form.layout_default.group_mode_parent.small_width
.quantity {
  display: grid !important;
  grid-template-columns: 40px 1fr 40px !important;
  align-items: stretch !important;
  width: 120px !important;
  min-width: 120px !important;
  max-width: 120px !important;
  margin: 0 auto !important;
}
/* (audyt 2026-07-12, user „pole na liczbe co jest plus i minus troche wezsze") stepper liczby w KOSZYKU (WC cart form)
   wezszy: 120->92px (przyciski 30, pole 32; wysokosc bez zmian). Zakres tylko koszyk (single-product ma swoje reguly).
   Dzieci maja wlasne szerokosci (40/40) nadpisujace grid-track -> zmniejszamy je jawnie, inaczej pole przelewa siatke.
   ZWERYFIKOWANE live @412: box 92px, brak przelania. */
html body.woocommerce-cart .woocommerce-cart-form .quantity:not(#nw-z){ grid-template-columns:30px 32px 30px !important; width:92px !important; min-width:92px !important; max-width:92px !important; }
html body.woocommerce-cart .woocommerce-cart-form .quantity .minus:not(#nw-z),
html body.woocommerce-cart .woocommerce-cart-form .quantity .plus:not(#nw-z){ width:30px !important; min-width:30px !important; max-width:30px !important; }
html body.woocommerce-cart .woocommerce-cart-form .quantity .qty:not(#nw-z){ width:32px !important; min-width:32px !important; max-width:32px !important; }

body.single-product
form.cart.cart_group.bundle_form.layout_default.group_mode_parent.small_width
.quantity .minus,
body.single-product
form.cart.cart_group.bundle_form.layout_default.group_mode_parent.small_width
.quantity .plus,
body.single-product
form.cart.cart_group.bundle_form.layout_default.group_mode_parent.small_width
.quantity .qty {
  height: 40px !important;
  min-height: 40px !important;
  line-height: 40px !important;
  margin: 0 !important;
  padding: 0 !important;
  box-sizing: border-box !important;
}

body.single-product
form.cart.cart_group.bundle_form.layout_default.group_mode_parent.small_width
.quantity .minus,
body.single-product
form.cart.cart_group.bundle_form.layout_default.group_mode_parent.small_width
.quantity .plus {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  font-size: 18px !important;
  font-weight: 600 !important;
}

body.single-product
form.cart.cart_group.bundle_form.layout_default.group_mode_parent.small_width
.quantity .qty {
  text-align: center !important;
  font-size: 14px !important;
}

/* tablet/mobile */
@media (max-width: 767px) {
  body.single-product
  form.cart.cart_group.bundle_form.layout_default.group_mode_parent.small_width
  > .bundled_product {
    min-height: 320px !important;
    padding: 16px 12px !important;
  }

  body.single-product
  form.cart.cart_group.bundle_form.layout_default.group_mode_parent.small_width
  .bundled_product_title,
  body.single-product
  form.cart.cart_group.bundle_form.layout_default.group_mode_parent.small_width
  .bundled_product_title_inner,
  body.single-product
  form.cart.cart_group.bundle_form.layout_default.group_mode_parent.small_width
  .item_title {
    min-height: 52px !important;
    max-height: 52px !important;
    font-size: 14px !important;
  }
}
/* =========================================================
   SINGLE PRODUCT  bundle qty: idealnie równe plus / qty / minus
   ========================================================= */

body.single-product
form.cart.cart_group.bundle_form.layout_default.group_mode_parent.small_width
.bundled_product
.quantity {
  display: flex !important;
  align-items: stretch !important;
  justify-content: center !important;
  width: 126px !important;
  min-width: 126px !important;
  max-width: 126px !important;
  height: 44px !important;
  min-height: 44px !important;
  margin: 0 auto !important;
  padding: 0 !important;
  overflow: hidden !important;
  box-sizing: border-box !important;
}

/* wspólna baza */
body.single-product
form.cart.cart_group.bundle_form.layout_default.group_mode_parent.small_width
.bundled_product
.quantity > .minus,
body.single-product
form.cart.cart_group.bundle_form.layout_default.group_mode_parent.small_width
.bundled_product
.quantity > .plus,
body.single-product
form.cart.cart_group.bundle_form.layout_default.group_mode_parent.small_width
.bundled_product
.quantity > .qty {
  margin: 0 !important;
  padding: 0 !important;
  height: 44px !important;
  min-height: 44px !important;
  max-height: 44px !important;
  box-sizing: border-box !important;
  border-radius: 0 !important;
  vertical-align: top !important;
  transform: none !important;
}

/* przyciski - / + */
body.single-product
form.cart.cart_group.bundle_form.layout_default.group_mode_parent.small_width
.bundled_product
.quantity > .minus,
body.single-product
form.cart.cart_group.bundle_form.layout_default.group_mode_parent.small_width
.bundled_product
.quantity > .plus {
  flex: 0 0 40px !important;
  width: 40px !important;
  min-width: 40px !important;
  max-width: 40px !important;

  display: block !important;
  text-align: center !important;
  line-height: 44px !important;

  font-size: 22px !important;
  font-weight: 600 !important;
  font-family: inherit !important;

  appearance: none !important;
  -webkit-appearance: none !important;
  border: 0 !important;
  box-shadow: none !important;
}

/* drobna korekta optyczna znaku */
body.single-product
form.cart.cart_group.bundle_form.layout_default.group_mode_parent.small_width
.bundled_product
.quantity > .minus {
  padding-bottom: 2px !important;
}

body.single-product
form.cart.cart_group.bundle_form.layout_default.group_mode_parent.small_width
.bundled_product
.quantity > .plus {
  padding-bottom: 1px !important;
}

/* pole ś rodkowe */
body.single-product
form.cart.cart_group.bundle_form.layout_default.group_mode_parent.small_width
.bundled_product
.quantity > .qty {
  flex: 0 0 46px !important;
  width: 46px !important;
  min-width: 46px !important;
  max-width: 46px !important;

  display: block !important;
  text-align: center !important;
  line-height: 44px !important;

  font-size: 15px !important;
  font-weight: 500 !important;
  font-family: inherit !important;

  border-left: 0 !important;
  border-right: 0 !important;
  box-shadow: none !important;
  appearance: textfield !important;
  -moz-appearance: textfield !important;
}

body.single-product
form.cart.cart_group.bundle_form.layout_default.group_mode_parent.small_width
.bundled_product
.quantity > .qty::-webkit-outer-spin-button,
body.single-product
form.cart.cart_group.bundle_form.layout_default.group_mode_parent.small_width
.bundled_product
.quantity > .qty::-webkit-inner-spin-button {
  -webkit-appearance: none !important;
  margin: 0 !important;
}

/* ż eby ka dy licznik siedzia  dok adnie na tej samej wysoko ci */
body.single-product
form.cart.cart_group.bundle_form.layout_default.group_mode_parent.small_width
.bundled_item_button {
  margin-top: auto !important;
  padding-top: 0 !important;
}

body.single-product
form.cart.cart_group.bundle_form.layout_default.group_mode_parent.small_width
.bundled_item_after_cart_details {
  display: flex !important;
  align-items: flex-end !important;
  justify-content: center !important;
  min-height: 44px !important;
}
/* =========================================================
   BUNDLE  jeden stał y uk ad dla wszystkich produktów
   zawsze 4 w rzę dzie na desktopie
   WLEJ NA SAM DÓŁ  CSS
   ========================================================= */

/* ---------------------------------------------------------
   1. FORMULARZ BUNDLE  zawsze grid 4 kolumny
   --------------------------------------------------------- */

body.single-product :is(
  form.cart.cart_group.bundle_form.layout_default.group_mode_parent,
  form.cart.bundle_form.layout_default.group_mode_parent,
  form.bundle_form.layout_default.group_mode_parent,
  form.bundle_form.layout_default,
  form.bundle_form
) { display: grid !important;grid-template-columns: repeat(4, minmax(0, 1fr)) !important;gap: 18px !important;width: 100% !important;max-width: 100% !important;min-width: 0 !important;margin: 18px 0 0 !important;padding: 0 !important;box-sizing: border-box !important; }

/* ---------------------------------------------------------
   2. KARTA PRODUKTU
   --------------------------------------------------------- */

body.single-product :is(
  form.cart.cart_group.bundle_form.layout_default.group_mode_parent,
  form.cart.bundle_form.layout_default.group_mode_parent,
  form.bundle_form.layout_default.group_mode_parent,
  form.bundle_form.layout_default,
  form.bundle_form
) > .bundled_product { width: auto !important;min-width: 0 !important;max-width: none !important;margin: 0 !important;border: 1px solid #ececec !important;background: #fff !important;overflow: hidden !important;float: none !important;box-shadow: none !important; }

body.single-product :is(
  form.cart.cart_group.bundle_form.layout_default.group_mode_parent,
  form.cart.bundle_form.layout_default.group_mode_parent,
  form.bundle_form.layout_default.group_mode_parent,
  form.bundle_form.layout_default,
  form.bundle_form
) > .bundled_product > .details,
body.single-product :is(
  form.cart.cart_group.bundle_form.layout_default.group_mode_parent,
  form.cart.bundle_form.layout_default.group_mode_parent,
  form.bundle_form.layout_default.group_mode_parent,
  form.bundle_form.layout_default,
  form.bundle_form
) > .bundled_product > .bundled_product_details { min-width: 0 !important; }

/* ---------------------------------------------------------
   3. UKRYCIE ZBĘ DNEGO LINKU W TYTULE
   --------------------------------------------------------- */

body.single-product :is(
  form.cart.cart_group.bundle_form.layout_default.group_mode_parent,
  form.cart.bundle_form.layout_default.group_mode_parent,
  form.bundle_form.layout_default.group_mode_parent,
  form.bundle_form.layout_default,
  form.bundle_form
) .bundled_product_title_link {
  display: none !important;
}

/* ---------------------------------------------------------
   4. ZDJĘ CIE
   --------------------------------------------------------- */





body.single-product :is(
  form.cart.cart_group.bundle_form.layout_default.group_mode_parent,
  form.cart.bundle_form.layout_default.group_mode_parent,
  form.bundle_form.layout_default.group_mode_parent,
  form.bundle_form.layout_default,
  form.bundle_form
) .bundled_product_images img,
body.single-product :is(
  form.cart.cart_group.bundle_form.layout_default.group_mode_parent,
  form.cart.bundle_form.layout_default.group_mode_parent,
  form.bundle_form.layout_default.group_mode_parent,
  form.bundle_form.layout_default,
  form.bundle_form
) .bundled_product_image img,
body.single-product :is(
  form.cart.cart_group.bundle_form.layout_default.group_mode_parent,
  form.cart.bundle_form.layout_default.group_mode_parent,
  form.bundle_form.layout_default.group_mode_parent,
  form.bundle_form.layout_default,
  form.bundle_form
) .woocommerce-product-gallery__image img,
body.single-product :is(
  form.cart.cart_group.bundle_form.layout_default.group_mode_parent,
  form.cart.bundle_form.layout_default.group_mode_parent,
  form.bundle_form.layout_default.group_mode_parent,
  form.bundle_form.layout_default,
  form.bundle_form
) .woocommerce-product-gallery__image--placeholder img,
body.single-product :is(
  form.cart.cart_group.bundle_form.layout_default.group_mode_parent,
  form.cart.bundle_form.layout_default.group_mode_parent,
  form.bundle_form.layout_default.group_mode_parent,
  form.bundle_form.layout_default,
  form.bundle_form
) .placeholder_image img { min-width: 100% !important;min-height: 100% !important; }

/* ---------------------------------------------------------
   5. TYTUŁ 
   --------------------------------------------------------- */



/* ---------------------------------------------------------
   6. CENA
   --------------------------------------------------------- */

body.single-product :is(
  form.cart.cart_group.bundle_form.layout_default.group_mode_parent,
  form.cart.bundle_form.layout_default.group_mode_parent,
  form.bundle_form.layout_default.group_mode_parent,
  form.bundle_form.layout_default,
  form.bundle_form
) .bundled_item_cart_details { display: flex !important;align-items: center !important;justify-content: center !important;text-align: center !important; }

body.single-product :is(
  form.cart.cart_group.bundle_form.layout_default.group_mode_parent,
  form.cart.bundle_form.layout_default.group_mode_parent,
  form.bundle_form.layout_default.group_mode_parent,
  form.bundle_form.layout_default,
  form.bundle_form
) .bundled_item_cart_details .price,
body.single-product :is(
  form.cart.cart_group.bundle_form.layout_default.group_mode_parent,
  form.cart.bundle_form.layout_default.group_mode_parent,
  form.bundle_form.layout_default.group_mode_parent,
  form.bundle_form.layout_default,
  form.bundle_form
) .bundled_item_cart_details .amount,
body.single-product :is(
  form.cart.cart_group.bundle_form.layout_default.group_mode_parent,
  form.cart.bundle_form.layout_default.group_mode_parent,
  form.bundle_form.layout_default.group_mode_parent,
  form.bundle_form.layout_default,
  form.bundle_form
) .bundled_item_price_quantity {
  color: #d4ba87 !important;
  font-size: 13px !important;
  line-height: 1.3 !important;
  font-weight: 600 !important;
}

/* ---------------------------------------------------------
   7. DÓŁ  KARTY / LICZNIK
   --------------------------------------------------------- */





body.single-product :is(
  form.cart.cart_group.bundle_form.layout_default.group_mode_parent,
  form.cart.bundle_form.layout_default.group_mode_parent,
  form.bundle_form.layout_default.group_mode_parent,
  form.bundle_form.layout_default,
  form.bundle_form
) .quantity {
  display: flex !important;
  align-items: stretch !important;
  justify-content: center !important;
  width: 126px !important;
  min-width: 126px !important;
  max-width: 126px !important;
  height: 44px !important;
  min-height: 44px !important;
  margin: 0 auto !important;
  padding: 0 !important;
  overflow: hidden !important;
  box-sizing: border-box !important;
}

body.single-product :is(
  form.cart.cart_group.bundle_form.layout_default.group_mode_parent,
  form.cart.bundle_form.layout_default.group_mode_parent,
  form.bundle_form.layout_default.group_mode_parent,
  form.bundle_form.layout_default,
  form.bundle_form
) .quantity > .minus,
body.single-product :is(
  form.cart.cart_group.bundle_form.layout_default.group_mode_parent,
  form.cart.bundle_form.layout_default.group_mode_parent,
  form.bundle_form.layout_default.group_mode_parent,
  form.bundle_form.layout_default,
  form.bundle_form
) .quantity > .plus,
body.single-product :is(
  form.cart.cart_group.bundle_form.layout_default.group_mode_parent,
  form.cart.bundle_form.layout_default.group_mode_parent,
  form.bundle_form.layout_default.group_mode_parent,
  form.bundle_form.layout_default,
  form.bundle_form
) .quantity > .qty {
  margin: 0 !important;
  padding: 0 !important;
  height: 44px !important;
  min-height: 44px !important;
  max-height: 44px !important;
  box-sizing: border-box !important;
  border-radius: 0 !important;
  vertical-align: top !important;
  transform: none !important;
}

body.single-product :is(
  form.cart.cart_group.bundle_form.layout_default.group_mode_parent,
  form.cart.bundle_form.layout_default.group_mode_parent,
  form.bundle_form.layout_default.group_mode_parent,
  form.bundle_form.layout_default,
  form.bundle_form
) .quantity > .minus,
body.single-product :is(
  form.cart.cart_group.bundle_form.layout_default.group_mode_parent,
  form.cart.bundle_form.layout_default.group_mode_parent,
  form.bundle_form.layout_default.group_mode_parent,
  form.bundle_form.layout_default,
  form.bundle_form
) .quantity > .plus {
  flex: 0 0 40px !important;
  width: 40px !important;
  min-width: 40px !important;
  max-width: 40px !important;
  display: block !important;
  text-align: center !important;
  line-height: 44px !important;
  font-size: 22px !important;
  font-weight: 600 !important;
  font-family: inherit !important;
  appearance: none !important;
  -webkit-appearance: none !important;
  border: 0 !important;
  box-shadow: none !important;
  background: #000 !important;
  color: #d4ba87 !important;
}

body.single-product :is(
  form.cart.cart_group.bundle_form.layout_default.group_mode_parent,
  form.cart.bundle_form.layout_default.group_mode_parent,
  form.bundle_form.layout_default.group_mode_parent,
  form.bundle_form.layout_default,
  form.bundle_form
) .quantity > .minus {
  padding-bottom: 2px !important;
}

body.single-product :is(
  form.cart.cart_group.bundle_form.layout_default.group_mode_parent,
  form.cart.bundle_form.layout_default.group_mode_parent,
  form.bundle_form.layout_default.group_mode_parent,
  form.bundle_form.layout_default,
  form.bundle_form
) .quantity > .plus {
  padding-bottom: 1px !important;
}

body.single-product :is(
  form.cart.cart_group.bundle_form.layout_default.group_mode_parent,
  form.cart.bundle_form.layout_default.group_mode_parent,
  form.bundle_form.layout_default.group_mode_parent,
  form.bundle_form.layout_default,
  form.bundle_form
) .quantity > .qty {
  flex: 0 0 46px !important;
  width: 46px !important;
  min-width: 46px !important;
  max-width: 46px !important;
  display: block !important;
  text-align: center !important;
  line-height: 44px !important;
  font-size: 15px !important;
  font-weight: 500 !important;
  font-family: inherit !important;
  border-left: 0 !important;
  border-right: 0 !important;
  border-top: 1px solid #d9d9d9 !important;
  border-bottom: 1px solid #d9d9d9 !important;
  box-shadow: none !important;
  appearance: textfield !important;
  -moz-appearance: textfield !important;
  background: #fff !important;
  color: #111 !important;
}

body.single-product :is(
  form.cart.cart_group.bundle_form.layout_default.group_mode_parent,
  form.cart.bundle_form.layout_default.group_mode_parent,
  form.bundle_form.layout_default.group_mode_parent,
  form.bundle_form.layout_default,
  form.bundle_form
) .quantity > .qty::-webkit-outer-spin-button,
body.single-product :is(
  form.cart.cart_group.bundle_form.layout_default.group_mode_parent,
  form.cart.bundle_form.layout_default.group_mode_parent,
  form.bundle_form.layout_default.group_mode_parent,
  form.bundle_form.layout_default,
  form.bundle_form
) .quantity > .qty::-webkit-inner-spin-button {
  -webkit-appearance: none !important;
  margin: 0 !important;
}

/* ---------------------------------------------------------
   8. PODSUMOWANIE POD KARTAMI
   --------------------------------------------------------- */

body.single-product :is(
  form.cart.cart_group.bundle_form.layout_default.group_mode_parent,
  form.cart.bundle_form.layout_default.group_mode_parent,
  form.bundle_form.layout_default.group_mode_parent,
  form.bundle_form.layout_default,
  form.bundle_form
) > .cart.bundle_data { padding-top: 18px !important; }

/* ---------------------------------------------------------
   9. MOBILE  2 kolumny
   --------------------------------------------------------- */

@media (max-width: 767px) {
  body.single-product :is(
    form.cart.cart_group.bundle_form.layout_default.group_mode_parent,
    form.cart.bundle_form.layout_default.group_mode_parent,
    form.bundle_form.layout_default.group_mode_parent,
    form.bundle_form.layout_default,
    form.bundle_form
  ) {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 12px !important;
  }

  

  

  body.single-product :is(
    form.cart.cart_group.bundle_form.layout_default.group_mode_parent,
    form.cart.bundle_form.layout_default.group_mode_parent,
    form.bundle_form.layout_default.group_mode_parent,
    form.bundle_form.layout_default,
    form.bundle_form
  ) .bundled_product_images {
    height: 92px !important;
    min-height: 92px !important;
    margin-bottom: 12px !important;
  }

  body.single-product :is(
    form.cart.cart_group.bundle_form.layout_default.group_mode_parent,
    form.cart.bundle_form.layout_default.group_mode_parent,
    form.bundle_form.layout_default.group_mode_parent,
    form.bundle_form.layout_default,
    form.bundle_form
  ) .bundled_product_image,
  body.single-product :is(
    form.cart.cart_group.bundle_form.layout_default.group_mode_parent,
    form.cart.bundle_form.layout_default.group_mode_parent,
    form.bundle_form.layout_default.group_mode_parent,
    form.bundle_form.layout_default,
    form.bundle_form
  ) .bundled_product_image figure,
  body.single-product :is(
    form.cart.cart_group.bundle_form.layout_default.group_mode_parent,
    form.cart.bundle_form.layout_default.group_mode_parent,
    form.bundle_form.layout_default.group_mode_parent,
    form.bundle_form.layout_default,
    form.bundle_form
  ) .bundled_product_image a,
  body.single-product :is(
    form.cart.cart_group.bundle_form.layout_default.group_mode_parent,
    form.cart.bundle_form.layout_default.group_mode_parent,
    form.bundle_form.layout_default.group_mode_parent,
    form.bundle_form.layout_default,
    form.bundle_form
  ) .woocommerce-product-gallery__image,
  body.single-product :is(
    form.cart.cart_group.bundle_form.layout_default.group_mode_parent,
    form.cart.bundle_form.layout_default.group_mode_parent,
    form.bundle_form.layout_default.group_mode_parent,
    form.bundle_form.layout_default,
    form.bundle_form
  ) .woocommerce-product-gallery__image--placeholder,
  body.single-product :is(
    form.cart.cart_group.bundle_form.layout_default.group_mode_parent,
    form.cart.bundle_form.layout_default.group_mode_parent,
    form.bundle_form.layout_default.group_mode_parent,
    form.bundle_form.layout_default,
    form.bundle_form
  ) .placeholder_image {
    width: 92px !important;
    height: 92px !important;
    min-width: 92px !important;
    min-height: 92px !important;
    max-width: 92px !important;
    max-height: 92px !important;
  }
}
/* =========================================================
   FIX  bundle zdję cia równo w jednej linii
   WLEJ NA SAM DÓŁ  CSS
   ========================================================= */

body.single-product :is(
  form.cart.cart_group.bundle_form.layout_default.group_mode_parent,
  form.cart.bundle_form.layout_default.group_mode_parent,
  form.bundle_form.layout_default.group_mode_parent,
  form.bundle_form.layout_default,
  form.bundle_form
) > .bundled_product {
  align-items: stretch !important;
}

body.single-product :is(
  form.cart.cart_group.bundle_form.layout_default.group_mode_parent,
  form.cart.bundle_form.layout_default.group_mode_parent,
  form.bundle_form.layout_default.group_mode_parent,
  form.bundle_form.layout_default,
  form.bundle_form
) .bundled_product_images { width: 100% !important;display: flex !important;align-items: center !important;justify-content: center !important;overflow: hidden !important; }

/* wszystkie moż liwe wrapery zdj cia */
body.single-product :is(
  form.cart.cart_group.bundle_form.layout_default.group_mode_parent,
  form.cart.bundle_form.layout_default.group_mode_parent,
  form.bundle_form.layout_default.group_mode_parent,
  form.bundle_form.layout_default,
  form.bundle_form
) .bundled_product_image,
body.single-product :is(
  form.cart.cart_group.bundle_form.layout_default.group_mode_parent,
  form.cart.bundle_form.layout_default.group_mode_parent,
  form.bundle_form.layout_default.group_mode_parent,
  form.bundle_form.layout_default,
  form.bundle_form
) .bundled_product_image figure,
body.single-product :is(
  form.cart.cart_group.bundle_form.layout_default.group_mode_parent,
  form.cart.bundle_form.layout_default.group_mode_parent,
  form.bundle_form.layout_default.group_mode_parent,
  form.bundle_form.layout_default,
  form.bundle_form
) .bundled_product_image a,
body.single-product :is(
  form.cart.cart_group.bundle_form.layout_default.group_mode_parent,
  form.cart.bundle_form.layout_default.group_mode_parent,
  form.bundle_form.layout_default.group_mode_parent,
  form.bundle_form.layout_default,
  form.bundle_form
) .woocommerce-product-gallery__image,
body.single-product :is(
  form.cart.cart_group.bundle_form.layout_default.group_mode_parent,
  form.cart.bundle_form.layout_default.group_mode_parent,
  form.bundle_form.layout_default.group_mode_parent,
  form.bundle_form.layout_default,
  form.bundle_form
) .woocommerce-product-gallery__image--placeholder,
body.single-product :is(
  form.cart.cart_group.bundle_form.layout_default.group_mode_parent,
  form.cart.bundle_form.layout_default.group_mode_parent,
  form.bundle_form.layout_default.group_mode_parent,
  form.bundle_form.layout_default,
  form.bundle_form
) .placeholder_image {
  width: 96px !important;
  height: 96px !important;
  min-width: 96px !important;
  min-height: 96px !important;
  max-width: 96px !important;
  max-height: 96px !important;
  margin: 0 auto !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  overflow: hidden !important;
  background: #f4f4f4 !important;
}

/* same obrazki */
body.single-product :is(
  form.cart.cart_group.bundle_form.layout_default.group_mode_parent,
  form.cart.bundle_form.layout_default.group_mode_parent,
  form.bundle_form.layout_default.group_mode_parent,
  form.bundle_form.layout_default,
  form.bundle_form
) .bundled_product_images img,
body.single-product :is(
  form.cart.cart_group.bundle_form.layout_default.group_mode_parent,
  form.cart.bundle_form.layout_default.group_mode_parent,
  form.bundle_form.layout_default.group_mode_parent,
  form.bundle_form.layout_default,
  form.bundle_form
) .bundled_product_image img,
body.single-product :is(
  form.cart.cart_group.bundle_form.layout_default.group_mode_parent,
  form.cart.bundle_form.layout_default.group_mode_parent,
  form.bundle_form.layout_default.group_mode_parent,
  form.bundle_form.layout_default,
  form.bundle_form
) .woocommerce-product-gallery__image img,
body.single-product :is(
  form.cart.cart_group.bundle_form.layout_default.group_mode_parent,
  form.cart.bundle_form.layout_default.group_mode_parent,
  form.bundle_form.layout_default.group_mode_parent,
  form.bundle_form.layout_default,
  form.bundle_form
) .woocommerce-product-gallery__image--placeholder img,
body.single-product :is(
  form.cart.cart_group.bundle_form.layout_default.group_mode_parent,
  form.cart.bundle_form.layout_default.group_mode_parent,
  form.bundle_form.layout_default.group_mode_parent,
  form.bundle_form.layout_default,
  form.bundle_form
) .placeholder_image img {
  display: block !important;
  width: 96px !important;
  height: 96px !important;
  max-width: 96px !important;
  max-height: 96px !important;
  object-fit: contain !important;
  object-position: center center !important;
  margin: 0 auto !important;
}

/* placeholder też  centralnie */
body.single-product :is(
  form.cart.cart_group.bundle_form.layout_default.group_mode_parent,
  form.cart.bundle_form.layout_default.group_mode_parent,
  form.bundle_form.layout_default.group_mode_parent,
  form.bundle_form.layout_default,
  form.bundle_form
) .woocommerce-product-gallery__image--placeholder img,
body.single-product :is(
  form.cart.cart_group.bundle_form.layout_default.group_mode_parent,
  form.cart.bundle_form.layout_default.group_mode_parent,
  form.bundle_form.layout_default.group_mode_parent,
  form.bundle_form.layout_default,
  form.bundle_form
) .placeholder_image img {
  opacity: 1 !important;
}
/* =========================================================
   FIX  mniejsze nazwy w bundle + ł adniejsze  amanie
   WLEJ NA SAM DÓŁ  CSS
   ========================================================= */



/* trochę  cia niejsza cena pod tytu em */


body.single-product :is(
  form.cart.cart_group.bundle_form.layout_default.group_mode_parent,
  form.cart.bundle_form.layout_default.group_mode_parent,
  form.bundle_form.layout_default.group_mode_parent,
  form.bundle_form.layout_default,
  form.bundle_form
) > .bundled_product {
  padding-left: 12px !important;
  padding-right: 12px !important;
}

/* =========================================================
   FIX  bundle title nie ucina się 
   WLEJ NA SAM DÓŁ  CSS
   ========================================================= */

body.single-product :is(
  form.cart.cart_group.bundle_form.layout_default.group_mode_parent,
  form.cart.bundle_form.layout_default.group_mode_parent,
  form.bundle_form.layout_default.group_mode_parent,
  form.bundle_form.layout_default,
  form.bundle_form
) .bundled_product_title,
body.single-product :is(
  form.cart.cart_group.bundle_form.layout_default.group_mode_parent,
  form.cart.bundle_form.layout_default.group_mode_parent,
  form.bundle_form.layout_default.group_mode_parent,
  form.bundle_form.layout_default,
  form.bundle_form
) .bundled_product_title_inner,
body.single-product :is(
  form.cart.cart_group.bundle_form.layout_default.group_mode_parent,
  form.cart.bundle_form.layout_default.group_mode_parent,
  form.bundle_form.layout_default.group_mode_parent,
  form.bundle_form.layout_default,
  form.bundle_form
) .item_title { align-items: flex-start !important;justify-content: center !important;text-wrap: balance !important; }

/* lekka korekta odstę pów pod nazw  */


@media (max-width: 767px) {
  body.single-product :is(
    form.cart.cart_group.bundle_form.layout_default.group_mode_parent,
    form.cart.bundle_form.layout_default.group_mode_parent,
    form.bundle_form.layout_default.group_mode_parent,
    form.bundle_form.layout_default,
    form.bundle_form
  ) .bundled_product_title,
  body.single-product :is(
    form.cart.cart_group.bundle_form.layout_default.group_mode_parent,
    form.cart.bundle_form.layout_default.group_mode_parent,
    form.bundle_form.layout_default.group_mode_parent,
    form.bundle_form.layout_default,
    form.bundle_form
  ) .bundled_product_title_inner,
  body.single-product :is(
    form.cart.cart_group.bundle_form.layout_default.group_mode_parent,
    form.cart.bundle_form.layout_default.group_mode_parent,
    form.bundle_form.layout_default.group_mode_parent,
    form.bundle_form.layout_default,
    form.bundle_form
  ) .item_title {
    min-height: 50px !important;
    max-height: 50px !important;
    font-size: 12px !important;
    line-height: 1.16 !important;
  }
}
 /* =========================================================
   FIX  POWIĄ ZANE PRODUKTY / CAROUSEL
   wszystkie slajdy mają  identyczny styl
   WLEJ NA SAM DÓŁ  CSS
   ========================================================= */

body.single-product .related.products .wd-carousel,
body.single-product .related.products .wd-carousel-wrap {
  align-items: stretch !important;
}



body.single-product .related.products .wd-carousel-item > .wd-product,
body.single-product .related.products .wd-carousel-item > .product,
body.single-product .related.products .wd-product {
  width: 100% !important;
  display: flex !important;
  flex-direction: column !important;
}

body.single-product .related.products .wd-product-wrapper,
body.single-product .related.products .product-wrapper {
  display: flex !important;
  flex-direction: column !important;
  width: 100% !important;
  height: 100% !important;
  padding: 0 !important;
  box-sizing: border-box !important;
}

/* zdję cie */
body.single-product .related.products .wd-product-thumb {
  width: 100% !important;
  margin: 0 0 14px !important;
}

body.single-product .related.products .wd-product-img-link,
body.single-product .related.products .product-image-link {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  aspect-ratio: 1 / 1 !important;
  overflow: hidden !important;
  background: #f4f4f4 !important;
}

body.single-product .related.products .wd-product-img-link img,
body.single-product .related.products .product-image-link img {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  object-position: center center !important;
}

/* (audyt 2026-06-25): SZARA RAMKA pod zdjeciem w "Powiazane produkty". WoodMart renderuje related jako
   .wd-carousel (NIE .related.products), wiec moj fix wyzej nigdy nie lapal — stad "nadal". Zwyciezca szarosci:
   body .wd-carousel .wd-product-img-link {background:#f7f7f7}. Obraz object-fit:contain (185px) w boksie 224px
   = ~39px szarego pod zdjeciem. Fix: kwadratowa komorka + cover (zdjecie wypelnia siatke), tlo transparent. ID-spec. */
body:is(.single-product, .woocommerce-cart, .woocommerce-checkout) .wd-carousel .wd-product-img-link:not(#nw-z),
body:is(.single-product, .woocommerce-cart, .woocommerce-checkout) .wd-carousel .product-image-link:not(#nw-z) {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  aspect-ratio: 1 / 1 !important;
  height: auto !important;
  overflow: hidden !important;
  background: transparent !important;
}
body:is(.single-product, .woocommerce-cart, .woocommerce-checkout) .wd-carousel .wd-product-img-link:not(#nw-z) img,
body:is(.single-product, .woocommerce-cart, .woocommerce-checkout) .wd-carousel .product-image-link:not(#nw-z) img {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  object-position: center center !important;
}

/* (audyt 2026-06-25): zaokraglenie ramki OPIS / SZCZEGOLY I WYMIARY (panel opisu byl ostry r=0) */
body.single-product .woocommerce-Tabs-panel:not(#nw-z),
body.single-product .wc-tab:not(#nw-z) {
  border-radius: 12px !important;
  overflow: hidden !important;
}
/* (audyt 2026-06-25): usun kropkowany focus-outline z zakladek OPIS/SZCZEGOLY (brzydki kwadrat) */
body.single-product .wd-nav-tabs a:focus,
body.single-product .woocommerce-tabs .tabs a:focus,
body.single-product .wd-nav-link:focus {
  outline: 0 !important;
  box-shadow: none !important;
}

/* (audyt 2026-06-25): STRZALKI "Powiazane produkty" jak w opiniach — przezroczyste, zlote, BEZ boksu/ramki, wiekszy chevron.
   Tylko karuzela related (.wd-carousel-container.with-title) — NIE galeria zdjecia produktu (.wd-gallery-*). */
body:is(.single-product,.woocommerce-cart,.woocommerce-checkout) .wd-carousel-container.with-title .wd-btn-arrow:not(#nw-z),
body:is(.single-product,.woocommerce-cart,.woocommerce-checkout) .wd-carousel-container.with-title .wd-btn-arrow .wd-arrow-inner:not(#nw-z) {
  background: transparent !important;
  background-color: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  border-radius: 0 !important;
  color: #d4ba87 !important;
}
body:is(.single-product,.woocommerce-cart,.woocommerce-checkout) .wd-carousel-container.with-title .wd-btn-arrow .wd-arrow-inner:not(#nw-z) {
  font-size: 46px !important;
  width: auto !important;
  height: auto !important;
  line-height: 1 !important;
}
body:is(.single-product,.woocommerce-cart,.woocommerce-checkout) .wd-carousel-container.with-title .wd-btn-arrow:hover .wd-arrow-inner:not(#nw-z),
body:is(.single-product,.woocommerce-cart,.woocommerce-checkout) .wd-carousel-container.with-title .wd-btn-arrow:hover:not(#nw-z) {
  color: #f0dcae !important;
  background: transparent !important;
}

/* tytuł  */




/* kategoria */
body.single-product .related.products .wd-product-cats { font-size: 14px !important; }



/* cena */


/* przycisk zawsze na dole */
body.single-product .related.products .wd-add-btn {
  margin-top: auto !important;
  display: flex !important;
  justify-content: center !important;
  width: 100% !important;
}

body.single-product .related.products .wd-add-btn a,
body.single-product .related.products .add_to_cart_button,
body.single-product .related.products .button {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  min-height: 46px !important;
  padding: 12px 16px !important;
  background: #d4ba87 !important;
  border: 1px solid #d4ba87 !important;
  color: #1a1407 !important;
  text-align: center !important;
  text-decoration: none !important;
  font-size: 14px !important;
  line-height: 1.2 !important;
  font-weight: 600 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.01em !important;
  box-sizing: border-box !important;
}

body.single-product .related.products .wd-add-btn a:hover,
body.single-product .related.products .add_to_cart_button:hover,
body.single-product .related.products .button:hover {
  background: #111 !important;
  border-color: #111 !important;
  color: #fff !important;
}

/* wyczyś   dziwne marginesy slajdów */
body.single-product .related.products .wd-carousel-item .wd-product,
body.single-product .related.products .wd-carousel-item .wd-product-wrapper,
body.single-product .related.products .wd-carousel-item .product-wrapper {
  margin: 0 !important;
}

/* mobile */
@media (max-width: 767px) {
  

  body.single-product .related.products .wd-product-cats {
    font-size: 13px !important;
  }

  

  body.single-product .related.products .wd-add-btn a,
  body.single-product .related.products .add_to_cart_button,
  body.single-product .related.products .button {
    min-height: 42px !important;
    font-size: 13px !important;
    padding: 10px 12px !important;
  }
}
/* =========================================================
   HOME  mniejszy odstę p pod opiniami
   ========================================================= */

.home .nw-opinie-section {
  margin-bottom: 18px !important;
  padding-bottom: 28px !important;
}


.nw-faq-regulations-inner,
.nw-faq-regulations-btn {
  border-radius: 0 !important;
}

/* MOBILE  premium heading "Wybierz kategorię " nad kategoriami sklepu */
@media (max-width: 767px) {
  .post-type-archive-product .wd-cats.products {
    position: relative;
    padding-top: 54px;
  }

  .post-type-archive-product .wd-cats.products::before {
    content: "Wybierz kategorię ";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    display: block;
    padding: 0 0 14px;
    font-size: 24px;
    line-height: 1.08;
    font-weight: 600;
    letter-spacing: -0.02em;
    color: #000;
    text-align: center; /* (audyt 2026-07-10, user "wybierz kategorie na mobilce wysrodkuj") */
    /* (audyt 2026-07-13, user „dziwne zlote linie na kategorii") usuniete zlote podkreslenie naglowka */
    border-bottom: none;
    z-index: 2;
  }

  /* (audyt 2026-07-13, user „dziwne linie w ofercie zlote... na namiot ekspresowy i pomiedzy zdjeciami") zlota
     kreska-akcent 56x1px byla przy LEWEJ krawedzi (left:0), a naglowek jest wysrodkowany -> wygladala jak obca
     linia po lewej nad zdjeciami. Usunieta. */
  .post-type-archive-product .wd-cats.products::after {
    content: none !important;
    display: none !important;
    background: transparent !important;
  }
}

/* =========================================================
   POWIĄ ZANE PRODUKTY  TWARDY FIX OSTATECZNY
   przycisk zawsze na dole, obrazek w stał ym boxie
   ========================================================= */

body.single-product .related.products .wd-carousel-item {
  display: flex !important;
  align-self: stretch !important;
  height: auto !important;
}

body.single-product .related.products .wd-carousel-item > .wd-product,
body.single-product .related.products .wd-carousel-item > .product {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
}

body.single-product .related.products .wd-product-wrapper.product-wrapper {
  position: relative !important;
  display: block !important;
  width: 100% !important;
  min-height: 560px !important;
  padding: 0 0 74px !important; /* miejsce na przycisk */
  box-sizing: border-box !important;
}

/* ---------------------------------------------------------
   1. OBRAZEK  jeden stał y box
   --------------------------------------------------------- */

body.single-product .related.products .wd-product-thumb.product-element-top {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  height: 300px !important;
  min-height: 300px !important;
  max-height: 300px !important;
  margin: 0 0 16px !important;
  padding: 0 !important;
  box-sizing: border-box !important;
}

body.single-product .related.products .wd-product-img-link.product-image-link {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  height: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
  background: #f6f6f6 !important;
}

body.single-product .related.products .wd-product-img-link.product-image-link img,
body.single-product .related.products .wd-product-thumb.product-element-top img {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  max-width: none !important;
  max-height: none !important;
  margin: 0 auto !important;
  object-fit: contain !important;
  object-position: center center !important;
}

/* ---------------------------------------------------------
   2. TYTUŁ 
   --------------------------------------------------------- */

body.single-product .related.products .wd-entities-title {
  display: -webkit-box !important;
  -webkit-box-orient: vertical !important;
  -webkit-line-clamp: 2 !important;
  overflow: hidden !important;

  min-height: 52px !important;
  max-height: 52px !important;
  margin: 0 0 8px !important;
  padding: 0 6px !important;

  text-align: center !important;
  font-size: 18px !important;
  line-height: 1.3 !important;
  font-weight: 600 !important;
  box-sizing: border-box !important;
}

body.single-product .related.products .wd-entities-title a {
  color: #111 !important;
  text-decoration: none !important;
}

/* ---------------------------------------------------------
   3. KATEGORIA
   --------------------------------------------------------- */

body.single-product .related.products .wd-product-cats {
  min-height: 24px !important;
  max-height: 24px !important;
  margin: 0 0 8px !important;
  padding: 0 !important;
  text-align: center !important;
  line-height: 1.3 !important;
}

body.single-product .related.products .wd-product-cats a {
  color: #9a9a9a !important;
  text-decoration: none !important;
}

/* ---------------------------------------------------------
   4. CENA
   --------------------------------------------------------- */

body.single-product .related.products .price {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 34px !important;
  max-height: 34px !important;
  margin: 0 !important;
  padding: 0 !important;

  text-align: center !important;
  color: #d4ba87 !important;
  font-size: 18px !important;
  line-height: 1.2 !important;
  font-weight: 600 !important;
}

/* ---------------------------------------------------------
   5. PRZYCISK  absolutnie na dole
   --------------------------------------------------------- */

body.single-product .related.products .wd-add-btn.wd-add-btn-replace {
  position: absolute !important;
  left: 0 !important;
  right: 0 !important;
  bottom: 0 !important;

  display: flex !important;
  justify-content: center !important;
  align-items: stretch !important;

  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
}

body.single-product .related.products .wd-add-btn.wd-add-btn-replace > a {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;

  width: 100% !important;
  min-height: 46px !important;
  height: 46px !important;
  margin: 0 !important;
  padding: 0 14px !important;
  box-sizing: border-box !important;

  background: #d4ba87 !important;
  border: 1px solid #d4ba87 !important;
  color: #1a1407 !important;

  text-align: center !important;
  text-decoration: none !important;
  font-size: 14px !important;
  line-height: 1.2 !important;
  font-weight: 600 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.01em !important;
}

body.single-product .related.products .wd-add-btn.wd-add-btn-replace > a:hover {
  background: #111 !important;
  border-color: #111 !important;
  color: #fff !important;
}

body.single-product .related.products .wd-add-btn .wd-action-icon {
  display: none !important;
}

body.single-product .related.products .wd-add-btn .wd-action-text {
  display: block !important;
  width: 100% !important;
  text-align: center !important;
}

/* ---------------------------------------------------------
   6. DROBNE RESETY
   --------------------------------------------------------- */

body.single-product .related.products .wd-buttons,
body.single-product .related.products .wd-product-wrapper > * {
  box-sizing: border-box !important;
}

body.single-product .related.products .wd-product-wrapper > .wd-product-cats,
body.single-product .related.products .wd-product-wrapper > .price,
body.single-product .related.products .wd-product-wrapper > .wd-entities-title {
  width: 100% !important;
}

/* ---------------------------------------------------------
   7. MOBILE
   --------------------------------------------------------- */

@media (max-width: 767px) {
  body.single-product .related.products .wd-product-wrapper.product-wrapper {
    min-height: 450px !important;
    padding-bottom: 66px !important;
  }

  body.single-product .related.products .wd-product-thumb.product-element-top {
    height: 220px !important;
    min-height: 220px !important;
    max-height: 220px !important;
  }

  body.single-product .related.products .wd-entities-title {
    min-height: 44px !important;
    max-height: 44px !important;
    font-size: 16px !important;
  }

  body.single-product .related.products .wd-product-cats {
    min-height: 22px !important;
    max-height: 22px !important;
  }

  body.single-product .related.products .price {
    min-height: 30px !important;
    max-height: 30px !important;
    font-size: 16px !important;
  }

  body.single-product .related.products .wd-add-btn.wd-add-btn-replace > a {
    min-height: 42px !important;
    height: 42px !important;
    font-size: 13px !important;
  }
}
/* =========================================================
   FAQ + KONTAKT  dopasowanie kadru zdję cia do sklepu
   ========================================================= */

/* FAQ (2026-07-11: wspolna zmienna --nw-new-bg-image zamiast produkcyjnego URL tlo_zoptymalizowane — ta regula
   wygrywala kaskada (0,2,0 z >) nad blokiem master, wiec FAQ/Kontakt pokazywaly STARE/404 zdjecie mimo podmiany var) */
.nw-faq-page > .nw-faq-top {
  background-image: var(--nw-new-bg-image) !important;
  background-repeat: no-repeat !important;
  background-size: cover !important;
  background-position: center center !important;
}

/* Kontakt */
.nw-contact-page > .nw-contact-top {
  background-image: var(--nw-new-bg-image) !important;
  background-repeat: no-repeat !important;
  background-size: cover !important;
  background-position: center center !important;
}

/* wył  cz stare obrazowe pseudo-warstwy,  eby nie robi y drugiego kadru */
.nw-faq-page > .nw-faq-top::after,
.nw-contact-page > .nw-contact-top::after {
  background-image: none !important;
}

.nw-faq-page > .nw-faq-top::before,
.nw-contact-page > .nw-contact-top::before {
  background-image: none !important;
  background-color: rgba(0, 0, 0, 0.35) !important;
}

/* mobile (audyt 2026-07-11, user „headery na kazdej stronie maja zdjecie w innej pozycji, powinna byc taka sama")
   bylo 50% 27% (inna pozycja niz center center reszty headerow) -> ujednolicone do center center wszedzie. */
@media (max-width: 767px) {
  .nw-faq-page > .nw-faq-top,
  .nw-contact-page > .nw-contact-top {
    background-position: center center !important;
  }
}
/* =========================================================
   FIX  Kontakt ma mieć  jedno przyciemnienie, nie dwa
   ========================================================= */

.nw-contact-page > .nw-contact-top::after {
  content: none !important;
  display: none !important;
}

.nw-contact-page > .nw-contact-top::before { display: block !important; }
/* =========================================================
   BUNDLE  czytelne podsumowanie + krótsze ramki kart
   WLEJ NA SAM DÓŁ  CSS
   ========================================================= */

/* ---------------------------------------------------------
   1. DÓŁ  BUNDLE  podsumowanie ma jasno mówi ,
      ż e cena zmienia si  od dodatków z zestawu
   --------------------------------------------------------- */

body.single-product :is(
  form.cart.cart_group.bundle_form.layout_default.group_mode_parent,
  form.cart.bundle_form.layout_default.group_mode_parent,
  form.bundle_form.layout_default.group_mode_parent,
  form.bundle_form.layout_default,
  form.bundle_form
) > .cart.bundle_data {
  grid-column: 1 / -1 !important;
  width: 100% !important;
  margin: 16px 0 0 !important;
  padding: 20px 0 0 !important;
  border-top: 1px solid #ececec !important;
}

body.single-product :is(
  form.cart.cart_group.bundle_form.layout_default.group_mode_parent,
  form.cart.bundle_form.layout_default.group_mode_parent,
  form.bundle_form.layout_default.group_mode_parent,
  form.bundle_form.layout_default,
  form.bundle_form
) > .cart.bundle_data .bundle_wrap { width: 100% !important;margin: 0 !important;padding: 0 !important; }

/* box z ceną  */
body.single-product :is(
  form.cart.cart_group.bundle_form.layout_default.group_mode_parent,
  form.cart.bundle_form.layout_default.group_mode_parent,
  form.bundle_form.layout_default.group_mode_parent,
  form.bundle_form.layout_default,
  form.bundle_form
) > .cart.bundle_data .bundle_price,
body.single-product :is(
  form.cart.cart_group.bundle_form.layout_default.group_mode_parent,
  form.cart.bundle_form.layout_default.group_mode_parent,
  form.bundle_form.layout_default.group_mode_parent,
  form.bundle_form.layout_default,
  form.bundle_form
) > .cart.bundle_data .bundle_price_data { display: flex !important;flex-direction: column !important;align-items: flex-start !important;justify-content: center !important;margin: 0 !important;box-sizing: border-box !important; }







/* prawa kolumna */
body.single-product :is(
  form.cart.cart_group.bundle_form.layout_default.group_mode_parent,
  form.cart.bundle_form.layout_default.group_mode_parent,
  form.bundle_form.layout_default.group_mode_parent,
  form.bundle_form.layout_default,
  form.bundle_form
) > .cart.bundle_data .bundle_button { flex-direction: column !important; }

/* podpis przy gł ównym liczniku */
body.single-product :is(
  form.cart.cart_group.bundle_form.layout_default.group_mode_parent,
  form.cart.bundle_form.layout_default.group_mode_parent,
  form.bundle_form.layout_default.group_mode_parent,
  form.bundle_form.layout_default,
  form.bundle_form
) > .cart.bundle_data .bundle_button .quantity {
  position: relative !important;
  display: flex !important;
  align-items: stretch !important;
  justify-content: center !important;
  width: 100% !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 26px 0 0 !important;
  background: transparent !important;
  overflow: visible !important;
  box-sizing: border-box !important;
}

body.single-product :is(
  form.cart.cart_group.bundle_form.layout_default.group_mode_parent,
  form.cart.bundle_form.layout_default.group_mode_parent,
  form.bundle_form.layout_default.group_mode_parent,
  form.bundle_form.layout_default,
  form.bundle_form
) > .cart.bundle_data .bundle_button .quantity::before {
  content: "Liczba produktu głównego" !important; /* (audyt 2026-07-20, user "nie ilosci, liczbie") terminologia UI */
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  color: #767676 !important;
  font-size: 12px !important;
  line-height: 1.2 !important;
  font-weight: 600 !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
}

/* ---------------------------------------------------------
   2. RAMKI KAFELKÓW BUNDLE  mają  ko czy  si  pod +/-,
      bez duż ej pustej przestrzeni pod spodem
   --------------------------------------------------------- */

body.single-product :is(
  form.cart.cart_group.bundle_form.layout_default.group_mode_parent,
  form.cart.bundle_form.layout_default.group_mode_parent,
  form.bundle_form.layout_default.group_mode_parent,
  form.bundle_form.layout_default,
  form.bundle_form
) > .bundled_product { padding: 16px 12px 10px !important;display: flex !important;flex-direction: column !important;justify-content: flex-start !important;box-sizing: border-box !important; }

body.single-product :is(
  form.cart.cart_group.bundle_form.layout_default.group_mode_parent,
  form.cart.bundle_form.layout_default.group_mode_parent,
  form.bundle_form.layout_default.group_mode_parent,
  form.bundle_form.layout_default,
  form.bundle_form
) > .bundled_product > .details,
body.single-product :is(
  form.cart.cart_group.bundle_form.layout_default.group_mode_parent,
  form.cart.bundle_form.layout_default.group_mode_parent,
  form.bundle_form.layout_default.group_mode_parent,
  form.bundle_form.layout_default,
  form.bundle_form
) > .bundled_product > .bundled_product_details { display: flex !important;flex-direction: column !important; }

body.single-product :is(
  form.cart.cart_group.bundle_form.layout_default.group_mode_parent,
  form.cart.bundle_form.layout_default.group_mode_parent,
  form.bundle_form.layout_default.group_mode_parent,
  form.bundle_form.layout_default,
  form.bundle_form
) .bundled_product_images {
  height: 100px !important;
  min-height: 100px !important;
  max-height: 100px !important;
  margin: 0 0 12px !important;
}



body.single-product :is(
  form.cart.cart_group.bundle_form.layout_default.group_mode_parent,
  form.cart.bundle_form.layout_default.group_mode_parent,
  form.bundle_form.layout_default.group_mode_parent,
  form.bundle_form.layout_default,
  form.bundle_form
) .bundled_item_cart_details {
  min-height: 34px !important;
  max-height: 34px !important;
  margin: 0 0 8px !important;
}

body.single-product :is(
  form.cart.cart_group.bundle_form.layout_default.group_mode_parent,
  form.cart.bundle_form.layout_default.group_mode_parent,
  form.bundle_form.layout_default.group_mode_parent,
  form.bundle_form.layout_default,
  form.bundle_form
) .bundled_item_button {
  margin-top: auto !important;
  padding-top: 0 !important;
}

body.single-product :is(
  form.cart.cart_group.bundle_form.layout_default.group_mode_parent,
  form.cart.bundle_form.layout_default.group_mode_parent,
  form.bundle_form.layout_default.group_mode_parent,
  form.bundle_form.layout_default,
  form.bundle_form
) .bundled_item_after_cart_details { display: flex !important;align-items: flex-end !important;justify-content: center !important;margin: 0 !important;padding: 0 !important; }

/* ---------------------------------------------------------
   3. MOBILE
   --------------------------------------------------------- */

@media (max-width: 767px) {
  

  body.single-product :is(
    form.cart.cart_group.bundle_form.layout_default.group_mode_parent,
    form.cart.bundle_form.layout_default.group_mode_parent,
    form.bundle_form.layout_default.group_mode_parent,
    form.bundle_form.layout_default,
    form.bundle_form
  ) > .cart.bundle_data .bundle_price,
  body.single-product :is(
    form.cart.cart_group.bundle_form.layout_default.group_mode_parent,
    form.cart.bundle_form.layout_default.group_mode_parent,
    form.bundle_form.layout_default.group_mode_parent,
    form.bundle_form.layout_default,
    form.bundle_form
  ) > .cart.bundle_data .bundle_price_data {
    min-height: 88px !important;
    padding: 14px 16px !important;
  }

  body.single-product :is(
    form.cart.cart_group.bundle_form.layout_default.group_mode_parent,
    form.cart.bundle_form.layout_default.group_mode_parent,
    form.bundle_form.layout_default.group_mode_parent,
    form.bundle_form.layout_default,
    form.bundle_form
  ) > .cart.bundle_data .bundle_price .price,
  body.single-product :is(
    form.cart.cart_group.bundle_form.layout_default.group_mode_parent,
    form.cart.bundle_form.layout_default.group_mode_parent,
    form.bundle_form.layout_default.group_mode_parent,
    form.bundle_form.layout_default,
    form.bundle_form
  ) > .cart.bundle_data .bundle_price .amount,
  body.single-product :is(
    form.cart.cart_group.bundle_form.layout_default.group_mode_parent,
    form.cart.bundle_form.layout_default.group_mode_parent,
    form.bundle_form.layout_default.group_mode_parent,
    form.bundle_form.layout_default,
    form.bundle_form
  ) > .cart.bundle_data .bundle_price_data .price,
  body.single-product :is(
    form.cart.cart_group.bundle_form.layout_default.group_mode_parent,
    form.cart.bundle_form.layout_default.group_mode_parent,
    form.bundle_form.layout_default.group_mode_parent,
    form.bundle_form.layout_default,
    form.bundle_form
  ) > .cart.bundle_data .bundle_price_data .amount {
    font-size: 24px !important;
  }

  body.single-product :is(
    form.cart.cart_group.bundle_form.layout_default.group_mode_parent,
    form.cart.bundle_form.layout_default.group_mode_parent,
    form.bundle_form.layout_default.group_mode_parent,
    form.bundle_form.layout_default,
    form.bundle_form
  ) > .bundled_product {
    min-height: 300px !important;
    padding: 14px 10px 8px !important;
  }
}
/* =========================================================
   FIX  przywrócenie bundle + subtelne podsumowanie ceny
   WLEJ NA SAM DÓŁ  CSS
   ========================================================= */

/* ---------------------------------------------------------
   1. KARTY BUNDLE  wracają  do normalnego uk adu
   --------------------------------------------------------- */

body.single-product form.bundle_form {
  align-items: stretch !important;
}

body.single-product form.bundle_form > .bundled_product {
  display: flex !important;
  flex-direction: column !important;
  justify-content: flex-start !important;
  align-self: stretch !important;
  min-height: 308px !important;
  height: auto !important;
  padding: 16px 14px 12px !important;
  border: 1px solid #ececec !important;
  background: #fff !important;
  box-shadow: none !important;
  box-sizing: border-box !important;
}

body.single-product form.bundle_form > .bundled_product > .details,
body.single-product form.bundle_form > .bundled_product > .bundled_product_details {
  display: flex !important;
  flex-direction: column !important;
  flex: 1 1 auto !important;
  min-height: 0 !important;
  height: auto !important;
}

/* zdję cia */
body.single-product form.bundle_form .bundled_product_images {
  width: 100% !important;
  height: 96px !important;
  min-height: 96px !important;
  max-height: 96px !important;
  margin: 0 0 12px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}

body.single-product form.bundle_form .bundled_product_image,
body.single-product form.bundle_form .bundled_product_image figure,
body.single-product form.bundle_form .bundled_product_image a,
body.single-product form.bundle_form .woocommerce-product-gallery__image,
body.single-product form.bundle_form .woocommerce-product-gallery__image--placeholder,
body.single-product form.bundle_form .placeholder_image {
  width: 96px !important;
  height: 96px !important;
  min-width: 96px !important;
  min-height: 96px !important;
  max-width: 96px !important;
  max-height: 96px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  margin: 0 auto !important;
  overflow: hidden !important;
  background: #f4f4f4 !important;
}

body.single-product form.bundle_form .bundled_product_images img,
body.single-product form.bundle_form .bundled_product_image img,
body.single-product form.bundle_form .woocommerce-product-gallery__image img,
body.single-product form.bundle_form .woocommerce-product-gallery__image--placeholder img,
body.single-product form.bundle_form .placeholder_image img {
  width: 96px !important;
  height: 96px !important;
  object-fit: contain !important;
  object-position: center center !important;
  display: block !important;
  margin: 0 auto !important;
}

/* tytuł   bez dziwnego  amania w  rodku s ów */
body.single-product form.bundle_form .bundled_product_title,
body.single-product form.bundle_form .bundled_product_title_inner,
body.single-product form.bundle_form .item_title {
  display: block !important;
  min-height: 48px !important;
  max-height: 48px !important;
  max-width: 120px !important;
  margin: 0 auto 10px !important;
  text-align: center !important;
  font-size: 13px !important;
  line-height: 1.18 !important;
  font-weight: 600 !important;
  white-space: normal !important;
  word-break: keep-all !important;
  overflow-wrap: normal !important;
  hyphens: none !important;
  overflow: hidden !important;
}

/* cena w karcie */
body.single-product form.bundle_form .bundled_item_cart_details {
  display: flex !important;
  justify-content: center !important;
  align-items: center !important;
  min-height: 36px !important;
  max-height: 36px !important;
  margin: 0 0 10px !important;
  text-align: center !important;
}

body.single-product form.bundle_form .bundled_item_after_cart_details,
body.single-product form.bundle_form .bundled_item_button {
  margin-top: auto !important;
  padding-top: 0 !important;
}

body.single-product form.bundle_form .bundled_item_after_cart_details {
  display: flex !important;
  justify-content: center !important;
  align-items: flex-end !important;
  min-height: 44px !important;
}

/* ---------------------------------------------------------
   2. DÓŁ  BUNDLE  tylko lekkie podsumowanie
   --------------------------------------------------------- */

body.single-product form.bundle_form > .cart.bundle_data {
  grid-column: 1 / -1 !important;
  width: 100% !important;
  margin: 16px 0 0 !important;
  padding: 18px 0 0 !important;
  border-top: 1px solid #ececec !important;
}

body.single-product form.bundle_form > .cart.bundle_data .bundle_wrap {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) 240px !important;
  gap: 18px !important;
  align-items: center !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
}

body.single-product form.bundle_form > .cart.bundle_data .bundle_price,
body.single-product form.bundle_form > .cart.bundle_data .bundle_price_data {
  margin: 0 !important;
  padding: 0 !important;
  min-height: 0 !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}

body.single-product form.bundle_form > .cart.bundle_data .bundle_price::before,
body.single-product form.bundle_form > .cart.bundle_data .bundle_price_data::before {
  content: "Cena zestawu / dobę " !important;
  display: block !important;
  margin: 0 0 6px !important;
  color: #767676 !important;
  font-size: 11px !important;
  line-height: 1.2 !important;
  font-weight: 600 !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
}

body.single-product form.bundle_form > .cart.bundle_data .bundle_price .price,
body.single-product form.bundle_form > .cart.bundle_data .bundle_price .amount,
body.single-product form.bundle_form > .cart.bundle_data .bundle_price_data .price,
body.single-product form.bundle_form > .cart.bundle_data .bundle_price_data .amount {
  margin: 0 !important;
  color: #111 !important;
  font-size: 24px !important;
  line-height: 1.05 !important;
  font-weight: 600 !important;
}

body.single-product form.bundle_form > .cart.bundle_data .bundle_price::after,
body.single-product form.bundle_form > .cart.bundle_data .bundle_price_data::after {
  content: "Cena aktualizuje się po zmianie elementów w zestawie." !important;
  display: block !important;
  margin: 8px 0 0 !important;
  color: #8b6b2e !important;
  font-size: 13px !important;
  line-height: 1.45 !important;
  font-weight: 500 !important;
}

/* prawa strona */
body.single-product form.bundle_form > .cart.bundle_data .bundle_button {
  display: flex !important;
  justify-content: flex-end !important;
  align-items: center !important;
  gap: 14px !important;
  width: 100% !important;
  margin: 0 !important;
}

/* usuń  ewentualny podpis nad ilo ci  z wcze niejszych prób */
body.single-product form.bundle_form > .cart.bundle_data .bundle_button .quantity::before {
  content: none !important;
  display: none !important;
}

body.single-product form.bundle_form > .cart.bundle_data .bundle_button .quantity {
  padding-top: 0 !important;
}

/* USUNIÄTO: button width:240px / min-height:48px â przycisk bundle
   dziedziczy wymiary z ogĂłlnej reguĹy .single_add_to_cart_button
   (height:42px, padding:0 16px) identycznie jak simple product. */

/* ---------------------------------------------------------
   3. MOBILE
   --------------------------------------------------------- */

@media (max-width: 767px) {
  body.single-product form.bundle_form > .bundled_product {
    min-height: 292px !important;
    padding: 14px 10px 10px !important;
  }

  body.single-product form.bundle_form .bundled_product_title,
  body.single-product form.bundle_form .bundled_product_title_inner,
  body.single-product form.bundle_form .item_title {
    max-width: 110px !important;
    font-size: 12px !important;
    line-height: 1.16 !important;
  }

  body.single-product form.bundle_form > .cart.bundle_data .bundle_wrap {
    grid-template-columns: 1fr !important;
    gap: 14px !important;
  }

  body.single-product form.bundle_form > .cart.bundle_data .bundle_button {
    justify-content: flex-start !important;
  }

  body.single-product form.bundle_form > .cart.bundle_data .bundle_button .bundle_add_to_cart_button,
  body.single-product form.bundle_form > .cart.bundle_data .bundle_button .single_add_to_cart_button,
  body.single-product form.bundle_form > .cart.bundle_data .bundle_button button[type="submit"] {
    width: 100% !important;
    min-width: 0 !important;
  }
}
/* =========================================================
   TWARDY OVERRIDE  informacja o zestawie
   nadpisuje wcześ niejsze mocniejsze selektory
   WLEJ NA SAM DÓŁ  CSS
   ========================================================= */

body.single-product :is(
  form.cart.cart_group.bundle_form.layout_default.group_mode_parent,
  form.cart.bundle_form.layout_default.group_mode_parent,
  form.bundle_form.layout_default.group_mode_parent,
  form.bundle_form.layout_default,
  form.bundle_form
) > .cart.bundle_data .bundle_wrap {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) 240px !important;
  gap: 18px !important;
  align-items: center !important;
}

body.single-product :is(
  form.cart.cart_group.bundle_form.layout_default.group_mode_parent,
  form.cart.bundle_form.layout_default.group_mode_parent,
  form.bundle_form.layout_default.group_mode_parent,
  form.bundle_form.layout_default,
  form.bundle_form
) > .cart.bundle_data .bundle_price,
body.single-product :is(
  form.cart.cart_group.bundle_form.layout_default.group_mode_parent,
  form.cart.bundle_form.layout_default.group_mode_parent,
  form.bundle_form.layout_default.group_mode_parent,
  form.bundle_form.layout_default,
  form.bundle_form
) > .cart.bundle_data .bundle_price_data {
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  padding: 0 !important;
  min-height: 0 !important;
}

body.single-product :is(
  form.cart.cart_group.bundle_form.layout_default.group_mode_parent,
  form.cart.bundle_form.layout_default.group_mode_parent,
  form.bundle_form.layout_default.group_mode_parent,
  form.bundle_form.layout_default,
  form.bundle_form
) > .cart.bundle_data .bundle_price::before,
body.single-product :is(
  form.cart.cart_group.bundle_form.layout_default.group_mode_parent,
  form.cart.bundle_form.layout_default.group_mode_parent,
  form.bundle_form.layout_default.group_mode_parent,
  form.bundle_form.layout_default,
  form.bundle_form
) > .cart.bundle_data .bundle_price_data::before {
  content: "Cena zestawu / dobę " !important;
  display: block !important;
  margin: 0 0 6px !important;
  color: #767676 !important;
  font-size: 11px !important;
  line-height: 1.2 !important;
  font-weight: 600 !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
}

body.single-product :is(
  form.cart.cart_group.bundle_form.layout_default.group_mode_parent,
  form.cart.bundle_form.layout_default.group_mode_parent,
  form.bundle_form.layout_default.group_mode_parent,
  form.bundle_form.layout_default,
  form.bundle_form
) > .cart.bundle_data .bundle_price::after,
body.single-product :is(
  form.cart.cart_group.bundle_form.layout_default.group_mode_parent,
  form.cart.bundle_form.layout_default.group_mode_parent,
  form.bundle_form.layout_default.group_mode_parent,
  form.bundle_form.layout_default,
  form.bundle_form
) > .cart.bundle_data .bundle_price_data::after {
  content: "Cena zmienia się po wybraniu dodatków w zestawie." !important;
  display: block !important;
  margin: 8px 0 0 !important;
  color: #8b6b2e !important;
  font-size: 13px !important;
  line-height: 1.45 !important;
  font-weight: 500 !important;
  text-transform: none !important;
}

body.single-product :is(
  form.cart.cart_group.bundle_form.layout_default.group_mode_parent,
  form.cart.bundle_form.layout_default.group_mode_parent,
  form.bundle_form.layout_default.group_mode_parent,
  form.bundle_form.layout_default,
  form.bundle_form
) > .cart.bundle_data .bundle_price .price,
body.single-product :is(
  form.cart.cart_group.bundle_form.layout_default.group_mode_parent,
  form.cart.bundle_form.layout_default.group_mode_parent,
  form.bundle_form.layout_default.group_mode_parent,
  form.bundle_form.layout_default,
  form.bundle_form
) > .cart.bundle_data .bundle_price .amount,
body.single-product :is(
  form.cart.cart_group.bundle_form.layout_default.group_mode_parent,
  form.cart.bundle_form.layout_default.group_mode_parent,
  form.bundle_form.layout_default.group_mode_parent,
  form.bundle_form.layout_default,
  form.bundle_form
) > .cart.bundle_data .bundle_price_data .price,
body.single-product :is(
  form.cart.cart_group.bundle_form.layout_default.group_mode_parent,
  form.cart.bundle_form.layout_default.group_mode_parent,
  form.bundle_form.layout_default.group_mode_parent,
  form.bundle_form.layout_default,
  form.bundle_form
) > .cart.bundle_data .bundle_price_data .amount {
  margin: 0 !important;
  color: #111 !important;
  font-size: 24px !important;
  line-height: 1.05 !important;
  font-weight: 600 !important;
}

body.single-product :is(
  form.cart.cart_group.bundle_form.layout_default.group_mode_parent,
  form.cart.bundle_form.layout_default.group_mode_parent,
  form.bundle_form.layout_default.group_mode_parent,
  form.bundle_form.layout_default,
  form.bundle_form
) > .cart.bundle_data .bundle_button {
  display: flex !important;
  justify-content: flex-end !important;
  align-items: center !important;
  gap: 14px !important;
  width: 100% !important;
  margin: 0 !important;
}

/* USUNIÄTO: :is() button width:240px / min-height:48px */

@media (max-width: 767px) {
  body.single-product :is(
    form.cart.cart_group.bundle_form.layout_default.group_mode_parent,
    form.cart.bundle_form.layout_default.group_mode_parent,
    form.bundle_form.layout_default.group_mode_parent,
    form.bundle_form.layout_default,
    form.bundle_form
  ) > .cart.bundle_data .bundle_wrap {
    grid-template-columns: 1fr !important;
    gap: 14px !important;
  }

  body.single-product :is(
    form.cart.cart_group.bundle_form.layout_default.group_mode_parent,
    form.cart.bundle_form.layout_default.group_mode_parent,
    form.bundle_form.layout_default.group_mode_parent,
    form.bundle_form.layout_default,
    form.bundle_form
  ) > .cart.bundle_data .bundle_button {
    justify-content: flex-start !important;
  }

  body.single-product :is(
    form.cart.cart_group.bundle_form.layout_default.group_mode_parent,
    form.cart.bundle_form.layout_default.group_mode_parent,
    form.bundle_form.layout_default.group_mode_parent,
    form.bundle_form.layout_default,
    form.bundle_form
  ) > .cart.bundle_data .bundle_button .bundle_add_to_cart_button,
  body.single-product :is(
    form.cart.cart_group.bundle_form.layout_default.group_mode_parent,
    form.cart.bundle_form.layout_default.group_mode_parent,
    form.bundle_form.layout_default.group_mode_parent,
    form.bundle_form.layout_default,
    form.bundle_form
  ) > .cart.bundle_data .bundle_button .single_add_to_cart_button,
  body.single-product :is(
    form.cart.cart_group.bundle_form.layout_default.group_mode_parent,
    form.cart.bundle_form.layout_default.group_mode_parent,
    form.bundle_form.layout_default.group_mode_parent,
    form.bundle_form.layout_default,
    form.bundle_form
  ) > .cart.bundle_data .bundle_button button[type="submit"] {
    width: 100% !important;
    min-width: 0 !important;
  }
}
/* =========================================================
   FIX  ramka bundle ma koń czy  si  pod licznikiem
   WLEJ NA SAM DÓŁ  CSS
   ========================================================= */

body.single-product :is(
  form.cart.cart_group.bundle_form.layout_default.group_mode_parent,
  form.cart.bundle_form.layout_default.group_mode_parent,
  form.bundle_form.layout_default.group_mode_parent,
  form.bundle_form.layout_default,
  form.bundle_form
) {
  align-items: start !important;
}

body.single-product :is(
  form.cart.cart_group.bundle_form.layout_default.group_mode_parent,
  form.cart.bundle_form.layout_default.group_mode_parent,
  form.bundle_form.layout_default.group_mode_parent,
  form.bundle_form.layout_default,
  form.bundle_form
) > .bundled_product {
  align-self: start !important;
  min-height: 0 !important;
  height: auto !important;
  padding-bottom: 12px !important;
}

body.single-product :is(
  form.cart.cart_group.bundle_form.layout_default.group_mode_parent,
  form.cart.bundle_form.layout_default.group_mode_parent,
  form.bundle_form.layout_default.group_mode_parent,
  form.bundle_form.layout_default,
  form.bundle_form
) > .bundled_product > .details,
body.single-product :is(
  form.cart.cart_group.bundle_form.layout_default.group_mode_parent,
  form.cart.bundle_form.layout_default.group_mode_parent,
  form.bundle_form.layout_default.group_mode_parent,
  form.bundle_form.layout_default,
  form.bundle_form
) > .bundled_product > .bundled_product_details {
  flex: 0 0 auto !important;
  height: auto !important;
  min-height: 0 !important;
}

body.single-product :is(
  form.cart.cart_group.bundle_form.layout_default.group_mode_parent,
  form.cart.bundle_form.layout_default.group_mode_parent,
  form.bundle_form.layout_default.group_mode_parent,
  form.bundle_form.layout_default,
  form.bundle_form
) .bundled_item_button,
body.single-product :is(
  form.cart.cart_group.bundle_form.layout_default.group_mode_parent,
  form.cart.bundle_form.layout_default.group_mode_parent,
  form.bundle_form.layout_default.group_mode_parent,
  form.bundle_form.layout_default,
  form.bundle_form
) .bundled_item_after_cart_details {
  margin-top: 0 !important;
  padding-top: 0 !important;
}

body.single-product :is(
  form.cart.cart_group.bundle_form.layout_default.group_mode_parent,
  form.cart.bundle_form.layout_default.group_mode_parent,
  form.bundle_form.layout_default.group_mode_parent,
  form.bundle_form.layout_default,
  form.bundle_form
) .bundled_item_after_cart_details {
  min-height: 44px !important;
}
/* USUNIÄTO: caĹa sekcja "FIX â dolna akcja bundle" (grid layout,
   height:52px na qty i buttonie, kolory qty). Przycisk bundle
   dziedziczy ogĂłlne reguĹy .single_add_to_cart_button (height:42px)
   identycznie jak simple product. Layout kontroluje 01.txt. */

/* =========================================================
   POWIĄ ZANE PRODUKTY  równe kafelki i pe niejsze tytu y
   ========================================================= */

body.single-product .wd-products-element .wd-carousel-item,
body.single-product .wd-products-element .wd-product,
body.single-product .wd-products-element .wd-product-wrapper {
  height: 100%;
}

body.single-product .wd-products-element .wd-product-wrapper {
  display: flex;
  flex-direction: column;
}

/* obrazek  jeden proporcjonalny box dla wszystkich */
body.single-product .wd-products-element .wd-product-thumb {
  aspect-ratio: 4 / 3;
  overflow: hidden;
  background: #f7f7f7;
  margin-bottom: 18px;
}

body.single-product .wd-products-element .wd-product-img-link {
  display: block;
  width: 100%;
  height: 100%;
}

body.single-product .wd-products-element .wd-product-thumb img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover;
  display: block;
}

/* tytuł   bez dziwnego ucinania */
body.single-product .wd-products-element .wd-entities-title {
  margin: 0 0 8px;
  text-align: center;
  line-height: 1.35;
  min-height: 56px; /* trzyma równą  wysoko   */
  display: flex;
  align-items: flex-start;
  justify-content: center;
}

body.single-product .wd-products-element .wd-entities-title a {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  overflow: hidden;
  white-space: normal !important;
  text-overflow: unset !important;
  word-break: break-word;
  overflow-wrap: anywhere;
  max-width: 100%;
}

/* kategoria */
body.single-product .wd-products-element .wd-product-cats {
  min-height: 24px;
  margin-bottom: 10px;
  text-align: center;
}

/* cena */
body.single-product .wd-products-element .price {
  display: block;
  min-height: 34px;
  margin-bottom: 16px;
  text-align: center;
}

/* przycisk zawsze na dole */
body.single-product .wd-products-element .wd-add-btn {
  margin-top: auto;
  display: flex;
  justify-content: center;
}

body.single-product .wd-products-element .wd-add-btn .button {
  min-width: 160px;
  justify-content: center;
  text-align: center;
}

/* wewnę trzne odst py kafelka */
body.single-product .wd-products-element .wd-product {
  height: 100%;
}

body.single-product .wd-products-element .wd-product-wrapper {
  padding-bottom: 6px;
}

/* strzał ki troch  bardziej estetycznie wzgl dem sekcji */
body.single-product .wd-products-element .wd-nav-arrows {
  pointer-events: none;
}

body.single-product .wd-products-element .wd-nav-arrows .wd-btn-arrow {
  pointer-events: auto;
}

/* mobile */
@media (max-width: 767px) {
  body.single-product .wd-products-element .wd-product-thumb {
    aspect-ratio: 4 / 3;
    margin-bottom: 14px;
  }

  body.single-product .wd-products-element .wd-entities-title {
    min-height: 48px;
    margin-bottom: 6px;
  }

  body.single-product .wd-products-element .wd-entities-title a {
    -webkit-line-clamp: 2;
    font-size: 16px;
    line-height: 1.3;
  }

  body.single-product .wd-products-element .wd-product-cats {
    min-height: 20px;
    margin-bottom: 8px;
  }

  body.single-product .wd-products-element .price {
    min-height: 28px;
    margin-bottom: 12px;
  }

  body.single-product .wd-products-element .wd-add-btn .button {
    min-width: 100%;
  }
}
/* =========================================================
   SZCZEGÓŁ Y REZERWACJI  UWAGI / US UGI
   ukł ad zostaje, styl dopasowany do reszty formularza
   WLEJ NA SAM DÓŁ  CSS
   ========================================================= */

/* chowamy poprzedni nagł ówek i robimy nowy jak w innych kartach */

/* ukrycie labela nad textarea */

/* textarea jak reszta pól */

/* checkbox telefonu  bardziej jak pole formularza */
body.page-id-29938 .nw-reservation-actions {
  width: 100% !important;
  max-width: 100% !important;
  align-items: stretch !important;
  gap: 14px !important;
  margin-top: 16px !important;
}

body.page-id-29938 .nw-reservation-actions > label:has(input[name="request_phone_contact"]) {
  display: flex !important;
  align-items: flex-start !important;
  gap: 12px !important;
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
  padding: 14px 16px !important;
  background: #fff !important;
  border: 1px solid #dcdcdc !important;
  border-radius: 10px !important;
  box-shadow: none !important;
  cursor: pointer !important;
  box-sizing: border-box !important;
}

body.page-id-29938 .nw-reservation-actions > label:has(input[name="request_phone_contact"])::before {
  display: none !important;
  content: none !important;
}

body.page-id-29938 .nw-reservation-actions > label:has(input[name="request_phone_contact"]) span {
  display: block !important;
  margin: 0 !important;
  color: #2d2d2d !important;
  font-size: 14px !important;
  line-height: 1.45 !important;
  font-weight: 500 !important;
}

body.page-id-29938 .nw-reservation-actions input[name="request_phone_contact"] {
  appearance: none !important;
  -webkit-appearance: none !important;
  position: relative !important;
  width: 22px !important;
  height: 22px !important;
  min-width: 22px !important;
  margin: 0 !important;
  border: 1.5px solid #d4ba87 !important;
  border-radius: 6px !important;
  background: #fff !important;
  box-shadow: none !important;
  cursor: pointer !important;
}

body.page-id-29938 .nw-reservation-actions input[name="request_phone_contact"]:checked::after {
  content: "" !important;
  position: absolute !important;
  left: 7px !important;
  top: 2px !important;
  width: 5px !important;
  height: 11px !important;
  border: solid #d4ba87 !important;
  border-width: 0 2px 2px 0 !important;
  transform: rotate(45deg) !important;
}

/* sekcja usł ug */

/* mobile */
/* =========================================================
   FIX 1  STRZAŁ KI PRZY POWI ZANYCH PRODUKTACH
   ========================================================= */

body.single-product .wd-products-element .wd-nav-arrows,
body.single-product .related.products .wd-nav-arrows {
  pointer-events: auto !important;
}

body.single-product .wd-products-element .wd-nav-arrows .wd-btn-arrow,
body.single-product .related.products .wd-nav-arrows .wd-btn-arrow,
body.single-product .wd-products-element .wd-btn-arrow,
body.single-product .related.products .wd-btn-arrow {
  pointer-events: auto !important;
  cursor: pointer !important;
  z-index: 10 !important;
  position: relative !important;
}

/* =========================================================
   FIX 2  NAZWY W BUNDLE NIE UCIĘ TE
   ========================================================= */

body.single-product :is(
  form.cart.cart_group.bundle_form.layout_default.group_mode_parent,
  form.cart.bundle_form.layout_default.group_mode_parent,
  form.bundle_form.layout_default.group_mode_parent,
  form.bundle_form.layout_default,
  form.bundle_form
) .bundled_product_title,
body.single-product :is(
  form.cart.cart_group.bundle_form.layout_default.group_mode_parent,
  form.cart.bundle_form.layout_default.group_mode_parent,
  form.bundle_form.layout_default.group_mode_parent,
  form.bundle_form.layout_default,
  form.bundle_form
) .bundled_product_title_inner,
body.single-product :is(
  form.cart.cart_group.bundle_form.layout_default.group_mode_parent,
  form.cart.bundle_form.layout_default.group_mode_parent,
  form.bundle_form.layout_default.group_mode_parent,
  form.bundle_form.layout_default,
  form.bundle_form
) .item_title {
  /* zdejmujemy stał   max-height i overflow hidden */
  min-height: 0 !important;
  max-height: none !important;
  height: auto !important;
  overflow: visible !important;

  /* naturalne ł amanie tekstu */
  display: block !important;
  text-align: center !important;
  margin: 0 auto 10px !important;
  max-width: 100% !important;
  font-size: 13px !important;
  line-height: 1.3 !important;
  font-weight: 600 !important;
  word-break: break-word !important;
  overflow-wrap: break-word !important;
  white-space: normal !important;
  hyphens: none !important;
}

/* ukrycie zduplikowanego tytuł u (bundled_product_title_inner jest wewn trz bundled_product_title) */
body.single-product form.bundle_form .bundled_product_title_inner {
  display: none !important;
}

/* =========================================================
   FIX 3  PRZYCISK "DODAJ DO WYCENY" BEZ LICZNIKA
   gdy nie ma .quantity w .bundle_button, przycisk ma peł n  szeroko  
   ========================================================= */

/* gdy bundle_button nie zawiera quantity  przycisk zajmuje cał o   */
body.single-product :is(
  form.cart.cart_group.bundle_form.layout_default.group_mode_parent,
  form.cart.bundle_form.layout_default.group_mode_parent,
  form.bundle_form.layout_default.group_mode_parent,
  form.bundle_form.layout_default,
  form.bundle_form
) > .cart.bundle_data .bundle_button:not(:has(.quantity)) {
  grid-template-columns: 1fr !important;
  justify-items: stretch !important;
}

body.single-product :is(
  form.cart.cart_group.bundle_form.layout_default.group_mode_parent,
  form.cart.bundle_form.layout_default.group_mode_parent,
  form.bundle_form.layout_default.group_mode_parent,
  form.bundle_form.layout_default,
  form.bundle_form
) > .cart.bundle_data .bundle_button:not(:has(.quantity)) .bundle_add_to_cart_button,
body.single-product :is(
  form.cart.cart_group.bundle_form.layout_default.group_mode_parent,
  form.cart.bundle_form.layout_default.group_mode_parent,
  form.bundle_form.layout_default.group_mode_parent,
  form.bundle_form.layout_default,
  form.bundle_form
) > .cart.bundle_data .bundle_button:not(:has(.quantity)) .single_add_to_cart_button,
body.single-product :is(
  form.cart.cart_group.bundle_form.layout_default.group_mode_parent,
  form.cart.bundle_form.layout_default.group_mode_parent,
  form.bundle_form.layout_default.group_mode_parent,
  form.bundle_form.layout_default,
  form.bundle_form
) > .cart.bundle_data .bundle_button:not(:has(.quantity)) button[type="submit"] {
  width: 100% !important;
  min-width: 0 !important;
}

/* USUNIÄTO: fallback bundle button height:52px â przycisk dziedziczy
   ogĂłlne reguĹy .single_add_to_cart_button. Override w 01.txt. */* =========================================================
   BUNDLE  równe kafelki, bez psucia ł amania nazw
   WLEJ NA SAM DÓŁ  CSS
   ========================================================= */

body.single-product form.cart.cart_group.bundle_form.layout_default.group_mode_parent.initialized {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 18px !important;
  align-items: stretch !important;
  width: 100% !important;
}

/* pojedyncza karta */


/* ś rodek karty */


/* zdję cie */






/* tytuł   zostaje dobre  amanie, ale wysoko   jest wyrównana */






/* cena */


/* licznik zawsze przy dole */
/* =========================================================
   FIX  POWIĄ ZANE PRODUKTY + BUNDLE
   WLEJ NA SAM DÓŁ  CSS
   ========================================================= */

/* =========================================================
   1. POWIĄ ZANE PRODUKTY  strza ki przy samej sekcji
   ========================================================= */

body.single-product .related.products,
body.single-product .wd-products-element {
  position: relative !important;
}

body.single-product .related.products .wd-carousel-container,
body.single-product .wd-products-element .wd-carousel-container,
body.single-product .related.products .wd-carousel-inner,
body.single-product .wd-products-element .wd-carousel-inner {
  position: relative !important;
}

body.single-product .related.products .wd-nav-arrows,
body.single-product .wd-products-element .wd-nav-arrows {
  position: absolute !important;
  top: 0 !important; right: 0 !important; bottom: 0 !important; left: 0 !important;
  inset: 0 !important;
  z-index: 20 !important;
  pointer-events: none !important;
}

body.single-product .related.products .wd-nav-arrows .wd-btn-arrow,
body.single-product .wd-products-element .wd-nav-arrows .wd-btn-arrow {
  position: absolute !important;
  top: 36% !important; /* ś rodek obszaru zdj  , nie ca ej sekcji */
  transform: translateY(-50%) !important;
  pointer-events: auto !important;
  z-index: 21 !important;

  width: 48px !important;
  height: 60px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;

  margin: 0 !important;
  background: transparent !important; /* (audyt 2026-06-25): bylo #fff box — strzałki jak w opiniach: przezroczyste, zlote, BEZ boxu */
  border: 0 !important;
  box-shadow: none !important;
  border-radius: 0 !important;
  color: #d4ba87 !important;
  font-size: 46px !important;
  line-height: 1 !important;
  cursor: pointer !important;
}
/* chevron w .wd-arrow-inner — wiekszy, zloty (jak w opiniach) */
body.single-product .related.products .wd-nav-arrows .wd-btn-arrow .wd-arrow-inner,
body.single-product .wd-products-element .wd-nav-arrows .wd-btn-arrow .wd-arrow-inner {
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  border-radius: 0 !important;
  color: #d4ba87 !important;
  font-size: 46px !important;
  width: auto !important;
  height: auto !important;
  line-height: 1 !important;
}

body.single-product .related.products .wd-nav-arrows .wd-btn-arrow:hover,
body.single-product .wd-products-element .wd-nav-arrows .wd-btn-arrow:hover,
body.single-product .related.products .wd-nav-arrows .wd-btn-arrow:hover .wd-arrow-inner,
body.single-product .wd-products-element .wd-nav-arrows .wd-btn-arrow:hover .wd-arrow-inner {
  border-color: transparent !important;
  background: transparent !important;
  color: #f0dcae !important; /* hover = jasniejsze zloto (jak opinie) */
}

body.single-product .related.products .wd-nav-arrows .wd-btn-arrow[class*="prev"],
body.single-product .related.products .wd-nav-arrows .wd-btn-arrow.wd-prev,
body.single-product .related.products .wd-nav-arrows .wd-btn-arrow:first-child,
body.single-product .wd-products-element .wd-nav-arrows .wd-btn-arrow[class*="prev"],
body.single-product .wd-products-element .wd-nav-arrows .wd-btn-arrow.wd-prev,
body.single-product .wd-products-element .wd-nav-arrows .wd-btn-arrow:first-child {
  left: -22px !important;
  right: auto !important;
}

body.single-product .related.products .wd-nav-arrows .wd-btn-arrow[class*="next"],
body.single-product .related.products .wd-nav-arrows .wd-btn-arrow.wd-next,
body.single-product .related.products .wd-nav-arrows .wd-btn-arrow:last-child,
body.single-product .wd-products-element .wd-nav-arrows .wd-btn-arrow[class*="next"],
body.single-product .wd-products-element .wd-nav-arrows .wd-btn-arrow.wd-next,
body.single-product .wd-products-element .wd-nav-arrows .wd-btn-arrow:last-child {
  right: -22px !important;
  left: auto !important;
}

/* =========================================================
   2. BUNDLE  równe karty naprawdę  równe
   ========================================================= */

body.single-product form.cart.cart_group.bundle_form.layout_default.group_mode_parent.initialized {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 18px !important;
  align-items: stretch !important;
  width: 100% !important;
}

body.single-product form.cart.cart_group.bundle_form.layout_default.group_mode_parent.initialized > .bundled_product {
  float: none !important;
  width: auto !important;
  margin: 0 !important;
  padding: 16px 12px !important;
  display: flex !important;
  flex-direction: column !important;
  align-self: stretch !important;
  min-width: 0 !important;
  height: auto !important;
  border: 1px solid #ececec !important;
  background: #fff !important;
  box-sizing: border-box !important;
}

body.single-product form.cart.cart_group.bundle_form.layout_default.group_mode_parent.initialized > .bundled_product > .details {
  display: flex !important;
  flex-direction: column !important;
  flex: 1 1 auto !important;
  min-width: 0 !important;
  height: 100% !important;
}

/* zdję cie */
body.single-product form.cart.cart_group.bundle_form.layout_default.group_mode_parent.initialized .bundled_product_images {
  width: 100% !important;
  height: 104px !important;
  min-height: 104px !important;
  margin: 0 0 12px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}

body.single-product form.cart.cart_group.bundle_form.layout_default.group_mode_parent.initialized .bundled_product_image,
body.single-product form.cart.cart_group.bundle_form.layout_default.group_mode_parent.initialized .bundled_product_image figure,
body.single-product form.cart.cart_group.bundle_form.layout_default.group_mode_parent.initialized .bundled_product_image a,
body.single-product form.cart.cart_group.bundle_form.layout_default.group_mode_parent.initialized .woocommerce-product-gallery__image,
body.single-product form.cart.cart_group.bundle_form.layout_default.group_mode_parent.initialized .woocommerce-product-gallery__image--placeholder,
body.single-product form.cart.cart_group.bundle_form.layout_default.group_mode_parent.initialized .placeholder_image {
  width: 96px !important;
  height: 96px !important;
  min-width: 96px !important;
  min-height: 96px !important;
  max-width: 96px !important;
  max-height: 96px !important;
  margin: 0 auto !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  overflow: hidden !important;
  background: #f4f4f4 !important;
}

body.single-product form.cart.cart_group.bundle_form.layout_default.group_mode_parent.initialized .bundled_product_images img,
body.single-product form.cart.cart_group.bundle_form.layout_default.group_mode_parent.initialized .bundled_product_image img,
body.single-product form.cart.cart_group.bundle_form.layout_default.group_mode_parent.initialized .woocommerce-product-gallery__image img,
body.single-product form.cart.cart_group.bundle_form.layout_default.group_mode_parent.initialized .woocommerce-product-gallery__image--placeholder img,
body.single-product form.cart.cart_group.bundle_form.layout_default.group_mode_parent.initialized .placeholder_image img {
  width: 96px !important;
  height: 96px !important;
  object-fit: contain !important;
  object-position: center center !important;
  display: block !important;
  margin: 0 auto !important;
}

/* tytuł  */
body.single-product form.cart.cart_group.bundle_form.layout_default.group_mode_parent.initialized .bundled_product_title {
  margin: 0 0 10px !important;
  min-height: 68px !important;
  display: flex !important;
  align-items: flex-start !important;
  justify-content: center !important;
  text-align: center !important;
}

body.single-product form.cart.cart_group.bundle_form.layout_default.group_mode_parent.initialized .bundled_product_title_inner {
  display: block !important;
  width: 100% !important;
}

body.single-product form.cart.cart_group.bundle_form.layout_default.group_mode_parent.initialized .item_title {
  display: block !important;
  width: 100% !important;
  font-size: 13px !important;
  line-height: 1.3 !important;
  font-weight: 600 !important;
  text-align: center !important;
  white-space: normal !important;
  word-break: normal !important;
  overflow-wrap: anywhere !important;
  hyphens: none !important;
}

/* ś rodkowa cz    karty */
body.single-product form.cart.cart_group.bundle_form.layout_default.group_mode_parent.initialized .cart[data-bundled_item_id] {
  display: flex !important;
  flex-direction: column !important;
  flex: 1 1 auto !important;
  min-height: 0 !important;
}

body.single-product form.cart.cart_group.bundle_form.layout_default.group_mode_parent.initialized .bundled_item_wrap,
body.single-product form.cart.cart_group.bundle_form.layout_default.group_mode_parent.initialized .bundled_item_cart_content {
  display: flex !important;
  flex-direction: column !important;
  flex: 1 1 auto !important;
  height: 100% !important;
}

body.single-product form.cart.cart_group.bundle_form.layout_default.group_mode_parent.initialized .bundled_item_cart_details {
  min-height: 38px !important;
  margin: 0 0 12px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  text-align: center !important;
}

/* licznik zawsze na dole */
body.single-product form.cart.cart_group.bundle_form.layout_default.group_mode_parent.initialized .bundled_item_after_cart_details,
body.single-product form.cart.cart_group.bundle_form.layout_default.group_mode_parent.initialized .bundled_item_button {
  margin-top: auto !important;
}

body.single-product form.cart.cart_group.bundle_form.layout_default.group_mode_parent.initialized .bundled_item_after_cart_details {
  display: flex !important;
  justify-content: center !important;
  align-items: flex-end !important;
}

body.single-product form.cart.cart_group.bundle_form.layout_default.group_mode_parent.initialized .quantity {
  display: grid !important;
  grid-template-columns: 40px 46px 40px !important;
  justify-content: center !important;
  width: 126px !important;
  min-width: 126px !important;
  max-width: 126px !important;
  margin: 0 auto !important;
}

body.single-product form.cart.cart_group.bundle_form.layout_default.group_mode_parent.initialized .quantity > .minus,
body.single-product form.cart.cart_group.bundle_form.layout_default.group_mode_parent.initialized .quantity > .plus,
body.single-product form.cart.cart_group.bundle_form.layout_default.group_mode_parent.initialized .quantity > .qty {
  height: 44px !important;
  min-height: 44px !important;
  margin: 0 !important;
  padding: 0 !important;
  box-sizing: border-box !important;
}

body.single-product form.cart.cart_group.bundle_form.layout_default.group_mode_parent.initialized > .cart.bundle_data {
  grid-column: 1 / -1 !important;
}

/* =========================================================
   3. MOBILE
   ========================================================= */

@media (max-width: 767px) {
  body.single-product .related.products .wd-nav-arrows .wd-btn-arrow,
  body.single-product .wd-products-element .wd-nav-arrows .wd-btn-arrow {
    width: 38px !important;
    height: 38px !important;
    top: 32% !important;
  }

  body.single-product .related.products .wd-nav-arrows .wd-btn-arrow[class*="prev"],
  body.single-product .related.products .wd-nav-arrows .wd-btn-arrow.wd-prev,
  body.single-product .related.products .wd-nav-arrows .wd-btn-arrow:first-child,
  body.single-product .wd-products-element .wd-nav-arrows .wd-btn-arrow[class*="prev"],
  body.single-product .wd-products-element .wd-nav-arrows .wd-btn-arrow.wd-prev,
  body.single-product .wd-products-element .wd-nav-arrows .wd-btn-arrow:first-child {
    left: -10px !important;
  }

  body.single-product .related.products .wd-nav-arrows .wd-btn-arrow[class*="next"],
  body.single-product .related.products .wd-nav-arrows .wd-btn-arrow.wd-next,
  body.single-product .related.products .wd-nav-arrows .wd-btn-arrow:last-child,
  body.single-product .wd-products-element .wd-nav-arrows .wd-btn-arrow[class*="next"],
  body.single-product .wd-products-element .wd-nav-arrows .wd-btn-arrow.wd-next,
  body.single-product .wd-products-element .wd-nav-arrows .wd-btn-arrow:last-child {
    right: -10px !important;
  }

  body.single-product form.cart.cart_group.bundle_form.layout_default.group_mode_parent.initialized {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 12px !important;
  }

  body.single-product form.cart.cart_group.bundle_form.layout_default.group_mode_parent.initialized .bundled_product_title {
    min-height: 58px !important;
  }

  body.single-product form.cart.cart_group.bundle_form.layout_default.group_mode_parent.initialized .item_title {
    font-size: 12px !important;
    line-height: 1.25 !important;
  }
}
/* ============================================
   KASA - Namioty Warszawa
   ============================================ */

/* --- LAYOUT: dwie kolumny na desktopie --- */
.woocommerce-checkout #payment,
.woocommerce form.checkout {
  display: flex;
  flex-wrap: wrap;
  gap: 40px;
  align-items: flex-start;
}

.woocommerce-checkout .col2-set,
.woocommerce-checkout #customer_details {
  flex: 1 1 400px;
  min-width: 0;
}

.woocommerce-checkout #order_review_heading,
.woocommerce-checkout #order_review {
  flex: 1 1 380px;
  min-width: 0;
}

/* --- DANE REZERWACJI (lewa kolumna) --- */
.woocommerce-checkout .col2-set {
  background: #f9f8f6;
  border-radius: 4px;
  padding: 32px 36px;
  font-size: 14px;
  line-height: 1.8;
  color: #222;
}

.woocommerce-checkout .col2-set p,
.woocommerce-checkout .col2-set .woocommerce-billing-fields p {
  margin-bottom: 6px;
}

/* --- PODSUMOWANIE ZAMÓWIENIA (prawa kolumna) --- */
.woocommerce-checkout-review-order-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 14px;
}

.woocommerce-checkout-review-order-table th,
.woocommerce-checkout-review-order-table td {
  padding: 12px 4px;
  border-bottom: 1px solid #ececec;
  vertical-align: middle;
}

.woocommerce-checkout-review-order-table thead th {
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #222;
  border-bottom: 2px solid #222;
  padding-bottom: 10px;
}

/* Nazwy produktów */
.woocommerce-checkout-review-order-table .product-name {
  color: #222;
  font-weight: 500;
}

/* Ceny w tabeli - zł oty akcent */
.woocommerce-checkout-review-order-table .product-total,
.woocommerce-checkout-review-order-table td.product-total {
  color: #b5882e;
  font-weight: 600;
  text-align: right;
  white-space: nowrap;
}

/* Wiersze dopł at / kosztów */
.woocommerce-checkout-review-order-table .cart-subtotal td,
.woocommerce-checkout-review-order-table .order-total td,
.woocommerce-checkout-review-order-table tr.fee td {
  color: #b5882e;
  font-weight: 600;
  text-align: right;
}

.woocommerce-checkout-review-order-table tr.fee th,
.woocommerce-checkout-review-order-table .cart-subtotal th,
.woocommerce-checkout-review-order-table .order-total th {
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.07em;
  text-transform: uppercase;
  color: #222;
}

/* Ł  cznie - wyró nienie */
.woocommerce-checkout-review-order-table .order-total th,
.woocommerce-checkout-review-order-table .order-total td {
  font-size: 16px;
  border-top: 2px solid #222;
  padding-top: 16px;
}

.woocommerce-checkout-review-order-table .order-total td {
  color: #b5882e;
  font-size: 18px;
}

/* --- SEKCJA ZGÓD I CHECKBOXÓW --- */
.woocommerce-checkout .woocommerce-terms-and-conditions-wrapper {
  background: #fff;
  border: 1px solid #e0ddd8;
  border-radius: 4px;
  padding: 24px 28px;
  margin-top: 24px;
}

.woocommerce-checkout .woocommerce-terms-and-conditions-wrapper h3 {
  font-size: 18px;
  font-weight: 600;
  margin-bottom: 16px;
  color: #111;
}

.woocommerce-checkout .wc-terms-and-conditions label,
.woocommerce-checkout #terms label,
.woocommerce-checkout .form-row label {
  font-size: 13.5px;
  line-height: 1.6;
  color: #333;
  display: inline;
  margin-left: 8px;
}

.woocommerce-checkout input[type="checkbox"] {
  width: 16px;
  height: 16px;
  accent-color: #b5882e;
  cursor: pointer;
  flex-shrink: 0;
  margin-top: 3px;
}

.woocommerce-checkout .form-row.validate-required label::after {
  content: none; /* usuwa gwiazdki jeś li niepotrzebne */
}

/* Checkbox rows ukł ad */
.woocommerce-checkout .form-row {
  display: flex;
  align-items: flex-start;
  gap: 8px;
  margin-bottom: 14px;
}

/* --- PRZYCISK ZAREZERWUJ TERMIN --- */
#place_order,
.woocommerce-checkout #place_order {
  display: block;
  width: 100%;
  background: #111;
  color: #fff !important;
  font-size: 13px;
  font-weight: 600;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  padding: 18px 24px;
  border: none;
  border-radius: 8px;
  cursor: pointer;
  transition: background 0.2s ease;
  margin-top: 16px;
}

#place_order:hover {
  background: #b5882e;
}

/* --- PRZYCISK WYŚ LIJ WYCEN  NA E-MAIL --- */
.woocommerce-checkout .quote-only-btn,
button.quote-email,
a.quote-email,
input[name="quote_only"] {
  display: block;
  width: 100%;
  background: #333;
  color: #fff !important;
  font-size: 13px;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: none;
  padding: 14px 24px;
  border: none;
  border-radius: 2px;
  cursor: pointer;
  transition: background 0.2s ease;
  text-align: center;
  margin-top: 10px;
}

.woocommerce-checkout .quote-only-btn:hover,
button.quote-email:hover {
  background: #555;
}

/* --- KOMUNIKAT "W sezonie wolne terminy szybko się  ko cz " --- */
.woocommerce-checkout .woocommerce-info,
.season-notice {
  background: #fdf8f0;
  border-left: 4px solid #b5882e;
  color: #7a5c1e;
  font-size: 13.5px;
  padding: 12px 16px;
  border-radius: 0 4px 4px 0;
  margin-bottom: 16px;
}

/* --- DROBNY TEKST POD PRZYCISKAMI --- */
.woocommerce-checkout #order_review p small,
.woocommerce-checkout #order_review > p {
  font-size: 12.5px;
  color: #777;
  text-align: center;
  line-height: 1.6;
  margin-top: 10px;
}

/* --- RESPONSYWNOŚ   --- */
@media (max-width: 768px) {
  .woocommerce-checkout #payment,
  .woocommerce form.checkout {
    flex-direction: column;
  }
  
  .woocommerce-checkout .col2-set,
  .woocommerce-checkout #order_review {
    flex: 1 1 100%;
  }
}
/* =========================================================
   POPRAWKI UX  koszyk, kasa, thank you
   ========================================================= */

/* 1. BANER W KOSZYKU  kremowy zamiast ż ó tego */

body.woocommerce-cart .woocommerce-info {
  background: #fdf8ef !important;
  border-left: 3px solid #d4ba87 !important;
  color: #7a5a24 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}

body.woocommerce-cart .woocommerce-info::before {
  color: #d4ba87 !important;
}

/* 2. PRZYCISK KOSZYKA  podmiana tekstu przez CSS jako fallback */

.woocommerce-cart .wc-proceed-to-checkout a.checkout-button {
  font-size: 0 !important;
}

.woocommerce-cart .wc-proceed-to-checkout a.checkout-button::after {
  content: "PRZEJDŹ DO REZERWACJI" !important;
  font-size: 16px !important;      /* (2026-07-03, user: 'inny styl niz buttony z glownej') kanon 16/500/0.04em */
  font-weight: 500 !important;
  letter-spacing: 0.04em !important;
}
/* przycisk kasy = wymiary kanonu (bylo padding 5px 20px, h42 — kanon 16px 34px, h~58) */
html .woocommerce-cart .wc-proceed-to-checkout a.checkout-button:not(#nw-z) {
  padding: 16px 34px !important;
  min-height: 58px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
}

/* =========================================================
   PROGRESS  jedna idealnie równa linia pod kół kami
   ========================================================= */

.nw-progress-bar {
  display: grid !important;
  grid-template-columns: repeat(4, 1fr) !important;
  width: 100% !important;
  max-width: 680px !important;
  margin: 0 auto 32px !important;
  position: relative !important;
  align-items: start !important;
}

/* jedna wspólna linia od ś rodka 1. kó ka do  rodka 4. kó ka */
.nw-progress-bar::before {
  content: "" !important;
  position: absolute !important;
  top: 13px !important;
  left: 12.5% !important;
  right: 12.5% !important;
  height: 2px !important;
  background: #d9d9d9 !important;
  border-radius: 2px !important;
  z-index: 0 !important;
}

.nw-progress-step {
  position: relative !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  gap: 8px !important;
  text-align: center !important;
  min-width: 0 !important;
  z-index: 1 !important;
}

/* wył  cz wszystkie stare kreski */
.nw-progress-step::before,
.nw-progress-step::after,
.nw-progress-dot::before,
.nw-progress-dot::after {
  content: none !important;
  display: none !important;
}

.nw-progress-dot {
  width: 28px !important;
  height: 28px !important;
  border-radius: 50% !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  font-size: 12px !important;
  font-weight: 600 !important;
  position: relative !important;
  z-index: 2 !important;
  background: #fff !important;
  border: 1.5px solid #d9d9d9 !important;
  color: #aaa !important;
}

.nw-progress-step.is-done .nw-progress-dot {
  background: #d4ba87 !important;
  border-color: #d4ba87 !important;
  color: #fff !important;
}

.nw-progress-step.is-active .nw-progress-dot {
  background: #000 !important;
  border-color: #000 !important;
  color: #d4ba87 !important;
}

.nw-progress-label {
  font-size: 11px !important;
  line-height: 1.2 !important;
  color: #aaa !important;
  font-weight: 500 !important;
  letter-spacing: 0.04em !important;
  white-space: nowrap !important;
}

.nw-progress-step.is-done .nw-progress-label,
.nw-progress-step.is-active .nw-progress-label {
  color: #111 !important;
  font-weight: 600 !important;
}


/* 4. IKONKI PŁ ATNO CI W STOPCE  ukrycie */

.site-footer .payments,
.copyrights-wrapper .payments {
  display: none !important;
}

/* 5. DOPŁ ATY W KASIE  normalna wielko   liter */

.woocommerce-checkout-review-order-table tr.fee th,
.woocommerce-checkout-review-order-table .cart-subtotal th {
  text-transform: none !important;
  letter-spacing: 0 !important;
  font-size: 15px !important;
  font-weight: 600 !important;
}

/* 6. ZIELONY BOX THANK YOU  kolory marki */

.woocommerce-order-received .woocommerce-thankyou-order-received {
  background: #fdf8ef !important;
  border: 1px solid #d4ba87 !important;
  color: #7a5a24 !important;
  border-radius: 12px !important; /* (audyt 2026-06-25): komunikat "Dziekujemy" byl ostry (radius:0) -> 12px jak reszta kart */
  box-shadow: none !important;
  padding: 20px 24px !important;
  font-size: 16px !important;
  font-weight: 600 !important;
  text-align: center !important;
}

/* 7. LINK "WRÓĆ  DO EDYCJI" */

.nw-checkout-back-link {
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
  margin-top: 14px !important;
  color: #767676 !important;
  font-size: 13px !important;
  text-decoration: none !important;
  border-bottom: 1px solid #d9d9d9 !important;
  transition: color 0.2s ease, border-color 0.2s ease !important;
}

.nw-checkout-back-link::before { content: "← " !important; }

.nw-checkout-back-link:hover {
  color: #111 !important;
  border-color: #111 !important;
}

/* 8. TOOLTIP DOPŁ ATA LAST MINUTE */

/* 9. COLLAPSIBLE NA THANK YOU */
/* =========================================================
   MOBILE  BUNDLE PLACEHOLDER WYŚ RODKOWANY
   ========================================================= */

body.single-product form.bundle_form .woocommerce-product-gallery__image--placeholder,
body.single-product form.bundle_form .placeholder_image {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  margin: 0 auto !important;
}

body.single-product form.bundle_form .woocommerce-product-gallery__image--placeholder img,
body.single-product form.bundle_form .placeholder_image img {
  display: block !important;
  margin: 0 auto !important;
  object-fit: contain !important;
  object-position: center center !important;
}

/* =========================================================
   MOBILE TOOLBAR  "Product category namioty" aria-label
   ========================================================= */

@media (max-width: 767px) {
  a.wd-fill.category-link[aria-label^="Product category"] {
    font-size: 0 !important;
  }
}
/* =========================================================
   UKRYCIE MY ACCOUNT  mobilka + desktop
   ========================================================= */

/* (audyt) KONTO PRZYWROCONE — ponizszy blok ukrywajacy konto zostal wylaczony.
   To on powodowal, ze ikona konta dodana w Header Builderze sie nie pokazywala.
.wd-header-my-account,
.whb-sticked .wd-header-my-account,
.whb-clone .wd-header-my-account,
.whb-mobile-left .wd-header-my-account,
.whb-mobile-right .wd-header-my-account {
  display: none !important;
} */
/* ============================================
   FIX 1: Zawsze 4 kolumny produktów
   ============================================ */
.woocommerce ul.products,
.woocommerce-page ul.products,
.woodmart-products-grid .products {
    display: grid !important;
    grid-template-columns: repeat(4, 1fr) !important;
    gap: 20px !important;
}

/* Upewnij się   e li.product nie nadpisuje */
.woocommerce ul.products li.product,
.woocommerce-page ul.products li.product {
    width: 100% !important;
    margin: 0 !important;
    float: none !important;
}

/* ============================================
   FIX 2: Pł ynna zmiana kategorii bez mrugania
   ============================================ */

/* Zapobiegaj skakaniu hero bannera */
.woocommerce-products-header,
.woodmart-page-header,
.woodmart-shop-page-header {
    min-height: 180px; /* dopasuj do swojej wysokoś ci */
    transition: none !important;
}

/* Wygł adzenie AJAX loading - zamiast mrugania */
.woodmart-products-grid.loading .products,
.woocommerce ul.products.loading {
    opacity: 0.4;
    transition: opacity 0.2s ease !important;
}

.woodmart-products-grid .products {
    opacity: 1;
    transition: opacity 0.2s ease !important;
}

/* Zablokuj zmianę  wysoko ci kontenera podczas  adowania AJAX */
.site-content,
.woodmart-content-holder {
    min-height: 100vh;
}

/* =========================================================
   WYPOŻ YCZ -> WYPO YCZALNIA
   banner + header fallback
   ========================================================= */

/* 1. BANNER SKLEPU / WYPOŻ YCZALNI */
body.woocommerce-shop .elementor-element-57d2cbf .wd-image::after,
body.post-type-archive-product .elementor-element-57d2cbf .wd-image::after,
body.tax-product_cat .elementor-element-57d2cbf .wd-image::after,
body.tax-product_tag .elementor-element-57d2cbf .wd-image::after {
  content: "Oferta" !important;
}

/* Sekcje 2 (HEADER DESKTOP) i 3 (MOBILE MENU) wizualnej podmiany tekstu
   linku został y usuni te  podmiana "Sklep/Wypo ycz"   "Wypo yczalnia"
   jest teraz wykonywana po stronie JS w tlumaczenia.rtf (selektory obejmują 
   desktop, tablet i mobile: .woodmart-nav-link, .mobile-nav, .wd-nav-mobile),
   a antyflicker  w NW Patch.rtf. Dzię ki temu nie ma ju  wy cigu trzech
   mechanizmów i nie miga "Wypoż ycz" przy nawigacji mi dzy stronami. */

.nw-footer-legal-row {
  grid-column: 1 / -1 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
  flex-wrap: wrap !important;
  gap: 10px !important;
  margin-top: 18px !important;
  padding-top: 16px !important;
  border-top: 1px solid rgba(212, 186, 135, 0.14) !important;
  color: rgba(212, 186, 135, 0.9) !important;
  font-size: 13px !important;
  line-height: 1.6 !important;
}

.nw-footer-legal-row a {
  color: var(--nw-beige) !important;
  text-decoration: none !important;
  transition: color 0.2s ease !important;
}

.nw-footer-legal-row a:hover {
  color: #fff !important;
}

.nw-footer-legal-row .sep {
  opacity: 0.8 !important;
}

@media (max-width: 767px) {
  .nw-footer-legal-row {
    gap: 8px !important;
    font-size: 12px !important;
    margin-top: 14px !important;
    padding-top: 14px !important;
  }
}
/* =========================================================
   NW  korekta pozycji paska postę pu na:
   29938 = Szczegół y rezerwacji
   30264 = Dostę pno  
   Element wstrzykiwany bezpoś rednio jako .nw-progress-bar
   (brak wrappera .nw-progress-page-wrap na tych stronach)
   ========================================================= */

body.page-id-29938 .nw-progress-bar,
body.page-id-30264 .nw-progress-bar {
    max-width: 1240px;
    margin: 52px auto 30px !important;
    padding: 0 20px !important;
    position: relative;
    z-index: 12;
}

@media (max-width: 767px) {
    body.page-id-29938 .nw-progress-bar,
    body.page-id-30264 .nw-progress-bar {
        margin: 36px auto 22px !important;
        padding: 0 12px !important;
    }
}

/* ---------------------------------------------------------
   UKRYJ SKU "Brak danych"
   --------------------------------------------------------- */
.single-product .product_meta .sku_wrapper {
    display: none !important;
}

/* ---------------------------------------------------------
   ZŁ OTY SPINNER WooCommerce (AJAX koszyk, dodaj do wyceny)
   --------------------------------------------------------- */
/* Nadpisuje domyś lny blockOverlay */
.blockOverlay {
    background: rgba(255,255,255,0.7) !important;
}

/* Niestandardowy spinner oparty na kolorze marki */
.blockUI.blockOverlay::after {
    content: '' !important;
    display: block !important;
    position: fixed !important;
    top: 50% !important;
    left: 50% !important;
    width: 36px !important;
    height: 36px !important;
    margin: -18px 0 0 -18px !important;
    border: 3px solid rgba(212,186,135,0.25) !important;
    border-top-color: rgb(212,186,135) !important;
    border-radius: 50% !important;
    animation: nwSpinnerRotate 0.7s linear infinite !important;
    background: none !important;
    z-index: 99999 !important;
}

/* Ukryj krę cio ki na przyciskach  zostaje tylko jeden centralny spinner */
.add_to_cart_button.loading::after,
.single_add_to_cart_button.loading::after,
.bundle_add_to_cart_button.loading::after,
button.loading::after {
    display: none !important;
}

@keyframes nwSpinnerRotate {
    to { transform: rotate(360deg); }
}






@media (max-width: 1024px) {
  .nw-home-categories-intro {
    margin-bottom: 32px;
  }

  

  
}

@media (max-width: 767px) {
  .nw-home-categories-intro { margin-bottom: 24px; }

  

  
}

  color: var(--nw-beige) !important;

.nw-home-process {
  max-width: 1240px;
  margin: 0 auto;
  padding: 20px 20px 10px;
}
/* =========================
   JAK WYGLĄ DA WYNAJEM?
   ========================= */


















.nw-home-process-step p { margin-left: auto;margin-right: auto; }

/* =========================
   NAGŁ ÓWEK NAD KATEGORIAMI
   ========================= */






/* =========================
   TABLET
   ========================= */
@media (max-width: 1024px) {
  .nw-home-process {
    padding: 56px 20px 24px;
  }

  .nw-home-process-head {
    margin-bottom: 34px;
  }

  .nw-home-process-head h2 {
    font-size: 38px;
  }

  

  

  .nw-home-process-step h3 {
    font-size: 22px;
  }

  .nw-home-categories-intro {
    margin: 56px auto 34px;
  }

  .nw-home-categories-intro h2 {
    font-size: 38px;
  }

  .nw-home-categories-intro p {
    font-size: 17px;
  }
}

/* =========================
   MOBILE
   ========================= */
@media (max-width: 767px) {
  .nw-home-process {
    padding: 40px 16px 12px;
  }

  .nw-home-process-head {
    margin-bottom: 26px;
  }

  .nw-home-process-head h2 {
    font-size: 30px;
    line-height: 1.18;
  }

  .nw-home-process-steps {
    grid-template-columns: 1fr;
    gap: 26px;
  }

  

  

  

  .nw-home-process-step p {
    font-size: 15px;
    line-height: 1.65;
    max-width: 100%;
  }

  

  .nw-home-categories-intro h2 {
    font-size: 30px;
    line-height: 1.18;
  }

  .nw-home-categories-intro p {
    font-size: 15px;
    line-height: 1.65;
  }
}


















@media (max-width: 1024px) {
  .nw-home-why {
    padding: 64px 20px 72px;
  }

  .nw-home-why-head {
    margin-bottom: 38px;
  }

  .nw-home-why-head h2 {
    font-size: 38px;
  }

  .nw-home-why-intro {
    font-size: 18px;
  }

  

  

  
}

@media (max-width: 767px) {
  .nw-home-why {
    padding: 44px 16px 54px;
  }

  .nw-home-why-head {
    margin-bottom: 28px;
  }

  .nw-home-why-head h2 {
    font-size: 30px;
    line-height: 1.18;
  }

  .nw-home-why-intro {
    font-size: 16px;
    line-height: 1.65;
  }

  .nw-home-why-grid {
    grid-template-columns: 1fr;
    gap: 18px;
  }

  

  .nw-home-why-item h3 { line-height: 1.3; }

  .nw-home-why-item p {
    font-size: 15px;
    line-height: 1.7;
    margin-bottom: 12px;
  }
}
/* =========================================
   HOME  TYLKO SEKCJE, BEZ RUSZANIA HEADERA
   ========================================= */

:root { --nw-text: #111;--nw-muted: #6f6f6f;--nw-section-space: 64px;--nw-section-space-mobile: 42px; }

/* =========================================
   HERO  tylko tekst wewną trz bannera
   ========================================= */
.hero-tekst-namioty h1 {
  font-size: 48px; /* (2026-07-03 v2) banery podstron 44 -> hero wyzej dla hierarchii */
  line-height: 1.12;
  font-weight: 600;
  color: #fff;
}

.hero-tekst-namioty p {
  font-size: 16px;
  line-height: 1.65;
  max-width: 470px;
  color: #fff;
}

/* =========================================
   JAK WYGLĄ DA WYNAJEM?
   ========================================= */
.nw-home-process {
  max-width: 1240px;
  margin: 0 auto;
  padding: var(--nw-section-space) 20px 0;
}

.nw-home-process-head {
  text-align: center;
  max-width: 760px;
  margin: 0 auto 38px;
}

.nw-home-process-head h2 {
  margin: 0;
  font-size: 44px;
  line-height: 1.12;
  font-weight: 600;
  color: var(--nw-gold);
}

.nw-home-process-steps {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 28px;
  position: relative;
}

.nw-home-process-step {
  position: relative;
  text-align: center;
  padding: 0 14px;
}

.nw-home-process-step::after {
  content: "";
  position: absolute;
  top: 34px;
  left: calc(50% + 46px);
  width: calc(100% - 24px);
  height: 1px;
  background: rgba(212, 186, 135, 0.35);
}

.nw-home-process-step:last-child::after {
  display: none;
}

.nw-home-process-number {
  width: 68px;
  height: 68px;
  margin: 0 auto 18px;
  border-radius: 50%;
  background: var(--nw-gold);
  color: #fff;
  font-size: 28px;
  font-weight: 600;
  line-height: 68px;
  text-align: center;
  box-shadow: 0 10px 24px rgba(212, 186, 135, 0.18);
  position: relative;
  z-index: 2;
}

.nw-home-process-step h3 {
  margin: 0 0 12px;
  font-size: 22px;
  line-height: 1.25;
  font-weight: 600;
  color: var(--nw-text);
}

.nw-home-process-step p {
  margin: 0 auto;
  max-width: 260px;
  font-size: 16px;
  line-height: 1.72;
  color: var(--nw-muted);
}

/* =========================================
   NAGŁ ÓWEK NAD KATEGORIAMI
   ========================================= */
.nw-home-categories-intro {
  max-width: 980px;
  margin: var(--nw-section-space) auto 34px;
  text-align: center;
  padding: 0 20px;
}

.nw-home-categories-intro h2 {
  margin: 0 0 14px;
  font-size: 44px;
  line-height: 1.12;
  font-weight: 600;
  color: var(--nw-gold);
}

.nw-home-categories-intro p {
  margin: 0;
  font-size: 18px;
  line-height: 1.68;
  color: var(--nw-muted);
}

/* =========================================
   DLACZEGO WARTO
   ========================================= */
.nw-home-why {
  max-width: 1240px;
  margin: 0 auto;
  padding: var(--nw-section-space) 20px 56px;
}

.nw-home-why-head {
  max-width: 940px;
  margin: 0 auto 38px;
  text-align: center;
}

.nw-home-why-head h2 {
  margin: 0 0 16px;
  font-size: 44px;
  line-height: 1.12;
  font-weight: 600;
  color: var(--nw-gold);
}

.nw-home-why-intro {
  margin: 0;
  font-size: 18px;
  line-height: 1.75;
  color: var(--nw-muted);
  font-style: italic;
}

.nw-home-why-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 24px;
}

.nw-home-why-item {
  background: #fff;
  border: 1px solid rgba(212, 186, 135, 0.2);
  border-radius: 12px; /* (audyt 2026-06-25): bylo 18px — konflikt z kanonem kart 12px (regula @831 i tak wymuszala 12px). Wyrownane do jednej wartosci. */
  padding: 30px 28px;
  box-shadow: 0 14px 34px rgba(0, 0, 0, 0.035);
}

.nw-home-why-item h3 {
  margin: 0 0 14px;
  font-size: 26px;
  line-height: 1.22;
  font-weight: 600;
  color: var(--nw-text);
}

.nw-home-why-item p {
  margin: 0 0 13px;
  font-size: 16px;
  line-height: 1.78;
  color: var(--nw-muted);
}

.nw-home-why-item p:last-child {
  margin-bottom: 0;
}

.nw-home-why::after {
  content: "";
  display: block;
  width: 100%;
  height: 1px;
  margin-top: 34px;
  background: linear-gradient(
    90deg,
    rgba(212,186,135,0) 0%,
    rgba(212,186,135,0.28) 20%,
    rgba(212,186,135,0.28) 80%,
    rgba(212,186,135,0) 100%
  );
}

/* =========================================
   TABLET
   ========================================= */
@media (max-width: 1024px) {
  .hero-tekst-namioty h1 {
    font-size: 34px;
  }

  .nw-home-process,
  .nw-home-why {
    padding-top: 54px;
  }

  .nw-home-process-head h2,
  .nw-home-categories-intro h2,
  .nw-home-why-head h2 {
    font-size: 38px;
  }

  .nw-home-process-steps {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 32px 24px;
  }

  .nw-home-process-step::after {
    display: none;
  }

  .nw-home-why-grid {
    gap: 20px;
  }

  .nw-home-why-item {
    padding: 26px 24px;
  }

  .nw-home-why-item h3 {
    font-size: 23px;
  }
}

/* =========================================
   MOBILE
   ========================================= */
@media (max-width: 767px) {
  .hero-tekst-namioty h1 {
    font-size: 28px;
    line-height: 1.15;
  }

  .hero-tekst-namioty p {
    font-size: 14px;
    line-height: 1.55;
  }

  .nw-home-process,
  .nw-home-why {
    padding: var(--nw-section-space-mobile) 16px 0;
  }

  .nw-home-categories-intro {
    margin: var(--nw-section-space-mobile) auto 24px;
    padding: 0 16px;
  }

  .nw-home-process-head,
  .nw-home-why-head {
    margin-bottom: 26px;
  }

  .nw-home-process-head h2,
  .nw-home-categories-intro h2,
  .nw-home-why-head h2 {
    font-size: 30px;
    line-height: 1.18;
  }

  .nw-home-categories-intro p,
  .nw-home-why-intro {
    font-size: 15px;
    line-height: 1.65;
  }

  .nw-home-process-steps,
  .nw-home-why-grid {
    grid-template-columns: 1fr;
    gap: 18px;
  }

  .nw-home-process-step {
    padding: 0;
  }

  .nw-home-process-number {
    width: 58px;
    height: 58px;
    line-height: 58px;
    font-size: 24px;
    margin-bottom: 14px;
  }

  .nw-home-process-step h3 {
    font-size: 20px;
    margin-bottom: 10px;
  }

  .nw-home-process-step p,
  .nw-home-why-item p {
    font-size: 15px;
    line-height: 1.68;
    max-width: 100%;
  }

  .nw-home-why-item {
    border-radius: 14px;
    padding: 22px 20px;
  }

  .nw-home-why-item h3 {
    font-size: 22px;
    margin-bottom: 12px;
  }

  .nw-home-why::after {
    margin-top: 24px;
  }
}
.nw-home-process-cta {
  text-align: center;
  margin-top: 38px;
}

.nw-home-process-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 220px;
  min-height: 58px;
  padding: 16px 34px;
  background: #d4ba87;
  border: 1px solid #d4ba87;
  color: #1a1407;
  font-size: 18px;
  font-weight: 500; /* (2026-07-07, user „zaplanuj pogrubiony") kanon przyciskow 500 — bylo 600; regula 500 byla scoped do .home, oferta zostawala gruba */
  line-height: 1;
  text-decoration: none;
  border-radius: 8px;
  text-transform: uppercase;
  letter-spacing: .04em;
  transition: all 0.25s ease;
}

.nw-home-process-button:hover {
  background: #111;
  border-color: #111;
  color: #fff;
}

@media (max-width: 767px) {
  .nw-home-process-cta {
    margin-top: 28px;
  }

  .nw-home-process-button {
    min-width: 100%;
    min-height: 54px;
    font-size: 16px;
    padding: 14px 22px;
  }
}
.whb-sticked .wd-header-cart .wd-tools-text,
.whb-sticked .wd-header-cart .wd-tools-text *,
.whb-sticked .wd-header-cart .wd-cart-subtotal,
.whb-sticked .wd-header-cart .wd-cart-subtotal *,
.whb-clone .wd-header-cart .wd-tools-text,
.whb-clone .wd-header-cart .wd-tools-text *,
.whb-clone .wd-header-cart .wd-cart-subtotal,
.whb-clone .wd-header-cart .wd-cart-subtotal * {
  color: #d4ba87 !important;
  -webkit-text-fill-color: #d4ba87 !important;
}
/* =========================================================
   HOME  porzą dki w odst pach i nowy styl boxów
   WLEJ NA SAM DÓŁ  CSS
   ========================================================= */

.home {
  --nw-home-gap-xl: 64px; /* (2026-07-06, user „spacing sekcji home") ujednolicone z --nw-section-space (64) — jeden rytm zamiast 72 vs 64 */
  --nw-home-gap-lg: 56px;
  --nw-home-gap-md: 36px;
  --nw-home-gap-sm: 22px;
}

/* ---------------------------------------------------------
   1. O NAS -> JAK WYGLĄ DA WYNAJEM?
   taka sama, czysta odległ o   jak wy ej na stronie
   --------------------------------------------------------- */

.home .nw-o-nas-section {
  padding-top: 24px !important; /* (2026-07-06, user) mniejsza przerwa od paska zaufania nad sekcja (bylo 76px) */
  padding-bottom: 0 !important;
}

.home .nw-o-nas-inner,
.home .nw-o-nas-text {
  margin-bottom: 0 !important;
}

.home .nw-o-nas-text p:last-child {
  margin-bottom: 0 !important;
}

.home .nw-home-process { padding-bottom: 0 !important; }

/* ---------------------------------------------------------
   2. BUTTON "WYPOŻ YCZ" ma by  bli ej kroków
   --------------------------------------------------------- */



.home .nw-home-process-button {
  min-height: 58px !important;
  padding: 16px 34px !important;
  font-size: 16px !important;
  line-height: 1 !important;
}

/* ---------------------------------------------------------
   3. BUTTON "WYPOŻ YCZ" -> nag ówek "Sprawd  nasz  wypo yczalni "
   ta sama logiczna odległ o  
   --------------------------------------------------------- */

.home .nw-home-categories-intro { margin-bottom: 34px !important;padding-top: 0 !important; }

.home .nw-home-categories-intro h2 {
  margin-bottom: 14px !important;
}

/* ---------------------------------------------------------
   4. GALERIA REALIZACJI -> nagł ówek poni ej
   mniej pustego miejsca, bardziej proporcjonalnie
   --------------------------------------------------------- */

.home .nw-home-realizacje-preview {
  padding-top: 28px !important;
  padding-bottom: 0 !important;
}

.home .nw-home-realizacje-preview__bottom {
  margin-top: 46px !important; /* (2026-07-07, user „y za małe") gap realizacje->Przejdź do galerii 22->46 */
  margin-bottom: 0 !important;
}

.home .nw-home-why { padding-top: var(--nw-home-gap-lg) !important; }

/* ---------------------------------------------------------
   5. NAGŁ ÓWKI sekcji  spójniejsze
   --------------------------------------------------------- */

.home .nw-home-process-head,
.home .nw-home-why-head {
  margin-bottom: 34px !important;
}

.home .nw-home-process-head h2,
.home .nw-home-categories-intro h2,
.home .nw-home-why-head h2 {
  font-size: 42px !important;
  line-height: 1.12 !important;
  font-weight: 600 !important;
}

/* ---------------------------------------------------------
   6. NOWY STYL BOXÓW "Dlaczego warto..."
   bez obł ych rogów, bez ci  kiego cienia
   bardziej w stylu reszty strony
   --------------------------------------------------------- */

.home .nw-home-why-grid {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 22px !important;
}

.home .nw-home-why-item {
  position: relative !important;
  background: #fff !important;
  border: 1px solid rgba(212, 186, 135, 0.20) !important;
  border-radius: 12px !important; /* (audyt 2026-06-24) bylo 0 — wyzsza spec bila moja reguly; boksy „Dlaczego warto" ostre. */
  box-shadow: none !important;
  padding: 30px 30px 28px !important;
  overflow: hidden !important;
}

.home .nw-home-why-item::before {
  content: "" !important;
  display: block !important;
  width: 52px !important;
  height: 2px !important;
  margin: 0 0 18px !important;
  background: #d4ba87 !important;
}

.home .nw-home-why-item h3 {
  margin: 0 0 14px !important;
  font-size: 24px !important;
  line-height: 1.24 !important;
  font-weight: 600 !important;
  color: #111 !important;
}

.home .nw-home-why-item p {
  margin: 0 0 12px !important;
  font-size: 16px !important;
  line-height: 1.75 !important;
  color: #6f6f6f !important;
}

.home .nw-home-why-item p:last-child {
  margin-bottom: 0 !important;
}

/* intro nad boxami też  troch  l ejszy */
.home .nw-home-why-intro {
  max-width: 860px !important;
  margin: 0 auto !important;
  font-size: 17px !important;
  line-height: 1.7 !important;
  color: #6f6f6f !important;
  font-style: normal !important;
}

/* cienka linia pod sekcją  */
.home .nw-home-why::after {
  margin-top: 28px !important;
}

/* ---------------------------------------------------------
   7. MOBILE / TABLET
   --------------------------------------------------------- */

@media (max-width: 1024px) {
  .home {
    --nw-home-gap-xl: 56px;
    --nw-home-gap-lg: 44px;
    --nw-home-gap-md: 30px;
    --nw-home-gap-sm: 20px;
  }

  .home .nw-home-process-head h2,
  .home .nw-home-categories-intro h2,
  .home .nw-home-why-head h2 {
    font-size: 36px !important;
  }

  .home .nw-home-why-item {
    padding: 26px 24px 24px !important;
  }

  .home .nw-home-why-item h3 {
    font-size: 22px !important;
  }
}

@media (max-width: 767px) {
  .home {
    --nw-home-gap-xl: 42px;
    --nw-home-gap-lg: 34px;
    --nw-home-gap-md: 24px;
    --nw-home-gap-sm: 18px;
  }

  .home .nw-o-nas-section {
    padding-top: 48px !important;
  }

  .home .nw-home-process,
  .home .nw-home-why {
    padding-left: 16px !important;
    padding-right: 16px !important;
  }

  .home .nw-home-process-head,
  .home .nw-home-why-head {
    margin-bottom: 24px !important;
  }

  .home .nw-home-process-head h2,
  .home .nw-home-categories-intro h2,
  .home .nw-home-why-head h2 {
    font-size: 30px !important;
    line-height: 1.18 !important;
  }

  

  .home .nw-home-process-button {
    width: 100% !important;
    min-height: 54px !important;
    font-size: 15px !important;
    padding: 14px 20px !important;
  }

  .home .nw-home-categories-intro { margin-bottom: 24px !important;padding-left: 16px !important;padding-right: 16px !important; }

  .home .nw-home-why-grid {
    grid-template-columns: 1fr !important;
    gap: 16px !important;
  }

  .home .nw-home-why-item {
    padding: 22px 18px 20px !important;
  }

  .home .nw-home-why-item::before {
    width: 42px !important;
    margin-bottom: 14px !important;
  }

  .home .nw-home-why-item h3 {
    font-size: 20px !important;
    line-height: 1.28 !important;
    margin-bottom: 10px !important;
  }

  .home .nw-home-why-item p,
  .home .nw-home-why-intro {
    font-size: 15px !important;
    line-height: 1.68 !important;
  }
}
/* =========================================================
   HOME  korekta za duż ych odst pów przy sekcji procesu
   WLEJ NA SAM DÓŁ  CSS
   ========================================================= */

/* mniejsza przerwa mię dzy tekstem "O nas" a nag ówkiem
   "Jak wyglą da wynajem?" */
.home .nw-home-process {
  padding-top: 34px !important;
}

/* nagł ówek sekcji troch  bli ej kroków */
.home .nw-home-process-head {
  margin-bottom: 24px !important;
}

/* button "Wypoż ycz" wy ej, bli ej kroków */
.home .nw-home-process-cta {
  margin-top: 16px !important;
  margin-bottom: 0 !important;
}

/* mniejsza przerwa mię dzy buttonem a
   "Sprawdź  nasz  wypo yczalni " */
.home .nw-home-categories-intro {
  margin-top: 34px !important;
}

/* mobile / tablet */
@media (max-width: 1024px) {
  .home .nw-home-process {
    padding-top: 28px !important;
  }

  .home .nw-home-process-head {
    margin-bottom: 20px !important;
  }

  .home .nw-home-process-cta {
    margin-top: 14px !important;
  }

  .home .nw-home-categories-intro {
    margin-top: 28px !important;
  }
}

@media (max-width: 767px) {
  .home .nw-home-process {
    padding-top: 22px !important;
  }

  .home .nw-home-process-head {
    margin-bottom: 18px !important;
  }

  .home .nw-home-process-cta {
    margin-top: 12px !important;
  }

  .home .nw-home-categories-intro {
    margin-top: 22px !important;
  }
}
/* =========================================================
   HOME  usuń  pasek mi dzy boxami a stopk 
   ========================================================= */

.home .nw-home-why::after {
  display: none !important;
  content: none !important;
}

.home .nw-home-why {
  padding-bottom: 28px !important;
}
.single-product .woocommerce-variation-description {
  display: none !important;
}





.nw-disabled-checkout-button {
  display: block !important;
  width: 100% !important;
  text-align: center !important;
  opacity: 0.45 !important;
  cursor: not-allowed !important;
  pointer-events: none !important;
  user-select: none !important;
}

.nw-cart-min-notice {
  margin: 14px 0 12px !important;
  padding: 12px 14px !important;
  font-size: 14px !important;
  line-height: 1.5 !important;
  text-align: center !important;
  color: #8f2d1f !important;
  background: #fff7f3 !important;
  border: 1px solid rgba(180, 35, 24, 0.14) !important;
  border-radius: 10px !important;
}

.nw-cart-min-notice strong,
.nw-cart-min-notice .woocommerce-Price-amount,
.nw-cart-min-notice .woocommerce-Price-currencySymbol {
  color: #8f2d1f !important;
  font-weight: 600 !important;
}

/* ukrycie standardowych notice w boxie podsumowania */
.woocommerce-cart .cart_totals .woocommerce-error,
.woocommerce-cart .cart_totals .woocommerce-message,
.woocommerce-cart .cart_totals .woocommerce-info {
  display: none !important;
}

/* nasz pojedynczy komunikat */

/* zablokowany przycisk  nadal w stylu strony */
.woocommerce-cart .nw-disabled-checkout-button {
  display: block;
  width: 100%;
  min-height: 52px;
  padding: 15px 18px;
  background: #000 !important;
  color: #fff !important;
  border: none !important;
  border-radius: 0 !important;
  text-align: center;
  text-transform: uppercase;
  font-size: 16px;
  font-weight: 600;
  letter-spacing: 0.02em;
  opacity: 0.42;
  cursor: not-allowed;
  pointer-events: none;
  box-shadow: none !important;
}

.woocommerce-cart .nw-disabled-checkout-button:hover,
.woocommerce-cart .nw-disabled-checkout-button:focus {
  background: #000 !important;
  color: #fff !important;
  opacity: 0.42;
  box-shadow: none !important;
}
/* =========================================================
   MINIMALNA KWOTA  TYLKO STYL, NIC NIE UKRYWA GLOBALNIE
   ========================================================= */

/* usuń  tylko stare w asne duplikaty, ale nie chowaj wszystkich notice Woo */
.woocommerce-cart .cart_totals .nw-cart-min-notice {
  display: none !important;
}

/* nowy komunikat */
/* (audyt 2026-07-20) border-left USUNIETY — i tak byl martwy (skrot `border:` nizej go nadpisywal),
   a przy zaokraglonym boksie kolidowalby z lukiem naroznika. */
.woocommerce-cart .cart_totals .nw2-cart-minimum-box { display: block !important; }



/* zablokowany przycisk */


.woocommerce-cart .cart_totals .nw2-disabled-checkout-button:hover,
.woocommerce-cart .cart_totals .nw2-disabled-checkout-button:focus {
  background: #000 !important;
  color: #fff !important;
  opacity: .45 !important;
  box-shadow: none !important;
}

/* =========================================================
   KOSZYK  DOPRACOWANIE STYLU
   ========================================================= */




/* przycisk zablokowany  bardziej spójny */
.woocommerce-cart .cart_totals .nw2-disabled-checkout-button {
  display: block !important;
  width: 100% !important;
  min-height: 54px !important;
  padding: 15px 18px !important;
  background: #b8b8b8 !important;
  color: #fff !important;
  border: none !important;
  border-radius: 0 !important;
  text-align: center !important;
  text-transform: uppercase !important;
  font-size: 16px !important;
  font-weight: 600 !important;
  letter-spacing: .02em !important;
  opacity: 1 !important;
  cursor: not-allowed !important;
  pointer-events: none !important;
  box-shadow: none !important;
}

/* -------------------------
   2. Tabela koszyka  wyrównanie
   ------------------------- */
@media (min-width: 1025px) {
  .woocommerce-cart .shop_table_responsive thead th {
    vertical-align: middle !important;
    padding-top: 0 !important;
    padding-bottom: 18px !important;
    font-size: 18px !important;
    font-weight: 600 !important;
    color: #1e1e1e !important;
  }

  .woocommerce-cart .shop_table_responsive thead th.product-name {
    text-align: left !important;
    padding-left: 172px !important;
  }

  .woocommerce-cart .shop_table_responsive thead th.product-price,
  .woocommerce-cart .shop_table_responsive thead th.product-quantity,
  .woocommerce-cart .shop_table_responsive thead th.product-subtotal {
    text-align: center !important;
  }

  .woocommerce-cart .shop_table_responsive td.product-name {
    padding-left: 0 !important;
  }

  .woocommerce-cart .shop_table_responsive td.product-name a {
    display: inline-block !important;
    vertical-align: middle !important;
  }

  .woocommerce-cart .shop_table_responsive td.product-price,
  .woocommerce-cart .shop_table_responsive td.product-quantity,
  .woocommerce-cart .shop_table_responsive td.product-subtotal {
    text-align: center !important;
    vertical-align: middle !important;
  }
}

/* -------------------------
   3. Moż e Ci  zainteresowa   z ota linia
   ------------------------- */
.woocommerce-cart .title-wrapper .liner-continer::before,
.woocommerce-cart .title-wrapper .liner-continer::after,
.woocommerce-cart .woodmart-title-container::before,
.woocommerce-cart .woodmart-title-container::after {
  background-color: #d4ba87 !important;
  border-color: #d4ba87 !important;
}

.woocommerce-cart .title-wrapper.color-scheme-light .woodmart-title-container::after,
.woocommerce-cart .title-wrapper.wd-title-color-primary .woodmart-title-container::after {
  background-color: #d4ba87 !important;
}

.woocommerce-cart .title-wrapper .liner-continer {
  position: relative !important;
}

/* fallback, gdyby motyw dawał  zielon  kresk  innym selektorem */
.woocommerce-cart .elementor-widget-wd_title .title-wrapper:after,
.woocommerce-cart .elementor-widget-wd_title .title-wrapper:before {
  background-color: #d4ba87 !important;
  border-color: #d4ba87 !important;
}

/* =========================================================
   KOSZYK  finalna poprawka nagł ówka tabeli + box minimum
   ========================================================= */

/* -------------------------
   1. Nagł ówki tabeli koszyka
   ------------------------- */
@media (min-width: 1025px) {
  .woocommerce-cart .shop_table thead th,
  .woocommerce-cart .shop_table_responsive thead th {
    vertical-align: middle !important;
    padding-top: 0 !important;
    padding-bottom: 26px !important;
    border-bottom: 1px solid #d9d9d9 !important;
    line-height: 1 !important;
  }

  .woocommerce-cart .shop_table thead th.product-name,
  .woocommerce-cart .shop_table_responsive thead th.product-name {
    text-align: left !important;
    padding-left: 160px !important;
    position: relative !important;
    top: -15px !important;
  }

  .woocommerce-cart .shop_table thead th.product-price,
  .woocommerce-cart .shop_table thead th.product-quantity,
  .woocommerce-cart .shop_table thead th.product-subtotal,
  .woocommerce-cart .shop_table_responsive thead th.product-price,
  .woocommerce-cart .shop_table_responsive thead th.product-quantity,
  .woocommerce-cart .shop_table_responsive thead th.product-subtotal {
    text-align: center !important;
    position: relative !important;
    top: -2px !important;
  }
}
/* =========================================================
   KOSZYK  box minimalnej kwoty w stylu strony
   ========================================================= */

/* (audyt 2026-07-20, user „boks minimalna kwota zamowienia powinien byc zaokraglony")
   Kanon boksow: krem #fdfbf6 + ramka rgba(212,186,135,.45) + radius 12px (jak „Podsumowanie koszyka").
   Zloty pasek ::after USUNIETY — kanon CLAUDE.md zabrania paska/akcentu na zaokraglonej karcie
   (nie sklejal sie z lukiem naroznika); rola akcentu przejmuje zlota etykieta ::before. */
.woocommerce-cart .cart_totals .nw2-cart-minimum-box {
  position: relative !important;
  margin: 18px 0 16px !important;
  padding: 18px 18px 16px !important;
  background: #fdfbf6 !important;
  border: 1px solid rgba(212, 186, 135, 0.45) !important;
  border-radius: 12px !important;
  box-shadow: none !important;
  overflow: hidden !important;
}

.woocommerce-cart .cart_totals .nw2-cart-minimum-box::before {
  content: "Minimalna kwota zamówienia" !important;
  display: block !important;
  margin-bottom: 10px !important;
  font-size: 11px !important;
  line-height: 1.2 !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
  color: #b7975e !important;
  font-weight: 600 !important;
}

.woocommerce-cart .cart_totals .nw2-cart-minimum-box__text {
  margin: 0 !important;
  color: #6f6658 !important;
  font-size: 15px !important;
  line-height: 1.65 !important;
  font-weight: 400 !important;
  text-align: left !important;
}

.woocommerce-cart .cart_totals .nw2-cart-minimum-box__text strong,
.woocommerce-cart .cart_totals .nw2-cart-minimum-box__text .amount,
.woocommerce-cart .cart_totals .nw2-cart-minimum-box__text .woocommerce-Price-amount {
  color: #c8a15a !important;
  font-weight: 600 !important;
}

.woocommerce-cart .cart_totals .nw2-cart-minimum-box__text br {
  display: none !important;
}

.woocommerce-cart .cart_totals .nw2-disabled-checkout-button {
  margin-top: 14px !important;
}
/* opis wariantu pod wyborem */
.single-product .nw-variation-description-static{
	margin: 18px 0 0;
	padding: 0;
	font-size: 15px;
	line-height: 1.7;
	color: #5f5f5f;
}

.single-product .nw-variation-description-static p{
	margin: 0 0 10px;
}

/* opcjonalnie ukryj natywny opis wariantu, ż eby si  nie dublowa  */
.single-product .woocommerce-variation.single_variation .woocommerce-variation-description{
	display: none !important;
}
/* POWIĄ ZANE PRODUKTY  bez cropa i bez sztucznego zoomu */
.related.products .product-image-link,
.related.products .product-element-top,
.related.products .wrap-product-img{
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	overflow: hidden !important;
	background: #fff;
}

.related.products .product-image-link img,
.related.products .product-element-top img,
.related.products .wrap-product-img img,
.related.products .attachment-woocommerce_thumbnail{
	width: 100% !important;
	height: 100% !important;
	object-fit: contain !important;
	object-position: center center !important;
	transform: none !important;
}

.related.products .product-image-link:hover img,
.related.products .product-element-top:hover img,
.related.products .wrap-product-img:hover img{
	transform: none !important;
}

/* POWIĄ ZANE PRODUKTY  miniatury bez powi kszania i bez ucinania */
.single-product .wd-products-element .wd-carousel-item .wd-product-thumb.product-element-top {
	height: 260px !important;
	min-height: 260px !important;
	padding: 18px !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	overflow: hidden !important;
	background: #fff !important;
}

.single-product .wd-products-element .wd-carousel-item .wd-product-img-link.product-image-link {
	width: 100% !important;
	height: 100% !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	overflow: hidden !important;
}

.single-product .wd-products-element .wd-carousel-item .wd-product-img-link.product-image-link img {
	width: auto !important;
	height: auto !important;
	max-width: 100% !important;
	max-height: 100% !important;
	object-fit: contain !important;
	object-position: center center !important;
	transform: none !important;
	scale: 1 !important;
}

/* wył  czenie hover-zoom z motywu */
.single-product .wd-products-element .wd-carousel-item:hover .wd-product-img-link img,
.single-product .wd-products-element .wd-carousel-item:hover .product-image-link img,
.single-product .wd-products-element .wd-carousel-item .wd-product-thumb:hover img {
	transform: none !important;
	scale: 1 !important;
}

/* trochę  wi cej luzu dla drobnych, w skich produktów */
.single-product .wd-products-element .wd-carousel-item .wd-product-thumb.product-element-top img[src*=".png"],
.single-product .wd-products-element .wd-carousel-item .wd-product-thumb.product-element-top img[src*=".avif"],
.single-product .wd-products-element .wd-carousel-item .wd-product-thumb.product-element-top img[src*=".webp"] {
	max-width: 88% !important;
	max-height: 88% !important;
}

/* =========================================================
   NOWE ZDJĘ CIE T A  wspólne bannery / hero
   ========================================================= */

:root {
  /* (2026-07-11, user "do podmiany header na stronie glownej i we wszystkich headerach") nowe zdjecie homepage-scaled.jpg */
  --nw-new-bg-image: url("/wp-content/uploads/2026/07/homepage-scaled.jpg");
}

/* home hero */
body.home .elementor-element.elementor-element-f317353 {
  background-image: var(--nw-new-bg-image) !important;
  background-size: cover !important;
  background-position: center center !important;
  background-repeat: no-repeat !important;
}

/* sklep / wypoż yczalnia banner */
body.woocommerce-shop .elementor-element-57d2cbf .wd-image,
body.post-type-archive-product .elementor-element-57d2cbf .wd-image,
body.tax-product_cat .elementor-element-57d2cbf .wd-image,
body.tax-product_tag .elementor-element-57d2cbf .wd-image {
  background-image: var(--nw-new-bg-image) !important;
  background-size: cover !important;
  background-position: center center !important;
  background-repeat: no-repeat !important;
}

/* bannery wewnę trzne */
.nw-faq-top,
.nw-contact-top,
body.page-id-30264 .page-title,
body.page-id-30264 .wd-page-title,
body:is(.page-id-51, .page-id-31488, .woocommerce-cart, .page-id-29938, .woocommerce-checkout, .woocommerce-account) .page-title,
body:is(.page-id-51, .page-id-31488, .woocommerce-cart, .page-id-29938, .woocommerce-checkout, .woocommerce-account) .wd-page-title {
  background-image: var(--nw-new-bg-image) !important;
  background-size: cover !important;
  background-position: center center !important;
  background-repeat: no-repeat !important;
}

/* kontakt  pseudo tł o */
.nw-contact-page > .nw-contact-top::before {
  background-image: var(--nw-new-bg-image) !important;
  background-size: cover !important;
  background-position: center center !important;
  background-repeat: no-repeat !important;
  background-color: transparent !important;
}

/* (audyt 2026-07-11, user "nie wszedzie jest podmienione zdjecie" + "zdjecie w innej pozycji") ZWERYFIKOWANE fetchem:
   GALERIA (page-id-51) i FAQ (page-id-30264) maja REALNY <img src="tlo_zoptymalizowane.avif"> wewnatrz .wd-page-title-bg
   (WoodMart page-title background image) - ten img PRZYKRYWA nasze CSS-owe tlo, wiec var(--nw-new-bg-image) nie bylo
   widoczne (stary obraz). OFERTA/KONTAKT nie maja img -> uzywaja CSS bg -> mialy juz nowy. Fix GLOBALNY: ukryj natywny
   img w page-title-bg WSZEDZIE + wymus tlo z var + jednolita pozycja center center. Master-override ID-spec. */
html .wd-page-title-bg img:not(#nw-z) { display: none !important; }
html .wd-page-title-bg:not(#nw-z) {
  background-image: var(--nw-new-bg-image) !important;
  background-size: cover !important;
  background-position: center center !important;
  background-repeat: no-repeat !important;
}
/* HOME  nagł ówek sekcji realizacji na z oto */
.home .nw-home-realizacje-preview__top h2 {
  color: var(--nw-beige) !important;
}
body.home .nw-o-nas-inner > h2,
body.home .nw-home-process-head > h2,
body.home .nw-home-categories-intro > h2,
body.home .nw-opinie-header > h2,
body.home .nw-home-realizacje-preview__top > h2,
body.home .nw-home-why-head > h2,
body.home .nw-zaufali-title,
body.home .nw-kfh-title {
  font-size: clamp(36px, 4vw, 58px) !important;
  line-height: 1.1 !important;
  font-weight: 600 !important;
  letter-spacing: -0.02em !important;
  color: #d4ba87 !important;
  text-align: center !important;
  margin: 0 0 24px !important;
  padding: 0 !important;
}

/* =========================================================
   HOME  wię ksza przerwa mi dzy "Jak wygl da wynajem?"
   a sekcją  "Sprawd  nasz  wypo yczalni "
   ========================================================= */

body.home .nw-home-categories-intro {
  margin-top: 64px !important;
}

@media (max-width: 1024px) {
  body.home .nw-home-categories-intro {
    margin-top: 52px !important;
  }
}

@media (max-width: 767px) {
  body.home .nw-home-categories-intro {
    margin-top: 38px !important;
  }
}
 /* =========================================================
   STOPKA  mniej pustej przestrzeni
   ========================================================= */

.site-footer,
.wd-footer {
  margin-top: 0 !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}

.nw-footer {
  padding: 28px 0 8px !important;
  gap: 28px !important;
}

.nw-footer-legal-row,
.nw-footer-legal {
  margin-top: 10px !important;
  padding-top: 10px !important;
}

.site-footer .copyrights-wrapper {
  padding-top: 6px !important;
  padding-bottom: 8px !important;
}

.site-footer .copyrights-wrapper p,
.site-footer .copyrights-wrapper div,
.site-footer .copyrights-wrapper span {
  margin: 0 !important;
}

.nw-footer-col p:last-child,
.nw-footer-col a:last-child {
  margin-bottom: 0 !important;
}

@media (max-width: 767px) {
  .nw-footer {
    padding: 22px 0 6px !important;
    gap: 18px !important;
  }

  .nw-footer-legal-row,
  .nw-footer-legal {
    margin-top: 8px !important;
    padding-top: 8px !important;
  }

  .site-footer .copyrights-wrapper {
    padding-top: 4px !important;
    padding-bottom: 6px !important;
  }
}
/* =========================================================
   KOSZYK  HERO: przesuń  zdj cie troch  w dó 
   ========================================================= */

body.woocommerce-cart .wd-page-title {
  overflow: hidden !important;
}

body.woocommerce-cart .wd-page-title .wd-page-title-bg,
body.woocommerce-cart .wd-page-title .wd-page-title-bg.wd-fill {
  overflow: hidden !important;
}

body.woocommerce-cart .wd-page-title .wd-page-title-bg img,
body.woocommerce-cart .wd-page-title .wd-page-title-bg.wd-fill img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  object-position: center 44% !important; /* zmień  np. na 64% je li chcesz jeszcze ni ej */
  display: block !important;
}

/* =========================================================
   KOSZYK  BUTLA: mniejsza i uł o ona naturalnie
   ========================================================= */

body.woocommerce-cart tr.bundled_table_item td.product-thumbnail {
  width: 88px !important;
  min-width: 88px !important;
  text-align: center !important;
  vertical-align: middle !important;
}

body.woocommerce-cart tr.bundled_table_item td.product-thumbnail img[alt="Butla z gazem"],
body.woocommerce-cart tr.bundled_table_item td.product-thumbnail img[src*="meva-tlakova-flasa"] {
  display: block !important;
  width: auto !important;
  height: 72px !important;
  max-width: 42px !important;
  max-height: 72px !important;
  margin: 0 auto !important;
  object-fit: contain !important;
  object-position: center bottom !important;
  box-shadow: none !important;
  border-radius: 0 !important;
}
/* KONTAKT  tylko przyciemnienie, bez ruszania zdję cia */
.nw-contact-page > .nw-contact-top {
  position: relative !important;
  overflow: hidden !important;
}

.nw-contact-page > .nw-contact-top::before {
  content: "" !important;
  position: absolute !important;
  top: 0 !important; right: 0 !important; bottom: 0 !important; left: 0 !important;
  inset: 0 !important;
  background: rgba(0, 0, 0, 0.42) !important;
  z-index: 1 !important;
  pointer-events: none !important;
}

.nw-contact-page > .nw-contact-top > * {
  position: relative !important;
  z-index: 2 !important;
}

body.home .nw-home-process-head {
  margin: 0 auto 42px !important;
}

body.home .nw-home-process-head h2 {
  margin: 0 !important;
}

body.home .nw-home-process-steps {
  margin-top: 0 !important;
}
body.home .nw-home-process-cta {
  margin-top: 0px !important;
}

/* =========================================================
   KARTA PRODUKTU  bundle
   wyrównanie cen + dolnego CTA
   ========================================================= */

/* 1. KAŻ DY KAFELEK DODATKU JAKO KOLUMNA */
body.single-product .bundle_form .bundled_item,
body.single-product .bundle_form .bundled_item .details,
body.single-product .bundle_form .bundled_item .bundled_product_summary,
body.single-product .bundle_form .bundled_item .cart {
  display: flex !important;
  flex-direction: column !important;
  height: 100% !important;
}

/* 2. TYTUŁ Y  sta a wysoko   */
body.single-product .bundle_form .bundled_item .product_title,
body.single-product .bundle_form .bundled_item .bundled_product_title,
body.single-product .bundle_form .bundled_item h3,
body.single-product .bundle_form .bundled_item h4,
body.single-product .bundle_form .bundled_item h5 {
  min-height: 108px !important;
  margin: 0 0 12px !important;
  text-align: center !important;
  line-height: 1.25 !important;
}

/* 3. BLOK CENY  jedna wysokoś   dla wszystkich */
body.single-product .bundle_form .bundled_item .bundled_item_cart_details {
  display: flex !important;
  justify-content: center !important;
  align-items: flex-start !important;
  min-height: 54px !important;
  margin: 0 0 16px !important;
  text-align: center !important;
}

/* sam .price jako 2 wiersze:
   wiersz 1 = cena
   wiersz 2 = / szt. albo puste miejsce */
body.single-product .bundle_form .bundled_item .bundled_item_cart_details .price,
body.single-product .bundle_form .bundled_item .price {
  display: grid !important;
  grid-template-rows: auto 16px !important;
  justify-items: center !important;
  align-items: start !important;
  row-gap: 4px !important;
  min-height: 42px !important;
  margin: 0 !important;
  line-height: 1.1 !important;
}

/* cena zawsze w pierwszym rzę dzie */
body.single-product .bundle_form .bundled_item .bundled_item_cart_details .price > .woocommerce-Price-amount,
body.single-product .bundle_form .bundled_item .price > .woocommerce-Price-amount,
body.single-product .bundle_form .bundled_item .bundled_item_cart_details .price > .amount,
body.single-product .bundle_form .bundled_item .price > .amount {
  grid-row: 1 !important;
  display: block !important;
  margin: 0 !important;
  line-height: 1.1 !important;
}

/* / szt. zawsze w drugim rzę dzie */
body.single-product .bundle_form .bundled_item .bundled_item_price_quantity,
body.single-product .bundle_form .bundled_item .price > .bundled_item_price_quantity {
  grid-row: 2 !important;
  display: block !important;
  min-height: 16px !important;
  margin: 0 !important;
  line-height: 1 !important;
  font-size: 14px !important;
}

/* 4. plus/minus w kafelkach dodatków zawsze na dole */
body.single-product .bundle_form .bundled_item .cart {
  margin-top: auto !important;
}

body.single-product .bundle_form .bundled_item .quantity {
  margin-top: auto !important;
}

/* 5. DOLNY BLOK: cena zestawu + iloś   + przycisk */
body.single-product .bundle_form .bundle_wrap {
  display: grid !important;
  grid-template-columns: minmax(180px, auto) 1fr !important;
  align-items: center !important;
  column-gap: 28px !important;
  width: 100% !important;
}

/* lewa czę    */
body.single-product .bundle_form .bundle_wrap .bundle_price,
body.single-product .bundle_form .bundle_wrap .bundle_price_data,
body.single-product .bundle_form .bundle_wrap .bundle_data {
  margin: 0 !important;
  align-self: center !important;
  float: none !important;
}

/* prawa czę    = quantity + button */
body.single-product .bundle_form .bundle_wrap .bundle_button {
  display: flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
  gap: 14px !important;
  margin: 0 !important;
  margin-left: 0 !important;
  width: auto !important;
  float: none !important;
  clear: none !important;
  align-self: center !important;
  position: relative !important;
  top: -4px !important;
}

/* quantity w dolnym CTA */
body.single-product .bundle_form .bundle_wrap .bundle_button .quantity {
  display: flex !important;
  align-items: center !important;
  margin: 0 !important;
  float: none !important;
}

/* USUNIÄTO: min-height:58px na bundle buttonie â wymiary
   kontroluje 01.txt (height:36px, identycznie jak simple product). */
/* wył  czenie clearfix z motywu/pluginu */
body.single-product .bundle_form .bundle_wrap::before,
body.single-product .bundle_form .bundle_wrap::after,
body.single-product .bundle_form .bundle_button::before,
body.single-product .bundle_form .bundle_button::after {
  content: none !important;
  display: none !important;
}

@media (max-width: 767px) {
  body.single-product .bundle_form .bundle_wrap {
    grid-template-columns: 1fr !important;
    row-gap: 18px !important;
  }

  body.single-product .bundle_form .bundle_wrap .bundle_button {
    flex-wrap: wrap !important;
    top: 0 !important;
  }

  body.single-product .bundle_form .bundle_wrap .bundle_button .single_add_to_cart_button,
  body.single-product .bundle_form .bundle_wrap .bundle_button .bundle_add_to_cart_button {
    width: 100% !important;
  }
}

/* =========================================================
   BUNDLE  dokł adne wyrównanie cen + mniejsze nazwy
   ========================================================= */

body.single-product .bundle_form .bundled_product_summary .details {
  display: flex !important;
  flex-direction: column !important;
  height: 100% !important;
}

/* mniejsze nazwy */
body.single-product .bundle_form .bundled_product_summary .bundled_product_title {
  display: flex !important;
  align-items: flex-start !important;
  justify-content: center !important;
  text-align: center !important;
  min-height: 86px !important;
  margin: 0 0 10px !important;
  padding: 0 6px !important;
}

body.single-product .bundle_form .bundled_product_summary .bundled_product_title .item_title,
body.single-product .bundle_form .bundled_product_summary .bundled_product_title .bundled_product_title_inner {
  display: block !important;
  font-size: 15px !important;
  line-height: 1.22 !important;
  font-weight: 600 !important;
}

/* ukł ad wn trza kafelka */
body.single-product .bundle_form .bundled_product_summary .cart,
body.single-product .bundle_form .bundled_product_summary .bundled_item_wrap,
body.single-product .bundle_form .bundled_product_summary .bundled_item_cart_content {
  display: flex !important;
  flex-direction: column !important;
  height: 100% !important;
}

/* blok ceny */
body.single-product .bundle_form .bundled_product_summary .bundled_item_cart_details { display: flex !important;justify-content: center !important;text-align: center !important; }

/* cena zawsze ma 2 rzę dy:
   1 = kwota
   2 = / szt. albo puste miejsce */
body.single-product .bundle_form .bundled_product_summary .bundled_item_cart_details .price { display: grid !important;justify-items: center !important;align-items: start !important;margin: 0 !important;line-height: 1.1 !important; }

/* kwota */
body.single-product .bundle_form .bundled_product_summary .bundled_item_cart_details .price > .woocommerce-Price-amount,
body.single-product .bundle_form .bundled_product_summary .bundled_item_cart_details .price > .amount {
  grid-row: 1 !important;
  display: block !important;
  margin: 0 !important;
  line-height: 1.1 !important;
}

/* / szt. */
body.single-product .bundle_form .bundled_product_summary .bundled_item_cart_details .price > .bundled_item_price_quantity {
  grid-row: 2 !important;
  display: block !important;
  margin: 0 !important;
  font-size: 14px !important;
  line-height: 1 !important;
  min-height: 16px !important;
}

/* rezerwacja pustego drugiego wiersza tam, gdzie nie ma / szt. */
body.single-product .bundle_form .bundled_product_summary .bundled_item_cart_details .price::after {
  content: "" !important;
  display: block !important;
  grid-row: 2 !important;
  height: 16px !important;
}

/* przyciski iloś ci w kafelkach zawsze na dole */
body.single-product .bundle_form .bundled_product_summary .bundled_item_after_cart_details,
body.single-product .bundle_form .bundled_product_summary .bundled_item_button {
  margin-top: auto !important;
}
/* BUNDLE  korekta pozycji cen */
body.single-product .bundle_form .bundled_product_summary .bundled_item_cart_details {
  min-height: 46px !important;
align-items: center !important;
  margin: 0 0 12px !important;
}

body.single-product .bundle_form .bundled_product_summary .bundled_item_cart_details .price {
  min-height: -50px !important;
  grid-template-rows: auto 0px !important;
  align-content: end !important;
}

body.single-product .bundle_form .bundled_product_summary .bundled_item_cart_details .price > .bundled_item_price_quantity,
body.single-product .bundle_form .bundled_product_summary .bundled_item_cart_details .price::after {
  height: 12px !important;
  min-height: 14px !important;
}
@media (max-width: 1024px) {
  body.home .nw-home-process-cta {
    margin-top: 18px !important;
  }

  body.home .nw-home-process-button {
    position: relative !important;
    top: 10px !important;
  }
}

@media (max-width: 767px) {
  body.home .nw-home-process-cta {
    margin-top: 20px !important;
  }

  body.home .nw-home-process-button {
    top: -2px !important;
  }
}
/* =====================================================
   KATEGORIE 2 KOLUMNY  TABLET & MOBILE
   WKLEJ NA SAM DÓŁ  w: Wygl d > Dostosuj > Dodatkowy CSS
   ===================================================== */

@media (max-width: 1024px) {

  /* 1. Wył  cz overflow slidera */
  body.woocommerce-shop .wd-carousel.wd-grid,
  body.post-type-archive-product .wd-carousel.wd-grid,
  body.tax-product_cat .wd-carousel.wd-grid,
  body.tax-product_tag .wd-carousel.wd-grid {
    overflow: visible !important;
  }

  /* 2. Zamroź  transform Swipera, wrap na flex z zawijaniem */
  body.woocommerce-shop .wd-carousel.wd-grid .wd-carousel-wrap,
  body.post-type-archive-product .wd-carousel.wd-grid .wd-carousel-wrap,
  body.tax-product_cat .wd-carousel.wd-grid .wd-carousel-wrap,
  body.tax-product_tag .wd-carousel.wd-grid .wd-carousel-wrap {
    display: flex !important;
    flex-wrap: wrap !important;
    transform: none !important;
    transition: none !important;
    height: auto !important;
    overflow: visible !important;
    width: 100% !important;
    gap: 12px !important;
  }

  /* 3. Każ dy kafelek = 50% (2 w rz dzie), gap 12px = calc */
  body.woocommerce-shop .wd-carousel.wd-grid .wd-carousel-item,
  body.post-type-archive-product .wd-carousel.wd-grid .wd-carousel-item,
  body.tax-product_cat .wd-carousel.wd-grid .wd-carousel-item,
  body.tax-product_tag .wd-carousel.wd-grid .wd-carousel-item {
    width: calc(50% - 6px) !important;
    min-width: calc(50% - 6px) !important;
    max-width: calc(50% - 6px) !important;
    flex: 0 0 calc(50% - 6px) !important;
    height: auto !important;
    margin: 0 !important;
  }

  /* 4. Zdję cia tablet  proporcje 4:3 */
  body.woocommerce-shop .wd-carousel.wd-grid .wd-cat-image,
  body.post-type-archive-product .wd-carousel.wd-grid .wd-cat-image,
  body.tax-product_cat .wd-carousel.wd-grid .wd-cat-image,
  body.tax-product_tag .wd-carousel.wd-grid .wd-cat-image {
    aspect-ratio: 4 / 3 !important;
    min-height: unset !important;
    height: auto !important;
    width: 100% !important;
  }

  /* 5. Ukryj strzał ki i powiadomienia slidera */
  body.woocommerce-shop .wd-carousel.wd-grid .wd-nav-arrows,
  body.post-type-archive-product .wd-carousel.wd-grid .wd-nav-arrows,
  body.tax-product_cat .wd-carousel.wd-grid .wd-nav-arrows,
  body.tax-product_tag .wd-carousel.wd-grid .wd-nav-arrows,
  body.woocommerce-shop .wd-carousel.wd-grid .swiper-notification,
  body.post-type-archive-product .wd-carousel.wd-grid .swiper-notification,
  body.tax-product_cat .wd-carousel.wd-grid .swiper-notification,
  body.tax-product_tag .wd-carousel.wd-grid .swiper-notification {
    display: none !important;
  }
}

/* Mobile: zdję cia kwadratowe */
@media (max-width: 767px) {
  body.woocommerce-shop .wd-carousel.wd-grid .wd-cat-image,
  body.post-type-archive-product .wd-carousel.wd-grid .wd-cat-image,
  body.tax-product_cat .wd-carousel.wd-grid .wd-cat-image,
  body.tax-product_tag .wd-carousel.wd-grid .wd-cat-image {
    aspect-ratio: 1 / 1 !important;
  }
}
/* =====================================================
   PRODUKTY: jednolite kafelki + przycię te zdj cia
   TABLET & MOBILE (desktop bez zmian)
   WKLEJ NA SAM DÓŁ  w: Wygl d > Dostosuj > Dodatkowy CSS
   ===================================================== */

@media (max-width: 1024px) {

  /* 1. Kafelki tej samej wysokoś ci w rz dzie */
  .wd-products.wd-grid-g .wd-product.wd-col {
    display: flex !important;
    flex-direction: column !important;
  }

  .wd-products.wd-grid-g .wd-product-wrapper {
    display: flex !important;
    flex-direction: column !important;
    flex: 1 1 auto !important;
    height: 100% !important;
  }

  /* 2. Jednolity kadr zdję cia  kwadrat 1:1, contain (pe ne zdj cie bez przycinania) */
  .wd-products.wd-grid-g .wd-product-thumb {
    width: 100% !important;
    aspect-ratio: 1 / 1 !important;
    overflow: hidden !important;
    flex-shrink: 0 !important;
    position: relative !important;
    background: #fff !important;
  }

  .wd-products.wd-grid-g .wd-product-img-link {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    height: 100% !important;
    position: absolute !important;
    top: 0 !important; right: 0 !important; bottom: 0 !important; left: 0 !important;
    inset: 0 !important;
  }

  .wd-products.wd-grid-g .wd-product-thumb img {
    width: 100% !important;
    height: 100% !important;
    object-fit: contain !important;
    object-position: center center !important;
    display: block !important;
  }

  /* 3. Treś   karty  flex-column, wyrównanie kwoty i przycisku w rz dzie */
  .wd-products.wd-grid-g .wd-product-grid-el,
  .wd-products.wd-grid-g .product-element-bottom,
  .wd-products.wd-grid-g .wd-product-wrapper > *:not(.wd-product-thumb):not(.wd-quick-shop) {
    display: flex !important;
    flex-direction: column !important;
    flex: 1 1 auto !important;
  }

  .wd-products.wd-grid-g .wd-product-wrapper .price,
  .wd-products.wd-grid-g .wd-product-wrapper span.price {
    margin-top: auto !important;
    margin-bottom: 8px !important;
  }

  /* 4. Przycisk "Dodaj do wyceny" zawsze na dole */
  .wd-products.wd-grid-g .wd-add-btn {
    margin-top: 0 !important;
  }
}
/* Ukryj strzał ki nawigacji na tablet i mobile */
@media (max-width: 1024px) {
  .wd-nav-arrows,
  .wd-arrow,
  .wd-arrow-inner {
    display: none !important;
  }
}
.woocommerce-cart .wd-empty-page,
.woocommerce-cart .cart-empty-content,
.woocommerce-cart .woocommerce {
	text-align: center;
}

/* (audyt) Pusty koszyk: blok WooCommerce/WoodMart .wd-empty-page miał ujemny
   margines (w designie WoodMart nachodzi na hero) → u nas wjeżdżał na nasz baner.
   Zerujemy ujemny margines i dajemy oddech, żeby cała treść była POD banerem. */
body.woocommerce-cart .wd-empty-page,
body.woocommerce-cart .cart-empty-content {
	margin-top: 0 !important;
	padding-top: 56px !important;
}

@media (max-width: 767px) {
	body.woocommerce-cart .wd-empty-page,
	body.woocommerce-cart .cart-empty-content {
		padding-top: 36px !important;
	}
}

/* Nie przesuwaj bannera */
body.woocommerce-cart .wd-page-title.page-title {
	margin-top: 0 !important;
}

/* Odsuń  tylko content pod bannerem */
body.woocommerce-cart main#main-content {
	padding-top: 0 !important;
}

body.admin-bar.woocommerce-cart main#main-content {
	padding-top: 0 !important; /* (audyt) bylo 110px — gap nad banerem TYLKO dla admin-bar (wyzsza specyficznosc bila reset) */
}

/* Ukryj zduplikowane checkout steps */
body.woocommerce-cart .wd-page-title.page-title + .container > .wd-checkout-steps {
	display: none !important;
}

/* Empty cart */
body.woocommerce-cart .woocommerce {
	text-align: center;
}

body.woocommerce-cart .cart-empty.wd-empty-block-title.wc-empty-cart-message {
	max-width: 820px;
	margin: 0 auto 18px !important;
	font-size: clamp(30px, 3.2vw, 56px) !important;
	line-height: 1.1 !important;
	font-weight: 600 !important;
	letter-spacing: -0.03em !important;
	color: #222 !important;
	text-align: center !important;
}

body.woocommerce-cart .wd-empty-block-text {
	max-width: 760px;
	margin: 0 auto 28px !important;
	padding: 0 18px !important;
	font-size: clamp(16px, 1.2vw, 20px) !important;
	line-height: 1.7 !important;
	color: #6f6f6f !important;
	text-align: center !important;
}

body.woocommerce-cart .return-to-shop {
	text-align: center !important;
}

body.woocommerce-cart .return-to-shop .button.wc-backward {
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	min-width: 220px;
	padding: 16px 28px !important;
	background: var(--nw-black,#000) !important;
	border: 1px solid var(--nw-black,#000) !important;
	border-radius: 8px !important; /* (audyt) bylo 0 — stary ostry styl; do kanonu */
	color: var(--nw-beige,#d4ba87) !important;
	font-size: 14px !important;
	font-weight: 600 !important;
	letter-spacing: 0.04em !important;
	text-transform: uppercase !important;
}

@media (max-width: 767px) {
	body.woocommerce-cart main#main-content {
		padding-top: 0 !important;
	}

	body.admin-bar.woocommerce-cart main#main-content {
		padding-top: 0 !important;
	}

	body.woocommerce-cart .cart-empty.wd-empty-block-title.wc-empty-cart-message {
		font-size: 34px !important;
		margin-bottom: 14px !important;
	}

	body.woocommerce-cart .wd-empty-block-text {
		font-size: 17px !important;
		line-height: 1.6 !important;
		margin-bottom: 22px !important;
		padding: 0 16px !important;
	}

	body.woocommerce-cart .return-to-shop .button.wc-backward {
		min-width: 0;
		padding: 15px 22px !important;
	}
}
/* =========================================================
   PRIVACY POLICY  page_id=3
   usuń  prawy sidebar, dopasuj banner i zmie  tytu  na PL
   ========================================================= */

/* 1. peł na szeroko   contentu + ukrycie prawej kolumny */
body.page-id-3 .widget-area,
body.page-id-3 .sidebar-container,
body.page-id-3 .wd-sidebar,
body.page-id-3 aside.sidebar-container,
body.page-id-3 .content-sidebar {
  display: none !important;
}

body.page-id-3 .content-layout-wrapper,
body.page-id-3 .wd-content-layout,
body.page-id-3 .content-with-sidebar {
  display: block !important;
  grid-template-columns: 1fr !important;
}

body.page-id-3 .content-area,
body.page-id-3 .site-content .content-area,
body.page-id-3 .wd-content-area,
body.page-id-3 article,
body.page-id-3 .entry-content {
  width: 100% !important;
  max-width: 100% !important;
  flex: 0 0 100% !important;
}

/* 2. banner jak na pozostał ych stronach */
body.page-id-3 .page-title,
body.page-id-3 .wd-page-title {
  position: relative !important;
  display: flex !important;
  width: 100vw !important;
  max-width: 100vw !important;
  height: 320px !important;
  min-height: 320px !important;
  margin: 0 0 42px !important;
  margin-left: calc(50% - 50vw) !important;
  margin-right: calc(50% - 50vw) !important;
  padding: 0 !important;
  align-items: center !important;
  justify-content: center !important;
  overflow: hidden !important;
  border: 0 !important;
  background: var(--nw-new-bg-image) center center / cover no-repeat !important; /* (2026-07-11) wspolna zmienna headerow */
}

body.page-id-3 .page-title::before,
body.page-id-3 .wd-page-title::before {
  content: "" !important;
  position: absolute !important;
  top: 0 !important; right: 0 !important; bottom: 0 !important; left: 0 !important;
  inset: 0 !important;
  background: rgba(0, 0, 0, 0.35) !important;
  z-index: 1 !important;
}

body.page-id-3 .page-title .container,
body.page-id-3 .wd-page-title .container,
body.page-id-3 .page-title .title-wrapper,
body.page-id-3 .wd-page-title .title-wrapper {
  position: relative !important;
  z-index: 2 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  height: 100% !important;
  padding: 0 20px !important;
  text-align: center !important;
}

/* 3. zamiana tytuł u z "Privacy Policy" na "Polityka prywatno ci" */
body.page-id-3 .page-title h1,
body.page-id-3 .wd-page-title h1 {
  color: transparent !important;
  font-size: 0 !important;
  line-height: 0 !important;
  margin: 0 !important;
}

body.page-id-3 .page-title::after,
body.page-id-3 .wd-page-title::after {
  content: "Polityka prywatności" !important;
  position: absolute !important;
  top: 50% !important;
  left: 50% !important;
  z-index: 3 !important;
  width: min(92vw, 1100px) !important;
  transform: translate(-50%, -50%) !important;
  color: #fff !important;
  font-size: clamp(30px, 3.4vw, 44px) !important; /* (2026-07-03) kanon banerow — bylo 72/700 */
  line-height: 1.15 !important;
  font-weight: 600 !important;
  text-align: center !important;
  pointer-events: none !important;
}

/* 4. usuń  breadcrumbs */
body.page-id-3 .breadcrumbs,
body.page-id-3 .wd-breadcrumbs,
body.page-id-3 .yoast-breadcrumb {
  display: none !important;
}

/* 5. kontener treś ci */
body.page-id-3 .main-page-wrapper,
body.page-id-3 .site-content,
body.page-id-3 .content-layout-wrapper,
body.page-id-3 .wd-content-area {
  margin-top: 0 !important;
  padding-top: 0 !important;
}

body.page-id-3 .entry-content {
  max-width: 1240px !important;
  margin: 0 auto !important;
  padding: 0 20px 80px !important;
  box-sizing: border-box !important;
}

/* 6. typografia treś ci */
body.page-id-3 .entry-content h2,
body.page-id-3 .entry-content h3,
body.page-id-3 .entry-content h4 {
  color: #111 !important;
}

body.page-id-3 .entry-content p,
body.page-id-3 .entry-content li {
  color: #6f6f6f !important;
  font-size: 16px !important;
  line-height: 1.8 !important;
}

/* 7. mobile */
@media (max-width: 767px) {
  body.page-id-3 .page-title,
  body.page-id-3 .wd-page-title {
    height: 200px !important;
    min-height: 200px !important;
    margin-bottom: 24px !important;
  }

  body.page-id-3 .page-title::after,
  body.page-id-3 .wd-page-title::after {
    font-size: clamp(32px, 10vw, 42px) !important;
    line-height: 1.08 !important;
    width: calc(100vw - 32px) !important;
  }

  body.page-id-3 .entry-content {
    padding: 0 14px 50px !important;
  }

  body.page-id-3 .entry-content p,
  body.page-id-3 .entry-content li {
    font-size: 15px !important;
    line-height: 1.7 !important;
  }
}
/* =========================================================
   KOSZYK  szerokoś   i pozycja headera jak na innych stronach
   ========================================================= */

body.woocommerce-cart .wd-page-title,
body.woocommerce-cart .page-title {
  position: relative !important;
  left: 50% !important;
  transform: translateX(-50%) !important;

  width: 100vw !important;
  max-width: 100vw !important;
  min-width: 100vw !important;

  height: 320px !important;
  min-height: 320px !important;

  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
  border: 0 !important;
  box-sizing: border-box !important;
}

/* tł o na ca   szeroko   bannera */
body.woocommerce-cart .wd-page-title .wd-page-title-bg,
body.woocommerce-cart .page-title .wd-page-title-bg,
body.woocommerce-cart .wd-page-title .wd-page-title-bg.wd-fill,
body.woocommerce-cart .page-title .wd-page-title-bg.wd-fill {
  position: absolute !important;
  top: 0 !important; right: 0 !important; bottom: 0 !important; left: 0 !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  margin: 0 !important;
  z-index: 1 !important;
  overflow: hidden !important;
}

body.woocommerce-cart .wd-page-title .wd-page-title-bg img,
body.woocommerce-cart .page-title .wd-page-title-bg img,
body.woocommerce-cart .wd-page-title .wd-page-title-bg.wd-fill img,
body.woocommerce-cart .page-title .wd-page-title-bg.wd-fill img {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  object-position: center center !important;
  margin: 0 !important;
}

/* overlay */
body.woocommerce-cart .wd-page-title::before,
body.woocommerce-cart .page-title::before {
  content: "" !important;
  position: absolute !important;
  top: 0 !important; right: 0 !important; bottom: 0 !important; left: 0 !important;
  inset: 0 !important;
  z-index: 2 !important;
  background: rgba(0, 0, 0, 0.35) !important;
}

/* ś rodek bannera */
body.woocommerce-cart .wd-page-title .container,
body.woocommerce-cart .page-title .container,
body.woocommerce-cart .wd-page-title .title-wrapper,
body.woocommerce-cart .page-title .title-wrapper {
  position: relative !important;
  z-index: 3 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  max-width: 100% !important;
  height: 100% !important;
  margin: 0 !important;
  padding: 0 20px !important;
  text-align: center !important;
  box-sizing: border-box !important;
}

/* tytuł  */
body.woocommerce-cart .wd-page-title h1,
body.woocommerce-cart .page-title h1 {
  margin: 0 !important;
  color: #fff !important;
  font-size: clamp(30px, 3.4vw, 44px) !important; /* (2026-07-03) kanon banerow — bylo 72/700 */
  line-height: 1.15 !important;
  font-weight: 600 !important;
  text-align: center !important;
  position: relative !important;
  z-index: 4 !important;
}

/* chowamy breadcrumbs */
body.woocommerce-cart .breadcrumbs,
body.woocommerce-cart .wd-breadcrumbs {
  display: none !important;
}

/* usuń  wszelkie odsuni cia od menu */
body.woocommerce-cart .main-page-wrapper,
body.woocommerce-cart .site-content,
body.woocommerce-cart .content-layout-wrapper,
body.woocommerce-cart .wd-content-area,
body.woocommerce-cart main#main-content {
  margin-top: 0 !important;
  padding-top: 0 !important;
}

/* Koszyk: usuń biały odstęp między mobilnym headerem a hero/page title */
body.woocommerce-cart .woocommerce.entry-content,
body.woocommerce-cart .elementor.elementor-29852,
body.woocommerce-cart .elementor.elementor-29852 > .elementor-element:first-child,
body.woocommerce-cart .elementor.elementor-29852 .elementor-element-5ef0768,
body.woocommerce-cart .elementor.elementor-29852 .elementor-element-5ef0768 > .e-con-inner,
body.woocommerce-cart .elementor.elementor-29852 .elementor-element-5978740,
body.woocommerce-cart .elementor.elementor-29852 .elementor-widget-wd_page_title,
body.woocommerce-cart .elementor.elementor-29852 .elementor-widget-wd_page_title > .elementor-widget-container {
  --padding-top: 0 !important;
  --padding-block-start: 0 !important;
  --margin-top: 0 !important;
  margin-top: 0 !important;
  margin-block-start: 0 !important;
  padding-top: 0 !important;
  padding-block-start: 0 !important;
}

@media (max-width: 767px) {
  body.woocommerce-cart .main-page-wrapper,
  body.woocommerce-cart .content-layout-wrapper,
  body.woocommerce-cart main#main-content,
  body.woocommerce-cart .wd-content-area,
  body.woocommerce-cart .site-content,
  body.woocommerce-cart .woocommerce.entry-content {
    --padding-top: 0 !important;
    --padding-block-start: 0 !important;
    margin-top: 0 !important;
    margin-block-start: 0 !important;
    padding-top: 0 !important;
    padding-block-start: 0 !important;
  }

  body.woocommerce-cart .wd-page-title,
  body.woocommerce-cart .page-title {
    height: 200px !important;
    min-height: 200px !important;
  }

  body.woocommerce-cart .wd-page-title h1,
  body.woocommerce-cart .page-title h1 {
    font-size: clamp(32px, 10vw, 42px) !important;
    line-height: 1.08 !important;
  }

  body.woocommerce-cart .wd-page-title .container,
  body.woocommerce-cart .page-title .container,
  body.woocommerce-cart .wd-page-title .title-wrapper,
  body.woocommerce-cart .page-title .title-wrapper {
    padding: 0 16px !important;
  }
}
[data-widget_type="wd_shop_archive_per_page.default"],
[data-widget_type="wd_shop_archive_view.default"],
[data-widget_type="wd_shop_archive_orderby.default"],
.woocommerce-ordering {
    display: none !important;
}
html {
    scroll-behavior: smooth;
}

#produkty {
    scroll-margin-top: 160px;
}

/* Wyrównanie kart + mniejsza przerwa nazwa →  kategoria */
body.post-type-archive-product .product-wrapper,
body.tax-product_cat .product-wrapper,
body.tax-product_tag .product-wrapper {
  display: flex !important;
  flex-direction: column !important;
  height: 100% !important;
}

body.post-type-archive-product .product-wrapper .wd-entities-title,
body.tax-product_cat .product-wrapper .wd-entities-title,
body.tax-product_tag .product-wrapper .wd-entities-title {
  margin-bottom: 4px !important;
  min-height: 58px !important;
  line-height: 1.2 !important;
  display: flex !important;
  align-items: flex-end !important;
  justify-content: center !important;
  text-align: center !important;
}

body.post-type-archive-product .product-wrapper .wd-product-cats,
body.tax-product_cat .product-wrapper .wd-product-cats,
body.tax-product_tag .product-wrapper .wd-product-cats {
  margin-top: 0 !important;
  margin-bottom: 10px !important;
  min-height: 24px !important;
  text-align: center !important;
}

body.post-type-archive-product .product-wrapper .price,
body.tax-product_cat .product-wrapper .price,
body.tax-product_tag .product-wrapper .price {
  margin-bottom: 16px !important;
}

body.post-type-archive-product .product-wrapper .wd-add-btn,
body.tax-product_cat .product-wrapper .wd-add-btn,
body.tax-product_tag .product-wrapper .wd-add-btn {
  margin-top: auto !important;
}
/* Zł oty kolor loaderów / kó eczek */
:root{
  --nw-gold: #d4ba87;
  --nw-gold-fade: rgba(212,186,135,0.22);
}

/* WooCommerce / Woodmart loadery oparte o border */
.woocommerce .blockUI.blockOverlay::before,
.woocommerce .loader::before,
.wd-loading::after,
.wd-products-loader::after,
.wd-search-loader::after,
.wd-nav-product-search .loader::after,
.wd-preloader::after,
.wd-loader::after {
  border-top-color: var(--nw-gold) !important;
  border-right-color: var(--nw-gold) !important;
  border-bottom-color: var(--nw-gold-fade) !important;
  border-left-color: var(--nw-gold-fade) !important;
}

/* Loadery SVG / ikonowe */
.wd-loader,
.wd-ajax-loader,
.wd-search-loader,
.wd-preloader,
svg .path,
svg circle {
  color: var(--nw-gold) !important;
  stroke: var(--nw-gold) !important;
}

/* Overlay WooCommerce przy odś wie aniu koszyka / checkout */
.woocommerce .blockUI.blockOverlay {
  opacity: .55 !important;
}
.category-grid-item.first .wd-cat-inner,
.category-grid-item.last .wd-cat-inner,
.category-grid-item .wd-cat-inner {
    transition: none !important;
}
.nw-floor-qty-note {
  display: none !important;
}

/* Dropdown - zmiana kolejnoś ci pozycji */
.wd-dropdown .wd-sub-menu.color-scheme-dark {
  display: flex;
  flex-direction: column;
}

#menu-item-29267 { order: 1; } /* Namioty ekspresowe */
#menu-item-29268 { order: 2; } /* Namioty */
#menu-item-29232 { order: 3; } /* Meble */
#menu-item-29270 { order: 4; } /* Zastawa */
#menu-item-29269 { order: 5; } /* Podł ogi */
#menu-item-29233 { order: 6; } /* Akcesoria */

/* CHECKOUT  zmniejszenie zbyt duż ych odst pów w prawej kolumnie */
body.woocommerce-checkout .elementor-element.elementor-element-1d33c39{
	--container-widget-gap: 12px !important;
	gap: 12px !important;
	padding-top: 12px !important;
	--padding-bottom: 34px !important;
	padding-bottom: 34px !important;
	overflow: visible !important;
}
body.woocommerce-checkout .elementor.elementor-29855 .elementor-element.elementor-element-1d33c39{
	--padding-bottom: 34px !important;
	padding-bottom: 34px !important;
	overflow: visible !important;
}
body.woocommerce-checkout .elementor-element.elementor-element-1d33c39 > .elementor-shape-bottom{
	bottom: -8px !important;
}

/* usuń  pust  przestrze  po starym wid ecie tabeli */
body.woocommerce-checkout .elementor-element.elementor-element-1d33c39 > .elementor-element.elementor-element-91face9{
	display: none !important;
	margin: 0 !important;
	padding: 0 !important;
	min-height: 0 !important;
}

/* wyrównanie odstę pów mi dzy widgetami w tym kontenerze */
body.woocommerce-checkout .elementor-element.elementor-element-1d33c39 > .elementor-element{
	margin-top: 0 !important;
	margin-bottom: 0 !important;
}

/* nagł ówek "Twoje zamówienie"  cia niej */
body.woocommerce-checkout .elementor-element.elementor-element-1d33c39 .title-wrapper{
	margin-bottom: 0 !important;
}
body.woocommerce-checkout .elementor-element.elementor-element-1d33c39 .liner-continer{
	margin-bottom: 0 !important;
}
body.woocommerce-checkout .elementor-element.elementor-element-1d33c39 .woodmart-title-container{
	margin-bottom: 0 !important;
}

/* box z podsumowaniem  mniejszy odstę p pod nim */
body.woocommerce-checkout .elementor-element.elementor-element-1d33c39 .nw-checkout-calc-box{
	margin-bottom: 8px !important;
}

/* box zgód  bez zbę dnego odst pu od góry */
body.woocommerce-checkout .elementor-element.elementor-element-1d33c39 .nw-final-box{
	margin-top: 0 !important;
	margin-bottom: 28px !important;
}

/* przyciski pod zgodami  ciaś niej */
body.woocommerce-checkout .elementor-element.elementor-element-1d33c39 .nw-order-actions{
	margin-top: 0 !important;
}

/* komunikat i opisy przycisków  mniejsze odstę py */
body.woocommerce-checkout .elementor-element.elementor-element-1d33c39 .nw-final-urgency{
	width: min(100%, 620px) !important;
	max-width: calc(100% - 56px) !important;
	margin: 10px auto 0 !important;
}
body.woocommerce-checkout .elementor-element.elementor-element-1d33c39 .nw-main-submit{
	margin-bottom: 8px !important;
}
body.woocommerce-checkout .elementor-element.elementor-element-1d33c39 .nw-main-submit-note{
	margin: 0 0 12px !important;
}
body.woocommerce-checkout .elementor-element.elementor-element-1d33c39 .nw-secondary-submit-note{
	margin-top: 6px !important;
}

/* CHECKOUT â mobile: zmniejszenie gap miÄdzy sekcjami */
@media (max-width: 767px) {
  body.woocommerce-checkout .elementor-element.elementor-element-1d33c39 {
    --padding-top: 8px !important;
    padding-top: 8px !important;
    margin-top: 0 !important;
  }
  body.woocommerce-checkout .nw-ccb-reservation-details {
    margin-bottom: 8px !important;
  }
}

/* CHECKOUT: odstep miedzy "Dane rezerwacji" a sekcja zamowienia
   (2026-07-21) ID-spec `:not(#nw-z)` — kanon projektu na uparte reguly. Konkurent to blok z l. ~3946
   (`body:is(.page-id-51, ..., .woocommerce-checkout) .e-con { padding-top: 0 !important }`), ktory ma
   DOKLADNIE te sama specyficznosc (0,2,1) co selektor bez eskalacji. Przy remisie decyduje kolejnosc
   w pliku i moja regula, stojac nizej, wygrywalaby — ale to zbyt kruche jak na cos, co juz dwa razy
   wracalo: wystarczyloby przeniesienie bloku albo zmiana kolejnosci przy sklejaniu przez LiteSpeed.
   Z `:not(#nw-z)` wynik nie zalezy od kolejnosci. */
html body.woocommerce-checkout [data-id="5d225e4"]:not(#nw-z) {
  gap: 5px !important;
  row-gap: 5px !important;
  /* (audyt 2026-07-21, user „boks dane rezerwacji troche nizej by wyzsza krawedz byla na tej samej
     wysokosci co krawedz gorna boksu Twoje zamowienie")
     ZMIERZONE w konsoli na kasie @1108: obie kolumny startuja identycznie (308,2), ale
       - prawa (1d33c39) ma `padding-top:12px` (l. ~16110), lewa (5d225e4) miala 0,
       - nad boksem prawym jest 12px odstepu widgetu, nad lewym 10px.
     Razem: gorna krawedz „Dane rezerwacji" 318,2 vs „Twoje zamowienie" 332,2 = 14px roznicy.
     Dlatego 14px, a nie 12: 12 to symetria paddingu kolumn, +2 to roznica odstepow widgetow.
     Gdyby ktos kiedys zrownal te widgety, tu trzeba wrocic do 12. */
  padding-top: 14px !important;
}

/* Sekcja opinii â ponad siatkÄ kategorii (strona gĹĂłwna) */
.nw-opinie-section {
  position: relative;
  z-index: 2;
}
.nw-opinie-outer {
  position: relative;
  z-index: 2;
}


/* MOBILE/TABLET add-to-cart: tekst loading bez skoku i bez prawego side-carta */
@media (max-width: 1024px) {
  .add_to_cart_button.loading,
  .ajax_add_to_cart.loading,
  .bundle_add_to_cart_button.loading,
  .product_type_bundle.ajax_add_to_cart.loading,
  .add_to_cart_button.nw-is-loading,
  .ajax_add_to_cart.nw-is-loading {
    color: #1a1407 !important; /* (audyt 2026-06-25): bylo zloto na czerni #1b1b19 — mobile loading. Kanon: ciemny napis na zlotym */
    -webkit-text-fill-color: #1a1407 !important;
    background-color: #d4ba87 !important;
    border-color: #d4ba87 !important;
    opacity: 1 !important;
    pointer-events: auto !important;
  }

  .add_to_cart_button.loading::before,
  .add_to_cart_button.loading::after,
  .ajax_add_to_cart.loading::before,
  .ajax_add_to_cart.loading::after,
  .bundle_add_to_cart_button.loading::before,
  .bundle_add_to_cart_button.loading::after,
  .product_type_bundle.ajax_add_to_cart.loading::before,
  .product_type_bundle.ajax_add_to_cart.loading::after,
  .wd-add-btn .add_to_cart_button.nw-is-loading::before,
  .wd-add-btn-replace .add_to_cart_button.nw-is-loading::before {
    display: none !important;
    content: none !important;
    animation: none !important;
    opacity: 0 !important;
  }

  .wd-add-btn .add_to_cart_button.nw-is-loading,
  .wd-add-btn-replace .add_to_cart_button.nw-is-loading,
  .product-grid-item .add_to_cart_button.nw-is-loading,
  .product-grid-item .ajax_add_to_cart.nw-is-loading {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    white-space: nowrap !important;
    line-height: 1.1 !important;
  }

  body.nw-atc-no-side-cart .cart-widget-side,
  body.nw-atc-no-side-cart .wd-cart-widget,
  body.nw-atc-no-side-cart .shopping-cart-widget,
  body.nw-atc-no-side-cart .cart-widget-side.wd-side-hidden,
  body.nw-atc-no-side-cart .wd-side-hidden.cart-widget-side {
    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;
    transform: translateX(110%) !important;
  }

  body.nw-atc-no-side-cart .wd-close-side,
  body.nw-atc-no-side-cart .woodmart-close-side,
  body.nw-atc-no-side-cart .close-side-widget {
    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;
  }
}

@media (max-width: 1024px) {
/* WYPOZYCZALNIA - finalne wyrownanie siatki produktow */
body.post-type-archive-product .wd-products.wd-grid-g,
body.tax-product_cat .wd-products.wd-grid-g,
body.tax-product_tag .wd-products.wd-grid-g {
  align-items: stretch !important;
}

body.post-type-archive-product .wd-products.wd-grid-g .wd-product.wd-col,
body.tax-product_cat .wd-products.wd-grid-g .wd-product.wd-col,
body.tax-product_tag .wd-products.wd-grid-g .wd-product.wd-col {
  display: flex !important;
  align-self: stretch !important;
  height: auto !important;
}

body.post-type-archive-product .wd-products.wd-grid-g .wd-product-wrapper,
body.tax-product_cat .wd-products.wd-grid-g .wd-product-wrapper,
body.tax-product_tag .wd-products.wd-grid-g .wd-product-wrapper {
  display: flex !important;
  flex-direction: column !important;
  width: 100% !important;
  height: 100% !important;
  min-height: 100% !important;
  text-align: center !important;
}

body.post-type-archive-product .wd-products.wd-grid-g .wd-product-thumb,
body.tax-product_cat .wd-products.wd-grid-g .wd-product-thumb,
body.tax-product_tag .wd-products.wd-grid-g .wd-product-thumb {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  aspect-ratio: 1 / 1 !important;
  height: auto !important;
  min-height: 0 !important;
  overflow: hidden !important;
  flex: 0 0 auto !important;
  background: #fff !important;
}

body.post-type-archive-product .wd-products.wd-grid-g .wd-product-img-link,
body.tax-product_cat .wd-products.wd-grid-g .wd-product-img-link,
body.tax-product_tag .wd-products.wd-grid-g .wd-product-img-link {
  position: relative !important;
  top: auto !important; right: auto !important; bottom: auto !important; left: auto !important;
  inset: auto !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  height: 100% !important;
  min-height: 0 !important;
}

body.post-type-archive-product .wd-products.wd-grid-g .wd-product-thumb img,
body.tax-product_cat .wd-products.wd-grid-g .wd-product-thumb img,
body.tax-product_tag .wd-products.wd-grid-g .wd-product-thumb img {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  max-width: 100% !important;
  max-height: 100% !important;
  object-fit: contain !important;
  object-position: center center !important;
}

body.post-type-archive-product .wd-products.wd-grid-g .wd-entities-title,
body.tax-product_cat .wd-products.wd-grid-g .wd-entities-title,
body.tax-product_tag .wd-products.wd-grid-g .wd-entities-title,
body.post-type-archive-product .wd-products.wd-grid-g .wd-product-wrapper > *:not(.wd-product-thumb):not(.wd-quick-shop),
body.tax-product_cat .wd-products.wd-grid-g .wd-product-wrapper > *:not(.wd-product-thumb):not(.wd-quick-shop),
body.tax-product_tag .wd-products.wd-grid-g .wd-product-wrapper > *:not(.wd-product-thumb):not(.wd-quick-shop),
body.post-type-archive-product .wd-products.wd-grid-g .wd-product-cats,
body.tax-product_cat .wd-products.wd-grid-g .wd-product-cats,
body.tax-product_tag .wd-products.wd-grid-g .wd-product-cats,
body.post-type-archive-product .wd-products.wd-grid-g .price,
body.tax-product_cat .wd-products.wd-grid-g .price,
body.tax-product_tag .wd-products.wd-grid-g .price,
body.post-type-archive-product .wd-products.wd-grid-g .wd-add-btn,
body.tax-product_cat .wd-products.wd-grid-g .wd-add-btn,
body.tax-product_tag .wd-products.wd-grid-g .wd-add-btn {
  flex: 0 0 auto !important;
}

body.post-type-archive-product .wd-products.wd-grid-g .wd-entities-title,
body.tax-product_cat .wd-products.wd-grid-g .wd-entities-title,
body.tax-product_tag .wd-products.wd-grid-g .wd-entities-title {
  min-height: 58px !important;
  margin: 14px 0 4px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  text-align: center !important;
  line-height: 1.2 !important;
}

body.post-type-archive-product .wd-products.wd-grid-g .wd-product-cats,
body.tax-product_cat .wd-products.wd-grid-g .wd-product-cats,
body.tax-product_tag .wd-products.wd-grid-g .wd-product-cats {
  min-height: 24px !important;
  margin: 0 0 10px !important;
  text-align: center !important;
}

body.post-type-archive-product .wd-products.wd-grid-g .price,
body.tax-product_cat .wd-products.wd-grid-g .price,
body.tax-product_tag .wd-products.wd-grid-g .price {
  min-height: 30px !important;
  margin: 0 0 16px !important;
  text-align: center !important;
}

body.post-type-archive-product .wd-products.wd-grid-g .wd-add-btn,
body.tax-product_cat .wd-products.wd-grid-g .wd-add-btn,
body.tax-product_tag .wd-products.wd-grid-g .wd-add-btn {
  margin-top: auto !important;
  display: flex !important;
  justify-content: center !important;
}
} /* (audyt) DOMKNIĘCIE @media(max-width:1024px) z linii 14949 — brakujący nawias ze źródła */

@media (max-width: 767px) {
  body.post-type-archive-product .wd-products.wd-grid-g .wd-entities-title,
  body.tax-product_cat .wd-products.wd-grid-g .wd-entities-title,
  body.tax-product_tag .wd-products.wd-grid-g .wd-entities-title {
    min-height: 52px !important;
    margin-top: 12px !important;
  }

  body.post-type-archive-product .wd-products.wd-grid-g .price,
  body.tax-product_cat .wd-products.wd-grid-g .price,
  body.tax-product_tag .wd-products.wd-grid-g .price {
    min-height: 28px !important;
    margin-bottom: 12px !important;
  }
}

/* MOBILE MENU - nad sticky barem koszyka */
.mobile-nav.wd-side-hidden,
.mobile-nav.wd-side-hidden.wd-opened,
.wd-side-hidden-nav.wd-opened {
  z-index: 10001 !important;
}

.wd-close-side,
.woodmart-close-side,
.close-side-widget {
  z-index: 10000 !important;
}

/* loading state — obsługiwany przez patches-all (snippet) */

/* MOBILE HEADER - mniejsze i wycentrowane logo */
@media (max-width: 1024px) {
  .whb-column_mobile3.whb-mobile-center .site-logo {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 auto !important;
    text-align: center !important;
  }

  .whb-column_mobile3.whb-mobile-center .site-logo > a.wd-logo.wd-main-logo { display: flex !important;align-items: center !important;justify-content: center !important;margin: 0 auto !important;background: none !important;filter: none !important;line-height: 0 !important; }

  .whb-column_mobile3.whb-mobile-center .site-logo > a.wd-logo.wd-main-logo img,
  .whb-column_mobile3.whb-mobile-center .site-logo > a.wd-logo.wd-main-logo img[src*="LOGO_NW_POZIOM_BEZ"] {
    display: block !important;
    opacity: 1 !important;
    visibility: visible !important;
    width: auto !important; /* (audyt 2026-06-26) bylo 200px = upscale obrazu 182px => rozmyte „zepsute" logo. Natywna szerokosc + cap = krzepko. */
    max-width: 180px !important;
    height: auto !important;
    max-height: 60px !important;
    object-fit: contain !important;
    margin: 0 auto !important;
  }
}

/* MOBILE HEADER - sama ikonka menu i dokladne centrowanie logo */
@media (max-width: 1024px) {
  .whb-hidden-lg .whb-flex-row,
  .whb-general-header .whb-flex-row,
  .whb-sticked .whb-flex-row,
  .whb-clone .whb-flex-row {
    display: grid !important;
    grid-template-columns: 54px minmax(0, 1fr) 54px !important;
    align-items: center !important;
    column-gap: 0 !important;
  }

  .whb-mobile-left,
  .whb-mobile-center,
  .whb-mobile-right {
    min-width: 0 !important;
  }

  .whb-mobile-left {
    justify-content: center !important;
  }

  .whb-mobile-left .wd-header-mobile-nav,
  .whb-mobile-left .wd-tools-element,
  .whb-mobile-left .wd-tools-element > a {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 54px !important;
    min-width: 54px !important;
    height: 54px !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  .whb-mobile-left .wd-tools-text,
  .whb-mobile-left .wd-tools-text::before,
  .whb-mobile-left .wd-tools-text::after {
    display: none !important;
    content: none !important;
  }

  .whb-column_mobile3.whb-mobile-center,
  .whb-column_mobile3.whb-mobile-center .site-logo {
    justify-self: center !important;
    align-self: center !important;
    justify-content: center !important;
    text-align: center !important;
  }

  .whb-column_mobile3.whb-mobile-center .site-logo > a.wd-logo.wd-main-logo {
    width: 200px !important;
    max-width: 200px !important;
    height: 60px !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }

  .whb-column_mobile3.whb-mobile-center .site-logo > a.wd-logo.wd-main-logo img {
    width: 200px !important;
    max-width: 200px !important;
    max-height: 60px !important;
  }
}

/* MOBILE HEADER - final: bez napisu Menu, logo na srodku ekranu */
@media (max-width: 1024px) {
  .whb-header .whb-flex-row,
  .whb-general-header .whb-flex-row,
  .whb-sticked .whb-flex-row,
  .whb-clone .whb-flex-row {
    position: relative !important;
    display: flex !important;
    align-items: center !important;
    min-height: 72px !important;
  }

  .whb-header .wd-header-mobile-nav .wd-tools-text,
  .whb-header .wd-header-mobile-nav .wd-tools-text::before,
  .whb-header .wd-header-mobile-nav .wd-tools-text::after,
  .whb-hidden-lg .wd-header-mobile-nav .wd-tools-text,
  .whb-hidden-lg .wd-header-mobile-nav .wd-tools-text::before,
  .whb-hidden-lg .wd-header-mobile-nav .wd-tools-text::after,
  .wd-header-mobile-nav .wd-tools-text,
  .wd-header-mobile-nav .wd-tools-text::before,
  .wd-header-mobile-nav .wd-tools-text::after {
    display: none !important;
    content: none !important;
    font-size: 0 !important;
    width: 0 !important;
    height: 0 !important;
    overflow: hidden !important;
  }

  .whb-header .wd-header-mobile-nav,
  .whb-header .wd-header-mobile-nav > a,
  .whb-hidden-lg .wd-header-mobile-nav,
  .whb-hidden-lg .wd-header-mobile-nav > a {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 54px !important;
    min-width: 54px !important;
    height: 54px !important;
    margin: 0 !important;
    padding: 0 !important;
    gap: 0 !important;
  }

  .whb-header .whb-column_mobile1,
  .whb-header .whb-mobile-left {
    flex: 0 0 54px !important;
    width: 54px !important;
    max-width: 54px !important;
    min-width: 54px !important;
    justify-content: center !important;
    z-index: 3 !important;
  }

  .whb-header .whb-column.whb-column_mobile3.whb-mobile-center {
    position: absolute !important;
    left: 50% !important;
    top: 50% !important;
    transform: translate(-50%, -50%) !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 210px !important;
    max-width: 210px !important;
    margin: 0 !important;
    padding: 0 !important;
    z-index: 2 !important;
  }

  

  
}

/* MOBILE HEADER - usun napis Menu z konkretnego elementu */
@media (max-width: 1024px) {
  .wd-tools-element.wd-header-mobile-nav.wd-style-text.whb-g1k0m1tib7raxrwkm1t3 > a,
  .wd-tools-element.wd-header-mobile-nav.wd-style-text > a {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 0 !important;
    width: 54px !important;
    min-width: 54px !important;
    height: 54px !important;
    padding: 0 !important;
    margin: 0 !important;
    font-size: 0 !important;
    line-height: 0 !important;
  }

  .wd-tools-element.wd-header-mobile-nav.wd-style-text.whb-g1k0m1tib7raxrwkm1t3 > a > .wd-tools-text,
  .wd-tools-element.wd-header-mobile-nav.wd-style-text > a > .wd-tools-text,
  .wd-header-mobile-nav.wd-style-text > a > .wd-tools-text {
    display: none !important;
    visibility: hidden !important;
    opacity: 0 !important;
    font-size: 0 !important;
    line-height: 0 !important;
    width: 0 !important;
    max-width: 0 !important;
    height: 0 !important;
    max-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
    color: transparent !important;
    text-indent: -9999px !important;
    pointer-events: none !important;
  }

  .wd-tools-element.wd-header-mobile-nav.wd-style-text.whb-g1k0m1tib7raxrwkm1t3 > a > .wd-tools-text::before,
  .wd-tools-element.wd-header-mobile-nav.wd-style-text.whb-g1k0m1tib7raxrwkm1t3 > a > .wd-tools-text::after,
  .wd-tools-element.wd-header-mobile-nav.wd-style-text > a > .wd-tools-text::before,
  .wd-tools-element.wd-header-mobile-nav.wd-style-text > a > .wd-tools-text::after {
    display: none !important;
    content: none !important;
  }

  .wd-tools-element.wd-header-mobile-nav.wd-style-text.whb-g1k0m1tib7raxrwkm1t3 .wd-tools-icon,
  .wd-tools-element.wd-header-mobile-nav.wd-style-text .wd-tools-icon {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    margin: 0 !important;
  }
}

/* MOBILE HEADER - final: koszyk lekko w prawo, logo idealnie w centrum */
@media (max-width: 1024px) {
  .whb-header .whb-flex-row,
  .whb-hidden-lg .whb-flex-row,
  .whb-general-header .whb-flex-row,
  .whb-sticked .whb-flex-row,
  .whb-clone .whb-flex-row {
    position: relative !important;
    display: flex !important;
    align-items: center !important;
    width: 100% !important;
    min-height: 72px !important;
  }

  .whb-header .whb-column.whb-column_mobile3.whb-mobile-center,
  .whb-hidden-lg.whb-column.whb-column_mobile3.whb-mobile-center {
    position: absolute !important;
    left: 50% !important;
    top: 50% !important;
    transform: translate(-50%, -50%) !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 210px !important;
    max-width: 210px !important;
    margin: 0 !important;
    padding: 0 !important;
    z-index: 2 !important;
  }

  .whb-header .whb-column_mobile3.whb-mobile-center .site-logo,
  .whb-header .whb-column_mobile3.whb-mobile-center .site-logo > a.wd-logo.wd-main-logo {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 200px !important;
    max-width: 200px !important;
    height: 60px !important;
    margin: 0 auto !important;
    background: none !important;
    filter: none !important;
  }

  .whb-header .whb-column_mobile3.whb-mobile-center .site-logo > a.wd-logo.wd-main-logo img {
    display: block !important;
    width: 200px !important;
    max-width: 200px !important;
    height: auto !important;
    max-height: 60px !important;
    margin: 0 auto !important;
    object-fit: contain !important;
    opacity: 1 !important;
    visibility: visible !important;
  }

  .whb-header .whb-column_mobile4.whb-mobile-right,
  .whb-hidden-lg.whb-column_mobile4.whb-mobile-right {
    display: flex !important;
    align-items: center !important;
    justify-content: flex-end !important;
    flex: 0 0 54px !important;
    width: 54px !important;
    max-width: 54px !important;
    min-width: 54px !important;
    margin-left: auto !important;
    padding: 0 !important;
    z-index: 3 !important;
  }

  .whb-column_mobile4.whb-mobile-right .wd-header-cart,
  .wd-header-cart.whb-trk5sfmvib0ch1s1qbtc {
    transform: translateX(3px) !important;
  }
}

/* MOBILE HEADER - korekta koszyka i menu sticky */
@media (max-width: 1024px) {
  .whb-mobile-left,
  .whb-column_mobile1,
  .whb-sticked .whb-mobile-left,
  .whb-sticked .whb-column_mobile1,
  .whb-clone .whb-mobile-left,
  .whb-clone .whb-column_mobile1 {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    flex: 0 0 54px !important;
    width: 54px !important;
    max-width: 54px !important;
    min-width: 54px !important;
    margin: 0 !important;
    padding: 0 !important;
    opacity: 1 !important;
    visibility: visible !important;
    z-index: 4 !important;
  }

  .wd-tools-element.wd-header-mobile-nav,
  .wd-tools-element.wd-header-mobile-nav.whb-g1k0m1tib7raxrwkm1t3,
  .whb-sticked .wd-tools-element.wd-header-mobile-nav,
  .whb-clone .wd-tools-element.wd-header-mobile-nav {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 54px !important;
    min-width: 54px !important;
    height: 54px !important;
    margin: 0 !important;
    padding: 0 !important;
    opacity: 1 !important;
    visibility: visible !important;
  }

  .wd-tools-element.wd-header-mobile-nav > a,
  .wd-tools-element.wd-header-mobile-nav.whb-g1k0m1tib7raxrwkm1t3 > a,
  .whb-sticked .wd-tools-element.wd-header-mobile-nav > a,
  .whb-clone .wd-tools-element.wd-header-mobile-nav > a {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 54px !important;
    min-width: 54px !important;
    height: 54px !important;
    margin: 0 !important;
    padding: 0 !important;
    gap: 0 !important;
    opacity: 1 !important;
    visibility: visible !important;
  }

  .wd-tools-element.wd-header-mobile-nav .wd-tools-icon,
  .whb-sticked .wd-tools-element.wd-header-mobile-nav .wd-tools-icon,
  .whb-clone .wd-tools-element.wd-header-mobile-nav .wd-tools-icon {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    opacity: 1 !important;
    visibility: visible !important;
    margin: 0 !important;
  }

  .wd-tools-element.wd-header-mobile-nav .wd-tools-text,
  .wd-tools-element.wd-header-mobile-nav .wd-tools-text::before,
  .wd-tools-element.wd-header-mobile-nav .wd-tools-text::after,
  .whb-sticked .wd-tools-element.wd-header-mobile-nav .wd-tools-text,
  .whb-sticked .wd-tools-element.wd-header-mobile-nav .wd-tools-text::before,
  .whb-sticked .wd-tools-element.wd-header-mobile-nav .wd-tools-text::after,
  .whb-clone .wd-tools-element.wd-header-mobile-nav .wd-tools-text,
  .whb-clone .wd-tools-element.wd-header-mobile-nav .wd-tools-text::before,
  .whb-clone .wd-tools-element.wd-header-mobile-nav .wd-tools-text::after {
    display: none !important;
    content: none !important;
    font-size: 0 !important;
    line-height: 0 !important;
    width: 0 !important;
    height: 0 !important;
    overflow: hidden !important;
  }
}

/* MOBILE HEADER - menu w tej samej odleglosci od brzegu co koszyk */
@media (max-width: 1024px) {
  .wd-tools-element.wd-header-mobile-nav,
  .wd-tools-element.wd-header-mobile-nav.whb-g1k0m1tib7raxrwkm1t3,
  .whb-sticked .wd-tools-element.wd-header-mobile-nav,
  .whb-clone .wd-tools-element.wd-header-mobile-nav {
    transform: translateX(-10px) !important;
  }
}

/* MOBILE HEADER - mocniejsze cofniecie konkretnej ikony menu */
@media (max-width: 1024px) {
  .wd-tools-element.wd-header-mobile-nav.wd-style-text.whb-g1k0m1tib7raxrwkm1t3,
  .whb-sticked .wd-tools-element.wd-header-mobile-nav.wd-style-text.whb-g1k0m1tib7raxrwkm1t3,
  .whb-clone .wd-tools-element.wd-header-mobile-nav.wd-style-text.whb-g1k0m1tib7raxrwkm1t3 {
    transform: translateX(-10px) !important;
  }

  .wd-tools-element.wd-header-mobile-nav.wd-style-text.whb-g1k0m1tib7raxrwkm1t3 > a {
    width: 44px !important;
    min-width: 44px !important;
    padding: 0 !important;
    margin: 0 !important;
    font-size: 0 !important;
    line-height: 0 !important;
  }

  .wd-tools-element.wd-header-mobile-nav.wd-style-text.whb-g1k0m1tib7raxrwkm1t3 > a > .wd-tools-text {
    display: none !important;
  }
}

/* MOBILE QUICK FIXES - logo + spokojniejszy H1 na glownej */
/* Logo: AVIF natywnie 182x54px — ustawiamy poniżej natywnego (ostry obraz, brak upscalingu) */
@media (max-width: 1024px) {
  .whb-header .whb-column_mobile3.whb-mobile-center,
  .whb-hidden-lg.whb-column_mobile3.whb-mobile-center,
  .whb-sticked .whb-column_mobile3.whb-mobile-center,
  .whb-clone .whb-column_mobile3.whb-mobile-center {
    width: 210px !important;
    max-width: calc(100vw - 88px) !important;
  }

  .whb-header .whb-column_mobile3.whb-mobile-center .site-logo,
  .whb-header .whb-column_mobile3.whb-mobile-center .site-logo > a.wd-logo.wd-main-logo,
  .whb-sticked .whb-column_mobile3.whb-mobile-center .site-logo,
  .whb-sticked .whb-column_mobile3.whb-mobile-center .site-logo > a.wd-logo.wd-main-logo,
  .whb-clone .whb-column_mobile3.whb-mobile-center .site-logo,
  .whb-clone .whb-column_mobile3.whb-mobile-center .site-logo > a.wd-logo.wd-main-logo {
    width: 200px !important;
    max-width: calc(100vw - 96px) !important;
    height: 60px !important;
  }

  .whb-header .whb-column_mobile3.whb-mobile-center .site-logo > a.wd-logo.wd-main-logo img,
  .whb-sticked .whb-column_mobile3.whb-mobile-center .site-logo > a.wd-logo.wd-main-logo img,
  .whb-clone .whb-column_mobile3.whb-mobile-center .site-logo > a.wd-logo.wd-main-logo img {
    width: 200px !important;
    max-width: calc(100vw - 96px) !important;
    height: auto !important;
    max-height: 60px !important;
  }
}

@media (max-width: 767px) {
  body.home .elementor-element.elementor-element-f317353 .hero-tekst-namioty h1,
  body.home .elementor-element.elementor-element-f317353 .hero-tekst-namioty .elementor-heading-title,
  body.home .hero-tekst-namioty h1 {
    font-size: 32px !important;
    line-height: 1.08 !important;
    letter-spacing: 0 !important;
    max-width: 92vw !important;
  }
}

@media (max-width: 390px) {
  body.home .elementor-element.elementor-element-f317353 .hero-tekst-namioty h1,
  body.home .elementor-element.elementor-element-f317353 .hero-tekst-namioty .elementor-heading-title,
  body.home .hero-tekst-namioty h1 {
    font-size: 29px !important;
  }
}

/* MOBILE FINAL - cookies, kategorie/opinie i add-to-cart bez mrugniecia */
@media (max-width: 767px) {
  body.home .wd-cats.products,
  body.home .wd-cats.products.elements-grid,
  body.home .wd-cats-element .wd-grid-g {
    position: relative !important;
    z-index: 1 !important;
    margin-bottom: 72px !important;
    overflow: visible !important;
  }

  body.home .wd-cats.products .category-grid-item,
  body.home .wd-cats.products.elements-grid .category-grid-item {
    position: relative !important;
    z-index: 1 !important;
    margin-bottom: 18px !important;
  }

  body.home .wd-cats.products .category-grid-item .wd-cat-inner,
  body.home .wd-cats.products.elements-grid .category-grid-item .wd-cat-inner {
    overflow: hidden !important;
  }

  body.home .elementor-element-c395961,
  body.home .nw-opinie-section {
    clear: both !important;
    position: relative !important;
    z-index: 5 !important;
    margin-top: 56px !important;
  }

  body.home .nw-opinie-section {
    padding-top: 42px !important;
  }
}

/* MOBILE - stabilny przycisk dodawania bez mrugania Woodmart/Woo */
@media (max-width: 1024px) {
  .product-grid-item .add_to_cart_button,
  .product-grid-item .ajax_add_to_cart,
  .wd-add-btn .add_to_cart_button,
  .wd-add-btn .ajax_add_to_cart,
  .wd-add-btn-replace .add_to_cart_button,
  .wd-add-btn-replace .ajax_add_to_cart {
    transition: none !important;
    animation: none !important;
    transform: none !important;
    opacity: 1 !important;
    backface-visibility: hidden !important;
    -webkit-tap-highlight-color: transparent !important;
  }

  .product-grid-item .add_to_cart_button.loading,
  .product-grid-item .add_to_cart_button.added,
  .product-grid-item .add_to_cart_button.nw-is-loading,
  .product-grid-item .ajax_add_to_cart.loading,
  .product-grid-item .ajax_add_to_cart.added,
  .product-grid-item .ajax_add_to_cart.nw-is-loading,
  .wd-add-btn .add_to_cart_button.loading,
  .wd-add-btn .add_to_cart_button.added,
  .wd-add-btn .add_to_cart_button.nw-is-loading,
  .wd-add-btn .ajax_add_to_cart.loading,
  .wd-add-btn .ajax_add_to_cart.added,
  .wd-add-btn .ajax_add_to_cart.nw-is-loading,
  .wd-add-btn-replace .add_to_cart_button.loading,
  .wd-add-btn-replace .add_to_cart_button.added,
  .wd-add-btn-replace .add_to_cart_button.nw-is-loading,
  .wd-add-btn-replace .ajax_add_to_cart.loading,
  .wd-add-btn-replace .ajax_add_to_cart.added,
  .wd-add-btn-replace .ajax_add_to_cart.nw-is-loading {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    background: #d4ba87 !important; /* (audyt 2026-06-25): bylo #1b1b19 CZARNE — to GLOWNY winowajca "dodaj do wyceny czarne PO KLIKNIECIU" (stan .loading/.added site-wide: related, loop, popup). Kanon F2+G2: zlote. */
    background-color: #d4ba87 !important;
    border-color: #d4ba87 !important;
    color: #1a1407 !important;
    -webkit-text-fill-color: #1a1407 !important;
    opacity: 1 !important;
    visibility: visible !important;
    transition: none !important;
    animation: none !important;
    transform: none !important;
  }

  .product-grid-item .add_to_cart_button.loading::before,
  .product-grid-item .add_to_cart_button.loading::after,
  .product-grid-item .add_to_cart_button.added::before,
  .product-grid-item .add_to_cart_button.added::after,
  .product-grid-item .ajax_add_to_cart.loading::before,
  .product-grid-item .ajax_add_to_cart.loading::after,
  .product-grid-item .ajax_add_to_cart.added::before,
  .product-grid-item .ajax_add_to_cart.added::after,
  .wd-add-btn .add_to_cart_button.loading::before,
  .wd-add-btn .add_to_cart_button.loading::after,
  .wd-add-btn .add_to_cart_button.added::before,
  .wd-add-btn .add_to_cart_button.added::after,
  .wd-add-btn .ajax_add_to_cart.loading::before,
  .wd-add-btn .ajax_add_to_cart.loading::after,
  .wd-add-btn .ajax_add_to_cart.added::before,
  .wd-add-btn .ajax_add_to_cart.added::after,
  .wd-add-btn-replace .add_to_cart_button.loading::before,
  .wd-add-btn-replace .add_to_cart_button.loading::after,
  .wd-add-btn-replace .add_to_cart_button.added::before,
  .wd-add-btn-replace .add_to_cart_button.added::after,
  .wd-add-btn-replace .ajax_add_to_cart.loading::before,
  .wd-add-btn-replace .ajax_add_to_cart.loading::after,
  .wd-add-btn-replace .ajax_add_to_cart.added::before,
  .wd-add-btn-replace .ajax_add_to_cart.added::after {
    display: none !important;
    content: none !important;
    opacity: 0 !important;
    animation: none !important;
    transition: none !important;
  }

  .product-grid-item .added_to_cart,
  .wd-add-btn .added_to_cart,
  .wd-add-btn-replace .added_to_cart {
    display: none !important;
  }

	  .product-grid-item .add_to_cart_button .wd-action-text,
	  .product-grid-item .ajax_add_to_cart .wd-action-text,
	  .wd-add-btn .add_to_cart_button .wd-action-text,
	  .wd-add-btn .ajax_add_to_cart .wd-action-text,
	  .wd-add-btn-replace .add_to_cart_button .wd-action-text,
	  .wd-add-btn-replace .ajax_add_to_cart .wd-action-text {
	    opacity: 1 !important;
	    visibility: visible !important;
	    transition: none !important;
	    animation: none !important;
	  }

	  .product-grid-item .add_to_cart_button.nw-is-loading,
	  .product-grid-item .ajax_add_to_cart.nw-is-loading,
	  .wd-add-btn .add_to_cart_button.nw-is-loading,
	  .wd-add-btn .ajax_add_to_cart.nw-is-loading,
	  .wd-add-btn-replace .add_to_cart_button.nw-is-loading,
	  .wd-add-btn-replace .ajax_add_to_cart.nw-is-loading {
	    font-size: 0 !important;
	  }

	  .product-grid-item .add_to_cart_button.nw-is-loading::after,
	  .product-grid-item .ajax_add_to_cart.nw-is-loading::after,
	  .wd-add-btn .add_to_cart_button.nw-is-loading::after,
	  .wd-add-btn .ajax_add_to_cart.nw-is-loading::after,
	  .wd-add-btn-replace .add_to_cart_button.nw-is-loading::after,
	  .wd-add-btn-replace .ajax_add_to_cart.nw-is-loading::after {
	    content: attr(data-nw-loading-text) !important;
	    display: inline-flex !important;
	    align-items: center !important;
	    justify-content: center !important;
	    color: var(--nw-beige, #c9a15d) !important;
	    font-size: 12px !important;
	    font-weight: 600 !important;
	    line-height: 1 !important;
	    opacity: 1 !important;
	    visibility: visible !important;
	    animation: none !important;
	    transition: none !important;
	  }
	}

/* MOBILE - aktywna kategoria: bez ramki, zloty licznik produktow */
@media (max-width: 767px) {
  .category-grid-item .wd-cat-count,
  .category-grid-item .wd-cat-count a,
  .category-grid-item .more-products,
  .category-grid-item .more-products a,
  .wd-cats.products .category-grid-item .wd-cat-count,
  .wd-cats.products .category-grid-item .wd-cat-count a,
  .wd-cats.products .category-grid-item .more-products,
  .wd-cats.products .category-grid-item .more-products a,
  .wd-cats.products.elements-grid .category-grid-item .wd-cat-count,
  .wd-cats.products.elements-grid .category-grid-item .wd-cat-count a,
  .wd-cats.products.elements-grid .category-grid-item .more-products,
  .wd-cats.products.elements-grid .category-grid-item .more-products a {
    color: #111 !important;
  }

  .category-grid-item.nw-cat-active::after,
  .wd-cats.products .category-grid-item.nw-cat-active::after,
  .wd-cats.products.elements-grid .category-grid-item.nw-cat-active::after {
    display: none !important;
    content: none !important;
    border: 0 !important;
  }

  .category-grid-item.nw-cat-active .wd-cat-inner,
  .wd-cats.products .category-grid-item.nw-cat-active .wd-cat-inner,
  .wd-cats.products.elements-grid .category-grid-item.nw-cat-active .wd-cat-inner,
  .category-grid-item.nw-cat-active .wd-cat-thumb,
  .wd-cats.products .category-grid-item.nw-cat-active .wd-cat-thumb {
    border: 0 !important;
    outline: 0 !important;
    box-shadow: none !important;
  }

  .category-grid-item.nw-cat-active .wd-cat-count,
  .category-grid-item.nw-cat-active .wd-cat-count a,
  .category-grid-item.nw-cat-active .more-products,
  .category-grid-item.nw-cat-active .more-products a,
  .wd-cats.products .category-grid-item.nw-cat-active .wd-cat-count a,
  .wd-cats.products.elements-grid .category-grid-item.nw-cat-active .wd-cat-count a {
    color: #d4ba87 !important;
  }
}

/* CHECKOUT —  desktop: styling przycisków w sekcji error (error state) */
@media (min-width: 1025px) {
  /* ZADZWOŃ  —  czarny z z otym tekstem */
  .woocommerce-checkout .nw-cta-phone-btn {
    background: #d4ba87 !important;
    color: #1a1407 !important;
    border: 1px solid #000 !important;
  }
  .woocommerce-checkout .nw-cta-phone-btn:hover {
    background: #111 !important;
    color: #fff !important;
  }
  /* SPRÓBUJ PONOWNIE —  bia y jak styl dost pno ci */
  .woocommerce-checkout .nw-retry-btn {
    background: #fff !important;
    color: #111 !important;
    border: 1px solid #d4ba87 !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    min-height: 48px !important;
  }
  .woocommerce-checkout .nw-retry-btn:hover {
    background: #fcfaf5 !important;
    border-color: #c8aa68 !important;
    color: #111 !important;
  }
  /* WRÓĆ DO STRONY —  z oty link tekstowy poni ej */
  .woocommerce-checkout .nw-cta-return-btn {
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
    color: #d4ba87 !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    min-height: auto !important;
    height: auto !important;
    padding: 6px 0 !important;
    text-decoration: underline !important;
    text-underline-offset: 3px !important;
    margin-top: 4px !important;
    margin-bottom: 0 !important;
  }
  .woocommerce-checkout .nw-cta-return-btn:hover {
    color: #c8aa68 !important;
    background: transparent !important;
  }
}

/* =========================================================
   MOBILE FIXES — przyciski loop + sticky CTA + spinner
   ========================================================= */

/* 1. CAPS na "Dodaj do wyceny" — tylko text-transform, bez font-size (nie nadpisuje font-size:0 z loading state) */
.product-grid-item a.add-to-cart-loop:not(#nw-z),
.product-grid-item .wd-add-btn .add_to_cart_button.add-to-cart-loop:not(#nw-z),
.elements-grid a.add-to-cart-loop:not(#nw-z),
a.add-to-cart-loop:not(#nw-z) {
  text-transform: uppercase !important;
}

/* 2. Zabij spinner (::before) podczas loading na przyciskach loop */
a.add-to-cart-loop.loading:not(#nw-z)::before,
.product-grid-item a.add-to-cart-loop.loading:not(#nw-z)::before,
.wd-add-btn .add_to_cart_button.add-to-cart-loop.loading:not(#nw-z)::before {
  display: none !important;
  content: none !important;
  animation: none !important;
  opacity: 0 !important;
  visibility: hidden !important;
}

/* 3. nw-sticky-cta — złoty tekst, czarne tło, caps */
a.nw-sticky-cta,
.nw-sticky-cta {
  background: #d4ba87 !important;
  color: #1a1407 !important;
  border: 1px solid #d4ba87 !important;
  text-transform: uppercase !important;
  font-size: 12px !important;
  font-weight: 600 !important;
  letter-spacing: 0.05em !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 10px 18px !important;
  min-height: 44px !important;
  white-space: nowrap !important;
  text-decoration: none !important;
}
a.nw-sticky-cta:hover,
.nw-sticky-cta:hover {
  background: #fff !important;
  color: #000 !important;
  border-color: #000 !important;
}

/* =========================================================
   POPUP CLOSE — złote X bez czarnego tła
   ========================================================= */
#nw-popup-v3 .nw-popup-v3__close:not(#nw-z){
  background: transparent !important;
  background-color: transparent !important;
  border: none !important;
  box-shadow: none !important;
  color: #d4ba87 !important;
  /* pozycja — w rogu popupu, lekko wewnątrz */
  top: 6px !important;
  right: 8px !important;
  width: 32px !important;
  height: 32px !important;
  font-size: 22px !important;
  line-height: 32px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 0 !important;
  opacity: 0.85 !important;
}
#nw-popup-v3 .nw-popup-v3__close:not(#nw-z):hover{
  background: transparent !important;
  color: #fff !important;
  opacity: 1 !important;
}

/* =========================================================
   POPUP LOADING STATE — fix podwójnego DODAWANIE
   Reguła #nw-popup-v3 .buy-wrap .button { color: var(--nw-beige) }
   ma spec (1,2,1) i bije patches-all.txt (0,3,0).
   :not(#nw-z) daje (2,3,1) → wygrywa.
   ========================================================= */
#nw-popup-v3 .nw-popup-v3__buy-wrap .add_to_cart_button.loading:not(#nw-z),
#nw-popup-v3 .nw-popup-v3__buy-wrap .button.loading:not(#nw-z){
  color: transparent !important;
  font-size: 0 !important;
  background: #c9a84c !important; /* (audyt 2026-06-25): bylo #1b1b19 CZARNE — loading popupu bundle. Ciemniejsze zloto = feedback bez czerni (spinner zostaje przez transparent text). */
  background-color: #c9a84c !important;
}

/* (audyt 2026-06-25): KARTY "Dodaj do wyceny" w popupie bundle PO KLIKNIECIU robily sie ciemne
   (WoodMart dokladal .loading/.added -> ciemne tlo). Regula loading wyzej lapie tylko .buy-wrap, nie karty.
   Lock: karta a.add_to_cart_button w popupie zostaje ZLOTA w KAZDYM stanie (base/hover/focus/loading/added).
   ID-spec (#id + :not(#nw-z)) bije WoodMart i master. Loading = ciemniejsze zloto (feedback) zamiast czerni. */
/* (audyt 2026-06-25): KARTY popupu — CZYSTE ZLOTO #d4ba87 w KAZDYM stanie (base/hover/focus/loading/added).
   Koniec brudnego oliwkowego (#c9a84c) i kreskowanej obwodki focus (to bylo zglaszane jako „czarne przyciski").
   Potwierdzenie dodania = zielony ✓ obok napisu + zielony tekst „Dodano do wyceny" (z JS). */
#nw-popup-v3 a.add_to_cart_button:not(#nw-z),
#nw-popup-v3 a.add_to_cart_button.added:not(#nw-z),
#nw-popup-v3 a.add_to_cart_button:focus:not(#nw-z),
#nw-popup-v3 a.add_to_cart_button:hover:not(#nw-z),
#nw-popup-v3 a.add_to_cart_button.loading:not(#nw-z),
#nw-popup-r1 a.add_to_cart_button:not(#nw-z),
#nw-popup-r1 a.add_to_cart_button.added:not(#nw-z),
#nw-popup-r1 a.add_to_cart_button:focus:not(#nw-z),
#nw-popup-r1 a.add_to_cart_button:hover:not(#nw-z),
#nw-popup-r1 a.add_to_cart_button.loading:not(#nw-z) {
  background: #d4ba87 !important;
  background-color: #d4ba87 !important;
  border-color: #d4ba87 !important;
  color: #1a1407 !important;
  -webkit-text-fill-color: #1a1407 !important;
  outline: none !important;
  box-shadow: none !important;
}
#nw-popup-v3 a.add_to_cart_button.added:not(#nw-z)::after,
#nw-popup-r1 a.add_to_cart_button.added:not(#nw-z)::after {
  content: " ✓" !important;
  color: #2f7d32 !important;
  -webkit-text-fill-color: #2f7d32 !important;
}

body.woocommerce-cart .main-page-wrapper {
  padding-top: 0 !important;
}

body.woocommerce-cart .wd-page-title {
  margin-top: 0 !important;
  padding-top: 0 !important;
}


/* ---------------------------------------------------------
   KONFIGURATOR (page_id=31488): tytuł banera + pełna szerokość + bez sidebara
   --------------------------------------------------------- */
body.page-id-31488 .page-title::after,
body.page-id-31488 .wd-page-title::after {
  content: "Wyceń" !important; /* (audyt 2026-06-24) bylo „Konfigurator" — spojnosc z menu „WYCEŃ" i bannerem Oferty */
}
/* pełna szerokość — usuń prawy sidebar */
body.page-id-31488 .wd-sidebar,
body.page-id-31488 .sidebar-container,
body.page-id-31488 .widget-area,
body.page-id-31488 #secondary,
body.page-id-31488 .col-lg-3.sidebar,
body.page-id-31488 .wd-col-sidebar {
  display: none !important;
}
body.page-id-31488 .content-area,
body.page-id-31488 .wd-content-area,
body.page-id-31488 .site-content .content-area,
body.page-id-31488 main#main-content {
  width: 100% !important;
  max-width: 100% !important;
  flex: 0 0 100% !important;
}

/* (audyt) Konfigurator (31488): pełna szerokość + wyśrodkowanie (sidebar off) */
body.page-id-31488 .wd-sidebar,
body.page-id-31488 .sidebar-container,
body.page-id-31488 .widget-area,
body.page-id-31488 #secondary { display:none !important; }

body.page-id-31488 [class*="col-lg-"],
body.page-id-31488 [class*="col-md-"],
body.page-id-31488 .wd-col-content,
body.page-id-31488 .content-area,
body.page-id-31488 .wd-content-area,
body.page-id-31488 main#main-content,
body.page-id-31488 .wd-page-content,
body.page-id-31488 article.page,
body.page-id-31488 .entry-content,
body.page-id-31488 .elementor,
body.page-id-31488 .e-con,
body.page-id-31488 .e-con-inner {
  flex: 0 0 100% !important;
  max-width: 100% !important;
  width: 100% !important;
  float: none !important;
  margin-left: auto !important;
  margin-right: auto !important;
}
body.page-id-31488 .row { justify-content: center !important; }
body.page-id-31488 .nw-kf { margin-left:auto !important; margin-right:auto !important; }


/* (audyt) KONFIGURATOR (31488) — GRID-OVERRIDE 31488: pełna szerokość w siatce WoodMart */
/* Treść: wymuś span 12 kolumn (inline ma --wd-col-lg:9); sidebar: ukryj. */
body.page-id-31488 .wd-sidebar.sidebar-container,
body.page-id-31488 aside.wd-sidebar { display:none !important; }
body.page-id-31488 .wd-content-area.wd-grid-col {
  --wd-col-lg: 12 !important;
  --wd-col-md: 12 !important;
  --wd-col-sm: 12 !important;
  grid-column: 1 / -1 !important;
  max-width: 100% !important;
  width: 100% !important;
}
body.page-id-31488 main#main-content { --wd-col-lg: 12 !important; }

/* =========================================================
   MOJE KONTO — spojny styl z brandem (logowanie/rejestracja/zakladki/zamowienia)
   Przyciski dziedzicza wspolny styl z globalnej reguly button. Brak markup w CSS.
   ========================================================= */
body.woocommerce-account .woocommerce { max-width: var(--nw-content-max) !important; margin: 0 auto !important; padding: 76px 20px 0 !important; }
@media (max-width: 768px) { body.woocommerce-account .woocommerce { padding-top: 48px !important; } }

/* Nawigacja konta (zakladki) */
body.woocommerce-account .woocommerce-MyAccount-navigation ul { list-style: none !important; margin: 0 0 26px !important; padding: 0 !important; border: 1px solid var(--nw-border) !important; border-radius: 10px !important; overflow: hidden !important; }
body.woocommerce-account .woocommerce-MyAccount-navigation li { margin: 0 !important; border-bottom: 1px solid var(--nw-border-soft) !important; }
body.woocommerce-account .woocommerce-MyAccount-navigation li:last-child { border-bottom: 0 !important; }
body.woocommerce-account .woocommerce-MyAccount-navigation li a { display: block !important; padding: 13px 18px !important; color: var(--nw-text) !important; font-weight: 600 !important; text-decoration: none !important; transition: background .15s, color .15s !important; }
body.woocommerce-account .woocommerce-MyAccount-navigation li a:hover { background: var(--nw-gold-fade) !important; color: var(--nw-text) !important; }
/* (audyt 2026-07-20) zloto zamiast czerni — spojnie z blokiem ID-spec nizej (ten wygrywa, ale trzymamy jedna wersje prawdy) */
body.woocommerce-account .woocommerce-MyAccount-navigation li.is-active a { background: var(--nw-gold) !important; color: #1a1407 !important; }
/* (audyt) Ukryj „Pobrania" (downloads) — backup CSS, gdyby filtr PHP woocommerce_account_menu_items nie byl wgrany.
   Dziala w dropdownie konta w headerze ORAZ w nawigacji „Moje konto". */
.wd-dropdown-my-account .wd-sub-menu li.woocommerce-MyAccount-navigation-link--downloads,
.wd-dropdown-my-account .wd-sub-menu li:has(> a[href*="downloads"]),
body.woocommerce-account .woocommerce-MyAccount-navigation li.woocommerce-MyAccount-navigation-link--downloads,
body.woocommerce-account .woocommerce-MyAccount-navigation li:has(> a[href*="downloads"]) { display: none !important; }
.wd-dropdown-my-account .wd-sub-menu li a[href*="downloads"] { display: none !important; } /* fallback bez :has() */

/* Pola formularzy — jak na stronie rezerwacji, zaokraglone 6px */
body.woocommerce-account input[type="text"],
body.woocommerce-account input[type="email"],
body.woocommerce-account input[type="password"],
body.woocommerce-account input[type="tel"],
body.woocommerce-account input[type="number"],
body.woocommerce-account select,
body.woocommerce-account textarea {
  width: 100% !important; min-height: 52px !important; padding: 12px 16px !important;
  font-size: 16px !important; color: #111 !important; background: #fff !important;
  border: 1px solid #dcdcdc !important; border-radius: 6px !important; box-shadow: none !important; box-sizing: border-box !important;
}
body.woocommerce-account input:focus, body.woocommerce-account select:focus, body.woocommerce-account textarea:focus { border-color: var(--nw-beige) !important; outline: none !important; }
body.woocommerce-account label { font-weight: 600 !important; color: var(--nw-text) !important; margin-bottom: 6px !important; display: inline-block !important; }

/* Karty: logowanie / rejestracja / edycja konta / adresy / reset hasla */
body.woocommerce-account .u-columns { display: flex !important; flex-wrap: wrap !important; gap: 24px !important; }
body.woocommerce-account .u-columns > div, body.woocommerce-account .u-column1, body.woocommerce-account .u-column2 { flex: 1 1 320px !important; }
body.woocommerce-account form.login,
body.woocommerce-account form.register,
body.woocommerce-account .woocommerce-EditAccountForm,
body.woocommerce-account .woocommerce-address-fields,
body.woocommerce-account form.woocommerce-ResetPassword {
  border: 1px solid var(--nw-border) !important; border-radius: 12px !important; padding: 24px !important; background: #fff !important;
}
body.woocommerce-account .woocommerce-MyAccount-content h2,
body.woocommerce-account .woocommerce-MyAccount-content h3,
body.woocommerce-account .col-1 h2, body.woocommerce-account .col-2 h2 { color: var(--nw-text) !important; }

/* Tabele zamowien / pobran / adresow */
body.woocommerce-account .woocommerce-MyAccount-content,
body.woocommerce-account .woocommerce-orders-table,
body.woocommerce-account table.shop_table,
body.woocommerce-account table.shop_table tbody,
body.woocommerce-account table.shop_table tr { background: #fff !important; color: var(--nw-text) !important; }
body.woocommerce-account table.shop_table { border: 1px solid var(--nw-border) !important; border-radius: 10px !important; border-collapse: separate !important; border-spacing: 0 !important; overflow: hidden !important; }
body.woocommerce-account table.shop_table th { background: #f7f3ea !important; color: #6f5520 !important; font-weight: 600 !important; text-transform: uppercase !important; letter-spacing: .03em !important; font-size: 12px !important; padding: 12px 14px !important; border: 0 !important; }
body.woocommerce-account table.shop_table td { background: #fff !important; color: var(--nw-text) !important; padding: 12px 14px !important; border-top: 1px solid var(--nw-border-soft) !important; }
body.woocommerce-account table.shop_table a:not(.button) { color: #8a6d2f !important; }

/* Komunikaty */
body.woocommerce-account .woocommerce-message,
body.woocommerce-account .woocommerce-info {
  background: #faf6ec !important;
  color: var(--nw-text) !important;
  border: 1px solid var(--nw-border) !important;
  border-left: 3px solid var(--nw-beige) !important;
  border-radius: 8px !important;
  box-shadow: none !important;
}
body.woocommerce-account .woocommerce-message::before,
body.woocommerce-account .woocommerce-info::before { color: var(--nw-beige) !important; }
body.woocommerce-account .woocommerce-error {
  background: #fdecea !important;
  color: #a3342b !important;
  border: 1px solid #f3c5bf !important;
  border-left: 3px solid #c0392b !important;
  border-radius: 8px !important;
  box-shadow: none !important;
}
@media (max-width: 768px) { body.woocommerce-account .u-columns { gap: 16px !important; } }

/* =========================================================
   ZAMOWIENIA (lista) + PODGLAD ZAMOWIENIA — jasny styl.
   Czern motywu WoodMart wygrywala specyficznoscia; tu mocniejszy override
   (.woocommerce-MyAccount-content + klasa tabeli) + pozycja na koncu pliku.
   ========================================================= */
body.woocommerce-account .woocommerce-MyAccount-content table.woocommerce-orders-table,
body.woocommerce-account .woocommerce-MyAccount-content table.woocommerce-orders-table tbody,
body.woocommerce-account .woocommerce-MyAccount-content table.woocommerce-orders-table tr,
body.woocommerce-account .woocommerce-MyAccount-content table.woocommerce-table--order-details,
body.woocommerce-account .woocommerce-MyAccount-content table.woocommerce-table--order-details tbody,
body.woocommerce-account .woocommerce-MyAccount-content table.woocommerce-table--order-details tfoot,
body.woocommerce-account .woocommerce-MyAccount-content table.order_details,
body.woocommerce-account .woocommerce-MyAccount-content table.order_details tbody,
body.woocommerce-account .woocommerce-MyAccount-content table.order_details tfoot {
  background: #fff !important; border-collapse: separate !important; border-spacing: 0 !important;
}
/* Naglowki kolumn + etykiety podsumowania (SUMA PRODUKTOW, MONTAZ...) — kremowe, nie czarne */
body.woocommerce-account .woocommerce-MyAccount-content table.woocommerce-orders-table thead th,
body.woocommerce-account .woocommerce-MyAccount-content table.woocommerce-table--order-details thead th,
body.woocommerce-account .woocommerce-MyAccount-content table.woocommerce-table--order-details tfoot th,
body.woocommerce-account .woocommerce-MyAccount-content table.order_details thead th,
body.woocommerce-account .woocommerce-MyAccount-content table.order_details tfoot th {
  background: #f7f3ea !important; color: #6f5520 !important; border: 0 !important;
  border-top: 1px solid var(--nw-border-soft) !important;
}
/* Komorki danych — biale, ciemny tekst */
body.woocommerce-account .woocommerce-MyAccount-content table.woocommerce-orders-table tbody td,
body.woocommerce-account .woocommerce-MyAccount-content table.woocommerce-table--order-details tbody td,
body.woocommerce-account .woocommerce-MyAccount-content table.woocommerce-table--order-details tfoot td,
body.woocommerce-account .woocommerce-MyAccount-content table.order_details tbody td,
body.woocommerce-account .woocommerce-MyAccount-content table.order_details tfoot td {
  background: #fff !important; color: var(--nw-text) !important;
  border-top: 1px solid var(--nw-border-soft) !important;
}
/* Kwoty — zloto marki */
body.woocommerce-account .woocommerce-MyAccount-content table .amount,
body.woocommerce-account .woocommerce-MyAccount-content table .woocommerce-Price-amount { color: #8a6d2f !important; }

/* =========================================================
   PRZYCISKI-LINKI (element a) i ELEMENTOR — wspolny KSZTALT + typografia.
   Globalna regula button lapie tylko element button oraz .btn/.button — CTA budowane jako linki
   (Wypozycz, Zobacz regulamin, FAQ, galeria) trzeba wyrownac osobno. Kolory zostaja per wariant.
   ========================================================= */
.elementor-button,
a.elementor-button,
.elementor-button-link,
.website-wrapper .elementor-button,
.elementor-widget-button .elementor-button,
.home a.nw-shop-cta-btn,
.nw-gallery-tab,
.nw-gallery-bundle-btn,
.nw-gallery-main-link.button {
  border-radius: 8px !important;
  text-transform: uppercase !important;
  font-weight: 600 !important;
  letter-spacing: .04em !important;
}


/* =========================================================
   STEPER +/- — SPÓJNY NA CAŁEJ STRONIE (złoty, jak konfigurator). 2026-06-22 / 2026-06-23.
   Eleganckie złote glify +/- BEZ kółka (transparentne) + kwadrat z liczbą (złoty zaokrąglony box). Override na końcu pliku (wygrywa pozycją).
   Pokrywa produkt prosty + koszyk + mini-koszyk. (Bundle na stronie produktu ma własny zwarty layout —
   dziedziczy złote kolory, ale kształt może zostać kwadratowy; w razie potrzeby osobny pass.)
   ========================================================= */
.quantity {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 0 !important;
  width: auto !important; min-width: 0 !important; max-width: none !important;
  height: auto !important; min-height: 0 !important;
  overflow: hidden !important;
  background: #fff !important;
  border: 1.5px solid #d4ba87 !important;
  border-radius: 10px !important;
  grid-template-columns: none !important;
}
/* +/- bez kółka: eleganckie złote glify, transparentne, obok kwadratu z liczbą. 2026-06-23. */
.quantity .minus, .quantity .plus,
.quantity > .minus, .quantity > .plus {
  flex: 0 0 36px !important;
  width: 36px !important; min-width: 36px !important; max-width: 36px !important;
  height: 42px !important; min-height: 42px !important; max-height: 42px !important;
  border-radius: 0 !important;
  background: transparent !important;
  border: 0 !important;
  color: #d4ba87 !important;
  font-size: 24px !important; font-weight: 400 !important; line-height: 1 !important;
  display: inline-flex !important; align-items: center !important; justify-content: center !important;
  padding: 0 !important; margin: 0 !important; box-shadow: none !important;
  text-transform: none !important; letter-spacing: 0 !important;
  transition: color .15s ease, opacity .15s ease !important;
}
.quantity .plus, .quantity > .plus { background: transparent !important; }
.quantity .minus:hover, .quantity .plus:hover,
.quantity > .minus:hover, .quantity > .plus:hover { color: #d4af37 !important; background: rgba(201,168,76,.12) !important; }
.quantity .qty, .quantity > .qty {
  flex: 0 0 38px !important;
  width: 38px !important; min-width: 38px !important; max-width: 38px !important;
  height: 42px !important; min-height: 42px !important; line-height: 42px !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important; color: #111 !important;
  text-align: center !important; font-size: 16px !important; font-weight: 600 !important;
  box-shadow: none !important; padding: 0 !important;
  appearance: textfield !important; -moz-appearance: textfield !important;
}
.quantity .qty::-webkit-outer-spin-button, .quantity .qty::-webkit-inner-spin-button,
.quantity > .qty::-webkit-outer-spin-button, .quantity > .qty::-webkit-inner-spin-button {
  -webkit-appearance: none !important; margin: 0 !important;
}


/* =========================================================
   BUNDLE (strona produktu) — stepper na ZŁOTE KÓŁKA (dopasowanie do reszty strony). 2026-06-22.
   Matchuje długi selektor bundle (ta sama specyficzność) + pozycja na końcu = wygrywa.
   WYMAGA przeglądu wizualnego na stronie produktu-zestawu (ciasny layout, stałe wysokości).
   ========================================================= */
body.single-product form.cart.cart_group.bundle_form.layout_default.group_mode_parent.small_width .bundled_product .quantity {
  display: inline-flex !important; align-items: center !important; justify-content: center !important;
  gap: 0 !important; width: auto !important; min-width: 0 !important; max-width: none !important;
  overflow: hidden !important; grid-template-columns: none !important;
  border: 1.5px solid #d4ba87 !important; border-radius: 10px !important; background: #fff !important;
}
body.single-product form.cart.cart_group.bundle_form.layout_default.group_mode_parent.small_width .bundled_product .quantity > .minus,
body.single-product form.cart.cart_group.bundle_form.layout_default.group_mode_parent.small_width .bundled_product .quantity > .plus {
  flex: 0 0 28px !important; width: 28px !important; min-width: 28px !important; max-width: 28px !important;
  height: 38px !important; min-height: 38px !important; max-height: 38px !important; line-height: 1 !important;
  border-radius: 0 !important; border: 0 !important;
  background: transparent !important; color: #d4ba87 !important;
  display: inline-flex !important; align-items: center !important; justify-content: center !important;
  font-size: 22px !important; font-weight: 400 !important; padding: 0 !important; margin: 0 !important; box-shadow: none !important;
}
body.single-product form.cart.cart_group.bundle_form.layout_default.group_mode_parent.small_width .bundled_product .quantity > .plus { background: transparent !important; }
body.single-product form.cart.cart_group.bundle_form.layout_default.group_mode_parent.small_width .bundled_product .quantity > .minus:hover,
body.single-product form.cart.cart_group.bundle_form.layout_default.group_mode_parent.small_width .bundled_product .quantity > .plus:hover { color: #d4af37 !important; background: rgba(201,168,76,.12) !important; }
body.single-product form.cart.cart_group.bundle_form.layout_default.group_mode_parent.small_width .bundled_product .quantity > .qty {
  flex: 0 0 34px !important; width: 34px !important; min-width: 34px !important; max-width: 34px !important;
  height: 38px !important; min-height: 38px !important; line-height: 38px !important;
  border: 0 !important; border-radius: 0 !important;
  background: transparent !important; color: #111 !important;
  text-align: center !important; font-size: 14px !important; font-weight: 600 !important; box-shadow: none !important; padding: 0 !important;
}


/* =========================================================
   KOSZYK BOCZNY WoodMart — BEZ przygaszania ekranu. 2026-06-22.
   Overlay (.wd-close-side.wd-close-side-opened i warianty) przezroczysty: drawer dalej się wsuwa,
   klik poza koszykiem nadal zamyka (warstwa zostaje, tylko bez ciemnego tła/blura).
   Popup dodatków v3 ma WŁASNY overlay (.nw-popup-v3__overlay) — jego przyciemnienie zostaje.
   Niezależne od snippetu 02 (czysty CSS) — działa nawet bez wgrania PHP.
   ========================================================= */
.wd-close-side,
.wd-close-side.wd-fill,
.wd-close-side.wd-close-side-opened,
.wd-overlay,
.wd-overlay.wd-opened,
.woodmart-cart-overlay,
.wd-cart-design-overlay {
  background: transparent !important;
  background-color: transparent !important;
  -webkit-backdrop-filter: none !important;
  backdrop-filter: none !important;
  box-shadow: none !important;
}
.wd-close-side::before,
.wd-close-side::after,
.wd-overlay::before,
.wd-overlay::after {
  background: transparent !important;
  -webkit-backdrop-filter: none !important;
  backdrop-filter: none !important;
}


/* =========================================================
   OPINIE GOOGLE [nw_opinie] — externalizacja inline-stylów ze snippetu 09 (lżejszy HTML, lepszy cache). 2026-06-22.
   ========================================================= */
.nw-opinie-section{background:#111;padding:64px 0;}
/* (audyt 2026-06-27) OPINIE na WYCEŃ i OFERCIE = JASNE (user: „bez czarnego tla, tak samo w ofercie").
   Sekcja dziedziczy krem strony, karty biale, tekst ciemny; strzalki ciemniejsze zloto (na jasnym tle). */
body:is(.page-id-31488, .woocommerce-shop, .post-type-archive-product, .tax-product_cat) .nw-opinie-section{background:transparent !important;padding:20px 0 56px;}
body:is(.page-id-31488, .woocommerce-shop, .post-type-archive-product, .tax-product_cat) .nw-opinie-header p{color:#6f6f6f !important;}
body:is(.page-id-31488, .woocommerce-shop, .post-type-archive-product, .tax-product_cat) .nw-opinia-card{background:#fff !important;border:1px solid rgba(212,186,135,.35) !important;box-shadow:0 8px 24px rgba(0,0,0,.05) !important;}
body:is(.page-id-31488, .woocommerce-shop, .post-type-archive-product, .tax-product_cat) .nw-opinia-card:hover{border-color:#d4ba87 !important;}
body:is(.page-id-31488, .woocommerce-shop, .post-type-archive-product, .tax-product_cat) .nw-opinia-meta strong{color:#111 !important;}
body:is(.page-id-31488, .woocommerce-shop, .post-type-archive-product, .tax-product_cat) .nw-opinia-text{color:#444 !important;}
body:is(.page-id-31488, .woocommerce-shop, .post-type-archive-product, .tax-product_cat) .nw-opinie-more a{color:#b8923a !important;border-bottom:0 !important;}
/* (2026-07-02, user) na jasnych stronach strzalki opinii = SAME CZARNE (bez kolka, bez cienia) */
html body:is(.page-id-31488, .woocommerce-shop, .post-type-archive-product, .tax-product_cat) .nw-opinie-arrow:not(#nw-z){color:#c9a84c !important;text-shadow:none !important;filter:none !important;} /* (2026-07-03 v2, user: ZLOTE takze na Wycen/Ofercie — ciemniejsze zloto na kremie */
html body:is(.page-id-31488, .woocommerce-shop, .post-type-archive-product, .tax-product_cat) .nw-opinie-arrow:not(#nw-z):hover{color:#b8923a !important;}
.nw-opinie-outer{max-width:1240px;margin:0 auto;padding:0 24px;position:relative;z-index:2;}
.nw-opinie-header{text-align:center;margin-bottom:32px;}
.nw-opinie-header h2{color:#fff;font-size:28px;font-weight:600;margin:0 0 8px;}
.nw-opinie-header p{color:#999;font-size:15px;margin:0;}
.nw-opinie-carousel{position:relative;padding:0 68px;} /* (audyt 2026-06-27) wiecej miejsca na bokach na wieksze strzalki */
.nw-opinie-track-wrap{overflow:hidden;}
.nw-opinie-track{display:flex;gap:24px;align-items:stretch;transition:transform .35s ease;will-change:transform;}
.nw-opinie-track > .nw-opinia-card{flex:0 0 calc((100% - 48px)/3);}
@media(max-width:991px){.nw-opinie-track > .nw-opinia-card{flex-basis:calc((100% - 24px)/2);}}
@media(max-width:600px){.nw-opinie-track > .nw-opinia-card{flex-basis:100%;}}
/* (2026-07-02 v2, decyzja usera) Strzalki opinii: BEZ kolka — SAMA zlota strzalka, odrobine wyzej (top 42%).
   Widocznosc na ciemnym tle daje cien; na jasnych stronach wariant nizej. */
.nw-opinie-arrow{position:absolute;top:42%;transform:translateY(-50%);z-index:6;width:52px !important;height:64px !important;min-width:0 !important;background:transparent !important;color:#f0d69f !important;border:0 !important;border-radius:0 !important;cursor:pointer;line-height:1;display:flex !important;align-items:center !important;justify-content:center !important;box-shadow:none !important;padding:0 !important;text-transform:none !important;letter-spacing:0 !important;filter:none;transition:color .2s ease,opacity .2s ease;} /* (2026-07-03, user: strzalki bez cienia) */ /* (2026-07-03) GRUBE chevrony SVG zamiast cienkich glifow (user: nadal nie widac strzalek) */
.nw-opinie-arrow:hover{color:#ffe3a6 !important;background:transparent !important;}
.nw-opinie-arrow:disabled{opacity:.8;cursor:default;} /* (2026-07-03 v2) user: nieaktywna wciaz za ciemna na czerni — .8 */
.nw-opinie-prev{left:0;} .nw-opinie-next{right:0;}
@media(max-width:600px){.nw-opinie-carousel{padding:0 40px;} .nw-opinie-arrow{width:40px !important;height:52px !important;font-size:34px !important;}}
.nw-opinia-card{background:#171717;border:1px solid rgba(212,186,135,.10);border-radius:12px;padding:22px; /* (audyt 2026-06-25): radius 14->12 (kanon kart). Uwaga: ten blok = wariant KARUZELA; jasne tlo/12px i tak wymusza blok SIATKI @2307 przez !important (martwy w DOM, ale porywa karte) */display:flex;flex-direction:column;gap:12px;transition:border-color .3s ease;box-sizing:border-box;height:312px;overflow:hidden;}
.nw-opinia-card:hover{border-color:#d4ba87;}
.nw-opinia-top{display:flex;align-items:center;gap:12px;}
.nw-opinia-avatar{width:44px;height:44px;border-radius:50%;background:#d4ba87;color:#1a1a1a;display:flex;align-items:center;justify-content:center;font-weight:600;font-size:18px;flex-shrink:0;overflow:hidden;}
.nw-opinia-avatar img{width:100%;height:100%;object-fit:cover;border-radius:50%;}
.nw-opinia-meta{display:flex;flex-direction:column;gap:1px;}
.nw-opinia-meta strong{color:#fff;font-size:15px;font-weight:600;}
.nw-opinia-meta span{color:#777;font-size:12px;}
.nw-opinia-stars{color:#fbbc04;font-size:16px;letter-spacing:1px;line-height:1;}
.nw-opinia-text{color:#bbb;font-size:14px;line-height:1.65;margin:0;flex:1 1 auto;min-height:0;overflow-y:auto;padding-right:8px;scrollbar-width:thin;scrollbar-color:rgba(212,186,135,.5) transparent;}
.nw-opinia-text::-webkit-scrollbar{width:6px;}
.nw-opinia-text::-webkit-scrollbar-thumb{background:rgba(212,186,135,.45);border-radius:3px;}
.nw-opinia-text::-webkit-scrollbar-track{background:transparent;}

/* =========================================================
   ZAUFALI NAM [nw_zaufali] — styl strony głównej (większy nagłówek, spójna typografia). Externalizowane. 2026-06-22.
   ========================================================= */
.nw-zaufali{padding:24px 0 60px;} /* (audyt 2026-07-07, user „zaufali troche wyzej") mniej odstepu gory (64->24) */
.nw-zaufali-inner{max-width:var(--nw-content-max,1240px);margin:0 auto;padding:0 var(--nw-content-side,20px);text-align:center;}
.nw-zaufali-eyebrow{margin:0 0 10px;font-size:13px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--nw-beige,#d4ba87);}
.nw-zaufali-title{margin:0 0 14px;font-size:36px;line-height:1.15;font-weight:400;color:var(--nw-gold,#d4ba87);font-family:'DM Serif Display',Georgia,serif;}
.nw-zaufali-sub{max-width:640px;margin:0 auto 40px;font-size:16px;line-height:1.55;color:#6f6f6f;}
/* (2026-07-03, user: "biale tlo w niektorych slabo wyglada — dac w bialym polu zaokraglonym?")
   KAZDE logo w JEDNAKOWEJ bialej zaokraglonej karcie: biale tla logotypow (Warszawa/Performance/TAMEX)
   wtapiaja sie w karte, przezroczyste sa wysrodkowane — sekcja spojna niezaleznie od tla pliku.
   „male powiekszyc" -> max-height 74px + max-width 82% wypelnia karte lepiej niz dawne 62px. */
.nw-zaufali-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;align-items:stretch;justify-items:stretch;max-width:960px;margin:0 auto;}
/* (2026-07-11, user "nazwy firm w kaflach, bez logo") kafle TEKSTOWE: min-height 132->96 (132 bylo pod loga; przywrocic przy powrocie logo po zgodach) */
.nw-zaufali-item{display:flex;align-items:center;justify-content:center;width:100%;min-height:96px;padding:20px 24px;background:#fff;border:1px solid rgba(212,186,135,.28);border-radius:14px;box-shadow:0 6px 20px rgba(0,0,0,.05);transition:box-shadow .25s ease,transform .25s ease;}
.nw-zaufali-item img{max-height:74px;max-width:82%;height:auto;width:auto;object-fit:contain;opacity:1;}
/* (2026-07-03, user: "warszawa/karcher/tamex/performance za male") — te pliki maja duzo pustego
   marginesu w SRODKU (kwadratowy/wysoki canvas), wiec przy wspolnym limicie logo wychodzi male.
   CSS nie przytnie wew. whitespace, ale mozna te konkretne skalowac wyzej, by wypelnily karte. */
/* (audyt 2026-07-10, user "zaufali nam ... wszystkie tej samej wielkosci") powiekszanie wybranych marek USUNIETE — jednolity rozmiar */
.nw-zaufali-item img[alt="Miasto Stołeczne Warszawa"],
.nw-zaufali-item img[alt="Kärcher"],
.nw-zaufali-item img[alt="TAMEX Obiekty Sportowe"],
.nw-zaufali-item img[alt="Performance Media"]{max-height:74px;max-width:82%;}
.nw-zaufali-item:hover{box-shadow:0 12px 30px rgba(0,0,0,.09);transform:translateY(-2px);}
@media(max-width:600px){.nw-zaufali-grid{grid-template-columns:repeat(2,1fr) !important;gap:16px;}.nw-zaufali-item{min-height:76px;padding:14px 14px;}.nw-zaufali-name{font-size:13px;}.nw-zaufali-item img,.nw-zaufali-item img[alt="Miasto Stołeczne Warszawa"],.nw-zaufali-item img[alt="Kärcher"],.nw-zaufali-item img[alt="TAMEX Obiekty Sportowe"],.nw-zaufali-item img[alt="Performance Media"]{max-height:56px;max-width:82%;}} /* (2026-07-11) mobile kafle tekstowe: 104->76 + font 13px (reguly img zostaja na powrot logo) */
.nw-zaufali-name{font-family:'Poppins',sans-serif;font-size:15px;font-weight:600;letter-spacing:.02em;color:#4a4a4a;text-align:center;line-height:1.35;} /* (2026-07-11) kafle tekstowe: Poppins jak etykiety */
@media(max-width:991px){.nw-zaufali-grid{grid-template-columns:repeat(3,1fr);}}
@media(max-width:560px){.nw-zaufali-title{font-size:26px;}} /* (2026-07-03) stare per-logo height/min-height USUNIETE — kolidowaly z kartami (mobile obsluguje regula @600 wyzej) */


/* =========================================================
   PRZYCISKI DO KANONU — zaokrąglenie 6px dla tych, które były ostre. 2026-06-22.
   ========================================================= */
.nw-faq-regulations-btn,
.nw-secondary-submit,
.woocommerce-checkout .nw-secondary-submit,
button[name="nw_reservation_submit"],
.nw-konfig-cta,
a.nw-konfig-cta { border-radius: 8px !important; }


/* =========================================================
   STEPPER WC — wyzsza specyficznosc (single-product/cart) + mniejszy 38px. 2026-06-22.
   Powod: ogolny .quantity (1 klasa) przegrywal z gridem WoodMart -> owale. Tu 3 klasy + pozycja na koncu.
   DO WERYFIKACJI WIZUALNEJ (zalezne od DOM) — produkt prosty / koszyk / checkout.
   ========================================================= */
.woocommerce .quantity, .single-product .quantity, form.cart .quantity, .cart .quantity, .woocommerce-cart .quantity {
  display: inline-flex !important; align-items: center !important; justify-content: center !important; gap: 0 !important;
  width: auto !important; min-width: 0 !important; max-width: none !important; height: auto !important; min-height: 0 !important;
  overflow: hidden !important; grid-template-columns: none !important;
  border: 1.5px solid #d4ba87 !important; border-radius: 10px !important; background: #fff !important;
}
.woocommerce .quantity .minus, .woocommerce .quantity .plus,
.single-product .quantity .minus, .single-product .quantity .plus,
form.cart .quantity .minus, form.cart .quantity .plus,
.cart .quantity .minus, .cart .quantity .plus,
.woocommerce-cart .quantity .minus, .woocommerce-cart .quantity .plus {
  flex: 0 0 36px !important; width: 36px !important; min-width: 36px !important; max-width: 36px !important;
  height: 40px !important; min-height: 40px !important; max-height: 40px !important; box-sizing: border-box !important;
  border-radius: 0 !important; border: 0 !important; background: transparent !important; color: #d4ba87 !important;
  display: inline-flex !important; align-items: center !important; justify-content: center !important;
  font-size: 22px !important; font-weight: 400 !important; line-height: 1 !important; padding: 0 !important; margin: 0 !important; box-shadow: none !important; text-transform: none !important;
  transition: color .15s ease, opacity .15s ease !important;
}
.woocommerce .quantity .plus, .single-product .quantity .plus, form.cart .quantity .plus, .cart .quantity .plus, .woocommerce-cart .quantity .plus { background: transparent !important; }
.woocommerce .quantity .minus:hover, .woocommerce .quantity .plus:hover,
.single-product .quantity .minus:hover, .single-product .quantity .plus:hover,
form.cart .quantity .minus:hover, form.cart .quantity .plus:hover,
.cart .quantity .minus:hover, .cart .quantity .plus:hover,
.woocommerce-cart .quantity .minus:hover, .woocommerce-cart .quantity .plus:hover { color: #d4af37 !important; background: rgba(201,168,76,.12) !important; }
.woocommerce .quantity .qty, .single-product .quantity .qty, form.cart .quantity .qty, .cart .quantity .qty, .woocommerce-cart .quantity .qty {
  flex: 0 0 40px !important; width: 40px !important; min-width: 40px !important; max-width: 40px !important;
  height: 40px !important; min-height: 40px !important; line-height: 40px !important;
  border: 0 !important; border-radius: 0 !important; background: transparent !important; color: #111 !important;
  text-align: center !important; font-size: 15px !important; font-weight: 600 !important; box-shadow: none !important; padding: 0 !important;
}
/* Mini-koszyk (drawer/widget): ".quantity" to TYLKO tekst "1 × 300 zł" — bez ramki/boxa. 2026-06-23. */
.widget_shopping_cart .quantity,
.widget_shopping_cart_content .quantity,
.wd-cart-drawer .quantity,
.wd-dropdown-cart .quantity,
.cart_list .quantity,
ul.cart_list li .quantity,
.wd-mini-cart .quantity {
  display: inline !important;
  border: 0 !important; border-radius: 0 !important; background: transparent !important;
  overflow: visible !important; width: auto !important; min-width: 0 !important; max-width: none !important;
  padding: 0 !important; gap: 0 !important;
}

/* =========================================================
   PRZYCISKI DO KANONU — submit rezerwacji + availability (alternatywy). 2026-06-22.
   Powod: .button.alt (WooCommerce/WoodMart) i .nw-avail-btn wychodzily poza styl marki.
   ========================================================= */
button[name="nw_reservation_submit"],
.woocommerce button.button.alt[name="nw_reservation_submit"],
.nw-avail-btn-primary,
button.nw-avail-btn-primary {
  background: var(--nw-black,#000) !important;
  color: var(--nw-beige,#d4ba87) !important;
  border: 0 !important;
  border-radius: 8px !important;
  text-transform: uppercase !important;
  font-weight: 600 !important;
  letter-spacing: .04em !important;
  box-shadow: none !important;
}
button[name="nw_reservation_submit"]:hover,
.nw-avail-btn-primary:hover {
  background: var(--nw-black-hover,#111) !important;
  color: var(--nw-beige,#d4ba87) !important;
}
.nw-avail-btn-secondary,
button.nw-avail-btn-secondary {
  background: #fff !important;
  color: var(--nw-black,#111) !important;
  border: 1.5px solid var(--nw-gold,#d4ba87) !important;
  border-radius: 8px !important;
  text-transform: uppercase !important;
  font-weight: 600 !important;
  letter-spacing: .04em !important;
  box-shadow: none !important;
}
.nw-avail-btn-secondary:hover {
  background: var(--nw-gold-fade,rgba(212,186,135,.22)) !important;
  color: var(--nw-black,#111) !important;
}

/* =========================================================
   Lista zamówień „Moje konto" — kolumna akcji do prawej.
   Anulowane zamówienie ma sam „Zobacz" — nie zostawia dziury po „Anuluj". 2026-06-22.
   ========================================================= */
.woocommerce-orders-table__cell-order-actions,
.woocommerce-MyAccount-orders .woocommerce-orders-table__cell-order-actions {
  text-align: right !important;
  white-space: nowrap !important;
}
.woocommerce-orders-table__cell-order-actions .button {
  display: inline-block !important;
  vertical-align: middle !important;
  margin: 0 0 0 6px !important;
}

/* =========================================================
   „Wróć do sklepu" (wc-backward) / return-to-shop — kanon wszędzie (dostępność i warianty strony). 2026-06-22.
   ========================================================= */
a.button.wc-backward,
.button.wc-backward,
.return-to-shop a.button,
.woocommerce a.button.wc-backward {
  background-color: #d4ba87 !important;
  border: 1px solid #d4ba87 !important;
  color: #1a1407 !important;
  border-radius: 8px !important;
  text-transform: uppercase !important;
  font-weight: 600 !important;
  letter-spacing: 0.04em !important;
  box-shadow: none !important;
}
a.button.wc-backward:hover,
.button.wc-backward:hover,
.return-to-shop a.button:hover {
  background-color: var(--nw-black-hover,#111) !important;
  color: var(--nw-beige,#d4ba87) !important;
}

/* =========================================================
   Stepper na stronie produktu — WZMOCNIONE (input.minus/.plus + .btn WoodMart). 2026-06-22.
   Wyzsza specyficznosc + aspect-ratio, zeby koła nie wychodziły owalne. DO WERYFIKACJI na zywo po deployu.
   ========================================================= */
.single-product div.product .quantity input.minus,
.single-product div.product .quantity input.plus,
.woocommerce div.product form.cart .quantity input.minus,
.woocommerce div.product form.cart .quantity input.plus,
.woocommerce .quantity input.minus.btn,
.woocommerce .quantity input.plus.btn,
.quantity input.minus.btn,
.quantity input.plus.btn {
  width: 36px !important; height: 40px !important; min-width: 36px !important; max-width: 36px !important;
  flex: 0 0 36px !important; box-sizing: border-box !important;
  padding: 0 !important; margin: 0 !important; border-radius: 0 !important;
  border: 0 !important; background: transparent !important; color: #d4ba87 !important;
  font-size: 22px !important; font-weight: 400 !important; line-height: 1 !important;
  display: inline-flex !important; align-items: center !important; justify-content: center !important;
  box-shadow: none !important; text-transform: none !important;
}
.woocommerce .quantity input.plus.btn, .quantity input.plus.btn { background: transparent !important; }

/* =========================================================
   Badge statusu zamówienia w „Moje konto" (kolory jak panel: 🟢 potwierdzone, 🟡 zadatek, 🔵 wycena, 🔴 anulowane). 2026-06-22.
   ========================================================= */
.nw-ostat{display:inline-block;padding:4px 12px;border-radius:999px;font-size:12px;font-weight:600;letter-spacing:.02em;line-height:1.4;border:1px solid transparent;white-space:nowrap;}
.nw-ostat--processing,.nw-ostat--completed{background:rgba(40,140,70,.12);color:#1f7a43;border-color:rgba(40,140,70,.3);}
.nw-ostat--nw-await-dep,.nw-ostat--on-hold,.nw-ostat--pending{background:rgba(212,186,135,.18);color:#8a6a1f;border-color:rgba(212,186,135,.45);}
.nw-ostat--nw-quote{background:rgba(40,100,180,.12);color:#2456a8;border-color:rgba(40,100,180,.3);}
.nw-ostat--cancelled,.nw-ostat--failed,.nw-ostat--refunded{background:rgba(180,30,40,.10);color:#b00020;border-color:rgba(180,30,40,.3);}

/* „Podsumowanie koszyka" — WYŚRODKOWANE w ramce + lekko niżej (user 2026-06-24). */
.woocommerce .cart_totals > h2,
.cart-collaterals .cart_totals > h2 { margin-top: 8px !important; padding-top: 44px !important; text-align: center !important; } /* (audyt 2026-06-26): tekst nizej (user „nadal przesunac w dol") — 30->44px */
html .woocommerce-cart .cart_totals:not(#nw-z),
html .cart-collaterals .cart_totals:not(#nw-z) { border-radius: 12px !important; overflow: hidden !important; } /* (audyt 2026-06-25): boks Podsumowanie koszyka zaokraglony 12px */
.woocommerce .cart_totals,
.cart-collaterals .cart_totals { text-align: center !important; }
.woocommerce .cart_totals .wc-proceed-to-checkout,
.cart-collaterals .cart_totals .wc-proceed-to-checkout { display: flex !important; justify-content: center !important; }

/* Strona zamówienia (Moje konto) — status line bez szarych boxów (element mark), akcent złoty. 2026-06-22 */
.woocommerce-account .woocommerce-order mark,
.woocommerce-account .woocommerce-order p mark,
.woocommerce-view-order mark { background: transparent !important; color: var(--nw-gold,#d4ba87) !important; font-weight: 600 !important; }

/* =========================================================
   WZMOCNIENIE KANONU — buttony, które WoodMart maluje silniej (specyficzność > kanon). 2026-06-22.
   Dotyczy: shop-loop add-to-cart, „Przejdź do rezerwacji" (checkout), wd-add-btn, submit rezerwacji.
   ========================================================= */
body .woocommerce a.button.add_to_cart_button,
body .woocommerce ul.products li.product a.button.add_to_cart_button,
body a.add_to_cart_button.add-to-cart-loop,
body .wd-add-btn a.button,
body .wd-buy-btn a.button,
body .woocommerce a.button.checkout-button,
body .woocommerce .checkout-button.button.alt,
body span.checkout-button.button,
body button[name="nw_reservation_submit"],
body .woocommerce button[name="nw_reservation_submit"],
body button.button.alt[name="nw_reservation_submit"] {
  background-color: #d4ba87 !important;
  border: 1px solid #d4ba87 !important;
  color: #1a1407 !important;
  -webkit-text-fill-color: #1a1407 !important;
  border-radius: 8px !important;
  text-transform: uppercase !important;
  font-weight: 600 !important;
  letter-spacing: .04em !important;
  box-shadow: none !important;
}
body .woocommerce a.button.add_to_cart_button:hover,
body .wd-add-btn a.button:hover,
body .woocommerce a.button.checkout-button:hover,
body button[name="nw_reservation_submit"]:hover {
  background-color: var(--nw-black-hover,#111) !important;
  color: #fff !important;
  -webkit-text-fill-color: #fff !important;
}
/* tekst wewnątrz przycisku WoodMart dziedziczy kolor marki */
body .wd-add-btn a.button .wd-action-text,
body a.add_to_cart_button .wd-action-text { color: inherit !important; -webkit-text-fill-color: inherit !important; }
/* „Przejdź do rezerwacji" zablokowany (min. kwota) — przyciemniony, ale w stylu marki */
body .checkout-button.nw2-disabled-checkout-button { opacity: .55 !important; cursor: not-allowed !important; }

/* Lista zamówień „Moje konto" — przyciski akcji: równa szerokość, „Anuluj" wyszarzony gdy nie można. 2026-06-22 */
.woocommerce-orders-table__cell-order-actions .button { min-width: 108px !important; display: inline-flex !important; align-items: center !important; justify-content: center !important; text-align: center !important; }
/* ZOBACZ + ANULUJ = KANON (ciemne tlo, bezowy napis); hover ciemny + bialy. NIE zlote (user 2026-06-23: „nie nasz styl"). */
.woocommerce-orders-table__cell-order-actions .button.view,
.woocommerce-MyAccount-orders .button.view,
.woocommerce a.button.view { background-color: #d4ba87 !important; border-color: #d4ba87 !important; color: #1a1407 !important; }
.woocommerce-orders-table__cell-order-actions .button.view:hover,
.woocommerce a.button.view:hover { background-color: var(--nw-black-hover,#111) !important; border-color: var(--nw-black-hover,#111) !important; color: var(--nw-white,#fff) !important; }
.woocommerce a.button.nw-cancel-off,
a.button.nw-cancel-off { opacity: .38 !important; cursor: not-allowed !important; pointer-events: none !important; }

/* Nagłówki „Zaplanuj imprezę" + „Zaufali nam" — ten sam FONT co reszta nagłówków home (motyw), nie DM Serif konfiguratora. 2026-06-22 */
body.home .nw-kfh-title,
body.home .nw-zaufali-title {
  font-family: var(--wd-title-font, Georgia, "Times New Roman", serif) !important;
}

/* Cross-sell „Może Cię zainteresować" + related — wyrównanie produktów (równe obrazki/tytuły jak na kategoriach). 2026-06-22 */
.cross-sells ul.products li.product .product-image-link,
.related.products ul.products li.product .product-image-link,
.cross-sells .product-grid-item .product-image-link,
.related.products .product-grid-item .product-image-link {
  display: flex !important; align-items: center !important; justify-content: center !important; min-height: 240px !important;
}
.cross-sells ul.products li.product img,
.related.products ul.products li.product img,
.cross-sells .product-grid-item img,
.related.products .product-grid-item img {
  max-height: 240px !important; width: auto !important; object-fit: contain !important;
}
.cross-sells ul.products li.product .wd-entities-title,
.related.products ul.products li.product .wd-entities-title {
  min-height: 2.8em !important;
}

/* Home — przyciski-linki (<a>) BIELEJĄ po najechaniu (kanon hover, jak <button>). 2026-06-23.
   Na końcu pliku → bije zgrupowane reguły hover wyżej. */
.website-wrapper .home a.nw-shop-cta-btn:hover,
.website-wrapper .home a.nw-shop-cta-btn:focus,
body.home a.nw-shop-cta-btn:hover,
body.home .nw-home-realizacje-preview__button:hover,
body.home .nw-home-realizacje-preview__more:hover,
body.home .nw-home-process-cta a.nw-home-process-button:hover{
  background: var(--nw-black-hover) !important;
  border-color: var(--nw-black-hover) !important;
  color: var(--nw-white) !important;
}

/* Bundle (gł. ilość na karcie produktu) — +/- ze złota zamiast czerni + liczba bez bocznych ramek (spójność z resztą). 2026-06-23.
   Ten sam selektor co stary blok #000 (l.~8493) → wygrywa pozycją. Bez zmian layoutu (bundle to grid). */
body.single-product form.cart.cart_group.bundle_form.layout_default.group_mode_parent.small_width .quantity .minus,
body.single-product form.cart.cart_group.bundle_form.layout_default.group_mode_parent.small_width .quantity .plus {
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  color: #d4ba87 !important;
  box-shadow: none !important;
}
body.single-product form.cart.cart_group.bundle_form.layout_default.group_mode_parent.small_width .quantity .qty {
  border-left: 0 !important;
  border-right: 0 !important;
  border-top: 0 !important;
  border-bottom: 0 !important;
  background: transparent !important;
}

/* =========================================================
   "Może Cię zainteresować" (up-sells / cross-sells / related-and-upsells na karcie produktu)
   — RÓWNE WYSOKOŚCI: zdjęcia kwadrat, tytuły 1/2 linie wyrównane, przycisk zawsze na dole. 2026-06-23.
   ========================================================= */
body.single-product .upsells.products,
body.single-product .up-sells.products,
body.single-product .cross-sells .products,
body.single-product .related-and-upsells .products,
body.single-product .upsells ul.products,
body.single-product .cross-sells ul.products {
  align-items: stretch !important;
}
body.single-product .upsells li.product, body.single-product .upsells .wd-product,
body.single-product .up-sells li.product, body.single-product .up-sells .wd-product,
body.single-product .cross-sells li.product, body.single-product .cross-sells .wd-product,
body.single-product .related-and-upsells li.product, body.single-product .related-and-upsells .wd-product {
  display: flex !important;
  flex-direction: column !important;
  height: 100% !important;
}
body.single-product .upsells .product-wrapper, body.single-product .upsells .wd-product-wrapper,
body.single-product .up-sells .product-wrapper, body.single-product .up-sells .wd-product-wrapper,
body.single-product .cross-sells .product-wrapper, body.single-product .cross-sells .wd-product-wrapper,
body.single-product .related-and-upsells .product-wrapper, body.single-product .related-and-upsells .wd-product-wrapper {
  display: flex !important;
  flex-direction: column !important;
  height: 100% !important;
}
/* zdjęcie: kwadrat, produkt w całości (contain), równa wysokość kart */
body.single-product .upsells .product-image-link, body.single-product .upsells .wd-product-img-link,
body.single-product .up-sells .product-image-link, body.single-product .up-sells .wd-product-img-link,
body.single-product .cross-sells .product-image-link, body.single-product .cross-sells .wd-product-img-link,
body.single-product .related-and-upsells .product-image-link, body.single-product .related-and-upsells .wd-product-img-link {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  aspect-ratio: 1 / 1 !important;
  overflow: hidden !important;
  background: #f7f7f7 !important;
}
body.single-product .upsells .product-image-link img, body.single-product .upsells .wd-product-img-link img,
body.single-product .up-sells .product-image-link img, body.single-product .up-sells .wd-product-img-link img,
body.single-product .cross-sells .product-image-link img, body.single-product .cross-sells .wd-product-img-link img,
body.single-product .related-and-upsells .product-image-link img, body.single-product .related-and-upsells .wd-product-img-link img {
  width: 100% !important;
  height: 100% !important;
  object-fit: contain !important;
  object-position: center center !important;
}
/* tytuł: wyrównana wysokość (1 lub 2 linie) */
body.single-product .upsells .wd-entities-title,
body.single-product .up-sells .wd-entities-title,
body.single-product .cross-sells .wd-entities-title,
body.single-product .related-and-upsells .wd-entities-title {
  min-height: 2.6em !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  text-align: center !important;
}
/* przycisk zawsze na dole karty */
body.single-product .upsells .wd-add-btn, body.single-product .upsells .add_to_cart_button,
body.single-product .up-sells .wd-add-btn, body.single-product .up-sells .add_to_cart_button,
body.single-product .cross-sells .wd-add-btn, body.single-product .cross-sells .add_to_cart_button,
body.single-product .related-and-upsells .wd-add-btn, body.single-product .related-and-upsells .add_to_cart_button {
  margin-top: auto !important;
}

/* Przyciski-linki: na hover TYLKO zmiana koloru — bez rozszerzania (lock transform/scale + letter-spacing). 2026-06-23.
   Linki <a> nie dziedziczą kanonowego transform:none; theme/Elementor potrafi dać scale lub +letter-spacing na hover. */
.nw-home-process-button, .nw-home-process-button:hover, .nw-home-process-button:focus,
.nw-home-realizacje-preview__button, .nw-home-realizacje-preview__button:hover,
.nw-home-realizacje-preview__more, .nw-home-realizacje-preview__more:hover,
.home a.nw-shop-cta-btn, .home a.nw-shop-cta-btn:hover,
.nw-contact-main-btn, .nw-contact-main-btn:hover,
.nw-contact-secondary-btn, .nw-contact-secondary-btn:hover {
  transform: none !important;
  -webkit-transform: none !important;
  transition: background-color .2s ease, border-color .2s ease, color .2s ease !important;
}
.nw-home-process-button:hover, .nw-home-process-button:focus {
  letter-spacing: .04em !important;
  width: auto !important;
  min-width: 220px !important;
}

/* Konto (logowanie/rejestracja): przyciski na hover = biały napis (REJESTRACJA, ZALOGUJ SIĘ). 2026-06-23. */
body.woocommerce-account .button:hover,
body.woocommerce-account button.button:hover,
body.woocommerce-account .woocommerce-Button:hover,
body.woocommerce-account a.button:hover,
body.woocommerce-account .register .button:hover,
body.woocommerce-account .register a:hover {
  background: var(--nw-black-hover) !important;
  border-color: var(--nw-black-hover) !important;
  color: var(--nw-white) !important;
}

/* FIX: biały napis na hover dla przycisków-linków <a> — bije motywową regułę .website-wrapper a:hover{color:beż}
   (która ma wyższą specyficzność niż .nw-...-button:hover i robiła tekst beżowym zamiast białego).
   + blokada letter-spacing/transform (to wzrost letter-spacing „rozciągał" napis na szerokość). 2026-06-23. */
.website-wrapper a.nw-home-process-button:hover, .website-wrapper a.nw-home-process-button:focus,
.website-wrapper a.nw-home-process-button.nw-kfh-btn:hover,
.website-wrapper a.nw-home-realizacje-preview__button:hover,
.website-wrapper a.nw-home-realizacje-preview__more:hover,
.website-wrapper a.nw-shop-cta-btn:hover,
.website-wrapper a.nw-contact-main-btn:hover,
.website-wrapper a.nw-contact-secondary-btn:hover {
  color: var(--nw-white) !important;
  letter-spacing: .04em !important;
  word-spacing: normal !important;
  transform: none !important;
  transition: background-color .2s ease, border-color .2s ease, color .2s ease !important;
}
/* dodatkowo: normalny stan process-button też letter-spacing .04em (żeby hover nic nie zmieniał = brak rozciągania) */
.website-wrapper a.nw-home-process-button { letter-spacing: .04em !important; }

/* WYPOŻYCZ / Skonfiguruj — TWARDA blokada: nie rozciągaj do 100% i nie zmieniaj kształtu na hover.
   Maks. specyficzność (html body a[class*=...]) — bije reguły Elementora/WoodMart bez !important. 2026-06-23. */
html body a[class*="nw-home-process-button"],
html body a[class*="nw-home-process-button"]:hover,
html body a[class*="nw-home-process-button"]:focus,
html body a[class*="nw-home-process-button"]:active {
  display: inline-flex !important;
  width: auto !important;
  max-width: -moz-max-content !important;
  max-width: max-content !important;
  min-width: 220px !important;
  flex: 0 0 auto !important;
  align-self: center !important;
  border-radius: 8px !important;
  transform: none !important;
  -webkit-transform: none !important;
  transition: background-color .2s ease, border-color .2s ease, color .2s ease !important;
}
/* Rodzic „Wypożycz" — gdyby to kontener (flex-column) rozciągał przycisk na hover: nie rozciągaj dziecka. */
html body .nw-home-process-cta { align-items: center !important; }


/* „Zapisz i przejdź dalej" (submit rezerwacji) — KANON, maks. specyficzność (html body … [name]) + bez gradientu motywu. 2026-06-23. */
html body button.button.alt[name="nw_reservation_submit"],
html body button.button[name="nw_reservation_submit"],
html body .woocommerce button.button.alt[name="nw_reservation_submit"],
html body form button.button.alt[name="nw_reservation_submit"],
html body .nw-reservation-actions button.button.alt,
html body .nw-reservation-bottom button.button.alt {
  background-color: var(--nw-black,#000) !important;
  background-image: none !important;
  background: var(--nw-black,#000) !important;
  border: 1px solid var(--nw-black,#000) !important;
  color: var(--nw-beige,#d4ba87) !important;
  border-radius: 8px !important;
  text-transform: uppercase !important;
  font-weight: 600 !important;
  letter-spacing: .04em !important;
  box-shadow: none !important;
  text-shadow: none !important;
}
html body button.button.alt[name="nw_reservation_submit"]:hover,
html body .woocommerce button.button.alt[name="nw_reservation_submit"]:hover,
html body .nw-reservation-actions button.button.alt:hover {
  background: var(--nw-black-hover,#111) !important;
  border-color: var(--nw-black-hover,#111) !important;
  color: var(--nw-white) !important;
}

/* STRONA DOSTĘPNOŚCI — wszystkie przyciski w KANONIE (6px, WERSALIKI, bold). body … = bije inline <style> snippetu 08. 2026-06-23. */
body .nw-avail-btn,
body .nw-avail-btn-primary,
body .nw-avail-btn-secondary {
  border-radius: 8px !important;
  text-transform: uppercase !important;
  letter-spacing: .04em !important;
  font-weight: 600 !important;
}
body .nw-avail-btn-primary,
body button.nw-avail-btn-primary {
  background: var(--nw-black,#000) !important;
  background-image: none !important;
  color: var(--nw-beige,#d4ba87) !important;
  border: 1px solid var(--nw-black,#000) !important;
}
body .nw-avail-btn-primary:hover:not(:disabled) {
  background: var(--nw-black-hover,#111) !important;
  color: var(--nw-white) !important;
  border-color: var(--nw-black-hover,#111) !important;
}
body .nw-avail-btn-secondary,
body button.nw-avail-btn-secondary {
  background: #fff !important;
  color: var(--nw-gold,#d4ba87) !important;
  border: 1px solid var(--nw-gold,#d4ba87) !important;
}
body .nw-avail-btn-secondary:hover:not(:disabled) {
  background: var(--nw-gold-fade,rgba(212,186,135,.22)) !important;
  color: var(--nw-black,#111) !important;
}

/* „Przeglądaj produkty" (notyfikacja „brak zamówień" na koncie) — czysty kanon, bez cienia/poświaty. 2026-06-23. */
body.woocommerce-account .woocommerce-info .button,
body.woocommerce-account .woocommerce-message .button,
body.woocommerce-account .woocommerce-notice .button,
body.woocommerce-account .woocommerce-info a.button,
body.woocommerce-account .woocommerce-MyAccount-content .button {
  background: #d4ba87 !important;
  background-image: none !important;
  color: #1a1407 !important;
  border: 1px solid #d4ba87 !important;
  border-radius: 8px !important;
  text-transform: uppercase !important;
  font-weight: 600 !important;
  letter-spacing: .04em !important;
  box-shadow: none !important;
  text-shadow: none !important;
  padding: 10px 18px !important;
  line-height: 1.2 !important;
}
body.woocommerce-account .woocommerce-info .button::before,
body.woocommerce-account .woocommerce-info .button::after,
body.woocommerce-account .woocommerce-message .button::before,
body.woocommerce-account .woocommerce-message .button::after { display: none !important; }
body.woocommerce-account .woocommerce-info .button:hover,
body.woocommerce-account .woocommerce-message .button:hover {
  background: var(--nw-black-hover,#111) !important;
  color: var(--nw-white) !important;
}

/* Dropdown logowania w nagłówku (hover „Moje konto") — w stylu strony (jasna karta, kanon inputów/przycisku). 2026-06-23. */
.wd-dropdown-my-account, .wd-dropdown.wd-dropdown-my-account, .wd-account-drop {
  border: 1px solid var(--nw-border,rgba(212,186,135,.25)) !important;
  border-radius: 12px !important;
  background: #fff !important;
  box-shadow: 0 18px 50px rgba(0,0,0,.14) !important;
  padding: 22px !important;
}
.wd-dropdown-my-account input[type="text"],
.wd-dropdown-my-account input[type="email"],
.wd-dropdown-my-account input[type="password"],
.wd-account-drop input[type="text"],
.wd-account-drop input[type="email"],
.wd-account-drop input[type="password"] {
  border: 1px solid #dcdcdc !important;
  border-radius: 6px !important;
  background: #fff !important;
  color: #111 !important;
  box-shadow: none !important;
}
.wd-dropdown-my-account input:focus,
.wd-account-drop input:focus { border-color: var(--nw-beige,#d4ba87) !important; outline: none !important; }
.wd-dropdown-my-account label,
.wd-account-drop label { color: var(--nw-text,#111) !important; font-weight: 600 !important; }
.wd-dropdown-my-account button,
.wd-dropdown-my-account .button,
.wd-dropdown-my-account .woocommerce-button,
.wd-account-drop button,
.wd-account-drop .button {
  background: #d4ba87 !important;
  background-image: none !important;
  color: #1a1407 !important;
  border: 1px solid #d4ba87 !important;
  border-radius: 8px !important;
  text-transform: uppercase !important;
  font-weight: 600 !important;
  letter-spacing: .04em !important;
  box-shadow: none !important;
}
.wd-dropdown-my-account button:hover,
.wd-dropdown-my-account .button:hover,
.wd-account-drop button:hover {
  background: var(--nw-black-hover,#111) !important;
  color: var(--nw-white) !important;
}
.wd-dropdown-my-account a,
.wd-account-drop a { color: #1a1407 !important; -webkit-text-fill-color: #1a1407 !important; } /* (audyt 2026-06-24) ciemny napis na zlotym panelu konta (bylo zloto na zlocie = niewidoczne) */

/* (audyt 2026-06-26) a11y WCAG 2.4.7 Focus Visible — widoczny zloty focus-ring TYLKO przy nawigacji klawiatura.
   Wiele pol/przyciskow ma outline:none; box-shadow nie jest przez te reguly nadpisywany. Mysz/klik = brak ringu (focus-visible). */
a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible,
[tabindex]:focus-visible,
.button:focus-visible,
[role="button"]:focus-visible {
  outline: 2px solid transparent !important;
  box-shadow: 0 0 0 2px #fff, 0 0 0 4px rgba(212, 186, 135, 0.85) !important;
}

/* (audyt 2026-06-26) hero strony glownej — primary CTA „Wycen swoja impreze" (above-the-fold, kanon zloty F2) */
.hero-tekst-namioty .nw-hero-cta,
a.nw-hero-cta {
  display: inline-block;
  margin-top: 26px;
  padding: 16px 34px; /* (2026-07-03, user: 'inny niz ten do gory') 1:1 z .nw-home-process-button */
  background: #d4ba87 !important;
  color: #1a1407 !important;
  -webkit-text-fill-color: #1a1407 !important;
  border: 1px solid #d4ba87 !important;
  border-radius: 8px;
  font-weight: 500;
  font-size: 16px;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  font-family: Poppins, "Helvetica Neue", Arial, sans-serif;
  text-decoration: none !important;
  transition: background-color 0.2s ease, border-color 0.2s ease;
}
.hero-tekst-namioty .nw-hero-cta:hover,
a.nw-hero-cta:hover {
  background: #c9a84c !important;
  border-color: #c9a84c !important;
  color: #1a1407 !important;
  -webkit-text-fill-color: #1a1407 !important;
}

/* (audyt 2026-06-26) FIX HERO MOBILE — kontener shortcode [nw_hero] zapadał się do 0×0 (hero-tekst był position:absolute
   => wrapper bez in-flow content => width:0 => opis zawijał się słowo-po-słowie, a top:50%/translateY na 0-wys. rodzicu UCINAŁ H1).
   Rozwiązanie: na mobile hero-tekst do NORMALNEGO FLOW (relative, pełna szerokość); zdjęcie zostaje jako TŁO sekcji f317353. */
@media (max-width: 767px) {
  body.home .elementor-element.elementor-element-f5b787c,
  body.home .elementor-element.elementor-element-f5b787c .elementor-shortcode,
  body.home .elementor-element.elementor-element-f5b787c .elementor-widget-container {
    width: 100% !important;
    flex: 1 1 100% !important;
  }
  body.home .elementor-element.elementor-element-f317353 {
    min-height: 62vh !important;
  }
  body.home .elementor-element.elementor-element-f317353 .hero-tekst-namioty {
    position: relative !important;
    left: 0 !important;
    right: 0 !important;
    top: 0 !important;
    transform: none !important;
    width: 100% !important;
    max-width: 100% !important;
    padding: 38px 18px !important;
    box-sizing: border-box !important;
    text-align: center !important; /* (audyt 2026-06-27) mobile: cały hero wyśrodkowany (user) */
    align-items: center !important;
  }
  body.home .elementor-element.elementor-element-f317353 .hero-tekst-namioty h1,
  body.home .elementor-element.elementor-element-f317353 .hero-tekst-namioty .elementor-heading-title,
  body.home .elementor-element.elementor-element-f317353 .hero-tekst-namioty p {
    text-align: center !important;
  }
  body.home .elementor-element.elementor-element-f317353 .hero-tekst-namioty p {
    max-width: 100% !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }
  /* przycisk „Zaplanuj swoją imprezę" na środku */
  body.home .hero-tekst-namioty .nw-hero-cta-wrap {
    text-align: center !important;
  }
  body.home .hero-tekst-namioty .nw-hero-cta,
  body.home .hero-tekst-namioty a.nw-hero-cta {
    display: inline-block !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }
}

/* (audyt 2026-06-26) #8 — banery page-title (checkout „Podsumowanie", koszyk „Koszyk", rezerwacja) = Poppins,
   spójnie z hero FAQ/Kontakt (potwierdzenie „czy w naszym stylu"). */
body.woocommerce-checkout .page-title, body.woocommerce-checkout .wd-page-title,
body.woocommerce-cart .page-title, body.woocommerce-cart .wd-page-title,
body.page-id-29938 .page-title, body.page-id-29938 .wd-page-title {
  font-family: Poppins, "Helvetica Neue", Arial, sans-serif !important;
}

/* (audyt 2026-06-26) search submit (lupa) — był czarny kwadrat; user chce SAMĄ IKONĘ bez tła.
   Tło przezroczyste, bez ramki — tylko ciemna ikona lupy (hover złota). */
html .searchsubmit:not(#nw-z),
html .searchform .searchsubmit:not(#nw-z),
html .mobile-nav .searchsubmit:not(#nw-z) {
  background: transparent !important;
  background-color: transparent !important;
  border: none !important;
  box-shadow: none !important;
  color: #1a1407 !important;
  -webkit-text-fill-color: #1a1407 !important;
}
html .searchsubmit:not(#nw-z)::before,
html .mobile-nav .searchsubmit:not(#nw-z)::before {
  color: #1a1407 !important;
  -webkit-text-fill-color: #1a1407 !important;
}
html .searchsubmit:not(#nw-z):hover { background: transparent !important; color: #c9a84c !important; }
html .searchsubmit:not(#nw-z):hover::before { color: #c9a84c !important; -webkit-text-fill-color: #c9a84c !important; }

/* (audyt 2026-06-26) MOBILE — spojny STYL TEKSTU w przyciskach.
   User: „buttony na mobilce musza byc tez spojne — tekst w srodku taki sam styl”.
   Katalog ciemnych CTA budowanych jako <a> NIE dziedziczy reguly button{} (selektor lapie tylko <button>),
   wiec kazdy mial wlasna typografie → na waskim ekranie roznily sie krojem/wersalikami/odstepem.
   Ujednolicamy: Poppins 600, WERSALIKI, jednolity letter-spacing. NIE ruszamy font-size (zeby dlugie etykiety
   sie nie zawijaly) ani kolorow. Kafelki/konfigurator (.nw-kf-card, .wd-cat-*) celowo POMINIETE (to wyjatki). */
@media (max-width: 767px) {
  html .nw-home-process-button:not(#nw-z),
  html .nw-shop-cta-btn:not(#nw-z),
  html .nw-home-realizacje-preview__button:not(#nw-z),
  html .nw-home-realizacje-preview__more:not(#nw-z),
  html .nw-contact-main-btn:not(#nw-z),
  html .nw-contact-secondary-btn:not(#nw-z),
  html .nw-faq-regulations-btn:not(#nw-z),
  html .nw-avail-btn:not(#nw-z),
  html .nw-avail-btn-primary:not(#nw-z),
  html .nw-avail-btn-secondary:not(#nw-z),
  html .nw-avail-btn-back:not(#nw-z),
  html .nw-cancel-order-btn:not(#nw-z),
  html .nw-cta-phone-btn:not(#nw-z),
  html .nw-cta-return-btn:not(#nw-z),
  html .nw-gallery-bundle-btn:not(#nw-z),
  html .nw-retry-btn:not(#nw-z),
  html .nw-sticky-cta:not(#nw-z) {
    font-family: 'Poppins', sans-serif !important;
    font-weight: 600 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.06em !important;
  }
}

/* (audyt 2026-06-26) LOGO MOBILNE OSTRE — master-override ID-spec. Liczne duplikaty (l.~15830/16008/16179) wymuszaly
   width:200px na obrazie 182x54 => upscale => rozmycie („zepsute logo"). :not(#nw-z) bije wszystkie. Natywna szerokosc
   (max 182px) = najostrzej jak pozwala zrodlo. Pelna ostrosc na retina wymaga wgrania 2x logo (admin). */
@media (max-width: 1024px) {
  html .whb-column_mobile3.whb-mobile-center .site-logo > a.wd-logo.wd-main-logo img:not(#nw-z),
  html .whb-header .whb-column_mobile3.whb-mobile-center .site-logo > a.wd-logo.wd-main-logo img:not(#nw-z),
  html .whb-sticked .whb-column_mobile3.whb-mobile-center .site-logo > a.wd-logo.wd-main-logo img:not(#nw-z),
  html .whb-clone .whb-column_mobile3.whb-mobile-center .site-logo > a.wd-logo.wd-main-logo img:not(#nw-z) {
    width: auto !important;
    max-width: 182px !important;
    height: auto !important;
    max-height: 56px !important;
    image-rendering: -webkit-optimize-contrast !important;
  }
}

/* (audyt 2026-06-26) FAQ mobile: WSZYSTKIE kategorie WIDOCZNE (user „daj wszystkie sekcje widoczne") — zamiast poziomego
   swipe = zawijanie. Wylacza mask-fade i scroll-snap na <=767 (swipe zostaje na wszelki wypadek niepotrzebny). */
@media (max-width: 767px) {
  html .nw-faq-cats { flex-wrap: wrap !important; overflow: visible !important; justify-content: center !important; -webkit-mask-image: none !important; mask-image: none !important; scroll-snap-type: none !important; }
  html .nw-faq-cats button { flex: 0 1 auto !important; scroll-snap-align: none !important; }
}

/* (audyt 2026-06-26) GAP HOME MOBILE (#8) — PRAWDZIWA przyczyna: #nw-cats-placeholder (snippet 10) dostawal staticzna
   wysokosc z momentu pomiaru (np. 955px), a na mobile siatka kategorii re-layoutuje sie nizej -> placeholder za wysoki
   = duzy pusty gap. Naprawione U ZRODLA w snippecie 10 (nwSyncCatsPh: sync wysokosci placeholdera do realnej siatki po
   load/resize). Plaster CSS `-120px` USUNIETY — z syncem nakladalby sie. Wymaga wdrozenia snippetu 10. */

/* (audyt 2026-06-26) ANULUJ na „Moje konto" (akcja nw-cancel) = CZERWONY (akcja destrukcyjna, user). ZOBACZ zostaje zloty.
   ID-spec :not(#nw-z) bije kanon button{zloto}. Wyszarzony nw-cancel-off (nie da sie anulowac) NIE ruszany. */
html .woocommerce a.button.nw-cancel:not(#nw-z),
html a.button.nw-cancel:not(#nw-z),
html .woocommerce a.woocommerce-button.nw-cancel:not(#nw-z) {
  background: #c0392b !important;
  background-color: #c0392b !important;
  border-color: #c0392b !important;
  color: #fff !important;
  -webkit-text-fill-color: #fff !important;
}
html .woocommerce a.button.nw-cancel:not(#nw-z):hover,
html a.button.nw-cancel:not(#nw-z):hover,
html .woocommerce a.woocommerce-button.nw-cancel:not(#nw-z):hover {
  background: #a3302a !important;
  background-color: #a3302a !important;
  border-color: #a3302a !important;
  color: #fff !important;
  -webkit-text-fill-color: #fff !important;
}

/* (audyt 2026-06-26) Box Kontaktu „Jak złożyć rezerwację" (.nw-contact-cta-box) — zaokraglony (bylo radius:0;
   liczne duplikaty). ID-spec bije je. Kanon kart = 12px. */
html .nw-contact-cta-box:not(#nw-z) { border-radius: 12px !important; }

/* (2026-07-03) Kontakt: pasek dwoch lokalizacji odbioru pod mapa */

/* (2026-07-03) [nw_onas_ikony] — skrocone O nas w ikonografii (styl jak pasek zaufania) */
.nw-onas-ikony { display: grid; grid-template-columns: repeat(4, 1fr); gap: 28px; max-width: 1240px; margin: 8px auto 0; padding: 0 20px; }
.nw-o-nas-ikony-wrap { margin: 52px 0 48px; } /* (2026-07-06, F2/user) karty miedzy akapitami „O nas" — wieksze przerwy (bylo 26/10, za scisniete) */
.nw-onas-ikona { text-align: center; }
.nw-onas-ikona__svg { display: inline-flex; margin-bottom: 10px; }
.nw-onas-ikona strong { display: block; font-family: Poppins, sans-serif; font-size: 16px; font-weight: 600; color: #1a1407; margin-bottom: 6px; }
.nw-onas-ikona p { margin: 0; font-size: 14px; color: #6f6f6f; line-height: 1.55; }
@media (max-width: 991px) { .nw-onas-ikony { grid-template-columns: repeat(2, 1fr); gap: 22px; } }
@media (max-width: 480px) { .nw-onas-ikony { grid-template-columns: 1fr; } }

/* (2026-07-06, user F11; wariant B) Pasek liczb zaufania [nw_pasek_zaufania] — zlote liczby, bez tla-paska */
.nw-pasek-zaufania { display: flex; align-items: center; justify-content: center; flex-wrap: wrap; gap: 8px 40px; max-width: 1100px; margin: 0 auto; padding: 46px 16px 12px; }
.nw-pz-item { text-align: center; padding: 0 4px; }
.nw-pz-num { display: block; font-family: Poppins, sans-serif; font-size: 40px; font-weight: 600; color: #d4ba87; line-height: 1; } /* (audyt 2026-07-07, user „inny odcien zlota niz w o nas") ujednolicone do storefront #d4ba87 */
.nw-pz-num .nw-pz-star { vertical-align: -11px; margin-left: -2px; } /* (audyt 2026-07-10, user „5,0 z gwiazdka mniejsza przerwa") SVG ma wewnetrzny padding viewBox -> ujemny margin zbliza gwiazdke */
.nw-pz-lab { display: block; margin-top: 9px; font-size: 14px; color: #6f6f6f; line-height: 1.4; }
.nw-pz-sep { width: 1px; height: 46px; background: rgba(212,186,135,0.5); flex: 0 0 auto; }
@media (max-width: 767px) { .nw-pasek-zaufania { gap: 14px 0; padding: 20px 12px; justify-content: center; text-align: center; } .nw-pz-sep { display: none; } .nw-pz-item { flex: 0 0 100%; justify-content: center; text-align: center; } .nw-pz-num { font-size: 30px; } .nw-pz-num .nw-pz-star { width: 30px; height: 30px; vertical-align: -8px; margin-left: -3px; } } /* (audyt 2026-07-10, user "7 lat na rynku itp jeden wers na strone na mobile - wysrodkowane") */

/* (2026-07-06, user E4) „Szczegóły i wymiary" — cechy w osobnych wierszach (klucz : wartość) */
ul.nw-szczegoly { list-style: none; margin: 0; padding: 0; }
ul.nw-szczegoly li { display: flex; gap: 10px; padding: 9px 0; border-bottom: 1px solid rgba(212,186,135,0.22); font-size: 15px; line-height: 1.5; }
ul.nw-szczegoly li:last-child { border-bottom: 0; }
ul.nw-szczegoly .nw-szcz-k { flex: 0 0 42%; max-width: 220px; color: #6f6f6f; }
ul.nw-szczegoly .nw-szcz-v { flex: 1 1 auto; color: #111; font-weight: 500; }
@media (max-width: 480px) { ul.nw-szczegoly .nw-szcz-k { flex-basis: 46%; } }

/* (2026-07-06, user E1) notka „za dobę imprezową" pod ceną produktu + tooltipy doby (ikona „i" i najechanie na tytuł) */
.single-product .nw-daily-info { display: inline-flex; align-items: center; justify-content: center; width: 18px; height: 18px; border-radius: 50%; border: 1px solid #c9a84c; color: #c9a84c; font-size: 12px; font-weight: 600; font-style: normal; cursor: help; position: relative; margin-left: 6px; vertical-align: middle; } /* (2026-07-07, user „odsunac (i) od tekstu") gap 6px od „cena za dobe" */
.single-product .nw-daily-tip, .single-product .nw-title-tip { position: absolute; left: 0; top: calc(100% + 10px); width: max-content; min-width: 220px; max-width: min(320px, 82vw); background: #fff8f1; color: #4a3a1a; font-size: 12.5px; font-weight: 400; line-height: 1.55; letter-spacing: normal; text-transform: none; padding: 11px 14px; border: 1px solid #e6d6b3; border-radius: 10px; opacity: 0; visibility: hidden; transition: opacity .15s; z-index: 20; text-align: left; box-shadow: 0 10px 30px rgba(0,0,0,.12); pointer-events: none; }
.single-product .nw-daily-tip::before { content: ""; position: absolute; left: 3px; top: -6px; width: 10px; height: 10px; background: #fff8f1; border-left: 1px solid #e6d6b3; border-top: 1px solid #e6d6b3; transform: rotate(45deg); }
.single-product .nw-daily-info:hover .nw-daily-tip, .single-product .nw-daily-info:focus .nw-daily-tip { opacity: 1; visibility: visible; }
.single-product .nw-title-has-tip { position: relative; cursor: help; }
.single-product .nw-title-has-tip:hover .nw-title-tip { opacity: 1; visibility: visible; }

/* (2026-07-06, user E2 / 2026-07-07 „Safari related rozjezdza sie") Kwadratowe obrazki powiazanych.
   Safari czasem IGNORUJE aspect-ratio na <a> (obrazki wychodza w naturalnej wysokosci -> rzedy sie rozjezdzaja).
   Technika padding-top:100% + absolutny <img> = identyczny kwadrat we WSZYSTKICH przegladarkach. */
body.single-product .wd-product-img-link,
body.single-product .related.products li.product .product-image-link { display: block !important; position: relative !important; width: 100% !important; height: 0 !important; padding-top: 100% !important; overflow: hidden !important; border-radius: 8px !important; background: #f7f7f7 !important; }
body.single-product .wd-product-img-link img,
body.single-product .related.products li.product .product-image-link img { position: absolute !important; top: 0 !important; left: 0 !important; width: 100% !important; height: 100% !important; object-fit: cover !important; }
body.single-product .wd-carousel-container.with-title .wd-entities-title,
body.single-product .wd-carousel-container.with-title .wd-product h3 { min-height: 2.7em !important; display: block; } /* (audyt 2026-07-07, user „naglowki wyrownac") tytuly powiazanych rownej wysokosci (.related nie istnieje -> celujemy w .with-title) */
/* (audyt 2026-07-07, user „Safari related NADAL nie dzialaja" + wklejony HTML) Chrome liczy item flex-basis:25% + wrap
   flex-wrap:nowrap -> 5 kafli po 303px przelewa sie, .wd-carousel overflow:clip, slider przewija. Safari bywa GUBI
   flex-basis z --wd-col-lg (WoodMart calc) LUB zawija wrap -> rozjazd. Wpisujemy 25%/50% + nowrap EXPLICITE (bez CSS var,
   bez ruszania transform/overflow zeby NIE zabic slidera — to bylo poprzednie potkniecie). */
html body.single-product .wd-carousel-container.with-title .wd-carousel.wd-grid > .wd-carousel-wrap:not(#nw-z) { flex-wrap: nowrap !important; }
html body.single-product .wd-carousel-container.with-title .wd-carousel.wd-grid > .wd-carousel-wrap > .wd-carousel-item:not(#nw-z) { flex: 0 0 25% !important; max-width: 25% !important; min-width: 0 !important; }
@media (max-width: 768px) {
  html body.single-product .wd-carousel-container.with-title .wd-carousel.wd-grid > .wd-carousel-wrap > .wd-carousel-item:not(#nw-z) { flex: 0 0 50% !important; max-width: 50% !important; }
}
/* (audyt 2026-07-07, user „pogrubienie na kategoriach za mocne") nazwy kategorii lzejsze: 600 -> 500 (ID-spec bije globalny h3{600!important}) */
html body .category-grid-item .wd-entities-title:not(#nw-z),
html body .wd-cat .wd-entities-title:not(#nw-z),
html body .wd-cat-content .wd-entities-title:not(#nw-z) { font-weight: 500 !important; }
/* (2026-07-07 v2, zweryfikowane w Chrome „powiazane w Safari nadal nie dzialaja") Powiazane/upsell = WoodMart
   .wd-carousel-container.with-title > .wd-carousel > .wd-carousel-wrap > .wd-carousel-item (NIE ma klasy .related!).
   `.with-title` odroznia je od karuzeli GALERII (.wd-gallery-images/.wd-gallery-thumb), ktorych NIE ruszamy.
   PRZYCZYNA Safari (znaleziona w Chrome): (1) lawith lancuch ma STALE wysokosci pod JEDEN rzad (568/532/502px) +
   `.wd-carousel` ma `overflow:clip` -> zawiniety 2. rzad jest CIETY na Safari; (2) flex-basis:calc() na Safari
   bywa niestabilny. FIX: CSS GRID `repeat(4,1fr)` (kuloodporny cross-browser, bez calc) + `height:auto`/`overflow:visible`
   na CALYM lancuchu (container/carousel/wrap) zeby 2. rzad rosl naturalnie i nie byl ciety. Strzalki karuzeli ukryte
   (w statycznym gridzie bezuzyteczne). Zweryfikowane w Chrome: 4 kafle 288px, rowne odstepy, overlap:false. */
/* (2026-07-07, user „powinna byc jedna linia i przesuwanie strzalkami") COFNIETO statyczny GRID.
   Zweryfikowane w Chrome: moj `transform:none !important` + `display:grid` na .wd-carousel-wrap BLOKOWAL natywny slider
   WoodMart (slider przesuwa slajdy transformem + cursor:grab) -> stad 2 rzedy zamiast przewijania. Po usunieciu override
   karuzela wraca do JEDNEGO rzedu (4/widok) z przewijaniem strzalkami/przeciaganiem (rowTops: 2 -> 1). NIE nadpisujemy
   transform/display/overflow karuzeli — dziala natywnie. Zostaje fix obrazka (object-fit, wyzej) + tytuly (min-height). */

/* (2026-07-07, user „dodaj do wyceny pod kolor") Produkty wariantowe (kolor/pojemność): formularz pionowo —
   wybór wariantu na górze, „Dodaj do wyceny" (z ilością) POD spodem, nie obok. */
body.single-product .variations_form { display: block !important; }
body.single-product .variations_form .variations { display: block !important; width: 100% !important; float: none !important; margin: 0 0 18px !important; }
body.single-product .variations_form .single_variation_wrap { display: block !important; width: 100% !important; float: none !important; clear: both !important; }
body.single-product .variations_form .single_variation { width: 100% !important; }
body.single-product .variations_form .woocommerce-variation-add-to-cart { display: flex !important; align-items: center !important; flex-wrap: wrap !important; gap: 12px !important; width: 100% !important; float: none !important; }
/* (2026-07-07, user „kolor/wymiar dosunięty do liczby sztuk i dodaj do wyceny") wiersz wariantu: etykieta lewo,
   SELECT wypełnia do PRAWEJ krawędzi (ta sama szerokość co rząd „liczba + Dodaj do wyceny"), zaokrąglony 8px */
/* (2026-07-07 v2, zweryfikowane w Chrome „rozmiar/wybor musi sie miescic w zaznaczonym obszarze") STACK: label „Rozmiar:"
   NAD dropdownem, dropdown pelna szerokosc kolumny qty+przycisk. WoodMart daje `.single_variation_wrap` margin-left:30px
   (wyrownanie qty/button do 755 = tytul/naglowki), a `table.variations` tego NIE ma (siedzi 30px w lewo) -> dokladamy
   margin-left:30px + max-width 283px (= szerokosc qty+„Dodaj do wyceny"). Test na zywo: select l755=qty.left, r1038=btn.right. */
body.single-product form.cart table.variations { margin: 0 0 14px 30px !important; max-width: 283px !important; width: 283px !important; border-collapse: collapse !important; }
body.single-product form.cart table.variations tbody,
body.single-product form.cart table.variations tbody tr { display: block !important; width: 100% !important; max-width: none !important; }
body.single-product form.cart table.variations th.label { display: block !important; width: auto !important; padding: 0 0 6px 0 !important; margin: 0 !important; border: 0 !important; text-align: left !important; }
body.single-product form.cart table.variations td.value { display: block !important; width: 100% !important; padding: 0 !important; margin: 0 !important; border: 0 !important; }
body.single-product form.cart table.variations td.value select { border-radius: 8px !important; min-height: 46px !important; width: 100% !important; max-width: none !important; min-width: 0 !important; box-sizing: border-box !important; }
body.single-product form.cart table.variations td.value .wd-reset-var { display: inline-block !important; margin-top: 6px !important; }
@media (max-width: 768px) { body.single-product form.cart table.variations { margin-left: 0 !important; max-width: none !important; width: 100% !important; } }

/* (2026-07-06, user F9) Opis kategorii pod nazwą (nad produktami) — lekkie złote napisy, spójny odstęp */
body.tax-product_cat .term-description,
body.archive.tax-product_cat .term-description { max-width: 820px; margin: 6px auto 26px; color: #b8974c; font-size: 15px; line-height: 1.65; text-align: center; } /* (2026-07-07, user „te opisy wysrodkuj") */
body.tax-product_cat .term-description p { margin: 0 0 8px; color: #b8974c; }
body.tax-product_cat .term-description p:last-child { margin-bottom: 0; }

/* (2026-07-06, user E3) Strona produktu: zdjęcie nie może dominować (ogromne + pustka po prawej) — cap wysokości na desktopie, bez kadrowania (contain) */
@media (min-width: 769px) {
  body.single-product .woocommerce-product-gallery__image img,
  body.single-product .wd-single-product-images .woocommerce-product-gallery__image img { max-height: 540px !important; object-fit: contain !important; }
}

/* (2026-07-06, user F9) Opis kategorii — pod nazwa, lekkie ZLOTE napisy. WoodMart: „Category description position = Before product grid". Tekst user wkleja w Produkty -> Kategorie -> Opis. */
.woocommerce.archive .term-description,
.tax-product_cat .term-description,
.woocommerce-products-header .term-description {
  color: #b8974c;
  font-size: 15px;
  line-height: 1.65;
  max-width: 820px;
  margin: 10px auto 6px; /* (2026-07-07, user) wysrodkowanie */
  text-align: center;
}
.woocommerce.archive .term-description p,
.tax-product_cat .term-description p,
.woocommerce-products-header .term-description p { margin: 0 0 8px; color: inherit; }
.woocommerce.archive .term-description :last-child,
.tax-product_cat .term-description :last-child { margin-bottom: 0; }

/* (2026-07-03) KOSZYK: szara ramka 3px #efefef wokol sekcji PODSUMOWANIE KOSZYKA — ustawiona w Elementorze
   na kontenerze .elementor-element-3e8cd84 (zbadane na zywo). Zdejmujemy; zostaje zlota ramka .cart-totals-inner. */
body.woocommerce-cart .elementor-element.elementor-element-3e8cd84 { border: 0 !important; }

/* (2026-07-03) Kontakt: DWIE mapy obok siebie (Kobylka + Wola Golkowska) — jak na produkcji */
.nw-kontakt-maps { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; }
@media (max-width: 767px) { .nw-kontakt-maps { grid-template-columns: 1fr; gap: 14px; } .nw-kontakt-maps iframe { height: 300px !important; } }

/* (2026-07-03, user) KOSZYK: lista produktow w BIALEJ KARCIE — jak podsumowanie wyceny (zlota ramka, radius 12, cien) */
body.woocommerce-cart .woocommerce-cart-form {
  background: #fff;
  border: 1px solid rgba(212, 186, 135, 0.45);
  border-radius: 12px;
  padding: 26px 28px;
  box-shadow: 0 12px 34px rgba(0, 0, 0, 0.05);
}
@media (max-width: 767px) { body.woocommerce-cart .woocommerce-cart-form { padding: 16px 14px; } }

/* (2026-07-03, user) za duza przestrzen miedzy opiniami a footerem na jasnych stronach */
html body:is(.page-id-31488, .woocommerce-shop, .post-type-archive-product, .tax-product_cat) .nw-opinie-section:not(#nw-z) {
  padding-bottom: 28px !important;
  margin-bottom: 0 !important;
}

/* (2026-07-03, user: „opinie na jasnym trzeba oddzielic — wisi") — wyrazna separacja od tresci wyzej:
   delikatna zlota linia + oddech. Dol zostaje ciasny (28px) przy stopce. */
html body:is(.page-id-31488, .woocommerce-shop, .post-type-archive-product, .tax-product_cat) .nw-opinie-section:not(#nw-z) {
  margin-top: 64px !important;
  padding-top: 48px !important;
  border-top: 1px solid rgba(212, 186, 135, 0.35) !important;
}

/* (2026-07-03, user: „moje konto za daleko od koszyka") — na szerokich oknach cos odpychalo koszyk.
   SKLEJAMY narzedzia na sztywno: zero auto-marginesow, staly odstep. */
html .whb-header .wd-header-search:not(#nw-z),
html .whb-header .wd-header-my-account:not(#nw-z),
html .whb-header .wd-header-cart:not(#nw-z),
html .whb-sticked .wd-header-search:not(#nw-z),
html .whb-sticked .wd-header-my-account:not(#nw-z),
html .whb-sticked .wd-header-cart:not(#nw-z) {
  margin-left: 0 !important;
  margin-right: 0 !important;
}
html .whb-header .wd-header-cart:not(#nw-z) { margin-left: 6px !important; }

/* (2026-07-03, user) notka o dobie imprezowej w koszyku = BIALA KARTA jak baner oferty */
.nw-cart-note {
  background: #fff;
  border: 1px solid rgba(212, 186, 135, 0.55);
  border-radius: 12px;
  box-shadow: 0 12px 34px rgba(60, 45, 15, 0.08);
  padding: 22px 26px;
  margin-bottom: 20px;
  color: #444;
  font-size: 14.5px;
  line-height: 1.65;
  text-align: center;
}

/* ============ CZAT FAQ (wariant A, bez AI) — 2026-07-03 ============ */
#nw-chat { position: fixed; right: 22px; bottom: 22px; z-index: 99990; font-family: Roboto, Arial, sans-serif; }
#nw-chat-fab { width: 58px; height: 58px; border-radius: 50% !important; background: #d4ba87 !important; color: #1a1407 !important; border: 0 !important; box-shadow: 0 10px 28px rgba(0,0,0,.22) !important; cursor: pointer; display: flex; align-items: center; justify-content: center; padding: 0 !important; text-transform: none !important; transition: background .2s ease, transform .15s ease; }
#nw-chat-fab:hover { background: #c9a84c !important; transform: scale(1.05); }
#nw-chat-win { position: absolute; right: 0; bottom: 72px; width: 360px; max-width: calc(100vw - 32px); background: #fff; border: 1px solid rgba(212,186,135,.5); border-radius: 14px; box-shadow: 0 24px 60px rgba(0,0,0,.18); overflow: hidden; display: flex; flex-direction: column; }
#nw-chat-win[hidden] { display: none !important; } /* (2026-07-03 FIX) display:flex nadpisywal atrybut hidden -> okno bylo OTWARTE od wejscia (user). Kanoniczna pulapka [hidden] vs display. */
.nw-chat-head { background: #111; color: #d4ba87; padding: 14px 44px 12px 16px; position: relative; }
.nw-chat-head strong { display: block; font-family: Poppins, sans-serif; font-size: 16px; }
.nw-chat-head span { font-size: 12px; color: #cdb98c; }
.nw-chat-head a { color: #f0dcae; text-decoration: underline; font-weight: 600; white-space: nowrap; } /* (audyt 2026-07-03, user „dodaj lub zadzwoń") link telefonu w naglowku czatu */
#nw-chat-close { position: absolute; top: 8px; right: 8px; width: 30px; height: 30px; border: 0 !important; background: transparent !important; color: #d4ba87 !important; font-size: 22px; line-height: 1; cursor: pointer; padding: 0 !important; box-shadow: none !important; }
.nw-chat-body { padding: 14px; max-height: 340px; overflow-y: auto; background: #FBF8F3; display: flex; flex-direction: column; gap: 10px; }
.nw-chat-msg { max-width: 88%; padding: 10px 13px; border-radius: 12px; font-size: 13.5px; line-height: 1.55; }
.nw-chat-bot { background: #fff; border: 1px solid rgba(212,186,135,.4); color: #555; align-self: flex-start; border-bottom-left-radius: 4px; text-align: left; }
.nw-chat-bot b { color: #8a6d2f; font-family: Poppins, sans-serif; font-weight: 600; } /* pogrubienia w zdaniu = INLINE */
.nw-chat-bot > b:first-child { display: block; margin-bottom: 4px; } /* (2026-07-03 FIX, user) TYLKO tytul pytania blokowy — inline b (telefon itp.) NIE lamie zdania na linie (sierocie kropki) */
/* (2026-07-03 FIX, user: 'odpowiedzi nadal nieczytelne') USUNIETE .nw-chat-msg br + br{display:none} — kombinator + IGNORUJE tekst miedzy elementami, wiec '<br>tekst<br>' tez lapal regule i ukrywal KAZDY <br> poza pierwszym (listy sklejaly sie w jedna linie). Podwojne puste linie zbija teraz JS przed renderem. */
.nw-chat-me { background: #d4ba87; color: #1a1407; align-self: flex-end; border-bottom-right-radius: 4px; }
.nw-chat-bot a { color: #8a6d2f; text-decoration: underline; }
/* (audyt 2026-07-03, user: „mogłby chociaż sekundę udawać że myśli") baniek „pisze…" — 3 pulsujące kropki */
.nw-chat-typing { display: inline-flex !important; gap: 4px; align-items: center; padding: 13px 14px; width: auto; }
.nw-chat-typing span { width: 7px; height: 7px; border-radius: 50%; background: #c9a84c; opacity: .35; animation: nwChatDot 1s infinite ease-in-out; }
.nw-chat-typing span:nth-child(2) { animation-delay: .18s; }
.nw-chat-typing span:nth-child(3) { animation-delay: .36s; }
@keyframes nwChatDot { 0%, 60%, 100% { opacity: .3; transform: translateY(0); } 30% { opacity: 1; transform: translateY(-3px); } }
.nw-chat-sugs { display: flex; flex-direction: column; gap: 6px; }
.nw-chat-sug { text-align: left !important; background: #fff !important; color: #6a5a35 !important; border: 1px solid rgba(212,186,135,.5) !important; border-radius: 10px !important; padding: 8px 12px !important; font-size: 12.5px !important; font-weight: 500 !important; cursor: pointer; text-transform: none !important; letter-spacing: 0 !important; box-shadow: none !important; line-height: 1.4 !important; min-height: 0 !important; }
.nw-chat-sug:hover { background: #faf3e1 !important; border-color: #d4ba87 !important; color: #1a1407 !important; }
.nw-chat-inp { display: flex; border-top: 1px solid rgba(212,186,135,.35); background: #fff; }
.nw-chat-inp input { flex: 1; border: 0 !important; padding: 13px 14px !important; font-size: 14px !important; background: transparent !important; box-shadow: none !important; border-radius: 0 !important; }
.nw-chat-inp input:focus { outline: none !important; }
.nw-chat-inp button { width: 52px; border: 0 !important; background: #d4ba87 !important; color: #1a1407 !important; cursor: pointer; display: flex; align-items: center; justify-content: center; border-radius: 0 !important; padding: 0 !important; box-shadow: none !important; }
.nw-chat-inp button:hover { background: #c9a84c !important; }
@media (max-width: 600px) { #nw-chat { right: 14px; bottom: 14px; } #nw-chat-fab { width: 52px; height: 52px; } #nw-chat-win { bottom: 64px; } .nw-chat-body { max-height: 46vh; } }
/* (audyt 2026-07-11, user „pomocnik do wyrzucenia na mobilce, zostaje na samej stronie w wersji dla komputerow")
   CALKOWITE ukrycie dymka pomocy na mobile (≤768px) — zostaje tylko desktop. Zmienia poprzednie zachowanie (dymek
   byl na mobile, tylko chowal sie przy banerze cookies). Regula ID-spec zeby bic ewentualne inline display z JS. */
/* (audyt 2026-07-11, user „jak klikne na pytania to nie pokazuje sie pomocnik") — bylo: cały #nw-chat + #nw-chat-win
   display:none na mobile -> przycisk „Pytania" (dolny pasek) nie mogl otworzyc okna. Teraz ukrywamy TYLKO plywajacy
   fab (dymek); kontener + okno zostaja, okno steruje sie atrybutem [hidden] (otwiera je „Pytania"). ZWERYFIKOWANE. */
@media (max-width: 768px) { html #nw-chat-fab:not(#nw-z) { display: none !important; } }
/* nie koliduj z mobilnym sticky CTA rezerwacji */
body.woocommerce-cart #nw-chat, body.woocommerce-checkout #nw-chat { bottom: 84px; }
/* (audyt 2026-07-10, user „dymek z masz pytanie musi byc wyzej, nie nachodzic na pasek podsumowania") gdy sticky pasek rezerwacji jest widoczny (body.nw-bar-on ustawiane JS-em) podnies dymek nad pasek */
/* (audyt 2026-07-12, user „pomocnik jest za wysoko") Na mobile FAB jest ukryty (wejscie przez „Pytania"), wiec okno NIE
   potrzebuje offsetu na FAB (dawne bottom:130/168/196 wypychalo okno 200px+ nad dol -> gorny brzeg wchodzil na header).
   Teraz: kotwica #nw-chat czysci tylko dolny pasek (toolbar 55 / CTA 66), a okno siedzi tuz nad kotwica (bottom:8) z
   max-height, wiec rosnie w gore z wewnetrznym scrollem body — nigdy nie dotyka naglowka. */
@media (max-width: 768px) {
  #nw-chat-win { bottom: 8px; max-height: calc(100vh - 130px); }
  .nw-chat-body { max-height: none; flex: 1 1 auto; min-height: 0; }
  body.sticky-toolbar-on #nw-chat { bottom: 64px; }
  body.nw-bar-on #nw-chat { bottom: 78px; }
  body.sticky-toolbar-on.nw-bar-on #nw-chat { bottom: 130px; }
}

/* ============ STANY BLEDOW / PUSTE WIDOKI w stylu strony (2026-07-03, user) ============ */
.woocommerce-cart .cart-empty.woocommerce-info,
.wc-empty-cart-message .woocommerce-info,
.woocommerce-no-products-found .woocommerce-info,
.search-no-results .woocommerce-info,
body.search .no-results {
  display: block;
  background: #fff !important;
  border: 1px solid rgba(212, 186, 135, 0.5) !important;
  border-radius: 12px !important;
  padding: 34px 28px !important;
  margin: 26px auto !important;
  max-width: 640px;
  text-align: center !important;
  color: #444 !important;
  font-size: 16px;
  box-shadow: 0 12px 34px rgba(60, 45, 15, 0.08);
}
.woocommerce-cart .cart-empty.woocommerce-info::before,
.woocommerce-no-products-found .woocommerce-info::before { display: none !important; }
.return-to-shop { text-align: center; }
body.error404 .page-content, body.error404 .error-404 {
  background: #fff; border: 1px solid rgba(212, 186, 135, 0.5); border-radius: 12px;
  box-shadow: 0 12px 34px rgba(60, 45, 15, 0.08);
  max-width: 680px; margin: 48px auto; padding: 44px 32px; text-align: center;
}
body.error404 .page-title { font-size: 34px; color: #1a1407; }


/* ============================================================
   PARTIA POPRAWEK 2026-07-03 (wieczor) — naglowki/header/strzalki/
   tooltip/checkout/thankyou/czat. Kazda regula z powodem.
   ============================================================ */

/* --- 1. NAGLOWKI: user "przesadziles z pogrubieniami ogolnie" + "naglowki stron w headerach sa duzo za duze".
   Globalnie 600 zamiast 700 (realny Poppins 700 po fixie fontow okazal sie za ciezki); tytuly banerow mniejsze. */
body :is(h1, h2, h3, h4, h5, h6) { font-weight: 600; }
html .elementor-heading-title:not(#nw-z) { font-weight: 600 !important; }
html :is(.wd-page-title, .page-title) :is(h1, .entry-title):not(#nw-z),
html .nw-faq-top :is(h1, h2):not(#nw-z),
html .nw-contact-top :is(h1, h2):not(#nw-z) {
  font-size: clamp(26px, 3vw, 38px) !important;
  font-weight: 600 !important;
  line-height: 1.18 !important;
}

/* --- 2. HEADER: user "ikona moje konto za daleko od koszyka" — sklejenie narzedzi headera. */
html .whb-header .wd-header-my-account:not(#nw-z) { margin: 0 !important; }
html .whb-header .wd-header-my-account > a:not(#nw-z) { padding: 0 4px !important; }
html .whb-header .wd-header-cart:not(#nw-z) { margin-left: 4px !important; }
html .whb-header [class*="col-right"]:not(#nw-z),
html .whb-header .wd-header-elements:not(#nw-z) { gap: 0 !important; }

/* --- 2b. BADGE koszyka: user "ikona koszyka nachodzi na baner" — mniejszy licznik, nizej (nie wystaje nad header). */
html .whb-header .wd-cart-number:not(#nw-z) {
  top: 0 !important;
  min-width: 17px !important;
  height: 17px !important;
  line-height: 17px !important;
  font-size: 10px !important;
  padding: 0 4px !important;
}

/* --- 3. TOOLTIP "i" przy opcjach dodatkowych (Szczegoly rezerwacji): user "zaokraglone i kolor jak z menu od oferty"
   = zloty panel #d4ba87 + ciemny napis (jak dropdown Oferta). Inline <style> formularza bije kolejnoscia -> ID-spec. */
html body.page-id-29938 .nw-offer-tooltip:not(#nw-z) {
  background: #d4ba87 !important;
  color: #1a1407 !important;
  border: 0 !important;
  border-radius: 10px !important;
  box-shadow: 0 12px 28px rgba(0, 0, 0, 0.18) !important;
  font-weight: 500 !important;
}
html body.page-id-29938 .nw-offer-tooltip:not(#nw-z):before {
  background: #d4ba87 !important;
  border-color: #d4ba87 !important;
}

/* --- 4. KASA (krok 4): user "dane rezerwacji i twoje zamowienie blizej siebie" — wezszy kontener zamiast
   rozstrzelenia na cala szerokosc; + font naglowka "Twoje zamowienie" (byl motywowy/mieszany) = Poppins 600. */
@media (min-width: 1025px) {
  body.woocommerce-checkout .site-content .woocommerce { max-width: 1220px; margin-left: auto; margin-right: auto; }
}
html #order_review_heading:not(#nw-z),
html .nw-ccb-title:not(#nw-z) {
  font-family: 'Poppins', 'Helvetica Neue', Arial, sans-serif !important;
  font-weight: 600 !important;
  letter-spacing: 0.2px;
}

/* --- 5. THANK-YOU: user "Prosba o wycene zostala zapisana - dziwny font" (h2 dziedziczyl Roboto z body;
   naglowki = Poppins, kanon) + maly link powrotu na koncu. */
.nw-thankyou-box h2,
.woocommerce-order h2 {
  font-family: 'Poppins', 'Helvetica Neue', Arial, sans-serif !important;
  font-weight: 600 !important;
}
a.nw-thankyou-home {
  font-size: 13px;
  color: #8a6d2f !important;
  text-decoration: none !important; /* (2026-07-03, user) bez podkreslenia i strzalki */
  border-bottom: 0 !important;
}
a.nw-thankyou-home:hover { color: #1a1407 !important; }

/* --- 6. OPINIE: user "na mobilce strzalki nadal w innym kolorze" — "inny kolor" to byl stan :disabled
   z opacity .8 (wygladal jak brudniejsze zloto). Wygaszamy wyraznie zamiast przyciemniac. */
html .nw-opinie-arrow:not(#nw-z):disabled { opacity: 0.25 !important; }

/* --- 7. POWIAZANE PRODUKTY (karuzela na produkcie): user "strzalki nie sa spojne ze strona i nachodza na
   produkty" — zlote grube chevrony (jak opinie) + odsuniecie poza karty + wygaszony stan disabled. */
body:is(.single-product,.woocommerce-cart,.woocommerce-checkout) .wd-carousel-container.with-title .wd-btn-arrow:not(#nw-z) {
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  color: #c9a84c !important;
}
body:is(.single-product,.woocommerce-cart,.woocommerce-checkout) .wd-carousel-container.with-title .wd-btn-arrow:not(#nw-z):hover { color: #b8923a !important; background: transparent !important; }
body:is(.single-product,.woocommerce-cart,.woocommerce-checkout) .wd-carousel-container.with-title .wd-btn-arrow.wd-prev:not(#nw-z) { margin-left: -22px !important; }
body:is(.single-product,.woocommerce-cart,.woocommerce-checkout) .wd-carousel-container.with-title .wd-btn-arrow.wd-next:not(#nw-z) { margin-right: -22px !important; }
body:is(.single-product,.woocommerce-cart,.woocommerce-checkout) .wd-carousel-container.with-title .wd-btn-arrow.wd-disabled:not(#nw-z) { opacity: 0.25 !important; }
/* (audyt 2026-07-03, user „strzalki niezgodne z ustalonym standardem") GRUBY chevron SVG (stroke 4) jak strzalki
   opinii (.nw-opinie-arrow) — WoodMart rysowal cienki glif, font-size go nie pogrubial. Zamieniamy CALE wnetrze
   strzalki na MASKE SVG + zlote tlo (dziala niezaleznie od tego, czym WoodMart rysuje chevron). Wzorzec jak l.5513/5536. */
html body:is(.single-product,.woocommerce-cart,.woocommerce-checkout) .wd-carousel-container.with-title .wd-btn-arrow .wd-arrow-inner:not(#nw-z) {
  width: 34px !important; height: 34px !important;
  background-color: #c9a84c !important; color: transparent !important; font-size: 0 !important; border: 0 !important;
  -webkit-mask-repeat: no-repeat; mask-repeat: no-repeat;
  -webkit-mask-position: center; mask-position: center;
  -webkit-mask-size: 26px 26px; mask-size: 26px 26px;
}
html body:is(.single-product,.woocommerce-cart,.woocommerce-checkout) .wd-carousel-container.with-title .wd-btn-arrow .wd-arrow-inner:not(#nw-z)::before,
html body:is(.single-product,.woocommerce-cart,.woocommerce-checkout) .wd-carousel-container.with-title .wd-btn-arrow .wd-arrow-inner:not(#nw-z)::after { display: none !important; }
html body:is(.single-product,.woocommerce-cart,.woocommerce-checkout) .wd-carousel-container.with-title .wd-btn-arrow.wd-prev .wd-arrow-inner:not(#nw-z) {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M15 4l-8 8 8 8'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M15 4l-8 8 8 8'/%3E%3C/svg%3E");
}
html body:is(.single-product,.woocommerce-cart,.woocommerce-checkout) .wd-carousel-container.with-title .wd-btn-arrow.wd-next .wd-arrow-inner:not(#nw-z) {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M9 4l8 8-8 8'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M9 4l8 8-8 8'/%3E%3C/svg%3E");
}
html body:is(.single-product,.woocommerce-cart,.woocommerce-checkout) .wd-carousel-container.with-title .wd-btn-arrow:hover .wd-arrow-inner:not(#nw-z) { background-color: #b8923a !important; }
@media (max-width: 1100px) {
  body:is(.single-product,.woocommerce-cart,.woocommerce-checkout) .wd-carousel-container.with-title .wd-btn-arrow.wd-prev:not(#nw-z) { margin-left: 0 !important; }
  body:is(.single-product,.woocommerce-cart,.woocommerce-checkout) .wd-carousel-container.with-title .wd-btn-arrow.wd-next:not(#nw-z) { margin-right: 0 !important; }
}

/* --- 8. GALERIA (strona 51): user "strzalka sie przesuwa jak najade i ma dziwne tlo nagle" — .nw-gallery-arrow
   to <button>, wiec lapal GLOBALNA regule button{} (zlote tlo, padding, wersaliki) na hover/focus. Pelny wyjatek
   ID-spec + LOCK rozmiaru (wzorzec anti-przeskok) + bez kropkowanego outline. */
html button.nw-gallery-arrow:not(#nw-z),
html button.nw-gallery-arrow:not(#nw-z):hover,
html button.nw-gallery-arrow:not(#nw-z):focus,
html button.nw-gallery-arrow:not(#nw-z):focus-visible,
html button.nw-gallery-arrow:not(#nw-z):active {
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  outline: none !important;
  padding: 0 !important;
  min-width: 0 !important;
  min-height: 0 !important;
  width: 52px !important;
  height: 64px !important;
  font-size: inherit !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
  transform: translateY(-50%) !important;
  transition: color 0.2s ease, opacity 0.2s ease !important;
  color: #c9a84c !important;
}
html button.nw-gallery-arrow:not(#nw-z):hover { color: #b8923a !important; }
html button.nw-gallery-arrow:not(#nw-z):disabled { opacity: 0.25 !important; }

/* --- 9. SCROLL-TO-TOP na LEWO: user "chmurka faq jest na koleczku do przesuwania strony" — kolizja
   z bąbelkiem czatu (prawy dolny rog). Przenosimy strzalke do gory w lewy rog na wszystkich stronach. */
html :is(.wd-scroll-top, .scrollToTop):not(#nw-z) {
  left: 18px !important;
  right: auto !important;
}
/* (audyt 2026-07-21, punkt 15) ...ale po przeniesieniu w LEWY dolny rog przycisk wszedl na KARTY
   KONFIGURATORA: lezy na karcie („Namiot imprezowy 5x8 m"), zaslania poczatek nazwy i przechwytuje
   klikniecie w jej lewym dolnym rogu — a cala karta jest przyciskiem wyboru, wiec to kradziez kliku
   w kroku, ktory decyduje o zamowieniu. Na konfiguratorze go chowamy: strona ma wlasna nawigacje
   krokowa i CTA na dole, wiec nic nie tracimy.
   `:has(.nw-kf)` lapie kazde miejsce, gdzie renderuje sie shortcode (nie tylko sama podstrone),
   `page-id-31488` zostaje jako fallback dla przegladarek bez :has(). */
html body:has(.nw-kf) :is(.wd-scroll-top, .scrollToTop):not(#nw-z),
html body.page-id-31488 :is(.wd-scroll-top, .scrollToTop):not(#nw-z) {
  display: none !important;
}

/* --- 10. MOBILE: user "za duza przerwa" (Szczegoly rezerwacji: pusta przestrzen miedzy ZAPISZ a stopka). */
@media (max-width: 768px) {
  body.page-id-29938 .main-page-wrapper { padding-bottom: 0 !important; }
  body.page-id-29938 .site-content { padding-bottom: 12px !important; }
  body.page-id-29938 form .nw-main-submit { margin-bottom: 10px !important; }
}


/* ============================================================
   2026-07-03 (wieczor v2) — DOPRACOWANIE CZATU + STRZALKI GALERII PRODUKTU
   (audyt strzalek: jedyna niespojnosc = szare #a5a5a5 strzalki galerii
   zdjec produktu; related/opinie/galeria-51 juz zlote lub naprawione wyzej)
   ============================================================ */

/* Strzalki galerii ZDJEC produktu (wd-gallery-images): szare -> zloto kanonu, wygaszony disabled. */
body.single-product .wd-gallery-images .wd-btn-arrow:not(#nw-z),
body.single-product .wd-gallery-images .wd-btn-arrow .wd-arrow-inner:not(#nw-z) {
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  color: #c9a84c !important;
}
body.single-product .wd-gallery-images .wd-btn-arrow .wd-arrow-inner:not(#nw-z) { font-size: 30px !important; }
body.single-product .wd-gallery-images .wd-btn-arrow:not(#nw-z):hover { color: #b8923a !important; background: transparent !important; }
body.single-product .wd-gallery-images .wd-btn-arrow.wd-disabled:not(#nw-z) { opacity: 0.25 !important; }

/* --- CZAT: polerowanie okna (user: "dopracuj dymek czatu wygladowo") --- */
#nw-chat-win { width: 372px; border-radius: 16px; }
.nw-chat-head strong { font-family: 'Poppins', 'Helvetica Neue', Arial, sans-serif; font-weight: 600; font-size: 15.5px; letter-spacing: 0.2px; }
.nw-chat-head span { font-size: 11.5px; opacity: 0.75; }
#nw-chat-close {
  width: 30px !important; height: 30px !important; min-width: 0 !important;
  display: flex; align-items: center; justify-content: center;
  background: transparent !important; border: 0 !important; box-shadow: none !important;
  color: #d4ba87 !important; font-size: 22px !important; line-height: 1 !important;
  padding: 0 !important; border-radius: 50% !important; cursor: pointer;
  text-transform: none !important; letter-spacing: 0 !important;
  transition: color 0.2s ease, background 0.2s ease;
}
#nw-chat-close:hover { color: #fff !important; background: rgba(212, 186, 135, 0.18) !important; }

/* (2026-07-03, user: "popularne pytania do lewej") globalna regula button{} daje pigulkom
   inline-flex + centrowanie -> text-align nie dziala, a przycisk zweza sie do tresci i laduje
   na srodku. Pelna szerokosc + tekst od lewej, ID-spec. */
html .nw-chat-sugs:not(#nw-z) { align-items: stretch !important; }
html .nw-chat-sug:not(#nw-z) {
  display: block !important;
  width: 100% !important;
  text-align: left !important;
  justify-content: flex-start !important;
  margin: 0 !important;
}

/* naglowek mini nad pytaniami startowymi */
.nw-chat-sugs::before {
  content: 'Popularne pytania';
  display: block;
  font-size: 10.5px;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #a08650;
  margin: 2px 0 2px 2px;
}

/* (2026-07-03, user: "miejsce na pytanie z ta strzalka bardzo male i scisniete")
   przestronny pasek pytania: padding wiersza, wyzszy input, wiekszy okragly przycisk. */
.nw-chat-inp { padding: 10px 12px !important; gap: 8px; align-items: center; }
.nw-chat-inp input {
  padding: 12px 14px !important;
  font-size: 14.5px !important;
  line-height: 1.3 !important;
  min-height: 44px;
  border: 1px solid rgba(212, 186, 135, 0.45) !important;
  border-radius: 999px !important;
  background: #fdfbf6 !important;
}
.nw-chat-inp input::placeholder { color: #a89a7c; }

/* przycisk wyslij: okragly, zloty, spojny z kanonem */
.nw-chat-inp button[type="submit"] {
  width: 44px !important; height: 44px !important; min-width: 0 !important; flex: 0 0 44px;
  border-radius: 50% !important;
  background: #d4ba87 !important; color: #1a1407 !important;
  border: 0 !important; box-shadow: none !important; padding: 0 !important;
  display: flex; align-items: center; justify-content: center;
  transition: background 0.2s ease;
}
.nw-chat-inp button[type="submit"]:hover { background: #c9a84c !important; color: #1a1407 !important; }
.nw-chat-inp input:focus { border-color: #d4ba87 !important; box-shadow: 0 0 0 3px rgba(212, 186, 135, 0.25) !important; outline: none !important; }

/* watek: cienki zloty scrollbar + odstepy dymkow */
.nw-chat-body { scrollbar-width: thin; scrollbar-color: rgba(212, 186, 135, 0.7) transparent; }
.nw-chat-body::-webkit-scrollbar { width: 6px; }
.nw-chat-body::-webkit-scrollbar-thumb { background: rgba(212, 186, 135, 0.7); border-radius: 3px; }
.nw-chat-body::-webkit-scrollbar-track { background: transparent; }
.nw-chat-msg { line-height: 1.5; }
/* (audyt 2026-07-03, user „zakladka OFERTA/WYCEN dobrze zeby byla podswietlona") linki w odpowiedziach = zlota plakietka */
.nw-chat-bot a { color: #7a5f22 !important; text-decoration: none !important; background: rgba(212, 186, 135, 0.22); border: 1px solid rgba(212, 186, 135, 0.55); border-radius: 5px; padding: 0 5px; font-weight: 600; white-space: nowrap; }
.nw-chat-bot a:hover { color: #1a1407 !important; background: rgba(212, 186, 135, 0.42); border-color: #d4ba87; }

/* TEASER: dymek "Masz pytanie?" nad bąbelkiem (raz na sesje; JS w CZESCI 2) — wyjatek z globalnej reguly button{} */
html button#nw-chat-teaser:not(#nw-z) {
  position: absolute;
  right: 0;
  bottom: 72px;
  white-space: nowrap;
  background: #fff !important;
  color: #1a1407 !important;
  border: 1px solid rgba(212, 186, 135, 0.65) !important;
  border-radius: 12px !important;
  box-shadow: 0 12px 30px rgba(0, 0, 0, 0.16) !important;
  padding: 10px 14px !important;
  font-size: 13px !important;
  font-weight: 500 !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
  min-width: 0 !important;
  cursor: pointer;
  animation: nwChatTeaseIn 0.35s ease;
}
html button#nw-chat-teaser:not(#nw-z):hover { background: #faf3e1 !important; border-color: #d4ba87 !important; }
html button#nw-chat-teaser:not(#nw-z)::after {
  content: '';
  position: absolute;
  right: 22px;
  bottom: -6px;
  width: 11px; height: 11px;
  background: #fff;
  border-right: 1px solid rgba(212, 186, 135, 0.65);
  border-bottom: 1px solid rgba(212, 186, 135, 0.65);
  transform: rotate(45deg);
}
@keyframes nwChatTeaseIn { from { opacity: 0; transform: translateY(6px); } to { opacity: 1; transform: translateY(0); } }
@media (max-width: 600px) { html button#nw-chat-teaser:not(#nw-z) { bottom: 64px; font-size: 12.5px; } }


/* ============================================================
   PARTIA 2026-07-03 v3 — related bez bialych tel, nieaktywne strzalki
   ukryte, boks regulaminu wyrozniony
   ============================================================ */

/* --- 1. POWIAZANE PRODUKTY: user "nadal maja tla pod zdjeciem" — biale tlo dawal wrapper
   .product-element-top (bg #fff + padding 18px; zmierzone w przegladarce), nie img-link. */
body:is(.single-product, .woocommerce-cart, .woocommerce-checkout) .wd-carousel :is(.product-element-top, .wd-product-thumb):not(#nw-z) {
  background: transparent !important;
  padding: 0 !important;
}
body:is(.single-product, .woocommerce-cart, .woocommerce-checkout) .wd-carousel .wd-product-img-link:not(#nw-z) {
  padding: 0 !important;
}

/* --- 2. STRZALKI: user "jedna strzalka malo widoczna" (to byl stan disabled .25 na 1. slajdzie)
   — nieaktywna strzalka ZNIKA calkiem; pojawia sie, gdy ma dokad przewijac. */
body:is(.single-product, .woocommerce-cart, .woocommerce-checkout) .wd-carousel-container.with-title .wd-btn-arrow.wd-disabled:not(#nw-z),
body.single-product .wd-gallery-images .wd-btn-arrow.wd-disabled:not(#nw-z),
html .nw-opinie-arrow:not(#nw-z):disabled,
html button.nw-gallery-arrow:not(#nw-z):disabled {
  opacity: 0 !important;
  pointer-events: none !important;
}

/* --- 3. FAQ: (audyt 2026-07-20, user "ten zolty w regulaminie wynajmu jest za mocny, musimy to ujednolicic")
   KANON BOKSOW: jasny krem #fdfbf6 + ramka rgba(212,186,135,.45) + radius 12px, BEZ gradientu (wzor = karta
   "Podsumowanie koszyka"). Poprzedni zloty gradient #faf3e1-#f5ead1 wycofany. */
html .nw-faq-regulations-inner:not(#nw-z) {
  background: #fdfbf6 !important;
  border: 1px solid rgba(212, 186, 135, 0.45) !important;
  border-radius: 12px !important;
  box-shadow: 0 10px 30px rgba(212, 186, 135, 0.16) !important;
  padding: 44px 32px 40px !important;
}
html .nw-faq-regulations-inner h2:not(#nw-z) { color: #1a1407 !important; }


/* ============================================================
   PARTIA 2026-07-03 v4 — typografia globalnie lzejsza, banery 1:1,
   ikony headera rowno, karty kf wyrownane, koszyk jak wycena
   ============================================================ */

/* --- 1. TYPOGRAFIA: user "nadal tytuly pogrubione za mocne, trzeba wszystko troche zmniejszyc".
   ID-spec + !important bije inline 700 (naglowki kart formularza mialy w700 mimo globalnego 600). */
html :is(h1, h2, h3, h4, h5, h6):not(#nw-z) { font-weight: 600 !important; }
/* tytuly banerow stron: krok mniejsze (38 -> 34 na duzych ekranach) */
html :is(.wd-page-title, .page-title) :is(h1, .entry-title):not(#nw-z),
html .nw-faq-top :is(h1, h2):not(#nw-z),
html .nw-contact-top :is(h1, h2):not(#nw-z) {
  font-size: clamp(30px, 3.4vw, 44px) !important;
}
/* naglowki kart formularza rezerwacji (Typ klienta / Zastawa / ... mialy inline 24px/700 —
   user: "lepsza ta od uwagi do zamowienia" = lzejsza) */
html body.page-id-29938 :is(h2, h3):not(.nw-transition-loader-title):not(#nw-z) { /* (audyt 2026-07-03, user „loader dwie wersje, mniejsza czcionka") wykluczony tytul loadera — regula 21px zmieniala go z 22px (clamp) na 21px = „mrugniecie" przy przejsciu WYCEN->Szczegoly */
  font-weight: 600 !important;
  font-size: 21px !important;
}

/* --- 2. BANERY: user "kontakt i wycen ma inne napisy na glownym banerze — WSZEDZIE UJEDNOLICONE".
   Tytuly juz 1:1 (zmierzone: oba 38/600) — roznily sie PODTYTULY/leady. Jeden styl leadu wszedzie. */
html :is(.wd-page-title, .page-title, .nw-contact-top, .nw-faq-top) p:not(#nw-z) {
  font-size: 16.5px !important;
  font-weight: 400 !important;
  line-height: 1.65 !important;
  letter-spacing: 0 !important;
  max-width: 860px;
  margin: 10px auto 0 !important;
  opacity: 0.95;
}

/* --- 3. HEADER: user "ikony lupka, moje konto i koszyk nie rowno od siebie" (zmierzone: 0 vs 4px,
   paddingi 10px vs 4px). Zerujemy wewnetrzne paddingi, JEDEN odstep 14px z marginesu.
   (audyt 2026-07-20, user "rozstaw ikon telefonu i koszyka jest inny, co powoduje przeskos paska przy skoku
   w dol") ZEROWANIE PADDINGU ograniczone do DESKTOPU (min-width:1025px). Powod: to byl fix desktopowy
   (lupka/konto/koszyk), ale bez media lapal tez mobilny pasek GLOWNY — a KLON sticky NIE ma klasy .whb-header,
   wiec zostawal z paddingiem 10px z reguly l.~248 (fix z 2026-07-11 "dopasuj zwykle menu do sticky").
   Efekt: koszyk 26px (glowny) vs 46px (klon) -> telefon 20px dalej -> przeskok przy pojawieniu sie sticky.
   Po zmianie na mobile w OBU paskach rzadzi regula l.~248 (padding 10px, wiekszy touch target) — zgodnie
   z decyzja usera z 2026-07-11. Desktop bez zmian. Margin 14px zostaje globalny (zmierzone: spojny w obu). */
html .whb-header :is(.wd-header-search, .wd-header-my-account, .wd-header-cart):not(#nw-z) {
  margin: 0 0 0 14px !important;
}
@media (min-width: 1025px) {
  html .whb-header :is(.wd-header-search, .wd-header-my-account, .wd-header-cart) > a:not(#nw-z) {
    padding: 0 !important; /* (2026-07-03 v2, user: 'nadal nierowne') koszyk mial padding 0 10px -> ikona 10px za daleko; gapy 34/44 -> 34/34 */
  }
}

/* --- 4. KONFIGURATOR: user "kwoty nie rowno na podlogach" + "zle ulozone" (Stoly i obrusy).
   Karty rownej wysokosci (stretch), tytul z rezerwa 2 linii, cena dopychana w dol => ceny na
   jednej linii niezaleznie od dlugosci nazwy/opisu. */
.nw-kf .nw-kf-cards { align-items: stretch; }
.nw-kf .nw-kf-card { display: flex; flex-direction: column; } /* (2026-07-03 v4) height:100% USUNIETE — psulo flex align-items:stretch (karty sie nie rozciagaly). Bez niego stretch dziala i rzedy maja rowne wysokosci. */
/* (audyt 2026-07-03 v5, user: „cena ma rozna wysokosc") KANON WYROWNANIA: cap (label+podpis) POCHLANIA
   wolna przestrzen (flex:1), a cena i stepper NIE maja auto-marginesu (dwa auto-marginesy dzielily
   przestrzen -> cena skakala o pol roznicy wysokosci podpisu). Stepper realny (~91px) == placeholder
   (min-height 92px) -> cena i stepper na tej samej wysokosci w calym rzedzie, tez gdy karta bez ceny
   (girlandy/ogrzewanie). Zmierzone na zywo: spread ceny 16px -> 0px. */
.nw-kf .nw-kf-card .nw-kf-cap { flex: 1 1 auto; }
.nw-kf .nw-kf-card .nw-kf-price { margin-top: 0; padding-top: 8px; }
.nw-kf .nw-kf-card .nw-kf-cardqty,
.nw-kf .nw-kf-card .nw-kf-cardqty-ph { margin-top: 0; min-height: 92px; }
@media (min-width: 601px) {
  /* (2026-07-03 v2 FIX, user: 'rozwaliy sie kafelki') display:flex robil z .nw-kf-cap uklad POZIOMY
     -> tytul (text-node) i podpis (<small> block) ladowaly OBOK siebie. Cap MUSI byc block (small ma
     wlasny display:block). Rezerwa wysokosci min-height zostaje — dla wyrownania cen miedzy kartami. */
  .nw-kf .nw-kf-card .nw-kf-cap { min-height: 3.4em; display: block; }
}

/* --- 5. KOSZYK: user "produkty w koszyku powinny miec ramke w tym samym stylu co wycena"
   — karta jak .nw-kf-cart (krem, zlota ramka, radius 12, miekki cien). */
html body.woocommerce-cart .woocommerce-cart-form:not(#nw-z) {
  background: #fdfbf6 !important;
  border: 1px solid rgba(212, 186, 135, 0.45) !important;
  border-radius: 12px !important;
  padding: 22px 26px !important;
  box-shadow: 0 14px 40px rgba(0, 0, 0, 0.05) !important;
}
html body.woocommerce-cart .woocommerce-cart-form .shop_table:not(#nw-z) {
  border: 0 !important;
  margin-bottom: 0 !important;
}


/* ============================================================
   PARTIA 2026-07-03 v5 — PODSUMOWANIE KASY w kanonie strony
   (user: "podsumowanie nadal wyglada nie w stylu strony")
   ============================================================ */

/* dubel naglowka: WC drukowal "Twoje zamowienie" NAD karta, a karta ma wlasny tytul w srodku
   (.nw-ccb-title) — zewnetrzny znika. */
html body.woocommerce-checkout #order_review_heading:not(#nw-z) { display: none !important; }

/* obie kolumny podsumowania = kanon karty (krem, zlota ramka, radius 12, miekki cien) */
html .nw-ccb-reservation-details:not(#nw-z),
html .nw-checkout-calc-box:not(#nw-z) {
  background: #fdfbf6 !important;
  border: 1px solid rgba(212, 186, 135, 0.45) !important;
  border-radius: 12px !important;
  box-shadow: 0 14px 40px rgba(0, 0, 0, 0.05) !important;
  padding: 26px 26px 24px !important;
}
/* karta w karcie (gdyby WC wstawil wlasne tlo/ramke tabeli) — wylaczamy wewnetrzne ramki */
html .nw-checkout-calc-box .shop_table:not(#nw-z),
html body.woocommerce-checkout #order_review .shop_table:not(#nw-z) {
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}

/* tytul karty "Twoje zamowienie" — Poppins 600, zlota linia jak w wycenie */
html .nw-ccb-title:not(#nw-z) {
  font-family: 'Poppins', 'Helvetica Neue', Arial, sans-serif !important;
  font-size: 20px !important;
  font-weight: 600 !important;
  color: #111 !important;
}
/* (2026-07-03, user: 'dziwne paski') JEDNA pelna zlota linia pod naglowkiem karty — bez krotkiej pod samym napisem */
html .nw-checkout-calc-box .nw-ccb-header:not(#nw-z) {
  display: flex; justify-content: space-between; align-items: baseline; gap: 12px;
  padding-bottom: 12px !important;
  border-bottom: 2px solid #d4ba87 !important;
  margin-bottom: 14px !important;
}

/* naglowki tabeli (PRODUKT / LICZBA / CENA) + pasma kategorii (NAMIOTY / MEBLE) — wyciszone,
   spojne z etykietami sekcji po lewej */
html .nw-checkout-calc-box th:not(#nw-z),
html .nw-checkout-calc-box .nw-ccb-section-label:not(#nw-z) {
  font-size: 11px !important;
  font-weight: 600 !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
  color: #8a6d2f !important;
}
html .nw-checkout-calc-box tr:not(#nw-z) th,
html .nw-checkout-calc-box tr:not(#nw-z) td {
  border-color: rgba(212, 186, 135, 0.28) !important;
}
/* pasma kategorii w tabeli produktow (te z tlem) — delikatny krem zamiast zoltej belki */
html .nw-checkout-calc-box .nw-ccb-cat-row:not(#nw-z),
html .nw-checkout-calc-box thead:not(#nw-z) th {
  background: #f7efdd !important;
}

/* tabela produktow (.nw-ccb-product-table) — niezaleznie od wrappera */
html .nw-ccb-product-table th:not(#nw-z) {
  font-size: 11px !important;
  font-weight: 600 !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
  color: #8a6d2f !important;
  background: transparent !important;
  border-color: rgba(212, 186, 135, 0.28) !important;
}
html .nw-ccb-product-table td:not(#nw-z) { border-color: rgba(212, 186, 135, 0.28) !important; }
html .nw-ccb-product-table .nw-ccb-cat-row:not(#nw-z),
html .nw-ccb-product-table .nw-ccb-cat-row:not(#nw-z) td {
  background: #f7efdd !important;
  color: #8a6d2f !important;
  font-size: 11px !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
  font-weight: 600 !important;
}
html .nw-ccb-product-subtitle:not(#nw-z) { color: #9a8a68 !important; font-size: 12.5px !important; }

/* lewa karta: etykieta "DANE REZERWACJI" + tytuly grup (ZAMAWIAJACY / TERMIN I MIEJSCE) */
html .nw-ccb-reservation-details .nw-ccb-section-label:not(#nw-z) {
  font-size: 11px !important;
  letter-spacing: 0.08em !important;
  color: #8a6d2f !important;
}
html .nw-ccb-reservation-title:not(#nw-z) {
  font-family: 'Poppins', 'Helvetica Neue', Arial, sans-serif !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  letter-spacing: 0.06em !important;
  color: #8a6d2f !important;
}


/* ============================================================
   PARTIA 2026-07-03 v6 — JEDNA SKALA GRUBOSCI (user: "przestan z ta
   gruboscia tekstu / jakas jednolitosc musi byc / weryfikuj CALY KOD")
   Kanon: naglowki 600 · przyciski 500 · tresc 400 · b/strong 600 ·
   etykiety tabel 11px caps 600. Hurtowo: kazde 700/800 w CSS+PHP -> 600.
   ============================================================ */

/* przyciski: 600 -> 500 (user: "tekst w przyciskach za gruby") — jedna regula bije wszystkie warianty */
html :is(button, .btn, .button, input[type="submit"], input[type="button"],
  a.add_to_cart_button, a.checkout-button, .single_add_to_cart_button, .bundle_add_to_cart_button,
  .nw-home-process-button, .nw-shop-cta-btn, .nw-contact-main-btn, .nw-contact-secondary-btn,
  .nw-faq-regulations-btn, .nw-avail-btn, .nw-cancel-order-btn, .nw-cta-phone-btn, .nw-cta-return-btn,
  .nw-gallery-bundle-btn, .nw-retry-btn, .nw-sticky-cta, .nw-kfh-btn, .nw-kf-btn, .nw-kf-add,
  .nw-kf-next, .nw-kf-back, .nw-main-submit, .nw-hero-cta,
  .nw-home-realizacje-preview__button, .nw-home-realizacje-preview__more):not(#nw-z) {
  font-weight: 500 !important;
}

/* b/strong w tresci: default 700 -> 600 (user: "niektore grube, niektore normalne") */
body :is(b, strong) { font-weight: 600; }

/* koszyk: naglowki tabeli PRODUKT/CENA/LICZBA/SUMA byly wielkie i grube — maly caps jak na kasie */
html body.woocommerce-cart .shop_table th:not(#nw-z) {
  font-size: 11px !important;
  font-weight: 600 !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
  color: #8a6d2f !important;
}

/* kasa: DUBEL "Twoje zamowienie" — zewnetrzny naglowek MOTYWU (nie #order_review_heading) */
html body.woocommerce-checkout .woodmart-title-container:not(#nw-z),
html body.woocommerce-checkout .checkout-order-review > h3:not(#nw-z) {
  display: none !important;
}


/* ============================================================
   PARTIA 2026-07-03 v7 — grubosci z MOTYWU (skan zywej strony:
   jedyne zrodla 700 spoza naszego kodu = menu + kwota koszyka)
   ============================================================ */
html .whb-header .woodmart-nav-link:not(#nw-z),
html .whb-header .nav-link-text:not(#nw-z),
html .wd-nav-mobile .woodmart-nav-link:not(#nw-z) {
  font-weight: 500 !important; /* menu = nawigacja, skala przyciskow */
}
html .whb-header .wd-cart-subtotal:not(#nw-z),
html .whb-header .wd-cart-subtotal .woocommerce-Price-amount:not(#nw-z),
html .whb-header .wd-tools-text:not(#nw-z) {
  font-weight: 600 !important; /* kwota przy koszyku: 700 -> 600 */
}


/* ============================================================
   PARTIA 2026-07-03 v8 — koszyk: ceny bez lamania + czytelniejsze naglowki
   (user: "suma liczba za male teraz" — kwota "1 000,00 zl" lamala sie na 2 linie)
   ============================================================ */
html body.woocommerce-cart .woocommerce-cart-form .amount:not(#nw-z),
html body.woocommerce-cart .woocommerce-cart-form td.product-price:not(#nw-z),
html body.woocommerce-cart .woocommerce-cart-form td.product-subtotal:not(#nw-z) {
  white-space: nowrap !important;
}
html body.woocommerce-cart .woocommerce-cart-form td.product-price .amount:not(#nw-z),
html body.woocommerce-cart .woocommerce-cart-form td.product-subtotal .amount:not(#nw-z) {
  font-size: 16px !important;
  font-weight: 600 !important;
}
/* kolumny cena/liczba/suma dostaja minimum szerokosci, zeby kwota sie zmiescila */
html body.woocommerce-cart .woocommerce-cart-form td.product-price:not(#nw-z),
html body.woocommerce-cart .woocommerce-cart-form td.product-subtotal:not(#nw-z),
html body.woocommerce-cart .woocommerce-cart-form th.product-price:not(#nw-z),
html body.woocommerce-cart .woocommerce-cart-form th.product-subtotal:not(#nw-z) {
  min-width: 108px !important;
}
/* naglowki tabeli koszyka PRODUKT/CENA/LICZBA/SUMA (user: chodzilo o NAGLOWKI, 12.5 dalej za male) */
html body.woocommerce-cart .woocommerce-cart-form th:not(#nw-z) {
  font-size: 14px !important;
  font-weight: 600 !important;
  letter-spacing: 0.06em !important;
  color: #6f5520 !important; /* czytelniejsze niz jasny zloty brąz */
}


/* ============================================================
   ⭐ MASTER PRZYCISKI — JEDEN PUNKT PRAWDY (2026-07-03)
   User: "cala ujednolicenie sie zepsulo, mialo byc wszystko w jednym miejscu".
   TU zmieniasz WSZYSTKIE przyciski naraz. Ustawia wspolny JEZYK STYLU:
   waga 500 · odstep liter 0.04em · WERSALIKI · radius 8 · zloto #d4ba87 / napis #1a1407.
   (font-size i padding zostaja per-kontekst — hero jest wiekszy niz inline add-to-cart,
   ale WYGLADAJA z tej samej rodziny.) ID-spec :not(#nw-z) bije motyw i inline'y.
   Katalog klas: patrz CLAUDE.md -> "Katalog klas przyciskow".
   ============================================================ */
html :is(
  button, .btn, .button,
  input[type="submit"], input[type="button"], input[type="reset"],
  a.button, .woocommerce a.button, .woocommerce button.button, .woocommerce input.button,
  a.add_to_cart_button, .add_to_cart_button, .single_add_to_cart_button, .bundle_add_to_cart_button,
  a.product_type_bundle, .wd-add-btn a, a.checkout-button,
  button[name="nw_reservation_submit"],
  .nw-home-process-button, .nw-shop-cta-btn, .nw-contact-main-btn, .nw-contact-secondary-btn,
  .nw-faq-regulations-btn, .nw-avail-btn, .nw-cancel-order-btn, .nw-cta-phone-btn, .nw-cta-return-btn,
  .nw-gallery-bundle-btn, .nw-retry-btn, .nw-sticky-cta, .nw-hero-cta,
  .nw-kfh-btn, .nw-kf-btn, .nw-kf-add, .nw-kf-next, .nw-kf-back,
  .nw-home-realizacje-preview__button, .nw-home-realizacje-preview__more
):not(#nw-z):not(.nw-kf-pm):not(.nw-kf-spin):not(.nw-cookies-reject-btn) {
  font-weight: 500 !important;
  letter-spacing: 0.04em !important;
  text-transform: uppercase !important;
  border-radius: 8px !important;
  font-family: Poppins, "Helvetica Neue", Arial, sans-serif !important;
}
/* (audyt 2026-07-13, user „dodaj do wyceny z proponowanych nadal nie pasuje stylem do reszty buttonow")
   Poprzednio (07-12) zeszlismy na wage 400 bo przy 14px + wersaliki czytalo sie za grubo — ale to zrobilo je
   LZEJSZE niz reszta storefrontu (checkout/CTA = 500), wiec nie pasowaly. Zweryfikowane w Chrome: reference
   „PRZEJDŹ DO REZERWACJI" = 500/13px i wyglada dobrze. Wyrownujemy cross-sell/loop add-to-cart 1:1 do reference:
   500 + 13px (mniejszy font sprawia, ze 500 juz NIE jest za grube, a waga pasuje do reszty). Bijemy specyficzniejsza
   regule motywu `html body .woocommerce a.button.add_to_cart_button:not(#nw-z)` (1,3,3) podwojnym :not (2,x,y). */
html body a.add_to_cart_button:not(#nw-z):not(#nw-y),
html body .woocommerce a.button.add_to_cart_button:not(#nw-z):not(#nw-y),
html body .wd-add-btn a.add_to_cart_button:not(#nw-z):not(#nw-y),
html body .products a.add_to_cart_button:not(#nw-z):not(#nw-y),
html body .wd-carousel a.add_to_cart_button:not(#nw-z):not(#nw-y) {
  font-weight: 500 !important;
  font-size: 13px !important;
  /* (audyt 2026-07-13, user „dodaj do wyceny w moze cie zainteresowac nadal inne niz w ofercie") cross-sell mial
     padding 9x16 a lista 12x22 -> rozne wysokosci. Ujednolicamy padding = ta sama wysokosc/wyglad wszedzie. */
  padding: 12px 20px !important;
}

/* (audyt 2026-07-13, user „wszedzie taki sam jak na ofercie ... w pop up ten sam przycisk") — przycisk „DODAJ DO
   WYCENY" w POPUPIE „Ile sztuk?" (`.nw-qtypick__go`) ujednolicony do stylu Oferty: 13px/500/padding 12x20/min-height
   50px/uppercase (zlote/8px z master-reguly). Popup button jest full-width -> tekst sie miesci.
   UWAGA: przycisk na KARCIE produktu (`.single_add_to_cart_button`) CELOWO NIE ruszany — stoi obok steppera w waskim
   flex-itemie (166px), wiec wymuszenie 13px+padding 20px ZAWIJALO „DODAJ DO WYCENY" na 2 linie (user: „zepsuty
   przycisk na karcie"). Zostaje jego natywne 42px/14px, ktore i tak jest zlote/uppercase/500/8px = wizualnie jak
   Oferta, tylko odrobine mniejsze. */
html body .nw-qtypick__go:not(#nw-z) {
  font-weight: 500 !important;
  font-size: 13px !important;
  padding: 12px 20px !important;
  min-height: 50px !important;
  height: auto !important;
  letter-spacing: 0.04em !important;
  text-transform: uppercase !important;
  white-space: nowrap !important;
  line-height: 1.2 !important;
}
/* (audyt 2026-07-13, user „zepsuty przycisk na karcie") bezpiecznik: single button na karcie NIGDY nie zawija
   „DODAJ DO WYCENY" na 2 linie (waski flex-item obok steppera). Sam nowrap, natywny rozmiar 42px zostaje. */
html body button.single_add_to_cart_button:not(#nw-z) {
  white-space: nowrap !important;
}

/* (audyt 2026-07-13, user „NADAL dodaj do wyceny w moze cie zainteresowac jest w innym stylu ... ta sama sytuacja
   z buttonami na mobile i komputerze") — przycisk cross-sell/koszyk (`.wd-add-btn-replace`) ma WEWNETRZNA strukture
   `span.wd-action-icon` (checkmark) + `span.wd-action-text`, gdzie text-span jest flex-childem i ROZPYCHA sie do
   wysokosci flexa (zmierzone: 36px zamiast 1 linii) -> button 62px zamiast 50px jak lista w Ofercie (czysty tekst).
   Lista TEZ ma klase `.wd-add-btn-replace`, wiec ta regula ujednolica OBA (na liscie brak spanow = no-op; „Powiazane
   produkty" bez spanow = bez zmian). Fix: ukryc ikone, odczepic text-span od rozciagania, wymusic min-height:50px
   (= wysokosc listy). Zmierzone na zywo w Chrome: cross-sell 62->50px, identyczny z lista. Mobile + desktop. */
html body .wd-add-btn-replace a.add_to_cart_button:not(#nw-z),
html body .wd-carousel a.add_to_cart_button.wd-buy-now-btn:not(#nw-z) {
  min-height: 50px !important;
  align-items: center !important;
  justify-content: center !important;
}
html body .wd-add-btn-replace a.add_to_cart_button:not(#nw-z) .wd-action-icon {
  display: none !important;
}
html body .wd-add-btn-replace a.add_to_cart_button:not(#nw-z) .wd-action-text {
  align-self: center !important;
  flex: 0 0 auto !important;
  height: auto !important;
  min-height: 0 !important;
  line-height: normal !important;
  white-space: nowrap !important;
  margin: 0 !important;
}


/* ============================================================
   PARTIA 2026-07-03 v10 — kasa (dubel/zaokraglenie), dialog anulowania,
   MOJE KONTO (wszystkie zakladki spojne ze stroną)
   ============================================================ */

/* --- KASA: bialy boks „Twoje zamowienie" ZAOKRAGLONY + naglowki tabeli spojne --- */
html body.woocommerce-checkout .nw-checkout-calc-box:not(#nw-z) {
  border-radius: 14px !important;
  overflow: hidden;
}
/* naglowek tabeli PRODUKT/LICZBA/CENA — delikatne kremowe tlo (spojne z pasmami kategorii, nie ciemne) */
html .nw-ccb-product-table thead th:not(#nw-z) { background: #faf3e1 !important; }
html .nw-ccb-product-table .nw-ccb-cat-row:not(#nw-z) td { background: #f4ead2 !important; }

/* --- DIALOG „Anulowac zamowienie?": czcionka Poppins (byl serif DM) --- */
html #nw-cancel-modal .nw-cm-box h3:not(#nw-z),
html .nw-cm-box h3:not(#nw-z) {
  font-family: 'Poppins', 'Helvetica Neue', Arial, sans-serif !important;
  font-weight: 600 !important;
  letter-spacing: 0 !important;
}

/* ============================================================
   MOJE KONTO — spojnosc wszystkich zakladek (Kokpit / Zamowienia /
   Adresy / Szczegoly konta / szczegoly zamowienia)
   ============================================================ */

/* naglowki wszedzie na Poppins 600 (byly serif/ciezkie) */
html body.woocommerce-account :is(h1, h2, h3, h4, .entry-title):not(#nw-z) {
  font-family: 'Poppins', 'Helvetica Neue', Arial, sans-serif !important;
  font-weight: 600 !important;
  color: #1a1407 !important;
}

/* tabele (zamowienia, adresy, szczegoly zamowienia) = kremowe pasma + zloto, zaokraglenie */
html body.woocommerce-account :is(.woocommerce-orders-table, .woocommerce-table, .shop_table, table.account-orders-table):not(#nw-z) {
  border: 1px solid rgba(212, 186, 135, 0.4) !important;
  border-radius: 12px !important;
  overflow: hidden !important;
  border-collapse: separate !important;
  border-spacing: 0 !important;
}
html body.woocommerce-account :is(.woocommerce-orders-table, .woocommerce-table, .shop_table) th:not(#nw-z) {
  background: #faf3e1 !important;
  color: #8a6d2f !important;
  font-family: 'Poppins', Arial, sans-serif !important;
  font-size: 11px !important;
  font-weight: 600 !important;
  letter-spacing: 0.06em !important;
  text-transform: uppercase !important;
}
html body.woocommerce-account :is(.woocommerce-orders-table, .woocommerce-table, .shop_table) td:not(#nw-z) {
  border-top: 1px solid rgba(212, 186, 135, 0.22) !important;
}

/* lewe menu konta (Kokpit/Zamowienia/…) — spojne z dropdownem konta (zlote akcenty) */
html body.woocommerce-account .woocommerce-MyAccount-navigation ul:not(#nw-z) {
  border: 1px solid rgba(212, 186, 135, 0.35) !important;
  border-radius: 12px !important;
  overflow: hidden !important;
}
html body.woocommerce-account .woocommerce-MyAccount-navigation li:not(#nw-z) { border: 0 !important; }
html body.woocommerce-account .woocommerce-MyAccount-navigation li a:not(#nw-z) {
  font-family: 'Poppins', Arial, sans-serif !important;
  font-weight: 500 !important;
}
/* (audyt 2026-07-20, user „nie podoba mi sie to czarne podswietlenie w moje konto, zmien na kolory strony")
   BYLO: czarne tlo #111 + zloty napis (jedyna czern w tej sekcji, odstawala od kremowo-zlotej strony).
   TERAZ: aktywna pozycja = zloto marki #d4ba87 + ciemny napis #1a1407 (kanon przyciskow),
   hover = jasny krem #faf3e1 (kanon: akcent interakcji). */
html body.woocommerce-account .woocommerce-MyAccount-navigation li.is-active a:not(#nw-z) {
  background: #d4ba87 !important;
  color: #1a1407 !important;
}
html body.woocommerce-account .woocommerce-MyAccount-navigation li:not(.is-active):hover a:not(#nw-z) {
  background: #faf3e1 !important;
  color: #1a1407 !important;
}

/* linki „Dodaj adres" itp. w zlocie marki */
html body.woocommerce-account .woocommerce-Address-title a:not(#nw-z),
html body.woocommerce-account .addresses .title a:not(#nw-z) { color: #8a6d2f !important; }

/* karty adresow / boksy = kremowa ramka, zaokraglenie */
html body.woocommerce-account .woocommerce-Address:not(#nw-z),
html body.woocommerce-account .woocommerce-address-fields:not(#nw-z) {
  border: 1px solid rgba(212, 186, 135, 0.35) !important;
  border-radius: 12px !important;
  padding: 20px 22px !important;
  background: #fdfbf6 !important;
}


/* ============================================================
   PARTIA 2026-07-03 v11 — pusty koszyk (nachodzenie na baner + styl),
   adresy w koncie/zamowieniu nie-kursywa
   ============================================================ */

/* --- PUSTY KOSZYK: tresc przyklejona do banera (mt:0) + naglowek 47px (ogromny) --- */
html body.woocommerce-cart .cart-empty.wd-empty-block-title:not(#nw-z),
html body.woocommerce-cart .wc-empty-cart-message:not(#nw-z) {
  font-size: clamp(26px, 4vw, 34px) !important; /* bylo ~47px */
  font-weight: 600 !important;
}
/* odsuniecie calego bloku pustego koszyka od banera + oddech */
html body.woocommerce-cart .wd-empty-mini-cart:not(#nw-z),
html body.woocommerce-cart .cart-empty-block:not(#nw-z),
html body.woocommerce-cart .woocommerce > .cart-empty:not(#nw-z),
html body.woocommerce-cart .wd-empty-page-content:not(#nw-z),
html body.woocommerce-cart .page-wrapper .woocommerce:not(#nw-z) {
  padding-top: 56px !important;
}
/* watermark ikony koszyka — mniejsza i nizej, zeby nie wchodzila w baner */
html body.woocommerce-cart .wd-empty-block-icon:not(#nw-z),
html body.woocommerce-cart .cart-empty-block .wd-empty-mini-cart-icon:not(#nw-z) {
  margin-top: 16px !important;
  opacity: 0.5 !important;
}

/* --- ADRESY: nie-kursywa (WooCommerce <address> ma default italic) --- */
html body:is(.woocommerce-account, .woocommerce-view-order) address:not(#nw-z),
html body:is(.woocommerce-account, .woocommerce-view-order) .woocommerce-customer-details address:not(#nw-z),
html body:is(.woocommerce-account, .woocommerce-view-order) .woocommerce-Address address:not(#nw-z) {
  font-style: normal !important;
  font-family: 'Roboto', Arial, sans-serif !important;
  line-height: 1.7 !important;
}


/* ============================================================
   PARTIA 2026-07-03 v12 — Moje konto: usuniecie „dziwnych bialych tel"
   (user). Obszar tresci konta byl bialy (#fff) na kremowej stronie.
   ============================================================ */
html body.woocommerce-account .woocommerce-MyAccount-content:not(#nw-z),
html body.woocommerce-account .woocommerce-MyAccount-content.wd-grid-col:not(#nw-z),
html body.woocommerce-account .woocommerce > .woocommerce-notices-wrapper:not(#nw-z) {
  background: transparent !important;
  box-shadow: none !important;
}
/* kokpit/dashboard: bloki tresci tez bez bialego prostokata */
html body.woocommerce-account .woocommerce-MyAccount-content p:not(#nw-z),
html body.woocommerce-account .woocommerce-Message:not(#nw-z),
html body.woocommerce-account .woocommerce-info:not(#nw-z) {
  background: transparent !important;
}

/* TYTUL BANERA „Moje konto" = BIALY jak na innych stronach (user 2026-07-03).
   Regula v10 (l.19031) barwi WSZYSTKIE naglowki konta na ciemny #1a1407 — dobrze
   dla nagl. tresci na kremie, ale H1 banera lezy na CIEMNYM zdjeciu hero i ginie.
   Ta regula ma ID-spec (1,2,3) i bije v10 (1,2,2) — bieli TYLKO tytul w banerze. */
html body.woocommerce-account .wd-page-title h1:not(#nw-z),
html body.woocommerce-account .page-title h1:not(#nw-z),
html body.woocommerce-account .wd-page-title .entry-title:not(#nw-z),
html body.woocommerce-account .page-title .entry-title:not(#nw-z) {
  color: var(--nw-white) !important;
}

/* (audyt 2026-07-07, user „ucieka menu do oferty na sticky") HOVER-BRIDGE: transparentna lupa nad dropdownem wypelnia
   odstep miedzy pozycja menu a rozwijanym submenu, zeby kursor mogl dojechac bez utraty :hover (WoodMart wd-event-hover). */
html .whb-header .main-nav .item-level-0 > .wd-dropdown-menu:not(#nw-z)::before,
html .whb-sticked .main-nav .item-level-0 > .wd-dropdown-menu:not(#nw-z)::before,
html .whb-clone .main-nav .item-level-0 > .wd-dropdown-menu:not(#nw-z)::before {
  content: ""; position: absolute; left: 0; right: 0; top: -24px; height: 26px; background: transparent; z-index: 1;
}

/* (2026-07-07, user „guzik zamykania [czatu] niewidzialny") Na Safari/WebKit globalne reguly przyciskow ustawiaja
   -webkit-text-fill-color:#1a1407 (ciemny), a #nw-chat-close nadpisywal tylko color -> ciemny × na ciemnym headerze
   #111 = niewidoczny. ID-spec + text-fill wymusza zloty × (Safari + reszta). */
html #nw-chat-close:not(#nw-z){ background:transparent !important; color:#d4ba87 !important; -webkit-text-fill-color:#d4ba87 !important; opacity:1 !important; font-size:24px !important; }
html #nw-chat-close:not(#nw-z):hover{ color:#fff !important; -webkit-text-fill-color:#fff !important; background:rgba(212,186,135,.18) !important; }

/* (2026-07-08, user „powiazane produkty poprzycinane na Chrome i Safari" + „wybierz kolor za duze, wychodzi poza zdjecie")
   Karuzela POWIAZANYCH na stronie produktu (.with-title odroznia od karuzeli GALERII).
   1) Obraz: object-fit CONTAIN + biale tlo = caly produkt widoczny (skrzynia/stol/krzeslo bez przycinania,
      biale tlo = brak czarnych paskow). Zweryfikowane w Chrome. 2) Wariant koloru: WoodMartowa .variations
      miala margin-left:30 + width 283 w kaflu 303 -> wychodzila 30px poza karte; ID-spec zweza do 100% karty
      i centruje (dropdown „Wybierz opcje" + „Bialy/Czarny" miesci sie w karcie). :not(#nw-z) = poziom ID bije
      klasowe reguly WoodMart z !important. Scope body.single-product = tylko powiazane, nie shop/kategoria. */
/* (audyt 2026-07-08 v2, user „zdjecia maja po bokach dodatkowe biale tlo — musza byc same wysrodkowane zdjecia bez tla"
   + „na safarii nachodzace na siebie zdjecia zamiast stalych boksow") Kwadratowy boks przez PADDING-TOP HACK
   (height:0 + padding-top:100% = dziala na KAZDYM Safari; aspect-ratio na starszych nie dziala -> kontener mial
   height 0 -> absolute obrazy wyciekaly i nachodzily). Kontener TRANSPARENT (bez #fff — samo zdjecie, bez widocznego
   tla pod nim). Obraz absolute inset:0 + margin:auto + contain center = caly, wysrodkowany, bez przyciecia
   (WoodMart dawal max-width:88% + top/left:0 = przyklejony do lewego-gornego rogu). */
html body.single-product .wd-carousel-container.with-title .wd-product-img-link:not(#nw-z){ background:transparent !important; position:relative !important; display:block !important; height:0 !important; padding-top:100% !important; box-sizing:content-box !important; overflow:hidden !important; } /* content-box KONIECZNY: globalny reset border-box zgniata padding-hack (height:0 wlicza padding) do 0 -> obrazy znikaja. Zweryfikowane w Chrome (transition:all na elemencie oszukiwala pomiar computed w tej samej klatce — czytac PO dobiegnieciu transition). */
/* (2026-07-08 v2, user Safari „zdjecia nachodza na siebie/stykaja sie") WoodMart daje odstep kafli przez CSS var
   (jak gap 25% — Safari calc-var bug, patrz CLAUDE.md) -> na Safari padding=0 i boksy na styk. Explicit padding
   BEZ var = odstepy wszedzie; w Chrome no-op (juz mial 10px). border-box zeby 25% szerokosci sie nie rozjechalo. */
html body.single-product .wd-carousel-container.with-title .wd-carousel-item:not(#nw-z){ padding-left:10px !important; padding-right:10px !important; box-sizing:border-box !important; overflow:hidden !important; }
/* (2026-07-08 v3, diagnoza snippetami usera w Safari Web Inspector) WLASCIWY sprawca nakladania na Safari:
   .wd-product-thumb mial SZTYWNA szerokosc 347px (WoodMart „rozszerzenie na spad" liczone var/calc — Safari nie
   kompensuje) i WYSTAWAL z kafla 303px o 44px -> boksy zdjec nachodzily (pomiar: gap -44px). Fix width:100%
   (= content kafla) + zerowe marginesy; overflow:hidden na kaflu wyzej = bezpiecznik. ZWERYFIKOWANE w Safari
   przez usera: „PO FIX2: min odstep = 20px, szerokosci boksow: 283,283,283,283,283". W Chrome no-op. */
html body.single-product .wd-carousel-container.with-title .wd-product-thumb:not(#nw-z),
html body.single-product .wd-carousel-container.with-title .product-element-top:not(#nw-z){ width:100% !important; max-width:100% !important; margin-left:0 !important; margin-right:0 !important; }
html body.single-product .wd-carousel-container.with-title .wd-product-img-link img:not(#nw-z){ position:absolute !important; top:0 !important; left:0 !important; right:0 !important; bottom:0 !important; margin:auto !important; width:100% !important; height:100% !important; max-width:100% !important; max-height:100% !important; object-fit:cover !important; object-position:center !important; padding:0 !important; box-sizing:border-box !important; } /* (2026-07-11 v3, user „dociete do tej samej wielkosci") contain -> cover: kafle jednakowe */
html body.single-product .wd-carousel-container.with-title .variations_form:not(#nw-z){ padding:0 10px !important; margin:0 !important; box-sizing:border-box !important; }
html body.single-product .wd-carousel-container.with-title .variations:not(#nw-z){ width:100% !important; max-width:100% !important; margin:8px 0 0 !important; table-layout:fixed !important; }
html body.single-product .wd-carousel-container.with-title .variations tbody:not(#nw-z),
html body.single-product .wd-carousel-container.with-title .variations tr:not(#nw-z),
html body.single-product .wd-carousel-container.with-title .variations td:not(#nw-z),
html body.single-product .wd-carousel-container.with-title .variations th:not(#nw-z){ display:block !important; width:100% !important; max-width:100% !important; margin:0 !important; padding:2px 0 !important; text-align:center !important; box-sizing:border-box !important; }
html body.single-product .wd-carousel-container.with-title .nw-vsel:not(#nw-z){ width:100% !important; max-width:100% !important; margin:0 !important; left:0 !important; }
html body.single-product .wd-carousel-container.with-title .nw-vsel-panel:not(#nw-z){ left:0 !important; right:0 !important; }

/* (audyt 2026-07-08 v2) Natywny opis kategorii (Elementor Archive Description, na GORZE strony) chowany na STALE
   z Customizera — wczesniej tylko inline <style> z PHP, ktory przy PJAX/starym deployu potrafil nie istniec ->
   opis wyskakiwal na gorze. Nasz blok pod boksem CTA uzywa WLASNEJ klasy .nw-cat-head__desc, wiec ta regula
   go nie dotyka. */
html body.tax-product_cat .elementor-widget-container > .term-description:not(#nw-z){ display:none !important; }
html body.tax-product_cat .term-description:not(#nw-z){ display:none !important; }

/* (audyt 2026-07-10, user „kwoty złamane") kwoty WooCommerce (wc_price) NIE łamią się na spacji tysięcznej — „6 803,00 zł" w jednej linii (thank-you „Suma za wynajem/kosztów", boksy, maile-web). */
.woocommerce-Price-amount, .woocommerce-Price-amount.amount, .price .woocommerce-Price-amount bdi { white-space: nowrap; }


/* ==================================================================
   SELECTY - WSZYSTKIE natywne dropdowny w stylu strony (2026-07-10, user „wszystkie dropdowny w stylu strony")
   Zamkniety select: zlota ramka, radius 8, Roboto, wlasna strzalka (SVG jako data-URI, URL-encoded - bez literalnego markup, inaczej edytor CSS w WP odrzuca).
   Rozwinieta lista opcji natywnego select = renderuje przegladarka/OS, nie da sie ostylowac cross-browser (limit HTML). Dla select2 (JS) liste DA sie ostylowac - nizej.
   ID-spec :not(#nw-z) bije reguly motywu/WoodMart. Pomijamy selecty zarzadzane przez select2 (sa ukryte).
   ================================================================== */
html select:not(#nw-z):not(.select2-hidden-accessible):not([multiple]){
  -webkit-appearance:none !important; -moz-appearance:none !important; appearance:none !important;
  background-color:#fff !important;
  background-image:url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20width='14'%20height='14'%20viewBox='0%200%2024%2024'%20fill='none'%20stroke='%23a07d2c'%20stroke-width='2.5'%20stroke-linecap='round'%20stroke-linejoin='round'%3E%3Cpath%20d='M6%209l6%206%206-6'/%3E%3C/svg%3E") !important;
  background-repeat:no-repeat !important;
  background-position:right 14px center !important;
  background-size:14px 14px !important;
  border:1px solid #d4ba87 !important;
  border-radius:8px !important;
  padding:11px 40px 11px 14px !important;
  font-family:Roboto,Arial,sans-serif !important;
  font-size:15px !important; font-weight:400 !important;
  color:#1a1407 !important;
  line-height:1.3 !important;
  text-transform:none !important; letter-spacing:0 !important;
  cursor:pointer !important; box-shadow:none !important;
  min-height:44px !important;
  transition:border-color .15s, box-shadow .15s !important;
}
html select:not(#nw-z):not(.select2-hidden-accessible):hover{ border-color:#c9a84c !important; }
html select:not(#nw-z):not(.select2-hidden-accessible):focus{ border-color:#c9a84c !important; outline:none !important; box-shadow:0 0 0 3px rgba(212,186,135,.25) !important; }
/* select2 (WooCommerce kraj/wojewodztwo w kasie) - widoczny kontener w stylu strony */
html .select2-container--default .select2-selection--single:not(#nw-z){ border:1px solid #d4ba87 !important; border-radius:8px !important; min-height:44px !important; padding:6px 10px !important; background:#fff !important; }
html .select2-container--default .select2-selection--single .select2-selection__arrow:not(#nw-z){ height:42px !important; }
html .select2-container--default .select2-selection--single .select2-selection__rendered:not(#nw-z){ color:#1a1407 !important; line-height:30px !important; }
/* select2 rozwinieta lista (JS - da sie ostylowac): zlote akcenty */
html .select2-dropdown:not(#nw-z){ border:1px solid #d4ba87 !important; border-radius:8px !important; overflow:hidden !important; }
html .select2-container--default .select2-results__option--highlighted[aria-selected]:not(#nw-z){ background:#d4ba87 !important; color:#1a1407 !important; }


/* ==================================================================
   POWIAZANE PRODUKTY / CROSS-SELLS (WoodMart carousel) - 2026-07-10, user „Moze Cie zainteresowac zepsute buttony i brak strzalek"
   1) Buttony „Dodaj do wyceny": WoodMart daje line-height:42px + overflow:hidden -> gdy tekst zawija sie na 2 linie (waskie karty mobile) tekst byl PRZYCINANY. line-height:1.25 + height:auto + min-height 42 = rosnie zamiast obcinac. ID-spec :not(#nw-z) bije WoodMart.
   2) Strzalki karuzeli: WoodMart pokazuje je tylko na HOVER (.wd-nav-arrows display:none) -> na mobile (brak hover) znikaly. Wymuszamy widoczne na mobile. NIE ruszamy slidera (tylko widocznosc strzalek).
   ================================================================== */
@media(max-width:768px){
  /* buttony „Dodaj do wyceny" - mobile: NIE przycinaj przy zawijaniu (user „to wszystko na mobile") */
  html .wd-carousel-container .add_to_cart_button:not(#nw-z),
  html .related .add_to_cart_button:not(#nw-z),
  html .cross-sells .add_to_cart_button:not(#nw-z){
    line-height:1.25 !important; height:auto !important; min-height:42px !important;
    padding-top:9px !important; padding-bottom:9px !important;
    white-space:normal !important; overflow:visible !important;
    display:inline-flex !important; align-items:center !important; justify-content:center !important; text-align:center !important;
  }
  /* strzalki karuzeli widoczne na mobile (WoodMart pokazuje tylko na hover) */
  .wd-carousel-container.with-title .wd-nav-arrows{ display:flex !important; }
  .wd-carousel-container.with-title .wd-btn-arrow{ opacity:1 !important; }
  .wd-carousel-container.with-title .wd-btn-arrow.wd-disabled{ opacity:.35 !important; }
}


/* ==================================================================
   BUNDLE POPUP „Dobierz dodatki" (#nw-popup-v3) - MOBILE (2026-07-10, user „bundle nie sa wysrodkowane na ekranie" + „to wszystko na mobile")
   Na mobile overlay=block + box szeroki (586px) -> box wystawal poza waski ekran i wygladal jak niewysrodkowany.
   Overlay flex+center (ID-spec bije #id!important) + box max-width do szerokosci ekranu + margin auto. TYLKO mobile - desktop bez zmian.
   ================================================================== */
@media(max-width:600px){
  /* (audyt 2026-07-11, user „x na pop up z bundle na mobile nie dziala, nie da sie zamknac" + „buttony tez") KRYTYCZNY
     BUG: ta regula byla BEZWARUNKOWA (display:flex !important na #nw-popup-v3) -> gdy grid mial karty, `!important`
     nadpisywalo `display:none` ustawiane przez zamkniecie (X/Kontynuuj/hard-hide) -> popup NIE DAWAL sie zamknac.
     Fix: scope TYLKO do stanu OTWARTEGO [aria-hidden="false"]. Zamkniety (aria-hidden="true") -> regula nie matchuje,
     inline display:none chowa. Openowanie (openPopup: aria-hidden=false + fadeIn) -> flex-center dziala jak dotad. */
  html #nw-popup-v3[aria-hidden="false"]:not(#nw-z){
    display:flex !important; align-items:flex-start !important; justify-content:center !important;
    overflow-y:auto !important; padding:16px 10px !important;
  }
  html #nw-popup-v3[aria-hidden="false"] .nw-popup-v3__box:not(#nw-z){
    margin:auto !important; width:auto !important; max-width:calc(100vw - 20px) !important; box-sizing:border-box !important;
    transition:opacity .2s ease, transform .2s ease !important;
  }
}


/* ==================================================================
   RAMKA WOKOL DOSTEPNOSCI (mobile) - 2026-07-11, user „nie ma ramki wokol dostepnosci"
   .nw-avail-card mial border var(--nw-border) (bardzo jasny, ledwo widoczny) -> user nie widzial ramki.
   Wyrazna zlota ramka wokol sekcji wynikow. Tylko mobile (user „to wszystko na mobile").
   ================================================================== */
@media(max-width:768px){
  html .nw-avail-card:not(#nw-z){ border:1.5px solid #d4ba87 !important; border-radius:12px !important; }
}


/* ==================================================================
   HEADER telefon<->koszyk (mobile) - 2026-07-11, user „telefon nie dosuniety do ikony koszyka"
   Telefon i koszyk to ROZNE kolumny WoodMart (telefon w .wd-header-text, koszyk w .whb-col-right) - pelnej restrukturyzacji NIE robimy w CSS (to Header Builder). Delikatny nudge: mniejszy lewy margines koszyka = blizej telefonu. Tylko mobile.
   UWAGA: „koszyk przeskakuje przy zmianie zakladek" = WoodMart clone/recompute headera per strona -> to nalezy poprawic w Header Builderze (ustawienia motywu), nie CSS.
   ================================================================== */
@media(max-width:768px){
  html .wd-header-cart:not(#nw-z){ margin-left:0 !important; }
}
/* (audyt 2026-07-11, user „koszyk lekko w lewo i telefon blizej niego" — bump #2, poprzedni margin-left:6px nie
   wystarczyl) nudge z DRUGIEJ strony: mniejszy prawy padding kolumny telefonu (jesli istnieje) — no-op bezpiecznie
   gdy selektor nie pasuje na tym motywie, bo to inna kolumna Header Buildera niz koszyk. */
@media(max-width:768px){
  html .whb-col-right:not(#nw-z){ padding-left:2px !important; }
  html .wd-header-text:not(#nw-z){ padding-right:2px !important; margin-right:0 !important; }
}
/* (audyt 2026-07-11, user "koszyk ma inna pozycje na pasku menu i na sticky - lepsza jest na sticky") mobile:
   WoodMart KLONUJE header do wersji sticky (.whb-sticked/.whb-clone), a czesc naszych/motywowych nudge'ow celowala
   TYLKO w .whb-header -> koszyk mial inna pozycje w headerze glownym niz w sticky. Ujednolicenie: te same zerowe
   marginesy narzedzi w OBU wariantach (sticky jako wzorzec = bez dodatkowych przesuniec). */
@media(max-width:768px){
  html .whb-header .wd-header-cart:not(#nw-z),
  html .whb-sticked .wd-header-cart:not(#nw-z),
  html .whb-clone .wd-header-cart:not(#nw-z){ margin-left:0 !important; margin-right:0 !important; }
  html .whb-header .wd-tools-element:not(#nw-z),
  html .whb-sticked .wd-tools-element:not(#nw-z),
  html .whb-clone .wd-tools-element:not(#nw-z){ margin-left:0 !important; margin-right:0 !important; }
}


/* ==================================================================
   KOSZYK (mobile): SUMA + „Przejdz do rezerwacji" POD progressem, NAD lista produktow (2026-07-11, user)
   Wspolny rodzic .e-con-inner = flex column, 2 dzieci: [0]=produkty, [1]=suma. Progress jest NAD tym kontenerem.
   order:-1 na dziecku zawierajacym .cart_totals -> suma pierwsza (pod progressem, nad produktami). :has bije zmiane ID Elementora. Tylko mobile + tylko koszyk. Zweryfikowane live (suma top 339, produkty 864).
   ================================================================== */
@media(max-width:768px){
  /* (audyt 2026-07-11, user: najpierw produkty, potem podsumowanie) order:-1 USUNIETY — reorder robi teraz JS (nwReorderCartProgress: progress na gore, intro-za-dobe na dol); totals zostaje w naturalnej kolejnosci PO produktach */
}


/* ==================================================================
   RUNDA 2026-07-11 (uwagi usera z sesji DevTools) — koszyk kolumny / related contain / orders naglowek
   ================================================================== */
/* #4 (user "produkt przy cena do przesuniecia w lewo wysrodkowac na pustej przestrzeni") KOSZYK desktop: naglowek
   PRODUKT mial padding-left:160px (WoodMart) -> etykieta wisiala w pustej przestrzeni ~200px na PRAWO od nazw
   produktow. Wysrodkowanie nad kolumna produktu. ZWERYFIKOWANE live (header 314-499 = nad nazwami). */
html .woocommerce-cart-form th.product-name:not(#nw-z){ padding-left:0 !important; text-align:left !important; } /* (audyt 2026-07-11 v2, user: nazwa produkt jeszcze na lewo) center to left + pl:0 = naglowek PRODUKT dokladnie nad nazwami (zmierzone: oba left:314) */
/* #5 (user "suma wraz z kwotami do przesuniecia lekko w lewo") SUMA (naglowek + kwoty pozycji) padding-right ->
   tresc idzie w lewo od krawedzi tabeli. ZWERYFIKOWANE live (879 vs 906). */
html .woocommerce-cart-form th.product-subtotal:not(#nw-z){ padding-right:28px !important; }
html .woocommerce-cart-form td.product-subtotal:not(#nw-z){ padding-right:28px !important; }
/* (audyt 2026-07-11, user „kwoty w koszyku w jednej lini, dolna [Suma] za bardzo na lewo") na MOBILE karta
   koszyka jest stackowana — te 28px (korekta desktopowa) przesuwaly kwote Suma 28px w lewo od kwoty Cena
   (zmierzone live: Cena prawa 333 vs Suma prawa 305). Na mobile zerujemy = obie kwoty w jednej pionowej lini. */
@media (max-width:768px){
  html body.woocommerce-cart .woocommerce-cart-form td.product-subtotal:not(#nw-z){ padding-right:0 !important; }
}

/* #6 (user 2026-07-11 v1 „za bardzo rozszerzone" -> contain; user 2026-07-11 v3 „na safarii zdjecia w Powiazane
   produkty powinny byc dociete do tej samej wielkosci" -> WRACAMY na cover) related/cross-sell = WoodMart carousel;
   cover = wszystkie kafle IDENTYCZNEGO rozmiaru (zdjecie wypelnia kwadrat, ew. przyciete). Trade-off: portretowe
   (pokrowiec) beda przyciete — swiadoma decyzja usera (spojnosc siatki > widocznosc calego zdjecia). NIE ruszamy
   transform/overflow slidera (CLAUDE.md) — tylko object-fit + object-position:center dla sensownego kadru. */
html body:is(.single-product, .woocommerce-cart, .woocommerce-checkout) .wd-carousel-container .wd-product-thumb img:not(#nw-z),
html body:is(.single-product, .woocommerce-cart, .woocommerce-checkout) .wd-carousel-container .product-element-top img:not(#nw-z){
  object-fit: cover !important;
  object-position: center !important;
}

/* #7 (user "nazwa sekcji dzialania niech bedzie na wysokosci zobacz") Moje konto -> Zamowienia: naglowek DZIALANIA
   mial text-align:end (dosuniety do prawej krawedzi 1310), a przyciski ZOBACZ/ANULUJ wysrodkowane w komorce (~1242).
   Wysrodkowanie naglowka = nad przyciskami. ZWERYFIKOWANE live (th 1153-1310, Zobacz 1188-1296). */
html body.woocommerce-account .woocommerce-orders-table__header-order-actions:not(#nw-z){ text-align:center !important; }


/* (audyt 2026-07-11, user: przed autoscrollem przeskakuje box Nie wiesz od czego zaczac, podnosi sie do gory)
   ZDIAGNOZOWANE live (snapshot w chwili shiftu): WoodMart podczas AJAX zmiany kategorii TOGGLUJE display:block->none
   na PUSTYM widgecie .wd-wc-notices (elementor-element-6e587ed, h=0) siedzacym tuz NAD slotem CTA -> zmiana
   uczestnika margin-collapsing (CTA ma margin-top:-55px) przesuwala caly box o 20px w gore na ~1s i z powrotem.
   Fix: wymuszamy STALE display:block na pustych widgetach notices/filters w archiwum sklepu (h=0, wiec wizualnie
   nic nie zmienia; realny notice i tak bedzie widoczny bo block). SCOPE tylko sklep - na koszyku/checkout WoodMart
   moze chciec chowac notices celowo. ZWERYFIKOWANE live: z fixem pozycja CTA stala (823) przez cale przejscie. */
body:is(.woocommerce-shop, .post-type-archive-product, .tax-product_cat) .e-con-inner > .wd-wc-notices:not(#nw-z){ display:block !important; }
body:is(.woocommerce-shop, .post-type-archive-product, .tax-product_cat) .e-con-inner > .wd-shop-filters-area:not(#nw-z){ display:block !important; }


/* ==================================================================
   RUNDA 2026-07-11 #5 — mobile: kwota Twojej decyzji, ramka Twoje zamowienie, thank-you naglowek
   ================================================================== */
/* (user "kwota w twoja decyzja na dostepnosci na mobile wysrodkowana") kwota (-63,00 zl) byla z lewej */
@media(max-width:768px){
  html .nw-avail-change-summary-val:not(#nw-z){ text-align:center !important; width:100% !important; display:block !important; }
}
/* (user "ramke z twoje zamowienie na mobilke w podsumowaniu zamowienia poszerzmy") boks .nw-checkout-calc-box
   mial padding 28px + marginesy kolumny -> tresc scisnieta. Mniejszy padding wewn. + delikatne wyjscie na boki. */
@media(max-width:600px){
  html .nw-checkout-calc-box:not(#nw-z){ padding:20px 12px !important; margin-left:-8px !important; margin-right:-8px !important; }
}
/* (user "termin oczekuje na wplate zadatku wysrodkowany na mobile") naglowek + akapit wstepu thank-you do srodka */
@media(max-width:600px){
  html .nw-thankyou-box h2:not(#nw-z){ text-align:center !important; }
  html .nw-thankyou-box h2 + p:not(#nw-z){ text-align:center !important; }
}


/* ==================================================================
   BEZPIECZNIK POPUPU DODATKOW — niezalezny od main-1 (2026-07-11)
   ================================================================== */
/* (user "nadal jest ten pop up na mobile" — pasted HTML: <div id="nw-popup-v3-grid"></div> = PUSTY grid)
   Popup „Dobierz dodatki" z PUSTYM gridem = smiec (nic nie dotyczy). JS-owe guardy (openPopup + hard-hide na
   wejsciu) dzialaja TYLKO gdy main-1 jest wdrozony; ten bezpiecznik siedzi w CSS (Customizer, deployowany
   niezawodnie) i dziala ZAWSZE: jesli grid produktow jest pusty, cala nakladka jest ukryta — nawet gdy JS ja
   pokaze z bfcache/stale. Legit popup ma karty w gridzie -> :empty nie matchuje -> pokazuje sie normalnie.
   :has() = Chrome 105+/Safari 15.4+ (mobile 2022+); to WARSTWA dodatkowa, glowny fix to JS w main-1. */
html #nw-popup-v3:not(#nw-z):has(#nw-popup-v3-grid:empty){ display:none !important; }


/* (audyt 2026-07-11, user "Ucina pasek") mobilny sticky bar #nw-sticky-bar na waskich ekranach wychodzil poza
   ekran (dlugi tekst "0 produktow w koszyku" + szeroki przycisk). Info zweza sie z ellipsis, przycisk nie kurczy
   napisu; mniejsze paddingi na <=430px. (Hide-przy-0 = JS nwHasCartItems w main-1 — musi byc wdrozony.) */
@media(max-width:480px){
  html #nw-sticky-bar:not(#nw-z){ padding:10px 12px !important; gap:8px !important; }
  html #nw-sticky-bar .nw-sticky-info:not(#nw-z){ min-width:0 !important; flex:1 1 auto !important; overflow:hidden !important; }
  html #nw-sticky-bar .nw-sticky-info span:not(#nw-z){ display:block !important; white-space:nowrap !important; overflow:hidden !important; text-overflow:ellipsis !important; }
  html #nw-sticky-bar .nw-sticky-cta:not(#nw-z){ flex:0 0 auto !important; white-space:nowrap !important; padding:11px 14px !important; font-size:13px !important; }
}


/* ==================================================================
   KARTA PRODUKTU MOBILE + STICKY BAR (2026-07-11, user: karta rozwalona / zl obok kwoty)
   ================================================================== */
@media(max-width:768px){
  /* (user "kolor nie miesci sie w oknie") .variations_form.wd-reset-side-lg ma margin -30px (WoodMart reset side)
     -> na mobile robi 442px szerokosci na ~412 ekranie = poziomy overflow. Zerujemy na mobile. ZWERYFIKOWANE live
     (442 -> 382, mieści się). */
  html body.single-product .variations_form.wd-reset-side-lg:not(#nw-z){ margin-left:0 !important; margin-right:0 !important; width:auto !important; }
  /* (user "mniejsze zdjecie") galeria: obraz 300px byl upscalowany do 382x511. contain + cap 320px = mniejszy,
     nie rozciagniety, wysrodkowany. ZWERYFIKOWANE live (382x511 -> 239x320). */
  html body.single-product .wd-single-gallery img:not(#nw-z),
  html body.single-product .woocommerce-product-gallery img:not(#nw-z){ max-height:320px !important; width:auto !important; max-width:100% !important; object-fit:contain !important; margin:0 auto !important; display:block !important; }
}
/* (user "w przejdz do rezerwacji zl obok kwoty") #nw-sticky-total mial white-space:normal -> „148 706,00" lamalo
   sie od „zl". nowrap = cala kwota w jednej linii. */
html #nw-sticky-total:not(#nw-z){ white-space:nowrap !important; }
/* (audyt 2026-07-11, user „zl mialo byc za kwota") sam nowrap na #nw-sticky-total nie zawsze lapal wewnetrzny lam
   ceny WC (bdi / .woocommerce-Price-amount / symbol) — wymuszamy nowrap + brak lamania slow na WSZYSTKICH dzieciach. */
html #nw-sticky-total *:not(#nw-z){ white-space:nowrap !important; word-break:keep-all !important; overflow-wrap:normal !important; }
/* (audyt 2026-07-11, user „zloty nie ma przy kwocie") GLOBALNIE: kwota + „zl" nigdy sie nie rozdzielaja — nowrap na
   calej cenie WooCommerce (.woocommerce-Price-amount) w KAZDYM miejscu (sticky bar, karty produktow, mini-koszyk,
   powiazane). Cena jest krotka, wiec brak ryzyka przepelnienia; „4,00 zl" zostaje w jednej linii wszedzie. */
html .woocommerce-Price-amount:not(#nw-z),
html .woocommerce-Price-amount bdi:not(#nw-z){ white-space:nowrap !important; }
/* (audyt 2026-07-11, user „koszyk na mobile — tu daj przycisk przejdz do rezerwacji, sam button") gorny CTA koszyka
   (nw_cart_top_checkout_button, hook woocommerce_before_cart) — TYLKO mobile; desktop ma podsumowanie z
   przyciskiem w prawej kolumnie, wiec chowamy. Na mobile: w luce pod paskiem postepu.
   (v2, user „button na mobile wezszy i tekst w nim wysrodkowany") NIE pelna szerokosc — auto-width wg tekstu,
   wysrodkowany w luce, tekst wysrodkowany (jak natywny „Przejdz do platnosci"). */
.nw-cart-top-cta-wrap{ display:none; }
@media(max-width:768px){
  /* (audyt 2026-07-11 v3, liczby usera z konsoli: SZEROKOSC=300 WYSOKOSC=65) wrap = flex center */
  /* (audyt 2026-07-12, user „przejdz do rezerwacji musi miec ten sam gap pomiedzy progress bar a lista produktow")
     Odstep NAD przyciskiem byl 76px, POD 30px (asymetria od paddingow Elementora: ~46px nad / ~20px pod). Margines
     -18/8 kasuje asymetrie -> ZWERYFIKOWANE live @412: nad=28, pod=28 (przycisk wysrodkowany miedzy krokami a lista). */
  .nw-cart-top-cta-wrap{ display:flex !important; justify-content:center !important; margin:-18px auto 8px !important; }
  /* przycisk: max szer 300px (width 100% do tego), wysokosc 65px, tekst wysrodkowany */
  html .nw-cart-top-cta-wrap a.nw-cart-top-cta:not(#nw-z){ display:inline-flex !important; align-items:center !important; justify-content:center !important; width:100% !important; max-width:300px !important; float:none !important; text-align:center !important; box-sizing:border-box !important; margin:0 !important; padding:16px 34px !important; min-height:65px !important; }
}
/* (audyt 2026-07-11, user "na samej gorze przejdz do rezerwacji jest uciete, niech znika calkowicie i pojawia sie
   jak zjedziemy nizej") #nw-sticky-bar w stanie ukrytym mial transform:translateY(100%) = tylko ~81px (wysokosc
   paska), ale jest zakotwiczony na bottom:var(--nw-toolbar-h)=55px nad dolnym paskiem WoodMart -> 55px paska
   WYSTAWALO na gorze strony (i CTA bylo uciete). Fix: w stanie ukrytym (bez .nw-sticky-visible) zjezdzamy PONIZEJ
   ekranu o pelna wysokosc + offset paska WoodMart + 8px. Stan widoczny (.nw-sticky-visible, dodawany przez JS przy
   scroll>=500) = translateY(0), bez zmian. ZWERYFIKOWANE live: top=633 (poza ekranem) bez klasy, top=489 (widoczny)
   z klasa. */
html #nw-sticky-bar:not(.nw-sticky-visible):not(#nw-z){ transform:translateY(calc(100% + var(--nw-toolbar-h, 0px) + 8px)) !important; }
/* ============================================================
   (audyt 2026-07-20, user "Ledwo mieszczacy sie napis dodaj do wyceny... uzycie symbolu koszyka po prostu
   na mobilce") MOBILE: przyciski "Dodaj do wyceny" w SIATCE/KARUZELACH = sama ikona koszyka (SVG data-URI,
   URL-encoded — Customizer odrzuca doslowny markup). Tekst zerowany font-size:0 (lapie tez "Dodawanie...").
   (audyt 2026-07-20 v2, user "buttony nie zmienione na koszyk na mobile w ofercie") ESKALACJA do
   :not(#nw-z):not(#nw-y):not(#nw-x) — regula ujednolicenia wagi/rozmiaru z 2026-07-13 (l.~19370,
   `html body a.add_to_cart_button:not(#nw-z):not(#nw-y)` font-size:13px, spec 2xID) bila nasze font-size:0
   z pojedynczym :not (zdiagnozowane enumeracja regul w Chrome @412).
   NIE dotyczy: popupu bundle (#nw-popup-v3 — duze karty, tekst zostaje), glownego przycisku produktu
   (single_add_to_cart_button), checkoutu. Stan .added = ikona "check". Feedback dodania = animacja koszyka
   w headerze (nw-cart-bump, JS w main-2). */
@media (max-width: 768px) {
  html ul.products a.add_to_cart_button:not(#nw-z):not(#nw-y):not(#nw-x),
  html .wd-products a.add_to_cart_button:not(#nw-z):not(#nw-y):not(#nw-x),
  html .wd-carousel a.add_to_cart_button:not(#nw-z):not(#nw-y):not(#nw-x),
  html .wd-add-btn a.add_to_cart_button:not(#nw-z):not(#nw-y):not(#nw-x),
  html .wd-add-btn-replace a.add_to_cart_button:not(#nw-z):not(#nw-y):not(#nw-x) {
    font-size: 0 !important;
    line-height: 0 !important;
    min-height: 44px !important;
    padding: 10px 14px !important;
    /* (audyt 2026-07-21, user „koszyk nadal krzywy w buttonach") Fix z tej samej daty chowal
       span `.wd-action-text` (position:absolute), ale main-2 (`normalize` -> `cleanBtnDom`,
       l. ~12721/12940) USUWA ten span z DOM juz na starcie i wstawia gole text-node. Regula
       celujaca w span jest wiec dla tych przyciskow martwa, a text-node - mimo font-size:0 -
       nadal jest anonimowym itemem flexa. Miedzy nim a ikona `::after` wchodzil `gap` motywu
       (5px), wiec grupa 0+5+20=25px byla centrowana i srodek ikony wypadal ~2,5px na prawo.
       Zerujemy gap na samym przycisku - dziala niezaleznie od tego, czy span istnieje.
       ZMIERZONE W CHROME @412 (bo diagnoza dotyczy tylko CZESCI stron):
         - KOSZYK (cross-sell): spany SA w DOM, `.wd-action-text` ma position:absolute z fixu obok,
           wiec jedynym itemem flexa jest ::after -> odchylenie ikony 0. Tu nic nie bylo zepsute.
         - OFERTA (ul.products / .wd-products): spany USUNIETE z DOM (potwierdzone: BRAK-W-DOM),
           zostaje goly text-node -> dwa itemy + gap 5px -> ikona 2,5 px na prawo od srodka.
       Po wyzerowaniu gapu: 2,5 -> 0. Na koszyku regula jest no-op, wiec nic tam nie psuje.
       Maski SVG NIE ruszamy: `translate(0,960)` to ascent z hhea i parytet z ikona w naglowku
       (zasada stala w CLAUDE.md, zweryfikowana pomiarowo w v10). */
    gap: 0 !important;
    column-gap: 0 !important;
  }
  html ul.products a.add_to_cart_button:not(#nw-z):not(#nw-y):not(#nw-x) .wd-action-text,
  html .wd-products a.add_to_cart_button:not(#nw-z):not(#nw-y):not(#nw-x) .wd-action-text,
  html .wd-carousel a.add_to_cart_button:not(#nw-z):not(#nw-y):not(#nw-x) .wd-action-text,
  html .wd-add-btn a.add_to_cart_button:not(#nw-z):not(#nw-y):not(#nw-x) .wd-action-text,
  html .wd-add-btn-replace a.add_to_cart_button:not(#nw-z):not(#nw-y):not(#nw-x) .wd-action-text {
    /* (audyt 2026-07-21, user „na mobile koszyk jest nie wysrodkowany w buttonie w tej samej karuzeli")
       ROOT CAUSE zmierzony w Chrome @412: samo `font-size:0` NIE usuwa spana z ukladu — `.wd-action-text`
       ma `display:flex` i zostawal w flow o wymiarach 28x10px. Przycisk jest flexem z `gap:5px`, wiec
       w rzedzie stawaly DWA itemy: pusty span (28px) + ikona ::after (20px). Cala grupa (53px) byla
       wysrodkowana, ale ikona jako DRUGI item lezala 16,5px na prawo od srodka przycisku.
       FIX: span wychodzi z flow (position:absolute), wiec jedynym itemem zostaje ikona i centrowanie
       flexa dziala. Nie `display:none`, bo tekst „Dodaj do wyceny" ma zostac dla czytnikow ekranu —
       stad klasyczne visually-hidden. ZWERYFIKOWANE: odchylenie srodka ikony od srodka przycisku 16,5px -> 0. */
    font-size: 0 !important;
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    padding: 0 !important;
    margin: 0 !important;
    overflow: hidden !important;
    clip-path: inset(50%) !important;
    white-space: nowrap !important;
  }
  html ul.products a.add_to_cart_button:not(#nw-z):not(#nw-y):not(#nw-x)::after,
  html .wd-products a.add_to_cart_button:not(#nw-z):not(#nw-y):not(#nw-x)::after,
  html .wd-carousel a.add_to_cart_button:not(#nw-z):not(#nw-y):not(#nw-x)::after,
  html .wd-add-btn a.add_to_cart_button:not(#nw-z):not(#nw-y):not(#nw-x)::after,
  html .wd-add-btn-replace a.add_to_cart_button:not(#nw-z):not(#nw-y):not(#nw-x)::after {
    /* (audyt 2026-07-20 v4, user "koszyk brzydki i nie wysrodkowany, dalam przyklad wyzej poprawnego koszyka")
       Wlasny SVG (obrys 2px) odstawal od ikony w naglowku i siadal nierowno w przycisku. Uzywamy DOKLADNIE tej
       samej ikony co naglowek: glif \f105 z fontu "woodmart-font" (zmierzone w Chrome: content "\f105",
       font-family woodmart-font, 20px/400). Font jest juz zaladowany przez motyw, wiec zero dodatkowych pobran.
       Wlasne font-size TRZEBA podac, bo przycisk ma font-size:0 (zerowanie napisu), ktore pseudo-element dziedziczy. */
    /* (v9, user „ikona koszyka jest, ale miala byc taka jak na screenie" — wybor: wektor z fontu)
       HISTORIA (zeby nie krecic sie w kolko): v4 = glif \f105 z woodmart-font -> wygladal dobrze, ALE gdy
       LiteSpeed odroczyl font, przegladarka brala U+F105 z fontu ZASTEPCZEGO i rysowala inny znak
       („dziwny pasek po lewej"). v6 = wlasnorecznie narysowane SVG (obrys 1.6) -> bez ryzyka fontu,
       ale to byl TYLKO PODOBNY ksztalt, nie ten sam.
       v9 = NAJLEPSZE Z OBU: wyciagnalem PRAWDZIWY kontur glifu uniF105 z pliku
       themes/woodmart/fonts/woodmart-font-1-400.woff2 (fontTools; upem 1024, bbox 0,-32..997,864)
       i osadzilem jako sciezke SVG. Efekt: ksztalt IDENTYCZNY z ikona w naglowku, a jednoczesnie
       ZERO zaleznosci od zaladowania fontu (maska to statyczny wektor).
       Uwaga na os Y: font ma Y w gore, SVG w dol -> stad transform ze scale(1,-1).

       (v10, user „slabo odwzorowales ikone koszyka") ROOT CAUSE: ksztalt byl wierny (sciezka co do znaku
       identyczna z glifem uniF105 - zweryfikowane diffem), ale viewBox opisywal CIASNY bbox glifu
       (0 0 997 896). Przy mask-size:contain glif rozpychal sie na CALY kwadrat 22px, wiec renderowal sie
       wiekszy i przesuniety wzgledem ikony w naglowku (tam font trzyma glif w kwadracie em z zapasem).
       FIX: viewBox to teraz KWADRAT EM (0 0 1024 1024), a glif jest w nim ustawiony tak jak robi to font:
       translate(0,960) scale(1,-1), gdzie 960 = ascent z hhea (descent -64, razem 1024 = upem).
       Dzieki temu maska renderowana w boksie NxN odpowiada DOKLADNIE fontowi o font-size N.
       Rozmiar zrownany z naglowkiem: 22px -> 20px (naglowek: .wd-header-cart .wd-tools-icon::before,
       font-size 20px - zmierzone na zywo).
       ZWERYFIKOWANE W CHROME: font i maska naniesione na siebie (rozowy font + niebieska maska, oba 65%)
       daly JEDNOLITY niebieski - zero prześwitu rozowego na krawedziach, czyli pokrycie co do piksela. */
    content: "" !important;
    font-size: 0 !important;
    display: inline-block !important;
    width: 20px !important;
    height: 20px !important;
    background-color: #1a1407 !important;
    /* (v7, user "nie ma znow koszyka na buttonach") shorthand `mask: url() center / contain no-repeat` bywa
       ignorowany (Safari, starsze silniki) — rozbite na longhandy, bo bez mask-size maska ma rozmiar naturalny
       obrazka i przy 22px kafelku nie widac nic. */
    -webkit-mask-size: contain !important;
    mask-size: contain !important;
    -webkit-mask-position: center !important;
    mask-position: center !important;
    -webkit-mask-repeat: no-repeat !important;
    mask-repeat: no-repeat !important;
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%201024%201024%22%3E%3Cpath%20transform%3D%22translate(0%2C960)%20scale(1%2C-1)%22%20d%3D%22M114%20784%20266%20284%20304%20256H800L837%20281L997%20681L960%20736H464V656H901L773%20336H334L174%20864H0V784ZM368%2048Q368%2081%20344.5%20104.5Q321%20128%20288%20128Q255%20128%20231.5%20104.5Q208%2081%20208%2048Q208%2015%20231.5%20-8.5Q255%20-32%20288%20-32Q321%20-32%20344.5%20-8.5Q368%2015%20368%2048ZM800%20-32Q833%20-32%20856.5%20-8.5Q880%2015%20880%2048Q880%2081%20856.5%20104.5Q833%20128%20800%20128Q767%20128%20743.5%20104.5Q720%2081%20720%2048Q720%2015%20743.5%20-8.5Q767%20-32%20800%20-32Z%22%2F%3E%3C%2Fsvg%3E") !important;
    mask-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%201024%201024%22%3E%3Cpath%20transform%3D%22translate(0%2C960)%20scale(1%2C-1)%22%20d%3D%22M114%20784%20266%20284%20304%20256H800L837%20281L997%20681L960%20736H464V656H901L773%20336H334L174%20864H0V784ZM368%2048Q368%2081%20344.5%20104.5Q321%20128%20288%20128Q255%20128%20231.5%20104.5Q208%2081%20208%2048Q208%2015%20231.5%20-8.5Q255%20-32%20288%20-32Q321%20-32%20344.5%20-8.5Q368%2015%20368%2048ZM800%20-32Q833%20-32%20856.5%20-8.5Q880%2015%20880%2048Q880%2081%20856.5%20104.5Q833%20128%20800%20128Q767%20128%20743.5%20104.5Q720%2081%20720%2048Q720%2015%20743.5%20-8.5Q767%20-32%20800%20-32Z%22%2F%3E%3C%2Fsvg%3E") !important;
    /* (audyt 2026-07-20 v3, user "nadal nie ma koszyka w buttonie na mobile" — przycisk byl PUSTY: tekst znikal,
       ikona nie) ROOT CAUSE zmierzony w Chrome: motyw ma `.wd-add-btn-replace > a::after { opacity:0 }` —
       mechanizm WoodMart "pokaz ikone dopiero na HOVER". Nasza regula ustawiala content/display/tlo, ale NIE
       opacity, wiec pseudo-element byl w pelni przezroczysty (computed: opacity 0, position absolute = pozostalosc
       po spinnerze). Wymuszamy widocznosc + normalny flow (przycisk jest flexem z centrowaniem, wiec static
       samo wysrodkuje ikone) + zerujemy transition (bez tego ikona animowalaby sie z 0). */
    opacity: 1 !important;
    visibility: visible !important;
    position: static !important;
    transition: none !important;
    transform: none !important;
    /* (audyt 2026-07-20 v8, user "na incognito nadal nie ma koszyka w buttonach" — przyciski byly PUSTE)
       BYLO tu `background: none !important` (pozostalosc po wersji z glifem fontowym). Skrot `background`
       resetuje TAKZE `background-color`, a stoi PO nim w tej samej regule — wiec kasowal kolor maski.
       Maska bez koloru nie ma czego malowac => pusty zloty prostokat. Usuniete. */
  }
  /* stan ZALADOWANO = check zamiast koszyka.
     (audyt 2026-07-21, user „po dodaniu w moze cie zainteresowac nie wraca z strzalki na koszyk")
     ROOT CAUSE: regula wisiala na DWOCH klasach - `.added` (trwaly stan WooCommerce, nigdy nie wygasa)
     i `.nw-added-flash` (nasza, 1,4 s). Klase `.added` sprzata WYLACZNIE skrypt nw-loop-popup-atc-fix-js
     (main-2: killThemeState / MutationObserver / normalize), a ten jest zabramkowany przez
     nw_loop_add_to_cart_fix_should_run() i NIE dziala na koszyku ani na kasie. W cross-sellu w koszyku
     („Moze Cie zainteresowac") nikt wiec `.added` nie zdejmowal i check zostawal na stale.
     Wczesniejszy pomiar „motyw zdejmuje added w tej samej milisekundzie" dotyczyl oferty i mierzyl
     w rzeczywistosci NASZ wlasny MutationObserver, nie motyw.
     FIX: check zalezy juz TYLKO od `.nw-added-flash`, ktora ma gwarantowany czas zycia 1,4 s i jest
     nadawana globalnie (nw_cart_bump_on_add ma sam guard is_admin, wiec dziala rowniez w koszyku). */
  html ul.products a.add_to_cart_button.nw-added-flash:not(#nw-z):not(#nw-y):not(#nw-x)::after,
  html .wd-products a.add_to_cart_button.nw-added-flash:not(#nw-z):not(#nw-y):not(#nw-x)::after,
  html .wd-carousel a.add_to_cart_button.nw-added-flash:not(#nw-z):not(#nw-y):not(#nw-x)::after,
  html .wd-add-btn a.add_to_cart_button.nw-added-flash:not(#nw-z):not(#nw-y):not(#nw-x)::after,
  html .wd-add-btn-replace a.add_to_cart_button.nw-added-flash:not(#nw-z):not(#nw-y):not(#nw-x)::after {
    /* (audyt 2026-07-20 v4) po przejsciu na glif fontowy tlo juz nie rysuje ikony — check musi byc CONTENTEM,
       inaczej koszyk (\f105) zostawalby widoczny pod spodem. */
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%23000%22%20stroke-width%3D%222.4%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M4%2012.5l5%205L20%206.5%22%2F%3E%3C%2Fsvg%3E") !important;
    mask-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%23000%22%20stroke-width%3D%222.4%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M4%2012.5l5%205L20%206.5%22%2F%3E%3C%2Fsvg%3E") !important;
  }
  /* stan LADOWANIA (nw-adding/loading): pulsowanie ikony (tekst "Dodawanie..." jest zerowany, tlo zlote z JS) */
  html ul.products a.add_to_cart_button.loading:not(#nw-z):not(#nw-y):not(#nw-x)::after,
  html ul.products a.add_to_cart_button.nw-adding:not(#nw-z):not(#nw-y):not(#nw-x)::after,
  html .wd-products a.add_to_cart_button.loading:not(#nw-z):not(#nw-y):not(#nw-x)::after,
  html .wd-products a.add_to_cart_button.nw-adding:not(#nw-z):not(#nw-y):not(#nw-x)::after,
  html .wd-add-btn a.add_to_cart_button.loading:not(#nw-z):not(#nw-y):not(#nw-x)::after,
  html .wd-add-btn a.add_to_cart_button.nw-adding:not(#nw-z):not(#nw-y):not(#nw-x)::after,
  html .wd-add-btn-replace a.add_to_cart_button.loading:not(#nw-z):not(#nw-y):not(#nw-x)::after,
  html .wd-add-btn-replace a.add_to_cart_button.nw-adding:not(#nw-z):not(#nw-y):not(#nw-x)::after,
  html .wd-carousel a.add_to_cart_button.loading:not(#nw-z):not(#nw-y):not(#nw-x)::after,
  html .wd-carousel a.add_to_cart_button.nw-adding:not(#nw-z):not(#nw-y):not(#nw-x)::after {
    animation: nwCartIcoPulse 0.6s ease-in-out infinite !important;
  }
  /* sticky-hover po tapnieciu NIE moze zrobic czarnego tla (ciemna ikona by zniknela) — na mobile hover = zloto */
  html ul.products a.add_to_cart_button:not(#nw-z):hover,
  html .wd-products a.add_to_cart_button:not(#nw-z):hover,
  html .wd-carousel a.add_to_cart_button:not(#nw-z):hover,
  html .wd-add-btn a.add_to_cart_button:not(#nw-z):hover,
  html .wd-add-btn-replace a.add_to_cart_button:not(#nw-z):hover {
    background-color: #d4ba87 !important;
    border-color: #d4ba87 !important;
  }
}
@keyframes nwCartIcoPulse {
  50% { transform: scale(0.78); opacity: 0.55; }
}
/* (audyt 2026-07-20, user "na mobilce fajnie moze jakby byla animacja koszyka jakies szybkie powiekszenie
   zmniejszenie") BUMP ikony koszyka w headerze po dodaniu do wyceny — klasa .nw-cart-bump dodawana JS-em
   (added_to_cart, main-2) na 700 ms. Animacja TYLKO mobile (desktop ma wyrazny feedback na przycisku). */
@media (max-width: 768px) {
  .wd-header-cart.nw-cart-bump a > .wd-tools-icon,
  .wd-header-cart.nw-cart-bump > a,
  .nw-cart-bump .wd-tools-icon {
    animation: nwCartBump 0.55s cubic-bezier(0.3, 1.6, 0.4, 1) 1 !important;
  }
}
@keyframes nwCartBump {
  0% { transform: scale(1); }
  35% { transform: scale(1.35); }
  70% { transform: scale(0.92); }
  100% { transform: scale(1); }
}
/* ============================================================
   (audyt 2026-07-20, user "boks z dane rezerwacji wyrownaj do boksu Twoje zamowienie" + "boks dane rezerewacji
   niech sie konczy po tekscie") KASA, 2 kolumny float (#customer_details left / #order_review right).
   1) WYSOKOSC: JS nw_checkout_equal_height_boxes przestal rownac minHeight (zostawial pusty obszar w krotszej
      karcie) — kazdy boks ma wysokosc swojej tresci. height:auto na wypadek reguly z motywu.
   2) GORNA KRAWEDZ: zerujemy margin/padding-top OBU kolumn i OBU kart, zeby karty startowaly z tej samej linii
      (offset bral sie z paddingu kolumny #order_review, nie z samych kart).
   Tylko >=1025px — nizej kolumny sie stackuja i wyrownanie nie ma sensu. ============================================================ */
@media (min-width: 1025px) {
  html body.woocommerce-checkout #customer_details:not(#nw-z),
  html body.woocommerce-checkout #order_review:not(#nw-z) {
    margin-top: 0 !important;
    padding-top: 0 !important;
  }
  html body.woocommerce-checkout .nw-ccb-reservation-details:not(#nw-z),
  html body.woocommerce-checkout .nw-checkout-calc-box:not(#nw-z) {
    margin-top: 0 !important;
    min-height: 0 !important;
    height: auto !important;
    align-self: flex-start !important;
  }
}
/* ============================================================
   (audyt 2026-07-20, user "anuluj daj czerwone, ale taki zgaszony czerwony") Przycisk ANULUJ w liscie zamowien
   (Moje konto) — stonowana, przygaszona ceglana czerwien zamiast zlota: destrukcyjna akcja ma sie odrozniac od
   ZOBACZ, ale bez krzykliwego #c0112b. Tlo #b5544e (ceglany), napis kremowy; hover ciemniejszy #9c463f.
   ID-spec :not(#nw-z) bo master-override przyciskow (F2+G2) narzuca zloto wszystkim .btn/.button.
   Stan wylaczony (.nw-cancel-off / [disabled] / aria-disabled) zostaje szary — bez czerwieni. ============================================================ */
/* (audyt 2026-07-20 v2, user „anuluj nie jest czerwone") ROOT CAUSE: WooCommerce renderuje akcje konta jako
   `<a class="woocommerce-button button {KLUCZ_AKCJI}">`, a nasz filtr `nw_add_cancel_order_action` (main-2 ~l.26)
   rejestruje klucz **`nw-cancel`** — więc przycisk NIE MA klasy `.nw-cancel-order-btn`, w którą celował CSS.
   Najpewniejszy uchwyt to href: akcja ustawia `url = '#nw-cancel-' . ID`, więc `a[href^="#nw-cancel-"]` trafia
   zawsze, niezależnie od nazw klas w motywie. Trzymamy wszystkie warianty naraz (klasa historyczna + klucz + href). */
html a.nw-cancel-order-btn:not(#nw-z),
html .nw-cancel-order-btn:not(#nw-z),
html a.nw-cancel-order-btn.button:not(#nw-z),
html .woocommerce-orders-table a.nw-cancel-order-btn:not(#nw-z),
html .woocommerce a.button.nw-cancel:not(#nw-z),
html a.button.nw-cancel:not(#nw-z),
html a.nw-cancel:not(#nw-z),
html a[href^="#nw-cancel-"]:not(#nw-z),
html .woocommerce-orders-table a[href^="#nw-cancel-"]:not(#nw-z) {
  background: #b5544e !important;
  background-color: #b5544e !important;
  border: 1px solid #b5544e !important;
  color: #fdf6f2 !important;
  -webkit-text-fill-color: #fdf6f2 !important;
}
html a.nw-cancel-order-btn:not(#nw-z):hover,
html .nw-cancel-order-btn:not(#nw-z):hover,
html a.nw-cancel-order-btn:not(#nw-z):focus,
html .woocommerce-orders-table a.nw-cancel-order-btn:not(#nw-z):hover,
html .woocommerce a.button.nw-cancel:not(#nw-z):hover,
html a.button.nw-cancel:not(#nw-z):hover,
html a.nw-cancel:not(#nw-z):hover,
html a[href^="#nw-cancel-"]:not(#nw-z):hover,
html a[href^="#nw-cancel-"]:not(#nw-z):focus {
  background: #9c463f !important;
  background-color: #9c463f !important;
  border-color: #9c463f !important;
  color: #fff !important;
  -webkit-text-fill-color: #fff !important;
}
/* wylaczony „Anuluj" (zamowienie anulowane/oplacone) — neutralny szary, NIE czerwony */
html .nw-cancel-order-btn.nw-cancel-off:not(#nw-z),
html .nw-cancel-order-btn[disabled]:not(#nw-z),
html .nw-cancel-order-btn[aria-disabled="true"]:not(#nw-z),
html .woocommerce a.button.nw-cancel-off:not(#nw-z),
html a.button.nw-cancel-off:not(#nw-z),
html a.nw-cancel-off:not(#nw-z) {
  background: #ece7e0 !important;
  background-color: #ece7e0 !important;
  border-color: #e0d9d0 !important;
  color: #a8a099 !important;
  -webkit-text-fill-color: #a8a099 !important;
  cursor: default !important;
}
/* ============================================================
   (audyt 2026-07-20, user "i w kolku wyrownaj do tekstu - wszedzie") JEDEN PUNKT wyrownania info-ikony do linii
   tekstu. `vertical-align:middle` NIE centruje idealnie (wyrownuje srodek elementu do baseline + polowa x-height
   rodzica, nie do srodka wiersza) — zmierzone na zywo w Chrome: ikona siedziala 1,3 px PONIZEJ srodka tekstu.
   Korekta `top:-1px` zbija to do 0,27 px (zweryfikowane wstrzyknieciem CSS przed zapisem).
   margin-top:0 kasuje stare, rozjezdzone korekty per-klasa (np. .nw-ccb-info mialo margin-top:-3px).
   Chcesz zmienic wyrownanie WSZYSTKICH info-ikon -> edytujesz TYLKO te regule. ============================================================ */
html .nw-suma-i:not(#nw-z),
html .nw-daily-info:not(#nw-z),
html .nw-kf-ihint:not(#nw-z),
html .nw-doba-help:not(#nw-z),
html .nw-ccb-info:not(#nw-z),
html body.page-id-29938 .nw-doba-help:not(#nw-z) {
  vertical-align: middle !important;
  position: relative !important;
  top: -1px !important;
  margin-top: 0 !important;
  flex: 0 0 auto !important;
}
/* ============================================================
   (audyt 2026-07-20, MOBILE, wszystko ZMIERZONE i przetestowane wstrzyknieciem CSS w Chrome @412px)
   1) user "na mobile wypozycz troche wyzej do kategorii" — .nw-home-process-button mial margin-top 44px.
   2) user "przejdz do galerii button za szeroki, niech bedzie przyciety do tekstu" — przycisk mial
      min-width:380px !important (regula BEZ media), przez co rozpychal sie na cala szerokosc (382px).
      UWAGA SPECYFICZNOSC: override MUSI miec `a.` w selektorze — `html .klasa:not(#nw-z)` (1,2,1) PRZEGRYWA
      z istniejacym `html a.klasa:not(#nw-z)` (1,2,2). Zmierzone: 380px -> 236px (szerokosc tekstu).
   3) user "stepper w mobile w bundle wezszy" — .nw-popup-v3__qty mial 242px (cala szerokosc karty), bo
      buy-wrap na mobile ma 1 kolumne, a width:108px z desktopu przegrywalo. Zmierzone: 242px -> 132px.
   4) user "bundle i pop up ma znikac do dolu w mobile" — animacja zjazdu istnieje od 2026-07-11, ale
      translateY(60px) przy popupie na 90vh bylo ledwo widoczne; na mobile zjezdzamy o pelny ekran.
   ============================================================ */
@media (max-width: 767px) {
  html .home a.nw-home-process-button:not(#nw-z) {
    margin-top: 18px !important;
  }
  html a.nw-home-realizacje-preview__button:not(#nw-z) {
    min-width: 0 !important;
    width: auto !important;
    max-width: 100% !important;
    align-self: center !important;
    flex: 0 0 auto !important;
  }
  html .nw-home-realizacje-preview__bottom:not(#nw-z) {
    display: flex !important;
    justify-content: center !important;
  }
  html #nw-popup-v3 .nw-popup-v3__qty:not(#nw-z) {
    width: 132px !important;
    min-width: 132px !important;
    max-width: 132px !important;
    margin: 0 auto !important;
    justify-self: center !important;
    grid-template-columns: 42px minmax(0, 1fr) 42px !important;
  }
  html #nw-popup-v3.nw-popup-v3--closing .nw-popup-v3__box:not(#nw-z) {
    transform: translateY(100vh) !important;
  }
}

/* ============================================================
   (audyt 2026-07-20 v4) MOBILE: nagłówek — licznik koszyka, płynne wejście sticky, spokojniejszy feedback
   ============================================================ */
@media (max-width: 1024px) {
  /* (v5, user "w sumie daj 99 i potem 99+") Badge ZOSTAJE — wcześniejszy pomysł z ukryciem go na mobile
     zostawiał ikonę bez żadnej informacji o koszyku. Zamiast tego liczba jest przycinana do „99+"
     (JS nw_cart_count_cap w main-2), więc mieści się w kółku niezależnie od wielkości koszyka. */

  /* user: "czy sticky header na mobile mogly sie plynniej pojawiac, a nie jest skok?"
     Klon nagłówka wskakiwał natychmiast na swoje miejsce. Teraz wjeżdża z góry (200 ms) — bez zmiany
     wysokości, więc treść pod spodem nie skacze. */
  html .whb-clone:not(#nw-z) {
    transition: transform .2s ease, opacity .2s ease !important;
    will-change: transform;
  }
  html .whb-clone:not(.whb-sticked):not(#nw-z) {
    transform: translateY(-100%) !important;
    opacity: 0 !important;
  }
  html .whb-clone.whb-sticked:not(#nw-z) {
    transform: translateY(0) !important;
    opacity: 1 !important;
  }

  /* user: "koszyk za mocno mruga jak sie dodaje produkt" — bump był za ostry (skok skali + prześwietlenie).
     Zostaje delikatne, jednorazowe podbicie, bez zmiany jasności. */
  html .wd-header-cart.nw-cart-bump:not(#nw-z),
  html .wd-header-cart.nw-cart-bump:not(#nw-z) .wd-tools-icon {
    animation: nwCartBumpSoft .38s ease-out 1 !important;
  }
}
@keyframes nwCartBumpSoft {
  0%   { transform: scale(1); }
  40%  { transform: scale(1.13); }
  100% { transform: scale(1); }
}

/* (audyt 2026-07-20 v5, user "na ofercie i proponowane, albo moze cie zainteresowac mial byc POP UP")
   W LIŚCIE produktów (oferta / „Proponowane" / „Może Cię zainteresować") nie pokazujemy inline „Wybierz opcję" —
   wybór wariantu idzie przez POPUP (JS w main-2, po wyborze od razu dodaje do koszyka).
   UWAGA 1: chowamy `.quick-shop-wrapper` (wstrzykiwany formularz), NIE `.wd-quick-shop` — ta druga klasa siedzi
   na kontenerze MINIATURY (`.wd-product-thumb`), więc jej ukrycie skasowało ZDJĘCIA w całej ofercie (regresja
   zgłoszona przez usera: „usunąłeś zdjęcia produktów"). Zweryfikowane w DOM: `.wd-quick-shop` zawiera <img>,
   a formularz ląduje w dziecku `.quick-shop-wrapper`.
   UWAGA 2: NIE używamy `display:none` — formularz musi zostać w układzie, bo to z niego WooCommerce ustala
   variation_id. Chowamy wizualnie (bez miejsca, bez klikalności). Nasz .nw-vsel może zniknąć całkiem. */
html .wd-product .quick-shop-wrapper:not(#nw-z),
html ul.products .quick-shop-wrapper:not(#nw-z),
html .wd-products .quick-shop-wrapper:not(#nw-z),
html .wd-carousel .quick-shop-wrapper:not(#nw-z) {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
  clip: rect(0 0 0 0) !important;
  clip-path: inset(50%) !important;
  opacity: 0 !important;
  pointer-events: none !important;
}
html .wd-product .nw-vsel:not(#nw-z),
html ul.products .nw-vsel:not(#nw-z),
html .wd-products .nw-vsel:not(#nw-z),
html .wd-carousel .nw-vsel:not(#nw-z) {
  display: none !important;
}

/* (audyt 2026-07-20 v7, user "dodaj do wyceny na bundle tez wezszy button") Przycisk w kartach popupu dodatków
   ciągnął się na całą szerokość karty i dominował nad ceną oraz stepperem. Zwężamy do treści (max 240 px)
   i centrujemy — spójnie ze stepperem, który stoi wyśrodkowany nad nim. Reguła ID-spec, bo blok popupu ma
   własne `!important` (kanon F2+G2). Wysokość, kolory i typografia bez zmian. */
html #nw-popup-v3 .nw-popup-v3__buy-wrap .add_to_cart_button:not(#nw-z),
html #nw-popup-v3 .nw-popup-v3__card .add_to_cart_button:not(#nw-z),
html #nw-popup-v3 .nw-popup-v3__card a.button:not(#nw-z) {
  display: inline-flex !important;
  width: auto !important;
  min-width: 0 !important;
  max-width: 240px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding-left: 26px !important;
  padding-right: 26px !important;
}
html #nw-popup-v3 .nw-popup-v3__buy-wrap:not(#nw-z) {
  text-align: center !important;
}

/* (audyt 2026-07-20 v7, user "nadal nie jest czerwone" — HTML: <a class="woocommerce-button button nw-cancel">)
   Przycisk ma klasę `button`, więc łapie go master-override przycisków (kanon F2+G2, złote tło, `:not(#nw-z)`).
   Moja poprzednia reguła miała TĘ SAMĄ specyficzność (1 × ID), a stała WCZEŚNIEJ w pliku — przy remisie wygrywa
   późniejsza, więc anuluj wracał na złoto. Eskalacja do 3 × :not() + pozycja na końcu pliku (ten sam patent co
   przy ikonie koszyka). Kolor: zgaszona czerwień, nie alarmowa — to akcja pomocnicza, nie ostrzeżenie. */
html a.nw-cancel:not(#nw-z):not(#nw-y):not(#nw-x),
html a.nw-cancel-off:not(#nw-z):not(#nw-y):not(#nw-x),
html a[href^="#nw-cancel-"]:not(#nw-z):not(#nw-y):not(#nw-x),
html .woocommerce-button.nw-cancel:not(#nw-z):not(#nw-y):not(#nw-x) {
  background: #b4453c !important;
  border-color: #b4453c !important;
  color: #fff !important;
  -webkit-text-fill-color: #fff !important;
}
html a.nw-cancel:not(#nw-z):not(#nw-y):not(#nw-x):hover,
html a[href^="#nw-cancel-"]:not(#nw-z):not(#nw-y):not(#nw-x):hover,
html .woocommerce-button.nw-cancel:not(#nw-z):not(#nw-y):not(#nw-x):hover {
  background: #97362e !important;
  border-color: #97362e !important;
  color: #fff !important;
  -webkit-text-fill-color: #fff !important;
}
/* Wariant nieaktywny (anulowanie niedostępne) — wyszarzony, żeby nie obiecywał akcji, której nie ma. */
html a.nw-cancel-off:not(#nw-z):not(#nw-y):not(#nw-x) {
  background: #d8d2c8 !important;
  border-color: #d8d2c8 !important;
  color: #6f6f6f !important;
  -webkit-text-fill-color: #6f6f6f !important;
  cursor: not-allowed !important;
}

/* =========================================================
   POWIAZANE PRODUKTY NA MOBILE — swipe zamiast martwej karuzeli (2026-07-20)
   -----------------------------------------------------------------------
   ZGLOSZENIE (TODO-MOBILE sekcja F): „brak strzalek karuzeli (widoczne tylko 2 sztuki)".
   ZMIERZONE w Chrome @412: karuzela powiazanych NIE dostaje klasy `.wd-initialized`
   (slider WoodMart nie startuje — bez bledow w konsoli, takze po wejsciu w viewport).
   Skutek: 5 kafli po 196px = 980px lezy w kontenerze 392px z `overflow:clip`, wiec
   3 ostatnie produkty sa nieosiagalne, a strzalki chowa regula MOTYWU
   `.wd-carousel:not(.wd-initialized) + .wd-nav-arrows .wd-btn-arrow{opacity:0!important}`.

   ⚠️ CLAUDE.md zakazuje nadpisywania transform/display/overflow na .wd-carousel(-wrap),
   bo kiedys zabilo to dzialajacy slider. Dlatego WSZYSTKO ponizej wisi na klasie
   `.nw-swipe`, ktora JS (main-2, nw_related_swipe_fallback) nadaje WYLACZNIE gdy
   slider sie NIE zainicjalizowal — i zdejmuje, gdy wystartuje. Slider dziala => te
   reguly nie obowiazuja. To nie jest obejscie zakazu, tylko fallback dla martwego stanu.
   ========================================================= */
@media (max-width: 768px) {
  html body .wd-carousel-container .wd-carousel.nw-swipe:not(#nw-z) {
    overflow-x: auto !important;
    scroll-snap-type: x mandatory;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
  }
  html body .wd-carousel-container .wd-carousel.nw-swipe:not(#nw-z)::-webkit-scrollbar {
    display: none;
  }
  html body .wd-carousel-container .wd-carousel.nw-swipe .wd-carousel-item:not(#nw-z) {
    scroll-snap-align: start;
  }
  /* Strzalki: motyw trzyma je na opacity:0 (hover-reveal + stan „nie zainicjalizowana").
     Na mobile hovera nie ma, wiec odslaniamy je i podpinamy do scrollBy w JS.
     Specyficznosc 2×ID przez :not(#nw-z) — zwykla klasowa regula przegrywa z motywem. */
  html body .wd-carousel-container .wd-carousel.nw-swipe:not(#nw-z) + .wd-nav-arrows:not(#nw-z) {
    pointer-events: auto !important;
  }
  html body .wd-carousel-container .wd-carousel.nw-swipe:not(#nw-z) + .wd-nav-arrows .wd-btn-arrow:not(#nw-z) {
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
  }
  html body .wd-carousel-container .wd-carousel.nw-swipe:not(#nw-z) + .wd-nav-arrows .wd-btn-arrow.nw-arr-off:not(#nw-z) {
    opacity: .3 !important;
    pointer-events: none !important;
  }
  html body .wd-carousel-container .wd-carousel.nw-swipe:not(#nw-z) + .wd-nav-arrows .wd-arrow-inner:not(#nw-z) {
    display: flex !important;
    align-items: center;
    justify-content: center;
  }
}


/* =========================================================
   POTWIERDZENIE DODANIA NA LISCIE PRODUKTOW (2026-07-20 v9)
   -----------------------------------------------------------------------
   user: „po kliknieciu musi bcy tez akcja na liscie produktow w oferta i innych z tym buttonem".
   ZMIERZONE w Chrome (MutationObserver na klasach przycisku): klasa `nw-adding` pojawia sie po 41 ms
   i trzyma ~2,4 s (to dziala), ale `added` jest nadawana i ZDEJMOWANA w tej samej milisekundzie
   (2408ms -> 2408ms), wiec check nie mial szans sie pokazac.
   Rozwiazanie: wlasna klasa `.nw-added-flash` (JS: main-2, nw_cart_bump_on_add) na 1,4 s.
   Tu tylko krotki „bump" przycisku — sam check rysuje regula ::after wyzej (dolaczona do listy selektorow).
   Dziala tak samo na mobile (przycisk-ikona) i na desktopie (przycisk z napisem). ========================================================= */
@keyframes nwAddedPop {
  0%   { transform: scale(1); }
  35%  { transform: scale(1.06); }
  100% { transform: scale(1); }
}
html a.add_to_cart_button.nw-added-flash:not(#nw-z):not(#nw-y),
html .wd-add-btn a.button.nw-added-flash:not(#nw-z):not(#nw-y) {
  animation: nwAddedPop .34s ease-out 1;
}
@media (prefers-reduced-motion: reduce) {
  html a.add_to_cart_button.nw-added-flash:not(#nw-z):not(#nw-y),
  html .wd-add-btn a.button.nw-added-flash:not(#nw-z):not(#nw-y) { animation: none; }
}/* ⚠️ (audyt 2026-07-20 v9, user „przeskakiwanie fontow, styli jest widoczne na calej stronie przy przechodzeniu")
   ROOT CAUSE ZMIERZONY — i NIE da sie go naprawic wylacznie tym plikiem:
   przegladarka widzi 73 kroje i WSZYSTKIE maja `display: swap` (sprawdzone przez document.fonts na zywo),
   mimo ze TEN plik deklaruje inna wartosc. Dowod lancuchowy: surowy nw-static/custom-css-*.css na serwerze
   ma nasza wartosc, a bundel /wp-content/litespeed/css/*.css serwowany przegladarce ma w tych samych
   miejscach `swap`. Jedyne wytlumaczenie: LiteSpeed PRZEPISUJE font-display (opcja „Font Display Optimization"
   ustawiona na Swap) — i robi to takze dla krojow motywu/Elementora, ktorych ten plik w ogole nie kontroluje
   (stad 73, a nie nasze 34; same duplikaty: Roboto 400 wystepuje 11x, Poppins 600 7x).
   `swap` Z DEFINICJI powoduje przeskok: tekst maluje sie fontem zastepczym, po dociagnieciu webfontu podmienia.
   DZIALANIE PO STRONIE PANELU (bez tego zmiana ponizej nic nie da):
   LiteSpeed Cache -> Page Optimization -> Tuning -> „Font Display Optimization" = **Optional** (albo Default).
   „Optional" = jesli font nie zdazy w ~100 ms, przegladarka zostaje przy zastepczym i NIE podmienia go
   w trakcie ogladania strony => zero przeskoku. Ponizsze `optional` trzymamy spojnie na wypadek Default. */



/* =========================================================
   PUSTY KOSZYK - ODDECH NAD KOMUNIKATEM (2026-07-20)
   ---------------------------------------------------------
   user: „w takiej sytuacji komuniakt jest za wysoko" (zloty pasek „Usunieto: X. Cofnij?"
   przyklejony bezposrednio pod czarnym menu, gdy koszyk jest PUSTY).

   ZMIERZONE NA ZYWO (Chrome, koszyk = ?page_id=12; UWAGA: /koszyk/ i /cart/ zwracaja 404,
   instalacja ma zwykle permalinki - to dlatego wczesniejsze proby nie dochodzily do strony):
     pusty koszyk : dol headera 159 / gora komunikatu 159  =  odstep 0.0 px  (mobile: 73 / 73)
     pelny koszyk : dol headera 159 / gora komunikatu 509  =  odstep 350 px

   PRZYCZYNA: pusty i pelny koszyk to DWA ROZNE RENDERY. Pelny idzie przez Elementora
   (main.wd-builder-on + sekcja-baner o wysokosci 320 px, ktora daje caly ten odstep);
   pusty renderuje sie BEZ Elementora (main.wd-builder-off, brak sekcji), a sam komunikat
   nie ma zadnej reguly margin-top - computed 0 z generycznego resetu. Nic go nie odsuwa.

   DLACZEGO NIE PADDING NA KONTENERACH PUSTEGO KOSZYKA: paddingi 56px (linie ok. 15548 i 19535)
   trafiaja w h2.cart-empty, czyli PONIZEJ komunikatu - ich zwiekszanie nic nie da.
   DLACZEGO NIE MARGINES NA .woocommerce-notices-wrapper: on jest drukowany ZAWSZE, takze pusty,
   wiec dodalby martwa dziure nad napisem „Twoj koszyk jest pusty" przy kazdym wejsciu.

   BRAMKA main.wd-builder-off sprawia, ze regula NIE dotyka pelnego koszyka - obecne 350 px
   zostaje nietkniete strukturalnie, a nie przez dobieranie wartosci.

   ZAKRES SELEKTOROW (po weryfikacji adwersarialnej):
     - .woocommerce-error POMINIETY CELOWO: na koszyku jest ukryty (linia ok. 5286,
       display:none !important), wiec marginesowanie go byloby martwym zapisem.
     - .woocommerce-info z wykluczeniem .cart-empty: sam boks „koszyk jest pusty" bywa
       renderowany jako .cart-empty.woocommerce-info (linia ok. 18708) - bez :not() dostalby
       ten sam margines i odsunalby sie razem z komunikatem.

   NIEZWERYFIKOWANE (do sprawdzenia przy pierwszym realnym usunieciu pozycji):
     notka byla ZASYMULOWANA na prawdziwym markupie pustego koszyka. Czesc wersji WooCommerce
     opakowuje notke w ul/li - selektor zlapie oba, ale margines musi siedziec na elemencie
     ZEWNETRZNYM. Jesli po wdrozeniu odstepu nadal nie ma, to jest pierwsza rzecz do sprawdzenia.
   ========================================================= */
html body.woocommerce-cart main.wd-builder-off .woocommerce-message:not(#nw-z),
html body.woocommerce-cart main.wd-builder-off .woocommerce-info:not(.cart-empty):not(#nw-z) {
  margin-top: 32px !important;
}

/* Druga sciezka: usuniecie OSTATNIEJ pozycji przez nasz AJAX (qty na 0) nie przeladowuje strony,
   wiec w DOM zostaje klasa wd-builder-on i bramka wyzej nie zadziala. Tutaj celujemy w obecnosc
   samego bloku pustego koszyka. OSOBNA regula, NIE dopisana przecinkiem do tamtej - `:has()` nie
   dziala na starszym Safari, a nieznany selektor w liscie uniewaznilby CALA regule. */
html body.woocommerce-cart .woocommerce:has(.cart-empty) .woocommerce-message:not(#nw-z) {
  margin-top: 32px !important;
}

@media (max-width: 767px) {
  html body.woocommerce-cart main.wd-builder-off .woocommerce-message:not(#nw-z),
  html body.woocommerce-cart main.wd-builder-off .woocommerce-info:not(.cart-empty):not(#nw-z) {
    margin-top: 20px !important;
  }
  html body.woocommerce-cart .woocommerce:has(.cart-empty) .woocommerce-message:not(#nw-z) {
    margin-top: 20px !important;
  }
}

/* =========================================================
   KOSZYK MOBILE - ROWNY RYTM WOKOL KOMUNIKATU (2026-07-20)
   ---------------------------------------------------------
   user: „na mobile komunikat ma nierowne odstepy pomiedzy przejdz do rezerwacji a paskiem progressu".

   ZMIERZONE @412 z komunikatem w DOM (koszyk NIEPUSTY, main.wd-builder-on):
     pasek krokow do komunikatu ....... 46 px
     komunikat do „Przejdz do rezerwacji" ... 2 px
   PO KOREKCIE: 24 px i 24 px (zweryfikowane na zywo).

   PRZYCZYNA: `.nw-cart-top-cta-wrap` ma `margin:-18px auto 8px` (regula wyzej, okolo linii 19899).
   Ta wartosc byla skalibrowana dla koszyka BEZ komunikatu - kasowala asymetryczne odstepy kontenerow
   Elementora (komentarz przy tamtej regule: „ZWERYFIKOWANE live @412: nad=28, pod=28"). Gdy pojawia sie
   komunikat, wchodzi dokladnie w te luke: caly gorny odstep zostaje NAD komunikatem, a ujemne -18px
   zjada odstep POD nim i przyciaga przycisk do komunikatu.

   DLACZEGO KOREKTA SIEDZI NA KOMUNIKACIE, A NIE NA PRZYCISKU: zmierzone w DOM - komunikat
   (.woocommerce-notices-wrapper) i przycisk (.nw-cart-top-cta-wrap) maja ROZNYCH rodzicow
   (dwa osobne .elementor-widget-container), wiec selektory rodzenstwa ich nie polacza.
   Korekta na samym komunikacie dziala niezaleznie od struktury Elementora.

   BRAMKA main.wd-builder-on = koszyk NIEPUSTY. Pusty koszyk renderuje sie bez Elementora
   (wd-builder-off) i ma wlasna regule odstepu wyzej - obie sie nie przecinaja.
   ========================================================= */
@media (max-width: 768px) {
  html body.woocommerce-cart main.wd-builder-on .woocommerce-message:not(#nw-z),
  html body.woocommerce-cart main.wd-builder-on .woocommerce-info:not(.cart-empty):not(#nw-z) {
    margin-top: -22px !important;
    margin-bottom: 22px !important;
  }
}

/* =========================================================
   KARUZELA PRODUKTOW - ROWNE KAFLE I PRZYCISKI W JEDNEJ LINII (2026-07-20)
   ---------------------------------------------------------
   user: „w koszyku w moze cie zainteresowac nadal sa zle buttony".

   ZMIERZONE @412 na sekcji „Moze Cie zainteresowac" (koszyk):
     kafle: 340 / 340 / 343 / 343 px, tytuly 39 / 39 / 42 / 42 px
     przyciski rozjezdzaly sie o 3 px (a przy tytule 1-liniowym roznica jest duzo wieksza)
   PO KOREKCIE: wszystkie kafle 343 px, rozrzut przyciskow 0 px (zweryfikowane na zywo).

   PRZYCZYNA: motyw daje .wd-carousel-item wysokosc wlasnej tresci (zmierzone: height 340.258px,
   align-self auto), podczas gdy .wd-carousel-wrap ma 343.258px. Krotszy kafel NIE rozciaga sie
   do najwyzszego, wiec przycisk konczy sie wyzej. Rozny tytul = rozna wysokosc kafla = krzywe przyciski.

   ROZWIAZANIE (uklad, nie magiczne liczby):
     1. kafel rozciaga sie do najwyzszego  (height:auto + align-self:stretch)
     2. karta wypelnia kafel na pelna wysokosc, kolumnowo
     3. przycisk dosuniety do DOLU karty      (margin-top:auto)
     4. tytul ma stala minimalna wysokosc     (min-height 2.7em - ten sam wzorzec co przy
        powiazanych produktach), zeby tytul 1-liniowy nie podnosil ceny i przycisku

   ZAKRES: TYLKO karuzele PRODUKTOW (.wd-carousel-container.wd-products). Galeria zdjec produktu
   (.wd-gallery-images / .wd-gallery-thumb) ma inne klasy i NIE jest ruszana.
   NIE dotykamy transform ani overflow na .wd-carousel-wrap i .wd-carousel - to zabiloby slider
   (zasada stala w CLAUDE.md). Zmieniamy wylacznie kafel i jego wnetrze.
   ========================================================= */
html .wd-carousel-container.wd-products .wd-carousel-wrap .wd-carousel-item:not(#nw-z) {
  height: auto !important;
  align-self: stretch !important;
}
html .wd-carousel-container.wd-products .wd-carousel-item .wd-product:not(#nw-z) {
  height: 100% !important;
  display: flex !important;
  flex-direction: column !important;
}
html .wd-carousel-container.wd-products .wd-carousel-item .wd-product-wrapper:not(#nw-z) {
  flex: 1 1 auto !important;
  display: flex !important;
  flex-direction: column !important;
}
html .wd-carousel-container.wd-products .wd-carousel-item .wd-add-btn:not(#nw-z) {
  margin-top: auto !important;
}
html .wd-carousel-container.wd-products .wd-carousel-item .wd-entities-title:not(#nw-z) {
  min-height: 2.7em !important;
}

/* =========================================================
   KAFLE KATEGORII - ROWNE TYTULY (2026-07-20)
   ---------------------------------------------------------
   audyt, uwaga 26/26 (zreprodukowane @412 px): kafel „Namioty ekspresowe" jest o 23 px wyzszy
   od sasiada, bo jego nazwa lamie sie na dwie linie - przez to licznik produktow pod spodem
   stoi nizej niz w kaflach obok i rzad wyglada na krzywy.
   Ten sam wzorzec, ktory dziala juz przy powiazanych produktach: staly minimalny wysokosc tytulu,
   zeby nazwa 1- i 2-wierszowa zajmowaly tyle samo miejsca.
   ZAKRES: tylko kafle KATEGORII (.wd-cat). Kafle produktow maja wlasna regule wyzej.
   ========================================================= */
html .wd-cat .wd-entities-title:not(#nw-z),
html .category-grid-item .wd-entities-title:not(#nw-z) {
  min-height: 2.7em !important;
  display: block !important;
}

/* ============================================================
   (2026-07-21, user „komunikat do poprawy, bo nie jest w stylu strony")
   Komunikat po wygasnieciu sesji rezerwacji pojawia sie na stronie SZCZEGOLOW (page-id-29938),
   a stylowany byl tylko odpowiednik na kasie (.woocommerce-checkout .woocommerce-info, l. ~5184),
   wiec tutaj wychodzil w domyslnym niebieskim pasku WooCommerce. Sprowadzamy go do kanonu kart:
   krem #fdfbf6 + zlota ramka + radius 12, bez ikony-kolka WooCommerce.
   ID-spec, bo WooCommerce trzyma swoje `.woocommerce-info` z wysoka waga w wlasnym arkuszu.
   ============================================================ */
html body.page-id-29938 :is(.woocommerce-info, .woocommerce-message, .woocommerce-notices-wrapper .woocommerce-info):not(#nw-z) {
  background: #fdfbf6 !important;
  border: 1px solid rgba(212, 186, 135, 0.45) !important;
  border-top: 1px solid rgba(212, 186, 135, 0.45) !important;
  border-radius: 12px !important;
  box-shadow: 0 14px 40px rgba(0, 0, 0, 0.05) !important;
  color: #1a1407 !important;
  font-family: 'Poppins', 'Helvetica Neue', Helvetica, Arial, sans-serif !important;
  font-size: 14px !important;
  font-weight: 400 !important;
  line-height: 1.6 !important;
  padding: 16px 20px !important;
  margin: 0 0 20px !important;
}
html body.page-id-29938 :is(.woocommerce-info, .woocommerce-message):not(#nw-z)::before {
  display: none !important;   /* niebieskie kolko „i" WooCommerce — nie nalezy do naszego jezyka wizualnego */
}
html body.page-id-29938 :is(.woocommerce-info, .woocommerce-message):not(#nw-z) a:not(#nw-z) {
  color: #8a6d2f !important;  /* zloto o kontrascie 4,71:1 — to samo, ktorego uzywamy na jasnych tlach */
  text-decoration: underline !important;
}