/* Caraíva Map v1.0.9 — painel administrativo lateral reconstruído */

/* Desktop: ficha lateral mais larga, ancorada à direita */
@media (min-width: 901px){
  .ocm-app #ocm-admin-panel,
  .ocm-app #ocm-route-admin{
    left:auto!important;
    right:18px!important;
    top:18px!important;
    width:min(520px,calc(100vw - 36px))!important;
    max-width:520px!important;
    max-height:calc(100% - 36px)!important;
    padding:28px 28px 30px!important;
    border-radius:28px!important;
    transform:translateX(calc(100% + 56px))!important;
    box-shadow:0 26px 80px rgba(17,46,36,.24)!important;
    z-index:90!important;
  }
  .ocm-app #ocm-admin-panel.open,
  .ocm-app #ocm-route-admin.open{transform:translateX(0)!important}
}

.ocm-app #ocm-admin-panel{
  scrollbar-width:thin;
  scrollbar-color:rgba(31,78,58,.34) transparent;
}
.ocm-app #ocm-admin-panel::-webkit-scrollbar{width:7px}
.ocm-app #ocm-admin-panel::-webkit-scrollbar-track{background:transparent}
.ocm-app #ocm-admin-panel::-webkit-scrollbar-thumb{background:rgba(31,78,58,.28);border-radius:999px}

.ocm-app #ocm-admin-panel .ocm-admin-close{
  position:sticky!important;
  float:right!important;
  top:0!important;
  margin:-8px -8px 0 12px!important;
  width:42px!important;
  height:42px!important;
  display:grid!important;
  place-items:center!important;
  padding:0!important;
  border:1px solid rgba(23,56,45,.10)!important;
  background:#fff!important;
  color:#17382d!important;
  box-shadow:0 8px 24px rgba(23,56,45,.10)!important;
  font:500 22px/1 Inter,Arial,sans-serif!important;
  z-index:5!important;
}
.ocm-app #ocm-admin-panel .ocm-admin-close:hover,
.ocm-app #ocm-admin-panel .ocm-admin-close:focus{
  background:#17382d!important;
  color:#fff!important;
}

.ocm-app #ocm-admin-panel>small{
  display:block!important;
  margin:1px 52px 7px 0!important;
  font-size:10px!important;
  font-weight:800!important;
}
.ocm-app #ocm-admin-panel #ocm-admin-title{
  margin:0 52px 7px 0!important;
  font:700 clamp(26px,2.3vw,34px)/1.02 Fraunces,Georgia,serif!important;
  letter-spacing:-.025em!important;
  color:#17382d!important;
}
.ocm-app #ocm-admin-panel>.ocm-help{
  margin:0 46px 22px 0!important;
  max-width:390px!important;
  font-size:12px!important;
  line-height:1.55!important;
  color:#6d7770!important;
  opacity:1!important;
}

.ocm-app #ocm-front-form{
  display:grid!important;
  gap:15px!important;
  margin-top:0!important;
}
.ocm-app #ocm-front-form>*{min-width:0!important}

/* Campos principais */
.ocm-app #ocm-front-form input,
.ocm-app #ocm-front-form select,
.ocm-app #ocm-front-form textarea{
  min-height:48px!important;
  padding:12px 14px!important;
  border-radius:13px!important;
  border:1px solid rgba(139,94,60,.22)!important;
  font-size:13px!important;
  line-height:1.45!important;
  box-shadow:none!important;
}
.ocm-app #ocm-front-form textarea{min-height:94px!important}
.ocm-app #ocm-front-form input::placeholder,
.ocm-app #ocm-front-form textarea::placeholder{color:#8a8d89!important;opacity:1!important}

.ocm-v109-field-label,
.ocm-app #ocm-front-form .ocm-category-field,
.ocm-app #ocm-front-form .ocm-photo-field{
  display:grid!important;
  gap:7px!important;
  color:#34463f!important;
  font:800 11px/1.25 Inter,Arial,sans-serif!important;
}
.ocm-v109-field-label>span,
.ocm-v109-block-label{
  display:flex!important;
  align-items:center!important;
  gap:7px!important;
  color:#34463f!important;
  font:800 11px/1.25 Inter,Arial,sans-serif!important;
}
.ocm-v109-block-label small,
.ocm-v109-field-label small{
  color:#8c8a85!important;
  font-size:10px!important;
  font-weight:600!important;
  text-transform:none!important;
  letter-spacing:0!important;
}

