.elementor-3658 .elementor-element.elementor-element-cb5802e{--display:flex;--margin-top:6em;--margin-bottom:0em;--margin-left:0em;--margin-right:0em;}body.elementor-page-3658:not(.elementor-motion-effects-element-type-background), body.elementor-page-3658 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:var( --e-global-color-text );}:root{--page-title-display:none;}/* Start custom CSS for shortcode, class: .elementor-element-90378df */iframe#rp-payplug-iframe {
    height: fit-content!important;
    min-height: 800px;
}
/* ══════════════════════════════════════════════════════════
   SYSTÈME DE RÉSERVATION - COURS — CSS uniquement
   Accent uniformisé sur #e59824, titres 1.6rem, boutons cohérents
   avec le module "Vente à emporter"
   ══════════════════════════════════════════════════════════ */

/* ── 1. Bouton [res_bouton] (carte produit / Loop Grid) ── */
.res-btn {
	display: inline-block;
	padding: 13px 28px;
	border-radius: 5px;
	font-size: .88rem;
	font-weight: 800;
	letter-spacing: .07em;
	text-transform: uppercase;
	text-decoration: none;
	text-align: center;
	cursor: pointer;
	border: 2px solid #e59824;
	transition: background .2s, color .2s, opacity .2s;
	line-height: 1;
	font-family: inherit;
}
.res-btn--actif {
	background: #e59824;
	color: #1a1a1a !important;
}
.res-btn--actif:hover {
	background: #e59824;
	border-color: #e59824;
	color: #fff !important;
	text-decoration: none;
}
.res-btn--complet {
	background: transparent;
	color: #777 !important;
	border-color: #555;
	cursor: not-allowed;
	opacity: .55;
}

/* ══════════════════════════════════════
   2. PARCOURS RÉSERVATION (#rp-app)
══════════════════════════════════════ */

#rp-app {
	width: 100%;
	max-width: 100%;
	margin: 0;
	padding: 0 0 60px;
	font-family: inherit;
	color: inherit;
	position: relative;
	box-sizing: border-box;
}
#rp-app *,
#rp-app *::before,
#rp-app *::after {
	box-sizing: border-box;
}

/* ── En-tête ── */
.rp-header {
	text-align: center;
	padding: 20px 0;
	border-bottom: 1px solid rgba(255,255,255,.08);
	margin-bottom: 28px;
}
.rp-titre {
	font-family: var(--e-global-typography-235cb30-font-family), Sans-serif;
	font-weight: var(--e-global-typography-235cb30-font-weight);
	text-transform: var(--e-global-typography-235cb30-text-transform);
	line-height: var(--e-global-typography-235cb30-line-height);
	text-shadow: 0px 0px 10px rgba(0, 0, 0, 0.3);
	font-size: 1.6rem;
	margin: 0 0 8px;
	color: #e59824;
}
.rp-prix-unit {
	font-family: var(--e-global-typography-accent-font-family), Sans-serif;
	font-size: var(--e-global-typography-accent-font-size);
	color: #e59824;
	font-weight: var(--e-global-typography-accent-font-weight);
	margin: 0;
}
.rp-prix-unit em { font-style: normal; opacity: .65; font-size: .88rem; }

/* ── Steps ── */
.rp-steps {
	display: flex;
	align-items: center;
	justify-content: center;
	margin-bottom: 28px;
	flex-wrap: wrap;
	gap: 8px;
}
.rp-step { display: flex; align-items: center; gap: 10px; opacity: .3; transition: opacity .3s; }
.rp-step.is-on { opacity: 1; }
.rp-step-n {
	width: 30px; height: 30px;
	border-radius: 50%;
	background: #000000bd;
	color: #aaa;
	font-weight: 800; font-size: .85rem;
	display: flex; align-items: center; justify-content: center;
	flex-shrink: 0;
	transition: background .3s, color .3s;
}
.rp-step.is-on .rp-step-n {
	background: #e59824;
	color: #1a1a1a;
}
.rp-step-l {
	font-family: var(--e-global-typography-accent-font-family), Sans-serif;
	font-size: var(--e-global-typography-accent-font-size);
	font-weight: var(--e-global-typography-accent-font-weight);
	text-transform: var(--e-global-typography-accent-text-transform);
}
.rp-step-bar { flex: 1; max-width: 60px; height: 1px; background: rgba(255,255,255,.1); margin: 0 14px; }

