/* ==============================================================
   GWS Carte GBDG — Frontend
   Tout est scopé sous .gbdg-carte pour ne pas polluer le thème WP
   ============================================================== */

/* Variables sur .gbdg-carte ET .gbdg-nav pour que la nav fonctionne
   même quand on la détache et l'attache à <body> en mode "pinned" */
.gbdg-carte,
.gbdg-nav {
	--gbdg-navy: #1B2A4E;
	--gbdg-navy-soft: #2c3f6b;
	--gbdg-coral: #E94E2B;
	--gbdg-coral-dark: #C73D1F;
	--gbdg-pale: #FBD9D0;
	--gbdg-cream: #FDFCF8;
	--gbdg-stripe: #C9DCEC;
	--gbdg-rope: #1B2A4E;
	--gbdg-line: #E8DECF;
}

/* Casser les contraintes des wrappers Divi (overflow: hidden, max-width)
   pour que le full-bleed de la carte fonctionne */
.et_pb_text:has(.gbdg-carte),
.et_pb_text_inner:has(.gbdg-carte),
.et_pb_column:has(.gbdg-carte),
.et_pb_row:has(.gbdg-carte),
.et_pb_section:has(.gbdg-carte) {
	overflow: visible !important;
	max-width: 100% !important;
}

.gbdg-carte {

	font-family: 'Montserrat', system-ui, -apple-system, Segoe UI, Roboto, sans-serif;
	color: var(--gbdg-navy);
	background: var(--gbdg-cream);
	line-height: 1.55;
	padding: 0;
	position: relative;
	/* Full-bleed : casse la contrainte de largeur du parent (Divi row, etc.) */
	width: 100vw;
	margin-left: calc(50% - 50vw);
	margin-right: calc(50% - 50vw);
	/* Pas d'overflow:hidden ici, sinon ça casse position:sticky de la nav */
}

.gbdg-carte * { box-sizing: border-box; }

.gbdg-carte h1, .gbdg-carte h2, .gbdg-carte h3 {
	font-family: 'Montserrat', sans-serif;
	margin: 0;
}

/* ============== ASTÉRISQUE (exposants discrets sur les titres) ============== */
.gbdg-asterisk {
	font-size: .55em;
	color: var(--gbdg-coral);
	font-weight: 800;
	margin-left: 1px;
	vertical-align: super;
	line-height: 0;
}

/* ============== LÉGENDE GLOBALE (en bas, ex : *albacore) ============== */
.gbdg-legend {
	max-width: 1200px;
	margin: 30px auto 0;
	padding: 14px 30px 0;
	border-top: 1px dotted var(--gbdg-line);
	display: flex;
	flex-wrap: wrap;
	gap: 14px;
	justify-content: center;
}
.gbdg-legend-item {
	font-size: 11px;
	font-weight: 600;
	color: var(--gbdg-navy-soft);
	letter-spacing: .3px;
	text-transform: lowercase;
	font-style: italic;
}

/* ============== BANDEAU CHAMPION (entre la marquise et le hero) ============== */
.gbdg-winner-banner {
	background: linear-gradient(180deg, var(--gbdg-coral) 0%, var(--gbdg-coral-dark) 100%);
	color: #fff;
	padding: 16px 20px;
	text-align: center;
	border-bottom: 3px solid var(--gbdg-coral-dark);
	box-shadow: 0 4px 12px rgba(27, 42, 78, .15) inset;
	position: relative;
	overflow: hidden;
}
.gbdg-winner-banner::before,
.gbdg-winner-banner::after {
	content: "";
	position: absolute;
	top: 0;
	bottom: 0;
	width: 60px;
	background: linear-gradient(to right, var(--gbdg-coral-dark), transparent);
	opacity: .6;
}
.gbdg-winner-banner::after {
	right: 0;
	transform: scaleX(-1);
}
.gbdg-winner-banner::before { left: 0; }

