/* =========================================
   TABLYA RESERVATIONS — FRONT-END
========================================= */

.tablya-reservation-app {
	--tablya-green: #103C2F;
	--tablya-orange: #C8A35F;
	--tablya-beige: #E8DEC8;
	--tablya-bg: #FAF7EF;
	--tablya-black: #111111;
	--tablya-muted: #706B64;
	--tablya-border: rgba(16,60,47, .18);

	font-family: "DM Sans", Arial, Helvetica, sans-serif;
	width: 100%;
	max-width: 780px;
	margin: 0 auto;
	padding: 48px 44px;
	box-sizing: border-box;
	background: var(--tablya-bg);
	color: var(--tablya-black);
}

.tablya-res-header {
	text-align: center;
	margin-bottom: 32px;
}

.tablya-res-logo {
	display: block;
	width: auto;
	max-width: 82px;
	height: auto;
	margin: 0 auto 18px;
}

.tablya-res-header h2 {
	margin: 0;
	font-family: "DM Sans", Arial, Helvetica, sans-serif;
	font-size: clamp(30px, 4vw, 38px);
	font-weight: 400;
	line-height: 1.08;
}

.tablya-res-header p {
	max-width: 500px;
	margin: 14px auto 0;
	color: var(--tablya-muted);
	font-size: 14px;
	line-height: 1.6;
}

.tablya-res-progress {
	position: relative;
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	margin: 0 0 42px;
}

.tablya-res-progress::before {
	content: "";
	position: absolute;
	left: 10%;
	right: 10%;
	top: 17px;
	height: 1px;
	background: var(--tablya-border);
}

.tablya-res-progress-item {
	position: relative;
	z-index: 1;
	text-align: center;
}

.tablya-res-progress-item span {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 34px;
	height: 34px;
	margin: 0 auto 7px;
	border: 1px solid var(--tablya-border);
	border-radius: 50%;
	background: var(--tablya-bg);
	color: var(--tablya-green);
	font-size: 12px;
	font-weight: 700;
}

.tablya-res-progress-item small {
	color: #79736C;
	font-size: 10px;
	text-transform: uppercase;
	letter-spacing: .7px;
}

.tablya-res-progress-item.is-active span,
.tablya-res-progress-item.is-done span {
	background: var(--tablya-orange);
	border-color: var(--tablya-orange);
	color: #fff;
}

.tablya-res-step {
	display: none;
}

.tablya-res-step.is-active {
	display: block;
}

.tablya-res-step-heading {
	margin-bottom: 28px;
}

.tablya-res-step-heading > span {
	display: block;
	margin-bottom: 7px;
	color: var(--tablya-orange);
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 1.7px;
	text-transform: uppercase;
}

.tablya-res-step-heading h3 {
	margin: 0;
	font-family: "DM Sans", Arial, Helvetica, sans-serif;
	font-size: 25px;
	font-weight: 400;
	line-height: 1.15;
}

.tablya-res-grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 18px;
}

.tablya-res-field {
	width: 100%;
	margin-bottom: 20px;
}

.tablya-res-field label {
	display: block;
	margin-bottom: 7px;
	color: var(--tablya-green);
	font-size: 13px;
	font-weight: 700;
}

.tablya-res-field input,
.tablya-res-field select,
.tablya-res-field textarea {
	display: block;
	width: 100%;
	max-width: none;
	min-height: 52px;
	padding: 12px 14px;
	box-sizing: border-box;
	border: 1px solid var(--tablya-border);
	border-radius: 2px;
	background: transparent;
	color: var(--tablya-black);
	font: inherit;
	font-size: 16px;
	outline: none;
	box-shadow: none;
}

.tablya-res-field textarea {
	min-height: 112px;
	resize: vertical;
}

.tablya-res-field input:focus,
.tablya-res-field select:focus,
.tablya-res-field textarea:focus {
	border-color: var(--tablya-orange);
	box-shadow: 0 0 0 2px rgba(200,163,95, .08);
}

.tablya-res-group-notice {
	margin: 5px 0 22px;
	padding: 16px 18px;
	border-left: 3px solid var(--tablya-orange);
	background: rgba(200,163,95, .08);
	color: var(--tablya-green);
	font-size: 13px;
	line-height: 1.5;
}

.tablya-res-group-notice strong {
	display: block;
	margin-bottom: 3px;
	color: var(--tablya-orange);
}

