/**
 * VendoRezerwacje — Style frontendu
 * Dopasowane do Property Care by Paula
 * Akcent: #F1ADB3 | Nagłówki: Playfair Display | Tekst: Montserrat
 */

/* ─── Tokeny ──────────────────────────────────────────────────────────────── */
:root {
	--vp-pink:         #f1adb3;
	--vp-pink-hover:   #e898a8;
	--vp-pink-light:   #fdf3f4;
	--vp-pink-border:  rgba(241,173,179,.22);
	--vp-pink-border2: rgba(241,173,179,.45);
	--vp-pink-shadow:  rgba(241,173,179,.18);
	--vp-text:         #1a1a1a;
	--vp-muted:        #7a7a7a;
	--vp-light:        #b0b0b0;
	--vp-success:      #16a34a;
	--vp-success-bg:   #dcfce7;
	--vp-danger:       #dc2626;
	--vp-white:        #ffffff;
	--vp-radius:       16px;
	--vp-radius-sm:    8px;
	--vp-pill:         50px;
	--vp-shadow:       0 8px 32px rgba(241,173,179,.18);
	--vp-shadow-sm:    0 4px 18px rgba(241,173,179,.14);
	--vp-font-h:       "Playfair Display", serif;
	--vp-font-b:       "Montserrat", sans-serif;
	--vp-font-num:     "Bodoni Moda SC", "Playfair Display", serif; /* cyfry */
	/* aliases dla backward compat */
	--vendo-pub-primary:       #f1adb3;
	--vendo-pub-primary-hover: #e898a8;
	--vendo-pub-primary-light: #fdf3f4;
	--vendo-pub-success:       #16a34a;
	--vendo-pub-danger:        #dc2626;
	--vendo-pub-text:          #1a1a1a;
	--vendo-pub-text-muted:    #7a7a7a;
	--vendo-pub-border:        rgba(241,173,179,.22);
	--vendo-pub-bg:            #fdf3f4;
	--vendo-pub-white:         #ffffff;
	--vendo-pub-radius:        16px;
	--vendo-pub-radius-sm:     8px;
	--vendo-pub-shadow:        0 4px 18px rgba(241,173,179,.14);
	--vendo-pub-shadow-md:     0 8px 32px rgba(241,173,179,.18);
}

/* ─── Kontener ────────────────────────────────────────────────────────────── */
.vendo-booking-widget {
	font-family: var(--vp-font-b);
	color: var(--vp-text);
	line-height: 1.6;
	box-sizing: border-box;
	max-width: 100%;
	-webkit-font-smoothing: antialiased;
}
.vendo-booking-widget *,
.vendo-booking-widget *::before,
.vendo-booking-widget *::after {
	box-sizing: inherit;
}

/* Reset inputów wewnątrz widżetu — nadpisuje WordPress, WooCommerce i Elementor */
.vendo-booking-widget input[type="number"],
.vendo-booking-widget input[type="text"] {
	-webkit-appearance: none !important;
	-moz-appearance: textfield !important;
	appearance: none !important;
	background-image: none !important;
	box-shadow: none !important;
	outline: none !important;
	margin: 0 !important;
}

/* ─── Pasek kroków ─────────────────────────────────────────────────────────── */
.vendo-steps {
	display: flex;
	gap: 0;
	margin-bottom: 20px;
	border-bottom: 1px solid var(--vp-pink-border);
}
.vendo-step-item {
	display: flex;
	align-items: center;
	gap: 6px;
	padding: 10px 14px;
	font-size: 12px;
	font-family: var(--vp-font-b);
	font-weight: 500;
	letter-spacing: .5px;
	color: #d9a7ac;
	border-bottom: 2px solid transparent;
	margin-bottom: -1px;
	white-space: nowrap;
	cursor: default;
	transition: color .2s, border-color .2s;
}
.vendo-step-num {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 22px;
	height: 22px;
	box-sizing: border-box;
	border: 1px solid var(--vp-pink-border2);
	border-radius: 50%;
	background: var(--vp-pink-light);
	color: var(--vp-pink-hover);
	font-size: 10px;
	font-weight: 700;
	font-family: var(--vp-font-b);
	line-height: 1;
	letter-spacing: 0;
	text-align: center;
	flex-shrink: 0;
	transition: background .2s, color .2s;
}
.vendo-step-item.is-active {
	color: var(--vp-pink-hover);
	font-weight: 700;
	border-bottom-color: var(--vp-pink-hover);
}
.vendo-step-item.is-active .vendo-step-num {
	background: var(--vp-pink-hover);
	border-color: var(--vp-pink-hover);
	color: #fff;
}
.vendo-step-item.is-done .vendo-step-num {
	background: var(--vp-pink);
	border-color: var(--vp-pink);
	color: #fff;
	font-size: 0;
}
.vendo-step-item.is-done .vendo-step-num::after {
	content: "\2713";
	font-size: 12px;
	line-height: 1;
}
.vendo-step-item.is-done .vendo-step-label {
	display: none;
}
.vendo-step-item.is-done {
	cursor: pointer;
}
.vendo-step-item.is-done:hover {
	color: var(--vp-pink);
}
.vendo-step-item.is-done:hover .vendo-step-num {
	background: var(--vp-pink-hover);
	border-color: var(--vp-pink-hover);
}
@media (max-width: 420px) {
	.vendo-step-label { display: none; }
	.vendo-step-item  { padding: 10px 8px; }
}

