/*
 * Hotel Show · Widget Motz com o layout de caixa lateral do Alphaville (caixa "Faça uma reserva" na coluna lateral).
 * Carregado DEPOIS do go.min.css e do motz-widget.css: só muda cores, formas e o layout para a coluna estreita.
 */
.booking .motz-widget {
  --go-font-family: 'Fira Sans', system-ui, sans-serif;
  --go-titulo-font: 'Fira Sans', system-ui, sans-serif;
  --go-titulo-descricao-font: 'Fira Sans', system-ui, sans-serif;
  --go-input-font: 'Fira Sans', system-ui, sans-serif;
  --go-button-font: 'Fira Sans', system-ui, sans-serif;
  --go-calendario-font: 'Fira Sans', system-ui, sans-serif;
  --go-descricao-font: 'Fira Sans', system-ui, sans-serif;
  --go-modal-header-font: 'Fira Sans', system-ui, sans-serif;
  --go-modal-body-font: 'Fira Sans', system-ui, sans-serif;
  --go-modal-button-font: 'Fira Sans', system-ui, sans-serif;
  --go-indisponivel-font-family: 'Fira Sans', system-ui, sans-serif;
  --go-input-disabled-font: 'Fira Sans', system-ui, sans-serif;

  --go-background: transparent;
  --go-loading-background: transparent;
  --go-loading-color: var(--red);
  --go-text: #6C5960;
  --go-titulo-font-color: #1A1A1A;
  --go-titulo-descricao-font-color: #1A1A1A;
  --go-titulo-descricao-font-size: 15px;
  --go-input-background: #FFFFFF;
  --go-input-label: #1A1A1A;
  --go-input-text: #1A1A1A;
  --go-input-icon: #6C5960;
  --go-input-border: #EAD6D9;
  --go-input-border-radius: 14px;
  --go-button-background: var(--orange);
  --go-button-background-hover: var(--red);
  --go-button-text: #FFFFFF;
  --go-button-icon: #FFFFFF;
  --go-button-border-radius: 999px;
  --go-button-text-transform: none;
  --go-button-font-size: 16px;
  --go-button-font-weight: 700;
  --go-tab-background: #FFFFFF;
  --go-tab-border: #EAD6D9;
  --go-tab-text: #1A1A1A;
  --go-tab-icon: #1A1A1A;
  --go-tab-selected-background: var(--red);
  --go-tab-selected-text: #FFFFFF;
  --go-tab-selected-icon: #FFFFFF;
  --go-reserva-background: #FFFFFF;
  --go-reserva-title: #1A1A1A;
  --go-reserva-text: #1A1A1A;
  --go-reserva-subtext: #6C5960;
  --go-reserva-border-radius: 16px;
  --go-imediatas-color: #1A1A1A;
  --go-imediatas-size: 17px;
  --go-imediatas-weight: 600;
  --go-imediatas-list-background: transparent;
  --go-imediatas-card-background: #FFFFFF;
  --go-imediatas-card-border: transparent;
  --go-imediatas-card-hover: #FFFFFF;
  --go-imediatas-arrow: #1A1A1A;
  --go-calendario-selected-background: var(--red);
  --go-calendario-semana-background: var(--wine);
  --go-nota-background: var(--red);
  --go-semReserva-botao: var(--wine);
  --go-semReserva-input-border: #EAD6D9;
  --go-semReserva-table-color: #1A1A1A;
  --go-semReserva-table-border: transparent;
  --go-qtd-disponivel-background: var(--orange);
  --go-qtd-disponivel-font-color: #FFFFFF;
  --go-qtd-disponivel-icon: #FFFFFF;
  --go-modal-header-bg: var(--wine);
  --go-modal-button-background: var(--red);
  --go-tarja-campanha-background: var(--orange);
  --go-tarja-campanha-color: #FFFFFF;
  /* Leitura: nada de cinza-claro em fundo claro */
  --go-retab-inativo-background: transparent;
  --go-retab-inativa-font: #1A1A1A;
  --go-retab-ativo-background: var(--wine);
  --go-retab-ativo-font: #FFFFFF;
  --go-retab-ativo-border-color: transparent;
  --go-indisponivel-border: 1.5px solid #EAD6D9;
  --go-indisponivel-font-family: 'Fira Sans', system-ui, sans-serif;
  --go-indisponivel-font-medium: 600;
  --go-indisponivel-font-size: 16px;
  --go-indisponivel-font-color: #1A1A1A;
  --go-input-disabled-opacity: 0.75;
  --go-input-disabled-icon: #6C5960;
  --go-input-disabled-background: #FBF3F2;
  --go-input-disabled-border: 1.5px solid #EAD6D9;
  --go-calendario-text-disabled: #9A8F8B;
  --go-calendario-icon: #6C5960;
  --go-calendario-seta: #1A1A1A;
  --go-reserva-icon: #6C5960;
  --go-reserva-price-of: #6C5960;
  --go-semReserva-color: #1A1A1A;
  --go-semReserva-input-color: #1A1A1A;
  --go-descricao-font-color: #1A1A1A;
  display: block;
  width: 100%;
}

