/* Mical Eileen | Cabecera pública 6.0, aviso integrado en la navegación. */
.site-navbar.site-navbar-v4 {
  isolation: isolate;
  padding: 10px 0;
  min-height: 78px;
  background: rgba(255, 251, 248, .96);
  border-bottom: 1px solid rgba(109,53,87,.12);
  box-shadow: 0 4px 22px rgba(63,39,48,.045);
  -webkit-backdrop-filter: blur(16px);
  backdrop-filter: blur(16px);
  transition: background-color .25s ease, box-shadow .25s ease, padding .25s ease;
  z-index: 1100;
}
.site-navbar.site-navbar-v4.navbar-scrolled {
  background: rgba(255,253,251,.985);
  padding: 7px 0;
  box-shadow: 0 8px 30px rgba(63,39,48,.10);
}
.site-navbar-v4 .mical-nav-shell { max-width: 1660px; padding-left: clamp(16px,2.8vw,44px); padding-right: clamp(16px,2.8vw,44px); gap: 14px; }
.site-navbar-v4 .mical-header-brand { gap: 11px; margin-right: 12px; flex: 0 0 auto; min-width:0; text-decoration:none; }
.site-navbar-v4 .mical-header-brand .brand-logo { width: 58px; height: 58px; flex: 0 0 58px; object-fit: contain; }
.site-navbar-v4 .mical-brand-copy { display:block; min-width:0; max-width:365px; }
.site-navbar-v4 .mical-brand-copy strong { display:block; font-weight: 780; font-size: clamp(1.02rem, 1.25vw, 1.22rem); letter-spacing:-.035em; line-height:1.13; color:#392a32; }
.site-navbar-v4 .mical-brand-copy small { display:block; margin-top:4px; font-size:.73rem; font-weight:500; letter-spacing:.035em; color:#816e77; }
.site-navbar-v4 .mical-header-collapse { min-width:0; }
.site-navbar-v4 .mical-header-links { row-gap:6px; }
.site-navbar-v4 .nav-link { font-weight:650; font-size:.9rem; color:#604e58; line-height:1.2; white-space:nowrap; padding:11px 11px; border-radius:12px; transition:color .2s, background-color .2s; }
.site-navbar-v4 .nav-link:hover, .site-navbar-v4 .nav-link.nav-current { color:#6d3557; background:rgba(109,53,87,.075); }
.site-navbar-v4 .mical-account-item { margin-left:4px; }
.site-navbar-v4 .mical-account-link { display:inline-flex; align-items:center; gap:8px; padding:11px 13px; border:1px solid #e6d6dc; background:#fff; }
.site-navbar-v4 .mical-account-link i { font-size:1rem; }
.site-navbar-v4 .mical-book-item { margin-left:6px; }
.site-navbar-v4 .mical-book-link {
  display:inline-flex; align-items:center; justify-content:center; gap:9px; border-radius:14px;
  min-height:46px; padding:10px 17px; white-space:nowrap;
  background:#6d3557; border:1px solid #6d3557; color:#fff;
  font-size:.89rem; font-weight:750; line-height:1.2;
  box-shadow:0 9px 20px rgba(109,53,87,.19);
  transition:background .2s,box-shadow .2s,transform .2s;
}
.site-navbar-v4 .mical-book-link:hover, .site-navbar-v4 .mical-book-link:focus-visible { background:#51243f; border-color:#51243f; color:white; box-shadow:0 12px 24px rgba(109,53,87,.24); transform:translateY(-1px); }
.site-navbar-v4 .mical-cta-arrow { font-size:.8rem; opacity:.8; }
.site-navbar-v4 .mical-menu-toggle { display:inline-flex; align-items:center; gap:6px; padding:8px 12px; border:1px solid #e6d6dc; border-radius:12px; color:#6d3557; background:#fff; font-size:.86rem; font-weight:750; }
.site-navbar-v4 .mical-menu-toggle i { font-size:1.35rem; line-height:1; }
.site-navbar-v4 .mical-menu-toggle:focus-visible, .site-navbar-v4 a:focus-visible { outline:3px solid #a9698a !important; outline-offset:3px; }
html { scroll-padding-top:94px; }
@media(min-width:1200px) and (max-width:1450px) {
  .site-navbar-v4 .mical-nav-shell { padding-inline:20px; gap:9px; }
  .site-navbar-v4 .mical-header-brand { margin-right:1px; gap:8px; }
  .site-navbar-v4 .mical-header-brand .brand-logo { width:50px; height:50px; flex-basis:50px; }
  .site-navbar-v4 .mical-brand-copy strong { font-size:1rem; max-width:290px; }
  .site-navbar-v4 .nav-link { padding:10px 7px; font-size:.81rem; }
  .site-navbar-v4 .mical-account-item,.site-navbar-v4 .mical-book-item { margin-left:0; }
  .site-navbar-v4 .mical-book-link { padding:9px 10px; gap:5px; font-size:.82rem; }
  .site-navbar-v4 .mical-account-link { padding:10px 9px; }
}
@media(max-width:1199.98px) {
  .site-navbar.site-navbar-v4 { padding:8px 0; }
  .site-navbar-v4 .mical-header-brand { margin-right:auto; gap:10px; max-width:calc(100% - 95px); }
  .site-navbar-v4 .mical-header-brand .brand-logo { width:51px; height:51px; flex-basis:51px; }
  .site-navbar-v4 .mical-brand-copy strong { font-size:clamp(.92rem,2.2vw,1.13rem); overflow-wrap:anywhere; }
  .site-navbar-v4 .mical-menu-toggle { margin-left:auto; }
  .site-navbar-v4 .mical-header-collapse { flex-basis:100%; }
  .site-navbar-v4 .mical-header-collapse.show, .site-navbar-v4 .mical-header-collapse.collapsing { background:#fff; border:1px solid #eddee3; border-radius:18px; padding:12px; box-shadow:0 12px 36px rgba(50,28,37,.12); margin-top:10px; max-height:calc(100dvh - 102px); overflow-y:auto; }
  .site-navbar-v4 .mical-header-links { align-items:stretch; gap:2px; }
  .site-navbar-v4 .nav-link { display:flex; align-items:center; padding:13px 14px; font-size:.98rem; white-space:normal; }
  .site-navbar-v4 .mical-account-item, .site-navbar-v4 .mical-book-item { margin-left:0; }
  .site-navbar-v4 .mical-account-item { margin-top:7px; }
  .site-navbar-v4 .mical-account-link { justify-content:center; border-radius:12px; }
  .site-navbar-v4 .mical-book-item { margin-top:4px; }
  .site-navbar-v4 .mical-book-link { width:100%; padding:14px 17px; }
}
@media(max-width:575.98px) {
  .site-navbar-v4 .mical-nav-shell { padding-inline:12px; gap:8px; }
  .site-navbar-v4 .mical-header-brand .brand-logo { width:43px; height:43px; flex-basis:43px; }
  .site-navbar-v4 .mical-header-brand { gap:7px; max-width:calc(100% - 84px); }
  .site-navbar-v4 .mical-brand-copy strong { font-size:clamp(.78rem,3.8vw,.99rem); letter-spacing:-.035em; }
  .site-navbar-v4 .mical-brand-copy small { font-size:.67rem; margin-top:2px; }
  .site-navbar-v4 .mical-menu-toggle { padding:8px; font-size:.81rem; }
  .site-navbar-v4 .mical-menu-toggle i { font-size:1.2rem; }
}
@media(prefers-reduced-motion:reduce) { .site-navbar.site-navbar-v4,.site-navbar-v4 .mical-book-link,.site-navbar-v4 .nav-link { transition:none !important; transform:none !important; } }

/* Corrección de visibilidad del menú: navegación horizontal en escritorio. */
@media (min-width:1200px) {
  .site-navbar.site-navbar-v4 .mical-menu-toggle.navbar-toggler { display:none !important; }
  .site-navbar-v4 #mainNav.navbar-collapse { display:flex !important; flex-basis:auto; }
}
@media (max-width:1199.98px) {
  .site-navbar.site-navbar-v4 .mical-menu-toggle.navbar-toggler { display:inline-flex !important; }
  .site-navbar-v4 #mainNav.navbar-collapse:not(.show):not(.collapsing) { display:none !important; }
}



/* V7: cabecera más limpia, sin texto superior y con acciones alineadas. */
.site-navbar.site-navbar-v4 {
  padding-block: 8px;
}
.site-navbar-v4 .mical-nav-shell {
  max-width: 1840px;
  gap: clamp(10px, 1vw, 18px);
}
.site-navbar-v4 .mical-header-collapse {
  align-items:center;
  justify-content:flex-end;
  gap: clamp(12px, 1.6vw, 24px);
}
.site-navbar-v4 .mical-header-links {
  margin-left:auto;
  align-items:center;
  gap:2px;
  flex:0 1 auto;
}
.site-navbar-v4 .mical-header-links .nav-link {
  padding:10px clamp(8px, .7vw, 12px);
}
.site-navbar-v4 .mical-header-actions {
  display:flex;
  align-items:center;
  gap:8px;
  flex:0 0 auto;
  min-width:0;
}
.site-navbar-v4 .mical-header-buttons {
  display:flex;
  align-items:center;
  gap:8px;
}
.site-navbar-v4 .mical-header-register,
.site-navbar-v4 .mical-header-buttons .mical-account-link {
  min-height:44px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:7px;
  padding:10px 13px;
  font-size:.84rem;
  line-height:1.1;
  border-radius:14px;
  white-space:nowrap;
  text-decoration:none;
  font-weight:700;
  transition: background-color .2s ease, border-color .2s ease, box-shadow .2s ease, transform .2s ease;
}
.site-navbar-v4 .mical-header-register {
  background:linear-gradient(180deg, #fcf6f9 0%, #f7edf2 100%);
  color:#6d3557;
  border:1px solid #e8d4de;
  box-shadow:0 2px 10px rgba(109,53,87,.05);
}
.site-navbar-v4 .mical-header-register:hover {
  color:#54243f;
  background:#f3e3eb;
  border-color:#ddc0cf;
  transform:translateY(-1px);
}
.site-navbar-v4 .mical-header-buttons .mical-account-link {
  background:#fff;
  color:#604653;
  border:1px solid #e6d6dc;
}
.site-navbar-v4 .mical-header-buttons .mical-account-link:hover {
  color:#54243f;
  background:#fff6f9;
  border-color:#dcc1cd;
  transform:translateY(-1px);
}
.site-navbar-v4 .mical-header-buttons .mical-book-link {
  min-height:45px;
  border-radius:15px;
  padding:10px 16px;
  gap:7px;
  font-size:.85rem;
  box-shadow:0 10px 22px rgba(109,53,87,.18);
}
.site-navbar-v4 .mical-header-actions a:focus-visible { outline:3px solid #a9698a!important; outline-offset:3px; }

@media (min-width:1200px) and (max-width:1530px) {
  .site-navbar-v4 .mical-nav-shell { padding-inline: clamp(14px, 1.4vw, 24px); gap:8px; }
  .site-navbar-v4 .mical-header-brand { gap:8px; margin-right:0; }
  .site-navbar-v4 .mical-header-brand .brand-logo { width:48px; height:48px; flex-basis:48px; }
  .site-navbar-v4 .mical-brand-copy strong { font-size:clamp(.86rem, 1.12vw, 1.05rem); max-width:280px; }
  .site-navbar-v4 .mical-header-collapse { gap:8px; }
  .site-navbar-v4 .mical-header-links .nav-link { font-size:.8rem; padding-inline:6px; }
  .site-navbar-v4 .mical-header-register,
  .site-navbar-v4 .mical-header-buttons .mical-account-link,
  .site-navbar-v4 .mical-header-buttons .mical-book-link { font-size:.78rem; padding-inline:10px; }
  .site-navbar-v4 .mical-header-buttons { gap:6px; }
}
@media (min-width:1200px) and (max-width:1320px) {
  .site-navbar-v4 .mical-header-buttons .mical-book-link .mical-cta-arrow { display:none; }
}
@media (max-width:1199.98px) {
  .site-navbar-v4 .mical-header-collapse.show,
  .site-navbar-v4 .mical-header-collapse.collapsing {
    display:flex;
    flex-direction:column;
    align-items:stretch;
  }
  .site-navbar-v4 .mical-header-links {
    width:100%;
    align-items:stretch;
    margin:0;
  }
  .site-navbar-v4 .mical-header-actions {
    width:100%;
    align-items:stretch;
    flex-shrink:1;
    border-top:1px solid #efdee5;
    padding-top:13px;
    margin-top:8px;
  }
  .site-navbar-v4 .mical-header-buttons {
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:8px;
    width:100%;
  }
  .site-navbar-v4 .mical-header-buttons .mical-book-link {
    grid-column:1 / -1;
    min-height:46px;
    font-size:.93rem;
  }
  .site-navbar-v4 .mical-header-register,
  .site-navbar-v4 .mical-header-buttons .mical-account-link {
    min-height:44px;
    font-size:.88rem;
  }
}
@media (prefers-reduced-motion:reduce) {
  .site-navbar-v4 .mical-header-register,
  .site-navbar-v4 .mical-header-buttons .mical-account-link { transition:none!important; }
}


/* V8: cierre de sesión visible únicamente cuando existe una cuenta de atención activa. */
.site-navbar-v4 .mical-header-logout-form {
  display:inline-flex;
  flex:0 0 auto;
  margin:0;
  padding:0;
}
.site-navbar-v4 .mical-header-logout {
  min-height:44px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:7px;
  padding:10px 13px;
  font-size:.84rem;
  line-height:1.1;
  border-radius:14px;
  white-space:nowrap;
  text-decoration:none;
  font-weight:700;
  color:#6d3557;
  background:#fbf6f8;
  border:1px solid #e5cdd8;
  cursor:pointer;
  transition:background-color .2s ease, border-color .2s ease;
}
.site-navbar-v4 .mical-header-logout:hover {
  color:#51243f;
  background:#f2e5ec;
  border-color:#d6b7c7;
}
.site-navbar-v4 .mical-header-logout:focus-visible {
  outline:3px solid #a9698a!important;
  outline-offset:3px;
}
@media (min-width:1200px) and (max-width:1530px) {
  .site-navbar-v4 .mical-header-logout { font-size:.78rem; padding-inline:10px; }
}
@media (max-width:1199.98px) {
  .site-navbar-v4 .mical-header-logout-form { width:100%; }
  .site-navbar-v4 .mical-header-logout { width:100%; min-height:44px; font-size:.88rem; }
  /* Cuenta y Cerrar sesión en una fila; Agendar ocupa la fila completa. */
}
@media (prefers-reduced-motion:reduce) {
  .site-navbar-v4 .mical-header-logout { transition:none!important; }
}
