/* Canonical production chrome and reusable components — Prototype v1.0 frozen. */
.site-header,
.site-footer {
	background: transparent;
	padding: 0;
}

.site-header .inside-header,
.site-footer .inside-site-info {
	max-width: none;
	padding: 0;
}

.losp-site-header {
	background: #fff;
	border-bottom: 1px solid rgba(185, 149, 75, 0.31);
	font-family: var(--losp-font-interface);
	position: relative;
	z-index: 50;
}

.losp-site-header__inner {
	align-items: center;
	display: flex;
	gap: 28px;
	justify-content: space-between;
	margin-inline: auto;
	max-width: var(--losp-wide);
	min-height: var(--losp-header-height);
	padding-inline: var(--losp-gutter);
	position: relative;
}

.losp-site-header__brand {
	display: block;
	flex: 0 0 auto;
	text-decoration: none;
}

.losp-site-header__brand img {
	display: block;
	height: auto;
	max-width: min(var(--losp-header-logo), 36vw);
	width: var(--losp-header-logo);
}

.losp-nav { margin-left: auto; }
.losp-nav__list {
	align-items: center;
	display: flex;
	gap: var(--losp-nav-gap);
	justify-content: flex-end;
	list-style: none;
	margin: 0;
	padding: 0;
	white-space: nowrap;
}

.losp-nav .menu-item { margin: 0; }
.losp-nav .menu-item > a,
.losp-nav__parent-toggle {
	align-items: center;
	background: transparent;
	border: 0;
	color: var(--losp-blue-950);
	cursor: pointer;
	display: inline-flex;
	font-family: var(--losp-font-interface);
	font-size: 14.5px;
	font-weight: 500;
	letter-spacing: 0.06em;
	line-height: 1.2;
	min-height: 44px;
	position: relative;
	text-decoration: none;
	text-transform: uppercase;
	transition: color 160ms ease;
}

.losp-nav .menu-item > a:hover,
.losp-nav .menu-item > a:focus-visible,
.losp-nav__parent-toggle:hover,
.losp-nav__parent-toggle:focus-visible,
.losp-nav__parent-toggle[aria-expanded="true"],
.losp-nav .current-menu-item > a { color: var(--losp-red); }

.losp-site-header .losp-nav__parent-toggle {
	background:transparent;
	border:0;
	border-radius:0;
	color:var(--losp-blue-950);
	font-family:var(--losp-font-interface);
	font-weight:500;
	text-transform:uppercase;
}

