/* =====================================================================
   PeeweePaw Pourboire — même palette que Fidélité et Cartes cadeaux.
   :not(#pwpot) renforce les règles face aux styles du thème.
   ===================================================================== */
.pwpot-tip:not(#pwpot) {
	--pwpot-accent: #de8b6a;
	--pwpot-green: #6f8763;
	--pwpot-green-dark: #5b7150;
	--pwpot-green-soft: #edf2ea;
	display: flex;
	gap: 14px;
	align-items: flex-start;
	clear: both;
	box-sizing: border-box;
	margin: 0 0 28px;
	padding: 20px 24px;
	border: 1px solid rgba(111, 135, 99, .25);
	border-radius: 14px;
	background: var(--pwpot-green-soft);
	color: #666;
	font-family: inherit;
	font-size: 14px;
	line-height: 1.5;
	transition: opacity .2s;
}
.pwpot-tip.is-loading:not(#pwpot) { opacity: .6; pointer-events: none; }

.pwpot-tip:not(#pwpot) .pwpot-tip__icon {
	flex: none;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 36px;
	height: 36px;
	border-radius: 50%;
	background: var(--pwpot-accent);
	color: #fff;
}
.pwpot-tip:not(#pwpot) .pwpot-tip__body { flex: 1; min-width: 0; }
.pwpot-tip:not(#pwpot) p { margin: 0; padding: 0; }
.pwpot-tip:not(#pwpot) .pwpot-tip__title { margin: 6px 0 0; font-weight: 700; color: #3f4d38; }
.pwpot-tip:not(#pwpot) .pwpot-tip__desc { margin: 4px 0 12px; font-size: 13px; color: #4f5d48; }
.pwpot-tip:not(#pwpot) .pwpot-tip__title + .pwpot-tip__choices { margin-top: 12px; }

/* Boutons des montants : pastilles arrondies, montant choisi en vert texte blanc. */
.pwpot-tip:not(#pwpot) .pwpot-tip__choices { display: flex; flex-wrap: wrap; gap: 8px; }
.pwpot-tip:not(#pwpot) .pwpot-choice {
	display: inline-flex;
	align-items: center;
	width: auto;
	height: auto;
	min-height: 0;
	margin: 0;
	padding: 6px 16px;
	border: 1px solid rgba(111, 135, 99, .4);
	border-radius: 99px;
	background: #fff;
	box-shadow: none;
	color: #3f4d38;
	font-family: inherit;
	font-size: 14px;
	font-weight: 500;
	line-height: 1.5;
	letter-spacing: 0;
	text-transform: none;
	text-decoration: none;
	white-space: nowrap;
	cursor: pointer;
	transition: background .2s, color .2s, border-color .2s;
}
.pwpot-tip:not(#pwpot) .pwpot-choice:hover { border-color: var(--pwpot-green); background: #fff; color: #3f4d38; }
.pwpot-tip:not(#pwpot) .pwpot-choice:focus-visible { outline: 2px solid var(--pwpot-accent); outline-offset: 2px; }
.pwpot-tip:not(#pwpot) .pwpot-choice.is-active,
.pwpot-tip:not(#pwpot) .pwpot-choice.is-active:hover {
	border-color: var(--pwpot-green);
	background: var(--pwpot-green);
	color: #fff;
}
.pwpot-tip:not(#pwpot) .pwpot-choice--other[aria-expanded="true"]:not(.is-active) { border-color: var(--pwpot-green); }

/* Montant libre. */
.pwpot-tip:not(#pwpot) .pwpot-tip__custom { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin: 12px 0 0; }
.pwpot-tip:not(#pwpot) .pwpot-tip__custom[hidden] { display: none; }
.pwpot-tip:not(#pwpot) .pwpot-tip__field { position: relative; display: inline-flex; align-items: center; }
.pwpot-tip:not(#pwpot) .pwpot-custom-value {
	box-sizing: border-box;
	width: 130px !important;
	height: 38px !important; /* Le site force 25 px sur tous les champs. */
	margin: 0;
	padding: 0 30px 0 14px;
	border: 1px solid rgba(111, 135, 99, .4);
	border-radius: 99px;
	background: #fff;
	box-shadow: none;
	color: #3f4d38;
	font-family: inherit;
	font-size: 14px;
	line-height: 36px;
}
.pwpot-tip:not(#pwpot) .pwpot-custom-value:focus { border-color: var(--pwpot-green); outline: none; }
.pwpot-tip:not(#pwpot) .pwpot-tip__currency { position: absolute; right: 14px; color: #4f5d48; pointer-events: none; }
.pwpot-tip:not(#pwpot) .pwpot-custom-add {
	width: auto;
	height: 38px;
	min-height: 0;
	margin: 0;
	padding: 0 18px;
	border: 1px solid var(--pwpot-green);
	border-radius: 99px;
	background: var(--pwpot-green);
	box-shadow: none;
	color: #fff;
	font-family: inherit;
	font-size: 14px;
	font-weight: 600;
	line-height: 36px;
	letter-spacing: 0;
	text-transform: none;
	cursor: pointer;
}
.pwpot-tip:not(#pwpot) .pwpot-custom-add:hover { border-color: var(--pwpot-green-dark); background: var(--pwpot-green-dark); color: #fff; }

.pwpot-tip:not(#pwpot) .pwpot-tip__error { margin: 10px 0 0; color: #b0603f; font-size: 13px; font-weight: 600; }
.pwpot-tip:not(#pwpot) .pwpot-tip__error[hidden] { display: none; }
.pwpot-tip:not(#pwpot) .pwpot-tip__preview {
	display: inline-block;
	margin: 12px 0 0;
	padding: 3px 10px;
	border-radius: 10px; /* Peut passer sur deux lignes sur mobile. */
	background: #fbeee8;
	color: #b0603f;
	font-size: 12px;
}

/* Panier : dans la colonne des totaux, le bloc prend toute la largeur. */
.cart_totals .pwpot-tip:not(#pwpot) { margin-bottom: 20px; }

@media (max-width: 600px) {
	.pwpot-tip:not(#pwpot) { padding: 16px; gap: 12px; }
	.pwpot-tip:not(#pwpot) .pwpot-tip__icon { width: 32px; height: 32px; }
}