/* Separadores de seção */
.ocm-v109-section-heading{
  display:flex!important;
  align-items:flex-start!important;
  justify-content:space-between!important;
  gap:12px!important;
  margin-top:4px!important;
  padding-top:16px!important;
  border-top:1px solid rgba(23,56,45,.09)!important;
}
.ocm-v109-section-heading:first-child{border-top:0!important;padding-top:0!important}
.ocm-v109-section-heading>div{display:grid!important;gap:3px!important}
.ocm-v109-section-heading small{
  color:#f07f3c!important;
  font:850 9px/1.2 Inter,Arial,sans-serif!important;
  letter-spacing:.13em!important;
  text-transform:uppercase!important;
}
.ocm-v109-section-heading strong{
  color:#17382d!important;
  font:750 15px/1.25 Inter,Arial,sans-serif!important;
}
.ocm-v109-section-heading p{
  margin:2px 0 0!important;
  color:#788079!important;
  font:500 11px/1.45 Inter,Arial,sans-serif!important;
}

/* Tipo do ponto turístico */
.ocm-app #ocm-front-form .ocm-tourism-tabs{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;
  gap:8px!important;
  width:100%!important;
  margin:0!important;
}
.ocm-app #ocm-front-form .ocm-tourism-tabs button{
  width:100%!important;
  min-width:0!important;
  min-height:50px!important;
  padding:10px 12px!important;
  border-radius:14px!important;
  white-space:normal!important;
  text-align:center!important;
  font-size:12px!important;
  line-height:1.25!important;
  overflow:visible!important;
}

/* Fotos */
.ocm-app #ocm-front-form .ocm-photo-field{
  padding:15px!important;
  border:1px dashed rgba(139,94,60,.30)!important;
  border-radius:16px!important;
  background:#fbf8f2!important;
}
.ocm-app #ocm-front-form .ocm-photo-field>small{
  color:#f07f3c!important;
  font-size:9px!important;
  line-height:1.35!important;
}
.ocm-app #ocm-front-form input[type="file"]{
  min-height:44px!important;
  padding:7px!important;
  background:#fff!important;
}
.ocm-app #ocm-front-form input[type="file"]::file-selector-button{
  min-height:32px!important;
  margin-right:10px!important;
  padding:0 12px!important;
  border:0!important;
  border-radius:9px!important;
  background:#17382d!important;
  color:#fff!important;
  font-weight:750!important;
  cursor:pointer!important;
}

/* Informações específicas do turista */
.ocm-v109-tourism-copy{display:grid!important;gap:10px!important}
.ocm-v109-tourism-copy label{display:grid!important;gap:7px!important}

/* Marcação do mapa */
.ocm-v109-location-card{
  display:grid!important;
  gap:12px!important;
  padding:16px!important;
  border:1px solid rgba(240,127,60,.24)!important;
  border-radius:18px!important;
  background:linear-gradient(180deg,#fffaf5 0%,#fff 100%)!important;
}
.ocm-v109-location-card .ocm-v109-location-copy{display:grid!important;gap:3px!important}
.ocm-v109-location-card .ocm-v109-location-copy small{
  color:#f07f3c!important;
  font:850 9px/1.2 Inter,Arial,sans-serif!important;
  letter-spacing:.12em!important;
}
.ocm-v109-location-card .ocm-v109-location-copy strong{
  color:#17382d!important;
  font-size:14px!important;
}
.ocm-v109-location-card .ocm-v109-location-copy p{
  margin:0!important;
  color:#777d78!important;
  font-size:11px!important;
  line-height:1.45!important;
}
.ocm-app #ocm-front-form .ocm-location-pick-actions{
  display:flex!important;
  align-items:center!important;
  gap:10px!important;
  flex-wrap:wrap!important;
}
.ocm-app #ocm-front-form .ocm-pick-location{
  min-height:42px!important;
  padding:0 15px!important;
  border:1px solid #f07f3c!important;
  border-radius:999px!important;
  background:#f07f3c!important;
  color:#fff!important;
  text-decoration:none!important;
  font-size:12px!important;
}
.ocm-app #ocm-front-form .ocm-pick-location:hover,
.ocm-app #ocm-front-form .ocm-pick-location:focus{
  background:#fff!important;
  color:#f07f3c!important;
  text-decoration:none!important;
}
.ocm-app #ocm-front-form .ocm-cancel-pick{min-height:42px!important;padding:0 4px!important}
.ocm-app #ocm-front-form .ocm-front-confirm{
  margin:0!important;
  padding:14px!important;
  border-radius:14px!important;
}
.ocm-app #ocm-front-form .ocm-front-confirm>div{
  display:grid!important;
  grid-template-columns:1fr 1fr!important;
  gap:8px!important;
}
.ocm-app #ocm-front-form .ocm-front-confirm .ocm-confirm-cancel{grid-column:1/-1!important}

