/* v1.09 — recetario completo, hero de inversión, centro multimedia, temporadas e i18n base. */

/* Proyecto de inversión: el hero debe renderizar la imagen asignada igual que el resto de fichas. */
.page-investment-project-v108 .investment-project-hero-standard {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  color: #fff;
  background-image:
    linear-gradient(105deg, rgba(17, 26, 59, .96) 0%, rgba(24, 39, 79, .84) 48%, rgba(34, 48, 88, .34) 100%),
    var(--profile-hero-image);
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}
.page-investment-project-v108 .investment-project-hero-standard::before { content: none !important; }
.page-investment-project-v108 .investment-project-hero-standard .profile-hero-grid {
  position: relative;
  z-index: 1;
  min-height: inherit;
  padding-top: clamp(3.6rem, 8vw, 6rem);
  padding-bottom: clamp(3.2rem, 7vw, 5.2rem);
}
.page-investment-project-v108 .investment-project-hero-standard h1,
.page-investment-project-v108 .investment-project-hero-standard .breadcrumbs,
.page-investment-project-v108 .investment-project-hero-standard .breadcrumbs a,
.page-investment-project-v108 .investment-project-hero-standard .eyebrow { color: #fff; }
.page-investment-project-v108 .investment-project-hero-standard .button-outline {
  color: #fff;
  border-color: rgba(255,255,255,.58);
  background: rgba(255,255,255,.08);
}
.page-investment-project-v108 .investment-project-hero-standard .button-outline:hover,
.page-investment-project-v108 .investment-project-hero-standard .button-outline:focus-visible {
  color: #17244d;
  background: #fff;
  border-color: #fff;
}

/* Selector de idioma discreto y visible. */
.language-switcher {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 5px;
  min-width: 56px;
  padding: 4px 7px;
  border: 1px solid rgba(255,255,255,.18);
  border-radius: 999px;
  background: rgba(255,255,255,.07);
  color: rgba(255,255,255,.58);
  font-size: .69rem;
  font-weight: 900;
  letter-spacing: .04em;
  white-space: nowrap;
}
.language-switcher a { color: rgba(255,255,255,.64); text-decoration: none; }
.language-switcher a.is-active { color: #fff; }
.language-switcher a:hover,
.language-switcher a:focus-visible { color: #fff; text-decoration: underline; text-underline-offset: 3px; }

.language-coming-soon-hero {
  min-height: calc(100dvh - 84px);
  display: grid;
  align-items: center;
  color: #fff;
  background:
    radial-gradient(circle at 75% 30%, rgba(116,94,184,.46), transparent 34%),
    linear-gradient(135deg, #12285a 0%, #283873 52%, #4e3f82 100%);
}
.language-coming-soon-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(260px, 360px);
  gap: clamp(32px, 7vw, 90px);
  align-items: center;
  padding-block: clamp(70px, 12vw, 140px);
}
.language-coming-soon-grid h1 { max-width: 820px; font-size: clamp(2.7rem, 6.5vw, 5.7rem); line-height: .96; text-wrap: balance; }
.language-coming-soon-grid > div > p:not(.eyebrow) { max-width: 760px; color: rgba(255,255,255,.82); font-size: 1.08rem; line-height: 1.7; }
.language-coming-soon-card {
  padding: 28px;
  border: 1px solid rgba(255,255,255,.2);
  border-radius: 28px;
  background: rgba(255,255,255,.09);
  backdrop-filter: blur(18px);
  text-align: center;
}
.language-coming-soon-card span { display: inline-grid; place-items: center; width: 58px; height: 58px; border-radius: 18px; background: rgba(255,255,255,.13); font-size: 1.2rem; font-weight: 900; }
.language-coming-soon-card strong { margin-inline: 10px; font-size: 1.4rem; }
.language-coming-soon-card p { margin: 20px 0 0; color: rgba(255,255,255,.76); line-height: 1.55; }

/* Recetarios: total real y desglose editorial. */
.cookbook-count-breakdown { display: grid; gap: 3px; }
.cookbook-count-breakdown strong { color: #1d315f; }
.cookbook-count-breakdown small { color: #728098; }

/* Temporadas y festividades: reserva visual, sin lógica activa todavía. */
.seasons-intro { align-items: center; }
.coming-soon-pill {
  display: inline-flex;
  align-items: center;
  min-height: 40px;
  padding: 8px 15px;
  border-radius: 999px;
  color: #fff;
  background: linear-gradient(135deg, #2b3f7d, #5e4b91);
  font-weight: 900;
  letter-spacing: .03em;
}
.seasons-coming-soon-panel { overflow: hidden; }
.seasons-coming-soon-copy { max-width: 850px; margin-bottom: 24px; }
.seasons-coming-soon-copy h2 { margin: 4px 0 10px; }
.season-preview-grid { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 12px; }
.season-preview-card {
  display: grid;
  grid-template-columns: 54px minmax(0,1fr) auto;
  gap: 12px;
  align-items: center;
  min-width: 0;
  padding: 15px;
  border: 1px solid #e2e6ef;
  border-radius: 18px;
  background: linear-gradient(145deg, #fff, #f7f6fb);
}
.season-preview-mark { display: grid; place-items: center; width: 50px; height: 50px; border-radius: 16px; color: #fff; background: linear-gradient(135deg, #243a76, #6b5597); font-weight: 900; }
.season-preview-card div { min-width: 0; }
.season-preview-card small { display: block; color: #78849a; font-weight: 700; }
.season-preview-card strong { display: block; margin-top: 3px; color: #1c2d59; line-height: 1.25; }

/* Centro multimedia: explicación visual por módulo y tres resoluciones. */
.multimedia-guide-rule-grid { display: grid; grid-template-columns: repeat(4, minmax(0,1fr)); gap: 12px; }
.multimedia-guide-rule-grid article { padding: 17px; border: 1px solid #e3e7f0; border-radius: 18px; background: #fafafe; }
.multimedia-guide-rule-grid span { display: block; color: #5b4b91; font-size: .72rem; font-weight: 900; letter-spacing: .08em; }
.multimedia-guide-rule-grid strong { display: block; margin-top: 10px; color: #1c2d59; }
.multimedia-guide-rule-grid p { margin: 7px 0 0; color: #69758d; line-height: 1.5; }
.admin-guide-section-heading { margin: 34px 0 16px; }
.multimedia-module-list { display: grid; gap: 12px; }
.multimedia-module-guide {
  border: 1px solid #e0e5ef;
  border-radius: 22px;
  background: #fff;
  box-shadow: 0 14px 35px rgba(28,43,84,.06);
  overflow: clip;
}
.multimedia-module-guide > summary {
  list-style: none;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  padding: 18px 20px;
  cursor: pointer;
}
.multimedia-module-guide > summary::-webkit-details-marker { display: none; }
.multimedia-module-guide > summary > div { display: flex; align-items: center; gap: 13px; min-width: 0; }
.multimedia-module-index { flex: 0 0 auto; display: grid; place-items: center; width: 42px; height: 42px; border-radius: 14px; color: #fff; background: #44377b; font-weight: 900; }
.multimedia-module-guide summary strong { display: block; color: #1b2d59; font-size: 1.03rem; }
.multimedia-module-guide summary small { display: block; margin-top: 3px; color: #77839a; }
.multimedia-module-toggle { color: #4d3e82; font-size: .8rem; font-weight: 900; }
.multimedia-module-guide[open] .multimedia-module-toggle { font-size: 0; }
.multimedia-module-guide[open] .multimedia-module-toggle::after { content: 'Ocultar guía'; font-size: .8rem; }
.multimedia-module-body {
  display: grid;
  grid-template-columns: minmax(240px, .7fr) minmax(0, 1.5fr);
  gap: 22px;
  padding: 0 20px 22px;
  border-top: 1px solid #edf0f6;
}
.multimedia-slot-list { display: grid; align-content: start; gap: 9px; padding-top: 18px; }
.multimedia-slot-list article { padding: 13px; border-radius: 15px; background: #f6f5fb; }
.multimedia-slot-list article span { display: block; color: #758197; font-size: .72rem; font-weight: 800; text-transform: uppercase; letter-spacing: .04em; }
.multimedia-slot-list article strong { display: block; margin-top: 4px; color: #263864; }
.multimedia-slot-list article p { margin: 6px 0 0; color: #69758c; line-height: 1.42; }
.device-preview-board { display: grid; grid-template-columns: minmax(0,1.55fr) minmax(150px,.78fr) minmax(120px,.52fr); gap: 12px; align-items: end; padding-top: 18px; }
.device-preview { min-width: 0; }
.device-preview header { display: flex; align-items: center; gap: 7px; margin-bottom: 7px; color: #293b68; }
.device-preview header span { width: 8px; height: 8px; border-radius: 50%; background: #63c3d7; }
.device-preview header strong { font-size: .8rem; }
.device-preview header small { margin-left: auto; color: #8390a4; font-size: .68rem; }
.device-screen { overflow: hidden; border: 6px solid #202d55; border-radius: 18px; background: #f4f6fa; box-shadow: 0 15px 30px rgba(25,40,77,.13); }
.device-preview-tablet .device-screen { border-radius: 22px; }
.device-preview-mobile .device-screen { border-width: 5px; border-radius: 24px; }
.dummy-site-bar { height: 19px; background: #172a5e; }
.device-preview-tablet .dummy-site-bar { height: 16px; }
.device-preview-mobile .dummy-site-bar { height: 13px; }
.dummy-hero { position: relative; display: flex; flex-direction: column; justify-content: end; min-height: 145px; padding: 15px; color: #fff; background: linear-gradient(105deg, rgba(17,29,66,.9), rgba(65,58,121,.32)), linear-gradient(135deg,#6a7fa6,#c1a287); }
.device-preview-tablet .dummy-hero { min-height: 125px; }
.device-preview-mobile .dummy-hero { min-height: 158px; padding: 11px; background-position: center; }
.dummy-hero span { font-size: .68rem; opacity: .8; }
.dummy-hero b { margin-top: 4px; font-size: .88rem; }
.dummy-content-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 7px; padding: 10px; }
.device-preview-tablet .dummy-content-grid { grid-template-columns: repeat(2,1fr); }
.device-preview-mobile .dummy-content-grid { grid-template-columns: 1fr; }
.dummy-content-grid i { display: block; height: 44px; border-radius: 9px; background: #fff; border: 1px solid #e1e5ed; }
.media-device-teaser { display: grid; grid-template-columns: 1.6fr .8fr .48fr; align-items: end; gap: 12px; margin: 18px 0; }
.media-device { min-height: 92px; padding: 8px; border: 4px solid #26345f; border-radius: 14px; background: #f3f5fa; }
.media-device-phone { border-radius: 20px; }
.media-device span { display: block; margin-bottom: 5px; color: #344671; font-size: .65rem; font-weight: 900; }
.media-device i { display: block; height: 34px; border-radius: 7px; background: linear-gradient(120deg,#243b72,#7c699d); }
.media-device b { display: block; width: 62%; height: 12px; margin-top: 6px; border-radius: 5px; background: #d9deea; }

@media (max-width: 1180px) {
  .multimedia-guide-rule-grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
  .season-preview-grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
  .multimedia-module-body { grid-template-columns: 1fr; }
}

@media (max-width: 980px) {
  .language-switcher { width: fit-content; margin-block: 4px 8px; }
  .primary-nav-v8 .language-switcher { order: 20; }
  .primary-nav-v8 .nav-search-form { order: 21; }
}

@media (max-width: 760px) {
  .language-coming-soon-grid { grid-template-columns: 1fr; }
  .language-coming-soon-card { max-width: 420px; }
  .season-preview-grid,
  .multimedia-guide-rule-grid { grid-template-columns: 1fr; }
  .season-preview-card { grid-template-columns: 50px minmax(0,1fr); }
  .season-preview-card .status { grid-column: 2; width: fit-content; }
  .device-preview-board { grid-template-columns: 1fr; align-items: start; }
  .device-preview-tablet { width: min(75%, 420px); }
  .device-preview-mobile { width: min(48%, 240px); }
  .media-device-teaser { grid-template-columns: 1fr .65fr .4fr; }
}

@media (max-width: 520px) {
  .multimedia-module-guide > summary { align-items: flex-start; padding: 15px; }
  .multimedia-module-guide > summary > div { align-items: flex-start; }
  .multimedia-module-toggle { display: none; }
  .multimedia-module-body { padding: 0 15px 16px; }
  .device-preview-tablet { width: 82%; }
  .device-preview-mobile { width: 58%; }
  .media-device-teaser { grid-template-columns: 1fr; }
  .media-device-tablet { width: 72%; }
  .media-device-phone { width: 45%; }
}