.tablya-res-actions {
	display: flex;
	justify-content: flex-end;
	gap: 12px;
	margin-top: 26px;
}

.tablya-res-actions--split {
	justify-content: space-between;
}

.tablya-res-btn {
	min-height: 50px;
	padding: 12px 24px;
	border: 1px solid var(--tablya-green);
	border-radius: 2px;
	background: var(--tablya-green);
	color: #fff;
	cursor: pointer;
	font-size: 13px;
	font-weight: 700;
	letter-spacing: .3px;
}

.tablya-res-btn:hover {
	background: var(--tablya-orange);
	border-color: var(--tablya-orange);
	color: #fff;
}

.tablya-res-btn--ghost {
	background: transparent;
	color: var(--tablya-green);
}

.tablya-res-btn--ghost:hover {
	background: rgba(16,60,47, .05);
	border-color: var(--tablya-green);
	color: var(--tablya-green);
}

.tablya-res-summary {
	margin: 6px 0 24px;
	border-top: 1px solid var(--tablya-border);
	border-bottom: 1px solid var(--tablya-border);
}

.tablya-res-summary > div {
	display: flex;
	justify-content: space-between;
	gap: 20px;
	padding: 12px 0;
	border-bottom: 1px solid rgba(16,60,47, .09);
	font-size: 14px;
}

.tablya-res-summary > div:last-child {
	border-bottom: 0;
}

.tablya-res-summary span {
	color: var(--tablya-muted);
}

.tablya-res-summary strong {
	color: var(--tablya-green);
	text-align: right;
}

.tablya-res-error {
	display: none;
	margin: 15px 0;
	padding: 11px 13px;
	border-left: 3px solid var(--tablya-orange);
	background: rgba(200,163,95, .08);
	color: #653A2A;
	font-size: 13px;
}

.tablya-res-error.is-visible {
	display: block;
}

.tablya-res-flash {
	margin-bottom: 24px;
	padding: 16px 18px;
	border-left: 3px solid var(--tablya-orange);
	background: rgba(200,163,95, .08);
	color: var(--tablya-green);
	font-size: 14px;
	line-height: 1.5;
}

.tablya-res-noscript {
	padding: 12px;
	background: #fff4e8;
	color: #7a482f;
}


/* V1.9.3 — Coordonnées */
.tablya-res-contact-grid {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
	gap: 0 18px;
}

.tablya-res-field--contact-full {
	grid-column: 1 / -1;
}

/* Message facultatif : disclosure texte, sans apparence de bouton */
.tablya-res-message-details {
	margin: 2px 0 8px;
	padding: 0;
	border: 0;
	background: transparent;
}

.tablya-res-message-details > summary {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 2px 0;
	border: 0;
	background: transparent;
	color: var(--tablya-green);
	font-family: "DM Sans", Arial, Helvetica, sans-serif;
	font-size: 14px;
	font-weight: 500;
	line-height: 1.5;
	cursor: pointer;
	list-style: none;
}

.tablya-res-message-details > summary::-webkit-details-marker {
	display: none;
}

.tablya-res-message-details > summary::before {
	content: "+";
	color: var(--tablya-orange);
	font-size: 19px;
	font-weight: 400;
	line-height: 1;
}

.tablya-res-message-details[open] > summary::before {
	content: "−";
}

.tablya-res-message-details > summary small {
	color: var(--tablya-muted);
	font-size: 12px;
	font-weight: 400;
}

.tablya-res-message-details > summary:hover,
.tablya-res-message-details > summary:focus-visible {
	color: var(--tablya-orange);
	outline: none;
}

.tablya-res-message-panel {
	padding-top: 14px;
}

.tablya-res-message-panel textarea {
	display: block;
	width: 100%;
	min-height: 105px;
	padding: 12px 14px;
	box-sizing: border-box;
	border: 1px solid var(--tablya-border);
	border-radius: 2px;
	background: transparent;
	color: var(--tablya-black);
	font-family: "DM Sans", Arial, Helvetica, sans-serif;
	font-size: 15px;
	line-height: 1.5;
	resize: vertical;
	outline: none;
	box-shadow: none;
}

.tablya-res-message-panel textarea:focus {
	border-color: var(--tablya-orange);
	box-shadow: 0 0 0 2px rgba(200,163,95, .08);
}