/* ── Carte ── */
.rp-carte { width: 100%; max-width: 100%; box-sizing: border-box; padding: 28px 0; }
@media (max-width: 480px) { .rp-carte { padding: 12px 0; } }

/* ── Labels ── */
.rp-lbl {
	display: block;
	font-family: var(--e-global-typography-text-font-family), Sans-serif;
	font-size: var(--e-global-typography-text-font-size);
	font-weight: var(--e-global-typography-text-font-weight);
	opacity: .6;
	margin-bottom: 6px;
	color: var(--e-global-color-secondary);
}
.rp-ast { color: #e59824; }

/* ── Champs ── */
.rp-input {
	width: 100%;
	box-sizing: border-box;
	background: rgba(255,255,255,.12);
	border: 1px solid rgba(255,255,255,.15);
	border-radius: 4px;
	padding: 10px 14px;
	font-size: var(--e-global-typography-text-font-size);
	font-family: var(--e-global-typography-text-font-family), Sans-serif;
	color: inherit;
	transition: border-color .2s, background .2s;
	outline: none;
}
.rp-input:focus {
	border-color: #e59824;
	background: rgba(255,255,255,.16);
}
.rp-input::placeholder { opacity: .35; }
.rp-input[readonly] {
	opacity: 1 !important;
	-webkit-text-fill-color: currentColor !important;
	-webkit-appearance: none;
	appearance: none;
}
.rp-fg { margin-bottom: 16px; }
.rp-g2 { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; width: 100%; }
.rp-g3 { display: grid; grid-template-columns: 1fr 1fr 1fr; gap: 14px; width: 100%; }
@media (max-width: 640px) {
	.rp-g3 { grid-template-columns: 1fr; }
	.rp-g2 { grid-template-columns: 1fr; }
}

/* ── Date fixe ── */
.rp-date-fixe {
	display: flex; align-items: center; gap: 10px;
	padding: 10px 0;
	font-size: var(--e-global-typography-text-font-size);
	font-weight: 600;
	border-bottom: 1px solid rgba(255,255,255,.2);
}

/* ── Boutons pax (choix du nombre de participants) ── */
#rp-app .rp-pax-wrap {
	display: flex !important;
	flex-wrap: wrap !important;
	gap: 8px !important;
	margin-top: 4px !important;
	width: 100% !important;
}
#rp-app .rp-pax-btn {
	text-transform: capitalize !important;
	padding: 10px 25px !important;
	color: #fff !important;
	background: #000000bd !important;
	border: 1px solid #000000bd !important;
	border-radius: 3px !important;
	font-family: var(--e-global-typography-accent-font-family), Sans-serif !important;
	font-size: var(--e-global-typography-accent-font-size) !important;
	font-weight: var(--e-global-typography-accent-font-weight) !important;
	line-height: var(--e-global-typography-accent-line-height) !important;
	cursor: pointer !important;
	transition: background .2s, border-color .2s, color .2s !important;
	box-shadow: none !important;
	white-space: nowrap !important;
	flex: 1 1 auto !important;
	min-width: 120px !important;
	text-align: center !important;
	letter-spacing: normal !important;
	margin: 0 !important;
	min-height: unset !important;
}
#rp-app .rp-pax-btn:hover:not(:disabled) {
	color: #1a1a1a !important;
	background: #fff !important;
	border-color: #fff !important;
}
#rp-app .rp-pax-btn.is-on {
	color: #1a1a1a !important;
	background: #e59824 !important;
	border-color: #e59824 !important;
}
#rp-app .rp-pax-btn:disabled { opacity: .25 !important; cursor: not-allowed !important; pointer-events: none !important; }
#rp-app .rp-pax-btn--tel { border-style: dashed !important; }

