/* v1.08 — Responsive profundo, navegación desplazable, filtros de recetas y coherencia visual. */

/* Menú administrativo: todo el contenido debe ser alcanzable incluso en pantallas bajas. */
.admin-sidebar {
  height: 100dvh;
  max-height: 100dvh;
  overflow: hidden;
}
.admin-sidebar .admin-brand { flex: 0 0 auto; }
.admin-sidebar nav {
  flex: 1 1 auto;
  min-height: 0;
  overflow-y: auto;
  overflow-x: hidden;
  overscroll-behavior: contain;
  scrollbar-gutter: stable;
  padding-right: 5px;
  padding-bottom: 10px;
}
.admin-sidebar nav::-webkit-scrollbar { width: 7px; }
.admin-sidebar nav::-webkit-scrollbar-thumb { border-radius: 999px; background: rgba(255,255,255,.26); }
.admin-sidebar nav::-webkit-scrollbar-track { background: rgba(255,255,255,.04); }
.admin-logout {
  flex: 0 0 auto;
  margin-top: 0 !important;
  padding-top: 10px;
  border-top: 1px solid rgba(255,255,255,.13);
  background: inherit;
}

/* Los resúmenes de hero son información, no falsos botones. */
.hero-summary-panel,
.hero-summary-panel-dark {
  gap: 0 !important;
  overflow: hidden;
  border: 1px solid rgba(255,255,255,.16);
  border-radius: 22px;
  background: rgba(14,28,70,.42);
  box-shadow: none;
  backdrop-filter: blur(16px);
}
.hero-summary-panel > div,
.hero-summary-panel-dark > div {
  position: relative;
  padding: 17px 18px 17px 22px !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  cursor: default;
}
.hero-summary-panel > div + div,
.hero-summary-panel-dark > div + div { border-top: 1px solid rgba(255,255,255,.14) !important; }
.hero-summary-panel > div::before,
.hero-summary-panel-dark > div::before {
  content: '';
  position: absolute;
  left: 10px;
  top: 18px;
  bottom: 18px;
  width: 3px;
  border-radius: 99px;
  background: rgba(109,210,232,.9);
}
.hero-summary-panel strong,
.hero-summary-panel-dark strong { font-size: .93rem; }
.hero-summary-panel span,
.hero-summary-panel-dark span { margin-top: 4px; line-height: 1.4; opacity: .82; }

/* Recetas: filtros consistentes con el resto del panel. */
.admin-recipes-toolbar {
  display: grid;
  grid-template-columns: minmax(230px, 1.5fr) repeat(3, minmax(145px, .75fr)) minmax(100px, .48fr) minmax(170px, .8fr);
  gap: 12px;
  align-items: end;
}
.admin-recipes-cookbooks { grid-column: 1 / -1; justify-self: end; }
.admin-recipes-console .admin-table-summary { margin: 12px 0 4px; }
.admin-data-table-v108 table { min-width: 900px; }
.admin-data-table-v108 tbody tr[hidden] { display: none !important; }

