/* Public pages: centered search and a right-hand menu, without a permanent sidebar.
   Detail templates keep their original content geometry. */
html:has(.ip-public-workspace) { scrollbar-gutter:stable; }
.ip-public-workspace-body { --ip-header-height:var(--ip-workspace-topbar-height); }
.ip-public-workspace-body .ip-public-workspace > .ip-shell__workspace { margin-left:0; padding-top:var(--ip-workspace-topbar-height); }
.ip-public-workspace-body .ip-public-workspace .ip-workspace-topbar { display:flex; left:0; padding-inline:24px; background:var(--ip-color-page); backdrop-filter:none; }
.ip-public-workspace-body .ip-public-workspace .ip-workspace-header-inner { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,640px) minmax(0,1fr); align-items:center; width:100%; max-width:none; gap:24px; }
.ip-public-workspace .ip-public-header-brand { display:flex; flex-shrink:0; align-items:center; width:100px; height:48px; }
.ip-public-header-brand img { width:100%; height:44px; object-fit:contain; }
.ip-public-workspace .ip-workspace-search { min-width:0; margin-inline:0; justify-self:center; }
.ip-public-workspace-body .ip-public-workspace .ip-workspace-topbar__actions { display:flex; align-items:center; justify-content:flex-end; width:auto; flex-shrink:0; gap:8px; }
.ip-public-workspace .ip-workspace-topbar__actions > * { flex-shrink:0; }
.ip-public-header-feeds { display:contents; }
.ip-public-home.ip-public-workspace .ip-home-canvas { padding-top:0; }
.ip-public-workspace-body .ip-public-workspace .ip-workspace-account { width:44px; padding:0; margin:0; border:0; }
.ip-public-workspace-body .ip-public-workspace .ip-workspace-account > summary { display:grid; place-items:center; width:44px; height:44px; padding:0; }
.ip-public-workspace-body .ip-public-workspace .ip-workspace-account > summary > :is(.ip-workspace-account__identity,.ip-icon) { display:none; }
.ip-public-workspace .ip-home-menu-toggle { display:grid; place-items:center; width:44px; min-width:44px; height:44px; padding:0; border:0; border-radius:12px; background:transparent; color:var(--ip-color-text-muted); cursor:pointer; }
.ip-public-workspace .ip-home-menu-toggle:hover { color:var(--ip-color-text); background:var(--ip-color-action-soft); }
.ip-public-workspace .ip-home-menu-toggle .ip-icon { width:22px; height:22px; }
.ip-public-workspace .ip-public-publish,.ip-public-workspace .ip-public-login { border:1px solid var(--ip-color-action); background:var(--ip-color-surface); color:var(--ip-color-action); }
.ip-public-workspace .ip-public-login { min-height:40px; padding:8px 16px; font-size:13px; white-space:nowrap; }
.ip-public-workspace .ip-public-login .ip-icon { width:18px; height:18px; }
.ip-public-menu-open { overflow:hidden; }
.ip-public-workspace .ip-public-menu { position:fixed; inset:calc(var(--ip-header-height) + 12px) 24px auto auto; width:320px; height:auto; max-width:calc(100vw - 24px); max-height:calc(100dvh - var(--ip-header-height) - 36px); margin:0; padding:0; border:1px solid var(--ip-color-border); border-radius:20px; background:var(--ip-color-surface); color:var(--ip-color-text); box-shadow:0 12px 48px rgb(0 0 0 / .14); overflow:hidden; }
.ip-public-workspace .ip-public-menu[open] { display:flex; flex-direction:column; animation:ip-public-menu-enter 180ms ease-out; }
.ip-public-workspace .ip-public-menu::backdrop { background:rgb(26 26 30 / .12); backdrop-filter:none; }
.ip-public-menu__heading { display:flex; flex:none; align-items:center; justify-content:space-between; padding:12px 12px 8px 24px; font-size:16px; }
.ip-public-menu__heading button { display:grid; place-items:center; width:44px; height:44px; border:0; background:transparent; color:inherit; cursor:pointer; }
.ip-public-menu__heading .ip-icon { width:18px; height:18px; }
.ip-public-menu__navigation { min-height:0; overflow:auto; overscroll-behavior:contain; scrollbar-width:thin; padding:4px 14px 16px; }
.ip-public-menu__navigation .ip-shell-nav__section + .ip-shell-nav__section { margin-top:16px; }
.ip-public-menu__navigation .ip-shell-nav__title { margin:0 10px 8px; font-size:10px; line-height:16px; font-weight:500; letter-spacing:.045em; }
.ip-public-menu__navigation .ip-shell-nav__link { min-height:40px; }
.ip-public-menu__navigation .ip-shell-nav__link[aria-disabled] { cursor:default; }
.ip-public-menu__navigation .ip-shell-nav__link[aria-disabled]:hover { background:transparent; color:var(--ip-color-text-muted); }
.ip-public-workspace .ip-public-nav-actions { display:flex; flex:none; gap:8px; width:100%; padding:16px; border-top:1px solid var(--ip-color-border); }
.ip-public-workspace .ip-public-nav-actions .ip-button { flex:1; min-width:0; min-height:40px; padding:8px; font-size:12px; gap:6px; }
.ip-public-workspace .ip-public-nav-actions .ip-icon { width:16px; height:16px; flex-shrink:0; }
.ip-public-workspace .ip-account-theme-toggle { display:flex; align-items:center; width:100%; min-height:44px; gap:12px; padding:10px 12px; border:0; border-radius:10px; background:transparent; color:var(--ip-color-text); font:inherit; font-size:13px; text-align:left; cursor:pointer; }
.ip-public-workspace .ip-account-theme-toggle:hover { background:var(--ip-color-action-soft); }
.ip-public-workspace .ip-account-theme-toggle > .ip-icon { width:18px; height:18px; flex:none; }
.ip-public-workspace .ip-account-theme-switch { position:relative; width:32px; height:20px; margin-left:auto; flex:none; background:var(--ip-color-border-strong); border-radius:20px; transition:background-color 180ms; }
.ip-public-workspace .ip-account-theme-switch::after { content:''; position:absolute; width:14px; height:14px; top:3px; left:3px; border-radius:50%; background:#fff; box-shadow:0 1px 3px #0002; transition:transform 180ms; }
.ip-public-workspace .ip-account-theme-toggle[aria-pressed="true"] .ip-account-theme-switch { background:var(--ip-color-action); }
.ip-public-workspace .ip-account-theme-toggle[aria-pressed="true"] .ip-account-theme-switch::after { transform:translateX(12px); }
@keyframes ip-public-menu-enter { from { opacity:0; transform:translateX(12px); } to { opacity:1; transform:none; } }
@media(min-width:768px) { .ip-public-workspace .ip-discovery-layout { padding-inline:24px; gap:32px; } }
@media(min-width:1440px) {
  .ip-public-workspace .ip-discovery-layout { gap:48px; padding-inline:48px; }
  .ip-public-workspace-body .ip-public-workspace .ip-workspace-topbar { padding-inline:48px; }
}
@media(min-width:701px) and (max-width:1100px) {
  .ip-public-workspace-body .ip-public-workspace .ip-workspace-header-inner { grid-template-columns:minmax(0,1fr) minmax(0,calc(100% - 440px)) minmax(0,1fr); }
}
@media(max-width:700px) {
  .ip-workspace-body.ip-public-workspace-body { --ip-workspace-topbar-height:60px; }
  .ip-public-workspace-body .ip-public-workspace .ip-workspace-topbar { padding-inline:12px; }
  .ip-public-workspace-body .ip-public-workspace .ip-workspace-header-inner { display:flex; justify-content:space-between; gap:8px; }
  .ip-public-workspace .ip-public-header-brand { width:64px; }
  .ip-public-workspace-body .ip-public-workspace .ip-workspace-topbar__actions { gap:2px; }
  .ip-public-workspace .ip-public-login { padding:8px 10px; font-size:12px; }
  .ip-public-workspace .ip-public-login .ip-icon { display:none; }
  .ip-public-workspace .ip-public-menu { inset:calc(var(--ip-header-height) + 8px) 12px auto auto; max-height:calc(100dvh - var(--ip-header-height) - 20px); }
  .ip-public-menu__navigation .ip-shell-nav__link { min-height:44px; }
}
@media(max-width:767px) { .ip-public-workspace .ip-discovery.is-map-view .ip-discovery-map-panel { top:var(--ip-workspace-topbar-height); } }
@media(prefers-reduced-motion:reduce) { .ip-public-workspace .ip-public-menu[open] { animation:none; } .ip-public-workspace .ip-account-theme-switch,.ip-public-workspace .ip-account-theme-switch::after { transition:none; } }

.ip-public-desktop-search,.ip-public-workspace .ip-home-search-dock { display:none; }

/* Desktop public rhythm: shared home search, compact account and quieter headings.
   Mobile is deliberately unchanged while the desktop direction is reviewed. */
@media(min-width:1024px) {
  .ip-workspace-body.ip-public-workspace-body {
    --ip-workspace-topbar-height:91px;
    --ip-color-page:#fff;
    --ip-public-header-start:#fff;
    --ip-public-header-middle:#fbfbfb;
    --ip-public-header-end:#f8f8f8;
  }
  [data-theme="dark"] .ip-workspace-body.ip-public-workspace-body {
    --ip-color-page:var(--ip-ink-950);
    --ip-public-header-start:var(--ip-ink-900);
    --ip-public-header-middle:var(--ip-ink-900);
    --ip-public-header-end:var(--ip-ink-900);
  }
  .ip-public-workspace-body .ip-public-workspace .ip-workspace-topbar { border-bottom:0; background:var(--ip-surface-texture),linear-gradient(var(--ip-public-header-start),var(--ip-public-header-end)); }
  .ip-public-workspace-body .ip-public-workspace .ip-workspace-header-inner { grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:24px; }
  .ip-public-workspace .ip-public-header-brand { width:90px; height:54px; margin-left:-8px; }
  .ip-public-workspace .ip-public-header-brand img { width:90px; height:54px; }
  .ip-public-workspace-body .ip-public-workspace .ip-workspace-search { display:none; }
  .ip-public-workspace .ip-home-search-dock { display:block; top:calc(50% - 23px); width:640px; max-width:none; }
  .ip-public-desktop-search { display:block; }
  .ip-public-search-slot { height:0; }
  .ip-public-workspace:not(.ip-public-home) .ip-home-search:not(.is-docked) { visibility:hidden; }
  .ip-public-workspace .ip-home-search.is-docked button.ip-home-search__submit { --ip-button-radius:50%; display:grid; place-items:center; width:36px; min-width:36px; height:36px; padding:0; margin:0; border:0; border-radius:50%; background:var(--ip-color-action); color:var(--ip-color-on-action); cursor:pointer; }
  .ip-public-workspace .ip-home-search-backdrop { inset:0; background:rgb(12 9 17 / .48); opacity:1; visibility:visible; transition:opacity 220ms ease,visibility 0s; }
  .ip-public-workspace .ip-home-search-backdrop[hidden] { display:block!important; opacity:0; visibility:hidden; pointer-events:none; transition:opacity 220ms ease,visibility 0s 220ms; }
  .ip-public-workspace .ip-home-search__bar { transition:box-shadow 220ms ease; }
  .ip-public-workspace .ip-home-search.has-open-panel .ip-home-search__bar { box-shadow:0 0 28px rgb(236 218 255 / .45),0 8px 28px rgb(28 16 44 / .15); }
  .ip-public-workspace-body .ip-public-workspace .ip-workspace-topbar__actions { gap:12px; }
  .ip-public-workspace .ip-public-login { padding:8px 12px; border:0; background:transparent; color:var(--ip-color-text); font-weight:600; box-shadow:none; }
  .ip-public-workspace .ip-public-login:hover { background:var(--ip-gray-100); color:var(--ip-color-text); }
  [data-theme="dark"] .ip-public-workspace .ip-public-login:hover { background:var(--ip-ink-800); }
  .ip-public-workspace-body .ip-public-workspace .ip-workspace-account { width:40px; padding:0; }
  .ip-public-workspace-body .ip-public-workspace .ip-workspace-account > summary { display:grid; place-items:center; width:40px; height:40px; padding:0; border-radius:50%; }
  .ip-public-workspace-body .ip-public-workspace .ip-workspace-avatar { width:40px; height:40px; flex-basis:40px; border-radius:50%; }
  .ip-public-workspace-body .ip-public-workspace .ip-public-header-feeds { display:flex; align-items:center; gap:8px; height:40px; padding:0; border-radius:20px; background:var(--ip-gray-100); }
  [data-theme="dark"] .ip-public-workspace-body .ip-public-workspace .ip-public-header-feeds { background:var(--ip-ink-800); }
  .ip-public-workspace .ip-home-menu-toggle { --ip-button-radius:50%; width:40px; min-width:40px; height:40px; border-radius:50%; background:var(--ip-gray-100); color:var(--ip-color-text); }
  .ip-public-workspace .ip-home-menu-toggle:hover { background:var(--ip-gray-200); }
  [data-theme="dark"] .ip-public-workspace .ip-home-menu-toggle { background:var(--ip-ink-800); }
  [data-theme="dark"] .ip-public-workspace .ip-home-menu-toggle:hover { background:var(--ip-ink-700); }
  .ip-public-workspace .ip-home-menu-toggle .ip-icon { width:20px; height:20px; }
  .ip-public-workspace-body .ip-public-workspace .ip-workspace-topbar__actions .ip-header-feed,
  .ip-public-workspace-body .ip-public-workspace .ip-workspace-topbar__actions .ip-header-feed > .ip-header-icon { width:40px; min-width:40px; height:40px; min-height:40px; margin:0; }
  .ip-public-workspace .ip-workspace-topbar__actions .ip-header-feed > .ip-header-icon { display:grid; place-items:center; padding:0; line-height:1; }
  .ip-public-workspace .ip-public-header-feeds .ip-header-feed > .ip-header-icon { border:0; border-radius:50%; background:transparent; }
  .ip-public-workspace .ip-public-header-feeds .ip-header-feed > .ip-header-icon:hover { background:var(--ip-gray-200); }
  [data-theme="dark"] .ip-public-workspace .ip-public-header-feeds .ip-header-feed > .ip-header-icon:hover { background:var(--ip-ink-700); }
  .ip-public-workspace .ip-workspace-topbar__actions .ip-header-feed > .ip-header-icon > .ip-icon { display:block; width:20px; height:20px; margin:0; grid-area:1 / 1; }
  .ip-public-workspace .ip-workspace-topbar__actions .ip-header-badge { top:5px; right:5px; }

  .ip-public-listing-body #ip-main > .ip-title-block > .ip-back-link,
  .ip-public-listing-body #ip-main.ip-vol > .ip-vol-back { display:none; }
  .ip-public-listing-body .ip-title-block { padding-top:24px; padding-bottom:24px; }
  .ip-public-listing-body .ip-title-row { align-items:center; }
  body.ip-public-listing-body .ip-title-block h1,
  .ip-public-listing-body .ip-vol .ip-vol-title,
  .ip-public-listing-body .ip-vol .ip-ev-title,
  .ip-public-listing-body .ip-health-card .ip-case-card__head .ip-vol-title { margin-bottom:0; font-size:26px; line-height:32px; font-weight:600; letter-spacing:-.015em; }
  .ip-public-listing-body .ip-title-actions .ip-title-action { min-height:34px; padding-block:6px; font-weight:500; }
  .ip-public-listing-body #ip-main.ip-vol { padding-top:24px; }
  .ip-public-listing-body .ip-ev-head { margin-bottom:24px; }
  .ip-public-listing-body :is(.ip-section > h2,.ip-section-heading h2,.ip-vol-section > h2),
  .ip-public-listing-body .ip-vol #sobre .ip-description-block > h2,
  .ip-public-listing-body .ip-vol #detalles .ip-field-group > h3 { font-size:22px; line-height:28px; font-weight:600; letter-spacing:-.015em; margin-bottom:16px; }
  .ip-public-listing-body :is(.ip-description-block > h3,.ip-field-group > h3) { font-size:18px; line-height:26px; font-weight:600; margin-bottom:16px; }
  .ip-public-listing-body .ip-description-block { font-size:16px; line-height:24px; }
  body.ip-public-listing-body .ip-description-block .ip-prose { font-size:16px; line-height:24px; }
  .ip-public-listing-body .ip-section > h2 + .ip-description-block { padding-top:0; }
}
@media(min-width:1024px) and (max-width:1199px) {
  .ip-public-workspace-body .ip-public-workspace .ip-workspace-header-inner { grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:16px; }
  .ip-public-workspace-body .ip-public-workspace .ip-workspace-topbar__actions { gap:8px; }
}

@media(prefers-reduced-motion:reduce) { .ip-public-workspace .ip-home-search__bar,.ip-public-workspace .ip-home-search-backdrop { transition:none; } }
.ip-public-workspace-body {
  /* Public light surfaces stay neutral, independent of Gestión's lilac theme. */
  --ip-color-page:var(--ip-white);
  --ip-color-surface:var(--ip-white);
  --ip-color-surface-subtle:var(--ip-gray-50);
  --ip-color-surface-related:var(--ip-gray-100);
  --ip-color-text:var(--ip-gray-900);
  --ip-color-text-muted:var(--ip-gray-600);
  --ip-color-border:var(--ip-gray-200);
  --ip-color-border-strong:var(--ip-gray-300);
}
