/*
Theme Name: Gruzmax
Template: astra
Description: Motyw potomny Astry dla gruzmax.pl (CC, 11.2026). Bloki WordPressa, bez kreatorów stron. Projekt: „Heavy-Duty Municipal & Waste Logistics” (Stitch) — granat + bursztyn.
Version: 2.0.4
Text Domain: gruzmax
*/

/* ===== Czcionki (lokalnie, OFL) ===== */
@font-face { font-family: "Plus Jakarta Sans"; font-style: normal; font-weight: 600 800; font-display: swap; src: url(fonts/pjs-latin-ext.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-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@font-face { font-family: "Plus Jakarta Sans"; font-style: normal; font-weight: 600 800; font-display: swap; src: url(fonts/pjs-latin.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; }
@font-face { font-family: "Inter"; font-style: normal; font-weight: 400 700; font-display: swap; src: url(fonts/inter-latin-ext.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-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@font-face { font-family: "Inter"; font-style: normal; font-weight: 400 700; font-display: swap; src: url(fonts/inter-latin.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; }

/* ===== Tokeny ===== */
:root {
	--gm-granat: #0b1c30;
	--gm-granat-2: #16293f;
	--gm-amber: #f59e0b;
	--gm-amber-hover: #ffb95f;
	--gm-amber-ciemny: #855300;
	--gm-amber-tlo: #fff4e0;
	--gm-na-amber: #2a1700;
	--gm-tlo: #f8f9ff;
	--gm-tlo-2: #eff4ff;
	--gm-karta: #ffffff;
	--gm-linia: #dbe3ef;
	--gm-tekst: #0b1c30;
	--gm-tekst-2: #4a5468;
	--gm-tekst-3: #6b7489;
	--gm-zielony: #006c49;
	--gm-zielony-tlo: #e3f6ee;
	--gm-czerwony: #ba1a1a;
	--gm-czerwony-tlo: #ffecea;
	--gm-szer: 1200px;
	--gm-r: 8px;
	--gm-r-xl: 14px;
	--gm-cien: 0 4px 16px rgba(11, 28, 48, .08);
	--gm-cien-2: 0 14px 34px rgba(11, 28, 48, .13);
	--gm-font: "Inter", system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;
	--gm-font-n: "Plus Jakarta Sans", "Inter", system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;
}

/* ===== Baza ===== */
html { scroll-behavior: smooth; scroll-padding-top: 96px; }
body, button, input, select, textarea { font-family: var(--gm-font); }
body { color: var(--gm-tekst); background: var(--gm-tlo); font-size: 16px; line-height: 1.7; -webkit-font-smoothing: antialiased; }
a { color: #1f5fae; text-underline-offset: 2px; }
a:hover, a:focus { color: var(--gm-granat); }
:focus-visible { outline: 3px solid var(--gm-amber); outline-offset: 2px; }
h1, h2, h3, h4, h5, h6, .entry-content :where(h1, h2, h3, h4) { font-family: var(--gm-font-n); color: var(--gm-granat); font-weight: 800; line-height: 1.2; letter-spacing: -0.015em; }
.entry-content h2 { font-size: clamp(1.55rem, 1.15rem + 1.4vw, 2.25rem); margin: 0 0 .6em; }
.entry-content h3 { font-size: clamp(1.15rem, 1rem + .45vw, 1.35rem); font-weight: 700; margin: 0 0 .5em; }
.entry-content p { margin: 0 0 1.05em; color: var(--gm-tekst-2); }
.entry-content strong { color: var(--gm-tekst); }
.entry-content ul, .entry-content ol { margin: 0 0 1.2em 1.2em; color: var(--gm-tekst-2); }
.entry-content li { margin-bottom: .3em; }
.skip-link:focus { z-index: 100000; }

/* Astra: pełna szerokość, bez tytułu i odstępów — sekcje robią układ */
.ast-page-builder-template .site-content > .ast-container, .site-content > .ast-container { max-width: none; padding: 0; }
.ast-plain-container.ast-no-sidebar #primary, #primary { margin: 0; padding: 0; }
.entry-content > *:not(.alignfull):not(.wp-block-group) { margin-left: auto; margin-right: auto; }
.ast-single-post .entry-header, .page .entry-header { display: none; }
article.page { margin: 0; padding: 0; }
.entry-content { margin: 0; }
.ast-separate-container, body, .site-content { background: var(--gm-tlo); }

/* ===== Ikony (maski SVG, bez czcionki ikon) ===== */
.gm-ik { display: inline-block; width: 1.1em; height: 1.1em; flex: none; vertical-align: -.18em; background: currentColor; -webkit-mask: var(--m) center / contain no-repeat; mask: var(--m) center / contain no-repeat; }
.gm-ik--tel { --m: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6.6 10.8a15.1 15.1 0 0 0 6.6 6.6l2.2-2.2a1 1 0 0 1 1-.25 11.4 11.4 0 0 0 3.6.57 1 1 0 0 1 1 1V20a1 1 0 0 1-1 1A17 17 0 0 1 3 4a1 1 0 0 1 1-1h3.5a1 1 0 0 1 1 1c0 1.25.2 2.45.57 3.57a1 1 0 0 1-.25 1z'/%3E%3C/svg%3E"); }
.gm-ik--mail { --m: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M20 4H4a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2V6a2 2 0 0 0-2-2zm0 4-8 5-8-5V6l8 5 8-5z'/%3E%3C/svg%3E"); }
.gm-ik--zegar { --m: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2a10 10 0 1 0 0 20 10 10 0 0 0 0-20zm1 10.4 3.5 2.1-.8 1.3L11 13V7h2z'/%3E%3C/svg%3E"); }
.gm-ik--pin { --m: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2a7 7 0 0 0-7 7c0 5.25 7 13 7 13s7-7.75 7-13a7 7 0 0 0-7-7zm0 9.5A2.5 2.5 0 1 1 12 6.5a2.5 2.5 0 0 1 0 5z'/%3E%3C/svg%3E"); }
.gm-ik--auto { --m: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M3 6h11v9h1.2l1.6-5H21l2 4v4h-2a3 3 0 0 1-6 0H9a3 3 0 0 1-6 0H1V8a2 2 0 0 1 2-2zm15 6-1 3h4l-1.5-3zM6 16.5a1.5 1.5 0 1 0 0 3 1.5 1.5 0 0 0 0-3zm12 0a1.5 1.5 0 1 0 0 3 1.5 1.5 0 0 0 0-3z'/%3E%3C/svg%3E"); }
.gm-ik--ok { --m: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2a10 10 0 1 0 0 20 10 10 0 0 0 0-20zm-1.5 14.2-4-4 1.4-1.4 2.6 2.6 5.6-5.6 1.4 1.4z'/%3E%3C/svg%3E"); }
.gm-ik--nie { --m: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2a10 10 0 1 0 0 20 10 10 0 0 0 0-20zm4.2 12.8-1.4 1.4L12 13.4l-2.8 2.8-1.4-1.4 2.8-2.8-2.8-2.8 1.4-1.4 2.8 2.8 2.8-2.8 1.4 1.4-2.8 2.8z'/%3E%3C/svg%3E"); }
.gm-ik--dok { --m: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6 2h8l6 6v12a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2zm7 1.5V9h5.5zM8 13h8v1.6H8zm0 3.4h8V18H8z'/%3E%3C/svg%3E"); }
.gm-ik--recykl { --m: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 3 9.3 7.6l1.7 1 1-1.8 2.3 4 1.7-1zM5.6 11l-2.8 4.8A2 2 0 0 0 4.5 19H9v-2H5.4l2.2-3.8 1.7 1V10zM20 15.8 17.4 11l-1.7 1 2.1 3.6c.1.2 0 .4-.2.4H13v-2l-3 3 3 3v-2h5.5a2 2 0 0 0 1.5-3.2z'/%3E%3C/svg%3E"); }
.gm-ik--kalend { --m: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M7 2h2v2h6V2h2v2h2a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2h2zm-2 7v11h14V9zm2 2h4v4H7z'/%3E%3C/svg%3E"); }
.gm-ik--drogi { --m: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M10.2 2h3.6l.4 4h-1.6l-.1-1.5h-1l-.1 1.5H9.8zM9.6 8h4.8l.6 6h-2.2l-.1-2h-1.4l-.1 2H9zM8.8 16h6.4l.8 6H8z'/%3E%3C/svg%3E"); }
.gm-ik--strzalka { --m: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 4 10.6 5.4 16.2 11H4v2h12.2l-5.6 5.6L12 20l8-8z'/%3E%3C/svg%3E"); }
.gm-ik--lista { --m: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M3 5h2v2H3zm4 0h14v2H7zM3 11h2v2H3zm4 0h14v2H7zm-4 6h2v2H3zm4 0h14v2H7z'/%3E%3C/svg%3E"); }

/* ===== Przyciski ===== */
.gm-przycisk, .entry-content .wp-block-button__link, .gm-nav__cta a { display: inline-flex; align-items: center; justify-content: center; gap: .5rem; background: var(--gm-amber); color: var(--gm-na-amber) !important; font-family: var(--gm-font-n); font-weight: 800; font-size: .95rem; letter-spacing: .02em; text-decoration: none; padding: .85rem 1.5rem; border-radius: var(--gm-r); border: 0; line-height: 1.2; cursor: pointer; box-shadow: 0 6px 16px rgba(245, 158, 11, .28); transition: background .15s, transform .15s; }
.gm-przycisk:hover, .entry-content .wp-block-button__link:hover, .gm-nav__cta a:hover { background: var(--gm-amber-hover); color: var(--gm-na-amber) !important; }
.gm-przycisk:active { transform: scale(.98); }
.gm-przycisk--jasny { background: rgba(255, 255, 255, .12); color: #fff !important; box-shadow: none; backdrop-filter: blur(6px); }
.gm-przycisk--jasny:hover { background: rgba(255, 255, 255, .22); color: #fff !important; }
.gm-przycisk--granat { background: var(--gm-granat); color: #fff !important; box-shadow: none; }
.gm-przycisk--granat:hover { background: var(--gm-granat-2); color: #fff !important; }
.gm-przycisk--maly { padding: .5rem .95rem; font-size: .8rem; text-transform: uppercase; letter-spacing: .06em; box-shadow: none; }
.gm-przycisk--duzy { padding: 1rem 1.7rem; font-size: 1.05rem; }

/* ===== Pasek górny ===== */
.gm-pasek { background: var(--gm-granat); color: #c9d3e3; font-size: .8rem; font-weight: 600; }
.gm-pasek__in { max-width: var(--gm-szer); margin: 0 auto; padding: 0 1.25rem; min-height: 44px; display: flex; gap: 1.5rem; align-items: center; justify-content: space-between; }
.gm-pasek a { color: #c9d3e3; text-decoration: none; }
.gm-pasek a:hover { color: #fff; }
.gm-pasek__l, .gm-pasek__p { display: flex; align-items: center; gap: 1.4rem; }
.gm-pasek__l > *, .gm-pasek__p > * { display: inline-flex; align-items: center; gap: .4rem; }
.gm-pasek .gm-pasek__tel { color: var(--gm-amber); font-weight: 700; font-size: .875rem; letter-spacing: .02em; }
.gm-pasek .gm-pasek__tel:hover { color: var(--gm-amber-hover); }
.gm-pasek .gm-ik { color: var(--gm-amber); }

/* ===== Nagłówek ===== */
.gm-naglowek { background: rgba(255, 255, 255, .96); backdrop-filter: blur(12px); -webkit-backdrop-filter: blur(12px); position: sticky; top: 0; z-index: 50; box-shadow: var(--gm-cien); }
.admin-bar .gm-naglowek { top: 32px; }
.gm-naglowek__in { max-width: var(--gm-szer); margin: 0 auto; padding: 0 1.25rem; display: flex; align-items: center; justify-content: space-between; gap: 1rem; min-height: 80px; }
.gm-logo { display: inline-flex; align-items: center; gap: .65rem; text-decoration: none; flex: none; }
.gm-logo__znak { width: 42px; height: 42px; border-radius: 6px; background: var(--gm-granat); display: grid; place-items: center; }
.gm-logo__znak svg { width: 26px; height: 26px; }
.gm-logo__tekst { display: flex; flex-direction: column; line-height: 1; }
.gm-logo__nazwa { font-family: var(--gm-font-n); font-weight: 800; font-size: 1.5rem; letter-spacing: -.02em; color: var(--gm-granat); text-transform: uppercase; }
.gm-logo__nazwa span { color: var(--gm-amber); }
.gm-logo__haslo { font-size: .62rem; font-weight: 700; letter-spacing: .16em; text-transform: uppercase; color: var(--gm-tekst-3); margin-top: .25rem; }
.gm-naglowek__tel { display: flex; flex-direction: column; align-items: flex-end; text-decoration: none; line-height: 1.15; flex: none; }
.gm-naglowek__tel small { font-size: .72rem; font-weight: 600; color: var(--gm-tekst-3); }
.gm-naglowek__tel strong { font-family: var(--gm-font-n); font-size: 1.25rem; font-weight: 800; color: var(--gm-granat); letter-spacing: -.01em; }
.gm-naglowek__tel:hover strong { color: var(--gm-amber-ciemny); }
.gm-menu-przycisk { display: none; }
.gm-nav ul { list-style: none; margin: 0; padding: 0; }
.gm-nav > ul { display: flex; gap: .2rem; align-items: center; }
.gm-nav li { position: relative; }
.gm-nav a { display: block; padding: .55rem .75rem; color: var(--gm-tekst-2); font-weight: 600; font-size: .9rem; text-decoration: none; border-radius: 6px; transition: background .15s, color .15s; }
.gm-nav a:hover { color: var(--gm-granat); background: var(--gm-tlo-2); }
.gm-nav .current-menu-item > a, .gm-nav .current-menu-ancestor > a, .gm-nav .current_page_item > a { background: var(--gm-amber); color: var(--gm-na-amber); font-weight: 700; }
.gm-nav .menu-item-has-children > a::after { content: ""; display: inline-block; width: .4em; height: .4em; margin-left: .45em; border-right: 2px solid currentColor; border-bottom: 2px solid currentColor; transform: rotate(45deg) translateY(-3px); }
.gm-nav .sub-menu { position: absolute; left: 0; top: 100%; min-width: 280px; background: #fff; border: 1px solid var(--gm-linia); border-top: 3px solid var(--gm-amber); border-radius: 0 0 var(--gm-r) var(--gm-r); box-shadow: var(--gm-cien-2); padding: .4rem; opacity: 0; visibility: hidden; transform: translateY(6px); transition: .15s ease; z-index: 60; }
.gm-nav li:hover > .sub-menu, .gm-nav li:focus-within > .sub-menu { opacity: 1; visibility: visible; transform: none; }
.gm-nav .sub-menu a { padding: .5rem .75rem; }
.gm-nav .sub-menu .current-menu-item > a { background: var(--gm-amber-tlo); color: var(--gm-granat); }
.gm-nav__cta { display: none; }

/* ===== Hero (nagłówek strony i pierwsza sekcja strony głównej) ===== */
.entry-content > .gm-hero, .entry-content > .gm-sekcja--tlo:first-child { position: relative; margin: 0; padding: clamp(3rem, 7vw, 6.2rem) 1.25rem clamp(3rem, 7vw, 6rem) !important; background: var(--gm-granat) !important; color: #fff; text-align: left; isolation: isolate; overflow: hidden; }
.entry-content > .gm-hero::before, .entry-content > .gm-sekcja--tlo:first-child::before { content: ""; position: absolute; inset: 0; z-index: -2; background: var(--gm-hero-tlo, none) center 60% / cover no-repeat; opacity: .34; transform: scale(1.04); }
.entry-content > .gm-sekcja--tlo:first-child::before { background-image: var(--gm-tlo-sekcji, var(--gm-hero-tlo)); }
.entry-content > .gm-hero::after, .entry-content > .gm-sekcja--tlo:first-child::after { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(90deg, var(--gm-granat) 0%, rgba(11, 28, 48, .86) 48%, rgba(11, 28, 48, .35) 100%), linear-gradient(0deg, var(--gm-granat) 0%, rgba(11, 28, 48, 0) 30%); }
.entry-content > .gm-hero > *, .entry-content > .gm-sekcja--tlo:first-child > * { max-width: var(--gm-szer); margin-left: auto !important; margin-right: auto !important; }
.gm-hero .gm-hero__tytul, .entry-content > .gm-sekcja--tlo:first-child h2:first-of-type { color: #fff; font-size: clamp(2rem, 1.25rem + 3vw, 3.4rem); font-weight: 800; line-height: 1.08; letter-spacing: -.025em; margin-bottom: .45em; max-width: 820px; text-transform: none; }
.gm-hero .gm-hero__tytul { margin-right: auto !important; }
.gm-hero .gm-hero__podtytul, .entry-content > .gm-sekcja--tlo:first-child h2:nth-of-type(2) { color: #c9d3e3; font-family: var(--gm-font); font-size: clamp(1.02rem, .95rem + .35vw, 1.2rem); font-weight: 400; letter-spacing: 0; line-height: 1.6; margin-bottom: 0; max-width: 680px; }
.gm-hero__znaczek { display: inline-flex; align-items: center; gap: .45rem; background: rgba(245, 158, 11, .16); color: var(--gm-amber-hover); border: 1px solid rgba(245, 158, 11, .3); padding: .35rem .85rem; border-radius: 999px; font-size: .74rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; margin-bottom: 1.2rem !important; width: fit-content; margin-left: 0 !important; }
.gm-hero__siatka { display: grid; grid-template-columns: minmax(0, 1fr) 330px; gap: 2.5rem; align-items: center; }
.gm-hero__siatka > div:first-child > * { max-width: 760px; }
.gm-hero__cta { display: flex; flex-wrap: wrap; gap: .8rem; margin-top: 1.8rem !important; }
.gm-hero__atuty { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1rem; margin-top: 2.4rem !important; padding-top: 1.6rem; border-top: 1px solid rgba(255, 255, 255, .12); list-style: none; padding-left: 0; }
.gm-hero__atuty li { display: flex; align-items: center; gap: .7rem; margin: 0; color: #fff; font-weight: 700; font-size: .9rem; line-height: 1.3; }
.gm-hero__atuty li small { display: block; color: #9fb0c8; font-weight: 400; font-size: .8rem; }
.gm-hero__atuty .gm-ik-box { width: 40px; height: 40px; border-radius: 6px; background: rgba(245, 158, 11, .16); color: var(--gm-amber); display: grid; place-items: center; flex: none; }
.gm-hero__atuty .gm-ik { width: 22px; height: 22px; }
.gm-hero__karta { background: var(--gm-amber); color: var(--gm-na-amber); border-radius: var(--gm-r-xl); padding: 1.5rem; box-shadow: 0 20px 40px rgba(0, 0, 0, .3); }
.gm-hero__karta-tytul { font-size: .72rem; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; margin: 0 0 .7rem; opacity: .85; }
.gm-hero__karta ul { list-style: none; margin: 0 0 1.1rem; padding: 0; }
.gm-hero__karta li { display: flex; justify-content: space-between; gap: 1rem; padding: .45rem 0; border-bottom: 1px solid rgba(42, 23, 0, .15); font-weight: 600; margin: 0; font-size: .92rem; }
.gm-hero__karta li b { font-family: var(--gm-font-n); font-weight: 800; white-space: nowrap; }
.gm-hero__karta .gm-przycisk { width: 100%; }
.gm-hero .gm-hero__karta p, .gm-hero__karta p { color: var(--gm-na-amber); font-size: .78rem; margin: .7rem 0 0; opacity: .85; }
.entry-content > .gm-sekcja--tlo:first-child .wp-block-buttons { margin-top: 1.6rem; }

/* Okruszki */
.gm-okruszki ol { list-style: none; margin: 0 0 1.1rem; padding: 0; display: flex; flex-wrap: wrap; gap: .35rem; font-size: .84rem; color: #9fb0c8; }
.gm-okruszki li { margin: 0; }
.gm-okruszki li + li::before { content: "/"; margin-right: .35rem; color: #5d6f88; }
.gm-okruszki a { color: #c9d3e3; text-decoration: none; }
.gm-okruszki a:hover { color: var(--gm-amber); text-decoration: underline; }
.gm-okruszki a[aria-current] { color: #fff; }

/* ===== Sekcje ===== */
.entry-content > .gm-sekcja, .gm-blok { padding: clamp(3rem, 6vw, 5rem) 1.25rem; margin: 0; background: var(--gm-tlo); }
.entry-content > .gm-sekcja:nth-of-type(even of .gm-sekcja) { background: #fff; }
.gm-blok--biale { background: #fff; }
.gm-blok--niebieskie { background: var(--gm-tlo-2); }
.gm-sekcja > *, .gm-blok > * { max-width: var(--gm-szer); margin-left: auto !important; margin-right: auto !important; }
.gm-sekcja--wewn { padding: 1.2rem 0 0; }
.gm-sekcja--tlo:not(:first-child) { position: relative; color: #fff; isolation: isolate; background-color: var(--gm-granat) !important; background-blend-mode: luminosity; }
.gm-sekcja--tlo:not(:first-child)::before { content: ""; position: absolute; inset: 0; background: rgba(11, 28, 48, .82); z-index: -1; }
.gm-sekcja--tlo :where(h1, h2, h3, h4, p, li) { color: #fff; }
.gm-sekcja--tlo a:not(.wp-block-button__link) { color: var(--gm-amber); }
.wp-block-separator.is-style-gm-kreska { border: 0; height: 4px; width: 56px; background: var(--gm-amber); opacity: 1; margin: .1rem 0 1.5rem; border-radius: 2px; }
.has-text-align-center + .wp-block-separator.is-style-gm-kreska, .wp-block-separator.is-style-gm-kreska:has(+ .has-text-align-center) { margin-left: auto; margin-right: auto; }
.gm-kolumny { gap: clamp(1.4rem, 3.5vw, 3rem); }
.entry-content .wp-block-image img { border-radius: var(--gm-r-xl); height: auto; box-shadow: var(--gm-cien-2); }
.entry-content .wp-block-image { margin: 0 0 1.4rem; }
.entry-content .wp-block-image figcaption { font-size: .85rem; color: var(--gm-tekst-3); text-align: center; }

/* Nagłówki komponentów (eyebrow + H2 + lead) */
.gm-naglowek-sekcji { text-align: center; max-width: 760px !important; margin-bottom: 2.4rem !important; }
.gm-naglowek-sekcji--lewo { text-align: left; margin-left: 0 !important; }
.gm-eyebrow { display: inline-block; font-size: .72rem; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; color: var(--gm-amber-ciemny); background: var(--gm-amber-tlo); padding: .3rem .7rem; border-radius: 4px; margin: 0 0 .9rem; }
.gm-naglowek-sekcji h2 { margin-bottom: .4em; }
.gm-naglowek-sekcji p { color: var(--gm-tekst-2); margin: 0; }

/* Kafle (usługi) */
.gm-kafel { position: relative; background: #fff; border: 1px solid var(--gm-linia); border-radius: var(--gm-r-xl); padding: 1.5rem 1.4rem 1.4rem !important; transition: transform .18s ease, box-shadow .18s ease, border-color .18s; text-align: left; }
.gm-kafel:hover { transform: translateY(-3px); box-shadow: var(--gm-cien-2); border-color: var(--gm-amber); }
.gm-kafel::before { content: ""; display: block; width: 48px; height: 48px; margin-bottom: 1rem; border-radius: 10px; background: var(--gm-amber-tlo) var(--ikona) center / 26px no-repeat; --ikona: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23855300'%3E%3Cpath d='M3 6h11v9h1.2l1.6-5H21l2 4v4h-2a3 3 0 0 1-6 0H9a3 3 0 0 1-6 0H1V8a2 2 0 0 1 2-2zm15 6-1 3h4l-1.5-3zM6 16.5a1.5 1.5 0 1 0 0 3 1.5 1.5 0 0 0 0-3zm12 0a1.5 1.5 0 1 0 0 3 1.5 1.5 0 0 0 0-3z'/%3E%3C/svg%3E"); }
.gm-kafel.gm-ikona-map-marker-alt::before, .gm-kafel.gm-ikona-map-marker::before { --ikona: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23855300'%3E%3Cpath d='M12 2a7 7 0 0 0-7 7c0 5.25 7 13 7 13s7-7.75 7-13a7 7 0 0 0-7-7zm0 9.5A2.5 2.5 0 1 1 12 6.5a2.5 2.5 0 0 1 0 5z'/%3E%3C/svg%3E"); }
.gm-kafel.gm-ikona-paper-plane::before { --ikona: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23855300'%3E%3Cpath d='M20 4H4a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2V6a2 2 0 0 0-2-2zm0 4-8 5-8-5V6l8 5 8-5z'/%3E%3C/svg%3E"); }
.gm-kafel.gm-ikona-clock::before { --ikona: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23855300'%3E%3Cpath d='M12 2a10 10 0 1 0 0 20 10 10 0 0 0 0-20zm1 10.4 3.5 2.1-.8 1.3L11 13V7h2z'/%3E%3C/svg%3E"); }
.gm-kafel .gm-kafel__tytul { font-size: 1.1rem; margin: 0 0 .35rem; }
.gm-kafel .gm-kafel__tytul a { color: var(--gm-granat); text-decoration: none; }
.gm-kafel .gm-kafel__tytul a::after { content: ""; position: absolute; inset: 0; border-radius: var(--gm-r-xl); }
.gm-kafel .gm-kafel__opis { color: var(--gm-tekst-2); font-size: .92rem; margin: 0; }
.gm-sekcja--tlo .gm-kafel { background: rgba(255, 255, 255, .06); border-color: rgba(255, 255, 255, .15); }
.gm-sekcja--tlo .gm-kafel .gm-kafel__tytul, .gm-sekcja--tlo .gm-kafel .gm-kafel__tytul a { color: #fff; }
.gm-sekcja--tlo .gm-kafel .gm-kafel__opis { color: #c9d3e3; }

/* Liczniki */
.gm-licznik { text-align: center; padding: 1.2rem 0 !important; background: #fff; border: 1px solid var(--gm-linia); border-radius: var(--gm-r-xl); }
.gm-licznik .gm-licznik__liczba { font-family: var(--gm-font-n); font-weight: 800; font-size: clamp(2.2rem, 1.7rem + 2vw, 3.2rem); line-height: 1; color: var(--gm-amber-ciemny); margin: 0 0 .35rem; }
.gm-licznik .gm-licznik__opis { font-weight: 700; text-transform: uppercase; letter-spacing: .08em; font-size: .8rem; margin: 0; color: var(--gm-tekst-2); }

/* Długie listy (miasta, dzielnice) → pigułki */
.entry-content ul:has(> li:nth-child(10)):not(.gm-bez-pigulek) { list-style: none; margin: .4rem 0 1.6rem; padding: 0; display: flex; flex-wrap: wrap; gap: .5rem; }
.entry-content ul:has(> li:nth-child(10)):not(.gm-bez-pigulek) > li { margin: 0; padding: .4rem .85rem; background: #fff; border: 1px solid var(--gm-linia); border-radius: 999px; font-size: .88rem; font-weight: 600; color: var(--gm-granat); }
.gm-pigulki { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: .5rem; }
.gm-pigulki li { margin: 0; padding: .4rem .85rem; background: #fff; border: 1px solid var(--gm-linia); border-radius: 999px; font-size: .88rem; font-weight: 600; color: var(--gm-granat); }
.gm-pigulki a { color: inherit; text-decoration: none; }
.gm-pigulki li:has(a):hover { border-color: var(--gm-amber); background: var(--gm-amber-tlo); }

/* Tabele (kody odpadów i inne z treści) */
.entry-content .gm-tabela { margin: 0 0 1.6rem; overflow-x: auto; border: 1px solid var(--gm-linia); border-radius: var(--gm-r-xl); background: #fff; }
.entry-content .gm-tabela table { width: 100%; border-collapse: collapse; font-size: .93rem; margin: 0; border: 0; }
.entry-content .gm-tabela td, .entry-content .gm-tabela th { border: 0; border-bottom: 1px solid var(--gm-linia); padding: .7rem .95rem; text-align: left; vertical-align: top; color: var(--gm-tekst-2); }
.entry-content .gm-tabela tr:last-child td { border-bottom: 0; }
.entry-content .gm-tabela tr:nth-child(even) td { background: #f8faff; }
.entry-content .gm-tabela td:first-child { white-space: nowrap; font-weight: 700; color: var(--gm-granat); font-variant-numeric: tabular-nums; }

/* ===== Cennik (komponent) ===== */
.gm-cennik { background: #fff; border: 1px solid var(--gm-linia); border-radius: var(--gm-r-xl); overflow: hidden; box-shadow: var(--gm-cien); }
.gm-cennik table { width: 100%; border-collapse: collapse; margin: 0; border: 0; font-size: .92rem; }
.gm-cennik thead th { background: var(--gm-amber); color: var(--gm-na-amber); font-size: .72rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; text-align: left; padding: .9rem 1rem; border: 0; white-space: nowrap; }
.gm-cennik td { border: 0; border-top: 1px solid var(--gm-linia); padding: .9rem 1rem; vertical-align: middle; color: var(--gm-tekst-2); }
.gm-cennik tbody tr:hover td { background: #fbfcff; }
.gm-cennik tr.is-hit td { background: var(--gm-amber-tlo); }
.gm-cennik__typ { display: flex; align-items: center; gap: .85rem; min-width: 230px; }
.gm-cennik__typ img { width: 52px; height: 52px; object-fit: cover; border-radius: 8px; border: 1px solid var(--gm-linia); flex: none; }
.gm-cennik__typ b { display: block; color: var(--gm-granat); font-family: var(--gm-font-n); font-weight: 800; font-size: 1rem; }
.gm-cennik__typ small { display: block; color: var(--gm-tekst-3); font-size: .8rem; line-height: 1.35; }
.gm-cennik__odznaka { display: inline-block; background: var(--gm-granat); color: #fff; font-size: .62rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; padding: .15rem .45rem; border-radius: 4px; margin-left: .4rem; vertical-align: 2px; }
.gm-cennik__cena { font-family: var(--gm-font-n); font-weight: 800; font-size: 1.15rem; color: var(--gm-granat); white-space: nowrap; }
.gm-cennik__cena small { font-family: var(--gm-font); font-size: .75rem; font-weight: 600; color: var(--gm-tekst-3); margin-left: .2rem; }
.gm-cennik__cena--brak { font-family: var(--gm-font); font-size: .85rem; font-weight: 700; color: var(--gm-tekst-2); white-space: normal; }
.gm-cennik td.gm-cennik__akcja { text-align: right; }
.gm-cennik__stopka { display: flex; gap: .8rem; align-items: flex-start; padding: 1rem 1.2rem; background: var(--gm-tlo-2); border-top: 1px solid var(--gm-linia); font-size: .85rem; color: var(--gm-tekst-2); }
.gm-cennik__stopka p { margin: 0; color: var(--gm-tekst-2); }
.gm-cennik__stopka .gm-ik { color: #1f5fae; margin-top: .15rem; }

/* Strefy i opłaty dodatkowe (karty) */
.gm-karty { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.2rem; margin: 0 0 1.6rem; }
.gm-karty--2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.gm-karta { background: #fff; border: 1px solid var(--gm-linia); border-radius: var(--gm-r-xl); padding: 1.4rem; display: flex; flex-direction: column; gap: .6rem; }
.gm-karta__tytul { font-family: var(--gm-font-n); font-weight: 800; color: var(--gm-granat); font-size: 1.08rem; margin: 0; display: flex; align-items: center; gap: .6rem; line-height: 1.3; }
.gm-karta__ikona { width: 44px; height: 44px; border-radius: 10px; background: var(--gm-amber-tlo); color: var(--gm-amber-ciemny); display: grid; place-items: center; flex: none; }
.gm-karta__ikona .gm-ik { width: 24px; height: 24px; }
.gm-karta__kwota { font-family: var(--gm-font-n); font-weight: 800; font-size: 1.6rem; color: var(--gm-amber-ciemny); line-height: 1.1; margin: 0; }
.gm-karta p { margin: 0; font-size: .92rem; }
.gm-karta--akcent { border-top: 4px solid var(--gm-amber); }
.gm-karta dl { margin: 0; display: grid; grid-template-columns: max-content 1fr; gap: .45rem .9rem; font-size: .9rem; }
.gm-karta dt { font-weight: 700; color: var(--gm-granat); }
.gm-karta dd { margin: 0; color: var(--gm-tekst-2); }
.gm-karta ul { margin: 0; padding: 0; list-style: none; font-size: .9rem; }
.gm-karta ul li { position: relative; padding-left: 1.5rem; margin-bottom: .35rem; color: var(--gm-tekst-2); }
.gm-karta ul li::before { content: ""; position: absolute; left: 0; top: .3em; width: 1em; height: 1em; background: var(--gm-zielony); -webkit-mask: var(--m) center / contain no-repeat; mask: var(--m) center / contain no-repeat; --m: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2a10 10 0 1 0 0 20 10 10 0 0 0 0-20zm-1.5 14.2-4-4 1.4-1.4 2.6 2.6 5.6-5.6 1.4 1.4z'/%3E%3C/svg%3E"); }
.gm-karta ul.gm-lista-uwag li::before { background: var(--gm-amber); --m: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2a10 10 0 1 0 0 20 10 10 0 0 0 0-20zm1 15h-2v-2h2zm0-4h-2V7h2z'/%3E%3C/svg%3E"); }
.gm-karta__zrodlo { margin-top: auto !important; padding-top: .6rem; border-top: 1px dashed var(--gm-linia); font-size: .78rem !important; color: var(--gm-tekst-3) !important; }
.gm-karta__zrodlo a { color: var(--gm-tekst-3); }
.gm-info { display: flex; gap: .8rem; align-items: flex-start; background: var(--gm-amber-tlo); border: 1px solid #f6d79a; border-radius: var(--gm-r); padding: .9rem 1.1rem; font-size: .88rem; color: var(--gm-na-amber); margin: 0 0 1.2rem; }
.gm-info p { margin: 0; color: var(--gm-na-amber); }
.gm-info .gm-ik { color: var(--gm-amber-ciemny); margin-top: .2rem; }
.gm-zarzadcy { display: grid; gap: .7rem; margin: 0; padding: 0; list-style: none; }
.gm-zarzadcy li { margin: 0; padding: .8rem .95rem; border: 1px solid var(--gm-linia); border-radius: var(--gm-r); background: #fbfcff; font-size: .88rem; color: var(--gm-tekst-2); }
.gm-zarzadcy li::before { content: none !important; }
.gm-karta ul.gm-zarzadcy li { padding-left: .95rem; }
.gm-zarzadcy b { display: block; color: var(--gm-granat); font-size: .74rem; letter-spacing: .08em; text-transform: uppercase; margin-bottom: .15rem; }
.gm-zarzadcy strong { color: var(--gm-tekst); }

/* Rozwijane (kody odpadów) */
.gm-rozwijane { border: 1px solid var(--gm-linia); border-radius: var(--gm-r); background: #fff; margin: 0 0 .6rem; padding: 0; transition: box-shadow .15s; }
.gm-rozwijane[open] { box-shadow: var(--gm-cien); border-color: #c9d6ea; }
.gm-rozwijane summary { cursor: pointer; padding: 1rem 1.15rem; font-weight: 700; color: var(--gm-granat); list-style: none; position: relative; padding-right: 2.8rem; }
.gm-rozwijane summary::-webkit-details-marker { display: none; }
.gm-rozwijane summary::after { content: ""; position: absolute; right: 1.2rem; top: 1.25rem; width: .5rem; height: .5rem; border-right: 2px solid var(--gm-tekst-3); border-bottom: 2px solid var(--gm-tekst-3); transform: rotate(45deg); transition: transform .15s; }
.gm-rozwijane[open] summary::after { transform: rotate(225deg); top: 1.45rem; }
.gm-rozwijane > :not(summary) { padding: 0 1.15rem; }

/* Formularz CF7 */
.gm-formularz { background: #fff; border: 1px solid var(--gm-linia); border-radius: var(--gm-r-xl); padding: clamp(1.2rem, 3vw, 2rem); box-shadow: var(--gm-cien); }
.gm-form label { display: block; font-weight: 700; font-size: .88rem; color: var(--gm-granat); }
.gm-form input:not([type=checkbox]):not([type=submit]), .gm-form textarea { width: 100%; margin-top: .35rem; padding: .8rem .95rem; border: 1px solid #c9d3e3; border-radius: var(--gm-r); background: #fbfcff; font-size: 1rem; font-weight: 400; color: var(--gm-tekst); }
.gm-form textarea { height: 9rem; }
.gm-form input:focus, .gm-form textarea:focus { border-color: var(--gm-amber); outline: 2px solid rgba(245, 158, 11, .35); outline-offset: 0; background: #fff; }
.gm-form .wpcf7-acceptance label { font-weight: 400; display: flex; gap: .55rem; align-items: flex-start; color: var(--gm-tekst-2); }
.gm-form input[type=submit] { background: var(--gm-amber); color: var(--gm-na-amber); font-family: var(--gm-font-n); font-weight: 800; border: 0; padding: .95rem 2.2rem; border-radius: var(--gm-r); cursor: pointer; font-size: 1rem; }
.gm-form input[type=submit]:hover { background: var(--gm-amber-hover); }
.gm-sekcja--tlo .gm-form label { color: var(--gm-granat); }

/* Mapa za zgodą */
.gm-mapa { position: relative; width: 100%; max-width: 100%; aspect-ratio: 16 / 9; background: #e5ecf7; border-radius: var(--gm-r-xl); overflow: hidden; border: 1px solid var(--gm-linia); }
.gm-mapa iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }
.gm-mapa__zgoda { position: absolute; inset: 0; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: .8rem; text-align: center; padding: 1.2rem; color: var(--gm-tekst-2); font-size: .95rem; }

/* ===== Pas CTA przed stopką ===== */
.gm-cta { background: var(--gm-amber); color: var(--gm-na-amber); }
.gm-cta__in { max-width: var(--gm-szer); margin: 0 auto; padding: clamp(2rem, 4vw, 2.8rem) 1.25rem; display: flex; align-items: center; justify-content: space-between; gap: 1.5rem; flex-wrap: wrap; }
.gm-cta__tytul { font-family: var(--gm-font-n); font-weight: 800; font-size: clamp(1.4rem, 1.1rem + 1.2vw, 2rem); line-height: 1.15; margin: 0 0 .3rem; color: var(--gm-na-amber); letter-spacing: -.02em; }
.gm-cta p { margin: 0; color: #5a3a00; font-size: .95rem; }
.gm-cta .gm-przycisk { font-size: 1.15rem; padding: 1rem 1.8rem; }

/* ===== Stopka ===== */
.gm-stopka { background: var(--gm-granat); color: #9fb0c8; font-size: .9rem; }
.gm-stopka__in { max-width: var(--gm-szer); margin: 0 auto; padding: 3.4rem 1.25rem 2.4rem; display: grid; grid-template-columns: 1.25fr 1fr 1fr 1.25fr; gap: 2.4rem; }
.gm-stopka h4 { color: #fff; font-family: var(--gm-font-n); font-size: 1rem; font-weight: 800; margin: 0 0 1rem; letter-spacing: -.01em; }
.gm-stopka a { color: #c9d3e3; text-decoration: none; }
.gm-stopka a:hover { color: var(--gm-amber); text-decoration: underline; }
.gm-stopka ul { list-style: none; margin: 0; padding: 0; }
.gm-stopka li { margin: 0 0 .4rem; }
.gm-stopka .sub-menu { padding-left: .9rem; margin-top: .4rem; border-left: 1px solid #2a3d56; }
.gm-stopka p { margin: 0 0 .75rem; }
.gm-stopka__etykieta { display: block; color: #6f819b; font-size: .72rem; font-weight: 700; text-transform: uppercase; letter-spacing: .08em; }
.gm-stopka .gm-logo { margin-bottom: 1rem; }
.gm-stopka .gm-logo__znak { background: var(--gm-amber); }
.gm-stopka .gm-logo__znak svg path { fill: var(--gm-granat); }
.gm-stopka .gm-logo__nazwa { color: #fff; }
.gm-stopka .gm-logo__haslo { color: #6f819b; }
.gm-stopka .gm-pigulki li { background: rgba(255, 255, 255, .05); border-color: #2a3d56; color: #c9d3e3; font-size: .78rem; padding: .25rem .6rem; font-weight: 600; }
.gm-stopka__dol { border-top: 1px solid #1f324b; }
.gm-stopka__dol-in { max-width: var(--gm-szer); margin: 0 auto; padding: 1.1rem 1.25rem; display: flex; justify-content: space-between; gap: 1rem; flex-wrap: wrap; font-size: .8rem; color: #6f819b; }
.gm-stopka__dol p { margin: 0; }
.gm-stopka__dol a { color: #9fb0c8; }

/* ===== Zgoda (pasek) ===== */
.gm-zgoda { position: fixed; left: 1rem; right: 1rem; bottom: 1rem; z-index: 200; max-width: 640px; margin: 0 auto; background: #fff; color: var(--gm-tekst); border-radius: var(--gm-r-xl); border: 1px solid var(--gm-linia); box-shadow: 0 18px 50px rgba(11, 28, 48, .25); padding: 1rem 1.2rem; font-size: .88rem; display: none; }
.gm-zgoda.is-on { display: block; }
.gm-zgoda p { margin: 0 0 .7rem; color: var(--gm-tekst-2); }
.gm-zgoda__przyciski { display: flex; gap: .6rem; flex-wrap: wrap; }
.gm-zgoda button { font: inherit; font-weight: 700; border-radius: var(--gm-r); padding: .55rem 1.05rem; cursor: pointer; border: 1px solid #c9d3e3; background: #fff; color: var(--gm-granat); }
.gm-zgoda button.gm-zgoda__tak { background: var(--gm-amber); border-color: var(--gm-amber); color: var(--gm-na-amber); }

/* Obrazki opływane tekstem (z edytora tekstu na produkcji) */
.entry-content .wp-block-image.alignleft { float: left; margin: .3rem 1.6rem 1rem 0; max-width: 45%; }
.entry-content .wp-block-image.alignright { float: right; margin: .3rem 0 1rem 1.6rem; max-width: 45%; }
.entry-content .wp-block-column::after, .gm-sekcja::after { content: ""; display: table; clear: both; }
@media (min-width: 782px) { .wp-block-column > .gm-kafel:only-child { height: 100%; } }
/* Astra dokleja własne strzałki do pozycji menu — mamy własne */
.gm-nav .ast-icon, .gm-nav .dropdown-menu-toggle, .gm-nav .ast-menu-toggle, .gm-stopka .ast-icon, .gm-stopka .dropdown-menu-toggle, .gm-stopka .ast-menu-toggle { display: none !important; }
.gm-stopka .menu-item-has-children > a::after { content: none; }

/* ===== Responsywność ===== */
.gm-mobile-bar { display: none; }
@media (max-width: 1180px) {
	.gm-naglowek__tel small { display: none; }
	.gm-nav a { padding: .55rem .55rem; font-size: .86rem; }
}
@media (max-width: 1060px) {
	.gm-menu-przycisk { display: inline-flex; align-items: center; gap: .5rem; background: var(--gm-granat); color: #fff; border: 0; border-radius: var(--gm-r); padding: .65rem .95rem; font-weight: 700; font-size: .92rem; cursor: pointer; order: 3; }
	.gm-menu-przycisk__ikona, .gm-menu-przycisk__ikona::before, .gm-menu-przycisk__ikona::after { display: block; width: 18px; height: 2px; background: currentColor; position: relative; content: ""; }
	.gm-menu-przycisk__ikona::before { position: absolute; top: -6px; } .gm-menu-przycisk__ikona::after { position: absolute; top: 6px; }
	.gm-naglowek__tel { margin-left: auto; }
	.gm-nav { display: none; position: absolute; left: 0; right: 0; top: 100%; background: #fff; border-top: 1px solid var(--gm-linia); box-shadow: var(--gm-cien-2); max-height: calc(100vh - 140px); overflow-y: auto; }
	.gm-nav.is-open { display: block; }
	.gm-nav > ul { flex-direction: column; align-items: stretch; padding: .5rem 1rem 1rem; gap: 0; }
	.gm-nav a { padding: .85rem .6rem; border-bottom: 1px solid var(--gm-linia); border-radius: 0; font-size: .95rem; }
	.gm-nav .current-menu-item > a, .gm-nav .current_page_item > a { border-radius: 6px; }
	.gm-nav .sub-menu { position: static; opacity: 1; visibility: visible; transform: none; box-shadow: none; border: 0; padding: 0 0 0 1rem; min-width: 0; }
	.gm-hero__siatka { grid-template-columns: 1fr; }
	.gm-hero__karta { max-width: 420px; }
	.gm-hero__atuty { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.gm-stopka__in { grid-template-columns: 1fr 1fr; }
	.gm-karty { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 960px) {
	.gm-pasek__ukryj { display: none !important; }
	.gm-mobile-bar { display: grid; grid-template-columns: 1fr 1fr; position: fixed; left: 0; right: 0; bottom: 0; z-index: 150; box-shadow: 0 -6px 18px rgba(11, 28, 48, .18); }
	.gm-mobile-bar a { display: flex; align-items: center; justify-content: center; gap: .45rem; padding: .95rem .5rem; font-family: var(--gm-font-n); font-weight: 800; text-decoration: none; font-size: 1rem; }
	.gm-mobile-bar__tel { background: var(--gm-amber); color: var(--gm-na-amber); }
	.gm-mobile-bar__form { background: var(--gm-granat); color: #fff; }
	body { padding-bottom: 58px; }
	.gm-zgoda { bottom: 70px; }
	/* cennik: karty zamiast tabeli */
	.gm-cennik table, .gm-cennik tbody, .gm-cennik tr, .gm-cennik td { display: block; }
	.gm-cennik thead { display: none; }
	.gm-cennik tr { border-top: 1px solid var(--gm-linia); padding: 1rem; display: grid; grid-template-columns: 1fr 1fr; gap: .55rem 1rem; }
	.gm-cennik tr:first-child { border-top: 0; }
	.gm-cennik td { border: 0; padding: 0; }
	.gm-cennik td:first-child, .gm-cennik td.gm-cennik__akcja { grid-column: 1 / -1; }
	.gm-cennik td[data-etykieta]::before { content: attr(data-etykieta); display: block; font-size: .68rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; color: var(--gm-tekst-3); }
	.gm-cennik td.gm-cennik__akcja { text-align: left; }
	.gm-cennik td.gm-cennik__akcja .gm-przycisk { width: 100%; }
	.gm-cennik__typ { min-width: 0; }
}
@media (max-width: 700px) {
	.gm-pasek__in { justify-content: center; }
	.gm-pasek__p { display: none; }
	.gm-naglowek__in { min-height: 68px; }
	.gm-naglowek__tel { display: none; }
	.gm-menu-przycisk { margin-left: auto; }
	.gm-logo__znak { width: 36px; height: 36px; }
	.gm-logo__znak svg { width: 22px; height: 22px; }
	.gm-logo__nazwa { font-size: 1.25rem; }
	.gm-logo__haslo { font-size: .55rem; }
	.gm-hero__atuty { grid-template-columns: 1fr; gap: .8rem; }
	.gm-hero__cta .gm-przycisk { flex: 1 1 100%; }
	.gm-karty, .gm-karty--2 { grid-template-columns: 1fr; }
	.gm-stopka__in { grid-template-columns: 1fr; }
	.entry-content .gm-tabela td:first-child { white-space: normal; }
	.gm-cta .gm-przycisk { width: 100%; }
	.gm-karta dl { grid-template-columns: 1fr; gap: .1rem; }
	.gm-karta dd { margin-bottom: .45rem; }
	.gm-mapa { aspect-ratio: 4 / 3; }
	.entry-content .wp-block-image.alignleft, .entry-content .wp-block-image.alignright { float: none; max-width: 100%; margin: 0 0 1rem; }
}
@media (prefers-reduced-motion: reduce) { * { transition: none !important; scroll-behavior: auto !important; } }

/* ===== Poprawki po zrzutach v2 ===== */
.gm-przycisk, .entry-content .wp-block-button__link, .gm-mobile-bar a, .gm-naglowek__tel, .gm-logo { text-decoration: none !important; }
.entry-content .gm-hero__znaczek, .gm-hero__znaczek { color: var(--gm-amber-hover); }
/* hero: treść wyrównana do lewej krawędzi kontenera 1200 px */
.entry-content > .gm-hero, .entry-content > .gm-sekcja--tlo:first-child { padding-left: max(1.25rem, calc((100% - var(--gm-szer)) / 2 + 1.25rem)) !important; padding-right: max(1.25rem, calc((100% - var(--gm-szer)) / 2 + 1.25rem)) !important; }
.entry-content > .gm-hero > *, .entry-content > .gm-sekcja--tlo:first-child > * { max-width: none; margin-left: 0 !important; margin-right: 0 !important; }
.gm-hero .gm-hero__tytul, .gm-hero .gm-hero__podtytul { max-width: 820px; }
/* pigułki z linkami */
.entry-content ul:has(> li:nth-child(10)):not(.gm-bez-pigulek) > li a, .gm-pigulki a { color: inherit; text-decoration: none; }
.entry-content ul:has(> li:nth-child(10)):not(.gm-bez-pigulek) > li:has(a):hover { border-color: var(--gm-amber); background: var(--gm-amber-tlo); }
/* pusta sekcja „GaLERIa” na stronie głównej: bez wielkiego odstępu */
.entry-content > .gm-sekcja:has(> h2:only-child), .entry-content > .gm-sekcja:has(> h2 + .wp-block-separator:last-child) { padding-bottom: 0; }
@media (max-width: 960px) {
	.gm-cennik tr.is-hit { background: var(--gm-amber-tlo); }
	.gm-cennik tr.is-hit td { background: transparent; }
}
.entry-content .gm-karta__kwota { font-family: var(--gm-font-n); font-weight: 800; font-size: 1.6rem; color: var(--gm-amber-ciemny); line-height: 1.1; margin: 0; }
.entry-content .gm-karta__tytul { color: var(--gm-granat); }
.gm-sekcja--wewn + * { margin-top: 0; }

/* Strona główna: H1 w pierwszej sekcji (podtytuł zostaje jako H2) */
.entry-content > .gm-sekcja--tlo:first-child h1 { color: #fff; font-size: clamp(2rem, 1.25rem + 3vw, 3.4rem); font-weight: 800; line-height: 1.08; letter-spacing: -.025em; margin: 0 0 .45em; max-width: 820px; }
.entry-content > .gm-sekcja--tlo:first-child h1 ~ h2:first-of-type { color: #c9d3e3; font-family: var(--gm-font); font-size: clamp(1.02rem, .95rem + .35vw, 1.2rem); font-weight: 400; letter-spacing: 0; line-height: 1.6; margin-bottom: 0; max-width: 680px; text-transform: none; }
.entry-content > .gm-sekcja:has(> h2 + .wp-block-separator:last-child) + .gm-sekcja, .entry-content > .gm-sekcja:has(> h2:only-child) + .gm-sekcja { padding-top: 0; background: inherit; }

/* Top: zdjęcie kontenera z produkcji — w kolorze, przyciemnione tylko pod tekstem */
.entry-content > .gm-hero::before, .entry-content > .gm-sekcja--tlo:first-child::before { background: var(--gm-hero-tlo) 72% 62% / cover no-repeat; opacity: 1; filter: none; transform: none; }
.entry-content > .gm-hero::after, .entry-content > .gm-sekcja--tlo:first-child::after { background: linear-gradient(90deg, rgba(11, 28, 48, .94) 0%, rgba(11, 28, 48, .82) 42%, rgba(11, 28, 48, .35) 75%, rgba(11, 28, 48, .2) 100%), linear-gradient(0deg, rgba(11, 28, 48, .85) 0%, rgba(11, 28, 48, 0) 35%); }
@media (max-width: 768px) {
	.entry-content > .gm-hero::after, .entry-content > .gm-sekcja--tlo:first-child::after { background: linear-gradient(180deg, rgba(11, 28, 48, .6) 0%, rgba(11, 28, 48, .85) 55%, rgba(11, 28, 48, .96) 100%); }
	.entry-content > .gm-hero::before, .entry-content > .gm-sekcja--tlo:first-child::before { background-position: 60% 30%; }
}
/* przyciemnienie topu: clearfix .gm-sekcja::after (display:table) zwężał warstwę do 0 na stronie głównej */
.entry-content > .gm-hero::after, .entry-content > .gm-sekcja--tlo:first-child::after { display: block; }

/* ===== Obrazki w treści (podstrony usług): kolumna treści przez padding sekcji, opływanie jak na produkcji ===== */
.entry-content > .gm-sekcja { padding-left: max(1.25rem, calc((100% - var(--gm-szer)) / 2)) !important; padding-right: max(1.25rem, calc((100% - var(--gm-szer)) / 2)) !important; }
.entry-content > .gm-sekcja > :not(.wp-block-separator) { max-width: none; margin-left: 0 !important; margin-right: 0 !important; }
.entry-content .gm-sekcja .wp-block-image.alignleft, .entry-content .gm-sekcja > .wp-block-image:not([class*="align"]):has(img[width="300"]) { float: left; margin: .35rem 1.6rem 1rem 0 !important; max-width: 300px; }
.entry-content .gm-sekcja .wp-block-image.alignright { float: right; margin: .35rem 0 1rem 1.6rem !important; max-width: 300px; }
.entry-content .gm-sekcja .wp-block-image.alignleft img, .entry-content .gm-sekcja .wp-block-image.alignright img, .entry-content .gm-sekcja > .wp-block-image:has(img[width="300"]) img { box-shadow: var(--gm-cien); }
.entry-content :where(h2, h3, p, ul) { clear: none; }
.entry-content > .gm-sekcja > .wp-block-image.aligncenter, .entry-content > .gm-sekcja > .wp-block-image.size-large:not([class*="align"]) { margin-left: auto !important; margin-right: auto !important; max-width: 900px; }
@media (max-width: 700px) {
	.entry-content .gm-sekcja .wp-block-image.alignleft, .entry-content .gm-sekcja .wp-block-image.alignright, .entry-content .gm-sekcja > .wp-block-image:has(img[width="300"]) { float: none; max-width: 100%; margin: 0 0 1rem !important; }
}

/* ===== Zasięg: mapka lokalizacji + dzielnice/osiedla + okolice ===== */
.gm-zasieg { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr); gap: 2rem; align-items: start; }
.gm-zasieg--bez-mapy { grid-template-columns: 1fr; }
.gm-zasieg__mapa { margin: 0; background: #fff; border: 1px solid var(--gm-linia); border-radius: var(--gm-r-xl); padding: .6rem; box-shadow: var(--gm-cien); }
.gm-zasieg__mapa img { display: block; width: 100%; height: auto; border-radius: 10px; }
.gm-zasieg__mapa figcaption { font-size: .8rem; color: var(--gm-tekst-3); text-align: center; margin-top: .45rem; }
.gm-zasieg__listy h3 { font-size: 1.05rem; margin: 0 0 .75rem; }
.gm-zasieg__listy .gm-pigulki + h3 { margin-top: 1.6rem; }
.gm-pigulki--srodek { justify-content: center; }
.gm-dzielnice__wszystko { text-align: center; margin: 1.2rem 0 0 !important; font-weight: 700; }
@media (max-width: 900px) { .gm-zasieg { grid-template-columns: 1fr; } }
/* pigułki: bez wcięcia list, linki wyróżnione (strzałka + bursztynowe tło) */
.entry-content .gm-pigulki { margin: 0 !important; padding: 0 !important; }
.gm-pigulki a { text-decoration: none !important; color: inherit; display: inline-flex; align-items: center; gap: .35rem; }
.gm-pigulki a::after { content: "→"; color: var(--gm-amber-ciemny); font-weight: 800; }
.gm-pigulki li:has(a) { background: var(--gm-amber-tlo); border-color: #f6d79a; }
.gm-pigulki li:has(a):hover { border-color: var(--gm-amber); background: #ffe9c2; }
.gm-stopka .gm-pigulki li:has(a) { background: rgba(255, 255, 255, .05); border-color: #2a3d56; }
.gm-stopka .gm-pigulki a::after { content: none; }

/* ===== Opinie ===== */
.gm-ik--gwiazda { --m: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='m12 2 3.1 6.3 6.9 1-5 4.9 1.2 6.8L12 17.8 5.8 21l1.2-6.8-5-4.9 6.9-1z'/%3E%3C/svg%3E"); }
.gm-opinia { margin: 0; }
.gm-opinia__gwiazdki { color: var(--gm-amber); display: flex; gap: .15rem; }
.gm-opinia__gwiazdki .gm-ik { width: 1.15rem; height: 1.15rem; }
.gm-opinia blockquote { margin: 0; padding: 0; border: 0; font-style: normal; flex: 1; }
.gm-opinia blockquote p { color: var(--gm-tekst); font-size: .95rem; line-height: 1.65; margin: 0; }
.gm-opinia figcaption { display: flex; flex-direction: column; padding-top: .7rem; border-top: 1px solid var(--gm-linia); }
.gm-opinia figcaption strong { color: var(--gm-granat); font-family: var(--gm-font-n); }
.gm-opinia figcaption span { color: var(--gm-tekst-3); font-size: .8rem; }
.entry-content .gm-opinie__info { text-align: center; font-size: .8rem; color: var(--gm-tekst-3); margin: .6rem auto 0 !important; max-width: 760px; }
