/* Acotado a la cabecera existente. Conserva el menú gestionado por WordPress. */
#topbar { background: #f8f5ef !important; padding: 0 !important; border-bottom: 1px solid #e5ddd2; position: relative; z-index: 1100; }
#topbar > .container { max-width: 1440px; padding: 0 32px; }
#topbar .box-header { background: transparent !important; padding: 0 !important; border-radius: 0 !important; box-shadow: none !important; position: relative !important; }
#topbar .box-header > .row { display: grid !important; grid-template-columns: 270px minmax(0,1fr); align-items: center; gap: 24px !important; margin: 0 !important; min-height: 112px; }
#topbar .box-header > .row > div { width: auto !important; max-width: none !important; padding: 0 !important; }
#topbar .box-header > .row > div:last-child { display: none; }
#topbar .logo { height: auto !important; min-height: 0; padding: 0 !important; background: transparent !important; border-radius: 0 !important; text-align: left !important; position: static !important; }
#topbar .custom-logo-link { display: inline-flex; align-items: center; gap: 12px; color: #392821; text-decoration: none; }
#topbar .custom-logo { width: 80px !important; height: 80px !important; max-width: none; object-fit: contain; }
#topbar .elb-brand { display: flex; flex-direction: column; gap: 5px; text-align: left; }
#topbar .elb-brand > span { font-family: Georgia,serif; font-size: 25px; font-weight: 400; line-height: 1.15; white-space: nowrap; }
#topbar .elb-brand small { font-family: Arial,sans-serif; font-size: 9px; font-weight: 600; letter-spacing: 2px; text-transform: uppercase; color: #88652c; white-space: nowrap; }
#topbar #header, #topbar .header-menu, #topbar .main-menu { background: transparent !important; position: static; padding: 0; }
#topbar #mySidenav { display: block; visibility: visible !important; position: static !important; width: 100% !important; height: auto !important; background: transparent !important; overflow: visible !important; padding: 0 !important; transform: none !important; }
#topbar #site-navigation { margin: 0; padding: 0; background: transparent; }
#topbar #site-navigation .main-menu > ul { display: flex; justify-content: flex-end; align-items: center; gap: 24px; margin: 0; padding: 0; list-style: none; }
#topbar #site-navigation li { border: 0 !important; background: transparent !important; margin: 0; padding: 0; float: none; position: relative; }
#topbar #site-navigation .main-menu > ul > li > a,
#topbar #site-navigation .elb-submenu-toggle { display: inline-flex; align-items: center; justify-content: center; gap: 9px; min-height: 48px; padding: 10px 0; margin: 0; color: #392821 !important; background: transparent; border: 0; border-radius: 0; font: 600 13px/1.4 Arial,sans-serif; letter-spacing: 1.8px; text-transform: uppercase; text-decoration: none; cursor: pointer; white-space: nowrap; }
#topbar #site-navigation .main-menu > ul > li > a::before,
#topbar #site-navigation .main-menu > ul > li > a::after { display: none; }
#topbar #site-navigation .main-menu > ul > .current-menu-item > a,
#topbar #site-navigation .main-menu > ul > .current-menu-ancestor > button,
#topbar #site-navigation .main-menu > ul > li > a:hover,
#topbar #site-navigation .elb-submenu-toggle:hover,
#topbar #site-navigation .elb-submenu-toggle[aria-expanded="true"] { box-shadow: inset 0 -1px #986d3b; }
#topbar .elb-chevron { width: 6px; height: 6px; border-right: 1px solid; border-bottom: 1px solid; transform: rotate(45deg); margin-top: -4px; transition: transform .2s; }
#topbar .elb-submenu-toggle[aria-expanded="true"] .elb-chevron { transform: rotate(225deg); margin-top: 3px; }
#topbar #site-navigation .sub-menu { display: none !important; opacity: 1 !important; visibility: visible !important; position: absolute !important; left: 0 !important; top: 100% !important; width: 290px; max-width: calc(100vw - 48px); margin: 0; padding: 10px; list-style: none; background: #fffdf9 !important; border: 1px solid #e8ded1; border-radius: 12px; box-shadow: 0 14px 36px #3928211a; z-index: 1200; }
#topbar #site-navigation .elb-open > .sub-menu { display: block !important; }
#topbar #site-navigation .sub-menu li { width: 100%; }
#topbar #site-navigation .sub-menu a { display: flex; align-items: center; min-height: 44px; padding: 10px 12px; margin: 0; font: 400 14px/1.5 Arial,sans-serif; letter-spacing: 0; text-transform: none; color: #49362c !important; border: 0; border-radius: 6px; background: transparent !important; white-space: normal; text-decoration: none; }
#topbar #site-navigation .sub-menu a:hover { background: #f1e9dd !important; }
#topbar #site-navigation .elb-nav-cta { margin-left: 4px; }
#topbar #site-navigation .main-menu > ul > .elb-nav-cta > a { background: #392821 !important; color: #fffdf9 !important; padding: 14px 22px; border-radius: 999px; box-shadow: none; font-size: 11px; letter-spacing: 1.5px; }
#topbar #site-navigation .elb-nav-cta > a:hover { background: #6f422c !important; }
#topbar a:focus-visible, #topbar button:focus-visible { outline: 2px solid #986d3b !important; outline-offset: 5px; }
#topbar button:focus:not(:focus-visible) { outline: none !important; }
#topbar .responsivetoggle i { width: auto; height: auto; padding: 0; margin: 0; line-height: 1; background: transparent !important; color: inherit !important; }
#topbar .toggle-nav, #topbar .closebtn { display: none !important; }
@media (max-width: 1199px) {
  #topbar > .container { padding: 0 20px; }
  #topbar .box-header > .row { grid-template-columns: minmax(0,1fr) 48px !important; min-height: 94px; gap: 12px !important; }
  #topbar .custom-logo { width: 64px !important; height: 64px !important; }
  #topbar .elb-brand > span { font-size: 23px; }
  #topbar .elb-brand small { font-size: 8px; letter-spacing: 1.6px; }
  #topbar .toggle-nav { display: block !important; margin: 0; }
  #topbar .responsivetoggle { display: flex; align-items: center; justify-content: center; width: 48px; height: 48px; padding: 0; border: 1px solid #d9cbb9; border-radius: 12px; background: #fffdf9; color: #49362c; font-size: 21px; }
  #topbar #mySidenav { display: none !important; position: absolute !important; top: 100% !important; left: -20px !important; right: -20px !important; width: auto !important; max-height: calc(100dvh - 140px); overflow-y: auto !important; background: #fffdf9 !important; border-bottom: 1px solid #ded2c2; box-shadow: 0 16px 30px #3928211a; padding: 16px 24px 24px !important; }
  #topbar.elb-mobile-open #mySidenav { display: block !important; }
  #topbar #site-navigation .main-menu > ul { display: flex; flex-direction: column; align-items: stretch; gap: 0; }
  #topbar #site-navigation .main-menu > ul > li { border-bottom: 1px solid #eee5d9 !important; }
  #topbar #site-navigation .main-menu > ul > li > a, #topbar #site-navigation .elb-submenu-toggle { display: flex; justify-content: space-between; width: 100%; min-height: 52px; font-size: 12px; padding: 12px 6px; box-shadow: none !important; }
  #topbar #site-navigation .main-menu > ul > .current-menu-item > a, #topbar #site-navigation .elb-submenu-toggle[aria-expanded="true"] { color: #88652c !important; }
  #topbar #site-navigation .sub-menu { position: static !important; width: auto; max-width: none; padding: 0 0 10px 10px; background: transparent !important; border: 0; border-radius: 0; box-shadow: none; }
  #topbar #site-navigation .sub-menu a { padding: 10px 12px; }
  #topbar #site-navigation .main-menu > ul > .elb-nav-cta { margin: 18px 0 0; border: 0 !important; }
  #topbar #site-navigation .main-menu > ul > .elb-nav-cta > a { justify-content: center; min-height: 48px; font-size: 11px; }
}
@media (max-width: 359px) {
  #topbar > .container { padding: 0 14px; }
  #topbar .custom-logo { width: 54px !important; height: 54px !important; }
  #topbar .custom-logo-link { gap: 8px; }
  #topbar .elb-brand > span { font-size: 20px; }
  #topbar .elb-brand small { font-size: 7px; letter-spacing: 1.2px; }
  #topbar #mySidenav { left: -14px !important; right: -14px !important; }
}
@media (prefers-reduced-motion: reduce) { #topbar .elb-chevron { transition: none; } }
