/* Morelia Impulsa v1.12 · Experiencia gastronómica, programas y administración clara */

/* Navegación: Directorio vive en Más; el menú puede respirar mejor en desktop intermedio. */
@media (min-width: 1081px) {
  .site-header-v8 .primary-nav-v8 { gap: .5rem; }
  .site-header-v8 .primary-nav-v8 > a,
  .site-header-v8 .nav-more > summary { white-space: nowrap; }
}

/* Retícula editorial compartida */
.page-recipe-detail-v112 .container,
.page-recipes-v112 .container,
.page-cookbooks-v112 .container,
.page-cookbook-detail-v112 .container,
.page-traditional-cooks-v112 .container,
.page-program-detail-v112 .container { width: min(1120px, calc(100% - 40px)); }

.page-recipe-detail-v112 .page-hero,
.page-recipes-v112 .page-hero,
.page-cookbooks-v112 .page-hero,
.page-cookbook-detail-v112 .page-hero,
.page-traditional-cooks-v112 .page-hero,
.page-program-detail-v112 .page-hero { min-height: 430px; }

.page-recipe-detail-v112 .page-hero-grid,
.page-recipes-v112 .page-hero-grid,
.page-cookbooks-v112 .page-hero-grid,
.page-cookbook-detail-v112 .page-hero-grid,
.page-traditional-cooks-v112 .page-hero-grid,
.page-program-detail-v112 .page-hero-grid { min-height: 430px; align-items: center; }

.page-recipe-detail-v112 .narrow-copy,
.page-recipes-v112 .narrow-copy,
.page-cookbooks-v112 .narrow-copy,
.page-cookbook-detail-v112 .narrow-copy,
.page-traditional-cooks-v112 .narrow-copy,
.page-program-detail-v112 .narrow-copy { max-width: 650px; }

.page-recipe-detail-v112 .narrow-copy h1,
.page-recipes-v112 .narrow-copy h1,
.page-cookbooks-v112 .narrow-copy h1,
.page-cookbook-detail-v112 .narrow-copy h1,
.page-traditional-cooks-v112 .narrow-copy h1,
.page-program-detail-v112 .narrow-copy h1 { font-size: clamp(2.7rem, 5.2vw, 4.9rem); line-height: .98; max-width: 12ch; }

