/* /public/assets/littoral/public-navigation.css */
.public-shell{display:block!important}.public-shell main{max-width:1500px!important;padding-top:20px!important}
.public-navigation{position:relative;z-index:100;display:flex;align-items:center;justify-content:center;gap:8px;flex-wrap:wrap;padding:9px 22px;border-bottom:1px solid var(--line);background:var(--surface);overflow:visible}
.public-navigation a{display:block;padding:8px 12px;border-radius:999px;color:var(--ink);text-decoration:none;font-size:13px}
.public-navigation a:hover,.public-navigation a[aria-current=page]{background:var(--tint);color:var(--red)}
.public-dropdown{position:relative}.public-dropdown-row{display:flex;align-items:center;border-radius:999px}.public-dropdown-row>a{padding-right:4px}.public-dropdown.is-open>.public-dropdown-row{background:var(--tint)}.public-dropdown.is-open>.public-dropdown-row>a{color:var(--red)}
.public-navigation .public-dropdown-toggle{min-height:34px;width:30px;padding:7px 9px 7px 3px;margin:0;border:0;background:transparent;color:var(--ink);border-radius:999px;display:flex;align-items:center;justify-content:center;cursor:pointer}
.public-dropdown-toggle svg{width:14px;height:14px;transition:transform .15s}.public-dropdown.is-open .public-dropdown-toggle svg{transform:rotate(180deg)}
.public-navigation .public-submenu{position:absolute;top:100%;left:0;z-index:110;min-width:240px;background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:10px;box-shadow:0 8px 24px #0002;display:grid;gap:3px}
.public-navigation .public-submenu[hidden]{display:none!important}.public-submenu a{padding:12px 14px;white-space:nowrap}
.public-navigation .public-account{background:var(--red);color:#fff;padding:8px 18px}.public-navigation .public-account:hover{background:var(--red);filter:brightness(.94);color:#fff}
.topbar .brand{width:220px;flex:0 0 220px;min-width:0}.topbar .brand-logo{width:220px;height:44px;object-fit:contain;max-width:100%}
.topbar .public-menu-toggle{display:none}.public-menu-toggle .menu-close-icon{display:none}.public-menu-toggle[aria-expanded=true] .menu-open-icon{display:none}.public-menu-toggle[aria-expanded=true] .menu-close-icon{display:block}
@media(max-width:1000px){.topbar .brand{width:190px;flex-basis:190px}.topbar .brand-logo{width:190px;height:40px}}
@media(max-width:760px){.topbar .brand{flex:1;min-width:165px}.topbar .brand-logo{width:175px;height:38px}.topbar .public-menu-toggle{display:inline-flex}.public-navigation{display:none;flex-direction:column;align-items:stretch;justify-content:flex-start;padding:10px 12px;gap:4px}.public-navigation.is-open{display:flex;max-height:calc(100dvh - 140px);overflow-y:auto}.public-navigation>a{text-align:center;padding:10px 12px}.public-dropdown-row{justify-content:center}.public-dropdown-row>a{padding:10px 8px}.public-navigation .public-dropdown-toggle{width:40px;min-height:40px;padding:10px}.public-navigation .public-submenu{position:static;min-width:0;box-shadow:none;background:var(--bg);margin:4px 0 8px}.public-submenu a{text-align:center;white-space:normal}}
@media(max-width:560px){.topbar .brand-logo{width:165px;height:36px}}

/* One responsive row: logo, catalogue search, navigation, actions. */
.topbar.public-topbar{position:relative;z-index:120;display:flex;align-items:center;flex-wrap:nowrap;gap:clamp(8px,1vw,18px);padding:12px clamp(14px,1.5vw,28px);overflow:visible}
.public-topbar .brand{order:0;flex:0 0 220px;width:220px;min-width:0}
.public-topbar .navbar-search{order:1;flex:1 1 250px;min-width:140px;max-width:360px;width:auto;margin:0;position:relative}
.public-topbar .navbar-search input{flex:1 1 0;width:0;min-width:0;text-overflow:ellipsis}
.public-topbar .navbar-search>.icon{flex:0 0 34px;width:34px;height:34px;min-height:34px;padding:7px}
.public-topbar .public-navigation{order:2;flex:0 0 auto;flex-wrap:nowrap;justify-content:center;gap:2px;padding:0;border:0;background:transparent;min-width:0}
.public-topbar .public-navigation>a,.public-topbar .public-dropdown-row>a{white-space:nowrap;padding:8px 9px}
.public-topbar .public-dropdown-row>a{padding-right:2px}
.public-topbar .public-account{padding:8px 15px!important}
.public-topbar .top-actions{order:3;flex:0 0 auto;margin-left:auto;gap:6px}
.public-topbar .public-menu-toggle{display:none}
@media(min-width:1201px) and (max-width:1350px){.public-topbar .brand{width:185px;flex-basis:185px}.public-topbar .brand-logo{width:185px;height:38px}.public-topbar .navbar-search{flex-basis:180px;min-width:140px}.public-topbar .public-navigation{gap:0}.public-topbar .public-navigation>a,.public-topbar .public-dropdown-row>a{padding-left:7px;padding-right:7px}.public-topbar .public-dropdown-row>a{padding-right:2px}}
@media(max-width:1200px){.public-topbar .brand{width:190px;flex:0 0 190px}.public-topbar .brand-logo{width:190px;height:40px}.public-topbar .navbar-search{flex:1 1 200px;max-width:none;min-width:140px}.public-topbar .public-menu-toggle{display:inline-flex}.public-topbar .public-navigation{display:none;position:absolute;top:100%;left:0;right:0;flex-direction:column;align-items:stretch;justify-content:flex-start;padding:12px;gap:4px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:var(--surface);max-height:calc(100dvh - 88px);overflow-y:auto;box-shadow:0 12px 20px #0002}.public-topbar .public-navigation.is-open{display:flex}.public-topbar .public-navigation>a{text-align:center;padding:10px 12px}.public-topbar .public-dropdown-row{justify-content:center}.public-topbar .public-dropdown-row>a{padding:10px 8px}.public-topbar .public-dropdown-toggle{width:40px;min-height:40px;padding:10px}.public-topbar .public-submenu{position:static;min-width:0;box-shadow:none;background:var(--bg);margin:4px 0 8px}.public-topbar .public-submenu a{text-align:center;white-space:normal}}
@media(max-width:599px){.topbar.public-topbar{flex-wrap:wrap;gap:10px;padding:10px 12px}.public-topbar .brand{flex:1 1 165px;width:auto;min-width:0}.public-topbar .brand-logo{width:175px;height:38px}.public-topbar .top-actions{order:1}.public-topbar .navbar-search{order:2;flex:1 0 100%;width:100%;min-width:0}.public-topbar .public-navigation{order:3;max-height:calc(100dvh - 150px)}}
@media(max-width:359px){.public-topbar .brand-logo{width:150px;height:34px}.public-topbar .brand{flex-basis:150px}}

/* Navbar maintenue en haut sur ordinateur et mobile. */
.topbar.public-topbar {
    position: sticky;
    top: 0;
    z-index: 120;
}