.losp-nav__parent-toggle span { align-items:center; display:inline-flex; font-size:18px; height:1em; justify-content:center; line-height:1; margin-left:6px; position:relative; top:-.03em; transition:transform 160ms ease; }
.losp-nav__parent-toggle[aria-expanded="true"] span { transform: rotate(180deg); }
.losp-nav-parent { position: relative; }
.losp-nav-parent.losp-section-books { position: static; }
.losp-nav__panel {
	background: var(--losp-paper);
	border: 1px solid rgba(185,149,75,.32);
	box-shadow: 0 24px 48px rgba(7,31,58,.18);
	position: absolute;
	top: calc(100% - 1px);
}
.losp-nav__panel[hidden] { display:none; }
.losp-nav__panel--mega {
	box-sizing: border-box;
	left: 50%;
	padding: 30px 32px 20px;
	transform: translateX(-50%);
	width: min(calc(100vw - 48px), 1320px);
}
.losp-nav-mega__collections { display:grid; gap:28px; grid-template-columns:repeat(5,minmax(0,1fr)); }
.losp-nav-mega__collection { min-width:0; }
.losp-nav-mega__collection + .losp-nav-mega__collection { border-left:1px solid rgba(185,149,75,.24); padding-left:24px; }
.losp-nav-mega__collection h2 { font:600 14px/1.35 var(--losp-font-interface); letter-spacing:.08em; margin:0 0 14px; text-transform:uppercase; }
.losp-site-header .losp-nav-mega__collection h2 { font:600 14px/1.35 var(--losp-font-interface) !important; letter-spacing:.08em; }
.losp-nav-mega__collection h2 a { color:var(--losp-red); text-decoration:none; }
.losp-nav-mega__collection ul { display:grid; gap:8px; list-style:none; margin:0; padding:0; }
.losp-nav-mega__collection li { margin:0; }
.losp-nav-mega__collection li a { color:#34465a; display:block; font:400 16px/1.38 var(--losp-font-interface); text-decoration:none; white-space:normal; }
.losp-nav-mega__collection li a:hover,.losp-nav-mega__collection li a:focus-visible { color:var(--losp-red); }
.losp-nav-mega__view { color:var(--losp-blue-800); display:inline-flex; font:600 14px/1.35 var(--losp-font-interface); margin-top:16px; text-decoration:none; }
.losp-nav-mega__utility { align-items:center; border-top:1px solid rgba(185,149,75,.25); display:flex; gap:34px; justify-content:center; margin-top:26px; padding-top:18px; }
.losp-nav-mega__utility a { color:var(--losp-blue-950); font:600 14px/1.3 var(--losp-font-interface); letter-spacing:.04em; text-decoration:none; text-transform:uppercase; }
.losp-nav-mega__utility .losp-nav-mega__library { color:var(--losp-red); font-size:17px; letter-spacing:.06em; }
.losp-nav__panel--about { display:grid; min-width:280px; padding:12px; right:0; }
.losp-nav__panel--about a { border-bottom:1px solid rgba(185,149,75,.16); color:#34465a; font:500 13px/1.35 var(--losp-font-interface); padding:12px 14px; text-decoration:none; white-space:normal; }
.losp-nav__panel--about a:last-child { border-bottom:0; }

.losp-nav .current-menu-item > a:not([href*="?s="]):not([href*="/shop/"])::after {
	background: currentColor;
	bottom: 5px;
	content: "";
	height: 2px;
	left: 0;
	position: absolute;
	right: 0;
}

.losp-nav-search > a { justify-content: center; width: 36px; }
.losp-nav-search svg { fill: none; height: 26px; stroke: currentColor; stroke-linecap: round; stroke-linejoin: round; stroke-width: 1.65; width: 26px; }
.losp-nav__mobile-label { display: none; }

.losp-nav-shop > a {
	background: var(--losp-shop-gold);
	border: 1px solid var(--losp-shop-gold);
	gap: 7px;
	justify-content: center;
	min-height: 38px !important;
	padding: 0 14px;
}
.losp-nav-shop svg { fill: none; height: 18px; stroke: currentColor; stroke-linecap: round; stroke-linejoin: round; stroke-width: 1.6; width: 18px; }
.losp-nav-shop > a:hover,
.losp-nav-shop > a:focus-visible { background: var(--losp-blue-950); border-color: var(--losp-blue-950); color: #fff; }

.losp-site-header__toggle {
	appearance: none;
	background: var(--losp-paper);
	border: 1px solid rgba(185, 149, 75, 0.38);
	color: var(--losp-blue-950);
	cursor: pointer;
	display: none;
	height: 44px;
	padding: 10px;
	width: 44px;
}
.losp-site-header__toggle svg { fill: none; height: 22px; stroke: currentColor; stroke-linecap: round; stroke-width: 1.8; width: 22px; }
.losp-site-footer {
	background: var(--losp-section-blue);
	color: rgba(255, 253, 248, 0.78);
	font-family: var(--losp-font-interface);
	padding: var(--losp-footer-top) max(var(--losp-gutter), calc((100vw - var(--losp-site)) / 2)) var(--losp-footer-bottom);
}
.losp-site-footer a { color: inherit; text-decoration: none; }
.losp-site-footer a:hover,
.losp-site-footer a:focus-visible { color: var(--losp-gold-light); }
.losp-site-footer__grid { display: grid; gap: 54px; grid-template-columns: 2fr 1fr 1fr 1fr; }
.losp-site-footer__brand img { display: block; height: auto; max-width: 100%; width: var(--losp-footer-logo); }
.losp-site-footer__brand p { line-height: 1.6; margin-top: 18px; max-width: 380px; }
.site-footer .losp-site-footer__nav h2 {
	color: var(--losp-gold-light);
	font-family: var(--losp-font-heading);
	font-size: 25px;
	font-weight: 500;
	line-height: 1.15;
	margin: 0 0 18px;
}
.losp-footer__menu { display: flex; flex-direction: column; gap: 10px; list-style: none; margin: 0; padding: 0; }
.losp-footer__menu li { margin: 0; }
.losp-site-footer__bottom { border-top: 1px solid rgba(255,255,255,0.16); display: flex; font-size: 13px; gap: 20px; justify-content: space-between; margin-top: 60px; padding-top: 22px; }

.losp-breadcrumbs {
	align-items: center;
	color: var(--losp-muted);
	display: flex;
	flex-wrap: wrap;
	font-family: var(--losp-font-interface);
	font-size: 0.8125rem;
	gap: 0.65rem;
	letter-spacing: 0.025em;
	margin-block: 0 2rem;
}
.losp-breadcrumbs a { color: var(--losp-blue-800); }

@media (max-width: 1120px) {
	.losp-site-header__inner { gap: 16px; padding-inline: 24px; }
	.losp-site-header__brand img { max-width: 31vw; }
	.losp-nav__list { gap: 9px; }
	.losp-nav .menu-item > a { font-size: 12.5px; }
	.losp-nav__parent-toggle { font-size:12.5px; }
}

@media (max-width: 940px) {
	.losp-site-header__inner { min-height: var(--losp-header-mobile); }
	.losp-site-header__brand img { max-width: min(var(--losp-header-logo-tab), calc(100vw - 94px)); width: var(--losp-header-logo-tab); }
	.losp-site-header__toggle { display: grid; place-items: center; }
	.losp-nav {
		background: var(--losp-paper);
		border: 1px solid rgba(185, 149, 75, 0.28);
		box-shadow: 0 18px 34px rgba(5, 18, 34, 0.14);
		left: 24px;
		margin: 0;
		padding: 18px;
		position: absolute;
		right: 24px;
		top: calc(100% - 1px);
	}
	.losp-nav[hidden] { display: none; }
	.losp-nav__list { align-items: stretch; display: grid; gap: 0; white-space: normal; }
	.losp-nav .menu-item > a,.losp-nav__parent-toggle { border-bottom: 1px solid rgba(185, 149, 75, 0.18); display: flex; font-size: 14px; justify-content: flex-start; min-height: 48px; padding: 8px; width: 100%; }
	.losp-nav__parent-toggle { justify-content:space-between; }
	.losp-nav-parent { position:static; }
	.losp-nav__panel { border:0; box-shadow:none; position:static; transform:none; width:auto; }
	.losp-nav__panel--mega { background:#f8f1e5; max-height:58vh; overflow:auto; padding:18px; }
	.losp-nav-mega__collections { display:grid; gap:22px; grid-template-columns:1fr; }
	.losp-nav-mega__collection + .losp-nav-mega__collection { border-left:0; border-top:1px solid rgba(185,149,75,.24); padding-left:0; padding-top:18px; }
	.losp-nav-mega__collection h2 { margin-bottom:10px; }
	.losp-nav-mega__collection ul { gap:6px; }
	.losp-nav-mega__collection li a { font-size:15px; }
	.losp-nav-mega__view { margin-top:10px; }
	.losp-nav-mega__utility { align-items:stretch; flex-direction:column; gap:12px; text-align:center; }
	.losp-nav__panel--about { background:#f8f1e5; min-width:0; padding:8px 16px; }
	.losp-nav .current-menu-item > a::after { display: none; }
	.losp-nav-search > a { gap: 10px; }
	.losp-nav-search svg { height: 20px; width: 20px; }
	.losp-nav__mobile-label { display: inline; }
	.losp-nav-shop > a { margin-top: 8px; min-height: 48px !important; }
	.losp-site-footer__grid { grid-template-columns: 1fr 1fr; }
	.losp-site-footer__brand { grid-column: 1 / -1; }
	.losp-site-footer__bottom { display: grid; }
}

@media (max-width: 520px) {
	.losp-site-header__inner { padding-inline: 18px; }
	.losp-nav { left: 18px; right: 18px; }
	.losp-site-footer__grid { grid-template-columns: 1fr; }
	.losp-site-footer__brand { grid-column: auto; }
}


/* Header + footer navigation revision — 2026-09-14 */
.losp-nav__parent-toggle .losp-nav__caret { border-left:3.5px solid transparent; border-right:3.5px solid transparent; border-top:5px solid currentColor; display:inline-block; height:0; margin-left:7px; position:static; transition:transform 160ms ease; width:0; }
.losp-nav__parent-toggle[aria-expanded="true"] .losp-nav__caret { transform:rotate(180deg); }
.losp-nav__panel--dropdown { display:grid; min-width:280px; padding:12px; right:0; }
.losp-nav__panel--dropdown a { border-bottom:1px solid rgba(185,149,75,.16); color:#34465a; font:500 13px/1.35 var(--losp-font-interface); padding:12px 14px; text-decoration:none; white-space:normal; }
.losp-nav__panel--dropdown a:last-child { border-bottom:0; }
.losp-site-footer__grid { grid-template-columns:minmax(260px,2fr) repeat(4,minmax(135px,1fr)); gap:clamp(28px,3vw,54px); }
.losp-footer__social-link { align-items:center; display:inline-flex; gap:8px; }
.losp-footer__social-link svg { fill:none; flex:0 0 auto; height:16px; stroke:currentColor; stroke-linecap:round; stroke-linejoin:round; stroke-width:1.7; width:16px; }
.losp-footer__social-link .losp-social-dot { fill:currentColor; stroke:none; }
@media (max-width:1120px) { .losp-site-footer__grid { grid-template-columns:repeat(2,minmax(0,1fr)); } .losp-site-footer__brand { grid-column:1 / -1; } }
@media (max-width:940px) { .losp-nav__panel--dropdown { background:#f8f1e5; min-width:0; padding:8px 16px; } }
@media (max-width:520px) { .losp-site-footer__grid { grid-template-columns:1fr; } .losp-site-footer__brand { grid-column:auto; } }
