	::root{
		--size:1px;
	}
.custom-select {
  min-width: 100%;
  position: relative;
}

body{ max-width:100%; overflow-x:hidden; font-family: "Bai Jamjuree",sans-serif !important;  }
.fantasma{ pointer-events:none !important; }
.custom-select select {
  appearance: none;
  width: 100%;
  font-size: 1rem;
  padding: 0.65em 6em 0.65em 1em;
  background-color: #F5F5F5;
  border: 0;
  border-radius:5rem;
  color: #707070;
  cursor: pointer;
}

.custom-select::before,
.custom-select::after {
  --size: 0.3rem;
  content: "";
  position: absolute;
  right: 1rem;
  pointer-events: none;
}

.custom-select::before {
  border-left: var(--size) solid transparent;
  border-right: var(--size) solid transparent;
  border-bottom: var(--size) solid black;
  top: 40%;
}

.custom-select::after {
  border-left: var(--size) solid transparent;
  border-right: var(--size) solid transparent;
  border-top: var(--size) solid black;
  top: 55%;
}

.custom-input::placeholder{ color:#ccc; }
.custom-input{ 

  width: 100%;
  font-size: 1rem;
  padding: 0.65em 6em 0.65em 1em !important;
  background-color: #F5F5F5;
  border: 0 !important;
  border-radius:5rem !important;
  color: #707070;
  cursor: pointer;

}






/* ====== PONTOS DE COLETA ====== */
#pontos-result { margin-top: 16px; }

.cdl-loading { opacity: .85; }
.cdl-loading-msg { padding: 16px; font-size: 14px; color: #1f3a5f; }

.cdl-empty, .cdl-error {
    padding: 14px 16px;
    border: 1px dashed #c7cfdb;
    border-radius: 10px;
    background: #f8fafc;
    color: #334155;
    font-size: 14px;
    height: 280px;
    display: flex
;
    align-items: center;
    justify-content: center;
    margin-top: 190px;
}

/* Bloco do ponto */
.cdl-ponto { margin: 28px 0; }
.cdl-ponto-header { margin-bottom: 10px; }
.cdl-ponto-nome {
  margin: 0 0 6px; font-weight: 700; color: rgb(0, 75, 112); font-size: 20px;
}
.cdl-ponto-end { color: rgb(112,112,112);  line-height:1.25; }
.cdl-ponto-tel { color: rgb(112,112,112); line-height:1.25; margin-top: 1px;  margin-bottom: 2rem; }

/* Carrossel / lista de cards */
.cdl-ponto-carousel { position: relative; }
.cdl-cards { }
.cdl-scroll-snap {
  display: flex; gap: 18px; overflow-x: auto; scroll-snap-type: x mandatory; padding-bottom: 6px;
}
.cdl-scroll-snap .cdl-card { scroll-snap-align: start; }

/* Card de data */

/* Força alinhamento à esquerda do track do Slick */
.cdl-ponto .slick-track{
  margin-left: 0 !important;
  margin-right: 0 !important;
}


.cdl-card {
  width: 260px; min-height: 220px;
  border: 1px solid #1b3857; border-radius: 16px; background: #fff;
  padding: 1rem; display: flex; flex-direction: column; justify-content: space-between;
  box-shadow: 0 1px 0 rgba(0,0,0,.06);
}
.cdl-card-top { }
.cdl-card-weekday {
  color: #0996ad; font-weight: 700; font-size: 16px; margin-bottom: 2px;
}
.cdl-card-day { display: flex; align-items: baseline; gap: 6px; }
.cdl-card-day .num { font-size: 64px; line-height: .9; color: #1b3857; font-weight: 800; }
.cdl-card-day .mon { font-size: 22px; color: #1b3857; font-weight: 700; }

.cdl-card-tip {
  font-size: 1rem; line-height: 1.25; color: rgb(112, 112, 112); margin: .5rem 0 1rem 0;
}

.cdl-card-bottom {
  background: none; padding: 0 0 0 0; 
  display: grid; grid-template-columns: 1fr; gap: 0; color: #0996ad;
}
.cdl-card-bottom .pill {
  font-weight: 600; text-align: left;
}

/* Slick (se presente) – ajuste mínimo para combinar com o visual */
.cdl-ponto .slick-slide { margin: 0 9px; }
.cdl-ponto .slick-list { margin: 0 -9px; }
.cdl-ponto .slick-arrow {
  width: 34px; height: 34px; border-radius: 999px; border: 0;
  background: none;  box-shadow: 0;
}
.cdl-ponto .slick-arrow:hover{
}

.cdl-ponto .slick-prev:before, .cdl-ponto .slick-next:before {
  color: #1b3857; font-size: 24px; line-height: 34px;
}


.cdl-ponto .slick-prev:before,
.cdl-ponto .slick-next:before { content: ""; } /* remove ícones default do slick */

.cdl-ponto .slick-arrow{
  position: absolute;
  top: 50% !important;
  transform: translateY(-50%);
  z-index: 2;
  width: 40px;
  height: 40px;
  padding: 0 !important;
  background: transparent;    /* sem fundo */
  border: none;               /* sem borda */
  box-shadow: none;
  cursor: pointer;
  display: grid;
  place-items: center;
  font-size: 0;               /* esconde "next/prev" caso apareça */
  margin-top:0 !important;
  margin-bottom:0 !important;
}

.cdl-ponto .slick-prev { left: -50px;   top: 50% !important;   margin-top:0 !important; margin-bottom:0 !important;}
.cdl-ponto .slick-next { right: -50px;   top: 50% !important;   margin-top:0 !important; margin-bottom:0 !important; }



.cdl-ponto .slick-arrow:hover,
.cdl-ponto .slick-arrow:focus{
  filter: brightness(0.9);
  background:none !important;
  outline: none;
  margin-top:0 !important;
  margin-bottom:0 !important;
  opacity:.75;
}

@media (max-width: 768px){
  .cdl-ponto .slick-prev { left: -25px;    top: 50% !important; }
  .cdl-ponto .slick-next { right: -25px;    top: 50% !important; }
}




/* Login */

/* caixa de mensagem inline */
.ui-inline-msg {
  display: none;
  margin-top: 14px;
  border-radius: 10px;
  padding: 12px 14px;
  border: 1px solid transparent;
  font-size: 14px;
  line-height: 1.4; }
.ui-inline-msg .msg-content {
    display: flex;
    align-items: center;
    gap: 8px;
    min-width: 100%;
    text-align: center;
    justify-content: center;
	
}

/* estados */
.ui-inline-msg.is-info    { background: #f4f7ff; border-color: #d8e2ff; width: 100%; margin: 4px; margin-bottom:1rem; }
.ui-inline-msg.is-success { background: #ecfdf3; border-color: #bbf7d0; width: 100%; margin: 4px;  margin-bottom:1rem;}
.ui-inline-msg.is-error { background: #fff1f2; border-color: #fecdd3; width: 100%; margin: 4px;  margin-bottom:1rem; }

/* botão carregando */
#btn-coleta.is-loading {
  position: relative;
  opacity: 0.85;
  cursor: progress;
}
#btn-coleta.is-loading::after {
  content: "";
  position: absolute;
  right: 12px;
  top: 50%;
  width: 16px;
  height: 16px;
  margin-top: -8px;
  border-radius: 50%;
  border: 2px solid currentColor;
  border-top-color: transparent;
  animation: spin 0.8s linear infinite;
}
@keyframes spin { to { transform: rotate(360deg); } }

/* erro de campo */
.elementor-field-group.has-error input {
  border-color: #ef4444 !important;
  background: #fff7f7;
}
.field-error-text {
  margin-top: 6px;
  font-size: 12px;
  color: #b91c1c;
}

/* caixa de mensagem inline */
.ui-inline-msg {
  display: none;
  margin-top: 14px;
  border-radius: 10px;
  padding: 12px 14px;
  border: 1px solid transparent;
  font-size: 14px;
  line-height: 1.4;
}
.ui-inline-msg .msg-content { display: flex; align-items: center; gap: 8px; }

/* estados */
.ui-inline-msg.is-info    { background: #f4f7ff; border-color: #d8e2ff; }
.ui-inline-msg.is-success { background: #ecfdf3; border-color: #bbf7d0; }
.ui-inline-msg.is-error   { background: #fff1f2; border-color: #fecdd3; }

/* erro de campo */
.elementor-field-group.has-error input {
  border-color: #ef4444 !important;
  background: #fff7f7;
}
.field-error-text {
  margin-top: 6px;
  font-size: 12px;
  color: #b91c1c;
}

/* botão carregando (spinner) */
#btn-recover.is-loading {
  position: relative;
  opacity: 0.85;
  cursor: progress;
}
#btn-recover.is-loading::after {
  content: "";
  position: absolute;
  right: 12px;
  top: 50%;
  width: 16px;
  height: 16px;
  margin-top: -8px;
  border-radius: 50%;
  border: 2px solid currentColor;
  border-top-color: transparent;
  animation: spin 0.8s linear infinite;
}
@keyframes spin { to { transform: rotate(360deg); } }
