/* Una sola ficha visual para visitantes, administradores y editores. */
.detail,
.role-admin .detail,
.role-editor .detail {
  width: 100% !important;
  max-width: 1160px !important;
  margin: 0 auto !important;
  padding: 48px 24px !important;
}

.detail > .cover-photo,
.role-admin .detail > .cover-photo,
.role-editor .detail > .cover-photo {
  display: block !important;
  width: 100% !important;
  max-width: 820px !important;
  height: min(52vw, 460px) !important;
  max-height: 460px !important;
  margin: 8px auto 38px !important;
  object-fit: contain !important;
  object-position: center !important;
  background: #f5f1e8 !important;
  border: 1px solid #dce3df !important;
  border-radius: 20px !important;
}

.detail .detail-grid,
.role-admin .detail .detail-grid,
.role-editor .detail .detail-grid {
  display: grid !important;
  grid-template-columns: minmax(0, 1.45fr) minmax(320px, .75fr) !important;
  align-items: start !important;
  gap: 46px !important;
  width: 100% !important;
}

.detail .detail-grid > *,
.detail aside,
.detail aside dl,
.detail aside dd {
  min-width: 0 !important;
  max-width: 100% !important;
}

.detail .weekly-hours {
  display: grid !important;
  grid-template-columns: 1fr !important;
  gap: 0 !important;
  width: 100% !important;
  margin: 8px 0 0 !important;
}

.detail .weekly-hours > span {
  display: grid !important;
  grid-template-columns: 50px minmax(0, 1fr) !important;
  align-items: center !important;
  gap: 14px !important;
  width: 100% !important;
  padding: 8px 0 !important;
  border-bottom: 1px solid rgba(23, 53, 45, .13) !important;
}

.detail .weekly-hours > span:last-child { border-bottom: 0 !important; }
.detail .weekly-hours b,
.detail .weekly-hours i {
  display: block !important;
  margin: 0 !important;
  font-size: 13px !important;
  line-height: 1.35 !important;
  white-space: nowrap !important;
}
.detail .weekly-hours i {
  overflow: hidden !important;
  color: #17352d !important;
  text-align: right !important;
  text-overflow: ellipsis !important;
  font-style: normal !important;
}

.detail .open-badge {
  display: inline-block !important;
  margin-left: 7px !important;
  padding: 6px 10px !important;
  border-radius: 999px !important;
  background: #dff3e7 !important;
  color: #14643f !important;
  font-size: 11px !important;
  font-weight: 900 !important;
  line-height: 1.2 !important;
}
.detail .open-badge.closed { background: #f0e6e1 !important; color: #765044 !important; }

@media (max-width: 800px) {
  .detail,
  .role-admin .detail,
  .role-editor .detail { padding: 32px 16px !important; }

  .detail > .cover-photo,
  .role-admin .detail > .cover-photo,
  .role-editor .detail > .cover-photo {
    max-width: 100% !important;
    height: 235px !important;
    max-height: 235px !important;
    margin: 8px auto 26px !important;
    border-radius: 14px !important;
  }

  .detail .detail-grid,
  .role-admin .detail .detail-grid,
  .role-editor .detail .detail-grid {
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 28px !important;
  }

  .detail h1 { font-size: clamp(38px, 12vw, 52px) !important; }
}

@media (max-width: 390px) {
  .detail > .cover-photo,
  .role-admin .detail > .cover-photo,
  .role-editor .detail > .cover-photo {
    height: 210px !important;
    max-height: 210px !important;
  }
}
