/* Shared component layer. Club differences are tokens, never selectors by club ID. */
:root {
	--cmria-font-display: "CMRIA Anton", Impact, sans-serif;
	--cmria-font-body: "CMRIA DM Sans", system-ui, sans-serif;
	--cmria-gutter: clamp(1.25rem, 4vw, 3.5rem);
	--cmria-header-height: 94px;
	--cmria-admin-offset: 0px;
	--cmria-layer-header: 50;
}
body.admin-bar { --cmria-admin-offset: 32px; }
.cmria-container { inline-size: min(var(--cmria-container-width, 1480px), calc(100% - 2 * var(--cmria-gutter))); }
.cmria-site { font-family: var(--cmria-font-body); }
.cmria-icon { inline-size: 24px; block-size: 24px; flex: 0 0 auto; }
.cmria-site-header :where(a, button), .cmria-site-footer a, .cmria-utility a { color: inherit; }
.cmria-site-header a, .cmria-site-footer a, .cmria-utility a { text-decoration: none; }
.cmria-site-header :where(a, button):focus-visible, .cmria-site-footer a:focus-visible { outline-color: currentColor; }
.cmria-site-header button { font: inherit; cursor: pointer; }
.cmria-header-sentinel { block-size: 1px; margin-block-end: -1px; pointer-events: none; }
.cmria-utility { background: var(--cmria-color-ink); color: var(--cmria-color-on-dark); font-size: 12px; }
.cmria-utility-inner { min-block-size: 32px; display: flex; align-items: center; justify-content: space-between; gap: 12px 24px; flex-wrap: wrap; padding-block: 4px; }
.cmria-utility a:hover { text-decoration: underline; text-underline-offset: 4px; }
.cmria-site-header { background: var(--cmria-header-paint); color: var(--cmria-header-fg); border-block-end: 1px solid var(--cmria-header-line); padding: 0; flex-shrink: 0; z-index: var(--cmria-layer-header); transition: box-shadow .25s ease; }
.cmria-header-sticky { position: sticky; inset-block-start: var(--cmria-admin-offset); }
.cmria-site-header.is-stuck { box-shadow: 0 6px 20px #0000000d; }
.cmria-header-inner { min-block-size: 94px; display: flex; flex-wrap: wrap; align-items: center; justify-content: initial; gap: 16px 38px; padding-block: 14px; }
.cmria-club-brand { display: flex; gap: 17px; align-items: center; margin-inline-end: auto; min-inline-size: 0; max-inline-size: 100%; }
.cmria-club-logo { inline-size: var(--cmria-logo-width); block-size: calc(var(--cmria-logo-width) * 1.28); object-fit: contain; flex: 0 0 auto; display: block; }
.cmria-brand-copy { min-inline-size: 0; }
.cmria-brand-copy strong { display: block; font-size: 21px; font-weight: 900; letter-spacing: -.045em; line-height: 1.2; text-transform: uppercase; overflow-wrap: anywhere; }
.cmria-brand-copy small { display: block; font-size: 10px; font-weight: 650; letter-spacing: .14em; line-height: 1.5; text-transform: uppercase; margin-block-start: 5px; overflow-wrap: anywhere; }
.cmria-header-actions { display: flex; align-items: center; gap: 12px; }
.cmria-header-actions:empty { display: none; }
.cmria-menu { list-style: none; padding: 0; margin: 0; display: flex; flex-wrap: wrap; gap: 8px 30px; align-items: center; }
.cmria-menu li { position: relative; }
.cmria-menu a { display: inline-block; padding-block: 12px; font-size: 14px; font-weight: 700; }
.cmria-menu a:hover, .cmria-menu .current-menu-item > a { text-decoration: underline; text-decoration-color: var(--cmria-color-accent); text-decoration-thickness: 2px; text-underline-offset: 7px; }
.cmria-menu .sub-menu { list-style: none; margin: 0; padding: 8px 16px; border-inline-start: 1px solid var(--cmria-header-line); }
.cmria-menu .sub-menu a { overflow-wrap: anywhere; }
.cmria-menu-toggle { display: none; border: 1px solid var(--cmria-header-line); background: transparent; color: inherit; border-radius: var(--cmria-radius); padding: 9px; gap: 7px; align-items: center; min-block-size: 44px; }
.cmria-submenu-toggle { display: inline-grid; place-items: center; border: 0; border-radius: var(--cmria-radius); background: transparent; color: inherit; min-inline-size: 30px; min-block-size: 44px; margin-inline-start: 3px; }
.cmria-submenu-toggle::after { content: ""; inline-size: 7px; block-size: 7px; border-inline-end: 1.5px solid; border-block-end: 1.5px solid; transform: rotate(45deg) translateY(-2px); }
.cmria-submenu-toggle[aria-expanded="true"]::after { transform: rotate(225deg) translate(-2px, -2px); }
.cmria-navigation-ready .cmria-menu > li > .sub-menu { position: absolute; inset-block-start: 100%; inset-inline-end: 0; min-inline-size: 230px; max-inline-size: min(320px, calc(100vw - 40px)); padding: 12px 18px; background: var(--cmria-header-bg); color: var(--cmria-header-fg); border: 1px solid var(--cmria-header-line); border-radius: var(--cmria-radius); box-shadow: 0 12px 25px #00000012; }
.cmria-navigation-ready .cmria-menu li:not(.is-submenu-open) > .sub-menu { display: none; }
.cmria-cart-link { display: inline-flex; align-items: center; gap: 10px; min-block-size: 45px; padding: 9px 12px 9px 16px; background: var(--cmria-color-ink); color: var(--cmria-color-on-dark) !important; border: 1px solid transparent; border-radius: var(--cmria-radius); font-size: 14px; font-weight: 650; white-space: nowrap; }
.cmria-cart-link:hover { border-color: var(--cmria-color-accent); }
.cmria-cart-link .cmria-icon { inline-size: 18px; block-size: 20px; }
.cmria-cart-count { display: inline-grid; place-items: center; min-inline-size: 25px; block-size: 25px; padding-inline: 5px; border-radius: 30px; background: var(--cmria-color-accent); color: var(--cmria-color-on-accent); font-size: 12px; }
.cmria-cart-count[hidden] { display: none; }
.cmria-site-footer { background: var(--cmria-footer-paint); color: var(--cmria-footer-fg); padding: 58px 0 0; border: 0; }
.cmria-footer-top { display: flex; align-items: center; gap: 30px; padding-block-end: 45px; border-block-end: 1px solid var(--cmria-footer-line); }
.cmria-footer-brand { display: block; flex: 0 0 auto; }
.cmria-footer-brand:not(:has(img)) { display: none; }
.cmria-footer-brand .cmria-club-logo { inline-size: calc(var(--cmria-logo-width) * 1.32); block-size: calc(var(--cmria-logo-width) * 1.7); }
.cmria-footer-manifesto { font-family: var(--cmria-font-display); font-size: clamp(26px, 2.5vw, 39px); font-weight: 400; line-height: 1.15; margin: 0; text-transform: uppercase; overflow-wrap: anywhere; }
.cmria-footer-manifesto span { display: block; color: var(--cmria-footer-highlight); }
.cmria-back-top { inline-size: 44px; block-size: 44px; display: grid; place-items: center; border: 1px solid var(--cmria-footer-line); border-radius: 50%; margin-inline-start: auto; flex-shrink: 0; }
.cmria-back-top:hover { border-color: currentColor; }
.cmria-footer-columns { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 230px), 1fr)); gap: 35px 50px; padding-block: 35px; }
.cmria-footer-columns:empty { display: none; }
.cmria-footer-column { min-inline-size: 0; font-size: 13px; color: var(--cmria-footer-muted); overflow-wrap: anywhere; }
.cmria-footer-heading { font: 750 11px/1.5 var(--cmria-font-body); letter-spacing: .11em; text-transform: uppercase; color: var(--cmria-footer-muted); margin: 0 0 16px; }
.cmria-footer-menu, .cmria-legal-menu { list-style: none; padding: 0; margin: 0; }
.cmria-footer-menu li + li { margin-block-start: 4px; }
.cmria-footer-menu a, .cmria-contact a, .cmria-maker-link { display: inline-block; padding-block: 4px; }
.cmria-contact { font-style: normal; display: flex; flex-direction: column; align-items: flex-start; gap: 4px; }
.cmria-contact-address { white-space: pre-line; }
.cmria-maker-brand { display: block; margin-block: 4px 10px; }
.cmria-maker-brand strong { font-size: 25px; color: var(--cmria-footer-fg); font-style: italic; font-weight: 900; }
.cmria-maker-logo { display: block; inline-size: min(180px, 100%); block-size: 41px; object-fit: contain; object-position: left center; }
.cmria-site-footer a:hover { color: var(--cmria-footer-fg); text-decoration: underline; text-decoration-color: var(--cmria-color-accent); text-underline-offset: 4px; }
.cmria-footer-bottom { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 12px 24px; border-block-start: 1px solid var(--cmria-footer-line); padding-block: 20px; font-size: 11px; color: var(--cmria-footer-muted); }
.cmria-footer-bottom p { margin: 0; }
.cmria-legal-links, .cmria-legal-menu { display: flex; align-items: center; flex-wrap: wrap; gap: 10px 22px; }
.cmria-legal-links a { text-decoration: underline; text-underline-offset: 3px; display: inline-block; padding-block: 6px; }
.cmria-site-footer .cmria-footer-widgets { padding-block: 10px 25px; }
#main-content { scroll-margin-block-start: calc(var(--cmria-header-height) + var(--cmria-admin-offset) + 16px); }
@media (max-width: 1100px) {
	.cmria-header-inner { gap: 14px 20px; }
	.cmria-menu { gap: 8px 16px; }
	.cmria-menu a { font-size: 13px; }
	.cmria-brand-copy strong { font-size: 18px; }
	.cmria-cart-label { display: none; }
}
@media (max-width: 900px) {
	.cmria-header-inner { min-block-size: 78px; gap: 12px; }
	.cmria-club-brand { gap: 11px; flex: 1; }
	.cmria-club-logo { inline-size: min(var(--cmria-logo-width), 38px); block-size: 49px; }
	.cmria-brand-copy strong { font-size: 18px; }
	.cmria-brand-copy small { font-size: 8px; }
	.cmria-navigation-ready .cmria-menu-toggle { display: inline-flex; }
	.cmria-primary-navigation { order: 5; inline-size: 100%; }
	.cmria-navigation-ready .cmria-primary-navigation:not(.is-open) { display: none; }
	.cmria-primary-navigation.is-open { max-block-size: 65vh; overflow-y: auto; padding: 0 5px 12px; }
	.cmria-menu { align-items: stretch; flex-direction: column; gap: 0; }
	.cmria-menu a { padding-block: 12px; font-size: 15px; }
	.cmria-navigation-ready .cmria-menu > li > .sub-menu { position: static; min-inline-size: 0; max-inline-size: none; border: 0; border-inline-start: 2px solid var(--cmria-color-accent); box-shadow: none; background: transparent; color: inherit; margin-block: 4px 10px; }
	.cmria-footer-columns { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 782px) { body.admin-bar { --cmria-admin-offset: 46px; } }
@media (max-width: 600px) {
	body.admin-bar { --cmria-admin-offset: 0px; }
	.cmria-utility { font-size: 10px; }
	.cmria-utility-inner { min-block-size: 27px; gap: 4px 15px; }
	.cmria-header-inner { gap: 10px; }
	.cmria-menu-toggle span { position: absolute; clip-path: inset(50%); inline-size: 1px; block-size: 1px; overflow: hidden; }
	.cmria-brand-copy strong { font-size: 17px; }
	.cmria-club-logo { inline-size: min(var(--cmria-logo-width), 34px); block-size: 45px; }
	.cmria-cart-link { gap: 6px; padding-inline: 9px; }
	.cmria-site-footer { padding-block-start: 40px; }
	.cmria-footer-top { gap: 16px; padding-block-end: 28px; }
	.cmria-footer-brand .cmria-club-logo { inline-size: 40px; block-size: 55px; }
	.cmria-footer-manifesto { font-size: clamp(19px, 5.2vw, 25px); }
	.cmria-back-top { inline-size: 36px; block-size: 36px; }
	.cmria-footer-columns { grid-template-columns: 1fr; gap: 26px; padding-block: 30px; }
	.cmria-footer-bottom { align-items: flex-start; flex-direction: column; padding-block-end: max(24px, env(safe-area-inset-bottom)); }
}
@media (prefers-reduced-motion: reduce) { .cmria-site-header { transition: none; } }
