/* AO header — values from the approved design (src/shell.jsx: Header, MobileMenu, SearchOverlay). */
:root:has(.ao-header:not(.has-announce)){--ao-announce-h:0px}
.ao-header__fixed{position:fixed;top:0;left:0;right:0;z-index:50;color:var(--text-primary)}

/* announcement (collapses once the page scrolls, as designed) */
.ao-announce{position:relative;height:var(--ao-announce-h);overflow:hidden;background:var(--ao-charcoal-black);color:var(--text-inverse);font:var(--type-small);font-size:12px;transition:height 400ms var(--ease-quiet)}
.ao-announce__msg{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;padding:0 var(--margin-page);text-align:center;opacity:0;transition:opacity 600ms var(--ease-quiet)}
.ao-announce__msg.is-on,.ao-announce__msg:only-child{opacity:1}
.ao-announce__msg a,.ao-announce__msg a:hover{color:inherit;text-decoration:none}
.ao-header.is-scrolled .ao-announce{height:0}

/* the bar */
.ao-bar{height:var(--ao-bar-h);display:grid;grid-template-columns:1fr auto 1fr;align-items:center;background:rgba(255,255,255,.96);-webkit-backdrop-filter:blur(16px) saturate(140%);backdrop-filter:blur(16px) saturate(140%);border-bottom:1px solid var(--rule-hairline);transition:background 500ms var(--ease-quiet),border-color 500ms}
.ao-header[data-home]:not(.is-scrolled) .ao-header__fixed:not(.is-menu-open) .ao-bar{background:rgba(255,255,255,.72);border-bottom-color:rgba(255,255,255,.4)}
.ao-bar__nav{display:flex;gap:28px;align-items:center}
.ao-bar__menu{justify-self:start}
.ao-bar__logo{display:block;width:var(--ao-logo-w,58px);color:var(--ao-charcoal-black);line-height:0}
.ao-bar__logo img{width:100%;height:auto}
.ao-bar__actions{display:flex;gap:28px;justify-content:flex-end;align-items:center}

/* the bag: the platform's cart bubble (it keeps the count and opens the drawer), drawn as "Bag (n)" */
.ao-bag{line-height:1}
.ao-bag .cart-bubble,.ao-bag theme-cart-bubble{display:inline-block}
.ao-bag .cart-bubble__link{all:unset;cursor:pointer;display:inline-flex;align-items:baseline;color:inherit;font:var(--type-label);letter-spacing:var(--tracking-label);text-transform:uppercase}
/* the btnu underline (::before/::after carry "Bag (" and ")", so the line is a background) */
.ao-bag .cart-bubble__link{padding-bottom:3px;margin-bottom:-3px;background:linear-gradient(currentColor,currentColor) right bottom/0 1px no-repeat;transition:background-size 450ms var(--ease-quiet)}
.ao-bag .cart-bubble__link:hover,.ao-bag .cart-bubble__link:focus-visible{background-size:100% 1px;background-position:left bottom;text-decoration:none}
.ao-bag .cart-bubble__link svg{display:none}
.ao-bag .cart-bubble__link::before{content:var(--ao-bag-label,"Bag") "\00a0("}
.ao-bag .cart-bubble__link::after{content:")"}
.ao-bag .cart-bubble__count{all:unset;font:inherit;letter-spacing:inherit}
.ao-bag .cart-bubble__count:empty::before{content:"0"}