/* Recetas */
.recipe-page-hero { background-position: center; }
.recipe-hero-meta { display:flex; flex-wrap:wrap; gap:.65rem; margin-top:1.1rem; }
.recipe-hero-meta > * { color:#fff; border:1px solid rgba(255,255,255,.28); background:rgba(12,35,82,.34); border-radius:999px; padding:.48rem .75rem; text-decoration:none; backdrop-filter:blur(6px); }
.recipe-detail-layout-v112 { grid-template-columns:minmax(0, 1fr) minmax(280px, 330px); gap:2rem; align-items:start; }
.recipe-detail-main-v112 { min-width:0; }
.recipe-story-v112 { margin-bottom:1.25rem; padding:1.5rem 1.6rem; border:1px solid var(--line, #e5e8f1); border-radius:20px; background:#fff; }
.recipe-story-v112 h2 { margin:.15rem 0 .65rem; }
.recipe-columns-v112 { display:grid; grid-template-columns:minmax(240px,.78fr) minmax(0,1.42fr); gap:1.15rem; align-items:start; }
.recipe-columns-v112 > section { height:100%; border-radius:20px; }
.recipe-cook-card-v112 { position:sticky; top:96px; border-radius:22px; overflow:hidden; }
.recipe-cook-card-v112 img { width:100%; aspect-ratio: 4 / 3; object-fit:cover; }
.recipe-cook-territory { display:flex; justify-content:space-between; gap:1rem; padding:.8rem 0; margin:.75rem 0 1rem; border-top:1px solid var(--line,#e5e8f1); border-bottom:1px solid var(--line,#e5e8f1); }
.recipe-cook-territory span { color:var(--muted,#68738b); }

.recipes-page-hero-v112 { background-position:center 36%; }
.recipes-hero-stat-v112 { justify-self:end; width:min(250px,100%); padding:1.4rem; border:1px solid rgba(255,255,255,.24); background:rgba(255,255,255,.12); backdrop-filter:blur(10px); border-radius:24px; color:#fff; text-align:center; }
.recipes-hero-stat-v112 strong { display:block; font-size:clamp(3rem,5vw,5rem); line-height:1; }
.recipes-hero-stat-v112 span { display:block; font-weight:800; margin:.3rem 0 .6rem; }
.recipes-hero-stat-v112 small { display:block; line-height:1.45; opacity:.88; }
.recipe-filters-v112 { display:grid; grid-template-columns:minmax(260px,1.7fr) repeat(3,minmax(150px,1fr)) auto; gap:.75rem; align-items:end; }
.recipe-filters-v112 label { min-width:0; }
.recipe-filters-v112 input,.recipe-filters-v112 select,.recipe-filters-v112 button { min-height:46px; }
.recipe-grid-v112 { align-items:stretch; }
.recipe-grid-v112 .recipe-card { height:100%; }
.recipe-grid-v112 .recipe-card > a { height:100%; display:flex; flex-direction:column; }
.recipe-grid-v112 .recipe-card > a > div { flex:1; display:flex; flex-direction:column; }
.recipe-grid-v112 .recipe-card .card-link { margin-top:auto; }

/* Colecciones y cocineras: experiencia autoral, no repetición del explorador de recetas */
.cookbook-editorial-intro { display:grid; grid-template-columns:minmax(0,1.25fr) minmax(320px,.75fr); gap:1.5rem; align-items:start; margin-bottom:2.5rem; }
.cookbook-editorial-intro > .rich-content { padding:1.5rem 1.65rem; border-left:4px solid var(--accent,#5b47a2); background:#f8f6ff; border-radius:0 18px 18px 0; }
.cookbook-editorial-stats { display:grid; grid-template-columns:repeat(3,1fr); gap:.65rem; }
.cookbook-editorial-stats article { border:1px solid var(--line,#e5e8f1); border-radius:18px; padding:1rem; background:#fff; }
.cookbook-editorial-stats strong { display:block; font-size:1.8rem; color:var(--navy,#132a61); }
.cookbook-editorial-stats span { display:block; color:var(--muted,#68738b); font-size:.82rem; line-height:1.35; }
.cookbook-cook-grid-v112 { grid-template-columns:repeat(3,minmax(0,1fr)); }
.cookbook-cook-card-v112 { border:1px solid var(--line,#e5e8f1); border-radius:22px; background:#fff; overflow:hidden; box-shadow:0 12px 30px rgba(24,37,76,.06); }
.cookbook-cook-card-v112 a { display:flex; flex-direction:column; height:100%; color:inherit; text-decoration:none; }
.cookbook-cook-card-v112 img { width:100%; aspect-ratio:4/3; object-fit:cover; }
.cookbook-cook-card-v112 div { padding:1.1rem; display:flex; flex-direction:column; flex:1; }
.cookbook-cook-card-v112 h3 { margin:.2rem 0 .5rem; font-size:1.25rem; }
.cookbook-cook-card-v112 .card-link { margin-top:auto; padding-top:1rem; }
.cookbook-recipe-count { display:inline-flex; gap:.3rem; align-items:baseline; color:var(--muted,#68738b); margin-top:.5rem; }
.cookbook-territory-strip-v112 { margin-top:2.3rem; padding:1.4rem; border-radius:20px; background:#f8f6ff; }
.cookbook-territory-strip-v112 > div { display:flex; flex-wrap:wrap; gap:.65rem; }
.cookbook-territory-strip-v112 span { display:flex; gap:.55rem; align-items:center; padding:.65rem .8rem; border-radius:999px; background:#fff; border:1px solid #e9e4fb; }
.cookbook-territory-strip-v112 small { color:var(--muted,#68738b); }
.cooks-grid-v112 { grid-template-columns:repeat(3,minmax(0,1fr)); }
.cook-card-v112 { height:100%; }
.cook-card-v112 > a { height:100%; display:flex; flex-direction:column; }
.cook-card-v112 > a > div { flex:1; display:flex; flex-direction:column; }
.cook-card-v112 .card-link { margin-top:auto; }
.cookbooks-page-hero-v112,.cooks-page-hero-v112,.cookbook-page-hero { background-position:center 35%; }

/* Empleo: jornada destacada visual, alimentada por el evento de Bolsa de Trabajo */
.employment-featured-event-v112 { position:relative; min-height:360px; border-radius:24px; overflow:hidden; background:linear-gradient(145deg,#162f68,#584398); box-shadow:0 18px 45px rgba(24,37,76,.16); color:#fff; }
.employment-featured-event-visual { position:absolute; inset:0; background-image:linear-gradient(180deg,rgba(13,29,67,.12) 10%,rgba(13,29,67,.92) 88%),var(--employment-event-image); background-size:cover; background-position:center; }
.employment-featured-event-content { position:relative; z-index:1; min-height:360px; padding:1.5rem; display:flex; flex-direction:column; justify-content:flex-end; }
.employment-featured-event-content h2 { color:#fff; font-size:clamp(1.55rem,2.4vw,2.25rem); margin:.2rem 0 .5rem; }
.employment-featured-event-content p { color:rgba(255,255,255,.88); }
.employment-event-meta-v112 { display:flex; flex-wrap:wrap; gap:.5rem; margin:.8rem 0 1rem; }
.employment-event-meta-v112 span { padding:.4rem .65rem; border-radius:999px; border:1px solid rgba(255,255,255,.28); background:rgba(15,31,71,.38); font-size:.78rem; font-weight:700; }
.employment-featured-event-v112.is-empty .employment-featured-event-visual { display:none; }

/* Programas: misma gramática del sitio, con documentos y datos útiles */
.program-detail-hero-v112 { background-position:center; }
.program-detail-hero-v112 .page-hero-grid { grid-template-columns:minmax(0,1fr) minmax(260px,360px); gap:2rem; }
.program-hero-facts-v112 { align-self:end; margin-bottom:1rem; display:grid; gap:.65rem; }
.program-hero-facts-v112 span { padding:.85rem 1rem; border-left:3px solid #69d9f7; background:rgba(14,34,76,.32); color:#fff; backdrop-filter:blur(6px); }
.program-hero-facts-v112 small { display:block; opacity:.75; text-transform:uppercase; letter-spacing:.06em; font-size:.7rem; }
.program-hero-facts-v112 strong { display:block; margin-top:.2rem; }
.program-detail-layout-v112 { grid-template-columns:minmax(0,1fr) minmax(280px,330px); gap:1.6rem; align-items:start; }
.program-detail-main-v112 { display:grid; gap:1rem; }
.program-content-block-v112 { padding:1.5rem 1.65rem; background:#fff; border:1px solid var(--line,#e5e8f1); border-radius:22px; }
.program-content-block-v112 h2 { margin:.2rem 0 .8rem; }
.program-detail-pair-v112 { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1rem; }
.program-detail-side-v112 { display:grid; gap:1rem; }
.program-detail-side-v112 .side-card { border-radius:20px; }
.program-documents-card-v112 .button + .text-link { margin-top:.9rem; }
.program-contact-card-v112 p { overflow-wrap:anywhere; }
.program-card-v112 { overflow:hidden; }
.program-card-image-v112 { display:block; margin:-1px -1px .8rem; }
.program-card-image-v112 img { width:100%; aspect-ratio:16/9; object-fit:cover; display:block; }

/* Usuarios: tres perfiles, sin alcance territorial */
.admin-user-editor-v112 .admin-user-basic-fields label > span { display:block; margin-bottom:.38rem; font-weight:700; }
.admin-user-editor-v112 input:not([type=checkbox]):not([type=radio]) { min-height:46px; }
.admin-role-profile-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:.8rem; }
.admin-role-profile-card { position:relative; display:flex; gap:.8rem; align-items:flex-start; padding:1rem; border:1px solid #dfe3ef; border-radius:18px; background:#fff; cursor:pointer; transition:.18s ease; min-width:0; }
.admin-role-profile-card:hover,.admin-role-profile-card.is-selected { border-color:#6953b5; background:#f7f4ff; box-shadow:0 10px 24px rgba(55,43,110,.08); }
.admin-role-profile-card input { position:absolute; opacity:0; pointer-events:none; }
.admin-role-profile-number { flex:0 0 36px; height:36px; display:grid; place-items:center; border-radius:12px; background:#ece8ff; color:#4d3a98; font-weight:900; }
.admin-role-profile-copy { min-width:0; }
.admin-role-profile-copy strong,.admin-role-profile-copy small { display:block; }
.admin-role-profile-copy small { margin-top:.28rem; color:#66718a; line-height:1.42; }
.admin-user-profile-points { display:grid; gap:.55rem; margin:1rem 0 1.25rem; padding:1rem; border-radius:16px; background:#f7f5ff; }

/* Multimedia: hechos reales incluso para imágenes heredadas */
.entity-media-facts-v112 { grid-template-columns:repeat(2,minmax(0,1fr)); }
.entity-media-compatibility { display:inline-flex; padding:.25rem .55rem; border-radius:999px; font-weight:800; font-size:.72rem; }
.entity-media-compatibility.is-compatible { background:#ddf7e9; color:#17633e; }
.entity-media-compatibility.needs-review { background:#fff0cf; color:#76500a; }

/* Cocineras administrativas: la misma bandeja, sin categorías ajenas */
body:has(.admin-profiles-review-v90) .profile-review-grid-row { min-width:980px; }

/* Programa admin */
.admin-editor-subsection { margin-top:1rem; padding:1.1rem; border:1px solid #e5e8f1; border-radius:18px; background:#fbfbfe; }
.rich-editor-pair { align-items:start; }

@media (max-width: 1180px) {
  .recipe-filters-v112 { grid-template-columns:minmax(240px,2fr) repeat(2,minmax(150px,1fr)); }
  .recipe-filters-v112 button { width:100%; }
  .cookbook-cook-grid-v112,.cooks-grid-v112 { grid-template-columns:repeat(2,minmax(0,1fr)); }
}

@media (max-width: 980px) {
  .page-recipe-detail-v112 .page-hero-grid,
  .page-recipes-v112 .page-hero-grid,
  .page-cookbooks-v112 .page-hero-grid,
  .page-cookbook-detail-v112 .page-hero-grid,
  .page-traditional-cooks-v112 .page-hero-grid,
  .page-program-detail-v112 .page-hero-grid { min-height:390px; }
  .recipe-detail-layout-v112,.program-detail-layout-v112 { grid-template-columns:1fr; }
  .recipe-cook-card-v112 { position:static; }
  .recipe-columns-v112 { grid-template-columns:1fr; }
  .cookbook-editorial-intro { grid-template-columns:1fr; }
  .program-detail-hero-v112 .page-hero-grid { grid-template-columns:1fr; }
  .program-hero-facts-v112 { grid-template-columns:repeat(3,minmax(0,1fr)); margin:0 0 1rem; }
  .admin-role-profile-grid { grid-template-columns:1fr; }
}

@media (max-width: 760px) {
  .page-recipe-detail-v112 .container,
  .page-recipes-v112 .container,
  .page-cookbooks-v112 .container,
  .page-cookbook-detail-v112 .container,
  .page-traditional-cooks-v112 .container,
  .page-program-detail-v112 .container { width:min(100% - 28px,1120px); }
  .page-recipe-detail-v112 .page-hero,
  .page-recipes-v112 .page-hero,
  .page-cookbooks-v112 .page-hero,
  .page-cookbook-detail-v112 .page-hero,
  .page-traditional-cooks-v112 .page-hero,
  .page-program-detail-v112 .page-hero { min-height:360px; }
  .page-recipe-detail-v112 .page-hero-grid,
  .page-recipes-v112 .page-hero-grid,
  .page-cookbooks-v112 .page-hero-grid,
  .page-cookbook-detail-v112 .page-hero-grid,
  .page-traditional-cooks-v112 .page-hero-grid,
  .page-program-detail-v112 .page-hero-grid { min-height:360px; padding-block:2rem; }
  .page-recipe-detail-v112 .narrow-copy h1,
  .page-recipes-v112 .narrow-copy h1,
  .page-cookbooks-v112 .narrow-copy h1,
  .page-cookbook-detail-v112 .narrow-copy h1,
  .page-traditional-cooks-v112 .narrow-copy h1,
  .page-program-detail-v112 .narrow-copy h1 { font-size:clamp(2.35rem,11vw,3.5rem); }
  .recipes-hero-stat-v112 { display:none; }
  .recipe-filters-v112 { grid-template-columns:1fr 1fr; }
  .recipe-filters-v112 label:first-child { grid-column:1/-1; }
  .cookbook-editorial-stats { grid-template-columns:1fr 1fr 1fr; }
  .program-detail-pair-v112 { grid-template-columns:1fr; }
  .program-hero-facts-v112 { grid-template-columns:1fr; }
  .employment-featured-event-v112,.employment-featured-event-content { min-height:330px; }
  .entity-media-facts-v112 { grid-template-columns:1fr 1fr; }
}

@media (max-width: 520px) {
  .recipe-filters-v112 { grid-template-columns:1fr; }
  .recipe-filters-v112 label:first-child { grid-column:auto; }
  .cookbook-cook-grid-v112,.cooks-grid-v112 { grid-template-columns:1fr; }
  .cookbook-editorial-stats { grid-template-columns:1fr; }
  .recipe-hero-meta { gap:.4rem; }
  .recipe-hero-meta > * { width:100%; border-radius:12px; }
  .recipe-story-v112,.program-content-block-v112 { padding:1.15rem; border-radius:17px; }
  .employment-featured-event-v112,.employment-featured-event-content { min-height:310px; }
  .employment-featured-event-content { padding:1.15rem; }
  .entity-media-facts-v112 { grid-template-columns:1fr; }
}