/* ─── Panel ────────────────────────────────────────────────────────────────── */
.vendo-panel {
	background: var(--vp-white);
	border: 0.5px solid var(--vp-pink);
	border-radius: var(--vp-radius);
	padding: 24px;
	box-shadow: var(--vp-shadow);
}
.vendo-panel__loading {
	display: flex;
	align-items: center;
	gap: 10px;
	color: var(--vp-text);
	padding: 20px 0;
	justify-content: center;
	font-family: var(--vp-font-b);
	font-size: 13px;
}

/* ─── Tytuły kroków ────────────────────────────────────────────────────────── */
.vendo-step__title {
	font-family: var(--vp-font-b);
	font-size: 16px;
	font-weight: 700;
	letter-spacing: .3px;
	color: var(--vp-text);
	margin: 0 0 18px;
}

/* ─── Przycisk wstecz ─────────────────────────────────────────────────────── */
.vendo-back-btn {
	display: inline-flex;
	align-items: center;
	gap: 4px;
	background: none;
	border: none;
	color: #000;
	font-size: 12px;
	font-family: var(--vp-font-b);
	font-weight: 500;
	letter-spacing: .5px;
	cursor: pointer;
	padding: 0 0 16px;
	text-decoration: none;
	transition: color .15s;
}
.vendo-back-btn:hover {
    color: var(--vp-pink-hover);
    text-decoration: underline;
    /* Nadpisuje kolor tła motywu który pojawia się na hover na <button> */
    background: none !important;
    background-color: transparent !important;
    box-shadow: none !important;
    border-color: transparent !important;
}

/* ─── Krok 1: Warianty ─────────────────────────────────────────────────────── */
.vendo-variants-grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(150px, 1fr));
	gap: 10px;
}
.vendo-variant-tile {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 4px;
	background: var(--vp-white);
	border: 1px solid var(--vp-pink);
	border-radius: var(--vp-radius-sm);
	padding: 14px 16px;
	cursor: pointer;
	text-align: left;
	font-family: var(--vp-font-b);
	transition: border-color .15s, background .15s, box-shadow .15s;
}
.vendo-variant-tile:hover,
.vendo-variant-tile:focus {
	border-color: var(--vp-pink);
	background: var(--vp-pink-light);
	box-shadow: var(--vp-shadow-sm);
	outline: none;
}
.vendo-variant-tile--selected {
	border-color: var(--vp-pink) !important;
	background: var(--vp-pink-light) !important;
	box-shadow: var(--vp-shadow-sm) !important;
}
.vendo-variant-tile--selected .vendo-variant__name {
	color: var(--vp-pink);
}
.vendo-variant__name {
	font-weight: 600;
	font-size: 13px;
	color: var(--vp-text);
}
.vendo-variant__dur {
	font-size: 11px;
	color: var(--vp-text);
}
.vendo-variant__price {
	font-size: 14px;
	font-weight: 700;
	color: var(--vp-pink);
	font-family: var(--vp-font-b);
	margin-top: 4px;
}

/* ─── Min. wartość zamówienia (krok 1) ────────────────────────────────────── */
.vendo-min-order-notice {
	display: flex;
	align-items: center;
	gap: 8px;
	background: var(--vp-pink-light);
	border: 1px solid var(--vp-pink-border2);
	border-radius: var(--vp-radius-sm);
	padding: 10px 14px;
	font-size: 13px;
	color: var(--vp-muted);
	margin: 0 0 16px;
	line-height: 1.4;
}
.vendo-min-order-notice::before {
	content: "ℹ";
	flex-shrink: 0;
	font-size: 14px;
	color: var(--vp-pink-hover);
}
.vendo-min-order-notice strong {
	color: var(--vp-pink-hover);
	font-weight: 700;
}