@media (max-width: 767px) {
	.tablya-res-contact-grid {
		grid-template-columns: 1fr;
		gap: 0;
	}

	.tablya-res-field--contact-full {
		grid-column: auto;
	}
}


/* Mobile */
@media (max-width: 767px) {

	.tablya-reservation-app {
		max-width: 100%;
		margin: 0;
		padding: 24px 16px;
	}

	.tablya-res-logo {
		max-width: 56px;
		margin-bottom: 14px;
	}

	.tablya-res-header {
		margin-bottom: 24px;
	}

	.tablya-res-header h2 {
		font-size: 25px;
	}

	.tablya-res-header p {
		font-size: 12px;
		line-height: 1.5;
	}

	.tablya-res-progress {
		margin-bottom: 26px;
	}

	.tablya-res-progress-item span {
		width: 28px;
		height: 28px;
		font-size: 11px;
	}

	.tablya-res-progress::before {
		top: 14px;
	}

	.tablya-res-progress-item small {
		display: none;
	}

	.tablya-res-step-heading {
		margin-bottom: 20px;
	}

	.tablya-res-step-heading > span {
		font-size: 9px;
	}

	.tablya-res-step-heading h3 {
		font-size: 20px;
	}

	.tablya-res-grid {
		grid-template-columns: 1fr;
		gap: 0;
	}

	.tablya-res-field {
		margin-bottom: 15px;
	}

	.tablya-res-field label {
		font-size: 12px;
	}

	.tablya-res-field input,
	.tablya-res-field select,
	.tablya-res-field textarea {
		min-height: 48px;
		padding: 10px 12px;
		font-size: 16px;
	}

	.tablya-res-actions,
	.tablya-res-actions--split {
		display: grid;
		grid-template-columns: 1fr;
		gap: 9px;
		width: 100%;
		margin-top: 22px;
	}

	.tablya-res-btn {
		width: 100%;
		min-height: 48px;
	}

	.tablya-res-summary > div {
		flex-direction: column;
		gap: 3px;
	}

	.tablya-res-summary strong {
		text-align: left;
	}
}


.tablya-res-time-note {
	display: block;
	margin-top: 7px;
	color: var(--tablya-muted);
	font-size: 11px;
	line-height: 1.4;
}

.tablya-res-field select:disabled {
	opacity: .65;
	cursor: not-allowed;
}


/* =========================================
   V1.6.1 — CALENDRIER & HORAIRES PREMIUM
========================================= */

.tablya-res-grid--booking {
	align-items: start;
}

.tablya-res-field--date,
.tablya-res-field--time {
	margin-bottom: 8px;
}

.tablya-res-date-wrap {
	position: relative;
}

.tablya-res-date-wrap > input,
.tablya-res-date-wrap .tablya-res-date-display {
	min-height: 58px;
	padding: 14px 48px 14px 16px;
	border: 1px solid #ddd5c9;
	border-radius: 10px;
	background: #fffdfa;
	color: var(--tablya-black);
	cursor: pointer;
	font-size: 16px;
	font-weight: 500;
	transition:
		border-color .2s ease,
		box-shadow .2s ease,
		background .2s ease;
}

.tablya-res-date-wrap > input:hover,
.tablya-res-date-wrap .tablya-res-date-display:hover {
	border-color: rgba(200,163,95, .55);
	background: #fff;
}

.tablya-res-date-wrap > input:focus,
.tablya-res-date-wrap .tablya-res-date-display:focus {
	border-color: var(--tablya-orange);
	background: #fff;
	box-shadow: 0 0 0 4px rgba(200,163,95, .11);
}

.tablya-res-date-icon {
	position: absolute;
	z-index: 3;
	top: 50%;
	right: 17px;
	width: 18px;
	height: 18px;
	pointer-events: none;
	transform: translateY(-50%);
}

.tablya-res-date-icon::before {
	content: "";
	position: absolute;
	inset: 2px 1px 1px;
	border: 1.6px solid var(--tablya-green);
	border-radius: 3px;
}

.tablya-res-date-icon::after {
	content: "";
	position: absolute;
	left: 4px;
	right: 4px;
	top: 6px;
	height: 1.5px;
	background: var(--tablya-green);
	box-shadow:
		3px -5px 0 -0.1px var(--tablya-green),
		-3px -5px 0 -0.1px var(--tablya-green);
}