/* Fundação / dados operacionais */
.ocm-app #ocm-front-form .ocm-v250-front-fields{
  display:grid!important;
  gap:11px!important;
  margin:0!important;
  padding:17px!important;
  border:1px solid rgba(23,56,45,.11)!important;
  border-radius:18px!important;
  background:#f8f7f2!important;
}
.ocm-app #ocm-front-form .ocm-v250-front-title{margin:0 0 2px!important}
.ocm-app #ocm-front-form .ocm-v250-front-title small{font-size:9px!important}
.ocm-app #ocm-front-form .ocm-v250-front-title strong{font-size:13px!important}
.ocm-app #ocm-front-form .ocm-v250-front-row{display:grid!important;grid-template-columns:1fr 1fr!important;gap:9px!important}
.ocm-app #ocm-front-form .ocm-v250-front-fields details{
  padding:11px 12px!important;
  border-radius:12px!important;
  background:#fff!important;
  border:1px solid rgba(23,56,45,.08)!important;
}

/* Contatos e publicação */
.ocm-app #ocm-front-form .ocm-commercial-fields:not([hidden]){
  display:grid!important;
  grid-template-columns:1fr 1fr!important;
  gap:10px!important;
}
.ocm-app #ocm-front-form .ocm-commercial-fields[hidden]{display:none!important}
.ocm-app #ocm-front-form .ocm-commercial-fields .ocm-v109-section-heading{grid-column:1/-1!important;width:100%!important}
.ocm-app #ocm-front-form .ocm-commercial-fields input:nth-child(3),
.ocm-app #ocm-front-form .ocm-commercial-fields input:nth-child(4),
.ocm-app #ocm-front-form .ocm-commercial-fields input:nth-child(5),
.ocm-app #ocm-front-form .ocm-commercial-fields input:nth-child(6){grid-column:auto!important}
.ocm-app #ocm-front-form>button[type="submit"]{
  min-height:50px!important;
  margin-top:4px!important;
  border-radius:14px!important;
  font-size:13px!important;
  font-weight:800!important;
}
.ocm-app #ocm-front-form .ocm-form-status{font-size:11px!important;line-height:1.45!important}

/* Nunca deixe conteúdo horizontal escapar do painel */
.ocm-app #ocm-admin-panel,
.ocm-app #ocm-admin-panel *{box-sizing:border-box!important}
.ocm-app #ocm-admin-panel button,
.ocm-app #ocm-admin-panel input,
.ocm-app #ocm-admin-panel select,
.ocm-app #ocm-admin-panel textarea{max-width:100%!important}

@media (max-width:900px){
  .ocm-app #ocm-admin-panel,
  .ocm-app #ocm-route-admin{
    left:10px!important;
    right:10px!important;
    top:max(74px,calc(env(safe-area-inset-top) + 64px))!important;
    width:auto!important;
    max-width:none!important;
    max-height:calc(100dvh - 86px - env(safe-area-inset-top))!important;
    padding:22px 18px 26px!important;
    border-radius:22px!important;
    transform:translateY(calc(100% + 100px))!important;
  }
  .ocm-app #ocm-admin-panel.open,
  .ocm-app #ocm-route-admin.open{transform:none!important}
}

@media (max-width:560px){
  .ocm-app #ocm-front-form .ocm-tourism-tabs{grid-template-columns:1fr!important}
  .ocm-app #ocm-front-form .ocm-commercial-fields:not([hidden]){grid-template-columns:1fr!important}
  .ocm-app #ocm-front-form .ocm-v250-front-row{grid-template-columns:1fr!important}
  .ocm-app #ocm-front-form .ocm-front-confirm>div{grid-template-columns:1fr!important}
  .ocm-app #ocm-front-form .ocm-front-confirm .ocm-confirm-cancel{grid-column:auto!important}
}

/* v1.2.2 — orientação por tipo de cadastro */
.ocm-v122-type-copy{display:grid;gap:4px;padding:13px 14px;border-radius:15px;background:#f8f7f2;border:1px solid rgba(23,56,45,.10)}.ocm-v122-type-copy small{color:#f07f3c;font:850 9px/1.2 Inter,Arial,sans-serif;letter-spacing:.12em}.ocm-v122-type-copy strong{color:#17382d;font:750 14px/1.25 Inter,Arial,sans-serif}.ocm-v122-type-copy p{margin:0;color:#727b75;font:500 11px/1.45 Inter,Arial,sans-serif}