.gbdg-winner-banner-inner {
	max-width: 1100px;
	margin: 0 auto;
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 22px;
	position: relative;
}
.gbdg-trophy {
	width: 44px;
	height: 44px;
	flex-shrink: 0;
	display: inline-block;
	filter: drop-shadow(0 2px 3px rgba(0, 0, 0, .25));
}
.gbdg-trophy svg { width: 100%; height: auto; display: block; }
.gbdg-trophy-left { animation: gbdg-trophy-tilt 2.4s ease-in-out infinite; }
.gbdg-trophy-right { animation: gbdg-trophy-tilt 2.4s ease-in-out infinite reverse; }
@keyframes gbdg-trophy-tilt {
	0%, 100% { transform: rotate(-6deg); }
	50% { transform: rotate(6deg); }
}

.gbdg-winner-banner-text {
	display: flex;
	flex-direction: column;
	gap: 2px;
	text-shadow: 0 1px 2px rgba(0, 0, 0, .15);
}
.gbdg-winner-line-main {
	font-size: 17px;
	font-weight: 800;
	text-transform: uppercase;
	letter-spacing: 1.5px;
	line-height: 1.2;
}
.gbdg-winner-line-sub {
	font-size: 13px;
	font-weight: 600;
	letter-spacing: 1px;
	opacity: .95;
}

/* ============== SCEAU CHAMPION (sur la carte Bouillabaisse) ============== */
.gbdg-card.has-winner-seal { position: relative; }
.gbdg-winner-seal {
	position: absolute;
	top: -22px;
	right: -18px;
	width: 105px;
	height: 105px;
	z-index: 5;
	transform: rotate(8deg);
	filter: drop-shadow(0 3px 6px rgba(27, 42, 78, .25));
	pointer-events: none;
	animation: gbdg-seal-in .7s cubic-bezier(.34, 1.56, .64, 1) .3s both;
}
.gbdg-winner-seal svg { width: 100%; height: 100%; display: block; }
@keyframes gbdg-seal-in {
	0% { transform: rotate(-25deg) scale(0); opacity: 0; }
	100% { transform: rotate(8deg) scale(1); opacity: 1; }
}

/* ============== AWNING (rayures bleu/blanc en haut) ============== */
.gbdg-awning {
	position: relative;
	height: 70px;
	margin-bottom: 0;
}
.gbdg-awning-stripes {
	position: absolute;
	inset: 0;
	background-image: repeating-linear-gradient(
		to right,
		var(--gbdg-stripe) 0,
		var(--gbdg-stripe) 30px,
		#fff 30px,
		#fff 60px
	);
}
.gbdg-awning-scallop {
	position: absolute;
	bottom: -1px;
	left: 0;
	right: 0;
	height: 30px;
	line-height: 0;
}
.gbdg-awning-scallop svg { width: 100%; height: 30px; display: block; }

/* ============== HERO ============== */
.gbdg-hero {
	position: relative;
	text-align: center;
	padding: 60px 30px 40px;
	overflow-x: clip; /* contient les illustrations sans casser le sticky */
}
.gbdg-hero-decor {
	position: absolute;
	width: 130px;
	pointer-events: none;
	opacity: .9;
}
.gbdg-hero-decor svg { width: 100%; height: auto; }
.gbdg-hero-decor-left { top: 30px; left: 20px; transform: rotate(-15deg); }
.gbdg-hero-decor-right { top: 20px; right: 20px; width: 150px; transform: rotate(20deg); }
.gbdg-hero-decor-bottom-left { bottom: 80px; left: 10px; width: 120px; opacity: .7; }
.gbdg-hero-decor-bottom-right { bottom: 60px; right: 10px; width: 160px; opacity: .55; }

.gbdg-logo {
	position: relative;
	width: 220px;
	height: 220px;
	margin: 0 auto 14px;
	display: flex;
	align-items: center;
	justify-content: center;
}
.gbdg-logo .gbdg-rope {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
}
.gbdg-logo-text {
	position: relative;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 0;
	color: var(--gbdg-navy);
	z-index: 2;
	padding: 0 30px;
}
.gbdg-logo-script-1, .gbdg-logo-script-2 {
	font-family: 'Sacramento', cursive;
	font-size: 52px;
	line-height: 1;
	color: var(--gbdg-navy);
}
.gbdg-logo-script-2 { margin-top: -6px; }
.gbdg-logo-since {
	font-family: 'Sacramento', cursive;
	font-size: 26px;
	color: var(--gbdg-navy);
	margin-top: -2px;
	margin-bottom: -2px;
}