/* Le select reste le champ soumis au serveur mais n'est plus affiché. */
.tablya-res-time-select {
	position: absolute !important;
	width: 1px !important;
	height: 1px !important;
	min-height: 0 !important;
	margin: -1px !important;
	padding: 0 !important;
	overflow: hidden !important;
	clip: rect(0, 0, 0, 0) !important;
	white-space: nowrap !important;
	border: 0 !important;
	opacity: 0 !important;
	pointer-events: none !important;
}

.tablya-res-time-picker {
	min-height: 58px;
	padding: 14px;
	border: 1px solid #ddd5c9;
	border-radius: 10px;
	background: #fffdfa;
}

.tablya-res-time-placeholder {
	display: flex;
	align-items: center;
	min-height: 28px;
	color: #8a837a;
	font-size: 13px;
}

.tablya-res-time-placeholder--closed {
	color: #9a5c44;
}

.tablya-res-time-period + .tablya-res-time-period {
	margin-top: 14px;
	padding-top: 14px;
	border-top: 1px solid rgba(16,60,47, .09);
}

.tablya-res-time-period-title {
	margin-bottom: 9px;
	color: #7b746b;
	font-size: 10px;
	font-weight: 800;
	letter-spacing: 1.1px;
	text-transform: uppercase;
}

.tablya-res-time-options {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 8px;
}

.tablya-res-time-chip {
	min-height: 39px;
	padding: 8px 10px;
	border: 1px solid rgba(16,60,47, .18);
	border-radius: 8px;
	background: #fff;
	color: var(--tablya-green);
	cursor: pointer;
	font: inherit;
	font-size: 13px;
	font-weight: 700;
	line-height: 1;
	transition:
		transform .15s ease,
		background .15s ease,
		border-color .15s ease,
		color .15s ease,
		box-shadow .15s ease;
}

.tablya-res-time-chip:hover {
	transform: translateY(-1px);
	border-color: rgba(200,163,95, .55);
	background: rgba(200,163,95, .06);
	color: var(--tablya-orange);
}

.tablya-res-time-chip:focus-visible {
	outline: none;
	border-color: var(--tablya-orange);
	box-shadow: 0 0 0 3px rgba(200,163,95, .12);
}

.tablya-res-time-chip.is-selected {
	border-color: var(--tablya-green);
	background: var(--tablya-green);
	color: #fff;
	box-shadow: 0 5px 14px rgba(16,60,47, .14);
}

/* ---------- Flatpickr Tablya ---------- */

.flatpickr-calendar {
	width: 326px;
	padding: 12px;
	border: 1px solid #e7e0d7 !important;
	border-radius: 16px !important;
	background: #fffdf9 !important;
	box-shadow: 0 22px 55px rgba(38, 31, 25, .16) !important;
	font-family: inherit !important;
}

.flatpickr-calendar.arrowTop::before,
.flatpickr-calendar.arrowTop::after,
.flatpickr-calendar.arrowBottom::before,
.flatpickr-calendar.arrowBottom::after {
	display: none !important;
}

.flatpickr-months {
	align-items: center;
	margin-bottom: 8px;
}

.flatpickr-months .flatpickr-month {
	height: 44px;
	color: var(--tablya-green);
	fill: var(--tablya-green);
}

.flatpickr-current-month {
	top: 7px;
	height: 34px;
	padding-top: 0;
	color: var(--tablya-green);
	font-size: 15px;
	font-weight: 700;
}

.flatpickr-current-month .flatpickr-monthDropdown-months {
	padding: 0 4px;
	background: transparent;
	color: var(--tablya-green);
	font-weight: 700;
}

.flatpickr-current-month input.cur-year {
	color: var(--tablya-green);
	font-weight: 700;
}

.flatpickr-months .flatpickr-prev-month,
.flatpickr-months .flatpickr-next-month {
	top: 7px;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 34px;
	height: 34px;
	padding: 0;
	border: 1px solid #ece5db;
	border-radius: 9px;
	background: #fff;
	color: var(--tablya-green);
	font-size: 24px;
	line-height: 1;
}

.flatpickr-months .flatpickr-prev-month:hover,
.flatpickr-months .flatpickr-next-month:hover {
	border-color: rgba(200,163,95, .45);
	background: rgba(200,163,95, .06);
	color: var(--tablya-orange);
}

