/* Original uploaded RZCOS wordmark; preserve its aspect ratio. */
.logo.brand-logo,.wordmark.brand-logo{display:inline-flex;align-items:center;flex-shrink:0;line-height:1;padding:0}
.logo.brand-logo img,.wordmark.brand-logo img{display:block;width:150px;max-width:none;height:auto;object-fit:contain}
footer .logo.brand-logo img{width:135px}
.admin-rail .wordmark.brand-logo img{width:155px;max-width:100%}
@media(max-width:760px){.logo.brand-logo img,.wordmark.brand-logo img{width:112px}footer .logo.brand-logo img{width:125px}}

/* Shared header geometry: navigation and account controls use separate rows. */
header.session-header{height:auto!important;min-height:88px;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px 24px;padding-top:14px;padding-bottom:14px}
header.session-header>nav{position:static;inset:auto;height:auto;display:flex;align-items:center;justify-content:flex-start;flex-wrap:wrap;gap:4px 20px;min-width:0;max-width:100%;margin:0}
header.session-header>nav>a,header.session-header .account-nav{display:inline-flex;align-items:center;justify-content:center;min-height:44px;line-height:1.5;margin:0;white-space:nowrap}
header.session-header .header-actions,header.session-header .session-actions{position:static;display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;flex:1 1 100%;gap:8px 18px;min-width:0;max-width:100%;margin:0}
header.session-header .site-session{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:4px 20px;max-width:100%;min-width:0;margin:0;font-size:14px;line-height:1.5}
header.session-header .site-session[hidden]{display:none!important}
header.session-header .session-greeting{display:inline-flex;align-items:center;flex-wrap:wrap;min-height:44px;min-width:0;max-width:100%;gap:0}
.session-nickname,#account-nickname,#members-list td:first-child{font-weight:700}
header.session-header .session-nickname{min-width:0;overflow-wrap:anywhere;max-width:100%}
header.session-header .session-links{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:4px 20px;min-width:0;max-width:100%}
header.session-header .session-links>a,header.session-header .session-links>button{display:inline-flex;align-items:center;justify-content:center;min-height:44px;min-width:44px;margin:0;padding:8px 0;font:inherit;line-height:1.5;white-space:nowrap}
header.session-header .session-links>button{background:transparent;border:0;color:inherit;cursor:pointer}
header.session-header .bag{min-height:44px}
@media(max-width:900px){header.session-header>nav{flex:1 1 100%;width:100%}header.session-header .header-actions,header.session-header .session-actions{justify-content:flex-start}header.session-header .site-session{justify-content:flex-start}}
@media(max-width:640px){header.session-header{gap:8px 16px;padding-top:12px;padding-bottom:12px}header.session-header>nav{gap:2px 16px;overflow:visible;white-space:normal}header.session-header .site-session{flex-basis:100%;width:100%;gap:0}header.session-header .session-greeting{flex-basis:100%;min-height:36px}header.session-header .session-links{justify-content:flex-start;gap:4px 16px}header.session-header .account-nav{max-width:100%;white-space:normal}header.session-header .admin-nav{margin:0}.member-header nav{align-items:center}.member-header nav>a{display:inline-flex;align-items:center;min-height:44px}}