.gbdg-tagline {
	font-family: 'Sacramento', cursive;
	font-size: 36px;
	color: var(--gbdg-coral);
	margin: 0 0 30px;
}

.gbdg-welcome {
	max-width: 600px;
	margin: 30px auto 0;
	color: var(--gbdg-navy);
}
.gbdg-welcome p {
	font-size: 15px;
	margin: 0 0 14px;
	font-weight: 500;
}
.gbdg-welcome-end {
	font-family: 'Sacramento', cursive !important;
	font-size: 32px !important;
	color: var(--gbdg-coral) !important;
	margin-top: 30px !important;
	line-height: 1.2 !important;
}
.gbdg-knot {
	margin: 20px auto 0;
	max-width: 200px;
}

/* ============== NAV (pin via JS pour compat Divi) ============== */
.gbdg-nav {
	position: relative;
	z-index: 50;
	background: var(--gbdg-cream);
	border-top: 2px solid var(--gbdg-navy);
	border-bottom: 2px solid var(--gbdg-navy);
	margin: 30px 0 0;
	box-shadow: 0 2px 12px rgba(27, 42, 78, .08);
	transition: box-shadow .2s ease;
}
.gbdg-nav.is-pinned {
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	width: 100%;
	margin: 0;
	z-index: 9999;
	box-shadow: 0 4px 16px rgba(27, 42, 78, .15);
}
.gbdg-nav-placeholder {
	display: none;
}
.gbdg-nav-placeholder.is-active {
	display: block;
}
.gbdg-nav-inner {
	display: flex;
	gap: 2px;
	overflow-x: auto;
	padding: 6px 12px;
	max-width: 1200px;
	margin: 0 auto;
	justify-content: center;
	scrollbar-width: thin;
	scrollbar-color: var(--gbdg-coral) transparent;
	-webkit-overflow-scrolling: touch;
	scroll-snap-type: x proximity;
}
.gbdg-nav-inner::-webkit-scrollbar { height: 4px; }
.gbdg-nav-inner::-webkit-scrollbar-thumb { background: var(--gbdg-coral); border-radius: 4px; }

/* Quand le contenu déborde, on retire le centrage pour que le scroll commence à gauche */
.gbdg-nav-inner.is-scrollable { justify-content: flex-start; }
.gbdg-nav-inner.is-scrollable .gbdg-nav-link { scroll-snap-align: start; }

/* Indicateur "swipe" : dégradé + flèche corail qui bouge sur le bord droit */
.gbdg-nav { position: relative; }
.gbdg-nav.has-overflow::before,
.gbdg-nav.has-overflow::after {
	content: "";
	position: absolute;
	top: 0;
	bottom: 0;
	pointer-events: none;
	z-index: 3;
	transition: opacity .25s ease;
}
.gbdg-nav.has-overflow::before {
	left: 0;
	width: 30px;
	background: linear-gradient(to right, var(--gbdg-cream), transparent);
	opacity: 0;
}
.gbdg-nav.has-overflow.is-scrolled::before { opacity: 1; }

.gbdg-nav.has-overflow::after {
	right: 0;
	width: 60px;
	background: linear-gradient(to right, transparent, var(--gbdg-cream) 65%);
}
.gbdg-nav.has-overflow.is-end::after { opacity: 0; }

/* Flèche animée qui bouge → indique clairement qu'on peut faire glisser */
.gbdg-nav-arrow {
	position: absolute;
	top: 50%;
	right: 8px;
	transform: translateY(-50%);
	width: 28px;
	height: 28px;
	display: none;
	align-items: center;
	justify-content: center;
	color: var(--gbdg-coral);
	font-size: 22px;
	font-weight: 800;
	pointer-events: none;
	z-index: 4;
	animation: gbdg-nav-bounce 1.4s ease-in-out infinite;
}
.gbdg-nav.has-overflow .gbdg-nav-arrow { display: flex; }
.gbdg-nav.has-overflow.is-end .gbdg-nav-arrow { display: none; }

@keyframes gbdg-nav-bounce {
	0%, 100% { transform: translateY(-50%) translateX(0); }
	50% { transform: translateY(-50%) translateX(8px); }
}