.flatpickr-weekdays {
	margin-bottom: 5px;
}

span.flatpickr-weekday {
	color: #8a8278;
	font-size: 10px;
	font-weight: 800;
	letter-spacing: .7px;
	text-transform: uppercase;
}

.flatpickr-days {
	width: 302px;
}

.dayContainer {
	width: 302px;
	min-width: 302px;
	max-width: 302px;
}

.flatpickr-day {
	max-width: 43px;
	height: 43px;
	border-radius: 10px;
	color: #2c2a27;
	font-size: 13px;
	font-weight: 600;
	line-height: 43px;
}

.flatpickr-day:hover,
.flatpickr-day:focus {
	border-color: transparent;
	background: rgba(200,163,95, .09);
	color: var(--tablya-orange);
}

.flatpickr-day.today {
	border-color: rgba(16,60,47, .45);
	color: var(--tablya-green);
}

.flatpickr-day.today:hover {
	border-color: var(--tablya-green);
	background: rgba(16,60,47, .06);
	color: var(--tablya-green);
}

.flatpickr-day.selected,
.flatpickr-day.selected:hover,
.flatpickr-day.selected:focus {
	border-color: var(--tablya-orange);
	background: var(--tablya-orange);
	color: #fff;
	box-shadow: 0 4px 10px rgba(200,163,95, .22);
}

.flatpickr-day.flatpickr-disabled,
.flatpickr-day.flatpickr-disabled:hover,
.flatpickr-day.prevMonthDay,
.flatpickr-day.nextMonthDay {
	background: transparent;
	color: #c7c0b7;
	cursor: default;
}

@media (max-width: 767px) {
	.tablya-res-time-options {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}

	.tablya-res-time-picker {
		padding: 12px;
	}

	.flatpickr-calendar {
		width: min(326px, calc(100vw - 24px));
	}

	.flatpickr-days,
	.dayContainer {
		width: 302px;
		min-width: 302px;
		max-width: 302px;
	}
}