/* ── Message "merci de téléphoner" ── */
.rp-tel-msg {
	display: flex;
	align-items: flex-start;
	gap: 8px;
	background: rgba(229,152,36,.12);
	border-left: 3px solid #e59824;
	color: #e59824;
	font-size: .85rem;
	font-weight: 600;
	line-height: 1.4;
	padding: 10px 14px;
	border-radius: 3px;
	margin: 10px 0 0;
}
.rp-tel-msg::before { content: "⚠"; flex-shrink: 0; }

/* ── Stock ── */
.rp-stock { font-size: .82rem; font-weight: 600; padding: 7px 0; margin-bottom: 10px; }
.rp-stock:empty { display: none !important; }
.rp-stock.ok { color: #2ecc71; }
.rp-stock.ko { color: #e74c3c; }

/* ── Total ── */
.rp-total {
	display: flex; justify-content: space-between; align-items: center;
	padding: 14px 0;
	border-top: 1px solid rgba(255,255,255,.08);
	border-bottom: 1px solid rgba(255,255,255,.08);
	margin: 20px 0 6px;
	width: 100%; box-sizing: border-box;
}
.rp-total-lbl {
	font-family: var(--e-global-typography-text-font-family), Sans-serif;
	font-size: var(--e-global-typography-text-font-size);
	font-weight: var(--e-global-typography-text-font-weight);
	color: var(--e-global-color-secondary);
	text-transform: uppercase; letter-spacing: .08em;
	opacity: .55;
}
.rp-total-val {
	font-family: var(--e-global-typography-235cb30-font-family), Sans-serif;
	font-size: 1.5rem; font-weight: 800;
	color: #e59824;
}

/* ── Récap ── */
.rp-recap {
	border-left: 3px solid #e59824;
	padding: 10px 14px;
	margin-bottom: 24px;
	font-family: var(--e-global-typography-text-font-family), Sans-serif;
	font-size: var(--e-global-typography-text-font-size);
	color: var(--e-global-color-secondary);
	line-height: 1.9;
}
.rp-recap strong { color: #e59824; }

/* ── Titres de section (Participants / Adresse de facturation / Mode de paiement) ── */
.rp-stitle {
	font-family: var(--e-global-typography-235cb30-font-family), Sans-serif;
	font-weight: var(--e-global-typography-235cb30-font-weight);
	text-transform: var(--e-global-typography-235cb30-text-transform);
	line-height: var(--e-global-typography-235cb30-line-height);
	text-shadow: 0px 0px 10px rgba(0, 0, 0, 0.3);
	font-size: 1.6rem;
	color: #e59824;
	padding-bottom: 8px;
	border-bottom: 1px solid rgba(255,255,255,.08);
	margin: 0 0 16px;
	letter-spacing: .05em;
}
.rp-hint {
	font-family: var(--e-global-typography-text-font-family), Sans-serif;
	font-size: var(--e-global-typography-text-font-size);
	color: var(--e-global-color-secondary);
	opacity: .55; margin: -8px 0 16px;
}

/* ── Mode de paiement ── */
.rp-payment-method {
	display: flex;
	flex-direction: column;
	gap: 4px;
	padding: 14px 16px;
	border: 1px solid rgba(255,255,255,.15);
	border-radius: 4px;
	background: rgba(255,255,255,.06);
}
.rp-payment-method-name { font-family: var(--e-global-typography-text-font-family), Sans-serif; font-weight: 700; }
.rp-payment-method-desc { font-family: var(--e-global-typography-text-font-family), Sans-serif; font-size: .85rem; opacity: .6; }

/* ── Paiement Payplug (iframe) ── */
.rp-payplug-wrap { margin-top: 24px; }
.rp-payplug-iframe { width: 100%; min-height: 560px; border: 0; border-radius: 4px; display: block; }

/* ── Bloc participant — numéroté avec cercle doré ── */
.rp-pitem { margin-bottom: 16px; padding-bottom: 16px; border-bottom: 1px solid rgba(255,255,255,.06); }
.rp-pitem:last-child { border-bottom: none; }
.rp-pitem-t {
	display: flex; align-items: center; gap: 10px;
	font-family: var(--e-global-typography-text-font-family), Sans-serif;
	font-size: .75rem; font-weight: 700;
	text-transform: uppercase; letter-spacing: .08em;
	opacity: .45; margin: 0 0 12px;
}
.rp-pitem-t::before {
	content: attr(data-num);
	display: inline-flex; align-items: center; justify-content: center;
	width: 22px; height: 22px;
	border-radius: 50%;
	background: #e59824;
	color: #1a1a1a;
	font-size: .75rem; font-weight: 800;
	flex-shrink: 0;
	opacity: 1;
}

/* ── Erreur ── */
.rp-err {
	color: #e74c3c;
	font-size: .86rem; font-weight: 600;
	padding: 8px 0;
	margin-bottom: 10px;
	border-left: 3px solid #e74c3c;
	padding-left: 10px;
}

/* ── Boutons actions ── */
#rp-app .rp-actions {
	display: flex !important;
	gap: 10px !important;
	margin-top: 24px !important;
	flex-wrap: wrap !important;
	width: 100% !important;
}
/* ANNULER & RETOUR */
#rp-app #rp-back,
#rp-app .rp-actions a {
	flex: 1 !important;
	text-transform: capitalize !important;
	padding: 10px 25px !important;
	color: #fff !important;
	background: #000000bd !important;
	border: 1px solid #000000bd !important;
	border-radius: 3px !important;
	font-family: var(--e-global-typography-accent-font-family), Sans-serif !important;
	font-size: var(--e-global-typography-accent-font-size) !important;
	font-weight: var(--e-global-typography-accent-font-weight) !important;
	line-height: var(--e-global-typography-accent-line-height) !important;
	cursor: pointer !important;
	transition: background .2s, border-color .2s, color .2s !important;
	text-align: center !important;
	text-decoration: none !important;
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	box-shadow: none !important;
	letter-spacing: normal !important;
	min-height: unset !important;
	margin: 0 !important;
}
#rp-app #rp-back:hover,
#rp-app .rp-actions a:hover {
	color: #1a1a1a !important;
	background: #fff !important;
	border-color: #fff !important;
	text-decoration: none !important;
}
/* POURSUIVRE & RÉSERVER — doré fixe, texte qui passe en blanc au survol */
#rp-app #rp-next,
#rp-app #rp-submit {
	flex: 1 !important;
	padding: 10px 25px !important;
	border: 1px solid #e59824 !important;
	border-radius: 3px !important;
	background: #e59824 !important;
	color: #1a1a1a !important;
	font-family: var(--e-global-typography-accent-font-family), Sans-serif !important;
	font-size: var(--e-global-typography-accent-font-size) !important;
	font-weight: var(--e-global-typography-accent-font-weight) !important;
	text-transform: var(--e-global-typography-accent-text-transform) !important;
	line-height: var(--e-global-typography-accent-line-height) !important;
	cursor: pointer !important;
	transition: background .2s, border-color .2s, color .2s !important;
	text-align: center !important;
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	gap: 6px !important;
	box-shadow: none !important;
	letter-spacing: normal !important;
	min-height: unset !important;
	margin: 0 !important;
}
#rp-app #rp-next:hover,
#rp-app #rp-submit:hover {
	background: #e59824 !important;
	border-color: #e59824 !important;
	color: #fff !important;
}
#rp-app #rp-next:disabled,
#rp-app #rp-submit:disabled { opacity: .4 !important; cursor: not-allowed !important; }