/* Fundo e sombra: o widget fica dentro da caixa vinho-rosé suave, igual à estrutura Alphaville */
.booking .motz-widget #suites-availability-go { background: transparent !important; box-shadow: none !important; color: #1A1A1A; }
.booking .motz-widget #suites-availability-go p { margin: 0; }

/* Coluna estreita: o layout de celular do widget em qualquer largura de tela */
.booking .motz-widget .itemComponentActive,
.booking .motz-widget .itemComponentInative { padding: 0 !important; background: transparent !important; }
.booking .motz-widget .itemComponentActive { flex-direction: column !important; align-items: stretch !important; gap: 0 !important; }
.booking .motz-widget .go-header { width: 100% !important; flex: 0 0 auto !important; margin: 0 0 14px !important; text-align: left !important; }
.booking .motz-widget .go-header-title { display: none !important; } /* o título "Faça uma reserva" é o do site */
.booking .motz-widget .go-header-subdescription { margin: 0 !important; font-size: 15px !important; line-height: 1.55 !important; color: #1A1A1A !important; }
.booking .motz-widget .go-programadas-descricao { margin: 0 0 14px !important; font-size: 15px; line-height: 1.55; color: #1A1A1A; }
.booking .motz-widget .go-programadas-wrapper { padding: 0 !important; }
.booking .motz-widget .go-programadas-filtros { flex-direction: column !important; align-items: stretch !important; gap: 14px !important; }
.booking .motz-widget #suites-availability-go .go-programadas-filtros-periodo,
.booking .motz-widget #suites-availability-go .go-programadas-filtros-data { flex: 0 0 auto !important; width: 100% !important; min-width: 0 !important; flex-direction: column !important; gap: 14px !important; }
.booking .motz-widget #suites-availability-go .go-programadas-filtros-data > .go-programadas-filtros-checkin,
.booking .motz-widget #suites-availability-go .go-programadas-filtros-data > .go-programadas-filtros-checkout { flex: 0 0 auto !important; width: 100% !important; min-width: 0 !important; }
.booking .motz-widget .go-programadas-filtros-buscar { width: 100% !important; margin: 4px 0 0 !important; }
.booking .motz-widget .go-programadas-filtros-buscar button {
  width: 100% !important; min-width: 0 !important; max-width: none !important; min-height: 56px !important;
  border-radius: 999px !important; border: 0 !important; box-shadow: none !important;
  font: 700 16px/1.2 'Fira Sans', system-ui, sans-serif !important; letter-spacing: 0 !important; text-transform: none !important;
  background: var(--orange) !important; color: #FFFFFF !important; cursor: pointer; transition: transform .15s ease !important;
}
.booking .motz-widget .go-programadas-filtros-buscar button:hover { transform: translateY(-1px); box-shadow: none !important; }
.booking .motz-widget .go-programadas-filtros-buscar button svg path { fill: #FFFFFF !important; }

/* Rótulos e campos arredondados */
.booking .motz-widget .go-programadas-filtros-periodo-titulo,
.booking .motz-widget .go-programadas-listagem-item-entrada-saida-titulo,
.booking .motz-widget label { font: 700 14px/1.3 'Fira Sans', system-ui, sans-serif !important; color: #1A1A1A !important; text-transform: none !important; margin-bottom: 8px; }
.booking .motz-widget .go-programadas-filtros-periodo-input,
.booking .motz-widget .go-programadas-listagem-item-entrada-saida-input,
.booking .motz-widget .go-programadas-dropdown {
  min-height: 52px !important; border: 1.5px solid #EAD6D9 !important; border-radius: 14px !important;
  background: #FFFFFF !important; font-size: 16px !important; color: #1A1A1A !important; padding-left: 14px; cursor: pointer;
}
.booking .motz-widget .go-programadas-filtros-periodo-input p,
.booking .motz-widget .go-programadas-dropdown p { font-size: 16px !important; color: #1A1A1A !important; }

/* Abas em pílula: "Reservar suíte / Ir sem reservar" e "ir agora / ir depois".
   As abas do topo ficam FORA do #suites-availability-go no widget real, por isso os seletores não usam o id.
   O marcador deslizante do widget fica escondido e a cor é desenhada na própria aba escolhida:
   o texto branco do widget nunca fica sobre fundo branco. */
.booking .motz-widget .go-tabs {
  display: flex !important; width: 100% !important; max-width: none !important; min-height: 52px !important; margin: 0 0 16px !important;
  padding: 5px !important; gap: 4px; border: 1.5px solid #EAD6D9 !important; border-radius: 999px !important; background: #FFFFFF !important; position: relative;
}
.booking .motz-widget .go-tabs .go-tabs-selecionada { display: none !important; } /* some de vez: não ocupa espaço */
.booking .motz-widget .go-tabs .go-tabs-programadas,
.booking .motz-widget .go-tabs .go-tabs-imediatas {
  flex: 1 1 0 !important; width: auto !important; max-width: none !important; min-width: 0 !important; min-height: 42px !important;
  display: flex !important; align-items: center !important; justify-content: center !important; gap: 8px !important;
  padding: 0 12px !important; white-space: nowrap !important; border-radius: 999px !important; cursor: pointer;
  font: 600 15px/1.2 'Fira Sans', system-ui, sans-serif !important; color: #1A1A1A !important; background: transparent !important;
  position: relative; z-index: 1; text-decoration: none !important;
}
.booking .motz-widget .go-tabs .go-tabs-programadas svg path,
.booking .motz-widget .go-tabs .go-tabs-imediatas svg path { fill: #1A1A1A !important; }
/* Topo: aba escolhida grafite */
.booking .motz-widget .go-tabs-selecionada[type="RESERVAS"] ~ .go-tabs-programadas,
.booking .motz-widget .go-tabs-selecionada[type="CALENDARIO"] ~ .go-tabs-imediatas { background: #1A1A1A !important; color: #FFFFFF !important; font-weight: 700 !important; }
/* ir agora / ir depois: aba escolhida vermelha */
.booking .motz-widget .go-tabs-selecionada[type="IMEDIATAS"] ~ .go-tabs-imediatas,
.booking .motz-widget .go-tabs-selecionada[type="PROGRAMADAS"] ~ .go-tabs-programadas { background: var(--red) !important; color: #FFFFFF !important; font-weight: 700 !important; }
.booking .motz-widget .go-tabs-selecionada[type="RESERVAS"] ~ .go-tabs-programadas svg path,
.booking .motz-widget .go-tabs-selecionada[type="CALENDARIO"] ~ .go-tabs-imediatas svg path,
.booking .motz-widget .go-tabs-selecionada[type="IMEDIATAS"] ~ .go-tabs-imediatas svg path,
.booking .motz-widget .go-tabs-selecionada[type="PROGRAMADAS"] ~ .go-tabs-programadas svg path { fill: #FFFFFF !important; }

/* Lista de períodos (ir agora): cartões brancos arredondados, como antes */
.booking .motz-widget #suites-availability-go .go-imediatas-listagem { gap: 8px !important; padding: 0 !important; background: transparent !important; }
.booking .motz-widget #suites-availability-go .go-imediatas-listagem-item {
  height: auto !important; min-height: 68px !important; padding: 16px 44px 16px 20px !important;
  border: 0 !important; border-radius: 16px !important; background: #FFFFFF !important; transition: box-shadow .15s ease;
}
.booking .motz-widget #suites-availability-go .go-imediatas-listagem-item:hover { box-shadow: inset 0 0 0 1.5px #1A1A1A !important; }
.booking .motz-widget #suites-availability-go .go-imediatas-listagem-item p { font: 700 18px/1.3 'Fira Sans', system-ui, sans-serif !important; color: #1A1A1A !important; }
.booking .motz-widget #suites-availability-go .go-imediatas-listagem-item strong { font-weight: 700 !important; }
.booking .motz-widget #suites-availability-go .go-imediatas-listagem-item::after { border-color: #1A1A1A !important; right: 20px !important; }

/* Resultados de "outro dia" */
.booking .motz-widget .go-programadas-listagem { padding: 16px 0 0 !important; }
.booking .motz-widget .go-programadas-listagem-item { border-radius: 16px !important; box-shadow: none !important; background: #FFFFFF !important; }
.booking .motz-widget .go-programadas-listagem-item-titulo { font: 800 20px/1.2 'Fira Sans', system-ui, sans-serif !important; letter-spacing: -.02em; }

/* Ir sem reservar */
.booking .motz-widget .preco-calendario { padding: 0 !important; }
.booking .motz-widget .compo-aviso-preco { border-radius: 12px; font-size: 14px; }
.booking .motz-widget .compo-aviso-botao { border-radius: 999px; }
.booking .motz-widget .compo-box-calendario { border: 1.5px solid #EAD6D9 !important; border-radius: 14px; background: #FFFFFF !important; margin-bottom: 16px !important; }
.booking .motz-widget #tblCalendarioPeriodosPernoites { flex-direction: column !important; padding: 0 !important; }
.booking .motz-widget #tblCalendarioPeriodosPernoites tr { width: 100% !important; flex: 0 0 auto !important; height: auto !important; min-height: 64px !important; padding: 14px 20px !important; border: 0 !important; border-radius: 16px !important; }
.booking .motz-widget #tblCalendarioPeriodosPernoites td { font: 600 17px/1.3 'Fira Sans', system-ui, sans-serif !important; }

/* Calendário */
/* Calendário: um mês por vez, na largura da caixa (o widget abre dois meses lado a lado) */
.booking .motz-widget .go-programadas-calendario {
  border-radius: 16px; z-index: 60 !important; left: 0 !important; right: auto !important; width: 100% !important; max-width: 100% !important;
  margin-top: 6px !important; padding: 12px 8px !important; box-sizing: border-box;
}
.booking .motz-widget .go-programadas-calendario .DayPicker,
.booking .motz-widget .go-programadas-calendario .DayPicker-wrapper { width: 100% !important; padding: 0 !important; }
.booking .motz-widget .go-programadas-calendario .DayPicker-Months { flex-direction: column !important; flex-wrap: nowrap !important; width: 100% !important; }
.booking .motz-widget .go-programadas-calendario .DayPicker-Month + .DayPicker-Month,
.booking .motz-widget .go-programadas-calendario .DayPicker-Months > div + div { display: none !important; }
.booking .motz-widget .go-programadas-calendario .DayPicker-Month { width: 100% !important; margin: 0 !important; display: table; border-collapse: separate; border-spacing: 2px 4px; }
.booking .motz-widget .go-programadas-calendario .DayPicker-Caption { text-align: center !important; margin-bottom: 8px; }
.booking .motz-widget .go-programadas-calendario .DayPicker-Caption > div { font: 800 17px/1.3 'Fira Sans', system-ui, sans-serif !important; }
.booking .motz-widget .go-programadas-calendario .DayPicker-NavBar { position: absolute; left: 8px; right: 8px; top: 12px; z-index: 2; }
.booking .motz-widget .go-programadas-calendario .DayPicker-NavButton--prev { left: 0 !important; right: auto !important; position: absolute; }
.booking .motz-widget .go-programadas-calendario .DayPicker-NavButton--next { right: 0 !important; left: auto !important; position: absolute; }
.booking .motz-widget .go-programadas-calendario .DayPicker-Weekday { font-size: 12px !important; padding: 6px 0 !important; }
.booking .motz-widget .go-programadas-calendario .DayPicker-Day { padding: 8px 0 !important; font-size: 15px !important; }
.booking .motz-widget .go-programadas-dropdown-select,
.booking .motz-widget .go-programadas-filtros-periodo-select,
.booking .motz-widget .DayPicker-wrapper,
.booking .motz-widget [class*="dropdown"] ul { z-index: 60 !important; }
.booking .motz-widget .go-programadas-filtros-checkin,
.booking .motz-widget .go-programadas-filtros-checkout,
.booking .motz-widget .go-programadas-filtros-periodo { position: relative; }
.booking .motz-widget .DayPicker-Day { border-radius: 999px !important; }

/* Selos e avisos */
.booking .motz-widget [class*="qtd-disponivel"], .booking .motz-widget [class*="qtdDisponivel"] { border-radius: 999px !important; }

/* Modal do Motz */
.moda-custom-go .modal-content { border-radius: 20px !important; overflow: hidden; }
.moda-custom-go .btn-modal-go-normal { border-radius: 999px !important; }


/* Sem espaço sobrando entre o título "Faça uma reserva" e o widget */
.booking .motz-widget #suites-availability-go,
.booking .motz-widget .suites-availability-go { padding: 0 !important; margin: 0 !important; min-height: 0 !important; }
.booking .motz-widget #suites-availability-go > :first-child { margin-top: 0 !important; }
.booking .motz-widget .go-tabs:first-child { margin-top: 0 !important; }
.booking .motz-widget .itemComponentActive > :first-child { margin-top: 0 !important; }

/* Suíte ocupada / sem horário: texto escuro e legível */
.booking .motz-widget [class*="indisponivel"], .booking .motz-widget [class*="Indisponivel"],
.booking .motz-widget [class*="sem-resultado"], .booking .motz-widget .sem-resultado,
.booking .motz-widget [class*="esgot"], .booking .motz-widget [class*="ocupad"] {
  color: #1A1A1A !important; opacity: 1 !important; font-weight: 600;
}
.booking .motz-widget .sem-resultado { background: #FFFFFF !important; border-radius: 16px; border: 1.5px solid #EAD6D9; padding: 14px 18px !important; margin-top: 12px !important; }
.booking .motz-widget .sem-resultado p, .booking .motz-widget .sem-resultado span { color: #1A1A1A !important; }
.booking .motz-widget .go-imediatas-listagem-item[disabled], .booking .motz-widget .go-imediatas-listagem-item.disabled,
.booking .motz-widget .go-imediatas-listagem-item[aria-disabled="true"] { opacity: .75 !important; background: #FBF3F2 !important; }
.booking .motz-widget .go-imediatas-listagem-item[disabled] p, .booking .motz-widget .go-imediatas-listagem-item.disabled p { color: #1A1A1A !important; }

/* Campos escolhidos e marcados: texto sempre escuro sobre fundo claro */
.booking .motz-widget .go-programadas-filtros-periodo-input:focus-within { border-color: var(--orange) !important; box-shadow: 0 0 0 3px rgba(237,112,32,.2) !important; outline: none; }
.booking .motz-widget #suites-availability-go ::selection { background: rgba(237,112,32,.25); color: #1A1A1A; }
.booking .motz-widget .go-programadas-filtros-periodo-select-item,
.booking .motz-widget .go-programadas-dropdown-select li,
.booking .motz-widget [role="option"] { color: #1A1A1A !important; background: #FFFFFF; }
.booking .motz-widget .go-programadas-filtros-periodo-select-item:hover,
.booking .motz-widget [role="option"][aria-selected="true"],
.booking .motz-widget .go-programadas-filtros-periodo-select-item.selected,
.booking .motz-widget .go-programadas-filtros-periodo-select-item.active { background: #FFF7F5 !important; color: #1A1A1A !important; font-weight: 700; }
.booking .motz-widget .DayPicker-Day--selected:not(.DayPicker-Day--disabled):not(.DayPicker-Day--outside) { background: var(--red) !important; color: #FFFFFF !important; }
.booking .motz-widget .DayPicker-Day--disabled { color: #B9AEA9 !important; }

/* Abas e blocos do widget sem margens sobrando */
.booking .motz-widget .suites-availability-go > *:first-child,
.booking .motz-widget .suites-availability-go > *:first-child > *:first-child { margin-top: 0 !important; padding-top: 0 !important; }

/* Abas: grade de colunas iguais. Cada aba visível ocupa a mesma largura, seja qual for a largura que o widget der a ela */
.booking .motz-widget .go-tabs { display: grid !important; grid-auto-flow: column !important; grid-auto-columns: minmax(0, 1fr) !important; align-items: stretch !important; }
.booking .motz-widget .go-tabs > .go-tabs-imediatas,
.booking .motz-widget .go-tabs > .go-tabs-programadas { width: auto !important; max-width: none !important; margin: 0 !important; }
.booking .motz-widget .go-tabs .go-tabs-imediatas svg,
.booking .motz-widget .go-tabs .go-tabs-programadas svg { width: 18px !important; height: 18px !important; flex: none !important; }

/* "Ir sem reservar": avisos em tamanho de texto normal da caixa */
.booking .motz-widget .compo-aviso-recepcao { font: 600 14px/1.45 'Fira Sans', system-ui, sans-serif !important; color: #1A1A1A !important; text-align: left !important; margin: 4px 0 8px !important; }
.booking .motz-widget .compo-aviso-recepcao strong, .booking .motz-widget .compo-aviso-recepcao b { font-weight: 800 !important; }
.booking .motz-widget .compo-aviso-garantia { font: 400 13px/1.45 'Fira Sans', system-ui, sans-serif !important; color: #6C5960 !important; text-align: left !important; margin: 0 0 14px !important; }
.booking .motz-widget .compo-aviso-preco { font: 600 13px/1.4 'Fira Sans', system-ui, sans-serif !important; text-align: left !important; padding: 8px 14px !important; }
.booking .motz-widget .compo-box-calendario span { font: 500 15px/1.3 'Fira Sans', system-ui, sans-serif !important; color: #1A1A1A !important; }

/* Medidas: no widget real, parte do conteúdo ("Ir sem reservar") fica fora do #suites-availability-go,
   onde a medida border-box do widget não vale. Sem isso, os cartões passam da borda da caixa. */
.booking .motz-widget, .booking .motz-widget *, .booking .motz-widget *::before, .booking .motz-widget *::after { box-sizing: border-box !important; }
.booking .motz-widget .preco-calendario { width: 100% !important; max-width: 100% !important; margin: 0 !important; padding: 0 !important; }
.booking .motz-widget .compo-box-calendario,
.booking .motz-widget .compo-aviso-botao,
.booking .motz-widget .compo-aviso-preco { width: 100% !important; max-width: 100% !important; }

/* Tarja "Clique no botão para consultar outros dias": uma linha só, discreta */
.booking .motz-widget .compo-aviso-botao { font: 700 11px/1.3 'Fira Sans', system-ui, sans-serif !important; letter-spacing: 0 !important; padding: 7px 10px !important; margin: 0 0 8px !important; }

/* Períodos do "Ir sem reservar": período à esquerda, preço à direita, na mesma linha */
.booking .motz-widget #tblCalendarioPeriodosPernoites { display: flex !important; flex-direction: column !important; gap: 8px !important; width: 100% !important; max-width: 100% !important; padding: 0 !important; margin: 0 !important; }
.booking .motz-widget #tblCalendarioPeriodosPernoites tr {
  display: flex !important; flex-direction: row !important; align-items: center !important; justify-content: space-between !important; gap: 12px !important;
  width: 100% !important; max-width: 100% !important; height: auto !important; min-height: 56px !important; padding: 14px 20px !important; margin: 0 !important;
}
.booking .motz-widget #tblCalendarioPeriodosPernoites td { width: auto !important; flex: 0 1 auto !important; font: 600 16px/1.3 'Fira Sans', system-ui, sans-serif !important; color: #1A1A1A !important; }
.booking .motz-widget #tblCalendarioPeriodosPernoites td:last-child { font-weight: 800 !important; text-align: right !important; white-space: nowrap !important; }
.booking .motz-widget #tblCalendarioPeriodosPernoites td:only-child { text-align: left !important; }

/* Bloco vazio que o widget deixa acima das abas (escondido também pelo app.js) */
.booking .motz-widget .is-vazio { display: none !important; }
