/**
 * LUONG social layer — video feed, social links bar, map embed, and the
 * trilingual language switcher. Reuses the shared tokens from luong-neon.css.
 */

/* ---- Social links bar ---- */
.luong-social-links { display: flex; flex-wrap: wrap; gap: 10px; }
.luong-social-links--bar { justify-content: center; }
.luong-social-links__btn {
	display: inline-flex; align-items: center; gap: 8px; text-decoration: none;
	padding: 9px 15px; border-radius: 999px; font-weight: 700; font-size: 14px;
	color: var(--luong-ink); background: var(--luong-surface);
	border: 1px solid var(--luong-social, var(--luong-line));
	transition: transform .12s ease, background .2s ease;
}
.luong-social-links__btn:hover { transform: translateY(-1px); background: color-mix(in srgb, var(--luong-social, var(--luong-gold)) 12%, var(--luong-surface)); }
.luong-social-links__icon { font-size: 17px; line-height: 1; }
.luong-social-links--chips .luong-social-links__label { display: none; }
.luong-social-links--chips .luong-social-links__btn { padding: 8px 11px; }

/* ---- Social video feed ---- */
.luong-social-feed__head { display: flex; align-items: center; justify-content: space-between; gap: 16px; flex-wrap: wrap; margin-bottom: 22px; }
.luong-social-feed__title { font-family: var(--luong-display); font-weight: 600; font-size: clamp(26px, 4vw, 40px); margin: 0; color: var(--luong-ink); }
.luong-social-feed__grid {
	display: grid; gap: 16px;
	grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
}
.luong-video {
	background: var(--luong-surface);
	border: 1px solid var(--luong-line-soft); border-radius: 18px; overflow: hidden; display: flex; flex-direction: column;
	box-shadow: 0 1px 2px rgba(36,24,4,.04);
}
.luong-video__frame { position: relative; width: 100%; aspect-ratio: 16 / 9; background: var(--luong-dark); }
.luong-video__frame iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }
.luong-video__card {
	position: relative; display: flex; align-items: center; justify-content: center;
	aspect-ratio: 9 / 12; background: var(--luong-dark) center/cover no-repeat; text-decoration: none;
}
.luong-video__card.has-thumb::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(18,11,4,.1), rgba(18,11,4,.65)); }
.luong-video__play {
	position: relative; z-index: 1; width: 58px; height: 58px; border-radius: 50%;
	display: flex; align-items: center; justify-content: center; font-size: 22px; color: var(--luong-ink-inverse);
	background: linear-gradient(120deg, var(--luong-gold), var(--luong-maroon)); box-shadow: 0 8px 26px rgba(107,29,29,.4);
}
.luong-video__badge {
	position: absolute; z-index: 1; top: 10px; left: 10px; font-size: 11px; font-weight: 800;
	padding: 4px 9px; border-radius: 999px; background: rgba(18,11,4,.72); color: var(--luong-gold-hi);
}
.luong-video__title { margin: 0; padding: 12px 14px; color: var(--luong-ink); font-size: 14px; font-weight: 600; }

/* ---- Map ---- */
.luong-map { border-radius: 20px; overflow: hidden; border: 1px solid var(--luong-line-soft); line-height: 0; box-shadow: 0 1px 2px rgba(36,24,4,.04); }
.luong-map iframe { display: block; width: 100%; }
.luong-map-fallback {
	border-radius: 20px; border: 1px dashed var(--luong-line); background: var(--luong-surface-2);
	padding: 28px 24px; color: var(--luong-mute); text-align: center;
}
.luong-map-fallback a { color: var(--luong-maroon); font-weight: 700; text-decoration: none; }

/* ---- TripAdvisor badge ---- */
.luong-tripadvisor {
	display: inline-flex; align-items: center; gap: 8px; text-decoration: none; font-weight: 700;
	color: #04121f; background: #34E0A1; padding: 9px 16px; border-radius: 999px;
}

/* ---- Language switcher ---- */
.luong-lang { display: inline-flex; gap: 6px; }
.luong-lang__btn {
	display: inline-flex; align-items: center; gap: 6px; text-decoration: none;
	padding: 6px 11px; border-radius: 999px; font-size: 13px; font-weight: 700;
	color: var(--luong-mute); background: var(--luong-surface); border: 1px solid var(--luong-line-soft);
}
.luong-lang__btn.is-active { color: var(--luong-ink-inverse); background: linear-gradient(120deg, var(--luong-gold), var(--luong-maroon)); border-color: transparent; }
.luong-lang__flag { font-size: 15px; line-height: 1; }
.luong-lang--float {
	position: fixed; left: 16px; bottom: 18px; z-index: 9997;
	background: var(--luong-surface); backdrop-filter: blur(8px); padding: 6px; border-radius: 999px;
	border: 1px solid var(--luong-line-soft); box-shadow: 0 6px 20px rgba(36,24,4,.12);
}
@media (max-width: 560px) {
	.luong-lang--float .luong-lang__label { display: none; }
}

/* ---- Tax summary table ---- */
.luong-tax-summary { width: 100%; max-width: 360px; border-collapse: collapse; color: var(--luong-ink); }
.luong-tax-summary th { text-align: left; font-weight: 500; color: var(--luong-mute); padding: 6px 0; }
.luong-tax-summary td { text-align: right; padding: 6px 0; }
.luong-tax-summary__total th, .luong-tax-summary__total td { font-weight: 800; color: var(--luong-gold-vip); border-top: 1px solid var(--luong-line); padding-top: 10px; }

/* ---- Menu price tax note ---- */
.luong-card__tax { font-size: 11px; color: var(--luong-mute); margin-left: 6px; font-weight: 500; }
.luong-card__zh { color: var(--luong-maroon); font-weight: 400; font-size: 13px; }