.gbdg-nav-link {
	flex-shrink: 0;
	display: inline-block;
	padding: 8px 10px;
	font-size: 11.5px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: .4px;
	color: var(--gbdg-navy);
	text-decoration: none;
	border-radius: 4px;
	transition: all .2s ease;
	white-space: nowrap;
}
.gbdg-nav-link:hover {
	background: var(--gbdg-navy);
	color: #fff;
}
.gbdg-nav-link.is-active {
	background: var(--gbdg-coral);
	color: #fff;
}

/* ============== SECTIONS ============== */
.gbdg-sections {
	padding: 30px;
	max-width: 1200px;
	margin: 0 auto;
}
.gbdg-section {
	scroll-margin-top: 70px;
	padding: 40px 0 30px;
	position: relative;
}

.gbdg-section-head {
	text-align: center;
	margin-bottom: 30px;
	position: relative;
}
.gbdg-section-icon {
	width: 80px;
	margin: 0 auto 4px;
	opacity: .85;
}
.gbdg-section-icon svg { width: 100%; height: auto; }
.gbdg-section-title {
	font-family: 'Sacramento', cursive;
	font-size: 52px;
	color: var(--gbdg-coral);
	font-weight: 400;
	line-height: 1;
	margin: 0;
	word-break: normal;
	overflow-wrap: normal;
	hyphens: none;
}
.gbdg-section-wave {
	width: 120px;
	margin: 8px auto 0;
}
.gbdg-section-wave svg { width: 100%; }

.gbdg-section-note {
	text-align: center;
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 1px;
	text-transform: uppercase;
	color: var(--gbdg-navy);
	margin-top: 30px;
}

/* ============== LAYOUT GRID (entrées, plats, cocktails) ============== */
.gbdg-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 28px 36px;
}
.gbdg-layout-grid.gbdg-section[id*="plats"] .gbdg-grid,
.gbdg-layout-grid.gbdg-section[id*="cocktails"] .gbdg-grid {
	grid-template-columns: repeat(2, 1fr);
}

.gbdg-item {
	min-width: 0;
}
.gbdg-item-head {
	display: flex;
	justify-content: space-between;
	align-items: baseline;
	gap: 12px;
	margin-bottom: 4px;
}
.gbdg-item-title {
	font-size: 13px;
	font-weight: 800;
	letter-spacing: .3px;
	color: var(--gbdg-navy);
	text-transform: uppercase;
	flex: 1;
}
.gbdg-item-title sup {
	font-size: 9px;
	color: var(--gbdg-coral);
	font-weight: 700;
}
.gbdg-item-prices {
	display: flex;
	flex-direction: column;
	align-items: flex-end;
	gap: 2px;
	flex-shrink: 0;
}
.gbdg-price {
	font-size: 14px;
	font-weight: 800;
	color: var(--gbdg-coral);
	white-space: nowrap;
}
.gbdg-price-alt {
	font-size: 13px;
}
.gbdg-item-desc {
	font-size: 12px;
	color: var(--gbdg-navy);
	font-weight: 400;
	line-height: 1.5;
	margin: 0;
	opacity: .85;
}

/* ============== LAYOUT INLINE (apéros, soft, chaudes, au-poids) ============== */
.gbdg-inline {
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 12px 36px;
}
.gbdg-layout-inline.gbdg-section[id*="au-poids"] .gbdg-inline {
	grid-template-columns: repeat(3, 1fr);
	text-align: center;
}
.gbdg-layout-inline.gbdg-section[id*="au-poids"] .gbdg-inline-item {
	flex-direction: column;
	align-items: center;
	border-bottom: none;
	padding: 20px 10px;
}
.gbdg-layout-inline.gbdg-section[id*="au-poids"] .gbdg-inline-title {
	font-family: 'Sacramento', cursive;
	font-size: 38px;
	font-weight: 400;
	color: var(--gbdg-coral);
	text-transform: none;
	letter-spacing: 0;
	line-height: 1.1;
}
.gbdg-layout-inline.gbdg-section[id*="au-poids"] .gbdg-inline-desc {
	font-size: 11px;
	font-weight: 700;
	color: var(--gbdg-navy);
	letter-spacing: .5px;
	text-transform: uppercase;
	margin-top: 6px;
}
.gbdg-layout-inline.gbdg-section[id*="au-poids"] .gbdg-price {
	font-size: 14px;
	margin-top: 6px;
}

