/* Grimbergen Réservations — style « brasserie d'antan ». Le thème peut surcharger ces règles. */
.gr-booking { --gr-ink: #2A1E14; --gr-paper: #F5EEDF; --gr-card: #FBF6EC; --gr-gold: #A37E3B; --gr-gold-l: #C9A45C; --gr-wine: #6B1E1A; --gr-muted: #5C4A38;
	font-family: Lora, Georgia, serif; color: var(--gr-ink); display: flex; flex-direction: column; gap: 20px; }
.gr-tabs { display: grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap: 14px; }
.gr-tab { display: flex; flex-direction: column; align-items: flex-start; gap: 4px; text-align: left; padding: 18px 22px; min-height: 84px;
	border: 1px solid var(--gr-gold); border-radius: 2px; background: var(--gr-paper); color: var(--gr-ink); cursor: pointer; font: inherit; }
.gr-tab[aria-selected="true"] { background: var(--gr-ink); color: var(--gr-paper); border-color: var(--gr-ink); box-shadow: inset 0 0 0 1px var(--gr-gold-l); }
.gr-tab__title { font-family: "Playfair Display SC", Georgia, serif; font-size: 21px; letter-spacing: .06em; }
.gr-tab__sub { font-style: italic; font-size: 15px; opacity: .85; }
.gr-tab:focus-visible, .gr-submit:focus-visible { outline: 3px solid var(--gr-gold-l); outline-offset: 2px; }
.gr-panel[hidden] { display: none; }
.gr-form { background: var(--gr-paper); border: 1px solid var(--gr-gold); outline: 1px solid var(--gr-gold); outline-offset: -8px;
	padding: 40px; display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 24px 28px; }
.gr-form > label, .gr-radios legend { display: flex; flex-direction: column; gap: 4px; font-family: "Playfair Display SC", Georgia, serif;
	font-size: 16px; letter-spacing: .06em; color: var(--gr-wine); }
.gr-form input[type="text"], .gr-form input[type="email"], .gr-form input[type="tel"], .gr-form input[type="date"],
.gr-form input[type="number"], .gr-form select, .gr-form textarea {
	font: inherit; font-family: Lora, Georgia, serif; letter-spacing: 0; font-size: 18px; color: var(--gr-ink); padding: 8px 2px;
	border: 0; border-bottom: 1px solid var(--gr-ink); border-radius: 0; background: transparent; min-height: 44px; box-sizing: border-box; width: 100%; }
.gr-form textarea { resize: vertical; }
.gr-form input:focus, .gr-form select:focus, .gr-form textarea:focus { outline: none; border-bottom: 2px solid var(--gr-wine); }
.gr-full { grid-column: 1 / -1; }
.gr-radios { margin: 0; padding: 0; border: 0; display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 12px; }
.gr-radios legend { padding: 0 0 8px; }
.gr-radio { display: flex; gap: 12px; align-items: flex-start; border: 1px solid #C9B48A; padding: 14px 16px; background: var(--gr-card); cursor: pointer; }
.gr-radio input { margin-top: 5px; width: 18px; height: 18px; accent-color: var(--gr-wine); }
.gr-radio span { display: flex; flex-direction: column; }
.gr-radio em { color: var(--gr-muted); font-size: 15px; }
.gr-actions { display: flex; flex-wrap: wrap; gap: 12px 20px; align-items: center; justify-content: center; }
.gr-submit { font-family: "Playfair Display SC", Georgia, serif; font-size: 20px; letter-spacing: .06em; background: var(--gr-wine); color: var(--gr-paper);
	border: 0; padding: 15px 36px; border-radius: 2px; cursor: pointer; min-height: 52px; box-shadow: inset 0 0 0 1px var(--gr-gold-l); }
.gr-submit:hover { filter: brightness(1.12); }
.gr-submit[disabled] { opacity: .6; cursor: wait; }
.gr-hint { font-style: italic; color: var(--gr-muted); font-size: 16px; }
.gr-switch { margin: 0; text-align: center; font-size: 16px; }
.gr-notice { padding: 14px 18px; border-left: 4px solid; font-size: 17px; margin-bottom: 16px; }
.gr-notice--ok { background: #E7F0E4; border-color: #2F7A3D; color: #1F4A27; }
.gr-notice--err { background: #F6E3E0; border-color: var(--gr-wine); color: #5A1612; }
.gr-hp { position: absolute !important; left: -9999px !important; width: 1px; height: 1px; overflow: hidden; }
@media (max-width: 600px) { .gr-form { padding: 28px 20px; } }

/* Widget TheFork (onglet « Une table ») */
.gr-thefork { background: var(--gr-paper); border: 1px solid var(--gr-gold); outline: 1px solid var(--gr-gold); outline-offset: -8px; padding: 18px; display: flex; flex-direction: column; gap: 14px; }
.gr-thefork__frame { display: block; width: 100%; min-height: 800px; border: 0; background: #fff; }
@media (max-width: 600px) { .gr-thefork { padding: 8px; outline-offset: -5px; } .gr-thefork__frame { min-height: 860px; } }