/* Proyecto de inversión: misma gramática del resto de fichas públicas. */
.page-investment-project-v108 .investment-project-hero-standard {
  min-height: clamp(410px, 48vw, 610px);
}
.page-investment-project-v108 .investment-project-hero-standard::before {
  background: linear-gradient(90deg, rgba(8,22,59,.94) 0%, rgba(14,31,72,.78) 48%, rgba(14,31,72,.18) 100%);
}
.page-investment-project-v108 .investment-project-hero-standard h1 {
  max-width: 780px;
  font-size: clamp(2.65rem, 5.2vw, 5.15rem);
  line-height: .96;
  text-wrap: balance;
}
.investment-project-lead-standard {
  max-width: 760px;
  margin: 14px 0 0;
  color: rgba(255,255,255,.88) !important;
  font-size: clamp(1rem, 1.25vw, 1.15rem);
  line-height: 1.62;
}
.investment-project-tags-standard { margin-top: 16px; }
.investment-project-tags-standard .chip {
  border-color: rgba(255,255,255,.28);
  color: #fff;
  background: rgba(255,255,255,.12);
  backdrop-filter: blur(8px);
}
.investment-project-detail-layout-standard { align-items: start; }
.investment-project-story-standard > .eyebrow { margin-bottom: 5px; }
.investment-project-story-standard > h2 { margin-top: 0; }
.investment-content-section-standard {
  margin-top: clamp(32px, 5vw, 62px);
  padding-top: clamp(28px, 4vw, 44px);
  border-top: 1px solid #e3e7ef;
}
.investment-content-section-standard > h2 { margin-top: 4px; }
.investment-facts-standard dl { margin: 18px 0 22px; }
.investment-facts-standard dl > div {
  display: grid;
  gap: 5px;
  padding: 14px 0;
  border-bottom: 1px solid #e8ebf2;
}
.investment-facts-standard dt {
  color: #748098;
  font-size: .7rem;
  font-weight: 900;
  letter-spacing: .05em;
  text-transform: uppercase;
}
.investment-facts-standard dd { margin: 0; color: #1c2c56; font-weight: 800; line-height: 1.45; }
.project-source-standard { display: inline-flex; margin-top: 18px; line-height: 1.45; }

/* Responsive transversal: espacios y proporciones. */
@media (max-width: 1180px) {
  .admin-recipes-toolbar { grid-template-columns: minmax(220px, 1.4fr) repeat(2, minmax(150px, .8fr)); }
  .admin-recipes-toolbar .admin-filter-compact { min-width: 0; }
  .admin-editor-grid-visual { grid-template-columns: minmax(0, 1fr) minmax(290px, 360px) !important; }
  .page-hero-grid { gap: clamp(24px, 4vw, 46px); }
}

@media (max-width: 1024px) {
  .admin-content { width: min(calc(100% - 28px), 1250px); }
  .admin-recipes-toolbar { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .admin-filter-search { grid-column: 1 / -1; }
  .admin-recipes-cookbooks { justify-self: stretch; text-align: center; }
  .admin-editor-grid-visual { grid-template-columns: 1fr !important; }
  .admin-sticky-panel { position: static !important; top: auto !important; }
  .detail-layout,
  .investment-project-detail-layout-standard { grid-template-columns: 1fr !important; }
  .detail-side-sticky { position: static !important; }
  .page-events .agenda-grid { grid-template-columns: 1fr !important; }
  .page-events .agenda-side-panel { width: min(100%, 560px); justify-self: center; }
}

@media (max-width: 860px) {
  .page-hero-showcase { padding-block: clamp(54px, 9vw, 82px) !important; }
  .page-hero-grid { grid-template-columns: 1fr !important; }
  .page-hero-grid .narrow-copy { max-width: 720px; }
  .hero-summary-panel { width: 100%; max-width: none; }
  .hero-summary-panel > div { min-height: 0; }
  .editorial-feature-events { min-height: 0 !important; }
  .admin-header { padding-inline: 14px; }
  .admin-header h1 { font-size: clamp(1.05rem, 4vw, 1.35rem); }
  .admin-intro { align-items: stretch; }
  .admin-intro-actions { width: 100%; }
  .admin-intro-actions .button { flex: 1 1 auto; text-align: center; }
}

@media (max-width: 720px) {
  .container { width: min(calc(100% - 28px), var(--container, 1180px)); }
  .section { padding-block: clamp(34px, 9vw, 54px); }
  .admin-content { width: calc(100% - 20px); padding-top: 14px; }
  .admin-recipes-toolbar { grid-template-columns: 1fr; }
  .admin-filter-search,
  .admin-recipes-cookbooks { grid-column: auto; }
  .admin-recipes-toolbar .button { width: 100%; }
  .admin-data-table-v108 { padding: 10px !important; }
  .admin-data-table-v108 tbody td { padding: 10px 12px; }
  .form-grid.two { grid-template-columns: 1fr !important; }
  .admin-editor-main,
  .admin-sticky-panel { min-width: 0; }
  .page-events .event-grid { grid-template-columns: 1fr !important; }
  .page-events .editorial-feature-events { border-radius: 20px; }
  .page-events .agenda-side-panel { min-height: 0 !important; }
  .page-investment-project-v108 .investment-project-hero-standard {
    min-height: 520px;
    padding-block: 74px 42px;
    background-position: 62% center;
  }
  .page-investment-project-v108 .investment-project-hero-standard::before {
    background: linear-gradient(0deg, rgba(8,22,59,.97) 0%, rgba(14,31,72,.82) 58%, rgba(14,31,72,.28) 100%);
  }
  .page-investment-project-v108 .investment-project-hero-standard h1 { font-size: clamp(2.45rem, 13vw, 3.7rem); }
  .page-investment-project-v108 .contact-actions { display: grid; width: 100%; }
  .page-investment-project-v108 .contact-actions .button { width: 100%; text-align: center; }
  .investment-facts-standard { padding: 20px; }
}

@media (max-width: 520px) {
  .container { width: min(calc(100% - 22px), var(--container, 1180px)); }
  .page-hero-showcase h1,
  .profile-hero h1 { text-wrap: balance; }
  .hero-summary-panel,
  .hero-summary-panel-dark { border-radius: 16px; }
  .hero-summary-panel > div,
  .hero-summary-panel-dark > div { padding: 14px 14px 14px 20px !important; }
  .admin-sidebar { width: min(88vw, 310px); padding: 12px; gap: 10px; }
  .admin-sidebar nav a { padding-block: .68rem; }
  .admin-profile-picker { padding: 7px; }
  .admin-profile-picker-item { padding: 10px; }
  .button { min-height: 42px; }
  .chip-row { gap: 6px; }
}

/* Drawer público: navegación completa en teléfonos y pantallas de poca altura. */
@media (max-width: 980px) {
  .primary-nav-v8 {
    max-height: calc(100dvh - 82px);
    overflow-y: auto;
    overscroll-behavior: contain;
    scrollbar-gutter: stable;
    padding-bottom: 22px;
  }
  .nav-more[open] .nav-more-menu { position: static; max-height: none; overflow: visible; }
  .header-search-panel { max-height: calc(100dvh - 70px); overflow-y: auto; }
}

/* Evita desbordes accidentales en componentes nuevos sin ocultar scroll útil de tablas. */
.admin-main,
.admin-content,
.admin-panel,
.admin-editor-main,
.admin-sticky-panel,
.detail-layout,
.page-hero-grid,
.agenda-grid { min-width: 0; }
img, video, iframe { max-width: 100%; }