/* mega panel */
.ao-mm{background:#fff;border-bottom:var(--border-hairline);transform:translateY(-8px);pointer-events:none;transition:opacity 400ms var(--ease-quiet),transform 400ms var(--ease-quiet),visibility 0s linear 400ms}
.ao-mm.is-open{transform:none;pointer-events:auto;transition:opacity 400ms var(--ease-quiet),transform 400ms var(--ease-quiet),visibility 0s}
.ao-mm__inner{display:flex;flex-wrap:nowrap;gap:var(--gutter);padding-top:36px;padding-bottom:44px}
.ao-mm__list{flex:1.3 1 0;order:0;min-width:0}
.ao-mm__group{flex:1 1 0;order:1;min-width:0;display:flex;flex-direction:column;gap:14px;align-items:flex-start}
.ao-mm__figure{flex:1 1 0;order:2;min-width:0;display:flex;flex-direction:column;gap:10px}
.ao-mm__rows{margin-top:18px;display:flex;flex-direction:column;gap:6px}
.ao-mm__row{display:grid;grid-template-columns:48px 1fr auto;align-items:baseline;color:inherit;text-decoration:none;opacity:.45;transition:opacity 300ms}
.ao-mm__row:hover{color:inherit}
.ao-mm__row.is-on{opacity:1}
.ao-mm__name{font-size:26px;line-height:1.2}
.ao-mm__link{font-size:20px}
.ao-mm__frame{aspect-ratio:4/3;overflow:hidden;position:relative;background:var(--ao-carton)}
.ao-mm__img{position:absolute;inset:0;opacity:0;transition:opacity 700ms var(--ease-quiet)}
.ao-mm__img.is-on,.ao-mm__img--default:first-child{opacity:1}
.ao-mm__img img{width:100%;height:100%;object-fit:cover;display:block}
.ao-mm__caption{display:none}
.ao-mm__caption.is-on{display:block}
@media(max-width:1080px){.ao-mm{display:none}}

/* mobile menu */
body.ao-locked{overflow:hidden}
.ao-mobile{position:fixed;inset:0;z-index:60;background:var(--ao-ivory-white);color:var(--text-primary);display:flex;flex-direction:column;overflow-y:auto;overscroll-behavior:contain;animation:ao-fade 400ms both}
.ao-mobile[hidden]{display:none}
.ao-mobile__top{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;height:var(--ao-bar-h);flex:none}
.ao-mobile__top>:first-child{justify-self:start}
.ao-mobile__top>:last-child{justify-self:end}
.ao-mobile__nav{padding-top:28px;display:flex;flex-direction:column}
.ao-mobile__nav::before{content:"";border-top:var(--border-rule)}
.ao-mobile__big{all:unset;box-sizing:border-box;cursor:pointer;width:100%;display:flex;justify-content:space-between;align-items:baseline;padding:14px 0;border-bottom:var(--border-hairline);color:inherit;text-decoration:none}
.ao-mobile__big:hover{color:inherit}
.ao-mobile__big .ao-eiko{font-size:40px;line-height:1.1}
.ao-mobile__plus{font-size:20px;transition:transform 400ms var(--ease-quiet)}
.ao-mobile__acc.is-open .ao-mobile__plus{transform:rotate(45deg)}
.ao-mobile__acc-body{display:grid;grid-template-rows:0fr;transition:grid-template-rows 500ms var(--ease-quiet)}
.ao-mobile__acc.is-open .ao-mobile__acc-body{grid-template-rows:1fr}
.ao-mobile__acc-body>div{overflow:hidden}
.ao-mobile__acc-inner{padding:6px 0 16px;border-bottom:var(--border-hairline)}
.ao-mobile__ess-row{display:grid;grid-template-columns:40px minmax(0,1fr) auto;align-items:baseline;padding:7px 0;color:inherit;text-decoration:none}
.ao-mobile__ess-row:hover{color:inherit}
.ao-mobile__ess-row .ao-eiko{font-size:24px}
.ao-mobile__muted{color:var(--text-secondary)}
.ao-mobile__acc-links{display:flex;gap:20px;flex-wrap:wrap;margin-top:14px}
.ao-mobile__foot{margin-top:auto;padding-top:40px;padding-bottom:28px;display:flex;flex-direction:column;gap:20px}
.ao-mobile__links{display:flex;gap:24px;flex-wrap:wrap}
.ao-mobile__social{display:flex;gap:20px;flex-wrap:wrap;color:var(--text-secondary)}

/* search panel */
@keyframes ao-drop{from{transform:translateY(-100%)}to{transform:none}}
.ao-search{position:fixed;inset:0;z-index:70}
.ao-search[hidden]{display:none}
.ao-search__backdrop{position:absolute;inset:0;background:rgba(22,19,17,.35);animation:ao-fade 500ms both}
.ao-search__panel{position:absolute;top:0;left:0;right:0;background:#fff;padding-top:28px;padding-bottom:44px;max-height:100vh;overflow-y:auto;animation:ao-drop 600ms var(--ease-quiet) both}
.ao-search__top{display:flex;justify-content:space-between;align-items:baseline}
.ao-search__input{font-family:var(--font-display);font-size:clamp(32px,4vw,56px);margin-top:16px;-webkit-appearance:none;appearance:none}
.ao-search__input::-webkit-search-cancel-button{display:none}
.ao-search__chips{display:flex;gap:10px;margin-top:20px;flex-wrap:wrap}
.ao-search__chip{all:unset;cursor:pointer;border:var(--border-hairline);padding:8px 14px;font:var(--type-small)}
.ao-search__chip:focus-visible{outline:1px solid currentColor}
.ao-search__results{margin-top:24px;display:flex;flex-direction:column}
.ao-search__row{display:grid;grid-template-columns:56px 70px 1fr auto;gap:16px;align-items:center;padding:10px 0;border-bottom:var(--border-hairline);color:inherit;text-decoration:none}
.ao-search__row:hover{color:inherit}
.ao-search__img{display:block;width:56px;height:56px;overflow:hidden;background:var(--ao-carton)}
.ao-search__img img{width:56px;height:56px;object-fit:cover;display:block}
.ao-search__name{font-size:24px}
.ao-search__fam{color:var(--text-secondary)}
.ao-search__empty{color:var(--text-secondary);margin:24px 0 0;font:var(--type-body)}
@media(max-width:700px){.ao-search__row{grid-template-columns:56px 48px 1fr}.ao-search__fam{display:none}}
