/* KupGrunt – Kreator ogłoszeń. All rules are scoped under .kgw to avoid Houzez/Elementor conflicts. */
.kgw {
	--kgw-forest: #0e3b23;
	--kgw-forest-2: #082a17;
	--kgw-lime: #7cc242;
	--kgw-lime-2: #5fa82c;
	--kgw-lime-soft: #eef7e5;
	--kgw-btn: #0f3d23;
	--kgw-btn-h: #0a2d19;
	--kgw-bg: #f4f6f3;
	--kgw-card: #ffffff;
	--kgw-line: #e1e7df;
	--kgw-line-2: #cfd8cc;
	--kgw-text: #17251c;
	--kgw-muted: #66756b;
	--kgw-err: #b42318;
	--kgw-err-bg: #fef3f2;
	--kgw-radius: 14px;
	--kgw-radius-s: 10px;
	--kgw-shadow: 0 1px 2px rgba(16, 40, 24, .05), 0 8px 24px rgba(16, 40, 24, .06);
	--kgw-side-img: none;
	color: var(--kgw-text);
	font-size: 15px;
	line-height: 1.5;
	-webkit-font-smoothing: antialiased;
	box-sizing: border-box;
}
.kgw *, .kgw *::before, .kgw *::after { box-sizing: border-box; } /* explicit: <details> content is not reached by inherit in Chromium */
.kgw-page { background: var(--kgw-bg, #f4f6f3); padding: 28px 16px 48px; }
.kgw [hidden] { display: none !important; }
.kgw-sr, .kgw-live { position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; }
.kgw svg { display: inline-block; vertical-align: middle; }
.kgw a { color: var(--kgw-lime-2); text-decoration: underline; text-underline-offset: 2px; }
.kgw-noscript { padding: 16px; background: #fff3cd; border-radius: 8px; }

/* ---------- Shell ---------- */
.kgw-shell {
	display: grid;
	grid-template-columns: 268px minmax(0, 1fr);
	max-width: 1240px;
	margin: 0 auto;
	background: var(--kgw-card);
	border-radius: 18px;
	box-shadow: var(--kgw-shadow);
	overflow: hidden;
	min-height: 640px;
}
.kgw-side {
	position: relative;
	display: flex;
	flex-direction: column;
	gap: 28px;
	padding: 28px 22px 26px;
	color: #e7f0e9;
	background:
		linear-gradient(180deg, rgba(8, 42, 23, .92) 0%, rgba(10, 48, 27, .82) 45%, rgba(8, 42, 23, .97) 100%),
		var(--kgw-side-img),
		url("../img/sidebar.svg") center bottom / cover no-repeat,
		var(--kgw-forest);
	background-size: auto, cover, cover, auto;
	background-position: center, center, center bottom, center;
}
.kgw-side__logo img { max-width: 170px; height: auto; }
.kgw-wordmark { display: inline-flex; align-items: center; gap: 8px; font-size: 22px; font-weight: 700; color: #fff; letter-spacing: -.01em; }
.kgw-wordmark svg { width: 26px; height: 26px; color: var(--kgw-lime); }
.kgw-wordmark em { font-style: italic; font-weight: 400; }
.kgw-side__steps { list-style: none; margin: 8px 0 0; padding: 0; display: grid; gap: 22px; }
.kgw-side__step { display: flex; gap: 12px; align-items: flex-start; opacity: .78; }
.kgw-side__txt { display: flex; flex-direction: column; }
.kgw-side__txt strong { font-size: 14px; font-weight: 600; color: #fff; }
.kgw-side__txt small { font-size: 12px; color: #b9cbbd; }
.kgw-side__step.is-current, .kgw-side__step.is-done { opacity: 1; }
.kgw-side__step.is-current .kgw-side__txt strong { color: #fff; }
.kgw-side__claim { margin-top: auto; font-size: 12.5px; color: #c9d8cc; }
.kgw-side__claim strong { display: block; color: #fff; font-size: 14px; margin-bottom: 6px; }
.kgw-side__claim p { margin: 0; }

/* Step dot (shared by sidebar + top progress) */
.kgw-dot { position: relative; flex: 0 0 auto; width: 30px; height: 30px; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; font-size: 13px; font-weight: 600; border: 1.5px solid rgba(255, 255, 255, .55); color: #fff; }
.kgw-dot svg { width: 16px; height: 16px; display: none; }
.is-current > .kgw-dot { background: var(--kgw-lime); border-color: var(--kgw-lime); color: var(--kgw-forest-2); box-shadow: 0 0 0 4px rgba(124, 194, 66, .22); }
.is-done > .kgw-dot { background: var(--kgw-lime); border-color: var(--kgw-lime); color: #fff; }
.is-done > .kgw-dot .kgw-dot__n { display: none; }
.is-done > .kgw-dot svg { display: block; }

/* ---------- Main ---------- */
.kgw-main { display: flex; flex-direction: column; padding: 26px 40px 28px; min-width: 0; }
.kgw-form { flex: 1 1 auto; }
.kgw-progress ol { list-style: none; margin: 0 0 30px; padding: 0; display: grid; grid-template-columns: repeat(4, 1fr); }
.kgw-progress__item { position: relative; display: flex; flex-direction: column; align-items: center; gap: 8px; text-align: center; }
.kgw-progress__item::before { content: ""; position: absolute; top: 14px; left: calc(-50% + 18px); right: calc(50% + 18px); height: 3px; border-radius: 3px; background: var(--kgw-line); }
.kgw-progress__item:first-child::before { display: none; }
.kgw-progress__item.is-done::before, .kgw-progress__item.is-current::before { background: var(--kgw-lime); }
.kgw-progress .kgw-dot { border-color: var(--kgw-line-2); color: var(--kgw-muted); background: #fff; width: 28px; height: 28px; font-size: 12px; }
.kgw-progress .is-current > .kgw-dot { background: var(--kgw-lime); border-color: var(--kgw-lime); color: var(--kgw-forest-2); }
.kgw-progress .is-done > .kgw-dot { background: var(--kgw-lime); border-color: var(--kgw-lime); color: #fff; }
.kgw-progress__label { font-size: 12.5px; color: var(--kgw-muted); }
.kgw-progress .is-current .kgw-progress__label { color: var(--kgw-text); font-weight: 600; }
.kgw-mprogress { display: none; }

.kgw-h { font-size: 28px; line-height: 1.2; font-weight: 700; margin: 0 0 6px; color: var(--kgw-text); letter-spacing: -.01em; outline: none; }
.kgw-h2 { font-size: 16px; font-weight: 700; margin: 26px 0 10px; }
.kgw-h3 { font-size: 16px; font-weight: 700; margin: 0 0 12px; }
.kgw-lead { margin: 0 0 22px; color: var(--kgw-muted); font-size: 15px; }
.kgw-muted { color: var(--kgw-muted); font-weight: 400; }
.kgw-req { color: var(--kgw-err); }
.kgw-hint { margin: 6px 0 0; font-size: 12.5px; color: var(--kgw-muted); }
.kgw-soft { margin: 10px 0 0; padding: 10px 14px; border-radius: var(--kgw-radius-s); background: var(--kgw-lime-soft); font-size: 13px; color: #35513c; }

/* ---------- Step 1 ---------- */
.kgw-chips { list-style: none; display: flex; flex-wrap: wrap; gap: 8px; margin: -6px 0 20px; padding: 0; }
.kgw-chips li { display: inline-flex; align-items: center; gap: 6px; padding: 6px 12px; border-radius: 999px; background: var(--kgw-lime-soft); color: #2f5a35; font-size: 13px; font-weight: 600; }
.kgw-chips svg { width: 15px; height: 15px; color: var(--kgw-lime-2); }
.kgw-packages { border: 0; padding: 0; margin: 0; display: grid; grid-template-columns: 1fr 1fr; gap: 18px; min-width: 0; }
.kgw-pkg { position: relative; display: grid; grid-template-columns: 1fr auto; grid-template-areas: "head head" "price art" "sub sub" "list list"; padding: 20px 22px; border: 1.5px solid var(--kgw-line); border-radius: var(--kgw-radius); cursor: pointer; background: #fff; transition: border-color .15s, box-shadow .15s, background .15s; }
.kgw-pkg:hover { border-color: var(--kgw-line-2); }
.kgw-pkg.is-selected { border-color: var(--kgw-lime); background: linear-gradient(180deg, #f7fcf2, #fff 60%); box-shadow: 0 0 0 3px rgba(124, 194, 66, .18); }
.kgw-pkg__input { position: absolute; opacity: 0; pointer-events: none; }
.kgw-pkg__input:focus-visible ~ .kgw-pkg__head .kgw-radio { outline: 3px solid rgba(124, 194, 66, .5); outline-offset: 2px; }
.kgw-pkg__head { grid-area: head; display: flex; align-items: center; gap: 10px; }
.kgw-pkg__name { font-size: 18px; font-weight: 700; }
.kgw-badge { margin-left: auto; padding: 3px 9px; border-radius: 6px; background: #e3f3d3; color: #3d6b1f; font-size: 11.5px; font-weight: 600; }
.kgw-radio { width: 22px; height: 22px; border-radius: 50%; border: 2px solid var(--kgw-line-2); flex: 0 0 auto; position: relative; }
.kgw-pkg__head .kgw-badge + .kgw-radio { margin-left: 0; }
.kgw-pkg__head .kgw-pkg__name + .kgw-radio { margin-left: auto; }
.kgw-pkg.is-selected .kgw-radio { border-color: var(--kgw-lime-2); }
.kgw-pkg.is-selected .kgw-radio::after { content: ""; position: absolute; inset: 3px; border-radius: 50%; background: var(--kgw-lime-2); }
.kgw-pkg__price { grid-area: price; display: flex; align-items: baseline; gap: 10px; margin-top: 10px; }
.kgw-pkg__price b { font-size: 34px; font-weight: 700; letter-spacing: -.02em; }
.kgw-pkg__price small { color: var(--kgw-muted); font-size: 13px; }
.kgw-pkg__art { grid-area: art; width: 104px; height: 56px; align-self: end; }
.kgw-pkg__sub { grid-area: sub; font-size: 13.5px; font-weight: 500; margin: 6px 0 14px; }
.kgw-list { grid-area: list; list-style: none; margin: 0; padding: 14px 0 0; border-top: 1px solid var(--kgw-line); display: grid; gap: 10px; }
.kgw-list li { display: flex; gap: 10px; align-items: flex-start; font-size: 13.5px; }
.kgw-list svg { flex: 0 0 auto; width: 18px; height: 18px; padding: 2px; border-radius: 50%; background: var(--kgw-lime); color: #fff; }
.kgw-note { display: flex; gap: 10px; align-items: flex-start; margin: 20px 0 0; padding: 12px 16px; border-radius: var(--kgw-radius-s); background: #f2f5f1; font-size: 13px; color: #3c4b41; }
.kgw-note svg { width: 20px; height: 20px; flex: 0 0 auto; color: var(--kgw-muted); }

/* ---------- Fields ---------- */
.kgw-grid2 { display: grid; grid-template-columns: 1fr 1fr; gap: 0 28px; }
.kgw-grid2--even { gap: 0 20px; }
.kgw-field { position: relative; margin: 0 0 18px; min-width: 0; border: 0; padding: 0; }
.kgw-field > label, .kgw-geo legend, .kgw-geo label, .kgw-extra label.kgw-lbl, .kgw-extra .kgw-lbl { display: block; font-size: 13.5px; font-weight: 600; margin: 0 0 6px; color: var(--kgw-text); padding: 0; }
.kgw input[type="text"], .kgw input[type="search"], .kgw input[type="email"], .kgw input[type="tel"], .kgw input[type="url"], .kgw select, .kgw textarea {
	display: block; width: 100%; min-height: 46px; margin: 0; padding: 10px 14px;
	font: inherit; font-size: 15px; color: var(--kgw-text);
	background: #fff; border: 1.5px solid var(--kgw-line-2); border-radius: var(--kgw-radius-s);
	box-shadow: none; outline: none; appearance: none; -webkit-appearance: none;
	transition: border-color .15s, box-shadow .15s;
}
.kgw textarea { min-height: 120px; resize: vertical; }
.kgw select { padding-right: 40px; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 20 20'%3E%3Cpath d='m5 7.5 5 5 5-5' fill='none' stroke='%2317251c' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E"); background-repeat: no-repeat; background-position: right 14px center; }
.kgw input:focus, .kgw select:focus, .kgw textarea:focus { border-color: var(--kgw-lime-2); box-shadow: 0 0 0 3px rgba(124, 194, 66, .2); }
.kgw input::placeholder, .kgw textarea::placeholder { color: #9aa69e; }
.kgw-field.is-valid input, .kgw-field.is-valid select { border-color: #8cc56a; }
.kgw-field.has-error input, .kgw-field.has-error select, .kgw-field.has-error textarea { border-color: var(--kgw-err); background-color: var(--kgw-err-bg); }
.kgw-err { margin: 6px 0 0; font-size: 13px; color: var(--kgw-err); font-weight: 500; }
.kgw-err:empty { display: none; }
.kgw-counter { position: absolute; right: 0; top: 0; font-size: 12px; color: var(--kgw-muted); }
.kgw-affix { position: relative; display: flex; align-items: stretch; }
.kgw .kgw-affix input { padding-right: 52px; }
.kgw-affix > span { position: absolute; right: 14px; top: 50%; transform: translateY(-50%); color: var(--kgw-muted); font-size: 14px; pointer-events: none; }
.kgw .kgw-affix--pre input { padding-left: 72px; padding-right: 14px; }
.kgw-affix--pre > .kgw-flag { left: 14px; right: auto; font-weight: 600; color: var(--kgw-text); display: inline-flex; align-items: center; gap: 6px; }
.kgw-affix--pre > .kgw-flag::before { content: ""; width: 18px; height: 12px; border-radius: 2px; background: linear-gradient(#fff 50%, #dc143c 50%); box-shadow: 0 0 0 1px #dde3dc; }
.kgw-tip { display: flex; gap: 12px; padding: 16px 18px; border-radius: var(--kgw-radius); background: var(--kgw-lime-soft); font-size: 13px; color: #36513c; margin-top: 4px; }
.kgw-tip svg { width: 34px; height: 34px; flex: 0 0 auto; }
.kgw-tip p { margin: 0; }
.kgw-check { display: grid; grid-template-columns: 22px 1fr; gap: 10px; align-items: start; margin-bottom: 12px; }
.kgw-check input { width: 20px; height: 20px; margin: 2px 0 0; accent-color: var(--kgw-lime-2); }
.kgw-check label { font-size: 13px; font-weight: 400; margin: 0; line-height: 1.45; }
.kgw-check .kgw-err { grid-column: 2; margin-top: 0; }

/* ---------- Photos ---------- */
.kgw-photos { display: grid; grid-template-columns: minmax(200px, 260px) 1fr; gap: 14px; align-items: stretch; }
.kgw-drop { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 4px; min-height: 120px; padding: 18px; text-align: center; border: 1.5px dashed var(--kgw-line-2); border-radius: var(--kgw-radius); background: #fbfcfa; cursor: pointer; color: var(--kgw-muted); transition: border-color .15s, background .15s; }
.kgw-drop svg { width: 38px; height: 38px; color: #6f8b77; }
.kgw-drop b { color: var(--kgw-text); font-size: 14px; }
.kgw-drop span { font-size: 13px; }
.kgw-drop.is-over, .kgw-drop:hover { border-color: var(--kgw-lime-2); background: var(--kgw-lime-soft); }
.kgw-drop:focus-within { outline: 3px solid rgba(124, 194, 66, .45); outline-offset: 2px; }
.kgw-thumbs { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(104px, 1fr)); gap: 10px; align-content: start; }
.kgw-thumb { position: relative; aspect-ratio: 4 / 3; border-radius: var(--kgw-radius-s); overflow: hidden; background: #e9eee7; user-select: none; -webkit-user-select: none; cursor: grab; }
@media (hover: none) { .kgw-thumb__move { display: flex !important; } .kgw-thumb { cursor: default; } }
.kgw-thumb img { width: 100%; height: 100%; object-fit: cover; display: block; pointer-events: none; }
.kgw-thumb.is-dragging { opacity: .35; }
.kgw-thumb.is-ghost { position: fixed; z-index: 99999; pointer-events: none; box-shadow: 0 12px 30px rgba(0, 0, 0, .25); opacity: .95; }
.kgw-thumb__main { position: absolute; left: 6px; bottom: 6px; padding: 2px 8px; border-radius: 6px; background: var(--kgw-lime); color: #0b2a16; font-size: 11px; font-weight: 700; }
.kgw-thumb__btns { position: absolute; top: 5px; right: 5px; display: flex; gap: 4px; }
.kgw-thumb__btns button { width: 30px; height: 30px; display: inline-flex; align-items: center; justify-content: center; border: 0; border-radius: 50%; background: rgba(15, 25, 18, .78); color: #fff; cursor: pointer; padding: 0; }
.kgw-thumb__btns button:focus-visible { outline: 2px solid #fff; outline-offset: 1px; }
.kgw-thumb__btns svg { width: 14px; height: 14px; }
.kgw-thumb__move { position: absolute; left: 5px; top: 5px; display: none; gap: 4px; }
.kgw-thumb:focus-within .kgw-thumb__move { display: flex; }
.kgw-thumb__move button { width: 26px; height: 26px; border: 0; border-radius: 6px; background: rgba(255, 255, 255, .92); cursor: pointer; padding: 0; font-size: 14px; line-height: 1; }
.kgw-thumb__prog { position: absolute; inset: auto 8px 8px; height: 6px; border-radius: 3px; background: rgba(255, 255, 255, .6); overflow: hidden; }
.kgw-thumb__prog span { display: block; height: 100%; width: 0; background: var(--kgw-lime-2); transition: width .15s; }
.kgw-thumb.is-error { outline: 2px solid var(--kgw-err); }
.kgw-thumb__msg { position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; padding: 6px; text-align: center; background: rgba(180, 35, 24, .85); color: #fff; font-size: 11.5px; }

/* ---------- Advanced ---------- */
.kgw-guest { margin: 0 0 6px; padding: 12px 16px; border-radius: var(--kgw-radius-s); background: #f2f5f1; font-size: 13px; }
.kgw-guest p { margin: 0 0 4px; }
.kgw-adv { margin-top: 18px; border: 1.5px solid var(--kgw-line); border-radius: var(--kgw-radius); background: #fff; }
.kgw-adv summary { display: flex; align-items: center; gap: 14px; padding: 16px 18px; cursor: pointer; list-style: none; }
.kgw-adv summary::-webkit-details-marker { display: none; }
.kgw-adv summary > svg { width: 24px; height: 24px; color: var(--kgw-text); flex: 0 0 auto; }
.kgw-adv summary span { display: flex; flex-direction: column; flex: 1; }
.kgw-adv summary small { color: var(--kgw-muted); font-size: 12.5px; }
.kgw-adv summary i { width: 10px; height: 10px; border-right: 2px solid var(--kgw-text); border-bottom: 2px solid var(--kgw-text); transform: rotate(45deg); transition: transform .2s; margin-right: 4px; }
.kgw-adv[open] summary i { transform: rotate(-135deg); }
.kgw-adv summary:focus-visible { outline: 3px solid rgba(124, 194, 66, .45); border-radius: var(--kgw-radius); }
.kgw-adv__body { padding: 4px 18px 8px; border-top: 1px solid var(--kgw-line); padding-top: 18px; }
.kgw-geo__btns { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 10px; }
.kgw-map { height: 300px; margin-top: 10px; border-radius: var(--kgw-radius-s); overflow: hidden; border: 1px solid var(--kgw-line); }
.kgw-opts { display: flex; flex-wrap: wrap; gap: 8px; }
.kgw-opt { display: inline-flex; align-items: center; gap: 8px; padding: 9px 14px; border: 1.5px solid var(--kgw-line-2); border-radius: 999px; font-size: 13.5px; cursor: pointer; min-height: 40px; }
.kgw-opt input { width: 16px; height: 16px; accent-color: var(--kgw-lime-2); margin: 0; }
.kgw-opt:has(input:checked) { border-color: var(--kgw-lime-2); background: var(--kgw-lime-soft); }

/* ---------- Buttons ---------- */
.kgw-actions { display: flex; align-items: center; gap: 12px; margin-top: 26px; padding-top: 18px; border-top: 1px solid var(--kgw-line); }
.kgw-saved { margin-left: auto; font-size: 12px; color: var(--kgw-muted); }
.kgw-btn { display: inline-flex; align-items: center; justify-content: center; gap: 10px; min-height: 48px; padding: 0 22px; font: inherit; font-size: 15px; font-weight: 600; border-radius: var(--kgw-radius-s); border: 1.5px solid transparent; cursor: pointer; text-decoration: none; transition: background .15s, border-color .15s, opacity .15s; }
.kgw-btn svg { width: 18px; height: 18px; }
.kgw-btn--primary, .kgw-btn--pay { background: var(--kgw-btn); color: #fff; }
.kgw-btn--primary:hover, .kgw-btn--pay:hover { background: var(--kgw-btn-h); color: #fff; }
.kgw-btn--primary { min-width: 180px; }
.kgw-btn--back { background: #fff; border-color: var(--kgw-line-2); color: var(--kgw-text); }
.kgw-btn--back:hover { border-color: var(--kgw-text); }
.kgw-btn--ghost { background: #fff; border-color: var(--kgw-line-2); color: var(--kgw-text); min-height: 40px; font-size: 13.5px; padding: 0 14px; }
.kgw-btn--pay { width: 100%; background: #2f8a2b; min-height: 52px; font-size: 16px; }
.kgw-btn--pay:hover { background: #26741f; }
.kgw-btn:focus-visible { outline: 3px solid rgba(124, 194, 66, .55); outline-offset: 2px; }
.kgw-btn[disabled], .kgw-btn.is-busy { opacity: .6; cursor: progress; }
.kgw-btn.is-busy::after { content: ""; width: 16px; height: 16px; border-radius: 50%; border: 2px solid currentColor; border-right-color: transparent; animation: kgw-spin .7s linear infinite; }
.kgw-link { background: none; border: 0; padding: 0; margin-top: 8px; font: inherit; font-size: 13.5px; font-weight: 600; color: var(--kgw-lime-2); text-decoration: underline; cursor: pointer; }
@keyframes kgw-spin { to { transform: rotate(360deg); } }

.kgw-alert { margin: 0 0 18px; padding: 12px 16px; border-radius: var(--kgw-radius-s); background: var(--kgw-err-bg); color: var(--kgw-err); border: 1px solid #f5c2bd; font-size: 14px; }
.kgw-alert a { color: inherit; font-weight: 700; }

/* ---------- Step 4 ---------- */
.kgw-review { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(300px, 1fr); gap: 24px; align-items: start; }
.kgw-preview { border: 1px solid var(--kgw-line); border-radius: var(--kgw-radius); overflow: hidden; background: #fff; }
.kgw-pv__media { position: relative; aspect-ratio: 16 / 10; background: #e8eee6; }
.kgw-pv__media img { width: 100%; height: 100%; object-fit: cover; display: block; }
.kgw-pv__ph { position: absolute; inset: 0; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 6px; color: #6e8574; font-size: 13px; background: linear-gradient(180deg, #e9f2e3, #d5e6c9); }
.kgw-pv__ph svg { width: 54px; height: 54px; }
.kgw-pv__count { position: absolute; left: 12px; bottom: 12px; padding: 3px 9px; border-radius: 6px; background: rgba(0, 0, 0, .6); color: #fff; font-size: 12px; }
.kgw-pv__nav { position: absolute; right: 10px; bottom: 10px; display: flex; gap: 6px; }
.kgw-pv__nav button { width: 34px; height: 34px; border-radius: 50%; border: 0; background: rgba(0, 0, 0, .55); color: #fff; cursor: pointer; font-size: 16px; }
.kgw-pv__badge { position: absolute; left: 12px; top: 12px; padding: 4px 10px; border-radius: 6px; background: #f5c84c; color: #3d2f00; font-size: 12px; font-weight: 700; }
.kgw-pv__thumbs { display: flex; gap: 6px; padding: 8px; overflow-x: auto; }
.kgw-pv__thumbs button { flex: 0 0 64px; height: 48px; padding: 0; border: 2px solid transparent; border-radius: 6px; overflow: hidden; cursor: pointer; background: none; }
.kgw-pv__thumbs button.is-active { border-color: var(--kgw-lime-2); }
.kgw-pv__thumbs img { width: 100%; height: 100%; object-fit: cover; }
.kgw-pv__body { padding: 16px 20px 20px; }
.kgw-pv__title { font-size: 19px; font-weight: 700; margin: 0 0 4px; line-height: 1.3; word-break: break-word; }
.kgw-pv__loc { display: flex; align-items: center; gap: 6px; color: var(--kgw-muted); font-size: 13.5px; margin: 0 0 10px; }
.kgw-pv__price { display: flex; align-items: baseline; gap: 8px; flex-wrap: wrap; margin: 0 0 14px; }
.kgw-pv__price b { font-size: 26px; letter-spacing: -.01em; }
.kgw-pv__price span { color: var(--kgw-muted); font-size: 13px; }
.kgw-pv__facts { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; margin: 0 0 14px; padding: 12px 0; border-top: 1px solid var(--kgw-line); border-bottom: 1px solid var(--kgw-line); }
.kgw-pv__facts div { display: flex; flex-direction: column; font-size: 13.5px; font-weight: 600; min-width: 0; }
.kgw-pv__facts small { font-weight: 400; color: var(--kgw-muted); font-size: 12px; }
.kgw-pv__desc { font-size: 13.5px; color: #3a4a40; white-space: pre-line; margin: 0 0 12px; word-break: break-word; }
.kgw-pv__desc.is-empty { color: var(--kgw-muted); font-style: italic; }
.kgw-pv__extra { margin: 0 0 12px; padding: 0; list-style: none; display: grid; gap: 4px; font-size: 13px; }
.kgw-pv__extra b { font-weight: 600; }
.kgw-pv__edit { display: flex; flex-wrap: wrap; gap: 4px 16px; }
.kgw-card { border: 1px solid var(--kgw-line); border-radius: var(--kgw-radius); padding: 18px 18px 14px; margin-bottom: 14px; background: #fff; }
.kgw-card--flat { background: #fafbf9; }
.kgw-sum { margin: 0; display: grid; gap: 6px; font-size: 13.5px; }
.kgw-sum div { display: flex; justify-content: space-between; gap: 12px; }
.kgw-sum dt { color: var(--kgw-muted); }
.kgw-sum dd { margin: 0; font-weight: 600; text-align: right; }
.kgw-total { display: flex; justify-content: space-between; align-items: baseline; margin: 14px -18px 0; padding: 12px 18px 0; border-top: 1px solid var(--kgw-line); background: linear-gradient(180deg, #f2f9ea, transparent); }
.kgw-total span { font-weight: 700; color: #2f6b22; }
.kgw-total b { font-size: 24px; color: #2f6b22; }
.kgw-total__note { margin: 4px 0 0; font-size: 12px; color: #4d7b3c; }
.kgw-contact { margin: 0; font-size: 13.5px; word-break: break-word; }
.kgw-consents { margin: 4px 0 14px; }
.kgw-privacy { margin: 6px 0 0; font-size: 12px; color: var(--kgw-muted); }
.kgw-paybox { border: 1px solid var(--kgw-line); border-radius: var(--kgw-radius); padding: 16px 18px; background: #fff; }
.kgw-paybox__title { display: flex; align-items: center; gap: 8px; margin-bottom: 4px; }
.kgw-paybox__title svg { width: 18px; height: 18px; color: #2f8a2b; }
.kgw-methods { font-size: 12.5px; margin: 0 0 12px; }
.kgw-paynote { font-size: 12px; margin: 10px 0 0; }
.kgw-checkout { min-height: 360px; margin-top: 4px; }

/* ---------- Result ---------- */
.kgw-result { text-align: center; padding: 40px 0 20px; max-width: 560px; margin: 0 auto; }
.kgw-result__icon { width: 72px; height: 72px; margin: 0 auto 18px; border-radius: 50%; display: flex; align-items: center; justify-content: center; background: var(--kgw-lime-soft); color: var(--kgw-lime-2); }
.kgw-result__icon svg { width: 36px; height: 36px; }
.kgw-result__icon.is-loading::after { content: ""; width: 34px; height: 34px; border-radius: 50%; border: 3px solid var(--kgw-lime-2); border-right-color: transparent; animation: kgw-spin .8s linear infinite; }
.kgw-result__icon.is-error { background: var(--kgw-err-bg); color: var(--kgw-err); }
.kgw-result__actions { display: flex; flex-wrap: wrap; justify-content: center; gap: 10px; margin-top: 8px; }
.kgw[data-step="5"] .kgw-actions { display: none; }
.kgw[data-loading="1"] .kgw-form, .kgw[data-loading="1"] .kgw-actions { visibility: hidden; }

/* ---------- Large desktop: keep form readable ---------- */
@media (min-width: 1100px) {
	.kgw-step[data-step="1"], .kgw-step[data-step="2"], .kgw-step[data-step="3"] { max-width: 860px; }
}

/* ---------- Tablet ---------- */
@media (max-width: 1024px) {
	.kgw-shell { grid-template-columns: 220px minmax(0, 1fr); }
	.kgw-main { padding: 22px 26px; }
	.kgw-review { grid-template-columns: 1fr; }
}

/* ---------- Mobile ---------- */
@media (max-width: 782px) {
	.kgw-page { padding: 0 0 0; background: #fff; }
	.kgw { font-size: 15px; }
	.kgw-shell { display: block; border-radius: 0; box-shadow: none; min-height: 0; }
	.kgw-side { display: none; }
	.kgw-main { padding: 0 16px calc(96px + env(safe-area-inset-bottom)); }
	.kgw-progress { display: none; }
	.kgw-mprogress { display: block; position: sticky; top: 0; z-index: 20; margin: 0 -16px 18px; padding: 12px 16px 10px; background: rgba(255, 255, 255, .97); border-bottom: 1px solid var(--kgw-line); }
	.admin-bar .kgw-mprogress { top: 46px; }
	.kgw-mprogress__row { display: flex; justify-content: space-between; gap: 12px; font-size: 13px; margin-bottom: 8px; }
	.kgw-mprogress__count { color: var(--kgw-muted); }
	.kgw-mprogress__name { font-weight: 700; }
	.kgw-mprogress__bar { height: 5px; border-radius: 5px; background: var(--kgw-line); overflow: hidden; }
	.kgw-mprogress__bar span { display: block; height: 100%; width: 25%; background: var(--kgw-lime); border-radius: 5px; transition: width .25s; }
	.kgw-h { font-size: 23px; }
	.kgw-lead { font-size: 14px; margin-bottom: 18px; }
	.kgw-packages, .kgw-grid2, .kgw-grid2--even, .kgw-photos { grid-template-columns: 1fr; }
	.kgw-pkg { padding: 16px; }
	.kgw-pkg__price b { font-size: 30px; }
	.kgw-pkg__art { width: 86px; height: 46px; }
	.kgw input[type="text"], .kgw input[type="email"], .kgw input[type="tel"], .kgw input[type="url"], .kgw select, .kgw textarea { font-size: 16px; min-height: 50px; } /* 16px prevents iOS zoom */
	.kgw-thumbs { grid-template-columns: repeat(3, minmax(0, 1fr)); }
	.kgw-thumb__btns button { width: 34px; height: 34px; }
	.kgw-drop { min-height: 104px; }
	.kgw-actions { position: fixed; left: 0; right: 0; bottom: 0; z-index: 50; margin: 0; padding: 10px 16px calc(10px + env(safe-area-inset-bottom)); background: #fff; border-top: 1px solid var(--kgw-line); box-shadow: 0 -6px 20px rgba(16, 40, 24, .08); }
	.kgw-actions .kgw-btn { min-height: 50px; }
	.kgw-btn--primary { flex: 1 1 auto; min-width: 0; }
	.kgw-saved { display: none; }
	.kgw[data-step="1"] .kgw-btn--back { display: none; }
	.kgw-pv__facts { grid-template-columns: 1fr 1fr; }
	.kgw-checkout { min-height: 420px; }
	.kgw-result { padding-top: 24px; }
}
@media (max-width: 360px) {
	.kgw-main { padding-left: 12px; padding-right: 12px; }
	.kgw-mprogress { margin-left: -12px; margin-right: -12px; padding-left: 12px; padding-right: 12px; }
	.kgw-thumbs { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.kgw-pkg__head { flex-wrap: wrap; }
	.kgw-btn { padding: 0 14px; }
}
@media (prefers-reduced-motion: reduce) {
	.kgw *, .kgw *::before, .kgw *::after { transition: none !important; animation-duration: .01ms !important; }
}
.kgw a.kgw-btn { text-decoration: none; }
.kgw a.kgw-btn--primary, .kgw a.kgw-btn--primary:hover { color: #fff; }
.kgw a.kgw-btn--back { color: var(--kgw-text); }

/* Dedicated address suggestions on step 2; Google Places list must rise over wizard cards. */
.kgw-address-search{position:relative;z-index:4}.kgw-address-search input[type="search"]{-webkit-appearance:none;appearance:none;width:100%;min-height:46px}.kgw-address-search input[type="search"]::-webkit-search-decoration,.kgw-address-search input[type="search"]::-webkit-search-cancel-button,.kgw-address-search input[type="search"]::-webkit-search-results-button,.kgw-address-search input[type="search"]::-webkit-search-results-decoration{display:none}.kgw-address-status{font-size:12px;color:#28744f;margin:6px 0 0}.kgw-address-status:empty{display:none}.pac-container{z-index:2147483000!important;border-radius:10px!important;box-shadow:0 8px 30px rgba(0,0,0,.15)!important}.pac-item{padding:9px 12px!important;cursor:pointer!important}

/* Wizard page only: suppress Houzez breadcrumbs without hiding the wizard step navigation. */
body.page-id-47503 .breadcrumb-wrap,
body.page-id-47503 .breadcrumbs,
body.page-id-47503 .breadcrumb,
body.page-id-47503 .breadcrumb-area,
body.page-id-47503 .page-title-wrap,
body.page-id-47503 nav[aria-label="breadcrumb"],
body.page-id-47503 nav[aria-label="Breadcrumb"],
body.page-id-47503 .houzez-breadcrumb { display: none !important; }
