/* Unity Hotel Core — estrutura mínima dos componentes. O visual da marca vem do tema.
   Variáveis com fallback para funcionar com qualquer tema. */
.uhc-grid { display: grid; gap: var(--uhc-gap, 24px); grid-template-columns: repeat(var(--uhc-cols, 3), minmax(0, 1fr)); }
@media (max-width: 1024px) { .uhc-grid { grid-template-columns: repeat(min(var(--uhc-cols, 3), 2), minmax(0, 1fr)); } }
@media (max-width: 640px) { .uhc-grid { grid-template-columns: 1fr; } }

.uhc-card { display: flex; flex-direction: column; overflow: hidden; }
.uhc-grid > .uhc-card { height: 100%; }
.uhc-card__media { display: block; position: relative; aspect-ratio: 4 / 3; overflow: hidden; }
.uhc-card__img { width: 100%; height: 100%; object-fit: cover; display: block; }
.uhc-card__img--vazia { background: rgba(0,0,0,.06); }
.uhc-card__body { display: flex; flex-direction: column; gap: 12px; flex: 1; padding: 24px; }
.uhc-card__rodape { margin-top: auto; display: flex; flex-direction: column; gap: 16px; }
.uhc-card__titulo { margin: 0; }
.uhc-card__titulo a { color: inherit; text-decoration: none; }
.uhc-card__texto, .uhc-card__meta, .uhc-card__datas { margin: 0; }

.uhc-fotos img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.uhc-carrossel__trilho { display: flex; gap: 20px; overflow-x: auto; scroll-snap-type: x mandatory; }
.uhc-carrossel__trilho > * { flex: 0 0 min(400px, 84vw); scroll-snap-align: start; }
.uhc-carrossel.is-cabe .uhc-carrossel__rodape { display: none; }

.uhc-icon { display: inline-flex; width: var(--uhc-icon-size, 20px); height: var(--uhc-icon-size, 20px); flex: 0 0 auto; }
.uhc-icon svg { width: 100%; height: 100%; }
.uhc-icon svg [stroke]:not([stroke="none"]) { stroke: currentColor; }
.uhc-destaques, .uhc-comodidades, .uhc-detalhes, .uhc-contato__lista, .uhc-contato__redes { list-style: none; margin: 0; padding: 0; display: grid; gap: 8px; }
.uhc-destaques li, .uhc-comodidades li, .uhc-detalhes li { display: flex; align-items: center; gap: 10px; }

.uhc-preco { display: flex; flex-direction: column; gap: 2px; }
.uhc-selo { display: inline-block; align-self: flex-start; }

.uhc-contagem__caixas { display: flex; gap: 8px; }
.uhc-contagem[hidden] { display: none; }

.uhc-barra { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; }
.uhc-barra__campo { display: flex; flex-direction: column; gap: 4px; }
.uhc-barra__campo input, .uhc-barra__campo select { width: 100%; }
.uhc-barra__nota { flex-basis: 100%; margin: 0; }

.uhc-galeria { display: grid; gap: 8px; grid-template-columns: repeat(3, minmax(0, 1fr)); }
.uhc-galeria__item img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; display: block; }
@media (max-width: 640px) { .uhc-galeria { grid-template-columns: 1fr 1fr; } }

.uhc-lightbox, .uhc-popup { border: 0; padding: 0; max-width: min(92vw, 1100px); }
.uhc-lightbox::backdrop, .uhc-popup::backdrop { background: rgba(6, 26, 27, .82); }
.uhc-lightbox img { display: block; max-width: 100%; max-height: 86vh; }
.uhc-lightbox__fechar, .uhc-popup__close { position: absolute; top: 8px; right: 8px; width: 40px; height: 40px; border: 0; border-radius: 999px; font-size: 24px; cursor: pointer; background: rgba(255,255,255,.92); }
.uhc-popup { max-width: min(92vw, 520px); }
.uhc-popup__img { width: 100%; height: auto; display: block; }
.uhc-popup__body { padding: 24px; }

.uhc-aviso-barra { text-align: center; padding: 10px 16px; }
.uhc-incluso { list-style: none; margin: 0; padding: 0; }
.uhc-regras, .uhc-faq { margin: 0; padding: 0; }
.uhc-aviso-barra p { margin: 0; }
.uhc-vazio { opacity: .8; }

/* Editor: bloco oculto no site */
.uhc-oculto { opacity: .38; outline: 2px dashed #8B191D; outline-offset: -2px; }
.uhc-oculto::after { content: "Oculto no site"; position: absolute; top: 8px; right: 8px; z-index: 50; background: #8B191D; color: #fff; font: 600 11px/1 system-ui, sans-serif; letter-spacing: .08em; text-transform: uppercase; padding: 6px 8px; border-radius: 2px; }
.uhc-oculto { position: relative; }

/* Editor: painel do pacote no topo da página */
.uhc-painel { max-width: 960px !important; margin: 24px auto 32px !important; padding: 20px 24px 24px; background: #fff; border: 1px solid #D9CBB8; border-left: 4px solid #8B191D; border-radius: 6px; box-shadow: 0 10px 30px rgba(12, 45, 47, .08); font-family: system-ui, -apple-system, "Segoe UI", sans-serif; font-size: 13px; color: #1e1e1e; }
.uhc-painel__topo { display: flex; justify-content: space-between; align-items: flex-start; gap: 16px; }
.uhc-painel__topo strong { display: block; font-size: 15px; margin-bottom: 4px; color: #0C2D2F; }
.uhc-painel__topo span { display: block; color: #5b5b5b; max-width: 640px; line-height: 1.45; }
.uhc-painel__abas { margin-top: 16px; }
.uhc-painel__campos { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px 24px; padding-top: 16px; }
.uhc-painel__campos .uhc-field:has(.uhc-row), .uhc-painel__campos .uhc-field:has(textarea) { grid-column: 1 / -1; }
.uhc-painel .uhc-row { border: 1px solid #e0e0e0; border-radius: 4px; padding: 12px; margin-bottom: 8px; display: grid; grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); gap: 8px 12px; }
.uhc-painel .uhc-row__actions { grid-column: 1 / -1; display: flex; gap: 6px; }
.uhc-painel .uhc-gallery { display: flex; flex-wrap: wrap; gap: 6px; margin-bottom: 8px; }
.uhc-painel .uhc-gallery img { width: 64px; height: 64px; object-fit: cover; border-radius: 3px; }
.uhc-painel .components-base-control__label, .uhc-painel .components-input-control__label { text-transform: none; font-size: 12px; font-weight: 600; }