/* ── Loader ── */
.rp-loader { display: flex; align-items: center; gap: 9px; font-size: .82rem; opacity: .6; padding: 5px 0 10px; }
.rp-spin {
	display: inline-block; width: 14px; height: 14px;
	border: 2px solid rgba(255,255,255,.15);
	border-top-color: #e59824;
	border-radius: 50%;
	animation: rp-turn .7s linear infinite; flex-shrink: 0;
}
.rp-spin-lg { width: 44px; height: 44px; border-width: 3px; }
@keyframes rp-turn { to { transform: rotate(360deg); } }

/* ── Overlay ── */
#rp-overlay { position: fixed; inset: 0; background: rgba(0,0,0,.82); z-index: 99999; align-items: center; justify-content: center; }
#rp-overlay[style*="flex"] { display: flex !important; }
.rp-ov-inner { display: flex; flex-direction: column; align-items: center; gap: 18px; color: #fff; font-size: .95rem; font-weight: 600; }
.rp-ov-inner p { margin: 0; }

/* ── Flatpickr ── */
.flatpickr-calendar { background: #111 !important; border: 1px solid rgba(255,255,255,.1) !important; box-shadow: 0 8px 24px rgba(0,0,0,.6) !important; border-radius: 3px !important; }
.flatpickr-day { color: #ddd !important; border-radius: 3px !important; }
.flatpickr-day.selected, .flatpickr-day.selected:hover { background: #e59824 !important; border-color: #e59824 !important; color: #1a1a1a !important; }
.flatpickr-day:hover:not(.flatpickr-disabled) { background: rgba(229,152,36,.15) !important; }
.flatpickr-day.flatpickr-disabled { opacity: .15 !important; }
.flatpickr-months .flatpickr-month, .flatpickr-weekdays, span.flatpickr-weekday { background: #111 !important; color: #ddd !important; }
.flatpickr-current-month .flatpickr-monthDropdown-months { background: #111 !important; }
.flatpickr-current-month input.cur-year { color: #ddd !important; }
.flatpickr-prev-month svg, .flatpickr-next-month svg { fill: #ddd !important; }

/* ══════════════════════════════════════
   3. PAGE DE PAIEMENT ÉPURÉE (iframe order-pay)
══════════════════════════════════════ */
html, body { background: #0b0b0b !important; color: #f2f2f2 !important; margin: 0 !important; padding: 16px !important; font-family: inherit; }
#wpadminbar { display: none !important; }
.woocommerce table.shop_table,
.woocommerce-checkout-review-order-table,
.woocommerce-table,
.woocommerce-order-pay table { background: transparent !important; color: #f2f2f2 !important; border-color: rgba(255,255,255,.2) !important; }
.woocommerce table.shop_table th,
.woocommerce table.shop_table td { border-color: rgba(255,255,255,.15) !important; }
.woocommerce ul.payment_methods,
.wc_payment_method { background: transparent !important; color: #f2f2f2 !important; border-color: rgba(255,255,255,.2) !important; }
.woocommerce a { color: #e59824; }
.woocommerce #payment #place_order,
.woocommerce-order-pay #place_order { background: #e59824 !important; color: #0b0b0b !important; border: 0 !important; }
.rp-date-fixe {
    font-family: var(--e-global-typography-389fc08-font-family), Sans-serif!important;
    font-size: var(--e-global-typography-389fc08-font-size)!important;
    font-weight: var(--e-global-typography-389fc08-font-weight)!important;
    line-height: var(--e-global-typography-389fc08-line-height)!important;
}

label.rp-lbl {
    font-family: var(--e-global-typography-389fc08-font-family), Sans-serif!important;
    font-size: var(--e-global-typography-389fc08-font-size)!important;
    font-weight: var(--e-global-typography-389fc08-font-weight)!important;
    line-height: var(--e-global-typography-389fc08-line-height)!important;
}

div#rp-stock-msg {
    font-family: var(--e-global-typography-text-font-family), Sans-serif!important;
    font-size: var(--e-global-typography-text-font-size)!important;
    font-weight: var(--e-global-typography-text-font-weight)!important;
    line-height: var(--e-global-typography-text-line-height)!important;
    letter-spacing: var(--e-global-typography-text-letter-spacing)!important;
}

button.rp-pax-btn {
    font-family: var(--e-global-typography-text-font-family), Sans-serif!important;
    font-size: var(--e-global-typography-text-font-size)!important;
    font-weight: var(--e-global-typography-text-font-weight)!important;
    line-height: var(--e-global-typography-text-line-height)!important;
    letter-spacing: var(--e-global-typography-text-letter-spacing)!important;
}
div#rp-recap {
    font-family: var(--e-global-typography-text-font-family), Sans-serif;
    font-size: var(--e-global-typography-text-font-size);
    font-weight: var(--e-global-typography-text-font-weight);
    letter-spacing: var(--e-global-typography-text-letter-spacing);
}/* End custom CSS */