/* One source-style shell for every route. Page content keeps its own typography. */
.r5h-shell-page .r5h-header,
.r5h-shell-page .r5h-footer,
.r5h-shell-page .r5h-dialog { font-size: 14px; line-height: 1.6; }
.r5h-shell-page .r5h-header a,
.r5h-shell-page .r5h-footer a,
.r5h-shell-page .r5h-dialog a,
.r5h-shell-page .r5h-quick a { text-decoration: none; }

/* Reserve the inner-page header's space even while its only markup is fixed on scroll. */
.r5s-page { padding-top: 136px; }
.r5s-page .r5h-header { position: absolute; top: 0; right: 0; left: 0; color: #333; background: linear-gradient(to bottom, #fff 0 83px, #19118c 83px 136px); }
.r5s-page .r5h-header.is-sticky { position: fixed; top: 0; right: 0; left: 0; background: #fff; }
.r5s-page .r5h-header__tagline { color: #999; }
.r5s-page .r5h-header__phone { color: #111; }
.r5s-page .r5h-header__action { color: #777; }
.r5s-page .r5h-header__phone:hover, .r5s-page .r5h-header__action:hover { color: #19118c; }
.r5h-shell-page .r5h-nav { grid-template-columns: calc(26.51% - 46.6px) calc(16.91% + 9.8px) calc(19.68% + 11.5px) calc(18.92% + 11px) minmax(0, 1fr); border-radius: 0; }
.r5h-shell-page .r5h-nav > a.is-current { color: #fff; background: #110b70; }
.r5h-shell-page .r5h-nav__item > a.is-current { color: #fff; background: #130d68; }
.r5h-shell-page .r5h-header.is-sticky .r5h-nav > a.is-current,
.r5h-shell-page .r5h-header.is-sticky .r5h-nav > a.is-current:is(:hover, :focus-visible) { color: #fff; background: #110b70; }
.r5h-shell-page .r5h-header.is-sticky .r5h-nav__item > a.is-current,
.r5h-shell-page .r5h-header.is-sticky .r5h-nav__item > a.is-current:is(:hover, :focus-visible) { color: #fff; background: #130d68; }
.r5h-shell-page .r5h-header.is-sticky .r5h-nav { width: min(850px, calc(100% - 360px)); }
.r5h-shell-page .r5h-header.is-overlay-open::before { position: absolute; z-index: 40; inset: 0; background: rgb(0 0 0 / 56%); content: ''; pointer-events: none; }
.r5h-shell-page .r5h-overlay { background: rgb(0 0 0 / 58%); }
.r5h-shell-page .r5h-nav__item.is-open { z-index: 41; }
.r5h-shell-page .r5h-nav__item.is-open > a { color: #fff; background: #19118c; }
.r5h-shell-page .r5h-mega { height: 485px; min-height: 0; align-content: start; gap: 38px 0; padding-top: 37px !important; }
.r5h-shell-page .r5h-mega__group .r5h-mega__title { font-size: 15px; }
.r5h-shell-page .r5h-mega__group .r5h-mega__child { font-size: 13px; }
.r5h-shell-page .r5h-quick { z-index: 55; }
.r5h-shell-page .r5s-phone-title { margin: 0 0 18px; font-size: 18px; }

/* SKU suggestions stay inside the source-style search overlay. */
.r5h-shell-page .r5h-search .header-product-search { min-width: 0; overflow: visible; }
.r5h-shell-page .r5h-search .header-product-search input[type="search"] { min-width: 0; border-right: 0; }
.r5h-shell-page .r5h-search .header-product-search button { min-width: 0; }
.r5h-shell-page .r5h-search .r5h-search__close { width: 46px; }
.r5h-shell-page .r5h-search .header-search__suggestions { position: absolute; z-index: 80; top: calc(100% + 6px); right: auto; left: 0; width: min(520px, 100%); }
.r5h-shell-page .r5h-search .header-search__suggestions[hidden] { display: none; }

/* The same source footer, drawer and subscription dialog on every page. */
.r5h-shell-page .r5h-footer__main { min-height: 594px; grid-template-columns: 180px 230px minmax(0, 1fr) 313px; gap: 50px; padding-top: 56px; }
.r5h-shell-page .r5h-footer__column--primary { gap: 19px; }
.r5h-shell-page .r5h-footer__column > a { font-size: 13px; }
.r5h-shell-page .r5h-footer__column--primary > a { color: #fff; font-size: 13px; font-weight: 700; }
.r5h-shell-page .r5s-footer-heading { margin: 0 0 14px; color: #fff; font-size: 13px; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; }
.r5h-shell-page .r5s-footer-heading a { color: #fff; font-size: 13px; font-weight: 700; letter-spacing: .03em; }
.r5h-shell-page .r5h-footer__subscribe { width: 304px; }
.r5h-shell-page .r5h-footer__contact { font-size: 15px; }
.r5h-shell-page .r5h-footer__contact[href^="tel:"] { font-size: 16px; }
.r5h-shell-page .r5h-footer__cosmos { width: 264px; gap: 8px; margin-top: 30px; margin-left: 29px; padding-left: 0; font-size: 15px; line-height: 21px; }
.r5h-shell-page .r5s-cosmos-row { display: grid; grid-template-columns: 25px minmax(0, 1fr); align-items: start; }
.r5h-shell-page .r5s-cosmos-row b { color: #a0a0a0; font-weight: 600; }
.r5h-shell-page .r5h-footer__bottom { min-height: 130px; }
.r5h-shell-page .r5s-dialog-title { margin-bottom: 32px; font-size: 24px; line-height: 1.2; }

@media (min-width: 992px) {
	.r5s-page .r5h-shell { width: min(1348px, calc(100% - 60px)); margin-inline: auto; }
}
@media (min-width: 992px) and (max-width: 1350px) {
	.r5h-shell-page .r5h-footer__main { min-height: clamp(594px, calc(1552px - 71.6vw), 819px); grid-template-columns: calc(16.667% - 24.67px) calc(16.667% + 25.33px) minmax(0, 1fr) calc(16.667% + 56.33px); gap: 30px; }
	.r5h-shell-page .r5h-footer__subscribe { width: calc(100% - 9px); }
	.r5h-shell-page .r5h-footer__cosmos { width: calc(100% - 29px); }
}
@media (min-width: 992px) and (max-width: 1100px) {
	.r5s-page .r5h-header__phone { padding-left: 97px; }
	.r5h-shell-page .r5h-header__actions { gap: 20px; }
	.r5h-shell-page .r5h-header__action > span:not(.r5h-count) { display: none; }
}
@media (max-width: 991px) {
	.r5s-page { padding-top: 63px; }
	.r5s-page .r5h-header { background: #fff; }
	.r5h-page:not(.r5s-page) { padding-top: 63px; }
	.r5h-page:not(.r5s-page) .r5h-header:not(.is-sticky) { position: absolute; top: 0; right: 0; left: 0; }
	.r5h-shell-page .r5h-mobile-nav { width: min(300px, calc(100vw - 20px)); }
	.r5h-shell-page .r5h-mobile-nav a, .r5h-shell-page .r5h-mobile-nav summary { min-height: 65px; color: #333; font-size: 15px; font-weight: 700; text-transform: none; }
	.r5h-shell-page .r5h-mobile-nav summary::after { font-size: 12px; content: '▸'; }
	.r5h-shell-page .r5s-mobile-group__row { display: flex; height: 65px; border-bottom: 1px solid #eee; }
	.r5h-shell-page .r5s-mobile-group__row > a { display: flex; flex: 1; min-height: 64px; align-items: center; padding: 0 20px; border: 0; }
	.r5h-shell-page .r5s-mobile-group:first-child .r5s-mobile-group__row > a { color: #19118c; }
	.r5h-shell-page .r5s-mobile-group__row > button { width: 45px; min-height: 64px; border: 0; color: #333; background: #fff; font-size: 12px; }
	.r5h-shell-page .r5s-mobile-group__row > button[aria-expanded="true"] { color: #19118c; transform: rotate(90deg); }
	.r5h-shell-page .r5s-mobile-submenu[hidden] { display: none; }
	.r5h-shell-page .r5h-mobile-nav a[aria-current] { padding-left: 18px; border-left: 2px solid #19118c; }
	.r5h-shell-page .r5h-mobile-nav .r5s-mobile-action { display: flex; min-height: 65px; align-items: center; gap: 18px; padding: 0 20px; }
	.r5h-shell-page .r5s-mobile-action .icon { width: 18px; height: 18px; color: #999; }
	.r5h-shell-page .r5s-mobile-count { display: inline-grid; width: 15px; height: 15px; place-items: center; margin-left: 3px; border-radius: 50%; color: #fff; background: #aeb4bf; font-size: 11px; font-weight: 600; line-height: 1; }
	.r5h-shell-page .r5h-mobile-nav strong { font-size: 15px; }
	.r5h-shell-page .r5s-mobile-cosmos { display: grid; gap: 8px; padding: 0 20px 25px 52px; color: #aaa; font-size: 13px; line-height: 1.4; }
	.r5h-shell-page .r5s-mobile-cosmos > div { display: flex; gap: 7px; }
	.r5h-shell-page .r5s-mobile-cosmos > div > span:first-child { flex: 0 0 18px; }
	.r5h-shell-page .r5s-mobile-cosmos b { font-weight: 700; }
	.r5h-shell-page .r5h-mobile-nav .r5s-mobile-contact-email { min-height: 45px; padding-left: 52px; font-size: 12px; font-weight: 400; text-transform: none; }
}
@media (min-width: 768px) and (max-width: 991px) {
	.r5h-shell-page .r5h-footer__main, .r5h-shell-page .r5h-footer__bottom { width: calc(100% - 60px); margin-inline: 30px; }
	.r5h-shell-page .r5h-header__phone-toggle { padding-right: 20px; }
	.r5h-shell-page .r5h-header__actions { margin-right: 0; }
	.r5h-shell-page .r5h-header__mobile-cart { position: relative; display: inline-flex !important; width: 66px; padding-left: 22px; }
	.r5h-shell-page .r5h-header__mobile-cart .r5h-count { top: -1px; right: 5px; min-width: 18px; height: 17px; }
	.r5h-shell-page .r5h-footer__main { min-height: 830px; grid-template-columns: 145px 165px minmax(0, 1fr); grid-template-rows: auto 1fr; align-items: start; gap: 36px 40px; }
	.r5h-shell-page .r5h-footer__contacts { grid-column: 1 / -1; width: 340px; justify-self: center; margin-top: 56px; transform: translateX(-4px); }
	.r5h-shell-page .r5h-footer__subscribe { width: 340px; }
	.r5h-shell-page .r5h-footer__cosmos { width: 280px; }
}
@media (max-width: 767px) {
	.r5h-shell-page .r5h-search { height: 56px; min-height: 56px; padding: 0 8px; }
	.r5h-shell-page .r5h-search form { height: 56px; }
	.r5h-shell-page .r5h-search input { min-height: 56px !important; padding: 0 8px !important; font-size: 14px; }
	.r5h-shell-page .r5h-search input:focus-visible { outline: 0; box-shadow: inset 0 -2px #19118c; }
	.r5h-shell-page .r5h-search .r5h-search__close { width: 35px; }
	.r5h-shell-page .r5h-search .header-search__suggestions { top: 100%; width: 100%; }
	.r5h-shell-page .r5h-footer { padding-bottom: 77px; }
	.r5h-shell-page .r5h-footer__main { min-height: 0; gap: 0; padding: 0 16px 28px; }
	.r5h-shell-page .r5h-footer__column--primary { gap: 0; }
	.r5h-shell-page .r5h-footer__column--primary a, .r5h-shell-page .r5s-footer-heading { width: calc(100% + 32px); min-height: 51px; margin-left: -16px; padding-left: 16px; }
	.r5h-shell-page .r5s-footer-heading { display: flex; align-items: center; margin-top: 0; margin-bottom: 0; border-bottom: 1px solid #454545; }
	.r5h-shell-page .r5h-footer__toggle { min-height: 50px; }
	.has-js .r5h-shell-page .r5s-footer-heading > a { display: none; }
	.r5h-shell-page .r5h-footer__contacts { width: auto; margin-top: 0; padding: 40px 16px 0; transform: none; }
	.r5h-shell-page .r5h-footer__subscribe { position: relative; display: block; width: 100%; height: auto; min-height: 48px; padding: 15px 70px 14px 18px; border: 1px solid transparent; font-size: 12px; line-height: 17.143px; text-align: left; }
	.r5h-shell-page .r5h-footer__subscribe span { position: absolute; top: 50%; right: 17px; transform: translateY(-50%); }
	.r5h-shell-page .r5h-footer__contact { min-height: 34px; }
	.r5h-shell-page .r5h-footer__cosmos { width: calc(100vw - 148px); margin: 42px 0 0 49px; }
	.r5h-shell-page .r5h-footer__bottom { min-height: 73px; }
	.r5h-shell-page .r5h-dialog { width: 100vw; max-width: 100vw; min-height: 456px; padding: 49px 30px 58px; border-radius: 0; }
	.r5h-shell-page .r5s-dialog-title { font-size: 24px; }
	.r5h-shell-page .r5h-dialog input[type="email"] { margin-bottom: 18px; }
	.r5h-shell-page .r5h-dialog__consent { margin-bottom: 52px !important; }
	.r5h-shell-page .r5h-dialog__consent a { color: #999; }
	.r5h-shell-page .r5h-dialog__actions .r5h-button { min-width: 162px; }
}
@media (max-width: 400px) {
	.r5h-shell-page .r5h-header__mobile-menu { margin-right: 20px; }
}
@media (min-width: 341px) and (max-width: 767px) {
	.r5h-shell-page .r5h-header__actions { transform: translateX(-10px); }
	.r5h-shell-page .r5h-header__mobile-cart .r5h-count { right: -7px; }
}
@media (max-width: 340px) {
	.r5h-shell-page .r5h-header__top { padding-right: 17px; }
	.r5h-shell-page .r5h-header__actions { gap: 0; }
	.r5h-shell-page .r5h-header__phone-toggle { position: relative; left: 14px; padding-right: 0; }
	.r5h-shell-page .r5h-header__mobile-cart { left: 4px; }
	.r5h-shell-page .r5h-header__mobile-cart .r5h-count { top: -8.5px; right: -10px; min-width: 16px; height: 15px; }
}
