/* Página de detalhe — compartilhado entre Ver e Fazer, Comer e Beber e Onde Ficar
   (os 3 CPTs com estrutura de campos quase idêntica: nome, endereço, galeria, descrição,
   comodidades, horário, contato, mapa). Usa os tokens de docs/Design-System-v1.0.md
   (lmg-tokens.css) para tudo que o Kit Global do Elementor não cobre. */

.lmg-detail__header--business { display: flex; align-items: center; gap: var(--lmg-space-4); }
.lmg-detail__logo { width: 64px; height: 64px; object-fit: contain; border-radius: var(--lmg-radius-sm); flex-shrink: 0; }

/* Eventos, Organizador, Local de Eventos */
.lmg-detail__tags { display: flex; gap: var(--lmg-space-2); flex-wrap: wrap; margin-bottom: var(--lmg-space-3); }
.lmg-pill--categoria { background: var(--lmg-neutral-100); color: var(--lmg-neutral-700); text-transform: uppercase; letter-spacing: .04em; }
.lmg-detail__meta-row { display: flex; gap: var(--lmg-space-4); flex-wrap: wrap; margin-top: var(--lmg-space-3); }
.lmg-detail__meta-item { display: flex; align-items: center; gap: 6px; font-size: var(--lmg-text-sm); color: var(--lmg-neutral-700); }
.lmg-detail__meta-item svg { width: 16px; height: 16px; flex-shrink: 0; opacity: .7; }
.lmg-detail__banner { border-radius: var(--lmg-radius-md); overflow: hidden; margin-bottom: var(--lmg-space-8); }
.lmg-detail__banner img { width: 100%; height: auto; display: block; }
.lmg-detail__video { aspect-ratio: 16/9; border-radius: var(--lmg-radius-md); overflow: hidden; }
.lmg-detail__video iframe { width: 100%; height: 100%; border: 0; }

/* Organizador, Local de Eventos — cartão de contato, sem sidebar/mapa/galeria */
.lmg-detail__body--single { display: block; max-width: 65ch; }
.lmg-detail__body--single .lmg-detail__social { flex-direction: column; gap: var(--lmg-space-2); }

.lmg-detail { font-family: var(--lmg-font-body); color: var(--lmg-color-text); }

.lmg-detail__wrap {
	max-width: var(--lmg-container-max);
	margin: 0 auto;
	padding: var(--lmg-space-6);
}

.lmg-detail__breadcrumb {
	font-size: var(--lmg-text-sm);
	color: var(--lmg-neutral-700);
	margin-bottom: var(--lmg-space-4);
}

.lmg-detail__header { margin-bottom: var(--lmg-space-6); }
.lmg-detail__title { font-size: var(--lmg-text-2xl); font-weight: 900; margin: 0 0 var(--lmg-space-2); }
.lmg-detail__location {
	display: flex; align-items: center; gap: 6px;
	font-size: var(--lmg-text-sm); color: var(--lmg-neutral-700); margin: 0 0 var(--lmg-space-3);
}
.lmg-detail__location svg { width: 16px; height: 16px; flex-shrink: 0; opacity: .7; }

.lmg-pill {
	display: inline-flex; align-items: center;
	font-size: var(--lmg-text-xs); font-weight: 600;
	padding: 5px 12px; border-radius: 999px;
}
.lmg-pill--custo { background: var(--lmg-neutral-100); color: var(--lmg-neutral-700); }

.lmg-detail__gallery {
	display: grid; grid-template-columns: 2fr 1fr 1fr; grid-template-rows: 1fr 1fr;
	gap: var(--lmg-space-2); margin-bottom: var(--lmg-space-8);
	border-radius: var(--lmg-radius-md); overflow: hidden;
}
.lmg-detail__gallery-main { grid-row: 1 / 3; aspect-ratio: 4/3; }
.lmg-detail__gallery-thumb { aspect-ratio: 4/3; }
.lmg-detail__gallery-main img, .lmg-detail__gallery-thumb img {
	width: 100%; height: 100%; object-fit: cover; display: block;
}
@media (max-width: 767px) {
	.lmg-detail__gallery { grid-template-columns: repeat(2, 1fr); grid-template-rows: auto; }
	.lmg-detail__gallery-main { grid-row: auto; grid-column: 1 / 3; }
}

.lmg-detail__body { display: grid; grid-template-columns: 1fr 320px; gap: var(--lmg-space-12); align-items: start; }
@media (max-width: 1024px) { .lmg-detail__body { grid-template-columns: 1fr; } }

.lmg-detail__prose { font-size: var(--lmg-text-base); line-height: 1.6; }
.lmg-detail__prose p { margin: 0 0 var(--lmg-space-4); max-width: 65ch; }

.lmg-detail__section { margin-top: var(--lmg-space-8); }
.lmg-detail__section h2 { font-size: var(--lmg-text-lg); font-weight: 700; margin: 0 0 var(--lmg-space-3); }

.lmg-detail__social { list-style: none; margin: 0; padding: 0; display: flex; gap: var(--lmg-space-3); }
.lmg-detail__social a {
	font-size: var(--lmg-text-sm); font-weight: 600; color: var(--lmg-color-sun);
	text-decoration: none;
}
.lmg-detail__social a:focus-visible { outline: 2px solid var(--lmg-color-sun); outline-offset: 2px; }

.lmg-detail__sidebar { position: sticky; top: var(--lmg-space-6); display: flex; flex-direction: column; gap: var(--lmg-space-3); }
.lmg-detail__map { aspect-ratio: 4/3; border-radius: var(--lmg-radius-md); overflow: hidden; border: 1px solid var(--lmg-neutral-300); }
.lmg-detail__map iframe { width: 100%; height: 100%; border: 0; }

.lmg-btn {
	display: flex; align-items: center; justify-content: center; gap: 8px;
	font-size: var(--lmg-text-sm); font-weight: 600; text-decoration: none;
	padding: 13px 20px; border-radius: var(--lmg-radius-md); border: 1.5px solid transparent;
	transition: background-color 150ms, color 150ms, border-color 150ms;
}
.lmg-btn--primary { background: var(--lmg-color-text); color: var(--lmg-neutral-100); }
.lmg-btn--primary:hover { background: var(--lmg-color-sun); color: var(--lmg-neutral-100); }
.lmg-btn--secondary { background: transparent; color: var(--lmg-color-text); border-color: var(--lmg-color-text); }
.lmg-btn--secondary:hover { background: var(--lmg-color-text); color: var(--lmg-neutral-100); }
.lmg-btn:focus-visible { outline: 2px solid var(--lmg-color-sun); outline-offset: 2px; }