.gbdg-inline-item {
	display: flex;
	justify-content: space-between;
	align-items: baseline;
	gap: 16px;
	padding: 6px 0;
	border-bottom: 1px dotted var(--gbdg-line);
}
.gbdg-inline-text { flex: 1; min-width: 0; }
.gbdg-inline-title {
	font-size: 12px;
	font-weight: 700;
	color: var(--gbdg-navy);
	text-transform: uppercase;
	letter-spacing: .3px;
}
.gbdg-inline-desc {
	font-size: 11px;
	font-weight: 400;
	color: var(--gbdg-navy-soft);
	display: block;
	margin-top: 2px;
}

/* ============== LAYOUT CARDS (spécialités) ============== */
.gbdg-cards {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 24px;
	margin-top: 20px;
}
.gbdg-card {
	min-width: 0;
}
.gbdg-card-frame {
	position: relative;
	padding: 36px 22px 28px;
	text-align: center;
	border: 3px solid var(--gbdg-coral);
	border-radius: 8px;
	background: var(--gbdg-cream);
	min-height: 100%;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
}
.gbdg-card-frame::before {
	content: "";
	position: absolute;
	inset: 6px;
	border: 2px dashed var(--gbdg-coral);
	border-radius: 5px;
	opacity: .5;
	pointer-events: none;
}
.gbdg-card-title {
	font-family: 'Sacramento', cursive;
	font-size: 40px;
	font-weight: 400;
	color: var(--gbdg-coral);
	line-height: 1.05;
	margin-bottom: 12px;
	/* Empêche le break-word hérité de certains thèmes (Divi notamment) */
	word-break: normal;
	overflow-wrap: normal;
	hyphens: none;
}
.gbdg-card-subtitle {
	font-size: 11px;
	font-weight: 800;
	letter-spacing: 1px;
	text-transform: uppercase;
	color: var(--gbdg-coral);
	margin: 0 0 14px;
}
.gbdg-card-desc {
	font-size: 12px;
	color: var(--gbdg-navy);
	margin: 0 0 18px;
	line-height: 1.5;
	flex: 1;
}
.gbdg-card-price {
	font-size: 13px;
	font-weight: 800;
	color: var(--gbdg-coral);
	text-transform: uppercase;
	letter-spacing: .5px;
	margin: 0;
	padding-top: 12px;
	border-top: 1px solid var(--gbdg-coral);
}

/* ============== LAYOUT WINE ============== */
.gbdg-wine-group + .gbdg-wine-group {
	margin-top: 30px;
}
.gbdg-wine-subtitle {
	font-family: 'Sacramento', cursive;
	font-size: 42px;
	font-weight: 400;
	color: var(--gbdg-coral);
	margin: 0 0 6px;
	line-height: 1;
}
.gbdg-wine-table {
	display: grid;
	gap: 0;
}
.gbdg-wine-row {
	display: grid;
	grid-template-columns: 1fr 70px;
	gap: 14px;
	padding: 10px 0;
	border-bottom: 1px dotted var(--gbdg-line);
	align-items: start;
}
.gbdg-wine-table.has-50 .gbdg-wine-row { grid-template-columns: 1fr 60px 60px; }
.gbdg-wine-table.has-150 .gbdg-wine-row { grid-template-columns: 1fr 60px 60px; }
.gbdg-wine-table.has-50.has-150 .gbdg-wine-row { grid-template-columns: 1fr 55px 55px 55px; }