@media (max-width: 370px) {
	.tablya-res-time-options {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

/* =========================================
   V1.7 — CHECKOUT PAIEMENT
========================================= */
.tablya-payment-checkout{max-width:880px;margin:34px auto;padding:0 18px;font-family:"DM Sans",Arial,Helvetica,sans-serif;color:#1d1d1d}
.tablya-payment-card{margin-bottom:18px;padding:28px;background:#fffdf9;border:1px solid #e4ddd3;border-radius:14px;box-shadow:0 5px 24px rgba(44,37,31,.05)}
.tablya-payment-eyebrow{margin:0 0 9px;color:#c8a35f;font-size:11px;font-weight:800;letter-spacing:.12em;text-transform:uppercase}
.tablya-payment-card h2{margin:0 0 10px;color:#111;font-family:"DM Sans",Arial,Helvetica,sans-serif;font-size:30px;font-weight:500;line-height:1.18}
.tablya-payment-card h3{margin:0 0 18px;color:#103c2f;font-size:18px}
.tablya-payment-intro,.tablya-payment-note,.tablya-payment-empty{color:#6f675f;font-size:13px;line-height:1.65}
.tablya-payment-summary-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:24px 0 18px}
.tablya-payment-summary-grid>div{padding:13px 14px;border:1px solid #ece5dc;border-radius:10px;background:#fff}
.tablya-payment-summary-grid span{display:block;margin-bottom:5px;color:#8b8279;font-size:10px;font-weight:800;letter-spacing:.06em;text-transform:uppercase}
.tablya-payment-summary-grid strong{display:block;color:#103c2f;font-size:14px}
.tablya-payment-amount{display:flex;align-items:end;justify-content:space-between;gap:18px;padding:18px 0 2px;border-top:1px solid #eee5dc}
.tablya-payment-amount span{color:#6e665f;font-size:13px;font-weight:600}
.tablya-payment-amount strong{color:#c8a35f;font-family:"DM Sans",Arial,Helvetica,sans-serif;font-size:27px;font-weight:600;line-height:1}
.tablya-payment-methods{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.tablya-payment-method{padding:18px;border:1px solid #e4ddd3;border-radius:11px;background:#fff;transition:.18s ease}
.tablya-payment-method:hover{border-color:rgba(200,163,95,.45);box-shadow:0 4px 14px rgba(44,37,31,.05)}
.tablya-payment-method.is-selected{border-color:#103c2f;background:#f7faf8}
.tablya-payment-method-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px}
.tablya-payment-method-head strong{color:#103c2f;font-size:14px}
.tablya-payment-method-head span{padding:4px 7px;border-radius:999px;background:#e9f4ed;color:#277047;font-size:10px;font-weight:800}
.tablya-payment-method p{min-height:38px;margin:0 0 14px;color:#726a62;font-size:12px;line-height:1.55}
.tablya-payment-button{display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:9px 15px;border:1px solid #103c2f;border-radius:8px;background:#103c2f;color:#fff!important;text-decoration:none!important;font-size:12px;font-weight:700;cursor:pointer;box-shadow:none}
.tablya-payment-button:hover{background:#263a32;color:#fff!important}
.tablya-payment-button--light{background:#fff;color:#103c2f!important}
.tablya-payment-button--light:hover{background:#f4f7f5;color:#103c2f!important}
.tablya-payment-note{margin:18px 0 0;padding-top:16px;border-top:1px solid #eee7de}
.tablya-payment-success,.tablya-payment-message{max-width:720px;margin:36px auto;padding:24px;border:1px solid #d8e8de;border-radius:12px;background:#f4faf6;color:#285d3e}
.tablya-payment-success strong{font-family:"DM Sans",Arial,Helvetica,sans-serif;font-size:26px;font-weight:500}
.tablya-payment-message--error{border-color:#efd1ca;background:#fff6f3;color:#944a34}
@media(max-width:760px){.tablya-payment-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.tablya-payment-methods{grid-template-columns:1fr}.tablya-payment-card{padding:22px}.tablya-payment-card h2{font-size:27px}.tablya-payment-amount strong{font-size:24px}}


/* v1.12.0 — DM Sans + surface douce */
.tablya-reservation-surface{--tablya-ui-bg:#f3f4f3;--tablya-ui-line:#dfe2e0;width:100%;padding:28px;box-sizing:border-box;background:var(--tablya-ui-bg);border-radius:24px}
.tablya-reservation-app{--tablya-bg:#fff;--tablya-black:#25272a;--tablya-muted:#747982;--tablya-border:#dfe2e0;max-width:780px;padding:38px 40px;background:#fff;border:1px solid var(--tablya-border);border-radius:20px;box-shadow:0 5px 18px rgba(29,37,34,.035);font-family:"DM Sans",Arial,Helvetica,sans-serif}
.tablya-res-header h2,.tablya-res-step-heading h3,.tablya-payment-card h2,.tablya-payment-success strong{font-family:"DM Sans",Arial,Helvetica,sans-serif;font-weight:600;letter-spacing:-.02em}
.tablya-res-header h2{font-size:32px}.tablya-res-step-heading h3{font-size:23px}.tablya-res-progress-item span{background:#fff}
.tablya-res-field input,.tablya-res-field select,.tablya-res-field textarea{border:1px solid #dfe2e0;border-radius:12px;background:#fff;min-height:50px}
.tablya-res-field input:focus,.tablya-res-field select:focus,.tablya-res-field textarea:focus{border-color:#9aaaa2;box-shadow:0 0 0 3px rgba(16,60,47,.07)}
.tablya-res-btn{border-radius:11px!important;min-height:46px!important;font-family:"DM Sans",Arial,Helvetica,sans-serif!important;font-weight:600!important}
.tablya-res-summary,.tablya-res-group-notice,.tablya-payment-card{border:1px solid #dfe2e0!important;border-radius:16px!important;background:#fff!important;box-shadow:0 5px 18px rgba(29,37,34,.035)!important}
.tablya-payment-checkout{font-family:"DM Sans",Arial,Helvetica,sans-serif;background:#f3f4f3;border-radius:24px;padding:28px}.tablya-payment-amount strong{font-family:"DM Sans",Arial,Helvetica,sans-serif}
@media(max-width:767px){.tablya-reservation-surface{padding:12px;border-radius:16px}.tablya-reservation-app{padding:28px 18px;border-radius:16px}.tablya-res-header h2{font-size:28px}}

/* Tablya 1.0 — identité visuelle */
.tablya-res-header h2,.tablya-res-step-heading h3,.tablya-payment-card h2,.tablya-payment-card h3{font-family:"Sora","DM Sans",sans-serif}

.tablya-honeypot{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}
