/* ============================================================
 *  Escape Game Apéro — Formulaire visiteur
 * ========================================================== */

#pg-form-wrapper {
	max-width: 720px;
	margin: 0 auto;
	background: linear-gradient(160deg, #1c1530 0%, #100c20 100%);
	border: 1px solid rgba(150, 230, 220, 0.2);
	border-radius: 16px;
	padding: 30px;
	color: #fff;
	box-sizing: border-box;
}

#pg-escape-form label {
	display: block;
	font-size: 14px;
	font-weight: 600;
	margin-bottom: 6px;
	color: #cfd6e4;
}

#pg-escape-form .pg-block-label {
	font-size: 15px;
	margin-bottom: 12px;
}

.pg-req { color: #a07cff; }

.pg-form-row { margin-bottom: 22px; }

.pg-form-row-half { display: flex; gap: 16px; }
.pg-form-row-half > div { flex: 1; }

/* Champ honeypot masqué */
.pg-hp {
	position: absolute !important;
	left: -9999px !important;
	width: 1px !important;
	height: 1px !important;
	overflow: hidden !important;
}

#pg-escape-form input[type="text"],
#pg-escape-form input[type="email"],
#pg-escape-form input[type="tel"],
#pg-escape-form textarea {
	width: 100%;
	padding: 10px 12px;
	border-radius: 8px;
	border: 1px solid rgba(255, 255, 255, 0.15);
	background: rgba(255, 255, 255, 0.05);
	color: #fff;
	font-size: 15px;
	box-sizing: border-box;
}

#pg-escape-form input:focus,
#pg-escape-form textarea:focus {
	outline: none;
	border-color: #a07cff;
}

/* -------------------- Cartes de formule -------------------- */
.pg-formules {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
	gap: 14px;
}

.pg-formule-card { position: relative; margin: 0; cursor: pointer; }
.pg-formule-card input { position: absolute; opacity: 0; pointer-events: none; }

.pg-formule-inner {
	display: block;
	padding: 18px;
	border-radius: 12px;
	border: 2px solid rgba(255, 255, 255, 0.15);
	background: rgba(255, 255, 255, 0.04);
	transition: border-color .2s ease, background .2s ease, transform .1s ease;
	height: 100%;
	box-sizing: border-box;
}

.pg-formule-card:hover .pg-formule-inner { border-color: rgba(160, 124, 255, 0.6); }

.pg-formule-card input:checked + .pg-formule-inner {
	border-color: #a07cff;
	background: rgba(160, 124, 255, 0.14);
}

.pg-formule-name { display: block; font-size: 18px; font-weight: 700; color: #fff; }
.pg-formule-price { display: block; font-size: 15px; font-weight: 700; color: #a07cff; margin-top: 2px; }
.pg-formule-desc { display: block; font-size: 13px; color: #b7bed0; margin-top: 8px; line-height: 1.4; }

/* -------------------- Cartes de bouteille -------------------- */
.pg-bouteilles {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
	gap: 14px;
}

.pg-bouteille-card { position: relative; margin: 0; cursor: pointer; }
.pg-bouteille-card input { position: absolute; opacity: 0; pointer-events: none; }

.pg-bouteille-inner {
	display: flex;
	flex-direction: column;
	height: 100%;
	border-radius: 12px;
	border: 2px solid rgba(255, 255, 255, 0.12);
	background: rgba(255, 255, 255, 0.04);
	overflow: hidden;
	transition: border-color .2s ease, transform .1s ease;
	box-sizing: border-box;
}

.pg-bouteille-card:hover .pg-bouteille-inner { border-color: rgba(160, 124, 255, 0.55); transform: translateY(-2px); }

.pg-bouteille-card input:checked + .pg-bouteille-inner {
	border-color: #a07cff;
	box-shadow: 0 0 0 3px rgba(160, 124, 255, 0.25);
}

.pg-bouteille-img {
	display: flex;
	align-items: center;
	justify-content: center;
	background: rgba(255, 255, 255, 0.92);
	padding: 12px;
	height: 180px;
}
.pg-bouteille-img img { max-height: 100%; max-width: 100%; object-fit: contain; }

.pg-bouteille-body { padding: 12px 14px 16px; }
.pg-bouteille-cat {
	display: block;
	font-size: 11px;
	text-transform: uppercase;
	letter-spacing: .04em;
	color: #a07cff;
	font-weight: 700;
	margin-bottom: 4px;
}
.pg-bouteille-name { display: block; font-size: 15px; font-weight: 700; color: #fff; line-height: 1.25; }
.pg-bouteille-desc { display: block; font-size: 12.5px; color: #aeb6c8; margin-top: 8px; line-height: 1.45; }

/* -------------------- Radios simples -------------------- */
.pg-radio-group { display: flex; flex-direction: column; gap: 8px; }
.pg-radio { display: flex; align-items: center; gap: 8px; font-weight: 400 !important; cursor: pointer; }
.pg-radio input { width: auto; }

/* -------------------- Bouton -------------------- */
#pg-form-submit-btn {
	width: 100%;
	background: #a07cff;
	color: #fff;
	border: none;
	padding: 15px;
	border-radius: 999px;
	font-size: 16px;
	font-weight: 700;
	cursor: pointer;
	transition: background .2s ease;
}
#pg-form-submit-btn:hover { background: #8c61ff; }

/* -------------------- Messages -------------------- */
.pg-form-success {
	background: rgba(70, 200, 150, 0.15);
	border: 1px solid rgba(70, 200, 150, 0.4);
	color: #6ee7b7;
	padding: 18px;
	border-radius: 10px;
	text-align: center;
	font-size: 16px;
}

.pg-form-error {
	background: rgba(255, 59, 48, 0.12);
	border: 1px solid rgba(255, 59, 48, 0.4);
	color: #ff8c85;
	padding: 14px;
	border-radius: 10px;
	margin-bottom: 18px;
	text-align: center;
}

@media (max-width: 480px) {
	#pg-form-wrapper { padding: 20px; }
	.pg-form-row-half { flex-direction: column; gap: 22px; }
	.pg-bouteilles { grid-template-columns: 1fr 1fr; }
	.pg-bouteille-img { height: 140px; }
}
