/* Shared portal shell. Tokens → component → responsive states. No editorial mutations. */
.portal-shell,.portal-shell-footer{background:var(--el-shell);color:var(--el-text);border-color:var(--el-shell-border)}
.portal-shell{border-bottom:1px solid var(--el-shell-border)}
.portal-shell>.wrap:first-child{position:relative;display:block;max-width:1280px;min-height:174px;margin:auto;padding:0 34px}
.portal-shell .brand{position:absolute;top:-4px;left:-16px;z-index:5;display:block;width:180px;height:180px;margin:0;text-decoration:none;color:var(--el-text);font-weight:800;line-height:1;letter-spacing:-.055em}
.portal-shell .brand-logo{display:block;width:180px;height:180px;object-fit:contain;flex-shrink:0}
.portal-shell .brand>span{position:absolute;top:45px;left:198px;display:block;width:max-content;margin:0;font-size:48px;line-height:.98;letter-spacing:-.068em;white-space:nowrap}
.portal-shell .brand b{display:inline;font-weight:900}
.portal-shell .header-note{display:none}
.portal-shell #menu-principal{position:absolute;left:202px;right:34px;bottom:14px;display:flex;align-items:center;justify-content:flex-start;gap:8px;width:auto;margin:0;padding:0;font-size:16px;line-height:1.2}
.portal-shell #menu-principal>a{position:relative;display:inline-flex;align-items:center;justify-content:flex-start;min-height:0;padding:10px 11px;margin:0;border:0;border-radius:0;background:transparent;box-shadow:none;color:var(--el-text);font-size:16px;font-weight:600;line-height:1.2;text-decoration:none;white-space:nowrap;gap:0}
.portal-shell #menu-principal>a::after{content:"";position:absolute;left:10px;right:10px;bottom:2px;height:2px;background:var(--el-accent);transform:scaleX(0);transition:transform .16s ease}
.portal-shell #menu-principal>a:hover::after,.portal-shell #menu-principal>a[aria-current=page]::after{transform:scaleX(1)}
.portal-shell #menu-principal>a[aria-current=page]{font-weight:750}
.portal-shell .header-language-bar{position:absolute;top:22px;right:34px;z-index:8;display:flex;flex-direction:column;align-items:flex-end;gap:7px;margin:0;flex-shrink:0}
.portal-shell .header-language-options{position:static;display:flex;flex-wrap:wrap;flex-direction:row;align-items:center;justify-content:flex-start;gap:3px;width:auto;max-height:none;margin:0;padding:0;border:0;background:transparent;box-shadow:none;overflow:visible}
.portal-shell .header-language-options>a{display:inline-flex;align-items:center;justify-content:center;gap:4px;min-height:32px;padding:3px 7px;border:1px solid transparent;border-radius:6px;background:transparent;color:var(--el-text);font-size:12px;font-weight:650;line-height:1.2;text-decoration:none}
.portal-shell .header-language-options>a[aria-current=page]{background:#ffffff9c;border-color:var(--el-shell-border)}
.portal-shell .header-language-options>a:hover{background:var(--el-card)}
.portal-shell .header-language-flag{font-family:"Apple Color Emoji","Segoe UI Emoji","Noto Color Emoji",sans-serif;font-size:18px;line-height:1}
.portal-shell .language-switch{display:flex;gap:0;margin:0;padding:0;border:0}
.portal-shell :is(.portal-account-strip,.portal-account-strip-inner,.account-entry){display:flex;align-items:center;justify-content:flex-end;gap:10px;margin:0;padding:0;border:0;background:transparent;min-height:0}
.portal-shell :is(.portal-account-strip-inner,.account-entry)>:is(a,button,summary){display:inline-flex;align-items:center;min-height:40px;margin:0;padding:7px 0;border:0;background:transparent;color:var(--el-text);font:600 13px/1.3 var(--el-font-ui,system-ui,sans-serif);text-decoration:none;white-space:nowrap;cursor:pointer}
.portal-shell :is(.portal-account-strip-inner,.account-entry)>a.header-register{padding:7px 10px;border:1px solid var(--el-action-hover);border-radius:7px;color:var(--el-action-hover)}
.portal-shell :is(.portal-account-strip-inner,.account-entry)>form{margin:0;display:inline-flex}
.portal-shell .account-name{max-width:22ch;overflow:visible;text-overflow:clip;white-space:normal;overflow-wrap:anywhere;line-height:1.3}
.portal-shell .menu-toggle{display:none}
.portal-shell a:focus-visible,.portal-shell button:focus-visible,.portal-shell summary:focus-visible,.portal-shell-footer a:focus-visible{outline:2px solid var(--el-focus);outline-offset:2px}
.portal-shell-footer{margin-top:20px;padding:24px 0;border-top:1px solid var(--el-shell-border);font-size:12px;line-height:1.6}
.portal-shell-footer>.wrap{display:flex;align-items:center;justify-content:space-between;gap:20px}
.portal-shell-footer a{color:var(--el-text)}
.portal-shell-footer a:hover{color:var(--el-action-hover)}
.portal-shell-footer .footer-contact{display:flex;align-items:center;justify-content:center;gap:9px;flex-wrap:wrap;order:2}
.portal-shell-footer .footer-contact-link{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;padding:0;border:0;background:transparent;text-decoration:none;transition:transform .18s ease}
.portal-shell-footer .footer-contact-icon{display:grid;place-items:center;flex:0 0 auto;width:42px;height:42px;border-radius:50%;color:#fff}
.portal-shell-footer .footer-contact-icon svg{width:29px;height:29px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.portal-shell-footer .footer-contact-whatsapp .footer-contact-icon{background:#25d366}
.portal-shell-footer .footer-contact-instagram .footer-contact-icon{background:linear-gradient(135deg,#feda75 0%,#fa7e1e 30%,#d62976 62%,#4f5bd5 100%)}
.portal-shell-footer .footer-contact-email .footer-contact-icon{background:#ea4335}
.portal-shell-footer .footer-contact-link:hover{transform:translateY(-2px)}
@media(max-width:1190px){
 .portal-shell>.wrap:first-child{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;column-gap:20px;min-height:172px;padding:5px 24px}
 .portal-shell .brand{position:static;display:flex;align-items:center;gap:10px;width:auto;max-width:100%;height:162px;min-width:0}
 .portal-shell .brand-logo{width:clamp(76px,12vw,140px);height:auto;flex-basis:auto}
 .portal-shell .brand>span{position:static;display:block;width:auto;min-width:0;margin-top:-18px;font-size:clamp(20px,2.7vw,36px);line-height:1.1;letter-spacing:-.065em;white-space:normal}
 .portal-shell .header-language-bar{position:static;grid-column:2}
 .portal-shell .menu-toggle{grid-column:3;display:flex;flex-direction:column;justify-content:center;gap:5px;flex-shrink:0;width:42px;height:42px;padding:10px;border:1px solid #b9d1c4;border-radius:18px;background:transparent;color:var(--el-text);cursor:pointer}
 .portal-shell .menu-toggle>span{display:block;width:22px;height:2px;background:currentColor;border-radius:2px}
 .portal-shell #menu-principal{display:none}
 .portal-shell.menu-open #menu-principal{position:absolute;top:calc(100% - 4px);right:20px;bottom:auto;left:auto;z-index:20;display:flex;flex-direction:column;align-items:stretch;width:min(300px,calc(100vw - 40px));max-height:calc(100dvh - 150px);overflow-y:auto;gap:2px;margin:0;padding:10px;border:1px solid var(--el-border);border-radius:12px;background:var(--el-card);box-shadow:0 12px 32px #172b4226}
 .portal-shell.menu-open #menu-principal>a{display:flex;align-items:center;justify-content:flex-start;align-self:stretch;min-height:44px;width:100%;max-width:none;margin:0;padding:10px 12px;border-radius:6px;text-align:left;font-size:14px;line-height:1.4;white-space:normal}
}
@media(max-width:650px){
 .portal-shell>.wrap:first-child{grid-template-columns:70px minmax(0,1fr) 36px;min-height:72px;padding:10px 12px;column-gap:8px}
 .portal-shell .brand{height:auto}
 .portal-shell .brand-logo{width:70px;height:70px}
 .portal-shell .brand>span{display:none}
 .portal-shell .header-language-bar{gap:3px;min-width:0;width:100%}
 .portal-shell .language-switch,.portal-shell .portal-account-strip{min-width:0;max-width:100%}
 .portal-shell .portal-account-strip-inner:has(.account-user-menu){flex-wrap:wrap;min-width:0;max-width:100%;row-gap:0}
 .portal-shell .portal-account-strip-inner>.account-user-menu{flex:0 0 100%;min-width:0;max-width:100%}
 .portal-shell .account-name{max-width:100%;justify-content:flex-end;overflow-wrap:anywhere}
 .portal-shell :is(.portal-account-strip-inner,.account-entry){gap:8px}
 .portal-shell :is(.portal-account-strip-inner,.account-entry)>:is(a,button,summary){font-size:11px}
 .portal-shell .header-language-options>a{min-height:34px;padding:4px 6px;font-size:11px}
 .portal-shell .menu-toggle{width:36px;height:36px}
 .portal-shell-footer{padding:20px 0}
 .portal-shell-footer>.wrap{flex-direction:column;align-items:flex-start;gap:8px}
 .portal-shell-footer .footer-contact{justify-content:flex-start;width:100%;order:0}
}
@media(prefers-reduced-motion:reduce){.portal-shell #menu-principal>a::after,.portal-shell-footer .footer-contact-link{transition:none}.portal-shell-footer .footer-contact-link:hover{transform:none}}

/* Account actions share the same text treatment, including secure POST sign-out. */
.portal-shell .portal-account-strip .account-logout-form{display:inline-flex!important;align-items:center;margin:0;padding:0;border:0;background:transparent}
.portal-shell .portal-account-strip .account-logout-form::before{content:"/";margin:0 8px 0 0;color:var(--el-muted)}
.portal-shell .portal-account-strip .account-logout-button{display:inline!important;min-height:0!important;width:auto!important;margin:0!important;padding:0!important;border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;color:var(--el-action)!important;font:600 13px/1.3 var(--el-font-ui,system-ui,sans-serif)!important;text-decoration:none;cursor:pointer}
.portal-shell .portal-account-strip .account-logout-button:hover{text-decoration:underline}

.portal-shell .portal-account-strip-inner>a[href="/negocios/portal/"]{color:var(--el-action)!important}