/* ─── Krok 2: Kalendarz ───────────────────────────────────────────────────── */
.vendo-calendar { user-select: none; }
.vendo-cal-nav-row {
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin-bottom: 12px;
}
.vendo-cal-title {
	font-family: var(--vp-font-h);
	font-weight: 500;
	font-size: 15px;
	color: var(--vp-text);
}
/* Rok w tytule kalendarza — cyfry z Bodoni Moda SC */
.vendo-cal-year {
	font-family: var(--vp-font-num);
	font-weight: 600;
}
.icon-btn {
	appearance: none !important;
	-webkit-appearance: none !important;
	background: #ffffff !important;
	border: 1.5px solid #f1adb3 !important;
	width: 38px !important;
	height: 38px !important;
	border-radius: 50% !important;
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	cursor: pointer;
	flex-shrink: 0;
	padding: 0 !important;
	margin: 0;
	outline: none !important;
	box-shadow: none !important;
	-webkit-tap-highlight-color: transparent;
	transition: background 0.2s ease;
	line-height: 1;
}
.icon-btn:hover:not(:disabled)  { background: #fef2f0 !important; }
.icon-btn:active:not(:disabled) { background: #f1adb3 !important; box-shadow: none !important; }
.icon-btn:active svg polyline   { stroke: #ffffff !important; }
.icon-btn:focus,
.icon-btn:focus-visible {
	outline: none !important;
	box-shadow: none !important;
	background: #ffffff !important;
	border-color: #f1adb3 !important;
}
.icon-btn:disabled { opacity: 0.25; cursor: not-allowed; }

.vendo-cal-grid {
	display: grid;
	grid-template-columns: repeat(7, 1fr);
	gap: 2px;
}
.vendo-cal-head {
	text-align: center;
	font-size: 10px;
	font-weight: 600;
	font-family: var(--vp-font-b);
	color: #555;
	padding: 4px 0;
	text-transform: uppercase;
	letter-spacing: .5px;
}
.vendo-cal-day {
	text-align: center;
	padding: 7px 2px;
	border-radius: 6px;
	font-size: 13px;
	font-family: var(--vp-font-b);
	cursor: default;
	transition: background .15s, color .15s;
}
.vendo-cal-day--empty { pointer-events: none; }
.vendo-cal-day--past,
.vendo-cal-day--disabled { color: #ddd; cursor: not-allowed; }
.vendo-cal-day--available {
	color: var(--vp-text);
	font-weight: 600;
	cursor: pointer;
	background: var(--vp-pink-light);
}
.vendo-cal-day--available:hover,
.vendo-cal-day--available:focus {
	background: var(--vp-pink);
	color: #fff;
	outline: none;
}
.vendo-cal-day--selected {
	background: var(--vp-pink) !important;
	color: #fff !important;
}
.vendo-cal-loading,
.vendo-cal-empty {
	text-align: center;
	color: var(--vp-text);
	font-size: 13px;
	font-family: var(--vp-font-b);
	margin-top: 12px;
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
}
.vendo-selected-date {
	font-size: 12px;
	font-family: var(--vp-font-b);
	color: var(--vp-text);
	margin: 0 0 14px;
}

/* ─── Krok 3: Sloty ─────────────────────────────────────────────────────────── */
.vendo-slots-grid { display: flex; flex-wrap: wrap; gap: 8px; }
.vendo-slot-tile {
	background: var(--vp-white);
	border: 1.5px solid var(--vp-pink-border);
	border-radius: var(--vp-pill);
	padding: 8px 18px;
	font-size: 13px;
	font-weight: 600;
	font-family: var(--vp-font-b);
	cursor: pointer;
	color: var(--vp-text);
	transition: border-color .15s, background .15s, color .15s;
	white-space: nowrap;
}
.vendo-slot-tile:hover,
.vendo-slot-tile:focus {
	border-color: var(--vp-pink);
	background: var(--vp-pink-light);
	color: var(--vp-pink);
	outline: none;
}
.vendo-slot-tile--selected,
.vendo-slot-tile.vendo-slot--selected {
	border-color: var(--vp-pink);
	background: var(--vp-pink);
	color: #fff;
}
.vendo-slot-tile--selected:hover,
.vendo-slot-tile.vendo-slot--selected:hover {
	background: var(--vp-pink-hover);
	border-color: var(--vp-pink-hover);
}
.vendo-slots-loading,
.vendo-no-slots {
	color: var(--vp-text);
	font-size: 13px;
	font-family: var(--vp-font-b);
	display: flex;
	align-items: center;
	gap: 8px;
	padding: 8px 0;
}
.vendo-btn-next,
.vendo-btn-confirm-slots {
	display: block;
	width: 100%;
	margin-top: 16px;
	padding: 13px 28px;
	background: var(--vp-pink);
	color: #fff;
	border: none;
	border-radius: var(--vp-pill);
	font-size: 11px;
	font-weight: 500;
	font-family: var(--vp-font-b);
	letter-spacing: 2.5px;
	text-transform: uppercase;
	cursor: pointer;
	transition: background .1s ease-out, box-shadow .1s ease-out, transform .1s ease-out;
	box-shadow: 0 4px 18px var(--vp-pink-shadow);
}
.vendo-btn-confirm-slots:hover {
	background: var(--vp-pink-hover);
	box-shadow: 0 6px 26px rgba(241,173,179,.35);
}
.vendo-btn-confirm-slots:active { transform: scale(.96); }

/* ─── Krok 4/5: Podsumowanie ───────────────────────────────────────────────── */
.vendo-summary-box {
	background: var(--vp-white);
	border: 0.5px solid var(--vp-pink-border2);
	border-radius: var(--vp-radius-sm);
	padding: 16px 20px;
	margin-bottom: 20px;
}
.vendo-summary-row {
	display: flex;
	justify-content: space-between;
	align-items: baseline;
	padding: 7px 0;
	border-bottom: 1px solid var(--vp-pink-border);
	gap: 12px;
	font-size: 13px;
	font-family: var(--vp-font-b);
}
.vendo-summary-row:last-child { border-bottom: none; }
.vendo-summary-label { color: var(--vp-text); flex-shrink: 0; }
.vendo-summary-value { text-align: right; font-weight: 400; color: var(--vp-text); font-family: var(--vp-font-b); }
.vendo-summary-row strong { font-weight: 700; } /* "Kwota płatna teraz" / "na miejscu" — pogrubione (label + cena) */

.vendo-cart-error {
	color: var(--vp-danger);
	font-size: 12px;
	font-family: var(--vp-font-b);
	margin: 0 0 12px;
	padding: 8px 14px;
	background: #fef2f2;
	border: 1px solid #fecaca;
	border-radius: var(--vp-radius-sm);
}
.vendo-vat-note {
	font-size: 11px;
	font-family: var(--vp-font-b);
	color: var(--vp-text);
	text-align: right;
	margin: 6px 0 14px;
	letter-spacing: .2px;
}

/* ─── Przycisk "Dodaj do koszyka" ──────────────────────────────────────────── */
.vendo-btn-add-to-cart {
	display: block;
	width: 100%;
	padding: 14px 42px;
	background: var(--vp-pink);
	color: #fff;
	border: none;
	border-radius: var(--vp-pill);
	font-size: 11px;
	font-weight: 500;
	font-family: var(--vp-font-b);
	letter-spacing: 2.5px;
	text-transform: uppercase;
	cursor: pointer;
	transition: background .1s ease-out, box-shadow .1s ease-out, transform .1s ease-out;
	box-shadow: 0 4px 18px var(--vp-pink-shadow);
	text-align: center;
	text-decoration: none;
	-webkit-font-smoothing: antialiased;
}
.vendo-btn-add-to-cart:hover:not(:disabled) {
	background: var(--vp-pink-hover);
	box-shadow: 0 6px 26px rgba(241,173,179,.35);
}
.vendo-btn-add-to-cart:active:not(:disabled) { transform: scale(.96); }
.vendo-btn-add-to-cart:disabled { opacity: .65; cursor: wait; }

/* ─── Sukces ────────────────────────────────────────────────────────────────── */
.vendo-added-to-cart { text-align: center; padding: 16px 0; }
.vendo-success-icon {
	width: 56px;
	height: 56px;
	border-radius: 50%;
	background: var(--vp-pink-light);
	color: var(--vp-pink-hover);
	font-size: 26px;
	display: flex;
	align-items: center;
	justify-content: center;
	margin: 0 auto 14px;
}
.vendo-success-msg {
	font-family: var(--vp-font-h);
	font-size: 18px;
	font-weight: 500;
	color: var(--vp-pink-hover);
	margin: 0;
}

/* ─── Spinner ───────────────────────────────────────────────────────────────── */
.vendo-spinner {
	display: inline-block;
	width: 16px;
	height: 16px;
	border: 2px solid rgba(241,173,179,.3);
	border-top-color: var(--vp-pink);
	border-radius: 50%;
	animation: vendo-spin .7s linear infinite;
}
@keyframes vendo-spin { to { transform: rotate(360deg); } }

/* ─── Kalkulator metrażowy ──────────────────────────────────────────────────── */
.vendo-step-sqm { display: flex; flex-direction: column; gap: 14px; }
.vendo-sqm-areas { display: flex; flex-direction: column; gap: 10px; }
.vendo-sqm-area__label {
	font-size: 12px;
	font-family: var(--vp-font-b);
	font-weight: 600;
	color: var(--vp-text);
	margin-bottom: 4px;
	letter-spacing: .3px;
}
.vendo-sqm-area__inputs {
	display: flex;
	align-items: flex-start;
	gap: 8px;
	flex-wrap: wrap;
}
/* Label pod fieldem: column-reverse odwraca kolejność DOM → input na górze, label na dole */
.vendo-sqm-field { display: flex; flex-direction: column-reverse; gap: 0; }
.vendo-sqm-field label {
	font-size: 11px;
	font-family: var(--vp-font-b);
	color: var(--vp-text);
	letter-spacing: .3px;
	margin-top: 5px;
	text-align: center;
}
.vendo-booking-widget input.vendo-sqm-length,
.vendo-booking-widget input.vendo-sqm-width,
.vendo-booking-widget input.vendo-sqm-area-input {
	width: 100px !important;
	padding: 10px 12px !important;
	border: 1.5px solid var(--vp-pink-border) !important;
	border-radius: var(--vp-radius-sm) !important;
	font-size: 15px !important;
	font-family: var(--vp-font-b) !important;
	font-weight: 600 !important;
	color: var(--vp-text) !important;
	background: var(--vp-white) !important;
	box-shadow: none !important;
	outline: none !important;
	transition: border-color .15s, box-shadow .15s !important;
	-moz-appearance: textfield !important;
	-webkit-appearance: none !important;
	appearance: none !important;
	line-height: 1.4 !important;
	min-height: unset !important;
	height: auto !important;
}
.vendo-booking-widget input.vendo-sqm-length:focus,
.vendo-booking-widget input.vendo-sqm-width:focus,
.vendo-booking-widget input.vendo-sqm-area-input:focus {
	border-color: var(--vp-pink) !important;
	box-shadow: 0 0 0 3px rgba(241,173,179,.15) !important;
	outline: none !important;
}
.vendo-booking-widget input.vendo-sqm-length::-webkit-outer-spin-button,
.vendo-booking-widget input.vendo-sqm-length::-webkit-inner-spin-button,
.vendo-booking-widget input.vendo-sqm-width::-webkit-outer-spin-button,
.vendo-booking-widget input.vendo-sqm-width::-webkit-inner-spin-button,
.vendo-booking-widget input.vendo-sqm-area-input::-webkit-outer-spin-button,
.vendo-booking-widget input.vendo-sqm-area-input::-webkit-inner-spin-button {
	-webkit-appearance: none !important;
	margin: 0 !important;
}

/* Tryb „gotowe m²” — jedno pole zamiast dł × szer, więc bez mnożnika
   i bez wyniku. Szersze pole, bo stoi samo i ma udźwignąć cały metraż. */
.vendo-sqm-area__inputs--direct { align-items: center; }
.vendo-booking-widget .vendo-sqm-field--area input.vendo-sqm-area-input {
	width: 140px !important;
}
.vendo-sqm-multiply,
.vendo-sqm-equals { font-size: 16px; color: var(--vp-light); margin-top: 8px; }
.vendo-sqm-result {
	font-size: 14px;
	font-weight: 700;
	color: var(--vp-pink);
	font-family: var(--vp-font-b);
	margin-top: 8px;
	min-width: 60px;
}
.vendo-sqm-remove {
	background: none;
	border: none;
	color: var(--vp-light);
	cursor: pointer;
	padding: 4px;
	align-self: flex-end;
	margin-bottom: 6px;
	transition: color .15s;
	line-height: 1;
}
.vendo-sqm-remove:hover { color: var(--vp-danger); }
.vendo-sqm-add-area {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	background: none;
	border: 1.5px solid var(--vp-pink-border);
	border-radius: var(--vp-pill);
	padding: 7px 16px;
	font-size: 12px;
	font-family: var(--vp-font-b);
	font-weight: 500;
	color: var(--vp-pink);
	cursor: pointer;
	letter-spacing: .5px;
	transition: border-color .15s, background .15s;
}
.vendo-sqm-add-area:hover { border-color: var(--vp-pink); background: var(--vp-pink-light); }
.vendo-sqm-summary {
	display: none;
	flex-direction: column;
	gap: 4px;
	padding: 12px 16px;
	background: var(--vp-pink-light);
	border: 0.5px solid var(--vp-pink-border2);
	border-radius: var(--vp-radius-sm);
}
.vendo-sqm-summary.is-visible { display: flex; }
.vendo-sqm-summary__row {
	display: flex;
	justify-content: space-between;
	align-items: center;
	font-size: 13px;
	font-family: var(--vp-font-b);
}
.vendo-sqm-summary__row span { color: var(--vp-text); }
.vendo-sqm-summary__row strong { color: var(--vp-text); font-weight: 700; font-family: var(--vp-font-b); }
.vendo-sqm-next {
	align-self: flex-end;
	padding: 13px 28px;
	background: var(--vp-pink);
	color: #fff;
	border: none;
	border-radius: var(--vp-pill);
	font-size: 11px;
	font-weight: 500;
	font-family: var(--vp-font-b);
	letter-spacing: 2.5px;
	text-transform: uppercase;
	cursor: pointer;
	transition: background .1s ease-out, transform .1s ease-out;
	box-shadow: 0 4px 18px var(--vp-pink-shadow);
}
.vendo-sqm-next:disabled { opacity: .4; cursor: not-allowed; box-shadow: none; }
.vendo-sqm-next:not(:disabled):hover { background: var(--vp-pink-hover); }
.vendo-sqm-next:not(:disabled):active { transform: scale(.96); }
/* ─── Wybór typu metrażu (sub-step przed polami wymiarów) ─────────────────── */
.vendo-sqm-type-cards {
	display: flex;
	flex-direction: column;
	gap: 8px;
}
.vendo-sqm-type-card {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	width: 100%;
	padding: 14px 18px;
	background: var(--vp-white);
	border: 1px solid var(--vp-pink);
	border-radius: var(--vp-radius-sm);
	cursor: pointer;
	text-align: left;
	transition: border-color .15s, box-shadow .15s, background .15s;
}
.vendo-sqm-type-card:hover {
	border-color: var(--vp-pink);
	box-shadow: 0 2px 12px rgba(241,173,179,.18);
	background: var(--vp-pink-light);
}
.vendo-sqm-type-card:focus,
.vendo-sqm-type-card:active {
	outline: none !important;
	background: var(--vp-pink-light) !important;
	border-color: var(--vp-pink) !important;
	box-shadow: none !important;
}
.vendo-sqm-type-card__name {
	font-family: var(--vp-font-b);
	font-size: 14px;
	font-weight: 600;
	color: var(--vp-text);
}
.vendo-sqm-type-card__price {
	font-family: var(--vp-font-b);
	font-size: 13px;
	font-weight: 700;
	color: var(--vp-pink);
	white-space: nowrap;
}

.vendo-sqm-type-section { margin-bottom: 14px; }
.vendo-sqm-type-title {
	font-family: var(--vp-font-h);
	font-size: 14px;
	font-weight: 500;
	color: var(--vp-pink);
	margin-bottom: 8px;
	padding-bottom: 4px;
	border-bottom: 0.5px solid var(--vp-pink-border);
}
@media (max-width: 480px) {
	.vendo-sqm-area__inputs { flex-direction: column; align-items: flex-start; }
	.vendo-sqm-multiply, .vendo-sqm-equals { display: none; }
}

/* ─── Extras (opcje dodatkowe) ──────────────────────────────────────────────── */
.vendo-step-extras { display: flex; flex-direction: column; gap: 14px; }
.vendo-extras-list { display: flex; flex-direction: column; gap: 8px; }
.vendo-extra-item {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	padding: 12px 16px;
	border: 1px solid var(--vp-pink);
	border-radius: var(--vp-radius-sm);
	background: var(--vp-white);
	transition: border-color .15s;
}
.vendo-extra-item:hover { border-color: var(--vp-pink-border2); }
.vendo-extra-info { display: flex; flex-direction: column; gap: 2px; flex: 1; min-width: 0; }
.vendo-extra-name  { font-size: 13px; font-weight: 600; color: var(--vp-text); font-family: var(--vp-font-b); }
.vendo-extra-price { font-size: 12px; color: var(--vp-pink); font-weight: 600; font-family: var(--vp-font-b); }
.vendo-extra-dur   { font-size: 11px; color: var(--vp-text); font-family: var(--vp-font-b); }
/* stepper */
.vendo-extra-qty {
	display: flex;
	align-items: center;
	border: 1.5px solid var(--vp-pink-border);
	border-radius: var(--vp-pill);
	overflow: hidden;
	background: var(--vp-white);
}
.vendo-extra-qty-btn {
	background: none; border: none; outline: none; box-shadow: none;
	width: 30px; height: 30px;
	font-size: 16px; font-weight: 700;
	color: var(--vp-pink); cursor: pointer;
	display: flex; align-items: center; justify-content: center;
	padding: 0; flex-shrink: 0;
	transition: background .15s;
}
.vendo-extra-qty-btn:hover:not(:disabled) {
    background: var(--vp-pink-light) !important;
    color: var(--vp-pink) !important;  /* motyw nie może zmienić koloru na biały */
}
.vendo-extra-qty-btn:disabled { color: #ddd; cursor: not-allowed; }
/* Hover na disabled: znak + lub − pozostaje różowy (nie dziedziczy białego z motywu) */
.vendo-extra-qty-btn:disabled:hover,
.vendo-booking-widget .vendo-extra-qty-btn:disabled:hover {
    color: var(--vp-pink) !important;
    background: transparent !important;
    box-shadow: none !important;
}
/* :focus / :active — motyw nie może zostawić swojego koloru po kliknięciu */
.vendo-extra-qty-btn:focus,
.vendo-extra-qty-btn:focus-visible,
.vendo-extra-qty-btn:active,
.vendo-booking-widget .vendo-extra-qty-btn:focus,
.vendo-booking-widget .vendo-extra-qty-btn:focus-visible,
.vendo-booking-widget .vendo-extra-qty-btn:active {
    background: transparent !important;
    background-color: transparent !important;
    color: var(--vp-pink) !important;
    outline: none !important;
    box-shadow: none !important;
    border-color: transparent !important;
}
.vendo-extra-qty-val {
	min-width: 28px; text-align: center;
	font-size: 13px; font-weight: 700;
	font-family: var(--vp-font-b); color: var(--vp-text);
}
/* checkbox */
.vendo-extra-checkbox-lbl { cursor: pointer; display: flex; align-items: center; }
.vendo-extra-check { position: absolute; opacity: 0; width: 0; height: 0; }
.vendo-extra-check-box {
	width: 22px; height: 22px;
	border: 1.5px solid var(--vp-pink-border2);
	border-radius: 6px;
	background: var(--vp-white);
	display: flex; align-items: center; justify-content: center;
	transition: background .15s, border-color .15s;
}
.vendo-extra-check:checked + .vendo-extra-check-box {
	background: var(--vp-pink); border-color: var(--vp-pink);
}
.vendo-extra-check:checked + .vendo-extra-check-box::after {
	content: '';
	display: block;
	width: 5px; height: 10px;
	border: 2px solid #fff;
	border-top: none; border-left: none;
	transform: rotate(45deg) translate(-1px,-1px);
}
/* mb input */
.vendo-extra-mb-wrap { display: flex; align-items: center; gap: 6px; }
.vendo-booking-widget input.vendo-extra-mb-input {
	width: 80px !important;
	padding: 8px 10px !important;
	border: 1.5px solid var(--vp-pink-border) !important;
	border-radius: var(--vp-radius-sm) !important;
	font-size: 14px !important;
	font-weight: 600 !important;
	font-family: var(--vp-font-b) !important;
	text-align: center !important;
	color: var(--vp-text) !important;
	background: var(--vp-white) !important;
	box-shadow: none !important;
	outline: none !important;
	-webkit-appearance: none !important;
	appearance: none !important;
	-moz-appearance: textfield !important;
	height: auto !important;
	min-height: unset !important;
	line-height: 1.4 !important;
}
.vendo-booking-widget input.vendo-extra-mb-input:focus {
	border-color: var(--vp-pink) !important;
	box-shadow: 0 0 0 3px rgba(241,173,179,.15) !important;
	outline: none !important;
}
.vendo-booking-widget input.vendo-extra-mb-input::-webkit-outer-spin-button,
.vendo-booking-widget input.vendo-extra-mb-input::-webkit-inner-spin-button {
	-webkit-appearance: none !important;
	margin: 0 !important;
}
.vendo-extra-mb-unit { font-size: 11px; color: var(--vp-text); font-family: var(--vp-font-b); font-weight: 600; }
/* suma extras */
.vendo-extras-summary {
	display: flex; justify-content: space-between; align-items: center;
	padding: 10px 16px;
	background: var(--vp-pink-light);
	border-radius: var(--vp-radius-sm);
	font-size: 13px; font-family: var(--vp-font-b); font-weight: 600;
	color: var(--vp-text);
}
.vendo-extras-summary strong { color: var(--vp-pink); font-size: 14px; font-family: var(--vp-font-num); }
/* extras next button */
.vendo-btn-primary.vendo-extras-next {
	display: block; width: 100%;
	padding: 13px 28px;
	background: var(--vp-pink); color: #fff;
	border: none; border-radius: var(--vp-pill);
	font-size: 11px; font-weight: 500;
	font-family: var(--vp-font-b); letter-spacing: 2.5px;
	text-transform: uppercase; cursor: pointer;
	transition: background .1s ease-out, transform .1s ease-out;
	box-shadow: 0 4px 18px var(--vp-pink-shadow);
	-webkit-font-smoothing: antialiased;
}
.vendo-btn-primary.vendo-extras-next:hover { background: var(--vp-pink-hover); }
.vendo-btn-primary.vendo-extras-next:active { transform: scale(.96); }

/* ─── Już w koszyku (blokada ponownego dodania) ─────────────────────────── */
.vendo-already-added {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	padding: 14px 24px;
	background: var(--vp-pink-light);
	color: var(--vp-pink-hover);
	border-radius: var(--vp-pill);
	font-family: var(--vp-font-b);
	font-size: 11px;
	font-weight: 600;
	letter-spacing: 2px;
	text-transform: uppercase;
	text-align: center;
}
.vendo-already-added__icon {
	font-size: 15px;
	font-weight: 700;
}

/* ─── Pasek min. wartości zamówienia ────────────────────────────────────────── */
.vendo-min-order-bar {
	margin: 14px 0 0;
	padding: 0;
	background: none;
	border: none;
	font-size: 15px;
	color: var(--vp-text);
	font-family: var(--vp-font-b);
	text-align: center;
	line-height: 1.5;
}
.vendo-min-order-bar strong {
	color: var(--vp-pink-hover);
	font-weight: 600;
}

/* ─── Misc ──────────────────────────────────────────────────────────────────── */
.vendo-noscript {
	color: var(--vp-text);
	font-size: 13px;
	font-family: var(--vp-font-b);
	padding: 8px 0;
}
.vendo-empty-state {
	text-align: center;
	padding: 20px;
	color: var(--vp-text);
	font-size: 13px;
	font-family: var(--vp-font-b);
}

/* ─── Bąbelkowe przyciski widgetu — kompatybilność z [pc_button] ────────────── */

/* Filtr goo w kontekście widżetu (poza .pc-wrap shortcode'u) */
.vendo-booking-widget .pc-effect-container {
	-webkit-filter: url("#pc-goo");
	filter: url("#pc-goo");
}

/* Wycisz domyślne box-shadow na przyciskach — tło wizualne pochodzi z pc-effect-btn */
.vendo-btn-add-to-cart.pc-btn-bubble,
.vendo-btn-confirm-slots.pc-btn-bubble,
.vendo-extras-next.pc-btn-bubble,
.vendo-sqm-next.pc-btn-bubble {
	box-shadow: none !important;
	transform: none !important;
}

/* Wyłącz hover background/shadow/transform — bubble przejmuje efekt interakcji */
.vendo-btn-add-to-cart.pc-btn-bubble:hover:not(:disabled),
.vendo-btn-confirm-slots.pc-btn-bubble:hover,
.vendo-btn-primary.vendo-extras-next.pc-btn-bubble:hover,
.vendo-sqm-next.pc-btn-bubble:not(:disabled):hover {
	background: none !important;
	box-shadow: none !important;
	transform: none !important;
}

/* Wyłącz scale na :active */
.vendo-btn-add-to-cart.pc-btn-bubble:active:not(:disabled),
.vendo-btn-confirm-slots.pc-btn-bubble:active,
.vendo-sqm-next.pc-btn-bubble:not(:disabled):active {
	transform: none !important;
}

/* Stan disabled — obsługiwany przez MutationObserver w JS (opacity/cursor na kontenerze) */
.vendo-sqm-next.pc-btn-bubble:disabled {
	opacity: 1 !important; /* opacity idzie na kontener, nie przycisk */
	cursor: inherit !important;
}