/* One parent menu for both photobook editions, with native tap/keyboard support. */
.photobook-menu{position:relative;flex:0 0 auto;margin:0;align-self:center;z-index:30}
.photobook-menu>summary{display:flex;align-items:center;gap:6px;min-height:44px;line-height:1.5;cursor:pointer;list-style:none;white-space:nowrap}
.photobook-menu>summary::-webkit-details-marker{display:none}.photobook-menu>summary::marker{content:''}
.photobook-menu>summary>span{font-size:12px}.photobook-submenu{position:absolute;top:100%;left:0;min-width:140px;max-width:calc(100vw - 32px);padding:8px;background:#fff;border:1px solid #deded8;box-shadow:0 10px 24px #00000012;border-radius:4px;z-index:40}
.photobook-submenu>a{display:flex;align-items:center;min-height:44px;padding:8px 14px;font-size:15px;line-height:1.5;white-space:nowrap}.photobook-submenu>a:hover,.photobook-submenu>a:focus-visible{background:#f1f3ec}
/* All catalog tabs share a line box and a bottom border, including the count. */
.archive .catalog-controls{display:flex;align-items:center;flex-wrap:wrap;gap:8px 20px;min-width:0}
.archive .filters{display:flex;align-items:stretch;flex-wrap:wrap;gap:0 22px;min-width:0;max-width:100%}
.archive .filters button{display:inline-flex;align-items:center;justify-content:center;gap:5px;min-height:52px;box-sizing:border-box;margin:0;padding:12px 0;border-bottom:2px solid transparent;line-height:1.5;white-space:nowrap}
.archive .filters button.selected{border-bottom-color:var(--ink)}.archive .filters sup{position:static;top:auto;font-size:.75em;line-height:1;margin:0;align-self:center}
.archive #result-count{margin:0;line-height:1.5;white-space:nowrap}
@media(max-width:640px){.archive .catalog-controls{align-items:center;gap:6px 12px}.archive .filters{gap:0 16px;flex:1 1 100%}.archive .filters button{min-height:48px;padding:10px 0}.archive #result-count{padding-bottom:8px}.photobook-menu>summary{font-size:inherit}}

header.session-header .photobook-submenu{display:grid;grid-template-columns:1fr;gap:0}
header.session-header .photobook-submenu>a{width:100%;justify-content:flex-start}
@media(max-width:640px){.archive-intro h1{font-size:clamp(28px,8.6vw,36px);letter-spacing:-.035em;line-height:1.2}.archive-intro h1 em{margin-left:.18em;white-space:nowrap}}
/* Dropdowns must be able to extend past the navigation line on desktop too. */
header.session-header>nav{overflow:visible}
/* The announcement is a full-width block, never a shrinkable navigation item. */
body.archive{display:block;min-width:0}
body.archive>.announcement{box-sizing:border-box;display:block;width:100%;min-width:100%;max-width:none;flex:0 0 100%;grid-column:1/-1;align-self:stretch;position:relative;left:auto;right:auto;margin-inline:0;white-space:normal;word-break:keep-all;overflow-wrap:normal}

/* Match every brand-logo link, including the order history header. */
.brand-logo{display:inline-flex;align-items:center;flex-shrink:0;line-height:1}
.brand-logo img{display:block;width:150px;max-width:100%;height:auto;object-fit:contain}
.admin-rail .brand-logo img{width:155px}footer .brand-logo img{width:135px}
@media(max-width:760px){.brand-logo img{width:112px}footer .brand-logo img{width:125px}}

/* Consistent home-link and menu hit areas across member and security pages. */
header.member-header>a,header.session-header>a,header.member-header nav>a{display:inline-flex;align-items:center;min-height:44px}

/* Keep the order date fields and actions on consistent baselines. */
.orders-main .order-history-filters{align-items:flex-end}
.orders-main .order-history-filters label{display:flex;flex-direction:column;align-items:stretch;gap:6px;min-width:0;margin:0;line-height:1.5}
.orders-main .order-history-filters input[type=date]{box-sizing:border-box;min-width:0;width:180px;height:44px;margin:0;padding:8px 12px}
.orders-main .order-history-filters button{box-sizing:border-box;min-height:44px;margin:0;align-self:end}
.orders-main .order-history-filters #order-page{align-self:center;text-align:center;line-height:1.5}
@media(max-width:640px){.orders-main .order-history-filters{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));align-items:end;gap:12px}.orders-main .order-history-filters label{grid-column:span 3}.orders-main .order-history-filters input[type=date]{width:100%}.orders-main .order-history-filters #apply-dates{grid-column:1/-1}.orders-main .order-history-filters #order-prev{grid-column:1/span 2}.orders-main .order-history-filters #order-page{grid-column:3/span 2}.orders-main .order-history-filters #order-next{grid-column:5/span 2}}