.gbdg-wine-head {
	border-bottom: 2px solid var(--gbdg-navy);
	padding: 4px 0;
	font-size: 10px;
	font-weight: 800;
	letter-spacing: .5px;
	text-transform: uppercase;
	color: var(--gbdg-navy);
	opacity: .7;
}
.gbdg-wine-head .gbdg-wine-col {
	text-align: right;
}
.gbdg-wine-name {
	min-width: 0;
}
.gbdg-wine-line {
	font-size: 13px;
	font-weight: 700;
	color: var(--gbdg-navy);
}
.gbdg-wine-year {
	font-weight: 800;
}
.gbdg-wine-bio {
	display: inline-block;
	background: var(--gbdg-coral);
	color: #fff;
	font-size: 9px;
	font-weight: 700;
	padding: 1px 6px;
	border-radius: 3px;
	letter-spacing: .5px;
	text-transform: uppercase;
	margin-left: 4px;
	vertical-align: 2px;
}
.gbdg-wine-meta {
	font-size: 11px;
	font-weight: 400;
	color: var(--gbdg-navy-soft);
	margin-top: 2px;
}
.gbdg-wine-col {
	font-size: 14px;
	font-weight: 800;
	color: var(--gbdg-coral);
	text-align: right;
	padding-top: 2px;
}

/* ============== FOOTER ============== */
.gbdg-footer {
	padding: 50px 30px 60px;
	text-align: center;
	border-top: 1px solid var(--gbdg-line);
	margin: 40px auto 0;
	max-width: 1200px;
}
.gbdg-footer-thanks {
	font-family: 'Sacramento', cursive;
	font-size: 36px;
	color: var(--gbdg-coral);
	line-height: 1.2;
	margin: 0 0 20px;
}
.gbdg-knot-footer { max-width: 180px; }

/* ============== RESPONSIVE ============== */
@media (max-width: 900px) {
	.gbdg-winner-line-main { font-size: 15px; letter-spacing: 1px; }
	.gbdg-winner-line-sub { font-size: 12px; }
	.gbdg-trophy { width: 38px; height: 38px; }
	.gbdg-winner-banner-inner { gap: 16px; }
	.gbdg-winner-seal { width: 90px; height: 90px; top: -18px; right: -12px; }

	.gbdg-hero-decor-left,
	.gbdg-hero-decor-right { width: 90px; }
	.gbdg-hero-decor-bottom-left,
	.gbdg-hero-decor-bottom-right { width: 100px; }
	.gbdg-grid { grid-template-columns: repeat(2, 1fr); gap: 24px; }
	.gbdg-layout-grid.gbdg-section[id*="plats"] .gbdg-grid,
	.gbdg-layout-grid.gbdg-section[id*="cocktails"] .gbdg-grid { grid-template-columns: 1fr; }
	.gbdg-cards { grid-template-columns: 1fr; }
	.gbdg-inline { grid-template-columns: 1fr; }
	/* Au poids : on stack les 3 cartes en colonne sur tablette/mobile (sinon ça déborde) */
	.gbdg-layout-inline.gbdg-section[id*="au-poids"] .gbdg-inline {
		grid-template-columns: 1fr;
	}
	.gbdg-section-title { font-size: 42px; }
	.gbdg-card-title { font-size: 36px; }
	/* Quand un sceau Champion est présent, on réduit le titre pour libérer la place */
	.gbdg-card.has-winner-seal .gbdg-card-title { font-size: 32px; }
}

@media (max-width: 600px) {
	/* Bandeau Champion : compact mais toujours percutant */
	.gbdg-winner-banner { padding: 12px 14px; }
	.gbdg-winner-banner-inner { gap: 12px; }
	.gbdg-winner-line-main { font-size: 12px; letter-spacing: .5px; line-height: 1.3; }
	.gbdg-winner-line-sub { font-size: 10px; letter-spacing: .5px; }
	.gbdg-trophy { width: 32px; height: 32px; }

	/* Sceau : poussé vers l'extérieur du cadre (effet tampon décollé)
	   pour ne pas chevaucher le titre, et assez gros pour rester lisible */
	.gbdg-winner-seal { width: 85px; height: 85px; top: -22px; right: -28px; }

	.gbdg-legend { padding: 12px 18px 0; gap: 10px; margin-top: 20px; }
	.gbdg-legend-item { font-size: 10.5px; }

	.gbdg-sections { padding: 20px 20px; }
	.gbdg-hero { padding: 50px 18px 30px; }
	.gbdg-hero-decor-left,
	.gbdg-hero-decor-right { width: 70px; opacity: .55; }
	.gbdg-hero-decor-bottom-left,
	.gbdg-hero-decor-bottom-right { display: none; }
	.gbdg-logo { width: 200px; height: 200px; }
	.gbdg-logo-script-1, .gbdg-logo-script-2 { font-size: 46px; }
	.gbdg-logo-since { font-size: 24px; }
	.gbdg-tagline { font-size: 34px; }

	/* Section : plus de respiration et titre plus impactant */
	.gbdg-section { padding: 40px 0 30px; }
	.gbdg-section-title { font-size: 44px; }
	.gbdg-section-icon { width: 75px; }
	.gbdg-section-note { font-size: 11px; padding: 0 10px; }

	/* Items : tailles confortables pour la lecture sur mobile */
	.gbdg-grid { grid-template-columns: 1fr; gap: 26px; }
	.gbdg-item-title { font-size: 15px; letter-spacing: .4px; }
	.gbdg-item-desc { font-size: 14px; line-height: 1.55; }
	.gbdg-price { font-size: 17px; }
	.gbdg-price-alt { font-size: 15px; }

	/* Inline (apéros, soft, chaudes) */
	.gbdg-inline { gap: 14px; }
	.gbdg-inline-item { padding: 10px 0; }
	.gbdg-inline-title { font-size: 14px; }
	.gbdg-inline-desc { font-size: 13px; margin-top: 4px; }

	/* Au poids (les 3 grandes cartes) */
	.gbdg-layout-inline.gbdg-section[id*="au-poids"] .gbdg-inline-title {
		font-size: 44px;
	}
	.gbdg-layout-inline.gbdg-section[id*="au-poids"] .gbdg-inline-desc {
		font-size: 13px;
	}
	.gbdg-layout-inline.gbdg-section[id*="au-poids"] .gbdg-price {
		font-size: 17px;
	}

	/* Spécialités */
	.gbdg-card-frame { padding: 32px 22px 26px; }
	.gbdg-card-title { font-size: 36px; }
	.gbdg-card.has-winner-seal .gbdg-card-title { font-size: 26px; }
	.gbdg-card-subtitle { font-size: 12px; }
	.gbdg-card-desc { font-size: 14px; line-height: 1.55; }
	.gbdg-card-price { font-size: 15px; }

	/* Vins : on garde la grille de prix mais on agrandit */
	.gbdg-wine-subtitle { font-size: 38px; }
	.gbdg-wine-row { grid-template-columns: 1fr 56px !important; gap: 10px; padding: 12px 0; }
	.gbdg-wine-table.has-50 .gbdg-wine-row,
	.gbdg-wine-table.has-150 .gbdg-wine-row,
	.gbdg-wine-table.has-50.has-150 .gbdg-wine-row {
		grid-template-columns: 1fr 48px 48px 48px !important;
		gap: 6px;
	}
	.gbdg-wine-line { font-size: 14px; line-height: 1.35; }
	.gbdg-wine-meta { font-size: 12px; line-height: 1.4; }
	.gbdg-wine-col { font-size: 15px; }
	.gbdg-wine-head { font-size: 11px; }

	/* Nav : boutons plus grands, plus tappables */
	.gbdg-nav-inner { padding: 10px 12px; gap: 4px; }
	.gbdg-nav-link {
		font-size: 13px;
		padding: 10px 12px;
		letter-spacing: .3px;
	}

	.gbdg-footer { padding: 40px 25px 50px; }
	.gbdg-footer-thanks { font-size: 32px; }
	.gbdg-welcome-end { font-size: 30px !important; }
	.gbdg-welcome p { font-size: 15px; }
}

@media (max-width: 380px) {
	.gbdg-section-title { font-size: 38px; }
	.gbdg-card-title { font-size: 32px; }
	.gbdg-card.has-winner-seal .gbdg-card-title { font-size: 22px; }
	.gbdg-winner-seal { width: 75px; height: 75px; top: -18px; right: -22px; }
	.gbdg-wine-row { grid-template-columns: 1fr 50px !important; }
	.gbdg-wine-table.has-50.has-150 .gbdg-wine-row {
		grid-template-columns: 1fr 42px 42px 42px !important;
	}
}

/* Print friendly */
@media print {
	.gbdg-nav { display: none; }
	.gbdg-carte { max-width: none; }
}
